:root{--primary: #0F172A;--secondary: #3B82F6;--accent: #8B5CF6;--color-neon-blue: #00D4FF;--success: #10B981;--warning: #F59E0B;--danger: #EF4444;--gray-50: #F8FAFC;--gray-100: #F1F5F9;--gray-200: #E2E8F0;--gray-400: #94A3B8;--gray-600: #475569;--gray-800: #1E293B;--bg-main: #FFFFFF;--bg-alt: var(--gray-50);--surface: #fcf8fa;--surface-dim: #dcd9db;--surface-container: #f0edef;--surface-base: #FFFFFF;--surface-canvas: var(--gray-50);--surface-card-subtle: #FFFFFF;--surface-card: #FFFFFF;--card-bg: #FFFFFF;--modal-bg: #FFFFFF;--border-slate: var(--gray-200);--border-slate-subtle: var(--gray-100);--border-hover: var(--gray-400);--border-accent: var(--secondary);--text-primary: #0F172A;--text-secondary: #475569;--text-muted: #94A3B8;--badge-stock-in-bg: #dcfce7;--badge-stock-in-border: #bbf7d0;--badge-stock-in-text: #166534;--badge-stock-in-dot: #10B981;--badge-stock-low-bg: #fef9c3;--badge-stock-low-border: #fef08a;--badge-stock-low-text: #854d0e;--badge-stock-out-bg: #fee2e2;--badge-stock-out-border: #fecaca;--badge-stock-out-text: #991b1b;--font-heading: "Barlow Condensed", sans-serif;--font-body: "Inter", sans-serif;--text-h1: 3.5rem;--text-h2: 2.5rem;--text-h3: 1.5rem;--text-lg: 1.125rem;--text-md: 1rem;--text-sm: .875rem;--text-xs: .75rem;--leading-h1: 4rem;--leading-h2: 3rem;--leading-h3: 2rem;--leading-lg: 1.75rem;--leading-md: 1.5rem;--leading-sm: 1.25rem;--leading-xs: 1rem;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--container-max: 1280px;--gutter-mobile: 1rem;--gutter-desktop: 2rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--transition-fast: .15s ease-in-out;--transition-normal: .2s ease-in-out;--transition-slow: .3s ease-in-out;--z-base: 0;--z-dropdown: 1000;--z-sticky: 1100;--z-modal-backdrop: 1200;--z-modal: 1300;--z-toast: 1400;--z-tooltip: 1500}@media (max-width: 767px){:root{--text-h1: 2.5rem;--text-h2: 2rem;--text-h3: 1.25rem;--leading-h1: 3rem;--leading-h2: 2.5rem;--leading-h3: 1.75rem}}html.dark,:root.dark{--surface-base: #0B0F19;--surface-canvas: #0F172A;--surface-card-subtle: #162032;--surface-card: #1E293B;--bg-main: #0B0F19;--bg-alt: #0F172A;--surface: #0F172A;--surface-dim: #0B0F19;--surface-container: #162032;--card-bg: #162032;--modal-bg: #1E293B;--primary: #F8FAFC;--text-primary: #F8FAFC;--text-secondary: #E2E8F0;--text-muted: #94A3B8;--gray-50: #0F172A;--gray-100: #1E293B;--gray-200: #334155;--gray-400: #94A3B8;--gray-600: #CBD5E1;--gray-800: #F8FAFC;--secondary: #3B82F6;--secondary-hover: #60A5FA;--secondary-glow: rgba(59, 130, 246, .4);--accent: #A855F7;--accent-hover: #C084FC;--border-slate: #334155;--border-slate-subtle: #1E293B;--border-hover: #475569;--border-accent: #3B82F6;--badge-stock-in-bg: #064E3B;--badge-stock-in-border: #059669;--badge-stock-in-text: #34D399;--badge-stock-in-dot: #10B981;--badge-stock-low-bg: #78350F;--badge-stock-low-border: #D97706;--badge-stock-low-text: #FBBF24;--badge-stock-out-bg: #7F1D1D;--badge-stock-out-border: #DC2626;--badge-stock-out-text: #F87171;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5);--shadow-md: 0 4px 12px rgba(0, 0, 0, .6);--shadow-lg: 0 12px 28px rgba(0, 0, 0, .75)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-gutter:stable}body{font-family:var(--font-body);font-size:var(--text-md);line-height:var(--leading-md);font-weight:var(--weight-normal);color:var(--primary);background-color:var(--bg-main);min-height:100dvh}#app{min-height:100vh;display:flex;flex-direction:column}#app-main{flex:1;display:flex;flex-direction:column}.container{max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--gutter-mobile);padding-right:var(--gutter-mobile)}@media (min-width: 1024px){.container{padding-left:var(--gutter-desktop);padding-right:var(--gutter-desktop)}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-600)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-col{display:flex;flex-direction:column}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}:focus-visible{outline:2px solid var(--secondary);outline-offset:2px;border-radius:var(--radius-sm)}html.dark ::-webkit-scrollbar-track{background:var(--surface-canvas, #0F172A)}html.dark ::-webkit-scrollbar-thumb{background:var(--border-slate, #334155)}html.dark ::-webkit-scrollbar-thumb:hover{background:var(--border-hover, #475569)}html.dark ::-moz-selection{background:#3b82f659;color:#f8fafc}html.dark ::selection{background:#3b82f659;color:#f8fafc}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--weight-extrabold);line-height:1.2;color:var(--primary)}h1{font-size:var(--text-h1);line-height:var(--leading-h1)}h2{font-size:var(--text-h2);line-height:var(--leading-h2)}h3{font-size:var(--text-h3);line-height:var(--leading-h3)}p{margin-bottom:var(--space-4)}p:last-child{margin-bottom:0}.text-lead{font-size:var(--text-lg);line-height:var(--leading-lg);color:var(--gray-600)}.text-muted{color:var(--gray-400);font-size:var(--text-sm)}.text-label{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.08em;color:var(--gray-600)}a{color:var(--secondary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent)}strong,b{font-weight:var(--weight-bold)}em,i{font-style:italic}code,kbd,pre{font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,DejaVu Sans Mono,monospace;font-size:.9em}code{background-color:var(--gray-100);padding:.1em .3em;border-radius:var(--radius-sm)}:root{--bp-xs: 480px;--bp-sm: 480px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px}@media (max-width: 767px){.hide-mobile{display:none!important}.show-mobile{display:revert!important}}@media (min-width: 768px) and (max-width: 1023px){.hide-tablet{display:none!important}}@media (min-width: 1024px){.hide-desktop,.show-mobile{display:none!important}}.show-mobile-only{display:none}@media (max-width: 767px){.show-mobile-only{display:revert!important}}@media (max-width: 767px){.px-mobile{padding-left:var(--gutter-mobile)!important;padding-right:var(--gutter-mobile)!important}}@media (min-width: 1024px){.px-desktop{padding-left:var(--gutter-desktop)!important;padding-right:var(--gutter-desktop)!important}}@media (max-width: 767px){.with-announcement-bar{scroll-padding-top:calc(var(--navbar-height, 72px) + 36px)}}.hero-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;z-index:1;pointer-events:none}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(#0f172aa6,#0f172ae0);z-index:2;pointer-events:none}@media (prefers-reduced-motion: reduce){.hero-video{display:none}}.announcement-bar{background-color:var(--primary);color:#fff;text-align:center;padding:var(--space-2) var(--space-4);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:.03em;position:sticky;top:0;z-index:10}#app-navbar{position:sticky;top:0;z-index:var(--z-sticky);background:var(--bg-main)}.navbar-inner{height:72px;max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter-mobile);display:flex;align-items:center;gap:var(--space-8);border-bottom:1px solid var(--gray-200)}@media (min-width: 1024px){.navbar-inner{padding:0 var(--gutter-desktop)}}.navbar-brand-group{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.navbar-logo{font-family:var(--font-heading);font-size:1.375rem;font-weight:var(--weight-extrabold);letter-spacing:.06em;color:var(--primary);text-decoration:none;flex-shrink:0;white-space:nowrap;transition:opacity var(--transition-fast)}.navbar-logo:hover{color:var(--primary);opacity:.75}.theme-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:var(--radius-md);border:1px solid var(--gray-200);background:var(--bg-alt);color:var(--gray-800);cursor:pointer;flex-shrink:0;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.theme-toggle-btn:hover{border-color:var(--secondary);background:var(--gray-100);color:var(--secondary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.theme-toggle-btn:active{transform:scale(.92)}.theme-toggle-btn:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}.theme-toggle-btn .theme-icon-sun{display:none}.theme-toggle-btn .theme-icon-moon,html.dark .theme-toggle-btn .theme-icon-sun{display:block}html.dark .theme-toggle-btn .theme-icon-moon{display:none}.navbar-links{display:flex;align-items:center;gap:var(--space-8);flex:1;justify-content:center}.navbar-link{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:.02em;color:var(--gray-800);text-decoration:none;position:relative;padding-bottom:2px;white-space:nowrap;transition:color var(--transition-fast)}.navbar-link:hover{color:var(--secondary)}.navbar-link--active{color:var(--primary)}.navbar-link--active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--secondary);border-radius:var(--radius-full)}.navbar-cart-link{display:inline-flex;align-items:center;gap:var(--space-2)}.cart-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 var(--space-1);background:var(--secondary);color:#fff;font-size:.7rem;font-weight:var(--weight-bold);border-radius:var(--radius-full);line-height:1;transition:transform var(--transition-fast),background var(--transition-fast)}.cart-badge--hidden{display:none}.navbar-auth{display:flex;align-items:center;gap:var(--space-4);flex-shrink:0}.navbar-auth-link{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:.02em;color:var(--gray-800);text-decoration:none;transition:color var(--transition-fast)}.navbar-auth-link:hover{color:var(--secondary)}.navbar-auth-btn{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-6);background:var(--primary);color:#fff;font-family:var(--font-heading);font-size:.8125rem;font-weight:var(--weight-extrabold);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-radius:var(--radius-md);transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.navbar-auth-btn:hover{background:var(--gray-800);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-md)}.navbar-user-menu{position:relative}.navbar-avatar-btn{display:flex;align-items:center;gap:var(--space-2);background:none;border:none;cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);transition:background var(--transition-fast);line-height:1}.navbar-avatar-btn:hover{background:var(--gray-100)}.navbar-avatar{width:2rem;height:2rem;border-radius:var(--radius-full);overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;flex-shrink:0}.navbar-avatar-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.navbar-avatar-initials{font-family:var(--font-heading);font-size:.75rem;font-weight:var(--weight-extrabold);letter-spacing:.05em;line-height:1}.navbar-user-name{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--gray-800);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-chevron{color:var(--gray-400);flex-shrink:0;transition:transform var(--transition-fast)}.navbar-user-menu[data-state=open] .navbar-chevron{transform:rotate(180deg)}.navbar-dropdown{display:none;position:absolute;top:calc(100% + var(--space-2));right:0;min-width:180px;background:var(--bg-main);border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);overflow:hidden;animation:navDropdownIn var(--transition-fast) ease-out}.navbar-user-menu[data-state=open] .navbar-dropdown{display:block}.navbar-dropdown-item{display:block;width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--gray-800);text-decoration:none;background:none;border:none;cursor:pointer;text-align:left;white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast)}.navbar-dropdown-item:hover{background:var(--gray-100);color:var(--primary)}.navbar-dropdown-divider{border:none;border-top:1px solid var(--gray-200);margin:var(--space-1) 0}.navbar-dropdown-logout{color:var(--danger)}.navbar-dropdown-logout:hover{background:#fef2f2;color:var(--danger)}.navbar-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:2.5rem;height:2.5rem;background:none;border:none;cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);margin-left:auto;transition:background var(--transition-fast);flex-shrink:0}.navbar-hamburger:hover{background:var(--gray-100)}.navbar-hamburger span{display:block;width:100%;height:2px;background:var(--primary);border-radius:var(--radius-full);transition:transform var(--transition-normal),opacity var(--transition-normal)}@media (max-width: 767px){.navbar-links,.navbar-auth{display:none}.navbar-hamburger{display:flex}}.navbar-mobile-drawer{display:none;flex-direction:column;background:var(--bg-main);border-bottom:1px solid var(--gray-200);padding:var(--space-3) var(--space-4);gap:var(--space-1);box-shadow:var(--shadow-md);animation:navMobileIn var(--transition-normal) ease-out}.navbar-mobile-drawer--open{display:flex}.navbar-mobile-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--gray-800);text-decoration:none;border-radius:var(--radius-md);background:none;border:none;cursor:pointer;width:100%;text-align:left;transition:background var(--transition-fast),color var(--transition-fast)}.navbar-mobile-link:hover{background:var(--gray-100);color:var(--secondary)}.navbar-mobile-link--active{color:var(--primary);background:var(--gray-100)}.navbar-mobile-logout{color:var(--danger);margin-top:var(--space-2);border-top:1px solid var(--gray-200);padding-top:calc(var(--space-2) + var(--space-3))}.navbar-mobile-logout:hover{background:#fef2f2;color:var(--danger)}.navbar-mobile-theme-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4);margin-top:var(--space-3);border-top:1px solid var(--gray-200)}.navbar-mobile-theme-label{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--gray-800)}html.dark #app-navbar{background:var(--surface-canvas, #0F172A);border-bottom:1px solid #334155}html.dark .navbar-inner{border-bottom-color:#334155}html.dark .navbar-logo{color:#f8fafc}html.dark .navbar-link{color:#cbd5e1}html.dark .navbar-link:hover{color:var(--secondary)}html.dark .navbar-link--active{color:#f8fafc}html.dark .theme-toggle-btn{background:#162032;border-color:#334155;color:#f8fafc}html.dark .theme-toggle-btn:hover{background:#1e293b;border-color:#3b82f6;color:#60a5fa;box-shadow:0 0 12px #3b82f64d}html.dark .navbar-dropdown{background:#1e293b;border-color:#475569;box-shadow:0 10px 25px #0009}html.dark .navbar-dropdown-item{color:#e2e8f0}html.dark .navbar-dropdown-item:hover{background:#162032;color:#f8fafc}html.dark .navbar-dropdown-divider{border-color:#334155}html.dark .navbar-mobile-drawer{background:#0f172a;border-bottom-color:#334155}html.dark .navbar-mobile-link{color:#e2e8f0}html.dark .navbar-mobile-link:hover{background:#162032;color:#f8fafc}html.dark .navbar-mobile-theme-row{border-top-color:#334155}html.dark .navbar-mobile-theme-label{color:#e2e8f0}html.dark .navbar-hamburger span{background:#f8fafc}html.dark .navbar-auth-link{color:#cbd5e1}html.dark .navbar-auth-link:hover{color:var(--secondary, #3B82F6)}html.dark .navbar-auth-btn{background:var(--secondary, #3B82F6);border:1px solid var(--secondary, #3B82F6);color:#fff;box-shadow:0 0 14px #3b82f659}html.dark .navbar-auth-btn:hover{background:var(--secondary-hover, #60A5FA);border-color:var(--secondary-hover, #60A5FA);color:#fff;box-shadow:0 0 20px #3b82f680;transform:translateY(-1px)}html.dark .navbar-avatar-btn:hover{background:#162032}html.dark .navbar-avatar{background:var(--secondary, #3B82F6);color:#fff}html.dark .navbar-user-name{color:#f8fafc}#app-footer{background:var(--primary);color:#ffffffde;margin-top:auto}.footer-inner{max-width:var(--container-max);margin:0 auto;padding:var(--space-12) var(--gutter-mobile);display:grid;grid-template-columns:1fr;gap:var(--space-8)}@media (min-width: 768px){.footer-inner{grid-template-columns:1.4fr 2fr 1fr;gap:var(--space-12)}}@media (min-width: 1024px){.footer-inner{padding:var(--space-12) var(--gutter-desktop)}}.footer-logo{display:inline-block;font-family:var(--font-heading);font-size:1.25rem;font-weight:var(--weight-extrabold);letter-spacing:.08em;color:#fff;text-decoration:none;margin-bottom:var(--space-3);transition:opacity var(--transition-fast)}.footer-logo:hover{color:#fff;opacity:.75}.footer-tagline{font-family:var(--font-body);font-size:var(--text-sm);color:#ffffff80;line-height:var(--leading-md);margin:0}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}@media (max-width: 480px){.footer-links{grid-template-columns:1fr 1fr}}.footer-link-group{display:flex;flex-direction:column;gap:var(--space-3)}.footer-group-heading{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--weight-extrabold);letter-spacing:.12em;text-transform:uppercase;color:#fff;margin:0 0 var(--space-1);line-height:var(--leading-sm)}.footer-link{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-normal);color:#ffffff8c;text-decoration:none;line-height:var(--leading-sm);transition:color var(--transition-fast)}.footer-link:hover{color:#fff}.footer-contact{display:flex;flex-direction:column;gap:var(--space-3)}.footer-materials{font-family:var(--font-body);font-size:var(--text-sm);color:#ffffff8c;line-height:var(--leading-md);letter-spacing:.04em;margin:0}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:var(--space-4) var(--gutter-mobile);display:flex;align-items:center;justify-content:center;max-width:var(--container-max);margin:0 auto}@media (min-width: 1024px){.footer-bottom{padding:var(--space-4) var(--gutter-desktop)}}.footer-bottom span{font-family:var(--font-body);font-size:var(--text-sm);color:#ffffff59}#app-footer>.footer-bottom{max-width:100%;padding:var(--space-4) calc((100% - min(100%,var(--container-max))) / 2 + var(--gutter-mobile))}@media (min-width: 1024px){#app-footer>.footer-bottom{padding:var(--space-4) calc((100% - min(100%,var(--container-max))) / 2 + var(--gutter-desktop))}}.auth-page{min-height:calc(100vh - 72px);display:flex;align-items:center;justify-content:center;padding:var(--space-8) var(--gutter-mobile);background-color:var(--bg-alt)}.auth-card{width:100%;max-width:460px;background:var(--bg-main);border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-6)}@media (min-width: 480px){.auth-card{padding:var(--space-12)}}.auth-title{font-family:var(--font-heading);font-size:var(--text-h2);font-weight:var(--weight-extrabold);line-height:var(--leading-h2);color:var(--primary);margin:0;letter-spacing:-.01em}.auth-subtitle{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-normal);color:var(--gray-600);margin:calc(var(--space-1) * -1) 0 0;line-height:var(--leading-md)}.auth-error{background-color:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);color:var(--danger);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);padding:var(--space-3) var(--space-4);line-height:var(--leading-md)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-label{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--gray-800);line-height:var(--leading-sm)}.form-input{width:100%;padding:var(--space-3) var(--space-4);background-color:var(--gray-100);color:var(--gray-800);border:1px solid var(--gray-200);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-md);font-weight:var(--weight-normal);line-height:var(--leading-md);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input::-moz-placeholder{color:var(--gray-400)}.form-input::placeholder{color:var(--gray-400)}.form-input:focus{background-color:var(--bg-main);border-color:var(--secondary);box-shadow:0 0 0 3px #3b82f626}.form-input--error{border-color:var(--danger);background-color:#fef2f2}.form-field-error{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--danger);line-height:var(--leading-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-heading);font-size:.9375rem;font-weight:var(--weight-extrabold);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:none;border-radius:var(--radius-md);cursor:pointer;outline:none;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast);white-space:nowrap;-webkit-font-smoothing:antialiased}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--gray-800);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary[disabled]{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.auth-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-1) 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--gray-200)}.auth-divider span{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--gray-400);text-transform:uppercase;letter-spacing:.08em;flex-shrink:0}.sso-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-main);color:var(--gray-800);border:1px solid var(--gray-200);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);-webkit-font-smoothing:antialiased}.sso-btn:hover{background:var(--gray-100);border-color:var(--gray-400);color:var(--gray-800);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.sso-btn:active{transform:translateY(0);box-shadow:none}.sso-btn:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}.sso-btn svg{flex-shrink:0;width:20px;height:20px}.auth-switch{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-normal);color:var(--gray-600);text-align:center;line-height:var(--leading-sm);margin:0}.auth-switch-link{color:var(--secondary);font-weight:var(--weight-semibold);text-decoration:none;transition:color var(--transition-fast)}.auth-switch-link:hover{color:var(--accent);text-decoration:underline}.form-row{display:flex;gap:var(--space-4)}.form-row>.form-group{flex:1;min-width:0}@media (max-width: 480px){.form-row{flex-direction:column;gap:var(--space-4)}}.password-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.password-input-wrapper .form-input{width:100%;padding-right:42px}.password-toggle-btn{position:absolute;right:8px;background:none;border:none;cursor:pointer;padding:6px;color:var(--gray-400);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:color var(--transition-fast)}.password-toggle-btn:hover{color:var(--gray-800)}.password-toggle-btn svg{width:18px;height:18px}.password-checklist{list-style:none;padding:var(--space-3) var(--space-4);margin:var(--space-1) 0 0 0;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-2)}.password-checklist-title{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--gray-800);line-height:var(--leading-sm);margin-bottom:var(--space-1)}.checklist-item{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--gray-600);transition:color var(--transition-fast)}.checklist-item-icon{width:16px;height:16px;flex-shrink:0;stroke:var(--gray-400);stroke-width:2.2;transition:stroke var(--transition-fast)}.checklist-item.is-met{color:var(--success);font-weight:var(--weight-medium)}.checklist-item.is-met .checklist-item-icon{stroke:var(--success)}@keyframes navDropdownIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes navMobileIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}:root{--cw-width: 380px;--cw-height: 560px;--cw-fab-size: 56px;--cw-fab-bottom: 24px;--cw-fab-right: 24px;--cw-panel-gap: 12px;--cw-shadow: 0 8px 40px rgba(0, 0, 0, .16)}.cw-fab,#cw-fab{position:fixed;bottom:var(--cw-fab-bottom);right:var(--cw-fab-right);width:var(--cw-fab-size);height:var(--cw-fab-size);border-radius:var(--radius-full);background:var(--accent);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--cw-shadow);z-index:calc(var(--z-modal) + 10);transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease;outline:none}.cw-fab:hover,#cw-fab:hover{background:#7c3aed;transform:scale(1.06);box-shadow:0 12px 48px #00000038}.cw-fab:active,#cw-fab:active{transform:scale(.97)}.cw-fab:focus-visible,#cw-fab:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.cw-fab-icon{position:absolute;width:24px;height:24px;transition:opacity .18s ease,transform .2s ease}.cw-fab-icon--chat{opacity:1;transform:rotate(0) scale(1)}.cw-fab-icon--close{opacity:0;transform:rotate(-90deg) scale(.7)}.cw-fab--open .cw-fab-icon--chat{opacity:0;transform:rotate(90deg) scale(.7)}.cw-fab--open .cw-fab-icon--close{opacity:1;transform:rotate(0) scale(1)}.cw-unread{position:absolute;top:-3px;right:-3px;background:var(--danger);color:#fff;border-radius:var(--radius-full);font-size:10px;font-weight:700;min-width:18px;height:18px;padding:0 5px;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-main);opacity:0;transform:scale(0);transition:opacity .2s ease,transform .2s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.cw-unread--visible{opacity:1;transform:scale(1)}.cw-panel{position:fixed;bottom:calc(var(--cw-fab-bottom) + var(--cw-fab-size) + var(--cw-panel-gap));right:var(--cw-fab-right);width:var(--cw-width);height:var(--cw-height);background:var(--bg-main);border:1px solid var(--gray-200);border-radius:var(--radius-xl);box-shadow:var(--cw-shadow);z-index:calc(var(--z-modal) + 9);display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;transform:scale(.92) translateY(12px);transform-origin:bottom right;pointer-events:none;transition:opacity .18s ease-in,transform .18s ease-in,visibility .18s ease-in}.cw-panel--open{opacity:1;visibility:visible;transform:scale(1) translateY(0);pointer-events:all;transition:opacity .22s cubic-bezier(.16,1,.3,1),transform .22s cubic-bezier(.16,1,.3,1)}.cw-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--primary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;flex-shrink:0}.cw-header-left{display:flex;align-items:center;gap:12px}.cw-avatar{width:36px;height:36px;background:#ffffff1f;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.cw-title{color:#fff;font-size:14px;font-weight:700}.cw-subtitle{color:#ffffff8c;font-size:11px;margin-top:1px;display:flex;align-items:center;gap:4px}.cw-online-dot{width:6px;height:6px;background:#4ade80;border-radius:50%;display:inline-block}.cw-close{background:none;border:none;color:#fff9;cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:color .14s ease,background .14s ease}.cw-close:hover{color:#fff;background:#ffffff1a}.cw-messages{flex:1;overflow-y:auto;padding:16px 16px 8px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}.cw-messages::-webkit-scrollbar{width:4px}.cw-messages::-webkit-scrollbar-track{background:transparent}.cw-messages::-webkit-scrollbar-thumb{background:var(--gray-200);border-radius:2px}.cw-msg{display:flex;flex-direction:column;max-width:88%;animation:cwMsgIn .2s cubic-bezier(.16,1,.3,1) both}@keyframes cwMsgIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cw-msg--user{align-self:flex-end;align-items:flex-end}.cw-msg--assistant,.cw-msg--error{align-self:flex-start;align-items:flex-start}.cw-bubble{padding:10px 14px;font-size:13px;line-height:1.55;word-break:break-word}.cw-msg--user .cw-bubble{background:var(--primary);color:#fff;border-radius:18px 18px 4px}.cw-msg--assistant .cw-bubble{background:var(--gray-50);color:var(--primary);border-radius:18px 18px 18px 4px;border:1px solid var(--gray-100)}.cw-msg--error .cw-bubble{background:#fff5f5;color:#c00;border:1px solid #fdd;border-radius:var(--radius-lg);font-size:12px}.cw-time{font-size:10px;color:var(--gray-400);margin-top:3px;padding:0 4px}.cw-msg--tool{align-self:flex-start;max-width:88%}.cw-tool-call{font-size:11px;color:var(--gray-600);background:var(--bg-main);border:1px solid var(--gray-100);border-radius:8px;padding:6px 10px;display:flex;align-items:center;gap:6px;animation:cwMsgIn .2s ease both}.cw-spinner{width:12px;height:12px;border:1.5px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:cwSpin .7s linear infinite;flex-shrink:0}@keyframes cwSpin{to{transform:rotate(360deg)}}.cw-msg--typing .cw-bubble{background:var(--gray-50);border:1px solid var(--gray-100);border-radius:18px 18px 18px 4px;padding:12px 16px;display:flex;gap:4px;align-items:center}.cw-typing-dot{width:6px;height:6px;background:var(--gray-400);border-radius:50%;animation:cwTypingPulse 1.2s ease-in-out infinite}.cw-typing-dot:nth-child(2){animation-delay:.2s}.cw-typing-dot:nth-child(3){animation-delay:.4s}@keyframes cwTypingPulse{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.cw-suggestions{padding:0 16px 8px;display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}.cw-chip{background:var(--bg-main);border:1px solid var(--gray-200);border-radius:var(--radius-full);padding:6px 12px;font-size:12px;font-weight:500;color:var(--primary);cursor:pointer;white-space:nowrap;transition:background .14s ease,border-color .14s ease}.cw-chip:hover{background:var(--gray-50);border-color:var(--gray-400)}.cw-chip:active{background:var(--gray-100)}.cw-input-area{border-top:1px solid var(--gray-200);padding:12px 16px;display:flex;gap:8px;align-items:flex-end;background:var(--bg-main);flex-shrink:0}.cw-input{flex:1;background:var(--gray-50);border:1px solid transparent;border-radius:var(--radius-lg);padding:10px 14px;font-size:13px;font-family:var(--font-body);color:var(--primary);resize:none;min-height:40px;max-height:100px;line-height:1.5;outline:none;transition:border-color .14s ease}.cw-input:focus{border-color:var(--gray-200);background:var(--bg-main)}.cw-input::-moz-placeholder{color:var(--gray-400)}.cw-input::placeholder{color:var(--gray-400)}.cw-send{width:38px;height:38px;background:var(--primary);border:none;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .16s ease,transform .12s ease}.cw-send:hover{opacity:.85}.cw-send:active{transform:scale(.94)}.cw-send:disabled{opacity:.3;cursor:not-allowed}.cw-footer{padding:6px 16px 8px;text-align:center;font-size:10px;color:var(--gray-400);border-top:1px solid var(--gray-50);background:var(--bg-main);flex-shrink:0}@media (max-width: 768px){.cw-fab,#cw-fab{bottom:80px;right:16px}.cw-panel{position:fixed;top:0;left:0;width:100%;height:100dvh;border-radius:0;border:none;bottom:auto;right:auto;transform:translateY(100%);opacity:1;transform-origin:bottom center;transition:transform .28s cubic-bezier(.16,1,.3,1)}.cw-panel--open{transform:translateY(0)}.cw-header{border-radius:0}.cw-messages{padding:16px}}@media (prefers-reduced-motion: reduce){.cw-panel,.cw-panel--open,.cw-fab,#cw-fab,.cw-msg,.cw-fab-icon,.cw-unread{transition:opacity .1s ease!important;transform:none!important;animation:none!important}.cw-typing-dot,.cw-spinner{animation:none!important}}.contact-page{max-width:1140px;margin:0 auto;padding:var(--space-10) var(--space-4) var(--space-16)}.contact-header{text-align:center;margin-bottom:var(--space-10)}.contact-title{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3rem);font-weight:var(--weight-extrabold);text-transform:uppercase;color:var(--primary);margin-bottom:var(--space-2)}.contact-subtitle{font-size:var(--text-base);color:var(--gray-600);max-width:600px;margin:0 auto}.contact-grid{display:grid;grid-template-columns:minmax(320px,1fr) 2fr;gap:var(--space-8);align-items:start}@media (max-width: 1024px){.contact-grid{grid-template-columns:1fr}}.contact-sidebar{display:flex;flex-direction:column;gap:var(--space-6)}.contact-info-card{background:var(--bg-card, #ffffff);border:1px solid var(--gray-200);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm)}.contact-card-title{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--weight-extrabold);text-transform:uppercase;color:var(--primary);margin-bottom:var(--space-4);letter-spacing:.04em}.contact-info-list{display:flex;flex-direction:column;gap:var(--space-4)}.contact-info-item{display:flex;gap:var(--space-3);align-items:flex-start}.contact-info-icon{width:22px;height:22px;color:var(--accent);flex-shrink:0;margin-top:2px}.contact-info-content{display:flex;flex-direction:column}.contact-info-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500);font-weight:700;margin-bottom:2px}.contact-info-val{font-size:var(--text-sm);color:var(--gray-800);font-weight:500;text-decoration:none}.contact-info-val[href]:hover{color:var(--accent);text-decoration:underline}.contact-ai-card{background:linear-gradient(135deg,#8b5cf614,#3b82f60d);border:1px solid rgba(139,92,246,.25);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm)}.contact-ai-badge{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--accent);color:#fff;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-3)}.contact-ai-desc{font-size:var(--text-sm);color:var(--gray-700);line-height:1.5;margin-bottom:var(--space-5)}.contact-form-card{background:var(--bg-card, #ffffff);border:1px solid var(--gray-200);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-sm)}.contact-form-title{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--weight-extrabold);text-transform:uppercase;color:var(--primary);margin-bottom:var(--space-1)}.contact-form-subtitle{font-size:var(--text-sm);color:var(--gray-600);margin-bottom:var(--space-6)}.contact-success-card{text-align:center;padding:var(--space-10) var(--space-6)}.contact-success-icon{width:56px;height:56px;color:var(--success, #16A34A);margin:0 auto var(--space-4);background:#16a34a1a;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.faq-page{width:100%;background:var(--bg-main);padding-bottom:var(--space-16)}.help-hero{padding:var(--space-12) var(--space-4) var(--space-8);text-align:center;background:linear-gradient(180deg,rgba(139,92,246,.06) 0%,transparent 100%)}.help-hero-title{font-family:var(--font-heading);font-size:clamp(2.2rem,5vw,3.5rem);font-weight:var(--weight-extrabold);text-transform:uppercase;color:var(--primary);margin-bottom:var(--space-2)}.help-hero-subtitle{font-size:var(--text-base);color:var(--gray-600);max-width:600px;margin:0 auto var(--space-6)}.help-search-container{max-width:640px;margin:0 auto var(--space-4);position:relative}.help-search-input-wrap{position:relative;display:flex;align-items:center}.help-search-input{width:100%;padding:14px 44px 14px 48px;font-size:16px;border:2px solid var(--gray-200);border-radius:var(--radius-full);background:var(--bg-card, #ffffff);box-shadow:var(--shadow-sm);outline:none;transition:border-color .2s,box-shadow .2s;color:var(--gray-900)}.help-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #8b5cf626}.help-search-icon{position:absolute;left:18px;pointer-events:none;color:var(--gray-400);width:20px;height:20px}.help-clear-btn{position:absolute;right:16px;background:none;border:none;cursor:pointer;color:var(--gray-400);display:flex;align-items:center;justify-content:center;padding:4px}.help-clear-btn:hover{color:var(--gray-700)}.recommend-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin-top:var(--space-4)}.recommend-chip{padding:6px 16px;border-radius:var(--radius-full);border:1px solid var(--gray-300);background:var(--bg-card, #ffffff);font-size:var(--text-sm);font-weight:600;color:var(--gray-700);cursor:pointer;transition:all .15s ease}.recommend-chip:hover{border-color:var(--accent);color:var(--accent)}.recommend-chip--active{background:var(--accent);color:#fff!important;border-color:var(--accent)}.articles-results-section{max-width:900px;margin:var(--space-8) auto var(--space-10);padding:0 var(--space-4)}.articles-results-header{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--weight-extrabold);text-transform:uppercase;color:var(--primary);margin-bottom:var(--space-4);letter-spacing:.04em}.articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:var(--space-4)}@media (max-width: 640px){.articles-grid{grid-template-columns:1fr}}.article-card{background:var(--bg-card, #ffffff);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--space-5);transition:border-color .2s,transform .2s,box-shadow .2s;cursor:pointer}.article-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.article-tags{display:flex;gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap}.article-tag{font-size:11px;text-transform:uppercase;font-weight:700;padding:2px 8px;border-radius:var(--radius-sm);background:var(--gray-100);color:var(--gray-700)}.article-card-title{font-family:var(--font-heading);font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--primary);margin-bottom:var(--space-2)}.article-card-snippet{font-size:var(--text-sm);color:var(--gray-600);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.faq-section{max-width:1080px;margin:var(--space-8) auto var(--space-12);padding:0 var(--space-4)}.faq-group{margin-bottom:20px}.faq-group:last-child{margin-bottom:0}.faq-group-title{font-family:var(--font-heading);font-size:var(--text-lg, 1.125rem);font-weight:var(--weight-extrabold);text-transform:uppercase;color:var(--primary);line-height:1.3;margin-bottom:8px;letter-spacing:.04em;border-bottom:2px solid var(--accent);display:inline-block;padding-bottom:2px}.faq-item{background:var(--primary, #0F172A);color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:24px;margin-bottom:10px;overflow:hidden;box-shadow:0 4px 14px #0f172a14;transition:all .2s ease}.faq-item:last-child{margin-bottom:0}.faq-item:hover{border-color:#ffffff40;box-shadow:0 6px 18px #0f172a24}.faq-item--open{border-color:var(--secondary, #3B82F6);box-shadow:0 8px 24px #0f172a33}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;padding:24px 36px;background:transparent;border:none;text-align:left;font-size:1.0625rem;font-weight:600;color:#fff;cursor:pointer;transition:background .15s ease}.faq-question:hover{background:#ffffff0a}.faq-chevron{width:22px;height:22px;transition:transform .25s ease;color:#ffffffa6;flex-shrink:0}.faq-item--open .faq-chevron{transform:rotate(180deg);color:var(--color-neon-blue, #00D4FF)}.faq-answer{padding:24px 36px 36px;font-size:1rem;color:#ffffffd9;line-height:1.8;border-top:1px solid rgba(255,255,255,.1);background:#ffffff05;display:none}.faq-answer p{color:#ffffffd9;line-height:1.8;margin:0}.faq-item--open .faq-answer{display:block}.help-cta-banner{max-width:1120px;width:calc(100% - var(--space-8, 32px));margin:var(--space-16) auto var(--space-20) auto;background:var(--primary, #0F172A);color:#fff;border-radius:48px;padding:64px;box-shadow:0 16px 48px -4px #0f172a47;border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}@media (max-width: 768px){.help-cta-banner{border-radius:36px;padding:40px 24px}}.help-cta-banner:before{content:"";position:absolute;top:-40px;left:-40px;width:180px;height:180px;background:#ffffff14;border-radius:50%;filter:blur(30px);pointer-events:none}.help-cta-banner:after{content:"";position:absolute;bottom:-40px;right:-40px;width:220px;height:220px;background:#3b82f626;border-radius:50%;filter:blur(36px);pointer-events:none}.help-cta-title{font-family:var(--font-heading);font-size:clamp(2.2rem,4.5vw,3rem);font-weight:var(--weight-extrabold);text-transform:uppercase;color:#fff;margin:0 auto var(--space-4);letter-spacing:.02em;position:relative;z-index:2;text-align:center;width:100%}.help-cta-subtitle{color:#ffffffe6;max-width:720px;width:100%;margin:0 auto var(--space-10);font-size:1.125rem;line-height:1.65;position:relative;z-index:2;text-align:center}.help-cta-actions{display:flex;justify-content:center;align-items:center;gap:var(--space-4);flex-wrap:wrap;position:relative;z-index:2;width:100%;margin:0 auto}.help-cta-btn-contact{background:#fff!important;color:var(--primary, #0F172A)!important;font-weight:600;padding:14px 32px;border-radius:14px;border:none;box-shadow:0 4px 14px #0000002e;transition:all .2s ease;display:inline-flex;align-items:center;gap:var(--space-2);text-decoration:none}.help-cta-btn-contact:hover{background:#f8fafc!important;transform:translateY(-2px);box-shadow:0 6px 20px #00000038}.help-cta-btn-ai{background:#ffffff26!important;color:#fff!important;border:1px solid rgba(255,255,255,.4)!important;font-weight:600;padding:14px 32px;border-radius:14px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:var(--space-2)}.help-cta-btn-ai:hover{background:#ffffff40!important;border-color:#fff9!important;transform:translateY(-2px)}.terms-page{width:100%;background:var(--bg-alt, #f8fafc);padding:80px var(--space-4) 112px;min-height:calc(100vh - 120px)}.terms-card{max-width:1120px;width:100%;margin:0 auto;background:var(--bg-card, #ffffff);border:1px solid var(--gray-200);border-radius:48px;padding:48px 32px;box-shadow:0 4px 24px -2px #0f172a0d}@media (min-width: 768px){.terms-page{padding:100px var(--space-6) 140px}.terms-card{padding:80px}}.terms-hero{margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--gray-200)}.terms-title{font-family:var(--font-heading);font-size:clamp(2.4rem,4.5vw,3.4rem);font-weight:var(--weight-extrabold);text-transform:uppercase;color:var(--primary);margin:var(--space-3) 0 var(--space-3);letter-spacing:-.01em}.terms-subtitle{font-size:var(--text-lg);color:var(--gray-600);margin-bottom:var(--space-4);line-height:1.6}.terms-meta{display:flex;gap:var(--space-3);font-size:var(--text-sm);color:var(--gray-500);margin-top:var(--space-3);align-items:center;flex-wrap:wrap}.terms-jurisdiction-badge{display:inline-flex;align-items:center;gap:var(--space-2);background:#2563eb14;color:#2563eb;border:1px solid rgba(37,99,235,.2);padding:4px 12px;border-radius:var(--radius-full);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.terms-toc{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-xl, 16px);padding:var(--space-6) var(--space-8);margin-bottom:var(--space-10)}.terms-toc-title{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-600);margin-bottom:var(--space-3)}.terms-toc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.terms-toc-link{color:var(--secondary, #2563EB);font-size:var(--text-sm);text-decoration:none;font-weight:500}.terms-toc-link:hover{text-decoration:underline}.terms-section{margin-bottom:var(--space-10)}.terms-section-title{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--weight-bold);text-transform:uppercase;color:var(--primary);margin-bottom:var(--space-3);letter-spacing:.04em}.terms-p{font-size:var(--text-base);color:var(--gray-700);line-height:1.7;margin-bottom:var(--space-4)}.terms-list{padding-left:var(--space-6);margin-bottom:var(--space-4);color:var(--gray-700);line-height:1.7}.legal-review-callout{margin:var(--space-4) 0;padding:var(--space-4) var(--space-5);background:#fef3c7;border-left:4px solid #F59E0B;border-radius:var(--radius-md, 8px);color:#92400e;font-size:var(--text-sm);line-height:1.5}html.dark .announcement-bar{background-color:#0f172a;color:#f8fafc;border-bottom:1px solid #334155}html.dark #app-footer{background:var(--surface-canvas, #0F172A);border-top:1px solid #334155;color:#ffffffde}html.dark .material-strip{background-color:var(--surface-canvas, #0F172A)!important;border-bottom:1px solid #334155!important}html.dark .material-strip span{color:#cbd5e1!important}html.dark .promo-carousel,html.dark .ad-banner-carousel{background:linear-gradient(135deg,#0f172a,#162032)!important;border:1px solid #334155!important;box-shadow:0 10px 25px -5px #00000080!important}html.dark .promo-carousel .carousel-control,html.dark .ad-banner-carousel .carousel-control{background:#1e293bcc;border-color:#475569;color:#f8fafc}html.dark .promo-carousel .carousel-control:hover,html.dark .ad-banner-carousel .carousel-control:hover{background:#3b82f64d;border-color:var(--secondary);color:#fff}html.dark .promo-carousel .carousel-indicator.active,html.dark .ad-banner-carousel .carousel-indicator.active{background:var(--secondary, #3B82F6);box-shadow:0 0 8px #3b82f699}html.dark .promo-cta,html.dark .promo-carousel .promo-cta,html.dark .ad-banner-carousel .promo-cta{background:var(--secondary, #3B82F6)!important;border:1px solid var(--secondary, #3B82F6)!important;color:#fff!important;box-shadow:0 0 16px #3b82f666!important}html.dark .promo-cta:hover,html.dark .promo-carousel .promo-cta:hover,html.dark .ad-banner-carousel .promo-cta:hover{background:var(--secondary-hover, #60A5FA)!important;border-color:var(--secondary-hover, #60A5FA)!important;color:#fff!important;box-shadow:0 0 24px #3b82f699!important;transform:translateY(-2px)!important}html.dark #catalog-search-input{background:var(--surface-canvas, #0F172A)!important;border-color:#334155!important;color:#f8fafc!important}html.dark #catalog-search-input:focus{border-color:var(--secondary)!important;box-shadow:0 0 0 3px #3b82f640!important}html.dark #catalog-search-icon,html.dark #catalog-search-clear{color:#94a3b8!important}html.dark .category-btn{background:var(--surface-canvas, #0F172A)!important;border-color:#334155!important;color:#cbd5e1!important}html.dark .category-btn:hover{background:#162032!important;border-color:#475569!important;color:#f8fafc!important}html.dark .category-btn.active{background:var(--secondary, #3B82F6)!important;border-color:var(--secondary, #3B82F6)!important;color:#fff!important;box-shadow:0 0 12px #3b82f659!important}html.dark .catalog-sidebar{background:var(--surface-card-subtle, #162032)!important;border-color:#334155!important;box-shadow:0 4px 20px #0006!important}html.dark .catalog-sidebar h3,html.dark .catalog-sidebar h4{color:#f8fafc!important}html.dark #filter-reset-btn{border-color:#334155!important;color:#94a3b8!important}html.dark #filter-reset-btn:hover{background:#1e293b!important;color:#f8fafc!important;border-color:#475569!important}html.dark #filter-min-price,html.dark #filter-max-price{background:var(--surface-canvas, #0F172A)!important;border-color:#334155!important;color:#f8fafc!important}html.dark #filter-min-price:focus,html.dark #filter-max-price:focus{border-color:var(--secondary)!important;box-shadow:0 0 0 2px #3b82f640!important}html.dark #filter-materials-container label{color:#cbd5e1!important}html.dark input[name=material]{accent-color:var(--secondary, #3B82F6)!important}html.dark .product-card{background:var(--surface-card-subtle, #162032)!important;border-color:#334155!important}html.dark .product-card:hover{border-color:var(--secondary)!important;box-shadow:0 8px 24px #0006!important}html.dark .product-card h3{color:#f8fafc!important}html.dark .product-card button{background:#0f172a!important;border-color:#334155!important;color:#f8fafc!important}html.dark .product-card button:hover{background:var(--secondary)!important;border-color:var(--secondary)!important;color:#fff!important;box-shadow:0 0 10px #3b82f666!important}html.dark #catalog-empty-state{background:var(--surface-card-subtle, #162032)!important;border-color:#334155!important}html.dark #clear-filters-btn{background:var(--secondary)!important;color:#fff!important}html.dark .add-to-cart-container button,html.dark .checkout-btn,html.dark .proceed-btn{color:#fff!important}html.dark .cart-item-row{background:var(--surface-card-subtle, #162032)!important;border-color:#334155!important}html.dark .cart-item-name{color:#f8fafc!important}html.dark .cart-item-price{color:#e2e8f0!important}html.dark .cart-item-line-total{color:#f8fafc!important;border-left-color:#334155!important}html.dark .summary-box{background:var(--surface-card-subtle, #162032)!important;border-color:#334155!important}html.dark .summary-title{color:#f8fafc!important;border-bottom-color:#334155!important}html.dark .summary-row{color:#cbd5e1!important}html.dark .summary-row strong{color:#f8fafc!important}html.dark .summary-total{color:#f8fafc!important;border-top-color:#334155!important}html.dark .qty-wrap{border-color:#334155!important}html.dark .qty-btn{background:#0f172a!important;color:#f8fafc!important}html.dark .qty-btn:hover{background:#1e293b!important}html.dark .country-select{background:#0f172a!important;border-color:#334155!important;color:#f8fafc!important}html.dark .zone-option{border-color:#334155!important}html.dark .zone-option:hover,html.dark .zone-option.selected{border-color:var(--secondary)!important;background:#3b82f61f!important}html.dark .checkout-section{background:var(--surface-card-subtle, #162032)!important;border-color:#334155!important}html.dark .checkout-section-title{color:#f8fafc!important;border-bottom-color:#334155!important}html.dark .checkout-section .form-input{background:#0f172a!important;border-color:#334155!important;color:#f8fafc!important}html.dark .checkout-section .form-label{color:#e2e8f0!important}html.dark .auth-layout{background-color:var(--surface-base, #0B0F19)}html.dark .auth-card{background:var(--surface-card-subtle, #162032);border-color:#334155;box-shadow:0 10px 30px #00000080}html.dark .auth-title{color:#f8fafc}html.dark .auth-subtitle{color:#94a3b8}html.dark .password-checklist{background:#0f172a;border-color:#334155}html.dark .password-checklist-title{color:#f8fafc}html.dark .checklist-item{color:#94a3b8}html.dark .contact-page,html.dark .contact-title{color:#f8fafc}html.dark .contact-subtitle{color:#94a3b8}html.dark .contact-info-card,html.dark .contact-form-card{background:var(--surface-card-subtle, #162032);border-color:#334155;box-shadow:0 4px 20px #0006}html.dark .contact-card-title,html.dark .contact-form-title{color:#f8fafc}html.dark .contact-form-subtitle{color:#94a3b8}html.dark .contact-info-label{color:#64748b}html.dark .contact-info-val{color:#e2e8f0}html.dark .contact-ai-card{background:linear-gradient(135deg,#3b82f61f,#a855f714);border-color:#3b82f64d}html.dark .contact-ai-desc{color:#cbd5e1}html.dark .faq-page{background:var(--surface-base, #0B0F19)}html.dark .help-hero{background:linear-gradient(180deg,rgba(59,130,246,.08) 0%,transparent 100%)}html.dark .help-hero-title{color:#f8fafc}html.dark .help-hero-subtitle{color:#94a3b8}html.dark .help-search-input{background:var(--surface-canvas, #0F172A);border-color:#334155;color:#f8fafc}html.dark .help-search-input:focus{border-color:var(--secondary);box-shadow:0 0 0 4px #3b82f640}html.dark .recommend-chip{background:var(--surface-canvas, #0F172A);border-color:#334155;color:#cbd5e1}html.dark .recommend-chip:hover{border-color:var(--secondary);color:var(--secondary)}html.dark .recommend-chip--active{background:var(--secondary)!important;border-color:var(--secondary)!important;color:#fff!important}html.dark .articles-results-header{color:#f8fafc}html.dark .article-card{background:var(--surface-card-subtle, #162032);border-color:#334155}html.dark .article-card:hover{border-color:var(--secondary);box-shadow:0 8px 24px #00000080}html.dark .article-card-title{color:#f8fafc}html.dark .article-card-snippet{color:#94a3b8}html.dark .article-tag{background:#0f172a;color:#94a3b8}html.dark .faq-group-title{color:#f8fafc;border-bottom-color:var(--secondary)}html.dark .faq-item{background:var(--surface-canvas, #0F172A);border-color:#334155}html.dark .faq-item--open{border-color:var(--secondary);box-shadow:0 8px 24px #0009}html.dark .help-cta-banner{background:var(--surface-canvas, #0F172A);border-color:#334155}html.dark .help-cta-btn-contact{background:var(--secondary, #3B82F6)!important;color:#fff!important;border:1px solid var(--secondary, #3B82F6)!important;box-shadow:0 0 16px #3b82f659!important}html.dark .help-cta-btn-contact:hover{background:var(--secondary-hover, #60A5FA)!important;border-color:var(--secondary-hover, #60A5FA)!important;color:#fff!important;box-shadow:0 0 24px #3b82f680!important;transform:translateY(-2px)}html.dark .help-cta-btn-ai{background:#1e293bcc!important;color:#f8fafc!important;border:1px solid #475569!important}html.dark .help-cta-btn-ai:hover{background:#1e293b!important;border-color:var(--secondary, #3B82F6)!important;color:#fff!important;box-shadow:0 0 14px #3b82f640!important;transform:translateY(-2px)}html.dark .terms-page{background:var(--surface-base, #0B0F19)}html.dark .terms-card{background:var(--surface-card-subtle, #162032);border-color:#334155;box-shadow:0 10px 30px #00000080}html.dark .terms-hero{border-bottom-color:#334155}html.dark .terms-title{color:#f8fafc}html.dark .terms-subtitle{color:#94a3b8}html.dark .terms-toc{background:var(--surface-canvas, #0F172A);border-color:#334155}html.dark .terms-toc-title{color:#94a3b8}html.dark .terms-toc-link{color:#60a5fa}html.dark .terms-section-title{color:#f8fafc}html.dark .terms-p,html.dark .terms-list{color:#cbd5e1}html.dark .legal-review-callout{background:#2d2006;border-left-color:#f59e0b;color:#fde68a}html.dark .cw-panel{background:var(--surface-card, #1E293B);border-color:#475569;box-shadow:0 12px 48px #000000b3}html.dark .cw-header{background:var(--surface-canvas, #0F172A);border-bottom:1px solid #334155}html.dark .cw-messages::-webkit-scrollbar-thumb{background:#334155}html.dark .cw-msg--user .cw-bubble{background:var(--secondary, #3B82F6);color:#fff;box-shadow:0 2px 8px #3b82f64d}html.dark .cw-msg--assistant .cw-bubble{background:var(--surface-card-subtle, #162032);color:#f8fafc;border-color:#334155}html.dark .cw-msg--error .cw-bubble{background:#450a0a;color:#f87171;border-color:#7f1d1d}html.dark .cw-tool-call{background:#0f172a;border-color:#334155;color:#94a3b8}html.dark .cw-spinner{border-color:#334155;border-top-color:var(--secondary)}html.dark .cw-msg--typing .cw-bubble{background:var(--surface-card-subtle, #162032);border-color:#334155}html.dark .cw-typing-dot{background:#64748b}html.dark .cw-chip{background:var(--surface-canvas, #0F172A);border-color:#334155;color:#60a5fa}html.dark .cw-chip:hover{background:#1e293b;border-color:#3b82f6;color:#93c5fd}html.dark .cw-input-area{background:var(--surface-card, #1E293B);border-top-color:#334155}html.dark .cw-input{background:var(--surface-canvas, #0F172A);border-color:#334155;color:#f8fafc}html.dark .cw-input:focus{border-color:var(--secondary);background:#0f172a}html.dark .cw-input::-moz-placeholder{color:#64748b}html.dark .cw-input::placeholder{color:#64748b}html.dark .cw-send{background:var(--secondary, #3B82F6);color:#fff}html.dark .cw-send:hover{background:#2563eb}html.dark .cw-footer{background:var(--surface-card, #1E293B);border-top-color:#334155;color:#64748b}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-heading);font-size:.9375rem;font-weight:var(--weight-extrabold);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;outline:none;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-font-smoothing:antialiased}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none!important;box-shadow:none!important}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--gray-800);border-color:var(--gray-800);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active{transform:translateY(0);box-shadow:none}.btn-primary:focus-visible{outline:2px solid var(--secondary);outline-offset:3px}.btn-secondary{background:transparent;color:var(--primary);border-color:var(--primary)}.btn-secondary:hover{background:var(--primary);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary:active{transform:translateY(0);box-shadow:none}.btn-secondary:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.btn-ghost{background:transparent;color:var(--secondary);border-color:transparent;padding:var(--space-2) var(--space-4)}.btn-ghost:hover{background:var(--gray-100);color:var(--accent)}.btn-ghost:focus-visible{outline:2px solid var(--secondary);outline-offset:3px}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover{background:#dc2626;border-color:#dc2626;transform:translateY(-1px)}.btn-danger:active{transform:translateY(0)}.btn-danger:focus-visible{outline:2px solid var(--danger);outline-offset:3px}.btn-accent{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-accent:hover{background:#7c3aed;border-color:#7c3aed;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-accent:active{transform:translateY(0);box-shadow:none}.btn-accent:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);letter-spacing:.06em}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-lg);letter-spacing:.06em}.btn-full{width:100%}.btn-pill{border-radius:var(--radius-full)}.btn-icon{padding:var(--space-3);aspect-ratio:1}.btn--loading{position:relative;color:transparent!important;pointer-events:none}.btn--loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:18px;height:18px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:btn-spin .6s linear infinite}.btn-primary.btn--loading:after{border-color:#ffffff80;border-top-color:transparent}@keyframes btn-spin{to{transform:rotate(360deg)}}html.dark .btn-primary{background:var(--secondary);border-color:var(--secondary);color:#fff}html.dark .btn-primary:hover{background:var(--secondary-hover, #60A5FA);border-color:var(--secondary-hover, #60A5FA);box-shadow:0 0 16px var(--secondary-glow, rgba(59, 130, 246, .4))}html.dark .btn-secondary{background:transparent;color:var(--text-primary, #F8FAFC);border-color:var(--border-slate, #334155)}html.dark .btn-secondary:hover{background:var(--surface-card-subtle, #162032);border-color:var(--secondary);color:var(--secondary-hover, #60A5FA);box-shadow:0 0 12px #3b82f640}html.dark .btn-ghost{color:var(--secondary-hover, #60A5FA)}html.dark .btn-ghost:hover{background:var(--surface-card-subtle, #162032);color:#93c5fd}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:.2em .65em;border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:1.4;white-space:nowrap;text-transform:uppercase;letter-spacing:.05em}.badge-success{background-color:#dcfce7;color:#166534}.badge-warning{background-color:#fef9c3;color:#854d0e}.badge-danger{background-color:#fee2e2;color:#991b1b}.badge-info{background-color:#dbeafe;color:#1e40af}.badge-neutral{background-color:var(--gray-100);color:var(--gray-600)}.badge-accent{background-color:#ede9fe;color:#5b21b6}.stock-badge{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:.02em}.stock-badge:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.stock-in{color:var(--success)}.stock-in:before{background-color:var(--success)}.stock-low{color:var(--warning)}.stock-low:before{background-color:var(--warning)}.stock-out{color:var(--danger)}.stock-out:before{background-color:var(--danger)}.status-pending{@apply .badge .badge-neutral;}.status-processing{background-color:#dbeafe;color:#1e40af}.status-printed{background-color:#ede9fe;color:#5b21b6}.status-shipped{background-color:#fef9c3;color:#854d0e}.status-delivered{background-color:#dcfce7;color:#166534}.status-cancelled{background-color:#fee2e2;color:#991b1b}.badge.status-pending{background-color:var(--gray-100);color:var(--gray-600)}.badge.status-processing{background-color:#dbeafe;color:#1e40af}.badge.status-printed{background-color:#ede9fe;color:#5b21b6}.badge.status-shipped{background-color:#fef9c3;color:#854d0e}.badge.status-delivered{background-color:#dcfce7;color:#166534}.badge.status-cancelled{background-color:#fee2e2;color:#991b1b}.badge.priority-low{background-color:var(--gray-100);color:var(--gray-600)}.badge.priority-medium{background-color:#fef9c3;color:#854d0e}.badge.priority-high{background-color:#fee2e2;color:#991b1b}.payment-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:.15em .55em;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-semibold);border:1px solid var(--gray-200);background-color:var(--bg-main);color:var(--gray-800)}html.dark .badge-success,html.dark .badge.status-delivered{background-color:var(--badge-stock-in-bg, #064E3B);color:var(--badge-stock-in-text, #34D399);border:1px solid var(--badge-stock-in-border, #059669)}html.dark .badge-warning,html.dark .badge.status-shipped,html.dark .badge.priority-medium{background-color:var(--badge-stock-low-bg, #78350F);color:var(--badge-stock-low-text, #FBBF24);border:1px solid var(--badge-stock-low-border, #D97706)}html.dark .badge-danger,html.dark .badge.status-cancelled,html.dark .badge.priority-high{background-color:var(--badge-stock-out-bg, #7F1D1D);color:var(--badge-stock-out-text, #F87171);border:1px solid var(--badge-stock-out-border, #DC2626)}html.dark .badge-info,html.dark .badge.status-processing{background-color:#3b82f626;color:#60a5fa;border:1px solid #3B82F6}html.dark .badge-neutral,html.dark .badge.status-pending,html.dark .badge.priority-low{background-color:#162032;color:#94a3b8;border:1px solid #334155}html.dark .badge-accent,html.dark .badge.status-printed{background-color:#a855f726;color:#c084fc;border:1px solid #A855F7}html.dark .payment-chip{background-color:#0f172a;border-color:#334155;color:#f8fafc}html.dark .stock-in{color:#34d399}html.dark .stock-in:before{background-color:#10b981;box-shadow:0 0 8px #10b981}html.dark .stock-low{color:#fbbf24}html.dark .stock-low:before{background-color:#f59e0b}html.dark .stock-out{color:#f87171}html.dark .stock-out:before{background-color:#ef4444}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--gray-800);line-height:var(--leading-sm);-webkit-user-select:none;-moz-user-select:none;user-select:none}.form-label--required:after{content:" *";color:var(--danger)}.form-input{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-md);font-weight:var(--weight-normal);color:var(--primary);background-color:var(--bg-main);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);line-height:var(--leading-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}.form-input::-moz-placeholder{color:var(--gray-400);font-weight:var(--weight-normal)}.form-input::placeholder{color:var(--gray-400);font-weight:var(--weight-normal)}.form-input:hover{border-color:var(--gray-400)}.form-input:focus{border-color:var(--secondary);box-shadow:0 0 0 3px #3b82f626}.form-input:disabled{background-color:var(--gray-100);color:var(--gray-400);cursor:not-allowed;border-color:var(--gray-200)}.form-input--error{border-color:var(--danger)}.form-input--error:focus{border-color:var(--danger);box-shadow:0 0 0 3px #ef444426}.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:16px;padding-right:calc(var(--space-4) + 20px);cursor:pointer}.form-textarea{resize:vertical;min-height:120px;line-height:var(--leading-md)}.form-check{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.form-check-input{width:18px;height:18px;border:1.5px solid var(--gray-400);border-radius:var(--radius-sm);background-color:var(--bg-main);-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;flex-shrink:0;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.form-check-input:checked{background-color:var(--secondary);border-color:var(--secondary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='white' d='M10 3L5 8 2 5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:10px}.form-check-input[type=radio]{border-radius:50%}.form-check-input[type=radio]:checked{background-image:none;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 6px var(--secondary)}.form-check-label{font-family:var(--font-body);font-size:var(--text-md);color:var(--primary);line-height:var(--leading-md)}.form-field-error{font-family:var(--font-body);font-size:var(--text-sm);color:var(--danger);font-weight:var(--weight-semibold);line-height:var(--leading-sm);display:flex;align-items:center;gap:var(--space-1)}.form-hint{font-family:var(--font-body);font-size:var(--text-sm);color:var(--gray-400);line-height:var(--leading-sm)}html.dark .form-label{color:var(--text-secondary, #E2E8F0)}html.dark .form-input,html.dark .form-select,html.dark .form-textarea{background-color:var(--surface-canvas, #0F172A);border-color:var(--border-slate, #334155);color:var(--text-primary, #F8FAFC)}html.dark .form-input::-moz-placeholder,html.dark .form-textarea::-moz-placeholder{color:#64748b}html.dark .form-input::placeholder,html.dark .form-textarea::placeholder{color:#64748b}html.dark .form-input:focus,html.dark .form-select:focus,html.dark .form-textarea:focus{border-color:var(--secondary);background-color:var(--surface-canvas, #0F172A);box-shadow:0 0 0 3px #3b82f640}html.dark .form-input:disabled,html.dark .form-select:disabled,html.dark .form-textarea:disabled{background-color:var(--surface-base, #0B0F19);border-color:var(--border-slate-subtle, #1E293B);color:var(--text-muted, #94A3B8)}html.dark .form-check-input{background-color:var(--surface-canvas, #0F172A);border-color:var(--border-slate, #334155)}html.dark .form-check-label{color:var(--text-primary, #F8FAFC)}html.dark .form-hint{color:var(--text-muted, #94A3B8)}.card{background-color:var(--bg-main);border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--gray-200);font-family:var(--font-heading);font-size:var(--text-h3);font-weight:var(--weight-extrabold);color:var(--primary)}.card-body{padding:var(--space-6)}.card-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--gray-200);background-color:var(--bg-alt);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3)}.card--interactive{cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.card--interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.card--interactive:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.card--flat{border:none;box-shadow:none;background-color:var(--bg-alt)}.card--elevated{border:none;box-shadow:var(--shadow-lg)}.card--danger{border-color:var(--danger);background-color:#fff5f5}.product-card{background-color:var(--bg-main);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;transition:transform var(--transition-fast),box-shadow var(--transition-fast);display:flex;flex-direction:column}.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.product-card__image{width:100%;aspect-ratio:1 / 1;-o-object-fit:cover;object-fit:cover;background-color:var(--gray-100);display:block}.product-card__body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);flex:1}.product-card__name{font-family:var(--font-heading);font-size:var(--text-h3);font-weight:var(--weight-extrabold);color:var(--primary);margin:0;line-height:1.3}.product-card__price{font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--primary)}.product-card__footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between}.info-card{background-color:var(--bg-alt);border-radius:var(--radius-md);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2)}.info-card__label{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--gray-600);text-transform:uppercase;letter-spacing:.06em}.info-card__value{font-family:var(--font-heading);font-size:var(--text-h2);font-weight:var(--weight-extrabold);color:var(--primary);line-height:1}@media (max-width: 480px){.card-footer{flex-direction:column;align-items:stretch}.card-footer .btn{width:100%;justify-content:center}}html.dark .card{background-color:var(--surface-card-subtle, #162032);border-color:var(--border-slate, #334155);box-shadow:0 4px 16px #0006}html.dark .card-header{border-bottom-color:var(--border-slate, #334155);color:#f8fafc}html.dark .card-footer{border-top-color:var(--border-slate, #334155);background-color:var(--surface-canvas, #0F172A)}html.dark .card--interactive:hover{border-color:var(--secondary);box-shadow:0 8px 24px #0000008c,0 0 12px #3b82f633}html.dark .info-card{background-color:var(--surface-card-subtle, #162032);border-color:var(--border-slate, #334155)}html.dark .info-card__label{color:var(--text-muted, #94A3B8)}html.dark .info-card__value{color:#f8fafc}@keyframes skeleton-shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton{border-radius:var(--radius-md);background-color:var(--gray-200);background-image:linear-gradient(90deg,var(--gray-200) 0px,var(--gray-100) 40%,var(--gray-200) 80%);background-size:600px 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.skeleton{animation:none;background-image:none;background-color:var(--gray-200)}}.skeleton--text{height:var(--text-md);width:100%;border-radius:var(--radius-sm)}.skeleton--heading{height:var(--text-h3);width:70%;border-radius:var(--radius-sm)}.skeleton--rect{border-radius:var(--radius-md)}.skeleton--circle{border-radius:50%}.skeleton-card{background-color:var(--bg-main);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column}.skeleton-card__image{width:100%;aspect-ratio:1 / 1;border-radius:0}.skeleton-card__body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.skeleton-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--gray-200)}.skeleton-row>.skeleton{height:var(--text-md)}.fade-in{animation:fade-in var(--transition-slow) ease-out forwards}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.fade-in{animation:none}}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion: reduce){.pulse{animation:none}}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spin{animation:none}}.spinner{display:inline-block;width:24px;height:24px;border:3px solid var(--gray-200);border-top-color:var(--secondary);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.spinner--sm{width:16px;height:16px;border-width:2px}.spinner--lg{width:40px;height:40px;border-width:4px}@media (prefers-reduced-motion: reduce){.spinner{animation:none;border-top-color:var(--secondary)}}html.dark .skeleton{background-color:#1e293b;background-image:linear-gradient(90deg,#1e293b,#334155 40%,#1e293b 80%)}html.dark .skeleton-card{background-color:var(--surface-card-subtle, #162032);border-color:var(--border-slate, #334155)}html.dark .spinner{border-color:#334155;border-top-color:var(--secondary)}
