/* Operations-ledger schedule page, loaded after the shared public theme. */
.schedule-ledger-intro { border-bottom: 1px solid var(--mercury-line); background: #fff; }
.schedule-ledger-intro-grid { display: grid; grid-template-columns: 252px minmax(0,1.5fr) minmax(310px,1fr); gap: 0 36px; padding-top: 40px; }
.schedule-ledger-index { display: flex; align-items: flex-start; justify-content: space-between; align-self: start; padding-top: 7px; border-top: 1px solid var(--mercury-onyx); color: #686978; font-size: 10px; letter-spacing: .06em; }
.schedule-ledger-index strong { color: var(--mercury-onyx); font-size: 10px; }
.schedule-ledger-title { padding-bottom: 30px; }
.schedule-ledger-title h1 { max-width: 620px; margin: 13px 0 14px; color: var(--mercury-onyx); font: 600 clamp(42px,5vw,66px)/.95 "Space Grotesk",sans-serif; letter-spacing: -.065em; }
.schedule-ledger-title p { max-width: 610px; margin: 0; color: #686978; font-size: 14px; line-height: 1.65; }
.schedule-ledger-search { align-self: end; margin-bottom: 33px; }
.schedule-ledger-search > span,.schedule-ledger-search > b { display: inline-block; margin-bottom: 15px; color: #5d5f70; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.schedule-ledger-search > b { float: right; }
.schedule-ledger-search input { width: 100%; padding: 11px 3px 13px 28px; border: 0; border-bottom: 2px solid var(--mercury-onyx); outline: 0; color: var(--mercury-onyx); background: linear-gradient(var(--mercury-onyx),var(--mercury-onyx)) 4px 16px/10px 1px no-repeat; font: 500 14px Inter,sans-serif; }
.schedule-ledger-search input:focus { border-color: var(--mercury-cobalt); }
.schedule-ledger-search input::placeholder { color: #9a9ba8; }
.schedule-ledger-stats { grid-column: 2 / 4; display: grid; grid-template-columns: repeat(3,1fr) 1.15fr; border-top: 1px solid var(--mercury-line); }
.schedule-ledger-stats > span { display: flex; align-items: baseline; gap: 7px; min-height: 78px; padding: 21px 22px; border-right: 1px solid var(--mercury-line); }
.schedule-ledger-stats > span:first-child { padding-left: 0; }
.schedule-ledger-stats strong { color: var(--mercury-onyx); font: 600 24px "Space Grotesk",sans-serif; }
.schedule-ledger-stats small { color: #686978; font-size: 10px; }
.schedule-ledger-stats .schedule-ledger-live { align-items: center; border-right: 0; color: var(--mercury-success); font-size: 11px; font-weight: 700; }
.schedule-ledger-live i { width: 7px; height: 7px; border-radius: 50%; background: var(--mercury-success); box-shadow: 0 0 0 4px rgba(22,133,111,.1); }

.schedule-ledger { position: relative; padding: 28px 0 82px; background: var(--mercury-ice); }
.schedule-ledger-grid { display: grid; grid-template-columns: 252px minmax(0,1fr); gap: 36px; align-items: start; }
.schedule-ledger-filters { position: sticky; top: 20px; border-right: 1px solid var(--mercury-line); padding-right: 25px; }
.schedule-filter-heading { display: flex; justify-content: space-between; align-items: center; padding: 7px 0 19px; border-bottom: 1px solid var(--mercury-line); }
.schedule-filter-heading strong { font-size: 14px; }
.schedule-filter-heading button { padding: 0; border: 0; border-bottom: 1px solid #9a9ba8; color: #686978; background: transparent; font-size: 10px; cursor: pointer; }
.schedule-ledger-filters fieldset { margin: 0; padding: 20px 0; border: 0; border-bottom: 1px solid var(--mercury-line); }
.schedule-ledger-filters legend { margin-bottom: 8px; padding: 0; color: #686978; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.schedule-ledger-filters fieldset button { display: flex; justify-content: space-between; gap: 12px; width: 100%; padding: 9px 9px; border: 0; border-left: 2px solid transparent; color: #686978; background: transparent; font-size: 11px; text-align: left; cursor: pointer; }
.schedule-ledger-filters fieldset button:hover { color: var(--mercury-onyx); background: #fff; }
.schedule-ledger-filters fieldset button.active { border-left-color: var(--mercury-cobalt); color: #4053d6; background: #e9ecff; }
.schedule-ledger-filters fieldset button small { color: #898b99; }
.schedule-ledger-filters fieldset button.active small { color: #5266eb; }
.schedule-operator-filter { max-height: 330px; overflow-y: auto; scrollbar-width: thin; }
.schedule-filter-note { margin: 18px 0 0; color: #77798a; font-size: 10px; line-height: 1.6; }

.schedule-results-toolbar { display: flex; align-items: center; min-height: 45px; border-bottom: 1px solid var(--mercury-onyx); }
.schedule-results-toolbar p { margin: 0; font-size: 14px; }
.schedule-results-toolbar p strong { margin-right: 5px; color: var(--mercury-cobalt); font: 600 18px "Space Grotesk",sans-serif; }
.schedule-results-toolbar > span { margin-left: auto; color: #77798a; font-size: 9px; }
.schedule-results-toolbar > span b { margin-left: 5px; border-bottom: 1px solid var(--mercury-onyx); color: var(--mercury-onyx); }
.schedule-mobile-filter { display: none; }
.schedule-date-group[hidden] { display: none; }
.schedule-date-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 25px 0 12px; border-bottom: 1px solid var(--mercury-line); }
.schedule-date-heading h2 { display: inline; margin: 0; color: var(--mercury-onyx); font: 600 22px "Space Grotesk",sans-serif; letter-spacing: -.035em; }
.schedule-date-heading div > span { margin-left: 10px; color: #77798a; font-size: 10px; }
.schedule-date-heading p { max-width: 42%; margin: 0; overflow: hidden; color: var(--mercury-onyx); font-size: 9px; font-weight: 600; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.schedule-ledger .schedule-row { display: grid; grid-template-columns: 92px minmax(210px,1.45fr) minmax(150px,.9fr) 70px 120px 80px; gap: 12px; align-items: center; min-height: 76px; padding: 0; border-bottom: 1px solid var(--mercury-line); background: transparent; font-size: 11px; }
.schedule-ledger .schedule-head { min-height: 35px; color: #77798a; background: transparent; font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.schedule-live-row { transition: background .15s ease; }
.schedule-live-row:hover { background: rgba(255,255,255,.72); }
.schedule-live-row.schedule-row-hidden { display: none; }
.schedule-time,.schedule-journey,.schedule-operator,.schedule-seats,.schedule-fare { display: flex; flex-flow: column nowrap; align-items: stretch; gap: 3px; min-width: 0; }
.schedule-ledger .schedule-time strong { color: var(--mercury-onyx); font: 600 19px "Space Grotesk",sans-serif; }
.schedule-ledger .schedule-time small,.schedule-journey small,.schedule-operator small,.schedule-seats small,.schedule-fare small { overflow: hidden; color: #77798a; font-size: 8px; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.schedule-journey b,.schedule-operator b { overflow: hidden; color: var(--mercury-onyx); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.schedule-journey i { color: #686978; font-style: normal; line-height: .7; }
.schedule-seats b { color: var(--mercury-onyx); font-size: 11px; }
.schedule-seats-low b { color: var(--mercury-danger); }
.schedule-ledger .schedule-fare { align-items: flex-end; }
.schedule-ledger .schedule-fare strong { color: var(--mercury-onyx); font: 700 12px Inter,sans-serif; }
.schedule-ledger a.schedule-book { display: inline-flex; justify-content: center; gap: 5px; padding: 10px 9px; color: #fff; background: var(--mercury-onyx); font-size: 10px; font-weight: 700; text-decoration: none; }
.schedule-ledger a.schedule-book:hover { background: var(--mercury-cobalt); }
.schedule-load-more { display: block; min-width: 220px; margin: 22px auto 0; padding: 12px 20px; border: 1px solid var(--mercury-line); color: var(--mercury-onyx); background: #fff; font-size: 10px; font-weight: 700; cursor: pointer; }
.schedule-load-more[hidden] { display: none; }
.schedule-load-more:hover { border-color: var(--mercury-cobalt); color: #4053d6; }
.schedule-filter-empty,.schedule-empty { margin: 22px 0 0; color: #686978; font-size: 11px; text-align: center; }
.schedule-filter-empty[hidden] { display: none; }
.schedule-note { display: flex; gap: 12px; margin-top: 34px; padding: 15px 0; border-top: 1px solid var(--mercury-line); border-bottom: 1px solid var(--mercury-line); color: #686978; background: transparent; font-size: 9px; }
.schedule-note > b { color: var(--mercury-cobalt); }
.schedule-note strong { color: var(--mercury-onyx); }
.schedule-filter-backdrop { display: none; }

@media (max-width: 980px) {
    .schedule-ledger-intro-grid { grid-template-columns: 190px minmax(0,1.5fr) minmax(260px,1fr); gap: 0 24px; }
    .schedule-ledger-grid { grid-template-columns: 190px minmax(0,1fr); gap: 24px; }
    .schedule-ledger .schedule-row { grid-template-columns: 72px minmax(150px,1.3fr) minmax(110px,.8fr) 52px 100px 65px; gap: 8px; }
}

@media (min-width: 761px) and (max-width: 850px) {
    .schedule-ledger .schedule-row { grid-template-columns: 72px minmax(130px,1.35fr) minmax(105px,.9fr) 48px 76px; gap: 8px; }
    .schedule-ledger .schedule-head > span:nth-child(4) { display: block; }
    .schedule-ledger .schedule-head > span:nth-child(5) { display: none; }
    .schedule-ledger .schedule-head > span:last-child { grid-column: 5; }
    .schedule-ledger a.schedule-book { grid-column: 5; }
}

@media (max-width: 760px) {
    .schedule-ledger-intro-grid { display: block; padding-top: 22px; }
    .schedule-ledger-index { margin-bottom: 26px; }
    .schedule-ledger-title { padding-bottom: 20px; }
    .schedule-ledger-title h1 { font-size: 38px; }
    .schedule-ledger-title p { font-size: 12px; }
    .schedule-ledger-search { display: block; margin: 0 0 15px; }
    .schedule-ledger-stats { grid-template-columns: repeat(3,1fr); }
    .schedule-ledger-stats > span { display: grid; gap: 2px; min-height: 66px; padding: 15px 10px; }
    .schedule-ledger-stats > span:first-child { padding-left: 0; }
    .schedule-ledger-stats strong { font-size: 20px; }
    .schedule-ledger-stats .schedule-ledger-live { grid-column: 1 / 4; display: flex; min-height: 35px; padding: 7px 0 13px; border-top: 1px solid var(--mercury-line); }
    .schedule-ledger-grid { display: block; }
    .schedule-ledger-filters { position: fixed; top: 0; bottom: 0; left: 0; z-index: 101; width: min(315px,88vw); padding: 22px; overflow-y: auto; border: 0; background: #fff; transform: translateX(-105%); transition: transform .2s ease; }
    .schedule-filters-open { overflow: hidden; }
    .schedule-filters-open .schedule-ledger-filters { transform: translateX(0); }
    .schedule-filter-backdrop { position: fixed; inset: 0; z-index: 100; width: 100%; border: 0; background: rgba(23,23,33,.52); }
    .schedule-filters-open .schedule-filter-backdrop { display: block; }
    .schedule-results-toolbar > span { display: none; }
    .schedule-mobile-filter { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; padding: 7px 9px; border: 1px solid var(--mercury-line); background: #fff; font-size: 9px; font-weight: 700; }
    .schedule-mobile-filter span { display: grid; place-items: center; width: 14px; height: 14px; border-radius: 50%; color: #fff; background: var(--mercury-cobalt); font-size: 8px; }
    .schedule-date-heading { align-items: start; }
    .schedule-date-heading h2 { display: block; font-size: 18px; }
    .schedule-date-heading div > span { display: block; margin: 3px 0 0; font-size: 8px; }
    .schedule-date-heading p { display: none; }
    .schedule-ledger .schedule-head { display: none; }
    .schedule-ledger .schedule-row.schedule-live-row { grid-template-columns: 58px minmax(0,1fr) 82px; gap: 8px 10px; align-items: start; min-height: 0; margin-bottom: 9px; padding: 14px 12px; border: 1px solid var(--mercury-line); border-radius: 8px; background: #fff; }
    .schedule-time { grid-row: 1 / 4; padding-right: 8px; border-right: 1px solid var(--mercury-line); }
    .schedule-ledger .schedule-time strong { font-size: 16px; }
    .schedule-journey { grid-column: 2; grid-row: 1; }
    .schedule-operator { grid-column: 2; grid-row: 2; }
    .schedule-seats { grid-column: 3; grid-row: 2; align-items: flex-end; }
    .schedule-ledger .schedule-fare { grid-column: 3; grid-row: 1; display: flex; }
    .schedule-ledger a.schedule-book { grid-column: 2 / 4; grid-row: 3; border-radius: 4px; }
    .schedule-journey b,.schedule-operator b { font-size: 10px; }
    .schedule-journey small,.schedule-operator small { font-size: 8px; }
    .schedule-load-more { min-width: 0; }
}
