:root{color-scheme:light;--color-primary: #0d6efd;--color-primary-dark: #084298;--color-secondary: #38bdf8;--color-bg: #f8fafc;--color-surface: #ffffff;--color-border: #e2e8f0;--color-text: #0f172a;--color-muted: #64748b;--color-danger: #ef4444;--color-warn: #f59e0b;--color-success: #22c55e;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 24px;--radius-xl: 32px;--shadow-soft: 0 12px 30px rgba(15, 23, 42, .08);--shadow-card: 0 2px 8px rgba(15, 23, 42, .06);--font-body: system-ui, -apple-system, sans-serif;--font-display: system-ui, -apple-system, sans-serif;--surface-0: var(--color-bg);--surface-1: var(--color-surface);--surface-2: #f1f5f9;--surface-3: var(--color-border);--surface-strong: var(--color-text);--text-strong: var(--color-text);--text-base: #334155;--text-soft: var(--color-muted);--border-soft: var(--color-border);--accent: var(--color-primary);--accent-strong: var(--color-primary-dark);--accent-contrast:#ffffff;--warn: var(--color-warn);--danger: var(--color-danger);--shadow-lg: var(--shadow-soft);--shadow-md: var(--shadow-card)}:root[data-theme=dark]{color-scheme:dark;--color-bg: #0b1222;--color-surface: #131c2e;--color-border: #1e2d45;--color-text: #f1f5f9;--color-muted: #94a3b8;--surface-0: var(--color-bg);--surface-1: var(--color-surface);--surface-2: #1a2742;--surface-3: var(--color-border);--surface-strong: #ffffff;--text-strong: var(--color-text);--text-base: #cbd5e1;--text-soft: var(--color-muted);--border-soft: var(--color-border);--accent: #60a5fa;--accent-strong: #93c5fd;--accent-contrast:#0c2f73;--warn: #fbbf24;--danger: #f87171;--shadow-lg: 0 24px 60px rgba(0,0,0,.28);--shadow-md: 0 14px 28px rgba(0,0,0,.2)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;min-height:100%}body{font-family:Inter,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.6;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;min-height:100%}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:10px 22px;border:1.5px solid transparent;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s;text-decoration:none;white-space:nowrap}.button.primary,.btn.primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.button.primary:hover,.btn.primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.button.secondary,.btn.secondary{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-border)}.button.secondary:hover,.btn.secondary:hover{border-color:var(--color-primary)}.button.ghost,.btn.ghost{background:transparent;color:var(--color-text);border-color:transparent}.button.ghost:hover,.btn.ghost:hover{background:#0d6efd0f}.button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.badge{display:inline-block;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:700;background:var(--color-border);color:var(--color-muted);text-transform:uppercase;letter-spacing:.4px}.badge.success{background:#dcfce7;color:#166534}.badge.warn{background:#fef9c3;color:#854d0e}.badge.info{background:#dbeafe;color:#1e40af}.pill{display:inline-block;padding:2px 10px;border-radius:99px;font-size:11px;font-weight:700;background:#dbeafe;color:#1e40af}.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--color-primary);margin-bottom:6px}.menu-active{background:#0d6efd1a!important;color:var(--color-primary)!important;font-weight:700!important}input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=date],input[type=search],select,textarea{width:100%;padding:10px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:14px;transition:border-color .2s,box-shadow .2s}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=tel]:focus,input[type=number]:focus,input[type=date]:focus,input[type=search]:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0d6efd1f}input[type=text].field-invalid,input[type=email].field-invalid,input[type=password].field-invalid,input[type=tel].field-invalid,input[type=number].field-invalid,input[type=date].field-invalid,input[type=search].field-invalid,select.field-invalid,textarea.field-invalid{border-color:var(--color-danger)}input[type=text]::placeholder,input[type=email]::placeholder,input[type=password]::placeholder,input[type=tel]::placeholder,input[type=number]::placeholder,input[type=date]::placeholder,input[type=search]::placeholder,select::placeholder,textarea::placeholder{color:var(--color-muted)}label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:var(--color-text)}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton-card{background:linear-gradient(90deg,var(--color-border) 25%,#f1f5f9 50%,var(--color-border) 75%);background-size:800px 100%;animation:shimmer 1.4s infinite;border-radius:var(--radius-md);aspect-ratio:4/3}.field-error{font-size:12px;color:var(--color-danger);margin-top:3px}.error-banner{padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-sm);color:#b91c1c;font-size:13px}
