@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";.home-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#F5F6FA 0%,#E4E7F0 100%);font-family:Inter,sans-serif}.home-header{text-align:center;margin-bottom:50px}.home-header h1{font-size:36px;font-weight:800;color:#1a1d2e;margin-bottom:10px;letter-spacing:-1px}.home-header p{font-size:18px;color:#6b7280}.home-cards{display:flex;gap:40px;max-width:900px;width:100%;padding:0 40px}.home-card{flex:1;background:white;border-radius:24px;padding:40px 30px;text-align:center;box-shadow:0 10px 30px #0000000d;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid transparent}.home-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px #0000001a}.home-card.operator:hover{border-color:#2563eb}.home-card.tv:hover{border-color:#16a34a}.card-icon{font-size:64px;margin-bottom:20px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.1))}.home-card h2{font-size:24px;font-weight:700;color:#1a1d2e;margin-bottom:15px}.home-card p{font-size:15px;color:#6b7280;margin-bottom:30px;line-height:1.5;height:45px}.card-btn{background:#F0F2F8;color:#1a1d2e;border:none;padding:14px 28px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;width:100%;transition:all .2s}.home-card.operator:hover .card-btn{background:#2563EB;color:#fff}.home-card.tv:hover .card-btn{background:#16A34A;color:#fff}:root{--bg: #F5F6FA;--surface: #FFFFFF;--surface-2: #F0F2F8;--border: #E4E7F0;--text-primary: #1A1D2E;--text-secondary: #6B7280;--text-muted: #9CA3AF;--accent: #2563EB;--accent-light: #EFF6FF;--accent-border: #BFDBFE;--green: #16A34A;--green-light: #F0FDF4;--green-border: #BBF7D0;--amber: #D97706;--amber-light: #FFFBEB;--amber-border: #FDE68A;--red-light: #FEF2F2;--red-border: #FECACA;--red: #DC2626;--radius: 12px;--shadow: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 16px rgba(0,0,0,.08)}html,body,#root{width:100%;height:100%;font-family:Inter,-apple-system,sans-serif;background:var(--bg);color:var(--text-primary);overflow:hidden}.display-tv{display:grid;grid-template-rows:72px 1fr;height:100vh;background:var(--bg)}.tv-header{display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow)}.header-brand{display:flex;align-items:center;gap:12px}.brand-logo-img{width:42px;height:42px;object-fit:contain}.header-brand h1{font-size:18px;font-weight:700;color:var(--text-primary);letter-spacing:.5px}.brand-subtitle{font-size:11px;color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;font-weight:500;margin-top:1px}.header-right{display:flex;align-items:center;gap:20px}.header-time .time-value{font-size:22px;font-weight:700;color:var(--text-primary);text-align:right;font-variant-numeric:tabular-nums;letter-spacing:1px}.header-time .time-date{font-size:11px;color:var(--text-muted);text-align:right;text-transform:capitalize}.connection-status{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary)}.connection-status.connected{background:var(--green-light);border-color:var(--green-border);color:var(--green)}.status-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.connection-status.connected .status-dot{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.tv-content{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;padding:20px 40px;overflow:hidden}.tv-section.current{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;padding:32px 36px;gap:24px;overflow:hidden}.current-ticket.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;text-align:center}.empty-icon{width:64px;height:64px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:26px}.empty-title{font-size:16px;font-weight:600;color:var(--text-secondary)}.empty-sub{font-size:12px;color:var(--text-muted);letter-spacing:1px;text-transform:uppercase}.current-ticket{display:flex;flex-direction:column;gap:20px;height:100%}.section-eyebrow{font-size:11px;font-weight:600;letter-spacing:2px;color:var(--text-muted);text-transform:uppercase}.ticket-hero{display:flex;align-items:center;gap:20px}.ticket-number-big{font-size:96px;font-weight:800;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}.ticket-meta{display:flex;flex-direction:column;gap:8px}.ticket-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.ticket-status-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.5px}.ticket-status-pill.serving{background:var(--green-light);border:1px solid var(--green-border);color:var(--green)}.ticket-status-pill.waiting{background:var(--amber-light);border:1px solid var(--amber-border);color:var(--amber)}.ticket-status-pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:pulse 1.5s infinite}.product-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;flex:1}.product-field .field-label{font-size:10px;font-weight:600;letter-spacing:1.5px;color:var(--text-muted);text-transform:uppercase;margin-bottom:4px}.product-field .field-value{font-size:16px;font-weight:600;color:var(--text-primary)}.product-field .field-value.sku{font-size:20px;font-weight:700;letter-spacing:-.3px}.product-field .field-value.size-val{font-size:40px;font-weight:800;color:var(--accent);line-height:1}.source-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.5px}.source-poc1{background:#EFF6FF;border:1px solid #BFDBFE;color:#1d4ed8}.source-poc2{background:#FEF2F2;border:1px solid #FECACA;color:#dc2626}.source-poc3{background:#F0FDF4;border:1px solid #BBF7D0;color:#16a34a}.source-poc5{background:#FAF5FF;border:1px solid #E9D5FF;color:#7c3aed}.client-row{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--accent-light);border:1px solid var(--accent-border);border-radius:var(--radius)}.client-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}.client-info .client-label{font-size:10px;font-weight:600;letter-spacing:1px;color:var(--accent);text-transform:uppercase}.client-info .client-name{font-size:15px;font-weight:600;color:var(--text-primary)}.wait-row{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.tv-section.queue{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;padding:24px;gap:14px;overflow:hidden}.queue-header{display:flex;align-items:center;justify-content:space-between}.queue-title{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--text-muted);text-transform:uppercase}.queue-count{background:var(--accent-light);border:1px solid var(--accent-border);border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700;color:var(--accent)}.list-items{display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1}.list-items::-webkit-scrollbar{width:4px}.list-items::-webkit-scrollbar-track{background:transparent}.list-items::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.list-item{display:grid;grid-template-columns:28px 52px 1fr auto;align-items:center;gap:12px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:10px;transition:all .2s ease}.list-item:hover{background:var(--surface-2);border-color:var(--accent-border);transform:translate(2px)}.list-item:first-child{background:var(--accent-light);border-color:var(--accent-border)}.item-pos{font-size:12px;font-weight:700;color:var(--text-muted);text-align:center}.list-item:first-child .item-pos{color:var(--accent)}.item-ticket{font-size:20px;font-weight:800;color:var(--text-primary);font-variant-numeric:tabular-nums}.list-item:first-child .item-ticket{color:var(--accent)}.item-info{min-width:0}.item-sku{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-type{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.item-right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.item-size{font-size:14px;font-weight:700;color:var(--text-primary)}.no-queue{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:8px}.no-queue-icon{font-size:28px;opacity:.25}.no-queue-text{font-size:13px;color:var(--text-muted)}.control-bar{display:flex;align-items:center;gap:12px;padding:0 40px;background:var(--surface);border-top:1px solid var(--border)}.control-btn{padding:0 28px;height:40px;font-family:Inter,sans-serif;font-size:13px;font-weight:700;letter-spacing:.5px;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.control-btn-serve{background:var(--green);color:#fff}.control-btn-serve:hover:not(:disabled){background:#15803D;transform:translateY(-1px);box-shadow:0 4px 12px #16a34a4d}.control-btn-complete{background:var(--accent);color:#fff}.control-btn-complete:hover:not(:disabled){background:#1D4ED8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.control-btn:disabled{opacity:.3;cursor:not-allowed;transform:none!important}.control-divider{flex:1}.control-info{display:flex;align-items:center;gap:8px;font-size:13px}.info-label{color:var(--text-muted);font-weight:500}.info-value{font-weight:700}.info-value.status-waiting{color:var(--amber)}.info-value.status-serving{color:var(--green)}.info-value.status-completed{color:var(--accent)}.control-footer-text{font-size:12px;color:var(--text-muted);border-left:1px solid var(--border);padding-left:12px}.loading{display:flex;align-items:center;justify-content:center;height:100%}.loading-spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1400px){.ticket-number-big{font-size:72px}.tv-content{grid-template-columns:1fr 1fr}}.operator-layout{height:100vh;display:flex;flex-direction:column;background:#F0F2F8;font-family:Inter,sans-serif;overflow:hidden}.operator-header{height:64px;background:white;border-bottom:1px solid #E4E7F0;display:flex;align-items:center;justify-content:space-between;padding:0 30px;box-shadow:0 2px 10px #00000005}.op-brand{display:flex;align-items:center;gap:20px}.back-btn{background:none;border:none;color:#6b7280;font-weight:600;font-size:14px;cursor:pointer;padding:8px 12px;border-radius:6px;transition:background .2s}.back-btn:hover{background:#F3F4F6;color:#1a1d2e}.brand-title{font-size:18px;font-weight:800;color:#1a1d2e;letter-spacing:-.5px}.op-status{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;padding:6px 16px;border-radius:20px;background:#FFFBEB;color:#d97706}.op-status.connected{background:#F0FDF4;color:#16a34a}.op-status .dot{width:8px;height:8px;border-radius:50%;background:currentColor}.op-status.connected .dot{animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.operator-content{flex:1;display:flex;gap:30px;padding:30px;overflow:hidden}.op-main-panel{flex:2;display:flex;flex-direction:column;gap:30px}.op-actions{display:flex;gap:20px}.action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:12px;height:80px;border-radius:16px;border:none;font-size:20px;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #0000000d}.action-btn .icon{font-size:28px}.serve-btn{background:#2563EB;color:#fff}.serve-btn:hover:not(:disabled){background:#1D4ED8;transform:translateY(-2px);box-shadow:0 8px 25px #2563eb4d}.serve-btn.pulse:not(:disabled){animation:btn-pulse 2s infinite}@keyframes btn-pulse{0%{box-shadow:0 0 #2563eb66}70%{box-shadow:0 0 0 15px #2563eb00}to{box-shadow:0 0 #2563eb00}}.complete-btn{background:#16A34A;color:#fff}.complete-btn:hover:not(:disabled){background:#15803D;transform:translateY(-2px);box-shadow:0 8px 25px #16a34a4d}.action-btn:disabled{background:#E5E7EB;color:#9ca3af;cursor:not-allowed;box-shadow:none;transform:none}.op-current-card{flex:1;background:white;border-radius:20px;box-shadow:0 4px 20px #00000008;display:flex;flex-direction:column;overflow:hidden}.card-header{padding:24px 30px;border-bottom:1px solid #F3F4F6;display:flex;justify-content:space-between;align-items:center}.card-header h3{font-size:18px;font-weight:700;color:#1a1d2e}.status-badge{padding:6px 14px;border-radius:20px;font-size:12px;font-weight:700;letter-spacing:.5px}.status-badge.serving{background:#F0FDF4;color:#16a34a}.status-badge.waiting{background:#FFFBEB;color:#d97706}.card-body{padding:30px;flex:1;display:flex;flex-direction:column}.no-current{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#6b7280;text-align:center}.no-current .empty-icon{font-size:64px;margin-bottom:20px;opacity:.5}.no-current p{font-size:24px;font-weight:700;color:#1a1d2e;margin-bottom:8px}.current-details{display:flex;flex-direction:column;gap:40px;height:100%}.ticket-hero-op{text-align:center;padding:30px;background:#F8FAFC;border-radius:16px;border:1px dashed #CBD5E1}.ticket-hero-op .ticket-label{font-size:14px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:2px;margin-bottom:10px}.ticket-hero-op .ticket-number-op{font-size:80px;font-weight:800;color:#0f172a;line-height:1}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.detail-item label{display:block;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.detail-item .val{font-size:18px;font-weight:600;color:#0f172a}.detail-item .val.highlight{font-size:24px;color:#2563eb}.detail-item .val.tag{display:inline-block;background:#F1F5F9;padding:4px 12px;border-radius:6px;font-size:14px}.detail-item .val.size-tag{display:inline-block;background:#0F172A;color:#fff;padding:4px 12px;border-radius:6px;font-size:16px}.op-side-panel{flex:1;background:white;border-radius:20px;box-shadow:0 4px 20px #00000008;display:flex;flex-direction:column;overflow:hidden;max-width:450px}.queue-header-op{padding:24px 30px;border-bottom:1px solid #F3F4F6;display:flex;justify-content:space-between;align-items:center;background:#F8FAFC}.queue-header-op h3{font-size:16px;font-weight:700;color:#1a1d2e}.queue-count-op{background:#E2E8F0;color:#475569;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700}.queue-list-op{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.queue-list-op::-webkit-scrollbar{width:6px}.queue-list-op::-webkit-scrollbar-track{background:transparent}.queue-list-op::-webkit-scrollbar-thumb{background:#CBD5E1;border-radius:10px}.empty-queue-op{text-align:center;padding:40px 20px;color:#94a3b8;font-size:14px}.q-item{display:flex;align-items:center;gap:16px;padding:16px;background:white;border:1px solid #E2E8F0;border-radius:12px;transition:all .2s}.q-item.next-up{border-color:#93c5fd;background:#EFF6FF}.q-pos{width:28px;height:28px;background:#F1F5F9;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#64748b}.q-item.next-up .q-pos{background:#3B82F6;color:#fff}.q-ticket{font-size:20px;font-weight:800;color:#0f172a;width:60px}.q-info{flex:1;min-width:0}.q-sku{font-size:15px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.q-client{font-size:13px;color:#64748b;margin-top:4px}.q-badge{background:#DBEAFE;color:#1d4ed8;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:white}
