*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{color-scheme:dark;--bg: #0f0f0f;--surface: #1a1a1a;--surface-2: #242424;--border: #2e2e2e;--text: #f0f0f0;--text-muted: #888;--radius: 8px;--font: system-ui, -apple-system, sans-serif}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.4;-webkit-font-smoothing:antialiased}.kds-root{display:flex;flex-direction:column;height:100%}.kds-header{display:flex;align-items:center;gap:16px;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.kds-title{font-size:18px;font-weight:700;letter-spacing:.03em;color:var(--text)}.kds-error{font-size:14px;color:#f87171;background:#f871711a;padding:4px 10px;border-radius:4px}.kds-wait{font-size:14px;font-weight:700;color:#f59e0b;background:#f59e0b1a;border:1px solid rgba(245,158,11,.25);padding:3px 10px;border-radius:4px;letter-spacing:.03em}.kds-clock{margin-left:auto;font-size:16px;font-weight:600;color:var(--text-muted);letter-spacing:.04em;font-variant-numeric:tabular-nums}.kds-board{display:grid;grid-template-columns:1fr 1fr;gap:0;flex:1;min-height:0;overflow:hidden}.kds-column{display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--border)}.kds-column:last-child{border-right:none}.kds-column-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--surface);border-bottom:3px solid transparent;flex-shrink:0}.kds-column-title{font-size:20px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.kds-column-count{font-size:22px;font-weight:700;color:var(--text-muted);min-width:28px;text-align:right}.kds-column-body{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.kds-empty{color:var(--text-muted);font-size:15px;text-align:center;margin-top:40px}.order-group{border-left:4px solid transparent;border-radius:var(--radius);background:var(--surface-2);overflow:hidden;flex-shrink:0}.order-header{display:flex;align-items:baseline;gap:10px;padding:8px 12px 6px}.order-code{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.9}.order-name{font-size:15px;font-weight:600;color:var(--text)}.order-menu{display:flex;align-items:center;gap:6px;margin-left:auto}.order-bump-btn{background:transparent;border:none;color:var(--text-muted);font-size:14px;line-height:1;padding:3px 7px;cursor:pointer;border-radius:4px;font-family:var(--font);flex-shrink:0;letter-spacing:-2px}.order-bump-btn:hover{color:var(--text);background:#ffffff0f}.order-done-btn{background:#16a34a;border:none;border-radius:var(--radius);color:#fff;font-size:12px;font-weight:700;padding:4px 10px;cursor:pointer;font-family:var(--font);letter-spacing:.5px;flex-shrink:0}.order-done-btn:hover{background:#15803d}.order-done-btn--locked{background:#374151;color:#9ca3af;cursor:not-allowed}.order-done-btn--locked:hover{background:#374151}.undo-toast--warning{border-color:#f59e0b}.undo-toast--warning span{color:#fbbf24}.undo-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#1e293b;border:1px solid #334155;border-radius:10px;padding:12px 20px;display:flex;align-items:center;gap:16px;color:var(--text);font-size:15px;z-index:999;box-shadow:0 4px 24px #00000080;animation:toast-in .2s ease}.undo-toast-btn{background:#f59e0b;border:none;border-radius:6px;color:#000;font-size:13px;font-weight:700;padding:6px 14px;cursor:pointer;font-family:var(--font);white-space:nowrap}.undo-toast-btn:hover{background:#d97706}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.pin-form{background:#1a1a1a;border:1px solid #2e2e2e;border-radius:16px;padding:40px 32px;display:flex;flex-direction:column;align-items:center;gap:16px;width:280px}.pin-form--shake{animation:pin-shake .5s ease}.pin-logo{width:100px;height:auto;margin-bottom:4px}.pin-title{font-size:20px;font-weight:700;color:#f0f0f0}.pin-input{width:100%;background:#242424;border:1px solid #3e3e3e;border-radius:8px;color:#f0f0f0;font-size:18px;padding:10px 14px;text-align:center;font-family:var(--font);letter-spacing:4px;outline:none}.pin-input:focus{border-color:#ec4899}.pin-error{color:#f87171;font-size:13px}.pin-btn{width:100%;background:#ec4899;border:none;border-radius:8px;color:#fff;font-size:16px;font-weight:700;padding:12px;cursor:pointer;font-family:var(--font)}.pin-btn:hover:not(:disabled){background:#db2777}.pin-btn:disabled{opacity:.4;cursor:not-allowed}@keyframes pin-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.order-here-btn{background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.05em;padding:2px 6px;cursor:pointer;border-radius:4px;font-family:var(--font);flex-shrink:0}.order-here-btn:hover{color:var(--text);border-color:#ffffff4d}.order-here-btn--active{color:#fff;background:#22c55e33;border-color:#22c55e99}.order-here-btn--active:hover{background:#22c55e4d}.order-txt-btn{background:transparent;border:1px solid rgba(34,197,94,.3);color:#22c55e;font-size:11px;font-weight:700;letter-spacing:.05em;padding:2px 6px;cursor:pointer;border-radius:4px;font-family:var(--font);flex-shrink:0;opacity:.6}.order-txt-btn:hover:not(:disabled){opacity:1;background:#22c55e1a}.order-txt-btn--failed{border-color:#ef4444;color:#fff;background:#ef4444;opacity:1;cursor:pointer;animation:pulse-red 1.5s ease-in-out infinite}.order-txt-btn--failed:hover{background:#dc2626}@keyframes pulse-red{0%,to{box-shadow:0 0 #ef444480}50%{box-shadow:0 0 0 5px #ef444400}}.order-txt-btn--no-phone{border-color:#f8717166;color:#f87171;opacity:.8;cursor:not-allowed}.order-menu-btn{background:transparent;border:none;color:var(--text-muted);font-size:18px;line-height:1;padding:2px 6px;cursor:pointer;border-radius:4px;font-family:var(--font);flex-shrink:0}.order-menu-btn:hover{color:var(--text);background:#ffffff0f}.order-phone-link{font-size:12px;font-weight:600;color:#60a5fa;background:#60a5fa1a;border:1px solid rgba(96,165,250,.3);border-radius:4px;padding:3px 8px;text-decoration:none;white-space:nowrap;flex-shrink:0}.order-phone-link:hover{background:#60a5fa33}.order-remove-btn{font-size:12px;font-weight:700;color:#f87171;background:#f871711a;border:1px solid rgba(248,113,113,.3);border-radius:4px;padding:3px 8px;cursor:pointer;font-family:var(--font);letter-spacing:.02em}.order-remove-btn:hover{background:#f8717133}.order-skip-btn{font-size:12px;font-weight:700;color:#f59e0b;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:4px;padding:3px 8px;cursor:pointer;font-family:var(--font);letter-spacing:.02em}.order-skip-btn:hover{background:#f59e0b33}.order-skipped-badge{font-size:10px;font-weight:800;letter-spacing:.08em;color:#f59e0b;background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);border-radius:3px;padding:1px 5px}@keyframes arrived-pulse{0%,to{box-shadow:0 0 #fff0}50%{box-shadow:0 0 0 6px #ffffff1f}}.order-group--arrived{animation:arrived-pulse 1.4s ease-in-out infinite;border-left-width:6px}.order-group--skipped{opacity:.45;filter:saturate(.3)}.order-items{display:flex;flex-direction:column;gap:2px;padding:0 8px 8px}.item-card{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 14px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:19px;font-weight:500;cursor:pointer;transition:background .1s,border-color .1s,opacity .15s;text-align:left;font-family:var(--font)}.item-card:hover:not(:disabled){background:#2a2a2a;border-color:#444}.item-card:active:not(:disabled){background:#333;transform:scale(.99)}.item-card--pending{opacity:.5;cursor:not-allowed}.item-name{flex:1;display:flex;flex-direction:column;gap:2px}.item-notes{font-size:19px;font-weight:400;color:var(--text-muted)}.item-arrow{font-size:15px;margin-left:10px;flex-shrink:0}.item-arrow--waiting{color:#f59e0b}.item-arrow--making{color:#3b82f6}.kds-column-body::-webkit-scrollbar{width:6px}.kds-column-body::-webkit-scrollbar-track{background:transparent}.kds-column-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.status-lang-select{position:absolute;top:14px;right:14px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);font-size:12px;font-family:var(--font);padding:4px 8px;border-radius:6px;cursor:pointer;outline:none;max-width:140px}.status-lang-select:focus{border-color:#e8196d;color:var(--text)}.status-root{position:relative;min-height:100%;background:var(--bg);display:flex;flex-direction:column;align-items:center;padding:36px 20px 56px;max-width:480px;margin:0 auto}.status-logo-wrap{margin-bottom:6px}.status-logo{height:90px;width:auto;display:block}.status-location{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:32px}.status-card{width:100%;background:var(--surface);border-radius:20px;padding:28px 24px 24px;margin-bottom:14px;text-align:center;border:1px solid var(--border)}.status-pill{display:inline-flex;align-items:center;gap:7px;padding:5px 16px;border-radius:99px;font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;margin-bottom:16px}.status-pill--waiting{background:#f59e0b1f;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.status-pill--making{background:#3b82f61f;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.status-pill--done{background:#22c55e1f;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.status-queue{font-size:72px;font-weight:900;color:#e8196d;line-height:1;margin-bottom:2px;font-variant-numeric:tabular-nums}.status-queue-label{font-size:14px;font-weight:600;letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;margin-bottom:14px}.status-headline{font-size:26px;font-weight:800;color:var(--text);line-height:1.2;margin-bottom:6px}.status-subtext{font-size:15px;color:var(--text-muted);line-height:1.5}.status-items-card{width:100%;background:var(--surface);border-radius:20px;padding:18px 20px;margin-bottom:14px;border:1px solid var(--border)}.status-items-title{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:14px}.status-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.status-item:last-child{border-bottom:none;padding-bottom:0}.status-item-name-wrap{display:flex;flex-direction:column;gap:2px;flex:1}.status-item-name{font-size:18px;font-weight:600;color:var(--text)}.status-item-notes{font-size:13px;color:var(--text-muted)}.status-item-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0}.status-item-dot--waiting{background:#f59e0b}.status-item-dot--making{background:#3b82f6}.status-item-dot--done{background:#22c55e}.status-here-btn{width:100%;padding:20px;background:#e8196d;color:#fff;border:none;border-radius:16px;font-size:20px;font-weight:800;letter-spacing:.02em;cursor:pointer;font-family:var(--font);transition:background .15s,transform .1s}.status-here-btn:hover:not(:disabled){background:#d01660}.status-here-btn:active:not(:disabled){transform:scale(.98);background:#b81358}.status-here-soon{font-size:13px;color:#444;text-align:center;margin-top:8px;font-style:italic}.status-here-btn--checked{background:#22c55e1f;color:#22c55e;border:1px solid rgba(34,197,94,.3);cursor:default;font-size:16px;font-weight:700}.status-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:var(--text-muted);font-size:16px}.status-spinner{width:38px;height:38px;border:3px solid var(--border);border-top-color:#e8196d;border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.status-not-found{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:12px 0}.status-not-found-icon{font-size:52px;margin-bottom:4px}.status-not-found-title{font-size:22px;font-weight:700;color:var(--text)}.status-not-found-sub{font-size:15px;color:var(--text-muted);max-width:290px;line-height:1.5}.status-refresh-note{font-size:12px;color:#444;margin-top:24px;text-align:center}
