/* Mobile workspace: presentation only; PDF layouts are independent. */
.mobile-nav,.mobile-menu-close,.mobile-scrim,.reverse-toggle{display:none}
html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}
@media screen and (max-width:760px){
 body{font-size:15px;padding-bottom:calc(76px + env(safe-area-inset-bottom));overflow-wrap:anywhere}
 body>main{margin:0;min-width:0}body>aside{display:none}
 body.mobile-menu-open>aside{display:flex;position:fixed;inset:0 0 0 auto;width:min(340px,90vw);height:100dvh;z-index:70;padding:calc(20px + env(safe-area-inset-top)) 22px calc(24px + env(safe-area-inset-bottom));overflow-y:auto}
 body.mobile-menu-open .mobile-scrim{display:block;position:fixed;inset:0;z-index:65;background:#071006aa;border:0}
 .mobile-menu-close{display:block;align-self:flex-end;color:white;background:transparent;border:1px solid #74866c;border-radius:10px;padding:8px 14px;margin-bottom:16px}
 aside .brand img{max-width:230px}aside .workspace{display:block;margin:28px 0 14px}aside .nav{display:block;width:100%;text-align:left;font-size:16px;padding:13px;margin:4px 0}aside .account{margin-top:24px;display:grid;gap:10px}aside .account strong,aside .account small,aside .account a{display:block;font-size:15px}aside .profile-link{font-size:16px;min-height:44px;text-align:left}aside .sidebottom{display:block;margin-top:24px}
 header{position:sticky;top:0;z-index:20;height:auto;min-height:58px;padding:calc(8px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));gap:8px;background:var(--surface)}
 header>span{font-size:12px;min-width:0;max-width:46%;overflow-wrap:anywhere}.slash{margin:0 4px}.headeractions{gap:6px;flex:1;justify-content:flex-end;min-width:0}.save{font-size:11px;max-width:140px;line-height:1.3}.headeractions button{font-size:12px;min-width:64px;min-height:44px}
 .content{padding:14px max(12px,env(safe-area-inset-right)) 16px max(12px,env(safe-area-inset-left));width:100%;min-width:0}.heading{gap:8px;margin-bottom:16px}.heading h1{font-size:23px;line-height:1.2;letter-spacing:-.4px}.eyebrow{font-size:10px}.heading>.secondary{flex:1;font-size:13px;padding:10px}.heading>div{flex-basis:100%}
 p{font-size:13px;line-height:1.5}label{font-size:13px;line-height:1.4}h2,.sectionhead h2{font-size:16px;line-height:1.3}.sectionhead{padding:14px 12px;flex-wrap:wrap}.sectionhead p{font-size:12px}.badge{font-size:11px}.step{font-size:11px}.count{font-size:12px}
 button,a.primary,a.secondary,.import{touch-action:manipulation}button,.primary,.secondary,.icon{min-height:44px}.primary,.secondary{font-size:14px;padding:10px 12px;white-space:normal}.icon{min-width:44px}
 input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea,#metaFields .content-width-field{font-size:16px!important;min-height:46px!important;width:100%!important;max-width:100%!important;padding:10px!important;border-radius:9px;margin-top:5px;min-width:0}
 input[type=checkbox],input[type=radio]{width:24px!important;height:24px!important;flex-shrink:0}.inspection-options label{min-height:44px;gap:10px}
 .grid,#metaFields,.grid.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 12px 14px}.listbar{gap:6px;align-items:stretch}.listbar label{display:block;width:100%;font-size:13px}.listbar span{font-size:11px}.listbar select{width:100%}
 #metaFields label:has([name=from]),#metaFields label:has([name=to]),#metaFields label:has([name=client]),#metaFields label:has([name=reference]),#inspection>label{grid-column:1/-1}
 .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat{padding:12px;min-width:0}.stat strong{font-size:26px}.stat span,.stat small{font-size:11px}.bottomgrid{display:block}.panel{border-radius:12px;margin-bottom:14px}.brakeconfig label{width:100%;margin:0 0 10px;max-width:none}.compact-brakes p{font-size:14px;padding:8px 0}.brakecounts,.station-hint{font-size:12px}
 .inspection-check{padding:10px}.inspection-check .grid{padding:0;grid-template-columns:1fr}.inspection-check legend{font-size:14px}.inspection-options{flex-wrap:wrap;gap:12px}
 .bulk-toolbar{justify-content:flex-start;gap:8px;padding:12px}.bulk-toolbar strong{flex-basis:100%;font-size:13px}.bulk-toolbar button{font-size:13px;flex:1 1 40%}.wagons .sectionhead .primary{font-size:14px}.wagons .sectionhead p{max-width:none;margin:6px 0 0}.tablefoot{font-size:12px;gap:10px;padding:12px}.tablefoot span{max-width:72%}
 /* Preserve table data and event delegation; stack each wagon into a labeled card. */
 .wagons .tablewrap:has(#wagonRows),.wagons .tablewrap:has(#reverseRows){overflow:visible;padding:0 10px 10px}
 .wagons .tablewrap:has(#wagonRows) table,.wagons .tablewrap:has(#reverseRows) table{display:block;width:100%;min-width:0;white-space:normal}
 .wagons .tablewrap:has(#wagonRows) thead,.wagons .tablewrap:has(#reverseRows) thead{display:none}
 #wagonRows,#reverseRows{display:grid;gap:12px;width:100%}
 #wagonRows tr,#reverseRows tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}
 #wagonRows td,#reverseRows td{display:block;min-width:0;font-size:15px;padding:8px!important;white-space:normal!important;border-bottom:1px solid var(--line);text-align:center}
 #wagonRows td::before,#reverseRows td::before{content:attr(data-label);display:block;font:11px/1.35 Arial,sans-serif;color:var(--muted);margin-bottom:4px;font-weight:400}
 #wagonRows .number,#reverseRows .number{grid-column:1/-1;font-size:19px;font-variant-numeric:tabular-nums;background:var(--soft)}#wagonRows .number button{font-size:19px;width:100%;letter-spacing:.3px}#wagonRows .number .errornote{font-size:12px}
 #wagonRows td:first-child{display:flex;gap:10px;align-items:center;justify-content:center}#wagonRows td:first-child::before{margin:0}#wagonRows td:last-child{grid-column:1/-1;display:flex;justify-content:space-around;gap:8px;border-bottom:0}#wagonRows td:last-child::before{display:none}#wagonRows td:last-child button{min-width:52px;min-height:44px;border:1px solid var(--line);border-radius:8px;font-size:20px;background:var(--soft)}#reverseRows td:first-child{grid-column:1/-1;background:var(--soft)}
 .reverse-toggle{display:block;width:100%;margin:0 0 10px}.mobile-reverse-collapsed .tablewrap{display:none!important}
 .result-table{white-space:normal;table-layout:fixed}.result-table td,.result-table th{padding:9px 5px;font-size:12px;overflow-wrap:anywhere;letter-spacing:0}.result-table th:first-child{width:40%}
 .archive-table{min-width:680px}.archive-table td,.archive-table th{font-size:13px}.archive-table a{display:inline-block;min-height:44px;padding:10px 2px}.member-form{padding:0 12px 14px;gap:12px;align-items:stretch}.member-actions button{min-width:100px}.member-actions select{min-width:120px}.accesshint{padding:0 12px 14px}
 footer{display:grid;grid-template-columns:1fr;gap:10px;padding:14px}footer p{max-width:none;font-size:12px}footer button{width:100%;min-height:48px}footer #pdf{order:1}footer #brakeSlipButton{order:2}footer #emailPDF{order:3}.backup{flex-direction:column;align-items:center;gap:8px}.backup button,.backup .import{font-size:13px;padding:12px}
 dialog,#wagonDialog,#bulkDialog{position:fixed;inset:0;margin:auto;width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom)}
 .dialoghead{position:sticky;top:0;z-index:4;padding:calc(10px + env(safe-area-inset-top)) 12px 10px}.dialoghead h2{font-size:20px}.dialoghead .eyebrow{font-size:10px}.dialogfoot{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:10px}.dialogfoot button{font-size:14px;min-height:48px;margin:0!important}.dialogfoot button[type=submit]:last-child{grid-column:1/-1}
 #wagonFields.formgrid{display:grid;grid-template-columns:1fr;padding:12px;gap:12px}.wagon-group{padding:12px 10px;border-radius:10px}.wagon-group legend{font-size:14px}.wagon-group legend span{font-size:11px}.group-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}.group-fields .wide,.group-fields .full{grid-column:1/-1}.group-fields label{font-size:13px}.group-fields textarea{min-height:90px}.computed-field output{font-size:22px}.computed-field span{font-size:12px}.automatic-note{font-size:12px;padding:8px}#numberPreview{font-size:18px;min-height:24px}#numberPreview small{font-size:12px}#formError{font-size:14px;padding:0 12px}.mail-fields{padding:14px;gap:14px}#brakeSlipFields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0}
 .mobile-nav{position:fixed;display:flex;inset:auto 0 0;z-index:40;background:var(--surface);border-top:1px solid var(--line);padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));box-shadow:0 -4px 20px #132f3910}
 .mobile-nav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:54px;min-width:0;background:none;border:0;border-radius:10px;color:var(--muted);font-size:11px}.mobile-nav button span{font-size:22px;line-height:24px}.mobile-nav button[aria-current=page]{background:var(--soft);color:var(--teal);font-weight:bold}.mobile-nav button.mobile-add{color:#21350e;background:#78be20;margin:0 6px}.mobile-nav button:disabled{opacity:.35}
 #toast{bottom:calc(86px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px);width:max-content;font-size:14px;padding:12px 16px;z-index:90}.login-card{margin:20px 12px;padding:24px}.login-card h2{font-size:24px}
 .pwa-tip{padding:12px 14px;margin:12px;border:1px solid var(--line);background:var(--soft);border-radius:10px;font-size:13px}.pwa-tip button{float:right;padding:6px;min-width:44px;border:0;background:none;color:var(--ink)}
}
@media screen and (max-width:360px){.grid,#metaFields,.group-fields,#brakeSlipFields{grid-template-columns:1fr}.group-fields .wide{grid-column:auto}.headeractions .save{max-width:90px}.heading>.secondary{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
@media screen and (max-width:760px){.access-page{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.access-page .access-card{margin:14px;padding:24px 18px;max-width:460px}.access-card input,.access-card select{font-size:16px;min-height:48px}.access-card button{min-height:48px;font-size:16px}}
.offline-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 16px;background:var(--soft);border-bottom:1px solid var(--line)}.offline-bar span{flex:1;font-size:13px;min-width:200px}.offline-bar span[data-offline=true]{color:#8a5100}html[data-theme=dark] .offline-bar span[data-offline=true]{color:#ffca7a}@media(max-width:760px){.offline-bar{padding:10px 12px}.offline-bar span{flex-basis:100%}.offline-bar button{flex:1;font-size:12px}}

/* Compact mobile list: only the wagon number until its disclosure is opened. */
.mobile-wagon-number{font:inherit;color:inherit;border:0;background:none;padding:0}
@media screen and (max-width:760px){
 #wagonRows,#reverseRows{gap:0}
 #wagonRows tr,#reverseRows tr{border-radius:0;border:0;border-bottom:1px solid var(--line)}
 #wagonRows tr:not(.mobile-wagon-expanded)>td:not(.number),#reverseRows tr:not(.mobile-wagon-expanded)>td:not(.number){display:none!important}
 #wagonRows tr>.number,#reverseRows tr>.number{grid-column:1/-1;grid-row:1;padding:0!important;border:0;background:var(--surface)}
 #wagonRows .number::before,#reverseRows .number::before{display:none}
 #wagonRows .number button,#reverseRows .number button{display:block;width:100%;min-height:44px;margin:0;padding:9px 12px;border:0;border-radius:0;font-size:17px;line-height:26px;letter-spacing:.3px;white-space:nowrap;background:none;color:var(--teal);text-align:center}
 #wagonRows tr:not(.mobile-wagon-expanded) .number .errornote{display:none}
 #wagonRows tr.mobile-wagon-expanded>.number,#reverseRows tr.mobile-wagon-expanded>.number{background:var(--soft);border-bottom:1px solid var(--line)}
 #wagonRows .number button:focus-visible,#reverseRows .number button:focus-visible{outline:2px solid #78be20;outline-offset:-3px}
}

.mobile-view-version{display:none}@media screen and (max-width:760px){.mobile-view-version{display:block;flex-basis:100%;font-size:11px;color:var(--muted)}}

@media screen and (max-width:760px){
 #wagonRows .number button::before,#reverseRows .number button::before{content:attr(data-position) " · ";color:var(--muted);font-weight:400;font-variant-numeric:tabular-nums}
}

/* Constrain native Safari date controls to their grid column. */
@media screen and (max-width:760px){
 #metaFields>label,#inspection>label,.group-fields>label{min-width:0;max-width:100%}
 #metaFields input,#inspection input[type="datetime-local"]{box-sizing:border-box;min-inline-size:0!important;max-inline-size:100%!important;inline-size:100%!important}
 input[type="date"],input[type="datetime-local"]{-webkit-appearance:none;appearance:none;min-width:0}
 input[type="date"]::-webkit-date-and-time-value,input[type="datetime-local"]::-webkit-date-and-time-value{min-width:0;text-align:center}
}
@media screen and (max-width:520px){
 #metaFields{grid-template-columns:minmax(0,1fr);row-gap:10px}
 #metaFields>label{grid-column:1/-1}
}

/* Compact capture; 16px input text keeps Safari from zooming on focus. */
@media screen and (max-width:760px){
 body{font-size:13px}.content{padding-top:8px}.heading{margin-bottom:8px}.heading h1{font-size:20px}
 .sectionhead{padding:9px 10px}.sectionhead h2,h2{font-size:14px}.panel{margin-bottom:9px}.grid,#metaFields,.grid.two{gap:7px;padding:0 10px 10px}
 label,.group-fields label{font-size:11px;line-height:1.3}p{font-size:12px}.station-hint{font-size:10px}
 input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea,#metaFields .content-width-field{min-height:36px!important;padding:5px 6px!important;margin-top:3px;border-radius:6px}
 .stats{gap:6px}.stat{padding:8px}.stat strong{font-size:22px}.stat small,.stat span{font-size:10px}
 .inspection-check{padding:7px}.inspection-check legend{font-size:12px}.inspection-options{margin-bottom:3px;gap:8px}.inspection-options label{min-height:34px}
 #wagonFields.formgrid{padding:9px;gap:8px}.wagon-group{padding:7px}.wagon-group legend{font-size:12px}.group-fields{gap:6px}.group-fields textarea{min-height:54px!important}
 .dialoghead{padding:calc(7px + env(safe-area-inset-top)) 10px 7px}.dialoghead h2{font-size:17px}.dialogfoot{padding:9px;gap:6px}.mail-fields{padding:10px;gap:8px}
 #brakeSlipFields{gap:7px}.brake-without-loco,#brakeSlipFields>.full{grid-column:1/-1}.brake-without-loco span{display:flex;align-items:center;gap:8px}.brake-without-loco input{margin:0}
 .primary,.secondary{font-size:12px;padding:7px 9px}.mobile-view-version{font-size:10px}
}

.connection-ok{color:#00606b!important}.connection-error{color:#b42318!important}html[data-theme=dark] .connection-ok{color:#a8dc68!important}html[data-theme=dark] .connection-error{color:#ff9c8d!important}.offline-bar{padding:6px 12px}.offline-bar span{font-size:12px}
@media screen and (max-width:760px){.document-source{display:none!important}}

@media screen and (min-width:400px) and (max-width:760px){
 #metaFields{grid-template-columns:repeat(2,minmax(0,1fr))}
 #metaFields>.meta-plan-speed{grid-column:1}
 #metaFields>.meta-plan-brake{grid-column:2}
}

/* 1.6.10: collapsed reverse table on every screen size. */
.reverse-toggle{display:block;margin:0 0 10px}
.mobile-reverse-collapsed .tablewrap,.mobile-reverse-collapsed #reverseSummary{display:none!important}

/* 1.7.2: one compact workspace scale; PDF typography is independent. */
body{font-family:Arial,sans-serif;font-size:12px;line-height:1.3}
.content{max-width:none;padding:10px 12px}
.heading{gap:8px;margin-bottom:8px}.heading h1{font-size:20px;margin:2px 0}
h2,.sectionhead h2{font-size:13px;line-height:1.3}
.panel{border-radius:6px;margin-bottom:8px}.sectionhead{padding:7px 10px;gap:8px}
.step{padding:4px 6px;min-width:24px;font-size:10px}.badge{padding:3px 7px;font-size:10px}
.grid,.grid.two{gap:6px 8px;padding:0 10px 8px}
label,.group-fields label{font-size:11px;line-height:1.25}
input,select,textarea{font-family:inherit;font-size:12px;line-height:1.25;min-height:26px;padding:3px 6px;margin-top:2px;border-radius:4px;max-width:100%;min-width:0}
.primary,.secondary{font-size:11px;padding:5px 8px;min-height:28px}
.station-hint{font-size:10px;line-height:1.2;margin-top:2px}.station-hint:empty{display:none}
.stats{gap:6px;margin-bottom:8px}.stat{padding:6px 8px}.stat strong{font-size:19px;margin:2px 0}
.compact-brakes p{font-size:12px;padding:4px 0;margin:3px 0}.bottomgrid{gap:8px}
.inspection-check{padding:5px 7px}.inspection-check legend{font-size:11px}.inspection-options{gap:8px;margin:0}.inspection-options label{min-height:26px}
.mail-fields{padding:10px;gap:8px}.mail-fields p,footer p{margin:3px 0;font-size:11px}
.dialoghead{padding:8px 10px}.dialoghead h2{font-size:15px}.dialogfoot{padding:8px 10px;gap:6px}
#wagonFields.formgrid{padding:8px 10px;gap:7px}.wagon-group{padding:5px 7px}.group-fields{gap:5px 7px}
.group-fields input,.group-fields select{min-height:26px}.computed-field output{font-size:14px}
footer{padding:9px 10px;gap:8px}.bulk-toolbar{padding:6px 10px;gap:6px}
#destinationDialog,#listTypeDialog{width:min(440px,calc(100vw - 24px));height:auto;max-height:90dvh;border-radius:8px}
#destinationDialog select{width:100%}#destinationDialog label{text-align:left}
@media screen and (min-width:761px){
 header{height:46px;padding:0 18px}aside{width:190px;padding:22px 16px}main{margin-left:190px}
 .workspace{margin:24px 0 12px}.nav{padding:9px}.brand img{max-width:100%}
 #metaFields{grid-template-columns:repeat(4,minmax(0,1fr))}
 #metaFields>.meta-plan-speed,#metaFields>.meta-client{grid-column:1/span 2}
 #metaFields>.meta-plan-brake,#metaFields>.meta-reference{grid-column:3/span 2}
 #metaFields input,#metaFields select{width:100%!important;max-width:100%!important}
 #metaFields label{align-self:start}
}
@media screen and (max-width:760px){
 body{font-size:12px}.content{padding:7px 8px}.heading h1{font-size:18px}.sectionhead{padding:6px 8px}
 header{min-height:46px;padding-top:calc(4px + env(safe-area-inset-top));padding-bottom:4px}
 .headeractions button{min-height:34px;font-size:11px}
 .grid,.grid.two,#metaFields{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 7px;padding:0 8px 7px}
 #metaFields>label{grid-column:auto!important}
 #metaFields label:has([name=from]),#metaFields label:has([name=to]){grid-column:1/-1!important}
 /* Retain 16px editing text to avoid Safari focus zoom; reduce padding and heights. */
 input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea,#metaFields .content-width-field{min-height:32px!important;padding:3px 5px!important;margin-top:2px;border-radius:4px;line-height:1.25}
 label,.group-fields label{font-size:10px}p{font-size:11px}
 .primary,.secondary,button,.icon{min-height:34px}.primary,.secondary{font-size:11px;padding:5px 7px}
 .stats{gap:5px}.stat{padding:5px 7px}.stat strong{font-size:18px}
 .inspection-check{padding:5px 6px}.inspection-options label{min-height:28px}.inspection-check legend{font-size:11px}
 .inspection-options input[type=checkbox]{width:18px!important;height:18px!important}
 #wagonFields.formgrid{padding:7px;gap:6px}.wagon-group{padding:5px 6px}.wagon-group legend{font-size:11px}
 .group-fields{gap:5px}.group-fields textarea{min-height:42px!important}
 #wagonRows .number button,#reverseRows .number button{font-size:15px;line-height:22px;padding:5px 8px;min-height:34px}
 #wagonRows td,#reverseRows td{font-size:12px;padding:5px!important}
 .dialoghead{padding:calc(5px + env(safe-area-inset-top)) 8px 5px}.dialoghead h2{font-size:15px}
 .dialogfoot{padding:7px;gap:5px}.dialogfoot button{font-size:11px;min-height:34px}
 .bulk-toolbar{gap:5px;padding:6px}.bulk-toolbar button{font-size:11px}
 .mobile-nav button{min-height:44px;font-size:10px}.mobile-nav button span{font-size:18px;line-height:20px}
 #destinationDialog .dialogfoot{display:flex;justify-content:flex-end;flex-wrap:wrap}
}
@media screen and (max-width:360px){#metaFields{grid-template-columns:minmax(0,1fr)}#metaFields>label{grid-column:1/-1!important}}

.danger-action{border:1px solid #a52a20;color:#a52a20}.primary.danger-action{background:#a52a20;color:#fff}.danger-action:disabled{opacity:.55}html[data-theme=dark] .secondary.danger-action{color:#ffaaa0;border-color:#a65c53}
#documentRemovalDialog{width:min(560px,calc(100vw - 24px));height:auto;max-height:90dvh}#documentRemovalError{color:#c03528}#documentRemovalDialog .dialogfoot{display:flex;flex-wrap:wrap;justify-content:flex-end}

/* 1.7.4: sidebar controls stay inside the available account column. */
aside .account{min-width:0;max-width:100%;box-sizing:border-box}
aside .account>*{min-width:0;max-width:100%;box-sizing:border-box}
aside [data-install-app]{display:block;width:100%;max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:normal;text-align:center;font-size:11px;line-height:1.3;font-weight:600;padding:6px 8px;margin:6px 0 0;min-height:30px;height:auto;box-sizing:border-box}
@media screen and (max-width:760px){aside [data-install-app]{font-size:12px;min-height:36px;margin-top:0}}
.fleet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px}.fleet-wide{grid-column:1/-1}.fleet-grid .fleet-red,.fleet-grid .fleet-black{background:var(--fleet-card,#f3f7f8);padding:5px;border-radius:4px}.fleet-red,.fleet-grid .fleet-red{color:var(--fleet-red,#bc231c)!important}.fleet-grid .fleet-black{color:var(--fleet-ink,#111)!important}.fleet-choice{grid-column:1/-1;min-width:0;margin:0;padding:8px;border:1px solid var(--line);border-radius:5px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.fleet-choice small{grid-column:1/-1;white-space:pre-wrap}.fleet-choice select{width:100%;max-width:100%}#fleetMessage{padding:5px 10px}@media(max-width:760px){.fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-choice{grid-template-columns:minmax(0,1fr)}}

.fleet-grid .fleet-red input{color:var(--fleet-red,#bc231c)!important;background:var(--fleet-input,#fff)!important}.fleet-grid .fleet-black input{color:var(--fleet-ink,#111)!important;background:var(--fleet-input,#fff)!important}

/* Fleet brake categories follow the theme without losing their red identification. */
html[data-theme=dark] .fleet-grid,html[data-theme=dark] .fleet-choice{--fleet-card:var(--soft,#263021);--fleet-input:#232d1e;--fleet-ink:var(--ink,#e2eadc);--fleet-red:#ffaaa0}

.feedback-nav,.mobile-menu{position:relative}.feedback-badge{position:absolute;top:3px;right:3px;min-width:18px;height:18px;padding:1px 4px;border-radius:50%;background:#c82920;color:white;font:bold 10px/16px Arial,sans-serif;text-align:center}.feedback-unread-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#c82920;margin-right:5px}
.feedback-layout{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,3fr);gap:10px;align-items:start}.feedback-list,.feedback-chat{padding:12px;min-width:0}.feedback-list h2,.feedback-chat h2{margin-bottom:8px}.feedback-thread{display:block;width:100%;padding:9px 6px;text-align:left;white-space:normal;overflow-wrap:anywhere;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink)}.feedback-thread small{display:block;color:var(--muted);margin-top:4px}.feedback-thread.active-thread{background:var(--soft,#eef7e3);border-left:3px solid #78be20}
#feedbackMessages{max-height:48vh;overflow-y:auto;overflow-wrap:anywhere}.feedback-message{border:1px solid var(--line);border-radius:6px;padding:8px;margin:8px 0;background:var(--bg)}.feedback-message.own-message{border-left:3px solid #78be20}.feedback-message header{position:static;height:auto;min-height:0;padding:0;border:0;background:transparent;display:flex;flex-wrap:wrap;gap:6px;font-size:11px}.feedback-message time{font-size:10px;color:var(--muted)}.feedback-message p{white-space:pre-wrap;color:var(--ink);font-size:12px}.feedback-message img,#feedbackPreview{display:block;max-width:100%;max-height:240px;object-fit:contain;margin-top:6px}.feedback-new-fields{display:grid;grid-template-columns:2fr 1fr;gap:8px}#feedbackForm label{margin-top:8px}#feedbackForm textarea{text-align:left!important;resize:vertical;min-height:80px}#feedbackForm input[type=file]{font-size:11px;white-space:normal}#feedbackStatus{margin:6px 0;white-space:pre-wrap}#feedbackForm .dialogfoot{padding-right:0;background:transparent}
@media(max-width:760px){.feedback-layout{grid-template-columns:minmax(0,1fr)}.feedback-list{max-height:230px;overflow:auto}.feedback-new-fields{grid-template-columns:1fr}.feedback-chat{padding:8px}#feedbackMessages{max-height:45vh}}
.fleet-search{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:8px;padding:10px}.field-invalid{border-color:#c82920!important;outline:1px solid #c82920!important}.field-error{display:block;color:#b42318;font-size:11px;margin-top:3px;line-height:1.25}html[data-theme=dark] .field-error{color:#ffaaa0}#installationNotice{padding:10px;margin:10px;border:1px solid #b42318;border-radius:6px;color:var(--ink);background:var(--soft,#fff3ef)}#installationDetails{padding:0 12px 12px;white-space:pre-wrap;overflow-wrap:anywhere}#installedVersion{overflow-wrap:anywhere}#feedbackStateWrap{max-width:200px;margin:5px 0}

/* Compact, consistent field groups and action controls. */
#metaFields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#metaFields>.meta-group:first-child{grid-column:1/-1}.meta-group{min-width:0;margin:0;padding:6px 8px;border:1px solid var(--line);border-radius:5px}.meta-group legend,.fleet-group legend{font-size:11px;font-weight:700;padding:0 4px;color:var(--muted)}.meta-group-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px}.meta-group:first-child .meta-group-fields{grid-template-columns:repeat(4,minmax(0,1fr))}#metaFields .meta-group label{grid-column:auto!important;min-width:0}#metaFields .meta-group input,#metaFields .meta-group select{min-height:28px}
.fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-group{min-width:0;margin:0;padding:7px;border:1px solid var(--line);border-radius:5px}.fleet-group-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.fleet-group:nth-child(3) .fleet-group-fields{grid-template-columns:minmax(0,1fr)}.fleet-group:last-child{grid-column:1/-1}.fleet-group:last-child .fleet-group-fields{grid-template-columns:minmax(0,1fr)}.fleet-group-fields label{min-width:0}.fleet-group input,.fleet-group textarea{min-width:0;max-width:100%}
.bulk-toolbar{justify-content:flex-start;gap:6px;flex-wrap:wrap}.bulk-select-all{display:inline-flex;align-items:center;gap:6px;min-height:28px;margin:0}.bulk-select-all input{margin:0;width:16px!important;height:16px!important}.bulk-toolbar strong{margin-right:auto}.bulk-toolbar .secondary{min-height:28px;font-size:11px}.feedback-back{display:none}.feedback-chat>h2{margin-top:7px}
#fleetAdmin h2,#feedbackPanel h2,.installation-check h2{font-size:14px;line-height:1.3}#fleetAdmin .secondary,#fleetAdmin .primary,#feedbackPanel .secondary,#feedbackPanel .primary{min-height:30px;font-size:11px;border-radius:5px}
@media(max-width:1000px){.fleet-group-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){#metaFields{grid-template-columns:minmax(0,1fr)}.meta-group:first-child .meta-group-fields{grid-template-columns:repeat(2,minmax(0,1fr))}#metaFields .meta-group label:has([name=from]),#metaFields .meta-group label:has([name=to]){grid-column:1/-1!important}.fleet-grid{grid-template-columns:minmax(0,1fr)}.fleet-search{grid-template-columns:minmax(0,1fr)}.fleet-group-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.bulk-toolbar strong{flex-basis:auto}.bulk-toolbar button{flex:0 1 auto}.feedback-back{display:inline-block;margin-bottom:6px}#feedbackPanel:not(.feedback-detail-open) .feedback-chat{display:none}#feedbackPanel.feedback-detail-open .feedback-list{display:none}#feedbackPanel .feedback-list{max-height:none}#fleetAdmin .secondary,#fleetAdmin .primary,#feedbackPanel .secondary,#feedbackPanel .primary{min-height:34px}}
/* RTP portal: compact navigation and separate document workflows. */
.portal-welcome{max-width:780px;padding:12px 0 20px}.portal-welcome h1{font-size:clamp(24px,3vw,36px);line-height:1.18;margin:8px 0 12px}.portal-welcome p{font-size:15px;line-height:1.6;color:var(--muted);margin:0}
.portal-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.portal-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;text-align:left;white-space:normal;min-width:0;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);font:inherit;cursor:pointer}.portal-card:hover{border-color:#78be20}.portal-card:focus-visible{outline:3px solid #78be20;outline-offset:3px}.portal-card strong{font-size:21px}.portal-card>span:not(.portal-icon):not(.portal-card-link){color:var(--muted);font-size:14px;line-height:1.5}.portal-card .portal-icon{display:grid;place-items:center;width:44px;height:44px;background:var(--soft);color:var(--teal);border-radius:10px;font-size:28px}.portal-card .portal-card-link{color:var(--teal);font-weight:700;font-size:14px;margin-top:auto;padding-top:8px}
.portal-actions{display:flex;flex-wrap:wrap;gap:8px}.brake-source-panel h2{margin:0 0 12px}.brake-source-panel>label{display:flex;flex-direction:column;gap:5px}.brake-source-panel select{width:100%;max-width:100%;min-height:40px}.brake-source-panel p{font-size:13px;line-height:1.45;color:var(--muted)}.brake-archive-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.brake-archive-row>div{min-width:0;display:flex;flex-direction:column;gap:3px;overflow-wrap:anywhere}.brake-archive-row span{font-size:12px;color:var(--muted)}.brake-archive-row button{flex-shrink:0;min-height:40px}
@media screen{.result-table th,.result-table td{padding:5px 7px;font-size:11.5px;line-height:1.25}.result-summary-panel{padding-top:12px;padding-bottom:12px}.result-summary-panel .sectionhead{margin-bottom:8px}.result-summary-panel h2{margin:0}}
@media(max-width:760px){.portal-welcome{padding:4px 0 16px}.portal-welcome h1{font-size:25px}.portal-welcome p{font-size:13px}.portal-cards{grid-template-columns:1fr;gap:10px}.portal-card{padding:18px;gap:8px}.portal-card strong{font-size:18px}.brake-archive-row{align-items:stretch;flex-direction:column;gap:8px}.brake-archive-row button{align-self:flex-start;white-space:normal}.portal-actions>button{width:100%;white-space:normal}.result-table th,.result-table td{padding:4px;font-size:11px}}
.additional-routes{grid-column:1/-1;margin-top:4px}.additional-routes summary{cursor:pointer;color:var(--teal);font-weight:600;padding:6px 0}.route-input-row{display:grid;grid-template-columns:minmax(90px,.55fr) repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.route-input-row input{width:100%;min-width:0}.route-input-row label{min-width:0}@media(max-width:600px){.route-input-row{grid-template-columns:1fr 1fr}.route-input-row label:first-child{grid-column:1/-1}}
#fleetForm{scroll-margin-top:80px}

/* Compact bulk editing: operating data left, dangerous goods right. */
#bulkDialog{width:min(640px,96vw);max-height:92dvh}#bulkDialog .dialoghead{padding:9px 12px}#bulkDialog .dialoghead h2{font-size:16px}#bulkDialog .mail-fields{padding:8px 12px}#bulkDialog .mail-fields>p{font-size:11px;margin:0 0 8px;line-height:1.35}#bulkDialog .bulk-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}#bulkDialog .bulk-fields section{display:flex;flex-direction:column;gap:6px;min-width:0}#bulkDialog .bulk-fields h3{font-size:12px;margin:0 0 2px}#bulkDialog .bulk-fields label{font-size:11px;min-width:0;margin:0}#bulkDialog .bulk-fields input,#bulkDialog .bulk-fields textarea{box-sizing:border-box;width:100%!important;max-width:100%;min-width:0;min-height:28px;padding:4px 6px;font-size:12px;margin-top:2px}#bulkDialog .bulk-fields textarea{height:40px;min-height:40px;resize:vertical}#bulkDialog #bulk-speed{max-width:90px}#bulkDialog #bulkClearDanger{font-size:11px;min-height:28px;padding:5px 7px;margin:0}#bulkDialog #bulkDangerStatus{font-size:11px;margin:0;line-height:1.3}#bulkDialog #bulkDangerStatus:empty,#bulkDialog #bulkError:empty{display:none}#bulkDialog .dialogfoot{padding:8px 12px}
@media(max-width:480px){#bulkDialog .bulk-fields{grid-template-columns:minmax(0,1fr);gap:12px}#bulkDialog .bulk-fields input,#bulkDialog .bulk-fields textarea{font-size:16px}#bulkDialog .dialoghead h2{font-size:15px}}

/* Space for Fhk values with two decimal places. */
#w-force{width:96px!important;min-width:96px;max-width:100%;box-sizing:border-box}

.mobile-wagon-collapse-cell{display:none!important}
@media(max-width:760px){#wagonRows tr.mobile-wagon-expanded>.mobile-wagon-collapse-cell,#reverseRows tr.mobile-wagon-expanded>.mobile-wagon-collapse-cell{display:block!important;grid-column:1/-1;padding:6px!important}.mobile-wagon-collapse-cell::before{display:none!important}.mobile-wagon-collapse{width:100%;min-height:36px}}

@media(max-width:760px){#wagonRows .mobile-wagon-collapse,#reverseRows .mobile-wagon-collapse{width:auto;min-height:28px;font-size:11px!important;line-height:1.2;padding:4px 10px!important;font-weight:500}#wagonRows tr.mobile-wagon-expanded>.mobile-wagon-collapse-cell,#reverseRows tr.mobile-wagon-expanded>.mobile-wagon-collapse-cell{text-align:center!important;padding:4px!important}#wagonRows tr.mobile-wagon-expanded>td:nth-child(15){grid-column:1/-1!important;display:flex!important;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px}#wagonRows tr.mobile-wagon-expanded>td:nth-child(15)::before{width:100%}#wagonRows td:nth-child(15)>button{min-width:44px!important;width:44px!important;min-height:44px!important;height:44px!important;padding:4px!important;font-size:25px!important;line-height:1;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--green,#78be20)}#wagonRows td:nth-child(15)>button:disabled{opacity:.35}}
#pendingPdfWarning .secondary{margin-top:6px;white-space:normal}
