.shell[data-v-84d94b28]{display:grid;grid-template-columns:224px 1fr;height:100%}.sidebar[data-v-84d94b28]{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-8) var(--space-6);background:var(--surface);border-right:1px solid var(--line)}.brand[data-v-84d94b28]{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4) var(--space-8)}.brand-mark[data-v-84d94b28]{color:var(--accent);font-size:var(--text-xl)}.brand-name[data-v-84d94b28]{font-weight:var(--weight-bold);font-size:var(--text-md);letter-spacing:var(--tracking-tight)}.nav[data-v-84d94b28]{display:flex;flex-direction:column;gap:var(--space-1)}.nav-item[data-v-84d94b28]{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);color:var(--text-muted);font-weight:var(--weight-medium)}.nav-item[data-v-84d94b28]:hover{background:var(--surface-sunk);color:var(--text)}.nav-item.active[data-v-84d94b28]{background:var(--accent-soft);color:var(--accent-ink)}.nav-icon[data-v-84d94b28]{width:18px;text-align:center}.nav-badge[data-v-84d94b28]{margin-left:auto;background:var(--accent);color:var(--text-on-accent);font-size:var(--text-2xs);padding:1px 6px;border-radius:var(--radius-pill)}.add-btn[data-v-84d94b28]{justify-content:center}.main[data-v-84d94b28]{display:flex;flex-direction:column;min-width:0}.topbar[data-v-84d94b28]{display:flex;align-items:center;gap:var(--space-6);height:52px;padding:0 var(--space-12);border-bottom:1px solid var(--line);background:var(--surface)}.user-menu[data-v-84d94b28]{position:relative}.avatar[data-v-84d94b28]{width:32px;height:32px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--line);font-weight:var(--weight-semi);font-size:var(--text-xs)}.menu-pop[data-v-84d94b28]{position:absolute;right:0;top:40px;width:220px;padding:var(--space-4);box-shadow:var(--shadow-e2);z-index:20}.menu-head[data-v-84d94b28]{padding:var(--space-4)}.menu-name[data-v-84d94b28]{font-weight:var(--weight-semi)}.menu-email[data-v-84d94b28]{font-size:var(--text-xs)}.menu-logout[data-v-84d94b28]{width:100%;justify-content:flex-start;margin-top:var(--space-2)}.content[data-v-84d94b28]{flex:1;overflow:auto;padding:var(--space-12)}.boot[data-v-0f054cb0]{display:grid;place-items:center;height:100%;color:var(--text-muted)}:root{--slate-25: #f7f9fb;--slate-50: #eef2f5;--slate-100: #e3eaef;--slate-150: #dce4ea;--slate-200: #c8d4dc;--slate-300: #a9b8c2;--slate-400: #8697a3;--slate-500: #5c6f7d;--slate-600: #45565f;--slate-700: #32454f;--slate-750: #253440;--slate-800: #18262f;--slate-850: #131f28;--slate-900: #0e1922;--slate-950: #0b1219;--teal-50: #e6f6f8;--teal-100: #cbecf1;--teal-200: #9fdbe4;--teal-300: #5cc3d3;--teal-400: #22b5c9;--teal-500: #0d8ea1;--teal-600: #0a7383;--teal-700: #0a5c68;--teal-800: #0c4954;--green-100:#d8f0e4;--green-300:#5fc79a;--green-500:#118a63;--green-600:#0e6f50;--green-d-soft:#123a2b;--green-d-ink:#6bd6a4;--amber-100:#fbeed6;--amber-300:#e0a34e;--amber-500:#c77a17;--amber-600:#9a5f10;--amber-d-soft:#3a2a12;--amber-d-ink:#f0c283;--red-100:#fadfd9;--red-300:#e5765d;--red-500:#d0563f;--red-600:#a63c28;--red-d-soft:#3d1e17;--red-d-ink:#f2a894;--clay-100:#f3e2d1;--clay-500:#a86a33;--clay-d-soft:#3a2717;--clay-d-ink:#e0a870;--white:#ffffff;--black:#05090d;--space-0:0;--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:10px;--space-6:12px;--space-8:16px;--space-10:20px;--space-12:24px;--space-16:32px;--space-20:40px;--space-24:48px;--radius-xs:4px;--radius-sm:5px;--radius-md:9px;--radius-lg:13px;--radius-xl:18px;--radius-pill:999px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, "Helvetica Neue", Arial, sans-serif;--font-num: "SF Mono", ui-monospace, "Cascadia Code", "Roboto Mono", Menlo, Consolas, monospace;--text-2xs:10.5px;--text-xs:11.5px;--text-sm:12.5px;--text-base:13.5px;--text-md:15px;--text-lg:17px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--leading-tight:1.25;--leading-normal:1.45;--leading-relaxed:1.6;--weight-normal:400;--weight-medium:500;--weight-semi:600;--weight-bold:700;--tracking-label:.08em;--tracking-tight:-.02em;--dur-fast:.12s;--dur-base:.18s;--dur-slow:.24s;--ease-standard:cubic-bezier(.2,.6,.2,1);--ease-out:cubic-bezier(.16,1,.3,1);--bg: var(--slate-50);--surface: var(--white);--surface-2: var(--slate-25);--surface-sunk: var(--slate-100);--line: var(--slate-150);--line-strong: var(--slate-200);--text: #15212c;--text-muted: var(--slate-500);--text-faint: var(--slate-400);--text-on-accent:#ffffff;--accent: var(--teal-500);--accent-hover: var(--teal-600);--accent-soft: #d3eef2;--accent-ink: var(--teal-700);--ring: var(--teal-500);--success: var(--green-500);--success-soft:var(--green-100);--success-ink:#186a48;--warning: var(--amber-500);--warning-soft:var(--amber-100);--warning-ink:var(--amber-600);--danger: var(--red-500);--danger-soft:var(--red-100);--danger-ink:var(--red-600);--fee-zero-soft:var(--green-100);--fee-zero-ink:#186a48;--fee-zero-line:#b6e3ce;--fee-paid-soft:var(--clay-100);--fee-paid-ink:#8a531f;--fee-paid-line:#e6c9a8;--age-ok:var(--text-muted);--age-warn-ink:var(--amber-600);--age-warn-soft:var(--amber-100);--age-warn-rail:var(--amber-500);--age-stall-ink:var(--red-600);--age-stall-soft:var(--red-100);--age-stall-rail:var(--red-500);--shadow-e1: 0 1px 2px rgba(16,24,32,.07), 0 1px 1px rgba(16,24,32,.04);--shadow-e2: 0 8px 24px -6px rgba(16,24,32,.18), 0 2px 6px rgba(16,24,32,.08);--shadow-drag: 0 12px 28px -8px rgba(10,92,104,.35);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: var(--slate-950);--surface: var(--slate-850);--surface-2: var(--slate-800);--surface-sunk: var(--slate-900);--line: var(--slate-750);--line-strong: var(--slate-700);--text: #e4edf2;--text-muted: #8ba0ad;--text-faint: #64757f;--text-on-accent:#04191d;--accent: var(--teal-400);--accent-hover: var(--teal-300);--accent-soft: #123840;--accent-ink: #7fe0ee;--ring: var(--teal-400);--success:#159a6e;--success-soft:var(--green-d-soft);--success-ink:var(--green-d-ink);--warning:var(--amber-300);--warning-soft:var(--amber-d-soft);--warning-ink:var(--amber-d-ink);--danger:var(--red-300);--danger-soft:var(--red-d-soft);--danger-ink:var(--red-d-ink);--fee-zero-soft:var(--green-d-soft);--fee-zero-ink:var(--green-d-ink);--fee-zero-line:#1e5540;--fee-paid-soft:var(--clay-d-soft);--fee-paid-ink:var(--clay-d-ink);--fee-paid-line:#5a3d22;--age-warn-ink:var(--amber-d-ink);--age-warn-soft:var(--amber-d-soft);--age-warn-rail:var(--amber-300);--age-stall-ink:var(--red-d-ink);--age-stall-soft:var(--red-d-soft);--age-stall-rail:var(--red-300);--shadow-e1: 0 1px 0 rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.02);--shadow-e2: 0 12px 32px -8px rgba(0,0,0,.6), 0 2px 8px rgba(0,0,0,.4);--shadow-drag: 0 16px 36px -10px rgba(0,0,0,.7);color-scheme:dark}}:root[data-theme=dark]{--bg:var(--slate-950);--surface:var(--slate-850);--surface-2:var(--slate-800);--surface-sunk:var(--slate-900);--line:var(--slate-750);--line-strong:var(--slate-700);--text:#e4edf2;--text-muted:#8ba0ad;--text-faint:#64757f;--text-on-accent:#04191d;--accent:var(--teal-400);--accent-hover:var(--teal-300);--accent-soft:#123840;--accent-ink:#7fe0ee;--ring:var(--teal-400);--success:#159a6e;--success-soft:var(--green-d-soft);--success-ink:var(--green-d-ink);--warning:var(--amber-300);--warning-soft:var(--amber-d-soft);--warning-ink:var(--amber-d-ink);--danger:var(--red-300);--danger-soft:var(--red-d-soft);--danger-ink:var(--red-d-ink);--fee-zero-soft:var(--green-d-soft);--fee-zero-ink:var(--green-d-ink);--fee-zero-line:#1e5540;--fee-paid-soft:var(--clay-d-soft);--fee-paid-ink:var(--clay-d-ink);--fee-paid-line:#5a3d22;--age-warn-ink:var(--amber-d-ink);--age-warn-soft:var(--amber-d-soft);--age-warn-rail:var(--amber-300);--age-stall-ink:var(--red-d-ink);--age-stall-soft:var(--red-d-soft);--age-stall-rail:var(--red-300);--shadow-e1:0 1px 0 rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.02);--shadow-e2:0 12px 32px -8px rgba(0,0,0,.6), 0 2px 8px rgba(0,0,0,.4);--shadow-drag:0 16px 36px -10px rgba(0,0,0,.7);color-scheme:dark}:root[data-theme=light]{color-scheme:light}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}h1,h2,h3,h4{margin:0;font-weight:var(--weight-bold);line-height:var(--leading-tight)}button{font-family:inherit;font-size:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-xs)}.micro-label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-faint);font-weight:var(--weight-semi)}.btn{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-8);border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text);font-weight:var(--weight-medium);transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast)}.btn:hover{border-color:var(--accent)}.btn-primary{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--surface-sunk);border-color:transparent}.btn:disabled{opacity:.55;cursor:not-allowed}.input,.select,.textarea{width:100%;padding:var(--space-4) var(--space-6);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text);font-family:inherit;font-size:inherit}.textarea{resize:vertical;min-height:72px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.stack{display:flex;flex-direction:column}.row{display:flex;align-items:center}.spacer{flex:1}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}
