:root{--nmc-primary:#0d9488;--nmc-primary-light:#5eead4;--nmc-primary-dark:#115e59;--nmc-primary-50:#f0fdfa;--nmc-primary-100:#ccfbf1;--nmc-primary-200:#99f6e4;--nmc-accent:#f43f5e;--nmc-accent-light:#fda4af;--nmc-accent-50:#fff1f2;--tier-bronze:#cd7f32;--tier-silver:#9ca3af;--tier-gold:#f59e0b;--tier-platinum:#8b5cf6;--tier-diamond:#06b6d4;--nmc-bg:#f0fdfa;--nmc-bg-card:#fff;--nmc-text:#134e4a;--nmc-text-secondary:#5f6368;--nmc-text-muted:#9ca3af;--nmc-border:#e5e7eb;--nmc-bottom-nav-height:72px;--nmc-header-height:56px;--nmc-safe-area-bottom:env(safe-area-inset-bottom,0px);--nmc-padding-x:1.25rem}.customer-app{background:var(--nmc-bg);min-height:100dvh;color:var(--nmc-text);padding-bottom:calc(var(--nmc-bottom-nav-height) + var(--nmc-safe-area-bottom));-webkit-tap-highlight-color:transparent;overflow-x:hidden}.bottom-nav{height:calc(var(--nmc-bottom-nav-height) + var(--nmc-safe-area-bottom));padding-bottom:var(--nmc-safe-area-bottom);-webkit-backdrop-filter:blur(20px)saturate(180%);z-index:1000;background:#ffffffeb;border-top:1px solid #0000000f;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:2px;min-width:56px;padding:6px 12px;text-decoration:none;transition:all .2s;display:flex}.bottom-nav-item span.nav-icon{font-size:22px;line-height:1;transition:transform .2s}.bottom-nav-item span.nav-label{color:var(--nmc-text-muted);font-size:10px;font-weight:500;transition:color .2s}.bottom-nav-item.active span.nav-label{color:var(--nmc-primary);font-weight:600}.bottom-nav-item.active span.nav-icon{transform:scale(1.15)}.bottom-nav-item:active{transform:scale(.92)}.service-card{background:var(--nmc-bg-card);border-radius:1rem;padding:1.25rem;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005}.service-card:before{content:"";border-radius:1rem 1rem 0 0;height:4px;position:absolute;top:0;left:0;right:0}.service-card:active{transform:scale(.98)}.service-card.variant-teal:before{background:linear-gradient(90deg,#0d9488,#5eead4)}.service-card.variant-rose:before{background:linear-gradient(90deg,#f43f5e,#fda4af)}.service-card.variant-purple:before{background:linear-gradient(90deg,#8b5cf6,#c4b5fd)}.service-card.variant-amber:before{background:linear-gradient(90deg,#f59e0b,#fcd34d)}.service-card.variant-cyan:before{background:linear-gradient(90deg,#06b6d4,#67e8f9)}.service-card.variant-emerald:before{background:linear-gradient(90deg,#059669,#6ee7b7)}.loyalty-banner{background:linear-gradient(135deg, var(--nmc-primary-dark), var(--nmc-primary));color:#fff;border-radius:1rem;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex;box-shadow:0 4px 14px #0d948840}.loyalty-banner .xp-bar-track{background:#fff3;border-radius:3px;flex:1;height:6px;overflow:hidden}.loyalty-banner .xp-bar-fill{background:linear-gradient(90deg,#5eead4,#fff);border-radius:3px;height:100%;transition:width .6s}.customer-hero{padding:2rem var(--nmc-padding-x) 1.5rem;background:linear-gradient(180deg, var(--nmc-primary-100) 0%, var(--nmc-bg) 100%);position:relative}.customer-hero h1,.hero-title{color:var(--nmc-text);font-size:1.75rem;font-weight:800;line-height:1.2}.highlight-teal{color:var(--nmc-primary)}.highlight-rose{color:var(--nmc-accent)}.hero-badge{color:var(--nmc-primary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffc;border-radius:2rem;align-items:center;gap:.375rem;margin-bottom:.75rem;padding:.375rem .875rem;font-size:.8125rem;font-weight:500;display:inline-flex}.hero-subtitle{color:var(--nmc-text-secondary);margin-top:.5rem;font-size:.9375rem;line-height:1.5}.hero-cta{background:var(--nmc-primary);color:#fff;border-radius:.75rem;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 4px 14px #0d94884d}.hero-cta:active{transform:scale(.97)}.quick-actions{padding:0 var(--nmc-padding-x);grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.quick-action-item{background:var(--nmc-bg-card);border-radius:.75rem;flex-direction:column;align-items:center;gap:.375rem;padding:.75rem .25rem;text-decoration:none;transition:transform .15s;display:flex;box-shadow:0 1px 2px #0000000a}.quick-action-item:active{transform:scale(.95)}.quick-action-item .action-icon{font-size:1.5rem;line-height:1}.quick-action-item .action-label{color:var(--nmc-text-secondary);text-align:center;font-size:.6875rem;font-weight:500;line-height:1.2}.section-header{padding:1.25rem var(--nmc-padding-x) .625rem;justify-content:space-between;align-items:center;display:flex}.section-header h2{color:var(--nmc-text);font-size:1.125rem;font-weight:700}.section-header .see-all{color:var(--nmc-primary);font-size:.8125rem;font-weight:500;text-decoration:none}.stats-bar{padding:0 var(--nmc-padding-x);grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.stat-item{text-align:center;background:var(--nmc-bg-card);border-radius:.75rem;padding:.75rem .25rem;box-shadow:0 1px 2px #0000000a}.stat-item .stat-icon{font-size:1rem}.stat-item .stat-value{color:var(--nmc-text);margin-top:.25rem;font-size:1.25rem;font-weight:800;line-height:1}.stat-item .stat-label{color:var(--nmc-text-muted);margin-top:.125rem;font-size:.625rem}.services-list{padding:0 var(--nmc-padding-x);flex-direction:column;gap:.75rem;display:flex}.service-card-link{color:inherit;text-decoration:none}.service-card-inner{align-items:flex-start;gap:.75rem;display:flex}.service-card-icon{flex-shrink:0;font-size:2rem;line-height:1}.service-card-title{margin-bottom:.25rem;font-size:1rem;font-weight:700}.service-card-desc{color:var(--nmc-text-secondary);font-size:.8125rem;line-height:1.5}.service-card-cta{color:var(--nmc-primary);margin-top:.5rem;font-size:.8125rem;font-weight:600;display:inline-block}.branch-card{padding:1rem 1.25rem}.branch-card-inner{justify-content:space-between;align-items:center;display:flex}.branch-name{font-size:.875rem;font-weight:700}.branch-address{color:var(--nmc-text-secondary);margin-top:.125rem;font-size:.8125rem}.branch-call-btn{background:var(--nmc-primary-50);color:var(--nmc-primary);white-space:nowrap;border-radius:.5rem;padding:.5rem .75rem;font-size:.75rem;font-weight:600;text-decoration:none}.pwa-install-banner{margin:.75rem var(--nmc-padding-x);background:linear-gradient(135deg, var(--nmc-primary-50), #fff);border:1px solid var(--nmc-primary-200);border-radius:.75rem;align-items:center;gap:.75rem;padding:.875rem 1rem;animation:.4s slideUp;display:flex}.pwa-install-banner .install-btn{background:var(--nmc-primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:.5rem;padding:.5rem 1rem;font-size:.8125rem;font-weight:600;transition:background .15s}.pwa-install-banner .install-btn:active{background:var(--nmc-primary-dark)}.login-page{background:linear-gradient(#ccfbf1 0%,#f0fdfa 50%,#fff 100%);justify-content:center;align-items:center;min-height:100dvh;padding:1rem;display:flex}.login-container{width:100%;max-width:24rem}.login-header{text-align:center;margin-bottom:2rem}.login-logo-link{text-decoration:none}.login-logo{margin-bottom:.5rem;font-size:3rem}.login-title{color:var(--nmc-text);letter-spacing:-.01em;font-size:1.375rem;font-weight:800}.login-subtitle{color:var(--nmc-text-secondary);margin-top:.25rem;font-size:.8125rem}.login-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd9;border:1px solid #fff9;border-radius:1.25rem;flex-direction:column;gap:.875rem;padding:1.5rem;display:flex;box-shadow:0 4px 24px #0000000f}.login-success{text-align:center;background:#f0fdf4;border-color:#bbf7d0}.login-success-icon{margin-bottom:.5rem;font-size:2.5rem}.login-success-title{color:#166534;font-size:1rem;font-weight:700}.login-success-text{color:#16a34a;font-size:.8125rem}.login-otp-notice{background:var(--nmc-primary-50);border:1px solid var(--nmc-primary-200);color:var(--nmc-primary);border-radius:.75rem;padding:.75rem 1rem;font-size:.8125rem}.login-field{flex-direction:column;gap:.25rem;display:flex}.login-label{color:var(--nmc-text-secondary);font-size:.8125rem;font-weight:500}.login-input{border:1px solid var(--nmc-border);box-sizing:border-box;border-radius:.75rem;outline:none;width:100%;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.login-input:focus{border-color:var(--nmc-primary)}.login-input-otp{text-align:center;letter-spacing:.5em;font-size:1.375rem;font-weight:700}.login-error{color:#ef4444;padding:0 .25rem;font-size:.8125rem}.login-btn{background:linear-gradient(135deg, var(--nmc-primary), #14b8a6);color:#fff;cursor:pointer;box-sizing:border-box;border:none;border-radius:.75rem;width:100%;min-height:48px;padding:.75rem;font-size:.9375rem;font-weight:600;transition:opacity .15s}.login-btn:disabled{background:var(--nmc-text-muted);cursor:not-allowed}.login-btn:active:not(:disabled){opacity:.9}.login-link-btn{color:var(--nmc-primary);cursor:pointer;text-align:center;background:0 0;border:none;padding:.5rem;font-size:.8125rem}.login-footer-text{color:var(--nmc-text-muted);text-align:center;margin-top:1.5rem;font-size:.6875rem;line-height:1.6}.login-back{text-align:center;margin-top:1.5rem}.login-back-link{color:var(--nmc-primary);font-size:.8125rem;font-weight:500;text-decoration:none}.streak-badge{color:#92400e;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:2rem;align-items:center;margin-top:.75rem;padding:.375rem .875rem;font-size:.8125rem;font-weight:700;animation:2s infinite pulse-glow;display:inline-flex}.routine-progress{color:var(--nmc-text-muted);font-size:.8125rem;font-weight:600}.routine-list{padding:0 var(--nmc-padding-x);flex-direction:column;gap:.5rem;display:flex}.routine-step{background:var(--nmc-bg-card);cursor:pointer;text-align:left;border:1.5px solid #0000;border-radius:.75rem;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-family:inherit;transition:all .25s;display:flex;box-shadow:0 1px 3px #0000000a}.routine-step:not(:disabled):active{transform:scale(.98)}.routine-step-done{background:var(--nmc-primary-50);border-color:var(--nmc-primary-200);opacity:.85}.routine-step-num{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.875rem;font-weight:700;display:flex}.routine-step-num-am{background:var(--nmc-primary-50);color:var(--nmc-primary)}.routine-step-num-pm{color:#8b5cf6;background:#f5f3ff}.routine-step-icon{flex-shrink:0;font-size:1.25rem}.routine-step-info{flex:1;min-width:0}.routine-step-title{color:var(--nmc-text);font-size:.875rem;font-weight:600}.routine-step-desc{color:var(--nmc-text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:.125rem;font-size:.6875rem;line-height:1.4;overflow:hidden}.routine-check{border:2px solid var(--nmc-border);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.75rem;font-weight:700;transition:all .3s;display:flex}.routine-check-done{background:var(--nmc-primary);border-color:var(--nmc-primary);animation:.4s checkPop}.confetti-overlay{z-index:2000;background:#0000004d;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.confetti-text{color:var(--nmc-primary);background:#fff;border-radius:1.5rem;padding:2rem 3rem;font-size:1.5rem;font-weight:800;animation:.5s bounceIn;box-shadow:0 20px 60px #00000026}.protocol-card-wrapper{padding:0 var(--nmc-padding-x)}.protocol-summary-card{background:linear-gradient(135deg, var(--nmc-primary-dark), var(--nmc-primary));color:#fff;border-radius:1.25rem;padding:1.5rem;box-shadow:0 8px 24px #0d94884d}.protocol-header-row{justify-content:space-between;align-items:center;display:flex}.protocol-code{background:#fff3;border-radius:2rem;padding:.25rem .625rem;font-size:.6875rem;font-weight:600}.protocol-version{opacity:.7;font-size:.6875rem}.protocol-name{margin-top:.75rem;font-size:1.125rem;font-weight:800}.protocol-doctor{opacity:.9;margin-top:.375rem;font-size:.8125rem}.protocol-phase{margin-top:1.25rem}.protocol-phase-label{margin-bottom:.5rem;font-size:.8125rem;font-weight:600}.protocol-progress-bar{background:#fff3;border-radius:4px;height:8px;overflow:hidden}.protocol-progress-fill{background:linear-gradient(90deg,#5eead4,#fff);border-radius:4px;height:100%;transition:width .8s}.protocol-progress-text{opacity:.8;margin-top:.375rem;font-size:.75rem}.protocol-next-visit{opacity:.9;align-items:center;gap:.5rem;margin-top:1rem;font-size:.8125rem;display:flex}.milestone-list{padding:0 var(--nmc-padding-x);flex-direction:column;gap:0;display:flex}.milestone-item{align-items:flex-start;gap:.875rem;padding:.75rem 0;display:flex;position:relative}.milestone-item:before{content:"";background:var(--nmc-border);width:2px;position:absolute;top:1.75rem;bottom:-.75rem;left:7px}.milestone-item:last-child:before{display:none}.milestone-dot{border:2px solid var(--nmc-border);background:#fff;border-radius:50%;flex-shrink:0;width:1rem;height:1rem;margin-top:.125rem}.milestone-done .milestone-dot{background:var(--nmc-primary);border-color:var(--nmc-primary)}.milestone-done:before{background:var(--nmc-primary)}.milestone-current .milestone-dot{background:#fbbf24;border-color:#f59e0b;box-shadow:0 0 0 4px #fbbf2433}.milestone-content{flex:1}.milestone-week{color:var(--nmc-text-muted);font-size:.6875rem;font-weight:500}.milestone-label{color:var(--nmc-text);font-size:.875rem;font-weight:600}.milestone-current .milestone-label{color:#f59e0b}.safety-notes-list{padding:0 var(--nmc-padding-x);flex-direction:column;gap:.5rem;display:flex}.safety-note-item{background:#fef2f2;border:1px solid #fecaca;border-radius:.75rem;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;display:flex}.safety-note-icon{flex-shrink:0}.safety-note-text{color:#991b1b;font-size:.8125rem;line-height:1.5}.protocol-actions{padding:1rem var(--nmc-padding-x) 1.5rem;flex-direction:column;gap:.5rem;display:flex}.protocol-action-btn{text-align:center;border-radius:.75rem;min-height:48px;padding:.875rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:opacity .15s;display:block}.protocol-action-btn:active{opacity:.9}.protocol-action-btn.primary{background:var(--nmc-primary);color:#fff;box-shadow:0 4px 14px #0d948840}.protocol-action-btn.secondary{background:var(--nmc-bg-card);color:var(--nmc-primary);border:1.5px solid var(--nmc-primary-200)}.profile-content{padding:0 var(--nmc-padding-x);flex-direction:column;gap:.75rem;display:flex}.profile-user-card{text-align:center;padding:1.5rem}.profile-avatar{background:var(--nmc-primary-50);width:4rem;height:4rem;color:var(--nmc-primary);border-radius:50%;justify-content:center;align-items:center;margin:0 auto .75rem;font-size:1.5rem;font-weight:800;display:flex}.profile-user-name{color:var(--nmc-text);font-size:1rem;font-weight:700}.profile-user-email{color:var(--nmc-text-muted);margin-top:.25rem;font-size:.8125rem}.profile-login-prompt{color:var(--nmc-text-secondary);font-size:.875rem}.profile-menu-item{color:inherit;align-items:center;gap:.75rem;padding:.875rem 1rem;text-decoration:none;display:flex}.profile-menu-icon{font-size:1.25rem}.profile-menu-label{flex:1;font-size:.875rem;font-weight:500}.profile-menu-arrow{color:var(--nmc-text-muted);font-size:.875rem}.profile-logout-btn{color:#ef4444;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:.75rem;width:100%;min-height:48px;padding:.875rem;font-size:.875rem;font-weight:600;transition:background .15s}.profile-logout-btn:active{background:#fee2e2}.booking-form{padding:0 var(--nmc-padding-x) 1.5rem;flex-direction:column;gap:1.25rem;display:flex}.booking-field{flex-direction:column;gap:.5rem;display:flex}.booking-label{color:var(--nmc-text);font-size:.875rem;font-weight:600}.booking-branch-btn{text-align:left;background:var(--nmc-bg-card);border:1.5px solid var(--nmc-border);cursor:pointer;border-radius:.75rem;width:100%;padding:.875rem 1rem;font-family:inherit;transition:all .2s;display:block}.booking-branch-btn.active{border-color:var(--nmc-primary);background:var(--nmc-primary-50)}.booking-branch-btn:active{transform:scale(.98)}.booking-branch-name{font-size:.875rem;font-weight:600}.booking-branch-addr{color:var(--nmc-text-muted);margin-top:.125rem;font-size:.75rem}.booking-select,.booking-input,.booking-textarea{border:1.5px solid var(--nmc-border);box-sizing:border-box;background:var(--nmc-bg-card);border-radius:.75rem;outline:none;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:.9375rem;transition:border-color .2s}.booking-select:focus,.booking-input:focus,.booking-textarea:focus{border-color:var(--nmc-primary)}.booking-textarea{resize:vertical;min-height:80px}.booking-submit-btn{background:var(--nmc-primary);color:#fff;cursor:pointer;border:none;border-radius:.75rem;width:100%;min-height:48px;padding:.875rem;font-size:.9375rem;font-weight:600;transition:opacity .15s}.booking-submit-btn:disabled{background:var(--nmc-text-muted);cursor:not-allowed}.booking-submit-btn:active:not(:disabled){opacity:.9}.booking-success{text-align:center;padding:3rem var(--nmc-padding-x)}.booking-success-icon{margin-bottom:1rem;font-size:3rem}.booking-success-title{color:var(--nmc-text);font-size:1.125rem;font-weight:700}.booking-success-text{color:var(--nmc-text-secondary);margin-top:.5rem;font-size:.875rem}.booking-reset-btn{background:var(--nmc-primary-50);color:var(--nmc-primary);cursor:pointer;border:none;border-radius:.75rem;margin-top:1.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600}.faq-search-wrapper{padding:0 var(--nmc-padding-x)}.faq-search-input{border:1.5px solid var(--nmc-border);box-sizing:border-box;background:var(--nmc-bg-card);border-radius:.75rem;outline:none;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:.9375rem;transition:border-color .2s}.faq-search-input:focus{border-color:var(--nmc-primary)}.faq-chips{padding:.75rem var(--nmc-padding-x);-webkit-overflow-scrolling:touch;gap:.5rem;display:flex;overflow-x:auto}.faq-chips::-webkit-scrollbar{display:none}.faq-chip{border:1px solid var(--nmc-border);background:var(--nmc-bg-card);color:var(--nmc-text-secondary);cursor:pointer;border-radius:2rem;flex-shrink:0;padding:.375rem .875rem;font-family:inherit;font-size:.75rem;font-weight:500;transition:all .2s}.faq-chip-active{background:var(--nmc-primary);color:#fff;border-color:var(--nmc-primary)}.faq-list{padding:0 var(--nmc-padding-x);flex-direction:column;gap:.5rem;display:flex}.faq-item{text-align:left;background:var(--nmc-bg-card);border:1px solid var(--nmc-border);cursor:pointer;border-radius:.75rem;width:100%;padding:1rem;font-family:inherit;transition:all .2s}.faq-item-expanded{border-color:var(--nmc-primary-200);box-shadow:0 2px 8px #0d948814}.faq-question{align-items:flex-start;gap:.5rem;display:flex}.faq-q-icon{flex-shrink:0}.faq-q-text{color:var(--nmc-text);flex:1;font-size:.875rem;font-weight:600;line-height:1.4}.faq-chevron{color:var(--nmc-text-muted);flex-shrink:0;margin-top:.125rem;font-size:.625rem}.faq-answer{border-top:1px solid var(--nmc-border);margin-top:.875rem;padding-top:.875rem}.faq-answer-header{color:var(--nmc-primary);margin-bottom:.5rem;font-size:.8125rem}.faq-answer-text{color:var(--nmc-text-secondary);white-space:pre-line;font-size:.8125rem;line-height:1.7}.faq-answer-source{color:var(--nmc-text-muted);margin-top:.75rem;font-size:.6875rem;font-style:italic}.faq-empty{text-align:center;color:var(--nmc-text-muted);padding:2rem 1rem;font-size:.875rem}.faq-contact{text-align:center;padding:1.5rem var(--nmc-padding-x) 2rem}.faq-contact-text{color:var(--nmc-text-secondary);margin-bottom:.75rem;font-size:.875rem}.faq-contact-btn{background:var(--nmc-primary);color:#fff;border-radius:.75rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-block}.rewards-status-card{margin:0 var(--nmc-padding-x);background:linear-gradient(135deg, var(--nmc-primary-dark), var(--nmc-primary));color:#fff;border-radius:1rem;padding:1.25rem;box-shadow:0 4px 14px #0d948840}.rewards-status-header{align-items:center;gap:.75rem;display:flex}.rewards-level-emoji{font-size:2rem}.rewards-level-title{font-size:1rem;font-weight:700}.rewards-xp-text{opacity:.85;margin-top:.125rem;font-size:.75rem}.rewards-progress{margin-top:1rem}.rewards-progress-bar{background:#fff3;border-radius:3px;height:6px;overflow:hidden}.rewards-progress-fill{background:linear-gradient(90deg,#5eead4,#fff);border-radius:3px;height:100%;transition:width .6s}.rewards-progress-label{opacity:.7;margin-top:.375rem;font-size:.6875rem}.rewards-tier-list{padding:0 var(--nmc-padding-x);flex-direction:column;gap:.5rem;display:flex}.rewards-tier-item{background:var(--nmc-bg-card);border-left:4px solid var(--nmc-border);border-radius:.75rem;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex;box-shadow:0 1px 2px #0000000a}.rewards-tier-current{background:var(--nmc-primary-50);box-shadow:0 2px 8px #0d94881a}.rewards-tier-info{align-items:center;gap:.5rem;display:flex}.rewards-tier-emoji{font-size:1.25rem}.rewards-tier-name{font-size:.875rem;font-weight:700}.rewards-tier-xp{color:var(--nmc-text-muted);font-size:.6875rem}.rewards-tier-discount{font-size:.8125rem;font-weight:700}.rewards-catalog{padding:0 var(--nmc-padding-x);flex-direction:column;gap:.5rem;display:flex}.rewards-reward-item{background:var(--nmc-bg-card);border-radius:.75rem;justify-content:space-between;align-items:center;padding:.875rem 1rem;display:flex;box-shadow:0 1px 2px #0000000a}.rewards-reward-locked{opacity:.5}.rewards-reward-info{align-items:center;gap:.5rem;display:flex}.rewards-reward-emoji{font-size:1.25rem}.rewards-reward-name{font-size:.8125rem;font-weight:600}.rewards-reward-cost{background:var(--nmc-primary-50);color:var(--nmc-primary);border-radius:2rem;padding:.25rem .75rem;font-size:.6875rem;font-weight:700}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #f59e0b4d}50%{box-shadow:0 0 0 8px #f59e0b00}}@keyframes checkPop{0%{transform:scale(.5)}50%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-slide-up{animation:.4s slideUp}@media (min-width:768px){.customer-app{max-width:480px;min-height:100dvh;margin:0 auto;box-shadow:0 0 40px #00000014}.bottom-nav{max-width:480px;left:50%;transform:translate(-50%)}}.routine-tabs{padding:.5rem var(--nmc-padding-x);-webkit-overflow-scrolling:touch;gap:.375rem;display:flex;overflow-x:auto}.routine-tabs::-webkit-scrollbar{display:none}.routine-tab{border:1.5px solid var(--nmc-border);background:var(--nmc-bg-card);cursor:pointer;text-align:center;border-radius:.75rem;flex-direction:column;flex:1;gap:.125rem;min-width:0;padding:.625rem .5rem;font-family:inherit;transition:all .2s;display:flex}.routine-tab:active{transform:scale(.97)}.routine-tab-active{background:var(--nmc-primary-50);border-color:var(--nmc-primary)}.routine-tab-label{color:var(--nmc-text);font-size:.75rem;font-weight:600}.routine-tab-active .routine-tab-label{color:var(--nmc-primary)}.routine-tab-count{color:var(--nmc-text-muted);font-size:.625rem}.routine-tab-active .routine-tab-count{color:var(--nmc-primary);font-weight:700}.routine-medication-note{margin:.75rem var(--nmc-padding-x) 1.5rem;color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:.75rem;padding:.75rem 1rem;font-size:.75rem;line-height:1.6}.onboarding-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.onboarding-card{color:#fff;border-radius:1.5rem;width:100%;max-width:380px;padding:2rem 1.5rem 1.5rem;animation:.5s ease-out onboardSlideIn;position:relative;box-shadow:0 25px 50px #0000004d}@keyframes onboardSlideIn{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.onboarding-skip{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:1rem;min-height:32px;padding:.25rem .75rem;font-size:.75rem;position:absolute;top:1rem;right:1rem}.onboarding-content{text-align:center;padding:1rem 0}.onboarding-emoji{margin-bottom:1rem;font-size:4rem;animation:1s infinite alternate onboardBounce}@keyframes onboardBounce{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.onboarding-title{text-shadow:0 2px 4px #00000026;margin:0 0 .25rem;font-size:1.5rem;font-weight:800}.onboarding-subtitle{opacity:.9;margin:0 0 .75rem;font-size:1rem;font-weight:600}.onboarding-desc{opacity:.85;margin:0;font-size:.8125rem;line-height:1.6}.onboarding-dots{justify-content:center;gap:.5rem;margin:1.25rem 0;display:flex}.onboarding-dot{background:#ffffff59;border-radius:50%;width:8px;height:8px;transition:all .3s}.onboarding-dot-active{background:#fff;border-radius:4px;width:24px}.onboarding-cta{color:#134e4a;cursor:pointer;background:#fff;border:none;border-radius:1rem;width:100%;min-height:48px;padding:.875rem;font-size:1rem;font-weight:700;transition:transform .2s}.onboarding-cta:active{transform:scale(.97)}.milestone-card{text-align:center;border-radius:1.25rem;width:100%;max-width:340px;margin:0 auto;padding:2rem 1.5rem;position:relative;overflow:hidden}.milestone-card:before{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff1a,#fff0);position:absolute;inset:0}.milestone-emoji{margin-bottom:.75rem;font-size:3.5rem}.milestone-title{color:#fff;text-shadow:0 2px 4px #00000026;margin:0 0 .25rem;font-size:1.25rem;font-weight:800}.milestone-stat{color:#fff;margin:.5rem 0;font-size:2rem;font-weight:900}.milestone-desc{color:#ffffffd9;margin:0 0 1rem;font-size:.75rem}.milestone-brand{color:#ffffff80;text-transform:uppercase;letter-spacing:.1em;font-size:.625rem}.milestone-share-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;cursor:pointer;background:#fff3;border:1px solid #ffffff4d;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;width:100%;min-height:48px;margin-top:1rem;padding:.75rem;font-size:.875rem;font-weight:600;transition:background .2s;display:flex}.milestone-share-btn:active{background:#ffffff4d}.streak-freeze-badge{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd;border-radius:1rem;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.625rem;font-weight:600;display:inline-flex}.streak-freeze-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0ea5e9,#38bdf8);border:none;border-radius:.75rem;align-items:center;gap:.375rem;min-height:36px;padding:.5rem .75rem;font-size:.75rem;font-weight:600;transition:transform .2s;display:flex}.streak-freeze-btn:disabled{cursor:not-allowed;background:#cbd5e1}.streak-freeze-btn:active:not(:disabled){transform:scale(.97)}
