@charset "UTF-8";:root{--brand-red: #e01b24;--brand-red-dark: #b8151d;--brand-violet: #6d4aff;--brand-violet-pale:#f1eeff;--ink: #111827;--ink-body: #1f2937;--ink-muted: #6b7280;--ink-faint: #9ca3af;--surface: #ffffff;--surface-sunken: #f9fafb;--pill: #f3f4f6;--line: #e5e7eb;--ok: #059669;--warn: #d97706;--danger: var(--brand-red);--canvas-from: #f6f4fd;--canvas-to: #fdfcff;--font: "Inter", "Poppins", "Segoe UI", system-ui, -apple-system, sans-serif;--text-page: 2.75rem;--text-card: 1.5rem;--text-body: 1.0625rem;--text-label: .9375rem;--text-small: .8125rem;--radius-card: 20px;--radius-input: 10px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgb(17 24 39 / 4%), 0 8px 24px rgb(17 24 39 / 6%);--shadow-lift: 0 2px 4px rgb(17 24 39 / 6%), 0 16px 40px rgb(17 24 39 / 10%);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 2.5rem;--space-8: 3rem;--control-height: 3.25rem;--sidebar-width: 15.5rem}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%;font-family:var(--font);font-size:16px;color:var(--ink-body);background:linear-gradient(160deg,var(--canvas-from) 0%,var(--canvas-to) 55%);background-attachment:fixed;-webkit-font-smoothing:antialiased}h1,h2,h3{color:var(--ink);margin:0;font-weight:700;letter-spacing:-.02em}h1{font-size:var(--text-page)}h2{font-size:1.75rem}h3{font-size:var(--text-card);font-weight:600}a{color:var(--brand-violet);text-decoration:none}a:hover{text-decoration:underline}.card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--space-6)}.card__title{font-size:var(--text-card);font-weight:600;color:var(--ink);margin:0 0 var(--space-5)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-6);border:1px solid transparent;border-radius:var(--radius-input);font:inherit;font-weight:600;font-size:var(--text-body);cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:3px solid var(--brand-violet-pale);outline-offset:2px}.btn--primary{background:var(--brand-red);color:#fff}.btn--primary:hover:not(:disabled){background:var(--brand-red-dark)}.btn--secondary{background:var(--surface);color:var(--brand-violet);border-color:var(--line)}.btn--secondary:hover:not(:disabled){border-color:var(--brand-violet)}.btn--ghost{background:transparent;color:var(--ink-muted);min-height:2.25rem;padding:0 var(--space-3)}.btn--ghost:hover:not(:disabled){color:var(--ink);background:var(--pill)}.field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.field__label{font-size:var(--text-label);color:var(--ink-muted);font-weight:500}.field__hint{font-size:var(--text-small);color:var(--ink-muted)}.field__error{font-size:var(--text-small);color:var(--danger)}.input{width:100%;min-height:var(--control-height);padding:0 var(--space-4);border:1px solid var(--line);border-radius:var(--radius-input);background:var(--surface);font:inherit;font-size:var(--text-body);color:var(--ink-body)}.input::placeholder{color:var(--ink-faint)}.input:focus{outline:none;border-color:var(--brand-violet);box-shadow:0 0 0 3px var(--brand-violet-pale)}.input[aria-invalid=true]{border-color:var(--danger)}.pill{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--pill);color:var(--ink-body);font-size:var(--text-small);font-weight:500;white-space:nowrap}.pill--ok{background:#ecfdf5;color:#047857}.pill--warn{background:#fffbeb;color:#b45309}.pill--danger{background:#fef2f2;color:var(--brand-red)}.pill--violet{background:var(--brand-violet-pale);color:var(--brand-violet)}.muted{color:var(--ink-muted)}.stack{display:flex;flex-direction:column;gap:var(--space-5)}.row{display:flex;align-items:center;gap:var(--space-4)}.row--between{justify-content:space-between}.grow{flex:1}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.scroll-x{overflow-x:auto}@media(max-width:900px){:root{--text-page: 2rem;--space-6: 1.25rem}}
