@import"https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500;600&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400&display=swap";.ts-wrap{position:relative}.ts-trigger{cursor:pointer;min-width:0}.ts-panel{position:absolute;top:calc(100% + 4px);right:0;min-width:280px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--r-md);box-shadow:var(--shadow-lg);z-index:var(--z-overlay);padding:var(--sp-2);animation:fadeIn var(--dur-base) var(--ease-out) both}.ts-header{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--fg-3);padding:var(--sp-2) var(--sp-3);font-weight:var(--fw-medium)}.ts-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-sm);width:100%;justify-content:space-between;background:transparent;border:0;text-align:left;cursor:pointer;color:var(--fg-1);font-family:var(--font-sans);transition:background var(--dur-fast) var(--ease-out)}.ts-row:hover{background:var(--bg-muted)}.ts-row.active{background:var(--ink-50);font-weight:var(--fw-medium)}.ts-row .ts-row-left{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.ts-row .ts-row-slug{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-row .check{width:14px;height:14px;flex-shrink:0;color:var(--amber-700)}.ts-empty{padding:var(--sp-2) var(--sp-3);font-size:13px;color:var(--fg-3)}.ts-error{padding:var(--sp-2) var(--sp-3);font-size:13px;color:var(--debit-700)}.ps-wrap{position:relative}.ps-trigger{cursor:pointer;min-width:0;display:inline-flex;align-items:center;gap:6px}.ps-trigger-label{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ps-panel{position:absolute;top:calc(100% + 4px);right:0;min-width:320px;max-width:420px;max-height:60vh;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--r-md);box-shadow:var(--shadow-lg);z-index:var(--z-overlay);padding:var(--sp-2);animation:fadeIn var(--dur-base) var(--ease-out) both}.ps-header{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--fg-3);padding:var(--sp-2) var(--sp-3);font-weight:var(--fw-medium)}.ps-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-sm);width:100%;justify-content:space-between;background:transparent;border:0;text-align:left;cursor:pointer;color:var(--fg-1);font-family:var(--font-sans);transition:background var(--dur-fast) var(--ease-out)}.ps-row:hover{background:var(--bg-muted)}.ps-row.active{background:var(--ink-50);font-weight:var(--fw-medium)}.ps-row .ps-row-left{display:flex;align-items:baseline;gap:var(--sp-2);min-width:0;flex:1}.ps-row .ps-row-code{font-family:var(--font-mono);font-size:12px;color:var(--fg-2);flex-shrink:0}.ps-row .ps-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg-1)}.ps-row .ps-check{width:14px;height:14px;flex-shrink:0;color:var(--amber-700)}.ps-empty{padding:var(--sp-2) var(--sp-3);font-size:13px;color:var(--fg-3)}.ps-error{padding:var(--sp-2) var(--sp-3);font-size:13px;color:var(--debit-700)}.dt-wrapper{overflow:hidden}.dt-toolbar{display:flex;justify-content:flex-end;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-subtle)}.dt-search{width:240px;font-size:var(--fs-sm)}.dt-scroll{overflow-x:auto}.dt-clickable{cursor:pointer}.dt-clickable:hover td{background:var(--paper-100)!important}.dt-empty{text-align:center!important;padding:var(--sp-10) var(--sp-5)!important;color:var(--fg-3);font-size:var(--fs-sm)}.dt-skeleton-row td{padding-top:11px!important;padding-bottom:11px!important}.dt-skeleton{display:block;height:12px;border-radius:var(--r-xs);background:linear-gradient(90deg,var(--paper-100) 25%,var(--paper-200) 50%,var(--paper-100) 75%);background-size:200% 100%;animation:dt-shimmer 1.4s ease-in-out infinite;width:80%}.dt-skeleton-row:nth-child(2n) .dt-skeleton{width:60%}.dt-skeleton-row:nth-child(3n) .dt-skeleton{width:70%}@keyframes dt-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dt-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#060c178c;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--sp-4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:dt-fade-in var(--dur-base) var(--ease-out) both}.dt-modal{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-lg);box-shadow:var(--shadow-xl);width:100%;max-width:480px;animation:dt-slide-up var(--dur-slow) var(--ease-out) both}.dt-modal-head{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-subtle)}.dt-modal-head h2{font-size:var(--fs-md);font-weight:var(--fw-semi)}.dt-modal-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--r-xs);color:var(--fg-3);transition:background var(--dur-fast)}.dt-modal-close:hover{background:var(--bg-muted);color:var(--fg-1)}.dt-modal-body{padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4)}.dt-field{display:flex;flex-direction:column;gap:var(--sp-1_5)}.dt-field label{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--fg-2);letter-spacing:var(--ls-snug)}.dt-field .input,.dt-field select{width:100%;padding:var(--sp-2) var(--sp-3);background:var(--bg-app);border:1px solid var(--border-default);border-radius:var(--r-xs);color:var(--fg-1);font-size:var(--fs-sm);outline:none;transition:border-color var(--dur-fast),box-shadow var(--dur-fast);font-family:var(--font-sans)}.dt-field .input:focus,.dt-field select:focus{border-color:var(--amber-500);box-shadow:var(--shadow-focus);background:var(--bg-surface)}.dt-modal-foot{padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border-subtle);display:flex;justify-content:flex-end;gap:var(--sp-2)}.dt-error-msg{font-size:var(--fs-xs);color:var(--debit-700);background:var(--debit-50);border:1px solid var(--debit-100);border-radius:var(--r-xs);padding:var(--sp-2) var(--sp-3)}@keyframes dt-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dt-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.md{color:var(--fg-2);line-height:var(--lh-loose);font-size:var(--fs-base)}.md h1{font-family:var(--font-serif);font-size:var(--fs-3xl);font-weight:var(--fw-medium);letter-spacing:-.02em;line-height:var(--lh-tight);color:var(--fg-1);margin:var(--sp-8) 0 var(--sp-4)}.md h1:first-child{margin-top:0}.md h2{font-family:var(--font-serif);font-size:var(--fs-2xl);font-weight:var(--fw-medium);letter-spacing:-.01em;line-height:var(--lh-snug);color:var(--fg-1);margin:var(--sp-6) 0 var(--sp-3)}.md h3{font-family:var(--font-sans);font-size:var(--fs-lg);font-weight:var(--fw-semi);color:var(--fg-1);margin:var(--sp-5) 0 var(--sp-2)}.md p{margin:0 0 var(--sp-4);color:var(--fg-2);line-height:var(--lh-loose)}.md ul{padding-left:var(--sp-6);margin:0 0 var(--sp-4)}.md li{margin-bottom:var(--sp-1);color:var(--fg-2);line-height:var(--lh-loose)}.md code{background:var(--bg-sunken);padding:1px 4px;border-radius:var(--r-xs);font-family:var(--font-mono);font-size:.9em;color:var(--fg-1)}.md pre{background:var(--bg-sunken);padding:var(--sp-4);border-radius:var(--r-sm);overflow:auto;margin:0 0 var(--sp-4);border:1px solid var(--border-subtle)}.md pre code{background:none;padding:0;border-radius:0;font-size:var(--fs-sm);color:var(--fg-1)}.md strong{font-weight:var(--fw-semi);color:var(--fg-1)}.md em{font-style:italic}.md a{color:var(--ink-700);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--ink-300)}.md a:hover{color:var(--ink-900);text-decoration-color:var(--amber-500)}:root{--ink-950: #060C17;--ink-900: #0A1628;--ink-800: #112238;--ink-700: #1E3A5F;--ink-600: #2F4E77;--ink-500: #4A6A92;--ink-400: #7089AE;--ink-300: #9DB0CC;--ink-200: #C6D2E3;--ink-100: #E4EAF2;--ink-50: #F3F5FA;--paper-50: #FAF8F3;--paper-100: #F5F2EA;--paper-200: #ECE7D9;--paper-0: #FFFFFF;--amber-900: #6B4F1B;--amber-700: #9B7528;--amber-500: #C89B3C;--amber-300: #E2C274;--amber-100: #F5E6BE;--amber-50: #FBF4DD;--credit-900: #13452B;--credit-700: #1F6E44;--credit-500: #2E9A5F;--credit-100: #D8EEE1;--credit-50: #EEF7F1;--debit-900: #5B1717;--debit-700: #8C2626;--debit-500: #B94848;--debit-100: #F3DADA;--debit-50: #FAEFEF;--warn-700: #9B7528;--warn-500: #C89B3C;--warn-100: #F5E6BE;--warn-50: #FBF4DD;--info-700: #1E3A5F;--info-500: #4A6A92;--info-100: #C6D2E3;--info-50: #E4EAF2;--bg-app: var(--paper-50);--bg-surface: var(--paper-0);--bg-sunken: var(--paper-100);--bg-inverse: var(--ink-900);--bg-muted: var(--ink-50);--fg-1: var(--ink-900);--fg-2: var(--ink-700);--fg-3: var(--ink-500);--fg-4: var(--ink-400);--fg-on-inverse: var(--paper-50);--fg-accent: var(--amber-700);--fg-link: var(--ink-700);--border-subtle: var(--ink-100);--border-default: var(--ink-200);--border-strong: var(--ink-300);--border-inverse: rgba(255,255,255,.1);--focus-ring: var(--amber-500);--font-sans: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;--font-serif: "Newsreader", "Source Serif Pro", Georgia, serif;--fs-micro: 11px;--fs-xs: 12px;--fs-sm: 13px;--fs-base: 14px;--fs-md: 16px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 28px;--fs-3xl: 36px;--fs-4xl: 48px;--fs-5xl: 64px;--fs-6xl: 88px;--lh-tight: 1.15;--lh-snug: 1.3;--lh-normal: 1.5;--lh-loose: 1.65;--ls-tight: -.02em;--ls-snug: -.01em;--ls-normal: 0;--ls-wide: .02em;--ls-caps: .08em;--fw-light: 300;--fw-regular: 400;--fw-medium: 500;--fw-semi: 600;--fw-bold: 700;--sp-0: 0;--sp-0_5: 2px;--sp-1: 4px;--sp-1_5: 6px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--sp-20: 80px;--sp-24: 96px;--sp-32: 128px;--r-none: 0;--r-xs: 2px;--r-sm: 4px;--r-md: 6px;--r-lg: 10px;--r-xl: 14px;--r-full: 9999px;--shadow-xs: 0 1px 0 0 rgba(10, 22, 40, .04);--shadow-sm: 0 1px 2px 0 rgba(10, 22, 40, .06), 0 0 0 1px rgba(10, 22, 40, .04);--shadow-md: 0 2px 4px -1px rgba(10, 22, 40, .08), 0 4px 8px -2px rgba(10, 22, 40, .06);--shadow-lg: 0 4px 12px -2px rgba(10, 22, 40, .1), 0 12px 24px -4px rgba(10, 22, 40, .08);--shadow-xl: 0 8px 28px -6px rgba(10, 22, 40, .16), 0 24px 48px -12px rgba(10, 22, 40, .12);--shadow-inner: inset 0 1px 2px 0 rgba(10, 22, 40, .06);--shadow-focus: 0 0 0 3px rgba(200, 155, 60, .32);--ease-out: cubic-bezier(.2, .7, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--dur-fast: .12s;--dur-base: .18s;--dur-slow: .28s;--sidebar-width: 240px;--sidebar-collapsed: 56px;--topbar-height: 52px;--container-narrow: 720px;--container: 1120px;--container-wide: 1280px;--z-base: 0;--z-raised: 10;--z-sticky: 20;--z-overlay: 30;--z-modal: 40;--z-toast: 50}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-app);color:var(--fg-1);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--fg-1);letter-spacing:var(--ls-tight);line-height:var(--lh-tight);font-weight:var(--fw-semi);margin:0}h1{font-size:var(--fs-4xl);letter-spacing:-.025em}h2{font-size:var(--fs-3xl)}h3{font-size:var(--fs-2xl)}h4{font-size:var(--fs-xl);font-weight:var(--fw-semi)}h5{font-size:var(--fs-lg);font-weight:var(--fw-semi)}h6{font-size:var(--fs-md);font-weight:var(--fw-semi)}p{margin:0;line-height:var(--lh-normal);color:var(--fg-2)}code,kbd,samp,pre,.mono{font-family:var(--font-mono);font-size:.95em}a{color:var(--fg-link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--ink-300);transition:color var(--dur-fast)}a:hover{color:var(--ink-900);text-decoration-color:var(--amber-500)}hr{border:0;border-top:1px solid var(--border-subtle);margin:var(--sp-6) 0}::selection{background:var(--amber-100);color:var(--ink-900)}button{cursor:pointer;font-family:var(--font-sans);border:none;background:none}input,textarea,select{font-family:var(--font-sans);font-size:var(--fs-base)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--ink-200);border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:var(--ink-300)}.app{display:grid;grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:var(--topbar-height) 1fr;grid-template-areas:"sidebar topbar" "sidebar main";height:100vh;background:var(--bg-app)}.app .sidebar{grid-area:sidebar;background:var(--bg-inverse);color:var(--fg-on-inverse);padding:var(--sp-4) var(--sp-3);overflow-y:auto}.app .topbar{grid-area:topbar;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;padding:0 var(--sp-5);gap:var(--sp-3)}.app .main{grid-area:main;overflow-y:auto;padding:var(--sp-6) var(--sp-8)}.sb-brand{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-1) var(--sp-2) var(--sp-5)}.sb-section{font-family:var(--font-mono);font-size:10px;letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--ink-400);padding:var(--sp-4) var(--sp-3) var(--sp-1_5)}.sb-item{display:flex;align-items:center;gap:var(--sp-3);padding:7px var(--sp-3);border-radius:var(--r-sm);color:var(--ink-200);font-size:var(--fs-sm);cursor:pointer;margin-bottom:1px;transition:background var(--dur-fast) var(--ease-out)}.sb-item:hover{background:#ffffff0d;color:var(--fg-on-inverse)}.sb-item.active{background:#ffffff14;color:var(--fg-on-inverse);font-weight:var(--fw-medium)}.sb-item .count{margin-left:auto;font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--amber-300)}.tb-search{flex:1;max-width:340px}.tb-search input{width:100%;padding:6px var(--sp-3);border:1px solid var(--border-default);border-radius:var(--r-xs);font-size:var(--fs-sm);background:var(--bg-app);outline:none;color:var(--fg-1)}.tb-search input::placeholder{color:var(--fg-4)}.tb-search input:focus{border-color:var(--amber-500);box-shadow:var(--shadow-focus);background:var(--bg-surface)}.tb-right{margin-left:auto;display:flex;align-items:center;gap:var(--sp-4)}.tb-tenant{display:flex;align-items:center;gap:var(--sp-2);padding:5px var(--sp-3);border:1px solid var(--border-default);border-radius:var(--r-xs);font-size:var(--fs-xs);color:var(--fg-2);cursor:pointer;background:var(--bg-app);transition:border-color var(--dur-fast)}.tb-tenant:hover{border-color:var(--border-strong)}.tb-tenant .dot{width:6px;height:6px;border-radius:var(--r-full);background:var(--credit-500)}.tb-avatar{width:28px;height:28px;border-radius:var(--r-full);background:var(--ink-700);color:var(--fg-on-inverse);display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-micro);font-weight:var(--fw-semi);font-family:var(--font-mono)}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-5)}.page-head h1{font-size:24px;font-weight:var(--fw-semi);letter-spacing:var(--ls-tight)}.page-head .sub{color:var(--fg-3);font-size:var(--fs-sm);margin-top:var(--sp-1)}.btn{font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:var(--fw-medium);padding:7px var(--sp-4);border-radius:var(--r-xs);border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:var(--sp-1_5);line-height:1;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out)}.btn-primary{background:var(--ink-900);color:var(--fg-on-inverse)}.btn-primary:hover{background:var(--ink-800)}.btn-secondary{background:var(--bg-surface);color:var(--ink-900);border-color:var(--border-default)}.btn-secondary:hover{background:var(--paper-100)}.btn-amber{background:var(--amber-500);color:var(--ink-900);font-weight:var(--fw-semi)}.btn-amber:hover{background:var(--amber-700);color:var(--fg-on-inverse)}.btn-ghost{background:transparent;color:var(--ink-700)}.btn-ghost:hover{background:var(--ink-50)}.btn-danger{background:var(--bg-surface);color:var(--debit-700);border-color:var(--debit-100)}.btn-sm{font-size:var(--fs-xs);padding:5px var(--sp-3)}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-md);box-shadow:var(--shadow-xs)}.card.hitl{border-left:3px solid var(--amber-500)}.card-head{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}.card-head h3{font-size:var(--fs-base);font-weight:var(--fw-semi)}.card-body{padding:var(--sp-5)}.card-foot{padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border-subtle);background:var(--bg-app);border-bottom-left-radius:var(--r-md);border-bottom-right-radius:var(--r-md);font-size:var(--fs-xs);color:var(--fg-3);display:flex;align-items:center;gap:var(--sp-3)}.chip{font-family:var(--font-sans);font-size:var(--fs-micro);font-weight:var(--fw-medium);padding:3px var(--sp-2);border-radius:var(--r-sm);display:inline-flex;align-items:center;gap:5px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.chip .d{width:5px;height:5px;border-radius:var(--r-full);background:currentColor}.chip.credit{background:var(--credit-50);color:var(--credit-700);border:1px solid var(--credit-100)}.chip.debit{background:var(--debit-50);color:var(--debit-700);border:1px solid var(--debit-100)}.chip.warn{background:var(--warn-50);color:var(--warn-700);border:1px solid var(--warn-100)}.chip.info{background:var(--info-50);color:var(--info-700);border:1px solid var(--info-100)}.chip.ink{background:var(--ink-900);color:var(--fg-on-inverse)}.chip.neu{background:var(--bg-surface);color:var(--fg-2);border:1px solid var(--border-default)}table.ledger{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}table.ledger th,table.ledger td{padding:9px var(--sp-3);border-bottom:1px solid var(--border-subtle);text-align:left}table.ledger th{font-size:10px;letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--fg-3);font-weight:var(--fw-medium);background:var(--bg-app);position:sticky;top:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}table.ledger td.num,table.ledger th.num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}table.ledger td.date{font-family:var(--font-mono);color:var(--fg-2);width:80px}table.ledger tr:hover td{background:var(--bg-app)}table.ledger .credit{color:var(--credit-700)}table.ledger .debit{color:var(--debit-700)}.metric{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-4);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-md)}.metric .lbl{font-family:var(--font-mono);font-size:10px;letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--fg-3)}.metric .val{font-size:24px;font-weight:var(--fw-semi);font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-900)}.metric .delta{font-size:var(--fs-xs);color:var(--fg-3);font-family:var(--font-mono)}.metric .delta.up{color:var(--credit-700)}.metric .delta.down{color:var(--debit-700)}.input{width:100%;padding:var(--sp-2) var(--sp-3);background:var(--bg-app);border:1px solid var(--border-default);border-radius:var(--r-xs);color:var(--fg-1);font-size:var(--fs-sm);outline:none;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.input::placeholder{color:var(--fg-4)}.input:focus{border-color:var(--amber-500);box-shadow:var(--shadow-focus);background:var(--bg-surface)}.num,.tabular,td.num,th.num{font-family:var(--font-mono);font-feature-settings:"tnum","zero";font-variant-numeric:tabular-nums}.serif{font-family:var(--font-serif)}.display{font-family:var(--font-serif);font-weight:var(--fw-medium);letter-spacing:-.02em;line-height:1.05}.eyebrow{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--fg-3);font-weight:var(--fw-medium)}.u-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);font-weight:500}.u-meta{font-size:var(--fs-xs);color:var(--fg-3)}.u-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.u-fg-2{color:var(--fg-2)}.u-fg-3{color:var(--fg-3)}.u-credit{color:var(--credit-700)}.u-debit{color:var(--debit-700)}.u-amber{color:var(--amber-700)}.u-hairline{border:0;border-top:1px solid var(--border-subtle)}.u-grain{background-image:radial-gradient(rgba(10,22,40,.05) 1px,transparent 1px);background-size:3px 3px}.app-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-app);flex-direction:column;gap:var(--sp-4)}.app-loading img{height:40px}.app-loading .loading-text{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-3);letter-spacing:var(--ls-caps);text-transform:uppercase}.dots{display:flex;gap:4px}.dots span{width:4px;height:4px;border-radius:var(--r-full);background:var(--ink-300);animation:dotFade 1.2s ease-in-out infinite}.dots span:nth-child(2){animation-delay:.2s}.dots span:nth-child(3){animation-delay:.4s}@keyframes dotFade{0%,to{opacity:.3}50%{opacity:1}}@keyframes fadeIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeIn var(--dur-slow) var(--ease-out) both}.login-page{display:grid;grid-template-columns:minmax(420px,520px) 1fr;min-height:100vh;background:var(--bg-app)}.login-panel{padding:var(--sp-16) var(--sp-12);display:flex;flex-direction:column;background:var(--bg-surface);border-right:1px solid var(--border-subtle);max-width:560px}.login-brand{margin-bottom:var(--sp-16)}.login-brand img{height:32px}.login-eyebrow{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--fg-3);font-weight:var(--fw-medium);margin-bottom:var(--sp-3)}.login-title{font-family:var(--font-serif);font-weight:var(--fw-medium);font-size:var(--fs-3xl);letter-spacing:-.02em;line-height:1.1;margin-bottom:var(--sp-3)}.login-sub{color:var(--fg-3);font-size:var(--fs-md);margin-bottom:var(--sp-10);max-width:420px}.login-form{display:flex;flex-direction:column;gap:var(--sp-4)}.login-field{display:flex;flex-direction:column;gap:var(--sp-1_5)}.login-field>span{font-size:var(--fs-xs);color:var(--fg-2);font-weight:var(--fw-medium);letter-spacing:var(--ls-snug)}.login-error{font-size:var(--fs-sm);color:var(--debit-700);background:var(--debit-50);border:1px solid var(--debit-100);border-radius:var(--r-xs);padding:var(--sp-2) var(--sp-3)}.login-submit{justify-content:center;padding:10px var(--sp-4);margin-top:var(--sp-2)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-divider{display:flex;align-items:center;gap:var(--sp-3);color:var(--fg-4);font-size:var(--fs-xs);font-family:var(--font-mono);letter-spacing:var(--ls-caps);text-transform:uppercase;margin:var(--sp-1) 0}.login-divider:before,.login-divider:after{content:"";flex:1;border-top:1px solid var(--border-subtle)}.login-foot{margin-top:auto;padding-top:var(--sp-12);font-size:var(--fs-xs);color:var(--fg-3)}.login-foot code{background:var(--bg-muted);padding:1px 6px;border-radius:var(--r-xs);font-size:var(--fs-micro)}.login-aside{background:var(--ink-900);color:var(--paper-50);display:flex;align-items:center;justify-content:center;padding:var(--sp-16);position:relative;overflow:hidden}.login-aside:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:3px 3px;opacity:.5;pointer-events:none}.login-aside-inner{position:relative;max-width:480px;color:var(--paper-50)}.login-aside-inner .eyebrow{color:var(--amber-300)}.login-cite{margin-top:var(--sp-10);padding-top:var(--sp-4);border-top:1px solid rgba(255,255,255,.1);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-snug);color:var(--ink-300)}@media(max-width:880px){.login-page{grid-template-columns:1fr}.login-aside{display:none}.login-panel{max-width:100%;border-right:0}}.dev-ribbon{position:fixed;bottom:var(--sp-3);right:var(--sp-3);background:var(--amber-500);color:var(--ink-900);font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--ls-wide);text-transform:uppercase;padding:4px var(--sp-2);border-radius:var(--r-xs);font-weight:var(--fw-semi);z-index:var(--z-toast);box-shadow:var(--shadow-sm)}
