:root{--ink:#0f172a;--muted:#475569;--line:#e2e8f0;--bg:#f1f5f9;--card:#ffffff;--blue:#1d4ed8;--blue-d:#1e3a8a;--blue-l:#dbeafe;--ok:#14532d;--ok-bg:#dcfce7;--warn:#7c2d12;--warn-bg:#ffedd5;--err:#7f1d1d;--err-bg:#fee2e2;--radius:10px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body,html{margin:0;padding:0}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.5rem;margin:0 0 1rem}h2{font-size:1.15rem;margin:1.5rem 0 .75rem}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem}.field label{font-size:.85rem;font-weight:600;color:var(--muted)}.input,select.input{font:inherit;padding:.6rem .7rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff;min-height:42px}.input:focus{outline:2px solid var(--blue);outline-offset:0;border-color:var(--blue)}.btn{font:inherit;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1rem;min-height:42px;border-radius:8px;border:1px solid var(--blue);background:var(--blue);color:#fff;cursor:pointer}.btn,.btn:hover{text-decoration:none}.btn:hover{background:var(--blue-d)}.btn:disabled{opacity:.6;cursor:default}.btn-secondary{background:#fff;color:var(--blue)}.btn-secondary:hover{background:var(--blue-l)}.btn-danger{background:#fff;color:var(--err);border-color:#fca5a5}.btn-danger:hover{background:var(--err-bg)}.btn-sm{padding:.35rem .65rem;min-height:32px;font-size:.85rem}.row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.alert{padding:.7rem .9rem;border-radius:8px;margin-bottom:1rem;font-size:.95rem}.alert-err{background:var(--err-bg);color:var(--err)}.alert-ok{background:var(--ok-bg);color:var(--ok)}.alert-warn{background:var(--warn-bg);color:var(--warn)}.badge,.muted{color:var(--muted)}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--line)}.badge-blue{background:var(--blue-l);color:var(--blue-d)}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-err{background:var(--err-bg);color:var(--err)}.table-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}table.table{width:100%;border-collapse:collapse;font-size:.92rem}.table td,.table th{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--line);vertical-align:top}.table th{background:#f8fafc;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.table tr:last-child td{border-bottom:0}.pagination{display:flex;gap:.5rem;align-items:center;margin-top:1rem}pre.json{margin:0;font-size:.78rem;white-space:pre-wrap;word-break:break-word;max-width:360px}