
:root { --fg:#1a1a1a; --muted:#666; --line:#e2e2e2; --accent:#2b6cb0; --bg:#fafafa; }
* { box-sizing:border-box; }
body { margin:0; font:15px/1.5 system-ui,sans-serif; color:var(--fg); background:var(--bg); }
.topbar { display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap;
          padding:.6rem 1rem; background:#fff; border-bottom:1px solid var(--line); }
.brand { font-weight:700; text-decoration:none; color:var(--fg); }
.topbar nav { display:flex; gap:.8rem; flex-wrap:wrap; }
.topbar nav a { text-decoration:none; color:var(--accent); }
.role { margin-left:auto; font-size:.85rem; color:var(--muted); }
.role .dev a { color:var(--accent); margin:0 .15rem; }
main { max-width:960px; margin:1.5rem auto; padding:0 1rem; }
h1 { font-size:1.4rem; }
table { border-collapse:collapse; width:100%; background:#fff; }
th, td { text-align:left; padding:.45rem .6rem; border-bottom:1px solid var(--line); font-size:.9rem; }
th { background:#f3f3f3; }
.actions { white-space:nowrap; }
.actions a, .actions button { margin-right:.4rem; }
.btn, button { font:inherit; padding:.35rem .7rem; border:1px solid var(--line);
               background:#fff; border-radius:6px; cursor:pointer; text-decoration:none; color:var(--fg); }
.btn { display:inline-block; margin-bottom:1rem; background:var(--accent); color:#fff; border-color:var(--accent); }
.btn.secondary { background:#fff; color:var(--fg); border-color:var(--line); }
form.inline { display:inline; }
label { display:block; margin:.6rem 0; }
input, textarea, select { display:block; width:100%; max-width:420px; padding:.4rem;
                          font:inherit; border:1px solid var(--line); border-radius:6px; margin-top:.2rem; }
textarea { min-height:4rem; }
.formbtns { margin-top:1rem; }
.flash { background:#fff7e6; border:1px solid #f0c36d; padding:.6rem .8rem; border-radius:6px; margin-bottom:1rem; }
.err { color:#b00020; }
.brk { word-break:break-all; }
ul.cards { list-style:none; padding:0; display:grid; gap:.6rem; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); }
ul.cards a { display:block; padding:.9rem; background:#fff; border:1px solid var(--line);
             border-radius:8px; text-decoration:none; color:var(--fg); }
footer { max-width:960px; margin:2rem auto; padding:1rem; color:var(--muted);
         font-size:.8rem; border-top:1px solid var(--line); }
