:root{--bg-primary:#fff;--bg-secondary:#f3f4f6;--bg-surface:#fff;--bg-surface-alt:#f9fafb;--bg-surface-hover:#f0f0f0;--bg-input:#fff;--bg-overlay:#0006;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#9ca3af;--text-inverse:#fff;--text-on-brand:#fff;--text-link:#3b82f6;--text-link-hover:#1d4ed8;--brand-primary:#3b82f6;--brand-primary-hover:#1d4ed8;--brand-primary-light:#dbeafe;--brand-secondary:#10b981;--brand-secondary-hover:#059669;--border-color:#e5e7eb;--border-light:#f3f4f6;--border-strong:#d1d5db;--border-focus:#3b82f6;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--shadow-xl:0 16px 40px #00000024;--navbar-bg:#f3f3f3;--navbar-border:#ddd;--navbar-text:#222;--navbar-link:#333;--navbar-link-hover:#000;--dropdown-bg:#fff;--dropdown-border:#ddd;--dropdown-shadow:0 4px 10px #0000001a;--dropdown-hover-bg:#f0f0f0;--card-bg:#fff;--card-border:#e5e7eb;--card-shadow:0 4px 12px #00000014;--card-shadow-hover:0 8px 24px #00000024;--badge-bg:#e5e7eb;--badge-text:#374151;--badge-success-bg:#d1fae5;--badge-success-text:#065f46;--badge-danger-bg:#fee2e2;--badge-danger-text:#991b1b;--badge-warn-bg:#fef3c7;--badge-warn-text:#92400e;--input-bg:#fff;--input-border:#d1d5db;--input-border-focus:#3b82f6;--input-text:#111827;--input-placeholder:#9ca3af;--input-shadow-focus:0 0 0 3px #3b82f626;--label-text:#374151;--table-head-bg:#f9fafb;--table-row-hover:#f3f4f6;--table-border:#e5e7eb;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--container-max:1200px;--navbar-height:64px}[data-theme=dark]{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-surface:#1e293b;--bg-surface-alt:#0f172a;--bg-surface-hover:#334155;--bg-input:#1e293b;--bg-overlay:#0009;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--text-inverse:#0f172a;--text-on-brand:#fff;--text-link:#60a5fa;--text-link-hover:#93c5fd;--brand-primary:#3b82f6;--brand-primary-hover:#60a5fa;--brand-primary-light:#1e3a5f;--brand-secondary:#10b981;--brand-secondary-hover:#34d399;--border-color:#334155;--border-light:#1e293b;--border-strong:#475569;--border-focus:#60a5fa;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #00000059;--shadow-lg:0 8px 24px #0006;--shadow-xl:0 16px 40px #00000080;--navbar-bg:#1e293b;--navbar-border:#334155;--navbar-text:#f1f5f9;--navbar-link:#cbd5e1;--navbar-link-hover:#f1f5f9;--dropdown-bg:#1e293b;--dropdown-border:#334155;--dropdown-shadow:0 4px 10px #0006;--dropdown-hover-bg:#334155;--card-bg:#1e293b;--card-border:#334155;--card-shadow:0 4px 12px #0000004d;--card-shadow-hover:0 8px 24px #00000080;--badge-bg:#334155;--badge-text:#cbd5e1;--badge-success-bg:#064e3b;--badge-success-text:#6ee7b7;--badge-danger-bg:#7f1d1d;--badge-danger-text:#fca5a5;--badge-warn-bg:#78350f;--badge-warn-text:#fcd34d;--input-bg:#0f172a;--input-border:#475569;--input-border-focus:#60a5fa;--input-text:#f1f5f9;--input-placeholder:#64748b;--input-shadow-focus:0 0 0 3px #60a5fa33;--label-text:#cbd5e1;--table-head-bg:#0f172a;--table-row-hover:#1e293b;--table-border:#334155;--success:#34d399;--warning:#fbbf24;--danger:#f87171;--info:#60a5fa}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;tab-size:4}body{background-color:var(--bg-primary);color:var(--text-primary);transition:background-color var(--transition-slow), color var(--transition-slow);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.6}body::-webkit-scrollbar{width:6px;height:6px}body::-webkit-scrollbar-track{background:var(--bg-secondary)}body::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}img,video,svg{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:700;line-height:1.25}p{color:var(--text-secondary)}a{color:var(--text-link);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--text-link-hover)}ul,ol{list-style:none}button{cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none}input,textarea,select{font-family:inherit;font-size:inherit;background-color:var(--input-bg);color:var(--input-text)}html::-webkit-scrollbar{width:8px;height:8px}html::-webkit-scrollbar-track{background:var(--bg-secondary)}html::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}html::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-sm)}hr{border:none;border-top:1px solid var(--border-color);margin-block:1.5rem}::selection{background-color:var(--brand-primary-light);color:var(--text-primary)}.container{max-width:var(--container-max);margin-inline:auto;padding-inline:1rem}@media (width>=640px){.container{padding-inline:1.5rem}}@media (width>=1024px){.container{padding-inline:2rem}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section{background-color:var(--bg-secondary);padding-block:3.75rem}.page-wrapper{min-height:calc(100vh - var(--navbar-height));padding-top:var(--navbar-height);background-color:var(--bg-primary)}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-link{color:var(--text-link)}.text-warning{color:var(--warning)}.text-info{color:var(--info)}.text-brand{color:var(--brand-primary)}.heading-hero{color:var(--text-primary);letter-spacing:-.02em;font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.15}.heading-section{color:var(--text-primary);font-size:clamp(1.25rem,2.5vw,2rem);font-weight:700;line-height:1.25}.heading-card{color:var(--text-primary);font-size:1.125rem;font-weight:700;line-height:1.4}.body-lead{color:var(--text-secondary);font-size:1.125rem;line-height:1.7}.body-sm{color:var(--text-secondary);font-size:.875rem}.caption{color:var(--text-muted);letter-spacing:.01em;font-size:.75rem}code,kbd,samp,pre{font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.875em}code{background:var(--bg-surface-alt);color:var(--brand-primary);border-radius:var(--radius-sm);border:1px solid var(--border-color);padding:.1em .4em}.alert{border-radius:var(--radius-md);background-color:var(--bg-surface-alt);color:var(--text-primary);border:1px solid #0000;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500}.alert-danger{background:var(--badge-danger-bg);color:var(--badge-danger-text);border-color:var(--badge-danger-bg)}.alert-success{background:var(--badge-success-bg);color:var(--badge-success-text);border-color:var(--badge-success-bg)}.alert-info{background:var(--brand-primary-light);color:var(--brand-primary);border-color:var(--brand-primary-light)}.alert-warning{background:var(--badge-warn-bg);color:var(--badge-warn-text);border-color:var(--badge-warn-bg)}.form-group{flex-direction:column;gap:.375rem;margin-bottom:1rem;display:flex}select.form-control{cursor:pointer}.text-muted{color:var(--text-muted)}.text-center{text-align:center}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mt-4{margin-top:1rem}.py-2{padding-block:.5rem}.p-2{padding:.5rem}.row{flex-wrap:wrap;gap:1rem;display:flex}.col-12,.col-md-8{width:100%}@media (width>=768px){.col-md-8{width:calc(66.666% - .5rem)}}.col-md-4{width:100%}@media (width>=768px){.col-md-4{width:calc(33.333% - .5rem)}.offset-md-2{margin-left:16.666%}}.btn{background-color:var(--bg-surface-hover);color:var(--text-primary);border:1px solid var(--border-color)}.btn:hover{background-color:var(--border-color)}.btn-outline-primary{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.9375rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.btn-outline-primary:active{transform:scale(.97)}.btn-outline-primary:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.btn-outline-primary:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.btn-outline-primary{color:var(--brand-primary);border:1.5px solid var(--brand-primary);background:0 0}.btn-outline-primary:hover{background:var(--brand-primary);color:#fff}.btn-secondary{background:var(--bg-surface-hover);color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary:hover{border-color:var(--border-strong);color:var(--text-primary)}.btn-danger{background:var(--danger);color:#fff;border:none}.btn-danger:hover{filter:brightness(.9)}.card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);overflow:hidden}.card-header{color:var(--text-primary);border-bottom:1px solid var(--border-color);background-color:var(--bg-surface-alt);padding:1rem 1.25rem;font-size:1.0625rem;font-weight:700}.card-body{padding:1.25rem}.list-group{border-radius:var(--radius-md);border:1px solid var(--border-color);flex-direction:column;display:flex;overflow:hidden}.list-group-item{background-color:var(--bg-surface);color:var(--text-secondary);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.9375rem;display:flex}.list-group-item:last-child{border-bottom:none}.list-group-item:hover{background-color:var(--bg-surface-hover)}.badge-warning{background:var(--badge-warn-bg);color:var(--badge-warn-text);border-radius:var(--radius-full);padding:.25rem .75rem;font-size:.8125rem;font-weight:600;line-height:1.4;display:inline-block}.badge-danger{background:var(--badge-danger-bg);color:var(--badge-danger-text);border-radius:var(--radius-full);padding:.25rem .75rem;font-size:.8125rem;font-weight:600;line-height:1.4;display:inline-block}.badge-pill{border-radius:var(--radius-full)}.page-content{max-width:var(--container-max);margin-inline:auto;padding:2rem 1.5rem}@media (width>=1024px){.page-content{padding:2.5rem 2rem}}.history{margin-top:1.5rem}.toast-container{top:calc(var(--navbar-height) + .75rem);z-index:500;pointer-events:none;flex-direction:column;gap:.625rem;width:calc(100vw - 2rem);max-width:22rem;display:flex;position:fixed;right:1rem}.toast{pointer-events:all;border-radius:var(--radius-md);background-color:var(--bg-surface);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);flex-direction:row;justify-content:flex-start;align-items:center;gap:.75rem;padding:.875rem 1rem;animation:.28s cubic-bezier(.34,1.56,.64,1) toast-in;display:flex;position:relative}.toast-icon{flex-shrink:0;align-items:center;display:flex}.toast-message{color:var(--text-primary);flex:1;font-size:.9rem;font-weight:500;line-height:1.45}.toast-close{border-radius:var(--radius-sm);width:1.5rem;height:1.5rem;color:var(--text-muted);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast-close:hover{background-color:var(--bg-surface-hover);color:var(--text-primary)}.toast-success{border-left:4px solid var(--success)}.toast-success .toast-icon{color:var(--success)}.toast-error{border-left:4px solid var(--danger)}.toast-error .toast-icon{color:var(--danger)}.toast-warning{border-left:4px solid var(--warning)}.toast-warning .toast-icon{color:var(--warning)}.toast-info{border-left:4px solid var(--info)}.toast-info .toast-icon{color:var(--info)}@keyframes toast-in{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-btn,.skeleton-pill,.skeleton-line,.skeleton-img{background:linear-gradient(90deg, var(--bg-surface-alt) 25%, var(--bg-surface-hover) 50%, var(--bg-surface-alt) 75%);border-radius:var(--radius-md);background-size:800px 100%;animation:1.4s ease-in-out infinite shimmer}.skeleton-card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);overflow:hidden}.skeleton-img{aspect-ratio:4/3;border-radius:0;width:100%}.skeleton-body{flex-direction:column;gap:.625rem;padding:1rem 1.125rem 1.125rem;display:flex}.skeleton-line{height:.8125rem}.skeleton-line.w-90{width:90%}.skeleton-line.w-75{width:75%}.skeleton-line.w-60{width:60%}.skeleton-line.w-50{width:50%}.skeleton-line.w-40{width:40%}.skeleton-footer{justify-content:space-between;align-items:center;margin-top:.25rem;display:flex}.skeleton-pill{border-radius:var(--radius-full);width:4.5rem;height:1.75rem}.skeleton-btn{border-radius:var(--radius-full);width:6rem;height:2rem}.theme-toggle:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.theme-toggle{cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:flex}.theme-toggle-track{border-radius:var(--radius-full);background-color:var(--bg-surface-hover);border:1.5px solid var(--border-color);width:3rem;height:1.625rem;transition:background-color var(--transition-base), border-color var(--transition-base);align-items:center;display:flex;position:relative}[data-theme=dark] .theme-toggle-track{background-color:#1e3a5f;border-color:#334155}.theme-toggle-thumb{background-color:var(--brand-primary);width:1.125rem;height:1.125rem;transition:transform var(--transition-base), background-color var(--transition-base);box-shadow:var(--shadow-sm);z-index:1;border-radius:50%;position:absolute;left:2px}[data-theme=dark] .theme-toggle-thumb{background-color:#60a5fa;transform:translate(1.375rem)}.theme-toggle-icon{transition:opacity var(--transition-base);font-size:.625rem;line-height:1;position:absolute}.theme-toggle-sun{opacity:1;left:4px}[data-theme=dark] .theme-toggle-sun{opacity:0}.theme-toggle-moon{opacity:0;right:4px}[data-theme=dark] .theme-toggle-moon{opacity:1}.navbar{z-index:200;background-color:var(--navbar-bg);border-bottom:1px solid var(--navbar-border);transition:background-color var(--transition-slow), border-color var(--transition-slow);position:sticky;top:0}.navbar-container{max-width:var(--container-max);height:var(--navbar-height);justify-content:space-between;align-items:center;gap:1.5rem;margin-inline:auto;padding:0 1.5rem;display:flex}@media (width>=1024px){.navbar-container{padding-inline:2rem}}.logo a{letter-spacing:-.02em;color:#14532d;transition:opacity var(--transition-fast);align-items:center;gap:6px;font-size:1.375rem;font-weight:800;text-decoration:none;display:inline-flex}.logo a:hover{opacity:.85}[data-theme=dark] .logo a{color:#86efac}.logo-leaf{font-size:1.1rem;line-height:1}.nav-links{flex-direction:row;justify-content:flex-start;align-items:center;gap:.25rem;margin:0;list-style:none;display:flex}.nav-links a{color:var(--navbar-link);border-radius:var(--radius-md);transition:background-color var(--transition-fast), color var(--transition-fast);padding:.375rem .625rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-block}.nav-links a:hover{background-color:var(--bg-surface-hover);color:var(--navbar-link-hover)}@media (width<=767px){.nav-links{display:none}}.navbar-right{flex-direction:row;justify-content:flex-start;align-items:center;gap:.75rem;margin-left:auto;display:flex}.nav-auth-btns{flex-direction:row;justify-content:flex-start;align-items:center;gap:.5rem;display:flex}.nav-signin-btn{color:var(--navbar-link);border-radius:var(--radius-md);transition:background-color var(--transition-fast), color var(--transition-fast);padding:.375rem .875rem;font-size:.875rem;font-weight:600;text-decoration:none}.nav-signin-btn:hover{background-color:var(--bg-surface-hover);color:var(--text-primary)}.nav-signup-btn{color:#fff;border-radius:var(--radius-full);transition:background-color var(--transition-fast), transform var(--transition-fast);background-color:#16a34a;padding:.375rem .875rem;font-size:.875rem;font-weight:700;text-decoration:none;box-shadow:0 2px 8px #16a34a59}.nav-signup-btn:hover{background-color:#15803d;transform:translateY(-1px)}.dropdown{position:relative}.dropdown-btn{border:1.5px solid var(--border-color);border-radius:var(--radius-full);cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast);background:0 0;padding:.3125rem .75rem .3125rem .375rem}.dropdown-btn:hover{border-color:var(--border-strong);background-color:var(--bg-surface-hover)}.avatar-initials{color:#fff;letter-spacing:.04em;background:linear-gradient(135deg,#16a34a,#15803d);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.875rem;height:1.875rem;font-size:.6875rem;font-weight:800;display:flex}.dropdown-name{color:var(--navbar-link);text-overflow:ellipsis;white-space:nowrap;max-width:7rem;font-size:.875rem;font-weight:600;overflow:hidden}@media (width<=767px){.dropdown-name{display:none}}.chevron{color:var(--text-muted);transition:transform var(--transition-base);flex-shrink:0}.chevron.open{transform:rotate(180deg)}.dropdown-menu{z-index:100;background-color:var(--dropdown-bg);border:1px solid var(--dropdown-border);border-radius:var(--radius-lg);min-width:13rem;box-shadow:var(--dropdown-shadow);animation:.18s dropdown-in;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden}.dropdown-menu a{color:var(--navbar-link);transition:background-color var(--transition-fast), color var(--transition-fast);flex-direction:row;justify-content:flex-start;align-items:center;gap:.625rem;padding:.625rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;display:flex}.dropdown-menu a:hover{background-color:var(--dropdown-hover-bg);color:var(--text-primary)}.dropdown-header{flex-direction:column;gap:.125rem;padding:.875rem 1rem .75rem;display:flex}.dropdown-header-name{color:var(--text-primary);font-size:.9375rem;font-weight:700}.dropdown-header-email{color:var(--text-muted);font-size:.8rem}.dropdown-divider{background-color:var(--border-color);height:1px;margin:.25rem 0}.dropdown-icon{flex-shrink:0;font-size:.9rem}.dropdown-logout{width:100%;color:var(--danger);cursor:pointer;text-align:left;transition:background-color var(--transition-fast);background:0 0;border:none;flex-direction:row;justify-content:flex-start;align-items:center;gap:.625rem;padding:.625rem 1rem;font-size:.9rem;font-weight:600;display:flex}.dropdown-logout:hover{background-color:var(--badge-danger-bg)}.dropdown-logout:disabled{opacity:.6;pointer-events:none}.logout-spinner{border:2px solid var(--danger);border-top-color:#0000;border-radius:50%;flex-shrink:0;width:.875rem;height:.875rem;animation:.65s linear infinite spin}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.navbar-toggle{border-radius:var(--radius-md);border:1.5px solid var(--border-color);width:2.25rem;height:2.25rem;color:var(--navbar-link);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;display:none}@media (width<=767px){.navbar-toggle{display:flex}}.navbar-toggle:hover{background-color:var(--bg-surface-hover)}.navbar-mobile-menu{background-color:var(--navbar-bg);border-top:1px solid var(--border-color);flex-direction:column;padding:.75rem 1.5rem 1.25rem;display:none}.navbar-mobile-menu a{color:var(--navbar-link);border-bottom:1px solid var(--border-light);transition:color var(--transition-fast);padding:.625rem 0;font-size:.9375rem;font-weight:500;text-decoration:none}.navbar-mobile-menu a:last-of-type{border-bottom:none}.mobile-logout-btn{color:var(--danger);border:none;border-top:1px solid var(--border-color);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:.5rem;width:100%;margin-top:.75rem;padding:.625rem 0;font-size:.9375rem;font-weight:600;display:flex}.mobile-logout-btn:hover{opacity:.8}.navbar{z-index:200;height:var(--navbar-height);background-color:var(--navbar-bg);border-bottom:1px solid var(--navbar-border);transition:background-color var(--transition-slow), border-color var(--transition-slow);padding-inline:1.875rem;position:sticky;top:0}.navbar-container{height:100%;max-width:var(--container-max);justify-content:space-between;align-items:center;margin-inline:auto;display:flex}.logo a{color:var(--navbar-text);letter-spacing:-.02em;transition:color var(--transition-fast);font-size:1.5rem;font-weight:800;text-decoration:none}.logo a:hover{color:var(--brand-primary)}.nav-links{flex-direction:row;justify-content:flex-start;align-items:center;gap:1.25rem;list-style:none;display:flex}.nav-links li{position:relative}.nav-links a{color:var(--navbar-link);transition:color var(--transition-fast);padding:.375rem .25rem;font-size:.9375rem;font-weight:500;text-decoration:none}.nav-links a:hover{color:var(--navbar-link-hover)}@media (width<=767px){.nav-links{display:none}.nav-links.open{display:flex}}.dropdown-btn{flex-direction:row;justify-content:flex-start;align-items:center;gap:.5rem;display:flex}.dropdown-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.dropdown-btn{border:1px solid var(--border-strong);color:var(--navbar-link);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);background:0 0;padding:.3125rem .625rem;font-size:.875rem;font-weight:500}.dropdown-btn:hover{background-color:var(--bg-surface-hover);border-color:var(--border-focus)}.avatar{object-fit:cover;border:2px solid var(--border-color);border-radius:50%;width:2rem;height:2rem}.dropdown-menu{z-index:100;background-color:var(--dropdown-bg);border:1px solid var(--dropdown-border);border-radius:var(--radius-md);min-width:11.25rem;box-shadow:var(--dropdown-shadow);flex-direction:column;animation:.15s dropdown-in;display:flex;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden}.dropdown-menu a,.dropdown-menu .dropdown-item{color:var(--navbar-link);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);padding:.625rem .9375rem;font-size:.9rem;text-decoration:none}.dropdown-menu a:hover,.dropdown-menu .dropdown-item:hover{background-color:var(--dropdown-hover-bg);color:var(--text-primary)}.navbar-toggle{justify-content:center;align-items:center;display:flex}.navbar-toggle:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.navbar-toggle{border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--navbar-link);cursor:pointer;background:0 0;padding:.375rem;display:none}@media (width<=767px){.navbar-toggle{display:flex}}.navbar-mobile-menu{background-color:var(--navbar-bg);border-top:1px solid var(--border-color);flex-direction:column;gap:.5rem;padding:1rem 1.875rem;display:none}.navbar-mobile-menu.open{display:flex}.navbar-mobile-menu a{color:var(--navbar-link);border-bottom:1px solid var(--border-light);transition:color var(--transition-fast);padding:.5rem 0;font-size:1rem;font-weight:500}.navbar-mobile-menu a:last-child{border-bottom:none}.navbar-mobile-menu a:hover{color:var(--brand-primary)}.cart-count{border-radius:var(--radius-full);background-color:var(--brand-primary);min-width:1.25rem;height:1.25rem;color:var(--text-on-brand);justify-content:center;align-items:center;padding-inline:.25rem;font-size:.7rem;font-weight:700;display:flex}.btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.9375rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.btn-primary{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.9375rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.btn-primary:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.btn-primary{background-color:var(--brand-primary);color:var(--text-on-brand)}.btn-primary:hover:not(:disabled){background-color:var(--brand-primary-hover);box-shadow:var(--shadow-sm)}.btn-secondary{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.9375rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.btn-secondary:active{transform:scale(.97)}.btn-secondary:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.btn-secondary:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.btn-secondary{color:var(--brand-primary);border:1.5px solid var(--brand-primary);background-color:#0000}.btn-secondary:hover:not(:disabled){background-color:var(--brand-primary-light)}.btn-ghost{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.9375rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.btn-ghost:active{transform:scale(.97)}.btn-ghost:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.btn-ghost:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border-color);background-color:#0000}.btn-ghost:hover:not(:disabled){background-color:var(--bg-surface-hover);color:var(--text-primary);border-color:var(--border-strong)}.btn-danger{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.9375rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.btn-danger:active{transform:scale(.97)}.btn-danger:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.btn-danger:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(.9)}.btn-success{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.9375rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.btn-success:active{transform:scale(.97)}.btn-success:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.btn-success:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.btn-success{background-color:var(--success);color:#fff}.btn-success:hover:not(:disabled){filter:brightness(.9)}.btn-icon{justify-content:center;align-items:center;display:flex}.btn-icon:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.btn-icon{border-radius:var(--radius-md);border:1px solid var(--border-color);width:2.25rem;height:2.25rem;color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0}.btn-icon:hover{background-color:var(--bg-surface-hover);color:var(--text-primary)}.btn-sm{padding:.3125rem .875rem;font-size:.8125rem}.btn-lg{padding:.75rem 1.75rem;font-size:1.0625rem}.btn-xl{padding:.875rem 2rem;font-size:1.125rem}.btn-full{width:100%}.btn-loading{pointer-events:none;position:relative;color:#0000!important}.btn-loading:after{content:"";border:2px solid;border-top-color:#0000;border-radius:50%;width:1rem;height:1rem;margin:-.5rem;animation:.6s linear infinite spin;position:absolute;inset:50%}.form-group{flex-direction:column;gap:.375rem;display:flex}.form-label{color:var(--label-text);-webkit-user-select:none;user-select:none;font-size:.875rem;font-weight:600}.form-label .required{color:var(--danger);margin-left:.2em}.form-control{background-color:var(--input-bg);width:100%;color:var(--input-text);border:1px solid var(--input-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:.625rem .875rem;font-size:.9375rem;line-height:1.5}.form-control::placeholder{color:var(--input-placeholder)}.form-control:focus{border-color:var(--input-border-focus);box-shadow:var(--input-shadow-focus)}.form-control:disabled{opacity:.55;cursor:not-allowed}textarea.form-control{resize:vertical;min-height:7rem}select.form-control{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%236b7280'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z' clip-rule='evenodd'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem;padding-right:2.5rem}.form-check{cursor:pointer;align-items:center;gap:.5rem;display:flex}.form-check input[type=checkbox],.form-check input[type=radio]{width:1.125rem;height:1.125rem;accent-color:var(--brand-primary);cursor:pointer;border-radius:var(--radius-sm);flex-shrink:0}.form-check .form-check-label{color:var(--text-secondary);cursor:pointer;font-size:.9375rem}.input-group{position:relative}.input-group .input-icon{color:var(--text-muted);pointer-events:none;width:1rem;height:1rem;position:absolute;top:50%;left:.875rem;transform:translateY(-50%)}.input-group .form-control{padding-left:2.5rem}.input-group.icon-right .input-icon{left:auto;right:.875rem}.input-group.icon-right .form-control{padding-left:.875rem;padding-right:2.5rem}.form-error{color:var(--danger);margin-top:.25rem;font-size:.8125rem}.form-hint{color:var(--text-muted);margin-top:.25rem;font-size:.8125rem}.search-bar{max-width:32rem;position:relative}.search-bar .search-icon{color:var(--text-muted);pointer-events:none;width:1rem;height:1rem;position:absolute;top:50%;left:.875rem;transform:translateY(-50%)}.search-bar .search-input{background-color:var(--input-bg);width:100%;color:var(--input-text);border:1px solid var(--input-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:.625rem .875rem;font-size:.9375rem;line-height:1.5}.search-bar .search-input::placeholder{color:var(--input-placeholder)}.search-bar .search-input:focus{border-color:var(--input-border-focus);box-shadow:var(--input-shadow-focus)}.search-bar .search-input:disabled{opacity:.55;cursor:not-allowed}.search-bar .search-input{border-radius:var(--radius-full);background-color:var(--bg-surface);padding-left:2.5rem}.search-bar .search-clear{cursor:pointer;color:var(--text-muted);transition:color var(--transition-fast);background:0 0;border:none;position:absolute;top:50%;right:.875rem;transform:translateY(-50%)}.search-bar .search-clear:hover{color:var(--text-secondary)}.quantity-stepper{border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:row;justify-content:flex-start;align-items:center;display:inline-flex;overflow:hidden}.quantity-stepper button{background-color:var(--bg-surface-hover);width:2.25rem;height:2.25rem;color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);border:none;justify-content:center;align-items:center;font-size:1.125rem;display:flex}.quantity-stepper button:hover{background-color:var(--brand-primary-light);color:var(--brand-primary)}.quantity-stepper button:disabled{opacity:.4;pointer-events:none}.quantity-stepper input{text-align:center;border:none;border-inline:1px solid var(--border-color);background-color:var(--bg-surface);width:3rem;color:var(--text-primary);outline:none;font-size:.9375rem;font-weight:600}.filter-bar{flex-flow:wrap;justify-content:flex-start;align-items:center;gap:.75rem;padding-block:1rem;display:flex}.filter-bar .filter-select{background-color:var(--input-bg);width:100%;color:var(--input-text);border:1px solid var(--input-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:.625rem .875rem;font-size:.9375rem;line-height:1.5}.filter-bar .filter-select::placeholder{color:var(--input-placeholder)}.filter-bar .filter-select:focus{border-color:var(--input-border-focus);box-shadow:var(--input-shadow-focus)}.filter-bar .filter-select:disabled{opacity:.55;cursor:not-allowed}.filter-bar .filter-select{cursor:pointer;border-radius:var(--radius-full);width:auto;min-width:8rem;padding-right:2rem}.badge{background:var(--badge-bg);color:var(--badge-text);border-radius:var(--radius-full);padding:.25rem .75rem;font-size:.8125rem;font-weight:600;line-height:1.4;display:inline-block}.badge-success,.status-badge.delivered{background:var(--badge-success-bg);color:var(--badge-success-text);border-radius:var(--radius-full);padding:.25rem .75rem;font-size:.8125rem;font-weight:600;line-height:1.4;display:inline-block}.badge-danger,.status-badge.cancelled{background:var(--badge-danger-bg);color:var(--badge-danger-text);border-radius:var(--radius-full);padding:.25rem .75rem;font-size:.8125rem;font-weight:600;line-height:1.4;display:inline-block}.badge-warning,.status-badge.pending{background:var(--badge-warn-bg);color:var(--badge-warn-text);border-radius:var(--radius-full);padding:.25rem .75rem;font-size:.8125rem;font-weight:600;line-height:1.4;display:inline-block}.badge-info,.status-badge.shipped{background:var(--brand-primary-light);color:var(--brand-primary);border-radius:var(--radius-full);padding:.25rem .75rem;font-size:.8125rem;font-weight:600;line-height:1.4;display:inline-block}.badge-primary{background:var(--brand-primary);color:var(--text-on-brand);border-radius:var(--radius-full);padding:.25rem .75rem;font-size:.8125rem;font-weight:600;line-height:1.4;display:inline-block}.badge-out-of-stock{background:var(--badge-danger-bg);color:var(--badge-danger-text);border-radius:var(--radius-full);padding:.25rem .75rem;font-size:.8125rem;font-weight:600;line-height:1.4;display:inline-block}.price-pill{background:var(--badge-bg);color:var(--badge-text);border-radius:var(--radius-full);padding:.25rem .75rem;font-size:.9375rem;font-weight:700;line-height:1.4;display:inline-block}.chip{background:var(--bg-surface-alt);color:var(--text-secondary);border-radius:var(--radius-full);border:1px solid var(--border-color);cursor:default;transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);padding:.25rem .75rem;font-size:.8125rem;font-weight:600;line-height:1.4;display:inline-block}.chip:hover,.chip.active{background-color:var(--brand-primary-light);color:var(--brand-primary);border-color:var(--brand-primary)}.dot{background-color:var(--text-muted);border-radius:50%;width:.5rem;height:.5rem;display:inline-block}.dot.dot-success{background-color:var(--success)}.dot.dot-danger{background-color:var(--danger)}.dot.dot-warning{background-color:var(--warning)}.dot.dot-primary{background-color:var(--brand-primary)}.status-badge{border-radius:var(--radius-full);flex-direction:row;justify-content:flex-start;align-items:center;gap:.375rem;padding:.25rem .75rem;font-size:.8125rem;font-weight:600;display:inline-flex}.banner{background-color:var(--bg-secondary);justify-content:center;align-items:center;width:100%;min-height:28rem;display:flex;position:relative;overflow:hidden}.banner.bg-banner{background-image:url(/banner.png);background-position:50%;background-repeat:no-repeat;background-size:cover}.banner-overlay{background:var(--bg-overlay);position:absolute;inset:0}.banner-content{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:1.25rem;max-width:48rem;margin-inline:auto;padding:3rem 1.5rem;display:flex;position:relative}.banner-title{color:#fff;text-shadow:0 2px 12px #0000004d;letter-spacing:-.02em;font-size:clamp(1.75rem,5vw,3.5rem);font-weight:800;line-height:1.15}.banner-subtitle{color:#ffffffd9;max-width:32rem;font-size:clamp(1rem,2.5vw,1.25rem);line-height:1.6}.banner-cta{flex-flow:wrap;justify-content:center;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.promo-strip{background-color:var(--brand-primary);color:var(--text-on-brand);text-align:center;letter-spacing:.01em;padding:.5rem 1rem;font-size:.875rem;font-weight:600}.promo-strip a{color:inherit;text-underline-offset:2px;opacity:.9;margin-left:.5rem;text-decoration:underline}.promo-strip a:hover{opacity:1}.layout-root{background-color:var(--bg-primary);min-height:100vh}.hero{background:linear-gradient(135deg,#052e16 0%,#14532d 50%,#166534 100%);flex-direction:column;min-height:min(90vh,720px);display:flex;position:relative;overflow:hidden}.hero-farm{background:linear-gradient(140deg,#052e16 0%,#14532d 45%,#1a6b3a 75%,#15803d 100%)}.hero-blob{filter:blur(90px);pointer-events:none;border-radius:50%;position:absolute}.hero-blob-1{opacity:.18;background:#22c55e;width:560px;height:560px;top:-160px;right:-80px}.hero-blob-2{opacity:.13;background:#f59e0b;width:380px;height:380px;bottom:-80px;left:-60px}.hero-blob-3{opacity:.14;background:#84cc16;width:240px;height:240px;top:42%;left:38%}.hero-inner{z-index:1;flex:1;grid-template-columns:1fr;align-items:center;gap:3rem;width:100%;margin-inline:auto;padding:2rem;display:grid;position:relative}@media (width>=768px){.hero-inner{grid-template-columns:1fr 1fr;padding:2rem}}.hero-content{color:#fff;flex-direction:column;gap:1.5rem;display:flex}@media (width<=767px){.hero-content{text-align:center;align-items:center}}.hero-eyebrow{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:var(--radius-full);color:#ffffffe6;letter-spacing:.04em;background:#ffffff1a;border:1px solid #ffffff2e;align-items:center;gap:.5rem;width:fit-content;padding:.35rem 1rem;font-size:.8125rem;font-weight:600;display:inline-flex}.eyebrow-dot{background:#34d399;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.7)}}.hero-title{letter-spacing:-.025em;color:#fff;margin:0;font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.12}.hero-highlight{background:linear-gradient(90deg,#86efac,#fde68a);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:#ffffffb8;max-width:32rem;margin:0;font-size:clamp(1rem,2vw,1.125rem);line-height:1.7}.hero-actions{flex-wrap:wrap;gap:.875rem;margin-top:.5rem;display:flex}@media (width<=767px){.hero-actions{justify-content:center}}.hero-btn-primary{color:#fff;border-radius:var(--radius-full);transition:background-color var(--transition-base), transform var(--transition-fast), box-shadow var(--transition-base);background:#16a34a;flex-direction:row;justify-content:flex-start;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-size:1rem;font-weight:700;text-decoration:none;display:flex;box-shadow:0 4px 18px #16a34a8c}.hero-btn-primary:hover{color:#fff;background:#15803d;transform:translateY(-2px);box-shadow:0 8px 24px #16a34a99}.hero-btn-ghost{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#ffffffe6;border-radius:var(--radius-full);transition:background-color var(--transition-base), border-color var(--transition-base), transform var(--transition-fast);background:#ffffff1a;border:1.5px solid #ffffff40;justify-content:center;align-items:center;padding:.75rem 1.75rem;font-size:1rem;font-weight:600;text-decoration:none;display:flex}.hero-btn-ghost:hover{color:#fff;background:#ffffff2e;border-color:#ffffff73;transform:translateY(-2px)}.hero-trust{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.25rem;display:flex}@media (width<=767px){.hero-trust{justify-content:center}}.trust-item{color:#ffffffb3;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:500;display:flex}.trust-icon{font-size:.9375rem}.trust-divider{background:#fff3;width:1px;height:14px}.hero-visual{aspect-ratio:1;justify-content:center;align-items:center;width:100%;max-width:380px;margin-inline:auto;display:flex;position:relative}@media (width<=767px){.hero-visual{display:none}}.hero-ring{border:1px solid #ffffff1f;border-radius:50%;position:absolute}.hero-ring-outer{width:100%;height:100%;animation:28s linear infinite spin-slow}.hero-ring-middle{width:72%;height:72%;animation:18s linear infinite reverse spin-slow}.hero-ring-inner{border-color:#60a5fa40;width:46%;height:46%}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hero-icon-center{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1;background:#ffffff0f;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:5.5rem;height:5.5rem;display:flex}.hero-icon-center svg{width:3rem;height:3rem}.hero-float{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-full);color:#ffffffe6;white-space:nowrap;z-index:2;background:#ffffff1a;border:1px solid #fff3;align-items:center;gap:.375rem;padding:.4rem .875rem;font-size:.8rem;font-weight:600;display:flex;position:absolute}.float-icon{font-size:.9rem}.hero-float-1{animation:4s ease-in-out infinite float-a;top:14%;right:4%}.hero-float-2{animation:5s ease-in-out infinite float-b;bottom:22%;left:2%}.hero-float-3{animation:4.5s ease-in-out 1s infinite float-a;bottom:8%;right:10%}@keyframes float-a{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes float-b{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.hero-journey{flex-wrap:nowrap;align-items:center;gap:0;margin-top:.25rem;display:flex}@media (width<=767px){.hero-journey{justify-content:center}}.journey-step{flex-direction:column;align-items:center;gap:.25rem;display:flex}.journey-icon{width:2.5rem;height:2.5rem;transition:background var(--transition-base), border-color var(--transition-base);background:#ffffff1a;border:1.5px solid #fff3;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;display:flex}.journey-step.active .journey-icon{background:#86efac40;border-color:#86efac}.journey-label{color:#fff9;letter-spacing:.03em;font-size:.6875rem;font-weight:600}.journey-step.active .journey-label{color:#86efac}.journey-line{background:linear-gradient(90deg,#fff3,#86efac66);flex:1;min-width:1.5rem;height:1.5px;margin-bottom:1.25rem}.hero-wave{width:100%;line-height:0}.hero-wave svg{width:100%;height:60px;display:block}.bs-section{background-color:var(--bg-secondary);padding-block:4rem}.bs-container{max-width:var(--container-max);margin-inline:auto;padding-inline:1.5rem}@media (width>=1024px){.bs-container{padding-inline:2rem}}.bs-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.bs-header-left{flex-direction:column;gap:.25rem;display:flex}.bs-header-right{align-items:center;gap:.75rem;display:flex}.bs-view-all{color:var(--brand-primary);border:1.5px solid var(--brand-primary);border-radius:var(--radius-full);transition:background-color var(--transition-fast), color var(--transition-fast);padding:.3rem .875rem;font-size:.875rem;font-weight:600;text-decoration:none}.bs-view-all:hover{background-color:var(--brand-primary);color:#fff}.bs-eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--brand-primary);font-size:.8125rem;font-weight:700}.bs-title{color:var(--text-primary);margin:0;font-size:clamp(1.25rem,3vw,2rem);font-weight:800}.bs-nav-arrows{flex-direction:row;justify-content:flex-start;align-items:center;gap:.5rem;display:flex}.bs-arrow{background-color:var(--bg-surface);border:1.5px solid var(--border-color);width:2.5rem;height:2.5rem;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.bs-arrow:hover{background-color:var(--brand-primary);border-color:var(--brand-primary);color:#fff;box-shadow:var(--shadow-sm)}.bs-viewport{cursor:grab;overflow:hidden}.bs-viewport:active{cursor:grabbing}.bs-track{transition:transform .45s cubic-bezier(.25,.46,.45,.94);display:flex}.bs-slide{box-sizing:border-box;padding-inline:.625rem}.bs-card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);color:inherit;transition:transform var(--transition-base), box-shadow var(--transition-base);flex-direction:column;height:100%;text-decoration:none;display:flex;overflow:hidden}.bs-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-5px)}.bs-card-img-wrap{aspect-ratio:4/3;background-color:var(--bg-surface-alt);width:100%;position:relative;overflow:hidden}.bs-card-img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.bs-card:hover .bs-card-img{transform:scale(1.04)}.bs-card-sold-badge{color:#fff;border-radius:var(--radius-full);background:linear-gradient(135deg,#f97316,#ef4444);padding:.25rem .625rem;font-size:.75rem;font-weight:700;position:absolute;top:.625rem;left:.625rem}.bs-card-sold-badge.bs-card-new-badge{background:linear-gradient(135deg,#16a34a,#15803d)}.bs-card-body{flex-direction:column;flex:1;gap:.375rem;padding:1.125rem;display:flex}.bs-card-category{text-transform:uppercase;letter-spacing:.07em;color:var(--brand-primary);margin:0;font-size:.75rem;font-weight:600}.bs-card-title{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:1rem;font-weight:700;display:-webkit-box;overflow:hidden}.bs-card-desc{color:var(--text-secondary);flex:1;margin:0;font-size:.8125rem;line-height:1.55}.bs-card-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;padding-top:.75rem;display:flex}.bs-card-price{color:var(--brand-primary);font-size:1.125rem;font-weight:800}.bs-card-btn{border-radius:var(--radius-full);border:1.5px solid var(--brand-primary);color:var(--brand-primary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;padding:.375rem .875rem;font-size:.8125rem;font-weight:600}.bs-card-btn:hover,.bs-card-btn.added{background:var(--brand-primary);color:#fff}.bs-card-btn.added{border-color:var(--success);background:var(--success)}.bs-dots{flex-direction:row;justify-content:center;align-items:center;gap:.375rem;margin-top:2rem;display:flex}.bs-dot{border-radius:var(--radius-full);background-color:var(--border-strong);cursor:pointer;width:8px;height:8px;transition:width var(--transition-base), background-color var(--transition-base);border:none}.bs-dot.active{background-color:var(--brand-primary);width:24px}.product-section{background-color:var(--bg-primary);padding-block:4rem}.product-container{max-width:var(--container-max);margin-inline:auto;padding-inline:1.5rem}@media (width>=1024px){.product-container{padding-inline:2rem}}.product-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.product-section-heading{flex-direction:column;gap:.25rem;display:flex}.product-section-title{color:var(--text-primary);margin:0;font-size:clamp(1.25rem,3vw,2rem);font-weight:800}.product-section-sub{color:var(--text-muted);margin:0;font-size:.9375rem}.view-all-link{color:var(--brand-primary);border:1.5px solid var(--brand-primary);border-radius:var(--radius-full);transition:background-color var(--transition-fast), color var(--transition-fast);align-items:center;gap:.375rem;padding:.4rem 1rem;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.view-all-link:hover{background-color:var(--brand-primary);color:#fff}.product-grid{grid-template-columns:repeat(1,1fr);gap:1.5rem;display:grid}@media (width>=640px){.product-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=768px){.product-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1024px){.product-grid{grid-template-columns:repeat(4,1fr)}}.product-card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);transition:transform var(--transition-base), box-shadow var(--transition-base);flex-direction:column;display:flex;overflow:hidden}.product-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-4px)}.product-image-wrapper{aspect-ratio:4/3;background-color:var(--bg-surface-alt);justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.product-image{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.product-card:hover .product-image{transform:scale(1.04)}.product-card-body{flex-direction:column;flex:1;gap:.375rem;display:flex}.product-title{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1rem;font-weight:700;display:-webkit-box;overflow:hidden}.product-price{color:#374151;margin-bottom:10px;margin-right:10px;font-size:14px;font-weight:600}.btn-primary{border-radius:var(--radius-full);background-color:var(--brand-primary);color:#fff;cursor:pointer;transition:background-color var(--transition-base), transform var(--transition-fast);border:none;padding:.4rem 1rem;font-size:.8125rem;font-weight:600}.btn-primary:hover{background-color:var(--brand-primary-hover);transform:translateY(-1px)}.product-detail-card{grid-template-columns:1fr;gap:2rem;padding:2rem 0;display:grid}@media (width>=768px){.product-detail-card{grid-template-columns:1fr 1fr}}.product-detail-image-col{background-color:var(--bg-surface-alt);border:1px solid var(--border-color);border-radius:var(--radius-lg);justify-content:center;align-items:center;min-height:20rem;display:flex;overflow:hidden}.product-detail-image-col .product-image-wrapper{width:100%;height:100%;padding:1.5rem}.product-detail-image-col .product-image{object-fit:contain;width:100%;height:auto;max-height:28rem}.product-detail-info{flex-direction:column;gap:1rem;display:flex}.product-detail-category{text-transform:uppercase;letter-spacing:.08em;color:var(--brand-primary);font-size:.8125rem;font-weight:700}.product-detail-title{color:var(--text-primary);margin:0;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:800;line-height:1.2}.product-detail-price{color:var(--brand-primary);margin:0;font-size:1.75rem;font-weight:800}.product-detail-description{color:var(--text-secondary);margin:0;font-size:.9375rem;line-height:1.7}.product-detail-meta{flex-wrap:wrap;gap:.5rem;display:flex}.product-skeleton{border-radius:var(--radius-lg);background-color:var(--card-bg);border:1px solid var(--card-border);overflow:hidden}.product-skeleton .skeleton-img{aspect-ratio:4/3;background:linear-gradient(90deg, var(--bg-surface-alt) 25%, var(--bg-surface-hover) 50%, var(--bg-surface-alt) 75%);background-size:200% 100%;width:100%;animation:1.4s infinite shimmer}.product-skeleton .skeleton-body{flex-direction:column;gap:.5rem;padding:1rem;display:flex}.product-skeleton .skeleton-line{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--bg-surface-alt) 25%, var(--bg-surface-hover) 50%, var(--bg-surface-alt) 75%);background-size:200% 100%;height:.875rem;animation:1.4s infinite shimmer}.product-skeleton .skeleton-line.w-75{width:75%}.product-skeleton .skeleton-line.w-50{width:50%}.shop-page{max-width:var(--container-max);margin-inline:auto;padding-inline:1rem}@media (width>=640px){.shop-page{padding-inline:1.5rem}}@media (width>=1024px){.shop-page{padding-inline:2rem}}.shop-page{grid-template-columns:1fr;gap:2rem;padding-block:2.5rem;display:grid}@media (width>=1024px){.shop-page{grid-template-columns:15rem 1fr;align-items:start}}.shop-sidebar{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);top:calc(var(--navbar-height) + 1rem);padding:1.5rem;position:sticky}@media (width<=1023px){.shop-sidebar{display:none}}.shop-sidebar__title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:1.25rem;font-size:.8125rem;font-weight:700}.shop-sidebar__section{border-top:1px solid var(--border-color);padding-block:1.25rem}.shop-sidebar__section-label{color:var(--text-primary);margin-bottom:.75rem;font-size:.9375rem;font-weight:600}.shop-sidebar__list{flex-direction:column;gap:.5rem;display:flex}.shop-sidebar__item{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast), color var(--transition-fast);flex-direction:row;justify-content:flex-start;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.9rem;display:flex}.shop-sidebar__item:hover,.shop-sidebar__item.active{background-color:var(--brand-primary-light);color:var(--brand-primary)}.shop-main{flex-direction:column;gap:1.5rem;display:flex}.shop-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.shop-topbar .result-count{color:var(--text-muted);font-size:.9rem}.shop-topbar .result-count strong{color:var(--text-primary);font-weight:700}.pagination{flex-flow:wrap;justify-content:center;align-items:center;gap:.375rem;margin-top:2rem;display:flex}.pagination button{border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-surface);min-width:2.25rem;height:2.25rem;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;font-size:.875rem;font-weight:500;display:flex}.pagination button:hover{background-color:var(--brand-primary-light);color:var(--brand-primary);border-color:var(--brand-primary)}.pagination button.active{background-color:var(--brand-primary);color:var(--text-on-brand);border-color:var(--brand-primary)}.pagination button:disabled{opacity:.4;pointer-events:none}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.empty-state .empty-icon{width:4rem;height:4rem;color:var(--text-muted);opacity:.6}.empty-state .empty-title{color:var(--text-primary);font-size:1.25rem;font-weight:700}.empty-state .empty-desc{color:var(--text-muted);max-width:22rem;font-size:.9375rem;line-height:1.6}.product-page{max-width:var(--container-max);margin-inline:auto;padding-inline:1rem}@media (width>=640px){.product-page{padding-inline:1.5rem}}@media (width>=1024px){.product-page{padding-inline:2rem}}.product-page{padding-block:2.5rem}.breadcrumb{color:var(--text-muted);flex-flow:wrap;justify-content:flex-start;align-items:center;gap:.5rem;margin-bottom:1.75rem;font-size:.875rem;display:flex}.breadcrumb a{color:var(--text-muted);transition:color var(--transition-fast)}.breadcrumb a:hover{color:var(--brand-primary)}.breadcrumb .separator{color:var(--border-strong);-webkit-user-select:none;user-select:none}.breadcrumb span:last-child{color:var(--text-secondary);font-weight:500}.product-layout{grid-template-columns:1fr;gap:2.5rem;display:grid}@media (width>=768px){.product-layout{grid-template-columns:1fr 1fr}}@media (width>=1024px){.product-layout{grid-template-columns:1.1fr .9fr}}.product-gallery{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:1.5rem;display:flex}.product-gallery .gallery-main{aspect-ratio:4/3;object-fit:contain;border-radius:var(--radius-md);background-color:var(--bg-surface-alt);width:100%}.product-gallery .gallery-thumbs{flex-flow:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.product-gallery .gallery-thumb{border-radius:var(--radius-md);border:2px solid var(--border-color);object-fit:cover;cursor:pointer;width:4rem;height:4rem;transition:border-color var(--transition-fast)}.product-gallery .gallery-thumb:hover,.product-gallery .gallery-thumb.active{border-color:var(--brand-primary)}.product-info{flex-direction:column;gap:1.25rem;display:flex}.product-info .product-category{text-transform:uppercase;letter-spacing:.08em;color:var(--brand-primary);font-size:.8125rem;font-weight:600}.product-info .product-name{color:var(--text-primary);font-size:clamp(1.25rem,3vw,2rem);font-weight:800;line-height:1.2}.product-info .product-rating{color:var(--text-muted);flex-direction:row;justify-content:flex-start;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.product-info .product-rating .stars{color:var(--warning)}.product-info .product-rating .count{color:var(--text-muted)}.product-info .product-price-row{flex-direction:row;justify-content:flex-start;align-items:baseline;gap:.75rem;display:flex}.product-info .product-price-row .price-main{color:var(--brand-primary);font-size:1.875rem;font-weight:800}.product-info .product-price-row .price-original{color:var(--text-muted);font-size:1.125rem;text-decoration:line-through}.product-info .product-price-row .price-discount{color:var(--success);font-size:.875rem;font-weight:700}.product-info .product-desc{color:var(--text-secondary);border-top:1px solid var(--border-color);padding-top:1.25rem;font-size:.9375rem;line-height:1.7}.product-info .product-actions{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.75rem;padding-top:.5rem;display:flex}@media (width>=640px){.product-info .product-actions{flex-direction:row}}.product-info .product-meta{border-top:1px solid var(--border-color);grid-template-columns:auto 1fr;gap:.375rem 1rem;padding-top:.5rem;font-size:.875rem;display:grid}.product-info .product-meta dt{color:var(--text-muted);font-weight:500}.product-info .product-meta dd{color:var(--text-primary);font-weight:600}.cart-page{max-width:var(--container-max);margin-inline:auto;padding-inline:1rem}@media (width>=640px){.cart-page{padding-inline:1.5rem}}@media (width>=1024px){.cart-page{padding-inline:2rem}}.cart-page{grid-template-columns:1fr;align-items:start;gap:1.75rem;padding-block:2.5rem;display:grid}@media (width>=1024px){.cart-page{grid-template-columns:1fr 22rem}}.cart-main{flex-direction:column;gap:0;display:flex}.cart-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.cart-heading{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:800}.cart-count{color:var(--text-muted);background-color:var(--bg-surface-alt);border:1px solid var(--border-color);border-radius:var(--radius-full);padding:.2rem .75rem;font-size:.9rem;font-weight:500}.cart-list-labels{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border-color);grid-template-columns:1fr auto auto auto;gap:1rem;margin-bottom:.5rem;padding:0 1rem .625rem;font-size:.75rem;font-weight:700;display:grid}@media (width<=639px){.cart-list-labels{display:none}}.cart-list{flex-direction:column;display:flex}.cart-item{border-bottom:1px solid var(--border-light);transition:background-color var(--transition-fast);grid-template-columns:5rem 1fr auto auto auto;align-items:center;gap:1rem;padding:1rem;display:grid}.cart-item:last-child{border-bottom:none}.cart-item:hover{background-color:var(--bg-surface-hover);border-radius:var(--radius-md)}@media (width<=639px){.cart-item{grid-template-rows:auto auto;grid-template-columns:4rem 1fr;row-gap:.75rem}.cart-item .cart-item-subtotal{display:none}}.cart-item-image{object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-surface-alt);flex-shrink:0;width:5rem;height:5rem}.cart-item-info{flex-direction:column;gap:.2rem;min-width:0;display:flex}.cart-item-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.9375rem;font-weight:600;text-decoration:none;overflow:hidden}.cart-item-name:hover{color:var(--brand-primary)}.cart-item-category{color:var(--text-muted);text-transform:capitalize;font-size:.8rem}.cart-item-unit-price{color:var(--text-muted);margin-top:.125rem;font-size:.8125rem}.qty-stepper{border:1.5px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-surface);flex-direction:row;justify-content:flex-start;align-items:center;width:fit-content;display:flex;overflow:hidden}.qty-btn{width:2rem;height:2rem;color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:1.125rem;font-weight:500;line-height:1;display:flex}.qty-btn:hover:not(:disabled){background-color:var(--bg-surface-hover);color:var(--text-primary)}.qty-btn:disabled{color:var(--text-muted);opacity:.4;cursor:not-allowed}.qty-value{text-align:center;min-width:2.25rem;color:var(--text-primary);border-left:1.5px solid var(--border-color);border-right:1.5px solid var(--border-color);padding-block:.25rem;font-size:.9rem;font-weight:600}.cart-item-subtotal{color:var(--text-primary);text-align:right;min-width:5rem;font-size:1rem;font-weight:700}.cart-item-remove{justify-content:center;align-items:center;display:flex}.cart-item-remove:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.cart-item-remove{width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none}.cart-item-remove:hover{background-color:var(--badge-danger-bg);color:var(--danger)}.cart-actions{border-top:1px solid var(--border-color);margin-top:1.25rem;padding-top:1.25rem}.cart-continue-link{color:var(--brand-primary);transition:opacity var(--transition-fast);font-size:.875rem;font-weight:600;text-decoration:none}.cart-continue-link:hover{opacity:.75}.cart-empty{text-align:center;background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;padding:4rem 2rem;display:flex}.cart-empty-icon{color:var(--text-muted);opacity:.35}.empty-title{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:700}.empty-desc{color:var(--text-muted);margin:0;font-size:.9375rem}.cart-summary{top:calc(var(--navbar-height) + 1rem);position:sticky}.checkout-card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.summary-title{color:var(--text-primary);border-bottom:1px solid var(--border-color);margin:0;padding-bottom:.875rem;font-size:1.0625rem;font-weight:700}.summary-items{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.summary-item{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.summary-item-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:13rem;font-size:.875rem;overflow:hidden}.summary-item-qty{color:var(--text-muted);font-size:.8125rem;font-style:normal}.summary-item-price{color:var(--text-primary);flex-shrink:0;font-size:.875rem;font-weight:600}.summary-divider{border:none;border-top:1px solid var(--border-color);margin:0}.summary-row{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.9rem;display:flex}.summary-row span:last-child{color:var(--text-primary);font-weight:600}.summary-free{color:var(--success);font-weight:600}.summary-total{color:var(--text-primary);justify-content:space-between;align-items:center;font-size:1.0625rem;font-weight:800;display:flex}.summary-total span:last-child{color:var(--brand-primary)}.summary-checkout-section{flex-direction:column;gap:.625rem;display:flex}.summary-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.8125rem;font-weight:600}.summary-address{background-color:var(--input-bg);width:100%;color:var(--input-text);border:1px solid var(--input-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:.625rem .875rem;font-size:.9375rem;line-height:1.5}.summary-address::placeholder{color:var(--input-placeholder)}.summary-address:focus{border-color:var(--input-border-focus);box-shadow:var(--input-shadow-focus)}.summary-address:disabled{opacity:.55;cursor:not-allowed}.summary-address{resize:vertical;min-height:5rem;font-size:.875rem;line-height:1.55}.summary-error{color:var(--danger);margin:0;font-size:.8125rem}.summary-pay-btn{background-color:var(--brand-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;width:100%;transition:background-color var(--transition-base), transform var(--transition-fast);border:none;justify-content:center;align-items:center;margin-top:.25rem;padding:.8125rem;font-size:1rem;font-weight:700;display:flex;box-shadow:0 4px 14px #16a34a59}.summary-pay-btn:hover:not(:disabled){background-color:#15803d;transform:translateY(-1px);box-shadow:0 6px 18px #16a34a73}.summary-pay-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.summary-pay-spinner{border:2.5px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:1.125rem;height:1.125rem;animation:.7s linear infinite spin;display:inline-block}.summary-success{background-color:var(--badge-success-bg);color:var(--success);border-radius:var(--radius-md);text-align:center;border:1px solid;padding:.75rem 1rem;font-size:.875rem;font-weight:600}.summary-signin-btn{background-color:var(--brand-primary);color:#fff;border-radius:var(--radius-md);width:100%;transition:background-color var(--transition-base);justify-content:center;align-items:center;padding:.8125rem;font-size:.9375rem;font-weight:700;text-decoration:none;display:flex}.summary-signin-btn:hover{color:#fff;background-color:#15803d}.checkout-page{max-width:var(--container-max);margin-inline:auto;padding-inline:1rem}@media (width>=640px){.checkout-page{padding-inline:1.5rem}}@media (width>=1024px){.checkout-page{padding-inline:2rem}}.checkout-page{grid-template-columns:1fr;gap:2rem;padding-block:2.5rem;display:grid}@media (width>=1024px){.checkout-page{grid-template-columns:1fr 22rem}}.checkout-steps{counter-reset:step;flex-direction:row;justify-content:center;align-items:center;margin-bottom:2rem;list-style:none;display:flex}.checkout-steps .step{text-align:center;counter-increment:step;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.375rem;max-width:10rem;display:flex;position:relative}.checkout-steps .step:before{content:counter(step);background-color:var(--bg-surface-hover);border:2px solid var(--border-color);width:2rem;height:2rem;color:var(--text-muted);transition:background-color var(--transition-base), border-color var(--transition-base), color var(--transition-base);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-size:.8125rem;font-weight:700;display:flex}.checkout-steps .step:after{content:"";background-color:var(--border-color);width:100%;height:2px;transition:background-color var(--transition-base);z-index:0;position:absolute;top:1rem;left:50%}.checkout-steps .step:last-child:after{display:none}.checkout-steps .step .step-label{color:var(--text-muted);transition:color var(--transition-base);margin-top:.375rem;font-size:.75rem;font-weight:600}.checkout-steps .step.active:before,.checkout-steps .step.done:before{background-color:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.checkout-steps .step.done:after{background-color:var(--brand-primary)}.checkout-steps .step.active .step-label,.checkout-steps .step.done .step-label{color:var(--brand-primary);font-weight:700}.checkout-form{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);flex-direction:column;gap:1.5rem;padding:2rem;display:flex}.checkout-form .form-section-title{color:var(--text-primary);border-bottom:1px solid var(--border-color);padding-bottom:.875rem;font-size:1.0625rem;font-weight:700}.checkout-form .form-row{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.checkout-form .form-row{grid-template-columns:1fr 1fr}}.payment-options{flex-direction:column;gap:.75rem;display:flex}.payment-option{border:1.5px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast);background-color:var(--bg-surface);flex-direction:row;justify-content:flex-start;align-items:center;gap:.875rem;padding:1rem 1.25rem;display:flex}.payment-option.selected,.payment-option:hover{border-color:var(--brand-primary);background-color:var(--brand-primary-light)}.payment-option input[type=radio]{accent-color:var(--brand-primary);flex-shrink:0;width:1.125rem;height:1.125rem}.payment-option .payment-label{color:var(--text-primary);flex:1;font-size:.9375rem;font-weight:600}.payment-option .payment-icon{object-fit:contain;flex-shrink:0;width:2.5rem;height:1.5rem}.checkout-summary{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);height:fit-content;top:calc(var(--navbar-height) + 1rem);flex-direction:column;gap:.875rem;padding:1.5rem;display:flex;position:sticky}.checkout-summary .checkout-item{flex-direction:row;justify-content:flex-start;align-items:center;gap:.75rem;display:flex}.checkout-summary .checkout-item img{border-radius:var(--radius-md);object-fit:cover;background-color:var(--bg-surface-alt);border:1px solid var(--border-color);flex-shrink:0;width:3.5rem;height:3.5rem}.checkout-summary .checkout-item .item-info{flex:1;min-width:0}.checkout-summary .checkout-item .item-info .item-name{-webkit-line-clamp:2;color:var(--text-primary);-webkit-box-orient:vertical;font-size:.875rem;font-weight:600;display:-webkit-box;overflow:hidden}.checkout-summary .checkout-item .item-info .item-qty{color:var(--text-muted);font-size:.8125rem}.checkout-summary .checkout-item .item-price{color:var(--text-primary);flex-shrink:0;font-size:.9375rem;font-weight:700}.checkout-summary .summary-line{border-top:1px solid var(--border-color);padding-top:.875rem}.checkout-summary .summary-row{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.9rem;display:flex}.checkout-summary .summary-total{color:var(--text-primary);justify-content:space-between;align-items:center;font-size:1.0625rem;font-weight:800;display:flex}.checkout-summary .summary-total span:last-child{color:var(--brand-primary)}.payment-modal-overlay{background:var(--bg-overlay);z-index:400;justify-content:center;align-items:center;padding:1rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.payment-modal{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);text-align:center;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:28rem;padding:2.5rem 2rem;animation:.25s slideUp;display:flex}.payment-modal .payment-modal-icon{border-radius:50%;justify-content:center;align-items:center;width:5rem;height:5rem;margin-bottom:.5rem;display:flex}.payment-modal .payment-modal-icon svg{width:2.25rem;height:2.25rem}.payment-modal .payment-modal-icon.success{color:#059669;background-color:#d1fae5}.payment-modal .payment-modal-icon.failure{color:#dc2626;background-color:#fee2e2}.payment-modal .payment-modal-title{color:var(--text-primary);margin:0;font-size:1.375rem;font-weight:800}.payment-modal .payment-modal-subtitle{color:var(--text-secondary);max-width:22rem;margin:0;font-size:.9375rem}.payment-modal .payment-modal-details{background:var(--bg-surface-alt);border:1px solid var(--border-color);border-radius:var(--radius-md);text-align:left;flex-direction:column;gap:.625rem;width:100%;padding:1rem 1.25rem;display:flex}.payment-modal .payment-modal-details .payment-modal-detail-row{justify-content:space-between;align-items:flex-start;gap:.75rem;font-size:.875rem;display:flex}.payment-modal .payment-modal-details .payment-modal-detail-row span:first-child{color:var(--text-muted);flex-shrink:0}.payment-modal .payment-modal-details .payment-modal-detail-row strong{color:var(--text-primary);font-weight:700}.payment-modal .payment-modal-details .payment-modal-detail-row code{color:var(--brand-primary);word-break:break-all;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.8125rem}.payment-modal .payment-modal-details .payment-modal-detail-row .payment-modal-address{color:var(--text-secondary);text-align:right;line-height:1.4}.payment-modal .payment-modal-actions{flex-direction:column;gap:.625rem;width:100%;margin-top:.5rem;display:flex}@media (width>=640px){.payment-modal .payment-modal-actions{flex-direction:row}}.payment-modal .payment-modal-btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.9375rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.payment-modal .payment-modal-btn:active{transform:scale(.97)}.payment-modal .payment-modal-btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.payment-modal .payment-modal-btn{text-align:center;flex:1;padding:.75rem 1.25rem;text-decoration:none}.payment-modal .payment-modal-btn.primary{background:var(--brand-primary);color:#fff}.payment-modal .payment-modal-btn.primary:hover{background:var(--brand-primary-hover)}.payment-modal .payment-modal-btn.secondary{background:var(--bg-surface-alt);color:var(--text-secondary);border:1px solid var(--border-color)}.payment-modal .payment-modal-btn.secondary:hover{background:var(--bg-surface-hover);color:var(--text-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(1.5rem)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-page{background-color:var(--bg-secondary);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.auth-card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);flex-direction:column;gap:1.5rem;width:100%;max-width:26rem;padding:2.5rem 2rem;display:flex}.auth-header{text-align:center}.auth-header .auth-logo{color:var(--brand-primary);margin-bottom:1rem;font-size:1.5rem;font-weight:800;display:inline-block}.auth-header .auth-title{color:var(--text-primary);font-size:1.5rem;font-weight:800;line-height:1.2}.auth-header .auth-subtitle{color:var(--text-muted);margin-top:.375rem;font-size:.9rem;line-height:1.5}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-divider{color:var(--text-muted);flex-direction:row;justify-content:flex-start;align-items:center;gap:.75rem;font-size:.8125rem;font-weight:500;display:flex}.auth-divider:before,.auth-divider:after{content:"";background-color:var(--border-color);flex:1;height:1px}.oauth-buttons{flex-direction:column;gap:.625rem;display:flex}.oauth-btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.9375rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.oauth-btn:active{transform:scale(.97)}.oauth-btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.oauth-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.oauth-btn{background-color:var(--bg-surface);color:var(--text-primary);border:1.5px solid var(--border-color);width:100%;transition:background-color var(--transition-fast), border-color var(--transition-fast)}.oauth-btn:hover{background-color:var(--bg-surface-hover);border-color:var(--border-strong)}.oauth-btn img{width:1.25rem;height:1.25rem}.auth-footer{text-align:center;color:var(--text-muted);font-size:.875rem}.auth-footer a{color:var(--brand-primary);transition:color var(--transition-fast);margin-left:.25rem;font-weight:600}.auth-footer a:hover{color:var(--brand-primary-hover)}.auth-alert{border-radius:var(--radius-md);flex-direction:row;justify-content:flex-start;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;display:flex}.auth-alert.error{background-color:var(--badge-danger-bg);color:var(--badge-danger-text)}.auth-alert.success{background-color:var(--badge-success-bg);color:var(--badge-success-text)}.dashboard-page{max-width:var(--container-max);margin-inline:auto;padding-inline:1rem}@media (width>=640px){.dashboard-page{padding-inline:1.5rem}}@media (width>=1024px){.dashboard-page{padding-inline:2rem}}.dashboard-page{grid-template-columns:1fr;gap:2rem;padding-block:2.5rem;display:grid}@media (width>=1024px){.dashboard-page{grid-template-columns:15rem 1fr}}.dashboard-sidebar{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);height:fit-content;top:calc(var(--navbar-height) + 1rem);position:sticky;overflow:hidden}.dashboard-sidebar .sidebar-avatar-block{background:linear-gradient(135deg, var(--brand-primary) 0%, #6366f1 100%);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:2rem 1.5rem 1.5rem;display:flex}.dashboard-sidebar .sidebar-avatar-circle{color:#fff;letter-spacing:.05em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff40;border:3px solid #fff9;border-radius:50%;justify-content:center;align-items:center;width:5rem;height:5rem;font-size:1.5rem;font-weight:800;display:flex}.dashboard-sidebar .sidebar-name{color:#fff;font-size:1rem;font-weight:700}.dashboard-sidebar .sidebar-email{color:#ffffffbf;font-size:.75rem}.dashboard-sidebar .sidebar-role-pill{color:#fff;border-radius:var(--radius-full);letter-spacing:.03em;background:#fff3;border:1px solid #ffffff59;padding:.2rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.dashboard-sidebar .sidebar-role-pill.admin{background:#fbbf244d;border-color:#fbbf2499}.dashboard-sidebar nav{flex-direction:column;padding:.625rem 0;display:flex}.dashboard-sidebar nav a,.dashboard-sidebar nav button{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-left:3px solid #0000;flex-direction:row;justify-content:flex-start;align-items:center;gap:.75rem;padding:.75rem 1.375rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:flex}.dashboard-sidebar nav a:hover,.dashboard-sidebar nav button:hover{background-color:var(--bg-surface-hover);color:var(--text-primary)}.dashboard-sidebar nav a.active,.dashboard-sidebar nav button.active{background-color:var(--brand-primary-light);color:var(--brand-primary);border-left-color:var(--brand-primary);font-weight:700}.dashboard-sidebar nav a svg,.dashboard-sidebar nav button svg{flex-shrink:0;width:1.0625rem;height:1.0625rem}.dashboard-main{flex-direction:column;gap:2rem;display:flex}.dashboard-section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.dashboard-section-title{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:800}.profile-card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);overflow:hidden}.profile-card .profile-info-rows{grid-template-columns:1fr;display:grid}@media (width>=640px){.profile-card .profile-info-rows{grid-template-columns:repeat(3,1fr)}}.profile-card .profile-info-row{border-bottom:1px solid var(--border-color);flex-direction:row;justify-content:flex-start;align-items:center;gap:.875rem;padding:1.375rem 1.75rem;display:flex}@media (width>=640px){.profile-card .profile-info-row{border-bottom:none;border-right:1px solid var(--border-color)}.profile-card .profile-info-row:last-child{border-right:none}}.profile-card .profile-info-row .profile-info-icon{border-radius:var(--radius-md);background:var(--brand-primary-light);flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex}.profile-card .profile-info-row .profile-info-icon svg{width:1.0625rem;height:1.0625rem;color:var(--brand-primary)}.profile-card .profile-info-row .profile-info-text{flex-direction:column;gap:.2rem;min-width:0;display:flex}.profile-card .profile-info-row .profile-info-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.6875rem;font-weight:700}.profile-card .profile-info-row .profile-info-value{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:600;overflow:hidden}.profile-card .profile-card-footer{border-top:1px solid var(--border-color);background:var(--bg-surface-alt);justify-content:space-between;align-items:center;padding:1rem 1.75rem;display:flex}.profile-card .profile-edit-btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.9375rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.profile-card .profile-edit-btn:active{transform:scale(.97)}.profile-card .profile-edit-btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.profile-card .profile-edit-btn{background:var(--brand-primary);color:#fff;flex-direction:row;justify-content:flex-start;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.875rem;text-decoration:none;display:flex}.profile-card .profile-edit-btn svg{width:.9375rem;height:.9375rem}.profile-card .profile-edit-btn:hover{background:var(--brand-primary-hover)}.address-section{flex-direction:column;gap:1.25rem;display:flex}.address-loading{color:var(--text-muted);text-align:center;padding:2rem;font-size:.9375rem}.address-list{flex-direction:column;gap:.875rem;display:flex}.address-card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);transition:box-shadow var(--transition-base);flex-direction:row;justify-content:flex-start;align-items:flex-start;gap:1.125rem;padding:1.25rem 1.5rem;display:flex}.address-card.editing{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-light), var(--card-shadow)}.address-card .address-card-icon{border-radius:var(--radius-md);background:var(--brand-primary-light);flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;margin-top:.125rem;display:flex}.address-card .address-card-icon svg{width:1.125rem;height:1.125rem;color:var(--brand-primary)}.address-card .address-card-body{flex-direction:column;flex:1;gap:.3rem;min-width:0;display:flex}.address-card .address-card-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.6875rem;font-weight:700}.address-card .address-card-text{color:var(--text-primary);margin:0;font-size:.9375rem;font-weight:500;line-height:1.5}.address-card .address-edit-textarea{background-color:var(--input-bg);width:100%;color:var(--input-text);border:1px solid var(--input-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:.625rem .875rem;font-size:.9375rem;line-height:1.5}.address-card .address-edit-textarea::placeholder{color:var(--input-placeholder)}.address-card .address-edit-textarea:focus{border-color:var(--input-border-focus);box-shadow:var(--input-shadow-focus)}.address-card .address-edit-textarea:disabled{opacity:.55;cursor:not-allowed}.address-card .address-edit-textarea{resize:vertical;min-height:5rem;font-size:.9375rem;line-height:1.5}.address-card .address-card-date{color:var(--text-muted);font-size:.8125rem}.address-card .address-card-actions{flex-flow:wrap;flex-shrink:0;justify-content:flex-end;align-self:flex-start;align-items:center;gap:.5rem;display:flex}.address-card .address-card-badge{background:var(--badge-bg);color:var(--badge-text);border-radius:var(--radius-full);white-space:nowrap;padding:.25rem .75rem;font-size:.8125rem;font-weight:600;line-height:1.4;display:inline-block}.address-card .address-card-badge.default{background:var(--badge-success-bg);color:var(--badge-success-text)}.addr-btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.9375rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.addr-btn:active{transform:scale(.97)}.addr-btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.addr-btn{border-radius:var(--radius-md);flex-shrink:0;width:2.125rem;height:2.125rem;padding:0}.addr-btn svg{width:.9375rem;height:.9375rem}.addr-btn.edit{background:var(--bg-surface-alt);color:var(--text-secondary);border:1px solid var(--border-color)}.addr-btn.edit:hover{background:var(--brand-primary-light);color:var(--brand-primary);border-color:var(--brand-primary)}.addr-btn.save{background:var(--brand-primary);color:#fff}.addr-btn.save:hover{background:var(--brand-primary-hover)}.addr-btn.cancel{background:var(--bg-surface-alt);color:var(--text-secondary);border:1px solid var(--border-color)}.addr-btn.cancel:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.addr-btn.delete{background:var(--badge-danger-bg);color:var(--badge-danger-text);border:1px solid #0000}.addr-btn.delete:hover{background:var(--danger);color:#fff}.address-add-btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.9375rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.address-add-btn:active{transform:scale(.97)}.address-add-btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.address-add-btn{border:1.5px dashed var(--border-strong);color:var(--text-secondary);border-radius:var(--radius-md);background:0 0;flex-direction:row;justify-content:flex-start;align-self:flex-start;align-items:center;gap:.5rem;padding:.625rem 1.25rem;display:flex}.address-add-btn svg{width:1rem;height:1rem}.address-add-btn:hover{border-color:var(--brand-primary);color:var(--brand-primary);background:var(--brand-primary-light)}.empty-state-icon{background:var(--brand-primary-light);border-radius:50%;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;margin:0 auto 1rem;display:flex}.empty-state-icon svg{width:1.5rem;height:1.5rem;color:var(--brand-primary)}.profile-edit-page{max-width:var(--container-max);margin-inline:auto;padding-inline:1rem}@media (width>=640px){.profile-edit-page{padding-inline:1.5rem}}@media (width>=1024px){.profile-edit-page{padding-inline:2rem}}.profile-edit-page{min-height:calc(100vh - var(--navbar-height));flex-direction:column;align-items:flex-start;padding-block:3rem;display:flex}.profile-edit-container{flex-direction:column;gap:1.25rem;width:100%;max-width:36rem;display:flex}.profile-back-btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.9375rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.profile-back-btn:active{transform:scale(.97)}.profile-back-btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.profile-back-btn{border:1px solid var(--border-color);color:var(--text-secondary);background:0 0;flex-direction:row;justify-content:flex-start;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;display:flex}.profile-back-btn svg{width:1rem;height:1rem}.profile-back-btn:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.profile-edit-card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);width:100%;overflow:hidden}.profile-edit-card .pec-header{background:linear-gradient(135deg, var(--brand-primary) 0%, #6366f1 100%);flex-direction:row;justify-content:flex-start;align-items:center;gap:1.25rem;padding:2rem 2rem 1.5rem;display:flex}.profile-edit-card .pec-avatar{color:#fff;background:#ffffff40;border:3px solid #fff9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:4rem;height:4rem;font-size:1.25rem;font-weight:800;display:flex}.profile-edit-card .pec-header-text{flex-direction:column;gap:.2rem;display:flex}.profile-edit-card .pec-title{color:#fff;margin:0;font-size:1.25rem;font-weight:800}.profile-edit-card .pec-subtitle{color:#fffc;margin:0;font-size:.875rem}.profile-edit-card .pec-error{background:var(--badge-danger-bg);color:var(--badge-danger-text);border-radius:var(--radius-md);margin:1.25rem 2rem 0;padding:.75rem 1rem;font-size:.875rem;font-weight:500}.profile-edit-card .pec-form{flex-direction:column;gap:1.375rem;padding:1.75rem 2rem 2rem;display:flex}.profile-edit-card .pec-field{flex-direction:column;gap:.5rem;display:flex}.profile-edit-card .pec-label{color:var(--label-text);flex-direction:row;justify-content:flex-start;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:flex}.profile-edit-card .pec-label .pec-label-icon{border-radius:var(--radius-sm);background:var(--brand-primary-light);flex-shrink:0;justify-content:center;align-items:center;width:1.375rem;height:1.375rem;display:flex}.profile-edit-card .pec-label .pec-label-icon svg{width:.8125rem;height:.8125rem;color:var(--brand-primary)}.profile-edit-card .pec-label .pec-optional{color:var(--text-muted);background:var(--bg-surface-alt);border:1px solid var(--border-color);border-radius:var(--radius-full);margin-left:auto;padding:.1rem .5rem;font-size:.75rem;font-weight:500}.profile-edit-card .pec-input{background-color:var(--input-bg);width:100%;color:var(--input-text);border:1px solid var(--input-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:.625rem .875rem;font-size:.9375rem;line-height:1.5}.profile-edit-card .pec-input::placeholder{color:var(--input-placeholder)}.profile-edit-card .pec-input:focus{border-color:var(--input-border-focus);box-shadow:var(--input-shadow-focus)}.profile-edit-card .pec-input:disabled{opacity:.55;cursor:not-allowed}.profile-edit-card .pec-password-wrap{position:relative}.profile-edit-card .pec-password-wrap .pec-input{padding-right:3rem}.profile-edit-card .pec-password-wrap .pec-eye-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;align-items:center;padding:.25rem;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.profile-edit-card .pec-password-wrap .pec-eye-btn svg{width:1.125rem;height:1.125rem}.profile-edit-card .pec-password-wrap .pec-eye-btn:hover{color:var(--text-primary)}.profile-edit-card .pec-actions{border-top:1px solid var(--border-color);flex-direction:row;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:.25rem;padding-top:.5rem;display:flex}.profile-edit-card .pec-cancel-btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.9375rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.profile-edit-card .pec-cancel-btn:active{transform:scale(.97)}.profile-edit-card .pec-cancel-btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.profile-edit-card .pec-cancel-btn{background:var(--bg-surface-alt);color:var(--text-secondary);border:1px solid var(--border-color);padding:.625rem 1.25rem}.profile-edit-card .pec-cancel-btn:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.profile-edit-card .pec-submit-btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.9375rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.profile-edit-card .pec-submit-btn:active{transform:scale(.97)}.profile-edit-card .pec-submit-btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.profile-edit-card .pec-submit-btn{background:var(--brand-primary);color:#fff;padding:.625rem 1.75rem}.profile-edit-card .pec-submit-btn:hover{background:var(--brand-primary-hover)}.profile-edit-card .pec-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite spin;display:inline-block}.profile-edit-success-card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;max-width:28rem;margin:3rem auto;padding:4rem 2rem;display:flex}.profile-edit-success-card .pes-icon{background:#d1fae5;border-radius:50%;justify-content:center;align-items:center;width:4.5rem;height:4.5rem;display:flex}.profile-edit-success-card .pes-icon svg{color:#059669;width:2rem;height:2rem}.profile-edit-success-card .pes-title{color:var(--text-primary);margin:0;font-size:1.375rem;font-weight:800}.profile-edit-success-card .pes-desc{color:var(--text-secondary);margin:0;font-size:.9375rem}.profile-edit-success-card .pes-btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.9375rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.profile-edit-success-card .pes-btn:active{transform:scale(.97)}.profile-edit-success-card .pes-btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.profile-edit-success-card .pes-btn{background:var(--brand-primary);color:#fff;flex-direction:row;justify-content:flex-start;align-items:center;gap:.5rem;margin-top:.5rem;padding:.625rem 1.5rem;display:flex}.profile-edit-success-card .pes-btn svg{width:1rem;height:1rem}.profile-edit-success-card .pes-btn:hover{background:var(--brand-primary-hover)}.order-history{flex-direction:column;gap:1.25rem;display:flex}.order-card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);flex-direction:column;gap:1.125rem;padding:1.5rem;display:flex}.order-card .order-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.order-card .order-card-header .order-card-meta{flex-direction:column;gap:.2rem;display:flex}.order-card .order-card-header .order-card-id{color:var(--text-primary);font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.9375rem;font-weight:700}.order-card .order-card-header .order-card-date{color:var(--text-muted);font-size:.8125rem}.order-card .order-card-header .order-card-right{flex-direction:row;justify-content:flex-start;align-items:center;gap:.75rem;display:flex}.order-card .order-card-header .order-card-total{color:var(--brand-primary);font-size:1.0625rem;font-weight:800}.order-status-badge{background:var(--badge-bg);color:var(--badge-text);border-radius:var(--radius-full);padding:.25rem .75rem;font-size:.8125rem;font-weight:600;line-height:1.4;display:inline-block}.order-status-badge.status-pending{background:var(--badge-warn-bg);color:var(--badge-warn-text)}.order-status-badge.status-processing{color:#1e40af;background:#dbeafe}.order-status-badge.status-shipped{color:#6d28d9;background:#ede9fe}.order-status-badge.status-delivered{background:var(--badge-success-bg);color:var(--badge-success-text)}.order-status-badge.status-cancelled{background:var(--badge-danger-bg);color:var(--badge-danger-text)}.track-stepper{align-items:flex-start;gap:0;padding:.25rem 0;display:flex;overflow-x:auto}.track-step{flex-direction:column;flex:1;align-items:center;gap:.375rem;min-width:5rem;display:flex}.track-step .track-dot{border:2px solid var(--border-color);background:var(--bg-surface-alt);z-index:1;border-radius:50%;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;transition:background .2s,border-color .2s;display:flex;position:relative}.track-step .track-dot svg{color:#fff;width:.875rem;height:.875rem}.track-step .track-label{color:var(--text-muted);text-align:center;font-size:.6875rem;font-weight:600;line-height:1.3;transition:color .2s}.track-step.done .track-dot{background:var(--brand-primary);border-color:var(--brand-primary)}.track-step.active .track-dot{background:var(--brand-primary);border-color:var(--brand-primary);box-shadow:0 0 0 4px var(--brand-primary-light)}.track-step.done .track-label,.track-step.active .track-label{color:var(--brand-primary);font-weight:700}.track-line{background:var(--border-color);flex:1;min-width:1rem;height:2px;margin-top:.875rem;transition:background .2s}.track-line.done{background:var(--brand-primary)}.track-cancelled{color:var(--danger);flex-direction:row;justify-content:flex-start;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:flex}.track-cancelled svg{width:1.125rem;height:1.125rem}.order-card-address{color:var(--text-secondary);background:var(--bg-surface-alt);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:row;justify-content:flex-start;align-items:center;gap:.5rem;padding:.625rem .875rem;font-size:.8125rem;display:flex}.order-card-address svg{width:.9375rem;height:.9375rem;color:var(--text-muted);flex-shrink:0}.order-card-toggle{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.9375rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.order-card-toggle:active{transform:scale(.97)}.order-card-toggle:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.order-card-toggle{border:1px solid var(--border-color);color:var(--text-secondary);background:0 0;align-self:flex-start;padding:.5rem 1rem;font-size:.875rem}.order-card-toggle:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.order-card-toggle svg{width:1rem;height:1rem}.order-products-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.order-products-list .order-product-row{background:var(--bg-surface-alt);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:.625rem .875rem;font-size:.875rem;display:flex}.order-products-list .order-product-row .order-product-name{color:var(--text-primary);flex:1;font-weight:500}.order-products-list .order-product-row .order-product-qty{color:var(--text-muted);margin:0 1rem}.order-products-list .order-product-row .order-product-price{color:var(--brand-primary);font-weight:700}.order-txn-id{color:var(--text-muted);border-top:1px solid var(--border-color);padding-top:.75rem;font-size:.75rem}.order-txn-id code{color:var(--text-secondary);word-break:break-all;font-family:JetBrains Mono,Fira Code,Consolas,monospace}.admin-page{max-width:var(--container-max);margin-inline:auto;padding-inline:1rem}@media (width>=640px){.admin-page{padding-inline:1.5rem}}@media (width>=1024px){.admin-page{padding-inline:2rem}}.admin-page{flex-direction:column;gap:2rem;padding-block:2.5rem;display:flex}.admin-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-topbar .admin-page-title{color:var(--text-primary);font-size:1.5rem;font-weight:800}.admin-topbar .admin-actions{flex-flow:wrap;justify-content:flex-start;align-items:center;gap:.75rem;display:flex}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1rem;display:grid}.admin-table-wrapper{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);overflow:auto hidden}.admin-table-wrapper::-webkit-scrollbar{width:6px;height:6px}.admin-table-wrapper::-webkit-scrollbar-track{background:var(--bg-secondary)}.admin-table-wrapper::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}.admin-table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table thead{background-color:var(--table-head-bg)}.admin-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--table-border);white-space:nowrap;padding:.875rem 1rem;font-size:.75rem;font-weight:700}.admin-table tbody tr{border-bottom:1px solid var(--table-border);transition:background-color var(--transition-fast)}.admin-table tbody tr:last-child{border-bottom:none}.admin-table tbody tr:hover{background-color:var(--table-row-hover)}.admin-table tbody tr td{color:var(--text-secondary);vertical-align:middle;padding:.875rem 1rem}.admin-table tbody tr td:first-child{color:var(--text-primary);font-weight:600}.admin-table .table-actions{flex-flow:row;justify-content:flex-start;align-items:center;gap:.5rem;display:flex}.table-thumb{object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-surface-alt);width:3rem;height:3rem}.admin-form{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);flex-direction:column;gap:1.5rem;max-width:50rem;padding:2rem;display:flex}.admin-form .form-row{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.admin-form .form-row{grid-template-columns:1fr 1fr}}.admin-form .form-section{border-bottom:1px solid var(--border-color);flex-direction:column;gap:1.25rem;padding-bottom:1.5rem;display:flex}.admin-form .form-section:last-of-type{border-bottom:none}.admin-form .form-section .form-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.875rem;font-weight:700}.image-dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius-lg);background-color:var(--bg-surface-alt);text-align:center;cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2.5rem;display:flex}.image-dropzone:hover,.image-dropzone.drag-over{border-color:var(--brand-primary);background-color:var(--brand-primary-light)}.image-dropzone .dropzone-icon{width:2.5rem;height:2.5rem;color:var(--text-muted)}.image-dropzone .dropzone-label{color:var(--text-primary);font-size:.9375rem;font-weight:600}.image-dropzone .dropzone-hint{color:var(--text-muted);font-size:.8125rem}.image-dropzone input[type=file]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.orders-filter{flex-flow:wrap;justify-content:flex-start;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.back-link{color:var(--text-muted);transition:color var(--transition-fast);align-items:center;gap:.375rem;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--text-primary);text-decoration:none}.admin-form-title{color:var(--text-primary);margin:.375rem 0 0;font-size:1.5rem;font-weight:800}.admin-form-subtitle{color:var(--text-muted);margin:.25rem 0 0;font-size:.875rem}.admin-content{max-width:var(--container-max);margin-inline:auto;padding-inline:1rem}@media (width>=640px){.admin-content{padding-inline:1.5rem}}@media (width>=1024px){.admin-content{padding-inline:2rem}}.admin-content{flex-direction:column;gap:2rem;padding-block:2.5rem;display:flex}.admin-section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.25rem;font-size:.75rem;font-weight:700}.admin-dash-header{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);flex-wrap:wrap;align-items:center;gap:1.25rem;padding:1.5rem 2rem;display:flex}.admin-dash-header .admin-avatar{background:var(--brand-primary-light);width:3.25rem;height:3.25rem;color:var(--brand-primary);border:2px solid var(--brand-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;font-weight:800;display:flex}.admin-dash-header .admin-meta{flex:1;min-width:0}.admin-dash-header .admin-meta .admin-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:1.125rem;font-weight:700;overflow:hidden}.admin-dash-header .admin-meta .admin-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;overflow:hidden}.admin-dash-header .admin-role-badge{border-radius:var(--radius-full);letter-spacing:.04em;background:var(--badge-success-bg);color:var(--badge-success-text);flex-shrink:0;padding:.3rem .875rem;font-size:.75rem;font-weight:700}.admin-dash-grid{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (width>=640px){.admin-dash-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.admin-dash-grid{grid-template-columns:repeat(3,1fr)}}.admin-dash-card{color:inherit;background:var(--bg-surface);border:1px solid var(--border-color);border-top:3px solid var(--card-accent,var(--brand-primary));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;gap:.875rem;padding:1.5rem;text-decoration:none;display:flex}.admin-dash-card:hover{box-shadow:var(--shadow-lg);color:inherit;text-decoration:none;transform:translateY(-3px)}.admin-dash-card .dash-card-icon{border-radius:var(--radius-md);background:color-mix(in srgb, var(--card-accent,var(--brand-primary)) 12%, transparent);width:2.75rem;height:2.75rem;color:var(--card-accent,var(--brand-primary));flex-shrink:0;justify-content:center;align-items:center;display:flex}.admin-dash-card .dash-card-title{color:var(--text-primary);margin:0;font-size:.9375rem;font-weight:700}.admin-dash-card .dash-card-desc{color:var(--text-muted);flex:1;font-size:.8125rem;line-height:1.55}.admin-dash-card .dash-card-cta{color:var(--card-accent,var(--brand-primary));border-top:1px solid var(--border-light);align-items:center;gap:.375rem;padding-top:.625rem;font-size:.8125rem;font-weight:600;display:flex}.admin-dash-card .dash-card-cta svg{transition:transform var(--transition-fast)}.admin-dash-card:hover .dash-card-cta svg{transform:translate(4px)}.status-badge{border-radius:var(--radius-full);letter-spacing:.03em;white-space:nowrap;align-items:center;padding:.2rem .625rem;font-size:.72rem;font-weight:700;display:inline-flex}.status-badge-neutral{background:var(--badge-bg);color:var(--badge-text)}.status-badge-warning{background:var(--badge-warn-bg);color:var(--badge-warn-text)}.status-badge-info{background:var(--brand-primary-light);color:var(--brand-primary)}.status-badge-success{background:var(--badge-success-bg);color:var(--badge-success-text)}.status-badge-danger{background:var(--badge-danger-bg);color:var(--badge-danger-text)}.order-product-list{flex-direction:column;gap:.25rem;font-size:.8rem;display:flex}.order-product-list .order-product-row{color:var(--text-secondary);align-items:center;gap:.5rem;display:flex}.order-product-list .order-product-row .op-name{color:var(--text-primary);font-weight:600}.order-product-list .order-product-row .op-qty{color:var(--text-muted)}.status-select{appearance:none;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%239ca3af' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;padding:.35rem 2rem .35rem .625rem;font-size:.8125rem}.status-select:focus{border-color:var(--border-focus);box-shadow:var(--input-shadow-focus);outline:none}
