:root{
  --bg:#f4f6fb;--panel:#fff;--text:#172033;--muted:#6d7588;--line:#e7eaf1;
  --primary:#315efb;--primary2:#2348d9;--success:#159b68;--warn:#d99015;--danger:#d94b4b;
  --nav:#11182a;--nav2:#1a233a;--shadow:0 10px 35px rgba(27,39,78,.08);--radius:18px;
}
*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
body{min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}
a{text-decoration:none;color:inherit}.hidden{display:none!important}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:linear-gradient(135deg,#10182b,#233a73)}
.login-visual{padding:56px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 20% 20%,rgba(83,119,255,.35),transparent 35%)}
.brand-lockup{display:flex;gap:14px;align-items:center}.brand-mark{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#5d7cff,#8aa0ff);display:grid;place-items:center;font-weight:800;box-shadow:0 10px 30px rgba(49,94,251,.25)}
.login-visual h1{font-size:46px;line-height:1.08;margin:36px 0 16px;max-width:680px}.login-visual p{max-width:640px;color:#cad4ee;font-size:18px;line-height:1.7}.login-points{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:28px}.login-point{padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.06)}
.login-panel{display:grid;place-items:center;background:#f8faff;padding:32px}.login-card{width:min(430px,100%);background:white;padding:34px;border-radius:28px;box-shadow:0 24px 70px rgba(12,24,54,.2)}.login-card h2{font-size:30px;margin:0 0 8px}.subtle{color:var(--muted)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.one{grid-template-columns:1fr}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:13px;font-weight:700;color:#4a5369}.field input,.field select,.field textarea{width:100%;padding:12px 13px;border:1px solid #dfe4ee;border-radius:12px;background:#fff;outline:none;transition:.2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:#8ea6ff;box-shadow:0 0 0 4px rgba(49,94,251,.08)}.field textarea{min-height:90px;resize:vertical}
.btn{border:0;border-radius:12px;padding:11px 15px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary2)}.btn-soft{background:#edf2ff;color:#274cd3}.btn-light{background:#f4f6fa;color:#384158}.btn-danger{background:#fff0f0;color:#b93434}.btn-success{background:#eaf9f2;color:#11855b}.btn-block{width:100%}
.demo-box{margin-top:18px;padding:14px;background:#f6f8fe;border:1px solid #e4e9f8;border-radius:14px;font-size:12px;line-height:1.7}
.app-shell{min-height:100vh;display:grid;grid-template-columns:270px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--nav),#0c1220);color:#dbe2f7;padding:18px 14px;overflow:auto;z-index:20}.sidebar .brand{padding:10px 10px 18px;display:flex;align-items:center;gap:11px}.sidebar .brand strong{font-size:17px}.nav-section{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#76829e;margin:18px 10px 8px;font-weight:800}.nav-item{width:100%;border:0;background:transparent;color:#cbd4eb;text-align:left;padding:11px 12px;border-radius:12px;margin:3px 0;font-weight:650;display:flex;align-items:center;gap:10px}.nav-item:hover,.nav-item.active{background:#202b45;color:#fff}.nav-dot{width:8px;height:8px;border-radius:99px;background:#5d7cff}.sidebar-foot{margin-top:24px;padding:14px 10px;border-top:1px solid #25304a}.user-mini{font-size:13px}.user-mini span{display:block;color:#8995b2;margin-top:4px}
.main{min-width:0}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:15}.top-title h1{font-size:20px;margin:0}.top-title small{color:var(--muted)}.top-actions{display:flex;gap:10px;align-items:center}.icon-btn{width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:12px;display:grid;place-items:center}.mobile-menu{display:none}
.content{padding:26px;max-width:1600px;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.page-head h2{margin:0 0 5px;font-size:27px}.page-head p{margin:0;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:9px}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{background:var(--panel);border:1px solid #edf0f6;border-radius:var(--radius);box-shadow:var(--shadow);padding:19px}.metric-label{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.metric-value{font-size:29px;font-weight:800;margin-top:8px}.metric-note{font-size:12px;color:var(--muted);margin-top:5px}.metric-accent{width:38px;height:6px;border-radius:99px;background:linear-gradient(90deg,#315efb,#8ba3ff);margin-bottom:14px}
.grid-2{display:grid;grid-template-columns:1.35fr .65fr;gap:16px;margin-top:16px}.grid-equal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.panel{background:#fff;border:1px solid #edf0f6;border-radius:var(--radius);box-shadow:var(--shadow);padding:19px}.panel h3{margin:0 0 15px;font-size:17px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.table{width:100%;border-collapse:collapse;min-width:760px;background:#fff}.table th,.table td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;vertical-align:top}.table th{background:#f8f9fc;color:#525c73;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.table tr:last-child td{border-bottom:0}.table td strong{font-size:13px}
.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.badge-green{background:#e9f8f1;color:#0f8157}.badge-blue{background:#eaf0ff;color:#3156c9}.badge-orange{background:#fff4df;color:#a96a05}.badge-red{background:#ffeaea;color:#b53535}.badge-gray{background:#f0f2f5;color:#687184}.badge-purple{background:#f1ebff;color:#6f46c8}
.unit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.unit-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;transition:.2s}.unit-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.unit-card h4{margin:3px 0 6px}.unit-card p{margin:0;color:var(--muted);font-size:12px}.unit-status{margin-top:12px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.catalog-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.catalog-cover{aspect-ratio:16/10;width:100%;object-fit:cover;background:#e8edf7}.catalog-body{padding:18px}.catalog-title{font-size:20px;font-weight:800;margin-bottom:7px}.catalog-price{font-weight:800;color:#2348d9;margin:10px 0}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{padding:6px 9px;background:#f2f5fa;border-radius:999px;font-size:11px;color:#566078}.availability{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gallery img,.gallery video{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;background:#eef1f7}
.empty{padding:36px;text-align:center;color:var(--muted)}.notice{padding:13px 14px;border-radius:13px;background:#fff7e7;border:1px solid #ffe2aa;color:#855604;font-size:13px}.notice.red{background:#fff0f0;border-color:#ffd1d1;color:#9e2f2f}.notice.blue{background:#edf3ff;border-color:#d7e3ff;color:#3156c9}.toast{position:fixed;right:20px;bottom:20px;background:#152039;color:#fff;padding:13px 16px;border-radius:13px;box-shadow:0 18px 50px rgba(12,20,42,.28);z-index:100;max-width:380px}.toast.error{background:#9d2f2f}.toast.success{background:#12694d}
.modal-backdrop{position:fixed;inset:0;background:rgba(9,17,34,.55);display:grid;place-items:center;padding:20px;z-index:90}.modal{width:min(760px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.28)}.modal-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-head h3{margin:0}.modal-body{padding:22px}.modal-foot{padding:16px 22px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}.close-btn{border:0;background:#f2f4f8;border-radius:10px;width:36px;height:36px}
.kpi-row{display:flex;gap:10px;flex-wrap:wrap}.mini-kpi{padding:12px 14px;background:#f7f9fd;border-radius:13px;min-width:140px}.mini-kpi strong{display:block;font-size:18px}.mini-kpi span{font-size:11px;color:var(--muted)}
.timeline{display:flex;flex-direction:column;gap:10px}.timeline-item{display:grid;grid-template-columns:10px 1fr;gap:12px}.timeline-dot{width:9px;height:9px;border-radius:99px;background:#5675ff;margin-top:6px}.timeline-content{padding-bottom:12px;border-bottom:1px solid var(--line)}.timeline-content strong{font-size:13px}.timeline-content small{display:block;color:var(--muted);margin-top:3px}
.public-header{padding:18px 24px;background:#11182a;color:#fff;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10}.public-hero{padding:60px 24px 32px;background:linear-gradient(135deg,#11182a,#243c7c);color:#fff}.public-hero-inner{max-width:1200px;margin:auto}.public-hero h1{font-size:42px;margin:0 0 12px}.public-hero p{max-width:720px;color:#d5def3;line-height:1.7}.public-content{max-width:1200px;margin:auto;padding:30px 24px 60px}.media-strip{display:flex;gap:10px;overflow:auto;margin-top:12px}.media-strip img,.media-strip video{width:160px;height:110px;object-fit:cover;border-radius:12px;background:#e9edf5}.video-link{display:inline-flex;padding:9px 12px;border-radius:10px;background:#eef3ff;color:#2e52c9;font-size:12px;font-weight:700;margin-top:8px}
.print-only{display:none}
@media(max-width:1180px){.cards{grid-template-columns:repeat(2,1fr)}.unit-grid{grid-template-columns:repeat(3,1fr)}.catalog-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.app-shell{grid-template-columns:235px 1fr}}
@media(max-width:860px){.login-shell{grid-template-columns:1fr}.login-visual{display:none}.app-shell{display:block}.sidebar{position:fixed;left:-290px;width:270px;transition:.25s}.sidebar.open{left:0;box-shadow:20px 0 60px rgba(0,0,0,.25)}.mobile-menu{display:grid}.topbar{padding:0 14px}.content{padding:18px}.page-head{align-items:flex-start;flex-direction:column}.unit-grid{grid-template-columns:repeat(2,1fr)}.catalog-grid{grid-template-columns:1fr}.grid-equal{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}
.nx-occupant-card{border:1px solid #dce9ef;background:#fbfdfe;border-radius:12px;padding:14px;display:grid;gap:12px}.nx-occupant-card.primary{border-color:#cfe7f1;background:#f8fcfe}.nx-occupant-card.secondary{border-color:#d8e8df;background:#f8fcf9}.nx-occupant-card[hidden]{display:none}.nx-occupant-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:8px;border-bottom:1px solid #e7eef2}.nx-occupant-title strong{color:#123b59;font-size:13px}.nx-occupant-title span{font-size:9.5px;color:#6c8391;text-align:right;line-height:1.35}
@media(max-width:560px){.cards{grid-template-columns:1fr}.unit-grid{grid-template-columns:1fr}.content{padding:14px}.top-title small{display:none}.top-actions .btn span{display:none}.public-hero h1{font-size:32px}.public-header{padding:14px 16px}.public-content{padding:20px 14px 50px}.page-head h2{font-size:23px}.modal-backdrop{padding:8px}.modal{border-radius:16px}.table{min-width:680px}}
@media print{.sidebar,.topbar,.no-print{display:none!important}.app-shell{display:block}.content{padding:0}.print-only{display:block}.panel,.card{box-shadow:none;border-color:#ddd}}

/* =========================================================
   D&H Property Manager Public Catalog — premium responsive showcase
   ========================================================= */
.nx-public-page{background:#f7fafc;color:#10233d;font-family:Inter,"Segoe UI",Arial,sans-serif}.nx-public-page button,.nx-public-page input,.nx-public-page select,.nx-public-page textarea{font:inherit}.nx-public-page button{cursor:pointer}.nx-modal-open{overflow:hidden}
.nx-header{height:78px;background:rgba(255,255,255,.97);border-bottom:1px solid #e8eef4;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,70px);position:sticky;top:0;z-index:80;box-shadow:0 5px 22px rgba(20,61,91,.04);backdrop-filter:blur(14px)}
.nx-brand{display:flex;align-items:center;gap:10px;min-width:max-content}.nx-brand-mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(150deg,#0a7199,#0a4a7e);display:grid;place-items:center;position:relative;box-shadow:0 7px 16px rgba(9,87,129,.18)}.nx-brand-mark>span{width:17px;height:16px;background:#e3f5f8;border-radius:3px 3px 6px 6px;position:relative}.nx-brand-mark>span:before{content:"";position:absolute;width:18px;height:18px;border-left:5px solid #e3f5f8;border-top:5px solid #e3f5f8;transform:rotate(45deg);left:-3px;top:-9px;border-radius:2px}.nx-brand-mark.small{width:35px;height:35px}.nx-brand-word{font-size:25px;font-weight:850;letter-spacing:-.04em;color:#0d355a}.nx-brand-word span{color:#0b7799}.nx-nav{display:flex;align-items:center;gap:31px;margin-left:auto;margin-right:28px}.nx-nav a{font-size:13px;font-weight:700;color:#35506c;position:relative;padding:29px 0}.nx-nav a:hover,.nx-nav a.active{color:#0874a1}.nx-nav a.active:after{content:"";height:2px;width:28px;background:#0794c2;position:absolute;left:50%;bottom:18px;transform:translateX(-50%);border-radius:8px}.nx-header-actions{display:flex;align-items:center;gap:10px}.nx-icon-button,.nx-menu-button{width:40px;height:40px;border:0;background:transparent;border-radius:10px;color:#16334e;font-size:24px;display:grid;place-items:center}.nx-icon-button:hover,.nx-menu-button:hover{background:#eff6fa}.nx-admin-button{border:0;border-radius:9px;background:linear-gradient(135deg,#0e77a7,#075b91);color:#fff;font-size:12px;font-weight:800;padding:12px 18px;box-shadow:0 8px 18px rgba(9,101,150,.16)}.nx-menu-button{display:none}.nx-mobile-nav{display:none;background:#fff;border-bottom:1px solid #e5edf3;padding:8px 18px 14px;position:fixed;top:78px;left:0;right:0;z-index:75;box-shadow:0 16px 30px rgba(21,57,81,.12)}.nx-mobile-nav a{display:block;padding:13px 5px;border-bottom:1px solid #eef3f6;font-weight:700;color:#1d405d}.nx-mobile-nav a:last-child{border-bottom:0}
.nx-home-view,.nx-detail-view{min-height:calc(100vh - 78px)}.nx-hero{min-height:405px;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(420px,.97fr);background:linear-gradient(115deg,#f8fbfd 0%,#f6fbfd 45%,#e9f4f6 100%);position:relative;overflow:hidden;border-bottom:1px solid #e6eff3}.nx-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.3),transparent 55%);pointer-events:none}.nx-hero-copy{padding:62px 42px 50px max(42px,calc((100vw - 1380px)/2));display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.nx-kicker{font-size:12px;font-weight:700;color:#708597;margin-bottom:15px}.nx-kicker span{color:#0a86ad;margin:0 8px}.nx-hero h1{margin:0;color:#0d2c49;font-size:clamp(38px,4.2vw,66px);line-height:1.02;letter-spacing:-.045em}.nx-hero p{font-size:16px;line-height:1.65;color:#536b7d;max-width:620px;margin:20px 0 26px}.nx-searchbox{display:grid;grid-template-columns:32px 1fr 96px;align-items:center;width:min(600px,100%);height:54px;background:#fff;border:1px solid #dbe6ec;border-radius:13px;padding:5px 6px 5px 15px;box-shadow:0 12px 35px rgba(41,84,110,.09)}.nx-searchbox>span{color:#4e6678;font-size:20px}.nx-searchbox input{border:0;outline:none;color:#18364e;min-width:0;font-size:13px;background:transparent}.nx-searchbox input::placeholder{color:#91a2af}.nx-searchbox button{height:42px;border:0;border-radius:9px;background:linear-gradient(135deg,#0d7fa9,#075b91);color:#fff;font-weight:800;font-size:13px}.nx-hero-visual{--nx-hero-image:url('/static/media/public-catalog-bg.jpg');position:relative;min-height:405px;background-image:linear-gradient(90deg,#f6fbfd 0%,rgba(246,251,253,.3) 20%,rgba(246,251,253,.05) 100%),var(--nx-hero-image);background-size:cover;background-position:center}.nx-hero-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f6fbfd 0%,transparent 38%)}.nx-hero-visual-card{position:absolute;right:11%;top:26%;padding:18px 20px;background:rgba(255,255,255,.83);backdrop-filter:blur(9px);border:1px solid rgba(255,255,255,.72);border-radius:16px;box-shadow:0 14px 35px rgba(15,56,84,.12);transform:rotate(-3deg)}.nx-hero-tag{font-size:17px;line-height:1.35;color:#1b5973;font-style:italic}.nx-hero-tag strong{font-size:20px;color:#0b789a}
.nx-section{max-width:1380px;margin:0 auto;padding:42px 42px 52px}.nx-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.nx-section-head h2{margin:0 0 5px;font-size:30px;letter-spacing:-.03em;color:#12324e}.nx-section-head p{margin:0;color:#718697;font-size:13px}.nx-link-button{border:0;background:transparent;color:#0877a0;font-weight:800;font-size:12px;padding:8px 0}.nx-link-button span{margin-left:7px;font-size:17px}.nx-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.nx-catalog-card{background:#fff;border:1px solid #e1eaef;border-radius:13px;overflow:hidden;box-shadow:0 10px 30px rgba(31,75,103,.08);transition:.25s transform,.25s box-shadow}.nx-catalog-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(31,75,103,.13)}.nx-card-visual{border:0;padding:0;width:100%;display:block;aspect-ratio:16/8.6;overflow:hidden;background:#e9f0f4;position:relative}.nx-card-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:.45s transform}.nx-catalog-card:hover .nx-card-visual img{transform:scale(1.025)}.nx-popular-badge{position:absolute;right:12px;top:12px;background:#087cc1;color:white;padding:6px 12px;border-radius:999px;font-size:10px;font-weight:850;box-shadow:0 5px 15px rgba(6,105,175,.22)}.nx-card-body{padding:17px 18px 18px}.nx-card-body h3{font-size:21px;margin:0 0 6px;color:#112f4a;letter-spacing:-.02em}.nx-card-body>p{font-size:12px;color:#738695;line-height:1.5;min-height:36px;margin:0 0 14px}.nx-card-pricing{min-height:86px}.nx-card-price-label{font-size:10px;color:#7a8d9b;margin-bottom:2px}.nx-card-price-label.spaced{margin-top:7px}.nx-card-price{font-size:12px;color:#3b5568;line-height:1.5}.nx-card-price strong{font-size:15px;color:#103c63}.nx-card-price span{font-size:11px;color:#536d7e}.nx-card-availability-row{min-height:31px;display:flex;align-items:center;margin:4px 0 10px}.nx-card-availability{font-size:11px;color:#2d5d70;font-weight:700}.nx-card-availability.sold{color:#b44c4c}.nx-detail-button{width:100%;height:43px;border:0;border-radius:9px;background:linear-gradient(135deg,#0e7fa9,#075c92);color:#fff;font-weight:850;font-size:12px;display:flex;align-items:center;justify-content:center;gap:9px}.nx-detail-button span{font-size:18px}.nx-empty-state,.nx-load-error{grid-column:1/-1;border:1px dashed #cddce4;border-radius:14px;padding:36px;text-align:center;color:#6b8191;background:#fff}.nx-trust-strip{max-width:1500px;margin:0 auto 26px;background:#fff;border-top:1px solid #e5edf1;border-bottom:1px solid #e5edf1;padding:20px 42px;display:grid;grid-template-columns:1.25fr repeat(4,1fr);align-items:center;gap:20px}.nx-trust-brand{display:flex;align-items:center;gap:10px}.nx-trust-brand>div{display:flex;flex-direction:column}.nx-trust-brand strong{font-size:20px;color:#0e3e64}.nx-trust-brand small{font-size:10px;color:#6f8493;margin-top:2px}.nx-trust-item{display:flex;gap:10px;align-items:center;border-left:1px solid #e7eef2;padding-left:20px}.nx-trust-item>span{font-size:28px;color:#0a6595}.nx-trust-item div{display:flex;flex-direction:column}.nx-trust-item strong{font-size:11px;color:#2a4d66}.nx-trust-item small{font-size:10px;color:#728796;margin-top:1px}
.nx-detail-view{background:linear-gradient(180deg,#fbfdfe,#f1f7fa);padding:22px 28px 52px}.nx-detail-shell{max-width:1380px;margin:0 auto}.nx-breadcrumb{display:flex;gap:10px;align-items:center;color:#738897;font-size:12px;margin:6px 0 18px}.nx-breadcrumb button{border:0;background:transparent;color:#2d5f79;font-weight:700;padding:0}.nx-detail-main{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(340px,.72fr);gap:19px;align-items:stretch}.nx-media-column,.nx-detail-info{background:#fff;border:1px solid #e4edf2;border-radius:14px;padding:18px;box-shadow:0 11px 35px rgba(28,72,101,.07)}.nx-media-stage{aspect-ratio:16/9.1;border-radius:11px;overflow:hidden;background:#eaf0f4;position:relative;touch-action:pan-y}.nx-media-viewport{width:100%;height:100%;display:grid;place-items:center}.nx-media-viewport img,.nx-media-viewport video,.nx-media-viewport iframe{width:100%;height:100%;object-fit:cover;border:0;display:block;background:#061019}.nx-external-video{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;background:linear-gradient(135deg,#10293d,#0f6686);color:#fff}.nx-external-video a{padding:9px 14px;border-radius:8px;background:#fff;color:#0d5c7c;font-weight:800;font-size:12px}.nx-play-disc{width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:25px}.nx-media-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.65);background:rgba(255,255,255,.92);color:#174b65;font-size:30px;line-height:1;display:grid;place-items:center;box-shadow:0 7px 20px rgba(0,0,0,.14)}.nx-media-arrow:hover{background:#fff}.nx-media-arrow.left{left:14px}.nx-media-arrow.right{right:14px}.nx-media-count{position:absolute;right:13px;bottom:12px;z-index:4;background:rgba(10,36,52,.68);color:#fff;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;backdrop-filter:blur(6px)}.nx-fullscreen-button{position:absolute;top:12px;right:12px;z-index:4;width:35px;height:35px;border-radius:8px;border:1px solid rgba(255,255,255,.55);background:rgba(16,42,59,.55);color:#fff;font-size:18px}.nx-thumb-row{display:flex;gap:9px;overflow:auto;padding-top:10px;scrollbar-width:thin}.nx-thumb{position:relative;flex:0 0 102px;aspect-ratio:16/9;border-radius:8px;overflow:hidden;padding:0;border:2px solid transparent;background:#e6edf2}.nx-thumb.active{border-color:#0d82b4;box-shadow:0 0 0 2px rgba(13,130,180,.12)}.nx-thumb img,.nx-thumb video{width:100%;height:100%;object-fit:cover;display:block}.nx-thumb-play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:18px;text-shadow:0 2px 8px #000;background:rgba(6,16,22,.22)}.nx-video-thumb{background:linear-gradient(135deg,#16374d,#0b6a8b);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.nx-video-thumb>span{font-size:21px}.nx-video-thumb small{font-size:8px;letter-spacing:.08em}.nx-detail-info{padding:21px 22px;display:flex;flex-direction:column}.nx-detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.nx-detail-title-row h1{margin:0 0 3px;font-size:29px;letter-spacing:-.035em;color:#102e49}.nx-detail-title-row p{margin:0;color:#728795;font-size:11px}.nx-availability-pill{border-radius:999px;padding:6px 12px;background:#dff6e9;color:#17804e;font-size:10px;font-weight:850;white-space:nowrap}.nx-availability-pill.sold{background:#fde5e5;color:#b13b3b}.nx-detail-price{font-size:27px;font-weight:900;color:#0d3d67;margin:12px 0 2px;letter-spacing:-.02em}.nx-detail-price small{font-size:14px;font-weight:700;color:#275878}.nx-info-divider{height:1px;background:#e8eef2;margin:17px 0}.nx-detail-info h3{font-size:13px;margin:0 0 13px;color:#173d58}.nx-facility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 16px}.nx-facility{display:flex;align-items:center;gap:8px;color:#486477;font-size:11px;min-width:0}.nx-facility>span{width:24px;height:24px;border-radius:7px;background:#eef6fa;color:#096b97;display:grid;place-items:center;font-size:13px;flex:0 0 24px}.nx-facility strong{font-weight:650;overflow:hidden;text-overflow:ellipsis}.nx-description{font-size:11px;line-height:1.65;color:#607585;margin:0}.nx-detail-actions{display:grid;gap:8px;margin-top:auto;padding-top:20px}.nx-whatsapp-button,.nx-booking-button{height:45px;border:0;border-radius:9px;color:#fff;font-weight:850;font-size:12px}.nx-whatsapp-button{background:linear-gradient(135deg,#18a66a,#098c59)}.nx-booking-button{background:linear-gradient(135deg,#0d78c8,#0a55a7)}.nx-whatsapp-button span,.nx-booking-button span{margin-right:6px}.nx-detail-extra{display:grid;grid-template-columns:1fr .65fr;gap:19px;margin-top:17px}.nx-location-card,.nx-detail-extra blockquote{background:#fff;border:1px solid #e4edf2;border-radius:14px;box-shadow:0 10px 30px rgba(28,72,101,.05);padding:20px;margin:0}.nx-location-card{display:flex;align-items:center;gap:16px}.nx-location-icon{width:50px;height:50px;border-radius:14px;background:#e9f3f9;color:#0b68a1;display:grid;place-items:center;font-size:27px}.nx-location-card strong{font-size:14px}.nx-location-card p{margin:4px 0 0;color:#748895;font-size:11px}.nx-detail-extra blockquote{display:flex;flex-direction:column;justify-content:center;color:#5a7181;font-size:13px;font-style:italic;line-height:1.55}.nx-detail-extra blockquote small{margin-top:7px;color:#174f72;font-weight:800;font-style:normal}
.nx-lightbox{position:fixed;z-index:150;inset:0;background:rgba(3,13,20,.96);display:grid;place-items:center;padding:35px 70px}.nx-lightbox[hidden]{display:none}.nx-lightbox-content{width:min(1500px,100%);height:min(88vh,900px);display:grid;place-items:center}.nx-lightbox-content img,.nx-lightbox-content video,.nx-lightbox-content iframe{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;border:0}.nx-lightbox-content .nx-external-video{max-width:950px;max-height:650px;border-radius:18px}.nx-lightbox-close{position:absolute;top:18px;right:24px;width:44px;height:44px;border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:50%;font-size:30px}.nx-lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:0;border-radius:50%;background:rgba(255,255,255,.13);color:#fff;font-size:36px}.nx-lightbox-arrow.left{left:16px}.nx-lightbox-arrow.right{right:16px}
.nx-booking-modal{position:fixed;z-index:140;inset:0;background:rgba(7,27,40,.62);display:grid;place-items:center;padding:18px;backdrop-filter:blur(6px);overscroll-behavior:contain}.nx-booking-modal[hidden]{display:none}.nx-booking-dialog{width:min(560px,100%);max-height:calc(100dvh - 36px);background:#fff;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.28);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.nx-booking-head{position:sticky;top:0;z-index:5;background:#fff;padding:20px 22px;border-bottom:1px solid #e7eef2;display:flex;justify-content:space-between;align-items:flex-start}.nx-booking-head small{color:#0a7b9f;font-weight:800}.nx-booking-head h2{margin:3px 0 0;color:#123b59}.nx-booking-head button{border:0;background:#eef4f7;width:34px;height:34px;border-radius:9px;font-size:21px;color:#486273}.nx-booking-form{padding:21px;display:grid;gap:13px}.nx-booking-form label{display:grid;gap:6px;font-size:11px;font-weight:800;color:#466274}.nx-booking-form input,.nx-booking-form select,.nx-booking-form textarea{border:1px solid #dbe6ec;border-radius:9px;padding:11px 12px;outline:none;color:#18384f;background:#fff}.nx-booking-form input:focus,.nx-booking-form select:focus,.nx-booking-form textarea:focus{border-color:#48a0c3;box-shadow:0 0 0 3px rgba(24,134,178,.09)}.nx-booking-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.nx-booking-notice{background:#eef7fb;border:1px solid #d3eaf3;color:#547283;border-radius:9px;padding:11px;font-size:10px;line-height:1.5}.nx-booking-submit{height:44px;border:0;border-radius:9px;background:linear-gradient(135deg,#0e7fa9,#075b91);color:#fff;font-weight:850}.nx-booking-submit:disabled{opacity:.55;cursor:not-allowed}.nx-booking-status{font-size:11px;line-height:1.5;color:#667b89}.nx-booking-status.success{color:#13764c;background:#e9f8ef;border-radius:8px;padding:9px}.nx-booking-status.error{color:#a43b3b;background:#fff0f0;border-radius:8px;padding:9px}
@media(max-width:1100px){.nx-nav{gap:20px;margin-right:16px}.nx-hero{grid-template-columns:1fr .85fr}.nx-catalog-grid{gap:14px}.nx-trust-strip{grid-template-columns:1.4fr repeat(2,1fr)}.nx-trust-item:nth-last-child(-n+2){display:none}.nx-detail-main{grid-template-columns:minmax(0,1.35fr) minmax(315px,.65fr)}.nx-detail-title-row h1{font-size:25px}}
@media(max-width:820px){.nx-header{height:66px;padding:0 18px}.nx-brand-word{font-size:22px}.nx-brand-mark{width:34px;height:34px}.nx-nav,.nx-icon-button,.nx-admin-button{display:none}.nx-menu-button{display:grid}.nx-mobile-nav{top:66px}.nx-mobile-nav.open{display:block}.nx-hero{grid-template-columns:1fr;min-height:auto}.nx-hero-copy{padding:44px 24px 34px}.nx-hero h1{font-size:43px}.nx-hero-visual{height:260px;min-height:260px}.nx-section{padding:32px 20px 40px}.nx-catalog-grid{grid-template-columns:1fr 1fr}.nx-section-head h2{font-size:26px}.nx-trust-strip{margin-bottom:0;padding:18px 20px;grid-template-columns:1fr 1fr}.nx-trust-brand{grid-column:1/-1}.nx-trust-item{border-left:0;padding-left:0}.nx-detail-view{padding:14px 15px 38px}.nx-detail-main{grid-template-columns:1fr}.nx-detail-info{min-height:auto}.nx-detail-actions{margin-top:18px}.nx-detail-extra{grid-template-columns:1fr}.nx-detail-extra blockquote{display:none}.nx-media-column,.nx-detail-info{padding:13px}.nx-detail-info{padding:18px}.nx-thumb{flex-basis:92px}.nx-media-stage{aspect-ratio:16/9}.nx-detail-title-row h1{font-size:27px}}
@media(max-width:560px){.nx-brand-word{font-size:20px}.nx-header{padding:0 14px}.nx-hero-copy{padding:35px 18px 26px}.nx-kicker{font-size:10px}.nx-hero h1{font-size:36px}.nx-hero p{font-size:13px;margin:15px 0 19px}.nx-searchbox{height:49px;grid-template-columns:27px 1fr 78px;padding-left:10px}.nx-searchbox button{height:38px}.nx-hero-visual{height:210px;min-height:210px}.nx-hero-visual-card{right:8%;top:22%;padding:12px 14px}.nx-hero-tag{font-size:13px}.nx-hero-tag strong{font-size:15px}.nx-section{padding:27px 14px 34px}.nx-section-head{align-items:center}.nx-section-head h2{font-size:23px}.nx-section-head p{font-size:11px}.nx-catalog-grid{grid-template-columns:1fr;gap:15px}.nx-card-visual{aspect-ratio:16/8.8}.nx-card-body{padding:15px 16px 16px}.nx-card-body h3{font-size:19px}.nx-card-pricing{min-height:auto;margin-bottom:9px}.nx-trust-strip{grid-template-columns:1fr;padding:18px}.nx-trust-item{display:none}.nx-detail-view{padding:7px 0 25px;background:#f5f9fb}.nx-detail-shell{width:100%}.nx-breadcrumb{padding:8px 15px;margin:0}.nx-detail-main{gap:0}.nx-media-column,.nx-detail-info{border-radius:0;border-left:0;border-right:0;box-shadow:none}.nx-media-column{padding:0;background:#fff}.nx-media-stage{border-radius:0;aspect-ratio:16/10}.nx-thumb-row{padding:9px 11px 11px;gap:6px}.nx-thumb{flex-basis:72px;border-radius:6px}.nx-media-arrow{width:34px;height:34px;font-size:25px}.nx-media-arrow.left{left:10px}.nx-media-arrow.right{right:10px}.nx-fullscreen-button{top:9px;right:9px}.nx-media-count{right:9px;bottom:9px}.nx-detail-info{padding:17px 15px 14px;border-top:1px solid #e4edf2}.nx-detail-title-row h1{font-size:22px}.nx-detail-price{font-size:23px}.nx-facility-grid{gap:11px 9px}.nx-facility{font-size:10px}.nx-facility>span{width:22px;height:22px;flex-basis:22px}.nx-description{font-size:10.5px}.nx-detail-actions{position:sticky;bottom:0;background:#fff;margin-left:-15px;margin-right:-15px;padding:12px 15px max(12px,env(safe-area-inset-bottom));z-index:15;border-top:1px solid #edf2f4}.nx-detail-extra{display:none}.nx-lightbox{padding:52px 8px 20px}.nx-lightbox-arrow{width:42px;height:42px}.nx-lightbox-arrow.left{left:5px}.nx-lightbox-arrow.right{right:5px}.nx-booking-modal{padding:8px}.nx-booking-dialog{border-radius:14px}.nx-booking-two{grid-template-columns:1fr}}

/* ==========================================================
   D&H PROPERTY MANAGER - MOBILE RESPONSIVE HARDENING — MOBILE RESPONSIVE HARDENING
   Target utama: smartphone 320–430 px
   ========================================================== */
.nx-public-page{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
.nx-public-page main,
.nx-public-page section,
.nx-public-page article,
.nx-public-page aside,
.nx-public-page div{min-width:0}
.nx-public-page img,
.nx-public-page video,
.nx-public-page iframe{max-width:100%}
.nx-card-body,
.nx-detail-info,
.nx-booking-dialog,
.nx-booking-form{overflow-wrap:break-word;word-wrap:break-word}

@media(max-width:560px){
  .nx-header{
    height:62px;
    min-height:62px;
    padding-left:max(13px,env(safe-area-inset-left));
    padding-right:max(13px,env(safe-area-inset-right));
  }
  .nx-mobile-nav{
    top:62px;
    max-height:calc(100dvh - 62px);
    overflow-y:auto;
    padding-bottom:max(14px,env(safe-area-inset-bottom));
  }
  .nx-brand{gap:8px;min-width:0}
  .nx-brand-mark{width:32px;height:32px;flex:0 0 32px;border-radius:9px}
  .nx-brand-mark>span{transform:scale(.86)}
  .nx-brand-word{font-size:19px;white-space:nowrap}
  .nx-menu-button{width:44px;height:44px;min-width:44px;font-size:23px}

  .nx-home-view,.nx-detail-view{min-height:calc(100dvh - 62px)}
  .nx-hero{display:block;min-height:0}
  .nx-hero-copy{padding:30px 16px 24px}
  .nx-kicker{font-size:10.5px;line-height:1.4;margin-bottom:11px;white-space:normal}
  .nx-kicker span{margin:0 5px}
  .nx-hero h1{
    font-size:clamp(30px,9.2vw,36px);
    line-height:1.07;
    letter-spacing:-.035em;
    overflow-wrap:normal;
    word-break:normal;
  }
  .nx-hero p{font-size:13.5px;line-height:1.55;margin:14px 0 18px;max-width:none}
  .nx-searchbox{
    width:100%;height:50px;
    grid-template-columns:26px minmax(0,1fr) 72px;
    padding:5px 5px 5px 10px;
    border-radius:12px;
  }
  .nx-searchbox input{width:100%;min-width:0;font-size:12px}
  .nx-searchbox button{height:40px;min-width:0;font-size:12px;padding:0 10px}
  .nx-hero-visual{height:185px;min-height:185px}
  .nx-hero-visual-card{right:14px;top:18px;max-width:56%;padding:10px 12px}
  .nx-hero-tag{font-size:12px;line-height:1.3}
  .nx-hero-tag strong{font-size:14px}

  .nx-section{padding:24px 13px 32px}
  .nx-section-head{align-items:flex-start;gap:8px;flex-wrap:wrap;margin-bottom:16px}
  .nx-section-head>div{flex:1 1 220px;min-width:0}
  .nx-section-head h2{font-size:22px;line-height:1.15;margin-bottom:5px}
  .nx-section-head p{font-size:11.5px;line-height:1.45}
  .nx-link-button{font-size:11px;white-space:nowrap;margin-left:auto}
  .nx-catalog-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .nx-catalog-card{width:100%;border-radius:14px}
  .nx-card-visual{aspect-ratio:16/9}
  .nx-card-body{padding:15px}
  .nx-card-body h3{font-size:19px;line-height:1.2;margin-bottom:6px}
  .nx-card-body>p{font-size:12.5px;line-height:1.5;min-height:0;margin-bottom:12px}
  .nx-card-pricing{min-height:0;margin-bottom:8px}
  .nx-card-price-label{font-size:10.5px;line-height:1.35}
  .nx-card-price{font-size:12px;line-height:1.55;white-space:normal}
  .nx-card-price strong{font-size:15px;overflow-wrap:anywhere}
  .nx-card-price span{font-size:11.5px;white-space:normal}
  .nx-card-availability-row{min-height:0;margin:7px 0 12px}
  .nx-card-availability{font-size:11.5px;line-height:1.4;white-space:normal}
  .nx-detail-button{height:45px;min-height:45px;font-size:12.5px}

  .nx-trust-strip{padding:16px 14px;margin:0;grid-template-columns:1fr}
  .nx-trust-brand{width:100%;min-width:0}
  .nx-trust-brand strong{font-size:18px}
  .nx-trust-brand small{font-size:10px;line-height:1.35}

  .nx-detail-view{padding:0 0 max(20px,env(safe-area-inset-bottom))}
  .nx-breadcrumb{padding:10px 14px;margin:0;font-size:11px;min-height:38px;flex-wrap:wrap}
  .nx-breadcrumb button,.nx-breadcrumb span{line-height:1.35}
  .nx-detail-main{display:block}
  .nx-media-column,.nx-detail-info{width:100%;max-width:100%;border-radius:0;border-left:0;border-right:0;box-shadow:none}
  .nx-media-column{padding:0;background:#fff}
  .nx-media-stage{width:100%;aspect-ratio:16/10;border-radius:0;overflow:hidden}
  .nx-media-viewport{overflow:hidden}
  .nx-media-viewport img,.nx-media-viewport video,.nx-media-viewport iframe{display:block;width:100%;height:100%;object-fit:cover}
  .nx-media-arrow{width:40px;height:40px;min-width:40px;min-height:40px;font-size:28px}
  .nx-media-arrow.left{left:9px}.nx-media-arrow.right{right:9px}
  .nx-fullscreen-button{width:38px;height:38px;top:8px;right:8px}
  .nx-media-count{right:8px;bottom:8px;padding:5px 9px;font-size:11px}
  .nx-thumb-row{
    width:100%;max-width:100%;
    gap:7px;padding:9px 11px 11px;
    overflow-x:auto;overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
  }
  .nx-thumb{flex:0 0 76px;min-width:76px;border-radius:7px;scroll-snap-align:start}

  .nx-detail-info{padding:17px 14px 18px;border-top:1px solid #e4edf2}
  .nx-detail-title-row{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:8px 10px;
  }
  .nx-detail-title-row>div{flex:1 1 190px;min-width:0}
  .nx-detail-title-row h1{
    font-size:23px;
    line-height:1.15;
    margin:0 0 4px;
    overflow-wrap:anywhere;
  }
  .nx-detail-title-row p{font-size:11.5px;line-height:1.4;white-space:normal}
  .nx-availability-pill{flex:0 0 auto;font-size:10.5px;padding:6px 10px;line-height:1.2}
  .nx-detail-price{
    font-size:clamp(22px,7vw,26px);
    line-height:1.15;
    margin:13px 0 2px;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .nx-detail-price small{font-size:13px;line-height:1.3;white-space:normal}
  .nx-info-divider{margin:15px 0}
  .nx-detail-info h3{font-size:13px;margin-bottom:11px}
  .nx-facility-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px}
  .nx-facility{align-items:flex-start;gap:7px;font-size:12px;line-height:1.35;min-width:0}
  .nx-facility>span{width:24px;height:24px;flex:0 0 24px;margin-top:0}
  .nx-facility strong{
    display:block;
    min-width:0;
    font-weight:650;
    overflow:visible;
    text-overflow:clip;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .nx-description{font-size:12.5px;line-height:1.65;color:#536f80;white-space:normal;overflow:visible}
  .nx-detail-actions{
    position:static;
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
    margin:18px 0 0;
    padding:0;
    background:transparent;
    border:0;
  }
  .nx-whatsapp-button,.nx-booking-button{width:100%;height:48px;min-height:48px;font-size:12.5px;border-radius:10px}

  .nx-lightbox{
    padding:max(58px,env(safe-area-inset-top)) 6px max(18px,env(safe-area-inset-bottom));
  }
  .nx-lightbox-content{width:100%;height:calc(100dvh - 88px)}
  .nx-lightbox-close{top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));width:42px;height:42px}
  .nx-lightbox-arrow{width:40px;height:40px;font-size:30px;background:rgba(5,22,33,.55)}
  .nx-lightbox-arrow.left{left:5px}.nx-lightbox-arrow.right{right:5px}

  .nx-booking-modal{
    align-items:flex-end;
    padding:0;
    padding-top:max(12px,env(safe-area-inset-top));
  }
  .nx-booking-dialog{
    width:100%;
    max-width:100%;
    max-height:calc(100dvh - max(12px,env(safe-area-inset-top)));
    border-radius:18px 18px 0 0;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding-bottom:env(safe-area-inset-bottom);
  }
  .nx-booking-head{
    position:sticky;top:0;z-index:2;
    background:#fff;
    padding:16px 15px 14px;
  }
  .nx-booking-head h2{font-size:20px;line-height:1.2;overflow-wrap:anywhere}
  .nx-booking-head button{width:40px;height:40px;flex:0 0 40px}
  .nx-booking-form{padding:15px;gap:12px}
  .nx-booking-form label{font-size:12px;line-height:1.35}
  .nx-booking-form input,.nx-booking-form select,.nx-booking-form textarea{width:100%;font-size:16px;min-height:44px}
  .nx-booking-form textarea{min-height:84px}
  .nx-booking-two{grid-template-columns:1fr;gap:12px}
  .nx-booking-notice{font-size:11.5px;line-height:1.5}
  .nx-booking-submit{min-height:48px;font-size:12.5px}
  .nx-booking-status{font-size:11.5px;line-height:1.5}
}

@media(max-width:390px){
  .nx-hero-copy{padding-left:14px;padding-right:14px}
  .nx-hero h1{font-size:clamp(29px,9vw,34px)}
  .nx-hero p{font-size:13px}
  .nx-section{padding-left:12px;padding-right:12px}
  .nx-section-head{display:block}
  .nx-link-button{margin-top:5px;margin-left:0}
  .nx-card-body{padding:14px}
  .nx-detail-info{padding-left:13px;padding-right:13px}
  .nx-facility-grid{gap:10px 7px}
  .nx-facility{font-size:11.7px}
  .nx-thumb{flex-basis:72px;min-width:72px}
}

@media(max-width:350px){
  .nx-brand-word{font-size:18px}
  .nx-brand-mark{width:30px;height:30px;flex-basis:30px}
  .nx-hero h1{font-size:28px}
  .nx-searchbox{grid-template-columns:24px minmax(0,1fr) 64px;padding-left:8px}
  .nx-searchbox input{font-size:11.5px}
  .nx-searchbox button{padding:0 6px;font-size:11.5px}
  .nx-hero-visual{height:165px;min-height:165px}
  .nx-facility-grid{grid-template-columns:1fr}
  .nx-facility{font-size:12px}
  .nx-detail-title-row>div{flex-basis:160px}
}

/* V1.0.6 - catalog type selection */
.nx-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.nx-card-actions .nx-detail-button{background:#eef6fa;color:#0c628d;border:1px solid #d5e8f1}.nx-select-button{width:100%;height:43px;border:0;border-radius:9px;background:linear-gradient(135deg,#0e7fa9,#075c92);color:#fff;font-weight:850;font-size:12px}.nx-booking-form input[type="file"]{padding:9px;background:#f9fbfc}.nx-booking-form input[type="file"]::file-selector-button{border:0;background:#e8f3f8;color:#0c648e;border-radius:7px;padding:7px 10px;margin-right:8px;font-weight:800}.nx-booking-notice strong{color:#145f80}
@media(max-width:560px){.nx-card-actions{grid-template-columns:1fr}.nx-select-button,.nx-card-actions .nx-detail-button{height:47px}.nx-booking-form input[type="file"]{min-height:52px}}

@media(max-width:560px){.nx-occupant-card{padding:12px}.nx-occupant-title{display:grid}.nx-occupant-title span{text-align:left;font-size:10px}.nx-booking-dialog{max-height:calc(100dvh - 16px);overflow:auto}}

/* V1.0.8 rental duration & price preview */
.nx-rental-plan{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:12px;align-items:stretch}.nx-duration-control{display:flex;align-items:center;border:1px solid #dbe6ec;border-radius:9px;overflow:hidden;background:#fff}.nx-duration-control input{border:0!important;border-radius:0!important;min-width:0;flex:1;box-shadow:none!important}.nx-duration-control span{padding:0 12px;color:#607787;font-size:11px;font-weight:800;border-left:1px solid #e3eaee}.nx-rental-quote{border:1px solid #cfe6f1;background:linear-gradient(135deg,#eef8fc,#f8fcfe);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;justify-content:center;min-width:0}.nx-rental-quote small{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#648496;font-weight:850}.nx-rental-quote strong{font-size:18px;color:#0c5d87;margin:2px 0;overflow-wrap:anywhere}.nx-rental-quote span{font-size:10.5px;color:#66808f;line-height:1.35}.nx-rental-quote.manual strong{font-size:13px;color:#8a5f10}.nx-rental-quote.manual{background:#fff9e9;border-color:#f0dfad}
@media(max-width:560px){.nx-rental-plan{grid-template-columns:1fr}.nx-rental-quote{min-height:74px}.nx-rental-quote strong{font-size:17px}}


/* V1.0.9.1 - desktop catalog form scrolling */
@media(min-width:561px){
  .nx-booking-dialog{max-height:calc(100vh - 36px);max-height:calc(100dvh - 36px);overflow-y:auto;overflow-x:hidden}
  .nx-booking-dialog::-webkit-scrollbar{width:10px}
  .nx-booking-dialog::-webkit-scrollbar-thumb{background:#c9d7df;border:3px solid #fff;border-radius:999px}
  .nx-booking-dialog::-webkit-scrollbar-track{background:#fff}
  .nx-booking-form{padding-bottom:24px}
}

/* V1.0.12 - Catalog registration confirmation */
.nx-confirm-whatsapp{display:inline-flex;align-items:center;justify-content:center;margin-top:14px;padding:12px 18px;border-radius:12px;background:#16a34a;color:#fff!important;text-decoration:none;font-weight:800;box-shadow:0 8px 22px rgba(22,163,74,.18)}
.nx-confirm-whatsapp:hover{filter:brightness(.96)}
.nx-wa-warning{margin-top:12px;padding:10px 12px;border-radius:10px;background:#fff7ed;color:#9a3412;font-weight:650;line-height:1.45}


/* V1.0.13 - post registration WhatsApp confirmation popup */
.nx-confirm-modal{position:fixed;z-index:155;inset:0;background:rgba(7,27,40,.66);display:grid;place-items:center;padding:18px;backdrop-filter:blur(7px);overscroll-behavior:contain}
.nx-confirm-modal[hidden]{display:none}
.nx-confirm-dialog{position:relative;width:min(500px,100%);max-height:calc(100dvh - 36px);overflow-y:auto;background:#fff;border-radius:22px;padding:30px 28px 24px;box-shadow:0 32px 95px rgba(0,0,0,.3);text-align:center;color:#173d58}
.nx-confirm-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border:0;border-radius:10px;background:#eef4f7;color:#486273;font-size:22px;display:grid;place-items:center}
.nx-confirm-icon{width:68px;height:68px;margin:0 auto 13px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#20bd76,#0d9258);color:#fff;font-size:34px;font-weight:900;box-shadow:0 12px 28px rgba(17,159,94,.2)}
.nx-confirm-kicker{display:block;color:#119b61;font-weight:900;letter-spacing:.09em;font-size:10px}
.nx-confirm-dialog h2{margin:7px 0 7px;color:#123b59;font-size:25px;letter-spacing:-.025em}
.nx-confirm-lead{margin:0 auto 18px;max-width:410px;color:#708491;font-size:12px;line-height:1.6}
.nx-confirm-summary{border:1px solid #e0ebf0;background:#f7fbfd;border-radius:14px;padding:5px 16px;margin:0 0 16px;text-align:left}
.nx-confirm-summary>div{display:grid;grid-template-columns:135px minmax(0,1fr);gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #e8f0f4}
.nx-confirm-summary>div:last-child{border-bottom:0}
.nx-confirm-summary span{font-size:10.5px;color:#718794}
.nx-confirm-summary strong{font-size:12px;color:#153d5b;overflow-wrap:anywhere}
.nx-confirm-warning{padding:11px 12px;margin-bottom:13px;border:1px solid #fed7aa;background:#fff7ed;color:#9a4b0c;border-radius:10px;font-size:11px;line-height:1.5;text-align:left}
.nx-confirm-actions{display:grid;gap:9px}
.nx-confirm-whatsapp-main{margin:0;width:100%;min-height:48px;box-sizing:border-box;font-size:12.5px}
.nx-confirm-done{min-height:44px;border:1px solid #dbe7ed;border-radius:11px;background:#fff;color:#315b72;font-weight:800}
.nx-confirm-footnote{display:block;margin-top:13px;color:#8a9ba5;font-size:9.5px;line-height:1.45}
@media(max-width:560px){.nx-confirm-modal{padding:10px}.nx-confirm-dialog{padding:27px 17px 20px;border-radius:17px}.nx-confirm-dialog h2{font-size:21px}.nx-confirm-lead{font-size:11px}.nx-confirm-summary{padding:4px 13px}.nx-confirm-summary>div{grid-template-columns:110px minmax(0,1fr);gap:8px}.nx-confirm-summary span{font-size:10px}.nx-confirm-summary strong{font-size:11.5px}.nx-confirm-icon{width:60px;height:60px;font-size:30px}.nx-confirm-whatsapp-main{min-height:50px}}

/* V1.0.16 Catalog Display settings */
.catalog-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.catalog-setting-card{border:1px solid var(--line,#e4eaf1);border-radius:16px;padding:16px;background:#fff}.setting-label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:8px}.price-setting-list{display:grid;gap:8px}.price-setting-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #edf1f5;border-radius:10px;padding:9px 10px}.price-setting-row>div{display:grid;gap:2px}.price-setting-row span{font-size:12px;color:#64748b}.btn-sm{padding:7px 10px;font-size:12px}@media(max-width:980px){.catalog-settings-grid{grid-template-columns:1fr}}


/* V1.0.17 - Owner custom hero banner */
.nx-hero-custom-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;background:#dfeaf0}
.nx-hero-visual:before{z-index:1;pointer-events:none}.nx-hero-visual-card{z-index:2}
.catalog-hero-admin-card{margin:18px 0 20px;border:1px solid #dfe8ee;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 9px 28px rgba(30,68,91,.06)}
.catalog-hero-admin-preview{position:relative;min-height:220px;background:linear-gradient(135deg,#eef5f8,#dcecf2);overflow:hidden}
.catalog-hero-admin-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.catalog-hero-admin-placeholder{min-height:220px;display:grid;place-items:center;padding:28px;text-align:center;color:#668092;font-size:13px}
.catalog-hero-admin-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;background:linear-gradient(180deg,rgba(5,27,41,.08),rgba(5,27,41,.72));color:#fff}
.catalog-hero-admin-overlay small{font-weight:800;letter-spacing:.04em;margin-bottom:7px}.catalog-hero-admin-overlay strong{font-size:27px;line-height:1.08;max-width:720px}.catalog-hero-admin-overlay span{margin-top:8px;max-width:760px;font-size:13px;line-height:1.55;color:#e3eef3}
.catalog-hero-admin-info{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 20px}.catalog-hero-admin-info p{margin:5px 0 0}
.hero-settings-current{display:block;width:100%;max-height:260px;object-fit:cover;border-radius:12px;background:#e8eef2;border:1px solid #dfe7ec}
.check-row{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:#405a6c}.check-row input{margin-top:2px}
@media(max-width:700px){.catalog-hero-admin-preview{min-height:180px}.catalog-hero-admin-overlay{padding:18px}.catalog-hero-admin-overlay strong{font-size:22px}.catalog-hero-admin-info{align-items:stretch;flex-direction:column}.catalog-hero-admin-info .btn{width:100%}}


/* V1.0.18 - Public catalog facilities, developer branding, contact popup */
.nx-brand-copy{display:flex;flex-direction:column;line-height:1;min-width:0}.nx-brand-copy>small{font-size:8.5px;color:#6b7c8f;font-weight:700;letter-spacing:.005em;margin-top:3px;white-space:nowrap}.nx-brand{gap:10px}
.nx-card-facilities{display:flex;flex-wrap:wrap;gap:6px;margin:-2px 0 15px;min-height:27px}.nx-card-facility{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 8px;border-radius:999px;background:#f2f6f8;border:1px solid #e8eef1;color:#4d6678;font-size:9.5px;line-height:1.1;font-weight:700;white-space:nowrap}.nx-card-facility b{font-size:11px;color:#126b9a}.nx-card-facility.more{background:#eef7f3;color:#157b5d;border-color:#dbeee6}.nx-card-facilities.empty span{font-size:10px;color:#7b8c97;font-style:italic;padding:4px 0}
.nx-card-availability{color:#15936c}.nx-card-availability.sold{color:#b44c4c}
.nx-contact-modal{position:fixed;inset:0;z-index:260;background:rgba(11,30,43,.48);display:grid;place-items:center;padding:20px;backdrop-filter:blur(3px)}.nx-contact-modal[hidden]{display:none}.nx-contact-dialog{position:relative;width:min(430px,100%);background:#fff;border:1px solid rgba(221,230,236,.95);border-radius:20px;padding:26px 24px 22px;box-shadow:0 28px 80px rgba(10,37,55,.25);text-align:center}.nx-contact-close{position:absolute;right:16px;top:13px;width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:#6b7c8f;font-size:27px;line-height:1}.nx-contact-close:hover{background:#f1f5f7}.nx-contact-whatsapp-icon{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;margin:0 auto 13px;background:#e8f6f0;color:#15936c;font-size:32px;font-weight:900}.nx-contact-dialog h2{margin:0;color:#0f2742;font-size:28px;letter-spacing:-.03em}.nx-contact-lead{margin:8px 0 18px;color:#6b7c8f;font-size:12px;line-height:1.5}.nx-contact-info-card{background:#f7fafb;border:1px solid #e5edf1;border-radius:15px;padding:16px 17px;display:grid;gap:15px;text-align:left}.nx-contact-row{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:10px}.nx-contact-row-icon{width:38px;height:38px;border-radius:11px;background:#e7f1f7;color:#126b9a;display:grid;place-items:center;font-size:20px;font-weight:850}.nx-contact-row-icon.whatsapp{background:#e8f6f0;color:#15936c}.nx-contact-row div{min-width:0;display:flex;flex-direction:column;gap:3px}.nx-contact-row small{color:#6b7c8f;font-size:11px}.nx-contact-row strong{color:#102a43;font-size:17px;overflow-wrap:anywhere}.nx-contact-row strong.green{color:#15936c;font-size:21px}.nx-contact-actions{display:grid;grid-template-columns:1.3fr .9fr;gap:10px;margin-top:16px}.nx-contact-chat,.nx-contact-copy{min-height:50px;border-radius:11px;font-size:12px;font-weight:850;display:flex;align-items:center;justify-content:center;gap:8px}.nx-contact-chat{background:#15936c;color:#fff;border:1px solid #15936c;box-shadow:0 8px 20px rgba(21,147,108,.17)}.nx-contact-chat.disabled{opacity:.45;pointer-events:none}.nx-contact-copy{background:#fff;color:#126b9a;border:1px solid #bcd9e8}.nx-contact-copy:disabled{opacity:.45}.nx-contact-copy-status{min-height:18px;margin-top:9px;font-size:10px;color:#15936c;font-weight:700}.nx-contact-footer{display:block;color:#7b8c97;margin-top:4px;font-size:10px}.nx-modal-open{overflow:hidden}
@media(max-width:820px){.nx-brand-copy>small{font-size:7.5px}.nx-card-facility{font-size:9.5px}.nx-contact-dialog{padding:24px 18px 19px}}
@media(max-width:560px){.nx-brand-copy>small{max-width:170px;overflow:hidden;text-overflow:ellipsis}.nx-card-facilities{gap:5px;margin-bottom:13px}.nx-card-facility{font-size:9.5px;padding:5px 7px}.nx-contact-modal{padding:12px}.nx-contact-dialog{border-radius:17px}.nx-contact-dialog h2{font-size:24px}.nx-contact-row strong.green{font-size:18px}.nx-contact-actions{grid-template-columns:1fr}.nx-contact-chat,.nx-contact-copy{min-height:48px}}

/* V1.0.22 branding */
.brand-credit{font-size:10.5px;color:#8491ae;line-height:1.25;max-width:145px;margin-top:2px}.login-brand-credit{font-size:12px;color:#aebbd8;font-weight:500;margin-top:4px;letter-spacing:.01em}.dashboard-credit{font-size:12px;color:#8491ae;font-weight:600}.brand-lockup>div:last-child{display:flex;flex-direction:column}.brand-lockup strong{line-height:1.05}


/* Cloud 2.0.1 - public catalog auto sync */
.nx-section-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.nx-sync-status{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border:1px solid #d9ebe5;border-radius:999px;background:#f2fbf7;color:#178361;font-size:10px;font-weight:800;white-space:nowrap;transition:.2s ease}
.nx-sync-status[data-state=error]{border-color:#f0dfc7;background:#fff8ee;color:#a45d13}
@media(max-width:560px){.nx-section-actions{width:100%;justify-content:space-between;margin-top:4px}.nx-sync-status{font-size:9.5px;min-height:28px;padding:5px 8px}}

/* D&H Property Manager branding */
.brand-logo-img{display:block;object-fit:contain;max-width:170px;height:auto}.sidebar-brand-logo{width:58px;max-height:48px;object-position:left center}.login-brand-logo{width:150px;max-height:72px;object-position:left center}.nx-brand-logo-img{width:64px;height:42px;object-fit:contain;object-position:left center;flex:0 0 64px}.nx-trust-logo-img{width:70px;height:46px;object-fit:contain;object-position:left center}.brand-lockup{align-items:center}.brand-lockup strong{font-size:18px}.sidebar .brand{gap:10px}.sidebar .brand>div:last-child strong{font-size:14px}.nx-brand-copy{max-width:230px}.nx-brand-word{font-size:18px;letter-spacing:-.025em}.nx-brand-copy>small{white-space:normal;line-height:1.15}.document-logo-note{font-size:12px;color:var(--muted)}
@media(max-width:560px){.login-brand-logo{width:115px}.nx-brand-logo-img{width:48px;height:34px;flex-basis:48px}.nx-brand-word{font-size:15px}.nx-brand-copy>small{font-size:7px;max-width:150px}.nx-trust-logo-img{width:56px;height:38px}}

/* v2.2.1 — fast booking save / identity image optimization */
.nx-file-opt-status{display:block;margin-top:6px;font-size:10px;line-height:1.35;font-weight:700;color:#6b8290}
.nx-file-opt-status.working{color:#276d91}
.nx-file-opt-status.ready{color:#13764c}
.nx-file-opt-status.error{color:#a43b3b}


/* v2.2.2 — Hero Banner upload response, preview and progress */
.hero-new-media-preview{margin-top:10px;border:1px solid #dce8ee;border-radius:12px;overflow:hidden;background:#eef5f8;min-height:120px;display:grid;place-items:center}
.hero-new-media-preview[hidden]{display:none}
.hero-new-media-preview img,.hero-new-media-preview video{display:block;width:100%;max-height:260px;object-fit:contain;background:#0e1e2a}
.hero-upload-status{margin-top:8px;padding:9px 11px;border-radius:10px;background:#f5f8fa;color:#637b8b;font-size:11px;line-height:1.45;font-weight:700;border:1px solid #e5edf2}
.hero-upload-status.working{background:#eef7ff;border-color:#cfe5f4;color:#24698e}
.hero-upload-status.ready{background:#eef9f4;border-color:#cdebdc;color:#14734d}
.hero-upload-status.error{background:#fff2f2;border-color:#f2cccc;color:#a43b3b}
.hero-upload-progress{height:9px;margin-top:8px;border-radius:999px;background:#e7eef3;overflow:hidden}
.hero-upload-progress[hidden]{display:none}
.hero-upload-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#1d6f9d,#2454df);border-radius:inherit;transition:width .18s ease}
#heroSaveBtn:disabled,#heroCancelBtn:disabled{opacity:.62;cursor:wait}

/* v2.3.2 — password visibility + catalog media manager */
.password-input-wrap{position:relative;display:flex;align-items:center}.password-input-wrap input{padding-right:92px}.password-toggle-btn{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;background:#eef2f8;color:#3d4a62;border-radius:9px;padding:7px 9px;display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;line-height:1}.password-toggle-btn:hover{background:#e1e8f5}.password-toggle-btn:focus-visible{outline:2px solid #315efb;outline-offset:2px}.catalog-media-manager-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.catalog-media-manage-card{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff}.catalog-media-manage-preview{height:190px;background:#edf1f7;display:grid;place-items:center;overflow:hidden}.catalog-media-manage-preview img,.catalog-media-manage-preview video{width:100%;height:100%;object-fit:cover}.catalog-media-link-preview{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#536079;padding:18px;text-align:center}.catalog-media-link-preview>span{font-size:30px}.catalog-media-link-preview a{color:#315efb;font-weight:800}.catalog-media-manage-info{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px}.catalog-media-manage-info>div{min-width:0}.catalog-media-manage-info strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.catalog-media-manage-info small{display:block;color:var(--muted);margin-top:4px}.btn-sm{padding:8px 10px;font-size:11px}.btn-danger:hover{background:#ffe1e1}.catalog-card .actions .btn{flex:0 0 auto}
@media(max-width:640px){.catalog-media-manager-grid{grid-template-columns:1fr}.catalog-media-manage-preview{height:180px}.password-toggle-text{display:none}.password-input-wrap input{padding-right:54px}}

.catalog-icon-uploader{display:grid;gap:10px}.catalog-icon-current{width:220px;max-width:100%;border:1px solid #d7e1e8;border-radius:16px;padding:12px;background:#f8fbfd}.catalog-icon-current img{display:block;width:100%;height:140px;object-fit:cover;border-radius:12px;background:#eef4fb}


/* ==========================================================
   D&H PROPERTY MANAGER v2.4.0 — PREMIUM ANDROID DASHBOARD UI
   ========================================================== */
body{background:linear-gradient(180deg,#eef3f8 0%,#f6f8fc 55%,#eef4fb 100%)}
.premium-app-shell{grid-template-columns:290px 1fr;background:radial-gradient(circle at top left,rgba(78,125,255,.08),transparent 24%),linear-gradient(180deg,#f2f6fb,#eef3f8)}
.sidebar{background:linear-gradient(180deg,#0f1b31 0%,#14233f 42%,#0c1528 100%);border-right:1px solid rgba(255,255,255,.06);padding:18px 16px 22px;box-shadow:18px 0 40px rgba(10,20,40,.08)}
.sidebar .brand{padding:16px 14px 18px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.08);margin-bottom:10px}
.sidebar-role-pill,.role-chip,.panel-chip,.dashboard-role-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.sidebar-role-pill{margin:6px 10px 6px;background:rgba(66,125,255,.18);border:1px solid rgba(105,152,255,.2);color:#dce8ff}
.brand-credit{font-size:11px;color:#91a0c0;margin-top:4px;line-height:1.45}
.nav-item{padding:13px 14px;border-radius:15px;position:relative}
.nav-item:hover,.nav-item.active{background:linear-gradient(135deg,#2e4fb4,#22429d);box-shadow:0 10px 24px rgba(29,68,178,.26);color:#fff}
.nav-item:hover .nav-dot,.nav-item.active .nav-dot{background:#fff}
.sidebar-foot{margin-top:18px;padding:16px 10px;border-top:1px solid rgba(255,255,255,.09)}
.main{display:flex;flex-direction:column;min-height:100vh}
.premium-topbar{height:78px;padding:0 28px;border-bottom:1px solid rgba(16,42,66,.08);background:rgba(255,255,255,.82);box-shadow:0 8px 30px rgba(18,33,68,.05)}
.top-title h1{font-size:22px;letter-spacing:-.02em}.top-title small{font-size:12px}
.role-chip{background:linear-gradient(135deg,#edf3ff,#ffffff);border:1px solid #dbe5fb;color:#2348d9;box-shadow:0 8px 20px rgba(49,94,251,.09)}
.premium-mini-btn{border:1px solid #e4ebf8;background:#fff}
.premium-bell-btn{box-shadow:0 8px 20px rgba(14,44,111,.08)}
.content{padding:28px 28px 92px;max-width:1700px;width:100%}
.page-head{margin-bottom:24px}.page-head h2{font-size:30px;letter-spacing:-.03em}.page-head p{line-height:1.6;max-width:860px}
.dashboard-credit{font-size:12px;color:#6d7f9a}
.dashboard-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;padding:22px 24px;margin-bottom:18px;border-radius:28px;background:linear-gradient(135deg,#0e1d37 0%,#17315f 54%,#1e6ba5 100%);color:#fff;box-shadow:0 24px 60px rgba(17,39,88,.18)}
.premium-surface{position:relative;overflow:hidden}.premium-surface:after{content:'';position:absolute;inset:auto -60px -60px auto;width:240px;height:240px;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 60%);pointer-events:none}
.dashboard-hero-copy h3{font-size:34px;letter-spacing:-.03em;margin:12px 0 10px}.dashboard-hero-copy p{max-width:620px;color:#d7e3ff;line-height:1.7;margin:0 0 18px}
.dashboard-role-pill{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);color:#f5f8ff}
.dashboard-inline-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dashboard-inline-stat{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px)}.dashboard-inline-stat span{display:block;font-size:11px;color:#d3dff8;text-transform:uppercase;font-weight:700;letter-spacing:.05em}.dashboard-inline-stat strong{display:block;margin-top:6px;font-size:22px;color:#fff}
.dashboard-hero-side{display:flex;align-items:center;justify-content:flex-end}.phone-summary-card{width:min(100%,320px);padding:18px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(245,248,255,.88));color:#173153;box-shadow:0 24px 50px rgba(10,24,61,.18);border:1px solid rgba(255,255,255,.72)}.phone-summary-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#5b7290;font-weight:700}.phone-summary-top strong{color:#0f935e}.phone-summary-main{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.phone-summary-main small{display:block;color:#7188a2}.phone-summary-main b{display:block;font-size:22px;margin-top:5px;color:#162f52}.phone-summary-foot{padding:10px 12px;border-radius:16px;background:#eef3fb;color:#55718e;font-size:12px;text-align:center}
.dashboard-quick-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:18px}.quick-app-card{border:0;border-radius:24px;padding:16px 14px;background:linear-gradient(180deg,#ffffff,#f7faff);border:1px solid #e8edf7;box-shadow:0 16px 34px rgba(20,41,90,.07);display:grid;justify-items:start;gap:8px;text-align:left}.quick-app-card:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(20,41,90,.12)}.quick-app-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#eef3ff,#dfe8ff);color:#2449d3;font-size:22px}.quick-app-card strong{font-size:15px;color:#16304f}.quick-app-card small{color:#8090a5}
.cards.premium-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.premium-card,.premium-panel,.unit-card,.catalog-card,.panel,.card{border-color:#e7edf5;box-shadow:0 14px 34px rgba(20,41,90,.06)}.premium-card{border-radius:24px;padding:20px 20px 18px;background:linear-gradient(180deg,#ffffff,#fbfcff)}.metric-accent{width:46px;height:7px;border-radius:999px}.metric-value{font-size:31px;letter-spacing:-.02em}
.panel{border-radius:24px}.panel-head{margin-bottom:12px}.panel-chip{background:#edf3ff;border:1px solid #d7e4ff;color:#3156c9}
.table-wrap,.catalog-card,.unit-card,.gallery img,.gallery video,.modal,.login-card{box-shadow:0 16px 40px rgba(20,41,90,.07)}
.nx-hero-copy{padding-right:30px}.nx-hero-visual{background-position:72% center}.nx-hero-visual:before{background:linear-gradient(90deg,#f6fbfd 0%,rgba(246,251,253,.92) 26%,rgba(246,251,253,.18) 68%)}.nx-hero:after{background:linear-gradient(90deg,rgba(255,255,255,.42),rgba(255,255,255,.06) 58%,transparent 100%)}.nx-hero-visual-card{right:10%;top:24%;background:rgba(255,255,255,.88)}
.mobile-dock{display:none}
@media(max-width:1180px){.dashboard-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-hero{grid-template-columns:1fr}.dashboard-hero-side{justify-content:flex-start}.dashboard-inline-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cards.premium-metrics,.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:920px){.premium-app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-310px;width:290px;transition:.25s;z-index:60}.sidebar.open{left:0}.mobile-menu{display:grid}.content{padding:20px 18px 96px}.top-actions .role-chip{display:none}.grid-2,.grid-equal{grid-template-columns:1fr}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cards.premium-metrics,.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-dock{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:12px;right:12px;bottom:12px;z-index:45;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border:1px solid #e2e9f3;border-radius:24px;box-shadow:0 18px 40px rgba(17,33,67,.14);padding:8px}.mobile-dock-item{border:0;background:transparent;border-radius:18px;padding:8px 4px 7px;display:grid;justify-items:center;gap:4px;color:#65758f;font-weight:700;font-size:11px}.mobile-dock-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#eef3fb;color:#274bcf;font-size:18px}.mobile-dock-item.active{background:linear-gradient(180deg,#eef3ff,#ffffff);color:#173a8e}.mobile-dock-item.active .mobile-dock-icon{background:linear-gradient(135deg,#315efb,#6b8cff);color:#fff}.topbar{padding:0 16px;height:70px}.top-title h1{font-size:20px}.page-head h2{font-size:26px}}
@media(max-width:640px){.login-shell{grid-template-columns:1fr}.login-visual{display:none}.content{padding:18px 14px 96px}.page-head{flex-direction:column;align-items:flex-start}.dashboard-hero{padding:18px;border-radius:24px}.dashboard-hero-copy h3{font-size:28px}.dashboard-inline-stats{grid-template-columns:1fr 1fr;gap:10px}.dashboard-inline-stat strong{font-size:19px}.dashboard-quick-grid{gap:10px}.quick-app-card{padding:14px 12px;border-radius:20px}.cards.premium-metrics,.cards,.catalog-grid,.unit-grid{grid-template-columns:1fr}.top-actions .btn{display:none}.role-chip{display:none}.nx-hero-copy{padding-right:18px}.nx-hero-visual{background-position:74% center}}

/* v2.4.2 — katalog owner tetap menampilkan card yang tidak dipublikasi */
.catalog-card{position:relative}.catalog-card-status{position:absolute;top:12px;right:12px;z-index:3}.catalog-card-unpublished{opacity:.82;border-style:dashed}.catalog-card-unpublished .catalog-cover{filter:saturate(.55) brightness(.96)}


/* v2.4.3 — Maintenance Owner Actions */
.maintenance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,180px));gap:12px;margin-bottom:16px}.maintenance-summary>div{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #e5ecf5;border-radius:18px;padding:14px 16px;box-shadow:0 12px 26px rgba(20,41,90,.05)}.maintenance-summary span{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#72829a}.maintenance-summary strong{display:block;font-size:25px;margin-top:5px;color:#173153}.maintenance-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:230px}.maintenance-problem{max-width:360px;white-space:normal;line-height:1.45}.maintenance-table td{vertical-align:middle}@media(max-width:760px){.maintenance-summary{grid-template-columns:repeat(3,1fr)}.maintenance-actions{min-width:190px}.maintenance-summary>div{padding:12px}.maintenance-summary strong{font-size:21px}}


/* ==========================================================
   D&H PROPERTY MANAGER v2.5.0 — PREMIUM PWA EDITION
   Modern Executive / Android-inspired UI
   ========================================================== */
:root{--pwa-navy:#07182f;--pwa-navy2:#102a50;--pwa-cyan:#0da8bb;--pwa-blue:#2367e8;--pwa-glass:rgba(255,255,255,.78)}
html{background:#edf3f9;scroll-behavior:smooth}body{overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}
button,.btn,.nav-item,.quick-app-card,.mobile-dock-item{touch-action:manipulation}.btn:active,.quick-app-card:active,.mobile-dock-item:active,.nav-item:active{transform:scale(.975)}
.pwa-splash{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,rgba(13,168,187,.22),transparent 30%),linear-gradient(155deg,#07182f,#102a50);transition:.28s opacity,.28s visibility}.pwa-splash.done{opacity:0;visibility:hidden}.pwa-splash-card{display:grid;justify-items:center;color:#fff}.pwa-splash-card img{width:108px;height:108px;border-radius:30px;box-shadow:0 28px 70px rgba(0,0,0,.28)}.pwa-splash-card strong{font-size:24px;margin-top:18px;letter-spacing:-.02em}.pwa-splash-card span{margin-top:7px;color:#b9c9dc;font-size:13px}.pwa-splash-card i{width:52px;height:4px;border-radius:999px;margin-top:20px;background:linear-gradient(90deg,#11b8c9,#5e85ff);animation:pwaPulse 1s ease-in-out infinite alternate}@keyframes pwaPulse{from{opacity:.35;transform:scaleX(.45)}to{opacity:1;transform:scaleX(1)}}
.pwa-global-banner{position:fixed;z-index:980;left:50%;transform:translateX(-50%);bottom:max(16px,env(safe-area-inset-bottom));width:min(620px,calc(100% - 24px));padding:11px 13px 11px 16px;border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 18px 50px rgba(8,25,50,.22);backdrop-filter:blur(18px);font-size:13px;font-weight:700}.pwa-global-banner[hidden]{display:none}.pwa-global-banner.offline{background:rgba(54,42,12,.94);color:#ffe7a4;border:1px solid rgba(255,214,117,.24)}.pwa-global-banner.update{background:rgba(11,41,82,.96);color:#dfeaff;border:1px solid rgba(126,168,255,.24)}.pwa-global-banner button{border:0;border-radius:12px;padding:8px 11px;background:#fff;color:#153b7d;font-weight:800;white-space:nowrap}
.btn-install-app,.btn-pwa-install{background:linear-gradient(135deg,#0d9fb4,#2367e8);color:#fff;box-shadow:0 10px 26px rgba(20,104,210,.2)}.btn-pwa-install{margin-top:10px}
.premium-login-shell{background:radial-gradient(circle at 15% 12%,rgba(13,168,187,.22),transparent 28%),linear-gradient(145deg,#07182f,#12315c 52%,#0b1e3a)}.premium-login-shell .login-visual{background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.015));border-right:1px solid rgba(255,255,255,.08)}.premium-login-shell .login-panel{background:linear-gradient(180deg,#f8fbff,#edf3f9)}.premium-login-shell .login-card{border:1px solid rgba(255,255,255,.9);box-shadow:0 34px 90px rgba(9,25,55,.18);border-radius:32px}.premium-login-shell .field input{height:52px;border-radius:15px;background:#f9fbfe}.premium-login-shell .btn-block{min-height:50px;border-radius:15px}
.offline-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 18% 8%,rgba(13,168,187,.22),transparent 30%),linear-gradient(155deg,#07182f,#102a50)}.offline-shell-card{width:min(430px,100%);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:30px;padding:28px;color:#fff;box-shadow:0 30px 90px rgba(0,0,0,.25);backdrop-filter:blur(18px)}.offline-shell-card img{width:84px;height:84px;border-radius:24px}.offline-shell-card h1{font-size:29px;margin:15px 0 8px}.offline-shell-card p{color:#c8d6e8;line-height:1.65}.offline-shell-pill{display:inline-flex;margin-left:10px;vertical-align:top;padding:6px 9px;background:rgba(255,191,49,.15);color:#ffd776;border-radius:999px;font-size:11px;font-weight:800}
.page-skeleton{padding:4px}.skeleton-line,.skeleton-card{position:relative;overflow:hidden;background:#e4ebf3;border-radius:14px}.skeleton-line:after,.skeleton-card:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);animation:skeletonMove 1.25s infinite}@keyframes skeletonMove{100%{transform:translateX(100%)}}.skeleton-line{height:22px;margin-bottom:10px}.skeleton-line.wide{width:260px}.skeleton-line.medium{width:420px;max-width:70%;height:14px}.skeleton-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}.skeleton-card{height:145px}
.offline-panel{max-width:520px;margin:50px auto;text-align:center;padding:34px}.offline-panel-icon{width:64px;height:64px;margin:0 auto 14px;display:grid;place-items:center;border-radius:22px;background:#fff4df;color:#a96a05;font-size:34px}.offline-panel p{color:var(--muted);line-height:1.6}
.pwa-settings-panel{background:linear-gradient(135deg,#f9fcff,#eef5ff)}.pwa-settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pwa-settings-grid>div{padding:15px;border-radius:16px;background:#fff;border:1px solid #e5edf8}.pwa-settings-grid small{display:block;color:#718199}.pwa-settings-grid strong{display:block;margin-top:5px;color:#17365f}
/* premium app surfaces */
.content{background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0));border-radius:30px 0 0 0}.panel,.card,.catalog-card,.unit-card,.table-wrap{transition:box-shadow .2s ease,transform .2s ease}.panel:hover,.card:hover{box-shadow:0 18px 42px rgba(18,42,78,.08)}.table th{position:sticky;top:0;z-index:1;background:#f7faff}.table tbody tr:hover td{background:#fbfdff}.field input,.field select,.field textarea{min-height:46px;border-radius:14px;background:#fbfdff}.field textarea{min-height:100px}.btn{min-height:42px;border-radius:14px}.modal{border-radius:28px}.modal-head{position:sticky;top:0;z-index:3;background:rgba(255,255,255,.95);backdrop-filter:blur(16px)}
/* standalone PWA safe areas */
@media(display-mode:standalone){.topbar{padding-top:env(safe-area-inset-top);height:calc(76px + env(safe-area-inset-top))}.sidebar{padding-top:calc(18px + env(safe-area-inset-top))}.mobile-dock{bottom:max(10px,env(safe-area-inset-bottom));}.content{padding-bottom:calc(102px + env(safe-area-inset-bottom))}}
@media(max-width:920px){.premium-topbar{background:rgba(248,251,255,.9);backdrop-filter:blur(22px);box-shadow:0 8px 32px rgba(18,42,78,.06)}.content{padding-left:14px;padding-right:14px}.dashboard-hero{border-radius:24px}.mobile-dock{border-radius:26px;box-shadow:0 20px 52px rgba(12,31,64,.18)}.mobile-dock-item{min-height:58px}.mobile-dock-icon{border-radius:14px}.modal-backdrop{align-items:end;padding:0}.modal{width:100%;max-height:94dvh;border-radius:28px 28px 0 0;padding-bottom:env(safe-area-inset-bottom)}.modal-head:before{content:"";position:absolute;top:7px;left:50%;transform:translateX(-50%);width:42px;height:4px;border-radius:999px;background:#d7dee9}.modal-head{padding-top:20px}.pwa-global-banner{bottom:calc(92px + env(safe-area-inset-bottom))}}
@media(max-width:640px){.premium-login-shell{display:block;min-height:100dvh}.premium-login-shell .login-panel{min-height:100dvh;padding:18px 14px;display:grid;place-items:center;background:radial-gradient(circle at 50% 0%,rgba(47,112,229,.14),transparent 38%),linear-gradient(180deg,#f5f9ff,#ecf2f8)}.premium-login-shell .login-card{padding:26px 20px;border-radius:28px}.premium-login-shell .login-card:before{content:"D&H";display:grid;place-items:center;width:64px;height:64px;border-radius:20px;margin:-2px auto 18px;background:linear-gradient(135deg,#0b2750,#0db0be);color:#fff;font-size:19px;font-weight:900;box-shadow:0 14px 36px rgba(24,74,152,.2)}.premium-login-shell .login-card h2{text-align:center}.premium-login-shell .login-card>p{text-align:center}.pwa-settings-grid{grid-template-columns:1fr}.skeleton-grid{grid-template-columns:1fr 1fr}.skeleton-card{height:110px}.dashboard-hero-copy h3{font-size:27px}.page-head h2{font-size:25px}.top-title h1{font-size:19px}.top-title small{font-size:11px}.btn-install-app{display:none!important}}
@media(max-width:420px){.skeleton-grid{grid-template-columns:1fr}.dashboard-inline-stats{grid-template-columns:1fr 1fr}.quick-app-card{min-height:112px}.mobile-dock{left:8px;right:8px;bottom:8px}.mobile-dock-item{font-size:10px}.pwa-global-banner{font-size:12px}}


/* ==========================================================
   D&H Property Manager v2.5.1 — Mobile Sidebar Gesture UX
   Off-canvas + backdrop + outside dismiss + swipe to close
   ========================================================== */
.sidebar-backdrop{display:none}
body.sidebar-open{overflow:hidden;touch-action:none}
@media(max-width:920px){
  .sidebar{left:-310px;transform:translateX(0);will-change:left,transform;transition:left .25s cubic-bezier(.22,.8,.28,1),transform .12s linear;box-shadow:none}
  .sidebar.open{left:0;box-shadow:24px 0 70px rgba(5,16,38,.30)}
  .sidebar-backdrop{display:block;position:fixed;inset:0;z-index:55;border:0;padding:0;margin:0;background:rgba(7,17,34,.44);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
  .sidebar-backdrop.active{opacity:1;visibility:visible;pointer-events:auto}
  .sidebar{z-index:60;overscroll-behavior:contain;touch-action:pan-y}
}
@media(min-width:921px){
  .sidebar{transform:none!important}
  .sidebar-backdrop{display:none!important}
  body.sidebar-open{overflow:auto;touch-action:auto}
}

.login-catalog-btn{border:1px solid #e2e8f4;background:linear-gradient(180deg,#fff,#f7f9fd);color:#34415d}.login-catalog-btn:hover{background:#f1f5fb}

/* =========================================================
   v2.6.1 — Payroll / Employee / PDF Fix
   ========================================================= */
.payroll-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:10px;margin:0 0 16px;padding:16px 18px;border:1px solid #dfe8f5;border-radius:22px;background:linear-gradient(135deg,#f8fbff,#ffffff);box-shadow:0 12px 30px rgba(20,41,90,.05)}
.payroll-flow>div{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;min-width:0}.payroll-flow>div>span{grid-row:1/3;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#315efb;color:#fff;font-weight:900}.payroll-flow strong{font-size:13px;color:#172846}.payroll-flow small{font-size:11px;color:var(--muted);margin-top:2px}.payroll-flow>b{color:#a8b5c8}.payroll-metrics{margin-bottom:16px}.payroll-money{font-size:22px!important;line-height:1.15}.payroll-guide{background:linear-gradient(135deg,#fff,#f8fbff)}
.form-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:4px 0 14px;padding:12px 14px;border-radius:14px;background:#f5f8fd;border:1px solid #e7edf6}.form-section-title strong{font-size:14px;color:#193154}.form-section-title span{font-size:11px;color:var(--muted)}
.salary-preview{display:grid;gap:4px;margin:14px 0 18px;padding:16px 18px;border-radius:18px;background:linear-gradient(135deg,#eef4ff,#f9fbff);border:1px solid #d8e4ff}.salary-preview span{font-size:11px;font-weight:800;color:#56709b;text-transform:uppercase;letter-spacing:.05em}.salary-preview strong{font-size:25px;color:#183c91}.salary-preview small{color:var(--muted)}
.payroll-step-head{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;margin:2px 0 14px;padding:12px 14px;border-radius:15px;background:#f7f9fd;border:1px solid #e8edf5}.payroll-step-head>span{grid-row:1/3;display:inline-flex;align-items:center;justify-content:center;padding:7px 9px;border-radius:10px;background:#e9efff;color:#3156c9;font-size:10px;font-weight:900;letter-spacing:.05em}.payroll-step-head strong{font-size:14px;color:#1c2e4d}.payroll-step-head small{font-size:11px;color:var(--muted);margin-top:2px}
.payroll-auto-preview{margin:14px 0 18px}.payroll-loading{padding:18px;border-radius:16px;background:#f7f9fd;border:1px dashed #cfd8e7;color:#65758f;text-align:center;font-size:13px}.payroll-auto-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.payroll-auto-grid>div{padding:14px;border-radius:16px;background:#fff;border:1px solid #e7edf5}.payroll-auto-grid span{display:block;font-size:11px;color:var(--muted);font-weight:700}.payroll-auto-grid strong{display:block;margin-top:5px;font-size:17px;color:#18324d}.payroll-auto-grid small{display:block;margin-top:4px;color:#7b8799;font-size:10px}.payroll-bonus-detail{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px;padding:11px 12px;background:#f8fbff;border-radius:13px;border:1px solid #e5edf8;font-size:11px}.payroll-bonus-detail>strong{margin-right:2px}.payroll-bonus-detail>span{padding:6px 8px;border-radius:9px;background:#fff;border:1px solid #e2e9f3}.payroll-final-calc{margin-top:16px;padding:16px 18px;border-radius:18px;background:#fbfcff;border:1px solid #dfe7f3}.payroll-calc-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:13px;color:#41516b;border-bottom:1px dashed #e4e9f1}.payroll-calc-row strong{color:#18324d}.payroll-calc-row.deduction strong{color:#b44a4a}.payroll-net{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;padding-top:14px}.payroll-net span{font-size:11px;font-weight:900;color:#58709a;letter-spacing:.06em}.payroll-net strong{font-size:28px;color:#14604a}.payroll-table small{color:var(--muted)}.text-warning{color:#a96a05}
@media(max-width:920px){.payroll-flow{grid-template-columns:1fr 1fr;gap:8px}.payroll-flow>b{display:none}.payroll-auto-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){.payroll-flow{grid-template-columns:1fr}.payroll-auto-grid{grid-template-columns:1fr}.payroll-metrics{grid-template-columns:1fr!important}.form-section-title{align-items:flex-start;flex-direction:column}.payroll-net{align-items:flex-start;flex-direction:column}.payroll-net strong{font-size:25px}}

/* v2.6.1 employee/payroll usability */
.payroll-table .btn-sm{white-space:nowrap}
.table td:last-child .btn{margin:2px}

/* =========================================================
   v2.7.0 — MODERN PROPERTY COMMAND CENTER
   Modern gradient area chart, radial occupancy, stacked status,
   rounded performance bars, KPI sparklines and responsive cards.
   ========================================================= */
.command-welcome{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 24px;margin-bottom:18px;border-radius:26px;background:linear-gradient(135deg,#0c2244 0%,#153a6a 55%,#0c869a 100%);color:#fff;box-shadow:0 22px 55px rgba(14,42,82,.16);position:relative;overflow:hidden}
.command-welcome:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-80px;top:-130px;background:radial-gradient(circle,rgba(255,255,255,.18),rgba(255,255,255,0) 70%)}
.command-welcome h2{margin:8px 0 6px;font-size:28px;letter-spacing:-.03em}.command-welcome p{margin:0;color:#d5e6f8;max-width:720px;line-height:1.55}.command-status{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#c9f8e3}.command-status i{width:8px;height:8px;border-radius:50%;background:#3ee09d;box-shadow:0 0 0 5px rgba(62,224,157,.12)}
.command-period{min-width:180px;padding:14px 16px;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:rgba(255,255,255,.09);backdrop-filter:blur(12px);display:grid;gap:3px;position:relative;z-index:2}.command-period small{font-size:10px;letter-spacing:.12em;color:#bcd1e8;font-weight:800}.command-period strong{font-size:18px}.command-period span{font-size:12px;color:#d5e6f8}
.command-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.command-kpi-card{position:relative;min-height:168px;padding:18px 18px 16px;border-radius:24px;background:linear-gradient(180deg,#fff,#f9fbff);border:1px solid #e7edf5;box-shadow:0 16px 38px rgba(21,48,89,.065);overflow:hidden}.command-kpi-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,#315efb,#1bb8c8)}.command-kpi-card.net_profit:before{background:linear-gradient(90deg,#16a46f,#62d9a3)}.command-kpi-card.overdue_invoices:before{background:linear-gradient(90deg,#ec5c67,#ff9c72)}.command-kpi-card.expenses_month:before{background:linear-gradient(90deg,#f08b53,#f4bd5f)}
.command-kpi-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.command-kpi-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:#edf4ff;color:#2558c7;font-weight:900;font-size:18px}.metric-trend{font-size:11px;font-weight:800;padding:6px 8px;border-radius:999px;background:#f2f5f9;color:#71839a}.metric-trend.up{background:#eaf9f2;color:#13825a}.metric-trend.down{background:#fff0f1;color:#c84c58}.command-kpi-label{font-size:12px;color:#71839a;font-weight:700}.command-kpi-value{font-size:29px;line-height:1.1;font-weight:900;color:#122b4a;letter-spacing:-.035em;margin:6px 0 7px}.command-kpi-foot{font-size:10px;color:#99a7b9;margin-top:3px}.metric-sparkline{width:100%;height:34px;display:block}.metric-sparkline polyline{stroke:#2f70e5;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.metric-sparkline.success polyline{stroke:#20a56f}.metric-sparkline.danger polyline{stroke:#ef765b}
.command-primary-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:16px;margin-bottom:16px}.command-secondary-grid{display:grid;grid-template-columns:1.2fr .95fr .82fr;gap:16px;margin-bottom:16px}.command-ops-grid{display:grid;grid-template-columns:.8fr .9fr 1.1fr;gap:16px}.command-panel{background:#fff;border:1px solid #e6edf5;border-radius:26px;padding:20px;box-shadow:0 16px 38px rgba(20,48,90,.06);min-width:0}.command-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:15px}.command-panel-head h3{margin:3px 0 3px;font-size:17px;letter-spacing:-.015em;color:#17304e}.command-panel-head p{margin:0;font-size:12px;color:#8190a3}.eyebrow{font-size:9px;letter-spacing:.14em;font-weight:900;color:#6682a4}.text-action{border:0;background:transparent;color:#315efb;font-size:11px;font-weight:800;padding:5px;white-space:nowrap;cursor:pointer}.chart-legend{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:10px;color:#73839a;font-weight:700}.chart-legend span{display:flex;align-items:center;gap:5px}.chart-legend i{width:8px;height:8px;border-radius:50%}.chart-legend i.revenue{background:#2f70e5}.chart-legend i.expense{background:#f07b63}
.modern-chart-wrap{width:100%;overflow:hidden}.modern-area-chart{width:100%;height:auto;min-height:230px;display:block}.chart-grid line{stroke:#eaf0f6;stroke-width:1}.chart-line{fill:none;stroke-width:4;stroke-linecap:round;filter:url(#dhGlow)}.chart-line.revenue{stroke:#2f70e5}.chart-line.expense{stroke:#f07b63;stroke-width:3}.chart-dot{stroke:#fff;stroke-width:2}.chart-dot.revenue{fill:#2f70e5}.chart-dot.expense{fill:#f07b63}.chart-labels text{fill:#8190a3;font-size:11px;font-weight:700}.cashflow-bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-top:8px}.cashflow-bottom div{padding:10px 12px;border-radius:15px;background:#f6f9fd}.cashflow-bottom span{font-size:10px;color:#7a8ba1;display:block}.cashflow-bottom strong{font-size:14px;color:#1b3452;display:block;margin-top:3px}.cashflow-bottom .net{background:#eef8f4}.cashflow-bottom .net strong{color:#16835c}
.occupancy-command-panel{display:flex;flex-direction:column}.occupancy-command-body{display:grid;place-items:center;gap:18px;flex:1}.occupancy-ring{--occupancy:0deg;width:154px;height:154px;border-radius:50%;background:conic-gradient(#2f70e5 0 var(--occupancy),#e9eef5 var(--occupancy) 360deg);position:relative;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(47,112,229,.04)}.occupancy-ring:before{content:"";position:absolute;inset:12px;border-radius:50%;background:#fff;box-shadow:0 8px 28px rgba(18,48,88,.08)}.occupancy-ring-inner{position:relative;z-index:2;text-align:center}.occupancy-ring-inner strong{display:block;font-size:30px;line-height:1;font-weight:900;color:#153154}.occupancy-ring-inner span{font-size:11px;color:#7d8fa7;font-weight:700}.occupancy-breakdown{width:100%;display:grid;gap:9px}.occupancy-breakdown>div{display:flex;align-items:center;justify-content:space-between;font-size:12px}.occupancy-breakdown span{display:flex;align-items:center;gap:8px;color:#687b94}.occupancy-breakdown i{width:9px;height:9px;border-radius:50%}.occupancy-breakdown i.occupied{background:#2f70e5}.occupancy-breakdown i.available{background:#25b887}.occupancy-breakdown i.booked{background:#f0b24f}.occupancy-breakdown i.maintenance{background:#ec6572}.occupancy-breakdown strong{color:#17314f}
.property-performance-list{display:grid;gap:14px}.property-performance-row{display:grid;gap:7px}.property-performance-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.property-performance-head>div{display:flex;align-items:center;gap:8px;min-width:0}.property-performance-head strong{font-size:12px;color:#203955;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-performance-head b{font-size:11px;color:#4c6684}.property-rank{font-size:9px;color:#8fa0b4;font-weight:900}.property-bar{height:8px;border-radius:999px;background:#edf2f7;overflow:hidden}.property-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#315efb,#23b6c8);box-shadow:0 2px 8px rgba(49,94,251,.22)}.property-performance-meta{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#8998aa}
.billing-modern{display:grid;gap:16px}.billing-stack{height:16px;border-radius:999px;overflow:hidden;background:#eef2f6;display:flex;box-shadow:inset 0 1px 2px rgba(20,45,80,.05)}.billing-stack span{height:100%}.billing-stack .paid{background:#25b887}.billing-stack .due{background:#f0b24f}.billing-stack .late{background:#ec6572}.billing-legend{display:grid;gap:8px}.billing-legend>div{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;font-size:11px}.billing-legend i{width:8px;height:8px;border-radius:50%}.billing-legend i.paid{background:#25b887}.billing-legend i.due{background:#f0b24f}.billing-legend i.late{background:#ec6572}.billing-legend span{color:#72839a}.billing-legend strong{color:#1d3653}.attention-strip{margin-top:15px;padding:10px 12px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px}.attention-strip.danger{background:#fff0f1;color:#b64450}.attention-strip.safe{background:#eaf9f2;color:#147c59}.attention-strip strong{font-size:11px}
.payroll-command-card{background:linear-gradient(180deg,#f9fbff,#fff)}.payroll-progress{display:flex;align-items:center;gap:14px;margin:4px 0 16px}.payroll-ring-mini{--payroll:0deg;width:70px;height:70px;border-radius:50%;background:conic-gradient(#315efb 0 var(--payroll),#e9eef5 var(--payroll) 360deg);position:relative;display:grid;place-items:center}.payroll-ring-mini:before{content:"";position:absolute;inset:8px;border-radius:50%;background:#fff}.payroll-ring-mini span{position:relative;z-index:1;font-size:13px;font-weight:900;color:#244d9a}.payroll-progress>div:last-child{display:grid;gap:2px}.payroll-progress strong{font-size:14px;color:#1d3553}.payroll-progress span{font-size:10px;color:#8292a7}.payroll-command-values{display:grid;grid-template-columns:1fr 1fr;gap:8px}.payroll-command-values div{padding:10px;border-radius:14px;background:#f2f6fb}.payroll-command-values span{display:block;font-size:9px;color:#8292a7}.payroll-command-values b{display:block;font-size:12px;color:#1d3553;margin-top:2px}
.maintenance-command-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.maintenance-command-stats>div{padding:12px 10px;border-radius:16px;background:#f4f7fb;text-align:center}.maintenance-command-stats span{font-size:9px;color:#8090a4;display:block}.maintenance-command-stats strong{font-size:21px;display:block;margin-top:3px;color:#1e3855}.maintenance-command-stats .open{background:#fff2ec}.maintenance-command-stats .open strong{color:#d76b41}.maintenance-command-stats .progress{background:#eef4ff}.maintenance-command-stats .progress strong{color:#315efb}.maintenance-command-stats .done{background:#eaf9f2}.maintenance-command-stats .done strong{color:#16835c}
.command-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.command-quick-actions button{border:1px solid #e7edf5;background:#f8faff;border-radius:15px;padding:10px 8px;display:grid;justify-items:center;gap:5px;cursor:pointer;color:#55708f}.command-quick-actions button:hover{background:#eef4ff;border-color:#dbe6f5}.command-quick-actions button span{width:28px;height:28px;border-radius:10px;background:#e9f0ff;color:#315efb;display:grid;place-items:center;font-weight:900}.command-quick-actions button strong{font-size:9px}
.command-activity-list{display:grid;gap:8px}.command-activity-list>div{display:grid;grid-template-columns:10px 1fr;gap:8px;align-items:flex-start}.activity-pulse{width:8px;height:8px;border-radius:50%;margin-top:5px;background:#2f70e5;box-shadow:0 0 0 4px #edf3ff}.command-activity-list p{margin:0;padding-bottom:8px;border-bottom:1px solid #edf1f6;min-width:0}.command-activity-list strong{font-size:10px;color:#27415e;text-transform:capitalize;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-activity-list small{font-size:9px;color:#8998aa;display:block;margin-top:2px}.chart-empty{display:grid;place-items:center;min-height:130px;border-radius:18px;background:#f7f9fc;color:#8998aa;font-size:12px;text-align:center;padding:20px}
.unit-mix{display:grid;gap:16px}.unit-mix-bar{height:18px;border-radius:999px;overflow:hidden;background:#edf2f6;display:flex}.unit-mix-bar span{height:100%}.mix-occupied{background:#2f70e5}.mix-available{background:#25b887}.mix-booked{background:#f0b24f}.mix-maintenance{background:#ec6572}.unit-mix-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.unit-mix-list>div{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:7px;padding:10px;border-radius:14px;background:#f7f9fc;font-size:10px;color:#6f8299}.unit-mix-list i{width:8px;height:8px;border-radius:50%}.unit-mix-list strong{color:#1c3653}.front-office-visual{display:grid;gap:18px}.fo-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.fo-stat-grid>div{padding:12px;border-radius:16px;background:#f6f9fd}.fo-stat-grid span{display:block;font-size:9px;color:#8293a8}.fo-stat-grid strong{display:block;font-size:20px;margin-top:3px;color:#203a58}

@media(max-width:1240px){.command-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.command-secondary-grid{grid-template-columns:1fr 1fr}.command-secondary-grid>.payroll-command-card{grid-column:1/-1}.command-ops-grid{grid-template-columns:1fr 1fr}.activity-command-panel{grid-column:1/-1}}
@media(max-width:920px){.command-welcome{padding:18px;border-radius:22px}.command-primary-grid,.command-secondary-grid,.command-ops-grid{grid-template-columns:1fr}.command-secondary-grid>.payroll-command-card,.activity-command-panel{grid-column:auto}.command-chart-panel{overflow:hidden}.modern-area-chart{min-width:600px}.modern-chart-wrap{overflow-x:auto;padding-bottom:4px}.command-kpi-card{min-height:154px}.command-kpi-value{font-size:26px}}
@media(max-width:640px){.command-welcome{display:grid;gap:15px}.command-welcome h2{font-size:24px}.command-period{width:100%;min-width:0}.command-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.command-kpi-card{padding:14px;border-radius:20px;min-height:150px}.command-kpi-value{font-size:22px}.command-kpi-icon{width:34px;height:34px;border-radius:11px}.metric-sparkline{height:30px}.command-panel{padding:16px;border-radius:22px}.command-panel-head{display:grid}.chart-legend{margin-top:2px}.occupancy-ring{width:140px;height:140px}.cashflow-bottom{grid-template-columns:1fr}.command-quick-actions{grid-template-columns:repeat(3,1fr)}.maintenance-command-stats{gap:6px}.maintenance-command-stats>div{padding:10px 6px}.payroll-command-values{grid-template-columns:1fr}.fo-stat-grid{grid-template-columns:1fr 1fr}.modern-area-chart{min-width:540px}}
@media(max-width:390px){.command-kpi-grid{grid-template-columns:1fr}.command-kpi-card{min-height:142px}.unit-mix-list{grid-template-columns:1fr}.command-quick-actions{grid-template-columns:repeat(2,1fr)}}

/* =========================================================
   v2.7.2 — VIP DAILY + OWNER CONTROL + DOCUMENT ASSET FIX
   ========================================================= */
.property-directory{display:grid;gap:16px}.property-unit-section{background:#fff;border:1px solid #e7edf5;border-radius:22px;overflow:hidden;box-shadow:0 14px 34px rgba(20,41,90,.055)}.property-unit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px 16px}.property-unit-title h3{margin:3px 0 5px;font-size:18px;color:#132f4c}.property-unit-title p{margin:0;color:#7d8da0;font-size:12px}.property-unit-summary{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap}.unit-summary-item{display:grid;grid-template-columns:8px auto;column-gap:7px;row-gap:0;align-items:center;color:#8391a4;font-size:10px;font-weight:700}.unit-summary-item i{width:8px;height:8px;border-radius:50%;background:#94a3b8;grid-row:1/3}.unit-summary-item b{font-size:15px;line-height:1;color:#203955}.unit-summary-item.status-occupied i{background:#16a36a}.unit-summary-item.status-available i{background:#2f70e5}.unit-summary-item.status-booked i{background:#f59e0b}.unit-summary-item.status-maintenance i{background:#ef5a5a}.property-occupancy-track{height:3px;background:#edf2f7}.property-occupancy-track span{display:block;height:100%;background:linear-gradient(90deg,#2f70e5,#20b6c7);border-radius:999px}.unit-list-head,.unit-list-row{display:grid;grid-template-columns:minmax(110px,.72fr) minmax(220px,1.8fr) minmax(125px,.7fr);align-items:center;gap:16px}.unit-list-head{padding:10px 22px;background:#f8fafc;border-top:1px solid #edf1f6;border-bottom:1px solid #edf1f6;color:#93a0b1;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.unit-list-modern{display:block}.unit-list-row{min-height:58px;padding:10px 22px;border-bottom:1px solid #eef2f6;transition:background .16s ease}.unit-list-row:last-child{border-bottom:0}.unit-list-row:hover{background:#fbfdff}.unit-code-cell{display:flex;align-items:center;gap:10px}.unit-code-cell strong{font-size:13px;color:#173854;letter-spacing:.01em}.unit-status-dot{width:9px;height:9px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 4px rgba(148,163,184,.12)}.unit-status-dot.dot-occupied{background:#16a36a;box-shadow:0 0 0 4px rgba(22,163,106,.1)}.unit-status-dot.dot-available{background:#2f70e5;box-shadow:0 0 0 4px rgba(47,112,229,.1)}.unit-status-dot.dot-booked{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.1)}.unit-status-dot.dot-maintenance{background:#ef5a5a;box-shadow:0 0 0 4px rgba(239,90,90,.1)}.unit-info-cell{display:flex;flex-direction:column;min-width:0}.unit-info-cell strong{font-size:12px;color:#263f59;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unit-info-cell small{margin-top:3px;color:#8896a8;font-size:10px}.unit-state-cell{display:flex;justify-content:flex-start}.document-assets-panel{overflow:hidden}.document-assets-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.document-asset-item{display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;align-items:center;padding:16px;border:1px solid #e8eef5;border-radius:18px;background:#fbfdff}.document-asset-preview{height:104px;border-radius:14px;border:1px dashed #cfdae6;background:#fff;display:grid;place-items:center;padding:12px;overflow:hidden}.document-asset-preview img{max-width:100%;max-height:100%;object-fit:contain}.document-asset-preview.signature-preview img{max-height:72px}.asset-placeholder{width:58px;height:58px;border-radius:16px;background:#eef4ff;display:grid;place-items:center;color:#58749b;font-size:10px;font-weight:900;letter-spacing:.08em}.document-asset-body{display:grid;gap:9px}.document-asset-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.document-asset-title strong{font-size:13px;color:#183754}.document-asset-body p{margin:0;color:#8090a4;font-size:10px;line-height:1.45}.document-asset-body input[type=file]{width:100%;font-size:10px;padding:8px;background:#fff;border:1px solid #dde6ef;border-radius:11px}.document-asset-body .btn{min-height:38px;padding:8px 12px;font-size:11px}
@media(max-width:900px){.property-unit-head{display:grid}.property-unit-summary{justify-content:flex-start}.document-assets-grid{grid-template-columns:1fr}}
@media(max-width:640px){.property-unit-section{border-radius:18px}.property-unit-head{padding:16px}.property-unit-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:10px}.unit-list-head{display:none}.unit-list-row{grid-template-columns:92px minmax(0,1fr) auto;gap:10px;padding:12px 16px}.unit-code-cell strong{font-size:11px}.unit-info-cell strong{font-size:11px}.unit-state-cell .badge{font-size:8px;padding:5px 7px}.document-asset-item{grid-template-columns:1fr}.document-asset-preview{height:112px}.document-asset-title{align-items:flex-start}.document-asset-body .btn{width:100%}}

/* v2.7.3 - VIP flexible billing */
.nx-billing-choice{margin-top:12px;align-items:stretch}.nx-billing-hint{border:1px solid #d8e8ef;background:#f7fbfd;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;justify-content:center;gap:2px}.nx-billing-hint strong{font-size:11px;color:#0c5d87}.nx-billing-hint span{font-size:10.5px;line-height:1.4;color:#607787}


/* ==========================================================
   D&H PROPERTY MANAGER v2.8.0 — PUBLIC CATALOG PREMIUM
   Premium marketplace-style public catalog
   ========================================================== */
:root{
  --cat-navy:#071f46;
  --cat-blue:#0c62b8;
  --cat-cyan:#02a9c7;
  --cat-ink:#0b2545;
  --cat-muted:#667a93;
  --cat-soft:#f4f8fc;
  --cat-line:#dde8f3;
  --cat-green:#13a268;
}
.nx-public-premium{background:linear-gradient(180deg,#f7fbff,#f4f8fc 68%,#eef5fb);color:var(--cat-ink)}
.nx-header-premium{
  height:72px;
  padding:0 clamp(18px,5vw,82px);
  background:rgba(255,255,255,.93);
  border-bottom:1px solid rgba(18,70,123,.08);
  box-shadow:0 10px 34px rgba(19,52,91,.06);
  backdrop-filter:blur(20px);
}
.nx-header-premium .nx-brand-logo-img{width:58px;height:40px;flex-basis:58px}
.nx-header-premium .nx-brand-word{font-size:18px;color:#082b5c}
.nx-header-premium .nx-brand-copy>small{font-size:8.5px;color:#7387a0}
.nx-header-premium .nx-nav{margin:0 auto;gap:36px}
.nx-header-premium .nx-nav a{font-size:13px;color:#173b67;padding:27px 0}
.nx-header-premium .nx-nav a.active{color:#075eae}
.nx-public-login{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 17px;
  border:1px solid #dce7f1;
  border-radius:12px;
  background:#fff;
  color:#173b67;
  font-size:12px;
  font-weight:800;
  box-shadow:0 8px 18px rgba(26,72,118,.05);
}
.nx-public-apply{
  min-height:42px;
  padding:0 18px;
  border:0;
  border-radius:12px;
  background:linear-gradient(135deg,#075eae,#02aac6);
  color:#fff;
  font-weight:850;
  font-size:12px;
  box-shadow:0 12px 24px rgba(4,111,175,.22);
  display:flex;
  align-items:center;
  gap:8px;
}
.nx-public-apply:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(4,111,175,.28)}

.nx-hero-premium{
  min-height:430px;
  display:block;
  position:relative;
  overflow:hidden;
  border-bottom:0;
  background:#dfeaf2;
}
.nx-hero-premium:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,251,242,.97) 0%,rgba(255,251,242,.92) 29%,rgba(255,255,255,.34) 58%,rgba(7,29,54,.05) 100%),
    linear-gradient(180deg,rgba(255,255,255,.02),rgba(5,41,77,.06));
  pointer-events:none;
  z-index:1;
}
.nx-hero-premium .nx-hero-bg{
  --nx-hero-image:url('/static/media/public-catalog-bg.jpg');
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:0;
  background-image:var(--nx-hero-image);
  background-size:cover;
  background-position:center 53%;
}
.nx-hero-premium .nx-hero-bg:before{display:none}
.nx-hero-premium .nx-hero-custom-video{z-index:0}
.nx-hero-premium .nx-hero-copy{
  width:min(1500px,100%);
  margin:0 auto;
  padding:68px clamp(24px,6vw,96px) 54px;
  min-height:430px;
  position:relative;
  z-index:3;
  justify-content:center;
}
.nx-hero-premium .nx-kicker{
  color:#59758e;
  font-size:11px;
  letter-spacing:.28em;
  font-weight:850;
  margin-bottom:12px;
}
.nx-hero-premium h1{
  max-width:650px;
  color:#06275a;
  font-size:clamp(44px,4.4vw,68px);
  line-height:.98;
  letter-spacing:-.05em;
  text-wrap:balance;
}
.nx-hero-premium p{
  max-width:560px;
  color:#2f5875;
  font-size:16px;
  line-height:1.55;
  margin:18px 0 24px;
}
.nx-hero-values{
  display:flex;
  flex-wrap:wrap;
  gap:26px;
  max-width:700px;
}
.nx-hero-values>div{
  display:grid;
  grid-template-columns:34px auto;
  grid-template-rows:auto auto;
  column-gap:9px;
  align-items:center;
}
.nx-hero-values>div>span{
  grid-row:1/3;
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:11px;
  color:#0871bb;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(15,101,167,.14);
  backdrop-filter:blur(10px);
  font-size:18px;
}
.nx-hero-values strong{font-size:11px;color:#123d68}
.nx-hero-values small{font-size:9.5px;color:#627c93;margin-top:2px}
.nx-hero-premium .nx-hero-visual-card{
  right:4.4%;
  top:24%;
  padding:23px 24px;
  border-radius:22px;
  background:rgba(31,60,54,.22);
  color:#fff;
  border:1px solid rgba(255,255,255,.38);
  box-shadow:0 22px 48px rgba(9,40,70,.18);
  transform:none;
  backdrop-filter:blur(12px);
  z-index:4;
}
.nx-hero-premium .nx-hero-tag{
  color:#fff;
  font-size:21px;
  font-family:Georgia,serif;
  font-style:italic;
}
.nx-hero-premium .nx-hero-tag strong{color:#fff;font-size:27px;font-weight:500}
.nx-hero-premium .nx-hero-tag small{display:block;margin-top:18px;font-family:Inter,"Segoe UI",sans-serif;font-size:10px;font-style:normal;letter-spacing:.08em;color:rgba(255,255,255,.86)}

.nx-catalog-premium{
  max-width:1540px;
  padding:0 clamp(18px,3.4vw,52px) 48px;
  margin-top:-31px;
  position:relative;
  z-index:6;
}
.nx-premium-filterbar{
  min-height:74px;
  display:grid;
  grid-template-columns:minmax(250px,1.25fr) auto auto;
  align-items:center;
  gap:16px;
  padding:12px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(208,224,239,.92);
  box-shadow:0 22px 50px rgba(25,69,110,.11);
  backdrop-filter:blur(18px);
}
.nx-filter-search{
  min-width:0;
  height:48px;
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto;
  align-items:center;
  gap:4px;
  padding:4px 5px 4px 13px;
  border:1px solid #dae6f0;
  background:#f8fbfe;
  border-radius:14px;
}
.nx-filter-search>span{color:#315a83;font-size:20px}
.nx-filter-search input{min-width:0;border:0;outline:0;background:transparent;color:#173b67;font-size:12px}
.nx-filter-search input::placeholder{color:#8fa0b0}
.nx-filter-search button{
  height:38px;
  min-width:66px;
  border:0;
  border-radius:10px;
  background:linear-gradient(135deg,#0b68b8,#0ea9c5);
  color:#fff;
  font-size:11px;
  font-weight:850;
}
.nx-category-filters{display:flex;gap:7px;align-items:center;min-width:0}
.nx-filter-chip{
  min-height:39px;
  padding:0 13px;
  border:1px solid #dce8f2;
  border-radius:999px;
  background:#fff;
  color:#244667;
  font-size:10.5px;
  font-weight:800;
  white-space:nowrap;
}
.nx-filter-chip:hover{border-color:#b8d4e8;background:#f7fbff}
.nx-filter-chip.active{
  border-color:transparent;
  color:#fff;
  background:linear-gradient(135deg,#075fae,#09a6c6);
  box-shadow:0 10px 22px rgba(8,111,179,.2);
}
.nx-billing-filter{
  display:grid;
  grid-template-columns:1fr 1fr;
  padding:3px;
  border-radius:999px;
  background:#edf3f8;
  min-width:168px;
}
.nx-billing-filter button{
  min-height:36px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#456078;
  font-size:10.5px;
  font-weight:850;
}
.nx-billing-filter button.active{
  color:#fff;
  background:linear-gradient(135deg,#075fae,#08a8c6);
  box-shadow:0 7px 16px rgba(10,103,175,.18);
}
.nx-premium-benefit-mini{
  margin:18px 0 24px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  padding:13px 16px;
  border:1px solid #e0eaf3;
  border-radius:16px;
  background:rgba(255,255,255,.7);
}
.nx-premium-benefit-mini>div{
  display:grid;
  grid-template-columns:32px auto;
  grid-template-rows:auto auto;
  gap:1px 9px;
  align-items:center;
}
.nx-premium-benefit-mini span{
  grid-row:1/3;
  width:32px;height:32px;border-radius:10px;
  display:grid;place-items:center;
  background:#e9f5ff;color:#0871bb;font-weight:900;
}
.nx-premium-benefit-mini strong{font-size:10.5px;color:#173b67}
.nx-premium-benefit-mini small{font-size:9px;color:#8292a3}
.nx-premium-section-head{margin:8px 0 16px}
.nx-section-kicker{display:block;font-size:9px;letter-spacing:.18em;color:#0b78a8;font-weight:900;margin-bottom:5px}
.nx-premium-section-head h2{font-size:29px}
.nx-section-actions{display:flex;align-items:center;gap:15px}
.nx-sync-status{font-size:10px;font-weight:800;color:#2f8b6b}
.nx-sync-status[data-state="error"]{color:#b45c42}

.nx-catalog-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:18px;
  align-items:start;
}
.nx-listing-column{min-width:0}
.nx-catalog-premium .nx-catalog-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.nx-catalog-premium .nx-catalog-card{
  border-radius:18px;
  border:1px solid #e0e9f2;
  box-shadow:0 14px 34px rgba(28,67,105,.08);
  background:#fff;
  overflow:hidden;
}
.nx-catalog-premium .nx-catalog-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 46px rgba(28,67,105,.13);
}
.nx-catalog-premium .nx-card-visual{
  aspect-ratio:16/10.3;
  background:#e8f0f7;
}
.nx-catalog-premium .nx-card-visual:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:38%;
  background:linear-gradient(180deg,transparent,rgba(5,27,52,.34));
  pointer-events:none;
}
.nx-card-type-badge{
  position:absolute;
  left:10px;
  top:10px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.8);
  color:#173b67;
  font-size:9px;
  font-weight:900;
  box-shadow:0 6px 14px rgba(13,48,79,.12);
}
.nx-card-type-badge.vip{color:#5f3fa1}
.nx-card-type-badge.regular{color:#075eae}
.nx-card-type-badge.house{color:#1e6d65}
.nx-catalog-premium .nx-card-availability{
  position:absolute;
  right:10px;
  top:10px;
  z-index:3;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(226,250,238,.95);
  color:#0a8754;
  border:1px solid rgba(23,171,105,.15);
  font-size:9px;
  font-weight:900;
  box-shadow:0 6px 14px rgba(9,77,49,.08);
}
.nx-catalog-premium .nx-card-availability.sold{background:rgba(255,235,235,.95);color:#ba4545}
.nx-card-media-count{
  position:absolute;
  left:10px;
  bottom:9px;
  z-index:3;
  color:#fff;
  font-size:8.5px;
  font-weight:800;
  text-shadow:0 2px 5px rgba(0,0,0,.3);
}
.nx-catalog-premium .nx-card-body{padding:13px 13px 14px}
.nx-card-title-row{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.nx-card-title-row>div{min-width:0}
.nx-catalog-premium .nx-card-body h3{font-size:17px;margin:0 0 1px;color:#0a2d58}
.nx-card-title-row small{font-size:8.5px;color:#7c8da0}
.nx-card-ready-dot{
  flex:0 0 auto;
  font-size:8.5px;
  color:#0f8b58;
  font-weight:850;
  padding-top:3px;
}
.nx-card-ready-dot.sold{color:#b44d4d}
.nx-catalog-premium .nx-card-body>p{
  font-size:10.5px;
  line-height:1.45;
  color:#61778d;
  min-height:45px;
  margin:8px 0 10px;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.nx-card-facilities{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin:0 0 11px;
}
.nx-card-facility{
  display:inline-flex;
  align-items:center;
  gap:4px;
  border:1px solid #e3ebf3;
  background:#f6f9fc;
  color:#4c647d;
  padding:5px 7px;
  border-radius:999px;
  font-size:8.5px;
  line-height:1;
}
.nx-card-facility b{color:#0d73ba;font-size:10px}
.nx-card-facility.more{font-weight:850}
.nx-card-pricing{min-height:64px}
.nx-dual-price{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.nx-dual-price>div,
.nx-price-single{
  min-width:0;
  border-radius:11px;
  padding:8px 9px;
  background:#f5f9fd;
  border:1px solid #e4edf5;
}
.nx-dual-price>div.active{
  background:linear-gradient(135deg,#eaf5ff,#e7fbff);
  border-color:#bee2f3;
  box-shadow:inset 0 0 0 1px rgba(9,116,179,.05);
}
.nx-dual-price small,.nx-price-single small{display:block;color:#7c90a5;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.nx-dual-price strong,.nx-price-single strong{display:inline-block;margin-top:3px;color:#0b3b70;font-size:13px;white-space:nowrap}
.nx-dual-price span,.nx-price-single span{font-size:8.5px;color:#75899d;margin-left:2px}
.premium-actions{display:grid;grid-template-columns:1fr 1.12fr;gap:7px;margin-top:10px}
.premium-actions .nx-detail-button,
.premium-actions .nx-select-button{
  min-height:38px;height:38px;
  border-radius:10px;
  font-size:10px;
  font-weight:850;
}
.premium-actions .nx-detail-button.outline{
  background:#fff;color:#0b62ad;border:1px solid #b9d4e8;
}
.premium-actions .nx-select-button{
  background:linear-gradient(135deg,#075fae,#07abc6);
  color:#fff;
  border:0;
  box-shadow:0 8px 16px rgba(8,102,173,.16);
}
.premium-actions .nx-select-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}

.nx-estimator-card{
  position:sticky;
  top:90px;
  border:1px solid #dce8f2;
  background:linear-gradient(180deg,#fff,#f8fbfe);
  border-radius:18px;
  padding:17px;
  box-shadow:0 16px 38px rgba(27,69,108,.09);
}
.nx-estimator-head{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.nx-estimator-icon{width:38px;height:38px;border-radius:12px;background:#e8f4ff;color:#0869b4;display:grid;place-items:center;font-size:18px}
.nx-estimator-head strong{display:block;color:#123a68;font-size:15px}
.nx-estimator-head small{display:block;color:#7a8da0;font-size:9px;margin-top:2px}
.nx-estimator-label{display:block;color:#4f657d;font-size:9.5px;font-weight:850;margin:11px 0 6px}
.nx-estimator-label select{
  width:100%;
  min-height:42px;
  margin-top:6px;
  border:1px solid #dce7f0;
  background:#fff;
  color:#183b63;
  border-radius:11px;
  padding:0 10px;
  outline:0;
  font-size:10.5px;
}
.nx-estimator-cycle{display:grid;grid-template-columns:1fr 1fr;padding:3px;background:#edf3f8;border-radius:999px}
.nx-estimator-cycle button{min-height:34px;border:0;border-radius:999px;background:transparent;color:#51697f;font-size:10px;font-weight:850}
.nx-estimator-cycle button.active{background:linear-gradient(135deg,#075fae,#08a9c6);color:#fff;box-shadow:0 7px 14px rgba(8,104,173,.16)}
.nx-estimator-cycle button:disabled{opacity:.38;cursor:not-allowed}
.nx-estimator-duration{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto 36px;
  gap:6px;
  align-items:center;
}
.nx-estimator-duration button{
  width:36px;height:36px;border-radius:10px;border:1px solid #dce7f0;background:#fff;color:#0b62ad;font-size:17px;font-weight:850
}
.nx-estimator-duration input{
  min-width:0;height:36px;border:1px solid #dce7f0;border-radius:10px;background:#fff;color:#163a62;text-align:center;font-weight:850;outline:0
}
.nx-estimator-duration span{font-size:9.5px;color:#657c92;min-width:34px}
.nx-estimator-total{
  margin-top:15px;
  padding:13px 14px;
  border-radius:14px;
  background:linear-gradient(135deg,#e8f4ff,#e6fbff);
  border:1px solid #cfe8f3;
}
.nx-estimator-total span{display:block;font-size:9px;color:#59778f;font-weight:850}
.nx-estimator-total strong{display:block;font-size:22px;color:#063d78;margin:4px 0 3px;letter-spacing:-.03em}
.nx-estimator-total small{display:block;font-size:8.5px;color:#688297;line-height:1.4}
.nx-estimator-apply{
  width:100%;
  min-height:43px;
  margin-top:12px;
  border:0;
  border-radius:11px;
  background:linear-gradient(135deg,#063d78,#079fc0);
  color:#fff;
  font-size:10.5px;
  font-weight:900;
  box-shadow:0 10px 18px rgba(7,92,150,.18);
}
.nx-estimator-apply:disabled{opacity:.45;box-shadow:none}
.nx-estimator-safe{text-align:center;color:#7b8da0;font-size:8.3px;margin-top:10px}
.nx-trust-premium{margin:4px auto 28px;border:1px solid #e0e9f1;border-radius:18px;max-width:1430px;box-shadow:0 10px 26px rgba(25,66,105,.05)}
.nx-public-dock{display:none}

@media(max-width:1280px){
  .nx-header-premium .nx-nav{gap:22px}
  .nx-premium-filterbar{grid-template-columns:minmax(220px,1fr) 1.3fr auto;gap:10px}
  .nx-category-filters{gap:5px}
  .nx-filter-chip{padding:0 10px;font-size:9.5px}
  .nx-catalog-layout{grid-template-columns:minmax(0,1fr) 280px}
  .nx-catalog-premium .nx-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:960px){
  .nx-public-login,.nx-public-apply,.nx-header-premium .nx-nav{display:none}
  .nx-header-premium .nx-menu-button{display:grid}
  .nx-hero-premium{min-height:390px}
  .nx-hero-premium .nx-hero-copy{min-height:390px;padding:54px 28px 44px}
  .nx-hero-premium h1{font-size:48px;max-width:560px}
  .nx-hero-premium .nx-hero-visual-card{display:none}
  .nx-premium-filterbar{grid-template-columns:1fr}
  .nx-category-filters,.nx-billing-filter{overflow-x:auto;scrollbar-width:none}
  .nx-category-filters::-webkit-scrollbar,.nx-billing-filter::-webkit-scrollbar{display:none}
  .nx-billing-filter{width:220px}
  .nx-premium-benefit-mini{grid-template-columns:1fr 1fr}
  .nx-catalog-layout{grid-template-columns:1fr}
  .nx-estimator-card{position:relative;top:auto;order:-1}
  .nx-catalog-premium .nx-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  body.nx-public-premium{padding-bottom:82px}
  .nx-header-premium{height:64px;padding:0 13px}
  .nx-header-premium .nx-brand-logo-img{width:47px;height:34px;flex-basis:47px}
  .nx-header-premium .nx-brand-word{font-size:14.5px}
  .nx-header-premium .nx-brand-copy>small{font-size:6.8px;max-width:170px}
  .nx-mobile-nav{top:64px}
  .nx-hero-premium{min-height:470px}
  .nx-hero-premium:after{background:linear-gradient(180deg,rgba(255,251,242,.96) 0%,rgba(255,251,242,.84) 51%,rgba(255,255,255,.22) 100%)}
  .nx-hero-premium .nx-hero-bg{background-position:64% center}
  .nx-hero-premium .nx-hero-copy{
    min-height:470px;
    padding:35px 16px 28px;
    justify-content:flex-start;
  }
  .nx-hero-premium .nx-kicker{font-size:9px;letter-spacing:.2em;margin-top:9px}
  .nx-hero-premium h1{font-size:38px;line-height:1.02;max-width:330px}
  .nx-hero-premium p{font-size:12.5px;line-height:1.5;max-width:330px;margin:13px 0 16px}
  .nx-hero-values{display:grid;grid-template-columns:1fr;gap:7px;max-width:260px}
  .nx-hero-values>div{grid-template-columns:30px auto}
  .nx-hero-values>div>span{width:30px;height:30px;font-size:15px}
  .nx-hero-values strong{font-size:10px}.nx-hero-values small{font-size:8.5px}
  .nx-catalog-premium{padding:0 12px 26px;margin-top:-26px}
  .nx-premium-filterbar{padding:10px;border-radius:16px;gap:9px}
  .nx-filter-search{height:46px;grid-template-columns:28px minmax(0,1fr) 60px}
  .nx-filter-search input{font-size:10.5px}.nx-filter-search button{font-size:9.5px}
  .nx-category-filters{padding-bottom:2px}
  .nx-filter-chip{min-height:36px;padding:0 11px;font-size:9.4px}
  .nx-billing-filter{width:100%;min-width:0}
  .nx-premium-benefit-mini{display:none}
  .nx-premium-section-head{display:flex;align-items:flex-end;margin-top:22px}
  .nx-premium-section-head h2{font-size:24px}
  .nx-premium-section-head p{font-size:10.5px}
  .nx-section-actions{display:block;text-align:right}.nx-sync-status{display:block;margin-bottom:3px}
  .nx-catalog-premium .nx-catalog-grid{grid-template-columns:1fr;gap:13px}
  .nx-catalog-premium .nx-card-visual{aspect-ratio:16/9.4}
  .nx-catalog-premium .nx-card-body{padding:13px}
  .nx-catalog-premium .nx-card-body h3{font-size:18px}
  .nx-catalog-premium .nx-card-body>p{font-size:11px;min-height:0;-webkit-line-clamp:2}
  .nx-card-pricing{min-height:0}
  .nx-dual-price strong,.nx-price-single strong{font-size:14px}
  .premium-actions .nx-detail-button,.premium-actions .nx-select-button{height:42px;min-height:42px;font-size:10.5px}
  .nx-estimator-card{border-radius:16px;padding:14px}
  .nx-estimator-head{margin-bottom:10px}
  .nx-estimator-label select{min-height:44px}
  .nx-trust-premium{display:none}
  .nx-public-dock{
    position:fixed;
    left:10px;right:10px;
    bottom:max(9px,env(safe-area-inset-bottom));
    z-index:120;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:4px;
    padding:7px;
    border:1px solid rgba(205,220,235,.95);
    border-radius:22px;
    background:rgba(255,255,255,.96);
    box-shadow:0 18px 42px rgba(12,42,75,.18);
    backdrop-filter:blur(18px);
  }
  .nx-public-dock a,.nx-public-dock button{min-width:0;border:0;background:transparent;color:#5f748b;text-decoration:none;display:grid;justify-items:center;align-content:center;gap:4px;padding:5px 2px 4px;border-radius:14px;font-size:8.5px;font-weight:800;line-height:1}
  .nx-public-dock b{font:inherit;line-height:1;white-space:nowrap}
  .nx-public-dock .nx-dock-icon{width:32px;height:32px;border-radius:11px;background:#edf4fb;color:#0b66b1;display:grid;place-items:center;font-size:0}
  .nx-public-dock .nx-dock-icon svg{width:17px;height:17px;display:block}
  .nx-public-dock a:first-child{color:#075eae}
  .nx-public-dock a:first-child .nx-dock-icon{background:linear-gradient(135deg,#075fae,#08a9c6);color:#fff}
  .nx-public-dock a:active,.nx-public-dock button:active{transform:scale(.97)}
}

/* ==========================================================
   D&H PROPERTY MANAGER v2.8.2 — PREMIUM RESPONSIVE PWA
   Smartphone: bottom navigation + quick sheet + action center
   Tablet: navigation rail + contextual FAB
   Desktop: premium sidebar with consistent SVG icons
   ========================================================== */
.ui-icon{width:20px;height:20px;display:block;flex:0 0 auto}.nav-svg{width:19px;height:19px;color:#8fa8df}.nav-item.active .nav-svg,.nav-item:hover .nav-svg{color:#fff}.nav-item{position:relative}.nav-item span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}
.topbar-leading{display:flex;align-items:center;gap:10px}.premium-bell-btn{position:relative;color:#294a78}.premium-bell-btn .ui-icon{width:20px;height:20px}.top-profile-button{width:42px;height:42px;border:0;border-radius:14px;background:linear-gradient(135deg,#0c6fb8,#11b8c6);color:#fff;font-weight:900;font-size:15px;display:grid;place-items:center;box-shadow:0 8px 20px rgba(13,111,184,.2)}
.top-notice-badge,.nav-notice-badge{position:absolute;display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:9px;font-weight:900;line-height:1;box-shadow:0 0 0 3px #fff}.top-notice-badge{top:-5px;right:-5px}.nav-notice-badge{top:-5px;right:-6px}.rail-badge{box-shadow:0 0 0 3px #0e1a31}
.tablet-rail{display:none}.mobile-dock{display:none}.context-fab{display:none}

/* Premium mobile/tablet sheets */
body.mobile-sheet-open{overflow:hidden}.mobile-sheet-backdrop{position:fixed;inset:0;z-index:120;background:rgba(6,19,40,.48);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:flex;align-items:flex-end;justify-content:center;padding:16px}.mobile-sheet{width:min(560px,100%);max-height:min(82dvh,720px);overflow:auto;background:rgba(255,255,255,.985);border:1px solid rgba(226,234,245,.95);border-radius:30px;box-shadow:0 30px 90px rgba(4,18,42,.28);animation:dhSheetIn .22s ease-out}.mobile-sheet-handle{width:46px;height:5px;border-radius:99px;background:#dbe4ef;margin:10px auto 2px}.mobile-sheet>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 20px 14px;border-bottom:1px solid #eef2f7}.mobile-sheet>header h3{margin:0;color:#15324f;font-size:20px}.mobile-sheet>header p{margin:5px 0 0;color:#74859a;font-size:12px;line-height:1.45}.mobile-sheet>header>button{width:36px;height:36px;border:0;border-radius:12px;background:#f0f4f8;color:#4c647d;font-size:23px;line-height:1}.mobile-sheet-body{padding:16px 18px max(20px,env(safe-area-inset-bottom))}@keyframes dhSheetIn{from{transform:translateY(26px);opacity:.6}to{transform:translateY(0);opacity:1}}
.quick-sheet-grid{display:grid;gap:9px}.quick-sheet-grid>button{width:100%;border:1px solid #e8eef6;background:linear-gradient(180deg,#fff,#f9fbfe);border-radius:18px;padding:12px;display:grid;grid-template-columns:44px 1fr 20px;gap:11px;align-items:center;text-align:left;color:#183958;box-shadow:0 7px 18px rgba(18,52,88,.035)}.quick-sheet-grid>button>span{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#eaf3ff,#e7fbff);display:grid;place-items:center;color:#087cac}.quick-sheet-grid>button strong{display:block;font-size:13px}.quick-sheet-grid>button small{display:block;color:#7d8c9e;font-size:10px;margin-top:3px}.quick-chevron{width:17px!important;height:17px!important;background:none!important;color:#91a2b4!important}
.action-center-list{display:grid;gap:9px}.action-center-item{width:100%;border:1px solid #e7edf4;background:#fff;border-radius:19px;padding:12px;display:grid;grid-template-columns:42px 1fr auto 17px;gap:10px;align-items:center;text-align:left;color:#1b3853}.action-center-icon{width:42px;height:42px;border-radius:14px;background:#edf5ff;color:#1970be;display:grid;place-items:center}.action-center-item.orange .action-center-icon{background:#fff4df;color:#bd7404}.action-center-item.red .action-center-icon{background:#fff0f0;color:#c33d3d}.action-center-item.purple .action-center-icon{background:#f4efff;color:#7550c6}.action-center-item strong{display:block;font-size:13px}.action-center-item small{display:block;font-size:10px;color:#8190a2;margin-top:3px}.action-center-item>b{min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:#edf3fa;display:grid;place-items:center;color:#173e67;font-size:11px}.action-chevron{width:16px;height:16px;color:#a0adbc}.action-center-empty{padding:26px 12px;text-align:center;display:grid;justify-items:center;color:#6f8193}.empty-check{width:42px;height:42px;padding:10px;border-radius:50%;background:#eaf9f2;color:#14825c;margin-bottom:9px}.action-center-empty strong{color:#173b59}.action-center-empty p{font-size:11px;margin:5px 0 0}
.profile-sheet-card{display:flex;align-items:center;gap:13px;background:linear-gradient(135deg,#0d2d50,#0d77a7);color:#fff;border-radius:22px;padding:17px;margin-bottom:12px}.profile-avatar{width:52px;height:52px;border-radius:17px;background:rgba(255,255,255,.16);display:grid;place-items:center;font-size:20px;font-weight:900;border:1px solid rgba(255,255,255,.2)}.profile-sheet-card strong{display:block;font-size:15px}.profile-sheet-card small{display:block;color:#c8e8f4;margin-top:4px}.profile-sheet-actions{display:grid;gap:7px}.profile-sheet-actions>button{border:0;background:#f7f9fc;border-radius:16px;padding:11px 12px;display:grid;grid-template-columns:36px 1fr 18px;gap:10px;align-items:center;text-align:left;color:#26445f}.profile-sheet-actions>button>.ui-icon:first-child{width:36px;height:36px;padding:8px;border-radius:11px;background:#eaf2fb;color:#166fae}.profile-sheet-actions strong{display:block;font-size:12px}.profile-sheet-actions small{display:block;color:#8593a2;font-size:9px;margin-top:2px}.profile-sheet-actions>button>.ui-icon:last-child{width:16px;height:16px;color:#9cacbb}.profile-sheet-actions>button.danger strong{color:#b83f3f}.profile-sheet-actions>button.danger>.ui-icon:first-child{background:#fff0f0;color:#c24444}

/* Consistent dashboard icon treatment */
.command-kpi-svg{width:20px;height:20px}.command-quick-actions button span .ui-icon{width:17px;height:17px}.command-quick-actions button span{font-size:0}.command-quick-actions button{transition:.18s ease}.command-quick-actions button:hover{transform:translateY(-1px)}

/* Tablet navigation rail */
@media(min-width:701px) and (max-width:1100px){
  .premium-app-shell{grid-template-columns:78px minmax(0,1fr)!important}.sidebar,.sidebar-backdrop,.mobile-dock,.mobile-menu{display:none!important}.tablet-rail{display:flex;position:sticky;top:0;height:100vh;z-index:35;background:linear-gradient(180deg,#0b1830,#102541);border-right:1px solid rgba(255,255,255,.07);flex-direction:column;align-items:center;padding:14px 10px 16px;box-shadow:10px 0 30px rgba(6,20,44,.08)}.tablet-rail-brand{width:52px;height:52px;border-radius:17px;background:#fff;display:grid;place-items:center;margin-bottom:18px;box-shadow:0 10px 25px rgba(0,0,0,.12)}.tablet-rail-brand img{width:38px;height:38px;object-fit:contain}.tablet-rail-items{display:grid;gap:8px;width:100%}.tablet-rail-bottom{margin-top:auto;display:grid;gap:8px;width:100%}.tablet-rail-item{position:relative;width:100%;height:52px;border:0;border-radius:17px;background:transparent;color:#8da6c3;display:grid;place-items:center}.tablet-rail-item .ui-icon{width:21px;height:21px}.tablet-rail-item:hover,.tablet-rail-item.active{background:linear-gradient(135deg,rgba(33,126,208,.28),rgba(15,190,195,.18));color:#fff}.tablet-rail-item.active:before{content:"";position:absolute;left:-10px;width:3px;height:25px;border-radius:0 8px 8px 0;background:#18c4cf}.tablet-rail-item:after{content:attr(data-tip);position:absolute;left:62px;white-space:nowrap;background:#102541;color:#fff;padding:7px 10px;border-radius:9px;font-size:10px;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.18);opacity:0;pointer-events:none;transform:translateX(-5px);transition:.15s}.tablet-rail-item:hover:after{opacity:1;transform:translateX(0)}.topbar{height:72px;padding:0 20px}.content{padding:22px 20px 34px}.context-fab{display:flex;position:fixed;right:24px;bottom:24px;z-index:48;border:0;border-radius:18px;background:linear-gradient(135deg,#096eb8,#11b9c5);color:#fff;align-items:center;gap:9px;padding:13px 16px;box-shadow:0 14px 35px rgba(5,111,178,.28);font-size:12px}.context-fab[hidden]{display:none!important}.context-fab span{width:28px;height:28px;border-radius:10px;background:rgba(255,255,255,.15);display:grid;place-items:center}.context-fab .ui-icon{width:17px;height:17px}.context-fab strong{font-size:11px}.top-actions .role-chip{display:none}.top-actions .premium-mini-btn{display:inline-flex}.command-primary-grid{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)}
}

/* Smartphone native-like shell */
@media(max-width:700px){
  .premium-app-shell{grid-template-columns:1fr!important}.tablet-rail{display:none!important}.sidebar{position:fixed;left:-310px;width:min(290px,86vw);z-index:80}.sidebar.open{left:0}.content{padding:16px 13px calc(116px + env(safe-area-inset-bottom))!important}.topbar{height:66px;padding:0 13px;box-shadow:0 5px 18px rgba(19,42,74,.045);border-bottom-color:#edf1f6}.top-title h1{font-size:17px}.top-title small{font-size:9px}.top-actions{gap:6px}.top-actions .role-chip,.top-actions .premium-mini-btn,.top-actions .btn-install-app{display:none!important}.icon-btn,.top-profile-button{width:38px;height:38px;border-radius:13px}.premium-bell-btn .ui-icon{width:19px;height:19px}.mobile-menu{display:grid!important}.mobile-dock{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;position:fixed;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));z-index:70;background:rgba(255,255,255,.965);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(218,228,239,.95);border-radius:25px;box-shadow:0 18px 45px rgba(12,32,60,.18);padding:7px 5px}.mobile-dock-item{min-width:0;border:0;background:transparent;border-radius:16px;padding:5px 2px 4px;display:grid;justify-items:center;gap:3px;color:#748398;font-weight:750;font-size:9px;position:relative}.mobile-dock-icon{position:relative;width:33px;height:33px;border-radius:11px;display:grid;place-items:center;background:transparent;color:#6f829a}.mobile-dock-icon .ui-icon{width:19px;height:19px}.mobile-dock-item.active{background:transparent;color:#0878b7}.mobile-dock-item.active .mobile-dock-icon{background:#e8f5fb;color:#0878b7}.mobile-dock-action{transform:translateY(-16px);color:#0b5f93}.mobile-action-orb{width:50px;height:50px;border-radius:18px;background:linear-gradient(135deg,#0a6fb8,#0eb8c8);color:#fff;display:grid;place-items:center;box-shadow:0 10px 25px rgba(5,112,182,.28);border:4px solid #fff}.mobile-action-orb .ui-icon{width:23px;height:23px}.mobile-dock-action>span:last-child{margin-top:-2px}.context-fab{display:flex;position:fixed;right:15px;bottom:calc(91px + env(safe-area-inset-bottom));z-index:58;border:0;border-radius:17px;background:linear-gradient(135deg,#0b6fb8,#10b9c6);color:#fff;align-items:center;gap:8px;padding:11px 13px;box-shadow:0 12px 28px rgba(5,111,178,.27)}.context-fab[hidden]{display:none!important}.context-fab span{width:26px;height:26px;border-radius:9px;background:rgba(255,255,255,.14);display:grid;place-items:center}.context-fab .ui-icon{width:16px;height:16px}.context-fab strong{font-size:10px;max-width:96px;white-space:nowrap}.page-head{margin-bottom:14px}.page-head h2{font-size:22px}.page-head p{font-size:10px;line-height:1.45}.page-head .actions{width:100%}.page-head .actions .btn{flex:1;min-height:40px}.command-welcome{border-radius:22px!important}.command-welcome h2{font-size:23px!important}.command-welcome p{font-size:11px}.command-kpi-grid{gap:9px!important}.command-kpi-card{border-radius:18px!important;padding:13px!important;min-height:136px!important}.command-kpi-value{font-size:21px!important}.command-panel{border-radius:20px!important;padding:14px!important}.command-panel h3{font-size:15px}.command-panel p{font-size:10px}.command-ops-grid{gap:10px}.table-wrap{border-radius:14px}.modal-backdrop{padding:9px;align-items:flex-end}.modal{max-height:90dvh;border-radius:24px 24px 12px 12px}.modal-head{padding:16px}.modal-body{padding:16px}.modal-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));position:sticky;bottom:0;background:#fff}.mobile-sheet-backdrop{padding:8px}.mobile-sheet{border-radius:28px 28px 16px 16px;width:100%;max-height:86dvh}.quick-sheet-grid{grid-template-columns:1fr 1fr;gap:8px}.quick-sheet-grid>button{grid-template-columns:38px 1fr;padding:10px;gap:9px;min-height:72px}.quick-sheet-grid>button>span{width:38px;height:38px;border-radius:12px}.quick-sheet-grid .quick-chevron{display:none}.quick-sheet-grid>button strong{font-size:11px}.quick-sheet-grid>button small{font-size:9px}.action-center-item{grid-template-columns:38px 1fr auto 14px;padding:10px}.action-center-icon{width:38px;height:38px;border-radius:12px}.action-center-item strong{font-size:11px}.action-center-item small{font-size:9px}.profile-sheet-actions>button{min-height:58px}.toast{left:12px;right:12px;bottom:calc(96px + env(safe-area-inset-bottom));max-width:none;text-align:center}.mobile-activity-icon{overflow:visible}
}
@media(max-width:390px){.mobile-dock-item{font-size:8px}.mobile-action-orb{width:47px;height:47px}.quick-sheet-grid{grid-template-columns:1fr}.context-fab strong{display:none}.context-fab{border-radius:50%;width:46px;height:46px;padding:0;justify-content:center}.context-fab span{background:transparent}}
@media(display-mode:standalone) and (max-width:700px){.topbar{padding-top:env(safe-area-inset-top);height:calc(66px + env(safe-area-inset-top))}.mobile-sheet{padding-bottom:env(safe-area-inset-bottom)}}


/* ==========================================================
   D&H Property Manager v2.8.6 — Branding & Developer Credit
   - Mobile login always shows D&H Smart Systems logo + developer credit.
   - Public catalog always shows Powered By developer credit.
   ========================================================== */
.mobile-login-brand{display:none}
.nx-public-powered{
  max-width:1430px;
  margin:0 auto 30px;
  min-height:58px;
  padding:14px 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:#6f8296;
  font-size:11px;
  letter-spacing:.01em;
  text-align:center;
}
.nx-public-powered span{font-weight:650}
.nx-public-powered strong{color:#164a73;font-weight:850}
@media(max-width:860px){
  .premium-login-shell{min-height:100dvh;background:linear-gradient(155deg,#eef5ff 0%,#f7fbff 45%,#edfafa 100%)}
  .login-panel{min-height:100dvh;padding:24px 18px calc(24px + env(safe-area-inset-bottom));align-items:center}
  .login-card{width:min(460px,100%);padding:27px 24px 25px;border-radius:26px;box-shadow:0 24px 70px rgba(20,55,93,.14);border:1px solid #e7eef7}
  .mobile-login-brand{display:flex;align-items:center;gap:12px;margin:0 0 24px;padding:0 0 18px;border-bottom:1px solid #edf1f6}
  .mobile-login-brand img{display:block;width:82px;max-height:54px;object-fit:contain;object-position:left center;flex:0 0 82px}
  .mobile-login-brand>div{min-width:0;display:flex;flex-direction:column;gap:4px}
  .mobile-login-brand strong{font-size:16px;line-height:1.12;color:#12365c;letter-spacing:-.02em}
  .mobile-login-brand small{font-size:9px;line-height:1.4;color:#73859a;font-weight:700}
}
@media(max-width:560px){
  .login-panel{padding:18px 13px calc(18px + env(safe-area-inset-bottom))}
  .login-card{padding:23px 19px 21px;border-radius:23px}
  .mobile-login-brand{margin-bottom:21px;padding-bottom:16px;gap:10px}
  .mobile-login-brand img{width:72px;max-height:48px;flex-basis:72px}
  .mobile-login-brand strong{font-size:15px}
  .mobile-login-brand small{font-size:8.5px}
  .nx-public-powered{margin:2px 12px 14px;padding:13px 12px;min-height:auto;display:block;font-size:9.5px;line-height:1.55}
  .nx-public-powered span,.nx-public-powered strong{display:inline}
}

/* v2.8.7 — public business identity, about profile and mobile quick-nav polish */
.nx-hero-brand-lockup{display:flex;align-items:center;gap:11px;margin-bottom:18px;min-height:48px}.nx-hero-brand-lockup img{width:78px;height:46px;object-fit:contain;object-position:center;filter:drop-shadow(0 8px 16px rgba(8,76,122,.12))}.nx-hero-brand-lockup span{font-size:12px;font-weight:850;letter-spacing:.08em;color:#0a5f8e;text-transform:uppercase}.nx-business-logo-fallback{width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.9);color:#0a6c9d;display:grid;place-items:center;box-shadow:0 8px 18px rgba(8,76,122,.14);flex:0 0 48px}.nx-business-logo-fallback svg{width:25px;height:25px}.nx-hero-brand-lockup .nx-business-logo-fallback{display:none}.nx-hero-brand-lockup:not(.has-business-logo) .nx-business-logo-fallback{display:grid}.nx-hero-brand-lockup:not(.has-business-logo) img{display:none}.nx-about-dialog{max-width:650px}.nx-about-brand{display:flex;align-items:center;gap:14px;margin-bottom:14px}.nx-about-logo-wrap{width:82px;height:58px;flex:0 0 82px;display:grid;place-items:center}.nx-about-brand img{width:82px;height:58px;object-fit:contain;object-position:center;filter:drop-shadow(0 6px 14px rgba(8,76,122,.1))}.nx-about-logo-wrap .nx-business-logo-fallback{width:58px;height:58px;border-radius:17px;box-shadow:0 8px 20px rgba(8,76,122,.1)}.nx-about-brand>div:last-child{display:flex;flex-direction:column;gap:4px;min-width:0}.nx-about-brand span{font-size:9px;letter-spacing:.14em;font-weight:850;color:#087aa5}.nx-about-brand strong{font-size:24px;line-height:1.15;color:#123a5b;word-break:break-word}.nx-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.nx-about-item{padding:13px 14px;border:1px solid #e2ebf0;border-radius:13px;background:#f8fbfd;display:flex;flex-direction:column;gap:5px;min-width:0}.nx-about-item.wide{grid-column:1/-1}.nx-about-item small{font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#78909f}.nx-about-item strong{font-size:12px;line-height:1.45;color:#21445f;word-break:break-word}.nx-about-actions{margin-top:6px}.nx-public-page .nx-nav a.active{color:#075fae}.nx-public-page .nx-nav a{position:relative}.nx-public-page .nx-nav a::after{content:"";position:absolute;left:50%;bottom:-12px;width:0;height:3px;border-radius:999px;background:linear-gradient(90deg,#0868ae,#09a9c4);transform:translateX(-50%);transition:width .2s ease}.nx-public-page .nx-nav a.active::after{width:24px}.nx-mobile-nav a.active{color:#075fae;background:#eef8fc}.nx-mobile-nav a{transition:.18s ease}
@media(max-width:560px){.nx-hero-brand-lockup{margin-bottom:13px;min-height:40px;gap:9px}.nx-hero-brand-lockup img{width:62px;height:38px}.nx-hero-brand-lockup span{font-size:9px}.nx-hero-brand-lockup .nx-business-logo-fallback{width:40px;height:40px;border-radius:12px;flex-basis:40px}.nx-hero-brand-lockup .nx-business-logo-fallback svg{width:22px;height:22px}.nx-about-grid{grid-template-columns:1fr}.nx-about-item.wide{grid-column:auto}.nx-about-brand strong{font-size:19px}.nx-about-dialog{width:min(94vw,650px)}.nx-about-logo-wrap{width:68px;height:52px;flex-basis:68px}.nx-about-brand img{width:68px;height:52px}.nx-about-logo-wrap .nx-business-logo-fallback{width:52px;height:52px;border-radius:15px}.nx-about-brand{gap:11px}.nx-about-brand strong{max-width:calc(94vw - 115px)}}

/* V2.8.21: zoom bukti transfer / KTP tamu, tanpa manipulasi file */
.proof-image-viewer{overflow:auto;max-height:68vh;min-height:240px;margin-top:12px;border:1px solid var(--border,#d9e0e9);background:#182537;border-radius:12px;display:flex;justify-content:center;align-items:center;padding:16px}
.proof-image-viewer img{display:block;max-width:100%;max-height:62vh;object-fit:contain;cursor:zoom-in;transition:transform .18s ease;transform-origin:center}
.proof-image-viewer img.zoomed{transform:scale(2);cursor:zoom-out}

/* V2.8.23 — Kas Front Office: kotak ringkasan mudah dibaca di layar HP */
.front-cash-kpis { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:12px; }
.front-cash-kpis .card { min-width:0; }
.front-cash-kpis .metric-value { overflow-wrap:anywhere; font-size:clamp(1.05rem,2vw,1.8rem); }
#frontCashRows tr[hidden] { display:none; }
@media(min-width:1080px){.front-cash-kpis{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:520px){.front-cash-kpis{grid-template-columns:1fr 1fr;gap:8px}.front-cash-kpis .card{padding:12px}.front-cash-kpis .metric-value{font-size:1.05rem}}

/* D&H Property Manager V2.8.25: finance-only appearance. No change to Owner/FO. */
.finance-workspace {--finance-indigo:#1f2859;--finance-violet:#5142a8;--finance-mint:#00a890;--finance-bg:#f5f6fd}
.finance-workspace .sidebar {background:linear-gradient(175deg,#171b44 0%,#24265c 58%,#222052 100%);border-right-color:#353869}
.finance-workspace .sidebar-role-pill {background:rgba(96,217,191,.14);border-color:rgba(96,217,191,.23);color:#b3f2e1}
.finance-workspace .sidebar .nav-item.active,.finance-workspace .sidebar .nav-item:hover {background:rgba(128,115,237,.19);color:#fff}
.finance-workspace .sidebar .nav-item.active:before {background:#5fdfbd}
.finance-workspace .main {background:var(--finance-bg)}
.finance-workspace .topbar {background:#fff;border-bottom:1px solid #e5e4f3}
.finance-workspace .topbar .role-chip {background:#edeafb;color:var(--finance-indigo);border-color:#dbd6f2}
.finance-workspace .btn-primary {background:linear-gradient(135deg,#4d42a3,#38358a);border-color:#4d42a3;color:#fff}
.finance-workspace .btn-soft {color:#41359d;background:#efedfc;border-color:#ded9f8}
.finance-workspace .page-head h2 {color:#24265b}
.finance-workspace .panel {border-color:#e3e2f2;box-shadow:0 5px 22px rgba(37,38,91,.035)}
.finance-workspace .table thead {background:#f0effa}
.finance-workspace .table th {color:#454277}
.finance-workspace .mobile-dock-item.active {color:#5142a8}
.finance-workspace .mobile-dock-item.active .mobile-dock-icon {background:#efecfb;color:#5142a8}
.finance-workspace .mobile-action-orb,.finance-workspace .context-fab {background:linear-gradient(135deg,#5142a8,#00a890)}
.finance-workspace .tablet-rail {background:linear-gradient(180deg,#181d49,#22235a)}
.finance-workspace .tablet-rail-item.active {background:rgba(112,96,223,.24)}
.finance-workspace .tablet-rail-item.active:before {background:#65dfba}

.finance-workspace .command-welcome {background:linear-gradient(125deg,#242260,#46429b 65%,#137d81)!important}
.finance-workspace .command-kpi-card {border:1px solid #e2e1f4}
.finance-workspace .sidebar-role-pill:before {content:'● ';color:#64dfb7}


/* V2.8.26: optional Pink/Rose theme, scoped exclusively to logged-in Finance workspace. */
.finance-workspace.finance-theme-pink{--finance-indigo:#762d60;--finance-violet:#b8327b;--finance-mint:#cf488e;--finance-bg:#fff7fb}
.finance-workspace.finance-theme-pink .sidebar{background:linear-gradient(170deg,#471732 0%,#702047 55%,#632044 100%);border-right-color:#883153}
.finance-workspace.finance-theme-pink .sidebar-role-pill{background:rgba(255,203,230,.16);border-color:rgba(255,200,226,.28);color:#ffe0ef}
.finance-workspace.finance-theme-pink .sidebar .nav-item.active,.finance-workspace.finance-theme-pink .sidebar .nav-item:hover{background:rgba(255,164,210,.20);color:#fff}
.finance-workspace.finance-theme-pink .sidebar .nav-item.active:before{background:#ffb2d4}
.finance-workspace.finance-theme-pink .main{background:var(--finance-bg)}
.finance-workspace.finance-theme-pink .topbar{background:#fffdfd;border-bottom-color:#f6e0eb}
.finance-workspace.finance-theme-pink .topbar .role-chip{background:#ffeaf4;color:#7b2558;border-color:#f6ccde}
.finance-workspace.finance-theme-pink .btn-primary{background:linear-gradient(135deg,#b92773,#8d205d);border-color:#a52b6a;color:#fff}
.finance-workspace.finance-theme-pink .btn-soft{color:#92265e;background:#fff0f7;border-color:#f3cbdf}
.finance-workspace.finance-theme-pink .page-head h2{color:#692345}
.finance-workspace.finance-theme-pink .panel{border-color:#f2dfeb;box-shadow:0 5px 22px rgba(103,26,69,.045)}
.finance-workspace.finance-theme-pink .table thead{background:#fff0f7}
.finance-workspace.finance-theme-pink .table th{color:#7f365d}
.finance-workspace.finance-theme-pink .mobile-dock-item.active{color:#ae266f}
.finance-workspace.finance-theme-pink .mobile-dock-item.active .mobile-dock-icon{background:#ffe4f1;color:#ae266f}
.finance-workspace.finance-theme-pink .mobile-action-orb,.finance-workspace.finance-theme-pink .context-fab{background:linear-gradient(135deg,#b82c78,#ec719f)}
.finance-workspace.finance-theme-pink .tablet-rail{background:linear-gradient(180deg,#4c1734,#77274f)}
.finance-workspace.finance-theme-pink .tablet-rail-item.active{background:rgba(255,184,221,.25)}
.finance-workspace.finance-theme-pink .tablet-rail-item.active:before{background:#ffc4e0}
.finance-workspace.finance-theme-pink .command-welcome{background:linear-gradient(125deg,#681b48,#a22c73 65%,#d96899)!important}
.finance-workspace.finance-theme-pink .command-kpi-card{border-color:#f5dfeb}
.finance-workspace.finance-theme-pink .sidebar-role-pill:before{color:#ffb5d4}
.finance-workspace.finance-theme-pink .profile-sheet-card{background:linear-gradient(135deg,#632048,#b32e7a)}

/* Finance color picker within Account sheet: both choices are readable on mobile and desktop. */
.finance-theme-choices{display:grid;gap:12px}
.finance-theme-choice{width:100%;display:grid;grid-template-columns:92px 1fr 27px;gap:13px;align-items:center;padding:11px 12px;border:1.5px solid #e4e8f0;border-radius:18px;background:#fff;color:#293449;text-align:left;cursor:pointer;transition:border-color .18s,box-shadow .18s}
.finance-theme-choice:hover,.finance-theme-choice:focus-visible{border-color:#c58cae;box-shadow:0 4px 18px rgba(131,44,95,.09);outline-offset:2px}
.finance-theme-choice.selected{border-color:#c54d92;box-shadow:0 0 0 3px rgba(207,76,142,.10)}
.finance-theme-choice strong{font-size:14px;display:block}
.finance-theme-choice small{font-size:11px;display:block;color:#788299;margin-top:4px}
.finance-theme-preview{height:62px;display:flex;align-items:end;gap:5px;padding:9px;border-radius:12px;background:#f2f2fa;border-left:23px solid #25265c}
.finance-theme-preview i{display:block;width:17px;height:25px;border-radius:5px;background:#b5afe0}
.finance-theme-preview i:nth-child(2){height:35px;background:#5142a8}.finance-theme-preview i:nth-child(3){height:20px;background:#00a890}
.finance-theme-preview.pink{background:#fff1f8;border-left-color:#702047}
.finance-theme-preview.pink i{background:#f2aecf}.finance-theme-preview.pink i:nth-child(2){background:#b82c78}.finance-theme-preview.pink i:nth-child(3){background:#ec719f}
.finance-theme-check{font-size:20px;color:#b62b77;text-align:center;font-weight:900}
.finance-theme-note{font-size:12px;color:#68758a;line-height:1.5;margin:14px 0 0}
@media(max-width:400px){.finance-theme-choice{grid-template-columns:72px 1fr 22px;gap:9px;padding:9px}.finance-theme-preview{height:54px;padding:7px;border-left-width:18px}.finance-theme-choice strong{font-size:12px}}

/* V2.8.29 - Penghuni kedua langsung terlihat di dekat pilihan jumlah */
.additional-occupant-section{border:2px solid #b8ddfa;background:linear-gradient(180deg,#f1f9ff,#fff);border-radius:18px;padding:18px;margin:2px 0 10px;min-width:0;scroll-margin-top:100px}
.additional-occupant-section[hidden]{display:none!important}
.occupant-second-heading{display:flex;gap:12px;align-items:flex-start;padding:0 0 14px;margin-bottom:14px;border-bottom:1px solid #d4e8fa}
.occupant-second-heading strong{display:block;color:#135585;font-size:16px;margin-bottom:4px}
.occupant-second-heading small{display:block;font-size:12px;line-height:1.5;color:#436880}
.occupant-step-icon{width:38px;height:38px;border-radius:12px;background:#d9efff;color:#135585;display:grid;place-items:center;font-weight:800;flex-shrink:0}
#pOccHelp{color:#0b669a;line-height:1.45;display:block;margin-top:5px}
@media(max-width:560px){.additional-occupant-section{padding:13px;border-radius:16px}.occupant-second-heading strong{font-size:14px}}

/* V2.8.30 - Compact, safe prospect registration (desktop and mobile) */
.prospect-form-v2830{display:grid;gap:14px;min-width:0}
.prospect-form-intro{padding:13px 16px;background:#edf7ff;border:1px solid #d8eafa;color:#315d79;border-radius:14px;font-size:12px;line-height:1.6}
.prospect-form-section{padding:16px;border-radius:18px;border:1px solid #dce8f3;background:#fff;min-width:0}
.prospect-section-head{display:flex;align-items:center;gap:11px;margin-bottom:17px;padding-bottom:12px;border-bottom:1px solid #e4ecf4}
.prospect-section-head strong{display:block;font-size:15px;color:#173f64}
.prospect-section-head small{display:block;color:#667b8f;font-size:11px;margin-top:3px;line-height:1.5}
.prospect-step{display:grid;place-items:center;flex:none;width:36px;height:36px;background:#eaf5ff;color:#11639b;border-radius:12px;font-size:13px;font-weight:800}
.prospect-second-section{background:#f0f9ff;border:2px solid #acd8f5;margin:4px 0;scroll-margin-top:120px}
.prospect-second-section[hidden]{display:none!important}
.prospect-form-v2830 .form-grid{gap:12px}
.prospect-form-v2830 .field textarea{min-height:66px}
.prospect-form-v2830 .field label{font-size:12px}
.prospect-form-v2830 .field input,.prospect-form-v2830 .field select,.prospect-form-v2830 .field textarea{min-height:43px;padding:10px 12px}
.prospect-form-v2830 .prospect-id-hint{display:flex;align-items:center;font-size:12px;color:#687e90;line-height:1.5}
.prospect-file-field input[type=file]{min-height:51px;padding:9px;border:1px dashed #87b6d8;background:#f7fbff;cursor:pointer;font-size:12px}
.prospect-file-field input[type=file]::file-selector-button{border:0;border-radius:9px;background:#ddecfa;color:#165b89;padding:7px 12px;font-weight:700;margin-right:10px;cursor:pointer}
.prospect-file-info{font-size:11px;line-height:1.5;color:#66798a;overflow-wrap:anywhere}
.prospect-file-info.ok{color:#14734e;font-weight:650}.prospect-file-info.error{color:#b42335;font-weight:650}
.prospect-save-status{padding:11px 14px;background:#e9f5ff;color:#135785;border-radius:12px;font-size:12px;font-weight:650;line-height:1.55}
.prospect-save-status[hidden]{display:none}.prospect-save-status.error{background:#fff0f1;color:#ae2935}
.prospect-form-v2830 #pOccHelp{color:#236484;margin-top:4px}
@media(max-width:560px){.prospect-form-v2830{gap:10px}.prospect-form-section{padding:12px;border-radius:16px}.prospect-section-head strong{font-size:14px}.prospect-step{width:32px;height:32px}.prospect-form-v2830 .form-grid{gap:10px}.prospect-form-v2830 .field{min-width:0}.prospect-form-v2830 .field input[type=file]{width:100%;min-width:0}}

/* V2.8.31 — Role-specific Smart Command Centers (Finance / Front Office) */
.role-dashboard{--rd-accent:#1876df;--rd-accent-soft:#eaf4ff;--rd-text:#173354;--rd-muted:#6b819a;display:grid;gap:20px;padding-bottom:20px}
.role-dashboard.rd-finance{--rd-accent:var(--finance-violet,#5444a7);--rd-accent-soft:#f2efff}
.finance-workspace.finance-theme-pink .role-dashboard.rd-finance{--rd-accent:#b82c78;--rd-accent-soft:#fff0f7}
.rd-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:30px;border-radius:25px;padding:30px 32px;color:#fff;background:linear-gradient(120deg,#113464,#096cb3 65%,#18b3c2);box-shadow:0 19px 46px rgba(7,76,133,.17)}
.rd-hero-finance{background:linear-gradient(120deg,#202454,#5943ac 62%,#188b95)}
.finance-workspace.finance-theme-pink .rd-hero-finance{background:linear-gradient(120deg,#511638,#ae397d 62%,#e978a4)}
.rd-hero:before,.rd-hero:after{content:"";pointer-events:none;position:absolute;width:350px;height:350px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-115px;top:-230px}.rd-hero:after{width:240px;height:240px;top:75px;right:30px;border-color:rgba(255,255,255,.1)}
.rd-hero-content{position:relative;z-index:1;max-width:710px}.rd-hero-tag{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.15em;font-weight:850;color:#d4fffb}.rd-hero-tag .ui-icon{width:16px;height:16px}
.rd-hero h2{font-size:30px;font-weight:850;letter-spacing:-.045em;margin:11px 0 8px;color:#fff}.rd-hero p{font-size:13px;color:#e1effd;line-height:1.65;max-width:625px;margin:0}.rd-hero-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:19px}.rd-hero-chips span{font-size:11px;font-weight:700;display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.23);background:rgba(255,255,255,.11);border-radius:30px;padding:7px 11px}.rd-hero-chips .ui-icon{width:14px;height:14px}.rd-hero-emblem{width:126px;height:126px;border-radius:34px;background:rgba(255,255,255,.12);display:grid;place-items:center;transform:rotate(-12deg);flex:none}.rd-hero-emblem .ui-icon{width:65px;height:65px;stroke-width:1.15;transform:rotate(12deg);opacity:.9}
.rd-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:3px 0 -4px}.rd-section-head h3{margin:0 0 3px;font-size:18px;letter-spacing:-.02em;color:var(--rd-text)}.rd-section-head p{font-size:11px;color:var(--rd-muted);line-height:1.5;margin:0}.rd-section-head>span{display:inline-flex;white-space:nowrap;border:1px solid #e1eaf4;border-radius:30px;background:#fff;padding:8px 12px;font-size:11px;font-weight:750;color:#627690}
.rd-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.rd-finance .rd-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.rd-metric{min-width:0;position:relative;display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;background:#fff;border:1px solid #e8edf5;border-radius:21px;min-height:162px;padding:18px;cursor:pointer;box-shadow:0 7px 28px rgba(17,53,89,.045);transition:transform .2s,border-color .2s,box-shadow .2s;font-family:inherit;overflow:hidden}
.rd-metric:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--rd-bar,#2987e0)}.rd-metric:hover{transform:translateY(-2px);border-color:#cad9ee;box-shadow:0 14px 35px rgba(17,53,89,.085)}.rd-metric:focus-visible,.rd-quick-list button:focus-visible,.rd-mini:focus-visible{outline:3px solid var(--rd-accent);outline-offset:2px}.rd-metric-head{width:100%;display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.rd-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:var(--rd-soft,#eaf4ff);color:var(--rd-bar,#2987e0)}.rd-icon .ui-icon{width:19px;height:19px}.rd-metric-arrow{color:#a2b3c6}.rd-metric-arrow .ui-icon{width:15px;height:15px}.rd-metric-label{color:#58718c;font-size:11px;font-weight:750;line-height:1.45}.rd-metric>strong{font-size:25px;letter-spacing:-.045em;font-weight:880;line-height:1.17;color:#172f50;overflow-wrap:anywhere}.rd-metric>small{font-size:10px;line-height:1.45;color:#8497ad;margin-top:auto}.rd-metric.rd-major{background:linear-gradient(140deg,#f4fcf8,#fff);border-color:#cbefdb}.rd-blue{--rd-bar:#3172d5;--rd-soft:#edf4ff}.rd-green{--rd-bar:#149967;--rd-soft:#e5f8ed}.rd-cyan{--rd-bar:#1495a7;--rd-soft:#e8fafd}.rd-purple{--rd-bar:#7958c6;--rd-soft:#f2ebff}.rd-amber{--rd-bar:#d98c22;--rd-soft:#fff5e4}.rd-orange{--rd-bar:#dc6b4f;--rd-soft:#fff0ec}.rd-pink{--rd-bar:#c04483;--rd-soft:#ffebf5}
.rd-overview-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rd-mini{display:flex;align-items:center;gap:12px;text-align:left;padding:15px 16px;background:#eef5ff;border:1px solid #e3edf8;border-radius:16px;color:#253d60;cursor:pointer;min-width:0}.rd-finance .rd-mini{background:var(--rd-accent-soft);border-color:rgba(125,97,180,.13)}.rd-mini>span{display:grid;place-items:center;flex:none;width:37px;height:37px;border-radius:12px;background:#fff;color:var(--rd-accent)}.rd-mini>span .ui-icon{width:17px;height:17px}.rd-mini>div{display:grid;gap:4px;min-width:0;flex:1}.rd-mini small{font-size:10px;color:#6c7d95;font-weight:700}.rd-mini strong{font-size:16px;color:#1a3559;overflow-wrap:anywhere}.rd-mini>.ui-icon{width:15px;height:15px;color:#a0acc0}
.rd-priority-grid,.rd-finance-extra{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.rd-panel{min-width:0;background:#fff;border:1px solid #e6edf4;border-radius:23px;padding:20px;box-shadow:0 10px 30px rgba(19,49,89,.04)}.rd-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.rd-panel-heading h3{color:#233e5c;font-size:16px;font-weight:830;letter-spacing:-.02em;margin:4px 0 4px}.rd-panel-heading p{font-size:11px;color:#7d8fa4;line-height:1.5;margin:0}.rd-eyebrow{color:var(--rd-accent);font-size:9px;letter-spacing:.14em;font-weight:900}.rd-panel-link{flex:none;display:flex;align-items:center;gap:3px;border:0;background:var(--rd-accent-soft);color:var(--rd-accent);padding:9px 11px;border-radius:10px;font-size:10px;font-weight:800;cursor:pointer}.rd-panel-link .ui-icon{width:14px;height:14px}
.rd-records{display:grid;gap:0}.rd-record{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #edf2f7;min-width:0}.rd-record-avatar{flex:none;width:35px;height:35px;border-radius:11px;display:grid;place-items:center;background:#edf4ff;color:#2b79cf}.rd-finance .rd-record-avatar{background:var(--rd-accent-soft);color:var(--rd-accent)}.rd-record-avatar .ui-icon{width:17px;height:17px}.rd-record-main{min-width:0;flex:1;display:grid;gap:3px}.rd-record-main strong{color:#213b56;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rd-record-main small{font-size:10px;color:#8497aa}.rd-record-main>span{color:#67809b;font-size:10px;line-height:1.4}.rd-record-tail{flex:none;text-align:right;color:#253f62;font-size:11px;font-weight:800;max-width:33%;overflow-wrap:anywhere}.rd-empty{display:grid;justify-items:center;gap:8px;padding:30px 15px;text-align:center;background:#f8fbff;border-radius:15px;color:#607895}.rd-empty .ui-icon{width:24px;height:24px;color:#1fa378}.rd-empty strong{font-size:12px}.rd-empty small{font-size:10px}.rd-finance-extra{margin-top:2px}.rd-finance-extra .rd-panel:first-child{min-width:0}.rd-finance-extra .modern-chart-wrap{max-width:100%;overflow:hidden}.rd-payroll{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rd-payroll>div{padding:16px;background:#f7f9fd;border-radius:14px;display:grid;gap:5px}.rd-payroll span{font-size:10px;color:#667c98}.rd-payroll strong{font-size:19px;color:#233553;overflow-wrap:anywhere}.rd-payroll small{font-size:10px;color:#8394a8}.rd-progress{height:8px;margin:16px 0 3px;border-radius:20px;background:#e9edf5;overflow:hidden}.rd-progress span{display:block;height:100%;border-radius:20px;background:var(--rd-accent);transition:width .3s}
.rd-quick-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.rd-quick-list>button{background:#f6f9fd;border:1px solid #ebf0f7;border-radius:15px;min-width:0;min-height:76px;display:flex;align-items:center;gap:9px;justify-content:center;padding:10px 12px;text-align:left;cursor:pointer;color:#244461}.rd-quick-list>button>span{display:grid;place-items:center;color:var(--rd-accent)}.rd-quick-list .ui-icon{width:19px;height:19px}.rd-quick-list strong{font-size:11px}.rd-quick-list>button>.ui-icon{color:#94a6bb;width:13px}.rd-footnote{color:#8194a8;line-height:1.6;font-size:10px;margin:0 2px}
@media(max-width:1180px){.rd-finance .rd-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rd-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rd-quick-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.role-dashboard{gap:14px}.rd-hero{padding:21px 18px;border-radius:21px;min-height:164px}.rd-hero h2{font-size:23px}.rd-hero p{font-size:11px;line-height:1.55}.rd-hero-emblem{display:none}.rd-section-head{align-items:flex-start}.rd-section-head h3{font-size:15px}.rd-section-head>span{font-size:9px;padding:7px 9px}.rd-metric-grid,.rd-finance .rd-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.rd-metric{min-height:149px;padding:13px;border-radius:17px;gap:4px}.rd-icon{width:32px;height:32px;border-radius:10px}.rd-icon .ui-icon{width:17px;height:17px}.rd-metric-label{font-size:10px}.rd-metric>strong{font-size:21px}.rd-metric>small{font-size:9px}.rd-overview-strip{grid-template-columns:1fr;gap:8px}.rd-mini{padding:12px;border-radius:13px}.rd-priority-grid,.rd-finance-extra{grid-template-columns:1fr;gap:11px}.rd-panel{padding:15px;border-radius:19px}.rd-panel-heading{gap:8px}.rd-panel-link{font-size:9px;padding:8px}.rd-quick-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rd-quick-list>button{justify-content:flex-start;min-height:66px}.rd-record-tail{font-size:10px}.rd-payroll strong{font-size:16px}}
@media(max-width:360px){.rd-metric>strong{font-size:17px}.rd-metric-label{font-size:9px}.rd-metric{padding:11px}.rd-record-avatar{display:none}.rd-panel-heading{flex-wrap:wrap}}

/* V2.8.40 multi image proof gallery */
.proof-gallery-main{min-height:220px;max-height:55vh;overflow:auto;display:flex;justify-content:center;align-items:center}
.proof-gallery-main img{max-width:100%;max-height:52vh;object-fit:contain;cursor:zoom-in}.proof-gallery-main img.zoomed{max-width:none;max-height:none;cursor:zoom-out}
.proof-gallery-list{display:flex;gap:9px;overflow-x:auto;max-width:100%;padding:12px 2px 4px}.proof-gallery-thumb{position:relative;flex:0 0 84px;height:78px;border-radius:12px;border:2px solid #dbe3f0;background:#f8fafc;cursor:pointer;padding:3px;overflow:hidden}.proof-gallery-thumb.active{border-color:#316bcb;box-shadow:0 0 0 2px #c9dcff}.proof-gallery-thumb img{width:100%;height:100%;object-fit:cover;border-radius:8px}.proof-gallery-thumb span{position:absolute;bottom:4px;right:5px;background:#132f56;color:white;border-radius:5px;padding:0 5px;font-size:10px}

/* V2.8.41 — Owner-managed public tenant terms */
.catalog-terms-owner .field{display:grid;gap:7px}.catalog-terms-owner textarea{width:100%;min-height:220px;padding:14px;border:1px solid #d8e4ef;border-radius:12px;background:#fbfdff;color:#213950;font:inherit;line-height:1.65;resize:vertical;box-sizing:border-box}.catalog-terms-owner textarea:focus{outline:2px solid #38a2d1;outline-offset:1px}.catalog-terms-owner-toggle{margin-top:16px;padding:14px;display:flex;align-items:flex-start;gap:12px;background:#f2f7ff;border:1px solid #d7e7f8;border-radius:12px;cursor:pointer}.catalog-terms-owner-toggle>input{width:19px;height:19px;flex:none;accent-color:#087fb3;margin-top:2px}.catalog-terms-owner-toggle span{display:grid;gap:3px}.catalog-terms-owner-toggle strong{font-size:13px;color:#143b56}.catalog-terms-owner-toggle small{font-size:11px;color:#657b8b}
.nx-tenant-terms-section[hidden],.nx-booking-tenant-terms[hidden],.nx-tenant-terms-modal[hidden],[data-terms-link][hidden]{display:none!important}
.nx-tenant-terms-section{padding:36px clamp(14px,4vw,72px) 34px;background:linear-gradient(180deg,#f5fafc 0%,#eef7fc 100%)}.nx-tenant-terms-inner{max-width:1080px;margin:0 auto;background:#fff;border:1px solid #deecf4;border-radius:22px;box-shadow:0 13px 40px rgba(22,69,100,.06);padding:30px clamp(17px,3vw,36px)}.nx-tenant-terms-heading h2{font-size:clamp(22px,2.5vw,32px);color:#163b55;margin:8px 0 5px}.nx-tenant-terms-heading p{color:#637f91;font-size:13px;line-height:1.55}.nx-tenant-terms-content,.nx-tenant-terms-modal-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;color:#294559;font-size:13.5px}.nx-tenant-terms-content{padding:18px 22px;background:#f8fbfd;border:1px solid #e4eef5;border-radius:13px;margin:20px 0}.nx-tenant-terms-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.nx-tenant-terms-bottom span{font-size:12px;color:#718899}.nx-tenant-terms-bottom button,.nx-tenant-terms-modal-footer button{background:#0c729e;color:#fff;padding:11px 19px;border:0;border-radius:10px;cursor:pointer;font-weight:750}
.nx-booking-tenant-terms{padding:15px 14px;background:#f2f9fc;border:1px solid #d1e6f2;border-radius:12px}.nx-booking-tenant-terms-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.nx-booking-tenant-terms-title strong{font-size:12px;color:#173e5a}.nx-booking-tenant-terms-title button{border:0;background:transparent;color:#086ba1;text-decoration:underline;cursor:pointer;font-weight:750;font-size:11px;padding:5px}.nx-booking-tenant-terms p{font-size:11.5px;color:#526c80;line-height:1.55;margin:8px 0 12px}.nx-booking-form label.nx-terms-agree{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:#153d59;font-weight:650;line-height:1.55;cursor:pointer}.nx-terms-agree input{width:18px;height:18px;margin-top:1px;flex:none;accent-color:#078bb3}
.nx-tenant-terms-modal{position:fixed;z-index:175;inset:0;background:rgba(9,31,47,.7);display:grid;place-items:center;padding:18px;backdrop-filter:blur(6px)}.nx-tenant-terms-dialog{width:min(680px,100%);max-height:calc(100dvh - 32px);background:#fff;border-radius:19px;box-shadow:0 24px 65px rgba(0,0,0,.24);display:flex;flex-direction:column;overflow:hidden}.nx-tenant-terms-dialog-head{padding:20px 24px;border-bottom:1px solid #e2ebf2;display:flex;align-items:center;justify-content:space-between;gap:14px}.nx-tenant-terms-dialog-head small{font-weight:800;font-size:10px;letter-spacing:.1em;color:#1781ae}.nx-tenant-terms-dialog-head h2{font-size:21px;color:#173b55;margin:5px 0 0}.nx-tenant-terms-dialog-head button{flex:none;border:0;border-radius:9px;background:#f1f4f7;color:#365269;width:37px;height:37px;font-size:24px;cursor:pointer}.nx-tenant-terms-modal-content{padding:24px;overflow:auto;min-height:0;flex:1}.nx-tenant-terms-modal-footer{padding:13px 23px;border-top:1px solid #e1ebf2;display:flex;justify-content:flex-end}
@media(max-width:560px){.nx-tenant-terms-section{padding:18px 12px}.nx-tenant-terms-inner{border-radius:15px;padding:20px 16px}.nx-tenant-terms-content{padding:14px;font-size:12px}.nx-tenant-terms-modal{padding:9px}.nx-tenant-terms-dialog-head{padding:15px}.nx-tenant-terms-dialog-head h2{font-size:18px}.nx-tenant-terms-modal-content{padding:17px;font-size:12.5px}.nx-tenant-terms-modal-footer{padding:11px 15px}}
