:root{--bg:#f5f6f8;--card:#fff;--ink:#14181f;--mute:#5d6673;--line:#dde1e7;--brand:#0b4f8a;--brand-ink:#fff;--ok:#1d7a3a;--warn:#a15c00;--bad:#b3261e}
@media (prefers-color-scheme:dark){:root{--bg:#10141a;--card:#181d25;--ink:#e8ebf0;--mute:#98a2b0;--line:#2a313b;--brand:#4a9be0;--brand-ink:#0b1118;--ok:#4cc474;--warn:#e0a040;--bad:#f07a72}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
header.top{background:var(--card);border-bottom:1px solid var(--line);padding:10px 16px;display:flex;align-items:center;gap:12px;justify-content:space-between;position:sticky;top:0}
header.top a{color:var(--ink);text-decoration:none;font-weight:600}
main{max-width:760px;margin:0 auto;padding:16px}
h1{font-size:1.35rem;margin:.2rem 0 1rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px}
.row{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.mute{color:var(--mute);font-size:.9rem}
.tabs{display:flex;gap:8px;margin-bottom:12px;overflow-x:auto}
.tabs a{padding:8px 14px;border-radius:999px;border:1px solid var(--line);color:var(--ink);text-decoration:none;white-space:nowrap}
.tabs a.on{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}
label{display:block;font-weight:600;margin:12px 0 4px}
input,select,textarea{width:100%;padding:12px;font:inherit;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}
button,.btn{display:inline-block;padding:12px 18px;font:inherit;font-weight:600;border:0;border-radius:10px;background:var(--brand);color:var(--brand-ink);text-decoration:none;cursor:pointer}
button.ghost,.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
button.danger{background:var(--bad);color:#fff}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.alert{padding:12px;border-radius:10px;margin-bottom:12px;border:1px solid}
.alert.ok{border-color:var(--ok);color:var(--ok)}
.alert.err{border-color:var(--bad);color:var(--bad)}
.badge{font-size:.8rem;padding:2px 8px;border-radius:999px;border:1px solid var(--line)}
.badge.scheduled{color:var(--warn)}.badge.complete{color:var(--ok)}.badge.cancelled{color:var(--mute)}
dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0}dt{color:var(--mute)}dd{margin:0}
