:root{--surface-base:#fafaf9;--surface-elevated:#fff;--surface-subtle:#f4f4f5;--border-default:#e7e5e4;--border-strong:#d6d3d1;--text-primary:#18181b;--text-secondary:#52525b;--text-muted:#a1a1aa;--color-success:#15803d;--color-success-bg:#f0fdf4;--color-warning:#b45309;--color-warning-bg:#fefce8;--color-info:#1e40af;--color-info-bg:#eff6ff;--color-danger:#b91c1c;--color-danger-bg:#fef2f2;--font-display:"Futura PT", "Futura", "Jost", system-ui, sans-serif;--font-body:"Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--text-xs:.6875rem;--text-sm:.75rem;--text-base:.8125rem;--text-md:.875rem;--text-lg:.9375rem;--text-xl:1rem;--text-2xl:1.0625rem;--text-3xl:1.625rem;--text-4xl:1.75rem;--text-5xl:1.875rem;--text-6xl:2rem;--text-7xl:2.75rem;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.05;--leading-snug:1.15;--leading-normal:1.4;--leading-relaxed:1.55;--leading-loose:1.7;--tracking-tighter:-.02em;--tracking-tight:-.01em;--tracking-normal:0;--tracking-wide:.04em;--tracking-wider:.06em;--tracking-widest:.08em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:12px;--radius-xl:14px;--radius-2xl:16px;--radius-3xl:18px;--radius-pill:999px;--shadow-sm:0 6px 20px -8px #18181b14;--shadow-md:0 12px 32px -10px #18181b1f;--shadow-lg:0 8px 32px -8px #0000004d;--shadow-focus:0 0 0 4px #18181b0f;--ease:cubic-bezier(.32, .72, 0, 1);--duration-instant:.1s;--duration-fast:.18s;--duration:.32s;--duration-slow:.54s;--max-width-app:480px;--max-width-content:720px;--max-width-marketing:1200px;--z-base:1;--z-sticky:10;--z-overlay:50;--z-modal:100;--z-toast:200}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes screen-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes digit-pop{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{font-size:16px}html,body{background:var(--surface-base);color:var(--text-primary);font-family:var(--font-body);font-size:1rem;line-height:var(--leading-relaxed);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle at 15% 5%,#78716c0d 0%,#0000 50%),radial-gradient(circle at 85% 95%,#78716c0d 0%,#0000 50%);position:fixed;inset:0}#__next,.app{z-index:var(--z-base);position:relative}button{cursor:pointer;color:inherit;background:0 0;border:none;padding:0;font-family:inherit}input{color:inherit;background:0 0;border:none;outline:none;font-family:inherit}a{color:inherit;text-decoration:none}
.app{max-width:var(--max-width-app);flex-direction:column;min-height:100dvh;margin:0 auto;display:flex}.screen{animation:screen-in var(--duration-slow) var(--ease);flex-direction:column;flex:1;display:none}.screen.active{display:flex}.wordmark{color:var(--text-primary);align-items:center;line-height:1;display:inline-flex}.wordmark svg{width:auto;height:30px;display:block}.auth-header .wordmark svg{height:36px}.auth-screen{padding:var(--space-8) var(--space-6) var(--space-10);flex-direction:column;flex:1;display:flex}.auth-header{margin-bottom:var(--space-16);animation:fade-up var(--duration) var(--ease);justify-content:space-between;align-items:center;display:flex}.auth-back{font-size:var(--text-md);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease);align-items:center;gap:4px;margin:-8px;padding:8px;display:flex}.auth-back:hover{color:var(--text-primary)}.auth-content{padding-bottom:var(--space-16);flex-direction:column;flex:1;justify-content:center;display:flex}.display-heading{font-family:var(--font-display);font-size:var(--text-7xl);font-weight:var(--weight-medium);line-height:var(--leading-tight);letter-spacing:var(--tracking-tighter);color:var(--text-primary);margin-bottom:var(--space-4);animation:fade-up var(--duration-slow) var(--ease)}.display-sub{font-size:var(--text-xl);color:var(--text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-10);max-width:340px;animation:fade-up var(--duration-slow) var(--ease);animation-delay:80ms;animation-fill-mode:backwards}.field-group{margin-bottom:var(--space-6);animation:fade-up var(--duration-slow) var(--ease);animation-delay:.16s;animation-fill-mode:backwards}.field-label{font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;display:block}.phone-input{background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:border-color var(--duration-fast) var(--ease), box-shadow var(--duration-fast) var(--ease);align-items:center;display:flex;overflow:hidden}.phone-input:focus-within{border-color:var(--text-primary);box-shadow:var(--shadow-focus)}.phone-prefix{color:var(--text-secondary);font-size:var(--text-2xl);font-weight:var(--weight-medium);border-right:1px solid var(--border-default);background:var(--surface-subtle);padding:18px 16px}.phone-input input{font-size:var(--text-2xl);font-weight:var(--weight-regular);color:var(--text-primary);letter-spacing:.01em;flex:1;min-width:0;padding:18px 16px}.phone-input input::placeholder{color:var(--text-muted)}.code-input{margin-bottom:var(--space-6);animation:fade-up var(--duration-slow) var(--ease);justify-content:space-between;gap:10px;animation-delay:.16s;animation-fill-mode:backwards;display:flex}.code-digit{aspect-ratio:1/1.15;background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);max-width:56px;font-family:var(--font-display);font-size:var(--text-6xl);font-weight:var(--weight-medium);text-align:center;color:var(--text-primary);transition:all var(--duration-fast) var(--ease);-moz-appearance:textfield;flex:1;min-width:0}.code-digit::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.code-digit::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.code-digit:focus{border-color:var(--text-primary);box-shadow:var(--shadow-focus);transform:translateY(-1px)}.code-digit.filled{border-color:var(--text-primary);background:var(--text-primary);color:var(--surface-base);animation:digit-pop .24s var(--ease)}.resend-row{font-size:var(--text-md);color:var(--text-muted);margin-bottom:var(--space-8);animation:fade-up var(--duration-slow) var(--ease);justify-content:space-between;animation-delay:.22s;animation-fill-mode:backwards;display:flex}.resend-row button{color:var(--text-secondary);font-size:var(--text-md);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted);transition:color var(--duration-fast) var(--ease), text-decoration-color var(--duration-fast) var(--ease)}.resend-row button:not(:disabled):hover{color:var(--text-primary);-webkit-text-decoration-color:var(--text-primary);text-decoration-color:var(--text-primary)}.resend-row button:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--text-primary);width:100%;color:var(--surface-base);border-radius:var(--radius-lg);font-size:var(--text-xl);font-weight:var(--weight-medium);letter-spacing:.01em;transition:transform var(--duration-fast) var(--ease), background var(--duration-fast) var(--ease);animation:fade-up var(--duration-slow) var(--ease);justify-content:center;align-items:center;gap:8px;padding:18px 24px;animation-delay:.24s;animation-fill-mode:backwards;display:flex}.btn-primary:hover{background:#27272a}.btn-primary:active{transform:scale(.985)}.btn-primary:disabled{background:var(--text-muted);cursor:not-allowed}.btn-arrow{transition:transform var(--duration) var(--ease)}.btn-primary:not(:disabled):hover .btn-arrow{transform:translate(3px)}.btn-primary.loading{pointer-events:none}.btn-primary.loading .btn-text,.btn-primary.loading .btn-arrow{display:none}.btn-primary.loading:after{content:"";border:2px solid #fafaf94d;border-top-color:var(--surface-base);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}.legal{margin-top:var(--space-6);text-align:left;font-size:var(--text-sm);color:var(--text-muted);animation:fade-up var(--duration-slow) var(--ease);line-height:1.6;animation-delay:.32s;animation-fill-mode:backwards}.legal a{color:var(--text-secondary);text-underline-offset:2px;text-decoration:underline}.legal-emphasis{color:var(--text-primary);font-weight:var(--weight-medium)}.portal-header{padding:var(--space-5) var(--space-6) var(--space-4);border-bottom:1px solid var(--border-default);-webkit-backdrop-filter:blur(12px);z-index:var(--z-sticky);background:#fafaf9d9;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.signout-btn{border:1px solid var(--border-default);border-radius:var(--radius-pill);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text-secondary);transition:all var(--duration-fast) var(--ease);padding:8px 16px}.signout-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.portal-body{padding:var(--space-8) var(--space-5) 60px;flex:1}.greeting{margin-bottom:28px;padding:0 4px}.greeting-eyebrow{font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}.greeting-name{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--weight-medium);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--text-primary)}.quote-card{background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-3xl);cursor:pointer;transition:transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease), border-color var(--duration) var(--ease);margin-bottom:12px;padding:22px;display:block;position:relative;overflow:hidden}.quote-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px)}.quote-card:active{transform:translateY(0)scale(.995)}.quote-card-top{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.quote-card-eyebrow{font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-muted)}.quote-card-date{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin-bottom:4px;line-height:1.1}.quote-card-time{font-size:var(--text-lg);color:var(--text-secondary);margin-bottom:18px}.quote-card-footer{padding-top:var(--space-4);border-top:1px solid var(--border-default);font-size:var(--text-base);color:var(--text-secondary);justify-content:space-between;align-items:center;display:flex}.quote-card-footer-cta{color:var(--text-primary);font-weight:var(--weight-medium);transition:gap var(--duration) var(--ease);align-items:center;gap:4px;display:flex}.quote-card:hover .quote-card-footer-cta{gap:8px}.section-label{font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-muted);margin:36px 0 14px;padding:0 4px}.card-grid{gap:10px;display:grid}.resource-card{align-items:center;gap:var(--space-4);background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-xl);cursor:pointer;transition:transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease), border-color var(--duration) var(--ease);padding:16px 18px;display:flex}.resource-card:hover{box-shadow:var(--shadow-sm);border-color:var(--border-strong);transform:translateY(-1px)}.resource-card:active{transform:translateY(0)scale(.995)}.resource-icon{border-radius:var(--radius-md);background:var(--surface-subtle);width:40px;height:40px;color:var(--text-primary);transition:background var(--duration) var(--ease), color var(--duration) var(--ease);flex-shrink:0;justify-content:center;align-items:center;display:flex}.resource-card:hover .resource-icon{background:var(--text-primary);color:var(--surface-base)}.resource-content{flex:1;min-width:0}.resource-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text-primary);letter-spacing:-.005em;margin-bottom:2px}.resource-desc{font-size:var(--text-base);color:var(--text-secondary);line-height:var(--leading-normal)}.resource-status{flex-shrink:0;align-items:center;gap:6px;display:flex}.status-pill{font-size:var(--text-xs);font-weight:var(--weight-medium);border-radius:var(--radius-pill);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:5px;padding:4px 10px 4px 8px;display:inline-flex}.status-pill:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.status-pill.scheduled{background:var(--color-success-bg);color:var(--color-success)}.status-pill.in-progress{background:var(--color-info-bg);color:var(--color-info)}.status-pill.pending{background:var(--color-warning-bg);color:var(--color-warning)}.chevron{color:var(--text-muted);transition:transform var(--duration) var(--ease), color var(--duration) var(--ease);flex-shrink:0}.resource-card:hover .chevron{color:var(--text-secondary);transform:translate(2px)}.portal-footer{padding:var(--space-8) 4px 0;border-top:1px solid var(--border-default);text-align:left;margin-top:48px}.footer-text{font-size:var(--text-sm);color:var(--text-muted);line-height:var(--leading-loose)}.footer-text strong{color:var(--text-secondary);font-weight:var(--weight-medium)}.stagger-item{opacity:0;animation:fade-up .54s var(--ease) forwards}.stagger-item:first-child{animation-delay:60ms}.stagger-item:nth-child(2){animation-delay:.13s}.stagger-item:nth-child(3){animation-delay:.2s}.stagger-item:nth-child(4){animation-delay:.27s}.stagger-item:nth-child(5){animation-delay:.34s}.stagger-item:nth-child(6){animation-delay:.41s}.stagger-item:nth-child(7){animation-delay:.48s}.stagger-item:nth-child(8){animation-delay:.55s}@media (max-width:380px){.display-heading{font-size:2.25rem}.greeting-name{font-size:1.5rem}.quote-card-date{font-size:1.625rem}.code-digit{font-size:1.75rem}}
