:root{--paper:#f5f7fb;--card:#fff;--ink:#0d1b33;--muted:#4b5873;--line:#d9e0ec;--navy:#0b2a5b;--navy-soft:#e7edf8;--gold:#c99a2e;--on-gold:#1a1203;--ok:#1d7a46;--ok-soft:#e3f4ea;--warn:#9a5b00;--warn-soft:#fdf1dc;--bad:#a8322a;--bad-soft:#fbe6e4;--r:12px}
@media (prefers-color-scheme:dark){:root{--paper:#0a1222;--card:#0f1a30;--ink:#e7ecf6;--muted:#9ba8c0;--line:#22314d;--navy:#93b3ee;--navy-soft:#15223d;--gold:#e0b24d;--ok:#6fd39b;--ok-soft:#12301f;--warn:#f0b357;--warn-soft:#33260f;--bad:#f08c84;--bad-soft:#3a1714}}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 "Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--navy)}h1,h2,h3{font-family:Archivo,system-ui,sans-serif;line-height:1.2;margin:0 0 .5em}h1{font-size:1.6rem}h2{font-size:1.15rem}
.top{background:#0b2a5b;color:#fff}.top .in{max-width:1080px;margin:auto;padding:12px 16px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.logo{font:800 1.2rem Archivo,sans-serif;color:#fff;text-decoration:none;display:flex;gap:8px;align-items:center}.logo i{width:12px;height:12px;background:#c99a2e;border-radius:3px;display:inline-block;transform:rotate(45deg)}
.top nav{display:flex;gap:4px;flex-wrap:wrap;flex:1}.top nav a{color:#dbe4f5;text-decoration:none;padding:6px 10px;border-radius:8px;font-size:.95rem}.top nav a.on,.top nav a:hover{background:rgba(255,255,255,.12);color:#fff}
.who{font-size:.85rem;color:#c7d3ea}.who a{color:#f1d58d}
main{max-width:1080px;margin:auto;padding:24px 16px 64px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin-bottom:16px}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.two{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start}
.stat b{display:block;font:800 1.7rem Archivo,sans-serif}.stat span{color:var(--muted);font-size:.9rem}
.btn{display:inline-block;border:0;border-radius:10px;padding:10px 16px;font:600 .95rem inherit;font-family:inherit;cursor:pointer;text-decoration:none;background:var(--gold);color:var(--on-gold)}
.btn.sec{background:var(--navy-soft);color:var(--navy)}.btn.small{padding:6px 10px;font-size:.85rem}.btn.danger{background:var(--bad-soft);color:var(--bad)}
label{display:block;font-weight:600;font-size:.9rem;margin:12px 0 4px}
input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:inherit}
textarea{min-height:110px}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top;font-size:.95rem}th{color:var(--muted);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}
.tw{overflow-x:auto}
.pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.8rem;font-weight:600;background:var(--navy-soft);color:var(--navy);white-space:nowrap}
.pill.Part,.pill.Received,.pill.requested,.pill.Due{background:var(--warn-soft);color:var(--warn)}.pill.Resolved,.pill.Closed,.pill.confirmed,.pill.Paid{background:var(--ok-soft);color:var(--ok)}.pill.Overdue,.pill.declined,.pill.cancelled{background:var(--bad-soft);color:var(--bad)}
.flash{background:var(--navy-soft);border-left:4px solid var(--gold);padding:12px 14px;border-radius:8px;margin-bottom:16px}
.muted{color:var(--muted)}.small{font-size:.85rem}
.msg{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:10px 0}.msg.client{background:var(--paper)}.msg.ai{border-left:4px solid var(--gold)}.msg.staff{border-left:4px solid var(--navy)}
.msg .h{font-size:.82rem;color:var(--muted);margin-bottom:4px}.msg p{margin:0;white-space:pre-wrap}
.timeline{list-style:none;padding:0;margin:0}.timeline li{padding:6px 0 6px 18px;border-left:2px solid var(--line);position:relative;font-size:.9rem}.timeline li:before{content:"";position:absolute;left:-6px;top:12px;width:10px;height:10px;border-radius:50%;background:var(--gold)}
.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px}.days a{flex:0 0 auto;text-align:center;border:1px solid var(--line);border-radius:10px;padding:8px 12px;text-decoration:none;color:var(--ink);background:var(--card);font-size:.85rem}.days a.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;margin:12px 0}.slots label{margin:0;font-weight:500}.slots input{display:none}.slots span{display:block;text-align:center;border:1px solid var(--line);border-radius:10px;padding:10px 0;cursor:pointer;background:var(--card)}.slots input:checked+span{background:var(--gold);color:var(--on-gold);border-color:var(--gold);font-weight:700}.slots .gone{opacity:.4;text-decoration:line-through;cursor:not-allowed}
.consent{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:10px 0;display:flex;gap:12px;align-items:flex-start}.consent input{width:auto;margin-top:4px}.consent b{display:block}
.auth{max-width:420px;margin:48px auto}.code{font:700 1.6rem "JetBrains Mono",monospace;letter-spacing:.4em;text-align:center}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.right{margin-left:auto}
footer{max-width:1080px;margin:auto;padding:0 16px 32px;color:var(--muted);font-size:.8rem}
@media (max-width:600px){h1{font-size:1.35rem}.card{padding:16px}.hide-m{display:none}.top nav{order:3;flex-basis:100%;flex-wrap:nowrap;overflow-x:auto}.top nav a{white-space:nowrap}.who{margin-left:auto}}
