.toast-tray{position:fixed;bottom:1.25rem;right:1.25rem;display:flex;flex-direction:column;gap:.5rem;z-index:2000;max-width:420px}.toast{background:#1f2937;color:#f9fafb;padding:.6rem .9rem;border-radius:6px;box-shadow:0 6px 18px #0003;cursor:pointer;font-size:.85rem;border-left:3px solid #4b5563}.toast[data-level=success]{border-left-color:#16a34a}.toast[data-level=error]{border-left-color:#dc2626}.toast[data-level=info]{border-left-color:#2563eb}.brand-switcher select[data-v-c6fce2a8]{background:transparent;color:inherit;border:1px solid #d1d5db;border-radius:4px;padding:.25rem .5rem;font-size:.85rem;cursor:pointer}.brand-switcher select[data-v-c6fce2a8]:hover{border-color:#9ca3af}.visually-hidden[data-v-c6fce2a8]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.theme-toggle[data-v-e8fe835b]{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border-radius:4px;font-size:.78rem;background:var(--surface, white);color:var(--text-muted, #6b7280);border:1px solid var(--border, #d1d5db);cursor:pointer}.theme-toggle[data-v-e8fe835b]:hover{background:var(--surface-2, #f3f4f6);color:var(--text-strong, #111827)}.icon[data-v-e8fe835b]{font-size:.95rem;line-height:1}.lbl[data-v-e8fe835b]{white-space:nowrap}.locale-switcher[data-v-e887be1d]{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .55rem;border-radius:4px;font-size:.78rem;background:var(--surface, white);color:var(--text-muted, #6b7280);border:1px solid var(--border, #d1d5db)}.locale-switcher[data-v-e887be1d]:hover{background:var(--surface-2, #f3f4f6);color:var(--text-strong, #111827)}.locale-switcher .icon[data-v-e887be1d]{font-size:.95rem;line-height:1}.locale-switcher select[data-v-e887be1d]{appearance:none;background:transparent;color:inherit;border:none;font:inherit;cursor:pointer;padding:0 .1rem}.locale-switcher select[data-v-e887be1d]:focus{outline:none}.visually-hidden[data-v-e887be1d]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.bell-wrap[data-v-79d3dd72]{position:relative;display:inline-flex;align-items:center}.bell-btn[data-v-79d3dd72]{position:relative;background:transparent;border:1px solid transparent;padding:.25rem .45rem;border-radius:4px;cursor:pointer;font-size:1.05rem;line-height:1}.bell-btn[data-v-79d3dd72]:hover,.bell-btn.active[data-v-79d3dd72]{background:var(--surface-3);border-color:var(--border)}.bell-icon[data-v-79d3dd72]{display:inline-block}.badge[data-v-79d3dd72]{position:absolute;top:-4px;right:-6px;min-width:18px;height:18px;padding:0 4px;background:#b91c1c;color:#fff;font-size:.7rem;font-weight:600;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.dropdown[data-v-79d3dd72]{position:absolute;top:calc(100% + .5rem);right:0;min-width:320px;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000014;z-index:50;overflow:hidden}.dropdown-head[data-v-79d3dd72]{display:flex;align-items:baseline;justify-content:space-between;padding:.6rem .85rem;background:var(--surface-2);border-bottom:1px solid var(--border)}.muted[data-v-79d3dd72]{font-size:.8rem;color:var(--text-muted)}.dd-state[data-v-79d3dd72]{padding:.85rem;color:var(--text-muted);font-size:.9rem}.dd-list[data-v-79d3dd72]{list-style:none;margin:0;padding:0;max-height:360px;overflow-y:auto}.dd-item[data-v-79d3dd72]{padding:.55rem .85rem;border-bottom:1px solid var(--border);cursor:pointer;border-left:3px solid #1e40af}.dd-item[data-v-79d3dd72]:last-child{border-bottom:none}.dd-item[data-v-79d3dd72]:hover{background:var(--surface-2)}.dd-item.severity-warning[data-v-79d3dd72]{border-left-color:#b45309}.dd-item.severity-critical[data-v-79d3dd72]{border-left-color:#b91c1c}.dd-title[data-v-79d3dd72]{font-weight:600;color:var(--text-strong);font-size:.9rem}.dd-body[data-v-79d3dd72]{font-size:.8rem;color:var(--text-muted);margin-top:.2rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.dropdown-foot[data-v-79d3dd72]{padding:.5rem .85rem;background:var(--surface-2);border-top:1px solid var(--border);display:flex;justify-content:flex-end}.link-all[data-v-79d3dd72]{background:transparent;border:none;color:var(--accent);cursor:pointer;font-size:.85rem;padding:.15rem .3rem}.link-all[data-v-79d3dd72]:hover{text-decoration:underline}:root{font-family:system-ui,-apple-system,sans-serif;font-size:14px;color-scheme:light;--bg: #f5f6f8;--surface: #ffffff;--surface-2: #f9fafb;--surface-3: #f3f4f6;--text: #1f2937;--text-strong: #111827;--text-muted: #6b7280;--border: #e5e7eb;--border-strong: #d1d5db;--accent: #ff0083;--accent-strong: #cc006a;--accent-bg: #fde7f0;--error: #b91c1c;--error-bg: #fef2f2;--error-border: #fecaca;--success: #166534;--success-bg: #dcfce7;--warn: #92400e;--warn-bg: #fef3c7;--sidebar-bg: #9c1f4f;--sidebar-bg-2: #b02560;--sidebar-text: #f9e3ec;--sidebar-text-muted: #e3a4bd;--sidebar-active-bg: #ff0083;--sidebar-active-text: #ffffff;--sidebar-border: #862043}:root[data-theme=dark]{color-scheme:dark;--bg: #1a141a;--surface: #241c25;--surface-2: #2c2330;--surface-3: #3a2e3e;--text: #e2d4dc;--text-strong: #f5ebef;--text-muted: #a89aa1;--border: #3d2d39;--border-strong: #523c4d;--accent: #ff5fa8;--accent-strong: #ff8cc1;--accent-bg: #3a1a2c;--error: #fca5a5;--error-bg: #3a1d1d;--error-border: #6e2424;--success: #86efac;--success-bg: #1a3325;--warn: #fcd34d;--warn-bg: #3a2e0e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}.layout{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.layout.no-sidebar{grid-template-columns:1fr}.content{display:flex;flex-direction:column;min-width:0}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.brand-block{display:block;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--sidebar-border);text-decoration:none;color:inherit}.brand-block:hover{opacity:.92}.brand-logo{display:block;width:92px;height:auto;filter:brightness(0) invert(1)}.brand-sub{margin-top:.45rem;font-size:.8rem;color:var(--sidebar-text-muted);letter-spacing:.02em}.sidebar .nav{display:flex;flex-direction:column;gap:.15rem;padding:.75rem .6rem;flex:1}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.55rem .8rem;border-radius:8px;color:var(--sidebar-text);text-decoration:none;font-size:.92rem;line-height:1.2}.nav-item svg{width:18px;height:18px;flex-shrink:0;opacity:.85}.nav-item:hover{background:var(--sidebar-bg-2);color:#fff}.nav-item.router-link-active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:600}.nav-item.router-link-active svg{opacity:1}.nav-section{margin:.85rem 0 .3rem;padding:0 .85rem}.nav-section-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--sidebar-text-muted)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border)}.topbar-left{display:flex;align-items:center;gap:.75rem}.topbar-right{display:flex;align-items:center;gap:.6rem;color:var(--text-muted)}.user-dropdown{position:relative}.user-trigger{display:inline-flex;align-items:center;gap:.45rem;background:transparent;border:1px solid transparent;padding:.3rem .6rem;border-radius:6px;color:var(--text);cursor:pointer}.user-trigger:hover{background:var(--surface-3);border-color:var(--border)}.user-icon{width:16px;height:16px;opacity:.8}.user-trigger .caret{font-size:.75rem;color:var(--text-muted)}.dropdown-menu{position:absolute;right:0;top:calc(100% + .25rem);background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 14px #0000001f;display:flex;flex-direction:column;min-width:200px;padding:.25rem 0;z-index:50}.menu-item{text-align:left;background:transparent;border:0;border-radius:0;padding:.55rem .95rem;color:var(--text);font-size:.9rem;cursor:pointer}.menu-item:hover{background:var(--accent-bg);color:var(--accent-strong)}.logout-direct{display:inline-flex;align-items:center;gap:.4rem;background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:.35rem .7rem;border-radius:6px;font-size:.85rem}.logout-direct svg{width:16px;height:16px}.logout-direct:hover{background:var(--surface-3);color:var(--text-strong)}button{cursor:pointer;padding:.35rem .85rem;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-strong);border-radius:6px}button:hover{background:var(--surface-3)}main{flex:1;padding:1.75rem 2rem;width:100%;max-width:1400px;margin:0 auto}.btn-primary{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.btn-primary:hover:not(:disabled){background:var(--accent-strong)!important;border-color:var(--accent-strong)!important}html[data-theme=dark] label,html[data-theme=dark] dt{color:var(--text)}html[data-theme=dark] .hint,html[data-theme=dark] .muted{color:var(--text-muted)}html[data-theme=dark] .panel,html[data-theme=dark] .kpi,html[data-theme=dark] .card,html[data-theme=dark] .report-card,html[data-theme=dark] .state-group,html[data-theme=dark] .address-card,html[data-theme=dark] .filter-bar,html[data-theme=dark] .copy-from,html[data-theme=dark] .billing-profiles,html[data-theme=dark] .role-matrix-wrap,html[data-theme=dark] .login{background:var(--surface);border-color:var(--border);color:var(--text)}html[data-theme=dark] .kpi.alert,html[data-theme=dark] .state.error{background:var(--error-bg);border-color:var(--error-border);color:var(--text)}html[data-theme=dark] .state.error{color:var(--error)}html[data-theme=dark] .diff-row.kind-removed .before pre,html[data-theme=dark] .diff-row.kind-changed .before pre{background:var(--error-bg);color:var(--error)}html[data-theme=dark] .diff-row.kind-added .after pre,html[data-theme=dark] .diff-row.kind-changed .after pre{background:var(--success-bg);color:var(--success)}html[data-theme=dark] .state-pill[data-state=INACTIVE],html[data-theme=dark] .status[data-status=INACTIVE]{background:var(--error-bg);color:var(--error)}html[data-theme=dark] .btn-secondary{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}html[data-theme=dark] .btn-secondary:hover:not(:disabled),html[data-theme=dark] .btn-link:hover,html[data-theme=dark] .btn-clear:not(:disabled):hover,html[data-theme=dark] .preset-chip:hover{background:var(--surface-3)}html[data-theme=dark] h1,html[data-theme=dark] h2,html[data-theme=dark] h3,html[data-theme=dark] h4{color:var(--text-strong)}html[data-theme=dark] .metric,html[data-theme=dark] .report-card header h3,html[data-theme=dark] .task-list a,html[data-theme=dark] .data-table a,html[data-theme=dark] .dialog-close:hover:not(:disabled){color:var(--text-strong)}html[data-theme=dark] .kpi .metric,html[data-theme=dark] .kpi .num,html[data-theme=dark] .panel .metric{color:var(--text-strong)}html[data-theme=dark] .section,html[data-theme=dark] .copy-label,html[data-theme=dark] .lines-block-head h3,html[data-theme=dark] .lines-toolbar h3,html[data-theme=dark] .contact-info,html[data-theme=dark] .when,html[data-theme=dark] .timeline .actor,html[data-theme=dark] .btn-clear,html[data-theme=dark] .preview-label,html[data-theme=dark] .preview-source{color:var(--text)}html[data-theme=dark] .tab:hover{color:var(--text-strong)}html[data-theme=dark] .tab.active,html[data-theme=dark] .role-cell.on{color:var(--accent-strong);border-bottom-color:var(--accent)}html[data-theme=dark] .tag,html[data-theme=dark] .entity-link,html[data-theme=dark] .timeline .action,html[data-theme=dark] .role-chip[data-state=on],html[data-theme=dark] .status,html[data-theme=dark] .state-pill[data-state=PROSPECT]{background:var(--accent-bg);color:var(--accent-strong);border-color:var(--border)}html[data-theme=dark] .data-table th,html[data-theme=dark] .audit-table th,html[data-theme=dark] .lines-table th,html[data-theme=dark] .role-matrix th,html[data-theme=dark] .invoice-lines th,html[data-theme=dark] .diff-table th{background:var(--surface-2);color:var(--text-muted);border-color:var(--border)}html[data-theme=dark] .audit-table tr.row:hover,html[data-theme=dark] .data-table tbody tr:hover,html[data-theme=dark] .invoice-row:hover{background:var(--surface-3)}html[data-theme=dark] .line-row,html[data-theme=dark] .copy-from,html[data-theme=dark] .dialog-foot,html[data-theme=dark] .invoice-detail-row>td{background:var(--surface-2);border-color:var(--border)}html[data-theme=dark] .data-table,html[data-theme=dark] .lines-table,html[data-theme=dark] .role-matrix,html[data-theme=dark] .invoice-lines,html[data-theme=dark] .diff-table{background:var(--surface);color:var(--text)}html[data-theme=dark] .data-table td,html[data-theme=dark] .lines-table td,html[data-theme=dark] .role-matrix td,html[data-theme=dark] .invoice-lines td,html[data-theme=dark] .diff-table td{border-color:var(--border)}html[data-theme=dark] .invoice-row:hover,html[data-theme=dark] .data-table tbody tr:hover{background:var(--surface-2)}html[data-theme=dark] .invoice-detail-row>td{background:var(--surface-2)}html[data-theme=dark] input[type=text],html[data-theme=dark] input[type=email],html[data-theme=dark] input[type=password],html[data-theme=dark] input[type=number],html[data-theme=dark] input[type=date],html[data-theme=dark] input[type=datetime-local],html[data-theme=dark] input[type=search],html[data-theme=dark] select,html[data-theme=dark] textarea{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:var(--text-muted)}html[data-theme=dark] .dialog{background:var(--surface);color:var(--text)}html[data-theme=dark] .dialog-head,html[data-theme=dark] .dialog-foot{background:var(--surface-2);border-color:var(--border)}html[data-theme=dark] .dialog-error{background:var(--error-bg);color:var(--error);border-color:var(--error-border)}html[data-theme=dark] .state-pill{background:var(--surface-3);color:var(--text)}html[data-theme=dark] .state-pill[data-state=ACTIVE]{background:#14361f;color:#86efac}html[data-theme=dark] .state-pill[data-state=DRAFT]{background:#1e3a5f;color:#bfdbfe}html[data-theme=dark] .state-pill[data-state=SIGNED]{background:#3d2e0a;color:#fcd34d}html[data-theme=dark] .state-pill[data-state=SUSPENDED],html[data-theme=dark] .state-pill[data-state=DISPUTED],html[data-theme=dark] .state-pill[data-state=PUSH_FAILED]{background:#3f1d1d;color:#fca5a5}html[data-theme=dark] .state-pill[data-state=PUSHED]{background:#14361f;color:#86efac}html[data-theme=dark] .state-pill[data-state=QUEUED]{background:#3d2e0a;color:#fcd34d}html[data-theme=dark] .tag,html[data-theme=dark] .preset-chip{background:var(--surface-3);color:var(--text);border-color:var(--border)}html[data-theme=dark] .preset-chip.active{background:var(--accent);color:var(--surface);border-color:var(--accent)}html[data-theme=dark] .tag-add input{background:var(--surface-2);color:var(--text)}html[data-theme=dark] .login{box-shadow:0 1px 3px #0006}html[data-theme=dark] .kpi-link,html[data-theme=dark] .see-all{color:var(--accent)}html[data-theme=dark] .task-list a,html[data-theme=dark] .data-table a{color:var(--text-strong)}html[data-theme=dark] .task-list a:hover,html[data-theme=dark] .data-table a:hover{color:var(--accent)}html[data-theme=dark] .timeline .actor{color:var(--text)}html[data-theme=dark] .kpi.alert{background:var(--error-bg);border-color:var(--error-border)}html[data-theme=dark] .task-list li,html[data-theme=dark] .data-table td,html[data-theme=dark] .timeline li{border-color:var(--border)}html[data-theme=dark] .role-name,html[data-theme=dark] .resource-name{color:var(--text-strong)}html[data-theme=dark] .action-name,html[data-theme=dark] .vars-desc,html[data-theme=dark] .field span,html[data-theme=dark] .field label,html[data-theme=dark] .check,html[data-theme=dark] .copy-label,html[data-theme=dark] form label>span,html[data-theme=dark] .lines-block-head h3,html[data-theme=dark] .lines-toolbar h3,html[data-theme=dark] .when{color:var(--text)}html[data-theme=dark] .brand-summary-table{background:var(--surface);border-color:var(--border);color:var(--text)}html[data-theme=dark] .brand-summary-table th{background:var(--surface-2);color:var(--text-muted)}html[data-theme=dark] .brand-summary-table th,html[data-theme=dark] .brand-summary-table td{border-color:var(--border)}html[data-theme=dark] .cat-group{background:var(--surface);border-color:var(--border);color:var(--text)}html[data-theme=dark] .data-table tr.row:hover{background:var(--surface-2)}html[data-theme=dark] .row-link{color:var(--accent)}html[data-theme=dark] .filter-bar input,html[data-theme=dark] .filter-bar select,html[data-theme=dark] .filter input,html[data-theme=dark] .filter select,html[data-theme=dark] .filters input,html[data-theme=dark] .filters select,html[data-theme=dark] .saved-view-select{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}html[data-theme=dark] .filter-label,html[data-theme=dark] .saved-view-label>span{color:var(--text-muted)}html[data-theme=dark] input:disabled,html[data-theme=dark] select:disabled,html[data-theme=dark] textarea:disabled{background:var(--surface-3);color:var(--text-muted);border-color:var(--border)}html[data-theme=dark] .role-chip{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}html[data-theme=dark] .role-chip[data-state=on]{background:var(--accent-bg);color:var(--accent-strong);border-color:var(--border-strong)}html[data-theme=dark] .role-chip[data-state=primary]{background:var(--accent);color:#fff;border-color:var(--accent)}html[data-theme=dark] .btn-clear{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}html[data-theme=dark] .sidebar{background:var(--sidebar-bg);color:var(--sidebar-text)}
