.uedu-date-field { display:inline-flex; position:relative; vertical-align:middle; box-sizing:border-box; width:100%; max-width:100%; min-width:0; font:inherit; }
.uedu-date-field[hidden] { display:none!important; }
.uedu-date-field input.uedu-date-native { position:absolute!important; width:1px!important; height:1px!important; min-width:0!important; min-height:0!important; margin:0!important; padding:0!important; border:0!important; opacity:0!important; clip-path:inset(50%)!important; pointer-events:none!important; }
.uedu-date-field input.uedu-date-text { box-sizing:border-box; width:100%!important; min-width:0; max-width:100%; padding-right:32px!important; letter-spacing:0; }
.uedu-date-field .uedu-date-open { position:absolute; inset:1px 1px 1px auto; display:flex; align-items:center; justify-content:center; box-sizing:border-box; width:30px; min-width:30px; margin:0; padding:0; border:0; border-radius:3px; background:transparent; color:inherit; cursor:pointer; box-shadow:none; }
.uedu-date-open img { display:block; width:15px; height:17px; opacity:.7; }
.uedu-date-open:hover { background:#e8eef5; }
.uedu-date-open:disabled { cursor:default; opacity:.4; }
.uedu-date-open:focus-visible { outline:2px solid #2563eb; outline-offset:1px; }
.uedu-calendar.flatpickr-calendar { position:fixed!important; z-index:2147483000!important; box-sizing:border-box; width:308px; max-width:calc(100vw - 16px); padding:5px; border:1px solid #b8bec7; border-radius:4px; background:#fff; color:#1f2937; font:14px/1.4 Arial,'Malgun Gothic',sans-serif; letter-spacing:0; box-shadow:0 4px 14px #0002; }
.uedu-calendar { margin:0!important; right:auto!important; bottom:auto!important; overflow-y:auto; overflow-x:hidden; }
.uedu-calendar.animate.open { animation:none!important; opacity:1; }
.uedu-calendar::before,.uedu-calendar::after { display:none!important; }
.uedu-calendar .flatpickr-months { position:relative; height:40px; border:1px solid #d3d6db; border-radius:3px; background:#eee; }
.uedu-calendar .flatpickr-months .flatpickr-month { height:38px; color:#1f2937; background:transparent; }
.uedu-calendar .flatpickr-current-month { position:static; display:flex; align-items:center; justify-content:center; gap:8px; width:auto; height:38px; margin:0 30px; padding:0; font:inherit; }
.uedu-calendar .numInputWrapper { display:none!important; }
.uedu-calendar .flatpickr-current-month select.uedu-calendar-year,.uedu-calendar .flatpickr-current-month select.flatpickr-monthDropdown-months { box-sizing:border-box; height:30px; min-width:0; margin:0; padding:2px 5px; border:1px solid #aaa; border-radius:3px; background:#fff; color:#111827; font:14px Arial,'Malgun Gothic',sans-serif; appearance:auto; cursor:pointer; }
.uedu-calendar .uedu-calendar-year { width:88px; }
.uedu-calendar .flatpickr-current-month select.flatpickr-monthDropdown-months { width:70px; }
.uedu-calendar .flatpickr-prev-month,.uedu-calendar .flatpickr-next-month { display:flex; align-items:center; justify-content:center; box-sizing:border-box; width:30px; height:38px; padding:8px; color:#454b54; fill:#454b54; }
.uedu-calendar .flatpickr-prev-month:hover,.uedu-calendar .flatpickr-next-month:hover { background:#dce3ec; }
.uedu-calendar .flatpickr-prev-month svg,.uedu-calendar .flatpickr-next-month svg { width:14px; height:14px; }
.uedu-calendar .flatpickr-innerContainer,.uedu-calendar .flatpickr-rContainer,.uedu-calendar .flatpickr-days { width:100%; }
.uedu-calendar .flatpickr-weekdays { height:33px; margin-top:2px; background:#fff; }
.uedu-calendar span.flatpickr-weekday { color:#1f2937; font-size:13px; font-weight:600; }
.uedu-calendar span.flatpickr-weekday:first-child { color:#d03535; }
.uedu-calendar span.flatpickr-weekday:last-child { color:#2563eb; }
.uedu-calendar .dayContainer { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:3px; box-sizing:border-box; width:100%; min-width:0; max-width:none; padding:1px 0; }
.uedu-calendar .flatpickr-day { display:flex; align-items:center; justify-content:center; box-sizing:border-box; width:100%; max-width:none; height:32px; margin:0; border:1px solid #c9cdd3; border-radius:0; background:#f7f7f8; color:#303640; line-height:1; font-size:14px; }
.uedu-calendar .flatpickr-day.uedu-sunday { color:#c92e37; }
.uedu-calendar .flatpickr-day.uedu-saturday { color:#2563eb; }
.uedu-calendar .flatpickr-day:hover,.uedu-calendar .flatpickr-day:focus { border-color:#2563eb; background:#eaf2ff; }
.uedu-calendar .flatpickr-day.today { border-color:#3575d3; font-weight:700; }
.uedu-calendar .flatpickr-day.selected { border-color:#1675df; background:#1675df; color:#fff; font-weight:700; }
.uedu-calendar .flatpickr-day.prevMonthDay,.uedu-calendar .flatpickr-day.nextMonthDay { color:#a5aab2; background:#fbfbfc; }
.uedu-calendar .flatpickr-day.flatpickr-disabled { color:#b7bbc2!important; background:#f5f5f6; cursor:not-allowed; }
.uedu-calendar-footer { display:flex; align-items:center; gap:6px; margin-top:8px; padding:7px 0 0; border-top:1px solid #e1e4e8; }
.uedu-calendar-footer button { box-sizing:border-box; min-width:0; height:32px; margin:0; padding:3px 9px; border:1px solid #b8bec7; border-radius:3px; background:#f7f8fa; color:#26384d; font:14px Arial,'Malgun Gothic',sans-serif; white-space:nowrap; cursor:pointer; box-shadow:none; }
.uedu-calendar-footer button:hover { background:#e9eff7; }
.uedu-calendar-footer button:disabled { color:#a8adb5; cursor:not-allowed; }
.uedu-calendar-footer .uedu-calendar-close { margin-left:auto; }
.uedu-calendar select:focus-visible,.uedu-calendar button:focus-visible,.uedu-calendar [role="button"]:focus-visible { outline:2px solid #2563eb; outline-offset:1px; }
@media(max-width:480px) { .uedu-calendar.flatpickr-calendar { width:320px; } .uedu-calendar .flatpickr-day { height:36px; } .uedu-calendar-footer button { height:36px; } .uedu-calendar .flatpickr-current-month select.uedu-calendar-year,.uedu-calendar .flatpickr-current-month select.flatpickr-monthDropdown-months { font-size:16px; } }
@media print { .uedu-calendar.flatpickr-calendar { display:none!important; } .uedu-date-open { display:none!important; } }
