/* GWH Trade Portal. Tokens, type and breakpoints from the approved B2 prototype;
   winery grouping, filters and rows from the B5b artboards (B5b 6-8). */
:root{--paper:#FBFAF8;--surface:#FFFFFF;--ink:#1F1A1D;--muted:#5F5660;--line:#E7E1E4;--ctl:#D6CDD2;
--plum:#784660;--plum-d:#5E3449;--on-plum:#FFFFFF;--tint:#F4EEF1;--sel:#FBF7F9;
--amb:#8A4F0F;--amb-bg:#F8ECDD;--blu:#1F5F8B;--blu-bg:#E3EEF6;--blu-row:#F5F9FC;--mute-bg:#ECE7EA;
--on-blu:#FFFFFF;--err:#9B1C1C;--stick:96px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#171316;--surface:#221D21;--ink:#F2ECEF;--muted:#B8ADB4;--line:#3A3238;--ctl:#4A4148;--plum:#C394B2;--plum-d:#D9B3CB;--on-plum:#1B1519;--tint:#35262F;--sel:#2A2027;--amb:#F2B866;--amb-bg:#3D2A12;--blu:#8EC3E6;--blu-bg:#1C3243;--blu-row:#1B2830;--mute-bg:#2F282D;--on-blu:#0E1E29;--err:#F29B9B}}
:root[data-theme="dark"]{--paper:#171316;--surface:#221D21;--ink:#F2ECEF;--muted:#B8ADB4;--line:#3A3238;--ctl:#4A4148;--plum:#C394B2;--plum-d:#D9B3CB;--on-plum:#1B1519;--tint:#35262F;--sel:#2A2027;--amb:#F2B866;--amb-bg:#3D2A12;--blu:#8EC3E6;--blu-bg:#1C3243;--blu-row:#1B2830;--mute-bg:#2F282D;--on-blu:#0E1E29;--err:#F29B9B}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:var(--stick)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:16px;line-height:1.45;overflow-x:hidden}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--plum)}a:hover{color:var(--plum-d)}
:focus-visible{outline:3px solid var(--plum);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.num{font-variant-numeric:tabular-nums}.r{text-align:right}
.muted,.sub{color:var(--muted)}
[hidden]{display:none!important}

/* header */
header.top{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.topin{max-width:1320px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 32px;min-height:76px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:20px}
.brand img{height:48px;width:auto;display:block}
.brand .portal{font-size:15px;font-weight:600;color:var(--plum);border-left:1px solid var(--line);padding-left:18px}
nav.main{display:flex;gap:22px}
nav.main a{text-decoration:none;padding:26px 0 24px;font-size:15px;color:var(--muted);border-bottom:2px solid transparent}
nav.main a[aria-current="page"]{color:var(--ink);font-weight:700;border-bottom-color:var(--plum)}
.acct{display:flex;align-items:center;gap:16px;font-size:14px;color:var(--muted)}
.acct form{display:inline}
.linkbtn{background:none;border:0;padding:0 4px;min-height:44px;color:var(--plum);cursor:pointer;text-decoration:underline;font-size:14px}

/* buttons, inputs */
.btn{min-height:44px;padding:0 18px;border-radius:10px;border:1px solid var(--ctl);background:var(--surface);font-weight:600;font-size:15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;color:var(--ink);white-space:nowrap}
.btn-p{background:var(--plum);border-color:var(--plum);color:var(--on-plum)}.btn-p:hover{color:var(--on-plum);background:var(--plum-d)}
.btn-o{border:1.5px solid var(--plum);color:var(--plum);background:transparent}
.btn-sm{min-height:40px;font-size:14px;padding:0 14px}
.in{min-height:44px;border:1px solid var(--ctl);border-radius:10px;padding:0 12px;font-size:15px;background:var(--surface);width:100%}
label.f{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px}
.errorlist{color:var(--err);padding-left:18px}
.pill{font-size:12px;font-weight:700;border-radius:999px;padding:3px 9px;white-space:nowrap;display:inline-block}
.p-arr{color:var(--blu);background:var(--blu-bg)}.p-low{color:var(--amb);background:var(--amb-bg)}
.p-new{color:var(--plum);background:var(--tint)}.p-out{color:var(--muted);background:var(--mute-bg)}
.p-pick{color:var(--on-plum);background:var(--plum)}

/* page */
.wrap{max-width:1320px;margin:0 auto;padding:28px 32px 80px}
.wrap.narrow{max-width:760px}
h1{margin:0;font-size:30px;font-weight:600;letter-spacing:-.01em;line-height:1.15}
.layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:32px;align-items:start}
.layout.no-rail{grid-template-columns:minmax(0,1fr)}
.pagehead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:18px}
.pagehead .sub{margin-top:6px;font-size:15px}
.jump{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);white-space:nowrap}
.jump select{height:40px;border:1px solid var(--ctl);border-radius:10px;padding:0 10px;font-size:14px;background:var(--surface);min-width:200px}

/* filter rail (DC + prospect) */
.rail{display:flex;flex-direction:column;gap:24px;position:sticky;top:var(--stick);max-height:calc(100vh - 110px);overflow:auto;padding-right:4px}
.rail h3{margin:0 0 6px;font-size:13px;font-weight:700}
.fgroup{display:flex;flex-direction:column;gap:2px}
label.cb{display:flex;align-items:center;gap:10px;font-size:14px;min-height:32px;cursor:pointer}
label.cb input{width:18px;height:18px;accent-color:var(--plum);flex-shrink:0}
label.cb .n{margin-left:auto;color:var(--muted);font-size:13px}
.winery-find{min-height:40px;font-size:14px;margin-bottom:4px}
.more{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600;background:none;border:0;padding:0;color:var(--plum);cursor:pointer;text-align:left}
details.filters>summary{display:none}

/* distributor toolbar + winery menu */
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px;position:relative}
.toolbar .in{width:auto;flex:1 1 240px}
.menu{position:absolute;top:52px;left:0;z-index:15;width:320px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(20,15,18,.14);padding:16px;display:flex;flex-direction:column;gap:8px;max-height:70vh;overflow:auto}
.menu .foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:6px}
.chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:14px;margin-bottom:12px}
.chip{display:inline-flex;align-items:center;gap:4px;padding:0 4px 0 12px;min-height:36px;border-radius:999px;background:var(--tint);color:var(--ink);font-size:14px}
.chip button{width:32px;height:32px;border:0;background:transparent;border-radius:50%;cursor:pointer;font-size:16px;color:var(--muted)}

/* wine table */
.table{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.tr{display:grid;grid-template-columns:minmax(0,3fr) minmax(140px,1.4fr) 96px 100px 150px;gap:16px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line)}
.table.no-prices .tr{grid-template-columns:minmax(0,1fr)}
.tr.th{font-size:12px;font-weight:700;color:var(--muted);background:var(--paper)}
.tr.sel{background:var(--sel)}.tr.pre{background:var(--blu-row)}
.winery{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 16px 12px;background:var(--tint);border-bottom:1px solid var(--line)}
.winery .wt{display:flex;flex-direction:column;gap:3px;min-width:0}
.winery h2{margin:0;font-size:17px;font-weight:700;display:inline}
.winery .cnt{font-size:13px;color:var(--muted);margin-left:10px}
.winery .story{font-size:14px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.winery .about{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap}
.wine{display:flex;align-items:center;gap:14px;min-width:0}
.wine svg{flex-shrink:0}
.wine .nm{display:flex;flex-direction:column;gap:3px;min-width:0}
.wine .nm>a{font-size:15px;font-weight:600;color:var(--ink);text-decoration:none}
.wine .nm>a:hover{color:var(--plum)}
.stl{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.stl i{width:9px;height:9px;border-radius:50%;border:1px solid rgba(0,0,0,.15);display:inline-block;flex-shrink:0}
.tags{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.av{display:flex;flex-direction:column;gap:4px;align-items:flex-start;font-size:14px}
.av small{font-size:13px;color:var(--muted)}
.c-btl{font-size:15px;font-weight:700}.c-case{font-size:14px;color:var(--muted)}
.step{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.step button{width:40px;height:40px;border-radius:8px;border:1px solid var(--ctl);background:var(--surface);font-size:18px;cursor:pointer;color:var(--ink)}
.step button[disabled]{opacity:.45;cursor:not-allowed}
.step button.plus{border:0;background:var(--tint);color:var(--plum)}
.step button.plus.on{background:var(--plum);color:var(--on-plum)}
.step button.plus.pre{background:var(--blu);color:var(--on-blu)}
.step .q{min-width:26px;text-align:center;font-weight:700}
.act{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.act small{font-size:12px;font-weight:700;color:var(--blu)}
.act .ask{font-size:14px;font-weight:600;text-decoration:none}
.m-only{display:none}
.empty{padding:28px;text-align:center;color:var(--muted)}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(24px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:12px;font-size:14px;z-index:40;max-width:90vw}

@media (max-width:1100px){
  .tr{grid-template-columns:minmax(0,3fr) minmax(120px,1.3fr) 84px 92px 140px;gap:12px}
}
@media (max-width:980px){
  .layout{grid-template-columns:minmax(0,1fr);gap:12px}
  .rail{position:static;max-height:none;overflow:visible;gap:12px}
  details.filters>summary{display:flex;list-style:none;cursor:pointer;min-height:44px;align-items:center;justify-content:center;border:1px solid var(--ctl);border-radius:10px;background:var(--surface);font-weight:600;font-size:15px}
  details.filters>summary::-webkit-details-marker{display:none}
  details.filters[open]>summary{margin-bottom:12px}
  .railtop{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .railtop .search{grid-column:1/-1}
}
@media (max-width:900px){
  header.top{position:static}
  html{scroll-padding-top:8px}
  .topin{padding:8px 16px;min-height:0;gap:8px}.brand img{height:38px}
  .brand .portal,.acct .who{display:none}
  nav.main{order:3;width:100%;overflow-x:auto}nav.main a{padding:10px 0 12px}
  .wrap{padding:18px 16px 80px}
  h1{font-size:25px}
  .pagehead{margin-bottom:12px}.pagehead .jump{width:100%}.pagehead .jump select{flex:1;min-width:0;min-height:44px}
  .tr.th{display:none}
  .tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"w p" "a s";row-gap:8px;column-gap:12px}
  .table.no-prices .tr{grid-template-columns:minmax(0,1fr);grid-template-areas:"w"}
  .tr .c-wine{grid-area:w}.tr .c-av{grid-area:a}.tr .c-act{grid-area:s}
  .tr .c-price{grid-area:p;display:flex;flex-direction:column;align-items:flex-end}
  .tr .c-case{font-size:13px}
  .m-only{display:inline}
  .winery{flex-direction:column;align-items:flex-start;gap:4px}
  .winery .story{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .winery .about{min-height:32px}
  .tr.role-fob .c-btl{order:2;font-size:13px;font-weight:400;color:var(--muted)}
  .tr.role-fob .c-case{order:1;font-size:15px;font-weight:700;color:var(--ink)}
}
@media (min-width:901px){.c-price{display:contents}}
form label.f{margin:14px 0 6px}

/* B6c · tags, deals, featured strip, Just-landed banner (B5b 1-5, 9, 11-14) */
.p-landed{color:var(--plum);background:var(--surface);border:1.5px solid var(--plum);padding:2px 8px}
.p-deal{color:var(--paper);background:var(--ink)}
.p-closeout{color:var(--ink);background:var(--surface);border:1.5px solid var(--ink);padding:2px 8px}
.tags small.ends{font-size:13px;color:var(--muted)}
.btn-b{background:var(--blu);border-color:var(--blu);color:var(--on-blu)}.btn-b:hover{color:var(--on-blu)}
.deal{display:flex;flex-direction:column;align-items:flex-end;gap:1px}
.deal b{font-weight:700;color:var(--ink)}
.deal s{font-size:13px;font-weight:400;color:var(--muted)}
.c-case.deal b{font-size:14px}

.featured{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}
.fhead{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.fhead h2{margin:0;font-size:18px;font-weight:700}
.fhead .muted{font-size:14px}
.fstrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.fcard{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0}
.fwine{display:flex;gap:12px;align-items:flex-start}
.fwine svg{flex-shrink:0}
.fwine div{display:flex;flex-direction:column;gap:2px;min-width:0}
.fwine a{font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;line-height:1.3}
.fwine a:hover{color:var(--plum)}
.fwine .muted{font-size:13px}
.fnote{margin:0;font-size:13px;line-height:1.4;color:var(--muted)}
.fprice{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.fprice b{font-size:18px;font-weight:700}
.fprice s{font-size:13px;color:var(--muted)}
.fprice .muted{font-size:13px}
.fline{font-size:13px}
.faction{margin-top:auto}
.faction .btn,.faction form .btn{width:100%}

.landed{display:flex;align-items:center;gap:16px;padding:14px 16px;border-radius:14px;background:var(--tint);border:1px solid var(--line);margin-bottom:20px}
.landed .ltext{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;font-size:14px}
.landed .lhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:15px}
.ldismiss{width:44px;height:44px;border:0;background:transparent;border-radius:50%;font-size:22px;color:var(--muted);cursor:pointer;flex-shrink:0}

@media (max-width:1100px){.fstrip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  .fstrip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -16px;padding:0 16px 6px}
  .fcard{flex:0 0 78%;max-width:300px;scroll-snap-align:start}
  .landed{flex-wrap:wrap;position:relative;padding-right:56px}
  .landed .btn{width:100%;order:3}
  .ldismiss{position:absolute;top:6px;right:6px}
  .deal{align-items:flex-end}
}

/* B6d · wine page (DC 2, B5b 10) and Downloads / Sales tools (Distributor 2) */
.crumbs{font-size:14px;color:var(--muted);margin-bottom:16px}
.winepage{display:grid;grid-template-columns:360px minmax(0,1fr) 330px;gap:40px;align-items:start}
.shot{height:540px;border-radius:16px;background:var(--tint);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;overflow:hidden}
.shot img{max-width:100%;max-height:100%;object-fit:contain}
.wdetail{display:flex;flex-direction:column;gap:18px;min-width:0}
.wdetail h1{margin:4px 0 8px}
.tnotes{margin:0;font-size:16px;line-height:1.6}
.specs{display:flex;flex-direction:column}
.spec{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:15px}
.spec span:first-child{color:var(--muted)}
.sellbox{background:var(--tint);border-radius:12px;padding:14px 16px}
.sellbox h2,.about h2,.dls h2{margin:0 0 6px;font-size:15px;font-weight:700}
.sellbox p,.about p{margin:0;line-height:1.55}
.pricebox{display:flex;flex-direction:column;gap:14px;position:sticky;top:var(--stick)}
.bigprice b{font-size:28px;font-weight:700}
.bigprice s{font-size:15px;color:var(--muted);margin-left:6px}
.pbrow{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:600}
.pricebox .ask{font-weight:600;text-decoration:none}
.dls{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:14px}
.dl{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:10px;font-size:14px;background:var(--surface);color:var(--ink);text-decoration:none}
.being-added{margin:0}
.toolgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}
.tool{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.tool .muted{font-size:14px}
.dltable .tr{grid-template-columns:minmax(0,2.4fr) repeat(var(--n),minmax(0,1fr))}
.dlcell{font-size:14px}
@media (max-width:1200px) and (min-width:981px){
  .winepage{grid-template-columns:300px minmax(0,1fr);gap:28px}
  .winepage>:last-child{grid-column:2}
}
@media (max-width:980px){
  .winepage{grid-template-columns:minmax(0,1fr);gap:20px}
  .shot{height:320px}
  .pricebox{position:static}
}
@media (max-width:900px){
  .toolgrid{grid-template-columns:minmax(0,1fr)}
  .dltable .tr{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:none}
  .dltable .tr .wine{grid-column:1/-1}
  .dltable .tr.th{display:none}
  .dltable .dlcell::before{content:attr(data-label) ": ";color:var(--muted)}
}

/* B6d · prospect page (Prospect artboard, B5b 3) */
.layout.prospect{grid-template-columns:minmax(0,1fr) 400px}
.layout.prospect .request{position:sticky;top:var(--stick);display:flex;flex-direction:column;gap:10px}
.request h2{margin:0;font-size:20px}
.lede{margin:10px 0 0;font-size:17px;line-height:1.55;max-width:44rem}
.stats{display:flex;gap:32px;flex-wrap:wrap;margin-top:18px}
.stats div{display:flex;flex-direction:column}
.stats b{font-size:30px;color:var(--plum);line-height:1.1}
.stats span{font-size:14px;color:var(--muted)}
.partners{font-size:14px;margin:12px 0 0}
.layout.prospect .fstrip{grid-template-columns:repeat(2,minmax(0,1fr))}
.stylechips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.schip{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--ctl);border-radius:999px;background:var(--surface);font-size:14px;cursor:pointer}
.schip input{position:absolute;opacity:0;width:1px;height:1px}
.schip:has(input:checked){background:var(--plum);border-color:var(--plum);color:var(--on-plum)}
.schip:has(input:focus-visible){outline:3px solid var(--plum);outline-offset:2px}
.reqform{display:flex;flex-direction:column;gap:2px}
.reqform .two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.reqform label.f{margin:8px 0 0}
.reqform textarea.in{padding:10px 12px;min-height:84px}
.reqform .btn-lg{min-height:52px;margin-top:14px;width:100%}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:980px){
  .layout.prospect{grid-template-columns:minmax(0,1fr)}
  .layout.prospect .request{position:static}
}
@media (max-width:900px){.layout.prospect .fstrip{display:flex}}

/* B6e · order building: pallet panel / bar / sheet (Distributor 1), order page (DC 3) */
.layout.with-panel{grid-template-columns:minmax(0,1fr) 340px}
.oside{position:sticky;top:var(--stick);max-height:calc(100vh - 110px);overflow:auto}
.opanel{display:flex;flex-direction:column;gap:12px}
.ohead{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.ohead h2{margin:0;font-size:18px}
.fillbar{height:10px;border-radius:999px;background:var(--tint);overflow:hidden}
.fillbar span{display:block;height:100%;background:var(--plum)}
.olines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px}
.olines li{display:flex;justify-content:space-between;gap:10px}
.ototal{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px;font-size:15px}
.prebox{background:var(--blu-row);border:1px solid var(--blu-bg);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.opanel .btn{width:100%}
.opanel small{font-size:12px;line-height:1.4}
.pbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--surface);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 16px rgba(0,0,0,.06)}
.pbar .in2{max-width:1320px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
.pbar .sum{display:flex;flex-direction:column;font-size:14px;line-height:1.3}
.pbar .sum strong{font-size:16px}
.sheet-bg{position:fixed;inset:0;background:rgba(20,15,18,.5);z-index:30;display:flex;align-items:flex-end;justify-content:center}
.sheet-bg[hidden]{display:none}
.sheet{background:var(--paper);width:100%;max-width:560px;max-height:88vh;overflow:auto;border-radius:18px 18px 0 0;padding:8px 16px calc(16px + env(safe-area-inset-bottom,0px))}
.sheet-top{display:flex;justify-content:flex-end}
.orderpage{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:32px;align-items:start}
.oaside{display:flex;flex-direction:column;gap:12px;position:sticky;top:var(--stick)}
.oaside label.f{margin:0}
.oaside textarea.in{padding:10px 12px}
.venues{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.venues legend{font-weight:600;margin-bottom:8px}
.venue{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--ctl);border-radius:12px;background:var(--surface);cursor:pointer}
.venue:has(input:checked){border:1.5px solid var(--plum);background:var(--tint)}
.venue input{width:18px;height:18px;margin-top:2px;accent-color:var(--plum)}
.venue>span{display:flex;flex-direction:column;gap:2px;font-size:14px}
.otable .tr{grid-template-columns:minmax(0,1fr) 110px 150px 110px 80px}
.ofoot{display:flex;flex-direction:column;gap:6px;padding:14px 16px;font-size:14px}
.ofoot>div{display:flex;justify-content:space-between;gap:12px}
.ofoot .sub-total{font-size:16px;border-top:1px solid var(--line);padding-top:8px}
.notice{background:var(--amb-bg);color:var(--amb);border-radius:12px;padding:10px 14px;margin-bottom:12px;font-size:14px}
.notice p{margin:0}
@media (max-width:1199px){
  .layout.with-panel{grid-template-columns:minmax(0,1fr)}
  .oside{display:none}
  .pbar-fob{display:block}
  body:has(.pbar-fob) .wrap{padding-bottom:120px}
  body:has(.pbar-fob) .toast{bottom:calc(96px + env(safe-area-inset-bottom,0px))}
}
@media (max-width:1180px){
  .orderpage{grid-template-columns:minmax(0,1fr)}
  .oaside{position:static}
}
@media (max-width:900px){
  .pbar-dc{display:block}
  body:has(.pbar-dc) .wrap{padding-bottom:120px}
  body:has(.pbar-dc) .toast{bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  .otable .tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"w w" "p s" "t x"}
  .otable .tr .nm{grid-area:w}
  .otable .tr.th{display:none}
}
.otable .nm{display:flex;flex-direction:column;gap:3px;min-width:0}
.otable .nm>a{font-size:15px;font-weight:600;color:var(--ink);text-decoration:none}
.otable .nm>a:hover{color:var(--plum)}
.layers{display:flex;align-items:center;gap:6px;font-size:13px;flex-wrap:wrap}
.layers button{min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--ctl);background:var(--surface);font-size:13px;cursor:pointer}
.layers button[aria-pressed="true"]{background:var(--plum);border-color:var(--plum);color:var(--on-plum)}
.layers .muted{margin-right:4px}

/* B6f · staff preview (B5b 18) */
.previewbar{background:#1F1A1D;color:#FBFAF8;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;padding:8px 16px;font-size:14px;position:sticky;top:0;z-index:12}
.previewbar form{display:flex;gap:8px;align-items:center}
.previewbar select{min-height:36px;border-radius:8px;border:0;padding:0 8px}
.previewbar .exit{min-height:36px;border-radius:8px;border:1px solid rgba(255,255,255,.5);background:transparent;color:#FBFAF8;padding:0 12px;cursor:pointer}
.previewing header.top{top:52px}
.previewing{--stick:148px}
@media (max-width:900px){.previewbar{position:static}.previewing header.top{top:0}}
.previewing [data-step] button,.previewing [data-add],.previewing form[data-notify] button,.previewing .reqform button{opacity:.5;pointer-events:none}

/* B6f · Merchandising admin (B5b 15-17) */
.pvmenu{display:flex;align-items:center;gap:8px;font-size:14px}
.pvmenu .in{width:auto;min-height:40px;font-size:14px}
.mbtns{display:flex;gap:10px;flex-wrap:wrap}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 20px;overflow-x:auto}
.tabs a{padding:10px 14px;text-decoration:none;color:var(--muted);font-weight:600;font-size:15px;border-bottom:2px solid transparent;white-space:nowrap}
.tabs a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--plum)}
.msgs{list-style:none;padding:0;margin:0 0 16px}
.msgs li{padding:10px 14px;border-radius:10px;background:var(--tint);margin-bottom:6px;font-size:14px}
.msgs li.error{background:var(--amb-bg);color:var(--amb)}
.notice a{color:inherit}
.sm{font-size:13px}
.manage h2{font-size:18px;margin:0}
.mgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start;margin-bottom:20px}
.mcard{display:flex;flex-direction:column;gap:10px;padding:18px}
.mcard>.btn{align-self:flex-start}
.mch{display:flex;align-items:baseline;justify-content:space-between;gap:4px 12px;flex-wrap:wrap}
.mch h3{font-size:15px;margin:22px 0 8px}
.mch .muted{font-size:13px}
.mlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.mlist.card{padding:4px 16px;margin-top:8px}
.mlist li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.mlist li:first-child{border-top:0}
.mlist li>div:first-child,.slots li>div:nth-child(2){display:flex;flex-direction:column;gap:3px;min-width:0;font-size:14px}
.mlist li small{font-size:13px}
.mlist .pill{align-self:flex-start}
.mlist li.sel{background:var(--sel);margin:0 -16px;padding:12px 16px}
.slots li{justify-content:flex-start}
.slotn{width:28px;height:28px;border-radius:50%;background:var(--tint);color:var(--plum);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:none}
.acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;flex:none}
.slots .acts{margin-left:auto}
.acts form,.mlist li>form{display:inline}
.acts .btn[disabled]{opacity:.4;cursor:default}
.mtwo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:24px;align-items:start}
.mform{display:flex;flex-direction:column;gap:14px;margin-top:14px}
.mform .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mform .three{display:grid;grid-template-columns:100px 1fr 1fr;gap:12px}
.mform small{font-size:12px}
.mform textarea.in{padding:10px 12px;min-height:70px}
.aud{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}
.aud legend{font-size:13px;color:var(--muted);margin-bottom:4px;padding:0}
.formbtns{display:flex;gap:10px;flex-wrap:wrap}
.fixed{margin:0;display:flex;gap:4px 8px;align-items:baseline;flex-wrap:wrap;font-size:14px}
.in.multi{min-height:240px;padding:6px}
.pvh{font-size:15px;margin:26px 0 10px}
.pvgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pvdeal{display:flex;flex-direction:column;gap:12px}
.pv{background:var(--paper);border:1px dashed var(--ctl);border-radius:14px;padding:12px;min-width:0;font-size:14px}
.pv p{margin:0}
.pvlabel{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.pv .landed{margin:0}
.pvrow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;background:var(--surface);border-radius:10px;padding:10px 12px;margin-bottom:6px}
@media (max-width:1100px){.mgrid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:1200px){.mtwo{grid-template-columns:minmax(0,1fr)}}
@media (max-width:900px){.pv .fcard{flex:none;max-width:none}}
@media (max-width:640px){
  .pvgrid,.mform .two,.mform .three{grid-template-columns:minmax(0,1fr)}
  .pvrow{grid-template-columns:1fr 1fr}.pvrow .wine{grid-column:1/-1}.pvrow .deal{align-items:flex-start}
  .mlist li{flex-wrap:wrap}.acts{justify-content:flex-start}
  .pvmenu label{display:none}
}

/* B7 · order requests (staff + buyer) */
nav.main .count{display:inline-block;min-width:20px;padding:0 6px;border-radius:999px;background:var(--plum);color:var(--on-plum);font-size:12px;font-weight:700;text-align:center;margin-left:4px}
.odl{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:12px 0 16px;font-size:14px}
.odl dt{color:var(--muted)}.odl dd{margin:0}
.ztable .tr{grid-template-columns:minmax(0,1fr) 60px 90px 110px 100px;gap:10px;align-items:center}
.ztable .nm{display:flex;flex-direction:column;gap:2px;font-size:14px;min-width:0}
.ztable .nm .muted{font-size:12px}
.ztable .dealrow{background:var(--amb-bg)}
.mlist-card{padding:4px 16px}
.ostatus{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.sentbox{background:var(--tint);border-radius:14px;padding:16px 18px;margin:0 0 20px}
.sentbox h2{margin:0 0 4px;font-size:18px}
.sentbox p{margin:0}
@media (max-width:640px){
  .ztable .tr{grid-template-columns:1fr 1fr 1fr;row-gap:4px}.ztable .nm{grid-column:1/-1}.ztable .th{display:none}
  .ztable .tr>span:nth-child(3)::before{content:"Regular ";color:var(--muted)}
  .ztable .tr>span:nth-child(4)::before{content:"Zoho ";color:var(--muted)}
  .ztable .tr>span:nth-child(2)::after{content:" cs";color:var(--muted)}
}

/* QA 2026-09-29 */
@media (max-width:900px){.jump{width:100%;max-width:100%}.jump select{flex:1;min-width:0}}
@media print{
  header.top,.previewbar,.pbar,.sheet-bg,.oaside .btn,.step button,.more,[data-remove],.toast{display:none!important}
  body{background:#fff;color:#000}.orderpage{grid-template-columns:1fr}.oaside{position:static;border:0}
}
/* the header stays one row down to 901 px: long account names are shortened, then hidden */
.acct .who{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:1180px) and (min-width:901px){.acct .who{display:none}}
