/* IDMIX Tech 1.0.45 — Agenda alinhada ao Design System global */
html body .agenda1044-page{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:14px!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
html body .agenda1044-calendar,html body .agenda1044-upcoming{
  width:100%!important;max-width:none!important;min-width:0!important;
  padding:0!important;overflow:hidden!important;
}

/* Mês: só navegação e mês, com caixas de ícone no mesmo tamanho do restante do sistema. */
html body .agenda1044-toolbar{
  display:grid!important;grid-template-columns:var(--bp-ds-icon-box,42px) minmax(0,1fr) var(--bp-ds-icon-box,42px)!important;
  align-items:center!important;gap:12px!important;width:100%!important;min-height:62px!important;
  padding:10px 12px!important;border-bottom:1px solid var(--border)!important;background:var(--surface)!important;
  box-shadow:none!important;text-shadow:none!important;
}
html body .agenda1044-toolbar>strong{
  min-width:0!important;text-align:center!important;text-transform:capitalize!important;
  font-size:calc(17px * var(--ui-scale,1))!important;line-height:1.25!important;font-weight:650!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;text-shadow:none!important;box-shadow:none!important;
}
html body .agenda1044-nav{
  width:var(--bp-ds-icon-box,42px)!important;height:var(--bp-ds-icon-box,42px)!important;
  min-width:var(--bp-ds-icon-box,42px)!important;min-height:var(--bp-ds-icon-box,42px)!important;
  padding:0!important;display:grid!important;place-items:center!important;
  border:1px solid var(--border)!important;border-radius:var(--bp-control-radius,8px)!important;
  background:var(--surface)!important;color:var(--fg)!important;cursor:pointer!important;box-shadow:none!important;
}
html body .agenda1044-nav:first-child{justify-self:start!important}
html body .agenda1044-nav:last-child{justify-self:end!important}
html body .agenda1044-nav:hover{background:var(--surface2)!important;border-color:color-mix(in srgb,var(--primary) 38%,var(--border))!important;color:var(--primary)!important}
html body .agenda1044-nav .ui-icon{width:var(--bp-ds-icon,18px)!important;height:var(--bp-ds-icon,18px)!important}

/* Grade principal: sempre ocupa a largura toda. */
html body .agenda1044-weekdays{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;background:var(--surface2)!important;border-bottom:1px solid var(--border)!important}
html body .agenda1044-weekdays span{padding:9px 5px!important;text-align:center!important;font-size:calc(11px * var(--ui-scale,1))!important;font-weight:650!important;color:var(--muted)!important;border-right:1px solid var(--border)!important}
html body .agenda1044-weekdays span:last-child{border-right:0!important}
html body .agenda1044-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:0!important;border-left:1px solid var(--border)!important;background:var(--surface)!important;min-width:0!important;width:100%!important}
html body .agenda1044-day{
  position:relative!important;min-width:0!important;min-height:110px!important;padding:8px!important;
  background:var(--surface)!important;border-right:1px solid var(--border)!important;border-bottom:1px solid var(--border)!important;
  cursor:pointer!important;transition:background-color .15s ease!important;overflow:hidden!important;
}
html body .agenda1044-day:hover{background:color-mix(in srgb,var(--primary) 2.5%,var(--surface))!important}
html body .agenda1044-day.is-past{cursor:default!important}
html body .agenda1044-day.is-outside{background:color-mix(in srgb,var(--surface2) 80%,var(--surface))!important;color:var(--muted)!important;cursor:default!important}
html body .agenda1044-day.is-outside:hover{background:color-mix(in srgb,var(--surface2) 80%,var(--surface))!important}
html body .agenda1044-day.is-today::after{content:""!important;position:absolute!important;inset:-1px!important;border:2px solid var(--primary)!important;pointer-events:none!important;z-index:5!important}
html body .agenda1044-day-number{
  width:28px!important;height:28px!important;display:grid!important;place-items:center!important;margin:0 0 6px!important;
  border-radius:var(--bp-control-radius,8px)!important;font-size:calc(12px * var(--ui-scale,1))!important;font-weight:700!important;
}
html body .agenda1044-day.is-today .agenda1044-day-number{background:var(--primary)!important;color:#fff!important}
html body .agenda1044-day.is-outside .agenda1044-day-number{color:color-mix(in srgb,var(--muted) 70%,transparent)!important}
html body .agenda1044-events{display:grid!important;gap:5px!important;min-width:0!important}

/* Evento: um único ícone, data, hora e título completo. Sem cartão estreito e sem quebra letra-a-letra. */
html body .agenda1044-event{
  display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;align-items:start!important;gap:6px!important;
  width:100%!important;min-width:0!important;padding:6px 0!important;border:0!important;border-top:1px solid color-mix(in srgb,var(--border) 80%,transparent)!important;
  border-radius:0!important;background:transparent!important;color:var(--fg)!important;text-align:left!important;cursor:pointer!important;
}
html body .agenda1044-event:first-child{border-top:0!important;padding-top:2px!important}
html body .agenda1044-event:hover{background:color-mix(in srgb,var(--primary) 4%,transparent)!important}
html body .agenda1044-event-icon{
  width:18px!important;height:18px!important;min-width:18px!important;display:grid!important;place-items:center!important;
  margin-top:1px!important;color:var(--primary)!important;background:transparent!important;border:0!important;
}
html body .agenda1044-event-icon .ui-icon{width:16px!important;height:16px!important}
html body .agenda1044-event-icon.status-confirmada{color:#0284c7!important}
html body .agenda1044-event-icon.status-concluida{color:#16a34a!important}
html body .agenda1044-event-icon.status-cancelada{color:#dc2626!important}
html body .agenda1044-event-copy{
  display:flex!important;align-items:baseline!important;flex-wrap:wrap!important;gap:2px 5px!important;min-width:0!important;
  font-size:calc(11.5px * var(--ui-scale,1))!important;line-height:1.35!important;
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important;word-break:normal!important;overflow-wrap:break-word!important;
}
html body .agenda1044-date,html body .agenda1044-time,html body .agenda1044-sep{flex:0 0 auto!important;white-space:nowrap!important}
html body .agenda1044-date{color:var(--muted)!important}
html body .agenda1044-time{font-weight:700!important;color:var(--fg)!important}
html body .agenda1044-sep{color:var(--muted)!important}
html body .agenda1044-title{
  min-width:0!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
  word-break:normal!important;overflow-wrap:break-word!important;hyphens:none!important;
}
html body .agenda1044-event.status-cancelada,html body .agenda1044-upcoming-row.status-cancelada{opacity:.65!important}
html body .agenda1044-event.status-cancelada .agenda1044-title,html body .agenda1044-upcoming-row.status-cancelada .agenda1044-title{text-decoration:line-through!important}
html body .agenda1044-more{padding:2px 0!important;font-size:calc(11px * var(--ui-scale,1))!important;color:var(--muted)!important}

/* Próximas reservas: seção abaixo do calendário, uma linha larga por reserva. */
html body .agenda1044-upcoming{display:block!important}
html body .agenda1044-upcoming-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:14px 16px!important;border-bottom:1px solid var(--border)!important}
html body .agenda1044-upcoming-head h3{margin:0 0 2px!important}
html body .agenda1044-upcoming-list{display:grid!important;grid-template-columns:minmax(0,1fr)!important;min-width:0!important;width:100%!important}
html body .agenda1044-upcoming-row{
  display:grid!important;grid-template-columns:22px 58px 54px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;
  width:100%!important;min-width:0!important;padding:11px 14px!important;border:0!important;border-bottom:1px solid var(--border)!important;
  background:var(--surface)!important;color:var(--fg)!important;text-align:left!important;cursor:pointer!important;
}
html body .agenda1044-upcoming-row:last-child{border-bottom:0!important}
html body .agenda1044-upcoming-row:hover{background:var(--surface2)!important}
html body .agenda1044-upcoming-row .agenda1044-event-icon{grid-column:1!important;grid-row:1!important}
html body .agenda1044-upcoming-row .agenda1044-event-copy{display:contents!important;font-size:calc(13px * var(--ui-scale,1))!important;line-height:1.35!important}
html body .agenda1044-upcoming-row .agenda1044-date{grid-column:2!important;color:var(--muted)!important}
html body .agenda1044-upcoming-row .agenda1044-time{grid-column:3!important;font-weight:700!important}
html body .agenda1044-upcoming-row .agenda1044-sep{display:none!important}
html body .agenda1044-upcoming-row .agenda1044-title{grid-column:4!important;font-size:calc(13px * var(--ui-scale,1))!important;font-weight:600!important;line-height:1.35!important;overflow-wrap:break-word!important;word-break:normal!important}
html body .agenda1044-empty{display:flex!important;align-items:center!important;gap:10px!important;padding:18px!important;color:var(--muted)!important}
html body .agenda1044-empty>.ui-icon{width:18px!important;height:18px!important;color:var(--primary)!important}
html body .agenda1044-empty>div{display:grid!important;gap:2px!important}
html body .agenda1044-empty b{color:var(--fg)!important}

/* Formulário mantém seletores simples de data e hora. */
html body .agenda1044-form{display:grid!important;gap:14px!important}
html body .agenda1044-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px 12px!important;min-width:0!important}
html body .agenda1044-start-field{min-width:0!important}
html body .agenda1044-start-picker{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(130px,.45fr)!important;gap:8px!important;min-width:0!important}
html body .agenda1044-start-picker input{min-width:0!important;cursor:pointer!important}
html body .agenda1044-notes{grid-column:1/-1!important}
html body .agenda1044-notes textarea{min-height:82px!important}
html body .agenda1044-past-note{display:flex!important;align-items:flex-start!important;gap:8px!important;padding:9px 10px!important;border:1px solid color-mix(in srgb,#f59e0b 28%,var(--border))!important;background:color-mix(in srgb,#f59e0b 7%,var(--surface))!important;font-size:calc(12px * var(--ui-scale,1))!important;line-height:1.4!important}
html body .agenda1044-past-note>.ui-icon{width:17px!important;height:17px!important;flex:0 0 17px!important;color:#d97706!important}

@media(max-width:900px){
  html body .agenda1044-upcoming-row{grid-template-columns:22px 58px 52px minmax(0,1fr)!important;gap:8px!important}
}
@media(max-width:760px){
  html body .agenda1044-weekdays{display:none!important}
  html body .agenda1044-grid{grid-template-columns:1fr!important;border-left:0!important;gap:7px!important;padding:8px!important;background:transparent!important}
  html body .agenda1044-day.is-outside{display:none!important}
  html body .agenda1044-day{min-height:auto!important;border:1px solid var(--border)!important;display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;gap:8px!important;padding:9px!important}
  html body .agenda1044-day-number{margin:0!important}
  html body .agenda1044-events{align-content:start!important}
  html body .agenda1044-form-grid{grid-template-columns:1fr!important}
  html body .agenda1044-notes{grid-column:auto!important}
  html body .agenda1044-start-picker{grid-template-columns:minmax(0,1fr) 130px!important}
}
@media(max-width:560px){
  html body .agenda1044-upcoming-row{grid-template-columns:22px 54px minmax(0,1fr)!important;gap:7px!important;align-items:start!important}
  html body .agenda1044-upcoming-row .agenda1044-date{grid-column:2!important;grid-row:1!important}
  html body .agenda1044-upcoming-row .agenda1044-time{grid-column:2!important;grid-row:2!important}
  html body .agenda1044-upcoming-row .agenda1044-title{grid-column:3!important;grid-row:1/3!important}
  html body .agenda1044-start-picker{grid-template-columns:1fr!important}
}

/* ===== IDMIX Tech 1.0.47 · Agenda operacional refinada ===== */
/* Dia atual: quatro bordas fortes e completas, sem depender das bordas da grade. */
html body .agenda1044-day.is-today::after{
  inset:0!important;
  border:3px solid var(--primary)!important;
  box-sizing:border-box!important;
  z-index:7!important;
}
html body .agenda1044-day{container-type:inline-size!important}

/* Dentro do dia a data é redundante: ícone | hora – título | Ver reserva. */
html body .agenda1044-event{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr) max-content!important;
  align-items:center!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
  padding:6px 0!important;
  cursor:default!important;
}
html body .agenda1044-event .agenda1044-event-icon{
  align-self:center!important;
  justify-self:center!important;
  margin:0!important;
}
html body .agenda1044-event .agenda1044-event-copy{
  display:flex!important;
  align-items:baseline!important;
  flex-wrap:wrap!important;
  gap:2px 5px!important;
  min-width:0!important;
}
html body .agenda1044-event .agenda1044-date{display:none!important}
html body .agenda1044-event .agenda1044-title{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
html body .agenda1047-view{
  justify-self:end!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
html body .agenda1047-view>.ui-icon{width:15px!important;height:15px!important}

/* Próximas reservas: mantém data, hora e título e ganha ação clara à direita. */
html body .agenda1044-upcoming-row{
  display:grid!important;
  grid-template-columns:22px 58px 54px minmax(0,1fr) max-content!important;
  align-items:center!important;
  gap:10px!important;
  cursor:default!important;
}
html body .agenda1044-upcoming-row .agenda1044-event-icon{align-self:center!important;justify-self:center!important;margin:0!important}
html body .agenda1044-upcoming-row .agenda1044-event-copy{display:contents!important}
html body .agenda1044-upcoming-row .agenda1044-date{grid-column:2!important}
html body .agenda1044-upcoming-row .agenda1044-time{grid-column:3!important}
html body .agenda1044-upcoming-row .agenda1044-title{grid-column:4!important}
html body .agenda1044-upcoming-row .agenda1047-view{grid-column:5!important}

@container (max-width:210px){
  html body .agenda1044-event .agenda1047-view{width:34px!important;min-width:34px!important;height:34px!important;padding:0!important;display:grid!important;place-items:center!important}
  html body .agenda1044-event .agenda1047-view span{display:none!important}
}
@media(max-width:760px){
  html body .agenda1044-event{grid-template-columns:18px minmax(0,1fr) max-content!important}
  html body .agenda1044-upcoming-row{grid-template-columns:22px 58px 52px minmax(0,1fr) max-content!important}
}
@media(max-width:560px){
  html body .agenda1044-upcoming-row{grid-template-columns:22px 52px minmax(0,1fr) max-content!important;align-items:center!important}
  html body .agenda1044-upcoming-row .agenda1044-date{grid-column:2!important;grid-row:1!important}
  html body .agenda1044-upcoming-row .agenda1044-time{grid-column:2!important;grid-row:2!important}
  html body .agenda1044-upcoming-row .agenda1044-title{grid-column:3!important;grid-row:1/3!important}
  html body .agenda1044-upcoming-row .agenda1047-view{grid-column:4!important;grid-row:1/3!important;width:42px!important;min-width:42px!important;padding:0!important;display:grid!important;place-items:center!important}
  html body .agenda1044-upcoming-row .agenda1047-view span{display:none!important}
}
