.contact-panel .meeting-calendar{margin-top:28px;padding:22px;border-radius:18px;background:#fff;color:#14213d;min-width:0;border:1px solid #dce5f2;box-shadow:0 12px 30px rgba(0,0,0,.08)}.meeting-calendar .kicker{color:#0052ff!important}.meeting-calendar h3{margin:8px 0;font-size:23px;line-height:1.2}.meeting-calendar p{font-size:13px;line-height:1.55;color:#52627d!important;margin:10px 0}.meeting-calendar .meeting-hours{padding:10px 12px;background:#f0f5ff;border-radius:10px;font-size:12px;color:#244677!important}.meeting-month{display:flex;align-items:center;justify-content:space-between;margin:18px 0 12px}.meeting-calendar button{font:inherit;cursor:pointer;border:1px solid #dce5f2;border-radius:9px;background:#f4f8ff;color:#17417d;padding:8px}.meeting-month button{width:32px}.meeting-weekdays,.meeting-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.meeting-weekdays span{font-size:11px;text-align:center;color:#70819c;padding:4px}.meeting-days button{font-size:12px;padding:8px 2px;font-weight:700}.meeting-calendar button:disabled{background:#f5f6f8;color:#a8b2c1;cursor:default;opacity:.75}.meeting-calendar button.selected,.meeting-calendar button:not(:disabled):hover{background:#0052ff;color:#fff;border-color:#0052ff}.meeting-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.meeting-times button{font-size:11px;padding:9px 3px}.meeting-calendar form{margin-top:16px}.meeting-calendar [hidden]{display:none!important}.meeting-calendar label{display:block;margin:10px 0;font-size:12px;font-weight:700;color:#24416c}.meeting-calendar input,.meeting-calendar textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;margin-top:5px;padding:10px;border:1px solid #ccd9ec;border-radius:9px;font:inherit;background:#fff;color:#14213d}.meeting-calendar .meeting-submit{width:100%;margin:10px 0;background:#0052ff;color:#fff}.meeting-calendar small{display:block;color:#61728d;font-size:11px}.meeting-calendar .meeting-trap{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.meeting-calendar .meeting-status{font-weight:600}.contact-layout{align-items:start!important}.contact-panel{height:auto!important;min-height:0!important}@media(max-width:480px){.contact-panel .meeting-calendar{padding:16px}.meeting-times{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Compact entry, two-step accessible modal; surrounding contact panels stay aligned. */
.contact-layout{align-items:stretch!important}.contact-layout>.contact-panel{align-self:stretch!important;height:auto!important;display:flex;flex-direction:column}.contact-panel .meeting-launcher{margin-top:auto;padding:22px 0 0;background:transparent;border:0;box-shadow:none;border-radius:0}.meeting-launcher .meeting-open{width:100%;padding:14px 20px;background:#fff;color:#0052ff;border-radius:12px;font-size:15px;font-weight:700}.meeting-launcher .meeting-confirmation{color:#dbe9ff!important;margin-bottom:0}.meeting-confirmation:empty{display:none}.meeting-dialog{box-sizing:border-box;width:min(540px,calc(100% - 28px));max-height:calc(100dvh - 40px);padding:26px;border:1px solid #dce5f2;border-radius:22px;background:#fff;box-shadow:0 24px 90px #061b4655;color:#14213d;overflow:auto}.meeting-dialog::backdrop{background:#081a46a6;backdrop-filter:blur(4px)}.meeting-close{position:absolute;right:14px;top:12px;width:36px;height:36px;border:0;border-radius:50%;background:#edf3ff;color:#17417d;font-size:25px;cursor:pointer}.meeting-popup h3{padding-right:36px;margin-top:0}.meeting-popup .meeting-hours{margin-bottom:12px}.meeting-popup .meeting-times{grid-template-columns:repeat(4,minmax(0,1fr))}.meeting-details-step>.meeting-month,.meeting-details-step>.meeting-weekdays,.meeting-details-step>.meeting-days,.meeting-details-step>[data-slots],.meeting-details-step>.meeting-hours{display:none}.meeting-modal-open{overflow:hidden}.meeting-calendar button:focus-visible,.meeting-close:focus-visible{outline:3px solid #ffad79;outline-offset:3px}@media(max-width:600px){.contact-panel .meeting-launcher{margin-top:18px}.meeting-dialog{padding:20px;max-height:calc(100dvh - 24px)}.meeting-popup .meeting-times{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* v127: persistent compact date calendar; times and details are modal only. */
.contact-panel #meetingCalendar{margin-top:auto;padding:16px;border-radius:16px;background:#fff;border:1px solid #dce5f2;box-shadow:none}.contact-panel #meetingCalendar h3{font-size:20px;margin:0 0 8px}.contact-panel #meetingCalendar .meeting-hours{margin:0 0 10px;padding:6px 8px;font-size:11px}.contact-panel #meetingCalendar .meeting-month{margin:8px 0}.contact-panel #meetingCalendar .meeting-days{gap:4px}.contact-panel #meetingCalendar .meeting-days button{padding:6px 2px}.contact-panel #meetingCalendar .meeting-confirmation{color:#24416c!important;font-size:12px}.meeting-popup>[data-slots]{min-height:100px}.meeting-popup h3{margin-bottom:16px}.meeting-popup .meeting-times{grid-template-columns:repeat(4,minmax(0,1fr))}.meeting-popup [data-change-date],.meeting-popup [data-retry]{margin-top:14px;margin-right:8px}.contact-panel #meetingCalendar{margin-top:22px}@media(max-width:600px){.meeting-popup .meeting-times{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Release 1.0.1: stable centred close target with keyboard and pointer feedback. */
.meeting-dialog>.meeting-close{display:grid;place-items:center;box-sizing:border-box;padding:0!important;line-height:1!important;font-family:Arial,sans-serif;font-size:26px;font-weight:400;width:38px;height:38px;min-width:38px;border-radius:50%;border:1px solid #d7e4f7;cursor:pointer;color:#17417d;background:#edf3ff;transition:background-color .18s ease,color .18s ease,border-color .18s ease}.meeting-dialog>.meeting-close:hover,.meeting-dialog>.meeting-close:focus-visible{background:#0052ff;color:#fff;border-color:#0052ff}.meeting-dialog>.meeting-close:active{background:#073a9e}

/* Final 1.0: centred studio heading and subtle raised calendar surface. */
.contact-panel #meetingCalendar{background:linear-gradient(145deg,#fff 25%,#f2f7ff 100%);border:1px solid #c8d9f4;border-bottom:3px solid #abc2e8;box-shadow:0 5px 0 #dbe6f7,0 14px 28px rgba(6,31,76,.18),inset 0 1px 0 #fff}
.contact-panel #meetingCalendar>h3{position:relative;text-align:center;color:#14213d;padding-bottom:14px;margin:2px 0 12px;letter-spacing:-.02em;font-weight:800}
.contact-panel #meetingCalendar>h3:after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:76px;height:4px;border-radius:99px;background:linear-gradient(90deg,#0052ff 0%,#0052ff 58%,#f26a21 100%);box-shadow:0 3px 8px rgba(0,82,255,.16)}
.contact-panel #meetingCalendar .meeting-hours{text-align:center;background:#eaf1ff;border:1px solid #dce7fa}
.contact-panel #meetingCalendar .meeting-month{padding:6px 2px}
.contact-panel #meetingCalendar .meeting-days button:not(:disabled){background:linear-gradient(180deg,#fff,#eef4ff);border-color:#cfddf1;box-shadow:0 2px 0 #d5e1f3;transition:background .18s ease,box-shadow .18s ease,color .18s ease}
.contact-panel #meetingCalendar .meeting-days button:not(:disabled):hover,.contact-panel #meetingCalendar .meeting-days button.selected{background:linear-gradient(145deg,#246aff,#0052ff);color:#fff;border-color:#0052ff;box-shadow:0 2px 0 #073a9e,0 4px 9px #0052ff26}
.contact-panel #meetingCalendar .meeting-days button:not(:disabled):active{box-shadow:inset 0 2px 3px #073a9e33}
@media(prefers-reduced-motion:reduce){.contact-panel #meetingCalendar .meeting-days button{transition:none}}
