*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--lavender: #ADBBE6;--skyblue: #ADD8E6;--mint: #ADE6D8;--white: #FFFFFF;--offwhite: #F7F9FC;--navy: #1E2D4A;--text: #334155;--gray: #64748B;--ltgray: #E2E8F0;--danger: #F87171;--lavender-dark: #8B9FD4;--amber: #F4A32A;--font-body: "Plus Jakarta Sans", sans-serif;--font-display: "Lora", Georgia, serif;--radius-lg: 20px;--radius-sm: 14px;--radius-btn: 12px;--radius-pill: 50px;--shadow: 0 2px 16px rgba(173,187,230,.2);--shadow-hover: 0 8px 24px rgba(173,187,230,.35);--transition: .2s ease}html{height:100%}body{font-family:var(--font-body);background:#e8ecf4;color:var(--text);-webkit-font-smoothing:antialiased;min-height:100%}.app-wrapper{min-height:100dvh;display:flex;justify-content:center;background:#e8ecf4}.app-container{width:100%;max-width:430px;min-height:100dvh;background:var(--offwhite);box-shadow:0 0 60px #1e2d4a26;position:relative;display:flex;flex-direction:column;overflow:hidden}.screen-content{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:80px;-webkit-overflow-scrolling:touch}.screen-content::-webkit-scrollbar{display:none}.loading-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;min-height:100dvh}.loading-logo{font-family:var(--font-display);font-size:36px;color:var(--lavender)}.loading-dots{display:flex;gap:8px}.loading-dots span{width:8px;height:8px;border-radius:50%;background:var(--lavender);animation:bounce 1.2s infinite ease-in-out}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}.display-heading{font-family:var(--font-display);color:var(--navy)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:600;font-size:15px;border:none;cursor:pointer;transition:all var(--transition);border-radius:var(--radius-btn);padding:14px 24px;text-decoration:none}.btn:active{transform:scale(.97)}.btn-primary{background:var(--lavender);color:var(--navy);width:100%;border-radius:var(--radius-pill);padding:16px;font-size:16px}.btn-primary:hover{background:var(--lavender-dark);color:var(--white)}.btn-outline{background:transparent;border:1.5px solid var(--lavender);color:var(--lavender);border-radius:var(--radius-pill)}.btn-outline:hover{background:var(--lavender);color:var(--navy)}.btn-ghost{background:transparent;color:var(--gray);font-size:13px;font-weight:500;padding:8px}.btn-ghost:hover{color:var(--navy)}.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px;transition:transform var(--transition),box-shadow var(--transition)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.progress-bar-track{width:100%;height:6px;background:var(--ltgray);border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--mint);border-radius:3px;transition:width .8s ease .2s}.auth-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:48px 24px 32px;background:var(--offwhite)}.auth-logo-block{text-align:center;margin-bottom:36px;animation:fadeUp .5s ease forwards}.auth-logo{font-family:var(--font-display);font-size:38px;color:var(--lavender);letter-spacing:-.5px;display:block}.auth-tagline{font-size:15px;color:var(--gray);margin-top:6px;font-weight:500}.auth-clerk-wrapper{width:100%;max-width:380px;animation:fadeUp .5s ease .15s both}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--gray);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--ltgray)}.onboarding{min-height:100dvh;background:var(--white);display:flex;flex-direction:column;overflow:hidden;position:relative}.onboarding-track{display:flex;flex:1;transition:transform .4s cubic-bezier(.4,0,.2,1)}.onboarding-step{min-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:60px 28px 32px;text-align:center}.onboarding-dots{position:absolute;top:20px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:10}.onboarding-dot{width:8px;height:8px;border-radius:50%;background:var(--ltgray);transition:background var(--transition),transform var(--transition)}.onboarding-dot.active{background:var(--lavender);transform:scale(1.2)}.ob-tooth-svg{margin-bottom:32px;animation:float 3s ease-in-out infinite}.ob-step1-title{font-family:var(--font-display);font-size:36px;color:var(--lavender);margin-bottom:8px}.ob-step1-tagline{font-size:18px;color:var(--navy);font-weight:600;margin-bottom:16px}.ob-step1-subtitle{font-size:15px;color:var(--gray);line-height:1.65;max-width:320px}.ob-step2-title{font-family:var(--font-display);font-size:28px;color:var(--navy);margin-bottom:8px}.ob-step2-subtitle{font-size:14px;color:var(--gray);margin-bottom:28px}.ob-form{width:100%;display:flex;flex-direction:column;gap:14px;text-align:left}.ob-label{font-size:12px;font-weight:600;color:var(--gray);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;display:block}.ob-input,.ob-select{width:100%;padding:13px 16px;border:1.5px solid var(--ltgray);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:15px;color:var(--navy);background:var(--offwhite);outline:none;transition:border-color var(--transition);-moz-appearance:none;appearance:none;-webkit-appearance:none}.ob-input:focus,.ob-select:focus{border-color:var(--lavender)}.ob-select-wrap{position:relative}.ob-select-wrap:after{content:"▾";position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--gray);pointer-events:none;font-size:14px}.ob-lock-note{font-size:12px;color:var(--gray);text-align:center;margin-top:4px;line-height:1.5}.ob-check-wrap{margin-bottom:28px}.ob-step3-title{font-family:var(--font-display);font-size:28px;color:var(--navy);margin-bottom:20px}.ob-summary-card{width:100%;background:var(--skyblue);border-radius:var(--radius-sm);padding:18px 20px;text-align:left}.ob-summary-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:14px;color:var(--navy);border-bottom:1px solid rgba(255,255,255,.4)}.ob-summary-row:last-child{border-bottom:none}.ob-summary-label{color:#1e2d4a99;font-size:13px}.ob-summary-value{font-weight:600;color:var(--navy)}.paywall{min-height:100dvh;background:var(--offwhite);display:flex;flex-direction:column;align-items:center;padding:40px 24px;overflow-y:auto}.paywall-logo{font-family:var(--font-display);font-size:30px;color:var(--lavender);margin-bottom:28px}.paywall-headline{font-family:var(--font-display);font-size:26px;color:var(--navy);text-align:center;margin-bottom:6px;line-height:1.3}.paywall-sub{font-size:15px;color:var(--gray);margin-bottom:28px;text-align:center}.paywall-features{width:100%;display:flex;flex-direction:column;gap:16px;margin-bottom:28px}.paywall-feature{display:flex;align-items:flex-start;gap:14px}.paywall-feature-icon{font-size:22px;line-height:1;flex-shrink:0;margin-top:2px}.paywall-feature-text strong{display:block;font-size:15px;color:var(--navy);font-weight:600;margin-bottom:2px}.paywall-feature-text span{font-size:13px;color:var(--gray)}.paywall-pricing-card{width:100%;background:var(--white);border:2px solid var(--lavender);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:24px;margin-bottom:12px}.paywall-plan-name{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.paywall-price-row{display:flex;align-items:baseline;gap:6px;margin-bottom:4px}.paywall-price-amount{font-family:var(--font-display);font-size:44px;color:var(--lavender);line-height:1}.paywall-price-period{font-size:16px;color:var(--gray)}.paywall-trial-note{font-size:12px;color:var(--gray);margin-bottom:18px}.paywall-divider{height:1px;background:var(--ltgray);margin:16px 0}.paywall-checklist{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}.paywall-check-row{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text)}.paywall-check-icon{color:var(--mint);font-size:16px;font-weight:700;flex-shrink:0}.paywall-no-cc{font-size:11px;color:var(--gray);text-align:center;margin-top:8px}.paywall-demo-link{background:none;border:none;font-family:var(--font-body);font-size:13px;color:var(--gray);text-decoration:underline;cursor:pointer;padding:8px;margin-top:4px}.paywall-demo-link:hover{color:var(--navy)}.tab-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;background:var(--white);border-top:1px solid var(--ltgray);display:flex;padding-bottom:env(safe-area-inset-bottom,0px);z-index:100}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 4px 8px;cursor:pointer;position:relative;background:none;border:none;font-family:var(--font-body);transition:color .15s ease}.tab-dot{width:5px;height:5px;border-radius:50%;background:var(--lavender);position:absolute;top:6px;opacity:0;transition:opacity .15s ease}.tab-item.active .tab-dot{opacity:1}.tab-icon{font-size:22px;margin-bottom:3px;line-height:1}.tab-label{font-size:10px;font-weight:500;color:var(--gray);transition:color .15s ease}.tab-item.active .tab-label{color:var(--lavender);font-weight:600}.home-screen{padding:0 0 12px}.home-header{display:flex;justify-content:space-between;align-items:center;padding:52px 20px 16px;background:var(--white)}.home-greeting{font-size:12px;color:var(--gray);margin-bottom:2px}.home-name{font-family:var(--font-display);font-size:20px;color:var(--navy);line-height:1.2}.home-avatar{width:40px;height:40px;border-radius:50%;background:var(--lavender);color:var(--navy);font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.home-sections{padding:16px 16px 0;display:flex;flex-direction:column;gap:14px}.hero-card{border-radius:var(--radius-lg);background:linear-gradient(135deg,#adbbe6,#add8e6);padding:22px;color:#fff;position:relative;overflow:hidden;animation:fadeUp .4s ease both}.hero-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.hero-card-meta{font-size:12px;opacity:.65;margin-bottom:4px}.hero-card-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;opacity:.7;margin-bottom:4px}.hero-card-amount{font-family:var(--font-display);font-size:44px;color:#fff;line-height:1;margin-bottom:4px}.hero-card-sublabel{font-size:13px;opacity:.7}.hero-card-breakdown{font-size:12px;opacity:.55;margin-top:2px}.hero-ring{position:relative}.hero-ring-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.hero-ring-pct{font-size:16px;font-weight:700;color:#fff;line-height:1}.hero-ring-sub{font-size:11px;color:#ffffffb3}.hero-card-footer{background:#ffffff26;border-radius:10px;padding:10px 14px;font-size:12px;color:#fff;margin-top:14px}.uioli-banner{background:#fff8ec;border:1px solid rgba(244,163,42,.3);border-radius:var(--radius-sm);padding:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;animation:fadeUp .4s ease .1s both}.uioli-text{flex:1}.uioli-title{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:3px}.uioli-sub{font-size:12px;color:var(--gray);line-height:1.4}.uioli-btn{background:var(--lavender);color:var(--navy);border:none;border-radius:var(--radius-pill);padding:10px 16px;font-size:13px;font-weight:600;font-family:var(--font-body);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background var(--transition)}.uioli-btn:hover{background:var(--lavender-dark);color:#fff}.uioli-btn:active{transform:scale(.97)}.benefits-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;animation:fadeUp .4s ease .15s both}.benefit-card{background:var(--white);border:1px solid var(--ltgray);border-radius:var(--radius-sm);padding:14px;transition:transform var(--transition),box-shadow var(--transition)}.benefit-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.benefit-icon{font-size:18px;margin-bottom:6px}.benefit-label{font-size:10px;color:var(--gray);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.benefit-status{font-size:14px;color:var(--navy);font-weight:700;margin-bottom:8px}.benefit-status.met{color:var(--mint)}.benefit-note{font-size:10px;color:var(--gray);margin-top:6px}.ai-summary-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px;border-left:3px solid var(--lavender);animation:fadeUp .4s ease .2s both}.ai-summary-label{font-size:11px;color:var(--lavender);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:10px}.ai-summary-body{font-size:13px;color:var(--text);line-height:1.7;margin-bottom:14px}.section-title{font-size:12px;color:var(--gray);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:10px;padding:0 4px}.dentists-scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.dentists-scroll::-webkit-scrollbar{display:none}.dentist-preview-card{background:var(--white);border:1px solid var(--ltgray);border-radius:var(--radius-sm);padding:14px;min-width:180px;flex-shrink:0;transition:transform var(--transition),box-shadow var(--transition)}.dentist-preview-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.dentist-preview-name{font-size:13px;color:var(--navy);font-weight:600;margin-bottom:3px;line-height:1.3}.dentist-preview-rating{font-size:11px;color:var(--gray);margin-bottom:6px}.dentist-preview-avail{font-size:11px;color:var(--gray);margin-bottom:10px}.dentist-preview-book{background:var(--lavender);color:var(--navy);border:none;border-radius:var(--radius-pill);padding:8px 16px;font-size:12px;font-weight:600;font-family:var(--font-body);cursor:pointer;width:100%;transition:background var(--transition)}.dentist-preview-book:hover{background:var(--lavender-dark);color:#fff}.dentist-preview-book:active{transform:scale(.97)}.benefits-screen{padding:0 0 12px}.screen-header{padding:52px 20px 16px;background:var(--white)}.screen-title{font-family:var(--font-display);font-size:24px;color:var(--navy)}.benefits-content{padding:16px;display:flex;flex-direction:column;gap:10px}.accordion{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;transition:box-shadow var(--transition)}.accordion-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;border-left:3px solid transparent;transition:border-color var(--transition);-webkit-user-select:none;user-select:none}.accordion.open .accordion-header{border-left-color:var(--mint)}.accordion.basic .accordion-header{border-left-color:var(--skyblue)}.accordion.major .accordion-header{border-left-color:var(--lavender)}.accordion.none .accordion-header{border-left-color:var(--ltgray)}.accordion-title{font-size:15px;font-weight:600;color:var(--navy)}.accordion-sub{font-size:12px;color:var(--gray);margin-top:2px}.accordion-badge{font-size:11px;font-weight:600;padding:4px 10px;border-radius:var(--radius-pill);margin-right:10px}.badge-mint{background:#ade6d84d;color:#2d8b74}.badge-sky{background:#add8e64d;color:#2d6e8b}.badge-lav{background:#adbbe64d;color:#4a5fad}.badge-gray{background:var(--ltgray);color:var(--gray)}.accordion-chevron{font-size:12px;color:var(--gray);transition:transform .3s ease}.accordion[data-open=true] .accordion-chevron{transform:rotate(180deg)}.accordion-body{max-height:0;overflow:hidden;transition:max-height .35s ease}.accordion[data-open=true] .accordion-body{max-height:600px}.accordion-row{display:flex;align-items:center;justify-content:space-between;padding:11px 20px;border-top:1px solid var(--ltgray);gap:8px}.accordion-row-left{flex:1;min-width:0}.accordion-code{font-size:11px;color:var(--gray);margin-bottom:1px}.accordion-name{font-size:13px;color:var(--navy);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accordion-row-right{text-align:right;flex-shrink:0}.accordion-coverage{font-size:12px;font-weight:600}.coverage-mint{color:#2d8b74}.coverage-sky{color:#2d6e8b}.coverage-lav{color:#4a5fad}.coverage-gray{color:var(--gray)}.accordion-freq{font-size:11px;color:var(--gray)}.estimator-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px;border-top:3px solid var(--lavender)}.estimator-title{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:14px}.estimator-select-wrap{position:relative;margin-bottom:16px}.estimator-select{width:100%;padding:13px 40px 13px 16px;border:1.5px solid var(--ltgray);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:15px;color:var(--navy);background:var(--offwhite);outline:none;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:border-color var(--transition)}.estimator-select:focus{border-color:var(--lavender)}.estimator-select-wrap:after{content:"▾";position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--gray);pointer-events:none}.estimator-result{background:var(--offwhite);border:1.5px solid var(--lavender);border-radius:var(--radius-sm);padding:16px;animation:fadeUp .25s ease;margin-bottom:14px}.estimator-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px}.estimator-row-label{color:var(--gray)}.estimator-row-value{font-weight:600;color:var(--navy)}.estimator-row-value.mint{color:#2d8b74}.estimator-divider{height:1px;background:var(--ltgray);margin:6px 0}.estimator-your-cost{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0}.estimator-your-label{font-size:14px;font-weight:600;color:var(--navy)}.estimator-your-value{font-family:var(--font-display);font-size:28px;color:var(--navy)}.estimator-your-value.danger{color:var(--danger)}.estimator-coverage-note{font-size:11px;color:var(--gray);font-style:italic;padding-top:4px;border-top:1px solid var(--ltgray);margin-top:4px}.estimator-disclaimer{font-size:11px;color:var(--gray);text-align:center;margin-top:8px;font-style:italic}.findcare-screen{padding:0 0 12px}.findcare-header{padding:52px 16px 14px;background:var(--white)}.findcare-title{font-family:var(--font-display);font-size:24px;color:var(--navy);margin-bottom:14px}.search-bar-wrap{position:relative}.search-bar{width:100%;padding:13px 16px 13px 42px;background:var(--skyblue);border:none;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:14px;color:var(--navy);outline:none;transition:box-shadow var(--transition)}.search-bar::placeholder{color:#1e2d4a80}.search-bar:focus{box-shadow:0 0 0 2px #adbbe680}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:16px;color:#1e2d4a80;pointer-events:none}.filter-chips-wrap{display:flex;gap:8px;overflow-x:auto;padding:12px 16px 4px;scrollbar-width:none}.filter-chips-wrap::-webkit-scrollbar{display:none}.filter-chip{padding:7px 16px;border-radius:var(--radius-pill);border:1.5px solid var(--ltgray);background:var(--white);font-family:var(--font-body);font-size:13px;color:var(--gray);font-weight:500;cursor:pointer;white-space:nowrap;transition:all var(--transition)}.filter-chip.active{background:var(--lavender);border-color:var(--lavender);color:var(--navy);font-weight:600}.filter-chip:active{transform:scale(.97)}.dentist-list{padding:12px 16px;display:flex;flex-direction:column;gap:12px}.dentist-card{background:var(--white);border:1px solid var(--ltgray);border-radius:var(--radius-sm);padding:16px;box-shadow:var(--shadow);transition:transform var(--transition),box-shadow var(--transition);animation:fadeUp .3s ease both}.dentist-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.dentist-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.dentist-name{font-size:15px;font-weight:700;color:var(--navy)}.dentist-rating{font-size:12px;color:var(--text);white-space:nowrap}.dentist-reviews{font-size:11px;color:var(--gray)}.dentist-card-row2{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.dentist-specialty{background:var(--ltgray);color:var(--gray);padding:3px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:500}.dentist-distance{font-size:12px;color:var(--gray)}.dentist-insurance-badge{background:#ade6d84d;color:#2d8b74;padding:5px 12px;border-radius:var(--radius-pill);font-size:11px;font-weight:600;display:inline-block;margin-bottom:10px}.dentist-avail-row{display:flex;align-items:baseline;gap:6px;margin-bottom:12px}.dentist-avail-label{font-size:11px;color:var(--gray)}.dentist-avail-time{font-size:12px;color:var(--navy);font-weight:600}.dentist-card-btns{display:flex;gap:8px}.dentist-btn-view{flex:1;padding:10px;border:1.5px solid var(--lavender);border-radius:20px;background:transparent;color:var(--lavender);font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition)}.dentist-btn-view:hover{background:var(--lavender);color:var(--navy)}.dentist-btn-book{flex:1;padding:10px;border:none;border-radius:20px;background:var(--lavender);color:var(--navy);font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition)}.dentist-btn-book:hover{background:var(--lavender-dark);color:#fff}.dentist-btn-book:active{transform:scale(.97)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e2d4a80;z-index:200;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease}.booking-modal{width:100%;max-width:430px;background:var(--white);border-radius:24px 24px 0 0;padding:12px 24px 40px;max-height:88dvh;overflow-y:auto;animation:slideUp .3s ease}.modal-handle{width:40px;height:4px;background:var(--ltgray);border-radius:2px;margin:0 auto 16px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-title{font-size:18px;font-weight:700;color:var(--navy)}.modal-close{width:32px;height:32px;border-radius:50%;background:var(--ltgray);border:none;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:background var(--transition)}.modal-close:hover{background:var(--lavender)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:20px}.cal-day-label{text-align:center;font-size:11px;color:var(--gray);font-weight:600;padding:4px 0}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:13px;cursor:pointer;transition:all var(--transition);font-weight:500;color:var(--navy);border:none;background:none;font-family:var(--font-body)}.cal-day:hover:not(.unavailable){background:#adbbe633}.cal-day.selected{background:var(--lavender);color:var(--navy);font-weight:700}.cal-day.unavailable{color:var(--ltgray);cursor:default}.cal-day.today{font-weight:700;color:var(--lavender)}.time-slots{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.time-slot{padding:11px;border:1.5px solid var(--ltgray);border-radius:var(--radius-sm);background:var(--white);font-family:var(--font-body);font-size:13px;color:var(--navy);font-weight:500;cursor:pointer;text-align:center;transition:all var(--transition)}.time-slot:hover:not(.taken){border-color:var(--lavender)}.time-slot.selected{background:var(--lavender);border-color:var(--lavender);color:var(--navy);font-weight:700}.time-slot.taken{background:var(--ltgray);color:var(--gray);cursor:default;text-decoration:line-through}.reason-select{width:100%;padding:13px 16px;border:1.5px solid var(--ltgray);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:15px;color:var(--navy);background:var(--offwhite);outline:none;margin-bottom:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color var(--transition)}.reason-select:focus{border-color:var(--lavender)}.reason-notes{width:100%;padding:13px 16px;border:1.5px solid var(--ltgray);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:14px;color:var(--navy);background:var(--offwhite);outline:none;resize:none;line-height:1.5;transition:border-color var(--transition)}.reason-notes:focus{border-color:var(--lavender)}.reason-notes::placeholder{color:var(--gray)}.booking-summary{background:var(--offwhite);border-radius:var(--radius-sm);padding:16px;margin-bottom:16px}.booking-summary-header{display:flex;align-items:center;gap:14px;margin-bottom:14px}.booking-avatar{width:48px;height:48px;border-radius:50%;background:var(--lavender);color:var(--navy);font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.booking-doc-name{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:2px}.booking-doc-spec{font-size:13px;color:var(--gray)}.booking-detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-top:1px solid var(--ltgray);font-size:14px}.booking-detail-label{color:var(--gray)}.booking-detail-value{font-weight:600;color:var(--navy)}.booking-detail-value.mint{color:#2d8b74;font-size:16px}.booking-confirmed{text-align:center;padding:20px 0;position:relative}.confirmed-title{font-family:var(--font-display);font-size:24px;color:var(--navy);margin-top:20px;margin-bottom:8px}.confirmed-subtitle{font-size:14px;color:var(--gray);margin-bottom:20px}.confetti-container{position:absolute;top:60px;left:50%;transform:translate(-50%);width:1px;height:1px;pointer-events:none}.confetti-particle{position:absolute;border-radius:2px;animation:confettiFly 1.2s ease-out forwards}.modal-step-row{display:flex;gap:10px;margin-top:20px}.modal-back-btn{padding:14px 20px;border:1.5px solid var(--ltgray);border-radius:var(--radius-pill);background:transparent;font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--gray);cursor:pointer;transition:all var(--transition)}.modal-back-btn:hover{border-color:var(--navy);color:var(--navy)}.modal-next-btn{flex:1;padding:14px;border:none;border-radius:var(--radius-pill);background:var(--lavender);font-family:var(--font-body);font-size:15px;font-weight:600;color:var(--navy);cursor:pointer;transition:all var(--transition)}.modal-next-btn:hover{background:var(--lavender-dark);color:#fff}.modal-next-btn:active{transform:scale(.97)}.modal-next-btn:disabled{background:var(--ltgray);color:var(--gray);cursor:default}.ai-screen{display:flex;flex-direction:column;height:calc(100dvh - 80px)}.ai-header{padding:52px 20px 14px;background:var(--white);border-bottom:1px solid var(--ltgray)}.ai-header-row{display:flex;align-items:center;gap:10px}.ai-title{font-family:var(--font-display);font-size:20px;color:var(--navy)}.ai-pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--mint);animation:pulse 2s ease-in-out infinite}.ai-online{font-size:12px;color:#2d8b74;font-weight:500}.ai-powered{font-size:12px;color:var(--gray);margin-top:4px}.ai-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px;scrollbar-width:none}.ai-messages::-webkit-scrollbar{display:none}.ai-empty{display:flex;flex-direction:column;align-items:center;padding:40px 24px 16px;text-align:center}.ai-empty-hint{font-size:14px;color:var(--gray);margin-bottom:20px}.ai-prompt-btns{display:flex;flex-direction:column;gap:10px;width:100%}.ai-prompt-btn{padding:14px 18px;border:1.5px solid var(--lavender);border-radius:20px;background:transparent;font-family:var(--font-body);font-size:14px;color:var(--navy);cursor:pointer;text-align:left;transition:all var(--transition)}.ai-prompt-btn:hover{background:#adbbe626}.ai-prompt-btn:active{transform:scale(.98)}.chat-msg-wrap{display:flex;gap:8px;animation:fadeIn .2s ease}.chat-msg-wrap.user{flex-direction:row-reverse}.chat-avatar{width:28px;height:28px;border-radius:50%;background:var(--lavender);color:var(--navy);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;align-self:flex-end}.chat-bubble{max-width:82%;padding:12px 16px;font-size:14px;line-height:1.6;white-space:pre-wrap}.chat-bubble.ai{background:var(--white);border:1px solid var(--ltgray);color:var(--navy);border-radius:18px 18px 18px 4px}.chat-bubble.user{background:var(--lavender);color:var(--navy);border-radius:18px 18px 4px;max-width:78%}.typing-indicator{display:flex;gap:4px;padding:16px 18px}.typing-indicator span{width:7px;height:7px;border-radius:50%;background:var(--lavender);animation:bounce 1.2s infinite ease-in-out}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}.ai-input-bar{padding:12px 16px;background:var(--white);border-top:1px solid var(--ltgray);display:flex;gap:10px;align-items:center}.ai-input{flex:1;padding:12px 18px;background:var(--offwhite);border:1.5px solid var(--ltgray);border-radius:var(--radius-pill);font-family:var(--font-body);font-size:14px;color:var(--navy);outline:none;transition:border-color var(--transition)}.ai-input:focus{border-color:var(--lavender)}.ai-input::placeholder{color:var(--gray)}.ai-send-btn{width:44px;height:44px;border-radius:50%;background:var(--lavender);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition)}.ai-send-btn:hover{background:var(--lavender-dark)}.ai-send-btn:active{transform:scale(.93)}.ai-send-btn:disabled{background:var(--ltgray);cursor:default}.profile-screen{padding:0 0 24px}.profile-header{padding:52px 20px 16px;background:var(--white);display:flex;justify-content:space-between;align-items:center}.profile-content{padding:16px;display:flex;flex-direction:column;gap:14px}.plan-card{background:linear-gradient(135deg,#adbbe6,#add8e6);border-radius:var(--radius-lg);padding:22px;color:#fff;animation:fadeUp .4s ease both}.plan-card-name{font-family:var(--font-display);font-size:22px;color:#fff;margin-bottom:4px}.plan-card-type{font-size:14px;opacity:.8;margin-bottom:3px}.plan-card-member{font-size:12px;opacity:.6;margin-bottom:2px}.plan-card-year{font-size:12px;opacity:.6}.plan-card-divider{height:1px;background:#fff3;margin:14px 0}.plan-card-stats{display:flex;gap:10px}.plan-stat-pill{background:#ffffff26;border-radius:var(--radius-pill);padding:8px 14px;font-size:12px;font-weight:600;color:#fff}.sub-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:18px 20px;border-left:3px solid var(--lavender);animation:fadeUp .4s ease .1s both}.sub-badge{display:inline-block;background:var(--lavender);color:var(--navy);font-size:11px;font-weight:700;padding:4px 10px;border-radius:var(--radius-pill);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.sub-status-row{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}.sub-label{font-size:15px;font-weight:700;color:var(--navy)}.sub-days{font-size:14px;color:#2d8b74;font-weight:600}.sub-next-charge{font-size:12px;color:var(--gray);margin-top:8px}.sub-manage{background:none;border:none;color:var(--lavender);font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;padding:0;margin-top:8px;display:block}.settings-section{animation:fadeUp .4s ease .2s both}.settings-section-title{font-size:11px;color:var(--gray);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:8px;padding:0 4px}.settings-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--ltgray);cursor:pointer;transition:background var(--transition)}.settings-row:last-child{border-bottom:none}.settings-row:hover{background:var(--offwhite)}.settings-row-left{display:flex;align-items:center;gap:12px}.settings-row-icon{font-size:18px}.settings-row-label{font-size:14px;color:var(--navy);font-weight:500}.settings-row-right{display:flex;align-items:center;gap:8px}.settings-chevron{font-size:12px;color:var(--gray)}.coming-soon-badge{background:var(--ltgray);color:var(--gray);font-size:10px;padding:2px 8px;border-radius:var(--radius-pill);font-weight:600}.sign-out-btn{background:none;border:none;color:var(--danger);font-family:var(--font-body);font-size:14px;font-weight:600;cursor:pointer;padding:16px;width:100%;text-align:center}.sign-out-btn:hover{opacity:.8}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes bounce{0%,80%,to{transform:scale(.7);opacity:.5}40%{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}@keyframes drawCheckmark{0%{stroke-dashoffset:200}to{stroke-dashoffset:0}}@keyframes drawCircle{0%{stroke-dashoffset:283}to{stroke-dashoffset:0}}@keyframes confettiFly{0%{opacity:1;transform:translate(0) rotate(0)}to{opacity:0;transform:translate(var(--tx),var(--ty)) rotate(var(--rotation))}}
