.atc-date-control { position: relative; display: inline-flex; align-items: center; width: 100%; min-width: 0; vertical-align: middle; box-sizing: border-box; gap: 6px; }
.atc-date-control[hidden] { display: none !important; }
.atc-date-control > .atc-date-native { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; border: 0 !important; overflow: hidden !important; clip-path: inset(50%) !important; opacity: 0 !important; pointer-events: none !important; }
.atc-date-control > .atc-date-text { flex: 1 1 auto; width: 100%; min-width: 0; padding: 10px 39px 10px 10px !important; border: 1px solid #cbd5e1; border-radius: 8px; box-sizing: border-box; direction: ltr !important; text-align: left !important; unicode-bidi: isolate; font: inherit; color: inherit; background: var(--input-bg, #fff); }
.atc-date-control > .atc-date-text::placeholder { direction: rtl; text-align: center; font-size: 12px; }
.atc-date-control > .atc-date-open { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 30px !important; height: 30px; min-height: 0; margin: 0; padding: 0 !important; border: 0; border-radius: 5px; color: #3159aa; background: transparent; cursor: pointer; font-size: 24px; line-height: 1; }
.atc-date-control > .atc-date-open:hover:not(:disabled) { background: #e9efff; }
.atc-date-control > .atc-date-open:disabled { opacity: .45; cursor: default; }
.atc-date-control:has(> .atc-date-text:disabled) { opacity: .7; }
.atc-date-with-time { display: grid; grid-template-columns: minmax(140px, 1fr) minmax(100px, .7fr); direction: ltr; }
.atc-date-with-time > .atc-date-open { right: calc(41.18% + 7px); }
.atc-date-with-time > .atc-date-time { width: 100%; min-width: 0; padding: 10px 8px; border: 1px solid #cbd5e1; border-radius: 8px; box-sizing: border-box; font: inherit; color: inherit; background: var(--input-bg, #fff); }
.atc-date-invalid > .atc-date-text { border-color: #dc2626; }
.atc-date-control > :focus-visible, .atc-date-calendar :focus-visible { outline: 2px solid #3159aa; outline-offset: 2px; }
.atc-date-calendar { position: fixed; z-index: 2147483000; padding: 12px; box-sizing: border-box; border: 1px solid #cbd5e1; border-radius: 12px; background: #fff; color: #172033; box-shadow: 0 12px 36px #0f172a30; font: 14px Arial, sans-serif; max-height: calc(100vh - 16px); overflow: auto; }
.atc-calendar-header { display: flex; align-items: center; gap: 5px; direction: ltr; margin-bottom: 10px; }
.atc-date-calendar button, .atc-date-calendar select, .atc-date-calendar input { box-sizing: border-box; font: inherit; color: inherit; }
.atc-calendar-header > .atc-calendar-month { min-width: 0; flex: 1; direction: rtl; padding: 6px 3px; background: #fff; border: 1px solid #cbd5e1; border-radius: 5px; }
.atc-calendar-header > .atc-calendar-year { width: 76px; min-width: 0; padding: 6px 3px; background: #fff; border: 1px solid #cbd5e1; border-radius: 5px; }
.atc-date-calendar .atc-calendar-nav { width: 30px; min-height: 32px; padding: 0; border: 0; border-radius: 5px; background: #f1f5f9; cursor: pointer; font-size: 24px; }
.atc-calendar-row { display: grid; grid-template-columns: repeat(7, minmax(0,1fr)); gap: 3px; margin: 3px 0; }
.atc-calendar-weekday { text-align: center; font-size: 10px; color: #64748b; padding-bottom: 6px; }
.atc-date-calendar .atc-calendar-day { width: 100%; min-height: 32px; padding: 4px 0; border: 1px solid transparent; border-radius: 5px; background: transparent; cursor: pointer; text-align: center; }
.atc-date-calendar .atc-calendar-day:hover:not(:disabled) { background: #e9efff; }
.atc-date-calendar .atc-calendar-day[aria-current="date"] { border-color: #3159aa; }
.atc-date-calendar .atc-calendar-day[aria-selected="true"] { background: #3159aa; color: #fff; }
.atc-date-calendar button:disabled { opacity: .35; cursor: default; }
.atc-calendar-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin-top: 10px; border-top: 1px solid #e2e8f0; padding-top: 10px; }
.atc-date-calendar .atc-calendar-footer button { padding: 4px 0; min-height: 28px; border: 0; color: #3159aa; background: none; cursor: pointer; font-size: 12px; }
@media print { .atc-date-open, .atc-date-calendar { display: none !important; } .atc-date-control > .atc-date-text { padding-right: 10px !important; } }
