.calendar-datetime { display: grid; gap: 5px; min-width: 0; max-width: 100%; }
.calendar-datetime-label { color: #607b93; font-size: 12px; }
.calendar-datetime .calendar-datetime-summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; height: auto; min-width: 0; padding: 9px 11px; color: #365b78; font: inherit; line-height: 1.5; text-align: left; cursor: pointer; }
.calendar-datetime-summary > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.calendar-datetime-summary:disabled { cursor: default; }
.calendar-datetime-summary:focus-visible { outline: 2px solid #197ac8; outline-offset: 2px; }
.calendar-datetime-panel { display: grid; gap: 10px; min-width: 0; padding: 12px; border: 1px solid #d9e5f0; border-radius: 6px; background: #f7faff; }
.calendar-datetime-panel[hidden] { display: none; }
.calendar-datetime-date { display: grid; grid-template-columns: minmax(56px, .7fr) minmax(0, 1.5fr) minmax(76px, 1fr); align-items: end; gap: 8px; min-width: 0; }
.calendar-datetime-time { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: end; gap: 8px; min-width: 0; }
.calendar-datetime-time > span { padding-bottom: 10px; color: #607b93; }
.calendar-datetime-panel label { display: grid; gap: 4px; min-width: 0; color: #607b93; font-size: 11px; }
.calendar-datetime-panel .form-input { box-sizing: border-box; width: 100%; min-width: 0; padding: 8px; font: inherit; }
.calendar-datetime-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: 6px; min-width: 0; }
.calendar-datetime-actions .button { min-width: 0; max-width: 100%; white-space: normal; }
.calendar-datetime-error { margin: 0; color: #aa3d4e; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.calendar-datetime-error:empty { display: none; }
@media (max-width: 600px) {
  .calendar-datetime-panel { padding: 10px; }
  .calendar-datetime-panel .form-input, .calendar-datetime .calendar-datetime-summary { font-size: 16px; }
  .calendar-datetime-date { grid-template-columns: minmax(50px, .7fr) minmax(0, 1.5fr) minmax(72px, 1fr); gap: 6px; }
}
