/* Shared date selection, keeping native inputs as the submission contract. */
.lc-date-control { display: flex; align-items: center; position: relative; width: 100%; min-width: 0; }
.lc-date-control input[type=date] { width: 100%; min-width: 0; padding-right: 46px; color-scheme: light; }
.lc-date-control input::-webkit-calendar-picker-indicator { display: none; }
.lc-date-control input:focus-visible { outline: 2px solid #1670f0; outline-offset: 2px; }
.lc-date-trigger { position: absolute; right: 5px; display: grid; place-items: center; width: 36px; min-height: 36px; padding: 7px; border: 0; border-radius: 8px; background: #eaf2ff; color: #1670f0; cursor: pointer; }
.lc-date-trigger svg { position: static; inset: auto; transform: none; margin: 0; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.lc-calendar { box-sizing: border-box; inset: auto; margin: 0; display: block; position: fixed; z-index: 200; padding: 16px; border: 1px solid #dce7f3; border-radius: 16px; background: #fff; box-shadow: 0 16px 55px #182c4630; color: #213956; font: 13px/1.4 Roboto,Arial,sans-serif; max-height: calc(100dvh - 24px); overflow-y: auto; }
.lc-calendar[hidden] { display: none !important; }
.lc-calendar-head { display: flex; align-items: center; gap: 5px; padding-bottom: 16px; }
.lc-calendar select { appearance: auto; width: auto; height: 36px; box-shadow: none; min-width: 0; min-height: 36px; padding: 5px; border: 0; border-radius: 6px; background: #f4f7fb; color: #213956; font: inherit; font-weight: 600; }
.lc-calendar-month { flex: 1; }
.lc-calendar .lc-calendar-year { width: 72px; flex: 0 0 72px; }
.lc-calendar button { appearance: none; width: auto; height: auto; min-width: 0; margin: 0; box-shadow: none; text-transform: none; letter-spacing: normal; border: 0; border-radius: 8px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.lc-calendar-head button { width: 28px; min-height: 36px; font-size: 24px; }
.lc-calendar-weekdays,.lc-calendar-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 3px; text-align: center; }
.lc-calendar-weekdays { margin-bottom: 8px; color: #8191a6; font-size: 11px; font-weight: 600; }
.lc-calendar-grid .lc-calendar-day { width: 100%; height: 36px; min-height: 36px; padding: 5px; }
.lc-calendar-day.is-outside { color: #a1afbd; }
.lc-calendar-day[aria-current=date] { box-shadow: inset 0 0 0 1px #8ab7f7; color: #1670f0; font-weight: 700; }
.lc-calendar .lc-calendar-day.is-selected { background: #1670f0; color: #fff; font-weight: 700; }
.lc-calendar button:hover:not(:disabled) { background: #eaf2ff; color: #1264d7; }
.lc-calendar .lc-calendar-day.is-selected:hover { background: #1264d7; color: white; }
.lc-calendar button:disabled,.lc-date-trigger:disabled { opacity: .35; cursor: not-allowed; }
.lc-calendar :is(button,select):focus-visible,.lc-date-trigger:focus-visible { outline: 2px solid #1670f0; outline-offset: 2px; }
.lc-calendar-footer { display: flex; gap: 8px; border-top: 1px solid #e3eaf1; margin-top: 12px; padding-top: 10px; }
.lc-calendar-footer button { min-height: 34px; padding: 5px 10px; color: #1670f0; font-size: 12px; }
.lc-calendar-footer button:last-child { margin-left: auto; color: #667b92; }

/* Auth forms retain their original icon container and validation border. */
.dr-field:has(.lc-date-control) { overflow: visible; }
.dr-field .lc-date-control { flex: 1; }
.dr-field .lc-date-control input[type=date] { border: 0; background: transparent; box-shadow: none; padding-left: 0; }
.dr-field .lc-date-control .lc-date-trigger { right: 3px; }
.lc-calendar :is(select,button) { font-family: Roboto,Arial,sans-serif; }

.lc-calendar * { box-sizing: border-box; }
.lc-calendar-head,.lc-calendar-weekdays,.lc-calendar-grid,.lc-calendar-footer { width: 100%; }
