.portal-shell{--portal-navy:#183446;--portal-navy-dark:#10222e;--portal-ink:#1d1e20;background:var(--portal-navy);color:var(--portal-ink);box-sizing:border-box;flex-direction:column;align-items:center;padding:2rem 0 3rem;font-family:DM Sans,system-ui,sans-serif;display:flex;position:fixed;inset:0;overflow:hidden auto}.portal-brand{color:#fff;letter-spacing:.02em;text-align:center;margin:0 1rem 1.25rem;font-family:Prosto One,sans-serif;font-size:1.35rem}.portal-brand small{color:#ffffffbf;letter-spacing:.08em;text-transform:uppercase;margin-top:.35rem;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:400;display:block}.portal-card{box-sizing:border-box;background:#fff;border-radius:10px;width:calc(100% - 2rem);max-width:560px;margin:0 1rem;padding:2rem;box-shadow:0 6px 24px #00000040}.portal-shell h1{color:var(--portal-ink);margin:0 0 .5rem;font-family:Prosto One,sans-serif;font-size:1.15rem;font-weight:400}.portal-shell h2{color:var(--portal-navy);margin:1.5rem 0 .5rem;font-family:Prosto One,sans-serif;font-size:.95rem;font-weight:400}.portal-shell p{color:#444;line-height:1.45}.portal-shell a{color:var(--portal-navy)}.portal-shell input[type=email],.portal-shell input[type=text],.portal-shell textarea{box-sizing:border-box;border:1px solid #c8d2d9;border-radius:6px;width:100%;margin:.35rem 0 .25rem;padding:.6rem;font-family:inherit;font-size:1rem}.portal-shell textarea{resize:vertical;min-height:110px}.portal-shell input:focus,.portal-shell textarea:focus{outline:2px solid var(--portal-navy);outline-offset:0;border-color:var(--portal-navy)}.portal-btn{background:var(--portal-navy);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.65rem 1.1rem;font-family:inherit;font-size:.95rem;font-weight:500}.portal-btn:hover{background:var(--portal-navy-dark)}.portal-btn.full{width:100%;margin-top:.75rem;font-size:1rem}.portal-btn.quiet{color:var(--portal-navy);border:1px solid var(--portal-navy);background:#fff}.portal-btn.quiet:hover{background:#eef3f6}.portal-btn.danger{background:#b3261e}.portal-btn.danger:hover{background:#8c1e17}.portal-btn:disabled{opacity:.6;cursor:default}.portal-linklike{color:#556;cursor:pointer;background:0 0;border:none;padding:.25rem 0;font-family:inherit;font-size:.85rem;font-weight:400;text-decoration:underline}.portal-linklike:hover{color:var(--portal-navy)}.portal-linklike.invoice-link{color:#183446;font-weight:600;font-size:inherit}.portal-shell .portal-error,.portal-error{color:#b3261e}.portal-shell .portal-success,.portal-success{color:#1e7a34}.portal-shell .portal-muted,.portal-muted{color:#777;font-size:.85rem}.portal-balance{color:var(--portal-ink);font-size:1.1rem}.portal-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.portal-actions{flex-wrap:wrap;align-items:center;gap:.4rem .5rem;display:flex}.portal-topbar>.portal-actions{flex:1 0 100%;justify-content:center}.portal-account-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:1.25rem;display:flex}.portal-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.portal-navbtn{color:var(--portal-navy);cursor:pointer;background:#eef3f6;border:1px solid #cfdae1;border-radius:999px;padding:.4rem .85rem;font-family:inherit;font-size:.82rem;font-weight:600}.portal-navbtn:hover,.portal-navbtn.active{background:var(--portal-navy);color:#fff;border-color:var(--portal-navy)}.portal-navbtn.quiet{color:#667;background:0 0;border-color:#0000;font-weight:500}.portal-navbtn.quiet:hover{color:var(--portal-navy);background:#eef3f6;border-color:#cfdae1}.portal-badge{color:#fff;text-align:center;background:#b3261e;border-radius:999px;min-width:1.15rem;margin-left:.4rem;padding:0 .3rem;font-size:.72rem;font-weight:700;line-height:1.15rem;display:inline-block}.portal-navbtn:hover .portal-badge,.portal-navbtn.active .portal-badge{color:#b3261e;background:#fff}.portal-section{margin-top:.5rem}.portal-unit{background:#eef3f6;border-radius:8px;margin:.75rem 0;padding:.9rem 1rem}.portal-unit-head{flex-wrap:wrap;justify-content:space-between;gap:.75rem;display:flex}.portal-unit>.portal-linklike,.portal-unit>.portal-btn{margin-top:.6rem;display:block}.portal-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.portal-table{border-collapse:collapse;width:100%}.portal-table td:first-child{width:100%}.portal-invoice-note{margin-top:.3rem}.portal-table td{vertical-align:middle;border-top:1px solid #eee;padding:.45rem .5rem .45rem 0;font-size:.9rem}.portal-table tfoot td{border-top:1px solid #e4e9ec}.portal-num{text-align:right;white-space:nowrap}.portal-table .portal-actions{flex-direction:column;align-items:flex-end}.portal-table .portal-btn{white-space:nowrap;padding:.35rem .6rem;font-size:.8rem}.portal-pill{border-radius:999px;padding:.1rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.portal-pill.paid{color:#1e7a34;background:#e6f4ea}.portal-pill.due{color:#8a6d00;background:#fef7e0}.portal-pill.overdue{color:#b3261e;background:#fdecea}.portal-unit-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .6rem;display:flex}.portal-unit-row-main{flex:7rem;min-width:0}.portal-unit-row-actions{flex-direction:column;flex:none;gap:.35rem;display:flex}.portal-unit-row-actions .portal-btn{white-space:nowrap;padding:.3rem .55rem;font-size:.75rem}.portal-avail{font-weight:600}.portal-avail.ok{color:#1e7a34}.portal-avail.limited{color:#8a6d00}.portal-avail.full{color:#65747a}.portal-list{margin:.5rem 0 0;padding:0;list-style:none}.portal-list li{border-top:1px solid #eee;padding:.7rem 0;font-size:.9rem}.portal-divider{border:none;border-top:1px solid #e4e9ec;margin:1.5rem 0 1rem}.portal-site-links{color:#ffffffbf;text-align:center;margin-top:1rem;font-size:.8rem}.portal-footer-link{font:inherit;color:#fff;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;text-decoration:underline}.portal-site-links a,.portal-site-links .portal-footer-link{color:#fff;white-space:nowrap}.portal-social{color:#ffffff8c;margin-top:.35rem;display:inline-block}.portal-copyright{color:#ffffff8c;margin-top:.5rem;display:inline-block}.modal-backdrop{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{color:#222;box-sizing:border-box;background:#fff;border-radius:10px;width:100%;max-width:520px;max-height:85vh;padding:.9rem 1.1rem 1.2rem;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.modal-head{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.9rem;display:flex}.modal-head h2{margin:0;font-size:1rem}.portal-signin-or{color:var(--portal-muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:.75rem;margin:1.1rem 0 0;font-size:.85rem;display:flex}.portal-signin-or:before,.portal-signin-or:after{content:"";background:#d1d9e6;flex:1;height:1px}.portal-btn-secondary{color:var(--portal-navy);border:1px solid var(--portal-navy);background:#fff}.portal-btn-secondary:hover{background:#eef3f6}.portal-passkey-list{margin:0 0 1rem;padding:0;list-style:none}.portal-passkey-list li{border-bottom:1px solid #e6ebf2;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem 0;display:flex}.portal-passkey-list li:last-child{border-bottom:none}.portal-passkey-hint{margin:.5rem 0 0;font-size:.8rem}@media (width<=520px){.portal-passkey-list li{flex-direction:column;align-items:flex-start}}.portal-notice-form,.portal-notice-given{background:#f7f9fa;border:1px solid #d1d9e6;border-radius:8px;margin-top:.9rem;padding:.9rem}.portal-notice-given strong{margin-bottom:.25rem;display:block}.portal-warn{color:#7a4c00;background:#fff8e7;border:1px solid #e5b368;border-radius:8px;margin:.9rem 0 .5rem;padding:.7rem .85rem;font-size:.9rem}.portal-quote{margin:.6rem 0 .2rem;font-size:1.15rem}.portal-notice-form select{width:100%;font:inherit;color:inherit;background:#fff;border:1px solid #c9d2d8;border-radius:6px;padding:.55rem .6rem}.portal-field{margin:.7rem 0;display:block}.portal-field span{color:var(--portal-ink);margin-bottom:.25rem;font-size:.85rem;display:block}.portal-field input{box-sizing:border-box;width:100%}.portal-gate{background:#eef3f6;border-radius:8px;margin:.75rem 0;padding:.9rem 1rem}.portal-gate-btn{width:100%;margin-top:.6rem;padding:1rem 1.1rem;font-size:1.05rem}.portal-shell .portal-gate-steps,.portal-gate-steps{color:#777;margin:.4rem 0 0;padding-left:1.15rem;font-size:.85rem;line-height:1.45}.portal-gate-steps li{margin:.25rem 0}.portal-gate-denied{background:#fdecea;border:1px solid #b3261e;border-radius:8px;padding:.9rem 1rem}.portal-gate-denied strong{color:#7a1220;margin-bottom:.35rem;display:block}.portal-gate-denied .portal-btn{margin-top:.5rem}.portal-shell .portal-gate-state,.portal-gate-state{color:#1f2d33;background:#fff;border:1px solid #d8e0e5;border-radius:8px;flex-direction:column;gap:.1rem;margin:0 0 .75rem;padding:.6rem .75rem;display:flex}.portal-gate-state .portal-muted{font-size:.8rem}.portal-gate-state[data-on-site=yes]{border-left:4px solid #185fa5}.portal-gate-state[data-on-site=no]{border-left:4px solid #3b6d11}.portal-gate-dirs{flex-direction:column;gap:.5rem;display:flex}.portal-gate-btn.enter,.portal-gate-btn.exit{color:#1f2d33;background:#fff;border:1px solid #c3ced4}.portal-gate-btn.enter.expected{color:#fff;background:#3b6d11;border-color:#3b6d11}.portal-gate-btn.exit.expected{color:#fff;background:#185fa5;border-color:#185fa5}.portal-gate-warn{background:#fdf3e3;border:1px solid #a66a1e;border-radius:8px;padding:.9rem 1rem}.portal-shell .portal-gate-warn strong,.portal-gate-warn strong{color:#6b4410;margin-bottom:.35rem;display:block}.portal-shell .portal-gate-warn p,.portal-gate-warn p{color:#4a3a22;margin:0 0 .75rem}.portal-gate-warn .portal-btn{margin-bottom:.5rem}.portal-shell .portal-gate-warn .portal-muted,.portal-gate-warn .portal-muted{margin:.25rem 0 0;font-size:.85rem}.portal-field .portal-muted{font-weight:400;display:inline}.portal-readonly{margin:.4rem 0 1rem}.portal-readonly dt{color:var(--portal-ink);font-size:.85rem}.portal-readonly dd{overflow-wrap:anywhere;margin:0 0 .6rem;font-weight:600}.portal-rule{border:0;border-top:1px solid #0000001f;margin:1.4rem 0 1rem}.portal-fieldset{border:1px solid #d5dbe0;border-radius:8px;margin:0 0 14px;padding:12px 14px}.portal-fieldset legend{color:#444;padding:0 6px;font-size:.9rem}.portal-choice{cursor:pointer;align-items:flex-start;gap:10px;padding:6px 0;display:flex}.portal-choice input[type=radio]{flex:none;margin-top:3px}*{box-sizing:border-box}body{color:#1a1a1a;background:#f5f6f8;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.centered{justify-content:center;align-items:center;height:100vh;display:flex}.login-page{background:#0f1729;flex-direction:column;justify-content:center;align-items:center;gap:1.75rem;height:100vh;display:flex}.login-form{background:#fff;border-radius:12px;flex-direction:column;gap:.9rem;width:320px;padding:2.5rem;display:flex;box-shadow:0 10px 40px #0000004d}.login-form h1{margin:0;font-size:1.25rem}.login-subtitle{color:#666;margin:0 0 .5rem;font-size:.9rem}.login-form label{flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:600;display:flex}.login-form input{border:1px solid #ccc;border-radius:6px;padding:.5rem .6rem;font-size:1rem}.login-form button{color:#fff;cursor:pointer;background:#1a2b4c;border:none;border-radius:6px;margin-top:.5rem;padding:.6rem;font-weight:600}.login-form button:disabled{opacity:.6;cursor:default}.form-error{color:#b91c1c;margin:0;font-size:.85rem}.form-success{color:#15803d;margin:0;font-size:.85rem}.app-header{color:#fff;background:#1a2b4c;justify-content:space-between;align-items:center;padding:.9rem 1.5rem;display:flex}.app-title{color:#fff;align-items:center;gap:.55rem;font-weight:700;text-decoration:none;display:flex}.app-logo{border-radius:6px;width:26px;height:26px;display:block}.login-logo{border-radius:14px;width:64px;height:64px;margin:0 auto .9rem;display:block}.app-nav{gap:1.25rem;display:flex}.app-nav a{color:#ffffffbf;font-size:.9rem;font-weight:600;text-decoration:none}.app-nav a.active{color:#fff}.app-header-right{align-items:center;gap:1rem;font-size:.9rem;display:flex}.app-header-right a{color:#fff}.app-header-right button{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:6px;padding:.35rem .8rem}.app-main{max-width:1100px;margin:0 auto;padding:1.5rem}.app-footer{color:#8a969c;text-align:center;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.4rem 1rem;max-width:1100px;margin:0 auto;padding:1rem 1.5rem 2rem;font-size:.75rem;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.toolbar button{color:#1a2b4c;cursor:pointer;background:#fff;border:1px solid #1a2b4c;border-radius:6px;padding:.5rem 1rem;font-weight:600}.legend{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:1rem;font-size:.85rem;display:flex}.legend-item{align-items:center;gap:.4rem;display:flex}.map-note{text-align:center;margin:0 0 .75rem;font-size:.85rem}.legend-swatch{border-radius:3px;width:14px;height:14px;display:inline-block}.site-map-grid{grid-template-columns:repeat(auto-fit,72px);justify-content:start;gap:8px;display:grid}.unit-tile{color:#fff;cursor:pointer;text-align:center;border:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:72px;height:72px;padding:4px;font-size:.75rem;font-weight:700;display:flex}.unit-tile-dimmed{opacity:.18;filter:grayscale()}.plan-tile-dimmed{opacity:.35;filter:grayscale()}.plan-tile{border:2px solid #000;border-radius:2px}.plan-tile-selected{border-color:#fff;box-shadow:0 0 0 2px #000}.unit-tile span.size{opacity:.85;font-size:.65rem;font-weight:400}.status-AVAILABLE{background:#16a34a}.status-RESERVED{background:#0891b2}.status-OCCUPIED{background:#2563eb}.status-OVERDUE_LOCKED{background:#dc2626}.status-MAINTENANCE{background:#6b7280}.status-UNAVAILABLE{background:#1f2937}.status-PLANNED{color:#475569;background:repeating-linear-gradient(45deg,#f1f5f9,#f1f5f9 6px,#e2e8f0 6px 12px);border:2px dashed #94a3b8}.legend-swatch.status-PLANNED{border-width:1px}.status-LEAVING{background:#b45309}.training-banner{color:#fff;text-align:center;background:#6b21a8;padding:8px 16px;font-size:.85rem;line-height:1.4}.training-banner strong{letter-spacing:.02em;font-weight:700}.migration-banner{color:#fff;text-align:center;background:#b45309;padding:8px 16px;font-size:.85rem;line-height:1.4}.migration-banner strong{font-weight:700}.diag-badge{color:#fff;white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:700;display:inline-block}.diag-PASS{background:#16a34a}.diag-WARN{background:#d97706}.diag-FAIL{background:#dc2626}.diag-SKIPPED{background:#6b7280}.panel{background:#fff;border-radius:10px;margin-bottom:1.25rem;padding:1.25rem;box-shadow:0 1px 3px #00000014}.panel h2{margin-top:0;font-size:1rem}.field-row{flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem;display:flex}.field-row label{flex-direction:column;gap:.25rem;font-size:.8rem;font-weight:600;display:flex}.field-row input,.field-row select{border:1px solid #ccc;border-radius:6px;padding:.4rem .5rem;font-size:.9rem}.back-link{color:#1a2b4c;margin-bottom:1rem;font-weight:600;text-decoration:none;display:inline-block}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid #eee;padding:.5rem}.stat-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.stat-card{background:#fff;border-radius:10px;flex-direction:column;gap:.35rem;padding:1.25rem;display:flex;box-shadow:0 1px 3px #00000014}.stat-card-warn{border-left:4px solid #dc2626}.stat-value{font-size:1.75rem;font-weight:700}.stat-label{color:#6b7280;font-size:.8rem}.dashboard-columns{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem;margin-bottom:1.25rem;display:grid}.trend-chart{align-items:flex-end;gap:.5rem;height:160px;padding-top:1rem;display:flex}.trend-column{flex-direction:column;flex:1;align-items:center;height:100%;display:flex}.trend-bars{flex:1;align-items:flex-end;gap:2px;width:100%;display:flex}.trend-bar{border-radius:2px 2px 0 0;flex:1;min-height:2px}.trend-bar-unmeasured{background:repeating-linear-gradient(45deg,#e5e7eb,#e5e7eb 3px,#0000 3px 6px);border-radius:2px;align-self:stretch;min-height:0}.trend-label{color:#6b7280;margin-top:.35rem;font-size:.7rem}.dashboard-columns .panel{margin-bottom:0}.tab-bar{border-bottom:2px solid #dde4e7;gap:.4rem;margin-bottom:1.25rem;display:flex}.tab{color:#5a6b72;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-2px;padding:.5rem 1rem;font-size:.9rem;font-weight:600}.tab-active{color:#183446;border-bottom-color:#183446}.health-wrap{position:relative}.health-button{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:6px;align-items:center;gap:.45rem;padding:.35rem .8rem;font-size:.85rem;display:flex}.health-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.health-ok{background:#22c55e}.health-warn{background:#f59e0b}.health-fail{background:#ef4444}.health-unknown{background:#9ca3af}.health-dropdown{color:#1f2937;z-index:60;background:#fff;border-radius:8px;width:min(640px,100vw - 2rem);max-height:70vh;padding:1rem;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 8px 30px #00000040}.health-dropdown table{font-size:.85rem}.app-version{color:#a3adb3;font-size:.75rem;font-weight:600}.user-menu{position:relative}.user-menu-trigger{color:#fff;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.35rem .4rem;font-weight:600}.user-menu-trigger:hover,.user-menu-trigger[aria-expanded=true]{background:#ffffff1f}.user-menu-panel{z-index:1000;background:#fff;border:1px solid #ddd;border-radius:8px;flex-direction:column;gap:2px;min-width:190px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 28px #0000002e}.user-menu-panel a,.user-menu-panel button{text-align:left;color:#1a2b4c;width:100%;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:5px;padding:.5rem .6rem;font-size:.9rem;font-weight:600;text-decoration:none;display:block}.user-menu-panel a:hover,.user-menu-panel button:hover{background:#eef2f8}.user-menu-panel .user-menu-pending{color:#6b7280;cursor:default}.user-menu-panel .user-menu-pending:hover{background:0 0}.user-menu-panel .user-menu-signout{color:#b00020;border-top:1px solid #eee;border-radius:0 0 5px 5px;margin-top:2px}.user-menu-panel .user-menu-signout:hover{background:#fdeced}.notif-panel button{color:#1a2b4c;cursor:pointer;background:#f5f7fa;border:1px solid #c8cfda;border-radius:6px;padding:.25rem .65rem;font-size:.8rem;font-weight:600}.notif-panel button:hover:not(:disabled){background:#e7edf6;border-color:#1a2b4c}.notif-panel button:disabled{color:#9aa1ac;cursor:default;background:#f2f3f5;border-color:#e2e4e8;font-weight:400}.notif-panel .notif-dismiss{color:#8a8f98;background:0 0;border:none;padding:2px 6px;font-size:1.05rem;font-weight:400;line-height:1}.notif-panel .notif-dismiss:hover:not(:disabled){color:#b00020;background:0 0;border:none}.invoice-toggle{color:#1a2b4c;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-weight:600}.invoice-toggle:hover{text-decoration:underline}.invoice-part-paid{color:#8a6d00;font-size:.8rem;font-weight:600;display:block}.invoice-detail-row>td{background:#f7f9fc;padding:.6rem 1rem .9rem}.invoice-lines{width:auto;min-width:min(560px,100%);font-size:.85rem}.invoice-lines th,.invoice-lines td{padding:.3rem .75rem .3rem 0}.invoice-lines .num{text-align:right;font-variant-numeric:tabular-nums}.invoice-lines tfoot td{color:#4b5563;border-top:1px solid #d8dee8}.invoice-lines tfoot tr.total td{color:#1a2b4c;font-weight:700}.invoice-lines-empty{color:#6b7280;margin:0;font-size:.85rem}.invoice-lines-note{color:#6b7280;max-width:60ch;margin:.5rem 0 0;font-size:.78rem}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.muted{color:#6b7280}.linklike{font:inherit;color:#1a2b4c;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.linklike:hover{color:#0f1c33}.onsite-contact{background:#f8fafc;flex-wrap:wrap;align-items:center;gap:1rem;font-size:.85rem;display:flex}.button-link{color:#fff;background:#1a2b4c;border-radius:6px;padding:.4rem .75rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-block}.button-link:hover{background:#0f1c33}.gate-mode{border:1px solid;border-left-width:4px;border-radius:8px;margin-bottom:1.25rem;padding:.85rem 1rem}.gate-mode-ok{background:#f2f7f3;border-color:#bcd8c4 #bcd8c4 #bcd8c4 #2f6b41}.gate-mode-info{background:#eef3f8;border-color:#c3d4e4 #c3d4e4 #c3d4e4 #3d7dbf}.gate-mode-warn{background:#fdf3e7;border-color:#f0c9a3 #f0c9a3 #f0c9a3 #b45309}.gate-mode-head{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.gate-mode-badge{letter-spacing:.02em;color:#fff;white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.72rem;font-weight:700;display:inline-block}.gate-mode-badge-ok{background:#2f6b41}.gate-mode-badge-info{background:#356ba8}.gate-mode-badge-warn{background:#b45309}.gate-mode-detail{color:#3f4c52;margin:.5rem 0 0;font-size:.85rem;line-height:1.45}.gate-mode-conn{color:#5a6b72;margin:.45rem 0 0;font-size:.8rem}.gate-mode-conn-bad{color:#b3261e;font-weight:600}@media (width<=960px){.app-header{flex-wrap:wrap;gap:.5rem .75rem;padding:.75rem 1rem}.app-title{order:1}.app-header-right{order:2;gap:.75rem}.app-nav{flex-wrap:wrap;flex:1 0 100%;order:3;gap:.5rem 1rem}.app-header{position:relative}.health-wrap{position:static}.app-header-right>div:not([class]){position:static!important}.health-dropdown{width:auto;left:1rem;right:1rem}.notif-panel{width:auto!important;max-width:none!important;left:1rem!important;right:1rem!important}.app-main{padding:1rem}.tab-bar{flex-wrap:wrap}.field-row>label,.toolbar>label{min-width:0}select,textarea,input:not([type=checkbox]):not([type=radio]){min-width:0;max-width:100%}.panel>table{display:block;overflow-x:auto}.trend-chart{overflow-x:auto}}.card-lookup-form{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.card-lookup-form input{font-variant-numeric:tabular-nums;min-width:200px;padding:8px 10px;font-size:1.1rem}.card-lookup-result{max-width:560px;margin-top:16px}.lookup-hit{border-radius:8px;margin:0 0 12px;padding:12px 14px;line-height:1.5}.lookup-hit-match{color:#14532d;background:#dcfce7}.lookup-hit-match a{color:#14532d}.lookup-hit-warn{color:#713f12;background:#fef3c7}.lookup-hit-none{color:#374151;background:#f3f4f6}.card-lookup-facts{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px 16px;margin:0 0 12px;display:grid}.card-lookup-facts div{min-width:0}.card-lookup-facts dt{color:#6b7280;margin-bottom:2px;font-size:.78rem}.card-lookup-facts dd{font-variant-numeric:tabular-nums;margin:0;font-size:1rem}.deposit-arrears-warning{color:#7a2e0e;background:#fde8d7;border:1px solid #c2703f;border-radius:6px;margin:0 0 10px;padding:10px 12px;font-size:.9rem;line-height:1.5}.deposit-arrears-warning button{margin-top:8px}.table-scroll{overflow-x:auto}.move-buttons button{color:#1a2b4c;cursor:pointer;background:#fff;border:1px solid #1a2b4c;border-radius:6px;padding:.5rem .6rem;font-weight:600}.move-buttons button:disabled{opacity:.4;cursor:default}.site-map-area+.site-map-area{margin-top:1.25rem}.site-map-area-label{letter-spacing:.04em;color:#1a2b4c;align-items:baseline;gap:.55rem;margin:0 0 .4rem;font-size:.95rem;display:flex}.site-map-area-label span{letter-spacing:0;color:#5a6b72;font-size:.78rem;font-weight:400}
