:root{--bg:#f6f7f9;--panel:#fff;--border:#e3e6ea;--text:#1d2329;--muted:#6b7480;--accent:#2563eb;--danger:#c62828;--warn-bg:#fff4e5;--ok:#1b7f3b;color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.layout{min-height:100vh;display:flex}.nav{color:#e5e7eb;background:#1f2937;flex-shrink:0;width:180px;padding:16px 0}.nav h1{color:#fff;margin:0 16px 16px;font-size:15px}.nav a{color:#d1d5db;padding:8px 16px;display:block}.nav a.active{color:#fff;background:#374151}.nav .me{color:#9ca3af;word-break:break-all;margin:16px;font-size:12px}.main{flex:1;min-width:0;padding:20px 24px;overflow-x:auto}.panel{background:var(--panel);border:1px solid var(--border);border-radius:6px;margin-bottom:16px;padding:16px}.panel h2{margin:0 0 12px;font-size:15px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:6px 8px}th{color:var(--muted);font-weight:500}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr.stale td{background:var(--warn-bg)}input,select,textarea,button{font:inherit}input,select,textarea{border:1px solid var(--border);background:#fff;border-radius:4px;padding:5px 8px}textarea{width:100%;font-family:ui-monospace,Menlo,monospace}button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:4px;padding:5px 12px}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:var(--danger)}button:disabled{opacity:.5;cursor:not-allowed}.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px 20px;display:grid}.field label{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.field input:not([type=checkbox]),.field select{width:100%}.field .hint{color:var(--muted);margin-top:2px;font-size:12px}.field.changed input{border-color:var(--accent);background:#eef4ff}.error{color:var(--danger);white-space:pre-wrap;margin:8px 0}.success{color:var(--ok);margin:8px 0}.muted{color:var(--muted)}.badge{background:#eef0f3;border-radius:3px;padding:1px 6px;font-size:12px;display:inline-block}.badge.warn{background:var(--warn-bg);color:#9a5b00}td.up{color:var(--ok)}td.down{color:var(--danger)}.secret{word-break:break-all;background:#fffbe6;border:1px dashed #e0b400;padding:8px;font-family:ui-monospace,Menlo,monospace}
