/* Compact Preisschilder header is the shared reference, including tablet sizing. */
body.kiosk-shell{min-height:100vh;background:radial-gradient(ellipse at 85% 0,rgba(137,63,100,.055),transparent 45%),linear-gradient(180deg,#1b1923 0%,#101015 60%,#09090b 100%);background-attachment:fixed;--panel:rgba(31,29,36,.88);--line:#38343e;--soft:#28252e}
.kiosk-shell .kiosk-header{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:12px 28px;min-height:77px;border-bottom:1px solid var(--line);background:rgba(18,17,22,.94)}
.kiosk-shell .kiosk-header .brand img{display:block;width:134px;height:auto}
.kiosk-shell .kiosk-content{width:100%;max-width:1136px;margin:0 auto 60px;padding:20px 28px 36px}
.kiosk-shell .kiosk-back{display:flex;width:max-content;min-height:48px;padding:12px 20px;margin:0 0 20px}
.kiosk-shell .kiosk-content h1{font-size:30px;letter-spacing:-.8px;margin:0 0 16px;font-weight:600}
.kiosk-shell .kiosk-content .eyebrow{margin-bottom:8px}
.kiosk-shell .portal-lead{margin-bottom:24px}
.kiosk-shell .portal-tile,.kiosk-shell .editor-card,.kiosk-shell .work-card,.kiosk-shell .employee-card,.order-card,.order-sidebar{background:rgba(255,255,255,.035);border:1px solid var(--line)}
.kiosk-shell dialog{background:#201d26}
.kiosk-shell .portal-tile{min-height:185px}
.kiosk-shell .work-card.status-ok{border-color:#3a5447;background:rgba(69,106,84,.055)}
.kiosk-shell .work-card.status-soon{border-color:#665735;background:rgba(129,102,44,.06)}
.kiosk-shell .work-card.status-due{border-color:#714449;background:rgba(137,65,78,.055)}
.kiosk-shell .work-state.due{color:#efaaa9}
.kiosk-shell .work-state.soon{color:#e4c185}
.kiosk-shell .scan-sources{display:flex;flex-direction:column;gap:12px}
.kiosk-shell .scan-source{margin:0;background:rgba(255,255,255,.025)}
.kiosk-shell .scan-source.compact{padding:12px 18px}
.kiosk-shell .scan-source.compact h3,.kiosk-shell .scan-source.compact p{display:inline;margin-right:12px;font-size:13px}
.kiosk-shell .scan-source.has-results>h3{font-size:13px;color:var(--muted);margin-bottom:8px}
.kiosk-shell .scan-source.has-results>p{font-size:12px;margin-bottom:8px}
.kiosk-shell .scan-result{text-align:center;border:0;margin:0;padding:18px}
.kiosk-shell .scan-result+.scan-result{border-top:1px solid var(--line)}
.kiosk-shell .scan-result strong{font-size:27px;display:block}
.kiosk-shell .scan-ean{color:var(--muted);font-size:13px;margin:8px 0}
.kiosk-shell .scan-price{font-size:42px;font-weight:700;margin:8px 0}
#scan-ready{font-size:13px}#scan-ready:before{content:'';display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:#80b291}
#batch-progress{position:sticky;top:10px;z-index:8;background:#24202a;border-color:#766079;box-shadow:0 8px 24px #0005;max-height:60vh;overflow:auto}
#batch-progress p{margin-bottom:7px}#batch-progress h2{font-size:21px}
.order-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:20px;margin-top:20px}
.order-sidebar{border-radius:12px;padding:16px;align-self:start;position:sticky;top:16px}.order-sidebar label{margin-bottom:18px}
.order-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.order-card{position:relative;border-radius:12px;overflow:hidden;user-select:none;-webkit-touch-callout:none}
.order-pick{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;min-height:230px;padding:18px 16px;touch-action:pan-y}
.order-pick img{height:100px;width:100%;object-fit:contain;pointer-events:none}
.order-placeholder{display:grid;place-content:center;height:100px;font-size:36px;color:#655a70}
.order-pick strong{font-size:16px;min-height:40px;overflow-wrap:anywhere}.order-quantity{font-size:28px;font-weight:700}
.order-card.selected{border-color:#9d6d8a;background:rgba(173,90,141,.08)}
.order-reset{position:absolute;right:2px;top:2px;color:#eca5af;width:44px;min-height:44px;font-size:20px}
.order-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.order-cart-button{margin-left:auto}
.order-hamburger{display:none}
.order-history-card{padding:18px;border:1px solid var(--line);border-radius:12px;margin:12px 0;background:var(--panel)}
.order-line{display:flex;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.order-line>span{flex:1;overflow-wrap:anywhere}.order-line.completed>span{color:var(--muted);text-decoration:line-through}
.order-admin-list{display:grid;gap:8px}.order-admin-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border-bottom:1px solid var(--line)}
.order-image-preview{max-width:160px;max-height:140px;object-fit:contain;display:block;margin:12px 0}
#order-editor label{margin:16px 0}#order-message{margin-top:12px}
@media(max-width:950px){.kiosk-shell .kiosk-header{padding:12px 18px;gap:10px}.kiosk-shell .kiosk-header .brand img{width:110px}.kiosk-shell .kiosk-content{padding:18px}.order-layout{grid-template-columns:1fr}.order-hamburger{display:inline-flex}.order-sidebar{display:none;position:static}.order-sidebar.open{display:block}.order-pick{min-height:210px}.order-grid{gap:10px}}
@media(max-width:600px){.kiosk-shell .kiosk-header{padding:10px 15px;flex-wrap:wrap}.kiosk-shell .kiosk-header .brand img{width:100px}.kiosk-shell .kiosk-content{padding:16px 15px}.kiosk-shell .kiosk-content h1{font-size:26px}.order-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-pick{padding:14px 10px}.kiosk-shell .scan-price{font-size:36px}}

/* PIN screen follows the established Vape tablet interaction while retaining Kiosk43 auth. */
.kiosk-shell.portal{min-height:100dvh}
.kiosk-shell .portal-main.pin-active{flex:1;display:flex;flex-direction:column;margin:0 auto;padding-block:clamp(18px,4vh,54px)}
.kiosk-shell .portal-main.pin-active>.eyebrow{margin-bottom:0}
.pin-stage{flex:1;width:100%;display:grid;place-items:center}
#pin-login.pin-login-box{width:320px;max-width:calc(100vw - 30px);padding:40px 32px;border:1.5px solid var(--line);border-radius:20px;text-align:center;background:#201e24}
#pin-login .pin-login-logo{font-size:22px;font-weight:700;letter-spacing:-.5px;margin-bottom:6px}
#pin-login h2{font:500 12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted);letter-spacing:0;margin:0 0 28px}
#pin-login .pin-dots{gap:12px;margin:0 0 24px}
#pin-login .pin-dots span{width:14px;height:14px;border:2px solid #69636e;transition:all .15s}
#pin-login .pin-dots span.filled{background:#d7c5d0;border-color:#d7c5d0}
#pin-login .pin-pad{gap:10px}
#pin-login .pin-pad button{height:58px;min-height:58px;border:1.5px solid #45404a;border-radius:12px;background:#2b282f;font:500 20px/1 ui-monospace,SFMono-Regular,Consolas,monospace;transition:background .1s,transform .1s;-webkit-tap-highlight-color:transparent}
#pin-login .pin-pad button:active{background:#3a353f;transform:scale(.95)}
#pin-login .pin-pad button:hover:not(:disabled){background:#343039}
#pin-login .pin-pad button[data-pin-key="0"]{grid-column:span 2}
#pin-login .pin-pad button[data-pin-key="back"]{font-size:16px;color:var(--muted)}
#pin-login #pin-message{margin:14px 0 0;min-height:18px;font-size:13px;color:#efaaa9}
@media(max-width:380px){#pin-login.pin-login-box{padding:30px 22px}}

.kiosk-content>.mode-banner,.kiosk-content>.employee-print-status{padding:9px 12px;margin-bottom:10px;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.02)}

/* Phase E polish: one transient feedback surface, compact selection and left navigation. */
.kiosk-toast{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);z-index:1000;max-width:min(520px,90vw);width:max-content;pointer-events:none;background:#2c2632;color:#f5eff6;border:1px solid #806a82;line-height:1.5;text-align:center}
#order-message,#work-message{display:none}
.selection-bar{gap:8px;padding:8px 12px;margin-top:12px;flex-wrap:wrap}
.selection-bar .copies-field{display:flex;align-items:center;gap:8px}.selection-bar select{margin:0;width:64px}
.article-actions{align-items:center;gap:3px}.article-actions .article-copies{width:58px;min-width:58px;padding:8px;font-size:14px}
.scan-sources{max-width:840px;margin:auto}.kiosk-shell .scan-result{padding:12px 18px}.scan-breakdown{margin:0}.kiosk-shell .scan-source.has-results{border-color:#4b4051;border-radius:12px}
.order-sidebar{padding:8px;min-height:320px}.order-nav-group{border-bottom:1px solid var(--line);padding:6px 0}
.order-nav-section,.order-nav-category{display:block;text-align:left;width:100%;min-height:46px;padding:10px 12px;border-radius:6px}
.order-nav-section{font-weight:700}.order-nav-section[aria-expanded=true]{color:#e9b5d4}.order-nav-category{padding-left:24px;font-size:14px;color:var(--muted)}.order-nav-category.selected{background:#422e40;color:#f4eaf1}
#order-drawer{margin:0 auto 0 0;inset:0 auto 0 0;width:min(340px,90vw);height:100dvh;max-height:100dvh;border-radius:0 14px 14px 0;padding:18px;overflow:auto}
.order-master-group{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin-top:12px}.order-master-group> .order-admin-row{font-weight:700}.order-master-group details{margin:6px 0 6px 12px}.order-admin-row>span{flex:1}.order-admin-row small{display:block;font-weight:400}.order-admin-row img{width:38px;height:38px;object-fit:contain}
@media(min-width:951px){.order-toolbar{padding-left:230px}.order-sidebar{display:block}}
@media(max-width:950px){.order-sidebar{display:none}.order-grid{gap:10px}.order-toolbar{position:sticky;top:0;z-index:3;padding:8px 0;background:#1b1923}}

/* Shared admin navigation and understated order states. */
.order-tabs{display:flex;gap:8px;margin:0 0 20px;align-items:stretch}
.order-tabs .button{min-width:140px;min-height:48px;flex:0 1 200px}
.order-tabs .active{border-color:#b5769b;background:rgba(181,118,155,.15)}
.order-history-card.status-open{border-color:rgba(222,159,75,.5);background:rgba(222,159,75,.025)}
.order-history-card.status-completed{border-color:rgba(108,170,126,.5);background:rgba(108,170,126,.025)}
.order-sort-row{cursor:grab;gap:8px}.order-sort-row:active{cursor:grabbing}
.order-drag-handle{color:var(--muted);padding:8px;user-select:none}
.order-sort-row>span:not(.order-drag-handle){flex:1;min-width:0}
.order-sort-row>.order-drag-handle{flex:0 0 24px}
