:root{--ink:#29232c;--muted:#77717b;--line:#e8e2e7;--paper:#f6f3f1;--white:#fff;--plum:#4b294f;--plum2:#754268;--coral:#e87767;--green:#3f8b69;--blue:#4579a2;--orange:#c18132;--shadow:0 12px 34px rgba(45,31,48,.09)}
*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:16px;min-height:100vh}button,input,select{font:inherit}button,a{transition:.18s ease}.hidden{display:none!important}button{cursor:pointer}.modal-open{overflow:hidden}.kiosk-eyebrow{font-size:11px;letter-spacing:.14em;font-weight:800;color:#8b7c8a}
.kiosk-header{position:sticky;top:0;z-index:20;height:86px;display:flex;align-items:center;gap:24px;padding:0 28px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.kiosk-brand{display:flex;align-items:center;gap:11px}.kiosk-brand>span,.kiosk-logo{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;color:#fff;background:linear-gradient(145deg,var(--plum),#8a547e);font:800 27px Georgia,serif;box-shadow:0 5px 16px rgba(75,41,79,.22)}.kiosk-brand b,.kiosk-brand small{display:block}.kiosk-brand b{font:800 20px Georgia,serif;color:var(--plum)}.kiosk-brand small{font-size:9px;letter-spacing:.16em;color:var(--muted);margin-top:3px}.kiosk-clock{margin-left:20px}.kiosk-clock strong,.kiosk-clock span{display:block}.kiosk-clock strong{font-size:19px}.kiosk-clock span{font-size:11px;color:var(--muted);margin-top:2px}.kiosk-session{margin-left:auto;display:flex;align-items:center;gap:10px}.kiosk-session>strong{background:#f1e9f0;color:var(--plum);padding:10px 14px;border-radius:999px}.kiosk-session button,.kiosk-session a{min-height:44px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 13px;color:var(--plum);font-weight:750;text-decoration:none}.kiosk-session button:disabled{opacity:.55}.kiosk-session form{margin:0}.kiosk-live{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.kiosk-live i{width:10px;height:10px;border-radius:50%;background:#4eb77d;box-shadow:0 0 0 4px #e1f4e9}.kiosk-live.running i{background:#d29a43;box-shadow:0 0 0 4px #fbf0db;animation:pulse 1.1s infinite}.kiosk-live.error i{background:#c05858;box-shadow:0 0 0 4px #f7e4e4}@keyframes pulse{50%{opacity:.35}}
.kiosk-main{padding:26px 30px 48px;max-width:1600px;margin:0 auto}.kiosk-welcome{position:relative;overflow:hidden;display:flex;align-items:center;min-height:150px;padding:28px 36px;border-radius:22px;background:linear-gradient(118deg,var(--plum),var(--plum2));color:#fff;box-shadow:var(--shadow)}.kiosk-welcome .kiosk-eyebrow{color:#e4d4e2}.kiosk-welcome h1{font:800 34px Georgia,serif;margin:7px 0}.kiosk-welcome p{margin:0;color:#ddcfdb;font-size:12px}.kiosk-motto{margin-left:auto;border:1px solid rgba(255,255,255,.23);border-radius:50%;width:104px;height:104px;display:grid;place-items:center;text-align:center;font:800 18px Georgia,serif;transform:rotate(-5deg);box-shadow:inset 0 0 0 7px rgba(255,255,255,.04)}
.kiosk-metrics{display:grid;grid-template-columns:repeat(6,minmax(145px,1fr));gap:13px;margin:17px 0}.kiosk-metrics>button{min-height:150px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:17px;padding:16px;box-shadow:0 5px 20px rgba(45,31,48,.035)}.kiosk-metrics>button:hover,.kiosk-metrics>button:focus-visible{transform:translateY(-2px);border-color:#cbb8ca;outline:none}.metric-symbol{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;font-size:18px}.metric-symbol.purple{background:#eee3ef;color:var(--plum)}.metric-symbol.blue{background:#e2eef5;color:#34657f}.metric-symbol.green{background:#e1f3e9;color:#347859}.metric-symbol.orange{background:#fff0dc;color:#98651f}.metric-symbol.coral{background:#fbe6e1;color:#a04d41}.metric-symbol.mint{background:#e1f2ee;color:#34746c}.kiosk-metrics small,.kiosk-metrics strong,.kiosk-metrics i{display:block}.kiosk-metrics small{color:var(--muted);margin-top:13px;font-size:11px}.kiosk-metrics strong{font:800 29px Georgia,serif;margin:4px 0}.kiosk-metrics i{font-style:normal;color:var(--plum);font-size:9px;font-weight:750}
.kiosk-tabs{display:inline-flex;background:#eae4e8;padding:5px;border-radius:13px;margin:6px 0 17px}.kiosk-tabs button{min-height:48px;border:0;background:transparent;border-radius:10px;padding:10px 25px;color:var(--muted);font-weight:800}.kiosk-tabs button.active{background:#fff;color:var(--plum);box-shadow:0 3px 10px rgba(45,31,48,.08)}.kiosk-pane{display:none}.kiosk-pane.active{display:block}.kiosk-pane-heading{display:flex;align-items:center;gap:18px;margin:7px 0 16px}.kiosk-pane-heading h2{font:800 26px Georgia,serif;margin:4px 0 0}.kiosk-filter-row{display:flex;gap:7px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.kiosk-filter-row button{min-height:44px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 15px;color:var(--muted);font-weight:750}.kiosk-filter-row button.active{background:var(--plum);color:#fff;border-color:var(--plum)}.kiosk-search{margin-left:auto;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 14px;color:#a39ba3}.kiosk-search input{width:280px;min-height:48px;border:0;outline:none;background:transparent}.kiosk-empty{padding:50px;text-align:center;border:1px dashed #d4cbd2;border-radius:15px;color:var(--muted);background:#fff}
.kiosk-job-grid{display:grid;grid-template-columns:repeat(2,minmax(340px,1fr));gap:13px}.kiosk-job-card{position:relative;min-height:154px;display:grid;grid-template-columns:112px minmax(0,1fr) 18px;gap:15px;align-items:center;text-align:left;background:#fff;border:1px solid var(--line);border-left:5px solid #826c86;border-radius:16px;padding:15px;box-shadow:0 4px 17px rgba(45,31,48,.04)}.kiosk-job-card:hover,.kiosk-job-card:focus-visible{transform:translateY(-2px);border-color:#bfa8bd;outline:none}.kiosk-job-card.status-needs_review{border-left-color:#d49a3f;background:#fffcf4}.kiosk-job-card.status-in_production{border-left-color:var(--blue)}.kiosk-job-card.status-quality_check{border-left-color:#a66b92}.kiosk-job-card.status-ready_to_pack{border-left-color:var(--green)}.kiosk-job-card.status-blocked{border-left-color:#b95757;background:#fffafa}.kiosk-job-image{display:grid;place-items:center;width:112px;height:112px;border-radius:13px;background:#f1ecef;overflow:hidden;color:var(--plum);font-size:32px}.kiosk-job-image img{width:100%;height:100%;object-fit:cover}.kiosk-job-copy,.kiosk-job-copy>*{min-width:0}.kiosk-job-top,.kiosk-job-bottom{display:flex;align-items:center;gap:9px}.kiosk-job-top>b{font-size:10px;letter-spacing:.05em;color:var(--plum)}.kiosk-status{margin-left:auto;border-radius:999px;padding:5px 8px;background:#eee9ed;color:#665d67;font-size:8px;font-style:normal;font-weight:850;white-space:nowrap}.kiosk-status.needs_review{background:#fff0c9;color:#805e16}.kiosk-status.in_production{background:#e1edf5;color:#376681}.kiosk-status.quality_check{background:#f0e2eb;color:#7c4d6b}.kiosk-status.ready_to_pack{background:#e2f4ea;color:#347859}.kiosk-status.blocked{background:#f7e4e4;color:#945052}.kiosk-job-copy>strong{display:block;font-size:15px;line-height:1.3;margin:11px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kiosk-job-copy>small{display:block;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kiosk-job-progress{display:block;height:7px;background:#eee8ec;border-radius:999px;margin:11px 0 7px;overflow:hidden}.kiosk-job-progress i{display:block;height:100%;background:#765275;border-radius:inherit}.kiosk-job-bottom b{font-size:10px}.kiosk-job-bottom small{margin-left:auto;font-size:9px;color:var(--muted)}.overdue{color:#af4040!important}.kiosk-card-arrow{font-size:30px;color:#b9aab7}
.kiosk-inventory-grid{display:grid;grid-template-columns:repeat(3,minmax(270px,1fr));gap:13px}.kiosk-inventory-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 4px 17px rgba(45,31,48,.035)}.kiosk-inventory-card.low{border-color:#e4bd83;background:#fffcf7}.kiosk-inventory-title{display:flex;align-items:center;gap:11px}.kiosk-inventory-title>span{width:55px;height:55px;display:grid;place-items:center;border-radius:11px;background:#f0ebee;overflow:hidden;color:var(--plum);font-size:22px}.kiosk-inventory-title img{width:100%;height:100%;object-fit:cover}.kiosk-inventory-title div{min-width:0}.kiosk-inventory-title strong,.kiosk-inventory-title small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kiosk-inventory-title strong{font-size:13px}.kiosk-inventory-title small{font-size:9px;color:var(--muted);margin-top:4px}.kiosk-inventory-title>b{margin-left:auto;background:#fff0dc;color:#98651f;border-radius:999px;padding:5px 8px;font-size:8px}.kiosk-stock-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:15px 0}.kiosk-stock-numbers>div{background:#faf7f9;border-radius:10px;padding:10px}.kiosk-stock-numbers span,.kiosk-stock-numbers strong{display:block}.kiosk-stock-numbers span{font-size:8px;color:var(--muted)}.kiosk-stock-numbers strong{font:800 21px Georgia,serif;margin-top:4px}.kiosk-capacity{display:flex;gap:8px;flex-wrap:wrap}.kiosk-capacity span{background:#f0f7f5;color:#4c6d68;border-radius:999px;padding:6px 8px;font-size:8px}
.kiosk-stats-layout{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.kiosk-stat-panel{background:#fff;border:1px solid var(--line);border-radius:17px;padding:22px}.kiosk-stat-panel span,.kiosk-stat-panel strong,.kiosk-stat-panel small{display:block}.kiosk-stat-panel span{color:var(--muted);font-size:11px}.kiosk-stat-panel strong{font:800 31px Georgia,serif;margin:8px 0}.kiosk-stat-panel small{color:var(--muted);font-size:9px}.recent-orders-title{font:800 22px Georgia,serif;margin:28px 0 12px}.kiosk-recent-orders{display:flex;flex-direction:column;gap:8px}.kiosk-recent-orders article{display:grid;grid-template-columns:58px minmax(0,1fr) auto 80px;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px}.recent-order-image{width:58px;height:58px;display:grid;place-items:center;border-radius:10px;background:#f0ebee;overflow:hidden;color:var(--plum);font-size:20px}.recent-order-image img{width:100%;height:100%;object-fit:cover}.kiosk-recent-orders div strong,.kiosk-recent-orders div span,.kiosk-recent-orders div small{display:block}.kiosk-recent-orders div span{font-size:11px;margin:3px 0}.kiosk-recent-orders div small{font-size:9px;color:var(--muted)}.kiosk-recent-orders>article>b{font:800 17px Georgia,serif}.kiosk-recent-orders em{font-style:normal;font-size:9px;font-weight:800;text-align:center;border-radius:999px;padding:6px;background:#fff0dc;color:#89601f}.kiosk-recent-orders em.shipped{background:#e2f4ea;color:#347859}.kiosk-recent-orders em.canceled{background:#f7e4e4;color:#945052}
.kiosk-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px}.kiosk-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(35,24,36,.64);backdrop-filter:blur(4px)}.kiosk-modal-card{position:relative;width:min(760px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;padding:27px;box-shadow:0 25px 80px rgba(26,16,27,.3)}.kiosk-modal-close{position:absolute;z-index:2;right:16px;top:16px;width:48px;height:48px;border:0;border-radius:50%;background:#f1ecef;color:var(--plum);font-size:28px}.kiosk-modal-hero{display:flex;align-items:center;gap:18px;padding-right:50px}.kiosk-modal-hero>span{width:120px;height:120px;display:grid;place-items:center;flex:0 0 auto;border-radius:16px;background:#f0ebee;overflow:hidden;color:var(--plum);font-size:38px}.kiosk-modal-hero img{width:100%;height:100%;object-fit:cover}.kiosk-modal-hero small,.kiosk-modal-hero h2,.kiosk-modal-hero p{display:block}.kiosk-modal-hero small{font-size:10px;font-weight:800;color:var(--plum)}.kiosk-modal-hero h2{font:800 27px Georgia,serif;margin:7px 0}.kiosk-modal-hero p{margin:0;color:var(--muted)}.kiosk-job-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:20px 0}.kiosk-job-facts>div{border:1px solid var(--line);border-radius:11px;padding:13px;background:#faf8f9}.kiosk-job-facts span,.kiosk-job-facts strong{display:block}.kiosk-job-facts span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.kiosk-job-facts strong{font-size:12px;margin-top:5px}.kiosk-personalization{background:#fff8e8;border:1px solid #ecd8a9;border-radius:11px;padding:14px;margin:12px 0}.kiosk-personalization span,.kiosk-personalization strong{display:block}.kiosk-personalization span{font-size:9px;color:#806624;text-transform:uppercase}.kiosk-personalization strong{margin-top:6px}.kiosk-personalization.danger{background:#fbeaea;border-color:#edc5c5}.kiosk-action-area{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}.kiosk-action-area>button{min-height:72px;border:0;border-radius:13px;padding:13px;color:#fff;font-size:15px;font-weight:850}.kiosk-action-area>button:disabled{opacity:.5}.action-start{background:var(--blue)}.action-quality{background:#8c5d81}.action-produced{background:#3d8074}.action-packed{background:var(--green)}.kiosk-action-note{grid-column:1/-1;padding:16px;border-radius:12px;background:#f4f0f3}.kiosk-action-note strong,.kiosk-action-note span{display:block}.kiosk-action-note span{font-size:11px;color:var(--muted);margin-top:5px}.kiosk-action-note.warning{background:#fff6df;color:#76571c}
.kiosk-toast{position:fixed;z-index:100;left:50%;top:18px;transform:translate(-50%,-90px);opacity:0;background:#294b3d;color:#fff;border-radius:999px;padding:13px 20px;font-weight:750;box-shadow:var(--shadow);transition:.25s}.kiosk-toast.show{transform:translate(-50%,0);opacity:1}.kiosk-toast.error{background:#8a3943}
.kiosk-login-body{display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 10%,#f0e5ee,transparent 35%),var(--paper)}.kiosk-login-card{width:min(440px,96vw);background:#fff;border:1px solid var(--line);border-radius:24px;padding:36px;box-shadow:var(--shadow);text-align:center}.kiosk-login-card .kiosk-logo{margin:0 auto 20px}.kiosk-login-card h1{font:800 34px Georgia,serif;margin:7px 0}.kiosk-login-card>p{color:var(--muted);margin:0 0 24px}.kiosk-login-card form{text-align:left}.kiosk-login-card label{display:block;font-size:11px;font-weight:800;color:var(--muted);margin:14px 0}.kiosk-login-card select,.kiosk-login-card input{display:block;width:100%;height:58px;margin-top:7px;border:1px solid #d8d0d6;border-radius:12px;padding:0 14px;outline:none;background:#fff;font-size:18px}.kiosk-login-card input{text-align:center;letter-spacing:.35em;font-size:24px}.kiosk-primary{width:100%;min-height:62px;border:0;border-radius:13px;background:var(--plum);color:#fff;font-weight:850;font-size:16px;margin-top:9px}.kiosk-alert{background:#fff1e5;border:1px solid #e8c9aa;color:#774a2e;border-radius:11px;padding:13px;margin:18px 0;text-align:left;font-size:12px;line-height:1.5}.admin-login-link{display:inline-block;color:var(--plum);font-weight:750;font-size:11px;margin-top:22px;text-decoration:none}
@media(max-width:1150px){.kiosk-metrics{grid-template-columns:repeat(3,1fr)}.kiosk-inventory-grid{grid-template-columns:repeat(2,1fr)}.kiosk-session .kiosk-live{display:none}}
@media(max-width:850px){.kiosk-header{padding:0 15px;height:74px}.kiosk-clock{display:none}.kiosk-session{gap:5px}.kiosk-session>strong{display:none}.kiosk-session button,.kiosk-session a{min-height:42px;padding:8px 10px;font-size:10px}.kiosk-main{padding:16px}.kiosk-welcome{min-height:128px;padding:22px}.kiosk-welcome h1{font-size:27px}.kiosk-motto{width:84px;height:84px;font-size:14px}.kiosk-job-grid{grid-template-columns:1fr}.kiosk-stats-layout{grid-template-columns:repeat(2,1fr)}.kiosk-pane-heading{align-items:flex-start;flex-direction:column}.kiosk-filter-row,.kiosk-search{margin-left:0}.kiosk-filter-row{justify-content:flex-start}.kiosk-search{width:100%}.kiosk-search input{width:100%}}
@media(max-width:600px){.kiosk-brand div{display:none}.kiosk-session a{display:none}.kiosk-metrics{grid-template-columns:repeat(2,1fr)}.kiosk-metrics>button{min-height:135px}.kiosk-tabs{display:flex;width:100%}.kiosk-tabs button{flex:1;padding:8px}.kiosk-job-card{grid-template-columns:82px minmax(0,1fr) 12px;padding:11px}.kiosk-job-image{width:82px;height:82px}.kiosk-inventory-grid{grid-template-columns:1fr}.kiosk-stats-layout{grid-template-columns:1fr 1fr}.kiosk-recent-orders article{grid-template-columns:48px minmax(0,1fr) auto}.kiosk-recent-orders em{display:none}.recent-order-image{width:48px;height:48px}.kiosk-modal-card{padding:20px}.kiosk-modal-hero>span{width:85px;height:85px}.kiosk-modal-hero h2{font-size:21px}.kiosk-job-facts{grid-template-columns:1fr}.kiosk-action-area{grid-template-columns:1fr}.kiosk-motto{display:none}}

/* Packing station */
.kiosk-pane-sub{color:var(--muted);font-size:11px;line-height:1.45;margin:5px 0 0}.kiosk-job-card.status-packed{border-left-color:#356f83;background:#f8fcfd}.kiosk-status.packed{background:#dfeef3;color:#2f6577}.packing-progress{display:block;height:8px;background:#e8edf0;border-radius:999px;margin:11px 0 7px;overflow:hidden}.packing-progress i{display:block;height:100%;background:#3b7b8e;border-radius:inherit}.packing-checklist-form{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.packing-checklist-heading{display:flex;align-items:center;gap:15px;margin-bottom:12px}.packing-checklist-heading h3{font:800 21px Georgia,serif;margin:4px 0 0}.packing-checklist-heading>small{margin-left:auto;max-width:250px;text-align:right;color:var(--muted);font-size:9px}.packing-checklist-form>label:not(.packing-notes){display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:12px;padding:13px;margin:8px 0;background:#fff;cursor:pointer}.packing-checklist-form input[type="checkbox"]{appearance:none;display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:2px solid #cfc4cc;border-radius:10px;background:#fff}.packing-checklist-form input[type="checkbox"]:checked{background:var(--green);border-color:var(--green)}.packing-checklist-form input[type="checkbox"]:checked:after{content:"✓";color:#fff;font-size:20px;font-weight:900}.packing-checklist-form label>span strong,.packing-checklist-form label>span small{display:block}.packing-checklist-form label>span strong{font-size:12px}.packing-checklist-form label>span small{color:var(--muted);font-size:9px;margin-top:4px;line-height:1.4}.packing-notes{display:block;margin-top:14px;color:var(--muted);font-size:10px;font-weight:800}.packing-notes textarea{display:block;width:100%;margin-top:6px;border:1px solid #d8d0d6;border-radius:11px;padding:11px;resize:vertical;outline:none;font:inherit}.packing-form-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:9px;margin-top:14px}.packing-form-actions button{min-height:62px;border:0;border-radius:12px;font-weight:850}.packing-save{background:#ede8ec;color:var(--plum)}.packing-finish{background:var(--green);color:#fff}.packing-form-actions button:disabled{opacity:.5}.packing-complete-card{display:flex;align-items:center;gap:14px;background:#e8f5ee;border:1px solid #cce8d8;border-radius:13px;padding:17px;margin-top:20px}.packing-complete-card>span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--green);color:#fff;font-size:24px}.packing-complete-card strong,.packing-complete-card small{display:block}.packing-complete-card small{color:#4c7563;font-size:10px;margin-top:4px}.packing-complete-card p{margin:8px 0 0;font-size:10px;color:var(--muted)}.kiosk-recent-orders em.packed{background:#dfeef3;color:#2f6577}
@media(max-width:600px){.packing-checklist-heading{align-items:flex-start;flex-direction:column}.packing-checklist-heading>small{margin-left:0;text-align:left}.packing-form-actions{grid-template-columns:1fr}.kiosk-tabs{overflow-x:auto}.kiosk-tabs button{white-space:nowrap}}

/* Version 10 · order-level fulfillment */
.kiosk-fulfillment-pulse{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.kiosk-fulfillment-pulse>div{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px}.kiosk-fulfillment-pulse span,.kiosk-fulfillment-pulse strong{display:block}.kiosk-fulfillment-pulse span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.kiosk-fulfillment-pulse strong{font:800 24px Georgia,serif;margin-top:5px}.kiosk-fulfillment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kiosk-fulfillment-card{display:grid;grid-template-columns:95px minmax(0,1fr) 16px;gap:13px;align-items:center;border:1px solid var(--line);border-left:6px solid #8b6a89;border-radius:16px;background:#fff;padding:13px;text-align:left;box-shadow:0 5px 18px rgba(45,31,48,.04)}.kiosk-fulfillment-card:hover,.kiosk-fulfillment-card:focus-visible{transform:translateY(-2px);box-shadow:0 12px 28px rgba(45,31,48,.1);outline:none}.kiosk-fulfillment-card.stage-ready_to_pack{border-left-color:#3d8168}.kiosk-fulfillment-card.stage-partially_packed{border-left-color:#b17c2b}.kiosk-fulfillment-card.stage-packed{border-left-color:#3a7488}.kiosk-fulfillment-card.stage-needs_review,.kiosk-fulfillment-card.stage-blocked,.kiosk-fulfillment-card.stage-shipped_incomplete{border-left-color:#ad4652}.kiosk-fulfillment-card.attention{background:linear-gradient(90deg,#fff8f5,#fff 35%)}.kiosk-fulfillment-image{display:grid;place-items:center;width:95px;height:95px;border-radius:13px;background:#f0ebee;color:var(--plum);font-size:27px;overflow:hidden}.kiosk-fulfillment-image img{width:100%;height:100%;object-fit:cover}.kiosk-fulfillment-copy{min-width:0}.kiosk-fulfillment-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.kiosk-fulfillment-head>b{font-size:10px;color:var(--plum)}.kiosk-fulfillment-stage{border-radius:999px;padding:6px 8px;background:#eee7ef;color:#654968;font-size:8px;font-style:normal;font-weight:850;white-space:nowrap}.kiosk-fulfillment-stage.ready_to_pack{background:#e1f3ea;color:#34745d}.kiosk-fulfillment-stage.partially_packed{background:#fff0d5;color:#805b1e}.kiosk-fulfillment-stage.packed{background:#dfedf2;color:#2f6577}.kiosk-fulfillment-stage.needs_review,.kiosk-fulfillment-stage.blocked,.kiosk-fulfillment-stage.shipped_incomplete{background:#f7e1e3;color:#8f414a}.kiosk-fulfillment-copy>strong,.kiosk-fulfillment-copy>small{display:block}.kiosk-fulfillment-copy>strong{font-size:14px;margin:8px 0 3px}.kiosk-fulfillment-copy>small{color:var(--muted);font-size:9px}.kiosk-fulfillment-progress{display:block;height:7px;background:#ebe6e9;border-radius:999px;overflow:hidden;margin:10px 0 7px}.kiosk-fulfillment-progress i{display:block;height:100%;background:linear-gradient(90deg,#775579,#438773);border-radius:inherit}.kiosk-fulfillment-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.kiosk-fulfillment-bottom b{font-size:9px}.kiosk-fulfillment-bottom small{font-size:8px;color:var(--muted)}.kiosk-order-exception{display:inline-block;border-radius:999px;padding:5px 8px;margin-top:8px;background:#f4e8e8;color:#8c4149;font-size:8px;font-weight:850}.kiosk-order-exception.warning{background:#fff0d4;color:#805b1e}.kiosk-order-exception.info{background:#e0edf1;color:#2f6577}.kiosk-next-action{display:flex;align-items:center;gap:7px;margin-top:8px;padding:8px 9px;border-radius:9px;background:#f6f2f5}.kiosk-next-action small{font-size:7px;color:var(--muted);text-transform:uppercase}.kiosk-next-action b{font-size:8px}.kiosk-order-modal-head{display:flex;gap:16px;align-items:flex-start;padding-right:50px}.kiosk-order-modal-head>div{min-width:0;flex:1}.kiosk-order-modal-head h2{font:800 27px Georgia,serif;margin:6px 0}.kiosk-order-modal-head p{color:var(--muted);margin:0}.kiosk-fulfillment-exceptions{display:grid;gap:7px}.kiosk-fulfillment-exception{border:1px solid;border-radius:11px;padding:12px}.kiosk-fulfillment-exception strong,.kiosk-fulfillment-exception span{display:block}.kiosk-fulfillment-exception strong{font-size:10px}.kiosk-fulfillment-exception span{font-size:9px;margin-top:4px}.kiosk-fulfillment-exception.danger{background:#fff0f1;border-color:#edc6c9;color:#8f414a}.kiosk-fulfillment-exception.warning{background:#fff8e6;border-color:#e8d3a0;color:#765719}.kiosk-fulfillment-exception.info{background:#edf6f9;border-color:#c9e0e7;color:#315f6e}.kiosk-order-items{margin:19px 0}.kiosk-order-items>button{display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;align-items:center;gap:9px;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:13px 4px;text-align:left}.kiosk-order-items>button:hover{background:#faf6f9}.kiosk-status-dot{width:9px;height:9px;border-radius:50%;background:#826a87}.kiosk-order-items span strong,.kiosk-order-items span small{display:block}.kiosk-order-items span strong{font-size:12px}.kiosk-order-items span small{color:var(--muted);font-size:9px;margin-top:3px}.kiosk-order-items>button>b{font-size:10px}.kiosk-order-items>button>em{font-style:normal;font-size:8px;color:var(--muted)}.kiosk-order-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:13px 0}.kiosk-order-actions button{min-height:58px;border:0;border-radius:12px;background:var(--plum);color:#fff;font-weight:850}.kiosk-order-actions button:first-child{background:#3d8074}.kiosk-order-actions button:disabled{opacity:.5}.kiosk-order-timeline{border-top:1px solid var(--line);padding-top:17px;margin-top:22px}.kiosk-order-timeline>div{display:grid;grid-template-columns:10px minmax(0,1fr);gap:9px;padding:9px 2px}.kiosk-order-timeline>div>i{width:8px;height:8px;border-radius:50%;background:#846987;margin-top:4px}.kiosk-order-timeline strong,.kiosk-order-timeline small{display:block}.kiosk-order-timeline strong{font-size:10px}.kiosk-order-timeline small{font-size:8px;color:var(--muted);margin-top:3px}.kiosk-order-timeline p{font-size:9px;color:var(--muted);margin:4px 0 0}
@media(max-width:900px){.kiosk-fulfillment-grid{grid-template-columns:1fr}}
@media(max-width:600px){.kiosk-fulfillment-pulse{grid-template-columns:repeat(3,1fr)}.kiosk-fulfillment-card{grid-template-columns:72px minmax(0,1fr) 12px}.kiosk-fulfillment-image{width:72px;height:72px}.kiosk-fulfillment-head{align-items:flex-start;flex-direction:column}.kiosk-fulfillment-bottom{align-items:flex-start;flex-direction:column}.kiosk-order-modal-head{flex-direction:column}.kiosk-order-items>button{grid-template-columns:9px minmax(0,1fr) auto}.kiosk-order-items>button>em{grid-column:2}.kiosk-order-actions{grid-template-columns:1fr}}

/* Version 11 · view-only material planning for the Shop Floor */
.kiosk-material-grid{display:grid;grid-template-columns:repeat(3,minmax(270px,1fr));gap:13px}.kiosk-material-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 4px 17px rgba(45,31,48,.035)}.kiosk-material-card.low{border-color:#e4bd83;background:#fffcf7}.kiosk-material-card.shortage{border-color:#e1a8ad;background:#fff7f7}.kiosk-material-title{display:flex;align-items:center;gap:11px}.kiosk-material-title>span{width:55px;height:55px;display:grid;place-items:center;border-radius:11px;background:#eee6ed;color:var(--plum);font-size:25px}.kiosk-material-title>div{min-width:0}.kiosk-material-title strong,.kiosk-material-title small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kiosk-material-title strong{font-size:13px}.kiosk-material-title small{font-size:9px;color:var(--muted);margin-top:4px}.kiosk-material-title>b{margin-left:auto;background:#fff0dc;color:#98651f;border-radius:999px;padding:5px 8px;font-size:8px}.kiosk-material-card.shortage .kiosk-material-title>b{background:#f7e1e3;color:#91434c}.kiosk-stock-numbers small{display:block;color:var(--muted);font-size:8px;margin-top:2px}.kiosk-material-products{border-top:1px solid var(--line);padding-top:10px;margin:12px 0 0;color:var(--muted);font-size:9px;line-height:1.5}
@media(max-width:1150px){.kiosk-material-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.kiosk-material-grid{grid-template-columns:1fr}}

/* Version 12 · live machines and production schedule */
.kiosk-metrics{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.kiosk-machine-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:13px;margin-bottom:28px}.kiosk-machine-card{border:1px solid var(--line);border-top:5px solid #837183;border-radius:17px;background:#fff;padding:16px;box-shadow:0 5px 20px rgba(45,31,48,.04)}.kiosk-machine-card.running{border-top-color:var(--green);background:linear-gradient(180deg,#f2fbf6,#fff 42%)}.kiosk-machine-card.maintenance,.kiosk-machine-card.offline{border-top-color:#a25a5d;background:#fbf8f8}.kiosk-machine-head{display:flex;align-items:center;gap:10px}.kiosk-machine-head>span{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:#eee8ed;color:var(--plum);font-size:20px}.kiosk-machine-card.running .kiosk-machine-head>span{background:#dff3e8;color:#317451}.kiosk-machine-head>div{min-width:0;flex:1}.kiosk-machine-head strong,.kiosk-machine-head small{display:block}.kiosk-machine-head strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kiosk-machine-head small{font-size:8px;color:var(--muted);margin-top:4px;text-transform:capitalize}.kiosk-machine-head em{border-radius:999px;background:#eee9ed;color:#665b66;padding:6px 8px;font-size:8px;font-style:normal;font-weight:850;text-transform:uppercase}.kiosk-machine-card.running .kiosk-machine-head em{background:#dff3e8;color:#317451}.kiosk-machine-current{display:block;width:100%;min-height:112px;margin:15px 0 12px;border:1px solid #cce7d7;border-radius:13px;background:#f1faf5;padding:13px;text-align:left}.kiosk-machine-current small,.kiosk-machine-current strong,.kiosk-machine-current span,.kiosk-machine-current i{display:block}.kiosk-machine-current small{color:#438164;font-size:8px;font-weight:900;letter-spacing:.08em}.kiosk-machine-current strong{margin:7px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kiosk-machine-current span{font-size:9px;color:var(--muted)}.kiosk-machine-current i{margin-top:8px;color:var(--plum);font-size:9px;font-style:normal;font-weight:850}.kiosk-machine-idle{display:grid;place-content:center;min-height:112px;margin:15px 0 12px;border:1px dashed #d8cfd6;border-radius:13px;background:#faf8f9;text-align:center}.kiosk-machine-idle strong,.kiosk-machine-idle span{display:block}.kiosk-machine-idle span{font-size:9px;color:var(--muted);margin-top:5px}.kiosk-machine-foot{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.kiosk-machine-foot span{border-radius:9px;background:#f6f3f5;padding:9px 5px;text-align:center;color:var(--muted);font-size:8px}.kiosk-machine-foot b{display:block;color:var(--ink);font-size:10px;margin-bottom:3px}.kiosk-schedule-heading{display:flex;align-items:end;justify-content:space-between;margin:0 0 12px}.kiosk-schedule-heading h3{font:800 22px Georgia,serif;margin:4px 0 0}.kiosk-schedule-heading>span{color:var(--muted);font-size:10px}.kiosk-schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.kiosk-schedule-card{display:grid;grid-template-columns:1fr auto;gap:6px;border:1px solid var(--line);border-left:6px solid #927692;border-radius:15px;background:#fff;padding:14px;text-align:left}.kiosk-schedule-card.running{border-left-color:var(--green);background:#f7fcf9}.kiosk-schedule-card.scheduled{border-left-color:var(--blue)}.kiosk-schedule-card.paused{border-left-color:var(--orange);background:#fffcf7}.kiosk-schedule-card.risk{box-shadow:inset 0 0 0 2px #e9b8bc}.kiosk-schedule-card>.kiosk-schedule-order{font-size:9px;font-weight:850;color:var(--plum)}.kiosk-schedule-card>em{border-radius:999px;background:#eee8ed;padding:5px 8px;font-size:8px;font-style:normal;font-weight:850;text-transform:uppercase}.kiosk-schedule-card>strong,.kiosk-schedule-card>small{grid-column:1/-1}.kiosk-schedule-card>strong{font-size:14px;margin-top:5px}.kiosk-schedule-card>small{color:var(--muted);font-size:9px}.kiosk-schedule-card>div{grid-column:1/-1;display:flex;justify-content:space-between;border-radius:9px;background:#f5f2f4;padding:9px;font-size:9px}.kiosk-schedule-card>footer{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin-top:3px;font-size:8px;color:var(--muted)}.kiosk-schedule-card>footer i{color:#a03e48;font-style:normal;font-weight:850}.kiosk-schedule-card>footer b{margin-left:auto;color:var(--plum)}.kiosk-run-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;border:1px solid #d5c9d3;border-radius:13px;background:#f8f5f7;padding:12px;margin:12px 0}.kiosk-run-summary.running{background:#eff9f3;border-color:#cce5d6}.kiosk-run-summary>div{border-radius:9px;background:rgba(255,255,255,.72);padding:10px}.kiosk-run-summary span,.kiosk-run-summary strong{display:block}.kiosk-run-summary span{font-size:8px;color:var(--muted);text-transform:uppercase}.kiosk-run-summary strong{font-size:10px;margin-top:4px}.kiosk-run-summary p{grid-column:1/-1;margin:0;border-radius:8px;background:#fff0f0;color:#963d47;padding:9px;font-size:9px;font-weight:800}
@media(max-width:1050px){.kiosk-machine-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.kiosk-machine-grid,.kiosk-schedule-grid{grid-template-columns:1fr}.kiosk-schedule-heading{align-items:flex-start;flex-direction:column;gap:5px}.kiosk-run-summary{grid-template-columns:1fr}.kiosk-run-summary p{grid-column:1}}

/* Version 18 · Raspberry Pi touch Command Center */

/* Version 20 · material staging */
.kiosk-material-pick{display:grid;gap:8px;margin:16px 0;padding:16px;border-radius:16px;background:#f6f1f7}.kiosk-material-pick>div{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:10px;background:white;border-radius:10px}.kiosk-material-pick span{display:grid}.kiosk-material-pick em{font-style:normal;font-weight:900;color:#6b3e70}#kioskRefreshPage{min-width:44px;font-size:20px;padding-left:10px;padding-right:10px}
.kiosk-readonly-note{margin-left:auto;border-radius:999px;background:#eee8ed;color:var(--plum);padding:9px 12px;font-size:9px;font-weight:850}.kiosk-command-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.kiosk-command-action{min-height:142px;display:grid;grid-template-columns:48px minmax(0,1fr) 16px;align-items:center;gap:12px;border:1px solid var(--line);border-left:6px solid #7d6c82;border-radius:17px;background:#fff;padding:17px;text-align:left;box-shadow:0 5px 20px rgba(45,31,48,.04)}.kiosk-command-action:hover,.kiosk-command-action:focus-visible{transform:translateY(-2px);box-shadow:0 12px 28px rgba(45,31,48,.1);outline:none}.kiosk-command-action.high{border-left-color:var(--blue)}.kiosk-command-action.medium{border-left-color:var(--orange)}.kiosk-command-action.danger{border-left-color:#ad4652;background:#fff9f9}.kiosk-command-action.ok{border-left-color:var(--green)}.kiosk-command-action>span{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:#eee8ed;color:var(--plum);font-size:23px}.kiosk-command-action small,.kiosk-command-action strong,.kiosk-command-action i{display:block}.kiosk-command-action small{color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase}.kiosk-command-action strong{font:800 32px Georgia,serif;margin:5px 0}.kiosk-command-action i{color:var(--plum);font-size:9px;font-style:normal;font-weight:750}.kiosk-command-action>b{font-size:27px;color:#b8aab6}.kiosk-command-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:13px;margin-bottom:13px}.kiosk-command-grid>article{border:1px solid var(--line);border-radius:18px;background:#fff;padding:22px;box-shadow:0 5px 20px rgba(45,31,48,.035)}.kiosk-command-grid h3{font:800 23px Georgia,serif;margin:4px 0 15px}.kiosk-command-profit{background:linear-gradient(135deg,#fff,#f0f8f4)!important;border-color:#d0e5da!important}.kiosk-command-profit-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.kiosk-command-profit-metrics>div{border:1px solid #dce7e1;border-radius:12px;background:rgba(255,255,255,.8);padding:14px}.kiosk-command-profit-metrics span,.kiosk-command-profit-metrics strong{display:block}.kiosk-command-profit-metrics span{font-size:8px;color:var(--muted);text-transform:uppercase}.kiosk-command-profit-metrics strong{font:800 20px Georgia,serif;margin-top:6px}.kiosk-command-profit>p{margin:14px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.kiosk-command-list{display:flex;flex-direction:column;gap:7px}.kiosk-command-list>div:not(.kiosk-command-empty){display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;padding:9px;background:#fdfcfc}.kiosk-command-list>div>span{display:grid;place-items:center;width:42px;height:42px;border-radius:9px;background:#eee8ed;color:var(--plum);overflow:hidden}.kiosk-command-list img{width:100%;height:100%;object-fit:cover}.kiosk-command-list p{min-width:0;margin:0}.kiosk-command-list p strong,.kiosk-command-list p small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kiosk-command-list p strong{font-size:10px}.kiosk-command-list p small{color:var(--muted);font-size:8px;margin-top:4px}.kiosk-command-list>div>b{font-size:9px;color:var(--plum);text-align:right}.kiosk-command-empty{display:grid;place-items:center;min-height:100px;border:1px dashed #d8cfd6;border-radius:12px;color:var(--muted);font-size:10px;text-align:center;padding:15px}.kiosk-command-grid.lower{grid-template-columns:1fr 1fr}.kiosk-command-heading h3{margin-bottom:12px}
@media(max-width:1150px){.kiosk-command-actions{grid-template-columns:repeat(2,1fr)}.kiosk-command-grid{grid-template-columns:1fr}.kiosk-command-profit-metrics{grid-template-columns:repeat(2,1fr)}#kioskFullscreen{display:none}}
@media(max-width:650px){.kiosk-command-actions{grid-template-columns:1fr}.kiosk-command-grid.lower{grid-template-columns:1fr}.kiosk-command-action{min-height:112px}.kiosk-readonly-note{margin-left:0}.kiosk-command-profit-metrics{grid-template-columns:1fr 1fr}}

/* Version 13 · filament roll visibility */
.kiosk-material-card.filament{border-top:5px solid #756379;background:linear-gradient(180deg,#faf7fb,#fff 42%)}.kiosk-material-card.filament .kiosk-material-title>span{background:#e8e0e8;color:#5d3a61}.kiosk-filament-gauges{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 12px}.kiosk-filament-gauges span{border-radius:9px;background:#f0eaf0;color:var(--muted);padding:9px 6px;text-align:center;font-size:8px}.kiosk-filament-gauges b{display:block;color:var(--plum);font-size:10px;margin-bottom:3px}

/* Version 30 · scan-first closed-loop execution */
.kiosk-scanner{display:grid;grid-template-columns:54px 1fr auto;gap:9px;align-items:center;margin:0 0 13px;padding:10px;border:2px solid #b9d4d5;border-radius:17px;background:#fff;box-shadow:0 8px 25px rgba(35,75,79,.08)}.kiosk-scanner>span{display:grid;place-items:center;height:50px;border-radius:12px;background:#e2f1f0;color:#28666a;font-size:28px}.kiosk-scanner input{height:50px;border:0;background:#f4f8f8;font-size:16px}.kiosk-scanner button{height:50px;border:0;border-radius:12px;background:#315e67;color:#fff;padding:0 25px;font-weight:850}.kiosk-live-runs{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:13px}.kiosk-live-run{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border:1px solid #cbdcda;border-left:6px solid #3b8172;border-radius:14px;background:#fff;padding:13px}.kiosk-live-run.awaiting_confirmation{border-left-color:#d49332;background:#fffaf0}.kiosk-live-run strong,.kiosk-live-run small{display:block}.kiosk-live-run small{margin-top:4px;color:var(--muted);font-size:9px}.kiosk-live-run div:last-child{display:flex;gap:5px}.kiosk-live-run button{min-height:38px;border:0;border-radius:9px;background:#e3efec;color:#2d6258;padding:7px 10px;font-size:9px;font-weight:850}.kiosk-live-run button.confirm{background:#315e67;color:#fff}@media(max-width:900px){.kiosk-live-runs{grid-template-columns:1fr}.kiosk-scanner{grid-template-columns:45px 1fr}.kiosk-scanner button{grid-column:1/-1}}
