/* Shared Core controls; native inputs retain canonical values and geometry. */
.kvn-time24-wrap { position: relative; display: inline-flex; vertical-align: middle; min-width: 0; width: 100%; }
.kvn-time24-wrap[hidden] { display: none !important; }
.kvn-time24-wrap > input.kvn-time24-source { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; min-width: 0 !important; opacity: 0 !important; pointer-events: none !important; margin: 0 !important; }
.kvn-time24-wrap > input.kvn-time24-display { position: relative; width: 100%; min-width: 0; box-sizing: border-box; font-variant-numeric: tabular-nums; }
.kvn-time24-picker { position: fixed; z-index: 110; display: block; max-width: calc(100vw - 16px); max-height: calc(100dvh - 16px); overflow: auto; border: 1px solid var(--line, #cbd8d6); border-radius: 8px; background: var(--panel, #fff); color: var(--ink, #17312e); box-shadow: 0 12px 28px rgba(16, 24, 40, .16); }
.kvn-time24-picker[hidden], .kvn-time24-clock [hidden] { display: none !important; }
.kvn-time24-clock { display: grid; gap: 8px; padding: 10px; min-width: 0; }
.quick-date-popover > .kvn-time24-clock { grid-column: 1 / -1; border-top: 1px solid var(--line, #cbd8d6); }
.kvn-time24-parts { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; }
.kvn-time24-parts > label { display: grid; gap: 4px; margin: 0; font-size: 12px; flex: 1 1 60px; min-width: 60px; }
.kvn-time24-parts > label:has(input[type="date"]) { flex-basis: 100%; }
.kvn-time24-parts input, .kvn-time24-parts select { width: 100%; min-width: 0; min-height: 32px; margin: 0; font-variant-numeric: tabular-nums; }
.kvn-time24-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: 6px; }
.kvn-time24-actions button { min-height: 32px; flex: 0 0 auto; }
.kvn-time24-error { display: block; color: var(--danger, #b42318); font-size: 13px; white-space: normal; }
@media (max-width: 900px) {
  .kvn-time24-wrap > input.kvn-time24-display, .kvn-time24-parts input, .kvn-time24-parts select { font-size: 16px; min-height: 44px; }
  .kvn-time24-actions button { min-height: 44px; min-width: 44px; }
}
body[data-presentation="mobile"] .kvn-time24-wrap > input.kvn-time24-display,
body[data-presentation="mobile"] .kvn-time24-parts input,
body[data-presentation="mobile"] .kvn-time24-parts select { font-size: 16px; min-height: 44px; }
body[data-presentation="mobile"] .kvn-time24-actions button { min-height: 44px; min-width: 44px; }
