:root{--accent: #d33;--accent-dark: #a11;--bg: #f7f7f9;--key: #fff;--key-border: #ddd;--key-hover: #f0f0f0;--active: #1e66f5}.scanner-container{display:grid;grid-template-columns:1.5fr 2.5fr;gap:16px;align-items:stretch;flex:1 1 auto;min-height:0;height:calc(100vh - 80px);padding:16px;box-sizing:border-box}.panel{background:var(--bg);border:1px solid #eee;border-radius:8px;padding:12px;height:100%;min-height:0;display:flex;flex-direction:column;box-sizing:border-box}.queuePanel{display:flex;flex-direction:column;min-height:0;overflow:hidden;height:100%}.queueHeader{display:flex;align-items:center;gap:8px;margin-bottom:8px}.queueHeader input[type=text]{flex:1;padding:10px 12px;border:1px solid #ccc;border-radius:6px}.queueList{display:flex;flex-direction:column;gap:8px;flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px;max-height:none}.queueItem{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:4px 8px;padding:10px 12px;border:1px solid #ddd;border-radius:8px;background:#fff;cursor:pointer}.queueItem.red{border-color:var(--accent);background:#ffe9e9}.queueItem.pending{border-color:#ff9800;background:#fff3e0}.queueItem.success{border-color:#2f9e44;background:#f0fdf4}.queueItem.active{outline:2px solid var(--active)}.queueItem .name{grid-column:1;grid-row:1;font-weight:600}.queueItem .details{grid-column:1;grid-row:2;font-size:12px;color:#666}.queueItem .right{grid-column:2;grid-row:1 / span 2;display:flex;align-items:center;font-size:16px;font-weight:600;color:#000;font-variant-numeric:tabular-nums}.keypadPanel{display:grid;grid-template-columns:110px 1fr;grid-template-rows:auto auto auto auto 1fr;gap:10px;min-height:0;height:100%}.keypadPanel .modeButtons{grid-column:1;grid-row:1 / span 5;display:flex;flex-direction:column;gap:10px;height:100%}.keypadPanel .mealPlanToggle{grid-column:2;grid-row:1;width:100%}.keypadPanel .activeBar{grid-column:2;grid-row:2}.keypadPanel .screen{grid-column:2;grid-row:3}.keypadPanel .nutritionEditorForm{grid-column:2;grid-row:4;margin-bottom:10px}.keypadPanel .keysGrid{grid-column:2;grid-row:5;flex:1}.activeBar{display:flex;align-items:center;justify-content:space-between;gap:8px}.activeName{font-size:24px;font-weight:800;padding:4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modeBtn{padding:10px;border:1px solid #ccc;background:#fff;border-radius:10px;cursor:pointer;font-weight:700;width:100%;font-size:15px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.2}.modeBtn.active{background:#222;color:#fff;border-color:#222}.screen{display:flex;align-items:center;gap:8px}.screen input{flex:1;font-size:42px;padding:8px 10px;border:1px solid #ccc;border-radius:8px;text-align:right}.screen .units{font-size:16px;color:#666}.keysGrid{display:grid;grid-template-columns:repeat(3,1fr) .5fr;grid-auto-rows:minmax(80px,1fr);gap:10px}.key{background:var(--key);border:1px solid var(--key-border);border-radius:10px;font-size:28px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center}.key:hover{background:var(--key-hover)}.key.op{background:#fef3f3;border-color:#f2d1d1}.key.op:hover{background:#fde7e7}.key.unitToggle{grid-column:4;grid-row:1 / span 4;background:#e3f2fd;border-color:#90caf9;font-size:14px;font-weight:600;padding:8px;line-height:1.3}.key.unitToggle:not(:disabled):hover{background:#bbdefb}.key.unitToggle:disabled{opacity:.4;cursor:not-allowed;background:#f5f5f5}.completeBtn{margin-top:4px;padding:24px;font-size:18px;font-weight:700;color:#fff;background:#2f9e44;border:1px solid #2b8a3e;border-radius:10px;cursor:pointer}.completeBtn:hover{background:#2b8a3e}
