:root{--ink: #0b0b0c;--paper: #f4f3ef;--coral: #ff5a36;--coral-deep: #c73a1a;--peach: #ffe3d6;--mist: #e3e1da;--surface: #ffffff;--canvas: #fcfbf9;--ink-soft: #3d3c39;--muted: #6b6a66;--line: var(--mist);--line-strong: #c9c6bc;--danger: #b42318;--danger-bg: #fdecea;--success: #1f7a3d;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 2px rgb(11 11 12 / .04), 0 8px 24px rgb(11 11 12 / .06);--font: "Geist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:var(--font);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:999px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:600 15px/1 var(--font);text-decoration:none;cursor:pointer;transition:opacity .15s,background .15s}.btn:hover{opacity:.88}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--ghost{background:transparent;color:var(--ink)}.btn--ghost:hover{background:#0b0b0c0d;opacity:1}.btn--light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn--block{width:100%}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.panel,.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.stat span{display:block;font-size:13px;color:var(--muted)}.stat strong{display:block;margin-top:6px;font-size:28px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.panel-title{margin:0 0 12px;font-size:16px;font-weight:600}.empty{display:grid;place-items:center;gap:8px;padding:48px 16px;text-align:center;color:var(--muted)}.empty strong{color:var(--ink);font-size:16px}.empty p{margin:0;max-width:420px}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-weight:500;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:12px;border-bottom:1px solid var(--line)}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#0b0b0c0f}:root{--ink: #09090b;--ink-soft: #3f3f46;--muted: #71717a;--faint: #a1a1aa;--icon: #7c7c85;--on-ink: #ffffff;--canvas: #ffffff;--surface: #ffffff;--paper: #f7f7f8;--mist: #e6e6e9;--line: #e6e6e9;--line-strong: #d1d1d6;--line-hover: #b4b4bb;--tint: 9 9 11;--shade: 9 9 11;--success: #15803d;--warn: #d97706;--danger: #b91c1c;--danger-bg: #fef2f2;--danger-line: rgb(185 28 28 / .16);--radius: 10px;--radius-sm: 7px;--shadow: 0 1px 2px rgb(var(--shade) / .05), 0 6px 20px rgb(var(--shade) / .07);color-scheme:light}:root[data-theme=dark]{--ink: #fafafa;--ink-soft: #d4d4d8;--muted: #a1a1aa;--faint: #71717a;--icon: #8b8b94;--on-ink: #09090b;--canvas: #0b0b0d;--surface: #17171a;--paper: #111113;--mist: #27272b;--line: #27272b;--line-strong: #3a3a41;--line-hover: #52525b;--tint: 255 255 255;--shade: 0 0 0;--success: #4ade80;--warn: #fbbf24;--danger: #f87171;--danger-bg: rgb(248 113 113 / .1);--danger-line: rgb(248 113 113 / .25);--shadow: 0 1px 2px rgb(0 0 0 / .4), 0 10px 30px rgb(0 0 0 / .5);color-scheme:dark}.on-dark{display:none!important}:root[data-theme=dark] .on-light{display:none!important}:root[data-theme=dark] .on-dark{display:block!important}body{background:var(--canvas);font-size:14px}.btn{height:36px;padding:0 14px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:var(--on-ink)}.btn--ghost{border-color:var(--line-strong);color:var(--ink)}.btn--ghost:hover{background:rgb(var(--tint)/.05)}.panel{border-radius:var(--radius)}.badge{background:rgb(var(--tint)/.07);border-radius:6px;font-weight:500}.btn{transition:background-color .12s ease,border-color .12s ease,opacity .12s ease,transform .06s ease}.btn:active:not(:disabled){transform:scale(.985)}.btn:disabled{opacity:.4}.btn--lg{height:40px;padding:0 16px;font-size:14.5px}.field{display:grid;gap:6px;font-size:13px;font-weight:500;color:var(--ink)}.field small{font-size:12.5px;font-weight:400;color:var(--muted)}.field .error{color:var(--danger)}.input{width:100%;height:36px;padding:0 11px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);font:400 14px var(--font);color:var(--ink);transition:border-color .12s ease,box-shadow .12s ease}.input::placeholder{color:var(--faint)}.input:hover:not(:disabled):not(:focus){border-color:var(--line-hover)}.input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgb(var(--shade)/.08)}.input.invalid{border-color:var(--danger)}.input.invalid:focus{box-shadow:0 0 0 3px #b91c1c1f}.input:disabled{background:var(--paper);color:var(--muted)}.input--lg{height:40px;padding:0 12px;font-size:15px}.input--mono{font-family:var(--font-mono);font-size:13px}.alert{padding:10px 12px;border:1px solid var(--danger-line);border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--danger);font-size:13px}.alert--success{border-color:color-mix(in srgb,var(--success) 28%,transparent);background:color-mix(in srgb,var(--success) 9%,transparent);color:var(--success)}.switch{position:relative;flex:none;width:36px;height:22px;padding:0;border:0;border-radius:999px;background:var(--line-strong);cursor:pointer;transition:background-color .16s ease}.switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .16s ease}.switch[aria-checked=true]{background:var(--success)}.switch[aria-checked=true]:after{transform:translate(14px)}.switch:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.switch:disabled{opacity:.5;cursor:not-allowed}select.input{appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;cursor:pointer}textarea.input{height:auto;min-height:72px;padding:8px 11px;line-height:1.5;resize:vertical}.btn--sm{height:30px;padding:0 10px;font-size:13px}.btn--danger{border-color:var(--line-strong);background:transparent;color:var(--danger)}.btn--danger:hover{border-color:var(--danger);background:var(--danger-bg);opacity:1}.spin{animation:hv-spin .8s linear infinite}@keyframes hv-spin{to{transform:rotate(360deg)}}@keyframes hv-pop{0%{opacity:0;transform:translateY(-4px) scale(.98)}}@keyframes hv-fade{0%{opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
