#shelf-piece-dialog{position:fixed;inset:0;margin:auto;width:min(720px,calc(100% - 20px));height:min(920px,calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px));max-height:none;padding:16px;border:3px solid var(--print-ink);border-radius:4px;background:var(--paper-face);color:var(--ink);box-shadow:5px 5px 0 var(--print-ink);overflow:hidden;transform:none}
#shelf-piece-dialog[open]{display:flex;flex-direction:column;gap:10px}
.shelf-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}
.shelf-picker-heading p{font-size:11px;font-weight:850;text-transform:uppercase;margin:0 0 4px;color:var(--print-red)}
.shelf-picker-heading h2{font:400 32px/1 var(--hand);margin:0;letter-spacing:0}
.shelf-picker-heading .icon-button{flex:none;min-width:44px;min-height:44px}
.shelf-picker-caption{margin:0;font-size:12px;line-height:1.4;color:var(--muted)}
.shelf-picker-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;flex:none}
.shelf-picker-tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;gap:2px;min-width:0;padding:5px 2px;border:2px solid var(--print-ink);border-radius:3px;background:var(--paper-face);color:var(--ink);font:800 12px/1.15 var(--text);box-shadow:none;letter-spacing:0}
.shelf-picker-tabs small{font-size:10px;line-height:1.2}
.shelf-picker-tabs [aria-selected=true]{background:var(--print-yellow);box-shadow:0 3px 0 var(--print-ink)}
.shelf-picker-tabs .incomplete small{color:var(--print-red);font-weight:900}
#shelf-piece-panel{display:flex;flex:1;min-height:0;flex-direction:column;gap:7px}
.shelf-picker-tools{display:flex;gap:8px;align-items:center}
.shelf-piece-search{display:flex;align-items:center;flex:1;min-width:0;gap:5px;border:2px solid var(--print-ink);border-radius:3px;background:#fff;padding:0 8px;color:#242320}
.shelf-piece-search svg{width:17px;height:17px;flex:none}
.shelf-piece-search input{min-width:0;width:100%;height:42px;border:0;outline-offset:-2px;background:transparent;color:#242320;font:700 14px var(--text)}
.shelf-selected-filter{display:flex;gap:5px;align-items:center;font-size:12px;font-weight:800;min-height:44px;cursor:pointer}
.shelf-selected-filter input{width:18px;height:18px;accent-color:var(--print-green)}
.shelf-picker-counter{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;font-size:14px}
.shelf-picker-counter>span{display:flex;gap:8px}
.shelf-picker-counter button{width:44px;height:44px;padding:9px}
.shelf-picker-scroll{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;padding:3px 5px 8px 1px;scrollbar-width:thin}
.shelf-picker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.shelf-piece-option{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;min-width:0;border:2px solid var(--print-ink);border-radius:4px;background:#fff;color:#242320;padding:4px 4px 7px;cursor:pointer;box-shadow:2px 2px 0 #242320;transition:transform 130ms ease,box-shadow 130ms ease}
.shelf-piece-option[hidden]{display:none}
.shelf-piece-option input{position:absolute;z-index:2;top:5px;right:5px;margin:0;width:20px;height:20px;accent-color:#397653;cursor:pointer}
.shelf-piece-option:focus-within{outline:3px solid var(--print-cyan);outline-offset:2px}
.shelf-piece-option.is-selected{border-color:#397653;background:#e6f1db;box-shadow:2px 3px 0 #397653}
.shelf-piece-option:has(input:disabled){cursor:default}
.shelf-piece-image{position:relative;display:block;aspect-ratio:1;width:100%;background:#fff;border-radius:2px;overflow:hidden}
.shelf-piece-image img{display:block;width:100%;height:100%;object-fit:contain;padding:4px}
.shelf-piece-new{position:absolute;left:0;bottom:0;padding:2px 4px;background:#edc348;color:#242320;font-size:8px;line-height:1;font-weight:900;border:1px solid #242320;border-radius:2px;letter-spacing:0}
.shelf-piece-name{font-size:12px;line-height:1.2;font-weight:850;text-align:center;min-height:29px;overflow-wrap:anywhere;display:flex;align-items:center;justify-content:center;width:100%}
.shelf-piece-empty{text-align:center;color:var(--muted);font-size:14px;padding:20px}
.shelf-picker-footer{flex:none;border-top:2px solid var(--print-ink);padding-top:8px}
.shelf-picker-footer p{margin:0 0 7px;min-height:30px;font-size:12px;line-height:15px;color:var(--muted)}
.shelf-picker-footer>div{display:grid;grid-template-columns:1fr 2fr;gap:10px}
.shelf-picker-footer button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:0;font-size:14px;padding:9px 6px}
.shelf-picker-footer svg{width:18px;height:18px}
.shelf-picker-footer button:disabled{opacity:.5;cursor:not-allowed}
[data-shelf-pieces-summary]{font-size:12px;line-height:1.5;color:var(--muted);margin:8px 0}
@media(max-width:480px){#shelf-piece-dialog{padding:12px;gap:8px}.shelf-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.shelf-picker-tabs button{font-size:11px}.shelf-piece-name{font-size:11px}.shelf-picker-heading h2{font-size:28px}}
@media(max-height:650px){#shelf-piece-dialog{padding:9px;gap:6px}.shelf-picker-heading h2{font-size:26px}.shelf-picker-caption{font-size:11px}.shelf-picker-tabs button{min-height:44px}.shelf-picker-footer p{min-height:15px}.shelf-piece-name{min-height:26px}}
@media(prefers-reduced-motion:reduce){.shelf-piece-option{transition:none}}
