:root{--paper: #f6f7f9;--surface: #ffffff;--ink: #17233b;--muted: #5b6b85;--faint: #8b98ad;--line: #e3e8f0;--line-strong: #cbd4e1;--brand: #1f4fd8;--brand-ink: #163a9e;--brand-soft: #e9effc;--green: #1e7f4f;--green-soft: #e7f5ec;--amber: #9a6a10;--amber-soft: #fdf3dd;--red: #bb3327;--red-soft: #fdecea;--font-display: "Archivo", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "IBM Plex Mono", monospace;--radius: 10px;--radius-sm: 6px;--shadow: 0 1px 2px rgba(23, 35, 59, .05), 0 4px 16px rgba(23, 35, 59, .06)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:14.5px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin:0 0 .5rem}h1{font-size:26px;font-weight:700}h2{font-size:20px;font-weight:700}h3{font-size:16px;font-weight:600}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.mono{font-family:var(--font-mono);font-size:13px;letter-spacing:-.01em}.price{font-family:var(--font-mono);font-weight:600;font-variant-numeric:tabular-nums}.page{max-width:1180px;margin:0 auto;padding:28px 24px 64px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.page-head .sub{color:var(--muted);font-size:13.5px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-size:14px;font-weight:600;border-radius:var(--radius-sm);border:1px solid transparent;padding:9px 16px;cursor:pointer;transition:background .15s ease,border-color .15s ease;white-space:nowrap}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-ink)}.btn-outline{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn-outline:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.btn-ghost{background:transparent;color:var(--brand)}.btn-ghost:hover:not(:disabled){background:var(--brand-soft)}.btn-danger{background:var(--red-soft);color:var(--red)}.btn-danger:hover:not(:disabled){background:#f8dcd8}.btn-sm{padding:5px 11px;font-size:13px}label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:5px}.field{margin-bottom:15px}.hint{font-size:12.5px;color:var(--faint);margin-top:4px}input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{width:100%;font-family:var(--font-body);font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:9px 12px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}input.mono-input{font-family:var(--font-mono);font-size:13px}.form-error{color:var(--red);font-size:13px;margin-top:4px}.badge{display:inline-block;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;letter-spacing:.01em}.badge-neutral{background:var(--paper);color:var(--muted);border:1px solid var(--line)}.badge-blue{background:var(--brand-soft);color:var(--brand-ink)}.badge-green{background:var(--green-soft);color:var(--green)}.badge-amber{background:var(--amber-soft);color:var(--amber)}.badge-red{background:var(--red-soft);color:var(--red)}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);padding:10px 14px;border-bottom:1px solid var(--line)}.table td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:#fafbfd}.table .num{text-align:right}.empty{text-align:center;color:var(--muted);padding:48px 24px}.empty strong{display:block;font-family:var(--font-display);font-size:16px;color:var(--ink);margin-bottom:6px}.spinner{width:22px;height:22px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite;margin:32px auto}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}.stat .stat-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--faint)}.stat .stat-value{font-family:var(--font-mono);font-size:24px;font-weight:600;margin-top:4px}.stat.alert{border-left:4px solid var(--amber)}.stat.alert .stat-value{color:var(--amber)}.stat.danger{border-left:4px solid var(--red)}.stat.danger .stat-value{color:var(--red)}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.toolbar .spacer{flex:1}.toolbar input,.toolbar select{max-width:240px}.row-actions{display:flex;gap:8px;justify-content:flex-end}
