:root{--font-sans:"Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.375rem;--text-xl:1.75rem;--font-regular:400;--font-medium:500;--font-bold:700;--line-body:1.5;--line-tight:1.35;--bg-sidebar:#fff;--sidebar-surface:#f8fafc;--sidebar-elevated:#f1f5f9;--sidebar-border:#e2e8f0;--sidebar-muted:#5f6368;--sidebar-text:#5f6368;--sidebar-text-strong:#202124;--sidebar-hover:#f1f3f4;--sidebar-active-bg:#e8f0fe;--sidebar-active-border:#1a73e8;--bg-body:#f6f8fc;--text-main:#202124;--text-dim:#5f6368;--text-placeholder:#9aa0a6;--accent:#1a73e8;--primary:#1a73e8;--accent-soft:#1a73e81f;--success:#15803d;--danger:#dc2626;--warning:#f59e0b;--border:#e5e7eb;--radius:8px;--sidebar-w:240px}*{box-sizing:border-box;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}body{font-size:var(--text-sm);font-weight:var(--font-regular);line-height:var(--line-body);height:100vh;display:flex;overflow:hidden;background:var(--bg-body)!important;color:var(--text-main)!important}h1,h2,h3,h4{font-weight:var(--font-regular);color:var(--text-main);letter-spacing:0}button,input,select,textarea{font-family:inherit;font-size:var(--text-sm)}input::placeholder,textarea::placeholder{color:var(--text-placeholder);font-weight:var(--font-regular);opacity:1}input::-webkit-input-placeholder{color:var(--text-placeholder);font-weight:var(--font-regular)}textarea::-webkit-input-placeholder{color:var(--text-placeholder);font-weight:var(--font-regular)}input::-moz-placeholder{color:var(--text-placeholder);font-weight:var(--font-regular);opacity:1}textarea::-moz-placeholder{color:var(--text-placeholder);font-weight:var(--font-regular);opacity:1}.expense-combobox::placeholder,.expense-desc::placeholder,.expense-textarea::placeholder,.expense-amount::placeholder,.expense-date::placeholder,.resident-link-field::placeholder,.occ-form-notes__input::placeholder,.admin-field input::placeholder,.admin-field textarea::placeholder,.visitor-entry-form input::placeholder,.visitor-entry-form textarea::placeholder,.flat-picker__input::placeholder,.search-container input::placeholder{color:var(--text-placeholder);font-weight:var(--font-regular)}.layout{width:100%;min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w)!important;background:var(--bg-sidebar)!important;flex-direction:column!important;height:100vh!important;padding:2rem 1.25rem!important;display:flex!important}aside{border-right:1px solid var(--sidebar-border);transition:width .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:1px 0 #0f172a0a;background:var(--bg-sidebar)!important;flex-direction:column!important;width:72px!important;height:100vh!important;padding:.85rem .55rem!important;display:flex!important}.nav-expanded aside{box-shadow:4px 0 24px #0f172a0f;width:260px!important}.sidebar-head{align-items:center;gap:.6rem;display:flex}.sidebar-title{color:var(--sidebar-text-strong);font-weight:var(--font-medium);font-size:var(--text-md);letter-spacing:0;white-space:nowrap;align-items:center;gap:.55rem;display:none}.nav-expanded .sidebar-title{display:inline-flex}.sidebar-body{flex-direction:column;flex:1;min-height:0;margin-top:.85rem;display:flex;overflow:hidden auto}.nav-drawer-select{border:1px solid var(--sidebar-border);background:var(--sidebar-surface);width:100%;color:var(--sidebar-text-strong);font-weight:var(--font-regular);font-size:var(--text-sm);border-radius:8px;margin-bottom:.85rem;padding:.5rem .6rem}.nav-drawer-label{font-size:var(--text-xs);font-weight:var(--font-medium);letter-spacing:.04em;text-transform:uppercase;color:var(--sidebar-muted);margin-bottom:.35rem;display:none}.nav-expanded .nav-drawer-label,.nav-expanded .nav-drawer-select,.nav-expanded .nav-section-label{display:block}.nav-section-label{font-size:var(--text-xs);font-weight:var(--font-medium);letter-spacing:.04em;text-transform:uppercase;color:var(--sidebar-muted);margin:.15rem 0 .45rem;padding:0 .2rem;display:none}.nav-modules{flex-direction:column;gap:.35rem;display:flex}.nav-module{border-radius:10px}.nav-module-toggle{width:100%;color:var(--sidebar-text);cursor:pointer;font-weight:var(--font-medium);font-size:var(--text-sm);text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;gap:.45rem;padding:.58rem .55rem;transition:background .14s,color .14s,border-color .14s;display:flex}.nav-module-toggle__lead{align-items:center;gap:.65rem;min-width:0;display:flex}.nav-module-toggle__lead i{text-align:center;width:1.15rem;color:var(--sidebar-muted);font-size:.95rem}.nav-module-toggle__label,.nav-module-toggle__chevron{display:none}.nav-module-toggle__chevron{color:var(--sidebar-muted);font-size:.62rem;transition:transform .16s}.nav-module-pages{border-left:1px solid var(--sidebar-border);flex-direction:column;gap:.12rem;margin:.2rem 0 .45rem .65rem;padding:.15rem 0 .15rem .65rem;display:none}.nav-expanded .nav-module--open .nav-module-pages{display:flex}.nav-expanded .nav-module--open .nav-module-toggle__chevron{transform:rotate(180deg)}.nav-page-btn{width:100%;color:var(--sidebar-muted);cursor:pointer;font-weight:var(--font-regular);font-size:var(--text-sm);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:.55rem;padding:.45rem .55rem;transition:background .14s,color .14s;display:flex}.nav-page-btn i{text-align:center;opacity:.85;width:1rem;font-size:.72rem}.nav-page-btn span{display:none}.nav-expanded .nav-module-toggle__label,.nav-expanded .nav-module-toggle__chevron,.nav-expanded .nav-page-btn span{display:inline}.nav-module--tabbed .nav-module-toggle{cursor:pointer}.nav-module--tabbed .nav-module-toggle__chevron{display:none!important}.nav-module-toggle:hover,.nav-page-btn:hover{background:var(--sidebar-hover);color:var(--sidebar-text-strong)}.nav-module-toggle:hover .nav-module-toggle__lead i,.nav-module--active .nav-module-toggle__lead i{color:var(--sidebar-text-strong)}.nav-module--active>.nav-module-toggle,.nav-module-toggle.active{background:var(--sidebar-active-bg);color:var(--sidebar-text-strong);border-color:#2563eb2e}.nav-module--active>.nav-module-toggle .nav-module-toggle__lead i,.nav-module-toggle.active .nav-module-toggle__lead i{color:var(--sidebar-active-border)}.nav-page-btn.active{background:var(--sidebar-active-bg);color:var(--sidebar-text-strong);font-weight:var(--font-medium);box-shadow:inset 2px 0 0 var(--sidebar-active-border)}body:not(.nav-expanded) .nav-drawer-label,body:not(.nav-expanded) .nav-drawer-select,body:not(.nav-expanded) .nav-section-label{display:none!important}body:not(.nav-expanded) .nav-module-toggle{border-radius:10px;justify-content:center;width:100%;min-height:44px;padding:.62rem 0}body:not(.nav-expanded) .nav-module--active>.nav-module-toggle{margin:0}body:not(.nav-expanded) .sidebar-head{justify-content:center;width:100%}body:not(.nav-expanded) .rail-brand{flex-shrink:0;width:44px}body:not(.nav-expanded) #sidebar{align-items:stretch;padding-left:.65rem!important;padding-right:.65rem!important}body:not(.nav-expanded) .sidebar-foot>div{justify-content:center;width:100%}body:not(.nav-expanded) .nav-module-toggle__lead{justify-content:center;gap:0}body:not(.nav-expanded) .nav-module-pages{display:none!important}body:not(.nav-expanded) .sidebar-body{margin-top:.65rem}body:not(.nav-expanded) .nav-modules{gap:.25rem}.sidebar-foot{border-top:1px solid var(--sidebar-border);width:100%;margin-top:auto;padding:.75rem .35rem 0}.nav-expanded .sidebar-foot{padding-left:.15rem;padding-right:.15rem}.nav-link-btn{color:#f9fafb;cursor:pointer;text-align:left;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:.6rem;width:100%;padding:.6rem .7rem;font-size:.86rem;font-weight:800;display:flex}.nav-link-btn span{display:none}.nav-expanded .nav-link-btn span{display:inline}.nav-link-btn:hover{background:#ffffff17}.rail-brand{background:var(--sidebar-surface);border:1px solid var(--sidebar-border);width:100%;height:44px;color:var(--sidebar-text-strong);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;transition:background .14s,border-color .14s;display:flex}.rail-brand:hover{background:var(--sidebar-hover);border-color:#cbd5e1}.topbar{z-index:1200;border-bottom:1px solid var(--border);background:#f9fafb;justify-content:space-between;align-items:center;padding:.7rem 1.6rem;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:.8rem;min-width:0;display:flex}.topbar-nav-btn{border:1px solid var(--border);color:#111827;cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:none}.topbar-nav-btn:hover{background:#f3f4f6}.nav-backdrop,.nav-expanded .nav-backdrop{display:none}.topbar-brand{flex-direction:column;align-items:flex-start;gap:.2rem;min-width:0;display:flex}.brand-lockup{align-items:center;gap:.45rem;min-width:0;display:inline-flex}.brand-lockup__app{font-size:var(--text-md);font-weight:var(--font-medium);letter-spacing:0;color:var(--text-main);white-space:nowrap}.brand-lockup__sep{font-size:var(--text-sm);font-weight:var(--font-regular);color:var(--text-dim);letter-spacing:0;text-transform:lowercase}.brand-lockup__workspace{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;border:1px solid var(--border);background:#fff;border-radius:999px;max-width:320px;padding:.2rem .55rem;overflow:hidden}.brand-lockup__workspace-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right .55rem center;background-repeat:no-repeat;min-width:8rem;padding-right:1.75rem}.brand-lockup__workspace-select:invalid,.brand-lockup__workspace-select option[value=""]{color:var(--text-dim)}.topbar-icon-btn{border:1px solid var(--border);width:38px;height:38px;color:var(--text-dim);cursor:pointer;background:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.topbar-icon-btn:hover{color:#991b1b;background:#fef2f2;border-color:#fecaca}.topbar-right{align-items:center;gap:.5rem;display:flex}.topbar-breadcrumb{font-size:var(--text-sm);font-weight:var(--font-regular);color:var(--text-dim);align-items:center;gap:.4rem;display:flex}.topbar-breadcrumb i{font-size:var(--text-xs);opacity:.55}.topbar-breadcrumb #topbar-nav-page{color:var(--text-main);font-weight:var(--font-medium)}.topbar-user{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:.65rem;padding:.35rem .45rem .35rem .6rem;display:flex}.topbar-user-meta{flex-direction:column;align-items:flex-end;gap:.1rem;display:flex}.topbar-user-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-main);line-height:1.2}.topbar-user-role{font-size:var(--text-xs);font-weight:var(--font-regular);color:var(--text-dim);line-height:1.2}.topbar-user-avatar{border:1px solid var(--border);width:34px;height:34px;font-weight:var(--font-medium);font-size:var(--text-xs);color:var(--text-main);background:#fff;border-radius:10px;justify-content:center;align-items:center;display:flex}.user-menu{border:1px solid var(--border);z-index:2400;background:#fff;border-radius:14px;width:220px;padding:.35rem;position:absolute;top:54px;right:1.6rem;box-shadow:0 22px 50px #1118271f}.user-menu-item{cursor:pointer;color:#111827;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:.55rem;width:100%;padding:.65rem .7rem;font-size:.82rem;font-weight:800;display:flex}.user-menu-item:hover{background:#f3f4f6}.user-menu-item.danger{color:#991b1b}.user-menu-item.danger:hover{background:#fef2f2}.user-menu-sep{background:var(--border);height:1px;margin:.25rem .35rem}.rail-avatar{background:var(--sidebar-elevated);border:1px solid var(--sidebar-border);width:34px;height:34px;color:var(--sidebar-text-strong);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:800;display:flex}.sidebar-user-meta{display:none}.nav-expanded .sidebar-user-meta{display:block}.rail-user{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--sidebar-text-strong);white-space:nowrap;text-overflow:ellipsis;max-width:160px;overflow:hidden}.rail-role{font-size:var(--text-xs);font-weight:var(--font-regular);color:var(--sidebar-muted);white-space:nowrap;text-overflow:ellipsis;max-width:160px;overflow:hidden}.logo{align-items:center;gap:.75rem;margin-bottom:2rem;font-size:1.1rem;font-weight:900;display:flex;color:#fff!important}.nav-links{flex-direction:column;gap:.5rem;list-style:none;display:flex}.nav-links a{border-radius:var(--radius);align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex;color:#cbd5e1!important}.nav-links a i{width:1.25rem;font-size:1.1rem}.nav-links a:hover{color:#fff!important;background:#ffffff0d!important}.nav-links a.active{background:var(--accent-soft)!important;color:#f9fafb!important}.nav-item{border-radius:var(--radius);align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex;color:#94a3b8!important}.nav-item i{width:1.25rem;font-size:1.1rem}.nav-item:hover{color:#fff!important;background:#ffffff0d!important}.nav-item.active{background:var(--accent-soft)!important;color:#60a5fa!important}.main-content,#main-content,main{background:var(--bg-body);flex-direction:column;flex:1;display:flex;position:relative;overflow-y:auto}.content-view{min-height:100%;display:none}.content-view.active{display:block}header{background:#fff;border-bottom:1px solid #e8eaed;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1.5rem 1.6rem 1.2rem;display:flex}.header-breadcrumb{align-items:center;gap:.55rem;min-width:420px;display:flex;position:relative}.crumb-app{border:1px solid var(--border);color:#111827;cursor:pointer;letter-spacing:-.2px;background:#fff;border-radius:10px;align-items:center;gap:.55rem;padding:.45rem .7rem;font-weight:900;display:inline-flex}.crumb-app-name{font-size:1.05rem}.crumb-sep{color:#9ca3af;font-weight:900}.crumb-apt{flex-direction:column;gap:.15rem;display:flex}.crumb-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-dim);font-size:.6rem;font-weight:800}.crumb-apt select{border:1px solid var(--border);color:#111827;background:#fff;border-radius:10px;min-width:240px;padding:.35rem .55rem;font-size:.82rem;font-weight:700}.app-menu{border:1px solid var(--border);z-index:2500;background:#fff;border-radius:12px;width:240px;padding:.35rem;position:absolute;top:48px;left:0;box-shadow:0 18px 40px #1118271a}.app-menu-item{cursor:pointer;color:#111827;background:0 0;border:0;border-radius:10px;align-items:center;gap:.55rem;width:100%;padding:.6rem .7rem;font-size:.82rem;font-weight:800;display:flex}.app-menu-item:hover{background:#f3f4f6}.header-title h2,.page-title{font-size:var(--text-lg);font-weight:var(--font-regular);letter-spacing:0;line-height:var(--line-tight)}.page-title__accent{color:var(--accent);font-weight:var(--font-medium);position:relative}.page-title__accent:after{content:"";background:var(--accent);opacity:.45;border-radius:999px;height:2px;position:absolute;bottom:-.06em;left:0;right:0}.header-title p{color:var(--text-dim);font-size:var(--text-sm);font-weight:var(--font-regular);line-height:var(--line-body);margin-top:.25rem}.page-sections{flex-direction:column;gap:.75rem;padding:.15rem 1.6rem 1.25rem;display:flex}.page-section{background:#fff;border:1px solid #e8eaed;border-radius:12px;transition:box-shadow .16s,border-color .16s;overflow:hidden;box-shadow:0 1px 2px #3c40430f,0 1px 3px #3c40430a}.page-section[open]{box-shadow:0 1px 3px #3c404314,0 4px 12px #3c40430f}.page-section>summary{cursor:pointer;list-style:none}.page-section>summary::-webkit-details-marker{display:none}.page-section__header{background:#fafbfc;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .9rem;transition:border-color .16s,background .16s;display:flex}.page-section[open]>.page-section__header{border-bottom-color:#e8eaed}.page-section__header:after{content:"";color:var(--text-dim);flex-shrink:0;font-family:"Font Awesome 6 Free";font-size:.7rem;font-weight:900;transition:transform .18s,color .18s}.page-section>.page-section__header:after{content:"";font-family:"Font Awesome 6 Free";font-weight:900}.page-section[open]>.page-section__header:after{color:var(--accent);transform:rotate(180deg)}.page-section__title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-main);letter-spacing:0;text-transform:none;align-items:center;gap:.65rem;min-width:0;display:inline-flex}.page-section__icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.85rem;display:inline-flex}.page-section--summaries .page-section__icon{color:#5f6368;background:#f1f3f4}.page-section--primary .page-section__icon{color:#1a73e8;background:#e8f0fe}.page-section--primary[open]{box-shadow:0 1px 3px #1a73e80f,0 4px 14px #3c404312}.page-section__body{padding:.65rem .9rem .75rem}.page-section__body--summaries{padding:.35rem .9rem .5rem}.summary-block{border-bottom:1px solid #f1f3f4;padding:.55rem 0}.summary-block:last-child{border-bottom:0;padding-bottom:0}.summary-block:first-child{padding-top:.15rem}.summary-block__label{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .4rem}.summary-block__label--inline{text-transform:none;letter-spacing:0;font-size:var(--text-sm);color:var(--text-main);margin:0}.summary-block__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.45rem;display:flex}.summary-block__actions{flex-shrink:0}.page-section--summaries .mobile-summary__stats{flex-wrap:wrap;justify-content:flex-end;max-width:62%}@media (width<=720px){.page-section--summaries .mobile-summary__stats{max-width:72%}.page-section--summaries .ms-pill--occ{display:none}}.ms-pill--jump{cursor:pointer;font:inherit;line-height:inherit;appearance:none;transition:border-color .14s,background .14s,box-shadow .14s}.ms-pill--jump:hover{background:#f8fbff;border-color:#d2e3fc;box-shadow:0 1px 2px #1a73e814}.ms-pill--jump.is-active{color:#174ea6;background:#e8f0fe;border-color:#1a73e8;box-shadow:0 0 0 1px #1a73e826}.summary-focus-bar{background:#e8f0fe;border:1px solid #d2e3fc;border-radius:8px;justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.45rem;padding:.4rem .55rem;display:flex}.summary-focus-bar__label{font-size:var(--text-xs);font-weight:var(--font-medium);color:#174ea6}.page-section__body--summaries[data-focus=cars] .summary-block:not(#pool-visualiser),.page-section__body--summaries[data-focus=bikes] .summary-block:not(#bike-pool-visualiser),.page-section__body--summaries[data-focus=rentals] .summary-block:not(#flat-rental-visualiser){display:none}.page-section__body--summaries[data-focus=cars] #pool-visualiser,.page-section__body--summaries[data-focus=bikes] #bike-pool-visualiser,.page-section__body--summaries[data-focus=rentals] #flat-rental-visualiser{border-bottom:0;padding-bottom:0}.mobile-summary__stats{flex-shrink:0;align-items:center;gap:.4rem;display:inline-flex}.ms-pill{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-main);white-space:nowrap;background:#fff;border:1px solid #e8eaed;border-radius:999px;align-items:baseline;gap:.2rem;padding:.2rem .55rem;display:inline-flex}.ms-pill b{font-weight:var(--font-bold)}.ms-pill.good{color:#137333;background:#e6f4ea;border-color:#ceead6}.ms-pill.bad{color:#c5221f;background:#fce8e6;border-color:#fad2cf}.dashboard-metrics--compact{gap:.45rem;padding:0}.dashboard-metrics--compact .metric-card{box-shadow:none;background:#fff;border:1px solid #e8eaed;border-radius:8px;padding:.5rem .6rem;transition:border-color .14s}.dashboard-metrics--compact .metric-card:hover{border-color:#d2e3fc}.metric-card .value.value--danger{color:var(--danger)}.metric-card .value.value--success{color:var(--success)}.metric-card .value.value--accent{color:var(--accent)}.explorer-controls--inset{padding:0}.explorer-controls__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.5rem;display:flex}.explorer-sort{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.explorer-sort__label{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.explorer-sort__select{border:1px solid var(--border);font-size:var(--text-sm);font-weight:var(--font-regular);color:var(--text-main);background:#fff;border-radius:8px;padding:.4rem .65rem}.explorer-sort__trigger{display:none}.registry-explorer__search-row{align-items:center;gap:.65rem;margin-bottom:.55rem;display:flex}.registry-explorer__search{flex:1;min-width:0}.registry-page-header__actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}@media (width<=640px){.registry-page-header{gap:.75rem;padding:1rem 1rem .85rem}.registry-page-header__subtitle{display:none}.registry-page-header__title h2{letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.registry-page-header__actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;width:100%;display:grid}.registry-page-header__actions .btn{justify-content:center;gap:.28rem;min-height:2.25rem;padding:.5rem .35rem;font-size:.66rem}.registry-page-header__actions .btn i{font-size:.7rem}.registry-explorer{z-index:20;background:linear-gradient(#fff 78%,#fff0);margin:0 -.15rem;position:sticky;top:0;padding:.65rem 0 .5rem!important}.registry-explorer__search-row{gap:.5rem;margin-bottom:.45rem}.registry-explorer__search input{border-color:#dfe3e8;border-radius:12px;min-height:2.75rem;padding:.75rem 1rem .75rem 2.85rem;font-size:.92rem;box-shadow:0 1px 3px #1118270d}.registry-explorer__search input:focus{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)}.registry-explorer__search i{color:#9aa0a6;font-size:.88rem;left:1.05rem}.registry-explorer__sort{flex-shrink:0;position:relative}.registry-explorer__sort .explorer-sort__label{display:none}.registry-explorer__sort .explorer-sort__trigger{color:#5f6368;cursor:pointer;background:#fff;border:1px solid #dfe3e8;border-radius:12px;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;transition:border-color .12s,color .12s;display:inline-flex;box-shadow:0 1px 3px #1118270d}.registry-explorer__sort .explorer-sort__trigger:active{background:#f8fafc}.registry-explorer__sort .explorer-sort__select{opacity:0;cursor:pointer;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.registry-explorer__filters{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:.35rem;margin-bottom:.45rem;padding-bottom:.15rem;overflow-x:auto}.registry-explorer__filters::-webkit-scrollbar{display:none}.registry-explorer__filters .filter-pill{border-radius:999px;flex-shrink:0;padding:.38rem .72rem;font-size:.72rem}}.filter-bar{flex-wrap:wrap;gap:.4rem;margin-bottom:.55rem;display:flex}.registry-list--inset{margin:0}.registry-empty-state{text-align:center;color:var(--text-dim);border:1px dashed var(--border);background:#f8fafc;border-radius:12px;margin:.5rem 0 0;padding:1.25rem 1rem;font-size:.82rem;line-height:1.5}.registry-empty-state p{margin:0 0 .35rem}.registry-empty-state p:last-child{margin-bottom:0}.registry-empty-state__meta{color:#94a3b8!important;font-size:.75rem!important}.registry-empty-state__meta code{font-family:ui-monospace,monospace;font-size:.72rem}.registry-empty-state__error{font-weight:600;color:var(--danger)!important}.page-section__body .pool-section-hint{font-size:var(--text-xs);font-weight:var(--font-regular);color:#5f6368;background:#fafbfc;border:1px solid #e8eaed;border-radius:6px;margin:0 0 .45rem;padding:.45rem .65rem;line-height:1.4}.page-section__body .pool-section-empty{font-size:var(--text-xs);margin:.35rem 0 0}.metrics-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;padding:0 2.5rem 2rem;display:grid}.dashboard-metrics{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.65rem;padding:.95rem 1.6rem 1rem;display:grid}.pool-slot-grid{grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:.5rem;display:grid}.pool-section-toolbar{justify-content:flex-end;padding:0 0 .5rem;display:flex}.pool-slot--managed{position:relative}.pool-slot__del{color:#9ca3af;cursor:pointer;background:#ffffffeb;border:none;border-radius:6px;justify-content:center;align-items:center;width:1.35rem;height:1.35rem;padding:0;font-size:.65rem;line-height:1;display:inline-flex;position:absolute;top:.2rem;right:.2rem;box-shadow:0 1px 2px #0f172a14}.pool-slot__del:hover{color:#ef4444;background:#fef2f2}.pool-section-hint{font-size:var(--text-sm);color:var(--text-dim);font-weight:var(--font-regular);margin:0 0 .5rem}.pool-section-empty{color:var(--text-dim);margin:.5rem 0 0;font-size:.78rem;font-style:italic}.flat-rental-slot .slot-unit{color:var(--accent);font-weight:800}.pool-slot{cursor:pointer;background:#fafbfc;border:1px solid #e8eaed;border-radius:10px;flex-direction:column;justify-content:space-between;min-height:80px;padding:.65rem;transition:all .18s;display:flex;box-shadow:0 1px 2px #0f172a0a}.pool-slot:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 8px 20px #0f172a14}.pool-slot.empty{background:linear-gradient(#fff 0%,#f8fafc 100%)}.pool-slot.occupied{background:linear-gradient(#f8fbff 0%,#fff 100%);border-color:#d2e3fc}.slot-name{letter-spacing:.4px;color:var(--text-dim);text-transform:uppercase;font-size:.68rem;font-weight:900}.slot-occupant{color:var(--text-main);margin-top:.35rem;font-family:JetBrains Mono,monospace;font-size:.9rem;font-weight:800;line-height:1.2}.pool-slot.empty .slot-occupant{color:#0f766e;letter-spacing:.3px;font-family:Inter,sans-serif}.slot-unit{color:var(--text-dim);text-transform:uppercase;margin-top:.25rem;font-size:.66rem;font-weight:700}.pool-search-row{border:1px solid var(--border);text-align:left;cursor:pointer;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:.55rem .7rem;font-size:.82rem;font-weight:700;display:flex}.pool-search-row:hover{background:#eff6ff;border-color:#bfdbfe}.metric-card{border:1px solid var(--border);background:#fff;border-radius:10px;padding:.8rem .9rem;box-shadow:0 1px 2px #1118270a}.metric-card--clickable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .12s,box-shadow .12s,border-color .12s}.metric-card--clickable:hover{border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 10px 24px #0f172a14}.metric-card .label{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.3rem;display:block}.metric-card .value{font-size:var(--text-xl);font-weight:var(--font-regular);color:var(--text-main);line-height:1.2;display:block}.explorer-controls{padding:0 1.6rem 1.4rem}.search-container{background:0 0;border:none;flex:1;align-items:center;margin:0;padding:0;display:flex;position:relative}.search-container i{color:var(--text-dim);pointer-events:none;position:absolute;left:1rem}.search-container input[type=search]{appearance:none}.search-container input{border:1px solid var(--border);width:100%;font-weight:var(--font-regular);font-size:var(--text-sm);color:var(--text-main);background:#fff;border-radius:999px;outline:none;padding:.65rem 1rem .65rem 2.75rem}.search-container input::placeholder{color:var(--text-placeholder);font-weight:var(--font-regular)}.filter-pill{border:none;border:1px solid var(--border);cursor:pointer;color:var(--text-dim);background:#fff;border-radius:14px;padding:.5rem 1.25rem;font-size:.78rem;font-weight:600}.filter-pill.active{color:#111827;background:#e5e7eb;border-color:#d1d5db}.registry-list{border:1px solid var(--border);background:#fff;border-radius:10px;margin:0 1.6rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.registry-header{border-bottom:1px solid var(--border);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;background:#f9fafb;grid-template-columns:80px 1fr 200px 240px 90px 90px 60px;padding:.7rem .95rem;display:grid}.resident-items-panel{flex-direction:column;gap:1rem;display:flex}.resident-dupe-hint{color:var(--text-dim);background:#fffbeb;border:1px solid #fde68a;border-radius:10px;margin-bottom:.25rem;padding:.65rem .85rem;font-size:.8rem}.resident-unit-groups{flex-direction:column;gap:1rem;display:flex}.resident-unit-group{border:1px solid var(--border);background:#fff;border-radius:12px;overflow:hidden}.resident-unit-group__header{border-bottom:1px solid var(--border);background:#f8fafc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.75rem 1rem;display:flex}.resident-unit-group__title{align-items:baseline;gap:.65rem;display:flex}.resident-unit-group__block{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);font-size:.72rem;font-weight:800}.resident-unit-group__unit{color:var(--text-main);letter-spacing:-.02em;font-size:1.05rem;font-weight:900}.resident-unit-group__meta{color:var(--text-dim);font-size:.75rem;font-weight:600}.resident-group-header,.resident-group-row{grid-template-columns:90px 1.2fr 150px 1fr 110px;align-items:center;gap:.75rem;padding:.65rem 1rem;display:grid}.resident-group-header{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);border-bottom:1px solid var(--border);background:#fafbfc;font-size:.65rem;font-weight:800}.resident-group-row{border-bottom:1px solid var(--border);font-size:.85rem}.resident-group-row:last-child{border-bottom:none}.resident-group-row:hover{background:#f8fafc}.resident-kind{text-transform:uppercase;color:var(--text-dim);font-size:.68rem;font-weight:900}.resident-name{color:var(--text-main);font-weight:800}.resident-primary-badge{text-transform:uppercase;color:#1d4ed8;vertical-align:middle;background:#dbeafe;border-radius:4px;margin-left:.35rem;padding:.1rem .35rem;font-size:.6rem;font-weight:800;display:inline-block}.resident-phone,.resident-email{color:var(--text-dim);word-break:break-word;font-weight:600}.resident-actions{justify-content:flex-end;gap:.35rem;display:flex}.btn--icon{padding:.2rem .45rem!important}.btn--danger{color:var(--danger,#dc2626)!important}@media (width<=900px){.resident-group-header{display:none}.resident-group-row{grid-template-columns:1fr;gap:.35rem;padding:.85rem 1rem}.resident-actions{justify-content:flex-start;margin-top:.35rem}}.apt-row{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:80px 1fr 200px 240px 90px 90px 60px;align-items:center;padding:.75rem .95rem;display:grid}.apt-row:hover{background:#f8fafc}.apt-number{color:#111827;font-size:.9rem;font-weight:700}.v-tag{text-transform:uppercase;border-radius:6px;align-items:center;padding:.24rem .45rem;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:700;display:inline-flex}.vehicle-type-icon.car{color:#1d4ed8}.vehicle-type-icon.bike{color:#0f766e}.v-tag.car,.v-tag.bike{color:#111827;background:#f3f4f6;border:1px solid #e5e7eb}.v-tag.overlimit{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5;box-shadow:inset 0 0 0 1px #dc262614}.v-tag.reallocated{color:#0c4a6e;background:#e0f2fe;border:1px solid #7dd3fc}.user-directory-card{border:1px solid var(--border);background:#fff;border-radius:12px;margin-top:1.5rem;overflow:hidden}.user-table-header{border-bottom:1px solid var(--border);color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;background:#f9fafb;grid-template-columns:1.5fr 1fr 2fr 100px;padding:.85rem 1.25rem;font-size:.65rem;font-weight:800;display:grid}.user-row{border-bottom:1px solid var(--border);grid-template-columns:1.5fr 1fr 2fr 100px;align-items:center;padding:1rem 1.25rem;transition:background .15s;display:grid}.user-row:last-child{border-bottom:none}.user-row:hover{background:#f8fafc}.user-info{align-items:center;gap:.75rem;display:flex}.user-avatar{color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:.8rem;font-weight:700;display:flex;box-shadow:0 4px 12px #4f46e533}.user-details{flex-direction:column;display:flex}.user-name{color:var(--text-main);font-size:.88rem;font-weight:700}.user-email{color:var(--text-dim);font-size:.75rem}.role-badge{text-transform:capitalize;border-radius:9999px;padding:.25rem .6rem;font-size:.68rem;font-weight:700;display:inline-flex}.role-badge.admin{color:#991b1b;background:#fee2e2}.role-badge.property_manager{color:#166534;background:#dcfce7}.role-badge.accounts_manager{color:#854d0e;background:#fef9c3}.role-badge.security{color:#075985;background:#e0f2fe}.role-badge.resident_viewer{color:#374151;background:#f3f4f6}.apt-chips{flex-wrap:wrap;gap:.35rem;display:flex}.apt-chip{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:.2rem .5rem;font-size:.68rem;font-weight:600}.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1rem;display:grid}.portfolio-card{border:1px solid var(--border);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;padding:1.25rem;transition:all .2s;display:flex}.portfolio-card:hover{border-color:#cbd5e1;box-shadow:0 4px 20px #0000000a}.portfolio-info{flex-direction:column;display:flex}.portfolio-name{color:var(--text-main);font-size:1rem;font-weight:800}.portfolio-meta{color:var(--text-dim);margin-top:.1rem;font-size:.75rem;font-weight:600}.btn-icon{border:1px solid var(--border);width:32px;height:32px;color:var(--text-dim);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.btn-icon:hover{color:var(--text-main);background:#f8fafc;border-color:#cbd5e1}.btn-icon.danger:hover{color:#dc2626;background:#fef2f2;border-color:#fecaca}.pool-alloc-cell,.dormant-cell{flex-wrap:wrap;gap:.28rem;display:flex}.dormant-chip{color:#9ca3af;white-space:nowrap;opacity:.92;background:#f9fafb;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:.3rem;padding:.18rem .38rem;font-size:.64rem;display:inline-flex}.dormant-chip b{color:#9ca3af;font-family:JetBrains Mono,monospace;font-size:.62rem;font-weight:700}.dormant-chip .vehicle-type-icon{color:#9ca3af!important}.dormant-none{color:var(--text-dim);font-size:.72rem}.pool-alloc-chip{border:1px solid var(--border);color:#374151;white-space:nowrap;background:#f9fafb;border-radius:999px;align-items:center;gap:.3rem;padding:.18rem .38rem;font-size:.64rem;display:inline-flex}.pool-alloc-chip b{font-family:JetBrains Mono,monospace;font-size:.62rem}.pool-alloc-chip.common{color:#1e3a8a;background:#eff6ff;border-color:#bfdbfe}.pool-alloc-chip.neighbor{color:#5b21b6;background:#f5f3ff;border-color:#ddd6fe}.pool-alloc-none{color:var(--text-dim);font-size:.72rem}.btn{border:1px solid var(--border);font-weight:var(--font-medium);font-size:var(--text-sm);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:.5rem;padding:.5rem .9rem;line-height:1.2;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-outline{color:#374151;background:#fff}.btn--busy,.btn[aria-busy=true]{opacity:.85;cursor:wait;pointer-events:none}.btn--busy .fa-spin,.btn[aria-busy=true] .fa-spin{flex-shrink:0}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;visibility:hidden;z-index:2000;background:#0f172a66;justify-content:flex-end;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;inset:0;overflow:hidden}.modal-backdrop.active{opacity:1;visibility:visible}.modal-content{background:#fff;flex-direction:column;width:640px;height:100%;transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;position:relative;transform:translate(100%);box-shadow:-15px 0 60px #00000026}#apt-modal.modal-backdrop{justify-content:center;align-items:center;padding:1rem}#apt-modal .modal-content{border-radius:16px;width:min(560px,94vw);min-width:0;height:auto;max-height:90vh;overflow:hidden;transform:translateY(14px)scale(.98);box-shadow:0 28px 70px #0f172a38}#apt-modal.modal-backdrop.active .modal-content{transform:translateY(0)scale(1)}.unit-parking-modal{background:#fff;flex-direction:column;display:flex}.unit-parking-modal__header{border-bottom:1px solid #eef0f3;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1.1rem 1.15rem .9rem;display:flex}.unit-parking-modal__title{letter-spacing:-.03em;color:var(--accent);margin:0;font-size:1.35rem;font-weight:800;line-height:1.15}.unit-parking-modal__meta{color:var(--text-dim);margin:.3rem 0 0;font-size:.75rem;font-weight:600;line-height:1.4}.unit-parking-modal__close{border-radius:10px;flex-shrink:0;padding:.45rem .6rem!important}.unit-parking-modal__body{background:#f8fafc;flex-direction:column;flex:1;gap:.85rem;padding:.85rem 1.15rem 1rem;display:flex;overflow-y:auto}.unit-parking-modal__section-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin:0 0 .55rem;font-size:.68rem;font-weight:800}.unit-parking-modal__section-head{margin-bottom:.15rem}.unit-parking-capacity{background:#fff;border:1px solid #e8eaed;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:.65rem;display:grid}.unit-parking-capacity__item{flex-direction:column;gap:.35rem;min-width:0;display:flex}.unit-parking-capacity__label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.3rem;font-size:.65rem;font-weight:700;display:inline-flex}.unit-parking-capacity__label i{opacity:.75;font-size:.72rem}.unit-parking-capacity__item input{text-align:center;border:1px solid var(--border);font-variant-numeric:tabular-nums;background:#fff;border-radius:8px;width:100%;padding:.5rem .35rem;font-size:.92rem;font-weight:700}.unit-parking-capacity__item input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent);outline:none}.unit-parking-vehicle-list{flex-direction:column;gap:.55rem;display:flex}.unit-parking-empty{text-align:center;color:var(--text-dim);background:#fff;border:1px dashed #d1d5db;border-radius:12px;margin:0;padding:1rem .85rem;font-size:.82rem}.unit-parking-vehicle{background:#fff!important;border:1px solid #e8eaed!important;border-radius:12px!important;margin-bottom:0!important;padding:.75rem .85rem!important}.unit-parking-vehicle__head{justify-content:space-between;align-items:flex-start;gap:.55rem;display:flex}.unit-parking-vehicle__aside{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.35rem;display:flex}.unit-parking-vehicle__identity{grid-column:1/-1;align-items:flex-start;gap:.55rem;min-width:0;display:flex}.unit-parking-vehicle__icon{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.82rem;display:inline-flex}.unit-parking-vehicle__icon--car{color:#2563eb;background:#eff6ff}.unit-parking-vehicle__icon--bike{color:#059669;background:#ecfdf5}.unit-parking-vehicle__plate-wrap{flex:1;min-width:0}.unit-parking-vehicle__badges{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.unit-parking-vehicle__badges .alloc-status-chip{margin-left:0}.unit-parking-vehicle__delete{flex-shrink:0;padding:.35rem .5rem!important}.unit-parking-vehicle>.vehicle-registry-meta{margin:.35rem 0 .55rem 2.55rem}.unit-parking-vehicle__controls{border-top:1px solid #f1f3f5;gap:.5rem;padding-top:.55rem;display:grid}.unit-parking-vehicle__controls.apt-alloc-controls,.unit-parking-vehicle__controls.apt-alloc-controls.with-target{grid-template-columns:1fr}.unit-parking-vehicle__field{flex-direction:column;gap:.2rem;min-width:0;display:flex}.unit-parking-vehicle__field-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:.62rem;font-weight:700}.unit-parking-add{background:#fff;border:1px solid #e8eaed;border-radius:12px;align-items:stretch;gap:.5rem;padding:.65rem;display:flex}.unit-parking-type{background:#f1f3f5;border-radius:10px;flex-shrink:0;gap:.15rem;padding:.2rem;display:inline-flex}.unit-parking-type__btn{color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:.28rem;padding:.45rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.unit-parking-type__btn--active{color:var(--accent);background:#fff;box-shadow:0 1px 2px #11182714}.unit-parking-add__plate{border:1px solid var(--border);letter-spacing:.03em;text-transform:uppercase;border-radius:10px;flex:1;min-width:0;padding:.55rem .75rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.88rem;font-weight:700}.unit-parking-add__plate:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent);outline:none}.unit-parking-modal__footer{background:#fff;border-top:1px solid #eef0f3;flex-shrink:0;justify-content:flex-end;gap:.55rem;padding:.85rem 1.15rem;display:flex}.unit-parking-modal__footer .btn{min-width:6.5rem}#apt-modal .vehicle-plate-input{border-color:#0000;max-width:none;padding:.15rem 0;font-size:1rem}#apt-modal .vehicle-plate-input:focus{padding:.15rem .35rem}#apt-modal .vehicle-active-toggle{min-width:0;padding:.35rem 0}#apt-modal .apt-alloc-select{width:100%}#cash-modal.modal-backdrop,#pool-modal.modal-backdrop,#receipt-modal.modal-backdrop,#audit-log-modal.modal-backdrop,#resident-modal.modal-backdrop,#auth-modal.modal-backdrop,#workspace-gate-modal.modal-backdrop{justify-content:center;align-items:center;padding:1.2rem}#workspace-gate-modal .modal-content{border-radius:16px;width:min(420px,100%);max-width:420px;height:auto;max-height:calc(100vh - 2.4rem);padding:1.5rem;transform:none;box-shadow:0 24px 60px #0f172a2e}#cash-modal .modal-content,#pool-modal .modal-content,#receipt-modal .modal-content,#audit-log-modal .modal-content{border-radius:14px;width:min(520px,92vw);height:auto;max-height:86vh;overflow:hidden;transform:translateY(10px);box-shadow:0 28px 70px #00000038}#cash-modal .modal-content.expense-modal{flex-direction:column;width:min(540px,94vw);max-height:90vh;display:flex;overflow-y:auto}#audit-log-modal .modal-content{flex-direction:column;width:min(720px,94vw);max-height:90vh;display:flex;padding:1rem!important}#resident-modal .modal-content{border-radius:14px;width:min(520px,92vw);height:auto;max-height:86vh;overflow:auto;transform:translateY(10px);box-shadow:0 28px 70px #00000038;padding:1.1rem!important}#resident-modal.modal-backdrop.active .modal-content{transform:translateY(0)}#auth-modal .modal-content{border-radius:16px;width:min(420px,92vw);height:auto;transform:translateY(10px);box-shadow:0 28px 70px #00000038}#cash-modal.modal-backdrop.active .modal-content,#pool-modal.modal-backdrop.active .modal-content,#receipt-modal.modal-backdrop.active .modal-content,#audit-log-modal.modal-backdrop.active .modal-content,#auth-modal.modal-backdrop.active .modal-content{transform:translateY(0)}#cash-modal .modal-content{padding:1.1rem!important}#receipt-modal .modal-content.receipt-viewer{flex-direction:column;gap:.75rem;width:min(760px,94vw);max-height:92vh;display:flex;padding:1rem 1.1rem 1.1rem!important}.auth-card{padding:1.25rem!important}#cash-modal .modal-content h2,#pool-modal .modal-content h2{margin-bottom:.25rem}#cash-modal .modal-content p{margin-bottom:1rem}#cash-modal input[type=file]{font-size:.8rem}.modal-backdrop.active .modal-content:not(.unit-parking-modal){transform:translate(0)}.drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:start;padding:1rem 1.4rem;display:flex}.drawer-body{background:#f9fafb;flex:1;padding:1rem 1.4rem;overflow-y:auto}.drawer-footer{border-top:1px solid var(--border);gap:1rem;padding:.85rem 1.4rem;display:flex}.modal-list-item{border:1px solid var(--border);border-radius:10px;background:#fff!important;margin-bottom:.65rem!important}.violation-row{border-color:var(--danger)!important;box-shadow:0 0 0 3px #ef44441a!important}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:var(--border)}#apt-modal .drawer-body section{margin-bottom:1rem!important}#apt-modal .drawer-body section:last-child{margin-bottom:0!important}#apt-modal #mdl-vehicle-list .modal-list-item{padding:.75rem!important}#apt-modal #mdl-vehicle-list .modal-list-item>div:first-child{margin-bottom:.35rem}#apt-modal input[type=text],#apt-modal input[type=number],#apt-modal select{min-height:34px}.vehicle-row-card{background:#fff;flex-direction:column;gap:.45rem;display:flex}#apt-modal .vehicle-row-card{padding:.55rem .65rem!important}.apt-alloc-row{grid-template-columns:minmax(170px,auto) 1fr;align-items:center;gap:.65rem;display:grid}.vehicle-parking-alloc{color:var(--accent);margin-top:.1rem;font-size:.68rem;font-weight:800}.v-tag-rent{color:var(--accent);margin-left:.2rem;font-size:.62rem;font-weight:800}.vehicle-registry-meta{color:var(--text-dim);margin-top:.15rem;font-size:.68rem;font-weight:600;line-height:1.35}.apt-alloc-vehicle__text{flex-direction:column;min-width:0;display:flex}.apt-alloc-vehicle{align-items:flex-start;gap:.5rem;min-width:0;display:flex}.apt-alloc-vehicle b,.vehicle-plate-input{letter-spacing:.25px;font-family:JetBrains Mono,monospace;font-size:.96rem}.vehicle-plate-input{width:100%;max-width:11rem;color:inherit;background:0 0;border:1px solid #0000;border-radius:6px;padding:.2rem .35rem;font-weight:800}.vehicle-plate-input:hover{border-color:var(--border);background:#fff}.vehicle-plate-input:focus{border-color:var(--accent);background:#fff;outline:none;box-shadow:0 0 0 2px #3b82f626}.alloc-status-chip{text-transform:uppercase;letter-spacing:.35px;border:1px solid #0000;border-radius:999px;margin-left:.4rem;padding:.14rem .42rem;font-size:.62rem;font-weight:800;line-height:1.2}.alloc-status-chip.allowed{color:#166534;background:#dcfce7;border-color:#86efac}.alloc-status-chip.external{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.alloc-status-chip.reallocated{color:#0c4a6e;background:#e0f2fe;border-color:#7dd3fc}.alloc-status-chip.inactive{color:#6b7280;background:#f3f4f6;border-color:#d1d5db}.alloc-status-chip.overlimit{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.vehicle-row-card.is-overlimit{background:linear-gradient(#fff 0%,#fff5f5 100%);box-shadow:0 0 0 1px #dc26262e;border-color:#fca5a5!important}.apt-alloc-controls{grid-template-columns:auto minmax(170px,1fr) auto;align-items:center;gap:.45rem;display:grid}.apt-alloc-controls.with-target{grid-template-columns:auto minmax(160px,1fr) minmax(160px,1fr) auto}.apt-alloc-select{min-height:30px!important;padding:.28rem .45rem!important;font-size:.76rem!important}.vehicle-active-toggle{min-width:82px;color:var(--text-dim);align-items:center;gap:.35rem;font-size:.68rem;font-weight:700;display:inline-flex}.vehicle-active-toggle input{accent-color:#2563eb}.vehicle-row-top{justify-content:space-between;align-items:center;display:flex}.vehicle-id{align-items:center;gap:.45rem;min-width:0;display:flex}.vehicle-id b{letter-spacing:.3px;color:#111827;font-family:JetBrains Mono,monospace;font-size:1rem}.vehicle-del-btn{color:var(--danger);padding:.2rem .45rem}.vehicle-row-controls{grid-template-columns:minmax(240px,1fr);gap:.5rem;display:grid}.vehicle-row-controls.with-target{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr)}.field-compact{flex-direction:column;gap:.2rem;display:flex}.field-compact label{text-transform:uppercase;color:var(--text-dim);letter-spacing:.4px;font-size:.58rem;font-weight:800}.field-compact select{border:1px solid var(--border);background:#fff;border-radius:7px;min-height:32px;padding:.35rem .45rem;font-size:.78rem}@media (width<=640px){#apt-modal.modal-backdrop{align-items:flex-end;padding:.65rem}#apt-modal .modal-content{border-radius:18px 18px 14px 14px;width:100%;max-height:92vh}.unit-parking-modal__header{padding:1rem 1rem .8rem}.unit-parking-modal__title{font-size:1.2rem}.unit-parking-modal__body{padding:.75rem 1rem .9rem}.unit-parking-modal__footer{padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px))}.unit-parking-modal__footer .btn{flex:1;min-width:0}.unit-parking-vehicle__aside{flex-direction:row;align-items:center}.unit-parking-vehicle>.vehicle-registry-meta{margin-left:0}.unit-parking-add{flex-direction:column}.unit-parking-type{justify-content:stretch;width:100%}.unit-parking-type__btn{flex:1;justify-content:center}}@media (width<=1100px){.vehicle-row-controls.with-target,.apt-alloc-controls,.apt-alloc-controls.with-target{grid-template-columns:1fr}}@media (width<=1024px){:root{--sidebar-w:220px}header{padding:1.15rem 1.1rem 1rem}.dashboard-metrics{padding:.85rem 1.1rem .95rem}.explorer-controls{padding:0 1.1rem 1.1rem}.registry-list{margin:0 1.1rem}}@media (width<=820px){.topbar-nav-btn{display:inline-flex}.nav-expanded .nav-backdrop{z-index:2500;background:#0f172a59;display:block;position:fixed;inset:0}aside{z-index:3000;border-right:1px solid var(--sidebar-border);position:fixed;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:0 12px 40px #0f172a1f;width:260px!important}.nav-expanded aside{transform:translate(0)}.nav-expanded .sidebar-title,.nav-expanded .sidebar-body,.nav-expanded .nav-module-toggle__label,.nav-expanded .nav-module-toggle__chevron,.nav-expanded .nav-page-btn span,.nav-expanded .sidebar-user-meta,.nav-expanded .nav-link-btn span{display:inline-flex}.nav-expanded .nav-page-btn span{display:inline}.nav-expanded .sidebar-body{display:flex}main,#main-content{width:100%}.topbar{padding:.6rem 1rem}.brand-lockup__workspace{max-width:52vw}header{flex-direction:column;align-items:flex-start}header>div:last-child{flex-wrap:wrap;justify-content:flex-start;width:100%}.registry-header,.apt-row{grid-template-columns:90px 1fr 110px 60px!important}.registry-header span:nth-child(3),.registry-header span:nth-child(4),.registry-header span:nth-child(5),.apt-row>:nth-child(3),.apt-row>:nth-child(4),.apt-row>:nth-child(5){display:none!important}#view-apartment .registry-header,#resident-items .apt-row{grid-template-columns:110px 1fr 90px!important}#view-apartment .registry-header span:nth-child(2),#view-apartment .registry-header span:nth-child(4),#view-apartment .registry-header span:nth-child(5),#resident-items .apt-row>:nth-child(2),#resident-items .apt-row>:nth-child(4),#resident-items .apt-row>:nth-child(5){display:none!important}.reports-grid,.setup-grid,.access-grid{grid-template-columns:1fr!important}.subview-tabs{-webkit-overflow-scrolling:touch;gap:.75rem;overflow-x:auto}.subview-tabs button{white-space:nowrap}}@media (width<=520px){body{overflow:auto}.topbar-user-meta{display:none}.topbar-user{gap:.45rem;padding:.28rem .35rem}.header-title h2{font-size:1.55rem}.registry-page-header .header-title h2{font-size:1.2rem}.filter-bar{-webkit-overflow-scrolling:touch;padding-bottom:.25rem;overflow-x:auto}.filter-pill{white-space:nowrap;padding:.45rem .85rem}.registry-list{margin:0 .85rem}.apt-row,.registry-header{padding-left:.75rem;padding-right:.75rem}.page-sections{gap:.75rem;padding:0 .85rem 1rem}.page-section.mobile-disclosure{margin:0!important;padding:0!important}.page-section.mobile-disclosure>summary.page-section__header{font-weight:var(--font-medium);font-size:var(--text-sm);text-transform:none;letter-spacing:0;color:var(--text-main);background:#fafbfc;border-bottom:1px solid #0000;padding:.75rem .85rem}.page-section[open].mobile-disclosure>summary.page-section__header{border-bottom-color:#e8eaed}.page-section.mobile-disclosure>summary.page-section__header:after{content:"";font-family:"Font Awesome 6 Free";font-size:.7rem;font-weight:900}.page-section[open].mobile-disclosure>summary.page-section__header:after{content:"";transform:rotate(180deg)}.mobile-disclosure:not(.page-section){border:1px solid var(--border);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #1118270a;margin:0 .85rem .85rem!important;padding:0!important}.mobile-disclosure--light{box-shadow:none;background:0 0;border:0}.mobile-disclosure:not(.page-section)>summary{cursor:pointer;color:#111827;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border);background:#f9fafb;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .85rem;font-size:.75rem;font-weight:900;list-style:none;display:flex}.mobile-disclosure:not(.page-section)>summary::-webkit-details-marker{display:none}.mobile-disclosure:not(.page-section)>summary:after{content:"▾";color:var(--text-dim);font-size:.9rem}.mobile-disclosure:not(.page-section)[open]>summary:after{content:"▴"}.mobile-summary{padding:.7rem .8rem!important}.mobile-summary__stats{align-items:center;gap:.4rem;display:inline-flex}.ms-pill{border:1px solid var(--border);color:#111827;text-transform:none;letter-spacing:0;white-space:nowrap;background:#fff;border-radius:999px;align-items:baseline;gap:.25rem;padding:.25rem .45rem;font-size:.72rem;font-weight:850;display:inline-flex}.ms-pill b{font-size:.8rem;font-weight:950}.ms-pill.good{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.ms-pill.bad{color:#991b1b;background:#fff5f5;border-color:#fecaca}.pool-slot-grid{grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:.5rem;padding:0;display:grid}#registry-summaries[open] .pool-slot-grid{-webkit-overflow-scrolling:touch;max-height:240px;overflow:auto}.pool-section-hint{color:var(--text-dim);margin:0 .85rem .35rem;font-size:.75rem;font-weight:600}.pool-section-empty{color:var(--text-dim);margin:0 .85rem .85rem;font-size:.78rem;font-style:italic}.flat-rental-slot .slot-unit{color:var(--accent);font-weight:800}#registry-overview .dashboard-metrics{gap:.4rem}#registry-overview .metric-card{padding:.5rem .55rem}#registry-overview .metric-card .label{margin-bottom:.2rem}.metric-card .value{font-size:1.55rem}#view-registry .registry-header,#view-accounts .registry-header,#view-apartment .registry-header{display:none!important}#view-registry .registry-list{box-shadow:none;background:0 0;border:0;margin:0 .85rem;overflow:visible}#registry-items .apt-row{border:1px solid var(--border);background:#fff;border-radius:14px;gap:.55rem;margin-bottom:.65rem;display:grid;box-shadow:0 1px 2px #1118270a;grid-template-columns:1fr!important;padding:.85rem!important}#registry-items .apt-row .apt-number{font-size:1rem;font-weight:950}#registry-items .apt-row>:nth-child(6),#registry-items .apt-row>:nth-child(7){justify-content:space-between;align-items:center;display:inline-flex!important}#registry-items .apt-row>:nth-child(7) button{width:44px;height:36px}#view-accounts .ledger-registry-list{box-shadow:none;background:0 0;border:0;overflow:visible}#view-apartment .registry-list{box-shadow:none;background:0 0;border:0;margin:0;overflow:visible}#resident-items .apt-row{border:1px solid var(--border);background:#fff;border-radius:14px;gap:.45rem;margin:0 .85rem .65rem;display:grid;box-shadow:0 1px 2px #1118270a;grid-template-columns:1fr!important;padding:.85rem!important}#subview-reports .metric-card{min-height:0!important}#view-setup .setup-grid>div{padding:1.05rem!important}#registry-items .unit-card{border:1px solid var(--border);background:#fff;border-radius:14px;margin-bottom:.65rem;overflow:hidden;box-shadow:0 1px 2px #1118270a}#registry-items .unit-card>summary{cursor:pointer;flex-direction:column;align-items:stretch;gap:.4rem;padding:.75rem .85rem;list-style:none;display:flex}#registry-items .unit-card>summary::-webkit-details-marker{display:none}.unit-card__head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.unit-card__unit{color:#111827;min-width:0;font-size:1rem;font-weight:950}.unit-card__meta{color:var(--text-dim);font-size:.72rem;font-weight:700;line-height:1.35}.unit-card__plates{grid-template-columns:repeat(auto-fill,minmax(6.75rem,1fr));gap:.3rem;width:100%;display:grid}.unit-chip--compact{text-overflow:ellipsis;white-space:nowrap;border-radius:8px;justify-content:flex-start;align-items:center;gap:.28rem;width:100%;min-width:0;padding:.22rem .38rem;font-size:.64rem;display:inline-flex;overflow:hidden}.unit-chip--compact .vehicle-type-icon{flex-shrink:0;font-size:.58rem}.unit-card__usage i{color:var(--text-dim);margin-right:.25rem;font-size:.72rem}.unit-card__dot{opacity:.7;margin:0 .35rem}.unit-card__right{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.unit-card__right .status-pill{padding:.2rem .45rem;font-size:.62rem}.unit-card__manage{justify-content:center;align-items:center;width:36px;height:32px;padding:0;display:inline-flex}.unit-card__body{border-top:1px solid var(--border);padding:.75rem .85rem .85rem}.unit-card__section+.unit-card__section{margin-top:.75rem}.unit-card__section--danger{background:#fff5f5;border:1px solid #fecaca;border-radius:12px;padding:.7rem .75rem}.unit-card__hint{color:#334155;margin-bottom:.55rem;font-size:.82rem;font-weight:650;line-height:1.35}.unit-card__label{text-transform:uppercase;letter-spacing:.45px;color:var(--text-dim);margin-bottom:.45rem;font-size:.62rem;font-weight:900}.unit-card__chips{grid-template-columns:repeat(auto-fill,minmax(6.75rem,1fr));gap:.3rem;display:grid}.unit-card__chips .unit-chip{text-overflow:ellipsis;white-space:nowrap;border-radius:8px;justify-content:flex-start;width:100%;min-width:0;padding:.22rem .38rem;font-size:.64rem;overflow:hidden}.unit-chip{border:1px solid var(--border);background:#f8fafc;border-radius:999px;align-items:center;gap:.35rem;padding:.28rem .5rem;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:800;display:inline-flex}.unit-chip.overlimit{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.unit-chip__sub{opacity:.9;margin-left:.4rem;font-family:Inter,sans-serif;font-size:.7rem;font-weight:800}.unit-chip.reallocated{color:#0c4a6e;background:#e0f2fe;border-color:#7dd3fc}.unit-chip.inactive{color:#6b7280;background:#f3f4f6;border-color:#d1d5db}.unit-card__grid{border-top:1px dashed var(--border);grid-template-columns:1fr;gap:.65rem;margin-top:.75rem;padding-top:.75rem;display:grid}.unit-card__value{color:#111827;font-size:.85rem;font-weight:850;line-height:1.35}.unit-card__value i{color:var(--text-dim);margin-right:.25rem;font-size:.8rem}.unit-card__empty{color:var(--text-dim);font-size:.82rem;font-weight:700}}@media (width>=521px){.dashboard-metrics{gap:.55rem;padding:.75rem 1.35rem .9rem}.metric-card{border-radius:10px;padding:.65rem .75rem}.metric-card .label{margin-bottom:.22rem;font-size:.54rem}.metric-card .value{font-size:1.55rem}.pool-slot{border-radius:10px;min-height:72px;padding:.55rem}.slot-occupant{font-size:.86rem}}.import-mode-option{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:flex-start;gap:.65rem;padding:.75rem .85rem;font-size:.82rem;line-height:1.45;display:flex}.import-mode-option input{flex-shrink:0;margin-top:.2rem}.import-preview-box{border:1px solid var(--border);background:#f8fafc;border-radius:8px;padding:.85rem 1rem;font-size:.82rem;line-height:1.6}.nb-form-error{color:#991b1b;font-size:.8rem;font-weight:700}.capacity-section-label{color:var(--text-dim);text-transform:uppercase;margin-bottom:.6rem;font-size:.65rem;font-weight:800;display:block}.capacity-defaults{border:1px solid var(--border);background:#f8fafc;border-radius:8px;margin-bottom:1rem;padding:.85rem 1rem}.capacity-defaults__row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.capacity-defaults__field{align-items:center;gap:.45rem;display:flex}.capacity-defaults__field input{border:1px solid var(--border);text-align:center;border-radius:6px;width:64px;padding:.45rem .5rem;font-weight:700}.capacity-defaults__icon{color:var(--text-dim);text-align:center;width:1.1rem}.capacity-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.65rem;display:flex}.capacity-toolbar input{border:1px solid var(--border);border-radius:6px;flex:1;min-width:140px;padding:.5rem .65rem;font-size:.85rem}.capacity-totals{color:var(--text-dim);white-space:nowrap;font-size:.75rem;font-weight:700}.capacity-grid-head,.capacity-row{grid-template-columns:minmax(72px,1fr) minmax(100px,1.4fr) 72px 72px;align-items:center;gap:.5rem;display:grid}.capacity-grid-head{color:var(--text-dim);text-transform:uppercase;border-bottom:1px solid var(--border);padding:0 .25rem .35rem;font-size:.65rem;font-weight:800}.capacity-unit-list{max-height:min(52vh,420px);padding-right:.15rem;overflow-y:auto}.capacity-row{border-bottom:1px solid #f1f5f9;padding:.45rem .25rem;font-size:.82rem}.capacity-row__unit{font-weight:800}.capacity-row__usage{color:var(--text-dim);align-items:center;gap:.65rem;font-size:.75rem;font-weight:700;display:flex}.capacity-row input{border:1px solid var(--border);text-align:center;border-radius:6px;width:100%;padding:.35rem .4rem;font-weight:700}#capacity-modal .modal-content{flex-direction:column;max-height:min(92vh,820px);display:flex;overflow:hidden}#capacity-modal .capacity-unit-list{flex:1;min-height:120px}.btn--with-badge{position:relative}.btn-badge{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:1.15rem;height:1.15rem;padding:0 .25rem;font-size:.62rem;font-weight:900;line-height:1.15rem;position:absolute;top:-6px;right:-6px}.audit-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.audit-filter{color:var(--text-dim);align-items:center;gap:.4rem;font-size:.8rem;font-weight:700;display:flex}.audit-pending-count{color:var(--text-dim);font-size:.75rem;font-weight:700}.audit-toolbar__actions{flex-wrap:wrap;gap:.45rem;display:flex}.audit-log-list{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:.5rem;min-height:0;display:flex;overflow-y:auto}.audit-log-footer{color:var(--text-dim);text-align:center;flex-shrink:0;margin-top:.55rem;font-size:.72rem;font-weight:700}.audit-row{border:1px solid var(--border);background:#fafafa;border-radius:8px;padding:.65rem .75rem}.audit-row__head{flex-wrap:wrap;align-items:center;gap:.45rem .65rem;margin-bottom:.35rem;display:flex}.audit-row__unit{color:var(--text-dim);font-size:.75rem;font-weight:700}.audit-row__when{color:var(--text-dim);margin-left:auto;font-size:.72rem}.audit-row__delta{font-size:.8rem;font-weight:600;line-height:1.45}.audit-row__meta{color:var(--text-dim);margin-top:.25rem;font-size:.68rem;font-weight:600}.audit-badge{text-transform:uppercase;border-radius:4px;padding:.15rem .4rem;font-size:.62rem;font-weight:900}.audit-badge--insert{color:#166534;background:#dcfce7}.audit-badge--update{color:#1e40af;background:#dbeafe}.audit-badge--delete{color:#991b1b;background:#fee2e2}.audit-empty,.audit-loading,.audit-error{color:var(--text-dim);text-align:center;padding:1rem;font-size:.85rem}.audit-error{color:#991b1b}.expense-modal{padding:0!important}.expense-modal__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1rem 1.15rem .65rem;display:flex}.expense-modal__header h2{letter-spacing:-.02em;margin:0 0 .15rem;font-size:1.1rem;font-weight:900}.expense-modal__header p{color:var(--text-dim);margin:0;font-size:.78rem;line-height:1.35}.expense-modal__close{flex-shrink:0;width:2rem;height:2rem;padding:0;font-size:1.25rem;line-height:1}.expense-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"wallet wallet""bank bank""amount amount""date date""category category""subcat subcat""vendor-invoice vendor-invoice""desc desc""receipt receipt";gap:1rem .75rem;padding:.85rem 1.15rem 1rem;display:grid}.expense-form--income{grid-template-areas:"wallet wallet""bank bank""amount date""category category""maintenance maintenance""income-extra income-extra""desc desc"}.expense-form__section--wallet{grid-area:wallet;padding-bottom:.15rem}.expense-form__section--bank{grid-area:bank}.expense-form__section--amount{grid-area:amount}.expense-form__section--cats{grid-area:category}.expense-form__section--subcat{grid-area:subcat}.expense-form__section--vendor-invoice{grid-area:vendor-invoice}.expense-form__section--vendor,.expense-form__section--invoice{grid-area:auto}.expense-form__section--desc{grid-area:desc}.expense-form__section--date{grid-area:date}.expense-form__section--receipt{grid-area:receipt}.expense-form__section--maintenance{grid-area:maintenance}.expense-form__section--income-extra{grid-area:income-extra}.expense-form__section--vendor-invoice{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:end;gap:.75rem;display:grid}.expense-wallet-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.expense-label--inline{flex-shrink:0;margin-bottom:0}.expense-form__section{min-width:0}.expense-modal__footer{border-top:1px solid var(--border);background:#fafafa;justify-content:flex-end;gap:.55rem;padding:.65rem 1.15rem .85rem;display:flex}.expense-modal__footer .btn{flex:0 auto;justify-content:center;min-width:6.5rem;padding:.55rem 1rem}.expense-label{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem;display:block}.expense-wallet-pills{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.expense-wallet-pills--compact{border:1px solid var(--border);background:#f1f3f4;border-radius:8px;gap:0;width:auto;padding:2px;display:inline-flex}.expense-wallet-pill{border:1px solid var(--border);color:#374151;cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:.3rem;padding:.48rem .55rem;font-size:.78rem;font-weight:800;display:inline-flex}.expense-wallet-pills--compact .expense-wallet-pill{color:var(--text-dim);white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:.3rem .6rem;font-size:.72rem;font-weight:700}.expense-wallet-pill.active{border-color:var(--accent);color:#1e40af;box-shadow:none;background:#eff6ff;border-width:2px;padding:calc(.48rem - 1px) calc(.55rem - 1px)}.expense-wallet-pills--compact .expense-wallet-pill.active{color:var(--accent);background:#fff;border:none;padding:.3rem .6rem;box-shadow:0 1px 2px #0f172a14}.expense-wallet-pills--compact .expense-wallet-pill i{font-size:.68rem}.expense-bank-panel{background:#f8fbff;border:1px solid #bfdbfe;border-radius:10px;padding:.65rem .75rem}.expense-bank-pills{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin-bottom:.55rem;display:grid}.expense-bank-pill{border:1px solid var(--border);color:#374151;cursor:pointer;background:#fff;border-radius:8px;padding:.42rem .45rem;font-size:.72rem;font-weight:800}.expense-bank-pill.active{color:#1e40af;background:#eff6ff;border-width:2px;border-color:#1d4ed8;padding:calc(.42rem - 1px) calc(.45rem - 1px)}.expense-amount{border:1px solid var(--border);letter-spacing:0;-moz-appearance:textfield;border-radius:8px;width:100%;padding:.48rem .65rem;font-size:.9rem;font-weight:700}.expense-amount::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.expense-amount::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.expense-amount:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #3b82f626}.expense-cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.expense-cat-grid--income{grid-template-columns:1fr 1fr}.expense-cat-pill{border:1px solid var(--border);color:#374151;cursor:pointer;text-align:left;background:#f8fafc;border-radius:10px;justify-content:flex-start;align-items:center;gap:.4rem;padding:.55rem .65rem;font-size:.78rem;font-weight:800;display:inline-flex}.expense-cat-pill i{color:var(--text-dim);text-align:center;flex-shrink:0;width:.9rem;font-size:.72rem}.expense-cat-pill.active{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.expense-cat-pill.active i{color:#dc2626}.expense-cat-grid--income .expense-cat-pill.active,#income-cat-grid .expense-cat-pill.active{color:#166534;background:#f0fdf4;border-color:#86efac}.expense-cat-grid--income .expense-cat-pill.active i,#income-cat-grid .expense-cat-pill.active i{color:#16a34a}.expense-combobox,.expense-desc,.expense-date,.expense-textarea{border:1px solid var(--border);box-sizing:border-box;border-radius:8px;width:100%;padding:.48rem .65rem;font-family:inherit;font-size:.85rem;font-weight:600}.expense-textarea{resize:vertical;min-height:3.25rem;line-height:1.4}.expense-optional{text-transform:none;color:#94a3b8;font-weight:600}.income-extra-hint{color:var(--text-dim);margin:0 0 .65rem;font-size:.75rem;line-height:1.35}.income-extra-fields.expense-form__section--vendor-invoice{margin-top:0}.expense-receipt-box{border:1px dashed var(--border);background:#fafafa;border-radius:8px;padding:.55rem .65rem}.expense-receipt-hint{color:var(--text-dim);margin:.35rem 0 0;font-size:.68rem;line-height:1.3}.expense-receipt-list{flex-direction:column;gap:.28rem;margin:.45rem 0 0;padding:0;list-style:none;display:flex}.expense-receipt-item{border:1px solid var(--border);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .55rem;font-size:.76rem;font-weight:700;display:flex}.expense-receipt-item__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.expense-receipt-item__actions{flex-shrink:0;gap:.35rem;display:flex}.receipt-viewer__header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.receipt-viewer__title{margin:0;font-size:.95rem;font-weight:800}.receipt-viewer__caption{color:var(--text-dim);margin:.2rem 0 0;font-size:.72rem;font-weight:600}.receipt-viewer__close{flex-shrink:0}.receipt-viewer__nav{flex-wrap:wrap;gap:.35rem;display:flex}.receipt-viewer__tab{border:1px solid var(--border);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:999px;max-width:100%;padding:.28rem .65rem;font-size:.68rem;font-weight:800;overflow:hidden}.receipt-viewer__tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.receipt-viewer__body{border:1px solid var(--border);background:#f8fafc;border-radius:10px;flex:1;min-height:280px;max-height:min(68vh,720px);overflow:auto}.receipt-viewer__img{width:100%;height:auto;display:block}.receipt-viewer__pdf{background:#fff;border:0;width:100%;height:min(68vh,720px);display:block}.receipt-viewer__footer{justify-content:flex-end;display:flex}.receipt-viewer__open{color:var(--accent);font-size:.78rem;font-weight:800;text-decoration:none}.receipt-viewer__open:hover{text-decoration:underline}.expense-link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-weight:800;text-decoration:underline}.expense-receipt-box input[type=file]{width:100%;font-size:.78rem}@media (width>=640px){#cash-modal .modal-content.expense-modal{width:min(620px,94vw)}.expense-modal__header{padding:1.05rem 1.25rem .7rem}.expense-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"wallet wallet""bank bank""amount date""category subcat""vendor-invoice vendor-invoice""desc desc""receipt receipt";gap:1.05rem .85rem;padding:.9rem 1.25rem 1.05rem}.expense-form--income{grid-template-areas:"wallet wallet""bank bank""amount date""category category""maintenance maintenance""income-extra income-extra""desc desc"}.expense-modal__footer{padding:.7rem 1.25rem .95rem}}@media (width>=768px){#cash-modal .modal-content.expense-modal{width:min(720px,92vw)}.expense-form{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"wallet wallet wallet""bank bank bank""amount date.""category subcat subcat""vendor-invoice vendor-invoice vendor-invoice""desc desc desc""receipt receipt receipt";column-gap:1rem}.expense-form--income{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"wallet wallet wallet""bank bank bank""amount date category""maintenance maintenance maintenance""income-extra income-extra income-extra""desc desc desc"}}@media (width<=639px){#cash-modal.modal-backdrop{align-items:flex-end;padding:0}#cash-modal .modal-content.expense-modal{border-radius:16px 16px 0 0;width:100%;max-height:92vh;transform:translateY(100%)}#cash-modal.modal-backdrop.active .modal-content.expense-modal{transform:translateY(0)}.expense-modal__header{padding:1rem 1rem .75rem}.expense-modal__header h2{font-size:1.1rem}.expense-modal__header p{font-size:.75rem}.expense-form{grid-template-columns:1fr;grid-template-areas:"wallet""bank""amount""date""category""subcat""vendor-invoice""desc""receipt";gap:.9rem 0;padding:.75rem 1rem .85rem}.expense-form--income{grid-template-areas:"wallet""bank""amount""date""category""maintenance""income-extra""desc"}.expense-amount{font-size:.85rem}.expense-wallet-pill{padding:.45rem .5rem;font-size:.74rem}.expense-wallet-pills--compact .expense-wallet-pill{padding:.28rem .5rem;font-size:.7rem}.expense-modal__footer{padding:.65rem 1rem calc(.75rem + env(safe-area-inset-bottom,0))}.expense-modal__footer .btn{flex:1;min-width:0}}.setup-subview-tabs{flex-wrap:wrap;margin:.5rem 0 1rem;padding:0 0 .6rem}.setup-subview-tabs button{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.35rem .15rem;font-size:.78rem;font-weight:800}.setup-subview-tabs button.setup-tab--active{color:#111827;border-bottom-color:var(--accent)}.subview-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.35rem 1rem;margin-bottom:.5rem;padding:0 1.6rem .6rem;display:flex}.subview-tabs button{color:var(--text-dim);font-weight:var(--font-medium);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.35rem .15rem .45rem}.subview-tabs button:hover{color:var(--text-main)}.subview-tabs button.active,.treasury-subview-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.setup-admin-panel{margin-top:.25rem;margin-bottom:2rem}.admin-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.admin-panel-title{margin:0;font-size:1.05rem;font-weight:900}.admin-panel-desc{color:var(--text-dim);margin:.25rem 0 0;font-size:.78rem}.admin-card{border:1px solid var(--border);background:#fff;border-radius:10px;max-width:720px;padding:1.25rem}.admin-card__title{margin:0 0 .35rem;font-size:.95rem;font-weight:900}.admin-card__desc{color:var(--text-dim);margin:0 0 1rem;font-size:.78rem;line-height:1.4}.admin-form-grid{grid-template-columns:1fr 1fr;gap:.75rem 1rem;display:grid}.admin-field--span2{grid-column:span 2}.admin-hint{color:var(--text-dim);margin:.75rem 0;font-size:.72rem;font-weight:600}.admin-table{border:1px solid var(--border);background:#fff;border-radius:10px;overflow:hidden}.admin-table__head{text-transform:uppercase;color:var(--text-dim);letter-spacing:.04em;background:#f8fafc;gap:.5rem;padding:.55rem .85rem;font-size:.62rem;font-weight:900;display:grid}.admin-table__head--vendors{grid-template-columns:1.4fr 1fr 1.2fr .6fr 5rem}.admin-table__head--subcats{grid-template-columns:1fr 1.5fr .6fr 5rem}.admin-table__head--staff{grid-template-columns:1.2fr 1fr .9fr 1.1fr .6fr 5rem}.admin-row{border-top:1px solid var(--border);align-items:center;gap:.5rem;padding:.65rem .85rem;font-size:.82rem;font-weight:600;display:grid}.admin-table__head--vendors+#admin-vendors-list .admin-row,.admin-table__head--vendors~#admin-vendors-list .admin-row,#admin-vendors-list .admin-row{grid-template-columns:1.4fr 1fr 1.2fr .6fr 5rem}#admin-subcats-list .admin-row{grid-template-columns:1fr 1.5fr .6fr 5rem}#admin-staff-list .admin-row{grid-template-columns:1.2fr 1fr .9fr 1.1fr .6fr 5rem}.admin-row--muted{opacity:.55}.admin-row__main strong{font-weight:800}.admin-empty{text-align:center;color:var(--text-dim);padding:1.25rem;font-size:.82rem;font-weight:600}.btn--small{padding:.25rem .45rem;font-size:.72rem}@media (width<=720px){.admin-form-grid{grid-template-columns:1fr}.admin-field--span2{grid-column:span 1}.admin-table__head,.admin-row{display:none}.admin-table{background:0 0;border:none}#admin-vendors-list .admin-row,#admin-subcats-list .admin-row,#admin-staff-list .admin-row{border:1px solid var(--border);background:#fff;border-radius:10px;margin-bottom:.5rem;display:block}}.maintenance-alloc-toolbar{justify-content:space-between;align-items:center;gap:.5rem;margin:.65rem 0 .45rem;display:flex}.maintenance-allocation-rows{flex-direction:column;gap:.45rem;max-height:220px;padding:.35rem 0;display:flex;overflow-y:auto}.maintenance-alloc-row{border:1px solid var(--border);cursor:pointer;background:#fafafa;border-radius:8px;grid-template-columns:auto 1fr 7rem;align-items:center;gap:.55rem;padding:.55rem .65rem;display:grid}.maintenance-alloc-row__meta{flex-direction:column;gap:.1rem;font-size:.78rem;display:flex}.maintenance-alloc-row__meta strong{font-size:.82rem}.maintenance-alloc-row__meta span{color:var(--text-dim);font-weight:600}.maintenance-alloc-amt{text-align:right}.maintenance-alloc-hint,.maintenance-alloc-summary{color:var(--text-dim);margin:.35rem 0 0;font-size:.78rem}.maintenance-alloc-unalloc{color:var(--accent);font-weight:700}.maintenance-dues-toolbar{flex-wrap:wrap;align-items:stretch;gap:1rem;display:flex}.maintenance-inv-form{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));align-items:end;gap:.55rem .75rem;display:grid}.maintenance-dues-header,.maintenance-dues-row{grid-template-columns:70px 1fr 90px 90px 90px 90px 70px 40px;align-items:center;gap:.5rem}.maintenance-dues-empty{text-align:center;color:var(--text-dim);padding:1.5rem;font-size:.85rem}.maintenance-dues-badge{text-transform:uppercase;border-radius:100px;padding:.18rem .45rem;font-size:.58rem;font-weight:900}.maintenance-dues-badge.dues-open{color:#b91c1c;background:#fef2f2}.maintenance-dues-badge.dues-partial{color:#b45309;background:#fffbeb}.maintenance-dues-badge.dues-paid{color:#047857;background:#ecfdf5}.maintenance-dues-flat{font-weight:800}@media (width<=767px){.maintenance-dues-header{display:none}.maintenance-dues-row{border:1px solid var(--border);background:#fff;border-radius:10px;margin-bottom:.5rem;padding:.75rem;display:block}}.invoice-metrics{margin-top:.25rem}.invoice-subview-tabs{border-bottom:1px solid var(--border);gap:1rem;margin-bottom:1rem;padding:0 1.6rem .6rem;display:flex}.invoice-subview-tabs button{color:var(--text-dim);font-weight:var(--font-medium);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding-bottom:.45rem}.invoice-subview-tabs button:first-child,.invoice-subview-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.invoice-subview{padding:0 1.6rem 1.6rem}.invoice-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.invoice-filter-status{color:var(--text-dim);align-items:center;gap:.45rem;font-size:.78rem;font-weight:700;display:flex}.invoice-filter-status select{border:1px solid var(--border);font:inherit;background:#fff;border-radius:8px;padding:.45rem .55rem;font-weight:600}.invoice-flat-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem;display:grid}.invoice-flat-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:.85rem}.invoice-flat-card__head{justify-content:space-between;align-items:center;margin-bottom:.65rem;display:flex}.invoice-flat-card__head strong{font-size:1rem}.invoice-flat-card__stats{grid-template-columns:repeat(3,1fr);gap:.45rem;margin-bottom:.75rem;display:grid}.invoice-flat-card__stats span{color:var(--text-dim);text-transform:uppercase;font-size:.62rem;font-weight:800;display:block}.invoice-flat-card__stats strong{font-size:.88rem}.invoice-flat-card__actions{flex-wrap:wrap;gap:.45rem;display:flex}.invoice-flat-card__actions .btn{flex:1;justify-content:center;min-width:0;padding:.4rem .55rem;font-size:.72rem}.invoice-collections-header,.invoice-collections-row{grid-template-columns:90px 80px 1fr 80px 110px 70px;align-items:center;gap:.5rem}.raise-invoice-form{grid-template-columns:1fr 1fr;gap:.65rem .85rem;padding:0 1.15rem 1rem;display:grid}#raise-invoice-modal.modal-backdrop{justify-content:center;align-items:center;padding:.75rem}#raise-invoice-modal .modal-content{border-radius:16px;width:min(1180px,98vw);height:min(94vh,100vh - 1.5rem);max-height:none;overflow:hidden;transform:translateY(14px)scale(.985);box-shadow:0 32px 80px #0f172a38}#raise-invoice-modal.modal-backdrop.active .modal-content{transform:translateY(0)scale(1)}.bulk-invoice-modal{flex-direction:column;display:flex;overflow:hidden;padding:0!important}#raise-invoice-modal .expense-modal__header{flex-shrink:0;padding:1.1rem 1.35rem .85rem}.bulk-invoice-layout{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.bulk-invoice-config{flex-shrink:0;overflow-y:auto}.bulk-invoice-preview-panel{border-top:1px solid var(--border);background:#fafbfc;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.bulk-invoice-preview-empty{text-align:center;color:var(--text-dim);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.65rem;min-height:0;padding:2rem 1.5rem;display:flex}.bulk-invoice-preview-empty.is-hidden,.bulk-invoice-preview-empty[hidden]{display:none!important}.bulk-invoice-preview-panel .bulk-invoice-section--preview{background:#fff;border-radius:12px;flex-direction:column;flex:1;min-height:0;margin:1rem 1.15rem 1.15rem;display:none;overflow:hidden}.bulk-invoice-preview-panel .bulk-invoice-section--preview.is-visible,.bulk-invoice-preview-panel .bulk-invoice-section--preview:not([hidden]){display:flex}.bulk-invoice-excel-toolbar{background:linear-gradient(#e8f0fe 0%,#f8f9ff 100%);border:1px solid #d2e3fc;border-radius:12px;flex-wrap:wrap;gap:.5rem;margin-bottom:.15rem;padding:.65rem .75rem;display:flex}.bulk-invoice-preview-empty i{opacity:.35;font-size:1.75rem}.bulk-invoice-preview-empty p{font-size:var(--text-sm);max-width:22rem;margin:0;line-height:1.45}.bulk-invoice-form{flex-direction:column;gap:.75rem;padding:0 1.15rem 1rem;display:flex}.bulk-invoice-section{background:#fff;border:1px solid #e8eaed;border-radius:12px;padding:.75rem .85rem}.bulk-invoice-section--preview .bulk-invoice-section__head{flex-shrink:0}.bulk-invoice-section--period{grid-template-columns:1fr 1fr;gap:.5rem .75rem;display:grid}.bulk-invoice-section__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.bulk-invoice-section__title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-main);margin:0}.bulk-unit-scope{font-size:var(--text-sm);gap:.75rem;display:flex}.bulk-unit-scope label{cursor:pointer;align-items:center;gap:.35rem;display:inline-flex}.bulk-unit-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:.35rem;max-height:160px;margin-top:.45rem;display:grid;overflow:auto}.bulk-unit-check{font-size:var(--text-xs);cursor:pointer;background:#fff;border:1px solid #e8eaed;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.35rem .45rem;display:flex}.bulk-unit-check__meta{color:var(--text-dim);font-size:.65rem}.bulk-invoice-heads{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.4rem;display:grid}.bulk-head-check{cursor:pointer;background:#fff;border:1px solid #e8eaed;border-radius:8px;align-items:flex-start;gap:.45rem;padding:.45rem .55rem;display:flex}.bulk-head-check__body{font-size:var(--text-xs);flex-direction:column;gap:.1rem;display:flex}.bulk-head-check__body strong{font-size:var(--text-sm)}.bulk-head-check__body span{color:var(--text-dim)}.bulk-invoice-preview-scroll{background:#fff;border:1px solid #e8eaed;border-radius:8px;flex:1;min-height:0;overflow:auto}.bulk-invoice-preview{border-collapse:collapse;width:100%;font-size:var(--text-xs)}.bulk-invoice-preview th,.bulk-invoice-preview td{white-space:nowrap;border-bottom:1px solid #f1f3f4;padding:.4rem .5rem}.bulk-invoice-preview th{font-weight:var(--font-medium);text-align:left;background:#f8f9fa;position:sticky;top:0}.bulk-preview-head-type{color:var(--text-dim);font-size:.62rem;font-weight:var(--font-regular);display:block}.bulk-preview-warn{color:var(--danger)}.bulk-preview-qty{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;max-width:120px;margin-top:.1rem;font-size:.62rem;display:block;overflow:hidden}.bulk-preview-warn-icon{color:var(--danger);font-weight:var(--font-bold);margin-left:.25rem}.bulk-manual-amt{width:72px;font-size:var(--text-xs)!important;padding:.25rem .35rem!important}.bulk-invoice-preview-summary{font-size:var(--text-xs);color:var(--text-dim)}.bulk-invoice-form__footer{border-top:1px solid var(--border);background:#fafafa;flex-shrink:0;padding:.65rem 1.35rem .85rem}@media (width>=900px){.bulk-invoice-layout{flex-direction:row}.bulk-invoice-config{border-right:1px solid var(--border);background:#fafafa;width:min(380px,34vw)}.bulk-invoice-form{padding:1rem 1.15rem 1.15rem}.bulk-invoice-preview-panel{border-top:none}.bulk-invoice-preview-panel .bulk-invoice-section--preview{margin:1.15rem 1.35rem 1.35rem}}@media (width<=899px){#raise-invoice-modal .modal-content{border-radius:14px;width:min(100%,94vw);height:auto;max-height:94vh;transform:translateY(10px)}#raise-invoice-modal.modal-backdrop.active .modal-content{transform:translateY(0)}.bulk-invoice-preview-panel{max-height:42vh}.bulk-invoice-section--period{grid-template-columns:1fr}.bulk-invoice-form__footer .btn{flex:1}}.charge-heads-modal{width:calc(100vw - 1.5rem);max-width:640px}.charge-heads-body{padding:0 1.15rem 1rem}.charge-heads-toolbar{gap:.45rem;margin-bottom:.65rem;display:flex}.charge-heads-list{flex-direction:column;gap:.45rem;max-height:220px;margin-bottom:.75rem;display:flex;overflow:auto}.charge-head-row{background:#fff;border:1px solid #e8eaed;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .65rem;display:flex}.charge-head-row--inactive{opacity:.55}.charge-head-row__main{flex-direction:column;gap:.1rem;min-width:0;display:flex}.charge-head-row__meta{font-size:var(--text-xs);color:var(--text-dim)}.charge-head-row__notes{color:var(--text-dim);font-size:.65rem}.charge-head-row__actions{flex-shrink:0;gap:.3rem;display:flex}.charge-head-editor{border-top:1px solid #e8eaed;padding-top:.75rem}.charge-head-editor__title{font-size:var(--text-sm);margin:0 0 .55rem}.charge-head-form{grid-template-columns:1fr 1fr;gap:.45rem .65rem;display:grid}.charge-head-form .expense-label[for=charge-head-name],.charge-head-form #charge-head-name,.charge-head-form .charge-head-active-label,.charge-head-form .charge-head-form__actions{grid-column:1/-1}.charge-head-active-label{font-size:var(--text-sm);align-items:center;gap:.4rem;display:inline-flex}.charge-head-form__actions{justify-content:flex-end;gap:.45rem;margin-top:.25rem;display:flex}.invoice-lines-table{border-collapse:collapse;border:1px solid #e8eaed;border-radius:10px;width:100%;margin-bottom:.85rem;font-size:.82rem;overflow:hidden}.invoice-lines-table th,.invoice-lines-table td{text-align:left;border-bottom:1px solid #f1f3f4;padding:.55rem .75rem}.invoice-lines-table thead th{font-size:.65rem;font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);background:#f8f9fa}.invoice-lines-table th:last-child,.invoice-lines-table td:last-child{text-align:right}.raise-invoice-form .expense-label[for=raise-invoice-notes],.raise-invoice-form #raise-invoice-notes,.raise-invoice-form .expense-modal__footer{grid-column:1/-1}.invoice-detail-body{padding:.85rem 1.35rem 1rem}#invoice-detail-modal.modal-backdrop{justify-content:center;align-items:center;padding:.75rem}#invoice-detail-modal .modal-content{border-radius:16px;width:min(640px,94vw);height:auto;max-height:90vh;overflow:hidden;transform:translateY(14px)scale(.985);box-shadow:0 32px 80px #0f172a38}#invoice-detail-modal.modal-backdrop.active .modal-content{transform:translateY(0)scale(1)}#invoice-detail-modal .modal-content.invoice-detail-modal{flex-direction:column;display:flex;padding:0!important}#invoice-detail-modal .expense-modal__header{flex-shrink:0;padding:1.1rem 1.35rem .85rem}#invoice-detail-modal .expense-modal__header h2{font-size:1.2rem}#invoice-detail-modal .invoice-detail-body{flex:1;min-height:0;overflow-y:auto}#invoice-detail-modal .invoice-detail-footer{flex-wrap:wrap;flex-shrink:0;gap:.4rem}#invoice-detail-modal .invoice-detail-footer .btn{white-space:nowrap}.send-invoices-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.send-invoices-toolbar__actions{gap:.35rem;display:flex}.send-invoices-list{flex-direction:column;gap:.4rem;max-height:360px;margin-bottom:.5rem;display:flex;overflow-y:auto}.send-invoice-row .bulk-head-check__body span:last-child{font-size:.72rem}.send-invoices-hint{margin:0 0 .5rem;font-size:.72rem}#send-invoices-modal.modal-backdrop{justify-content:center;align-items:center;padding:.75rem}#send-invoices-modal .modal-content{border-radius:16px;width:min(720px,94vw);height:auto;max-height:90vh;overflow:hidden;transform:translateY(14px)scale(.985);box-shadow:0 32px 80px #0f172a38}#send-invoices-modal.modal-backdrop.active .modal-content{transform:translateY(0)scale(1)}.invoice-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-bottom:1rem;display:grid}.invoice-detail-grid>div{background:#fafbfc;border:1px solid #e8eaed;border-radius:10px;padding:.65rem .75rem}.invoice-detail-grid span{color:var(--text-dim);text-transform:uppercase;margin-bottom:.15rem;font-size:.62rem;font-weight:800;display:block}.invoice-detail-section-title{color:var(--text-dim);text-transform:uppercase;margin:.5rem 0 .45rem;font-size:.68rem;font-weight:800}.invoice-detail-payments{margin:0;padding:0;list-style:none}.invoice-detail-payments li{background:#fafbfc;border:1px solid #e8eaed;border-radius:8px;grid-template-columns:90px 1fr 60px;gap:.5rem;margin-bottom:.35rem;padding:.55rem .75rem;font-size:.82rem;display:grid}.invoice-detail-notes{color:var(--text-dim);margin:0 0 .5rem;font-size:.82rem}#penalty-rules-modal.modal-backdrop,#apply-penalties-modal.modal-backdrop{justify-content:center;align-items:center;padding:.75rem}#penalty-rules-modal .modal-content,#apply-penalties-modal .modal-content{border-radius:16px;width:min(640px,94vw);height:auto;max-height:90vh;overflow:hidden;transform:translateY(14px)scale(.985);box-shadow:0 32px 80px #0f172a38}#apply-penalties-modal .modal-content{width:min(900px,94vw)}#penalty-rules-modal.modal-backdrop.active .modal-content,#apply-penalties-modal.modal-backdrop.active .modal-content{transform:translateY(0)scale(1)}#penalty-rules-modal .charge-heads-body,#apply-penalties-modal .charge-heads-body{max-height:calc(90vh - 4.5rem);overflow-y:auto}.bulk-preview-penalty-col{background:#fff8f0;min-width:5.5rem}.bulk-preview-penalty-col .bulk-preview-head-type.penalty-col{color:#b45309}.bulk-preview-penalty-col input.bulk-penalty-amt{width:100%;min-width:4.5rem;padding:.3rem .4rem;font-size:.78rem}.bulk-penalty-check .bulk-head-check__body span:last-child,.invoice-line--penalty td:first-child{color:#b45309}.invoice-combined-badge{text-transform:uppercase;letter-spacing:.04em;color:#5b21b6;vertical-align:middle;background:#ede9fe;border-radius:4px;margin-right:.25rem;padding:.12rem .35rem;font-size:.58rem;font-weight:800;display:inline-block}.bulk-invoice-section--combine{background:#faf8ff;border:1px solid #e9e5f5;border-radius:10px;padding:.55rem .65rem}.bulk-combine-groups-label{margin-bottom:.35rem!important}.bulk-preview-group-row{background:#faf8ff}.bulk-preview-group-row td:first-child{min-width:8rem}.bulk-preview-group-flats{color:var(--text-dim);margin-top:.15rem;font-size:.68rem;font-weight:500;display:block}.bulk-preview-group-sum{color:#5b21b6;font-weight:600}.invoice-detail-group-meta{color:var(--text-dim);margin:0 0 .75rem;font-size:.82rem}.billing-group-suggest-panel{background:#f8fafc;border:1px dashed #d1d5db;border-radius:8px;margin-bottom:.65rem;padding:.55rem .65rem}.billing-group-selected-list{background:#faf8ff;border:1px solid #e9e5f5;border-radius:10px;min-height:2.75rem;margin-bottom:.5rem;padding:.55rem .65rem}.billing-group-selected-empty{margin:0;font-size:.78rem}.billing-group-selected-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.45rem;display:flex}.billing-group-selected-count{color:#5b21b6;text-transform:uppercase;letter-spacing:.03em;font-size:.68rem;font-weight:800}.billing-group-selected-chips{flex-wrap:wrap;gap:.35rem;max-height:120px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.billing-group-selected-chip{color:#4c1d95;background:#fff;border:1px solid #c4b5fd;border-radius:999px;align-items:center;gap:.2rem;padding:.28rem .35rem .28rem .55rem;font-size:.78rem;font-weight:700;display:inline-flex}.billing-group-remove-unit{color:#6d28d9;cursor:pointer;background:#ede9fe;border:none;border-radius:50%;justify-content:center;align-items:center;width:1.15rem;height:1.15rem;padding:0;font-size:.95rem;line-height:1;display:inline-flex}.billing-group-remove-unit:hover{background:#ddd6fe}.billing-group-unit-grid{max-height:160px;margin-bottom:.5rem}.bulk-unit-check--selected{background:#f5f3ff!important;border-color:#a78bfa!important}#billing-groups-modal.modal-backdrop{justify-content:center;align-items:center;padding:.75rem}#billing-groups-modal .modal-content{border-radius:16px;width:min(640px,94vw);height:auto;max-height:90vh;overflow:hidden;transform:translateY(14px)scale(.985);box-shadow:0 32px 80px #0f172a38}#billing-groups-modal.modal-backdrop.active .modal-content{transform:translateY(0)scale(1)}.invoice-flat-combined-note{color:var(--text-dim);margin:0 0 .5rem;font-size:.72rem;line-height:1.35}#billing-groups-modal .charge-heads-body{max-height:calc(90vh - 4.5rem);overflow-y:auto}@media (width<=899px){#invoice-detail-modal .modal-content{border-radius:14px;width:min(100%,94vw);max-height:94vh;transform:translateY(10px)}#invoice-detail-modal.modal-backdrop.active .modal-content{transform:translateY(0)}.invoice-detail-grid{grid-template-columns:1fr 1fr}#invoice-detail-modal .invoice-detail-footer .btn{flex:1}}.unit-directory-list{margin:0 1.6rem 1.5rem}.unit-directory-header,.unit-directory-row{grid-template-columns:72px 56px 56px 64px 76px 100px 1fr 1fr 44px;align-items:center;gap:.45rem}.unit-directory-more{color:var(--text-dim);font-size:.68rem;font-weight:var(--font-medium)}.occupancy-badge{font-size:.65rem;font-weight:var(--font-medium);white-space:nowrap;border-radius:999px;padding:.15rem .45rem;display:inline-block}.occupancy-badge.occ-owner{color:#174ea6;background:#e8f0fe}.occupancy-badge.occ-tenant{color:#b06000;background:#fef7e0}.occupancy-badge.occ-vacant{color:#5f6368;background:#f1f3f4}.occupancy-badge.occ-reno{color:#c5221f;background:#fce8e6}.occupancy-badge.occ-locked{color:#933;background:#fce8e6}.occupancy-badge.occ-dev{color:#137333;background:#e6f4ea}#unit-detail-modal.modal-backdrop{justify-content:center;align-items:center;padding:.75rem}#unit-detail-modal .modal-content{border-radius:16px;width:min(1180px,98vw);height:min(94vh,100vh - 1.5rem);max-height:none;transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .35s;overflow:hidden;transform:translateY(14px)scale(.985);box-shadow:0 32px 80px #0f172a38}#unit-detail-modal.modal-backdrop.active .modal-content{transform:translateY(0)scale(1)}#unit-detail-modal .modal-content.unit-detail-modal{flex-direction:column;display:flex;padding:0!important}#unit-detail-modal .expense-modal__header{flex-shrink:0;padding:1.1rem 1.35rem .85rem}#unit-detail-modal .expense-modal__header h2{font-size:1.35rem}#unit-detail-modal .unit-detail-footer{flex-shrink:0}.unit-detail-vehicle-list>.unit-detail-empty{grid-column:1/-1}.unit-detail-layout{flex:1;min-height:0;display:flex;overflow:hidden}.unit-detail-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.unit-detail-kpis{border-bottom:1px solid var(--border);background:linear-gradient(#f8fafc 0%,#fff 100%);flex-shrink:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;padding:.85rem 1.35rem;display:grid}.unit-detail-kpi-card{background:#fff;border:1px solid #e8eaed;border-radius:10px;align-items:flex-start;gap:.5rem;min-width:0;padding:.55rem .65rem;display:flex}.unit-detail-kpi-card>i{color:#5f6368;background:#f1f3f4;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:1.65rem;height:1.65rem;font-size:.72rem;display:flex}.unit-detail-kpi-card>div{flex-direction:column;gap:.1rem;min-width:0;display:flex}.unit-detail-kpi-card span{font-size:.62rem;font-weight:var(--font-medium);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.unit-detail-kpi-card strong{white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:800;line-height:1.2;overflow:hidden}.unit-detail-kpi-card--warn{background:#fef7f6;border-color:#f9ab9d}.unit-detail-kpi-card--warn>i{color:#c5221f;background:#fce8e6}.unit-detail-kpi-card--warn strong{color:var(--danger)}.unit-detail-tabs{border-bottom:1px solid var(--border);background:#fafafa;flex-shrink:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;padding:.65rem 1rem;display:grid}.unit-detail-tab{min-height:3.1rem;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.45rem .35rem;font-size:.68rem;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:flex}.unit-detail-tab i{font-size:.85rem}.unit-detail-tab span{line-height:1.1}.unit-detail-tab:hover{color:var(--text);background:#fff;border-color:#e8eaed}.unit-detail-tab--active{color:var(--primary);background:#fff;border-color:#d2e3fc;box-shadow:0 1px 3px #1a73e81f}.unit-detail-body{background:#fff;flex:1;min-height:0;overflow-y:auto}.unit-detail-panel{padding:1.15rem 1.35rem 1.35rem}.unit-detail-form{flex-direction:column;gap:1rem;display:flex}.unit-detail-form__section--wide{grid-column:1/-1}.unit-detail-form__section{background:#fafbfc;border:1px solid #e8eaed;border-radius:12px;padding:.85rem .9rem}.unit-detail-form__section-title{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .65rem}.unit-detail-form__grid{grid-template-columns:1fr 1fr;gap:.75rem .85rem;display:grid}.unit-detail-form__field{min-width:0}.unit-detail-form__field--wide{grid-column:1/-1}.unit-detail-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem}.unit-detail-footer__actions{gap:.5rem;margin-left:auto;display:flex}.unit-detail-panel__toolbar{border-bottom:1px solid #e8eaed;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;padding-bottom:.85rem;display:flex}.unit-detail-section-title{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .55rem}.unit-detail-empty{font-size:var(--text-sm);color:var(--text-dim);text-align:center;background:#fafbfc;border:1px dashed #dadce0;border-radius:12px;margin:0;padding:1.25rem 1rem}.unit-detail-residents-section{margin-bottom:1.15rem}.unit-detail-residents-section:last-child{margin-bottom:0}.unit-detail-residents-section__head{justify-content:space-between;align-items:center;margin-bottom:.55rem;display:flex}.unit-detail-residents-section__head h3{font-size:var(--text-sm);margin:0;font-weight:800}.unit-detail-person{background:#fff;border:1px solid #e8eaed;border-radius:12px;grid-template-columns:1fr auto;gap:.35rem .65rem;margin-bottom:.45rem;padding:.75rem .85rem;transition:border-color .15s,box-shadow .15s;display:grid}.unit-detail-person:hover{border-color:#d2e3fc;box-shadow:0 2px 8px #1a73e80f}.unit-detail-person__main{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.unit-detail-person__role{text-transform:uppercase;color:#174ea6;background:#e8f0fe;border-radius:999px;padding:.15rem .4rem;font-size:.62rem;font-weight:900}.unit-detail-person__role--tenant{color:#b06000;background:#fef7e0}.unit-detail-person__meta{font-size:var(--text-xs);color:var(--text-dim);flex-wrap:wrap;grid-column:1/-1;gap:.45rem .85rem;display:flex}.unit-detail-person__meta i{opacity:.65;margin-right:.15rem}.unit-detail-person__actions{align-self:start;gap:.3rem;display:flex}.unit-detail-vehicle{background:#fff;border:1px solid #e8eaed;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:.3rem .65rem;margin-bottom:.45rem;padding:.75rem .85rem;display:grid}.unit-detail-vehicle--dormant{opacity:.72;background:#fafbfc}.unit-detail-vehicle__plate{font-size:var(--text-sm);align-items:center;gap:.45rem;display:flex}.unit-detail-vehicle__plate i{color:var(--text-dim)}.unit-detail-vehicle__meta{font-size:var(--text-xs);color:var(--text-dim);flex-wrap:wrap;grid-column:1;gap:.35rem .65rem;display:flex}.unit-detail-vehicle__status{font-weight:700}.unit-detail-vehicle__over{color:var(--danger);font-weight:800}.unit-detail-billing-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;max-width:28rem;margin-bottom:1rem;display:grid}.unit-detail-billing-summary>div{background:linear-gradient(135deg,#e8f0fe 0%,#f8f9ff 100%);border:1px solid #d2e3fc;border-radius:12px;padding:.75rem .85rem}.unit-detail-billing-summary span{font-size:var(--text-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem;display:block}.unit-detail-billing-summary strong{font-size:1.05rem;font-weight:900}.unit-detail-invoice-list,.unit-detail-payment-list{flex-direction:column;gap:.5rem;display:flex}.unit-detail-billing-grid{flex-direction:column;gap:1.25rem;display:flex}.unit-detail-billing-col{min-width:0}.unit-detail-invoice-row,.unit-detail-payment-row{font-size:var(--text-sm);background:#fff;border:1px solid #e8eaed;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:.3rem .65rem;padding:.75rem .85rem;display:grid}.unit-detail-invoice-row__main,.unit-detail-invoice-row__meta{flex-wrap:wrap;align-items:center;gap:.4rem .65rem;display:flex}.unit-detail-invoice-row__meta{font-size:var(--text-xs);color:var(--text-dim);grid-column:1}.unit-detail-payment-row__meta{font-size:var(--text-xs);color:var(--text-dim);grid-column:1;gap:.65rem;display:flex}.unit-detail-payment-row__period{color:var(--text-dim);font-weight:600}.unit-detail-kpi--warn{color:var(--danger)}.unit-detail-residents-grid{flex-direction:column;gap:1.15rem;display:flex}.unit-directory-row--clickable{cursor:pointer}.unit-directory-row--clickable:hover{background:#f8f9fa}@media (width>=900px){.unit-detail-layout{flex-direction:row}.unit-detail-tabs{border-right:1px solid var(--border);grid-template-columns:unset;border-bottom:none;flex-direction:column;align-items:stretch;gap:.35rem;width:12.5rem;padding:1rem .75rem;display:flex}.unit-detail-tab{flex-direction:row;justify-content:flex-start;align-items:center;gap:.55rem;min-height:auto;padding:.7rem .9rem;font-size:.8rem}.unit-detail-tab i{text-align:center;width:1.1rem}.unit-detail-form{grid-template-columns:1fr 1fr;align-content:start;gap:1rem;display:grid}.unit-detail-residents-grid{grid-template-columns:1fr 1fr;align-items:start;gap:1.25rem;display:grid}.unit-detail-billing-grid{grid-template-columns:1fr 1fr;align-items:start;gap:1.5rem;display:grid}.unit-detail-vehicle-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.5rem;display:grid}}@media (width<=899px){#unit-detail-modal .modal-content{border-radius:14px;width:min(100%,94vw);height:auto;max-height:94vh;transform:translateY(10px)}#unit-detail-modal.modal-backdrop.active .modal-content{transform:translateY(0)}#unit-detail-modal.modal-backdrop{padding:.65rem}.unit-detail-kpis,.unit-detail-billing-summary{display:none!important}.unit-detail-tabs{grid-template-columns:repeat(4,minmax(0,1fr));padding:.5rem .65rem}.unit-detail-tab span{font-size:.62rem}.unit-detail-tab{min-height:2.75rem;padding:.35rem .2rem}.unit-detail-panel{padding:.85rem 1rem 1rem}.unit-detail-form__grid{grid-template-columns:1fr}.unit-detail-footer{flex-direction:column;align-items:stretch}.unit-detail-footer__actions{width:100%;margin-left:0}.unit-detail-footer__actions .btn{flex:1}}.unit-directory-resident{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;overflow:hidden}@media (width<=900px){.unit-directory-header span:nth-child(3),.unit-directory-header span:nth-child(4),.unit-directory-header span:nth-child(6),.unit-directory-row>div:nth-child(3),.unit-directory-row>div:nth-child(4),.unit-directory-row>div:nth-child(6){display:none}.unit-directory-header,.unit-directory-row{grid-template-columns:68px 1fr 1fr 40px}}@media (width<=767px){.invoice-collections-header{display:none}.invoice-collections-row{border:1px solid var(--border);background:#fff;border-radius:10px;margin-bottom:.5rem;padding:.75rem;display:block}.raise-invoice-form{grid-template-columns:1fr}}.billing-block-toolbar,.billing-block-kpi-wrap{padding:0 1.6rem .75rem}.block-filter-label{color:var(--text-dim);align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;display:inline-flex}.block-filter-select{min-width:8rem}.block-kpi-strip{border:1px solid var(--border);background:#f8fafc;border-radius:8px;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;padding:.75rem 1rem;display:flex}.block-kpi-strip__title{text-transform:uppercase;letter-spacing:.04em;font-size:.85rem;font-weight:900}.block-kpi-strip__stats{flex-wrap:wrap;gap:1rem 1.5rem;display:flex}.block-kpi-strip__stats div{color:var(--text-dim);flex-direction:column;gap:.15rem;font-size:.72rem;display:flex}.block-kpi-strip__stats strong{color:var(--text);font-size:.95rem}.billing-runs-header{grid-template-columns:1.2fr .9fr 1.1fr .6fr .9fr .5fr .6fr}.billing-run-row{grid-template-columns:1.2fr .9fr 1.1fr .6fr .9fr .5fr .6fr;align-items:center}.batch-skip-list{margin:0;padding-left:1.25rem;font-size:.82rem;line-height:1.6}.aging-metrics{margin:0 1.6rem 1rem}.aging-toolbar{padding:0 1.6rem .75rem}.aging-reminder-list{flex-direction:column;gap:.5rem;padding:0 1.6rem 1.6rem;display:flex}.aging-reminder-row{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.75rem .85rem;display:grid}.aging-reminder-row .bulk-head-check__body{color:var(--text-dim);flex-direction:column;gap:.2rem;font-size:.78rem;display:flex}.aging-row-actions{flex-shrink:0;gap:.35rem;display:flex}.activity-log-header{grid-template-columns:140px 120px 1fr}.activity-log-row{grid-template-columns:140px 120px 1fr;align-items:start;padding:.75rem .95rem}.activity-log-row__when{color:var(--text-dim);font-size:.75rem}.activity-log-row__summary{flex-direction:column;gap:.15rem;font-size:.78rem;display:flex}.activity-log-row__summary span{color:var(--text-dim)}.activity-entity-badge{text-transform:uppercase;background:#f1f5f9;border-radius:4px;padding:.2rem .45rem;font-size:.65rem;font-weight:800}.activity-log-toolbar,.bank-recon-toolbar{flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:1rem;display:flex}.bank-recon-metrics{margin-bottom:1rem}.bank-recon-split{grid-template-columns:1.2fr 1fr;gap:1rem;display:grid}.bank-recon-panel{border:1px solid var(--border);background:#fff;border-radius:8px;min-height:320px;padding:.85rem}.bank-recon-panel__title{text-transform:uppercase;color:var(--text-dim);margin-bottom:.75rem;font-size:.72rem;font-weight:800}.bank-recon-line{border:1px solid var(--border);border-radius:8px;margin-bottom:.5rem;padding:.75rem}.bank-recon-line__head{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;font-size:.82rem;display:flex}.bank-recon-suggestions{flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem;display:flex}.bank-recon-line__actions{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.bank-recon-txn{border-bottom:1px solid var(--border);grid-template-columns:90px 100px 1fr;gap:.5rem;padding:.45rem 0;font-size:.78rem;display:grid}.ledger-recon-badge{text-transform:uppercase;color:#166534;vertical-align:middle;background:#dcfce7;border-radius:4px;padding:.1rem .35rem;font-size:.55rem;font-weight:800;display:inline-block}.ledger-recon-badge--open{color:#92400e;background:#fef3c7}.invoice-detail-history-wrap{margin-top:1rem}.invoice-detail-history-summary{cursor:pointer;list-style:none}.invoice-history-list{margin:.5rem 0 0;padding-left:1.1rem;font-size:.78rem;line-height:1.6}@media (width<=900px){.bank-recon-split{grid-template-columns:1fr}}.portal-subview-tabs,.ops-subview-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem;padding:0 1.6rem .75rem;display:flex}.portal-subview-tabs button,.ops-subview-tabs button{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-bottom:1px solid var(--border);background:#fff;border-radius:8px;margin-bottom:0;padding:.45rem .85rem;font-size:.78rem;font-weight:700}.portal-subview-tabs button.active,.ops-subview-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.portal-home-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.85rem;margin-bottom:1.5rem;display:grid}.portal-home-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:1rem}.portal-home-card--highlight{border-color:var(--accent);background:linear-gradient(135deg,#f0f7ff 0%,#fff 100%)}.portal-home-stat{margin:.35rem 0 .65rem;font-size:1.35rem;font-weight:800}.portal-section-title{text-transform:uppercase;color:var(--text-dim);margin:0 0 .75rem;font-size:.85rem;font-weight:800}.portal-invoice-row,.portal-payment-row,.portal-vehicle-row,.portal-ticket-row,.ops-ticket-row,.ops-notice-row,.ops-transition-row,.ops-asset-row,.ops-visitor-row{border-bottom:1px solid var(--border);grid-template-columns:2fr 1fr 1fr auto;align-items:center;gap:.5rem;padding:.75rem .95rem;font-size:.82rem;display:grid}.ops-transition-row__unit{color:var(--text-dim);font-size:.72rem;font-weight:600;display:block}.ops-transition-row__actions{flex-wrap:wrap;gap:.35rem;display:flex}.transition-unit-summary-wrap{margin-top:.75rem}.occ-toolbar{flex-wrap:wrap;align-items:flex-end;gap:1rem 1.25rem;margin-bottom:1.25rem;display:flex}.occ-block-filter{margin:0}.flat-picker{flex-direction:column;flex:1;gap:.35rem;min-width:200px;max-width:320px;display:flex}.flat-picker__wrap{position:relative}.flat-picker__input{width:100%}.flat-picker__list{z-index:40;border:1px solid var(--border);background:#fff;border-radius:10px;max-height:240px;margin:0;padding:.35rem 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0f172a1f}.flat-picker__item{cursor:pointer;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .85rem;font-size:.82rem;display:flex}.flat-picker__item:hover,.flat-picker__item--active{background:#f0f7ff}.flat-picker__number{font-weight:700}.flat-picker__block{color:var(--text-dim);font-size:.7rem;font-weight:600}.flat-picker__empty{color:var(--text-dim);padding:.65rem .85rem;font-size:.8rem}.occ-toolbar__label{text-transform:uppercase;color:var(--text-dim);white-space:nowrap;font-size:.75rem;font-weight:800}.occ-panel{margin-bottom:1.5rem}.occ-snapshot{border:1px solid var(--border);background:#fff;border-radius:12px;margin-bottom:1.25rem;overflow:hidden}.occ-snapshot__head{border-bottom:1px solid var(--border);background:#f8fafc;padding:.75rem 1rem}.occ-snapshot__status{text-transform:uppercase;letter-spacing:.04em;border-radius:6px;padding:.25rem .6rem;font-size:.72rem;font-weight:800}.occ-snapshot__status--owner_occupied{color:#1d4ed8;background:#dbeafe}.occ-snapshot__status--tenant_occupied{color:#b45309;background:#fef3c7}.occ-snapshot__status--vacant{color:#64748b;background:#f1f5f9}.occ-snapshot__grid{grid-template-columns:repeat(3,1fr);gap:0;display:grid}@media (width<=768px){.occ-snapshot__grid{grid-template-columns:1fr}}.occ-block{border-right:1px solid var(--border);padding:1rem}.occ-block:last-child{border-right:none}.occ-block h4{text-transform:uppercase;color:var(--text-dim);margin:0 0 .6rem;font-size:.7rem;font-weight:800}.occ-count{color:var(--text);font-weight:700}.occ-people,.occ-vehicles{margin:0;padding:0;font-size:.82rem;list-style:none}.occ-person{border-bottom:1px solid #f1f5f9;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;padding:.35rem 0;display:flex}.occ-person:last-child{border-bottom:none}.occ-person__name{font-weight:700}.occ-person__tag{text-transform:uppercase;border-radius:4px;padding:.15rem .4rem;font-size:.62rem;font-weight:800}.occ-person__tag--active{color:#166534;background:#dcfce7}.occ-person__tag--inactive{color:#64748b;background:#f1f5f9}.occ-person__contact{color:var(--text-dim);width:100%;font-size:.72rem}.occ-vehicle-type{color:var(--text-dim);font-size:.7rem}.occ-empty{color:var(--text-dim);margin:0;font-size:.8rem}.occ-rule-hint{color:#92400e;background:#fffbeb;border-top:1px solid #fde68a;margin:0;padding:.65rem 1rem;font-size:.78rem}.occ-actions h4{margin:0 0 .75rem;font-size:.8rem;font-weight:800}.occ-actions__grid{grid-template-columns:repeat(2,1fr);gap:.65rem;display:grid}@media (width<=600px){.occ-actions__grid{grid-template-columns:1fr}}.occ-action-card{border:1px solid var(--border);text-align:left;cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.85rem 1rem;transition:border-color .15s,box-shadow .15s;display:flex}.occ-action-card:hover:not(:disabled){border-color:var(--accent);box-shadow:0 2px 8px #2563eb14}.occ-action-card--active{border-color:var(--accent);background:#f8fbff}.occ-action-card--disabled{opacity:.55;cursor:not-allowed;background:#f8fafc}.occ-action-card__icon{color:var(--accent);font-size:.9rem}.occ-action-card__label{font-size:.85rem;font-weight:800}.occ-action-card__summary{color:var(--text-dim);font-size:.75rem}.occ-action-card__block{color:#b45309;margin-top:.25rem;font-size:.72rem;line-height:1.35}.occ-action-form{border:1px solid var(--border);background:#fff;border-radius:14px;margin-top:1rem;padding:0;overflow:hidden;box-shadow:0 1px 3px #0f172a0f}.occ-form-header{border-bottom:1px solid var(--border);background:linear-gradient(#f8fbff 0%,#fff 100%);padding:1.25rem 1.35rem 1rem}.occ-form-header h4{margin:0 0 .35rem;font-size:1rem;font-weight:800}.occ-form-header p{color:var(--text-dim);margin:0;font-size:.82rem;line-height:1.45}.occ-form-step{border-bottom:1px solid var(--border);padding:1.15rem 1.35rem}.occ-form-step__head{align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.occ-form-step__num{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.65rem;height:1.65rem;font-size:.75rem;font-weight:800;display:flex}.occ-form-step__head h5{margin:0 0 .2rem;font-size:.88rem;font-weight:800}.occ-form-step__head p{color:var(--text-dim);margin:0;font-size:.78rem;line-height:1.4}.occ-pick-grid{grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:.85rem;display:grid}@media (width<=640px){.occ-pick-grid{grid-template-columns:1fr}}.occ-pick-card{flex-direction:column;min-height:0;display:flex}.occ-pick-card--empty{border:1px dashed var(--border);background:#f8fafc;border-radius:10px;padding:.85rem}.occ-pick-card__head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.45rem;display:flex}.occ-pick-card__title{text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);font-size:.72rem;font-weight:800}.occ-pick-card__title i{opacity:.7;margin-right:.35rem}.occ-pick-card__actions{gap:.35rem;display:flex}.occ-impact-card{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:.75rem .9rem}.occ-impact-card__label{text-transform:uppercase;letter-spacing:.04em;color:#1d4ed8;margin-bottom:.45rem;font-size:.68rem;font-weight:800;display:block}.occ-impact-card__label i{margin-right:.3rem}.occ-impact-card__placeholder{color:#3b82f6;margin:0;font-size:.78rem}.occ-impact-list{flex-wrap:wrap;gap:.45rem 1rem;margin:0;padding:0;list-style:none;display:flex}.occ-impact-list li{color:#1e3a8a;font-size:.78rem}.occ-impact-list li i{opacity:.75;margin-right:.35rem}.occ-finances-panel{flex-direction:column;gap:.75rem;display:flex}.occ-finances-block{border:1px solid var(--border);background:#fafafa;border-radius:10px;padding:.85rem 1rem}.occ-finances-block__title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin-bottom:.35rem;font-size:.68rem;font-weight:800;display:block}.occ-dues-inner__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.65rem;margin-bottom:.65rem;display:flex}.occ-dues-total{color:#c2410c;font-size:1.05rem;font-weight:800;display:block}.occ-form-fields__row{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}@media (width<=720px){.occ-form-fields__row{grid-template-columns:1fr}}.occ-form-footer{background:#f8fafc;flex-direction:column;gap:.85rem;padding:1rem 1.35rem 1.25rem;display:flex}.occ-form-notes__label{color:var(--text-dim);margin-bottom:.35rem;font-size:.72rem;font-weight:700;display:block}.occ-form-notes__opt{opacity:.75;font-weight:500}.occ-form-notes__input{border:1px solid var(--border);resize:vertical;border-radius:8px;width:100%;min-height:2.5rem;padding:.55rem .65rem;font-size:.82rem}.occ-form-actions{justify-content:flex-end;gap:.5rem;padding-top:.25rem;display:flex}.occ-action-form__btns{gap:.5rem;margin-top:1rem;display:flex}.occ-confirm-btn--dues-pending{opacity:.85;box-shadow:inset 0 0 0 2px #f59e0b}.occ-dues-defer{cursor:pointer;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:flex-start;gap:.5rem;margin:.65rem 0 0;padding:.55rem .65rem;font-size:.78rem;line-height:1.4;display:flex}.occ-dues-defer__check{flex-shrink:0;margin-top:.15rem}.occ-history-deferred{text-transform:uppercase;color:#b45309;background:#fef3c7;border-radius:4px;margin-left:.35rem;padding:.1rem .35rem;font-size:.62rem;font-weight:800;display:inline-block}.occ-history-fee{text-transform:uppercase;color:#166534;background:#dcfce7;border-radius:4px;margin-left:.35rem;padding:.1rem .35rem;font-size:.62rem;font-weight:800;display:inline-block}.occ-charges-inner__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.occ-charges-apply{cursor:pointer;align-items:center;gap:.45rem;font-size:.8rem;font-weight:600;display:flex}.occ-charges-amount-row{align-items:center;gap:.75rem;margin-bottom:.65rem;display:flex}.occ-charges-amount{max-width:8rem}.occ-charges-section{margin:0;padding:0}.occ-charges-fields[hidden]{display:none}.occ-charges-settle{border:none;margin:.75rem 0;padding:0}.occ-charges-settle legend{margin-bottom:.35rem;padding:0}.occ-charges-radio{cursor:pointer;align-items:flex-start;gap:.45rem;margin-bottom:.35rem;font-size:.78rem;display:flex}.occ-charges-payment[hidden]{display:none}.occ-charges-wallets{gap:.35rem;margin-bottom:.65rem;display:flex}.occ-charges-wallet{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;padding:.35rem .75rem;font-size:.75rem;font-weight:700}.occ-charges-wallet.active{border-color:var(--accent);color:var(--accent);background:#eff6ff}.occ-pick-section{margin-bottom:1rem}.occ-pick-section__head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.occ-pick-section h5{text-transform:uppercase;color:var(--text-dim);margin:0;font-size:.72rem;font-weight:800}.occ-pick-section__actions{gap:.5rem;display:flex}.occ-pick-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.72rem;font-weight:700}.occ-pick-toggle:hover{text-decoration:underline}.occ-pick-list{border:1px solid var(--border);background:#fff;border-radius:10px;flex-direction:column;gap:.2rem;max-height:220px;padding:.35rem;display:flex;overflow-y:auto}.occ-pick-row{cursor:pointer;border-radius:6px;align-items:flex-start;gap:.6rem;padding:.45rem .35rem;display:flex}.occ-pick-row:hover:not(.occ-pick-row--disabled){background:#f8fafc}.occ-pick-row--disabled{opacity:.55;cursor:not-allowed}.occ-pick-row input{flex-shrink:0;margin-top:.2rem}.occ-pick-row__main{flex-direction:column;gap:.15rem;min-width:0;display:flex}.occ-pick-row__label{font-size:.82rem;font-weight:700}.occ-pick-row__meta{color:var(--text-dim);font-size:.72rem}.occ-moveout-summary{color:#1d4ed8;background:#eff6ff;border-radius:6px;margin:0 0 .75rem;padding:.5rem .65rem;font-size:.78rem;font-weight:600}.occ-dues-block{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;margin-bottom:1rem;padding:.85rem 1rem}.occ-dues-block__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.65rem;display:flex}.occ-dues-block__head .transition-warn{margin:0}.occ-dues-invoices{flex-direction:column;gap:.35rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.occ-dues-invoice{background:#fff;border:1px solid #fde68a;border-radius:6px;grid-template-columns:1fr auto auto;align-items:center;gap:.5rem 1rem;padding:.45rem .6rem;font-size:.8rem;display:grid}.occ-dues-invoice__period{font-weight:700}.occ-dues-invoice__due{color:var(--text-dim);font-size:.72rem}.occ-dues-invoice__amt{text-align:right;color:#b45309}.occ-pending-banner{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.82rem;display:flex}.occ-pending-date{color:var(--text-dim);margin-left:.5rem}.occ-pending-banner__btns{gap:.35rem;display:flex}.occ-history{margin-top:1rem;font-size:.82rem}.occ-history summary{cursor:pointer;color:var(--text-dim);padding:.5rem 0;font-weight:700}#ops-transitions-list{border:1px solid var(--border);background:#fff;border-radius:10px;overflow:hidden}.occ-history-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:.75rem;padding:.65rem .85rem;display:flex}.occ-history-item:last-child{border-bottom:none}.occ-history-item__icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;margin-top:.1rem;font-size:.72rem;display:flex}.occ-history-item--in .occ-history-item__icon{color:#166534;background:#dcfce7}.occ-history-item--out .occ-history-item__icon{color:#b91c1c;background:#fee2e2}.occ-history-item__body{flex:1;min-width:0}.occ-history-item__head{flex-wrap:wrap;align-items:baseline;gap:.35rem .65rem;margin-bottom:.2rem;display:flex}.occ-history-item__action{text-transform:capitalize;font-size:.8rem;font-weight:800}.occ-history-item__flat{color:var(--accent);background:#eff6ff;border-radius:4px;padding:.1rem .4rem;font-size:.72rem;font-weight:700}.occ-history-item__date{color:var(--text-dim);white-space:nowrap;margin-left:auto;font-size:.72rem;font-weight:600}.occ-history-item__detail{color:var(--text);flex-wrap:wrap;gap:.35rem .85rem;font-size:.76rem;line-height:1.35;display:flex}.occ-history-item__detail i{opacity:.65;margin-right:.25rem;font-size:.68rem}.occ-history-detail__people,.occ-history-detail__vehicles{display:inline}.occ-history-item__notes{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;margin-top:.15rem;font-size:.72rem;font-style:italic;overflow:hidden}.occ-history-item__badges{flex-wrap:wrap;gap:.3rem;margin-top:.3rem;display:flex}.occ-history-badge{text-transform:uppercase;letter-spacing:.02em;border-radius:4px;padding:.1rem .35rem;font-size:.62rem;font-weight:800;display:inline-block}.occ-history-badge--warn{color:#b45309;background:#fef3c7}.occ-history-badge--ok{color:#166534;background:#dcfce7}.transition-unit-summary{border:1px solid var(--border);background:#f8fafc;border-radius:8px;flex-wrap:wrap;gap:1rem 1.5rem;padding:.75rem 1rem;font-size:.8rem;display:flex}.transition-wizard-body{padding:0 1.25rem 1rem}.transition-wizard-intro{margin-bottom:1rem;font-size:.85rem;line-height:1.5}.transition-wizard-footer{justify-content:flex-end;gap:.5rem;padding:0 1.25rem 1.25rem;display:flex}.transition-effects-list{margin:0 0 1rem 1.1rem;font-size:.82rem;line-height:1.6}.transition-warn{color:var(--danger);margin-bottom:.75rem;font-size:.8rem}#transition-wizard-modal.modal-backdrop.active .modal-content{max-height:90vh;overflow-y:auto}.portal-notice-priority{text-transform:uppercase;letter-spacing:.02em;border-radius:4px;padding:.12rem .4rem;font-size:.62rem;font-weight:800;display:inline-block}.portal-notice-priority--low{color:#64748b;background:#f1f5f9}.portal-notice-priority--normal{color:#0369a1;background:#e0f2fe}.portal-notice-priority--high{color:#c2410c;background:#ffedd5}.portal-notice-priority--urgent{color:#b91c1c;background:#fee2e2}.portal-invoice-list,.portal-notice-list{flex-direction:column;gap:.65rem;display:flex}.portal-notice-card{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:10px;padding:1rem}.portal-notice-card--unread{border-left:4px solid var(--accent);background:#f8fbff}.portal-status{text-transform:uppercase;background:#f1f5f9;border-radius:6px;padding:.15rem .45rem;font-size:.65rem;font-weight:800}.portal-status--open,.portal-status--pending{color:#92400e;background:#fef3c7}.portal-status--paid,.portal-status--resolved,.portal-status--completed{color:#166534;background:#dcfce7}.portal-status--partial{color:#3730a3;background:#e0e7ff}.portal-empty,.ops-empty{color:var(--text-dim);padding:1.5rem;font-weight:600}.portal-empty__hint{margin-top:.35rem;font-size:.85rem;font-weight:500}.portal-empty__hint--small{margin-top:.75rem;font-size:.75rem}.portal-link-actions{flex-direction:column;align-items:flex-start;gap:.75rem;margin-top:1rem;display:flex}.portal-link-manual{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.portal-link-input{border:1px solid var(--border);border-radius:8px;min-width:140px;padding:.5rem .75rem}.resident-links-panel{border:1px solid var(--border);background:#fff;border-radius:12px;padding:1rem 1.25rem}.resident-links-table__head,.resident-links-table__row{grid-template-columns:1.4fr 1.4fr .8fr 40px;align-items:center;gap:.75rem;padding:.65rem 0;font-size:.85rem;display:grid}.resident-links-table__head{text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--border);font-size:.65rem;font-weight:800}.resident-links-table__row{border-bottom:1px solid var(--border)}.resident-links-table__row:last-child{border-bottom:none}.resident-links-table__sub{color:var(--text-dim);font-size:.75rem;font-weight:500;display:block}.resident-links-subtitle{color:var(--text-main);margin:1.25rem 0 .75rem;font-size:.85rem;font-weight:800}.resident-link-tabs{gap:.35rem;margin-bottom:.25rem;display:flex}.resident-link-tab{border:1px solid var(--border);cursor:pointer;color:var(--text-dim);background:#fff;border-radius:8px;flex:1;padding:.55rem .75rem;font-size:.8rem;font-weight:700}.resident-link-tab--active{background:var(--sidebar-active-bg,#e8f0fe);color:var(--primary,#1a73e8);border-color:#2563eb40}.resident-link-label{color:var(--text-dim);text-transform:uppercase;margin-bottom:.35rem;font-size:.65rem;font-weight:900;display:block}.resident-link-field{border:1px solid var(--border);border-radius:10px;width:100%;padding:.65rem;font-weight:600}.resident-link-hint{color:var(--text-dim);margin-top:.35rem;font-size:.65rem}.ops-inline-form{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ops-inline-form--stack{flex-direction:column;align-items:stretch;max-width:320px}.ops-split{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.ops-form-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ops-detail-panel{border:1px solid var(--border);background:#fafafa;border-radius:10px;margin-top:1rem;padding:1rem}.ops-checklist{margin:.75rem 0;padding:0;list-style:none}.ops-checklist li{padding:.35rem 0}.ops-asset-row--warn{background:#fffbeb}.ops-alert{color:#b45309;text-transform:uppercase;font-size:.65rem;font-weight:800}.unit-detail-doc-list{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.unit-detail-doc-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.65rem 0;display:flex}.unit-doc-form{flex-direction:column;gap:.5rem;max-width:400px;margin-top:1rem;display:flex}@media (width<=768px){.ops-split,.portal-invoice-row,.ops-ticket-row{grid-template-columns:1fr}}.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.portfolio-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:1rem}.portfolio-card__stats{grid-template-columns:1fr 1fr;gap:.5rem;margin:.75rem 0;font-size:.82rem;display:grid}.portfolio-card__stats span{color:var(--text-dim);text-transform:uppercase;font-size:.65rem;display:block}.visitor-pass-row,.ops-violation-row,.ops-fine-rule-row,.gl-account-row,.gl-entry-row,.email-outbox-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.65rem 0;font-size:.82rem;display:flex}.gl-account-type{color:var(--text-dim);text-transform:uppercase;font-size:.65rem;font-weight:700}.ledger-page-header{align-items:flex-end}.ledger-page-header__actions{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.ledger-summary-strip{border:1px solid var(--border);background:linear-gradient(#f8fafc 0%,#fff 100%);border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:0 1.6rem .85rem;padding:.85rem;display:grid;box-shadow:0 1px 2px #1118270a}.ledger-summary-stat{background:#fff;border:1px solid #e8eaed;border-radius:10px;align-items:flex-start;gap:.65rem;min-width:0;padding:.75rem .85rem;transition:border-color .12s,box-shadow .12s;display:flex}.ledger-summary-stat:hover{border-color:#cbd5e1;box-shadow:0 4px 14px #0f172a0f}.ledger-summary-stat>i{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.82rem;display:flex}.ledger-summary-stat__body{flex-direction:column;gap:.15rem;min-width:0;display:flex}.ledger-summary-stat__label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;text-overflow:ellipsis;font-size:.62rem;font-weight:700;overflow:hidden}.ledger-summary-stat__value{color:var(--text-main);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.05rem;font-weight:800;line-height:1.15}.ledger-summary-stat__value--out{color:var(--danger)}.ledger-summary-stat__value--total{color:var(--accent)}.ledger-summary-stat--cash>i{color:#059669;background:#ecfdf5}.ledger-summary-stat--bank>i{color:#2563eb;background:#eff6ff}.ledger-summary-stat--out{background:#fffbfb;border-color:#fecaca}.ledger-summary-stat--out>i{color:#dc2626;background:#fee2e2}.ledger-summary-stat--total{background:linear-gradient(135deg,#f8fbff 0%,#fff 100%);border-color:#bfdbfe}.ledger-summary-stat--total>i{background:var(--accent-soft);color:var(--accent)}.ledger-ledger-section{margin-top:.25rem}.ledger-ledger-toolbar{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:0 1.6rem;display:flex}.ledger-ledger-toolbar__title{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.78rem;font-weight:800}.ledger-ledger-toolbar__count{text-transform:none;letter-spacing:0;font-weight:600}.ledger-ledger-toolbar__search{flex-shrink:0;max-width:240px}.ledger-registry-list .ledger-txn-header,.ledger-txn-row{grid-template-columns:100px 100px 140px 1fr 90px 90px 100px}.ledger-txn-row__meta{display:contents}.ledger-txn-header__num,.ledger-txn-row__dr,.ledger-txn-row__cr,.ledger-txn-header__action,.ledger-txn-row__actions{text-align:right}.ledger-txn-row{border-bottom:1px solid var(--border);cursor:default;align-items:center;padding:.85rem 1rem}.ledger-txn-row__date{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:.75rem}.ledger-txn-row__desc{min-width:0;font-size:.85rem;font-weight:700}.ledger-txn-row__desc-empty{color:var(--text-dim);font-weight:500}.ledger-txn-row__dr{color:var(--danger);font-variant-numeric:tabular-nums;font-weight:900}.ledger-txn-row__cr{color:var(--success);font-variant-numeric:tabular-nums;font-weight:900}.ledger-txn-row__amount{display:none}.ledger-txn-chip{color:#475569;background:#f1f5f9;border-radius:100px;align-items:center;padding:.2rem .5rem;font-size:.6rem;font-weight:800;line-height:1.2;display:inline-flex}.ledger-txn-chip--wallet{border-radius:4px;font-weight:900}.ledger-txn-row__action-btn{padding:.2rem .4rem}.ledger-txn-row__action-btn--danger{color:var(--danger)}@media (width<=900px){.ledger-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-summary-stat--total{grid-column:1/-1}}@media (width<=640px){.ledger-page-header{gap:.75rem;padding:1rem 1rem .85rem}.ledger-page-header__subtitle{display:none}.ledger-page-header__title h2{letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.ledger-page-header__actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;width:100%;display:grid}.ledger-page-header__actions .btn{justify-content:center;gap:.3rem;min-height:2.35rem;padding:.55rem .35rem;font-size:.68rem}.ledger-page-header__actions .btn i{font-size:.72rem}.ledger-summary-strip{box-shadow:none;background:0 0;border:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:0 1rem .65rem;padding:0}.ledger-summary-stat--total{background:linear-gradient(135deg,#f8fbff 0%,#fff 100%);border:1px solid #dbeafe;border-radius:14px;flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center;padding:.9rem 1rem;box-shadow:0 1px 3px #2563eb0f}.ledger-summary-stat--total .ledger-summary-stat__body{text-align:right;align-items:flex-end}.ledger-summary-stat--total .ledger-summary-stat__value{font-size:1.35rem}.ledger-summary-stat:not(.ledger-summary-stat--total){text-align:center;box-shadow:none;background:#fff;border:1px solid #eef0f3;border-radius:12px;flex-direction:column;align-items:center;gap:.35rem;padding:.55rem .35rem}.ledger-summary-stat:not(.ledger-summary-stat--total):hover{box-shadow:none;border-color:#e2e8f0}.ledger-summary-stat:not(.ledger-summary-stat--total)>i{width:1.55rem;height:1.55rem;font-size:.68rem}.ledger-summary-stat:not(.ledger-summary-stat--total) .ledger-summary-stat__body{align-items:center}.ledger-summary-stat:not(.ledger-summary-stat--total) .ledger-summary-stat__label{font-size:.58rem}.ledger-summary-stat:not(.ledger-summary-stat--total) .ledger-summary-stat__value{font-size:.82rem}.ledger-summary-stat--out{background:#fffbfb;border-color:#fde8e8}.ledger-sync-panel{margin-left:1rem;margin-right:1rem}.ledger-ledger-toolbar{flex-direction:column;align-items:stretch;gap:.55rem;margin-bottom:.65rem;padding:0 1rem}.ledger-ledger-toolbar__search{width:100%;max-width:none}.ledger-registry-list{margin:0 1rem}.ledger-registry-list .registry-header{display:none!important}.ledger-registry-list{box-shadow:none;background:0 0;border:0;overflow:visible}#cash-ledger-items .ledger-txn-row{background:#fff;border:1px solid #eef0f3;border-radius:14px;grid-template-areas:"date amount""meta meta""desc desc""actions actions";gap:.35rem .75rem;margin-bottom:.55rem;display:grid;box-shadow:0 1px 2px #11182708;border-bottom:1px solid #eef0f3!important;grid-template-columns:1fr auto!important;padding:.85rem .9rem!important}.ledger-txn-row__meta{flex-wrap:wrap;grid-area:meta;align-items:center;gap:.35rem;display:flex}.ledger-txn-row__date{grid-area:date}.ledger-txn-row__desc{color:var(--text-main);grid-area:desc;font-size:.8rem;font-weight:600}.ledger-txn-row__dr,.ledger-txn-row__cr{display:none!important}.ledger-txn-row__amount{font-variant-numeric:tabular-nums;text-align:right;grid-area:amount;align-self:start;font-size:.95rem;font-weight:800;display:block!important}.ledger-txn-row__amount--in{color:var(--success)}.ledger-txn-row__amount--out{color:var(--danger)}.ledger-txn-row__actions{border-top:1px solid #f1f3f5;grid-area:actions;justify-content:flex-end;gap:.35rem;margin-top:.15rem;padding-top:.15rem;display:flex!important}}@media (width<=520px){.ledger-page-header .header-title h2{font-size:1.2rem}.ledger-page-header__actions .btn span{font-size:.62rem}}.ledger-sync-panel{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin:0 1.6rem .85rem}.ledger-sync-panel__summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 1rem;list-style:none;display:flex}.ledger-sync-panel__summary::-webkit-details-marker{display:none}.ledger-sync-panel__summary-main{align-items:center;gap:.55rem;min-width:0;display:flex}.ledger-sync-panel__icon{color:var(--text-dim);flex-shrink:0;font-size:.85rem}.ledger-sync-panel__summary strong{font-size:.88rem;display:block}.ledger-sync-panel__hint{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;margin-top:.1rem;font-size:.75rem;font-weight:500;display:block;overflow:hidden}.ledger-sync-panel__chevron{color:var(--text-dim);flex-shrink:0;font-size:.7rem;transition:transform .15s}.ledger-sync-panel[open] .ledger-sync-panel__chevron{transform:rotate(180deg)}.ledger-sync-panel__summary-right{flex-shrink:0;align-items:center;gap:.6rem;display:flex}.ledger-sync-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.ledger-sync-dot--ok{background:#16a34a;box-shadow:0 0 0 2px #16a34a33}.ledger-sync-dot--err{background:#dc2626;box-shadow:0 0 0 2px #dc262633}.ledger-sync-panel__sync-btn{pointer-events:auto;padding:.2rem .65rem;font-size:.75rem;line-height:1.4}.ledger-sync-panel__body{border-top:1px solid var(--border);padding:0 1rem 1rem}.ledger-sync-panel__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin:.85rem 0;display:flex}.ledger-sync-panel__head p{color:var(--text-dim);flex:1;max-width:36rem;margin:0;font-size:.8rem}.ledger-sync-tabs{flex-wrap:wrap;gap:.35rem;margin-bottom:.85rem;display:flex}.ledger-sync-tabs button{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text-dim);border-radius:999px;padding:.3rem .7rem;font-size:.78rem;font-weight:600}.ledger-sync-tabs button.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.ledger-sync-form{grid-template-columns:1fr 1fr;gap:.65rem .85rem;display:grid}.ledger-sync-form__field{flex-direction:column;gap:.3rem;display:flex}.ledger-sync-form__field--full{grid-column:1/-1}.ledger-sync-form__label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:600}.ledger-sync-form__actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.ledger-sync-status{background:var(--surface-alt,#f8fafc);border:1px solid var(--border);border-radius:8px;margin-top:.85rem;padding:.65rem .75rem;font-size:.8rem}.ledger-sync-status--ok{border-color:color-mix(in srgb, #16a34a 35%, var(--border));background:#16a34a14}.ledger-sync-status--error{border-color:color-mix(in srgb, #dc2626 35%, var(--border));background:#dc262614}.ledger-sync-status--warn{border-color:color-mix(in srgb, #d97706 35%, var(--border));background:#d977061a;margin-bottom:.75rem}.sync-map-grid{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.sync-map-card{border:1px solid var(--border);background:#fff;border-radius:10px;overflow:hidden}.sync-map-card__head{background:color-mix(in srgb, var(--accent) 4%, transparent);border-bottom:1px solid color-mix(in srgb, var(--border) 80%, transparent);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.45rem .65rem;display:flex}.sync-map-card__identity{flex:1;align-items:baseline;gap:.4rem;min-width:8rem;display:flex}.sync-map-card__title{font-size:.82rem}.sync-map-card__db{width:5.5rem;color:var(--text-dim);background:0 0;border:1px solid #0000;border-radius:4px;padding:.1rem .3rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.68rem}.sync-map-card__excel{color:var(--text-dim);align-items:center;gap:.35rem;font-size:.72rem;display:flex}.sync-map-card__excel-select,.sync-map-card__mode{border:1px solid var(--border);background:#fff;border-radius:6px;max-width:11rem;padding:.2rem .35rem;font-size:.75rem}.sync-map-card__mode{margin-left:auto}.sync-map-card__flows{flex-direction:column;gap:.25rem;padding:.4rem .55rem .5rem;display:flex}.sync-map-card__muted{color:var(--text-dim);margin:0;padding:.4rem .65rem .55rem;font-size:.72rem}.sync-flow{align-items:center;gap:.35rem;padding:.25rem 0;font-size:.75rem;display:grid}.sync-flow--ltr{grid-template-columns:5.5rem auto auto auto auto 1fr}.sync-flow--import{grid-template-columns:5.5rem 1fr auto auto auto auto}.sync-flow__dir{text-transform:uppercase;letter-spacing:.02em;color:var(--text-dim);font-size:.65rem;font-weight:700}.sync-flow__db{background:color-mix(in srgb, var(--text) 6%, transparent);border-radius:4px;padding:.1rem .35rem;font-size:.72rem}.sync-flow__excel{color:var(--accent);white-space:nowrap;text-overflow:ellipsis;max-width:8rem;font-size:.75rem;font-weight:600;overflow:hidden}.sync-flow__arrow{color:var(--text-dim);text-align:center;font-weight:700}.sync-flow__fn{color:var(--text-dim);text-align:center;font-style:italic}.sync-flow__formula{border:1px solid var(--border);background:#fff;border-radius:6px;width:100%;min-width:0;padding:.22rem .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem}.sync-map-advanced,.sync-excel-overview{margin-top:.65rem;font-size:.78rem}.sync-map-advanced summary,.sync-excel-overview summary{cursor:pointer;color:var(--text-dim);font-weight:600}.sync-formula-library__sub{color:var(--text-dim);font-size:.72rem;font-weight:400}.sync-excel-col--mapped{border-color:color-mix(in srgb, #16a34a 35%, var(--border))}@media (width<=800px){.sync-flow--ltr,.sync-flow--import{grid-template-columns:1fr}.sync-flow__dir{grid-column:1/-1}.sync-map-card__mode{width:100%;margin-left:0}}.ledger-sync-map{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 75%, #fff);border-radius:10px;margin-top:.5rem;overflow:hidden}.sync-formula-help{color:var(--text-dim);background:var(--surface-alt,#f8fafc);border:1px solid var(--border);border-radius:8px;margin:.75rem 0;padding:.55rem .65rem;font-size:.72rem;line-height:1.45}.sync-formula-help code{margin:0 .15rem;font-size:.68rem}.ledger-sync-map__block{border-top:1px solid color-mix(in srgb, var(--border) 70%, transparent)}.ledger-sync-map__block:first-of-type{border-top:0}.ledger-sync-map__formulas{flex-direction:column;gap:.35rem;padding:0 .75rem .55rem;display:flex}@media (width>=720px){.ledger-sync-map__formula-row{grid-template-columns:5.5rem 11rem 1fr}}.ledger-sync-map__formula-label{text-transform:uppercase;color:var(--text-dim);font-size:.68rem;font-weight:700}.ledger-sync-map__preset{border:1px solid var(--border);background:#fff;border-radius:4px;width:100%;padding:.2rem;font-size:.72rem}.ledger-sync-map__formula{border:1px solid var(--border);border-radius:4px;grid-column:1/-1;width:100%;padding:.25rem .35rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem}@media (width>=720px){.ledger-sync-map__formula{grid-column:auto}}.ledger-sync-map__row{border-top:1px solid color-mix(in srgb, var(--border) 70%, transparent);grid-template-columns:minmax(140px,1fr) minmax(220px,1.4fr);align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.82rem;display:grid}.ledger-sync-map__head--wide{text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);grid-template-columns:minmax(160px,1fr) minmax(200px,1.2fr);font-size:.72rem;font-weight:700}.sync-map-intro{color:var(--text-dim);margin:0 0 .75rem;font-size:.78rem;line-height:1.45}.sync-formula-library{border:1px solid var(--border);background:var(--surface-alt,#f8fafc);border-radius:8px;margin-bottom:.85rem;padding:.55rem .65rem}.sync-formula-library>summary{cursor:pointer;flex-wrap:nowrap;align-items:center;gap:.35rem;font-size:.8rem;font-weight:700;list-style:none;display:flex}.sync-formula-library>summary::-webkit-details-marker{display:none}.sync-formula-library>summary:before{content:"";border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:5px solid;flex-shrink:0;width:0;height:0;transition:transform .15s}.sync-formula-library[open]>summary:before{transform:rotate(90deg)}.sync-formula-library__summary-label{flex:1;min-width:0}.sync-fn-help-link{color:var(--primary,#2563eb);flex-shrink:0;margin-left:auto;font-size:.72rem;font-weight:600;text-decoration:none}.sync-fn-help-link:hover{text-decoration:underline}.sync-fn-help{border:1px solid color-mix(in srgb, var(--primary,#2563eb) 18%, var(--border));background:#fff;border-radius:8px;margin:.5rem 0 .65rem;padding:.55rem .65rem}.sync-fn-help--flash{animation:1.2s sync-fn-help-flash}@keyframes sync-fn-help-flash{0%,to{box-shadow:none}20%{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary,#2563eb) 25%, transparent)}}.sync-fn-ref-table{border-collapse:collapse;width:100%;margin:.5rem 0 .65rem;font-size:.72rem}.sync-fn-ref-table th,.sync-fn-ref-table td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:.35rem .45rem}.sync-fn-ref-table th{background:color-mix(in srgb, var(--text) 5%, #fff);text-transform:uppercase;letter-spacing:.02em;color:var(--text-dim);font-size:.65rem}.sync-fn-ref-fields-wrap{margin:0 0 .65rem;font-size:.75rem}.sync-fn-ref-fields-wrap summary{cursor:pointer;color:var(--text-dim);font-weight:600}.sync-fn-ref-fields{color:var(--text-dim);columns:2;column-gap:1.5rem;margin:.35rem 0 0;padding-left:1.1rem;font-size:.72rem;line-height:1.5}.sync-fn-help__store{margin-bottom:0}.sync-fn-help__expr{background:color-mix(in srgb, var(--text) 4%, #fff);white-space:pre-wrap;word-break:break-word;border-radius:6px;margin-top:.35rem;padding:.35rem .45rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.68rem;display:block}.sync-code-sample{margin:.45rem 0 .55rem}.sync-code-sample__label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);margin-bottom:.25rem;font-size:.62rem;font-weight:700;display:block}.sync-code-sample__pre{border:1px solid var(--border);color:#e2e8f0;background:#1e293b;border-radius:8px;margin:0;padding:.55rem .65rem;font-size:.7rem;line-height:1.45;overflow-x:auto}.sync-code-sample__pre code{white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.sync-code-editor{border:1px solid var(--border);background:#0f172a;border-radius:8px;overflow:hidden}.sync-code-editor__input{resize:vertical;color:#e2e8f0;tab-size:2;background:0 0;border:0;width:100%;min-height:5rem;padding:.55rem .65rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;line-height:1.45;display:block}.sync-code-editor__input:focus{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--primary,#2563eb) 45%, transparent);outline:none}.sync-code-editor__input::placeholder{color:#64748b}.sync-formula-library__hint{color:var(--text-dim);margin:.35rem 0 .5rem;font-size:.72rem}.sync-snippet-list{margin-bottom:.5rem}.sync-formula-library[open] .sync-snippet-list{flex-direction:column;gap:.35rem;display:flex}.sync-snippet-row{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:7.5rem 1fr auto;align-items:start;gap:.5rem;padding:.45rem;display:grid}.sync-snippet-row__label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);margin-bottom:.2rem;font-size:.62rem;font-weight:700;display:block}.sync-snippet-row__name-wrap,.sync-snippet-row__editor-wrap{min-width:0}.sync-snippet-row__name{border:1px solid var(--border);background:#fff;border-radius:6px;width:100%;padding:.3rem .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem}.sync-snippet-row__del{min-width:2rem;margin-top:1.35rem;padding-inline:.35rem}.sync-fn-list{color:var(--text-dim);margin:.35rem 0 0;padding-left:1.1rem;font-size:.72rem;line-height:1.45}.ledger-sync-map__controls{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.ledger-sync-map__control-stack{flex-direction:column;gap:.15rem;display:flex}.ledger-sync-map__control-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);font-size:.62rem;font-weight:700}.ledger-sync-map__mode-help{color:var(--text-dim);min-height:2.4em;font-size:.65rem;line-height:1.3}.ledger-sync-map__formula-row{grid-template-columns:5.25rem 1fr 9.5rem;align-items:center;gap:.35rem;display:grid}.ledger-sync-map__formula{border:1px solid var(--border);background:#fff;border-radius:4px;width:100%;padding:.3rem .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem}@media (width<=720px){.ledger-sync-map__controls,.ledger-sync-map__formula-row,.sync-snippet-row{grid-template-columns:1fr}}.ledger-sync-map__mode{border:1px solid var(--border);background:#fff;border-radius:4px;width:100%;padding:.25rem;font-size:.78rem}.ledger-sync-map__hint{color:var(--text-dim);font-size:.68rem;line-height:1.3}.sync-map-table-label{color:var(--text-dim);margin:.75rem 0 .35rem;font-size:.78rem;font-weight:600}.sync-excel-overview{border-top:1px dashed var(--border);margin-top:1rem;padding-top:.5rem}.sync-excel-overview__grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.45rem;display:grid}.sync-excel-col{border:1px solid var(--border);background:#fff;border-radius:8px;flex-direction:column;gap:.15rem;padding:.45rem .55rem;font-size:.72rem;display:flex}.sync-excel-col__letter{text-transform:uppercase;color:var(--text-dim);font-size:.62rem;font-weight:700}.sync-excel-col__header{word-break:break-word;font-size:.78rem}.sync-excel-col__mapped{color:#16a34a;font-size:.68rem}.sync-excel-col__ignore{color:var(--text-dim);font-size:.68rem;font-style:italic}.ledger-sync-map__field-info{flex-direction:column;gap:.1rem;display:flex}.ledger-sync-map__label{color:var(--text);font-weight:700}.ledger-sync-map__db-name{color:var(--text-dim);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.65rem}.ledger-sync-map__select{border:1px solid var(--border);background:#fff;border-radius:4px;width:100%;padding:.25rem;font-size:.8rem}.ledger-sync-map__head{background:color-mix(in srgb, var(--accent) 5%, transparent);border-top:0}.ledger-sync-connected{color:#16a34a;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;display:inline-flex}.ledger-sync-admin{border:1px dashed var(--border);border-radius:8px;margin-bottom:.85rem;padding:.65rem .75rem;font-size:.82rem}.ledger-sync-admin summary{cursor:pointer;font-weight:600}.ledger-sync-steps{color:var(--text-dim);margin:.5rem 0 .85rem;padding-left:1.2rem;font-size:.8rem;line-height:1.5}.ledger-sync-steps li{margin-bottom:.35rem}.ledger-sync-steps--compact{margin-bottom:0}.ledger-sync-steps li.done{color:#16a34a}.ledger-sync-guide{background:color-mix(in srgb, var(--accent) 6%, transparent);border:1px solid color-mix(in srgb, var(--accent) 20%, var(--border));border-radius:8px;margin-bottom:.85rem;padding:.65rem .75rem;font-size:.8rem}.ledger-sync-guide strong{margin-bottom:.35rem;display:block}.ledger-sync-code{word-break:break-all;font-size:.72rem}.ledger-sync-ops-toolbar{background:var(--surface-alt,#f8fafc);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.75rem 0;padding:.75rem;display:flex}.ledger-sync-sheet-list{margin:.5rem 0 .75rem}.ledger-sync-sheet-picks{flex-wrap:wrap;gap:.35rem;margin-top:.35rem;display:flex}.ledger-sync-sheet-pick{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;padding:.25rem .65rem;font-size:.75rem}.ledger-sync-sheet-pick:hover{border-color:var(--accent);color:var(--accent)}.ledger-sync-sheet-pick--active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);font-weight:700}.ledger-sync-map__actions{justify-content:space-between;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.ledger-sync-advanced summary{-webkit-user-select:none;user-select:none}.ledger-sync-conflicts{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.ledger-sync-conflict-card{border:1px solid var(--border);background:#fff;border-radius:8px;overflow:hidden}.ledger-sync-conflict-card__header{background:color-mix(in srgb, var(--text) 5%, transparent);border-bottom:1px solid var(--border);padding:.5rem .75rem;font-size:.78rem;font-weight:700}.ledger-sync-conflict-card__body{background:var(--border);grid-template-columns:1fr 1fr;gap:1px;display:grid}.ledger-sync-conflict-side{background:#fff;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.ledger-sync-conflict-side__label{text-transform:uppercase;color:var(--text-dim);letter-spacing:.03em;font-size:.65rem;font-weight:700}.ledger-sync-conflict-side__data{flex:1;font-size:.8rem;line-height:1.4}@media (width<=720px){.ledger-sync-form,.ledger-sync-conflict-card__body{grid-template-columns:1fr}}.ledger-sync-spinner{margin-right:.35rem;animation:1s linear infinite ledger-sync-spin}.ledger-sync-mapping-section{border-top:1px solid var(--border);margin-top:1rem;padding-top:.5rem}.ledger-sync-mapping-section summary{cursor:pointer;color:var(--text-dim);-webkit-user-select:none;user-select:none;font-size:.78rem;font-weight:700}.ledger-sync-mapping-section[open] summary{margin-bottom:.5rem}.ledger-sync-admin-page{max-width:1200px;margin:0 auto;padding:1.5rem}.ledger-sync-admin-grid{grid-template-columns:1fr 1fr;align-items:start;gap:1.5rem;display:grid}.ledger-sync-card{border:1px solid var(--border);background:#fff;border-radius:12px;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex;box-shadow:0 1px 3px #0000000d}.ledger-sync-card__header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.ledger-sync-card__title{color:var(--text-main);align-items:center;gap:.75rem;font-size:1rem;font-weight:800;display:flex}.ledger-sync-card__title i{color:var(--accent);font-size:1.25rem}.ledger-sync-card__status{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.2rem .6rem;font-size:.7rem;font-weight:700}.ledger-sync-card__status--ok{color:#16a34a;background:#16a34a1a}.ledger-sync-card__status--pending{background:color-mix(in srgb, var(--text-dim) 10%, transparent);color:var(--text-dim)}.ledger-sync-section-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.72rem;font-weight:700;display:block}.ledger-sync-uri-box{background:var(--surface-alt);border:1px solid var(--border);border-radius:8px;align-items:center;gap:.75rem;padding:.75rem;display:flex}.ledger-sync-uri-box code{color:var(--text-main);word-break:break-all;flex:1;font-size:.75rem}@media (width<=900px){.ledger-sync-admin-grid{grid-template-columns:1fr}}.ledger-sync-card--full,.ledger-sync-card--ops{grid-column:1/-1}@keyframes ledger-sync-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sync-wizard-page{max-width:52rem;margin:0 auto;padding:.5rem 0 1.5rem}.sync-wizard-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.sync-wizard-header__title{margin:0 0 .25rem;font-size:1.15rem;font-weight:800}.sync-wizard-header__desc{color:var(--text-dim);max-width:28rem;margin:0;font-size:.82rem;line-height:1.45}.sync-admin-view-tabs{background:var(--surface-alt);border:1px solid var(--border);border-radius:8px;gap:.35rem;margin-bottom:1rem;padding:.25rem;display:flex}.sync-admin-view-tab{color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.82rem;font-weight:600;display:inline-flex}.sync-admin-view-tab:hover{color:var(--text-main);background:#ffffff0a}.sync-admin-view-tab--active{background:var(--surface);color:var(--text-main);box-shadow:0 1px 3px #00000014}.sync-history-page{margin-top:.25rem}.sync-provider-tabs{background:var(--surface-alt,#f1f5f9);border:1px solid var(--border);border-radius:10px;gap:.15rem;padding:.2rem;display:inline-flex}.sync-provider-tab{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.78rem;font-weight:600;transition:background .12s,color .12s,box-shadow .12s;display:inline-flex}.sync-provider-tab:hover{color:var(--text-main)}.sync-provider-tab--active{color:var(--accent);background:#fff;box-shadow:0 1px 3px #0f172a14}.sync-wizard-rail{scrollbar-width:thin;gap:.35rem;margin-bottom:.85rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.sync-wizard-rail__item{cursor:pointer;background:0 0;border:none;flex-direction:column;flex-shrink:0;align-items:center;gap:.3rem;min-width:4.5rem;padding:.4rem .35rem;display:flex}.sync-wizard-rail__num{background:var(--surface-alt);border:2px solid var(--border);width:1.65rem;height:1.65rem;color:var(--text-dim);border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;font-weight:800;transition:all .12s;display:flex}.sync-wizard-rail__item--active .sync-wizard-rail__num{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, #fff);color:var(--accent)}.sync-wizard-rail__item--done .sync-wizard-rail__num{color:#fff;background:#16a34a;border-color:#16a34a;font-size:.65rem}.sync-wizard-rail__label{color:var(--text-dim);text-align:center;font-size:.62rem;font-weight:600;line-height:1.2}.sync-wizard-rail__item--active .sync-wizard-rail__label{color:var(--accent)}.sync-wizard-steps{flex-direction:column;gap:.5rem;display:flex}.sync-step-card{border:1px solid var(--border);background:#fff;border-radius:10px;overflow:hidden}.sync-step-card[open]{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));box-shadow:0 2px 8px #0f172a0a}.sync-step-card__summary{cursor:pointer;-webkit-user-select:none;user-select:none;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.65rem;padding:.65rem .85rem;list-style:none;display:grid}.sync-step-card__summary::-webkit-details-marker{display:none}.sync-step-card__num{background:var(--surface-alt);width:1.5rem;height:1.5rem;color:var(--text-dim);border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;font-weight:800;display:flex}.sync-step-card[open] .sync-step-card__num{background:var(--accent);color:#fff}.sync-step-card__title{font-size:.88rem;font-weight:700}.sync-step-card__badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.15rem .5rem;font-size:.62rem;font-weight:700}.sync-step-card__badge--done{color:#16a34a;background:#16a34a1f}.sync-step-card__badge--current{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.sync-step-card__badge--pending{background:var(--surface-alt);color:var(--text-dim)}.sync-step-card__chevron{color:var(--text-dim);font-size:.65rem;transition:transform .15s}.sync-step-card[open] .sync-step-card__chevron{transform:rotate(180deg)}.sync-step-card__body{border-top:1px solid var(--border);padding:0 .85rem .85rem;font-size:.84rem}.sync-step-hint{color:var(--text-dim);margin:.65rem 0 .75rem;font-size:.8rem;line-height:1.45}.sync-uri-row{background:var(--surface-alt);border:1px solid var(--border);border-radius:8px;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;padding:.55rem .65rem;display:flex}.sync-uri-row code{word-break:break-all;flex:1;font-size:.72rem;line-height:1.4}.sync-form-grid{gap:.65rem;margin-bottom:.75rem;display:grid}.sync-form-grid--2{grid-template-columns:1fr 1fr}.sync-field{flex-direction:column;gap:.25rem;display:flex}.sync-field--full{grid-column:1/-1}.sync-field>span{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;font-size:.68rem;font-weight:700}.sync-field small{color:var(--text-dim);font-size:.72rem}.sync-mapping-toolbar{flex-wrap:wrap;gap:.45rem;margin-bottom:.65rem;display:flex}.sync-mapping-panel{border:1px solid var(--border);background:var(--surface-alt,#f8fafc);border-radius:8px;min-height:4rem;padding:.65rem}.sync-mapping-panel .ledger-sync-map{margin-top:0}.sync-schedule-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.sync-schedule-row select{min-width:11rem}.sync-bg-connect{background:var(--surface-alt);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.65rem;display:flex}.sync-connected-chip{color:#16a34a;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;display:inline-flex}.sync-checklist{flex-direction:column;gap:.35rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.sync-checklist__item{color:var(--text-dim);align-items:flex-start;gap:.45rem;font-size:.78rem;display:flex}.sync-checklist__item--ok{color:#16a34a}.sync-checklist__item em{color:var(--text-dim);font-size:.72rem;font-style:normal}.sync-schedule-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ledger-sync-ops-block--compact .ledger-sync-ops-toolbar{margin-top:0;padding:.55rem}.ledger-sync-ops-block--compact .ledger-sync-panel__head{display:none}@media (width<=640px){.sync-form-grid--2{grid-template-columns:1fr}.sync-wizard-header{flex-direction:column}.sync-provider-tabs{width:100%}.sync-provider-tab{flex:1;justify-content:center}}.ledger-sync-bg-job-meta{background:var(--surface-alt);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.35rem;margin:1rem 0;padding:.85rem 1rem;font-size:.82rem;display:flex}.ledger-sync-bg-job-meta__error{color:var(--danger);font-weight:600}.ledger-sync-readiness{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.ledger-sync-readiness__item{background:var(--surface-alt);border:1px solid var(--border);border-radius:8px;align-items:flex-start;gap:.6rem;padding:.5rem .65rem;font-size:.82rem;display:flex}.ledger-sync-readiness__item--ok{color:var(--success,#16a34a)}.ledger-sync-readiness__item--ok strong{color:var(--text-main)}.ledger-sync-readiness__item--pending{color:var(--text-dim)}.ledger-sync-readiness__hint{color:var(--text-dim);margin-top:.15rem;font-size:.75rem;font-weight:400;display:block}.admin-sync-log-host{display:contents}.sync-log-modal{z-index:10050;justify-content:center;align-items:flex-end;padding:1rem;display:flex;position:fixed;inset:0}.sync-log-modal[hidden]{display:none!important}.sync-log-modal__backdrop{cursor:pointer;background:#0f172a73;border:0;position:absolute;inset:0}.sync-log-drawer{--sync-log-drawer-height:min(52vh, 480px);z-index:1;width:min(960px,100%);height:var(--sync-log-drawer-height);background:#0b1220;border:1px solid #334155;border-radius:10px 10px 0 0;flex-direction:column;max-height:calc(100vh - 2rem);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;display:flex;position:relative;overflow:hidden;box-shadow:0 -8px 32px #00000059}.sync-log-drawer__resize{cursor:ns-resize;background:0 0;height:5px;position:absolute;top:0;left:0;right:0}.sync-log-drawer__resize:hover{background:#38bdf859}.sync-log-drawer__header{background:#1e293b;border-bottom:1px solid #334155;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .75rem;display:flex}.sync-log-drawer__header-left{color:#e2e8f0;align-items:center;gap:.5rem;min-width:0;font-size:.78rem;display:flex}.sync-log-drawer__title{font-family:inherit;font-weight:700}.sync-log-drawer__count{color:#94a3b8;font-family:inherit;font-size:.72rem}.sync-log-drawer__actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.sync-log-drawer__btn{color:#cbd5e1;cursor:pointer;background:#0f172a;border:1px solid #475569;border-radius:4px;padding:.2rem .55rem;font-family:inherit;font-size:.72rem}.sync-log-drawer__btn:hover{color:#f8fafc;background:#334155}.sync-log-drawer__btn--icon{padding:.1rem .45rem;font-size:1rem;line-height:1}.sync-log-drawer__body{flex:1;min-height:0;overflow:auto}.sync-log-drawer__table{border-collapse:collapse;width:100%;font-size:.68rem;line-height:1.45}.sync-log-drawer__table thead{z-index:1;background:#111827;position:sticky;top:0}.sync-log-drawer__table th{text-align:left;color:#94a3b8;white-space:nowrap;border-bottom:1px solid #334155;padding:.35rem .65rem;font-weight:600}.sync-log-drawer__table th:first-child{width:5.5rem}.sync-log-drawer__table th:nth-child(2){width:4.5rem}.sync-log-drawer__row td{vertical-align:top;color:#cbd5e1;border-bottom:1px solid #3341558c;padding:.2rem .65rem}.sync-log-drawer__row:hover td{background:#1e293ba6}.sync-log-drawer__time{color:#64748b;white-space:nowrap}.sync-log-drawer__level{white-space:nowrap;font-weight:700}.sync-log-drawer__level--error{color:#f87171}.sync-log-drawer__level--warn{color:#fbbf24}.sync-log-drawer__level--skip{color:#94a3b8}.sync-log-drawer__level--parse{color:#34d399}.sync-log-drawer__level--db{color:#60a5fa}.sync-log-drawer__level--info{color:#a5b4fc}.sync-log-drawer__detail{color:#64748b}.sync-log-drawer__empty td{color:#64748b;text-align:center;padding:1rem .75rem;font-family:system-ui,sans-serif}.sync-log-open-btn{flex-shrink:0}@media (width<=640px){.sync-log-drawer{--sync-log-drawer-height:min(50vh, 360px)}.sync-log-drawer__table th:first-child,.sync-log-drawer__time{display:none}}.sync-run-audit__toolbar{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.sync-run-audit-table-wrap{border:1px solid var(--border);border-radius:8px;overflow:auto}.sync-run-audit-table{border-collapse:collapse;width:100%;font-size:.78rem}.sync-run-audit-table th{text-align:left;background:var(--surface-alt);border-bottom:1px solid var(--border);white-space:nowrap;padding:.45rem .65rem}.sync-run-audit-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.4rem .65rem}.sync-run-audit-table__row:hover td{background:var(--surface-alt)}.sync-run-source{border-radius:4px;padding:.1rem .4rem;font-size:.72rem;font-weight:600;display:inline-block}.sync-run-source--cron{color:#1d4ed8;background:#dbeafe}.sync-run-source--manual_api{color:#b45309;background:#fef3c7}.sync-run-source--browser{color:#15803d;background:#dcfce7}.sync-run-status{border-radius:4px;padding:.1rem .4rem;font-size:.72rem;font-weight:700;display:inline-block}.sync-run-status--ok{color:#15803d;background:#dcfce7}.sync-run-status--warn{color:#b45309;background:#fef3c7}.sync-run-status--failed{color:#b91c1c;background:#fee2e2}.sync-run-status--running{color:#4338ca;background:#e0e7ff}.sync-run-status--rolled_back{color:#4b5563;background:#f3f4f6}.sync-run-audit-detail td{background:#0f172a;padding:0}.sync-run-audit-detail__inner{padding:.65rem .75rem .85rem}.sync-run-audit-detail__msg{color:#cbd5e1;margin:0 0 .5rem;font-size:.75rem}.sync-run-log-viewer{border:1px solid #334155;border-radius:6px;max-height:16rem;overflow:auto}.sync-run-log-table{border-collapse:collapse;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.68rem}.sync-run-log-table th{color:#94a3b8;text-align:left;background:#1e293b;padding:.3rem .5rem;position:sticky;top:0}.sync-run-log-table td{color:#cbd5e1;vertical-align:top;border-bottom:1px solid #33415580;padding:.18rem .5rem}.sync-run-log__level--error{color:#f87171;font-weight:700}.sync-run-log__level--warn{color:#fbbf24;font-weight:700}.sync-run-log__level--skip{color:#94a3b8;font-weight:700}.sync-run-log__level--parse{color:#34d399;font-weight:700}.sync-run-log__level--db{color:#60a5fa;font-weight:700}.sync-run-log__level--info{color:#a5b4fc;font-weight:700}.sync-run-log__detail{color:#64748b}#ops-subview-notices .notice-page-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}#ops-subview-notices .notice-page-head h3{margin:0 0 .25rem;font-size:1.05rem;font-weight:900}#ops-subview-notices .notice-page-head p{color:var(--text-dim);max-width:32rem;margin:0;font-size:.82rem;line-height:1.45}#ops-subview-notices .notice-metrics{margin-bottom:1rem;padding:0}#ops-subview-notices .notice-tabs{border-bottom:none;margin-bottom:.25rem;padding:0 0 .85rem}#ops-subview-notices .notice-registry{margin:0}#ops-subview-notices .notice-registry .registry-header,#ops-subview-notices .ops-notice-row{grid-template-columns:minmax(0,2fr) 72px minmax(0,1fr) 72px 88px 110px}#ops-subview-notices .ops-notice-row--draft{background:#fffbeb}#ops-subview-notices .ops-notice-row__title strong{margin-bottom:.15rem;font-size:.88rem;display:block}#ops-subview-notices .ops-notice-row__preview{color:var(--text-dim);font-size:.74rem;line-height:1.35;display:block}#ops-subview-notices .ops-notice-row__audience,#ops-subview-notices .ops-notice-row__date{color:var(--text-dim);font-size:.76rem;font-weight:600}#ops-subview-notices .ops-notice-row__actions{justify-content:flex-end;gap:.35rem;display:flex}#ops-subview-notices .notice-status{text-transform:uppercase;border-radius:999px;padding:.15rem .45rem;font-size:.62rem;font-weight:800;display:inline-block}#ops-subview-notices .notice-status--draft{color:#b45309;background:#fef3c7}#ops-subview-notices .notice-status--live{color:#166534;background:#dcfce7}#ops-subview-notices .notice-priority{text-transform:uppercase;border-radius:4px;padding:.12rem .4rem;font-size:.62rem;font-weight:800;display:inline-block}#ops-subview-notices .notice-priority--low{color:#64748b;background:#f1f5f9}#ops-subview-notices .notice-priority--normal{color:#0369a1;background:#e0f2fe}#ops-subview-notices .notice-priority--high{color:#c2410c;background:#ffedd5}#ops-subview-notices .notice-priority--urgent{color:#b91c1c;background:#fee2e2}#ops-subview-notices .notice-empty-panel{text-align:center;color:var(--text-dim);padding:2.5rem 1.5rem}#ops-subview-notices .notice-empty-panel i{opacity:.35;margin-bottom:.65rem;font-size:1.75rem;display:block}#ops-subview-notices .notice-compose-view[hidden],#ops-subview-notices #notice-list-view[hidden]{display:none!important}#ops-subview-notices .notice-back{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;margin-bottom:1rem;padding:0;font-size:.82rem;font-weight:700;display:inline-flex}#ops-subview-notices .notice-back:hover{text-decoration:underline}#ops-subview-notices .notice-compose-card{border:1px solid var(--border);background:#fff;border-radius:14px;max-width:720px;overflow:hidden;box-shadow:0 2px 8px #0f172a0f}#ops-subview-notices .notice-compose-card__header{border-bottom:1px solid var(--border);background:#f8fafc;padding:1.15rem 1.5rem}#ops-subview-notices .notice-compose-card__header h3{margin:0 0 .25rem;font-size:1rem;font-weight:900}#ops-subview-notices .notice-compose-card__header p{color:var(--text-dim);margin:0;font-size:.8rem}#ops-subview-notices .notice-compose-form{padding:1.35rem 1.5rem 0}#ops-subview-notices .notice-compose-form__field{margin-bottom:1.15rem}#ops-subview-notices .notice-compose-form__label{margin-bottom:.4rem;font-size:.8rem;font-weight:700;display:block}#ops-subview-notices .notice-compose-form__optional{color:var(--text-dim);font-weight:500}#ops-subview-notices .ops-notice-row__delivery{color:var(--text-dim);margin-top:.25rem;font-size:.7rem;font-weight:600;display:block}#ops-subview-notices .ops-notice-row__delivery i{opacity:.75;margin-right:.25rem}#ops-subview-notices .notice-delivery-channels{background:0 0;border:none;margin-top:1rem;padding:0}#ops-subview-notices .notice-delivery-channels>.notice-compose-form__label{margin-bottom:.5rem}#ops-subview-notices .notice-delivery-channels__grid{flex-direction:column;gap:.5rem;margin-top:.65rem;display:flex}#ops-subview-notices .notice-delivery-option{border:1px solid var(--border);cursor:pointer;background:#fafafa;border-radius:8px;align-items:flex-start;gap:.65rem;padding:.65rem .75rem;display:flex}#ops-subview-notices .notice-delivery-option:has(input:checked){border-color:var(--accent);background:#eff6ff}#ops-subview-notices .notice-delivery-option input{flex-shrink:0;margin-top:.2rem}#ops-subview-notices .notice-delivery-option__icon{text-align:center;width:1.75rem;color:var(--accent);flex-shrink:0;padding-top:.1rem}#ops-subview-notices .notice-delivery-option__text{flex-direction:column;gap:.1rem;display:flex}#ops-subview-notices .notice-delivery-option__text strong{font-size:.82rem}#ops-subview-notices .notice-delivery-option__text small{color:var(--text-dim);font-size:.72rem;line-height:1.35}#ops-subview-notices .notice-compose-form__input,#ops-subview-notices .notice-compose-form__textarea{box-sizing:border-box;border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;padding:.65rem .75rem;font-family:inherit;font-size:.88rem;display:block}#ops-subview-notices .notice-compose-form__input:focus,#ops-subview-notices .notice-compose-form__textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #2563eb1f}#ops-subview-notices .notice-compose-form__textarea{resize:vertical;min-height:200px;line-height:1.5}#ops-subview-notices .notice-compose-form__field--editor{margin-bottom:1.25rem}#ops-subview-notices .notice-editor{border:1px solid var(--border);background:#fff;border-radius:8px;overflow:hidden}#ops-subview-notices .notice-editor .ql-toolbar{border:none;border-bottom:1px solid var(--border);background:#f8fafc;padding:.5rem .65rem;font-family:inherit}#ops-subview-notices .notice-editor .ql-container{border:none;font-family:inherit;font-size:.88rem}#ops-subview-notices .notice-editor__mount{min-height:200px}#ops-subview-notices .notice-editor .ql-editor{min-height:200px;padding:.75rem .85rem;line-height:1.55}#ops-subview-notices .notice-editor .ql-editor.ql-blank:before{color:#94a3b8;font-style:normal}#ops-subview-notices .notice-editor .ql-stroke{stroke:#64748b}#ops-subview-notices .notice-editor .ql-fill{fill:#64748b}#ops-subview-notices .notice-editor .ql-active .ql-stroke{stroke:var(--accent)}#ops-subview-notices .notice-editor .ql-active .ql-fill{fill:var(--accent)}.portal-notice-body{color:var(--text);font-size:.88rem;line-height:1.55}.portal-notice-body p{margin:0 0 .65rem}.portal-notice-body p:last-child{margin-bottom:0}.portal-notice-body ul,.portal-notice-body ol{margin:.35rem 0 .65rem 1.25rem;padding:0}.portal-notice-body a{color:var(--accent);text-decoration:underline}.portal-notice-body h1,.portal-notice-body h2,.portal-notice-body h3{margin:.5rem 0 .35rem;font-size:1rem;font-weight:800}#ops-subview-notices .notice-compose-form__settings{border:1px solid var(--border);background:#fafafa;border-radius:10px;margin:0;padding:1rem 1.15rem}#ops-subview-notices .notice-compose-form__settings legend{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);padding:0 .35rem;font-size:.72rem;font-weight:800}#ops-subview-notices .notice-compose-form__settings-grid{grid-template-columns:1fr;gap:1rem;margin-top:.65rem;display:grid}@media (width>=640px){#ops-subview-notices .notice-compose-form__settings-grid{grid-template-columns:1fr 1fr}}#ops-subview-notices .notice-priority-pills{flex-wrap:wrap;gap:.35rem;display:flex}#ops-subview-notices .notice-priority-pill{border:1px solid var(--border);cursor:pointer;color:var(--text-dim);background:#fff;border-radius:8px;padding:.35rem .7rem;font-size:.76rem;font-weight:700}#ops-subview-notices .notice-priority-pill.active{border-color:var(--accent);color:var(--accent);background:#eff6ff}#ops-subview-notices .notice-priority-pill--urgent.active{color:#b91c1c;background:#fef2f2;border-color:#ef4444}#ops-subview-notices .notice-blocks-panel{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}#ops-subview-notices .notice-block-chips{flex-wrap:wrap;gap:.4rem;margin-top:.4rem;display:flex}#ops-subview-notices .notice-block-chip{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;padding:.35rem .75rem;font-size:.78rem;font-weight:700}#ops-subview-notices .notice-block-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}#ops-subview-notices .notice-compose-form__hint{color:var(--text-dim);margin:.4rem 0 0;font-size:.74rem}#ops-subview-notices .notice-compose-card__footer{border-top:1px solid var(--border);background:#f8fafc;justify-content:flex-end;gap:.5rem;margin-top:.5rem;padding:1rem 1.5rem 1.25rem;display:flex}@media (width<=720px){#ops-subview-notices .notice-registry .registry-header{display:none}#ops-subview-notices .ops-notice-row{grid-template-columns:1fr;gap:.35rem}#ops-subview-notices .ops-notice-row__actions{justify-content:flex-start}}.ql-container{box-sizing:border-box;height:100%;margin:0;font-family:Helvetica,Arial,sans-serif;font-size:13px;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{height:1px;position:absolute;top:50%;left:-100000px;overflow-y:hidden}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word;outline:none;height:100%;padding:12px 15px;line-height:1.42;overflow-y:auto}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{padding-left:1.5em;list-style-type:none;position:relative}.ql-editor li>.ql-ui:before{text-align:right;white-space:nowrap;width:1.2em;margin-left:-1.5em;margin-right:.3em;display:inline-block}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0, decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3, decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6, decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9, decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{text-align:left;margin-left:.3em;margin-right:-1.5em}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{max-width:100%;display:block}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{text-align:inherit;direction:rtl}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);pointer-events:none;font-style:italic;position:absolute;left:15px;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{cursor:pointer;float:left;background:0 0;border:none;width:28px;height:24px;padding:3px 5px;display:inline-block}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{vertical-align:middle;display:inline-block}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2px}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1px}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-top:5px;margin-bottom:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-top:5px;margin-bottom:5px;padding:5px 10px}.ql-snow .ql-editor code{padding:2px 4px;font-size:85%}.ql-snow .ql-editor .ql-code-block-container{color:#f8f8f2;background-color:#23241f;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;float:left;vertical-align:middle;height:24px;font-size:14px;font-weight:500;display:inline-block;position:relative}.ql-snow .ql-picker-label{cursor:pointer;width:100%;height:100%;padding-left:8px;padding-right:2px;display:inline-block;position:relative}.ql-snow .ql-picker-label:before{line-height:22px;display:inline-block}.ql-snow .ql-picker-options{white-space:nowrap;background-color:#fff;min-width:100%;padding:4px 8px;display:none;position:absolute}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;padding-top:5px;padding-bottom:5px;display:block}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{z-index:1;margin-top:-1px;display:block;top:100%}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{width:24px;height:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{width:152px;padding:3px 5px}.ql-snow .ql-color-picker .ql-picker-item{float:left;border:1px solid #0000;width:16px;height:16px;margin:2px;padding:0}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{width:18px;margin-top:-9px;position:absolute;top:50%;right:0}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{top:5px;right:5px}.ql-toolbar.ql-snow{box-sizing:border-box;border:1px solid #ccc;padding:8px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid #0000}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid #0000;box-shadow:0 2px 8px #0003}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{color:#444;white-space:nowrap;background-color:#fff;border:1px solid #ccc;padding:5px 12px;box-shadow:0 0 5px #ddd}.ql-snow .ql-tooltip:before{content:"Visit URL:";margin-right:8px;line-height:26px}.ql-snow .ql-tooltip input[type=text]{border:1px solid #ccc;width:170px;height:26px;margin:0;padding:3px 5px;font-size:13px;display:none}.ql-snow .ql-tooltip a.ql-preview{text-overflow:ellipsis;vertical-align:top;max-width:200px;display:inline-block;overflow-x:hidden}.ql-snow .ql-tooltip a.ql-action:after{content:"Edit";border-right:1px solid #ccc;margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{content:"Save";border-right:0;padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.visitor-page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.visitor-page-head h3{margin:0 0 .25rem;font-size:1.05rem}.visitor-page-head p{color:var(--text-dim);margin:0;font-size:.82rem}.visitor-metrics{margin-bottom:1.25rem}.visitor-layout{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem;display:grid}@media (width<=960px){.visitor-layout{grid-template-columns:1fr}}.visitor-log-panel,.visitor-parcels-panel{padding:1rem 1.1rem}.visitor-log-panel h4,.visitor-parcels-panel h4{margin:0 0 .75rem;font-size:.9rem}.visitor-purpose-tabs{margin-bottom:1rem}.visitor-entry-form{grid-template-columns:1fr 1fr;gap:.65rem .85rem;display:grid}.visitor-entry-form__field{flex-direction:column;gap:.3rem;display:flex}.visitor-entry-form__field--full{grid-column:1/-1}.visitor-entry-form__label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:600}.visitor-entry-form__input,.visitor-entry-form select,.visitor-entry-form textarea{width:100%}.visitor-entry-form__actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.visitor-entry-form__check{cursor:pointer;align-items:center;gap:.45rem;font-size:.82rem;display:flex}.visitor-entry-form__check input{width:auto}.visitor-company-chips{flex-wrap:wrap;gap:.35rem;margin-top:.25rem;display:flex}.visitor-company-chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text-dim);border-radius:999px;padding:.2rem .55rem;font-size:.72rem}.visitor-company-chip:hover,.visitor-company-chip.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.visitor-parcels-panel__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.visitor-parcel-receive{border-top:1px solid var(--border);margin-top:.85rem;padding-top:.85rem}.visitor-parcel-receive[hidden]{display:none!important}.visitor-parcel-row{border-bottom:1px solid var(--border);grid-template-columns:1.2fr 1fr .7fr auto;align-items:center;gap:.5rem;padding:.7rem 0;font-size:.82rem;display:grid}.visitor-parcel-row:last-child{border-bottom:none}.visitor-parcel-row__meta{color:var(--text-dim);font-size:.72rem}.visitor-parcel-collect{background:var(--surface-alt,#f8fafc);border-radius:8px;grid-column:1/-1;margin-top:.35rem;padding:.75rem}.visitor-parcel-collect form{grid-template-columns:1fr 1fr auto;align-items:end;gap:.5rem;display:grid}@media (width<=720px){.visitor-parcel-collect form{grid-template-columns:1fr}}.visitor-log-tabs{margin-bottom:.75rem}.visitor-registry .registry-list__head,.visitor-row{grid-template-columns:1.4fr 1fr 1fr 1fr auto;align-items:center;gap:.5rem;display:grid}.visitor-row{border-bottom:1px solid var(--border);padding:.75rem .95rem;font-size:.82rem}.visitor-row__name{font-weight:600}.visitor-row__purpose{text-transform:uppercase;letter-spacing:.04em;background:var(--surface-alt,#f1f5f9);color:var(--text-dim);border-radius:4px;margin-left:.35rem;padding:.12rem .4rem;font-size:.68rem;font-weight:600;display:inline-block}.visitor-row__purpose--delivery{color:#b45309;background:#f59e0b26}.visitor-row__purpose--guest{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.visitor-row__purpose--service{color:#6d28d9;background:#8b5cf61f}.visitor-row__sub{color:var(--text-dim);margin-top:.15rem;font-size:.72rem;font-weight:500;display:block}.visitor-row__actions{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.visitor-empty{text-align:center;color:var(--text-dim);padding:1.25rem;font-size:.85rem}.visitor-waiting{color:#b45309;font-size:.72rem;font-weight:600}.visitor-waiting--long{color:#dc2626}@media (width<=900px){.visitor-entry-form{grid-template-columns:1fr}.visitor-registry .registry-list__head,.visitor-row{grid-template-columns:1fr;gap:.25rem}.visitor-parcel-row{grid-template-columns:1fr}}#view-security .header-title p{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.sec-clock{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:600}.security-subview-tabs{margin-bottom:0}.sec-gate-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.sec-gate-head h3{margin:0;font-size:1rem}.sec-refresh-btn{flex-shrink:0}.sec-purpose-tabs{margin-bottom:1rem}.sec-purpose-tabs button{flex:1;min-width:5.5rem;padding:.55rem .75rem;font-size:.85rem;font-weight:600}.sec-entry-form{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.sec-entry-form__field{flex-direction:column;gap:.35rem;display:flex}.sec-entry-form__field--full{grid-column:1/-1}.sec-entry-form__label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:600}.sec-entry-form .expense-combobox{padding:.55rem .7rem;font-size:.95rem}.sec-entry-form__actions{grid-column:1/-1}.sec-entry-save{width:100%;padding:.7rem 1rem;font-size:.95rem}.sec-section{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1.25rem}.sec-section__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.sec-section__head h4{margin:0;font-size:.9rem}.sec-active-list .visitor-row--compact{grid-template-columns:1.5fr .8fr auto;padding:.85rem .5rem}.sec-active-list .visitor-row--compact>div:nth-child(3),.sec-active-list .visitor-row--compact>div:nth-child(4){display:none}.sec-exit-btn,.sec-collect-btn{min-width:4.5rem;padding:.45rem .85rem}.sec-log-panel{max-width:960px}.sec-passes-form{grid-template-columns:1fr 1fr auto auto;align-items:end;gap:.65rem;margin-bottom:1rem;display:grid}@media (width<=720px){.sec-entry-form,.sec-passes-form{grid-template-columns:1fr}}.gate-wizard{max-width:640px;margin-bottom:1.25rem}.gate-wizard__steps{flex-wrap:wrap;gap:.35rem;margin-bottom:1.25rem;display:flex}.gate-wizard__step-dot{background:var(--border);border-radius:999px;flex:1;min-width:3rem;height:4px;transition:background .2s}.gate-wizard__step-dot--done,.gate-wizard__step-dot--active{background:var(--accent)}.gate-wizard__card{padding:1.15rem 1.2rem}.gate-wizard__toolbar{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.65rem;display:flex}.gate-wizard__step-label{color:var(--text-dim);font-size:.78rem;font-weight:600}.gate-wizard__cancel-link{color:var(--text-dim);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:.25rem 0;font-size:.78rem;font-weight:600;text-decoration:underline}.gate-wizard__cancel-link:hover{color:#dc2626}.gate-wizard__section{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.gate-wizard__section-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.65rem;font-size:.72rem;font-weight:600;display:block}.gate-wizard__optional{text-transform:none;letter-spacing:0;color:var(--text-dim);font-weight:500}.gate-wizard__hint--inline{margin:0}.gate-wizard__field-row{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.gate-wizard__title{margin:0 0 .35rem;font-size:1.05rem}.gate-wizard__hint{color:var(--text-dim);margin:0 0 1rem;font-size:.82rem}.gate-wizard__purpose-grid{grid-template-columns:repeat(3,1fr);gap:.65rem;display:grid}.gate-wizard__purpose-btn{border:2px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text);border-radius:10px;flex-direction:column;align-items:center;gap:.4rem;padding:1rem .5rem;font-size:.85rem;font-weight:600;display:flex}.gate-wizard__purpose-btn i{color:var(--accent);font-size:1.25rem}.gate-wizard__purpose-btn:hover,.gate-wizard__purpose-btn.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.gate-wizard__field{flex-direction:column;gap:.35rem;margin-bottom:.85rem;display:flex}.gate-wizard__label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:600}.gate-wizard__or{text-align:center;color:var(--text-dim);margin:.5rem 0;font-size:.75rem}.gate-wizard__lookup-hit{background:color-mix(in srgb, var(--accent) 8%, transparent);border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);border-radius:8px;margin-top:.75rem;padding:.75rem;font-size:.82rem}.gate-wizard__lookup-hit strong{margin-bottom:.25rem;display:block}.gate-wizard__flat-tags{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:.5rem .65rem .45rem}.gate-wizard__flat-tags:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 15%, transparent)}.gate-wizard__flat-chips{flex-wrap:wrap;gap:.4rem;min-height:0;margin-bottom:.35rem;display:flex}.gate-wizard__flat-chips:empty{margin-bottom:0;display:none}.gate-wizard__flat-picker .flat-picker__input{box-shadow:none;background:0 0;border:none;padding-left:.15rem;padding-right:.15rem}.gate-wizard__flat-picker .flat-picker__input:focus{box-shadow:none;outline:none}.gate-wizard__flat-picker .flat-picker__wrap{min-height:2.25rem}.gate-wizard__flat-chip{background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .55rem;font-size:.8rem;font-weight:600;display:inline-flex}.gate-wizard__flat-chip button{cursor:pointer;color:var(--text-dim);background:0 0;border:none;padding:0;line-height:1}.gate-wizard__review{font-size:.85rem;line-height:1.55}.gate-wizard__review dt{color:var(--text-dim);text-transform:uppercase;margin-top:.65rem;font-size:.72rem;font-weight:600}.gate-wizard__review dd{margin:.15rem 0 0}.gate-wizard__footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1.25rem;display:flex}.gate-wizard__footer--end{justify-content:flex-end}.gate-wizard__footer-nav{flex:1;justify-content:flex-end;gap:.5rem;display:flex}.gate-wizard__footer-nav .btn-primary{min-width:8rem;padding:.65rem 1rem}.gate-wizard__cancel-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:.45rem .5rem;font-size:.82rem;font-weight:600}.gate-wizard__cancel-btn:hover{color:#dc2626}.gate-wizard__waiting{text-align:center;padding:1rem 0}.gate-wizard__waiting-icon{color:var(--accent);margin-bottom:.5rem;font-size:2rem}.gate-wizard__unit-status{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.6rem 0;font-size:.85rem;display:flex}.gate-wizard__unit-status:last-child{border-bottom:none}.gate-pending-panel{margin-bottom:1rem}.gate-pending-panel h4{margin:0 0 .65rem;font-size:.9rem}.gate-pending-row{border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.7rem .85rem;font-size:.82rem;display:flex}.portal-visitor-approval{border:1px solid var(--border);border-radius:10px;margin-bottom:.75rem;padding:1rem}.portal-visitor-approval__meta{color:var(--text-dim);margin:.35rem 0 .75rem;font-size:.78rem}.portal-visitor-approval__actions{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=520px){.gate-wizard__purpose-grid{grid-template-columns:1fr}}.dashboard{max-width:1200px;padding:0 1.6rem 2rem}.dashboard-header{margin-bottom:1.5rem}.dashboard-header__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:0 0 .2rem;font-size:.72rem;font-weight:700}.dashboard-header__subtitle{color:var(--text-dim);margin:.35rem 0 0;font-size:.92rem}.dashboard-section{margin-bottom:1.5rem}.dashboard-section__title{color:var(--text);margin:0 0 .75rem;font-size:.95rem;font-weight:700}.dashboard-stats{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;display:grid}.dashboard-stat{flex-direction:column;gap:.2rem;display:flex;padding:.85rem 1rem!important}.dashboard-stat__value{line-height:1.15;font-size:1.45rem!important}.dashboard-stat__sub{color:var(--text-dim);font-size:.78rem;font-weight:500}.dashboard-sync-banner{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:.85rem;margin-bottom:1.5rem;padding:.85rem 1rem;display:flex}.dashboard-sync-banner>i{color:var(--accent);font-size:1.25rem}.dashboard-sync-banner div{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.dashboard-sync-banner strong{font-size:.92rem}.dashboard-sync-banner span{color:var(--text-dim);font-size:.82rem}.dashboard-sync-banner--error,.dashboard-sync-banner--failed{background:#fef2f2;border-color:#fecaca}.dashboard-sync-banner--warn{background:#fff7ed;border-color:#fed7aa}.dashboard-columns{grid-template-columns:1.4fr 1fr;align-items:start;gap:1.25rem;display:grid}.dashboard-action-list{flex-direction:column;gap:.5rem;display:flex}.dashboard-action{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:.75rem;width:100%;padding:.85rem 1rem;transition:border-color .15s,box-shadow .15s;display:flex}.dashboard-action:hover{border-color:#cbd5e1;box-shadow:0 4px 14px #0f172a0f}.dashboard-action__icon{width:2.25rem;height:2.25rem;color:var(--accent);background:#f1f5f9;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dashboard-action--danger .dashboard-action__icon{color:#b91c1c;background:#fee2e2}.dashboard-action--warn .dashboard-action__icon{color:#c2410c;background:#ffedd5}.dashboard-action__body{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.dashboard-action__body strong{color:var(--text);font-size:.92rem}.dashboard-action__body span{color:var(--text-dim);font-size:.82rem}.dashboard-action__chev{color:#94a3b8;font-size:.75rem}.dashboard-empty{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;align-items:center;gap:.6rem;margin:0;padding:1.25rem;font-size:.92rem;display:flex}.dashboard-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.dashboard-quick-btn{cursor:pointer;text-align:left;color:var(--text);background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;align-items:flex-start;gap:.45rem;padding:.85rem .95rem;font-size:.88rem;font-weight:600;transition:border-color .15s,background .15s;display:flex}.dashboard-quick-btn:hover{border-color:var(--accent);background:var(--accent-soft,#eff6ff)}.dashboard-quick-btn i{color:var(--accent);font-size:1.1rem}@media (width<=900px){.dashboard-columns{grid-template-columns:1fr}}@media (width<=520px){.dashboard{padding:0 1rem 1.5rem}.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-quick-actions{grid-template-columns:1fr}.dashboard-sync-banner{flex-wrap:wrap}}.module-access-card{border:1px solid var(--border);background:#fff;border-radius:8px;margin-top:2rem;padding:1.5rem}.module-access-card__title{color:var(--text-main);letter-spacing:-.02em;margin:0 0 .35rem;font-size:1.1rem;font-weight:900}.module-access-card__desc{color:var(--text-dim);margin:0 0 1.25rem;font-size:.8rem}.module-access-hint{color:var(--text-dim);margin:0 0 1rem;font-size:.82rem;line-height:1.45}.module-access-hint--error{color:var(--danger)}.module-access-label{color:var(--text-dim);text-transform:uppercase;margin-bottom:.35rem;font-size:.65rem;font-weight:900;display:block}.module-toggle-grid{flex-direction:column;gap:.45rem;display:flex}.module-toggle-row{cursor:pointer;background:#fafbfc;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .85rem;display:flex}.module-toggle-row__lead{align-items:flex-start;gap:.65rem;min-width:0;display:flex}.module-toggle-row__lead i{color:var(--accent);text-align:center;width:1.1rem;margin-top:.15rem}.module-toggle-row__lead strong{font-size:.88rem;display:block}.module-toggle-row__lead small{color:var(--text-dim);margin-top:.1rem;font-size:.75rem;font-weight:500;display:block}.module-toggle-row input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--accent);flex-shrink:0}.module-toggle-row--user{cursor:default}.module-toggle-row--locked{cursor:default;opacity:.92;background:#f8fafc}.module-toggle-row--locked input[disabled]{cursor:not-allowed}.module-toggle-row__select{border:1px solid var(--border);border-radius:8px;min-width:140px;padding:.4rem .55rem;font-size:.82rem;font-weight:600}.module-access-actions{margin-top:1rem}#user-module-access-panel{border-top:1px dashed var(--border);margin-top:.5rem;padding-top:1rem}#user-access-modal .modal-content{max-width:520px}@media (width<=520px){.module-toggle-row{flex-direction:column;align-items:stretch}.module-toggle-row__select{width:100%}}.page-access-header{margin-bottom:1.25rem}.page-access-title{letter-spacing:-.02em;margin:0 0 .35rem;font-size:1.35rem;font-weight:900}.page-access-hint{color:var(--text-dim);margin:0;font-size:.82rem;line-height:1.45}.page-access-hint--error{color:var(--danger,#c0392b)}.page-access-hint--footer{margin-top:1.25rem}.page-access-toolbar{background:var(--surface-elevated,#00000005);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.page-access-toolbar__role{text-transform:uppercase;color:var(--text-dim);flex-direction:column;gap:.35rem;font-size:.65rem;font-weight:900;display:flex}.page-access-toolbar__role select{border:1px solid var(--border);border-radius:10px;min-width:12rem;padding:.55rem .65rem;font-size:.9rem;font-weight:700}.page-access-toolbar__actions{flex-wrap:wrap;gap:.5rem;display:flex}.page-access-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem;display:grid}.page-access-grid--compact{border:1px solid var(--border);border-radius:10px;grid-template-columns:1fr;max-height:280px;padding:.5rem;overflow:auto}.page-access-module{border:1px solid var(--border);background:var(--surface,#fff);border-radius:12px;overflow:hidden}.page-access-module summary{cursor:pointer;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.88rem;font-weight:800;list-style:none;display:flex}.page-access-module summary::-webkit-details-marker{display:none}.page-access-module__pages{flex-direction:column;gap:.35rem;padding:0 .75rem .75rem;display:flex}.page-access-row{border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.4rem .5rem;font-size:.85rem;display:flex}.page-access-row:hover{background:#00000008}.page-access-row__label{flex:1;font-weight:600}.page-access-row__select{border:1px solid var(--border);border-radius:8px;min-width:7.5rem;padding:.35rem .5rem;font-size:.78rem;font-weight:600}.page-access-row--user{font-size:.8rem}@media (width<=640px){.page-access-toolbar{flex-direction:column;align-items:stretch}.page-access-toolbar__actions{justify-content:stretch}.page-access-toolbar__actions .btn{flex:1}}
