:root{--ink:#14171c;--muted:#5b6270;--line:#e3e6eb;--bg:#f5f6f8;--card:#fff;--accent:#2140c4;--ok:#0b6b57;--warn:#8a4b00;--bad:#a61b1b}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-family:IBM Plex Sans,system-ui,sans-serif}a{color:var(--accent)}header.top{background:var(--ink);color:#fff;flex-wrap:wrap;align-items:center;gap:24px;min-height:56px;padding:0 24px;display:flex}header.top nav{flex-wrap:wrap;gap:4px;font-size:14px;display:flex}header.top nav a{color:#c9ced6;border-radius:6px;padding:8px 12px;text-decoration:none}header.top nav a[aria-current=page]{color:#fff;background:#2a2f38}main{flex-direction:column;gap:20px;max-width:1440px;margin:0 auto;padding:24px;display:flex}h1{margin:0;font-size:26px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px}.muted{color:var(--muted);font-size:14px}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.skeleton{background:linear-gradient(90deg,#eef0f3,#f7f8fa,#eef0f3) 0 0/200% 100%;border-radius:12px;min-height:96px;animation:1.2s infinite sk}@keyframes sk{to{background-position:-200% 0}}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--muted);padding:8px 10px;font-size:12px;font-weight:600}td{border-top:1px solid var(--line);vertical-align:top;padding:10px}.scroll{overflow-x:auto}button,.btn{font:inherit;cursor:pointer;background:#fff;border:1px solid #cdd2da;border-radius:8px;height:40px;padding:0 14px;font-weight:600}.btn-primary{background:var(--accent);color:#fff;border:none;align-items:center;text-decoration:none;display:inline-flex}input,select,textarea{font:inherit;background:#fff;border:1px solid #cdd2da;border-radius:8px;height:40px;padding:0 10px}textarea{height:auto;padding:8px 10px}.pill{border-radius:11px;align-items:center;height:22px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.pill-ok{color:var(--ok);background:#e3f4ef}.pill-warn{color:var(--warn);background:#fdf0dc}
