:root{--bg:#f6f7f9;--fg:#1b1f24;--muted:#6b7280;--acc:#1d4ed8;--ok:#15803d;--bad:#b91c1c;--card:#fff;--line:#e5e7eb}
*{box-sizing:border-box}body{margin:0;font:15px/1.45 system-ui,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg)}
header{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.2rem;background:#0f172a;color:#fff}.brand{font-weight:700}.brand span{font-weight:400;opacity:.8}
nav a{color:#cbd5e1;margin-right:1rem;text-decoration:none}nav a:hover{color:#fff}.who{color:#94a3b8;margin-right:1rem}
main{max-width:1200px;margin:1.2rem auto;padding:0 1rem}footer{text-align:center;color:var(--muted);font-size:.85rem;padding:1.5rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem 1.2rem;margin-bottom:1rem}.narrow{max-width:460px;margin:3rem auto}
.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:900px){.two{grid-template-columns:1fr}}
label{display:block;margin:.5rem 0}input,select{width:100%;padding:.5rem;border:1px solid var(--line);border-radius:6px}.row{display:flex;gap:1rem;align-items:end;flex-wrap:wrap}.row label{flex:1;min-width:200px}
button{padding:.45rem .8rem;border:0;border-radius:6px;background:var(--acc);color:#fff;cursor:pointer;margin-right:.3rem}button.ok{background:var(--ok)}button.bad{background:var(--bad)}button.small{padding:.15rem .5rem;font-size:.8rem;background:#64748b}
table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden}th,td{padding:.45rem .6rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:.92rem}th{background:#f1f5f9}
.inline{display:inline}.muted{color:var(--muted)}.err{color:var(--bad)}.mail{border:1px solid var(--line);padding:1rem;margin-top:1rem;max-height:60vh;overflow:auto;background:#fafafa}
