.meeting-workspace { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(0,1.5fr); gap:clamp(28px,4vw,64px); padding-block:16px 64px; align-items:start; }
.meeting-intro h2 { font-size:clamp(30px,3vw,44px); }
.meeting-facts { margin:28px 0; }
.meeting-facts div { display:grid; grid-template-columns:100px 1fr; gap:12px; border-top:1px solid #bccbdb; padding:14px 0; }
.meeting-facts dt { color:#3c5267; font-size:13px; }
.meeting-facts dd { margin:0; font-size:14px; }
.meeting-intro .contact-address { font-size:clamp(12px,1.2vw,16px); overflow-wrap:anywhere; }
.meeting-scheduler { border:1px solid var(--line); padding:clamp(18px,2.6vw,36px); min-width:0; }
.meeting-scheduler h2 { font-size:32px; margin-bottom:24px; letter-spacing:-.02em; }
.meeting-scheduler .eyebrow { margin-bottom:14px; color:var(--blue); }
.meeting-scheduler h3 { font-family:inherit; font-size:15px; letter-spacing:0; line-height:1.5; margin:0; }
.timezone-label { display:block; font-size:12px; margin-bottom:6px; }
#meeting-zone { max-width:100%; width:100%; padding:11px; border:1px solid var(--line); background:var(--paper); color:var(--ink); margin-bottom:24px; }
.calendar-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(120px,.8fr); gap:24px; }
.calendar-navigation { display:flex; justify-content:space-between; align-items:center; min-height:42px; margin-bottom:10px; }
.calendar-navigation button { border:0; background:transparent; width:32px; height:36px; font-size:21px; color:var(--blue); }
.calendar-weekdays,.calendar-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; }
.calendar-weekdays span { text-align:center; font-size:10px; padding-block:10px; color:var(--muted); }
.calendar-days button { border:0; background:var(--pale); color:var(--blue); border-radius:50%; aspect-ratio:1; font-size:13px; font-weight:600; min-height:32px; padding:0; }
.calendar-days button:disabled { color:#777; background:transparent; cursor:default; font-weight:400; }
.calendar-days button[aria-pressed=true],.calendar-days button:not(:disabled):hover { background:var(--blue); color:white; }
.calendar-navigation button:disabled { color:#888; cursor:default; }
.slots-pane { border-left:1px solid var(--line); padding-left:20px; }
.slots-pane h3 { min-height:42px; display:flex; align-items:center; }
.meeting-slots { display:grid; gap:9px; max-height:345px; overflow-y:auto; padding:6px; margin-inline:-6px; }
.meeting-slots button { border:1px solid var(--blue); background:transparent; color:var(--blue); min-height:43px; padding:9px 6px; font-size:13px; }
.meeting-slots button:hover { background:var(--blue); color:white; }
.calendar-help { font-size:12px; line-height:1.7; color:var(--muted); margin:18px 0 0; }
.booking-back { padding:0; border:0; background:none; color:var(--blue); margin-bottom:25px; text-decoration:underline; font-size:13px; min-height:32px; }
#meeting-form label { display:block; font-size:13px; margin:19px 0 8px; }
#meeting-form label span { color:var(--muted); }
#meeting-form input,#meeting-form textarea { width:100%; background:var(--paper); border:1px solid #9babb9; padding:12px; color:var(--ink); }
#meeting-form textarea { resize:vertical; }
#meeting-form .button { margin-top:25px; width:100%; }
.meeting-selected { background:var(--pale); padding:16px; font-size:14px; }
#meeting-status { font-size:13px; margin:20px 0 0; color:#34506c; overflow-wrap:anywhere; }
#meeting-status:empty { display:none; }
.booking-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
#meeting-reference { overflow-wrap:anywhere; }
@media(max-width:1000px) { .meeting-workspace { grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr); gap:25px; } .calendar-layout { gap:14px; } .slots-pane { padding-left:12px; } }
@media(max-width:760px) { .meeting-workspace { grid-template-columns:1fr; } .meeting-intro { padding:24px; } .meeting-intro h2 { font-size:32px; } .meeting-facts { margin-block:18px; } .calendar-layout { grid-template-columns:minmax(0,1.5fr) minmax(100px,.8fr); } }
@media(max-width:390px) { .calendar-layout { grid-template-columns:1fr; } .slots-pane { border-left:0; border-top:1px solid var(--line); padding:12px 0 0; } .meeting-slots { grid-template-columns:1fr 1fr; max-height:220px; } }
