:root{--bg:#0f1218;--bg-elevated:#171b24;--bg-card:#1c2230;--border:#ffffff14;--text:#f2f4f8;--muted:#9aa3b5;--accent:#3d8bfd;--mint:#3dd6c6;--danger:#ff5c7a;--amber:#f5b942;--radius:16px;--font:"Segoe UI", "Manrope", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%;font-family:var(--font);background:radial-gradient(1200px 600px at 10% -10%, #3d8bfd2e, transparent 55%), radial-gradient(900px 500px at 100% 0%, #3dd6c61f, transparent 50%), var(--bg);color:var(--text);margin:0}button,input,select{font:inherit}a{color:inherit;text-decoration:none}.app-shell{max-width:960px;margin:0 auto;padding:16px 16px 40px}.client-banner{background:linear-gradient(180deg, #ffffff08, transparent), var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:14px 16px;box-shadow:0 10px 30px #00000040}.client-banner-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.client-name{letter-spacing:-.01em;font-size:1.05rem;font-weight:650}.client-clock{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.95rem}.client-status{color:var(--muted);align-items:center;gap:8px;margin-top:10px;font-size:.85rem;display:inline-flex}.client-status.ok{color:var(--mint)}.client-status.bad{color:var(--danger)}.status-dot{background:var(--muted);border-radius:50%;width:8px;height:8px;animation:1.6s ease-out infinite pulse-dot;box-shadow:0 0 #9aa3b580}.client-status.ok .status-dot{background:var(--mint);box-shadow:0 0 #3dd6c68c}.client-status.bad .status-dot{background:var(--danger);box-shadow:0 0 #ff5c7a8c}@keyframes pulse-dot{0%{opacity:1;transform:scale(1);box-shadow:0 0}70%{opacity:.85;transform:scale(1.15);box-shadow:0 0 0 8px #0000}to{opacity:1;transform:scale(1);box-shadow:0 0 #0000}}.nav-roll{grid-template-columns:1fr;align-items:center;gap:6px;width:100%;margin-bottom:16px;display:grid}.nav-roll.scrollable{grid-template-columns:36px 1fr 36px}.nav-arrow{border:1px solid var(--border);background:var(--bg-elevated);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:10px;place-items:center;padding:0;font-size:1.25rem;line-height:1;display:none}.nav-roll.scrollable .nav-arrow{display:inline-grid}.nav-arrow:disabled{opacity:.35;cursor:default}.nav-roll-track{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.nav-roll-track::-webkit-scrollbar{display:none}.nav-roll-track a,.nav-roll-track .nav-logout{white-space:nowrap;border:1px solid var(--border);background:var(--bg-elevated);color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;box-shadow:none;border-radius:999px;outline:none;flex:none;padding:10px 14px;font-size:.92rem;font-weight:500;line-height:1;transition:background .15s,border-color .15s,color .15s}.nav-roll-track a:focus,.nav-roll-track a:focus-visible,.nav-roll-track .nav-logout:focus,.nav-roll-track .nav-logout:focus-visible{box-shadow:none;color:var(--text);border-color:#3d8bfd8c;outline:none}.nav-roll-track a.active{color:var(--text);background:#3d8bfd2e;border-color:#3d8bfd8c}.nav-roll-track a:active,.nav-roll-track .nav-logout:active{transform:scale(.98)}.section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-head h3{color:var(--text);margin:0;font-size:1rem;font-weight:600}.icon-btn{border:1px solid var(--border);background:var(--bg-elevated);width:36px;height:36px;color:var(--muted);cursor:pointer;border-radius:10px;flex-shrink:0;place-items:center;padding:0;transition:background .15s,color .15s,border-color .15s;display:inline-grid}.icon-btn:hover:not(:disabled){color:var(--text);background:#3d8bfd1f;border-color:#3d8bfd73}.icon-btn:disabled{opacity:.55;cursor:default}.icon-spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.kpi-block{width:100%}.grid{gap:12px;display:grid}.grid-kpi{grid-template-columns:1fr}.card{background:linear-gradient(180deg, #ffffff08, transparent), var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:0 10px 30px #00000040}.card h3{color:var(--muted);margin:0 0 8px;font-size:.85rem;font-weight:500}.kpi{letter-spacing:-.02em;font-size:1.6rem;font-weight:700}.muted{color:var(--muted);font-size:.85rem}.danger{color:var(--danger)}.mint{color:var(--mint)}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 8px}.table th{color:var(--muted);font-weight:500}.filters{flex-wrap:wrap;gap:8px;display:flex}.filters button{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:8px 14px;font-weight:500;transition:background .15s,border-color .15s,color .15s}.filters button.active{color:var(--text);background:#3d8bfd2e;border-color:#3d8bfd8c}.login-wrap{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{width:min(400px,100%)}.login-card h1{margin:0 0 4px;font-size:1.8rem}.field{gap:6px;margin-bottom:12px;display:grid}.field input,.field select{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:12px 14px}.btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3d8bfd,#2f6fe0);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 16px;font-weight:600;transition:filter .15s,transform .1s;display:inline-flex}.btn:hover:not(:disabled){filter:brightness(1.06)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.6;cursor:default}.btn.btn-block{width:100%}.btn.secondary{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text)}.error{color:var(--danger);margin-bottom:12px;font-size:.9rem}.list-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.list-row:last-child{border-bottom:none}.dish-picker{border:1px solid var(--border);background:var(--bg-elevated);border-radius:12px;max-height:220px;margin-bottom:12px;overflow-y:auto}.dish-option{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.dish-option:last-child{border-bottom:none}.dish-option:hover{background:#3d8bfd14}.dish-option.selected{background:#3d8bfd29}.dish-option-name{font-weight:500}.metric-label{color:var(--muted);margin-bottom:4px;font-size:.72rem;line-height:1.2}.check-list{gap:8px;margin-bottom:14px;display:grid}.check-row{border:1px solid var(--border);background:var(--bg-elevated);cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.check-row input{margin-top:3px}.card a{color:var(--accent)}
