.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:.75rem}.brand-icon{font-size:1.5rem}.brand small{display:block;color:var(--muted);font-size:.75rem}.nav{display:flex;gap:.5rem;flex-wrap:wrap;flex:1;justify-content:center}.nav a{padding:.5rem .9rem;border-radius:8px;color:var(--muted);font-weight:600}.nav a:hover,.nav a.active{background:var(--surface-2);color:var(--text)}.nav a.active{color:var(--primary)}.user-bar{display:flex;align-items:center;gap:.75rem}.user-info{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}.user-info small{color:var(--muted);font-size:.75rem}.main{flex:1;padding:1.5rem;max-width:1400px;width:100%;margin:0 auto}@media (max-width: 768px){.topbar{flex-direction:column;align-items:flex-start}}.admin-menu-hero h1{background:linear-gradient(135deg,#f97316,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.menu-toolbar{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap;padding:1rem;background:linear-gradient(135deg,#f9731614,#3b82f614);border-radius:var(--radius);border:1px solid var(--border)}.menu-toolbar input{flex:1;min-width:200px;padding:.65rem .75rem;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.empty-menu{padding:2rem;text-align:center}.menu-category-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.25rem;border-left:4px solid var(--cat-color, var(--primary));box-shadow:0 4px 20px #00000026}.category-head{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.category-head h2{flex:1;min-width:120px;font-size:1.3rem;color:var(--cat-color, var(--primary))}.cat-badge{background:color-mix(in srgb,var(--cat-color, var(--primary)) 20%,transparent);color:var(--cat-color, var(--primary));padding:.25rem .65rem;border-radius:999px;font-size:.8rem;font-weight:700}.item-form{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:1rem;background:var(--surface-2);border-radius:12px;border:1px dashed var(--border)}.item-form-create input:not(.url-fallback){width:100%;padding:.55rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.cat-empty{font-size:.9rem;padding:.5rem 0}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.item-card{background:var(--surface-2);border-radius:14px;overflow:hidden;border:1px solid var(--border);transition:transform .15s,box-shadow .15s}.item-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0003}.item-card.unavailable{opacity:.7}.item-card-image{position:relative;height:140px;overflow:hidden}.item-card-image img{width:100%;height:100%;object-fit:cover}.unavail-badge{position:absolute;top:8px;right:8px;background:#ef4444e6;color:#fff;font-size:.7rem;font-weight:700;padding:.2rem .5rem;border-radius:6px}.item-card-body{padding:.85rem;display:flex;flex-direction:column;gap:.35rem}.item-card-body strong{font-size:1rem}.item-card-body p{font-size:.82rem;line-height:1.35}.item-card-meta{display:flex;justify-content:space-between;align-items:center;margin-top:.25rem}.price-tag{color:var(--primary);font-weight:800;font-size:1rem}.item-card-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.image-upload-field{display:flex;flex-direction:column;gap:.5rem}.field-label{font-weight:700;font-size:.85rem;color:var(--muted)}.image-upload-row{display:flex;gap:1rem;align-items:flex-start;flex-wrap:wrap}.image-preview-wrap{width:88px;height:88px;border-radius:12px;overflow:hidden;flex-shrink:0;border:2px solid var(--border)}.image-preview{width:100%;height:100%;object-fit:cover}.image-upload-actions{flex:1;display:flex;flex-direction:column;gap:.5rem;min-width:160px}.url-fallback{width:100%;padding:.5rem .65rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:.85rem}.avail-toggle{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap}.avail-toggle input{width:18px;height:18px;accent-color:var(--primary)}.edit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.edit-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;width:100%;max-width:460px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 20px 60px #0006}.edit-modal h2{margin-bottom:.25rem;color:var(--primary)}.edit-modal label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.9rem}.edit-modal input,.edit-modal textarea{padding:.6rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.edit-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}@media (max-width: 640px){.items-grid{grid-template-columns:1fr}.image-upload-row{flex-direction:column}}.user-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem}.user-form h2{margin-bottom:1rem;font-size:1.1rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1rem}.form-grid label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.9rem}.form-grid input,.form-grid select{padding:.6rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.users-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:auto}.users-table-wrap table{width:100%;border-collapse:collapse}.users-table-wrap th,.users-table-wrap td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--border)}.users-table-wrap th{color:var(--muted);font-size:.85rem}.role-pill{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.8rem;font-weight:600}.role-server{background:#3b82f633;color:#93c5fd}.role-kitchen{background:#f9731633;color:#fdba74}.actions{display:flex;gap:.5rem;flex-wrap:wrap}.tables-assign-section{margin:1rem 0 1.25rem}.tables-assign-section h3{font-size:1rem;margin-bottom:.35rem}.table-picker{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.table-pick{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);cursor:pointer;font-weight:600;font-size:.9rem}.table-pick.checked{border-color:var(--primary);background:#f973161f}.table-pick.taken{opacity:.45;cursor:not-allowed}.table-pick input{accent-color:var(--primary)}.assigned-hint{font-size:.75rem;color:var(--muted);font-style:normal;font-weight:400}.table-tags{font-weight:600;color:#fdba74}.home{display:grid;gap:1.25rem}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;padding:1.5rem;background:linear-gradient(135deg,#1a1d27,#2a1f14 55%,#1a2433);border:1px solid var(--border);border-radius:var(--radius)}.dashboard-header h1{font-size:1.75rem;margin-bottom:.25rem}.dashboard-header p{color:var(--muted)}.live-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem .85rem;background:#22c55e1f;border:1px solid rgba(34,197,94,.35);border-radius:999px;font-size:.85rem;font-weight:600;color:#86efac}.live-badge small{color:var(--muted);font-weight:400;margin-left:.25rem}.live-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.kpi-grid{display:grid;gap:1rem}.kpi-grid.primary{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.kpi-card.highlight{border-color:#f9731673;background:linear-gradient(145deg,var(--surface) 0%,rgba(249,115,22,.1) 100%)}.kpi-label{display:block;color:var(--muted);font-size:.85rem;margin-bottom:.35rem}.kpi-value{display:block;font-size:1.75rem;line-height:1.2;margin-bottom:.25rem}.kpi-hint{font-size:.8rem;color:var(--muted)}.change-pill{display:inline-block;margin-left:.35rem;padding:.1rem .45rem;border-radius:999px;font-weight:700;font-size:.75rem}.change-pill.up{background:#22c55e2e;color:#86efac}.change-pill.down{background:#ef44442e;color:#fca5a5}.kpi-grid.secondary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.mini-stat{display:flex;flex-direction:column;gap:.25rem;padding:.85rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:10px}.mini-stat span{font-size:.8rem;color:var(--muted)}.mini-stat strong{font-size:1.25rem}.mini-stat.warn strong{color:#fbbf24}.mini-stat.ok strong{color:#4ade80}.mini-stat.alert strong{color:#fb7185}.dashboard-panels{display:grid;gap:1rem;align-items:start}.dashboard-panels.three{grid-template-columns:1.4fr 1fr 280px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.panel.full-width{grid-column:1 / -1}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.panel-head h2,.side-panel h2{font-size:1.1rem}.panel-link{font-size:.85rem;color:var(--primary);font-weight:600}.empty-panel,.loading-stats{padding:2rem;text-align:center}.hourly-chart{display:flex;align-items:flex-end;gap:.35rem;height:180px;padding-top:.5rem;overflow-x:auto}.hour-col{flex:1;min-width:22px;display:flex;flex-direction:column;align-items:center;height:100%}.hour-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}.hour-bar{width:70%;max-width:18px;min-height:4px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#fb923c,#ea580c);transition:height .35s ease}.hour-label{margin-top:.35rem;font-size:.65rem;color:var(--muted)}.top-items-list{list-style:none;display:grid;gap:.85rem}.top-items-list li{display:flex;gap:.75rem;align-items:flex-start}.rank{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#f9731626;color:var(--primary);font-weight:800;font-size:.75rem;flex-shrink:0}.top-item-info{flex:1;min-width:0;display:grid;gap:.25rem}.top-item-info strong{font-size:.95rem}.top-bar-track{height:6px;background:var(--surface-2);border-radius:999px;overflow:hidden}.top-bar-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:999px}.orders-table-wrap{overflow-x:auto}.orders-table{width:100%;border-collapse:collapse;font-size:.9rem}.orders-table th{text-align:left;padding:.5rem .75rem;color:var(--muted);font-weight:600;border-bottom:1px solid var(--border);font-size:.8rem}.orders-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border)}.orders-table tr.paid{opacity:.65}.orders-table .amount{font-weight:700;color:var(--primary);text-align:right}.order-status-pill{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700}.order-status-pill.status-PENDING,.order-status-pill.status-PREPARING,.order-status-pill.status-READY{background:#f59e0b33;color:#fcd34d}.order-status-pill.status-SERVED{background:#22c55e33;color:#86efac}.order-status-pill.status-PAID{background:#94a3b833;color:#cbd5e1}.table-breakdown{display:grid;gap:.65rem;margin-bottom:1rem}.breakdown-row{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.breakdown-row strong{margin-left:auto}.breakdown-row .dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.occupancy-bar{height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden;margin-bottom:.35rem}.occupancy-fill{height:100%;background:linear-gradient(90deg,#f97316,#ef4444);border-radius:999px;transition:width .4s ease}.occupancy-label{font-size:.8rem;color:var(--muted);margin-bottom:1.25rem}.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.25rem}.resource-card{padding:.75rem;background:var(--surface-2);border-radius:10px;border:1px solid var(--border);display:grid;gap:.15rem}.resource-card span{font-size:.75rem;color:var(--muted)}.resource-card strong{font-size:1.15rem;color:var(--primary)}.resource-card small{font-size:.7rem;color:var(--muted)}.quick-title{font-size:.9rem;margin-bottom:.65rem;color:var(--muted)}.quick-links{display:grid;gap:.5rem}.quick-link{display:block;padding:.6rem .75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;font-weight:600;font-size:.9rem;transition:border-color .15s}.quick-link:hover{border-color:var(--primary)}@media (max-width: 1100px){.dashboard-panels.three{grid-template-columns:1fr 1fr}.side-panel{grid-column:1 / -1}}@media (max-width: 700px){.dashboard-panels.three{grid-template-columns:1fr}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;display:flex;flex-direction:column;gap:1rem}.login-brand{text-align:center;margin-bottom:.5rem}.login-brand span{font-size:2.5rem}.login-brand h1{font-size:1.75rem;margin:.25rem 0}.login-brand p{color:var(--muted)}.login-card label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.9rem}.login-card input{padding:.65rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.login-hint{margin-top:.5rem;font-size:.85rem}.login-hint ul{list-style:none;margin:.5rem 0;display:flex;flex-direction:column;gap:.25rem}.auth-loading{min-height:50vh;display:flex;align-items:center;justify-content:center}.pos-simple .page-header h1{font-size:1.5rem}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.payment-alert{background:linear-gradient(135deg,#f59e0b40,#ef444426);border:2px solid #f59e0b;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1rem;animation:alertPulse 1s ease-in-out infinite}.payment-alert strong{display:block;font-size:1.1rem;margin-bottom:.25rem}.payment-alert p{color:var(--muted);margin-bottom:.75rem;font-size:.9rem}.server-alert{background:linear-gradient(135deg,#3b82f633,#6366f11f);border:2px solid #3b82f6;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1rem;animation:serverPulse 1s ease-in-out infinite}.server-alert strong{display:block;font-size:1.1rem;margin-bottom:.25rem}.server-alert p{color:var(--muted);margin-bottom:.75rem;font-size:.9rem}@keyframes serverPulse{0%,to{box-shadow:0 0 #3b82f659}50%{box-shadow:0 0 0 8px #3b82f600}}.server-call-banner{border-color:#3b82f6;background:#3b82f614}.table-chip.server-call{border-color:#3b82f6!important;background:#3b82f626;animation:chipBlink 1.2s ease-in-out infinite}@keyframes alertPulse{0%,to{box-shadow:0 0 #f59e0b66}50%{box-shadow:0 0 0 8px #f59e0b00}}.awaiting-banner{border-color:#f59e0b;background:#f59e0b14}.table-chip.alert{animation:chipBlink 1.2s ease-in-out infinite;border-color:#f59e0b!important;background:#f59e0b26}@keyframes chipBlink{0%,to{opacity:1}50%{opacity:.7}}.pos-section.compact{padding:.85rem 1rem}.pos-section.compact h2{font-size:1rem}.pos-section.compact h2 .muted{font-weight:400;font-size:.8rem}.table-chips{display:flex;flex-wrap:wrap;gap:.5rem}.table-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .75rem;border:2px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text);font-weight:700;cursor:pointer;font-size:.9rem}.table-chip:hover{opacity:.85}.chip-dot{width:8px;height:8px;border-radius:50%}.empty-orders{padding:1.5rem;text-align:center}.order-list{display:flex;flex-direction:column;gap:.75rem}.order-simple-card{border:1px solid var(--border);border-radius:12px;padding:1rem;background:var(--surface-2);border-left:4px solid #f59e0b}.order-simple-card.served{border-left-color:#22c55e;background:#22c55e0f}.order-simple-card.not-served{border-left-color:#f59e0b}.order-simple-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.5rem}.order-simple-top .table-name{font-size:1.1rem;display:block}.order-simple-top .order-total{display:block;color:var(--primary);font-weight:700;margin-top:.15rem}.served-badge{flex-shrink:0;padding:.3rem .65rem;border-radius:999px;font-size:.8rem;font-weight:700}.served-badge.yes{background:#22c55e33;color:#86efac}.served-badge.no{background:#f59e0b33;color:#fcd34d}.order-items-brief{list-style:none;font-size:.9rem;color:var(--muted);margin-bottom:.5rem}.item-by{color:var(--primary);font-size:.85em}.order-note{font-size:.85rem;color:var(--muted);margin-bottom:.5rem}.order-simple-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.pay-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:flex-end;justify-content:center;z-index:100;padding:1rem}.pay-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;padding:1.25rem;width:100%;max-width:420px}.pay-modal h2{margin-bottom:1rem;font-size:1.15rem}.pay-modal .checkout-items{list-style:none;margin-bottom:1rem}.pay-modal .checkout-items li{display:flex;justify-content:space-between;padding:.35rem 0;border-bottom:1px solid var(--border);font-size:.9rem}.pay-modal .checkout-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.65rem}.pay-modal .checkout-row input{width:90px;padding:.4rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.pay-modal .checkout-row.total{font-size:1.15rem;margin:.5rem 0 1rem}.pay-modal .payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}.pay-modal .payment-methods button{padding:.6rem;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer}.pay-modal .payment-methods button.active{border-color:var(--primary);background:#f9731626}.pay-modal-actions{display:flex;gap:.5rem;justify-content:flex-end}.pos-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1rem}.pos-section h2{font-size:1.1rem;margin-bottom:1rem}@media (min-width: 768px){.pay-overlay{align-items:center}.pay-modal{border-radius:var(--radius)}}.qr-page{min-height:100vh;background:#faf7f2;color:#1f2937;padding:1rem;max-width:1100px;margin:0 auto}.qr-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.qr-header h1{font-size:1.4rem}.qr-header p{color:#6b7280}.qr-badge{background:#fff7ed;color:#c2410c;padding:.4rem .75rem;border-radius:999px;font-weight:700;font-size:.8rem}.qr-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}.qr-tabs button{padding:.65rem 1rem;border:1px solid #e5e7eb;border-radius:10px;background:#fff;font-weight:700;cursor:pointer;color:#6b7280}.qr-tabs button.active{background:#fff7ed;border-color:#f97316;color:#c2410c}.orders-section{display:flex;flex-direction:column;gap:.75rem}.orders-empty{text-align:center;padding:2rem 1rem;background:#fff;border-radius:12px}.client-order-card{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 2px 8px #0000000d;border-left:4px solid #f59e0b}.client-order-card.served{border-left-color:#22c55e}.client-order-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.65rem}.order-time{color:#6b7280;font-size:.85rem}.client-status{font-size:.8rem;font-weight:700;padding:.25rem .6rem;border-radius:999px}.client-status.pending{background:#fef3c7;color:#b45309}.client-status.served{background:#dcfce7;color:#15803d}.client-order-items{list-style:none;margin-bottom:.5rem}.client-order-items li{display:flex;justify-content:space-between;padding:.3rem 0;font-size:.9rem;border-bottom:1px solid #f3f4f6}.order-note{font-size:.85rem;color:#6b7280;margin-bottom:.5rem}.client-order-total{display:flex;justify-content:space-between;font-weight:700;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e5e7eb}.orders-summary{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 4px 16px #00000014;position:sticky;bottom:1rem}.summary-row{display:flex;justify-content:space-between;font-size:1.15rem;margin-bottom:1rem}.payment-requested-banner{text-align:center;padding:.85rem;background:#fff7ed;border:1px solid #fdba74;border-radius:10px;color:#c2410c;font-weight:600;font-size:.95rem}.qr-layout{display:grid;grid-template-columns:1fr 320px;gap:1rem;align-items:start}.menu-category{margin-bottom:1.5rem}.menu-category h2{margin-bottom:.75rem;font-size:1.2rem;color:#c2410c}.menu-items{display:grid;gap:.75rem}.menu-card{display:grid;grid-template-columns:96px 1fr;gap:.75rem;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.menu-card img{width:96px;height:96px;object-fit:cover}.menu-card.unavailable{opacity:.6}.menu-card-body{padding:.75rem .75rem .75rem 0}.menu-card-top{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.menu-card-top span{font-weight:700;color:#c2410c;white-space:nowrap}.menu-card p{color:#6b7280;font-size:.875rem;margin-bottom:.5rem}.unavailable-badge{display:inline-block;background:#fee2e2;color:#b91c1c;padding:.2rem .5rem;border-radius:6px;font-size:.75rem;font-weight:700}.cart-panel{position:sticky;top:1rem;background:#fff;border-radius:12px;padding:1rem;box-shadow:0 4px 16px #00000014}.cart-panel h2{margin-bottom:.75rem;font-size:1.1rem}.cart-list{list-style:none;display:grid;gap:.75rem;margin-bottom:.75rem}.cart-list li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding-bottom:.5rem;border-bottom:1px solid #f3f4f6}.cart-list strong{display:block;font-size:.9rem}.cart-list span{color:#6b7280;font-size:.85rem}.qty-controls{display:flex;align-items:center;gap:.4rem}.qty-controls button{width:28px;height:28px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer}.cart-panel textarea{width:100%;border:1px solid #e5e7eb;border-radius:8px;padding:.5rem;margin-bottom:.75rem;resize:vertical}.cart-total{display:flex;justify-content:space-between;margin-bottom:.75rem;font-size:1.1rem}.client-actions-bar{margin-bottom:1rem}.name-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.name-modal{background:#fff;border-radius:12px;padding:1.5rem;max-width:360px;width:100%}.name-modal h2{margin-bottom:.5rem}.name-modal p{color:#6b7280;margin-bottom:1rem;font-size:.9rem}.name-modal input{width:100%;padding:.65rem;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1rem}.cart-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.cart-panel-head h2{margin:0}.live-sync{font-size:.75rem;color:#16a34a;font-weight:700}.session-groups{display:grid;gap:.75rem;margin-bottom:.75rem;max-height:320px;overflow-y:auto}.session-group{border:1px solid #e5e7eb;border-radius:8px;padding:.65rem;background:#fafafa}.session-group.mine{border-color:#f97316;background:#fff7ed}.session-group h3{font-size:.8rem;color:#6b7280;margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.03em}.qty-readonly{font-size:.85rem;color:#6b7280;font-weight:600}.submit-hint{font-size:.8rem;text-align:center;margin-top:.5rem}.my-total{font-size:.85rem;margin-bottom:.5rem}.added-by{font-style:normal;color:#9ca3af;font-size:.85em}.server-requested-banner{text-align:center;padding:.85rem;background:#eff6ff;border:1px solid #93c5fd;border-radius:10px;color:#1d4ed8;font-weight:600;font-size:.95rem}@media (max-width: 900px){.qr-layout{grid-template-columns:1fr}.cart-panel{position:static}}.super-hero h1{background:linear-gradient(135deg,#f97316,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.super-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin-bottom:1.25rem}.super-stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem;text-align:center}.super-stat strong{display:block;font-size:1.6rem;color:var(--primary)}.super-stat span{color:var(--muted);font-size:.85rem}.super-form{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.25rem;margin-bottom:1.5rem}.super-form h2{margin-bottom:1rem;color:var(--primary)}.super-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:1rem}.super-form-grid label,.edit-modal label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.9rem}.super-form-grid .full{grid-column:1 / -1}.super-form-grid input,.super-form-grid select,.super-form-grid textarea,.edit-modal input,.edit-modal select,.edit-modal textarea{padding:.6rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.venue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.venue-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:0 4px 18px #0000001f}.venue-card.suspended{opacity:.72;border-color:#ef444466}.venue-card h3{font-size:1.15rem}.venue-card-head{display:flex;justify-content:space-between;gap:.5rem}.venue-type{font-size:.75rem;font-weight:700;padding:.2rem .55rem;border-radius:999px}.venue-type.resto{background:#f9731626;color:#fb923c}.venue-type.cafe{background:#3b82f626;color:#60a5fa}.venue-status{font-size:.75rem;font-weight:700;padding:.2rem .55rem;border-radius:999px}.venue-status.on{background:#22c55e26;color:#86efac}.venue-status.off{background:#ef444426;color:#fca5a5}.venue-meta{display:flex;flex-wrap:wrap;gap:.6rem;font-size:.85rem;color:var(--muted)}.venue-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--border)}.venue-actions .danger{color:#fca5a5}.table-add-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;margin-bottom:1.5rem}.table-add-form h2{font-size:1.1rem;margin-bottom:1rem}.add-form-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem}.add-form-row label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.9rem;min-width:140px}.add-form-row input{padding:.6rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);width:100%}.add-or{color:var(--muted);padding-bottom:.6rem}.form-hint{margin-top:.75rem;font-size:.85rem}.tables-count{margin-bottom:.75rem}.empty-tables{grid-column:1 / -1;padding:2rem;text-align:center}.label-edit{padding:.25rem .5rem;border-radius:6px;border:1px solid var(--primary);background:var(--surface-2);color:var(--text);font-weight:700;width:100%}.table-card-head strong{cursor:pointer}.table-card-head strong:hover{color:var(--primary)}.table-actions{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.table-actions .danger:not(:disabled):hover{border-color:var(--danger);color:#fca5a5}.legend{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;color:var(--muted);font-size:.875rem}.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:.35rem}.tables-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.table-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);padding:1rem;text-align:center}.table-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.status-dot{width:10px;height:10px;border-radius:50%}.qr-img{width:160px;height:160px;border-radius:8px;background:#fff;margin-bottom:.75rem}.qr-link{display:block;color:var(--primary);font-weight:600;margin-bottom:.5rem}.qr-url{display:block;font-size:.7rem;color:var(--muted);word-break:break-all;margin-bottom:.5rem}.network-banner{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1.25rem}.network-banner strong{display:block;margin-bottom:.5rem}.network-banner p{font-size:.9rem;color:var(--muted);margin-bottom:.35rem}.network-hint{font-size:.85rem!important}.badge-role{display:inline-block;padding:.15rem .45rem;border-radius:6px;font-size:.75rem;font-weight:700;margin-right:.25rem}.badge-role.admin{background:#a855f733;color:#c4b5fd}.badge-role.server{background:#f9731633;color:#fdba74}.badge-role.client{background:#22c55e33;color:#86efac}:root{--bg: #0f1117;--surface: #1a1d27;--surface-2: #242836;--border: #2f3545;--text: #f3f4f6;--muted: #9ca3af;--primary: #f97316;--primary-hover: #ea580c;--accent-blue: #3b82f6;--accent-pink: #ec4899;--accent-green: #10b981;--accent-purple: #8b5cf6;--success: #22c55e;--danger: #ef4444;--radius: 12px;font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5;color:var(--text);background:var(--bg)}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;background:var(--bg);background-image:radial-gradient(ellipse at 20% 0%,rgba(249,115,22,.06) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(59,130,246,.05) 0%,transparent 50%)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1rem;border-radius:10px;border:none;cursor:pointer;font-weight:600;transition:.15s ease}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:#2d3344}.btn-sm{padding:.4rem .75rem;font-size:.875rem}.btn-block{width:100%}.muted{color:var(--muted)}.error{color:var(--danger)}.toast{padding:.75rem 1rem;border-radius:10px;margin-bottom:1rem;font-weight:600}.toast.success{background:#22c55e26;color:#86efac;border:1px solid rgba(34,197,94,.3)}.toast.error{background:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.page-header h1{font-size:1.75rem;margin-bottom:.25rem}.page-header p{color:var(--muted)}.status-pill{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:700;background:var(--surface-2)}.status-pending{color:#fbbf24}.status-preparing{color:#60a5fa}.status-ready{color:#4ade80}.status-served{color:#c084fc}.status-paid{color:#86efac}
