:root{--bg: #f7f7f5;--surface: #ffffff;--text: #1c1c1a;--muted: #6b6b66;--border: #e3e3de;--accent: #2f5bea;--danger: #c2372b;--ok: #1f7a46;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #161615;--surface: #1f1f1d;--text: #ececea;--muted: #a0a09a;--border: #33332f;--accent: #7b9bff;--danger: #ff7b6e;--ok: #5fcf8e;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}h1{font-size:1.5rem;margin:0 0 .75rem}h2{font-size:1.1rem;margin:1.75rem 0 .75rem}.topbar{display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.brand{font-weight:700;color:var(--text);text-decoration:none}.topbar nav{display:flex;gap:.75rem}.topbar nav a{color:var(--muted);text-decoration:none}.topbar nav a.active{color:var(--text);font-weight:600}.spacer{flex:1}.content{max-width:880px;margin:2rem auto;padding:0 1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.5rem}.narrow{max-width:420px;margin:4rem auto}.empty{text-align:center;padding:2.5rem 1.5rem}label{display:block;margin-bottom:1rem;font-weight:500}input,select{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.45rem .6rem}label input{display:block;width:100%;margin-top:.3rem}button,.button{font:inherit;display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:6px;padding:.5rem .9rem;cursor:pointer;text-decoration:none}button:disabled{opacity:.6;cursor:default}button.link{background:none;color:var(--accent);padding:0;margin-left:.5rem}button.danger{color:var(--danger)}form.inline{display:flex;gap:.5rem;flex-wrap:wrap}form.inline input{flex:1;min-width:200px}table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:10px}th,td{text-align:left;padding:.6rem .9rem;border-bottom:1px solid var(--border)}th{font-size:.8rem;color:var(--muted);font-weight:600}.right{text-align:right}ul.plain{list-style:none;padding:0}ul.plain li{padding:.5rem 0;border-bottom:1px solid var(--border)}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center;margin-top:4rem}.error{color:var(--danger)}.notice{color:var(--ok)}
