:root{--bg: #f4ede4;--surface: #ffffff;--surface-2: #faf6ef;--ink: #2a1e14;--muted: #7d6a58;--line: #e6dccb;--accent: #e17b3e;--warn: #b97800;--warn-bg: #fff1cc;--late: #b91c1c;--late-bg: #fde3df;--font-display: "Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--font-body: system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--ink)}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.login-card{background:#fff;border-radius:12px;padding:32px;max-width:360px;width:100%;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;gap:12px}.access-code-input{font-size:24px;letter-spacing:4px;text-align:center;text-transform:uppercase;padding:12px;border-radius:8px;border:1px solid #d8c9b8}.login-card button{font-size:16px;padding:12px;border-radius:8px;border:none;cursor:pointer}.login-card button{background:#e17b3e;color:#fff;font-weight:600}.login-card button:disabled{opacity:.5;cursor:default}.error-text{color:var(--late);font-size:14px}.empty-state{color:var(--muted);font-size:14px}.app-shell{padding:16px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.app-header h1{margin:0;font:800 26px/1.05 var(--font-display)}.app-subtitle{margin:2px 0 0;color:var(--muted);font-size:13px}.header-actions{display:flex;gap:8px}.header-button{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:9px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-weight:600}.header-button:disabled{opacity:.4;cursor:default}.header-button svg{width:20px;height:20px}.toast{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:20;max-width:calc(100vw - 32px);padding:10px 16px;border-radius:10px;background:var(--ink);color:var(--bg);font-size:14px}.board-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:12px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.board-tabs button{min-height:44px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:700;font-size:15px}.board-tabs button[aria-selected=true]{background:var(--ink);color:var(--bg)}.tab-count{margin-left:5px;font-weight:500;opacity:.75}.board-dots{display:flex;justify-content:center;gap:6px;margin-top:10px}.board-dots i{width:7px;height:7px;border-radius:50%;background:var(--line)}.board-dots i.on{background:var(--ink)}.kanban-board{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.kanban-board::-webkit-scrollbar{display:none}.kanban-column{flex:0 0 100%;min-width:0;scroll-snap-align:start;display:flex;flex-direction:column;gap:10px;padding:0 1px}.kanban-column h2{display:none;margin:0;padding:4px 2px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.column-count{font-weight:400}@media(min-width:600px){.app-shell{padding:20px 24px}.board-tabs,.board-dots{display:none}.kanban-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;overflow:visible}.kanban-column{min-height:60vh;padding:10px;border-radius:14px;background:#ffffff73}.kanban-column h2{display:block}}.order-card{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.order-card.flagged{border-color:var(--late)}.out-of-stock-banner{padding:4px;background:var(--late-bg);color:var(--late);font-size:12px;font-weight:700;text-align:center}.order-card-body{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:0 12px;width:100%;padding:12px 14px;border:0;background:transparent;text-align:left}.order-card-body:disabled{opacity:.7;cursor:default}.cup-count{grid-row:span 3;display:grid;justify-items:center;min-width:44px;padding-top:2px}.cup-count b{font:800 30px/1 var(--font-display);color:var(--accent)}.cup-count span{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.drink-line{grid-row:1;grid-column:2;font:700 21px/1.1 var(--font-display);text-transform:uppercase;letter-spacing:.02em}.drink-size{margin-right:.25em;color:var(--accent)}.minute-count{grid-row:1;grid-column:3;padding:3px 7px;border-radius:6px;color:var(--muted);font-size:13px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.minute-count.warn{background:var(--warn-bg);color:var(--warn)}.minute-count.late{background:var(--late-bg);color:var(--late)}.change-list{grid-column:2 / -1;display:grid;gap:2px;margin:6px 0 0;padding:0;list-style:none}.change-list li{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.change-list li:before{content:"+ ";color:var(--accent);font-weight:800}.pickup-names{grid-column:2 / -1;display:grid;gap:1px;margin:8px 0 0;padding:8px 0 0;border-top:1px dashed var(--line);list-style:none;font-weight:600;font-size:15px}.ready-card .order-card-body{grid-template-columns:minmax(0,1fr) auto}.pickup-name{grid-row:1;grid-column:1;min-width:0;margin-bottom:2px;font:800 22px/1.05 var(--font-display);text-transform:uppercase;letter-spacing:.02em}.ready-card .minute-count{grid-column:2}.ready-card .drink-line{grid-row:2;grid-column:1 / -1}.ready-card .change-list{grid-column:1 / -1}.order-card-actions{display:flex;border-top:1px solid var(--line)}.order-card-actions button{flex:1;min-height:48px;padding:8px;border:0;background:var(--surface-2);color:var(--muted);font-size:13px;font-weight:700}.order-card-actions button+button{border-left:1px solid var(--line)}.order-card-actions button.primary-action{flex:1.4;color:var(--accent);font-size:14px}.order-card-actions button:disabled{cursor:default}@media(min-width:600px)and (max-width:1099px){.order-card-body .drink-line{grid-column:2 / -1}.order-card-body .minute-count{grid-row:2;grid-column:2 / -1;justify-self:start;margin-top:4px}.ready-card .pickup-name,.ready-card .minute-count{grid-column:1 / -1}.ready-card .drink-line{grid-row:3;grid-column:1 / -1}.order-card-actions{flex-wrap:wrap}.order-card-actions button.primary-action{flex-basis:100%;border-bottom:1px solid var(--line)}.order-card-actions button.primary-action+button{border-left:0}}.log-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px}.log-filters button{min-height:40px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:14px;font-weight:600}.log-filters button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--bg)}.log-date{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.log-date input{min-height:40px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit}.log-table{width:100%;overflow:hidden;border:1px solid var(--line);border-collapse:collapse;border-radius:12px;background:var(--surface)}.log-table th,.log-table td{padding:10px 12px;border-top:1px solid var(--line);text-align:left;vertical-align:top}.log-table th{border-top:0;background:var(--surface-2);color:var(--muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.log-time{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.log-name{font:800 17px/1.1 var(--font-display);text-transform:uppercase;letter-spacing:.02em}.outcome{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.outcome.collected{color:var(--muted)}.outcome.rejected{color:var(--late)}.outcome.edited{color:var(--warn)}.outcome-detail{display:block;color:var(--muted);font-size:13px;font-weight:500;letter-spacing:0;text-transform:none}@media(max-width:599px){.log-table thead{display:none}.log-table tr{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:10px 12px;border-top:1px solid var(--line)}.log-table tr:first-child{border-top:0}.log-table td{padding:0;border:0}.log-table .log-drink,.log-table .log-outcome{grid-column:2}}.setup-column{display:grid;gap:14px;max-width:640px;margin:0 auto}.setup-column .app-header{margin:0}.setup-steps{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;list-style:none}.setup-step{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.setup-step small{display:block;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.setup-step.current{border:2px solid var(--accent)}.setup-step.done b:after{content:" ✓";color:var(--accent)}.setup-card{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.setup-card h2{margin:0;font:700 20px/1.15 var(--font-display);text-transform:uppercase}.setup-card h3{margin:0;font:700 16px/1.15 var(--font-display);text-transform:uppercase}.setup-hint{margin:4px 0 0;color:var(--muted);font-size:13px;font-weight:500;text-transform:none}.setup-field{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:13px;font-weight:600}.setup-field>input,.money-input input{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:500 16px var(--font-body)}.price-table{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));align-items:center;gap:6px 8px}.price-table-row{display:contents}.price-table-heading{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.06em;text-align:center;text-transform:uppercase}.price-table-heading:first-child{text-align:left}.price-table-drink{min-width:0;font-size:15px;font-weight:600}.money-input{position:relative;display:block;min-width:0}.money-input>span{position:absolute;top:50%;left:9px;transform:translateY(-50%);color:var(--muted);font-size:14px;pointer-events:none}.money-input input{padding-right:6px;padding-left:20px;text-align:right;font-variant-numeric:tabular-nums}.extras-grid{display:grid;gap:10px}.setup-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.setup-actions.start{justify-content:flex-start}.setup-actions button{min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-weight:600}.setup-actions button.primary{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:700}.setup-actions button:disabled{opacity:.45;cursor:default}@media(min-width:600px){.setup-card{padding:20px 24px}.extras-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:10}.modal-card{background:#fff;border-radius:12px;padding:24px;width:100%;max-width:420px;max-height:90vh;overflow-y:auto}.modal-tabs{display:flex;gap:8px;margin:12px 0}.modal-tabs button{flex:1;padding:8px;border-radius:8px;border:1px solid #e6dccb;background:#fff}.modal-tabs button.active{background:#e17b3e;color:#fff;border-color:#e17b3e}.modal-form{display:flex;flex-direction:column;gap:12px}.modal-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#6b5645}.modal-form select,.modal-form textarea{font-size:15px;padding:8px;border-radius:6px;border:1px solid #d8c9b8}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.modal-actions button{padding:10px 16px;border-radius:8px;border:1px solid #d8c9b8;background:#fff}.modal-actions button.primary{background:#e17b3e;border-color:#e17b3e;color:#fff}.modal-actions button.destructive{background:#b91c1c;border-color:#b91c1c;color:#fff}
