.atc-explorer {
    border: 1px solid #d5d9df;
    border-radius: 8px;
    padding: 18px;
    color: #08254d;
    background: #fff;
    font-family: inherit;
}
.atc-explorer * { box-sizing: border-box; }
.atc-explorer [hidden] { display: none !important; }
.atc-explorer__controls {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 12px;
    margin-bottom: 12px;
}
.atc-explorer__controls label {
    flex: 1 1 170px;
    font-size: 13px;
    font-weight: 700;
    color: #465670;
}
.atc-explorer__controls input,
.atc-explorer__controls select {
    display: block;
    width: 100%;
    min-height: 38px;
    padding: 6px 9px;
    border: 1px solid #aab3c2;
    border-radius: 4px;
    color: #08254d;
    background: #fff;
    font-size: 14px;
}
.atc-explorer__views { display: flex; gap: 3px; }
.atc-explorer__views button,
.atc-explorer__month-nav button,
.atc-explorer__more {
    min-height: 38px;
    padding: 7px 12px;
    border: 1px solid #aab3c2;
    border-radius: 4px;
    color: #1d4586;
    background: #fff;
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
}
.atc-explorer__views button[aria-pressed="true"] {
    background: #1d4586;
    border-color: #1d4586;
    color: #fff;
}
.atc-explorer__count { margin: 4px 0 12px; color: #465670; font-size: 13px; }
.atc-explorer__list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.atc-explorer__list li {
    display: grid;
    grid-template-columns: minmax(130px, .8fr) minmax(200px, 1.5fr) minmax(170px, 1.2fr) minmax(70px, .5fr);
    gap: 12px;
    align-items: center;
    padding: 12px 5px;
    border-top: 1px solid #e0e3e8;
    font-size: 14px;
}
.atc-explorer__list time { font-weight: 700; }
.atc-explorer__list a { color: #1d4586; font-weight: 700; text-decoration: none; }
.atc-explorer__list a:hover { text-decoration: underline; }
.atc-explorer__list span { color: #465670; }
.atc-explorer__list strong { justify-self: end; font-size: 13px; }
.atc-explorer__status--available { color: #137333; }
.atc-explorer__status--full { color: #b42318; }
.atc-explorer__more { margin-top: 12px; }
.atc-explorer__empty { color: #465670; }
.atc-explorer__month-nav { display: flex; align-items: center; justify-content: center; gap: 18px; margin: 8px 0 16px; }
.atc-explorer__month-nav strong { min-width: 145px; text-align: center; font-size: 18px; }
.atc-explorer__month-nav button { width: 38px; padding: 5px; font-size: 24px; line-height: 1; }
.atc-explorer__calendar-scroll { overflow-x: auto; }
.atc-explorer__calendar { display: grid; grid-template-columns: repeat(7, minmax(100px, 1fr)); min-width: 700px; border-top: 1px solid #d5d9df; border-left: 1px solid #d5d9df; }
.atc-explorer__weekday { padding: 8px 3px; border-right: 1px solid #d5d9df; border-bottom: 1px solid #d5d9df; text-align: center; font-weight: 700; background: #f7f8fa; }
.atc-explorer__day { min-height: 86px; padding: 5px; border-right: 1px solid #d5d9df; border-bottom: 1px solid #d5d9df; }
.atc-explorer__day--outside { background: #f7f8fa; }
.atc-explorer__day-number { display: block; font-size: 12px; font-weight: 700; margin-bottom: 4px; }
.atc-explorer__event { display: block; padding: 4px; margin-bottom: 3px; border-radius: 3px; background: #eaf0fa; color: #1d4586; text-decoration: none !important; font-size: 11px; line-height: 1.3; overflow-wrap: anywhere; }
.atc-explorer__event--available { background: #e7f4eb; color: #137333; }
.atc-explorer__event--full { background: #fcebec; color: #b42318; }
@media (max-width: 760px) {
    .atc-explorer { padding: 12px; }
    .atc-explorer__list li { grid-template-columns: 1fr auto; gap: 4px 8px; }
    .atc-explorer__list time { grid-column: 1; }
    .atc-explorer__list a,
    .atc-explorer__list span { grid-column: 1 / -1; }
    .atc-explorer__list strong { grid-column: 2; grid-row: 1; }
}
