/* Preorder order sheet (V17) — js/preorder-sheet.js */
.ps{padding:26px 0 120px}
.ps .eyebrow{font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pine);margin:0 0 4px}
.ps-hd{display:flex;align-items:flex-end;gap:20px;margin-bottom:12px}
.ps-hd h2{font-family:var(--display);font-size:clamp(1.5rem,3vw,2rem);line-height:1.1;margin:0 0 4px;color:var(--forest);font-weight:500}
.ps-sub{color:var(--pine);font-size:.92rem;margin:0;max-width:44em}
.ps-cut{margin-left:auto;background:#fff;border:1.5px solid var(--sage-soft);border-radius:10px;padding:8px 14px;font-size:.85rem;white-space:nowrap;line-height:1.5}
.ps-cut b{color:var(--forest)}
.ps-cut small{color:var(--marigold-ink)}
.ps-pinned{background:#FFF6DD;border:1.5px solid #F1D38A;border-left:5px solid var(--marigold);border-radius:10px;padding:10px 14px;margin:0 0 12px;font-size:.92rem;color:var(--soil)}
.ps-pinned b{color:var(--marigold-ink);margin-right:4px}
.ps-tabs{display:flex;gap:6px;margin:6px 0 12px;flex-wrap:wrap}
.ps-pill{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--sage);border-radius:99px;padding:6px 14px;font:700 .84rem var(--body);background:#fff;color:var(--forest);cursor:pointer}
.ps-pill:hover{border-color:var(--forest)}
.ps-pill.on{background:var(--forest);border-color:var(--forest);color:#F6F2E7}
.ps-link{background:none;border:0;padding:0;font:700 .86rem var(--body);color:var(--pine);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ps-link:hover{color:var(--forest)}
.ps-link.danger{color:#8A3B2E}
.ps-link.danger.sure{background:#8A3B2E;color:#fff;text-decoration:none;padding:8px 14px;border-radius:99px}
.ps-tag{display:inline-block;font-size:.64rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:99px;background:#FCEBC2;color:var(--marigold-ink);margin-left:6px;vertical-align:2px}
.ps-tag.int{background:#E8E3F3;color:#4B3E78}

/* job cards */
.ps-strip{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.ps-jc{position:relative;text-align:left;background:#fff;border:1.5px solid var(--sage-soft);border-top:4px solid var(--c);border-radius:12px;padding:8px 58px 8px 12px;min-width:150px;max-width:230px;cursor:pointer;font:inherit;color:inherit}
.ps-jc:hover{border-color:var(--sage);border-top-color:var(--c);box-shadow:0 2px 8px rgba(34,51,27,.08)}
.ps-jc b{display:block;color:var(--forest);font-size:.92rem;line-height:1.25}
.ps-jc small{display:block;color:#7a776c;font-size:.76rem}
.ps-jc small.warn{color:#8A3B2E;font-weight:700}
.ps-jc .n{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-family:var(--display);font-size:1.3rem;color:var(--forest)}
.ps-jc.add{padding:8px 14px;border:2px dashed var(--sage);display:flex;align-items:center;justify-content:center;color:var(--pine);font-weight:700;min-width:120px}

/* tools */
.ps-tools{display:flex;align-items:center;gap:10px 12px;flex-wrap:wrap;background:#fff;border:1.5px solid var(--sage-soft);border-bottom:0;border-radius:12px 12px 0 0;padding:10px 12px}
.ps-find{flex:0 1 220px;min-width:150px;border:1.5px solid var(--sage);border-radius:99px;padding:8px 14px;font:inherit;font-size:.92rem;background:#fff;color:var(--soil)}
.ps-find:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px rgba(173,194,140,.4)}
.ps-seg{display:inline-flex;border:1.5px solid var(--sage);border-radius:99px;overflow:hidden}
.ps-seg button{border:0;background:#fff;padding:7px 13px;font:700 .8rem var(--body);color:var(--forest);cursor:pointer}
.ps-seg button.on{background:var(--forest);color:#F6F2E7}
.ps-tools .sp{flex:1}

/* the sheet */
.ps-sheet{background:#fff;border:1.5px solid var(--sage-soft);border-radius:0 0 12px 12px;overflow:clip}
.ps-scroll{overflow:visible}
#psSec .wrap{max-width:1360px}
.ps-jl{display:none}
.ps-t{width:100%;border-collapse:collapse;font-size:.9rem}
.ps-t th{position:sticky;top:var(--os-hdr,0px);z-index:2;background:#F3F5EC;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:#4a4a40;padding:9px 6px 7px;border-bottom:2px solid var(--forest);text-align:center;white-space:nowrap}
.ps-t th.l,.ps-t td.l{text-align:left;padding-left:12px}
.ps-t td{border-bottom:1px solid #ECEBE3;padding:4px 6px;text-align:center;white-space:nowrap}
.ps-t td.l{white-space:normal;min-width:200px}
.ps-t td.sz{color:#6b675c;font-size:.82rem}
.ps-t td.m{text-align:right;padding-right:12px;color:#4a4a40;width:90px}
.ps-t td.nt{width:56px}
.ps-t tr.gc td{background:var(--forest,#22331B);color:#F6F2E7;text-align:left;padding:9px 12px;font-family:var(--display,Georgia,serif);font-weight:500;font-size:1.02rem;letter-spacing:.01em;position:relative}
.ps-t tr.g td{background:#F7F6F0;text-align:left;padding:6px 12px;font-weight:700;color:var(--pine);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase}
.ps-t tr.new td{background:#FFFBEF}
.pc{display:flex;align-items:center;gap:10px}
.nm b{font-weight:500;color:var(--forest)}
.nm .ps-mob{display:none}
.ps-ph{flex:0 0 38px;width:38px;height:38px;border-radius:7px;border:0;padding:0;overflow:hidden;background:#E6E9DC;cursor:zoom-in}
.ps-ph img{width:100%;height:100%;object-fit:cover;display:block}
.ps-ph.none{background:#EEF0E6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21c0-6 3-10 8-11-1 6-4 10-8 11zm0 0c0-5-2-8-7-9 0 5 3 8 7 9z' fill='%23ADC28C'/%3E%3C/svg%3E") center/20px no-repeat}
.ps-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:3px}
.ps-tags:empty{display:none}
.ps-tags span{font-size:.72rem;font-weight:700;padding:1px 8px;border-radius:99px;background:color-mix(in srgb,var(--c) 13%,white);color:var(--c);border:1px solid color-mix(in srgb,var(--c) 35%,white);white-space:nowrap}
.ps-t td.tot2{width:110px}
.ps-unit{display:none}
.ps-tin{width:66px;height:34px;border:1.5px solid #DADCCF;border-radius:8px;font:700 1rem var(--body);color:var(--forest);background:#EEF3E4;text-align:center}
.ps-tin:focus{outline:none;border:2.5px solid var(--forest);box-shadow:0 0 0 4px rgba(173,194,140,.45);background:#fff}
.ps-tin.lock{background:#F3F5EC;border-style:dashed;cursor:pointer}
.ps-tin.ro{background:#F6F6F1;color:#5e5b50}
.ps-tin::placeholder,.ps-in::placeholder{color:#C9C9BE;font-weight:400}
.ps-ask{background:#fff;border:1.5px solid var(--sage);border-radius:99px;padding:5px 12px;font:700 .78rem var(--body);color:var(--pine);cursor:pointer}
.ps-nb{min-width:34px;height:28px;border-radius:99px;border:1.5px dashed #C9CDBA;background:#fff;color:#7a776c;font:700 .82rem var(--body);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:3px;padding:0 8px}
.ps-nb.has{border-style:solid;border-color:var(--sage);color:var(--forest);background:#F3F5EC}
.ps-nb.new{border-color:var(--marigold);background:#FFF4D6;color:var(--marigold-ink)}
/* split grid */
.ps-split th.job{border-top:5px solid var(--c);padding:0;white-space:normal;vertical-align:bottom}
.ps-split th.job button,.ps-split th.add button{border:0;background:none;width:100%;padding:8px 6px 6px;cursor:pointer;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit}
.ps-split th.job b{display:block;color:var(--forest);font-size:.8rem;line-height:1.2;max-width:120px;margin:0 auto;text-transform:none;letter-spacing:0;overflow-wrap:break-word;hyphens:auto}
.ps-split th.job small{display:block;text-transform:none;letter-spacing:0;font-weight:400;color:#7a776c;font-size:.72rem}
.ps-split th.job button:hover{background:#E9EEDD}
.ps-split th.add{color:var(--pine);border-left:1px dashed var(--sage);padding:0}
.ps-split th.add button{color:var(--pine);font-weight:700}
.ps-split td.c{padding:4px 3px}
.ps-in{width:100%;max-width:62px;min-width:40px;height:30px;border:1.5px solid #DADCCF;border-radius:7px;background:#fff;font:700 .95rem var(--body);color:var(--forest);text-align:center}
.ps-in:focus{outline:none;border:2.5px solid var(--forest);box-shadow:0 0 0 4px rgba(173,194,140,.45)}
.ps-in.chg{background:#FFF4D6;border-color:var(--marigold)}
.ps-in[readonly]{background:#F6F6F1;color:#6b675c}
.ps-split td.t{font-weight:700;background:#EEF3E4;color:var(--forest);width:64px}
.ps-askc{text-align:left!important;padding-left:12px!important}
/* photos */
.ps-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;padding:14px}
.ps-tile{position:relative;border:1.5px solid var(--sage-soft);border-radius:12px;overflow:hidden;background:#fff}
.ps-big{display:block;width:100%;aspect-ratio:4/3;border:0;padding:0;background:#E6E9DC;cursor:zoom-in;position:relative}
.ps-big img{width:100%;height:100%;object-fit:cover;display:block}
.ps-big .ty{position:absolute;left:8px;bottom:8px;background:rgba(34,51,27,.75);color:#F6F2E7;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:99px}
.ps-tile .bd{padding:8px 10px 10px}
.ps-tile .bd b{display:block;color:var(--forest);font-weight:500}
.ps-tile .bd small{color:#7a776c;font-size:.78rem}
.ps-ttot{position:absolute;right:8px;top:8px;min-width:52px;border:1.5px solid var(--sage);border-radius:10px;background:#F4F7EC;box-shadow:0 2px 6px rgba(0,0,0,.15);font:400 1.25rem var(--display);color:var(--forest);padding:4px 6px;line-height:1;cursor:pointer}
.ps-ttot small{display:block;font:700 .6rem var(--body);color:#5a5649}
.ps-empty{padding:28px 20px;color:var(--pine);text-align:center}
.ps-empty p{margin:0 0 8px}
.ps-more{display:block;margin:12px auto;border:1.5px solid var(--sage);background:#fff;border-radius:99px;padding:8px 18px;font:700 .85rem var(--body);color:var(--forest);cursor:pointer}
.ps-alt{margin:14px 0 0;text-align:right}

/* save bar */
.ps-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--forest);color:#F6F2E7;box-shadow:0 -4px 18px rgba(0,0,0,.15)}
.ps-bar-in{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:12px 24px}
.ps-bar-l{flex:1;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;min-width:0}
.ps-bar .n{font-weight:700;font-size:1rem}
.ps-bar .d{color:#C9D6B2;font-size:.88rem}
.ps-bar .d em{color:#FFD27A;font-style:normal}
.ps-bar .ps-msg{flex-basis:100%;color:#FFD27A;font-size:.86rem}
.ps-bar-r{display:flex;gap:10px}
.ps-bar .btn{border:2px solid #ADC28C;color:#F6F2E7;background:transparent;padding:9px 20px;font-size:.9rem;white-space:nowrap}
.ps-bar .btn-gold{background:var(--marigold);border-color:var(--marigold);color:var(--forest)}
.ps-bar.dirty{background:#2B3D20}

/* popover + modal */
.ps-pop{position:absolute;z-index:60;width:380px;max-width:calc(100vw - 16px);background:#fff;border:1.5px solid var(--sage);border-radius:14px;box-shadow:0 12px 32px rgba(34,51,27,.22);font-size:.9rem}
.ps-pop.wide{width:440px}
.ps-pop .h,.ps-mbox .h{padding:12px 44px 10px 16px;border-bottom:1px solid #ECEBE3;background:#F3F5EC;border-radius:14px 14px 0 0}
.ps-pop .h b,.ps-mbox .h b{display:block;font-family:var(--display);font-size:1.1rem;color:var(--forest);font-weight:500}
.ps-pop .h small,.ps-mbox .h small{display:block;color:#7a776c;font-size:.8rem}
.ps-x{position:absolute;right:8px;top:8px;width:30px;height:30px;border:0;background:none;font-size:1.4rem;line-height:1;color:#7a776c;cursor:pointer;border-radius:99px}
.ps-x:hover{background:#E6E9DC}
.ps-pop .sr{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 16px;border-bottom:1px dashed #ECEBE3}
.ps-pop .sr .j{border-left:4px solid var(--c);padding-left:9px;min-width:0}
.ps-pop .sr .j b{display:block;color:var(--forest);font-size:.9rem}
.ps-pop .sr .j small{color:#7a776c;font-size:.76rem}
.ctl{display:inline-flex;align-items:center;border:1.5px solid var(--sage);border-radius:99px;overflow:hidden;flex:0 0 auto}
.ctl button{width:34px;height:32px;border:0;background:#F3F5EC;color:var(--forest);font-size:1.1rem;font-weight:700;cursor:pointer}
.ctl button:disabled{opacity:.4;cursor:default}
.ctl input{width:46px;height:32px;border:0;text-align:center;font:700 1rem var(--body);color:var(--forest)}
.ps-pop .ft,.ps-mbox .ft{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px 14px;font-weight:700;color:var(--forest)}
.ps-pop .ft small{font-weight:400;color:#7a776c;font-size:.78rem}
.ps-pop .btn,.ps-mbox .btn{font-size:.84rem;padding:8px 18px;white-space:nowrap}
.ps-pop .thread{max-height:300px;overflow:auto}
.ps-pop .nn{padding:10px 16px;border-bottom:1px solid #ECEBE3;border-left:4px solid transparent}
.ps-pop .nn.us{border-left-color:var(--marigold);background:#FFFCF2}
.ps-pop .nn.int{border-left-color:#6B5BA8;background:#F6F4FB}
.ps-pop .nn.unseen .who{color:var(--marigold-ink)}
.ps-pop .nn .who{font-size:.76rem;font-weight:700;color:#5a5649}
.ps-pop .nn .tx{color:var(--soil);margin-top:2px;white-space:normal}
.ps-del{border:0;background:none;color:#a19d90;font:400 .72rem var(--body);text-decoration:underline;cursor:pointer;float:right}
.ps-pop .none{padding:12px 16px;color:#7a776c;margin:0}
.ps-pop .wr{padding:10px 16px 0}
.ps-pop textarea{width:100%;border:1.5px solid var(--sage);border-radius:10px;padding:9px 12px;font:inherit;font-size:.92rem;resize:vertical}
.ps-pop textarea:focus{outline:none;border-color:var(--forest)}
.ps-pop .vis{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:.8rem;color:#5a5649;flex-wrap:wrap}
.ps-pop .vis .ps-pill{padding:4px 11px;font-size:.78rem}
.ps-pop .vis .ps-pill.on[data-vis="staff"]{background:#6B5BA8;border-color:#6B5BA8}
.ps-pop .ft .ps-st{font:inherit}
.ps-veil{position:fixed;inset:0;background:rgba(34,51,27,.4);z-index:59}
.ps-pop.sheet{position:fixed;left:0!important;right:0;top:auto!important;bottom:0;width:auto;max-width:none;border-radius:16px 16px 0 0;max-height:85vh;overflow:auto;padding-bottom:env(safe-area-inset-bottom)}
.ps-modal{position:fixed;inset:0;z-index:70;background:rgba(34,51,27,.45);display:flex;align-items:flex-start;justify-content:center;padding:8vh 12px;overflow:auto}
.ps-mbox{position:relative;width:460px;max-width:100%;background:#fff;border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.25)}
.ps-mbox .bd{padding:12px 16px 4px}
.ps-mbox .k{display:block;font-size:.74rem;font-weight:700;color:var(--pine);text-transform:uppercase;letter-spacing:.06em;margin:10px 0 5px}
.ps-inp{width:100%;border:1.5px solid var(--sage);border-radius:10px;padding:9px 12px;font:inherit;font-size:.95rem;color:var(--soil);background:#fff}
.ps-inp:focus{outline:none;border:2px solid var(--forest)}
.ps-inp.err{border-color:#8A3B2E}
.ps-pills{display:flex;gap:6px;flex-wrap:wrap}
.ps-light{padding:0}
.ps-light img{display:block;width:100%;max-height:70vh;object-fit:contain;background:#1d2617;border-radius:14px 14px 0 0}
.ps-light .cap{padding:12px 16px 14px}
.ps-light .cap b{display:block;font-family:var(--display);font-size:1.15rem;color:var(--forest);font-weight:500}
.ps-light .cap span{color:#6b675c;font-size:.86rem}
.ps-modal .ps-mbox:has(.ps-light){width:640px}

/* classic form toggle */
body.ps-on #preHead,body.ps-on #builderSec,body.ps-on #orderBar,body.ps-on .plant-disclaimer{display:none!important}
body:not(.ps-on) #psApp{display:none}
.ps-back{margin:0 0 16px}

/* phone */
@media (max-width:760px){
  .ps{padding-top:14px}
  .ps-hd{flex-direction:column;align-items:stretch;gap:8px}
  .ps-cut{margin-left:0;white-space:normal}
  .ps-strip{flex-wrap:wrap}
  .ps-jc{min-width:0;max-width:none;flex:1 1 calc(50% - 4px);padding:6px 40px 6px 10px;border-top-width:3px}
  .ps-jc b{font-size:.84rem}
  .ps-jc small{font-size:.7rem}
  .ps-jc .n{font-size:1.1rem;right:9px}
  .ps-tools{gap:8px}
  .ps-find{flex:1 1 100%}
  .ps-tools .sp{display:none}
  .ps-tools .ps-link{font-size:.8rem}
  .ps-totals thead{display:none}
  .ps-totals,.ps-totals tbody{display:block}
  .ps-totals tr{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid #ECEBE3}
  .ps-totals tr.g{display:block;padding:0}
  .ps-totals tr.gc{display:block;padding:0}
  .ps-totals td{border:0;padding:0;display:block}
  .ps-totals td.sz,.ps-totals td.m{display:none}
  .ps-totals td.l{min-width:0;padding-left:0}
  .ps-totals td.tot2{width:auto;text-align:center}
  .ps-totals .ps-unit{display:block;font-size:.62rem;color:#7a776c;margin-top:1px}
  .ps-totals .nm .ps-mob{display:block;color:#7a776c;font-size:.76rem}
  .ps-ph{flex-basis:46px;width:46px;height:46px}
  .ps-tin{width:58px;height:40px;font-size:1.15rem}
  /* split by job on a phone: each plant wraps its job boxes, no side-scrolling */
  .ps-split thead{display:none}
  .ps-split,.ps-split tbody{display:block}
  .ps-split tr{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px 8px;padding:8px 10px;border-bottom:1px solid #ECEBE3}
  .ps-split tr.g{display:block;padding:0}
  .ps-split tr.gc{display:block;padding:0}
  .ps-split td{display:block;border:0;padding:0}
  .ps-split td.l{flex:1 1 100%;min-width:0;padding:0}
  .ps-split td.sz{display:none}
  .ps-split td.c{display:flex;flex-direction:column;align-items:center;width:64px;padding:0}
  .ps-split td.t{display:flex;flex-direction:column;align-items:center;width:52px;background:none;padding:0}
  .ps-split td.t .ps-tot{display:block;width:100%;background:#EEF3E4;border-radius:7px;line-height:36px;min-height:36px}
  .ps-split td.nt{margin-left:auto;width:auto}
  .ps-split .ps-jl{display:block;font-size:.64rem;font-weight:700;color:var(--c,#5a5649);max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px}
  .ps-split .nm .ps-mob{display:inline;color:#7a776c;font-size:.74rem;margin-left:6px}
  .ps-split .ps-ph{display:none}
  .ps-split .ps-askc{flex:1 1 100%}
  .ps-in{max-width:none;width:64px;height:38px;font-size:1.05rem}
  .ps-tiles{grid-template-columns:repeat(2,1fr);gap:8px;padding:8px}
  .ps-bar-in{padding:10px 14px;gap:10px}
  .ps-bar .btn{padding:8px 14px;font-size:.85rem}
  .ps-bar .d{font-size:.78rem}
  .ps-alt{text-align:center}
}
@media print{ .ps-bar,.ps-pop,.ps-modal{display:none!important} }
body.ps-on #toTop{bottom:96px}

/* print block shared with the staff page (same as wholesale-preorder.html) */
#ptPrint{display:none}
@media print{
  body.pt-printing > *{display:none !important}
  body.pt-printing > #ptPrint{display:block !important}
  @page{margin:.45in}
}
#ptPrint{font-family:var(--body);color:#1f1f1f;font-size:9pt}
#ptPrint .pp-head{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid #22331B;padding-bottom:8px;margin-bottom:10px}
#ptPrint .pp-head img{height:52px;width:auto}
#ptPrint .pp-head h1{font-family:var(--display);font-size:17pt;margin:0;color:#22331B}
#ptPrint .pp-head p{margin:2px 0 0;font-size:9pt;color:#444}
#ptPrint .pp-meta{text-align:right;font-size:9pt;color:#333;line-height:1.45}
#ptPrint .pp-strip{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:9pt;margin:0 0 10px}
#ptPrint .pp-strip b{color:#22331B}
#ptPrint table{width:100%;border-collapse:collapse}
#ptPrint th,#ptPrint td{border-bottom:1px solid #d9d9d1;padding:1.5px 5px;line-height:1.2;text-align:center;white-space:nowrap}
#ptPrint th{font-size:7.5pt;text-transform:uppercase;letter-spacing:.04em;color:#444;border-bottom:1.5px solid #22331B;vertical-align:bottom}
#ptPrint th small{display:block;text-transform:none;letter-spacing:0;font-weight:400;color:#666;white-space:normal}
#ptPrint td.l,#ptPrint th.l{text-align:left;white-space:normal}
#ptPrint td.t{font-weight:700;background:#EEF3E4}
#ptPrint td.m{text-align:right}
#ptPrint tr.gc td{background:#22331B;color:#fff;font-weight:700;text-align:left;font-size:9pt;padding-top:3px;padding-bottom:3px}
#ptPrint tr.gc{break-after:avoid}
#ptPrint tr.g td{background:#F2F1EA;font-weight:700;text-align:left;color:#22331B;font-size:8pt;padding-top:2.5px;padding-bottom:2.5px}
#ptPrint tfoot{display:table-row-group}
#ptPrint tfoot td{font-weight:700;border-top:1.5px solid #22331B;border-bottom:0}
#ptPrint thead{display:table-header-group}
#ptPrint tr{break-inside:avoid}
#ptPrint tr.g{break-after:avoid}
#ptPrint .pp-sec{break-inside:auto;margin-bottom:16px}
#ptPrint .pp-sec + .pp-sec{break-before:page}
#ptPrint .pp-sec h2{font-family:var(--display);font-size:13pt;margin:0 0 2px;color:#22331B}
#ptPrint .pp-sec .sub{font-size:8.5pt;color:#555;margin:0 0 6px}
#ptPrint .pp-note{font-size:8.5pt;font-style:italic;color:#444;border-left:2px solid #ADC28C;padding:3px 8px;margin:0 0 6px}
#ptPrint .pp-foot{margin-top:10px;font-size:8pt;color:#666;border-top:1px solid #ccc;padding-top:6px}

/* Category headings in the photo view */
.ps-tiles .ps-tcat{grid-column:1/-1;margin:14px 0 2px;padding:8px 12px;border-radius:10px;background:var(--forest,#22331B);color:#F6F2E7;font-family:var(--display,Georgia,serif);font-weight:500;font-size:1.05rem}
.ps-tiles .ps-tcat:first-child{margin-top:0}
.ps-cats{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;border-bottom:1px solid #ECEBE3;background:#FBFAF5}
.ps-cats button{font:inherit;font-size:.84rem;font-weight:700;color:var(--forest,#22331B);background:#fff;border:1.5px solid #D8DCCB;border-radius:99px;padding:6px 12px;cursor:pointer;line-height:1.1}
.ps-cats button small{font-weight:500;color:#7a776c;margin-left:2px}
.ps-cats button.on{background:var(--forest,#22331B);border-color:var(--forest,#22331B);color:#F6F2E7}
.ps-cats button.on small{color:#C9D6B2}
@media(max-width:600px){.ps-cats{flex-wrap:nowrap;overflow-x:auto;padding:8px 10px;scrollbar-width:none}.ps-cats::-webkit-scrollbar{display:none}.ps-cats button{flex:0 0 auto}}
@media print{.ps-cats{display:none}}

/* Oct 26: plants per flat under the size */
.ps-pf{display:block;font-size:.7rem;color:#7a776c;white-space:nowrap;margin-top:1px}

/* ---- V23 (Oct 2026): delivery days, shortages, pull day ---------------- */
.dv-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.dv-hd.embedded{justify-content:flex-end;margin-bottom:10px}
.dv-host{padding:14px 14px 16px;background:#F7F6F0}
.dv-today{background:#fff;border:1.5px solid var(--sage-soft);border-radius:12px;padding:10px 16px;font-size:.88rem;color:var(--pine);line-height:1.6}
.dv-today b{color:var(--forest)}
.dv-strip{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.dv-jc{position:relative;text-align:left;background:#fff;border:1.5px solid var(--sage-soft);border-top:4px solid var(--sage);border-radius:12px;padding:9px 12px 10px;min-width:170px;max-width:260px;cursor:pointer;font:inherit;color:inherit;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.dv-jc:hover{border-color:var(--sage);border-top-color:var(--sage);box-shadow:0 2px 8px rgba(34,51,27,.08)}
.dv-jc.on{border-color:var(--forest);border-top-color:var(--marigold-ink);box-shadow:0 4px 14px rgba(34,51,27,.12)}
.dv-jc.soon{opacity:.78}
.dv-jc .t{flex:1;min-width:0}
.dv-jc .t b{display:block;color:var(--forest);font-size:.92rem;line-height:1.25}
.dv-jc .t small{display:block;color:#7a776c;font-size:.76rem}
.dv-jc .n{font-family:var(--display);font-size:1.4rem;color:var(--forest)}
.dv-jc > small{flex-basis:100%;font-size:.76rem;color:var(--forest);font-weight:700}
.dv-jc .dv-done{color:#3F5A28}
.dv-jc .dv-when{color:var(--marigold-ink)}
.dv-prog{display:block;flex-basis:100%;height:6px;border-radius:99px;background:#E7EBDD;overflow:hidden}
.dv-prog i{display:block;height:100%;background:#5B7F3A}
.dv-prog.big{height:10px;flex:1 1 220px}
.dv-job{background:#fff;border:1.5px solid var(--sage-soft);border-radius:14px;padding:16px 18px 14px}
.dv-job-h{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.dv-job-h h3{font-family:var(--display);font-weight:500;font-size:1.45rem;margin:0;color:var(--forest)}
.dv-job-h p{margin:3px 0 0;font-size:.9rem;color:var(--pine)}
.dv-add{font-size:.9rem;padding:11px 20px}
.dv-prog-row{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;margin:14px 0 12px;font-size:.9rem;color:var(--pine)}
.dv-prog-row b{color:var(--forest)}
.dv-pill{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.02em;border-radius:99px;padding:3px 9px;white-space:nowrap;font-style:normal}
.dv-pill.open{background:#fff;border:1.5px solid var(--sage);color:var(--forest)}
.dv-pill.lock{background:var(--forest);color:#fff}
.dv-pill.done{background:#DCE5CB;color:var(--forest)}
.dv-pill.warn{background:#FBEFD0;color:var(--marigold-ink)}
.dv-pill.soon{background:#F3F5EC;color:var(--pine);border:1.5px solid var(--sage-soft);padding:8px 14px;font-size:.84rem}
.dv-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--forest);color:#F6F2E7;border-radius:10px;padding:10px 14px;margin:0 0 12px;font-size:.92rem}
.dv-bar .n{font-weight:700}
.dv-bar .sp{flex:1}
.dv-bar .btn{font-size:.82rem;padding:8px 16px;border-color:var(--sage);color:#F6F2E7}
.dv-bar .btn-gold{color:var(--forest)}
.dv-bar.ok{background:#DCE5CB;color:var(--forest)}
.dv-bar.warn{background:#FBEFD0;color:var(--marigold-ink)}
.dv-bar.err{background:#8A3B2E;color:#fff}
.dv-tw{overflow-x:auto;border:1.5px solid var(--sage-soft);border-radius:12px;margin:0 0 14px}
.dv-tbl{width:100%;border-collapse:collapse;font-size:.9rem;min-width:620px}
.dv-tbl th{text-align:left;font:700 .68rem var(--body);letter-spacing:.1em;text-transform:uppercase;color:#5a5649;background:#F7F6F0;padding:10px 10px;vertical-align:bottom}
.dv-tbl th.dv-n,.dv-tbl td.dv-n{text-align:center}
.dv-tbl td{padding:8px 10px;border-top:1px solid #ECEBE3;vertical-align:middle}
.dv-tbl .dv-p{min-width:200px}
.dv-tbl .dv-p>div{display:flex;align-items:center;gap:10px}
.dv-tbl .dv-p img{width:40px;height:40px;border-radius:8px;object-fit:cover;flex:none}
.dv-tbl .dv-p b{font-weight:500;color:var(--forest);display:block;line-height:1.25}
.dv-tbl .dv-p small{display:block;font-size:.74rem;color:#7a776c}
.dv-tbl .late{color:var(--marigold-ink);font-weight:700}
.dv-tbl .ok{color:#3F5A28;font-weight:700}
.dv-tbl .dim{color:#B3AEA2}
.dv-tbl .dv-sz,.dv-tbl .dv-rd{color:#5a5649;white-space:nowrap}
.dv-tbl td.dv-n{font-weight:700;color:var(--forest)}
.dv-tbl tr.dv-sub td{background:#FBFAF5}
.dv-dh{text-align:center!important;min-width:132px;border-top:4px solid #5B7F3A;background:#fff!important;text-transform:none!important;letter-spacing:0!important}
.dv-dh.ro{border-top-color:var(--forest);background:#EEEDE4!important}
.dv-dh b{display:block;font-size:.9rem;color:var(--forest)}
.dv-dh small{display:block;font-size:.72rem;color:#7a776c;font-weight:500;margin:1px 0 4px}
.dv-dh .dv-pill{font-size:.66rem}
.dv-dh-act{display:flex;justify-content:center;gap:10px;margin-top:5px}
.dv-dh-act .ps-link{font-size:.72rem}
.dv-c{text-align:center}
.dv-c.ro{font-weight:700;color:var(--forest);background:#F4F3EC}
.dv-c.ro.empty{color:#C9C9BE;font-weight:400}
.dv-c.nr{font-size:.72rem;color:#5C5546;background:repeating-linear-gradient(135deg,#F4F2EA 0 6px,#ECEAE0 6px 12px)}
.dv-in{width:58px;height:36px;border:1.5px solid #DADCCF;border-radius:9px;background:#fff;font:700 1rem var(--body);color:var(--forest);text-align:center}
.dv-in:focus{outline:none;border:2.5px solid var(--forest);box-shadow:0 0 0 4px rgba(173,194,140,.45)}
.dv-in.chg{background:#FFF4D6;border-color:var(--marigold)}
.dv-in::placeholder{color:#C9C9BE;font-weight:400}
.dv-left{text-align:center;font-weight:700}
.dv-left.some{color:var(--marigold-ink)}
.dv-left.some::before{content:'';}
.dv-tbl tfoot td{background:#F7F6F0;font-weight:700;color:var(--forest);border-top:2px solid var(--sage-soft)}
.dv-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin:0 0 12px}
.dv-card{background:#fff;border:1.5px solid var(--sage-soft);border-radius:12px;padding:10px 12px;box-shadow:inset 0 3px 0 #5B7F3A}
.dv-card.locked{box-shadow:inset 0 3px 0 var(--forest)}
.dv-card-h{display:flex;justify-content:space-between;align-items:center;gap:8px}
.dv-card-h b{color:var(--forest);font-size:1rem}
.dv-card-b{font-size:.85rem;color:var(--soil);margin-top:4px;line-height:1.4}
.dv-card-a{display:flex;align-items:center;gap:12px;margin-top:8px}
.dv-card-a small{color:#7a776c;font-size:.78rem}
.dv-legend{font-size:.82rem;color:#5a5649;margin:4px 0 0;line-height:1.5}
.dv-empty{background:#fff;border:1.5px dashed var(--sage);border-radius:12px;padding:28px;text-align:center;color:var(--pine)}
/* shortages */
.dv-shorts{display:grid;gap:12px;margin-top:16px}
.dv-short{background:#fff;border:2px solid var(--marigold);border-radius:14px;padding:14px 16px}
.dv-short-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.dv-short-h b{font-family:var(--display);font-weight:500;font-size:1.25rem;color:var(--forest)}
.dv-short-h span{font-size:.82rem;color:#7a776c}
.dv-short p{margin:8px 0 0;font-size:.92rem}
.dv-short .dv-q{font-weight:700;color:var(--forest)}
.dv-opts{display:grid;gap:8px;margin-top:8px}
.dv-opt{display:flex;align-items:center;gap:12px;border:1.5px solid #CBD8B4;border-radius:12px;padding:10px 12px;cursor:pointer;background:#fff}
.dv-opt:has(input:checked){border:2px solid var(--forest);padding:9px 11px}
.dv-opt input{width:22px;height:22px;accent-color:var(--forest);flex:none;margin:0}
.dv-opt img{width:46px;height:46px;border-radius:9px;object-fit:cover;flex:none}
.dv-opt span{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.dv-opt b{color:var(--forest);font-size:.95rem}
.dv-opt b small{font-weight:400;color:#7a776c}
.dv-opt span small{flex-basis:100%;display:block;color:#5C5546;font-size:.8rem}
.dv-our{font-style:normal;font-size:.64rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:var(--marigold);color:var(--forest);border-radius:99px;padding:2px 7px}
.dv-note{font-size:.85rem;color:#5a5649;margin:10px 0 0!important;line-height:1.5}
.dv-ans{background:#DCE5CB;border-radius:10px;padding:10px 12px;color:var(--forest)}
.dv-auto{display:flex;gap:10px;align-items:flex-start;margin-top:10px;font-size:.86rem;background:#F7F6F0;border-radius:10px;padding:10px 12px;cursor:pointer}
.dv-auto input{width:20px;height:20px;accent-color:var(--forest);flex:none;margin-top:1px}
.dv-auto b{color:var(--forest)}
.dv-short-ft{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px}
.dv-short-ft a{font-size:.84rem;font-weight:700;color:var(--forest)}
/* the modal */
.dv-mbox{width:500px}
.dv-step{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--forest);margin:4px 0 10px}
.dv-meth{margin-bottom:10px}
.dv-cal{border:1.5px solid var(--sage-soft);border-radius:12px;padding:8px 10px 10px}
.dv-cal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.dv-cal-h b{font-family:var(--display);font-weight:500;font-size:1.1rem;color:var(--forest)}
.dv-cal-h .ps-x{position:static;width:40px;height:40px;font-size:1.5rem}
.dv-cal-h .ps-x:disabled{opacity:.3;cursor:default}
.dv-cal-d{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center;font-size:.72rem;font-weight:700;color:#5C5546;margin-bottom:3px}
.dv-cal-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.dv-day{height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-radius:9px;font:700 .95rem var(--body);color:var(--forest);background:#F7F8F1;border:2px solid transparent;cursor:pointer;line-height:1;padding:0}
.dv-day small{font-size:.58rem;font-weight:700;color:#5C5546;letter-spacing:.03em}
span.dv-day{color:#B3AEA2;background:transparent;cursor:default;font-weight:500}
span.dv-day.win{background:#F7F8F1;color:#8C877A}
.dv-day.extra{border-style:dashed;border-color:#8DA66A;background:#fff}
span.dv-day.extra{border-color:#E7EBDD}
.dv-day.mine{background:#DCE5CB;border-color:#5B7F3A}
span.dv-day.mine{color:var(--forest)}
.dv-day.full{background:#ECEAE0;color:#5C5546;text-decoration:line-through}
.dv-day.locked{background:#ECEAE0;color:#5C5546}
.dv-day.sel{background:var(--marigold);border-color:var(--forest);color:var(--forest);box-shadow:0 2px 8px rgba(233,164,19,.35)}
.dv-key{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.74rem;color:#3A3226;margin:8px 0 10px}
.dv-key span{display:inline-flex;align-items:center;gap:5px}
.dv-key i{width:13px;height:13px;border-radius:4px;background:#F7F8F1;border:1px solid #CBD8B4}
.dv-key i.mine{background:#DCE5CB;border:2px solid #5B7F3A}
.dv-key i.extra{background:#fff;border:2px dashed #8DA66A}
.dv-key i.full{background:#ECEAE0}
.dv-daybox{background:#F7F6F0;border-radius:10px;padding:10px 12px;font-size:.88rem;margin-bottom:6px}
.dv-daybox b{color:var(--forest);font-size:1rem}
.dv-daybox small{display:block;color:#5C5546;margin-top:4px}
.dv-daybox.dim{color:#7a776c}
.dv-all{width:100%;justify-content:center;margin-bottom:8px;border-color:#5B7F3A}
.dv-qlist{display:grid;gap:8px;max-height:46vh;overflow:auto}
.dv-qrow{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1.5px solid var(--sage-soft);border-radius:12px;padding:8px 10px}
.dv-qrow.nr{opacity:.7}
.dv-qp{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.dv-qp img{width:44px;height:44px;border-radius:9px;object-fit:cover;flex:none}
.dv-qp b{display:block;color:var(--forest);font-size:.92rem;line-height:1.2}
.dv-qp small{display:block;color:#5C5546;font-size:.76rem}
.dv-nr{font-size:.74rem;font-weight:700;color:var(--marigold-ink);background:#FBEFD0;border-radius:99px;padding:5px 10px;text-align:center;flex:none;max-width:40%}
.dv-mbox .ctl button{width:40px;height:40px}
.dv-mbox .ctl input{width:52px;height:40px}
.dv-mbox .ft{align-items:center}
.dv-mbox .ft .ps-link{font-size:.8rem}
.dv-err{flex-basis:100%;font-size:.84rem;color:#8A3B2E;font-weight:700}
@media (max-width:760px){
  .dv-today{display:none}
  .dv-job{padding:12px 12px 10px}
  .dv-tw{display:none}
  .dv-add{width:100%;text-align:center}
  .dv-day{height:44px}
  .dv-mbox .bd{padding:10px 12px 4px}
  .ps-modal.dv-modal{padding:2vh 6px}
}
/* V23.1: truck runs */
.dv-run{display:inline-block;font:700 .72rem var(--body);letter-spacing:.04em;background:#EEF3E4;color:var(--forest);border-radius:99px;padding:2px 9px;margin-left:6px;vertical-align:middle}
.dv-runs{margin-top:8px}
.dv-runs small{display:block;font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5a5649;margin-bottom:4px}
.dv-runs .ps-pills{display:flex;flex-wrap:wrap;gap:6px}
.dv-runp{display:inline-flex;flex-direction:column;align-items:center;line-height:1.15;min-height:46px;padding:6px 14px}
.dv-runp small{font-size:.7rem;font-weight:700;letter-spacing:0;text-transform:none;color:#5B7F3A;margin:2px 0 0}
.dv-runp.on small{color:#DCE5CB}
.dv-runp.full{opacity:.55;text-decoration:line-through}
.dv-runp.full small{text-decoration:none;color:#8A3B2E}
.dv-hint{color:var(--marigold-ink);font-weight:700;font-size:.8rem}

/* V25: bench add-ons on a delivery day */
.dv-aos{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.dv-ao{font-size:.8rem;color:#33491F;background:#F1F5E8;border-radius:8px;padding:5px 9px;line-height:1.4}
.dv-ao small{display:block;color:#6B6455;font-size:.74rem}
.dv-ao-requested{background:#FBF1D9;color:#5C430B}
.dv-ao-declined{background:#F4E8E5;color:#8A3B2E}
.dv-dh-ao{display:block;margin-top:5px;font-size:.7rem;font-weight:700;color:#33491F;text-transform:none;letter-spacing:0}
.dv-dh-ao.wait{color:var(--marigold-ink)}
a.dv-addon{display:inline-block;margin-top:6px;font-size:.72rem;font-weight:700;color:var(--forest);background:var(--marigold);border:1.5px solid var(--marigold);border-radius:99px;padding:3px 10px;text-decoration:none;white-space:nowrap}
a.dv-addon:hover{background:#F2B83A}
a.dv-addon-card{display:inline-flex;margin-top:10px;font-size:.82rem;padding:6px 14px}
.dv-legend-ao{margin-bottom:4px}

/* nov4: mature size + cold under each plant, and the Plan a bed view */
.ps-info{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:4px}
.ps-dim{font-size:.8rem;color:#55604a}
.ps-cold{display:inline-flex;align-items:center;gap:4px;font-weight:700;font-size:.72rem;line-height:1;padding:4px 8px;border-radius:999px;white-space:nowrap;cursor:help}
.ps-cold svg{flex:none}
.ps-cold .sh{display:none}
.ps-cold.hard{background:#DCE8F5;color:#1E4A78}.ps-cold.light{background:#EAF2FA;color:#3A6A9A}.ps-cold.none{background:#F3EEE3;color:#7A5E2E}
.ps-cold.zone{background:#E3EEDA;color:#2F5A23}.ps-cold.zonev{background:#EEF2E4;color:#55633A}.ps-cold.zoneb{background:#FBF1D9;color:#7E5908}.ps-cold.zonen{background:#F8DDD7;color:#8A3B2E}
.ps-none{color:#B9B2A3}
.ps-kind{display:block;color:#7A7462;font-size:.76rem;margin-top:1px}
.ps-bedn{margin:0;padding:8px 12px;font-size:.8rem;color:#6b675c;border-bottom:1px solid #ECEBE3;background:#fff}
.ps-bedn b{color:#3c4a33}
.ps-bedn a{color:var(--forest,#22331B);font-weight:700}
.ps-bed th small{font-weight:500;text-transform:none;letter-spacing:0;color:#8A8270;margin-left:4px}
.ps-bed tr.g small{font-weight:500;color:#8A8270;letter-spacing:0;margin-left:6px}
.ps-bed td{padding-top:7px;padding-bottom:7px}
.ps-bed td.bars{width:30%;min-width:200px;padding-left:10px;padding-right:14px}
.ps-bed td.msz,.ps-bed td.cold{text-align:left}
.ps-bed .ps-dim small{display:block;color:#8A8270;font-size:.74rem;margin-top:2px}
.ps-br{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:8px;font-size:.64rem;color:#8A8270;text-transform:uppercase;letter-spacing:.06em}
.ps-br + .ps-br{margin-top:6px}
.ps-bt{position:relative;height:9px;border-radius:5px;background:repeating-linear-gradient(90deg,#EEF0E8 0 calc(16.6667% - 1px),#DCE0D3 calc(16.6667% - 1px) 16.6667%)}
.ps-bt b{position:absolute;left:0;top:0;bottom:0;background:#4C6B33;border-radius:5px}
.ps-bt i{position:absolute;top:0;bottom:0;background:#9DB585;border-radius:5px}
.ps-bt.w b{background:#B8894A}.ps-bt.w i{background:#E2C89C}
.ps-bt.over:after{content:'';position:absolute;right:-8px;top:0;border-style:solid;border-width:4.5px 0 4.5px 6px;border-color:transparent transparent transparent #9DB585}
.ps-bt.w.over:after{border-left-color:#E2C89C}
@media (max-width:760px){
  .ps-cold .lg{display:none}
  .ps-cold .sh{display:inline}
            .ps-bed thead{display:none}
  .ps-bed,.ps-bed tbody{display:block}
  .ps-bed tr{display:grid;grid-template-columns:1fr auto;column-gap:10px;row-gap:6px;align-items:center;padding:10px;border-bottom:1px solid #ECEBE3}
  .ps-bed tr.g,.ps-bed tr.gc{display:block;padding:0}
  .ps-bed td{border:0;padding:0;display:block}
  .ps-bed td.l{grid-column:1;grid-row:1;min-width:0;padding-left:0}
  .ps-bed td.tot2{grid-column:2;grid-row:1;width:78px;text-align:center}
  .ps-bed td.bars{grid-column:1 / -1;width:auto;min-width:0;padding:0 2px 0 0}
  .ps-bed td.msz{grid-column:1}
  .ps-bed td.cold{grid-column:2;text-align:right}
  .ps-bed td.sz,.ps-bed td.m{display:none}
  .ps-bed .nm .ps-mob{display:block;color:#7a776c;font-size:.76rem}
  .ps-bed .ps-unit{display:block;font-size:.62rem;color:#7a776c;margin-top:1px}
  .ps-bed .ps-dim small{display:inline;margin:0 0 0 6px}
}

/* nov4: filter sidebar (option K) */
.ps-body{display:grid;grid-template-columns:252px minmax(0,1fr);align-items:start}
.ps-body.noside{display:block}
.ps-body.noside .ps-side{display:none}
.ps-side{position:sticky;top:calc(var(--os-hdr,0px) + 8px);max-height:calc(100vh - var(--os-hdr,0px) - 96px);overflow:auto;border-right:1px solid #ECEBE3;padding:12px 16px 18px;background:#FBFAF5;font-size:.86rem;color:#2b2f25}
.ps-side-hd{display:flex;align-items:center;gap:8px}
.ps-side-hd b{font-family:var(--display,Georgia,serif);font-weight:500;font-size:1.08rem;color:var(--forest,#22331B)}
.ps-side-hd .ps-link{margin-left:auto;font-size:.8rem}
.ps-side-x{display:none}
.ps-side h4{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:16px 0 6px;font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:#7A7462}
.ps-fval{font-size:.8rem;letter-spacing:0;text-transform:none;color:var(--forest,#22331B);font-weight:700}
.ps-fcb{display:flex;align-items:center;gap:8px;width:100%;background:none;border:0;padding:5px 0;font:inherit;color:#2b2f25;text-align:left;cursor:pointer}
.ps-fcb i{position:relative;flex:none;width:16px;height:16px;border-radius:4px;border:1.6px solid #B9C2A8;background:#fff}
.ps-fcb.on i{background:var(--forest,#22331B);border-color:var(--forest,#22331B)}
.ps-fcb.on i:after{content:'';position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ps-fcb .dot{flex:none;width:9px;height:9px;border-radius:3px}
.ps-fcb .t{flex:1;line-height:1.25}
.ps-fcb small{color:#8A8270;font-size:.78rem}
.ps-fcb.zero{opacity:.45}
.ps-fcb:focus-visible{outline:2px solid #E8A317;outline-offset:2px;border-radius:4px}
.ps-hist{display:flex;align-items:flex-end;gap:2px;height:42px;margin:0 8px}
.ps-hist i{flex:1;min-height:3px;background:#DCE0D3;border-radius:2px 2px 0 0}
.ps-hist i.on{background:#7FA05F}
.ps-rng{position:relative;height:22px}
.ps-rng .tr{position:absolute;left:8px;right:8px;top:9px;height:4px;background:#DCE0D3;border-radius:2px}
.ps-rng .tr b{position:absolute;top:0;bottom:0;background:#2F5A23;border-radius:2px}
.ps-rin{position:absolute;left:0;top:0;width:100%;height:22px;margin:0;padding:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}
.ps-rin::-webkit-slider-runnable-track{height:22px;background:none;border:0}
.ps-rin::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:18px;height:18px;margin-top:2px;border-radius:50%;background:#fff;border:2px solid #2F5A23;box-shadow:0 1px 3px rgba(0,0,0,.25);cursor:grab}
.ps-rin::-moz-range-track{background:none;border:0}
.ps-rin::-moz-range-thumb{pointer-events:auto;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #2F5A23;cursor:grab}
.ps-rin:focus-visible::-webkit-slider-thumb{outline:2px solid #E8A317;outline-offset:2px}
.ps-rlb{display:flex;justify-content:space-between;margin:2px 2px 0;font-size:.72rem;color:#8A8270}
.ps-fnote{margin:16px 0 0;font-size:.74rem;color:#8A8270}
.ps-fdone{display:none}
.ps-fsum{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:9px 12px;border-bottom:1px solid #ECEBE3;font-size:.84rem;color:#55604a;background:#fff}
.ps-fsum b{color:var(--forest,#22331B)}
.ps-fpill{display:inline-flex;align-items:center;gap:4px;border:0;border-radius:99px;padding:4px 10px;background:#EEF2E4;font:inherit;font-size:.8rem;font-weight:700;color:#2F5A23;cursor:pointer}
.ps-fsum .ps-link{margin-left:4px;font-size:.8rem}
.ps-fbtn{display:none;align-items:center;gap:6px;border:1.5px solid #D8DCCB;border-radius:99px;background:#fff;padding:7px 14px;font:inherit;font-size:.86rem;font-weight:700;color:var(--forest,#22331B);cursor:pointer}
.ps-fbtn .n:not(:empty){display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--forest,#22331B);color:#fff;font-size:.72rem}
html.ps-noscroll{overflow:hidden}
@media (max-width:900px){
  .ps-body{display:block}
  .ps-side{display:none}
  .ps-hasside .ps-fbtn{display:inline-flex}
  .ps-body.fopen .ps-side{display:block;position:fixed;left:0;right:0;bottom:0;top:auto;z-index:80;max-height:84vh;overflow:auto;border:0;border-radius:18px 18px 0 0;padding:14px 18px calc(16px + env(safe-area-inset-bottom));box-shadow:0 0 0 100vmax rgba(18,26,14,.45)}
  .ps-side-x{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;border:1.5px solid #D8DCCB;background:#fff;font-size:1.15rem;line-height:1;color:#55604a;cursor:pointer}
  .ps-fcb{padding:8px 0}
  .ps-fdone{display:block;position:sticky;bottom:0;width:100%;margin-top:22px;box-shadow:0 0 0 16px #FBFAF5,0 48px 0 16px #FBFAF5,0 -30px 20px 6px #FBFAF5}
}
@media print{.ps-side,.ps-fsum,.ps-fbtn{display:none!important}.ps-body{display:block}}

/* V26.2 — custom requests ("Don't see what you're looking for?") */
.ps-reqs[hidden]{display:none}
.cr-empty{padding:26px 20px 30px;text-align:center}
.cr-empty .q{margin:0 0 14px;color:var(--pine)}
.cr-ask{display:flex;align-items:center;gap:16px;text-align:left;max-width:660px;margin:0 auto;background:#F3F5EC;border:1.5px dashed #A9BC8C;border-radius:14px;padding:16px 18px}
.cr-ask .ic{flex:none;width:48px;height:48px;border-radius:50%;background:#fff;color:#5B7F3A;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--sage-soft)}
.cr-ask b,.cr-band b{display:block;font-family:var(--display);font-weight:500;font-size:1.2rem;color:var(--forest)}
.cr-ask span,.cr-band span{display:block;color:#5a5649;font-size:.9rem;line-height:1.45;margin-top:2px}
.cr-ask .btn,.cr-band .btn{margin-left:auto;flex:none;white-space:nowrap}
.cr-band{display:flex;align-items:center;gap:14px;margin:0;padding:16px 18px;background:#F3F5EC;border-top:1.5px dashed #A9BC8C}
.cr-band .ic{flex:none;color:#5B7F3A;margin-top:0}
.cr-band b{font-size:1.08rem}
.ps-also{margin:0;padding:8px 14px;font-size:.86rem;color:#5a5649;background:#FBFAF5;border-bottom:1px solid #ECEBE3}
.ps-also b{color:var(--forest)}
.cr-ctag{display:inline-block;font-size:.64rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:99px;background:#E4ECD6;color:#2F5A23;margin:0 3px;vertical-align:1px}
.nm .cr-ctag{margin-left:8px}
.ps-modal .ps-mbox.cr-mbox{width:520px}
.cr-form .ps-pill.on{background:var(--forest);border-color:var(--forest);color:#fff}
.cr-form .cr-opt{text-transform:none;letter-spacing:0;font-weight:400;color:#7a776c}
.cr-two{display:flex;gap:10px;align-items:center}
.cr-two .ps-inp{width:96px;text-align:center;font-weight:700}
.cr-ok{display:flex;gap:10px;align-items:flex-start;margin:14px 0 4px;padding:10px 12px;background:#F3F5EC;border-radius:10px;font-size:.9rem;color:var(--soil);cursor:pointer}
.cr-ok input{width:20px;height:20px;accent-color:var(--forest);flex:none;margin:1px 0 0}
.cr-ok small{display:block;color:#7a776c;font-size:.8rem}
.cr-err{margin:10px 0 0;color:#8A3B2E;font-weight:700;font-size:.88rem}
.cr-ft{border-top:1px solid #ECEBE3;margin-top:12px}
.ps-mbox .cr-ft small{font-weight:400;color:#7a776c;font-size:.78rem;line-height:1.4;max-width:310px}
.ps-reqs{background:#fff;border:1.5px solid var(--sage-soft);border-radius:12px;margin:0 0 14px;overflow:hidden}
.ps-reqs .hd{display:flex;align-items:baseline;gap:10px;padding:12px 16px 10px;background:#F3F5EC;border-bottom:1px solid #ECEBE3}
.ps-reqs .hd b{font-family:var(--display);font-weight:500;font-size:1.15rem;color:var(--forest)}
.ps-reqs .hd small{color:#7a776c;font-size:.82rem}
.ps-reqs .hd .ps-link{margin-left:auto;font-size:.84rem}
.cr-r{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;padding:12px 16px;border-bottom:1px solid #ECEBE3;border-left:5px solid var(--c)}
.cr-r:last-child{border-bottom:0}
.cr-r .what b{color:var(--forest);font-size:.98rem}
.cr-r .what small{display:block;color:#7a776c;font-size:.8rem;margin-top:1px}
.cr-st{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:99px;background:color-mix(in srgb,var(--c) 14%,white);color:var(--c);white-space:nowrap;align-self:start;justify-self:end}
.cr-ans{grid-column:1 / -1;display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#FBFAF5;border:1px solid #ECEBE3;border-radius:10px;padding:10px 12px}
.cr-ans .say{flex:1 1 300px;font-size:.9rem;color:var(--soil)}
.cr-ans .say small{display:block;font-size:.74rem;font-weight:700;color:var(--marigold-ink);letter-spacing:.04em;text-transform:uppercase;margin-bottom:2px}
.cr-ans .say small.int{color:#4B3E78;text-transform:none;letter-spacing:0;font-weight:700;margin:4px 0 0}
.cr-ans .pr{font-family:var(--display);font-size:1.35rem;color:var(--forest);white-space:nowrap}
.cr-ans .pr small{font-family:var(--body);font-size:.78rem;color:#7a776c;margin-left:3px}
.cr-ans .act{display:flex;gap:10px;align-items:center;margin-left:auto;flex-wrap:wrap}
.cr-ans .btn{font-size:.84rem;padding:8px 16px;white-space:nowrap}
.cr-wait{font-size:.84rem;font-weight:700;color:var(--marigold-ink)}
.cr-alt{display:flex;align-items:center;gap:10px;border:1.5px solid var(--sage-soft);background:#fff;border-radius:10px;padding:7px 10px;margin-top:6px}
.cr-alt img{width:44px;height:44px;border-radius:8px;object-fit:cover;flex:none}
.cr-alt b{display:block;color:var(--forest);font-size:.9rem}
.cr-alt span{font-size:.78rem;color:#7a776c}
.cr-done{grid-column:1 / -1;font-size:.86rem;color:#3E6B1F;display:flex;gap:6px;align-items:flex-start}
.cr-done svg{flex:none;margin-top:4px}
.cr-done.no{color:#7a776c}
.ps-reqs .more{padding:10px 16px;background:#FBFAF5;border-top:1px solid #ECEBE3;font-size:.84rem;color:#7a776c;display:flex;justify-content:space-between;gap:10px;align-items:center}
@media (max-width:760px){
  .cr-ask{flex-wrap:wrap;padding:14px}.cr-ask .ic{width:40px;height:40px}.cr-ask > div{flex:1 1 200px}.cr-ask .btn{margin-left:0;width:100%}
  .cr-ask b{font-size:1.08rem}
  .cr-band{flex-wrap:wrap}.cr-band .ic{display:none}.cr-band b{font-size:1.05rem}.cr-band > div{flex:1 1 200px}.cr-band .btn{margin-left:0;width:100%}
  .cr-r{grid-template-columns:1fr;padding:12px}.cr-st{justify-self:start;order:-1}
  .cr-ans .act{margin-left:0;width:100%}.cr-ans .act .btn{flex:1}
  .ps-reqs .hd{flex-wrap:wrap}.ps-reqs .hd .ps-link{margin-left:0}
  .ps-reqs .more{flex-direction:column;align-items:stretch}
}
@media print{.ps-reqs,.cr-band,.cr-ask{display:none!important}}

/* nov5: Plan a bed fits its own box. Between phone and wide-laptop sizes the
   table was wider than the sheet and the right side (Total, Price) got cut off.
   It now looks at the space it actually has (filter sidebar open or not, staff
   page or client page), not the screen width. */
.ps-bedw{container:psbed / inline-size}
@container psbed (max-width:1000px){
  .ps-bed th.sz,.ps-bed td.sz,.ps-bed th.m,.ps-bed td.m{display:none}
  .ps-bed .nm .ps-mob{display:block;color:#7a776c;font-size:.76rem}
  .ps-bed .ps-cold .lg{display:none}
  .ps-bed .ps-cold .sh{display:inline}
  .ps-bed th{white-space:normal}
  .ps-bed th small{display:block;margin:2px 0 0}
  .ps-bed td.bars{width:28%;min-width:130px;padding-right:10px}
  .ps-bed td.tot2{width:84px}
}
@container psbed (max-width:640px){
  .ps-bed thead{display:none}
  .ps-bed,.ps-bed tbody{display:block}
  .ps-bed tr{display:grid;grid-template-columns:1fr auto;column-gap:10px;row-gap:6px;align-items:center;padding:10px;border-bottom:1px solid #ECEBE3}
  .ps-bed tr.g,.ps-bed tr.gc{display:block;padding:0}
  .ps-bed td{border:0;padding:0;display:block}
  .ps-bed td.l{grid-column:1;grid-row:1;min-width:0;padding-left:0}
  .ps-bed td.tot2{grid-column:2;grid-row:1;width:78px;text-align:center}
  .ps-bed td.bars{grid-column:1 / -1;width:auto;min-width:0;padding:0 2px 0 0}
  .ps-bed td.msz{grid-column:1}
  .ps-bed td.cold{grid-column:2;text-align:right}
  .ps-bed td.sz,.ps-bed td.m{display:none}
  .ps-bed .ps-unit{display:block;font-size:.62rem;color:#7a776c;margin-top:1px}
  .ps-bed .ps-dim small{display:inline;margin:0 0 0 6px}
}

/* V26.4: half trays for veggies and herbs */
.ps-hf{display:inline-block;font-size:.64rem;font-weight:700;letter-spacing:.03em;padding:1px 7px;border-radius:99px;background:#fff;border:1px solid #B9CC9A;color:#3F5A28;margin-left:8px;vertical-align:1px;white-space:nowrap;cursor:help}
.ps-tile .ps-hf{margin:4px 0 0}
