:root{--navy:#152a3d;--navy2:#102233;--teal:#087e83;--teal-dark:#096b70;--bg:#f3f6f9;--text:#24394c;--muted:#637789;--line:#dce5eb;--white:#fff;--amber:#b7761d;--red:#c45055;--green:#22825b;--shadow:0 9px 30px rgba(16,34,51,.06)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{display:flex;min-height:100vh}.sidebar{width:264px;background:var(--navy);color:#d0dfe6;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:20;overflow-y:auto}.brand{display:flex;gap:12px;align-items:center;min-height:93px;padding:20px 21px;border-bottom:1px solid #344b5d}.brand-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--teal);color:white;font-size:23px;font-weight:800}.brand strong{font-size:13px;letter-spacing:.11em;color:white}.brand small{display:block;font-size:11px;color:#9cb5c0;margin-top:4px}.sidebar nav{padding:16px 12px 26px}.nav-group{margin-bottom:13px}.nav-group-title{padding:13px 13px 8px;color:#8eacb9;font-size:10px;letter-spacing:.12em;font-weight:800;text-transform:uppercase}.nav-link{display:flex;align-items:center;gap:11px;padding:10px 13px;border-radius:8px;color:#cadce3;font-size:13px;min-height:39px}.nav-link:hover,.nav-link:focus{background:#254257;color:#fff}.nav-link.active{background:var(--teal);color:#fff;font-weight:700}.nav-link .nav-glyph{width:19px;text-align:center;font-size:14px;opacity:.9}.sidebar-bottom{margin-top:auto;padding:21px;color:#b5cbd4;font-size:12px;border-top:1px solid #344b5d}.sidebar-bottom small{display:block;margin:4px 0 0 18px;color:#91aab6}.live-dot{display:inline-block;background:#4cbd91;width:8px;height:8px;border-radius:50%;margin-right:7px}.main-shell{margin-left:264px;width:calc(100% - 264px);min-width:0}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;position:sticky;top:0;z-index:10}.top-title{display:flex;flex-direction:column;gap:2px}.top-title strong{font-size:20px;color:var(--navy)}.eyebrow{font-size:10px;color:var(--teal);font-weight:800;letter-spacing:.13em}.top-actions{display:flex;align-items:center;gap:22px}.top-date{font-size:13px;color:var(--muted)}.avatar{height:34px;width:34px;background:#e7f3f2;color:var(--teal);display:grid;place-items:center;border-radius:50%;font-weight:800;font-size:12px}.icon-button{border:0;background:transparent;color:var(--navy);font-size:22px}.menu-toggle{display:none}main{max-width:1600px;margin:auto;padding:34px 36px 56px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:24px}.overline{font-size:11px;letter-spacing:.13em;color:var(--teal);font-weight:800;text-transform:uppercase}.page-heading h1{font-size:30px;letter-spacing:-.035em;color:var(--navy);margin:6px 0}.page-heading p{color:var(--muted);margin:0;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:8px;padding:10px 15px;font-size:13px;font-weight:700;background:#fff;color:var(--navy);min-height:39px}.button:hover{border-color:var(--teal);color:var(--teal)}.button.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.button.primary:hover{background:var(--teal-dark)}.button:disabled{opacity:.45;cursor:default}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.kpi{padding:21px 22px;position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--teal)}.kpi .label{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.kpi .value{font-size:27px;letter-spacing:-.04em;font-weight:800;color:var(--navy);margin:12px 0 4px}.kpi .detail{font-size:12px;color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:17px;margin-bottom:17px}.panel{padding:22px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.panel-head h2{font-size:17px;margin:0;color:var(--navy)}.panel-head a{font-size:12px;color:var(--teal);font-weight:700}.bars{height:205px;display:flex;align-items:end;gap:20px;border-bottom:1px solid var(--line);padding:12px 7px 0}.bar-pair{height:100%;display:flex;gap:6px;align-items:end;flex:1;position:relative}.bar{width:50%;border-radius:5px 5px 0 0;background:#b8dcda}.bar.alt{background:var(--teal)}.bar-pair span{position:absolute;top:100%;font-size:11px;color:var(--muted);margin-top:8px;left:22%}.legend{display:flex;gap:17px;margin-top:32px;color:var(--muted);font-size:12px}.legend b{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;background:#b8dcda}.legend b.alt{background:var(--teal)}.progress-line{margin:17px 0}.progress-line .row{display:flex;justify-content:space-between;font-size:13px;margin-bottom:7px}.progress-line strong{color:var(--navy)}.progress-track{background:#e8eff3;height:9px;border-radius:10px;overflow:hidden}.progress-fill{background:var(--teal);height:100%;border-radius:10px}.summary-list{list-style:none;padding:0;margin:0}.summary-list li{padding:13px 0;border-top:1px solid #edf1f3;display:flex;justify-content:space-between;gap:8px;font-size:13px}.summary-list li:first-child{border:0}.summary-list .muted{color:var(--muted)}.summary-list .danger{color:var(--red);font-weight:800}.summary-list .warn{color:var(--amber);font-weight:800}.toolbar{display:flex;gap:10px;padding:17px;align-items:center;flex-wrap:wrap}.search-field{min-width:230px;flex:1;position:relative}.search-field:before{content:"⌕";position:absolute;left:13px;top:7px;color:#7890a0;font-size:23px;line-height:24px}.search-field input{padding-left:40px}.toolbar input,.toolbar select{height:40px;background:#fff;border:1px solid #cad7e0;border-radius:8px;padding:0 12px;color:var(--text);outline:0}.toolbar input:focus,.toolbar select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #087e8322}.toolbar select{min-width:145px}.data-wrap{overflow:auto;border-top:1px solid var(--line)}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:15px 18px;border-bottom:1px solid #edf1f4;white-space:nowrap}th{color:#647c8b;background:#f9fbfc;letter-spacing:.05em;font-size:11px;text-transform:uppercase;font-weight:800;cursor:pointer;user-select:none}th:hover{color:var(--teal)}tbody tr:hover{background:#f5fbfa}td:first-child{font-weight:700;color:var(--navy)}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:5px 9px;font-weight:700;font-size:11px;background:#eaf5ee;color:#217347}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge.warn{background:#fff3e1;color:#9c651c}.badge.danger{background:#fcebec;color:#af4650}.badge.neutral{background:#edf2f7;color:#52677a}.table-footer{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;color:var(--muted);font-size:12px}.pager{display:flex;gap:6px}.pager button{border:1px solid var(--line);border-radius:6px;background:#fff;padding:6px 11px;color:var(--navy)}.pager button:hover:not(:disabled){border-color:var(--teal)}.empty{padding:55px 20px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--navy);font-size:16px;margin-bottom:5px}.note{background:#eaf6f5;border:1px solid #c9e5e2;border-radius:9px;padding:14px 17px;color:#346770;font-size:13px;margin:17px 0}.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mini-link{padding:17px}.mini-link span{font-size:11px;color:var(--muted)}.mini-link strong{display:block;margin-top:6px;color:var(--navy)}.mini-link:hover{border-color:var(--teal)}.sidebar-scrim{display:none}@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.sidebar-scrim.show{display:block;position:fixed;inset:0;background:#0c2035a8;z-index:15}.main-shell{margin:0;width:100%}.menu-toggle{display:block}.topbar{gap:15px;padding:0 18px}.top-title{margin-right:auto}main{padding:24px 18px}}@media(max-width:600px){.kpi-grid,.mini-grid{grid-template-columns:1fr}.top-date{display:none}.page-heading{align-items:start;flex-direction:column}.page-heading h1{font-size:25px}.toolbar{align-items:stretch}.toolbar input,.toolbar select,.search-field{width:100%}.table-footer{gap:10px;align-items:start;flex-direction:column}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Expandable sidebar groups */
.sidebar .nav-group{display:block;margin-bottom:5px}
.sidebar .nav-group-title{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;border-radius:8px;padding:12px 13px;min-height:38px;color:#a9bfcb;font-size:11px}
.sidebar .nav-group-title::-webkit-details-marker{display:none}
.sidebar .nav-group-title:hover,.sidebar .nav-group-title:focus-visible{background:#254257;color:#fff}
.sidebar .nav-group-title:focus-visible{outline:2px solid #6dc9c8;outline-offset:2px}
.sidebar .nav-group[open]>.nav-group-title{color:#fff}
.sidebar .nav-chevron{width:8px;height:8px;margin-right:4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .18s ease}
.sidebar .nav-group[open] .nav-chevron{transform:rotate(225deg)}
.sidebar .nav-items{padding:2px 0 8px 7px}

/* Per-user color palettes */
.theme-emerald{--navy:#14342f;--navy2:#102b27;--teal:#157e69;--teal-dark:#116452;--bg:#f2f8f5;--text:#263e36;--muted:#607c71;--line:#d8e8de;--amber:#a87521;--shadow:0 9px 30px rgba(16,52,43,.07)}
.theme-royal{--navy:#182a50;--navy2:#112040;--teal:#335bc5;--teal-dark:#26479e;--bg:#f3f5fd;--text:#243458;--muted:#64728f;--line:#dce2f0;--amber:#ad7721;--shadow:0 9px 30px rgba(27,50,109,.08)}
.theme-sunset{--navy:#493029;--navy2:#39241e;--teal:#b65338;--teal-dark:#943d29;--bg:#fcf6f1;--text:#493932;--muted:#806c60;--line:#efdfd3;--amber:#ae7423;--shadow:0 9px 30px rgba(73,48,41,.08)}
.theme-slate{--navy:#263444;--navy2:#1c2836;--teal:#507b9c;--teal-dark:#3b627f;--bg:#f1f4f7;--text:#303e4d;--muted:#677988;--line:#d9e2e9;--amber:#a77728;--shadow:0 9px 30px rgba(26,42,57,.08)}
.theme-picker{display:flex;align-items:center;gap:7px;white-space:nowrap}
.theme-picker label{font-size:12px;font-weight:700;color:var(--muted)}
.theme-picker select{max-width:126px;padding:8px 27px 8px 9px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--text);font-size:12px}
.theme-picker select:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.theme-picker button{font-size:12px}
@media(max-width:600px){.theme-picker label{display:none}.theme-picker select{max-width:108px}.top-actions{gap:9px}}
/* Use the selected accent across controls. */
body[class*="theme-"] .brand-icon,body[class*="theme-"] .nav-link.active{background:var(--teal)}
body[class*="theme-"] .kpi:before,body[class*="theme-"] .bar.alt,body[class*="theme-"] .legend b.alt,body[class*="theme-"] .progress-fill{background:var(--teal)}
body[class*="theme-"] .badge{color:var(--teal);background:var(--bg)}
body[class*="theme-"] .badge.warn{color:var(--amber);background:#fff3e1}
body[class*="theme-"] .badge.danger{color:var(--red);background:#fcebec}
body[class*="theme-"] .badge.neutral{color:var(--muted);background:var(--bg)}
body[class*="theme-"] .note{border-color:var(--line);background:var(--bg);color:var(--text)}
body[class*="theme-"] .sidebar{background:var(--navy)}

/* EstateCore brand, available as a per-user theme. */
.theme-zara{--navy:#262b35;--navy2:#1b2029;--teal:#bd3047;--teal-dark:#9c263c;--bg:#f8f7f7;--text:#303440;--muted:#6c7280;--line:#e5e2e5;--amber:#df722e;--green:#78a845;--shadow:0 9px 30px rgba(36,41,52,.07)}
.brand .brand-logo{width:75px;height:55px;object-fit:contain;padding:5px;border-radius:8px;background:white;flex:none}
.brand .brand-copy strong{letter-spacing:.05em}
.login-logo{width:185px;max-width:100%;height:auto;display:block;margin-bottom:14px}
.theme-zara .nav-link.active{background:var(--teal)}
.theme-zara .badge:not(.warn):not(.danger):not(.neutral){color:#346b2b;background:#edf6ea}
.theme-zara .button.primary{background:var(--teal);border-color:var(--teal)}
.theme-zara .button.primary:hover{background:var(--teal-dark)}
@media(max-width:900px){.brand .brand-logo{width:70px}}

/* Portfolio dashboard: EstateCore branding and responsive financial cards. */
.dashboard-heading{align-items:center}.dashboard-stamp{color:var(--muted);font-size:12px;white-space:nowrap}
.dashboard-filters{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:15px 18px;margin-bottom:18px}
.dashboard-filters label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--muted);min-width:170px;flex:1}
.dashboard-filters select,.dashboard-filters input{height:39px;width:100%;border:1px solid var(--line);border-radius:8px;padding:0 10px;color:var(--text);background:#fff;font-size:13px}
.dashboard-filters .button{white-space:nowrap}.dashboard-kpis{grid-template-columns:repeat(7,minmax(125px,1fr))}.dashboard-kpis .kpi{padding:17px 16px;min-height:105px}.dashboard-kpis .value{font-size:25px}.dashboard-kpis .kpi:hover{border-color:var(--teal);transform:translateY(-1px)}
.dashboard-section{margin-bottom:17px}.panel-head small,.panel-intro{display:block;color:var(--muted);font-size:11px;line-height:1.5;font-weight:400;margin-top:5px}.panel-intro{margin:-8px 0 12px}.money-grid{display:grid;gap:12px}.money-row{display:grid;grid-template-columns:90px repeat(4,minmax(110px,1fr));gap:12px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:14px 16px}.money-row>div:not(.progress-track){display:flex;flex-direction:column;gap:4px}.money-row small{font-size:10px;text-transform:uppercase;color:var(--muted);letter-spacing:.04em}.money-row strong{font-size:14px}.money-row .currency-label{font-size:16px;color:var(--teal)}.money-row .progress-track{grid-column:1/-1;margin:0}.progress-track .progress-fill{display:block}
.dashboard-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:17px}.dashboard-three .panel{min-width:0}.dashboard-three .panel-head{align-items:start}.dashboard-three th,.dashboard-three td{padding:11px 10px}.dashboard-three .data-wrap{max-height:290px;overflow:auto}.dashboard-three .summary-list a{font-weight:800;color:var(--teal)}.dashboard-three .summary-list a.danger,.money-row .danger{color:var(--red)}.occupancy-figure{display:flex;align-items:baseline;gap:8px;padding:8px 0 13px}.occupancy-figure strong{font-size:40px;color:var(--teal);letter-spacing:-.05em}.occupancy-figure span{font-size:12px;color:var(--muted)}
@media(max-width:1450px){.dashboard-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.dashboard-three{grid-template-columns:1fr}.money-row{grid-template-columns:repeat(2,minmax(0,1fr))}.money-row .currency-label{grid-column:1/-1}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.dashboard-heading{align-items:flex-start}.dashboard-filters label{min-width:100%}.dashboard-filters .button{flex:1}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dashboard-kpis .kpi{min-height:95px}.dashboard-kpis .value{font-size:23px}.money-row{padding:12px}.money-row strong{font-size:13px}}

/* Screenshot dashboard and navigation */
.theme-zara{--navy:#172638;--navy2:#101c2e;--bg:#f3f6fc;--text:#24344f;--line:#e5ebf4;--green:#19a977;--red:#ef536b;--shadow:0 4px 20px rgba(25,43,75,.04)}
main{max-width:1850px;padding:25px 24px 45px}.sidebar{width:240px}.main-shell{margin-left:240px;width:calc(100% - 240px)}.brand{min-height:75px;padding:12px 17px}.brand .brand-logo{width:55px;height:42px}.brand strong{font-size:15px}.sidebar nav{padding:10px 9px}.nav-link{font-size:12px;padding:8px 10px;min-height:34px}.sidebar .nav-group-title{font-size:10px;padding:11px 10px;min-height:32px}.sidebar .nav-items{padding-left:4px}.sidebar-bottom{padding:15px}.topbar{height:70px;padding:0 24px;gap:14px}.top-title strong{font-size:16px}.top-actions{gap:12px}.top-date{font-size:11px}.global-search{display:flex;flex:1;max-width:350px;position:relative}.global-search input{border:1px solid var(--line);border-radius:6px;padding:9px 35px 9px 11px;width:100%;font-size:11px;background:#fafdff}.global-search button{position:absolute;right:3px;top:3px;background:transparent;border:0;font-size:21px;color:var(--muted)}.notification-link{position:relative;font-size:18px}.notification-link small{background:var(--teal);color:#fff;border-radius:12px;padding:2px 5px;font-size:9px;position:absolute;right:-5px;top:-8px}
.page-heading h1{font-size:27px}.page-heading p{font-size:12px}.suite-filters{display:flex;flex-wrap:wrap;gap:9px;align-items:end;margin-bottom:18px}.suite-filters label{display:flex;flex-direction:column;gap:4px;font-size:10px;font-weight:700;flex:1;min-width:135px;color:var(--muted)}.suite-filters select,.suite-filters input{width:100%;height:35px;padding:0 9px;background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--text);font-size:12px}.suite-filters .button{min-height:35px;padding:8px 12px}.suite-kpis{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;margin-bottom:17px}.suite-kpi{display:flex;gap:9px;padding:15px 10px;min-height:100px;align-items:start}.suite-kpi .label{display:block;font-size:9px;line-height:1.5;text-transform:uppercase;font-weight:800;color:#566982}.suite-kpi strong{display:block;font-size:20px;font-weight:800;color:#14213d;line-height:1.3;margin:5px 0;overflow-wrap:anywhere}.suite-kpi small{font-size:9px;color:#768698}.kpi-icon{display:grid;place-items:center;flex:none;width:30px;height:32px;border-radius:8px;font-size:21px;background:#e8f3ff;color:#218cf7}.tone-green{background:linear-gradient(#fff,#f3fcf8)}.tone-green .kpi-icon{background:#dff7ee;color:#19a977}.tone-red{background:linear-gradient(#fff,#fff5f7)}.tone-red .kpi-icon{background:#ffebef;color:#ef536b}.tone-purple .kpi-icon{background:#f1e8fe;color:#976be9}.tone-orange .kpi-icon{background:#fff1dc;color:#e69b1b}.suite-dashboard{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.suite-dashboard>.panel{grid-column:span 4;min-width:0;padding:16px}.suite-dashboard>.span-2{grid-column:span 6}.suite-dashboard>.occupancy-card,.suite-dashboard>.collection-card{grid-column:span 3}.suite-dashboard h2{font-size:13px;line-height:1.4}.suite-dashboard .panel-head{margin-bottom:12px;align-items:start}.suite-dashboard .panel-head a{white-space:nowrap;font-size:10px}.suite-dashboard table{font-size:11px}.suite-dashboard th{font-size:9px;letter-spacing:0}.suite-dashboard td,.suite-dashboard th{padding:10px 8px}.suite-dashboard .data-wrap{border-top:0}.record-link{color:var(--teal);font-weight:700}.chart{display:block;width:100%;height:auto;max-height:220px}.chart-legend{display:flex;gap:12px;font-size:10px;align-items:center;justify-content:center;color:var(--muted)}.chart-legend span:before{content:'';display:inline-block;width:8px;height:8px;background:var(--dot);margin-right:4px;border-radius:2px}.donut-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:center;padding:10px 0}.donut{width:130px;height:130px;flex:none;border-radius:50%;background:var(--segments);display:grid;place-items:center}.donut>div{width:100px;height:100px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.donut strong{font-size:24px;color:#152745}.donut small{font-size:10px;color:var(--muted)}.donut-labels{display:flex;flex-direction:column;gap:10px;font-size:10px;min-width:115px}.donut-labels span{display:flex;justify-content:space-between;gap:10px}.donut-labels .button{font-size:10px;min-height:30px;padding:5px 9px}.collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.collection-grid>div{background:#f7faff;border-radius:6px;padding:11px 8px;display:flex;flex-direction:column;gap:6px}.collection-grid small{font-size:10px;color:var(--muted)}.collection-grid strong{font-size:12px;overflow-wrap:anywhere}.metric-caption{font-size:10px;color:var(--muted);line-height:1.5}.panel-link{display:block;text-align:right;font-size:10px;font-weight:700;color:var(--teal);margin-top:12px}.action-panel{background:linear-gradient(#fff2f5,#fff)}.action-panel h2{color:#bb2945}.suite-dashboard .summary-list li{font-size:12px;padding:11px 0}.deposit-total{font-size:24px;font-weight:800;margin:6px 0 18px}.deposits{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:auto}.calendar-weekday{padding:12px;text-align:center;background:#eef3fb;font-weight:700;font-size:12px}.calendar-day{border-top:1px solid var(--line);border-right:1px solid var(--line);min-height:130px;padding:8px;font-size:12px}.calendar-day.today{background:#fff3f5}.calendar-day a{display:block;font-size:10px;border-left:3px solid var(--teal);background:#f0f4fb;border-radius:3px;padding:5px;margin-top:6px}.calendar-day.blank{background:#f9fbfd}
@media(max-width:1500px){.suite-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.top-title .eyebrow{display:none}.global-search{max-width:220px}.suite-dashboard>.occupancy-card,.suite-dashboard>.collection-card{grid-column:span 6}.suite-dashboard>.span-2{grid-column:span 12}}
@media(max-width:1150px){.suite-dashboard>.panel{grid-column:span 6}.global-search{display:none}.topbar{padding:0 15px}.top-date{display:none}}
@media(max-width:900px){.main-shell{margin-left:0;width:100%}.sidebar{width:240px}main{padding:22px 16px}}
@media(max-width:650px){.suite-dashboard>.panel{grid-column:span 12}.suite-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.suite-kpi strong{font-size:19px}.topbar{gap:8px}.top-title strong{font-size:13px}.top-actions{gap:9px}.theme-picker select{max-width:90px}.suite-filters label{min-width:calc(50% - 10px)}.calendar-grid{grid-template-columns:repeat(7,minmax(110px,1fr))}.dashboard-stamp{font-size:10px}.deposits strong{font-size:11px}.chart-legend{flex-wrap:wrap}}

/* EstateCore reference layout, October 2026. */
.ui-icon{width:18px;height:18px;flex:none;vertical-align:middle}.sidebar{width:224px;background:linear-gradient(125deg,var(--navy),var(--navy2))}.main-shell{margin-left:224px;width:calc(100% - 224px)}.brand{min-height:64px;border-bottom:0}.brand strong{font-size:19px;letter-spacing:0}.brand small{font-size:10px}.sidebar nav{padding:6px 9px}.nav-link{font-size:11px;min-height:28px;padding:5px 10px;gap:10px;border-radius:5px}.nav-link .ui-icon{width:15px;height:15px}.nav-link.active{background:var(--teal)}.sidebar .nav-group-title{padding:9px 10px 5px;min-height:27px;font-size:9px;color:#96bce8;letter-spacing:.14em}.sidebar .nav-group[open]>.nav-group-title{color:#96bce8}.sidebar .nav-items{padding:0 0 2px}.sidebar .nav-chevron{width:5px;height:5px;border-width:1px}.sidebar-bottom{font-size:10px}.reference-header{height:64px;padding:0 20px;gap:15px;box-shadow:0 2px 5px #183a6410}.reference-header .menu-toggle{display:block;padding:0;line-height:1}.reference-header .global-search{display:flex;flex:0 1 320px;max-width:320px;min-width:150px;margin-right:auto}.global-search input{height:32px;font-size:10px;padding-left:30px;background:#fff}.global-search button{left:5px;right:auto;top:6px;line-height:1;padding:0}.global-search .ui-icon{width:15px;height:15px}.header-filters{display:flex;gap:7px;margin-left:auto}.header-filters label{display:flex;align-items:center;position:relative;border:1px solid #d7e1ef;border-radius:5px;background:white;height:32px;min-width:0}.header-filters label>.ui-icon{position:absolute;left:7px;width:13px;height:13px;pointer-events:none;color:#315277}.header-filters select,.header-filters input{border:0;background:transparent;color:#16243f;font-size:10px;width:115px;height:30px;padding:0 8px 0 24px;outline-offset:2px}.header-filters .currency-filter select{width:64px;padding-left:7px}.header-filters .month-filter input{width:144px;padding-left:25px}.top-actions{gap:22px;flex:none}.notification-link .ui-icon{width:22px;height:22px;fill:#234363;stroke:#234363}.notification-link small{background:#ee344f}.profile-menu{position:relative}.profile-menu summary{display:flex;align-items:center;gap:9px;list-style:none;cursor:pointer}.profile-menu summary::-webkit-details-marker{display:none}.avatar{background:#203b5c;color:white;width:33px;height:33px}.avatar .ui-icon{width:22px;height:22px}.profile-name{display:flex;flex-direction:column;font-size:11px;gap:2px}.profile-name small{font-size:9px}.profile-chevron{margin-left:10px}.profile-dropdown{position:absolute;top:45px;right:0;background:white;border:1px solid var(--line);box-shadow:0 8px 25px #15263826;padding:15px;border-radius:8px;width:230px;z-index:30}.profile-dropdown .theme-picker{display:flex;flex-wrap:wrap;margin-bottom:15px}.profile-dropdown .theme-picker select{max-width:none}.page-heading{margin-bottom:14px}.page-heading h1{font-size:25px;margin:0 0 4px}.dashboard-stamp{font-size:10px}main{padding:20px;max-width:1900px}.suite-kpis{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin-bottom:10px}.suite-kpi{padding:12px 9px;min-height:96px;gap:8px;border-radius:8px;background:linear-gradient(130deg,#fff,#f2f8ff)}.suite-kpi>div{min-width:0}.suite-kpi .label{font-size:8px;letter-spacing:-.02em;min-height:23px}.suite-kpi strong{font-size:20px;margin:2px 0 8px;letter-spacing:-.03em}.suite-kpi small{font-size:8px;color:#009779}.kpi-icon{width:33px;height:38px;border-radius:10px}.kpi-icon .ui-icon{width:25px;height:25px}.tone-green{background:linear-gradient(130deg,#fff,#f1faf6)}.tone-red{background:linear-gradient(130deg,#fff,#fff3f5)}.tone-purple{background:linear-gradient(130deg,#fff,#f8f4ff)}.tone-orange{background:linear-gradient(130deg,#fff,#fff8ed)}.suite-kpi.tone-green strong,.suite-kpi.tone-orange strong{font-size:16px}.suite-dashboard{gap:10px}.suite-dashboard>.panel{grid-column:span 4;padding:13px;border-radius:9px}.suite-dashboard>.span-2{grid-column:span 5}.suite-dashboard>.occupancy-card{grid-column:span 3}.suite-dashboard>.collection-card{grid-column:span 4}.suite-dashboard h2{font-size:12px;display:flex;align-items:center;gap:7px;letter-spacing:-.02em;color:#13213d}.suite-dashboard h2 .ui-icon{color:#355476;width:18px;height:18px}.suite-dashboard .panel-head{align-items:center;margin-bottom:10px;min-height:22px}.suite-dashboard .panel-head a{color:#087cfb;font-size:9px}.suite-dashboard td,.suite-dashboard th{padding:7px 6px}.suite-dashboard th{font-size:9px;text-transform:none;background:#f4f7fc;color:#294572}.suite-dashboard table{font-size:10px}.suite-dashboard td:first-child{font-weight:500}.suite-dashboard .badge{font-size:9px;padding:3px 7px;font-weight:500}.donut-row{flex-wrap:nowrap;gap:12px;justify-content:space-evenly;padding:8px 0}.donut{width:112px;height:112px}.donut>div{width:82px;height:82px}.donut strong{font-size:22px}.donut small{font-size:9px}.donut-labels{min-width:95px;gap:10px;font-size:9px}.donut-labels span{align-items:center;gap:5px}.donut-labels span:before{content:'';background:var(--legend-color,#18af7d);width:8px;height:8px;border-radius:50%;flex:none}.donut-labels span b{margin-left:auto}.donut-labels .legend-vacant:before{background:#fa5368}.donut-labels .button{color:#087cfb;font-size:9px;align-self:end;margin-top:12px;min-height:25px}.collection-card .collection-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.collection-grid>div{padding:10px 7px;background:#f7f9fd;border:1px solid #f1f4fa}.collection-grid strong{font-size:12px;color:#10203b}.collection-grid small{font-size:9px;color:#344866}.collection-card .collection-grid>div{background:#fff;padding:8px 4px}.collection-card .collection-grid strong{font-size:11px}.collection-card .collection-grid>div:nth-child(3) strong{color:#dc6300}.collection-card .collection-grid>div:nth-child(4) strong{color:#f1284c}.metric-caption{margin:14px 0 5px;font-size:10px}.progress-track{height:11px;background:#dfe7f1}.progress-fill{background:#17ae7c!important}.panel-link{color:#087cfb}.action-panel{background:linear-gradient(#fff0f3,#fff)}.action-panel h2,.action-panel h2 .ui-icon{color:#c21e45}.suite-dashboard .summary-list{background:white;border-radius:7px;padding:3px 9px}.suite-dashboard .summary-list li{padding:9px 0;font-size:10px;border:0;flex-direction:row-reverse;justify-content:flex-end;gap:12px;align-items:center}.summary-list li strong{font-size:17px;color:#bf2446;min-width:20px}.summary-list li a{color:#182947}.deposit-total{font-size:23px;margin:5px 0 12px}.table-progress{display:inline-block;vertical-align:middle;width:42px;height:7px;border-radius:8px;background:#e8edf4;overflow:hidden}.table-progress i{display:block;height:100%;background:#19ad78;border-radius:8px}.chart{max-height:175px}.chart-legend{font-size:9px;gap:10px;margin-top:3px}.brand .brand-logo{width:39px;height:39px;padding:3px;border-radius:4px}.brand-copy strong{color:white}.brand-copy strong::first-letter{color:#ef4059}
@media(min-width:901px){body.nav-collapsed .sidebar{transform:translateX(-100%)}body.nav-collapsed .main-shell{margin-left:0;width:100%}}
@media(max-width:1300px){.reference-header{gap:10px;padding:0 15px}.global-search{max-width:210px}.top-actions{gap:15px}.profile-name{display:none}.suite-kpi{gap:5px;padding:10px 6px}.kpi-icon{width:26px;height:30px}.kpi-icon .ui-icon{width:21px;height:21px}.suite-kpi strong{font-size:18px}.suite-kpi.tone-green strong,.suite-kpi.tone-orange strong{font-size:14px}.donut-row{gap:8px}.donut{width:95px;height:95px}.donut>div{width:69px;height:69px}}
@media(max-width:1100px){.suite-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.suite-dashboard>.panel{grid-column:span 6}.suite-dashboard>.span-2{grid-column:span 12}.global-search{display:none}.header-filters{margin-left:0;flex:1;justify-content:flex-end}.donut{width:112px;height:112px}.donut>div{width:82px;height:82px}}
@media(max-width:900px){.main-shell{margin-left:0;width:100%}.sidebar{width:224px}.reference-header{height:auto;min-height:64px;flex-wrap:wrap;padding:12px 15px}.header-filters{order:3;flex-basis:100%;justify-content:flex-start;flex-wrap:wrap}.top-actions{margin-left:auto}.profile-name{display:flex}.global-search{display:flex;max-width:none}main{padding:18px 14px}}
@media(max-width:650px){.suite-dashboard>.panel{grid-column:span 12}.suite-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.suite-kpi{padding:12px;gap:10px}.suite-kpi strong{font-size:22px}.suite-kpi.tone-green strong,.suite-kpi.tone-orange strong{font-size:18px}.header-filters label{flex:1}.header-filters select{width:100%}.header-filters .month-filter input{width:100%}.global-search{min-width:100px}.profile-name{display:none}.dashboard-stamp{display:none}.suite-kpi .label{font-size:9px}.collection-card .collection-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.brand-word{color:#ef4059}.nav-count{margin-left:auto;background:#ec3952;color:white;border-radius:12px;font-size:9px;line-height:17px;min-width:17px;text-align:center}.action-count{color:#b92140;background:#ffe1e6;border:1px solid #ffb8c5;border-radius:20px;padding:4px 9px;font-size:9px}.suite-kpi.tone-green:nth-child(3) strong{font-size:20px}
.reference-brand-icon{display:flex;color:white}.reference-brand-icon .ui-icon{width:34px;height:36px;stroke-width:1.5}


/* Accordion navigation: right arrow when closed, down arrow when expanded. */
.sidebar .nav-group .nav-chevron { transform: rotate(-45deg); }
.sidebar .nav-group[open] .nav-chevron { transform: rotate(45deg); }
.sidebar .nav-group[open] > .nav-group-title { background: rgba(255,255,255,.06); }

/* Bottom sidebar arrow stays visible when the desktop menu is hidden. */
.sidebar{padding-bottom:48px;transition:transform .2s ease}
.main-shell{transition:margin-left .2s ease,width .2s ease}
.sidebar-collapse{position:fixed;left:184px;bottom:12px;z-index:25;width:28px;height:28px;display:grid;place-items:center;padding:5px;border:1px solid #7491ad65;border-radius:7px;background:var(--navy);color:#dce9f6;cursor:pointer;box-shadow:0 2px 8px #10203325;transition:left .2s ease}
.sidebar-collapse svg{width:17px;height:17px;transition:transform .2s ease}
.sidebar-collapse:hover{background:var(--navy2);color:white}
.sidebar-collapse:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
body.nav-collapsed .sidebar-collapse{left:8px}
body.nav-collapsed .sidebar-collapse svg{transform:rotate(180deg)}
@media(max-width:900px){.sidebar-collapse{display:none}body.mobile-menu-open .sidebar-collapse{display:grid;left:184px}body.mobile-menu-open .sidebar-collapse svg{transform:none}}
@media(prefers-reduced-motion:reduce){.sidebar,.main-shell,.sidebar-collapse,.sidebar-collapse svg{transition:none}}

/* Brand treatment for the dark sidebar; only the built-in mark is recolored. */
.sidebar .brand{display:flex;align-items:center;justify-content:center;min-height:75px;padding:10px 14px;overflow:hidden}
.sidebar .brand-image{display:block;flex:0 1 auto;width:auto;max-width:100%!important;height:auto;max-height:48px;object-fit:contain;object-position:center}
.sidebar .brand-image[src*="estatecore-logo-white.svg"]{filter:none}

/* Compact sidebar footer: status, workspace name, brand and arrow on one row. */
.sidebar{padding-bottom:0}
.sidebar-bottom{position:sticky;bottom:0;flex-shrink:0;display:flex;align-items:center;gap:5px;min-height:44px;padding:8px 42px 8px 10px;white-space:nowrap;background:var(--navy);border-top:1px solid #7491ad35;z-index:1}
.sidebar-bottom .live-dot{width:6px;height:6px;flex:none;margin:0}
.sidebar-bottom small{display:inline;margin:0;color:#91aab6;white-space:nowrap}
.sidebar-collapse{width:26px;height:26px;bottom:9px;left:186px}
@media(max-width:900px){body.mobile-menu-open .sidebar-collapse{left:186px}}

/* Compact dashboard layout requested for the portal overview pages. */
.dashboard-compact{padding:12px 20px 30px!important}
.dashboard-compact>.page-heading{display:none}
.dashboard-compact .suite-kpi{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:12px 8px}
.dashboard-compact .suite-kpi>div{width:100%;min-width:0;text-align:center}
.dashboard-compact .suite-kpi .label,.dashboard-compact .suite-kpi strong,.dashboard-compact .suite-kpi small{display:block;width:100%;text-align:center}
.dashboard-compact .kpi{text-align:center;padding:17px 12px}
.dashboard-compact .kpi .label,.dashboard-compact .kpi .value,.dashboard-compact .kpi .detail{text-align:center}
.dashboard-controls{display:flex;align-items:flex-end;gap:10px;margin-bottom:10px}
.dashboard-controls>.suite-filters{flex:1;min-width:0;margin-bottom:0}
.dashboard-controls>.button{flex:none;margin-bottom:0}
@media(max-width:700px){.dashboard-compact{padding:10px 12px 24px!important}.dashboard-controls{align-items:stretch;flex-wrap:wrap}.dashboard-controls>.suite-filters{flex-basis:100%}.dashboard-controls>.button{margin-left:auto}}

/* Keep the country and other list search icons clear of their placeholder text. */
.toolbar .search-field input{padding-left:42px}
.toolbar .search-field:before{left:14px;pointer-events:none}

/* Compact table actions with visible edit and document controls. */
.table-actions{white-space:nowrap}.table-actions a.action-edit{display:inline-flex;align-items:center;justify-content:center;margin-right:8px;color:#087e83;font-weight:700}.table-actions .action-icon{display:inline-flex;align-items:center;justify-content:center}.table-actions .action-icon .ui-icon{width:15px;height:15px}.table-actions a.action-pdf{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;min-height:29px;border:1px solid #bd2947;border-radius:6px;background:#bd2947;color:#fff;font-size:11px;font-weight:700}.table-actions a.action-pdf:hover{border-color:#9e1f3a;background:#9e1f3a;color:#fff}
