.real-agenda-grid.day-view .real-day{display:block}.real-day .agenda-events{margin-top:15px}.real-event{min-height:110px}.real-event strong{font-size:14px}.real-description{white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.real-full-description{white-space:pre-wrap;overflow-wrap:anywhere}.real-id{font-family:Consolas,monospace;font-size:11px;overflow-wrap:anywhere}.real-banner{background:#e8f4ef;color:#376657}.real-day .badge{white-space:normal}.real-day{align-self:start}.real-day p{font-size:12px;line-height:1.7}.real-day .event-clock{font-size:12px}.real-agenda-grid.day-view .agenda-events{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:900px){.real-agenda-grid.day-view .agenda-events{grid-template-columns:1fr}}

.booking-slots{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.booking-slots button[aria-pressed="true"]{background:var(--primary,#193e54);color:white;border-color:var(--primary,#193e54);box-shadow:0 0 0 2px #b9cdd9}.test-event{padding:16px 0;border-top:1px solid #dce4e9}.test-event .real-id{overflow-wrap:anywhere}
.calendar-scroll{max-height:78vh;overflow:auto;border:1px solid #d6e2eb;border-radius:12px;background:white}.calendar-workgrid{display:grid;grid-template-columns:68px repeat(var(--days),minmax(0,1fr));min-width:700px}.calendar-workgrid.calendar-week{min-width:1100px}.calendar-corner,.calendar-column-title{position:sticky;top:0;z-index:5;background:#eef6fc;padding:14px 8px;border-bottom:1px solid #d3e0e8;text-align:center;color:#173e59}.calendar-column-title{display:grid;gap:5px;border-left:1px solid #d3e0e8}.calendar-column-title strong{font-size:13px;text-transform:capitalize}.calendar-column-title span{font-size:12px}.calendar-allday-label{font-size:11px;padding:12px 5px;color:#607b8b;background:#f8fbfd}.calendar-allday{padding:5px;border-left:1px solid #d6e2eb;border-bottom:1px solid #d6e2eb;min-height:48px}.calendar-allday>.calendar-block{position:relative;display:grid;width:100%;margin-bottom:4px;min-height:38px}.calendar-axis{position:relative;height:1440px;background:#f7fafc}.calendar-axis span{position:absolute;left:12px;font-size:11px;color:#667c8b}.calendar-time-column{height:1440px;position:relative;border-left:1px solid #d6e2eb;background:white;min-width:0}.calendar-hour-lines{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,#edf2f6 29px,#edf2f6 30px,transparent 30px,transparent 59px,#cedee9 59px,#cedee9 60px)}.calendar-block{position:absolute;box-sizing:border-box;display:flex;flex-direction:column;gap:3px;overflow:hidden;text-align:left;border:1px solid #b6d8ec;border-left:4px solid #478aac;border-radius:6px;padding:5px 7px;background:#eaf5fc;color:#183d56;line-height:1.25;box-shadow:none;min-width:0}.calendar-block:hover{filter:brightness(.97)}.calendar-block:focus-visible{outline:3px solid #af842e;outline-offset:1px;z-index:6}.calendar-block strong{font-size:12px;overflow-wrap:anywhere}.calendar-block .event-clock,.calendar-block small{font-size:10px}.calendar-block.calendar-blocked{background:#f7f1e2;border-color:#decda6;border-left-color:#b18b3a}.calendar-block.calendar-nonblocking{background:#f8fafc;border:1px dashed #adbfc9;color:#617684}.calendar-legend{display:flex;gap:20px;flex-wrap:wrap;margin:16px 0;font-size:12px;color:#34546a}.calendar-legend span:before{content:'';display:inline-block;width:11px;height:11px;margin-right:7px;border:1px solid #bed0dc;background:white;vertical-align:middle}.legend-busy:before{background:#c9e5f5!important}.legend-blocked:before{background:#e9d8af!important}.legend-nonblocking:before{border-style:dashed!important;background:#eff3f6!important}@media(max-width:700px){.calendar-workgrid.calendar-day{min-width:460px}.calendar-scroll{max-height:72vh}.agenda-toolbar{gap:12px;flex-wrap:wrap}.calendar-legend{gap:12px}}

/* Régua e eventos compartilham a mesma origem temporal, sem cálculo de disponibilidade. */
.calendar-workgrid{grid-template-rows:auto auto 1440px;align-items:start}.calendar-axis{position:sticky;left:0;z-index:4;align-self:stretch;border-right:1px solid #c9dbe7}.calendar-axis span{left:0;width:62px;text-align:right;padding:2px 8px 0 0;line-height:14px;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;color:#36546a}.calendar-corner{left:0;z-index:8}.calendar-allday-label{position:sticky;left:0;z-index:4;align-self:stretch}.calendar-block{min-height:0!important}.calendar-block.calendar-compact{padding:3px 6px;gap:1px}.calendar-compact .event-clock{font-size:10px;line-height:11px;white-space:nowrap}.calendar-compact strong{font-size:11px;line-height:12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.calendar-compact small{display:none}

/* Compatível com CSP style-src self: geometria dinâmica por propriedades DOM. */
.calendar-workgrid.calendar-day{grid-template-columns:68px minmax(0,1fr)}.calendar-workgrid.calendar-week{grid-template-columns:68px repeat(7,minmax(0,1fr))}.calendar-axis{display:flex;flex-direction:column}.calendar-axis span{position:static;display:block;flex:0 0 30px;height:30px}.calendar-selected-day{background:#deedf8;box-shadow:inset 0 -3px #b7975c}

/* Escala única: 0,9 px/minuto, 27 px/meia hora, 1296 px/dia. */
.calendar-workgrid{--calendar-pixels-per-minute:0.9;--calendar-half-hour:calc(var(--calendar-pixels-per-minute)*30px);--calendar-day-height:calc(var(--calendar-pixels-per-minute)*1440px);grid-template-rows:auto auto var(--calendar-day-height)}
.calendar-axis,.calendar-time-column{height:var(--calendar-day-height)}
.calendar-axis span{flex-basis:var(--calendar-half-hour);height:var(--calendar-half-hour);box-sizing:border-box;padding-top:2px}
.calendar-axis span:nth-child(odd){color:#193e54;font-weight:600}
.calendar-axis span:nth-child(even){color:#718697}
.calendar-hour-lines{background:repeating-linear-gradient(to bottom,#cedee9 0,#cedee9 1px,transparent 1px,transparent calc(var(--calendar-half-hour)),#edf2f6 calc(var(--calendar-half-hour)),#edf2f6 calc(var(--calendar-half-hour) + 1px),transparent calc(var(--calendar-half-hour) + 1px),transparent calc(var(--calendar-half-hour)*2))}
.calendar-time-column .calendar-block{padding:2px 5px;gap:1px}
.calendar-time-column .calendar-block .event-clock{font-size:10px;line-height:11px;white-space:nowrap}
.calendar-time-column .calendar-block strong{font-size:11px;line-height:12px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;white-space:normal;overflow-wrap:break-word}
.calendar-time-column .calendar-block small{display:none}
.calendar-time-column .calendar-compact strong{-webkit-line-clamp:1;display:block;white-space:nowrap;text-overflow:ellipsis}
.calendar-time-column .calendar-compact{padding-top:1px;padding-bottom:1px;gap:0}

/* Acabamento exclusivo da Agenda, sem mudança na geometria temporal. */
.agenda-main .page-heading{padding-top:16px;margin-bottom:16px;gap:16px}
.agenda-main .page-heading .eyebrow,.agenda-main>.demo-banner{display:none}
.agenda-main .page-heading h1{margin:0 0 6px}
.agenda-main .page-heading p{margin:0;line-height:1.5}
.agenda-main .agenda-toolbar{padding:16px 20px;margin-bottom:0;gap:12px}
.agenda-main .calendar-legend{margin:12px 0}
.agenda-main .filter-help[hidden]{display:none}
@media(max-width:700px){.agenda-main .page-heading{padding-top:14px}.agenda-main .agenda-toolbar{padding:14px;gap:10px}}
