.ims-public-file-row { display: flex; align-items: center; flex-wrap: wrap; gap: .65rem; position: relative; width: 100%; }
.ims-public-file-button { background: #287e98; color: #fcfdff; border: 1px solid #287e98; border-radius: 3px; padding: .55rem .85rem; cursor: pointer; }
.ims-public-file-button:hover { background: #102b50; border-color: #102b50; }
.ims-public-file-button:focus-visible, .ims-public-file-row:focus-within { outline: 2px solid #287e98; outline-offset: 3px; }
.ims-public-file-button:disabled { opacity: .6; cursor: default; }
.ims-public-file-name { flex: 1 1 10rem; min-width: 0; overflow-wrap: anywhere; color: inherit; }
.ims-public-file-error { flex-basis: 100%; color: #a31919; }
.ims-public-file-native { position: absolute !important; width: 1px !important; height: 1px !important; margin: 0 !important; padding: 0 !important; opacity: 0 !important; overflow: hidden !important; clip-path: inset(50%); }
.ims-public-date-row { display: flex; align-items: stretch; gap: .5rem; width: 100%; }
.ims-public-date-row > input { flex: 1 1 9rem; min-width: 0; width: auto; margin-bottom: 0; }
.ims-public-date-button { flex: 0 0 auto; border: 1px solid #287e98; border-radius: 3px; background: #287e98; color: #fcfdff; padding: .5rem .7rem; cursor: pointer; }
.ims-public-date-button:hover { background: #102b50; border-color: #102b50; }
.ims-public-date-button:focus-visible { outline: 2px solid #287e98; outline-offset: 3px; }
.ims-public-date-button:disabled { opacity: .6; cursor: default; }
.ims-public-calendar { color: #102b50; border: 1px solid #dce5ef; box-shadow: 0 10px 35px #102b5026; font-family: inherit; }
.ims-public-calendar .flatpickr-day.selected, .ims-public-calendar .flatpickr-day.selected:hover { background: #287e98; border-color: #287e98; }
.ims-public-calendar .flatpickr-months .flatpickr-month, .ims-public-calendar .flatpickr-current-month .flatpickr-monthDropdown-months { color: #102b50; background: #fff; }
