:root{--ink:#1b1f24;--muted:#5b6470;--line:#d9dee5;--bg:#f6f7f9;--card:#fff;--accent:#1f4e79;--ok:#2e7d32;--warn:#b26a00;--bad:#b00020;--soft:#eef2f7}
*{box-sizing:border-box}
body{margin:0;font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
header.top{background:#fff;border-bottom:1px solid var(--line);padding:10px 24px;display:flex;align-items:center;gap:24px}
header.top .brand{font-weight:700;letter-spacing:.3px}
header.top .acct{color:var(--muted)}
header.top nav{margin-left:auto;display:flex;gap:16px}
header.top nav a.on{font-weight:600;border-bottom:2px solid var(--accent)}
main{max-width:1180px;margin:0 auto;padding:24px}
h1{font-size:22px;margin:0 0 16px}h2{font-size:17px;margin:24px 0 8px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px}
.card h3{margin:0 0 8px;font-size:16px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;color:var(--muted)}
.kv b{color:var(--ink);font-weight:600}
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--soft);font-weight:600;font-size:13px;color:var(--muted)}
tr:last-child td{border-bottom:0}
.pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;background:var(--soft);color:var(--muted)}
.pill.ok{background:#e6f4ea;color:var(--ok)}.pill.warn{background:#fff4e0;color:var(--warn)}.pill.bad{background:#fde8ec;color:var(--bad)}
form.inline{display:inline}
button,.btn{font:inherit;padding:7px 14px;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:6px;cursor:pointer}
button.quiet,.btn.quiet{background:#fff;color:var(--accent)}
button.small{padding:3px 9px;font-size:13px}
label{display:block;font-size:13px;color:var(--muted);margin:10px 0 3px}
input[type=text],input[type=email],input[type=number],input[type=time],select,textarea{font:inherit;width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:#fff}
textarea{min-height:70px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 16px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
details.editor{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin:12px 0}
details.editor summary{cursor:pointer;font-weight:600}
.muted{color:var(--muted)}.right{text-align:right}
.notice{background:#eef6ff;border:1px solid #cfe1f7;border-radius:8px;padding:10px 14px;margin:0 0 16px}
.signin{max-width:420px;margin:80px auto}
code{background:var(--soft);padding:1px 5px;border-radius:4px;font-size:13px}
.weekdays label{display:inline-block;margin:4px 10px 0 0}
