:root{font-family:Inter,"Noto Sans",Arial,sans-serif;color:#172033;background:#f2f5f8;--blue:#1467d8;--orange:#ea6b25}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}.hidden{display:none!important}.login-view{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(440px,100%);padding:32px;background:#fff;border-radius:20px;box-shadow:0 20px 60px #1f293719}.brand{color:var(--blue);font-size:18px;font-weight:800}.login-card h1{margin:12px 0 8px}.login-card p{color:#667085}.login-card label,.cart-panel label{display:grid;gap:7px;margin:16px 0;font-weight:700}.login-card input,select,input[type=search],textarea,#itemNote{width:100%;min-height:50px;padding:10px 13px;border:1px solid #ced5df;border-radius:11px;background:#fff}.primary{min-height:52px;border:0;border-radius:12px;background:var(--blue);color:#fff;font-weight:800;cursor:pointer}.login-card .primary{width:100%}.language,.ghost{border:0;background:transparent;color:var(--blue);font-weight:700;cursor:pointer}.login-card .language{display:block;margin:18px auto 0}.error{min-height:22px;color:#c62828!important}header{height:68px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e5e9ef}header strong{font-size:21px}header .status{margin-left:12px;padding:5px 10px;border-radius:20px;background:#dcfce7;color:#15803d;font-size:12px}.header-actions{display:flex;gap:8px}.dining{padding:12px 18px;display:flex;align-items:end;gap:14px;background:#fff}.dining label{display:grid;gap:5px;min-width:150px;font-size:13px;font-weight:700}.type-tabs{display:flex;gap:8px}.type-tabs button{min-height:50px;padding:0 20px;border:0;border-radius:11px;background:#edf1f5;font-weight:800}.type-tabs button.active{background:var(--blue);color:#fff}.workbench{height:calc(100vh - 146px);display:grid;grid-template-columns:180px minmax(320px,1fr) 340px;gap:12px;padding:12px}.workbench>aside,.products{min-height:0;background:#fff;border-radius:14px}.workbench>aside:first-child{padding:12px}#categories{display:grid;gap:7px;margin-top:12px}#categories button{padding:14px 10px;border:0;border-radius:10px;background:#f3f5f7;text-align:left;font-weight:700}#categories button.active{background:#e8f1ff;color:var(--blue)}.products{padding:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;align-content:start;overflow:auto}.product{min-height:116px;padding:14px;border:1px solid #e4e8ee;border-radius:13px;background:#fff;text-align:left;cursor:pointer}.product strong{display:block;font-size:16px}.product span{display:block;margin-top:10px;color:var(--orange);font-weight:800}.product.sold-out{opacity:.48}.cart-panel{padding:16px;display:flex;flex-direction:column}.cart-panel h2{margin:0 0 10px}.cart{flex:1;overflow:auto}.empty{padding:36px 8px;color:#8992a3;text-align:center}.cart-item{padding:12px 0;border-bottom:1px solid #edf0f4}.cart-line{display:flex;justify-content:space-between;gap:10px;font-weight:700}.extras{margin:6px 0;color:#667085;font-size:13px}.quantity{display:flex;align-items:center;gap:12px;margin-top:8px}.quantity button{width:34px;height:34px;border:0;border-radius:50%;background:#e8f1ff;color:var(--blue);font-weight:900}.cart-total{display:flex;justify-content:space-between;margin:12px 0;font-size:20px}.sync-state{min-height:20px;margin:8px 0 0;color:#667085;font-size:13px}dialog{width:min(520px,calc(100% - 28px));border:0;border-radius:18px;box-shadow:0 30px 90px #0004}dialog::backdrop{background:#0008}.option-group{margin:20px 0}.option-group h3{margin:0 0 9px}.option-list{display:flex;flex-wrap:wrap;gap:8px}.option-list label{padding:10px;border:1px solid #d7dde6;border-radius:9px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.dialog-actions button{padding:0 22px}.toast{position:fixed;z-index:20;left:50%;bottom:28px;max-width:88%;padding:12px 18px;transform:translateX(-50%);border-radius:10px;background:#172033;color:#fff;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1}@media(max-width:900px){.dining{align-items:stretch;flex-wrap:wrap}.workbench{height:auto;min-height:calc(100vh - 180px);grid-template-columns:118px 1fr}.workbench>.cart-panel{grid-column:1/-1;min-height:330px}.products{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}@media(max-width:560px){header{padding:0 10px}.header-actions{gap:0}.dining{padding:10px}.type-tabs{width:100%}.type-tabs button{flex:1;padding:0 8px}.dining label{flex:1;min-width:120px}.workbench{padding:7px;gap:7px;grid-template-columns:94px 1fr}.workbench>aside:first-child{padding:7px}.products{padding:7px;grid-template-columns:1fr}.cart-panel{padding:13px}}
button{min-height:44px!important;touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #1769d247;outline-offset:2px}


/* Terminal UI v5: ordering clarity and touch-first controls. */
.login-card{padding:30px;border:1px solid #e3e8ef;box-shadow:0 18px 50px #1f293714}
.login-card h1{font-size:30px;line-height:1.35}.login-card p{line-height:1.55}
.login-card input{font-size:17px}.login-card .primary{font-size:17px}
.login-card .language{min-height:44px;padding:8px 12px}.error:empty{display:none}
header{min-height:72px;height:auto;gap:14px;flex-wrap:wrap}
.header-actions button{min-height:44px;padding:8px 12px}
.dining{min-height:78px}.type-tabs button{min-height:50px}
.workbench{min-height:0}.workbench>aside,.products{border:1px solid #e4e9f0}
#categories button{min-height:48px;font-size:15px}
.product{min-height:122px}.product strong{font-size:17px}
.cart-panel{min-height:0;overflow:auto}.cart-panel .primary{position:sticky;bottom:0;z-index:2}
.quantity button{width:40px;height:40px}.cart-total{font-size:22px}
@media(max-width:900px){header{padding:10px 14px}.workbench>.cart-panel{min-height:360px}}

.login-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.login-head .language{margin:0;min-height:44px;padding:8px 12px;border-radius:10px;background:#eef5ff;white-space:nowrap}@media(max-width:480px){.login-card{padding:24px}.login-head{align-items:flex-start}.login-head .language{font-size:14px}}
