.tax-year-selector{align-items:center;gap:.5rem;display:flex}.tax-year-label{color:var(--text-muted);font-size:.85rem;font-weight:500}.tax-year-select{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);cursor:pointer;padding:.3rem .5rem;font-size:.85rem}.tax-year-loading{color:var(--text-muted);font-size:.85rem}.tax-year-error{color:var(--error);font-size:.85rem}.tax-year-retry-btn{border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;background:0 0;padding:.3rem .6rem;font-size:.8rem;transition:background .15s}.tax-year-retry-btn:hover{background:var(--bg-hover)}.tax-year-btn{border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;padding:.3rem .6rem;font-size:.8rem;transition:background .15s}.tax-year-btn--create{background:var(--accent);color:#121212;border-color:var(--accent);font-weight:600}.tax-year-btn--create:hover{background:var(--accent-hover)}.tax-year-btn--delete{color:var(--error);background:0 0;border-color:#0000;padding:.2rem .4rem;font-size:1rem}.tax-year-btn--delete:hover{background:var(--error-light)}.dialog-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.dialog{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);min-width:320px;max-width:420px;box-shadow:var(--shadow-lg);color:var(--text-primary);padding:1.5rem}.dialog-title{color:var(--text-primary);margin:0 0 1rem;font-size:1.1rem}.dialog-label{color:var(--text-primary);margin-bottom:.25rem;font-size:.85rem;font-weight:500;display:block}.dialog-input{border:1px solid var(--border-color);border-radius:var(--radius-sm);box-sizing:border-box;background:var(--bg-input);width:100%;color:var(--text-primary);margin-bottom:.75rem;padding:.5rem;font-size:.9rem}.dialog-message{color:var(--text-primary);margin:0 0 1rem;font-size:.9rem;line-height:1.5}.dialog-error{color:var(--error);margin:0 0 .75rem;font-size:.85rem}.dialog-warning{color:var(--error);font-weight:600}.dialog-actions{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}.dialog-btn{border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;padding:.5rem 1rem;font-size:.85rem;transition:background .15s}.dialog-btn--cancel{background:var(--bg-input);color:var(--text-primary)}.dialog-btn--cancel:hover{background:var(--bg-hover)}.dialog-btn--confirm{background:var(--accent);color:#121212;border-color:var(--accent);font-weight:600}.dialog-btn--confirm:hover{background:var(--accent-hover)}.dialog-btn--danger{background:var(--error);color:#fff;border-color:var(--error)}.dialog-btn--danger:hover{filter:brightness(.9)}.dialog-btn:disabled{opacity:.6;cursor:not-allowed}.modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:92%;max-width:480px;box-shadow:var(--shadow-lg);color:var(--text-primary);padding:1.5rem}.modal-content h3{color:var(--text-primary);margin:0 0 1rem;font-size:1.1rem}.mode-toggle{border:1px solid var(--border-color);border-radius:var(--radius-md);gap:0;margin-bottom:1rem;display:flex;overflow:hidden}.mode-toggle button{background:var(--bg-input);cursor:pointer;color:var(--text-secondary);border:none;flex:1;padding:.5rem;font-size:.85rem;transition:background .15s,color .15s}.mode-toggle button.active{background:var(--accent);color:#121212;font-weight:600}.mode-toggle button:hover:not(.active){background:var(--bg-hover)}.quick-form-group{flex-direction:column;margin-bottom:.75rem;display:flex}.quick-form-group label{color:var(--text-secondary);margin-bottom:.2rem;font-size:.8rem;font-weight:500}.quick-form-group input,.quick-form-group select{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);padding:.45rem .6rem;font-size:.9rem}.quick-form-group input:focus,.quick-form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light);outline:none}.quick-form-row{gap:.75rem;display:flex}.quick-form-row .quick-form-group{flex:1}.quick-form-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.quick-form-error{background:var(--error-light);border:1px solid var(--error);border-radius:var(--radius-sm);color:var(--error);margin-bottom:.75rem;padding:.5rem .6rem;font-size:.82rem}.quick-form-success{color:var(--success);margin-bottom:.5rem;font-size:.85rem}.quick-form-warnings{margin-bottom:.5rem}.login-overlay{z-index:1000;background:var(--bg-primary);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.login-form{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:360px;margin:1rem;padding:2rem}.login-logo{object-fit:contain;border-radius:var(--radius-md);width:100%;max-height:240px;margin:0 auto 1.5rem;display:block}.login-title{color:var(--text-primary);text-align:center;margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.login-subtitle{color:var(--text-secondary);text-align:center;margin:0 0 1.5rem;font-size:.875rem}.login-input{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-input);width:100%;color:var(--text-primary);margin-bottom:1rem;padding:.75rem;font-size:.95rem}.login-input::placeholder{color:var(--text-muted)}.login-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light);outline:none}.login-error{background:var(--error-light);border:1px solid var(--error);border-radius:var(--radius-sm);color:var(--error);text-align:center;margin-bottom:1rem;padding:.75rem;font-size:.85rem}.login-submit{border-radius:var(--radius-md);background:var(--accent);color:#121212;border:none;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem;font-size:1rem;font-weight:500;display:flex}.login-submit:hover{background:var(--accent-hover)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-spinner{border:2px solid #1212124d;border-top-color:#121212;border-radius:50%;width:1rem;height:1rem;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.login-remember{color:var(--text-secondary);cursor:pointer;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem;display:flex}.login-remember input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent);cursor:pointer}.layout{height:100vh;display:flex;overflow:hidden}.layout-sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;height:100vh;display:flex;overflow:hidden}.sidebar-brand{border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:.75rem;padding:1.25rem 1rem;display:flex}.sidebar-brand__logo{border-radius:var(--radius-md);object-fit:contain;width:36px;height:36px}.sidebar-brand__text{flex-direction:column;display:flex}.sidebar-brand__name{color:var(--text-primary);letter-spacing:-.3px;font-size:.95rem;font-weight:700;line-height:1.2}.sidebar-brand__tagline{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.65rem}.sidebar-nav{flex:1;padding:.75rem .5rem;overflow-y:auto}.nav-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.nav-link{color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:.75rem;padding:.6rem .75rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-link:hover{background:var(--bg-hover);color:var(--text-primary);text-decoration:none}.nav-link--active{color:var(--accent);background:#4a9eff1f;font-weight:600}.nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.nav-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nav-group{position:relative}.nav-group-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.nav-chevron{color:var(--text-muted);margin-left:auto;font-size:.6rem;transition:transform .2s}.nav-group--open .nav-chevron{transform:rotate(180deg)}.nav-submenu{flex-direction:column;margin:2px 0 0;padding:0;list-style:none;display:none}.nav-group--open .nav-submenu{display:flex}.nav-link--sub{padding:.45rem .75rem .45rem 2.5rem;font-size:.8rem}.sidebar-quick-actions{border-top:1px solid var(--border-color);flex-shrink:0;padding:.75rem .5rem}.sidebar-section-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:.5rem;padding:0 .75rem;font-size:.65rem;font-weight:600}.quick-action-btn{width:100%;color:var(--text-secondary);border-radius:var(--radius-md);text-align:left;background:0 0;border:none;align-items:center;gap:.6rem;padding:.45rem .75rem;font-size:.8rem;transition:all .15s;display:flex}.quick-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.quick-action-btn svg{flex-shrink:0;width:16px;height:16px}.sidebar-footer{border-top:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.dark-mode-toggle{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-md);align-items:center;gap:.5rem;padding:.4rem .5rem;font-size:.8rem;transition:background .15s;display:flex}.dark-mode-toggle:hover{background:var(--bg-hover)}.dark-mode-toggle__switch{background:var(--accent);cursor:pointer;border-radius:10px;width:36px;height:20px;transition:background .2s;position:relative}.dark-mode-toggle__switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;right:2px}.dark-mode-toggle__switch--off{background:var(--text-muted)}.dark-mode-toggle__switch--off:after{transform:translate(-16px)}.layout-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.layout-header{height:var(--header-height);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 1.5rem;display:flex}.layout-header-left,.layout-header-right{align-items:center;gap:1rem;display:flex}.header-back-btn{background:var(--bg-input);border:1px solid var(--border-color);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex}.header-back-btn:hover{border-color:var(--accent);color:var(--accent)}.header-date-picker{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.8rem;display:flex}.header-date-picker svg{width:16px;height:16px;color:var(--accent)}.header-notification{background:var(--bg-input);border:1px solid var(--border-color);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex;position:relative}.header-notification:hover{border-color:var(--accent);color:var(--accent)}.header-notification__badge{background:var(--error);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:.6rem;font-weight:700;display:flex;position:absolute;top:-2px;right:-2px}.header-user{cursor:pointer;border-radius:var(--radius-md);align-items:center;gap:.6rem;padding:.3rem .5rem;transition:background .15s;display:flex}.header-user:hover{background:var(--bg-hover)}.header-user__avatar{background:linear-gradient(135deg, var(--accent), var(--kpi-purple));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.75rem;font-weight:700;display:flex}.header-user__info{flex-direction:column;display:flex}.header-user__name{color:var(--text-primary);font-size:.8rem;font-weight:600;line-height:1.2}.header-user__role{color:var(--text-muted);font-size:.65rem}.header-user-menu{position:relative}.header-user-dropdown{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);z-index:200;min-width:160px;padding:.35rem 0;animation:.15s fadeDropdown;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0006}@keyframes fadeDropdown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.header-user-dropdown__item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.6rem;padding:.55rem 1rem;font-size:.8rem;font-weight:500;transition:background .12s;display:flex}.header-user-dropdown__item:hover{background:var(--bg-hover)}.header-user-dropdown__item--danger{color:var(--kpi-red,#f87171)}.header-user-dropdown__item--danger:hover{background:#f8717114}.layout-main{background:var(--bg-primary);flex:1;padding:1.5rem 2rem;overflow-y:auto}.layout-main>*{max-width:85%}@media (max-width:1024px){.layout-main>*{max-width:100%}}.header-btn{border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);background:#ffffff0f;padding:.5rem .85rem;font-size:.8rem;font-weight:500;transition:all .15s}.header-btn:hover{background:#ffffff1a;border-color:#ffffff26}.header-btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.header-btn--primary:hover{background:var(--accent-hover)}.nav-svg{width:20px;height:20px}@media (max-width:1024px){.layout-sidebar{width:60px}.sidebar-brand__text,.nav-label,.nav-chevron,.sidebar-section-label,.quick-action-btn span,.dark-mode-toggle span{display:none}.nav-link{justify-content:center;padding:.6rem}.nav-link--sub{padding-left:.6rem}.sidebar-brand{justify-content:center;padding:1rem .5rem}.quick-action-btn{justify-content:center}}@media (max-width:768px){.layout{flex-direction:column}.layout-sidebar{border-right:none;border-bottom:1px solid var(--border-color);flex-direction:row;width:100%;height:auto}.sidebar-nav{padding:.5rem;display:flex;overflow-x:auto}.nav-list{flex-direction:row}.sidebar-brand,.sidebar-quick-actions,.sidebar-footer,.nav-label{display:none}.nav-submenu{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;min-width:150px;position:absolute;top:100%;left:0}.layout-main{padding:1rem}.layout-main>*{max-width:100%}.header-user__info{display:none}}.admin-gate{justify-content:center;align-items:center;min-height:60vh;padding:2rem;display:flex}.admin-gate-form{background:var(--bg-card);border:1px solid var(--border-color);text-align:center;border-radius:12px;width:100%;max-width:380px;padding:2.5rem 2rem}.admin-gate-icon{margin-bottom:.5rem;font-size:2.5rem}.admin-gate-form h2{color:var(--text-primary);margin:0 0 .5rem}.admin-gate-form p{color:var(--text-secondary);margin:0 0 1.25rem;font-size:.9rem}.admin-gate-input{border:1px solid var(--border-input);background:var(--input-bg);width:100%;color:var(--text-primary);border-radius:6px;margin-bottom:.75rem;padding:.65rem .85rem;font-size:.95rem}.admin-gate-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #22c55e26}.admin-gate-error{color:var(--error-text);margin-bottom:.75rem;font-size:.85rem}.admin-gate-submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;padding:.65rem;font-size:.95rem;font-weight:600;transition:background .2s}.admin-gate-submit:hover:not(:disabled){background:var(--accent-hover)}.admin-gate-submit:disabled{opacity:.5;cursor:not-allowed}.admin-page{padding:0}.admin-page h2{margin:0 0 .75rem}.admin-loading{color:var(--text-secondary)}.admin-info-error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.75rem 1rem;display:flex}.admin-retry-btn{border:1px solid var(--error-border);color:var(--error-text);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:.35rem .75rem;font-size:.85rem}.admin-info-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.admin-info-card{background:var(--bg-card);border:1px solid var(--border-color);text-align:center;border-radius:10px;padding:1.25rem}.admin-info-card-icon{margin-bottom:.4rem;font-size:1.75rem}.admin-info-card-label{color:var(--text-secondary);margin-bottom:.25rem;font-size:.85rem}.admin-info-card-value{color:var(--text-primary);font-size:1.5rem;font-weight:700}.admin-vuln-breakdown{justify-content:center;gap:.75rem;margin-top:.5rem;font-size:.8rem;font-weight:500;display:flex}.admin-vuln-high{color:#ef4444}.admin-vuln-medium{color:#f59e0b}.admin-vuln-low{color:#3b82f6}.admin-delete-section{background:var(--bg-card);border:1px solid var(--error-border);border-radius:10px;padding:1.25rem}.admin-delete-section h3{color:var(--error-text);margin:0 0 .5rem}.admin-delete-description{color:var(--text-secondary);margin:0 0 1rem;font-size:.9rem}.admin-delete-controls{align-items:center;gap:.75rem;display:flex}.admin-delete-select{border:1px solid var(--border-input);background:var(--input-bg);width:220px;color:var(--text-primary);border-radius:6px;padding:.5rem .75rem;font-size:.9rem}.admin-delete-select option{color:#111;background:#fff}.admin-delete-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:6px;padding:.5rem 1.25rem;font-weight:600;transition:background .2s}.admin-delete-btn:hover:not(:disabled){background:#dc2626}.admin-delete-btn:disabled{opacity:.4;cursor:not-allowed}.admin-dialog-overlay{z-index:1000;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.admin-dialog{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;width:90%;max-width:440px;padding:1.5rem}.admin-dialog h3{color:var(--text-primary);margin:0 0 .75rem}.admin-dialog p{color:var(--text-secondary);margin:0 0 1.25rem;font-size:.9rem;line-height:1.5}.admin-dialog-actions{justify-content:flex-end;gap:.75rem;display:flex}.admin-dialog-cancel{border:1px solid var(--border-input);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:6px;padding:.5rem 1rem}.admin-dialog-confirm{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:600}.admin-dialog-confirm:hover:not(:disabled){background:#dc2626}.admin-dialog-confirm:disabled,.admin-dialog-cancel:disabled{opacity:.5;cursor:not-allowed}.admin-info-card--clickable{cursor:pointer;transition:border-color .2s,box-shadow .2s;position:relative}.admin-info-card--clickable:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.admin-card-chevron{color:var(--text-muted);margin-top:.4rem;font-size:.8rem}.admin-vuln-details{margin-bottom:2rem}.admin-vuln-all-fixed-banner{background:var(--bg-summary);border:1px solid var(--accent);color:var(--success-text);border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-weight:600}.admin-vuln-detail-row{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;margin-bottom:.75rem;padding:1rem}.admin-vuln-detail-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.admin-vuln-severity-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:.15rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.admin-vuln-severity-badge--high{color:#ef4444;background:#ef444426}.admin-vuln-severity-badge--medium{color:#f59e0b;background:#f59e0b26}.admin-vuln-severity-badge--low{color:#3b82f6;background:#3b82f626}.admin-vuln-detail-title{color:var(--text-primary);flex:1;font-weight:600}.admin-vuln-status{white-space:nowrap;font-size:.85rem;font-weight:500}.admin-vuln-status--fixed{color:var(--success-text)}.admin-vuln-status--unfixed{color:var(--warning-text)}.admin-vuln-detail-desc{color:var(--text-secondary);margin:0 0 .5rem;font-size:.9rem;line-height:1.5}.admin-vuln-detail-meta{margin-bottom:.4rem}.admin-vuln-detail-file{color:var(--text-muted);font-family:monospace;font-size:.8rem}.admin-vuln-detail-fix{color:var(--text-secondary);border-left:3px solid var(--accent);margin:0;padding-left:.75rem;font-size:.85rem;line-height:1.5}.admin-components-section{margin-top:1.5rem;margin-bottom:1.5rem}.admin-components-section h3{color:var(--text-primary,#e2e8f0);margin:0 0 .75rem;font-size:1.05rem}.admin-components-table{font-size:.85rem}.admin-components-scroll{border:1px solid var(--border-color,#1e2028);border-radius:6px;max-height:480px;overflow-y:auto}.admin-components-scroll .admin-components-table{border:none}.admin-components-scroll thead th{z-index:1;position:sticky;top:0}.admin-components-table th{background:#7c3aed14}.admin-component-category{background:var(--bg-form,#1a1b23);color:var(--text-secondary,#94a3b8);border-radius:3px;padding:.1rem .4rem;font-size:.72rem;display:inline-block}.admin-component-category--runtime{color:#60a5fa;background:#3b82f626}.admin-component-category--application{color:var(--success-text,#4ade80);background:#22c55e26}.admin-component-category--infrastructure{color:#fbbf24;background:#f59e0b26}.admin-component-category--server-dependency{color:#a78bfa;background:#7c3aed1f}.admin-component-category--client-dependency{color:#2dd4bf;background:#14b8a61f}.admin-component-category--server-dev-dependency{color:#7c3aed80;background:#7c3aed0f}.admin-component-category--client-dev-dependency{color:#14b8a680;background:#14b8a60f}.admin-status-badge{text-transform:capitalize;letter-spacing:.02em;white-space:nowrap;border-radius:4px;padding:.15rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.admin-status-badge--active{color:#4ade80;background:#22c55e26}.admin-status-badge--maintenance{color:#fbbf24;background:#f59e0b26}.admin-status-badge--stale{color:#fb923c;background:#f9731626}.admin-status-badge--unmaintained{color:#f87171;background:#ef444426}.admin-status-badge--unknown{color:#94a3b8;background:#94a3b81f}.admin-outdated-indicator,.admin-outdated-indicator code{color:#fb923c}.admin-outdated-arrow{color:#f87171;margin-left:.2rem;font-size:.85rem;font-weight:700}.admin-row-outdated{background:#f973160a}.admin-registry-loading,.admin-registry-na{color:var(--text-muted,#64748b);font-size:.82rem}*{scrollbar-width:none;-ms-overflow-style:none;caret-color:#0000}::-webkit-scrollbar{display:none}input,textarea,[contenteditable=true]{caret-color:auto}:root{--bg-primary:#0a0e1a;--bg-secondary:#0f1422;--bg-card:#141a2e;--bg-input:#1a2038;--bg-hover:#ffffff0f;--bg-sidebar:#0c1120;--text-primary:#e8ecf4;--text-secondary:#8892a8;--text-muted:#4a5568;--border-color:#ffffff14;--border-light:#ffffff0a;--border-input:#ffffff1f;--accent:#4a9eff;--accent-hover:#3a8eef;--accent-light:#4a9eff26;--success:#4ade80;--success-light:#4ade801f;--error:#f87171;--error-light:#f871711f;--warning:#fbbf24;--warning-light:#fbbf241f;--kpi-blue:#4a9eff;--kpi-green:#4ade80;--kpi-yellow:#fbbf24;--kpi-red:#f87171;--kpi-purple:#a78bfa;--kpi-cyan:#22d3ee;--sidebar-width:220px;--header-height:56px;--page-max-width:1200px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 10px 24px #00000080;--shadow-card:0 4px 16px #0000004d}[data-theme=light]{--bg-primary:#f5f7fa;--bg-secondary:#fff;--bg-card:#fff;--bg-input:#f0f2f5;--bg-hover:#0000000a;--bg-sidebar:#fff;--text-primary:#1a202c;--text-secondary:#4a5568;--text-muted:#a0aec0;--border-color:#0000001a;--border-light:#0000000d;--border-input:#00000026;--accent:#3b82f6;--accent-hover:#2563eb;--accent-light:#3b82f61f;--success:#22c55e;--success-light:#22c55e1a;--error:#ef4444;--error-light:#ef44441a;--warning:#f59e0b;--warning-light:#f59e0b1a;--kpi-blue:#3b82f6;--kpi-green:#22c55e;--kpi-yellow:#f59e0b;--kpi-red:#ef4444;--kpi-purple:#8b5cf6;--kpi-cyan:#06b6d4;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 10px 24px #0000001f;--shadow-card:0 2px 8px #0000000f}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.6}input,select,textarea{font-family:inherit;font-size:inherit}table{border-collapse:collapse;width:100%}table tbody tr:nth-child(odd){background:#ffffff05}table tbody tr:nth-child(2n){background:#ffffff0a}table tbody tr:hover{background:#4a9eff0f}.data-row,.ar-row{color:var(--text-secondary);border-radius:4px;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .6rem;font-size:.8rem;display:flex}.data-row span:last-child,.data-row .data-row__value,.ar-row span:last-child{text-align:right;margin-left:auto}.revenue-legend__item{border-radius:4px;align-items:center;gap:.5rem;padding:.65rem .6rem;font-size:.75rem;display:flex}.revenue-legend__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.revenue-legend__label{color:var(--text-secondary);flex:1}.revenue-legend__value{color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;margin-left:auto;font-weight:500}.transaction-row{border-bottom:1px solid var(--border-light);align-items:flex-start;gap:.6rem;padding:.65rem .6rem;display:flex}.transaction-row:last-child{border-bottom:none}.transaction-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:.35rem}.transaction-dot--income{background:var(--kpi-green)}.transaction-dot--expense{background:var(--kpi-red)}.transaction-info{flex:1;min-width:0}.transaction-desc{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:500;display:block;overflow:hidden}.transaction-detail{color:var(--text-muted);font-size:.7rem;display:block}.transaction-right{text-align:right;flex-shrink:0;min-width:90px}.transaction-amount{font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:600;display:block}.transaction-amount--positive{color:var(--text-primary)}.transaction-amount--negative{color:var(--kpi-red)}.transaction-time{color:var(--text-muted);font-size:.65rem;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-tabs{border-bottom:1px solid var(--border-color);gap:0;margin-bottom:1.5rem;padding:0;display:flex}.page-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;transition:color .15s,border-color .15s}.page-tab:hover{color:var(--text-primary)}.page-tab--active{color:var(--accent);border-bottom-color:var(--accent)}.content-loading{opacity:.5;pointer-events:none;transition:opacity .15s}.kpi-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.kpi-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;gap:.75rem;padding:1.25rem;transition:all .2s;display:flex}.kpi-card__header{align-items:center;gap:.75rem;display:flex}.kpi-card:hover{box-shadow:var(--shadow-card);border-color:#ffffff1f}.kpi-card__icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.kpi-card__icon--blue{color:var(--kpi-blue);background:#4a9eff26}.kpi-card__icon--green{color:var(--kpi-green);background:#4ade8026}.kpi-card__icon--yellow{color:var(--kpi-yellow);background:#fbbf2426}.kpi-card__icon--red{color:var(--kpi-red);background:#f8717126}.kpi-card__icon--purple{color:var(--kpi-purple);background:#a78bfa26}.kpi-card__icon--cyan{color:var(--kpi-cyan);background:#22d3ee26}.kpi-card__content{text-align:center;flex:1;align-self:center;width:100%;min-width:0}.kpi-card__label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:.25rem;font-size:.7rem;font-weight:600}.kpi-card__value{color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1.2}.kpi-card__change{justify-content:center;align-items:center;gap:.25rem;margin-top:.35rem;font-size:.75rem;display:flex}.kpi-card__change--up{color:var(--success)}.kpi-card__change--down{color:var(--error)}.kpi-card__change--neutral{color:var(--text-muted)}.page-header{margin-bottom:1.5rem}.page-header h1{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:700}.page-header p{color:var(--text-secondary);margin:.25rem 0 0;font-size:.875rem}.data-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:1.5rem;padding:1.5rem}.data-panel__header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.data-panel__title{color:var(--text-primary);font-size:1rem;font-weight:600}.search-bar{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);flex:1;align-items:center;gap:.5rem;max-width:600px;padding:.6rem 1rem;display:flex}.search-bar input{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;font-size:.875rem}.search-bar input::placeholder{color:var(--text-muted)}.status-badge{border-radius:99px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.7rem;font-weight:600;display:inline-flex}.status-badge--active{color:var(--success);background:#4ade8026}.status-badge--occupied{color:var(--accent);background:#4a9eff26}.status-badge--vacant{color:var(--warning);background:#fbbf2426}.status-badge--notice{color:var(--error);background:#f8717126}.status-badge--open{color:var(--accent);background:#4a9eff26}.status-badge--in-progress{color:var(--warning);background:#fbbf2426}.status-badge--pending{color:var(--kpi-purple);background:#a78bfa26}.status-badge--completed{color:var(--success);background:#4ade8026}.status-badge--to-do{color:#94a3b8;background:#94a3b826}.priority-badge{border-radius:var(--radius-sm);padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.priority-badge--high{color:var(--error);background:#f8717126}.priority-badge--medium{color:var(--warning);background:#fbbf2426}.priority-badge--low{color:var(--accent);background:#4a9eff26}.priority-badge--urgent{color:#f87171;background:#dc262633}.occupancy-bar{vertical-align:middle;background:#ffffff14;border-radius:3px;width:60px;height:6px;margin-left:.5rem;display:inline-block;overflow:hidden}.occupancy-bar__fill{background:var(--accent);border-radius:3px;height:100%;transition:width .3s}.pagination{justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;font-size:.8rem;display:flex}.pagination__btn{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-card);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;transition:all .15s;display:flex}.pagination__btn:hover{border-color:var(--accent);color:var(--accent)}.pagination__btn--active{background:var(--accent);border-color:var(--accent);color:#fff}.pagination__info{color:var(--text-secondary);font-size:.8rem}@media (max-width:768px){.list-table,.breakdown-table,.report-table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}body{overflow-x:hidden}.kpi-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.kpi-cards{grid-template-columns:1fr}}button{transition:background-color .15s,border-color .15s,transform .1s}button:hover:not(:disabled){transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}input,select,textarea{transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light);outline:none}table tbody tr{transition:background-color .1s}a{transition:color .15s}[data-tooltip]{cursor:pointer;position:relative}[data-tooltip]:after{content:attr(data-tooltip);color:#ddd;white-space:pre-line;z-index:9999;pointer-events:none;opacity:0;background:#1a1a2e;border:1px solid #444;border-radius:6px;width:max-content;max-width:340px;padding:10px 14px;font-size:12px;font-weight:400;line-height:1.5;transition:opacity .2s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0009}[data-tooltip]:hover:after{opacity:1}[data-tooltip]:before{content:"";z-index:10000;pointer-events:none;opacity:0;border:6px solid #0000;border-top-color:#444;transition:opacity .2s;position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%)}[data-tooltip]:hover:before{opacity:1}.btn-icon{cursor:pointer;color:var(--text-secondary,#aaa);-webkit-font-smoothing:antialiased;border:1px solid #ffffff1a;border-radius:4px;padding:.3rem .5rem;font-family:Segoe UI Symbol,Apple Symbols,sans-serif;font-size:.75rem;line-height:1;transition:all .15s;background:0 0!important}.btn-icon:hover{color:var(--text-primary,#eee);border-color:#ffffff40;background:#ffffff14!important}.btn-icon--danger{color:var(--text-secondary,#aaa)}.btn-icon--danger:hover{color:#f87171;border-color:#dc35454d;background:#dc35451f!important}.deal-action-btn{cursor:pointer;color:var(--text-secondary,#aaa);background:0 0;border:1px solid #ffffff1a;border-radius:4px;padding:.3rem .5rem;font-family:Segoe UI Symbol,Apple Symbols,sans-serif;font-size:.75rem;transition:all .15s}.deal-action-btn:hover{color:var(--text-primary,#eee);background:#ffffff14;border-color:#ffffff40}.deal-action-btn--danger:hover{color:#f87171;background:#dc35451f;border-color:#dc35454d}.toast-container{z-index:99999;pointer-events:none;flex-direction:column;gap:.5rem;max-width:420px;display:flex;position:fixed;top:1rem;right:1rem}.toast{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;pointer-events:auto;cursor:pointer;background:#2d3748f2;border-left:4px solid;border-radius:6px;align-items:center;gap:.75rem;padding:1rem 1.25rem;font-size:.9rem;font-weight:500;transition:opacity .2s,transform .2s;animation:.3s ease-out toast-slide-in;display:flex;box-shadow:0 8px 32px #0000004d}.toast:hover{opacity:.95;transform:translate(-2px)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast--success{border-left-color:#28a745}.toast--error{border-left-color:#dc3545}.toast--warning{border-left-color:#f59e0b}.toast--info{border-left-color:#3b82f6}.toast-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;font-weight:700;display:flex}.toast--success .toast-icon{color:#fff;background:#28a745}.toast--error .toast-icon{color:#fff;background:#dc3545}.toast--warning .toast-icon{color:#1e1e1e;background:#f59e0b}.toast--info .toast-icon{color:#fff;background:#3b82f6}.toast-message{flex:1;line-height:1.3}.toast-close{color:#fff9;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 .25rem;font-size:1.2rem;line-height:1;transition:color .15s}.toast-close:hover{color:#fff}@media (max-width:480px){.toast-container{max-width:none;left:1rem;right:1rem}}*,:before,:after{transition-duration:1s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;animation-duration:1s!important}.dashboard-card:hover .card-icon--moneybag .coin-1,.dashboard-card:hover .card-icon--moneybag .coin-2,.dashboard-card:hover .card-icon--moneybag .coin-3,.dashboard-card:hover .card-icon--moneybag .coin-4,.dashboard-card:hover .card-icon--moneybag .coin-5,.dashboard-card:hover .card-icon--moneybag .coin-6,.dashboard-card:hover .card-icon--moneybag .coin-7,.dashboard-card:hover .card-icon--moneybag .coin-8{animation-duration:1.8s!important}.dashboard-card:hover .card-icon--chart .chart-bar-1,.dashboard-card:hover .card-icon--chart .chart-bar-2,.dashboard-card:hover .card-icon--chart .chart-bar-3,.dashboard-card:hover .card-icon--chart .chart-bar-4{animation-duration:1.2s!important}.dashboard-card:hover .card-icon--clock .clock-minute{animation-duration:2s!important}.dashboard-card:hover .card-icon--clock .clock-hour{animation-duration:6s!important}.dashboard-card:hover .card-icon--creditcard .nfc-wave-1,.dashboard-card:hover .card-icon--creditcard .nfc-wave-2,.dashboard-card:hover .card-icon--creditcard .nfc-wave-3{animation-duration:1s!important}.collapsible-wrapper{transition-property:height,opacity!important;transition-duration:1s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.toast-container,.toast-container *{transition-duration:.3s!important;animation-duration:.3s!important}
