.meeting-calendar{background:#fff;border:1px solid #d8e7ed;border-radius:24px;padding:22px;max-width:460px;width:100%;box-sizing:border-box;color:#153e55}.meeting-month{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.meeting-month h3{margin:0;font-size:23px}.meeting-month button{border:1px solid #d6e6ec;background:#f2f8fb;color:#163e55;border-radius:50%;width:44px;height:44px;font-size:27px;cursor:pointer}.meeting-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;text-align:center}.meeting-weekday{font-size:16px;color:#4f6c7b;padding-bottom:8px}.meeting-day{position:relative;aspect-ratio:1;border-radius:50%;border:1px solid #d4e6ec;background:#edf6fa;color:#123e55;font:inherit;font-size:18px;min-width:0;cursor:pointer}.meeting-day:disabled{background:transparent;border-color:transparent;color:#9aabb4;cursor:default}.meeting-day[aria-pressed=true]{background:#153e55;color:white;border-color:#153e55;box-shadow:0 0 0 3px #d9e9ed}.meeting-day.is-today{border-color:#bc984d}.meeting-day i{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);width:5px;height:5px;background:#bc984d;border-radius:50%}.meeting-calendar-note{font-size:15px!important;color:#506c7b;margin:18px 0 0!important}.meeting-times{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.meeting-times button,.meeting-pill{border:1px solid #c9dfe9;border-radius:30px;padding:12px 22px;background:white;color:#123e55;font:inherit;font-size:18px;cursor:pointer;min-height:46px}.meeting-times button[aria-pressed=true]{background:#e9f3f1;border-color:#789b8b}.meeting-layout{display:grid;grid-template-columns:minmax(280px,460px) minmax(240px,1fr);gap:28px;align-items:start}.meeting-selection{background:#f3f8fa;border-radius:22px;padding:24px}.meeting-card-list{display:grid;gap:12px;margin:20px 0}.meeting-summary-card{padding:20px;background:#fff;border:1px solid #dae7ed;border-radius:20px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}.meeting-summary-card h3{font-size:21px;margin:0 0 6px}.meeting-summary-card p{font-size:17px;margin:4px 0}.meeting-date-badge{width:58px;min-width:58px;height:64px;border-radius:18px;background:#edf5f8;display:grid;place-content:center;text-align:center;font-size:26px}.meeting-date-badge small{font-size:14px}.meeting-summary-card button{margin-inline-start:auto}.meeting-preferences summary{cursor:pointer;font-size:19px;padding:16px 0}.meeting-days-choice{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:12px 0}.meeting-days-choice legend{font-size:18px}.meeting-days-choice label{position:relative;cursor:pointer}.meeting-days-choice input{position:absolute;opacity:0;inset:0}.meeting-days-choice span{display:block;border:1px solid #d7e5eb;border-radius:30px;padding:10px 16px;background:#fff}.meeting-days-choice input:checked+span{background:#153e55;color:#fff}.meeting-days-choice input:focus-visible+span{outline:3px solid #bc984d;outline-offset:3px}.meeting-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.meeting-choice{padding:24px;border:1px solid #d8e6eb;border-radius:22px;background:#fff;color:#153e55;text-align:right;font:inherit;cursor:pointer}.meeting-choice strong{display:block;font-size:23px;margin:16px 0 8px}.meeting-choice span{font-size:18px;line-height:1.6;display:block}.meeting-choice-icon{font-size:30px!important;color:#ae8740;background:#faf6ed;width:58px;height:58px;display:grid!important;place-items:center;border-radius:50%}.meeting-dialog{width:min(850px,calc(100vw - 32px));max-width:850px!important}.meeting-dialog h2{font-size:30px}.meeting-dialog p{font-size:18px;line-height:1.7}.meeting-dialog .meeting-back{margin:0 0 16px;background:transparent;border:0;color:#315d74;font:inherit;cursor:pointer}.meeting-booking-summary{padding:18px;background:#fff;border:1px solid #dce8ee;border-radius:16px;margin:20px 0}.meeting-calendar button:focus-visible,.meeting-choice:focus-visible,.meeting-times button:focus-visible{outline:3px solid #bc984d;outline-offset:3px}@media(max-width:650px){.meeting-layout,.meeting-choice-grid{grid-template-columns:1fr}.meeting-calendar{max-width:none;padding:16px}.meeting-calendar-grid{gap:6px}.meeting-day{font-size:17px}.meeting-choice{padding:18px;display:grid;grid-template-columns:58px 1fr;gap:0 16px}.meeting-choice-icon{grid-row:span 2}.meeting-choice strong{margin:0 0 5px}.meeting-dialog{padding:22px!important}.meeting-selection{padding:18px}.meeting-summary-card{padding:16px;gap:12px}}
.hub-upcoming#hub-meetings{background:rgba(255,255,255,.96);border:1px solid #d8e7ed;border-radius:24px;padding:32px;margin:28px 0;box-shadow:0 8px 28px rgba(21,62,85,.035);box-sizing:border-box;min-width:0}.hub-upcoming#hub-meetings>p{font-size:19px;line-height:1.7;margin:12px 0 22px}.hub-upcoming#hub-meetings .hub-section-title{margin-top:0}.meeting-layout>*{min-width:0}@media(max-width:650px){.hub-upcoming#hub-meetings{padding:24px 20px;border-radius:20px}.hub-upcoming#hub-meetings>p{font-size:18px}}

.meeting-dialog .button,.meeting-dialog .meeting-back,.meeting-dialog label{font-size:18px}.meeting-dialog .button{min-height:48px;white-space:normal}
.manager-week-panel[data-today="true"]{background:#e3efe9;border:1px solid #a8c5b6}.manager-week-panel[data-today="false"]{background:#e3f0f7;border:1px solid #accbde}.manager-week-days{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.manager-week-days button{width:68px;min-height:68px;border-radius:50%;border:1px solid #95afbc;background:#ffffffb8;color:#123e56;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font:inherit;cursor:pointer}.manager-week-days button[aria-pressed="true"]{background:#123e56;color:white;border-color:#123e56}.manager-week-days small{font-size:14px}.manager-day-event{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:#ffffffb8;border-radius:16px;padding:18px;margin:12px 0}.manager-day-event h3,.manager-day-event p{margin:4px 0}.manager-week-empty{padding:22px 0;font-size:20px}@media(max-width:480px){.manager-week-days{gap:8px}.manager-week-days button{width:58px;min-height:58px;font-size:16px}.manager-day-event{gap:12px;padding:14px}}
.initiation-progress{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.initiation-progress span{background:#e3efe9;border:1px solid #b6cfc1;border-radius:18px;padding:14px 20px;display:flex;align-items:center;gap:10px}.initiation-progress strong{font-size:28px;color:#123e56}.initiation-appointment-actions{display:flex;flex-wrap:wrap;gap:12px;padding:16px 0;border-top:1px solid #d4e2e8}
.hub-meeting-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.hub-meeting-actions>.button{margin:0}@media(max-width:600px){.hub-meeting-actions{flex-direction:column;align-items:stretch;gap:12px}.hub-meeting-actions>.button{width:100%;box-sizing:border-box;text-align:center}}
/* Shared booking dialogs: loaded with the booking calendar in every app route. */
.meeting-dialog{box-sizing:border-box;direction:rtl;border:1px solid #dce8ec;border-radius:30px;padding:44px!important;background:radial-gradient(ellipse at 95% 0,#e2eff3 0,transparent 45%),linear-gradient(145deg,#fffdf8,#f3f8fa);color:#153f53;box-shadow:0 30px 100px #082d4240;max-height:calc(100dvh - 44px);width:min(970px,calc(100vw - 40px));max-width:970px!important;overflow:auto;overscroll-behavior:contain;font-family:Heebo,Arial,sans-serif}
.meeting-dialog::backdrop{background:#153b4b70;backdrop-filter:blur(7px)}
.meeting-dialog h2{font-family:Heebo,Arial,sans-serif;font-size:37px;font-weight:500;line-height:1.3;margin:5px 0 12px;padding-inline-end:30px}
.meeting-dialog>p{font-size:18px;line-height:1.8;color:#52717d;max-width:760px}
.meeting-dialog .dialog-close{position:absolute;top:19px;left:19px;right:auto;display:grid;place-items:center;width:42px;height:42px;min-height:42px;padding:0;border:1px solid #d7e4e9;border-radius:50%;background:#ffffffb8;color:#274f61;font:28px/1 Arial;cursor:pointer}
.meeting-dialog .meeting-choice-grid{gap:17px;margin-top:30px}
.meeting-dialog .meeting-choice{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0;text-decoration:none!important;background:#ffffffc9;border:1px solid #d3e3e8;border-radius:23px;padding:25px 22px;box-shadow:0 7px 20px #163f5306;text-align:right;transition:transform .18s,box-shadow .18s,border-color .18s;color:#153f53}
.meeting-dialog .meeting-choice:hover{transform:translateY(-3px);box-shadow:0 12px 28px #163f5312;border-color:#87acb8}
.meeting-dialog .meeting-choice-icon{width:58px;height:58px;background:linear-gradient(145deg,#edf5f7,#f8f2e5);color:#9b7a42;border:1px solid #dddfd0;box-shadow:inset 0 1px 0 white}
.meeting-dialog .meeting-choice-icon svg{width:28px;height:28px}
.meeting-dialog .meeting-choice strong{font-family:Heebo,Arial,sans-serif;font-size:25px;line-height:1.35;margin:20px 0 12px;font-weight:500}
.meeting-dialog .meeting-choice>span:not(.meeting-choice-icon){font-family:Heebo,Arial,sans-serif;font-size:16px;line-height:1.85;color:#597783}
.meeting-dialog .meeting-choice .meeting-choice-action{display:block;width:100%;border-top:1px solid #dfebef;padding-top:15px;margin-top:auto;color:#1a5365!important;font-size:16px!important}
.meeting-dialog .meeting-choice>span:nth-of-type(2){padding-bottom:23px}
.meeting-dialog .small-note{font-size:14px;line-height:1.75}
.meeting-dialog .meeting-back{font-size:16px;min-height:40px}
.meeting-dialog input,.meeting-dialog select{font:16px Heebo,Arial,sans-serif}
.meeting-dialog button:focus-visible,.meeting-dialog a:focus-visible{outline:3px solid #ad8948;outline-offset:4px}
@media(max-width:650px){.meeting-dialog{padding:28px 20px!important;border-radius:24px;width:calc(100vw - 22px);max-height:calc(100dvh - 24px)}.meeting-dialog h2{font-size:31px}.meeting-dialog>p{font-size:16px;padding-inline-end:10px}.meeting-dialog .dialog-close{top:12px;left:12px;width:38px;height:38px;min-height:38px}.meeting-dialog .meeting-choice-grid{gap:12px;margin-top:22px}.meeting-dialog .meeting-choice{display:grid;grid-template-columns:48px minmax(0,1fr);gap:0 15px;padding:18px}.meeting-dialog .meeting-choice-icon{grid-column:1;grid-row:1/4;width:48px;height:48px}.meeting-dialog .meeting-choice strong{grid-column:2;margin:0 0 7px;font-size:24px}.meeting-dialog .meeting-choice>span:not(.meeting-choice-icon){grid-column:2;font-size:14px}.meeting-dialog .meeting-choice>span:nth-of-type(2){padding-bottom:12px}.meeting-dialog .meeting-choice .meeting-choice-action{padding-top:9px;font-size:14px!important}.meeting-dialog .meeting-choice:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.meeting-dialog .meeting-choice{transition:none}}
dialog.meeting-dialog.meeting-welcome{box-sizing:border-box;direction:rtl;width:min(1080px,calc(100vw - 36px));max-width:none!important;max-height:calc(100dvh - 28px);margin:auto;padding:clamp(25px,3.1vw,40px)!important;border:1px solid #b89149;border-radius:32px;background:linear-gradient(155deg,#faf8f3 20%,#f7f8f7 54%,#d9eaf2);color:#103b4b;box-shadow:0 0 0 2px #fff8 inset,0 22px 80px #0c35464d;overflow:auto;font-family:Heebo,Arial,sans-serif}
dialog.meeting-dialog.meeting-welcome::backdrop{background:#153e5852;backdrop-filter:blur(5px)}
dialog.meeting-dialog.meeting-welcome .dialog-close{border:0;border-radius:50%;background:transparent;color:#103b4b;top:13px;left:13px}
.meeting-welcome-intro{text-align:center}
.meeting-welcome-lotus{display:flex;justify-content:center;align-items:center;gap:20px;color:#ac7b24}
.meeting-welcome-lotus::before,.meeting-welcome-lotus::after{content:'';width:clamp(42px,8vw,125px);height:1px;background:linear-gradient(90deg,transparent,#bb924b)}
.meeting-welcome-lotus::after{transform:scaleX(-1)}
dialog.meeting-welcome .meeting-welcome-intro h2{margin:8px 0 2px;text-align:center;color:#103b4b;font-size:clamp(31px,4.5vw,61px);font-weight:700;line-height:1.2}
dialog.meeting-welcome .meeting-welcome-intro p{margin:0;color:#204d60;font-size:clamp(16px,2.2vw,30px);line-height:1.5}
dialog.meeting-welcome .meeting-choice-grid{margin-top:clamp(19px,3vw,34px);gap:clamp(10px,1.5vw,20px)}
dialog.meeting-welcome .meeting-choice{align-items:center;text-align:center;padding:clamp(15px,2.4vw,29px) clamp(9px,1.4vw,18px);border-color:#a6c5d5;border-radius:19px;background:linear-gradient(160deg,#fffefa,#edf3f6);color:#103b4b}
dialog.meeting-welcome .meeting-choice[data-choose-zoom]{border-color:#b48a3b;background:linear-gradient(150deg,#edf7fb,#c5e2ed)}
dialog.meeting-welcome .meeting-choice-icon{background:#f4ecdc;color:#103b4b;border:0;box-shadow:none;width:clamp(50px,6.6vw,78px);height:clamp(50px,6.6vw,78px)}
dialog.meeting-welcome [data-choose-zoom] .meeting-choice-icon{background:#cce4ee}
dialog.meeting-welcome .meeting-choice-icon svg{width:clamp(27px,3.9vw,44px);height:clamp(27px,3.9vw,44px)}
dialog.meeting-welcome .meeting-choice strong{font-size:clamp(18px,2.4vw,32px);font-weight:700;line-height:1.25;margin:12px 0 6px}
dialog.meeting-welcome .meeting-choice>span:not(.meeting-choice-icon){font-size:clamp(14px,1.5vw,21px);color:#204d60;line-height:1.4}
dialog.meeting-welcome .meeting-choice>span:nth-of-type(2){padding-bottom:clamp(9px,1.4vw,20px)}
dialog.meeting-welcome .meeting-choice .meeting-choice-action{width:auto;border:0;padding:5px 0;color:#174859!important;font-size:clamp(14px,1.5vw,21px)!important;text-decoration:underline;text-underline-offset:4px}
dialog.meeting-welcome [data-choose-zoom] .meeting-choice-action{width:95%;box-sizing:border-box;border-radius:999px;background:linear-gradient(105deg,#3d778d,#165f79);padding:8px 10px;color:#fff!important;text-decoration:none}
@media(max-width:650px){
 dialog.meeting-dialog.meeting-welcome{width:calc(100vw - 20px);border-radius:24px;padding:20px 14px!important}
 .meeting-welcome-lotus svg{width:43px;height:36px}
 dialog.meeting-welcome .meeting-choice-grid{grid-template-columns:1fr;gap:9px}
 dialog.meeting-welcome .meeting-choice{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:12px;text-align:start;justify-items:start;padding:12px}
 dialog.meeting-welcome .meeting-choice-icon{grid-column:1;grid-row:1/4;width:46px;height:46px}
 dialog.meeting-welcome .meeting-choice strong{grid-column:2;margin:0 0 3px}
 dialog.meeting-welcome .meeting-choice>span:nth-of-type(2){padding-bottom:4px}
 dialog.meeting-welcome [data-choose-zoom] .meeting-choice-action{width:auto;padding:5px 10px}
}
dialog.meeting-welcome .meeting-choice-grid{align-items:stretch}
dialog.meeting-welcome .meeting-choice{align-self:stretch;box-sizing:border-box;height:100%;margin:0}
dialog.meeting-welcome .meeting-choice:hover{transform:none}
