*{box-sizing:border-box}body{margin:0;font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f4f5f7;color:#1d2433}
header{display:flex;align-items:center;gap:20px;padding:10px 20px;background:#1d2433;color:#fff;position:sticky;top:0;z-index:2}
header nav a{color:#c9d1e3;text-decoration:none;margin-right:14px;padding:4px 0}header nav a.on{color:#fff;border-bottom:2px solid #4c8dff}
header form{margin-left:auto}button.link{background:none;border:0;color:#c9d1e3;cursor:pointer;font:inherit}
main{padding:16px 20px;max-width:1400px;margin:0 auto}.hidden{display:none!important}
.card{background:#fff;border:1px solid #e1e4ea;border-radius:8px;padding:14px 16px;margin:0 0 14px}
.card h3{margin:0 0 10px;font-size:15px}.dim{color:#6b7385}.msg{color:#b42318;min-height:1em}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:14px}
.stat{background:#fff;border:1px solid #e1e4ea;border-radius:8px;padding:10px 12px}.stat b{display:block;font-size:22px}.stat span{color:#6b7385;font-size:12px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:900px){.grid2{grid-template-columns:1fr}}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:6px 0}label{display:inline-flex;flex-direction:column;gap:3px;font-size:12px;color:#4a5263}
.checks{display:flex;flex-wrap:wrap;gap:6px 16px}.checks label{flex-direction:row;align-items:center;gap:5px;font-size:13px;color:#1d2433}
input,select,textarea{font:inherit;padding:6px 8px;border:1px solid #c9ced8;border-radius:6px;background:#fff}textarea{width:100%}
fieldset{border:1px solid #e1e4ea;border-radius:6px;margin:8px 0;padding:8px 12px}legend{font-weight:600;font-size:12px;color:#4a5263}
button{font:inherit;padding:6px 14px;border:0;border-radius:6px;background:#2f6fec;color:#fff;cursor:pointer}button:disabled{opacity:.5;cursor:default}
button.sec{background:#e8ebf1;color:#1d2433}button.danger{background:#d92d20}
.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th,.tbl td{text-align:left;padding:5px 8px;border-bottom:1px solid #eef0f4;vertical-align:top}
.tbl tr.click{cursor:pointer}.tbl tr.click:hover{background:#f6f8ff}
.bar{height:10px;background:#e8ebf1;border-radius:5px;overflow:hidden;min-width:120px}.bar i{display:block;height:100%;background:#2f6fec}
.bar.warn i{background:#f79009}.bar.bad i{background:#d92d20}
.pill{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;background:#e8ebf1}.pill.ok{background:#d1fadf;color:#05603a}
.pill.warn{background:#fef0c7;color:#93370d}.pill.bad{background:#fee4e2;color:#912018}
.kv{display:grid;grid-template-columns:220px 1fr;gap:3px 12px;font-size:13px}.kv div:nth-child(odd){color:#6b7385}
.secret{font-family:ui-monospace,monospace;background:#fff8e6;border:1px dashed #f79009;padding:8px;word-break:break-all}
.doc pre{background:#f6f8fa;padding:10px;overflow:auto;border-radius:6px}.doc code{font-family:ui-monospace,monospace;font-size:12.5px}
.doc table{border-collapse:collapse}.doc td,.doc th{border:1px solid #e1e4ea;padding:4px 8px}
body.login{display:flex;align-items:center;justify-content:center;min-height:100vh}.loginbox{width:340px}.loginbox label{display:flex;margin:10px 0}
.step{display:grid;grid-template-columns:34px 1fr 230px;gap:10px;align-items:start;border:1px solid #e1e4ea;border-radius:8px;padding:10px;margin:8px 0;background:#fbfcfe}
.step.off{opacity:.55;background:#fff}.step .num{font-size:20px;font-weight:700;color:#2f6fec;text-align:center}
.step h4{margin:0 0 2px;font-size:14px}.step .opts{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.step .opts label{font-size:11px}
.step .est{font-size:12px;color:#4a5263;text-align:right}.step .est b{font-size:14px;color:#1d2433}
.badge{font-size:11px;border-radius:9px;padding:1px 7px;margin-left:6px;background:#e8ebf1}.badge.source{background:#dbe8ff}.badge.free{background:#d1fadf}.badge.paid{background:#fee4e2}
.switch{display:flex;flex-direction:row;align-items:center;gap:6px;font-size:13px;color:#1d2433;justify-content:flex-end}
.terms label{background:#f1f4f9;border-radius:12px;padding:2px 9px}.stepmini{font-size:11px;color:#4a5263}
label.disabled{color:#98a2b3;cursor:not-allowed}
.info{display:inline-block;width:16px;height:16px;border-radius:50%;background:#e8ebf1;color:#2f6fec;font-size:11px;text-align:center;line-height:16px;cursor:help;margin-left:5px;font-weight:700}
.spark{display:flex;align-items:flex-end;gap:1px;height:22px}.spark i{display:block;width:5px;background:#2f6fec;min-height:1px;border-radius:1px}
.steps td{font-size:12px;padding:3px 6px}.metric{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}

.vsec{border:1px solid var(--line,#ddd);border-radius:8px;padding:8px 12px;margin:8px 0}
.vsec h4{margin:2px 0 6px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.vsec.off .terms,.vsec.off label:not(:first-child){opacity:.45}
