/* Scoped timetable and transfer cards in the private staff calculator. */
.dct-delivery{font-size:13px;padding:11px 12px;border:1px solid #cadbce;border-radius:7px;background:#f3f7f4;margin:12px 0}.dct-delivery p{margin:7px 0!important}.dct-delivery-ok{background:#edf8f0;border-color:#93c6a5;color:#1c603b}.dct-delivery-late{background:#fff0ed;border-color:#dba399;color:#9c3025}.dct-controls button:disabled{opacity:.6;cursor:not-allowed;background:#edf0ee;color:#53635a;border-color:#bec9c2}
.dct-panel{margin:20px 0;padding:18px;border:1px solid #c4d6ca;border-radius:12px;background:#f7faf8;color:#193e2e;min-width:0}
.dct-panel h3{margin:0 0 10px;font-size:20px;line-height:1.35}.dct-panel p{line-height:1.5}.dct-locations{font-weight:650;overflow-wrap:anywhere;margin:8px 0}.dct-muted{font-size:12px;color:#536b60;line-height:1.6;margin:8px 0}.dct-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:12px 0}.dct-options:empty{display:none}.dct-card{min-width:0;padding:16px;border:1px solid #cadbce;border-radius:10px;background:#fff;overflow-wrap:anywhere}.dct-card h4{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0 0 10px;font-size:16px;line-height:1.4}.dct-card h4>strong{font-size:22px;white-space:nowrap}.dct-card p{margin:9px 0}.dct-card h5{font-size:14px;margin:0 0 7px}.dct-selected{border:2px solid #087650;background:#f2faf5}.dct-badge{display:inline-block;font-size:12px;color:#076a48;background:#dff2e6;border-radius:5px;padding:4px 8px;margin:0 0 10px}.dct-controls{border-top:1px solid #d6e3da;margin-top:14px;padding-top:13px}.dct-controls label,.dct-manual-minutes{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650}.dct-controls input,.dct-manual-minutes input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;border:1px solid #abc3b4;border-radius:6px;background:#fff;color:#183b2c;padding:9px 10px;font:inherit}.dct-controls button,.dct-retry{min-height:44px;border:1px solid #0b7954;border-radius:7px;background:#fff;color:#076a48;padding:10px 14px;font:inherit;font-size:14px;font-weight:650;cursor:pointer;max-width:100%;white-space:normal}.dct-controls button{width:100%}.dct-controls button[aria-pressed=true]{background:#087650;color:#fff}.dct-panel button:focus-visible,.dct-panel input:focus-visible,.dct-panel a:focus-visible,.dct-panel summary:focus-visible{outline:3px solid #1f75d6;outline-offset:3px}.dct-panel input[aria-invalid=true]{border:2px solid #ad2c25}.dct-warning{font-size:13px;color:#805409;padding:9px 11px;background:#fff4d9;border:1px solid #eac977;border-radius:6px}.dct-summary{font-size:13px;overflow-wrap:anywhere}.dct-metrics{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;padding:10px 0}.dct-metrics strong{font-size:15px}.dct-route-times{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:12px 0;font-size:12px}.dct-route-times strong{display:block;font-size:15px}.dct-steps{list-style:none;margin:14px 0;padding:0}.dct-step{padding:13px 0;border-top:1px solid #dce7df}.dct-step-heading{display:flex;justify-content:space-between;gap:10px;font-size:13px;line-height:1.4}.dct-step-heading>span{white-space:nowrap}.dct-step-stations{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);gap:8px;font-size:12px;margin:10px 0 3px}.dct-step-stations strong,.dct-step-stations span,.dct-step-stations small{display:block;line-height:1.6}.dct-step-stations small{color:#536b60}.dct-arrow{align-self:center;text-align:center}.dct-wait{font-size:12px;color:#775418}.dct-stops{font-size:12px;margin:9px 0}.dct-stops summary,.dct-manual summary{cursor:pointer;font-weight:650;line-height:1.5;min-height:30px}.dct-stops ul,.dct-fares ul{margin:8px 0;padding-left:20px}.dct-stops li,.dct-fares li{margin:5px 0;line-height:1.5}.dct-fares{padding:12px;border-radius:7px;background:#eef4f0;font-size:13px}.dct-lookup,.dct-message{font-size:13px;overflow-wrap:anywhere}.dct-error{color:#a02b25}.dct-links{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:12px;margin-top:14px}.dct-links a{color:#08704c;text-decoration:underline;text-underline-offset:3px}.dct-manual{padding:12px;border:1px dashed #adc6b6;border-radius:8px;margin-top:14px}.dct-manual>.dct-card{max-width:520px}.dct-panel [hidden]{display:none!important}
@media(max-width:1100px){.dct-options{grid-template-columns:1fr}}
@media(max-width:600px){.dct-panel{padding:12px}.dct-card{padding:12px}.dct-panel h3{font-size:18px}.dct-card h4{font-size:15px}.dct-card h4>strong{font-size:21px}.dct-step-stations{grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr);gap:6px}.dct-manual{padding:10px}.dct-route-times{gap:10px 18px}.dct-links{flex-direction:column}}

/* Keep the decision visible; timetable detail stays behind one disclosure. */
.dct-panel{padding:16px;margin:16px 0;background:#f7faf8}.dct-panel h3{font-size:18px;margin:0 0 12px}.dct-options{margin:10px 0;gap:12px}.dct-card{padding:15px}.dct-card-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}.dct-card-heading h4{display:block;margin:0;font-size:15px;font-weight:700;line-height:1.45;overflow-wrap:anywhere}.dct-card-heading h4>strong{display:block;font-size:23px;margin-top:6px}.dct-price{text-align:right;min-width:0;max-width:140px}.dct-price>strong{display:block;font-size:19px;line-height:1.3;overflow-wrap:anywhere}.dct-price>small{display:block;font-size:11px;color:#536b60;margin-top:3px}.dct-main-journey{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:8px;margin:18px 0 10px}.dct-main-journey>div:last-child{text-align:right}.dct-main-journey>div>strong{display:block;font-size:25px;line-height:1.2;font-variant-numeric:tabular-nums}.dct-main-journey>div>span{display:block;font-size:13px;line-height:1.4;margin-top:5px;overflow-wrap:anywhere}.dct-main-journey>div>small{display:block;font-size:11px;color:#536b60;margin-top:4px}.dct-main-arrow{align-self:center;text-align:center;color:#6e8879}.dct-journey-total{font-size:12px;color:#536b60;line-height:1.5;margin:8px 0 12px!important}.dct-journey-total>span{white-space:nowrap}.dct-transfer-duration{font-size:13px;margin:12px 0!important}.dct-transfer-duration>strong{font-size:24px;color:#173e2d}.dct-short-warning{display:inline-block;font-size:12px;color:#86520e;background:#fff1d4;border-radius:5px;padding:4px 7px;margin-left:6px}.dct-deadline-blocked{margin:10px 0!important;color:#9c3025;background:#fff0ed}.dct-card>details[data-dct-details]{margin-top:12px;border-top:1px solid #dce7df;padding-top:10px;font-size:13px}.dct-card>details[data-dct-details]>summary{font-size:12px;font-weight:650;color:#3e6952;cursor:pointer;line-height:1.6;min-height:25px}.dct-card>details[data-dct-details][open]>summary{margin-bottom:10px}.dct-use{display:block;width:100%;box-sizing:border-box;min-height:42px;margin-top:10px;padding:9px 12px;border:1px solid #0b7954;border-radius:7px;background:#fff;color:#076a48;font:inherit;font-size:14px;font-weight:650;cursor:pointer;white-space:normal}.dct-use[aria-pressed=true]{background:#087650;color:#fff}.dct-use:disabled{opacity:.65;cursor:not-allowed;background:#edf0ee;color:#53635a;border-color:#bec9c2}.dct-badge{font-size:11px;padding:3px 7px;margin-bottom:9px}.dct-controls{margin-top:12px;padding-top:12px}.dct-controls label{font-size:12px}.dct-controls .dct-muted{font-size:11px}.dct-lookup:empty,.dct-message:empty{display:none}.dct-station-transfers{margin-top:12px;padding:13px 15px;background:#fff;border:1px solid #cadbce;border-radius:9px}.dct-station-transfers h4{margin:0 0 10px;font-size:14px}.dct-transfer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 0;border-top:1px solid #e0e9e3}.dct-transfer-row span{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere}.dct-transfer-row small{display:block;font-size:11px;color:#536b60;margin-top:3px;line-height:1.5}.dct-transfer-row>strong{font-size:18px;white-space:nowrap}.dct-manual{padding:10px 12px;font-size:12px}.dct-manual>summary{font-size:12px;min-height:22px}.dct-manual>.dct-card{margin-top:8px}
@media(max-width:600px){.dct-panel{padding:11px}.dct-card{padding:12px}.dct-card-heading{gap:8px}.dct-price{max-width:115px}.dct-price>strong{font-size:17px}.dct-main-journey{gap:6px}.dct-main-journey>div>strong{font-size:23px}.dct-main-journey>div>span{font-size:12px}.dct-station-transfers{padding:11px}.dct-transfer-row>strong{font-size:16px}.dct-panel h3{font-size:17px}.dct-options{gap:10px}}

/* Compact stacked station rows, matching the flight choices. */
.dct-rail-card .dct-main-journey>div:last-child{text-align:left}
.dct-panel:is([data-dct-kind=rail],[data-dct-kind=railReturn]){padding:0;border:0;background:transparent;color:#151e43}.dct-panel:is([data-dct-kind=rail],[data-dct-kind=railReturn])>.dct-options{grid-template-columns:1fr}.dct-rail-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 104px;column-gap:18px;padding:15px 16px;border-color:#dce1ef;border-radius:12px;color:#151e43}.dct-rail-card>.dct-card-heading{display:contents}.dct-rail-card [data-dct-main-service]{grid-column:1;grid-row:1;font-size:12px;font-weight:650;color:#5a6481}.dct-rail-card .dct-price{grid-column:2;grid-row:2;align-self:center;max-width:none}.dct-rail-card .dct-price>strong{font-size:23px;color:#151e43}.dct-rail-card .dct-price>small{color:#66708c}.dct-rail-card>.dct-main-journey{grid-column:1;grid-row:2;margin:11px 0 7px}.dct-rail-card .dct-main-journey>div>strong{font-size:26px;color:#151e43}.dct-rail-card .dct-main-journey>div>span{font-size:13px}.dct-rail-card .dct-main-journey>div>small{color:#69738b}.dct-rail-card>.dct-journey-total{grid-column:1;grid-row:3;align-self:center;margin:5px 0!important;font-size:12px;color:#515c79}.dct-rail-card>.dct-journey-total>small{display:block;font-size:11px;margin-top:3px;color:#737d95}.dct-rail-card>.dct-use{grid-column:2;grid-row:3;align-self:center;margin:4px 0;min-height:36px;padding:8px;font-size:12px;border-color:#3868ff;color:#2d55cf}.dct-rail-card>.dct-badge{position:absolute;right:15px;top:11px;font-size:10px;color:#315bd3;background:#e6ecff;margin:0}.dct-rail-card>details[data-dct-details]{grid-column:1/-1;margin-top:11px;padding-top:8px;border-color:#e1e5ef}.dct-rail-card>details[data-dct-details]>summary{min-height:20px;font-size:11px;color:#67718c}.dct-rail-card>.dct-deadline-blocked{grid-column:1/-1;margin:8px 0 0!important;font-size:11px}.dct-rail-card.dct-selected{border:2px solid #3868ff;background:#f2f5ff}.dct-rail-card>.dct-use[aria-pressed=true]{background:#3868ff;color:#fff}.dct-rail-card>.dct-use:disabled{color:#68718a;background:#edf0f8;border-color:#c4cadc}.dct-panel:is([data-dct-kind=rail],[data-dct-kind=railReturn])>.dct-station-transfers{color:#151e43;border-color:#dce1ef}.dct-panel:is([data-dct-kind=rail],[data-dct-kind=railReturn])>.dct-station-transfers h4{font-size:13px}.dct-panel:is([data-dct-kind=rail],[data-dct-kind=railReturn]) .dct-transfer-row small{color:#6b7690}.dct-panel:is([data-dct-kind=rail],[data-dct-kind=railReturn]) .dct-transfer-row>strong{color:#151e43}
@media(max-width:600px){.dct-rail-card{grid-template-columns:minmax(0,1fr) 86px;gap:0 12px;padding:12px}.dct-rail-card .dct-price>strong{font-size:19px}.dct-rail-card .dct-main-journey>div>strong{font-size:22px}.dct-rail-card .dct-main-journey>div>span{font-size:12px}.dct-rail-card .dct-main-journey{gap:5px;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr)}.dct-rail-card>.dct-use{font-size:11px;padding:7px 5px}.dct-rail-card>.dct-badge{right:11px;top:9px}.dct-rail-card>.dct-journey-total{font-size:11px}.dct-rail-card>.dct-journey-total>small{font-size:10px}}
@media(max-width:600px){.dct-rail-card>.dct-use{min-height:44px}}

/* Train options stay inside the outbound or return direction column. */
.dcs-results .dct-panel:is([data-dct-kind=rail],[data-dct-kind=railReturn]){margin:0;min-width:0}
.dcs-results .dct-panel:is([data-dct-kind=rail],[data-dct-kind=railReturn])>h3{font-size:15px;margin:0 0 8px}
.dct-panel:is([data-dct-kind=rail],[data-dct-kind=railReturn]) .dct-options{grid-template-columns:minmax(0,1fr);min-width:0;width:100%}
.dct-panel:is([data-dct-kind=rail],[data-dct-kind=railReturn]) .dct-alternatives{min-width:0;width:100%}
.dct-main-journey>div>strong{white-space:nowrap;overflow-wrap:normal}
.dcs-selected-flight>.dct-rail-card{width:100%;min-width:0;align-content:start}

/* Rail cards use the same compact row grid when mixed with flight options. */
.dcs-simple .dct-rail-card.dcs-option-row{align-content:center}
.dcs-simple .dct-rail-card.dcs-option-row>.dcs-option-select{font-size:11px;min-height:44px}
.dcs-simple .dct-rail-card.dcs-option-row>.dct-badge{display:none!important}

/* Fare checks open only on demand so travel rows remain compact. */
.dcs-simple .dcs-option-row .dct-check-fare{font:inherit;font-size:16px;font-weight:750;color:#234dce;background:transparent;border:0;padding:0;min-height:36px;margin:0;text-align:right;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.dcs-simple .dcs-option-row>.dcs-fare-actions{display:grid;justify-items:end;gap:0}
.dcs-fare-actions>a{display:inline-flex;align-items:center;min-height:24px;color:#234dce;font-size:12px;font-weight:700;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.dcs-fare-actions>a:focus-visible{outline:3px solid #296aff;outline-offset:2px}
.dcs-simple .dcs-option-row>.dcs-fare-missing>[data-dct-main-fare]{font-size:11px;min-height:24px;align-content:center;font-weight:500}
.dct-fare-dialog{box-sizing:border-box;width:440px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow:auto;border:1px solid #d4dced;border-radius:12px;padding:24px;color:#151e43;background:#fff;font:14px/1.5 system-ui,sans-serif;box-shadow:0 18px 60px #14234230}.dct-fare-dialog::backdrop{background:#17213b66}.dct-fare-dialog h3{margin:0 0 12px;font-size:20px}.dct-fare-dialog p{margin:10px 0}.dct-fare-dialog label{display:block;font-weight:600}.dct-fare-dialog input[type=number]{box-sizing:border-box;display:block;width:100%;margin-top:6px;min-height:44px;border:1px solid #aeb9d4;border-radius:6px;padding:8px;font:inherit}.dct-fare-search{display:inline-block;color:#234dce;font-weight:700;padding:8px 0}.dct-fare-hint{font-size:12px;color:#606b82}.dct-fare-dialog .dct-fare-coverage{font-size:12px;font-weight:400;margin-top:12px}.dct-fare-coverage input{margin-right:6px}.dct-fare-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.dct-fare-actions button{font:inherit;min-height:44px;padding:9px 16px;border:1px solid #3868ff;border-radius:6px;background:#fff;color:#234dce;cursor:pointer}.dct-fare-actions button[type=submit]{background:#3868ff;color:#fff}.dct-fare-dialog :focus-visible,.dct-check-fare:focus-visible{outline:3px solid #296aff;outline-offset:3px}.dct-fare-dialog [data-dct-fare-error]{color:#a02b25;font-size:12px}
