:root{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #f1f2f5;--border: #e3e5ea;--border-strong: #d1d5db;--text: #16181d;--text-dim: #5b616e;--text-faint: #9aa0ac;--accent: #4338ca;--accent-hover: #372db0;--accent-soft: #eeecfb;--accent-soft-hover: #e3e0f9;--danger: #dc2626;--danger-hover: #b91c1c;--danger-soft: #fdecec;--danger-soft-hover: #fbdada;--good: #15803d;--good-soft: #e7f6ec;--warn: #b45309;--warn-soft: #fdf1dc;--radius: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow-md: 0 4px 12px rgba(16, 24, 40, .08)}*{box-sizing:border-box}body{background:var(--bg);color:var(--text)}@media (prefers-reduced-motion: reduce){*{transition-duration:.001ms!important}}.btn{display:inline-flex;align-items:center;gap:.4rem;font:inherit;font-size:.875rem;font-weight:500;padding:.5rem .9rem;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease,opacity .12s ease;white-space:nowrap}.btn:disabled{cursor:default;opacity:.55}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-soft),0 0 0 1px var(--accent)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-2)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-soft-hover)}.btn-icon{width:16px;height:16px;flex-shrink:0}.field-input{font:inherit;font-size:.9rem;width:100%;padding:.55rem .7rem;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);transition:border-color .12s ease,box-shadow .12s ease}.field-input::placeholder{color:var(--text-faint)}.field-input:hover{border-color:var(--text-faint)}.field-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field-input:disabled{background:var(--surface-2);color:var(--text-faint);cursor:default}textarea.field-input{font-family:ui-monospace,monospace;resize:vertical}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th{text-align:left;padding:.6rem .75rem;color:var(--text-dim);font-weight:500;font-size:.78rem;text-transform:uppercase;letter-spacing:.02em;border-bottom:1px solid var(--border)}.table td{padding:.65rem .75rem;vertical-align:middle;border-bottom:1px solid var(--border)}.table tbody tr{transition:background-color .12s ease}.table tbody tr:hover{background:var(--surface-2)}.badge{display:inline-flex;align-items:center;font-size:.75rem;font-weight:500;padding:.15rem .55rem;border-radius:999px;background:var(--surface-2);color:var(--text-dim)}.badge-good{background:var(--good-soft);color:var(--good)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.1rem 1.25rem}.upload-btn{position:relative;display:inline-flex;align-items:center;gap:.4rem;font:inherit;font-size:.8rem;font-weight:500;padding:.4rem .7rem;border-radius:var(--radius);border:1px dashed var(--border-strong);background:var(--surface);color:var(--text-dim);cursor:pointer;transition:border-color .12s ease,color .12s ease,background-color .12s ease}.upload-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.upload-btn:has(input:focus-visible){outline:none;box-shadow:0 0 0 3px var(--accent-soft),0 0 0 1px var(--accent)}.upload-btn input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%}.upload-btn.is-disabled{opacity:.6;pointer-events:none}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:none;border-radius:6px;color:var(--text-dim);cursor:pointer;transition:background-color .12s ease,color .12s ease}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.icon-btn:disabled{cursor:default;opacity:.35}.icon-btn.icon-btn-danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.combobox-option{transition:background-color .12s ease}.combobox-option:hover{background:var(--accent-soft)}.nav-link{display:block;padding:.45rem .6rem;border-radius:var(--radius);font-size:.875rem;text-decoration:none;color:var(--text-dim);transition:background-color .12s ease,color .12s ease}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link.active{background:var(--accent);color:#fff;font-weight:500}
