:root{color:#17201c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f6f2;font-family:Inter,Segoe UI Variable Text,Segoe UI,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}html{background:#f3f6f2;min-width:320px}body{min-width:320px;min-height:100svh;margin:0}#root{min-height:100svh}.button-with-icon{justify-content:center;align-items:center;gap:7px;display:inline-flex}.hostel-empty{min-height:88px;color:var(--muted);align-items:center;gap:10px;padding:20px;display:flex}.hostel-empty p{margin:0}.hostel-suite-list{display:grid}.hostel-suite{border-top:1px solid var(--line);min-width:0;padding:20px}.hostel-suite:first-child{border-top:0}.hostel-suite-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.hostel-code{color:var(--teal-dark);text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:720;display:block}.hostel-suite h4{color:var(--ink);letter-spacing:0;margin:0;font-size:18px;font-weight:650}.hostel-suite-heading p,.hostel-notes{color:var(--muted);margin:6px 0 0;font-size:13px}.hostel-suite-actions{flex:none;justify-items:end;display:grid}.hostel-suite-actions strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:20px}.hostel-suite-actions span{color:var(--muted);margin-bottom:10px;font-size:12px}.hostel-suite-actions .hostel-action-note{max-width:210px;color:var(--muted);text-align:right;margin:8px 0 0;font-size:11px;line-height:1.35}.hostel-action-note a{color:var(--teal-dark);font-weight:600;text-decoration:none}.hostel-action-note a:hover,.hostel-action-note a:focus-visible{text-decoration:underline}.hostel-rates{border-block:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0;display:grid}.hostel-rates div{border-left:1px solid var(--line);min-width:0;padding:12px 16px}.hostel-rates div:first-child{border-left:0;padding-left:0}.hostel-rates dt{color:var(--muted);text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:650}.hostel-rates dd{margin:0;font-size:15px;font-weight:650}.hostel-bedroom-list{gap:8px;display:grid}.hostel-bedroom{background:var(--surface-soft);border-radius:6px;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) auto;align-items:center;gap:18px;min-height:60px;padding:10px 12px;display:grid}.hostel-bedroom-copy{min-width:0}.hostel-bedroom-copy strong,.hostel-bedroom-copy span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.hostel-bedroom-copy strong{color:var(--ink);font-size:13px}.hostel-bedroom-copy span,.hostel-capacity span{color:var(--muted);margin-top:3px;font-size:12px}.hostel-capacity{min-width:0;display:grid}.hostel-capacity progress{background:var(--line);width:100%;height:8px;accent-color:var(--teal);border:0;border-radius:999px;overflow:hidden}.hostel-capacity progress::-webkit-progress-bar{background:var(--line);border-radius:999px}.hostel-capacity progress::-webkit-progress-value{background:var(--teal);border-radius:999px}.hostel-capacity progress::-moz-progress-bar{background:var(--teal);border-radius:999px}.hostel-allocation-form{gap:20px;display:grid}.hostel-source-fieldset,.hostel-room-picker{border:0;min-width:0;margin:0;padding:0}.hostel-source-fieldset legend,.hostel-room-picker legend{color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:560}.hostel-source-control{border:1px solid var(--line-strong);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.hostel-source-control button{border:0;border-left:1px solid var(--line-strong);background:var(--surface);min-height:44px;box-shadow:none;border-radius:0;justify-content:center;align-items:center;gap:8px;display:flex}.hostel-source-control button:first-child{border-left:0}.hostel-source-control button.selected{color:var(--teal-dark);box-shadow:inset 0 -3px 0 var(--teal);background:#eaf5f0}.hostel-room-picker{border:1px solid var(--line);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;display:grid}.hostel-room-picker legend{padding:0 4px}.hostel-room-picker>label{background:var(--surface-soft);border-radius:5px;align-items:center;gap:9px;min-width:0;padding:8px 10px;display:flex}.hostel-room-picker input{flex:none}.hostel-room-picker span{min-width:0;color:var(--muted);font-size:12px;display:grid}.hostel-room-picker strong{color:var(--ink);font-size:13px}.hostel-room-picker p{color:var(--muted);grid-column:1/-1;margin:0;font-size:13px}.hostel-mode-fieldset{border:0;min-width:0;margin:0;padding:0}.hostel-mode-fieldset legend{color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:560}.hostel-mode-control{border:1px solid var(--line-strong);border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.hostel-mode-control button{border:0;border-left:1px solid var(--line-strong);background:var(--surface);min-width:0;min-height:64px;box-shadow:none;border-radius:0;justify-content:flex-start;align-items:center;gap:10px;padding:10px 12px;display:flex}.hostel-mode-control button:first-child{border-left:0}.hostel-mode-control button.selected{color:var(--teal-dark);box-shadow:inset 0 -3px 0 var(--teal);background:#eaf5f0}.hostel-mode-control button:disabled{color:var(--muted);background:var(--surface-soft)}.hostel-mode-control button span{text-align:left;min-width:0;display:grid}.hostel-mode-control strong,.hostel-mode-control small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hostel-mode-control strong{font-size:13px}.hostel-mode-control small{color:var(--muted);margin-top:2px;font-size:11px}.hostel-rate-preview{border-left:3px solid var(--teal);background:var(--surface-soft);align-content:center;min-height:64px;padding:10px 12px;display:grid}.hostel-rate-preview>span:first-child{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:650}.hostel-rate-preview .money{margin-top:4px;font-size:17px;font-weight:680}@media (width<=760px){.hostel-suite-heading{display:grid}.hostel-suite-actions{grid-template-columns:auto 1fr auto;place-items:center start;gap:7px;width:100%}.hostel-suite-actions span{margin:0}.hostel-suite-actions .hostel-action-note{text-align:left;grid-column:1/-1;max-width:none;margin-top:2px}.hostel-rates,.hostel-source-control,.hostel-room-picker,.hostel-mode-control{grid-template-columns:1fr}.hostel-rates div,.hostel-rates div:first-child{border-left:0;border-top:1px solid var(--line);padding:10px 0}.hostel-rates div:first-child{border-top:0}.hostel-bedroom{grid-template-columns:1fr auto}.hostel-capacity{grid-area:2/1/auto/-1}.hostel-mode-control button,.hostel-mode-control button:first-child{border-left:0;border-top:1px solid var(--line-strong)}.hostel-mode-control button:first-child{border-top:0}}:root{--font-sans:Inter, "Segoe UI Variable Text", "Segoe UI", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--canvas:#f4f7f5;--surface:#fff;--surface-soft:#f8faf8;--ink:#17201c;--ink-soft:#33413b;--muted:#6f7c76;--line:#dce6df;--line-strong:#c9d7ce;--teal:#0f766e;--teal-dark:#0b4f49;--gold:#b7791f;--blue:#315fd7;--red:#b42318;--green:#157347;--shadow-sm:0 1px 2px #17201c0f, 0 8px 18px #17201c0f;--shadow-md:0 2px 4px #17201c0f, 0 18px 42px #17201c1a;--shadow-lg:0 24px 60px #11231f38;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--sidebar-width:276px;--sidebar-rail:78px;--topbar-height:60px}body{color:var(--ink);background:var(--canvas);font-family:var(--font-sans)}.tenant-portal-shell{min-height:100svh;color:var(--ink);background:linear-gradient(#0f766e09 1px, transparent 1px), linear-gradient(90deg, #0f766e09 1px, transparent 1px), var(--canvas);background-size:28px 28px}.tenant-portal-header{z-index:30;justify-content:space-between;align-items:center;gap:var(--space-4);min-height:68px;padding:var(--space-3) clamp(var(--space-4), 5vw, var(--space-10));color:#ecfdf5;box-shadow:var(--shadow-sm);background:#11231f;display:flex;position:sticky;top:0}.tenant-portal-brand,.tenant-portal-account,.tenant-portal-brand>span:last-child,.tenant-portal-account>span{align-items:center;display:flex}.tenant-portal-brand{gap:var(--space-3);color:inherit;text-decoration:none}.tenant-portal-brand>span:last-child,.tenant-portal-account>span{flex-direction:column;align-items:flex-start;line-height:1.25}.tenant-portal-brand small,.tenant-portal-account small{color:#ecfdf5ad;font-size:11px}.tenant-portal-account{gap:var(--space-4)}.icon-text-button,.tenant-portal-state button,.tenant-receipt-action button{justify-content:center;align-items:center;gap:var(--space-2);display:inline-flex}.tenant-portal-header .icon-text-button{color:#ecfdf5;background:#ffffff14;border:1px solid #ecfdf529;min-height:38px;padding:8px 12px}.tenant-portal-workspace{width:min(1280px,100%);margin:0 auto;padding:clamp(24px,4vw,48px) clamp(16px,4vw,40px) 56px}.tenant-portal-intro,.tenant-section-heading,.tenant-portal-footer{justify-content:space-between;align-items:center;gap:var(--space-5);display:flex}.tenant-portal-intro{margin-bottom:var(--space-8)}.tenant-portal-intro h1{letter-spacing:0;margin:2px 0 6px;font-size:clamp(28px,4vw,42px);line-height:1.08}.tenant-portal-intro>div>p:last-child{color:var(--muted);margin:0}.tenant-year-control{align-items:center;gap:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);min-height:44px;box-shadow:var(--shadow-sm);grid-template-columns:auto auto minmax(84px,auto);padding:0 8px 0 12px;display:grid}.tenant-year-control span{color:var(--muted);font-size:13px}.tenant-year-control select{background:0 0;border:0;min-height:34px}.tenant-portal-state{align-content:center;place-items:center;gap:var(--space-3);min-height:280px;color:var(--muted);text-align:center;display:grid}.tenant-summary-grid{gap:var(--space-4);margin-bottom:var(--space-8);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tenant-summary-item{min-height:154px;padding:var(--space-5);background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--teal);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);grid-template-columns:auto 1fr;align-content:start;gap:10px 12px;display:grid}.tenant-summary-item.paid{border-top-color:var(--green)}.tenant-summary-item.advance{border-top-color:var(--gold)}.tenant-summary-item>svg{color:var(--teal)}.tenant-summary-item>span{color:var(--muted);font-size:13px}.tenant-summary-item>strong{grid-column:1/-1;font-size:28px;line-height:1.1}.tenant-summary-item>small{color:var(--muted);grid-column:1/-1}.tenant-portal-section{min-width:0;margin-bottom:var(--space-6);padding:var(--space-6);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.tenant-section-heading{margin-bottom:var(--space-5)}.tenant-section-heading h2{letter-spacing:0;margin:2px 0 0;font-size:20px}.tenant-section-heading>span{color:var(--muted);font-size:13px}.tenant-unit-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.tenant-unit-card{gap:var(--space-3);padding:var(--space-4);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);grid-template-columns:42px minmax(0,1fr);display:grid}.tenant-unit-icon,.tenant-receipt-icon{color:var(--teal-dark);border-radius:var(--radius-sm);background:#e5f3ee;place-items:center;display:grid}.tenant-unit-icon{width:42px;height:42px}.tenant-unit-card p{color:var(--muted);margin:3px 0 14px;font-size:13px}.tenant-unit-card dl{grid-template-columns:1fr 1fr;gap:10px 16px;margin:0;display:grid}.tenant-unit-card dl div{gap:2px;display:grid}.tenant-unit-card dt{color:var(--muted);text-transform:uppercase;font-size:11px}.tenant-unit-card dd{margin:0;font-size:13px;font-weight:650}.tenant-unit-card address{color:var(--muted);margin-top:14px;font-size:12px;font-style:normal}.tenant-portal-columns{gap:var(--space-6);grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);display:grid}.tenant-portal-columns>*,.tenant-table-wrap{min-width:0}.tenant-table-wrap{width:100%;max-width:100%;overflow-x:auto}.tenant-table-wrap table{border-collapse:collapse;width:100%}.tenant-table-wrap th,.tenant-table-wrap td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:12px 10px}.tenant-table-wrap th{color:var(--muted);text-transform:uppercase;font-size:11px}.tenant-table-wrap td{font-size:13px}.tenant-table-wrap td:last-child,.tenant-table-wrap th:last-child{text-align:right}.tenant-status{color:var(--muted);background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.tenant-status.paid{color:var(--green);background:#edf8f1;border-color:#c8e5d2}.tenant-status.unpaid,.tenant-status.partial{color:var(--red);background:#fff1ef;border-color:#f2cbc6}.amount-due{color:var(--red);font-weight:700}.amount-credit{color:var(--green);font-weight:700}.tenant-receipt-list{background:var(--line);gap:1px;display:grid}.tenant-receipt-list article{align-items:center;gap:var(--space-3);background:var(--surface);grid-template-columns:36px minmax(0,1fr) auto;padding:12px;display:grid}.tenant-receipt-icon{width:36px;height:36px}.tenant-receipt-list article>div:nth-child(2){gap:2px;min-width:0;display:grid}.tenant-receipt-list span,.tenant-receipt-list small{color:var(--muted);font-size:11px}.tenant-receipt-action{justify-items:end;gap:5px;display:grid}.tenant-receipt-action button{min-height:32px;padding:5px 9px}.tenant-empty{margin:var(--space-5) 0;color:var(--muted);text-align:center}.tenant-portal-footer{padding:var(--space-3) 0;color:var(--muted);justify-content:flex-start;font-size:12px}.backup-status-panel{margin-bottom:var(--space-6);padding:var(--space-5);background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.backup-status-panel.healthy{border-left-color:var(--green)}.backup-status-heading{align-items:center;gap:var(--space-3);grid-template-columns:42px minmax(0,1fr) 38px;display:grid}.backup-status-heading h2{letter-spacing:0;margin:2px 0 0;font-size:18px}.backup-status-icon{width:42px;height:42px;color:var(--teal-dark);border-radius:var(--radius-sm);background:#e5f3ee;place-items:center;display:grid}.backup-status-heading .icon-button{width:38px;height:38px;min-height:38px;padding:0}.backup-status-message,.backup-status-result{align-items:center;gap:var(--space-2);margin:var(--space-4) 0 0 54px;color:var(--muted);font-size:13px;display:flex}.backup-status-message.error{color:var(--red)}.backup-status-result{justify-content:space-between}.backup-status-result p{margin:0}.backup-health{color:var(--gold);background:#fff8eb;border:1px solid #efd8ae;border-radius:999px;flex:none;align-items:center;gap:6px;padding:5px 9px;font-size:11px;font-weight:750;display:inline-flex}.backup-health.healthy{color:var(--green);background:#edf8f1;border-color:#c8e5d2}.backup-status-facts{gap:var(--space-3);margin:var(--space-4) 0 0 54px;grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.backup-status-facts div{min-width:0}.backup-status-facts dt{color:var(--muted);text-transform:uppercase;font-size:11px}.backup-status-facts dd{overflow-wrap:anywhere;align-items:center;gap:5px;min-width:0;margin:4px 0 0;font-size:12px;font-weight:650;display:flex}@media (width<=900px){.backup-status-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.backup-status-message,.backup-status-result,.backup-status-facts{margin-left:0}.backup-status-result{flex-direction:column;align-items:flex-start}.backup-status-facts{grid-template-columns:1fr}}@media (width<=860px){.tenant-summary-grid,.tenant-portal-columns{grid-template-columns:1fr}}@media (width<=620px){.tenant-portal-account>span,.tenant-portal-header .icon-text-button span{display:none}.tenant-portal-header .icon-text-button{width:40px;padding:0}.tenant-portal-intro{flex-direction:column;align-items:flex-start}.tenant-year-control{grid-template-columns:auto 1fr auto;width:100%}.tenant-summary-grid{gap:var(--space-3)}.tenant-summary-item{min-height:132px}.tenant-portal-section{padding:var(--space-4)}.tenant-unit-card dl{grid-template-columns:1fr}.tenant-receipt-list article{grid-template-columns:36px minmax(0,1fr)}.tenant-receipt-action{grid-column:2;grid-template-columns:1fr auto;place-items:center stretch}}.sidebar-toggle.desktop-only{display:none}.sidebar-toggle.mobile-only{display:grid}.app-shell{min-height:100svh;color:var(--ink);background:var(--canvas);font-family:var(--font-sans);display:block}.mobile-topbar{z-index:40;height:var(--topbar-height);align-items:center;gap:var(--space-3);padding:0 var(--space-4);color:#ecfdf5;box-shadow:var(--shadow-sm);background:#11231f;display:flex;position:sticky;top:0}.mobile-nav-toggle{border-radius:var(--radius-sm);cursor:pointer;background:#ffffff14;border:1px solid #ecfdf529;place-items:center;width:42px;height:42px;min-height:42px;padding:0;display:grid}.hamburger-icon,.hamburger-icon:before,.hamburger-icon:after{background:#ecfdf5;border-radius:2px;width:18px;height:2px;transition:transform .2s;display:block}.hamburger-icon{position:relative}.hamburger-icon:before,.hamburger-icon:after{content:"";position:absolute;left:0}.hamburger-icon:before{top:-6px}.hamburger-icon:after{top:6px}.mobile-brand{align-items:center;gap:var(--space-3);font-weight:640;display:flex}.mobile-brand .brand-mark{width:36px;height:36px;font-size:13px}.mobile-brand-name{letter-spacing:.2px;font-size:16px}.sidebar-backdrop{z-index:50;opacity:0;visibility:hidden;background:#0a141180;transition:opacity .25s,visibility .25s;position:fixed;inset:0}.app-shell.drawer-open .sidebar-backdrop{opacity:1;visibility:visible}.sidebar{z-index:60;width:min(var(--sidebar-width), 84vw);height:100svh;max-height:100svh;padding:var(--space-6) var(--space-5);color:#ecfdf5;box-shadow:var(--shadow-lg);background:#11231f;flex-direction:column;transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;overflow:hidden;transform:translate(-100%)}.app-shell.drawer-open .sidebar{transform:translate(0)}.sidebar .nav-list{overflow-y:auto}@media (width>=900px){.sidebar-toggle.desktop-only{display:grid}.sidebar-toggle.mobile-only{display:none}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);display:grid}.app-shell.sidebar-collapsed{grid-template-columns:var(--sidebar-rail) minmax(0, 1fr)}.mobile-topbar,.sidebar-backdrop{display:none}.sidebar{width:auto;transition:none;position:sticky;transform:none;box-shadow:14px 0 40px #11231f29}}.brand-block{border-bottom:1px solid #ecfdf51f;align-items:center;gap:14px;margin-bottom:34px;padding:0 4px 22px;display:flex}.sidebar-toggle{color:#cfe0da;cursor:pointer;background:#ffffff14;border:1px solid #ecfdf529;border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;min-height:32px;margin-left:auto;padding:0;font-size:16px;line-height:1;display:grid}.sidebar-toggle:hover{color:#13352f;background:#f8fbf7}.brand-mark{color:#17201c;background:#f0c35b;border-radius:8px;place-items:center;width:48px;height:48px;font-size:16px;font-weight:680;display:grid;box-shadow:0 10px 26px #f0c35b3d}.brand-block h1,.topbar h2,.section-heading h3{margin:0}.brand-block h1{color:#fff;letter-spacing:0;font-size:21px;font-weight:620;line-height:1.15}.brand-block .eyebrow{color:#ecfdf59e}.eyebrow{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:650}.nav-list{gap:8px;display:grid}.nav-list a{color:#b7c7c1;border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;min-height:44px;padding:0 14px;font-size:14px;font-weight:580;text-decoration:none;display:flex}.nav-icon{flex-shrink:0;place-items:center;width:22px;font-size:14px;font-weight:650;display:grid}.nav-list a[aria-current=page],.nav-list a:hover{color:#13352f;background:#f8fbf7;border-color:#ffffff38;box-shadow:0 10px 24px #00000024}@media (width>=900px){.app-shell.sidebar-collapsed{grid-template-columns:var(--sidebar-rail) minmax(0, 1fr)}.sidebar-collapsed .sidebar{padding:var(--space-6) var(--space-3)}.sidebar-collapsed .brand-text,.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-account-email,.sidebar-collapsed .sidebar-account-role{display:none}.sidebar-collapsed .brand-block{flex-direction:column;gap:12px;padding:0 0 18px}.sidebar-collapsed .sidebar-toggle{margin-left:0}.sidebar-collapsed .nav-list a{justify-content:center;gap:0;padding:0}.sidebar-collapsed .nav-icon{width:auto}.sidebar-collapsed .sidebar-logout{justify-content:center;padding:0}}.workspace{min-width:0;padding:clamp(var(--space-4), 3vw, var(--space-10))}.topbar,.section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.topbar{align-items:flex-end;margin-bottom:26px}.topbar-copy{max-width:720px}.topbar-note{color:var(--muted);margin:4px 0 0;font-size:13px;font-weight:480;line-height:1.45}.topbar h2{color:var(--ink);letter-spacing:-.01em;font-size:24px;font-weight:620;line-height:1.2}.actions{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}button,.button-link{justify-content:center;align-items:center;gap:var(--space-2);border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-height:34px;padding:0 var(--space-3);color:var(--ink-soft);background:var(--surface);font:inherit;white-space:nowrap;cursor:pointer;font-size:13px;font-weight:550;line-height:1;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.button-link{text-decoration:none}.icon-button{width:34px;min-width:34px;padding:0}.icon-button svg{width:18px;height:18px}.icon-button.active{color:#fff;background:var(--teal-dark);border-color:var(--teal-dark)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button:hover,.button-link:hover{background:var(--surface-soft);border-color:var(--line-strong);color:var(--ink)}button:focus-visible,.button-link:focus-visible{outline:2px solid var(--teal);outline-offset:1px}button.primary,.button-link.primary{color:#fff;background:var(--teal-dark);border-color:var(--teal-dark)}button.primary:hover,.button-link.primary:hover{color:#fff;background:var(--teal);border-color:var(--teal)}button.ghost,.button-link.ghost{color:var(--muted);background:0 0;border-color:#0000}button.ghost:hover,.button-link.ghost:hover{background:var(--surface-soft);color:var(--ink)}button.danger{color:var(--red);border-color:var(--line-strong);background:var(--surface)}button.danger:hover{color:#fff;background:var(--red);border-color:var(--red)}button:disabled{cursor:not-allowed;opacity:.45}button:disabled:hover{background:var(--surface);border-color:var(--line-strong);color:var(--ink-soft)}input,select,textarea{border:1px solid var(--line-strong);width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fbfcf9;border-radius:8px;padding:10px 12px;font-weight:500}input[type=checkbox]{width:auto;min-height:0}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--teal);outline:3px solid #0f766e29}.login-shell{background:radial-gradient(120% 120% at 0% 0%, #0f766e1f, transparent 60%), var(--canvas);place-items:center;min-height:100svh;padding:24px;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow-md);border-radius:18px;padding:32px}.login-card-checking{text-align:center;justify-items:center;gap:14px;display:grid}.login-brand{align-items:center;gap:14px;margin-bottom:18px;display:flex}.login-brand h1{margin:0;font-size:1.4rem}.login-brand .eyebrow{margin:0}.login-intro{color:var(--muted);margin:0 0 22px}.login-form{gap:16px;display:grid}.login-form .field{gap:6px;display:grid}.login-form .field span{color:var(--ink-soft);font-size:.86rem;font-weight:600}.login-error{color:var(--red);background:#b4231814;border-radius:10px;margin:0;padding:10px 12px;font-size:.88rem}.login-submit{justify-content:center;width:100%;margin-top:4px}.sidebar-account{border-top:1px solid #ffffff1f;gap:6px;margin-top:auto;padding-top:18px;display:grid}.sidebar-account-email{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.9rem;font-weight:600;overflow:hidden}.sidebar-account-role{color:#ffffff9e;text-transform:capitalize;margin:0;font-size:.78rem}.sidebar-logout{justify-content:center;align-items:center;gap:10px;width:100%;margin-top:6px;display:flex}.dashboard-hero{grid-template-columns:minmax(0,1.48fr) minmax(300px,.52fr);align-items:start;gap:20px;margin-bottom:24px;display:grid}.dashboard-hero-flow{gap:18px;min-width:0;display:grid}.dashboard-hero-main,.dashboard-hero-side,.dashboard-insight,.arrears-item{background:var(--surface);box-shadow:var(--shadow-sm);border:1px solid #c9d7ced1;border-radius:8px}.dashboard-hero-main,.dashboard-hero-side{padding:24px}.dashboard-hero-main{color:#fff;background:radial-gradient(circle at 100% 0,#2dd4bf33,#0000 36%),linear-gradient(160deg,#10211d 0%,#0f1d1a 100%);border-color:#10211d;gap:20px;display:grid;position:relative;overflow:hidden}.dashboard-hero-main:after{content:"";pointer-events:none;opacity:.38;background-image:linear-gradient(135deg,#ffffff0d 1px,#0000 1px),linear-gradient(225deg,#ffffff08 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000000e6,#0000 95%);mask-image:linear-gradient(#000000e6,#0000 95%)}.dashboard-hero-main>*{z-index:1;position:relative}.dashboard-hero-header,.dashboard-snapshot-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.dashboard-live-badge,.dashboard-snapshot-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:650;display:inline-flex}.dashboard-live-badge{color:#d8f3ea;background:#ffffff14;border:1px solid #ffffff1f}.dashboard-snapshot-badge{color:var(--teal-dark);background:#e6faf4;border:1px solid #0f766e29}.dashboard-hero-intro{gap:12px;display:grid}.dashboard-hero-main .eyebrow{color:#ecfdf5ad}.dashboard-hero-copy{color:#ecfdf5cc;max-width:58ch;margin:0;font-size:15px;font-weight:460;line-height:1.55}.dashboard-hero-copy-subtle{color:var(--muted)}.dashboard-hero-main h3,.dashboard-hero-side h3{letter-spacing:0;margin:0;font-size:40px;font-weight:680;line-height:1.05}.dashboard-hero-side h3{color:var(--ink);font-size:28px}.dashboard-hero-stats,.dashboard-hero-side dl{gap:14px;margin:0;display:grid}.dashboard-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-stat-card{background:#ffffff0d;border:1px solid #ffffff1c;border-radius:14px;padding:14px 16px}.dashboard-hero-stats div,.dashboard-hero-side dl div{min-width:0}.dashboard-hero-stats dt,.dashboard-hero-side dt{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:650}.dashboard-hero-main dt{color:#ecfdf5a8}.dashboard-hero-stats dd,.dashboard-hero-side dd{color:var(--ink);overflow-wrap:anywhere;margin:6px 0 0;font-size:20px;font-weight:660}.dashboard-hero-main dd{color:#fff}.dashboard-findings{flex-wrap:wrap;gap:10px;display:flex}.dashboard-findings span{color:#d8f3ea;background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;align-items:center;min-height:32px;padding:0 12px;font-size:13px;font-weight:580;display:inline-flex}.dashboard-action-strip{flex-wrap:wrap;gap:10px;padding-top:2px;display:flex}.dashboard-action-strip .button-link:not(.primary){color:#d8f3ea;background:#ffffff14;border-color:#ffffff24}.dashboard-action-strip .button-link:not(.primary):hover{border-color:#d8f3ea80}.dashboard-hero-side{background:linear-gradient(#fff 0%,#fbfdfb 100%);gap:18px;display:grid}.dashboard-hero-side dl{gap:12px}.dashboard-hero-side dl div{border-bottom:1px solid var(--line);padding:12px 0}.dashboard-hero-side dl div:last-child{border-bottom:0;padding-bottom:0}.dashboard-snapshot-foot{flex-wrap:wrap;gap:10px;display:flex}.dashboard-snapshot-foot span{min-height:30px;color:var(--ink-soft);border:1px solid var(--line);background:#f4f8f5;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:580;display:inline-flex}.dashboard-insight-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;margin-bottom:0;display:grid}.dashboard-insight{border-left:4px solid var(--teal);grid-column:span 2;min-height:148px;padding:20px}.dashboard-insight.featured{min-height:176px;box-shadow:var(--shadow-md);background:linear-gradient(#fff 0%,#f7fbf8 100%);border-top:1px solid #c9d7ced1;border-bottom:1px solid #c9d7ced1;border-right:1px solid #c9d7ced1;grid-column:span 6}.dashboard-insight p{color:var(--muted);text-transform:uppercase;margin:0 0 12px;font-size:12px;font-weight:650}.dashboard-insight strong{color:var(--ink);font-size:26px;font-weight:680;line-height:1.05;display:block}.dashboard-insight span{color:var(--muted);margin-top:12px;font-size:14px;font-weight:500;line-height:1.4;display:block}.dashboard-insight.due{border-left-color:var(--gold)}.dashboard-insight.settled{border-left-color:var(--green)}.dashboard-insight.balance{border-left-color:var(--blue)}.dashboard-insight.tenants{border-left-color:#8a5cf6}.dashboard-hero-flow .dashboard-insight-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dashboard-hero-flow .dashboard-insight,.dashboard-hero-flow .dashboard-insight.featured{grid-column:auto;min-height:132px;padding:18px}.dashboard-hero-flow .dashboard-insight.featured{box-shadow:var(--shadow-sm)}.dashboard-hero-flow .dashboard-insight strong{font-size:23px}.dashboard-hero-flow .dashboard-insight span{font-size:13px;line-height:1.35}.dashboard-workspace{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:start;gap:24px;display:grid}.dashboard-panel{min-width:0}.dashboard-simple-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.structure-panel,.assignment-examples-panel{margin-bottom:18px}.structure-note{color:var(--muted);margin:0 0 14px;font-weight:650;line-height:1.45}.structure-grid,.assignment-example-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.assignment-example-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.structure-grid div,.assignment-example-card{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;min-width:0;padding:14px}.structure-grid strong,.assignment-example-card h4{color:var(--ink);margin:0 0 8px;font-size:15px;font-weight:660;line-height:1.2;display:block}.structure-grid span,.assignment-example-card strong{color:var(--ink-soft);font-size:13px;font-weight:540;line-height:1.42;display:block}.assignment-example-card strong{color:var(--teal-dark)}.unit-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.dashboard-summary-card{background:var(--surface);border:1px solid #c9d7ced1;border-left:4px solid var(--teal);min-height:126px;box-shadow:var(--shadow-sm);border-radius:8px;padding:18px}.dashboard-summary-card.urgent{border-left-color:var(--red);background:linear-gradient(#fff 0%,#fff9f8 100%)}.dashboard-summary-card p,.occupancy-dashboard-grid p{color:var(--muted);text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:650}.dashboard-summary-card strong,.occupancy-dashboard-grid strong{color:var(--ink);font-size:26px;font-weight:680;line-height:1.05;display:block}.dashboard-summary-card span,.occupancy-dashboard-grid span{color:var(--muted);margin-top:10px;font-size:13px;font-weight:650;line-height:1.4;display:block}.dashboard-focus-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:start;gap:24px;margin-bottom:20px;display:grid}.dashboard-period-pill{min-height:34px;color:var(--teal-dark);background:#e6faf4;border:1px solid #0f766e29;border-radius:999px;align-items:center;padding:0 12px;font-size:12px;font-weight:640;display:inline-flex}.tenant-dashboard-table table{min-width:980px}.tenant-dashboard-table td strong{color:var(--ink);font-size:14px;font-weight:680;display:block}.tenant-dashboard-table td span:not(.status-pill){color:var(--muted);margin-top:3px;font-size:12px;font-weight:540;display:block}.tenant-action-list{gap:12px;display:grid}.tenant-action-item{text-align:left;background:var(--surface-soft);border:1px solid var(--line);cursor:pointer;border-radius:8px;width:100%;padding:14px;transition:border-color .15s,box-shadow .15s,transform 50ms;display:block}.tenant-action-item:hover{border-color:var(--teal);box-shadow:var(--shadow-sm)}.tenant-action-item:active{transform:translateY(1px)}.tenant-action-item:focus-visible{outline-offset:1px;outline:3px solid #0f766e47}.tenant-action-item-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.tenant-action-item h4{color:var(--ink);margin:0;font-size:15px;font-weight:660;line-height:1.2}.tenant-action-amount{color:var(--red);white-space:nowrap;flex-shrink:0;font-size:13px;font-weight:640}.tenant-action-points{gap:4px;margin:10px 0 0;padding-left:18px;display:grid}.tenant-action-points li{color:var(--ink-soft);font-size:13px;font-weight:500;line-height:1.4}.dashboard-occupancy-section{margin-bottom:20px}.occupancy-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.occupancy-dashboard-grid div{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;min-width:0;padding:16px}.trend-list,.arrears-list{gap:12px;display:grid}.trend-row{background:var(--surface-soft);border:1px solid var(--line);border-radius:14px;grid-template-columns:150px minmax(160px,1fr) minmax(120px,auto);align-items:center;gap:16px;padding:14px 16px;display:grid}.trend-row:last-child{border-bottom:0}.trend-row strong,.arrears-item h4{color:var(--ink);margin:0;font-size:15px;font-weight:660;line-height:1.2;display:block}.trend-row span,.trend-row small,.arrears-item span{color:var(--muted);margin-top:3px;font-size:13px;font-weight:650;display:block}.trend-meter{appearance:none;width:100%;height:14px}.trend-meter::-webkit-meter-bar{background:#edf3ee;border:0;border-radius:999px}.trend-meter::-webkit-meter-optimum-value{background:var(--teal);border-radius:999px}.trend-meter::-webkit-meter-suboptimum-value{background:var(--teal);border-radius:999px}.trend-meter::-webkit-meter-even-less-good-value{background:var(--teal);border-radius:999px}.trend-meter::-moz-meter-bar{background:var(--teal);border-radius:999px}.arrears-item{border-radius:14px;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px;display:flex}.arrears-item strong{color:var(--red);white-space:nowrap;font-size:16px;font-weight:680}.ledger-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.ledger-summary-card{background:var(--surface);border:1px solid #c9d7ced1;border-left:3px solid var(--teal);min-height:104px;box-shadow:var(--shadow-sm);border-radius:8px;padding:16px}.ledger-summary-card p{color:var(--muted);text-transform:uppercase;margin:0 0 9px;font-size:11px;font-weight:650}.ledger-summary-card strong{color:var(--ink);font-size:23px;font-weight:680;line-height:1.05;display:block}.ledger-summary-card span{color:var(--muted);margin-top:9px;font-size:13px;font-weight:500;line-height:1.35;display:block}.ledger-summary-card.due{border-left-color:var(--gold)}.ledger-summary-card.settled{border-left-color:var(--green)}.ledger-summary-card.balance{border-left-color:var(--blue)}.ledger-summary-card.tenants{border-left-color:#8a5cf6}.ledger-workspace{grid-template-columns:1fr;align-items:start;gap:20px;margin-bottom:20px;display:grid}.ledger-current-panel{margin-bottom:0}.tenant-ledger-panel{margin-bottom:20px}.tenant-ledger-header{grid-template-columns:minmax(280px,.42fr) minmax(0,1fr);align-items:end;gap:18px;margin-bottom:20px;display:grid}.tenant-ledger-header label{color:var(--ink-soft);gap:6px;font-size:12px;font-weight:650;display:grid}.tenant-ledger-header label span{text-transform:uppercase}.tenant-ledger-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;display:grid}.tenant-ledger-summary div{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;min-width:0;padding:12px}.tenant-ledger-summary dt{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:650}.tenant-ledger-summary dd{color:var(--ink);overflow-wrap:anywhere;margin:5px 0 0;font-size:16px;font-weight:660}.tenant-ledger-receipt-panel{margin-bottom:20px}.paid-rent-table table{min-width:960px}.row-actions{align-items:center;gap:12px;display:flex}.ledger-current-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.ledger-current-stats div{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;min-width:0;padding:10px}.ledger-current-stats dt{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:650}.ledger-current-stats dd{color:var(--ink);overflow-wrap:anywhere;margin:5px 0 0;font-size:15px;font-weight:660}.ledger-queue-list{border-top:1px solid var(--line);gap:10px;margin-top:16px;padding-top:16px;display:grid}.ledger-queue-item{border:1px solid var(--line);background:#fffdfa;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;display:flex}.ledger-queue-item h4{color:var(--ink);margin:0;font-size:14px;font-weight:660;line-height:1.2}.ledger-queue-item strong{color:var(--red);white-space:nowrap;font-size:15px;font-weight:680}.ledger-panel,.focus-panel,.state-panel,.workflow-panel,.tenant-card,.report-panel,.report-detail-panel{background:var(--surface);box-shadow:var(--shadow-sm);border:1px solid #c9d7ced1;border-radius:8px}.content-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;display:grid}.receipt-workspace{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:start;gap:24px;margin-bottom:20px;display:grid}.receipt-workspace.single-panel{grid-template-columns:minmax(0,1fr)}.ledger-panel,.focus-panel,.state-panel,.workflow-panel,.report-detail-panel{padding:22px}.workflow-panel{background:var(--surface)}.import-panel,.tenant-management-panel,.ledger-operation-panel,.ledger-filter-panel,.report-statement-panel,.advance-ledger-panel{margin-bottom:20px}.state-panel{max-width:560px}.state-panel h2{color:var(--ink);margin:0 0 10px;font-size:24px;font-weight:640}.state-panel p:not(.eyebrow){color:var(--muted);margin:0 0 18px;line-height:1.5}.section-heading{margin-bottom:20px}.section-heading.compact{margin-bottom:12px}.section-heading h3{color:var(--ink);letter-spacing:0;font-size:21px;font-weight:640;line-height:1.12}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid label{color:var(--ink-soft);gap:6px;font-size:12px;font-weight:650;display:grid}.form-grid label span{text-transform:uppercase}.form-grid .field-help{color:var(--muted);text-transform:none;font-size:11px;font-weight:500;line-height:1.4}.form-wide{grid-column:1/-1}.form-actions{margin-top:16px}.occupancy-current{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);gap:12px;margin-bottom:18px;padding:14px;display:grid}.occupancy-current-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.occupancy-current-heading>div{gap:3px;display:grid}.occupancy-current-heading>div>span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:620}.occupancy-current-heading strong{color:var(--ink);font-size:15px;font-weight:650}.occupancy-current-spaces{flex-wrap:wrap;gap:7px;display:flex}.occupancy-current-spaces span{color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:5px 9px;font-size:11px;font-weight:560}.occupancy-editor{gap:18px;display:grid}.occupancy-settings{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.occupancy-settings label,.occupancy-notes{color:var(--muted);gap:6px;font-size:12px;font-weight:580;display:grid}.occupancy-space-picker{border:0;min-width:0;margin:0;padding:0}.occupancy-space-picker legend{color:var(--ink);margin-bottom:8px;font-size:13px;font-weight:620}.occupancy-space-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.occupancy-space-options label{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:7px;align-items:center;gap:10px;min-width:0;min-height:58px;padding:10px 12px;display:flex}.occupancy-space-options label:hover{border-color:var(--line-strong);background:var(--surface-soft)}.occupancy-space-options label.selected{border-color:var(--teal);box-shadow:inset 3px 0 0 var(--teal);background:#eaf5f0}.occupancy-space-options input{accent-color:var(--teal);flex:none}.occupancy-space-options label>span{gap:2px;min-width:0;display:grid}.occupancy-space-options strong,.occupancy-space-options small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.occupancy-space-options strong{color:var(--ink);font-size:12px}.occupancy-space-options small{color:var(--muted);font-size:11px}.occupancy-change-note{color:var(--teal-dark);background:#eaf5f0;border-radius:6px;margin:-5px 0 0;padding:9px 11px;font-size:11px;line-height:1.4}.occupancy-empty-state{color:var(--muted);background:var(--surface-soft);border:1px dashed var(--line-strong);border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:14px;font-size:12px;display:flex}.occupancy-empty-state a{color:var(--teal-dark);white-space:nowrap;font-weight:620;text-decoration:none}.occupancy-empty-state a:hover,.occupancy-empty-state a:focus-visible{text-decoration:underline}.unit-occupancy-assignment{border-radius:var(--radius-sm);background:#f0f7f4;border:1px solid #b9d9cf;min-width:0;margin:2px 0 0;padding:16px}.unit-occupancy-assignment legend{color:var(--teal-dark);padding:0 5px;font-size:13px;font-weight:650}.unit-occupancy-assignment>p{color:var(--ink-soft);margin:0 0 14px;font-size:12px;line-height:1.45}.unit-occupancy-assignment .field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media (width<=720px){.unit-occupancy-assignment{padding:14px}.unit-occupancy-assignment .field-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=580px){.occupancy-space-options{grid-template-columns:minmax(0,1fr)}.occupancy-empty-state{flex-direction:column;align-items:flex-start}}.nested-form{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.ledger-filters,.ledger-operation-grid,.report-statement-controls,.advance-entry-grid{align-items:end}.report-statement-controls .form-actions{margin-top:0}.check-row{color:var(--ink-soft);align-items:center;gap:10px;margin-top:16px;font-weight:600;display:inline-flex}.import-actions{align-self:end;margin-top:0}.inline-summary,.receipt-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0 0;display:grid}.receipt-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-counts{grid-template-columns:repeat(4,minmax(0,1fr))}.inline-summary div,.receipt-preview-grid div{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;min-width:0;padding:14px}.inline-summary dt,.receipt-preview-grid dt,.tenant-card dt{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:650}.inline-summary dd,.receipt-preview-grid dd,.tenant-card dd{color:var(--ink);overflow-wrap:anywhere;margin:5px 0 0;font-weight:600}.action-message,.muted{color:var(--muted);margin:14px 0 0;font-weight:500;line-height:1.45}.action-message.success{color:#12613e}.action-message.error{color:var(--red)}.action-message.loading{color:var(--blue)}.import-summary,.statement-result{gap:16px;display:grid}.compact-table table{min-width:620px}.compact-table td:last-child{white-space:normal;max-width:520px}.table-wrap{border-radius:var(--radius-sm);-webkit-overflow-scrolling:touch;scrollbar-width:thin;overscroll-behavior-x:contain;overflow-x:auto}table{border-collapse:separate;border-spacing:0;width:100%;min-width:720px}th,td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:14px}th{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;background:#f6f9f5;font-size:11px;font-weight:650}td{color:var(--ink-soft);font-size:14px;font-weight:500}tbody tr:hover td{background:#fbfdf8}.selected-row td{background:#ecfdf5}.table-action{min-height:0;color:var(--teal-dark);box-shadow:none;background:0 0;border:0;padding:0;font-weight:640}.table-action:disabled{color:var(--muted);cursor:not-allowed}.table-action:hover,.table-action:focus-visible{color:var(--teal);box-shadow:none;border-color:#0000;transform:none}.status-pill{color:#9a5b10;background:#fff6dd;border:1px solid #9a5b1029;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:640;display:inline-flex}.status-pill.active,.status-pill.available,.status-pill.paid{color:#12613e;background:#e8f7ee;border-color:#12613e24}.status-pill.occupied{color:#145a8a;background:#e8f3fb;border-color:#145a8a24}.status-pill.unpaid,.status-pill.error{color:var(--red);background:#fff0ee;border-color:#b4231824}.status-pill.partial,.status-pill.partiallyoccupied,.status-pill.maintenance,.status-pill.warning{color:#9a5b10;background:#fff6dd;border-color:#9a5b1029}.status-pill.nocharge,.status-pill.vacated,.status-pill.suspended,.status-pill.archived,.status-pill.inactive,.status-pill.notgenerated,.status-pill.nooccupancy{color:#59665f;background:#f0f4f1;border-color:#59665f24}.empty-row{color:var(--muted);text-align:center}.focus-list{color:var(--ink-soft);margin:0;padding-left:20px}.focus-list li{border-bottom:1px solid var(--line);padding:10px 0;font-weight:680}.focus-list li:last-child{border-bottom:0}.tenant-grid,.unit-grid,.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.unit-management-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px;display:grid}.tenant-card,.unit-management-panel,.report-panel{padding:22px}.tenant-table-panel{padding:0;overflow:hidden}.tenant-table-panel table{min-width:980px}.tenant-table-panel td:first-child strong{color:var(--ink);font-size:15px;line-height:1.25;display:block}.cell-note{color:var(--muted);margin-top:4px;font-size:12px;font-weight:540;display:block}.table-action-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.space-summary{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.space-summary-item{align-items:center;gap:var(--space-3);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--radius-sm);grid-template-columns:auto minmax(0,1fr) auto;min-width:0;min-height:76px;padding:13px 15px;display:grid;box-shadow:0 1px 2px #17201c0a}.space-summary-item.available{border-left-color:var(--green)}.space-summary-item.occupied{border-left-color:#3b82a0}.space-summary-item.unavailable{border-left-color:var(--gold)}.space-summary-item.hostel{border-left-color:var(--teal)}.space-summary-icon{width:34px;height:34px;color:var(--teal-dark);background:#edf6f2;border-radius:7px;place-items:center;display:grid}.space-summary-item.unavailable .space-summary-icon{color:#8a5a13;background:#fff7e5}.space-summary-copy{gap:3px;min-width:0;display:grid}.space-summary-copy>span{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:620;overflow:hidden}.space-summary-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.space-summary-item>strong{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:20px;font-weight:680}.space-view-tabs{gap:var(--space-5);margin-bottom:var(--space-4);border-bottom:1px solid var(--line);display:flex}.space-view-tabs button{min-height:42px;color:var(--muted);box-shadow:none;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:7px;padding:0 2px;font-size:13px;display:inline-flex}.space-view-tabs button:hover,.space-view-tabs button:focus-visible{color:var(--ink);border-color:var(--line-strong);background:0 0}.space-view-tabs button.active{color:var(--teal-dark);border-bottom-color:var(--teal)}.space-view-tabs button>span{min-width:22px;color:inherit;background:var(--surface-soft);font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;padding:2px 7px;font-size:11px}.space-inventory{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;box-shadow:0 1px 2px #17201c0a}.space-inventory-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:18px var(--space-4) var(--space-4);display:flex}.space-inventory-heading{gap:3px;min-width:0;display:grid}.space-inventory-toolbar h3{color:var(--ink);margin:0;font-size:15px;font-weight:620}.space-inventory-heading span{color:var(--muted);white-space:nowrap;font-size:12px}.space-inventory-controls{gap:var(--space-2);grid-template-columns:minmax(240px,360px) auto;min-width:min(100%,480px);display:grid}.space-type-filter{align-items:center;gap:var(--space-2);min-height:38px;padding-left:var(--space-3);color:var(--muted);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);display:flex}.space-type-filter>span{text-transform:uppercase;font-size:11px;font-weight:650}.space-type-filter select{width:auto;min-height:36px;box-shadow:none;border:0;padding-left:0;font-size:13px}.space-type-filter:focus-within{border-color:var(--teal);box-shadow:0 0 0 2px #0f766e1f}.space-search{align-items:center;gap:var(--space-2);min-height:38px;padding:0 var(--space-3);color:var(--muted);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);display:flex}.space-search:focus-within{border-color:var(--teal);box-shadow:0 0 0 2px #0f766e1f}.space-search input{width:100%;min-width:0;min-height:36px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;font-size:13px}.space-search input:focus{box-shadow:none;outline:0}.space-filter-bar{align-items:center;gap:var(--space-5);min-height:50px;padding:var(--space-2) var(--space-4);background:var(--surface-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex}.space-filter-group{align-items:center;gap:var(--space-1);min-width:0;display:flex}.space-filter-label{margin-right:var(--space-1);color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:680}.space-filter-group button{min-height:30px;color:var(--muted);box-shadow:none;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:7px;padding:0 10px;font-size:12px;display:inline-flex}.space-filter-group button:hover,.space-filter-group button:focus-visible{color:var(--ink);background:var(--surface);border-color:var(--line)}.space-filter-group button.active{color:var(--teal-dark);background:var(--surface);border-color:#cfe1d8;box-shadow:0 1px 2px #17201c0d}.space-status-filter button span{font-variant-numeric:tabular-nums;font-size:11px}.space-floor-filter{padding-left:var(--space-5);border-left:1px solid var(--line)}.space-floor-filter small{font-variant-numeric:tabular-nums;font-size:10px}.space-clear-filters{min-height:30px;padding-inline:var(--space-2);color:var(--teal-dark);background:0 0;border-color:#0000;margin-left:auto;font-size:11px}.space-list-header,.space-list-row{align-items:center;gap:var(--space-4);grid-template-columns:minmax(120px,.65fr) minmax(170px,.9fr) minmax(210px,1.25fr) minmax(170px,.9fr) 76px;display:grid}.space-list-header{min-height:34px;padding:0 var(--space-4);color:var(--muted);border-bottom:1px solid var(--line);text-transform:uppercase;background:#fbfcfb;font-size:10px;font-weight:680}.space-list-header span:last-child{text-align:center}.space-list{min-height:180px;max-height:min(620px,100vh - 410px);overflow-y:auto}.space-list-row{min-width:0;min-height:64px;padding:11px var(--space-4);border-bottom:1px solid var(--line);transition:background-color .12s}.space-list-row:last-child{border-bottom:0}.space-list-row:hover{background:var(--surface-soft)}.space-list-row.grouped{box-shadow:inset 3px 0 #d7e9e1}.space-list-floor,.space-list-spaces,.space-list-description,.space-list-tenant{gap:2px;min-width:0;display:grid}.space-list-floor strong,.space-list-spaces strong,.space-list-description strong,.space-list-tenant a{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:620;overflow:hidden}.space-list-floor span,.space-list-spaces span,.space-list-description span,.space-list-tenant>span:last-child{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.space-list-floor strong{color:var(--ink-soft)}.space-list-tenant a{width:fit-content;max-width:100%;color:var(--teal-dark);text-decoration:none}.space-list-tenant a:hover,.space-list-tenant a:focus-visible{color:var(--teal);text-underline-offset:2px;text-decoration:underline}.space-list-tenant .status-pill{width:fit-content}.space-row-actions{justify-content:flex-end;align-items:center;gap:2px;display:flex}.space-list-row .table-action{width:32px;min-width:32px;min-height:32px;color:var(--teal-dark);background:0 0;border-color:#0000;padding:0}.space-list-empty{padding:var(--space-8) var(--space-4);color:var(--muted);text-align:center;font-size:13px}@media (width<=820px){.space-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.space-inventory-toolbar{align-items:flex-start}.space-inventory-controls{grid-template-columns:minmax(200px,1fr) auto}.space-list-header{display:none}.space-list-row{gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto}.space-list-spaces{grid-area:1/1}.space-list-floor{grid-area:2/1}.space-list-description{grid-area:3/1}.space-list-tenant{text-align:right;grid-area:2/2/4;align-self:center;justify-items:end;max-width:180px}.space-list-row>.space-row-actions{grid-area:1/2;align-self:start}}@media (width<=520px){.space-summary-item{gap:var(--space-2);grid-template-columns:auto minmax(0,1fr);min-height:72px;padding:10px}.space-summary-icon{width:30px;height:30px}.space-summary-copy>span{font-size:12px}.space-summary-item>strong{grid-area:2/2;font-size:16px}.space-summary-copy small{display:none}.space-view-tabs{gap:0}.space-view-tabs button{flex:50%;justify-content:center}.space-inventory-toolbar{padding-top:var(--space-4);display:grid}.space-inventory-controls{grid-template-columns:minmax(0,1fr);min-width:0}.space-type-filter select{width:100%}.space-filter-bar{gap:var(--space-2);display:grid}.space-floor-filter{padding-top:var(--space-2);border-top:1px solid var(--line);border-left:0;padding-left:0}.space-filter-group{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.space-floor-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.space-filter-label{grid-column:1/-1;margin:0 0 2px}.space-filter-group button{justify-content:space-between;width:100%;padding-inline:7px}.space-clear-filters{justify-self:start;margin-left:0}.space-list{max-height:none;overflow:visible}.space-list-row{padding:var(--space-3)}.space-list-tenant{max-width:128px}}.unit-history-list{gap:var(--space-6);display:grid}.unit-history-section+.unit-history-section{padding-top:var(--space-5);border-top:1px solid var(--line)}.unit-history-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.unit-history-heading span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:650}.unit-history-heading h4{color:var(--ink);margin:3px 0 0;font-size:18px;font-weight:660}.unit-timeline{margin:0;padding:0;list-style:none}.unit-timeline li{gap:var(--space-3);padding-bottom:var(--space-5);grid-template-columns:18px minmax(0,1fr);display:grid;position:relative}.unit-timeline li:not(:last-child):before{content:"";background:var(--line-strong);width:1px;position:absolute;top:16px;bottom:0;left:5px}.unit-timeline-marker{z-index:1;background:var(--surface);border:3px solid var(--teal);border-radius:50%;width:11px;height:11px;margin-top:4px;position:relative}.unit-timeline-marker.catalog{border-color:var(--gold)}.unit-timeline-content{min-width:0}.unit-timeline-title{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.unit-timeline-title strong{color:var(--ink);font-size:13px}.unit-timeline-title span,.unit-timeline-content small{color:var(--muted);font-size:11px}.unit-timeline-content p{color:var(--ink-soft);margin:4px 0;font-size:13px;line-height:1.4}.tenant-card,.unit-card{gap:20px;display:grid}.tenant-card h3,.report-panel h3{color:var(--ink);letter-spacing:0;margin:0;font-size:22px;font-weight:640;line-height:1.2}.tenant-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;display:grid}.unit-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.unit-card-wide{grid-column:1/-1}.tenant-card .status-pill{justify-self:start}.tenant-card-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-top:2px;display:flex}.tenant-card-actions{flex-wrap:wrap;gap:12px;display:flex}.advance-ledger-table{margin-top:18px}.report-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-panel.active{box-shadow:inset 0 4px 0 var(--teal), var(--shadow-sm);border-color:#0f766e6b}.report-panel p:last-child{color:var(--muted);margin:12px 0 0;font-weight:650;line-height:1.45}.report-panel .table-action{margin-top:14px}.report-detail-panel{margin:22px 0}.report-tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.report-tabs button.active{color:#fff;background:var(--teal-dark);border-color:var(--teal-dark)}.audit-report{min-width:0}.audit-filter-bar{align-items:end;gap:var(--space-2);padding:0 var(--space-4) var(--space-4);border-bottom:1px solid var(--line);grid-template-columns:minmax(150px,1fr) minmax(130px,.8fr) minmax(145px,.8fr) minmax(145px,.8fr) auto auto;display:grid}.audit-filter-bar label{gap:5px;margin:0;display:grid}.audit-filter-bar label>span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:680}.audit-filter-bar input,.audit-filter-bar select{min-height:36px;font-size:12px}.audit-event-detail{gap:var(--space-5);display:grid}.audit-json-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.audit-json-grid section{min-width:0}.audit-json-grid h4{margin:0 0 var(--space-2);color:var(--ink-soft);text-transform:uppercase;font-size:12px;font-weight:680}.audit-json-grid pre{max-height:380px;padding:var(--space-3);color:var(--ink-soft);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font:11px/1.55 Consolas,Courier New,monospace;overflow:auto}@media (width<=900px){.audit-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.unit-timeline-title{gap:2px;display:grid}.audit-filter-bar,.audit-json-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=1120px){.dashboard-hero,.dashboard-workspace,.content-grid,.receipt-workspace,.unit-management-grid,.unit-overview-grid,.unit-grid,.tenant-grid,.report-grid,.ledger-summary-grid,.tenant-ledger-header,.tenant-ledger-summary,.ledger-current-stats{grid-template-columns:1fr}.dashboard-insight.featured,.dashboard-insight{grid-column:span 1}.topbar,.section-heading,.dashboard-hero-header,.dashboard-snapshot-header{align-items:flex-start}}@media (width<=1040px){.workspace{padding:var(--space-6)}.content-grid,.receipt-workspace,.dashboard-hero,.dashboard-workspace,.dashboard-focus-grid,.ledger-workspace,.tenant-ledger-header,.dashboard-insight-grid,.ledger-summary-grid,.dashboard-simple-summary,.report-grid{grid-template-columns:1fr 1fr}}@media (width<=700px){.workspace{padding:var(--space-4)}.topbar,.section-heading{flex-direction:column;align-items:flex-start}.topbar h2{font-size:26px}.actions,.actions button,.actions .button-link,.section-heading button{width:100%}.dashboard-hero,.dashboard-hero-stats,.dashboard-insight-grid,.dashboard-simple-summary,.dashboard-focus-grid,.occupancy-dashboard-grid,.structure-grid,.assignment-example-grid,.unit-management-grid,.unit-overview-grid,.unit-grid,.ledger-summary-grid,.ledger-workspace,.ledger-current-stats,.tenant-ledger-header,.tenant-ledger-summary,.dashboard-workspace,.content-grid,.receipt-workspace,.tenant-grid,.report-grid,.form-grid,.inline-summary,.receipt-preview-grid,.import-counts,.tenant-card dl{grid-template-columns:1fr}.dashboard-hero-main h3{font-size:30px}.dashboard-hero-side h3,.dashboard-insight strong{font-size:24px}.trend-row{grid-template-columns:1fr;gap:8px}.arrears-item{flex-direction:column;align-items:flex-start}.ledger-queue-item{flex-direction:column}.table-wrap.cards-on-mobile{overflow-x:visible}.cards-on-mobile table{width:100%;min-width:0}.cards-on-mobile thead{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cards-on-mobile tbody{gap:var(--space-3);display:grid}.cards-on-mobile tbody tr{gap:var(--space-1);padding:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:grid}.cards-on-mobile tbody tr:hover td{background:0 0}.cards-on-mobile .selected-row{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal), var(--shadow-sm)}.cards-on-mobile td{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--line);white-space:normal;text-align:right;display:flex}.cards-on-mobile td:last-child{border-bottom:0}.cards-on-mobile td:before{content:attr(data-label);color:var(--muted);letter-spacing:.02em;text-transform:uppercase;text-align:left;flex-shrink:0;font-size:11px;font-weight:650}.cards-on-mobile td:first-child{margin-bottom:var(--space-1);padding-bottom:var(--space-3);text-align:left;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.cards-on-mobile td:first-child:before{display:none}.cards-on-mobile td:first-child strong{color:var(--ink);font-size:16px;font-weight:660}.cards-on-mobile td:first-child span{color:var(--muted);font-size:12px;font-weight:540}.cards-on-mobile .row-actions,.cards-on-mobile .table-action-row{flex-wrap:wrap;justify-content:flex-end}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.workspace-container{width:100%;max-width:1360px;margin:0 auto}.breadcrumb{margin-bottom:var(--space-3)}.breadcrumb ol{align-items:center;gap:var(--space-2);color:var(--muted);flex-wrap:wrap;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.breadcrumb li{align-items:center;gap:var(--space-2);display:flex}.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb a:hover{color:var(--teal);text-decoration:underline}.breadcrumb [aria-current=page]{color:var(--ink-soft);font-weight:550}.breadcrumb-separator{color:var(--line-strong)}.page-header{align-items:baseline;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.page-heading{flex-direction:column;gap:2px;display:flex}.page-header h2{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:24px;font-weight:620}.page-description{color:var(--muted);margin:0;font-size:13px}.page-meta{color:var(--muted);padding:4px var(--space-3);border:1px solid var(--line);background:var(--surface);border-radius:999px;font-size:12px;font-weight:560}.page-actions{gap:var(--space-2);flex-wrap:wrap;margin-left:auto;display:flex}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}.panel+.panel{margin-top:var(--space-5)}.panel-header{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.panel-header h3{color:var(--ink);margin:0;font-size:15px;font-weight:600}.panel-header-tools{align-items:center;gap:var(--space-3);margin-left:auto;display:flex}.panel-meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.panel-body{padding:var(--space-4) var(--space-5)}.filter-bar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.filter-bar label{margin:0}.filter-bar select{min-height:34px;padding:0 var(--space-3);font-size:13px}.filter-bar button{min-height:34px;font-size:13px}.inline-note{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-soft);font-size:13px}.data-table tbody tr.selected-row td{background:#f0f7f4}.modal{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);width:min(560px,100vw - 2rem);max-height:calc(100vh - 4rem);color:var(--ink);box-shadow:var(--shadow-lg);padding:0}.modal-lg{width:min(880px,100vw - 2rem)}.modal::backdrop{background:#0a141173}.modal-head{align-items:flex-start;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--line);display:flex}.modal-head h3{margin:0;font-size:16px;font-weight:620}.modal-description{color:var(--muted);margin:4px 0 0;font-size:13px}.modal-head .icon-button{flex-shrink:0;margin-left:auto}.modal-body{padding:var(--space-5);max-height:calc(100vh - 16rem);overflow:auto}.modal-footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--line);background:var(--surface-soft);display:flex}.field-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.field-grid label,.filter-bar label{gap:var(--space-2);color:var(--muted);flex-direction:column;font-size:12px;font-weight:560;display:flex}.field-wide{grid-column:1/-1}.kpi-row{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.kpi-card{padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);color:inherit;text-decoration:none;display:block}.kpi-link:hover,.kpi-link:focus-visible{border-color:var(--line-strong);background:var(--surface-soft)}.kpi-label{margin:0 0 var(--space-2);color:var(--muted);font-size:12px;font-weight:560}.kpi-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink);margin:0;font-size:30px;font-weight:640;line-height:1.1}.kpi-due .kpi-value{color:var(--red)}.kpi-caption{margin:var(--space-2) 0 0;color:var(--muted);font-size:12px}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.money-due{color:var(--red);font-weight:560}.money-positive{color:var(--green)}.money-muted{color:var(--muted)}.data-table-wrap{max-height:620px;overflow:auto}.data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.data-table thead th{z-index:1;background:var(--surface-soft);border-bottom:1px solid var(--line);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);text-align:left;white-space:nowrap;padding:0;font-size:11px;font-weight:620;position:sticky;top:0}.data-table thead th:not(.sortable){padding:var(--space-3) var(--space-4)}.data-table thead th.sortable button{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);min-height:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;display:flex}.data-table thead th.align-right.sortable button{justify-content:flex-end}.data-table thead th.sortable button:hover{color:var(--ink);background:var(--canvas)}.sort-indicator{opacity:.55;font-size:10px}.data-table tbody td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);vertical-align:middle;color:var(--ink-soft)}.data-table tbody tr:last-child td{border-bottom:0}.data-table .align-right{text-align:right}.data-table tbody tr.row-clickable{cursor:pointer}.data-table tbody tr.row-clickable:hover td,.data-table tbody tr.row-clickable:focus-visible td{background:var(--surface-soft)}.data-table tbody tr.row-clickable:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}.data-table .cell-primary{color:var(--ink);font-weight:580;display:block}.data-table .cell-secondary{color:var(--muted);font-size:12px;display:block}.data-table tbody tr.empty-row td{padding:var(--space-8) var(--space-4);text-align:center;color:var(--muted)}.data-table tfoot td{padding:var(--space-3) var(--space-4);background:var(--surface-soft);border-top:1px solid var(--line-strong);color:var(--ink);font-weight:620;position:sticky;bottom:0}@media (width<=720px){.data-table-wrap{max-height:none}.data-table thead{display:none}.data-table tbody tr{gap:2px var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);grid-template-columns:auto 1fr;display:grid}.data-table tbody td{border:0;padding:0;display:contents}.data-table tbody td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:11px}.data-table .align-right{text-align:left}}
