/* 手写，不引任何框架/CDN/字体。首屏预算 30KB 是硬指标，这里占的每个字节都要值。 */
:root{--bg:#12141a;--fg:#e7e9ee;--dim:#9aa3b2;--line:#262a35;--card:#181b23;--acc:#4a9eff;--bad:#ff6b6b;--warn:#ffb44a}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.6 system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif}
header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}
.brand{color:var(--fg);text-decoration:none;font-weight:600}
.sub{color:var(--dim);font-size:13px}
main{max-width:960px;margin:0 auto;padding:18px}
footer{max-width:960px;margin:0 auto;padding:18px;color:var(--dim);font-size:12px}
h1{font-size:20px;margin:0 0 10px}
h2{font-size:16px;margin:0 0 10px}
h3{font-size:14px;margin:14px 0 6px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:14px}
.hint,.meta{color:var(--dim);font-size:13px;margin:8px 0}
.warn{color:var(--warn);font-size:13px;margin:8px 0}
.flash{background:#1d2a1f;border:1px solid #2f5233;border-radius:8px;padding:10px 12px;margin:0 0 14px}
.code{color:var(--acc);font-family:ui-monospace,Consolas,monospace}
a{color:var(--acc)}
footer a{color:var(--fg)}
label{display:block;margin:10px 0;color:var(--dim);font-size:13px}
input,select,textarea,button{font:inherit}
input,select,textarea{display:block;width:100%;margin-top:4px;padding:8px 10px;background:#0e1015;color:var(--fg);border:1px solid var(--line);border-radius:6px}
textarea{font-family:ui-monospace,Consolas,monospace;font-size:13px;resize:vertical}
button,.btn{display:inline-block;margin-top:10px;padding:8px 14px;background:var(--acc);color:#08111f;border:0;border-radius:6px;font-weight:600;cursor:pointer;text-decoration:none}
button:hover,.btn:hover{filter:brightness(1.1)}
button.d{background:#3a2226;color:var(--bad)}
button.c{margin:0;padding:3px 8px;font-size:12px;background:#232836;color:var(--fg);font-weight:400}
.row{display:flex;gap:8px;align-items:flex-start}
.row input{margin-top:0}
.row button{margin-top:0}
.inline{display:inline-flex;gap:6px;align-items:center;margin:0}
.inline input,.inline select{width:auto;margin-top:0}
.inline button{margin-top:0}
/* 一行最多五个操作（保存/测活/恢复/停用/删除），窄屏放不下就让它在按钮之间折行，
   按钮自己的文字不折。之前整格 nowrap，加了测活之后表格会横向溢出。 */
.ops{white-space:normal}
.ops form{display:inline-block;margin-right:4px}
.ops button{white-space:nowrap}
.copy{margin:10px 0}
.copy label{margin:0 0 4px}
.copy>div{display:flex;gap:8px;align-items:center;background:#0e1015;border:1px solid var(--line);border-radius:6px;padding:6px 8px}
.copy code{flex:1;overflow-x:auto;white-space:nowrap;font-family:ui-monospace,Consolas,monospace;font-size:13px}
table{width:100%;border-collapse:collapse;margin:10px 0;font-size:13px}
th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
th{color:var(--dim);font-weight:500}
td code{font-family:ui-monospace,Consolas,monospace}
tr.off td{opacity:.5}
tr.bad td{color:var(--bad)}
ul.bad{color:var(--bad);font-size:13px;padding-left:20px}
.rk{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ip{color:var(--dim)}
.tk code{cursor:pointer}
.tk{white-space:nowrap}
.sm{font-size:11px;margin:2px 0 0}
form.seat{display:flex;flex-direction:column;gap:3px;margin:0;min-width:150px}
form.seat input{margin-top:0;padding:4px 6px;font-size:12px}
form.seat button{margin-top:0;padding:3px 8px;font-size:12px}
/* 号池行内编辑：区域下拉和备注输入框在两个 td 里，靠 form= 属性挂到同一个表单 */
td select,td.ed input{width:auto;max-width:150px;margin-top:0;padding:3px 6px;font-size:12px}
ol.steps{padding-left:20px;font-size:14px}
ol.steps li{margin:6px 0}
i{color:var(--dim);font-style:normal}
@media(max-width:640px){main,footer{padding:12px}table{font-size:12px}th,td{padding:5px 4px}.rk{max-width:120px}
td select,td.ed input{max-width:104px}}
