/* Final layout corrections loaded after the main stylesheet. */
.public-notice__inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 18px;
    padding-top: 18px;
    padding-bottom: 18px;
}
.public-notice__content p:last-child { max-width: 920px; }
.public-notice__close { align-self: center; flex: 0 0 auto; }

.schedule-panel {
    grid-template-columns: minmax(330px, 400px) minmax(0, 1fr);
    gap: clamp(24px, 3vw, 42px);
    align-items: start;
    padding: clamp(24px, 3vw, 38px);
}
.schedule-controls {
    padding: 22px;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-lg);
    background: var(--color-white);
    box-shadow: var(--shadow-sm);
}
.schedule-search { padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--color-gray-200); }
.schedule-search .form-hint { min-height: 20px; margin-bottom: 0; }
.schedule-downloads { display: grid; gap: 9px; }
.schedule-downloads .btn { width: 100%; }
.my-schedule {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px 14px;
    padding: 18px;
    margin: 18px 0;
}
.my-schedule__icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    color: #fff;
    background: #15803d;
    font-weight: 900;
}
.my-schedule .btn { grid-column: 1 / -1; width: 100%; }
.schedule-table-wrap { min-width: 0; border-radius: var(--radius-lg); }

.pszok__grid {
    grid-template-columns: minmax(300px, .82fr) minmax(520px, 1.18fr);
    gap: clamp(42px, 6vw, 86px);
    align-items: stretch;
}
.pszok__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    max-width: 560px;
    padding-block: 28px;
}
.pszok__content .section-title { margin-bottom: 18px; }
.pszok__content > p:not(.section-eyebrow) { color: var(--color-text-muted); font-size: 1.06rem; line-height: 1.75; }
.pszok__actions { display: grid; gap: 10px; width: min(100%, 360px); margin-top: 24px; }
.pszok__actions .btn { width: 100%; }
.pszok-card { display: flex; flex-direction: column; padding: clamp(26px, 4vw, 40px); }
.pszok-card__accepted { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(240px, 1.2fr); gap: 28px; align-items: start; }
.pszok-card__accepted > div > p:last-child { margin: 8px 0 0; color: rgba(255,255,255,.78); line-height: 1.55; }
.pszok-card__eyebrow { margin: 0 0 6px; color: #86efac; font-size: .75rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.pszok-card__accepted ul { columns: 2; column-gap: 28px; }
.pszok-card__accepted li { break-inside: avoid; margin-bottom: 4px; }
.pszok-map { margin-top: 28px; padding-top: 28px; }
.pszok-map iframe { height: 320px; }
.pszok-card .btn-outline { color: #fff; border-color: #cbd5e1; background: transparent; }
.pszok-card .btn-outline:hover,
.pszok-card .btn-outline:focus-visible { color: #0f172a; background: #fff; }

@media (max-width: 1050px) {
    .schedule-panel { grid-template-columns: minmax(300px, 350px) minmax(0, 1fr); }
    .pszok__grid { grid-template-columns: 1fr; }
    .pszok__content { max-width: 760px; padding-block: 0; }
}
@media (max-width: 820px) {
    .public-notice__inner { grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: 12px; }
    .public-notice .btn { grid-column: 1 / -1; width: 100%; }
    .public-notice__close { grid-column: 3; grid-row: 1; }
    .schedule-panel { grid-template-columns: 1fr; }
    .schedule-controls { padding: 18px; }
}
@media (max-width: 620px) {
    .public-notice__inner { grid-template-columns: minmax(0, 1fr) auto; }
    .public-notice__icon { display: none; }
    .public-notice__content { grid-column: 1; }
    .public-notice__close { grid-column: 2; }
    .pszok-card__accepted { grid-template-columns: 1fr; }
    .pszok-card__accepted ul { columns: 1; }
    .pszok__actions, .pszok__actions .btn, .pszok-map__actions, .pszok-map__actions .btn { width: 100%; }
    .pszok-map iframe { height: 250px; }
}
