:root{--bg:#f8fafc;--fg:#0f172a;--muted:#475569;--accent:#1d4ed8;--card:#fff;--line:#e2e8f0}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--fg);font-family:Heebo,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.6}main{max-inline-size:60rem;margin-inline:auto;padding:1rem}.nav{background:var(--card);border-block-end:1px solid var(--line);gap:1rem;padding-block:.75rem;padding-inline:1rem;display:flex;overflow-x:auto}.nav a{color:var(--accent);white-space:nowrap;text-decoration:none}.card{background:var(--card);border:1px solid var(--line);border-radius:.75rem;margin-block-end:1rem;padding:1rem}.muted{color:var(--muted)}.badge{color:#3730a3;background:#e0e7ff;border-radius:999px;padding-inline:.5rem;font-size:.85rem;display:inline-block}button,input{font:inherit}button{background:var(--accent);color:#fff;border:0;border-radius:.5rem;padding:.5rem 1rem}button[disabled]{background:#94a3b8}input{border:1px solid var(--line);border-radius:.5rem;inline-size:100%;padding:.5rem}ul.checklist{padding:0;list-style:none}ul.checklist li{border-block-end:1px solid var(--line);padding-block:.4rem}.card-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.card-head h2{margin:0;font-size:1.1rem}dl{grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin-block:.75rem;display:grid}dt{color:var(--muted)}dd{margin:0}table{border-collapse:collapse;inline-size:100%;margin-block-end:.75rem}th,td{text-align:start;border-block-end:1px solid var(--line);padding:.35rem .5rem}.actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.actions p{margin:0}button.secondary{color:#b91c1c;background:#fff;border:1px solid #b91c1c}button:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.state-approved,.state-consumed{color:#166534;background:#dcfce7}.state-rejected{color:#991b1b;background:#fee2e2}.state-expired{color:#475569;background:#f1f5f9}.banner{background:#fef9c3;border:1px solid #fde047;border-radius:.5rem;margin-block:0 1rem;padding:.5rem .75rem;font-size:.9rem}.chat-log{flex-direction:column;gap:.75rem;min-block-size:40vh;margin:0 0 1rem;padding:0;list-style:none;display:flex}.bubble{background:var(--card);border:1px solid var(--line);border-radius:.9rem;max-inline-size:85%;padding:.6rem .9rem}.bubble p{white-space:pre-wrap;margin:.2rem 0 0}.bubble-user{background:#e0e7ff;border-color:#c7d2fe;align-self:flex-start}.bubble-agent{align-self:flex-end}.proposal{border:1px solid var(--line);border-radius:.5rem;margin-block-start:.5rem;padding:.5rem .75rem}.proposal-ok{background:#f0fdf4;border-color:#bbf7d0}.proposal-blocked{background:#fef2f2;border-color:#fecaca}.chat-form{background:var(--bg);gap:.5rem;padding-block:.5rem;display:grid;position:sticky;inset-block-end:0}textarea{font:inherit;border:1px solid var(--line);resize:vertical;border-radius:.5rem;inline-size:100%;padding:.5rem}.error{color:#b91c1c}@media (min-width:48rem){.chat-form{grid-template-columns:1fr auto;align-items:end}.chat-form label{grid-column:1/-1}}.tiles{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;margin-block:1rem;display:grid}.tile{margin:0}.tile-value{font-size:1.6rem;display:block}.tile-delta{min-block-size:1.2rem;font-size:.8rem}.delta-good{color:#166534}.delta-bad{color:#991b1b}.trend-row{color:var(--accent);grid-template-columns:4rem 1fr;align-items:center;gap:.75rem;display:grid}.trend-row span{color:var(--fg)}.spark{block-size:3rem;inline-size:100%}a[aria-current=page]{font-weight:700;text-decoration:underline}.onboarding fieldset{border:1px solid var(--line);border-radius:.5rem;margin-block-end:1rem;padding:.75rem 1rem}.onboarding legend{padding-inline:.25rem;font-weight:700}.field{gap:.25rem;margin-block-end:.75rem;display:grid}select{font:inherit;border:1px solid var(--line);background:#fff;border-radius:.5rem;padding:.5rem}input[aria-invalid],textarea[aria-invalid],select[aria-invalid]{border-color:#b91c1c}.check{align-items:center;gap:.5rem;display:flex}.check input{inline-size:auto}.badge-mock{color:#854d0e;background:#fef9c3}.card-focus{outline:2px solid var(--accent);outline-offset:2px}
