:root{--font-sans:"Inter", ui-sans-serif, system-ui, -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-old-heading{font-size:.68rem;font-weight:var(--font-medium);letter-spacing:.08em;text-transform:uppercase;color:var(--sidebar-muted);border-top:1px solid var(--sidebar-border);margin:.85rem .2rem .35rem;padding:.35rem 0 0;display:none}.nav-expanded .nav-old-heading{display:block}body:not(.nav-expanded) .nav-old-heading{display:none!important}.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;position:relative}.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;-webkit-backdrop-filter:none;background:#fff;border-bottom:1px solid #e2e8f0f2;justify-content:space-between;align-items:center;gap:1rem;min-height:64px;padding:.65rem 1.25rem;display:flex;position:sticky;top:0;box-shadow:0 1px #0f172a0a,0 8px 24px #0f172a0a}.topbar-left{flex:1;align-items:center;gap:.85rem;min-width:0;display:flex}.topbar-nav-btn{border:1px solid var(--border);width:40px;height:40px;color:var(--text-main);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;transition:background .14s,border-color .14s,color .14s;display:none}.topbar-nav-btn:hover{background:var(--sidebar-hover);border-color:#d1d5db}.nav-backdrop,.nav-expanded .nav-backdrop{display:none}.topbar-brand{flex-direction:column;flex:1;align-items:flex-start;gap:0;min-width:0;display:flex}.topbar-identity{align-items:center;gap:.75rem;width:100%;min-width:0;display:flex}.topbar-logo{color:#fff;background:linear-gradient(145deg,#1a73e8 0%,#4285f4 100%);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:.95rem;display:flex;box-shadow:0 6px 16px #1a73e838}.topbar-identity-body{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.brand-lockup{flex-wrap:wrap;align-items:center;gap:.55rem;min-width:0;display:inline-flex}.brand-lockup__app{letter-spacing:-.02em;color:var(--text-main);white-space:nowrap;font-size:1.02rem;font-weight:700}a.brand-home-link{color:inherit;cursor:pointer;text-decoration:none}a.brand-home-link:hover{color:var(--accent)}.sidebar-title a.brand-home-link{color:inherit}.brand-lockup__divider{background:#d1d5db;flex-shrink:0;width:1px;height:18px}.brand-lockup__sep{font-size:var(--text-sm);font-weight:var(--font-regular);color:var(--text-dim);letter-spacing:0;text-transform:lowercase}.topbar-workspace-wrap{align-items:center;gap:.4rem;min-width:0;max-width:min(360px,100%);display:inline-flex}.topbar-workspace-icon{color:var(--accent);flex-shrink:0;font-size:.78rem}.brand-lockup__workspace{font-size:var(--text-sm);color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;background:#f8fbff;border:1px solid #dbeafe;border-radius:999px;max-width:320px;padding:.28rem .65rem;font-weight:600;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='%231a73e8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right .55rem center;background-repeat:no-repeat;min-width:8rem;padding-right:1.75rem;transition:border-color .14s,background .14s,box-shadow .14s}.brand-lockup__workspace-select:hover{background:#eff6ff;border-color:#93c5fd}.brand-lockup__workspace-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.brand-lockup__workspace-select:invalid,.brand-lockup__workspace-select option[value=""]{color:var(--text-dim)}.topbar-icon-btn{width:38px;height:38px;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:background .14s,border-color .14s,color .14s;display:inline-flex}.topbar-icon-btn:hover{color:var(--accent);background:#f8fbff;border-color:#dbeafe}.topbar-icon-btn--logout:hover{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.topbar-actions{background:#f8fafc;border:1px solid #eef2f7;border-radius:12px;flex-flow:row;align-items:center;gap:.25rem;padding:.2rem;display:flex}.topbar-ui-mode-btn{letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;gap:.35rem;width:auto;min-width:38px;padding:0 .65rem;font-size:.72rem;font-weight:700}.topbar-ui-mode-btn[aria-pressed=true]{color:#9a3412;background:#fff7ed;border-color:#fdba74}.nav-island-dot{background:#ea580c;border-radius:50%;flex-shrink:0;width:.42rem;height:.42rem;display:inline-block}.nav-island-dot--mod{position:absolute;top:-.05rem;left:1.05rem}html[data-ui-mode=new] aside{box-shadow:inset 6px 0 #1a73e8}html[data-ui-mode=new] .nav-expanded .nav-module--open .nav-module-pages{border-left:1px solid var(--sidebar-border);display:flex}body:not(.nav-expanded) .nav-island-dot--mod{display:block}.topbar-notifications-anchor{flex-shrink:0;position:relative}.topbar-notifications-anchor[hidden]{display:none!important}.topbar-notifications-btn{position:relative}.topbar-notif-badge{color:#fff;text-align:center;pointer-events:none;background:#dc2626;border-radius:999px;min-width:1.1rem;height:1.1rem;padding:0 .25rem;font-size:.62rem;font-weight:700;line-height:1.1rem;position:absolute;top:-4px;right:-4px}.notifications-panel{border:1px solid var(--border);z-index:2400;background:#fff;border-radius:12px;flex-direction:column;width:min(320px,100vw - 2rem);max-height:min(360px,55vh);position:absolute;top:calc(100% + .45rem);right:0;overflow:hidden;box-shadow:0 12px 40px #0f172a1f}.notifications-panel[hidden]{display:none!important}.notifications-panel:not([hidden]){display:flex}.notification-toast{z-index:2500;border:1px solid var(--border);border-left:3px solid var(--primary);cursor:pointer;background:#fff;border-radius:10px;width:min(320px,100vw - 2rem);padding:.75rem .9rem;animation:.2s ease-out notification-toast-in;position:fixed;top:4.25rem;right:1.25rem;box-shadow:0 8px 24px #0f172a24}.notification-toast[hidden]{display:none!important}.notification-toast__title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-main);margin-bottom:.2rem;display:block}.notification-toast__body{font-size:var(--text-xs);color:var(--text-dim);line-height:1.4;display:block}@keyframes notification-toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.notifications-panel__head{border-bottom:1px solid var(--border);font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem .85rem;display:flex}.notifications-panel__list{max-height:340px;overflow-y:auto}.notifications-panel__empty{color:var(--text-dim);font-size:var(--text-sm);text-align:center;padding:1.25rem .85rem}.notifications-panel__item{text-align:left;border:none;border-bottom:1px solid var(--border);cursor:pointer;background:#fff;flex-direction:column;gap:.2rem;width:100%;padding:.75rem .85rem;display:flex}.notifications-panel__item:hover{background:var(--sidebar-hover)}.notifications-panel__item--unread{background:#f0f9ff}.notifications-panel__item--unread:hover{background:#e0f2fe}.notifications-panel__item-title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-main)}.notifications-panel__item-body{font-size:var(--text-xs);color:var(--text-dim);line-height:1.4}.notifications-panel__item-when{color:var(--text-placeholder);font-size:.68rem}.brand-lockup__entity{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1.2;display:none;overflow:hidden}.brand-lockup__entity[hidden]{display:none!important}.topbar-right{flex-shrink:0;align-items:center;gap:.65rem;display:flex;position:relative}.topbar-breadcrumb{font-size:.78rem;font-weight:var(--font-medium);color:var(--text-dim);align-items:center;gap:.35rem;min-width:0;display:flex}.topbar-breadcrumb i{opacity:.45;font-size:.55rem}.topbar-breadcrumb #topbar-nav-module{color:var(--text-placeholder)}.topbar-breadcrumb #topbar-nav-page{color:var(--text-main);font-weight:600}.topbar-user{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:.6rem;padding:.35rem .55rem .35rem .4rem;transition:border-color .14s,box-shadow .14s,background .14s;display:flex}.topbar-user:hover{background:#fafbfc;border-color:#cbd5e1;box-shadow:0 4px 14px #0f172a0f}.topbar-user-meta{flex-direction:column;align-items:flex-start;gap:.05rem;min-width:0;max-width:180px;display:flex}.topbar-user-name{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.82rem;font-weight:600;line-height:1.2;overflow:hidden}.topbar-user-role{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.68rem;font-weight:600;line-height:1.2;overflow:hidden}.topbar-user-avatar{color:#fff;background:linear-gradient(145deg,#64748b 0%,#334155 100%);border:2px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.72rem;font-weight:700;display:flex;box-shadow:0 2px 8px #0f172a1f}.topbar-user-chevron{color:var(--text-placeholder);flex-shrink:0;margin-right:.15rem;font-size:.62rem}.user-menu{border:1px solid var(--border);z-index:2400;background:#fff;border-radius:14px;width:min(260px,100vw - 1.25rem);padding:.35rem;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 22px 50px #1118271f}.user-menu-section{padding:.45rem .55rem .35rem}.user-menu-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin-bottom:.3rem;font-size:.62rem;font-weight:700;display:block}.user-menu-select{border:1px solid var(--border);box-sizing:border-box;background:#fff;border-radius:8px;width:100%;padding:.42rem .55rem;font-size:.8rem;font-weight:600}.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}.app-views{display:contents}body.route-loading{cursor:progress}body.route-loading .content-view.active{opacity:.72;pointer-events:none}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-list--flush{margin-left:0;margin-right:0}.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}.directory-page__header{padding:1.15rem 1.6rem 1rem}.directory-page__actions{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.directory-btn-label--short{display:none}.directory-page__toolbar-wrap,.directory-page__toolbar{padding:0 1.6rem .75rem}.directory-page__body{padding:0 1.6rem 1.6rem}.directory-page .invoice-toolbar{gap:.55rem}.directory-page .search-container{flex:220px;min-width:0;max-width:420px}.resident-summary{grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.65rem;display:grid}.resident-summary-card{border:1px solid var(--border);cursor:pointer;text-align:left;min-height:4.25rem;font:inherit;background:#fff;border-radius:12px;flex-direction:column;gap:.15rem;padding:.65rem .75rem;transition:box-shadow .15s,border-color .15s,transform .1s;display:flex}.resident-summary-card:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0f172a14}.resident-summary-card--active{box-shadow:0 0 0 2px #1a73e826;border-color:var(--accent,#1a73e8)!important}.resident-active-filters{color:var(--text-dim);background:#f8fbff;border:1px solid #dbeafe;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .85rem;font-size:.82rem;display:flex}.resident-toolbar{flex-wrap:wrap}.resident-primary-filter{cursor:pointer;align-items:center;gap:.4rem;display:inline-flex!important}.resident-primary-filter input{margin:0}.resident-summary-card__label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);font-size:.62rem;font-weight:800}.resident-summary-card__value{color:var(--text);font-size:1.35rem;font-weight:900;line-height:1.1}.resident-summary-legend{color:var(--text-dim);grid-column:1/-1;margin:0;font-size:.72rem;line-height:1.45}.resident-summary-card__sub{color:var(--text-dim);font-size:.68rem;line-height:1.25}.resident-summary-card--owner{background:#f8fbff;border-color:#c6dafc}.resident-summary-card--owner .resident-summary-card__value{color:#174ea6}.resident-summary-card--tenant{background:#fffdf5;border-color:#fde293}.resident-summary-card--tenant .resident-summary-card__value{color:#b06000}.resident-summary-card--vacant{background:#fafafa;border-color:#e0e0e0}.resident-summary-card--non-allotable{background:#fff8f7;border-color:#f5c2c0}.resident-summary-card--non-allotable .resident-summary-card__value{color:#c5221f}.resident-summary-card--warn{background:#fffdf5;border-color:#fde293}.resident-summary-card--warn .resident-summary-card__value{color:#b06000}.resident-summary-card--absent{background:#f5f7fa;border-color:#e8eaed}.resident-summary-card--absent .resident-summary-card__value{color:#5f6368}.resident-unit-group--no-owner{border-color:#fde293;box-shadow:inset 3px 0 #f9ab00}.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:.35rem;display:flex}.resident-unit-group{border:1px solid var(--border);background:#fff;border-radius:12px;overflow:hidden}.resident-unit-group__summary{cursor:pointer;background:#f8fafc;flex-wrap:nowrap;align-items:center;gap:.65rem 1rem;padding:.55rem .85rem;list-style:none;display:flex}.resident-unit-group__summary::-webkit-details-marker{display:none}.resident-unit-group__summary::marker{content:"";display:none}.resident-unit-group[open] .resident-unit-group__summary{border-bottom:1px solid var(--border)}.resident-unit-group__names{min-width:0;color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.82rem;font-weight:600;overflow:hidden}.resident-unit-group__names-muted{color:var(--text-dim);font-style:italic;font-weight:500}.resident-unit-group__summary-actions{flex-shrink:0;align-items:center;gap:.35rem;margin-left:auto;display:inline-flex}.resident-unit-group__chevron{color:var(--text-dim);font-size:.72rem;transition:transform .15s}.resident-unit-group[open] .resident-unit-group__chevron{transform:rotate(180deg)}.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-delete{margin-left:auto;color:var(--danger,#dc2626)!important;border-color:#fecaca!important}.resident-unit-delete:hover{background:#fef2f2!important}.unit-directory-delete{color:var(--danger,#dc2626)!important;border-color:#fecaca!important}.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:.95rem;font-weight:900}.resident-unit-group__meta{color:var(--text-dim);font-size:.75rem;font-weight:600}.resident-unit-group__body{grid-template-columns:1fr 1fr;gap:0;display:grid}.resident-kind-section{border-right:1px solid var(--border);padding:.75rem 1rem 1rem}.resident-kind-section:last-child{border-right:none}.resident-kind-section__title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);align-items:center;gap:.4rem;margin:0 0 .65rem;font-size:.72rem;font-weight:900;display:flex}.resident-kind-section__count{min-width:1.25rem;height:1.25rem;color:var(--text);background:#eef2f7;border-radius:999px;justify-content:center;align-items:center;padding:0 .35rem;font-size:.68rem;display:inline-flex}.resident-kind-section__empty{color:var(--text-dim);margin:0;font-size:.8rem;font-style:italic}.resident-kind-section__rows{border:1px solid var(--border);border-radius:10px;overflow:hidden}.resident-group-header,.resident-group-row{grid-template-columns: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-residing-badge{text-transform:uppercase;vertical-align:middle;border-radius:4px;margin-left:.35rem;padding:.1rem .35rem;font-size:.58rem;font-weight:800;display:inline-block}.resident-residing-badge--away{color:#5f6368;background:#f1f3f4}.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;border-color:#fecaca!important}.btn--danger:hover{background:#fef2f2!important}@media (width<=900px){.resident-unit-group__body{grid-template-columns:1fr}.resident-kind-section{border-right:none;border-bottom:1px solid var(--border)}.resident-kind-section:last-child{border-bottom:none}.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,.role-badge.system_admin{color:#991b1b;background:#fee2e2}.role-badge.society_admin{color:#86198f;background:#fae8ff}.role-badge.apartment_admin{color:#3730a3;background:#e0e7ff}.role-badge.property_manager{color:#166534;background:#dcfce7}.role-badge.accounts_manager{color:#854d0e;background:#fef9c3}.role-badge.office_staff{color:#9a3412;background:#ffedd5}.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{z-index:2100;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;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.65rem;display:flex}.unit-parking-modal__hint{color:var(--text-dim);margin:.45rem 0 0;font-size:.75rem;line-height:1.45}.unit-parking-vehicle--simple{background:#fff;border:1px solid #e8eaed;border-radius:12px;margin-bottom:.5rem;padding:.7rem .85rem}.unit-parking-vehicle__row{grid-template-columns:auto 1fr auto auto;align-items:center;gap:.55rem .65rem;display:grid}.unit-parking-vehicle__alloc{color:var(--text-dim);margin:.35rem 0 0;font-size:.75rem}.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,#ledger-line-modal.modal-backdrop{justify-content:center;align-items:center;padding:1.2rem}#resident-modal.modal-backdrop{z-index:2100;justify-content:center;align-items:center;padding:1.2rem}#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(460px,100%);max-width:460px;height:auto;max-height:calc(100vh - 2.4rem);padding:1.5rem;transform:none;box-shadow:0 24px 60px #0f172a2e}.workspace-gate-pending-list{background:var(--surface-2,#f8fafc);border:1px solid var(--border);border-radius:10px;margin:0;padding:.75rem 1rem;list-style:none}.workspace-gate-pending-list li{padding:.35rem 0;font-size:.85rem;font-weight:600}.access-requests-admin{flex-direction:column;gap:.75rem;display:flex}.access-request-row{border:1px solid var(--border);background:var(--surface-2,#f8fafc);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.1rem;display:flex}.access-request-user{flex-direction:column;gap:.15rem;display:flex}.access-request-email{color:var(--text-dim);font-size:.8rem;font-weight:600}.access-request-meta{color:var(--text-dim);margin-top:.25rem;font-size:.78rem}.access-request-note{color:var(--text-main);margin:.5rem 0 0;font-size:.82rem;font-style:italic}.access-request-actions{flex-direction:column;gap:.5rem;min-width:min(240px,100%);display:flex}.access-request-btns{flex-wrap:wrap;gap:.5rem;display:flex}#receipt-modal .modal-content,#audit-log-modal .modal-content,#cash-modal .modal-content,#pool-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,#ledger-line-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{border-radius:14px;flex-direction:column;gap:.65rem;width:min(1100px,96vw);height:min(92vh,860px);max-height:94vh;display:flex;overflow:hidden;transform:translateY(10px);box-shadow:0 28px 70px #00000038;padding:.85rem 1rem .9rem!important}.receipt-viewer__header{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.receipt-viewer__heading{min-width:0}.receipt-viewer__title{margin:0;font-size:1rem;font-weight:800}.receipt-viewer__caption{color:var(--text-dim);margin:.2rem 0 0;font-size:.78rem;font-weight:600}.receipt-viewer__toolbar{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.receipt-viewer__layout{flex:1;grid-template-columns:minmax(0,1fr);gap:.65rem;min-height:0;display:grid;overflow:hidden}.receipt-viewer__layout:has(.receipt-viewer__files:not([hidden])){grid-template-columns:11.5rem minmax(0,1fr)}.receipt-viewer__files{border:1px solid var(--border);background:#f8fafc;border-radius:10px;min-height:0;padding:.55rem;overflow:auto}.receipt-viewer__files[hidden]{display:none!important}.receipt-viewer__files-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin:0 0 .45rem;font-size:.68rem;font-weight:800}.receipt-viewer__files-list{flex-direction:column;gap:.3rem;display:flex}.receipt-viewer__file{text-align:left;cursor:pointer;width:100%;color:var(--text);background:#fff;border:1px solid #0000;border-radius:8px;grid-template-columns:1rem minmax(0,1fr) auto;align-items:center;gap:.4rem;padding:.4rem .45rem;font-size:.72rem;font-weight:700;display:grid}.receipt-viewer__file:hover{background:#eef4ff;border-color:#c7d7f5}.receipt-viewer__file.is-active{border-color:var(--primary,#1d4ed8);color:var(--primary,#1d4ed8);background:#e8effc}.receipt-viewer__file .fa-file-pdf{color:#b91c1c}.receipt-viewer__file .fa-file-image{color:#0369a1}.receipt-viewer__file-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.receipt-viewer__file-idx{color:var(--text-dim);font-size:.65rem;font-weight:800}.receipt-viewer__stage{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.receipt-viewer__navbtn{z-index:2;border:1px solid var(--border);width:2.25rem;height:2.25rem;color:var(--text);cursor:pointer;background:#fffffff2;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 8px #0f172a14}.receipt-viewer__navbtn[hidden]{display:none!important}.receipt-viewer__navbtn:disabled{opacity:.35;cursor:default}.receipt-viewer__navbtn--prev{left:.45rem}.receipt-viewer__navbtn--next{right:.45rem}.receipt-viewer__body{border:1px solid var(--border);background:#0f172a0a;border-radius:10px;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.receipt-viewer__zoom-wrap{box-sizing:border-box;justify-content:center;align-items:center;padding:.75rem;display:flex;position:absolute;inset:0;overflow:auto}.receipt-viewer__zoom-wrap[hidden]{display:none!important}.receipt-viewer__img{object-fit:contain;transform-origin:50%;background:#fff;border-radius:4px;width:auto;max-width:calc(100% - .5rem);height:auto;max-height:calc(100% - .5rem);transition:transform .12s;display:block;box-shadow:0 4px 24px #0f172a1f}.receipt-viewer__img[hidden]{display:none!important}.receipt-viewer__pdf{background:#fff;border:0;flex:1;width:100%;height:100%;min-height:280px;display:block}.receipt-viewer__pdf[hidden],.receipt-viewer__empty[hidden]{display:none!important}.receipt-viewer__empty{text-align:center;color:var(--text-dim);margin:2rem;font-weight:700}.receipt-viewer__footer{flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.receipt-viewer__hint{color:var(--text-dim);font-size:.7rem;font-weight:600}.receipt-viewer__zoom-label{color:var(--text-dim);font-size:.72rem;font-weight:800}@media (width<=800px){#receipt-modal .modal-content.receipt-viewer{width:min(100vw - .75rem,1100px);height:min(94vh,860px)}.receipt-viewer__layout:has(.receipt-viewer__files:not([hidden])){grid-template-columns:1fr}.receipt-viewer__files{max-height:7.5rem}.receipt-viewer__files-list{flex-direction:row;overflow-x:auto}.receipt-viewer__file{min-width:8.5rem}.receipt-viewer__hint{display:none}}.auth-card{padding:1.25rem!important}.workspace-gate-kind-tabs{grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:.55rem;display:grid}.workspace-gate-kind-tab{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:#fff;border-radius:10px;padding:.55rem .65rem;font-size:.78rem;font-weight:800}.workspace-gate-kind-tab.is-active{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 8%, #fff);color:var(--text-main)}.workspace-gate-kind-hint{color:var(--text-dim);margin:0 0 .85rem;font-size:.78rem;line-height:1.4}.access-request-kind{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;margin-right:.35rem;padding:.12rem .45rem;font-size:.62rem;font-weight:800;display:inline-block}.access-request-kind--resident{color:#15803d;background:#ecfdf5}.access-request-kind--office{color:#1d4ed8;background:#eff6ff}.auth-divider{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.75rem;margin:.15rem 0;font-size:.72rem;font-weight:800;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-social-section{flex-direction:column;gap:.65rem;display:flex}.auth-social-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.auth-social-btn{border:1px solid var(--border);background:var(--surface,#fff);width:100%;color:var(--text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:.45rem;padding:.62rem .75rem;font-size:.78rem;font-weight:800;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.auth-social-btn:hover:not(:disabled){background:var(--surface-muted,#f8fafc);border-color:#cbd5e1}.auth-social-btn:active:not(:disabled){transform:translateY(1px)}.auth-social-btn:disabled{opacity:.65;cursor:wait}.auth-social-btn i{font-size:.95rem}#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{-webkit-backdrop-filter:none;background:#fff;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"menu workspace actions""menu breadcrumb actions";align-items:center;gap:.2rem .45rem;padding:.5rem .65rem;display:grid}.topbar-left,.topbar-brand,.topbar-identity,.topbar-identity-body{display:contents}.topbar-logo,.brand-lockup__divider,.topbar-workspace-icon{display:none}.topbar-nav-btn{flex-shrink:0;grid-area:menu;align-self:start;width:36px;height:36px;margin-top:.08rem}.brand-lockup{flex-direction:column;grid-area:workspace;justify-content:center;align-items:flex-start;gap:.05rem;width:100%;min-width:0;display:flex}.brand-lockup__app{letter-spacing:-.01em;font-size:.92rem;font-weight:700;line-height:1.15;display:block}.brand-lockup__sep--desktop,.brand-lockup__workspace-select--header{display:none!important}.brand-lockup__entity{color:var(--text-dim);max-width:100%;font-size:.66rem;font-weight:600;display:block}.brand-lockup__entity[hidden]{display:none!important}.topbar-breadcrumb{grid-area:breadcrumb;gap:.28rem;min-width:0;max-width:100%;font-size:.66rem;overflow:hidden}.topbar-breadcrumb #topbar-nav-module,.topbar-breadcrumb #topbar-nav-page{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.topbar-right{flex-shrink:0;grid-area:1/actions/-1;align-self:center;gap:.3rem}.topbar-actions{background:0 0;border:none;flex-wrap:nowrap;gap:.15rem;padding:0}#topbar-logout-btn{display:none}.topbar-icon-btn{flex-shrink:0;width:34px;height:34px}.topbar-ui-mode-btn{width:auto;height:34px;padding:0 .5rem;font-size:.62rem}.topbar-user{gap:0;padding:.15rem}.brand-lockup__workspace{max-width:none}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}.resident-unit-group__summary{flex-wrap:wrap}.resident-unit-group__names{white-space:normal;text-overflow:unset;overflow:visible}.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{gap:.15rem .35rem;padding:.45rem .55rem}.topbar-breadcrumb #topbar-nav-module,.topbar-breadcrumb i{display:none}.topbar-breadcrumb #topbar-nav-page{font-weight:700}.topbar-icon-btn,.topbar-nav-btn{border-radius:10px;width:32px;height:32px}.topbar-user-avatar{width:30px;height:30px}.directory-page__header .header-title h2{letter-spacing:-.02em;font-size:1.15rem;font-weight:700}.topbar-user-meta,.topbar-user-chevron{display:none}.topbar-user{gap:0;padding:.12rem}.header-title h2{font-size:1.25rem}.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-acc__trigger{padding:.85rem .9rem}#view-setup .setup-acc__body,#view-setup .setup-acc__block,#view-setup .setup-acc__toolbar{padding-left:.9rem;padding-right:.9rem}#view-setup .setup-section__head,#view-setup .setup-section__body{padding-left:1rem;padding-right:1rem}#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}.parking-reconcile{padding:0 1.6rem 2rem}#view-registry.registry--reconcile .page-sections{display:none}#view-registry.registry--reconcile #parking-reconcile-workspace{display:block}.parking-reconcile__header{margin-bottom:1.25rem}.parking-reconcile__title{margin:.75rem 0 .35rem;font-size:1.35rem;font-weight:900}.parking-reconcile__subtitle{color:var(--text-dim);max-width:42rem;margin:0;font-size:.85rem;line-height:1.5}.parking-reconcile__setup{grid-template-columns:1.2fr .8fr;gap:1.25rem;margin-bottom:1.5rem;display:grid}@media (width<=900px){.parking-reconcile__setup{grid-template-columns:1fr}}.parking-reconcile__modes{flex-direction:column;gap:.55rem;display:flex}.parking-reconcile__file-panel{border:1px solid var(--border);background:#f8fafc;border-radius:10px;padding:1rem 1.1rem}.parking-reconcile__file-name{word-break:break-all;margin-bottom:.75rem;font-size:.9rem;font-weight:700}.parking-reconcile__file-actions{flex-wrap:wrap;gap:.5rem;display:flex}.parking-reconcile__summary{flex-wrap:wrap;gap:.65rem;margin-bottom:1rem;display:flex}.parking-reconcile__stat{border:1px solid var(--border);background:#fff;border-radius:8px;min-width:6.5rem;padding:.65rem .85rem}.parking-reconcile__stat b{font-size:1.25rem;font-weight:900;line-height:1.2;display:block}.parking-reconcile__stat span{text-transform:uppercase;color:var(--text-dim);font-size:.68rem;font-weight:800}.parking-reconcile__stat--add b{color:#047857}.parking-reconcile__stat--update b{color:#b45309}.parking-reconcile__stat--remove b{color:#b91c1c}.parking-reconcile__stat--retain b{color:#1d4ed8}.parking-reconcile__filters{flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem;display:flex}.parking-reconcile__filter{border:1px solid var(--border);cursor:pointer;color:var(--text-dim);background:#fff;border-radius:999px;padding:.35rem .75rem;font-size:.75rem;font-weight:700}.parking-reconcile__filter.active{background:var(--primary,#1d4ed8);border-color:var(--primary,#1d4ed8);color:#fff}.parking-reconcile__table-wrap{border:1px solid var(--border);background:#fff;border-radius:10px;max-height:min(55vh,520px);overflow:auto}.parking-reconcile__flats{flex-direction:column;gap:.55rem;max-height:min(58vh,560px);padding-right:.15rem;display:flex;overflow:auto}.parking-reconcile-flat{border:1px solid var(--border);background:#fff;border-radius:10px}.parking-reconcile-flat--action{border-color:#fdba74}.parking-reconcile-flat__summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.7rem .9rem;list-style:none;display:flex}.parking-reconcile-flat__summary::-webkit-details-marker{display:none}.parking-reconcile-flat__name{min-width:4.5rem;font-size:.95rem;font-weight:900}.parking-reconcile-flat__chips{flex-wrap:wrap;gap:.35rem;display:flex}.parking-reconcile-flat__chip{text-transform:uppercase;color:#475569;background:#f1f5f9;border-radius:4px;padding:.15rem .45rem;font-size:.65rem;font-weight:800}.parking-reconcile-flat__chip--add{color:#065f46;background:#d1fae5}.parking-reconcile-flat__chip--update{color:#9a3412;background:#ffedd5}.parking-reconcile-flat__chip--remove{color:#991b1b;background:#fee2e2}.parking-reconcile-flat__chip--retain{color:#1e40af;background:#dbeafe}.parking-reconcile-flat__grid{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:.75rem;padding:0 .9rem .9rem;display:grid}@media (width<=720px){.parking-reconcile-flat__grid{grid-template-columns:1fr}}.parking-reconcile-flat__col-title{text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);margin:.65rem 0 .45rem;font-size:.68rem;font-weight:900}.parking-reconcile-flat__empty{color:var(--text-dim);margin:0;padding:.35rem 0;font-size:.78rem}.parking-reconcile-veh{border:1px solid var(--border);background:#f8fafc;border-radius:8px;margin-bottom:.4rem;padding:.55rem .65rem}.parking-reconcile-veh--add{background:#f0fdf4;border-color:#86efac}.parking-reconcile-veh--remove{background:#fef2f2;border-color:#fca5a5}.parking-reconcile-veh--update{background:#fffbeb;border-color:#fcd34d}.parking-reconcile-veh--unchanged{background:#fff}.parking-reconcile-veh--retain{background:#eff6ff;border-color:#93c5fd}.parking-reconcile-veh__top{flex-wrap:wrap;align-items:center;gap:.4rem .55rem;display:flex}.parking-reconcile-veh__plate{font-size:.86rem}.parking-reconcile-veh__type{color:var(--text-dim);font-size:.72rem;font-weight:800}.parking-reconcile-veh__meta{color:var(--text-dim);margin-top:.25rem;font-size:.72rem}.parking-reconcile-veh__note{color:var(--text-dim);margin-top:.3rem;font-size:.72rem}.parking-reconcile__table{border-collapse:collapse;width:100%;font-size:.8rem}.parking-reconcile__table th,.parking-reconcile__table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.55rem .7rem}.parking-reconcile__table th{text-transform:uppercase;letter-spacing:.02em;z-index:1;background:#f1f5f9;font-size:.68rem;position:sticky;top:0}.parking-reconcile__badge{text-transform:uppercase;border-radius:4px;padding:.15rem .45rem;font-size:.65rem;font-weight:800;display:inline-block}.parking-reconcile__badge--add{color:#065f46;background:#d1fae5}.parking-reconcile__badge--update{color:#9a3412;background:#ffedd5}.parking-reconcile__badge--remove{color:#991b1b;background:#fee2e2}.parking-reconcile__badge--retain{color:#1e40af;background:#dbeafe}.parking-reconcile__badge--unchanged{color:#475569;background:#f1f5f9}.parking-reconcile__badge--ignored{color:#94a3b8;background:#f8fafc}.parking-reconcile__row--update{background:#fffbeb}.parking-reconcile__row--add{background:#f0fdf4}.parking-reconcile__row--remove{background:#fef2f2}.parking-reconcile__delta{margin:0;padding-left:1rem;font-size:.75rem;line-height:1.45}.parking-reconcile__delta li strong{font-weight:800}.parking-reconcile__footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.parking-reconcile__warn{color:#b45309;flex:1;margin:0;font-size:.78rem;font-weight:700}.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;color:#0f172a;flex:1;min-height:0;display:block;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{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;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__plate{color:#0f172a;font-size:.88rem;font-weight:800}.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{color:#334155;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-log-modal .audit-flat-group{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin:0 0 .65rem;display:block;overflow:visible}#audit-log-modal .audit-flat-group__head{background:#f1f5f9;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.45rem .75rem;padding:.65rem .85rem;display:flex}#audit-log-modal .audit-flat-group__title{color:#0f172a;margin:0;font-size:.95rem;font-weight:900;line-height:1.3}#audit-log-modal .audit-flat-group__chips{flex-wrap:wrap;gap:.3rem;display:flex}#audit-log-modal .audit-flat__chip{text-transform:uppercase;color:#334155;background:#e2e8f0;border-radius:4px;padding:.12rem .4rem;font-size:.65rem;font-weight:800}#audit-log-modal .audit-flat__chip--insert{color:#065f46;background:#d1fae5}#audit-log-modal .audit-flat__chip--delete{color:#991b1b;background:#fee2e2}#audit-log-modal .audit-flat__chip--update{color:#9a3412;background:#ffedd5}#audit-log-modal .audit-flat-group__body{padding:.45rem .6rem .6rem}#audit-log-modal .audit-flat-group .audit-row{margin:.4rem 0}.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:"details details""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:"details details""wallet wallet""bank bank""amount date""category category""maintenance maintenance""income-extra income-extra""desc desc"}.bill-details-step{grid-area:details/1/details/-1}.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}.cash-modal--bill #expense-form-view{grid-template-areas:"details details""amount date""category category""subcat subcat""vendor-invoice vendor-invoice""desc desc"}.cash-modal--bill #expense-form-view .expense-form__section--vendor-invoice{grid-template-columns:1fr}.cash-modal-body{display:contents}.bill-docs{border-bottom:1px solid var(--border);background:linear-gradient(#f8fafc 0%,#fff 80%);gap:.75rem;padding:.85rem 1.15rem;display:grid}.bill-docs[hidden],.bill-payment[hidden],.expense-form__exclude-reports[hidden],#cash-modal-unlock-btn[hidden]{display:none!important}#ledger-line-modal .modal-content.ledger-line-modal{border-radius:16px;flex-direction:column;width:min(420px,94vw);height:auto;max-height:90vh;display:flex;overflow:hidden;transform:translateY(10px);box-shadow:0 28px 70px #00000038;padding:0!important}.ledger-line-modal__header{border-bottom:1px solid var(--border,#e5e7eb);background:#fff;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1.15rem 1.2rem .9rem;display:flex}.ledger-line-modal__header h2{letter-spacing:-.02em;color:var(--text,#0f172a);margin:0 0 .25rem;font-size:1.15rem;font-weight:800}.ledger-line-modal__header p{color:var(--text-dim,#64748b);max-width:28ch;margin:0;font-size:.82rem;line-height:1.4}.ledger-line-modal__close{border-radius:999px;flex-shrink:0;width:2rem;height:2rem;padding:0;font-size:1.25rem;line-height:1}.ledger-line-form{background:#fff;flex-direction:column;gap:1rem;padding:1.1rem 1.2rem 1.15rem;display:flex;overflow-y:auto}.ledger-line-form__field{flex-direction:column;gap:.4rem;min-width:0;display:flex}.ledger-line-form__row{grid-template-columns:1.15fr 1fr;gap:.75rem;display:grid}.ledger-line-form__label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim,#64748b);font-size:.72rem;font-weight:700}.ledger-line-form__optional{letter-spacing:0;text-transform:none;color:#94a3b8;margin-left:.25rem;font-weight:600}.ledger-line-form__input{width:100%;min-height:2.55rem;color:var(--text,#0f172a);box-sizing:border-box;background:#fff;border:1px solid #dbe3ef;border-radius:10px;padding:.55rem .75rem;font-size:.95rem;font-weight:600}.ledger-line-form__input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f626}.ledger-line-form__input--amount{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:800}.ledger-line-form__input--amount::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ledger-line-form__input--amount::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ledger-line-wallet{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.ledger-line-wallet__btn{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #dbe3ef;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;min-height:2.55rem;padding:.45rem .65rem;font-size:.86rem;font-weight:700;display:inline-flex}.ledger-line-wallet__btn i{opacity:.85}.ledger-line-wallet__btn.active{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd;box-shadow:inset 0 0 0 1px #3b82f633}.ledger-line-form__exclude{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #e8eef6;border-radius:10px;align-items:flex-start;gap:.55rem;margin:.15rem 0 0;padding:.7rem .8rem;font-size:.86rem;font-weight:600;line-height:1.35;display:flex}.ledger-line-form__exclude[hidden],#ledger-line-bank-ref-wrap[hidden]{display:none!important}.ledger-line-form__exclude input{flex-shrink:0;margin-top:.15rem}.ledger-line-modal__footer{border-top:1px solid var(--border,#e5e7eb);background:#fafbfc;justify-content:space-between;align-items:center;gap:.55rem;padding:.85rem 1.2rem 1.05rem;display:flex}.ledger-line-modal__footer-actions{justify-content:flex-end;gap:.55rem;margin-left:auto;display:flex}.ledger-line-modal__footer .btn{min-width:6.5rem}#ledger-line-bill-btn[hidden]{display:none!important}#ledger-line-bill-btn{min-width:0}@media (width<=480px){.ledger-line-form__row{grid-template-columns:1fr}.ledger-line-modal__header p{max-width:none}}.bill-payment{border-top:1px solid var(--border);background:#fafbfc;padding:.85rem 1.15rem .35rem}#cash-modal.cash-modal--bill .expense-modal__header{order:1}#cash-modal.cash-modal--bill #expense-form-view,#cash-modal.cash-modal--bill #income-form-view{order:2}#cash-modal.cash-modal--bill #bill-payment-section{order:3}#cash-modal.cash-modal--bill #bill-documents-section{border-bottom:none;border-top:1px solid var(--border);background:#fff;order:4}#cash-modal.cash-modal--bill .expense-modal__footer{order:5}#cash-modal.cash-modal--bill #bill-documents-section .expense-attach-drop__actions{grid-template-columns:1fr 1fr;gap:.5rem;padding:0 0 .15rem;display:grid}#cash-modal.cash-modal--bill #bill-documents-section .expense-attach-drop__actions .btn{justify-content:center;min-height:2.5rem}.bill-docs__intro{margin:0}.bill-docs__title{letter-spacing:-.02em;margin:0;font-size:.9rem;font-weight:800}.bill-docs__desc{color:var(--text-dim);margin:.2rem 0 0;font-size:.76rem;line-height:1.4}.bill-details-step{grid-area:details/1/details/-1;padding-bottom:.15rem}.bill-payment-pills{flex-wrap:wrap;margin-top:.55rem}#bill-cheque-wrap,#bill-online-wrap,#bill-paid-date-wrap{margin-top:.65rem}#bill-cheque-wrap{max-width:16rem}#bill-paid-date-wrap .expense-combobox{max-width:12.5rem}.expense-attach-drop__actions{flex-wrap:wrap;justify-content:center;gap:.45rem;padding:0 .85rem .85rem;display:flex}.expense-attach-drop__actions .btn{cursor:pointer}.expense-receipt-box--drop input[type=file]{opacity:0;clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.expense-receipt-box--drop{background:#fff;padding:0;position:relative;overflow:hidden}.expense-receipt-box--drop input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.expense-attach-drop{text-align:center;cursor:pointer;color:var(--text-dim);flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:1.15rem 1rem;transition:background .15s,border-color .15s;display:flex}.expense-attach-drop:hover{background:#f8fafc}.expense-attach-drop i{color:var(--accent,#4f46e5);margin-bottom:.2rem;font-size:1.25rem}.expense-attach-drop__title{color:var(--text-main);font-size:.82rem;font-weight:750}.expense-attach-drop__hint{color:var(--text-dim);font-size:.7rem}.expense-attach-preview{border-top:1px solid var(--border);background:#fafbfc;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.55rem;padding:.65rem;display:grid}.expense-attach-card{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.expense-attach-card:hover{border-color:#c7d2fe;box-shadow:0 4px 12px #0f172a0f}.expense-attach-card__thumb{aspect-ratio:4/3;background:#f1f5f9;place-items:center;display:grid;position:relative;overflow:hidden}.expense-attach-card__thumb--loading:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff8c,#0000) 0 0/200% 100%;animation:1.1s ease-in-out infinite expense-attach-shimmer;position:absolute;inset:0}@keyframes expense-attach-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.expense-attach-card__img{object-fit:cover;z-index:1;width:100%;height:100%;position:relative}.expense-attach-card__icon{color:#64748b;font-size:1.5rem}.expense-attach-card__icon--pdf{color:#dc2626}.expense-attach-card__new{color:#fff;letter-spacing:.02em;text-transform:uppercase;background:#4f46e5;border-radius:999px;padding:.1rem .35rem;font-size:.58rem;font-weight:800;position:absolute;top:.35rem;left:.35rem}.expense-attach-card__meta{align-items:center;gap:.25rem;padding:.35rem .4rem;display:flex}.expense-attach-card__name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.68rem;font-weight:700;overflow:hidden}.expense-attach-card__remove{color:#94a3b8;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;width:1.35rem;height:1.35rem}.expense-attach-card__remove:hover{color:#b91c1c;background:#fee2e2}.cash-modal--readonly .expense-attach-drop{pointer-events:none;opacity:.7}.cash-modal--readonly .expense-attach-card__remove{display:none!important}.cash-modal--readonly .expense-attach-preview{border-top-color:var(--border)}.payment-record__amount-row{grid-template-columns:1fr 1fr;align-items:end;gap:.65rem;display:grid}.payment-record__amount-row .expense-form__section--amount,.payment-record__amount-row .expense-form__section--date{grid-area:unset;min-width:0;margin:0}.payment-record__amount-row .expense-form__section--amount{grid-column:1}.payment-record__amount-row .expense-form__section--date{grid-column:2}.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}.payment-method-fieldset{border:none;min-width:0;margin:0;padding:0}.payment-method-fieldset .expense-label{margin-bottom:.4rem}.payment-method-radios{flex-wrap:wrap;gap:.65rem 1.25rem;display:flex}.payment-method-radio{cursor:pointer;color:#374151;-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;font-size:.82rem;font-weight:700;display:inline-flex}.payment-method-radio__input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.payment-method-radio__control{background:#fff;border:2px solid #9ca3af;border-radius:50%;flex-shrink:0;width:1rem;height:1rem;transition:border-color .12s,box-shadow .12s;position:relative}.payment-method-radio__control:after{content:"";background:0 0;border-radius:50%;transition:background .12s;position:absolute;inset:3px}.payment-method-radio__label{line-height:1.3}.payment-method-radio__hint{color:var(--text-dim);font-size:.72rem;font-weight:600}.payment-method-radio.active .payment-method-radio__control{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.payment-method-radio:has(input:checked) .payment-method-radio__control{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.payment-method-radio.expense-wallet-pill--cash.active .payment-method-radio__control{border-color:#16a34a;box-shadow:0 0 0 1px #16a34a}.payment-method-radio.expense-wallet-pill--cash:has(input:checked) .payment-method-radio__control{border-color:#16a34a;box-shadow:0 0 0 1px #16a34a}.payment-method-radio.expense-wallet-pill--cash.active .payment-method-radio__control:after{background:#16a34a}.payment-method-radio.expense-wallet-pill--cash:has(input:checked) .payment-method-radio__control:after{background:#16a34a}.payment-method-radio.expense-wallet-pill--bank.active .payment-method-radio__control{border-color:#2563eb;box-shadow:0 0 0 1px #2563eb}.payment-method-radio.expense-wallet-pill--bank:has(input:checked) .payment-method-radio__control{border-color:#2563eb;box-shadow:0 0 0 1px #2563eb}.payment-method-radio.expense-wallet-pill--bank.active .payment-method-radio__control:after{background:#2563eb}.payment-method-radio.expense-wallet-pill--bank:has(input:checked) .payment-method-radio__control:after{background:#2563eb}.payment-method-radio.expense-wallet-pill--cash.active .payment-method-radio__label{color:#14532d}.payment-method-radio.expense-wallet-pill--cash:has(input:checked) .payment-method-radio__label{color:#14532d}.payment-method-radio.expense-wallet-pill--bank.active .payment-method-radio__label{color:#1e3a8a}.payment-method-radio.expense-wallet-pill--bank:has(input:checked) .payment-method-radio__label{color:#1e3a8a}.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}.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)}#cash-modal.cash-modal--bill .modal-content.expense-modal{width:min(720px,96vw)}.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-form--income:not(.expense-form--maintenance-payment) .payment-record__flat-row{display:none}.cash-modal--bill #expense-form-view{grid-template-areas:"details details""amount date""category subcat""vendor-invoice vendor-invoice""desc desc"}.cash-modal--bill #expense-form-view .expense-form__section--vendor-invoice{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}#cash-modal.cash-modal--bill .bill-payment{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.55rem .85rem;display:grid}#cash-modal.cash-modal--bill .bill-payment>.bill-docs__intro,#cash-modal.cash-modal--bill .bill-payment>.bill-payment-pills{grid-column:1/-1}#cash-modal.cash-modal--bill #bill-paid-date-wrap:not([hidden]){grid-column:2}#cash-modal.cash-modal--bill #bill-cheque-wrap:not([hidden]),#cash-modal.cash-modal--bill #bill-online-wrap:not([hidden]),#cash-modal.cash-modal--bill #bill-cheque-wrap[hidden]~#bill-online-wrap[hidden]~#bill-paid-date-wrap:not([hidden]){grid-column:1}.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"}.expense-form--income:not(.expense-form--maintenance-payment) .payment-record__flat-row{display:none}.cash-modal--bill #expense-form-view{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"details details""amount date""category subcat""vendor-invoice vendor-invoice""desc desc"}}@media (width>=720px){#cash-modal.cash-modal--bill .modal-content.expense-modal{grid-template:"header header""docs body"minmax(0,1fr)"footer footer"/minmax(280px,.9fr) minmax(0,1.3fr);width:min(1080px,96vw);max-height:min(92vh,900px);display:grid;overflow:hidden}#cash-modal.cash-modal--bill .expense-modal__header{order:unset;grid-area:header}#cash-modal.cash-modal--bill #bill-documents-section{order:unset;border-top:none;border-bottom:none;border-right:1px solid var(--border);background:linear-gradient(#f1f5f9 0%,#f8fafc 55%,#fff 100%);grid-area:docs;align-self:stretch;min-height:0;overflow-y:auto}#cash-modal.cash-modal--bill .cash-modal-body{order:unset;flex-direction:column;grid-area:body;min-height:0;display:flex;overflow-y:auto}#cash-modal.cash-modal--bill .expense-modal__footer{order:unset;grid-area:footer}#cash-modal.cash-modal--bill #expense-form-view,#cash-modal.cash-modal--bill #income-form-view{order:unset;padding-top:.75rem}#cash-modal.cash-modal--bill #bill-payment-section{order:unset;margin-top:0;display:block}#cash-modal.cash-modal--bill .expense-attach-drop{min-height:9.5rem}#cash-modal.cash-modal--bill #cash-receipt-preview{max-height:min(42vh,360px);overflow-y:auto}#cash-modal.cash-modal--bill #bill-documents-section .expense-attach-drop__actions{grid-template-columns:none;justify-content:flex-start;display:flex}}@media (width>=1100px){#cash-modal.cash-modal--bill .modal-content.expense-modal{grid-template-columns:minmax(340px,.95fr) minmax(0,1.25fr);width:min(1120px,96vw)}}@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}}@media (width>=768px){#cash-modal .modal-content.expense-modal.expense-modal--maintenance-payment{flex-direction:column;width:min(85vw,1180px);max-width:min(85vw,1180px);max-height:92vh;display:flex}.expense-form--income.expense-form--maintenance-payment{flex:1;grid-template:"pay-side alloc-side"1fr/minmax(0,3fr) minmax(0,2fr);align-items:stretch;gap:0 1.35rem;min-height:0;padding:.9rem 1.25rem 1.05rem;display:grid}.expense-form--maintenance-payment .payment-record__details{flex-direction:column;grid-area:pay-side;align-self:stretch;gap:.7rem;min-width:0;max-width:100%;display:flex;overflow-y:auto}.expense-form--maintenance-payment .payment-record__details>.expense-form__section,.expense-form--maintenance-payment .payment-record__details>.payment-record__flat-row,.expense-form--maintenance-payment .payment-record__details>.payment-record__amount-row{grid-area:unset;width:100%;margin:0}.expense-form--maintenance-payment .payment-record__amount-row .expense-form__section{min-width:0;margin:0}.expense-form--maintenance-payment .expense-wallet-row{flex-wrap:nowrap}.expense-form--maintenance-payment .expense-bank-pills{flex-wrap:wrap;gap:.35rem;width:auto;display:inline-flex}.expense-form--maintenance-payment .expense-bank-pill{flex:none;padding:.38rem .65rem}.expense-form--maintenance-payment .expense-bank-panel{padding:.6rem .7rem}.expense-form--maintenance-payment .payment-record__alloc{border:1px solid var(--border);--payment-alloc-cols:1.75rem minmax(0, 1fr) 6rem minmax(7.5rem, 10rem);background:#fafbfc;border-radius:10px;flex-direction:column;grid-area:alloc-side;align-self:stretch;min-width:0;min-height:min(58vh,500px);padding:.85rem 1rem;display:flex}.expense-form--maintenance-payment .payment-record__alloc[hidden]{display:none!important}.payment-record__alloc-head{border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:baseline;gap:.75rem;margin:0 0 .55rem;padding:0 0 .45rem;display:flex}.payment-record__alloc-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin:0;font-size:.72rem;font-weight:900}.payment-record__alloc-hint{color:var(--text-dim);font-size:.72rem}.expense-form--maintenance-payment .maintenance-allocation-rows{flex:1;min-height:180px;max-height:none;padding:.15rem 0;overflow-y:auto}.expense-form--maintenance-payment .maintenance-alloc-head{grid-template-columns:var(--payment-alloc-cols);gap:.65rem;margin:0;padding:0 .5rem .35rem}.expense-form--maintenance-payment .maintenance-alloc-row{grid-template-columns:var(--payment-alloc-cols);align-items:center;gap:.65rem;padding:.55rem .5rem}.expense-form--maintenance-payment .maintenance-alloc-row__apply .maintenance-alloc-amt{width:5.5rem}.expense-form--maintenance-payment .maintenance-alloc-summary,.expense-form--maintenance-payment .maintenance-alloc-credit{flex-shrink:0;margin-top:.45rem}.expense-form--maintenance-payment .payment-record__amount-row--lead .expense-amount{padding:.55rem .7rem;font-size:1.15rem}.expense-form--maintenance-payment .expense-form__section--cats{display:none}}.expense-form--income:not(.expense-form--maintenance-payment) .payment-record__details,.expense-form--income:not(.expense-form--maintenance-payment) .payment-record__amount-row{display:contents}.expense-form--income:not(.expense-form--maintenance-payment) .payment-record__amount-row .expense-form__section--amount,.expense-form--income:not(.expense-form--maintenance-payment) .payment-record__amount-row .expense-form__section--date{grid-column:auto}.setup-subview-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.2rem;margin-bottom:.75rem;padding:0 0 .55rem;display:flex}.setup-subview-tabs button{color:var(--sidebar-muted);font-weight:var(--font-regular);font-size:var(--text-sm);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:.5rem;padding:.45rem .7rem;font-family:inherit;transition:background .14s,color .14s,border-color .14s;display:inline-flex}.setup-subview-tabs button i{text-align:center;opacity:.85;flex-shrink:0;width:1rem;font-size:.72rem}.setup-subview-tabs button:hover{background:var(--sidebar-hover);color:var(--sidebar-text-strong)}.setup-subview-tabs button:hover i{opacity:1;color:var(--sidebar-text-strong)}.setup-subview-tabs button.active,.setup-subview-tabs button.setup-tab--active{background:var(--sidebar-active-bg);color:var(--sidebar-text-strong);font-weight:var(--font-medium);box-shadow:inset 0 -2px 0 var(--sidebar-active-border);border-color:#2563eb2e}.setup-subview-tabs button.active i,.setup-subview-tabs button.setup-tab--active i{color:var(--sidebar-active-border);opacity:1}.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}.setup-page-header{margin-bottom:.35rem}.setup-page-header .header-title h2{letter-spacing:-.03em}.setup-stack{flex-direction:column;gap:.65rem;max-width:920px;margin-top:1rem;margin-bottom:2.5rem;display:flex}.setup-attention{background:linear-gradient(135deg,#fff7f7 0%,#fff 55%);border:1px solid #fecaca;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem 1.25rem;margin-bottom:.35rem;padding:.95rem 1.1rem;display:flex;box-shadow:inset 0 1px #fffc}.setup-attention__lead{align-items:flex-start;gap:.75rem;min-width:0;display:flex}.setup-attention__icon{color:#b91c1c;background:#fee2e2;border-radius:10px;flex-shrink:0;place-items:center;width:2rem;height:2rem;display:grid}.setup-attention__lead strong{letter-spacing:-.02em;color:#7f1d1d;font-size:.92rem;font-weight:800;display:block}.setup-attention__hint{color:#9f1239;opacity:.85;margin:.15rem 0 0;font-size:.78rem}.setup-attention__actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.setup-attention__chips{flex-wrap:wrap;gap:.4rem;display:flex}.setup-attention__chip{color:#9f1239;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:999px;align-items:center;gap:.4rem;padding:.28rem .65rem .28rem .35rem;font-size:.75rem;font-weight:700;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.setup-attention__chip:hover{background:#fef2f2;border-color:#fca5a5;transform:translateY(-1px)}.setup-attention__chip--warn{color:#92400e;background:#fffbeb;border-color:#fde68a}.setup-attention__chip--warn:hover{background:#fef3c7;border-color:#fcd34d}.setup-attention__chip-count{color:#fff;background:#ef4444;border-radius:999px;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .3rem;font-size:.68rem;font-weight:800;display:inline-grid}.setup-attention__chip--warn .setup-attention__chip-count{background:#d97706}.setup-acc{border:1px solid var(--border);background:#fff;border-radius:14px;transition:border-color .18s,box-shadow .18s;overflow:hidden}.setup-acc:hover{border-color:#cbd5e1}.setup-acc.is-open{border-color:#c7d2fe;box-shadow:0 8px 24px #0f172a0d}.setup-acc.has-attention:not(.is-open){border-color:#fca5a5;box-shadow:0 0 0 1px #ef444414}.setup-acc.has-attention:not(.is-open) .setup-acc__icon{color:#b91c1c;background:#fee2e2}.setup-acc--secondary{background:#fbfcfd}.setup-acc__trigger{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:0;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;padding:.95rem 1.05rem;display:grid}.setup-acc__trigger:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.setup-acc__icon{color:#334155;background:#f1f5f9;border-radius:11px;flex-shrink:0;place-items:center;width:2.35rem;height:2.35rem;font-size:.95rem;transition:background .15s,color .15s;display:grid}.setup-acc.is-open .setup-acc__icon{color:var(--accent,#4f46e5);background:#eef2ff}.setup-acc__copy{flex-direction:column;gap:.15rem;min-width:0;display:flex}.setup-acc__title{letter-spacing:-.02em;color:var(--text-main);font-size:.95rem;font-weight:800}.setup-acc__desc{color:var(--text-dim);font-size:.78rem;line-height:1.35}.setup-acc__meta{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.setup-acc__stat{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;max-width:14rem;font-size:.72rem;font-weight:700;overflow:hidden}.setup-acc__badge{letter-spacing:.01em;white-space:nowrap;color:#b91c1c;background:#fee2e2;border-radius:999px;align-items:center;padding:.22rem .55rem;font-size:.68rem;font-weight:800;animation:.25s setup-badge-in;display:inline-flex}.setup-acc__badge--warn{color:#92400e;background:#fef3c7}.setup-acc__badge--info{color:#3730a3;background:#e0e7ff}@keyframes setup-badge-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.setup-acc__chevron{color:#94a3b8;font-size:.75rem;transition:transform .2s}.setup-acc.is-open .setup-acc__chevron{color:var(--accent,#4f46e5);transform:rotate(180deg)}.setup-acc__panel{border-top:1px solid var(--border);background:#fcfcfd;animation:.22s setup-panel-in}@keyframes setup-panel-in{0%{opacity:0}to{opacity:1}}.setup-acc__toolbar{border-bottom:1px solid var(--border);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;padding:.75rem 1.05rem;display:flex}.setup-acc__toolbar-hint{color:var(--text-dim);max-width:28rem;margin:0;font-size:.78rem;line-height:1.4}.setup-acc__body{background:#fff;padding:1.1rem 1.15rem 1.25rem}.setup-acc__block{background:#fff;padding:1rem 1.05rem 1.15rem}.setup-acc__block--border{border-top:1px solid var(--border)}.setup-acc__block-head{margin-bottom:.75rem}.setup-acc__block-title{letter-spacing:-.01em;margin:0;font-size:.82rem;font-weight:800}.setup-acc__block-desc{color:var(--text-dim);margin:.2rem 0 0;font-size:.75rem}.setup-inline-check{color:var(--text-dim);cursor:pointer;align-items:center;gap:.45rem;margin-top:.65rem;font-size:.78rem;font-weight:600;display:inline-flex}.setup-inline-check--toolbar{margin-top:0}.setup-inline-check input{accent-color:var(--primary,var(--accent))}.setup-identity-grid{max-width:36rem}.setup-subsection-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin:1.35rem 0 .65rem;font-size:.72rem;font-weight:800}.setup-subsection-title:first-child{margin-top:0}.setup-filter-select{width:auto;min-width:10rem}.user-directory-card--embedded{border:1px solid var(--border);border-radius:10px;margin-top:0}.admin-table--embedded{border:none;border-radius:0}.access-requests-empty{color:var(--text-dim);padding:1rem .15rem;font-size:.85rem}.access-request-role-label{min-height:2.1rem;color:var(--text-main);background:#f1f5f9;border-radius:8px;align-items:center;padding:.35rem .65rem;font-size:.8rem;font-weight:700;display:inline-flex}#access-requests-admin:not([hidden]){padding:0}#access-requests-admin .access-request-row{background:#fff}#resident-links-list.resident-links-panel{background:#fff;border:none;border-radius:0;margin:0;padding:.85rem 1.05rem 1.15rem}#portfolio-grid.portfolio-grid{background:#fff;padding:1rem 1.05rem 1.25rem}.setup-section{border:1px solid var(--border);background:#fff;border-radius:12px;overflow:hidden}.setup-section--secondary{background:#fafbfc}.setup-section__head{border-bottom:1px solid var(--border);padding:1.15rem 1.25rem .85rem}.setup-section__head--split{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.setup-section__title{letter-spacing:-.02em;color:var(--text-main);margin:0;font-size:1rem;font-weight:800}.setup-section__desc{color:var(--text-dim);max-width:40rem;margin:.3rem 0 0;font-size:.8rem;line-height:1.45}.setup-section__body{padding:1.15rem 1.25rem 1.25rem}.setup-section__body--flush{padding:0}.setup-section__actions{justify-content:flex-start;margin-top:1.15rem;display:flex}.setup-section__actions-inline{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.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-form-grid--modal{gap:.75rem}.admin-field{flex-direction:column;gap:.35rem;display:flex}.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}#admin-vendor-modal.modal-backdrop,#admin-subcat-modal.modal-backdrop,#admin-staff-modal.modal-backdrop,#resident-link-modal.modal-backdrop,#user-access-modal.modal-backdrop,#apt-mgmt-modal.modal-backdrop{justify-content:center;align-items:center;padding:1rem}#admin-vendor-modal .modal-content.admin-modal,#admin-subcat-modal .modal-content.admin-modal,#admin-staff-modal .modal-content.admin-modal,#resident-link-modal .modal-content.admin-modal,#user-access-modal .modal-content.admin-modal,#apt-mgmt-modal .modal-content.admin-modal{border-radius:14px;height:auto;transform:translateY(10px);box-shadow:0 28px 70px #00000038}#admin-vendor-modal.modal-backdrop.active .modal-content.admin-modal,#admin-subcat-modal.modal-backdrop.active .modal-content.admin-modal,#admin-staff-modal.modal-backdrop.active .modal-content.admin-modal,#resident-link-modal.modal-backdrop.active .modal-content.admin-modal,#user-access-modal.modal-backdrop.active .modal-content.admin-modal,#apt-mgmt-modal.modal-backdrop.active .modal-content.admin-modal{transform:translateY(0)}.admin-modal{flex-direction:column;width:min(480px,92vw);max-width:480px;max-height:90vh;padding:0;display:flex;overflow:hidden}.admin-modal--sm{width:min(400px,92vw);max-width:400px}.admin-modal--lg{width:min(560px,94vw);max-width:560px}.admin-modal__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.15rem 1.25rem .85rem;display:flex}.admin-modal__title{letter-spacing:-.02em;margin:0;font-size:1.1rem;font-weight:800}.admin-modal__desc{color:var(--text-dim);margin:.3rem 0 0;font-size:.8rem;line-height:1.4}.admin-modal__close{border:1px solid var(--border);width:2rem;height:2rem;color:var(--text-dim);cursor:pointer;background:#fff;border-radius:8px;flex-shrink:0;font-size:1.25rem;line-height:1}.admin-modal__close:hover{color:var(--text-main);background:#f8fafc}.admin-modal__body{flex-direction:column;gap:.9rem;padding:1.1rem 1.25rem;display:flex;overflow:auto}.admin-modal__footer{border-top:1px solid var(--border);background:#fafbfc;justify-content:flex-end;gap:.5rem;padding:.9rem 1.25rem 1.15rem;display:flex}.admin-modal__footer--inbody{border-top:1px solid var(--border);background:0 0;margin:.35rem -.15rem 0;padding:.85rem 0 0}.admin-modal__footer .btn{min-width:6.5rem}.admin-modal__multi{min-height:7.5rem}#resident-link-modal .resident-link-tabs{border-bottom:none;margin:0;padding:.65rem 1.25rem 0}#resident-link-modal .admin-modal__body{padding-top:.85rem}@media (width<=640px){.admin-form-grid,.admin-form-grid--modal{grid-template-columns:1fr}.admin-field--span2{grid-column:auto}.setup-section__head--split{flex-direction:column}.setup-section__actions-inline{width:100%}.setup-section__actions-inline .btn{flex:1}.setup-acc__trigger{grid-template-columns:auto 1fr auto;gap:.55rem .75rem}.setup-acc__copy{grid-column:2}.setup-acc__stat{max-width:9rem}.setup-acc__desc{display:none}.setup-attention{align-items:flex-start}}@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{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;margin:.65rem 0 .45rem;display:flex}.maintenance-alloc-toolbar__label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);font-size:.65rem;font-weight:900}.maintenance-alloc-toolbar__hint{color:var(--text-dim);text-align:right;font-size:.72rem;font-weight:500}.maintenance-alloc-head{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);grid-template-columns:auto 1fr 5.5rem 9.5rem;gap:.55rem;padding:0 .65rem .25rem;font-size:.62rem;font-weight:800;display:grid}.maintenance-alloc-head span:nth-child(3),.maintenance-alloc-head span:nth-child(4){text-align:right}.maintenance-allocation-rows{flex-direction:column;gap:.45rem;max-height:240px;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 5.5rem 9.5rem;align-items:center;gap:.55rem;padding:.55rem .65rem;display:grid}.maintenance-alloc-row__balance{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-main);font-size:.8rem;font-weight:700}.maintenance-alloc-row__apply{justify-content:flex-end;align-items:center;gap:.25rem;display:flex}.maintenance-alloc-row__apply .maintenance-alloc-amt{width:5.25rem;min-width:0}.maintenance-alloc-fill-btn{appearance:none;border:1px solid var(--border);color:#174ea6;cursor:pointer;background:#fff;border-radius:6px;flex-shrink:0;padding:.2rem .4rem;font-size:.65rem;font-weight:700}.maintenance-alloc-fill-btn:hover{background:#f0f6ff}.maintenance-alloc-credit{color:#174ea6;background:#f0f6ff;border:1px solid #d2e3fc;border-radius:8px;margin-top:.45rem;padding:.55rem .65rem;font-size:.76rem;line-height:1.4}.maintenance-alloc-credit-tag{color:#174ea6;font-weight:700}.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}.invoice-list-table{--inv-w-check:2.25rem;--inv-w-flat:8%;--inv-w-period:14%;--inv-w-due:10%;--inv-w-billed:11%;--inv-w-paid:11%;--inv-w-balance:11%;--inv-w-status:11%;--inv-w-actions:9%;--inv-cols:var(--inv-w-check) var(--inv-w-flat) var(--inv-w-period) var(--inv-w-due) var(--inv-w-billed) var(--inv-w-paid) var(--inv-w-balance) var(--inv-w-status) var(--inv-w-actions);--inv-cell-pad:.5rem .55rem;--inv-col-line:1px solid #e9ecef;--inv-col-line-header:1px solid #dfe3e8;--inv-row-line:1px solid #e8eaed}.invoice-list-table>.registry-header.maintenance-dues-header{grid-template-columns:var(--inv-cols);border-bottom:var(--inv-row-line);background:linear-gradient(#fafbfc 0%,#f4f6f8 100%);gap:0;width:100%;margin:0;padding:0;font-size:.65rem;font-weight:800;display:grid}.invoice-list-table>.registry-header.maintenance-dues-header span{padding:var(--inv-cell-pad);box-sizing:border-box;border-right:var(--inv-col-line-header);text-align:left;min-width:0;display:block}.invoice-list-table>.registry-header.maintenance-dues-header span:last-child{border-right:none}.invoice-list-table>.registry-header.maintenance-dues-header span:nth-child(5),.invoice-list-table>.registry-header.maintenance-dues-header span:nth-child(6),.invoice-list-table>.registry-header.maintenance-dues-header span:nth-child(7),.invoice-list-table>.registry-header.maintenance-dues-header span:nth-child(9){text-align:right}.invoice-list-check-col{justify-content:center;align-items:center;display:flex;padding-left:.35rem!important;padding-right:.35rem!important}.invoice-list-check-col input{width:1rem;height:1rem;accent-color:var(--primary);cursor:pointer}#invoice-list-items .maintenance-dues-row{grid-template-columns:var(--inv-cols);cursor:default;border-bottom:var(--inv-row-line);gap:0;width:100%;padding:0;transition:background .12s;display:grid}#invoice-list-items .maintenance-dues-row:nth-child(2n){background:#fafbfc}#invoice-list-items .maintenance-dues-row:hover{background:#f3f6fa}#invoice-list-items .maintenance-dues-row>*{padding:var(--inv-cell-pad);box-sizing:border-box;border-right:var(--inv-col-line);align-self:center;min-width:0}#invoice-list-items .maintenance-dues-row>:last-child{border-right:none}#invoice-list-items .maintenance-dues-row>:nth-child(8){border-right:var(--inv-col-line-header)}.inv-col-period,.inv-col-due{color:var(--text-main);font-size:.82rem}.inv-col-due{color:var(--text-dim);font-size:.78rem}.inv-col-money{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.82rem;font-weight:700}.inv-col-balance{font-weight:800}.inv-col-status{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.inv-col-actions{justify-content:flex-end;align-items:center;gap:.25rem;display:flex}.inv-col-actions .btn{flex-shrink:0;padding:.2rem .4rem}.pending-dues-table{--pd-w-check:2.25rem;--pd-w-flat:9%;--pd-w-block:7%;--pd-w-out:13%;--pd-w-open:7%;--pd-w-due:11%;--pd-w-periods:36%;--pd-w-actions:12%;--pd-cols:var(--pd-w-check) var(--pd-w-flat) var(--pd-w-block) var(--pd-w-out) var(--pd-w-open) var(--pd-w-due) var(--pd-w-periods) var(--pd-w-actions)}.pending-dues-table>.registry-header.pending-dues-header{grid-template-columns:var(--pd-cols);border-bottom:var(--inv-row-line,1px solid #e8eaed);background:linear-gradient(#fafbfc 0%,#f4f6f8 100%);gap:0;width:100%;padding:0;font-size:.65rem;font-weight:800;display:grid}.pending-dues-table>.registry-header.pending-dues-header span{padding:var(--inv-cell-pad,.5rem .55rem);border-right:var(--inv-col-line-header,1px solid #dfe3e8);box-sizing:border-box;min-width:0;display:block}.pending-dues-table>.registry-header.pending-dues-header span:last-child{border-right:none}.pending-dues-table>.registry-header.pending-dues-header span:nth-child(4),.pending-dues-table>.registry-header.pending-dues-header span:nth-child(8){text-align:right}.pending-dues-check-col{justify-content:center;align-items:center;display:flex;padding-left:.35rem!important;padding-right:.35rem!important}.pending-dues-check-col input{width:1rem;height:1rem;accent-color:var(--primary);cursor:pointer}.pending-dues-bulk-bar{background:#eef4ff;border:1px solid #c7d7f5;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.45rem .55rem;margin:0 0 .65rem;padding:.55rem .75rem;display:flex}.pending-dues-bulk-bar[hidden]{display:none}.pending-dues-bulk-bar__status{color:var(--text);margin-right:auto;font-size:.8rem;font-weight:800}#pending-dues-items .pending-dues-row{grid-template-columns:var(--pd-cols);cursor:default;border-bottom:var(--inv-row-line,1px solid #e8eaed);gap:0;width:100%;padding:0;display:grid}#pending-dues-items .pending-dues-row:nth-child(2n){background:#fafbfc}#pending-dues-items .pending-dues-row:hover{background:#f3f6fa}#pending-dues-items .pending-dues-row>*{padding:var(--inv-cell-pad,.5rem .55rem);border-right:var(--inv-col-line,1px solid #e9ecef);box-sizing:border-box;align-self:center;min-width:0}#pending-dues-items .pending-dues-row>:last-child{border-right:none}#pending-dues-items .pending-dues-row>:nth-child(7){border-right:var(--inv-col-line-header,1px solid #dfe3e8)}.inv-col-block{text-transform:uppercase;letter-spacing:.02em;font-size:.78rem;font-weight:800}.inv-col-open{text-align:center;font-size:.82rem;font-weight:700}.inv-col-periods{color:var(--text-dim);font-size:.78rem;line-height:1.35}.pending-dues-combined{margin-top:.2rem;font-size:.72rem}.pending-dues-shared-hint{text-transform:uppercase;color:var(--text-dim);margin-left:.15rem;font-size:.62rem;font-weight:700}.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){.invoice-list-table>.registry-header.maintenance-dues-header{display:none}#invoice-list-items .maintenance-dues-row{border:1px solid var(--border);background:#fff;border-radius:10px;margin-bottom:.5rem;padding:.75rem;display:block}#invoice-list-items .maintenance-dues-row>*{border-right:none;padding:.15rem 0}#invoice-list-items .maintenance-dues-row .invoice-list-check-col{justify-content:flex-start;padding:0 0 .35rem!important}#invoice-list-items .maintenance-dues-row .inv-col-actions{justify-content:flex-start;margin-top:.35rem}}.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.active{color:var(--accent);border-bottom-color:var(--accent)}.accounts-subview-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.2rem;margin-bottom:.75rem;padding:0 1rem .55rem;display:flex}.accounts-subview-tabs button,.accounts-subview-tabs a.accounts-subview-tab{color:var(--sidebar-muted);font-weight:var(--font-regular);font-size:var(--text-sm);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:.5rem;padding:.45rem .7rem;font-family:inherit;text-decoration:none;transition:background .14s,color .14s,border-color .14s;display:inline-flex}.accounts-subview-tabs button i,.accounts-subview-tabs a.accounts-subview-tab i{text-align:center;opacity:.85;flex-shrink:0;width:1rem;font-size:.72rem}.accounts-subview-tabs button:hover,.accounts-subview-tabs a.accounts-subview-tab:hover{background:var(--sidebar-hover);color:var(--sidebar-text-strong)}.accounts-subview-tabs button:hover i,.accounts-subview-tabs a.accounts-subview-tab:hover i{opacity:1;color:var(--sidebar-text-strong)}.accounts-subview-tabs button.active,.accounts-subview-tabs a.accounts-subview-tab.active{background:var(--sidebar-active-bg);color:var(--sidebar-text-strong);font-weight:var(--font-medium);box-shadow:inset 0 -2px 0 var(--sidebar-active-border);border-color:#2563eb2e}.accounts-subview-tabs button.active i,.accounts-subview-tabs a.accounts-subview-tab.active i{color:var(--sidebar-active-border);opacity:1}.invoice-subview-desc{color:var(--text-dim);margin:-.35rem 1.6rem 1rem;font-size:.78rem;line-height:1.45}.bulk-collection-import-bar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.bulk-collection-summary{color:var(--text-dim);gap:1rem;margin-bottom:.5rem;font-size:.82rem;display:flex}.bulk-collection-table-wrap{border:1px solid var(--border);border-radius:10px;max-height:min(52vh,420px);overflow:auto}.bulk-collection-table{border-collapse:collapse;width:100%;font-size:.78rem}.bulk-collection-table th,.bulk-collection-table td{text-align:left;vertical-align:top;border-bottom:1px solid #eef1f4;padding:.45rem .55rem}.bulk-collection-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);background:#f8fafc;font-size:.65rem;position:sticky;top:0}.bulk-collection-table select{min-width:5.5rem;font-size:.78rem}.bulk-collection-status--duplicate{color:var(--text-dim)}.bulk-collection-status--no_flat{color:#b06000}.bulk-collection-status--no_invoices{color:#174ea6}.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{--ud-w-flat:5%;--ud-w-block:6%;--ud-w-info:11%;--ud-w-status:12%;--ud-w-owners:20%;--ud-w-tenants:18%;--ud-w-parking:11%;--ud-w-dues:8%;--ud-w-actions:9%;--ud-cols:var(--ud-w-flat) var(--ud-w-block) var(--ud-w-info) var(--ud-w-status) var(--ud-w-owners) var(--ud-w-tenants) var(--ud-w-parking) var(--ud-w-dues) var(--ud-w-actions);--ud-cell-pad:.5rem .55rem;--ud-col-line:1px solid #e9ecef;--ud-col-line-header:1px solid #dfe3e8;--ud-row-line:1px solid #e8eaed;width:auto;margin:0 1.6rem 1.5rem}.registry-list.unit-directory-list>.registry-header.unit-directory-header{grid-template-columns:var(--ud-cols);border-bottom:var(--ud-row-line);width:100%;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;box-sizing:border-box;background:linear-gradient(#fafbfc 0%,#f4f6f8 100%);margin:0;padding:0;font-size:.65rem;font-weight:800;display:grid}.registry-list.unit-directory-list>.registry-header.unit-directory-header span{vertical-align:bottom;padding:var(--ud-cell-pad);white-space:nowrap;text-align:left;box-sizing:border-box;border-right:var(--ud-col-line-header);min-width:0;display:block}.registry-list.unit-directory-list>.registry-header.unit-directory-header span:last-child{border-right:none}.registry-list.unit-directory-list>.registry-header.unit-directory-header span:nth-child(8),.registry-list.unit-directory-list>.registry-header.unit-directory-header span:nth-child(9){text-align:right}.unit-directory-header{grid-template-columns:var(--ud-cols);width:100%;display:grid}#unit-directory-items{background:#fff}.unit-directory-group{border:none;border-bottom:var(--ud-row-line);background:#fff;border-radius:0;margin-bottom:0;overflow:hidden}.unit-directory-group:last-child{border-bottom:none}.unit-directory-group__summary{grid-template-columns:var(--ud-cols);cursor:pointer;box-sizing:border-box;background:#fff;width:100%;padding:0;list-style:none;transition:background .12s;display:grid}.unit-directory-group:nth-child(2n) .unit-directory-group__summary{background:#fafbfc}.unit-directory-group__summary:hover{background:#f3f6fa}.unit-directory-group[open] .unit-directory-group__summary{border-bottom:var(--ud-row-line);background:#f8fafc}.unit-directory-group__summary>*{vertical-align:top;padding:var(--ud-cell-pad);box-sizing:border-box;text-align:left;border-right:var(--ud-col-line);min-width:0;display:block}.unit-directory-group__summary>:last-child{border-right:none}.unit-directory-group__summary>:nth-child(8){border-right:var(--ud-col-line-header)}.unit-directory-group__summary>.unit-directory-group__dues-col,.unit-directory-group__summary>.unit-directory-group__actions{text-align:right;align-self:center}.unit-directory-group__status{flex-wrap:wrap;align-items:flex-start;gap:.25rem;line-height:1.25;display:flex}.unit-directory-group__summary::-webkit-details-marker{content:"";display:none}.unit-directory-group__summary::marker{content:"";display:none}.unit-directory-group__flat{color:var(--text-main);font-size:.88rem;font-weight:900;line-height:1.3}.unit-directory-group__block{color:var(--text-main);text-transform:uppercase;letter-spacing:.02em;font-size:.78rem;font-weight:800;line-height:1.35}.unit-directory-group__meta{color:var(--text-dim);white-space:normal;word-break:break-word;min-width:0;font-size:.7rem;font-weight:600;line-height:1.35}.unit-directory-group__slots{color:var(--text-dim);opacity:.85;font-size:.65rem;font-weight:500;display:block}.unit-directory-group__owners,.unit-directory-group__tenants{color:var(--text-main);font-size:.76rem;font-weight:600;line-height:1.35}.unit-directory-group__residents{display:contents}.unit-directory-names{flex-direction:column;align-items:flex-start;gap:.2rem;display:flex}.unit-dir-name{word-break:break-word;line-height:1.3;display:block}.unit-dir-name__tag{text-transform:uppercase;letter-spacing:.02em;color:var(--text-dim);vertical-align:middle;margin-left:.25rem;font-size:.58rem;font-weight:700}.unit-directory-group__vehicles{min-width:0}.unit-directory-group__dues-col{white-space:nowrap;font-size:.76rem;font-weight:800;line-height:1.3}.unit-directory-group__actions{white-space:nowrap}.unit-directory-group__actions-inner{justify-content:flex-end;align-items:center;gap:.2rem;width:100%;display:inline-flex}.unit-directory-group__actions .btn{vertical-align:middle;flex-shrink:0}.unit-directory-group__actions .unit-directory-open-modal{opacity:.85}.unit-directory-group:hover .unit-directory-group__actions .unit-directory-open-modal,.unit-directory-group[open] .unit-directory-group__actions .unit-directory-open-modal{opacity:1}.unit-directory-group__chevron{color:var(--text-dim);vertical-align:middle;flex-shrink:0;font-size:.72rem;transition:transform .15s}.unit-directory-vehicle-summary{flex-wrap:wrap;align-items:flex-start;gap:.25rem;font-size:.72rem;display:flex}.unit-directory-slot{color:var(--text-main);white-space:nowrap;background:#f1f5f9;border-radius:5px;align-items:center;gap:.15rem;padding:.08rem .28rem;line-height:1.2;display:inline-flex}.unit-directory-slot i{color:var(--text-dim);font-size:.68rem}.unit-directory-slot strong{font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:900}.unit-directory-slot__label{text-transform:uppercase;color:var(--text-dim);font-size:.58rem;font-weight:700}.unit-directory-slot--over{color:#c5221f;background:#fce8e6}.unit-directory-slot--over i,.unit-directory-slot--over .unit-directory-slot__label{color:#c5221f}.unit-directory-vehicle-flags{flex-wrap:wrap;gap:.25rem;display:inline-flex}.unit-directory-vehicle-flag{white-space:nowrap;border-radius:999px;padding:.1rem .35rem;font-size:.6rem;font-weight:800;display:inline-block}.unit-directory-vehicle-flag--violation{color:#b06000;background:#fef7e0}.unit-directory-group__dues{color:var(--text-dim);font-size:.78rem;font-weight:800}.unit-directory-group__dues--warn{color:#b06000}.unit-directory-cell--empty{color:var(--text-dim);font-style:italic;font-weight:500}.unit-directory-group[open] .unit-directory-group__chevron{transform:rotate(180deg)}.unit-directory-expanded{border-top:var(--ud-row-line);background:#f8fafc}.unit-directory-expanded__toolbar{padding:.65rem var(--ud-cell-pad);border-bottom:1px solid var(--border);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem 1rem;display:flex}.unit-directory-expanded__stats{flex-wrap:wrap;align-items:center;gap:.45rem .85rem;min-width:0;display:flex}.unit-directory-stat{color:var(--text-dim);white-space:nowrap;align-items:center;gap:.35rem;font-size:.74rem;font-weight:600;display:inline-flex}.unit-directory-stat i{opacity:.75;font-size:.68rem}.unit-directory-stat--warn{color:#b06000}.unit-directory-expanded__grid{padding:.75rem var(--ud-cell-pad);grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.unit-directory-panel{border:1px solid var(--border);background:#fff;border-radius:10px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.unit-directory-panel__head{border-bottom:1px solid var(--border);background:#f8fafc;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .65rem;display:flex}.unit-directory-panel__title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin:0;font-size:.68rem;font-weight:900}.unit-directory-panel__count{color:#174ea6;background:#e8f0fe;border-radius:999px;justify-content:center;align-items:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;font-size:.65rem;font-weight:800;display:inline-flex}.unit-directory-panel__body{min-height:2.5rem;padding:.15rem .65rem .55rem}.unit-directory-panel__empty{color:var(--text-dim);margin:.45rem 0 .25rem;font-size:.74rem;font-style:italic}.unit-directory-panel__summary{color:var(--text-dim);border-bottom:1px solid #f1f5f9;justify-content:space-between;gap:.5rem;margin-bottom:.15rem;padding:.45rem 0 .35rem;font-size:.75rem;font-weight:600;display:flex}.unit-directory-panel--people-mobile{display:none}.unit-directory-panel__kind{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin:.35rem 0 .1rem;font-size:.58rem;font-weight:800}.unit-directory-panel__kind:first-child{margin-top:0}.unit-directory-expanded__nav{padding:.55rem var(--ud-cell-pad) .75rem;border-top:1px solid var(--border);background:#fff;flex-wrap:wrap;gap:.35rem;display:flex}.unit-directory-expanded__nav .unit-directory-full-detail{appearance:none;border:1px solid var(--border);color:var(--text-main);cursor:pointer;background:#fff;border-radius:999px;padding:.28rem .65rem;font-size:.72rem;font-weight:700;transition:background .12s,border-color .12s}.unit-directory-expanded__nav .unit-directory-full-detail:hover{background:#f8fafc;border-color:#cbd5e1}.unit-dir-person,.unit-dir-vehicle,.unit-dir-invoice{border-bottom:1px solid #f1f5f9;padding:.5rem 0;font-size:.8rem}.unit-dir-vehicle,.unit-dir-invoice{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.1rem .5rem;display:grid}.unit-dir-person:last-child,.unit-dir-vehicle:last-child,.unit-dir-invoice:last-child{border-bottom:none}.unit-dir-person__main,.unit-dir-invoice__main{flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;display:flex}.unit-dir-person__name{min-width:0}.unit-dir-person__edit{border:1px solid var(--border);width:1.45rem;height:1.45rem;color:var(--text-dim);cursor:pointer;background:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.unit-dir-person__edit i{font-size:.62rem}.unit-dir-person__edit:hover{color:var(--text-main);background:#f8fafc;border-color:#cbd5e1}.unit-dir-person__meta,.unit-dir-vehicle__meta,.unit-dir-invoice__meta{color:var(--text-dim);flex-wrap:wrap;gap:.45rem .75rem;margin-top:.2rem;font-size:.72rem;display:flex}.unit-dir-person__contact{align-items:center;gap:.3rem;min-width:0;display:inline-flex}.unit-dir-person__contact i{opacity:.7;font-size:.62rem}.unit-dir-vehicle--dormant{opacity:.65}.unit-detail-form__hint{color:var(--text-dim);margin:.35rem 0 0;font-size:.72rem;line-height:1.4}.unit-detail-form__hint--short{display:none}.unit-detail-form__grid--core{grid-template-columns:repeat(4,minmax(0,1fr))}.unit-detail-form__grid--core .unit-detail-form__field--wide{grid-column:span 2}.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-non-allotable{color:#c5221f;background:#fce8e6}.occupancy-badge.occ-no-owner{color:#b06000;background:#fef7e0}.occupancy-badge.occ-absent{color:#5f6368;background:#eef2f7}.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-direction:column;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(2,minmax(0,1fr));gap:.5rem;padding:.65rem .85rem;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);-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#fafafa;flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:.35rem;padding:.45rem .75rem;display:flex;overflow-x:auto}.unit-detail-tabs::-webkit-scrollbar{display:none}.unit-detail-tab{min-height:auto;color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;flex-direction:row;flex:none;justify-content:center;align-items:center;gap:.35rem;padding:.42rem .7rem;font-size:.72rem;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:inline-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;margin-bottom:.45rem;padding:.75rem .85rem;transition:border-color .15s,box-shadow .15s}.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__delete{width:1.5rem;height:1.5rem;color:var(--danger);cursor:pointer;background:#fff;border:1px solid #fce8e6;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.unit-detail-person__delete:hover{background:#fce8e6}.unit-detail-person__edit{border:1px solid var(--border);width:1.5rem;height:1.5rem;color:var(--text-dim);cursor:pointer;background:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.unit-detail-person__edit i{font-size:.65rem}.unit-detail-person__edit:hover{color:var(--text-main);background:#f8fafc;border-color:#cbd5e1}.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;gap:.45rem .85rem;margin-top:.35rem;display:flex}.unit-detail-person__meta i{opacity:.65;margin-right:.15rem}.unit-vehicles-summary{font-size:var(--text-sm);font-weight:var(--font-medium);flex-wrap:wrap;align-items:center;gap:.65rem 1.1rem;margin-bottom:.85rem;display:flex}.unit-vehicles-summary__hint{font-size:var(--text-xs);font-weight:var(--font-normal);color:var(--text-dim)}.unit-vehicles-table-wrap{border:1px solid #e8eaed;border-radius:12px;margin-bottom:.85rem;overflow:hidden}.unit-vehicles-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.unit-vehicles-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);background:#f8f9fa;border-bottom:1px solid #e8eaed;padding:.55rem .75rem;font-size:.68rem;font-weight:700}.unit-vehicles-table td{vertical-align:middle;border-bottom:1px solid #eef0f2;padding:.55rem .75rem}.unit-vehicles-table tr:last-child td{border-bottom:none}.unit-vehicles-row--dormant{opacity:.72;background:#fafbfc}.unit-vehicles-row__plate{align-items:center;gap:.45rem;min-width:10rem;display:flex}.unit-vehicles-row__plate i{color:var(--text-dim);text-align:center;width:1rem}.unit-vehicles-plate-input{border:1px solid var(--border);min-width:0;font-weight:600;font-size:var(--text-sm);border-radius:8px;flex:1;padding:.4rem .55rem}.unit-vehicles-row__status{flex-wrap:wrap;align-items:center;gap:.35rem .65rem;display:flex}.unit-vehicles-active{font-size:var(--text-xs);cursor:pointer;align-items:center;gap:.35rem;display:inline-flex}.unit-vehicles-row__alloc,.unit-vehicles-row__warn{font-size:var(--text-xs);color:var(--text-dim)}.unit-vehicles-row__warn{color:#c5221f}.unit-vehicles-add{flex-wrap:wrap;align-items:center;gap:.55rem;margin-bottom:.75rem;display:flex}.unit-vehicles-add__type{width:6.5rem}.unit-vehicles-add__plate{flex:1;min-width:10rem}.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-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;padding:.85rem 1.35rem}.unit-detail-tabs{border-right:1px solid var(--border);border-bottom:none;flex-direction:column;align-items:stretch;gap:.35rem;width:12.5rem;padding:1rem .75rem;display:flex;overflow:visible auto}.unit-detail-tab{white-space:normal;border-radius:10px;flex-direction:row;flex:none;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-backdrop{align-items:stretch;padding:0}#unit-detail-modal .modal-content{border-radius:0;width:100%;height:100dvh;max-height:100dvh;transform:translateY(100%)}#unit-detail-modal.modal-backdrop.active .modal-content{transform:translateY(0)}#unit-detail-modal .expense-modal__header{gap:.5rem;padding:.7rem .85rem .55rem}#unit-detail-modal .expense-modal__header h2{font-size:1.1rem;line-height:1.2}#unit-detail-modal .expense-modal__header p{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.7rem;line-height:1.35;display:-webkit-box;overflow:hidden}#unit-detail-modal .expense-modal__close{flex-shrink:0;min-width:2rem;min-height:2rem;padding:0}.unit-detail-kpis,.unit-detail-billing-summary{display:none!important}.unit-detail-tabs{gap:.3rem;padding:.4rem .65rem}.unit-detail-tab{padding:.38rem .62rem;font-size:.68rem}.unit-detail-tab i{font-size:.72rem}.unit-detail-body{-webkit-overflow-scrolling:touch}.unit-detail-panel{padding:.5rem .75rem .65rem}#unit-detail-panel-overview.unit-detail-panel{padding:.45rem .75rem .55rem}.unit-detail-form{gap:.4rem}.unit-detail-form__section{background:#fff;border:1px solid #eef2f6;border-radius:8px;padding:.42rem .5rem}.unit-detail-form__section-title{letter-spacing:.06em;margin-bottom:.3rem;font-size:.58rem}.unit-detail-form__grid,.unit-detail-form__grid--core{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .45rem}.unit-detail-form__grid--core .unit-detail-form__field--wide{grid-column:1/-1}#unit-detail-panel-overview .unit-detail-form__field{grid-template-columns:minmax(4.25rem,34%) minmax(0,1fr);align-items:center;gap:.3rem .45rem;display:grid}#unit-detail-panel-overview .unit-detail-form__field--wide{grid-template-columns:minmax(4.25rem,34%) minmax(0,1fr)}#unit-detail-panel-overview .unit-detail-form__section--status .unit-detail-form__field,#unit-detail-panel-overview .unit-detail-form__section--notes .unit-detail-form__field{display:block}#unit-detail-panel-overview .expense-label{margin-bottom:0;font-size:.56rem;line-height:1.2}#unit-detail-panel-overview .unit-detail-form__section--status .expense-label,#unit-detail-panel-overview .unit-detail-form__section--notes .expense-label{display:none}#unit-detail-panel-overview .expense-combobox,#unit-detail-panel-overview .expense-desc,#unit-detail-panel-overview .expense-textarea{border-radius:6px;min-height:1.85rem;padding:.3rem .45rem;font-size:.78rem}#unit-detail-panel-overview .expense-textarea{min-height:2.35rem;line-height:1.3}.unit-detail-form__hint{margin-top:.22rem;font-size:.62rem;line-height:1.3}.unit-detail-form__hint--long{display:none}.unit-detail-form__hint--short{display:inline}.unit-detail-form__section--notes .expense-optional{display:none}.unit-detail-panel__toolbar{gap:.4rem;margin-bottom:.65rem;padding-bottom:.55rem}.unit-detail-panel__toolbar .btn{flex:auto;justify-content:center;min-width:0;padding:.38rem .5rem;font-size:.68rem}.unit-detail-residents-grid,.unit-detail-billing-grid{flex-direction:column;gap:.85rem;display:flex}.unit-detail-person{border-radius:10px;margin-bottom:.35rem;padding:.55rem .65rem}.unit-detail-person__main{flex-wrap:wrap;gap:.25rem .35rem}.unit-detail-person__name{font-size:.78rem}.unit-detail-person__role,.unit-detail-person__main .occupancy-badge,.unit-detail-person__main .resident-primary-badge{padding:.08rem .3rem;font-size:.56rem}.unit-detail-person__meta{margin-top:.15rem;font-size:.68rem}.unit-detail-invoice-row,.unit-detail-payment-row{grid-template-columns:1fr;gap:.3rem;padding:.55rem .65rem;font-size:.76rem}.unit-detail-invoice-row .btn,.unit-detail-payment-row .btn{justify-self:start;padding:.22rem .45rem;font-size:.66rem}.unit-vehicles-summary{flex-direction:column;align-items:flex-start;gap:.25rem;margin-bottom:.55rem;font-size:.74rem}.unit-vehicles-table-wrap{border:none;border-radius:0;margin-bottom:.55rem}#unit-detail-modal .unit-vehicles-table{display:block}#unit-detail-modal .unit-vehicles-table thead{display:none}#unit-detail-modal .unit-vehicles-table tbody{flex-direction:column;gap:.4rem;display:flex}#unit-detail-modal .unit-vehicles-table tr{background:#fff;border:1px solid #e8eaed;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"plate actions""type type""status status";gap:.2rem .45rem;padding:.55rem .65rem;display:grid}#unit-detail-modal .unit-vehicles-table td{border:none;padding:0;display:block}#unit-detail-modal .unit-vehicles-row__plate{grid-area:plate;min-width:0}#unit-detail-modal .unit-vehicles-row__type{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;grid-area:type;font-size:.66rem;font-weight:700}#unit-detail-modal .unit-vehicles-row__status{grid-area:status}#unit-detail-modal .unit-vehicles-row__actions{grid-area:actions;align-self:start}.unit-vehicles-add{flex-direction:column;align-items:stretch;gap:.4rem}.unit-vehicles-add__type,.unit-vehicles-add__plate{width:100%;min-width:0}.unit-vehicles-add .btn{justify-content:center;width:100%}.unit-detail-footer{padding:.55rem .85rem calc(.55rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:#fff;flex-direction:column;align-items:stretch;gap:.45rem}#unit-detail-modal #unit-edit-parking-link{justify-content:center;width:100%;padding:.42rem .55rem;font-size:.72rem}.unit-detail-footer__actions{grid-template-columns:1fr 1fr;gap:.4rem;width:100%;margin-left:0;display:grid}.unit-detail-footer__actions #unit-edit-save{order:1;grid-column:1/-1}.unit-detail-footer__actions #unit-edit-cancel{order:2}.unit-detail-footer__actions #unit-detail-delete{order:3}.unit-detail-footer__actions .btn{flex:unset;justify-content:center;width:100%;min-height:2.35rem;font-size:.74rem}#unit-detail-modal .expense-combobox,#unit-detail-modal .expense-desc,#unit-detail-modal .expense-textarea{box-sizing:border-box;width:100%;max-width:none}.unit-detail-doc-row{flex-direction:column;align-items:flex-start;gap:.35rem;padding:.55rem .65rem;font-size:.76rem}}.unit-directory-resident{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;overflow:hidden}@media (width<=1100px){.unit-directory-expanded__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.directory-page__header,.directory-page__toolbar-wrap,.directory-page__toolbar,.directory-page__body{padding-left:.85rem;padding-right:.85rem}.directory-page__header{flex-direction:column;gap:.5rem;padding-top:1rem;padding-bottom:.65rem;display:flex}.directory-page__header .header-title p{display:none}.directory-page__actions{justify-content:stretch;width:100%}.directory-page__actions .btn{flex:calc(50% - .25rem);justify-content:center;gap:.3rem;min-width:0;padding:.48rem .4rem;font-size:.72rem}.directory-page__actions .directory-btn-label--long{display:none}.directory-page__actions .directory-btn-label--short{display:inline}.directory-page .invoice-toolbar{flex-flow:wrap;align-items:center;gap:.45rem}.directory-page .search-container{flex:58%;min-width:0;max-width:none}.directory-page .invoice-filter-status,.directory-page .resident-primary-filter{flex:38%;width:auto;min-width:0}.directory-page .invoice-filter-status select{width:100%}.directory-page #unit-directory-block-filter{flex:38%;width:auto;min-width:0}.directory-page #unit-directory-block-filter select{width:100%}.unit-directory-expanded__grid{grid-template-columns:1fr}.unit-directory-expanded__toolbar{align-items:stretch}.unit-directory-expanded__toolbar .btn{justify-content:center;width:100%}#view-units .unit-directory-list{box-shadow:none;background:0 0;border:none;margin:0 0 1rem}#view-units .registry-list.unit-directory-list>.registry-header.unit-directory-header{display:none}#view-units .unit-directory-group{border:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff;border-radius:12px;margin-bottom:.5rem;overflow:hidden;box-shadow:0 1px 2px #1118270a}#view-units .unit-directory-group:last-child{margin-bottom:0}#view-units .unit-directory-group__summary{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"flat dues actions""meta status status""residents residents residents";align-items:center;gap:.2rem .45rem;width:100%;padding:.65rem .75rem;display:grid}#view-units .unit-directory-group__summary>*{min-width:0;text-align:left!important;border:none!important;padding:0!important;display:block!important}#view-units .unit-directory-group__flat{letter-spacing:-.01em;grid-area:flat;font-size:1rem;font-weight:800;line-height:1.2}#view-units .unit-directory-group__block{display:none!important}#view-units .unit-directory-group__meta{color:var(--text-dim);grid-area:meta;font-size:.72rem;font-weight:600;line-height:1.3}#view-units .unit-directory-group__status{flex-wrap:wrap;grid-area:status;justify-content:flex-end;justify-self:end;align-items:center;gap:.25rem;display:flex!important}#view-units .unit-directory-group__status .occupancy-badge{padding:.12rem .42rem;font-size:.62rem;line-height:1.25}:is(#view-units .unit-directory-group__owners:not(:has(.unit-directory-cell--empty)),#view-units .unit-directory-group__tenants:not(:has(.unit-directory-cell--empty))){vertical-align:baseline;min-width:0;font-size:.78rem;line-height:1.35;display:inline!important}:is(#view-units .unit-directory-group__owners:has(.unit-directory-cell--empty),#view-units .unit-directory-group__tenants:has(.unit-directory-cell--empty)){display:none!important}#view-units .unit-directory-group__residents{flex-wrap:wrap;grid-area:residents;align-items:baseline;gap:0 .15rem;min-width:0;line-height:1.4;display:flex!important}#view-units .unit-directory-group__residents:before{content:"Residents";color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;flex:0 0 100%;margin-bottom:.1rem;font-size:.62rem;font-weight:700}#view-units .unit-directory-group__owners:before{display:none}#view-units .unit-directory-group__tenants .unit-directory-cell--empty{display:none!important}#view-units .unit-directory-group__owners:not(:has(.unit-directory-cell--empty))+.unit-directory-group__tenants:not(:has(.unit-directory-cell--empty)):before{content:"·";color:var(--text-dim);margin:0 .2rem;font-weight:500;display:inline}#view-units .unit-directory-group__vehicles{display:none!important}#view-units .unit-directory-names{flex-flow:wrap;align-items:baseline;gap:0;min-width:0;display:inline-flex}#view-units .unit-dir-name{word-break:break-word;display:inline}#view-units .unit-dir-name:not(:last-child):after{content:"·";color:var(--text-dim);margin:0 .2rem;font-weight:500}#view-units .unit-dir-name__tag{margin-left:.15rem;font-size:.55rem}#view-units .unit-directory-group__dues-col{white-space:nowrap;grid-area:dues;place-self:start end;text-align:right!important}#view-units .unit-directory-group__dues-col:before{display:none}#view-units .unit-directory-group__dues{font-size:.8rem}#view-units .unit-directory-group__dues--warn{font-size:.82rem}#view-units .unit-directory-group__actions{grid-area:actions;align-self:start;justify-content:flex-end!important;display:flex!important}#view-units .unit-directory-group__actions-inner{display:none}#view-units .unit-directory-group__chevron{color:var(--text-dim);padding:.3rem .35rem;font-size:.8rem}#view-units .unit-directory-expanded{padding:0}#view-units .unit-directory-panel--people-mobile{display:flex}#view-units .unit-directory-panel--desktop-split{display:none!important}#view-units .unit-directory-expanded__toolbar{flex-flow:wrap;align-items:center;gap:.3rem .4rem;padding:.4rem .75rem}#view-units .unit-directory-expanded__stats{flex-wrap:wrap;flex:auto;align-items:center;gap:.25rem .35rem;min-width:0;display:flex}#view-units .unit-directory-stat{white-space:nowrap;background:#f8fafc;border:1px solid #eef2f6;border-radius:6px;flex:0 auto;padding:.18rem .38rem;font-size:.64rem;line-height:1.2}#view-units .unit-directory-stat i{font-size:.58rem}#view-units .unit-directory-expanded__stats>.occupancy-badge{display:none}#view-units .unit-directory-expanded__toolbar>.btn{flex:none;width:auto;min-height:0;margin-left:auto;padding:.28rem .5rem;font-size:.66rem}#view-units .unit-directory-expanded__toolbar .directory-btn-label--long{display:none}#view-units .unit-directory-expanded__toolbar .directory-btn-label--short{display:inline}#view-units .unit-directory-expanded__grid{flex-direction:column;gap:0;padding:0;display:flex}#view-units .unit-directory-panel{background:0 0;border:none;border-bottom:1px solid #eef2f6;border-radius:0}#view-units .unit-directory-panel:last-child{border-bottom:none}#view-units .unit-directory-panel__head{background:0 0;border-bottom:none;justify-content:flex-start;gap:.3rem;padding:.32rem .75rem .15rem}#view-units .unit-directory-panel__title{letter-spacing:.06em;font-size:.6rem}#view-units .unit-directory-panel__count{min-width:.95rem;height:.95rem;padding:0 .22rem;font-size:.56rem}#view-units .unit-directory-panel__body{min-height:0;padding:0 .75rem .3rem}#view-units .unit-directory-panel__empty{margin:.1rem 0;font-size:.68rem}#view-units .unit-directory-panel__kind{margin:.28rem 0 .05rem;font-size:.56rem}#view-units .unit-dir-person{padding:.24rem 0}#view-units .unit-dir-person__main{flex-wrap:wrap;align-items:center;gap:.18rem .28rem;display:flex}#view-units .unit-dir-person__name{flex:auto;min-width:0;font-size:.74rem;line-height:1.25}#view-units .unit-dir-person__main .occupancy-badge,#view-units .unit-dir-person__main .resident-primary-badge{padding:.06rem .28rem;font-size:.54rem}#view-units .unit-dir-person__edit{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto}#view-units .unit-dir-person__edit i{font-size:.55rem}#view-units .unit-dir-person__meta{display:none}#view-units .unit-dir-vehicle{gap:.1rem .35rem;padding:.24rem 0;font-size:.72rem}#view-units .unit-dir-vehicle__meta{font-size:.64rem}#view-units .unit-directory-expanded__nav{display:none}}@media (width<=768px){.resident-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.resident-summary-card{min-height:3.75rem;padding:.55rem .65rem}.resident-summary-card__value{font-size:1.15rem}.resident-summary-legend{display:none}.resident-active-filters{flex-direction:column;align-items:stretch;gap:.5rem}.resident-active-filters .btn{justify-content:center;width:100%}.resident-unit-group__summary{flex-wrap:wrap;align-items:flex-start;gap:.45rem;padding:.65rem .75rem}.resident-unit-group__title{flex-wrap:wrap;flex:calc(100% - 2.5rem);align-items:center;gap:.3rem .45rem;min-width:0;display:flex}.resident-unit-group__unit{font-size:1rem}.resident-unit-group__names{white-space:normal;text-overflow:unset;flex:100%;font-size:.78rem;line-height:1.4;overflow:visible}.resident-unit-group__summary-actions{flex-shrink:0;margin-left:auto}.resident-kind-section__rows{flex-direction:column;gap:.5rem;padding:.35rem 0 0;display:flex}.resident-group-header{display:none}.resident-group-row{border:1px solid var(--border);background:#fff;border-radius:10px;flex-direction:column;align-items:stretch;gap:.3rem;padding:.75rem;display:flex;box-shadow:0 1px 2px #1118270a}.resident-group-row .resident-phone,.resident-group-row .resident-email{color:var(--text-dim);word-break:break-word;font-size:.8rem}.resident-group-row .resident-phone:before,.resident-group-row .resident-email:before{content:attr(data-label) ": ";color:var(--text-main);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.1rem;font-size:.68rem;font-weight:700;display:block}.resident-group-row .resident-actions{border-top:1px solid var(--border);justify-content:flex-start;margin-top:.25rem;padding-top:.35rem}.resident-unit-group__body{padding:.5rem .65rem .65rem}}@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{flex-direction:column;align-items:stretch;gap:.75rem}.bank-recon-subview{padding:0 1rem 1rem}.bank-recon-sources{border:1px solid var(--border);background:#fff;border-radius:8px;flex-direction:column;margin-bottom:.65rem;display:flex;overflow:hidden}.bank-recon-source-tabs{border-bottom:1px solid var(--border);background:#f8fafc;align-items:stretch;display:flex}.bank-recon-source-tab{border:0;border-right:1px solid var(--border);cursor:pointer;text-align:left;min-width:0;font:inherit;color:inherit;background:0 0;flex:1 1 0;align-items:center;gap:.45rem;padding:.45rem .65rem;transition:background .12s,box-shadow .12s;display:flex}.bank-recon-source-tab:last-child{border-right:0}.bank-recon-source-tab:hover{background:color-mix(in srgb, var(--accent) 4%, #fff)}.bank-recon-source-tab--active{box-shadow:inset 0 -2px 0 var(--accent);background:#fff}.bank-recon-source-tab__icon{color:#475569;background:#f1f5f9;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:1.55rem;height:1.55rem;font-size:.72rem;display:flex}.bank-recon-source-tab--active .bank-recon-source-tab__icon{background:color-mix(in srgb, var(--accent) 12%, #fff);color:var(--accent)}.bank-recon-source-tab__text{flex-direction:column;flex:auto;gap:.05rem;min-width:0;display:flex}.bank-recon-source-tab__text strong{color:var(--text-main);font-size:.76rem;font-weight:800;line-height:1.2}.bank-recon-source-tab__hint{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.62rem;font-weight:500;line-height:1.25;overflow:hidden}.bank-recon-source-panels{background:#fff}.bank-recon-source-panels [role=tabpanel]{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));align-items:start;gap:.65rem 1rem;padding:.65rem .85rem .85rem;display:grid}.bank-recon-source-panels [role=tabpanel][hidden]{display:none!important}.bank-recon-source-panels .bank-recon-source-panel__intro,.bank-recon-source-panels .bank-recon-source-panel__steps,.bank-recon-source-panels .bank-recon-passbook-hint,.bank-recon-source-panels .bank-recon-passbook-status,.bank-recon-source-panels .bank-recon-passbook-jobs-inline,.bank-recon-source-panels .bank-recon-manual-entry,.bank-recon-source-panels .bank-recon-balance-panel__hint,.bank-recon-source-panels .bank-recon-balance-panel__ok,.bank-recon-source-panels .bank-recon-balance-panel__alert,.bank-recon-source-panels .bank-recon-balance-panel__mismatch-count,.bank-recon-source-panels .bank-recon-balance-panel__fields{grid-column:1/-1}.bank-recon-source-panels .bank-recon-balance-panel__fields{max-width:42rem}.bank-recon-source-panel{border:1px solid var(--border);background:#fff;border-radius:8px;overflow:hidden}.bank-recon-source-panel__summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:.65rem;padding:.5rem .7rem;list-style:none;display:flex}.bank-recon-source-panel__summary::-webkit-details-marker{display:none}.bank-recon-source-panel__summary-main{align-items:center;gap:.5rem;min-width:0;display:flex}.bank-recon-source-panel__icon{color:#475569;background:#f1f5f9;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:1.65rem;height:1.65rem;font-size:.75rem;display:flex}.bank-recon-source-panel[open] .bank-recon-source-panel__icon{background:color-mix(in srgb, var(--accent) 12%, #fff);color:var(--accent)}.bank-recon-source-panel__summary-text{flex-direction:column;gap:.05rem;min-width:0;display:flex}.bank-recon-source-panel__summary-text strong{color:var(--text-main);font-size:.78rem;font-weight:800}.bank-recon-source-panel__hint{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.65rem;font-weight:500;overflow:hidden}.bank-recon-source-panel__summary-right{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.bank-recon-source-panel__chevron{color:var(--text-dim);font-size:.65rem;transition:transform .15s}.bank-recon-source-panel[open] .bank-recon-source-panel__chevron{transform:rotate(180deg)}.bank-recon-source-panel__body{border-top:0;padding:0}.bank-recon-source-panel__intro{color:var(--text-dim);margin:.55rem 0 .5rem;font-size:.74rem;line-height:1.45}.bank-recon-source-panel__intro p{margin:0 0 .35rem}.bank-recon-source-panel__steps{margin:.35rem 0 0;padding-left:1.1rem;font-size:.72rem;line-height:1.4}.bank-recon-source-panel__steps code{font-size:.68rem}.bank-recon-dropzone{text-align:center;cursor:pointer;background:#f8fafc;border:1.5px dashed #cbd5e1;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;min-height:5.5rem;margin-bottom:.55rem;padding:.75rem .85rem;transition:border-color .12s,background .12s;display:flex}.bank-recon-dropzone:hover,.bank-recon-dropzone:focus-visible{border-color:color-mix(in srgb, var(--accent) 45%, #cbd5e1);background:color-mix(in srgb, var(--accent) 4%, #f8fafc);outline:none}.bank-recon-dropzone--active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, #fff)}.bank-recon-dropzone__icon{color:var(--accent);margin-bottom:.15rem;font-size:1.15rem}.bank-recon-dropzone__title{color:var(--text-main);margin:0;font-size:.78rem;font-weight:700}.bank-recon-dropzone__sub{color:var(--text-dim);margin:0;font-size:.65rem}.bank-recon-source-panel__actions{flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem;display:flex}.bank-recon-passbook-jobs-inline{border-top:1px solid var(--border);margin-top:.55rem;padding-top:.55rem}.bank-recon-passbook-jobs-inline__title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin:0 0 .45rem;font-size:.68rem;font-weight:800}.bank-recon-passbook-jobs-inline__list .passbook-jobs-table-wrap{max-height:14rem;overflow:auto}.bank-recon-passbook-jobs-inline__empty{color:var(--text-dim);margin:0;font-size:.72rem}.bank-recon-panel__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.55rem;display:flex}.bank-recon-panel__head .bank-recon-panel__title{flex:12rem;margin-bottom:0}.bank-recon-panel__tools{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.35rem;display:flex}.bank-recon-recalc-status--inline{margin:0 0 .5rem}.bank-recon-empty-hint{margin-bottom:.5rem}.bank-recon-manual-entry{border-top:1px solid var(--border);margin-top:.55rem;padding-top:.55rem}.bank-recon-toolbar{border:1px solid var(--border);background:#f8fafc;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin-bottom:1rem;padding:.65rem .75rem;display:flex}.bank-recon-toolbar__group{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.bank-recon-toolbar__group--end{margin-left:auto}.bank-recon-toolbar__label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin-right:.15rem;font-size:.68rem;font-weight:800}.btn--danger-outline{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, var(--border))}.bank-recon-recalc-status{color:#1e40af;background:color-mix(in srgb, var(--accent) 10%, white);border:1px solid color-mix(in srgb, var(--accent) 25%, var(--border));border-radius:8px;margin:0 0 .75rem;padding:.55rem .75rem;font-size:.82rem}.bank-recon-move-confirm-modal{max-width:28rem}.bank-recon-move-confirm-modal h2{margin:0 0 .5rem;font-size:1.05rem}.bank-recon-move-confirm-modal p{color:var(--text-dim);margin:0 0 1rem;font-size:.88rem;line-height:1.45}.bank-recon-move-confirm-modal__actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.bank-recon-classify-actions{flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;display:flex}.bank-recon-classify-actions .bank-recon-classify-combobox,.bank-recon-classify-actions .bank-recon-vendor-input{flex:8rem;min-width:7rem}#bank-recon-rules-modal.modal-backdrop{z-index:1200}#bank-recon-rules-modal .modal-content.bank-recon-rules-modal{width:min(96vw,44rem);max-width:44rem;max-height:90vh;overflow:auto}.bank-recon-rules-modal__head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.bank-recon-rules-modal__head h2{margin:0 0 .35rem;font-size:1.15rem}.bank-recon-rules-modal__head p{color:var(--text-dim);margin:0;font-size:.85rem;line-height:1.4}.bank-recon-rules-modal__run{background:color-mix(in srgb, var(--accent) 6%, white);border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border));border-radius:8px;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin-bottom:.85rem;padding:.65rem .75rem;display:flex}.bank-recon-rules-modal__checkbox{color:var(--text-dim);cursor:pointer;align-items:center;gap:.35rem;font-size:.82rem;display:inline-flex}.bank-recon-rules-list{margin-bottom:.85rem}.bank-recon-rules-empty{color:var(--text-dim);margin:0 0 .85rem;font-size:.85rem}.bank-recon-rules-table{border-collapse:collapse;width:100%;font-size:.82rem}.bank-recon-rules-table th,.bank-recon-rules-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.4rem .45rem}.bank-recon-rules-table__match{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;overflow:hidden}.bank-recon-rules-table__extras{color:var(--text-dim);max-width:10rem}.bank-recon-rules-table__actions{text-align:right;white-space:nowrap}.bank-recon-rules-form{border-top:1px solid var(--border);padding-top:.85rem}.bank-recon-rules-form__title{margin:0 0 .55rem;font-size:.92rem;font-weight:800}.bank-recon-rules-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .65rem;display:grid}.bank-recon-rules-field{color:var(--text-dim);flex-direction:column;gap:.2rem;font-size:.78rem;font-weight:700;display:flex}.bank-recon-rules-field input,.bank-recon-rules-field select{font-size:.85rem;font-weight:500}.bank-recon-rules-field--wide{grid-column:1/-1}.bank-recon-rules-field--narrow{max-width:6rem}.bank-recon-rules-field--hidden{display:none}.bank-recon-rules-form__actions{margin-top:.65rem}.bank-recon-manual-entry{border:1px solid var(--border);background:#fff;border-radius:10px;margin-bottom:.75rem;padding:.85rem .95rem}.bank-recon-manual-entry__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.65rem;display:flex}.bank-recon-manual-entry__title{margin:0;font-size:.92rem;font-weight:800}.bank-recon-manual-entry__table-wrap{border:1px solid var(--border);border-radius:8px;overflow:auto}.bank-recon-manual-entry__table{border-collapse:collapse;width:100%;font-size:.82rem}.bank-recon-manual-entry__table th,.bank-recon-manual-entry__table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.4rem .45rem}.bank-recon-manual-entry__table thead th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);background:#f8fafc;font-size:.68rem;font-weight:700}.bank-recon-manual-entry__th--num,.bank-recon-manual-entry__cell--num{text-align:right;width:7rem}.bank-recon-manual-entry__th--actions,.bank-recon-manual-entry__cell--actions{text-align:center;width:2.5rem}.bank-recon-manual-entry__table .expense-combobox{width:100%;min-width:0}.bank-recon-manual-entry__grid{grid-template-columns:140px minmax(220px,2fr) repeat(3,minmax(120px,1fr));align-items:end;gap:.75rem;display:grid}.bank-recon-manual-entry__grid label{color:var(--text-dim);flex-direction:column;gap:.35rem;font-size:.72rem;font-weight:700;display:flex}.bank-recon-manual-entry__desc{min-width:0}.bank-recon-manual-entry__actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:.8rem;display:flex}.bank-recon-manual-entry__hint{color:var(--text-dim);max-width:48rem;margin:0;font-size:.76rem}.bank-recon-manual-entry__buttons{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=1100px){.bank-recon-manual-entry__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bank-recon-manual-entry__desc{grid-column:1/-1}}.activity-review-queue{border-radius:var(--radius);background:#fffbeb;border:1px solid #fcd34d;margin-bottom:1.25rem;padding:1rem 1.1rem}.activity-review-queue__head h3{font-size:var(--text-sm);font-weight:var(--font-medium);color:#92400e;align-items:center;gap:.45rem;margin-bottom:.35rem;display:flex}.activity-review-queue__hint{font-size:var(--text-xs);color:#b45309;margin-bottom:.85rem}.activity-review-header{grid-template-columns:140px 120px 1fr 200px}.activity-review-row{grid-template-columns:140px 120px 1fr 200px;align-items:center;padding:.75rem .95rem}.activity-review-row__actions{flex-wrap:wrap;gap:.4rem;display:flex}.activity-review-badge{text-transform:uppercase;vertical-align:middle;border-radius:4px;margin-right:.35rem;padding:.15rem .4rem;font-size:.62rem;font-weight:700;display:inline-block}.activity-review-badge--pending{color:#92400e;background:#fef3c7}.activity-review-badge--rejected{color:#991b1b;background:#fee2e2}.bank-recon-processed{border-top:1px dashed var(--border);margin-top:1.25rem;padding-top:1rem}.bank-recon-processed__title{text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);margin:0 0 .35rem;font-size:.78rem;font-weight:800}.bank-recon-processed__head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.65rem;display:flex}.bank-recon-processed__head .bank-recon-processed__hint{margin-bottom:0}.bank-recon-processed__count{color:var(--text);font-weight:600}.bank-recon-processed__hint{color:var(--text-dim);margin:0 0 .65rem;font-size:.75rem;line-height:1.45}.bank-recon-table__row--readonly{background:#f8fafc}.bank-recon-table__row--opening{background:#f1f5f9}.bank-recon-table__row--opening .bank-recon-table__cell{color:var(--text-dim);font-style:italic}.bank-recon-table__row--readonly .bank-recon-table__cell{color:var(--text-dim)}.bank-recon-table__row--busy{opacity:.65;pointer-events:none}.bank-recon-work-hint{color:var(--text-dim);margin:0 0 .65rem;font-size:.78rem;line-height:1.45}.bank-recon-row-status{color:var(--accent);white-space:nowrap;font-size:.68rem;font-weight:700}.bank-recon-status{text-transform:uppercase;border-radius:999px;margin-right:.35rem;padding:.15rem .4rem;font-size:.65rem;font-weight:700;display:inline-block}.bank-recon-status--matched{color:#166534;background:#dcfce7}.bank-recon-status--ignored{color:#6b7280;background:#f3f4f6}.bank-recon-processed-txn{color:var(--text-dim);font-size:.75rem}.bank-recon-passbook-status{color:var(--text-dim);border-radius:6px;margin:.35rem 0 .5rem;padding:.45rem .6rem;font-size:.74rem;line-height:1.4}.bank-recon-passbook-status--error{color:var(--danger)}.bank-recon-passbook-jobs-btn{position:relative}.bank-recon-passbook-settings-btn{min-width:2.4rem;padding-inline:.7rem}.bank-recon-passbook-jobs-badge{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:1.15rem;height:1.15rem;padding:0 .3rem;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.bank-recon-passbook-hint{color:var(--text-dim);margin:.55rem 0 .35rem;font-size:.74rem;line-height:1.45}.bank-recon-passbook-hint a{color:var(--accent)}#passbook-jobs-modal.modal-backdrop{z-index:2100;justify-content:center;align-items:center;padding:1rem}#passbook-jobs-modal .modal-content.passbook-jobs-modal{border-radius:16px;width:min(900px,95vw);height:auto;max-height:88vh;overflow:hidden;transform:translateY(14px)scale(.98);box-shadow:0 28px 70px #0f172a38}#passbook-jobs-modal.modal-backdrop.active .modal-content.passbook-jobs-modal{transform:translateY(0)scale(1)}.passbook-jobs-modal__head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.15rem 1.2rem .85rem;display:flex}.passbook-jobs-modal__head h2{font-size:1.2rem;font-weight:800}.passbook-jobs-modal__head p{color:var(--text-dim);margin-top:.3rem;font-size:.82rem;line-height:1.45}.passbook-jobs-modal__actions{border-bottom:1px solid var(--border);justify-content:flex-end;padding:.8rem 1.2rem;display:flex}#passbook-settings-modal.modal-backdrop{z-index:2100;justify-content:center;align-items:center;padding:1rem}#passbook-settings-modal .modal-content.passbook-settings-modal{border-radius:16px;width:min(640px,94vw);height:auto;max-height:88vh;overflow:hidden;transform:translateY(14px)scale(.98);box-shadow:0 28px 70px #0f172a38}#passbook-settings-modal.modal-backdrop.active .modal-content.passbook-settings-modal{transform:translateY(0)scale(1)}.passbook-settings-modal__head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.15rem 1.2rem .9rem;display:flex}.passbook-settings-modal__head h2{font-size:1.15rem;font-weight:800}.passbook-settings-modal__head p{color:var(--text-dim);margin-top:.3rem;font-size:.82rem;line-height:1.45}.passbook-settings-modal__body{padding:1rem 1.2rem}.passbook-settings-modal__actions{justify-content:space-between;align-items:center;gap:.8rem;padding:0 1.2rem 1.2rem;display:flex}.passbook-jobs-list{padding:0 1.2rem 1.2rem;overflow:auto}.passbook-jobs-empty{color:var(--text-dim);padding:0 1.2rem 1.2rem;font-size:.9rem}.passbook-jobs-table-wrap{border:1px solid var(--border);border-radius:12px;overflow:auto}.passbook-jobs-table{border-collapse:collapse;width:100%;font-size:.84rem}.passbook-jobs-table th,.passbook-jobs-table td{border-bottom:1px solid var(--border);vertical-align:top;text-align:left;padding:.65rem .75rem}.passbook-jobs-table thead th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);background:#f8fafc;font-size:.72rem;font-weight:700}.passbook-jobs-table__th--num,.passbook-jobs-table__cell--num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.passbook-jobs-table__th--actions,.passbook-jobs-table__cell--actions{white-space:nowrap;width:5.5rem}.passbook-jobs-table__file{color:var(--text-main);font-weight:700}.passbook-jobs-table__meta{color:var(--text-dim);margin-top:.2rem;font-size:.74rem}.passbook-jobs-table__actions{justify-content:flex-end;gap:.35rem;display:flex}.passbook-jobs-table__row--error .passbook-jobs-table__error{color:var(--danger);background:color-mix(in srgb, var(--danger) 6%, white);padding:.5rem .75rem;font-size:.8rem}.passbook-job-status{letter-spacing:.03em;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.passbook-job-status--initialized,.passbook-job-status--submitted,.passbook-job-status--processing{background:color-mix(in srgb, var(--warning) 16%, white);color:#b45309}.passbook-job-status--completed,.passbook-job-status--imported{background:color-mix(in srgb, var(--success) 14%, white);color:var(--success)}.passbook-job-status--failed{background:color-mix(in srgb, var(--danger) 14%, white);color:var(--danger)}#passbook-job-detail-modal.modal-backdrop{z-index:2200;justify-content:center;align-items:center;padding:1rem}#passbook-job-detail-modal .modal-content.passbook-job-detail-modal{border-radius:16px;flex-direction:column;width:min(1100px,96vw);height:auto;max-height:90vh;display:flex;overflow:hidden}.passbook-job-detail-modal__head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.15rem 1.2rem .85rem;display:flex}.passbook-job-detail-modal__head h2{font-size:1.1rem;font-weight:800}.passbook-job-detail-modal__head p{color:var(--text-dim);margin-top:.3rem;font-size:.82rem}.passbook-job-detail-modal__body{padding:1rem 1.2rem 1.2rem;overflow:auto}.passbook-job-detail__summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-bottom:.85rem;display:grid}.passbook-job-detail__metric{border:1px solid var(--border);background:#f8fafc;border-radius:10px;padding:.55rem .7rem}.passbook-job-detail__metric .label{color:var(--text-dim);font-size:.7rem;display:block}.passbook-job-detail__metric .value{margin-top:.15rem;font-size:1rem;font-weight:800;display:block}.passbook-job-detail__toolbar{flex-wrap:wrap;justify-content:space-between;gap:.65rem;margin-bottom:.65rem;display:flex}.passbook-job-detail__filters{flex-wrap:wrap;gap:.35rem;display:flex}.passbook-job-detail-filter{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:#fff;border-radius:999px;padding:.3rem .65rem;font-size:.76rem;font-weight:600}.passbook-job-detail-filter--active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, white)}.passbook-job-detail__bulk{flex-wrap:wrap;gap:.45rem;display:flex}.passbook-job-detail__hint{color:var(--text-dim);margin:0 0 .65rem;font-size:.8rem;line-height:1.45}.passbook-job-detail__note{color:var(--text-dim);border:1px solid var(--border);background:#f8fafc;border-radius:6px;margin:0 0 .65rem;padding:.45rem .6rem;font-size:.78rem}.passbook-job-detail-table-wrap{border:1px solid var(--border);border-radius:10px;max-height:52vh;overflow:auto}.passbook-job-detail-table{border-collapse:collapse;width:100%;font-size:.82rem}.passbook-job-detail-table th,.passbook-job-detail-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:.45rem .55rem}.passbook-job-detail-table thead th{z-index:1;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);background:#f8fafc;font-size:.7rem;position:sticky;top:0}.passbook-job-detail-table__th--num,.passbook-job-detail-table__cell--num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.passbook-job-detail-table__th--check,.passbook-job-detail-table__cell--check{text-align:center;width:2rem}.passbook-job-detail-table__cell--desc{white-space:normal;min-width:12rem;max-width:24rem}.passbook-job-detail-table__row--skipped_existing,.passbook-job-detail-table__row--skipped_batch{background:color-mix(in srgb, var(--warning) 8%, white)}.passbook-job-detail-table__row--imported{background:color-mix(in srgb, var(--success) 6%, white)}.passbook-job-detail-table__empty{text-align:center;color:var(--text-dim);padding:1rem}.passbook-job-detail-status{border-radius:999px;padding:.15rem .45rem;font-size:.68rem;font-weight:700;display:inline-block}.passbook-job-detail-status--imported{background:color-mix(in srgb, var(--success) 14%, white);color:var(--success)}.passbook-job-detail-status--skipped_existing,.passbook-job-detail-status--skipped_batch{background:color-mix(in srgb, var(--warning) 16%, white);color:#b45309}.passbook-job-detail-status--ready{background:color-mix(in srgb, var(--accent) 12%, white);color:var(--accent)}@media (width<=720px){.passbook-job-detail__summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.ext-conn-list{flex-direction:column;gap:1.25rem;display:flex}.ext-conn-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:1.1rem 1.25rem}.ext-conn-card__head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.ext-conn-card__title{margin:0 0 .25rem;font-size:1rem}.ext-conn-card__desc{color:var(--text-dim);margin:0;font-size:.82rem;line-height:1.45}.ext-conn-status{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:600}.ext-conn-status--ok{background:color-mix(in srgb, var(--success) 18%, transparent);color:var(--success)}.ext-conn-status--warn{background:color-mix(in srgb, var(--warning,#d97706) 18%, transparent);color:var(--warning,#d97706)}.ext-conn-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1rem;display:grid}.ext-conn-field--wide{grid-column:1/-1}.ext-conn-field__help{color:var(--text-dim);margin-top:.3rem;font-size:.68rem;line-height:1.4;display:block}.ext-conn-field__help code{font-size:.65rem}.ext-conn-label{color:var(--text-dim);margin-bottom:.3rem;font-size:.75rem;display:block}.ext-conn-check{align-self:end;align-items:center;gap:.45rem;font-size:.85rem;display:flex}.ext-conn-card__foot{border-top:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:1rem;margin-top:1rem;padding-top:.85rem;display:flex}.ext-conn-hint{color:var(--text-dim);max-width:36rem;margin:0;font-size:.75rem;line-height:1.45}@media (width<=720px){.ext-conn-form{grid-template-columns:1fr}.ext-conn-card__foot{flex-direction:column;align-items:stretch}}.bank-recon-metrics{margin-bottom:1rem}.bank-recon-stats{margin-bottom:.65rem}.bank-recon-kpi-bar{border:1px solid var(--border);background:#fff;border-radius:8px;flex-wrap:nowrap;align-items:stretch;display:flex;overflow:hidden}.bank-recon-kpi-cluster{display:contents}.bank-recon-source-tab__title-row{justify-content:space-between;align-items:center;gap:.35rem;width:100%;min-width:0;display:flex}.bank-recon-source-tab__title-row strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.bank-recon-source-tab__title-row .bank-recon-opening-panel__badge{flex-shrink:0;margin:0}.bank-recon-tab-label--short{display:none}.bank-recon-kpi{border-right:1px solid var(--border);flex-direction:column;flex:1 1 0;justify-content:center;gap:.05rem;min-width:0;padding:.42rem .7rem;display:flex}.bank-recon-kpi:last-child{border-right:0}.bank-recon-kpi--calc{background:color-mix(in srgb, var(--accent) 5%, #fff)}.bank-recon-kpi--ok{background:color-mix(in srgb, var(--success) 5%, #fff)}.bank-recon-kpi--ok .bank-recon-kpi__value{color:var(--success)}.bank-recon-kpi--danger{background:color-mix(in srgb, var(--danger) 5%, #fff)}.bank-recon-kpi--danger .bank-recon-kpi__value{color:var(--danger)}.bank-recon-kpi--warn .bank-recon-kpi__value{color:var(--text-dim)}.bank-recon-kpi--warn-border{border-color:color-mix(in srgb, var(--danger) 25%, var(--border))}.bank-recon-kpi--progress{flex:1.15 1 0}.bank-recon-kpi__label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);font-size:.58rem;font-weight:700;line-height:1.2}.bank-recon-kpi__value{font-variant-numeric:tabular-nums;color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:800;line-height:1.2;overflow:hidden}.bank-recon-kpi__sub{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.6rem;font-weight:500;line-height:1.25;overflow:hidden}.bank-recon-kpi__counts{color:var(--text-main);flex-wrap:wrap;align-items:center;gap:.2rem .35rem;font-size:.74rem;font-weight:600;line-height:1.3;display:flex}.bank-recon-stat strong{font-variant-numeric:tabular-nums;font-weight:800}.bank-recon-stat--danger{color:var(--danger)}.bank-recon-stat--warn{color:#b45309;font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.bank-recon-stat--warn:hover{color:#92400e}.bank-recon-stat--success{color:var(--success)}.bank-recon-stat-sep{color:var(--text-dim);-webkit-user-select:none;user-select:none;font-weight:400}@media (width<=900px){.bank-recon-kpi-bar{flex-wrap:wrap}.bank-recon-kpi{border-right:0;border-bottom:1px solid var(--border);flex:calc(50% - 1px)}.bank-recon-kpi:nth-child(odd){border-right:1px solid var(--border)}.bank-recon-kpi--progress{border-bottom:0;flex:100%;border-right:0!important}}@media (width<=520px){.bank-recon-kpi{flex:100%;border-right:0!important}.bank-recon-kpi:not(:last-child){border-bottom:1px solid var(--border)}.bank-recon-kpi--progress{border-bottom:0}}.bank-recon-balance-panel{margin-bottom:.35rem}.bank-recon-opening-panel__body{padding-top:.55rem}.bank-recon-opening-panel__badge{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:999px;padding:.12rem .45rem;font-size:.62rem;font-weight:700}.bank-recon-opening-panel__badge--ok{color:var(--success);background:color-mix(in srgb, var(--success) 12%, #fff)}.bank-recon-opening-panel__badge--warn{color:#b45309;background:#faefe1}.bank-recon-opening-panel__badge--unset{color:var(--text-dim);background:#f1f5f9}.bank-recon-balance-panel__inner{border:1px solid var(--border);background:color-mix(in srgb, var(--accent) 4%, #fff);border-radius:8px;padding:.85rem 1rem}.bank-recon-balance-panel__title{text-transform:uppercase;color:var(--text-dim);margin:0 0 .5rem;font-size:.72rem;font-weight:800}.bank-recon-balance-panel__fields{flex-wrap:wrap;align-items:flex-end;gap:.65rem 1rem;margin-bottom:.35rem;display:flex}.bank-recon-balance-panel__field{color:var(--text-dim);flex-direction:column;gap:.2rem;font-size:.72rem;display:flex}.bank-recon-balance-panel__field input{border:1px solid var(--border);border-radius:6px;min-width:10rem;padding:.35rem .5rem;font-size:.85rem}.bank-recon-balance-panel__hint,.bank-recon-balance-panel__ok,.bank-recon-balance-panel__alert{margin:.45rem 0 0;font-size:.8rem;line-height:1.45}.bank-recon-balance-panel__hint--emphasis{color:var(--text-dim);font-style:italic}.bank-recon-balance-panel__ok{color:var(--success)}.bank-recon-balance-panel__alert{color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, #fff);border:1px solid color-mix(in srgb, var(--danger) 25%, var(--border));border-radius:6px;padding:.5rem .65rem}.bank-recon-balance-panel__mismatch-count{color:var(--danger);margin-top:.35rem;font-size:.72rem;font-weight:700;display:inline-block}.bank-recon-metrics .metric-card--danger{border-color:color-mix(in srgb, var(--danger) 40%, var(--border));background:color-mix(in srgb, var(--danger) 6%, #fff)}.bank-recon-metrics .metric-card--ok{border-color:color-mix(in srgb, var(--success) 35%, var(--border));background:color-mix(in srgb, var(--success) 6%, #fff)}.bank-recon-metrics .metric-card--warn{border-color:color-mix(in srgb, var(--warning,#c9a227) 35%, var(--border));background:color-mix(in srgb, var(--warning,#c9a227) 6%, #fff)}.bank-recon-table__row--mismatch{background:color-mix(in srgb, var(--danger) 6%, #fff)!important}.bank-recon-balance--mismatch{color:var(--danger);font-weight:700}.bank-recon-mismatch-icon{color:var(--danger);margin-left:.25rem;font-size:.7rem}.bank-recon-split{grid-template-columns:1fr;gap:1rem;display:grid}.bank-recon-panel{border:1px solid var(--border);background:#fff;border-radius:8px;min-height:200px;padding:.85rem}.bank-recon-panel__title{text-transform:uppercase;color:var(--text-dim);margin-bottom:.75rem;font-size:.72rem;font-weight:800}.bank-recon-work-hint--ledger{margin-bottom:.65rem}.bank-recon-ledger-actions{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.bank-recon-ledger-actions .bank-recon-cell-select{min-width:140px;max-width:200px;font-size:.72rem}.bank-recon-table--ledger .bank-recon-table__cell--ledger-actions{min-width:280px}.bank-recon-txns--highlight{outline:2px solid var(--accent);outline-offset:4px;border-radius:8px;transition:outline-color .3s}.fa-metric.metric-card--clickable{cursor:pointer}.fa-metric.metric-card--clickable:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));box-shadow:0 2px 8px #6366f114}.bank-recon-metrics .metric-card--highlight{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent) 6%, #fff)}.bank-recon-metrics .metric-card__sub{color:var(--text-dim);text-transform:none;letter-spacing:0;margin-top:.15rem;font-size:.68rem;font-weight:500;display:block}.bank-recon-table-wrap{border:none;border-radius:0;flex:auto;min-width:0;max-width:100%;min-height:0;overflow:auto}#bank-recon-table-shell,#fn-bank-recon-table-shell{resize:vertical;border:1px solid var(--border);background:#fff;border-radius:6px;flex-direction:column;min-width:0;height:890px;min-height:890px;max-height:calc(100vh - 100px);display:flex;overflow:hidden}#bank-recon-table-wrap,#fn-bank-recon-table-wrap{flex:auto;min-width:0;min-height:0}body.bank-recon-table-resizing{cursor:ns-resize;-webkit-user-select:none;user-select:none}.bank-recon-height-picker{position:relative}.bank-recon-height-picker summary{list-style:none}.bank-recon-height-picker summary::-webkit-details-marker{display:none}.bank-recon-height-picker__menu{border:1px solid var(--border);z-index:4;background:#fff;border-radius:8px;flex-direction:column;gap:.2rem;min-width:9rem;padding:.35rem;display:flex;position:absolute;top:calc(100% + .35rem);left:0;box-shadow:0 12px 28px #0f172a1f}.bank-recon-height-preset{text-align:left;font:inherit;cursor:pointer;color:var(--text-main);background:0 0;border:none;border-radius:6px;padding:.4rem .55rem;font-size:.8rem}.bank-recon-height-preset:hover{background:color-mix(in srgb, var(--accent) 8%, #fff)}.bank-recon-table-wrap--compact{max-height:360px}.bank-recon-bulk-bar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.bank-recon-bulk-select-all{color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;font-size:.8rem;display:inline-flex}.bank-recon-bulk-count{color:var(--text-dim);font-size:.75rem}.bank-recon-columns-picker{position:relative}.bank-recon-columns-picker summary{list-style:none}.bank-recon-columns-picker summary::-webkit-details-marker{display:none}.bank-recon-columns-picker__menu{border:1px solid var(--border);z-index:4;background:#fff;border-radius:8px;min-width:13rem;padding:.55rem .65rem;position:absolute;top:calc(100% + .35rem);left:0;box-shadow:0 12px 28px #0f172a1f}.bank-recon-columns-picker__option{color:var(--text-main);align-items:center;gap:.45rem;font-size:.8rem;display:flex}.bank-recon-columns-picker__option+.bank-recon-columns-picker__option{margin-top:.45rem}.bank-recon-table{border-collapse:collapse;table-layout:fixed;background:#fff;width:max-content;min-width:0;font-size:.8rem}.bank-recon-table thead{z-index:2;background:#f8fafc;position:sticky;top:0}.bank-recon-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);border-bottom:2px solid var(--border);white-space:nowrap;padding:.4rem .32rem;font-size:.68rem;font-weight:800}.bank-recon-sort-btn{font:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0}.bank-recon-sort-btn:hover,.bank-recon-sort-btn:focus{color:var(--text-main);outline:none}.bank-recon-sort-btn--active{color:var(--text-main)}.bank-recon-sort-btn--num{text-align:right;justify-content:flex-end;width:100%;display:inline-flex}.bank-recon-table th.bank-recon-table__th--num,.bank-recon-table td.bank-recon-table__cell--num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;width:5.25rem;min-width:5.25rem;max-width:5.25rem}.bank-recon-table__cell--num .bank-recon-cell-input--num{width:100%;min-width:0}.bank-recon-table__th--check,.bank-recon-table__cell--check{text-align:center;width:2.25rem;padding-left:.5rem;padding-right:.25rem}.bank-recon-table__th--order,.bank-recon-table__cell--order{text-align:center;vertical-align:middle;width:3.25rem;padding-left:.25rem;padding-right:.15rem}.bank-recon-order-btns{flex-direction:column;align-items:center;gap:.15rem;display:flex}.bank-recon-order-btns .btn--icon{width:1.35rem;min-width:0;height:1.35rem;padding:0;font-size:.62rem}.bank-recon-move-step{text-align:center;-moz-appearance:textfield;width:2.25rem;min-width:0;padding:.1rem .15rem;font-size:.72rem}.bank-recon-move-step::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.bank-recon-move-step::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.bank-recon-order-hint{color:var(--text-dim);margin-bottom:.2rem;font-size:.65rem;font-weight:600;line-height:1.3;display:block}.bank-recon-table__th--match,.bank-recon-table__cell--match{width:8rem;min-width:8rem;max-width:8rem}.bank-recon-table__th--actions,.bank-recon-table__cell--actions{white-space:nowrap;width:8.75rem;min-width:8.75rem;max-width:8.75rem}.bank-recon-row-actions{justify-content:flex-end;gap:.2rem;display:flex}.bank-recon-row-actions .btn--icon{min-width:1.85rem;padding:.3rem .4rem}.bank-recon-table__row:nth-child(2n){background:#fafbfc}.bank-recon-table__row:hover{background:#f1f5f9}.bank-recon-table__cell{border-bottom:1px solid var(--border);vertical-align:middle;padding:.22rem .28rem;overflow:hidden}.bank-recon-table__cell--num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.bank-recon-table__th--desc,.bank-recon-table__cell--desc{white-space:normal;width:16rem;min-width:14rem;max-width:16rem}.bank-recon-table__th--date,.bank-recon-table__cell--date{white-space:nowrap;font-variant-numeric:tabular-nums;width:5.25rem;min-width:5.25rem;max-width:5.25rem}.bank-recon-table__th--type,.bank-recon-table__cell--type{white-space:nowrap;text-align:center;width:5.25rem;min-width:5.25rem;max-width:5.25rem}.bank-recon-table__th--classify,.bank-recon-table__cell--classify{width:13.5rem;min-width:13.5rem;max-width:13.5rem}.bank-recon-table th.bank-recon-table__th--passbook,.bank-recon-table td.bank-recon-table__cell--passbook{width:7.5rem;min-width:7.5rem;max-width:7.5rem}.bank-recon-table__th--ledger,.bank-recon-table__cell--ledger{white-space:nowrap;width:7.25rem;min-width:7.25rem;max-width:7.25rem}.bank-recon-table__th--ocr,.bank-recon-table__cell--ocr{text-align:center;font-variant-numeric:tabular-nums;width:3.25rem;color:var(--text-dim);font-size:.78rem}.bank-recon-cell-input{width:100%;font:inherit;color:inherit;box-sizing:border-box;background:0 0;border:1px solid #0000;border-radius:4px;padding:.35rem .45rem}textarea.bank-recon-cell-input{resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere;min-height:2.15rem;max-height:4.5rem;line-height:1.3}.bank-recon-cell-input:hover,.bank-recon-cell-input:focus{border-color:var(--border);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent);background:#fff;outline:none}.bank-recon-cell-input--num{text-align:right;font-variant-numeric:tabular-nums;width:100%;min-width:0}.bank-recon-cell-input--desc{resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;min-height:2.15rem;max-height:4.5rem}.ledger-desc-text{min-width:0;color:var(--text);font-size:inherit;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.35;display:block}.bank-recon-cell-input--date{white-space:nowrap;width:100%;min-width:0}.bank-recon-cell-select{border:1px solid var(--border);width:100%;font:inherit;box-sizing:border-box;background:#fff;border-radius:4px;padding:.35rem .45rem}.bank-recon-table__cell--match .bank-recon-cell-select{min-width:0;font-size:.75rem}.bank-recon-amt--in{color:var(--success);font-weight:600}.bank-recon-amt--out{color:var(--danger);font-weight:600}.bank-recon-amt--in .bank-recon-cell-input--num,.bank-recon-amt--out .bank-recon-cell-input--num{color:inherit;font-weight:600}.bank-recon-filter-bar{border:1px solid var(--border);background:#f8fafc;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.5rem .65rem;margin:.55rem 0 .65rem;padding:.55rem .65rem;display:flex}.bank-recon-filter-bar .bank-recon-filter-q{flex:11rem;min-width:11rem;max-width:18rem}.bank-recon-filter-bar .expense-combobox,.bank-recon-filter-bar select{min-width:8.5rem}.bank-recon-filter-mismatch-label{color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.35rem;font-size:.8rem;display:inline-flex}.bank-recon-filter-mismatch-meta{color:#b45309;font-size:.75rem;font-weight:600}.bank-recon-filter-note{color:var(--text-dim);margin:0 0 .5rem;font-size:.78rem}.bank-recon-table__row--flash{outline-offset:-2px;outline:2px solid #f59e0b;background:#fffbeb!important}.bank-recon-table__row--flash td{background:#fffbeb!important}.bank-recon-balance-panel__mismatch-count.bank-recon-mismatch-jump{color:#92400e;cursor:pointer;background:#fffbeb;border:1px solid #fcd34d;border-radius:6px;align-items:center;gap:.35rem;margin:.5rem 0 0;padding:.35rem .65rem;font-size:.8rem;font-weight:600;display:inline-flex}.bank-recon-balance-panel__mismatch-count.bank-recon-mismatch-jump:hover{background:#fef3c7}.ledger-passbook-stack{flex-direction:column;align-items:flex-end;gap:.1rem;line-height:1.2;display:inline-flex}.ledger-passbook-main{font-variant-numeric:tabular-nums}.ledger-passbook-calc{color:var(--text-muted,#6b7280);font-variant-numeric:tabular-nums;font-size:.72em;font-weight:500}.ledger-passbook-calc--stale{opacity:.65;font-style:italic}.ledger-recalc-btn--stale{color:#b45309;border-color:#f59e0b}.ledger-recalc-stale-badge{letter-spacing:.02em;text-transform:uppercase;color:#92400e;background:#fef3c7;border-radius:999px;margin-left:.35rem;padding:.1rem .4rem;font-size:.65rem;font-weight:700;display:inline-block}.bank-recon-table__cell--passbook .bank-recon-mismatch-icon{margin-left:.25rem}.bank-recon-classify-combobox{margin-bottom:0;position:relative}.bank-recon-table__cell--classify .bank-recon-cell-input,.bank-recon-table__cell--classify .bank-recon-vendor-input{border-color:var(--border);background:#fff;padding:.28rem .35rem;font-size:.72rem}.bank-recon-classify-combobox__menu{z-index:30;border:1px solid var(--border);background:#fff;border-radius:6px;max-height:11rem;margin:0;padding:.2rem 0;list-style:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow:auto;box-shadow:0 8px 20px #0f172a1f}.bank-recon-classify-combobox__option{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:none;padding:.35rem .55rem;font-size:.8rem;display:block}.bank-recon-classify-combobox__option:hover,.bank-recon-classify-combobox__option:focus{background:color-mix(in srgb, var(--accent) 10%, white);outline:none}.bank-recon-classify-combobox__option--add{color:var(--accent);font-weight:600}.bank-recon-post-classify{flex:100%;width:100%;margin-top:.2rem}.bank-recon-table__cell--classify .bank-recon-cell-input,.bank-recon-table__cell--classify .bank-recon-vendor-input{padding:.28rem .35rem;font-size:.72rem}.bank-recon-table__cell--classify .bank-recon-cell-select,.bank-recon-table__cell--classify .bank-recon-cell-input{margin-bottom:0}.bank-recon-table__row--readonly .bank-recon-table__cell--desc{white-space:normal;overflow-wrap:anywhere}.bank-recon-type-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.2rem .45rem;font-size:.65rem;font-weight:800;display:inline-block}.bank-recon-type-badge--in{color:#166534;background:#dcfce7}.bank-recon-type-badge--out{color:#991b1b;background:#fee2e2}.bank-recon-cell-input:disabled{opacity:.45;cursor:not-allowed}.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-source-panels [role=tabpanel],.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}.fa-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1rem;margin-bottom:1rem;display:flex}.fa-toolbar__filters{flex-wrap:wrap;align-items:flex-end;gap:.65rem 1rem;display:flex}.fa-toolbar__actions{flex-wrap:wrap;gap:.45rem;display:flex}.fa-filter{color:var(--text-dim);text-transform:uppercase;flex-direction:column;gap:.25rem;font-size:.68rem;font-weight:700;display:flex}.fa-filter--check{text-transform:none;color:var(--text);flex-direction:row;align-items:center;padding-bottom:.35rem;font-size:.78rem;font-weight:600}.fa-filter--check input{margin:0}.fa-cash-mode{border:1px solid var(--border);background:#fff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.55rem .75rem;margin:0 0 1rem;padding:.65rem .85rem;display:flex}.fa-cash-mode__side{color:#94a3b8;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.8rem;font-weight:700;transition:color .15s}.fa-cash-mode__side:hover,.fa-cash-mode__side--active{color:var(--text)}.fa-cash-mode--on .fa-cash-mode__side[data-side=cash_detail]{color:#0f766e}.fa-cash-mode:not(.fa-cash-mode--on) .fa-cash-mode__side[data-side=petty_bank]{color:#1d4ed8}.fa-cash-mode__toggle{cursor:pointer;background:#94a3b8;border:none;border-radius:999px;flex:none;width:2.75rem;height:1.55rem;padding:0;transition:background .18s;position:relative;box-shadow:inset 0 0 0 1px #0f172a14}.fa-cash-mode__toggle:hover{filter:brightness(.96)}.fa-cash-mode__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fa-cash-mode--on .fa-cash-mode__toggle,.fa-cash-mode__toggle[aria-checked=true]{background:#0d9488}.fa-cash-mode:not(.fa-cash-mode--on) .fa-cash-mode__toggle{background:#2563eb}.fa-cash-mode__knob{background:#fff;border-radius:50%;width:1.2rem;height:1.2rem;transition:transform .18s;position:absolute;top:.18rem;left:.18rem;box-shadow:0 1px 3px #0f172a40}.fa-cash-mode--on .fa-cash-mode__knob,.fa-cash-mode__toggle[aria-checked=true] .fa-cash-mode__knob{transform:translate(1.2rem)}.fa-cash-mode__hint{color:var(--text-dim);flex:14rem;margin:0;font-size:.72rem;font-weight:500;line-height:1.35}.fa-balance-metrics{margin-bottom:1rem}.fa-insight-row{grid-template-columns:1fr;gap:.65rem;margin-bottom:1rem;display:grid}@media (width>=900px){.fa-insight-row{grid-template-columns:1fr 1fr;align-items:start}.fa-insight-row .fa-planned__metrics{grid-template-columns:1fr}.fa-insight-row .fa-cash-sheet{font-size:.8rem}}.fa-collapsible-panel{min-width:0;margin-bottom:0;padding:.45rem .75rem .5rem}.fa-collapsible-panel__summary{cursor:pointer;color:var(--text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem .65rem;font-size:.78rem;font-weight:800;list-style:none;display:flex}.fa-collapsible-panel__summary::-webkit-details-marker{display:none}.fa-collapsible-panel__summary:before{content:"▸";color:var(--text-dim);margin-right:.35rem;transition:transform .15s;display:inline-block}.fa-collapsible-panel[open]>.fa-collapsible-panel__summary:before{transform:rotate(90deg)}.fa-collapsible-panel__title{flex:auto;min-width:0}.fa-collapsible-panel__meta{color:var(--text-dim);white-space:nowrap;font-size:.72rem;font-weight:700}.fa-collapsible-panel__body{margin-top:.55rem;padding-top:.1rem}.fa-monthly-summary-table{font-size:.78rem}.fa-monthly-summary-table th,.fa-monthly-summary-table td{padding:.28rem .4rem}.fa-monthly-summary-table thead th{background:#eef2ff;font-size:.68rem}.fa-monthly-summary-table__total td{border-top:2px solid var(--border);font-weight:800}.fa-monthly-summary__pos{color:var(--success)}.fa-monthly-summary__neg{color:#b91c1c}.fa-planned__metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:.55rem 0;display:grid}.fa-planned__metric{border:1px solid var(--border);background:#f8fafc;border-radius:10px;padding:.75rem .85rem}.fa-planned__label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.25rem;font-size:.65rem;font-weight:800;display:block}.fa-planned__value{color:var(--text);font-size:1.25rem;font-weight:800;line-height:1.2;display:block}.fa-planned__value--out{color:#b91c1c}.fa-planned__sub{color:var(--text-dim);margin-top:.25rem;font-size:.72rem;font-weight:500;display:block}.fa-planned__after--ok .fa-planned__value{color:var(--success)}.fa-planned__after--tight .fa-planned__value{color:#d97706}.fa-planned__after--short .fa-planned__value{color:#b91c1c}.fa-cash-sheet{table-layout:fixed;border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:.55rem 0 .75rem;font-size:.84rem}.fa-cash-sheet td{border-bottom:1px solid var(--border);vertical-align:baseline;padding:.42rem .35rem}.fa-cash-sheet tr:last-child td{border-bottom:none}.fa-cash-sheet__ref{width:1.6rem;color:var(--text-dim);font-size:.72rem;font-weight:800}.fa-cash-sheet__label{color:var(--text);font-weight:600}.fa-cash-sheet__hint{color:var(--text-dim);margin-left:.35rem;font-size:.72rem;font-weight:500;display:inline}.fa-cash-sheet__formula{color:var(--text-dim);font-variant-numeric:normal;letter-spacing:.02em;margin-left:.45rem;font-size:.72rem;font-weight:700;display:inline-block}.fa-cash-sheet__amt{text-align:right;white-space:nowrap;color:var(--text);font-variant-numeric:tabular-nums;width:8.75rem;font-weight:700}.fa-cash-sheet__amt-btn{appearance:none;font:inherit;color:inherit;cursor:pointer;text-align:right;text-underline-offset:.15em;background:0 0;border:0;width:100%;margin:0;padding:0;font-weight:700;text-decoration:underline}.fa-cash-sheet__amt-btn--out,.fa-cash-sheet__amt--out{color:#b91c1c}.fa-cash-sheet__row--deduct td{background:0 0}.fa-cash-sheet__row--total td{border-top:2px solid var(--text);border-bottom:none;padding-top:.65rem;font-size:.95rem}.fa-cash-sheet__row--total .fa-cash-sheet__label{font-weight:800}.fa-cash-sheet__row--total .fa-cash-sheet__amt{font-size:1.05rem;font-weight:800}.fa-cash-sheet__total--ok .fa-cash-sheet__amt{color:var(--success)}.fa-cash-sheet__total--tight .fa-cash-sheet__amt{color:#d97706}.fa-cash-sheet__total--short .fa-cash-sheet__amt{color:#b91c1c}.fa-cash-sheet__actions{flex-wrap:wrap;gap:.35rem;display:flex}.fa-cash-sheet__check{color:var(--text);cursor:pointer;align-items:center;gap:.4rem;font-weight:700;display:inline-flex}.fa-cash-sheet__check input{accent-color:var(--primary,#2563eb);margin:0}.fa-cash-sheet__select{font:inherit;border:1px solid var(--border);color:var(--text);background:#fff;border-radius:6px;padding:.05rem .25rem;font-size:.72rem;font-weight:700}.fa-cash-sheet__row--scenario td{background:#f8fafc}.fa-cash-sheet__row--off td{opacity:.55}.fa-cash-sheet__row--add .fa-cash-sheet__amt{color:var(--success)}.fa-cash-sheet__amt--input{justify-content:flex-end;align-items:center;gap:.25rem;display:flex}.fa-cash-sheet__prefix{color:var(--success);flex:none;font-weight:700}.fa-cash-sheet__income{box-sizing:border-box;text-align:right;width:7.25rem;max-width:100%;font:inherit;font-variant-numeric:tabular-nums;border:1px solid var(--border);background:#fff;border-radius:8px;padding:.2rem .4rem;font-weight:700}.fa-cash-sheet__income:disabled{color:var(--text-dim);background:#f1f5f9}.fa-planned__buckets{color:var(--text);flex-wrap:wrap;gap:.45rem 1.1rem;margin-bottom:.75rem;font-size:.78rem;display:flex}.fa-planned__buckets strong{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;margin-right:.25rem;font-size:.65rem;font-weight:800}.fa-planned__cats{flex-wrap:wrap;gap:.4rem;display:flex}.fa-planned__chip{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:baseline;gap:.35rem;padding:.28rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.fa-planned__chip strong{font-weight:800}.fa-planned__chip--muted{border-color:var(--border);color:var(--text-dim);background:#f8fafc}@media (width<=767px){.fa-planned__metrics{grid-template-columns:1fr}.fa-cash-sheet__amt{width:auto}.fa-cash-sheet__hint{margin-top:.1rem;margin-left:0;display:block}}.fa-metric .fa-metric__sub{color:var(--text-dim);font-variant-numeric:tabular-nums;margin-top:.25rem;font-size:.68rem;font-weight:500;display:block}.fa-metric .label{align-items:center;gap:.3rem;display:inline-flex}.fa-metric__info-btn{width:1.15rem;height:1.15rem;color:var(--text-dim,#64748b);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:.75rem;line-height:1;display:inline-flex}.fa-metric__info-btn:hover,.fa-metric__info-btn[aria-expanded=true]{color:var(--primary,#1e3a5f)}.fa-metric--total{position:relative}.fa-metric__tip{z-index:5;color:#f8fafc;background:#0f172a;border-radius:8px;margin-top:.25rem;padding:.55rem .65rem;font-size:.72rem;font-weight:500;line-height:1.35;position:absolute;top:calc(100% - .15rem);left:.65rem;right:.65rem;box-shadow:0 8px 24px #0f172a40}.fa-metric__tip[hidden]{display:none}.fa-metric--ok .value{color:var(--success)}.fa-metric--warn .value{color:var(--danger)}.fa-panel{border:1px solid var(--border);background:#fff;border-radius:12px;margin-bottom:1rem;padding:1rem 1.1rem}.fa-panel__head{margin-bottom:.75rem}.fa-panel__head--row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.fa-panel__head h3{margin:0 0 .35rem;font-size:.95rem}.fa-panel__head p,.fa-panel__hint{color:var(--text-dim);margin:0;font-size:.78rem}.fa-panel__title{color:var(--text-dim);text-transform:uppercase;margin:0 0 .5rem;font-size:.65rem;font-weight:800}.fa-charts-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:1rem;display:grid}.fa-charts-grid--dual{grid-template-columns:1.65fr 1fr}.fa-charts-grid--single{grid-template-columns:1fr}.fa-chart-card--wide,.fa-chart-card--full{min-height:420px}.fa-chart-card__head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.35rem;display:flex}.fa-chart-card__head .fa-panel__title{margin-bottom:.25rem}.fa-chart-card__head .fa-panel__hint{margin:0}.fa-projection-anchor{flex-shrink:0;position:relative}.fa-projection-icon-btn{border:1px solid var(--border);width:38px;height:38px;color:var(--text-dim);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;transition:background .14s,border-color .14s,color .14s;display:inline-flex;position:relative}.fa-projection-icon-btn:hover,.fa-projection-icon-btn--open{color:var(--accent);background:#f8fbff;border-color:#dbeafe}.fa-projection-icon-btn__badge{text-align:center;color:#fff;background:var(--text-dim);border-radius:999px;min-width:16px;height:16px;padding:0 3px;font-size:.62rem;font-weight:800;line-height:16px;position:absolute;top:-4px;right:-4px}.fa-projection-icon-btn__badge--pos{background:var(--success)}.fa-projection-icon-btn__badge--neg{background:var(--danger)}.fa-projection-popover{z-index:40;border:1px solid var(--border);background:#fff;border-radius:12px;width:min(340px,100vw - 2rem);padding:.9rem 1rem;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 12px 32px #0f172a1f}.fa-projection-popover[hidden]{display:none}.fa-chart-card,.fa-projection-card{border:1px solid var(--border);background:#fff;border-radius:12px;flex-direction:column;min-height:360px;padding:1rem;display:flex}.fa-chart-card--full{min-height:440px}.fa-chart-wrap{flex:1;min-height:340px;position:relative}.fa-pivot-cell--clickable{cursor:pointer;text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.fa-pivot-cell--clickable:hover,.fa-pivot-cell--clickable:focus{background:#6366f114;outline:none}.ledger-pivot-filter{background:#6366f114;border:1px solid #6366f133;border-radius:8px;flex:100%;order:3;align-items:center;gap:.75rem;padding:.45rem .65rem;font-size:.78rem;display:flex}.ledger-pivot-filter__label{color:#4338ca;flex:1;font-weight:600}.ledger-recon-badge--report-excluded{color:#475569;background:#64748b26}.bank-recon-exclude-reports{color:var(--text-dim);white-space:nowrap;cursor:pointer;align-items:center;gap:.25rem;font-size:.68rem;display:inline-flex}.bank-recon-exclude-reports input{margin:0}.expense-form__exclude-reports{flex-direction:column;flex:1;gap:.15rem;margin-right:auto;font-size:.82rem;font-weight:600;display:flex}.expense-form__exclude-reports input{margin-right:.35rem}.expense-form__exclude-hint{color:var(--text-dim);font-size:.72rem;font-weight:500}.expense-modal__footer{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.expense-modal__footer-actions{gap:.5rem;margin-left:auto;display:flex}.fa-projection-note{color:var(--text-dim);margin:0 0 .75rem;font-size:.75rem}.fa-projection-stats{gap:.5rem;margin:0 0 1rem;display:grid}.fa-projection-stats div{border-bottom:1px solid var(--border);justify-content:space-between;gap:.5rem;padding:.35rem 0;font-size:.82rem;display:flex}.fa-projection-stats dt{color:var(--text-dim);font-weight:600}.fa-projection-stats dd{margin:0;font-weight:800}.fa-positive{color:var(--success)}.fa-negative{color:var(--danger)}.fa-projection-list{margin:0;padding:0;font-size:.75rem;list-style:none}.fa-projection-list li{border-bottom:1px solid var(--border);flex-direction:column;gap:.15rem;padding:.45rem 0;display:flex}.fa-projection-list li span:first-child{font-weight:700}.fa-projection-list li span:last-child{color:var(--text-dim)}.fa-table-wrap{overflow-x:auto}.fa-pivot-table{border-collapse:collapse;width:100%;font-size:.75rem}.fa-pivot-table th,.fa-pivot-table td{border-bottom:1px solid var(--border);text-align:left;padding:.55rem .6rem}.fa-pivot-table thead th{text-transform:uppercase;color:var(--text-dim);background:#f8fafc;font-size:.68rem;font-weight:800}.fa-pivot-table tfoot td{background:#f1f5f9;font-weight:800}.fa-pivot-table--wallet .fa-pivot-row--group td{border-top:1px solid var(--border);background:#f1f5f9;font-weight:800}.fa-pivot-table--wallet .fa-pivot-row--group:first-child td{border-top:none}.fa-pivot-nested-label{color:var(--text-dim);padding-left:1.35rem!important}.fa-meta-chip--hint{color:#1d4ed8;background:#eff6ff}.fa-num{white-space:nowrap;text-align:right!important}.fa-col-total{border-left:1px solid var(--border);background:#f8fafc}.fa-expense{color:#ef4444}.fa-gap--ok{color:var(--success)}.fa-gap--warn{color:var(--danger)}.fa-pivot-meta{flex-wrap:wrap;gap:.35rem;display:flex}.fa-meta-chip{color:var(--text-dim);background:#f1f5f9;border-radius:999px;padding:.25rem .55rem;font-size:.68rem;font-weight:700}.fa-meta-chip--sheet{color:#4338ca;background:#6366f11f}.fa-meta-chip--clickable{cursor:pointer;font:inherit;border:1px solid #0000;transition:background .12s,border-color .12s,box-shadow .12s}.fa-meta-chip--clickable:hover{border-color:#6366f159;box-shadow:0 1px 3px #0f172a14}.fa-meta-chip--clickable.fa-meta-chip--sheet:hover{background:#6366f133}.fa-meta-chip--clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=900px){.fa-charts-grid,.fa-charts-grid--dual{grid-template-columns:1fr}.fa-chart-card,.fa-projection-card{min-height:0}}.raised-page-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.85rem 1rem;margin-bottom:1rem;display:flex}.fdoc-float-kpis{margin:0 0 .75rem}.fdoc-funding-details{border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:10px;margin:0 0 .95rem;padding:0;overflow:hidden}.fdoc-funding-details__summary{cursor:pointer;color:var(--text,#0f172a);background:#f1f5f9;border-bottom:1px solid #0000;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem .75rem;padding:.55rem .85rem;font-size:.82rem;font-weight:800;list-style:none;display:flex}.fdoc-funding-details[open]>.fdoc-funding-details__summary{border-bottom-color:var(--border,#e5e7eb)}.fdoc-funding-details__summary::-webkit-details-marker{display:none}.fdoc-funding-details__summary:before{content:"▸";color:var(--text-dim,#64748b);margin-right:.35rem;transition:transform .15s;display:inline-block}.fdoc-funding-details[open]>.fdoc-funding-details__summary:before{transform:rotate(90deg)}.fdoc-funding-details__title{font-weight:800}.fdoc-funding-details__meta{color:var(--text-dim,#64748b);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:700}.fdoc-funding-details__body{padding:.65rem .75rem .75rem}.fdoc-funding-table-wrap{margin:0}.fdoc-funding-empty{color:var(--text-dim,#64748b);margin:.35rem 0 0;font-size:.75rem}.fdoc-funding-sub{border-top:1px solid var(--border,#e5e7eb);margin:.65rem 0 0;padding-top:.35rem}.fdoc-funding-sub__summary{cursor:pointer;text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim,#64748b);justify-content:space-between;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.72rem;font-weight:700;list-style:none;display:flex}.fdoc-funding-sub__summary::-webkit-details-marker{display:none}.fdoc-funding-sub__summary:before{content:"▸";margin-right:.3rem;font-weight:400;transition:transform .15s;display:inline-block}.fdoc-funding-sub[open]>.fdoc-funding-sub__summary:before{transform:rotate(90deg)}.fdoc-filters{border:1px solid var(--border);background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.4rem .5rem;margin-bottom:.85rem;padding:.4rem .55rem;display:flex}.fdoc-filters__search{flex:12rem;min-width:9rem;max-width:280px;position:relative}.fdoc-filters__search-input{width:100%;padding:.32rem .55rem .32rem 1.85rem;font-size:.78rem}.fdoc-filters__select{flex:0 auto;width:auto;min-width:7.5rem;max-width:11rem;padding:.3rem .45rem;font-size:.75rem}.fdoc-filters__actions{flex-wrap:wrap;align-items:center;gap:.35rem;margin-left:auto;display:inline-flex}.fdoc-action-short{display:none}.fdoc-action-full{display:inline}@media (width<=767px){.fdoc-filters__search{flex:100%;order:-1;max-width:none}.fdoc-filters__select{flex:calc(50% - .5rem);min-width:0;max-width:none}.fdoc-filters__actions{width:100%;margin-left:0}}.fdoc-check-col{text-align:center;width:2rem}.fdoc-pay{letter-spacing:.01em;font-size:.78rem;font-weight:700;display:inline-block}.fdoc-pay--cash{color:#0f766e}.fdoc-pay--cheque{color:#1d4ed8;font-variant-numeric:tabular-nums}.fdoc-pay--online{color:#7c3aed}.fdoc-pay--unpaid{color:#a16207}.fdoc-float-summary{border:1px solid var(--border,#e5e7eb);background:#f8fafc;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:0 0 .95rem;padding:.75rem .85rem;display:grid}.fdoc-float-summary__item{flex-direction:column;gap:.15rem;min-width:0;display:flex}.fdoc-float-summary__label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim,#64748b);font-size:.68rem;font-weight:700}.fdoc-float-summary__item strong{color:var(--text,#0f172a);font-size:1rem;font-weight:800}.fdoc-float-summary__hint{color:var(--text-dim,#64748b);font-size:.72rem}@media (width<=900px){.fdoc-float-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.fdoc-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem 1rem;margin-top:.75rem;display:grid}.fdoc-form-span{grid-column:1/-1}.fdoc-attach-list{flex-wrap:wrap;gap:.4rem;min-height:1.5rem;margin-top:.5rem;display:flex}.fdoc-chip{background:#f1f5f9;border-radius:4px;align-items:center;gap:.35rem;padding:.2rem .5rem;font-size:.85rem;display:inline-flex}.fdoc-chip--new{background:#ecfdf5}.fdoc-chip button{cursor:pointer;color:#64748b;background:0 0;border:0;font-size:1rem;line-height:1}.fdoc-status--open,.fdoc-status--unpaid{color:#a16207;font-weight:600}.fdoc-status--paid{color:#c2410c;font-weight:600}.fdoc-status--cheque-ready{color:#b45309;font-weight:600}.fdoc-status--linked{color:#15803d;font-weight:600}.fdoc-status-cell{flex-wrap:wrap;align-items:center;gap:.35rem .5rem;display:flex}.fdoc-scroll-sentinel{text-align:center;color:#64748b;margin:.75rem 0 0;font-size:.85rem}.fdoc-attach-icons{flex-wrap:wrap;align-items:center;gap:.2rem;display:inline-flex}.fdoc-attach-icon{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #dbe3ee;border-radius:6px;justify-content:center;align-items:center;gap:.25rem;min-width:1.7rem;height:1.7rem;padding:0 .4rem;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.fdoc-attach-icon:hover{color:var(--primary,#1d4ed8);background:#eef4ff;border-color:#93b4f0}.fdoc-attach-icon--count{font-size:.72rem;font-weight:800}.fdoc-attach-count{text-align:center;min-width:.75rem;line-height:1}.fdoc-row--clickable .fdoc-cell-open{cursor:pointer}.fdoc-row--clickable:hover{background:#f3f6fa}.fdoc-status--held{color:#64748b;font-weight:600}.fdoc-funding-row--held{opacity:.72}.fdoc-funding-row--held .fdoc-bucket-meter__bar{background:#cbd5e1}.fdoc-funding-table--ledger .fdoc-funding-col-num{vertical-align:top;min-width:6.5rem}.fdoc-funding-col-caption{text-transform:uppercase;letter-spacing:.02em;color:var(--text-dim,#64748b);margin-bottom:.15rem;font-size:.62rem;font-weight:700;display:block}.fdoc-funding-drill{text-align:right;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;border-radius:6px;margin:0;padding:.15rem .25rem;display:block}.fdoc-funding-drill:hover:not(:disabled),.fdoc-funding-drill:focus-visible:not(:disabled){background:#e2e8f0;outline:none;box-shadow:inset 0 0 0 1px #94a3b8}.fdoc-funding-drill:disabled{cursor:default;opacity:.55}.fdoc-funding-drill .fdoc-funding-col-caption{text-align:right}.fdoc-amt--neg{color:#c2410c!important}.fdoc-amt--pos{color:#047857!important}.fdoc-funding-table--ledger .fdoc-funding-totals .fdoc-funding-col-actions{text-align:left}.fdoc-funding-table--ledger .fdoc-funding-left-agg{display:block}.fdoc-status--over{color:#c2410c;font-weight:700}.fdoc-bucket-meter--over .fdoc-bucket-meter__bar{background:#ea580c}.fdoc-subcat--warn{color:#c2410c}.fdoc-funding-row--clickable{cursor:pointer}.fdoc-funding-row--clickable:hover td{background:#f1f5f9}.fdoc-funding-table .fdoc-funding-col-actions{text-align:right;white-space:nowrap;width:5.5rem;padding-left:.5rem}.fdoc-funding-table .fdoc-funding-col-actions .btn{padding:.2rem .45rem;font-size:.65rem}.fdoc-subcat{color:var(--text-dim,#64748b);margin-top:.15rem;font-size:.78rem;font-weight:500}.fdoc-actions{white-space:nowrap}.fdoc-actions .btn--icon{padding:.28rem .4rem}.fdoc-cat-col{vertical-align:middle;min-width:11rem;max-width:18rem}.fdoc-cat-display{text-align:left;cursor:pointer;max-width:100%;font:inherit;color:var(--text-main,#0f172a);background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:.35rem;margin:0;padding:.28rem .45rem;line-height:1.3;display:inline-flex}.fdoc-cat-display:hover{background:#f1f5f9;border-color:#cbd5e1}.fdoc-cat-display--empty{color:var(--text-dim,#64748b);font-style:italic}.fdoc-cat-display__main{white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:650;overflow:hidden}.fdoc-cat-display__pen{color:#94a3b8;flex-shrink:0;font-size:.65rem}.fdoc-cat-editor{flex-direction:column;gap:.35rem;min-width:10.5rem;display:none}.fdoc-cat-editor[hidden]{display:none!important}.fdoc-row--classify-open .fdoc-cat-display,.ledger-txn-row--classify-open .fdoc-cat-display{display:none}.fdoc-row--classify-open .fdoc-cat-editor,.ledger-txn-row--classify-open .fdoc-cat-editor{display:flex}.fdoc-row--classify-open .fdoc-cat-editor[hidden],.ledger-txn-row--classify-open .fdoc-cat-editor[hidden]{display:none!important}.fdoc-cat-editor .bank-recon-classify-combobox{width:100%}.fdoc-cat-editor .bank-recon-cell-input,.fdoc-cat-editor .bank-recon-vendor-input{width:100%;font-size:.78rem}.fdoc-cat-editor__actions{gap:.3rem;display:flex}.fdoc-row--saving,.ledger-txn-row--saving{opacity:.65;pointer-events:none}.ledger-classify-cell .fdoc-cat-display{width:100%;max-width:100%}.fdoc-chip__open{cursor:pointer;color:inherit;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.fdoc-link-modal{z-index:2100;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.fdoc-link-modal[hidden]{display:none}.fdoc-link-modal__backdrop{background:#0f172a73;position:absolute;inset:0}.fdoc-link-modal__panel{z-index:1;background:#fff;border-radius:10px;width:min(560px,100%);max-height:min(80vh,640px);padding:1rem 1.1rem 1.2rem;position:relative;overflow:auto;box-shadow:0 18px 50px #0f172a40}.fdoc-link-modal__head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.fdoc-link-search-wrap{margin:0 0 .65rem}.fdoc-link-search-wrap .expense-combobox{width:100%}.fdoc-status--full{color:#b45309;font-weight:800}.bank-recon-table__th--bills,.bank-recon-table__cell--bills{text-align:center;vertical-align:middle;width:3.25rem;min-width:3.25rem;max-width:3.25rem}.ledger-linked-bills-btn{color:#15803d;cursor:pointer;background:#ecfdf5;border:1px solid #86efac;border-radius:8px;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;display:inline-flex;position:relative}.ledger-linked-bills-btn:hover{background:#d1fae5;border-color:#4ade80}.ledger-linked-bills-btn__count{color:#fff;background:#15803d;border-radius:999px;min-width:1rem;height:1rem;padding:0 .2rem;font-size:.62rem;font-weight:800;line-height:1rem;position:absolute;top:-.35rem;right:-.35rem}.ledger-linked-bills-empty{color:var(--text-dim,#94a3b8);font-size:.85rem}.ledger-linked-panel{border:1px solid var(--border,#e5e7eb);background:#f8fafc;border-radius:12px;margin:.85rem 0 0;padding:.85rem 1rem 1rem}.ledger-linked-panel .bill-docs__intro{margin-bottom:.65rem}.ledger-linked-docs-list{flex-direction:column;gap:.45rem;display:flex}.ledger-linked-doc-row{border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:.65rem;padding:.55rem .7rem;display:flex}.ledger-linked-doc-row__main{flex:1;min-width:0}.ledger-linked-doc-row__title{color:var(--text,#0f172a);font-size:.88rem;font-weight:700;display:block}.ledger-linked-doc-row__sub{color:var(--text-dim,#64748b);text-overflow:ellipsis;white-space:nowrap;margin-top:.12rem;font-size:.75rem;display:block;overflow:hidden}.ledger-linked-doc-row__actions{flex-wrap:wrap;flex-shrink:0;gap:.35rem;display:flex}.ledger-linked-docs-actions{flex-wrap:wrap;gap:.45rem;margin-top:.7rem;display:flex}.ledger-linked-docs-empty{color:var(--text-dim,#64748b);margin:0;padding:.55rem .15rem;font-size:.85rem}.ledger-linked-docs-legacy{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-top:.55rem;padding:.55rem .7rem;font-size:.8rem}.ledger-linked-docs-legacy[hidden]{display:none}.fdoc-link-modal__panel--wide{width:min(720px,96vw);max-height:min(86vh,820px)}.ledger-linked-bills-list{flex-direction:column;gap:.85rem;max-height:min(64vh,640px);padding-right:.15rem;display:flex;overflow:auto}.ledger-doc-detail{border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:12px;padding:.85rem 1rem}.ledger-doc-detail__head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.ledger-doc-detail__title{color:var(--text,#0f172a);margin:0;font-size:.98rem;font-weight:800}.ledger-doc-detail__meta{color:var(--text-dim,#64748b);margin:.2rem 0 0;font-size:.78rem;font-weight:600}.ledger-doc-detail__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .85rem;margin:0;display:grid}.ledger-doc-detail__field{min-width:0}.ledger-doc-detail__field--wide{grid-column:1/-1}.ledger-doc-detail__field dt{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim,#64748b);margin:0;font-size:.68rem;font-weight:700}.ledger-doc-detail__field dd{color:var(--text,#0f172a);word-break:break-word;margin:.15rem 0 0;font-size:.88rem;font-weight:600}.ledger-doc-detail__files{flex-wrap:wrap;gap:.4rem;display:flex}.ledger-linked-bills-footer{margin-top:.25rem}@media (width<=640px){.ledger-doc-detail__grid{grid-template-columns:1fr}}.fdoc-link-row--disabled,.fdoc-link-row:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.fdoc-bucket-meter{background:#e2e8f0;border-radius:999px;width:100%;max-width:7rem;height:6px;margin:0 0 .3rem;overflow:hidden}.fdoc-bucket-meter__bar{border-radius:inherit;background:#0f766e;height:100%}.fdoc-funding-row--full .fdoc-bucket-meter__bar{background:#b45309}.fdoc-funding-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim,#64748b);margin:1rem 0 .4rem;font-size:.78rem;font-weight:800}.fdoc-funding-section-title:first-of-type{margin-top:.35rem}.fdoc-cash-opening{background:0 0;border:none;border-radius:0;flex-wrap:wrap;align-items:center;gap:.4rem .5rem;margin:0 0 .55rem;padding:0;display:flex}.fdoc-cash-opening__label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim,#64748b);margin-right:.15rem;font-size:.68rem;font-weight:800}.fdoc-cash-opening__field{color:var(--text-dim,#64748b);flex-direction:column;gap:0;font-size:.68rem;font-weight:600;display:flex}.fdoc-cash-opening__field input{min-width:8.5rem;padding:.28rem .45rem;font-size:.78rem}.fdoc-cash-opening__field--amt input{min-width:6.5rem;max-width:8rem}.fdoc-cash-opening__hint{color:var(--text-dim,#64748b);flex:100%;margin:0;font-size:.72rem}.fdoc-cash-opening__hint[hidden]{display:none}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-heading{align-items:center;gap:.4rem;max-width:100%;display:inline-flex;position:relative}.page-heading h2{margin:0}.page-help-btn{width:1.7rem;height:1.7rem;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;transition:background .14s,color .14s,border-color .14s;display:inline-flex}.page-help-btn:hover,.page-help-btn[aria-expanded=true]{color:var(--sidebar-active-border,#2563eb);background:#2563eb14;border-color:#2563eb29}.page-help-btn i{font-size:.95rem}.page-help-popover{z-index:50;border:1px solid var(--border);background:#fff;border-radius:12px;width:min(420px,100vw - 2rem);padding:0;position:absolute;top:calc(100% + .45rem);left:0;box-shadow:0 14px 36px #0f172a24}.page-help-popover[hidden]{display:none}.page-help-popover__head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .9rem;display:flex}.page-help-popover__head strong{color:var(--text);font-size:.92rem;font-weight:700}.page-help-popover__close{width:1.6rem;height:1.6rem;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.page-help-popover__close:hover{color:var(--text);background:#f3f4f6}.page-help-popover__body{max-height:min(60vh,420px);padding:.75rem .95rem .95rem;overflow:auto}.page-help-popover__lead{color:var(--text-dim);margin:0 0 .65rem;font-size:.82rem;line-height:1.45}.page-help-popover__how{letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);margin:0 0 .35rem;font-size:.72rem;font-weight:700}.page-help-popover__steps,.page-help-popover__tips ul{color:var(--text);margin:0;padding-left:1.15rem;font-size:.8rem;line-height:1.45}.page-help-popover__steps li+li,.page-help-popover__tips li+li{margin-top:.35rem}.page-help-popover__tips{border-top:1px dashed var(--border);margin-top:.75rem;padding-top:.65rem}.page-help-popover__tips strong{letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.3rem;font-size:.72rem;display:block}.page-help-popover__empty{color:var(--text-dim);margin:0;font-size:.82rem}.invoice-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.85rem 1.6rem .55rem;display:flex}.invoice-page-header__title{flex:1;min-width:0;position:relative}.invoice-page-header__subtitle{max-width:42rem;color:var(--text-dim);margin:.2rem 0 0;font-size:.82rem;font-weight:500;line-height:1.4}.invoice-page-header__actions{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.fdoc-funding-offdesk{color:#b91c1c;font-weight:800}.fdoc-link-wallet-wrap{color:var(--text,#0f172a);cursor:pointer;align-items:flex-start;gap:.45rem;margin:.65rem 0 .25rem;font-size:.8rem;font-weight:600;display:flex}.fdoc-link-wallet-wrap[hidden]{display:none!important}.fdoc-link-wallet-wrap input{margin-top:.15rem}.fdoc-link-row{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;padding:.55rem .7rem;display:flex}.fdoc-link-row:hover{background:#f8fafc;border-color:#94a3b8}.fdoc-link-row__main{font-size:.92rem;font-weight:600}.fdoc-link-row__sub{color:#64748b;font-size:.82rem}@media (width<=900px){.fdoc-form-grid{grid-template-columns:1fr}}.cash-float-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.cash-float-table .cash-float-amt{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.fdoc-funding-table{table-layout:auto;width:max-content;max-width:100%}.fdoc-funding-table .fdoc-funding-col-date{white-space:nowrap;width:5.75rem}.fdoc-funding-table .fdoc-funding-col-note{text-overflow:ellipsis;white-space:nowrap;max-width:16rem;overflow:hidden}.fdoc-funding-table .fdoc-funding-col-num{font-variant-numeric:tabular-nums;white-space:nowrap;width:6.75rem;padding-left:1rem;font-weight:650;text-align:right!important}.fdoc-funding-table thead .fdoc-funding-col-num{font-weight:800}.fdoc-funding-table .fdoc-funding-col-status{white-space:nowrap;width:7.5rem;padding-left:1rem}.fdoc-funding-table .fdoc-bucket-meter{max-width:100%}.fdoc-funding-totals td{border-top:2px solid var(--border,#e2e8f0);vertical-align:top;padding-top:.7rem}.fdoc-funding-left-agg{color:#0f766e;font-variant-numeric:tabular-nums;font-weight:800;display:block}.fdoc-funding-pending-agg{color:var(--text-dim,#64748b);font-variant-numeric:tabular-nums;margin-top:.2rem;font-size:.72rem;font-weight:600;display:block}.cash-float-ok{color:#15803d}.cash-float-warn{color:#a16207}.cash-float-bad{color:#b91c1c}@media (width<=900px){.cash-float-grid{grid-template-columns:1fr}}.raised-page-toolbar__left{flex-direction:column;gap:.35rem;min-width:min(100%,280px);display:flex}.raised-page-meta{color:var(--text-dim);margin:0;font-size:.78rem;font-weight:700}.raised-page-toolbar__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.raised-page-toolbar__actions .expense-combobox{min-width:9rem;max-width:14rem}.raised-table-wrap{max-height:min(70vh,640px);overflow:auto}.raised-table{min-width:720px}.raised-table thead tr:first-child th{z-index:3;background:#fff;position:sticky;top:0}.raised-filter-row th{vertical-align:middle;z-index:2;background:#f8fafc;padding:.35rem .4rem;position:sticky;top:2.15rem}.raised-col-filter{box-sizing:border-box;border:1px solid var(--border);width:100%;min-width:4.5rem;color:var(--text);background:#fff;border-radius:6px;padding:.35rem .45rem;font-size:.75rem;font-weight:600}.raised-col-filter:focus{border-color:#2563eb;outline:2px solid #2563eb40}.raised-col-filter--active{background:#eff6ff;border-color:#2563eb}.raised-col-picker{position:relative}.raised-col-picker>summary{cursor:pointer;list-style:none}.raised-col-picker>summary::-webkit-details-marker{display:none}.raised-col-picker__menu{z-index:20;border:1px solid var(--border);background:#fff;border-radius:10px;width:min(320px,80vw);max-height:360px;padding:.75rem;position:absolute;top:calc(100% + .35rem);right:0;overflow:auto;box-shadow:0 12px 28px #0f172a1f}.raised-col-picker__group{flex-direction:column;gap:.35rem;margin-bottom:.75rem;display:flex}.raised-col-picker__label{text-transform:uppercase;color:var(--text-dim);font-size:.65rem;font-weight:900}.raised-col-picker__hint{color:var(--text-dim);font-size:.72rem}.raised-col-picker__opt{cursor:pointer;align-items:flex-start;gap:.45rem;font-size:.78rem;line-height:1.35;display:flex}@media (width<=720px){.raised-page-toolbar__actions{justify-content:stretch;width:100%}.raised-page-toolbar__actions .expense-combobox,.raised-page-toolbar__actions .btn{flex:100%;max-width:none}}.eplan-horizon{color:var(--text-dim,#64748b);align-items:center;gap:.4rem;font-size:.75rem;font-weight:700;display:inline-flex}.eplan-horizon select{min-width:7rem;font-size:.78rem}.eplan-forms{gap:.75rem;margin:.75rem 0;display:grid}.eplan-form-card{margin-bottom:0}.eplan-form-row{flex-wrap:wrap;align-items:flex-end;gap:.5rem .65rem;display:flex}.eplan-form-row label{color:var(--text-dim,#64748b);flex-direction:column;gap:.2rem;font-size:.68rem;font-weight:700;display:flex}.eplan-form-row label input,.eplan-form-row label select{min-width:7rem;font-size:.78rem}.eplan-form-grow{flex:10rem}.eplan-badge{text-transform:uppercase;letter-spacing:.03em;color:#334155;background:#e2e8f0;border-radius:4px;margin-right:.35rem;padding:.1rem .35rem;font-size:.65rem;font-weight:800;display:inline-block}.eplan-badge--recurring{color:#0369a1;background:#e0f2fe}.fdoc-staff-mode #fdoc-funding-details,.fdoc-staff-mode #fdoc-float-kpis,.fdoc-staff-mode #fdoc-bulk-link,.fdoc-staff-mode #fdoc-deposit-wallet,.fdoc-staff-mode #fdoc-sync-cats,.fdoc-staff-mode #fdoc-bulk-delete{display:none!important}.eplan-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem 1rem;margin-bottom:.75rem;display:flex}.eplan-toolbar__actions{flex-wrap:wrap;align-items:center;gap:.4rem .5rem;display:inline-flex}.eplan-main,.eplan-templates{margin-bottom:.75rem}.eplan-col-what{min-width:12rem}.eplan-what{color:var(--text,#0f172a);font-weight:700;line-height:1.3}.eplan-what-meta{margin-top:.2rem}.eplan-detail__title{color:var(--text,#0f172a);margin:0 0 .75rem;font-size:1rem;font-weight:800;line-height:1.3}.eplan-section-head{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.55rem;display:flex}.eplan-section-meta{color:var(--text-dim,#64748b);font-size:.72rem;font-weight:700}.eplan-detail__body{padding-top:.25rem;font-size:.9rem}.eplan-detail__actions{flex-wrap:wrap;gap:.5rem;margin-top:.25rem;display:flex}.eplan-actions{white-space:nowrap;text-align:right;width:1%}.eplan-actions .btn{margin-left:.2rem}.eplan-dl{gap:.85rem;margin:0 0 1rem;display:grid}.eplan-dl__block{gap:.2rem;display:grid}.eplan-dl__meta{border-top:1px solid var(--border,#e5e7eb);grid-template-columns:1fr 1fr;gap:.65rem 1.25rem;padding-top:.65rem;display:grid}.eplan-dl__meta>div{gap:.15rem;display:grid}.eplan-dl dt{text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim,#64748b);margin:0;font-size:.68rem;font-weight:800}.eplan-dl dd{color:var(--text,#0f172a);word-break:break-word;margin:0;font-weight:600}.eplan-form-primary input{font-weight:600;padding:.55rem .65rem!important;font-size:.95rem!important}.eplan-row{cursor:pointer}.eplan-row:hover td{background:#f8fafc}.eplan-row--selected td{background:#eff6ff}.eplan-templates__summary{cursor:pointer;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim,#64748b);justify-content:space-between;align-items:center;gap:.5rem;font-size:.78rem;font-weight:800;list-style:none;display:flex}.eplan-templates__summary::-webkit-details-marker{display:none}.eplan-templates__summary:before{content:"▸";margin-right:.35rem;font-weight:400}.eplan-templates[open]>.eplan-templates__summary:before{content:"▾"}.eplan-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem .75rem;display:grid}.eplan-form-grid label{color:var(--text-dim,#64748b);flex-direction:column;gap:.25rem;font-size:.68rem;font-weight:700;display:flex}.eplan-form-span{grid-column:1/-1}.eplan-modal-actions{justify-content:flex-end;margin-top:1rem;display:flex}.eplan-rec-split-hint{margin:.55rem 0 0}.eplan-rec-periods{border:1px solid var(--border,#e2e8f0);background:#f8fafc;border-radius:10px;max-height:220px;margin-top:.75rem;padding:.55rem .65rem;overflow:auto}.eplan-rec-periods__head{text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim,#64748b);justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.45rem;font-size:.72rem;font-weight:800;display:flex}.eplan-rec-periods__list{flex-direction:column;gap:.35rem;display:flex}.eplan-rec-period-row{grid-template-columns:2rem 1fr minmax(5.5rem,7rem);align-items:center;gap:.45rem;font-size:.82rem;display:grid}.eplan-rec-period-row__idx{color:var(--text-dim,#64748b);font-weight:700}.eplan-rec-period-row__amt{text-align:right;width:100%}@media (width<=900px){.eplan-form-grid,.eplan-dl__meta{grid-template-columns:1fr}}.eplan-pivot-panel .fa-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.eplan-pivot-shell{border:1px solid var(--border,#e2e8f0);background:linear-gradient(#f8fafc 0% 2.6rem,#0000 2.6rem);border-radius:12px;max-width:100%;overflow:auto}.eplan-month-pivot-table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;min-width:100%}.eplan-month-pivot-table thead th{z-index:3;color:#e2e8f0;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#0f172a;border-bottom:none;font-size:.68rem;position:sticky;top:0}.eplan-pivot-sticky{z-index:2;min-width:12rem;max-width:16rem;box-shadow:1px 0 0 var(--border,#e2e8f0);background:#fff;position:sticky;left:0}.eplan-month-pivot-table thead .eplan-pivot-sticky{z-index:4;color:#e2e8f0;background:#0f172a;box-shadow:1px 0 #94a3b859}.eplan-pivot-corner{line-height:1.25}.eplan-pivot-corner__rows{color:#f8fafc;font-weight:800;display:block}.eplan-pivot-corner__cols{color:#94a3b8;text-transform:none;letter-spacing:0;margin-top:.15rem;font-size:.66rem;font-weight:600;display:block}.eplan-pivot-month{min-width:5.5rem}.eplan-pivot-month__label{display:block}.eplan-pivot-month__now{color:#0f172a;letter-spacing:.02em;background:#38bdf8;border-radius:999px;margin-top:.2rem;padding:.05rem .35rem;font-size:.58rem;font-weight:800;display:inline-block}.eplan-pivot-month--current,.eplan-pivot-col--current{background:#eff6ff!important}.eplan-month-pivot-table thead .eplan-pivot-month--current{color:#e0f2fe;background:#1e293b!important}.eplan-pivot-total-head,.eplan-month-pivot-table .fa-col-total{z-index:2;box-shadow:-1px 0 0 var(--border,#e2e8f0);background:#f8fafc;min-width:5.5rem;position:sticky;right:0}.eplan-month-pivot-table thead .eplan-pivot-total-head{z-index:4;color:#e2e8f0;background:#0f172a;box-shadow:-1px 0 #94a3b859}.eplan-pivot-group{cursor:pointer}.eplan-pivot-group td{background:#f1f5f9;border-top:1px solid #cbd5e1;font-weight:700}.eplan-pivot-group .eplan-pivot-sticky{background:#f1f5f9}.eplan-pivot-group__label{align-items:center;gap:.45rem;display:flex}.eplan-pivot-toggle{color:#64748b;cursor:pointer;background:0 0;border:0;width:1.1rem;padding:0}.eplan-pivot-group__count{color:#334155;background:#e2e8f0;border-radius:999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;padding:0 .3rem;font-size:.65rem;font-weight:800;display:inline-flex}.eplan-pivot-row--nested td{background:#fff}.eplan-pivot-nested-label{padding-left:1.65rem!important}.eplan-pivot-cell{position:relative;overflow:hidden}.eplan-pivot-val{z-index:1;position:relative}.eplan-pivot-bar{pointer-events:none;background:#b91c1c73;border-radius:2px 0 0;height:3px;position:absolute;bottom:0;right:0}.eplan-pivot-heat--low{background:#fff7ed}.eplan-pivot-heat--mid{background:#ffedd5}.eplan-pivot-heat--high{color:#9a3412;background:#fed7aa;font-weight:700}.eplan-pivot-empty{color:#cbd5e1}.eplan-pivot-foot td{color:#f8fafc;border-bottom:none;font-weight:800;background:#0f172a!important}.eplan-pivot-foot .eplan-pivot-sticky,.eplan-pivot-foot .fa-col-total{color:#f8fafc;background:#0f172a!important}.eplan-pivot-foot .eplan-pivot-bar{background:#38bdf8b3}.eplan-pivot-foot .eplan-pivot-col--current{background:#1e293b!important}.eplan-due--late{color:#b91c1c;font-weight:700}.eplan-row--overdue td{background:#fff7ed}.eplan-form-grid .bank-recon-classify-combobox{position:relative}.eplan-form-grid .bank-recon-classify-combobox input{width:100%}#app-shell-root{flex-direction:column;flex:1;width:100%;height:100%;min-height:0;display:flex}#app-shell-root>.layout{flex:1;width:100%;height:100%;min-height:0}.app-shell-user{align-items:center;gap:.6rem;min-width:0;display:flex}.sidebar-user-meta{min-width:0}html[data-finance-app="1"] #main-content{min-height:0;overflow:hidden}html[data-finance-app="1"] .app-views.app-shell-views{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}html[data-finance-app="1"] #app-shell-page.content-view{-webkit-overflow-scrolling:touch;z-index:0;isolation:isolate;background:var(--bg-body);flex:auto;min-height:0;padding:0 0 1.5rem;display:block;position:relative;overflow-y:auto}html:not([data-finance-app="1"]):not([data-mpa-app="1"]) .app-views.app-shell-views{display:contents}html:not([data-finance-app="1"]):not([data-mpa-app="1"]) #app-shell-page.content-view{padding:0 0 1.5rem;display:block}@media (width>=821px){html[data-finance-app="1"] aside,html[data-mpa-app="1"] aside{z-index:auto;height:100vh;width:260px!important;padding:.85rem 1rem!important;position:relative!important}html[data-finance-app="1"] aside{box-shadow:inset 6px 0 #1a73e8!important}html[data-finance-app="1"] #main-content,html[data-mpa-app="1"] #main-content{margin-left:0}html[data-finance-app="1"] .sidebar-title,html[data-mpa-app="1"] .sidebar-title{display:inline-flex!important}html[data-finance-app="1"] .nav-drawer-select,html[data-mpa-app="1"] .nav-drawer-select,html[data-finance-app="1"] .nav-drawer-label,html[data-finance-app="1"] .nav-section-label,html[data-mpa-app="1"] .nav-drawer-label,html[data-mpa-app="1"] .nav-section-label{display:none!important}html[data-finance-app="1"] .nav-module-toggle__label,html[data-finance-app="1"] .nav-module-toggle__chevron,html[data-finance-app="1"] .nav-page-btn span,html[data-mpa-app="1"] .nav-module-toggle__label,html[data-mpa-app="1"] .nav-module-toggle__chevron,html[data-mpa-app="1"] .nav-page-btn span{display:inline!important}html[data-finance-app="1"] .nav-module--open .nav-module-pages,html[data-mpa-app="1"] .nav-module--open .nav-module-pages{display:flex!important}html[data-finance-app="1"] .nav-module-toggle,html[data-mpa-app="1"] .nav-module-toggle{justify-content:space-between;min-height:2.5rem;padding:.58rem .55rem}html[data-finance-app="1"] .nav-page-btn,html[data-mpa-app="1"] .nav-page-btn{min-height:2.15rem}html[data-finance-app="1"] .nav-modules,html[data-mpa-app="1"] .nav-modules{gap:.35rem}html[data-finance-app="1"] .nav-module-toggle__lead,html[data-mpa-app="1"] .nav-module-toggle__lead{justify-content:flex-start;gap:.65rem}html[data-finance-app="1"] .sidebar-user-meta,html[data-mpa-app="1"] .sidebar-user-meta{display:block!important}html[data-finance-app="1"] body.nav-collapsed aside,html[data-finance-app="1"] body:not(.nav-expanded) aside,html[data-mpa-app="1"] body.nav-collapsed aside,html[data-mpa-app="1"] body:not(.nav-expanded) aside{overflow-x:hidden;width:96px!important;padding:.85rem 1rem!important}html[data-finance-app="1"] body.nav-collapsed .sidebar-head,html[data-finance-app="1"] body:not(.nav-expanded) .sidebar-head,html[data-mpa-app="1"] body.nav-collapsed .sidebar-head,html[data-mpa-app="1"] body:not(.nav-expanded) .sidebar-head{justify-content:flex-start!important;width:auto!important}html[data-finance-app="1"] body.nav-collapsed .rail-brand,html[data-finance-app="1"] body:not(.nav-expanded) .rail-brand,html[data-mpa-app="1"] body.nav-collapsed .rail-brand,html[data-mpa-app="1"] body:not(.nav-expanded) .rail-brand{flex-shrink:0;width:44px}html[data-finance-app="1"] body.nav-collapsed .sidebar-body,html[data-mpa-app="1"] body.nav-collapsed .sidebar-body{margin-top:.85rem!important}html[data-finance-app="1"] body.nav-collapsed .nav-modules,html[data-mpa-app="1"] body.nav-collapsed .nav-modules{gap:.35rem!important}html[data-finance-app="1"] body.nav-collapsed .sidebar-title,html[data-finance-app="1"] body.nav-collapsed .nav-drawer-label,html[data-finance-app="1"] body.nav-collapsed .nav-drawer-select,html[data-finance-app="1"] body.nav-collapsed .nav-section-label,html[data-finance-app="1"] body.nav-collapsed .sidebar-user-meta,html[data-mpa-app="1"] body.nav-collapsed .sidebar-title,html[data-mpa-app="1"] body.nav-collapsed .nav-drawer-label,html[data-mpa-app="1"] body.nav-collapsed .nav-drawer-select,html[data-mpa-app="1"] body.nav-collapsed .nav-section-label,html[data-mpa-app="1"] body.nav-collapsed .sidebar-user-meta{height:0!important;margin:0!important;padding:0!important;display:none!important;overflow:hidden!important}html[data-finance-app="1"] body.nav-collapsed .nav-module-toggle__label,html[data-finance-app="1"] body.nav-collapsed .nav-module-toggle__chevron,html[data-finance-app="1"] body.nav-collapsed .nav-page-btn span,html[data-mpa-app="1"] body.nav-collapsed .nav-module-toggle__label,html[data-mpa-app="1"] body.nav-collapsed .nav-module-toggle__chevron,html[data-mpa-app="1"] body.nav-collapsed .nav-page-btn span{visibility:hidden!important;white-space:nowrap!important;width:0!important;min-width:0!important;margin:0!important;padding:0!important;display:inline!important;overflow:hidden!important}html[data-finance-app="1"] body.nav-collapsed .nav-module-pages,html[data-mpa-app="1"] body.nav-collapsed .nav-module-pages,html[data-finance-app="1"] body:not(.nav-expanded) .nav-module-pages,html[data-mpa-app="1"] body:not(.nav-expanded) .nav-module-pages{display:none!important}html[data-finance-app="1"] body.nav-collapsed .nav-module-toggle,html[data-mpa-app="1"] body.nav-collapsed .nav-module-toggle,html[data-finance-app="1"] body:not(.nav-expanded) .nav-module-toggle,html[data-mpa-app="1"] body:not(.nav-expanded) .nav-module-toggle{justify-content:flex-start!important;width:100%!important;min-height:2.5rem!important;padding:.58rem .55rem!important}html[data-finance-app="1"] body.nav-collapsed .nav-module-toggle__lead,html[data-mpa-app="1"] body.nav-collapsed .nav-module-toggle__lead,html[data-finance-app="1"] body:not(.nav-expanded) .nav-module-toggle__lead,html[data-mpa-app="1"] body:not(.nav-expanded) .nav-module-toggle__lead{justify-content:flex-start!important;gap:.65rem!important}html[data-finance-app="1"] body.nav-collapsed .nav-page-btn,html[data-mpa-app="1"] body.nav-collapsed .nav-page-btn,html[data-finance-app="1"] body:not(.nav-expanded) .nav-page-btn,html[data-mpa-app="1"] body:not(.nav-expanded) .nav-page-btn{justify-content:flex-start!important;min-height:2.15rem!important;padding:.45rem .55rem!important}html[data-finance-app="1"] body.nav-collapsed .sidebar-foot>div,html[data-finance-app="1"] body:not(.nav-expanded) .sidebar-foot>div{justify-content:flex-start!important}html[data-finance-app="1"] body.nav-collapsed aside,html[data-finance-app="1"] body:not(.nav-expanded) aside{background:var(--bg-sidebar)!important;border-right:1px solid var(--sidebar-border)!important}}html[data-finance-app="1"] aside .nav-module--active>.nav-module-toggle,html[data-mpa-app="1"] aside .nav-module--active>.nav-module-toggle{background:var(--sidebar-active-bg);border-color:#2563eb2e}html[data-finance-app="1"] aside .nav-module--active>.nav-module-toggle i,html[data-mpa-app="1"] aside .nav-module--active>.nav-module-toggle i{color:var(--sidebar-active-border)}.app-shell-footer{color:#64748b;z-index:1;background:#fff;border-top:1px solid #0f172a0f;flex-shrink:0;justify-content:center;align-items:center;gap:.45rem;padding:.75rem 1.25rem 1.1rem;font-size:.8rem;display:flex;position:relative}html[data-finance-app="1"] .app-shell-footer,html[data-mpa-app="1"] .app-shell-footer{display:none}.app-shell-footer__brand{color:#475569;font-weight:600}.app-shell-footer__sep{opacity:.5}.nav-modules a.nav-page-btn{color:inherit;box-sizing:border-box;text-decoration:none}.finance-mpa-status{color:#64748b;padding:1.5rem 1.25rem}.app-shell-page-chrome{padding:.25rem 1.25rem 0}.app-shell-page-chrome .accounts-subview-tabs{margin-bottom:.5rem}@media (width<=900px){.app-shell-page-chrome{padding-left:.85rem;padding-right:.85rem}}html[data-mpa-app="1"] body,html[data-admin-app="1"] body,html[data-finance-app="1"] body{font-family:var(--font-sans,"Inter", ui-sans-serif, system-ui, sans-serif);font-size:var(--text-sm,.875rem);line-height:var(--line-body,1.5)}html[data-mpa-app="1"] .MuiTypography-root,html[data-admin-app="1"] .MuiTypography-root,html[data-mpa-app="1"] .MuiButton-root,html[data-admin-app="1"] .MuiButton-root,html[data-mpa-app="1"] .MuiInputBase-root,html[data-admin-app="1"] .MuiInputBase-root,html[data-mpa-app="1"] .MuiTableCell-root,html[data-admin-app="1"] .MuiTableCell-root,html[data-mpa-app="1"] .MuiChip-root,html[data-admin-app="1"] .MuiChip-root{font-family:var(--font-sans,"Inter", ui-sans-serif, system-ui, sans-serif)!important}html[data-mpa-app="1"] .MuiTypography-h5,html[data-admin-app="1"] .MuiTypography-h5{letter-spacing:-.02em;font-size:var(--text-lg,1.375rem)!important}html[data-mpa-app="1"] .MuiTypography-body1,html[data-mpa-app="1"] .MuiTypography-body2,html[data-admin-app="1"] .MuiTypography-body1,html[data-admin-app="1"] .MuiTypography-body2{font-size:var(--text-sm,.875rem)!important}html[data-mpa-app="1"] .MuiTypography-caption,html[data-admin-app="1"] .MuiTypography-caption{font-size:var(--text-xs,.75rem)!important}
