:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#f1f3f6;--border:#e3e6eb;--text:#16191f;--muted:#5d6573;--brand:#0f766e;--brand-strong:#0b5c56;--brand-soft:#e3f3f1;--success:#15803d;--success-soft:#e5f5ea;--warning:#a16207;--warning-soft:#fdf3dc;--danger:#b42318;--danger-soft:#fdecea;--neutral-soft:#eceef2;--focus:#2563eb;--shadow:0 1px 2px #1018280f, 0 1px 3px #10182814;--radius:10px;--sidebar:#0f1d1c;--sidebar-text:#c9d6d4;--sidebar-active:#1d3a38;color:var(--text);background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--bg:#0f1216;--surface:#161b21;--surface-2:#1c232b;--border:#2a323c;--text:#e8ebef;--muted:#9aa4b2;--brand:#2dd4bf;--brand-strong:#5eead4;--brand-soft:#123331;--success:#4ade80;--success-soft:#132e1f;--warning:#facc15;--warning-soft:#2f2a12;--danger:#f87171;--danger-soft:#331a1a;--neutral-soft:#242b34;--focus:#60a5fa;--shadow:none;--sidebar:#0a1110;--sidebar-active:#16302e}}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;margin:0}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;line-height:1.25}h1{font-size:1.45rem;font-weight:650}h2{font-size:1.1rem;font-weight:620}h3{font-size:.95rem;font-weight:600}p{margin:0}code,.mono{font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.88em}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.page{gap:20px;max-width:1240px;display:grid}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.page-head p{color:var(--muted);margin-top:4px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.grid{gap:16px;display:grid}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid.stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.spacer{flex:1}.muted{color:var(--muted)}.small{font-size:.85rem}.right{text-align:right}.nowrap{white-space:nowrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;display:flex}.card .body{padding:18px}.card .body.tight{padding:0}.stat{padding:16px 18px}.stat .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:550}.stat .value{font-variant-numeric:tabular-nums;margin-top:4px;font-size:1.55rem;font-weight:650}.stat .hint{color:var(--muted);margin-top:2px;font-size:.84rem}.stat.brand{background:linear-gradient(135deg, var(--brand), var(--brand-strong));color:#fff;border:0}.stat.brand .label,.stat.brand .hint{color:#fffc}@media (prefers-color-scheme:dark){.stat.brand{color:#062a27}.stat.brand .label,.stat.brand .hint{color:#062a27bf}}dl.props{grid-template-columns:minmax(130px,max-content) 1fr;gap:8px 18px;margin:0;display:grid}dl.props dt{color:var(--muted)}dl.props dd{overflow-wrap:anywhere;margin:0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:10px 14px}th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2);white-space:nowrap;font-size:.78rem;font-weight:600}tbody tr:hover{background:var(--surface-2)}tbody tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;white-space:nowrap}.empty{text-align:center;color:var(--muted);padding:36px 18px}form.stack{gap:14px;display:grid}.field{gap:5px;display:grid}.field label,.label-text{font-size:.85rem;font-weight:560}.field .help{color:var(--muted);font-size:.8rem}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;min-height:38px;padding:8px 11px}textarea{resize:vertical;min-height:80px}input:focus,select:focus,textarea:focus{outline:2px solid var(--focus);outline-offset:0;border-color:#0000}input[type=checkbox]{width:auto;min-height:0}.filters{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:10px;display:grid}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.inline-form .field{flex:1;min-width:160px}.btn{font:inherit;border:1px solid var(--border);background:var(--surface);min-height:38px;color:var(--text);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:.9rem;font-weight:560;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-2);text-decoration:none}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-strong)}@media (prefers-color-scheme:dark){.btn.primary{color:#062a27}}.btn.danger{color:var(--danger);border-color:var(--danger);background:0 0}.btn.danger:hover{background:var(--danger-soft)}.btn.small{min-height:30px;padding:4px 10px;font-size:.82rem}.btn:disabled{opacity:.55;cursor:not-allowed}.link-btn{color:var(--brand);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:.78rem;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge.success{color:var(--success);background:var(--success-soft)}.badge.warning{color:var(--warning);background:var(--warning-soft)}.badge.danger{color:var(--danger);background:var(--danger-soft)}.badge.neutral{color:var(--muted);background:var(--neutral-soft)}.notice{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;padding:11px 14px;font-size:.92rem}.notice.error{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.notice.success{border-color:var(--success);background:var(--success-soft);color:var(--success)}.notice.warning{border-color:var(--warning);background:var(--warning-soft);color:var(--warning)}.secret{background:var(--surface-2);border:1px dashed var(--brand);border-radius:8px;align-items:center;gap:8px;padding:10px 12px;display:flex}.secret code{overflow-wrap:anywhere;flex:1;font-size:.95rem}.tabs{border-bottom:1px solid var(--border);gap:2px;display:flex;overflow-x:auto}.tabs a{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 14px;font-weight:560}.tabs a:hover{color:var(--text);text-decoration:none}.tabs a[aria-current=page]{color:var(--brand);border-bottom-color:var(--brand)}.pager{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;font-size:.88rem;display:flex}dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);width:min(460px,100vw - 32px);padding:0;box-shadow:0 20px 50px #00000040}dialog::backdrop{background:#0a0f1473}dialog header{border-bottom:1px solid var(--border);padding:14px 18px}dialog .body{padding:18px}@media (width<=640px){th,td{padding:9px 10px}.stat .value{font-size:1.3rem}}
