:root{--bg:#f6f7f9;--fg:#1c2330;--mut:#667085;--card:#fff;--line:#e3e6ec;--acc:#1f6feb;--ok:#13795b;--warn:#b54708;--err:#b42318}
*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,sans-serif;background:var(--bg);color:var(--fg)}
.top{display:flex;gap:1.5rem;align-items:center;padding:.6rem 1.2rem;background:#fff;border-bottom:1px solid var(--line);flex-wrap:wrap}
.top nav{display:flex;gap:1rem;flex:1}.top a{color:var(--fg);text-decoration:none}.top a:hover{color:var(--acc)}
.who{color:var(--mut);display:flex;gap:.6rem;align-items:center}.srv.on{font-weight:700}
main{max-width:1100px;margin:1.2rem auto;padding:0 1rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem 1.2rem;margin-bottom:1rem}
.narrow{max-width:360px;margin:4rem auto}
table{width:100%;border-collapse:collapse}th,td{padding:.45rem .5rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
th{color:var(--mut);font-weight:600;font-size:.85rem}
input,select,textarea{padding:.4rem .5rem;border:1px solid var(--line);border-radius:6px;font:inherit}
label{display:block;margin:.5rem 0}label input{display:block;width:100%}
button{padding:.4rem .8rem;border:0;border-radius:6px;background:var(--acc);color:#fff;font:inherit;cursor:pointer}
button.danger{background:var(--err)}button.link{background:none;color:var(--acc);padding:0}
form.inline{display:inline-flex;gap:.3rem;align-items:center;margin:0}
.msg{padding:.5rem .8rem;border-radius:6px}.msg.ok{background:#e7f6ef;color:var(--ok)}.msg.err{background:#fdecea;color:var(--err)}
.badge{padding:.1rem .5rem;border-radius:999px;font-size:.8rem}.b-ok{background:#e7f6ef;color:var(--ok)}.b-warn{background:#fef0c7;color:var(--warn)}.b-missing{background:#fdecea;color:var(--err)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.8rem}
.stat b{display:block;font-size:1.6rem}.stat span{color:var(--mut);font-size:.85rem}
code,pre{background:#f0f2f6;padding:.15rem .35rem;border-radius:4px;font-size:.85rem;word-break:break-all}
pre{padding:.6rem;white-space:pre-wrap}.mut{color:var(--mut)}
svg .s{fill:var(--acc)}svg .r{fill:#7fb2ff}
