*{box-sizing:border-box}body{margin:0;background:#f3f0ea}.app{min-height:100vh;background:#f3f0ea;color:#1c1917;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;padding:20px}.save-toast{position:fixed;top:22px;right:22px;z-index:50;overflow:hidden;min-width:min(360px,calc(100vw - 32px));border:1px solid #a7f3d0;background:#ecfdf5f5;color:#064e3b;border-radius:22px;box-shadow:0 18px 45px #0000002e;padding:16px 18px;display:flex;align-items:center;gap:12px;pointer-events:none;animation:toastInOut 2.2s ease forwards}.save-toast strong,.save-toast span{display:block}.save-toast strong{font-size:15px}.save-toast span{color:#047857;font-size:13px;margin-top:2px}.toast-check{width:34px;height:34px;border-radius:999px;background:#16a34a;color:#fff;display:grid;place-items:center;font-weight:950;flex:0 0 auto;animation:checkPop 2.2s ease forwards}.toast-confetti span{position:absolute;width:6px;height:6px;border-radius:999px;background:#10b981;opacity:.75;animation:confettiFloat 1.1s ease-out forwards}.toast-confetti span:nth-child(1){left:22px;top:12px;background:#f59e0b;animation-delay:.02s}.toast-confetti span:nth-child(2){left:54px;top:8px;background:#14b8a6;animation-delay:.08s}.toast-confetti span:nth-child(3){right:58px;top:11px;background:#60a5fa;animation-delay:.04s}.toast-confetti span:nth-child(4){right:24px;top:20px;background:#f43f5e;animation-delay:.1s}.toast-confetti span:nth-child(5){left:34px;bottom:14px;background:#84cc16;animation-delay:.14s}.toast-confetti span:nth-child(6){right:84px;bottom:13px;background:#f97316;animation-delay:.06s}.toast-confetti span:nth-child(7){right:36px;bottom:18px;background:#22c55e;animation-delay:.12s}.toast-confetti span:nth-child(8){left:92px;bottom:10px;background:#a78bfa;animation-delay:.16s}@keyframes toastInOut{0%{opacity:0;transform:translateY(-10px) scale(.96)}12%,82%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.98)}}@keyframes checkPop{0%{transform:scale(.72)}16%,to{transform:scale(1)}}@keyframes confettiFloat{0%{opacity:.9;transform:translateY(0) scale(.8)}to{opacity:0;transform:translateY(-12px) scale(1.15)}}.hero{max-width:1280px;margin:0 auto 20px;background:radial-gradient(circle at top left,#4b2e16 0,#171412 42%,#0f172a);color:#fff;border-radius:34px;padding:30px;display:flex;justify-content:space-between;gap:24px;box-shadow:0 20px 50px #0000002e}.badge{display:inline-flex;border-radius:999px;background:#ffffff1f;color:#ffffffdb;padding:10px 16px;margin-bottom:18px;font-size:14px}h1{font-size:clamp(34px,5vw,58px);margin:0;letter-spacing:-.04em}h2{margin:0;font-size:22px}h3{margin:0;font-size:18px}.hero p{color:#ffffffbd;max-width:720px;line-height:1.7;font-size:17px}.date-box{background:#fff;color:#1c1917;border-radius:26px;padding:18px;min-width:260px;align-self:flex-end}label,.date-box label{display:block;font-weight:800;font-size:14px;margin-bottom:8px;color:#57534e}input,select,textarea{width:100%;border:1px solid #e7e5e4;background:#fafaf9;border-radius:16px;padding:13px 14px;outline:none;font:inherit}textarea{min-height:96px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#57534e;background:#fff}.service-switcher{max-width:1280px;margin:0 auto 18px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.service{border:0;padding:18px;border-radius:22px;background:#e7e5e4;color:#44403c;font-weight:900;font-size:18px;cursor:pointer;transition:all .2s ease}.service.active{color:#fff;transform:translateY(-2px);box-shadow:0 10px 25px #0000002e}.service.active.lunch{background:linear-gradient(135deg,#f59e0b,#f97316)}.service.active.dinner{background:linear-gradient(135deg,#0f172a,#334155)}.stats,.layout{max-width:1280px;margin:0 auto}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:20px}.stat-card,.panel{background:#fff;border-radius:28px;box-shadow:0 12px 30px #00000014}.stat-card{padding:20px;display:flex;align-items:center;gap:14px}.stat-icon{font-size:24px;background:#f5f5f4;padding:12px;border-radius:18px}.stat-label{color:#78716c;font-size:14px}.stat-value{font-size:30px;font-weight:950}.layout{display:grid;grid-template-columns:440px 1fr;gap:20px}.panel{padding:24px}.editing-panel{border:2px solid #0d9488}.panel-title-row,.premium-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.ai-chip{background:#ede9fe;color:#6d28d9;border:1px solid #ddd6fe;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:950}.content{display:flex;flex-direction:column;gap:20px}.muted{color:#78716c;margin-top:6px}.form{margin-top:22px;display:flex;flex-direction:column;gap:16px}.attention-picker{display:flex;gap:8px;align-items:center}.attention-choice{width:30px;height:30px;position:relative;border:0;border-radius:999px;cursor:pointer;background:transparent;padding:0;transition:box-shadow .18s ease,transform .18s ease}.attention-choice:before{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;border-radius:999px;transform:translate(-50%,-50%)}.attention-choice.green:before,.attention-dot.green{background:#22c55e}.attention-choice.orange:before,.attention-dot.orange{background:#f97316}.attention-choice.red:before,.attention-dot.red{background:#dc2626}.attention-choice.active{box-shadow:inset 0 0 0 2px currentColor;transform:none}.attention-choice.green{color:#22c55e}.attention-choice.orange{color:#f97316}.attention-choice.red{color:#dc2626}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.primary-button{border:0;border-radius:18px;background:#171412;color:#fff;padding:15px;font-weight:900;cursor:pointer}.secondary-button{border:1px solid #d6d3d1;border-radius:18px;background:#fff;color:#57534e;padding:14px;font-weight:900;cursor:pointer}.secondary-button:hover{background:#fafaf9;border-color:#a8a29e}.mobile-close-form,.mobile-sticky-booking{display:none}.form-error{border:1px solid #fed7aa;background:#fff7ed;color:#c2410c;border-radius:16px;padding:12px 14px;font-weight:800}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}.search{max-width:320px}.date-navigation{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:18px}.date-navigation button,.date-picker-inline{border:1px solid #d6d3d1;background:#fffefd;color:#44403c;border-radius:16px;padding:10px 12px;font-weight:900}.date-navigation button{cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}.date-navigation button:hover{background:#fafaf9;border-color:#a8a29e;box-shadow:0 6px 14px #00000014;transform:translateY(-1px)}.date-navigation button.active{background:#171412;border-color:#171412;color:#fff}.date-picker-inline{display:flex;align-items:center;gap:10px;margin:0}.date-picker-inline input{width:auto;min-width:150px;padding:8px 10px}.booking-list{display:flex;flex-direction:column;gap:12px}.global-search-results{display:flex;flex-direction:column;gap:10px}.search-summary{color:#78716c;font-weight:900}.search-result-card{border:1px solid #e7e5e4;background:#fafaf9;border-radius:18px;color:#44403c;cursor:pointer;display:grid;grid-template-columns:150px 1fr auto;gap:12px;padding:14px;text-align:left;font:inherit;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.search-result-card:hover{background:#fff;border-color:#a8a29e;box-shadow:0 8px 18px #00000014;transform:translateY(-1px)}.search-result-cancelled{opacity:.72}.search-result-date,.search-result-main,.search-result-extra{display:flex;flex-direction:column;gap:4px}.search-result-date small,.search-result-main small,.search-result-extra small{color:#78716c}.search-result-extra{grid-column:2 / -1}.seven-days-list{display:flex;flex-direction:column;gap:10px}.day-summary{border:1px solid #e7e5e4;background:#fafaf9;border-radius:18px;padding:14px;cursor:pointer;display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;text-align:left;color:#44403c;font:inherit;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.day-summary:hover{background:#fff;border-color:#a8a29e;box-shadow:0 8px 18px #00000014;transform:translateY(-1px)}.day-summary strong{display:block;font-size:16px}.day-summary small{color:#78716c}.day-summary span:not(:first-child){font-weight:900}.calendar-view{display:flex;flex-direction:column;gap:10px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekdays span{color:#78716c;font-size:12px;font-weight:950;text-align:center;text-transform:uppercase}.calendar-day{min-height:74px;border:1px solid #e7e5e4;background:#fafaf9;border-radius:16px;color:#44403c;cursor:pointer;padding:10px;display:flex;flex-direction:column;gap:6px;align-items:flex-start;justify-content:space-between;font:inherit;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.calendar-day:hover{background:#fff;border-color:#a8a29e;box-shadow:0 8px 18px #00000014;transform:translateY(-1px)}.calendar-day strong{font-size:16px}.calendar-day span{color:#0f766e;font-size:12px;font-weight:950}.calendar-day.today{border-color:#f59e0b;box-shadow:inset 0 0 0 1px #f59e0b}.calendar-day.selected{background:#171412;border-color:#171412;color:#fff}.calendar-day.selected span{color:#fff}.calendar-day.has-bookings:not(.selected){background:#ecfdf5;border-color:#99f6e4}.empty-day{visibility:hidden;pointer-events:none}.booking-card{border:1px solid #e7e5e4;border-radius:24px;padding:18px}.booking-card-cancelled{background:#fafaf9;opacity:.72}.booking-card-cancelled h3,.booking-card-cancelled .booking-details,.booking-card-cancelled .note{color:#78716c}.booking-main{display:flex;justify-content:space-between;gap:18px}.booking-title{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.booking-flags{display:contents}.attention-dot{width:11px;height:11px;border-radius:999px;box-shadow:0 0 0 3px #ffffffe6,0 0 0 4px #00000014;flex:0 0 auto}.status,.event-badge,.large-group{border-radius:999px;padding:6px 11px;font-size:12px;font-weight:900}.status{text-transform:capitalize}.confirmed{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.pending{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.cancelled{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.vip{background:#faf5ff;color:#9333ea;border:1px solid #d8b4fe}.arrived{background:#ecfeff;color:#0891b2;border:1px solid #67e8f9}.large-group{background:#dbeafe;color:#1d4ed8}.event-badge{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.booking-details{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;color:#57534e;margin-top:14px;font-size:14px}.note{background:#f5f5f4;padding:12px 14px;border-radius:16px;color:#57534e}.contact-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.contact-actions a{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:14px;padding:9px 12px;font-size:14px;font-weight:900;text-decoration:none;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.contact-actions a:hover{background:#dbeafe;border-color:#60a5fa;box-shadow:0 6px 14px #00000014;transform:translateY(-1px)}.actions{display:flex;flex-direction:column;gap:7px;align-content:center;justify-content:flex-end;min-width:260px}.actions button{border:1px solid #c7c1bb;background:#fffefd;border-radius:14px;padding:10px 12px;cursor:pointer;font-weight:800;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.actions button:hover{background:#f7f5f2;border-color:#8d8379;box-shadow:0 6px 14px #00000014;transform:translateY(-1px)}.actions-label{color:#78716c;font-size:12px;font-weight:950;text-transform:uppercase}.edit-button{align-self:flex-end;border-color:#bfdbfe!important;background:#eff6ff!important;color:#1d4ed8}.edit-button:hover{background:#dbeafe!important;border-color:#60a5fa!important}.status-selector{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.status-button{color:#57534e;min-width:96px}.status-button.confirmed{border-color:#5eead4;color:#0f766e}.status-button.arrived{border-color:#4ade80;color:#15803d}.status-button.pending{border-color:#fbbf24;color:#b45309}.status-button.cancelled{border-color:#f87171;color:#b91c1c}.status-button.active{box-shadow:0 8px 18px #0000001f;color:#fff;transform:translateY(-1px)}.status-button.active.confirmed{background:#0d9488;border-color:#0d9488}.status-button.active.arrived{background:#16a34a;border-color:#16a34a}.status-button.active.pending{background:#f59e0b;border-color:#f59e0b}.status-button.active.cancelled{background:#dc2626;border-color:#dc2626}.status-button.active:hover{color:#fff;filter:brightness(.96)}.quick{background:#16a34a!important;color:#fff;border-color:#16a34a!important}.tables-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-top:18px}.table-card{border-radius:24px;padding:18px;border:1px solid;display:flex;flex-direction:column;gap:5px}.table-card strong{font-size:17px}.table-card span,.table-card small{opacity:.75}.table-card em{margin-top:8px;font-style:normal;font-weight:900;text-transform:capitalize}.table-exit-time{margin-top:6px;font-weight:900}.free{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.reserved{background:#fffbeb;border-color:#fde68a;color:#92400e}.busy{background:#fef2f2;border-color:#fecaca;color:#991b1b}.vip-table{background:#faf5ff;border-color:#d8b4fe;color:#6d28d9}.live-indicator{background:#dcfce7;color:#15803d;border-radius:999px;padding:8px 14px;font-weight:900;font-size:13px}.empty{border:1px dashed #d6d3d1;background:#fafaf9;color:#78716c;border-radius:24px;text-align:center;padding:34px}.mobile-note-flag,.mobile-booking-more{display:none}@media (max-width: 980px){.hero,.layout,.section-head,.booking-main{grid-template-columns:1fr;flex-direction:column}.layout{display:flex;flex-direction:column}.stats{grid-template-columns:repeat(2,1fr)}.tables-grid{grid-template-columns:repeat(3,1fr)}.booking-details{grid-template-columns:repeat(2,1fr)}.date-box,.search{width:100%;max-width:none}.date-navigation,.date-picker-inline{width:100%}.date-navigation button{flex:1 1 150px}.date-picker-inline{flex-direction:column;align-items:stretch}.date-picker-inline input{width:100%}.day-summary,.search-result-card{grid-template-columns:1fr}.search-result-extra{grid-column:auto}.calendar-weekdays,.calendar-grid{gap:5px}.calendar-day{min-height:62px;border-radius:12px;padding:8px}.calendar-day span{font-size:11px}}@media (max-width: 640px){.app{padding-bottom:92px}.stats{display:flex;gap:8px;overflow-x:auto;margin-bottom:12px;padding-bottom:4px;scrollbar-width:none}.stats::-webkit-scrollbar{display:none}.stat-card{flex:0 0 auto;min-width:122px;padding:8px 10px;border-radius:16px;gap:8px}.stat-icon{border-radius:12px;font-size:16px;padding:8px}.stat-label{font-size:11px;white-space:nowrap}.stat-value{font-size:20px}.booking-form-panel{display:none}.booking-form-panel.mobile-form-open{display:block}.booking-form-panel.panel{border-radius:18px;padding:14px}.booking-form-panel .panel-title-row{align-items:center}.booking-form-panel h2{font-size:18px}.booking-form-panel .muted{font-size:13px}.booking-form-panel .form{margin-top:14px;gap:10px}.booking-form-panel label,.booking-form-panel .date-box label{font-size:12px;margin-bottom:5px}.booking-form-panel input,.booking-form-panel select,.booking-form-panel textarea{border-radius:12px;padding:10px 11px}.booking-form-panel textarea{min-height:74px}.booking-form-panel .primary-button,.booking-form-panel .secondary-button,.mobile-close-form{border-radius:13px;padding:12px}.mobile-close-form{display:block;border:1px solid #d6d3d1;background:#fafaf9;color:#57534e;font-weight:900;cursor:pointer}.mobile-sticky-booking{display:block;position:fixed;left:14px;right:14px;bottom:14px;z-index:45;border:0;border-radius:18px;background:#171412;color:#fff;box-shadow:0 16px 36px #0000003d;padding:15px 18px;font-size:16px;font-weight:950;cursor:pointer}.booking-list{gap:8px}.booking-card{border-radius:14px;padding:9px 10px}.booking-main{gap:7px}.booking-title{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;align-items:center}.booking-title h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.booking-title .status{justify-self:end}.booking-title .event-badge,.booking-title .large-group,.mobile-note-flag{grid-column:auto;justify-self:start}.mobile-note-flag{display:inline-flex;border:1px solid #d6d3d1;background:#fafaf9;color:#57534e;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:950}.attention-dot{width:9px;height:9px;box-shadow:0 0 0 2px #ffffffe6,0 0 0 3px #00000014}.status,.event-badge,.large-group{padding:3px 7px;font-size:10px}.booking-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:7px;font-size:12px}.booking-details span{overflow:hidden;border-radius:8px;background:#fafaf9;padding:4px 6px;text-overflow:ellipsis;white-space:nowrap}.contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:7px}.contact-actions a{padding:7px 8px;border-radius:10px;text-align:center;font-size:12px}.booking-card .note{display:none}.actions{min-width:0;width:100%;gap:5px}.edit-button{align-self:stretch;padding:7px 9px!important;border-radius:10px!important;font-size:12px}.actions-label,.actions>.status-selector{display:none}.mobile-booking-more{display:block;margin-top:7px}.mobile-booking-more summary{cursor:pointer;color:#57534e;font-size:12px;font-weight:900;list-style-position:inside}.mobile-more-content{display:flex;flex-direction:column;gap:7px;margin-top:7px;color:#57534e;font-size:12px}.mobile-status-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.mobile-status-selector button{border-radius:10px;padding:7px 8px;font-size:12px;font-weight:900}}@media (max-width: 560px){.app{padding:12px}.save-toast{top:12px;right:12px;left:12px;min-width:0}.hero,.panel{border-radius:24px;padding:20px}.stats,.two-cols,.tables-grid,.booking-details,.service-switcher{grid-template-columns:1fr}.booking-card{border-radius:18px;padding:12px}.booking-main{gap:10px}.booking-title{gap:7px}.booking-title h3{font-size:16px}.status,.event-badge,.large-group{padding:4px 8px;font-size:11px}.booking-details{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;font-size:13px}.booking-details span{border-radius:999px;background:#fafaf9;padding:5px 8px}.contact-actions{gap:6px;margin-top:8px}.contact-actions a{flex:1 1 120px;padding:8px 10px;text-align:center;font-size:13px}.note{margin:8px 0 0;padding:9px 10px;border-radius:12px;font-size:13px}.actions{min-width:0;gap:6px;width:100%}.edit-button{align-self:stretch;padding:8px 10px!important}.actions-label{font-size:11px}.status-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;justify-content:stretch}.actions button{border-radius:11px;padding:8px 9px;font-size:12px}.status-button{min-width:0}}@media (min-width: 561px) and (max-width: 640px){.booking-card{border-radius:20px;padding:14px}.booking-main{gap:12px}.booking-details{grid-template-columns:repeat(2,1fr);gap:7px;margin-top:10px;font-size:13px}.contact-actions{margin-top:9px}.contact-actions a{padding:8px 10px;font-size:13px}.note{margin:9px 0 0;padding:10px 12px;border-radius:13px;font-size:13px}.actions{min-width:0;width:100%}.edit-button{align-self:stretch}.status-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.actions button{padding:8px 10px;font-size:13px}.status-button{min-width:0}}@media (max-width: 640px){.app{padding-bottom:92px}.stats{display:flex;gap:6px;overflow-x:auto;margin-bottom:10px;padding-bottom:3px}.stat-card{min-width:68px;padding:6px 8px;border-radius:13px;gap:5px;box-shadow:0 8px 18px #00000012}.stat-icon{font-size:13px;border-radius:9px;padding:5px}.stat-label{display:none}.stat-value{font-size:18px;line-height:1}.booking-card{border-radius:14px;padding:9px 10px}.booking-main{gap:7px}.booking-title{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;align-items:center}.booking-title h3{min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.booking-title .status{justify-self:end}.booking-flags{grid-column:1 / -1;display:flex;gap:5px;min-width:0}.booking-flags .event-badge{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:7px;font-size:12px}.booking-details span{border-radius:8px;padding:4px 6px}.booking-card .note,.actions-label,.actions>.status-selector{display:none}.mobile-booking-more{display:block}}
