@font-face{font-family:Outfit;src:url(/app/assets/outfit-latin-wght-normal-CdKZfrg9.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Montserrat;src:url(/app/assets/montserrat-latin-wght-normal-AeMhpAKq.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{--bg: #f2ede5;--surface: #ffffff;--field: #ffffff;--brand-ink: #15171c;--text: #15171c;--muted: #5a564d;--border: #7d776c;--accent: #11468c;--on-accent: #ffffff;--danger: #b3261e;--on-danger: #ffffff;--ok-bg: #d8f0dc;--warn-bg: #fff1c2;--bad-bg: #fbdcd9;--focus: #11468c;color-scheme:light}:root[data-theme=dark]{--bg: #1e1e1e;--surface: #2b2b2b;--field: #1e1e1e;--brand-ink: #f0f0f0;--text: #f0f0f0;--muted: #b8b8b8;--border: #8c8c8c;--accent: #7cc0ff;--on-accent: #0b0b0b;--danger: #ff9d94;--on-danger: #0b0b0b;--ok-bg: #1f4a2a;--warn-bg: #56460a;--bad-bg: #5c211d;--focus: #7cc0ff;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme]){--bg: #1e1e1e;--surface: #2b2b2b;--field: #1e1e1e;--brand-ink: #f0f0f0;--text: #f0f0f0;--muted: #b8b8b8;--border: #8c8c8c;--accent: #7cc0ff;--on-accent: #0b0b0b;--danger: #ff9d94;--on-danger: #0b0b0b;--ok-bg: #1f4a2a;--warn-bg: #56460a;--bad-bg: #5c211d;--focus: #7cc0ff;color-scheme:dark}}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 Montserrat,-apple-system,Segoe UI,Roboto,sans-serif}.app{max-width:1100px;margin:0 auto;padding:16px}.app-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;align-items:center;padding-bottom:14px;border-bottom:6px solid var(--brand-ink);margin-bottom:8px}.lockup{display:flex;align-items:center;gap:16px}.lockup-mark{width:60px;height:60px;flex:none;display:grid;place-items:center;background:#fff;border:4px solid var(--brand-ink)}.lockup-title{margin:0;font-family:Outfit,Montserrat,sans-serif;font-weight:800;font-size:clamp(20px,3.4vw,32px);line-height:1;letter-spacing:-.01em;text-transform:uppercase}.lockup-by{margin:6px 0 0;font-weight:700;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.app-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-top:24px;padding-top:14px;border-top:6px solid var(--brand-ink);color:var(--muted);font-size:12px}.app-footer-brand{display:inline-flex;align-items:center;gap:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.app-user{color:var(--muted)}.link-button{background:none;border:0;padding:0;font:inherit;color:var(--accent);text-decoration:underline;cursor:pointer}nav ul{display:flex;flex-wrap:wrap;gap:4px;list-style:none;padding:0;margin:12px 0;border-bottom:1px solid var(--border)}nav a{display:block;padding:8px 12px;color:var(--text);text-decoration:none;border-bottom:3px solid transparent}nav a[aria-current=page]{border-bottom-color:var(--accent);font-weight:600}nav a:hover{background:var(--surface)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h2{font-family:Outfit,Montserrat,sans-serif;font-size:17px;font-weight:700;margin:0 0 8px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 16px;margin-bottom:16px}.banner{padding:10px 14px;border-radius:6px;margin:8px 0;border:1px solid var(--border)}.banner ul{margin:6px 0 0;padding-left:20px}.banner-error{background:var(--bad-bg)}.banner-warn{background:var(--warn-bg)}.banner-info{background:var(--surface)}.btn{font:inherit;font-weight:600;padding:6px 16px;border-radius:999px;border:1px solid transparent;cursor:pointer}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-danger{background:var(--danger);color:var(--on-danger)}.btn-secondary{background:transparent;color:var(--text);border-color:var(--border)}.btn:disabled{opacity:.55;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:4px;margin:8px 0}.field-label{font-weight:600}.field-hint{color:var(--muted);font-size:12px}input,select,textarea{font:inherit;color:var(--text);background:var(--field);border:1px solid var(--border);border-radius:4px;padding:6px 8px}textarea{min-height:120px}.row{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.badge{display:inline-block;padding:1px 8px;border-radius:10px;border:1px solid var(--border);font-size:12px}.badge-ok{background:var(--ok-bg)}.badge-warn{background:var(--warn-bg)}.badge-bad{background:var(--bad-bg)}.badge-neutral{background:var(--field)}.cost-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin:8px 0}.cost-card{border:1px solid var(--border);border-radius:8px;padding:8px 12px;background:var(--field)}.cost-card dt{color:var(--muted);font-size:12px;font-weight:600}.cost-card dd{margin:4px 0 0;display:flex;flex-direction:column;gap:2px}.cost-card strong{font-family:Outfit,Montserrat,sans-serif;font-size:18px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}caption{text-align:left;font-weight:600;padding:4px 0}th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:top}.dialog-backdrop{position:fixed;inset:0;background:#0000008c;display:grid;place-items:center}.dialog{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:16px 20px;width:min(480px,92vw)}
