[data-slot="calendar"] table[role="grid"],
[data-slot="calendar"] .rdp-month_grid {
  height: 356px;
}

[data-slot="calendar"] tbody,
[data-slot="calendar"] .rdp-weeks {
  height: 312px;
  min-height: 312px;
}

[data-slot="calendar"] tr,
[data-slot="calendar"] .rdp-week {
  height: 52px;
}

[data-slot="calendar"] [data-today="true"] > button {
  color: var(--color-status-normal);
  box-shadow:
    inset 0 0 0 1px var(--color-status-normal),
    0 0 0 3px color-mix(in oklab, var(--color-status-normal) 18%, transparent);
}

[data-slot="calendar"] [data-today="true"] > button::after {
  position: absolute;
  right: 8px;
  bottom: 7px;
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: currentColor;
  content: "";
}

[data-slot="calendar"] [data-today="true"][data-selected="true"] > button {
  color: white;
  box-shadow:
    inset 0 0 0 2px white,
    0 0 0 3px color-mix(in oklab, var(--color-status-normal) 34%, transparent),
    0 0 20px -2px var(--color-brand);
}

.footer-signature {
  align-self: flex-end;
  max-width: 100%;
  border: 1px solid var(--color-glass-border-strong);
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgb(255 255 255 / 0.1), rgb(255 255 255 / 0.03)),
    rgb(12 18 36 / 0.72);
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 0.12),
    0 18px 40px -28px var(--color-brand);
  padding: 0.45rem 0.8rem;
  color: var(--color-ink-500);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  line-height: 1.1;
  text-align: right;
  text-transform: uppercase;
  white-space: nowrap;
  backdrop-filter: blur(14px);
}

@media (max-width: 640px) {
  .footer-signature {
    align-self: flex-start;
    letter-spacing: 0.14em;
    white-space: normal;
  }
}

.exam-date-compact {
  max-width: 230px;
  opacity: 0.82;
}

.exam-date-compact label {
  font-size: 0.68rem;
}

.exam-date-compact button[aria-label="Abrir calendário"] {
  transform: scale(0.9);
  transform-origin: left center;
  opacity: 0.72;
}

.exam-date-compact:focus-within,
.exam-date-compact:hover {
  opacity: 1;
}

.conception-estimate {
  align-self: end;
  opacity: 0.7;
}

.conception-estimate > div:first-child {
  font-size: 0.95rem;
}

.conception-estimate > div:last-child {
  font-size: 0.42rem;
  letter-spacing: 0.14em;
}

.doppler-compact {
  margin-top: 0.25rem;
}

.doppler-compact > div {
  gap: 1rem;
}

.doppler-compact h2 {
  font-size: 1.35rem;
}

.doppler-compact .surface-glass,
.doppler-compact .surface-glass-strong {
  gap: 0.65rem;
  padding: 0.8rem;
}

.doppler-compact article {
  gap: 0.65rem;
}

.doppler-compact article > div {
  gap: 0.65rem;
}

.doppler-compact article footer {
  padding-top: 0.45rem;
}

.doppler-compact input {
  height: 1.85rem;
}

.doppler-compact button {
  min-height: 1.75rem;
}

.doppler-compact pre,
.doppler-compact p,
.doppler-compact footer,
.doppler-compact span {
  line-height: 1.25;
}

@media (min-width: 1024px) {
  .doppler-compact > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.72fr);
    align-items: start;
    gap: 1rem 1.25rem;
  }

  .doppler-compact > div > h2 {
    grid-column: 1 / -1;
  }

  .doppler-compact > div > .surface-glass:first-of-type {
    grid-column: 1;
    max-width: 520px;
  }

  .doppler-compact > div > .surface-glass:first-of-type > div {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .doppler-compact > div > div:nth-of-type(2) {
    grid-column: 1;
  }

  .doppler-compact > div > div.my-2 {
    display: none;
  }

  .doppler-compact > div > section {
    grid-column: 2;
  }
}
