:root{--font-family-primary:var(--font-inter), Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-family-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-size-caption:.75rem;--font-size-body:.875rem;--font-size-control:.875rem;--font-size-heading-sm:1.125rem;--font-size-heading-lg:1.75rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1.2;--line-height-body:1.5;--color-page:#fff8f3;--color-panel:#fff;--color-panel-soft:#fef2e3;--color-panel-elevated:#f9ecdd;--color-panel-highlight:#f3e6d8;--color-text-primary:#201b12;--color-text-secondary:#504534;--color-text-tertiary:#837561;--color-text-inverse:#fff;--color-border-subtle:#d5c4ad;--color-border-strong:#837561;--color-brand:#d99a00;--color-brand-strong:#7d5700;--color-brand-soft:#ffdeaa;--color-brand-dark-text:#503700;--color-sidebar:#fff8f3;--color-sidebar-text:#201b12;--color-link:#00639c;--color-secondary:#00639c;--color-secondary-soft:#cee5ff;--color-secondary-container:#7abefd;--color-success:#006d40;--color-success-strong:#00522f;--color-success-soft:#e7f7ee;--color-success-text:#002110;--color-warning:#d99a00;--color-warning-soft:#ffdeaa;--color-danger:#ba1a1a;--color-danger-soft:#ffdad6;--color-danger-text:#93000a;--color-overlay:#201b127a;--color-info:#00639c;--chart-amber:#d99a00;--chart-blue:#00639c;--chart-violet:#8b5cf6;--chart-green:#006d40;--chart-red:#ba1a1a;--shadow-soft:0 1px 3px #201b120d, 0 12px 32px #201b1212;--shadow-subtle:0 1px 2px #201b120f;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--space-page:24px;--color-admin-page:#f4f6f8;--color-admin-panel-soft:#f7f8fa;--color-admin-border:#dfe3e8;--color-admin-border-strong:#c6ccd4;--color-admin-text:#161a20;--color-admin-text-secondary:#525a66;--color-admin-text-tertiary:#737d8c;--toastify-color-light:var(--color-panel);--toastify-color-success:var(--color-success);--toastify-color-error:var(--color-danger);--toastify-font-family:var(--font-family-primary);--toastify-text-color-light:var(--color-text-primary);--toastify-toast-width:360px;--toastify-toast-min-height:64px}.Toastify .Toastify__toast-container{z-index:1200;width:min(360px,100vw - 32px)}.Toastify__toast.taho-toast{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-panel);box-shadow:var(--shadow-soft);color:var(--color-text-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:var(--line-height-body);border-left:4px solid;padding:12px 14px}.Toastify__toast.taho-toast.Toastify__toast--success{border-left-color:var(--color-success)}.Toastify__toast.taho-toast.Toastify__toast--error{border-left-color:var(--color-danger)}.Toastify__toast.taho-toast .Toastify__toast-icon{width:20px}.Toastify__toast.taho-toast .taho-toast-close{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-secondary);opacity:.72;background:0 0;border:0;flex:0 0 32px;align-self:center;place-items:center;margin:-4px -6px -4px 4px;padding:0;display:inline-grid}.Toastify__toast.taho-toast .taho-toast-close:hover,.Toastify__toast.taho-toast .taho-toast-close:focus-visible{background:var(--color-admin-panel-soft);color:var(--color-text-primary);opacity:1}@media (max-width:760px){:root{--toastify-toast-width:min(420px, calc(100vw - 24px))}.Toastify .Toastify__toast-container.Toastify__toast-container--top-right{width:calc(100vw - 24px);top:12px;left:12px;right:12px}}@media (prefers-reduced-motion:reduce){.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--top-center,.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--bottom-center,.Toastify__bounce-enter--bottom-right,.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--top-center,.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--bottom-center,.Toastify__bounce-exit--bottom-right{animation:none}}.panel.membership-panel,.panel.reconciliation-panel,.panel.vehicle-panel,.panel.vehicle-editor-panel{margin-top:16px}.membership-heading,.reconciliation-heading,.vehicle-heading{align-items:center;gap:16px}.membership-form,.reconciliation-form,.vehicle-form{border-top:1px solid var(--color-border-subtle);background:var(--color-panel-soft);padding:16px}.membership-form fieldset,.reconciliation-form fieldset,.vehicle-form fieldset{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-width:0;margin:0;padding:0;display:grid}.membership-form label,.reconciliation-form label,.vehicle-form label{min-width:0;color:var(--color-text-secondary);gap:6px;font-weight:700;display:grid}.membership-form input,.membership-form select,.reconciliation-form input,.reconciliation-form select,.vehicle-form input,.vehicle-form select,.vehicle-form textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-panel);width:100%;min-height:40px;color:var(--color-text-primary);padding:8px 10px}.vehicle-form textarea{resize:vertical;min-height:88px}.vehicle-description{grid-column:1/-1}.membership-mode{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.membership-mode button.active{border-color:var(--color-brand-strong);background:var(--color-brand-soft);color:var(--color-brand-strong);box-shadow:inset 0 0 0 1px var(--color-brand)}.membership-form-actions,.vehicle-form-actions{grid-column:1/-1;align-items:center;gap:8px;display:flex}.membership-table-wrap strong,.reconciliation-table-wrap strong{color:var(--color-text-primary)}.membership-cell-note{color:var(--color-text-tertiary);margin-top:3px;font-size:12px;font-weight:500;display:block}.relationship-pill{background:var(--color-panel-soft);min-height:26px;color:var(--color-text-secondary);white-space:nowrap;border-radius:999px;align-items:center;padding:4px 9px;font-size:12px;font-weight:800;display:inline-flex}.relationship-owner,.relationship-co_owner{background:var(--color-brand-soft);color:var(--color-brand-strong)}.relationship-tenant,.relationship-authorized{background:color-mix(in srgb, var(--color-info) 12%, var(--color-panel));color:var(--color-info)}.relationship-spouse,.relationship-child,.relationship-parent,.relationship-sibling{background:var(--color-success-soft);color:var(--color-success)}.membership-edit-form{border-top:1px solid var(--color-border-subtle)}.membership-edit-form strong{align-self:center}.reconciliation-heading{flex-wrap:wrap}.reconciliation-tabs{flex-wrap:wrap;gap:6px;display:flex}.reconciliation-tabs a{border:1px solid var(--color-border-subtle);background:var(--color-panel);color:var(--color-text-secondary);border-radius:999px;padding:7px 11px;font-weight:700}.reconciliation-tabs a:hover,.reconciliation-tabs a.active{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-strong)}.reconciliation-form-title{grid-column:1/-1;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.reconciliation-form-title div,.reconciliation-created-resident{gap:4px;display:grid}.reconciliation-form-title span,.reconciliation-created-resident span{color:var(--color-text-secondary);font-size:12px}.reconciliation-created-resident{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-panel);padding:10px}@media (max-width:760px){.membership-heading,.reconciliation-heading,.vehicle-heading,.reconciliation-form-title{flex-direction:column;align-items:stretch}.membership-form fieldset,.reconciliation-form fieldset,.vehicle-form fieldset{grid-template-columns:1fr}.membership-form-actions,.vehicle-form-actions,.membership-mode,.reconciliation-form-title{grid-column:1}.membership-table-wrap,.reconciliation-table-wrap,.vehicle-table-wrap{overflow-x:auto}.membership-table-wrap table,.reconciliation-table-wrap table,.vehicle-table-wrap table{min-width:760px}}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}html{background:var(--color-page)}body{background:linear-gradient(180deg, #ffffffeb, #fef2e380 260px), var(--color-page);color:var(--color-text-primary);font-family:var(--font-family-primary);font-size:var(--font-size-body);font-style:normal;font-weight:var(--font-weight-regular);line-height:var(--line-height-body);text-rendering:optimizelegibility;margin:0}a{color:inherit;text-decoration:none}button,.button,input,select,textarea{font-family:inherit;font-size:var(--font-size-control);font-style:normal;line-height:inherit}button,.button{border:1px solid var(--color-brand);border-radius:var(--radius-sm);background:var(--color-brand);color:#fff;cursor:pointer;min-height:36px;font-weight:var(--font-weight-semibold);justify-content:center;align-items:center;gap:8px;padding:8px 14px;transition:background .14s,border-color .14s,color .14s,box-shadow .14s,transform .14s;display:inline-flex}button:hover,.button:hover{border-color:var(--color-brand-strong);background:#efb21d;box-shadow:0 8px 18px #d99a002e}button:active,.button:active{transform:translateY(1px)}button.secondary,.button.secondary{border-color:var(--color-border-strong);color:var(--color-text-primary);background:#fff}button.secondary:hover,.button.secondary:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-subtle);background:#f7fafc}button.danger,.button.danger{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-text-inverse)}button.danger:hover,.button.danger:hover{border-color:var(--color-danger);background:var(--color-danger);box-shadow:0 8px 18px #d943432e}button.link-button{min-height:auto;color:var(--color-link);box-shadow:none;background:0 0;border:0;padding:0}button.link-button:hover{color:#0f4f7c;box-shadow:none;background:0 0}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.58}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #d99a0057}.admin-shell{--admin-sidebar-width:264px;--admin-sidebar-collapsed-width:88px;grid-template-columns:var(--admin-sidebar-width) minmax(0, 1fr);min-height:100vh;transition:grid-template-columns .18s;display:grid}.sidebar{border-right:1px solid var(--color-border-subtle);background:var(--color-sidebar);height:100vh;color:var(--color-sidebar-text);padding-bottom:20px;transition:width .16s;position:sticky;top:0;overflow-y:auto}.sidebar.collapsed{width:88px}.brand-row{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;gap:12px;min-height:68px;padding:14px 16px;display:flex}.brand{min-width:0;color:var(--color-text-primary);align-items:center;gap:12px;display:flex}.brand-copy{min-width:0}.brand-copy strong{font-size:var(--font-size-heading-sm);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.brand span{color:var(--color-text-tertiary);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;line-height:1.4;display:block;overflow:hidden}.brand-mark,.login-brand-mark{border-radius:var(--radius-md);color:#191200;letter-spacing:.02em;background:linear-gradient(135deg,#e5a500,#f4c94f);flex:none;place-items:center;width:38px;height:38px;font-size:12px;font-weight:900;display:grid;box-shadow:0 8px 18px #d99a0038}.sidebar-toggle{border-color:var(--color-border-subtle);min-width:34px;min-height:34px;color:var(--color-text-secondary);background:#fff;padding:0}.sidebar-toggle:hover{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-strong)}.sidebar.collapsed .brand{justify-content:center}.sidebar.collapsed .brand-copy,.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-chevron{display:none}.sidebar.collapsed .brand-row{flex-direction:column;align-items:center;padding-inline:12px}.nav-group{padding:4px 10px}.nav-group:first-of-type{margin-top:8px}.nav-parent,.nav-child{border-radius:var(--radius-md);align-items:center;gap:10px;display:flex}.nav-parent{width:100%;min-height:44px;color:var(--color-sidebar-text);cursor:pointer;font-size:var(--font-size-control);font-weight:var(--font-weight-bold);text-align:left;background:0 0;border:0;justify-content:space-between;padding:10px 12px}.nav-parent-main{align-items:center;gap:10px;min-width:0;display:flex}.nav-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-link{justify-content:flex-start}.nav-chevron{color:var(--color-text-tertiary);font-size:17px;line-height:1}.nav-parent.active,.nav-child.active{background:var(--color-brand-soft);color:var(--color-brand-strong)}.nav-parent:hover,.nav-child:hover{background:var(--color-panel-elevated);color:var(--color-text-primary);box-shadow:none}.nav-parent.active:hover,.nav-child.active:hover{background:var(--color-brand-soft);color:var(--color-brand-strong);box-shadow:none}.nav-icon{flex:0 0 24px;place-items:center;width:24px;height:24px;display:grid}.nav-icon-svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:20px;height:20px}.nav-children{gap:2px;padding:2px 0 2px 34px;display:grid}.nav-children[hidden]{display:none}.sidebar.collapsed .nav-parent{justify-content:center;padding-inline:12px}.nav-child{min-height:34px;color:var(--color-text-secondary);padding:7px 10px;font-size:13px;font-weight:600}.main{min-width:0}.topbar{border-bottom:1px solid var(--color-border-subtle);min-height:68px;padding:12px var(--space-page);z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.building-picker,.user-menu,.topbar-actions{align-items:center;gap:10px;display:flex}.topbar-ai-toggle{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-panel);width:40px;height:40px;color:var(--color-text-secondary);box-shadow:var(--shadow-subtle);flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.topbar-ai-toggle:hover:not(:disabled){border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-strong)}.topbar-ai-toggle.active{border-color:var(--color-border-subtle);background:var(--color-panel-soft);color:var(--color-brand-strong)}.building-picker{min-width:min(340px,100%)}.building-picker label,.toolbar-label{color:var(--color-text-tertiary);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:800}.building-picker select,.filter-bar input,.filter-bar select,.admin-form input,.admin-form select,.admin-form textarea,.login-form input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);min-height:40px;color:var(--color-text-primary);background:#fff;padding:10px 14px;transition:border-color .14s,box-shadow .14s,background .14s}.building-picker select{min-width:210px;font-weight:700}.filter-bar input[type=search]{flex:280px;min-width:260px}.building-picker select:focus,.filter-bar input:focus,.filter-bar select:focus,.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus,.login-form input:focus{border-color:var(--color-brand);outline:none;box-shadow:0 0 0 4px #d99a0024}.user-copy{align-items:center;gap:8px;display:flex}.status-dot{background:var(--color-success);border-radius:999px;width:8px;height:8px;display:inline-block;box-shadow:0 0 0 4px #1f9d621f}.user-avatar{background:var(--color-brand);color:#fff;border-radius:999px;place-items:center;width:38px;height:38px;font-size:12px;font-weight:900;display:grid}.user-avatar.small{width:34px;height:34px;font-size:11px}.profile-menu{position:relative}.profile-trigger{cursor:pointer;border-radius:var(--radius-sm);align-items:center;gap:10px;padding:4px 8px;list-style:none;transition:background .14s;display:inline-flex}.profile-trigger:hover{background:var(--color-panel-soft)}.profile-trigger-user{text-align:right;flex-direction:column;align-items:flex-end;line-height:1.25;display:flex}.profile-trigger-user strong{color:var(--color-text-primary);font-size:13px;font-weight:600}.profile-trigger-user span{color:var(--color-text-tertiary);font-size:11px}.profile-trigger::-webkit-details-marker{display:none}.profile-trigger:focus-visible{outline-offset:2px;outline:2px solid #d99a008c}.profile-popover{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);z-index:22;background:#fff;width:min(280px,86vw);padding:12px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 12px 36px #0f172a24}.profile-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.profile-popover form{margin:0}.profile-popover .secondary{width:100%}.profile-popover .logout-button{border-color:var(--color-danger-soft);background:var(--color-danger-soft);color:var(--color-danger)}.profile-popover .logout-button:hover{border-color:var(--color-danger);background:var(--color-danger-soft);color:#b42323}.user-copy{flex-direction:column;align-items:flex-start;gap:1px}.user-copy strong{line-height:1.2}.user-copy span{color:var(--color-text-tertiary);font-size:12px}.content-header{padding:20px var(--space-page) 16px;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.content-header-copy{min-width:0}.breadcrumb-back,.breadcrumb-nav{color:var(--color-text-secondary);align-items:center;gap:6px;margin-bottom:6px;font-size:13px;font-weight:600;display:inline-flex}.breadcrumb-separator{color:var(--color-text-tertiary);font-size:12px}.breadcrumb-back:hover{color:var(--color-link)}.content-header p{color:var(--color-text-secondary);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);margin:0 0 4px}.content-header h1{font-size:var(--font-size-heading-lg);font-weight:var(--font-weight-bold);letter-spacing:-.01em;line-height:var(--line-height-tight);color:var(--color-text-primary);margin:0}.content-header small{color:var(--color-text-tertiary);margin-top:6px;font-size:13px;font-weight:500;display:inline-flex}.task-description{max-width:680px;color:var(--color-text-secondary);margin-top:8px;font-weight:650;display:block}.dashboard-charts,.metrics-grid,.split-grid,.summary-grid{padding:0 var(--space-page) 16px;gap:14px;display:grid}.dashboard-charts{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.chart-card{border:1px solid var(--color-border-subtle);background:var(--color-panel);min-height:318px;box-shadow:var(--shadow-soft);border-radius:8px;align-content:start;gap:16px;padding:18px 18px 16px;display:grid;position:relative;overflow:hidden}.chart-card.revenue-card{grid-column:1/-1;min-height:420px}.chart-heading{justify-content:space-between;align-items:flex-start;gap:14px;min-width:0;display:flex}.chart-heading h2{color:var(--color-text-primary);margin:0;font-size:22px;font-weight:850;line-height:1.15}.chart-legend{color:var(--color-text-secondary);flex-wrap:wrap;justify-content:flex-end;gap:8px 14px;font-size:12px;font-weight:750;display:flex}.chart-legend.vertical{justify-content:stretch;gap:10px;width:min(230px,100%);min-width:170px;display:grid}.chart-legend span{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.chart-legend.vertical span{white-space:normal;grid-template-columns:10px minmax(0,1fr) auto;gap:3px 8px;display:grid}.chart-legend em{min-width:0;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}.chart-legend strong{color:var(--color-text-primary);grid-column:2;font-size:13px;line-height:1.2}.chart-legend small{color:var(--color-text-tertiary);background:#f4f7fb;border-radius:999px;grid-area:1/3/span 2;align-self:center;padding:5px 7px;font-size:11px;font-weight:800;line-height:1}.chart-legend i{border-radius:999px;flex:none;width:10px;height:10px;display:inline-block}.chart-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.chart-summary-item{background:#f8fafc;border:1px solid #e7edf5;border-radius:8px;min-width:0;padding:12px}.chart-summary-item span{min-width:0;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex;overflow:hidden}.chart-summary-item i{border-radius:999px;flex:none;width:9px;height:9px}.chart-summary-item strong{color:var(--color-text-primary);margin-top:8px;font-size:clamp(18px,2vw,26px);font-weight:850;line-height:1.05;display:block}.chart-plot,.donut-plot{min-width:0;position:relative}.chart-svg{width:100%;min-height:240px;display:block}.revenue-svg{min-height:272px}.chart-grid-line{stroke:#e6edf5;stroke-width:1px}.chart-baseline{stroke:#d9e2ee;stroke-width:1.2px}.chart-axis-label{fill:var(--color-text-tertiary);font-size:11px;font-weight:700}.chart-axis-label-strong{fill:var(--color-text-secondary);font-size:12px;font-weight:850}.chart-bar{opacity:.9;transition:opacity .16s,filter .16s,transform .16s}.chart-line{fill:none;stroke:var(--chart-amber);stroke-linecap:round;stroke-linejoin:round;stroke-width:3.5px}.chart-point{fill:var(--chart-amber);stroke:#fff;stroke-width:2.5px;transition:filter .16s,r .16s}.chart-hit-target{cursor:pointer;outline:none}.chart-hit-target:hover,.chart-hit-target:focus-visible{filter:drop-shadow(0 6px 10px #0f172a2e);opacity:1}.chart-hit-target:focus-visible{stroke:var(--color-text-primary);stroke-width:2px}.chart-tooltip{z-index:2;pointer-events:none;min-width:132px;color:var(--color-text-primary);background:#fff;border:1px solid #dbe4ef;border-radius:8px;padding:9px 10px;position:absolute;transform:translate(-50%,calc(-100% - 12px));box-shadow:0 14px 30px #0f172a29}.chart-tooltip:after{content:"";background:#fff;border-bottom:1px solid #dbe4ef;border-right:1px solid #dbe4ef;width:10px;height:10px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.chart-tooltip span,.chart-tooltip strong,.chart-tooltip small{display:block}.chart-tooltip span{color:var(--color-text-secondary);font-size:12px;font-weight:800}.chart-tooltip strong{color:var(--color-text-primary);margin-top:4px;font-size:15px;font-weight:850}.chart-tooltip small{color:var(--color-text-tertiary);margin-top:5px;padding-left:12px;font-size:11px;font-weight:750;position:relative}.chart-tooltip small:before{background:var(--tooltip-color);content:"";border-radius:999px;width:7px;height:7px;position:absolute;top:4px;left:0}.donut-layout{justify-content:space-between;align-items:center;gap:22px;min-height:226px;display:flex}.donut-svg{flex:none;width:min(204px,44vw);display:block}.donut-track{fill:none;stroke:#edf1f6;stroke-width:6.8px}.donut-segment{fill:none;pointer-events:stroke;stroke-linecap:butt;stroke-width:6.8px;transition:filter .16s,stroke-width .16s}.donut-segment:hover,.donut-segment:focus-visible{stroke-width:7.8px}.donut-total{fill:var(--color-text-primary);pointer-events:none;font-size:4.8px;font-weight:850}.donut-caption{fill:var(--color-text-tertiary);pointer-events:none;font-size:2.7px;font-weight:800}.metrics-grid{grid-template-columns:repeat(5,minmax(160px,1fr));gap:16px}.metric-card{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-panel);min-height:128px;box-shadow:var(--shadow-subtle);color:var(--color-text-primary);flex-direction:column;justify-content:space-between;padding:16px;display:flex;position:relative}.metric-icon{background:var(--color-panel-soft);width:32px;height:32px;color:var(--color-brand-strong);border-radius:999px;place-items:center;display:grid;position:absolute;top:16px;right:16px}.metric-card span{color:var(--color-text-secondary);padding-right:36px;font-size:13px;font-weight:600;display:block}.metric-card strong{color:var(--color-text-primary);margin-top:12px;font-size:clamp(20px,1.8vw,26px);font-weight:700;line-height:1.15;display:block}.metric-card small{color:var(--color-text-tertiary);margin-top:6px;font-size:12px;font-weight:500;display:block}.split-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-grid>.panel{min-width:0;margin:0}.panel,.filter-bar,.route-actions,.notice{margin:0 var(--space-page) 16px}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-card{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-panel);box-shadow:var(--shadow-subtle);flex-direction:column;padding:16px;display:flex}.summary-card span{color:var(--color-text-secondary);font-size:13px;font-weight:800}.summary-card strong{margin-top:8px;font-size:24px;line-height:1.1}.summary-card small{color:var(--color-text-tertiary);margin-top:7px;font-size:12px;font-weight:700;display:block}.balance-summary.debt{border-color:color-mix(in srgb, var(--color-danger) 28%, var(--color-border-subtle))}.balance-summary.credit{border-color:color-mix(in srgb, var(--color-success) 30%, var(--color-border-subtle))}.balance-summary.debt strong,.opening-balance.debt{color:var(--color-danger)}.balance-summary.credit strong,.opening-balance.credit{color:var(--color-success)}.debt-summary .summary-card{border-top:3px solid var(--color-border-strong);min-width:0}.debt-summary .payment-summary{border-top-color:var(--color-success)}.debt-summary .closing-summary.debt{border-color:color-mix(in srgb, var(--color-danger) 30%, var(--color-border-subtle));border-top-color:var(--color-danger)}.debt-summary .closing-summary.debt strong{color:var(--color-danger)}.debt-summary .closing-summary.settled{border-top-color:var(--color-success)}.opening-balance,.money-cell{font-variant-numeric:tabular-nums;justify-content:flex-end;width:100%;font-weight:750;display:inline-flex}.opening-balance.settled{color:var(--color-text-tertiary)}.panel{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-panel);box-shadow:var(--shadow-soft);overflow:hidden}.panel-heading{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.panel-heading h2{margin:0;font-size:17px;font-weight:850;line-height:1.2}.panel-heading p{color:var(--color-text-tertiary);margin:4px 0 0;font-size:12px;font-weight:700}.route-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.content-header>.route-actions{box-shadow:none;background:0 0;border:0;margin:0;padding:0}.receipt-route-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.action-menu{position:relative}.action-menu>summary{list-style:none}.action-menu>summary::-webkit-details-marker{display:none}.action-menu-trigger{justify-content:space-between;min-width:144px}.action-menu-chevron{transition:transform .14s}.action-menu[open] .action-menu-chevron{transform:rotate(180deg)}.action-menu-popover{z-index:30;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-panel);width:max-content;min-width:220px;box-shadow:var(--shadow-soft);padding:6px;display:grid;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden}.action-menu-popover.align-end{left:auto;right:0}.action-menu-popover a{border-radius:var(--radius-sm);color:var(--color-text-primary);white-space:nowrap;padding:10px 12px;font-weight:700}.action-menu-popover a:hover,.action-menu-popover a:focus-visible{background:var(--color-brand-soft);color:var(--color-text-primary);outline:none}.route-actions .toolbar-label,.filter-bar .toolbar-label{margin-right:2px}.filter-bar{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-panel);box-shadow:var(--shadow-subtle);margin:0 var(--space-page) 16px;grid-template-columns:minmax(260px,1fr) repeat(3,minmax(150px,auto)) auto;align-items:center;gap:12px;padding:16px;display:grid}.ledger-filter-bar{grid-template-columns:minmax(240px,1.4fr) repeat(4,minmax(135px,1fr)) auto}.interaction-filter-bar{grid-template-columns:repeat(4,minmax(150px,1fr)) auto}.debt-filter-bar{grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(130px,1fr)) auto}.debt-filter-bar .filter-actions{grid-column:-2/-1}.excess-filter-bar{grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(150px,1fr)) auto}.excess-detail-filter-bar{grid-template-columns:repeat(4,minmax(150px,1fr))}.excess-detail-filter-bar .filter-search-field{grid-column:span 2}.excess-detail-filter-bar .filter-actions{justify-content:flex-end}.filter-heading{grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;display:flex}.filter-count{color:var(--color-link);font-size:12px;font-weight:750}.filter-search-field{min-width:0;color:var(--color-text-tertiary);align-items:center;display:flex;position:relative}.filter-search-field>svg{pointer-events:none;position:absolute;left:12px}.filter-search-field input[type=search]{width:100%;min-width:0;padding-left:38px}.filter-control,.filter-control input,.filter-control select{width:100%;min-width:0}.filter-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.table-wrap{scrollbar-gutter:stable;overflow-x:auto}.table-wrap:focus-visible{outline-offset:-3px;outline:3px solid #d99a0047}table{border-collapse:separate;border-spacing:0;white-space:nowrap;width:100%}th,td{border-bottom:1px solid var(--color-border-subtle);text-align:left;vertical-align:middle;padding:12px 16px}th{background:var(--color-panel-soft);color:var(--color-text-secondary);letter-spacing:.02em;text-transform:uppercase;font-size:12px;font-weight:700}td{color:var(--color-text-primary);font-size:13px}tbody tr:hover td{background:var(--color-panel-soft)}tbody tr:last-child td{border-bottom:0}.ledger-summary-card{border-top:3px solid var(--color-border-strong);align-items:flex-start;gap:12px;min-width:0;display:flex}.ledger-summary-card.receipt{border-top-color:var(--color-success)}.ledger-summary-card.payment{border-top-color:var(--color-danger)}.ledger-summary-card.closing{border-top-color:var(--color-brand)}.ledger-summary-card>div:last-child{min-width:0}.ledger-summary-icon{border-radius:var(--radius-md);background:var(--color-panel-soft);width:36px;height:36px;color:var(--color-text-secondary);flex:none;place-items:center;display:grid}.ledger-summary-card.receipt .ledger-summary-icon{background:var(--color-success-soft);color:var(--color-success)}.ledger-summary-card.payment .ledger-summary-icon{background:var(--color-danger-soft);color:var(--color-danger)}.ledger-summary-card.closing .ledger-summary-icon{background:var(--color-brand-soft);color:var(--color-brand-strong)}.ledger-summary-card strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;display:block}.ledger-panel-heading{align-items:flex-start}.ledger-table{min-width:1120px}.ledger-table .numeric-column{text-align:right}.ledger-money{font-variant-numeric:tabular-nums;justify-content:flex-end;width:100%;font-weight:780;display:inline-flex}.ledger-money.receipt{color:var(--color-success)}.ledger-money.payment{color:var(--color-danger)}.ledger-money.balance{color:var(--color-text-primary)}.voucher-code{color:var(--color-link);font-weight:800}.ledger-description{white-space:normal;width:min(360px,32vw);min-width:240px;display:inline-block}.ledger-table .reversal-row td{background:var(--color-danger-soft)}.ledger-table .reversal-row:hover td{background:color-mix(in srgb, var(--color-danger-soft) 78%, var(--color-panel))}.interaction-report-dashboard{gap:16px;margin-bottom:16px;display:grid}.interaction-metrics{padding:0 var(--space-page);grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.interaction-metric{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-panel);min-width:0;box-shadow:var(--shadow-soft);color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex}.interaction-metric.announcement{border-top:3px solid var(--color-success)}.interaction-metric.event{border-top:3px solid var(--color-brand)}.interaction-metric.comment{border-top:3px solid var(--color-info)}.interaction-metric>div{gap:4px;min-width:0;display:grid}.interaction-metric strong{color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-size:clamp(24px,2.8vw,36px);line-height:1}.interaction-metric span{color:var(--color-text-primary);font-size:14px;font-weight:820}.interaction-metric small{color:var(--color-text-tertiary);font-size:12px;font-weight:700}.interaction-metric>svg{color:var(--color-text-tertiary);flex:none}.interaction-section-heading{margin:0 var(--space-page);justify-content:space-between;align-items:end;gap:16px;padding-top:4px;display:flex}.interaction-section-heading span{color:var(--color-text-tertiary);text-transform:uppercase;font-size:12px;font-weight:800}.interaction-section-heading h2{margin:3px 0 0;font-size:20px}.interaction-context{color:var(--color-text-secondary);align-items:center;gap:7px;font-size:12px;font-weight:750;display:inline-flex}.interaction-report-dashboard .dashboard-charts{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:0}.interaction-report-dashboard .chart-card{min-height:340px}.link-button{color:var(--color-link);background:0 0;border:0;min-height:auto;padding:0}.table-actions{align-items:center;gap:4px;display:flex}.table-actions-cell,.table-actions-heading{z-index:2;border-left:1px solid var(--color-border-subtle);background:var(--color-panel);position:sticky;right:0;box-shadow:-8px 0 14px #16203308}.table-actions-heading{z-index:3;background:var(--color-panel-soft)}.row-action{border-radius:var(--radius-sm);min-height:32px;color:var(--color-link);white-space:nowrap;background:0 0;border:0;align-items:center;gap:5px;padding:6px 8px;font-weight:800;display:inline-flex}.row-action:hover{background:var(--color-panel-soft);box-shadow:none}.row-action.danger-link{color:var(--color-danger)}.row-action.danger-link:hover{background:var(--color-danger-soft);color:var(--color-danger)}.table-actions form{margin:0}.table-empty-state{text-align:center;height:140px}.table-empty-state strong,.table-empty-state span{display:block}.table-empty-state span{color:var(--color-text-tertiary);margin-top:5px}.debt-panel-heading{min-height:70px}.debt-selection-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.debt-selection-actions>span{color:var(--color-text-secondary);font-size:12px;font-weight:750}.debt-reminder-draft{border-bottom:1px solid color-mix(in srgb, var(--color-success) 25%, var(--color-border-subtle));background:var(--color-success-soft);color:var(--color-text-secondary);align-items:flex-start;gap:10px;padding:12px 16px;display:flex}.debt-reminder-draft>svg{color:var(--color-success);flex:none}.debt-reminder-draft strong{color:var(--color-text-primary)}.debt-reminder-draft a{color:var(--color-link);font-weight:800;text-decoration:underline}.debt-reminder-dialog{z-index:1000;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-panel);width:min(620px,100vw - 32px);max-height:min(760px,100vh - 32px);box-shadow:0 24px 80px var(--color-overlay);color:var(--color-text-primary);padding:0;position:fixed;top:50%;overflow:auto;transform:translateY(-50%)}.debt-reminder-dialog-heading,.debt-reminder-dialog-actions{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.debt-reminder-dialog-heading h2{margin:0;font-size:19px}.debt-reminder-dialog-heading .icon-button{border-color:var(--color-border-subtle);background:var(--color-panel);color:var(--color-text-primary)}.debt-reminder-confirmation{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:18px 20px 8px;display:grid}.debt-reminder-confirmation p{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-panel-soft);margin:0;padding:12px}.debt-reminder-recipients{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);gap:0;max-height:260px;margin:12px 20px;padding:0;list-style:none;display:grid;overflow:auto}.debt-reminder-recipients li{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;gap:16px;padding:10px 12px;display:flex}.debt-reminder-recipients li:last-child{border-bottom:0}.debt-reminder-recipients small,.debt-reminder-dialog details{color:var(--color-text-secondary)}.debt-reminder-dialog details{margin:12px 20px 20px}.debt-reminder-dialog-actions{border-top:1px solid var(--color-border-subtle);border-bottom:0;justify-content:flex-end}.spin{animation:.9s linear infinite debt-reminder-spin}@keyframes debt-reminder-spin{to{transform:rotate(360deg)}}.debt-table-wrap{min-height:180px}.debt-table-scroll-hint{border-bottom:1px solid var(--color-border-subtle);background:var(--color-panel-soft);color:var(--color-text-tertiary);margin:0;padding:9px 16px;font-size:12px;font-weight:700;display:none}.debt-report-table .numeric-column{text-align:right}.debt-report-table tbody tr.selected td{background:var(--color-brand-soft)}.debt-report-table tbody tr.selected:hover td{background:color-mix(in srgb, var(--color-brand-soft) 78%, var(--color-panel))}.debt-report-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-brand-strong);margin:0}.debt-select-cell,.debt-index-cell{text-align:center;width:48px}.debt-money,.debt-balance{font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:flex-end;width:100%;display:inline-flex}.debt-money{font-weight:700}.debt-balance{flex-direction:column;align-items:flex-end;gap:2px}.debt-balance strong{font-size:13px}.debt-balance small{color:var(--color-text-tertiary);font-size:11px;font-weight:750}.debt-balance.outstanding strong{color:var(--color-danger)}.debt-balance.credit strong,.debt-balance.credit small,.debt-balance.settled small{color:var(--color-success)}.excess-summary,.excess-ledger-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.excess-summary .summary-card,.excess-ledger-summary .summary-card{border-top:3px solid var(--color-border-strong);min-width:0}.excess-summary .excess-total-card,.excess-ledger-summary .ledger-increase-card{border-top-color:var(--color-success)}.excess-summary .excess-total-card strong,.excess-ledger-summary .ledger-increase-card strong,.excess-ledger-summary .ledger-net-card.increase strong{color:var(--color-success)}.excess-ledger-summary .ledger-decrease-card{border-top-color:var(--color-brand)}.excess-ledger-summary .ledger-decrease-card strong,.excess-ledger-summary .ledger-net-card.decrease strong{color:var(--color-brand-strong)}.excess-panel-heading{min-height:70px}.report-readonly-badge{border:1px solid var(--color-border-subtle);background:var(--color-panel-soft);color:var(--color-text-secondary);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:800;display:inline-flex}.excess-table-wrap{min-height:190px}.excess-payment-table,.excess-ledger-table{min-width:980px}.excess-ledger-table{min-width:1320px}.excess-payment-table .numeric-column,.excess-ledger-table .numeric-column{text-align:right}.apartment-code,.voucher-code,.date-cell{white-space:nowrap}.apartment-code{color:var(--color-text-primary);font-variant-numeric:tabular-nums}.apartment-reference-link{color:var(--color-link);font-variant-numeric:tabular-nums;text-underline-offset:3px;white-space:nowrap;font-weight:750;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;display:inline-flex}.apartment-reference-link:hover{text-decoration-color:currentColor}.voucher-code{max-width:190px;color:var(--color-link);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:750;display:inline-flex;overflow:hidden}.muted-cell{color:var(--color-text-tertiary)}.service-balance-list{flex-wrap:wrap;gap:6px;min-width:260px;display:flex}.service-balance-list>span{border:1px solid var(--color-border-subtle);background:var(--color-panel-soft);color:var(--color-text-secondary);border-radius:999px;align-items:center;gap:7px;padding:5px 8px;font-size:11px;font-weight:700;display:inline-flex}.service-balance-list>span strong{color:var(--color-success);font-variant-numeric:tabular-nums}.service-balance-list>span.decrease strong{color:var(--color-brand-strong)}.excess-balance{color:var(--color-success);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px}.excess-row-actions{justify-content:flex-end}.primary-row-action{background:var(--color-brand-soft);color:var(--color-text-primary)}.primary-row-action:hover,.primary-row-action:focus-visible{background:var(--color-brand);color:var(--color-ink-on-brand)}.ledger-index strong,.ledger-index small{display:block}.ledger-index small{color:var(--color-text-tertiary);margin-top:2px;font-size:10px}.ledger-description{max-width:240px;color:var(--color-text-secondary);line-height:1.4;display:inline-block}.ledger-movement{font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:flex-end;align-items:center;gap:4px;font-weight:850;display:inline-flex}.ledger-movement.increase{color:var(--color-success)}.ledger-movement.decrease{color:var(--color-brand-strong)}.meter-image-empty{color:var(--color-text-tertiary);font-weight:700}.template-download-link{max-width:240px;color:var(--color-link);align-items:center;gap:9px;text-decoration:none;display:inline-flex}.template-download-link>span{min-width:0;display:grid}.template-download-link strong{font-size:13px}.template-download-link small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;overflow:hidden}.template-download-link:hover strong{text-decoration:underline}.template-download-link:focus-visible{outline:3px solid var(--color-brand-soft);outline-offset:3px;border-radius:6px}.template-file-empty{color:var(--color-text-secondary);font-size:13px}.meter-image-link{max-width:220px;color:var(--color-link);align-items:center;gap:9px;display:inline-flex}.meter-image-link:hover strong,.meter-image-link:focus-visible strong{text-underline-offset:3px;text-decoration:underline}.meter-image-link:focus-visible{border-radius:var(--radius-sm);outline:3px solid var(--color-brand-soft);outline-offset:3px}.meter-image-link>span,.meter-image-link strong,.meter-image-link small{min-width:0;display:block}.meter-image-link small{max-width:150px;color:var(--color-text-tertiary);text-overflow:ellipsis;font-size:11px;font-weight:650;overflow:hidden}.meter-image-thumbnail{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-panel-soft);object-fit:cover;flex:0 0 44px;width:44px;height:44px}.status-pill{border-radius:999px;align-items:center;min-height:24px;padding:3px 9px;font-size:12px;font-weight:850;display:inline-flex}.status-pill.success{background:var(--color-success-soft);color:var(--color-success)}.status-pill.warning{background:var(--color-warning-soft);color:var(--color-warning)}.status-pill.danger{background:var(--color-danger-soft);color:var(--color-danger)}.status-pill.neutral{color:var(--color-text-secondary);background:#eef2f6}.admin-form .json-route-form-fields,.import-box{border:0;gap:14px;min-width:0;margin:0;padding:16px;display:grid}.import-intro{color:var(--color-text-secondary);align-items:flex-start;gap:12px;display:flex}.import-intro>svg{color:var(--color-link);flex:none;margin-top:1px}.import-intro strong,.import-intro span{display:block}.import-intro strong{color:var(--color-text-primary);font-size:14px}.import-intro span{color:var(--color-text-tertiary);margin-top:4px;font-size:12px;font-weight:650}.import-box .file-picker{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-panel-soft);min-height:84px;color:var(--color-text-secondary);cursor:pointer;text-align:center;justify-content:center;align-items:center;gap:10px;padding:18px;transition:border-color .14s,background-color .14s,color .14s;display:flex;position:relative}.import-box .file-picker:hover{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-text-primary)}.import-box .file-picker:focus-within{border-color:var(--color-brand);box-shadow:0 0 0 3px #d99a0033}.file-picker input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.import-form-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-form .json-route-form-fields{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;min-width:0;margin:0;padding:22px;display:grid}.admin-form label,.import-box label{color:var(--color-text-secondary);gap:7px;font-weight:800;display:grid}.field-label{align-items:center;gap:4px;display:inline-flex}.required-mark{color:var(--color-danger)}.field-help{color:var(--color-text-tertiary);font-size:12px;font-weight:600}.admin-form input:disabled,.admin-form select:disabled,.admin-form textarea:disabled{border-color:var(--color-border-subtle);background:var(--color-panel-soft);color:var(--color-text-primary);opacity:1}.admin-form textarea{resize:vertical;min-height:112px}.admin-form .route-actions,.form-actions{grid-column:1/-1}.form-actions{border-top:1px solid var(--color-border-subtle);justify-content:flex-end;gap:10px;margin-top:4px;padding-top:18px;display:flex}.record-panel{max-width:1180px}.repair-filter-disclosure{margin:0 var(--space-page) 16px}.repair-filter-disclosure>summary{list-style:none}.repair-filter-disclosure>summary::-webkit-details-marker{display:none}.repair-filter-toggle{justify-content:space-between;min-width:118px}.repair-filter-toggle strong,.selection-count{background:var(--color-brand-soft);min-width:21px;min-height:21px;color:var(--color-text-primary);border-radius:999px;place-items:center;padding:2px 6px;font-size:11px;font-weight:850;display:inline-grid}.repair-filter-disclosure[open] .repair-filter-toggle .action-menu-chevron{transform:rotate(180deg)}.repair-filter-disclosure>.filter-bar{grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(150px,1fr)) auto;margin:8px 0 0}.repair-data-panel{overflow:visible}.repair-table-toolbar,.repair-table-footer{justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.repair-table-toolbar{border-bottom:1px solid var(--color-border-subtle)}.repair-table-toolbar h2{margin:0;font-size:17px;font-weight:850}.repair-table-toolbar p{color:var(--color-text-tertiary);margin:4px 0 0;font-size:12px;font-weight:700}.repair-bulk-menu .action-menu-trigger{min-width:132px}.repair-bulk-menu .action-menu-popover button{border-radius:var(--radius-sm);width:100%;min-height:40px;box-shadow:none;color:var(--color-danger);background:0 0;border:0;justify-content:flex-start;padding:10px 12px}.repair-bulk-menu .action-menu-popover button:hover:not(:disabled),.repair-bulk-menu .action-menu-popover button:focus-visible{background:var(--color-danger-soft);color:var(--color-danger);outline:none}.repair-bulk-menu .action-menu-popover button:disabled{cursor:not-allowed;opacity:.48}.repair-data-panel .table-wrap{overflow:auto}.repair-data-panel table{min-width:1320px}.repair-data-panel tbody tr[data-selected=true] td{background:var(--color-brand-soft)}.repair-select-column{text-align:center;width:46px}.repair-select-column input{width:17px;height:17px;accent-color:var(--color-brand);cursor:pointer}.repair-select-column input:focus-visible{outline-offset:2px;outline:3px solid #d99a0047}.repair-id-cell{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-weight:750}.repair-title-cell{white-space:normal;gap:4px;width:min(260px,28vw);display:grid}.repair-title-cell strong{color:var(--color-text-primary);line-height:1.35}.repair-title-cell small{color:var(--color-text-tertiary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.table-contact-link,.repair-attachment-link{color:var(--color-link);font-weight:750}.table-contact-link:hover,.repair-attachment-link:hover{text-underline-offset:3px;text-decoration:underline}.repair-table-footer{border-top:1px solid var(--color-border-subtle);min-height:50px;color:var(--color-text-secondary);font-size:12px;font-weight:700}.repair-table-footer strong{color:var(--color-link)}.repair-attachment-link{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-panel-soft);align-items:center;gap:8px;min-height:40px;padding:9px 11px;display:inline-flex}.repair-attachment-link.compact{background:0 0;border:0;min-height:auto;padding:0;font-size:12px}.empty-field-value{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-panel-soft);min-height:40px;color:var(--color-text-tertiary);align-items:center;padding:9px 11px;display:flex}@media (max-width:760px){.repair-filter-toggle{width:100%}.repair-filter-disclosure>.filter-bar{grid-template-columns:1fr}.repair-table-toolbar{flex-direction:column;align-items:stretch}.repair-bulk-menu,.repair-bulk-menu .action-menu-trigger{width:100%}.repair-data-panel table{min-width:0}.repair-data-panel thead{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.repair-data-panel tbody{gap:12px;padding:12px;display:grid}.repair-data-panel tbody tr{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-panel);box-shadow:var(--shadow-soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding:14px;display:grid}.repair-data-panel tbody td{border:0;gap:4px;padding:0;display:grid}.repair-data-panel tbody td:before{content:attr(data-label);color:var(--color-text-tertiary);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.repair-data-panel tbody td[data-column=select],.repair-data-panel tbody td[data-column=id]{grid-column:span 1}.repair-data-panel tbody td[data-column=title],.repair-data-panel tbody td[data-column=actions]{grid-column:1/-1}.repair-data-panel tbody td[data-column=actions]:before{margin-bottom:2px}.repair-title-cell{width:100%}.repair-title-cell small{-webkit-line-clamp:3}.repair-table-footer{flex-direction:column;align-items:flex-start}.repair-data-panel .table-actions{flex-wrap:wrap}.repair-data-panel .table-actions .row-action,.repair-data-panel .table-actions form{width:calc(50% - 4px)}}.form-pending-message{color:var(--color-text-secondary);text-align:right;grid-column:1/-1;font-size:12px;font-weight:750}.meter-image-field{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-panel-soft);grid-column:1/-1;gap:12px;min-width:0;margin:0;padding:16px;display:grid}.meter-image-field>legend{color:var(--color-text-primary);padding-inline:6px;font-weight:850}.meter-image-dropzone{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-panel);grid-template-columns:minmax(150px,210px) minmax(0,1fr);align-items:center;gap:16px;min-height:150px;padding:14px;transition:border-color .14s,background .14s,box-shadow .14s;display:grid}.meter-image-dropzone.is-dragging{border-color:var(--color-brand);background:var(--color-brand-soft);box-shadow:0 0 0 4px #d99a0024}.meter-image-dropzone.is-disabled{background:var(--color-panel-soft);opacity:.72}.meter-image-preview,.meter-image-empty-state{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-panel-soft);place-items:center;min-height:120px;display:grid;overflow:hidden}.meter-image-preview:focus-visible{outline:3px solid var(--color-brand);outline-offset:2px}.meter-image-preview img{object-fit:contain;width:100%;height:160px;display:block}.meter-image-empty-state{color:var(--color-text-secondary);text-align:center;align-content:center;gap:4px;padding:16px}.meter-image-empty-state span,.meter-image-copy span{color:var(--color-text-tertiary);font-size:12px;font-weight:650}.meter-image-copy{gap:5px;min-width:0;display:grid}.meter-image-copy strong{overflow-wrap:anywhere}.meter-image-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.meter-image-upload{border:1px solid var(--color-brand);border-radius:var(--radius-sm);background:var(--color-brand);cursor:pointer;justify-content:center;align-items:center;min-height:38px;padding:8px 13px;position:relative;color:#fff!important;font-weight:800!important;display:inline-flex!important}.meter-image-upload:hover{border-color:var(--color-brand-strong);background:#efb21d}.meter-image-upload:focus-within{box-shadow:0 0 0 4px #d99a0024}.meter-image-upload.is-disabled{cursor:not-allowed;opacity:.55}.meter-image-upload input{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.meter-image-remove{color:var(--color-danger)!important}.meter-image-config-note,.meter-image-error{border-radius:var(--radius-sm);gap:3px;padding:10px 12px;font-size:12px;display:grid}.meter-image-config-note{border:1px solid var(--color-border-subtle);background:var(--color-warning-soft);color:var(--color-warning)}.meter-image-error{border:1px solid var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger);font-weight:750}.confirm-dialog{border-radius:var(--radius-md);width:min(460px,100vw - 32px);max-width:none;color:var(--color-text-primary);white-space:normal;background:0 0;border:0;padding:0}.confirm-dialog::backdrop{background:var(--color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.confirm-dialog-card{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-panel);box-shadow:var(--shadow-soft);grid-template-columns:auto minmax(0,1fr);gap:14px;padding:24px;display:grid;position:relative}.dialog-icon{background:var(--color-warning-soft);width:42px;height:42px;color:var(--color-warning);border-radius:999px;place-items:center;display:grid}.dialog-copy h2{margin:3px 30px 8px 0;font-size:19px}.dialog-copy p{color:var(--color-text-secondary);margin:0}.dialog-close{width:32px;min-height:32px;color:var(--color-text-secondary);background:0 0;border:0;padding:0;position:absolute;top:14px;right:14px}.dialog-close:hover{background:var(--color-panel-soft);box-shadow:none}.dialog-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.workflow-panel{border-left:4px solid var(--color-brand)}.meter-support-grid{margin:8px var(--space-page) 24px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.meter-support-grid>.panel{min-width:0;margin:0}.meter-support-grid>.panel:last-child{grid-column:1/-1}.workflow-form{background:var(--color-panel-soft)}.workflow-span-2{grid-column:1/-1}.bill-line-editor{border-left:4px solid var(--color-brand)}.bill-line-edit-form{background:var(--color-panel-soft)}.bill-line-edit-table{grid-column:1/-1}.bill-line-edit-table table{min-width:980px}.bill-line-edit-table input[type=number],.bill-line-edit-table input[data-money-field]{width:120px;min-height:36px}.bill-line-edit-table input:focus-visible,.bill-line-editor select:focus-visible,.bill-line-editor textarea:focus-visible{outline:3px solid var(--color-info);outline-offset:2px}.bill-line-edit-table input:disabled{cursor:not-allowed;opacity:.55}.bill-line-editor .form-error{color:var(--color-danger);grid-column:1/-1;margin:0;font-weight:700}.receipt-voucher-workspace{max-width:1240px;box-shadow:var(--shadow-subtle)}.receipt-workspace-heading{padding:20px 22px}.receipt-workspace-heading h2{font-size:19px}.receipt-voucher-workspace .voucher-form{background:var(--color-panel);border:0;padding:24px 22px}.receipt-voucher-workspace .voucher-form input,.receipt-voucher-workspace .voucher-form select{min-height:44px}.receipt-voucher-workspace .voucher-form textarea{min-height:96px}.receipt-voucher-workspace .embedded-actions{border:0;border-top:1px solid var(--color-border-subtle);box-shadow:none;background:0 0;border-radius:0;justify-content:flex-end;margin:2px 0 0;padding:20px 0 0}.receipt-voucher-workspace .embedded-actions>*{min-height:44px}.receipt-workspace-empty{text-align:center;align-content:center;place-items:center;gap:8px;min-height:220px;padding:28px;display:grid}.receipt-workspace-empty strong{font-size:17px}.receipt-workspace-empty span{color:var(--color-text-secondary)}.receipt-workspace-empty .button{margin-top:10px}.receipt-voucher-workspace{max-width:none}.voucher-form-receipt{grid-template-columns:repeat(3,minmax(0,1fr))}.voucher-form-payment{grid-template-columns:repeat(4,minmax(0,1fr))}.voucher-span-all{grid-column:1/-1}.voucher-invoice-section{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-panel);min-width:0;overflow:hidden}.voucher-section-heading{border-bottom:1px solid var(--color-border-subtle);background:var(--color-panel-soft);justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:12px 16px;display:flex}.voucher-section-heading h3{margin:0;font-size:16px}.voucher-section-heading span{color:var(--color-text-tertiary);font-size:12px;font-weight:700}.voucher-invoice-table{border-collapse:collapse;width:100%;min-width:960px}.voucher-invoice-table th,.voucher-invoice-table td{border-bottom:1px solid var(--color-border-subtle);text-align:left;white-space:nowrap;padding:10px 12px}.voucher-invoice-table th{background:var(--color-panel-soft);color:var(--color-text-secondary);text-transform:uppercase;font-size:12px;font-weight:850}.voucher-invoice-table tbody tr:hover{background:var(--color-brand-soft)}.voucher-invoice-table input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--color-brand)}.voucher-invoice-table input[type=number],.voucher-invoice-table input[data-money-field]{width:130px;min-height:34px}.voucher-table-empty{height:150px;color:var(--color-text-tertiary);font-weight:700;text-align:center!important}.voucher-balance-row td{background:var(--color-panel-soft);font-style:italic}.voucher-action-bar{border-top:1px solid var(--color-border-subtle);background:var(--color-brand-soft);flex-wrap:wrap;justify-content:center;gap:8px;padding:14px 16px;display:flex}.voucher-action-bar>*{min-height:40px}.voucher-other-form{grid-template-columns:minmax(280px,.95fr) minmax(360px,1.05fr);gap:24px 36px;padding:24px 22px;display:grid}.voucher-metadata-column,.voucher-line-column{align-content:start;gap:16px;min-width:0;display:grid}.voucher-other-form label{color:var(--color-text-secondary);gap:7px;font-weight:800;display:grid}.voucher-other-form input,.voucher-other-form select,.voucher-other-form textarea{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-panel);width:100%;min-height:44px;color:var(--color-text-primary);padding:8px 10px}.voucher-other-form textarea{resize:vertical;min-height:110px}.voucher-other-form input:focus,.voucher-other-form select:focus,.voucher-other-form textarea:focus{border-color:var(--color-brand);outline:none;box-shadow:0 0 0 4px #d99a0024}.voucher-line-list{gap:14px;display:grid}.voucher-line-item{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-panel-soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;min-width:0;margin:0;padding:16px;display:grid;position:relative}.voucher-line-item legend{color:var(--color-text-tertiary);text-transform:uppercase;padding:0 6px;font-size:12px;font-weight:850}.voucher-line-remove{border-color:var(--color-border-subtle);background:var(--color-panel);width:32px;min-height:32px;color:var(--color-danger);padding:0;position:absolute;top:-12px;right:10px}.voucher-add-line{justify-self:start}.voucher-other-actions{grid-column:1/-1;justify-content:flex-end;margin:0 -22px -24px}.voucher-preview-backdrop{z-index:50;background:var(--color-overlay);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.voucher-preview{border-radius:var(--radius-md);background:var(--color-panel);width:min(560px,100%);box-shadow:var(--shadow-soft);padding:28px;position:relative}.voucher-preview h3{margin:6px 0 20px;font-size:22px}.voucher-preview dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 22px;display:grid}.voucher-preview dl>div{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:12px}.voucher-preview dt{color:var(--color-text-tertiary);font-size:12px;font-weight:800}.voucher-preview dd{margin:6px 0 0;font-weight:800}.voucher-preview-close{width:34px;min-height:34px;color:var(--color-text-secondary);background:0 0;border:0;padding:0;font-size:24px;position:absolute;top:12px;right:12px}.receipt-pagination{border:1px solid var(--color-border-subtle);border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--color-panel);margin:-16px var(--space-page) 16px;color:var(--color-text-secondary);border-top:0;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;font-size:13px;font-weight:500;display:flex}.receipt-pagination>div{gap:8px;display:flex}.table-pagination{margin-top:-16px}.table-pagination .pagination-controls{flex-wrap:wrap;align-items:center}.page-link{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-panel);width:32px;min-height:32px;color:var(--color-text-secondary);justify-content:center;align-items:center;font-size:13px;font-weight:600;transition:border-color .14s,background .14s,color .14s;display:inline-flex}.page-link:hover{border-color:var(--color-brand);background:var(--color-panel-soft);color:var(--color-brand-strong)}.page-link.current{border-color:var(--color-brand);background:var(--color-brand);color:#fff}.page-link.disabled{opacity:.4;cursor:not-allowed}.pagination-ellipsis{min-width:20px;min-height:32px;color:var(--color-text-tertiary);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.page-size-form,.page-size-form label{align-items:center;gap:8px;display:flex}.page-size-form{margin-left:8px}.page-size-form label>span{font-size:12px;font-weight:800}.page-size-form select{width:auto;min-width:72px;min-height:34px;padding-block:5px}.compact-button{min-height:34px;padding:6px 10px}.receipt-document{max-width:1160px;margin-inline:auto;padding:24px 28px 44px}.receipt-document-actions{justify-content:flex-end;gap:10px;margin-bottom:20px;display:flex}.receipt-paper{background:var(--color-panel);width:min(900px,100%);color:var(--color-text-primary);margin-inline:auto;padding:4px 0 24px;font-family:Georgia,Times New Roman,serif;font-size:16px;line-height:1.35;position:relative}.receipt-letterhead{grid-template-columns:1fr auto;align-items:start;gap:16px;display:grid}.receipt-letterhead strong{font-size:17px}.receipt-letterhead span{white-space:nowrap;padding-top:30px}.receipt-title{text-align:center;margin:26px 0 20px;font-size:28px;line-height:1.2}.receipt-party-details{width:min(780px,100% - 80px);margin:0 auto 12px}.receipt-party-details>div{grid-template-columns:minmax(330px,1fr) minmax(260px,1.2fr);gap:18px;padding:2px 0;display:grid}.receipt-party-details dt,.receipt-party-details dd{margin:0}.receipt-party-details dd{font-weight:700}.receipt-table-wrap{overflow-x:auto}.receipt-lines-table{border-collapse:collapse;border:1px solid;width:100%;min-width:680px}.receipt-lines-table th,.receipt-lines-table td{text-align:left;vertical-align:middle;border:1px solid;height:48px;padding:9px 11px}.receipt-lines-table th:first-child,.receipt-lines-table td:first-child{width:64px}.receipt-lines-table th:nth-child(3),.receipt-lines-table td:nth-child(3){width:132px}.receipt-lines-table th:nth-child(4),.receipt-lines-table td:nth-child(4){width:112px}.receipt-lines-table th strong,.receipt-lines-table th em{display:block}.receipt-lines-table th em,.receipt-signatures em{font-style:italic;font-weight:400}.receipt-lines-table tfoot th{text-align:center}.receipt-signatures{text-align:center;grid-template-columns:repeat(2,minmax(0,1fr));gap:140px;margin-top:42px;display:grid}.receipt-signatures div{align-content:start;gap:2px;min-height:130px;display:grid}.receipt-signatures span{align-self:end;font-weight:700}.receipt-cancelled-mark{z-index:1;border:4px double var(--color-danger);color:var(--color-danger);font-family:var(--font-sans);opacity:.22;pointer-events:none;white-space:nowrap;padding:8px 18px;font-size:34px;font-weight:900;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)rotate(-16deg)}.empty-state{color:var(--color-text-secondary);padding:20px 16px;font-weight:700}.link-button.danger-link{color:var(--color-danger)}.link-button.danger-link:hover,.link-button.danger-link:focus-visible{background:var(--color-danger-soft)}.embedded-actions{background:0 0}.notice{border:1px solid var(--color-border-subtle);border-left:4px solid var(--color-warning);border-radius:var(--radius-md);color:#694500;background:#fffaf0;padding:12px 14px;font-weight:700}.notice.success{border-left-color:var(--color-success);background:var(--color-success-soft);color:#17613f}.notice.error{border-left-color:var(--color-danger);background:var(--color-danger-soft);color:#922828}.notice.compact{margin:0}.login-page{background:radial-gradient(circle at 0 0,#d99a0029,#0000 30%),linear-gradient(#f8fafc 0%,#eef3f8 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);width:min(940px,100%);color:var(--color-text-primary);background:#fffffff0;grid-template-columns:minmax(0,1.05fr) minmax(320px,420px);gap:20px;padding:28px;display:grid;box-shadow:0 26px 70px #121f3424}.login-copy{border-radius:var(--radius-md);background:linear-gradient(135deg, #d99a001f, #2276d20f), var(--color-panel-soft);flex-direction:column;justify-content:center;min-height:320px;padding:28px;display:flex}.login-brand{align-items:center;gap:12px;margin-bottom:28px;font-size:18px;font-weight:900;display:flex}.login-copy p:first-of-type{color:var(--color-brand-strong);letter-spacing:.08em;text-transform:uppercase;margin-top:0;font-size:12px;font-weight:900}.login-copy h1{letter-spacing:0;margin:0 0 12px;font-size:40px;line-height:1.08}.login-copy p:last-child{max-width:520px;color:var(--color-text-secondary);margin:0;font-weight:700}.login-form,.seed-users{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-subtle);background:#fff;padding:18px}.login-form{align-content:start;gap:14px;display:grid}.login-form label{color:var(--color-text-secondary);gap:7px;font-weight:800;display:grid}.login-form input{min-height:44px}.seed-users{color:var(--color-text-secondary);margin-top:16px}.seed-users strong{color:var(--color-text-primary)}.seed-users p{margin:8px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}@media (max-width:1180px){.dashboard-charts{grid-template-columns:1fr}.chart-card.revenue-card{grid-column:auto}.metrics-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.summary-grid{grid-template-columns:1fr}.content-header{grid-template-columns:minmax(0,1fr)}.content-header>.route-actions{justify-content:flex-start}.filter-bar{grid-template-columns:minmax(240px,1fr) repeat(2,minmax(150px,auto))}.ledger-filter-bar,.interaction-filter-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.ledger-filter-bar .filter-search-field,.interaction-filter-bar .filter-search-field{grid-column:span 2}.debt-filter-bar,.excess-filter-bar,.excess-detail-filter-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.debt-filter-bar .filter-search-field{grid-column:span 2}.debt-filter-bar .filter-actions{grid-column:auto}.excess-detail-filter-bar .filter-search-field{grid-column:span 2}}@media (max-width:1024px){:root{--space-page:16px}.admin-shell{--admin-sidebar-width:220px;--admin-sidebar-collapsed-width:76px}.sidebar.collapsed{width:76px}.admin-form .json-route-form-fields{grid-template-columns:1fr}.voucher-form-receipt,.voucher-form-payment{grid-template-columns:repeat(2,minmax(0,1fr))}.voucher-other-form{grid-template-columns:1fr}.filter-bar,.ledger-filter-bar,.interaction-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-search-field{grid-column:1/-1}.debt-filter-bar .filter-search-field,.debt-filter-bar .filter-actions{grid-column:auto}.excess-filter-bar,.excess-detail-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.excess-detail-filter-bar .filter-search-field{grid-column:1/-1}.workflow-span-2{grid-column:auto}.meter-support-grid{grid-template-columns:1fr}.meter-support-grid>.panel:last-child{grid-column:auto}}@media (max-width:760px){.bill-line-editor .panel-heading,.bill-line-edit-form{grid-template-columns:1fr}.bill-line-editor .panel-heading>label{width:100%}.admin-shell{display:block}.sidebar{width:100%;height:auto;max-height:48vh;position:static}.sidebar.collapsed{width:100%;max-height:48vh;overflow-y:auto}.sidebar.collapsed .brand-copy,.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-chevron{display:block}.sidebar.collapsed .brand-row{flex-direction:row;align-items:center;padding-inline:16px}.sidebar.collapsed .brand{justify-content:flex-start}.sidebar.collapsed .nav-parent{justify-content:space-between;padding-inline:12px}.topbar{flex-direction:column;align-items:stretch;position:static}.voucher-form-receipt,.voucher-form-payment,.voucher-line-item{grid-template-columns:1fr}.voucher-other-form{gap:20px;padding:18px 16px}.meter-image-dropzone{grid-template-columns:1fr}.meter-image-actions,.meter-image-actions>*{width:100%}.voucher-other-actions{flex-direction:column-reverse;align-items:stretch;margin:0 -16px -18px}.voucher-other-actions>*,.voucher-action-bar>*{width:100%}.voucher-section-heading{flex-direction:column;align-items:flex-start}.voucher-preview dl{grid-template-columns:1fr}.building-picker,.user-menu{align-items:stretch}.building-picker{min-width:0}.building-picker select{flex:180px;min-width:0}.content-header{grid-template-columns:1fr;gap:10px}.content-header h1{font-size:24px}.user-menu{justify-content:flex-end}.metrics-grid,.interaction-metrics,.interaction-report-dashboard .dashboard-charts{grid-template-columns:1fr}.debt-panel-heading,.debt-selection-actions{flex-direction:column;align-items:stretch}.debt-selection-actions,.debt-selection-actions>button{width:100%}.debt-selection-actions{justify-content:flex-start}.debt-table-scroll-hint{display:block}.debt-reminder-confirmation{grid-template-columns:1fr}.debt-reminder-recipients li{flex-direction:column;align-items:flex-start;gap:3px}.split-grid,.summary-grid{grid-template-columns:1fr}.chart-heading,.donut-layout{flex-direction:column;align-items:flex-start}.chart-summary-strip{grid-template-columns:1fr}.chart-legend{justify-content:flex-start}.chart-legend.vertical{width:100%}.chart-svg{min-height:180px}.revenue-svg{min-height:220px}.filter-bar input[type=search]{min-width:100%}.filter-bar,.ledger-filter-bar,.interaction-filter-bar{grid-template-columns:1fr}.filter-heading,.filter-search-field,.ledger-filter-bar .filter-search-field,.interaction-filter-bar .filter-search-field{grid-column:auto}.interaction-section-heading{flex-direction:column;align-items:flex-start}.filter-actions,.filter-actions>*{flex:1 1 0}.route-actions{justify-content:flex-start}.content-header>.route-actions,.content-header>.route-actions>*,.receipt-route-actions,.receipt-route-actions>.action-menu,.receipt-route-actions .action-menu-trigger{width:100%}.receipt-route-actions{flex-direction:column;align-items:stretch}.action-menu-popover,.action-menu-popover.align-end{width:auto;margin-top:6px;position:static}.form-actions{flex-direction:column-reverse;align-items:stretch}.form-actions>*{width:100%}.confirm-dialog-card{padding:20px}.dialog-actions{flex-direction:column-reverse;align-items:stretch}.receipt-pagination{flex-direction:column;align-items:stretch}.table-pagination .pagination-controls,.page-size-form{width:100%}.page-size-form{margin-left:0}.receipt-document{margin-inline:var(--space-page);padding:18px}.receipt-letterhead{text-align:center;grid-template-columns:1fr}.receipt-letterhead span{padding-top:0}.receipt-party-details{width:100%}.receipt-party-details>div{grid-template-columns:1fr;gap:2px;padding:5px 0}.receipt-signatures{gap:24px}.login-card{grid-template-columns:1fr;padding:18px}.login-copy{min-height:auto}.login-copy h1{font-size:32px}}@media print{body{background:#fff}.sidebar,.topbar,.content-header,.notice,.no-print{display:none!important}.admin-shell,.main{min-height:auto;display:block}.receipt-document{max-width:none;box-shadow:none;border:0;margin:0;padding:0}.receipt-paper{width:100%;max-width:none;padding:0}.receipt-table-wrap{overflow:visible}.receipt-party-details,.receipt-lines-table,.receipt-signatures{break-inside:avoid}}.resident-filter-bar{grid-template-columns:auto minmax(220px,1.4fr) repeat(3,minmax(150px,.65fr)) auto}.resident-request-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.resident-request-summary .summary-card{border-top:3px solid var(--color-info)}.resident-request-summary .resident-pending-card{border-top-color:var(--color-warning)}.resident-request-summary .resident-processing-card{border-top-color:var(--color-link)}.resident-request-summary .resident-completed-card{border-top-color:var(--color-success)}.resident-panel-heading{align-items:center}.resident-panel-heading h2,.resident-create-panel .panel-heading h2,.resident-detail-side .panel-heading h2{letter-spacing:0;font-size:16px}.resident-panel-heading p,.resident-create-panel .panel-heading p,.resident-detail-side .panel-heading p{color:var(--color-text-secondary);margin:3px 0 0;font-size:12px}.resident-request-table-wrap{outline:none;max-width:100%}.resident-request-table{min-width:1060px}.resident-request-table th,.resident-request-table td{vertical-align:top}.resident-request-table th:first-child,.resident-request-table td:first-child{width:64px}.resident-request-table th:nth-last-child(2),.resident-request-table td:nth-last-child(2){width:150px}.resident-request-table th:last-child,.resident-request-table td:last-child{width:180px}.resident-request-id{color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.resident-request-title{max-width:270px;color:var(--color-link);overflow-wrap:anywhere;font-weight:750;display:block}.resident-request-title:hover{text-underline-offset:3px;text-decoration:underline}.resident-request-type,.resident-created-at{color:var(--color-text-tertiary);margin-top:5px;font-size:11px;font-weight:500;display:block}.resident-content-preview{max-width:360px;color:var(--color-text-secondary);-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.request-preview-list{gap:4px;max-width:390px;margin:0;display:grid}.request-preview-list>div{grid-template-columns:minmax(90px,.7fr) minmax(100px,1fr);gap:8px;display:grid}.request-preview-list dt{color:var(--color-text-tertiary);font-size:11px}.request-preview-list dd{color:var(--color-text-secondary);overflow-wrap:anywhere;margin:0;font-size:12px}.resident-row-actions{flex-wrap:wrap;align-items:flex-start}.resident-row-actions .row-action{min-height:30px}.resident-create-panel{max-width:1040px;margin:0 auto}.resident-request-form{gap:0;display:grid}.resident-form-section{border-top:1px solid var(--color-border-subtle);padding:22px 24px}.resident-form-section-heading{align-items:center;gap:10px;margin-bottom:18px;display:flex}.resident-form-section-heading>span{background:var(--color-brand-soft);width:28px;height:28px;color:var(--color-brand-strong);border-radius:50%;flex:0 0 28px;place-items:center;font-size:12px;font-weight:800;display:inline-grid}.resident-form-section-heading div{gap:2px;display:grid}.resident-form-section-heading strong{font-size:14px}.resident-form-section-heading small{color:var(--color-text-secondary);font-size:12px}.resident-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.compact-resident-form .resident-form-grid{border-top:1px solid var(--color-border-subtle);padding:22px 24px}.resident-request-field{align-content:start;gap:7px;min-width:0;display:grid}.resident-request-field>span,.goods-fieldset legend,.resident-radio-field legend{color:var(--color-text-secondary);font-size:12px;font-weight:700}.resident-request-field b,.resident-radio-field b{color:var(--color-danger)}.resident-request-field input,.resident-request-field select,.resident-request-field textarea,.resident-status-form select,.resident-reply-form textarea,.goods-row input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-panel);width:100%;min-width:0;color:var(--color-text-primary);padding:9px 10px}.resident-request-field input,.resident-request-field select,.resident-status-form select,.goods-row input{min-height:40px}.resident-request-field textarea,.resident-reply-form textarea{resize:vertical}.resident-request-field input:hover,.resident-request-field select:hover,.resident-request-field textarea:hover,.resident-status-form select:hover,.resident-reply-form textarea:hover,.goods-row input:hover{border-color:var(--color-link)}.resident-field-span-2{grid-column:1/-1}.file-field small{color:var(--color-text-tertiary);font-size:11px}.file-field input[type=file]{background:var(--color-panel-soft);min-height:46px;padding:7px}.goods-fieldset,.resident-radio-field{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);min-width:0;margin:0;padding:14px}.goods-fieldset legend,.resident-radio-field legend{padding:0 5px}.goods-list{gap:10px;margin-bottom:12px;display:grid}.goods-row{grid-template-columns:28px minmax(140px,1fr) 96px minmax(170px,1.2fr) 36px;align-items:end;gap:10px;display:grid}.goods-row label{gap:5px;min-width:0;display:grid}.goods-row label span{color:var(--color-text-tertiary);font-size:11px}.goods-index{width:26px;height:40px;color:var(--color-text-tertiary);place-items:center;font-size:12px;font-weight:700;display:grid}.icon-button{width:36px;min-height:40px;padding:0}.resident-radio-field{flex-wrap:wrap;gap:18px;display:flex}.resident-radio-field label{color:var(--color-text-primary);align-items:center;gap:7px;display:inline-flex}.resident-form-actions{border-top:1px solid var(--color-border-subtle);background:var(--color-panel-soft);justify-content:flex-end;gap:10px;padding:18px 24px;display:flex}.resident-detail-grid{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start;gap:18px;display:grid}.resident-detail-main{min-width:0;padding:24px}.resident-detail-toolbar{justify-content:space-between;margin-bottom:20px;display:flex}.resident-detail-header{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:20px;display:flex}.resident-detail-header h2{letter-spacing:0;overflow-wrap:anywhere;margin:6px 0 0;font-size:27px}.resident-detail-kicker{color:var(--color-text-secondary);text-transform:uppercase;font-size:11px;font-weight:750}.resident-contact-grid,.resident-request-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;display:grid}.resident-contact-grid{border-bottom:1px solid var(--color-border-subtle);padding:8px 0}.resident-contact-grid>div,.resident-request-details>div{min-width:0;padding:12px 8px}.resident-contact-grid dt,.resident-request-details dt{color:var(--color-text-tertiary);align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.resident-contact-grid dd,.resident-request-details dd{color:var(--color-text-primary);overflow-wrap:anywhere;margin:5px 0 0;font-weight:650}.resident-detail-section{padding-top:22px}.resident-detail-section h3{letter-spacing:0;align-items:center;gap:7px;margin:0 0 12px;font-size:14px;display:flex}.resident-request-details{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-panel-soft)}.resident-feedback-content>p,.resident-note p{color:var(--color-text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.7}.resident-note{border-left:3px solid var(--color-brand);background:var(--color-brand-soft);margin-top:12px;padding:14px}.resident-note strong{margin-bottom:5px;display:block}.resident-attachments{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.resident-attachment{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-panel-soft);align-items:center;gap:10px;min-width:0;padding:9px;display:flex}.resident-attachment:hover{border-color:var(--color-link);background:var(--color-panel)}.resident-attachment img{object-fit:cover;border-radius:4px;flex:0 0 44px;width:44px;height:44px}.resident-attachment>span{gap:3px;min-width:0;display:grid}.resident-attachment strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.resident-attachment small,.resident-empty-copy{color:var(--color-text-tertiary);font-size:11px}.resident-detail-side{gap:14px;display:grid}.resident-detail-side .panel-heading{padding:16px}.resident-status-form,.resident-reply-form,.resident-task-form{border-top:1px solid var(--color-border-subtle);gap:10px;padding:16px;display:grid}.resident-task-form label{gap:6px;display:grid}.resident-task-form label>span{color:var(--color-text-secondary);font-size:11px;font-weight:750}.resident-task-form input,.resident-task-form select,.resident-task-form textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-panel);width:100%;min-width:0;color:var(--color-text-primary);padding:9px 10px}.resident-task-form input,.resident-task-form select{min-height:40px}.resident-task-form textarea{resize:vertical}.resident-task-list{border-top:1px solid var(--color-border-subtle);display:grid}.resident-task{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:flex-start;gap:10px;padding:12px 16px;display:flex}.resident-task:last-child{border-bottom:0}.resident-task>div{gap:3px;min-width:0;display:grid}.resident-task>div>span{color:var(--color-text-secondary);overflow-wrap:anywhere;font-size:12px}.resident-task small{color:var(--color-text-tertiary);font-size:10px}.task-complete-label{color:var(--color-success);flex:none;align-items:center;gap:5px;font-size:11px;font-weight:800;display:inline-flex}.resident-task-empty{color:var(--color-text-tertiary);text-align:center;padding:14px 16px;font-size:11px}.resident-reply-form button{justify-self:end}.reply-attachment-field{color:var(--color-link);cursor:pointer;align-items:center;gap:7px;font-size:12px;font-weight:700;display:inline-flex}.reply-attachment-field input{min-width:0;color:var(--color-text-secondary);font-weight:500}.resident-comment-list{border-top:1px solid var(--color-border-subtle);max-height:440px;display:grid;overflow:auto}.resident-comment{border-bottom:1px solid var(--color-border-subtle);grid-template-columns:32px minmax(0,1fr);gap:10px;padding:14px 16px;display:grid}.resident-comment:last-child{border-bottom:0}.resident-comment-avatar{background:var(--color-info);width:32px;height:32px;color:var(--color-text-inverse);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.resident-comment header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.resident-comment time{color:var(--color-text-tertiary);white-space:nowrap;font-size:10px}.resident-comment p{color:var(--color-text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0 0;font-size:12px;line-height:1.55}.resident-comment-empty{min-height:112px;color:var(--color-text-tertiary);align-content:center;place-items:center;gap:7px;font-size:12px;display:grid}@media (max-width:1180px){.resident-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.resident-filter-bar .filter-heading,.resident-filter-bar .filter-actions{grid-column:1/-1}.resident-detail-grid{grid-template-columns:minmax(0,1fr)}.resident-detail-side{grid-template-columns:repeat(2,minmax(0,1fr))}.resident-comments-panel{grid-column:1/-1}}@media (max-width:760px){.resident-request-summary,.resident-form-grid,.resident-contact-grid,.resident-request-details,.resident-attachments,.resident-detail-side{grid-template-columns:minmax(0,1fr)}.resident-field-span-2,.resident-comments-panel{grid-column:auto}.resident-filter-bar{grid-template-columns:minmax(0,1fr)}.resident-filter-bar .filter-heading,.resident-filter-bar .filter-actions{grid-column:auto}.resident-panel-heading,.resident-detail-header,.resident-detail-toolbar,.resident-form-actions{flex-direction:column;align-items:stretch}}.json-route-form-fields{border:0;min-width:0;margin:0;padding:0;display:contents}.form-pending{color:var(--color-text-secondary);margin-top:8px;font-size:13px}.rbac-command-panel{margin:0 var(--space-page) 20px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-panel);box-shadow:var(--shadow-subtle);overflow:hidden}.rbac-command-form{min-width:0}.rbac-command-toolbar{border-bottom:1px solid var(--color-border-subtle);grid-template-columns:minmax(195px,.9fr) minmax(180px,1.15fr) minmax(145px,.65fr) auto auto auto;align-items:end;gap:12px;padding:14px 16px;display:grid}.rbac-toolbar-field,.rbac-group-inspector>label,.rbac-select-field{gap:6px;min-width:0;display:grid}.rbac-toolbar-field>span:first-child,.rbac-toolbar-stat>span,.rbac-group-inspector>label>span,.rbac-select-field>span{color:var(--color-text-secondary);letter-spacing:.02em;font-size:11px;font-weight:800}.rbac-command-toolbar select,.rbac-command-toolbar input,.rbac-group-inspector input,.rbac-group-inspector textarea,.rbac-user-toolbar input,.rbac-user-toolbar select,.rbac-user-editor input,.rbac-user-editor select,.rbac-select-field select{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);width:100%;min-height:38px;color:var(--color-text-primary);background:#fff;padding:8px 10px}.rbac-group-inspector textarea{resize:vertical;min-height:104px}.input-with-icon{min-width:0;display:block;position:relative}.input-with-icon>svg{z-index:1;color:var(--color-text-tertiary);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.input-with-icon input,.rbac-user-toolbar .input-with-icon input{padding-left:36px}.rbac-toolbar-stat{align-content:end;gap:6px;min-height:61px;display:grid}.rbac-toolbar-stat strong{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);white-space:nowrap;align-items:center;gap:7px;min-height:38px;padding:8px 10px;font-size:12px;display:inline-flex}.rbac-toolbar-stat strong:before,.rbac-save-state>span{background:var(--color-text-tertiary);content:"";border-radius:50%;flex:none;width:8px;height:8px}.rbac-toolbar-stat .success-dot:before{background:var(--color-success)}.rbac-save-state{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);min-height:38px;color:var(--color-text-secondary);white-space:nowrap;align-self:end;align-items:center;gap:7px;padding:8px 10px;font-size:12px;font-weight:750;display:inline-flex}.rbac-save-state.is-dirty{background:var(--color-brand-soft);color:var(--color-brand-strong);border-color:#ecd396}.rbac-save-state.is-dirty>span{background:var(--color-brand)}.rbac-top-save,.rbac-new-group{white-space:nowrap;align-self:end;min-height:38px}.rbac-command-body{grid-template-columns:minmax(0,1fr) 292px;min-width:0;display:grid}.rbac-matrix-region{border-right:1px solid var(--color-border-subtle);min-width:0}.rbac-scope-line{border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-secondary);align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:flex}.rbac-scope-line svg{color:var(--color-brand-strong);flex:none}.rbac-matrix-scroll{max-height:630px;overflow:auto}.rbac-matrix-table{table-layout:fixed;white-space:normal;min-width:770px}.rbac-matrix-table th{z-index:2;background:#f7f9fc;height:46px;position:sticky;top:0}.rbac-matrix-table th:first-child{width:170px}.rbac-matrix-table th:nth-child(2){width:250px}.rbac-matrix-table th,.rbac-matrix-table td{border-right:1px solid #edf1f6;padding:9px 11px}.rbac-matrix-table th:last-child,.rbac-matrix-table td:last-child{border-right:0}.rbac-matrix-table tbody tr:hover td{background:#fbfcfe}.rbac-module-cell{vertical-align:top;background:#fcfdff;width:170px}.rbac-module-cell strong{font-size:12px;display:inline}.rbac-module-icon{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);width:26px;height:26px;color:var(--color-text-secondary);vertical-align:middle;justify-content:center;align-items:center;margin-right:7px;display:inline-flex}.rbac-screen-cell strong,.rbac-screen-cell small{display:block}.rbac-screen-cell strong{font-size:12px}.rbac-screen-cell small{color:var(--color-text-tertiary);overflow-wrap:anywhere;margin-top:2px;font-size:10px}.rbac-matrix-table .permission-column{text-align:center;width:64px}.rbac-matrix-table .specialized-column{width:94px}.rbac-matrix-toggle{border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.rbac-matrix-toggle:hover{background:var(--color-brand-soft)}.rbac-matrix-toggle:focus-within{outline:3px solid #d99a003d}.rbac-matrix-toggle input,.rbac-assignment-options input{width:17px;height:17px;accent-color:var(--color-brand);cursor:pointer}.rbac-na{color:#b7c0ce;font-weight:700}.rbac-empty-row{color:var(--color-text-secondary);text-align:center;padding:28px}.rbac-group-inspector{align-content:start;gap:16px;padding:18px;display:grid}.rbac-inspector-title{border-bottom:1px solid var(--color-border-subtle);align-items:center;gap:11px;padding-bottom:15px;display:flex}.rbac-inspector-avatar{width:42px;height:42px;color:var(--color-text-secondary);background:#eef2f7;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.rbac-inspector-title small,.rbac-inspector-title strong{display:block}.rbac-inspector-title small{color:var(--color-text-tertiary);font-size:11px}.rbac-inspector-title strong{margin-top:3px;font-size:15px}.rbac-inspector-metrics{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.rbac-inspector-metrics>div{padding:10px}.rbac-inspector-metrics>div+div{border-left:1px solid var(--color-border-subtle)}.rbac-inspector-metrics span,.rbac-inspector-metrics strong{display:block}.rbac-inspector-metrics span{color:var(--color-text-secondary);font-size:10px}.rbac-inspector-metrics strong{margin-top:3px;font-size:18px}.rbac-inspector-note{border-radius:var(--radius-sm);color:var(--color-text-secondary);background:#fffbef;border:1px solid #e7d5a8;gap:9px;padding:10px;display:flex}.rbac-inspector-note svg{color:var(--color-brand-strong);flex:none}.rbac-inspector-note p{margin:0}.rbac-inspector-note strong,.rbac-inspector-note span{font-size:11px;display:block}.rbac-inspector-note strong{color:var(--color-text-primary);margin-bottom:2px}.rbac-sticky-summary{border-top:1px solid var(--color-border-subtle);background:#fff;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;display:flex}.rbac-sticky-summary>div:first-child span,.rbac-sticky-summary>div:first-child strong{display:block}.rbac-sticky-summary>div:first-child span{color:var(--color-text-tertiary);text-transform:uppercase;font-size:10px;font-weight:800}.rbac-sticky-summary>div:first-child strong{margin-top:2px;font-size:12px}.rbac-summary-actions,.rbac-row-actions{align-items:center;gap:7px;display:flex}.rbac-user-toolbar{margin:0 var(--space-page) 16px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-panel);box-shadow:var(--shadow-subtle);grid-template-columns:minmax(260px,1fr) minmax(180px,.45fr) minmax(160px,.4fr) auto auto;align-items:center;gap:10px;padding:12px;display:grid}.rbac-user-panel .panel-heading>span{color:var(--color-text-secondary);font-size:12px;font-weight:800}.rbac-user-identity{align-items:center;gap:9px;display:inline-flex}.rbac-user-identity>span{width:30px;height:30px;color:var(--color-text-secondary);background:#eef2f7;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex}.rbac-user-identity strong,.rbac-user-identity small,.table-subline{min-width:0;display:block}.rbac-user-identity small,.table-subline,.muted-text{color:var(--color-text-secondary);overflow-wrap:anywhere;font-size:11px;font-weight:500}.rbac-assignment-page{margin:0 var(--space-page) 24px}.rbac-assignment-heading{color:var(--color-text-secondary);align-items:center;gap:8px;margin-bottom:12px;font-size:12px;display:flex}.rbac-assignment-heading a{color:var(--color-link);font-weight:700}.rbac-assignment-grid{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:16px;display:grid}.rbac-user-summary-card{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-panel);box-shadow:var(--shadow-subtle);text-align:center;padding:20px}.rbac-user-large-avatar{width:64px;height:64px;color:var(--color-text-secondary);background:#edf1f7;border-radius:50%;justify-content:center;align-items:center;font-size:20px;font-weight:800;display:inline-flex}.rbac-user-summary-card h2{margin:12px 0 3px;font-size:17px}.rbac-user-summary-card>p{color:var(--color-text-secondary);margin:0 0 12px;font-size:12px}.rbac-user-summary-card dl{text-align:left;gap:0;margin:18px 0 0;display:grid}.rbac-user-summary-card dl>div{border-top:1px solid var(--color-border-subtle);grid-template-columns:90px minmax(0,1fr);gap:8px;padding:10px 0;display:grid}.rbac-user-summary-card dt{color:var(--color-text-tertiary);font-size:11px}.rbac-user-summary-card dd{overflow-wrap:anywhere;margin:0;font-size:11px;font-weight:700}.rbac-assignment-form-panel{margin:0}.rbac-assignment-form .json-route-form-fields>fieldset{border:0;gap:0;min-width:0;margin:0;padding:0;display:grid}.rbac-assignment-section{padding:18px}.rbac-assignment-section+.rbac-assignment-section{border-top:1px solid var(--color-border-subtle)}.rbac-section-heading{align-items:flex-start;gap:9px;margin-bottom:13px;display:flex}.rbac-section-heading svg{color:var(--color-brand-strong);margin-top:2px}.rbac-section-heading h3,.rbac-section-heading p{margin:0}.rbac-section-heading h3{font-size:14px}.rbac-section-heading p{color:var(--color-text-secondary);margin-top:2px;font-size:11px}.rbac-linked-account{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-panel-soft);justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.rbac-linked-account strong,.rbac-linked-account span:not(.status-pill){display:block}.rbac-linked-account span:not(.status-pill){color:var(--color-text-secondary);margin-top:2px;font-size:11px}.rbac-assignment-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.rbac-assignment-options>label{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);cursor:pointer;align-items:flex-start;gap:10px;min-width:0;padding:10px;display:flex}.rbac-assignment-options>label:hover{border-color:var(--color-border-strong);background:var(--color-panel-soft)}.rbac-assignment-options>label:focus-within{border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-soft)}.rbac-assignment-options input{flex:none;margin-top:2px}.rbac-assignment-options strong,.rbac-assignment-options small{display:block}.rbac-assignment-options small{color:var(--color-text-secondary);margin-top:2px;font-size:11px}.rbac-assignment-actions{border-top:1px solid var(--color-border-subtle);background:var(--color-panel-soft);justify-content:flex-end;gap:8px;padding:13px 18px;display:flex}.rbac-missing-user{text-align:center;justify-items:center;gap:8px;padding:42px;display:grid}.rbac-missing-user h2,.rbac-missing-user p{margin:0}.rbac-missing-user p{color:var(--color-text-secondary)}.rbac-row-actions{align-items:center;gap:6px;display:flex}.compact-button{white-space:nowrap;min-height:30px;padding:5px 9px}.inline-form{display:inline-flex}.rbac-contact,.rbac-contact>span,.rbac-contact>small{align-items:center;gap:5px;min-width:0;display:flex}.rbac-contact{flex-direction:column;align-items:flex-start;font-size:12px}.rbac-contact small{max-width:220px;color:var(--color-text-secondary);overflow-wrap:anywhere}.rbac-status-switch{border:1px solid var(--color-border-strong);background:var(--color-panel-soft);min-width:88px;min-height:30px;color:var(--color-text-secondary);border-radius:999px;justify-content:flex-start;align-items:center;gap:6px;padding:3px 8px 3px 4px;display:inline-flex}.rbac-status-switch>span{background:var(--color-text-tertiary);border-radius:50%;flex:none;width:20px;height:20px;transition:transform .16s,background .16s}.rbac-status-switch[aria-checked=true]{border-color:var(--color-success);background:var(--color-success-soft);color:var(--color-success)}.rbac-status-switch[aria-checked=true]>span{background:var(--color-success)}.rbac-status-switch:hover:not(:disabled){border-color:var(--color-brand-strong)}.rbac-status-switch:focus-visible{outline:3px solid var(--color-brand-soft);outline-offset:2px}.rbac-status-switch:disabled{cursor:not-allowed;opacity:.5}.rbac-status-switch small{text-transform:uppercase;font-size:10px;font-weight:800}.rbac-user-editor{margin:0 var(--space-page) 24px}.rbac-user-editor-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.rbac-user-editor-form.panel,.rbac-security-card.panel{margin:0}.rbac-editor-section{padding:18px}.rbac-editor-section+.rbac-editor-section{border-top:1px solid var(--color-border-subtle)}.rbac-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.rbac-form-grid label,.rbac-security-card label{color:var(--color-text-secondary);gap:6px;font-size:11px;font-weight:800;display:grid}.rbac-security-column{gap:12px;display:grid}.rbac-security-card{padding:17px}.rbac-security-card dl{gap:0;margin:0 0 14px;display:grid}.rbac-security-card dl>div{border-top:1px solid var(--color-border-subtle);grid-template-columns:90px minmax(0,1fr);gap:10px;padding:9px 0;display:grid}.rbac-security-card dt{color:var(--color-text-tertiary);font-size:11px}.rbac-security-card dd{overflow-wrap:anywhere;margin:0;font-size:11px;font-weight:700}.rbac-security-card button,.rbac-security-card .button{justify-content:center;width:100%;margin-top:10px}.danger-zone{border-color:var(--color-danger-soft);background:var(--color-danger-soft)}.danger-zone .rbac-section-heading svg,.danger-zone .rbac-section-heading h3{color:var(--color-danger)}.danger-button{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-panel)}.danger-button:hover:not(:disabled){border-color:var(--color-danger);filter:brightness(.94)}.danger-button:focus-visible{outline:3px solid var(--color-danger-soft);outline-offset:2px}.danger-button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:760px){.rbac-command-toolbar,.rbac-command-body,.rbac-user-toolbar,.rbac-assignment-grid,.rbac-assignment-options,.rbac-user-editor-grid,.rbac-form-grid{grid-template-columns:1fr}.rbac-command-panel,.rbac-assignment-page,.rbac-user-editor{margin-left:12px;margin-right:12px}.rbac-matrix-region{border-right:0;border-bottom:1px solid var(--color-border-subtle)}.rbac-matrix-scroll{max-height:520px}.rbac-group-inspector{padding:14px}.rbac-sticky-summary{flex-direction:column;align-items:stretch}.resident-form-section,.compact-resident-form .resident-form-grid,.resident-form-actions,.resident-detail-main{padding:16px}.goods-row{grid-template-columns:28px minmax(0,1fr) 36px;align-items:end}.goods-row label{grid-column:2}.goods-row .goods-index{grid-area:1/1}.goods-row .icon-button{grid-area:1/3}.resident-detail-header .status-pill{align-self:flex-start}.resident-detail-header h2{font-size:22px}}@media print{.resident-detail-grid{display:block}.resident-detail-main{box-shadow:none;border:0;padding:0}.resident-detail-header h2{font-size:22px}.resident-contact-grid,.resident-request-details,.resident-detail-section,.resident-attachments{break-inside:avoid}}@media (max-width:760px){.rbac-summary-actions>*{flex:1}.rbac-row-actions{min-width:180px}.rbac-user-toolbar{margin-left:12px;margin-right:12px}.rbac-user-summary-card{text-align:left}}.ai-workspace{min-height:680px;margin:0 var(--space-page) 24px;grid-template-columns:232px minmax(0,1fr);gap:14px;display:grid}.ai-workspace.with-knowledge{grid-template-columns:220px minmax(420px,1fr) 320px}.ai-workspace>.panel{min-width:0;margin:0;overflow:hidden}.ai-thread-panel,.ai-knowledge-panel{background:var(--color-panel);flex-direction:column;display:flex}.ai-new-chat{justify-content:center;margin:14px}.ai-panel-heading{border-top:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-secondary);align-items:center;gap:9px;padding:12px 14px;display:flex}.ai-panel-heading h2,.ai-panel-heading p{margin:0}.ai-panel-heading h2{color:var(--color-text-primary);font-size:13px}.ai-panel-heading p{color:var(--color-text-tertiary);font-size:var(--font-size-caption);margin-top:2px}.ai-thread-list,.ai-document-list{min-height:0;overflow:auto}.ai-thread-list{padding:8px}.ai-thread-list button{border-radius:var(--radius-sm);width:100%;color:var(--color-text-primary);text-align:left;background:0 0;border:1px solid #0000;gap:4px;padding:10px;display:grid}.ai-thread-list button:hover:not(:disabled),.ai-thread-list button.active{border-color:var(--color-border-subtle);background:var(--color-panel-soft)}.ai-thread-list button:focus-visible,.ai-suggestions button:focus-visible,.ai-document-list button:focus-visible,.ai-file-field:focus-within{outline:3px solid var(--color-brand-soft);outline-offset:2px}.ai-thread-list button:disabled,.ai-document-list button:disabled{cursor:not-allowed;opacity:.55}.ai-thread-list button span{font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ai-thread-list button small{color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.ai-chat-panel{background:var(--color-page);grid-template-rows:auto auto minmax(0,1fr) auto;min-height:660px;display:grid}.ai-chat-header{border-bottom:1px solid var(--color-border-subtle);background:var(--color-panel);align-items:center;gap:11px;padding:13px 16px;display:flex}.ai-avatar{border-radius:var(--radius-sm);background:var(--color-brand-soft);width:38px;height:38px;color:var(--color-brand-dark-text);justify-content:center;align-items:center;display:inline-flex}.ai-chat-header h2,.ai-chat-header p{margin:0}.ai-chat-header h2{font-size:var(--font-size-heading-sm)}.ai-chat-header p{color:var(--color-text-tertiary);font-size:var(--font-size-caption);align-items:center;gap:5px;margin-top:3px;display:flex}.ai-online-dot{background:var(--color-success);border-radius:50%;width:7px;height:7px}.ai-alert-region .notice{margin:10px 14px 0}.ai-messages{flex-direction:column;gap:14px;min-height:0;padding:22px;display:flex;overflow:auto}.ai-empty-state{text-align:center;max-width:560px;margin:auto}.ai-empty-state h3{margin:0 0 5px;font-size:19px}.ai-empty-state>p{color:var(--color-text-secondary);font-size:var(--font-size-body);line-height:var(--line-height-body);margin:0}.ai-suggestions{gap:7px;margin-top:18px;display:grid}.ai-suggestions button{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-panel);color:var(--color-text-secondary);font-size:var(--font-size-control);font-weight:var(--font-weight-semibold);padding:10px 12px}.ai-suggestions button:hover{border-color:var(--color-brand);background:var(--color-panel-soft);color:var(--color-text-primary)}.ai-message{align-self:flex-start;max-width:min(84%,720px)}.ai-message.user{align-self:flex-end}.ai-message strong{color:var(--color-text-tertiary);font-size:var(--font-size-caption);margin-bottom:4px;display:block}.ai-message.user strong{text-align:right}.ai-message-content{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-panel);color:var(--color-text-primary);font-size:var(--font-size-body);line-height:var(--line-height-body);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;padding:11px 13px}.ai-message.user .ai-message-content{border-color:var(--color-brand-soft);background:var(--color-brand-soft);color:var(--color-brand-dark-text)}.ai-message-content>:first-child{margin-top:0}.ai-message-content>:last-child{margin-bottom:0}.ai-message-content p,.ai-message-content ul,.ai-message-content ol,.ai-message-content blockquote,.ai-message-content pre,.ai-message-content table{margin:0 0 10px}.ai-message-content ul,.ai-message-content ol{padding-left:20px}.ai-message-content li+li{margin-top:4px}.ai-message-content h1,.ai-message-content h2,.ai-message-content h3,.ai-message-content h4{font-size:var(--font-size-body);line-height:var(--line-height-tight);margin:14px 0 7px}.ai-message-content blockquote{border-left:3px solid var(--color-brand);color:var(--color-text-secondary);padding-left:10px}.ai-message-content code{border-radius:var(--radius-xs);background:var(--color-panel-elevated);font-family:var(--font-family-mono);padding:2px 4px;font-size:.9em}.ai-message-content pre{border-radius:var(--radius-sm);background:var(--color-panel-elevated);white-space:pre;padding:10px;overflow-x:auto}.ai-message-content pre code{padding:0}.ai-message-content table{border-collapse:collapse;white-space:normal;max-width:100%;display:block;overflow-x:auto}.ai-message-content th,.ai-message-content td{border:1px solid var(--color-border-subtle);text-align:left;padding:6px 8px}.ai-message-content th{background:var(--color-panel-soft)}.ai-message-content a{color:var(--color-link);text-underline-offset:2px;text-decoration:underline}.ai-citations{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.ai-citations span{border-radius:var(--radius-full);background:var(--color-secondary-soft);color:var(--color-link);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);padding:3px 7px}.ai-thinking{color:var(--color-text-tertiary);font-size:var(--font-size-caption);align-items:center;gap:7px;display:flex}.ai-composer{border-top:1px solid var(--color-border-subtle);background:var(--color-panel);padding:12px 14px}.ai-composer-surface{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-panel);box-shadow:var(--shadow-subtle);grid-template-columns:minmax(0,1fr);gap:8px;padding:10px 10px 8px;transition:border-color .14s ease-out,box-shadow .14s ease-out;display:grid}.ai-composer-surface:focus-within{border-color:var(--color-brand-strong);box-shadow:0 0 0 3px var(--color-brand-soft)}.ai-composer-surface>label{color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);grid-column:1/-1}.ai-composer textarea{field-sizing:content;resize:none;width:100%;min-height:48px;max-height:144px;color:var(--color-text-primary);font:inherit;font-size:var(--font-size-control);line-height:var(--line-height-body);background:0 0;border:0;grid-column:1;padding:0 2px;overflow-y:auto}.ai-composer textarea::placeholder{color:var(--color-text-tertiary)}.ai-composer textarea:focus-visible{outline:none}.ai-upload-form input:focus-visible{outline:3px solid var(--color-brand-soft);outline-offset:1px;border-color:var(--color-brand-strong)}.ai-composer textarea:disabled{color:var(--color-text-tertiary);cursor:not-allowed;background:0 0}.ai-composer-submit{border:1px solid var(--color-brand);border-radius:var(--radius-sm);background:var(--color-brand);min-width:84px;min-height:40px;color:var(--color-brand-dark-text);font:inherit;font-size:var(--font-size-control);font-weight:var(--font-weight-bold);white-space:nowrap;flex:none;grid-column:1;justify-content:center;justify-self:end;align-items:center;gap:6px;padding:0 12px;transition:border-color .1s ease-out,background-color .1s ease-out,color .1s ease-out,transform .1s ease-out;display:inline-flex}.ai-composer-submit:hover:not(:disabled){border-color:var(--color-brand-strong);background:var(--color-brand-strong);color:var(--color-text-inverse)}.ai-composer-submit:focus-visible{outline:2px solid var(--color-brand-strong);outline-offset:2px}.ai-composer-submit:active:not(:disabled){transform:translateY(1px)}.ai-composer-submit:disabled{border-color:var(--color-border-subtle);background:var(--color-panel-elevated);color:var(--color-text-tertiary);cursor:not-allowed}.ai-composer-stop,.ai-composer-stop:hover:not(:disabled){border-color:var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger-text)}.ai-upload-form{border-bottom:1px solid var(--color-border-subtle);background:var(--color-panel-soft);gap:10px;padding:13px;display:grid}.ai-upload-form label{color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);gap:5px;display:grid}.ai-upload-form input,.ai-upload-form select{border:1px solid var(--color-border-strong);border-radius:var(--radius-xs);background:var(--color-panel);width:100%;min-height:36px;color:var(--color-text-primary);font:inherit;padding:7px 8px}.ai-upload-fields,.ai-upload-field{gap:5px;display:grid}.ai-upload-fields{gap:9px}.ai-upload-form input:hover:not(:disabled),.ai-upload-form select:hover:not(:disabled){border-color:var(--color-brand)}.ai-upload-form input:focus-visible,.ai-upload-form select:focus-visible{border-color:var(--color-brand-strong);outline:3px solid var(--color-brand-soft);outline-offset:1px}.ai-upload-form .ai-file-field{border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-panel);text-align:center;justify-content:center;align-items:center;gap:6px;min-height:72px;padding:10px;display:flex;position:relative}.ai-file-field input{min-height:auto;font-size:var(--font-size-caption);border:0;padding:0}.ai-upload-form .ai-file-input{border:1px solid var(--color-border-strong);clip-path:inset(50%);opacity:0;white-space:nowrap;width:1px;height:1px;min-height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ai-file-field:focus-within{outline:3px solid var(--color-brand-soft);outline-offset:2px}.ai-file-selection{border:1px solid var(--color-border-strong);border-radius:var(--radius-xs);background:var(--color-panel);width:100%;color:var(--color-text-secondary);text-align:left;grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid;overflow:hidden}.ai-file-selection>span{border-right:1px solid var(--color-border-subtle);background:var(--color-panel-elevated);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);padding:7px 9px}.ai-file-selection>small{color:var(--color-text-tertiary);font-size:var(--font-size-caption);text-overflow:ellipsis;white-space:nowrap;padding:7px 9px;overflow:hidden}.ai-file-field:hover .ai-file-selection{border-color:var(--color-brand);color:var(--color-brand-strong)}.ai-upload-form .button{justify-content:center}.ai-document-list{padding:8px}.ai-document-list article{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 5px;display:flex}.ai-document-list article.archived{opacity:.65}.ai-document-list article>div{gap:3px;min-width:0;display:grid}.ai-document-list strong,.ai-document-list span,.ai-document-list small{text-overflow:ellipsis;overflow:hidden}.ai-document-list strong{font-size:var(--font-size-caption)}.ai-document-list span,.ai-document-list small{color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.ai-document-list button{border:1px solid var(--color-border-subtle);border-radius:var(--radius-xs);background:var(--color-panel);color:var(--color-text-secondary);flex:none;padding:6px;display:inline-flex}.ai-document-list button:hover:not(:disabled){border-color:var(--color-danger);color:var(--color-danger)}.ai-document-list .status-pill{flex:none;padding:4px 6px}.ai-empty-compact{color:var(--color-text-tertiary);font-size:var(--font-size-caption);text-align:center;margin:0;padding:16px 10px}@media (max-width:1180px){.ai-workspace.with-knowledge{grid-template-columns:210px minmax(0,1fr)}.ai-knowledge-panel{grid-column:1/-1;max-height:560px}}@media (max-width:760px){.ai-workspace,.ai-workspace.with-knowledge{grid-template-columns:minmax(0,1fr);margin-left:12px;margin-right:12px}.ai-thread-panel{max-height:250px}.ai-chat-panel{min-height:620px}.ai-message{max-width:94%}.ai-messages{padding:16px 12px}.ai-knowledge-panel{grid-column:auto}}.ai-navigation-panel{background:var(--color-panel);flex-direction:column;min-height:680px;display:flex}.ai-product-heading{border-bottom:1px solid var(--color-border-subtle);align-items:center;gap:10px;padding:14px;display:flex}.ai-product-heading>div{gap:2px;min-width:0;display:grid}.ai-product-heading strong{color:var(--color-text-primary);font-size:var(--font-size-body)}.ai-product-heading>div>span{color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.ai-view-tabs{border-bottom:1px solid var(--color-border-subtle);gap:6px;padding:10px;display:grid}.ai-view-tabs button{border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-control);font-weight:var(--font-weight-semibold);text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;display:grid}.ai-view-tabs button:hover{border-color:var(--color-border-subtle);background:var(--color-panel-elevated);color:var(--color-text-primary)}.ai-view-tabs button[aria-selected=true]{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-strong);box-shadow:inset 3px 0 0 var(--color-brand-strong)}.ai-view-tabs button:focus-visible{outline:3px solid var(--color-brand-soft);outline-offset:2px}.ai-view-tabs button small{border-radius:var(--radius-full);background:var(--color-panel);min-width:21px;color:var(--color-text-tertiary);font-size:var(--font-size-caption);text-align:center;padding:2px 5px}.ai-thread-navigation{flex-direction:column;flex:1;min-height:0;display:flex}.ai-thread-navigation .ai-thread-list{flex:1}.ai-knowledge-summary{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-panel-soft);color:var(--color-brand-strong);gap:8px;margin:14px;padding:14px;display:grid}.ai-knowledge-summary strong{color:var(--color-text-primary);font-size:var(--font-size-body)}.ai-knowledge-summary p{color:var(--color-text-secondary);font-size:var(--font-size-caption);line-height:var(--line-height-body);margin:0}.ai-knowledge-workspace{background:var(--color-page);grid-template-rows:auto auto minmax(0,1fr);min-height:680px;display:grid}.ai-knowledge-header{border-bottom:1px solid var(--color-border-subtle);background:var(--color-panel);justify-content:space-between;align-items:center;gap:16px;padding:13px 16px;display:flex}.ai-knowledge-header>div{align-items:center;gap:11px;min-width:0;display:flex}.ai-knowledge-header h2,.ai-knowledge-header p,.ai-section-heading h3,.ai-section-heading p{margin:0}.ai-knowledge-header h2{font-size:var(--font-size-heading-sm)}.ai-knowledge-header p{color:var(--color-text-tertiary);font-size:var(--font-size-caption);margin-top:3px}.ai-knowledge-count{border-radius:var(--radius-full);background:var(--color-success-soft);color:var(--color-success-strong);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);flex:none;align-items:center;gap:6px;padding:6px 9px;display:inline-flex}.ai-knowledge-content{grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:14px;min-height:0;padding:14px;display:grid}.ai-upload-section,.ai-library-section{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-panel);min-width:0;overflow:hidden}.ai-upload-section{align-self:start}.ai-library-section{flex-direction:column;min-height:0;display:flex}.ai-section-heading{border-bottom:1px solid var(--color-border-subtle);align-items:flex-start;gap:9px;padding:13px 14px;display:flex}.ai-section-heading>span,.ai-document-icon{border-radius:var(--radius-xs);background:var(--color-brand-soft);color:var(--color-brand-strong);flex:none;justify-content:center;align-items:center;display:inline-flex}.ai-section-heading>span{width:32px;height:32px}.ai-section-heading h3{font-size:var(--font-size-body)}.ai-section-heading p{color:var(--color-text-tertiary);font-size:var(--font-size-caption);line-height:var(--line-height-body);margin-top:3px}.ai-knowledge-workspace .ai-upload-form{background:var(--color-panel);border:0;gap:11px;padding:14px}.ai-knowledge-workspace .ai-upload-form label{font-size:var(--font-size-caption)}.ai-knowledge-workspace .ai-upload-form input{min-height:40px}.ai-knowledge-workspace .ai-upload-form .ai-file-field{border-color:var(--color-brand);background:var(--color-panel-soft);min-height:118px;color:var(--color-brand-strong);flex-direction:column}.ai-file-field>span{color:var(--color-text-primary);font-size:var(--font-size-caption)}.ai-file-field>small{color:var(--color-text-tertiary);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);line-height:var(--line-height-body)}.ai-knowledge-workspace .ai-file-field input{width:100%;min-height:auto;color:var(--color-text-secondary);font-size:var(--font-size-caption)}.ai-knowledge-workspace .ai-document-list{flex:1;min-height:0;padding:4px 12px 12px;overflow:auto}.ai-knowledge-workspace .ai-document-list article{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 2px;display:grid}.ai-document-icon{width:34px;height:34px}.ai-library-empty{min-height:280px;color:var(--color-text-tertiary);text-align:center;place-content:center;justify-items:center;padding:24px;display:grid}.ai-library-empty strong{color:var(--color-text-primary);font-size:var(--font-size-body);margin-top:10px}.ai-library-empty p{font-size:var(--font-size-caption);margin:4px 0 0}@media (max-width:980px){.ai-knowledge-content{grid-template-columns:minmax(0,1fr);overflow:auto}.ai-library-section{min-height:360px}}@media (max-width:760px){.ai-navigation-panel{min-height:auto}.ai-view-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-view-tabs button[aria-selected=true]{box-shadow:inset 0 -3px 0 var(--color-brand-strong)}.ai-view-tabs button{white-space:nowrap;grid-template-columns:20px minmax(0,1fr)}.ai-view-tabs button small{display:none}.ai-thread-navigation{max-height:260px}.ai-chat-panel,.ai-knowledge-workspace{min-height:620px}.ai-knowledge-header{flex-direction:column;align-items:flex-start}.ai-knowledge-content{padding:12px}}@media (prefers-reduced-motion:reduce){.ai-workspace .spin{animation:none}}.admin-shell.with-ai-dock{grid-template-columns:var(--admin-sidebar-width) minmax(0, 1fr) var(--assistant-dock-width,420px)}.admin-shell.ai-dock-closed{grid-template-columns:var(--admin-sidebar-width) minmax(0, 1fr)}.admin-shell.with-ai-dock>.main{min-width:0}.admin-ai-dock{z-index:5;border-left:1px solid var(--color-border-subtle);background:var(--color-panel-soft);min-width:0;height:100dvh;padding:12px;position:sticky;top:0;overflow:hidden}.admin-ai-slot{min-width:0;height:100dvh;position:relative}.admin-ai-slot[hidden]{display:none}.admin-ai-resize-handle{z-index:8;cursor:col-resize;touch-action:none;justify-content:center;align-items:center;width:12px;display:flex;position:absolute;top:0;bottom:0;left:-6px}.admin-ai-resize-handle:before{content:"";background:0 0;width:2px;transition:background-color .12s ease-out;position:absolute;top:0;bottom:0;left:5px}.admin-ai-resize-handle>span{z-index:1;border-radius:var(--radius-full);background:var(--color-border-strong);opacity:0;width:4px;height:42px;transition:opacity .12s ease-out}.admin-ai-resize-handle:hover:before,.admin-ai-resize-handle:focus-visible:before,.ai-dock-resizing .admin-ai-resize-handle:before{background:var(--color-brand)}.admin-ai-resize-handle:hover>span,.admin-ai-resize-handle:focus-visible>span,.ai-dock-resizing .admin-ai-resize-handle>span{opacity:1}.admin-ai-resize-handle:focus-visible{outline:3px solid var(--color-brand-soft);outline-offset:-3px}.ai-dock-resizing,.ai-dock-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.ai-assistant-dock{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-panel);height:100%;min-height:0;box-shadow:var(--shadow-subtle);grid-template-rows:auto auto minmax(0,1fr);display:grid;overflow:hidden}.ai-dock-header{align-items:center;gap:12px;min-height:66px;padding:13px 15px;display:flex}.ai-dock-header h2,.ai-dock-header p{margin:0}.ai-dock-header h2{color:var(--color-text-primary);font-size:var(--font-size-heading-sm);line-height:var(--line-height-tight)}.ai-dock-header p{color:var(--color-text-tertiary);font-size:var(--font-size-caption);margin-top:3px}.ai-dock-tabs{border-top:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.ai-dock-tabs button{min-width:0;min-height:43px;color:var(--color-text-tertiary);font:inherit;font-size:var(--font-size-control);font-weight:var(--font-weight-semibold);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;justify-content:center;align-items:center;gap:6px;padding:10px 8px 7px;display:flex}.ai-dock-tabs button+button{border-left:1px solid var(--color-border-subtle)}.ai-dock-tabs button:hover:not(:disabled){background:var(--color-panel-soft);color:var(--color-text-primary)}.ai-dock-tabs button[aria-selected=true]{border-bottom-color:var(--color-brand-strong);color:var(--color-brand-strong)}.ai-dock-tabs button small{border-radius:var(--radius-full);background:var(--color-panel-soft);min-width:19px;color:var(--color-text-tertiary);font-size:var(--font-size-caption);text-align:center;padding:2px 5px}.ai-dock-chat{background:var(--color-page);grid-template-rows:auto auto auto minmax(0,1fr) auto;min-height:0;display:grid;overflow:hidden}.ai-chat-toolbar{border-bottom:1px solid var(--color-border-subtle);background:var(--color-panel);grid-template-columns:minmax(0,1fr) 42px;gap:8px;padding:10px 12px;display:grid}.ai-thread-history{min-width:0;position:relative}.ai-thread-picker{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-panel);width:100%;min-width:0;min-height:44px;color:var(--color-text-tertiary);font:inherit;text-align:left;box-shadow:var(--shadow-subtle);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:0;transition:background-color .1s ease-out,border-color .1s ease-out,box-shadow .1s ease-out;display:grid}.ai-thread-history[data-disabled=false] .ai-thread-picker:hover{border-color:var(--color-brand);background:var(--color-panel-soft)}.ai-thread-picker:focus-visible{border-color:var(--color-brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-brand) 24%, transparent);outline:0}.ai-thread-picker:disabled{background:var(--color-panel-soft);box-shadow:none;cursor:not-allowed}.ai-thread-picker>svg{pointer-events:none;flex:none}.ai-thread-picker>svg:first-child{margin-left:11px}.ai-thread-picker>svg:last-child{margin-right:11px}.ai-thread-picker-copy{gap:1px;min-width:0;padding:7px 0;display:grid}.ai-thread-picker-caption{color:var(--color-text-tertiary);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:.05em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;overflow:hidden}.ai-thread-picker-copy strong{color:var(--color-text-primary);font-size:var(--font-size-control);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.ai-thread-picker[aria-expanded=true]>svg:last-child{transform:rotate(180deg)}.ai-thread-history[data-empty=true] .ai-thread-picker-copy strong{color:var(--color-text-secondary)}.ai-thread-menu{z-index:10;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-panel);max-height:min(320px,45vh);box-shadow:var(--shadow-soft);padding:5px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.ai-thread-menu[hidden]{display:none}.ai-thread-menu button{border-radius:var(--radius-xs);width:100%;color:var(--color-text-primary);font:inherit;text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr);place-content:center stretch;justify-items:start;gap:3px;padding:9px 10px;display:grid}.ai-thread-menu button:hover,.ai-thread-menu button[aria-selected=true]{background:var(--color-panel-soft)}.ai-thread-menu button:focus-visible{outline:3px solid var(--color-brand-soft);outline-offset:-2px}.ai-thread-menu span{width:100%;min-width:0;font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ai-thread-menu small{width:100%;color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.ai-chat-toolbar .ai-new-chat-button{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-panel);min-height:44px;color:var(--color-secondary);box-shadow:var(--shadow-subtle);justify-content:center;align-items:center;padding:0;transition:background-color .1s ease-out,border-color .1s ease-out,color .1s ease-out,transform .1s ease-out;display:inline-flex}.ai-chat-toolbar .ai-new-chat-button:hover:not(:disabled){border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-strong);box-shadow:var(--shadow-subtle)}.ai-current-thread{border-bottom:1px solid var(--color-border-subtle);background:var(--color-panel);align-items:center;gap:9px;padding:9px 12px;display:flex}.ai-mini-avatar{background:var(--color-brand-strong);width:29px;height:29px;color:var(--color-text-inverse);font-size:var(--font-size-caption);font-weight:var(--font-weight-extrabold);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.ai-current-thread>div{gap:2px;min-width:0;display:grid}.ai-current-thread strong{color:var(--color-text-primary);font-size:var(--font-size-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ai-current-thread small{color:var(--color-text-tertiary);font-size:var(--font-size-caption);align-items:center;gap:5px;display:flex}.ai-dock-chat .ai-alert-region{min-height:0}.ai-dock-chat .ai-alert-region .notice,.ai-dock-knowledge .ai-alert-region .notice{margin:9px 12px 0}.ai-dock-chat .ai-messages{gap:12px;padding:18px 14px}.ai-dock-chat .ai-empty-state{width:100%;max-width:310px}.ai-dock-chat .ai-empty-state h3{font-size:var(--font-size-heading-sm)}.ai-dock-chat .ai-suggestions{margin-top:14px}.ai-dock-chat .ai-suggestions button{text-align:left;width:100%;min-height:38px}.ai-dock-chat .ai-message{max-width:92%}.ai-dock-chat .ai-composer{padding:10px 12px}.ai-dock-knowledge{background:var(--color-page);min-height:0;padding:12px;overflow-y:auto;container:ai-knowledge/inline-size}.ai-knowledge-sections{grid-template-columns:minmax(0,1fr);align-items:start;gap:10px;min-width:0;display:grid}@container ai-knowledge (min-width:540px){.ai-knowledge-sections{grid-template-columns:minmax(260px,.9fr) minmax(260px,1.1fr)}}.ai-knowledge-intro{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-panel);align-items:center;gap:10px;margin-bottom:10px;padding:11px;display:flex}.ai-knowledge-intro .ai-avatar{width:34px;height:34px}.ai-knowledge-intro h3,.ai-knowledge-intro p{margin:0}.ai-knowledge-intro h3{font-size:var(--font-size-body)}.ai-knowledge-intro p{color:var(--color-text-tertiary);font-size:var(--font-size-caption);line-height:var(--line-height-body);margin-top:2px}.ai-dock-knowledge .ai-upload-section,.ai-dock-knowledge .ai-library-section{border-radius:var(--radius-sm);margin-top:0}.ai-dock-knowledge .ai-section-heading{padding:10px 11px}.ai-dock-knowledge .ai-section-heading>span{width:29px;height:29px}.ai-dock-knowledge .ai-upload-form{background:var(--color-panel);border:0;gap:9px;padding:11px}.ai-dock-knowledge .ai-upload-form input,.ai-dock-knowledge .ai-upload-form select{min-height:38px;font-size:var(--font-size-control)}.ai-dock-knowledge .ai-upload-form .ai-file-field{border-color:var(--color-brand);background:var(--color-panel-soft);min-height:96px;color:var(--color-brand-strong);flex-direction:column}.ai-dock-knowledge .ai-document-list{max-height:310px;padding:4px 10px 10px}.ai-dock-knowledge .ai-document-list article{grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 1px;display:grid}.ai-dock-knowledge .ai-document-icon{width:32px;height:32px}.ai-dock-knowledge .ai-library-empty{min-height:150px}@media (max-width:1180px){.admin-shell.with-ai-dock{--admin-sidebar-width:220px;grid-template-columns:var(--admin-sidebar-width) minmax(0, 1fr)}.admin-ai-slot{grid-column:2;height:auto}.admin-ai-dock{background:var(--color-page);border-left:0;height:auto;min-height:700px;padding:0 16px 24px;position:static}.admin-shell.ai-dock-closed{--admin-sidebar-width:220px;grid-template-columns:var(--admin-sidebar-width) minmax(0, 1fr)}.ai-assistant-dock{height:700px}.admin-ai-resize-handle{display:none}}@media (max-width:760px){.admin-shell.with-ai-dock{display:block}.admin-ai-dock{min-height:640px;padding:0 12px 20px}.ai-assistant-dock{height:calc(100dvh - 20px);min-height:680px}.ai-dock-tabs button{font-size:var(--font-size-control)}.ai-thread-picker-copy strong{font-size:16px}}@media print{.admin-ai-slot{display:none!important}}@media (prefers-reduced-motion:reduce){.admin-shell.with-ai-dock,.admin-shell.ai-dock-closed,.ai-composer-surface,.ai-composer-submit{transition:none}.ai-composer-submit:active:not(:disabled){transform:none}.ai-assistant-dock .spin{animation:none}}.admin-shell{--admin-sidebar-width:264px;--admin-sidebar-collapsed-width:72px;--color-page:var(--color-admin-page);--color-panel-soft:var(--color-admin-panel-soft);--color-panel-elevated:#eef1f4;--color-panel-highlight:#e7ebef;--color-text-primary:var(--color-admin-text);--color-text-secondary:var(--color-admin-text-secondary);--color-text-tertiary:var(--color-admin-text-tertiary);--color-border-subtle:var(--color-admin-border);--color-border-strong:var(--color-admin-border-strong);--color-brand:#c58b00;--color-brand-strong:#875f00;--color-brand-soft:#fff3d6;--color-brand-dark-text:#4d3700;--shadow-subtle:0 1px 2px #1218200a;--shadow-soft:0 8px 24px #1218200f;background:var(--color-admin-page);grid-template-columns:var(--admin-sidebar-width) minmax(0, 1fr);height:100dvh;min-height:0;overflow:hidden}.admin-shell:has(>.sidebar.collapsed){--admin-sidebar-width:var(--admin-sidebar-collapsed-width)}.admin-shell .main{overscroll-behavior-y:contain;scrollbar-gutter:stable;background:var(--color-admin-page);height:100dvh;min-height:0;overflow:hidden auto;container:admin-main/inline-size}.admin-shell .sidebar{border-color:var(--color-admin-border);background:var(--color-panel);scrollbar-width:thin;scrollbar-color:var(--color-admin-border-strong) transparent;grid-template-rows:auto minmax(0,1fr);width:auto;height:100dvh;min-height:0;padding-bottom:12px;display:grid;overflow:hidden}.admin-shell .sidebar.collapsed{width:var(--admin-sidebar-collapsed-width)}.admin-shell .brand-row{border-color:var(--color-admin-border);grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:8px;min-height:64px;padding:10px 12px;display:grid}.admin-shell .brand{gap:10px;overflow:hidden}.admin-shell .brand-mark{background:var(--color-brand);color:#fff;width:38px;height:38px;box-shadow:none;border-radius:9px;font-size:11px}.admin-shell .brand-copy strong{letter-spacing:-.01em;font-size:15px}.admin-shell .brand-copy span{color:var(--color-admin-text-tertiary);font-size:11px}.admin-shell .sidebar-toggle,.admin-shell .mobile-nav-toggle,.admin-shell .topbar-ai-toggle{border:1px solid var(--color-admin-border);width:38px;height:38px;min-height:38px;color:var(--color-admin-text-secondary);box-shadow:none;background:#fff;border-radius:8px;padding:0}.admin-shell .sidebar-toggle{justify-self:end;width:36px;min-width:36px;height:36px;min-height:36px}.admin-shell .sidebar.collapsed .brand-row{grid-template-columns:1fr;justify-items:center}.admin-shell .sidebar.collapsed .sidebar-toggle{justify-self:center}.admin-shell .sidebar-toggle:hover,.admin-shell .mobile-nav-toggle:hover,.admin-shell .topbar-ai-toggle:hover:not(:disabled){color:var(--color-admin-text);box-shadow:none;background:#f7f8fa;border-color:#bdc4cc}.admin-shell .sidebar nav{overscroll-behavior-y:contain;scrollbar-gutter:stable;min-height:0;padding:10px 8px;overflow-y:auto}.admin-shell .nav-group{border-radius:8px;margin:0 0 4px}.admin-shell .nav-parent{min-height:40px;color:var(--color-admin-text-secondary);border-radius:7px;padding:8px 10px;font-size:13px;font-weight:650}.admin-shell .nav-parent-main{gap:9px}.admin-shell .nav-icon{flex-basis:22px;width:22px;height:22px}.admin-shell .nav-icon-svg{width:18px;height:18px}.admin-shell .nav-chevron{transition:transform .14s}.admin-shell .nav-group.open .nav-chevron{transform:rotate(180deg)}.admin-shell .nav-parent.active,.admin-shell .nav-child.active{background:var(--color-brand-soft);color:var(--color-brand-strong);box-shadow:inset 3px 0 0 var(--color-brand)}.admin-shell .nav-parent:hover,.admin-shell .nav-child:hover{color:var(--color-admin-text);background:#f2f4f6}.admin-shell .nav-children{gap:1px;padding:3px 0 4px 31px}.admin-shell .nav-child{min-height:32px;color:var(--color-admin-text-secondary);border-radius:6px;padding:6px 9px;font-size:12px;font-weight:550}.admin-shell .sidebar.collapsed .nav-parent{padding-inline:10px}.admin-shell .topbar{border-color:var(--color-admin-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;min-height:64px;padding:9px 20px}.topbar-primary,.mobile-nav-toggle{align-items:center;display:flex}.topbar-primary{gap:10px;min-width:0}.mobile-nav-toggle{flex:none;justify-content:center;display:none}.admin-shell .building-picker{min-width:0}.admin-shell .building-picker label{color:var(--color-admin-text-secondary);letter-spacing:.06em;font-size:11px}.admin-shell .building-picker select{border-color:var(--color-admin-border-strong);border-radius:7px;min-width:240px;min-height:40px;padding-block:7px;font-weight:650}.admin-shell .building-picker-control{width:248px;min-width:0;position:relative}.admin-shell .building-picker-trigger{border:1px solid var(--color-admin-border-strong);width:100%;min-width:0;min-height:40px;color:var(--color-admin-text);box-shadow:none;text-align:left;background:#fff;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 10px 7px 12px;font-weight:650;display:grid}.admin-shell .building-picker-trigger:hover:not(:disabled),.admin-shell .building-picker-trigger[aria-expanded=true]{border-color:var(--color-brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-brand) 12%, transparent);background:#fff}.admin-shell .building-picker-trigger:focus-visible{border-color:var(--color-brand);outline:3px solid color-mix(in srgb, var(--color-brand) 26%, transparent);outline-offset:2px}.admin-shell .building-picker-trigger>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-shell .building-picker-chevron{color:var(--color-admin-text-tertiary);transition:transform .14s}.admin-shell .building-picker-trigger[aria-expanded=true] .building-picker-chevron{transform:rotate(180deg)}.admin-shell .building-picker-menu{z-index:40;border:1px solid var(--color-admin-border);max-height:min(320px,100dvh - 88px);box-shadow:var(--shadow-soft);background:#fff;border-radius:8px;gap:2px;padding:5px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.admin-shell .building-picker-menu[hidden]{display:none}.admin-shell .building-picker-menu button{width:100%;min-height:40px;color:var(--color-admin-text);box-shadow:none;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:18px minmax(0,1fr);justify-content:stretch;align-items:center;gap:8px;padding:7px 9px;font-weight:600;display:grid}.admin-shell .building-picker-menu button:hover,.admin-shell .building-picker-menu button:focus-visible{color:var(--color-admin-text);box-shadow:none;background:#f2f4f6}.admin-shell .building-picker-menu button:focus-visible{outline:2px solid var(--color-brand);outline-offset:-2px}.admin-shell .building-picker-menu button[aria-selected=true]{background:var(--color-brand-soft);color:var(--color-brand-strong)}.admin-shell .building-picker-menu button svg{opacity:0}.admin-shell .building-picker-menu button[aria-selected=true] svg{opacity:1}.admin-shell .building-picker-menu button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-shell .profile-trigger{border:1px solid #0000;border-radius:8px;min-height:42px;padding:3px 7px}.admin-shell .profile-trigger:hover{border-color:var(--color-admin-border);background:#f7f8fa}.admin-shell .user-avatar{background:var(--color-brand);color:#fff;width:36px;height:36px}.admin-shell .topbar-ai-toggle{color:var(--color-brand-strong)}.admin-shell .topbar-ai-toggle.active{border-color:var(--color-brand);background:var(--color-brand-soft)}.admin-shell .content-header{border:0;align-items:flex-end;padding:20px 20px 14px}.admin-shell .content-header h1{letter-spacing:-.025em;font-size:24px;font-weight:750}.admin-shell .breadcrumb-nav,.admin-shell .content-header small{color:var(--color-admin-text-tertiary)}.admin-shell .panel,.admin-shell .filter-bar,.admin-shell .route-actions,.admin-shell .notice,.admin-shell .summary-card,.admin-shell .metric-card{border-color:var(--color-admin-border);box-shadow:var(--shadow-subtle)}.admin-shell .panel,.admin-shell .filter-bar,.admin-shell .summary-card,.admin-shell .metric-card{background:#fff;border-radius:9px}.admin-shell .panel-heading{border-color:var(--color-admin-border);padding:14px 16px}.admin-shell .panel-heading h2{color:var(--color-admin-text);font-size:15px;font-weight:750}.admin-shell .panel-heading p{color:var(--color-admin-text-tertiary)}.admin-shell .filter-bar{gap:10px;padding:12px}.admin-shell .filter-bar input,.admin-shell .filter-bar select,.admin-shell .admin-form input,.admin-shell .admin-form select,.admin-shell .admin-form textarea{border-color:var(--color-admin-border-strong);background:#fff;border-radius:7px;min-height:38px}.admin-shell button,.admin-shell .button{box-shadow:none;border-radius:7px;font-weight:650}.admin-shell button:hover,.admin-shell .button:hover{box-shadow:none}.admin-shell table{color:var(--color-admin-text)}.admin-shell thead th{border-color:var(--color-admin-border);color:#48515e;letter-spacing:.045em;background:#f7f8fa;font-size:11px}.admin-shell tbody td,.admin-shell tfoot td,.admin-shell tfoot th{border-color:#e8ebef}.admin-shell tbody tr:hover td{background:#fafbfc}.admin-shell .status-pill{border-radius:999px;font-weight:650}.dashboard-overview{gap:14px;padding:0 20px 24px;display:grid}.dashboard-primary-metrics{border:1px solid var(--color-admin-border);box-shadow:var(--shadow-subtle);background:#fff;border-radius:9px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.dashboard-primary-metric{align-items:center;gap:13px;min-width:0;min-height:118px;padding:18px;display:flex}.dashboard-primary-metric+.dashboard-primary-metric{border-left:1px solid var(--color-admin-border)}.dashboard-metric-icon{color:#1e63c5;background:#eaf2ff;border-radius:50%;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}.dashboard-primary-metric.green .dashboard-metric-icon{color:#17804b;background:#e9f7ef}.dashboard-primary-metric.yellow .dashboard-metric-icon{background:var(--color-brand-soft);color:var(--color-brand-strong)}.dashboard-primary-metric.red .dashboard-metric-icon{color:#7547d8;background:#f2ebff}.dashboard-primary-metric>div,.dashboard-operational-metrics article>div{min-width:0}.dashboard-primary-metric span:not(.dashboard-metric-icon),.dashboard-operational-metrics span{color:var(--color-admin-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650;display:block;overflow:hidden}.dashboard-primary-metric strong{color:var(--color-admin-text);font-variant-numeric:tabular-nums;letter-spacing:-.025em;white-space:nowrap;margin-top:5px;font-size:clamp(20px,2vw,27px);font-weight:750;line-height:1.1;display:block}.dashboard-primary-metric small,.dashboard-operational-metrics small{color:var(--color-admin-text-tertiary);margin-top:5px;font-size:11px;display:block}.dashboard-financial-grid{grid-template-columns:minmax(0,1fr) minmax(410px,.96fr);align-items:stretch;gap:14px;min-width:0;display:grid}.dashboard-charts.overview{min-width:0;padding:0;display:block}.dashboard-charts.overview .chart-card{border-color:var(--color-admin-border);height:100%;min-height:390px;box-shadow:var(--shadow-subtle);border-radius:9px;padding:16px}.dashboard-charts.overview .chart-card.revenue-card{min-height:390px}.dashboard-charts.overview .chart-heading{border-bottom:1px solid var(--color-admin-border);align-items:center;padding-bottom:12px}.dashboard-charts.overview .chart-heading h2,.dashboard-section-heading h2{color:var(--color-admin-text);letter-spacing:.025em;margin:0;font-size:14px;font-weight:750}.dashboard-charts.overview .chart-summary-strip{border-bottom:1px solid var(--color-admin-border);gap:0}.dashboard-charts.overview .chart-summary-item{background:0 0;border:0;border-radius:0;padding:12px}.dashboard-charts.overview .chart-summary-item+.chart-summary-item{border-left:1px solid var(--color-admin-border)}.dashboard-charts.overview .chart-plot{min-height:226px}.dashboard-charts.overview .chart-svg{max-height:245px}.chart-sparse-state{min-height:170px;color:var(--color-admin-text-secondary);text-align:left;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.chart-sparse-state>span{color:#1e63c5;background:#eaf2ff;border-radius:50%;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.chart-sparse-state strong,.chart-sparse-state small{display:block}.chart-sparse-state strong{color:var(--color-admin-text);font-size:13px}.chart-sparse-state small{color:var(--color-admin-text-tertiary);margin-top:3px;font-size:11px}.dashboard-debt-panel,.dashboard-operational-band,.dashboard-activity-panel{border:1px solid var(--color-admin-border);min-width:0;box-shadow:var(--shadow-subtle);background:#fff;border-radius:9px;overflow:hidden}.dashboard-section-heading{border-bottom:1px solid var(--color-admin-border);justify-content:space-between;align-items:center;gap:12px;min-height:50px;padding:12px 16px;display:flex}.dashboard-section-heading a,.dashboard-row-link{color:var(--color-link);font-size:12px;font-weight:650}.dashboard-section-heading a:hover,.dashboard-row-link:hover{text-underline-offset:3px;text-decoration:underline}.dashboard-debt-table-wrap{overflow-x:auto}.dashboard-debt-table-wrap table{border-collapse:collapse;width:100%;min-width:610px}.dashboard-debt-table-wrap th,.dashboard-debt-table-wrap td{text-align:left;padding:11px 12px}.dashboard-debt-table-wrap thead th{background:#f7f8fa;position:static}.dashboard-debt-table-wrap tbody td{font-size:12px}.dashboard-debt-table-wrap tfoot th,.dashboard-debt-table-wrap tfoot td{border-top:1px solid var(--color-admin-border);background:#fafbfc;font-size:12px}.dashboard-overdue-days{color:var(--color-danger);margin-top:4px;font-size:10px;font-weight:650;display:block}.dashboard-operational-band .dashboard-section-heading{min-height:44px}.dashboard-operational-metrics{grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.dashboard-operational-metrics article{align-items:center;gap:11px;min-width:0;min-height:94px;padding:14px 16px;display:flex}.dashboard-operational-metrics article+article{border-left:1px solid var(--color-admin-border)}.dashboard-operational-metrics svg{color:var(--color-admin-text-secondary);flex:none}.dashboard-operational-metrics strong{color:var(--color-admin-text);font-variant-numeric:tabular-nums;margin-top:3px;font-size:20px;line-height:1;display:block}.dashboard-latest-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0;display:grid}.dashboard-activity-list{display:grid}.dashboard-activity-row{grid-template-columns:8px minmax(0,1fr) auto auto;align-items:center;gap:10px;min-width:0;padding:10px 14px;display:grid}.dashboard-activity-row+.dashboard-activity-row{border-top:1px solid #e8ebef}.dashboard-activity-row>div{min-width:0}.dashboard-activity-row strong,.dashboard-activity-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.dashboard-activity-row strong{color:var(--color-admin-text);font-size:12px;font-weight:650}.dashboard-activity-row small,.dashboard-activity-row time{color:var(--color-admin-text-tertiary);font-size:10px}.dashboard-status-dot{background:var(--color-warning);border-radius:50%;width:7px;height:7px}.dashboard-status-dot.success{background:var(--color-success)}.dashboard-status-dot.danger{background:var(--color-danger)}.dashboard-empty-row{min-height:94px;color:var(--color-admin-text-tertiary);text-align:center;place-content:center;gap:3px;padding:16px;display:grid}.dashboard-empty-row strong{color:var(--color-admin-text);font-size:12px}.dashboard-empty-row span{font-size:11px}.admin-navigation-backdrop{display:none}@container admin-main (max-width:1120px){.dashboard-primary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-primary-metric:nth-child(3){border-left:0;border-top:1px solid var(--color-admin-border)}.dashboard-primary-metric:nth-child(4){border-top:1px solid var(--color-admin-border)}.dashboard-operational-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-operational-metrics article:nth-child(4){border-left:0}.dashboard-operational-metrics article:nth-child(n+4){border-top:1px solid var(--color-admin-border)}}@container admin-main (max-width:920px){.dashboard-financial-grid,.dashboard-latest-grid{grid-template-columns:minmax(0,1fr)}.dashboard-charts.overview .chart-card,.dashboard-charts.overview .chart-card.revenue-card{min-height:350px}}@container admin-main (max-width:620px){.dashboard-overview{gap:12px;padding-inline:12px}.dashboard-primary-metrics{grid-template-columns:minmax(0,1fr)}.dashboard-primary-metric,.dashboard-primary-metric:nth-child(3),.dashboard-primary-metric:nth-child(4){border-left:0;border-top:1px solid var(--color-admin-border);min-height:96px;padding:14px}.dashboard-primary-metric:first-child{border-top:0}.dashboard-primary-metric strong{font-size:22px}.dashboard-operational-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-operational-metrics article:nth-child(odd){border-left:0}.dashboard-operational-metrics article:nth-child(n+3){border-top:1px solid var(--color-admin-border)}.dashboard-activity-row{grid-template-columns:8px minmax(0,1fr) auto}.dashboard-activity-row .status-pill{display:none}}@media (max-width:1320px){.admin-shell.with-ai-dock{grid-template-columns:var(--admin-sidebar-width) minmax(0, 1fr)}.admin-shell .admin-ai-slot{z-index:70;width:min(var(--assistant-dock-width,420px), calc(100vw - 40px));border-left:1px solid var(--color-admin-border);background:#fff;height:100dvh;position:fixed;top:0;right:0;box-shadow:-14px 0 36px #12182024}.admin-shell .admin-ai-dock{background:#f4f6f8;height:100%;min-height:0;padding:10px;position:static}.admin-shell .ai-assistant-dock{height:100%;min-height:0}.admin-shell .admin-ai-resize-handle{display:none}}@media (max-width:1024px){.admin-shell,.admin-shell.ai-dock-closed,.admin-shell.with-ai-dock{height:100dvh;min-height:0;display:block;overflow:hidden}.admin-shell .sidebar,.admin-shell .sidebar.collapsed{z-index:90;width:min(320px,88vw);height:100dvh;transition:transform .18s;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%);box-shadow:14px 0 34px #12182029}.admin-shell .sidebar.mobile-open{transform:translate(0)}.admin-shell .sidebar .brand-copy,.admin-shell .sidebar .nav-label,.admin-shell .sidebar .nav-chevron{display:block}.admin-shell .sidebar .brand-row,.admin-shell .sidebar .nav-parent{justify-content:space-between}.admin-shell .mobile-nav-toggle{display:inline-flex}.admin-shell .admin-navigation-backdrop:not([hidden]){z-index:80;background:#12182075;border:0;border-radius:0;width:100%;height:100%;min-height:100%;padding:0;display:block;position:fixed;inset:0}.admin-shell .topbar{padding-inline:14px}.admin-shell .content-header{padding-inline:16px}}@media (max-width:760px){.admin-shell .topbar{flex-wrap:nowrap;min-height:58px;padding:8px 12px;position:sticky}.admin-shell .building-picker label{display:none}.admin-shell .building-picker select{width:min(48vw,230px);min-width:0}.admin-shell .building-picker-control{width:min(48vw,230px)}.admin-shell .building-picker-menu{width:min(300px,100vw - 80px);right:auto}.admin-shell .profile-trigger-user{display:none}.admin-shell .topbar-actions{gap:6px}.admin-shell .content-header{align-items:stretch;padding:16px 12px 12px}.admin-shell .content-header h1{font-size:22px}.admin-shell .panel,.admin-shell .filter-bar,.admin-shell .route-actions,.admin-shell .notice{margin-inline:12px}.admin-shell .admin-ai-slot{width:100vw}.admin-shell .admin-ai-dock{padding:0}.admin-shell .ai-assistant-dock{border:0;border-radius:0}}@media (prefers-reduced-motion:reduce){.admin-shell .sidebar,.admin-shell .nav-chevron{transition:none}}
