:root{--bg:#f3f6f8;--sf:#fff;--ink:#12283a;--mu:#5b6b78;--ln:#d7dfe5;--ac:#0e6b66;--bad:#b3261e;--bads:#fbe3e1;--ok:#1d6b3a;--oks:#ddf0e3}
@media (prefers-color-scheme:dark){:root{--bg:#0f1b25;--sf:#16252f;--ink:#e6eef3;--mu:#9bb0bd;--ln:#2a3d4a;--ac:#4fc3bb;--bad:#ff8a80;--bads:#3d1c1a;--ok:#7fd49b;--oks:#173324;color-scheme:dark}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.7 Tahoma,"Segoe UI",sans-serif}
header{background:var(--sf);border-bottom:1px solid var(--ln);padding:8px 16px 0}.top{display:flex;justify-content:space-between;align-items:center}
nav{display:flex;gap:4px;overflow-x:auto}nav a{padding:8px 12px;color:var(--mu);text-decoration:none;white-space:nowrap;border-bottom:3px solid transparent}nav a:hover{color:var(--ac);border-color:var(--ac)}
main{max-width:1000px;margin:0 auto;padding:16px}.card{background:var(--sf);border:1px solid var(--ln);border-radius:8px;padding:16px;margin-bottom:14px}
h1{font-size:20px;margin:0 0 12px}h2{font-size:16px;margin:0 0 10px}.hint{color:var(--mu);font-size:13px}
label{display:block;font-size:13px;color:var(--mu)}input,select,textarea{display:block;width:100%;margin-top:3px;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--ln);border-radius:6px;padding:8px}
input[type=checkbox]{display:inline;width:auto}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
button,.btn{font:inherit;background:var(--ac);color:#fff;border:0;border-radius:6px;padding:8px 16px;cursor:pointer;text-decoration:none;display:inline-block}
.btn.g,button.g{background:none;color:var(--ac);border:1px solid var(--ac)}button.lnk{background:none;color:var(--mu);padding:4px}
.msg{padding:10px 14px;border-radius:6px;margin-bottom:14px}.msg.ok{background:var(--oks);color:var(--ok)}.msg.err{background:var(--bads);color:var(--bad)}
.tw{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{padding:8px;border-bottom:1px solid var(--ln);text-align:start;white-space:nowrap}th{color:var(--mu);font-weight:500}
.badge{background:var(--bad);color:#fff;border-radius:10px;padding:0 7px;font-size:12px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.pw{font:20px/1.4 monospace;direction:ltr;background:var(--bg);padding:8px;border-radius:6px;display:inline-block;user-select:all}
.login{max-width:380px;margin:8vh auto}.kv{display:grid;grid-template-columns:140px 1fr;gap:6px 12px}.kv span:nth-child(odd){color:var(--mu)}
