:root { --primary:#1a73e8; --danger:#c62828; --ok:#2e7d32; --muted:#666; --bg:#f6f7f9; }
* { box-sizing: border-box; }
body { margin:0; font: 16px/1.4 system-ui, sans-serif; background: var(--bg); color:#111; }
.topbar { display:flex; align-items:center; gap:12px; padding:10px 14px; background:#fff; border-bottom:1px solid #ddd; }
.brand { font-weight:700; } .who { margin-left:auto; color:var(--muted); font-size:14px; }
.page { padding:14px; max-width:960px; margin:0 auto; }
.stack { display:flex; flex-direction:column; gap:12px; } .row { display:flex; gap:8px; flex-wrap:wrap; }
label { display:flex; flex-direction:column; gap:4px; font-weight:600; }
input, select { font-size:18px; padding:12px; border:1px solid #bbb; border-radius:8px; min-height:48px; }
.btn { font-size:17px; padding:12px 18px; min-height:48px; border-radius:10px; border:1px solid #bbb; background:#fff; cursor:pointer; }
.btn-primary { background:var(--primary); color:#fff; border-color:var(--primary); }
.btn-danger { background:var(--danger); color:#fff; border-color:var(--danger); }
.btn-ghost { background:transparent; border-color:transparent; }
.btn-lg { width:100%; font-size:20px; min-height:56px; }
.btn[disabled] { opacity:.45; cursor:not-allowed; }
.inline { display:inline; }
.alert { padding:12px; border-radius:8px; } .alert-error { background:#fdecea; color:var(--danger); }
.alert-ok { background:#e8f5e9; color:var(--ok); }
.muted { color:var(--muted); }
.cards { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.card { background:#fff; border:1px solid #ddd; border-radius:12px; }
.card-link { display:block; padding:16px; color:inherit; text-decoration:none; }
.card-title { font-weight:700; font-size:18px; } .card-meta { color:var(--muted); margin-top:4px; }
.badge { display:inline-block; padding:2px 8px; border-radius:999px; font-size:12px; background:#e0e0e0; }
.badge-ready_to_pick { background:#e3f2fd; } .badge-picking { background:#fff3e0; }
.badge-picked, .badge-packed { background:#e8f5e9; } .badge-delivered { background:#c8e6c9; }
.badge-cancelled, .badge-returned { background:#ffcdd2; }
table.orders { width:100%; border-collapse:collapse; background:#fff; }
table.orders th, table.orders td { padding:10px; border-bottom:1px solid #eee; text-align:left; }
tr.has-error td { background:#fff8e1; } tr.has-problem td { background:#fdecea; }
.scan-feedback { text-align:center; padding:10px; font-weight:700; border-radius:8px; margin-top:8px; background:#eee; }
.scan-feedback.ok { background:#c8e6c9; color:var(--ok); } .scan-feedback.bad { background:#ffcdd2; color:var(--danger); }
.checklist-item.done { background:#e8f5e9; text-decoration:line-through; } .checklist-item .count { font-weight:700; margin-right:8px; }
