*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #D85A30;--primary-dark: #993C1D;--primary-light: #FAECE7;--primary-faint: #FAECE7;--primary-border: #F5C4B3;--bg: #F1EFE8;--surface: #FFFFFF;--border: #D3D1C7;--border-subtle: #E8E6E0;--text: #1A1917;--text-muted: #888780;--text-secondary: #5F5E5A;--available: #3B6D11;--available-bg: #EAF3DE;--available-border: #c3e6a0;--occupied: #A32D2D;--occupied-bg: #FCEBEB;--occupied-border: #f5c2c2;--overtime: #800020;--overtime-bg: #F9E8EC;--overtime-border: #e8a0b0;--awaiting: #9B7700;--awaiting-bg: #FFFBE6;--awaiting-border: #FFD366;--waiting-bg: #FAECE7;--waiting-border: #F5C4B3;--noshow: #A32D2D;--noshow-bg: #FCEBEB;--noshow-border: #f5c2c2;--left: #5F5E5A;--left-bg: #F1EFE8;--left-border: #D3D1C7;--shadow: 0 1px 2px rgba(26,25,23,.05), 0 1px 4px rgba(26,25,23,.04);--shadow-md: 0 4px 16px rgba(26,25,23,.09);--radius: 14px;--radius-sm: 8px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased}.header{background:#1a1917;color:#fff;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px #ffffff0f;position:sticky;top:0;z-index:100}.header-brand{display:flex;align-items:center;gap:12px}.header-logo{width:40px;height:40px;background:#d85a30;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.header-brand-text{display:flex;flex-direction:column;line-height:1;gap:2px}.header-brand-name{font-size:22px;font-weight:500;color:#fff;letter-spacing:-1px}.header-brand-sub{font-size:11px;color:#888780;letter-spacing:.3px}.header-divider{width:1px;height:28px;background:#ffffff1f;margin:0 14px;flex-shrink:0}.header-restaurant-logo{width:32px;height:32px;border-radius:8px;overflow:hidden;flex-shrink:0;border:1px solid rgba(255,255,255,.15)}.header-restaurant-name{font-size:14px;font-weight:500;color:#ffffffbf;letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.header-nav{display:flex;gap:4px}.nav-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:#ffffffbf;padding:7px 18px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.nav-btn:hover{background:#ffffff14;color:#fff;border-color:#ffffff59}.nav-btn.active{background:#ffffff38;border-color:#ffffff8c;color:#fff}.main-layout{display:grid;grid-template-columns:380px 1fr;gap:20px;padding:20px;height:calc(100vh - 64px);overflow:hidden}.panel{background:var(--surface);border-radius:var(--radius);border:.5px solid var(--border-subtle);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}.panel-header{padding:16px 20px;border-bottom:.5px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.panel-title{font-size:15px;font-weight:600;color:var(--text)}.panel-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.panel-body::-webkit-scrollbar{width:4px}.panel-body::-webkit-scrollbar-track{background:transparent}.panel-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all .15s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{background:var(--bg);color:var(--text)}.btn-danger{background:#fef2f2;color:var(--occupied);border:1px solid var(--occupied-border)}.btn-danger:hover{background:var(--occupied-bg)}.btn-success{background:var(--available-bg);color:var(--available);border:1px solid var(--available-border)}.btn-success:hover{background:#dcfce7}.btn-warning{background:var(--awaiting-bg);color:var(--awaiting);border:1px solid var(--awaiting-border)}.btn-warning:hover{background:#fef3c7}.btn-sm{padding:5px 10px;font-size:12px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.badge-available{background:var(--available-bg);color:var(--available)}.badge-occupied{background:var(--occupied-bg);color:var(--occupied)}.badge-awaiting{background:var(--awaiting-bg);color:var(--awaiting)}.badge-waiting{background:var(--waiting-bg);color:var(--primary-dark)}.badge-notified{background:var(--awaiting-bg);color:var(--awaiting)}.badge-seated{background:var(--available-bg);color:var(--available)}.badge-no_show{background:var(--noshow-bg);color:var(--noshow)}.badge-left{background:var(--left-bg);color:var(--left)}.customer-card{border:.5px solid var(--border-subtle);border-radius:var(--radius-sm);padding:14px;background:var(--surface);transition:box-shadow .15s;border-left:5px solid var(--border)}.customer-card:hover{box-shadow:var(--shadow-md)}.customer-card.status-waiting{border-left-color:var(--primary)}.customer-card.status-notified{border-left-color:var(--awaiting)}.customer-card.status-seated{border-left-color:var(--available)}.customer-card.status-no_show{border-left-color:var(--noshow);opacity:.7}.customer-card.status-left{border-left-color:var(--left);opacity:.65}.customer-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}.customer-name{font-weight:500;font-size:15px;letter-spacing:-.3px;color:var(--text)}.customer-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--text-muted);margin-bottom:8px}.customer-notes{font-size:12px;color:var(--text-muted);background:var(--bg);padding:6px 8px;border-radius:var(--radius-sm);margin-bottom:8px;font-style:italic}.customer-actions{display:flex;gap:6px;flex-wrap:wrap}.wait-time{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.wait-time.long{color:var(--occupied)}.table-map-container{flex:1;overflow-y:auto;padding:16px}.map-section{margin-bottom:24px}.map-section-title{font-size:11px;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;display:flex;align-items:center;gap:8px}.map-section-title:after{content:"";flex:1;height:1px;background:var(--primary-border)}.tables-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:10px}.table-card{border-radius:var(--radius-sm);border:2px solid;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;padding:8px;min-height:90px}.table-card.has-customer{aspect-ratio:unset;min-height:90px}.table-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.table-card.available{border-color:var(--available-border);background:var(--available-bg)}.table-card.occupied{border-color:var(--occupied-border);background:var(--occupied-bg);cursor:default}.table-card.awaiting{border-color:var(--awaiting-border);background:var(--awaiting-bg)}.table-card.occupied.overtime{border-color:var(--overtime);background:var(--overtime-bg)}.table-card.available:hover{border-color:var(--available)}.table-card.occupied:hover{transform:none}.table-card.awaiting:hover{border-color:var(--awaiting)}.table-number{font-size:17px;font-weight:700;line-height:1}.table-card.available .table-number{color:var(--available)}.table-card.occupied .table-number{color:var(--occupied)}.table-card.awaiting .table-number{color:var(--awaiting)}.table-card.occupied.overtime .table-number,.table-card.occupied.overtime .table-customer-time{color:var(--overtime)}.table-capacity{font-size:10px;color:var(--text-muted);margin-top:4px}.table-status-dot{width:6px;height:6px;border-radius:50%;margin-top:6px}.available .table-status-dot{background:var(--available)}.occupied .table-status-dot{background:var(--occupied)}.awaiting .table-status-dot{background:var(--awaiting);animation:pulse 1.5s infinite}.occupied.overtime .table-status-dot{background:var(--overtime);animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.table-card-top{display:flex;flex-direction:column;align-items:center;width:100%}.table-customer-info{width:100%;display:flex;flex-direction:column;align-items:center;gap:3px}.table-customer-name{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-customer-meta{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-muted);flex-wrap:wrap}.table-customer-meta .meta-dot{opacity:.4}.table-customer-notes{font-size:10px;color:var(--text-muted);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-customer-time{font-size:10px;font-weight:600;margin-top:2px}.table-card.occupied .table-customer-time{color:var(--occupied)}.table-card.awaiting .table-customer-time{color:var(--awaiting)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}.modal{background:var(--surface);border-radius:var(--radius);box-shadow:0 20px 40px #00000026;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-header{padding:20px 24px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:16px;font-weight:600}.modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-muted);line-height:1;padding:2px}.modal-close:hover{color:var(--text)}.modal-body{padding:20px 24px}.modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end}.form-group{margin-bottom:16px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--text);margin-bottom:6px}.form-label .required{color:var(--occupied);margin-left:2px}.form-input,.form-select,.form-textarea{width:100%;padding:9px 12px;border:.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;color:var(--text);background:var(--bg);transition:border-color .15s;outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #d85a301a}.phone-input-row{display:flex;gap:6px}.dial-select{width:auto;min-width:90px;flex-shrink:0}.phone-local-input{flex:1}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-error{color:var(--occupied);font-size:12px;margin-top:12px}.setup-container{padding:24px;max-width:900px;margin:0 auto;overflow-y:auto;height:calc(100vh - 64px)}.setup-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:20px;box-shadow:var(--shadow)}.setup-section-title{font-size:15px;font-weight:600;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.setup-table-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.setup-table-row:last-child{border-bottom:none}.setup-table-info{flex:1;display:flex;gap:16px;font-size:13px}.setup-table-number{font-weight:600;min-width:60px}.setup-table-detail{color:var(--text-muted)}.tables-legend{display:flex;gap:16px;font-size:12px;margin-bottom:16px}.legend-item{display:flex;align-items:center;gap:6px}.legend-dot{width:10px;height:10px;border-radius:50%}.eligible-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.eligible-item{padding:12px;border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:space-between}.eligible-item:hover,.eligible-item.selected{border-color:var(--primary);background:var(--primary-faint)}.eligible-name{font-weight:600;font-size:14px}.eligible-meta{font-size:12px;color:var(--text-muted);margin-top:2px}.table-info-card{background:var(--bg);border-radius:var(--radius-sm);padding:12px;margin-bottom:16px;display:flex;gap:16px;font-size:13px}.table-info-card strong{font-weight:600}.no-eligible{text-align:center;color:var(--text-muted);padding:24px;font-size:13px}.awaiting-customer-info{background:var(--awaiting-bg);border:1px solid var(--awaiting-border);border-radius:var(--radius-sm);padding:14px;margin-bottom:16px}.timer-display{font-size:13px;color:var(--awaiting);font-weight:500;margin-top:8px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--text-muted);text-align:center;gap:8px}.empty-state-icon{font-size:36px;opacity:.4}.empty-state-text{font-size:13px}.notif-bar{padding:10px 20px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px}.notif-bar.error{background:#fef2f2;color:var(--occupied);border-bottom:1px solid var(--occupied-border)}.notif-bar.success{background:var(--primary-faint);color:var(--primary-dark);border-bottom:1px solid var(--primary-border)}.notif-bar.warning{background:var(--overtime-bg);color:var(--overtime);border-bottom:1px solid var(--overtime-border)}.view-toggle{display:flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.view-toggle-btn{background:transparent;border:none;padding:4px 9px;font-size:14px;cursor:pointer;color:var(--text-muted);transition:all .15s;line-height:1}.view-toggle-btn:hover{background:var(--bg);color:var(--text)}.view-toggle-btn.active{background:var(--primary);color:#fff}.floor-map-toolbar{padding:8px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;flex-shrink:0;min-height:44px}.floor-map-edit-hint{font-size:11px;color:var(--text-muted);font-style:italic;margin-inline-start:8px;display:none}.floor-map-canvas{flex:1;position:relative;background-color:#f1efe8;background-image:radial-gradient(circle,#D3D1C7 1px,transparent 1px);background-size:28px 28px;overflow:hidden;margin:10px 14px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);-webkit-user-select:none;user-select:none;cursor:default;min-height:200px}.floor-map-canvas.edit-mode{border-color:var(--primary-border);background-color:#faece7;cursor:crosshair}.floor-map-edit-overlay-hint{position:absolute;bottom:10px;left:50%;transform:translate(-50%);background:#00000080;color:#fff;font-size:11px;padding:4px 10px;border-radius:20px;pointer-events:none;white-space:nowrap}.floor-table-chip{position:absolute;width:54px;height:54px;border-radius:var(--radius-sm);border:2px solid;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:translate(-50%,-50%);cursor:pointer;transition:box-shadow .12s,transform .12s;z-index:1;padding:2px}.floor-table-chip:hover{box-shadow:var(--shadow-md);z-index:2}.floor-table-chip.editable{cursor:grab}.floor-table-chip.editable:active,.floor-table-chip.is-dragging{cursor:grabbing;z-index:10;box-shadow:0 8px 24px #0000002e;transform:translate(-50%,-50%) scale(1.12);transition:none}.floor-table-chip.available{border-color:var(--available-border);background:var(--available-bg)}.floor-table-chip.occupied{border-color:var(--occupied-border);background:var(--occupied-bg)}.floor-table-chip.awaiting{border-color:var(--awaiting-border);background:var(--awaiting-bg)}.floor-table-chip.occupied.overtime{border-color:var(--overtime);background:var(--overtime-bg)}.floor-table-chip.available:hover{border-color:var(--available)}.floor-table-chip.awaiting:hover{border-color:var(--awaiting)}.floor-table-number{font-size:13px;font-weight:700;line-height:1}.floor-table-chip.available .floor-table-number{color:var(--available)}.floor-table-chip.occupied .floor-table-number{color:var(--occupied)}.floor-table-chip.awaiting .floor-table-number{color:var(--awaiting)}.floor-table-chip.occupied.overtime .floor-table-number{color:var(--overtime)}.floor-table-chip.occupied.overtime .floor-table-dot{background:var(--overtime)}.floor-table-cap{font-size:9px;color:var(--text-muted);margin-top:2px}.floor-table-dot{width:5px;height:5px;border-radius:50%;margin-top:3px}.floor-table-chip.available .floor-table-dot{background:var(--available)}.floor-table-chip.occupied .floor-table-dot{background:var(--occupied)}.floor-table-chip.awaiting .floor-table-dot{background:var(--awaiting);animation:pulse 1.5s infinite}.floor-table-customer{font-size:8px;color:var(--awaiting);text-align:center;line-height:1.1;margin-top:2px;max-width:50px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.floor-table-chip.occupied .floor-table-customer{color:var(--occupied)}.overflow-toggle-btn{width:100%;display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--awaiting-bg);border:1px solid var(--awaiting-border);border-radius:var(--radius-sm);color:var(--awaiting);font-size:12px;font-weight:500;cursor:pointer;text-align:start;transition:background .15s}.overflow-toggle-btn:hover{background:#fef3c7}.overflow-toggle-icon{font-size:13px}.overflow-hint{font-size:11.5px;color:var(--awaiting);background:var(--awaiting-bg);border:1px solid var(--awaiting-border);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);padding:7px 10px;line-height:1.5}.eligible-item.overflow-item{border-color:var(--awaiting-border);background:var(--awaiting-bg)}.eligible-item.overflow-item:hover,.eligible-item.overflow-item.selected{border-color:var(--awaiting);background:#fef3c7}.overflow-selection-warning{margin-top:10px;padding:10px 12px;background:#fff7ed;border:1px solid #fed7aa;border-radius:var(--radius-sm);color:#c2410c;font-size:12.5px;font-weight:500;line-height:1.5}[dir=rtl] .customer-card.status-waiting{border-left:none;border-right:3px solid var(--primary)}[dir=rtl] .customer-card.status-notified{border-left:none;border-right:3px solid var(--awaiting)}[dir=rtl] .customer-card.status-no_show{border-left:none;border-right:3px solid var(--noshow)}[dir=rtl] .customer-card.status-left{border-left:none;border-right:3px solid var(--left)}[dir=rtl] .form-label .required{margin-left:0;margin-right:2px}@media (max-width: 900px){.main-layout{grid-template-columns:1fr;overflow:auto;height:auto}.panel{min-height:400px}}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg)}.login-card{background:var(--surface);border:.5px solid var(--border-subtle);border-radius:16px;padding:40px 36px 32px;width:100%;max-width:380px;box-shadow:0 4px 24px #00000012;display:flex;flex-direction:column;gap:24px;position:relative}.login-brand{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.login-logo{width:56px;height:56px;border-radius:14px;background:var(--primary);color:#fff;font-size:26px;font-weight:700;display:flex;align-items:center;justify-content:center}.login-title{font-size:24px;font-weight:500;color:var(--text);letter-spacing:-1px}.login-subtitle{font-size:13px;color:var(--text-muted)}.login-form{display:flex;flex-direction:column;gap:14px}.login-btn{width:100%;justify-content:center;margin-top:4px}.login-error{background:var(--occupied-bg);border:1px solid var(--occupied-border);color:var(--occupied);border-radius:8px;padding:8px 12px;font-size:13px}.login-lang{position:absolute;top:14px;inset-inline-end:14px;font-size:12px;padding:3px 8px}.picker-screen{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.picker-header{background:#1a1917;border-bottom:none;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between}.picker-body{flex:1;padding:40px 24px;max-width:860px;margin:0 auto;width:100%}.picker-title{font-size:20px;font-weight:700;color:var(--text);margin-bottom:6px}.picker-subtitle{font-size:14px;color:var(--text-muted);margin-bottom:28px}.restaurant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.restaurant-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px 16px 16px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:10px;transition:box-shadow .15s,transform .1s;position:relative;overflow:hidden;text-align:center}.restaurant-card:hover{box-shadow:0 4px 18px #0000001a;transform:translateY(-2px)}.restaurant-card-logo{width:64px;height:64px;border-radius:14px;border:2px solid;display:flex;align-items:center;justify-content:center;overflow:hidden}.restaurant-card-logo img{width:100%;height:100%;object-fit:contain}.restaurant-card-name{font-size:14px;font-weight:600;color:var(--text)}.restaurant-card-accent{position:absolute;bottom:0;left:0;right:0;height:3px}.restaurant-card-new{border-style:dashed}.create-restaurant-form{margin-top:24px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;max-width:400px}.settings-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin-bottom:10px}.settings-logo-preview{width:64px;height:64px;border-radius:12px;border:2px solid;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.staff-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:var(--bg);border-radius:8px;font-size:13px}.staff-username{font-weight:500;color:var(--text)}.color-swatches{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.color-swatch{width:30px;height:30px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .1s,border-color .1s;outline:none}.color-swatch:hover{transform:scale(1.15)}.color-swatch.selected{border-color:var(--text);box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--text)}.btn-primary{background:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}
