:root{--color-brand-primary:#1a1a2e;--color-brand-accent:#e94560;--color-brand-secondary:#16213e;--color-background:#fff;--color-surface:#f8f9fa;--color-surface-elevated:#fff;--color-border:#e2e8f0;--color-border-subtle:#f1f5f9;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-muted:#94a3b8;--color-text-inverse:#fff;--color-interactive:#3b82f6;--color-interactive-hover:#2563eb;--color-interactive-muted:#eff6ff;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--font-sans:"Inter",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono","Fira Code",ui-monospace,monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1);--duration-fast:100ms;--duration-normal:200ms;--duration-slow:350ms;--ease-default:cubic-bezier(0.4,0,0.2,1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-background:#0a0a0f;--color-surface:#111118;--color-surface-elevated:#1a1a24;--color-border:#2d2d3d;--color-border-subtle:#1e1e2a;--color-text-primary:#f1f5f9;--color-text-secondary:#94a3b8;--color-text-muted:#475569;--color-text-inverse:#0f172a;--color-interactive:#60a5fa;--color-interactive-hover:#93c5fd;--color-interactive-muted:#1e3a5f}}:root[data-theme=dark]{--color-background:#0a0a0f;--color-surface:#111118;--color-surface-elevated:#1a1a24;--color-border:#2d2d3d;--color-border-subtle:#1e1e2a;--color-text-primary:#f1f5f9;--color-text-secondary:#94a3b8;--color-text-muted:#475569;--color-text-inverse:#0f172a;--color-interactive:#60a5fa;--color-interactive-hover:#93c5fd;--color-interactive-muted:#1e3a5f}*{box-sizing:border-box}body,html{height:100%}body{margin:0;font-family:var(--font-sans);background:var(--color-surface);color:var(--color-text-primary);-webkit-font-smoothing:antialiased}:where(button,select,input,textarea,a):focus-visible{outline:2px solid var(--color-interactive);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.app{display:grid;grid-template-columns:232px 1fr;min-height:100vh;background:var(--color-background)}.sidebar{border-right:1px solid var(--color-border);background:var(--color-surface);padding:var(--space-5) var(--space-3);display:flex;flex-direction:column;gap:var(--space-5);position:-webkit-sticky;position:sticky;top:0;height:100vh}.wordmark{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-2);font-weight:700;letter-spacing:-.01em}.wordmark .glyph{width:22px;height:22px;border-radius:var(--radius-sm);background:var(--color-brand-primary);display:grid;place-items:center;color:var(--color-brand-accent);font-size:11px;font-weight:800}.field-label{display:block;padding:0 var(--space-2) var(--space-2);font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}select.brand{width:100%;font:inherit;font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated);color:var(--color-text-primary)}nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-md);background:none;color:var(--color-text-secondary);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;text-decoration:none;transition:background var(--duration-fast) var(--ease-default)}.nav-item:hover{background:var(--color-border-subtle);color:var(--color-text-primary)}.nav-item[aria-current=page]{background:var(--color-interactive-muted);color:var(--color-interactive-hover);font-weight:600}.nav-item svg{width:16px;height:16px;flex:none}.nav-item .count{margin-left:auto;font-family:var(--font-mono);font-size:var(--text-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.nav-item .count.alert{color:var(--color-brand-accent);font-weight:700}.side-foot{margin-top:auto;display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.credit{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated)}.credit .row{display:flex;justify-content:space-between;align-items:baseline}.credit .amt{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cap{font-size:var(--text-xs);color:var(--color-text-muted)}.meterbar{margin-top:var(--space-2);height:4px;border-radius:var(--radius-full);background:var(--color-border);overflow:hidden}.meterbar>i{display:block;height:100%;background:var(--color-success)}.meterbar>i.low{background:var(--color-warning)}.meterbar>i.empty{background:var(--color-error)}.side-user{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);padding:0 var(--space-2)}.side-user .spacer{flex:1 1}.linkbtn{background:none;border:0;padding:0;font:inherit;font-size:var(--text-xs);color:var(--color-text-secondary);cursor:pointer;text-decoration:underline}.linkbtn:hover{color:var(--color-text-primary)}main{padding:var(--space-6) var(--space-8) var(--space-10);min-width:0}.page-head{display:flex;align-items:flex-end;gap:var(--space-4);padding-bottom:var(--space-5);margin-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.page-head h1{margin:0;font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;text-wrap:balance}.page-head p{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--color-text-secondary)}.page-head .spacer{flex:1 1}.btn{font:inherit;font-size:var(--text-sm);font-weight:600;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-elevated);color:var(--color-text-primary);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);transition:background var(--duration-fast) var(--ease-default)}.btn:hover{background:var(--color-surface)}.btn-primary{background:var(--color-interactive);border-color:var(--color-interactive);color:#fff}.btn-primary:hover{background:var(--color-interactive-hover);border-color:var(--color-interactive-hover)}.btn-primary:disabled,.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn-danger{color:var(--color-error)}.seg{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.seg a,.seg button{font:inherit;font-size:var(--text-xs);font-weight:600;padding:var(--space-2) var(--space-3);border:0;text-decoration:none;background:var(--color-surface-elevated);color:var(--color-text-secondary);cursor:pointer}.seg a+a,.seg button+button{border-left:1px solid var(--color-border)}.seg [aria-pressed=true]{background:var(--color-interactive-muted);color:var(--color-interactive-hover)}.rows{display:flex;flex-direction:column;gap:var(--space-2)}.row-card{display:grid;grid-template-columns:3px 1fr auto;grid-gap:0 var(--space-4);gap:0 var(--space-4);align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated);overflow:hidden;transition:border-color var(--duration-fast) var(--ease-default)}.row-card:hover{border-color:var(--color-text-muted)}.stripe{align-self:stretch}.stripe.draft{background:var(--color-text-muted)}.stripe.approved{background:var(--color-interactive)}.stripe.scheduled{background:var(--color-warning)}.stripe.posting{background:var(--color-info)}.stripe.posted{background:var(--color-success)}.stripe.failed{background:var(--color-error)}.stripe.cancelled{background:var(--color-border)}.row-body{padding:var(--space-3) 0;min-width:0}.row-text{margin:0 0 var(--space-2);font-size:var(--text-sm);line-height:1.5}.row-meta{flex-wrap:wrap;align-items:center;font-size:var(--text-xs);color:var(--color-text-secondary)}.row-actions,.row-meta{display:flex;gap:var(--space-2)}.row-actions{padding-right:var(--space-4)}.pill{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.pill.draft{background:var(--color-border-subtle);color:var(--color-text-secondary)}.pill.approved{background:var(--color-interactive-muted);color:var(--color-interactive-hover)}.pill.scheduled{background:color-mix(in srgb,var(--color-warning) 16%,transparent);color:var(--color-warning)}.pill.posting{background:color-mix(in srgb,var(--color-info) 16%,transparent);color:var(--color-info)}.pill.posted{background:color-mix(in srgb,var(--color-success) 16%,transparent);color:var(--color-success)}.pill.failed{background:color-mix(in srgb,var(--color-error) 16%,transparent);color:var(--color-error)}.pill.cancelled{background:var(--color-border-subtle);color:var(--color-text-muted)}.pill.thread{background:color-mix(in srgb,var(--color-brand-secondary) 14%,transparent);color:var(--color-brand-secondary)}:root[data-theme=dark] .pill.thread{background:hsla(0,0%,100%,.09);color:var(--color-text-primary)}.chan{display:inline-flex;align-items:center;gap:5px;font-weight:600;color:var(--color-text-primary)}.chan svg{width:11px;height:11px}.cost{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-text-secondary)}.cost.pricey{color:var(--color-brand-accent);font-weight:700}.dot-sep{color:var(--color-text-muted)}.err-text{color:var(--color-error)}.empty{border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-10) var(--space-6);text-align:center;color:var(--color-text-secondary);background:var(--color-surface-elevated)}.empty p{margin:0 0 var(--space-4);font-size:var(--text-sm)}.cal{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface-elevated)}.cal-head{display:grid;grid-template-columns:repeat(7,1fr);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.cal-head div{padding:var(--space-2);font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;text-align:center}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-cell{min-height:92px;padding:var(--space-2);border-right:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle);display:flex;flex-direction:column;gap:3px}.cal-cell:nth-child(7n){border-right:0}.cal-cell.out{background:var(--color-surface)}.cal-cell .d{font-family:var(--font-mono);font-size:var(--text-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.cal-cell.out .d{opacity:.4}.cal-cell.today .d{background:var(--color-brand-accent);color:#fff;border-radius:var(--radius-full);width:19px;height:19px;display:grid;place-items:center;font-weight:700}.chip{font-size:10.5px;line-height:1.3;padding:3px 5px;border-radius:var(--radius-sm);border-left:2px solid;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;color:var(--color-text-primary);display:block}.chip.scheduled{background:color-mix(in srgb,var(--color-warning) 14%,transparent);border-color:var(--color-warning)}.chip.approved{background:var(--color-interactive-muted);border-color:var(--color-interactive)}.chip.posted{background:color-mix(in srgb,var(--color-success) 14%,transparent);border-color:var(--color-success)}.chip.draft{background:var(--color-border-subtle);border-color:var(--color-text-muted)}.chip.failed{background:color-mix(in srgb,var(--color-error) 14%,transparent);border-color:var(--color-error)}.compose-grid{display:grid;grid-template-columns:1fr 300px;grid-gap:var(--space-6);gap:var(--space-6);align-items:start}.composer{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-elevated);overflow:hidden}.composer-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle);font-size:var(--text-sm);font-weight:600}.tweets{padding:var(--space-2) var(--space-4)}.tw{display:grid;grid-template-columns:26px 1fr;grid-gap:var(--space-3);gap:var(--space-3);position:relative}.tw-rail{display:flex;flex-direction:column;align-items:center;padding-top:var(--space-3)}.tw-num{width:20px;height:20px;border-radius:var(--radius-full);flex:none;display:grid;place-items:center;font-family:var(--font-mono);font-size:10px;font-weight:700;background:var(--color-border-subtle);color:var(--color-text-secondary)}.tw-line{flex:1 1;width:2px;background:var(--color-border);margin:4px 0;min-height:8px}.tw:last-child .tw-line{display:none}.tw-body{padding:var(--space-2) 0 var(--space-3)}.tw textarea{display:block;width:100%;border:1px solid transparent;resize:vertical;padding:var(--space-2);min-height:76px;border-radius:var(--radius-md);font:inherit;font-size:var(--text-sm);line-height:1.6;background:transparent;color:var(--color-text-primary)}.tw textarea:focus{outline:0;border-color:var(--color-border);background:var(--color-surface)}.tw.linked textarea{border-color:var(--color-brand-accent)}.tw-foot{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1)}.tw-foot .spacer{flex:1 1}.counter{font-family:var(--font-mono);font-size:var(--text-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.counter.over{color:var(--color-error);font-weight:700}.linkflag{font-size:var(--text-xs);font-weight:600;color:var(--color-brand-accent)}.x-btn{border:0;background:none;color:var(--color-text-muted);cursor:pointer;font:inherit;font-size:var(--text-xs);padding:2px 6px;border-radius:var(--radius-sm)}.x-btn:hover{color:var(--color-error);background:var(--color-border-subtle)}.composer-foot{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border-subtle);background:var(--color-surface);flex-wrap:wrap}.composer-foot .spacer{flex:1 1}.composer-foot input[type=datetime-local]{font:inherit;font-size:var(--text-xs);padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text-primary)}.toggle{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toggle input{position:absolute;opacity:0;width:0;height:0}.toggle .track{width:32px;height:18px;border-radius:var(--radius-full);background:var(--color-border);position:relative;transition:background var(--duration-normal) var(--ease-default)}.toggle .track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:var(--radius-full);background:#fff;transition:transform var(--duration-normal) var(--ease-default);box-shadow:0 1px 2px rgba(0,0,0,.25)}.toggle input:checked+.track{background:var(--color-brand-accent)}.toggle input:checked+.track:after{transform:translateX(14px)}.toggle input:focus-visible+.track{outline:2px solid var(--color-interactive);outline-offset:2px}.blockmsg{font-size:var(--text-xs);color:var(--color-error);font-weight:600}.costcard{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-elevated);padding:var(--space-4);transition:border-color var(--duration-normal) var(--ease-default);position:-webkit-sticky;position:sticky;top:var(--space-6)}.costcard.pricey{border-color:var(--color-brand-accent)}.costcard h3{margin:0 0 var(--space-3);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.price{display:flex;align-items:baseline;gap:var(--space-2);font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.price b{font-size:var(--text-3xl);font-weight:700;letter-spacing:-.02em}.costcard.pricey .price b{color:var(--color-brand-accent)}.price span{color:var(--color-text-muted)}.price span,.price-why{font-size:var(--text-xs)}.price-why{margin:var(--space-2) 0 0;color:var(--color-text-secondary);line-height:1.5}.breakdown{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle);display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.bd-row{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--color-text-secondary)}.bd-row .v{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bd-row.hot .v,.bd-row.hot span{color:var(--color-brand-accent);font-weight:700}.projection{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle);display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.proj-row{display:flex;justify-content:space-between;font-size:var(--text-xs)}.proj-row .v{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.ok{color:var(--color-success)}.scrim{position:fixed;inset:0;background:rgba(10,10,15,.55);display:grid;place-items:center;padding:var(--space-4);z-index:50}.modal{width:min(440px,100%);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-6)}.modal h2{font-size:var(--text-lg);letter-spacing:-.01em}.modal h2,.modal p{margin:0 0 var(--space-3)}.modal p{font-size:var(--text-sm);line-height:1.6;color:var(--color-text-secondary)}.modal .compare{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3);margin-bottom:var(--space-4)}.modal .opt{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.modal .opt.bad{border-color:var(--color-brand-accent)}.modal .opt .lbl{font-size:var(--text-xs);color:var(--color-text-muted)}.modal .opt .val{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.modal .opt.bad .val{color:var(--color-brand-accent)}.modal-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.art{display:grid;grid-template-columns:1fr auto;grid-gap:var(--space-4);gap:var(--space-4);align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated);padding:var(--space-4)}.art+.art{margin-top:var(--space-2)}.art h3{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:600}.art-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;font-size:var(--text-xs);color:var(--color-text-secondary)}.crumb{font-family:var(--font-mono);color:var(--color-text-muted);overflow-wrap:anywhere}.art-actions{display:flex;gap:var(--space-2);align-items:center}.badge-done{font-size:var(--text-xs);color:var(--color-success);font-weight:600}.searchbar{display:flex;gap:var(--space-2);align-items:center;margin-bottom:var(--space-4)}.searchbar input{flex:1 1;min-width:0;font:inherit;font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated);color:var(--color-text-primary)}.searchbar input::placeholder{color:var(--color-text-muted)}.pager{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.pager .spacer{flex:1 1}.tray{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-elevated);padding:var(--space-4);display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.tray+.tray{margin-top:var(--space-3)}.tray-top{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-secondary);flex-wrap:wrap}.tray p.body{margin:0;font-size:var(--text-sm);line-height:1.55;white-space:pre-wrap}.tray-controls{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.tray-controls select{font:inherit;font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text-primary)}.tray-controls .spacer{flex:1 1}.rules{font-size:var(--text-xs);color:var(--color-text-muted);padding:var(--space-2) var(--space-3);background:var(--color-surface);border-radius:var(--radius-sm);line-height:1.5}.table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}td,th{padding:var(--space-3) var(--space-4);text-align:left;white-space:nowrap}th{background:var(--color-surface);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}tbody tr+tr td{border-top:1px solid var(--color-border-subtle)}td.num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td.wrap{white-space:normal;max-width:42ch}a.ext{color:var(--color-interactive);text-decoration:none}a.ext:hover{text-decoration:underline}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.acct{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-elevated);padding:var(--space-5)}.acct-head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.acct-head .ic{width:34px;height:34px;border-radius:var(--radius-md);background:var(--color-brand-primary);color:#fff;display:grid;place-items:center}.acct-head .ic svg{width:16px;height:16px}.acct-head h3{margin:0;font-size:var(--text-base)}.acct-head p{margin:2px 0 0;color:var(--color-text-muted);font-family:var(--font-mono)}.acct-head p,.kv{font-size:var(--text-xs)}.kv{display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin:0}.kv>div{display:flex;justify-content:space-between;gap:var(--space-4)}.kv dt{color:var(--color-text-secondary)}.kv dd{margin:0;font-weight:600;font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.kv dd.accent{color:var(--color-brand-accent)}.kv dd.muted{color:var(--color-text-muted)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:var(--space-4);background:var(--color-surface)}.login-card{width:min(380px,100%);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-8)}.login-card .wordmark{justify-content:center;margin-bottom:var(--space-2)}.login-card h1{margin:0 0 var(--space-1);font-size:var(--text-xl);text-align:center;letter-spacing:-.01em}.login-card>p{margin:0 0 var(--space-6);font-size:var(--text-xs);color:var(--color-text-muted);text-align:center}.login-card label{display:block;font-size:var(--text-xs);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.login-card input{width:100%;font:inherit;font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text-primary);margin-bottom:var(--space-4)}.login-card .btn{width:100%}.login-err{font-size:var(--text-xs);color:var(--color-error);font-weight:600;margin:0 0 var(--space-4);text-align:center}.banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5);border:1px solid var(--color-border);border-left:3px solid var(--color-warning);border-radius:var(--radius-md);background:var(--color-surface-elevated);font-size:var(--text-sm);color:var(--color-text-secondary)}.banner.error{border-left-color:var(--color-error)}.banner svg{width:16px;height:16px;flex:none;color:var(--color-warning)}.banner.error svg{color:var(--color-error)}@media (max-width:900px){.app{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--color-border);position:static;height:auto}.compose-grid{grid-template-columns:1fr}.costcard{position:static}main{padding:var(--space-5) var(--space-4) var(--space-8)}.cal-cell{min-height:64px}}