/* One scale for the public and management transit workspaces. */
.transit-ui #main-content > .content { width:100%; max-width:min(100%,calc(var(--space-12) * 34)); margin-inline:auto; gap:var(--space-5); }
.transit-workspace-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:var(--space-3); margin:0; padding:0; border:0; }
.transit-ui .transit-workspace-header h1 { margin:0; font-size:var(--fs-h1); line-height:var(--lh-h1); font-weight:400; letter-spacing:0; }
.transit-ui #main-content :is(label,.input-label,legend):not(.sr-only) { font-size:var(--fs-sm); line-height:var(--lh-sm); font-weight:500; color:var(--foreground); }
.transit-ui #main-content label:has(> .input, > .select, > .block-search-select):not(.sr-only):not(.transit-workspace-region) { display:grid; min-width:0; gap:var(--space-1-5); }
.transit-ui #main-content :is(.input,.select) { min-width:0; max-width:100%; height:var(--control-h-s); min-height:var(--control-h-s); padding-block:var(--space-1); font-size:var(--fs-sm); font-weight:400; line-height:var(--lh-sm); }
.transit-ui #main-content textarea.input { height:auto; min-height:calc(var(--control-h-s) * 2); padding-block:var(--space-2); }
.transit-ui #main-content :is(.checkbox-label,label:has(> input[type="checkbox"]),.input-hint,.text-muted) { font-weight:400; }
.transit-ui #main-content .btn { min-height:var(--control-h-s); font-size:var(--fs-sm); }
.transit-ui #main-content .datatable-toolbar { gap:var(--space-3); padding:var(--space-3); }
.transit-ui #main-content .datatable-toolbar :is(h2,h3) { margin:0; font-size:var(--fs-body); line-height:var(--lh-body); font-weight:600; }
[data-transit-workspace] { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--space-3); border-bottom:1px solid var(--border); padding-bottom:var(--space-3); }
/* Filled actions and text links use separate theme tokens for readable contrast. */
.transit-ui { --transit-link:var(--primary-hover); }
:root[data-theme="colorblind"] .transit-ui { --transit-link:var(--primary); }
:root[data-theme="light"] .transit-ui .btn-primary { background:var(--primary-hover); }
:root[data-theme="dark"] .transit-ui .btn-primary, :root[data-theme="hc-dark"] .transit-ui .btn-primary { color:var(--background); }
.gis-vehicles-shell a:not(.btn), .transit-operator-detail a:not(.btn) { color:var(--transit-link); }
.transit-workspace-nav { display:flex; flex-wrap:nowrap; gap:var(--space-1); min-width:0; max-width:100%; overflow-x:auto; }
.transit-workspace-nav a { display:inline-flex; flex:none; align-items:center; min-height:var(--control-h-m); padding:var(--space-2) var(--space-3); color:var(--muted-foreground); border-radius:var(--radius-sm); font-size:var(--fs-sm); text-decoration:none; white-space:nowrap; }
.transit-workspace-nav a:hover { background:var(--muted); color:var(--foreground); }
.transit-workspace-nav a[aria-current="page"] { background:var(--muted); color:var(--foreground); font-weight:600; box-shadow:inset 0 -2px var(--foreground); }
.transit-workspace-region { display:flex; align-items:center; gap:var(--space-2); font-size:var(--fs-sm); white-space:nowrap; }
.transit-workspace-region select { width:auto; min-width:140px; }
.transit-workspace-actions { display:flex; align-items:center; flex-wrap:wrap; gap:var(--space-2); }
.transit-control-group { min-width:0; margin:0; padding:0; border:0; }
.transit-control-group legend { padding:0; margin-bottom:var(--space-1-5); font-size:var(--fs-sm); }
.transit-segments { display:inline-flex; flex-wrap:nowrap; align-items:center; gap:var(--space-0-5); width:fit-content; max-width:100%; padding:var(--space-0-5); border:var(--space-px) solid var(--border); border-radius:var(--radius-md); background:var(--background); overflow-x:auto; }
.transit-ui #main-content .transit-segments .btn { flex:none; min-height:calc(var(--control-h-s) - 2 * var(--space-px) - 2 * var(--space-0-5)); padding-block:0; white-space:nowrap; border-color:transparent; }
.transit-segments .btn[aria-pressed="true"] { background:var(--muted); border-color:var(--border); color:var(--foreground); font-weight:600; }
.transit-filter-shell { container-type:inline-size; }
.transit-filter-shell > .transit-filter-bar { display:grid; align-items:end; gap:var(--space-3); }
.transit-filter-bar--vehicles { grid-template-columns:minmax(12rem,2fr) repeat(3,minmax(7rem,1fr)) auto; }
.transit-filter-bar--operators { grid-template-columns:minmax(0,1fr) minmax(8rem,.4fr) auto; }
.transit-filter-bar .input-group { min-width:0; font-size:var(--fs-sm); }
.transit-filter-bar .input, .transit-filter-bar .select { width:100%; min-width:0; }
.transit-filter-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:var(--space-2); }
@container (max-width:60rem) { .transit-filter-bar--vehicles { grid-template-columns:repeat(4,minmax(0,1fr)); } .transit-filter-bar--vehicles > .input-group:nth-child(-n+2), .transit-filter-bar--vehicles .transit-filter-actions { grid-column:span 2; } }
@container (max-width:36rem) { .transit-filter-bar--vehicles, .transit-filter-bar--operators { grid-template-columns:repeat(2,minmax(0,1fr)); } .transit-filter-bar--vehicles > .input-group:nth-child(-n+2), .transit-filter-bar--vehicles .transit-filter-actions, .transit-filter-bar--operators > .input-group:first-child, .transit-filter-bar--operators .transit-filter-actions { grid-column:1 / -1; } }
.transit-workspace-dialog { position:fixed; inset:0; margin:auto; padding:0; width:min(var(--modal-w-m),calc(100vw - var(--space-6))); max-height:calc(100dvh - var(--space-8)); overflow:auto; border:1px solid var(--border); border-radius:var(--radius-lg); color:var(--foreground); background:var(--card); box-shadow:var(--shadow-lg); }
.transit-workspace-dialog::backdrop { background:color-mix(in srgb, var(--foreground) 42%, transparent); }
.transit-workspace-dialog-body { padding:var(--space-5); display:grid; gap:var(--space-4); }
.transit-workspace-dialog-body label { display:grid; gap:var(--space-1-5); font-size:var(--fs-sm); }
.transit-workspace-dialog footer { position:sticky; bottom:0; display:flex; justify-content:flex-end; gap:var(--space-2); padding:var(--space-3) var(--space-5); background:var(--card); border-top:1px solid var(--border); }
.transit-workspace-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-4); }
.transit-workspace-muted { color:var(--muted-foreground); font-size:var(--fs-sm); }
.transit-workspace-empty { padding:var(--space-5); color:var(--muted-foreground); text-align:center; }
.gis-vehicles-table, .gis-vehicles-readonly .gis-vehicles-table { min-width:42rem; }
.gis-vehicles-table td:nth-child(n), .gis-vehicles-table th:nth-child(n) { min-width:0; width:auto; text-align:start; }
.gis-vehicles-table td:first-child { width:22%; }
.gis-vehicles-table th:last-child, .gis-vehicles-table td:last-child { width:12rem; text-align:end; }
.gis-vehicles-table td:last-child .transit-workspace-actions { justify-content:flex-end; flex-wrap:nowrap; }
.gis-vehicles-table td:last-child .btn { white-space:nowrap; }
.gis-vehicles-table .gis-vehicle-assignment { max-width:24rem; }
.gis-vehicles-status-legend { display:none; }
.gis-vehicles-table-scroll { max-height:62dvh; }
.transit-workspace-dialog h2 { margin:0; font-size:var(--fs-h3); }
.transit-workspace-dialog p { margin:0; }
.transit-workspace-dialog .gis-vehicles-assignment-list { padding:0; }
body:has(.transit-workspace-dialog[open]) { overflow:hidden; }
.transit-operators-workspace .datatable-toolbar { padding:var(--space-3); }
.transit-operators-workspace .datatable-toolbar .input, .transit-operators-workspace .datatable-toolbar .select { width:100%; min-width:0; }
.transit-operators-workspace .table-wrapper { max-height:62dvh; overflow:auto; }
.transit-operator-browser { display:grid; grid-template-columns:minmax(14rem,17rem) minmax(0,1fr); gap:var(--space-4); }
.transit-operator-list { min-width:0; }
#operatorList { max-height:60dvh; overflow:auto; }
.transit-operator-row { display:block; width:100%; min-height:44px; padding:var(--space-3); border:0; border-bottom:1px solid var(--border); background:transparent; color:var(--foreground); text-align:start; cursor:pointer; }
.transit-operator-row[aria-pressed="true"] { background:var(--muted); font-weight:600; box-shadow:inset 3px 0 var(--primary); }
.transit-operator-row:focus-visible { outline:2px solid var(--ring); outline-offset:-2px; }
.transit-operator-detail { min-width:0; display:flex; flex-direction:column; align-items:stretch; gap:var(--space-4); }
.transit-operator-detail h2, .transit-operator-detail h3, .transit-operator-detail p { margin:0; }
.transit-operator-detail h3 .text-muted { margin-inline-start:var(--space-2); font-size:var(--fs-sm); }
.transit-operator-route { display:flex; gap:var(--space-3); justify-content:space-between; padding:var(--space-3) 0; border-bottom:1px solid var(--border); color:var(--foreground); }
.transit-access-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-5); align-items:start; }
.transit-access-grid .gis-transit-access-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--space-3); }
.transit-access-grid .gis-transit-access-form > label:first-child { grid-column:1 / -1; }
.transit-access-grid .gis-transit-access-form > label { min-width:0; }
.transit-access-grid .gis-transit-access-form > button { align-self:end; }
.transit-access-grid #transitAccessUserResults, .transit-access-grid #transitAccessSelectedUser { grid-column:1/-1; margin:0; }
.transit-access-grid #transitRegionLines { max-height:24rem; overflow:auto; grid-template-columns:1fr; padding:var(--space-2); }
.transit-access-grid #transitRegionUsers td:first-child, .transit-access-grid #transitRegionUsers ~ th:first-child { display:none; }
.transit-access-grid table:has(#transitRegionUsers) thead th:first-child { display:none; }
.transit-access-grid .gis-transit-region-actions { position:sticky; bottom:0; background:var(--card); padding-block:var(--space-2); }
.transit-access-legacy-dialog { width:min(var(--modal-w-full),calc(100vw - var(--space-6))); }
.gis-transit-public .gis-transit-table { max-height:58dvh; overflow:auto; }
.gis-transit-public .datatable-pagination { justify-content:flex-end; }
#transitPageInfo { margin-inline-end:auto; font-size:var(--fs-sm); }
.gis-transit-corridor .checkbox-label { display:flex; align-items:center; gap:var(--space-2); min-height:40px; }
.gis-transit-corridor .checkbox-label input { width:auto; }
#transitTripCalls .table-wrapper { max-height:18rem; overflow:auto; }
.gis-transit-line-list { max-height:60dvh; overflow:auto; }
@media(max-width:640px) { .gis-transit-line-list { max-height:12rem; } }
#ttEditView:not(.tt-edit-mode-auto) #tpGenerator, #ttEditView.tt-edit-mode-auto > .tt-layout { display:none; }
.tt-generator-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:var(--space-6); }
.tt-generator-grid .tt-plan-step { min-width:0; }
.tt-frequency-slider { width:100%; min-height:28px; accent-color:var(--primary); cursor:ew-resize; }
#ttBrowser .tt-list { grid-template-columns:minmax(0,1fr) auto; }
#ttBrowser .transit-workspace-actions, #ttBrowser #ttList, #ttBrowser #ttCount { grid-column:1/-1; }
.tt-layout:not(:has(.tt-editor:not([hidden]))) #ttList { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-height:55dvh; }
.tt-actions { position:sticky; top:0; z-index:2; background:var(--card); padding-block:var(--space-2); border-bottom:1px solid var(--border); }
@media(max-width:900px) { .tt-generator-grid { grid-template-columns:1fr; } }
@media(max-width:640px) { .tt-layout:not(:has(.tt-editor:not([hidden]))) #ttList { grid-template-columns:1fr; max-height:50dvh; } }
@media(max-width:800px) { .transit-access-grid { grid-template-columns:1fr; } }
@media(max-width:900px) { .transit-operator-browser { grid-template-columns:1fr; } #operatorList { max-height:13rem; } }
@media(max-width:640px) { .gis-vehicles-table, .gis-vehicles-readonly .gis-vehicles-table { min-width:0; } .gis-vehicles-table td:nth-child(n) { width:auto; } .gis-vehicles-table td:last-child { text-align:start; } .gis-vehicles-table td:last-child .transit-workspace-actions { justify-content:flex-start; flex-wrap:wrap; } .gis-vehicles-table-scroll { max-height:none; } }
@media(max-width:640px) { [data-transit-workspace] { gap:var(--space-2); } .transit-workspace-nav { flex:1 1 100%; } .transit-workspace-nav a { padding-inline:var(--space-2); } .transit-workspace-fields { grid-template-columns:1fr; } .transit-workspace-dialog-body { padding:var(--space-4); } .transit-workspace-dialog footer { padding-inline:var(--space-4); } .transit-workspace-dialog { inset:auto 0 0; width:100%; max-width:100%; max-height:calc(100dvh - var(--space-4)); margin:0; border-radius:var(--radius-xl) var(--radius-xl) 0 0; } }
