:root{
  --bg:#f7f6fb;--card:#fff;--text:#28252e;--muted:#8b8794;--line:#ece9f2;
  --purple:#7567e8;--purple2:#a878ec;--pink:#f29bc5;--green:#36aa78;--orange:#ed9a43;--red:#df6170;
  --shadow:0 12px 34px rgba(62,49,96,.08);--radius:22px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.container{width:min(1220px,calc(100% - 28px));margin:auto}.topbar{position:sticky;top:0;z-index:20;background:rgba(247,246,251,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(236,233,242,.8)}.topbar-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:.4px}.brand-mark{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--purple),var(--pink));box-shadow:0 8px 18px rgba(117,103,232,.24);font-weight:900}.brand small{display:block;color:var(--muted);font-weight:500;letter-spacing:0}.nav-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.btn{border:0;border-radius:13px;padding:10px 16px;cursor:pointer;background:#f0edf7;color:#55505f;font-weight:700;transition:.18s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff;box-shadow:0 8px 18px rgba(117,103,232,.18)}.btn.danger{background:#fff0f2;color:var(--red)}.btn.ghost{background:#fff;border:1px solid var(--line)}.btn.small{padding:7px 11px;font-size:13px}.btn.wide{width:100%}.hero{padding:34px 0 18px}.hero-panel{background:linear-gradient(120deg,#ffffff 0%,#faf7ff 48%,#fff6fb 100%);border:1px solid #eee8f7;border-radius:30px;padding:30px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-panel:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-80px;top:-120px;background:radial-gradient(circle,rgba(242,155,197,.24),rgba(117,103,232,.02) 65%,transparent 66%)}.hero h1{margin:0 0 8px;font-size:31px}.hero p{margin:0;color:var(--muted)}.search-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:22px;position:relative;z-index:1}.search-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 17px;outline:none;box-shadow:0 5px 18px rgba(60,40,90,.05)}.search-box:focus{border-color:#b5acf3;box-shadow:0 0 0 4px rgba(117,103,232,.08)}.filters{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0 4px}.chip{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13px;color:#655f6e}.chip.active{background:#eeeafd;border-color:#d8d0fb;color:#5d51d4;font-weight:700}.section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:20px 0 14px}.section-head h2{margin:0;font-size:21px}.muted{color:var(--muted)}.tiny{font-size:12px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-bottom:46px}.product-card{background:var(--card);border:1px solid #eeeaf4;border-radius:22px;overflow:hidden;box-shadow:0 7px 24px rgba(57,46,84,.055);transition:.2s}.product-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(57,46,84,.09)}.product-image{aspect-ratio:1.18/1;background:linear-gradient(145deg,#f0edf8,#fff7fb);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.product-image img{width:100%;height:100%;object-fit:cover}.placeholder{width:68px;height:68px;border-radius:22px;background:linear-gradient(135deg,#c8bff5,#f2b4d2);display:grid;place-items:center;color:#fff;font-size:28px;font-weight:900;box-shadow:0 10px 24px rgba(117,103,232,.2)}.stock-badge{position:absolute;top:11px;right:11px;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:800;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.08)}.stock-badge.ok{color:var(--green)}.stock-badge.warn{color:var(--orange)}.stock-badge.danger{color:var(--red)}.product-body{padding:15px}.product-title{font-weight:800;font-size:16px;line-height:1.4;min-height:44px}.sku-line{font-size:12px;color:var(--muted);margin:7px 0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{background:#f5f2fa;color:#696273;border-radius:8px;padding:5px 7px;font-size:12px}.location-box{margin-top:12px;background:#f8f7fb;border:1px dashed #ddd7ea;border-radius:13px;padding:10px 11px}.location-box small{color:var(--muted);display:block}.location{font-weight:900;color:#514b5b;margin-top:2px}.stock-line{margin-top:12px;display:flex;align-items:center;justify-content:space-between}.stock-number{font-size:22px;font-weight:900}.empty{background:#fff;border:1px dashed #ddd7ea;border-radius:22px;padding:50px 20px;text-align:center;color:var(--muted);grid-column:1/-1}.login-body{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 30% 15%,#eee8ff,transparent 30%),radial-gradient(circle at 75% 80%,#fde9f3,transparent 32%),var(--bg)}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:var(--shadow);text-align:center}.login-card .brand-mark{margin:0 auto 12px}.login-card h1{margin:0}.stack{display:grid;gap:14px;text-align:left;margin:24px 0 18px}label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#655f6d}input,select,textarea{width:100%;border:1px solid #e4e0ea;border-radius:12px;padding:11px 12px;background:#fff;outline:none;color:var(--text)}input:focus,select:focus,textarea:focus{border-color:#aaa0ef;box-shadow:0 0 0 3px rgba(117,103,232,.08)}textarea{min-height:90px;resize:vertical}.link{color:var(--purple);font-weight:700;font-size:13px}.alert{padding:11px 13px;border-radius:12px;margin:12px 0}.danger-bg{background:#fff0f2;color:#b64555}.ok-bg{background:#edf9f4;color:#287a59}.admin-layout{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 72px)}.sidebar{padding:22px 14px;border-right:1px solid var(--line);background:#fbfafe}.side-link{display:flex;gap:9px;align-items:center;padding:11px 12px;border-radius:12px;color:#6d6675;font-size:14px;margin-bottom:4px}.side-link.active{background:#eeeafd;color:#5f53d8;font-weight:800}.admin-main{padding:25px;min-width:0}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.admin-header h1{margin:0;font-size:25px}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 6px 22px rgba(57,46,84,.045);margin-bottom:16px}.panel h3{margin:0 0 14px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:12px 10px;border-bottom:1px solid #f0edf4;text-align:left;font-size:13px;vertical-align:middle}.table th{color:#817a89;font-size:12px;background:#fbfafc;position:sticky;top:0}.thumb{width:52px;height:52px;border-radius:12px;background:#f3eff8;object-fit:cover}.thumb-placeholder{width:52px;height:52px;border-radius:12px;background:linear-gradient(135deg,#cec6f5,#efb7d1);display:grid;place-items:center;color:#fff;font-weight:900}.inline{display:flex;gap:8px;align-items:center}.inline form{display:inline}.price{font-weight:800}.stock-plus{color:var(--green);font-weight:800}.stock-minus{color:var(--red);font-weight:800}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f2eff8;font-size:12px;color:#655e70}.badge.default{background:#eeeafd;color:#5d51d4}.subtle{background:#faf9fc;border:1px solid #eeeaf3;border-radius:14px;padding:13px}.mini-preview{display:flex;gap:12px;align-items:center}.mini-preview img{width:74px;height:74px;border-radius:16px;object-fit:cover;background:#f1eef7}.category-blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.category-list{display:flex;gap:7px;flex-wrap:wrap}.category-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;background:#f5f2fa;border-radius:10px;font-size:12px}.category-pill form button{border:0;background:transparent;color:#b16b7b;cursor:pointer;padding:0}.detail-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}.detail-photo{background:linear-gradient(145deg,#f0edf8,#fff7fb);border-radius:24px;min-height:350px;display:flex;align-items:center;justify-content:center;overflow:hidden}.detail-photo img{width:100%;height:100%;object-fit:contain}.detail-title{font-size:28px;margin:0 0 10px}.big-location{font-size:24px;font-weight:900;margin-top:4px}.kv{display:grid;grid-template-columns:110px 1fr;gap:8px;padding:9px 0;border-bottom:1px solid #f0edf4;font-size:14px}.kv span:first-child{color:var(--muted)}
@media(max-width:1000px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-layout{grid-template-columns:1fr}.sidebar{display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--line);padding:10px}.side-link{white-space:nowrap;margin:0}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:1fr}}
@media(max-width:720px){.topbar-inner{height:auto;padding:12px 0}.brand small{display:none}.hero{padding-top:18px}.hero-panel{padding:22px 18px;border-radius:23px}.hero h1{font-size:25px}.search-row{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.product-body{padding:12px}.admin-main{padding:16px 12px}.grid-2,.grid-3,.grid-4,.category-blocks{grid-template-columns:1fr}.admin-header{align-items:flex-start}.detail-photo{min-height:260px}}
@media(max-width:460px){.cards{grid-template-columns:1fr}.product-image{aspect-ratio:1.45/1}.nav-actions .hide-mobile{display:none}.hero-panel{padding:19px 15px}}
/* STRAP LAB v1.1 additions */
.field-help{display:block;color:var(--muted);font-size:12px;font-weight:500;line-height:1.45;margin-top:1px}
.section-label{margin:20px 0 10px;font-size:13px;font-weight:900;color:#5f5868;display:flex;align-items:center;gap:8px}.section-label:after{content:"";height:1px;background:#f0edf4;flex:1}
.check-card{border:1px solid #e4e0ea;border-radius:14px;padding:11px 12px;background:#fbfafc;align-content:start}.check-card>span:first-child{font-size:13px;font-weight:700}.check-line{display:flex;align-items:center;gap:8px;font-weight:700;color:#514b5b;margin-top:4px}.check-line input{width:auto;margin:0}
.image-editor{display:grid;grid-template-columns:190px 1fr;gap:16px;border:1px solid #eeeaf3;background:#fbfafc;border-radius:18px;padding:14px}.image-preview-box{height:190px;border-radius:16px;overflow:hidden;background:linear-gradient(145deg,#f0edf8,#fff7fb);display:flex;align-items:center;justify-content:center;border:1px solid #eeeaf3}.image-preview-box img{width:100%;height:100%;object-fit:contain}.image-preview-placeholder{width:100%;height:100%;display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;color:#857c90;font-size:34px}.image-preview-placeholder small{font-size:12px;color:var(--muted)}.image-inputs{min-width:0}.image-source-tabs{display:flex;gap:8px;margin-bottom:12px}.source-tab{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--line);border-radius:11px;background:#fff;cursor:pointer;color:#6d6675}.source-tab input{width:auto;margin:0}.source-tab.active{background:#eeeafd;border-color:#d8d0fb;color:#5d51d4}.remove-image{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:7px;margin-top:10px;color:#b04d60}.remove-image input{width:auto;margin:0}.compact-note{font-size:13px;line-height:1.65;align-self:stretch}.supplier-line{font-size:12px;color:var(--muted);margin-top:10px;display:flex;align-items:center;gap:7px;min-height:22px}.mini-dropship{display:inline-flex;padding:3px 7px;border-radius:999px;background:#eef8f3;color:#2c8a64;font-weight:800}
@media(max-width:720px){.image-editor{grid-template-columns:1fr}.image-preview-box{height:220px}.image-source-tabs{flex-wrap:wrap}}

/* STRAP LAB v1.2 - clean product editor */
.product-editor{padding:0;overflow:hidden}
.product-editor-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#fcfbfe)}
.product-editor-head h3{margin:0 0 4px}
.product-form{display:block}
.form-section{padding:22px;border-bottom:1px solid #f0edf4}
.form-section.last-section{border-bottom:0}
.form-section-title{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:#3f3948}
.form-section-title>span,.title-left>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:#eeeafd;color:#6255d7;font-size:12px;font-weight:900}
.form-section-title strong{display:block;font-size:15px}
.form-section-title small{display:block;margin-top:2px;color:var(--muted);font-size:12px;font-weight:500}
.split-title{justify-content:space-between;gap:16px}
.title-left{display:flex;align-items:center;gap:10px}
.form-grid{display:grid;gap:14px 16px;align-items:start}
.form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.form-grid label{min-width:0}
.label-note{font-size:11px;color:#847d8e;font-weight:600}
.product-form input,.product-form select,.product-form textarea{min-height:44px}
.product-form textarea{min-height:110px}
.product-form .field-help{min-height:18px;margin-top:3px}

.supplier-section{background:#fdfcff}
.supplier-rows{display:grid;gap:10px}
.supplier-row{border:1px solid #e9e5ef;background:#fff;border-radius:16px;padding:14px;box-shadow:0 3px 12px rgba(57,46,84,.025)}
.supplier-row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;color:#524b5c;font-size:13px}
.icon-text-btn{border:0;background:transparent;color:#a36b7a;cursor:pointer;font-size:12px;padding:5px 7px;border-radius:8px}
.icon-text-btn:hover{background:#fff1f4;color:#b44258}
.supplier-fields{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(140px,.7fr) minmax(310px,1.5fr);gap:12px;align-items:end}
.supplier-toggles{display:grid;grid-template-columns:1fr 1fr;gap:9px;height:44px}
.toggle-choice,.radio-choice,.visibility-card{display:flex!important;grid-template-columns:none!important;flex-direction:row!important;align-items:center!important;gap:10px!important;border:1px solid #e5e1eb;border-radius:12px;background:#fbfafc;padding:8px 10px;cursor:pointer;min-height:44px}
.toggle-choice input,.radio-choice input,.visibility-card input{position:absolute;opacity:0;pointer-events:none;width:1px!important;height:1px!important}
.toggle-choice>span:last-child,.radio-choice>span:last-child,.visibility-card>span:last-child{display:flex;flex-direction:column;gap:1px;min-width:0}
.toggle-choice strong,.radio-choice strong,.visibility-card strong{font-size:12px;color:#514b5b}
.toggle-choice small,.radio-choice small,.visibility-card small{font-size:10px;color:var(--muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toggle-ui{position:relative;display:inline-block;flex:0 0 34px;width:34px;height:20px;border-radius:999px;background:#d9d4df;transition:.18s}
.toggle-ui:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.18s}
.toggle-choice input:checked+.toggle-ui,.visibility-card input:checked+.toggle-ui{background:#7567e8}
.toggle-choice input:checked+.toggle-ui:after,.visibility-card input:checked+.toggle-ui:after{transform:translateX(14px)}
.radio-choice:before{content:"";flex:0 0 18px;width:18px;height:18px;border:2px solid #d5cfde;border-radius:50%;box-sizing:border-box;box-shadow:inset 0 0 0 4px #fff;background:#fff}
.radio-choice:has(input:checked){border-color:#cfc8f8;background:#f6f4ff}
.radio-choice:has(input:checked):before{background:#7567e8;border-color:#7567e8}
.supplier-help{margin-top:10px;padding:9px 11px;border-radius:11px;background:#f7f5fb;color:#7b7484;font-size:12px;line-height:1.55}

.image-editor-v2{display:grid;grid-template-columns:210px minmax(0,1fr);gap:18px;align-items:stretch}
.large-preview{height:210px;min-height:210px}
.image-control-panel{min-width:0;display:flex;flex-direction:column;justify-content:flex-start}
.image-source-tabs.v2{display:inline-grid;grid-template-columns:1fr 1fr;gap:4px;background:#f3f0f7;border-radius:12px;padding:4px;width:min(320px,100%);margin-bottom:14px}
.image-source-tabs.v2 .source-tab{border:0;border-radius:9px;background:transparent;justify-content:center;padding:9px 12px;margin:0;color:#777080}
.image-source-tabs.v2 .source-tab input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.image-source-tabs.v2 .source-tab.active{background:#fff;color:#5e52d5;box-shadow:0 2px 8px rgba(57,46,84,.08)}
.source-panel{max-width:720px}
.native-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;pointer-events:none!important;padding:0!important;border:0!important}
.upload-picker{display:grid!important;grid-template-columns:44px minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;min-height:86px;border:1.5px dashed #d9d3e5;border-radius:15px;background:#fcfbfe;padding:12px 14px!important;cursor:pointer;transition:.18s}
.upload-picker:hover{border-color:#aaa0ef;background:#f9f7ff}
.upload-picker-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#eeeafd;color:#6558d9;font-size:24px;font-weight:500}
.upload-picker-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.upload-picker-copy strong{font-size:13px;color:#4e4857}
.upload-picker-copy small{font-size:11px;color:var(--muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.upload-picker-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:10px;background:#7467e7;color:#fff;font-size:12px;font-weight:800;white-space:nowrap}
.notes-grid{align-items:stretch}
.form-side-options{display:flex;flex-direction:column;gap:10px;justify-content:flex-start}
.visibility-card{max-width:370px}
.sticky-actions{padding:16px 22px;margin:0;background:#fbfafe;border-top:1px solid var(--line)}
.compact-stock-grid label{min-width:0}

@media(max-width:1180px){
  .supplier-fields{grid-template-columns:1fr 1fr}
  .supplier-toggles{grid-column:1/-1;max-width:520px}
  .form-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .form-grid.cols-3,.form-grid.cols-2{grid-template-columns:1fr}
  .supplier-fields{grid-template-columns:1fr}
  .supplier-toggles{grid-column:auto;max-width:none}
  .image-editor-v2{grid-template-columns:1fr}
  .large-preview{height:240px}
  .split-title{align-items:flex-start}
}
@media(max-width:560px){
  .product-editor-head,.form-section,.sticky-actions{padding-left:14px;padding-right:14px}
  .product-editor-head{align-items:flex-start;flex-direction:column}
  .supplier-toggles{grid-template-columns:1fr}
  .supplier-toggles{height:auto}
  .form-grid.cols-4{grid-template-columns:1fr}
  .upload-picker{grid-template-columns:40px minmax(0,1fr)!important}
  .upload-picker-button{grid-column:1/-1;width:100%}
  .split-title{flex-direction:column}
}
.stock-badge.dropship{color:#5f53d8;background:#f5f2ff}
.supplier-count{display:inline-flex;padding:2px 6px;border-radius:999px;background:#f2eff7;color:#786f82;font-weight:700}
.supplier-kv{align-items:start}
.supplier-detail-list{display:flex;flex-wrap:wrap;gap:7px}
.supplier-detail-item{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:9px;background:#f7f5fa;font-size:12px}
.supplier-detail-item em{font-style:normal;padding:2px 5px;border-radius:999px;background:#eeeafd;color:#6255d7;font-size:10px;font-weight:800}
.supplier-detail-item em.can-dropship{background:#eef8f3;color:#2c8a64}

/* STRAP LAB v1.3 - BOX LAB inspired compact editor */
.product-editor-v3{padding:0;background:transparent;border:0;box-shadow:none;overflow:visible}
.v3-head{border:1px solid #ece8f4;border-radius:22px;background:linear-gradient(125deg,#fff 0%,#faf8ff 55%,#fff7fb 100%);box-shadow:0 8px 26px rgba(57,46,84,.055);margin-bottom:14px;padding:18px 20px}
.editor-title-wrap{display:flex;align-items:center;gap:12px}
.editor-title-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#ded8ff,#ffdce9);font-size:20px;box-shadow:inset 0 0 0 1px rgba(117,103,232,.08)}
.jd-badge{background:#fff;border:1px solid #e9e4f2;box-shadow:0 4px 12px rgba(57,46,84,.04)}
.product-form-v3{display:block}
.editor-layout{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(300px,.82fr);gap:14px;align-items:start}
.editor-main-column,.editor-side-column{display:grid;gap:14px;min-width:0}
.editor-side-column{position:sticky;top:88px}
.editor-card{background:#fff;border:1px solid #ece8f3;border-radius:20px;padding:17px;box-shadow:0 6px 20px rgba(57,46,84,.04);min-width:0}
.editor-card-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.editor-card-head>div{min-width:0}
.editor-card-head strong{display:block;font-size:14px;color:#403a49}
.editor-card-head small{display:block;margin-top:2px;font-size:11px;color:#918a99;font-weight:500;line-height:1.45}
.card-icon{flex:0 0 auto;min-width:32px;height:32px;padding:0 8px;border-radius:11px;display:grid;place-items:center;font-size:11px;font-weight:900;letter-spacing:.2px}
.card-icon.purple{background:#eeeafd;color:#6255d7}.card-icon.pink{background:#fff0f6;color:#c45f8e}.card-icon.green{background:#edf9f4;color:#2f936a}.card-icon.blue{background:#eef6ff;color:#4e82bd}.card-icon.orange{background:#fff4e8;color:#bc762f}.card-icon.gray{background:#f3f1f5;color:#746e7c}
.v3-basic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.v3-basic-grid .span-2{grid-column:1/-1}
.v3-spec-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.product-form-v3 label{gap:6px;font-size:12px;color:#655f6d}
.product-form-v3 input,.product-form-v3 select,.product-form-v3 textarea{min-height:42px;border-radius:11px;border-color:#e7e3eb;background:#fdfcfe;padding:10px 11px;font-size:13px}
.product-form-v3 input:hover,.product-form-v3 select:hover,.product-form-v3 textarea:hover{border-color:#d8d2e2}
.product-form-v3 input:focus,.product-form-v3 select:focus,.product-form-v3 textarea:focus{background:#fff}
.product-form-v3 .label-note{font-size:10px;color:#a29aa8;font-weight:600}
.supplier-card-v3{background:linear-gradient(180deg,#fff 0%,#fefcff 100%)}
.supplier-card-head{justify-content:space-between;gap:12px}
.supplier-card-head .head-copy{display:flex;align-items:center;gap:10px;min-width:0}
.add-supplier-btn{margin-left:auto;background:#f0edff;color:#6255d7;padding:8px 12px;border-radius:10px;font-size:12px;white-space:nowrap}
.add-supplier-btn:hover{background:#e9e4ff}
.supplier-rows-v3{display:grid;gap:9px}
.supplier-row-v3{padding:12px;border-radius:15px;border:1px solid #ebe7ef;background:#fcfbfd;box-shadow:none}
.supplier-row-v3:hover{border-color:#ddd7e6;background:#fff}
.supplier-row-v3 .supplier-row-head{margin-bottom:8px}
.supplier-row-v3 .supplier-row-head strong{display:flex;align-items:center;gap:6px;font-size:12px;color:#665f6d}
.supplier-dot{width:7px;height:7px;border-radius:50%;background:#60bd91;box-shadow:0 0 0 4px #edf8f3}
.supplier-fields-v3{display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(115px,.55fr) minmax(270px,1.25fr);gap:9px;align-items:end}
.supplier-toggles-v3{display:grid;grid-template-columns:1.15fr .95fr;gap:8px;height:auto}
.supplier-toggles-v3 .toggle-choice,.supplier-toggles-v3 .radio-choice{min-height:42px;padding:6px 9px;border-radius:11px;background:#fff}
.supplier-toggles-v3 strong{font-size:11px}.supplier-toggles-v3 small{font-size:9px}
.dropship-choice{border-color:#dcefe6!important;background:#f8fdfb!important}
.default-choice{background:#fcfbfe!important}
.v3-help{margin-top:9px;padding:8px 10px;background:#f7f5fb;border:0;border-radius:10px;font-size:11px;line-height:1.55}
.v3-help strong{color:#665f6d}
.image-card-v3{padding-bottom:15px}
.v3-preview{height:215px;min-height:215px;border-radius:16px;background:linear-gradient(145deg,#f3f0fa,#fff8fb);margin-bottom:12px}
.v3-preview img{object-fit:contain}
.v3-image-controls .image-source-tabs.v2{width:100%;margin-bottom:10px}
.v3-image-controls .source-panel{max-width:none}
.compact-upload{min-height:72px!important;grid-template-columns:38px minmax(0,1fr) auto!important;padding:9px 10px!important;border-radius:13px!important}
.compact-upload .upload-picker-icon{width:38px;height:38px;border-radius:11px;font-size:20px}
.compact-upload .upload-picker-button{min-height:31px;padding:0 10px}
.stock-card-v3{background:linear-gradient(180deg,#fff,#fffdfb)}
.stock-input-cards{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.stock-input-card{border:1px solid #e9e5ed;border-radius:14px;padding:11px;background:#fbfafc;gap:5px!important}
.stock-input-card.warning{background:#fffaf4;border-color:#f2e5d7}
.stock-label{font-size:11px;font-weight:800;color:#6b6471}
.stock-input-card input{font-size:22px;font-weight:900;min-height:46px;background:#fff;text-align:center;padding:7px 8px}
.stock-input-card small{font-size:9px;line-height:1.35;color:#9a929f;font-weight:500;text-align:center}
.dropship-tip{display:flex;gap:9px;align-items:flex-start;margin-top:10px;padding:10px;border-radius:12px;background:#f0faf5;color:#447761}
.dropship-tip>span{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:9px;background:#dff2e8;color:#2f936a;font-weight:900}
.dropship-tip strong{display:block;font-size:11px;margin-bottom:2px}.dropship-tip small{display:block;font-size:9px;line-height:1.45;color:#6d8e7e;font-weight:500}
.misc-card-v3 textarea{min-height:90px}
.v3-visibility{max-width:none!important;margin-top:10px;background:#fbfafc!important;border-radius:12px!important}
.v3-actions{position:sticky;bottom:10px;z-index:12;margin-top:14px;border:1px solid #e8e3ef;border-radius:16px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 10px 28px rgba(57,46,84,.11);padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.v3-actions .save-hint{font-size:11px;color:#918a99;padding-left:3px}.v3-actions .action-buttons{display:flex;gap:8px;align-items:center}.save-product-btn{min-width:116px;padding:10px 18px}

@media(max-width:1180px){
  .editor-layout{grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr)}
  .v3-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .supplier-fields-v3{grid-template-columns:1fr 140px}
  .supplier-toggles-v3{grid-column:1/-1;grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .editor-layout{grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);gap:10px}
  .editor-main-column,.editor-side-column{gap:10px}
  .editor-card{padding:14px;border-radius:17px}
  .v3-basic-grid{grid-template-columns:1fr 1fr}
  .v3-spec-grid{grid-template-columns:1fr 1fr}
  .editor-side-column{top:82px}
  .stock-input-cards{grid-template-columns:1fr}
  .v3-preview{height:185px;min-height:185px}
}
@media(max-width:720px){
  .editor-layout{grid-template-columns:1fr}
  .editor-side-column{position:static}
  .editor-side-column .image-card-v3{order:-1}
  .v3-basic-grid,.v3-spec-grid{grid-template-columns:1fr 1fr}
  .supplier-fields-v3{grid-template-columns:1fr 120px}
  .supplier-toggles-v3{grid-template-columns:1fr 1fr}
  .stock-input-cards{grid-template-columns:1fr 1fr}
  .v3-head{padding:14px;border-radius:18px}
  .v3-head .jd-badge{display:none}
  .v3-actions{bottom:6px}
}
@media(max-width:520px){
  .v3-basic-grid,.v3-spec-grid{grid-template-columns:1fr}
  .v3-basic-grid .span-2{grid-column:auto}
  .supplier-card-head{align-items:flex-start}.supplier-card-head .head-copy{align-items:flex-start}
  .supplier-fields-v3{grid-template-columns:1fr}
  .supplier-toggles-v3{grid-template-columns:1fr}
  .stock-input-cards{grid-template-columns:1fr 1fr}
  .v3-actions .save-hint{display:none}.v3-actions{justify-content:flex-end}
}

/* =========================================================
   STRAP LAB v1.4 — BOX LAB inspired compact visual system
   ========================================================= */
:root{
  --sl-bg:#f5f5f1;
  --sl-paper:#fbfbf8;
  --sl-ink:#171717;
  --sl-muted:#7d7d78;
  --sl-line:#dfdfd8;
  --sl-yellow:#ffd72e;
  --sl-yellow-deep:#e8bb00;
  --sl-cyan:#42d7d1;
  --sl-pink:#e87f9d;
}
body.admin-body,body.front-body{background:var(--sl-bg);color:var(--sl-ink)}
body.admin-body .topbar,body.front-body .topbar{background:rgba(248,248,245,.94);border-bottom:1px solid #e6e6e0;backdrop-filter:blur(14px)}
body.admin-body .container,body.front-body .container{width:min(1080px,calc(100% - 32px))}
body.admin-body .brand-mark,body.front-body .brand-mark{width:38px;height:38px;border-radius:12px;background:var(--sl-yellow);color:#111;box-shadow:none;transform:rotate(-5deg)}
body.admin-body .brand-mark+span,body.front-body .brand-mark+span{font-size:18px;line-height:1.05;letter-spacing:.4px}
body.admin-body .brand small,body.front-body .brand small{margin-top:3px;color:#8b8b84;font-size:9px;letter-spacing:1.5px;font-weight:800}
body.admin-body .btn,body.front-body .btn{border-radius:12px}
body.admin-body .btn.primary,body.front-body .btn.primary{background:var(--sl-yellow);color:#111;box-shadow:0 4px 0 var(--sl-yellow-deep)}
body.admin-body .btn.primary:hover,body.front-body .btn.primary:hover{transform:translateY(-1px);box-shadow:0 5px 0 var(--sl-yellow-deep)}
body.admin-body .btn.ghost,body.front-body .btn.ghost{background:#f3f3ef;border-color:#deded7;color:#343430}

/* Admin shell: compact horizontal navigation instead of a wide ERP sidebar */
body.admin-body .admin-layout{display:block;min-height:calc(100vh - 72px)}
body.admin-body .sidebar{width:min(1080px,calc(100% - 32px));margin:18px auto 0;padding:5px;display:flex;gap:4px;overflow:auto;border:1px solid #e2e2dc;border-radius:14px;background:#efefeb}
body.admin-body .side-link{margin:0;padding:9px 12px;border-radius:10px;white-space:nowrap;color:#66665f;font-size:13px}
body.admin-body .side-link.active{background:#171717;color:#fff;font-weight:800}
body.admin-body .admin-main{width:min(1080px,calc(100% - 32px));margin:0 auto;padding:24px 0 52px}
body.admin-body .admin-header{margin-bottom:16px}
body.admin-body .admin-header h1{font-size:25px;letter-spacing:-.4px}
body.admin-body .panel{border-color:#e2e2dc;box-shadow:none;background:#fff;border-radius:18px}

/* Product editor — centered like BOX LAB's create-series page */
body.admin-body .product-editor-v3{width:min(900px,100%);margin:0 auto 18px;background:transparent}
body.admin-body .v3-head{padding:12px 0 22px;margin:0 0 4px;border:0;border-radius:0;background:transparent;box-shadow:none}
body.admin-body .editor-title-wrap{display:block}
body.admin-body .editor-title-icon{display:block;width:auto;height:auto;padding:0;margin:0 0 8px;border:0;border-radius:0;background:none;box-shadow:none;color:#7f7f78;font-size:11px;font-weight:900;letter-spacing:2.4px}
body.admin-body .v3-head h3{margin:0 0 7px;font-size:31px;line-height:1.15;letter-spacing:-1px;color:#111}
body.admin-body .v3-head .muted{font-size:14px;color:#81817a}
body.admin-body .jd-badge{align-self:flex-start;margin-top:8px;border-color:#deded7;background:#fff;color:#55554f}
body.admin-body .editor-layout{display:grid;grid-template-columns:1fr;gap:14px}
body.admin-body .editor-main-column,body.admin-body .editor-side-column{display:grid;gap:14px;min-width:0}
body.admin-body .editor-side-column{position:static;grid-template-columns:1fr 1fr}
body.admin-body .editor-side-column .misc-card-v3{grid-column:1/-1}
body.admin-body .editor-card{padding:18px;border:1px solid #e0e0da;border-radius:17px;background:#fff;box-shadow:none}
body.admin-body .editor-card-head{margin-bottom:15px;gap:10px}
body.admin-body .editor-card-head strong{font-size:15px;color:#191919}
body.admin-body .editor-card-head small{font-size:11px;color:#8a8a84}
body.admin-body .card-icon{min-width:32px;height:25px;padding:0;color:#77776f!important;background:transparent!important;border-radius:0;font-size:10px;letter-spacing:1.6px}
body.admin-body .v3-basic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 14px}
body.admin-body .v3-spec-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 14px}
body.admin-body .product-form-v3 label{gap:6px;font-size:12px;color:#30302d;font-weight:800}
body.admin-body .product-form-v3 input,body.admin-body .product-form-v3 select,body.admin-body .product-form-v3 textarea{min-height:43px;border:1px solid #d9d9d2;border-radius:11px;background:#fff;padding:10px 12px;font-size:13px;color:#151515}
body.admin-body .product-form-v3 input::placeholder,body.admin-body .product-form-v3 textarea::placeholder{color:#9a9a94}
body.admin-body .product-form-v3 input:focus,body.admin-body .product-form-v3 select:focus,body.admin-body .product-form-v3 textarea:focus{border-color:#b8a52f;box-shadow:0 0 0 3px rgba(255,215,46,.16)}
body.admin-body .product-form-v3 .label-note{color:#96968f}

/* Supplier rows: one clean compact strip per supplier */
body.admin-body .supplier-card-v3{background:#fff}
body.admin-body .add-supplier-btn{background:#171717;color:#fff;border-radius:10px;box-shadow:none}
body.admin-body .add-supplier-btn:hover{background:#292929}
body.admin-body .supplier-rows-v3{gap:10px}
body.admin-body .supplier-row-v3{padding:13px;border:1px solid #e1e1db;border-radius:13px;background:#fafaf7}
body.admin-body .supplier-row-v3:hover{border-color:#cecec5;background:#fff}
body.admin-body .supplier-fields-v3{display:grid;grid-template-columns:minmax(230px,1.2fr) minmax(130px,.55fr) minmax(300px,1.25fr);gap:10px;align-items:end}
body.admin-body .supplier-toggles-v3{grid-template-columns:1fr 1fr;gap:8px}
body.admin-body .supplier-toggles-v3 .toggle-choice,body.admin-body .supplier-toggles-v3 .radio-choice{min-height:43px;padding:7px 9px;border:1px solid #deded7;border-radius:10px;background:#fff!important}
body.admin-body .dropship-choice:has(input:checked){border-color:#b7ded0!important;background:#f5fbf8!important}
body.admin-body .default-choice:has(input:checked){border-color:#ead56a!important;background:#fffbe8!important}
body.admin-body .supplier-dot{background:#35a874;box-shadow:0 0 0 3px #e3f4ec}
body.admin-body .v3-help{background:#fff7cf;border:1px solid #efd45f;color:#4a4532;border-radius:11px}

/* Image editor: same compact card language as BOX LAB */
body.admin-body .image-card-v3{display:grid;grid-template-columns:160px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:16px;align-items:start}
body.admin-body .image-card-v3 .editor-card-head{grid-column:1/-1}
body.admin-body .v3-preview{grid-column:1;width:160px;height:175px;min-height:175px;margin:0;border-radius:14px;background:#f0f0ec;border:1px solid #e5e5df}
body.admin-body .v3-image-controls{grid-column:2;min-width:0}
body.admin-body .image-source-tabs.v2{padding:3px;background:#efefeb;border-radius:10px}
body.admin-body .source-tab{border-radius:8px!important}
body.admin-body .source-tab.active{background:#171717!important;color:#fff!important}
body.admin-body .compact-upload{min-height:76px!important;border:1px solid #d8d8d1!important;background:#fafaf7!important}
body.admin-body .compact-upload .upload-picker-icon{background:#171717;color:#fff}
body.admin-body .compact-upload .upload-picker-button{background:#171717;color:#fff;border-radius:9px}

/* Inventory card */
body.admin-body .stock-card-v3{background:#fff}
body.admin-body .stock-input-card{padding:10px;border-color:#dfdfd8;border-radius:12px;background:#fafaf7}
body.admin-body .stock-input-card.warning{background:#fffaf0;border-color:#eadfbe}
body.admin-body .stock-input-card input{font-size:20px;border-radius:9px}
body.admin-body .dropship-tip{background:#eef8f3;border:1px solid #d9eee4;color:#3c6e58;border-radius:11px}
body.admin-body .dropship-tip>span{background:#dcefe5;color:#2d825e}
body.admin-body .v3-visibility{background:#fafaf7!important;border:1px solid #e0e0da!important}
body.admin-body .v3-actions{position:sticky;bottom:10px;margin-top:14px;padding:9px 10px;border:1px solid #d9d9d2;border-radius:14px;background:rgba(250,250,247,.95);box-shadow:0 8px 20px rgba(0,0,0,.06)}
body.admin-body .save-product-btn{min-width:150px;background:var(--sl-yellow)!important;color:#111!important}

/* Other admin forms stay compact too */
body.admin-body .admin-main>.panel:not(.product-editor-v3){max-width:1080px}
body.admin-body .grid-4 input,body.admin-body .grid-4 select,body.admin-body .grid-3 input,body.admin-body .grid-3 select,body.admin-body .grid-2 input,body.admin-body .grid-2 select{min-height:42px;border-radius:10px}
body.admin-body .table th{background:#f5f5f1}
body.admin-body .category-pill{background:#f0f0ec}

/* Front page */
body.front-body .topbar{position:sticky}
body.front-body main.container{width:min(1080px,calc(100% - 32px))}
body.front-body .front-hero{padding:36px 0 0}
body.front-body .hero-panel{min-height:365px;padding:62px 56px 88px;border:0;border-radius:28px;background:#171717;box-shadow:none;overflow:visible;color:#fff}
body.front-body .hero-panel:after{display:none}
body.front-body .hero-copy{position:relative;z-index:2;max-width:720px}
body.front-body .hero-kicker{margin-bottom:12px;color:var(--sl-cyan);font-size:11px;font-weight:900;letter-spacing:2.8px}
body.front-body .hero h1{margin:0;font-size:52px;line-height:1.08;letter-spacing:-2.4px;font-weight:950}
body.front-body .hero h1 span{color:var(--sl-yellow)}
body.front-body .hero p{margin-top:18px;color:#c7c7c2;font-size:14px}
body.front-body .hero-art{position:absolute;right:0;top:0;width:360px;height:100%;overflow:hidden;border-radius:0 28px 28px 0;pointer-events:none}
body.front-body .hero-art .orb{position:absolute;border-radius:50%;display:block}
body.front-body .orb-pink{width:230px;height:230px;right:-15px;top:-68px;background:var(--sl-pink)}
body.front-body .orb-cyan{width:165px;height:165px;right:44px;top:116px;background:var(--sl-cyan)}
body.front-body .orb-yellow{width:185px;height:185px;right:34px;top:76px;background:var(--sl-yellow);z-index:2}
body.front-body .hero-art b{position:absolute;right:165px;top:132px;z-index:4;color:#111;font-size:70px;line-height:1;transform:rotate(7deg)}
body.front-body .hero-art em{position:absolute;right:62px;top:146px;z-index:4;color:#111;font-size:14px;font-style:normal;font-weight:950;line-height:1.05;transform:rotate(7deg)}
body.front-body .search-row{position:absolute;z-index:6;left:22px;right:22px;bottom:-46px;margin:0;padding:14px;background:#fff;border-radius:22px;grid-template-columns:1fr 150px;gap:12px;box-shadow:0 14px 34px rgba(0,0,0,.10)}
body.front-body .search-box{min-height:58px;padding:0 18px;border:0;border-radius:14px;background:#f1f1ed;box-shadow:none;font-size:16px}
body.front-body .search-box:focus{box-shadow:0 0 0 3px rgba(255,215,46,.22)}
body.front-body .search-row .btn{min-height:58px;border-radius:14px;font-size:15px}
body.front-body .filter-board{margin:72px 0 0;padding:0 0 18px}
body.front-body .filter-line{display:grid;grid-template-columns:52px 1fr;align-items:start;gap:8px;margin:7px 0}
body.front-body .filter-label{padding-top:9px;color:#8a8a84;font-size:11px;font-weight:900}
body.front-body .filters{margin:0;gap:8px}
body.front-body .chip{padding:8px 13px;border:1px solid #dddcd5;border-radius:999px;background:#fff;color:#55554f;font-size:12px;font-weight:700;box-shadow:0 2px 7px rgba(0,0,0,.025)}
body.front-body .chip.active{background:#171717;border-color:#171717;color:#fff}
body.front-body .section-head{margin:24px 0 16px;align-items:end}
body.front-body .section-kicker{margin-bottom:5px;color:#898981;font-size:10px;font-weight:900;letter-spacing:2.2px}
body.front-body .section-head h2{font-size:30px;letter-spacing:-1px}
body.front-body .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-bottom:58px}
body.front-body .product-card{border:1px solid #dfdfd8;border-radius:21px;background:#fff;box-shadow:none}
body.front-body .product-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(0,0,0,.07)}
body.front-body .product-image{aspect-ratio:1.18/1;border-bottom:1px solid #ecece6;background:#eeeeea}
body.front-body .product-image img{object-fit:cover}
body.front-body .stock-badge{top:12px;right:12px;border:1px solid rgba(0,0,0,.07);box-shadow:none;background:#fff;font-size:11px}
body.front-body .product-body{padding:16px}
body.front-body .product-title{min-height:auto;font-size:17px;color:#1b1b1b}
body.front-body .sku-line{margin:5px 0 11px;color:#8c8c86}
body.front-body .tag{padding:5px 7px;border-radius:8px;background:#f0f0ec;color:#575751}
body.front-body .supplier-line{margin-top:11px;color:#66665f;font-size:12px}
body.front-body .mini-dropship{display:inline-flex;margin-left:5px;padding:3px 6px;border-radius:999px;background:#eaf7f1;color:#31775a;font-size:10px;font-weight:800}
body.front-body .supplier-count{background:#f0f0ec;color:#676760}
body.front-body .stock-line{padding-top:12px;border-top:1px solid #efefe9}
body.front-body .stock-number{font-size:24px;color:#111}

/* Product detail page */
body.front-body .detail-grid{max-width:980px;margin:0 auto;grid-template-columns:1.05fr .95fr;gap:18px}
body.front-body .detail-photo{border:1px solid #dfdfd8;border-radius:22px;background:#efefeb}
body.front-body .detail-grid .panel{border-color:#dfdfd8;border-radius:22px;box-shadow:none}
body.front-body .badge{background:#171717;color:#fff}
body.front-body .kv{border-color:#ecece6}
body.front-body .supplier-detail-item{background:#f0f0ec}
body.front-body .supplier-detail-item em{background:#fff4bf;color:#7b6510}
body.front-body .supplier-detail-item em.can-dropship{background:#e9f7f0;color:#31775a}

@media(max-width:980px){
  body.front-body .hero-panel{padding-left:38px;padding-right:38px}
  body.front-body .hero h1{font-size:44px;max-width:650px}
  body.front-body .hero-art{opacity:.82;width:310px}
  body.admin-body .supplier-fields-v3{grid-template-columns:1fr 140px}
  body.admin-body .supplier-toggles-v3{grid-column:1/-1}
}
@media(max-width:760px){
  body.admin-body .sidebar{width:calc(100% - 24px);margin-top:12px}
  body.admin-body .admin-main{width:calc(100% - 24px);padding-top:18px}
  body.admin-body .v3-head h3{font-size:27px}
  body.admin-body .v3-basic-grid,body.admin-body .v3-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.admin-body .editor-side-column{grid-template-columns:1fr}
  body.admin-body .editor-side-column .misc-card-v3{grid-column:auto}
  body.admin-body .image-card-v3{grid-template-columns:130px minmax(0,1fr)}
  body.admin-body .v3-preview{width:130px;height:150px;min-height:150px}
  body.front-body .front-hero{padding-top:22px}
  body.front-body .hero-panel{min-height:330px;padding:44px 28px 82px}
  body.front-body .hero h1{font-size:36px;letter-spacing:-1.4px;max-width:520px}
  body.front-body .hero-art{opacity:.42}
  body.front-body .search-row{left:12px;right:12px;grid-template-columns:1fr 110px;padding:10px;bottom:-38px}
  body.front-body .search-box,body.front-body .search-row .btn{min-height:52px}
  body.front-body .filter-board{margin-top:60px}
  body.front-body .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
@media(max-width:520px){
  body.admin-body .topbar-inner,body.front-body .topbar-inner{padding:10px 0}
  body.admin-body .brand small,body.front-body .brand small{display:none}
  body.admin-body .v3-basic-grid,body.admin-body .v3-spec-grid{grid-template-columns:1fr}
  body.admin-body .supplier-fields-v3{grid-template-columns:1fr}
  body.admin-body .supplier-toggles-v3{grid-template-columns:1fr}
  body.admin-body .image-card-v3{display:block}
  body.admin-body .v3-preview{width:100%;height:220px;min-height:220px;margin-bottom:12px}
  body.admin-body .v3-actions{bottom:5px}
  body.front-body main.container{width:calc(100% - 20px)}
  body.front-body .hero-panel{min-height:300px;padding:35px 20px 78px;border-radius:22px}
  body.front-body .hero-art{display:none}
  body.front-body .hero h1{font-size:30px}
  body.front-body .hero p{font-size:12px}
  body.front-body .search-row{grid-template-columns:1fr 78px;border-radius:16px;padding:8px;bottom:-34px}
  body.front-body .search-box{font-size:13px;padding:0 12px}
  body.front-body .search-row .btn{padding:0 9px;font-size:13px}
  body.front-body .filter-line{grid-template-columns:1fr;gap:2px}
  body.front-body .filter-label{padding-top:0;margin-top:8px}
  body.front-body .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  body.front-body .product-body{padding:11px}
  body.front-body .product-title{font-size:14px}
  body.front-body .tags{gap:4px}
  body.front-body .tag{font-size:10px;padding:4px 5px}
  body.front-body .supplier-line{font-size:10px}
  body.front-body .stock-number{font-size:20px}
}
