:root{--bg:#ffffff;--panel:#ffffff;--panel2:#eefaf4;--text:#111827;--muted:#64748b;--line:#d7eadf;--green:#42c17d;--green2:#2f9f68;--danger:#e5484d;--warning:#f5a623;--paper:#ffffff;--ink-soft:#334155}*{box-sizing:border-box}body{margin:0;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at 12% 8%,rgba(255,228,190,.72) 0,rgba(255,228,190,0) 34%),radial-gradient(circle at 86% 14%,rgba(199,247,218,.58) 0,rgba(199,247,218,0) 30%),linear-gradient(135deg,#fff7e8,#f8fff9 52%,#fffaf1);min-height:100vh}.appGridBackground{min-height:100vh;background:linear-gradient(90deg,rgba(15,23,42,.032) 1px,transparent 1px),linear-gradient(180deg,rgba(15,23,42,.032) 1px,transparent 1px),var(--bg);background-size:32px 32px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.62;cursor:not-allowed}.container{width:min(1440px,calc(100% - 42px));margin:0 auto}.nav{display:flex;align-items:center;justify-content:space-between;padding:18px 0 14px}.logo{display:grid;grid-gap:2px;gap:2px;font-weight:800;letter-spacing:-.035em}.logoMain{display:flex;align-items:center;gap:12px;width:max-content}.logoImage{width:46px;height:46px;border-radius:12px;object-fit:contain;background:#fff;border:1px solid var(--line);padding:4px;box-shadow:0 8px 20px rgba(24,54,99,.08)}.logoTitle{color:var(--text);font-size:22px;line-height:1}.logoSubtitle{width:max-content;margin-left:58px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:0}.logoSubtitle:hover{color:var(--green2);text-decoration:underline}.navLinks{display:flex;gap:10px;flex-wrap:wrap}.btn,.ghost,.pill{border:1px solid #cfe4d7;border-radius:12px;padding:10px 15px;background:#fff;color:#132033;cursor:pointer;box-shadow:0 1px 0 rgba(15,23,42,.03)}.btn{background:var(--green);color:#fff;border-color:var(--green);font-weight:800;box-shadow:0 10px 24px color-mix(in srgb,var(--green) 24%,transparent)}.ghost:hover,.pill:hover{background:#effaf4;border-color:#8ddbab}.tabActive{background:var(--green)!important;color:#fff!important;border-color:var(--green)!important}.danger{color:var(--danger)}.ghost.danger{color:#d02f36;border-color:#ffc3c6;background:#fff7f7}.hero{display:grid;grid-template-columns:1.05fr .95fr;grid-gap:28px;gap:28px;align-items:center;padding:50px 0 38px}.hero h1{font-size:clamp(44px,6vw,82px);line-height:.9;letter-spacing:-.08em;margin:0 0 18px}.hero p{color:var(--muted);font-size:18px;line-height:1.6;margin:0 0 24px;max-width:650px}.card,.cardSoft,.contextInline,.manualReservationModal,.notificationPanel,.plannerCard,.stat,.tableWrap{background:#fff;border:1px solid var(--line);box-shadow:0 18px 48px rgba(24,54,99,.08)}.card{border-radius:22px;padding:24px}.cardSoft{border-radius:20px;padding:18px}.grid{grid-gap:16px}.grid,.grid2{display:grid;gap:16px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}label{display:block;color:var(--muted);font-size:13px;margin-bottom:8px}input,select,textarea{width:100%;border:1px solid #cfe4d7;background:#fff;color:var(--text);border-radius:12px;padding:13px 14px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 18%,transparent)}.notice{border:1px solid #b8ebcf;background:#edf9f2;color:#2f9f68;padding:14px;border-radius:18px}.error{border-color:rgba(229,72,77,.35);background:rgba(229,72,77,.09);color:#a02228}.badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#e9f8ef;color:#2f9f68;border:1px solid #c8efd7;font-weight:700;font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.tenantActions{flex-wrap:nowrap;white-space:nowrap}.tenantActions button{flex:0 0 auto}.footer{color:var(--muted);padding:35px 0;font-size:13px}.legalFooter{display:flex;justify-content:center;align-items:center;gap:8px;padding:8px 0 18px;color:var(--muted);font-size:11px;line-height:1.4}.legalFooter a{text-decoration:underline;text-underline-offset:3px}.legalFooter a:hover{color:var(--green2)}.homeLanding{min-height:calc(100vh - 92px);display:grid;place-items:center;padding:44px 0 80px}.homeLandingCard{width:min(760px,100%);text-align:center;border:1px solid var(--line);border-radius:30px;background:rgba(255,255,255,.86);box-shadow:0 24px 70px rgba(24,54,99,.1);padding:clamp(28px,6vw,68px)}.homeProductName{color:var(--green2);font-size:clamp(24px,4vw,42px);font-weight:900;letter-spacing:-.06em;margin:0 0 18px}.homeLandingCard h1{font-size:clamp(44px,7vw,86px);line-height:.92;letter-spacing:-.08em;margin:0 0 28px}.homeLandingCard p{color:var(--muted);font-size:18px;line-height:1.6;margin:0 auto 26px;max-width:540px}.homeActions{justify-content:center}.homeActions .btn,.homeActions .pill{font-size:16px;padding:13px 18px}.stat{padding:20px;border-radius:18px}.stat b{display:block;color:var(--green2);font-size:32px;letter-spacing:-.04em}.stat span{color:var(--muted);font-size:13px}.reservationRestaurantStat{grid-column:1/-1}.reservationRestaurantStat b{font-size:clamp(24px,4vw,34px);line-height:1.08}.tableWrap{overflow:auto;border-radius:22px}table{width:100%;border-collapse:collapse;min-width:760px}td,th{text-align:left;padding:14px;border-bottom:1px solid #e3efe8;font-size:14px}th{color:var(--muted);font-weight:600;background:#f2fbf6}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 22px}.sectionTitle{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin:26px 0 14px}.sectionTitle h2{margin:0;font-size:32px;letter-spacing:-.05em}.sectionTitle h3{margin:0}.sectionTitle p{color:var(--muted);margin:8px 0 0}.customerUtilityBar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:10px 0 18px;padding:10px 0;border-bottom:1px solid var(--line)}.customerIdentity{display:grid;grid-gap:2px;gap:2px}.customerIdentity b{font-size:16px;letter-spacing:-.02em}.customerIdentity span{color:var(--muted);font-size:13px}.contextInline{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:4px 0 18px;padding:14px;border-radius:20px}.contextInline label{margin:0 0 6px;min-width:100%}.contextInline select{max-width:360px}.restaurantFooterCard p{color:var(--muted);margin:8px 0 14px}.copyLine{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.copyLine code{display:block;flex:1 1;min-width:240px;border:1px solid var(--line);background:#f7fcf9;border-radius:14px;padding:12px 14px;color:var(--green2);overflow:auto}.notificationPanel{position:absolute;right:0;top:52px;z-index:20;width:min(430px,calc(100vw - 32px));max-height:520px;overflow:auto;border-radius:22px;padding:16px}.notificationItem{border:1px solid var(--line);border-radius:18px;padding:12px;margin-bottom:10px;background:#f7fcf9;cursor:pointer}.notificationItem:hover{background:#eefaf4}.notificationUnread{border-color:#8ddbab;background:#edf9f2}.notificationItem div{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.notificationItem span{color:var(--muted);font-size:12px;white-space:nowrap}.notificationItem p{color:var(--muted);margin:8px 0 0;line-height:1.45}.reservationScreen{display:grid;grid-gap:18px;gap:18px;padding:24px;border:1px solid var(--line);background:#fff;border-radius:26px;box-shadow:0 26px 70px rgba(24,54,99,.09)}.reservationHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}.reservationHeader h2{margin:0;font-size:34px;letter-spacing:-.045em}.reservationHeader p{color:var(--muted);margin:8px 0 0}.reservationHeaderActions,.reservationToolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.reservationHeaderActions{justify-content:flex-end}.reservationToolbar{padding:12px;border:1px solid var(--line);background:#f7fcf9;border-radius:18px}.reservationToolbar .ghost,.reservationToolbar .pill,.reservationToolbar input{height:42px}.reservationToolbar input{max-width:180px}.reservationSearchWrap{position:relative;display:flex;align-items:center;flex:1 1 240px;min-width:220px;border:1px solid transparent;border-radius:14px;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.reservationSearchWrapActive{background:#fff;border-color:#cbd5e1;box-shadow:0 0 0 4px rgba(100,116,139,.1);padding:3px}.reservationSearchWrap .reservationSearch{min-width:0;max-width:none;flex:1 1}.reservationSearchWrapActive .reservationSearch{border-color:transparent;box-shadow:none;background:#fff}.reservationSearchBadge{flex:0 0 auto;border:1px solid #cbd5e1;background:#f1f5f9;color:#475569;border-radius:999px;padding:7px 11px;font-weight:900;font-size:12px;cursor:pointer;white-space:nowrap}.reservationSearchBadge:hover{background:#e2e8f0}.squareBtn{width:42px;height:42px;padding:0;display:inline-grid;place-items:center;border-radius:12px;font-size:20px}.weekOverview{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px}.weekDayCard{min-height:116px;display:grid;align-content:space-between;text-align:left;padding:14px;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:18px;cursor:pointer;box-shadow:0 8px 22px rgba(24,54,99,.05)}.weekDayCard span{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.weekDayCard b{font-size:24px;color:#0f172a;letter-spacing:-.04em}.weekDayCard em{font-style:normal;color:var(--green2);font-weight:800}.weekDayCard small{color:var(--muted)}.activeWeekDay{background:#42c17d;color:#fff;border-color:#42c17d}.activeWeekDay b,.activeWeekDay em,.activeWeekDay small,.activeWeekDay span{color:#fff}.reservationLayout{display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-gap:18px;gap:18px;align-items:start}.plannerCard{border-radius:22px;overflow:hidden}.plannerGrid{display:grid;min-height:900px;overflow:auto;position:relative;background:#fff}.plannerColumnHead,.plannerCorner{position:-webkit-sticky;position:sticky;top:0;z-index:5;min-height:74px;padding:18px 16px;background:#f2fbf6;color:#0f172a;border-bottom:1px solid var(--line)}.plannerCorner{left:0;z-index:6;color:var(--muted);font-weight:700}.plannerColumnHead{border-left:1px solid var(--line)}.plannerColumnHead b{display:block;font-size:16px}.plannerColumnHead span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.plannerTime{grid-column:1;height:72px;padding:14px 16px;color:var(--ink-soft);border-top:1px solid #e3efe8;background:#fbfefc;font-weight:700}.plannerColumn{position:relative;min-height:864px;grid-row:2/span 12;border-left:1px solid #e5e7eb;background:repeating-linear-gradient(180deg,transparent 0,transparent 71px,#eef2f7 72px)}.reservationBlock{position:absolute;left:10px;right:10px;min-height:72px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;color:#0f172a;text-align:left;cursor:pointer;transition:.16s ease;overflow:hidden;box-shadow:none}.reservationBlock:hover,.selectedBlock{transform:none;box-shadow:0 0 0 3px rgba(66,193,125,.18)}.reservationBlock span{display:block;font-size:12px;opacity:.9}.reservationBlock b{display:block;margin-top:5px}.reservationBlock em{display:block;font-style:normal;font-size:12px;margin-top:6px;opacity:.9}.statusConfirmed{background:#e8f8ef;border-color:#8ddbab;color:#1f7a4e}.statusPending{background:#fff7e6;border-color:#ffd58a;color:#7a4d00}.statusCancelled{background:#fff0f0;border-color:#ffb9b9;color:#9f2020}.legend{display:flex;gap:18px;flex-wrap:wrap;padding:16px 18px;border-top:1px solid var(--line);background:#f7fcf9;color:var(--muted);font-size:13px}.legend span{display:inline-flex;align-items:center;gap:8px}.dot{width:12px;height:12px;border-radius:999px;display:inline-block;flex:0 0 auto}.confirmedDot{background:var(--green)}.pendingDot{background:var(--warning)}.cancelledDot{background:var(--danger)}.reservationAside{display:grid;grid-gap:16px;gap:16px}.calendarHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.calendarHead b{text-transform:capitalize}.calendarGrid,.calendarWeekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px;text-align:center}.calendarWeekdays span{color:var(--muted);font-size:12px;padding:8px 0}.calendarGrid button{position:relative;min-height:40px;border:0;border-radius:10px;background:transparent;color:var(--text);cursor:pointer}.calendarGrid button:hover{background:#eefaf4}.calendarGrid .calendarActive{background:var(--green);color:#fff;font-weight:900}.calendarMuted{opacity:.36}.calendarGrid i{position:absolute;right:5px;top:4px;min-width:16px;height:16px;border-radius:999px;display:grid;place-items:center;background:#e9f8ef;color:var(--green2);font-style:normal;font-size:10px}.calendarActive i{background:rgba(255,255,255,.22);color:#fff}.calendarGrid .calendarMarked{box-shadow:inset 0 0 0 2px var(--green);background:#e9f8ef;color:var(--green2);font-weight:800}.calendarGrid .calendarMarked.calendarActive{background:var(--green);color:#fff}.calendarRangeAnchor{box-shadow:inset 0 0 0 2px var(--warning);background:#fff7e6;color:#7a4d00;font-weight:800}.calendarActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.calendarActions .ghost{padding:9px 12px;font-size:13px}.selectionHint{margin:10px 0 0;color:var(--green2);font-weight:700;font-size:13px;line-height:1.45}.selectedPanel h3{margin:0 0 14px}.selectedDetails{display:grid;grid-gap:10px;gap:10px}.selectedDetails p{margin:0;color:#475569;line-height:1.45}.selectedName{display:flex;align-items:center;gap:10px;min-width:0}.selectedName b{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selectedPanel .statusPill{padding:6px 9px;font-size:11.5px}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.reservationStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.statsLayout{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:18px;gap:18px;align-items:start}.statsGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.statsGrid .stat{min-height:132px;display:grid;align-content:space-between}.statsGrid .stat:last-child{grid-column:span 3}.periodList{padding:20px;display:grid;grid-gap:18px;gap:18px;background:#fff}.periodGroup{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fbfefc}.periodGroup h3{margin:0 0 10px;text-transform:capitalize;color:#0f172a;border-bottom:1px solid var(--line);padding-bottom:10px}.periodCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:10px;gap:10px}.periodReservation{width:100%;display:grid;grid-gap:6px;gap:6px;text-align:left;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fff;color:#0f172a;cursor:pointer;box-shadow:0 8px 20px rgba(24,54,99,.05)}.periodReservation b,.periodReservation span{display:block}.periodReservation span{color:#475569;font-size:13px}.periodReservation .periodTime{color:var(--green2);font-weight:900;font-size:13px}.periodReservation em{justify-self:start;font-style:normal;font-size:12px;font-weight:900;color:var(--green2);background:#e9f8ef;border-radius:999px;padding:5px 9px}.emptyState{padding:36px;text-align:center;color:var(--muted);border:1px dashed #bad8c6;border-radius:20px;background:#f7fcf9}.reservationOverviewCard{padding:18px;display:grid;grid-gap:18px;gap:18px;overflow:hidden}.reservationDayGroup{border:1px solid var(--line);border-radius:18px;background:#fbfefc;overflow:hidden}.reservationDayHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);background:#f2fbf6}.reservationDayHeader h3{margin:0;text-transform:capitalize;color:#0f172a}.reservationDayHeader p{margin:4px 0 0;color:var(--muted);font-size:13px}.reservationTableWrap{border:0;border-radius:0;box-shadow:none;background:#fff;overflow-x:hidden}.reservationTable{min-width:0;table-layout:fixed}.reservationTable td,.reservationTable th{white-space:normal;overflow-wrap:anywhere;word-break:break-word;vertical-align:top;padding:11px 10px;font-size:13px;line-height:1.35}.reservationTable th{font-size:12px;letter-spacing:-.01em}.reservationTable td:first-child,.reservationTable th:first-child{width:10%}.reservationTable td:nth-child(2),.reservationTable th:nth-child(2){width:15%}.reservationTable td:nth-child(3),.reservationTable th:nth-child(3){width:7%}.reservationTable td:nth-child(4),.reservationTable th:nth-child(4){width:16%}.reservationTable td:nth-child(5),.reservationTable th:nth-child(5){width:12%}.reservationTable td:nth-child(6),.reservationTable th:nth-child(6){width:17%}.reservationTable td:nth-child(7),.reservationTable th:nth-child(7){width:11%}.reservationTable td:nth-child(8),.reservationTable th:nth-child(8){width:12%}.reservationTable tbody tr{cursor:pointer}.reservationTable tbody tr:hover,.selectedTableRow{background:#edf9f2}.reservationTable td span{display:block}.mutedCell{color:var(--muted);font-size:12px;margin-top:4px}.reservationTable .mutedCell{font-size:11.5px;margin-top:3px}.statusPill{display:inline-flex!important;align-items:center;width:max-content;max-width:100%;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;line-height:1}.noteCell{max-width:none;color:#475569;line-height:1.45;white-space:normal}.sourcePill{display:inline-flex!important;align-items:center;width:max-content;max-width:100%;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;line-height:1;border:1px solid var(--line)}.sourceOnline{background:#e0f2fe;border-color:#bae6fd;color:#0369a1}.sourceManual{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.statusWithAttendance{display:inline-flex!important;align-items:center;gap:8px;flex-wrap:nowrap;max-width:100%;min-width:0;vertical-align:middle}.statusWithAttendance .statusPill{flex:0 0 auto;white-space:nowrap;padding:5px 8px;font-size:11.5px}.attendanceIndicator{flex:0 0 auto;width:30px;height:30px;border:1px solid #cbd5e1;background:#fff;color:#475569;border-radius:10px;padding:0;box-shadow:inset 0 -1px 0 rgba(15,23,42,.04),0 2px 6px rgba(15,23,42,.04)}.attendanceDoorIcon,.attendanceIndicator{display:inline-flex!important;align-items:center;justify-content:center}.attendanceDoorIcon{position:relative;width:20px;height:22px;color:currentColor}.attendanceDoorShadow{position:absolute;left:2px;right:1px;bottom:0;height:3px;border-radius:999px;background:rgba(15,23,42,.1)}.attendanceDoorFrame{position:relative;display:block;width:15px;height:20px;border:2px solid;border-radius:6px 6px 3px 3px;box-sizing:border-box;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(241,245,249,.92));box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);overflow:hidden}.attendanceDoorPanel{position:absolute;left:3px;top:4px;width:7px;height:11px;border:1px solid;border-radius:3px;opacity:.32}.attendanceDoorKnob{position:absolute;right:2px;top:9px;width:3px;height:3px;border-radius:999px;background:currentColor;box-shadow:0 0 0 1px rgba(255,255,255,.65)}.attendanceDoorIconAppeared{color:var(--green2)}.attendanceDoorIconAppeared .attendanceDoorFrame{background:linear-gradient(180deg,#effaf4,#dff7e9)}.attendancePerson{position:absolute;inset:0;color:currentColor}.attendancePerson span{position:absolute;left:5px;top:3px;width:5px;height:5px;border:1.6px solid;border-radius:999px;background:#fff;box-sizing:border-box}.attendancePerson i{left:7px;top:8px;width:2px;height:7px}.attendancePerson i,.attendancePerson i:before{position:absolute;background:currentColor;border-radius:999px}.attendancePerson i:before{content:"";left:-4px;top:2px;width:10px;height:2px;transform:rotate(-8deg);transform-origin:center}.attendancePerson i:after{content:"";position:absolute;left:-3px;top:6px;width:8px;height:7px;border-left:2px solid;border-right:2px solid;border-bottom:0;border-radius:0 0 5px 5px;transform:skewX(-8deg)}.selectedStatusActions{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;flex-wrap:nowrap;justify-content:flex-end;white-space:nowrap}.selectedName em{font-style:normal}.attendanceButton{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:36px;border:1px solid #cbd5e1;background:#fff;color:#475569;border-radius:12px;padding:0;font-weight:900;font-size:12px;cursor:pointer;box-shadow:0 4px 12px rgba(15,23,42,.06);transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}.attendanceButton:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8;transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.1)}.attendanceButtonAppeared{background:#e9f8ef;border-color:#8ddbab;color:var(--green2)}.attendanceButton:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.selectedPanelFlash{animation:selectedReservationFlash 1.1s ease-out 1}@keyframes selectedReservationFlash{0%{box-shadow:0 0 0 0 rgba(66,193,125,.62),0 18px 48px rgba(24,54,99,.08);border-color:#42c17d}38%{box-shadow:0 0 0 9px rgba(66,193,125,.18),0 18px 48px rgba(24,54,99,.12);border-color:#42c17d}to{box-shadow:0 18px 48px rgba(24,54,99,.08);border-color:var(--line)}}.modalOverlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;background:rgba(15,23,42,.38);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.manualReservationModal{width:min(720px,100%);max-height:calc(100vh - 48px);overflow:auto}.manualCheckBlock{gap:10px}.manualCheckBlock .ghost{width:max-content}.checkboxRow{display:flex;align-items:center;gap:10px;color:var(--text);font-size:14px;font-weight:700;margin:0}.checkboxRow input{width:auto;min-width:18px;height:18px;box-shadow:none}.reservationPublicHero{align-items:start}.reservationWizard{position:relative}.helperText{color:var(--muted);font-size:13px;margin:10px 0 0}.wizardSteps{display:flex;align-items:center;margin-bottom:4px}.wizardSteps span{border:1px solid var(--line);background:#f7fcf9;color:var(--muted);border-radius:999px;padding:10px 12px;text-align:center;font-size:13px;font-weight:800}.wizardSteps .wizardActive{background:var(--green);color:#fff;border-color:var(--green)}.timeWindowActions{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}.timeWindowActions .ghost{padding:9px 12px;font-size:13px;font-weight:800}.reservationBasicsGrid>div{min-width:0}.reservationBasicsGrid .timeDropdownButton,.reservationBasicsGrid input{height:48px;min-height:48px;line-height:1.2}.timeDropdown,.timePickerField{position:relative}.timeDropdownButton{width:100%;border:1px solid #cfe4d7;background:#fff;color:#132033;border-radius:12px;padding:0 14px;outline:none;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left;font:inherit}.timeDropdownButtonText{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeDropdownButton:focus{border-color:#94a3b8;box-shadow:0 0 0 4px rgba(148,163,184,.18)}.timeDropdownButton:disabled{opacity:.62;cursor:not-allowed}.timeDropdownChevron{color:#64748b;font-weight:900;flex:0 0 auto}.timeDropdownMenu{position:absolute;z-index:60;top:calc(100% + 8px);left:0;right:0;max-height:286px;overflow:auto;padding:6px;border:1px solid #dbeade;border-radius:14px;background:#fff;box-shadow:0 18px 44px rgba(24,54,99,.14)}.timeDropdownOptionsGrid{display:grid;grid-template-columns:1fr;grid-gap:4px;gap:4px;margin-top:4px}.timeDropdownOption{width:100%;min-height:40px;border:1px solid transparent;background:#fff;color:#132033;border-radius:10px;padding:9px 34px 9px 12px;font-weight:750;cursor:pointer;text-align:left;font:inherit;position:relative}.timeDropdownOption:focus,.timeDropdownOption:hover{border-color:#d7eadf;background:#f8fafc;outline:none}.timeDropdownOptionSelected,.timeDropdownOptionSelected:focus,.timeDropdownOptionSelected:hover{border-color:#cbd5e1;background:#f1f5f9;color:#0f172a}.timeDropdownOptionSelected:after{content:"✓";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#475569;font-weight:900}.slotGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));grid-gap:10px;gap:10px}.timeSlotGrid{display:grid;grid-template-columns:minmax(86px,.85fr) minmax(0,3fr) minmax(86px,.85fr);grid-template-areas:"earlier times later";align-items:stretch;grid-gap:10px;gap:10px}.visibleSlotGrid{grid-area:times;grid-template-columns:repeat(3,minmax(84px,1fr));min-width:0}.slotGrid+.notice,.timeSlotGrid+.notice{margin-top:12px}.slotButton{min-height:48px;border:1px solid #b8ebcf;background:#edf9f2;color:var(--green2);border-radius:16px;padding:13px 10px;font-weight:900;cursor:pointer;box-shadow:0 8px 20px rgba(24,54,99,.06);transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease;white-space:nowrap}.slotButton:hover:not(:disabled){transform:translateY(-1px);border-color:#73d79e;background:#e4f8ec;box-shadow:0 12px 26px rgba(24,54,99,.1)}.slotButton:disabled{opacity:1;cursor:not-allowed;background:#f4f7fb;border-color:var(--line);color:var(--muted);box-shadow:none}.slotUnavailable:disabled{background:#f8fafc;border-style:dashed;color:#94a3b8}.slotSelected{background:var(--green);color:#fff;border-color:var(--green)}.slotNavButton{text-transform:none;letter-spacing:.01em}.slotNavEarlier{grid-area:earlier}.slotNavLater{grid-area:later}.summaryStrip{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:14px;border:1px solid #b8ebcf;background:#edf9f2;border-radius:18px}.summaryStrip b,.summaryStrip span{display:inline-flex;padding:8px 10px;border-radius:999px;background:#fff;color:var(--green2)}@media(max-width:1080px){.reservationLayout,.statsLayout{grid-template-columns:1fr}.reservationStats,.statsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.statsGrid .stat:last-child{grid-column:span 2}.weekOverview{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:860px){.grid2,.grid3,.hero{grid-template-columns:1fr}.nav{align-items:flex-start;gap:18px;flex-direction:column}}@media(max-width:700px){.container{width:min(100% - 24px,1440px)}.reservationScreen{padding:14px;border-radius:20px}.reservationHeader{align-items:flex-start;flex-direction:column}.reservationStats,.statsGrid{grid-template-columns:1fr}.statsGrid .stat:last-child{grid-column:span 1}.customerUtilityBar{align-items:flex-start;flex-direction:column}.weekOverview{grid-template-columns:repeat(2,minmax(0,1fr))}.reservationSearchWrap{flex:1 1 220px;min-width:180px}.reservationSearch,.reservationToolbar input{max-width:none}.reservationSearchWrap .reservationSearch{min-width:0}.reservationDayHeader{align-items:flex-start;flex-direction:column}.reservationSearchBadge{align-self:flex-start}.plannerGrid{min-width:760px}.timeSlotGrid{grid-template-columns:52px minmax(0,1fr) 52px;grid-template-areas:"earlier times later";gap:4px}.timeSlotGrid .visibleSlotGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.timeSlotGrid .slotButton{min-height:42px;padding:10px 3px;border-radius:12px;font-size:11px;white-space:nowrap}.timeDropdownMenu{max-height:240px}.plannerCard{overflow:auto}.reservationOverviewCard{overflow:hidden}.slotGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.modalOverlay{align-items:start}}@media(max-width:900px){.reservationTable thead{display:none}.reservationTable,.reservationTable tbody,.reservationTable td,.reservationTable tr{display:block;width:100%!important}.reservationTable tr{border-bottom:1px solid var(--line);padding:12px 0}.reservationTable tr:last-child{border-bottom:0}.reservationTable td{display:grid;grid-template-columns:96px minmax(0,1fr);grid-gap:10px;gap:10px;padding:8px 14px;border-bottom:0}.reservationTable td:before{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.reservationTable td:first-child:before{content:"Zeit"}.reservationTable td:nth-child(2):before{content:"Gast"}.reservationTable td:nth-child(3):before{content:"Personen"}.reservationTable td:nth-child(4):before{content:"Kontakt"}.reservationTable td:nth-child(5):before{content:"Tisch"}.reservationTable td:nth-child(6):before{content:"Status"}.reservationTable td:nth-child(7):before{content:"Herkunft"}.reservationTable td:nth-child(8):before{content:"Notiz"}}.publicBrandCard{display:flex;align-items:center;gap:14px;margin:0 0 22px;padding:14px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.82);box-shadow:0 12px 30px rgba(24,54,99,.06);width:max-content;max-width:100%}.publicBrandFallback,.publicBrandLogo{width:64px;height:64px;border-radius:18px;flex:0 0 auto}.publicBrandLogo{object-fit:contain;border:0;background:transparent;padding:0}.publicBrandFallback{display:grid;place-items:center;background:var(--green);color:#fff;font-size:28px;font-weight:900}.publicBrandMeta{display:grid;grid-gap:3px;gap:3px}.publicBrandMeta small,.publicBrandMeta span{color:var(--muted);font-size:12px;font-weight:700}.publicBrandMeta strong{color:var(--text);font-size:22px;letter-spacing:-.04em}.reservationThemeDark .card,.reservationThemeDark .publicBrandCard,.reservationThemeDark .stat{background:var(--panel);border-color:var(--line)}.reservationThemeDark .summaryStrip b,.reservationThemeDark .summaryStrip span,.reservationThemeDark .wizardSteps span{background:#111d31;color:var(--text);border-color:var(--line)}.colorSetting{display:grid;grid-template-columns:54px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center}.colorSetting input[type=color]{height:46px;padding:4px;cursor:pointer}.openingHoursEditor{display:grid;grid-gap:10px;gap:10px}.openingHoursRow{display:grid;grid-template-columns:130px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:16px;padding:12px;background:#f7fcf9}.openingHoursRow strong{color:var(--text);padding-top:12px}.openingHoursRow span{color:var(--muted);text-align:center}.openingHoursControls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.openingHoursControls select{flex:0 0 150px}.timePickerGroup{display:grid;grid-template-columns:1fr;grid-gap:0;gap:0;align-items:center;width:128px;min-width:118px}.timePickerGroup input,.timePickerGroup select{width:100%}.compactButton{white-space:nowrap;padding:12px 14px}.pauseToggle{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 10px;border:1px solid var(--line);border-radius:14px;background:#fff;font-weight:800;color:var(--text)}.pauseToggle input{width:auto}.pauseError,.pauseLabel{text-align:left!important;font-weight:800}.pauseError{color:#b91c1c!important;font-size:13px}@media (max-width:820px){.openingHoursControls,.openingHoursRow{grid-template-columns:1fr}.openingHoursControls{display:grid}.openingHoursControls select,.timePickerGroup{width:100%;min-width:0}.pauseToggle{justify-content:flex-start}.openingHoursRow span{text-align:left}}.reservationBodyDark{--bg:#07111f;background:linear-gradient(90deg,rgba(148,163,184,.045) 1px,transparent 1px),linear-gradient(180deg,rgba(148,163,184,.045) 1px,transparent 1px),var(--bg)}.reservationBodyDark .footer,.reservationBodyDark .nav{color:#eef6ff}.reservationBodyDark .nav .ghost,.reservationBodyDark .nav .pill,.reservationThemeDark .ghost{background:#111d31;color:#eef6ff;border-color:rgba(184,207,237,.24)}.reservationThemeDark{color:var(--text)}.reservationThemeDark .card,.reservationThemeDark .publicBrandCard,.reservationThemeDark .stat,.reservationThemeDark .summaryStrip{background:var(--panel);border-color:var(--line);box-shadow:0 18px 48px rgba(0,0,0,.28)}.reservationThemeDark .publicBrandLogo{background:transparent;border-color:transparent}.reservationThemeDark input,.reservationThemeDark select,.reservationThemeDark textarea{background:#111d31;color:var(--text);border-color:var(--line)}.reservationThemeDark input::placeholder,.reservationThemeDark textarea::placeholder{color:#8da2bd}.reservationThemeDark .timeDropdownButton,.reservationThemeDark .timeDropdownMenu{background:#111d31;color:var(--text);border-color:var(--line)}.reservationThemeDark .timeDropdownButton:focus{border-color:rgba(184,207,237,.46);box-shadow:0 0 0 4px rgba(184,207,237,.12)}.reservationThemeDark .timeDropdownMenu{box-shadow:0 18px 44px rgba(0,0,0,.34)}.reservationThemeDark .timeDropdownChevron{color:#b7c6d9}.reservationThemeDark .timeDropdownOption{background:#111d31;color:var(--text);border-color:rgba(184,207,237,.14)}.reservationThemeDark .timeDropdownOption:focus,.reservationThemeDark .timeDropdownOption:hover{background:#172238;border-color:rgba(184,207,237,.34)}.reservationThemeDark .timeDropdownOptionSelected,.reservationThemeDark .timeDropdownOptionSelected:focus,.reservationThemeDark .timeDropdownOptionSelected:hover{background:#1e2d47;color:#eef6ff;border-color:rgba(184,207,237,.42)}.reservationThemeDark .timeDropdownOptionSelected:after{color:#d8e8ff}.reservationThemeDark .badge,.reservationThemeDark .summaryStrip b,.reservationThemeDark .summaryStrip span,.reservationThemeDark .wizardSteps span{background:#111d31;color:var(--text);border-color:var(--line)}.reservationThemeDark .slotSelected,.reservationThemeDark .wizardSteps .wizardActive{background:var(--green);color:#fff;border-color:var(--green)}.reservationThemeDark .notice{background:#11243d;color:#d8e8ff;border-color:var(--line)}.reservationThemeDark .notice.error{background:rgba(229,72,77,.16);color:#fecdd3;border-color:rgba(248,113,113,.35)}.reservationThemeDark .slotButton{background:#111d31;color:#d8e8ff;border-color:var(--line)}.reservationThemeDark .slotButton:hover:not(:disabled){background:#172238;border-color:rgba(184,207,237,.38)}.reservationThemeDark .slotButton:disabled{background:#0b1424;color:#7f93ad;border-color:rgba(184,207,237,.14)}.reservationThemeDark .slotUnavailable:disabled{border-style:dashed;border-color:rgba(184,207,237,.22)}.reservationThemeDark .helperText,.reservationThemeDark .publicBrandMeta small,.reservationThemeDark .publicBrandMeta span,.reservationThemeDark .stat span,.reservationThemeDark label,.reservationThemeDark p{color:var(--muted)}.reservationThemeDark .publicBrandMeta strong,.reservationThemeDark .stat b,.reservationThemeDark h1,.reservationThemeDark h2{color:var(--text)}.questionNumberNotice a{font-weight:900;text-decoration:underline;text-underline-offset:3px}.reservationBodyDark .logoTitle{color:#eef6ff}.reservationBodyDark .logoSubtitle{color:#b7c6d9}.reservationBodyDark .logoSubtitle:hover{color:#eef6ff}@media(max-width:420px){.timeSlotGrid{grid-template-columns:50px minmax(0,1fr) 50px;gap:4px}.timeSlotGrid .visibleSlotGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.timeSlotGrid .slotButton{min-height:40px;padding:9px 2px;border-radius:11px;font-size:10.5px;white-space:nowrap}}.reservationPublicTheme .badge{background:transparent;color:var(--green2);border:0;padding:0;border-radius:0;font-weight:900;letter-spacing:.02em}.reservationPublicTheme .inlineNotice,.reservationPublicTheme .notice:not(.error){border:0;background:transparent;color:var(--muted);padding:0;border-radius:0;box-shadow:none;margin:0;line-height:1.55}.reservationPublicTheme .notice.error{border-color:rgba(229,72,77,.35);background:rgba(229,72,77,.09);color:#a02228;padding:14px;border-radius:18px}.reservationPublicTheme .summaryStrip{border:0;background:transparent;padding:0;border-radius:0}.reservationPublicTheme .summaryStrip b,.reservationPublicTheme .summaryStrip span{background:transparent;color:var(--text);padding:0;border-radius:0}.reservationPublicTheme .summaryStrip b{color:var(--green2)}.reservationPublicTheme .holdTimer{display:flex;align-items:center;min-height:24px;color:var(--green2);font-weight:900;line-height:1.35;white-space:nowrap}.reservationPublicTheme .holdTimer span{display:inline-flex;align-items:center;gap:8px}.reservationPublicTheme .holdTimer span:before{content:"⏱";font-size:1.05em}.reservationPublicTheme .slotButton{border-color:color-mix(in srgb,var(--green) 50%,white);background:color-mix(in srgb,var(--green) 11%,white);color:var(--green2)}.reservationPublicTheme .slotButton:hover:not(:disabled){border-color:color-mix(in srgb,var(--green) 72%,white);background:color-mix(in srgb,var(--green) 17%,white)}.reservationPublicTheme .slotButton:disabled{cursor:not-allowed;transform:none;opacity:1;box-shadow:none;background:#e2e8f0;border-color:#94a3b8;color:#475569}.reservationPublicTheme .slotUnavailable:disabled{background:repeating-linear-gradient(135deg,#f8fafc 0 7px,#e2e8f0 7px 14px);border-style:dashed;border-color:#94a3b8;color:#475569;text-decoration:line-through;text-decoration-thickness:2px;-webkit-text-decoration-color:#64748b;text-decoration-color:#64748b}.reservationPublicTheme .slotNavButton:disabled{opacity:1;background:#f1f5f9;border-color:#cbd5e1;color:#64748b;text-decoration:none}.reservationPublicTheme .slotSelected,.reservationPublicTheme .wizardSteps .wizardActive{background:var(--green);color:#fff;border-color:var(--green)}.reservationPublicTheme .btn{box-shadow:0 10px 24px color-mix(in srgb,var(--green) 24%,transparent)}.reservationPublicTheme .ghost:hover,.reservationPublicTheme .pill:hover{background:color-mix(in srgb,var(--green) 8%,white);border-color:color-mix(in srgb,var(--green) 45%,white)}.reservationThemeDark.reservationPublicTheme .inlineNotice,.reservationThemeDark.reservationPublicTheme .notice:not(.error){background:transparent;color:var(--muted);border:0}.reservationThemeDark.reservationPublicTheme .summaryStrip,.reservationThemeDark.reservationPublicTheme .summaryStrip b,.reservationThemeDark.reservationPublicTheme .summaryStrip span{background:transparent;border-color:transparent}.reservationThemeDark.reservationPublicTheme .holdTimer{color:var(--green)}.reservationThemeDark.reservationPublicTheme .slotButton:disabled{opacity:1;background:#1e293b;border-color:rgba(203,213,225,.42);color:#cbd5e1}.reservationThemeDark.reservationPublicTheme .slotUnavailable:disabled{background:repeating-linear-gradient(135deg,#0f172a 0 7px,#1e293b 7px 14px);border-style:dashed;border-color:rgba(203,213,225,.42);color:#cbd5e1;text-decoration:line-through;text-decoration-thickness:2px;-webkit-text-decoration-color:#94a3b8;text-decoration-color:#94a3b8}.reservationThemeDark.reservationPublicTheme .slotNavButton:disabled{opacity:1;background:#111d31;border-color:rgba(203,213,225,.34);color:#94a3b8;text-decoration:none}.publicReservationTop{margin:0 0 24px}.publicReservationTop .logo{width:max-content}.publicBrandCardNoLogo{padding:14px 18px}.publicBrandCardNoLogo .publicBrandMeta{gap:4px}@media(max-width:700px){.reservationPublicTheme .slotButton:disabled,.reservationPublicTheme .slotNavButton:disabled{opacity:1}.reservationPublicHero{padding-top:22px;gap:18px}.reservationPublicHero .publicReservationTop{margin-bottom:18px}.reservationPublicHero .publicBrandCard,.reservationPublicHero .reservationPublicIntroText{display:none}.reservationPublicHero h1{font-size:clamp(36px,12vw,52px);margin:8px 0 0}.reservationPublicHero .badge,.reservationPublicHero .reservationWizard{margin-top:0}}.reservationPageShell{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 16% 8%,rgba(255,228,190,.58) 0,rgba(255,228,190,0) 34%),radial-gradient(circle at 82% 12%,rgba(199,247,218,.48) 0,rgba(199,247,218,0) 30%),linear-gradient(135deg,#fff7e8,#f8fff9 52%,#fffaf1)}.legalFooterReservation{justify-content:flex-end;margin-top:auto;padding:28px 0 22px}.publicBrandLogoStandalone{display:block;width:auto;max-width:min(150px,42vw);height:auto;max-height:96px;object-fit:contain;object-position:left center;margin:0 0 18px;border:0;border-radius:0;background:transparent;box-shadow:none}.reservationBodyDark .legalFooter{color:#b7c6d9}.reservationBodyDark .legalFooter a:hover{color:#eef6ff}@media(max-width:700px){.legalFooterReservation{justify-content:center;margin-top:22px;padding:8px 0 18px}.publicBrandLogoStandalone{max-width:min(124px,54vw);max-height:78px;margin-bottom:14px}}