:root{--ink:#171717;--muted:#6b7280;--line:#e5e7eb;--soft:#f7f7f8;--surface:#fff;--brand:#111827}*{box-sizing:border-box}html{background:#fafafa}body{color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.logo{letter-spacing:-.02em;align-items:center;gap:10px;font-size:15px;font-weight:700;display:inline-flex}.logoMark{color:#fff;background:#171717;border-radius:9px;place-items:center;width:28px;height:28px;font-size:13px;font-weight:800;display:grid}.eyebrow{color:#737373;margin:0 0 8px;font-size:13px;font-weight:600}.formError{color:#b42318;margin:0;font-size:13px;line-height:1.45}.primaryButton,.secondaryButton,.dangerButton,.textButton{cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-weight:600;text-decoration:none;transition:all .16s;display:inline-flex}.primaryButton{color:#fff;background:#171717}.primaryButton:hover{background:#303030;transform:translateY(-1px)}.primaryButton:disabled{opacity:.55;cursor:wait;transform:none}.secondaryButton{color:#333;background:#fff;border-color:#dedede}.secondaryButton:hover{background:#f7f7f7}.dangerButton{color:#b42318;background:#fff;border-color:#f1d4d0}.textButton{color:#6b7280;background:0 0;border:0;min-height:auto;text-decoration:underline}.small{border-radius:8px;min-height:36px;padding:0 12px;font-size:13px}.iconButton{color:#555;cursor:pointer;background:#fff;border:1px solid #e1e1e1;border-radius:8px;flex:0 0 36px;place-items:center;width:36px;height:36px;text-decoration:none;display:grid}.iconButton:hover{background:#f5f5f5}.iconButton.danger{color:#b42318}.bookingPage{background:radial-gradient(circle at 50% 0,#fff 0,#fafafa 45%,#f4f4f5 100%);min-height:100vh;padding:24px}.publicHeader{width:min(1060px,100%);margin:0 auto 54px}.bookerCard{background:#fff;border:1px solid #dedede;border-radius:16px;grid-template-columns:300px 440px;width:min-content;max-width:100%;min-height:580px;margin:0 auto;transition:width .2s;display:grid;overflow:hidden;box-shadow:0 18px 50px #00000012}.bookerCardExpanded{grid-template-columns:300px 410px 245px}.eventPanel{border-right:1px solid var(--line);padding:38px 34px}.avatar{background:var(--brand);color:#fff;border-radius:14px;place-items:center;width:46px;height:46px;margin-bottom:24px;font-size:17px;font-weight:700;display:grid}.eventPanel h1{letter-spacing:-.035em;margin:0 0 14px;font-size:25px;line-height:1.18}.eventDescription{color:#5f6368;margin:0;font-size:14px;line-height:1.55}.eventMeta{color:#4b5563;gap:13px;margin-top:28px;font-size:13px;display:grid}.eventMeta span{align-items:center;gap:9px;display:flex}.eventMeta svg{color:#737373}.calendarPanel{padding:36px 32px 24px;position:relative}.calendarHeading{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.calendarHeading h2,.slotsHeader h2,.detailsPanel h2{letter-spacing:-.02em;margin:0;font-size:17px}.calendarHeading button{color:#555;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.calendarHeading button:hover{background:#f3f4f6}.weekHeader,.monthGrid{text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.weekHeader{color:#9ca3af;letter-spacing:.06em;margin-bottom:10px;font-size:10px;font-weight:700}.monthGrid{row-gap:7px}.monthGrid button{color:#c1c3c7;cursor:default;background:0 0;border:0;border-radius:50%;width:38px;height:38px;margin:auto}.monthGrid button.availableDay{background:color-mix(in srgb, var(--brand) 8%, white);color:var(--brand);cursor:pointer;font-weight:650}.monthGrid button.availableDay:hover{background:color-mix(in srgb, var(--brand) 15%, white)}.monthGrid button.selectedDay{background:var(--brand);color:#fff}.monthGrid button.today:not(.selectedDay){box-shadow:inset 0 0 0 1px var(--brand)}.monthGrid button:disabled{opacity:.4}.calendarLoading{color:#777;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffffdb;border-radius:12px;place-items:center;font-size:13px;display:grid;position:absolute;inset:82px 24px 72px}.timezonePicker{color:#777;align-items:center;gap:8px;margin-top:28px;display:flex}.timezonePicker select{color:#555;cursor:pointer;background:0 0;border:0;outline:none;width:100%;font-size:12px}.slotsPanel{border-left:1px solid var(--line);background:#fdfdfd;min-width:0;padding:36px 20px 22px}.slotsHeader{margin-bottom:18px}.slotsHeader span{color:#999;margin-top:5px;font-size:11px;display:block}.slotList{gap:8px;max-height:465px;padding-right:4px;display:grid;overflow-y:auto}.slotList button{color:#303030;cursor:pointer;background:#fff;border:1px solid #dedede;border-radius:9px;justify-content:space-between;align-items:center;min-height:45px;padding:0 13px;font-size:13px;font-weight:600;display:flex}.slotList button:hover{border-color:var(--brand);transform:translateY(-1px);box-shadow:0 3px 10px #0000000f}.detailsPanel{width:655px;padding:36px 44px}.backButton{color:#666;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;margin:0 0 30px -7px;font-size:13px;display:flex}.selectedTime{color:#4b5563;background:#f5f5f5;border-radius:9px;align-items:center;gap:9px;margin:16px 0 28px;padding:12px 14px;font-size:13px;display:flex}.bookingForm,.loginForm,.settingsForm{gap:18px;display:grid}.bookingForm label,.loginForm label,.editorCard label,.settingsForm label,.blockForm label{color:#343434;gap:7px;font-size:13px;font-weight:600;display:grid}input,textarea,select{color:#222;background:#fff;border:1px solid #d9d9d9;border-radius:8px;outline:none;width:100%;padding:10px 11px;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{border-color:#8b8b8b;box-shadow:0 0 0 3px #0000000d}input:disabled{color:#999;background:#f5f5f5}textarea{resize:vertical}.privacyCopy{color:#9a9a9a;text-align:center;margin:-6px 0 0;font-size:10px;line-height:1.5}.publicFooter{color:#aaa;justify-content:center;align-items:center;gap:6px;margin-top:20px;font-size:11px;display:flex}.confirmationPage{background:#f7f7f7;min-height:100vh;padding:24px}.confirmationCard{text-align:center;background:#fff;border:1px solid #e2e2e2;border-radius:16px;width:min(520px,100%);margin:80px auto;padding:48px;box-shadow:0 15px 45px #0000000f}.confirmationIcon{color:#16803a;background:#eaf8ef;border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 22px;display:grid}.confirmationIcon.cancelled{color:#777;background:#f5f5f5}.confirmationCard h1{letter-spacing:-.03em;margin:0 0 10px;font-size:25px}.confirmationCard>p:not(.eyebrow){color:#6b7280;margin:0;font-size:14px}.confirmationDetails{text-align:left;border:1px solid #e8e8e8;border-radius:12px;gap:12px;margin:28px 0;padding:18px;display:grid}.confirmationDetails span{color:#444;align-items:center;gap:10px;font-size:13px;display:flex}.confirmationDetails a{font-weight:600}.cancelArea{margin-top:26px}.loginPage{background:#f5f5f5;place-items:center;min-height:100vh;padding:24px;display:grid}.loginCard{background:#fff;border:1px solid #dedede;border-radius:16px;gap:34px;width:min(410px,100%);padding:38px;display:grid;box-shadow:0 18px 45px #00000012}.loginCard h1{letter-spacing:-.04em;margin:0 0 8px;font-size:27px}.loginCard p:not(.eyebrow){color:#777;margin:0;font-size:14px}.adminShell{background:#f7f7f8;grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}.adminSidebar{background:#fff;border-right:1px solid #e6e6e6;flex-direction:column;height:100vh;padding:25px 17px;display:flex;position:sticky;top:0}.adminSidebar .logo{margin:0 10px 38px}.adminSidebar nav{gap:4px;display:grid}.adminSidebar nav button,.logoutButton{color:#646464;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:11px;width:100%;padding:10px 12px;font-size:13px;display:flex}.adminSidebar nav button:hover,.adminSidebar nav button.active{color:#171717;background:#f1f1f2}.adminSidebar nav button.active{font-weight:650}.logoutButton{margin-top:auto}.adminMain{width:100%;max-width:1160px;margin:0 auto;padding:42px 48px 80px}.adminHeader{justify-content:space-between;align-items:center;margin-bottom:36px;display:flex}.adminHeader h1{letter-spacing:-.04em;margin:0;font-size:27px}.statusPill{color:#555;background:#fff;border:1px solid #e0e0e0;border-radius:999px;align-items:center;gap:7px;padding:7px 11px;font-size:11px;font-weight:650;display:flex}.statusPill span{background:#22a559;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #dff5e8}.adminSection{gap:20px;display:grid}.sectionHeader{justify-content:space-between;align-items:flex-end;gap:24px;margin-top:6px;display:flex}.sectionHeader h2{letter-spacing:-.02em;margin:0 0 5px;font-size:17px}.sectionHeader p{color:#777;margin:0;font-size:12px;line-height:1.5}.toast{z-index:10;background:#fff;border:1px solid;border-radius:10px;align-items:center;gap:9px;padding:12px 15px;font-size:13px;display:flex;position:fixed;top:24px;right:24px;box-shadow:0 12px 35px #0000001f}.toast.success{color:#166534;border-color:#ccebd7}.toast.error{color:#b42318;border-color:#f3c8c2}.toast button{color:inherit;cursor:pointer;background:0 0;border:0;margin-left:10px;font-size:20px}.eventCards{gap:12px;display:grid}.eventCard{background:#fff;border:1px solid #e1e1e1;border-radius:12px;align-items:center;gap:12px;min-height:82px;padding:16px 16px 16px 20px;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 5px #00000005}.eventAccent{background:#171717;width:4px;position:absolute;inset:0 auto 0 0}.eventSummary{flex:1;align-items:center;gap:13px;min-width:0;display:flex}.eventIcon{color:#555;background:#f1f1f1;border-radius:10px;place-items:center;width:42px;height:42px;display:grid}.eventTitleRow{align-items:center;gap:9px;display:flex}.eventSummary h3{margin:0;font-size:14px}.eventSummary p{color:#888;margin:4px 0 0;font-size:12px}.draftBadge,.connectedBadge,.bookingStatus{color:#666;text-transform:capitalize;background:#f1f1f1;border-radius:999px;align-items:center;gap:5px;padding:4px 8px;font-size:10px;font-weight:650;display:inline-flex}.editorCard,.settingsCard,.integrationCard,.infoCard{background:#fff;border:1px solid #e1e1e1;border-radius:12px;gap:20px;padding:24px;display:grid}.editorHeading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.editorHeading h3,.integrationCard h3,.infoCard h3{margin:0 0 5px;font-size:15px}.editorHeading p,.integrationCard p{color:#888;margin:0;font-size:12px}.formGrid{gap:16px;display:grid}.formGrid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.formGrid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.slugInput,.numberInput,.colorInput{background:#fff;border:1px solid #d9d9d9;border-radius:8px;align-items:center;display:flex;overflow:hidden}.slugInput>span{color:#999;padding-left:11px}.slugInput input,.numberInput input,.colorInput input{box-shadow:none;border:0;border-radius:0}.numberInput span{color:#999;padding-right:10px;font-size:11px;font-weight:500}.colorInput input[type=color]{width:50px;height:40px;padding:6px}.switchLabel,.dayToggle{cursor:pointer;align-items:center;gap:8px!important;display:flex!important}.switchLabel input,.dayToggle input{display:none}.switchLabel span,.dayToggle span{background:#d2d2d2;border-radius:999px;width:34px;height:19px;transition:all .2s;position:relative}.switchLabel span:after,.dayToggle span:after{content:"";background:#fff;border-radius:50%;width:13px;height:13px;transition:all .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.switchLabel input:checked+span,.dayToggle input:checked+span{background:#171717}.switchLabel input:checked+span:after,.dayToggle input:checked+span:after{transform:translate(15px)}.formActions{align-items:center;gap:10px;padding-top:4px;display:flex}.formActions>span{flex:1}.scheduleCard{gap:0;padding:6px 24px}.scheduleRow{border-bottom:1px solid #eeeeef;align-items:center;min-height:62px;display:flex}.scheduleRow:last-child{border-bottom:0}.dayToggle{width:190px;font-size:13px!important}.timeRange{align-items:center;gap:10px;display:flex}.timeRange input{width:125px}.timeRange span,.overrideRow>span,.unavailable{color:#aaa;font-size:12px}.overrideRow{align-items:center;gap:10px;display:flex}.overrideRow input,.overrideRow select{width:auto}.overrideRow .iconButton{margin-left:auto}.blockForm{grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:14px;display:grid}.blockList{gap:0;padding-block:8px}.blockList>div{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:14px 0;display:flex}.blockList>div:last-child{border-bottom:0}.blockList strong{font-size:13px}.blockList p{color:#888;margin:4px 0 0;font-size:12px}.integrationCard{grid-template-columns:auto 1fr auto auto;align-items:center}.googleMark{color:#4285f4;border:1px solid #e2e2e2;border-radius:12px;place-items:center;width:44px;height:44px;font:700 20px Arial;display:grid}.connectedBadge{color:#16803a;background:#eaf8ef}.infoCard{margin-top:8px}.infoGrid{color:#555;grid-template-columns:1fr 1fr;gap:16px;font-size:12px;display:grid}.infoGrid span{align-items:center;gap:8px;display:flex}.infoGrid svg{color:#16803a}.tableWrap{background:#fff;border:1px solid #e1e1e1;border-radius:12px;overflow:hidden}table{border-collapse:collapse;width:100%;font-size:12px}th{color:#888;letter-spacing:.04em;text-align:left;text-transform:uppercase;background:#fafafa;padding:12px 16px;font-size:10px}td{color:#555;border-top:1px solid #eee;padding:14px 16px}td strong,td span{display:block}td span:not(.bookingStatus){color:#999;margin-top:4px;font-size:11px}.bookingStatus.confirmed{color:#16803a;background:#eaf8ef}.bookingStatus.cancelled{color:#b42318;background:#fef0ed}.emptyState{color:#aaa;justify-content:center;align-items:center;gap:10px;min-height:80px;font-size:12px;display:flex}@media (max-width:960px){.bookingPage{padding:14px}.publicHeader{margin-bottom:25px}.bookerCard,.bookerCardExpanded{grid-template-columns:260px 1fr;width:100%}.slotsPanel{border-top:1px solid var(--line);border-left:0;grid-column:2}.detailsPanel{width:auto}.adminMain{padding-inline:28px}.formGrid.four,.blockForm{grid-template-columns:1fr 1fr}}@media (max-width:720px){.bookingPage{background:#fff;padding:0}.publicHeader{border-bottom:1px solid #eee;margin:0;padding:18px 20px}.bookerCard,.bookerCardExpanded{min-height:auto;box-shadow:none;border:0;border-radius:0;display:block}.eventPanel{border-right:0;border-bottom:1px solid var(--line);padding:26px 22px}.avatar{width:40px;height:40px;margin-bottom:18px}.eventPanel h1{font-size:22px}.eventMeta{margin-top:20px}.calendarPanel{padding:26px 18px}.monthGrid button{width:36px;height:36px}.slotsPanel{padding:24px 18px}.slotList{max-height:none}.detailsPanel{padding:25px 22px}.publicFooter{display:none}.confirmationCard{margin:35px auto;padding:35px 24px}.adminShell{display:block}.adminSidebar{border-bottom:1px solid #ddd;border-right:0;width:100%;height:auto;padding:16px;display:block;position:static}.adminSidebar .logo{margin:0 0 15px}.adminSidebar nav{display:flex;overflow-x:auto}.adminSidebar nav button{white-space:nowrap;width:auto}.logoutButton{display:none}.adminMain{padding:28px 16px 60px}.formGrid.two,.formGrid.four,.infoGrid,.blockForm{grid-template-columns:1fr}.eventCard{flex-wrap:wrap}.editorHeading,.sectionHeader{align-items:flex-start}.scheduleRow{flex-direction:column;align-items:flex-start;gap:12px;padding:15px 0}.dayToggle{width:auto}.overrideRow{flex-direction:column;align-items:stretch}.overrideRow input,.overrideRow select{width:100%}.overrideRow .iconButton{margin-left:0}.integrationCard{grid-template-columns:auto 1fr}.integrationCard>.connectedBadge,.integrationCard>.primaryButton,.integrationCard>.secondaryButton{grid-column:1/-1}.tableWrap{overflow-x:auto}table{min-width:650px}}
