/* One stable blue-white compartment map; stock remains the source of truth. */
#stockList[data-view=fridge]{display:block;padding:0}
.digital-fridge{display:flex;flex-direction:column;gap:4px;padding:4px;background:#f3f8fb;color:#192a35}
.fridge-space{display:flex;flex-direction:column;min-width:0;--visual-height:42px;--icon-size:36px;--space-floor:74px;border:0;border-left:3px solid rgb(var(--zone-rgb)/.85);background:linear-gradient(180deg,#fff 0%,#f6fbfe 68%,#e3eef6 92%,#f9fcff 100%);box-shadow:inset 0 -1px #c9dce9}
.fridge-space h3{font-size:12px;line-height:1.2;font-weight:400;color:inherit;opacity:.72;margin:0;padding:4px 5px}
.fridge-tier{flex:1;display:grid;grid-template-columns:repeat(var(--space-columns,5),minmax(0,1fr));align-items:start;align-content:start;gap:2px 0;min-height:var(--space-floor);border:0;background:transparent}
.fridge-upper{--space-floor:76px}
.fridge-low{--space-floor:58px;--visual-height:32px;--icon-size:28px}
.fridge-boxes,.fridge-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;align-items:stretch}
.fridge-box{--space-floor:106px;--visual-height:50px;--icon-size:42px;background:linear-gradient(180deg,#fff 0%,#f2f8fc 65%,#dcebf5 96%,#f7fbfe 100%)}
.fridge-tall{--space-floor:96px;--visual-height:54px;--icon-size:42px}
#stockList .fridge-item{min-width:0;max-width:none;border:0;padding:0;margin:0;background:transparent}
#stockList .fridge-item .stock-edit{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--visual-height) auto;align-content:start;gap:0;width:100%;min-height:58px;padding:0;border:0;border-radius:0;box-shadow:none;color:inherit;text-align:center;background:transparent}
#stockList .fridge-visual{position:relative;display:flex;align-items:center;justify-content:center;gap:1px;width:100%;height:var(--visual-height);min-width:0;justify-self:center;margin:0;box-shadow:none}
#stockList .fridge-item .stock-thumb{width:var(--icon-size);height:var(--icon-size);object-fit:contain;flex:none;margin:0}
#stockList .fridge-counted .stock-thumb{width:min(var(--icon-size),28px);height:min(var(--icon-size),28px)}
#stockList .fridge-caption{display:flex;flex-direction:column;gap:1px;width:100%;padding:2px 2px 4px;box-sizing:border-box}
#stockList .fridge-name{font-size:12px;line-height:1.2;font-weight:650;overflow-wrap:anywhere;white-space:normal;width:100%}
#stockList .fridge-item .stock-amount{font-size:11px;line-height:1.2;min-height:0;font-weight:400;color:inherit;margin:0}
#stockList .fridge-quantity{position:static;order:-1;flex:none;white-space:nowrap;overflow-wrap:normal;word-break:normal;font-size:var(--quantity-size,22px);line-height:1;font-weight:800;color:#192a3580;pointer-events:none}
#stockList .fridge-line-icon{filter:brightness(0) invert(1) drop-shadow(0 1px .8px #203e5066) drop-shadow(0 -.5px .6px #203e5040)}
#stockList .fridge-missing .stock-thumb{opacity:.25;filter:grayscale(1)}
#stockList .fridge-missing .fridge-line-icon{filter:brightness(0) invert(1) drop-shadow(0 1px .8px #203e5040)}
#stockList .fridge-missing .fridge-name{font-weight:400;opacity:.55}
.fridge-status{font-size:11px;opacity:.65;line-height:1.1}
#stockList .fridge-item .stock-edit:focus-visible{outline:2px solid var(--skin-primary);outline-offset:-2px}
html[data-theme=night] .digital-fridge{background:#142431;color:#eef5fa}
html[data-theme=night] .fridge-space{background:linear-gradient(180deg,#243c4e 0%,#203747 68%,#152a3a 92%,#2a4354 100%);box-shadow:inset 0 -1px #57788d66}
html[data-theme=night] #stockList .fridge-quantity{color:#f0f6fa8c}
@media(max-width:350px){#stockList .fridge-name{font-size:11px}#stockList .fridge-counted .stock-thumb{width:24px;height:24px}#stockList .fridge-quantity{font-size:min(var(--quantity-size,22px),19px)}}
/* Only the item editor gets a viewport-bound action area; other dialogs stay intact. */
.stock-item-dialog[open]{position:fixed;inset:calc(var(--editor-top,0px) + 8px) 0 auto;margin:0 auto;display:flex;flex-direction:column;max-height:calc(var(--editor-height,100dvh) - 16px);overflow:hidden;padding:12px}
.stock-item-dialog .stock-dialog-heading{flex:none;margin-bottom:6px}
.stock-item-dialog form{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.stock-item-dialog .stock-dialog-fields{min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-padding:8px;gap:10px;padding:0 1px 8px}
.stock-item-dialog .stock-dialog-error{flex:none;margin:0;font-size:13px;max-height:44px;overflow:auto}
.stock-item-dialog .core-confirm-actions{flex:none;gap:0;margin:0;padding-top:6px;background:var(--stock-dialog-tint)}
.stock-item-dialog .core-confirm-actions button{min-height:48px;padding:8px;min-width:0}
.stock-item-dialog .core-confirm-actions [data-editor-cancel]{background:#e2e5e7;color:#24313a;border-color:#e2e5e7}
@media(max-height:420px){.stock-item-dialog .stock-dialog-heading h2{font-size:16px}.stock-item-dialog .stock-dialog-heading [data-cancel]{height:36px;min-height:36px}.stock-item-dialog .core-confirm-actions button{min-height:44px}}
/* One existing Jarmila launcher in the stock action panel, outside the shelves. */
[data-screen=stock] #stockHelpButton{width:44px;min-width:44px;min-height:44px;display:grid;place-items:center;border:0;border-radius:0;padding:0;background:transparent;color:var(--stock-ink)}
#stockHelpButton svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.stock-help-overlay .jarmila-tab{display:none!important}
#missingStockToList{width:100%;min-height:44px;padding:6px 10px;border:1px solid var(--line);border-radius:0;background:var(--appearance-card,#fff);color:var(--text);font:inherit;font-size:13px;text-align:left}
#missingStockToList[hidden]{display:none}
/* Horizontal spatial map. Native browser zoom and scroll remain available. */
.fridge-navigation{display:flex;gap:0;padding:0 4px;background:#edf5fa}
.fridge-navigation button{flex:1;min-height:44px;border:0;border-radius:0;background:transparent;color:#365a75;font:inherit;font-size:14px}
.fridge-navigation button[aria-pressed=true]{background:#dbeaf4;box-shadow:inset 0 -2px #6388a5}
.fridge-pages{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;overscroll-behavior-x:contain;max-width:100%;height:var(--fridge-page-height,500px)}
.fridge-page{flex:0 0 100%;min-width:0;max-width:100%;height:100%;overflow-y:auto;scroll-snap-align:start;box-sizing:border-box;scroll-padding-top:4px}
.fridge-page .digital-fridge{min-height:100%;box-sizing:border-box}
.fridge-page .fridge-space{flex:1 0 auto}
.fridge-page .fridge-low{flex-grow:.55}
.fridge-page .fridge-tall{flex-grow:1.5}
.fridge-page .fridge-boxes{flex:1.25 0 auto}
/* Tracks adapt to the actual count of slots, including missing products. */
.fridge-page .fridge-boxes{grid-template-columns:minmax(0,var(--left-track,1fr)) minmax(0,var(--right-track,1fr))}
#stockList .fridge-item,#stockList .fridge-item .stock-edit{touch-action:pan-x pan-y pinch-zoom}
.fridge-browser[data-compact=true] .fridge-space{--space-floor:54px;--visual-height:32px;--icon-size:28px}
.fridge-browser[data-compact=true] .fridge-box{--space-floor:74px;--visual-height:38px;--icon-size:32px}
.fridge-browser[data-compact=true] .fridge-tall{--space-floor:66px;--visual-height:40px;--icon-size:32px}
.fridge-space[data-density=full]{--visual-height:32px;--icon-size:28px}
[data-screen=stock] .stock-control-panel{--missing-accent:#a9446b;padding:0 4px 0}
[data-screen=stock] .stock-panel-info{display:flex;align-items:center;justify-content:flex-end;min-height:20px}
[data-screen=stock] #stockCloseEntry{min-height:32px;border:0;background:transparent;color:var(--stock-ink);font:inherit;font-size:12px;padding:2px 6px}
[data-screen=stock] #stockCloseEntry[hidden]{display:none}
[data-screen=stock] .stock-control-panel .stock-summary{display:grid;grid-template-columns:minmax(96px,.8fr) 44px minmax(0,1.8fr);gap:2px;align-items:stretch}
[data-screen=stock] .stock-control-panel #emptyStockButton{flex:0 0 32%;height:auto;min-height:44px;font-size:11px;padding:6px 3px;gap:3px;font-weight:400}
[data-screen=stock] .stock-control-panel #emptyStockButton svg{width:18px;height:18px}
[data-screen=stock] .stock-control-panel #missingStockToList{flex:1;width:auto;min-width:0;min-height:44px;font-size:12px;font-weight:600;line-height:1.25;border:0;background:#f8edf2;color:var(--missing-accent);padding:6px}
.missing-mark{color:#a9446b;font-size:9px;opacity:.9}
#stockTransferResult{font-size:13px;margin:4px 0 0;padding:4px;color:var(--stock-ink)}
#stockTransferResult button{border:0;background:transparent;color:var(--skin-primary);font:inherit;text-decoration:underline;min-height:36px;padding:2px 6px}
html[data-theme=night] .fridge-navigation{background:#203747}
html[data-theme=night] .fridge-navigation button{color:#d2e5f1}
html[data-theme=night] .fridge-navigation button[aria-pressed=true]{background:#365569}
html[data-theme=night] [data-screen=stock] .stock-control-panel{--missing-accent:#e4a5bd}
html[data-theme=night] [data-screen=stock] .stock-control-panel #missingStockToList{background:#49313f}
html[data-theme=night] .missing-mark{color:#e4a5bd}
.fridge-browser[data-wide=true] .fridge-page{flex-basis:50%;max-width:50%}.fridge-browser[data-wide=true] .fridge-pages{overflow-x:hidden;scroll-snap-type:none}
@media(prefers-reduced-motion:reduce){.fridge-pages{scroll-behavior:auto}}

/* Stock-only spacing: preserve every control and its existing hit area. */
.app-shell:has([data-screen=stock].active){}
[data-screen=stock] .card-heading{padding:2px 10px}
[data-screen=stock] .stock-composer{margin:2px 0}
[data-screen=stock] .stock-summary button{min-width:0;overflow-wrap:normal;word-break:normal}
[data-screen=stock] #emptyStockButton{white-space:nowrap}
/* Narrow view / larger text: give the primary action a full-width row. */
@container stock-screen (max-width:320px){
  [data-screen=stock] .stock-control-panel .stock-summary{grid-template-columns:minmax(0,1fr) 44px}
  [data-screen=stock] .stock-control-panel #missingStockToList{grid-column:1/-1}
}

/* Each compartment fills from its own centre; final incomplete rows stay centred. */
.fridge-space{container-type:inline-size;container-name:fridge-zone}
.fridge-tier{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;align-content:flex-start;padding-inline:min(32px,8%);box-sizing:border-box}
#stockList .fridge-tier .fridge-item{flex:0 0 calc(100% / var(--space-columns,4));max-width:calc(100% / var(--space-columns,4))}
@container fridge-zone (max-width:220px){
 #stockList .fridge-tier .fridge-item{flex-basis:calc(100% / min(var(--space-columns,4),2));max-width:calc(100% / min(var(--space-columns,4),2))}
}
@container fridge-zone (max-width:140px){
 #stockList .fridge-tier .fridge-item{flex-basis:100%;max-width:100%}
}
