@import url('https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,400;8..144,600;8..144,700&display=swap');

*{box-sizing:border-box}
body{margin:0;font-family:Arial,sans-serif;background:#f8fafc;color:#0f172a}
a{text-decoration:none;color:inherit}
.container{max-width:1180px;margin:0 auto;padding:0 16px}
.main-header{position:sticky;top:0;background:#fff;z-index:1000;box-shadow:0 2px 12px rgba(15,23,42,.08)}
.main-header .container{
	max-width:100%!important;
	width:100%!important;
	padding-left:48px!important;
	padding-right:48px!important;
}
.header-inner{
	min-height:70px;
	height:auto;
	padding-top:3px;
	padding-bottom:3px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
}
.logo{
	display:inline-flex;
	align-items:center;
	line-height:1;
	font-size:0!important;
	color:transparent!important;
	text-indent:-9999px;
	overflow:hidden;
}
.logo::before,
.logo::after{
	content:none!important;
	display:none!important;
}
.logo img{
	display:block;
	width:auto;
	height:56px;
	max-width:none;
	object-fit:contain;
}
.nav-menu{display:flex;gap:12px;flex:1;justify-content:center;align-items:center}
.nav-link{padding:9px 12px;border-radius:8px;font-weight:600;color:#334155}
.nav-link:hover{background:#eff6ff;color:#1d4ed8}
.nav-link.active{background:#eff6ff;color:#1d4ed8}
.nav-link:focus,
.nav-link:focus-visible{background:#eff6ff;color:#1d4ed8;outline:none}
.actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;justify-content:flex-end;min-width:0;margin-left:auto!important;padding-right:0!important;margin-top:12px}
.actions > *{
	display:flex;
	align-items:center;
}
.main-header .actions .user-menu{margin-left:auto}
.main-header .actions .user-pill{margin-left:auto}
.actions .auth-btn-login,
.actions .auth-btn-register{
	transform:translateY(-8px);
}
.actions .lang-switch{
	transform:translateY(-10px)!important;
}
.lang-switch{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:6px;
	height:42px;
	min-height:42px;
	padding:4px 10px;
	border:1px solid #cbd5e1;
	border-radius:999px;
	background:#fff;
	box-sizing:border-box;
	align-self:auto;
	margin:0!important;
	vertical-align:middle;
}
.lang-icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:24px;
	height:24px;
	border-radius:6px;
	border:1px solid transparent;
}
.lang-icon img{
	display:block;
	width:18px;
	height:13px;
	object-fit:cover;
	border-radius:2px;
}
.lang-icon.active{border-color:#93c5fd;background:#eff6ff}
.lang-divider{font-size:13px;color:#94a3b8;line-height:1}
.btn{border:none;border-radius:10px;padding:10px 14px;font-weight:600;cursor:pointer}
.btn-primary{background:#2563eb;color:#fff}
.btn-primary:hover{background:#1d4ed8}
.btn-outline{background:#fff;border:1px solid #cbd5e1;color:#0f172a}
.auth-btn{gap:6px}
.auth-btn-icon{font-size:15px;line-height:1}
.auth-btn-label{line-height:1}
.view-all-btn{gap:6px}
.view-all-icon{font-size:15px;line-height:1}
.view-all-label{line-height:1}
body.my-admin-root .btn.view-all-btn,
body.my-admin-root a.btn.view-all-btn,
body.my-admin-root .btn.btn-outline.view-all-btn,
body.my-admin-root a.btn.btn-outline.view-all-btn{
	background:#16a34a!important;
	color:#fff!important;
	border:1px solid #15803d!important;
}
body.my-admin-root .btn.view-all-btn:hover,
body.my-admin-root a.btn.view-all-btn:hover,
body.my-admin-root .btn.btn-outline.view-all-btn:hover,
body.my-admin-root a.btn.btn-outline.view-all-btn:hover{
	background:#15803d!important;
	color:#fff!important;
	border-color:#166534!important;
}
.top-villa-view-all-mobile-wrap{display:none}
.btn.btn-villa-detail,
a.btn.btn-villa-detail{
	background:#fff!important;
	background-color:#fff!important;
	color:#000!important;
	border:1px solid #cbd5e1!important;
	border-width:1px!important;
	border-style:solid!important;
	border-color:#cbd5e1!important;
	box-sizing:border-box!important;
	transition:background-color .15s ease,color .15s ease!important;
}
.btn.btn-villa-detail:hover,
a.btn.btn-villa-detail:hover{
	background:#e5e5e5!important;
	background-color:#e5e5e5!important;
	color:#2563eb!important;
	-webkit-text-fill-color:#2563eb!important;
	border:1px solid #cbd5e1!important;
	border-color:#cbd5e1!important;
}
.avatar{width:38px;height:38px;border-radius:999px;background:#dbeafe;color:#1d4ed8;display:flex;align-items:center;justify-content:center;font-weight:700}
.avatar.avatar-image{padding:0;overflow:hidden;background:#e2e8f0;color:transparent}
.avatar.avatar-image img{display:block;width:100%;height:100%;object-fit:cover;border-radius:999px}
.user-menu{position:relative}
.user-menu-toggle{border:none}
.user-pill{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border:1px solid #cbd5e1;background:#fff;border-radius:999px;color:#0f172a;font-weight:600}
.user-pill:hover{background:#f8fafc}
.user-menu-dropdown{position:absolute;right:0;top:46px;min-width:210px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 14px 28px rgba(15,23,42,.14);display:none;overflow:hidden;z-index:1050}
.user-menu-dropdown.show{display:block}
[hidden]{display:none!important}
.user-menu-name{padding:10px 12px;font-size:13px;color:#475569;border-bottom:1px solid #e2e8f0}
.user-menu-dropdown a{display:block;padding:10px 12px;color:#0f172a}
.user-menu-dropdown a:hover{background:#f8fafc}
.user-menu-dropdown a.active{background:#eff6ff;font-weight:600}
.menu-toggle{display:none;border:1px solid #cbd5e1;background:#fff;border-radius:10px;width:38px;height:38px}
.mobile-menu{display:none;position:fixed;top:0;left:-280px;width:260px;height:100vh;background:#fff;padding:18px;z-index:1200;transition:left .25s ease;box-shadow:0 16px 30px rgba(0,0,0,.15)}
.mobile-menu.open{left:0}
.overlay{display:none;position:fixed;inset:0;background:rgba(2,6,23,.45);z-index:1100}
.overlay.show{display:block}
.mobile-breadcrumb{display:none;background:#fff;border-bottom:1px solid #e2e8f0}
.mobile-breadcrumb .container{padding-top:8px;padding-bottom:8px;font-size:13px;color:#64748b;display:flex;align-items:center;gap:6px}
.mobile-breadcrumb a{color:#2563eb!important;font-weight:600}
.mobile-breadcrumb .sep{color:#94a3b8}
.hero{padding:34px 0}
.hero-card{background:linear-gradient(140deg,#eff6ff,#fff);border:1px solid #bfdbfe;border-radius:18px;padding:24px;box-shadow:0 10px 28px rgba(37,99,235,.12)}
body.my-admin-root:not(.my-admin-home) .hero{
	padding-bottom:14px;
}
body.my-admin-root:not(.my-admin-home) .hero .hero-card{
	padding-bottom:14px;
}
.search-grid{display:grid;grid-template-columns:2fr 2fr 1fr auto;gap:10px;align-items:end}
.search-grid-requests{grid-template-columns:1.8fr 1.8fr 1fr 1fr .9fr auto}
.input,.select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;background:#fff}
.search-grid .btn-primary{height:42px}
.search-field{min-width:0}
.search-action{display:flex;justify-content:flex-end}
.search-action .btn{min-width:140px}
.section{padding:26px 0}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;box-shadow:0 4px 12px rgba(15,23,42,.06)}
.card img{width:100%;height:180px;object-fit:cover}
.card-body{padding:14px}
.card-body h3{
	font-size:1.1rem!important;
	line-height:1.3!important;
}
.meta{color:#64748b;font-size:14px}
.tag{display:inline-block;background:#e2e8f0;border-radius:999px;padding:3px 8px;font-size:12px;margin-right:6px}
/* Card icon colors (desktop + mobile) */
body.my-admin-root .card .meta svg{color:#475569!important;flex-shrink:0}
body.my-admin-root .card .meta:nth-of-type(2) svg{color:#f97316!important}
body.my-admin-root .card .tag:nth-child(1) svg{color:#f59e0b!important}
body.my-admin-root .card .tag:nth-child(2) svg{color:#0ea5e9!important}
body.my-admin-root .card .tag:nth-child(3) svg{color:#64748b!important}
.rent-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rent-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px}
.notice{padding:10px 12px;border-radius:10px;margin:10px 0}
.ok{background:#ecfdf5;color:#166534;border:1px solid #86efac}
.err{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.footer{background:#0f172a;color:#e2e8f0;margin-top:34px}
.footer .container{padding:18px 16px}
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.villa-filter-row{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:10px;align-items:end;width:100%}
.villa-filter-row .btn{min-width:120px}
.floating-filter{display:none;position:fixed;bottom:18px;right:16px;width:52px;height:52px;border-radius:999px;border:none;background:#2563eb;color:#fff;font-size:22px;z-index:900}
.search-popup{display:none;position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(640px,calc(100vw - 24px));max-height:calc(100vh - 40px);background:#fff;z-index:1300;padding:16px;overflow:auto;border-radius:14px;box-shadow:0 24px 50px rgba(2,6,23,.3);border:1px solid #e2e8f0}
.search-popup.show{display:block}
.form-label{display:block;font-size:13px;font-weight:700;color:#334155;margin-bottom:6px}
.form-group{display:grid;gap:6px}
.call-action{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;border:1px solid #86efac;background:#ecfdf5;color:#15803d;font-size:12px;font-weight:600}
.call-label{display:none!important}
.home-head-banner{padding-top:8px;padding-bottom:4px}
.home-head-banner .container{max-width:100%;width:100%;padding-left:16px;padding-right:16px}
.home-head-banner-card{
	display:grid;
	grid-template-columns:minmax(0,56%) minmax(0,44%);
	align-items:center;
	gap:18px;
	padding:10px 0;
}
.home-head-banner-text h1{
	margin:0 0 8px;
	font-size:26px;
	line-height:1.25;
	color:#0f172a;
	text-transform:uppercase!important;
}
.home-head-banner-text{
	padding-left:28px;
}
.home-head-banner-text p{
	margin:0;
	font-size:26px;
	line-height:1.25;
	color:#2563eb!important;
	font-weight:600;
	text-transform:uppercase!important;
}
.home-head-banner-image img{
	display:block;
	width:100%;
	height:auto;
	max-height:180px;
	object-fit:contain;
}
.home-top-row{padding-top:18px;padding-bottom:10px}
.home-top-row .container{max-width:100%;width:100%;padding-left:16px;padding-right:16px}
.home-top-row-grid{display:grid;grid-template-columns:minmax(0,60%) minmax(0,40%);gap:14px;align-items:stretch}
.home-top-row-item{display:flex}
.home-top-row-item .home-equal-card{
	width:100%;
	height:100%;
	display:flex;
	flex-direction:column;
	justify-content:flex-start;
	padding:14px!important;
}

@media (max-width: 991px){
	.search-grid{grid-template-columns:1fr 1fr}
	.search-grid-requests{grid-template-columns:1fr 1fr}
	.villa-filter-row{grid-template-columns:1fr 1fr}
	.card-grid,.rent-list{grid-template-columns:1fr 1fr}
	.home-top-row-grid{grid-template-columns:1fr}
	.home-head-banner-card{grid-template-columns:1fr}
}
@media (max-width: 767px){
	.nav-menu .nav-link-home,
	.nav-menu .nav-link-villa,
	.nav-menu .nav-link-requests,
	.nav-menu .nav-link-blog{display:none}
	.menu-toggle{display:block}
	.mobile-menu{display:block}
	.header-inner{
		min-height:70px;
		height:auto;
		padding-top:3px;
		padding-bottom:3px;
		position:relative;
	}
	.header-inner > div:first-child{
		flex:0 0 auto;
		display:flex;
		align-items:center;
		justify-content:flex-start;
		position:static;
	}
	.header-inner > div:first-child .menu-toggle{
		position:relative;
		left:auto;
		transform:translateY(8px);
	}
	.header-inner .logo{
		position:absolute;
		left:50%;
		transform:translateX(-50%);
	}
	.logo img{
		height:44px;
		max-width:none;
	}
	.actions{
		transform:translateY(-2px);
		margin-top:0!important;
	}
	.actions .user-menu{
		transform:translateY(8px);
	}
	.actions{min-width:0;gap:6px;margin-left:auto}
	.actions .lang-switch{display:none!important}
	.actions .auth-btn{
		width:42px!important;
		min-width:42px!important;
		height:42px!important;
		min-height:42px!important;
		padding:0!important;
		border-radius:999px!important;
	}
	.actions .auth-btn .auth-btn-label{display:none}
	.actions .auth-btn .auth-btn-icon{font-size:20px}
	.actions .auth-btn-login,
	.actions .auth-btn-register,
	.actions .lang-switch{
		transform:none!important;
	}
	.actions .auth-btn-register{display:none!important}
	body.my-admin-root .actions .auth-btn-register{display:none!important}
	.actions .user-menu{display:block}
	.actions .user-pill{
		width:42px!important;
		min-width:42px!important;
		height:42px!important;
		padding:0!important;
		gap:0!important;
		justify-content:center!important;
		border-radius:999px!important;
	}
	.actions .user-pill .avatar{
		width:30px!important;
		height:30px!important;
		font-size:13px!important;
	}
	.actions .user-pill span:last-child{
		display:none!important;
	}
	.mobile-menu .mobile-lang-switch{
		display:inline-flex;
		margin:6px 0 0;
	}
	.view-all-btn{
		width:42px!important;
		min-width:42px!important;
		height:42px!important;
		min-height:42px!important;
		padding:0!important;
		border-radius:999px!important;
	}
	.view-all-btn .view-all-label{display:none}
	.view-all-btn .view-all-icon{font-size:18px}
	body.my-admin-home .top-villa-view-all,
	body.my-admin-home .section-head .top-villa-view-all{
		display:none!important;
		visibility:hidden!important;
		width:0!important;
		min-width:0!important;
		height:0!important;
		overflow:hidden!important;
		padding:0!important;
		margin:0!important;
		border:none!important;
	}
	.top-villa-view-all-mobile-wrap{
		display:flex;
		justify-content:center;
		margin-top:10px;
	}
	.top-villa-view-all-mobile{
		width:auto!important;
		min-width:126px!important;
		padding:0 14px!important;
		border-radius:10px!important;
	}
	.top-villa-view-all-mobile .view-all-label{display:inline}
	.top-villa-view-all-mobile .view-all-icon{font-size:16px}
	.request-view-all-btn{
		width:auto!important;
		min-width:126px!important;
		padding:0 14px!important;
		border-radius:10px!important;
	}
	.request-view-all-btn .view-all-label{display:inline}
	.request-view-all-btn .view-all-icon{font-size:16px}
	.mobile-menu .nav-link{display:block;width:100%;margin-bottom:6px}
	.mobile-breadcrumb{display:block}
	.search-grid{display:grid;grid-template-columns:1fr}
	.search-grid .search-action{
		justify-content:center;
	}
	.search-grid .search-action .btn{
		min-width:160px;
	}
	.hero-card{padding:18px}
	body.my-admin-root:not(.my-admin-home) .hero{
		padding-bottom:8px;
	}
	body.my-admin-root:not(.my-admin-home) .hero .hero-card{
		padding-bottom:10px;
	}
	.card-grid,.rent-list{grid-template-columns:1fr}
	.floating-filter{
		display:block;
		width:40px;
		height:40px;
		right:12px;
		bottom:14px;
		font-size:16px;
		background:#1d4ed8;
		color:#eaf2ff;
		box-shadow:0 6px 16px rgba(29,78,216,.28);
	}
	.search-popup{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}
	body.my-admin-home .hero .search-grid{
		grid-template-columns:1fr 1fr 1fr;
		gap:8px;
	}
	body.my-admin-home .hero .search-grid > .search-field:nth-child(3){
		grid-column:auto;
	}
	body.my-admin-home .hero .search-grid > .search-action{
		grid-column:1 / -1;
	}
	body.my-admin-root:not(.my-admin-home) .hero .search-grid{
		grid-template-columns:1fr 1fr 1fr;
		gap:8px;
	}
	body.my-admin-root:not(.my-admin-home) .hero .search-grid > .search-field:nth-child(3){
		grid-column:auto;
	}
	body.my-admin-root:not(.my-admin-home) .hero .search-grid > .search-action{
		grid-column:1 / -1;
	}
	body.my-admin-home .home-top-row .search-grid{
		grid-template-columns:1fr 1fr 1fr!important;
		gap:8px!important;
	}
	body.my-admin-home .home-top-row .search-grid > .search-field:nth-child(3){
		grid-column:auto!important;
	}
	body.my-admin-home .home-top-row .search-grid > .search-action{
		grid-column:1 / -1!important;
	}
}

/* Isolate my-admin styles from theme/plugin CSS loaded via wp_head/wp_footer */
body.my-admin-root{
	margin:0!important;
	font-family:Arial,sans-serif!important;
	background:#f8fafc!important;
	color:#0f172a!important;
}
body.my-admin-root *,
body.my-admin-root *::before,
body.my-admin-root *::after{
	box-sizing:border-box;
}
body.my-admin-root a{
	text-decoration:none!important;
	color:inherit!important;
}
body.my-admin-root .btn:not(.btn-villa-detail){
	border:none!important;
	border-radius:10px!important;
	padding:10px 14px!important;
	font-weight:600!important;
	cursor:pointer!important;
	text-transform:none!important;
	letter-spacing:normal!important;
}
body.my-admin-root .input,
body.my-admin-root .select,
body.my-admin-root textarea,
body.my-admin-root input,
body.my-admin-root select{
	font-family:Arial,sans-serif!important;
	font-size:14px!important;
	line-height:1.4!important;
}
body.my-admin-root .input,
body.my-admin-root .select,
body.my-admin-root textarea:not(#villa_note){
	width:100%!important;
	border:1px solid #cbd5e1!important;
	border-radius:10px!important;
	padding:10px 12px!important;
	background:#fff!important;
	color:#0f172a!important;
}

/* Hard reset for my-admin to match original UI */
body.my-admin-root{
	font-size:16px!important;
	line-height:1.4!important;
	-webkit-font-smoothing:antialiased!important;
	-moz-osx-font-smoothing:grayscale!important;
}
body.my-admin-root h1,
body.my-admin-root h2,
body.my-admin-root h3,
body.my-admin-root h4,
body.my-admin-root h5,
body.my-admin-root h6{
	margin:0 0 .5rem 0!important;
	font-family:Arial,sans-serif!important;
	font-weight:700!important;
	line-height:1.25!important;
	color:#0f172a!important;
	text-transform:none!important;
	letter-spacing:normal!important;
}
body.my-admin-root h2{
	font-size:1.3rem!important;
}
body.my-admin-root p,
body.my-admin-root span,
body.my-admin-root div,
body.my-admin-root label,
body.my-admin-root td,
body.my-admin-root th{
	font-family:Arial,sans-serif!important;
	color:inherit!important;
}
body.my-admin-root button,
body.my-admin-root input[type="button"],
body.my-admin-root input[type="submit"]{
	appearance:none!important;
	-webkit-appearance:none!important;
	font-family:Arial,sans-serif!important;
	font-size:14px!important;
	line-height:1.2!important;
	padding:10px 14px!important;
	border-radius:10px!important;
	border:none!important;
	box-shadow:none!important;
	text-transform:none!important;
	letter-spacing:normal!important;
}
body.my-admin-root .btn,
body.my-admin-root a.btn{
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	gap:6px!important;
	height:42px!important;
	min-height:42px!important;
	padding:0 14px!important;
	text-decoration:none!important;
	white-space:nowrap!important;
}
body.my-admin-root .btn.btn-primary{
	background:#2563eb!important;
	color:#fff!important;
}
body.my-admin-root .btn.btn-primary:hover{
	background:#1d4ed8!important;
}
body.my-admin-root .btn.btn-outline{
	background:#fff!important;
	color:#0f172a!important;
	border:1px solid #cbd5e1!important;
}
body.my-admin-root .btn.btn-villa-detail,
body.my-admin-root a.btn.btn-villa-detail,
html body.my-admin-root .card-grid .card-body a.btn.btn-villa-detail,
html body.my-admin-root .card .card-body a.btn.btn-villa-detail,
html body.my-admin-root .hot-villas-slider .card-body a.btn.btn-villa-detail,
html body.my-admin-root .danang-top-villas-slider .card-body a.btn.btn-villa-detail,
html body.my-admin-root .villa-list-grid .card-body a.btn.btn-villa-detail{
	cursor:pointer!important;
	background:#fff!important;
	background-color:#fff!important;
	color:#000!important;
	-webkit-text-fill-color:#000!important;
	border:1px solid #cbd5e1!important;
	border-width:1px!important;
	border-style:solid!important;
	border-color:#cbd5e1!important;
	font-weight:700!important;
	border-radius:10px!important;
	transition:background-color .15s ease,color .15s ease,border-color .15s ease!important;
}
body.my-admin-root .btn.btn-villa-detail:hover,
body.my-admin-root a.btn.btn-villa-detail:hover,
html body.my-admin-root .card-grid .card-body a.btn.btn-villa-detail:hover,
html body.my-admin-root .card .card-body a.btn.btn-villa-detail:hover,
html body.my-admin-root .hot-villas-slider .card-body a.btn.btn-villa-detail:hover,
html body.my-admin-root .danang-top-villas-slider .card-body a.btn.btn-villa-detail:hover,
html body.my-admin-root .villa-list-grid .card-body a.btn.btn-villa-detail:hover{
	background:#e5e5e5!important;
	background-color:#e5e5e5!important;
	color:#2563eb!important;
	-webkit-text-fill-color:#2563eb!important;
	border-color:#cbd5e1!important;
}
body.my-admin-root a.btn.btn-villa-detail:focus-visible,
html body.my-admin-root .card-body a.btn.btn-villa-detail:focus-visible{
	outline:2px solid #000!important;
	outline-offset:2px!important;
}
body.my-admin-root .user-pill{
	display:inline-flex!important;
	align-items:center!important;
	gap:8px!important;
	height:42px!important;
	padding:4px 12px!important;
	border:1px solid #cbd5e1!important;
	border-radius:999px!important;
	background:#fff!important;
	color:#0f172a!important;
	font-weight:600!important;
}
body.my-admin-root .avatar{
	width:30px!important;
	height:30px!important;
	font-size:13px!important;
}
body.my-admin-root .nav-link:hover,
body.my-admin-root .nav-link:focus,
body.my-admin-root .nav-link:focus-visible,
body.my-admin-root .nav-link.active{
	background:#bfdbfe!important;
	color:#1e3a8a!important;
}
body.my-admin-root .user-menu-dropdown a:hover,
body.my-admin-root .user-menu-dropdown a:focus,
body.my-admin-root .user-menu-dropdown a:focus-visible,
body.my-admin-root .user-menu-dropdown a.active{
	background:#bfdbfe!important;
	color:#1e3a8a!important;
}
body.my-admin-root select,
body.my-admin-root input[type="text"],
body.my-admin-root input[type="number"],
body.my-admin-root input[type="email"],
body.my-admin-root textarea:not(#villa_note){
	appearance:none!important;
	-webkit-appearance:none!important;
	background:#fff!important;
	border:1px solid #cbd5e1!important;
	border-radius:10px!important;
	box-shadow:none!important;
	outline:none!important;
}
body.my-admin-root .input,
body.my-admin-root .select,
body.my-admin-root input[type="text"],
body.my-admin-root input[type="number"],
body.my-admin-root input[type="email"],
body.my-admin-root select{
	height:42px!important;
	min-height:42px!important;
	line-height:20px!important;
	padding-top:10px!important;
	padding-bottom:10px!important;
}
body.my-admin-root select,
body.my-admin-root .select{
	padding-right:36px!important;
	background-image:linear-gradient(45deg,transparent 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,transparent 50%)!important;
	background-position:calc(100% - 18px) 17px,calc(100% - 12px) 17px!important;
	background-size:6px 6px,6px 6px!important;
	background-repeat:no-repeat!important;
}
body.my-admin-root select:disabled,
body.my-admin-root select.select:disabled{
	opacity:.55!important;
	cursor:not-allowed!important;
	background-color:#f1f5f9!important;
	color:#64748b!important;
}
body.my-admin-root textarea:not(#villa_note){
	height:auto!important;
	line-height:1.4!important;
}
/* Unified popup chrome */
body.my-admin-root .search-popup .popup-header,
body.my-admin-root .villa-review-popup .popup-header{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:10px;
	margin:-16px -16px 12px -16px;
	padding:10px 14px;
	border-bottom:1px solid #e2e8f0;
	background:#f8fafc;
}
body.my-admin-root .search-popup .popup-header h3,
body.my-admin-root .villa-review-popup .popup-header h3{
	margin:0!important;
}
body.my-admin-root .popup-close-x{
	border:none;
	background:transparent;
	color:#dc2626;
	font-size:18px;
	line-height:1;
	padding:4px 8px;
	cursor:pointer;
}
body.my-admin-root .search-popup .popup-footer,
body.my-admin-root .villa-review-popup .popup-footer{
	display:flex;
	justify-content:center;
	gap:8px;
	flex-wrap:wrap;
	margin-top:12px;
	padding-top:12px;
	border-top:1px solid #e2e8f0;
}
body.my-admin-root .search-popup .popup-footer .btn.btn-outline,
body.my-admin-root .villa-review-popup .popup-footer .btn.btn-outline{
	background:#fff!important;
}
body.my-admin-root .search-popup .popup-value-box,
body.my-admin-root .villa-review-popup .popup-value-box{
	display:block;
	width:100%;
	min-height:40px;
	padding:10px 12px;
	border:1px solid #dbe4f0;
	border-radius:10px;
	background:#f8fafc;
	color:#0f172a;
	line-height:1.45;
	word-break:break-word;
}
/* Keep rental request note fields visually at 2 rows */
body.my-admin-root #request-note,
body.my-admin-root #admin-request-edit-note{
	min-height:0!important;
	height:calc(2.8em + 20px)!important;
	max-height:calc(2.8em + 20px)!important;
	line-height:1.4!important;
	resize:none!important;
	overflow:auto!important;
}
body.my-admin-root table{
	border-collapse:collapse!important;
	border-spacing:0!important;
	font-family:Arial,sans-serif!important;
}

/* Bảng dữ liệu admin: zebra + highlight khi rê chuột hoặc focus trong dòng */
body.my-admin-root table.my-admin-data-grid > tbody > tr.my-admin-data-row:nth-child(odd) > td{
	background-color:#fff!important;
}
body.my-admin-root table.my-admin-data-grid > tbody > tr.my-admin-data-row:nth-child(even) > td{
	background-color:#f8fafc!important;
}
body.my-admin-root table.my-admin-data-grid > tbody > tr.my-admin-data-row:hover > td,
body.my-admin-root table.my-admin-data-grid > tbody > tr.my-admin-data-row:focus-within > td{
	background-color:#eef2ff!important;
}
body.my-admin-root table.my-admin-data-grid > tbody > tr.my-admin-data-row:hover > td:first-child,
body.my-admin-root table.my-admin-data-grid > tbody > tr.my-admin-data-row:focus-within > td:first-child{
	box-shadow:inset 3px 0 0 #6366f1!important;
}

/* Lưới card admin: xen kẽ nền + highlight hover / focus */
body.my-admin-root .my-admin-cards-grid > .my-admin-card-row:nth-child(odd){
	background-color:#fff!important;
}
body.my-admin-root .my-admin-cards-grid > .my-admin-card-row:nth-child(even){
	background-color:#f8fafc!important;
}
body.my-admin-root .my-admin-cards-grid > .my-admin-card-row:hover,
body.my-admin-root .my-admin-cards-grid > .my-admin-card-row:focus-within{
	background-color:#eef2ff!important;
	outline:2px solid #6366f1!important;
	outline-offset:2px!important;
	border-radius:10px!important;
}

/* Trang chủ: giảm ~1/2 khoảng cách giữa các khối và giữa các card slider */
body.my-admin-home .section{
	padding-top:13px;
	padding-bottom:13px;
}
body.my-admin-home .hero{
	padding-top:17px;
	padding-bottom:8px;
}
body.my-admin-home .hero .hero-card,
body.my-admin-home #yeu-cau .hero-card{
	padding-bottom:12px;
}
body.my-admin-home #yeu-cau.section{
	padding-top:8px;
	padding-bottom:8px;
}
body.my-admin-home .hot-villas-slider,
body.my-admin-home .danang-top-villas-slider{
	gap:6px;
}
body.my-admin-home .hot-villas-slider .card,
body.my-admin-home .danang-top-villas-slider .card{
	flex:0 0 calc((100% - 60px) / 6);
	width:calc((100% - 60px) / 6);
}
@media (max-width: 767px){
	body.my-admin-home .hot-villas-slider,
	body.my-admin-home .danang-top-villas-slider{
		display:grid!important;
		grid-template-rows:repeat(2,minmax(0,1fr))!important;
		grid-auto-flow:column!important;
		grid-auto-columns:170px!important;
		align-items:stretch!important;
	}
	body.my-admin-home .hot-villas-slider .card,
	body.my-admin-home .danang-top-villas-slider .card{
		flex:initial!important;
		width:170px!important;
		max-width:170px!important;
	}
	body.my-admin-root .card-body h3{
		font-size:.88rem!important;
		line-height:1.25!important;
		min-height:2.5em!important;
		display:-webkit-box!important;
		-webkit-line-clamp:2!important;
		-webkit-box-orient:vertical!important;
		overflow:hidden!important;
		white-space:normal!important;
	}
	body.my-admin-root #similarVillasGrid .villa-similar-name{
		font-size:14px!important;
		line-height:1.3!important;
		min-height:2.6em!important;
		display:-webkit-box!important;
		-webkit-line-clamp:2!important;
		-webkit-box-orient:vertical!important;
		overflow:hidden!important;
		white-space:normal!important;
	}
	body.my-admin-home .hero{
		padding-top:12px;
		padding-bottom:6px;
	}
	body.my-admin-home .hero-card{
		padding:14px;
		border-radius:14px;
	}
	body.my-admin-home .hero .hero-card,
	body.my-admin-home #yeu-cau .hero-card{
		padding-bottom:8px;
	}
	body.my-admin-home #yeu-cau.section{
		padding-top:6px;
		padding-bottom:6px;
	}
	body.my-admin-home .section{
		padding-top:10px;
		padding-bottom:10px;
	}
	body.my-admin-home .section-head{
		flex-direction:column;
		align-items:flex-start;
		gap:10px;
	}
	body.my-admin-home .section-head > div:last-child{
		width:100%;
		display:flex!important;
		gap:8px;
		flex-wrap:nowrap;
	}
	body.my-admin-home .section-head > div:last-child .btn{
		flex:1 1 0;
		min-width:0;
		padding-left:10px!important;
		padding-right:10px!important;
	}
}

/* Mobile fallback: force better auto-responsive behavior */
@media (max-width: 767px){
	html, body{
		overflow-x:hidden!important;
	}
	body.my-admin-root .container{
		width:100%!important;
		max-width:100%!important;
		padding-left:12px!important;
		padding-right:12px!important;
	}
	body.my-admin-root img{
		max-width:100%!important;
		height:auto;
	}
	body.my-admin-root .hot-villas-slider .card img,
	body.my-admin-root .danang-top-villas-slider .card img,
	body.my-admin-root .villa-list-grid .card img,
	body.my-admin-root #similarVillasGrid .card img{
		height:100px!important;
		object-fit:cover!important;
	}
	body.my-admin-root .card-body{
		padding:10px!important;
	}
	body.my-admin-root .card .meta{
		font-size:11px!important;
		line-height:1.3!important;
	}
	body.my-admin-root .card .tag{
		font-size:10px!important;
		padding:2px 6px!important;
	}
	body.my-admin-root .hero-card,
	body.my-admin-root .card,
	body.my-admin-root .search-popup{
		max-width:100%!important;
	}
	body.my-admin-root .section-head{
		flex-wrap:wrap;
	}
	body.my-admin-home .request-home-head{
		flex-direction:column!important;
		align-items:flex-start!important;
	}
	body.my-admin-home .request-home-head .request-home-head-text,
	body.my-admin-home .request-home-head > .request-home-head-text:last-child{
		width:100%!important;
		max-width:100%!important;
		display:block!important;
		flex:0 0 100%!important;
	}
	body.my-admin-home .request-home-head .request-home-head-text h2,
	body.my-admin-home .request-home-head .request-home-head-text p{
		display:block!important;
		width:100%!important;
		white-space:normal!important;
		word-break:break-word!important;
	}
	body.my-admin-home .request-home-head > .request-home-head-text > *{
		flex:0 0 100%!important;
	}
	body.my-admin-root .btn,
	body.my-admin-root a.btn{
		min-width:0!important;
	}
	body.my-admin-root .search-grid,
	body.my-admin-root .villa-filter-row{
		width:100%!important;
	}
	body.my-admin-root .search-grid > *,
	body.my-admin-root .villa-filter-row > *{
		min-width:0!important;
	}

	/* Force responsive for villa-detail action buttons */
	body.my-admin-root .villa-cart-actions .villa-cta{
		display:grid!important;
		gap:8px!important;
		width:100%!important;
	}
	body.my-admin-root .villa-cart-actions .villa-cta-row{
		display:grid!important;
		gap:6px!important;
		width:100%!important;
	}
	body.my-admin-root .villa-cart-actions .villa-cta-row-main{
		grid-template-columns:3fr 3fr 4fr!important;
	}
	body.my-admin-root .villa-cart-actions .villa-cta-row-secondary{
		grid-template-columns:1fr 1fr!important;
	}
	body.my-admin-root .villa-cart-actions .villa-cta-row .btn,
	body.my-admin-root .villa-cart-actions .villa-cta-row form{
		width:100%!important;
		min-width:0!important;
		max-width:none!important;
	}
	body.my-admin-root .villa-cart-actions .villa-cta-row .btn{
		white-space:nowrap!important;
	}

	/* Force responsive for similar villas mobile slider */
	body.my-admin-root #similarVillasGrid{
		display:grid!important;
		grid-template-rows:repeat(2,minmax(0,1fr))!important;
		grid-auto-flow:column!important;
		grid-auto-columns:170px!important;
		gap:12px!important;
		overflow-x:auto!important;
		scroll-snap-type:x mandatory!important;
		scroll-behavior:smooth!important;
		padding-bottom:4px!important;
		-ms-overflow-style:none!important;
		scrollbar-width:none!important;
	}
	body.my-admin-root #similarVillasGrid::-webkit-scrollbar{display:none!important}
	body.my-admin-root #similarVillasGrid .card{
		flex:0 0 170px!important;
		width:170px!important;
		max-width:170px!important;
		scroll-snap-align:start!important;
	}
}

/* Force banner headline styles after global resets */
body.my-admin-root .home-head-banner .home-head-banner-text h1{
	font-size:22px!important;
	line-height:1.25!important;
	text-transform:uppercase!important;
	color:#0f172a!important;
	margin:0 0 8px!important;
	font-family:"Roboto Flex",sans-serif!important;
	letter-spacing:.2px!important;
	font-weight:700!important;
}
body.my-admin-root .home-head-banner .home-head-banner-text p{
	font-size:22px!important;
	line-height:1.25!important;
	text-transform:uppercase!important;
	color:#2563eb!important;
	margin:0!important;
	font-weight:700!important;
	font-family:"Roboto Flex",sans-serif!important;
	letter-spacing:.2px!important;
}
body.my-admin-root .home-head-banner .home-head-banner-image img{
	display:block!important;
	width:100%!important;
	height:auto!important;
	max-height:180px!important;
	object-fit:contain!important;
}
@media (max-width: 991px){
	body.my-admin-root .home-head-banner .home-head-banner-text h1,
	body.my-admin-root .home-head-banner .home-head-banner-text p{
		font-size:18px!important;
		line-height:1.25!important;
	}
}
@media (max-width: 767px){
	body.my-admin-root .home-head-banner .home-head-banner-text{
		padding-left:10px!important;
	}
	body.my-admin-root .home-head-banner .home-head-banner-text h1,
	body.my-admin-root .home-head-banner .home-head-banner-text p{
		font-size:15px!important;
		line-height:1.3!important;
	}
	body.my-admin-root .main-header .logo img{
		height:44px!important;
		width:auto!important;
		max-width:none!important;
	}
}
