:root{--primary:#6c4df6;--primary-2:#4c35be;--primary-soft:#eeeafe;--orange:#ff8a3d;--green:#25a96b;--red:#e94e4e;--yellow:#f6b93b;--bg:#f7f8fc;--card:#fff;--text:#17212b;--muted:#6f7885;--border:#e3e6ec;--shadow:0 18px 55px rgba(53,39,122,.12);--shadow-sm:0 8px 24px rgba(39,33,83,.08);--radius:24px;--font-scale:1;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{font-size:calc(16px * var(--font-scale));scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.hidden{display:none!important}.muted{color:var(--muted)}.text-primary{color:var(--primary)}.success{color:var(--green)}.danger{color:var(--red)}.section{margin:28px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}.section-head h2,.section-head h3{margin:0}.link-btn{border:0;background:none;color:var(--primary);font-weight:800;padding:8px}.icon{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon-lg{width:28px;height:28px}.btn{border:0;border-radius:16px;padding:13px 18px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;transition:.22s transform,.22s box-shadow,.22s background}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 10px 24px rgba(108,77,246,.28)}.btn-primary:hover{box-shadow:0 14px 30px rgba(108,77,246,.35);transform:translateY(-1px)}.btn-soft{background:var(--primary-soft);color:var(--primary)}.btn-ghost{background:var(--card);color:var(--text);border:1px solid var(--border)}.btn-danger{background:#fff0f0;color:var(--red)}.btn-green{background:#eafaf1;color:var(--green)}.btn-block{width:100%}.icon-btn{width:46px;height:46px;border:1px solid var(--border);background:var(--card);border-radius:15px;display:grid;place-items:center;color:var(--text);position:relative;transition:.2s}.icon-btn:hover{border-color:#cfc5ff;color:var(--primary);transform:translateY(-1px)}.badge{position:absolute;right:-5px;top:-6px;background:var(--red);color:#fff;border:3px solid var(--card);min-width:22px;height:22px;border-radius:12px;font-size:11px;font-weight:900;display:grid;place-items:center}.pill{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:99px;font-size:12px;font-weight:800;background:var(--primary-soft);color:var(--primary)}.pill.orange{background:#fff0e6;color:#d75a0b}.pill.green{background:#eafaf1;color:#15834f}.pill.red{background:#fff0f0;color:#d93636}.pill.gray{background:#f0f2f6;color:var(--muted)}.splash-screen{position:fixed;inset:0;z-index:9999;background:linear-gradient(145deg,#4c35be,#8b70ff);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;transition:.45s opacity,.45s visibility}.splash-screen.hide{opacity:0;visibility:hidden}.splash-screen img{width:112px;border-radius:30px;box-shadow:0 20px 60px #2b177288;margin-bottom:22px}.splash-screen strong{font-size:34px}.splash-screen span{opacity:.8;margin-top:8px}.splash-loader{width:150px;height:5px;background:#ffffff33;border-radius:9px;margin-top:32px;overflow:hidden}.splash-loader i{display:block;width:45%;height:100%;background:#fff;border-radius:9px;animation:load 1.2s infinite ease-in-out}@keyframes load{0%{transform:translateX(-110%)}100%{transform:translateX(340%)}}.auth-layout{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}.auth-visual{padding:52px;background:linear-gradient(145deg,#4c35be 0%,#6c4df6 54%,#a78bfa 100%);color:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column}.auth-visual:before,.auth-visual:after{content:"";position:absolute;border-radius:50%;background:#fff;opacity:.07}.auth-visual:before{width:480px;height:480px;right:-160px;top:-180px}.auth-visual:after{width:360px;height:360px;left:-140px;bottom:-160px}.auth-logo{width:220px;filter:brightness(0) invert(1);position:relative;z-index:1}.auth-copy{max-width:620px;margin:auto 0;position:relative;z-index:1}.auth-copy h1{font-size:clamp(38px,5vw,68px);line-height:1.04;margin:0 0 20px}.auth-copy p{font-size:20px;line-height:1.6;opacity:.87}.auth-features{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.auth-feature{background:#ffffff18;border:1px solid #ffffff33;padding:11px 15px;border-radius:14px;font-weight:700;backdrop-filter:blur(8px)}.auth-panel{background:var(--card);display:flex;align-items:center;justify-content:center;padding:36px}.auth-card{width:min(460px,100%)}.auth-card h2{font-size:34px;margin:0 0 8px}.auth-card>p{color:var(--muted);margin:0 0 28px}.field{display:grid;gap:8px;margin-bottom:17px}.field label{font-size:13px;font-weight:800;color:#485260}.field-wrap{position:relative}.field input,.field select,.field textarea{width:100%;padding:14px 15px;border:1px solid var(--border);border-radius:15px;background:var(--card);color:var(--text);outline:none;transition:.2s;border-color,.2s box-shadow}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(108,77,246,.12)}.field textarea{resize:vertical;min-height:96px}.field .input-icon{position:absolute;right:13px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--muted)}.auth-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 22px;font-size:14px}.check{display:flex;align-items:center;gap:8px;color:var(--muted)}.check input{accent-color:var(--primary)}.demo-box{background:linear-gradient(135deg,#f3f0ff,#faf9ff);border:1px solid #ded7ff;border-radius:18px;padding:14px;margin-top:20px}.demo-box strong{display:block;font-size:13px;color:var(--primary);margin-bottom:8px}.demo-accounts{display:grid;grid-template-columns:1fr 1fr;gap:9px}.demo-account{border:1px solid #ded7ff;background:#fff;border-radius:13px;padding:10px;text-align:left;font-size:12px;color:var(--muted)}.demo-account b{color:var(--text);display:block;margin-bottom:3px}.onboarding{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 20% 10%,#e9e4ff,transparent 35%),var(--bg)}.onboarding-card{width:min(970px,100%);background:var(--card);border-radius:36px;box-shadow:var(--shadow);overflow:hidden;display:grid;grid-template-columns:1fr 1fr;min-height:570px}.onboarding-art{background:linear-gradient(145deg,#6c4df6,#4c35be);display:grid;place-items:center;padding:45px;position:relative}.onboarding-art img{width:min(360px,90%);filter:drop-shadow(0 30px 40px #311a7b66)}.onboarding-content{padding:50px;display:flex;flex-direction:column;justify-content:center}.onboarding-content h1{font-size:45px;line-height:1.08;margin:16px 0}.onboarding-content p{font-size:18px;line-height:1.65;color:var(--muted)}.dots{display:flex;gap:8px;margin:22px 0}.dot{width:9px;height:9px;border-radius:9px;background:#d9dce4;transition:.2s}.dot.active{width:28px;background:var(--primary)}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.side-nav{position:sticky;top:0;height:100vh;background:var(--card);border-right:1px solid var(--border);padding:24px 18px;display:flex;flex-direction:column;z-index:20}.side-logo{padding:4px 10px 26px}.side-logo img{width:180px}.side-menu{display:grid;gap:6px}.nav-item{border:0;background:transparent;color:var(--muted);display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:14px;text-align:left;font-weight:750;transition:.2s}.nav-item:hover{background:#f7f5ff;color:var(--primary)}.nav-item.active{background:linear-gradient(135deg,#eeeafe,#f7f5ff);color:var(--primary)}.side-footer{margin-top:auto}.account-mini{border-top:1px solid var(--border);padding:18px 8px 0;display:flex;align-items:center;gap:10px}.avatar{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#6c4df6,#a78bfa);color:#fff;display:grid;place-items:center;font-weight:900;flex:none}.account-mini b{font-size:13px;display:block}.account-mini span{font-size:11px;color:var(--muted)}.main-shell{min-width:0}.topbar{height:82px;background:rgba(247,248,252,.85);backdrop-filter:blur(16px);position:sticky;top:0;z-index:15;border-bottom:1px solid rgba(227,230,236,.7);display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:18px}.topbar-left{display:flex;align-items:center;gap:18px;min-width:0}.topbar-title h1{font-size:22px;margin:0}.topbar-title span{font-size:12px;color:var(--muted)}.global-search{width:min(430px,42vw);position:relative}.global-search input{width:100%;border:1px solid var(--border);background:var(--card);padding:13px 44px 13px 16px;border-radius:15px;outline:none}.global-search svg{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted)}.top-actions{display:flex;align-items:center;gap:10px}.content{padding:28px 32px 110px;max-width:1500px;margin:0 auto}.hero{border-radius:30px;overflow:hidden;position:relative;box-shadow:var(--shadow-sm)}.hero-track{display:flex;transition:.5s transform}.hero-slide{min-width:100%;position:relative}.hero-slide img{width:100%;aspect-ratio:2.6/1;object-fit:cover}.hero-overlay-btn{position:absolute;left:6%;bottom:13%;border:0;background:#fff;color:var(--primary);border-radius:16px;padding:13px 20px;font-weight:900}.quick-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.quick-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:15px;display:flex;align-items:center;gap:12px}.quick-icon{width:45px;height:45px;border-radius:14px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center}.quick-card b{font-size:13px}.quick-card span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.categories-row{display:grid;grid-template-columns:repeat(10,minmax(88px,1fr));gap:12px;overflow-x:auto;padding:4px 2px 8px}.category-card{border:1px solid var(--border);background:var(--card);border-radius:20px;padding:14px 8px;text-align:center;min-width:94px;transition:.22s}.category-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:#d6cdfd}.category-icon{width:54px;height:54px;border-radius:17px;margin:0 auto 9px;display:grid;place-items:center;color:#fff}.category-card b{font-size:12px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.product-grid.list{grid-template-columns:1fr}.product-card{background:var(--card);border:1px solid var(--border);border-radius:24px;overflow:hidden;position:relative;transition:.25s transform,.25s box-shadow,.25s border}.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#d9d0ff}.product-image{background:#f3f2f8;position:relative;aspect-ratio:1/1;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover;transition:.35s transform}.product-card:hover .product-image img{transform:scale(1.035)}.product-tags{position:absolute;left:12px;top:12px;display:flex;gap:6px;flex-wrap:wrap}.fav-btn{position:absolute;right:12px;top:12px;width:40px;height:40px;border:0;border-radius:13px;background:#ffffffdd;display:grid;place-items:center;color:#667085;box-shadow:0 5px 16px #2b2b4f18}.fav-btn.active{color:var(--red);background:#fff0f3}.product-body{padding:16px}.product-brand{font-size:11px;text-transform:uppercase;letter-spacing:1.1px;color:var(--primary);font-weight:900}.product-name{font-weight:850;margin:7px 0 8px;line-height:1.25;min-height:40px}.rating{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}.stars{color:var(--yellow);letter-spacing:-2px}.product-price-row{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:12px}.price strong{font-size:20px}.price del{display:block;color:#9aa1ad;font-size:11px;margin-top:2px}.add-mini{width:42px;height:42px;border:0;border-radius:14px;background:var(--primary);color:#fff;display:grid;place-items:center;box-shadow:0 8px 18px rgba(108,77,246,.25)}.product-grid.list .product-card{display:grid;grid-template-columns:190px 1fr}.product-grid.list .product-image{height:100%;aspect-ratio:auto}.toolbar{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.filter-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.select-control,.search-control{border:1px solid var(--border);background:var(--card);padding:10px 12px;border-radius:12px;color:var(--text);outline:none}.search-control{min-width:260px}.view-toggle{display:flex;background:#f1f2f6;border-radius:12px;padding:4px}.view-toggle button{border:0;background:transparent;color:var(--muted);width:38px;height:36px;border-radius:9px;display:grid;place-items:center}.view-toggle button.active{background:var(--card);color:var(--primary);box-shadow:0 4px 12px #25213d12}.empty{background:var(--card);border:1px dashed #ccd1db;border-radius:26px;padding:48px 28px;text-align:center}.empty-icon{width:72px;height:72px;margin:0 auto 16px;border-radius:24px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center}.empty h3{margin:0 0 8px}.empty p{color:var(--muted);margin:0 auto 20px;max-width:430px}.drawer-backdrop,.modal-backdrop{position:fixed;inset:0;background:rgba(14,17,26,.48);backdrop-filter:blur(4px);z-index:80;animation:fade .2s}.drawer{position:absolute;right:0;top:0;height:100%;width:min(470px,100%);background:var(--bg);box-shadow:-30px 0 80px #15122544;display:flex;flex-direction:column;animation:slide .28s}.drawer-head{background:var(--card);padding:22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.drawer-head h2{margin:0}.drawer-body{padding:18px;overflow:auto;flex:1}.drawer-footer{background:var(--card);padding:18px;border-top:1px solid var(--border)}@keyframes fade{from{opacity:0}}@keyframes slide{from{transform:translateX(100%)}}.cart-item{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:12px;display:grid;grid-template-columns:86px 1fr auto;gap:12px;margin-bottom:12px}.cart-item img{width:86px;height:86px;object-fit:cover;border-radius:14px}.cart-item h4{margin:3px 0 5px;font-size:14px}.qty{display:flex;align-items:center;gap:9px;margin-top:8px}.qty button{width:29px;height:29px;border-radius:9px;border:1px solid var(--border);background:var(--card)}.qty span{font-weight:900;min-width:16px;text-align:center}.summary{display:grid;gap:8px}.summary-row{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:14px}.summary-row.total{border-top:1px dashed var(--border);margin-top:5px;padding-top:12px;color:var(--text);font-size:18px;font-weight:900}.coupon-bar{display:flex;gap:8px;margin:14px 0}.coupon-bar input{flex:1;min-width:0;border:1px solid var(--border);border-radius:13px;padding:11px;text-transform:uppercase}.modal-backdrop{display:grid;place-items:center;padding:22px;overflow:auto}.modal{width:min(850px,100%);max-height:92vh;overflow:auto;background:var(--card);border-radius:28px;box-shadow:0 30px 100px #10101f66;animation:pop .22s}.modal.wide{width:min(1100px,100%)}@keyframes pop{from{transform:scale(.95);opacity:0}}.modal-head{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--card);z-index:3}.modal-head h2{margin:0}.modal-body{padding:24px}.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:28px}.detail-image{background:#f4f3f9;border-radius:24px;overflow:hidden}.detail-image img{width:100%;aspect-ratio:1;object-fit:cover}.detail-copy h1{font-size:34px;line-height:1.15;margin:10px 0}.detail-copy .big-price{font-size:32px;font-weight:900;margin:18px 0}.variant-group{margin:18px 0}.variant-group label{display:block;font-weight:800;font-size:13px;margin-bottom:9px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--border);background:var(--card);padding:9px 13px;border-radius:12px;font-weight:700;color:var(--muted)}.chip.selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.stock-line{display:flex;align-items:center;gap:7px;color:var(--green);font-weight:800;font-size:13px}.checkout-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.stepper{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.step{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:#a0a6b1}.step i{width:31px;height:31px;border-radius:50%;background:#eef0f4;display:grid;place-items:center;font-style:normal}.step.active{color:var(--primary)}.step.active i,.step.done i{background:var(--primary);color:#fff}.step-line{flex:1;height:2px;background:#e8e9ed;margin:0 8px}.choice-card{border:1px solid var(--border);background:var(--card);border-radius:18px;padding:15px;display:flex;gap:13px;align-items:flex-start;margin-bottom:10px;cursor:pointer;transition:.2s}.choice-card.selected{border-color:var(--primary);box-shadow:0 0 0 3px rgba(108,77,246,.10)}.choice-card input{accent-color:var(--primary);margin-top:5px}.choice-card b{display:block;margin-bottom:4px}.choice-card span{font-size:13px;color:var(--muted)}.order-card{background:var(--card);border:1px solid var(--border);border-radius:22px;padding:17px;margin-bottom:14px;display:grid;grid-template-columns:1fr auto;gap:15px}.order-products{display:flex;margin-top:12px}.order-products img{width:58px;height:58px;object-fit:cover;border-radius:14px;border:3px solid var(--card);margin-right:-12px;box-shadow:var(--shadow-sm)}.timeline{position:relative;margin:25px 0}.timeline:before{content:"";position:absolute;left:15px;top:14px;bottom:18px;width:2px;background:#e6e8ee}.timeline-item{display:grid;grid-template-columns:32px 1fr;gap:13px;margin-bottom:18px;position:relative}.timeline-dot{width:32px;height:32px;border-radius:50%;background:#e9ebf0;color:#9299a5;display:grid;place-items:center;z-index:1}.timeline-item.done .timeline-dot,.timeline-item.current .timeline-dot{background:var(--primary);color:#fff}.timeline-item b{display:block;text-transform:capitalize}.timeline-item small{color:var(--muted)}.profile-grid{display:grid;grid-template-columns:300px 1fr;gap:22px}.profile-card,.panel{background:var(--card);border:1px solid var(--border);border-radius:24px;padding:22px}.profile-hero{text-align:center}.profile-hero .avatar{width:96px;height:96px;border-radius:30px;margin:0 auto 14px;font-size:27px}.profile-menu{display:grid;gap:6px;margin-top:20px}.profile-menu button{border:0;background:transparent;text-align:left;padding:12px;border-radius:12px;color:var(--muted);font-weight:750}.profile-menu button.active,.profile-menu button:hover{background:var(--primary-soft);color:var(--primary)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 0;border-bottom:1px solid var(--border)}.settings-row:last-child{border:0}.switch{width:50px;height:28px;border-radius:20px;background:#d4d8df;padding:3px;transition:.2s;border:0}.switch:after{content:"";display:block;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 3px 8px #1b1b2633;transition:.2s}.switch.on{background:var(--primary)}.switch.on:after{transform:translateX(22px)}.admin-shell{grid-template-columns:270px 1fr}.admin-nav{background:#17152a;color:#fff;border:0}.admin-nav .side-logo img{filter:brightness(0) invert(1)}.admin-nav .nav-item{color:#aaa6c4}.admin-nav .nav-item:hover,.admin-nav .nav-item.active{background:#ffffff12;color:#fff}.admin-nav .account-mini{border-color:#ffffff18}.admin-nav .account-mini span{color:#aaa6c4}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.kpi{background:var(--card);border:1px solid var(--border);border-radius:22px;padding:20px;position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-30px;top:-30px;background:var(--kpi,#6c4df6);opacity:.08}.kpi-icon{width:47px;height:47px;border-radius:15px;background:color-mix(in srgb,var(--kpi,#6c4df6) 12%,white);color:var(--kpi,#6c4df6);display:grid;place-items:center}.kpi span{font-size:12px;color:var(--muted);display:block;margin:14px 0 4px}.kpi strong{font-size:28px}.chart-card{background:var(--card);border:1px solid var(--border);border-radius:24px;padding:21px}.bar-chart{height:250px;display:flex;align-items:end;gap:14px;padding-top:25px;border-bottom:1px solid var(--border)}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}.bar{width:min(45px,75%);background:linear-gradient(180deg,#8b70ff,#6c4df6);border-radius:10px 10px 3px 3px;min-height:8px;transition:.5s}.bar-col span{font-size:11px;color:var(--muted)}.admin-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:18px}.data-table-wrap{overflow:auto;background:var(--card);border:1px solid var(--border);border-radius:22px}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);text-align:left;background:#fafafd}.data-table th,.data-table td{padding:14px 16px;border-bottom:1px solid var(--border)}.data-table td{font-size:13px}.table-product{display:flex;align-items:center;gap:10px}.table-product img{width:48px;height:48px;object-fit:cover;border-radius:12px}.table-actions{display:flex;gap:6px}.table-actions button{border:1px solid var(--border);background:var(--card);border-radius:9px;width:34px;height:34px;display:grid;place-items:center}.notification-item{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:15px;display:grid;grid-template-columns:45px 1fr auto;gap:13px;margin-bottom:10px}.notification-item.unread{border-color:#cfc4ff;background:#fbfaff}.notification-icon{width:45px;height:45px;border-radius:15px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center}.notification-item h4{margin:1px 0 5px}.notification-item p{margin:0;color:var(--muted);font-size:13px}.notification-item time{font-size:11px;color:#a0a6b1}.toast-region{position:fixed;right:20px;bottom:20px;z-index:200;display:grid;gap:10px}.toast{background:#17152a;color:#fff;border-radius:15px;padding:14px 17px;box-shadow:0 18px 50px #17152a55;display:flex;align-items:center;gap:10px;min-width:260px;animation:toast .25s}.toast.success svg{color:#49d28b}.toast.error svg{color:#ff7777}@keyframes toast{from{transform:translateY(18px);opacity:0}}.mobile-nav{display:none}.mobile-only{display:none}.skeleton{background:linear-gradient(90deg,#eef0f5 25%,#f7f8fb 50%,#eef0f5 75%);background-size:200% 100%;animation:shimmer 1.3s infinite;border-radius:15px}@keyframes shimmer{to{background-position:-200% 0}}body.dark{--bg:#10111a;--card:#191b27;--text:#f5f6fa;--muted:#a4a8b6;--border:#2b2e3d;--primary-soft:#292345;--shadow:0 18px 55px rgba(0,0,0,.25);color-scheme:dark}body.dark .topbar{background:rgba(16,17,26,.88)}body.dark .global-search input,body.dark .select-control,body.dark .search-control,body.dark .field input,body.dark .field select,body.dark .field textarea{background:#191b27}body.dark .auth-panel{background:#10111a}body.dark .product-image,body.dark .detail-image{background:#222532}body.dark .admin-nav{background:#0a0b12}body.dark .data-table th{background:#20222f}body.dark .btn-ghost{background:#20222f}.menu-toggle{display:none}
@media(max-width:1180px){.product-grid{grid-template-columns:repeat(3,1fr)}.categories-row{grid-template-columns:repeat(10,105px)}.kpi-grid{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.quick-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.auth-layout{grid-template-columns:1fr}.auth-visual{display:none}.onboarding-card{grid-template-columns:1fr}.onboarding-art{min-height:280px}.onboarding-content{padding:32px}.app-shell,.admin-shell{display:block}.side-nav{position:fixed;left:-280px;transition:.25s;box-shadow:30px 0 70px #1113}.side-nav.open{left:0}.topbar{height:72px;padding:0 18px}.menu-toggle{display:grid}.global-search{display:none}.content{padding:20px 18px 105px}.product-grid{grid-template-columns:repeat(2,1fr);gap:12px}.hero-slide img{aspect-ratio:1.75/1}.quick-strip{grid-template-columns:1fr 1fr}.product-detail,.checkout-layout,.profile-grid{grid-template-columns:1fr}.modal{border-radius:24px}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:12px;right:12px;bottom:12px;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border:1px solid var(--border);border-radius:22px;padding:7px;z-index:45;box-shadow:0 16px 50px #2f265633}.mobile-nav button{border:0;background:transparent;color:var(--muted);padding:7px 2px;border-radius:15px;display:grid;place-items:center;gap:3px;font-size:10px;font-weight:800}.mobile-nav button.active{background:var(--primary-soft);color:var(--primary)}body.dark .mobile-nav{background:rgba(25,27,39,.94)}.mobile-only{display:block}.toolbar{align-items:stretch;flex-direction:column}.filter-row{display:grid;grid-template-columns:1fr 1fr}.search-control{grid-column:1/-1;min-width:0}.kpi-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.auth-panel{padding:25px 20px}.auth-card h2{font-size:29px}.demo-accounts{grid-template-columns:1fr}.onboarding{padding:0}.onboarding-card{border-radius:0;min-height:100vh}.onboarding-art{min-height:250px}.onboarding-content h1{font-size:34px}.topbar-title span{display:none}.top-actions .hide-mobile{display:none}.content{padding-left:13px;padding-right:13px}.hero{border-radius:22px}.hero-slide img{aspect-ratio:1.25/1;object-fit:cover}.quick-strip{grid-template-columns:1fr}.section{margin:22px 0}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.product-card{border-radius:18px}.product-body{padding:11px}.product-name{font-size:13px;min-height:34px}.price strong{font-size:17px}.add-mini{width:37px;height:37px}.product-tags{left:8px;top:8px}.product-tags .pill{padding:5px 7px;font-size:9px}.fav-btn{right:8px;top:8px;width:35px;height:35px}.product-grid.list .product-card{grid-template-columns:125px 1fr}.modal-backdrop{padding:0;align-items:end}.modal{width:100%;max-height:94vh;border-radius:26px 26px 0 0}.modal-body{padding:18px}.detail-copy h1{font-size:27px}.detail-actions{grid-template-columns:1fr}.drawer{width:100%}.cart-item{grid-template-columns:74px 1fr auto}.cart-item img{width:74px;height:74px}.kpi-grid{grid-template-columns:1fr}.filter-row{grid-template-columns:1fr}.search-control{grid-column:auto}.topbar{padding:0 12px}.topbar-title h1{font-size:18px}.icon-btn{width:42px;height:42px}.section-head h2{font-size:20px}.toast-region{left:12px;right:12px;bottom:90px}.toast{min-width:0}.order-card{grid-template-columns:1fr}.order-card>div:last-child{text-align:left!important}}

/* ===== NovaShop 1.1 — animaciones y componentes nuevos ===== */
@keyframes nsUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes nsIn{from{opacity:0}to{opacity:1}}
@keyframes nsScale{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
@keyframes nsShimmer{0%{background-position:-500px 0}100%{background-position:500px 0}}
@keyframes nsRipple{to{transform:scale(4);opacity:0}}
@keyframes nsConfetti{to{transform:translateY(105vh) rotate(720deg);opacity:.9}}
@keyframes nsFloat{50%{transform:translateY(-6px)}}
@keyframes nsPop{0%{transform:scale(1)}45%{transform:scale(1.28)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}

#app>*{animation:nsIn .4s ease both}
.product-card{animation:nsUp .5s cubic-bezier(.2,.7,.2,1) both}
.product-grid .product-card:nth-child(2){animation-delay:.04s}.product-grid .product-card:nth-child(3){animation-delay:.08s}.product-grid .product-card:nth-child(4){animation-delay:.12s}.product-grid .product-card:nth-child(4n+5){animation-delay:.16s}.product-grid .product-card:nth-child(4n+6){animation-delay:.2s}.product-grid .product-card:nth-child(4n+7){animation-delay:.24s}
.category-card,.quick-card,.order-card,.choice-card,.notification-item{animation:nsUp .45s ease both}
.categories-row .category-card:nth-child(2){animation-delay:.05s}.categories-row .category-card:nth-child(3){animation-delay:.1s}.categories-row .category-card:nth-child(4){animation-delay:.15s}.categories-row .category-card:nth-child(n+5){animation-delay:.2s}

.product-card{transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
.product-card:hover{transform:translateY(-6px)}
.product-image{overflow:hidden}
.product-image img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.product-card:hover .product-image img{transform:scale(1.08)}
.category-card,.add-mini,.fav-btn,.btn,.nav-item,.choice-card{transition:transform .2s,background .2s,box-shadow .2s,color .2s}
.category-card:hover{transform:translateY(-4px)}
.add-mini:hover{transform:scale(1.12)}
.fav-btn.active svg{animation:nsPop .4s ease}
.modal,.drawer{animation:nsScale .32s cubic-bezier(.2,.7,.2,1) both}
.drawer{animation:nsDrawer .34s cubic-bezier(.2,.7,.2,1) both}
@keyframes nsDrawer{from{transform:translateX(40px);opacity:0}to{transform:translateX(0);opacity:1}}
.detail-image img{animation:nsFloat 4s ease-in-out infinite}

/* Ripple */
.btn{position:relative;overflow:hidden}
.ns-ripple{position:absolute;border-radius:50%;transform:scale(0);background:rgba(255,255,255,.5);animation:nsRipple .6s ease-out;pointer-events:none}
.btn-ghost .ns-ripple,.btn-soft .ns-ripple{background:rgba(108,77,246,.22)}

/* Count-up */
.count{font-variant-numeric:tabular-nums}

/* Confetti */
.ns-confetti{position:fixed;width:10px;height:15px;top:-20px;z-index:12000;pointer-events:none;border-radius:2px;animation:nsConfetti linear forwards}

/* Skeleton */
.skeleton{background:linear-gradient(90deg,var(--surface-2,#eee) 25%,var(--line,#ddd) 37%,var(--surface-2,#eee) 63%);background-size:500px 100%;animation:nsShimmer 1.4s infinite;border-radius:12px}

/* Cart badge bump */
.cart-badge.bump{animation:nsPop .4s ease}

/* Search suggestions */
.search-suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface,#fff);border:1px solid var(--line,#e5e7eb);border-radius:14px;box-shadow:0 20px 50px rgba(15,23,42,.16);z-index:60;overflow:hidden;max-height:340px;overflow-y:auto}
.search-suggest button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:none;border:0;border-bottom:1px solid var(--line,#f1f5f9);cursor:pointer;text-align:left;color:inherit}
.search-suggest button:hover{background:var(--surface-2,#f5f3ff)}
.search-suggest img{width:38px;height:38px;border-radius:9px;object-fit:cover;flex:0 0 auto}
.search-suggest b{font-size:13px;display:block}
.search-suggest span{font-size:11px;color:var(--muted,#64748b)}
.search-wrap{position:relative}

/* Back to top */
.back-top{position:fixed;right:20px;bottom:90px;width:46px;height:46px;border-radius:50%;background:var(--primary,#6C4DF6);color:#fff;border:0;display:grid;place-items:center;box-shadow:0 12px 30px rgba(108,77,246,.4);cursor:pointer;opacity:0;transform:translateY(20px);transition:.3s;z-index:40}
.back-top.show{opacity:1;transform:translateY(0)}
.back-top svg{transform:rotate(-90deg)}

/* Trust/stat strip count */
.stat-pop{display:inline-block}
