:root{--color-accent:hsl(222,47%,46%);--color-accent-light:hsl(222,47%,56%);--color-accent-dark:hsl(222,47%,36%);--color-warm:hsl(32,79%,52%);--color-warm-light:hsl(32,79%,62%);--color-terracotta:hsl(16,76%,52%);--color-teal:hsl(195,52%,63%);--color-teal-light:hsl(195,52%,90%);--color-bg:#ffffff;--color-bg-subtle:hsl(0,0%,96%);--color-bg-muted:hsl(220,14%,96%);--color-border:hsl(220,13%,88%);--color-border-light:hsl(220,13%,93%);--color-text:hsl(220,20%,18%);--color-text-secondary:hsl(220,10%,46%);--color-text-muted:hsl(220,10%,62%);--color-success:hsl(152,56%,40%);--color-error:hsl(0,72%,51%);--color-error-bg:hsl(0,72%,96%);--color-warning:hsl(38,92%,50%);--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:"SF Mono",SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.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:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px hsla(220,20%,18%,0.06);--shadow-md:0 2px 8px hsla(220,20%,18%,0.08);--shadow-lg:0 4px 16px hsla(220,20%,18%,0.1);--max-width:1200px;--max-width-narrow:480px;--max-width-chat:720px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);line-height:1.6;min-height:100vh}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{line-height:1.3;font-weight:600;color:var(--color-text)}h1{font-size:1.75rem}h2{font-size:1.375rem}h3{font-size:1.125rem}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:1rem}.btn-primary,.intake-btn--primary,.login-btn--primary,.update-confirm-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-6);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;transition:background .15s}.btn-primary:hover,.intake-btn--primary:hover,.login-btn--primary:hover,.update-confirm-btn:hover{background:var(--color-accent-dark);text-decoration:none}.btn-primary:disabled,.intake-btn--primary:disabled,.login-btn--primary:disabled,.update-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary,.intake-btn--secondary,.login-btn--google{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-6);background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;transition:background .15s,border-color .15s}.btn-secondary:hover,.intake-btn--secondary:hover,.login-btn--google:hover{background:var(--color-bg-subtle);border-color:var(--color-text-muted);text-decoration:none}.intake-input,input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text]{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9375rem;background:var(--color-bg);color:var(--color-text);transition:border-color .15s,box-shadow .15s}.intake-input:focus,input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px hsla(222,47%,46%,.15)}label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--space-1)}.intake-error,.login-error{padding:var(--space-3) var(--space-4);background:var(--color-error-bg);color:var(--color-error);border:1px solid hsl(0,72%,88%);border-radius:var(--radius-md);font-size:.875rem;margin-bottom:var(--space-4)}.app-nav{gap:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--color-bg);border-bottom:1px solid var(--color-border-light);position:-webkit-sticky;position:sticky;top:0;z-index:100}.app-nav,.app-nav-logo{display:flex;align-items:center}.app-nav-logo{flex-shrink:0}.app-nav-logo-img{height:32px;width:auto}.app-nav-links{display:flex;gap:var(--space-1);margin-left:var(--space-4)}.app-nav-link{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--color-text-secondary);transition:background .15s,color .15s}.app-nav-link:hover{background:var(--color-bg-muted);color:var(--color-text);text-decoration:none}.app-nav-link--active{background:hsla(222,47%,46%,.1);color:var(--color-accent)}.app-nav-logout{margin-left:auto;font-size:.8125rem;color:var(--color-text-muted);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:background .15s}.app-nav-logout:hover{background:var(--color-bg-muted);text-decoration:none}@media (max-width:480px){.app-nav{padding:var(--space-2) var(--space-3);gap:var(--space-2)}.app-nav-links{margin-left:auto}.app-nav-link{padding:var(--space-2);font-size:.8125rem}.app-nav-logout{display:none}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-subtle);padding:var(--space-4)}.login-card{width:100%;max-width:var(--max-width-narrow);background:var(--color-bg);padding:var(--space-8) var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.login-logo{display:block;width:200px;height:auto;margin:0 auto var(--space-4)}.login-card h1{color:var(--color-accent);font-size:1.25rem}.login-card h1,.login-subtitle{text-align:center;margin-bottom:var(--space-6)}.login-subtitle{color:var(--color-text-muted);font-size:.875rem}.login-form{gap:var(--space-4)}.login-form,.login-form label{display:flex;flex-direction:column}.login-form label{gap:var(--space-1)}.login-divider{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-5) 0;color:var(--color-text-muted);font-size:.8125rem}.login-divider:after,.login-divider:before{content:"";flex:1 1;height:1px;background:var(--color-border)}.login-toggle{text-align:center;margin-top:var(--space-5);font-size:.875rem;color:var(--color-text-secondary)}.login-link{background:none;border:none;color:var(--color-accent);font-size:.875rem;text-decoration:underline;cursor:pointer}.login-mfa-info{font-size:.9375rem;color:var(--color-text-secondary);margin-bottom:var(--space-4);line-height:1.5}.guide-page{display:flex;flex-direction:column;height:calc(100vh - 49px);max-width:var(--max-width-chat);margin:0 auto}.guide-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light)}.guide-header h1{font-size:1.125rem;color:var(--color-accent)}.guide-dashboard-link{font-size:.8125rem;color:var(--color-text-muted);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);transition:background .15s}.guide-dashboard-link:hover{background:var(--color-bg-subtle);text-decoration:none}.guide-chat{flex:1 1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.guide-consent-pending,.guide-loading{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);color:var(--color-text-muted)}.consent-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.consent-hint{font-size:.8125rem;color:var(--color-text-muted)}.chat-message{display:flex;flex-direction:column}.chat-message--user{align-items:flex-end}.chat-message--assistant{align-items:flex-start}.chat-bubble{max-width:85%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:.9375rem;line-height:1.55;white-space:pre-wrap}.chat-message--user .chat-bubble{background:var(--color-accent);color:#fff;border-bottom-right-radius:var(--radius-sm)}.chat-message--assistant .chat-bubble{background:var(--color-bg-muted);color:var(--color-text);border-bottom-left-radius:var(--radius-sm)}.chat-bubble--typing{color:var(--color-text-muted);font-style:italic}.intent-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) 0}.intent-chip{padding:var(--space-2) var(--space-4);background:var(--color-bg);border:1px solid var(--color-accent);color:var(--color-accent);border-radius:var(--radius-full);font-size:.8125rem;font-weight:500;transition:background .15s,color .15s}.intent-chip:hover{background:var(--color-accent);color:#fff}.intent-chip:disabled{opacity:.5;cursor:not-allowed}.guide-input{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border-light);background:var(--color-bg)}.guide-input input{flex:1 1}.guide-input button{padding:var(--space-3) var(--space-5);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-weight:500;transition:background .15s}.guide-input button:hover{background:var(--color-accent-dark)}.guide-input button:disabled{opacity:.5;cursor:not-allowed}.update-tray{margin-top:var(--space-3);padding:var(--space-4);background:var(--color-bg);border-left:1px solid var(--color-warm);border:1px solid var(--color-warm);border-left-width:4px;border-radius:var(--radius-md)}.update-tray h4{font-size:.875rem;color:var(--color-warm);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.05em}.update-summary{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:var(--space-3)}.update-fields{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.update-field{display:flex;gap:var(--space-3);font-size:.8125rem}.update-field dt{font-weight:600;color:var(--color-text-secondary);min-width:100px}.update-field dd{color:var(--color-text)}.update-tray--confirmed{border-color:var(--color-success);border-left-color:var(--color-success);background:hsl(152,56%,96%)}.update-tray--confirmed p{color:var(--color-success);font-weight:500}.intake-page{min-height:100vh;background:var(--color-bg-subtle);padding:var(--space-4)}.intake-complete-view,.intake-form-view,.intake-hub,.intake-summary-view{max-width:var(--max-width);margin:0 auto}.intake-header{margin-bottom:var(--space-6)}.intake-header h1{color:var(--color-accent);margin-bottom:var(--space-2)}.intake-subtitle{color:var(--color-text-secondary);font-size:.9375rem}.intake-back-btn{background:none;border:none;color:var(--color-accent);font-size:.8125rem;margin-bottom:var(--space-3);padding:0}.intake-back-btn:hover{text-decoration:underline}.intake-modules{display:grid;grid-template-columns:1fr;grid-gap:var(--space-4);gap:var(--space-4)}@media (min-width:640px){.intake-modules{grid-template-columns:repeat(2,1fr)}}.intake-module-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-4);transition:box-shadow .15s}.intake-module-card:hover{box-shadow:var(--shadow-md)}.intake-module-card--complete{border-color:var(--color-success);border-left:4px solid var(--color-success)}.intake-module-info h2{font-size:1.125rem;margin-bottom:var(--space-1)}.intake-module-info p{font-size:.875rem;color:var(--color-text-secondary)}.intake-module-hint,.intake-module-time{font-size:.75rem;color:var(--color-text-muted)}.intake-module-hint{font-style:italic}.intake-module-summary{font-size:.8125rem;color:var(--color-success);font-weight:500}.intake-badge--complete{display:inline-block;padding:var(--space-1) var(--space-3);background:hsl(152,56%,94%);color:var(--color-success);border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.intake-questions{display:flex;flex-direction:column;gap:var(--space-6)}.intake-question{background:var(--color-bg);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--color-border-light)}.intake-label{font-size:1rem;font-weight:500;color:var(--color-text);margin-bottom:var(--space-2)}.intake-hint{color:var(--color-text-muted)}.intake-hint,.intake-population-note{font-size:.8125rem;margin-bottom:var(--space-3)}.intake-population-note{color:var(--color-teal)}.intake-section-header{color:var(--color-accent);font-size:1.125rem;padding-bottom:var(--space-2);border-bottom:2px solid var(--color-accent)}.intake-options{display:flex;flex-direction:column;gap:var(--space-2)}.intake-checkbox,.intake-radio{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;font-size:.9375rem;transition:background .1s}.intake-checkbox:hover,.intake-radio:hover{background:var(--color-bg-muted)}.intake-freq{font-size:.75rem;color:var(--color-teal);margin-left:auto}.intake-free-text-input{margin-left:var(--space-2);flex:1 1;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem}.intake-input--year{max-width:120px}.intake-input--number{max-width:160px}.intake-yes-no{display:flex;gap:var(--space-2)}.intake-toggle-btn{flex:1 1;padding:var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;color:var(--color-text-secondary);transition:all .15s}.intake-toggle-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.intake-toggle-btn--active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.intake-form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-border-light)}.intake-summary-fields{display:flex;flex-direction:column;gap:var(--space-3)}.intake-summary-field{display:flex;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-light)}.intake-summary-field dt{font-weight:600;color:var(--color-text-secondary);min-width:140px;font-size:.875rem}.intake-summary-field dd{font-size:.9375rem}.intake-nav{margin-top:var(--space-8);display:flex;gap:var(--space-4)}.intake-link{font-size:.875rem;color:var(--color-text-muted)}.intake-card{max-width:var(--max-width-narrow);margin:var(--space-16) auto;background:var(--color-bg);padding:var(--space-8) var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center}.intake-card h1{color:var(--color-accent);margin-bottom:var(--space-4)}.intake-card p{color:var(--color-text-secondary);margin-bottom:var(--space-6);line-height:1.6}.intake-loading{min-height:50vh;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}@media (max-width:480px){.login-card{padding:var(--space-6) var(--space-4);box-shadow:none;border-radius:0}.guide-page{max-width:100%}.chat-bubble{max-width:92%}.intake-form-actions,.intake-yes-no{flex-direction:column}}