/* Only the active agenda fills the viewport. Other sections keep normal page scrolling. */
.agenda-summary-notes { display:none; }
.calendar-cell.half-hour-cell { min-height:52px; padding-block:2px; }
.time-label.half-hour-label { min-height:52px; padding-top:8px; }
.agenda-colors-trigger { width:48px; padding:10px; flex:none; }
.agenda-colors { width:min(620px,calc(100vw - 24px)); padding:24px; }
.agenda-colors .editor-heading h2 { font-size:24px; }
.agenda-colors .editor-heading { gap:12px; }
.agenda-color-people { display:grid; gap:8px; margin-block:18px; }
.agenda-color-people > button { justify-content:flex-start; min-height:64px; }
.agenda-color-people i { width:28px; height:28px; border-radius:50%; flex:none; }
.agenda-color-people svg { margin-left:auto; }
.agenda-colors .service-custom-color { display:flex; align-items:center; gap:16px; margin:14px 0; }
.agenda-colors input[type=color] { width:64px; min-height:48px; padding:4px; }
.agenda-colors .form-actions { margin-top:18px; }
.calendar-date-choice { position:relative; display:flex; align-items:center; gap:10px; min-height:48px; padding:5px 9px; margin:0; border:1px solid transparent; border-radius:10px; cursor:pointer; transition:background .15s,border-color .15s; }
.calendar-date-choice:hover { background:#edf7f3; border-color:#d2e6de; }
.calendar-date-choice:focus-within { outline:3px solid #6ac9b3; outline-offset:2px; background:#edf7f3; }
.calendar-date-choice:has(input:disabled) { opacity:.65; cursor:wait; }
.calendar-date-copy { display:flex; flex-direction:column; gap:3px; min-width:0; }
.calendar-local-name { color:#59776d; font-size:11px; font-weight:600; line-height:1.2; overflow-wrap:anywhere; }
.calendar-range { line-height:1.25; }
.calendar-date-choice > svg { width:19px; height:19px; color:#19766e; flex:none; }
.calendar-date-choice > .calendar-date-input { position:absolute; inset:0; width:100%; height:100%; margin:0; min-width:0; min-height:48px; opacity:0; cursor:pointer; }
.calendar-toolbar-actions { display:flex; align-items:center; gap:8px; flex:none; }
.calendar-toolbar-actions .primary { white-space:nowrap; }
.calendar-site-selector:empty { display:none; }
.calendar-site-selector:not(:empty) { flex:0 0 100%; }
.calendar-site-selector label { display:flex; align-items:center; gap:10px; margin:0; font-size:12px; }
.calendar-site-selector select { width:auto; max-width:100%; min-width:160px; }
body:has(.agenda-workspace) { height:100dvh; display:flex; flex-direction:column; overflow:hidden; }
body:has(.agenda-workspace) > .pilot-banner { flex:none; padding:7px 16px; font-size:11px; }
.account-workspace.agenda-workspace { flex:1; width:100%; min-height:0; grid-template-rows:auto minmax(0,1fr) auto; overflow:hidden; }
.agenda-workspace > .workspace-navigation { height:100%; min-height:0; padding-top:20px; }
.agenda-workspace .workspace-navigation-links { min-height:calc(100% - 92px); }
.agenda-workspace .workspace-navigation .brand { margin-bottom:22px; }
.account-workspace.agenda-workspace > .account-header { min-height:56px; padding:8px 24px; }
.agenda-workspace .workspace-page-title { display:flex; align-items:baseline; gap:14px; }
.agenda-workspace .workspace-page-title h1 { font-size:20px; }
.agenda-workspace .workspace-page-title > span { font-size:10px; }
.account-workspace.agenda-workspace > main { display:flex; flex-direction:column; min-height:0; padding:12px 20px 8px!important; overflow:auto; }
.agenda-workspace > main > * { flex-shrink:0; }
.account-workspace.agenda-workspace .account-controls { margin:0 0 10px; padding:0; gap:10px; }
.agenda-workspace .workspace-local { gap:2px; }
.agenda-workspace .workspace-local .eyebrow { font-size:9px; letter-spacing:1.5px; margin:0; }
.agenda-workspace .workspace-local > strong { font-size:16px; }
.agenda-workspace .agenda-summary { flex:none; grid-template-columns:1fr .8fr 1.5fr; margin:0 0 10px; gap:10px; }
.agenda-workspace .agenda-summary article { grid-template-columns:auto minmax(0,1fr); grid-template-rows:auto auto; column-gap:12px; row-gap:3px; align-content:center; padding:10px 14px; border-radius:12px; }
.agenda-workspace .agenda-summary article > strong { grid-column:1; grid-row:1/3; align-self:center; font-size:26px; line-height:1; }
.agenda-workspace .agenda-summary article > span { grid-column:2; grid-row:1; font-size:12px; }
.agenda-workspace .agenda-summary article > small { grid-column:2; grid-row:2; font-size:10px; line-height:1.3; }
.agenda-workspace .calendar-panel { flex:1 1 0; display:flex; flex-direction:column; min-height:260px; border-radius:16px; }
.agenda-workspace .calendar-toolbar { flex:none; padding:8px 14px; gap:10px; flex-wrap:wrap; }
.agenda-workspace .calendar-heading { flex:1; min-width:0; }
.agenda-workspace .calendar-heading .mini-eyebrow { display:none; }
.agenda-workspace .calendar-heading h2 { font-size:18px; margin:0; }
.agenda-workspace .calendar-controls { gap:8px; }
.agenda-workspace .calendar-controls .secondary { padding-inline:14px; }
.agenda-workspace .calendar-controls select { width:auto; max-width:210px; }
.agenda-workspace .calendar-toolbar-actions .primary { padding-inline:16px; }
.agenda-workspace .calendar-toolbar-actions .workspace-refresh { width:48px; padding:12px; }
.agenda-workspace .calendar-legend { flex:none; gap:14px; padding:0 14px 7px; }
.agenda-workspace .calendar-legend small { font-size:10px; }
.account-workspace.agenda-workspace .calendar-scroll { flex:1 1 0; min-height:0; max-height:none; overflow-y:auto; overscroll-behavior-y:contain; scrollbar-gutter:stable; }
.agenda-workspace .day-heading,.agenda-workspace .time-heading { min-height:58px; padding:5px 3px; }
.agenda-workspace .day-heading { display:grid; grid-template-columns:auto auto; grid-template-rows:auto auto; justify-content:center; gap:0 7px; }
.agenda-workspace .day-heading > span { grid-column:1; grid-row:1; align-self:end; }
.agenda-workspace .day-heading > strong { grid-column:2; grid-row:1/3; font-size:22px; width:32px; height:32px; align-self:center; }
.agenda-workspace .day-heading > small { grid-column:1; grid-row:2; align-self:start; font-size:8px; }
.agenda-workspace .time-heading { display:grid; place-items:center; }
.agenda-workspace .calendar-bottom { flex:none; padding:5px 12px; min-height:28px; }
.agenda-workspace .account-data-note { margin:5px 0 0; line-height:1.3; }
.account-workspace.agenda-workspace > .account-footer { display:none; }
.agenda-workspace .account-status { margin:6px 0 0; padding:10px 14px; }
.agenda-workspace .demo-header-actions { gap:10px; }
.agenda-workspace .demo-header-actions .secondary { min-height:40px; padding:8px 14px; }
.agenda-workspace .demo-footer { max-width:none; width:100%; margin:6px 0 0!important; padding:4px 0 0; border:0; font-size:10px; gap:12px; }
.agenda-workspace .demo-footer a { min-height:32px; }
@media (max-width:1250px) {
  .agenda-workspace .calendar-toolbar { flex-wrap:wrap; }
  .agenda-workspace .calendar-heading { flex:1; order:1; }
  .agenda-workspace .calendar-toolbar-actions { order:2; }
  .agenda-workspace .calendar-controls { order:3; width:100%; justify-content:space-between; }
  .agenda-workspace .calendar-site-selector { order:0; }
  .agenda-workspace .calendar-legend small { margin-left:0; }
  .agenda-workspace .agenda-summary { grid-template-columns:1fr .7fr 1.3fr; }
  .agenda-workspace .agenda-summary article { padding:9px 10px; column-gap:8px; }
}
@media (max-width:760px) {
  .account-workspace.agenda-workspace { display:flex; flex-direction:column; }
  .agenda-workspace > .workspace-navigation { flex:none; height:auto; position:relative; overflow:visible; padding:10px 12px; z-index:10; }
  .agenda-workspace .workspace-navigation .brand { margin:0; }
  .agenda-workspace .workspace-navigation-links { min-height:0; }
  .agenda-workspace .workspace-navigation-links.is-open { position:absolute; top:100%; left:0; width:100%; max-height:70dvh; overflow-y:auto; background:#102845; padding:12px 16px; box-shadow:0 18px 30px #10284530; }
  .account-workspace.agenda-workspace > .account-header { display:none; }
  .account-workspace.agenda-workspace > main { flex:1; padding:10px 10px 6px!important; }
  .account-workspace.agenda-workspace .account-controls { gap:7px; margin-bottom:8px; }
  .agenda-workspace .workspace-local { flex:1; flex-basis:auto; }
  .agenda-workspace .workspace-refresh { display:none; }
  .agenda-workspace .agenda-summary { position:relative; gap:5px; margin-bottom:8px; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .agenda-workspace .agenda-summary article { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:3px; padding:8px; border-radius:10px; }
  .agenda-workspace .agenda-summary article > strong { align-self:auto; font-size:22px; order:-1; }
  .agenda-workspace .agenda-summary article > span { font-size:10px; line-height:1.3; }
  .agenda-workspace .agenda-summary article > small { display:none; }
  .agenda-workspace .agenda-summary-notes { display:block; position:absolute; top:0; right:0; z-index:6; }
  .agenda-summary-notes > summary { display:grid; place-items:center; width:48px; height:48px; cursor:pointer; list-style:none; color:#40645b; }
  .agenda-summary-notes > summary::-webkit-details-marker { display:none; }
  .agenda-summary-notes > summary svg { width:16px; height:16px; }
  .agenda-summary-notes > div { position:absolute; top:100%; right:0; width:min(290px,calc(100vw - 30px)); padding:14px 16px; background:#fff; border:1px solid #cfded8; border-radius:12px; box-shadow:0 10px 25px #173e3820; color:#304856; font-size:12px; line-height:1.5; }
  .agenda-summary-notes p { margin:0 0 8px; }
  .agenda-summary-notes p:last-child { margin-bottom:0; }
  .agenda-workspace .agenda-summary-notes strong { font-size:12px; line-height:1.5; }
  .agenda-workspace .calendar-toolbar { padding:8px; gap:6px; }
  .agenda-workspace .calendar-heading { flex:1 1 0; }
  .agenda-workspace .calendar-heading h2 { font-size:15px; }
  .agenda-workspace .calendar-date-choice { padding:3px; gap:6px; }
  .agenda-workspace .calendar-date-choice > svg { width:17px; height:17px; }
  .agenda-workspace .calendar-local-name { font-size:10px; }
  .agenda-workspace .calendar-toolbar-actions .primary { min-height:48px; padding:10px 12px; font-size:12px; }
  .agenda-workspace .calendar-controls { width:100%; gap:4px; justify-content:flex-start; flex-wrap:nowrap; }
  .agenda-workspace .calendar-controls .secondary { padding-inline:8px; }
  .agenda-workspace .calendar-controls .navigation-buttons { gap:3px; }
  .agenda-workspace .calendar-controls .segmented { gap:0; }
  .agenda-workspace .calendar-controls .navigation-buttons,.agenda-workspace .calendar-controls .segmented { flex:none; }
  .agenda-workspace .calendar-controls select { flex:1 1 0; width:0; min-width:70px; max-width:none; padding-inline:5px; text-overflow:ellipsis; }
  .agenda-workspace .calendar-legend { padding:0 8px 6px; gap:5px 12px; font-size:9px; }
  .agenda-workspace .calendar-legend small { font-size:9px; }
  .agenda-workspace .calendar-bottom { display:block; padding:5px 8px; }
  .agenda-workspace .calendar-bottom > span:last-child { display:none; }
  .agenda-workspace .day-heading { display:flex; flex-direction:column; gap:1px; }
  .agenda-workspace .day-heading > strong { font-size:17px; width:25px; height:25px; }
  .agenda-workspace .day-heading > span,.agenda-workspace .day-heading > small { align-self:center; }
  .agenda-workspace .day-heading > small { font-size:7px; }
  .agenda-workspace .demo-footer { display:block; font-size:9px; }
  .agenda-workspace .demo-footer > a { display:none; }
  .account-workspace.agenda-workspace > .account-footer { padding:3px 10px; font-size:8px; }
}
/* Short windows / zoom: keep every control reachable instead of clipping the agenda. */
@media (max-height:650px) {
  body:has(.agenda-workspace) { height:auto; min-height:100dvh; overflow:auto; }
  .account-workspace.agenda-workspace { min-height:100dvh; overflow:visible; }
  .agenda-workspace > .workspace-navigation { height:100dvh; position:sticky; }
  .account-workspace.agenda-workspace > main { overflow:visible; }
  .agenda-workspace .calendar-panel { flex:none; height:70dvh; min-height:360px; }
  @media (max-width:760px) { .agenda-workspace > .workspace-navigation { height:auto; position:relative; } }
}
