:root{font-family:Rubik,Arial,sans-serif;color:#233d42;background:#f5f8fa;font-synthesis:none;line-height:1.6}
*{box-sizing:border-box}
body{margin:0}
button,input,select{font:inherit}
button,a,input,select,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:#235f66;text-underline-offset:3px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #30838e;outline-offset:3px}
[hidden]{display:none!important}
.schedule-main{max-width:1176px;margin:0 auto;padding:30px 28px 64px}
.schedule-toolbar,.schedule-toolbar>div{display:flex;align-items:center;justify-content:space-between;gap:22px}
.schedule-toolbar a{font-size:13px;text-decoration:none}
.schedule-toolbar a:hover{text-decoration:underline}
.notice{font-size:14px;border-radius:6px;margin:20px 0;background:#e6f2ef;padding:13px 18px;color:#23545a}
.notice:empty{display:none}
.notice[data-error]{background:#fff0e9;color:#8b341d}
.booking-shell{display:grid;grid-template-columns:310px minmax(0,1fr);margin-top:26px;background:#fff;border:1px solid #dde7e9;border-radius:12px;box-shadow:0 8px 35px #1b43420a;min-height:575px;overflow:hidden}
.meeting-details{padding:38px 30px;display:flex;flex-direction:column;border-right:1px solid #e3ebed}
.host-mark{display:grid;place-items:center;background:#eff6f4;width:68px;height:68px;border-radius:50%;margin-bottom:24px}
.host-mark img{object-fit:contain}
.host-name{color:#62777c;font-size:14px;margin:0 0 7px;font-weight:500}
h1{font-size:30px;line-height:1.2;letter-spacing:-.8px;margin:0 0 20px;font-weight:500}
#intro{font-size:14px;line-height:1.75;color:#5e7379;margin:0 0 24px}
.meeting-fact{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500;margin:12px 0}
.meeting-fact>span:first-child{font-size:24px;line-height:24px;width:24px;font-weight:400}
.meeting-fact svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5}
.meeting-note{font-size:12px;line-height:1.7;color:#6b7e83;margin:15px 0 0}
.meeting-help{margin-top:auto;padding-top:42px;font-size:12px}
.meeting-help p{margin:0 0 3px;color:#718187}
.meeting-help a{font-size:13px}
.booking-workspace{padding:36px 32px;min-width:0}
h2{font-size:22px;line-height:1.3;letter-spacing:-.5px;margin:0 0 15px;font-weight:500}
h3{font-weight:500}
.booking-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.booking-heading h2{margin:0}
.booking-heading>span,.step-text{font-size:11px;color:#6b8085;white-space:nowrap}
.calendar-and-times{display:grid;grid-template-columns:minmax(255px,1fr) 165px;gap:26px}
.calendar-panel{min-width:0}
.month-navigation{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.month-navigation h3{font-size:16px;margin:0}
.month-navigation>div{display:flex;gap:6px}
.icon-button{background:#edf5f4;border:0;border-radius:50%;font-size:26px;color:#235f66;line-height:1;width:36px;height:36px;min-height:36px;padding:0}
.icon-button:disabled{background:transparent;color:#b9c6c9;cursor:default}
.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}
.weekdays{font-size:11px;color:#72868b;margin-bottom:12px}
.calendar-grid button,.calendar-grid>span{width:44px;max-width:100%;height:44px;justify-self:center;min-height:34px;border:0;background:transparent;border-radius:50%;font-size:13px;position:relative;color:#b6c2c6;padding:0}
.calendar-grid button:not(:disabled){color:#235f66;background:#e6f2ef;font-weight:500}
.calendar-grid button:not(:disabled):hover{background:#cbe5de}
.calendar-grid button[aria-pressed=true]{color:#fff;background:#235f66}
.calendar-grid button[data-today]:after{content:'';position:absolute;bottom:4px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:currentColor}
.calendar-grid button:disabled{cursor:default}
.calendar-note{font-size:11px;line-height:1.5;color:#6a7f84;margin:16px 0 22px;min-height:32px}
.timezone-label{font-size:12px;font-weight:500;color:#365b61}
.timezone-label select{margin-top:5px;font-size:12px;border-color:#e1eaec;min-height:42px}
.time-panel{border-left:1px solid #e5edef;padding-left:24px;min-width:0}
.time-panel h3{font-size:13px;line-height:1.5;margin:8px 0 20px}
.time-panel>p{font-size:12px;color:#71848a;line-height:1.8}
.time-slots{display:flex;flex-direction:column;gap:10px;max-height:340px;overflow-y:auto;padding:3px 4px 4px}
.time-slots button{min-height:45px;border:1px solid #7fa9ad;border-radius:5px;color:#235f66;background:#fff;font-size:13px;font-weight:500;flex-shrink:0}
.time-slots button:hover{background:#eff7f5;border-color:#235f66}
.time-slots button[aria-pressed=true]{background:#235f66;color:#fff}
.time-panel>.primary-button{width:100%;margin-top:15px}
.closed-message{font-size:13px;line-height:1.7;background:#f2f7f7;border:1px solid #e1eded;border-radius:6px;padding:15px 18px;margin:0 0 24px}
.closed-message p{margin:5px 0 0}
.meeting-type-label{font-size:12px;max-width:330px;margin-bottom:24px}
label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:500;min-width:0}
input,select{color:#233d42;background:#fff;border:1px solid #c5d6d9;border-radius:5px;min-height:46px;padding:10px 12px;width:100%;max-width:100%;font-size:14px}
input::placeholder{color:#95a5aa}
select{padding-right:8px}
input:disabled{background:#f6f8f9;color:#9eafb3;border-color:#e6eced}
button:disabled:not(.icon-button):not(.calendar-grid button){opacity:.5;cursor:default}
.primary-button,.secondary-button{border:1px solid #235f66;border-radius:6px;padding:12px 20px;min-height:46px;background:#235f66;color:#fff;font-size:13px;font-weight:500}
.primary-button:hover{background:#194e55}
.secondary-button{background:#fff;color:#235f66}
.secondary-button:hover{background:#edf5f4}
.text-button{background:transparent;border:0;padding:8px 0;color:#235f66;text-decoration:underline;text-underline-offset:4px;font-size:13px}
.text-link{display:block;font-size:13px;margin-top:20px}
.schedule-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;color:#7c8d92;font-size:11px}
.schedule-footer>div{display:flex;gap:20px;align-items:center}
.schedule-footer a{color:#607b81}
.schedule-footer .text-button{font-size:11px}
.summary-label{font-size:11px;color:#6b8186;margin:25px 0 4px}
#selected{font-size:14px;line-height:1.7;font-weight:500;margin:0}
#identity{max-width:420px;margin:10px auto 0}
#identity h2{font-size:26px}
#identity-note,.privacy-note{font-size:14px;color:#6c8085;line-height:1.75}
#email-form,#code-form{display:flex;flex-direction:column;gap:20px;margin:30px 0 20px}
#code{font-size:24px;letter-spacing:8px}
#code::placeholder{color:#b6c4c8}
#identity .primary-button{width:100%}
.code-actions{display:flex;justify-content:space-between;gap:15px}
.privacy-note{font-size:11px;margin-top:28px}
.step-text{margin-top:20px}
#confirmation{padding:35px 10px}
.confirmation-mark{font-size:30px;color:#235f66;background:#e6f2ef;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;margin-bottom:24px}
#confirmation p{font-size:14px;color:#627a80}
#meetings>p,#manage>p{font-size:13px;color:#637b80}
#bookings article{border-top:1px solid #e3ecee;margin-top:24px;padding-top:20px}
#bookings h3{font-size:17px;margin:0 0 8px}
#bookings p{font-size:13px;color:#62797f}
#bookings button,#bookings a{margin:4px 12px 4px 0;font-size:12px}
#bookings a{display:inline-block}
#settings{display:flex;flex-direction:column;gap:20px}
#zone-note{font-size:11px;color:#6c8389;margin:-12px 0 0;line-height:1.7}
.weekly-hours{border:0;padding:0;margin:8px 0 0;min-width:0}
.weekly-hours legend{font-size:16px;font-weight:500;padding:0}
.weekly-hours>p{font-size:12px;color:#6c8188;margin:5px 0 20px}
.hours-row{display:grid;grid-template-columns:minmax(100px,1fr) 110px 110px;gap:14px;align-items:center;padding:12px 0;border-top:1px solid #ecf0f2}
.hours-row>label{font-size:10px;gap:4px}
.hours-row>.inline{flex-direction:row;align-items:center;font-size:13px;gap:10px}
.hours-row input[type=checkbox],.booking-toggle input{width:18px;height:18px;min-height:18px;accent-color:#235f66;flex:none}
.hours-row input[type=time]{font-size:13px;min-height:40px;padding:8px}
.settings-details{border:1px solid #dfe8eb;border-radius:6px;padding:17px 20px}
.settings-details summary{font-size:13px;font-weight:500;cursor:pointer;min-height:24px}
.settings-details>p{font-size:12px;color:#71868c}
.settings-details[open] summary{margin-bottom:20px}
#types-editor>div,#exceptions>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;border-top:1px solid #e4eced;padding:18px 0}
#types-editor label,#exceptions label{font-size:11px}
#types-editor button,#exceptions button{align-self:end;min-height:44px;padding:8px;background:#fff;color:#9c4734;border:1px solid #d8e2e5;border-radius:5px;font-size:12px}
.booking-toggle{flex-direction:row;gap:13px;align-items:center;background:#f4f8f8;padding:18px;border-radius:6px}
.booking-toggle strong{display:block;font-size:13px;font-weight:500}
.booking-toggle small{display:block;font-size:11px;color:#6d8288;font-weight:400;line-height:1.6}
.form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px}
.form-actions a{font-size:12px}
#booking-state{font-size:10px;background:#edf4f2;border-radius:4px;padding:5px 7px}
body[data-mode=manage] .meeting-help{margin-top:36px}
body[data-mode=manage] .booking-shell{grid-template-columns:280px minmax(0,1fr)}
body[data-mode=manage] .booking-workspace{padding:36px 40px}
@media(min-width:1200px){.schedule-main{padding-top:40px}
.booking-shell{margin-top:30px}
.calendar-and-times{gap:30px;grid-template-columns:minmax(300px,1fr) 175px}
}
@media(max-width:1050px){.booking-shell{grid-template-columns:250px minmax(0,1fr)}
.meeting-details{padding:30px 24px}
.booking-workspace{padding:30px 24px}
.calendar-and-times{grid-template-columns:minmax(215px,1fr) 145px;gap:18px}
.time-panel{padding-left:18px}
.calendar-grid button{min-height:29px}
.booking-heading{gap:10px}
.booking-heading h2{font-size:20px}
}
@media(max-width:800px){.schedule-main{max-width:650px;padding:20px 18px 40px}
.booking-shell,body[data-mode=manage] .booking-shell{grid-template-columns:1fr}
.meeting-details{padding:26px;border-right:0;border-bottom:1px solid #e3ebed;display:block}
.host-mark{display:none}
.host-name{font-size:12px}
h1{font-size:26px;margin:0 0 12px}
#intro{margin-bottom:12px}
.meeting-fact{display:inline-flex;margin:5px 20px 0 0;font-size:12px}
.meeting-note,.meeting-help{display:none}
.booking-workspace,body[data-mode=manage] .booking-workspace{padding:28px 24px}
.calendar-and-times{grid-template-columns:minmax(0,1fr) 145px}
.calendar-grid button{min-height:32px}
.schedule-footer{align-items:flex-start;flex-direction:column;gap:10px}
.schedule-footer>div{flex-wrap:wrap}
.booking-heading h2{font-size:21px}
.schedule-toolbar a{font-size:12px}
.booking-shell{margin-top:20px}
#identity{margin-top:0}
.summary-label{margin-top:16px}
#selected{font-size:13px}
}
@media(max-width:480px){.calendar-and-times{grid-template-columns:1fr;gap:22px}
.calendar-grid{gap:4px}
.calendar-grid button,.calendar-grid>span{width:100%;height:auto;aspect-ratio:1;min-height:0;max-width:40px;justify-self:center}
.time-panel{padding:18px 0 0;border-left:0;border-top:1px solid #e5edef}
.time-panel h3{margin:0 0 12px}
.time-slots{display:grid;grid-template-columns:1fr 1fr;max-height:240px;gap:10px}
.time-panel>p{margin:0}
.calendar-note{min-height:0;margin:12px 0 18px}
.calendar-and-times:has(.time-slots:empty) .time-panel{display:none}
.booking-heading{margin-bottom:25px}
.booking-heading>span{font-size:10px}
.booking-heading h2{font-size:20px}
.hours-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.hours-row>.inline{grid-column:1/-1;font-size:13px;gap:10px}
.hours-row input[type=time]{font-size:14px;padding:10px;min-height:44px}
.booking-workspace,body[data-mode=manage] .booking-workspace{padding:25px 18px}
.settings-details{padding:16px 12px}
#code{letter-spacing:6px}
.form-actions{gap:14px}
.schedule-toolbar>div{gap:12px}
.closed-message{padding:14px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}
}
