body.admin{overflow:auto}
body.admin header.top{position:sticky;top:0;z-index:5}
.back{text-decoration:none;color:var(--text);font-size:17px!important}
.back svg{width:22px!important;height:22px!important}
.title{font-size:20px;margin:0}
.wrap{max-width:900px;margin:0 auto;padding:16px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:6px 18px 18px;margin-bottom:16px}
.panel h2{font-size:16px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:8px;margin:12px 0 14px}
.count{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:0 8px;font-size:14px;letter-spacing:0}
.grid-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid-form .full,.grid-form .check{grid-column:1/-1}
.grid-form small{display:block;color:var(--muted);font-size:14px;margin-top:6px}
.grid-form .input{font-size:17px;padding:11px 13px}
.check label{display:flex;gap:10px;align-items:center;font-weight:600;cursor:pointer}
.check input{width:22px;height:22px;accent-color:var(--accent)}
.pw-row{display:flex;gap:8px}
.pw-row .input{flex:1;min-width:0;font-family:ui-monospace,Consolas,monospace}
.user-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.user-list li{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--bg);flex-wrap:wrap}
.user-list li.disabled{opacity:.75;border-style:dashed}
.user-list .who{flex:1;min-width:180px}
.user-list .sub{color:var(--muted);font-size:14px}
.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.tag{display:inline-flex;align-items:center;gap:4px;font-size:13px;padding:2px 8px;border-radius:9px;border:1px solid var(--line);background:var(--panel2)}
.tag.admin{border-color:var(--accent)} .tag.admin svg{color:var(--accent)}
.tag.online svg{color:var(--good)}
.tag.off{border-color:var(--bad);color:#ffd4d4} .tag.off svg{color:var(--bad)}
.actions{display:flex;gap:6px;flex-wrap:wrap}
.actions .btn{padding:7px 10px;font-size:14px}
.actions .btn.danger{border-color:var(--bad);color:#ffd4d4}
@media (max-width:640px){ .grid-form{grid-template-columns:1fr} .actions{width:100%} }

/* ---------- Tabs and System ---------- */
.tabs{display:flex;gap:6px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.tabs button{display:flex;align-items:center;gap:8px;background:none;border:0;padding:12px 16px;font-weight:650;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-1px}
.tabs button[aria-selected="true"]{color:var(--text);border-bottom-color:var(--accent)}
.panel h3{font-size:15px;margin:18px 0 8px;color:var(--text)}
.line{margin:0 0 12px}
.muted{color:var(--muted)}
.state-tag{display:inline-flex;align-items:center;gap:6px;font-weight:650;padding:3px 10px;border-radius:10px;border:1px solid var(--line);background:var(--panel2)}
.state-tag.good{border-color:var(--good)} .state-tag.good svg{color:var(--good)}
.state-tag.warn{border-color:var(--warn)} .state-tag.warn svg{color:var(--warn)}
.state-tag.bad{border-color:var(--bad)} .state-tag.bad svg{color:var(--bad)}
.state-tag.info svg{color:var(--accent)}
.job{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:14px;background:var(--bg)}
.job-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.job pre{max-height:320px;overflow:auto;background:#05070a;border:1px solid var(--line);border-radius:10px;padding:10px;font-size:13px;white-space:pre-wrap;word-break:break-word;margin:8px 0 0}
.job details summary{cursor:pointer;margin-top:10px;color:var(--muted)}
.job #reloadBtn{margin-top:10px}
.staged{border:2px solid var(--accent);border-radius:12px;padding:14px;margin-bottom:14px}
.staged .facts{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0 14px;font-size:15px}
.staged .facts code{word-break:break-all}
.staged .acts{display:flex;gap:8px;flex-wrap:wrap}
.staged .acts small{display:block;color:var(--muted);flex-basis:100%}
.upload small{display:block;color:var(--muted);font-size:14px;margin-top:6px}
input[type=file].input{padding:9px}
.choices{border:0;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:8px}
.choice{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:12px;cursor:pointer}
.choice:has(input:checked){border-color:var(--accent);background:#10273a}
.choice input{width:20px;height:20px;margin-top:2px;accent-color:var(--accent)}
.choice small{display:block;color:var(--muted);font-size:14px}
.indent{margin:0 0 4px 44px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.indent textarea{width:100%;font-family:ui-monospace,Consolas,monospace;font-size:15px}
.row-inline{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.field.inline{margin:0}
select.input{padding:10px 12px;font-size:16px;width:auto}
select.input.narrow{flex:none}
.rule-list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}
.rule-list li{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg);flex-wrap:wrap}
.rule-list .nm{font-family:ui-monospace,Consolas,monospace;font-weight:650;min-width:120px}
.rule-list .why{color:var(--muted);font-size:14px;flex:1;display:flex;align-items:center;gap:6px}
.rule-list .btn{padding:6px 10px;font-size:14px}
.rule-list .empty{color:var(--muted)}
.two-forms{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mini{margin:6px 0 10px}
.mini .input{font-size:16px;padding:10px 12px}
.btn.danger{border-color:var(--bad);color:#ffd4d4}
.audit{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:420px;overflow:auto}
.audit li{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg);font-size:14px}
.audit .when{color:var(--muted)}
.audit .what{grid-column:1/-1}
.remember{display:flex;gap:8px;align-items:center;margin-top:12px;color:var(--muted);font-size:15px}
.remember input{width:18px;height:18px;accent-color:var(--accent)}
.note.info{border-color:var(--accent)}
@media (max-width:640px){ .two-forms{grid-template-columns:1fr} .indent{margin-left:0} }
