.notification-bell-container,.notification-bell{position:relative}.notification-bell .notification-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;font-size:.65rem;font-weight:700;line-height:16px;text-align:center;color:#fff;background:var(--error, #dc2626);border-radius:999px;border:1.5px solid var(--bg-white, #fff)}.notification-dropdown{position:absolute;top:calc(100% + 6px);right:0;width:min(280px,calc(100vw - 32px));min-width:0;max-height:min(320px,60vh);display:flex;flex-direction:column;background:var(--bg-white);border-radius:10px;box-shadow:0 4px 20px #0000001f;border:1px solid var(--border-color);z-index:calc(var(--z-index-sticky) + 10);overflow:hidden}.notification-dropdown--empty{max-height:none}.notification-dropdown--empty .notification-dropdown-list{flex:0 0 auto}.notification-dropdown-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-color);flex-shrink:0}.notification-dropdown-title{margin:0;font-size:.85rem;font-weight:600;color:var(--text-primary)}.notification-dropdown-mark-all{padding:2px 6px;font-size:.72rem;font-weight:500;color:var(--primary);background:transparent;border:none;border-radius:4px;cursor:pointer;white-space:nowrap}.notification-dropdown-mark-all:hover{background:#7c3aed14}.notification-dropdown-list{overflow-y:auto;overscroll-behavior:contain;flex:1 1 auto;min-height:0;max-height:220px}.notification-dropdown--empty .notification-dropdown-list{max-height:none}.notification-dropdown-empty{padding:10px 12px;text-align:center;color:var(--text-muted);font-size:.8rem}.notification-dropdown-empty p{margin:0}.notification-dropdown-view-all{padding:8px 12px;font-size:.8rem;font-weight:600;color:var(--primary);background:#7c3aed0f;border:none;border-top:1px solid var(--border-color);cursor:pointer;flex-shrink:0;white-space:nowrap;text-align:center}.notification-dropdown-view-all:hover{background:#7c3aed1a}.notification-dropdown-view-all:active{background:#7c3aed24}.notification-item-btn{display:flex;align-items:flex-start;gap:8px;width:100%;padding:8px 12px;text-align:left;background:transparent;border:none;border-bottom:1px solid var(--border-color);cursor:pointer;font-family:inherit;transition:background .15s ease}.notification-item-btn:last-child{border-bottom:none}.notification-item-btn:hover{background:var(--bg-secondary)}.notification-item-btn.unread{background:#7c3aed0a}.notification-item-btn.unread:hover{background:#7c3aed14}.notification-item-dot{flex-shrink:0;width:8px;height:8px;margin-top:5px;display:flex;align-items:center;justify-content:center}.notification-item-dot-inner{width:6px;height:6px;border-radius:50%;background:var(--primary)}.notification-item-icon{flex-shrink:0;font-size:.95rem;line-height:1.2}.notification-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.notification-item-title{font-size:.8rem;font-weight:600;color:var(--text-primary);display:block}.notification-item-message{font-size:.75rem;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-item-time{font-size:.7rem;color:var(--text-muted);margin-top:1px}.notification-item-btn.compact .notification-item-message{-webkit-line-clamp:1}.notification-item-chevron{flex-shrink:0;font-size:1rem;color:var(--text-muted);margin-top:2px}@media (max-width: 768px){.notification-dropdown{left:50%;right:auto;transform:translate(-50%);width:min(260px,calc(100vw - 32px))}}.back-to-top{position:fixed;bottom:96px;right:16px;left:auto;z-index:50;width:48px;height:48px;border-radius:50%;border:none;background:var(--gradient-primary);color:var(--white);box-shadow:var(--shadow-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1)}.back-to-top:hover{transform:translateY(-2px);box-shadow:0 6px 20px #1f5fbf80}.back-to-top:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (max-width: 768px){.back-to-top{bottom:calc(96px + env(safe-area-inset-bottom,0px));right:max(16px,env(safe-area-inset-right))}}.loading-screen{display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);z-index:var(--z-index-modal)}.loading-screen.fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.loading-screen.inline{position:relative;min-height:400px;width:100%;border-radius:var(--border-radius-lg)}.loading-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);animation:fadeInUp .4s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.loading-spinner-container{position:relative;width:56px;height:56px}.loading-spinner-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:3px solid var(--gray-200, #e3ecff);border-top-color:var(--primary, #1f6feb);animation:spin .8s linear infinite}.loading-spinner-ring:nth-child(2),.loading-spinner-ring:nth-child(3){display:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes logoPulse{0%,to{transform:scale(1);box-shadow:0 4px 20px #1f6feb4d}50%{transform:scale(1.05);box-shadow:0 6px 28px #1f6feb66}}.loading-message{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin:0;letter-spacing:.01em}.loading-message:after{content:"";animation:loadingDots 1.5s infinite}@keyframes loadingDots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}@media (max-width: 768px){.loading-screen.inline{min-height:300px}.loading-spinner-container{width:48px;height:48px}.loading-spinner-ring{border-width:2.5px}.loading-message{font-size:.9rem}}.route-loading-bar{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary) 0%,var(--accent, #7c3aed) 100%);z-index:var(--z-banner);pointer-events:none;animation:routeLoadingBar .4s ease-out forwards}@keyframes routeLoadingBar{0%{transform:scaleX(0);transform-origin:left}70%{transform:scaleX(.8);transform-origin:left}to{transform:scaleX(1);transform-origin:right;opacity:0}}.offline-banner{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;background:#fef3c7;color:#92400e;font-size:.9375rem;font-weight:500;border-bottom:1px solid #fcd34d;position:sticky;top:0;left:0;right:0;z-index:var(--z-banner);box-shadow:0 2px 8px #00000014}.offline-banner-icon{flex-shrink:0;color:#d97706}.add-to-home-prompt{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom,0px));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));z-index:999;background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);color:var(--white);padding:12px 16px;border-radius:12px;box-shadow:0 4px 20px #2563eb66;display:flex;align-items:center;gap:12px;animation:add-to-home-slide-up .3s ease-out}@keyframes add-to-home-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.add-to-home-prompt-close{position:absolute;top:8px;right:8px;background:#fff3;border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--white);cursor:pointer;flex-shrink:0}.add-to-home-prompt-close:hover{background:#ffffff4d}.add-to-home-prompt-content{flex:1;display:flex;align-items:flex-start;gap:12px;min-width:0}.add-to-home-prompt-icon{flex-shrink:0;opacity:.95}.add-to-home-prompt-content strong{display:block;font-size:.95rem;margin-bottom:2px}.add-to-home-prompt-content p{margin:0;font-size:.8rem;opacity:.95;line-height:1.35}.add-to-home-prompt-btn{flex-shrink:0;background:var(--white);color:var(--primary);border:none;padding:8px 16px;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer}.add-to-home-prompt-btn:hover{background:#eff6ff}@media (min-width: 769px){.add-to-home-prompt{display:none}}.bottom-nav--hidden{transform:translateY(100%);pointer-events:none}.bottom-nav{transition:transform .2s ease;display:none;position:fixed;bottom:0;left:0;right:0;z-index:var(--z-index-sticky, 100);width:100%;max-width:100vw;margin:0;background:#ffffffd9;border-top:1px solid rgba(0,0,0,.06);padding-top:10px;padding-bottom:max(12px,env(safe-area-inset-bottom));padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right));box-shadow:0 -2px 8px #0000000a,0 -4px 16px #0000000f,0 0 0 .5px #00000005;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);animation:bottomNavSlideUp .4s cubic-bezier(.4,0,.2,1) forwards}@keyframes bottomNavSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){.bottom-nav{display:flex;align-items:flex-end;justify-content:space-around;gap:2px}}.bottom-nav-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:1;min-height:52px;min-width:44px;padding:6px 4px;color:var(--text-muted);text-decoration:none;font-size:.7rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:12px;-webkit-tap-highlight-color:transparent}.bottom-nav-item:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#2563eb1f;transform:translate(-50%,-50%);transition:width .6s,height .6s;pointer-events:none}.bottom-nav-item:active:before{width:100%;height:100%}.bottom-nav-item:hover{color:var(--primary);transform:translateY(-2px)}.bottom-nav-item.active{color:var(--primary);font-weight:600}.bottom-nav-item.active:after{content:"";position:absolute;top:4px;left:50%;transform:translate(-50%);width:48px;height:28px;border-radius:14px;background:linear-gradient(135deg,#1f5fbf24,#4f8ad91a);z-index:-1;animation:pillFadeIn .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes pillFadeIn{0%{opacity:0;transform:translate(-50%) scaleX(.6)}to{opacity:1;transform:translate(-50%) scaleX(1)}}.bottom-nav-item svg{transition:all .3s cubic-bezier(.4,0,.2,1)}.bottom-nav-item.active svg{color:var(--primary);opacity:1;transform:scale(1.1)}.bottom-nav-item:not(.active) svg{opacity:.65}.bottom-nav-item:active svg{transform:scale(.95)}.bottom-nav-item svg{flex-shrink:0}.bottom-nav-item-center{flex:0 0 auto;margin-top:-18px;padding:8px;min-height:44px;min-width:44px;display:flex;flex-direction:column;align-items:center;justify-content:center}.bottom-nav-center-pill{position:relative;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--gradient-primary);color:var(--white);box-shadow:0 4px 16px #2563eb59,0 8px 24px #7c3aed33;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.bottom-nav-center-pill:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.3) 50%,transparent 70%);transform:rotate(45deg);animation:shimmer 3s infinite}@keyframes shimmer{0%,to{transform:translate(-100%) translateY(-100%) rotate(45deg)}50%{transform:translate(100%) translateY(100%) rotate(45deg)}}.bottom-nav-item-center:hover .bottom-nav-center-pill,.bottom-nav-item-center:focus-visible .bottom-nav-center-pill{transform:scale(1.08) translateY(-2px);box-shadow:0 8px 24px #2563eb66,0 12px 32px #7c3aed40}.bottom-nav-item-center:active .bottom-nav-center-pill{transform:scale(.95);box-shadow:0 2px 8px #2563eb4d,0 4px 12px #7c3aed26}.bottom-nav-item-center.active .bottom-nav-center-pill{box-shadow:0 6px 20px #2563eb73,0 10px 28px #7c3aed40}.bottom-nav-center-label{margin-top:4px;font-size:.65rem;font-weight:600;color:var(--text-muted)}.bottom-nav-item-center.active .bottom-nav-center-label{color:var(--primary)}@media (prefers-reduced-motion: reduce){.bottom-nav-item,.bottom-nav-item-center:hover .bottom-nav-center-pill,.bottom-nav-item-center:focus-visible .bottom-nav-center-pill{transition:none}}.app-layout{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg-secondary)}.app-shell-mode.app-layout{background:var(--bg-secondary)}.skip-link{position:absolute;top:0;left:0;transform:translateY(-120%);padding:var(--spacing-md) var(--spacing-md);min-height:44px;background:var(--bg-white);color:var(--text-primary);border:1px solid var(--border-color);border-radius:0 0 var(--border-radius-md) 0;z-index:calc(var(--z-index-sticky) + 1);text-decoration:none;transition:transform .2s ease;display:inline-flex;align-items:center}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0);outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);box-shadow:var(--focus-shadow);z-index:var(--z-nav)}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-index-sticky);background:#ffffffd1;border-bottom:1px solid rgba(31,95,191,.06);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);transition:background .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1),border-color .35s cubic-bezier(.4,0,.2,1);overflow:visible}.app-header.scrolled{background:#ffffffeb;box-shadow:0 1px 3px #1f5fbf0f,0 4px 16px #1f5fbf14,0 8px 24px #0000000a;border-bottom-color:#1f5fbf1a}@media (max-width: 768px){.app-shell-mode .app-header-container{min-height:52px;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:10px;padding-left:max(14px,env(safe-area-inset-left));padding-right:14px}.app-shell-mode .app-logo-mark{width:34px;height:34px;border-radius:10px}.app-shell-mode .app-logo-text{font-size:1.1rem}.app-shell-mode .app-header{border-bottom-color:#0000000d}}@media (min-width: 769px) and (max-width: 1024px){.app-header-container{padding-left:max(var(--spacing-lg),env(safe-area-inset-left));padding-right:max(var(--spacing-lg),env(safe-area-inset-right));min-height:60px}.app-nav-link{padding:var(--spacing-sm) var(--spacing-sm);font-size:var(--font-size-sm)}}.app-header-container{max-width:var(--max-width-xl);margin:0 auto;padding:max(var(--spacing-md),env(safe-area-inset-top)) var(--spacing-lg) var(--spacing-md);padding-left:max(var(--spacing-lg),env(safe-area-inset-left));padding-right:max(var(--spacing-lg),env(safe-area-inset-right));min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xl)}.app-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text-primary);font-weight:700;flex-shrink:0}.app-logo-mark{width:38px;height:38px;border-radius:var(--border-radius-lg);background:var(--gradient-primary);box-shadow:var(--shadow-primary);display:flex;align-items:center;justify-content:center;color:#fff;position:relative;overflow:hidden}.app-logo-mark:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,.2) 50%,transparent 60%)}.app-logo-text{font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.app-logo-ai{background:linear-gradient(135deg,var(--primary) 0%,#5a8bff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-nav-desktop{display:flex;align-items:center;gap:8px;flex:1;justify-content:space-between}.app-nav-links{display:flex;align-items:center;gap:4px}.app-nav-actions{display:flex;align-items:center;gap:12px}.app-nav-link{color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:var(--font-size-sm);transition:color .2s ease,background .2s ease;position:relative;padding:var(--spacing-sm) var(--spacing-md);min-height:44px;display:inline-flex;align-items:center;border-radius:var(--border-radius-md);transition:all .2s ease;white-space:nowrap}.app-nav-link:hover{color:var(--primary);background:#1f6feb0f}.app-nav-link:focus-visible,.app-nav-user-trigger:focus-visible,.app-nav-cta:focus-visible,.app-nav-cta-secondary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.app-nav-link.active{color:var(--primary);font-weight:600;background:#1f6feb14;position:relative}.app-nav-link.active:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:20px;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:2px}.app-nav-icon-btn{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;color:var(--text-secondary);background:transparent;border:1px solid transparent;transition:all .2s ease}.app-nav-icon-btn:hover{color:var(--primary);background:#1f6feb0f;border-color:#1f6feb1a}.app-nav-user-dropdown{position:relative}.app-nav-user-trigger{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;background:#1f6feb0f;border:1px solid rgba(31,111,235,.1);cursor:pointer;transition:all .2s ease;font-family:inherit}.app-nav-user-trigger:hover{background:#1f6feb1a;border-color:#1f6feb33}.app-nav-user-trigger svg{transition:transform .2s ease;color:var(--text-muted)}.app-nav-user-trigger svg.rotated{transform:rotate(180deg)}.app-nav-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,#5a8bff 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem}.app-nav-avatar-lg{width:40px;height:40px;font-size:1rem}.app-nav-user-name{font-weight:500;font-size:.9rem;color:var(--text-primary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-nav-dropdown-menu{position:absolute;top:calc(100% + var(--spacing-sm));right:0;min-width:240px;background:var(--bg-white);border:1px solid var(--border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);padding:var(--spacing-sm);animation:dropdownFadeIn .2s ease;z-index:var(--z-index-dropdown)}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.app-nav-dropdown-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)}.app-nav-dropdown-name{font-weight:600;font-size:.95rem;color:var(--text-primary)}.app-nav-dropdown-email{font-size:.8rem;color:var(--text-muted);max-width:160px;overflow:hidden;text-overflow:ellipsis}.app-nav-dropdown-divider{height:1px;background:var(--border-color);margin:4px 0}.app-nav-dropdown-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:var(--text-secondary);font-size:.9rem;font-weight:500;text-decoration:none;transition:all .15s ease;width:100%;border:none;background:transparent;cursor:pointer;font-family:inherit;text-align:left}.app-nav-dropdown-item:hover{background:var(--primary-light);color:var(--primary)}.app-nav-dropdown-item:focus-visible{outline:var(--focus-ring);outline-offset:-2px}.app-nav-dropdown-logout{color:var(--danger)}.app-nav-dropdown-logout:hover{background:var(--danger-light);color:var(--danger)}.app-nav-cta-secondary{display:inline-flex;align-items:center;padding:10px 18px;border-radius:10px;font-weight:600;font-size:.9rem;color:var(--primary);background:linear-gradient(135deg,#6366f114,#a855f714);border:1px solid rgba(99,102,241,.15);text-decoration:none;transition:all .2s ease}.app-nav-cta-secondary:hover{background:linear-gradient(135deg,#6366f126,#a855f726);border-color:#6366f14d;transform:translateY(-1px)}.app-nav-cta{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:var(--border-radius-lg);font-weight:600;font-size:var(--font-size-sm);color:var(--white);background:var(--gradient-primary);text-decoration:none;position:relative;overflow:hidden;box-shadow:var(--shadow-primary);transition:all .2s ease;white-space:nowrap}.app-nav-cta:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.app-nav-cta:hover{transform:translateY(-2px);box-shadow:0 10px 25px #1f5fbf73;color:var(--white)}.app-nav-cta:hover:before{left:100%}.app-nav-cta svg{flex-shrink:0;position:relative;z-index:1}.app-nav-mobile-bell{display:none}.app-nav-mobile-toggle{display:none;position:relative;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:transparent;border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;transition:all .2s ease}.app-nav-mobile-toggle:hover{background:var(--primary-light);border-color:var(--primary)}.app-nav-mobile-toggle:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.app-nav-mobile-toggle-badge{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 4px;font-size:.7rem;font-weight:700;line-height:18px;text-align:center;background:var(--danger, #ef4444);color:#fff;border-radius:999px}.app-nav-mobile-legal{display:flex;flex-wrap:wrap;gap:8px;padding:8px 16px 12px;margin-top:4px;border-top:1px solid var(--border-color)}.app-nav-mobile-legal .app-nav-mobile-link{min-height:44px;padding:8px 12px;font-size:var(--font-size-sm)}.app-nav-mobile-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:var(--z-overlay)}.app-nav-mobile{display:none;position:fixed;top:56px;left:0;right:0;bottom:0;width:100%;max-width:100vw;min-width:280px;z-index:var(--z-modal);background:#fff;-webkit-tap-highlight-color:transparent;border:none;box-shadow:0 4px 24px #0000001f;padding:0;transform:translateY(-8px);opacity:0;visibility:hidden;pointer-events:none;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .25s ease,visibility .25s ease}.app-nav-mobile.open{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}.app-nav-mobile-scroll{padding:var(--spacing-md) var(--spacing-lg) max(100px,calc(80px + env(safe-area-inset-bottom)));max-height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.app-nav-mobile-links{display:flex;flex-direction:column;gap:var(--spacing-xs)}.app-nav-mobile-section{margin-top:var(--spacing-xs)}.app-nav-mobile-expand{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;min-height:44px;padding:12px 16px;border:none;background:transparent;font-family:inherit;font-size:var(--font-size-base);font-weight:500;color:var(--text-secondary);cursor:pointer;text-align:left;border-radius:var(--border-radius-md);transition:background .2s ease,color .2s ease}.app-nav-mobile-expand:hover{background:var(--primary-light);color:var(--primary)}.app-nav-mobile-expand .chevron{margin-left:auto;transition:transform .2s ease}.app-nav-mobile-expand.expanded .chevron{transform:rotate(90deg)}.app-nav-mobile-sublinks{max-height:0;overflow:hidden;transition:max-height .25s ease}.app-nav-mobile-sublinks.open{max-height:400px}.app-nav-mobile-sublinks .app-nav-mobile-link{padding-left:40px;font-size:var(--font-size-sm);gap:8px}.app-nav-mobile-sublinks .app-nav-mobile-link svg{flex-shrink:0}.app-nav-mobile-link{display:flex;align-items:center;min-height:44px;padding:12px 16px;border-radius:var(--border-radius-md);color:var(--text-secondary);font-weight:500;font-size:var(--font-size-base);text-decoration:none;transition:all .2s ease;border:none;background:transparent;cursor:pointer;font-family:inherit;text-align:left;width:100%}.app-nav-mobile-link:hover,.app-nav-mobile-link.active{background:var(--primary-light);color:var(--primary)}.app-nav-mobile-link:focus-visible{outline:var(--focus-ring);outline-offset:-2px}.app-nav-mobile-divider{height:1px;background:var(--border);margin:var(--spacing-sm) 0}.app-nav-mobile-user{display:flex;flex-direction:column;gap:8px}.app-nav-mobile-user-info{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#1f6feb0a;border-radius:12px;margin-bottom:8px}.app-nav-mobile-user-name{font-weight:600;color:var(--text-primary)}.app-nav-mobile-user-email{font-size:.85rem;color:var(--text-muted)}.app-nav-mobile-logout{color:var(--danger)}.app-nav-mobile-auth{display:flex;flex-direction:column;gap:10px}.app-nav-mobile-btn-secondary{display:block;padding:14px 20px;border-radius:10px;text-align:center;font-weight:600;color:var(--primary);background:#1f6feb14;text-decoration:none;transition:all .2s ease}.app-nav-mobile-btn-primary{display:flex;align-items:center;justify-content:center;min-height:48px;min-width:48px;padding:14px 20px;border-radius:var(--border-radius-md);text-align:center;font-weight:600;color:var(--white);background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);text-decoration:none;box-shadow:var(--shadow-sm);border:none;cursor:pointer}.app-nav-mobile-btn-primary:focus-visible,.app-nav-mobile-cta:focus-visible{outline:var(--focus-ring);outline-offset:2px}.app-nav-mobile-cta{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);min-height:48px;min-width:48px;margin-top:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius-md);font-weight:600;font-size:var(--font-size-base);color:var(--white);background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);text-decoration:none;box-shadow:var(--shadow-sm)}@media (max-width: 1024px){.app-nav-desktop{display:none}.app-nav-mobile-bell{display:flex;align-items:center}.app-nav-mobile-toggle{display:flex}.app-nav-mobile{display:block}}.app-shell-mode .app-nav-mobile-toggle{display:none!important}.app-shell-mode .app-nav-mobile,.app-shell-mode .app-nav-mobile.open{display:none!important;pointer-events:none;visibility:hidden}@media (max-width: 480px){.app-header-container{padding:10px 16px}.app-logo-text{font-size:var(--font-size-lg)}.app-logo-mark{width:32px;height:32px}.app-nav-mobile{padding:12px 16px 20px}}.app-main{flex:1;background:var(--bg-secondary);padding:0;padding-bottom:env(safe-area-inset-bottom,0px)}.page-transition-wrap{animation:appPageFadeIn .2s ease-out}@keyframes appPageFadeIn{0%{opacity:.97}to{opacity:1}}@media (max-width: 768px){.app-main{padding:var(--spacing-md) 0;min-height:calc(100dvh - 56px);display:flex;flex-direction:column}.app-main.app-main-with-bottom-nav{padding-bottom:calc(96px + env(safe-area-inset-bottom));min-height:calc(100dvh - 132px)}.app-shell-mode .app-main{padding-top:0}}@media (min-width: 769px) and (max-width: 1024px){.app-main{padding:var(--spacing-xl) var(--spacing-lg)}}.app-main .page-container>section{padding:48px 0}.app-breadcrumbs{background:var(--bg-white);border-bottom:1px solid var(--border)}.app-breadcrumbs-container{max-width:var(--max-width-xl);margin:0 auto;padding:var(--spacing-sm) var(--spacing-lg);display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--text-secondary);font-size:.9rem;overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 768px){.app-breadcrumbs-container{padding:var(--spacing-sm) var(--spacing-md);font-size:.85rem}.app-breadcrumb-item{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.app-breadcrumb-item a{color:var(--text-secondary);text-decoration:none}.app-breadcrumb-item a:hover{color:var(--primary)}.app-breadcrumb-current{color:var(--text-primary);font-weight:600}.app-breadcrumb-separator{margin:0 6px;color:var(--text-tertiary)}.app-footer{background:linear-gradient(180deg,var(--bg-secondary) 0%,#ffffff 100%)}@media (max-width: 768px){.app-shell-mode .app-footer-newsletter,.app-shell-mode .app-footer-main{display:none}.app-shell-mode .app-footer-bottom{padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.app-shell-mode .app-footer-bottom-container{flex-wrap:wrap;justify-content:center;gap:8px;text-align:center}.app-shell-mode .app-footer-disclaimer{order:1;width:100%;justify-content:center}}.app-footer-newsletter{background:linear-gradient(135deg,var(--primary) 0%,#5a8bff 100%);padding:28px 24px}.app-footer-newsletter-content{max-width:var(--max-width-xl);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}.app-footer-newsletter-text h3{color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:8px}.app-footer-newsletter-text p{color:#ffffffd9;font-size:1rem;margin:0}.app-footer-newsletter-form{display:flex;gap:12px;flex:1;max-width:460px}.app-footer-newsletter-form input{flex:1;padding:14px 20px;border:none;border-radius:10px;font-size:.95rem;background:#fffffff2;color:var(--text-primary);min-width:200px}.app-footer-newsletter-form input::placeholder{color:var(--text-muted)}.app-footer-newsletter-form input:focus{outline:none;box-shadow:0 0 0 3px #ffffff4d}.app-footer-newsletter-form button{padding:14px 28px;border:none;border-radius:10px;font-size:.95rem;font-weight:600;background:var(--gray-900);color:#fff;cursor:pointer;transition:all .2s ease;white-space:nowrap}.app-footer-newsletter-form button:hover{background:var(--gray-800);transform:translateY(-1px)}.app-footer-main{padding:32px var(--spacing-lg) 24px;background:var(--bg-white)}.app-footer-container{max-width:var(--max-width-xl);margin:0 auto;display:grid;grid-template-columns:1.3fr 2fr;gap:var(--spacing-3xl)}@media (max-width: 768px){.app-footer-container{grid-template-columns:1fr;gap:var(--spacing-xl)}.app-footer-links{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.app-footer-links{grid-template-columns:1fr}}.app-footer-brand{max-width:320px}.app-footer-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;margin-bottom:20px}.app-footer-logo-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--primary) 0%,#5a8bff 100%);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #1f6feb40}.app-footer-logo-text{font-size:1.25rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.app-footer-tagline{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0 0 24px}.app-footer-socials{display:flex;gap:10px}.app-footer-socials a{width:40px;height:40px;border-radius:10px;border:1px solid var(--border-color);display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);background:#fff;transition:all .2s ease}.app-footer-socials a:hover{color:var(--primary);background:#1f6feb0f;border-color:#1f6feb4d;transform:translateY(-2px)}.app-footer-links{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-xl);align-items:start}.app-footer-column h4{font-size:var(--font-size-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--spacing-md)}.app-footer-column a{display:block;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;padding:var(--spacing-sm) 0;text-decoration:none;transition:color .15s ease}@media (max-width: 768px){.app-footer-column a{min-height:44px;display:flex;align-items:center}}.app-footer-column a:hover{color:var(--primary)}.app-footer-bottom{background:var(--gray-50);border-top:1px solid var(--border-color);padding:20px 24px}.app-footer-bottom-container{max-width:var(--max-width-xl);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.api-status{margin-left:.5rem;font-size:.75rem;color:var(--text-muted);display:inline-flex;align-items:center;gap:.35rem}.api-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.app-footer-copyright{color:var(--text-muted);font-size:.85rem;margin:0}.app-footer-version{opacity:.8;font-size:.8rem;margin-left:.25em}.app-footer-whats-new{color:var(--primary);text-decoration:none;font-size:.85rem}.app-footer-whats-new:hover{text-decoration:underline}.app-footer-disclaimer{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:.85rem;margin:0;background:#1f6feb0f;padding:6px 12px;border-radius:6px}.app-footer-disclaimer-icon{font-size:.9rem}@media (max-width: 1024px){.app-footer-container{grid-template-columns:1fr;gap:48px}.app-footer-brand{max-width:100%;text-align:center}.app-footer-logo,.app-footer-socials{justify-content:center}.app-footer-links{grid-template-columns:repeat(4,1fr)}}@media (max-width: 768px){.app-footer-newsletter{padding:40px 20px}.app-footer-newsletter-content{flex-direction:column;text-align:center}.app-footer-newsletter-text h3{font-size:1.25rem}.app-footer-newsletter-form{width:100%;max-width:100%;flex-direction:column;gap:16px}.app-footer-newsletter-form input{min-width:100%;min-height:44px;padding:14px 18px}.app-footer-newsletter-form button{min-height:44px;padding:14px 24px}.app-footer-main{padding:48px 20px 40px}.app-footer-links{grid-template-columns:repeat(2,1fr);gap:32px 24px}.app-footer-bottom-container{flex-direction:column;text-align:center;gap:12px}}@media (max-width: 480px){.app-footer-newsletter{padding:32px 16px}.app-footer-main{padding:40px 16px 32px}.app-footer-links{grid-template-columns:1fr 1fr;gap:28px 20px}.app-footer-column h4{font-size:.75rem;margin-bottom:14px}.app-footer-column a{font-size:.85rem;padding:5px 0}.app-footer-bottom{padding:16px}.app-footer-disclaimer{font-size:.8rem;padding:5px 10px}}.app-layout .page-container,.app-layout .dashboard-page,.app-layout .profile-settings-page,.app-layout .routine-builder-page,.app-layout .myshelf-page,.app-layout .product-details-page,.app-layout .history-page,.app-layout .consent-page,.app-layout .onboarding-page,.app-layout .auth-page,.app-layout .contact-page,.app-layout .about-page,.app-layout .privacy-page,.app-layout .terms-page,.app-layout .sample-report-page,.app-layout .onskin-page{background:transparent;color:var(--text-primary)}.app-layout .page-container{max-width:var(--max-width-xl);margin:0 auto;padding:24px}.app-layout .page-header{margin-bottom:24px}.app-layout .page-header h1,.app-layout .page-header h2{color:var(--text-primary);letter-spacing:-.01em}.app-layout .page-header p,.app-layout .subtitle{color:var(--text-secondary)}.app-layout .page-header .page-subtitle{margin-top:6px;color:var(--text-secondary)}.app-layout .card,.app-layout .card-content{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.app-layout .card{padding:20px}.app-layout .card-header{border-bottom:1px solid var(--border);padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-md)}.app-layout .card-header h2,.app-layout .card-header h3{color:var(--text-primary)}.app-layout .btn,.app-layout .btn-primary,.app-layout .btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:600;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.app-layout .btn-primary{background:linear-gradient(135deg,var(--primary) 0%,#5a8bff 100%);color:#fff;box-shadow:var(--shadow-lg)}.app-layout .btn-secondary{background:#fff;color:var(--primary);border:1px solid rgba(31,111,235,.2);box-shadow:var(--shadow-sm)}.app-layout .btn-primary:hover,.app-layout .btn-secondary:hover{transform:translateY(-2px)}.app-layout .btn-icon{display:inline-flex;align-items:center;justify-content:center}.app-layout .empty-state{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);text-align:center;box-shadow:var(--shadow-sm)}.app-layout .empty-state h2{margin-bottom:8px}.app-layout .empty-state p{max-width:480px;margin:0 auto}.app-layout .empty-state-actions{margin-top:20px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.dev-banner{position:fixed;bottom:20px;right:20px;background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);color:var(--white);padding:12px 20px;border-radius:50px;box-shadow:0 4px 12px #667eea66;display:flex;align-items:center;gap:12px;font-size:.875rem;font-weight:500;z-index:var(--z-banner);animation:slideInUp .4s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dev-badge{background:#ffffff40;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:700;letter-spacing:.5px}.dev-text{display:flex;align-items:center;gap:4px}.dev-text strong{font-weight:700}.dev-pulse{width:8px;height:8px;background:#4ade80;border-radius:50%;animation:pulse 2s ease-in-out infinite;box-shadow:0 0 #4ade80b3}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 #4ade80b3}50%{transform:scale(1.1);box-shadow:0 0 0 6px #4ade8000}}@media (max-width: 768px){.dev-banner{bottom:96px;right:16px;left:16px;font-size:.8rem;padding:10px 16px}.dev-text strong{display:block}}.toast-container{position:fixed;bottom:24px;right:24px;z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:360px;pointer-events:none}.toast-container>*{pointer-events:auto}.toast{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--gray-200);background:var(--white);font-size:var(--font-size-sm);animation:toastIn .25s cubic-bezier(.4,0,.2,1)}@keyframes toastIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.toast--success .toast-icon{color:var(--success)}.toast--error .toast-icon{color:var(--danger)}.toast--info .toast-icon{color:var(--primary)}.toast-message{flex:1;color:var(--text-primary)}.toast-dismiss{display:flex;align-items:center;justify-content:center;padding:4px;border:none;background:transparent;color:var(--gray-500);cursor:pointer;border-radius:var(--border-radius-sm);transition:color .15s,background .15s}.toast-dismiss:hover{color:var(--text-primary);background:var(--bg-secondary)}.toast-dismiss:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (max-width: 768px){.toast-container{bottom:calc(96px + env(safe-area-inset-bottom,0px));right:var(--spacing-md);left:var(--spacing-md);max-width:none}}.error-boundary-fallback{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:var(--bg-secondary)}.error-content{max-width:500px;width:100%;text-align:center;background:var(--bg-white);padding:32px 24px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color)}.error-icon{font-size:48px;margin-bottom:16px;line-height:1}.error-content h2{font-size:1.35rem;font-weight:700;color:var(--text-primary);margin:0 0 12px}.error-content>p:first-of-type{font-size:1rem;color:var(--text-secondary);line-height:1.5;margin:0 0 24px}.error-suggestions{text-align:left;background:var(--bg-tertiary);padding:16px;border-radius:var(--radius-md);margin-bottom:24px}.error-suggestions h4{margin:0 0 12px;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.error-suggestions ol{margin:0;padding-left:20px;color:var(--text-secondary);font-size:.9375rem}.error-suggestions li{margin-bottom:8px}.error-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:24px}.error-actions .btn-primary{min-height:44px;padding:12px 24px;border-radius:var(--radius-md);font-weight:600;background:var(--primary);color:var(--white);border:none;cursor:pointer}.error-actions .btn-secondary{min-height:44px;padding:12px 24px;border-radius:var(--radius-md);font-weight:600;background:var(--bg-white);color:var(--text-primary);border:2px solid var(--border-color);cursor:pointer}.error-details{text-align:left;margin-top:24px;padding:16px;background:var(--danger-light);border-radius:var(--radius-md);font-size:12px}.error-details summary{cursor:pointer;color:var(--danger);font-weight:600}.error-details pre{margin-top:12px;white-space:pre-wrap;word-break:break-word;color:var(--text-primary);font-size:11px}.error-support{font-size:.875rem;color:var(--text-muted);margin:0}.error-support a{color:var(--primary)}:root{--ds-primary: var(--primary, #1f5fbf);--ds-primary-hover: var(--primary-hover, #174a95);--ds-primary-light: var(--primary-light, #e8f0fd);--ds-primary-dark: var(--primary-dark, #153f80);--ds-secondary: var(--primary, #1f5fbf);--ds-secondary-hover: var(--primary-hover, #174a95);--ds-secondary-light: var(--primary-light, #e8f0fd);--ds-accent: var(--accent, #4f8ad9);--ds-accent-hover: var(--accent, #4f8ad9);--ds-accent-light: var(--accent-light, #f2f6fd);--ds-success: #10b981;--ds-success-light: #d1fae5;--ds-success-dark: #059669;--ds-warning: #f59e0b;--ds-warning-light: #fef3c7;--ds-warning-dark: #d97706;--ds-error: #ef4444;--ds-error-light: #fee2e2;--ds-error-dark: #dc2626;--ds-info: #3b82f6;--ds-info-light: #dbeafe;--ds-white: #ffffff;--ds-gray-50: #f8fafc;--ds-gray-100: #f1f5f9;--ds-gray-200: #e2e8f0;--ds-gray-300: #cbd5e1;--ds-gray-400: #94a3b8;--ds-gray-500: #64748b;--ds-gray-600: #475569;--ds-gray-700: #334155;--ds-gray-800: #1e293b;--ds-gray-900: #0f172a;--ds-gradient-primary: linear-gradient(135deg, #1f6feb 0%, #5a8bff 100%);--ds-gradient-secondary: linear-gradient(135deg, #1f6feb 0%, #4a7eff 100%);--ds-gradient-success: linear-gradient(135deg, #34c759 0%, #28a745 100%);--ds-gradient-surface: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);--ds-gradient-page: linear-gradient(180deg, #ffffff 0%, #f3f7ff 100%);--ds-shadow-xs: 0 1px 2px rgba(31, 111, 235, .04);--ds-shadow-sm: 0 2px 4px rgba(31, 111, 235, .06);--ds-shadow-md: 0 4px 12px rgba(31, 111, 235, .08);--ds-shadow-lg: 0 12px 24px rgba(31, 111, 235, .12);--ds-shadow-xl: 0 20px 40px rgba(31, 111, 235, .15);--ds-shadow-2xl: 0 32px 64px rgba(31, 111, 235, .18);--ds-shadow-primary: 0 8px 24px rgba(31, 111, 235, .25);--ds-shadow-glow: 0 0 40px rgba(31, 111, 235, .15);--ds-radius-xs: 4px;--ds-radius-sm: 6px;--ds-radius-md: 8px;--ds-radius-lg: 12px;--ds-radius-xl: 16px;--ds-radius-2xl: 24px;--ds-radius-3xl: 32px;--ds-radius-full: 9999px;--ds-space-1: 4px;--ds-space-2: 8px;--ds-space-3: 12px;--ds-space-4: 16px;--ds-space-5: 20px;--ds-space-6: 24px;--ds-space-8: 32px;--ds-space-10: 40px;--ds-space-12: 48px;--ds-space-16: 64px;--ds-space-20: 80px;--ds-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--ds-text-xs: .75rem;--ds-text-sm: .875rem;--ds-text-base: 1rem;--ds-text-lg: 1.125rem;--ds-text-xl: 1.25rem;--ds-text-2xl: 1.5rem;--ds-text-3xl: 2rem;--ds-text-4xl: 2.5rem;--ds-text-5xl: 3rem;--ds-transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--ds-transition-base: .2s cubic-bezier(.4, 0, .2, 1);--ds-transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--ds-transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1);--ds-z-dropdown: 100;--ds-z-sticky: 200;--ds-z-modal: 300;--ds-z-toast: 400;--ds-z-tooltip: 500}:root{--r-mobile-max: 768px;--r-tablet-min: 769px;--r-tablet-max: 1024px;--r-desktop-min: 1025px;--r-sm: 480px;--r-md: 768px;--r-lg: 1024px;--r-xl: 1280px}:where(img,video,canvas,svg){max-width:100%;height:auto}:where(pre,code){max-width:100%;overflow-wrap:anywhere}@media (min-width: 769px) and (max-width: 1024px){.app-page{max-width:var(--max-width-lg, 1024px);margin-left:auto;margin-right:auto;width:100%;box-sizing:border-box}.app-page-content{padding-left:var(--spacing-md, 16px);padding-right:var(--spacing-md, 16px)}}@media (min-width: 1025px){.app-page{max-width:var(--max-width-xl, 1280px);margin-left:auto;margin-right:auto;width:100%;box-sizing:border-box}.app-page-content{padding-left:var(--spacing-lg, 24px);padding-right:var(--spacing-lg, 24px)}}@media (min-width: 769px) and (max-width: 1024px){.today-page{padding-bottom:var(--spacing-xl, 32px)}.today-content{max-width:600px;padding-left:var(--spacing-lg, 24px);padding-right:var(--spacing-lg, 24px);padding-bottom:var(--spacing-xl, 32px)}.today-header{padding-left:max(var(--spacing-lg, 24px),env(safe-area-inset-left));padding-right:max(var(--spacing-lg, 24px),env(safe-area-inset-right))}.product-details-page{padding:var(--spacing-2xl, 48px) var(--spacing-xl, 32px)}.product-details-tabs{margin-left:auto;margin-right:auto}.homepage .hero-content,.homepage .app-page-content{padding-left:var(--spacing-lg, 24px);padding-right:var(--spacing-lg, 24px)}}@media (min-width: 1025px){.today-page{padding-bottom:var(--spacing-2xl, 48px)}.today-content{max-width:640px;padding-left:var(--spacing-xl, 32px);padding-right:var(--spacing-xl, 32px);padding-bottom:var(--spacing-2xl, 48px)}.today-header{padding-left:max(var(--spacing-xl, 32px),env(safe-area-inset-left));padding-right:max(var(--spacing-xl, 32px),env(safe-area-inset-right))}.product-details-page{padding:var(--spacing-3xl, 64px) var(--spacing-xl, 32px)}.product-header,.product-details-tabs{margin-left:auto;margin-right:auto}.homepage .hero-content,.homepage .app-page-content{padding-left:var(--spacing-xl, 32px);padding-right:var(--spacing-xl, 32px)}}.app-page{min-height:auto;background:var(--bg-secondary, #f8fafc);padding-bottom:env(safe-area-inset-bottom,0px);font-family:var(--font-family);animation:pageEnter .25s ease-out}@keyframes pageEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.app-page-content{max-width:var(--max-width-xl, 1200px);margin:0 auto;padding:0 var(--spacing-lg);padding-left:max(var(--spacing-lg),env(safe-area-inset-left));padding-right:max(var(--spacing-lg),env(safe-area-inset-right));width:100%;box-sizing:border-box}.app-header-card{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);border-radius:0 0 24px 24px;padding:24px 16px 32px;text-align:center;color:var(--white)}.app-header-card h1{font-size:1.5rem;font-weight:700;margin:0 0 4px;color:var(--white)}.app-header-card .app-header-subtitle{font-size:.875rem;opacity:.95;margin:0;color:#fffffff2}.app-section{margin-top:28px}.app-section-title{font-size:.8125rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:0 4px 8px;margin:0 0 8px}.app-list-group{background:var(--bg-white);border-radius:var(--radius-lg, 12px);overflow:hidden;box-shadow:0 1px 3px #0000000f;border:1px solid var(--border-color)}.app-list-item{display:flex;align-items:center;width:100%;padding:14px 16px;border:none;border-bottom:1px solid var(--gray-100);background:transparent;font-family:inherit;font-size:1rem;color:var(--text-primary);cursor:pointer;text-align:left;text-decoration:none;transition:background .15s;box-sizing:border-box}.app-list-item:last-child{border-bottom:none}@media (hover: hover){.app-list-item:hover{background:var(--gray-50)}}.app-list-item:active{background:var(--gray-100)}.app-list-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-right:12px;flex-shrink:0}.app-list-icon.purple{background:var(--purple-100, #ede9fe);color:var(--accent)}.app-list-icon.blue{background:var(--primary-100, #dbeafe);color:var(--primary)}.app-list-icon.green{background:var(--success-100, #d1fae5);color:var(--success-600, #059669)}.app-list-icon.orange{background:var(--warning-100, #ffedd5);color:var(--warning-600, #ea580c)}.app-list-label{flex:1;font-weight:500}.app-list-value{font-size:.875rem;color:var(--text-muted);margin-right:8px}.app-list-arrow{color:var(--gray-400);flex-shrink:0}.app-empty-state-icon{width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:var(--gray-100);color:var(--text-muted);display:flex;align-items:center;justify-content:center}.app-empty-state h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 8px}.app-empty-state p{font-size:.9375rem;color:var(--text-secondary);max-width:320px;margin:0 auto 20px}.app-card{background:var(--bg-white);border-radius:var(--radius-lg, 12px);box-shadow:0 1px 3px #0000000f;border:1px solid var(--border-color);overflow:hidden}@media (max-width: 768px){.app-header-card{border-radius:0 0 20px 20px;padding:20px 16px 24px}.app-header-card h1{font-size:1.25rem}.app-page-content{padding:0 16px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.app-section{margin-top:24px}}@media (max-width: 768px){.app-page{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}.app-page button:not(.btn-icon-small):not(.btn-action),.app-page .btn,.app-page a.btn{min-height:44px;min-width:44px}.app-page select,.app-page input[type=text],.app-page input[type=email],.app-page input[type=search],.app-page input[type=password]{min-height:44px;font-size:16px}}@media (max-width: 768px){.app-layout{width:100%;max-width:100vw;min-width:0;overflow-x:hidden;background:var(--bg-secondary)}.app-layout .app-main,.app-layout main{width:100%;min-width:0;overflow-x:hidden}.app-layout.app-shell-mode .app-main,.app-layout.app-shell-mode main{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}body,.app-layout,.app-layout main{overflow-x:hidden}.app-page,.today-page,.me-page,.scan-page,.auth-page,.dashboard-page,.history-page,.favorites-page,.myshelf-page,.routine-builder-page,.recommendations-page,.dt-page,.notification-center-page,.profile-settings-page,.onboarding-page,.progress-tracking-page,.comparison-page,.product-details-page,.analysis-results,.consent-page,.data-export-page,.skin-goals-page{min-height:100%;background:var(--bg-secondary);padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(24px,env(safe-area-inset-bottom));width:100%;max-width:100vw;min-width:0;overflow-x:hidden;box-sizing:border-box}.app-page,.app-page-content,.app-card,.app-header-card{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.app-page .checkbox-label,.app-page .remember-me-label{word-break:normal;overflow-wrap:normal;white-space:nowrap}.app-page img,.app-page video,.app-page-content img,.app-page-content video,.app-card img,.app-card video{max-width:100%;height:auto;object-fit:contain}.app-page-content,.today-content,.me-content,.scan-content,.page-container{max-width:520px;margin:0 auto;padding-left:0;padding-right:0}html{overscroll-behavior-y:none;-webkit-overflow-scrolling:touch}body{min-height:100vh;min-height:100dvh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}#root{min-height:100%}.app-layout main,.app-layout .app-main{padding-bottom:max(96px,calc(96px + env(safe-area-inset-bottom)));padding-left:0;padding-right:0}.today-page,.me-page,.scan-page{padding-bottom:max(100px,calc(88px + env(safe-area-inset-bottom)))}.app-card,.app-list-group,.app-header-card{border-radius:var(--card-radius, var(--radius-lg, 12px))}.app-page h1,.today-page h1,.me-page h1,.scan-page h1{font-size:clamp(1.35rem,4vw + 1rem,1.6rem);font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0 0 .5em}.app-page h2,.today-page h2,.me-page h2{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:1.25em 0 .5em}.app-page .page-subtitle,.today-page .page-subtitle{font-size:.9375rem;color:var(--text-secondary);margin:0 0 1em}.app-page .subtitle,.app-layout .page-header .page-subtitle,.app-layout .page-header p,.app-layout .subtitle,.page-header .subtitle,.dashboard-header .subtitle,.consent-header .subtitle,.email-verification-card .subtitle{color:var(--gray-600, #475569)}.app-page .app-card,.today-card,.me-profile-card,.me-card,.scan-card,.stat-card,.product-card,.info-card,.app-page .card{background:var(--bg-white);border-radius:16px;padding:18px 20px;margin-bottom:14px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);box-sizing:border-box;-webkit-tap-highlight-color:transparent}.app-header-card,.app-card{transition:box-shadow .2s ease,transform .2s ease}.app-page .app-card:active,.today-card:active,.me-card:active{opacity:.97}.app-page .app-list-item,.me-list-item,.me-list a,.settings-item{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:12px 0;color:var(--text-primary);text-decoration:none;border-bottom:1px solid var(--gray-100);gap:12px;-webkit-tap-highlight-color:transparent}.app-page .app-list-item:last-child,.me-list-item:last-child,.me-list a:last-child{border-bottom:none}.app-page .btn-primary,.today-page .btn-primary,.me-page .btn-primary,.scan-page .btn-primary,.auth-page .btn-primary{min-height:48px;padding:14px 24px;font-size:1rem;font-weight:600;border-radius:14px;background:var(--gradient-primary);border:none;color:var(--white);box-shadow:var(--shadow-primary);transition:transform .2s,box-shadow .2s}.app-page .btn-secondary,.today-page .btn-secondary,.me-page .btn-secondary{min-height:48px;padding:12px 20px;font-size:.9375rem;font-weight:600;border-radius:14px;background:var(--bg-white);border:2px solid var(--primary);color:var(--primary);-webkit-tap-highlight-color:transparent}button:not(.btn-icon-small):not(.btn-action),.app-page .btn,.app-page a.btn,a.app-list-item,.app-nav-mobile-link,.myshelf-pills button,.app-nav-user-trigger,.app-nav-mobile-expand,.myshelf-sort-select,.myshelf-onboarding-toggle,.btn-ghost,.btn-outline,.hero-cta-secondary,.scan-btn-secondary,.dashboard-empty-link{min-height:44px}.myshelf-search-clear,.favorites-search-clear,.history-search-clear{min-height:44px;min-width:44px}.filter-select,.filters-reset,.empty-reset-filters,.profile-settings-page .settings-item{min-height:44px}.app-page .btn-link,.change-email-btn,.me-profile-edit{min-height:44px;display:inline-flex;align-items:center;padding:10px 12px;margin:-2px -12px;box-sizing:border-box}.star-button,.repurchase-btn{min-height:44px;min-width:44px;padding:10px;display:inline-flex;align-items:center;justify-content:center}.product-card-rating .star-button{min-width:44px;min-height:44px}.app-page button:not(.btn-icon-small):not(.btn-action),.today-page .btn,.me-page .btn,.scan-page .scan-btn-primary,.scan-page .scan-btn-secondary,.bottom-nav-item{min-height:44px;min-width:44px}input[type=checkbox]{width:24px;height:24px;min-width:24px;min-height:24px;accent-color:var(--primary, #2563eb)}input[type=text],input[type=email],input[type=search],input[type=password],input[type=number],input[type=time],input[type=tel],input[type=url],input:not([type]),select,textarea{font-size:16px}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn-outline:active:not(:disabled),.btn-ghost:active:not(:disabled),.app-nav-cta:active,.app-nav-mobile-cta:active,.app-nav-mobile-link:active,.app-nav-mobile-expand:active,.bottom-nav-item:active,.bottom-nav-item-center:active,.app-card[role=button]:active,a.app-list-item:active,.myshelf-pills button:active,.filter-tabs button:active,.product-card-menu-btn:active,.favorites-search-clear:active,.history-search-clear:active,.myshelf-search-clear:active,.scan-page .mode-btn:active,.scan-type-tab:active,.product-details-page .product-image-zoom-trigger:active,.product-details-page .product-details-actions-row .compare-link:active,.product-details-page .action-buttons button:active,.product-details-page .tabs-header button:active,.product-details-page .product-image-zoom-close:active,.product-details-page .link-button:active,.today-page .today-skin-btn:active,.today-page .today-routine-step:active,.today-page .today-product-card-buy:active,.today-page .today-foryou-tile:active,.today-page .today-ingredients-cta:active,.today-page .today-toppick-buy:active,.today-page .today-routine-tab:active,.today-page .today-card-link:active,.today-page .today-prediction-link:active,.today-page .today-see-all:active,.today-page .today-settings-btn:active{transform:scale(.98);opacity:.92}.btn-primary:active:not(:disabled),.app-nav-cta:active,.app-nav-mobile-cta:active{transform:scale(.97)}.app-page .btn-primary:active,.today-page .btn-primary:active,.me-page .btn-primary:active{transform:scale(.98)}.bottom-nav-item-center:active .bottom-nav-center-pill{transform:scale(.96);box-shadow:0 2px 12px #2563eb59}.myshelf-page a[class*=product-card]:active,.recommendations-page a[class*=card]:active,.favorites-page a[class*=card]:active,.app-card a:active{opacity:.9}.me-list a[href],.app-page a.app-list-item{transition:background .15s}.me-list a[href]:active,.app-page a.app-list-item:active{background:var(--gray-50)}@media (prefers-reduced-motion: reduce){.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn-outline:active:not(:disabled),.btn-ghost:active:not(:disabled),.app-nav-cta:active,.app-nav-mobile-cta:active,.app-nav-mobile-link:active,.app-nav-mobile-expand:active,.bottom-nav-item:active,.bottom-nav-item-center:active,.bottom-nav-item-center:active .bottom-nav-center-pill,.myshelf-pills button:active,.filter-tabs button:active,.product-card-menu-btn:active,.favorites-search-clear:active,.history-search-clear:active,.myshelf-search-clear:active,.scan-page .mode-btn:active,.scan-type-tab:active,.product-details-page .product-image-zoom-trigger:active,.product-details-page .product-details-actions-row .compare-link:active,.product-details-page .action-buttons button:active,.product-details-page .tabs-header button:active,.product-details-page .product-image-zoom-close:active,.product-details-page .link-button:active,.today-page .today-skin-btn:active,.today-page .today-routine-step:active,.today-page .today-product-card-buy:active,.today-page .today-foryou-tile:active,.today-page .today-ingredients-cta:active,.today-page .today-toppick-buy:active,.today-page .today-routine-tab:active,.today-page .today-card-link:active,.today-page .today-prediction-link:active,.today-page .today-see-all:active,.today-page .today-settings-btn:active,.myshelf-page a[class*=product-card]:active,.recommendations-page a[class*=card]:active,.favorites-page a[class*=card]:active,.app-card a:active{transform:none}}@media (prefers-reduced-motion: no-preference){.app-page button:active:not(:disabled),.app-page .btn:active:not(:disabled),.app-nav-mobile-link:active,.bottom-nav-item:active{opacity:.9;transform:scale(.98)}}*{-webkit-tap-highlight-color:rgba(79,70,229,.12)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid var(--primary, #2563eb);outline-offset:2px}.bottom-nav{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.bottom-nav-item{min-width:56px;padding:8px 6px}.bottom-nav-center-pill{width:56px;height:56px}.today-section-title,.me-section-title{font-size:.8125rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:20px 0 10px}.empty-state{text-align:center;padding:32px 20px;background:var(--bg-white);border-radius:16px;border:1px solid var(--border-color)}.empty-state h3{font-size:1.1rem;color:var(--text-primary);margin:0 0 8px}.empty-state p{font-size:.9375rem;color:var(--text-secondary);margin:0 0 20px}.app-shell-mode .app-header{background:#ffffffeb;border-bottom:1px solid var(--border-color);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.app-shell-mode .app-logo-text{font-weight:700;color:var(--text-primary)}.app-shell-mode .app-logo-ai{color:var(--primary)}.app-nav-mobile-bell{margin-right:4px}.hero .hero-cta{display:flex;flex-direction:column;gap:12px;align-items:center}.hero .btn-primary--hero,.hero .hero-cta-secondary{width:100%;max-width:320px;justify-content:center}.hero .hero-reassurance{margin-top:12px}.scan-page .mode-btn{min-height:48px;border-radius:12px;font-weight:500;transition:transform .15s ease,box-shadow .15s ease}.scan-page .mode-btn.active{box-shadow:0 2px 12px #2563eb33;border:1px solid rgba(37,99,235,.3)}.scan-page .scan-progress-section .progress-title{font-size:1.5rem;font-weight:700;color:var(--text-primary, #0f172a);margin-bottom:8px}.scan-page .scan-progress-section .progress-message{font-size:1rem;color:var(--gray-600, #475569)}.scan-page .scan-btn-primary:active:not(:disabled){transform:scale(.98);opacity:.95}.scan-container{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(100px,calc(88px + env(safe-area-inset-bottom)))}.camera-container{border-radius:16px;overflow:hidden;border:1px solid var(--border-color)}.myshelf-page .product-card{border-radius:var(--card-radius, 12px);overflow:hidden;box-shadow:0 1px 3px #0000000f}.myshelf-page .product-card:hover{box-shadow:0 4px 12px #00000014}.myshelf-page .myshelf-empty{border-radius:var(--card-radius, 12px);padding:32px 24px;text-align:center;box-shadow:0 2px 8px #0000000a}.myshelf-page .myshelf-empty-title{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.myshelf-page .myshelf-empty-cta{min-height:48px;padding:14px 28px;font-weight:600;border-radius:12px}.dashboard-page .stat-card{border-radius:var(--card-radius, 12px);padding:20px 16px;border:1px solid var(--border-color, #e2e8f0);box-shadow:0 1px 3px #0000000d}.dashboard-page .stat-card .stat-content h3{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1.2;margin:0 0 4px}.dashboard-page .stat-card .stat-content p{font-size:.875rem;color:var(--gray-600, #475569);margin:0}.dashboard-page .stat-card.primary .stat-content h3{color:var(--white)}.dashboard-page .stat-card.primary .stat-content p{color:#ffffffe6}.product-details-page .product-image-section,.product-details-page .product-details-tabs{border-radius:var(--card-radius, 12px);box-shadow:0 1px 3px #0000000f;transition:box-shadow .2s ease}.product-details-page .product-image-section:focus-within,.product-details-page .product-details-tabs:focus-within{box-shadow:0 4px 12px #00000014}.product-details-page .tabs-header button.active{border-radius:10px;box-shadow:0 1px 2px #2563eb26}.today-page .today-card{border-radius:var(--card-radius, 12px);transition:box-shadow .2s ease,transform .2s ease}.today-page .today-toppick-card,.today-page .today-product-card{border-radius:var(--card-radius, 12px)}.today-page a.today-product-card:active,.today-page a.today-toppick-card:active{opacity:.92}.today-products-grid{gap:14px}.today-product-card,.product-card{border-radius:14px;overflow:hidden;background:var(--bg-white);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.me-profile-card{display:flex;align-items:center;gap:16px;padding:20px}.me-profile-avatar{width:56px;height:56px;border-radius:50%;background:var(--gradient-primary);color:var(--white);font-size:1.35rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.me-profile-info{flex:1;min-width:0}.auth-page .auth-right,.login-form,.register-form{max-width:400px;margin:0 auto}.auth-page input[type=email],.auth-page input[type=password],.auth-page input[type=text]{min-height:52px;padding:14px 16px;font-size:1rem;border-radius:12px;border:1px solid var(--border-color);background:var(--bg-white)}.auth-page input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px var(--primary-light)}}@media (max-width: 768px){@media (prefers-reduced-motion: reduce){.page-transition-wrap,.onboarding-page .progress-step,.scan-page *,.btn-primary,.btn-secondary,[class*=animation],[class*=transition]{animation-duration:.01ms;transition-duration:.01ms}}}.skeleton{background:linear-gradient(90deg,var(--gray-100) 0%,var(--gray-50) 50%,var(--gray-100) 100%);background-size:200% 100%;animation:skeletonPulse 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeletonPulse{0%,to{opacity:1;background-position:200% 0}50%{opacity:.85;background-position:-200% 0}}.skeleton-loading{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:16px;margin-bottom:8px;border-radius:4px}.skeleton-text-sm{height:12px;width:60%}.skeleton-text-lg{height:24px}.skeleton-title{height:32px;width:70%;margin-bottom:16px}.skeleton-avatar-lg{width:80px;height:80px}.skeleton-card{height:200px;border-radius:var(--radius-lg)}.skeleton-button{height:48px;width:120px;border-radius:var(--radius-lg)}.skeleton-image{width:100%;height:180px;border-radius:var(--radius-lg)}.skeleton-container{padding:24px}.skeleton-row{display:flex;gap:16px;margin-bottom:16px}.skeleton-col{flex:1}.skeleton-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.skeleton-stat-card{height:140px;border-radius:var(--radius-lg)}@media (hover: hover){.btn:hover,button:not(.btn-link):not([disabled]):hover{transform:translateY(-1px);box-shadow:0 4px 12px #2563eb26}.btn-primary:hover{background:linear-gradient(135deg,#1d4ed8,#6d28d9);box-shadow:0 8px 20px #2563eb40}.btn-secondary:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.btn-link:hover{color:var(--primary-hover);text-decoration-thickness:2px}.app-card:hover,.product-card:hover,.history-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014;border-color:var(--primary-light)}a:hover{color:var(--primary-hover);text-decoration-thickness:2px}.app-nav-link:hover,.app-nav-mobile-link:hover{background:var(--primary-light);color:var(--primary)}input[type=checkbox]:hover:not([disabled]){border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.badge:hover,.tag:hover{transform:scale(1.05);box-shadow:0 2px 8px #0000001a}.app-footer-newsletter-form button:hover{background:var(--primary-hover);box-shadow:0 6px 16px #2563eb4d;transform:translateY(-2px)}.app-footer a:hover{color:var(--primary);padding-left:4px;transition:all .2s cubic-bezier(.4,0,.2,1)}.bottom-nav-center-pill:hover{box-shadow:0 8px 24px #2563eb59}}.btn:active,button:not(.btn-link):not([disabled]):active{transform:translateY(0)}.bottom-nav-item:active{transform:scale(.95)}.app-card,.product-card,.history-card{transition:all .25s cubic-bezier(.4,0,.2,1)}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light),0 1px 3px #0000001a;transform:scale(1.01)}input,textarea,select{transition:all .2s cubic-bezier(.4,0,.2,1)}@keyframes spin-smooth{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner-ring,[class*=spinner]{animation:spin-smooth 1s cubic-bezier(.5,0,.5,1) infinite}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}[class*=skeleton],.skeleton{background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.empty-state{min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-state-icon{animation:icon-pulse 2s ease-in-out infinite}@keyframes icon-pulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@media (hover: none) and (pointer: coarse){button:active:not([disabled]),.btn:active:not([disabled]),a:active{opacity:.7;transform:scale(.98)}}input[type=checkbox]:checked{background:var(--gradient-primary);border-color:var(--primary)}.badge,.tag,[class*=concern-tag]{transition:all .2s cubic-bezier(.4,0,.2,1)}[class*=dropdown-menu],[class*=user-dropdown]{animation:dropdown-slide-in .2s cubic-bezier(.16,1,.3,1)}@keyframes dropdown-slide-in{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}[class*=modal],.modal-overlay{animation:modal-fade-in .25s cubic-bezier(.16,1,.3,1)}@keyframes modal-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.empty-state-icon{animation:none}}[role=alert],.toast,[class*=toast]{animation:toast-slide-in .3s cubic-bezier(.16,1,.3,1)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media (max-width: 768px){button:not(.btn-link),.btn,a[class*=btn]{min-height:48px;padding:14px 24px}.btn-link{min-height:44px;padding:10px 12px}}*:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:4px}.skip-link:focus-visible{outline:3px solid var(--primary);outline-offset:3px;box-shadow:0 4px 16px #2563eb4d}:root{--clinical-surface: #ffffff;--clinical-surface-muted: #f8fafd;--clinical-border: #d8e0ea;--clinical-heading: #162133;--clinical-body: #334a63;--clinical-label: #5e738c;--clinical-radius: 10px;--clinical-radius-sm: 8px;--clinical-radius-lg: 12px;--clinical-space-sm: 12px;--clinical-space-md: 16px;--clinical-space-lg: 24px}body{background:var(--bg-secondary);color:var(--clinical-body)}.app-page h1,.app-page h2,.app-page h3,.app-page h4{color:var(--clinical-heading);letter-spacing:-.01em}.app-page p,.app-page li{color:var(--clinical-body)}.app-page h1{font-size:clamp(1.75rem,2.6vw,2.25rem);line-height:1.2;font-weight:700}.app-page h2{font-size:clamp(1.35rem,2.1vw,1.75rem);line-height:1.28;font-weight:650}.app-page h3{font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.35;font-weight:600}.app-page p{line-height:1.58}.card,.app-section,.app-list-group,.app-header-card,.myshelf-hero,.auth-card,.dashboard-section{background:var(--clinical-surface);border:1px solid var(--clinical-border);border-radius:var(--clinical-radius-lg);box-shadow:var(--shadow-sm)}.hero-content,.sample-report-preview{background:transparent;border:none;box-shadow:none}.card,.app-section,.dashboard-section,.result-card,.step-card,.testimonial-card,.faq-item,.auth-card{padding:var(--clinical-space-md)}.section-tag,.hero-badge,.concern-badge,.goal-tag,.stat-cta{background:var(--clinical-surface-muted);border:1px solid var(--clinical-border);color:var(--primary);border-radius:999px}.btn-primary,.app-nav-cta,.app-nav-mobile-btn-primary,.app-nav-mobile-cta{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);box-shadow:0 4px 12px #1f5fbf38;border-radius:var(--clinical-radius-sm);min-height:44px;padding:10px 20px}.btn-primary:hover,.app-nav-cta:hover,.app-nav-mobile-btn-primary:hover,.app-nav-mobile-cta:hover{box-shadow:0 8px 18px #1f5fbf47}.btn-secondary,.btn-ghost,.app-nav-cta-secondary,.app-nav-mobile-btn-secondary{background:var(--white);border:1px solid var(--clinical-border);color:var(--primary);border-radius:var(--clinical-radius-sm);min-height:44px;padding:10px 20px}.app-header{background:#fffffffa;border-bottom:1px solid var(--clinical-border);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.app-header.scrolled{box-shadow:0 4px 12px #10182814}.app-logo-mark,.app-footer-logo-mark{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);box-shadow:0 4px 10px #1f5fbf40}.app-logo-ai{background:none;-webkit-text-fill-color:initial;color:var(--primary)}.app-nav-link:hover,.app-nav-link.active,.app-nav-mobile-link:hover,.app-nav-mobile-link.active{background:var(--clinical-surface-muted);color:var(--primary)}.app-nav-link.active:after{background:var(--primary);height:2px}.app-nav-dropdown-menu,.app-nav-mobile,.app-nav-mobile-user-info{border:1px solid var(--clinical-border);box-shadow:var(--shadow-md)}.app-footer{background:#fff;border-top:1px solid var(--clinical-border)}.app-footer-newsletter{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%)}.app-footer-bottom{background:var(--clinical-surface-muted)}.app-footer-disclaimer{background:var(--primary-50, #eef4fc);border:1px solid var(--clinical-border)}.hero,.results-preview,.how-it-works,.stats-section,.testimonials-section,.faq-section,.cta-section,.dashboard-page .dashboard-stats,.scan-page-container,.myshelf-page,.profile-settings-page{background:transparent}.hero-blob,.hero-decoration{display:none}.gradient-text{background:none;-webkit-text-fill-color:initial;color:var(--primary)}.score-circle.good,.score-circle.medium{background:var(--primary-50, #eef4fc);color:var(--primary-dark);border:1px solid var(--clinical-border)}.dashboard-refresh-btn,.app-list-item,.stat-card,.result-card,.step-card,.testimonial-card,.faq-item{border:1px solid var(--clinical-border);background:#fff;border-radius:var(--clinical-radius-sm)}.app-list-item:hover,.stat-card:hover,.result-card:hover,.step-card:hover,.testimonial-card:hover{border-color:var(--clinical-border);box-shadow:var(--shadow-md)}.dashboard-page .dashboard-hero,.dashboard-page .app-header-card{border-radius:12px;padding:18px 20px}.dashboard-page .dashboard-hero h1{font-size:clamp(1.35rem,2vw,1.8rem);margin-bottom:2px}.dashboard-page .app-header-subtitle{font-size:.95rem;color:var(--clinical-label)}.dashboard-page .stat-card{padding:14px 16px;border-radius:10px;box-shadow:0 1px 2px #1018280a}.dashboard-page .stat-card .stat-content h3{font-size:1.35rem;line-height:1.2}.dashboard-page .stat-card .stat-content p{font-size:.9rem;line-height:1.45;color:var(--clinical-label)}.dashboard-page .dashboard-section{border-radius:10px;padding:14px}.dashboard-page .dashboard-section .app-section-title{font-size:1rem;font-weight:650;margin-bottom:10px}.dashboard-page .app-list-item{min-height:52px;border-radius:9px}.dashboard-page .app-list-label{font-weight:600;color:var(--clinical-heading)}.dashboard-page .app-list-value{color:var(--clinical-label)}.dashboard-page .dashboard-refresh-btn{border:1px solid var(--clinical-border);background:var(--clinical-surface-muted)}.dashboard-page .dashboard-refresh-btn:hover:not(:disabled){background:var(--primary-50, #edf4fe)}.auth-page{background:linear-gradient(180deg,#f7fafd,#f2f6fb)}.auth-left{background:linear-gradient(180deg,var(--primary-dark) 0%,var(--primary-dark) 100%)}.auth-feature{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--clinical-radius)}.auth-card .auth-header h2{color:var(--clinical-heading)}.auth-card .auth-header p{color:var(--clinical-label)}.auth-container{max-width:460px}.auth-card{padding:22px;border-radius:12px}.auth-header{margin-bottom:18px}.auth-header h2{font-size:clamp(1.3rem,1.8vw,1.6rem);margin-bottom:6px}.auth-header p{font-size:.95rem;line-height:1.5}.auth-left .auth-brand h1{font-size:clamp(1.45rem,2.2vw,1.95rem);line-height:1.25}.auth-left .auth-brand p{font-size:1rem;line-height:1.55}.auth-left .auth-feature{padding:14px;border-radius:12px}.auth-left .feature-text h3{margin-bottom:4px}.auth-left .feature-text p{font-size:.88rem;line-height:1.45}input,select,textarea,.input{border:1px solid var(--clinical-border);border-radius:var(--clinical-radius-sm);background:var(--white);min-height:44px;padding:10px 12px}input:focus,select:focus,textarea:focus,.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1f5fbf24;background:#fff}.profile-tab.active,.tab-button.active{border-color:#9fc0e8;background:#ecf4ff;color:var(--primary-dark)}.profile-settings-page{background:linear-gradient(180deg,#f7fafd,#f3f7fc)}.profile-settings-page .profile-header-card{background:linear-gradient(135deg,#265cae,#3d74c7);border-radius:0 0 12px 12px}.profile-settings-page .settings-section,.profile-settings-page .app-section{border-radius:var(--clinical-radius-lg);border:1px solid var(--clinical-border);box-shadow:var(--shadow-sm)}.homepage .hero,.homepage .hero-content,.homepage .sample-report-preview,.dashboard-page .dashboard-empty-wrapper,.dashboard-page .overlay-cta,.scan-page .scan-content,.scan-page .scan-upload-card,.myshelf-page .myshelf-hero,.myshelf-page .product-card,.analysis-results .result-card,.auth-page .auth-feature,.profile-settings-page .profile-modal{border-radius:var(--clinical-radius-lg);box-shadow:var(--shadow-sm)}@media (max-width: 768px){.card,.app-section,.dashboard-section,.result-card,.step-card,.testimonial-card,.faq-item,.auth-card{padding:var(--clinical-space-sm)}}.profile-settings-page .section-title{font-size:1rem;font-weight:650;margin-bottom:8px}.profile-settings-page .form-group{margin-bottom:14px;gap:6px}.profile-settings-page label{font-size:.88rem;font-weight:600;color:var(--clinical-heading)}.profile-settings-page .form-hint{font-size:.82rem;line-height:1.42;color:var(--clinical-label)}.results-grid,.products-grid{border-color:var(--clinical-border)}.card:hover,.btn:hover,.app-nav-link:hover,.app-nav-cta:hover{transform:none}@media (max-width: 768px){.dashboard-page .dashboard-hero,.dashboard-page .app-header-card{padding:14px}.dashboard-page .stat-card,.dashboard-page .dashboard-section{padding:12px}}:root{--designer-surface: #ffffff;--designer-surface-soft: #f6f9fd;--designer-border: #d9e3ef;--designer-text: #132238;--designer-text-muted: #4d627a;--designer-primary: #1f5fbf;--designer-radius: 12px;--designer-shadow: 0 2px 10px rgba(16, 24, 40, .06)}@media (hover: hover){.card:hover,.result-card:hover,.step-card:hover,.testimonial-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #1018281a}}.card,.result-card,.step-card,.testimonial-card,.faq-item,.app-section,.dashboard-section,.auth-card{background:var(--designer-surface);border:1px solid var(--designer-border);border-radius:var(--designer-radius);box-shadow:var(--designer-shadow);transition:transform .2s ease,box-shadow .2s ease}.btn,.btn-primary,.btn-secondary,.btn-ghost,.btn-outline,.app-nav-cta,.app-nav-mobile-btn-primary,.app-nav-mobile-cta{border-radius:10px;min-height:44px}.btn-primary,.app-nav-cta,.app-nav-mobile-btn-primary,.app-nav-mobile-cta{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);box-shadow:0 6px 16px #1f5fbf3d}.btn-secondary,.btn-ghost,.btn-outline{background:var(--white);color:var(--designer-primary);border:1px solid var(--designer-border)}.app-page h1,.app-page h2,.app-page h3,.app-page h4{color:var(--designer-text)}.app-page p,.app-page li,.app-page label,.app-page span{color:var(--designer-text-muted)}.homepage{background:var(--designer-surface-soft)}.homepage .hero{background:linear-gradient(180deg,#f7faff,#fff)}.homepage .hero-title{letter-spacing:-.02em;font-weight:700}.homepage .hero-cta .btn-primary,.homepage .hero-cta .btn-secondary{min-width:180px}.homepage .sample-report-preview{animation:none;max-width:360px}@media (max-width: 768px){.homepage .as-featured-section,.homepage .stats-section,.homepage .results-preview,.homepage .how-it-works,.homepage .testimonials-section,.homepage .faq-section,.homepage .cta-section,.homepage .trust-badges-section{display:block!important}.homepage .mobile-sticky-cta{display:none!important}.homepage section{padding:32px 16px}.homepage .hero{min-height:auto;padding:24px 16px 20px}.homepage .hero-content{gap:20px}.homepage .hero-cta{width:100%;gap:10px}.homepage .hero-cta .btn-primary,.homepage .hero-cta .btn-secondary{width:100%;min-width:0}}.homepage .hero-badge{border-radius:999px;padding:8px 14px}.homepage .section-header{margin-bottom:28px}.homepage .section-header h2{font-size:clamp(1.4rem,2.2vw,2rem);letter-spacing:-.015em}.homepage .result-card,.homepage .step-card,.homepage .testimonial-card,.homepage .faq-item{border-radius:14px}.homepage .cta-section{border-radius:14px;margin:0 16px 24px}@media (max-width: 768px){.homepage .hero-cta{flex-direction:column}}.dashboard-page{background:var(--bg-secondary)}.dashboard-page .dashboard-hero,.dashboard-page .app-header-card{border-radius:12px;border:1px solid var(--clinical-border, #d9e3ef);box-shadow:0 2px 10px #1018280f}.dashboard-page .dashboard-stats{gap:14px}.dashboard-page .stat-card{border:1px solid var(--clinical-border, #d9e3ef);border-radius:12px;min-height:150px;animation:none}.dashboard-page .stat-card:hover{box-shadow:0 4px 12px #10182814}.dashboard-page .dashboard-section{border:1px solid var(--clinical-border, #d9e3ef);border-radius:12px}.dashboard-page .activity-item:hover{transform:none}.scan-page .scan-content{border:1px solid var(--clinical-border, #d9e3ef);box-shadow:0 2px 10px #1018280f}.scan-page .scan-title .gradient-text{background:none;-webkit-text-fill-color:initial;color:var(--primary);animation:none}.scan-page .scan-upload-label{border-radius:14px;border-width:2px;min-height:290px}.scan-page .scan-tips{border-radius:14px;border-color:var(--clinical-border, #d9e3ef);background:var(--primary-50, #f8fbff)}.scan-page .scan-tips li:hover,.scan-page .scan-upload-label:hover,.scan-page .scan-btn-primary:hover:not(:disabled),.scan-page .scan-btn-secondary:hover:not(:disabled){transform:none}.scan-page .scan-btn-primary,.scan-page .scan-btn-secondary{border-radius:10px}.analysis-results .results-header,.analysis-results .result-card,.analysis-results .confidence-row,.analysis-results .analysis-inline-warning{border-radius:12px;border-color:var(--clinical-border, #d9e3ef)}.analysis-results .result-card:hover,.analysis-results .results-back:hover,.analysis-results .results-actions .btn-primary:hover,.analysis-results .results-actions .btn-secondary:hover{transform:none}.analysis-results .results-grid{gap:16px}.analysis-results .severity-card{border-radius:10px}.myshelf-page .myshelf-hero{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);border-radius:0 0 16px 16px}.myshelf-page .myshelf-toolbar,.myshelf-page .myshelf-onboarding,.myshelf-page .myshelf-empty{border-radius:12px}.myshelf-page .product-card{border-radius:12px;border-color:var(--clinical-border, #d9e3ef)}.myshelf-page .product-card:hover,.myshelf-page .myshelf-add-btn:hover,.myshelf-page .myshelf-fab:hover{transform:none}.myshelf-page .myshelf-search-wrap:focus-within{box-shadow:0 0 0 3px #1f5fbf29}@media (max-width: 768px){.myshelf-page .product-card{border-radius:0}}.auth-page .auth-left{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%)}.auth-page .auth-feature{border-radius:12px;transform:none}.auth-page .auth-card{border:1px solid var(--clinical-border, #d9e3ef);border-radius:12px;box-shadow:0 2px 10px #1018280f}.auth-page .auth-header h2{font-size:clamp(1.4rem,2vw,1.9rem)}.auth-page .btn-primary,.auth-page .btn-link{border-radius:10px;transform:none}.profile-settings-page{background:var(--bg-secondary)}.profile-settings-page .profile-header-card{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%)}.profile-settings-page .profile-content,.profile-settings-page .settings-group,.profile-settings-page .section-card,.profile-settings-page .profile-modal{border:1px solid var(--clinical-border, #d9e3ef);border-radius:12px;box-shadow:0 2px 10px #1018280f}.profile-settings-page .settings-item.active{background:var(--primary-50, #edf4fe);color:var(--primary)}.profile-settings-page .btn-primary,.profile-settings-page .btn-secondary,.profile-settings-page .profile-floating-save-btn{border-radius:10px;transform:none}.product-details-page{background:var(--bg-secondary)}.product-details-page .product-image-section,.product-details-page .product-details-tabs,.product-details-page .ingredient-card,.product-details-page .review-card,.product-details-page .review-form,.product-details-page .no-reviews{border-color:var(--clinical-border, #d9e3ef);border-radius:12px;box-shadow:0 2px 10px #1018280f}.product-details-page .tabs-header button.active{background:var(--primary-50, #edf4fe)}.product-details-page .btn-primary,.product-details-page .btn-secondary,.product-details-page .btn-outline,.product-details-page .view-btn{border-radius:10px;transform:none}.today-page{background:var(--bg-secondary)}.today-page .today-card{border:1px solid var(--clinical-border, #d9e3ef);border-radius:12px;box-shadow:0 2px 10px #1018280f}.today-page .today-card-prediction,.today-page .today-card-streak,.today-page .today-card-toppick{background:var(--white);border-color:var(--clinical-border, #d9e3ef)}.today-page .today-routine-tab.active{background:var(--primary-50, #edf4fe)}.today-page .today-product-card{border-radius:10px}.today-page .today-products-grid{gap:12px}.history-page{background:var(--bg-secondary)}.history-page .history-toolbar,.history-page .history-item,.history-page .stat-card,.history-page .empty-state{border:1px solid var(--clinical-border, #d9e3ef);border-radius:12px;box-shadow:0 2px 10px #1018280f}.history-page .filter-btn.active{background:var(--primary);border-color:var(--primary)}.history-page .history-item:hover,.history-page .stat-card:hover,.history-page .filter-btn:hover,.history-page .view-btn:hover{transform:none}.routine-builder-page{background:var(--bg-secondary)}.routine-builder-page .routine-builder,.routine-builder-page .suggestion-card,.routine-builder-page .routine-tips,.routine-builder-page .routine-reminders,.routine-builder-page .empty-state{border:1px solid var(--clinical-border, #d9e3ef);border-radius:12px;box-shadow:0 2px 10px #1018280f}.routine-builder-page .routine-toggle button.active{background:var(--primary)}.routine-builder-page .btn-add-step:hover,.routine-builder-page .routine-actions .btn-primary:hover,.routine-builder-page .routine-actions .btn-secondary:hover{transform:none}.product-scanner-page{background:var(--bg-secondary)}.product-scanner-page .scanner-card,.product-scanner-page .processing-card,.product-scanner-page .error-card,.product-scanner-page .product-info-card,.product-scanner-page .guide-card{border:1px solid var(--clinical-border, #d9e3ef);border-radius:12px;box-shadow:0 2px 10px #1018280f}.product-scanner-page .mode-btn.active{background:var(--primary);border-color:var(--primary)}.product-scanner-page .btn-success,.product-scanner-page .btn-view-details,.product-scanner-page .btn-toggle-camera{border-radius:10px;transform:none}.product-scanner-page .capture-btn:hover{transform:none}.notification-center-page{background:var(--bg-secondary)}.notification-center-page .settings-card,.notification-center-page .notification-item,.notification-center-page .empty-state{border:1px solid var(--clinical-border, #d9e3ef);border-radius:12px;box-shadow:0 2px 10px #1018280f}.notification-center-page .filter-btn.active{background:var(--primary);border-color:var(--primary)}.notification-center-page .notification-item:hover,.notification-center-page .btn-mark-all:hover,.notification-center-page .btn-settings:hover,.notification-center-page .btn-action:hover{transform:none}.about-page,.contact-page,.privacy-page,.terms-page,.blog-page,.sample-report-page,.consent-page,.onboarding-page,.comparison-page,.favorites-page,.recommendations-page,.progress-tracking-page,.product-compare-page,.skin-goals-page,.me-page,.not-found-page{background:var(--bg-secondary)}.about-page .card,.contact-page .card,.privacy-page .card,.terms-page .card,.blog-page .card,.sample-report-page .card,.consent-page .card,.onboarding-page .card,.comparison-page .card,.favorites-page .card,.recommendations-page .card,.progress-tracking-page .card,.product-compare-page .card,.skin-goals-page .card,.me-page .card,.not-found-page .card,.about-page .app-section,.contact-page .app-section,.privacy-page .app-section,.terms-page .app-section,.blog-page .app-section,.sample-report-page .app-section,.consent-page .app-section,.onboarding-page .app-section,.comparison-page .app-section,.favorites-page .app-section,.recommendations-page .app-section,.progress-tracking-page .app-section,.product-compare-page .app-section,.skin-goals-page .app-section,.me-page .app-section,.not-found-page .app-section{border:1px solid var(--clinical-border, #d9e3ef);border-radius:12px;box-shadow:0 2px 10px #1018280f}.admin-dashboard-page,.admin-content-page,.admin-products-page,.admin-catalog-page,.admin-users-page,.admin-blogs-page,.admin-videos-page,.admin-news-page{background:var(--bg-secondary)}.admin-dashboard-page .card,.admin-content-page .card,.admin-products-page .card,.admin-catalog-page .card,.admin-users-page .card,.admin-blogs-page .card,.admin-videos-page .card,.admin-news-page .card,.admin-dashboard-page .app-section,.admin-content-page .app-section,.admin-products-page .app-section,.admin-catalog-page .app-section,.admin-users-page .app-section,.admin-blogs-page .app-section,.admin-videos-page .app-section,.admin-news-page .app-section{border:1px solid var(--clinical-border, #d9e3ef);border-radius:12px;box-shadow:0 2px 10px #1018280f}.about-page .btn,.contact-page .btn,.privacy-page .btn,.terms-page .btn,.blog-page .btn,.sample-report-page .btn,.consent-page .btn,.onboarding-page .btn,.comparison-page .btn,.favorites-page .btn,.recommendations-page .btn,.progress-tracking-page .btn,.product-compare-page .btn,.skin-goals-page .btn,.me-page .btn,.not-found-page .btn,.admin-dashboard-page .btn,.admin-content-page .btn,.admin-products-page .btn,.admin-catalog-page .btn,.admin-users-page .btn,.admin-blogs-page .btn,.admin-videos-page .btn,.admin-news-page .btn{border-radius:10px}.about-page .btn:hover,.contact-page .btn:hover,.privacy-page .btn:hover,.terms-page .btn:hover,.blog-page .btn:hover,.sample-report-page .btn:hover,.consent-page .btn:hover,.onboarding-page .btn:hover,.comparison-page .btn:hover,.favorites-page .btn:hover,.recommendations-page .btn:hover,.progress-tracking-page .btn:hover,.product-compare-page .btn:hover,.skin-goals-page .btn:hover,.me-page .btn:hover,.not-found-page .btn:hover,.admin-dashboard-page .btn:hover,.admin-content-page .btn:hover,.admin-products-page .btn:hover,.admin-catalog-page .btn:hover,.admin-users-page .btn:hover,.admin-blogs-page .btn:hover,.admin-videos-page .btn:hover,.admin-news-page .btn:hover{transform:none}@media (max-width: 768px){html{font-size:16px;text-size-adjust:100%;-webkit-text-size-adjust:100%}body{font-size:1rem;line-height:1.6;letter-spacing:-.01em}small{font-size:.8125rem;line-height:1.5}h1{font-size:1.75rem;line-height:1.2}h2{font-size:1.375rem;line-height:1.25}h3{font-size:1.125rem;line-height:1.3}}@media (max-width: 1024px) and (min-width: 769px){body{font-size:1rem;line-height:1.55}}@media (max-width: 768px){button,a,[role=button],[role=tab],[role=menuitem],[role=link],input[type=checkbox],select{min-height:44px;min-width:44px}p a,span a,li a{min-width:unset;min-height:unset;padding-top:4px;padding-bottom:4px;display:inline}button:has(svg:only-child),[role=button]:has(svg:only-child){display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}}@supports (padding-top: env(safe-area-inset-top)){@media (max-width: 768px){body{padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}header,.app-header,.mobile-header,[role=banner]{padding-top:calc(var(--ds-space-3, 12px) + env(safe-area-inset-top))}nav[class*=bottom],.bottom-nav,[role=navigation]:last-child{padding-bottom:calc(var(--ds-space-2, 8px) + env(safe-area-inset-bottom))}}}@media (max-width: 768px){html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}body,.scrollable{scrollbar-width:none;-ms-overflow-style:none}body::-webkit-scrollbar,.scrollable::-webkit-scrollbar{display:none}}@media (max-width: 768px){main,.main-content,.page-content,[role=main]{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}}@media (max-width: 768px){.card,[class*=Card],[class*=card-]{border-radius:var(--ds-radius-xl, 16px);box-shadow:0 2px 8px #1f6feb0f,0 1px 3px #0000000a;overflow:hidden}.card:active,.ds-card:active,[class*=Card]:active{transform:scale(.985);transition:transform var(--ds-transition-fast, .15s cubic-bezier(.4, 0, .2, 1))}}@media (max-width: 1024px) and (min-width: 769px){.card,[class*=Card]{border-radius:var(--ds-radius-lg, 12px)}}@media (max-width: 768px){input[type=text],input[type=email],input[type=password],input[type=search],input[type=tel],input[type=url],input[type=number],input[type=date],textarea,select{font-size:16px!important;line-height:1.5;min-height:48px;padding:var(--ds-space-3, 12px) var(--ds-space-4, 16px);border-radius:var(--ds-radius-lg, 12px);border:1.5px solid var(--ds-gray-200, #e2e8f0);background:var(--ds-white, #ffffff);transition:border-color var(--ds-transition-fast, .15s ease),box-shadow var(--ds-transition-fast, .15s ease);-moz-appearance:none;appearance:none;-webkit-appearance:none}input:focus,textarea:focus,select:focus{border-color:var(--ds-primary, #1f6feb);box-shadow:0 0 0 3px #1f6feb1f;outline:none}textarea{min-height:100px;resize:vertical}label{font-size:.9375rem;font-weight:500;margin-bottom:var(--ds-space-1, 4px)}}@media (max-width: 768px){body{overscroll-behavior-y:contain}body:before{content:"";position:fixed;top:-100px;left:0;right:0;height:100px;background:linear-gradient(180deg,rgba(31,111,235,.06) 0%,transparent 100%);pointer-events:none;z-index:var(--z-nav);opacity:0;transition:opacity .2s ease}html:has(body.overscroll-active):before{opacity:1}}@keyframes mobilePageFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){main,.main-content,.page-content,[role=main]{animation:mobilePageFadeIn .3s cubic-bezier(.25,.1,.25,1) both}main>section:nth-child(1),.page-content>section:nth-child(1){animation-delay:0s}main>section:nth-child(2),.page-content>section:nth-child(2){animation-delay:.05s}main>section:nth-child(3),.page-content>section:nth-child(3){animation-delay:.1s}main>section:nth-child(4),.page-content>section:nth-child(4){animation-delay:.15s}}@media (max-width: 1024px) and (min-width: 769px){main,.main-content,.page-content,[role=main]{animation:mobilePageFadeIn .25s cubic-bezier(.25,.1,.25,1) both}}@media (max-width: 768px){header,.app-header,.mobile-header,[role=banner]{backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);background:#ffffffd1;border-bottom:.5px solid rgba(31,111,235,.08);position:sticky;top:0;z-index:var(--z-sticky, 1020)}[data-theme=dark] header,[data-theme=dark] .app-header,[data-theme=dark] .mobile-header,[data-theme=dark] [role=banner]{background:#0f172ad9;border-bottom-color:#ffffff0f}}@media (max-width: 768px){img,video,svg,canvas{max-width:100%;height:auto}img[class*=avatar],img[class*=thumb],img[class*=profile]{object-fit:cover;aspect-ratio:1 / 1}}@media (max-width: 768px){*{-webkit-tap-highlight-color:rgba(31,111,235,.1)}button:active,a:active,[role=button]:active,[role=tab]:active,[role=menuitem]:active{opacity:.85;transition:opacity 80ms ease}button:disabled,[aria-disabled=true]{opacity:.5;pointer-events:none}}.app-card,.result-card,.stat-card,.product-card,.favorites-product-card,.routine-builder,.comparison-card,.notification-item,.ingredient-card,.skin-type-card,.video-card,.blog-card,.sample-card{background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6);box-shadow:0 1px 2px #10182808,0 4px 16px #1018280a;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .25s ease}.app-card:hover,.result-card:hover,.stat-card:hover,.product-card:hover,.favorites-product-card:hover,.ingredient-card:hover,.skin-type-card:hover,.video-card:hover,.blog-card:hover,.sample-card:hover{transform:translateY(-3px);box-shadow:0 4px 8px #1018280a,0 12px 32px #10182814;border-color:#1f5fbf26}.app-header-card,.dashboard-hero,.myshelf-hero,.scan-hero{background:radial-gradient(ellipse 80% 60% at 20% 40%,rgba(31,95,191,.12),transparent),radial-gradient(ellipse 60% 80% at 80% 20%,rgba(79,138,217,.1),transparent),linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);position:relative;overflow:hidden}.app-header-card:before{content:"";position:absolute;top:-50%;right:-30%;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);pointer-events:none}.app-header-card h1{position:relative;z-index:1}.app-header-card .app-header-subtitle{position:relative;z-index:1;opacity:.92}.dashboard-stats .stat-card,.admin-stat-card{position:relative;overflow:hidden;background:var(--white);border:none}.dashboard-stats .stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent));opacity:0;transition:opacity .3s ease}.dashboard-stats .stat-card:hover:before,.dashboard-stats .stat-card.primary:before{opacity:1}.dashboard-stats .stat-card.primary{background:linear-gradient(135deg,#1f5fbf0a,#4f8ad905)}.app-section-title,.dashboard-section h2,.favorites-explainer h3{display:flex;align-items:center;gap:10px}.app-section-title:before{content:"";display:inline-block;width:4px;height:1.1em;border-radius:2px;background:linear-gradient(180deg,var(--primary),var(--accent));flex-shrink:0}.app-list-item{transition:background .2s ease,transform .15s ease,box-shadow .2s ease;border-radius:var(--border-radius-md)}.app-list-item:hover{background:#1f5fbf0a}.app-list-item:active{transform:scale(.98);background:#1f5fbf14}.app-list-icon{transition:transform .2s ease}.app-list-item:hover .app-list-icon{transform:scale(1.08)}.btn-primary,.btn.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);box-shadow:0 2px 8px #1f5fbf40;border:none;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.btn-primary:hover,.btn.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 16px #1f5fbf59;filter:brightness(1.05)}.btn-primary:active,.btn.btn-primary:active{transform:translateY(0);box-shadow:0 1px 4px #1f5fbf33}.btn-secondary,.btn.btn-secondary{border:1.5px solid var(--border-color);background:var(--white);transition:border-color .2s ease,color .2s ease,background .2s ease,transform .15s ease}.btn-secondary:hover,.btn.btn-secondary:hover{border-color:var(--primary);color:var(--primary);background:#1f5fbf08}.app-empty-state{text-align:center;padding:48px 24px}.app-empty-state-icon{width:72px;height:72px;margin:0 auto 20px;border-radius:50%;background:linear-gradient(135deg,#1f5fbf14,#4f8ad90a);display:flex;align-items:center;justify-content:center;color:var(--primary);animation:emptyPulse 3s ease-in-out infinite}@keyframes emptyPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.85}}.app-empty-state h3{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.app-empty-state p{color:var(--text-secondary);max-width:320px;margin:0 auto 20px;line-height:1.5}.dashboard-page,.today-page,.scan-page,.recommendations-page,.favorites-page,.history-page,.comparison-page,.progress-tracking-page{background:radial-gradient(ellipse 50% 40% at 10% 0%,rgba(31,95,191,.03),transparent 60%),radial-gradient(ellipse 40% 50% at 90% 80%,rgba(79,138,217,.02),transparent 60%),var(--bg-secondary)}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1f5fbf1f;outline:none}.goal-tag,.concern-tag,.filter-btn.active,.status-badge{border-radius:999px;font-weight:600;letter-spacing:.01em}.skin-score-ring{position:relative}.skin-score-ring__value{font-variant-numeric:tabular-nums;letter-spacing:-.02em}.skeleton-box,.skeleton-heading,.skeleton-text,.skeleton-card{background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-50) 50%,var(--gray-100) 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out infinite;border-radius:var(--border-radius-md)}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.notification-badge{animation:badgeBounce .4s cubic-bezier(.68,-.55,.265,1.55)}@keyframes badgeBounce{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}.favorites-toolbar,.history-toolbar,.myshelf-toolbar{background:#fffc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.5)}.dashboard-stats>*,.favorites-grid>*,.ingredient-grid>*,.skin-type-grid>*,.video-grid>*,.results-grid>*{animation:cardReveal .4s ease-out both}.dashboard-stats>*:nth-child(1),.favorites-grid>*:nth-child(1){animation-delay:0s}.dashboard-stats>*:nth-child(2),.favorites-grid>*:nth-child(2){animation-delay:.05s}.dashboard-stats>*:nth-child(3),.favorites-grid>*:nth-child(3){animation-delay:.1s}.dashboard-stats>*:nth-child(4),.favorites-grid>*:nth-child(4){animation-delay:.15s}.favorites-grid>*:nth-child(5){animation-delay:.2s}.favorites-grid>*:nth-child(6){animation-delay:.25s}@keyframes cardReveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.confirm-modal-overlay,.modal-overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#0006}.confidence-fill,.severity-fill,.match-for-you-bar,.skin-match-bar{background:linear-gradient(90deg,var(--primary),var(--accent));background-size:200% 100%;animation:progressShine 2s ease-in-out infinite;border-radius:999px}@keyframes progressShine{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.dashboard-section.reminder,.scan-reminder-card,.me-twin-card{background:linear-gradient(135deg,#1f5fbf0f,#4f8ad908);border:1px solid rgba(31,95,191,.12);border-radius:var(--border-radius-xl)}.admin-products-table,.admin-users-table{border-collapse:separate;border-spacing:0;border-radius:var(--border-radius-lg);overflow:hidden}.admin-products-table th,.admin-users-table th{background:var(--gray-50);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.admin-products-table td,.admin-users-table td{border-bottom:1px solid var(--gray-100)}.admin-products-table tr:last-child td,.admin-users-table tr:last-child td{border-bottom:none}.admin-products-table tr:hover td,.admin-users-table tr:hover td{background:#1f5fbf05}.privacy-page,.terms-page{line-height:1.75}.privacy-page h2,.terms-page h2{margin-top:2rem;padding-bottom:.5rem;border-bottom:2px solid var(--gray-100)}.not-found-title{text-shadow:0 4px 24px rgba(31,95,191,.15)}.contact-page .form-group label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:6px}@media (prefers-reduced-motion: reduce){.app-card:hover,.result-card:hover,.stat-card:hover,.product-card:hover{transform:none}.app-empty-state-icon{animation:none}.dashboard-stats>*,.favorites-grid>*{animation:none;opacity:1}.confidence-fill,.severity-fill,.notification-badge{animation:none}}@media (prefers-color-scheme: dark){.app-card,.result-card,.stat-card{background:#1e1e28d9;border-color:#ffffff14}}.dashboard-hero.app-header-card{background:radial-gradient(circle 300px at 15% 50%,rgba(255,255,255,.1),transparent),radial-gradient(circle 200px at 85% 30%,rgba(255,255,255,.06),transparent),linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);padding-bottom:36px}.dashboard-hero h1{font-size:1.75rem;letter-spacing:-.02em}.overlay-cta{border-radius:var(--border-radius-xl);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffffeb;border:1px solid rgba(255,255,255,.6)}.overlay-cta__icon-circle{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#1f5fbf1a,#4f8ad90d);display:inline-flex;align-items:center;justify-content:center;color:var(--primary)}.dashboard-section.reminder{border-radius:var(--border-radius-xl);padding:24px}.reminder-icon{color:var(--primary);opacity:.8}.today-hero{padding-bottom:40px}.today-score-card{background:var(--white);border-radius:var(--border-radius-xl);box-shadow:0 8px 32px #10182814;margin-top:-24px;position:relative;z-index:2}.today-routine-step{transition:background .2s ease,transform .15s ease}.today-routine-step:active{transform:scale(.98)}.today-streak-card{background:linear-gradient(135deg,#1f5fbf0f,#4f8ad905);border-radius:var(--border-radius-xl)}.homepage .hero{position:relative;overflow:hidden}.homepage .hero:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:80px;background:linear-gradient(to top,var(--bg-secondary),transparent);pointer-events:none}.homepage section{position:relative}.scan-page .scan-type-toggle{background:#ffffffb3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.scan-type-tab.active{box-shadow:0 2px 8px #1f5fbf1f,0 0 0 1px #1f5fbf14}.scan-upload-zone{border:2px dashed var(--gray-300);border-radius:var(--border-radius-xl);transition:border-color .3s ease,background .3s ease}.scan-upload-zone:hover,.scan-upload-zone.drag-over{border-color:var(--primary);background:#1f5fbf08}.analysis-results .results-header{background:linear-gradient(135deg,#1f5fbf0a,#4f8ad905);border:1px solid rgba(31,95,191,.08)}.result-card h2{display:flex;align-items:center;gap:8px}.scanner-container .mode-btn.active{background:linear-gradient(135deg,var(--primary),var(--accent));color:var(--white);border-color:transparent;box-shadow:0 4px 12px #1f5fbf4d}.myshelf-hero{position:relative;overflow:hidden}.myshelf-hero:after{content:"";position:absolute;bottom:0;left:0;right:0;height:24px;background:linear-gradient(to top,var(--bg-secondary),transparent);border-radius:0 0 24px 24px}.recommendations-page .product-card{position:relative;overflow:hidden}.recommendations-page .product-card:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent));opacity:0;transition:opacity .3s ease}.recommendations-page .product-card:hover:after{opacity:1}.product-details-page .tab-btn.active{border-bottom:3px solid var(--primary);color:var(--primary);font-weight:600}.favorites-page .favorites-match{background:linear-gradient(135deg,#1f5fbf14,#4f8ad90a);border-radius:999px;padding:4px 12px;font-weight:700;font-size:.85rem;color:var(--primary)}.me-profile-avatar{box-shadow:0 4px 16px #1f5fbf33;transition:transform .2s ease}.me-profile-avatar:hover{transform:scale(1.05)}.me-stat-value{font-variant-numeric:tabular-nums}.me-list{border-radius:var(--border-radius-xl);overflow:hidden}.profile-settings-page .settings-tab.active{color:var(--primary);border-bottom:3px solid var(--primary);font-weight:600}.onboarding-page .step-indicator .step.active{background:var(--primary);color:var(--white);box-shadow:0 2px 12px #1f5fbf4d;transform:scale(1.1)}.progress-tracking-page .chart-section{background:var(--white);border-radius:var(--border-radius-xl);padding:24px;box-shadow:0 1px 3px #1018280a}.progress-tracking-page .milestone-item.achieved{background:linear-gradient(135deg,#1b7f530f,#1b7f5305);border-color:#1b7f5326}.comparison-page .comparison-input{border-radius:var(--border-radius-md);transition:border-color .2s ease,box-shadow .2s ease}.comparison-page .comparison-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1f5fbf1a}.history-page .history-item{transition:transform .15s ease,background .2s ease}.history-page .history-item:hover{background:#1f5fbf08}.history-page .history-item:active{transform:scale(.99)}.routine-builder-page .time-btn.active{background:linear-gradient(135deg,var(--primary),var(--accent));color:var(--white);box-shadow:0 4px 12px #1f5fbf40}.routine-builder-page .step-card{border-left:3px solid transparent;transition:border-color .2s ease,transform .15s ease}.routine-builder-page .step-card:hover{border-left-color:var(--primary)}.ingredient-page .alphabet-letter:hover{transform:scale(1.1)}.ingredient-page .ingredient-card{border-left:3px solid transparent;transition:border-color .3s ease,transform .2s ease}.ingredient-page .ingredient-card:hover{border-left-color:var(--primary)}.blog-page .blog-card{overflow:hidden}.contact-page .form-group input,.contact-page .form-group textarea{border-radius:var(--border-radius-md);transition:border-color .2s ease,box-shadow .2s ease}.contact-page .faq-question{cursor:pointer;transition:color .2s ease}.contact-page .faq-question:hover{color:var(--primary)}.about-page .value-card{text-align:center;transition:transform .2s ease}.about-page .value-card:hover{transform:translateY(-4px)}.notification-center .notification-item{transition:background .2s ease,transform .15s ease;border-left:3px solid transparent}.notification-center .notification-item.unread{border-left-color:var(--primary);background:#1f5fbf08}.notification-center .notification-item:hover{background:#1f5fbf0a}.auth-page .auth-card{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffffeb;border:1px solid rgba(255,255,255,.6)}.auth-page .password-toggle{transition:color .2s ease}.auth-page .password-toggle:hover{color:var(--primary)}@keyframes verifyPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.not-found-actions .not-found-btn{transition:transform .2s ease,box-shadow .2s ease}.not-found-actions .not-found-btn:hover{transform:translateY(-2px)}.sample-report-page .sample-card{position:relative;overflow:hidden}.sample-report-page .sample-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--accent))}.video-page .video-card{overflow:hidden}.video-page .video-thumb{transition:transform .3s ease}.video-page .video-card:hover .video-thumb{transform:scale(1.03)}.skin-type-page .skin-type-card{position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.skin-type-page .skin-type-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--primary),var(--accent));opacity:0;transition:opacity .3s ease}.skin-type-page .skin-type-card:hover:before{opacity:1}.skin-type-page .skin-type-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #10182814}@media (prefers-reduced-motion: reduce){.me-profile-avatar:hover,.value-card:hover,.skin-type-card:hover,.not-found-btn:hover,.alphabet-letter:hover,.video-page .video-card:hover .video-thumb{transform:none}}@media (max-width: 768px){.app-card,.result-card,.stat-card,.product-card,.favorites-product-card,.routine-builder,.comparison-card,.notification-item,.ingredient-card,.skin-type-card,.video-card,.blog-card,.sample-card{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#ffffffeb;border-radius:16px;box-shadow:0 1px 3px #1018280a}.app-card:hover,.result-card:hover,.stat-card:hover,.product-card:hover,.favorites-product-card:hover,.ingredient-card:hover,.skin-type-card:hover,.video-card:hover,.blog-card:hover,.sample-card:hover{transform:none;box-shadow:0 1px 3px #1018280a}.app-card:active,.result-card:active,.stat-card:active,.product-card:active,.favorites-product-card:active,.ingredient-card:active,.skin-type-card:active,.video-card:active,.blog-card:active,.sample-card:active{transform:scale(.98);opacity:.92;transition:transform .1s ease,opacity .1s ease}.app-header-card,.dashboard-hero,.myshelf-hero,.scan-hero{border-radius:0;margin-left:-16px;margin-right:-16px;padding:20px 20px 28px}.app-header-card:before{width:250px;height:250px;top:-40%;right:-20%}.dashboard-hero h1{font-size:1.4rem}.dashboard-stats{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:4px 0 12px;scrollbar-width:none}.dashboard-stats::-webkit-scrollbar{display:none}.dashboard-stats .stat-card{flex:0 0 auto;min-width:140px;max-width:160px;scroll-snap-align:start;border-radius:16px;padding:16px}.dashboard-stats .stat-card.primary{min-width:160px;max-width:180px}.dashboard-stats .stat-card:before{border-radius:16px 16px 0 0}.app-section-title:before{width:3px;height:1em}.app-list-item{min-height:52px;padding:12px 16px;border-radius:12px}.app-list-item:active{background:#1f5fbf0f;transform:scale(.98)}.app-list-item:hover{background:transparent}.btn-primary,.btn.btn-primary{width:100%;min-height:48px;border-radius:14px;font-size:1rem;font-weight:600}.btn-primary:hover,.btn.btn-primary:hover{transform:none}.btn-primary:active,.btn.btn-primary:active{transform:scale(.98);opacity:.92}.btn-secondary,.btn.btn-secondary{min-height:48px;border-radius:14px}.btn-secondary:hover,.btn.btn-secondary:hover{border-color:var(--border-color);color:inherit;background:var(--white)}.btn-secondary:active,.btn.btn-secondary:active{background:#1f5fbf0a;border-color:var(--primary)}.app-empty-state{padding:36px 20px}.app-empty-state-icon{width:64px;height:64px;margin-bottom:16px}.app-empty-state h3{font-size:1.15rem}.app-empty-state p{font-size:.9375rem;max-width:280px}.overlay-cta{padding:20px 24px;max-width:300px;border-radius:16px}.overlay-cta h2{font-size:1.25rem}.overlay-cta__icon-circle{width:40px;height:40px}.dashboard-stats>*,.favorites-grid>*,.ingredient-grid>*,.skin-type-grid>*,.video-grid>*,.results-grid>*{animation-duration:.3s}.favorites-toolbar,.history-toolbar,.myshelf-toolbar{position:sticky;top:0;z-index:10;border-radius:0;margin-left:-16px;margin-right:-16px;padding:12px 16px;background:#ffffffd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.06);border-top:none;border-left:none;border-right:none}input:focus,textarea:focus,select:focus{box-shadow:0 0 0 2px #1f5fbf1a}.goal-tag,.concern-tag,.filter-btn.active{padding:8px 16px;font-size:.875rem;min-height:36px}.confidence-fill,.severity-fill,.match-for-you-bar,.skin-match-bar{height:8px;border-radius:4px}.dashboard-section.reminder{padding:20px;border-radius:16px;flex-direction:column;text-align:center}.reminder-icon{margin-bottom:12px}.reminder-controls{flex-direction:column;gap:12px}.confirm-modal-overlay .confirm-modal,.modal-overlay .modal-content{width:calc(100% - 32px);max-width:100%;border-radius:20px;margin:auto 16px}.today-score-card{margin-top:-20px;margin-left:12px;margin-right:12px;border-radius:16px}.scan-upload-zone{border-radius:16px;min-height:200px}.scan-type-tab{min-height:44px;border-radius:12px}.myshelf-product-card:active{transform:scale(.97)}.recommendations-page .product-card:active:after{opacity:0}.recommendations-page .product-card:hover:after{opacity:0}.favorites-page .favorites-match{padding:3px 10px;font-size:.8rem}.me-profile-avatar{margin:0 auto;display:block}.me-profile-avatar:hover{transform:none}.me-profile-avatar:active{transform:scale(.95)}.onboarding-page .option-card:active{transform:scale(.98);border-color:var(--primary)}.onboarding-page .step-indicator .step.active{transform:scale(1.05)}.routine-builder-page .time-btn{flex:1;min-height:44px;border-radius:12px}.routine-builder-page .step-card{border-left-width:3px;border-radius:12px;padding:14px}.history-page .history-item{border-radius:12px;padding:14px 16px;min-height:52px}.history-page .history-item:hover{background:transparent}.history-page .history-item:active{background:#1f5fbf0a;transform:scale(.99)}.digital-twin-page .snapshot-card:active{transform:scale(.98)}.progress-tracking-page .chart-section{padding:16px;border-radius:16px;margin-left:-4px;margin-right:-4px}.ingredient-page .ingredient-card{border-left-width:3px;border-radius:12px}.ingredient-page .ingredient-card:hover{border-left-color:transparent}.ingredient-page .ingredient-card:active{border-left-color:var(--primary);transform:scale(.99)}.blog-page .blog-card{border-radius:16px;overflow:hidden}.video-page .video-card{border-radius:16px}.video-page .video-card:hover .video-thumb{transform:none}.contact-page .form-group input,.contact-page .form-group textarea{border-radius:12px;min-height:48px;font-size:1rem}.contact-page .form-group textarea{min-height:120px}.about-page .value-card:hover{transform:none}.about-page .value-card:active{transform:scale(.98)}.notification-center .notification-item{border-radius:12px;padding:14px 16px}.notification-center .notification-item:hover{background:transparent}.notification-center .notification-item:active{background:#1f5fbf0a}.notification-center .notification-item.unread{border-left-width:3px}.data-export-page .export-format-btn:active{transform:scale(.97);border-color:var(--primary)}.auth-page .auth-card{border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--white);border:none;min-height:100vh;min-height:100dvh}.not-found-actions{display:flex;flex-direction:column;gap:12px}.not-found-actions .not-found-btn{width:100%;min-height:48px;border-radius:14px}.not-found-actions .not-found-btn:hover{transform:none}.privacy-page,.terms-page{font-size:.9375rem;line-height:1.7}.privacy-page h2,.terms-page h2{font-size:1.15rem;margin-top:1.5rem}.sample-report-page .sample-card{border-radius:16px}.sample-report-page .sample-card:before{height:3px;border-radius:16px 16px 0 0}.skin-type-page .skin-type-card:hover{transform:none;box-shadow:none}.skin-type-page .skin-type-card:hover:before{opacity:0}.skin-type-page .skin-type-card:active{transform:scale(.98)}.skin-type-page .skin-type-card:active:before{opacity:1}.comparison-page .comparison-input{border-radius:12px;min-height:48px}.skin-goals-page .goal-card:active{transform:scale(.97)}.admin-stat-card{border-radius:14px;padding:16px}.admin-products-table,.admin-users-table{font-size:.875rem;border-radius:12px}.admin-products-table th,.admin-users-table th{font-size:.75rem;padding:10px 12px}.admin-products-table td,.admin-users-table td{padding:12px}}@media (max-width: 768px) and (prefers-reduced-motion: reduce){.app-card:active,.stat-card:active,.product-card:active,.app-list-item:active,.btn-primary:active,.onboarding-page .option-card:active,.history-page .history-item:active{transform:none;opacity:1}.dashboard-stats>*,.favorites-grid>*{animation:none;opacity:1}}@media (min-width: 769px) and (max-width: 1024px){.app-card,.result-card,.stat-card,.product-card,.favorites-product-card,.routine-builder,.comparison-card,.notification-item,.ingredient-card,.skin-type-card,.video-card,.blog-card,.sample-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffffe0;border-radius:18px}.app-card:hover,.result-card:hover,.stat-card:hover,.product-card:hover,.favorites-product-card:hover,.ingredient-card:hover,.skin-type-card:hover,.video-card:hover,.blog-card:hover,.sample-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #1018280f,0 8px 24px #1018280f}.app-header-card,.dashboard-hero,.myshelf-hero,.scan-hero{border-radius:20px;margin:0 8px;padding:28px 28px 36px}.app-header-card:before{width:320px;height:320px}.dashboard-hero h1{font-size:1.6rem}.dashboard-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.dashboard-stats .stat-card{border-radius:16px;padding:18px}.dashboard-stats .stat-card.primary{grid-column:1 / -1}.app-section-title{font-size:1.15rem}.app-list-item{min-height:50px;padding:12px 18px;border-radius:14px}.btn-primary,.btn.btn-primary{min-height:46px;border-radius:14px;min-width:200px}.btn-secondary,.btn.btn-secondary{min-height:46px;border-radius:14px}.app-empty-state{padding:44px 28px}.app-empty-state-icon{width:68px;height:68px}.overlay-cta{padding:24px 28px;max-width:340px;border-radius:18px}.favorites-toolbar,.history-toolbar,.myshelf-toolbar{position:sticky;top:0;z-index:10;border-radius:14px;padding:12px 20px;margin-bottom:16px}.goal-tag,.concern-tag,.filter-btn.active{padding:7px 14px;font-size:.875rem}.confirm-modal-overlay .confirm-modal,.modal-overlay .modal-content{max-width:480px;border-radius:20px}.dashboard-content{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.dashboard-content .dashboard-section{break-inside:avoid}.dashboard-content .dashboard-activity-section,.dashboard-content .continue-onboarding,.dashboard-content .reminder{grid-column:1 / -1}.dashboard-section.reminder{border-radius:18px;padding:24px}.today-score-card{margin-top:-24px;margin-left:20px;margin-right:20px;border-radius:18px;box-shadow:0 8px 28px #10182814}.scan-upload-zone{border-radius:18px;min-height:220px;padding:32px}.recommendations-page .product-card{border-radius:16px}.favorites-page .favorites-match{padding:4px 12px;font-size:.8rem}.me-profile-avatar{width:80px;height:80px}.routine-builder-page .time-btn{min-height:44px;border-radius:14px}.routine-builder-page .step-card{border-radius:14px;padding:16px}.history-page .history-item{border-radius:14px;padding:14px 18px}.progress-tracking-page .chart-section{padding:20px;border-radius:18px}.progress-tracking-page .milestone-item,.ingredient-page .ingredient-card{border-radius:14px}.blog-page .blog-card{border-radius:18px}.contact-page .form-group input,.contact-page .form-group textarea{border-radius:12px;min-height:46px}.about-page .value-card{border-radius:16px}.notification-center .notification-item{border-radius:14px;padding:14px 18px}.auth-page .auth-card{max-width:440px;margin:40px auto;border-radius:20px}.not-found-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.not-found-actions .not-found-btn{min-width:180px;border-radius:14px}.privacy-page,.terms-page{max-width:680px;margin:0 auto;font-size:.9375rem}.sample-report-page .sample-card,.video-page .video-card{border-radius:18px}.skin-type-page .skin-type-card{border-radius:16px}.comparison-page .comparison-input{border-radius:14px;min-height:46px}.admin-stat-card,.admin-products-table,.admin-users-table{border-radius:16px}.admin-products-table th,.admin-users-table th{padding:12px 16px}}@media (min-width: 769px) and (max-width: 1024px) and (prefers-reduced-motion: reduce){.app-card:hover,.stat-card:hover,.product-card:hover{transform:none}}:root{--primary: #1f5fbf;--primary-hover: #174a95;--primary-light: #e8f0fd;--primary-dark: #153f80;--accent: #4f8ad9;--accent-light: #f2f6fd;--gradient-start: #1f5fbf;--gradient-end: #4f8ad9;--gradient-primary: linear-gradient(135deg, #1f5fbf 0%, #4f8ad9 100%);--gradient-blue: linear-gradient(135deg, #1f5fbf 0%, #6ea1e3 100%);--gradient-glow: linear-gradient(135deg, #6ea1e3 0%, #9bbdef 100%);--success: #1b7f53;--success-light: #e8f7ef;--success-50: #f0fdf4;--success-100: #dcfce7;--success-200: #bbf7d0;--success-600: #059669;--success-700: #15803d;--success-800: #065f46;--warning: #b97710;--warning-light: #fff5e6;--warning-100: #fef3c7;--warning-400: #fbbf24;--warning-600: #d97706;--warning-700: #b45309;--warning-800: #92400e;--warning-900: #78350f;--danger: #b42318;--danger-light: #fdeceb;--danger-50: #fef2f2;--danger-100: #fee2e2;--danger-200: #fecaca;--danger-700: #b91c1c;--danger-800: #991b1b;--info: #1f5fbf;--info-light: #e8f0fd;--primary-50: #eff6ff;--primary-100: #dbeafe;--primary-200: #bfdbfe;--primary-700: #1d4ed8;--pink-100: #fce7f3;--pink-700: #be185d;--purple-100: #f3e8ff;--gray-950: #0a0a0a;--white: #ffffff;--gray-50: #f9fbfd;--gray-100: #f2f5f8;--gray-200: #e4e9ef;--gray-300: #d1d9e4;--gray-400: #97a6ba;--gray-500: #6c7d93;--gray-600: #4e6078;--gray-700: #36485f;--gray-800: #27364c;--gray-900: #162133;--primary-rgb: 31, 95, 191;--accent-rgb: 79, 138, 217;--section-padding-y: 36px;--section-padding-x: var(--spacing-lg, 24px);--section-header-gap: 24px;--bg-primary: var(--white);--bg-secondary: #f6f8fb;--bg-tertiary: #eef2f6;--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-muted: var(--gray-500);--placeholder-color: var(--gray-500);--primary-dark: var(--primary-hover);--secondary: var(--warning);--error: var(--danger);--background: var(--bg-primary);--bg-light: var(--bg-secondary);--bg-white: var(--white);--text-dark: var(--text-primary);--text-gray: var(--text-secondary);--text-light: var(--text-muted);--border: var(--border-color);--shadow: var(--shadow-sm);--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--border-color: var(--gray-200);--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px;--border-radius-full: 9999px;--card-radius: var(--radius-lg, 12px);--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--z-nav: 600;--z-banner: 700;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .04);--shadow-md: 0 2px 8px rgba(16, 24, 40, .06);--shadow-lg: 0 8px 20px rgba(16, 24, 40, .08);--shadow-xl: 0 14px 36px rgba(16, 24, 40, .12);--shadow-glow: 0 0 0 transparent;--shadow-primary: 0 8px 18px -8px rgba(31, 95, 191, .35);--shadow-card: 0 1px 2px rgba(16, 24, 40, .04), 0 3px 8px rgba(16, 24, 40, .05);--shadow-card-hover: 0 4px 14px rgba(16, 24, 40, .08);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-6xl: 3.5rem;--line-height-tight: 1.2;--line-height-snug: 1.35;--line-height-normal: 1.5;--line-height-relaxed: 1.65;--line-height-loose: 1.75;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--max-width-sm: 640px;--max-width-md: 768px;--max-width-lg: 1024px;--max-width-xl: 1280px;--breakpoint-mobile: 768px;--breakpoint-tablet: 1024px;--breakpoint-desktop: 1280px;--bp-xs: 480px;--bp-sm: 600px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px;--focus-ring: 2px solid var(--primary);--focus-ring-offset: 2px;--focus-shadow: 0 0 0 4px rgba(37, 99, 235, .2);--z-index-dropdown: 1000;--z-index-sticky: 100;--z-index-modal: 2000;--z-index-toast: 3000;--z-index-select: 1050;--font-xs: clamp(10px, 2.5vw, 12px);--font-sm: clamp(12px, 3vw, 14px);--font-md: clamp(14px, 3.5vw, 16px);--font-lg: clamp(16px, 4vw, 20px);--font-xl: clamp(20px, 5vw, 28px);--card-padding: 16px;--card-radius: 16px;--card-shadow: 0 2px 8px rgba(0, 0, 0, .06);--card-margin-bottom: 16px;--section-gap: 24px;--section-header-margin: 12px}@media (min-width: 375px){:root{--font-sm: clamp(13px, 3vw, 14px);--font-md: clamp(15px, 3.5vw, 16px)}}@media (min-width: 414px){:root{--font-sm: 14px;--font-md: 16px}}@media (max-width: 320px){:root{--font-scale: .9}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}button,a,input,select,textarea,[role=button]{-webkit-tap-highlight-color:transparent}.product-card,.info-card,.label,.stat-label,.product-name{word-break:normal;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;white-space:normal}.stat-label,.dt-hero-score-label,.dt-hero-mood-label{white-space:nowrap}button.btn-primary,button.btn-secondary,a.btn-primary,a.btn-secondary{min-height:44px;min-width:44px;padding:12px 16px}button.btn-sm,a.btn-sm{padding:8px 14px;min-height:44px}.bottom-nav-item,.bottom-nav-item-center{min-height:44px;min-width:44px}.product-card{display:flex;flex-direction:column;min-width:100px;padding:12px}.product-card .product-name{font-size:clamp(12px,3vw,16px);line-height:1.3;word-break:normal;overflow-wrap:break-word}.bottom-nav{padding-bottom:max(12px,env(safe-area-inset-bottom))}.app-header-card,.app-main .app-page>header,.page-header{padding-top:max(16px,env(safe-area-inset-top))}.section{margin-bottom:var(--section-gap, 24px)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--section-header-margin, 12px)}.section-title{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}@media (max-width: 768px){html,body{-webkit-overflow-scrolling:touch}html{min-height:100dvh;height:100%;width:100%;overflow-x:hidden;min-height:-webkit-fill-available}body{min-height:100dvh;min-height:-webkit-fill-available;width:100%;max-width:100vw;min-width:0;overflow-x:hidden}#root{width:100%;max-width:100vw;min-width:0;overflow-x:hidden}}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-secondary);overflow-x:hidden;overflow-y:auto;word-wrap:break-word;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:var(--font-weight-normal)}#root{min-height:100%;min-height:100dvh}@supports (padding: max(0px)){body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right));padding-bottom:max(0px,env(safe-area-inset-bottom))}}h1,h2,h3,h4,h5{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--text-primary);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--font-size-5xl);font-weight:var(--font-weight-extrabold);line-height:1.1}h2{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:1.15}h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:1.25}h4{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}h5{font-size:var(--font-size-lg)}@media (max-width: 1024px){h1{font-size:var(--font-size-5xl)}h2{font-size:var(--font-size-4xl)}h3{font-size:var(--font-size-2xl)}}@media (max-width: 768px){h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}}@media (max-width: 480px){h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-base)}h5{font-size:var(--font-size-sm)}}@media (max-width: 360px){html{font-size:15px}}p{color:var(--text-secondary);line-height:var(--line-height-relaxed)}li,span{line-height:var(--line-height-relaxed)}a{color:var(--primary);text-decoration:none;transition:color .2s ease;min-height:24px;display:inline-block}a:hover{color:var(--primary-hover)}@media (max-width: 768px){a{min-height:32px;padding:4px 0}}img{max-width:100%;height:auto;display:block}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}button{font-family:inherit;cursor:pointer;border:none;min-height:44px}button:focus{outline:none}button:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);box-shadow:var(--focus-shadow)}a:focus{outline:none}a:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}[tabindex]:not([tabindex="-1"]):focus{outline:none}[tabindex]:not([tabindex="-1"]):focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}input:not([type=checkbox]):not([type=radio]),select{font-family:inherit;font-size:var(--font-size-base);min-height:44px}textarea{font-family:inherit;font-size:var(--font-size-base);min-height:88px}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-shadow)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);border-color:var(--primary);box-shadow:var(--focus-shadow)}@media (max-width: 768px){input,textarea,select{font-size:16px}}.container{max-width:var(--max-width-xl);margin:0 auto;padding:0 var(--spacing-lg)}@media (max-width: 1024px){.container{padding:0 var(--spacing-lg)}}@media (max-width: 768px){.container{padding:0 var(--spacing-md)}}@media (max-width: 480px){.container{padding:0 var(--spacing-md)}}@media (max-width: 768px){.product-grid,.products-grid{grid-template-columns:1fr!important;gap:var(--spacing-lg)}}.card-header,.section-card-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border)}.card-header h2,.card-header h3,.section-card-header h2,.section-card-header h3{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);margin:0}.favorites-search-input,.history-search-input{min-height:44px;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);border:1px solid var(--border);font-size:var(--font-size-base)}.favorites-search-input:focus,.history-search-input:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-shadow)}.search-bar input:focus-visible,.search-input:focus-visible,.favorites-search-input:focus-visible,.history-search-input:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}input[type=checkbox]{width:20px;height:20px;min-width:20px;min-height:20px;accent-color:var(--primary);vertical-align:middle;margin-right:var(--spacing-sm)}.checkbox-group label,.checkbox-label{display:inline-flex;align-items:center;gap:var(--spacing-sm);white-space:nowrap}.checkbox-group input[type=checkbox],.checkbox-label input[type=checkbox]{margin-right:0;flex-shrink:0}@media (max-width: 768px){form .form-group input,form .form-group select,form .form-group textarea,form input,form select,form textarea{width:100%!important;max-width:100%;box-sizing:border-box}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-family);font-weight:600;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;white-space:nowrap;text-decoration:none;min-height:48px;padding:12px 24px;font-size:1rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-sm{min-height:32px;padding:6px 12px;font-size:.875rem;border-radius:var(--radius-md)}.btn-primary{background:var(--gradient-primary);color:var(--white);box-shadow:var(--shadow-primary);border:none;position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1)}.btn-primary:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--gradient-blue);opacity:0;transition:opacity .3s ease}.btn-primary:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn-primary:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 12px 28px -8px #1f5fbf80}.btn-primary:hover:not(:disabled):before{opacity:1}.btn-primary:hover:not(:disabled):after{left:100%}.btn-primary span,.btn-primary svg{position:relative;z-index:1}.btn-primary:active:not(:disabled){transform:translateY(-1px) scale(.99);box-shadow:0 6px 16px -8px #2563eb80}.btn-primary--hero{min-height:56px;padding:18px 40px;font-size:1.1rem;border-radius:var(--radius-xl);box-shadow:0 20px 40px -15px #2563eb80}.btn-primary--hero:hover:not(:disabled){box-shadow:0 25px 50px -15px #2563eb99}.btn-secondary{background:#fff;color:var(--text-primary);border:1px solid var(--border-color);box-shadow:0 2px 4px #0000000a;transition:all .25s cubic-bezier(.4,0,.2,1)}.btn-secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-light);transform:translateY(-2px);box-shadow:0 8px 20px #3b82f61f}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid transparent}.btn-ghost:hover:not(:disabled){background:var(--gray-100);color:var(--text-primary)}.btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primary)}.btn-outline:hover:not(:disabled){background:var(--primary);color:#fff}.btn-icon{display:flex;align-items:center;justify-content:center}.input{width:100%;min-height:52px;padding:14px 18px;font-size:1rem;font-family:var(--font-family);color:var(--text-primary);background:#fff;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0000000a}.input::placeholder{color:var(--gray-400)}.input:hover{border-color:var(--gray-400);box-shadow:0 2px 4px #0000000f}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #1f5fbf1a,0 2px 8px #1f5fbf1a;background:#fafbff}*:focus-visible{outline:2px solid var(--primary);outline-offset:2px}*:focus:not(:focus-visible){outline:none}.card,.stat-card,.product-card,.testimonial-card,.result-card,.step-card,.today-card,.me-twin-card,.today-product-card{transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1)}.card:hover,.product-card:hover,.testimonial-card:hover,.result-card:hover,.step-card:hover,.today-product-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.app-list-item,.me-list-item,[role=listitem]{transition:background .15s ease,color .15s ease}.app-list-item:hover,.me-list-item:hover{background:var(--bg-secondary)}a:not(.btn):not(.bottom-nav-item):not(.app-nav-link):hover{text-decoration-color:currentColor}section{animation:sectionFadeIn .4s ease-out}@keyframes sectionFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}button,[role=button],input[type=checkbox],select{min-height:44px;min-width:44px}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%236c7d93' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:40px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.textarea{min-height:120px;resize:vertical}.form-group{margin-bottom:20px}.form-hint{font-size:.8125rem;color:var(--text-muted);margin-top:6px}.form-error{font-size:.8125rem;color:var(--danger);margin-top:6px}.card{background:var(--bg-white);border-radius:var(--border-radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),border-color .3s ease}@media (max-width: 768px){html{font-size:15px}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.4rem}}@media (max-width: 480px){html{font-size:14px}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 0 0 4px #1f6feb33}.input:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1f6feb26}a:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.card:focus-visible,[role=button]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.skip-link:focus{transform:translateY(0);opacity:1}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto!important}.card:hover,.stat-card:hover,.product-card:hover{transform:none!important}}@media (prefers-contrast: high){:root{--border-color: #000000;--text-primary: #000000;--text-secondary: #0a0a0a;--text-muted: #1a1a1a}body{color:#000}a{color:#00c;text-decoration:underline}.btn-primary,.btn-secondary,.btn-outline,.btn{border:2px solid #000000!important}input,textarea,select,.form-group input,.form-group select,.form-group textarea{border-width:2px!important;border-color:#000!important}.card,.product-card,.stat-card,.notification-item,.consent-modal{border:2px solid #000000!important}*:focus-visible{outline:3px solid #000000!important;outline-offset:2px}}::selection{background-color:var(--primary-light);color:var(--primary)}.loading-spinner{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.loading-spinner__spinner{display:inline-block;border-radius:50%;border-style:solid;border-color:#1f6feb33;border-top-color:var(--primary);animation:spinner-rotate 1s linear infinite}.loading-spinner--small .loading-spinner__spinner{width:16px;height:16px;border-width:2px}.loading-spinner--medium .loading-spinner__spinner{width:24px;height:24px;border-width:3px}.loading-spinner--large .loading-spinner__spinner{width:40px;height:40px;border-width:4px}.loading-spinner__message{color:var(--text-secondary);font-size:var(--font-size-sm)}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-primary .loading-spinner__spinner{border-color:#ffffff59;border-top-color:#fff}.skeleton{background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f8fafc,#e2e8f0 60%,#f1f5f9);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1em;margin-bottom:.5em}.skeleton-text:last-child{width:70%}.skeleton-heading{height:1.5em;width:60%;margin-bottom:1em}.skeleton-avatar{width:48px;height:48px;border-radius:50%}.skeleton-avatar--lg{width:80px;height:80px}.skeleton-card{background:#fff;border-radius:var(--radius-xl);padding:24px;border:1px solid var(--border-color)}.skeleton-card__image{height:180px;margin-bottom:16px;border-radius:var(--radius-lg)}.skeleton-card__content{display:flex;flex-direction:column;gap:8px}.skeleton-stat{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px}.skeleton-stat__icon{width:56px;height:56px;border-radius:var(--radius-lg)}.skeleton-stat__value{width:60%;height:2rem}.skeleton-stat__label{width:80%;height:1rem}.skeleton-button{height:48px;width:140px;border-radius:var(--radius-lg)}.skeleton-input{height:52px;border-radius:var(--radius-lg)}.skeleton-row{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--border-color)}.skeleton-row>.skeleton{flex:1;height:1.25rem}.skeleton-chart{height:300px;border-radius:var(--radius-lg)}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}body:before,body:after,#root:before,#root:after{content:none!important;display:none!important}.card{background:var(--bg-white);border-radius:12px;box-shadow:0 1px 3px #0000001a;border:1px solid var(--border-color)}html{scroll-behavior:smooth}*:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}@media (max-width: 768px){.btn-primary,.btn-secondary,.app-nav-mobile-link{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.app-nav-mobile-link{display:flex}}button,a,input,select,textarea{transition:all .2s cubic-bezier(.4,0,.2,1)}.loading,.loading *{cursor:wait!important}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}img{opacity:0;transition:opacity .3s ease-in-out}img.loaded,img[src]{opacity:1}#root{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}::selection{background:var(--primary-light);color:var(--primary)}::-moz-selection{background:var(--primary-light);color:var(--primary)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*{-webkit-tap-highlight-color:transparent}@media (hover: none) and (pointer: coarse){button,a,.btn-primary,.btn-secondary{min-height:48px;min-width:48px}input[type=checkbox]{min-width:24px;min-height:24px}.card:hover,.btn-primary:hover,.btn-secondary:hover{transform:none}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.page-content{animation:fadeInUp .4s ease-out}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{.app-header,.app-nav,.app-breadcrumbs,.app-footer,.skip-link,.back-to-top,.toast-container,[aria-label=Notifications],button:not(.print-show),.app-nav-cta,.app-nav-mobile,.app-nav-user-dropdown{display:none!important}body{background:#fff;color:#111}.app-main{padding:0}a[href]:after{content:" (" attr(href) ")";font-size:.85em;color:#666}img{max-width:100%!important;page-break-inside:avoid}.card{box-shadow:none;border:1px solid #ddd;page-break-inside:avoid}}html{overflow-x:hidden}body{max-width:100%;overflow-x:hidden}p,li,span,.page-container{word-wrap:break-word;overflow-wrap:break-word}@media (max-width: 768px){.btn-primary,.btn-secondary,.btn-outline,.back-button,.back-to-top,button:not([type=checkbox]):not([type=radio]),.app-nav a,.skip-link{min-height:44px;min-width:44px;padding-top:10px;padding-bottom:10px}button.inline-icon,.back-button{min-width:44px}}
