/* ChefSums stocktake, stamp 21 Oct 2026 (with /stocktake-20261021.js). Uses the page's card, button and table styles;
   these rules add the count screen (48px rows, sticky keypad), the sync badge and the A4 print sheet. */
.ps-stock .pst-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ps-stock .pst-banner{margin:12px 0;padding:12px 14px;border:1px solid var(--line2,#b9adbc);border-radius:4px;background:var(--bg3,#f3f1ec)}
.ps-stock .pst-tabs{display:flex;gap:4px;margin:14px 0 10px;border-bottom:1px solid var(--line,#dcd2cb);overflow-x:auto}
.ps-stock .pst-tabs button{min-height:44px;padding:8px 14px;border:0;border-bottom:3px solid transparent;background:none;font:inherit;font-weight:600;color:inherit;cursor:pointer;white-space:nowrap}
.ps-stock .pst-tabs button.on{border-bottom-color:currentColor}
.ps-stock .pst-sync{font-size:13px;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid var(--line,#dcd2cb)}
.ps-stock .pst-sync.is-saved{color:#46712F;border-color:#46712F}
.ps-stock .pst-sync.is-syncing{color:#8A5A00;border-color:#8A5A00}
.ps-stock .pst-sync.is-offline{color:#B3261E;border-color:#B3261E}
.ps-stock .pst-filter{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0}
.ps-stock .pst-filter input[type=search]{flex:1 1 160px;min-height:44px}
.ps-stock .pst-filter select{min-height:44px}
.ps-stock .pst-seg{display:inline-flex;border:1px solid var(--line2,#b9adbc);border-radius:4px;overflow:hidden}
.ps-stock .pst-seg button{min-height:44px;padding:6px 12px;border:0;background:none;font:inherit;color:inherit;cursor:pointer}
.ps-stock .pst-seg button[aria-pressed=true]{background:var(--ink,#3b1b45);color:var(--cream,#f6efe2)}
.ps-stock .pst-rows{list-style:none;margin:0 0 12px;padding:0;border-top:1px solid var(--line,#dcd2cb)}
.ps-stock .pst-areah{padding:10px 4px 4px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#6b5a70)}
.ps-stock .pst-row{display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 6px;border-bottom:1px solid var(--line,#dcd2cb);cursor:pointer}
.ps-stock .pst-row.on{background:var(--bg3,#f3f1ec);outline:2px solid var(--cs-focus,#F28C84);outline-offset:-2px}
.ps-stock .pst-row.local .pst-qty::after{content:" •";color:#8A5A00}
.ps-stock .pst-name{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.ps-stock .pst-qty{flex:0 0 auto;min-width:64px;text-align:right;font-variant-numeric:tabular-nums;font-weight:700;font-size:18px}
.ps-stock .pst-chip{flex:0 0 auto;min-height:36px;min-width:56px;padding:4px 10px;border:1px solid var(--line2,#b9adbc);border-radius:999px;background:var(--ps-paper,#fff);font:inherit;font-size:13px;color:inherit;cursor:pointer}
.ps-stock .pst-chip:disabled{opacity:.7;cursor:default}
.ps-stock .pst-keypad{position:sticky;bottom:0;z-index:5;margin:12px -4px 0;padding:8px;background:var(--ps-paper,#fff);border:1px solid var(--line2,#b9adbc);border-radius:6px;box-shadow:0 -4px 12px rgba(0,0,0,.08)}
.ps-stock .pst-kp-h{font-size:14px;margin:0 0 6px}
.ps-stock .pst-kp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ps-stock .pst-kp-grid button{min-height:52px;font:inherit;font-size:22px;font-weight:700;border:1px solid var(--line2,#b9adbc);border-radius:4px;background:var(--bg3,#f3f1ec);color:inherit;cursor:pointer;touch-action:manipulation}
.ps-stock .pst-kp-grid .kp-enter,.ps-stock .pst-kp-grid .kp-plus{background:var(--ink,#3b1b45);color:var(--cream,#f6efe2)}
.ps-stock .dash-wrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
.ps-stock table.dash{border-collapse:collapse;font-size:15px}
.ps-stock table.dash th,.ps-stock table.dash td{padding:6px 8px}
.ps-stock table.dash th{letter-spacing:normal;text-transform:none}
.ps-stock .pst-values td.num,.ps-stock .pst-values th.num{text-align:right}
.ps-stock .pst-values .pst-strong td{font-weight:700}
.ps-stock .pst-purch input{width:100%;min-width:80px;min-height:44px}
.ps-stock .pst-area{margin:14px 0;padding:10px 12px;border:1px solid var(--line,#dcd2cb);border-radius:4px}
.ps-stock .pst-area-h{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.ps-stock .pst-area-h h3{margin:0}
.ps-stock .pst-items{padding-left:18px}
.ps-stock .pst-item{margin:10px 0;padding:8px 0;border-bottom:1px dashed var(--line,#dcd2cb)}
.ps-stock .pst-item-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-top:6px}
.ps-stock .pst-item-grid label{display:flex;flex-direction:column;font-size:13px;gap:2px}
.ps-stock .pst-item-grid input,.ps-stock .pst-item-grid select{min-height:40px}
.ps-stock .pst-drag{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:grab;touch-action:none;user-select:none;font-size:20px}
.ps-stock .pst-item.dragging{opacity:.5}
.ps-stock .pst-item.drop{outline:2px dashed var(--cs-focus,#F28C84);outline-offset:2px}
.ps-stock .pst-preview{margin:6px 0 0;font-size:13px;font-weight:600}
.ps-stock .pst-add{margin:12px 0}
.ps-stock .pst-add .inline{display:flex;gap:8px;flex-wrap:wrap}
.ps-stock .pst-flag{display:inline-block;margin-left:4px;padding:0 5px;border-radius:3px;background:#8A5A00;color:#fff;font-size:11px;font-weight:700;cursor:help}
.ps-stock .pst-warn{color:#8A5A00}
.ps-stock .pst-hist td.num{position:relative}
.ps-stock .pst-bar{display:block;height:3px;margin-top:3px;margin-left:auto;background:var(--ink,#3b1b45);opacity:.5}
.ps-stock .pst-final{margin-top:12px}
@media (max-width:560px){
  .ps-stock .pst-keypad{margin:12px -12px 0;border-radius:0}
  .ps-stock table.dash{font-size:13px}
  .ps-stock table.dash th,.ps-stock table.dash td{padding:5px 4px}
}
.pst-print{display:none}
@media print{
  body.print-stock > *:not(#pst-print){display:none!important}
  body.print-stock #pst-print{display:block!important;font-size:10pt;color:#000}
  body.print-stock #pst-print h1{font-size:16pt;margin:0 0 4px}
  body.print-stock #pst-print h2{font-size:12pt;margin:14px 0 4px;page-break-after:avoid}
  body.print-stock #pst-print table{width:100%;border-collapse:collapse}
  body.print-stock #pst-print th,body.print-stock #pst-print td{border:1px solid #999;padding:3px 5px;text-align:left}
  body.print-stock #pst-print td.num,body.print-stock #pst-print th.num{text-align:right}
  body.print-stock #pst-print td.box{width:22mm;height:8mm}
  body.print-stock #pst-print tr{page-break-inside:avoid}
  @page{size:A4;margin:12mm}
}
