:root{
  --ink:#24254b;--muted:#52617c;--accent:#2e4fc3;--accent-dark:#23378e;
  --brand-soft:#e9f2ff;--line:#dce5f4;--control-line:#7b89ad;--paper:#fffbf2;
  --white:#fff;--surface-subtle:#f4f8ff;--photo-surface:#f5efe4;
  --sun:#ffd66e;--sun-soft:#fff1bf;--sun-ink:#362504;
  --pink:#f39ac1;--pink-soft:#fff1f6;--mint:#72cbb0;
  --green:#18734b;--green-bg:#e8f5ed;--rose:#a1464d;--rose-bg:#fbe9e8;
  --r:18px;--control-radius:10px;--touch-size:44px;
}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.55 "DM Sans","Thonburi","Noto Sans Thai",system-ui,sans-serif}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{cursor:default}
button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
button:disabled:focus-visible{outline:none}
button:where(:not([class])){background:transparent;border:0}
img{display:block;width:100%;height:100%;object-fit:cover}
h1,h2,h3,p{margin:0}
h1,h2,h3{line-height:1.35;font-weight:800}
h1{font-size:clamp(27px,3.2vw,40px)}
h2{font-size:24px}
h3{font-size:17px}
small,.muted{color:var(--muted)}
.wrap{width:min(1200px,calc(100% - 80px));margin:auto}
.site-header{background:white;border-bottom:1px solid var(--line)}
.site-header::before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--accent) 0 55%,var(--pink) 55% 78%,var(--sun) 78%)}
.site-inner{min-height:76px;display:grid;grid-template-columns:1fr minmax(210px,1.4fr) 1fr;align-items:center;gap:24px}
.brand{border:0;background:transparent;display:inline-flex;align-items:center;justify-self:start;gap:8px;padding:0;white-space:nowrap;font-size:28px;letter-spacing:-.045em;font-weight:850;color:var(--accent-dark)}
.brand-mark{display:grid;flex:none;place-items:center;width:34px;height:34px;border-radius:13px 13px 11px 13px;background:var(--sun)}
.brand-mark::before{
  content:"";width:74%;aspect-ratio:1;transform:rotate(-12deg);
  background:
    radial-gradient(circle,#fff 0 52%,transparent 56%) center/26% 26% no-repeat,
    radial-gradient(circle,var(--accent) 0 65%,transparent 70%) left top/56% 56% no-repeat,
    radial-gradient(circle,var(--pink) 0 65%,transparent 70%) right top/56% 56% no-repeat,
    radial-gradient(circle,var(--pink) 0 65%,transparent 70%) left bottom/56% 56% no-repeat,
    radial-gradient(circle,var(--mint) 0 65%,transparent 70%) right bottom/56% 56% no-repeat;
}
.search{display:flex;align-items:center;gap:10px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:12px;padding:0 13px}
.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.search input{width:100%;background:none;border:0;min-height:42px;padding:4px 1px;outline:none}
.search input:focus-visible{outline:none}
.search-icon{width:13px;height:13px;border:1.8px solid var(--muted);border-radius:50%;position:relative;flex:none;margin-inline-end:3px}
.search-icon:after{content:"";width:6px;height:1.8px;background:var(--muted);position:absolute;inset-inline-end:-4px;bottom:-2px;transform:rotate(45deg)}
[dir=rtl] .search-icon:after{transform:rotate(-45deg)}
.header-action{justify-self:end}
.line-icon{display:inline-grid;place-items:center;background:#14724b;color:white;border-radius:6px;font-size:10px;font-weight:800;width:31px;height:23px;letter-spacing:.01em;flex:none}
.btn{min-height:var(--touch-size);padding:9px 15px;border:1px solid var(--control-line);border-radius:var(--control-radius);background:var(--white);font-size:14px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center}
.btn:hover{border-color:var(--accent)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:white}
.btn.primary:hover{background:var(--accent-dark)}
.btn.outline{color:var(--accent-dark)}
.btn.soft{background:var(--brand-soft);border-color:var(--line);color:var(--accent-dark)}
.btn:is(.primary,.outline,.soft,.danger):disabled,.btn:disabled{color:var(--muted);background:var(--surface-subtle);border-color:var(--line)}
.store{padding:26px 0 52px}
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:14px;margin-bottom:15px}
.breadcrumb button{padding:3px 0;color:var(--accent-dark);font-weight:700}
.product{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.9fr);gap:clamp(24px,4vw,60px);align-items:start}
.gallery{display:grid;grid-template-columns:67px minmax(0,1fr);gap:13px}
.thumb-strip{display:flex;flex-direction:column;gap:9px}
.thumb{position:relative;overflow:hidden;padding:0;width:67px;aspect-ratio:1;border-radius:12px;background:var(--photo-surface);border:2px solid transparent}
.thumb[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px white}
.thumb span,.clip-badge{position:absolute;inset:auto 0 0;background:#24254bd6;color:white;font-size:11px;padding:2px;text-align:center}
.photo-stage{position:relative;border:1px solid var(--line);border-radius:var(--r);background:var(--photo-surface);overflow:hidden;aspect-ratio:1.12}
.photo-stage img{object-position:center;object-fit:contain}
.photo-stage[data-tone=blue]{background:#d3dce8}
.photo-stage[data-tone=pink]{background:#ebd2ca}
.photo-stage[data-tone=green]{background:#d2d7c9}
.photo-stage[data-tone=purple]{background:#e2d2e5}
.photo-counter{position:absolute;inset-inline-end:13px;bottom:13px;padding:3px 10px;border-radius:999px;background:#fffdf5f2;color:var(--ink);font-size:12px;font-weight:700}
.no-photo{height:100%;display:grid;place-items:center;color:var(--muted)}
.product-copy{padding-top:8px}
.product-copy .ref{font-weight:750;color:var(--accent);font-size:13px;margin-bottom:7px}
.product-copy .desc{margin-top:8px;color:var(--muted)}
.price{display:flex;align-items:center;gap:9px;margin:15px 0 16px}
.price strong{font-size:clamp(30px,3vw,38px);font-variant-numeric:tabular-nums;color:var(--accent-dark);line-height:1.25}
.price span{background:var(--sun-soft);color:var(--sun-ink);padding:2px 8px;border-radius:6px;font-size:12px;font-weight:700}
.choice{border:0;border-top:1px solid var(--line);margin:0;padding:13px 0 12px;min-inline-size:0}
.choice + .choice{border-top:0;padding-top:1px}
.choice legend{padding:0;float:left;width:100%;font-weight:750;font-size:14px;margin-bottom:7px}
.choice legend span{font-weight:500;color:var(--muted);margin-inline-start:4px}
.options{display:flex;flex-wrap:wrap;gap:7px;clear:both}
.variant{display:flex;gap:7px;align-items:center;justify-content:center;padding:6px 11px;min-width:var(--touch-size);min-height:var(--touch-size);border-radius:var(--control-radius);background:white;border:1px solid var(--control-line);font-weight:700;font-size:14px}
.variant[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--brand-soft);color:var(--accent-dark)}
.variant:disabled{background:#eef0f4;color:#56627a;border-color:var(--line)}
.variant:disabled .size-code{text-decoration:line-through}
.variant small{font-size:11px}
.dot{width:15px;height:15px;border-radius:50%;border:1px solid #24254b2b}
.variant-hint{margin:3px 0 10px;min-height:20px;color:var(--green);font-size:13px;font-weight:700}
.variant-hint.unknown{color:#795418}
.actions{display:grid;gap:8px}
.actions .btn{min-height:48px;font-size:15px}
.footer-products{margin-top:38px;padding-top:20px;border-top:1px solid var(--line)}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:13px}
.section-head button{font-weight:750;color:var(--accent-dark);padding:5px 0}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.card{display:flex;flex-direction:column;align-items:stretch;padding:0;min-width:0;text-align:start;border:1px solid var(--line);overflow:hidden;border-radius:var(--r);background:white}
.card:hover,.card:focus-visible{border-color:var(--accent)}
.card-image{position:relative;aspect-ratio:4/3;background:var(--photo-surface);display:block;flex:none}
.card-image > :is(img,.no-photo){position:absolute;inset:0}
.card-image .no-photo,.photo-stage .no-photo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:var(--pink-soft);padding:10px;text-align:center;font-size:14px}
.card-image .no-photo::before,.photo-stage .no-photo::before{
  content:"";width:30px;height:26px;background:#89a3dc;
  clip-path:polygon(30% 0,40% 0,44% 9%,56% 9%,60% 0,70% 0,100% 21%,85% 49%,72% 41%,72% 100%,28% 100%,28% 41%,15% 49%,0 21%);
}
.photo-stage .no-photo::before{width:40px;height:35px}
.new-badge{position:absolute;top:8px;right:8px;padding:2px 7px;border-radius:7px;background:var(--sun);color:var(--sun-ink);font-size:11px;font-weight:800;line-height:1.4;direction:ltr}
.card-caption{display:flex;flex:1;flex-direction:column;align-items:start;gap:4px;padding:12px 13px 13px}
.card-caption strong{font-size:15px;line-height:1.45}
.card-caption small{font-size:12px}
.card-price{margin-top:auto;padding-top:4px;color:var(--accent-dark);font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}
.catalog-empty{padding:22px;border:1px solid var(--line);border-radius:var(--r);background:var(--white);color:var(--muted)}
.list-intro{margin-bottom:20px}
.admin-shell{background:#f3f7fe;min-height:100vh;padding-bottom:38px}
.admin-top{background:white;border-block-start:3px solid var(--accent);border-bottom:1px solid var(--line)}
.admin-top .wrap{display:flex;align-items:center;justify-content:space-between;min-height:69px;gap:12px}
.admin-top .brand{font-size:24px}
.staff{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;white-space:nowrap}
.avatar{display:grid;place-items:center;background:var(--brand-soft);color:var(--accent-dark);border-radius:50%;width:31px;height:31px}
.admin-body{display:grid;grid-template-columns:155px minmax(0,1fr);gap:24px;padding-top:25px}
.admin-nav{display:flex;flex-direction:column;gap:6px}
.admin-nav button{padding:9px 12px;text-align:start;border:1px solid transparent;border-radius:var(--control-radius);font-size:14px;font-weight:750;color:var(--muted)}
.admin-nav button:hover{background:var(--surface-subtle)}
.admin-nav button[aria-pressed=true]{background:var(--brand-soft);border-color:#bfd1f2;color:var(--accent-dark)}
.admin-main{min-width:0}
.admin-main h1{font-size:clamp(26px,3vw,35px)}
.admin-title{margin-bottom:16px}
.admin-title p{color:var(--muted);margin-top:3px;font-size:14px}
.admin-grid{display:grid;grid-template-columns:minmax(235px,.82fr) minmax(0,1.35fr);gap:16px;align-items:start}
.panel{background:white;border:1px solid var(--line);border-radius:var(--r);padding:clamp(14px,2vw,21px);min-width:0}
.panel h2{font-size:20px}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.pill{display:inline-block;padding:2px 7px;font-size:12px;white-space:nowrap;border-radius:6px;background:var(--brand-soft);color:var(--accent-dark);font-weight:750}
.pill.good{background:var(--green-bg);color:var(--green)}
.pill.bad{background:var(--rose-bg);color:var(--rose)}
.pill.neutral{background:#edf0f5;color:var(--muted)}
.items{display:grid;gap:6px;margin-top:11px}
.item{display:grid;grid-template-columns:43px 1fr auto;gap:8px;align-items:center;text-align:left;padding:7px;border:1px solid var(--line);border-radius:10px;background:white}
.item:hover{background:var(--surface-subtle)}
.item[aria-pressed=true]{background:var(--surface-subtle);border-color:#bfd1f2}
.item img{height:43px;border-radius:7px;background:var(--photo-surface)}
.item strong,.item small{display:block}
.item strong{font-size:14px}
.item small{font-size:12px}
.editor-id{font-size:13px;color:var(--muted);margin-bottom:1px}
.switch-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface-subtle);border-radius:11px;padding:9px 11px;margin:13px 0 15px}
.switch-row strong,.switch-row small{display:block}
.switch{border:0;background:transparent;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:750;min-height:37px;flex:none;padding:1px 0}
.track{width:34px;height:19px;border-radius:999px;background:#8b99b1;position:relative;display:inline-block}
.track:after{content:"";position:absolute;top:3px;left:3px;width:13px;height:13px;border-radius:50%;background:#fff}
.switch[aria-checked=true] .track{background:var(--accent)}
.switch[aria-checked=true] .track:after{left:18px}
.manage-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:9px}
.manage-photo{overflow:hidden;border-radius:10px;border:1px solid var(--line)}
.manage-photo img{aspect-ratio:1.25;height:auto;background:var(--photo-surface)}
.manage-photo .off{opacity:.42}
.manage-photo .switch{padding:0 6px;width:100%;justify-content:center}
.media-head{display:flex;align-items:center;justify-content:space-between;gap:7px}
.editor-note{margin-top:12px;color:var(--muted);font-size:12px}
.item .no-photo{min-height:43px;font-size:10px;line-height:1.2;text-align:center}
.manage-photo .remove-photo{display:block;width:100%;min-height:36px;color:var(--rose);font-size:13px;font-weight:750;border:0;border-top:1px solid var(--line);background:white}
.remove-photo:hover{background:var(--rose-bg)}
.edit-disclosure{width:100%;min-height:44px;margin-top:15px;padding:9px 0;border-top:1px solid var(--line);text-align:left;font-weight:750;color:var(--accent-dark)}
.edit-fields{display:grid;gap:11px;margin-top:12px}
.edit-fields label{font-size:14px;font-weight:750}
.edit-fields textarea,.edit-fields input:not([type=checkbox]),.edit-fields select,.catalog-filter select{display:block;width:100%;min-height:var(--touch-size);margin-top:4px;padding:8px 10px;border:1px solid var(--control-line);border-radius:var(--control-radius);background:#fff;color:var(--ink);font:inherit;font-weight:400}
.edit-fields textarea{min-height:72px;resize:vertical}
.edit-fields input[type=number]{min-width:0;margin:0;padding:6px 3px;text-align:center;font-size:14px}
.edit-fields .save-details{justify-self:start}
.size-table{width:100%;table-layout:fixed;border-collapse:collapse;text-align:center;font-size:12px}
.size-table th,.size-table td{padding:5px 3px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.size-table th:first-child{width:36px}
.public-chart{margin:3px 0 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.public-chart summary{width:100%;padding:9px 11px;color:var(--accent-dark);cursor:pointer;font-size:14px;font-weight:750}
.public-chart[open] summary{border-bottom:1px solid var(--line);background:var(--surface-subtle);border-radius:12px 12px 0 0}
.public-chart .chart-body{padding:4px 10px 8px}
.public-chart table{margin-top:4px;background:white}
.public-chart .size-table th,.public-chart .size-table td{padding:6px 3px}
.public-chart .size-table tbody tr:last-child :is(th,td){border-bottom:0}
.public-chart tr[data-selected="true"]{background:var(--brand-soft);color:var(--accent-dark);font-weight:750}
.public-chart .chart-note{display:block;margin:5px 2px 1px;font-size:12px}
.product-copy .desc{white-space:pre-line;overflow-wrap:anywhere}
.product-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}
.tag-link{min-height:36px;border:1px solid var(--line);border-radius:8px;padding:4px 10px;background:var(--surface-subtle);color:var(--accent-dark);font-size:13px;font-weight:700;overflow-wrap:anywhere}
.tag-link:hover{background:var(--brand-soft)}
.btn.danger{background:#9d414b;border-color:#9d414b;color:white}
.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
.stock-panels{display:grid;gap:13px}
.upload{padding:16px;background:var(--surface-subtle);border:1px dashed var(--control-line);border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.upload strong,.upload small{display:block}
.upload small{margin-top:3px}
.preview-table{border-collapse:collapse;width:100%;font-size:14px;margin:9px 0 13px}
.preview-table th,.preview-table td{padding:8px;border-bottom:1px solid var(--line);text-align:left}
.preview-table th{color:var(--muted)}
.preview-table td:nth-child(2),.preview-table td:nth-child(3){white-space:nowrap}
.stock-note{color:var(--muted);font-size:13px;margin-bottom:10px}
dialog{width:min(430px,calc(100% - 28px));padding:clamp(16px,4vw,24px);border:1px solid var(--line);border-radius:var(--r);color:var(--ink);box-shadow:0 12px 60px #24254b25}
dialog::backdrop{background:#24254b63}
dialog p{margin:11px 0 13px;white-space:pre-line}
.contact-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:center;margin:13px 0 0;padding:9px;border:1px solid var(--line);border-radius:12px;background:var(--surface-subtle)}
.contact-card[hidden]{display:none}
.contact-photo{aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--brand-soft)}
.contact-photo .no-photo{font-size:11px;text-align:center;padding:4px}
.contact-details{display:grid;gap:2px;overflow-wrap:anywhere;font-size:13px}
.contact-details small{font-weight:750;color:var(--accent)}
.contact-details strong{font-size:16px}
.contact-pack{grid-column:1/-1;display:grid;gap:3px;padding:8px 3px 1px;border-top:1px solid var(--line);font-size:13px}
.contact-pack[hidden]{display:none}
.contact-pack strong{color:var(--accent-dark)}
dialog p.contact-guide{margin:9px 0;color:var(--accent-dark);font-weight:700;font-size:13px}
dialog #message[hidden]{display:none}
dialog form{text-align:end}
@media(max-width:950px){.wrap{width:calc(100% - 46px)}.product{gap:26px}.gallery{grid-template-columns:54px 1fr;gap:8px}.thumb{width:54px}.admin-body{grid-template-columns:125px minmax(0,1fr);gap:13px}.admin-grid{grid-template-columns:minmax(195px,.8fr) minmax(290px,1.1fr)}}
@media(max-width:710px){.wrap{width:calc(100% - 32px)}.site-inner{grid-template-columns:1fr auto;min-height:0;padding:10px 0;gap:8px 12px}.brand{font-size:25px}.site-inner .search{grid-column:1/-1;grid-row:2}.search input{min-height:37px}.header-action{font-size:12px;min-height:32px;padding:3px 9px}.header-action .line-icon{width:23px;height:18px;font-size:8px}.store{padding-top:10px}.breadcrumb{margin-bottom:8px}.product{display:block}.gallery{display:flex;flex-direction:column-reverse;gap:7px}.photo-stage{aspect-ratio:1.29;border-radius:15px}.thumb-strip{flex-direction:row;gap:7px}.thumb{width:49px;border-radius:8px}.product-copy{padding-top:11px}.product-copy .ref{margin-bottom:3px}.product-copy .desc{margin-top:4px}.price{margin:7px 0 8px}.price strong{font-size:25px}.choice{padding:8px 0}.choice legend{margin-bottom:5px}.variant{min-height:40px}.variant-hint{margin:3px 0 7px}.footer-products{margin-top:25px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.admin-top .wrap{min-height:55px}.admin-body{display:block;padding-top:10px}.admin-nav{flex-direction:row;margin-bottom:14px}.admin-nav button{min-height:40px}.admin-grid{grid-template-columns:1fr}.admin-main h1{font-size:26px}.admin-title{margin-bottom:10px}.upload{align-items:stretch;flex-direction:column;padding:12px}.preview-table{font-size:12px}.preview-table th,.preview-table td{padding:6px 3px}}
[hidden]{display:none!important}
a{color:var(--accent-dark)}
.btn{text-decoration:none}
button,select,input,textarea{font:inherit}
select,input,textarea{min-width:0;color:var(--ink)}
:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.brand-logo{width:auto;height:auto;max-width:72px;max-height:34px;object-fit:contain;flex:none}
@media(max-width:580px){.brand-logo{max-width:44px;max-height:32px}}
.site-footer{border-top:1px solid var(--line);padding:14px 0;background:var(--brand-soft);color:var(--muted);font-size:13px}
.card-caption strong{overflow-wrap:anywhere}
.photo-stage video{width:100%;height:100%;display:block;background:#24254b}
.thumb-strip{overflow:auto;max-height:500px;scrollbar-width:thin}
.thumb{flex:none}
.product-copy .ref,.editor-id{overflow-wrap:anywhere}
.filters-details summary{cursor:pointer;color:var(--accent-dark);font-size:14px;font-weight:750}
.filter-controls select,.catalog-filter select,#store-language{padding:7px 9px;border:1px solid var(--control-line);border-radius:var(--control-radius);background:#fff}
.contact-card .contact-info{grid-column:1/-1}
.contact-card:has(.contact-photo) .contact-info{grid-column:auto}
.line-unavailable{color:var(--muted);font-size:13px}
.admin-tools{display:flex;align-items:center;gap:10px;white-space:nowrap}
.admin-tools a{font-size:13px;font-weight:700;text-decoration:none}
.admin-tools .btn{min-height:var(--touch-size);padding:5px 9px;font-size:12px}
.admin-tools form{margin:0}
.admin-main h1{overflow-wrap:anywhere}
.pilot-login{width:min(calc(100% - 32px),420px);margin:clamp(32px,10vh,100px) auto;padding:clamp(20px,5vw,28px);background:#fff;border:1px solid var(--line);border-block-start:4px solid var(--sun);border-radius:var(--r);color:var(--ink)}
.pilot-login h1{font-size:clamp(23px,5vw,28px)}
.pilot-login .wordmark{font-size:22px;font-weight:850;color:var(--accent-dark);margin-top:0}
.pilot-login form,.edit-fields{display:grid;gap:11px}
.pilot-login label,.edit-fields label{font-weight:700}
.pilot-login p{margin:9px 0}
.pilot-login input{display:block;width:100%;min-height:var(--touch-size);margin-top:6px;padding:8px 10px;border:1px solid var(--control-line);border-radius:var(--control-radius)}
.pilot-login .primary{min-height:var(--touch-size);border:0;border-radius:var(--control-radius);padding:9px 15px;color:#fff;background:var(--accent);font-weight:750}
.pilot-login [role=status]:empty{display:none}
.staff-notice{margin:0 0 9px;color:var(--accent-dark);font-size:13px;font-weight:700}
.staff-notice:empty{display:none}
.admin-grid .item{width:100%}
.admin-grid .item .no-photo{background:var(--surface-subtle);border-radius:7px}
.editor-id{margin-bottom:5px}
.pilot-edit-details{margin-top:14px;padding-top:9px;border-top:1px solid var(--line)}
.pilot-edit-details summary{cursor:pointer;color:var(--accent-dark);font-weight:750}
.pilot-table-wrap,.size-chart-scroll{overflow:auto}
.pilot-chart th,.pilot-chart td{min-width:50px}
.pilot-chart th:first-child{min-width:32px}
.pilot-chart select{padding:3px;font-size:12px}
.edit-fields .btn{justify-self:start}
.stock-panels .upload{align-items:flex-start;flex-wrap:wrap}
.stock-panels .upload label{min-width:0;max-width:100%;display:grid;gap:5px}
.stock-panels .upload input[type=file]{max-width:100%}
.stock-note{margin-top:6px}
.photo-note{margin-top:9px;font-size:13px;color:var(--muted)}
@media(max-width:710px){.thumb-strip{max-height:none}.admin-nav{flex-wrap:wrap}.admin-top .brand{font-size:22px}.admin-tools{gap:5px}.admin-tools a{font-size:12px}}
@media(max-width:370px){.admin-top .brand{font-size:19px;gap:5px}.admin-top .brand-mark{width:26px;height:26px}.admin-tools .btn{padding-inline:6px}}
@media(max-width:710px){.staff-name{display:none}}
@media(max-width:370px){.admin-tools .staff{display:none}}

.header-tools{display:flex;align-items:center;justify-self:end;gap:8px;white-space:nowrap}
#store-language{min-height:var(--touch-size);font-size:14px}
@media(max-width:710px){.header-tools{gap:6px}#store-language{min-height:34px}}
@media(max-width:385px){.header-tools .header-action{padding-inline:7px}#store-chat{display:none}}

/* Responsive catalog and staff workflows */
body{min-height:100dvh}
body:not(.admin-shell){display:flex;flex-direction:column}
body:not(.admin-shell) #store{flex:1}
:where(button,summary){-webkit-tap-highlight-color:transparent}
.site-inner{grid-template-columns:auto minmax(0,1fr) auto;gap:20px}
.site-inner .search input,.header-action,#store-language,.variant,.breadcrumb button,.admin-nav button,.admin-tools :is(a,button){min-height:44px}
.admin-tools a{display:inline-flex;align-items:center}
.header-tools{min-width:0}
.catalog-heading{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;margin-bottom:14px;padding:14px 19px;border:1px solid #d5e6ff;border-radius:16px 23px 16px 16px;background:var(--brand-soft)}
.catalog-heading::before,.catalog-heading::after{content:"";position:absolute;z-index:-1;pointer-events:none}
.catalog-heading::before{inset-inline-end:-19px;bottom:-41px;width:134px;height:84px;border-radius:56px 46px 0 0;background:var(--sun);transform:rotate(-12deg)}
.catalog-heading::after{inset-inline-end:88px;bottom:-26px;width:58px;height:56px;border-radius:22px;background:var(--pink);transform:rotate(19deg)}
.catalog-heading p{padding:3px 9px;border:1px solid #d5e6ff;border-radius:9px;background:var(--white);color:var(--accent-dark);font-size:14px;font-variant-numeric:tabular-nums}
.catalog-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(150px,auto);align-items:end;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--r);background:var(--white)}
.catalog-filter label{display:grid;min-width:0;gap:4px;font-size:14px;font-weight:750}
.catalog-filter select,.filter-controls select{width:100%;min-height:var(--touch-size);margin:0}
.filters-details{min-width:0}
.filters-details summary{min-height:var(--touch-size);padding:7px 9px;border:1px solid var(--control-line);border-radius:var(--control-radius);background:var(--surface-subtle)}
.filter-active{display:inline-block;margin-inline-start:4px;padding:1px 6px;border-radius:6px;background:var(--brand-soft);color:var(--accent-dark);font-size:12px}
.filters-details[open]{grid-column:1/-1}
.catalog-filter:has(.filters-details[open]){grid-template-columns:repeat(3,minmax(0,1fr))}
.filter-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:9px}
.card-image img,.contact-photo img{object-fit:contain}
.product-copy{min-width:0}
.choice legend{float:inline-start}
.choice legend span{margin-inline:4px 0}
.public-chart{margin:12px 0;border:1px solid var(--control-line);border-radius:12px;background:var(--white)}
.public-chart summary{display:list-item;width:auto;min-height:44px;padding:11px 12px;font-size:14px}
.public-chart[open] summary{border-bottom:1px solid var(--line)}
.public-chart .chart-body{padding:9px 10px 12px}
.public-chart .size-table :is(td,th){padding-block:7px;font-size:13px}
.public-chart .size-table caption{text-align:start;color:var(--accent-dark);font-weight:750;padding-block:8px 4px}
dialog{width:min(460px,calc(100% - 32px));max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:auto}
dialog h2{font-size:clamp(19px,3vw,24px);overflow-wrap:anywhere}
.dialog-actions{flex-wrap:wrap}
.dialog-actions .btn{min-height:44px}
.admin-body{--nav-offset:179px}
.admin-nav button{text-align:start}
.admin-grid .item{min-height:52px;grid-template-columns:43px minmax(0,1fr) auto}
.admin-grid .item :is(strong,small),.admin-grid .panel h2,.preview-table td:first-child{overflow-wrap:anywhere}
.admin-grid .search input,.switch,.manage-photo .remove-photo,.stock-panels .btn,.edit-fields .btn{min-height:44px}
.manage-photo .remove-photo{background:#fff;border:0;border-top:1px solid var(--line)}
.manage-photo .remove-photo:hover,.manage-photo .remove-photo:focus-visible{background:var(--rose-bg)}
.manage-photo :is(.remove-photo,.switch):focus-visible{outline-offset:-3px}
.stock-panels .upload{align-items:center}
.stock-panels input[type=file]::file-selector-button,.edit-fields input[type=file]::file-selector-button{
  min-height:36px;margin-inline-end:8px;padding:4px 9px;border:1px solid var(--control-line);border-radius:8px;
  background:white;color:var(--accent-dark);font:inherit;font-weight:750;cursor:pointer;
}
.preview-table tbody tr:nth-child(even){background:var(--surface-subtle)}
.preview-table :is(th,td){text-align:start}
.preview-table td:first-child{white-space:normal}
.stock-panels h2,.admin-grid h2{scroll-margin-top:12px}
@media(max-width:950px){.admin-body{--nav-offset:138px}}
@media(min-width:711px) and (max-width:860px){
  .admin-body{--nav-offset:0px;grid-template-columns:minmax(0,1fr);padding-top:14px}
  .admin-nav{flex-direction:row}
  .admin-grid{grid-template-columns:minmax(190px,.8fr) minmax(0,1.3fr)}
}
@media(min-width:711px) and (max-width:950px){
  .admin-grid .item{grid-template-columns:43px minmax(0,1fr);row-gap:4px}
  .item > :is(img,.no-photo){grid-row:1/span 2}
  .item .pill{grid-column:2;justify-self:start}
}
@media(max-width:710px){
  .admin-body{--nav-offset:0px}
  .site-inner{grid-template-columns:minmax(0,1fr) auto;gap:8px 10px}
  .thumb-strip{padding:3px;max-height:none}
  .product-copy{padding-top:14px}
  .stock-panels .upload{align-items:stretch}
}
@media(min-width:1080px){.cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){
  .catalog-filter,.catalog-filter:has(.filters-details[open]){grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .catalog-filter:has(.filters-details[open]) .catalog-sort{grid-column:1/-1}
}
@media(max-width:580px){
  .site-inner .brand{font-size:22px}
  .header-tools{gap:5px}
  .header-tools .header-action{min-width:44px;padding-inline:7px}
  #store-chat{display:none}
  .header-action .line-icon{width:28px;height:22px;font-size:9px}
  .catalog-filter{padding:10px}
  .catalog-heading{margin-bottom:10px;padding:10px 12px}
  .catalog-heading::before{width:88px;height:70px;bottom:-35px}
  .catalog-heading::after{inset-inline-end:58px;width:42px;height:43px;bottom:-22px}
  .filters-details summary{font-size:13px}
  .filter-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
  .list-intro{margin-bottom:14px}
  .cards{gap:10px}
  .card-image{aspect-ratio:4/3}
  .card-caption{padding:10px 11px}
  .card-price{font-size:17px}
  .card-image .no-photo{font-size:13px}
  .photo-stage{aspect-ratio:1.43}
  .product-copy{padding-top:12px}
  .product-copy .price strong{font-size:30px}
  .tag-link{min-height:44px}
  .contact-card{grid-template-columns:78px minmax(0,1fr);gap:9px}
  .admin-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-nav button{text-align:center;border:1px solid var(--line);background:white;font-size:14px;padding-inline:5px}
  .stock-panels .btn{width:100%}
  .preview-table,.preview-table tbody{display:block;font-size:14px}
  .preview-table thead{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
  .preview-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 4px;border-bottom:1px solid var(--line)}
  .preview-table tbody td{border:0;padding:0}
  .preview-table tbody td:first-child{grid-column:1/-1}
  .preview-table td[data-label]::before{content:attr(data-label);display:block;color:var(--muted);margin-bottom:3px;font-size:12px}
}
@media(max-width:370px){
  .admin-grid .item{grid-template-columns:38px minmax(0,1fr) auto}
  .manage-photos{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(pointer:coarse){
  .search input,.edit-fields :is(input,textarea,select){font-size:16px}
}

/* Size entry and photo controls */
.photo-types{display:flex;flex-wrap:wrap;gap:6px;margin-block:10px}
.photo-types button{min-height:var(--touch-size);padding:6px 10px;border:1px solid var(--control-line);border-radius:var(--control-radius);background:white;color:var(--accent-dark);font-size:14px;font-weight:750}
.photo-types button[aria-pressed=true]{background:var(--brand-soft);border-color:#bfd1f2}
.photo-kind{display:block;text-align:center;padding:3px 2px 0;font-size:12px}
.pilot-edit-details{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;margin-top:12px;padding:10px 13px;border:1px solid var(--line);border-radius:11px;background:var(--surface-subtle);color:var(--accent-dark);font-weight:750;text-align:start}
.pilot-edit-details[aria-expanded=true]{background:var(--brand-soft);border-color:#bfd1f2}
.pilot-edit-details span{width:8px;height:8px;margin:-4px 3px 0 0;transform:rotate(45deg);border:solid currentColor;border-width:0 2px 2px 0}
.pilot-edit-details[aria-expanded=true] span{transform:rotate(225deg);margin-top:4px}
.pilot-details-form{margin:15px 0 0 calc(-1 * var(--nav-offset));padding:0 18px 12px}
.measurement-bar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-inline:-18px;padding:12px 18px;border-radius:15px 15px 0 0;border-bottom:1px solid var(--line);background:white}
.measurement-heading,.measurement-actions{display:flex;align-items:center}
.measurement-heading{gap:10px}
.measurement-heading h2{font-size:22px;white-space:nowrap;scroll-margin-top:12px}
.measurement-actions{margin-inline-start:auto}
.measurement-actions small{font-weight:700;color:var(--accent-dark)}
.measurement-actions small:not(:empty){margin-inline-end:10px}
.measurement-actions .btn{white-space:nowrap}
.measurement-actions .btn:disabled{background:var(--surface-subtle);border-color:var(--line);color:var(--muted)}
.measurement-error{flex-basis:100%;grid-column:1/-1;color:var(--rose);font-size:13px;font-weight:700}
.measurement-help{color:var(--muted);font-size:13px}
.measurement-fields{display:grid;gap:14px;min-width:0}
.measurement-piece,.measurement-size-card{min-width:0;border:1px solid var(--line);border-radius:11px;background:#fff}
.measurement-piece{overflow:auto}
.measurement-size-card{overflow:hidden}
.measurement-table{width:100%;table-layout:fixed;border-collapse:collapse}
.measurement-table:has(thead th:nth-child(6)){min-width:760px}
.measurement-table caption,.measurement-size-card h3{text-align:start;background:var(--brand-soft);color:var(--accent-dark);padding:8px 12px}
.measurement-table caption small{margin-inline-start:4px}
.measurement-table th,.measurement-table td{border-bottom:1px solid var(--line);padding:3px 7px}
.measurement-table thead th{background:var(--surface-subtle);font-size:13px;padding-block:7px}
.measurement-table th:first-child{width:51px;text-align:center}
.measurement-table tbody th{color:var(--accent-dark);font-variant-numeric:tabular-nums}
.measurement-table tbody tr:last-child > *{border-bottom-width:0}
.measurement-table tbody tr:nth-child(even){background:#f9fbff}
.measurement-table tbody tr:focus-within{background:var(--brand-soft)}
.measurement-table tbody tr:focus-within th,.measurement-size-card:focus-within h3{box-shadow:inset 3px 0 var(--accent)}
.measurement-reading{display:grid;grid-template-columns:minmax(0,1fr) 54px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px}
.measurement-reading:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.edit-fields .measurement-reading input[type=number],.edit-fields .measurement-reading select{min-height:44px;border:0;margin:0;padding:4px 6px;background:transparent;font-size:16px}
.edit-fields .measurement-reading input[type=number]{appearance:textfield;font-variant-numeric:tabular-nums;text-align:end;padding-inline-end:10px;scroll-margin-top:100px}
.measurement-reading :is(input,select):focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.measurement-reading input:user-invalid{background:#fbe9e8!important;color:#8c2d36}
.measurement-reading input::-webkit-inner-spin-button,.measurement-reading input::-webkit-outer-spin-button{appearance:none;margin:0}
.edit-fields .measurement-reading select{border-radius:0 7px 7px 0;border-inline-start:1px solid var(--line);color:var(--accent-dark);background:var(--surface-subtle)}
.measurement-options{border-top:1px solid var(--line)}
.measurement-options summary{padding:10px 0;min-height:44px;cursor:pointer;color:var(--accent-dark);font-weight:700}
#pilot-measurement-options:empty{display:none}
.measurement-options > label{display:block;max-width:310px;margin-block-end:8px}
.product-detail-fields{display:grid;gap:8px;padding:0 0 8px}
.garment-row{display:grid;grid-template-columns:auto repeat(2,minmax(0,1fr));align-items:center;gap:10px;max-width:680px;margin-block-end:7px}
.measurement-options select{min-height:44px}
.mobile-measurement-piece{padding:9px 11px 12px}
.mobile-measurement-piece + .mobile-measurement-piece{border-top:1px solid var(--line)}
.mobile-measurement-piece h4{margin:0 0 6px;font-size:14px}
.mobile-measurement-piece h4 small{margin-inline-start:4px;font-weight:500}
.mobile-measurement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.mobile-measurement-grid span{display:block;margin-bottom:3px;font-size:12px;font-weight:700}
@media(min-width:1200px){
  .measurement-fields:has(> .measurement-piece:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .product-detail-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
  .product-detail-fields label:first-child{grid-column:1/-1}
}
@media(max-width:580px){
  .pilot-details-form{padding-inline:11px}
  .measurement-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;margin-inline:-11px;padding:8px 11px}
  .measurement-heading{display:block}
  .measurement-heading h2{font-size:18px}
  .measurement-actions{display:grid;justify-items:end;gap:1px}
  .measurement-actions small{grid-row:2;min-height:1.25em;font-size:11px}
  .measurement-actions small:not(:empty){margin-inline-end:0}
  .measurement-actions button{grid-row:1;padding-inline:10px}
  .garment-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px}
  .garment-row strong{grid-column:1/-1}
}

/* Product worklist */
.task-overview{margin-bottom:14px;background:var(--surface-subtle)}
.task-total{display:flex;align-items:baseline;gap:8px;color:var(--accent-dark);font-size:15px;font-weight:700}
.task-total strong{font-size:34px;line-height:1.1;font-variant-numeric:tabular-nums}
.task-overview details{margin-top:10px;border-top:1px solid var(--line)}
.task-overview summary{min-height:44px;padding:10px 0;color:var(--accent-dark);cursor:pointer;font-weight:700}
.task-breakdown-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.task-breakdown-grid h3{font-size:15px}
.task-breakdown-grid dl{margin:4px 0 0}
.task-breakdown-grid dl div{display:flex;justify-content:space-between;gap:6px;padding:4px 0;font-size:13px}
.task-breakdown-grid dd{margin:0;color:var(--accent-dark);font-weight:700;white-space:nowrap}
.task-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px}
.task-controls > div{display:grid;gap:4px}
.task-controls label{font-size:14px;font-weight:750}
.task-controls :is(select,input){width:100%;min-height:var(--touch-size);padding:7px 10px;border:1px solid var(--control-line);border-radius:var(--control-radius);background:white;font:inherit;font-size:16px;font-weight:400}
.task-list,.task-tags{margin:0;padding:0;list-style:none}
.task-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line)}
.task-row:last-child{padding-bottom:0}
.task-product :is(strong,small){display:block;overflow-wrap:anywhere}
.task-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.task-tags li{max-width:100%;padding:2px 7px;border-radius:6px;background:var(--brand-soft);color:var(--accent-dark);font-size:12px;font-weight:650;overflow-wrap:anywhere}
.task-row button{min-height:44px}
.task-empty{padding:12px 0}
#pilot-metadata-summary,#staff-media-title{scroll-margin-top:92px}
@media(max-width:710px){
  .task-breakdown-grid{grid-template-columns:1fr;gap:9px}
  .task-breakdown-grid > div + div{border-top:1px solid var(--line);padding-top:9px}
}
@media(max-width:580px){
  .task-controls{grid-template-columns:1fr}
  .task-row{grid-template-columns:1fr;gap:8px}
  .task-row button{justify-self:start}
}

/* Receiving rounds */
.product-actions{display:flex;justify-content:space-between;align-items:start;gap:8px 16px;flex-wrap:wrap}
.product-actions .btn,.arrival-actions .btn{min-height:44px}
.arrival-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px}
.arrival-layout form{margin-top:10px}
.arrival-layout input:not([type=checkbox]){min-height:44px}
.arrival-products{min-width:0;margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:10px}
.arrival-products legend{font-weight:750}
.arrival-products p{font-size:13px;margin-bottom:6px}
.arrival-products label{display:flex;align-items:center;gap:8px;min-height:44px}
.arrival-products label + label{border-top:1px solid var(--line)}
.arrival-products input[type=checkbox]{display:inline-block;width:18px;height:18px;margin:0;accent-color:var(--accent)}
.arrival-actions{display:flex;flex-wrap:wrap;gap:6px}
.arrival-rounds{padding:0;margin:10px 0 0;list-style:none}
.arrival-rounds li{display:grid;gap:7px;padding:10px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.arrival-rounds small{display:block}
.arrival-empty{margin-top:8px}
@media(max-width:710px){.arrival-layout{grid-template-columns:1fr}}
