.tov-dialog{width:min(1220px,96vw);max-height:94dvh;margin:auto;padding:24px;border:1px solid #dbe4ee;border-radius:18px;background:#f7f9fc;color:#192d43;overflow:auto;box-shadow:0 20px 65px #172f4d30}.tov-dialog::backdrop{background:#172f4d66}.tov-dialog h2{font-size:26px;margin:4px 0;font-weight:800}.tov-dialog h3{font-size:17px;font-weight:750;margin:0 0 16px}.tov-header,.tov-pager{display:flex;justify-content:space-between;align-items:center;gap:16px}.tov-header{margin-bottom:22px}.tov-header small{color:#486887;letter-spacing:.07em}.tov-dialog small,.tov-table small{display:block;color:#5c7085;font-size:12px;line-height:1.5}.tov-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tov-summary article,.tov-card,.tov-route{background:white;border:1px solid #dde6f0;border-radius:12px;padding:18px}.tov-summary strong,.tov-summary span{display:block;margin-top:5px}.tov-summary strong{font-size:18px}.tov-route{display:grid;grid-template-columns:1fr 35px 1fr;gap:14px;align-items:center;margin-top:16px}.tov-route strong{display:block;margin:5px 0}.tov-route>span{font-size:28px;color:#347be1}.tov-stages{display:flex;list-style:none;padding:24px 0;gap:12px;overflow:auto}.tov-stages li{position:relative;min-width:135px;flex:1;padding:12px;border-top:3px solid #d2dfed;background:#edf2f8;border-radius:8px}.tov-stages li.done{border-color:#219377;background:#eaf6f1}.tov-stages strong{display:block;font-size:13px;margin:6px 0}.tov-dot{color:#627b97}.done .tov-dot{color:#177b62}.tov-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.tov-compare{width:100%;border-collapse:collapse;font-size:13px}.tov-compare th,.tov-compare td{padding:12px 8px;text-align:left;border-bottom:1px solid #e2e9f1}.tov-compare th{background:#f0f5fb;color:#4a647f}.tov-note{font-size:12px;color:#62758a;margin:14px 0}.tov-timeline{padding:0 0 0 15px;list-style:none;border-left:2px solid #d7e4f5;max-height:560px;overflow:auto}.tov-timeline li{position:relative;padding:0 0 22px 10px}.tov-timeline time{display:block;font-size:12px;color:#536e8a}.tov-timeline strong{display:block;margin:4px 0}.tov-timeline p{font-size:13px;margin:6px 0}.tov-wrap{white-space:pre-wrap;overflow-wrap:anywhere}.tov-files{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tov-files article{padding:16px;border:1px solid #dce6f0;border-radius:10px;overflow-wrap:anywhere}.tov-files strong{display:block;margin:8px 0}.tov-files article>div{margin-top:12px}.tov-file-icon{display:inline-block;padding:8px;background:#eaf1fc;color:#315ca0;border-radius:7px;font-size:13px}.tov-preview{margin-top:20px;border-top:1px solid #d5e2ef;padding-top:16px}.tov-preview header{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.tov-preview iframe{width:100%;height:65vh;border:0;margin-top:12px}.tov-preview img{display:block;max-width:100%;max-height:70vh;object-fit:contain;margin:12px auto}.tov-link{color:#185db2;text-decoration:underline;font-weight:650}.tov-table-scroll{overflow:auto}.tov-table{width:100%;min-width:1160px;border-collapse:collapse;background:#fff;font-size:12px}.tov-table th{background:#eaf2fb;color:#486786;font-size:11px;text-transform:uppercase;letter-spacing:.03em;text-align:left;white-space:nowrap;padding:12px 8px}.tov-table td{vertical-align:top;border-bottom:1px solid #e1eaf3;padding:12px 8px;max-width:190px;overflow-wrap:anywhere}.tov-table td:nth-child(3),.tov-table td:nth-child(5){min-width:135px}.tov-table td:nth-child(7){min-width:120px}.tov-table tr:nth-child(even){background:#f7faff}.tov-table strong{display:block}.tov-status{color:#244d80;font-weight:650;display:block}.tov-pager{padding-top:14px;font-size:13px}.tov-empty{padding:25px;text-align:center;color:#526a83}@media(max-width:700px){.tov-dialog{padding:16px;width:100vw;max-height:100dvh;height:100dvh;border-radius:0}.tov-summary{grid-template-columns:1fr 1fr}.tov-summary article{padding:12px}.tov-summary strong{font-size:16px}.tov-detail-grid{grid-template-columns:1fr}.tov-files{grid-template-columns:1fr}.tov-header{align-items:flex-start}.tov-header button{max-width:120px}.tov-card{padding:12px}.tov-compare th,.tov-compare td{padding:9px 4px;font-size:12px}.tov-pager{flex-wrap:wrap}}

/* Menu lives outside the scroll/table layout, in the browser top layer where supported. */
.tov-table .tov-action-cell{width:48px;min-width:48px;text-align:right}
.tov-actions-trigger{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:32px;padding:0;border:1px solid #cad9e9;border-radius:7px;background:#fff;color:#315477;font-size:23px;line-height:1;cursor:pointer}
.tov-actions-trigger:hover,.tov-actions-trigger[aria-expanded=true]{background:#eaf2ff;border-color:#7caceb}
.tov-actions-trigger:focus-visible,.tov-action-panel button:focus-visible{outline:2px solid #246bd4;outline-offset:2px}
.tov-action-panel{position:fixed;inset:auto;margin:0;box-sizing:border-box;width:210px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;padding:6px;border:1px solid #cbd9e8;border-radius:10px;background:#fff;color:#233b54;box-shadow:0 8px 25px #17375630;z-index:10000}
.tov-action-panel button{display:block;width:100%;min-height:38px;padding:9px 12px;text-align:left;border:0;border-radius:6px;background:transparent;color:#233b54;font-size:13px;line-height:1.4;cursor:pointer}
.tov-action-panel button:hover,.tov-action-panel button:focus-visible{background:#edf4ff}
.transport-agenda-search{display:flex;align-items:center;gap:8px;min-width:0}
.transport-agenda-shell #transportAgendaSearch{min-width:0;height:36px;min-height:36px;padding:7px 10px;font-size:12px;line-height:20px}
.transport-agenda-shell #transportAgendaSearchClear{flex:none;align-self:center;width:auto;height:36px;min-height:36px;padding:7px 12px;font-size:12px;line-height:20px}

/* A draft is distinguished by text as well as color. */
body #transport_services .transport-week-agenda-card.transport-week-agenda-card--quick{background:#f3edff!important;border:1px solid #bba4e5!important;border-left:4px solid #8052b8!important;color:#3e2660!important}
body #transport_services .transport-week-agenda-card--quick .transport-week-agenda-card-main,body #transport_services .transport-week-agenda-card--quick em{color:#3e2660!important}
.transport-quick-notice{display:block;background:#f3edff;color:#4c2f73;border:1px solid #d8c7ef;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.45}
.transport-quick-schedule-form{max-width:1100px;margin-inline:auto}

body #transport_services .transport-week-agenda-card--quick em{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
body #transport_services tr[data-completion-pending="1"] td{background:#f7f3ff}

/* Compact weekly matrix: places, not payer names. The detailed agenda stays available. */
body #transport_services .transport-matrix-legend{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;margin:0 0 8px;color:#415b72;font-size:11px}
body #transport_services .transport-matrix-legend small{margin-left:auto;font-size:11px}
body #transport_services .transport-matrix-pending-key{border-radius:4px;padding:2px 5px;background:#f3edff;color:#684094}
body #transport_services .transport-matrix-scroll{max-width:100%;max-height:calc(100dvh - 235px);min-height:120px;overflow:auto;border:1px solid #c9d8e5;border-radius:8px;background:#fff;scrollbar-gutter:stable;overscroll-behavior:contain}
body #transport_services .transport-summary-matrix{table-layout:fixed;width:100%;min-width:990px;border-collapse:separate;border-spacing:0;font-size:11px;color:#203c55}
body #transport_services .transport-summary-matrix th,body #transport_services .transport-summary-matrix td{padding:4px;border-right:1px solid #d7e1ea;border-bottom:1px solid #d7e1ea;text-align:left;vertical-align:middle;white-space:normal}
body #transport_services .transport-summary-matrix tr>:last-child{border-right:0}
body #transport_services .transport-summary-matrix tbody tr:last-child>*{border-bottom:0}
body #transport_services .transport-summary-matrix thead th{position:sticky;top:0;z-index:3;padding:7px 4px;background:#e5f0f8;color:#234f70;text-align:center}
body #transport_services .transport-summary-matrix thead th span,body #transport_services .transport-summary-matrix thead th strong{display:block;line-height:1.3}
body #transport_services .transport-summary-matrix thead th:first-child{left:0;z-index:4;width:146px;text-align:left;padding-left:9px}
body #transport_services .transport-summary-matrix tbody th{position:sticky;left:0;z-index:2;background:#f0f6fb;padding:9px;min-height:64px}
body #transport_services .transport-summary-matrix tbody th strong{display:block;font-size:12px;color:#234f70;overflow-wrap:anywhere}
body #transport_services .transport-summary-matrix tbody th span{display:block;font-weight:500;line-height:1.35;margin-top:4px;font-size:11px;overflow-wrap:anywhere}
body #transport_services .transport-summary-matrix tbody td{background:#fff;height:65px;vertical-align:top}
body #transport_services .transport-summary-matrix tbody tr:nth-child(even) td{background:#f8fafc}
body #transport_services .transport-summary-matrix th.is-today{background:#cce4fa;box-shadow:inset 0 3px #2563a4}
body #transport_services .transport-summary-matrix td.is-today{background:#eef6ff}
body #transport_services .transport-matrix-event{display:flex;align-items:stretch;position:relative;margin:3px 0;border-radius:4px;border:1px solid #c9dce9;border-left:3px solid #2681b8;background:#e8f5ff;overflow-wrap:anywhere}
body #transport_services .transport-matrix-event--delivery{background:#fff0e4;border-color:#ecd5bc;border-left-color:#c78333}
body #transport_services .transport-matrix-event--transit{background:#f1f5f9;border-color:#d6e0e9;border-left-color:#8a9cad}
body #transport_services .transport-matrix-event--return{background:#edf4f4;border-color:#c6dedb;border-left-color:#41847c}
body #transport_services .transport-matrix-event--quick{background:#f3edff;border-color:#d8c7ef;border-left-color:#8052b8}
body #transport_services .transport-matrix-open,body #transport_services .transport-matrix-maintenance{flex:1;min-width:0;display:block;width:100%;min-height:38px;padding:5px 6px;border:0;background:transparent;color:#23445b;text-align:left;font:inherit;cursor:pointer;line-height:1.25}
body #transport_services .transport-matrix-open span,body #transport_services .transport-matrix-open strong,body #transport_services .transport-matrix-maintenance span,body #transport_services .transport-matrix-maintenance strong{display:block;font-size:11px;line-height:1.25;white-space:normal;overflow-wrap:anywhere}
body #transport_services .transport-matrix-open small{display:block;color:#684094;font-size:10px;font-weight:600;margin-top:2px}
body #transport_services .transport-matrix-edit{flex:none;align-self:center;padding:4px;width:23px;min-height:28px;border:0;border-radius:4px;background:transparent;color:#557187;font-size:15px;cursor:pointer}
body #transport_services .transport-matrix-open:hover,body #transport_services .transport-matrix-edit:hover{background:#ffffff70}
body #transport_services .transport-matrix-maintenance{background:#e9edf1;border:1px solid #c6d0da;border-left:3px solid #687a8b;border-radius:4px;margin:3px 0}
body #transport_services .transport-matrix-maintenance small{color:#904713;font-size:10px}
body #transport_services .transport-matrix-empty{display:block;text-align:center;color:#788c9e;font-size:10px;padding:10px 2px}
body #transport_services .transport-matrix-empty-state{text-align:center;padding:24px}
body #transport_services .transport-matrix-scroll:focus-visible,body #transport_services .transport-matrix-open:focus-visible,body #transport_services .transport-matrix-edit:focus-visible,body #transport_services .transport-matrix-maintenance:focus-visible{outline:2px solid #2563a4;outline-offset:-2px}
@media(max-width:700px){body #transport_services .transport-matrix-scroll{max-height:65dvh}body #transport_services .transport-summary-matrix{min-width:950px}body #transport_services .transport-summary-matrix thead th:first-child{width:124px}body #transport_services .transport-matrix-legend small{width:100%;margin-left:0}}
body #transport_services .transport-agenda-more{position:relative}
body #transport_services .transport-agenda-more summary{cursor:pointer;list-style:none}
body #transport_services .transport-agenda-more>div{position:absolute;right:0;top:100%;z-index:15;width:190px;padding:6px;background:#fff;border:1px solid #c9d8e5;border-radius:8px;box-shadow:0 8px 20px #24445b20}
body #transport_services .transport-agenda-more>div button{display:block;width:100%;text-align:left;margin:2px 0}
@media(max-width:700px){html[data-ds-interface] body #transport_services .transport-agenda-toolbar .btn-primary,html[data-ds-interface] body #transport_services .transport-agenda-toolbar .btn-secondary,html[data-ds-interface] body #transport_services .transport-agenda-controls .transport-agenda-mode{font-size:11px!important;min-height:32px!important;padding:6px 8px!important}html[data-ds-interface] body #transport_services .transport-agenda-controls>.label{margin:0}html[data-ds-interface] body #transport_services .transport-agenda-toolbar h3{font-size:15px}}
