:root{--tavola-green-deep:#1c3a2a;--tavola-green:#2f5d44;--tavola-green-light:#3a7255;--tavola-green-pale:#d4e4d9;--tavola-gold:#c9a24b;--tavola-gold-light:#e3c976;--tavola-warm:#d4a574;--tavola-ink:#0f1a14;--tavola-muted:#6b6b5e;--tavola-line:#0f1a141f;--tavola-paper:#f4f1e8;--tavola-cream:#eae5d6;--tavola-white:#fff;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"Inter", system-ui, -apple-system, Segoe UI, sans-serif;--font-mono:"DM Mono", "Courier New", Courier, monospace;--text-xs:11px;--text-sm:13px;--text-base:16px;--text-lg:18px;--text-xl:24px;--text-2xl:28px;--text-3xl:36px;--text-4xl:46px;--text-5xl:64px;--text-hero:clamp(50px, 6.4vw, 96px);--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-xl:28px;--radius-pill:999px;--shadow-sm:0 4px 12px -4px #0f1a141a;--shadow-card:0 20px 50px -20px #0f1a1433;--shadow-hero:0 32px 80px -28px #0f1a1440;--shadow-phone:0 44px 90px -30px #0f1a1466;--ease-default:.18s ease;--ease-bounce:.3s cubic-bezier(.34, 1.56, .64, 1)}html,body,#root{font-family:var(--font-body);color:var(--text);background:var(--bg)}h1,h2,h3,h4,.page h1,.page h2{font-family:var(--font-display);font-weight:var(--weight-medium);letter-spacing:-.01em}code,kbd,pre,.mono{font-family:var(--font-mono)}*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#4f7eff;--primary-hover:#6b95ff;--primary-light:#4f7eff1a;--danger:#e5534b;--warning:#d97706;--success:#22c55e;--bg:#c8d0dc;--sidebar-bg:#18191f;--sidebar-text:#fff;--card-bg:#fff;--text:#111318;--text-light:#6b7280;--border:#e2e4e8;--sidebar-width:220px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11", "ss01", "ss03";letter-spacing:-.005em;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.stat-bar-value,.stat-number,.dash-stat-card-value,.hbar-value,.excel-y-tick,.bench-yours,.bench-market,td{font-variant-numeric:tabular-nums}.app{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);color:var(--sidebar-text);z-index:100;height:100vh;padding:1.5rem 0;transition:transform .25s;position:fixed;overflow-y:auto}.sidebar h2{color:#fff;margin-bottom:2rem;padding:0 1.5rem;font-size:1.4rem}.sidebar-brand{border-bottom:1px solid #f4f1e814;align-items:center;gap:.6rem;margin-bottom:.75rem;padding:0 1rem 1.5rem;display:flex}.sidebar-brand-icon{flex-shrink:0;width:38px;height:38px;display:block}.sidebar-brand-name{font-family:var(--font-display);font-weight:var(--weight-medium);color:var(--tavola-paper);letter-spacing:-.01em;font-size:1.4rem}.sidebar ul{list-style:none}.sidebar li a{color:var(--sidebar-text);padding:.75rem 1.5rem;text-decoration:none;transition:background .2s;display:block}.sidebar li a:hover{background:#ffffff1a}.sidebar li a.nav-active{color:#fff;background:#ffffff26;border-left:3px solid #6366f1;padding-left:calc(1.5rem - 3px);font-weight:600}.content{margin-left:var(--sidebar-width);flex:1;max-width:1200px;padding:2rem}.hamburger{z-index:200;background:var(--sidebar-bg);color:#fff;cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;display:none;position:fixed;top:1rem;left:1rem}.sidebar-overlay{z-index:99;background:#0006;display:none;position:fixed;inset:0}.page h1{color:var(--text);margin-bottom:1.5rem;font-size:1.8rem}.page h2{color:#1e293b;margin:2rem 0 1rem;font-size:1.3rem}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.stat-card{background:var(--card-bg);border:1px solid #00000017;border-radius:12px;padding:1.15rem 1.3rem;transition:box-shadow .2s,transform .2s,border-color .2s;box-shadow:0 1px 3px #00000014,0 4px 12px #0000000d}.stat-card:hover{border-color:#e2e8f0;transform:translateY(-1px);box-shadow:0 4px 14px #0f172a14}.stat-card h3{color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.45rem;font-size:.7rem;font-weight:600}.stat-number{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:#0f172a;font-size:1.85rem;font-weight:700;line-height:1.1}table{border-collapse:collapse;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.75rem 1rem}th{text-transform:uppercase;color:var(--text-light);background:#f1f5f9;font-size:.85rem;font-weight:600}tr.clickable:hover{cursor:pointer;background:#f8fafc}.booking-form,.guest-detail{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:1.5rem}.form-row{gap:1rem;margin-bottom:1rem;display:flex}.form-group{flex-direction:column;flex:1;margin-bottom:.75rem;display:flex}.form-group label{color:var(--text-light);margin-bottom:.25rem;font-size:.85rem;font-weight:600}input,textarea,select{border:1px solid var(--border);border-radius:6px;padding:.6rem .75rem;font-size:.95rem}input:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb1a}.inline-form{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.inline-form input{flex:1;min-width:120px}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.6rem 1.5rem;font-size:.95rem;transition:background .2s}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;margin-left:.5rem;padding:.6rem 1.5rem}.btn-sm{cursor:pointer;background:var(--primary);color:#fff;border:none;border-radius:4px;margin-right:.25rem;padding:.3rem .75rem;font-size:.8rem}.btn-warning{background:var(--warning)}.btn-danger{background:var(--danger)}.actions{white-space:nowrap}.badge{text-transform:capitalize;border-radius:12px;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.badge-confirmed{color:#166534;background:#dcfce7}.badge-seated{color:#1e40af;background:#dbeafe}.badge-cancelled{color:#991b1b;background:#fee2e2}.badge-no_show{color:#92400e;background:#fef3c7}.badge-vip{color:#7c3aed;background:#faf5ff;border:1px solid #7c3aed}.empty{color:var(--text-light);text-align:center;background:var(--card-bg);border:1px dashed var(--border);border-radius:8px;padding:2rem}.alert{color:#166534;background:#dcfce7;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem}.toolbar{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.search-input{width:100%;max-width:400px;margin-bottom:1.5rem}.suggested-times{align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.time-chip{color:var(--primary);border:1px solid var(--primary);cursor:pointer;background:#eff6ff;border-radius:16px;padding:.2rem .75rem;font-size:.8rem}.hint{color:var(--text-light);margin-bottom:1rem}.bar-chart{margin-bottom:2rem}.bar-row{align-items:center;margin-bottom:.5rem;display:flex}.bar-label{width:100px;font-size:.85rem}.bar{background:var(--primary);color:#fff;text-align:right;border-radius:4px;min-width:30px;padding:.3rem .75rem;font-size:.8rem}.events-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.event-card{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:1.25rem}.event-card h3{margin-bottom:.5rem}.event-card p{color:var(--text-light);margin-bottom:.75rem;font-size:.9rem}.event-meta{color:var(--text-light);flex-wrap:wrap;gap:1rem;margin-bottom:.75rem;font-size:.85rem;display:flex}.progress-bar{background:var(--border);border-radius:3px;height:6px;overflow:hidden}.progress-fill{background:var(--primary);border-radius:3px;height:100%;transition:width .3s}.legend{gap:1.5rem;margin-bottom:1rem;display:flex}.dot{vertical-align:middle;border-radius:50%;width:12px;height:12px;margin-right:.25rem;display:inline-block}.floor-canvas{border:2px dashed var(--border);background:#f1f5f9;border-radius:8px;width:100%;height:500px;position:relative;overflow:hidden}.table-element{color:#fff;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;font-weight:600;transition:box-shadow .2s;display:flex;position:absolute}.table-element:hover{box-shadow:0 4px 12px #0003}.table-element.circle{border-radius:50%}.table-element.rectangle{border-radius:8px}.table-label{font-size:.85rem}.table-capacity{opacity:.8;font-size:.7rem}.step-indicator{align-items:flex-start;gap:0;margin-bottom:2rem;display:flex}.step-item{flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.step-circle{border:2px solid var(--border);width:36px;height:36px;color:var(--text-light);z-index:1;background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex;position:relative}.step-item--active .step-circle{border-color:var(--primary);background:var(--primary);color:#fff}.step-item--complete .step-circle{border-color:var(--success);background:var(--success);color:#fff}.step-label{color:var(--text-light);text-align:center;white-space:nowrap;margin-top:.4rem;font-size:.75rem}.step-item--active .step-label{color:var(--primary);font-weight:600}.step-item--complete .step-label{color:var(--success)}.step-line{background:var(--border);z-index:0;width:100%;height:2px;position:absolute;top:18px;left:50%}.step-item--complete .step-line{background:var(--success)}.wizard-card{border:1px solid var(--border);background:#fff;border-radius:12px;max-width:640px;padding:2rem}.wizard-step h2{color:#0f172a;margin-bottom:1.5rem;font-size:1.4rem}.wizard-actions{gap:.75rem;margin-top:1.5rem;display:flex}.party-stepper{border:1px solid var(--border);border-radius:6px;align-items:center;gap:0;width:fit-content;display:flex;overflow:hidden}.stepper-btn{cursor:pointer;width:40px;height:40px;color:var(--text);background:#f1f5f9;border:none;font-size:1.2rem;transition:background .2s}.stepper-btn:hover{background:var(--border)}.stepper-value{text-align:center;min-width:50px;padding:0 1.25rem;font-size:1.1rem;font-weight:600}.time-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.time-slot{border:2px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;align-items:center;gap:.2rem;padding:.75rem;font-size:.95rem;font-weight:500;transition:all .15s;display:flex}.time-slot:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:#eff6ff}.time-slot--selected{border-color:var(--primary)!important;background:var(--primary)!important;color:#fff!important}.time-slot--full{opacity:.4;cursor:not-allowed}.slot-label{text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.no-slots{text-align:center;color:var(--text-light);padding:2rem}.no-slots p{margin-bottom:1rem}.confirmation{text-align:center;padding:1rem 0}.confirmation-icon{background:var(--success);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1.25rem;font-size:1.8rem;display:flex}.confirmation h2{margin-bottom:.5rem;font-size:1.6rem}.confirmation-sub{color:var(--text-light);margin-bottom:1.5rem}.confirmation-card{border:1px solid var(--border);text-align:left;background:#f8fafc;border-radius:8px;margin-bottom:1rem;padding:1.25rem}.confirmation-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:.5rem 0;display:flex}.confirmation-row:last-child{border-bottom:none}.confirmation-row span{color:var(--text-light);font-size:.9rem}.confirmation-row strong{font-size:.95rem}.confirmation-sms{color:var(--text-light);margin-top:.5rem;font-size:.85rem}.alert-error{color:#991b1b;background:#fee2e2}.avail-error-msg{color:#854d0e;background:#fef9c3;border:1px solid #fde047;border-radius:6px;margin-top:1rem;padding:.65rem 1rem;font-size:.9rem;font-weight:500}.dashboard-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.75rem;display:flex}.dashboard-date{color:var(--text-light);margin-top:.25rem;font-size:.95rem}.stat-card--highlight{border-left:3px solid var(--primary)}.stat-card--warn{border-left:3px solid var(--warning)}.stat-number--warn{color:var(--warning)}.dashboard-section{background:var(--card-bg);border:1px solid #eef0f4;border-radius:14px;margin-bottom:1.5rem;padding:1.5rem 1.6rem;transition:box-shadow .2s,border-color .2s;box-shadow:0 1px 2px #0f172a0a}.dashboard-section:hover{border-color:#e2e8f0;box-shadow:0 4px 16px #0f172a0f}.dashboard-section h2{color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-variant-numeric:tabular-nums;margin:0 0 1rem;font-size:.78rem;font-weight:700}.dashboard-two-col{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=700px){.dashboard-two-col{grid-template-columns:1fr}}.timeline-list{flex-direction:column;gap:0;display:flex}.timeline-row{border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:.75rem 0;display:flex}.timeline-row:last-child{border-bottom:none}.timeline-time{color:var(--primary);min-width:75px;font-size:.9rem;font-weight:700}.timeline-guest{flex-direction:column;flex:1;gap:.1rem;display:flex}.timeline-name{color:#0f172a;font-size:.95rem;font-weight:600}.timeline-phone{color:var(--text-light);font-size:.8rem}.timeline-party{text-align:center;min-width:80px}.party-pill{color:var(--text);white-space:nowrap;background:#f1f5f9;border-radius:12px;padding:.2rem .6rem;font-size:.8rem;font-weight:500}.timeline-status{text-align:right;min-width:90px}.dashboard-empty-state{color:var(--text-light);flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;display:flex}.empty-state-icon{opacity:.4;font-size:1.8rem}.dashboard-empty-state p{font-size:.9rem}.vip-list{flex-direction:column;gap:.5rem;display:flex}.vip-row{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.vip-row:last-child{border-bottom:none}.vip-avatar{color:#fff;background:linear-gradient(135deg,#7c3aed,#a855f7);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;font-weight:700;display:flex}.vip-info{flex-direction:column;flex:1;display:flex}.vip-name{color:#0f172a;font-size:.9rem;font-weight:600}.vip-visits{color:var(--text-light);font-size:.78rem}.birthday-list{flex-direction:column;gap:.5rem;display:flex}.birthday-row{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.birthday-row:last-child{border-bottom:none}.birthday-avatar{color:#fff;background:linear-gradient(135deg,#ec4899,#f97316);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;font-weight:700;display:flex}.birthday-info{flex-direction:column;flex:1;display:flex}.birthday-name{color:#0f172a;font-size:.9rem;font-weight:600}.birthday-date{color:var(--text-light);font-size:.78rem}.birthday-badge{font-size:1.2rem}.floorplan-toolbar{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.floorplan-toolbar h1{margin-bottom:.25rem}.add-table-form{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;margin-bottom:1.25rem;padding:1.25rem 1.5rem}.add-table-form h3{color:#0f172a;margin-bottom:.75rem;font-size:1rem;font-weight:700}.form-actions{margin-top:.5rem}.table-section{opacity:.75;text-transform:uppercase;letter-spacing:.04em;font-size:.6rem}.row-confirmed{border-left:3px solid #2563eb}.row-seated{border-left:3px solid #10b981}.row-cancelled{opacity:.7;border-left:3px solid #94a3b8}.row-no_show{border-left:3px solid #f59e0b}.tag-chip{white-space:nowrap;border-radius:9999px;margin-bottom:.15rem;margin-right:.3rem;padding:.15rem .55rem;font-size:.72rem;font-weight:600;display:inline-block}.tag-allergy{color:#991b1b;background:#fee2e2}.tag-preference{color:#1e40af;background:#dbeafe}.tag-tag{color:#5b21b6;background:#ede9fe}.editable-tags{position:relative}.editable-tags-list{border:1px solid var(--border);cursor:text;background:#fff;border-radius:6px;flex-wrap:wrap;align-items:center;gap:.3rem;min-height:38px;padding:.45rem .6rem;display:flex}.tag-editable{color:#5b21b6;background:#ede9fe;align-items:center;gap:.2rem;padding:.15rem .3rem .15rem .55rem;display:inline-flex}.tag-remove{color:#7c3aed;cursor:pointer;opacity:.6;background:0 0;border:none;padding:0 .15rem;font-size:.85rem;font-weight:700;line-height:1;transition:opacity .15s}.tag-remove:hover{opacity:1}.tag-input{background:0 0;border:none;outline:none;flex:1;min-width:80px;padding:0;font-size:.85rem}.tag-suggestions{z-index:20;border:1px solid var(--border);background:#fff;border-radius:6px;max-height:180px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 16px #0000001a}.tag-suggestion-item{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;padding:.45rem .75rem;font-size:.82rem;transition:background .12s;display:block}.tag-suggestion-item:hover{background:#f3f0ff}.guest-book-toggle{cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;display:flex}.guest-book-toggle:hover h2{color:var(--primary)}.guest-book-content{margin-top:1rem}.guest-book-add{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.guest-book-type-select{width:auto;min-width:130px;font-size:.82rem}.guest-book-input{border:1px solid var(--border);border-radius:6px;flex:1;padding:.45rem .7rem;font-size:.85rem}.guest-book-entries{flex-direction:column;gap:.5rem;display:flex}.guest-book-entry{border:1px solid var(--border);background:var(--card-bg,#fff);border-radius:8px;align-items:flex-start;gap:.65rem;padding:.65rem .8rem;transition:border-color .15s;display:flex}.guest-book-entry:hover{border-color:var(--primary)}.guest-book-entry-icon{flex-shrink:0;margin-top:.1rem;font-size:1.15rem}.guest-book-entry-body{flex:1;min-width:0}.guest-book-entry-type{text-transform:uppercase;letter-spacing:.04em;color:var(--text-light);font-size:.7rem;font-weight:700}.guest-book-entry-message{margin:.2rem 0 .3rem;font-size:.88rem;line-height:1.4}.guest-book-entry-date{color:var(--text-light);font-size:.72rem}.guest-book-entry-delete{cursor:pointer;color:var(--text-light);opacity:0;background:0 0;border:none;padding:0;font-size:1.1rem;transition:opacity .15s,color .15s}.guest-book-entry:hover .guest-book-entry-delete{opacity:1}.guest-book-entry-delete:hover{color:#dc2626}.manual-tags-table{width:100%}.manual-tags-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-light);border-bottom:1px solid var(--border);text-align:left;padding:.6rem .75rem;font-size:.75rem;font-weight:600}.manual-tags-table td{border-bottom:1px solid var(--border);padding:.55rem .75rem;font-size:.88rem}.manual-tags-table tr:last-child td{border-bottom:none}.manual-tags-table .text-muted{color:var(--text-light)}.manual-tag-edit-row{border:1px solid var(--border);background:#f8fafc;border-radius:6px;align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.manual-tag-edit-input{border:1px solid var(--border);border-radius:4px;min-width:140px;padding:.35rem .6rem;font-size:.85rem}.btn-link{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.82rem;font-weight:600}.btn-link:hover{text-decoration:underline}.btn-link--muted{color:var(--text-light)}.btn-link--danger{color:#dc2626}.btn-link--danger:hover{color:#b91c1c}.btn-sm{padding:.3rem .7rem;font-size:.8rem}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.sortable-th:hover{color:var(--primary)}.guest-note-preview{color:var(--text-light);text-overflow:ellipsis;white-space:nowrap;cursor:help;max-width:180px;font-size:.78rem;font-style:italic;display:inline-block;overflow:hidden}.sort-toggle{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.sort-toggle-btn{cursor:pointer;color:var(--text);border:none;border-right:1px solid var(--border);background:#fff;padding:.3rem .75rem;font-size:.82rem;transition:background .15s,color .15s}.sort-toggle-btn:last-child{border-right:none}.sort-toggle-btn:hover{background:#f1f5f9}.sort-toggle-btn.active{background:var(--primary);color:#fff}.health-score-section{margin-bottom:1.5rem}.health-score-card{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1.25rem 2rem;display:inline-flex}.health-score-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;font-size:.85rem;font-weight:600}.health-score{font-size:3rem;font-weight:800;line-height:1}.health-good{color:#16a34a}.health-warn{color:#d97706}.health-bad{color:#dc2626}.health-score-sub{color:var(--text-light);font-size:.8rem}.stat-bar{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;gap:0;margin-bottom:1.25rem;display:flex;overflow:hidden}.stat-bar-item{border-right:1px solid var(--border);flex-direction:column;flex:1;align-items:center;min-width:100px;padding:.75rem 1.5rem;display:flex}.stat-bar-item:last-child{border-right:none}.stat-bar-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem;font-size:.75rem;font-weight:600}.stat-bar-value{color:var(--primary);font-size:1.5rem;font-weight:700}.vip-star{cursor:pointer;color:#cbd5e1;background:0 0;border:none;padding:0;font-size:1.2rem;line-height:1;transition:color .15s,transform .15s}.vip-star:hover{color:#f59e0b;transform:scale(1.2)}.vip-star--on{color:#f59e0b}.note-icon-btn{cursor:pointer;background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.row-expand{background:#f8fafc;flex-wrap:wrap;align-items:center;gap:1.5rem;padding:.75rem 1rem;display:flex}.row-expand-grid{flex-wrap:wrap;flex:1;gap:2rem;display:flex}.row-expand-grid>div{flex-direction:column;gap:.1rem;display:flex}.expand-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.btn-vip{color:#7c3aed;background:#faf5ff;border:1px solid #7c3aed!important}.btn-vip:hover{background:#ede9fe}.inline-note{border-left:3px solid var(--warning);color:var(--text);background:#fffbeb;padding:.5rem 1rem;font-size:.9rem}.visit-history-card{border:1px solid var(--border);background:#f8fafc;border-radius:8px;margin-bottom:1.25rem;padding:1rem 1.25rem}.visit-history-card h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);margin-bottom:.75rem;font-size:.85rem;font-weight:700}.visit-history-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;display:grid}.visit-stat{flex-direction:column;gap:.15rem;display:flex}.visit-stat-label{color:var(--text-light);font-size:.75rem;font-weight:600}.visit-stat-value{color:var(--text);font-size:1.1rem;font-weight:700}.settings-section{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;margin-bottom:1.5rem;padding:1.5rem}.settings-section h2{text-transform:uppercase;letter-spacing:.04em;color:var(--text);margin-bottom:1rem;font-size:1rem;font-weight:700}.slot-interval-options{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.interval-option{border:2px solid var(--border);cursor:pointer;border-radius:8px;flex-direction:column;gap:.25rem;min-width:200px;padding:1rem 1.25rem;transition:border-color .15s,background .15s;display:flex}.interval-option input[type=radio]{display:none}.interval-option--selected{border-color:var(--primary);background:#eff6ff}.interval-label{color:#0f172a;font-size:1.2rem;font-weight:700}.interval-option--selected .interval-label{color:var(--primary)}.interval-desc{color:var(--text-light);font-size:.8rem}.slot-preview{margin-top:.5rem}.slot-preview-chips{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.slot-preview-chip{border:1px solid var(--border);color:var(--text);background:#f1f5f9;border-radius:6px;padding:.25rem .6rem;font-size:.8rem}.days-open-grid{flex-wrap:wrap;gap:.5rem;display:flex}.day-option{border:2px solid var(--border);cursor:pointer;color:var(--text-light);text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:.25rem;min-width:56px;padding:.6rem 1rem;font-size:.85rem;font-weight:600;transition:all .15s;display:flex}.day-option input[type=checkbox]{display:none}.day-option--selected{border-color:var(--primary);background:var(--primary);color:#fff}.theme-picker{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;display:grid}.theme-option{border:2px solid var(--border);cursor:pointer;border-radius:10px;transition:border-color .15s,box-shadow .15s;overflow:hidden}.theme-option:hover{border-color:#94a3b8;box-shadow:0 2px 8px #00000014}.theme-option--selected{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb26}.theme-preview{flex-direction:column;gap:.4rem;height:80px;padding:.75rem;display:flex}.theme-preview-bar{opacity:.9;border-radius:4px;height:16px}.theme-preview-slots{gap:.3rem;margin-top:.2rem;display:flex}.theme-preview-slot{opacity:.8;border:1.5px solid;border-radius:3px;flex:1;height:14px}.theme-option-label{color:#0f172a;padding:.5rem .75rem .1rem;font-size:.85rem;font-weight:700}.theme-option-desc{color:var(--text-light);padding:0 .75rem .6rem;font-size:.72rem}@media (width<=900px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-two-col,.events-grid{grid-template-columns:1fr}.content{padding:1.5rem}}@media (width>=641px) and (width<=1100px){:root{--sidebar-width:175px}.sidebar h2,.sidebar-brand-name{font-size:1.15rem}.sidebar-brand-icon{width:32px;height:32px}.sidebar ul a,.sidebar .nav-dropdown-toggle{padding-left:1rem;padding-right:.75rem;font-size:.85rem}.sidebar-brand{padding:0 .8rem 1rem}.content{padding:1.25rem}.fp-layout{gap:.75rem;grid-template-columns:1fr!important}.fp-palette{order:0;padding:.75rem 1rem;max-width:none!important}.fp-palette-grid{gap:.5rem;grid-template-columns:repeat(7,1fr)!important}.fp-canvas-area{order:1;min-height:500px}.fp-sidebar{order:2}.shift-tabs{flex-wrap:nowrap;gap:0;overflow-x:auto}.shift-tab{white-space:nowrap;padding:.55rem .8rem;font-size:.85rem}.bv-layout{grid-template-columns:320px 1fr;gap:.75rem}table th,table td{padding:.55rem .5rem;font-size:.82rem}.dashboard-stats{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.sidebar{width:260px;transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:4px 0 24px #0000004d}.sidebar-overlay.open{display:block}.hamburger{display:flex}.content{margin-left:0;padding:4rem 1rem 1rem}.page h1{font-size:1.4rem}.stats-grid{grid-template-columns:1fr 1fr;gap:.75rem}.stat-card{padding:1rem}.stat-number{font-size:1.5rem}.stat-bar{flex-wrap:wrap}.stat-bar-item{border-right:none;border-bottom:1px solid var(--border);min-width:50%}.stat-bar-item:nth-child(odd){border-right:1px solid var(--border)}.dashboard-header{flex-direction:column;gap:.5rem}.dashboard-two-col{grid-template-columns:1fr;gap:1rem}.form-row{flex-direction:column;gap:0}.inline-form{flex-direction:column;align-items:stretch}.inline-form input{width:100%}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}table{min-width:560px}.toolbar{flex-wrap:wrap;gap:.5rem}.search-input{max-width:100%}.time-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.btn-primary,.btn-secondary{text-align:center;width:100%;padding:.75rem 1.25rem;font-size:1rem}.wizard-actions{flex-direction:column}.wizard-actions .btn-secondary{margin-left:0}.wizard-card{border-radius:8px;padding:1.25rem}.step-label{display:none}.stepper-btn{width:48px;height:48px;font-size:1.4rem}.stepper-value{padding:0 1.5rem;font-size:1.2rem}.floor-canvas{height:340px}.floorplan-toolbar{flex-direction:column;gap:1rem}.sort-toggle{width:100%}.sort-toggle-btn{flex:1;padding:.5rem}.interval-option{min-width:100%}.events-grid{grid-template-columns:1fr}.row-expand-grid{gap:1rem}.health-score-card{width:100%}}.restaurant-public-page{background:#fff;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.restaurant-hero{background:#111;height:420px;position:relative;overflow:hidden}.restaurant-hero-img{object-fit:cover;opacity:.75;width:100%;height:100%;display:block}.restaurant-hero-overlay{background:linear-gradient(#00000014 0%,#1a3a2acc 100%);position:absolute;inset:0}.restaurant-hero-name{color:#fff;letter-spacing:-.03em;text-shadow:0 2px 12px #0006;margin:0;font-size:2.8rem;font-weight:800;line-height:1.1;position:absolute;bottom:2rem;left:2.5rem}.restaurant-page-body{align-items:flex-start;gap:2.5rem;max-width:1100px;margin:0 auto;padding:2.5rem 2rem;display:flex}.restaurant-main-col{flex:1;min-width:0}.restaurant-widget-col{flex-shrink:0;width:360px;position:sticky;top:1.5rem}.restaurant-info-bar{color:#444;flex-wrap:wrap;align-items:center;gap:0;margin-bottom:1.25rem;font-size:.9rem;display:flex}.info-chip{color:#555;align-items:center;gap:.3rem;font-size:.88rem;display:inline-flex}.info-chip+.info-chip:before{content:"·";color:#ccc;margin:0 .5rem}.social-proof{color:#92650a;background:#fef9ec;border:1px solid #f5e8b0;border-radius:20px;align-items:center;gap:.4rem;margin-bottom:1.5rem;padding:.3rem .9rem;font-size:.82rem;font-weight:600;display:inline-flex}.restaurant-note{background:#fffdf5;border-left:3px solid #e8c84a;border-radius:0 8px 8px 0;margin-bottom:1.5rem;padding:1rem 1.25rem}.restaurant-about h2{color:#111;letter-spacing:-.01em;margin-bottom:.6rem;font-size:1.1rem;font-weight:700}.restaurant-about p{color:#555;font-size:.95rem;line-height:1.75}.booking-widget-card{--wbg:#1a3a2a;--wbg2:#243d2e;--wborder:#2d5c3a;--winput-bg:#243d2e;--winput-b:#3a5c45;--wtext:#fff;--wlabel:#a0b8a8;--whead:#f5d020;--wprimary:#c9a84c;--wprimary-h:#f5d020;--wslot:#c9a84c;--wslot-h-bg:#f5d020;--wslot-h-c:#1a3a2a;--wbtn-c:#1a3a2a}.booking-widget-card.theme-ivory{--wbg:#f9f5eb;--wbg2:#f0ead6;--wborder:#d9ceaa;--winput-bg:#fff;--winput-b:#c8b97a;--wtext:#1a3a2a;--wlabel:#6b7c6e;--whead:#1a5c35;--wprimary:#1a5c35;--wprimary-h:#c9a84c;--wslot:#1a5c35;--wslot-h-bg:#c9a84c;--wslot-h-c:#fff;--wbtn-c:#fff}.booking-widget-card.theme-midnight{--wbg:#0c0c0c;--wbg2:#161616;--wborder:#2a2a2a;--winput-bg:#1a1a1a;--winput-b:#333;--wtext:#fff;--wlabel:#888;--whead:#f5d020;--wprimary:#f5d020;--wprimary-h:#c9a84c;--wslot:#f5d020;--wslot-h-bg:#c9a84c;--wslot-h-c:#0c0c0c;--wbtn-c:#0c0c0c}.booking-widget-card.theme-sage{--wbg:#e8f0e4;--wbg2:#dde8d8;--wborder:#b8d4ae;--winput-bg:#fff;--winput-b:#9dbf93;--wtext:#1a2e1f;--wlabel:#5a7a5e;--whead:#2d6a4f;--wprimary:#2d6a4f;--wprimary-h:#b8860b;--wslot:#2d6a4f;--wslot-h-bg:#b8860b;--wslot-h-c:#fff;--wbtn-c:#fff}.booking-widget-card{background:var(--wbg);color:var(--wtext);border:1px solid var(--wborder);border-radius:16px;padding:1.75rem;box-shadow:0 8px 40px #00000038}.booking-widget-card h2{color:var(--whead);letter-spacing:.04em;text-transform:uppercase;margin-bottom:1.5rem;font-size:1.15rem;font-weight:700}.widget-field{margin-bottom:1rem}.widget-label{color:var(--wlabel);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem;font-size:.75rem;font-weight:600;display:block}.widget-select,.widget-input{background:var(--winput-bg);border:1px solid var(--winput-b);width:100%;color:var(--wtext);appearance:none;cursor:pointer;border-radius:8px;padding:.75rem 1rem;font-size:.95rem;transition:border-color .15s}.widget-select:focus,.widget-input:focus{border-color:var(--wprimary);outline:none;box-shadow:0 0 0 2px #c9a84c33}.widget-select option{background:var(--wbg);color:var(--wtext)}.btn-find-table{background:var(--wprimary);width:100%;color:var(--wbtn-c);cursor:pointer;letter-spacing:.05em;text-transform:uppercase;border:none;border-radius:8px;margin-top:.5rem;padding:.9rem;font-size:1rem;font-weight:800;transition:background .2s,transform .1s}.btn-find-table:hover:not(:disabled){background:var(--wprimary-h);transform:translateY(-1px)}.btn-find-table:disabled{opacity:.5;cursor:not-allowed}.ot-time-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.ot-time-slot{color:var(--wslot);border:1.5px solid var(--wslot);cursor:pointer;text-align:center;white-space:nowrap;background:0 0;border-radius:8px;padding:.65rem .25rem;font-size:.85rem;font-weight:700;transition:all .15s}.ot-time-slot:hover{background:var(--wslot-h-bg);border-color:var(--wslot-h-bg);color:var(--wslot-h-c);transform:translateY(-1px)}.slots-label{color:#888;text-align:center;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;font-size:.75rem}.no-availability{text-align:center;padding:1rem 0}.no-availability p:first-child{color:#fff;margin-bottom:.25rem;font-weight:700}.no-availability p:last-child{color:#888;font-size:.82rem}.booking-complete-page{background:#f0ece0;min-height:100vh;padding:2.5rem 1rem}.booking-complete-inner{background:#fff;border-radius:16px;max-width:560px;margin:0 auto;padding:2rem 2rem 2.5rem;box-shadow:0 4px 32px #0000001a}.booking-complete-heading{color:#0f172a;letter-spacing:-.02em;margin-bottom:1.25rem;font-size:1.75rem;font-weight:800}.booking-summary-card{background:#f9f5eb;border:1px solid #d9ceaa;border-radius:10px;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:1rem 1.25rem;display:flex}.summary-thumbnail{object-fit:cover;border-radius:8px;flex-shrink:0;width:56px;height:56px}.summary-thumbnail--placeholder{color:#c9a84c;background:#1a3a2a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.4rem;font-weight:800;display:flex}.summary-restaurant-name{color:#0f172a;margin-bottom:.2rem;font-size:1rem;font-weight:700}.summary-detail{color:#555;margin-bottom:.1rem;font-size:.88rem}.countdown-timer{color:#1a5c35;background:#f0faf4;border:1px solid #bbddc9;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.25rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.countdown-time{color:#1a5c35;font-size:1rem;font-weight:800}.countdown-timer.countdown-warning{color:#92650a;background:#fff8e1;border-color:#f5d020}.countdown-timer.countdown-warning .countdown-time{color:#92650a}.countdown-timer.countdown-expired{color:#991b1b;background:#fee2e2;border-color:#fca5a5;justify-content:space-between}.btn-startover{color:#fff;cursor:pointer;background:#991b1b;border:none;border-radius:6px;padding:.4rem 1rem;font-size:.85rem;font-weight:600}.diner-form{margin-top:.5rem}.diner-form-heading{color:#0f172a;margin-bottom:1rem;font-size:1.1rem;font-weight:700}.diner-form-row{gap:.75rem;margin-bottom:0;display:flex}.diner-form-row .diner-form-group{flex:1}.diner-form-group{flex-direction:column;margin-bottom:.9rem;display:flex}.diner-form-group label{color:#374151;align-items:center;gap:.4rem;margin-bottom:.3rem;font-size:.82rem;font-weight:600;display:flex}.field-note{color:#9ca3af;font-size:.75rem;font-weight:400}.diner-form-group input,.diner-form-group select,.diner-form-group textarea{color:#0f172a;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;padding:.7rem .9rem;font-family:inherit;font-size:.95rem;transition:border-color .15s}.diner-form-group input:focus,.diner-form-group select:focus,.diner-form-group textarea:focus{border-color:#1a5c35;outline:none;box-shadow:0 0 0 3px #1a5c351a}.booking-error{color:#991b1b;background:#fee2e2;border-radius:8px;margin-bottom:1rem;padding:.65rem 1rem;font-size:.88rem}.btn-complete-reservation{color:#fff;cursor:pointer;letter-spacing:.03em;background:#1a5c35;border:none;border-radius:8px;width:100%;margin-top:.5rem;padding:.9rem;font-size:1rem;font-weight:700;transition:background .2s,transform .1s}.btn-complete-reservation:hover:not(:disabled){color:#1a3a2a;background:#c9a84c;transform:translateY(-1px)}.btn-complete-reservation:disabled{opacity:.6;cursor:not-allowed}@media (width<=640px){.diner-form-row{flex-direction:column;gap:0}}.booking-confirmed-page{background:#f0ece0;min-height:100vh;padding:2.5rem 1rem}.booking-confirmed-inner{text-align:center;background:#fff;border-radius:16px;max-width:480px;margin:0 auto;padding:2.5rem 2rem;box-shadow:0 4px 32px #0000001a}.confirmed-checkmark{width:64px;height:64px;margin:0 auto 1.25rem}.confirmed-checkmark svg{width:100%;height:100%}.confirmed-heading{color:#0f172a;letter-spacing:-.02em;margin-bottom:1.5rem;font-size:1.7rem;font-weight:800}.confirmed-card{text-align:left;background:#f9f5eb;border:1px solid #d9ceaa;border-radius:12px;margin-bottom:1.25rem;padding:1.25rem 1.5rem}.confirmed-restaurant{color:#1a3a2a;margin-bottom:1rem;font-size:1.05rem;font-weight:700}.confirmed-details{flex-direction:column;gap:0;display:flex}.confirmed-detail-row{border-bottom:1px solid #e8e0c8;justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.confirmed-detail-row:last-child{border-bottom:none}.confirmed-detail-label{color:#888;text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:600}.confirmed-detail-value{color:#0f172a;font-size:.95rem;font-weight:600}.confirmed-id{color:#1a5c35;font-size:1rem;font-weight:800}.confirmed-manage-link{text-align:center;margin-top:.75rem}.confirmed-manage-link a{color:#888;border:1px solid #ddd;border-radius:8px;padding:.45rem 1rem;font-size:.8rem;text-decoration:none;transition:all .2s;display:inline-block}.confirmed-manage-link a:hover{color:#1a3a2a;border-color:#1a3a2a}.confirmed-sms-note{color:#777;margin-bottom:1.75rem;font-size:.85rem}.confirmed-actions{flex-direction:column;align-items:center;gap:.75rem;display:flex}.btn-add-calendar{color:#1a3a2a;letter-spacing:.03em;cursor:pointer;background:#fff;border:2px solid #1a3a2a;border-radius:50px;align-items:center;gap:.4rem;padding:.5rem 1.25rem;font-family:Georgia,Times New Roman,serif;font-size:.8rem;font-weight:700;transition:all .2s;display:inline-flex}.btn-add-calendar:before{content:"📅";font-family:sans-serif;font-size:1rem}.tip-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.btn-add-calendar:hover{color:#c9a84c;background:#1a3a2a}.confirmed-book-another{color:#888;font-size:.85rem;text-decoration:none;transition:color .15s}.confirmed-book-another:hover{color:#1a3a2a}.cal-dropdown-wrap{display:inline-block;position:relative}.cal-dropdown{z-index:50;background:#fff;border:1.5px solid #1a3a2a;border-radius:10px;min-width:200px;position:absolute;top:calc(100% + .5rem);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 24px #0000001f}.cal-option{color:#1a3a2a;cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #f0ece0;align-items:center;gap:.6rem;width:100%;padding:.7rem 1rem;font-size:.88rem;font-weight:600;text-decoration:none;transition:background .15s;display:flex}.cal-option:last-child{border-bottom:none}.cal-option:hover{background:#f9f5eb}.cal-option-icon{font-size:1rem}.cal-logo{flex-shrink:0;width:20px;height:20px}@media (width<=640px){.restaurant-hero{height:260px}.restaurant-hero-name{font-size:1.9rem;bottom:1.25rem;left:1.25rem}.restaurant-page-body{flex-direction:column;gap:1.5rem;padding:1.25rem}.restaurant-main-col,.restaurant-widget-col{width:100%;position:static;top:auto}.ot-time-grid{grid-template-columns:repeat(3,1fr);gap:.4rem}.ot-time-slot{min-height:48px;padding:.75rem .2rem;font-size:.8rem}.booking-complete-page,.booking-confirmed-page{min-height:100dvh;padding:0}.booking-complete-inner,.booking-confirmed-inner{max-width:100%;box-shadow:none;border-radius:0;padding:1.5rem 1.25rem}input,textarea,select{padding:.75rem;font-size:16px}.time-slot{min-height:56px;padding:.9rem .5rem}.badge{padding:.15rem .45rem;font-size:.7rem}}.manage-page{background:linear-gradient(135deg,#f9f5eb 0%,#f0ebe0 100%);justify-content:center;align-items:flex-start;min-height:100vh;padding:3rem 1rem;display:flex}.manage-inner{width:100%;max-width:460px}.manage-heading{text-align:center;color:#1a3a2a;letter-spacing:-.02em;margin-bottom:1.25rem;font-size:1.5rem;font-weight:800}.manage-card{background:#fff;border-radius:14px;margin-bottom:1.25rem;padding:1.5rem;box-shadow:0 2px 12px #0000000f}.manage-restaurant{color:#1a3a2a;text-align:center;margin-bottom:1rem;font-size:1.1rem;font-weight:700}.manage-details{flex-direction:column;gap:.65rem;display:flex}.manage-detail-row{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:.4rem 0;display:flex}.manage-detail-row:last-child{border-bottom:none}.manage-label{color:#888;font-size:.85rem;font-weight:500}.manage-value{color:#1a3a2a;font-size:.9rem;font-weight:600}.manage-actions{text-align:center;margin-top:1.25rem}.btn-manage-cancel{color:#dc2626;cursor:pointer;background:0 0;border:2px solid #dc2626;border-radius:10px;padding:.75rem 2rem;font-size:.95rem;font-weight:700;transition:all .2s}.btn-manage-cancel:hover{color:#fff;background:#dc2626}.manage-policy{color:#aaa;margin-top:.75rem;font-size:.78rem}.manage-confirm-box{text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin-top:1.25rem;padding:1.25rem}.btn-manage-confirm-cancel{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:8px;flex:1;padding:.7rem 1.25rem;font-size:.9rem;font-weight:700;transition:background .2s}.btn-manage-confirm-cancel:hover{background:#b91c1c}.btn-manage-confirm-cancel:disabled{opacity:.6;cursor:not-allowed}.btn-manage-keep{color:#333;cursor:pointer;background:#f5f5f5;border:none;border-radius:8px;flex:1;padding:.7rem 1.25rem;font-size:.9rem;font-weight:700;transition:background .2s}.btn-manage-keep:hover{background:#e5e5e5}.btn-manage-rebook{color:#fff;background:#1a5c35;border-radius:10px;padding:.75rem 2rem;font-size:.95rem;font-weight:700;text-decoration:none;transition:background .2s;display:inline-block}.btn-manage-rebook:hover{color:#1a3a2a;background:#c9a84c}.manage-error{color:#dc2626;text-align:center;margin-bottom:.75rem;font-size:.85rem}@media (width<=640px){.manage-page{padding:1.5rem .75rem}.manage-card{padding:1.25rem}}.stat-trend{border-radius:4px;margin-top:.35rem;padding:.1rem .45rem;font-size:.72rem;font-weight:600;display:inline-block}.stat-trend--up{color:#16a34a;background:#f0fdf4}.stat-trend--down{color:#dc2626;background:#fef2f2}.chart-area-wrap{border:1px solid var(--border);background:#f8fafc;border-radius:8px;padding:1rem .75rem 0;position:relative}.chart-area-wrap:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(#0000,#0000 calc(25% - 1px),#e2e8f0 calc(25% - 1px) 25%);border-radius:4px;position:absolute;inset:1rem .75rem 2.75rem}.weekly-covers-chart{border-bottom:2px solid #cbd5e1;align-items:flex-end;gap:4px;height:180px;padding-bottom:0;display:flex;position:relative;overflow:hidden}.weekly-covers-chart--dense{gap:2px}.chart-x-labels{gap:4px;padding-top:.4rem;padding-bottom:.5rem;display:flex;overflow:hidden}.chart-x-labels--dense{gap:2px}.chart-x-label-col{text-align:center;color:var(--text-light);white-space:nowrap;text-overflow:clip;flex:1;font-size:.68rem;overflow:hidden}.weekly-col{flex-direction:column;flex:1;align-items:center;min-width:0;height:100%;display:flex}.weekly-bars{flex:1;justify-content:center;align-items:flex-end;width:100%;display:flex;position:relative}.weekly-bar{background:var(--primary);border-radius:4px 4px 0 0;width:60%;min-height:2px;transition:height .3s;position:relative}.weekly-bar-label{color:var(--text);font-size:.7rem;font-weight:600;position:absolute;top:-20px;left:50%;transform:translate(-50%)}.weekly-bar-avg{background:#94a3b8;border-top:2px dashed #94a3b8;height:2px;position:absolute;left:10%;right:10%}.weekly-day{color:var(--text);margin-top:.5rem;font-size:.8rem;font-weight:600}.weekly-date-label{color:var(--text-light);font-size:.65rem}.chart-legend{justify-content:center;gap:1.25rem;margin-top:1rem;display:flex}.chart-legend-item{color:var(--text-light);align-items:center;gap:.4rem;font-size:.8rem;display:flex}.stacked-chart{align-items:flex-end;gap:2px;height:180px;display:flex;overflow-x:auto}.stacked-col{flex-direction:column;flex:1;justify-content:flex-end;min-width:12px;height:100%;display:flex}.stacked-bars{flex-direction:column-reverse;display:flex}.stacked-segment{border-radius:1px;min-height:1px;transition:height .3s}.stacked-segment--online{background:var(--primary)}.stacked-segment--phone{background:var(--success)}.stacked-segment--walkin{background:var(--warning)}.timeline-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.timeline-controls{align-items:center;gap:.75rem;display:flex}.input-date,.input-select{border:1px solid var(--border);background:var(--card-bg,#fff);color:var(--text);border-radius:8px;padding:.5rem .75rem;font-size:.9rem}.gantt-container{border:1px solid var(--border);background:var(--card-bg,#fff);border-radius:10px;overflow-x:auto}.gantt-grid{position:relative}.gantt-header-row{border-bottom:2px solid var(--border);z-index:3;background:var(--card-bg,#fff);display:flex;position:sticky;top:0}.gantt-header-label{justify-content:space-between;padding:.5rem .75rem;font-size:.75rem;font-weight:600;display:flex}.gantt-cap-label{color:var(--text-light);font-weight:400}.gantt-header-cell{color:var(--text-light);text-align:center;border-left:1px solid var(--border);flex-shrink:0;padding:.5rem 0;font-size:.7rem}.gantt-section-header{color:var(--text);border-bottom:1px solid var(--border);border-top:1px solid var(--border);background:#f1f5f9;padding:.4rem .75rem;font-size:.78rem;font-weight:600}.gantt-table-label{z-index:2;background:var(--card-bg,#fff);border-right:2px solid var(--border);align-items:center;gap:.5rem;width:120px;min-width:120px;padding:0 .75rem;font-size:.85rem;display:flex;position:sticky;left:0}.gantt-tbl-num{font-weight:600}.gantt-tbl-cap{color:var(--text-light);font-size:.75rem}.gantt-row{border-bottom:1px solid #f1f5f9;display:flex}.gantt-row-slots{flex:1;min-height:48px;position:relative}.gantt-slot-line{border-left:1px solid #f1f5f9;position:absolute;top:0;bottom:0}.gantt-block{cursor:pointer;color:#fff;border-radius:6px;flex-direction:column;justify-content:center;height:40px;padding:4px 8px;font-size:.72rem;transition:opacity .15s;display:flex;position:absolute;top:4px;overflow:hidden;box-shadow:0 1px 3px #00000026}.gantt-block:hover{opacity:.85}.gantt-block-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.gantt-block-size{opacity:.85;font-size:.65rem}.gantt-summary-row{border-top:2px solid var(--border);background:#f8fafc;display:flex}.gantt-summary-label{color:var(--text-light);flex-direction:column;gap:0;font-size:.7rem;font-weight:600}.gantt-summary-cell{color:var(--text-light);border-left:1px solid #f1f5f9;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;padding:.4rem 0;font-size:.7rem;display:flex}.gantt-summary-covers{color:var(--text);font-weight:600}.gantt-now-line{z-index:5;pointer-events:none;background:#ef4444;width:2px;position:absolute;top:0;bottom:0}.shift-tabs{border-bottom:2px solid var(--border);gap:0;margin-bottom:1.5rem;display:flex}.shift-tab{cursor:pointer;color:var(--text-light);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:700;transition:color .15s}.shift-tab:hover{color:var(--text)}.shift-tab--active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.notable-list{flex-direction:column;gap:.5rem;display:flex}.notable-row{background:var(--card-bg,#fff);border:1px solid var(--border);border-radius:8px;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.notable-time{color:var(--primary);min-width:80px;font-size:.85rem;font-weight:600}.notable-info{flex-direction:column;flex:1;display:flex}.notable-name{font-size:.9rem;font-weight:600}.notable-size{color:var(--text-light);font-size:.78rem}.notable-tags{flex-wrap:wrap;gap:.35rem;display:flex}.notable-tag{border-radius:20px;padding:.15rem .5rem;font-size:.68rem;font-weight:500}.notable-tag--has-tooltip{cursor:help;border-bottom:1px dotted;transition:filter .15s}.notable-tag--has-tooltip:hover{filter:brightness(.95)}.badge-large-party{color:#1e40af;background:#dbeafe}.badge-birthday{color:#92400e;background:#fef3c7}.badge-has-notes{color:#475569;background:#f1f5f9}.badge-allergies{color:#9d174d;background:#fce7f3}.badge-prefs{color:#065f46;background:#ecfdf5}@media (width<=640px){.timeline-toolbar{flex-direction:column;align-items:flex-start}.timeline-controls{flex-wrap:wrap;width:100%}.notable-row{flex-wrap:wrap}.shift-tab{padding:.5rem 1rem;font-size:.85rem}}.content:has(.fp-page){max-width:none;padding:0;overflow:hidden}.fp-page{width:100%;overflow:hidden;max-width:none!important;padding:0!important}.fp-layout{grid-template-columns:190px 1fr 210px;height:calc(100vh - 48px);display:grid;overflow:hidden}.fp-palette{border-right:1px solid var(--border);background:var(--card-bg,#fff);width:100%;padding:1rem;overflow-y:auto}.fp-palette-title{color:var(--text);margin-bottom:.75rem;font-size:.95rem;font-weight:600}.fp-palette-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.fp-palette-item{border:1px solid var(--border);cursor:grab;aspect-ratio:1;background:#f8fafc;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:background .15s,box-shadow .15s;display:flex}.fp-palette-item:hover{background:#e2e8f0;box-shadow:0 2px 6px #0000001a}.fp-palette-item:active{cursor:grabbing}.fp-palette-item svg{max-width:100%;max-height:100%}.fp-canvas-area{flex-direction:column;min-width:0;display:flex;overflow:hidden}.fp-toolbar{border-bottom:1px solid var(--border);background:var(--card-bg,#fff);justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.fp-toolbar-buttons{align-items:center;gap:.5rem;display:flex}.fp-tool-btn{border:1px solid var(--border);cursor:pointer;width:32px;height:32px;color:var(--text);background:#f8fafc;border-radius:6px;justify-content:center;align-items:center;font-size:1rem;font-weight:600;transition:background .15s;display:flex}.fp-tool-btn:hover{background:#e2e8f0}.fp-zoom-label{color:var(--text-light);text-align:center;min-width:40px;font-size:.78rem}.fp-canvas{background:#f1f5f9;flex:1;padding:20px;position:relative;overflow:auto}.fp-canvas-inner{background:#fff;border:1px solid #d1d5db;border-radius:4px;width:100%;min-width:600px;height:calc(100% - 40px);min-height:450px;position:relative}.fp-grid-dots{pointer-events:none;z-index:0;background-image:radial-gradient(circle,#d1d5db 1px,#0000 1px);background-size:20px 20px;position:absolute;inset:0}.fp-canvas-empty{color:var(--text-light);text-align:center;pointer-events:none;font-size:1rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fp-table-on-canvas{z-index:1;justify-content:center;align-items:center;transition:box-shadow .15s;display:flex;position:absolute}.fp-table-on-canvas:hover{z-index:5}.fp-dragging{box-shadow:0 6px 20px #0003;z-index:10!important}.fp-table-body{border:2px solid #00000026;justify-content:center;align-items:center;transition:transform .1s;display:flex;box-shadow:0 1px 3px #0000001a}.fp-table-rect{border-radius:6px}.fp-table-round{border-radius:50%}.fp-table-num{color:#fff;text-shadow:0 1px 2px #0000004d;font-size:.85rem;font-weight:700}.fp-right-panel{border-left:1px solid var(--border);background:var(--card-bg,#fff);width:100%;padding:1rem;overflow-y:auto}.fp-right-panel h3{color:var(--text);margin-top:1rem;margin-bottom:.5rem;font-size:.9rem;font-weight:600}.fp-right-panel h3:first-child{margin-top:0}.fp-table-chips{flex-wrap:wrap;gap:6px;display:flex}.fp-table-chip{border:1px solid var(--border);width:36px;height:36px;color:var(--text);background:#f1f5f9;border-radius:6px;justify-content:center;align-items:center;font-size:.78rem;font-weight:600;display:flex}.fp-dining-areas{flex-direction:column;gap:4px;display:flex}.fp-area-item{cursor:pointer;border-radius:6px;justify-content:space-between;padding:.5rem .75rem;transition:background .15s;display:flex}.fp-area-item:hover{background:#f1f5f9}.fp-area-active{border:1px solid var(--primary);background:#eff6ff}.fp-area-name{font-size:.85rem;font-weight:500}.fp-area-count{color:var(--text-light);font-size:.75rem}.fp-legend{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1rem}.fp-legend-items{flex-direction:column;gap:.4rem;font-size:.8rem;display:flex}.fp-legend-items span{align-items:center;gap:.4rem;display:flex}.fp-table-selected .fp-table-body{outline:3px solid var(--primary);outline-offset:2px}.fp-delete-btn{color:#fff;cursor:pointer;z-index:20;background:#ef4444;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;min-width:auto;height:24px;padding:0;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:-12px;right:-12px;box-shadow:0 2px 6px #0003}.fp-delete-btn:hover{background:#dc2626;transform:scale(1.1)}.fp-selected-detail{border:1px solid var(--border);background:#f8fafc;border-radius:8px;margin-bottom:1rem;padding:.75rem}.fp-selected-detail h3{color:var(--primary);margin:0 0 .5rem}.fp-detail-rows{flex-direction:column;gap:.35rem;margin-bottom:.75rem;display:flex}.fp-detail-row{justify-content:space-between;font-size:.8rem;display:flex}.fp-detail-row span:first-child{color:var(--text-light)}.fp-detail-row span:last-child{font-weight:500}.fp-delete-panel-btn{color:#dc2626;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;width:100%;padding:.5rem;font-size:.8rem;font-weight:600;transition:background .15s}.fp-delete-panel-btn:hover{background:#fee2e2}.fp-chip-selected{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.fp-chip-selected .fp-chip-num{color:#fff}@media (width<=640px){.fp-layout{flex-direction:column;height:auto;display:flex}.fp-palette{border-right:none;border-bottom:1px solid var(--border);max-height:180px}.fp-right-panel{border-left:none;border-top:1px solid var(--border)}.fp-canvas{min-height:400px}}.excel-chart{flex-direction:column;gap:0;width:100%;display:flex}.excel-chart-header{align-items:baseline;gap:.75rem;margin-bottom:1rem;display:flex}.excel-chart-header h2{margin:0!important}.excel-chart-subtitle{color:#9ca3af;font-size:.75rem;font-weight:400}.excel-chart-body{gap:0;height:240px;display:flex}.excel-y-axis{flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:flex-end;width:40px;padding:0 8px 0 0;display:flex}.excel-y-tick{color:#9ca3af;font-variant-numeric:tabular-nums;font-size:.7rem;line-height:1}.excel-plot-area{background:linear-gradient(#fafbfc 0%,#f5f7fa 100%);border:1px solid #eef0f4;border-color:#eef0f4 #eef0f4 #cbd5e1 #e2e8f0;border-radius:4px;flex:1;position:relative;overflow:hidden}.excel-gridline{border-top:1px dashed #0f172a14;height:0;position:absolute;left:0;right:0}.excel-bars-row{align-items:flex-end;gap:2px;padding:4px 6px 0;display:flex;position:absolute;inset:0}.excel-bar-col{flex:1;align-items:flex-end;min-width:0;height:100%;display:flex}.excel-bar-inner{align-items:flex-end;width:100%;height:100%;display:flex;position:relative}.excel-bar{z-index:1;background:linear-gradient(#818cf8 0%,#6366f1 60%,#4f46e5 100%);border-radius:4px 4px 0 0;width:100%;min-height:1px;transition:height .4s cubic-bezier(.4,0,.2,1),filter .2s;position:relative;box-shadow:inset 0 1px #ffffff26}.excel-bar-col:hover .excel-bar{filter:brightness(1.08)}.excel-bar-value{text-align:center;color:#475569;z-index:2;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:.65rem;font-weight:600;position:absolute;top:-18px;left:0;right:0}.excel-avg-marker{z-index:3;background:#f59e0b;border:1px solid #b45309;width:7px;height:7px;margin-bottom:-4px;position:absolute;left:50%;transform:translate(-50%)rotate(45deg)}.excel-x-axis{margin-top:2px;display:flex}.excel-y-spacer{flex-shrink:0;width:36px;padding-right:6px}.excel-x-labels{flex:1;gap:2px;padding:0 6px;display:flex}.excel-x-label{text-align:center;color:#9ca3af;white-space:nowrap;flex:1;min-width:0;padding-top:4px;font-size:.68rem;font-weight:500;overflow:hidden}.excel-legend-row-inline{color:#9ca3af;align-items:center;gap:.5rem;margin-top:.75rem;font-size:.75rem;display:flex}.excel-inline-swatch{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.excel-avg-diamond{color:#f59e0b;margin-left:.75rem;font-size:.7rem}.sw-bar{border-radius:2px 2px 0 0;width:100%;min-height:1px;transition:height .3s}.sw-bar-count{text-align:center;color:#374151;font-size:.78rem;font-weight:700;position:absolute;top:-20px;left:0;right:0}.sw-x-label{flex-direction:column!important;align-items:center!important;gap:1px!important;display:flex!important}.sw-day-name{color:#374151;font-size:.72rem;font-weight:700}.sw-day-date{color:#9ca3af;font-size:.62rem}.monthly-bar-total{text-align:center;color:#374151;white-space:nowrap;font-size:.6rem;font-weight:700;position:absolute;top:-18px;left:0;right:0}.area-chart-wrap{background:#f2f2f2;border:1px solid #bfbfbf;border-radius:6px;width:100%;overflow:hidden}.area-chart-svg{cursor:crosshair;width:100%;height:180px;display:block}.area-tick-label{fill:#6b7280;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:9px}.area-x-label{fill:#6b7280;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:9px;font-weight:600}.area-tooltip-title{fill:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:8px;font-weight:700}.area-tooltip-text{fill:#e2e8f0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:7.5px}.chart-tooltip{color:#f1f5f9;white-space:nowrap;pointer-events:none;z-index:100;background:#0f172a;border-radius:8px;margin-top:-6px;padding:.5rem .85rem;font-size:.76rem;line-height:1.6;position:absolute;transform:translate(-50%,-100%);box-shadow:0 8px 24px #0000004d}.chart-tooltip:after{content:"";border:5px solid #0000;border-top-color:#0f172a;border-bottom:none;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.chart-tooltip-title{border-bottom:1px solid #ffffff26;margin-bottom:.25rem;padding-bottom:.25rem;font-size:.78rem;font-weight:700}.excel-donut-wrap{flex-direction:column;flex:1;align-items:center;gap:1rem;display:flex}.excel-donut-svg{filter:drop-shadow(0 2px 8px #0000001a);width:130px;height:130px}.excel-donut-total{fill:#0f172a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:6px;font-weight:700}.excel-donut-sublabel{fill:#9ca3af;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:3.5px}.excel-donut-legend{border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;width:100%;font-size:.78rem;display:flex;overflow:hidden}.excel-legend-row{border-bottom:1px solid #f3f4f6;grid-template-columns:10px 1fr 40px 36px;align-items:center;gap:.5rem;padding:.4rem .75rem;display:grid}.excel-legend-row:last-child{border-bottom:none}.excel-legend-row:nth-child(2n){background:#fafafa}.excel-legend-total{background:#f8fafc;border-top:1px solid #e5e7eb;grid-template-columns:10px 1fr 40px 36px;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.78rem;display:grid}.excel-legend-swatch{border-radius:50%;flex-shrink:0;width:10px;height:10px}.excel-legend-name{color:#374151;font-size:.78rem}.excel-legend-val{text-align:right;color:#0f172a;font-size:.78rem;font-weight:700}.excel-legend-pct{text-align:right;color:#9ca3af;font-size:.72rem}.dash-page{max-width:1200px}.dash-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.75rem;display:flex}.dash-period-selector{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;gap:2px;padding:3px;display:flex}.dash-period-btn{color:#64748b;cursor:pointer;letter-spacing:-.005em;font-variant-numeric:tabular-nums;background:0 0;border:none;border-radius:6px;padding:.42rem .95rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.dash-period-btn:hover{color:#0f172a;background:#fff}.dash-period-btn--active{color:#0f172a;background:#fff;box-shadow:0 1px 3px #0f172a1a,0 0 0 1px #0f172a08}.dash-stats-grid{grid-template-columns:repeat(3,1fr);margin-bottom:1.5rem}@media (width>=1100px){.dash-stats-grid{grid-template-columns:repeat(6,1fr)}}@media (width<=700px){.dash-stats-grid{grid-template-columns:repeat(2,1fr)}}.stat-sub{color:#9ca3af;margin-top:.25rem;font-size:.72rem}.dash-pos-banner{background:#f8fafc;border:1px solid #e2e8f0;border-left:3px solid #2563eb;border-radius:10px;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.85rem 1.25rem;display:flex}.dash-pos-icon{opacity:.7;flex-shrink:0;font-size:1.25rem}.dash-pos-sub{color:var(--text-light);margin-top:.1rem;font-size:.78rem;display:block}.btn-sm{flex-shrink:0;padding:.4rem .9rem!important;font-size:.8rem!important}.date-nav{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:0;display:inline-flex;overflow:hidden}.date-nav input[type=date]{background:#fff;border:none;border-left:1px solid #e2e8f0;border-right:1px solid #e2e8f0;border-radius:0;outline:none;margin:0;padding:.5rem .75rem;font-family:inherit;font-size:.88rem}.date-nav-btn{color:#475569;cursor:pointer;background:#fff;border:none;padding:.45rem .85rem;font-family:inherit;font-size:1.25rem;line-height:1;transition:background .15s}.date-nav-btn:hover{color:#0f172a;background:#f1f5f9}.dash-spend-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.dash-header-controls{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.dash-chart-slot{flex-direction:column;min-height:280px;display:flex}.dash-chart-slot>*{flex:1;min-height:0}.dash-chart-main,.dash-chart-side{min-height:460px}.hbar-list{flex-direction:column;gap:.9rem;padding:1rem 0 .5rem;display:flex}.hbar-row{grid-template-columns:70px 1fr 50px;align-items:center;gap:.75rem;display:grid}.hbar-label{color:#475569;font-size:.8rem;font-weight:500}.hbar-track{background:#f1f5f9;border-radius:4px;height:14px;overflow:hidden}.hbar-fill{border-radius:4px;height:100%;transition:width .3s}.hbar-value{color:#0f172a;text-align:right;font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:600}.dash-pos-cta{border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.75rem;padding-top:.75rem;display:flex}.dash-charts-row{grid-template-columns:1fr 300px;gap:1.5rem;margin-bottom:1.5rem;display:grid}@media (width<=900px){.dash-charts-row{grid-template-columns:1fr}}.dash-chart-main,.dash-chart-side{margin-bottom:0}.dash-chart-side{flex-direction:column;display:flex}.source-summary{flex-direction:column;flex:1;align-items:center;gap:1.25rem;display:flex}.source-donut-wrap{flex-shrink:0;width:120px;position:relative}.source-donut{width:120px;height:120px;transform:rotate(-90deg)}.donut-label{fill:var(--text);transform-origin:18px 18px;font-size:7px;font-weight:700;transform:rotate(90deg)}.donut-center-label{color:var(--text-light);white-space:nowrap;font-size:.7rem;position:absolute;bottom:-18px;left:50%;transform:translate(-50%)}.source-breakdown-list{flex-direction:column;gap:.6rem;width:100%;display:flex}.source-item{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.source-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.source-name{color:var(--text);flex:1}.source-count{color:var(--text);text-align:right;min-width:32px;font-weight:600}.source-pct{color:var(--text-light);text-align:right;min-width:36px;font-size:.78rem}.market-insights-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:1.25rem;display:flex}.market-insights-header h2{margin-bottom:.25rem!important}.market-badge{color:#16a34a;white-space:nowrap;letter-spacing:.02em;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:20px;padding:.2rem .75rem;font-size:.72rem;font-weight:600}.benchmark-grid{grid-template-columns:1fr 1fr;gap:1.25rem 2rem;display:grid}@media (width<=700px){.benchmark-grid{grid-template-columns:1fr}}.benchmark-row{flex-direction:column;gap:.35rem;display:flex}.benchmark-label{color:var(--text);font-size:.82rem;font-weight:600}.benchmark-bars{flex-direction:column;gap:.25rem;display:flex}.benchmark-track{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden}.benchmark-track--market{background:#f1f5f9}.benchmark-fill{border-radius:4px;height:100%;transition:width .4s}.benchmark-fill--yours{background:var(--primary)}.benchmark-fill--market{background:#94a3b8}.benchmark-values{justify-content:space-between;font-size:.75rem;display:flex}.benchmark-you{font-weight:600}.benchmark-better{color:var(--success)}.benchmark-worse{color:var(--danger,#ef4444)}.benchmark-market{color:var(--text-light)}.pos-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.pos-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;gap:1rem;padding:1.1rem 1.2rem;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.pos-card:hover{border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 4px 16px #0f172a0f}.pos-card--connected{border-color:#10b981;box-shadow:0 0 0 1px #10b98133}.pos-card-logo{letter-spacing:-.02em;border-radius:10px;flex:0 0 56px;justify-content:center;align-items:center;height:56px;font-size:1.6rem;font-weight:700;display:flex}.pos-card-body{flex:1;min-width:0}.pos-card-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.pos-card-head h3{color:#0f172a;margin:0;font-size:1rem;font-weight:600}.pos-card-desc{color:#64748b;margin:0 0 .75rem;font-size:.82rem;line-height:1.4}.pos-card-meta{color:#475569;background:#f8fafc;border-radius:6px;margin-bottom:.75rem;padding:.5rem .6rem;font-size:.78rem}.pos-card-meta div{margin-bottom:.2rem}.pos-card-meta div:last-child{margin-bottom:0}.pos-card-meta span{color:#94a3b8;text-transform:uppercase;letter-spacing:.03em;margin-right:.35rem;font-size:.68rem}.pos-error{color:#dc2626}.pos-error span{color:#fca5a5}.pos-card-actions{gap:.5rem;display:flex}.pos-badge{text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f1f5f9;border-radius:999px;padding:.2rem .5rem;font-size:.68rem;font-weight:600}.pos-badge--on{color:#047857;background:#d1fae5}.pos-badge--off{color:#92400e;background:#fef3c7}.pos-toast{cursor:pointer;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.88rem}.pos-toast--success{color:#047857;background:#d1fae5;border:1px solid #6ee7b7}.pos-toast--error{color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5}.pos-help{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:1.2rem 1.4rem}.pos-help h3{color:#0f172a;margin:0 0 .6rem;font-size:.95rem;font-weight:600}.pos-help ol{color:#475569;margin:0;padding-left:1.2rem;font-size:.84rem;line-height:1.6}.dashboard-date-nav .dash-period-selector{margin-left:.6rem}.dash-period-btn--pickable{cursor:pointer;align-items:center;gap:.35rem;display:inline-flex;position:relative}.dash-period-btn--pickable input[type=date]{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;outline:none;padding:0}.dash-period-btn--pickable input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.row-expand-actions{flex-wrap:wrap;gap:.5rem;margin-top:.6rem;display:flex}.flow-grid-wrapper{background:#1a202c;border:1px solid #2d3748;border-radius:8px;overflow-x:auto}.flow-table{border-collapse:collapse;width:100%;min-width:900px}.flow-th{color:#a0aec0;text-align:center;white-space:nowrap;background:#1e2533;border-bottom:2px solid #2d3748;min-width:48px;padding:.5rem .3rem;font-size:.68rem;font-weight:600}.flow-th-tbl{text-align:left;width:48px;min-width:48px}.flow-th-cap{text-align:left;width:36px;min-width:36px}.flow-th-hour{border-left:1px solid #2d3748}.flow-th-half{border-left:1px dashed #252d3a}.flow-td{background:#1a202c;border-bottom:1px solid #252d3a;height:42px;padding:0;position:relative}.flow-td-hour{border-left:1px solid #2d3748}.flow-td:not(.flow-td-hour):not(.flow-td-tbl):not(.flow-td-cap):not(.flow-td-block){border-left:1px dashed #252d3a}.flow-td-tbl{color:#e2e8f0;background:#1e2533;border-right:1px solid #2d3748;padding:0 .5rem;font-size:.85rem;font-weight:700}.flow-td-cap{color:#718096;background:#1e2533;border-right:1px solid #2d3748;padding:0 .4rem;font-size:.75rem}.flow-td-block{padding:2px}.flow-bar{white-space:nowrap;cursor:default;border-radius:5px;justify-content:space-between;align-items:center;gap:.4rem;height:100%;min-height:36px;padding:.2rem .5rem;font-size:.75rem;transition:opacity .15s;display:flex;overflow:hidden}.flow-bar--confirmed{color:#bfdbfe;background:#2b4a7a;border-left:3px solid #60a5fa}.flow-bar--seated{color:#a7f3d0;background:#1a4a3a;border-left:3px solid #34d399}.flow-bar-name{text-overflow:ellipsis;font-weight:600;overflow:hidden}.flow-bar-meta{opacity:.7;flex-shrink:0;font-size:.68rem}.flow-bar[draggable=true]{cursor:grab}.flow-bar[draggable=true]:active{cursor:grabbing;opacity:.5}.flow-td-drop{outline-offset:-2px;outline:2px dashed #60a5fa;background:#60a5fa26!important}.flow-th-now{font-weight:700;color:#f87171!important}.flow-td-now{position:relative}.flow-td-now:before{content:"";z-index:2;background:#ef4444;width:2px;height:100%;position:absolute;top:0;left:0}.flow-th-blocked{color:#92754a!important}.flow-td-blocked{pointer-events:none;background:repeating-linear-gradient(135deg,#b48c502e 0 4px,#b48c500f 4px 8px)!important}.flow-td-blocked:after{content:"";pointer-events:none;border-left:2px solid #b48c5059;border-right:2px solid #b48c5059;position:absolute;inset:0}.daily-summary-top{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.daily-summary-label{color:#6366f1;font-size:.85rem;font-weight:600}.daily-summary-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;display:flex}.daily-summary-title{color:#0f172a;margin:0 0 .25rem;font-size:1.1rem;font-weight:600}.daily-summary-stats{color:#64748b;margin:0;font-size:.82rem}.daily-summary-actions{gap:.75rem;display:flex}.btn-icon{cursor:pointer;color:#475569;background:0 0;border:none;border-radius:6px;padding:.3rem .4rem;font-size:.85rem;transition:background .15s,color .15s}.btn-icon:hover{color:#0f172a;background:#f1f5f9}.summary-table th{text-transform:uppercase;letter-spacing:.04em;color:#64748b;border-bottom:2px solid #e5e7eb;padding:.6rem .75rem;font-size:.72rem}.summary-table td{padding:.6rem .75rem;font-size:.85rem}.summary-guest{color:#0f172a;font-weight:600}.summary-phone{color:#94a3b8;font-size:.75rem}.summary-note{color:#475569;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.78rem;display:inline-block;overflow:hidden}.summary-made{color:#94a3b8;white-space:nowrap;font-size:.78rem}@media print{.sidebar,.hamburger,.stat-bar,.toolbar,.shift-tabs,.daily-summary-actions{display:none!important}.page{padding:0}.daily-summary-header{margin-bottom:.5rem}}.reservation-section-heading{color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;font-size:.95rem;font-weight:600}.shift-list{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.shift-row{background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .65rem;display:flex}.shift-row--new{background:#f8fafc;border-style:dashed}.shift-row input[type=time],.shift-row input.shift-name{font:inherit;color:#0f172a;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:.35rem .55rem}.shift-row input.shift-name{flex:1;min-width:120px}.shift-row input[type=time]{width:7rem}.shift-sep{color:#94a3b8;font-size:.85rem}.blocked-add-row{background:#f8fafc;border:1px dashed #e5e7eb;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.blocked-add-row select,.blocked-add-row input[type=date],.blocked-add-row input[type=time],.blocked-add-row input[type=text],.blocked-add-row input:not([type]){font:inherit;color:#0f172a;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:.35rem .55rem;font-size:.85rem}.blocked-add-row select{min-width:110px}.blocked-add-row input[type=time]{width:7rem}.blocked-label{color:#334155;min-width:90px;font-size:.85rem;font-weight:600}.blocked-time{color:#64748b;font-variant-numeric:tabular-nums;font-size:.85rem}.blocked-reason{color:#92754a;background:#fef3c7;border-radius:4px;flex:1;padding:2px 8px;font-size:.78rem}.rules-grid{flex-direction:column;gap:0;display:flex}.rule-row{border-bottom:1px solid #f1f5f9;grid-template-columns:180px 1fr;align-items:center;gap:.5rem 1.5rem;padding:1rem 0;display:grid}.rule-row:last-child{border-bottom:none}.rule-label{color:#1e293b;font-size:.9rem;font-weight:600}.rule-value{color:#334155;font-size:.88rem}.rule-value select{font:inherit;color:#0f172a;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:.35rem .55rem;font-size:.85rem}.rule-hint{color:#94a3b8;grid-column:1/-1;margin-top:-.2rem;font-size:.75rem}.toggle-label{cursor:pointer;align-items:center;gap:.5rem;font-size:.88rem;display:flex}.toggle-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.combo-list{flex-direction:column;gap:1rem;display:flex}.combo-group{background:#fafbfc;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.combo-group-header{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.combo-group-label{color:#1e293b;font-size:.95rem;font-weight:700}.combo-group-count{color:#64748b;font-size:.82rem}.combo-group-tables{flex-wrap:wrap;gap:.4rem;display:flex}.combo-table-chip{color:#334155;background:#fff;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:.25rem;padding:.3rem .7rem;font-size:.82rem;font-weight:500;display:inline-flex}.combo-section{color:#94a3b8;font-weight:400}.fp-embedded{padding:0}.nav-dropdown-parent{position:relative}.nav-dropdown-toggle{width:100%;color:var(--sidebar-text);font:inherit;font-size:inherit;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;transition:background .2s;display:flex}.nav-dropdown-toggle:hover{background:#ffffff1a}.nav-dropdown-toggle.nav-active{color:#fff;background:#ffffff26;border-left:3px solid #6366f1;padding-left:calc(1.5rem - 3px);font-weight:600}.nav-dropdown-toggle.nav-dropdown-open{color:#fff}.nav-dropdown-arrow{opacity:.6;font-size:.7rem;transition:transform .2s}.nav-dropdown-list{opacity:0;background:#00000026;max-height:0;list-style:none;transition:max-height .25s,opacity .2s;overflow:hidden}.nav-dropdown-list--open{opacity:1;max-height:240px}.nav-dropdown-list li a{color:#a0aec0;padding:.55rem 1.5rem .55rem 2.25rem;font-size:.84rem;text-decoration:none;transition:background .15s,color .15s;display:block}.nav-dropdown-list li a:hover{color:#e2e8f0;background:#ffffff14}.nav-dropdown-list li a.nav-active{color:#fff;background:#ffffff1f;border-left:3px solid #818cf8;padding-left:calc(2.25rem - 3px);font-weight:600}.sidebar .nav-sub{color:#94a3b8;letter-spacing:0;margin-top:.1rem;font-size:.68rem;font-weight:400;display:block}.sidebar .nav-indent{color:#a0aec0;padding-left:.75rem;font-size:.82rem}.dashboard-date-nav{align-items:center;gap:.4rem;margin-top:.25rem;display:flex}.dashboard-date-nav .dashboard-date{min-width:12rem;margin:0}.date-nav-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;font-size:1.1rem;line-height:1;transition:background .15s,border-color .15s;display:flex}.date-nav-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.date-nav-btn:disabled{opacity:.35;cursor:not-allowed}.date-nav-today{text-transform:uppercase;letter-spacing:.04em;color:#6366f1;cursor:pointer;background:#fff;border:1px solid #6366f1;border-radius:6px;margin-left:.3rem;padding:.2rem .6rem;font-size:.72rem;font-weight:600}.date-nav-today:hover{background:#eef2ff}.pos-help code{color:#0f172a;background:#e2e8f0;border-radius:4px;padding:.1rem .35rem;font-size:.78rem}.bv-layout{grid-template-columns:360px 1fr;gap:1rem;height:calc(100vh - 280px);min-height:600px;display:grid}.bv-left{border:1px solid var(--border);background:#fff;border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.bv-left-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.5rem;padding:.75rem;display:flex}.bv-search{border:1px solid var(--border);border-radius:6px;flex:1;min-width:140px;padding:.45rem .7rem;font-size:.85rem}.bv-new-btn{white-space:nowrap;padding:.45rem .75rem;font-size:.82rem}.bv-list-section{border-bottom:1px solid var(--border)}.bv-list-header{background:#f8fafc;justify-content:space-between;align-items:center;padding:.6rem .8rem;display:flex}.bv-list-title{font-size:.92rem;font-weight:600}.bv-list-subtitle{color:var(--text-light);font-size:.72rem;text-decoration:underline}.bv-list-counts{color:var(--text-light);gap:.6rem;font-size:.82rem;display:flex}.bv-list{flex:1;overflow-y:auto}.bv-card{cursor:pointer;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.55rem .75rem;transition:background .12s;display:flex}.bv-card:hover{background:#f8fafc}.bv-card--selected{border-left:3px solid var(--primary);background:#eff6ff}.bv-card--removed{opacity:.55}.bv-card-left{align-items:center;gap:.5rem;min-width:0;display:flex}.bv-card-info{min-width:0}.bv-card-time{color:var(--text-light);align-items:baseline;gap:.4rem;font-size:.78rem;display:flex}.bv-card-party{color:#1e293b;font-weight:700}.bv-card-hour{font-size:.78rem}.bv-card-name{color:#0f172a;font-size:.88rem;font-weight:600}.bv-card-right{gap:.3rem;display:flex}.bv-card-table{color:#fff;background:#1e293b;border-radius:4px;padding:.15rem .45rem;font-size:.72rem;font-weight:600}.bv-status{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;font-weight:700;display:inline-flex}.bv-status--pending{color:#475569;background:#e5e7eb}.bv-status--seated{color:#fff;background:#10b981}.bv-status--cancel{color:#fff;background:#ef4444}.bv-status--noshow{color:#fff;background:#f59e0b}.bv-status--walkin{color:#fff;background:#8b5cf6}.bv-right{border:1px solid var(--border);background:#fff;border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.bv-floor{flex-direction:column;height:100%;display:flex}.bv-sections{border-bottom:1px solid var(--border);background:#f8fafc;gap:0;padding:0 .5rem;display:flex}.bv-section-btn{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.6rem .9rem;font-size:.82rem;font-weight:500;transition:all .12s}.bv-section-btn:hover{color:var(--primary)}.bv-section-btn--active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.bv-floor-canvas{background:#fafbfc radial-gradient(circle,#0000000d 1px,#0000 1px) 0 0/20px 20px;flex:1;min-height:400px;position:relative;overflow:auto}.bv-table{cursor:pointer;-webkit-user-select:none;user-select:none;background:#d1d5db;border:2px solid #9ca3af;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute}.bv-table:hover{z-index:2;transform:scale(1.04);box-shadow:0 4px 12px #00000026}.bv-table--round{border-radius:50%}.bv-table--booked{background:#1e293b;border-color:#0f172a}.bv-table--booked .bv-table-num{color:#94a3b8;font-size:.95rem}.bv-table-num{color:#475569;font-size:1.25rem;font-weight:700;line-height:1.1}.bv-table-times{flex-wrap:wrap;justify-content:center;gap:2px 4px;max-width:100%;margin-top:2px;display:flex}.bv-table-time{color:#fff;background:#ffffff1a;border-radius:3px;padding:1px 4px;font-size:.8rem;font-weight:700;line-height:1}.bv-table--multi .bv-table-time{background:#3b82f666;font-size:.72rem}.bv-table-more{color:#cbd5e1;font-size:.68rem;font-weight:600}.bv-empty{width:100%;color:var(--text-light);justify-content:center;align-items:center;padding:2rem;display:flex}.bv-wizard-panel{flex-direction:column;height:100%;display:flex;overflow:hidden}.bv-wizard-header{border-bottom:1px solid var(--border);background:#f8fafc;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .8rem;display:flex}.bv-wizard-title{margin:0;font-size:.95rem;font-weight:600}.bv-wizard-body{flex:1;padding:.75rem;overflow-y:auto}.booking-compact{padding:0}.booking-compact .step-indicator{gap:.15rem;margin-bottom:.8rem}.booking-compact .step-label{font-size:.7rem}.booking-compact .step-circle{width:22px;height:22px;font-size:.75rem}.booking-compact .step-line{flex:1;min-width:12px}.booking-compact .wizard-card{box-shadow:none;border:1px solid var(--border);padding:.75rem}.booking-compact .wizard-step h2{margin:0 0 .75rem;font-size:1rem}.booking-compact .form-row{flex-direction:column;gap:.5rem}.booking-compact .form-group label{font-size:.78rem}.booking-compact .form-group input,.booking-compact .form-group textarea,.booking-compact .form-group select{padding:.4rem .6rem;font-size:.85rem}.booking-compact .time-slots{grid-template-columns:repeat(3,1fr);gap:.35rem}.booking-compact .time-slot{padding:.4rem .25rem;font-size:.82rem}.booking-compact .btn-primary,.booking-compact .btn-secondary{padding:.45rem .8rem;font-size:.82rem}@media (width<=900px){.bv-layout{grid-template-columns:1fr;height:auto}.bv-left{max-height:400px}}.fp-combo-bar{background:var(--tavola-cream);border:1px solid var(--tavola-line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.6rem .75rem;display:flex}.fp-combo-selection{align-items:center;gap:.5rem;display:flex}.fp-combo-label{color:var(--tavola-ink);font-size:.85rem;font-weight:500}.fp-combo-list{flex-wrap:wrap;align-items:center;gap:.4rem;margin-left:auto;display:flex}.fp-combo-list-label{color:var(--tavola-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.fp-combo-chip{background:var(--tavola-gold);color:var(--tavola-green-deep);border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.78rem;font-weight:600;display:inline-flex}.fp-combo-chip-x{color:var(--tavola-green-deep);cursor:pointer;opacity:.65;background:0 0;border:none;padding:0 .1rem;font-size:.95rem;line-height:1}.fp-combo-chip-x:hover{opacity:1}.fp-table-multiselected{animation:1.2s ease-in-out infinite alternate fpMultiPulse;box-shadow:0 0 0 3px var(--tavola-gold)!important}@keyframes fpMultiPulse{0%{box-shadow:0 0 0 3px var(--tavola-gold)}to{box-shadow:0 0 0 5px #c9a24b73}}.fp-table-in-combo{outline:2px dashed var(--tavola-green-light);outline-offset:2px}html[data-theme=dark]{--bg:#0f1012;--card-bg:#1a1b1f;--card-alt:#222429;--text:#e8e9ec;--text-light:#9499a8;--border:#ffffff17;--sidebar-bg:#0a0b0e;--sidebar-text:#e8e9ec;--primary-light:#4f7eff26}html[data-theme=dark] body{color:var(--text);background:var(--bg)}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:var(--card-alt);color:var(--text);border-color:var(--border)}html[data-theme=dark] .stat-bar-item,html[data-theme=dark] .settings-section,html[data-theme=dark] .dashboard-card,html[data-theme=dark] .guest-detail,html[data-theme=dark] .visit-history-card,html[data-theme=dark] .bv-left,html[data-theme=dark] .bv-right,html[data-theme=dark] .wizard-card{background:var(--card-bg);color:var(--text)}html[data-theme=dark] .dash-period-btn,html[data-theme=dark] .shift-tab,html[data-theme=dark] .sort-toggle-btn{color:var(--text-light)}html[data-theme=dark] .shift-tab--active,html[data-theme=dark] .sort-toggle-btn.active{color:var(--primary)}html[data-theme=dark] table thead th{background:var(--card-alt);color:var(--text-light)}html[data-theme=dark] tr:hover td{background:var(--card-alt)}html[data-theme=dark] .bv-floor-canvas{background-color:#0d0e11;background-image:radial-gradient(circle,#ffffff0a 1px,#0000 1px)}html[data-theme=dark] .bv-table{background:#252830;border-color:#32363f}html[data-theme=dark] .bv-table-num{color:#9499a8}html[data-theme=dark] .bv-card:hover{background:var(--card-alt)}html[data-theme=dark] .bv-card--selected{background:#4f7eff1f}:root{--app-brightness:100%}body{filter:brightness(var(--app-brightness))}.theme-mode-picker{grid-template-columns:repeat(2,1fr);gap:.75rem;max-width:560px;margin-top:.5rem;display:grid}.theme-mode-option{border:2px solid var(--border);cursor:pointer;background:var(--card-bg);border-radius:10px;grid-template-rows:auto auto 1fr;gap:.35rem;padding:1rem .85rem;transition:border-color .15s,transform .1s;display:grid}.theme-mode-option:hover{border-color:var(--tavola-green-light)}.theme-mode-option--selected{border-color:var(--tavola-green);box-shadow:0 0 0 3px #2f5d4426}.theme-mode-option input[type=radio]{opacity:0;pointer-events:none;position:absolute}.theme-mode-icon{font-size:1.6rem;line-height:1}.theme-mode-label{font-family:var(--font-display);color:var(--text);font-size:1.05rem;font-weight:500}.theme-mode-desc{color:var(--text-light);font-size:.78rem;line-height:1.35}.brightness-control{align-items:center;gap:.75rem;max-width:460px;margin-top:.5rem;display:flex}.brightness-icon{opacity:.6;font-size:1.1rem}.brightness-slider{background:var(--border);height:6px;accent-color:var(--tavola-green);border-radius:999px;flex:1}.brightness-value{text-align:right;min-width:48px;font-family:var(--font-mono);color:var(--text-light);font-size:.82rem}.pin-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f1a148c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pin-modal{background:var(--card-bg);box-shadow:var(--shadow-card);border:1px solid var(--border);border-radius:14px;width:min(420px,92vw);padding:1.5rem 1.5rem 1.25rem}.pin-modal-header{align-items:flex-start;gap:.85rem;margin-bottom:1rem;display:flex}.pin-modal-icon{font-size:1.8rem;line-height:1}.pin-modal-title{font-family:var(--font-display);color:var(--text);margin:0;font-size:1.2rem}.pin-modal-subtitle{color:var(--text-light);margin:.2rem 0 0;font-size:.85rem}.pin-input{letter-spacing:.8rem;text-align:center;border:2px solid var(--border);width:100%;font-size:1.8rem;font-family:var(--font-mono);background:var(--card-bg);color:var(--text);border-radius:10px;padding:.65rem .5rem}.pin-input:focus{border-color:var(--tavola-green);outline:none}.pin-error{color:var(--danger);margin:.5rem 0 0;font-size:.82rem}.pin-modal-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.pin-modal-footer{color:var(--text-light);text-align:center;margin:.75rem 0 0;font-size:.72rem}.security-status{background:var(--tavola-cream);border:1px solid var(--border);border-radius:10px;align-items:center;gap:.85rem;margin-bottom:1rem;padding:.85rem 1rem;display:flex}.security-status-icon{font-size:1.5rem}.security-status-body{flex:1}.security-status-title{color:var(--text);font-weight:600}.security-status-desc{color:var(--text-light);font-size:.82rem}.security-subheading{text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);margin:1rem 0 .5rem;font-size:.82rem;font-weight:700}.security-pin-form .form-group{flex:1}.security-form-row{flex-wrap:wrap;gap:.75rem;max-width:640px;margin-bottom:.75rem;display:flex}.security-form-row input{font-family:var(--font-mono);letter-spacing:.4rem;text-align:center}.security-protections{margin-top:1rem}.security-protection-row{cursor:pointer;border-bottom:1px solid var(--border);align-items:flex-start;gap:.6rem;padding:.55rem 0;display:flex}.security-protection-row:last-child{border-bottom:none}.security-protection-row input[type=checkbox]{margin-top:.2rem}.security-protection-label{color:var(--text);font-weight:500}.security-protection-desc{color:var(--text-light);font-size:.78rem}.security-audit{margin-top:1rem}.security-audit-list{border:1px solid var(--border);border-radius:8px;max-height:280px;margin-top:.5rem;padding:.5rem .75rem;overflow-y:auto}.security-audit-row{border-bottom:1px solid var(--border);gap:.75rem;padding:.35rem 0;font-size:.82rem;display:flex}.security-audit-row:last-child{border-bottom:none}.security-audit-time{color:var(--text-light);font-family:var(--font-mono);min-width:120px;font-size:.78rem}.security-audit-action{color:var(--text);font-weight:500}.security-audit-user{color:var(--text-light);margin-left:auto}.locked-overlay{position:relative}.locked-overlay:after{content:"";-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);pointer-events:all;cursor:pointer;z-index:1;background:#f4f1e880;border-radius:8px;position:absolute;inset:0}html[data-theme=dark] .locked-overlay:after{background:#0f1a148c}.locked-banner{border:1px solid var(--tavola-gold);background:#c9a24b26;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.6rem .85rem;font-size:.85rem;display:flex}.locked-banner-icon{font-size:1.1rem}.locked-banner-unlock{background:var(--tavola-green);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-left:auto;padding:.35rem .8rem;font-size:.78rem;font-weight:600}.locked-banner-unlock:hover{background:var(--tavola-green-light)}.wl-urgent td{background:#c9a24b1a}.wl-wait-badge{background:var(--tavola-green-pale);color:var(--tavola-green-deep);border-radius:999px;padding:.2rem .55rem;font-size:.78rem;font-weight:600;display:inline-block}.wl-wait-badge--urgent{background:var(--tavola-gold);color:var(--tavola-green-deep)}.wl-notified td{opacity:.72}.wl-notified-check{color:var(--success);margin-left:.2rem;font-weight:700}.wl-notify-result{border-radius:8px;margin:.75rem 0;padding:.6rem .85rem;font-size:.85rem}.wl-notify-result--success{color:var(--tavola-green-deep);border:1px solid var(--tavola-green);background:#2f5d441f}.wl-notify-result--warn{color:var(--tavola-green-deep);border:1px solid var(--tavola-gold);background:#c9a24b26}.booking-public{max-width:720px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.booking-hero{text-align:center;margin-bottom:2rem}.booking-hero-logo{width:72px;height:72px;margin:0 auto 1rem;display:block}.booking-hero-title{font-family:var(--font-display);color:var(--text);letter-spacing:-.02em;margin:0 0 .5rem;font-size:clamp(2rem,5vw,3rem);font-weight:300}.booking-hero-tagline{font-family:var(--font-display);color:var(--text-light);margin:0;font-size:1.05rem;font-style:italic}.reservations-mobile-list{display:none}@media (width<=640px){.reservations-desktop-table{display:none}.reservations-mobile-list{display:block}.res-card{background:var(--card-bg);border:1px solid var(--border);border-left:4px solid var(--tavola-green);cursor:pointer;border-radius:10px;margin-bottom:.65rem;padding:.85rem 1rem;transition:transform .1s,box-shadow .15s}.res-card:active{transform:scale(.98)}.res-card.row-seated{border-left-color:var(--success);background:#2f5d440a}.res-card.row-cancelled{border-left-color:var(--danger);opacity:.6}.res-card.row-no_show{border-left-color:var(--warning);opacity:.75}.res-card-top{align-items:center;gap:.6rem;margin-bottom:.35rem;display:flex}.res-card-time{font-family:var(--font-display);color:var(--text);font-size:1.1rem;font-weight:500}.res-card-party{background:var(--tavola-green);color:#fff;text-align:center;border-radius:999px;min-width:28px;padding:.15rem .55rem;font-size:.82rem;font-weight:700}.res-card-name{color:var(--text);margin-bottom:.25rem;font-size:1rem;font-weight:600}.res-card-meta{color:var(--text-light);flex-wrap:wrap;gap:.75rem;font-size:.82rem;display:flex}.res-card-note{color:var(--tavola-gold);font-weight:500}.res-card-expand{border-top:1px solid var(--border);color:var(--text);flex-direction:column;gap:.4rem;margin-top:.75rem;padding-top:.75rem;font-size:.88rem;display:flex}.res-card-expand-actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.shift-tab[data-phone-hide=true]{display:none}.btn-primary,.btn-secondary,.btn-sm,button{min-height:38px}.stat-bar{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.stat-bar-item{min-width:0}.page h1{font-size:1.5rem}.content{padding:4rem .8rem 3rem}}.install-prompt{background:linear-gradient(135deg, var(--tavola-cream), var(--tavola-white));border:1px solid var(--tavola-line);border-left:4px solid var(--tavola-gold);border-radius:10px;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex;box-shadow:0 4px 16px #0f1a140f}.install-prompt-icon{border-radius:8px;flex-shrink:0;width:48px;height:48px}.install-prompt-body{flex:1;min-width:0}.install-prompt-title{font-family:var(--font-display);color:var(--text);font-size:1rem;font-weight:500}.install-prompt-desc{color:var(--text-light);margin-top:.1rem;font-size:.82rem}.install-prompt-actions{flex-direction:column;align-items:flex-end;gap:.2rem;display:flex}@media (width<=640px){.install-prompt{padding:.65rem .8rem}.install-prompt-icon{width:40px;height:40px}.install-prompt-title{font-size:.92rem}.install-prompt-desc,.install-prompt-actions .btn-link{font-size:.76rem}}@media (width>=1101px){.install-prompt{display:none}}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.login-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;width:100%;max-width:420px;padding:2.5rem 2rem;box-shadow:0 4px 24px #00000014}.login-hero{text-align:center;margin-bottom:2rem}.login-logo{width:72px;height:72px;margin-bottom:.75rem}.login-title{font-family:var(--font-display);color:var(--text);letter-spacing:-.01em;margin:0 0 .25rem;font-size:2.25rem;font-weight:400}.login-subtitle{color:var(--text-light);margin:0;font-size:.88rem}.login-form{flex-direction:column;gap:1rem;display:flex}.login-form .form-group{margin:0}.login-form label{color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem;font-size:.8rem;font-weight:600;display:block}.login-form input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font-size:1rem;font-family:var(--font-body);border-radius:8px;padding:.7rem .85rem}.login-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);background:var(--card-bg);outline:none}.login-error{color:#b44236;background:#b442361a;border:1px solid #b442364d;border-radius:6px;padding:.6rem .85rem;font-size:.85rem}.login-submit{margin-top:.5rem;padding:.85rem;font-size:1rem}.login-footer{text-align:center;color:var(--text-light);margin:1.5rem 0 0;font-size:.8rem}.sidebar-user{border-top:1px solid #f4f1e81a;align-items:center;gap:.6rem;margin-top:auto;padding:.8rem 1rem;display:flex}.sidebar-user-info{flex:1;min-width:0;overflow:hidden}.sidebar-user-name{color:var(--sidebar-text);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.sidebar-user-role{color:#f4f1e880;text-transform:capitalize;font-size:.7rem}.sidebar-logout{color:var(--sidebar-text);cursor:pointer;background:#f4f1e814;border:none;border-radius:6px;flex-shrink:0;width:32px;height:32px;font-size:1rem;transition:background .15s,color .15s}.sidebar-logout:hover{color:#fff;background:#b442364d}.sidebar{flex-direction:column;display:flex}.sidebar ul{flex:1;overflow-y:auto}.birthday-spotlight{border:1px solid var(--tavola-gold);background:linear-gradient(135deg,#c9a24b1f,#d4e4d91f);border-radius:12px;margin-bottom:1.25rem;padding:1rem 1.15rem}.birthday-spotlight-header{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.birthday-spotlight-title{font-family:var(--font-display);color:var(--text);font-size:1.1rem;font-weight:500}.birthday-spotlight-count{background:var(--tavola-gold);color:var(--tavola-green-deep);border-radius:999px;padding:.1rem .55rem;font-size:.78rem;font-weight:700}.birthday-spotlight-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem;display:grid}.birthday-spotlight-card{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:.65rem .85rem}.birthday-spotlight-name{color:var(--text);margin-bottom:.15rem;font-weight:600}.birthday-spotlight-meta{color:var(--text-light);margin-bottom:.5rem;font-size:.78rem}.birthday-text-btn{background:var(--tavola-gold);color:var(--tavola-green-deep);cursor:pointer;border:none;border-radius:6px;width:100%;padding:.35rem .75rem;font-size:.8rem;font-weight:600;transition:filter .15s}.birthday-text-btn:hover{filter:brightness(.95)}.birthday-no-phone{color:var(--text-light);font-size:.75rem;font-style:italic}.sms-template-picker{flex-wrap:wrap;gap:.35rem;margin-top:.3rem;display:flex}.sms-template-btn{border:1px solid var(--border);background:var(--card-bg);cursor:pointer;color:var(--text);border-radius:999px;padding:.35rem .65rem;font-size:.78rem;transition:all .15s}.sms-template-btn:hover{border-color:var(--tavola-green-light)}.sms-template-btn--active{background:var(--tavola-green);color:var(--tavola-paper);border-color:var(--tavola-green)}.import-steps{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.import-step{background:var(--card-bg);border:1px solid var(--border);color:var(--text-light);border-radius:999px;padding:.3rem .75rem;font-size:.78rem;font-weight:500}.import-step.done{background:var(--tavola-green);color:var(--tavola-paper);border-color:var(--tavola-green)}.import-upload-box{border:2px dashed var(--border);background:var(--tavola-cream);border-radius:10px;flex-direction:column;align-items:center;padding:2rem 1.5rem;display:flex}.import-upload-btn{cursor:pointer;padding:.7rem 1.5rem;font-size:1rem}.import-map-table{border-collapse:collapse;width:100%;margin-top:.5rem}.import-map-table th,.import-map-table td{border-bottom:1px solid var(--border);text-align:left;padding:.5rem .75rem;font-size:.85rem}.import-map-table select{border:1px solid var(--border);background:var(--card-bg);width:100%;color:var(--text);border-radius:6px;padding:.35rem .5rem;font-size:.82rem}.import-sample{color:var(--text-light);font-family:var(--font-mono);font-size:.78rem}.import-preview{margin-top:.5rem}.import-result{border:1px solid var(--tavola-green);background:#2f5d4414;border-radius:10px;padding:1rem 1.25rem}.import-result-stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem;margin:.75rem 0;display:grid}.import-result-stat{background:var(--card-bg);text-align:center;border-radius:8px;padding:.75rem}.import-result-stat strong{font-size:1.6rem;font-family:var(--font-display);color:var(--tavola-green);display:block}.import-result-stat span{color:var(--text-light);font-size:.78rem}.import-result-stat--err strong{color:var(--danger)}.tavola-id-card{border:1px solid var(--tavola-gold);background:linear-gradient(135deg,#c9a24b14,#d4e4d914);margin-top:1.5rem}.tavola-id-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:.5rem 0 1rem;display:grid}.tavola-id-field label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);margin-bottom:.35rem;font-size:.72rem;font-weight:700;display:block}.tavola-id-value-row{align-items:center;gap:.5rem;display:flex}.tavola-id-code{font-family:var(--font-mono);background:var(--card-bg);border:1px solid var(--tavola-gold);color:var(--tavola-green-deep);letter-spacing:.02em;text-align:center;border-radius:8px;flex:1;padding:.5rem .8rem;font-size:1.1rem;font-weight:600}.tavola-id-static{background:var(--card-bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:.5rem .8rem;font-size:.9rem}.tavola-id-support{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.tavola-id-support h3{font-family:var(--font-display);color:var(--text);margin:0 0 .35rem;font-size:1rem;font-weight:500}.sidebar-restaurant-photo{object-fit:cover;border:2px solid #f4f1e833;border-radius:50%;flex-shrink:0;width:38px;height:38px}.sidebar-restaurant-initial{background:var(--tavola-gold);width:38px;height:38px;color:var(--tavola-green-deep);font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;font-weight:500;display:flex}.sidebar-restaurant-name{font-family:var(--font-display);color:var(--tavola-paper);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:1.1rem;font-weight:500;overflow:hidden}.app-top-bar{background:var(--card-bg);border-bottom:1px solid var(--border);z-index:10;justify-content:center;align-items:center;margin:-2rem -2rem 1.25rem;padding:.6rem 1rem;display:flex;position:sticky;top:0}.app-top-bar-brand{align-items:center;gap:.45rem;display:flex}.app-top-bar-icon{width:26px;height:26px;display:block}.app-top-bar-name{font-family:var(--font-display);color:var(--tavola-green);letter-spacing:-.01em;font-size:1.1rem;font-weight:500}@media (width<=1100px){.app-top-bar{margin:-1.25rem -1.25rem 1rem;padding:.5rem .75rem}}@media (width<=640px){.app-top-bar{justify-content:center;margin:-4rem -.8rem 1rem;padding:.75rem .5rem .5rem 4rem}.app-top-bar-name{font-size:1rem}.app-top-bar-icon{width:22px;height:22px}}.collapsible-section{overflow:hidden;padding:0!important}.collapsible-header{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:.75rem;padding:1rem 1.5rem;transition:background .15s;display:flex}.collapsible-header:hover{background:var(--tavola-cream)}.collapsible-section--open .collapsible-header{border-bottom:1px solid var(--border)}.collapsible-icon{flex-shrink:0;font-size:1.1rem;line-height:1}.collapsible-title{color:var(--text);flex:1;margin:0!important;font-size:.95rem!important}.collapsible-arrow{color:var(--text-light);flex-shrink:0;font-size:1rem;font-weight:500;transition:transform .2s}.collapsible-section--open .collapsible-arrow{color:var(--tavola-green)}.collapsible-body{padding:1rem 1.5rem 1.25rem;animation:.25s ease-out collapsibleExpand}@keyframes collapsibleExpand{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.experience-list{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem;margin-top:.75rem;display:grid}.experience-card{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;flex-direction:column;transition:box-shadow .15s;display:flex;overflow:hidden}.experience-card:hover{box-shadow:var(--shadow-sm)}.experience-card-photo{object-fit:cover;width:100%;height:150px;display:block}.experience-card-photo--placeholder{background:var(--tavola-cream);color:var(--text-light);justify-content:center;align-items:center;font-size:3rem;display:flex}.experience-card-body{flex-direction:column;flex:1;gap:.35rem;padding:.9rem 1rem;display:flex}.experience-card-title{font-family:var(--font-display);color:var(--text);font-size:1.05rem;font-weight:500}.experience-card-meta{color:var(--text-light);font-size:.82rem}.experience-card-desc{color:var(--text);flex:1;font-size:.82rem;line-height:1.4}.experience-card-actions{border-top:1px solid var(--border);gap:.75rem;margin-top:.5rem;padding-top:.5rem;display:flex}.experience-wizard-page{padding-bottom:5rem}.experience-wizard-header{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.experience-wizard-steps{flex-wrap:wrap;flex:1;justify-content:center;gap:.25rem;display:flex}.wizard-step-pill{border:1px solid var(--border);background:var(--card-bg);color:var(--text-light);border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.82rem;display:flex}.wizard-step-pill--done{background:var(--tavola-cream);color:var(--tavola-green)}.wizard-step-pill--active{background:var(--tavola-green);color:var(--tavola-paper);border-color:var(--tavola-green);font-weight:600}.wizard-step-num{background:#0000001a;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.72rem;font-weight:700;display:inline-flex}.wizard-step-pill--active .wizard-step-num{background:#fff3}.wizard-step-body{max-width:780px;margin:0 auto}.wizard-section-heading{font-family:var(--font-display);color:var(--text);margin:0 0 1rem;font-size:1.35rem;font-weight:500}.exp-type-picker{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:.25rem;display:grid}.exp-type-option{border:2px solid var(--border);cursor:pointer;background:var(--card-bg);border-radius:10px;grid-template-rows:auto auto 1fr;gap:.25rem;padding:1rem;transition:border-color .15s;display:grid;position:relative}.exp-type-option:hover{border-color:var(--tavola-green-light)}.exp-type-option--selected{border-color:var(--tavola-green);box-shadow:0 0 0 3px #2f5d4426}.exp-type-option input[type=radio]{opacity:0;pointer-events:none;position:absolute}.exp-type-icon{font-size:1.4rem;line-height:1}.exp-type-label{font-family:var(--font-display);color:var(--text);font-size:1.05rem;font-weight:500}.exp-type-desc{color:var(--text-light);font-size:.82rem}.exp-tag-picker{flex-wrap:wrap;gap:.35rem;margin-top:.35rem;display:flex}.exp-tag-btn{border:1px solid var(--border);background:var(--card-bg);cursor:pointer;color:var(--text);border-radius:999px;padding:.3rem .7rem;font-size:.78rem;transition:all .15s}.exp-tag-btn:hover:not(:disabled){border-color:var(--tavola-green-light)}.exp-tag-btn--selected{background:var(--tavola-green);color:var(--tavola-paper);border-color:var(--tavola-green)}.exp-tag-btn:disabled:not(.exp-tag-btn--selected){opacity:.4;cursor:not-allowed}.experience-wizard-footer{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:2rem;padding-top:1.5rem;display:flex}.experience-review{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;margin-top:.5rem;padding:1rem 1.25rem}.experience-review-row{border-bottom:1px solid var(--border);grid-template-columns:140px 1fr;gap:1rem;padding:.6rem 0;font-size:.9rem;display:grid}.experience-review-row:last-child{border-bottom:none}.experience-review-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);align-self:start;font-size:.72rem;font-weight:700}@media (width<=640px){.experience-review-row{grid-template-columns:1fr;gap:.3rem}.exp-type-picker{grid-template-columns:1fr}}.exp-photo-upload-row{align-items:center;gap:.75rem;margin:.75rem 0 1rem;display:flex}.exp-photo-upload-btn{cursor:pointer;display:inline-block}.exp-photo-upload-btn--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.exp-photo-placeholder{border:2px dashed var(--border);background:var(--tavola-cream);color:var(--text-light);border-radius:10px;flex-direction:column;align-items:center;gap:.5rem;padding:3rem 1rem;display:flex}.exp-photo-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-top:.5rem;display:grid}.exp-photo-item{border:2px solid var(--border);aspect-ratio:4/3;background:#000;border-radius:10px;transition:transform .12s;position:relative;overflow:hidden}.exp-photo-item:hover{transform:scale(1.02)}.exp-photo-item--hero{border-color:var(--tavola-gold);box-shadow:0 0 0 3px #c9a24b40}.exp-photo-thumb{object-fit:cover;width:100%;height:100%;display:block}.exp-photo-hero-badge{background:var(--tavola-gold);color:var(--tavola-green-deep);letter-spacing:.05em;border-radius:4px;padding:.15rem .5rem;font-size:.7rem;font-weight:700;position:absolute;top:6px;left:6px}.exp-photo-overlay{opacity:0;background:#0f1a14b3;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;transition:opacity .15s;display:flex;position:absolute;inset:0}.exp-photo-item:hover .exp-photo-overlay{opacity:1}.draft-restore-banner{border:1px solid var(--tavola-gold);background:#c9a24b1a;border-radius:10px;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.draft-restore-icon{font-size:1.3rem}.publish-checklist{border:1px solid var(--border);border-radius:10px;margin-bottom:1.5rem;padding:1rem 1.25rem}.publish-checklist--ready{border-color:var(--tavola-green);background:#2f5d4414}.publish-checklist--incomplete{border-color:var(--tavola-gold);background:#c9a24b1f}.publish-checklist-header{font-family:var(--font-display);color:var(--text);align-items:center;gap:.6rem;font-size:1.05rem;font-weight:500;display:flex}.publish-check-icon{background:var(--tavola-green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-weight:700;display:inline-flex}.publish-x-icon{font-size:1.2rem}.publish-checklist-list{margin:.75rem 0 0;padding:0;list-style:none}.publish-checklist-list li{border-bottom:1px solid #0000000f;align-items:center;gap:.5rem;padding:.35rem 0;font-size:.9rem;display:flex}.publish-checklist-list li:last-child{border-bottom:none}.publish-checklist-x{color:var(--danger);min-width:16px;font-weight:700}.publish-checklist-list .btn-link{margin-left:auto;font-size:.82rem}.app-top-bar-actions{flex:1;justify-content:flex-end;gap:.3rem;display:flex}.top-bar-icon-btn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;line-height:1;transition:background .15s,border-color .15s;display:inline-flex;position:relative}.top-bar-icon-btn:hover{background:var(--tavola-cream);border-color:var(--border)}.top-bar-badge{background:var(--danger);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.65rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:2px;right:2px}.app-top-bar{justify-content:space-between}@media (width<=640px){.top-bar-icon-btn{width:32px;height:32px;font-size:1rem}}.side-panel-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1200;background:#0f1a1466;justify-content:flex-end;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.side-panel{background:var(--card-bg);flex-direction:column;width:min(420px,100vw);height:100vh;animation:.25s cubic-bezier(.4,0,.2,1) slideInRight;display:flex;box-shadow:-8px 0 32px #0f1a1433}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.side-panel-header{border-bottom:1px solid var(--border);background:var(--tavola-cream);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.side-panel-header h2{font-size:1.15rem;font-family:var(--font-display);color:var(--text);align-items:center;margin:0;font-weight:500;display:flex}.side-panel-close{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.2rem .5rem;font-size:1.3rem}.side-panel-close:hover{background:var(--border);color:var(--text)}.side-panel-body{flex:1;padding:1rem 0;overflow-y:auto}.help-section{padding:.5rem 1rem}.help-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);margin:0 0 .5rem;padding:.25rem 0;font-size:.78rem;font-weight:700}.help-item{border-bottom:1px solid var(--border);padding:.65rem 0}.help-item summary{cursor:pointer;color:var(--text);padding:.25rem 0;font-size:.9rem;font-weight:500}.help-item summary:hover{color:var(--primary)}.help-item p{color:var(--text);margin:.5rem 0 .25rem;font-size:.85rem;line-height:1.5}.help-footer{border-top:1px solid var(--border);background:var(--tavola-cream);margin-top:1rem;padding:1rem 1.25rem}.msg-list{flex-direction:column;display:flex}.msg-list-item{border-bottom:1px solid var(--border);cursor:pointer;padding:.75rem 1.25rem;transition:background .12s}.msg-list-item:hover{background:var(--tavola-cream)}.msg-list-top{justify-content:space-between;margin-bottom:.25rem;display:flex}.msg-list-name{color:var(--text);font-size:.92rem;font-weight:600}.msg-list-time{color:var(--text-light);font-size:.75rem}.msg-list-preview{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;line-height:1.35;display:-webkit-box;overflow:hidden}.msg-list-meta{gap:.4rem;margin-top:.3rem;display:flex}.msg-list-tag{background:var(--tavola-green-pale);color:var(--tavola-green-deep);text-transform:capitalize;border-radius:999px;padding:.1rem .4rem;font-size:.68rem;font-weight:600}.msg-list-status{text-transform:capitalize;border-radius:999px;padding:.1rem .4rem;font-size:.68rem;font-weight:600}.msg-list-status--sent{color:var(--tavola-green);background:#2f5d441f}.msg-list-status--failed{color:var(--danger);background:#b442361f}.msg-list-status--skipped{color:var(--tavola-gold);background:#c9a24b26}.msg-conversation-header{background:var(--tavola-cream);border-bottom:1px solid var(--border);padding:.75rem 1.25rem}.msg-conversation-name{color:var(--text);font-weight:600}.msg-conversation-body{flex:1;padding:1rem 1.25rem}.msg-bubble{border-radius:14px;max-width:85%;margin-bottom:.5rem;padding:.6rem .85rem}.msg-bubble--out{background:var(--tavola-green);color:var(--tavola-paper);border-bottom-right-radius:4px;margin-left:auto}.msg-bubble--in{background:var(--tavola-cream);color:var(--text);border-bottom-left-radius:4px}.msg-bubble-text{font-size:.88rem;line-height:1.4}.msg-bubble-time{opacity:.75;margin-top:.3rem;font-size:.7rem}.msg-reply-box{border-top:1px solid var(--border);background:var(--tavola-cream);flex-direction:column;gap:.5rem;padding:.75rem 1.25rem;display:flex}.chat-body{flex-direction:column;flex:1;gap:.5rem;padding:1rem;display:flex;overflow-y:auto}.chat-msg{max-width:100%;display:flex}.chat-msg--user{justify-content:flex-end}.chat-msg--assistant{justify-content:flex-start}.chat-msg-bubble{border-radius:16px;max-width:85%;padding:.65rem .9rem;font-size:.9rem;line-height:1.45}.chat-msg-bubble p{margin:0}.chat-msg-bubble p+p{margin-top:.5rem}.chat-msg--user .chat-msg-bubble{background:var(--tavola-green);color:var(--tavola-paper);border-bottom-right-radius:4px}.chat-msg--assistant .chat-msg-bubble{background:var(--tavola-cream);color:var(--text);border-bottom-left-radius:4px}.chat-typing{align-items:center;gap:4px;display:inline-flex;padding:.8rem 1rem!important}.chat-typing span{background:var(--text-light);border-radius:50%;width:6px;height:6px;animation:1.3s infinite chatBounce}.chat-typing span:nth-child(2){animation-delay:.15s}.chat-typing span:nth-child(3){animation-delay:.3s}@keyframes chatBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.chat-error{border:1px solid var(--danger);color:var(--danger);background:#b442361f;border-radius:8px;margin:0 .5rem;padding:.6rem .85rem;font-size:.82rem}.chat-suggestions{border-top:1px solid var(--border);background:var(--tavola-cream);flex-direction:column;flex-shrink:0;gap:.35rem;padding:.75rem 1rem;display:flex}.chat-suggestions-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-light);margin-bottom:.15rem;font-size:.72rem;font-weight:700}.chat-suggestion-btn{text-align:left;border:1px solid var(--border);background:var(--card-bg);color:var(--text);cursor:pointer;border-radius:999px;padding:.45rem .75rem;font-size:.82rem;transition:all .15s}.chat-suggestion-btn:hover{border-color:var(--tavola-green);background:var(--tavola-green);color:var(--tavola-paper)}.chat-input-box{border-top:1px solid var(--border);background:var(--card-bg);flex-shrink:0;align-items:flex-end;gap:.5rem;padding:.75rem 1rem;display:flex}.chat-input-box textarea{resize:none;border:1px solid var(--border);background:var(--card-bg);min-height:40px;max-height:120px;color:var(--text);border-radius:12px;flex:1;padding:.55rem .75rem;font-family:inherit;font-size:.88rem}.chat-input-box textarea:focus{border-color:var(--tavola-green);outline:none}.chat-input-box button{border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:1.2rem;font-weight:700;display:inline-flex}.public-experiences-section{background:#f8f6f1;border-top:1px solid #ebe7de;padding:4rem 1.5rem}.public-experiences-inner{max-width:1200px;margin:0 auto}.public-experiences-heading{color:#1a1a1a;letter-spacing:-.02em;margin:0 0 .25rem;font-size:2rem;font-weight:700}.public-experiences-sub{color:#6b6b6b;margin:0 0 2rem;font-size:1rem}.public-experiences-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.public-experience-card{cursor:pointer;background:#fff;border:1px solid #ebe7de;border-radius:12px;flex-direction:column;transition:transform .18s,box-shadow .18s;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a}.public-experience-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #00000014,0 3px 6px #0000000d}.public-experience-photo{aspect-ratio:16/10;background:linear-gradient(135deg,#f3f0e8 0%,#e8e3d5 100%);position:relative;overflow:hidden}.public-experience-photo img{object-fit:cover;width:100%;height:100%;display:block}.public-experience-photo-placeholder{opacity:.4;justify-content:center;align-items:center;width:100%;height:100%;font-size:3rem;display:flex}.public-experience-price-tag{color:#fff;letter-spacing:.01em;background:#0f172aeb;border-radius:999px;padding:.35rem .75rem;font-size:.78rem;font-weight:600;position:absolute;top:.75rem;right:.75rem}.public-experience-body{flex-direction:column;flex:1;padding:1.25rem 1.25rem 1.5rem;display:flex}.public-experience-title{color:#1a1a1a;margin:0 0 .3rem;font-size:1.15rem;font-weight:600;line-height:1.3}.public-experience-dates{color:#8a7e5e;margin:0 0 .75rem;font-size:.82rem;font-weight:500}.public-experience-desc{color:#555;flex:1;margin:0 0 1.25rem;font-size:.9rem;line-height:1.5}.public-experience-cta{color:#fff;cursor:pointer;background:#1f2937;border:none;border-radius:6px;align-self:flex-start;padding:.6rem 1.1rem;font-size:.88rem;font-weight:600;transition:background .15s}.public-experience-cta:hover{background:#0f172a}.experience-booking-page{background:#fafaf7;min-height:100vh}.experience-hero{background:#1a1a1a;width:100%;max-height:360px;overflow:hidden}.experience-hero img{object-fit:cover;width:100%;height:360px;display:block}.experience-booking-inner{max-width:720px;margin:0 auto;padding:2rem 1.5rem 4rem}.experience-title{color:#1a1a1a;letter-spacing:-.02em;margin:0 0 .75rem;font-size:2rem;font-weight:700}.experience-meta{flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;display:flex}.experience-meta-item{color:#3a3a3a;background:#fff;border:1px solid #ebe7de;border-radius:999px;padding:.45rem .85rem;font-size:.85rem}.experience-description{background:#fff;border:1px solid #ebe7de;border-radius:10px;margin-bottom:1rem;padding:1.25rem}.experience-description p{color:#3a3a3a;white-space:pre-wrap;margin:0;line-height:1.65}.experience-important-info{background:#fffbf0;border:1px solid #f3e2a6;border-radius:10px;margin-bottom:1rem;padding:1rem 1.25rem}.experience-important-info h3{color:#6b5a1a;margin:0 0 .4rem;font-size:.95rem}.experience-important-info p{color:#5a4a2a;margin:0;font-size:.9rem;line-height:1.5}.experience-booking-form{background:#fff;border:1px solid #ebe7de;border-radius:12px;margin-top:1.5rem;padding:1.75rem}.experience-booking-form h2{color:#1a1a1a;margin:0 0 1.25rem;font-size:1.3rem;font-weight:600}.experience-total-preview{background:#f5f3ee;border-radius:8px;justify-content:space-between;align-items:center;margin-top:1rem;padding:.9rem 1.1rem;font-size:1rem;display:flex}.experience-total-preview strong{color:#1a1a1a;font-size:1.25rem}@media (width<=640px){.experience-hero img{height:240px}.experience-title,.public-experiences-heading{font-size:1.5rem}.public-experiences-section{padding:2.5rem 1rem}}.marketing-site{color:#1a1a1a;background:#fff;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}.marketing-site *{box-sizing:border-box}.mkt-nav{-webkit-backdrop-filter:saturate(180%)blur(8px);backdrop-filter:saturate(180%)blur(8px);z-index:50;background:#fffffff5;border-bottom:1px solid #eee;position:sticky;top:0}.mkt-nav-inner{justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto;padding:.9rem 1.5rem;display:flex}.mkt-brand{color:inherit;letter-spacing:-.01em;align-items:center;gap:.55rem;font-size:1.15rem;font-weight:700;text-decoration:none;display:flex}.mkt-nav-links{align-items:center;gap:1.5rem;display:flex}.mkt-nav-links a{color:#444;font-size:.95rem;font-weight:500;text-decoration:none}.mkt-nav-links a:hover{color:#000}.mkt-nav-login{color:#444!important}.mkt-nav-cta{background:#1a1a1a;border-radius:6px;padding:.5rem 1.05rem;transition:background .15s;color:#fff!important;font-weight:600!important}.mkt-nav-cta:hover{background:#000}.mkt-hero{text-align:center;background:radial-gradient(at top,#fdfaf0 0%,#fff 60%),linear-gradient(#fff 0%,#fafaf7 100%);padding:5rem 1.5rem}.mkt-hero-inner{max-width:820px;margin:0 auto}.mkt-eyebrow{color:#8a6a1a;background:#fff3d4;border-radius:999px;margin-bottom:1.5rem;padding:.4rem .9rem;font-size:.8rem;font-weight:600;display:inline-block}.mkt-hero h1{letter-spacing:-.035em;color:#0a0a0a;margin:0 0 1.25rem;font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;line-height:1.1}.mkt-hero-sub{color:#4a4a4a;max-width:680px;margin:0 auto 2rem;font-size:1.2rem;line-height:1.55}.mkt-hero-ctas{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.mkt-hero-trust{color:#888;margin:0;font-size:.9rem}.mkt-btn{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.85rem 1.6rem;font-size:1rem;font-weight:600;text-decoration:none;transition:transform .12s,background .15s,border-color .15s;display:inline-block}.mkt-btn-primary{color:#fff;background:#1a1a1a}.mkt-btn-primary:hover{background:#000;transform:translateY(-1px)}.mkt-btn-ghost{color:#1a1a1a;background:0 0;border-color:#ddd}.mkt-btn-ghost:hover{border-color:#999}.mkt-btn-block{text-align:center;width:100%;margin-top:1.5rem;display:block}.mkt-btn-lg{padding:1.1rem 2.2rem;font-size:1.1rem}.mkt-section{padding:5rem 1.5rem}.mkt-section-alt{background:#fafaf7}.mkt-section-inner{max-width:1100px;margin:0 auto}.mkt-section-heading{letter-spacing:-.025em;text-align:center;color:#0a0a0a;margin:0 0 .5rem;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700}.mkt-section-sub{text-align:center;color:#666;max-width:660px;margin:0 auto 3rem;font-size:1.1rem}.mkt-feature-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;display:grid}.mkt-feature{background:#fff;border:1px solid #ebe7de;border-radius:12px;padding:1.75rem 1.5rem;transition:transform .18s,box-shadow .18s}.mkt-feature:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000000f}.mkt-feature-icon{margin-bottom:.75rem;font-size:2rem}.mkt-feature h3{margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.mkt-feature p{color:#555;margin:0;font-size:.95rem;line-height:1.55}.mkt-compare-grid{grid-template-columns:1fr 1fr;gap:1.5rem;max-width:860px;margin:0 auto;display:grid}.mkt-compare-col{background:#fff;border:1px solid #e5e0d4;border-radius:12px;padding:2rem 1.75rem}.mkt-compare-col h3{margin:0 0 1rem;font-size:1.15rem;font-weight:600}.mkt-compare-col ul{margin:0;padding:0;list-style:none}.mkt-compare-col li{color:#444;border-bottom:1px solid #f3f0e8;padding:.5rem 0;font-size:.95rem}.mkt-compare-col li:last-child{border-bottom:none}.mkt-compare-them h3{color:#a33}.mkt-compare-them li:before{content:"✕  ";color:#c45454}.mkt-compare-us{color:#fff;background:#0f172a;border-color:#0f172a}.mkt-compare-us h3{color:#fbbf24}.mkt-compare-us li{color:#e4e4e7;border-color:#1e293b}.mkt-compare-us li:before{content:"✓  ";color:#34d399;font-weight:700}.mkt-compare-us strong{color:#fbbf24}.mkt-pricing-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;max-width:820px;margin:0 auto;display:grid}.mkt-plan{background:#fff;border:1px solid #e5e0d4;border-radius:16px;flex-direction:column;padding:2rem 1.75rem;display:flex;position:relative}.mkt-plan h3{color:#888;text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:1.1rem;font-weight:600}.mkt-plan-price{color:#0a0a0a;letter-spacing:-.03em;margin:.5rem 0 .25rem;font-size:2.8rem;font-weight:800}.mkt-plan-price span{color:#888;font-size:1rem;font-weight:500}.mkt-plan-tag{color:#666;margin:0 0 1.5rem;font-size:.9rem}.mkt-plan ul{flex:1;margin:0;padding:0;list-style:none}.mkt-plan li{color:#3a3a3a;padding:.4rem 0;font-size:.95rem}.mkt-plan-featured{border-color:#0f172a;transform:scale(1.03);box-shadow:0 10px 30px #0f172a1f}.mkt-plan-badge{color:#1a1a1a;background:#fbbf24;border-radius:999px;padding:.3rem .85rem;font-size:.75rem;font-weight:700;position:absolute;top:-12px;right:1.5rem}.mkt-footnote{text-align:center;color:#888;margin-top:2rem;font-size:.85rem}.mkt-faq{max-width:760px}.mkt-faq-item{background:#fff;border:1px solid #ebe7de;border-radius:8px;margin-bottom:.75rem;overflow:hidden}.mkt-faq-item summary{cursor:pointer;padding:1.1rem 1.25rem;font-size:1rem;font-weight:600;list-style:none;position:relative}.mkt-faq-item summary:after{content:"+";color:#888;font-size:1.3rem;transition:transform .18s;position:absolute;top:1.1rem;right:1.25rem}.mkt-faq-item[open] summary:after{transform:rotate(45deg)}.mkt-faq-item p{color:#555;margin:0;padding:0 1.25rem 1.25rem;font-size:.95rem;line-height:1.6}.mkt-final-cta{color:#fff;text-align:center;background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);padding:5rem 1.5rem}.mkt-final-cta h2{letter-spacing:-.025em;margin:0 0 .75rem;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700}.mkt-final-cta p{color:#cbd5e1;margin:0 0 1.75rem;font-size:1.1rem}.mkt-final-cta .mkt-btn-primary{color:#0f172a;background:#fbbf24}.mkt-final-cta .mkt-btn-primary:hover{background:#f59e0b}.mkt-footer{color:#cbd5e1;background:#0a0a0a;padding:3rem 1.5rem 1.5rem}.mkt-footer-inner{border-bottom:1px solid #1e293b;flex-wrap:wrap;justify-content:space-between;gap:2rem;padding-bottom:2rem;display:flex}.mkt-footer .mkt-brand{color:#fff}.mkt-footer-tagline{color:#888;max-width:280px;margin:.75rem 0 0;font-size:.9rem}.mkt-footer-cols{flex-wrap:wrap;gap:3rem;display:flex}.mkt-footer-cols h4{text-transform:uppercase;letter-spacing:.05em;color:#888;margin:0 0 .75rem;font-size:.85rem}.mkt-footer-cols a{color:#cbd5e1;padding:.25rem 0;font-size:.9rem;text-decoration:none;display:block}.mkt-footer-cols a:hover{color:#fff}.mkt-footer-bottom{text-align:center;color:#666;padding-top:1.5rem;font-size:.85rem}@media (width<=720px){.mkt-nav-links{gap:1rem}.mkt-nav-links a:not(.mkt-nav-cta):not(.mkt-nav-login){display:none}.mkt-hero,.mkt-section{padding:3rem 1rem}.mkt-compare-grid{grid-template-columns:1fr}.mkt-plan-featured{transform:none}}.signup-page{background:radial-gradient(at top,#fdfaf0 0%,#fafaf7 40%,#f0ede5 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.signup-card{background:#fff;border:1px solid #ebe7de;border-radius:16px;width:100%;max-width:520px;padding:2.25rem 2rem;box-shadow:0 25px 50px #0f172a14,0 10px 20px #0f172a0a}.signup-header{text-align:center;margin-bottom:1.5rem}.signup-brand{color:#0a0a0a;align-items:center;gap:.55rem;font-size:1.15rem;font-weight:700;text-decoration:none;display:inline-flex}.signup-tagline{color:#666;margin:.5rem 0 0;font-size:.9rem}.signup-steps{justify-content:center;gap:.5rem;margin-bottom:1.75rem;display:flex}.signup-step-dot{color:#888;background:#eee;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.88rem;font-weight:600;transition:all .2s;display:flex}.signup-step-dot--active{color:#fff;background:#0f172a}.signup-step-body h2{letter-spacing:-.02em;color:#0a0a0a;margin:0 0 .35rem;font-size:1.5rem}.signup-step-sub{color:#666;margin:0 0 1.5rem;font-size:.95rem}.signup-label{color:#3a3a3a;text-transform:uppercase;letter-spacing:.03em;margin:1rem 0 .4rem;font-size:.82rem;font-weight:600;display:block}.signup-input{color:#1a1a1a;background:#fff;border:1px solid #ddd;border-radius:8px;width:100%;padding:.75rem .9rem;font-family:inherit;font-size:1rem;transition:border-color .15s,box-shadow .15s}.signup-input:focus{border-color:#0f172a;outline:none;box-shadow:0 0 0 3px #0f172a14}.signup-hint{color:#888;margin:.3rem 0 0;font-size:.8rem}.signup-slug-row{border:1px solid #ddd;border-radius:8px;align-items:stretch;display:flex;overflow:hidden}.signup-slug-row:focus-within{border-color:#0f172a;box-shadow:0 0 0 3px #0f172a14}.signup-slug-prefix{color:#666;white-space:nowrap;background:#f5f3ee;border-right:1px solid #ddd;align-items:center;padding:.75rem .9rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;display:flex}.signup-slug-input{border:none;border-radius:0;flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.signup-slug-input:focus{box-shadow:none;border:none}.signup-actions{justify-content:space-between;align-items:center;gap:.75rem;margin-top:2rem;display:flex}.signup-btn-primary{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:8px;padding:.85rem 1.5rem;font-size:1rem;font-weight:600;transition:background .15s,transform .12s}.signup-btn-primary:hover:not(:disabled){background:#000;transform:translateY(-1px)}.signup-btn-primary:disabled{opacity:.5;cursor:not-allowed}.signup-btn-ghost{color:#666;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:.85rem 1rem;font-size:.95rem}.signup-btn-ghost:hover{color:#000}.signup-link{color:#666;font-size:.9rem;text-decoration:none}.signup-link:hover{color:#000;text-decoration:underline}.signup-review{background:#fafaf7;border:1px solid #ebe7de;border-radius:10px;padding:1.25rem}.signup-review-row{border-bottom:1px solid #ebe7de;grid-template-columns:110px 1fr;gap:1rem;padding:.75rem 0;display:grid}.signup-review-row:last-child{border-bottom:none}.signup-review-label{color:#888;text-transform:uppercase;letter-spacing:.05em;padding-top:2px;font-size:.78rem;font-weight:600}.signup-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:1rem;padding:.75rem 1rem;font-size:.9rem}.onboarding-panel{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);border-radius:14px;margin-bottom:1.5rem;padding:1.5rem 1.75rem 1.25rem;position:relative;overflow:hidden;box-shadow:0 10px 30px #0f172a26}.onboarding-panel--welcome:before{content:"";background:linear-gradient(90deg,#fbbf24,#34d399,#6366f1,#fbbf24) 0 0/200% 100%;height:3px;animation:3s linear infinite onboarding-shimmer;position:absolute;top:0;left:0;right:0}@keyframes onboarding-shimmer{to{background-position:-200% 0}}.onboarding-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.onboarding-title{color:#fff;letter-spacing:-.01em;margin:0 0 .25rem;font-size:1.35rem;font-weight:700}.onboarding-sub{color:#cbd5e1;margin:0;font-size:.9rem}.onboarding-progress{align-items:center;gap:.75rem;display:flex}.onboarding-dismiss{color:#cbd5e1;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;transition:background .15s;display:flex}.onboarding-dismiss:hover{color:#fff;background:#fff3}.onboarding-steps{flex-direction:column;gap:.5rem;display:flex}.onboarding-step{color:inherit;background:#ffffff0f;border:1px solid #ffffff14;border-radius:10px;align-items:center;gap:.9rem;padding:.85rem 1rem;text-decoration:none;transition:background .15s,transform .12s,border-color .15s;display:flex}.onboarding-step:hover{background:#ffffff1a;border-color:#fbbf2466;transform:translate(2px)}.onboarding-step--done{background:#34d3991f;border-color:#34d3994d}.onboarding-step--done:hover{background:#34d3992e}.onboarding-step-check{color:#fff;border:2px solid #ffffff4d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.85rem;font-weight:700;display:flex}.onboarding-step--done .onboarding-step-check{color:#0f172a;background:#34d399;border-color:#34d399}.onboarding-step-body{flex:1;min-width:0}.onboarding-step-title{color:#fff;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;display:flex}.onboarding-step-optional{color:#cbd5e1;text-transform:uppercase;letter-spacing:.04em;background:#ffffff1f;border-radius:4px;padding:1px 7px;font-size:.68rem;font-weight:600}.onboarding-step-desc{color:#94a3b8;margin-top:2px;font-size:.82rem}.onboarding-step-cta{color:#fbbf24;flex-shrink:0;padding-left:.5rem;font-size:.85rem;font-weight:600}.onboarding-step--done .onboarding-step-cta{color:#34d399}@media (width<=640px){.onboarding-panel{padding:1.25rem}.onboarding-step-cta{display:none}.signup-card{padding:1.75rem 1.25rem}}
