:root{--bg:#f6f7f9;--card:#fff;--ink:#1f2933;--mute:#6b7785;--line:#e4e7eb;--blue:#1a73e8;--green:#137333;--amber:#b06000;--red:#b3261e}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 system-ui,Segoe UI,Arial,sans-serif}
.top{display:flex;gap:20px;align-items:center;padding:10px 20px;background:#fff;border-bottom:1px solid var(--line)}
.top nav{display:flex;gap:14px;flex:1}.top nav a{color:var(--mute);text-decoration:none;padding:4px 0}.top nav a.on{color:var(--ink);border-bottom:2px solid var(--blue)}
main{padding:20px;max-width:1700px;margin:0 auto}h1{font-size:20px;margin:0 0 14px}h2{font-size:15px;margin:0 0 10px}h2 small{font-weight:400;color:var(--mute)}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;margin:14px 0}.card.narrow{max-width:460px}.card.wide{overflow:auto}.card.warn{border-color:var(--amber);background:#fff8e6}
label{display:block;font-size:12px;color:var(--mute);margin-bottom:8px}label input,label select{display:block;margin-top:3px;width:100%}
input[type=text],input[type=password],input[type=date],select{padding:7px 9px;border:1px solid #c4cdd5;border-radius:6px;font:inherit;background:#fff;color:var(--ink)}
button,.btn{padding:8px 14px;border:0;border-radius:6px;background:var(--blue);color:#fff;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}
.ghost{background:#eef1f4;color:var(--ink)}button.link{background:none;color:var(--blue);padding:2px 6px}
.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px}
.filters label{margin:0;min-width:130px}.filters .chk{display:flex;gap:6px;align-items:center;min-width:0}.filters .chk input{width:auto;margin:0}
.inline{display:inline}.inline input[type=text]{width:220px}
table.grid{border-collapse:collapse;width:100%}.grid th{text-align:left;font-size:12px;color:var(--mute);padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
.grid td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}.grid.small td,.grid.small th{padding:5px 8px}
.nw{white-space:nowrap}.muted{color:var(--mute);font-size:12px}.old{color:var(--red)}.new{color:var(--green);font-weight:600}
.badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:600;background:#eef1f4}
.b-change{background:#fff4ce;color:var(--amber)}.b-action{background:#d9f2e3;color:var(--green)}.b-note{background:#e8dcf7;color:#6b3fa0}.b-page_view{background:#e4eefc;color:var(--blue)}
.err{color:var(--red)}.ok{color:var(--green);font-weight:600}.pager{text-align:center;margin:14px 0 4px}
code.token{font:16px ui-monospace,Consolas,monospace;background:#fff;border:1px solid var(--line);padding:6px 10px;border-radius:6px;user-select:all}
textarea{width:100%;padding:7px 9px;border:1px solid #c4cdd5;border-radius:6px;font:inherit}
.big{font-size:26px}ol.steps{padding-left:18px;margin:0 0 14px}ol.steps li{margin-bottom:6px}
input[type=file]{padding:6px 0}code{background:#eef1f4;padding:1px 5px;border-radius:4px}
.big-btn{font-size:16px;padding:12px 22px}ol.steps.big li{margin-bottom:12px}.copyrow{margin-top:6px}ul.steps{padding-left:18px;margin:0}ul.steps li{margin-bottom:6px}
.live{margin:8px 0 0}.live .chk{display:inline-flex;gap:6px;align-items:center}.live .chk input{width:auto;margin:0}
