.jsh-meeting{font-family:inherit;color:var(--jsh-meet-text);background:var(--jsh-meet-surface);border:1px solid #dfe6ea;border-radius:var(--jsh-meet-radius);overflow:hidden;max-width:1040px;margin:auto;box-shadow:0 18px 50px rgba(16,35,53,.10)}
.jsh-meeting *{box-sizing:border-box}.jsh-meeting [hidden]{display:none!important}.jsh-meeting button{font:inherit;text-transform:none;letter-spacing:normal;box-shadow:none;background-image:none}.jsh-meeting svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.jsh-meeting-stage{background:#fff}.jsh-meeting-schedule{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);min-height:650px;padding:0!important}
.jsh-meeting-brand-panel{padding:38px 42px;background:var(--jsh-meet-accent);color:#fff;display:flex;flex-direction:column;min-width:0}.jsh-meeting-logo{width:72px;height:72px;object-fit:cover;object-position:center;border-radius:50%;background:rgba(255,255,255,.08);padding:0;margin-bottom:24px}.jsh-meeting-logo-fallback{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);font-weight:800;font-size:24px;margin-bottom:24px}.jsh-meeting-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;opacity:.72;margin-bottom:8px}.jsh-meeting-brand-panel h2{color:#fff!important;font-size:29px;line-height:1.2;margin:0 0 10px!important}.jsh-meeting-description{color:rgba(255,255,255,.76);line-height:1.6;margin-bottom:14px}.jsh-meeting-meta{display:flex;gap:9px;align-items:center;color:rgba(255,255,255,.72);font-size:13px;margin-bottom:26px}.jsh-meta-icon{font-size:16px}
.jsh-meeting-calendar{margin-top:auto}.jsh-calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.jsh-calendar-toolbar strong{font-size:19px;color:#fff}.jsh-calendar-toolbar button{appearance:none!important;width:38px;height:38px;border:0!important;border-radius:50%!important;display:grid;place-items:center;background:rgba(255,255,255,.08)!important;color:#fff!important;cursor:pointer!important;padding:0!important}.jsh-calendar-toolbar button:hover{background:rgba(255,255,255,.16)!important}.jsh-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.jsh-cal-label{text-align:center;color:rgba(255,255,255,.68);font-size:11px;font-weight:800;padding:7px 0;text-transform:uppercase}.jsh-meeting .jsh-cal-day{appearance:none!important;-webkit-appearance:none!important;aspect-ratio:1!important;border:0!important;background:transparent!important;color:#fff!important;border-radius:50%!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;box-shadow:none!important;line-height:1!important;font-weight:650!important;cursor:pointer!important}.jsh-meeting .jsh-cal-day:hover{background:rgba(255,255,255,.12)!important}.jsh-meeting .jsh-cal-day.active{background:#fff!important;color:var(--jsh-meet-accent)!important}.jsh-meeting .jsh-cal-day:disabled{background:transparent!important;color:rgba(255,255,255,.28)!important;opacity:1!important;cursor:not-allowed!important}
.jsh-meeting-times-panel{padding:38px 40px;min-width:0;background:#fff;display:flex;flex-direction:column}.jsh-meeting-location{display:flex;align-items:center;gap:12px;margin-bottom:28px}.jsh-meeting-location small,.jsh-duration-card small{display:block;font-size:12px;color:var(--jsh-meet-muted);font-weight:700;margin-bottom:4px}.jsh-meeting-location strong{display:block;font-size:18px}.jsh-pin{color:#2e7898}.jsh-duration-card{margin-bottom:30px}.jsh-duration-card strong{display:block;text-align:center;background:#e9f0f4;border-radius:7px;padding:12px;color:var(--jsh-meet-text);font-size:14px}.jsh-time-heading h3{font-size:20px!important;margin:0 0 5px!important;color:var(--jsh-meet-text)!important}.jsh-time-heading p{margin:0 0 9px;color:var(--jsh-meet-muted);line-height:1.4}.jsh-meeting-tz{display:block;color:#2e7898;font-size:13px;font-weight:750;margin-bottom:14px}.jsh-times-scroll{display:grid!important;gap:9px!important;height:310px;max-height:310px;overflow-y:scroll;padding-right:7px;overscroll-behavior:contain;scrollbar-width:none}.jsh-times-scroll::-webkit-scrollbar{width:0;height:0;display:none}.jsh-time{appearance:none!important;display:block!important;width:100%!important;min-height:52px!important;padding:12px!important;border:1px solid #ccd7dc!important;background:#fff!important;border-radius:9px!important;color:var(--jsh-meet-text)!important;font-weight:700!important;cursor:pointer!important}.jsh-time:hover{border-color:#2e7898!important;background:#f6f9fb!important;color:#2e7898!important}.jsh-meeting-empty,.jsh-meeting-error,.jsh-meeting-loading{display:block!important;color:var(--jsh-meet-muted)!important;margin:0!important;padding:14px!important;background:#f6f8fa!important;border-radius:9px!important}.jsh-meeting-error{color:#9b1c1c!important;background:#fff1f1!important}
.jsh-meeting-form{max-width:none;margin:0;background:#fff;padding:0!important}.jsh-booking-form-head{background:var(--jsh-meet-accent);color:#fff;padding:26px 30px}.jsh-booking-form-head>span{font-size:11px;font-weight:800;letter-spacing:.14em;opacity:.72}.jsh-booking-form-head h3{color:#fff!important;font-size:27px;margin:6px 0!important}.jsh-booking-form-head p{color:rgba(255,255,255,.82);margin:0 0 7px}.jsh-form-location{font-size:13px;color:rgba(255,255,255,.72)}.jsh-meeting-form form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:26px 30px 0}.jsh-meeting-form label{display:grid;gap:7px;font-weight:750;font-size:14px;color:var(--jsh-meet-text)}.jsh-meeting-form label:has(input[name=email]),.jsh-meeting-form label:has(input[name=phone]),.jsh-meeting-form label:has(input[name=company]){grid-column:1/-1}.jsh-meeting-form input{width:100%;min-height:50px;padding:12px 14px!important;border:1px solid #cbd6dc!important;border-radius:9px!important;background:#eef4f7!important;color:var(--jsh-meet-text)!important;box-shadow:none!important}.jsh-meeting-form input:focus{background:#fff!important;border-color:#2e7898!important;box-shadow:0 0 0 3px rgba(46,120,152,.12)!important;outline:0}.jsh-meeting-form [data-status]{grid-column:1/-1}.jsh-form-actions{grid-column:1/-1;margin:16px -30px 0;padding:18px 30px;background:#f6f8fa;border-top:1px solid #e1e8ec;display:flex;align-items:center;justify-content:space-between;gap:14px}.jsh-meeting-back,.jsh-form-actions button[type=submit]{appearance:none!important;min-height:46px;border-radius:8px!important;padding:10px 18px!important;font-weight:750!important;cursor:pointer!important}.jsh-meeting-back{display:inline-flex!important;align-items:center;gap:6px;background:#fff!important;color:var(--jsh-meet-text)!important;border:1px solid #bfcbd1!important}.jsh-form-actions button[type=submit]{background:var(--jsh-meet-accent)!important;color:#fff!important;border:1px solid var(--jsh-meet-accent)!important}.jsh-form-actions button[type=submit]:hover{filter:brightness(1.08)}
.jsh-meeting-confirm{text-align:center;padding:70px 30px}.jsh-meeting-confirm .jsh-meeting-kicker{color:#2e7898;opacity:1}.jsh-meeting-check{margin:0 auto 15px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#e4f8ee;color:#168655;font-size:28px}.jsh-meeting-confirm h3{font-size:28px;margin:8px 0}.jsh-meeting-confirm p{color:var(--jsh-meet-muted);max-width:500px;margin:0 auto 16px}
@media(max-width:760px){.jsh-meeting-schedule{grid-template-columns:1fr}.jsh-meeting-brand-panel,.jsh-meeting-times-panel{padding:26px 22px}.jsh-meeting-calendar{margin-top:18px}.jsh-meeting-times-panel{min-height:430px}.jsh-times-scroll{height:280px;max-height:280px}.jsh-meeting-form form{grid-template-columns:1fr;padding:26px 22px 0}.jsh-meeting-form label:has(input){grid-column:1}.jsh-booking-form-head{padding:26px 22px}.jsh-form-actions{margin:14px -22px 0;padding:18px 22px}.jsh-meeting-brand-panel h2{font-size:25px}}

/* v0.29.3 persistent time-scroll affordance */
.jsh-meeting-times-panel{position:relative}
.jsh-times-scroll{padding-right:18px!important}
.jsh-scroll-indicator{position:absolute;right:24px;top:314px;width:7px;height:310px;border-radius:999px;background:#e6ecef;pointer-events:none;z-index:3}
.jsh-scroll-indicator>span{display:block;width:100%;min-height:34px;border-radius:999px;background:#81939d;will-change:transform}
.jsh-scroll-indicator.is-disabled{opacity:.28}
@media(max-width:760px){.jsh-scroll-indicator{right:9px;top:auto;bottom:26px;height:280px}.jsh-times-scroll{padding-right:16px!important}}

/* v0.29.4 scheduler logo + single persistent scrollbar */
.jsh-meeting .jsh-meeting-logo{display:block!important;width:72px!important;height:72px!important;min-width:72px!important;max-width:72px!important;min-height:72px!important;max-height:72px!important;aspect-ratio:1/1!important;border-radius:999px!important;object-fit:cover!important;object-position:center!important;padding:0!important;margin:0 0 24px!important;overflow:hidden!important;border:0!important}

.jsh-calendar-toolbar button:disabled{opacity:.28!important;cursor:not-allowed!important;background:rgba(255,255,255,.04)!important}

.jsh-meeting-form textarea,.jsh-meeting-form select{width:100%;box-sizing:border-box;border:1px solid #DDE5E9;border-radius:9px;background:#fff;color:#172B36;padding:11px 12px;font:inherit}.jsh-meeting-form textarea:focus,.jsh-meeting-form select:focus{outline:2px solid rgba(46,120,152,.2);border-color:#2E7898}

/* v0.31.0 appointment SMS consent */
.jsh-meeting-sms-consent{grid-column:1/-1!important;background:#f6f8fa;border:1px solid #dde5e9;border-radius:10px;padding:12px 14px;font-size:12px;line-height:1.45;color:#52636d}.jsh-meeting-sms-consent span{display:flex;gap:9px;align-items:flex-start}.jsh-meeting-sms-consent input{width:auto!important;margin-top:2px;flex:0 0 auto}
