:root{--color-bg-page: #F4F0EB;--color-bg-surface: #FFFFFF;--color-bg-surface-alt: #FBF8F4;--color-border: #E8E0D8;--color-border-strong: #D8CCC0;--color-text-primary: #1A1A1A;--color-text-secondary: #4A4038;--color-text-muted: #8A7A6A;--color-text-on-brand: #FFFFFF;--color-text-on-brand-muted: rgba(255, 255, 255, .75);--color-brand: #0F3D2E;--color-brand-hover: #0C3125;--color-brand-soft: #EAF3EE;--color-accent: #25D366;--color-accent-soft: rgba(37, 211, 102, .12);--color-success: #0F7A45;--color-success-soft: #E9F8EF;--color-warning: #B45309;--color-warning-soft: #FFFBEB;--color-danger: #B91C1C;--color-danger-soft: #FEF2F2;--color-neutral-strong: #4A4038;--color-disabled: #C7BEB4;--color-overlay: rgba(26, 26, 26, .45);--font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.375rem;--text-xl: 1.75rem;--text-2xl: 2.25rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--shadow-sm: 0 1px 2px rgba(26, 26, 26, .06);--shadow-md: 0 4px 12px rgba(15, 61, 46, .08)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-body);background:var(--color-bg-page);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3{font-family:var(--font-body);color:var(--color-text-primary);line-height:1.25;font-weight:700}p{margin:0 0 .75rem}a{color:var(--color-brand)}a:hover{color:var(--color-brand-hover)}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.page{max-width:960px;margin:0 auto;padding:2rem 1.5rem 4rem}.page-narrow{max-width:480px;margin:0 auto;padding:2rem 1.5rem 4rem}.auth-shell,.onboarding-shell{background:radial-gradient(circle at 50% 0%,var(--color-brand-soft) 0%,var(--color-bg-page) 65%)}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6) var(--space-4)}.auth-card{width:100%;max-width:440px}.onboarding-shell{min-height:100vh;display:flex;justify-content:center;padding:var(--space-10) var(--space-4) var(--space-16)}.onboarding-card{width:100%;max-width:580px;height:fit-content}.brand-mark{display:block;text-align:center;margin:0 0 var(--space-4)}.card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5)}.card-elevated{box-shadow:var(--shadow-md)}.eyebrow{font-size:var(--text-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-brand);margin:0 0 var(--space-1)}.helper-text{font-size:var(--text-sm);color:var(--color-text-muted)}.error-text{color:var(--color-danger);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-5);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-weight-semibold);border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .05s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--color-brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-brand-hover)}.btn-secondary{background:var(--color-bg-surface);color:var(--color-text-primary);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-page)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:#991b1b}.btn-link{background:none;border:none;padding:0;min-height:auto;color:var(--color-brand);text-decoration:underline;font-weight:500;cursor:pointer}.btn-link:hover{color:var(--color-brand-hover)}.btn-block{width:100%}.field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.label{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.input,.textarea,.select{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-primary);background:var(--color-bg-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-3);min-height:44px;width:100%}.textarea{min-height:auto;line-height:1.5}.input:focus-visible,.textarea:focus-visible,.select:focus-visible{outline:2px solid var(--color-brand);outline-offset:1px;border-color:var(--color-brand)}.input::placeholder,.textarea::placeholder{color:var(--color-text-muted)}.option-card{display:block;text-align:left;width:100%;background:var(--color-bg-surface);border:2px solid var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-4);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.option-card:hover{border-color:var(--color-brand);box-shadow:var(--shadow-sm)}.option-card[aria-pressed=true]{border-color:var(--color-brand);background:var(--color-brand-soft)}.option-card-title{font-weight:var(--font-weight-bold);margin-bottom:var(--space-1)}.option-card-desc{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.option-card-note{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-2)}.badge{display:inline-flex;align-items:center;font-size:var(--text-xs);font-weight:var(--font-weight-bold);letter-spacing:.02em;color:#fff;border-radius:999px;padding:.15rem .6rem;white-space:nowrap}.badge-success{background:var(--color-success)}.badge-warning{background:var(--color-warning)}.badge-danger{background:var(--color-danger)}.badge-neutral{background:var(--color-neutral-strong)}.badge-brand{background:var(--color-brand)}.app-header{background:var(--color-brand);box-shadow:var(--shadow-sm);padding:var(--space-3) var(--space-6)}.app-header-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.app-header-title{font-size:var(--text-md);color:var(--color-text-on-brand);display:block;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header-nav{display:flex;justify-content:center;gap:var(--space-1);flex-wrap:wrap;margin-top:var(--space-2)}.tab-btn{min-height:44px;padding:0 var(--space-4);border:none;background:none;font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-weight-semibold);color:var(--color-text-on-brand-muted);border-bottom:2px solid transparent;cursor:pointer;transition:color .15s ease,border-color .15s ease}.tab-btn:hover{color:var(--color-text-on-brand)}.tab-btn[aria-pressed=true]{color:var(--color-text-on-brand);border-bottom-color:var(--color-accent)}.step-progress{font-size:var(--text-xs);font-weight:var(--font-weight-bold);letter-spacing:.05em;text-transform:uppercase;color:var(--color-brand);margin:0 0 var(--space-2)}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fade-in .2s ease-out}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:1em;height:1em;border:2px solid var(--color-border-strong);border-top-color:var(--color-brand);border-radius:50%;animation:spin .7s linear infinite}
