:root{font:14px/1.5 'Segoe UI',Arial,sans-serif;color:#24313b;background:#f6f8fa;--line:#d9e1e7;--blue:#e7f1fa;--gold:#e9a72b}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #c6d0d8;background:white;color:#263542;border-radius:5px;padding:8px 13px}button:hover{background:#edf3f8}button:disabled{cursor:wait;opacity:.6}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #3676a4;outline-offset:2px}header{height:100px;display:flex;align-items:center;gap:48px;padding:18px 30px;background:#181818;color:white}.brand{font-size:29px;letter-spacing:5px;color:#f4d58b;font-weight:650;min-width:193px}.brand span{display:block;font-size:11px;letter-spacing:.3px;color:#c7c7c7;font-weight:400}h1{font-size:24px;font-weight:500;margin:0}header p{margin:4px 0 0;color:#bcbcbc;font-size:12px}.local{margin-left:auto;font-size:12px;color:#d0d9dc;white-space:nowrap}.local i{display:inline-block;width:7px;height:7px;background:#80bda4;border-radius:50%;margin-right:7px}.modules{display:flex;background:#303030;padding-left:200px;color:#bfc1c3;height:46px}.modules>span{padding:12px 27px;border-right:1px solid #4a4a4a;min-width:95px}.modules .active{background:#414141;color:#f4d58b;border-bottom:3px solid var(--gold)}.modules small{font-size:11px;margin-left:8px}.shell{display:grid;grid-template-columns:200px minmax(0,1fr);min-height:calc(100vh - 183px)}aside{background:#fff9eb;border-right:1px solid #dfd9c9;position:relative}#today{background:var(--blue);padding:20px 22px;font-size:13px;min-height:65px}.quick{padding:13px 22px;background:var(--gold);font-size:12px;letter-spacing:1px;font-weight:650}nav button{border:0;border-radius:0;border-bottom:1px solid #e6d7b8;padding:18px 22px;width:100%;text-align:left;background:#f4d58b}nav button:hover{background:#edc46b}nav button[aria-current=page]{background:#eed09a;font-weight:650;border-left:4px solid #a46c0c;padding-left:18px}.aside-note{padding:30px 22px;color:#8c7c5c;font-size:11px;line-height:1.9}main{padding:28px 32px 40px;min-width:0;max-width:none}h2{font-weight:550;font-size:23px;letter-spacing:-.4px;margin:0}h3{margin:0;font-weight:600;font-size:16px}p{margin:6px 0 0}.muted{color:#657583;font-size:12px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}.primary{border-color:var(--gold);background:var(--gold);color:#32230c;font-weight:600}.primary:hover{background:#d99620}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat{background:var(--blue);padding:18px 21px;border:1px solid #d6e5f2;border-radius:6px}.stat strong{font-size:29px;font-weight:550;display:block;margin-top:3px}.stat span{font-size:12px;color:#526b7e}.filters{display:flex;align-items:center;gap:15px;padding:14px 18px;background:white;border:1px solid var(--line);border-bottom:0;border-radius:6px 6px 0 0}.filters label{display:flex;align-items:center;gap:8px;font-size:12px}.filters input[type=search]{margin-left:auto;width:240px}.tablewrap{border:1px solid var(--line);border-radius:0 0 6px 6px;overflow:auto;background:white}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:11px;letter-spacing:.4px;color:#536b80;background:var(--blue);font-weight:650}td,th{padding:16px 17px;border-bottom:1px solid #e3e9ee}tbody tr:last-child td{border-bottom:0}tbody tr:nth-child(even){background:#f9fbfd}td{font-size:13px}td:first-child strong{font-weight:650}td.actions{white-space:nowrap}td.actions button{font-size:12px;padding:6px 10px}.route{min-width:150px}.time{white-space:nowrap;font-variant-numeric:tabular-nums}.subline{font-size:11px;color:#74818c;display:block;margin-top:3px}.pill{display:inline-block;font-size:11px;padding:4px 9px;border-radius:4px;background:#edf5ef;color:#32614b}.pill.open{background:#fff0ce;color:#83580b}.demo{color:#896218;font-size:11px}.empty{text-align:center;padding:50px 20px;color:#687b8b}.empty strong{display:block;font-size:17px;color:#334b60;margin-bottom:7px}.help{margin-top:16px;color:#6c7a86;font-size:12px}.panel{border:1px solid var(--line);border-radius:6px;background:white;padding:25px;max-width:850px}.panel p{margin:10px 0 20px}.panel code{overflow-wrap:anywhere}footer{background:#ecf1f5;border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:10px 24px;font-size:11px;color:#647581;gap:16px}#notice:not(:empty){padding:12px 16px;background:#e6f3ec;border:1px solid #bfdbc9;margin-bottom:20px;border-radius:5px}#notice.error{background:#fff1ed;border-color:#e8bcb1;color:#9b3426}input,select,textarea{border:1px solid #c8d2db;border-radius:5px;padding:9px 10px;background:white;color:#263b4c;min-width:0}textarea{resize:vertical;min-height:75px}dialog{border:0;border-radius:9px;padding:26px;width:min(710px,calc(100% - 40px));box-shadow:0 20px 80px #14263950;color:#263b4c}dialog::backdrop{background:#13243570}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog-head button{border:0;font-size:25px;padding:0 9px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fields label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600}.fields .wide{grid-column:1/-1}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.danger{color:#a23c32;margin-right:auto;border-color:#d9bcb7}#form-error:not(:empty){color:#a03529;background:#fff0eb;padding:12px;margin-top:18px;border-radius:4px}.backup-result{overflow-wrap:anywhere}#demo-hint{margin-bottom:16px}[hidden]{display:none!important}@media(max-width:1150px){main{padding:24px 20px}.shell{grid-template-columns:180px minmax(0,1fr)}.modules{padding-left:180px}.modules>span{padding-left:20px;padding-right:20px;min-width:75px}header{gap:20px}.local{display:none}td,th{padding:13px 11px}.filters{flex-wrap:wrap}.filters input[type=search]{margin-left:0}.stats{gap:10px}}@media(max-width:760px){.shell{grid-template-columns:1fr}aside{display:none}.modules{padding-left:0}header{padding:15px;height:auto}.brand{min-width:130px}.brand span{font-size:9px}h1{font-size:18px}.fields{grid-template-columns:1fr}.fields .wide{grid-column:auto}.stats{grid-template-columns:1fr 1fr 1fr}.stat{padding:12px}footer{flex-direction:column}.modules small{display:none}}

/* Zeitleisten: Bedienung bleibt außerhalb des scrollenden Rasters. */
.shell>main:has(> #view > .timeline-fixed){display:flex;flex-direction:column;overflow:hidden}
#view:has(> .timeline-fixed){display:flex;flex-direction:column;flex:1;min-height:0}
#view:has(> .timeline-fixed)>.timeline-compact-toolbar{flex:none}
#view>.timeline-fixed{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
.timeline-fixed .timeline-ruler{position:sticky;top:0;z-index:20}
.timeline-fixed .timeline-ruler>.timeline-label{z-index:21}

/* Konto, Darstellung und Betriebsort in der rechten Kopfzeilenspalte. */
header .header-tools{display:grid;grid-template-rows:30px 28px;justify-items:center;align-items:center;gap:20px}
header .header-tools .user-session{grid-row:1;margin:0;padding:0;align-self:stretch}
header .header-tools .account-trigger{gap:8px;padding:0 4px;height:30px}
header .header-tools .account-avatar{width:26px;height:26px;min-width:26px;max-width:26px;font-size:11px}
header .header-tools .avatar-decoration-admin{top:-8px;left:2px;width:24px;height:18px;min-width:24px;max-width:24px}
header .header-tools .theme-toggle{grid-row:2;justify-self:end;height:28px;padding:3px 12px}
footer .local{display:block;margin:0 0 0 auto;align-self:flex-end;font-size:11px;line-height:16px;color:inherit}

#help-dialog .help-content{display:grid;gap:10px}
#help-dialog .help-content p{margin:0 0 10px}
.help-manual-submenu h3{padding:12px 22px 5px;font-size:12px;color:var(--gold)}
.help-manual-submenu button{padding:10px 22px 10px 34px;font-size:12px}
.release-table td{vertical-align:top}.release-table .actions{white-space:normal;min-width:160px}.release-table .actions button{margin:0 4px 5px 0}
.release-dialog{width:min(680px,calc(100% - 32px))}.release-dialog label{display:grid;gap:6px;margin-top:16px}.release-dialog p{margin:10px 0}.release-error{color:#d57869}.release-history-entry{padding:12px 0;border-bottom:1px solid var(--line)}
.account-function-selection{display:flex;flex-wrap:wrap;gap:12px 24px;padding:12px 14px;border:1px solid var(--line);border-radius:5px}.account-function-selection legend{font-size:12px;font-weight:600;padding:0 5px}.fields .account-function-selection label{display:flex;flex-direction:row;align-items:center;gap:7px}
header .header-tools .user-session .account-function-icons{display:flex;align-items:center;gap:4px;max-width:none;flex:none}
header .header-tools .user-session .account-function-symbol{display:flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;min-width:22px;max-width:22px;padding:3px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);background:#263b4c}
.account-function-symbol svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.emergency-warning{padding:12px;border:1px solid #dc9e35;border-left:4px solid #e9a72b;background:#e9a72b18}.release-dialog .emergency-responsibility{display:flex;align-items:flex-start;gap:10px;font-weight:600}.emergency-responsibility input{flex:none;margin-top:5px}.hold-release{touch-action:none;user-select:none;background:linear-gradient(to right,#b57412 var(--hold-progress,0%),var(--gold) var(--hold-progress,0%));min-width:290px}.emergency-dashboard{max-width:none}.emergency-event{padding:18px 0;border-bottom:1px solid var(--line)}.emergency-event .toolbar{margin:0 0 8px}.emergency-event p{margin:8px 0}.emergency-event h3{font-size:16px}

/* Lokales Firmenlogo mit transparenter Konturvariante. */
.brand{display:flex;align-items:center;gap:14px}.brand>img{display:block;width:74px;height:78px;object-fit:contain;flex:none}

.contact{overflow-wrap:anywhere;max-width:240px} .fields input[type=email],.fields input[type=tel]{width:100%}


.supplier-fields{padding:14px;background:#f5f8fb;border:1px solid var(--line);border-radius:5px}.supplier-fields>label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600}.supplier-fields>button{margin-top:10px}.toolbar-actions{display:flex;gap:10px;flex-wrap:wrap}.missing-supplier{color:#9b432b;font-weight:600}

#local-clock{display:block;margin-top:5px;font-size:16px;font-variant-numeric:tabular-nums;letter-spacing:.5px}

#today{text-align:center}#local-clock{font-weight:700}

.station-source{background:#e7f1fa;border:1px solid #d6e5f2;border-radius:6px;padding:16px 20px;margin-bottom:20px}.station-source>strong,.station-source>span{display:block;margin-bottom:4px}.station-source details{font-size:12px;margin-top:10px}.station-source details p{margin:8px 0}.station-source summary{cursor:pointer}.station-code{white-space:pre;font-family:Consolas,monospace;font-weight:600}.station-pages{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:15px;font-size:12px}#stations-search{width:300px;margin-left:0}

/* Feste App-Shell: nur der Arbeitsbereich und bei Bedarf die Navigation scrollen. */
html{height:100%}
body{height:100vh;height:100dvh;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}
.shell{min-height:0;overflow:hidden}
.shell>aside{min-height:0;overflow-y:auto;overscroll-behavior:contain}
.shell>main{min-height:0;overflow-y:auto;overscroll-behavior:contain}
dialog{max-height:calc(100dvh - 32px);overflow-y:auto}

.vehicle-code{white-space:pre-wrap;font-family:Consolas,monospace}.rental-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}#locomotive-suffix{background:#f0f4f7}@media(max-width:760px){.rental-fields{grid-template-columns:1fr}}

/* Beschrifteter, per Tastatur bedienbarer Ansichtsschalter. */
:root{color-scheme:light}
.header-tools{display:flex;align-items:center;gap:18px;margin-left:auto}
.theme-toggle{display:flex;align-items:center;gap:8px;white-space:nowrap;border:1px solid #626c76;border-radius:20px;padding:8px 12px;background:#252b31;color:#f1f5f9;font-size:12px}
.theme-toggle:hover{background:#35414c;border-color:#88b5d6}
.theme-toggle:focus-visible{outline:3px solid #8ecdf8;outline-offset:3px}
.switch-track{display:block;position:relative;width:30px;height:18px;border-radius:10px;background:#76818c;flex:none}
.switch-track:after{content:'';position:absolute;width:14px;height:14px;left:2px;top:2px;border-radius:50%;background:#fff}
.theme-toggle[aria-checked=true] .switch-track{background:#4b8ebc}
.theme-toggle[aria-checked=true] .switch-track:after{transform:translateX(12px)}
/* Nur bei gewählter dunkler Ansicht; bestehende helle Palette bleibt erhalten. */
:root[data-theme=dark]{color-scheme:dark;color:#e5edf5;background:#171d25;--line:#3b4b5b;--blue:#20364a}
[data-theme=dark] main{background:#181f27}
[data-theme=dark] aside{background:#27231c;border-color:#57482d;color:#efdab0}
[data-theme=dark] #today{background:#243848;color:#e5eef6}
[data-theme=dark] .quick{color:#2c200b;background:#e9a72b}
[data-theme=dark] nav button{background:#4e4026;color:#f3dba4;border-color:#725b36}
[data-theme=dark] nav button:hover{background:#614e2b}
[data-theme=dark] nav button[aria-current=page]{background:#72572c;color:#fff0bd;border-left-color:#e9a72b}
[data-theme=dark] .aside-note{color:#c7b185}
[data-theme=dark] .muted,[data-theme=dark] .help,[data-theme=dark] .subline{color:#adbdcc}
[data-theme=dark] .empty{color:#adbdcc}
[data-theme=dark] .empty strong{color:#dce9f5}
[data-theme=dark] .demo{color:#efd18e}
[data-theme=dark] .stat{background:#20364a;border-color:#3a566e}
[data-theme=dark] .stat span{color:#b8cede}
[data-theme=dark] .filters,[data-theme=dark] .panel,[data-theme=dark] .tablewrap{background:#202a35}
[data-theme=dark] th{background:#24394b;color:#c3d9ea}
[data-theme=dark] td,[data-theme=dark] th{border-bottom-color:#354555}
[data-theme=dark] tbody tr:nth-child(even){background:#1c2631}
[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#18232e;color:#e5edf5;border-color:#60788c}
[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#a0b2c2;opacity:1}
[data-theme=dark] option{background:#18232e;color:#e5edf5}
[data-theme=dark] button{background:#293744;color:#e5edf5;border-color:#5b748a}
[data-theme=dark] button:hover{background:#354a5d}
[data-theme=dark] button:active{background:#203449}
[data-theme=dark] button:focus-visible,[data-theme=dark] input:focus-visible,[data-theme=dark] select:focus-visible,[data-theme=dark] textarea:focus-visible{outline-color:#8ecdf8}
[data-theme=dark] main .primary,[data-theme=dark] dialog .primary{background:#294a65;color:#edf6fe;border-color:#6b97b8}
[data-theme=dark] main .primary:hover,[data-theme=dark] dialog .primary:hover{background:#345e7e;border-color:#8ab9da}
[data-theme=dark] main .primary:active,[data-theme=dark] dialog .primary:active{background:#203d54}
[data-theme=dark] main .primary:disabled,[data-theme=dark] dialog .primary:disabled{background:#294a65}
[data-theme=dark] .theme-toggle{background:#26313c;color:#f1f5f9}
[data-theme=dark] .theme-toggle:hover{background:#354a5d}
[data-theme=dark] dialog{background:#202a35;color:#e5edf5;box-shadow:0 20px 80px #0009}
[data-theme=dark] dialog::backdrop{background:#050b14b3}
[data-theme=dark] .supplier-fields{background:#1c2d3c;border-color:#40596d}
[data-theme=dark] #locomotive-suffix{background:#2b3946;color:#dceaf5}
[data-theme=dark] .station-source{background:#20364a;border-color:#405e77;color:#e5edf5}
[data-theme=dark] a{color:#9ed2f7}
[data-theme=dark] a:visited{color:#ccbfef}
[data-theme=dark] .pill{background:#203d33;color:#b5e4cb}
[data-theme=dark] .pill.open{background:#493b21;color:#f9dca1}
[data-theme=dark] main .vehicle-ownership.open{background:#203e57;color:#c7e4fa}
[data-theme=dark] .missing-supplier{color:#ffc3a3}
[data-theme=dark] #notice:not(:empty){background:#203b31;border-color:#4a7b64;color:#d0eedc}
[data-theme=dark] #notice.error,[data-theme=dark] #form-error:not(:empty){background:#452a2f;border-color:#a26b68;color:#ffd0c6}
[data-theme=dark] .danger{color:#ffc2b7;border-color:#a4736b}
[data-theme=dark] .danger:hover{background:#533337;color:#ffd2c9}
[data-theme=dark] footer{background:#1b2530;color:#b3c3d2;border-color:#3b4b5b}
@media(max-width:760px){.header-tools{gap:8px}.theme-toggle{font-size:11px;padding:7px 8px}}

/* Freigegebene warme Palette: goldene Buttons, hellorange zentrale Akzentflächen. */
main,dialog{--blue:#f9e3b1}
main .stat,main th,main .station-source{background:#f9e3b1;border-color:#e6cb92;color:#47361c}
main .stat span{color:#705b35}
main .supplier-fields{background:#fff2d8;border-color:#e6cf9f;color:#47361c}
#locomotive-suffix{background:#fff2d8;color:#47361c}
main .vehicle-ownership.open{background:#f9e3b1;color:#624617}
main button:focus-visible,dialog button:focus-visible,main input:focus-visible,dialog input:focus-visible,main select:focus-visible,dialog select:focus-visible,main textarea:focus-visible,dialog textarea:focus-visible{outline-color:#a86d12}
.theme-toggle{background:#292929}
.theme-toggle[aria-checked=true] .switch-track{background:#e9a72b}
.theme-toggle[aria-checked=true] .switch-track:after{background:#271d0b}
:root[data-theme=dark]{background:#17191c;color:#eceef1;--line:#494c50}
[data-theme=dark] main{background:#191c20;--blue:#f9e3b1}
[data-theme=dark] dialog{background:#25282d;color:#eceef1;--blue:#f9e3b1}
[data-theme=dark] .filters,[data-theme=dark] .panel,[data-theme=dark] .tablewrap{background:#25282d}
[data-theme=dark] tbody tr:nth-child(even){background:#1f2226}
[data-theme=dark] td{border-bottom-color:#42464b}
[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea,[data-theme=dark] option{background:#202328;color:#eceef1;border-color:#787b81}
[data-theme=dark] button{background:#30343a;border-color:#72767d}
[data-theme=dark] button:hover{background:#42464d}
[data-theme=dark] button:active{background:#272a30}
[data-theme=dark] main .primary,[data-theme=dark] dialog .primary{background:#e9a72b;border-color:#e9a72b;color:#32230c}
[data-theme=dark] main .primary:hover,[data-theme=dark] dialog .primary:hover{background:#d99620;border-color:#d99620}
[data-theme=dark] main .primary:active,[data-theme=dark] dialog .primary:active{background:#c98b1c}
[data-theme=dark] main .primary:disabled,[data-theme=dark] dialog .primary:disabled{background:#e9a72b}
[data-theme=dark] main .stat,[data-theme=dark] main th,[data-theme=dark] main .station-source,[data-theme=dark] .supplier-fields{background:#f9e3b1;color:#47361c;border-color:#d9bd87}
[data-theme=dark] main .stat span,[data-theme=dark] .station-source .muted,[data-theme=dark] .supplier-fields .muted{color:#5f4b29}
[data-theme=dark] .station-source a{color:#704214}
[data-theme=dark] .station-source a:visited{color:#65406d}
[data-theme=dark] #locomotive-suffix{background:#f9e3b1;color:#47361c;border-color:#d9bd87}
[data-theme=dark] main .vehicle-ownership.open{background:#f9e3b1;color:#624617}
[data-theme=dark] button:focus-visible,[data-theme=dark] input:focus-visible,[data-theme=dark] select:focus-visible,[data-theme=dark] textarea:focus-visible{outline-color:#ffd891}
[data-theme=dark] footer{background:#202328;color:#bac4ce;border-color:#494c50}

@media(max-width:760px){header{flex-wrap:wrap;gap:12px}.header-tools{margin-left:auto}}


/* Obere Module: bestehende Stammdaten und zwei bewusst leere Arbeitsseiten. */
.modules>button{height:46px;border:0;border-right:1px solid #4a4a4a;border-radius:0;padding:12px 27px;min-width:95px;background:transparent;color:inherit;font:inherit}
.modules>button:hover{background:#3b3b3b;color:#f4d58b}
.modules>button.active{background:#414141;color:#f4d58b;border-bottom:3px solid #e9a72b}
.modules>button.active:hover{background:#494949}
.modules>button:focus-visible{outline:2px solid #f4d58b;outline-offset:-4px}
@media(max-width:1150px){.modules>button{padding-left:20px;padding-right:20px;min-width:75px}}

/* Tageszeitleiste: reine Beispieldarstellung, 64 Pixel je Stunde. */
.timeline-toolbar{margin-bottom:16px}.timeline-example-tag{background:#f9e3b1;color:#47361c;border:1px solid #d9bd87;border-radius:5px;padding:5px 10px;font-size:12px;white-space:nowrap}
.timeline-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.timeline-controls p{margin:0}.timeline-controls>div{display:flex;gap:6px}.timeline-controls button{font-size:20px;line-height:1;padding:8px 14px}
.timeline-scroll{width:100%;overflow-x:auto;border:1px solid #d9bd87;border-radius:6px;background:#fff;scrollbar-color:#ad8441 #f2e9d8;scrollbar-width:auto;overscroll-behavior-x:contain;padding-bottom:12px}
.timeline-scroll:focus-visible{outline:3px solid #a46c0c;outline-offset:3px}.timeline-chart{width:1716px;padding-right:10px}.timeline-ruler,.timeline-row{display:grid;grid-template-columns:170px 1536px}
.timeline-label{position:sticky;left:0;z-index:2;background:#fff9eb;border-right:1px solid #d9bd87;padding:20px 16px;display:flex;flex-direction:column;justify-content:center;color:#47361c}.timeline-label span{font-size:12px;margin-top:4px;font-variant-numeric:tabular-nums}.timeline-ruler .timeline-label{background:#f9e3b1;font-size:12px;font-weight:650;z-index:3}
.timeline-axis{position:relative;height:64px;background:#f9e3b1;color:#47361c}.timeline-tick{position:absolute;top:20px;transform:translateX(-50%);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.timeline-tick:first-child{transform:none;padding-left:5px}.timeline-tick:last-child{transform:translateX(-100%);padding-right:5px}.timeline-tick:after{content:'';position:absolute;height:8px;width:1px;background:#b89454;left:50%;top:24px}
.timeline-row{border-top:1px solid #e1d8c8}.timeline-track{height:108px;position:relative;background:repeating-linear-gradient(to right,transparent 0,transparent 31px,#eee8de 31px,#eee8de 32px,transparent 32px,transparent 63px,#d9cdb8 63px,#d9cdb8 64px)}
.timeline-bar{position:absolute;top:24px;height:60px;border:1px solid #b27a14;border-left:4px solid #8b5b08;border-radius:5px;background:#e9a72b;color:#32230c;padding:8px 12px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;white-space:nowrap;font-variant-numeric:tabular-nums}.timeline-bar span{font-size:12px}
[data-theme=dark] .timeline-scroll{background:#25282d;border-color:#8a7550;scrollbar-color:#b08b4d #30343a}[data-theme=dark] .timeline-row{border-color:#555046}[data-theme=dark] .timeline-row .timeline-label{background:#30302d;color:#eceef1;border-color:#75664e}[data-theme=dark] .timeline-track{background:repeating-linear-gradient(to right,transparent 0,transparent 31px,#343638 31px,#343638 32px,transparent 32px,transparent 63px,#555046 63px,#555046 64px)}

.timeline-hour-0{left:0px}
.timeline-hour-1{left:64px}
.timeline-hour-2{left:128px}
.timeline-hour-3{left:192px}
.timeline-hour-4{left:256px}
.timeline-hour-5{left:320px}
.timeline-hour-6{left:384px}
.timeline-hour-7{left:448px}
.timeline-hour-8{left:512px}
.timeline-hour-9{left:576px}
.timeline-hour-10{left:640px}
.timeline-hour-11{left:704px}
.timeline-hour-12{left:768px}
.timeline-hour-13{left:832px}
.timeline-hour-14{left:896px}
.timeline-hour-15{left:960px}
.timeline-hour-16{left:1024px}
.timeline-hour-17{left:1088px}
.timeline-hour-18{left:1152px}
.timeline-hour-19{left:1216px}
.timeline-hour-20{left:1280px}
.timeline-hour-21{left:1344px}
.timeline-hour-22{left:1408px}
.timeline-hour-23{left:1472px}
.timeline-hour-24{left:1536px}
.timeline-example-0{left:128px;width:352px}.timeline-example-1{left:512px;width:512px}.timeline-example-2{left:1152px;width:320px}

/* Durchlaufender Kalender mit Fahrzeugzeilen. */
.timeline-continuous .timeline-chart{width:max-content;padding-right:0;min-width:100%}
.timeline-continuous .timeline-ruler,.timeline-continuous .timeline-row{grid-template-columns:170px auto}
.timeline-days{display:flex}.timeline-day{width:1536px;flex:none;border-left:2px solid #b89454}.timeline-day-title{height:38px;background:#f3d59b;color:#47361c;padding:8px 16px;font-weight:650;font-size:13px}.timeline-day-title.timeline-current-day{background:#e9a72b;color:#32230c}
.timeline-continuous .timeline-axis{height:55px}.timeline-continuous .timeline-tick{top:14px}.timeline-continuous .timeline-track{width:1536px;flex:none;display:grid;grid-template-columns:repeat(48,32px);border-left:2px solid #b89454}
.timeline-continuous .timeline-bar{position:relative;left:auto;top:auto;width:auto;align-self:center;grid-row:1;margin:0;border-radius:3px;padding:8px;z-index:1}
.timeline-slot-0{grid-column-start:1}
.timeline-slot-1{grid-column-start:2}
.timeline-slot-2{grid-column-start:3}
.timeline-slot-3{grid-column-start:4}
.timeline-slot-4{grid-column-start:5}
.timeline-slot-5{grid-column-start:6}
.timeline-slot-6{grid-column-start:7}
.timeline-slot-7{grid-column-start:8}
.timeline-slot-8{grid-column-start:9}
.timeline-slot-9{grid-column-start:10}
.timeline-slot-10{grid-column-start:11}
.timeline-slot-11{grid-column-start:12}
.timeline-slot-12{grid-column-start:13}
.timeline-slot-13{grid-column-start:14}
.timeline-slot-14{grid-column-start:15}
.timeline-slot-15{grid-column-start:16}
.timeline-slot-16{grid-column-start:17}
.timeline-slot-17{grid-column-start:18}
.timeline-slot-18{grid-column-start:19}
.timeline-slot-19{grid-column-start:20}
.timeline-slot-20{grid-column-start:21}
.timeline-slot-21{grid-column-start:22}
.timeline-slot-22{grid-column-start:23}
.timeline-slot-23{grid-column-start:24}
.timeline-slot-24{grid-column-start:25}
.timeline-slot-25{grid-column-start:26}
.timeline-slot-26{grid-column-start:27}
.timeline-slot-27{grid-column-start:28}
.timeline-slot-28{grid-column-start:29}
.timeline-slot-29{grid-column-start:30}
.timeline-slot-30{grid-column-start:31}
.timeline-slot-31{grid-column-start:32}
.timeline-slot-32{grid-column-start:33}
.timeline-slot-33{grid-column-start:34}
.timeline-slot-34{grid-column-start:35}
.timeline-slot-35{grid-column-start:36}
.timeline-slot-36{grid-column-start:37}
.timeline-slot-37{grid-column-start:38}
.timeline-slot-38{grid-column-start:39}
.timeline-slot-39{grid-column-start:40}
.timeline-slot-40{grid-column-start:41}
.timeline-slot-41{grid-column-start:42}
.timeline-slot-42{grid-column-start:43}
.timeline-slot-43{grid-column-start:44}
.timeline-slot-44{grid-column-start:45}
.timeline-slot-45{grid-column-start:46}
.timeline-slot-46{grid-column-start:47}
.timeline-slot-47{grid-column-start:48}
.timeline-span-4{grid-column-end:span 4}.timeline-span-6{grid-column-end:span 6}
.timeline-continuous .timeline-chart{position:relative;min-height:240px}
.timeline-continuous .timeline-day,.timeline-continuous .timeline-track{border-left:0;box-shadow:inset 2px 0 #b89454}
.timeline-day-title>span{position:sticky;left:186px;display:inline-block}
.timeline-now{position:absolute;top:38px;bottom:0;width:4px;background:#f16f75;z-index:4;pointer-events:none}

.timeline-span-11{grid-column-end:span 11}

/* Zeitraum auf die verfügbare Breite einpassen. */
.timeline-period{display:flex;align-items:center;gap:12px;margin:0 0 16px;flex-wrap:wrap}.timeline-period label{font-weight:600;font-size:12px}.timeline-period select{min-width:150px}
.timeline-continuous .timeline-day,.timeline-continuous .timeline-track{width:var(--timeline-day-width,1536px)}
.timeline-continuous .timeline-track{grid-template-columns:repeat(48,minmax(0,1fr));background:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--timeline-hour-width) - 1px),#d9cdb8 calc(var(--timeline-hour-width) - 1px),#d9cdb8 var(--timeline-hour-width))}
.timeline-continuous .timeline-day-title{height:54px;padding:6px 4px;font-size:11px;line-height:20px;overflow:hidden;text-align:center;white-space:nowrap}.timeline-day-title>span{position:static}
.timeline-continuous .timeline-tick{font-size:10px;transform:none;padding-left:3px}.timeline-continuous .timeline-tick:after{left:0}
.timeline-continuous .timeline-bar{min-width:0;padding:5px 2px;font-size:11px}.timeline-continuous .timeline-bar span{font-size:10px}
.timeline-compact .timeline-axis{height:24px}.timeline-overview .timeline-bar{border-left-width:2px}.timeline-overview .timeline-bar strong,.timeline-overview .timeline-bar span{visibility:hidden}
.timeline-continuous .timeline-now{top:54px}
[data-theme=dark] .timeline-continuous .timeline-track{background:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--timeline-hour-width) - 1px),#555046 calc(var(--timeline-hour-width) - 1px),#555046 var(--timeline-hour-width))}
.timeline-continuous .timeline-hour-0{left:calc(var(--timeline-day-width) * 0)}
.timeline-continuous .timeline-hour-1{left:calc(var(--timeline-day-width) * 0.041666666666666664)}
.timeline-continuous .timeline-hour-2{left:calc(var(--timeline-day-width) * 0.08333333333333333)}
.timeline-continuous .timeline-hour-3{left:calc(var(--timeline-day-width) * 0.125)}
.timeline-continuous .timeline-hour-4{left:calc(var(--timeline-day-width) * 0.16666666666666666)}
.timeline-continuous .timeline-hour-5{left:calc(var(--timeline-day-width) * 0.20833333333333334)}
.timeline-continuous .timeline-hour-6{left:calc(var(--timeline-day-width) * 0.25)}
.timeline-continuous .timeline-hour-7{left:calc(var(--timeline-day-width) * 0.2916666666666667)}
.timeline-continuous .timeline-hour-8{left:calc(var(--timeline-day-width) * 0.3333333333333333)}
.timeline-continuous .timeline-hour-9{left:calc(var(--timeline-day-width) * 0.375)}
.timeline-continuous .timeline-hour-10{left:calc(var(--timeline-day-width) * 0.4166666666666667)}
.timeline-continuous .timeline-hour-11{left:calc(var(--timeline-day-width) * 0.4583333333333333)}
.timeline-continuous .timeline-hour-12{left:calc(var(--timeline-day-width) * 0.5)}
.timeline-continuous .timeline-hour-13{left:calc(var(--timeline-day-width) * 0.5416666666666666)}
.timeline-continuous .timeline-hour-14{left:calc(var(--timeline-day-width) * 0.5833333333333334)}
.timeline-continuous .timeline-hour-15{left:calc(var(--timeline-day-width) * 0.625)}
.timeline-continuous .timeline-hour-16{left:calc(var(--timeline-day-width) * 0.6666666666666666)}
.timeline-continuous .timeline-hour-17{left:calc(var(--timeline-day-width) * 0.7083333333333334)}
.timeline-continuous .timeline-hour-18{left:calc(var(--timeline-day-width) * 0.75)}
.timeline-continuous .timeline-hour-19{left:calc(var(--timeline-day-width) * 0.7916666666666666)}
.timeline-continuous .timeline-hour-20{left:calc(var(--timeline-day-width) * 0.8333333333333334)}
.timeline-continuous .timeline-hour-21{left:calc(var(--timeline-day-width) * 0.875)}
.timeline-continuous .timeline-hour-22{left:calc(var(--timeline-day-width) * 0.9166666666666666)}
.timeline-continuous .timeline-hour-23{left:calc(var(--timeline-day-width) * 0.9583333333333334)}
.timeline-compact .timeline-track,[data-theme=dark] .timeline-compact .timeline-track{background:none}

/* Kompakter Kopf für Datum, Uhrzeiten und Fahrzeugüberschrift. */
.timeline-continuous .timeline-day-title{height:38px;padding:3px 4px;line-height:16px}
.timeline-continuous .timeline-axis{height:36px}
.timeline-continuous .timeline-tick{top:4px}
.timeline-continuous .timeline-tick:after{top:19px;height:6px}
.timeline-continuous .timeline-ruler>.timeline-label{padding-top:8px;padding-bottom:8px}
.timeline-compact .timeline-axis{height:18px}
.timeline-continuous .timeline-now{top:38px}


/* Geburtstagerinnerung im Dashboard, nach dem echten lokalen Kalendertag. */
.birthday-reminder{border:1px solid #d9bd87;border-radius:6px;background:#fff9eb;padding:16px 20px;margin-bottom:24px;color:#47361c}
.birthday-reminder-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.birthday-preview{font-size:11px;color:#6b542f;background:#f9e3b1;padding:3px 8px;border-radius:4px}
.birthday-reminder-columns{display:grid;grid-template-columns:1fr 2fr;gap:24px}.birthday-reminder h4{font-size:12px;margin:0 0 4px;font-weight:650}.birthday-reminder p{font-size:12px;margin:0}.birthday-reminder ul{margin:0;padding-left:16px;font-size:12px}.birthday-reminder .birthday-today{font-weight:650}.birthday-reminder .birthday-yesterday,.birthday-reminder .birthday-missing{border-top:1px solid #e6d7b8;margin-top:12px;padding-top:9px}.birthday-reminder .muted{color:#6b542f}
[data-theme=dark] .birthday-reminder{background:#30302d;color:#eceef1;border-color:#75664e}[data-theme=dark] .birthday-reminder .muted{color:#d1c5af}[data-theme=dark] .birthday-reminder .birthday-yesterday,[data-theme=dark] .birthday-reminder .birthday-missing{border-color:#75664e}
@media(max-width:760px){.birthday-reminder-columns{grid-template-columns:1fr;gap:12px}.birthday-reminder-heading{flex-wrap:wrap}}

/* Kompakte Geburtstagserinnerung unten rechts im Dashboard. */
#view:has(>.birthday-reminder){display:flex;flex-direction:column;min-height:100%}
.birthday-reminder{width:50%;margin:20px 0 0 auto;padding:12px 15px;flex-shrink:0}
#view>.birthday-reminder{margin-top:auto}
.birthday-reminder-heading{gap:8px;margin-bottom:8px}.birthday-reminder-heading h3{font-size:14px}
.birthday-reminder-columns{grid-template-columns:1fr 1.4fr;gap:16px}
.birthday-reminder .birthday-yesterday,.birthday-reminder .birthday-missing{margin-top:8px;padding-top:7px}
.birthday-reminder li.birthday-soon{background:#f9e3b1;color:#47361c;border-left:3px solid #c78614;padding:5px 7px;margin:4px 0;list-style:none}
.birthday-reminder .birthday-soon .muted,[data-theme=dark] .birthday-reminder .birthday-soon .muted{color:#68440d}
@media(max-width:1000px){.birthday-reminder{width:65%}.birthday-reminder-columns{grid-template-columns:1fr;gap:9px}.birthday-reminder-heading{flex-wrap:wrap}}
@media(max-width:760px){.birthday-reminder{width:100%}}

/* Vollständige UIC klein am unteren Rand jeder Fahrzeugbeschriftung. */
.timeline-row>.timeline-label{padding-bottom:25px}
.timeline-uic{position:absolute;left:16px;right:6px;bottom:5px;font-size:9px;line-height:13px;font-weight:400;white-space:nowrap;letter-spacing:0;color:#756344;font-variant-numeric:tabular-nums}
[data-theme=dark] .timeline-uic{color:#c9bfae}

/* Zunächst leerer Statusbereich unter jedem Fahrzeug, über alle Tabellenspalten. */
.vehicle-status-row>td{padding:0 16px 16px;background:#fff9eb;border-bottom:2px solid #d9bd87}
.vehicle-status-field{width:100%;min-height:82px;border:1px solid #d9bd87;border-radius:4px;background:#fff;padding:10px 14px;color:#47361c}
.vehicle-status-field>strong{font-size:12px;font-weight:600}.vehicle-status-space{min-height:35px}
[data-theme=dark] .vehicle-status-row>td{background:#25282d;border-bottom-color:#75664e}[data-theme=dark] .vehicle-status-field{background:#202328;border-color:#75664e;color:#eceef1}

/* Lieferantendetails und lokale Logo-Vorschau. */
.supplier-rental-details{margin:0;border:1px solid #d9bd87;border-radius:5px;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.supplier-rental-details legend,.supplier-logo-fields legend{font-size:13px;font-weight:650;padding:0 5px}.supplier-rental-details>.wide{grid-column:1/-1}.supplier-extension-actions{display:flex;gap:8px;flex-wrap:wrap}#supplier-extensions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.supplier-logo-fields{margin:0;border:1px solid #d9bd87;border-radius:5px;padding:14px}.supplier-logo-fields>p{margin:8px 0}.supplier-logo-fields input[type=file]{max-width:100%}.supplier-logo-fields>button{margin-top:8px}.supplier-logo-preview{display:block;max-width:96px;max-height:72px;object-fit:contain;background:#fff;border:1px solid #ddd;padding:4px}.supplier-company{display:flex;align-items:center;gap:10px}.supplier-logo{width:40px;height:40px;object-fit:contain;background:#fff;border-radius:3px;flex-shrink:0}
[data-theme=dark] .supplier-rental-details,[data-theme=dark] .supplier-logo-fields{border-color:#75664e}
@media(max-width:760px){.supplier-rental-details,#supplier-extensions{grid-template-columns:1fr}}

.supplier-delete{color:#a23c32;border-color:#d9bcb7;margin-top:5px}[data-theme=dark] .supplier-delete{color:#ffb1a6;border-color:#b5837b}

.vehicle-rental-details{margin:0;border:1px solid #d9bd87;border-radius:5px;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.vehicle-rental-details legend{font-size:13px;font-weight:650;padding:0 5px}.vehicle-rental-details>.wide{grid-column:1/-1}#vehicle-extensions{display:grid;grid-template-columns:1fr 1fr;gap:12px}[data-theme=dark] .vehicle-rental-details{border-color:#75664e}@media(max-width:760px){.vehicle-rental-details,#vehicle-extensions{grid-template-columns:1fr}}

.timeline-supplier-logo{position:absolute;top:6px;right:6px;width:28px;height:20px;object-fit:contain;background:#fff;border-radius:2px;padding:2px}

.timeline-rental-tooltip{position:fixed;z-index:1000;width:220px;max-width:calc(100vw - 24px);padding:12px 14px;border:1px solid #c8a365;border-radius:7px;background:#fff9eb;color:#47361c;box-shadow:0 5px 20px #1e273633;pointer-events:none;font-size:12px;line-height:1.5}
.timeline-rental-tooltip:after{content:'';position:absolute;right:-6px;top:50%;width:10px;height:10px;transform:translateY(-50%) rotate(45deg);background:inherit;border-top:1px solid #c8a365;border-right:1px solid #c8a365}
.timeline-rental-tooltip>strong{display:block;font-size:13px}.timeline-rental-tooltip>span{display:block;font-size:11px;margin-top:2px}.timeline-rental-tooltip>p{margin:8px 0 0;font-weight:650;font-variant-numeric:tabular-nums}.timeline-rental-tooltip>small{display:block;margin-top:7px;font-size:10px}
[data-theme=dark] .timeline-rental-tooltip{background:#30302d;color:#eceef1;border-color:#b08b4d}
.timeline-label[data-timeline-vehicle]:focus-visible{outline:2px solid #a46c0c;outline-offset:-3px}

.people-group-row>th{padding:10px 17px;background:#f3d59b;color:#47361c;border-top:2px solid #c6a56d;border-bottom:1px solid #d9bd87;font-size:12px;letter-spacing:.2px;font-weight:650}.people-group-row>th span{font-weight:400}.people-group:first-of-type .people-group-row>th{border-top-width:1px}[data-theme=dark] main .people-group-row>th{background:#e4c78e;color:#47361c;border-color:#ad8d58}

.people-unified-header>th{font-size:11px;padding-top:12px;padding-bottom:12px}.people-unified-header>th:first-child{white-space:nowrap;letter-spacing:0}.people-unified-header .people-name-caption{font-size:10px;font-weight:400}

.timeline-span-28{grid-column-end:span 28}.timeline-span-24{grid-column-end:span 24}

/* Zwei siebenstündige Beispielbesetzungen unter jeder 14-Stunden-Testleistung. */
.timeline-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:11px;margin:0 0 12px;color:#52616b}.timeline-legend>span{display:inline-flex;align-items:center;gap:6px}.timeline-legend i{display:inline-block;width:14px;height:10px;border:1px solid #0002;border-radius:2px}.legend-service{background:#e9a72b}.legend-staff-first{background:#8ec7e6}.legend-staff-second{background:#c9b3e6}
.timeline-continuous .timeline-track{height:156px}
.timeline-continuous .timeline-service-bar{height:48px;align-self:start;margin-top:14px}
.timeline-continuous .timeline-staff-bar{height:48px;align-self:start;margin-top:88px;padding:6px 5px;font-size:11px;border-width:1px;border-left-width:3px}
.timeline-continuous .timeline-staff-1{background:#8ec7e6;color:#173c56;border-color:#4a86aa}.timeline-continuous .timeline-staff-2{background:#c9b3e6;color:#3e285b;border-color:#9270b5}
.timeline-span-14{grid-column-end:span 14}.timeline-span-10{grid-column-end:span 10}
[data-theme=dark] .timeline-legend{color:#d1d5da}
.timeline-continuous .timeline-track{height:124px}
.timeline-continuous .timeline-service-bar{height:36px;margin-top:10px;padding:3px 5px;line-height:1.25}
.timeline-continuous .timeline-staff-bar{height:36px;margin-top:56px;padding:3px 5px;line-height:1.25}

.timeline-rental-tooltip .tooltip-contact-row{margin:8px 0 0;font-size:12px;font-weight:400;overflow-wrap:anywhere}.tooltip-contact-row>small{display:block;font-size:10px;font-weight:600}.tooltip-contact-row>span{display:block}.timeline-staff-bar:focus-visible{outline:2px solid #173c56;outline-offset:2px}

.timeline-legend{align-items:center}.timeline-hover-toggle{margin-left:auto}

.service-customer-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:760px){.service-customer-row{grid-template-columns:1fr}}

.customer-contact-fields{margin:0;border:1px solid #d9bd87;border-radius:5px;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.customer-contact-fields legend{font-size:13px;font-weight:650;padding:0 5px}.customer-contact-fields>.wide{grid-column:1/-1}.customer-address{white-space:pre-line;min-width:140px}[data-theme=dark] .customer-contact-fields{border-color:#75664e}@media(max-width:760px){.customer-contact-fields{grid-template-columns:1fr}}

.customer-back{margin-bottom:10px;font-size:12px}.customer-contact-fields{min-width:0}

.location-point-fields{border:1px solid #d9bd87;border-radius:5px;margin:0;padding:14px;min-width:0}.location-point-fields legend{font-size:13px;font-weight:650;padding:0 5px}.location-point-search{display:flex;align-items:flex-end;gap:8px}.location-point-search>label{flex:1}.location-point-choice{display:flex;flex-direction:column;padding:9px 11px;margin:10px 0;background:#fff3d8;color:#47361c;border-radius:4px}.location-point-table{max-height:245px;overflow:auto;margin-top:10px;border:1px solid #d9bd87}.location-point-table td,.location-point-table th{padding:8px;font-size:11px}.location-point-pages{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;font-size:11px}.location-point-fields>p{margin-top:8px}.location-point-fields .station-code{white-space:pre}
[data-theme=dark] .location-point-fields,[data-theme=dark] .location-point-table{border-color:#75664e}@media(max-width:760px){.location-point-search{flex-wrap:wrap}}
/* Ausfallstatus: ganze Fahrzeuggruppe bleibt erkennbar, auch im Dunkelmodus. */
.vehicle-actions{min-width:225px}.vehicle-failure-button{background:#ba303d;color:#fff;border:1px solid #9e2230}.vehicle-failure-button:hover{background:#9e2230;color:#fff}.vehicle-failure-button[aria-pressed=true]{background:#84202b;color:#fff}.vehicle-failed>td,.vehicle-status-row.vehicle-failed>td{background:#fbe1e3;color:#64222b}.vehicle-failed .vehicle-status-field{background:#ffedef;border-color:#d57680;color:#64222b}.vehicle-failure-label{background:#ba303d;color:#fff}.vehicle-status-space{padding-top:9px}.vehicle-failed .muted{color:#76434a}
[data-theme=dark] .vehicle-failed>td,[data-theme=dark] .vehicle-status-row.vehicle-failed>td{background:#48292f;color:#ffe4e7}[data-theme=dark] .vehicle-failed .vehicle-status-field{background:#382329;border-color:#b65f6b;color:#ffe4e7}[data-theme=dark] .vehicle-failed .muted{color:#efbbc2}[data-theme=dark] .vehicle-failure-button{background:#b42c3c;color:#fff;border-color:#d66b77}
/* Derselbe gespeicherte Ausfallstatus färbt die vollständige Zeitleistenzeile. */
.timeline-row.timeline-vehicle-failed>.timeline-label{background:#fbe1e3;color:#64222b;border-color:#d57680}.timeline-continuous .timeline-vehicle-failed .timeline-track{background-color:#fbe1e3}
[data-theme=dark] .timeline-row.timeline-vehicle-failed>.timeline-label{background:#48292f;color:#ffe4e7;border-color:#b65f6b}[data-theme=dark] .timeline-continuous .timeline-vehicle-failed .timeline-track{background-color:#48292f}
.service-point-field{min-width:0;margin:0;border:1px solid #d9bd87;border-radius:4px;padding:12px}.service-point-field legend,.service-stop-fields legend{font-weight:600;font-size:13px}.service-point-field details{margin-top:9px}.service-point-field summary{cursor:pointer;color:#835812;font-size:12px}.service-point-field .location-point-search{display:flex;align-items:flex-end;gap:8px;margin-top:10px}.service-point-field .location-point-search label{flex:1;min-width:0}.service-point-results{max-height:230px;overflow:auto}.service-point-results>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid #d9bd87}.service-point-results button{padding:7px;font-size:11px;flex:none}.service-stop-fields{min-width:0;border:1px solid #d9bd87;border-radius:4px;padding:12px}.service-stop-fields [hidden]{display:none!important}#service-stops{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}[data-theme=dark] .service-point-field,[data-theme=dark] .service-stop-fields{border-color:#75664e}[data-theme=dark] .service-point-field summary{color:#ffd184}@media(max-width:760px){#service-stops{grid-template-columns:1fr}}
.service-route{min-width:210px;max-width:380px;overflow-wrap:anywhere}
.service-train-details{min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:16px;border:1px solid #d9bd87;border-radius:4px;padding:12px}.service-train-details legend{font-weight:600;font-size:13px}[data-theme=dark] .service-train-details{border-color:#75664e}@media(max-width:760px){.service-train-details{grid-template-columns:1fr}}
.service-quantity{white-space:nowrap}.service-list-table{min-width:1480px}.service-list-table th{white-space:normal}.service-list-table th:nth-child(8){max-width:140px;white-space:nowrap}

/* Schmalere Bereichsnavigation; Kopfleiste bleibt bündig. */
aside nav button{padding-left:16px;padding-right:16px}aside nav button[aria-current=page]{padding-left:12px}aside .quick{padding-left:16px;padding-right:16px}aside #today{padding-left:14px;padding-right:14px}aside .aside-note{padding-left:16px;padding-right:16px}
/* Vorplanung und gespeicherte Leistungsbalken. */
.planning-table{min-width:1040px}.planning-table select{min-width:210px;max-width:300px;width:100%}.planning-actions{display:flex;gap:7px;flex-wrap:wrap;min-width:190px}.planning-actions button{font-size:12px}.planning-failed{color:#a52636;font-weight:600}[data-theme=dark] .planning-failed{color:#ffb2bd}
.handoff-history{margin-top:28px}.handoff-history .toolbar{margin-bottom:12px}.handoff-history table{min-width:760px}
.timeline-service-lane{position:relative}.timeline-continuous .timeline-assigned-service{position:absolute;top:10px;left:0;width:0;height:36px;margin:0;padding:3px 5px;align-self:auto;text-align:left;z-index:1;min-width:0;max-width:none;background:#e9a72b;color:#32230c}.timeline-continuous .timeline-assigned-service:hover{background:#f4b83d}.timeline-assigned-service:focus-visible{outline:3px solid #835812;outline-offset:2px}.timeline-overview .timeline-assigned-service strong,.timeline-overview .timeline-assigned-service span{visibility:visible}.timeline-compact .timeline-assigned-service strong,.timeline-compact .timeline-assigned-service span{visibility:hidden}
/* Vertrieb und Vorplanung als zweizeilige Arbeitsbereiche. */
.modules{height:58px}.modules>button{height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding-top:6px;padding-bottom:6px;line-height:1.2}.modules .module-title{font-size:14px}.modules .module-subtitle{display:block;margin-left:0;font-size:11px;font-weight:400;line-height:1.1;letter-spacing:.1px}.modules>span{height:58px;display:flex;align-items:center;justify-content:center;padding-top:6px;padding-bottom:6px}
.timeline-navigation{display:flex;gap:6px;margin-left:auto}.timeline-navigation button{font-size:20px;line-height:1;padding:8px 14px}
/* Ausschließlich die Bedienung oberhalb des Kalenders verdichten. */
.timeline-compact-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;row-gap:8px;min-height:34px;margin-bottom:10px}.timeline-compact-toolbar h2{font-size:20px;margin:0 4px 0 0;white-space:nowrap}.timeline-compact-toolbar .timeline-period{margin:0;gap:7px;flex-wrap:nowrap}.timeline-compact-toolbar .timeline-period label{white-space:nowrap}.timeline-compact-toolbar .timeline-period select{min-width:125px;width:125px;height:32px;padding:5px 8px;font-size:12px}.timeline-compact-toolbar .timeline-navigation{margin-left:0;gap:4px}.timeline-compact-toolbar .timeline-navigation button{height:32px;padding:4px 10px;font-size:16px}.timeline-compact-toolbar #timeline-today{font-size:12px}.timeline-compact-toolbar .timeline-legend{margin:0 0 0 auto;gap:10px;flex-wrap:nowrap;white-space:nowrap}.timeline-compact-toolbar .timeline-hover-toggle{margin-left:0;padding:5px 10px;height:32px;white-space:nowrap;flex-shrink:0}@media(max-width:1100px){.timeline-compact-toolbar .timeline-legend{margin-left:0}}
.alarm-tone-toggle{border:1px solid #bc6671;border-radius:20px;padding:8px 12px;background:#602d35;color:#fff1f3;white-space:nowrap;font-size:12px;min-width:133px}.alarm-tone-toggle:hover{background:#783641;color:#fff}.alarm-tone-toggle[aria-pressed=true]{background:#c93445;border-color:#f5a0aa;color:#fff}.alarm-tone-toggle:focus-visible{outline:3px solid #ffc0c8;outline-offset:3px}.header-tools{flex-wrap:wrap;justify-content:flex-end;min-width:0;gap:12px}@media(max-width:1150px){.header-tools{gap:6px}.alarm-tone-toggle{padding:7px 10px;min-width:123px;font-size:11px}}
/* Vertriebsansicht: eine Zeile je Leistung, unabhängig von einer Fahrzeugzuordnung. */
.timeline-services .sales-service-row .timeline-label{padding:18px 12px;min-height:200px;gap:3px;overflow:hidden}
.timeline-services .sales-service-row .timeline-label>strong{font-size:13px}
.timeline-services .sales-service-row .timeline-label>span{font-size:11px;margin:0}
.timeline-services .sales-service-row .timeline-label>small{font-size:10px;overflow-wrap:anywhere}
.timeline-services .sales-label-route{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.timeline-services .sales-workflow{font-weight:650;color:#8b5b08}
.timeline-services.timeline-continuous .timeline-track{height:200px}
.timeline-services.timeline-continuous .sales-service-bar{top:25px;height:100px;padding:2px 3px;display:flex;flex-direction:column;justify-content:flex-start;gap:2px;overflow:hidden;border-left-width:2px;text-align:left}
.timeline-services .sales-service-bar strong{font-size:13px;line-height:1.2}
.timeline-services .sales-service-bar span{font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}
.timeline-services .sales-service-flow{position:absolute;left:10px;right:10px;bottom:11px;height:2px;background:#8b5b08}
.timeline-services .sales-service-flow:before,.timeline-services .sales-service-flow:after{content:'';position:absolute;top:-3px;width:8px;height:8px;background:#8b5b08;border:2px solid #f8d38c;border-radius:50%}
.timeline-services .sales-service-flow:before{left:-3px}
.timeline-services .sales-service-flow:after{right:-3px;border-radius:0;border:0;width:6px;height:6px;top:-2px;transform:rotate(-45deg);background:transparent;border-right:2px solid #8b5b08;border-bottom:2px solid #8b5b08}
.timeline-services .sales-continues-before .sales-service-flow:before,.timeline-services .sales-continues-after .sales-service-flow:after{display:none}
.timeline-services-empty{padding:28px 20px;color:#657583}
.timeline-services .sales-time-open{color:#a23c32}
[data-theme=dark] .timeline-services .sales-workflow{color:#f4d58b}
[data-theme=dark] .timeline-services .sales-time-open{color:#ffc2b7}
[data-theme=dark] .timeline-services-empty{color:#adbdcc}
/* Langsam pulsierender Alarm: nur Kopfleiste und Seitenleiste, ohne Layoutänderung. */
header,.modules{position:relative}header::after,.modules::after,.shell>aside::after{content:"";position:absolute;inset:0;z-index:10;pointer-events:none;background:#f5223c;box-shadow:inset 0 0 30px #ff233b;opacity:0}
body.alarm-active header::after,body.alarm-active .modules::after,body.alarm-active .shell>aside::after{animation:seda-red-alert 1.6s ease-in-out infinite}
@keyframes seda-red-alert{0%,72%,100%{opacity:0}18%,42%{opacity:.48}}
@media(prefers-reduced-motion:reduce){body.alarm-active header::after,body.alarm-active .modules::after,body.alarm-active .shell>aside::after{animation:none;opacity:.3}}

.sales-required{font-weight:800;color:inherit}

.dialog-head{gap:12px;align-items:flex-start}.dialog-head h2{margin-right:auto}.service-required-hint{max-width:255px;margin:0;font-size:11px;line-height:1.45;color:inherit;text-align:right}.service-required-field{min-width:0}.fields .unknown-choice{display:flex;flex-direction:row;align-items:center;gap:6px;margin-top:5px;font-size:11px;font-weight:400}.unknown-choice input{width:auto;margin:0}.service-point-field>.unknown-choice,.service-stop-fields>.unknown-choice{margin-top:8px}
@media(max-width:600px){.service-required-hint{max-width:165px;font-size:10px}}

.service-vehicle-requirements{min-width:0;border:1px solid #d9bd87;border-radius:4px;padding:12px}.service-vehicle-requirements>summary{cursor:pointer;font-size:13px;font-weight:650}.service-vehicle-requirements>summary:focus-visible{outline:3px solid #3676a4;outline-offset:3px}.service-vehicle-requirement-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:12px}.service-vehicle-requirement-fields select{width:100%}[data-theme=dark] .service-vehicle-requirements{border-color:#75664e}@media(max-width:760px){.service-vehicle-requirement-fields{grid-template-columns:minmax(0,1fr)}}

.personnel-station-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.personnel-station-row strong{font-size:12px}.personnel-station-row select{width:100%}.personnel-station-row:first-child{border-top:0;padding-top:0}@media(max-width:600px){.personnel-station-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.personnel-station-row>div{grid-column:1/-1}}

#service-driver-parts{display:grid;gap:12px}.driver-part{min-width:0;margin:0;border:1px solid var(--line);border-radius:4px;padding:10px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:10px}.driver-part legend{font-size:12px;font-weight:650}.driver-part select{width:100%}.timeline-continuous .timeline-assigned-staff{position:absolute;top:51px;margin-top:0;height:32px;background:#d9edf8;border:1px solid #79a5bf;border-left:3px solid #387b9e;color:#173f56;z-index:1}[data-theme=dark] .timeline-continuous .timeline-assigned-staff{background:#23465c;color:#e0f2ff;border-color:#5c91af}@media(max-width:760px){.driver-part{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.driver-part>label:first-of-type{grid-column:1/-1}}

#service-driver-change-first .service-point-field{margin:0}#service-driver-change-extra{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.driver-part-place{font-weight:400;font-size:11px;line-height:1.4}@media(max-width:760px){#service-driver-change-extra{grid-template-columns:minmax(0,1fr)}}

.route-point-options{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;margin-top:12px}.route-point-options>.unknown-choice{margin-top:27px;white-space:nowrap}.route-connection-settings{min-width:0}.route-connection-settings label{font-size:11px}.route-connection-settings select{width:100%;padding:7px;font-size:11px}.route-connection-settings .connection-selector{margin-top:8px}.route-connection-settings p{font-size:10px;line-height:1.4}

.cargo-add-panel{margin-bottom:20px;max-width:620px}.cargo-add-panel label{display:flex;flex-direction:column;gap:6px;font-size:12px;margin-top:12px}.cargo-add-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}#cargo-error:not(:empty){margin-top:10px;color:#a03529}[data-theme=dark] #cargo-error:not(:empty){color:#ffb2bd}
.hotel-search{display:flex;gap:12px;align-items:end;margin:0 0 10px}.hotel-search label{flex:1;max-width:700px}.hotel-source,.hotel-record-source{font-size:12px;line-height:1.5;color:var(--muted,#68717a)}.hotel-workspace{display:grid;grid-template-columns:minmax(420px,1.1fr) minmax(360px,1fr);gap:18px;align-items:start}.hotel-results{min-width:0}.hotel-table{max-height:65vh;overflow:auto}.hotel-table thead{position:sticky;top:0;z-index:1}.hotel-table td{vertical-align:top}.hotel-table small{display:block;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.hotel-table td:last-child{width:125px}.hotel-selected{outline:2px solid #e8ac32;outline-offset:-2px}.hotel-paging{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0}.hotel-detail{min-width:0;margin:0;padding:18px}.hotel-detail-heading{display:flex;justify-content:space-between;align-items:start;gap:12px}.hotel-detail h3{margin:0 0 12px}.hotel-contacts{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px;font-size:13px}.hotel-contacts dt{font-weight:700}.hotel-contacts dd{margin:0;overflow-wrap:anywhere}.hotel-map{height:320px;width:100%;margin-top:16px;border:1px solid #b5bbc1;border-radius:8px;background:#e7ebef;color:#222}.hotel-map-status{font-size:12px;margin:6px 0 14px}.hotel-station-controls{display:grid;gap:8px}.hotel-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hotel-edit-grid label:first-child{grid-column:1/-1}.hotel-edit-actions{display:flex;justify-content:flex-end;gap:10px;margin-bottom:14px}.hotel-map .leaflet-control a{color:#174e7a}.hotel-map .leaflet-control-zoom a{color:#222;background:#fff}.hotel-map .leaflet-tooltip{background:#fff;color:#222}.hotel-map .leaflet-control-attribution{color:#333;background:#ffffffe6}.hotel-source a,.hotel-record-source a{color:inherit;text-decoration:underline}#hotel-message{margin:8px 0}.hotel-map .leaflet-bar a{width:30px;height:30px;padding:0;border-radius:0;box-shadow:none}.hotel-map .leaflet-container a{color:#176ca5}@media(max-width:1100px){.hotel-workspace{grid-template-columns:1fr}.hotel-table{max-height:45vh}}@media(max-width:600px){.hotel-search{align-items:stretch;flex-direction:column}.hotel-edit-grid{grid-template-columns:1fr}.hotel-workspace{display:block}.hotel-map{height:280px}}
.hotel-search label,.hotel-edit-grid label,.hotel-station-controls label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600}.hotel-search input,.hotel-edit-grid input,.hotel-station-controls input,.hotel-station-controls select{width:100%;min-width:0}.hotel-map{isolation:isolate}.hotel-map .leaflet-control-attribution{font-size:10px}.hotel-edit-grid input{font-weight:400}.hotel-detail{max-width:none}.hotel-contacts dt,.hotel-contacts dd{margin-bottom:0}
[data-theme=dark] .hotel-source,[data-theme=dark] .hotel-record-source{color:#b8c5d2}
aside .quick{text-align:center}

/* Unterseiten der Energieverwaltung. */
aside nav .energy-subnavigation button{padding:12px 16px 12px 34px;font-size:13px;background:#f9e5b8}aside nav .energy-subnavigation button:hover{background:#f0d496}aside nav .energy-subnavigation button[aria-current=page]{padding-left:30px;background:#eed09a}[data-theme=dark] aside nav .energy-subnavigation button{background:#433823;color:#f3dba4}[data-theme=dark] aside nav .energy-subnavigation button:hover{background:#614e2b}[data-theme=dark] aside nav .energy-subnavigation button[aria-current=page]{background:#72572c;color:#fff0bd}

.modules #settings-module{margin-left:auto;margin-right:14px;min-width:58px;width:58px;padding:0;flex-shrink:0}.modules #settings-module span{font-family:"Segoe UI Symbol",sans-serif;font-size:28px;line-height:1;display:block}

.energy-contract-sections{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.energy-contract-sections>.panel{max-width:none;min-width:0;min-height:150px}.energy-contract-sections h3{font-size:19px}@media(max-width:900px){.energy-contract-sections{grid-template-columns:1fr}}

.energy-contract-field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;margin-top:18px;max-width:540px}.energy-contract-field input{width:100%;font-weight:400}

.energy-contract-add{display:flex;align-items:end;gap:12px;max-width:720px;margin-top:18px}.energy-contract-add .energy-contract-field{margin:0;flex:1;max-width:none;min-width:0}#contract-point-list{margin-top:20px}#contract-point-list .tablewrap{border-radius:5px}#contract-point-notice:empty{display:none}#contract-point-notice.error{color:#a03529}@media(max-width:650px){.energy-contract-add{flex-wrap:wrap}.energy-contract-add .energy-contract-field{flex-basis:100%}}

#contract-point-list .contract-point-actions{text-align:right;width:130px;white-space:nowrap}#contract-point-list .contract-point-actions button{margin:0;font-size:12px;padding:7px 12px}

#contract-point-list .contract-point-link{border:0;background:transparent;border-radius:3px;color:#80560f;font-weight:600;text-align:left;padding:5px 0;overflow-wrap:anywhere}#contract-point-list .contract-point-link:before{content:"▸";display:inline-block;width:18px}#contract-point-list .contract-point-link[aria-expanded=true]:before{content:"▾"}#contract-point-list .contract-point-link:hover{text-decoration:underline}#contract-point-list .contract-technical-row>td{padding:0;background:#fff9eb}.contract-technical-list{padding:16px 20px}.contract-technical-list h4{margin:0 0 12px;font-size:14px}.contract-technical-scroll{max-height:330px;overflow:auto;border:1px solid var(--line);border-radius:4px}.contract-technical-scroll thead{position:sticky;top:0}.contract-technical-scroll td,.contract-technical-scroll th{padding:10px 13px}[data-theme=dark] #contract-point-list .contract-point-link{color:#f0cc80}[data-theme=dark] #contract-point-list .contract-technical-row>td{background:#342c20}

.contract-technical-scroll table{width:auto;min-width:0;table-layout:auto}.contract-technical-scroll td,.contract-technical-scroll th{white-space:nowrap}.contract-technical-scroll td:first-child,.contract-technical-scroll th:first-child{width:340px}.contract-technical-scroll td:nth-child(2),.contract-technical-scroll th:nth-child(2){width:120px}.contract-technical-scroll td:nth-child(3),.contract-technical-scroll th:nth-child(3){width:175px}

.contract-technical-scroll td:nth-child(4),.contract-technical-scroll th:nth-child(4){width:165px}

.contract-technical-scroll td:nth-child(4),.contract-technical-scroll th:nth-child(4){text-align:center}


.contract-assignment-missing{display:inline-block;border:1px solid #bc8c3f;border-radius:4px;background:#fff2d6;color:#855a17;padding:3px 8px;font-size:11px;white-space:nowrap}[data-theme=dark] .contract-assignment-missing{background:#433522;color:#f6d498;border-color:#9b7a46}.contract-technical-scroll .contract-technical-actions{width:120px;text-align:right}.contract-technical-actions button{font-size:12px;padding:6px 11px;margin:0}

#contract-point-list .contract-rate-cell{width:170px}#contract-point-list .contract-rate-cell input{width:135px;max-width:100%;font-variant-numeric:tabular-nums}#contract-point-list>.tablewrap>table>thead th{white-space:nowrap}#contract-point-list .contract-point-actions{width:200px}#contract-point-list .contract-point-actions button{margin:0}.contract-rate-cell input:disabled{opacity:.65}

#contract-point-list .contract-point-delete{margin:0 0 0 10px;font-size:12px;padding:6px 11px}#contract-point-list>.tablewrap>table>tbody>tr:not(.contract-technical-row)>td:first-child{white-space:nowrap}#contract-point-list .contract-point-actions{width:115px}

.settings-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.settings-tile{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:28px 20px;border:1px solid #d7b66f;border-top:4px solid var(--gold);border-radius:8px;background:#fff;color:#263b4c;font-size:20px;font-weight:650;text-align:center}.settings-tile svg{width:38px;height:38px;fill:none;stroke:#b57c17;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.settings-tile:hover{background:#fff5df;border-color:#c38c26;box-shadow:0 4px 16px #34230b12}.settings-tile:disabled{cursor:default;opacity:1;box-shadow:none;background:#f2f4f6;border:1px dashed #c7d0d8;color:#9ba6af}.settings-tile-placeholder span{font-size:30px;font-weight:400}[data-theme=dark] .settings-tile{background:#25292d;color:#f3e5c4;border-color:#80683c;border-top-color:var(--gold)}[data-theme=dark] .settings-tile:hover{background:#353126}[data-theme=dark] .settings-tile svg{stroke:#e9b65b}[data-theme=dark] .settings-tile:disabled{background:#202428;border-color:#414a52;color:#69747c}@media(max-width:1100px){.settings-tiles{grid-template-columns:1fr}.settings-tile{min-height:145px}}

.settings-tile{min-height:205px}.settings-tile .settings-construction-stamp{display:inline-block;border:2px solid #a96f20;border-radius:4px;padding:4px 9px;margin-top:3px;color:#9a631b;font-size:12px;font-weight:800;letter-spacing:1.2px;line-height:1.2;transform:rotate(-4deg)}[data-theme=dark] .settings-tile .settings-construction-stamp{color:#e3b163;border-color:#ad7b34}.settings-tile-placeholder .settings-construction-stamp{opacity:.8}

.settings-tile{position:relative;padding-top:48px}.settings-tile .settings-construction-stamp{position:absolute;top:12px;right:10px;margin:0;font-size:10px;letter-spacing:.7px;transform:rotate(4deg);pointer-events:none}

.account-editor{max-width:none;margin:20px 0}.account-editor h3{margin-bottom:18px}.account-message:not(:empty){padding:12px 16px;margin:16px 0;border:1px solid #79a88c;border-radius:5px}.account-message.error{border-color:#c76a58;color:#b74935}
.settings-page-heading{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.settings-page-heading h2{margin:0}.settings-page-heading button{flex-shrink:0}
.account-access-log{margin-top:24px}.account-access-log h3{margin:0}.account-log-link{border:0;background:transparent;padding:0;text-align:left;color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px}#account-list tr[data-account-row]:hover{background:#edaa2b12}

.login-page{display:flex;min-height:100vh;justify-content:center;align-items:center;background:#eef2f5}.login-card{width:min(430px,calc(100% - 32px));padding:32px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:12px;text-align:center;box-shadow:0 12px 50px #16253218}.login-logo{width:96px;height:104px;object-fit:contain}.login-card h1{margin:8px 0;color:#b88224;letter-spacing:5px}.login-card h2{margin:24px 0 18px}.login-card form{display:flex;flex-direction:column;gap:16px;text-align:left}.login-card label{display:flex;flex-direction:column;gap:7px}.login-card .login-show{flex-direction:row;align-items:center;font-size:13px}.login-card [type=submit]{width:100%;padding:12px}.login-card .help{margin-top:24px}#login-error:empty{display:none}#login-error{color:#d16f5c;font-size:13px}.user-session{display:flex;align-items:center;gap:10px;font-size:12px;margin-left:10px}.user-session span{max-width:170px;overflow-wrap:anywhere}.user-session button{white-space:nowrap}[data-theme=dark] .login-page{background:#171b20}[data-theme=dark] .login-card{background:#25292d;color:#eee;border-color:#685636}@media(max-width:1200px){.user-session span{display:none}.user-session{margin-left:0}}

:is(.modules,.header-tools) .user-session{margin-left:auto;padding:0 14px;align-self:stretch;flex-shrink:0}:is(.modules,.header-tools) .user-session span{display:block;font-size:12px;max-width:230px;padding:0;min-width:0;border:0}:is(.modules,.header-tools) .user-session button{font-size:12px;padding:7px 12px;min-width:0;height:auto;border:1px solid #697079;border-radius:5px}.modules #settings-module{margin-left:0}

:is(.modules,.header-tools) .user-session .account-avatar{display:flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;max-width:34px;flex:none;border-radius:50%;background:var(--gold);color:#30200c;font-size:13px;font-weight:800;line-height:1;letter-spacing:.4px}:is(.modules,.header-tools) .user-session .account-label{color:var(--gold)}:is(.modules,.header-tools) .user-session button{border-color:var(--gold);color:var(--gold)}:is(.modules,.header-tools) .user-session button:hover{background:#edaa2b20}

:is(.modules,.header-tools) .user-session .account-avatar{position:relative;overflow:visible}:is(.modules,.header-tools) .user-session .avatar-decoration{position:absolute;bottom:-4px;right:-6px;display:flex;align-items:center;justify-content:center;width:19px;height:19px;min-width:19px;max-width:19px;border:1px solid var(--gold);border-radius:50%;background:#263b4c;color:var(--gold);padding:2px}.avatar-decoration svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}:is(.modules,.header-tools) .user-session .avatar-decoration-admin{top:-13px;left:4px;bottom:auto;right:auto;width:28px;height:22px;min-width:28px;max-width:28px;border:0;border-radius:0;padding:0;background:transparent;transform:rotate(-9deg)}.user-session .account-label{margin-left:3px}

:is(.modules,.header-tools) .user-session{position:relative;padding:0 10px}:is(.modules,.header-tools) .user-session .account-trigger{display:flex;align-items:center;gap:12px;align-self:stretch;padding:0 10px;border:0;border-radius:5px;background:transparent}:is(.modules,.header-tools) .user-session .account-trigger:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}:is(.modules,.header-tools) .user-session .account-chevron{font-size:13px;color:var(--gold)}.account-menu{position:absolute;top:calc(100% + 5px);right:0;width:210px;z-index:100;padding:7px;background:#fff;color:#263b4c;border:1px solid #b6812b;border-radius:7px;box-shadow:0 10px 30px #0005}:is(.modules,.header-tools) .user-session .account-menu button{display:block;width:100%;padding:11px 12px;text-align:left;border:0;border-radius:4px;background:transparent;color:inherit;font-size:13px}:is(.modules,.header-tools) .user-session .account-menu button:hover,:is(.modules,.header-tools) .user-session .account-menu button:focus-visible{background:#edaa2b25;outline:1px solid #c28a32}:is(.modules,.header-tools) .user-session .account-menu .account-logout{margin-top:5px;border-top:1px solid #b6812b55;border-radius:0;color:#a54430}[data-theme=dark] .account-menu{background:#25292d;color:#f3e5c4}[data-theme=dark] :is(.modules,.header-tools) .user-session .account-menu .account-logout{color:#ecab6b}.account-profile{margin:0;display:grid;gap:20px}.account-profile dt{font-size:12px;color:#7f8f9b}.account-profile dd{margin:5px 0 0;font-size:15px}

.password-change-panel{max-width:580px}.password-change-panel .help{margin:20px 0 0}#password-change-error:empty,#login-feedback:empty{display:none}#password-change-error{color:#dc806a}#login-feedback{font-size:13px;margin:0 0 18px;padding:10px;border:1px solid #709e77;border-radius:5px}

.account-event{display:inline-block;padding:4px 9px;border:1px solid;border-radius:5px;font-weight:600;font-size:12px;white-space:nowrap}.account-event-login{color:#176336;background:#e7f5ec;border-color:#9ed6b0}.account-event-logout{color:#a32c32;background:#fff0f0;border-color:#e3a6aa}.account-event-failed{color:#85580b;background:#fff6df;border-color:#dfc280}#recent-events-toggle{margin-top:14px}[data-theme=dark] .account-event-login{color:#96e8b0;background:#183b2a;border-color:#386f4c}[data-theme=dark] .account-event-logout{color:#ffb1b6;background:#482329;border-color:#94515a}[data-theme=dark] .account-event-failed{color:#f1cf83;background:#42351d;border-color:#80682f}

.permissions-preview{max-width:none;margin-top:24px}.permissions-preview .toolbar{margin-bottom:12px;flex-wrap:wrap}.permissions-preview-badge{font-size:10px;letter-spacing:.06em;color:#85580b;border:1px solid #d7b46b;background:#fff3d6;padding:5px 9px;border-radius:5px}.permissions-preview-tools{display:flex;align-items:center;gap:16px;margin:18px 0;font-size:12px;color:#657583;flex-wrap:wrap}.permissions-group{border:1px solid var(--line);border-radius:6px;margin-top:12px;overflow:hidden}.permissions-group summary{padding:15px 17px;font-weight:650;cursor:pointer;background:var(--blue)}.permissions-group .tablewrap{border:0;border-radius:0}.permissions-table{min-width:790px;table-layout:fixed}.permissions-table th:first-child{width:35%}.permissions-table th:not(:first-child),.permissions-table td{text-align:center}.permissions-table tbody th{font-size:12px;font-weight:400;background:transparent;color:inherit;letter-spacing:0}.permissions-table input{accent-color:#dc931c;width:18px;height:18px;cursor:pointer}.permissions-table input:disabled{cursor:default;opacity:.65}.permissions-parent{background:#f7edda!important}.permissions-parent th{font-weight:650!important}.permissions-child th{padding-left:30px}.permissions-preview .help{margin:0;max-width:950px}[data-theme=dark] .permissions-preview-badge{background:#42351d;color:#f1cf83;border-color:#80682f}[data-theme=dark] .permissions-parent{background:#393324!important}[data-theme=dark] .permissions-preview-tools{color:#b2bdc9}
.permissions-group summary{color:#342710}

/* Reserved notification slot beside the application title. */
header{gap:24px}.header-title{flex-shrink:0}.header-message-area{flex:1;min-width:240px;max-width:440px}.header-message{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid #b77b2b;border-left:4px solid #f5a52f;border-radius:8px;background:#30291e;color:#fff3dc;box-shadow:0 3px 16px #0003}.header-message-symbol{color:#ffbd5c;font-size:23px;line-height:1.2}.header-message-copy{min-width:0;flex:1}.header-message strong{font-size:9px;letter-spacing:.12em;color:#f6b54d}.header-message p{font-size:12px;line-height:1.4;color:#fff5e3;margin:3px 0 5px}.header-message #message-sound-status{font-size:9px;color:#dac4a2}.header-message #message-close{padding:0 2px;border:0;background:transparent;color:#d9c6a6;font-size:20px;line-height:1}.message-arriving{animation:message-enter .35s ease-out,message-glow 1s .35s ease-in-out 2}@keyframes message-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes message-glow{50%{border-color:#ffbe5b;box-shadow:0 0 20px #eea12d45}}@media(max-width:1250px){header{height:auto;min-height:100px;flex-wrap:wrap}.header-message-area{order:4;flex-basis:100%;max-width:none}}@media(prefers-reduced-motion:reduce){.message-arriving{animation:none}}
header{height:auto;min-height:100px}.header-message p{font-size:14px;line-height:1.4}.header-message strong{font-size:10px}

/* Keep the notification lane wide; system status sits above the theme switch. */
.header-message-area{max-width:none;min-width:260px}.header-tools{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:7px;flex-shrink:0;margin-left:0}.header-tools .local{display:block;margin:0;font-size:11px}.modules>#alarm-tone-toggle{order:0;align-self:center;flex-shrink:0;width:165px;min-width:0;margin:0 17px 0 0;border-radius:16px;font-size:11px;padding:6px 10px}.modules>[data-module=input]{margin-left:0}@media(max-width:1250px){.header-message-area{order:0;flex-basis:auto;min-width:230px}.header-tools{margin-left:auto}}@media(max-width:860px){header .header-message-area{order:4;flex-basis:100%}.modules>#alarm-tone-toggle{width:125px;margin-right:8px}}

.header-message[data-category=information]{background:#172e40;border-color:#478bb4;border-left-color:#73c5ff}.header-message[data-category=information] strong,.header-message[data-category=information] .header-message-symbol{color:#8cd1ff}.header-message[data-category=warning]{background:#352b17;border-color:#ae8437;border-left-color:#ffc04e}.header-message[data-category=warning] strong,.header-message[data-category=warning] .header-message-symbol{color:#ffca67}.header-message[data-category=critical]{background:#3e2026;border-color:#bd5561;border-left-color:#ff6a7c}.header-message[data-category=critical] strong,.header-message[data-category=critical] .header-message-symbol{color:#ff9eaa}.header-message[data-category=critical] .header-message-symbol{border:2px solid currentColor;border-radius:50%;width:24px;min-width:24px;text-align:center;font-weight:800;font-size:17px;line-height:21px}.header-message{position:relative;overflow:hidden}.message-arriving:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:currentColor;opacity:.55;transform-origin:left;animation:message-countdown 3s linear forwards}@keyframes message-countdown{to{transform:scaleX(0)}}@media(prefers-reduced-motion:reduce){.message-arriving:after{animation:none}}

.header-message #message-confirm{align-self:center;flex-shrink:0;padding:8px 12px;border:1px solid currentColor;border-radius:5px;background:#ffffff12;color:#fff4de;font-size:12px;font-weight:600}.header-message #message-confirm:hover{background:#ffffff25}.message-arriving:after{animation-duration:5s}.header-message[data-mode=live]:after{display:none}

.message-arriving:after{animation-duration:var(--message-test-duration,5000ms)}

.demo-message-catalog{max-width:none;margin-top:24px}.demo-message-catalog .toolbar{margin-bottom:16px}.demo-message-catalog td:first-child{width:55px;font-variant-numeric:tabular-nums}.demo-message-category{display:inline-block;border:1px solid;padding:4px 8px;border-radius:4px;white-space:nowrap;font-size:11px;font-weight:600}.demo-message-category[data-category=information]{color:#24648b;background:#edf7ff;border-color:#99c7df}.demo-message-category[data-category=warning]{color:#815807;background:#fff6df;border-color:#dfc280}.demo-message-category[data-category=critical]{color:#a32c32;background:#fff0f0;border-color:#e3a6aa}[data-theme=dark] .demo-message-category[data-category=information]{color:#a5dcff;background:#193548;border-color:#44718b}[data-theme=dark] .demo-message-category[data-category=warning]{color:#ffd183;background:#42351d;border-color:#80682f}[data-theme=dark] .demo-message-category[data-category=critical]{color:#ffb1b6;background:#482329;border-color:#94515a}

.demo-message-catalog th:last-child{width:145px}.demo-message-catalog td:last-child button{white-space:nowrap;font-size:12px}.demo-broadcast-status:empty{display:none}
.account-tools{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}.account-tools .user-session{margin-left:0}:is(#message-compose-open,#help-open){display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:42px;padding:9px;border:0;border-radius:6px;background:transparent;color:#f4d58b}:is(#message-compose-open,#help-open):hover{background:#47433c}:is(#message-compose-open,#help-open) svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}#message-composer{width:min(930px,calc(100% - 32px))}#message-composer .compose-modes{display:flex;gap:24px;flex-wrap:wrap;margin:0 0 22px;padding-bottom:16px;border-bottom:1px solid var(--line)}.compose-modes label{display:flex;align-items:center;gap:8px;font-weight:600}.compose-modes input{accent-color:#de9c2a}.compose-planned{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.compose-planned .toolbar{margin-bottom:12px}.compose-planned td{max-width:260px;overflow-wrap:anywhere}.message-compose-feedback{min-height:21px;margin-top:16px}.message-compose-feedback.error{color:#bc3541}[data-theme=dark] .message-compose-feedback.error{color:#ffb1b6}
.company-settings>h3{font-size:20px}.company-settings>p{margin:8px 0 20px}.company-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.company-settings-grid .panel{max-width:none}.company-settings-grid h3{margin-bottom:20px}.company-billing{grid-column:1/-1}.company-address-choice{display:flex;align-items:center;gap:9px;margin-bottom:20px}.company-billing #company-billing-address{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line)}@media(max-width:900px){.company-settings-grid{grid-template-columns:1fr}}
.company-payments{margin-top:24px;max-width:none}.company-payments h3{margin-bottom:18px}.company-payments .fields{margin-bottom:16px}.payment-masked-number{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:1px}aside nav .settings-subpage{padding-left:32px;font-size:12px}
.company-layout-note{font-size:12px;color:var(--muted,#8a98a6);margin:0 0 22px}.company-summary>.toolbar{margin-bottom:16px}.company-summary>.toolbar h3,.payment-summary>.toolbar h3{font-size:20px}.company-summary-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.company-summary-card{max-width:none;padding:22px}.company-summary-card .toolbar{align-items:flex-start;margin-bottom:20px}.company-summary-card h3{font-size:16px;line-height:1.5}.company-summary-card .toolbar button{white-space:nowrap;font-size:12px;padding:7px 12px}.company-summary-card dl{margin:0}.company-summary-card dl>div{padding:10px 0;border-bottom:1px solid var(--line)}.company-summary-card dl>div:last-child{border:0;padding-bottom:0}.company-summary-card dt{font-size:11px;color:#81909d;margin-bottom:5px}.company-summary-card dd{margin:0;font-size:13px;overflow-wrap:anywhere;line-height:1.5}.payment-summary{max-width:none;margin-top:26px}.payment-summary .toolbar{margin-bottom:20px}.payment-summary .tablewrap{border-radius:6px}.payment-summary td:last-child{width:100px;text-align:right}#company-layout-editor{width:min(760px,calc(100% - 40px))}@media(max-width:1200px){.company-summary-grid{grid-template-columns:1fr}}

.company-summary-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}.company-summary-card dl>div:last-child{border-bottom:1px solid var(--line);padding-bottom:10px}@media(max-width:760px){.company-summary-card dl{grid-template-columns:1fr}}

.company-settings-status:empty{display:none}.company-settings-status:not(:empty){margin:0 0 18px}.company-edit-error:not(:empty){color:#cf5e54;margin-top:16px}
.company-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.company-summary-billing{grid-column:1/-1}.company-summary-card{padding:18px 20px}.company-summary-card .toolbar{margin-bottom:14px;align-items:center}.company-summary-card dl{column-gap:22px}.company-summary-card dl>div,.company-summary-card dl>div:last-child{padding:7px 0}.company-postal-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px}.company-postal-address{display:flex;flex-direction:column;gap:3px;font-style:normal;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.company-postal-address strong{font-weight:650;margin-bottom:3px}.company-postal-layout dl{display:block}.company-postal-layout dl:empty,.company-postal-address:empty{display:none}.company-summary-billing .company-postal-layout dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.payment-summary{margin-top:18px;padding:20px}.payment-summary .toolbar{margin-bottom:14px}@media(max-width:1000px){.company-summary-grid{grid-template-columns:1fr}}@media(max-width:600px){.company-postal-layout{grid-template-columns:1fr}.company-summary-billing .company-postal-layout dl{grid-template-columns:1fr}}
.company-logo-row{display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:14px;margin-top:16px}.company-logo-preview{width:84px;height:94px;object-fit:contain;flex-shrink:0}.company-logo-row button{font-size:12px}
.company-logo-row{border-top:0;border-bottom:1px solid var(--line);padding-top:0;padding-bottom:14px;margin-top:0;margin-bottom:16px}
.fields .company-address-choice{flex-direction:row;align-items:center;font-weight:500}.fields .company-address-choice input{width:auto}
.ku-workspace{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(500px,2fr);gap:20px;align-items:start}.ku-list-panel{max-width:none;padding:20px}.ku-list-panel>.toolbar{margin-bottom:16px}.ku-list-entry{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;margin-bottom:10px;padding:14px;border:1px solid var(--line);background:transparent;color:inherit;border-radius:6px}.ku-list-entry strong{font-size:14px}.ku-list-entry small{font-size:10px;color:#82909c;overflow-wrap:anywhere}.ku-list-entry.selected{border-color:var(--gold);box-shadow:inset 3px 0 var(--gold)}.ku-list-entry .pill{font-size:10px;padding:3px 7px}.ku-preview-panel{border:1px solid var(--line);border-radius:7px;background:#343a40;overflow:hidden}.ku-preview-panel>.toolbar{padding:16px 20px;margin:0;background:var(--blue)}.ku-preview-panel iframe{display:block;width:100%;height:calc(100vh - 310px);min-height:720px;border:0;background:white}.ku-preview-empty{min-height:620px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#dae0e5;text-align:center;padding:30px}.ku-download{display:inline-block;padding:9px 13px;border:1px solid var(--gold);border-radius:5px;color:inherit;text-decoration:none;font-size:12px}.ku-download:hover{background:#dca32e33}#ku-editor{width:min(900px,calc(100% - 40px))}.ku-edit-error:not(:empty){margin-top:16px;color:#cf5e54}#ku-status:empty{display:none}#ku-status:not(:empty){margin:0 0 18px}[data-theme=dark] .ku-preview-panel>.toolbar{background:#25292d}@media(max-width:1100px){.ku-workspace{grid-template-columns:1fr}.ku-preview-panel iframe{height:850px}.ku-preview-empty{min-height:420px}}
.ku-pdf-pages{height:calc(100vh - 310px);min-height:720px;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:18px;background:#42474d}.ku-pdf-sheet{width:100%;background:white;box-shadow:0 3px 15px #0005;flex-shrink:0;line-height:0}.ku-pdf-sheet canvas{display:block}.ku-pdf-loading{min-height:620px;padding:30px;color:#dae0e5;text-align:center}
.hotel-detail-heading{align-items:flex-start;gap:12px;flex-wrap:wrap}.hotel-detail-heading h3{flex:1 1 180px}.hotel-detail-heading-actions{display:flex;gap:8px;flex-wrap:wrap}.hotel-source-credit{font-size:10px;margin-top:14px;opacity:.75}
.ku-employees{border:1px solid var(--line);padding:14px;border-radius:6px}.ku-employees>.toolbar{margin-bottom:12px}.ku-employees h3{font-size:14px}.ku-employee-row{display:flex;align-items:flex-end;gap:12px;margin-bottom:12px;flex-wrap:wrap}.ku-employee-row label{flex:1;min-width:180px}.ku-employee-row input,.ku-employee-row select{width:100%}.ku-remove-employee{font-size:12px}.ku-employees .toolbar button{font-size:12px}
.ku-preview-column{min-width:0}.ku-history-panel{max-width:none;margin-top:20px;padding:20px}.ku-history-panel>h3{margin-bottom:16px}.ku-history-panel .tablewrap{border-radius:6px}.ku-history-panel td,.ku-history-panel th{padding:12px;font-size:11px}.ku-history-panel td:first-child{overflow-wrap:anywhere}.ku-history-panel details{margin-top:18px}.ku-history-panel ol{padding-left:20px}.ku-history-panel li{font-size:12px;line-height:1.6;margin-bottom:10px}.ku-draft-item{position:relative}.ku-draft-item:has(.ku-delete) .ku-list-entry{padding-right:78px}.ku-delete{position:absolute;right:8px;top:12px;font-size:10px;padding:6px 8px}.ku-trash-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;font-size:11px}.ku-trash-row small{display:block;margin-top:4px}.ku-trash-row button{font-size:10px;padding:6px 8px}#ku-trash{font-size:12px;margin-top:18px}

/* Helles Planfenster hinter den unverändert zeitgenauen Planzeiten, ohne Beschriftung. */
.timeline-services .sales-planning-window{position:absolute;top:25px;height:100px;z-index:0;pointer-events:none;border:1px solid #dfbd80;border-radius:5px;background:rgb(255 231 183 / 68%)}

.customer-company{display:flex;align-items:center;gap:12px}.customer-icon{width:44px;height:44px;object-fit:contain;flex:none;border-radius:7px;background:#fff}.customer-icon-preview{display:block;max-width:112px;max-height:112px;object-fit:contain;background:#fff;border-radius:8px;padding:4px}.customer-icon-fields input[type=file]{max-width:100%}.customer-icon-fields #customer-icon-preview{margin-top:12px}.customer-icon-fields #remove-customer-icon{margin-top:12px}

.timeline-services .sales-order-numbers{display:flex;align-items:baseline;gap:10px;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden}.timeline-services .sales-order-numbers b{font:inherit;flex-shrink:0}.timeline-services .sales-order-numbers small{font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis}

.timeline-services .sales-customer-logo{display:block;width:20px;height:20px;flex:0 0 20px;object-fit:contain;border-radius:4px;background:#fff}.timeline-services .sales-order-numbers{align-items:center;gap:5px}
.timeline-services .sales-service-bar .sales-train-number{font-weight:700}

.timeline-services .sales-service-details{display:flex;flex-direction:column;gap:2px;align-self:flex-start;width:max-content;max-width:100%;min-width:0;border-right:2px solid #9b6a1c;padding-right:12px;margin-top:1px}.timeline-services .sales-service-details>span{display:block}

.timeline-services:not(.timeline-dispatch-performance) .timeline-ruler>.timeline-label{font-weight:700;text-align:center;align-items:center;justify-content:center}
.timeline-services:not(.timeline-dispatch-performance) .timeline-ruler>.timeline-label{font-size:16px}

.timeline-services .sales-service-row .timeline-label>.sales-workflow{align-self:flex-start;padding:3px 8px;border:1px solid;border-radius:5px;font-weight:700;line-height:1.3}
.timeline-services .sales-workflow[data-stage=sales]{color:#95434b;border-color:#d8a4aa;background:#fbf2f3;box-shadow:none}
.timeline-services .sales-workflow[data-stage=preplanning]{color:#786638;border-color:#d9c68b;background:#fcf8eb;box-shadow:none}
.timeline-services .sales-workflow[data-stage=dispatch]{color:#426e57;border-color:#a0c6af;background:#f0f7f3;box-shadow:none}
[data-theme=dark] .timeline-services .sales-workflow[data-stage=sales]{color:#d5a9af;border-color:#825a61;background:#3c3033;box-shadow:none}
[data-theme=dark] .timeline-services .sales-workflow[data-stage=preplanning]{color:#d6c68e;border-color:#807249;background:#39362b;box-shadow:none}
[data-theme=dark] .timeline-services .sales-workflow[data-stage=dispatch]{color:#a3c7b2;border-color:#527963;background:#2d3831;box-shadow:none}

.timeline-rental-tooltip.timeline-service-tooltip{width:320px;padding:14px 16px;overflow-wrap:anywhere;max-height:calc(100vh - 24px);overflow-y:auto}
.service-tooltip-row{margin-top:7px}.service-tooltip-row>small{display:block;font-size:10px;color:#806f52}.service-tooltip-row>span{display:block;font-size:12px;font-weight:600;line-height:1.45}
.service-tooltip-section{margin-top:11px;padding-top:5px;border-top:1px solid #d9bd87}
[data-theme=dark] .service-tooltip-row>small{color:#c8b997}[data-theme=dark] .service-tooltip-section{border-color:#75664e}
.timeline-rental-tooltip.timeline-service-tooltip{overflow-x:hidden}

.timeline-services .sales-station-flow{position:absolute;left:3px;right:3px;bottom:3px;display:flex;align-items:center;gap:7px;min-width:0;pointer-events:none}
.timeline-services .sales-service-bar .sales-station-code{display:block;flex:0 1 auto;width:auto;max-width:42%;min-width:0;padding:1px 6px;border:1px solid #111;border-radius:4px;background:#0000000d;color:#111;font-size:11px;font-weight:700;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.timeline-services .sales-station-connector{position:relative;display:block;flex:1;min-width:4px;height:1px;background:#111}
.timeline-services .sales-station-connector:after{content:'';position:absolute;right:0;top:-2px;width:5px;height:5px;border-right:1px solid #111;border-top:1px solid #111;transform:rotate(45deg)}

/* Gleiche Leistungsbalken in der Disposition; Fahrzeug- und Personalzuordnung bleiben erhalten. */
.timeline-services.timeline-dispatch-performance.timeline-continuous .timeline-track{height:237.5px}
.timeline-services.timeline-dispatch-performance.timeline-continuous .timeline-assigned-staff{top:128px;height:32px;margin-top:0}

.timeline-services .sales-service-body{display:flex;align-items:flex-start;gap:9px;width:100%;min-width:0}
.timeline-services .sales-service-body .sales-service-details{flex:0 1 auto;max-width:45%}
.timeline-services .sales-service-facts{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;margin-top:1px}
.timeline-services .sales-service-facts>span{display:block;font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.timeline-services .sales-service-facts{flex:0 1 auto;width:max-content;border-right:2px solid #9b6a1c;padding-right:12px}
.timeline-services.timeline-continuous .sales-service-bar.has-dangerous-goods{background-image:repeating-linear-gradient(135deg,transparent 0,transparent 8px,rgba(174,35,56,.12) 8px,rgba(174,35,56,.12) 13px)}

.timeline-facts-tooltip .service-tooltip-row>small{font-size:11px}
.timeline-facts-tooltip .service-tooltip-row>span{font-size:14px}
.timeline-facts-tooltip .service-tooltip-row{margin-top:10px}
.timeline-facts-tooltip .service-tooltip-alert{color:#a32735;font-weight:750}
[data-theme=dark] .timeline-facts-tooltip .service-tooltip-alert{color:#ffb2bd}

.timeline-services.timeline-continuous .timeline-assigned-staff{top:128px;height:32px;margin-top:0}

.timeline-services.timeline-continuous .timeline-open-staff,[data-theme=dark] .timeline-services.timeline-continuous .timeline-open-staff{background:#fff;color:#37444f;border:1px solid #aebbc5;border-left:3px solid #9aaab6}
.timeline-services.timeline-continuous .timeline-open-staff strong,.timeline-services.timeline-continuous .timeline-open-staff span{visibility:visible}
.timeline-unplanned-staff{position:absolute;top:128px;height:32px;display:flex;gap:3px;min-width:0;z-index:1}
.timeline-unplanned-staff-member{flex:1;min-width:0;background:#d9edf8;color:#173f56;border:1px solid #79a5bf;border-radius:3px;text-align:center;overflow:hidden;font-size:11px;line-height:1.3;padding:1px 3px}
.timeline-unplanned-staff-member>strong,.timeline-unplanned-staff-member>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}
.legend-staff-open{background:#fff;border-color:#aebbc5!important}

.timeline-unplanned-staff.timeline-extra-staff-lane{top:164px}.timeline-services.timeline-continuous .sales-service-row.has-mixed-staff-times .timeline-track{height:238px}

.timeline-driver-picker{position:fixed;margin:0;width:min(350px,calc(100vw - 24px));padding:16px;border:1px solid #c8a365;border-radius:7px;box-shadow:0 8px 28px #15202d40}
.timeline-driver-picker::backdrop{background:transparent}
.timeline-driver-picker p{font-size:11px;margin:7px 0 12px;line-height:1.5}
.timeline-driver-picker label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600}
.timeline-driver-picker select{width:100%;font-weight:400}
.timeline-driver-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.timeline-driver-error:not(:empty){color:#b73341;padding:8px 0}
[data-theme=dark] .timeline-driver-error:not(:empty){color:#ffb2bd}
.timeline-services [data-driver-service]{cursor:pointer}

/* Workflow controls stay in the fixed left service column. */
.timeline-services .sales-service-row .timeline-label{padding-bottom:45px}
.sales-workflow-actions{position:absolute;bottom:10px;left:8px;right:8px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px}
.sales-workflow-actions button{min-width:0;padding:5px 3px;font-size:10px;line-height:1.3;white-space:nowrap;border-radius:5px}
.sales-workflow-actions button:disabled{opacity:.4;cursor:default}
.sales-workflow-actions button{background:#fff8e9;border:1px solid #c5a46a;color:#79500d;box-shadow:none;transition:background .15s,border-color .15s}
.sales-workflow-actions button:not([data-target-stage=sales]){background:#e9a72b;border-color:#e9a72b;color:#32230c}
.sales-workflow-actions button:not(:disabled):hover{background:#f8e3b6;border-color:#b3802c}
.sales-workflow-actions button:not([data-target-stage=sales]):not(:disabled):hover{background:#d99620;border-color:#d99620}
.sales-workflow-actions button:focus-visible{outline:2px solid #e9a72b;outline-offset:2px}
[data-theme=dark] .sales-workflow-actions button{background:#25282d;border-color:#79613a;color:#f0c56e}
[data-theme=dark] .sales-workflow-actions button:not([data-target-stage=sales]){background:#e9a72b;border-color:#e9a72b;color:#32230c}
[data-theme=dark] .sales-workflow-actions button:not(:disabled):hover{background:#3b3324;border-color:#c59b50}
[data-theme=dark] .sales-workflow-actions button:not([data-target-stage=sales]):not(:disabled):hover{background:#d99620;border-color:#d99620}

.workflow-recall-dialog{width:min(460px,calc(100vw - 32px));padding:24px;border:1px solid #c5a46a;border-radius:12px;box-shadow:0 18px 70px #0005}
.workflow-recall-dialog h2{margin:0 0 16px;font-size:20px;color:#8a5b08}
.workflow-recall-dialog p{line-height:1.5}
.workflow-recall-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
[data-theme=dark] .workflow-recall-dialog{border-color:#79613a;background:#25282d;color:#eceef1}
[data-theme=dark] .workflow-recall-dialog h2{color:#f0c56e}

.timeline-services .sales-service-row .timeline-label{justify-content:flex-start;padding:8px 8px 45px}
.sales-label-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 4px;width:100%;line-height:1.35}
.sales-label-heading strong{font-size:12px;font-weight:700}
.timeline-services .sales-label-heading span{font-size:10px;font-weight:400;margin:0;overflow-wrap:anywhere}

/* Compact service editor; master-data dialogs retain their existing sizes. */
#editor:has(.service-personnel-fields){width:min(1120px,calc(100vw - 48px));padding:18px;max-height:calc(100dvh - 40px)}
#editor:has(.service-personnel-fields) .dialog-head{position:sticky;top:-18px;z-index:5;background:#fff;padding:18px 0 14px;margin-top:-18px;border-bottom:1px solid var(--line)}
[data-theme=dark] #editor:has(.service-personnel-fields) .dialog-head{background:#25282d}
#editor:has(.service-personnel-fields) #fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:start}
#editor:has(.service-personnel-fields) #fields>label,#editor:has(.service-personnel-fields) #fields>div,#editor:has(.service-personnel-fields) #fields>fieldset,#editor:has(.service-personnel-fields) #fields>details{min-width:0}
#editor:has(.service-personnel-fields) #fields>.service-customer-row,#editor:has(.service-personnel-fields) #fields>.service-point-field{grid-column:span 2}
#editor:has(.service-personnel-fields) #fields>.service-vehicle-requirements:not(.service-personnel-fields){grid-column:span 2;align-self:stretch}
#editor:has(.service-personnel-fields) .service-train-details{grid-template-columns:minmax(100px,1fr) minmax(100px,1fr) minmax(220px,2.5fr) minmax(90px,.65fr) minmax(110px,.85fr);gap:10px}
#editor:has(.service-personnel-fields) .service-vehicle-requirement-fields{gap:10px}
#editor:has(.service-personnel-fields) .service-required-hint{max-width:420px}
#editor:has(.service-personnel-fields) .dialog-actions{position:sticky;bottom:-18px;z-index:5;background:#fff;margin-bottom:-18px;padding:14px 0 20px}
[data-theme=dark] #editor:has(.service-personnel-fields) .dialog-actions{background:#25282d}
#editor:has(.service-personnel-fields) #fields label{gap:4px}
#editor:has(.service-personnel-fields) #fields input:not([type=checkbox]),#editor:has(.service-personnel-fields) #fields select,#editor:has(.service-personnel-fields) #fields textarea{min-width:0;width:100%;padding:6px 8px}
#editor:has(.service-personnel-fields) .service-customer-row,#editor:has(.service-personnel-fields) .service-time-fields{gap:10px}
#editor:has(.service-personnel-fields) .service-point-field,#editor:has(.service-personnel-fields) .service-train-details{padding:10px}
@media(max-width:1000px){
  #editor:has(.service-personnel-fields) #fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  #editor:has(.service-personnel-fields) .service-train-details{grid-template-columns:repeat(2,minmax(0,1fr))}
  #editor:has(.service-personnel-fields) #fields>.service-point-field{grid-column:span 1}
  #editor:has(.service-personnel-fields) #fields>.service-vehicle-requirements:not(.service-personnel-fields){grid-column:1/-1}
}
@media(max-width:600px){
  #editor:has(.service-personnel-fields){width:calc(100vw - 20px);padding:16px}
  #editor:has(.service-personnel-fields) #fields{grid-template-columns:minmax(0,1fr)}
  #editor:has(.service-personnel-fields) #fields>.service-customer-row,#editor:has(.service-personnel-fields) #fields>.service-point-field{grid-column:1/-1}
  #editor:has(.service-personnel-fields) .service-train-details{grid-template-columns:minmax(0,1fr)}
  #editor:has(.service-personnel-fields) .dialog-head{top:-16px}
  #editor:has(.service-personnel-fields) .dialog-actions{bottom:-16px;margin-bottom:-16px}
}

#editor [data-field-origin=preplanning]{color:#ad6100}
#editor [data-field-origin=dispatch]{color:#1565a5}
[data-theme=dark] #editor [data-field-origin=preplanning]{color:#ffc064}
[data-theme=dark] #editor [data-field-origin=dispatch]{color:#80bfff}
#editor .field-provenance-note{font-size:10px;font-weight:400;line-height:1.5;margin-top:5px;min-width:0;overflow-wrap:anywhere}
#editor .field-provenance-note summary{cursor:pointer;font-weight:600}
#editor .field-provenance-note span{display:block;margin-top:3px}
#editor .field-provenance-note[data-origin=preplanning] summary{color:#ad6100}
#editor .field-provenance-note[data-origin=dispatch] summary{color:#1565a5}
[data-theme=dark] #editor .field-provenance-note[data-origin=preplanning] summary{color:#ffc064}
[data-theme=dark] #editor .field-provenance-note[data-origin=dispatch] summary{color:#80bfff}

.service-time-fields{min-width:0;margin:0;border:1px solid #d9bd87;border-radius:4px;padding:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}
.service-time-fields legend{font-weight:600;font-size:13px}
.service-time-fields>label,.service-time-fields>.service-required-field{min-width:0}
[data-theme=dark] .service-time-fields{border-color:#75664e}
@media(max-width:1000px){.service-time-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.service-time-fields{grid-template-columns:minmax(0,1fr)}}

.service-request-toolbar{display:flex;justify-content:flex-end;margin-bottom:-4px}
#editor .service-section-request{margin-left:12px;padding:4px 9px;border:1px solid #b98d40;border-radius:5px;color:#80520d;background:#fff5df;font-size:10px;font-weight:600;vertical-align:middle}
[data-theme=dark] #editor .service-section-request{background:#3b3324;color:#f0c56e;border-color:#79613a}
.service-requests-dialog{width:min(980px,calc(100vw - 40px));padding:24px}
.service-requests-head,.service-request-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.service-requests-head h2{margin:0;font-size:21px}.service-requests-head>button{font-size:22px;padding:1px 10px}
.service-requests-feedback:not(:empty){padding:10px 12px;margin:14px 0;background:#f6edd9;border:1px solid #c4a971;border-radius:5px}
.service-requests-feedback.error{color:#b73341}
.service-requests-dialog [data-request-content]{margin-top:16px}
.service-requests-dialog label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600}
.service-requests-dialog input,.service-requests-dialog select,.service-requests-dialog textarea{width:100%;box-sizing:border-box}
.service-request-compose{padding:16px;margin:14px 0 20px;border:1px solid #d9bd87;border-radius:8px;display:grid;gap:14px}
.service-request-compose[hidden]{display:none}
.service-request-compose h3{margin:0}.service-request-compose-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.service-request-fields{border:1px solid #d9bd87;border-radius:5px;padding:12px}
.service-request-fields legend{font-size:12px;font-weight:600}
.service-request-fields>div{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
.service-request-fields label{flex-direction:row;align-items:center;font-weight:400}
.service-request-fields input{width:auto}
.service-request-compose-actions{display:flex;justify-content:flex-end;gap:10px}
.service-request-list{display:grid;gap:16px;margin-top:18px}
.service-request-card{border:1px solid #d9bd87;border-radius:8px;padding:16px}
.service-request-card h3{margin:0;font-size:16px}.service-request-card .muted{font-size:11px;margin-top:7px}
.service-request-field-list{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}
.service-request-field-list span{font-size:10px;padding:3px 6px;border:1px solid #d9bd87;border-radius:4px}
.service-request-question,.service-request-event p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;font-size:13px}
.service-request-event{border-left:3px solid #d7b16c;padding:8px 12px;margin:10px 0;background:#fbf6ea}
.service-request-event small{font-size:10px}.service-request-event strong{font-size:12px}.service-request-event p{margin:5px 0}
.service-request-card form{display:grid;gap:8px;margin:14px 0}.service-request-card form button{justify-self:end}
.request-status{padding:4px 8px;border:1px solid #be944a;border-radius:5px;font-size:11px;white-space:nowrap}
.request-status[data-status=answered]{color:#276498;border-color:#739abb}.request-status[data-status=closed]{color:#436e55;border-color:#80a28a}
[data-theme=dark] .service-request-compose,[data-theme=dark] .service-request-fields,[data-theme=dark] .service-request-card,[data-theme=dark] .service-request-field-list span{border-color:#75664e}
[data-theme=dark] .service-request-event{background:#30302d;border-color:#b98d40}
[data-theme=dark] .service-requests-feedback:not(:empty){background:#3b3324;color:#f0d699;border-color:#79613a}
[data-theme=dark] .service-requests-feedback.error{color:#ffb2bd}
[data-theme=dark] .request-status[data-status=answered]{color:#80bfff}[data-theme=dark] .request-status[data-status=closed]{color:#a3c7b2}
@media(max-width:650px){.service-request-compose-grid,.service-request-fields>div{grid-template-columns:1fr}.service-requests-dialog{padding:16px}}

.service-request-compose-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-request-card-head h3{margin-right:auto}
.request-category{font-size:11px;border:1px solid #719eb8;color:#276487;background:#edf6fb;border-radius:5px;padding:4px 8px;white-space:nowrap}
.request-category[data-category=warning]{border-color:#c79b44;color:#805a12;background:#fff4d9}
.request-category[data-category=critical]{border-color:#c5787d;color:#a52d3a;background:#fff0f1}
[data-theme=dark] .request-category{background:#253c4a;color:#a6d5ef;border-color:#527e96}
[data-theme=dark] .request-category[data-category=warning]{background:#443820;color:#f0c56e;border-color:#967435}
[data-theme=dark] .request-category[data-category=critical]{background:#482c33;color:#ffb2bd;border-color:#a15b65}
@media(max-width:700px){.service-request-compose-grid{grid-template-columns:1fr}.service-request-card-head{flex-wrap:wrap}}

.vehicle-movement-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:22px;padding-top:16px;border-top:1px solid #d9bd87}
.vehicle-movement-entry section{min-width:0}.vehicle-movement-entry h4{margin:0 0 10px;font-size:13px}
#editor .vehicle-movement-entry button{width:100%;background:#fff5df;color:#80520d;border-color:#b98d40;padding:10px 8px}
[data-theme=dark] .vehicle-movement-entry{border-color:#75664e}
[data-theme=dark] #editor .vehicle-movement-entry button{background:#3b3324;color:#f0c56e;border-color:#79613a}
.vehicle-movement-dialog{width:min(550px,calc(100vw - 32px))}.vehicle-movement-dialog h2{margin:0 0 20px}
.vehicle-movement-dialog dl{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px}.vehicle-movement-dialog dt{font-size:12px;color:#8a681f}.vehicle-movement-dialog dd{margin:0;font-size:13px;overflow-wrap:anywhere}
.vehicle-movement-next{border-top:1px solid #d9bd87;padding-top:14px;margin-top:18px;font-size:13px}
[data-theme=dark] .vehicle-movement-dialog dt{color:#f0c56e}[data-theme=dark] .vehicle-movement-next{border-color:#75664e}
@media(max-width:600px){.vehicle-movement-entry{grid-template-columns:1fr}.vehicle-movement-dialog dl{grid-template-columns:1fr;gap:6px}}

.vehicle-feed-dialog{width:min(720px,calc(100vw - 32px));padding:24px}.vehicle-feed-dialog h2{margin:0 0 12px;font-size:21px}
.vehicle-feed-dialog label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600}
.vehicle-feed-dialog input,.vehicle-feed-dialog select{width:100%;box-sizing:border-box}
.vehicle-feed-dialog .service-point-field{margin:16px 0}.vehicle-feed-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.vehicle-feed-wide{grid-column:1/-1}.vehicle-feed-driver-info{margin:0;font-size:12px;line-height:1.5}
.vehicle-feed-dialog [hidden]{display:none!important}.vehicle-feed-target,.vehicle-feed-save-hint{font-size:12px;line-height:1.5}
.vehicle-feed-save-hint{margin-top:18px;color:#806f52}[data-theme=dark] .vehicle-feed-save-hint{color:#c8b997}
.vehicle-feed-error{color:#b73341;font-size:12px}[data-theme=dark] .vehicle-feed-error{color:#ffb2bd}
.vehicle-feed-summary{display:block;margin-top:8px;font-size:10px;line-height:1.5;overflow-wrap:anywhere}
.vehicle-feed-dialog [data-field-origin=preplanning]{color:#ad6100}.vehicle-feed-dialog [data-field-origin=dispatch]{color:#1565a5}
[data-theme=dark] .vehicle-feed-dialog [data-field-origin=preplanning]{color:#ffc064}[data-theme=dark] .vehicle-feed-dialog [data-field-origin=dispatch]{color:#80bfff}
.vehicle-feed-dialog .field-provenance-note{font-size:10px;line-height:1.5;margin-top:5px}.vehicle-feed-dialog .field-provenance-note span{display:block}
@media(max-width:600px){.vehicle-feed-grid{grid-template-columns:1fr}}

.timeline-services .timeline-feed-bar{position:absolute;top:41px;height:84px;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:5px;padding:6px 4px;background:#d9ebe3;color:#214e42;border:1px dashed #477c69;border-left:3px solid #477c69;border-radius:4px;overflow:hidden;text-align:left}
.timeline-feed-bar strong{font-size:11px;white-space:nowrap}.timeline-feed-bar span{font-size:10px;line-height:1.25;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
[data-theme=dark] .timeline-services .timeline-feed-bar{background:#2a5148;color:#e0f3e9;border-color:#83b39f}
.timeline-services .timeline-feed-staff{z-index:2}.legend-feed{background:#d9ebe3;border:1px dashed #477c69}
[data-theme=dark] .legend-feed{background:#2a5148;border-color:#83b39f}

.locomotive-lz-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;border:1px solid #d9bd87;border-radius:5px;padding:14px;margin:4px 0;min-width:0}
.locomotive-lz-fields legend{font-size:13px;font-weight:650}.locomotive-lz-fields label{min-width:0}.locomotive-lz-fields input{width:100%;box-sizing:border-box}
[data-theme=dark] .locomotive-lz-fields{border-color:#75664e}
@media(max-width:600px){.locomotive-lz-fields{grid-template-columns:minmax(0,1fr)}}

.locomotive-power-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;border:1px solid #d9bd87;border-radius:5px;padding:14px;margin:4px 0;min-width:0}
.locomotive-power-fields legend{font-size:13px;font-weight:650}.locomotive-power-fields label{min-width:0}
[data-theme=dark] .locomotive-power-fields{border-color:#75664e}
@media(max-width:600px){.locomotive-power-fields{grid-template-columns:minmax(0,1fr)}}

/* Status preview sits between the service and driver lanes. */
.timeline-services .timeline-status-bar{position:absolute;top:128px;height:32px;display:flex;overflow:hidden;border:1px solid #635c4c;border-radius:4px;z-index:1}
.timeline-status-bar>span{flex:1;display:flex;align-items:center;justify-content:center;min-width:0;font-size:11px;font-weight:650;color:#202020}
.timeline-status-bar .status-red{background:#ff2020;color:#fff}.timeline-status-bar .status-yellow{background:#ffeb00;color:#161600}.timeline-status-bar .status-green{background:#3e9b50;color:#fff}
.timeline-services.timeline-continuous .timeline-assigned-staff,.timeline-services.timeline-dispatch-performance.timeline-continuous .timeline-assigned-staff{top:163px}
.timeline-services .timeline-unplanned-staff{top:163px}.timeline-services .timeline-unplanned-staff.timeline-extra-staff-lane{top:199px}
.timeline-services.timeline-continuous .sales-service-row.has-mixed-staff-times .timeline-track{height:273px}

/* Keep the performance, status and personnel lanes almost touching. */
.timeline-services .timeline-status-bar{top:126px}
.timeline-services.timeline-continuous .timeline-assigned-staff,.timeline-services.timeline-dispatch-performance.timeline-continuous .timeline-assigned-staff{top:159px}
.timeline-services .timeline-unplanned-staff{top:159px}.timeline-services .timeline-unplanned-staff.timeline-extra-staff-lane{top:192px}

.timeline-status-bar.timeline-personnel-needs{background:#ff2020}
.timeline-status-bar>.timeline-status-station{flex:1;display:flex;flex-direction:column;gap:1px;line-height:12px;color:#fff;border-right:1px solid #ffffff66;overflow:hidden}
.timeline-status-station:last-child{border-right:0}.timeline-status-station>strong{font-size:10px;white-space:nowrap}
.timeline-status-roles{display:flex;gap:3px;justify-content:center;min-height:14px}
.timeline-status-open-person{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#161616;border:1px solid #ccc;border-radius:2px;padding:0 5px;font-size:10px;font-weight:700;line-height:13px;white-space:nowrap}

/* Station staff are name fields, not time-scaled assignment bars. */
.timeline-status-bar.timeline-personnel-needs{overflow:visible}
.timeline-status-bar>.timeline-status-station{flex-direction:row;gap:4px;overflow:visible;padding:0 3px}
.timeline-status-station>strong{flex-shrink:0}
.timeline-status-roles{flex-direction:column;gap:1px;flex-shrink:0}
.timeline-status-open-person{width:120px;height:14px;box-sizing:border-box;justify-content:flex-start;overflow:hidden;text-overflow:ellipsis}

/* Status above the performance, station name fields stay below it. */
.timeline-services .timeline-overhead-status{top:16px;background:#ff2020;height:16px}
.timeline-services.timeline-continuous .sales-service-bar,.timeline-services .sales-planning-window{top:33px}
.timeline-services .timeline-feed-bar{top:49px}
.timeline-services .timeline-status-bar.timeline-personnel-needs{top:134px;background:transparent;border-color:transparent}
.timeline-services.timeline-continuous .timeline-assigned-staff,.timeline-services.timeline-dispatch-performance.timeline-continuous .timeline-assigned-staff{top:167px}
.timeline-services .timeline-unplanned-staff{top:167px}.timeline-services .timeline-unplanned-staff.timeline-extra-staff-lane{top:200px}

.timeline-services .timeline-overhead-status{border:1px solid #6e1717;border-radius:3px;box-shadow:inset -1px 0 #222}
.timeline-overhead-status>span{font-size:10px;line-height:14px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}

.timeline-services .sales-planning-window{top:16px;height:117px}
footer{position:relative;min-height:36px;padding-right:12px;padding-left:12px}
#project-todo-open{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:3px 18px;font-size:12px}
.todo-create{display:flex;align-items:flex-end;gap:12px;margin:20px 0}.todo-create label{flex:1}.todo-create input{display:block;width:100%;margin-top:6px}.todo-list{display:grid;gap:12px}.todo-entry{display:flex;align-items:center;justify-content:space-between;gap:20px}.todo-entry p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}.todo-entry>button{flex-shrink:0}
@media(max-width:760px){footer{padding-bottom:35px}#project-todo-open{top:auto;bottom:3px;transform:translateX(-50%)}.todo-entry{align-items:flex-start;flex-direction:column}}

.timeline-status-bar.timeline-personnel-needs{justify-content:space-between;gap:6px}
.timeline-status-bar>.timeline-status-station{flex:0 0 auto;justify-content:flex-start;padding:0 3px;border-right:0;gap:4px;min-width:0}
.timeline-status-station>strong{display:flex;align-items:center;justify-content:center;min-width:25px;height:26px;padding:0 3px;background:#252a30;color:#fff;border:1px solid #a4adb5;border-radius:3px;font-size:10px}
.timeline-status-open-person.timeline-status-need-unknown{background:#ff2020;color:#fff;border:1px solid #9a0909;border-radius:0;font-weight:750}

.timeline-status-station>strong.station-needs-open{background:#ff2020;border-color:#9a0909;color:#fff}
.timeline-status-station>strong.station-needs-clear{background:#3e9b50;border-color:#286b35;color:#fff}

.timeline-status-open-person.timeline-station-person-assigned{background:#d9edf8;color:#173f56;border-color:#79a5bf}
button.timeline-status-open-person{padding:0 5px;min-height:0;text-align:left;cursor:pointer;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.timeline-status-roles>button.timeline-status-open-person{background:#fff;color:#161616;border-color:#ccc}
.timeline-status-roles>button.timeline-status-open-person.timeline-station-person-assigned{background:#d9edf8;color:#173f56;border-color:#79a5bf}

.sales-reference-panel{margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
.timeline-with-reference{max-height:480px;overflow-y:auto}.sales-reference-panel .timeline-scroll{max-height:480px;overflow-y:auto}
#view>.timeline-fixed.timeline-with-reference{max-height:none}
#view:has(> .timeline-fixed)>.sales-reference-panel{display:flex;flex-direction:column;flex:1;min-height:0;margin-top:12px;padding-top:10px}
#view:has(> .timeline-fixed)>.sales-reference-panel>.toolbar{flex:none;margin-bottom:10px}
#view:has(> .timeline-fixed)>.sales-reference-panel>.timeline-scroll{flex:1;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain}
.sales-reference-panel .timeline-ruler{position:sticky;top:0;z-index:20}
.sales-reference-panel .timeline-ruler>.timeline-label{z-index:21}
.reference-edit-request,.edit-access-review{font-size:10px;padding:4px 6px;margin-top:4px;max-width:100%;white-space:normal}
.sales-reference-panel .timeline-label{padding-bottom:12px}.sales-reference-panel .timeline-bar{cursor:default}

.header-message .message-edit-action{align-self:center;flex-shrink:0;padding:8px 10px;border:1px solid currentColor;border-radius:5px;background:#ffffff12;color:#fff4de;font-size:12px;font-weight:650}
.header-message .message-edit-action:hover{background:#ffffff28}

/* Service timelines keep movement and driver labels visible in wider views. */
.timeline-services.timeline-overview .timeline-feed-bar strong,
.timeline-services.timeline-overview .timeline-feed-bar span,
.timeline-services.timeline-overview .timeline-assigned-staff strong,
.timeline-services.timeline-overview .timeline-assigned-staff span,
.timeline-services.timeline-compact .timeline-feed-bar strong,
.timeline-services.timeline-compact .timeline-feed-bar span,
.timeline-services.timeline-compact .timeline-assigned-staff strong,
.timeline-services.timeline-compact .timeline-assigned-staff span{visibility:visible}

.service-nhm-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
#editor .service-nhm-heading button{padding:0;border:0;background:transparent;color:#80520d;font-size:10px;text-decoration:underline;white-space:nowrap}
[data-theme=dark] #editor .service-nhm-heading button{color:#f0c56e}
#editor .service-nhm-heading button:disabled{opacity:.5;cursor:default}
.nhm-search-dialog{width:min(1000px,calc(100vw - 40px));max-height:calc(100dvh - 40px);padding:20px}
.nhm-search-filters{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,3fr);gap:14px;margin-bottom:12px}
.nhm-search-filters label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600}
.nhm-search-filters input{width:100%;min-width:0}
.nhm-search-results{max-height:55vh;overflow:auto;margin:12px 0}
.nhm-search-results th{position:sticky;top:0;z-index:1}
.nhm-search-results td{padding:1px 12px;vertical-align:middle}
.nhm-search-results td button{padding:2px 8px;font-size:12px;line-height:20px}
.nhm-search-results td:last-child{white-space:nowrap}
@media(max-width:600px){.nhm-search-filters{grid-template-columns:1fr}.nhm-search-dialog{padding:14px}.nhm-search-dialog h2{font-size:18px}}

#editor .service-train-details .service-required-field:has(select[name=dangerous_goods_mode]) strong,#editor .service-train-details .service-required-field:has(select[name=loading_gauge_exceeded]) strong{font-size:11px;white-space:nowrap}
.service-nhm-heading{margin-bottom:4px}

.account-application-access{border:1px solid var(--line);border-radius:5px;padding:12px;display:flex;gap:24px;flex-wrap:wrap}.account-application-access legend{font-size:12px;font-weight:600}.account-application-access label{display:flex;flex-direction:row;align-items:center;gap:7px}.account-application-access input{width:auto}

.account-management-workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.account-list-pane,.account-log-pane{min-width:0}
.account-list-pane>.tablewrap{max-height:72vh;overflow:auto}
.account-log-pane{position:sticky;top:0;max-height:72vh;overflow:auto;display:grid;gap:14px}
.account-log-pane .account-access-log{max-width:none;margin:0;padding:16px}
.account-log-pane .toolbar{align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.account-log-pane h3{font-size:15px;overflow-wrap:anywhere}
.account-log-pane .tablewrap{overflow:auto}
.account-log-pane .help{margin:8px 0 12px;line-height:1.5}
.account-log-pane td,.account-log-pane th{padding:10px 12px}
#account-list tr.account-selected{background:#e9a72b20;box-shadow:inset 3px 0 #e9a72b}
@media(max-width:850px){.account-management-workspace{grid-template-columns:minmax(0,1fr)}.account-log-pane{position:static;max-height:none}.account-list-pane>.tablewrap{max-height:45vh}}

#account-list .account-name-status{display:block;width:max-content;margin:0 0 5px;font-size:10px;padding:2px 6px;text-align:left}

#account-list .account-email-role{display:block;font-weight:700;margin-bottom:4px}

#account-list .account-name-birthday{display:block;margin-top:5px;font-size:11px;white-space:nowrap}#account-list .account-name-birthday [role=img]{font-size:12px;margin-right:3px}

/* Mobile stamp matches SEDA Mobil's mobile-stamp + toolbar-stamp. */
.account-app-access{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:7px}
.account-app-brand{display:inline-flex;align-items:center;gap:7px;color:#b88224;font-size:11px;font-weight:600;white-space:nowrap}
[data-theme=dark] .account-app-brand{color:#f4d58b}
.account-app-access .mobile-stamp{display:table;margin:0 auto 16px;padding:1px 10px;border:2px solid currentColor;border-radius:3px;color:#f4b34d;font-size:19px;font-weight:600;letter-spacing:2px;line-height:1.25;transform:rotate(-10deg)}
.account-app-access .toolbar-stamp{font-size:9px;line-height:1.15;letter-spacing:1px;border-width:1px;padding:1px 5px;margin:0;color:inherit}

.account-protocol-list{overflow:auto;overscroll-behavior:contain}.account-protocol-list thead{position:sticky;top:0;z-index:2}

.account-list-pane th,.account-list-pane td{padding:7px 10px}
.account-list-pane td{font-size:12px;line-height:1.4}
.account-list-pane td.actions button{font-size:11px;padding:4px 7px}
#account-list .account-name-status{margin-bottom:3px;padding:1px 5px}
#account-list .account-name-birthday{margin-top:3px}
#account-list .account-email-role{margin-bottom:2px}
#account-list .account-app-access{margin-top:4px;gap:8px}
#account-list .subline{font-size:10px;line-height:1.3}

.account-log-pane{gap:10px}
.account-log-pane .account-access-log{padding:12px}
.account-log-pane .toolbar{gap:8px;margin-bottom:8px;align-items:center}
.account-log-pane h3{font-size:13px;line-height:1.35}
.account-log-pane td,.account-log-pane th{padding:6px 8px;font-size:11px;line-height:1.35}
.account-log-pane th{font-size:10px}
.account-log-pane button{font-size:11px;padding:5px 8px}
.account-log-pane .account-event{font-size:10px;padding:3px 6px}
.account-log-pane .station-pages{gap:8px;margin-top:8px;font-size:10px}
.account-log-pane #recent-events-toggle{margin-top:8px}

/* Fixed account workspace: independent scrolling, aligned lower edges. */
.account-management-workspace{height:72vh;align-items:stretch}
.account-list-pane{height:100%;min-height:0}
.account-list-pane>.tablewrap{height:100%;max-height:none;overflow:auto}
.account-log-pane{height:100%;max-height:none;min-height:0;position:static;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:0;overflow:hidden}
.account-log-pane #account-access-log{min-height:0;display:flex;flex-direction:column;overflow:hidden}
.account-log-pane #account-access-log>.toolbar,.account-log-pane #account-access-log>.station-pages{flex-shrink:0}
.account-log-pane #account-access-log>.tablewrap{flex:1;min-height:0;max-height:none;overflow:auto}
.account-log-pane #account-access-log{border-bottom-left-radius:0;border-bottom-right-radius:0}
.account-log-pane #account-recent-events{min-height:0;border-top-left-radius:0;border-top-right-radius:0}
.account-recent-list{overflow:auto;overscroll-behavior:contain}
.account-recent-list thead{position:sticky;top:0;z-index:2}
@media(max-width:850px){.account-management-workspace{height:auto}.account-list-pane{height:45vh}.account-log-pane{height:auto;display:flex;flex-direction:column;gap:10px;overflow:visible}.account-log-pane #account-access-log{height:55vh;min-height:180px;flex:none;border-radius:6px}.account-log-pane #account-recent-events{border-radius:6px}}

.account-list-pane thead{position:sticky;top:0;z-index:2}

.brand-version{display:block;font-size:10px;font-weight:400;letter-spacing:.3px;line-height:1.2;color:#c7c7c7;margin-top:3px}

.personnel-functions{display:flex;flex-wrap:wrap;gap:8px 18px}.personnel-functions legend,.personnel-functions strong{width:100%}.fields .personnel-functions label{display:flex;flex-direction:row;align-items:center;font-weight:400}.account-personnel-profile{display:grid;grid-template-columns:1fr 1fr;gap:12px}.account-personnel-profile .personnel-functions{grid-column:1/-1}

.taxi-search{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.taxi-search label{display:flex;flex-direction:column;gap:5px}.taxi-search label:first-child{flex:1;min-width:200px}.taxi-search select{min-width:220px}#taxi-message{margin:12px 0}#taxi-edit-slot:empty{display:none}#taxi-source{margin-top:16px}
#taxi-list .hotel-link{display:inline;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font-weight:600;text-align:left;box-shadow:none;cursor:pointer}#taxi-list .hotel-link:hover{background:transparent;text-decoration:underline}
#taxi-list tbody tr{cursor:pointer}
.modules #settings-module,.modules :is(#message-compose-open,#help-open){color:var(--gold)}
#management-sidebar-divider{position:absolute;top:calc(var(--management-divider-top,66.6667%) + 15px);left:12px;right:12px;margin:0;border:0;border-top:2px solid var(--gold);pointer-events:none;z-index:1}

#personal-sidebar{position:absolute;top:calc(var(--management-divider-top,66.6667%) + 25px);left:12px;right:12px;bottom:10px;overflow:auto;min-height:0}
#personal-sidebar[hidden]{display:none}
.personal-sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;color:var(--gold)}
.personal-sidebar-heading button{font-size:11px;padding:3px 6px}
#personal-sidebar p{font-size:12px;opacity:.75}
.personal-shortcut-grid{display:grid;grid-template-columns:repeat(var(--shortcut-columns,1),minmax(0,1fr));gap:5px;margin-top:5px;align-items:stretch}
#personal-sidebar .personal-shortcut{display:block;min-width:0;width:100%;margin:0;padding:7px 4px;text-align:center;overflow-wrap:anywhere;white-space:normal;font-size:12px}
#personal-menu-columns{display:block;width:180px;margin:6px 0 18px}
.personal-shortcut-row{display:grid;grid-template-columns:minmax(170px,2fr) minmax(130px,1fr) auto auto auto;gap:8px;margin-bottom:10px;align-items:center}
.personal-shortcut-row input,.personal-shortcut-row select{width:100%;min-width:0}
@media(max-width:800px){.personal-shortcut-row{grid-template-columns:1fr 1fr auto auto auto}}

#personal-sidebar{display:flex;flex-direction:column;gap:6px}
#personal-sidebar>p{display:none}
.personal-shortcut-grid{flex:1;min-height:0;grid-template-rows:repeat(8,minmax(0,1fr));gap:4px;margin-top:0}
#personal-sidebar .personal-shortcut{padding:3px;overflow:hidden;line-height:1.15;font-size:11px}
.personal-shortcut-empty{min-width:0;min-height:0;border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);border-radius:5px;background:transparent}
#personal-sidebar .personal-shortcut{background:var(--gold);color:#191919;border:1px solid var(--gold);font-weight:600}
#personal-sidebar .personal-shortcut:hover{filter:brightness(1.08)}
#personal-sidebar .personal-shortcut:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

.personalization-workspace{display:grid;grid-template-columns:minmax(240px,1fr) minmax(240px,1fr);gap:22px;align-items:start}
#personal-position-grid{display:grid;grid-template-columns:repeat(var(--shortcut-columns,2),minmax(0,1fr));grid-template-rows:repeat(8,54px);gap:6px}
#personal-position-grid button{min-width:0;overflow:hidden;overflow-wrap:anywhere;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3px}
#personal-position-grid button small{font-size:9px;opacity:.75}
#personal-position-grid button[aria-pressed=true]{outline:2px solid currentColor;outline-offset:2px}
#personal-position-grid .position-empty{background:transparent;border:1px solid var(--gold);color:inherit}
#personal-position-editor{margin:0;padding:15px}
#personal-position-editor h4{margin:0 0 14px}
#personal-position-editor label{display:block;margin:12px 0 5px}
#personal-position-editor select,#personal-position-editor input:not([type=checkbox]):not([type=color]){width:100%;min-width:0}
#personal-position-editor input[type=color]{display:block;width:90px;height:36px;padding:3px}
#personal-position-editor button{display:block;margin-top:18px}
@media(max-width:900px){.personalization-workspace{grid-template-columns:1fr}}

.personal-sidebar-heading{flex-shrink:0;min-height:28px}
.personal-sidebar-heading strong{font-size:11px;line-height:1.15}
.personal-sidebar-heading button{flex:0 0 23px;width:23px;height:23px;padding:0;border:0;background:transparent;color:var(--gold);font-size:18px;line-height:1}
.personal-sidebar-heading button:hover{background:#e9a72b18}
#personal-sidebar .personal-shortcut.shortcut-icon-only{font-size:24px;line-height:1;padding:1px;display:flex;align-items:center;justify-content:center}
#personal-position-grid .shortcut-icon-only>span{font-size:28px;line-height:1.1}

.shortcut-rail-icon{width:1.25em;height:1.25em;display:inline-block;vertical-align:middle;flex-shrink:0}
#personal-sidebar .shortcut-icon-only .shortcut-rail-icon{width:25px;height:25px}
#personal-position-grid .shortcut-icon-only .shortcut-rail-icon{width:30px;height:30px}

#personal-sidebar.personal-raster-hidden .personal-shortcut-empty{visibility:hidden}
.personal-grid-toggle{display:flex;align-items:center;gap:8px;margin-bottom:8px}

#personal-icon-picker{width:min(640px,calc(100vw - 40px));max-height:calc(100vh - 40px);padding:20px;border:1px solid var(--gold);border-radius:8px;color:inherit;background:var(--blue)}
[data-theme=dark] #personal-icon-picker{background:#25292d;color:#f2f2f2}
#personal-icon-picker::backdrop{background:#0008}
#personal-icon-picker .toolbar{margin-bottom:16px}
.personal-icon-options{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:7px}
.personal-icon-options button{height:42px;padding:4px;display:flex;align-items:center;justify-content:center;font-size:25px;background:transparent;color:inherit;border:1px solid var(--line)}
.personal-icon-options button[aria-pressed=true]{border:2px solid var(--gold);background:#e9a72b22}
.personal-icon-options button:hover{background:#e9a72b33;border-color:var(--gold)}
.personal-icon-options .shortcut-rail-icon{width:27px;height:27px}
.personal-no-icon{margin-top:16px}
#personal-position-editor .personal-icon-choice{display:flex;align-items:center;gap:8px;width:100%;text-align:left;margin:0}
@media(max-width:500px){.personal-icon-options{grid-template-columns:repeat(6,minmax(0,1fr))}}

.personal-layout-controls{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.personal-layout-controls label{display:block;margin-bottom:6px}
.personal-layout-controls #personal-menu-columns,.personal-layout-controls #personal-show-grid{display:block;width:180px;margin:0}

.personal-icon-options .icon-category{grid-column:1/-1;text-align:left;font-size:12px;line-height:18px;margin-top:4px;color:var(--gold)}

.account-function-selection legend{display:flex;align-items:center;gap:16px;width:100%;box-sizing:border-box}.account-function-selection legend::after{content:"";flex:1;border-top:1px solid var(--line);order:1}.account-function-selection legend button{order:2;margin-left:auto;font-size:12px;padding:4px 10px}.account-function-options{display:flex;flex-wrap:wrap;gap:12px 24px;width:100%}.account-function-options input:disabled{cursor:not-allowed}

.account-address{display:grid;gap:10px;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:5px}.account-address legend{font-size:12px;font-weight:600;padding:0 5px}.account-address-street,.account-address-place{display:grid;gap:12px;min-width:0}.account-address-street{grid-template-columns:minmax(0,3fr) minmax(80px,1fr)}.account-address-place{grid-template-columns:minmax(80px,1fr) minmax(0,3fr)}.account-address input{width:100%;box-sizing:border-box}@media(max-width:760px){.account-address-street,.account-address-place{grid-template-columns:1fr}}

.account-detail{max-width:none;margin-bottom:16px;padding:16px 20px}.account-detail .toolbar{margin-bottom:14px}.account-detail .toolbar h3{display:inline-block;margin-left:10px}.account-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 20px;margin:0}.account-detail-grid dt{font-size:11px;color:var(--muted,#74818c);margin-bottom:3px}.account-detail-grid dd{font-size:13px;margin:0;overflow-wrap:anywhere}.account-detail-access{display:flex;align-items:center;gap:12px;margin-top:14px}.account-detail-access .account-app-access{margin:0}.account-search{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;margin-bottom:10px}.account-search input{width:100%;box-sizing:border-box}.account-list-pane{display:flex;flex-direction:column;min-height:0}.account-list-pane>.tablewrap{flex:1;min-height:0}@media(max-width:1000px){.account-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.account-detail-grid{grid-template-columns:1fr}}

.account-detail-actions{display:flex;align-items:center;gap:8px}.account-detail-actions .danger{margin-right:0}

.account-profile-hero{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:24px;align-items:start;padding-bottom:20px;border-bottom:1px solid var(--line)}.account-portrait-block{display:flex;flex-direction:column;gap:8px}.account-portrait{width:120px;aspect-ratio:3/4;border:1px solid var(--gold);border-radius:9px;background:var(--bg,#eef2f5);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--gold)}.account-portrait img{width:100%;height:100%;object-fit:cover;display:block}.account-portrait svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.account-portrait-block button{font-size:11px;padding:5px}.account-profile-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--gold)}.account-profile-identity h3{font-size:24px;margin:5px 0 10px}.account-profile-badges{display:flex;gap:8px;flex-wrap:wrap}.account-profile-functions{font-size:13px;line-height:1.5}.account-release-status{display:flex;flex-direction:column;gap:4px;border-left:3px solid var(--gold);padding:8px 12px;margin-top:12px;background:#e9a72b0c;font-size:12px}.account-release-status span{font-size:11px;line-height:1.5}.account-release-status.approved{border-color:#348653;background:#34865312}.account-release-status.pending{border-color:#d44b43;background:#d44b4312}.account-release-status.neutral{border-color:var(--line);background:transparent}.account-profile-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.account-info-group{border:1px solid var(--line);border-radius:7px;padding:14px 16px;min-width:0}.account-info-group h4{font-size:13px;margin:0 0 12px;color:var(--gold)}.account-info-group dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:0}.account-info-group dl>div:last-child:nth-child(odd){grid-column:1/-1}.account-info-group dt{font-size:11px;opacity:.7;margin-bottom:3px}.account-info-group dd{font-size:13px;line-height:1.5;margin:0;overflow-wrap:anywhere}.account-photo-field{display:flex;gap:20px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:5px}.account-photo-field legend{font-size:12px;font-weight:600}.account-photo-controls{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}.account-photo-controls input{max-width:100%;box-sizing:border-box}.account-photo-controls [role=status]{font-size:12px}@media(max-width:1050px){.account-profile-hero{grid-template-columns:100px minmax(0,1fr);gap:18px}.account-portrait{width:100px}.account-profile-hero>.account-detail-actions{grid-column:2}.account-profile-sections{grid-template-columns:1fr}}@media(max-width:600px){.account-profile-hero{grid-template-columns:1fr}.account-profile-hero>.account-detail-actions{grid-column:auto}.account-info-group dl{grid-template-columns:1fr}.account-photo-field{align-items:flex-start;flex-direction:column}.account-profile-identity h3{font-size:21px}}

.account-example-photo-source{font-size:10px;text-align:center;line-height:1.5;color:var(--gold);text-decoration:none}.account-example-photo-source:hover{text-decoration:underline}

.account-history-dialog{width:min(980px,calc(100% - 48px));max-height:85vh;overflow:auto}.account-history-dialog h2{font-size:20px}.account-history-current{border:1px solid var(--line);border-radius:6px;padding:12px;margin-bottom:12px}.account-history-current summary{cursor:pointer;font-weight:600}.account-history-current dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.account-history-current dt{font-size:11px;opacity:.7}.account-history-current dd{margin:4px 0 0;overflow-wrap:anywhere}.account-history-entries{display:flex;flex-direction:column;gap:14px;margin-top:16px}.account-history-entry{border:1px solid var(--line);border-radius:6px;padding:12px;overflow:auto}.account-history-entry-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px;font-size:12px}.account-history-entry-head span{opacity:.7}.account-history-entry p{margin:0;font-size:12px}.account-history-entry th,.account-history-entry td{padding:8px;font-size:12px;overflow-wrap:anywhere;max-width:320px}.account-delete-section{border-top:1px solid var(--line);margin-top:20px;padding-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:14px}.account-delete-section .danger{margin:0;background:linear-gradient(to right,#b73a3a40 var(--hold-progress,0%),transparent var(--hold-progress,0%));touch-action:none;user-select:none}.account-delete-section [role=status]{font-size:12px}.account-detail-actions{flex-wrap:wrap;justify-content:flex-end}

#account-form>.dialog-actions{align-items:center;flex-wrap:wrap}#account-form .account-delete-section{border:0;margin:0 auto 0 0;padding:0;gap:8px;max-width:calc(100% - 230px)}#account-form .account-delete-section [role=status]:empty{display:none}.account-delete-confirm{width:min(540px,calc(100% - 40px));border:1px solid #d87676;border-top:5px solid #b92d35;background:#fff8f8;color:#402127;padding:26px;border-radius:10px;box-shadow:0 24px 90px #4c101048}.account-delete-confirm::backdrop{background:#210a0d99}.account-delete-warning-icon{width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fde4e5;color:#b92d35;margin-bottom:14px}.account-delete-warning-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.account-delete-confirm h2{font-size:22px;color:#a8252d}.account-delete-confirm p{margin:12px 0;font-size:14px;overflow-wrap:anywhere}.account-delete-warning-note{padding:12px 14px;border-left:3px solid #c43c44;border-radius:3px;background:#fbe7e8;color:#713139;font-size:13px;line-height:1.6}.account-delete-confirm .dialog-actions{border-color:#e9bfc2;margin-top:22px;padding-top:18px}.account-delete-confirm .account-delete-final{background:#b92d35;color:white;border-color:#b92d35;font-weight:600}.account-delete-confirm .account-delete-final:hover{background:#99232b;border-color:#99232b}.account-delete-confirm .account-delete-final:disabled{background:#b92d35;color:white;opacity:.45;cursor:wait}[data-theme=dark] .account-delete-confirm{background:#25282d;color:#eceef1;border-color:#865057;border-top-color:#e36770;box-shadow:0 24px 90px #000a}[data-theme=dark] .account-delete-confirm::backdrop{background:#08090ccb}[data-theme=dark] .account-delete-confirm h2{color:#ff929a}[data-theme=dark] .account-delete-warning-icon{background:#67303966;color:#ff929a}[data-theme=dark] .account-delete-warning-note{background:#5c2b334d;color:#f5bcc2;border-color:#e36770}[data-theme=dark] .account-delete-confirm .dialog-actions{border-color:#684047}[data-theme=dark] .account-delete-confirm .account-delete-final{background:#b93440;border-color:#df6670;color:#fff}[data-theme=dark] .account-delete-confirm .account-delete-final:hover{background:#d14350}[data-theme=dark] .account-delete-confirm .account-delete-final:disabled{background:#b93440;color:#fff}@media(max-width:650px){#account-form .account-delete-section{max-width:100%;flex-basis:100%;margin-bottom:8px}}

.demo-message-catalog-toggle{margin-top:20px}

.settings-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.settings-tile{font-size:18px;min-height:170px;padding:24px 16px;overflow-wrap:anywhere}@media(max-width:1100px){.settings-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.settings-tiles{grid-template-columns:1fr}}

.database-source-panel+.database-source-panel{margin-top:20px}.database-source-link{display:inline-block;margin-left:10px;color:inherit;text-decoration:underline;text-underline-offset:3px}

.database-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}.database-source-grid>.database-source-panel{margin:0;max-width:none;min-width:0}.database-source-grid .account-profile>div{min-width:0}.database-source-grid dd{overflow-wrap:anywhere}@media(max-width:950px){.database-source-grid{grid-template-columns:1fr}}

.database-source-grid{gap:16px}.database-source-grid>.database-source-panel{padding:18px 20px}.database-source-panel h3{font-size:16px;line-height:1.4}.database-source-panel p{margin:8px 0 12px;font-size:12px;line-height:1.5}.database-source-grid .account-profile{gap:0;margin-top:10px}.database-source-grid .account-profile>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:baseline;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}.database-source-grid .account-profile>div:last-child{border-bottom:0}.database-source-grid .account-profile dt{font-size:11px;line-height:1.4}.database-source-grid .account-profile dd{margin:0;font-size:12px;font-weight:600;line-height:1.4;text-align:right}.database-source-panel p:has(>button){display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}.database-source-panel button,.database-source-panel .database-source-link{font-size:12px;padding:7px 11px;line-height:1.5}.database-source-panel .database-source-link{margin:0;border:1px solid var(--gold);border-radius:5px;background:var(--gold);color:#32230c;display:inline-block;font-weight:600;text-decoration:none;cursor:pointer}.database-source-panel .database-source-link:hover{background:#d99620;border-color:#d99620}.database-source-panel .database-source-link:focus-visible{outline:3px solid #3676a4;outline-offset:2px}.database-source-panel [role=status]:empty{display:none}.database-source-panel p.help{font-size:11px;margin-bottom:0}@media(max-width:550px){.database-source-grid>.database-source-panel{padding:15px}.database-source-grid .account-profile>div{grid-template-columns:1fr;gap:2px}.database-source-grid .account-profile dd{text-align:left}}

.database-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.database-panel-heading h3{margin:0;min-width:0}.database-status{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;line-height:1.4;white-space:nowrap;color:inherit}.database-status i{display:inline-block;flex:none;width:9px;height:9px;border-radius:50%;background:var(--database-status-colour);box-shadow:0 0 0 2px color-mix(in srgb,var(--database-status-colour) 18%,transparent)}.database-status[data-level=ok]{--database-status-colour:#2c9a57}.database-status[data-level=warning]{--database-status-colour:#e58b21}.database-status[data-level=error]{--database-status-colour:#d7444f}[data-theme=dark] .database-status[data-level=ok]{--database-status-colour:#61c685}[data-theme=dark] .database-status[data-level=warning]{--database-status-colour:#f2a341}[data-theme=dark] .database-status[data-level=error]{--database-status-colour:#f2767f}.database-status-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0 0 14px;opacity:.85}.database-status-legend .database-status{font-weight:400;font-size:11px}@media(max-width:550px){.database-panel-heading{align-items:flex-start;flex-wrap:wrap}.database-status-legend{gap:8px 14px}}

.database-source-grid>.database-source-panel{display:flex;flex-direction:column}.database-lock-footer{display:flex;align-items:center;gap:12px;justify-content:flex-end;border-top:1px solid var(--line);margin-top:auto;padding-top:12px}.database-lock-footer button{flex:none;font-size:11px;padding:5px 9px}.database-lock-hint{font-size:11px;color:#bf7a13;margin-right:auto;line-height:1.5}[data-theme=dark] .database-lock-hint{color:#f2b55e}.database-lock-dialog{width:min(590px,calc(100% - 40px))}.database-lock-dialog h2{font-size:20px}.database-lock-dialog form>label{display:flex;align-items:center;gap:9px;margin:15px 0 6px;font-size:13px}.database-lock-dialog form>label:last-of-type{display:grid;gap:6px}.database-lock-dialog form>label input:not([type=checkbox]){width:100%}.database-lock-dialog p{font-size:12px;line-height:1.6}.database-lock-dialog .subline{margin-left:24px}.database-source-link[aria-disabled=true]{opacity:.45;cursor:not-allowed}.database-access-blocked{border-left:4px solid #d48b29}.database-access-blocked p{font-size:13px;line-height:1.6}

#personal-position-grid .position-filled{cursor:grab}
#personal-position-grid .position-dragging{opacity:.45}
#personal-position-grid .position-drop{outline:3px dashed var(--gold);outline-offset:1px}

.vehicle-name-status{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.vehicle-name-status .pill{font-size:10px;white-space:nowrap}.vehicle-approved{background:#26744922;color:#278146;border:1px solid #278146}body.dark .vehicle-approved{color:#80d99a;border-color:#80d99a}
.pill.vehicle-failure-label{background:#ba303d;color:#fff;border:1px solid #9e2230}
[data-theme=dark] .pill.vehicle-failure-label{background:#692630;color:#ffd9dd;border-color:#d76a78}

.vehicle-name-status .vehicle-damage-placeholder{background:transparent;border:1px dashed currentColor;color:inherit;opacity:.65}

.mileage-rental,.mileage-report{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mileage-history{max-height:260px;overflow:auto}.mileage-history thead th{position:sticky;top:0}.mileage-rental[hidden]{display:none}

.vehicle-profile-detail .account-detail-actions{max-width:310px}.vehicle-profile-icon{aspect-ratio:3/4}.vehicle-selection-list{max-height:430px;overflow:auto}.vehicle-selection-list thead th{position:sticky;top:0;z-index:2}.vehicle-selection-list .vehicle-selected{background:#e9a72b15}.vehicle-select-name{border:0;background:transparent;color:inherit;padding:0;font-weight:700;text-decoration:underline;text-align:left}.vehicle-select-name:hover{color:var(--gold)}.vehicle-selection-pane{min-width:0}

#editor.locomotive-editor{width:min(1280px,96vw);max-width:96vw;max-height:92vh}
#editor.locomotive-editor #fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
#editor.locomotive-editor fieldset{margin:0;min-width:0;border:1px solid var(--line);border-radius:7px;padding:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#editor.locomotive-editor fieldset legend{color:var(--gold);font-weight:650;padding:0 6px}
#editor.locomotive-editor fieldset>label{min-width:0}
#editor.locomotive-editor .locomotive-identity-fields{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}
#editor.locomotive-editor .locomotive-power-fields,#editor.locomotive-editor .locomotive-lz-fields{grid-column:span 1}
#editor.locomotive-editor .dialog-actions{position:sticky;bottom:-20px;z-index:5;background:#fff;padding:14px 0;margin-bottom:-20px;border-top:1px solid var(--line)}
[data-theme=dark] #editor.locomotive-editor .dialog-actions{background:#25282d}
#editor.locomotive-editor #delete{margin-right:auto}
@media(max-width:850px){#editor.locomotive-editor .locomotive-identity-fields{grid-template-columns:repeat(2,minmax(0,1fr))}#editor.locomotive-editor .locomotive-power-fields,#editor.locomotive-editor .locomotive-lz-fields{grid-column:1/-1}}
@media(max-width:550px){#editor.locomotive-editor #fields,#editor.locomotive-editor fieldset,#editor.locomotive-editor .locomotive-identity-fields,#editor.locomotive-editor .mileage-rental,#editor.locomotive-editor .mileage-report{grid-template-columns:1fr}}
#editor.locomotive-editor fieldset[hidden]{display:none}

.vehicle-profile-detail .account-profile-hero{grid-template-columns:190px minmax(0,1fr) auto}.vehicle-profile-detail .vehicle-profile-icon{width:190px;aspect-ratio:3/2}.vehicle-profile-icon img{object-fit:contain}.vehicle-photo-credit{font-size:10px;line-height:1.4;overflow-wrap:anywhere;color:inherit}@media(max-width:1050px){.vehicle-profile-detail .account-profile-hero{grid-template-columns:150px minmax(0,1fr)}.vehicle-profile-detail .vehicle-profile-icon{width:150px}}@media(max-width:600px){.vehicle-profile-detail .account-profile-hero{grid-template-columns:1fr}}

.vehicle-photo-assignment{font-size:11px;font-weight:600;color:var(--gold);line-height:1.4}.vehicle-photo-assignment>span{display:block;font-size:10px;font-weight:400;color:inherit}

.vehicle-photo-upload-dialog{width:min(560px,94vw)}.vehicle-upload-preview{display:block;width:100%;max-height:300px;object-fit:contain;margin:14px 0}.vehicle-photo-upload-dialog label{display:grid;gap:6px}.vehicle-series-library{width:min(1000px,94vw);max-height:88vh;overflow:auto}.vehicle-series-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.vehicle-series-library-grid .panel{min-width:0}.vehicle-series-library-grid img{width:100%;height:130px;object-fit:contain}.vehicle-series-library-grid p,.vehicle-series-library-grid a{font-size:11px;overflow-wrap:anywhere}@media(max-width:700px){.vehicle-series-library-grid{grid-template-columns:1fr 1fr}}

.database-series-thumb{width:120px;height:72px;object-fit:contain}.database-series-preview{display:block;width:100%;max-height:360px;object-fit:contain;border-radius:8px}#database-list tbody tr{cursor:pointer}#database-list{max-height:600px;overflow:auto}#database-list thead th{position:sticky;top:0;z-index:1;background:var(--blue)}

.series-performance{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}.series-performance-metric{padding:12px 0;border-bottom:1px solid var(--line)}.series-performance-metric p{margin:8px 0}.series-performance a{overflow-wrap:anywhere}

.database-power-cell{min-width:150px}.database-power-range{display:block;white-space:nowrap;margin:4px 0 8px}.database-power-range small{display:block;color:inherit;opacity:.75;font-size:11px}

.vehicle-profile-heading{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.vehicle-profile-number{color:var(--gold);font-size:.85em;font-weight:600;white-space:nowrap}

.vehicle-profile-title-row{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap;margin:5px 0 10px}.vehicle-profile-title-row .vehicle-profile-heading{margin:0}.vehicle-operating-indicators{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.vehicle-operating-indicators .pill{font-size:11px;line-height:1.4}.pill.vehicle-warning-label{background:#fff0ce;color:#935000;border:1px solid #dc8c19}[data-theme=dark] .pill.vehicle-warning-label{background:#4b321b;color:#ffbd62;border-color:#dc8c19}
.pill.vehicle-warning-label[data-severity=critical]{background:#ba303d;color:#fff;border-color:#9e2230}[data-theme=dark] .pill.vehicle-warning-label[data-severity=critical]{background:#692630;color:#ffd9dd;border-color:#d76a78}
.vehicle-profile-detail .account-detail-actions{max-width:none}.vehicle-action-layout{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.vehicle-action-row{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.vehicle-action-row button{white-space:nowrap}[data-theme=dark] .vehicle-action-row .vehicle-failure-button{background:#922b39;color:#fff;border-color:#db6b79}[data-theme=dark] .vehicle-action-row .vehicle-failure-button:hover{background:#ad3545}[data-theme=dark] .vehicle-action-row .vehicle-failure-button[aria-pressed=true]{background:#692630;color:#ffd9dd}
.vehicle-action-stack{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:170px}.vehicle-action-stack button{white-space:nowrap}
.vehicle-operating-indicators [hidden]{display:none}
.vehicle-profile-detail .account-profile-hero>.account-detail-actions{align-self:stretch;align-items:stretch}.vehicle-profile-detail .vehicle-action-layout{flex:1;justify-content:space-between}.vehicle-profile-detail .vehicle-action-layout>.vehicle-action-row{margin-top:auto;padding-top:18px}
.vehicle-action-placeholder{align-self:flex-end;min-width:170px;margin:12px 0}.vehicle-action-placeholder:disabled{cursor:default}
.vehicle-action-stack>.vehicle-action-placeholder{align-self:stretch;min-width:0;margin:0}.vehicle-action-stack>button{min-height:36px;margin:0}.vehicle-action-stack{gap:8px}.vehicle-action-row>button{min-height:36px}
.vehicle-profile-detail .vehicle-action-layout{justify-content:flex-start;gap:8px}.vehicle-profile-detail .vehicle-action-layout>.vehicle-action-row{margin-top:0;padding-top:0}
.vehicle-status-notice{margin-top:12px;padding:10px 12px;min-height:88px;border:1px solid var(--line);border-radius:6px;background:#e9a72b08}.vehicle-status-notice h4{margin:0 0 8px;color:var(--gold);font-size:12px;font-weight:600}.vehicle-status-notice .vehicle-operating-indicators{gap:6px}.vehicle-status-notice .vehicle-operating-indicators>.pill{font-size:12px}
.vehicle-profile-detail .account-profile-identity{display:grid;grid-template-columns:minmax(145px,.8fr) minmax(220px,1.2fr);column-gap:18px;align-content:start;min-width:0}.vehicle-profile-detail .account-profile-eyebrow{grid-column:1;grid-row:1}.vehicle-profile-detail .vehicle-profile-title-row{grid-column:1;grid-row:2}.vehicle-profile-detail .account-profile-badges{grid-column:1;grid-row:3;align-self:start}.vehicle-profile-detail .account-profile-functions{grid-column:1;grid-row:4}.vehicle-profile-detail .vehicle-status-notice{grid-column:2;grid-row:1 / span 4;margin:0;min-width:0}.vehicle-profile-detail .account-release-status{grid-column:1 / -1;grid-row:5}.vehicle-status-feed{margin-top:10px}.vehicle-status-feed>label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px}.vehicle-status-feed select{min-width:0;max-width:165px;padding:4px 6px;font-size:11px}.vehicle-status-feed-list{max-height:175px;overflow:auto;margin-top:7px}.vehicle-status-feed-list article{padding:7px 0;border-top:1px solid var(--line);font-size:11px;overflow-wrap:anywhere}.vehicle-status-feed-list article span{display:block;font-size:10px;opacity:.8}.vehicle-status-feed-list [hidden]{display:none}.vehicle-status-feed-list p{font-size:11px}@media(max-width:1050px){.vehicle-profile-detail .account-profile-identity{grid-template-columns:1fr}.vehicle-profile-detail .vehicle-status-notice{grid-column:1;grid-row:5;margin-top:12px}.vehicle-profile-detail .account-release-status{grid-column:1;grid-row:6}}
.vehicle-profile-detail .account-profile-identity{grid-template-columns:max-content minmax(0,1fr);column-gap:14px}.vehicle-profile-detail .account-profile-hero{column-gap:14px}.vehicle-profile-detail .vehicle-status-notice{width:100%}@media(max-width:1050px){.vehicle-profile-detail .account-profile-identity{grid-template-columns:1fr}}
.vehicle-status-notice{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;row-gap:8px;align-content:start}.vehicle-status-notice>h4{grid-column:1;grid-row:1;margin:0;align-self:center;white-space:nowrap}.vehicle-status-notice>.vehicle-operating-indicators{grid-column:2;grid-row:1;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start}.vehicle-status-notice>.vehicle-status-feed{grid-column:1 / -1;grid-row:2;margin-top:0}
.vehicle-status-notice{grid-template-columns:auto minmax(0,1fr) auto}.vehicle-status-notice>.vehicle-status-feed{display:contents}.vehicle-status-notice .vehicle-status-feed>label{grid-column:3;grid-row:1;justify-self:end;align-self:start;font-size:0;gap:0}.vehicle-status-notice .vehicle-status-feed-list{grid-column:1 / -1;grid-row:2;margin-top:0}.vehicle-status-notice .vehicle-status-feed select{font-size:11px}
.vehicle-status-notice{height:174px;min-height:174px;max-height:174px;grid-template-columns:auto minmax(0,1fr) 175px;grid-template-rows:26px minmax(0,1fr);overflow:hidden;position:relative}.vehicle-status-notice>.vehicle-operating-indicators{min-width:0}.vehicle-status-notice .vehicle-status-controls{grid-column:3;grid-row:1 / -1;display:flex;flex-direction:column;align-items:stretch;gap:7px;border-left:1px solid var(--line);padding-left:12px;min-width:0}.vehicle-status-notice .vehicle-status-controls>label{display:flex;justify-content:flex-end;font-size:0}.vehicle-status-notice .vehicle-status-controls select{width:100%;max-width:none;padding:4px 5px;font-size:11px}.vehicle-status-notice .vehicle-status-issue-actions{display:flex;flex-direction:column;gap:5px}.vehicle-status-notice .vehicle-status-issue-actions button{font-size:10px;line-height:1.3;padding:5px 4px;min-height:24px;white-space:normal}.vehicle-status-notice .vehicle-status-feed-list{grid-column:1 / 3;grid-row:2;max-height:none;min-height:0;overflow:auto}.vehicle-issue-dialog{width:min(560px,calc(100vw - 32px));border:1px solid var(--line);border-radius:8px;padding:22px;background:#fff;color:inherit}.vehicle-issue-dialog label{display:flex;flex-direction:column;gap:5px;margin-top:12px}.vehicle-issue-dialog textarea{resize:vertical}.vehicle-issue-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.vehicle-issue-error{color:#ba303d}[data-theme=dark] .vehicle-issue-dialog{background:#25292d;color:#e6e9ed}[data-theme=dark] .vehicle-issue-error{color:#ffb3bd}.vehicle-issue-dialog::backdrop{background:#0008}
.vehicle-issue-dialog .vehicle-failure-risk{flex-direction:row;align-items:center;gap:8px;color:#ba303d}.vehicle-issue-dialog .vehicle-failure-risk input{width:auto}.vehicle-issue-dialog label[hidden]{display:none}[data-theme=dark] .vehicle-issue-dialog .vehicle-failure-risk{color:#ffb3bd}
.header-message[data-category=positive]{background:#193a2b;border-color:#4f9e70;border-left-color:#69d28c}.header-message[data-category=positive] strong,.header-message[data-category=positive] .header-message-symbol{color:#9be7b4}.demo-message-category[data-category=positive]{color:#248049;border-color:#42a267;background:#e4f5e9}[data-theme=dark] .demo-message-category[data-category=positive]{color:#9be7b4;background:#193a2b}
.vehicle-technical-columns{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.3fr);gap:14px}.vehicle-technical-columns>dl{display:flex;flex-direction:column;gap:12px;margin:0}.vehicle-inscriptions{border-left:1px solid var(--line);padding-left:12px;min-width:0}.vehicle-inscriptions h5{font-size:12px;color:var(--gold);margin:0 0 10px}.vehicle-inscriptions>dl{display:flex;flex-direction:column;gap:9px;margin:0}.vehicle-technical-columns dd{overflow-wrap:anywhere}.vehicle-technical-columns dt{font-size:11px}@media(max-width:850px){.vehicle-technical-columns{grid-template-columns:1fr 1fr}.vehicle-inscriptions{grid-column:1 / -1;border-left:0;border-top:1px solid var(--line);padding:12px 0 0}.vehicle-inscriptions>dl{display:grid;grid-template-columns:1fr 1fr}}@media(max-width:550px){.vehicle-technical-columns{grid-template-columns:1fr}.vehicle-inscriptions{grid-column:1}}
.vehicle-inscriptions .brake-weight-heading{font-size:11px;color:var(--gold);margin:14px 0 9px}.locomotive-inscription-fields .brake-weight-heading{grid-column:1 / -1;font-size:12px;color:var(--gold);margin:4px 0 0}
.vehicle-inscriptions>dl:last-child>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:10px}.vehicle-inscriptions>dl:last-child>div>dt{margin:0}.vehicle-inscriptions>dl:last-child>div>dd{margin:0;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}#editor.locomotive-editor .locomotive-inscription-fields>label:has(input[name^="brake_weight_"]){display:grid;grid-template-columns:50px minmax(0,1fr);align-items:center;gap:8px}#editor.locomotive-editor .locomotive-inscription-fields>label:has(input[name^="brake_weight_"]) input{width:100%;min-width:0}
.vehicle-technical-columns .vehicle-inscriptions{margin-top:-30px}.vehicle-inscriptions>h5{margin-top:0}@media(max-width:850px){.vehicle-technical-columns .vehicle-inscriptions{margin-top:0}}
.vehicle-inscriptions>dl:last-child>div{grid-template-columns:50px auto;justify-content:start;gap:8px}.vehicle-inscriptions>dl:last-child>div>dd{text-align:left}.vehicle-example-note{display:block;font-size:9px;color:var(--gold);margin:-5px 0 8px}.vehicle-example-value{text-decoration:underline dotted;text-underline-offset:3px}
.vehicle-inscriptions>h5,.vehicle-inscriptions .brake-weight-heading,.locomotive-inscription-fields .brake-weight-heading{color:inherit;font-weight:700}#editor.locomotive-editor .locomotive-inscription-fields>legend{color:inherit;font-weight:700}
.vehicle-inscriptions>dl:first-of-type>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:10px}.vehicle-inscriptions>dl:first-of-type>div>dt{margin:0}.vehicle-inscriptions>dl:first-of-type>div>dd{margin:0;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.vehicle-technical-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.vehicle-technical-columns .vehicle-inscriptions{border-left:0;padding-left:0}.vehicle-inscriptions>dl:first-of-type>div{grid-template-columns:auto auto;justify-content:start;gap:8px}.vehicle-inscriptions>dl:first-of-type>div>dd{text-align:left}@media(max-width:850px){.vehicle-technical-columns{grid-template-columns:1fr 1fr}.vehicle-technical-columns .vehicle-inscriptions{border-top:0;padding-top:0}}@media(max-width:550px){.vehicle-technical-columns{grid-template-columns:1fr}}
.vehicle-technical-columns .vehicle-inscriptions{margin-top:0}.vehicle-inscriptions>h5{margin-top:0}
.vehicle-inscriptions>h5,.vehicle-inscriptions .brake-weight-heading,.locomotive-inscription-fields .brake-weight-heading{font-weight:400}#editor.locomotive-editor .locomotive-inscription-fields>legend{font-weight:400}
.vehicle-title-tools{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-width:0}.vehicle-record-navigation{display:flex;gap:6px}.vehicle-record-navigation button{font-size:22px;line-height:1;padding:4px 10px;min-width:34px;min-height:32px}.vehicle-record-navigation button:disabled{cursor:default}
.vehicle-record-search{display:block;margin:0}.vehicle-record-search input{width:230px;max-width:100%;padding:7px 10px}.vehicle-record-search .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.vehicle-document-toolbar>div:first-child{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.vehicle-document-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.vehicle-document-tools input[type=search]{width:210px}.vehicle-document-tools input[hidden]{display:none}.vehicle-document-workspace{display:grid;grid-template-columns:170px minmax(340px,1.3fr) minmax(300px,1fr);gap:16px;align-items:start;margin-top:16px}.vehicle-document-folders{display:flex;flex-direction:column;padding:10px;gap:5px}.vehicle-document-folders button{text-align:left;overflow-wrap:anywhere}.vehicle-document-folders button.selected{border-color:var(--gold);box-shadow:inset 3px 0 var(--gold)}.vehicle-document-list-panel,.vehicle-document-preview{min-width:0;padding:16px}.vehicle-document-list-panel .toolbar{margin-bottom:12px}.vehicle-document-list-panel h3{font-size:14px;overflow-wrap:anywhere}.vehicle-document-list-panel [data-doc-list]{max-height:590px;overflow:auto}.vehicle-document-list-panel th{position:sticky;top:0;z-index:1}.vehicle-document-list-panel td,.vehicle-document-list-panel th{padding:10px;font-size:11px}.vehicle-document-list-panel tr[data-doc-select]{cursor:pointer}.vehicle-document-list-panel tr.selected{background:#e9a72b1a}.vehicle-document-actions{min-width:110px}.vehicle-document-actions button{display:block;font-size:10px;padding:4px 7px;margin-top:5px}.vehicle-document-preview [data-doc-preview]{max-height:650px;overflow:auto;margin-top:10px}.vehicle-document-preview h4{overflow-wrap:anywhere}.vehicle-document-pdf-pages canvas{display:block;max-width:100%;height:auto;margin:12px 0;background:white}.vehicle-document-history{margin-top:18px;font-size:12px}.vehicle-document-dialog{width:min(520px,95vw);max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:7px;padding:22px;background:white;color:inherit}.vehicle-document-dialog label{display:flex;flex-direction:column;gap:5px;margin-top:12px}.vehicle-document-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.vehicle-document-dialog::backdrop{background:#0008}[data-theme=dark] .vehicle-document-dialog{background:#25292d;color:#e6e9ed}@media(max-width:1250px){.vehicle-document-workspace{grid-template-columns:160px minmax(0,1fr)}.vehicle-document-preview{grid-column:1 / -1}}@media(max-width:700px){.vehicle-document-workspace{grid-template-columns:1fr}.vehicle-document-preview{grid-column:1}.vehicle-document-toolbar{align-items:flex-start;flex-direction:column}}
.urgent-alarm-popup{position:fixed;margin:0;padding:0;transform:translate(-50%,-50%);border:3px solid #db2839;border-radius:12px;background:#fff3f4;color:#49131c;box-shadow:0 22px 100px #4d001399;overflow:auto}.urgent-alarm-popup::backdrop{background:#19010988}.urgent-alarm-heading{display:flex;align-items:center;gap:18px;padding:24px 28px;background:#aa1024;color:#fff}.urgent-alarm-heading>span{display:flex;align-items:center;justify-content:center;flex:none;border:3px solid #fff;border-radius:50%;width:52px;height:52px;font-size:38px;font-weight:850;line-height:1}.urgent-alarm-heading p{margin:0 0 4px;font-size:12px;letter-spacing:1.5px;font-weight:800;color:#fff}.urgent-alarm-heading h2{color:#fff;font-size:27px;font-weight:750;letter-spacing:0}.urgent-alarm-body{padding:24px 28px}.urgent-alarm-body .urgent-alarm-label{margin:0 0 4px;font-size:12px;color:#8b3444}.urgent-alarm-person{margin:0 0 18px;font-size:22px;font-weight:750;overflow-wrap:anywhere}#urgent-alarm-contact{display:block;border-left:5px solid #c41f35;padding:12px 14px;margin:0 0 22px;background:#fadddf;font-size:20px;font-weight:850;line-height:1.4}.urgent-alarm-phone{display:block;margin-bottom:18px;font-size:26px;font-weight:850;overflow-wrap:anywhere}.urgent-alarm-time{font-size:12px;color:#85404d}.urgent-alarm-popup .dialog-actions{border-color:#e5b4bd;margin-top:22px}.urgent-alarm-popup button{background:#a60f25;border-color:#8d0b1f;color:#fff;font-weight:750}.urgent-alarm-popup button:hover{background:#87091c}.urgent-alarm-error{color:#a20a24;font-weight:650}[data-theme=dark] .urgent-alarm-popup{background:#302025;color:#fff0f3;border-color:#f45d73;box-shadow:0 22px 100px #000c}[data-theme=dark] .urgent-alarm-heading{background:#a21128}[data-theme=dark] .urgent-alarm-body .urgent-alarm-label,[data-theme=dark] .urgent-alarm-time{color:#efb3bd}[data-theme=dark] #urgent-alarm-contact{background:#642332;border-color:#ff6d86;color:#fff4f6}[data-theme=dark] .urgent-alarm-error{color:#ffadb9}[data-theme=dark] .urgent-alarm-popup .dialog-actions{border-color:#80404f}[data-theme=dark] .urgent-alarm-popup button{background:#bc1934;border-color:#f06d83;color:#fff}
:is(.modules,.header-tools) .user-session .account-menu a.account-mobile-download{display:flex;align-items:center;gap:8px;width:100%;box-sizing:border-box;padding:11px 12px;border:0;border-radius:4px;background:transparent;color:inherit;font-size:13px;text-align:left;text-decoration:none;line-height:1.4}
:is(.modules,.header-tools) .user-session .account-menu a.account-mobile-download:is(:hover,:focus-visible){background:#edaa2b25;outline:1px solid #c28a32}
.account-mobile-download svg{width:19px;height:19px;flex:none;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.business-toolbar{flex-wrap:wrap}.business-toolbar .toolbar-actions{margin-left:auto}.business-navigation{display:flex;align-items:center;gap:8px}.business-navigation button{min-width:34px}.business-detail{margin-bottom:18px}.business-profile-head{display:flex;align-items:center;gap:20px}.business-logo{width:112px;height:100px;display:flex;align-items:center;justify-content:center;flex:none}.business-logo img{max-width:100%;max-height:100%;object-fit:contain}.business-logo svg{width:72px;height:72px;stroke:var(--gold);fill:none;stroke-width:2}.business-identity{flex:1;min-width:0}.business-identity h3{margin:6px 0 10px;overflow-wrap:anywhere}.business-identity .pill{margin-right:8px}.business-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:22px;padding-top:18px;border-top:1px solid #b6812b55}.business-facts{margin:0}.business-facts div{margin:10px 0}.business-facts dt{font-size:12px;opacity:.7}.business-facts dd{margin:4px 0 0;overflow-wrap:anywhere}.business-sites{margin-top:20px;border-top:1px solid #b6812b55;padding-top:16px}.business-sites article{display:flex;justify-content:space-between;align-items:start;gap:16px;padding:14px 0;border-bottom:1px solid #b6812b33}.business-sites article>div{min-width:0;flex:1}.business-sites article p{overflow-wrap:anywhere}.business-sites .business-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px}.business-list .toolbar{flex-wrap:wrap}.business-search{flex:1;min-width:180px}.business-search input{width:100%}.business-list tr.selected{background:#e9a72b1a}.business-select{background:transparent;border:0;text-align:left;color:inherit;font-weight:600;padding:5px 0;text-decoration:underline;text-underline-offset:3px}.business-select:focus-visible{outline:2px solid var(--gold)}@media(max-width:900px){.business-detail-grid{grid-template-columns:1fr}.business-profile-head{flex-wrap:wrap}.business-sites .business-facts{grid-template-columns:1fr}}
.business-category-pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.business-category-pages button{display:flex;flex-direction:column;gap:12px;align-items:flex-start;text-align:left;padding:24px}.business-category-pages strong{font-size:20px;color:var(--gold)}@media(max-width:760px){.business-category-pages{grid-template-columns:1fr}}
.business-overview-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}.business-overview-panel{min-width:0}.business-overview-panel h3{font-size:17px}.business-overview-panel>label{display:flex;flex-direction:column;gap:6px;margin:14px 0}.business-overview-panel .tablewrap{max-height:430px;overflow:auto;margin:14px 0}.business-overview-panel td{overflow-wrap:anywhere}.business-overview-panel .business-select{white-space:normal}@media(max-width:1200px){.business-overview-panels{grid-template-columns:1fr}}
/* Navigation keeps its natural height; shortcuts shrink, then flow below it. */
.shell>aside{display:flex;flex-direction:column}
.shell>aside>#today,.shell>aside>.quick,.shell>aside>nav{flex:0 0 auto}
.shell>aside>#management-sidebar-divider{position:static;inset:auto;flex:0 0 auto;margin:16px 12px 0;margin-top:auto;padding-top:15px;border-top:0;border-bottom:2px solid var(--gold)}
.shell>aside>#personal-sidebar{position:relative;inset:auto;flex:0 1 33%;min-height:242px;margin:10px 12px;overflow:visible}
.shell>aside>#personal-sidebar .personal-shortcut-grid{grid-template-rows:repeat(8,minmax(22px,1fr))}
@media(max-width:760px){.shell>aside{display:none}}
dialog.customer-editor{width:min(1180px,calc(100vw - 40px));max-width:1180px}.customer-data-group,.customer-contact-manager{border:1px solid var(--line);border-radius:6px;padding:16px;min-width:0}.customer-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.customer-profile-grid label{min-width:0}.customer-profile-grid input{width:100%}.customer-contact-editor{padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:12px}.customer-contact-editor>button{margin-top:12px}.customer-contact-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.customer-contact-cards article{display:block;border:1px solid var(--line);border-radius:5px;padding:14px;min-width:0}.customer-contact-cards .business-facts{display:block}.customer-company-contacts{margin-top:22px}.customer-selected-site{border:1px solid var(--line);border-radius:6px;padding:18px;margin:16px 0}.customer-selected-site>.business-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.customer-profile-notes{white-space:pre-wrap;overflow-wrap:anywhere}.business-detail{max-width:none}.business-list{max-width:none}@media(max-width:1000px){.customer-profile-grid,.customer-contact-cards,.customer-selected-site>.business-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.customer-profile-grid,.customer-contact-cards,.customer-selected-site>.business-facts{grid-template-columns:1fr}}
.business-toolbar .business-search{flex:1;max-width:360px;min-width:180px}.business-toolbar .business-search input{padding:7px 10px}.business-detail{padding:18px}.business-profile-head{gap:16px}.business-logo{width:76px;height:76px}.business-profile-head h3{margin:3px 0 6px}.customer-detail-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-top:16px;padding-bottom:10px}.customer-detail-tabs button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#191919}.customer-extra-details{border-top:0;padding-top:0;margin-top:14px;gap:20px}.customer-extra-details .business-facts div{display:grid;grid-template-columns:minmax(96px,.8fr) minmax(0,1.4fr);gap:8px;margin:7px 0}.customer-extra-details .business-facts dd{margin:0;font-size:12px}.customer-extra-details .business-facts dt{font-size:11px}.business-list td,.business-list th{padding:8px 12px;font-size:12px}.business-list .toolbar{margin-bottom:12px}.customer-contact-cards .business-facts div{margin:5px 0}.customer-company-contacts{margin-top:14px}.customer-profile-notes{font-size:11px;margin-bottom:0!important}.customer-detail-content>.business-sites{border-top:0;padding-top:12px;margin-top:0}.customer-representatives{border:1px solid var(--line);border-radius:6px;padding:16px;min-width:0}
.customer-contact-cards .business-facts div{display:grid;grid-template-columns:86px minmax(0,1fr);gap:7px;margin:5px 0}.customer-contact-cards .business-facts dt{font-size:11px}.customer-contact-cards .business-facts dd{margin:0;font-size:12px}

.workshop-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.workshop-details{display:grid;gap:8px}.workshop-details>div{display:grid;grid-template-columns:125px minmax(0,1fr);gap:12px}.workshop-details dt{color:var(--muted)}.workshop-details dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.workshop-select{border:0;background:transparent;color:inherit;text-align:left;padding:3px;cursor:pointer}.workshop-map{height:260px}.workshop-editor{width:min(1080px,94vw);max-height:90vh;overflow:auto}.workshop-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.workshop-form label{display:flex;flex-direction:column;gap:4px}.workshop-form input,.workshop-form textarea{width:100%;box-sizing:border-box}.workshop-form textarea{min-height:80px}@media(max-width:950px){.workshop-workspace{grid-template-columns:1fr}.workshop-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.workshop-form{grid-template-columns:1fr}.workshop-details>div{grid-template-columns:1fr;gap:2px}}

.workshop-source-date{display:block;white-space:nowrap;color:var(--muted);margin-top:3px}.workshop-workspace .table-wrap{overflow-x:auto;max-width:100%}.workshop-workspace table{min-width:0;width:100%;table-layout:fixed}.workshop-workspace th,.workshop-workspace td{padding:10px 8px;overflow-wrap:anywhere}.workshop-workspace th:nth-child(1){width:34%}.workshop-workspace th:nth-child(2){width:20%}.workshop-workspace th:nth-child(3){width:26%}.workshop-workspace th:nth-child(4){width:20%}

/* Database cards keep their reading width; spare room is reserved for future content. */
.database-overview-layout{container-type:inline-size;width:100%;min-width:0}
.database-overview-content{display:grid;grid-template-columns:minmax(0,1030px);gap:20px;align-items:start}
.database-overview-content>.database-source-grid{grid-template-columns:repeat(2,507px);width:1030px;max-width:100%;gap:16px}
.database-overview-content>.database-future-space{display:none;margin:0;min-width:0;min-height:260px;padding:24px;border:1px dashed var(--gold);text-align:center;align-content:center}
.database-future-space h3{font-size:16px;font-weight:500;margin:0 0 10px}
.database-future-space p{font-size:13px;margin:0;opacity:.75}
@container(min-width:1270px){.database-overview-content{grid-template-columns:1030px minmax(0,1fr)}.database-overview-content>.database-future-space{display:block}}
@container(max-width:1029px){.database-overview-content>.database-source-grid{grid-template-columns:minmax(0,507px);width:507px}}

.shell[data-sidebar-controls]{position:relative;grid-template-columns:var(--left-sidebar-size,200px) minmax(0,1fr) var(--right-sidebar-size,0px)}
body:has(.shell[data-sidebar-controls])>.modules{padding-left:var(--left-sidebar-size,200px)}
.sidebar-toolbar{position:sticky;top:0;z-index:11;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 10px;min-height:42px;background:inherit;border-bottom:1px solid var(--line);flex:0 0 auto}
.sidebar-toolbar>span{font-size:11px;font-weight:600;letter-spacing:.3px}
.sidebar-toolbar>button{width:28px;height:28px;padding:0;flex:none;font-size:24px;line-height:1;background:transparent;color:inherit;border-color:var(--line)}
.shell.sidebar-left-collapsed>aside>:not(.sidebar-toolbar){display:none!important}
.shell.sidebar-left-collapsed>aside>.sidebar-toolbar>span{display:none}
.shell.sidebar-left-collapsed>aside>.sidebar-toolbar{padding:6px;justify-content:center}
.sidebar-resize-handle{position:absolute;top:0;bottom:0;left:calc(var(--left-sidebar-size,200px) - 4px);width:8px;cursor:col-resize;touch-action:none;z-index:20}
.sidebar-resize-handle:hover,.sidebar-resize-handle:focus-visible{background:color-mix(in srgb,var(--gold) 60%,transparent);outline:0}
.sidebar-resize-handle[hidden]{display:none}.sidebar-dragging,.sidebar-dragging *{cursor:col-resize!important;user-select:none!important}
.right-context-sidebar{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;border-left:1px solid #dfd9c9;background:#fff9eb}
.right-context-sidebar[hidden]{display:none}.right-sidebar-example{font-size:12px;opacity:1;padding:13px 16px;margin:0;text-align:center}
.right-context-sidebar nav button{padding:18px 16px;font-size:14px}.right-context-sidebar nav button[aria-current=page]{padding-left:12px}
.right-sidebar-detail{padding:30px 16px}.right-sidebar-detail h3{font-size:14px}.right-sidebar-detail p{font-size:11px;line-height:1.9}
.sidebar-right-collapsed .right-context-sidebar .sidebar-toolbar>span,.sidebar-right-collapsed #right-sidebar-content{display:none}
.sidebar-right-collapsed .right-context-sidebar .sidebar-toolbar{padding:6px;justify-content:center}
[data-theme=dark] .right-context-sidebar{background:#27231c;border-color:#57482d;color:#efdab0}
@media(max-width:760px){.shell[data-sidebar-controls]>aside{display:flex}.shell[data-sidebar-controls]>main{padding-left:16px;padding-right:16px}}
.sidebar-toolbar.sidebar-main-title{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;gap:4px;min-height:44px;padding:8px 10px}
.sidebar-main-title>span{grid-column:2;grid-row:1;min-width:0;text-align:center}
.sidebar-main-title>[data-left-toggle]{grid-column:1;grid-row:1}
.sidebar-main-title>[data-right-toggle]{grid-column:3;grid-row:1}
.shell.sidebar-left-collapsed>aside>.sidebar-main-title,.shell.sidebar-right-collapsed .right-context-sidebar>.sidebar-main-title{display:flex;padding:8px;justify-content:center}
.sidebar-resize-handle.right-sidebar-resize-handle{left:auto;right:calc(var(--right-sidebar-size,240px) - 4px)}
.right-sidebar-blank{height:var(--sidebar-top-height,106px);min-height:65px;background:var(--blue)}
[data-theme=dark] .right-sidebar-blank{background:#243848}
.sidebar-right-collapsed .right-sidebar-blank{display:none}
.menu-popout-row{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:stretch;min-width:0;background:#f4d58b;border-bottom:1px solid #e6d7b8}
.menu-popout-row[hidden]{display:none}.menu-popout-row>button:first-child{min-width:0;border-bottom:0;padding-right:4px}
button.menu-popout-button{width:28px;min-width:28px;height:28px;align-self:center;padding:5px;border:0;border-radius:4px;background:transparent;color:inherit;line-height:1}
button.menu-popout-button:hover{background:#e9a72b33}.menu-popout-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
button.page-popout-button{margin-left:auto;border:1px solid var(--line);width:34px;height:34px;flex:none}
[data-theme=dark] .menu-popout-row{background:#4e4026;color:#f3dba4;border-color:#725b36}
.menu-popout-row:has(>button[aria-current=page]){background:#eed09a}[data-theme=dark] .menu-popout-row:has(>button[aria-current=page]){background:#72572c;color:#fff0bd}
.menu-popout-row>button.menu-popout-button{padding:5px;width:28px;min-width:28px;height:28px;font-size:inherit;text-align:center}

/* Two compact, separately addressable display windows. */
.menu-popout-row{grid-template-columns:minmax(0,1fr) 34px 34px}
.menu-popout-row>button.menu-popout-button,button.menu-popout-button{display:inline-flex;align-items:center;justify-content:center;gap:2px;width:32px;min-width:32px;padding:3px;font-size:11px}
.menu-popout-button svg{width:14px;height:14px;flex:none}
.page-window-actions{display:inline-flex;gap:4px;margin-left:auto;flex:none}
.page-window-actions>button.page-popout-button{margin-left:0;width:36px;min-width:36px}

.window-label-panel{position:relative}
.sidebar-window-label{position:absolute;bottom:5px;font-size:11px;line-height:16px;color:inherit;white-space:nowrap;pointer-events:none}
.sidebar-window-label-left{left:10px}
.sidebar-window-label-right{left:50%;transform:translateX(-50%)}
.right-sidebar-blank .sidebar-window-label{color:#fff}
[data-theme=dark] .right-sidebar-blank .sidebar-window-label{color:#e5eef6}

/* Window identification stays distinct from the clock and date. */
.sidebar-window-label{border:1px solid #fff;border-radius:4px;padding:1px 6px;font-weight:700;color:#fff;box-sizing:border-box}
.sidebar-window-label-right{left:auto;right:10px;transform:none}
#today.window-label-panel>#today-date,#today.window-label-panel>#local-clock{position:relative;top:-14px}

#personalization-form>.personal-window-settings{margin-bottom:16px}

.personal-editor-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}
.personal-editor-actions>button{width:auto;margin:0}

.sales-construction-page{position:relative;min-height:180px}

.modules>#server-update-notice{position:absolute;left:8px;top:5px;bottom:5px;width:calc(var(--left-sidebar-size,200px) - 16px);min-width:0;display:flex;align-items:center;justify-content:center;padding:2px 5px;border:2px solid #f4d58b;border-radius:6px;background:#6b430c;color:#fff;text-align:center;font-size:13px;line-height:1.3;box-sizing:border-box;z-index:12}
.modules>#server-update-notice[hidden]{display:none}
body:has(.sidebar-left-collapsed) .modules>#server-update-notice{width:160px;top:auto;bottom:calc(100% + 4px)}
@media(max-width:760px){.modules>#server-update-notice{width:170px;top:auto;bottom:calc(100% + 4px);font-size:12px}}

/* Selected sales service: the existing timeline, fixed to its actual interval. */
.sales-selected-detail{min-width:0;margin-bottom:18px;overflow:hidden}
.sales-selected-detail .timeline-compact-toolbar{flex-wrap:wrap;gap:10px;margin-bottom:12px}
.sales-selected-period{font-size:13px;color:var(--muted)}
.sales-selected-detail .sales-selected-timeline{height:auto;min-height:0;max-height:none;overflow:hidden;overscroll-behavior-x:contain;overscroll-behavior-y:auto}
.sales-selected-detail .sales-workflow-actions,.sales-selected-detail .edit-access-review{display:none}
.service-list-table tr[data-select-service]{cursor:pointer}
.service-list-table tr[data-select-service].is-selected>td{background:color-mix(in srgb,var(--accent,#c89c34) 18%,var(--panel,#fff))}
.service-list-table tr[data-select-service]:focus-visible{outline:2px solid var(--accent,#c89c34);outline-offset:-2px}

.sales-selected-detail{width:100%;max-width:none}.sales-selected-detail .timeline-row>.timeline-label{z-index:15}
[data-theme=dark] .service-list-table tr[data-select-service].is-selected>td{background:#514329;color:#fff}.service-list-table tr[data-select-service].is-selected .muted{color:inherit}

.sales-selected-detail .timeline-compact-toolbar{margin-bottom:6px;gap:6px 16px}
.sales-selected-detail .timeline-compact-toolbar h2{font-size:16px;margin:0}
.sales-selected-detail .sales-selected-period{font-size:12px}
.sales-selected-detail .timeline-legend{font-size:10px}
.sales-selected-detail .timeline-day-title{height:26px;padding:2px 8px;font-size:11px;line-height:12px}
.sales-selected-detail .timeline-axis{height:26px}
.sales-selected-detail .timeline-tick{top:5px;font-size:10px}
.sales-selected-detail .timeline-ruler>.timeline-label{padding:3px 8px;font-size:12px}
.sales-selected-detail .timeline-day-title>span{position:sticky;left:178px;display:block;width:max-content;max-width:100%}

.sales-list-customer{display:flex;align-items:center;gap:8px}.sales-list-customer img{width:34px;height:28px;object-fit:contain;flex:none;border-radius:3px;background:#fff;padding:2px}.sales-list-customer>span{min-width:0;overflow-wrap:anywhere}

.sales-record-detail{width:100%;max-width:none;margin-bottom:16px}
.sales-detail-heading{display:flex;align-items:center;gap:14px;margin-bottom:14px}.sales-detail-heading h2{font-size:18px;margin:0}.sales-detail-heading img{width:64px;height:38px;object-fit:contain;background:#fff;border-radius:4px;padding:3px}
.sales-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px 24px}.sales-detail-group{min-width:0}.sales-detail-group h3{font-size:14px;margin:0 0 9px;padding-bottom:5px;border-bottom:1px solid var(--line)}.sales-detail-group dl{margin:0;display:grid;gap:7px}.sales-detail-field{display:grid;grid-template-columns:minmax(100px,42%) minmax(0,1fr);gap:8px;font-size:12px}.sales-detail-field dt{opacity:.75}.sales-detail-field dd{margin:0;overflow-wrap:anywhere;white-space:pre-line}

.sales-selected-detail{zoom:.8625;width:67.5%;max-width:none}
.sales-record-detail .sales-detail-heading h2,.sales-record-detail .sales-detail-group h3{color:var(--gold,#e9a72b)}
.sales-record-detail,.sales-selected-detail{padding:8px;margin-bottom:10px}.sales-record-detail .sales-detail-heading{margin-bottom:8px;gap:8px}.sales-record-detail .sales-detail-grid{gap:12px 16px;align-items:start}.sales-record-detail .sales-detail-group h3{margin-bottom:6px;padding-bottom:3px}.sales-record-detail .sales-detail-group dl{gap:5px}.sales-selected-detail .timeline-compact-toolbar{margin:0 0 4px;gap:4px 10px}

.sales-record-detail>.sales-selected-detail{margin-top:12px;margin-bottom:0;padding:8px 0 0;border:0;border-radius:0;background:transparent;box-shadow:none}

.sales-record-detail{container-type:inline-size}
.sales-detail-grid>.sales-selected-detail{grid-column:1/-1;width:100%;margin:0;padding:8px 0 0;border:0;background:transparent;box-shadow:none;align-self:end;min-width:0}
@container(min-width:1100px){.sales-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.sales-detail-grid>.sales-selected-detail{grid-column:3/5;grid-row:3/span 2}}
.sales-selected-detail .sales-label-heading{flex-direction:column;align-items:flex-start;gap:2px}.sales-selected-detail .sales-label-heading>span{display:block;width:100%}

.sales-selected-detail .timeline-continuous .timeline-ruler,.sales-selected-detail .timeline-continuous .timeline-row{grid-template-columns:100px auto}.sales-selected-detail .timeline-row>.timeline-label{padding-left:5px;padding-right:5px}.sales-selected-detail .timeline-day-title>span{left:108px}

.sales-visual-row{grid-column:1/-1;display:grid;grid-template-columns:150px minmax(0,1fr) 150px;gap:12px;align-items:end;min-width:0}
.sales-visual-row>.sales-selected-detail{width:100%;min-width:0;margin:0;padding:0;background:transparent;border:0;box-shadow:none}
.sales-visual-row>.sales-detail-group .sales-detail-field{grid-template-columns:1fr;gap:1px}
@container(min-width:1100px){.sales-visual-row{grid-column:2/5;grid-row:3;grid-template-columns:140px minmax(0,1fr) 140px}}
@container(max-width:850px){.sales-visual-row{grid-template-columns:1fr 1fr}.sales-visual-row>.sales-selected-detail{grid-column:1/-1;grid-row:2}.sales-visual-row>.sales-detail-group:last-child{grid-column:2;grid-row:1}}

.sales-detail-notes{grid-column:1/-1;min-width:0}.sales-detail-notes .sales-detail-field{grid-template-columns:150px minmax(0,1fr)}

.sales-selected-detail .timeline-continuous .timeline-ruler,.sales-selected-detail .timeline-continuous .timeline-row{grid-template-columns:minmax(0,1fr)}.sales-selected-detail .timeline-ruler>.timeline-label,.sales-selected-detail .timeline-row>.timeline-label{display:none}.sales-selected-detail .timeline-day-title>span{left:8px}

.sales-visual-row{grid-template-columns:140px 140px minmax(0,1fr) 140px}
@container(min-width:1100px){.sales-visual-row{grid-column:1/-1;grid-row:auto;grid-template-columns:140px 140px minmax(0,1fr) 140px}}
@container(max-width:850px){.sales-visual-row{grid-template-columns:repeat(3,minmax(0,1fr))}.sales-visual-row>.sales-selected-detail{grid-column:1/-1;grid-row:2}.sales-visual-row>.sales-detail-group:last-child{grid-column:3;grid-row:1}}
/* Consistent lower detail row: readable facts and a clearly separated timeline. */
.sales-visual-row{grid-template-columns:190px 190px minmax(300px,1fr) 190px;gap:14px;align-items:stretch;padding-top:10px;border-top:1px solid var(--line)}
.sales-visual-row>.sales-detail-group,.sales-visual-row>.sales-selected-detail{min-width:0;border:1px solid var(--line);border-radius:6px;padding:10px;background:color-mix(in srgb,currentColor 3%,transparent)}
.sales-visual-row>.sales-detail-group h3{margin:0 0 10px;padding-bottom:7px;line-height:1.4}
.sales-visual-row>.sales-detail-group dl{gap:9px}
.sales-visual-row>.sales-detail-group .sales-detail-field{grid-template-columns:minmax(65px,40%) minmax(0,1fr);gap:8px;font-size:12px;line-height:1.45}
.sales-visual-row>.sales-selected-detail{align-self:stretch;margin:0;width:100%}
.sales-visual-row .timeline-compact-toolbar{display:flex;align-items:flex-start;flex-direction:column;gap:5px;margin-bottom:8px}
.sales-visual-row .timeline-compact-toolbar h2{font-size:16px;line-height:1.4;color:var(--gold,#e9a72b);margin:0;order:0}
.sales-visual-row .sales-selected-period{order:1;font-size:12px}.sales-visual-row .timeline-legend{order:2;flex-wrap:wrap;gap:6px 10px}
@container(min-width:1100px){.sales-visual-row{grid-template-columns:190px 190px minmax(300px,1fr) 190px;grid-column:1/-1;grid-row:auto}}
@container(max-width:1099px){.sales-visual-row{grid-template-columns:repeat(3,minmax(0,1fr))}.sales-visual-row>.sales-selected-detail{grid-column:1/-1;grid-row:2}.sales-visual-row>.sales-detail-group:last-child{grid-column:3;grid-row:1}}
@container(max-width:600px){.sales-visual-row{grid-template-columns:1fr}.sales-visual-row>.sales-selected-detail,.sales-visual-row>.sales-detail-group:last-child{grid-column:1;grid-row:auto}}
.sales-visual-row>.sales-detail-group .sales-detail-field{display:block}.sales-visual-row>.sales-detail-group dt{font-size:11px;line-height:1.3;overflow-wrap:anywhere}.sales-visual-row>.sales-detail-group dd{margin-top:2px;font-size:12px;line-height:1.4}

.sales-visual-center{min-width:0;display:flex;flex-direction:column;gap:12px}
.sales-visual-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sales-visual-facts>.sales-detail-group,.sales-visual-center>.sales-selected-detail{min-width:0;border:1px solid var(--line);border-radius:6px;padding:10px;background:color-mix(in srgb,currentColor 3%,transparent)}
.sales-visual-center>.sales-selected-detail{width:100%;margin:0;align-self:stretch}
.sales-visual-facts .sales-detail-field{grid-template-columns:minmax(90px,44%) minmax(0,1fr);gap:8px}
@container(max-width:1099px){.sales-visual-row>.sales-visual-center{grid-column:1/-1;grid-row:2}}
@container(max-width:600px){.sales-visual-row>.sales-visual-center{grid-column:1;grid-row:auto}.sales-visual-facts{grid-template-columns:1fr}}
@container(min-width:1100px){
  .sales-visual-row{grid-template-rows:auto auto}
  .sales-visual-row>.sales-visual-center{display:contents}
  .sales-visual-center>.sales-visual-facts{grid-column:3;grid-row:1}
  .sales-visual-center>.sales-selected-detail{grid-column:3;grid-row:2;align-self:stretch}
  .sales-visual-row>.sales-detail-group{grid-row:2;align-self:stretch}
  .sales-visual-row>.sales-detail-group:first-child{grid-column:1}
  .sales-visual-row>.sales-detail-group:nth-child(2){grid-column:2}
  .sales-visual-row>.sales-detail-group:last-child{grid-column:4}
}

@container(min-width:1100px){
.sales-visual-row>.sales-visual-driver{grid-column:1!important;grid-row:1!important;align-self:start}
.sales-visual-row>.sales-visual-vehicle{grid-column:1!important;grid-row:2!important}
.sales-visual-row>.sales-visual-feed{grid-column:2!important;grid-row:2!important}
.sales-visual-row>.sales-visual-removal{grid-column:4!important;grid-row:2!important}
}
@container(max-width:1099px){
.sales-visual-row>.sales-visual-driver{grid-column:1;grid-row:1}
.sales-visual-row>.sales-visual-vehicle{grid-column:1;grid-row:2}
.sales-visual-row>.sales-visual-feed{grid-column:2;grid-row:2}
.sales-visual-row>.sales-visual-removal{grid-column:3!important;grid-row:2!important}
.sales-visual-row>.sales-visual-center{grid-column:1/-1;grid-row:3}
}
@container(max-width:600px){.sales-visual-row>.sales-detail-group,.sales-visual-row>.sales-visual-center{grid-column:1!important;grid-row:auto!important}}

@container(min-width:1100px){.sales-visual-row>.sales-visual-connections{grid-column:4!important;grid-row:1!important;align-self:start}}
@container(min-width:601px) and (max-width:1099px){.sales-visual-row>.sales-visual-connections{grid-column:3;grid-row:1}}

@container(min-width:1100px){.sales-visual-row>.sales-visual-personnel{grid-column:2!important;grid-row:1!important;align-self:start}}
@container(min-width:601px) and (max-width:1099px){.sales-visual-row>.sales-visual-personnel{grid-column:2;grid-row:1}}

.sales-detail-grid>.sales-notes-group{grid-column:1/-1;min-height:120px}
.sales-notes-group .sales-detail-field{grid-template-columns:110px minmax(0,1fr)}
@container(min-width:1100px){.sales-detail-grid>.sales-notes-group{grid-column:span 2}}
.sales-visual-center>.sales-selected-detail{padding:4px;display:flex;flex-direction:column;gap:4px}
.sales-visual-center>.sales-selected-detail .timeline-compact-toolbar{flex:none;margin:0;gap:3px;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}
.sales-visual-center>.sales-selected-detail .timeline-legend{flex-basis:100%;justify-content:flex-end}
.sales-visual-center>.sales-selected-detail .sales-selected-timeline{flex:1;width:100%;margin:0;min-height:240px;display:flex;flex-direction:column}
.sales-visual-center>.sales-selected-detail .timeline-chart{flex:1;display:flex;flex-direction:column}
.sales-visual-center>.sales-selected-detail .timeline-ruler{flex:none}
.sales-visual-center>.sales-selected-detail .timeline-row{flex:1}
.sales-visual-center>.sales-selected-detail .timeline-service-lane{min-height:225px}
.sales-visual-center>.sales-selected-detail .timeline-track{height:100%;min-height:225px}
/* Taller bars fill the selected-service grid while preserving separate lanes. */
.sales-selected-detail .timeline-services .timeline-overhead-status{top:14px;height:22px}
.sales-selected-detail .timeline-services.timeline-continuous .sales-service-bar{top:38px;height:125px}
.sales-selected-detail .timeline-services .timeline-feed-bar{top:58px;height:105px}
.sales-selected-detail .timeline-services .timeline-status-bar.timeline-personnel-needs{top:165px;height:40px}
.sales-selected-detail .timeline-services.timeline-continuous .timeline-assigned-staff{top:207px;height:42px}
.sales-selected-detail .timeline-services .timeline-unplanned-staff{top:207px;height:42px}
.sales-selected-detail .timeline-services .timeline-unplanned-staff.timeline-extra-staff-lane{top:252px}
.sales-visual-center>.sales-selected-detail .timeline-service-lane,.sales-visual-center>.sales-selected-detail .timeline-track{min-height:270px}
.sales-selected-detail .timeline-services.timeline-continuous .sales-service-row.has-mixed-staff-times .timeline-track{height:315px;min-height:315px}
.sales-selected-detail .timeline-status-open-person{height:18px;line-height:17px}
.sales-selected-detail .timeline-status-station>strong{height:36px}

.sales-record-detail.sales-detail-resizable{resize:horizontal;overflow:auto;min-width:320px;min-height:240px;max-width:none;max-height:none;flex:none;overscroll-behavior-x:contain;overscroll-behavior-y:auto}
.sales-record-detail.sales-detail-resizable::-webkit-resizer{background:linear-gradient(135deg,transparent 45%,var(--gold,#e9a72b) 46%,var(--gold,#e9a72b) 55%,transparent 56%)}

.sales-detail-frame{position:relative;width:max-content;max-width:none;margin-bottom:10px}
.sales-detail-frame>.sales-record-detail{margin-bottom:0}
.sales-detail-edge{position:absolute;z-index:25;touch-action:none;border-radius:4px}
.sales-detail-edge-width{right:-4px;top:8px;bottom:8px;width:9px;cursor:ew-resize}
.sales-detail-edge-height{left:8px;right:8px;bottom:-4px;height:9px;cursor:ns-resize}
.sales-detail-edge:hover,.sales-detail-edge:focus-visible{background:var(--gold,#e9a72b);outline:0;opacity:.8}

.sales-layout-save-status{display:block;min-height:18px;font-size:11px;opacity:.8;padding:2px 4px}.personal-page-layout-settings{margin-top:16px;margin-bottom:16px}.personal-page-layout-settings input{width:150px}

.sales-record-detail .sales-detail-field.is-pending dd{color:#9a5700;background:#fff0d5;border-left:3px solid #e9a72b;border-radius:3px;padding:2px 5px;font-weight:600}
[data-theme=dark] .sales-record-detail .sales-detail-field.is-pending dd{color:#ffd084;background:#4a371e;border-color:#e9a72b}
.sales-record-detail .sales-detail-field.is-pending dd{color:#9a650f;background:transparent;border-left:0;border-radius:0;padding:0;font-weight:400}[data-theme=dark] .sales-record-detail .sales-detail-field.is-pending dd{color:#c9a66b;background:transparent;border-color:transparent}
.sales-record-detail .sales-detail-field.is-pending dd{color:#a45f00;background:rgba(233,167,43,.10);border:0;border-radius:3px;padding:1px 4px;font-weight:500}[data-theme=dark] .sales-record-detail .sales-detail-field.is-pending dd{color:#e8b65f;background:rgba(233,167,43,.09);border:0}
.sales-record-detail .sales-detail-field.is-pending dd{color:#b42318;background:rgba(210,49,49,.09);font-weight:500}[data-theme=dark] .sales-record-detail .sales-detail-field.is-pending dd{color:#f28b82;background:rgba(235,77,77,.10)}
.sales-record-detail .sales-detail-field.is-pending dd{color:#246a9a;background:rgba(52,137,193,.10);font-weight:500}[data-theme=dark] .sales-record-detail .sales-detail-field.is-pending dd{color:#80bfe8;background:rgba(75,156,211,.12)}
.sales-record-detail .sales-detail-field.is-pending dd{color:#7544a0;background:rgba(131,82,175,.10);font-weight:500}[data-theme=dark] .sales-record-detail .sales-detail-field.is-pending dd{color:#c4a1e8;background:rgba(161,114,205,.12)}

.sales-detail-workflow{display:flex;align-items:center;gap:7px;font-size:12px}.sales-detail-workflow>span{opacity:.7}.sales-detail-workflow>strong{font-weight:600}.sales-detail-heading{flex-wrap:wrap}

.sales-overview-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sales-overview-toolbar h2{margin:0}.sales-service-navigation{display:flex;align-items:center;gap:6px}.sales-service-navigation button{min-width:34px;padding:5px 10px}.sales-service-navigation>span{min-width:42px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums}
.sales-service-search{margin:0;flex:1;max-width:360px;min-width:170px}.sales-service-search input{width:100%}.sales-service-search .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.sales-record-detail .sales-detail-field.is-pending dd{color:#6f3897;background:#f0e5fa;border-left:3px solid #8c58bd;border-radius:3px;padding:2px 5px;font-weight:600}[data-theme=dark] .sales-record-detail .sales-detail-field.is-pending dd{color:#d9b3ff;background:#463054;border-left:3px solid #aa75df}
.sales-detail-heading img,.sales-list-customer img{background:transparent;padding:0;border-radius:0}
.sales-detail-workflow{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;line-height:1.2;margin-left:8px}.sales-detail-workflow>span{font-size:10px;letter-spacing:.05em;text-transform:uppercase;opacity:.75}.sales-detail-workflow>strong{font-size:19px;font-weight:750;color:var(--gold,#e9a72b);margin-top:3px}
.sales-detail-workflow{border:1px solid var(--gold,#e9a72b);border-radius:5px;padding:5px 10px}

.sales-detail-handoff{align-self:center;min-height:40px;padding:7px 12px;white-space:nowrap}

.sales-detail-workflow{display:grid;grid-template-columns:auto auto;column-gap:12px;row-gap:0;align-items:center;padding:5px 8px}
.sales-detail-workflow>span{grid-column:1;grid-row:1}.sales-detail-workflow>strong{grid-column:1;grid-row:2}
.sales-detail-workflow>.sales-detail-handoff{grid-column:2;grid-row:1/span 2;min-height:30px;padding:5px 9px;font-size:12px;line-height:1.3}
.sales-detail-workflow>span,.sales-detail-workflow>strong{justify-self:center;text-align:center}

.sales-detail-status{margin-left:auto;align-self:flex-start;text-align:right;display:flex;flex-direction:column;gap:4px}.sales-detail-status>span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;opacity:.7}.sales-detail-status>div{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.sales-status-option{padding:3px 7px;border:1px solid var(--line);border-radius:4px;font-size:12px}.sales-detail-status>small{font-size:10px;opacity:.65}

.sales-status-option[data-tone]{color:var(--status-fg);background:var(--status-bg);border-color:var(--status-border);font-weight:600}
.sales-status-option[data-tone=planning]{--status-fg:#1d5d99;--status-bg:#e8f2fc;--status-border:#77a8d8}
.sales-status-option[data-tone=ready]{--status-fg:#216b58;--status-bg:#e6f4ed;--status-border:#6aa88c}
.sales-status-option[data-tone=running]{--status-fg:#126d7b;--status-bg:#e1f4f7;--status-border:#68b1bd}
.sales-status-option[data-tone=success]{--status-fg:#276b35;--status-bg:#e5f3e8;--status-border:#74ad7e}
.sales-status-option[data-tone=cancelled]{--status-fg:#922e3c;--status-bg:#f7e6e9;--status-border:#bf7180}
.sales-status-option[data-tone=danger]{--status-fg:#b11720;--status-bg:#ffe2e4;--status-border:#d14c55}
.sales-status-option[data-tone=warning]{--status-fg:#935400;--status-bg:#fff0d7;--status-border:#c58b32}
.sales-status-option[data-tone=conflict]{--status-fg:#75409b;--status-bg:#f0e5fa;--status-border:#a879ca}
[data-theme=dark] .sales-status-option[data-tone=planning]{--status-fg:#9ac9f5;--status-bg:#213d57}
[data-theme=dark] .sales-status-option[data-tone=ready]{--status-fg:#9bd7bb;--status-bg:#24483b}
[data-theme=dark] .sales-status-option[data-tone=running]{--status-fg:#8edce9;--status-bg:#1c444b}
[data-theme=dark] .sales-status-option[data-tone=success]{--status-fg:#a4d9ad;--status-bg:#284931}
[data-theme=dark] .sales-status-option[data-tone=cancelled]{--status-fg:#efa7b2;--status-bg:#4a2931}
[data-theme=dark] .sales-status-option[data-tone=danger]{--status-fg:#ffafb4;--status-bg:#5b242a}
[data-theme=dark] .sales-status-option[data-tone=warning]{--status-fg:#f0c17a;--status-bg:#4c381f}
[data-theme=dark] .sales-status-option[data-tone=conflict]{--status-fg:#d5b1f2;--status-bg:#432e53}

.sales-detail-status>span{font-size:15px;font-weight:700;color:var(--gold,#e9a72b);opacity:1;text-transform:none;letter-spacing:0}
.sales-detail-status>div{display:grid;grid-template-columns:repeat(5,max-content);grid-template-rows:repeat(2,auto);gap:5px;justify-content:end;max-width:100%;overflow-x:auto}
.sales-status-option{white-space:nowrap;text-align:center}
.sales-status-option[data-tone=conflict]{--status-fg:#b11720;--status-bg:#ffe2e4;--status-border:#d14c55}
[data-theme=dark] .sales-status-option[data-tone=conflict]{--status-fg:#ffafb4;--status-bg:#5b242a;--status-border:#d14c55}
.sales-status-option[data-tone=danger],[data-theme=dark] .sales-status-option[data-tone=danger]{color:#92111b;border-color:#c82d39;background:repeating-linear-gradient(135deg,#fff 0,#fff 6px,#f2b3b8 6px,#f2b3b8 12px);text-shadow:0 1px 1px #fff}

.sales-record-detail .sales-detail-field:not(.is-pending)>dd[data-field-origin=preplanning],#sales-services-list td[data-field-origin=preplanning]{color:#ad6100}
.sales-record-detail .sales-detail-field:not(.is-pending)>dd[data-field-origin=dispatch],#sales-services-list td[data-field-origin=dispatch]{color:#1565a5}
[data-theme=dark] .sales-record-detail .sales-detail-field:not(.is-pending)>dd[data-field-origin=preplanning],[data-theme=dark] #sales-services-list td[data-field-origin=preplanning]{color:#ffc064}
[data-theme=dark] .sales-record-detail .sales-detail-field:not(.is-pending)>dd[data-field-origin=dispatch],[data-theme=dark] #sales-services-list td[data-field-origin=dispatch]{color:#80bfff}
.sales-provenance-value:focus-visible{outline:1px solid var(--gold,#e9a72b);outline-offset:2px}
.sales-field-tooltip{position:fixed;z-index:1800;width:350px;max-width:calc(100vw - 16px);max-height:70vh;overflow:auto;padding:12px;background:#fff;color:#24313b;border:1px solid var(--line);border-left:4px solid #7b8790;border-radius:6px;box-shadow:0 5px 18px #0003;font-size:12px;pointer-events:none}
.sales-field-tooltip[hidden]{display:none}.sales-field-tooltip>strong{font-size:14px}.sales-field-tooltip section{border-top:1px solid var(--line);padding-top:7px;margin-top:7px;display:grid;gap:3px}.sales-field-tooltip section span{white-space:pre-wrap;overflow-wrap:anywhere}.sales-field-tooltip[data-origin=preplanning]{border-left-color:#e9a72b}.sales-field-tooltip[data-origin=preplanning] section b{color:#ad6100}.sales-field-tooltip[data-origin=dispatch]{border-left-color:#3988c8}.sales-field-tooltip[data-origin=dispatch] section b{color:#1565a5}
[data-theme=dark] .sales-field-tooltip{background:#25282d;color:#eee;border-color:#60666d}[data-theme=dark] .sales-field-tooltip[data-origin=preplanning]{border-left-color:#ffc064}[data-theme=dark] .sales-field-tooltip[data-origin=dispatch]{border-left-color:#80bfff}[data-theme=dark] .sales-field-tooltip[data-origin=preplanning] section b{color:#ffc064}[data-theme=dark] .sales-field-tooltip[data-origin=dispatch] section b{color:#80bfff}

.sales-detail-status>.sales-status-viewport{display:block;width:618px;max-width:100%;overflow:hidden;grid-template-columns:none;grid-template-rows:none;padding:1px 0;justify-content:normal}
.sales-status-track{display:flex;width:max-content;animation:sales-status-flow 52s linear infinite;will-change:transform}
.sales-status-cycle{display:flex;flex:none;gap:6px;padding-right:6px}
.sales-status-cycle .sales-status-option{display:block;box-sizing:border-box;flex:0 0 150px;width:150px;white-space:nowrap;text-align:center}
.sales-status-viewport:hover .sales-status-track,.sales-status-viewport:focus-within .sales-status-track{animation-play-state:paused}
@keyframes sales-status-flow{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.sales-status-track{animation:none}.sales-detail-status>.sales-status-viewport{overflow-x:auto}.sales-status-cycle[aria-hidden=true]{display:none}}
.sales-overview-toolbar{gap:8px;margin:0 0 8px;padding:0;min-height:30px;line-height:1.2}.sales-overview-toolbar h2{font-size:18px;line-height:1.2;margin:0}.sales-overview-toolbar>button,.sales-overview-toolbar .sales-service-navigation button{min-height:30px;padding:5px 9px;font-size:12px;line-height:1.2}.sales-overview-toolbar .sales-service-navigation{gap:4px}.sales-overview-toolbar .sales-service-navigation button{min-width:30px}.sales-overview-toolbar .sales-service-navigation>span{min-width:36px;font-size:11px}.sales-overview-toolbar .sales-service-search{max-width:290px;min-width:150px}.sales-overview-toolbar .sales-service-search input{height:30px;min-height:30px;padding:4px 8px;font-size:12px}

/* Compact section editing in sales service details. */
.sales-detail-group-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:5px}
.sales-detail-group-heading h3{margin:0!important;min-width:0}
.sales-detail-group-heading .sales-detail-edit{flex:0 0 24px;width:24px;height:24px;min-height:24px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1;border-radius:4px}

.sales-detail-group-heading .sales-detail-edit{flex-basis:19px;width:19px;height:19px;min-height:19px;font-size:12px;border:1px solid #cc94584d;background:#c87b1510;color:#b96b17;box-shadow:none}
.sales-detail-group-heading .sales-detail-edit:hover:not(:disabled){background:#c87b1524;border-color:#cc945899;color:#a45c0e}
.sales-detail-group-heading .sales-detail-edit:focus-visible{outline:2px solid #cf8837;outline-offset:2px}
[data-theme="dark"] .sales-detail-group-heading .sales-detail-edit{color:#e9ac66;background:#e9ac660d;border-color:#e9ac6640}

/* Keep edit controls aligned at the top even when a heading wraps. */
.sales-detail-group-heading{align-items:flex-start}
.sales-detail-group-heading .sales-detail-edit{margin-top:0;align-self:flex-start}

/* Visually associate the top detail actions with their own section. */
.sales-detail-grid > .sales-detail-group > .sales-detail-group-heading{padding:5px 7px;margin-bottom:7px;border:1px solid #cc945840;border-radius:5px;background:#cc94580b;align-items:center}
.sales-detail-grid > .sales-detail-group > .sales-detail-group-heading .sales-detail-edit{align-self:center;margin-left:8px}

/* Share the four-column alignment of the service detail groups. */
.sales-record-detail .sales-detail-heading{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:16px;row-gap:8px;align-items:center}
.sales-detail-identity{grid-column:1;display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}
.sales-detail-heading .sales-detail-workflow{grid-column:2;margin-left:0;justify-self:start;max-width:100%;box-sizing:border-box}
.sales-detail-heading .sales-detail-status{grid-column:3 / 5;min-width:0;max-width:100%;margin-left:0;justify-self:end}
@container(max-width:850px){.sales-record-detail .sales-detail-heading{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-detail-heading .sales-detail-status{grid-column:1 / -1}}
@container(max-width:600px){.sales-record-detail .sales-detail-heading{grid-template-columns:minmax(0,1fr)}.sales-detail-heading .sales-detail-workflow{grid-column:1}}

/* Keep overview navigation and search together on the left. */
.sales-overview-toolbar{justify-content:flex-start}
.sales-overview-toolbar h2{flex:0 0 auto;margin-right:0}
.sales-overview-toolbar .sales-service-navigation{flex:0 0 auto;margin-left:0;margin-right:0}
.sales-overview-toolbar .sales-service-search{flex:0 1 290px;margin-left:0;margin-right:0}
.sales-overview-toolbar #add-service{margin-left:auto;flex:0 0 auto}

.sales-overview-toolbar{box-sizing:border-box;max-width:none}

.sales-overview-layout{display:block;min-width:0;width:100%}
.sales-overview-layout.has-side-list{display:grid;grid-template-columns:var(--sales-detail-width) minmax(640px,1fr);gap:16px;align-items:start}
.sales-overview-layout #sales-services-list{min-width:0;overflow-x:auto}
.sales-overview-layout.has-side-list .sales-detail-frame{margin-bottom:0}
.sales-overview-layout.has-side-list #sales-services-list table{margin-top:0}

.sales-overview-layout.has-side-list #sales-services-list{height:var(--sales-detail-height);max-height:var(--sales-detail-height);overflow:auto;box-sizing:border-box}
.sales-overview-layout.has-side-list #sales-services-list thead{position:sticky;top:0;z-index:2;background:var(--panel-bg,var(--bg,#fff))}

/* Extend the visible table frame, not just its transparent parent. */
.sales-overview-layout.has-side-list #sales-services-list{overflow:hidden;display:flex;flex-direction:column}
.sales-overview-layout.has-side-list #sales-services-list > .tablewrap{height:100%;min-height:0;max-height:none;flex:1 1 auto;margin:0;box-sizing:border-box;overflow:auto}

#sales-services-list{container-type:inline-size}
#sales-services-list .service-list-table{min-width:640px;width:100%}
#sales-services-list .sales-list-extra{display:none}
#sales-services-list .service-list-table th:nth-child(8){max-width:none;white-space:normal}
@container(min-width:1200px){#sales-services-list .sales-list-extra{display:table-cell}}

/* Compact, clearly accented sales list header. */
#sales-services-list .service-list-table thead,
#sales-services-list .service-list-table thead th{background:#e58a19;color:#20170a}
#sales-services-list .service-list-table thead th{height:auto;min-height:0;padding:4px 6px;line-height:1.15;font-size:11px;vertical-align:middle;border-bottom:1px solid #be6c0c}

.sales-stage-filters{display:flex;align-items:center;flex-wrap:wrap;gap:4px}
.sales-overview-toolbar .sales-stage-filters button{min-height:30px;padding:5px 9px;font-size:12px;line-height:1.2}
.sales-stage-filters button[aria-pressed="true"]{outline:2px solid var(--text,#3c2b13);outline-offset:1px;font-weight:700}

.sales-overview-toolbar .sales-stage-filters button[aria-pressed="true"]{background:#40301a;color:#fff;border:2px solid #f6a329;outline:2px solid #f6a329;outline-offset:1px;font-weight:800;box-shadow:0 0 0 3px #f6a32933 inset}
.sales-overview-toolbar .sales-stage-filters button[aria-pressed="true"]:hover{background:#513b20;color:#fff}

.planning-dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:12px}
.planning-dashboard-cards .panel{margin:0;padding:14px}
.planning-dashboard-cards h3,.planning-dashboard-upcoming h3,.planning-dashboard-ideas h3{color:var(--gold,#e9a72b);margin:0 0 10px;font-size:14px}
.planning-dashboard-cards strong{font-size:28px;font-variant-numeric:tabular-nums}
.planning-dashboard-upcoming,.planning-dashboard-ideas{margin-bottom:12px}

.sales-detail-workflow > .sales-detail-workflow-actions{position:static;inset:auto;grid-column:2;grid-row:1 / span 2;display:flex;flex-wrap:wrap;gap:5px;align-items:center;text-transform:none;letter-spacing:normal;opacity:1;font-size:12px;min-width:0}
.sales-detail-workflow-actions .sales-detail-handoff{min-height:28px;padding:4px 7px;font-size:11px;line-height:1.25;white-space:normal}
.sales-workflow-request{display:flex;flex-wrap:wrap;gap:4px;align-items:center;border-top:1px solid #cc94584d;padding-top:4px;width:100%}
.sales-workflow-request>span,.sales-workflow-pending{font-size:11px}

.sales-detail-workflow-actions .sales-workflow-request{display:flex;flex-wrap:nowrap;align-items:center;gap:5px}
.sales-workflow-request > span{min-width:0;flex:1 1 auto}
.sales-detail-workflow-actions .sales-workflow-decision{flex:0 0 24px;width:24px;min-width:24px;height:24px;min-height:24px;padding:0;font-size:15px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center}

.sales-detail-workflow-actions .sales-workflow-enforce{font-size:11px;padding:5px 7px;white-space:normal;touch-action:none;user-select:none}
.sales-detail-workflow-actions .sales-workflow-enforce[hidden]{display:none}
.sales-detail-workflow-actions .sales-workflow-enforce.is-holding{background:linear-gradient(to right,#ba6817 var(--workflow-hold,0%),#e9a72b var(--workflow-hold,0%));color:#20170a}

#editor.sales-section-editor{width:min(760px,calc(100vw - 36px));max-width:760px}
#editor.sales-section-editor #fields [hidden]{display:none!important}
#editor.sales-section-editor .service-vehicle-requirement-fields{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}

/* Sticky service labels cover scrolling movement/staff bars and the now line. */
.timeline-services .timeline-chart{isolation:isolate}
.timeline-services .timeline-row > .timeline-label{z-index:10}
.timeline-services .timeline-ruler > .timeline-label{z-index:21}

.sales-selected-detail .timeline-zoom-reset{font-size:11px;min-height:24px;padding:3px 6px}
.timeline-zoom-reset[hidden]{display:none}

/* Shared workflow actions in the existing service-column button area. */
.timeline-services .timeline-label > .sales-workflow-actions{display:block}
.sales-workflow-actions > .sales-detail-workflow-actions{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0;max-width:100%}
.sales-workflow-actions .sales-workflow-request{gap:3px}
.sales-workflow-actions .sales-workflow-request > span{font-size:10px;line-height:1.2}
.sales-workflow-actions .sales-workflow-request .sales-workflow-decision{flex-basis:20px;width:20px;min-width:20px;height:20px;min-height:20px;font-size:12px}
.sales-workflow-actions .sales-workflow-enforce{font-size:10px}

.sales-label-heading{position:relative;padding-right:21px}
.timeline-services .sales-service-jump{position:absolute;top:0;right:0;width:19px;min-width:19px;height:19px;min-height:19px;padding:0;font-size:13px;line-height:1;border:1px solid #d69a3d;background:#e9a72b;color:#32230c;border-radius:3px}
.sales-performance-status{display:inline-block;margin:4px 0;padding:2px 4px;border:1px solid #a77bcc;border-radius:3px;background:#78599b22;color:#8056a4;font-size:10px;line-height:1.2}
[data-theme=dark] .sales-performance-status{color:#d9b3ff;background:#463054}
.timeline-personnel .timeline-personnel-entry{position:absolute;height:38px;margin:0;padding:3px 5px;align-self:auto;text-align:left;background:#d9edf8;border-color:#79a5bf;color:#173f56;min-width:0}
.timeline-personnel .timeline-personnel-entry span{font-size:10px;overflow:hidden;text-overflow:ellipsis}
[data-theme=dark] .timeline-personnel .timeline-personnel-entry{background:#23465c;border-color:#5c91af;color:#e0f2ff}


.sales-workflow-actions > .sales-performance-status{display:block;width:max-content;max-width:100%;margin:0 0 5px}

.sales-workflow-actions .sales-workflow{display:block;width:max-content;max-width:100%;margin:0 0 4px}

.sales-workflow-actions .sales-workflow{font-size:12px;font-weight:850;padding:4px 7px;border-width:2px;line-height:1.2;box-shadow:0 1px 5px #0004}
.timeline-services .sales-workflow[data-stage=sales],[data-theme=dark] .timeline-services .sales-workflow[data-stage=sales]{color:#39121b;border-color:#ffb0bf;background:#ff7289}
.timeline-services .sales-workflow[data-stage=preplanning],[data-theme=dark] .timeline-services .sales-workflow[data-stage=preplanning]{color:#312300;border-color:#ffe7a1;background:#ffd05b}
.timeline-services .sales-workflow[data-stage=dispatch],[data-theme=dark] .timeline-services .sales-workflow[data-stage=dispatch]{color:#063b24;border-color:#b7ffd8;background:#5deba4}
.sales-status-demo{display:block;font-size:9px;line-height:1.2;margin:0 0 2px;opacity:.8}
.sales-performance-statuses{display:block;position:relative;width:100%;height:22px;overflow:hidden;margin:0 0 5px;--status-height:22px}
.sales-column-status-track{display:flex;flex-direction:column;width:100%}
.sales-column-status-track>.sales-status-option{box-sizing:border-box;flex:0 0 var(--status-height);height:var(--status-height);min-height:var(--status-height);padding:2px 4px;font-size:10px;line-height:16px;overflow:hidden;text-overflow:ellipsis}
.sales-column-status-track.is-cycling{transition:none}
.sales-workflow-actions .sales-column-status-track>.sales-status-option{margin:0}
.sales-workflow-actions .sales-column-status-track{margin:0}

.timeline-label .sales-label-customer{display:flex;align-items:center;gap:5px;margin:5px 0;min-width:0;font-size:11px;line-height:1.2}
.timeline-label .sales-label-customer img{width:25px;height:25px;flex:0 0 25px;object-fit:contain;background:transparent}
.timeline-label .sales-label-customer span{min-width:0;margin:0;overflow-wrap:anywhere;font-weight:650}

/* One compact line for weekday and date, including the selected-service view. */
.timeline-continuous .timeline-day-title,.sales-selected-detail .timeline-day-title{height:24px;box-sizing:border-box;padding:3px 4px;line-height:18px;white-space:nowrap}
.timeline-continuous .timeline-ruler>.timeline-label{padding-top:2px;padding-bottom:2px}

/* Adjustable fixed service column; extra facts appear progressively. */
.timeline-column-resizable.timeline-continuous .timeline-ruler,.timeline-column-resizable.timeline-continuous .timeline-row{grid-template-columns:var(--timeline-label-width,170px) auto}
.timeline-column-resizable .timeline-ruler>.timeline-label{position:sticky;overflow:visible}
.timeline-service-column-resize{position:absolute;right:-4px;top:0;bottom:0;width:9px;z-index:30;cursor:ew-resize;touch-action:none;background:linear-gradient(to right,transparent 3px,#e9a72b 3px,#e9a72b 5px,transparent 5px)}
.timeline-service-column-resize:hover,.timeline-service-column-resize:focus-visible{background:#e9a72b;outline:2px solid #fff}
.timeline-services .sales-label-extra{display:none;font-size:11px;line-height:1.35;margin:2px 0;overflow-wrap:anywhere}
.timeline-services.has-column-details .sales-label-extra-1,.timeline-services.has-column-full-details .sales-label-extra-2{display:block}





/* Expanded facts use the new space to the right of the original service data. */
.timeline-services .sales-label-content{display:block;width:100%;min-width:0}
.timeline-services .sales-label-core,.timeline-services .sales-label-additional{min-width:0}
.timeline-services .sales-label-additional{display:none}
.timeline-services.has-column-details .sales-label-content{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;align-items:start}
.timeline-services.has-column-details .sales-label-additional{display:block;border-left:1px solid #bd94475c;padding-left:8px}





.timeline-services.has-column-details .sales-label-additional{font-variant-numeric:tabular-nums}

/* Expanding the fixed column must never enlarge the service row. */
.timeline-services.has-column-details .sales-label-content{position:absolute;top:12px;left:12px;right:12px;bottom:calc(var(--sales-workflow-height,110px) + 22px);width:auto;min-height:0;overflow:hidden}
.timeline-services.has-column-details .sales-label-core,.timeline-services.has-column-details .sales-label-additional{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:auto;scrollbar-width:thin}

/* Fixed service-row height: one quarter more room, independent of column width. */
.timeline-column-resizable .sales-service-row{--sales-fixed-row-height:250px;height:var(--sales-fixed-row-height);min-height:var(--sales-fixed-row-height);max-height:var(--sales-fixed-row-height)}
.timeline-column-resizable.timeline-dispatch-performance .sales-service-row{--sales-fixed-row-height:296.875px}
.timeline-column-resizable .sales-service-row.has-mixed-staff-times{--sales-fixed-row-height:341.25px}
.timeline-column-resizable.timeline-services.timeline-continuous .sales-service-row .timeline-track{height:var(--sales-fixed-row-height);min-height:var(--sales-fixed-row-height)}
.timeline-column-resizable.timeline-services .sales-service-row>.timeline-label{height:var(--sales-fixed-row-height);min-height:0;max-height:var(--sales-fixed-row-height);box-sizing:border-box}

/* Continue the timeline row boundaries across the opaque fixed service column. */
.timeline-column-resizable .sales-service-row>.timeline-label{box-shadow:inset 0 1px #e1d8c8,inset 0 -1px #e1d8c8}
[data-theme=dark] .timeline-column-resizable .sales-service-row>.timeline-label{box-shadow:inset 0 1px #555046,inset 0 -1px #555046}

.sales-label-core .sales-label-heading{padding-right:30px}
.sales-label-core .sales-service-jump{right:9px}

.timeline-label .sales-label-category-title,.timeline-label .sales-label-category>h4{font-size:10px;line-height:1.3;color:#bd750c;font-weight:750;margin:7px 0 4px;padding-bottom:3px;border-bottom:1px solid #bd944740}
[data-theme=dark] .timeline-label .sales-label-category-title,[data-theme=dark] .timeline-label .sales-label-category>h4{color:#ffc65c}
.timeline-label .sales-label-category{margin:0 0 9px}
.timeline-label .sales-label-extra-field{margin:3px 0;line-height:1.4}

.sales-workflow-state{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.sales-workflow-state .sales-workflow,.sales-workflow-state .sales-performance-status,.sales-workflow-state .sales-performance-statuses{margin:0}
.sales-workflow-state .sales-performance-statuses{width:100%;min-width:0}
.sales-workflow-actions{align-items:end}

/* Department and performance status share one line in every service row. */
.sales-workflow-actions>.sales-workflow-state{grid-column:1 / -1;display:flex;flex-direction:row;align-items:center;gap:7px;flex-wrap:nowrap;width:100%}
.sales-workflow-state .sales-workflow{flex:0 0 auto}
.sales-workflow-state .sales-performance-statuses{flex:1 1 0;width:auto;max-width:190px;min-width:0}
.sales-workflow-state .sales-performance-status{flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sales-workflow-actions>.sales-detail-workflow-actions{grid-column:1 / -1}

.sales-workflow-actions>.sales-detail-workflow-actions{grid-column:1;min-width:0}
.sales-workflow-actions>.sales-service-jump{position:static;grid-column:2;justify-self:end;align-self:end;margin:0;flex:none}
.sales-label-core .sales-label-heading{padding-right:0}
.timeline-services .timeline-label>.sales-workflow-actions{display:grid;grid-template-columns:minmax(0,1fr) 24px;column-gap:8px;row-gap:6px;align-items:end}
.timeline-services .sales-workflow-actions>.sales-service-jump{grid-row:2;grid-column:2;justify-self:end}
.timeline-services .sales-workflow-actions>.sales-detail-workflow-actions{grid-row:2;grid-column:1}

/* Equal-sized controls in the final service action row. */
.timeline-services .timeline-label>.sales-workflow-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.timeline-services .sales-workflow-actions>.sales-service-jump{width:100%;height:25px;min-height:25px;box-sizing:border-box;padding:5px 3px;font-size:10px;line-height:13px;justify-self:stretch;align-self:end;text-align:center}

.timeline-services .timeline-label>.sales-workflow-actions{grid-template-columns:minmax(0,1fr) 24px}
.timeline-services .sales-workflow-actions>.sales-service-jump{width:19px;height:25px;min-height:25px;justify-self:end}

.timeline-services .timeline-label>.sales-workflow-actions{grid-template-columns:minmax(0,1fr) 34px}
.timeline-services .sales-workflow-actions>.sales-service-jump{width:30px}

.service-selection-panel{margin-top:12px;padding:10px;min-width:0}
.service-selection-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.service-selection-toolbar h3{font-size:15px;color:var(--gold,#e9a72b);margin:0}
.service-selection-toolbar button{font-size:11px;padding:4px 8px;margin-left:auto}
.service-selection-scroll{overflow:auto;max-height:330px;border:1px solid #ad8c50;border-radius:4px;min-width:0}
.service-selection-canvas{min-width:100%;--selection-day-width:160px}
.service-selection-axis{display:flex;position:sticky;top:0;z-index:2;background:#f3d59b;color:#34280f}
.service-selection-day{flex:0 0 var(--selection-day-width);width:var(--selection-day-width);font-size:11px;font-weight:650;text-align:center;box-sizing:border-box;border-right:1px solid #b89454;padding:3px 0}
.service-selection-hours{display:flex;justify-content:space-around;font-size:9px;font-weight:400;margin-top:3px}
.service-selection-bars{position:relative;background:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--selection-day-width)/4 - 1px),#9f8b612e calc(var(--selection-day-width)/4 - 1px),#9f8b612e calc(var(--selection-day-width)/4))}
.service-selection-bar{position:absolute;display:flex;align-items:center;gap:6px;height:34px;min-width:0;margin:0;padding:3px 6px;border:1px solid #aa7617;border-radius:4px;background:#e9a72b;color:#271b08;overflow:hidden;white-space:nowrap;text-align:left;font-size:11px;box-sizing:border-box}
.service-selection-bar img{width:23px;height:23px;object-fit:contain;flex:0 0 23px;background:transparent}
.service-selection-bar strong,.service-selection-bar span{overflow:hidden;text-overflow:ellipsis;min-width:0}
.service-selection-bar[aria-pressed=true]{outline:2px solid #ef7418;outline-offset:1px;background:#ffcf74;z-index:1}
.service-selection-bar:focus-visible{outline:3px solid #327fca;z-index:3}
.service-selection-unknown{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;font-size:11px;align-items:center}
.service-selection-unknown button{font-size:11px;padding:3px 6px}

.panel.service-selection-panel{width:100%;max-width:none;box-sizing:border-box}

.panel.service-selection-panel{margin-top:3px;padding:4px 6px}
.service-selection-toolbar{gap:6px;min-height:0;margin-bottom:3px}
.service-selection-toolbar h3{font-size:12px;line-height:1.2}
.service-selection-toolbar button{font-size:10px;line-height:1.2;min-height:0;padding:2px 5px}
.sales-overview-layout:has(+.service-selection-panel) #sales-services-list table{margin-bottom:0}
.sales-overview-layout:has(+.service-selection-panel) .sales-detail-frame{margin-bottom:0}

.panel.service-selection-panel{margin-top:0;padding:0;border:0;border-radius:0}
.sales-overview-layout:has(+.service-selection-panel){margin-bottom:0;padding-bottom:0}
.sales-overview-layout:has(+.service-selection-panel) #sales-services-list,.sales-overview-layout:has(+.service-selection-panel) .tablewrap{margin-bottom:0}

.sales-layout-save-status:empty{display:none;min-height:0;padding:0}
.service-selection-scroll{overflow-x:scroll}

.service-selection-panel .service-selection-bar[aria-pressed=true],[data-theme=dark] .service-selection-panel .service-selection-bar[aria-pressed=true]{color:#111;background:#ffcf74}
.service-selection-panel .service-selection-bar[aria-pressed=true] strong,.service-selection-panel .service-selection-bar[aria-pressed=true] span{color:#111}

.service-selection-day-bands{position:absolute;inset:0;display:flex;pointer-events:none}
.service-selection-day-band{flex:0 0 var(--selection-day-width);width:var(--selection-day-width);height:100%;box-sizing:border-box;border-right:1px solid #bd8c4340}
.service-selection-day.is-orange-strong{background:#edb65f}.service-selection-day.is-orange-light{background:#f7d89f}
.service-selection-day-band.is-orange-strong{background:#edae4933}.service-selection-day-band.is-orange-light{background:#f7d89f14}
.service-selection-day.is-sunday{background:#ee9c9c;color:#581616}
.service-selection-day-band.is-sunday{background:#e44c4c26;border-color:#c7626250}
[data-theme=dark] .service-selection-day-band.is-orange-strong{background:#df9a3030}
[data-theme=dark] .service-selection-day-band.is-orange-light{background:#eebd6510}
[data-theme=dark] .service-selection-day-band.is-sunday{background:#e14b4b30}

.service-selection-panel .service-selection-scroll{max-height:none;min-height:96px;box-sizing:border-box;overflow-y:auto;overflow-anchor:none}

.service-selection-bar>.service-selection-label{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;flex:1 1 auto;min-width:0;line-height:1.15}
.service-selection-label>strong{max-width:100%;font-size:10px}
.service-selection-label>span{font-size:9px}
.service-selection-bar>.service-selection-assignments{display:flex;align-items:center;justify-content:flex-end;gap:2px;flex:0 0 auto;margin-left:auto;overflow:visible}
.service-selection-bar .service-selection-assignment{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;flex:0 0 auto;min-width:17px;height:27px;padding:1px;border-radius:3px;line-height:1;overflow:visible}
.service-selection-assignment svg{display:block;width:15px;height:15px;flex:none}
.service-selection-assignment small{font-size:8px;line-height:9px;font-weight:750;white-space:nowrap}
.service-selection-panel .service-selection-bar .service-selection-assignment.is-complete{color:#087b2f;background:#fff}
.service-selection-panel .service-selection-bar .service-selection-assignment.is-partial{color:#c39100;background:#fff}
.service-selection-panel .service-selection-bar .service-selection-assignment.is-empty{color:#b90012;background:#fff}

.service-selection-panel .service-selection-bar .service-selection-assignment.is-timetable-preview{color:#66553e;background:#fff}
.service-selection-panel .service-selection-bar .service-selection-assignment.is-timetable-ordered{color:#087b2f;background:#fff}
.service-selection-panel .service-selection-bar .service-selection-assignment.is-timetable-partial{color:#c39100;background:#fff}
.service-selection-panel .service-selection-bar .service-selection-assignment.is-timetable-empty{color:#b90012;background:#fff}

#view>.sales-timeline-selection{flex:none;width:100%;max-width:none;margin-bottom:6px}

.timeline-services .sales-service-row.is-jump-target>.timeline-label{background-color:#fff0b2}
.timeline-services .sales-service-row.is-jump-target .timeline-track{background-color:#ffdb5229}
.timeline-services .sales-service-row.is-jump-target{outline:1px solid #e9a72b;outline-offset:-1px}
[data-theme=dark] .timeline-services .sales-service-row.is-jump-target>.timeline-label{background-color:#484129}
[data-theme=dark] .timeline-services .sales-service-row.is-jump-target .timeline-track{background-color:#f9d55020}

.timeline-compact-toolbar .timeline-service-search{display:block;margin:0;min-width:140px;width:220px;max-width:28vw}
.timeline-service-search input{width:100%;height:32px;box-sizing:border-box;font-size:12px;padding:5px 8px}
.timeline-search-feedback{font-size:11px;color:#bc392b}.timeline-search-feedback:empty{display:none}

/* Betriebsleitung and travel dashboards share compact, responsive cards. */
.operations-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:0 0 10px}
.operations-metric{display:flex;flex-direction:column;gap:6px;margin:0;padding:12px;border-top:3px solid var(--gold,#e9a72b)}
.operations-metric h3{font-size:13px;margin:0;color:var(--gold,#e9a72b)}
.operations-metric>strong{font-size:29px;line-height:1.1;font-variant-numeric:tabular-nums}.operations-metric small{opacity:.8}
.operations-metric.attention{border-top-color:#d96b19}.operations-columns{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2fr);gap:10px}
.operations-columns>.panel{min-width:0;margin:0;padding:12px}.operations-columns h3{margin:0 0 10px;color:var(--gold,#e9a72b)}
.operations-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.operations-tasks{padding-left:18px;line-height:1.7;margin:0 0 14px}
.operations-feedback:empty{display:none}.operations-issue{padding:8px 0;border-top:1px solid var(--line)}.operations-issue p{margin:4px 0;overflow-wrap:anywhere}
[data-emergency-dashboard]>.panel{margin-top:10px}[data-emergency-dashboard] h3{color:var(--gold,#e9a72b)}
@media(max-width:1000px){.operations-columns{grid-template-columns:1fr}}

/* Compressed selection bars reveal content without moving the time raster or other bars. */
.service-selection-bar>.service-selection-label{flex:0 0 auto}
.service-selection-bar>.service-selection-assignments{order:0;margin-left:0;justify-content:flex-start}
.service-selection-panel .service-selection-bar.has-open-items{border:2px solid #d11e32}
.service-selection-panel .service-selection-bar.has-open-items[aria-pressed=true]{outline-color:#d11e32}
.service-selection-panel .service-selection-bar.has-open-items:focus-visible{outline-color:#327fca}
.service-selection-panel .service-selection-bar .service-selection-assignment.has-open-assignment{border:1px solid #d11e32;background:#fff;box-sizing:border-box}
.service-selection-bar.is-measuring{visibility:hidden;pointer-events:none;max-width:none;min-width:max-content;transition:none}
.service-selection-bar.is-measuring>.service-selection-label,.service-selection-bar.is-expanded>.service-selection-label{flex:0 0 auto}
.service-selection-bar.is-measuring strong,.service-selection-bar.is-measuring span,.service-selection-bar.is-expanded strong,.service-selection-bar.is-expanded span{overflow:visible;text-overflow:clip}
.service-selection-bar.is-expanded{z-index:8;box-shadow:0 3px 12px #0006;transition:width .14s ease,left .14s ease;overflow:visible}
.service-selection-bar.is-expansion-limited{height:auto;min-height:34px;flex-wrap:wrap;white-space:normal}
.service-selection-bar.is-expansion-limited>.service-selection-label{max-width:100%;flex:1 1 auto;white-space:normal;overflow-wrap:anywhere}
.service-selection-bar.is-expansion-limited>.service-selection-assignments{max-width:100%;flex-wrap:wrap}
.service-selection-axis{z-index:10}
@media(prefers-reduced-motion:reduce){.service-selection-bar.is-expanded{transition:none}}

.service-selection-bar.is-hover-overlapped{opacity:.12;filter:saturate(.3);transition:opacity .12s ease}
.service-selection-bar.is-expanded{opacity:1;filter:none}
@media(prefers-reduced-motion:reduce){.service-selection-bar.is-hover-overlapped{transition:none}}

#sales-services-list .service-list-table tr>td.is-loading-gauge-exceeded{background:#ffe0e3;color:#9b1223;font-weight:750;box-shadow:inset 0 0 0 1px #d44555}
[data-theme=dark] #sales-services-list .service-list-table tr>td.is-loading-gauge-exceeded{background:#5c202a;color:#ffdadd;box-shadow:inset 0 0 0 1px #e56b7b}

.handoff-management-lists{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start;width:100%;max-width:none}
.handoff-management-list{min-width:0;width:100%;max-width:none;box-sizing:border-box;margin:0;padding:10px}.handoff-management-list h3{color:var(--gold,#e9a72b);margin:0}
.handoff-management-list>.toolbar{margin-bottom:8px}.handoff-management-list .tablewrap{max-height:65vh;overflow:auto}
.handoff-management-list table{width:100%;min-width:360px}.handoff-management-list th{position:sticky;top:0;z-index:1;background:var(--panel,#fff)}
.handoff-management-list td{vertical-align:top}.handoff-management-list .sales-detail-workflow-actions{display:flex;flex-direction:column;align-items:stretch;gap:5px}
.handoff-management-list .sales-detail-handoff{min-height:26px;padding:3px 6px;font-size:11px;white-space:normal}

#view>.handoff-management-heading{margin:0 0 2px;padding:0;min-height:0;gap:4px}
#view>.handoff-management-heading h2{margin:0;line-height:1.2}
.handoff-management-lists{margin-top:0;gap:6px}.handoff-management-list{padding:5px 6px}
.handoff-management-list>.toolbar{margin:0 0 3px;padding:0;min-height:0;gap:5px}

.handoff-management-list table{table-layout:fixed;min-width:650px}
.handoff-identity-column{width:36%}.handoff-actions-column{width:180px}
.handoff-identity-cell,.handoff-time-route-cell{overflow-wrap:anywhere}
.handoff-customer-line{display:flex;align-items:center;gap:7px;margin-top:3px;font-size:12px}
.handoff-customer-line img{width:24px;height:24px;object-fit:contain;flex:none;background:transparent}
.handoff-train-numbers,.handoff-time-bounds{display:flex;flex-wrap:wrap;gap:3px 16px;margin-top:3px;font-size:11px}
.handoff-time-route-cell>div{margin-bottom:3px}.handoff-time-route-cell strong{font-size:12px}
.handoff-field-label{display:block;font-size:10px;opacity:.75}
.handoff-management-list .handoff-actions-cell{position:sticky;right:0;z-index:2;background:#fff;border-left:1px solid var(--line);box-shadow:-4px 0 6px #0000000c}
.handoff-management-list th.handoff-actions-cell{z-index:3}
[data-theme=dark] .handoff-management-list .handoff-actions-cell{background:#25292d}

/* Compact handoff rows keep all requested data and the right-hand actions. */
.handoff-management-list td{padding:3px 6px;line-height:1.15;font-size:11px}
.handoff-management-list th{padding:3px 6px;line-height:1.1;font-size:10px}
.handoff-management-list td .subline{margin-top:1px;font-size:10px;line-height:1.1}
.handoff-customer-line{gap:5px;margin-top:1px;font-size:11px;line-height:1.1}
.handoff-customer-line img{width:18px;height:18px}
.handoff-train-numbers,.handoff-time-bounds{gap:1px 10px;margin-top:1px;font-size:10px;line-height:1.1}
.handoff-time-route-cell>div{margin-bottom:1px}.handoff-time-route-cell strong{font-size:11px;line-height:1.15}
.handoff-field-label{display:inline;margin-right:5px;font-size:10px}
.handoff-management-list .sales-detail-workflow-actions{gap:2px}
.handoff-management-list .sales-detail-handoff{min-height:22px;padding:2px 5px;font-size:10px;line-height:1.15}
.handoff-management-list .sales-workflow-request{gap:3px}

.handoff-management-list td{font-size:12px}
.handoff-management-list th,.handoff-management-list td .subline,.handoff-train-numbers,.handoff-time-bounds,.handoff-field-label{font-size:11px}
.handoff-customer-line,.handoff-time-route-cell strong,.handoff-management-list .sales-detail-handoff{font-size:12px}

.handoff-management-list table{min-width:650px}
.handoff-identity-column{width:260px}
.handoff-management-list .handoff-identity-cell{padding-right:4px}
.handoff-management-list .handoff-time-route-cell,.handoff-management-list thead th:nth-child(2){border-left:1px solid #b88a3a;padding-left:6px}
[data-theme=dark] .handoff-management-list .handoff-time-route-cell,[data-theme=dark] .handoff-management-list thead th:nth-child(2){border-left-color:#c99b4d}

.handoff-plan-sequence{display:flex;flex-wrap:wrap;align-items:center;gap:3px 7px;font-size:12px;line-height:1.2}
.handoff-plan-sequence>span{white-space:nowrap}
.handoff-plan-sequence .handoff-window-limit{color:#c51f32;font-weight:700}
.handoff-plan-sequence .handoff-plan-core{color:#fff;background:#263542;border-radius:3px;padding:1px 4px;font-weight:600}
[data-theme=dark] .handoff-plan-sequence .handoff-window-limit{color:#ff7d8b}
.handoff-route-values{font-size:12px;line-height:1.2}

.handoff-route-values .handoff-point-code{color:#1766b0;font-weight:650}
[data-theme=dark] .handoff-route-values .handoff-point-code{color:#79baff}
.handoff-route-values .handoff-connection{color:#ffda47;background:#423706;border:1px solid #b69b39;border-radius:3px;padding:1px 4px;font-weight:650}
.sales-detail-status-heading{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px 10px}
.sales-detail-status-heading>span{font-size:15px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--gold,#e9a72b)}
.sales-full-edit{min-height:22px;padding:2px 6px;font-size:11px;line-height:1.2;color:#a8630c;border:1px solid #cd9446;background:#f4ca791a;white-space:nowrap}
[data-theme=dark] .sales-full-edit{color:#ffc876;border-color:#bb8739}

#editor.service-full-editor:not(.sales-section-editor){width:calc(100vw - 16px);max-width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);margin:8px;padding:12px;overflow:hidden;box-sizing:border-box}
#editor.service-full-editor:not(.sales-section-editor)>form{height:100%;display:flex;flex-direction:column;min-height:0}
#editor.service-full-editor:not(.sales-section-editor) .dialog-head{position:static;top:auto;flex:none;margin:0;padding:0 0 8px;gap:8px}
#editor.service-full-editor:not(.sales-section-editor) #fields{flex:1;min-height:0;overflow:auto;margin-top:6px;padding-right:5px;align-content:start}
#editor.service-full-editor:not(.sales-section-editor) .dialog-actions{position:static;bottom:auto;flex:none;margin:0;padding:8px 0 0;border-top:1px solid var(--line)}
#service-editor-responsibility{flex:none;width:min(360px,100%);margin:4px 0}
#service-editor-responsibility[hidden]{display:none}
#service-editor-responsibility>label{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:600}
#service-editor-responsibility select{width:100%;padding:5px 7px}

/* Compact complete service editor; section dialogs keep their own layout. */
#editor.service-full-editor:not(.sales-section-editor) #fields{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
#editor.service-full-editor:not(.sales-section-editor) #fields>.service-customer-row{grid-column:span 2;gap:8px}
#editor.service-full-editor:not(.sales-section-editor) #fields>label:has([name=contracts]){grid-column:span 2}
#editor.service-full-editor:not(.sales-section-editor) #fields>.service-point-field,
#editor.service-full-editor:not(.sales-section-editor) #fields>.service-stop-fields{grid-column:span 2}
#editor.service-full-editor:not(.sales-section-editor) #fields>.service-time-fields{grid-column:span 2;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
#editor.service-full-editor:not(.sales-section-editor) #fields>.service-train-details{grid-column:span 4;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
#editor.service-full-editor:not(.sales-section-editor) #fields>.service-vehicle-requirements:not(.service-personnel-fields){grid-column:span 3}
#editor.service-full-editor:not(.sales-section-editor) #fields fieldset,
#editor.service-full-editor:not(.sales-section-editor) #fields>.service-vehicle-requirements{padding:7px;min-width:0;margin:0;align-self:start}
#editor.service-full-editor:not(.sales-section-editor) .service-vehicle-requirement-fields{gap:7px;grid-template-columns:repeat(2,minmax(0,1fr))}
#editor.service-full-editor:not(.sales-section-editor) #service-personnel-stations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
#editor.service-full-editor:not(.sales-section-editor) #service-driver-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
#editor.service-full-editor:not(.sales-section-editor) #fields label{gap:3px;font-size:12px}
#editor.service-full-editor:not(.sales-section-editor) #fields textarea{min-height:58px}
#editor .dialog-head>.service-request-toolbar{margin:0 8px 0 auto;display:flex;flex:none;width:auto;grid-column:auto}
#editor .dialog-head>.service-request-toolbar button{font-size:11px;padding:5px 8px}
#editor .dialog-head>#close-editor{flex:none;margin-left:0}
.service-performance-fields{border:1px solid var(--line);border-radius:5px;padding:8px;margin:0}
.manual-status-warning{border-left:3px solid #e77911;background:#f3921720;padding:6px 8px;margin:0 0 8px;font-size:12px}
.manual-status-options{display:flex;flex-wrap:wrap;gap:6px 16px}
#editor .manual-status-options label,#editor .manual-status-ack{display:flex;flex-direction:row;align-items:center;gap:5px}
#editor .manual-status-options input,#editor .manual-status-ack input{width:auto;flex:none}
.manual-status-ack{margin-top:9px;font-weight:600}
@media(max-width:1000px){
#editor.service-full-editor:not(.sales-section-editor) #fields{grid-template-columns:repeat(2,minmax(0,1fr))}
#editor.service-full-editor:not(.sales-section-editor) #fields>.service-point-field{grid-column:span 1}
#editor.service-full-editor:not(.sales-section-editor) #fields>.service-train-details,
#editor.service-full-editor:not(.sales-section-editor) #fields>.service-vehicle-requirements:not(.service-personnel-fields){grid-column:span 2}
#editor.service-full-editor:not(.sales-section-editor) #service-personnel-stations{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
#editor.service-full-editor:not(.sales-section-editor) #fields{grid-template-columns:minmax(0,1fr)}
#editor.service-full-editor:not(.sales-section-editor) #fields>*{grid-column:1!important}
#editor.service-full-editor:not(.sales-section-editor) #service-driver-parts,
#editor.service-full-editor:not(.sales-section-editor) #service-personnel-stations{grid-template-columns:minmax(0,1fr)}
#editor .dialog-head{flex-wrap:wrap}
}

#editor.service-full-editor:not(.sales-section-editor) #service-stops{grid-template-columns:minmax(0,1fr)}
#editor.service-full-editor:not(.sales-section-editor) #service-stops>.service-point-field{width:auto}
.service-favorite-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid #e5a420;border-radius:5px;background:transparent;padding:4px 7px;font-size:10px;align-self:stretch}
.service-favorite-toggle strong{font-size:25px;line-height:1;color:#bf8300}
.service-favorite-toggle[aria-pressed=true]{background:#fff1b8;color:#262110}
.right-sidebar-blank{position:relative}
#service-favorites-open{position:absolute;bottom:5px;left:8px;background:transparent;color:#ffdf26;border:0;font-size:26px;padding:1px 5px;line-height:1.2}
#service-favorites-popover{position:fixed;right:24px;top:180px;z-index:1000;width:min(340px,calc(100vw - 24px));max-height:65vh;overflow:auto;background:var(--panel,#fff);color:var(--text,#252525);border:1px solid #daa62c;box-shadow:0 5px 25px #0005;border-radius:6px;padding:10px}
#service-favorites-popover>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:10px}
.favorite-service-list{display:grid;gap:5px;margin-top:7px}
.favorite-service-list>button{text-align:left;display:flex;flex-direction:column;gap:3px;padding:8px}
.favorite-service-list span{font-size:12px}
[data-theme=dark] #service-favorites-popover{background:#202d37;color:#eef2f5}

.sales-record-detail .sales-detail-heading{grid-template-columns:minmax(180px,1fr) minmax(300px,1.4fr) minmax(240px,1fr)}
.sales-detail-control-group{grid-column:2;display:flex;align-items:stretch;gap:6px;min-width:0}
.sales-detail-control-group .sales-detail-workflow{flex:1;min-width:0}
.sales-detail-control-group .service-favorite-toggle{flex:0 0 80px;box-sizing:border-box;max-width:80px}
.sales-detail-heading .sales-detail-status{grid-column:3;grid-row:1}
@container(max-width:850px){.sales-record-detail .sales-detail-heading{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-detail-heading .sales-detail-status{grid-column:1 / -1;grid-row:auto}}
@container(max-width:600px){.sales-record-detail .sales-detail-heading{grid-template-columns:minmax(0,1fr)}.sales-detail-control-group{grid-column:1}}

@media(min-width:1001px){
#editor.service-full-editor:not(.sales-section-editor) #fields>.service-point-field[data-route-point=departure_point]{grid-column:1 / span 2;grid-row:2}
#editor.service-full-editor:not(.sales-section-editor) #fields>.service-point-field[data-route-point=destination_point]{grid-column:3 / span 2;grid-row:2}
#editor.service-full-editor:not(.sales-section-editor) #fields>.service-stop-fields{grid-column:5 / span 2;grid-row:2 / span 2}
#editor.service-full-editor:not(.sales-section-editor) #fields>.service-time-fields{grid-column:1 / span 4;grid-row:3;grid-template-columns:repeat(4,minmax(0,1fr))}
#editor.service-full-editor:not(.sales-section-editor) #fields>.service-train-details{grid-column:1 / -1;grid-template-columns:repeat(5,minmax(0,1fr))}
}

.sales-status-help{cursor:help;text-align:left;font:inherit;font-size:11px}
.sales-available-statuses{position:fixed;z-index:1100;box-sizing:border-box;width:min(340px,calc(100vw - 16px));max-height:calc(100vh - 16px);overflow:auto;padding:10px;border:1px solid #ba8ad1;border-radius:6px;background:#fff;color:#243847;box-shadow:0 5px 20px #0004}
.sales-available-statuses>strong{display:block;font-size:13px;margin-bottom:8px}
.sales-available-statuses>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.sales-available-statuses .sales-status-option{display:block;text-align:center;white-space:normal;padding:4px;font-size:11px}
.sales-available-statuses>small{display:block;font-size:11px;line-height:1.4;margin-top:8px}
[data-theme=dark] .sales-available-statuses{background:#202d37;color:#eef2f5}

.sales-status-option[data-tone=created]{--status-fg:#46576a;--status-bg:#edf1f5;--status-border:#9aabba}
[data-theme=dark] .sales-status-option[data-tone=created]{--status-fg:#d4dfe9;--status-bg:#34424e;--status-border:#7f94a6}

/* Clear, saturated red text on the white/red danger pattern. */
.sales-status-option[data-tone=danger],
[data-theme=dark] .sales-status-option[data-tone=danger]{color:#c00000;font-weight:800;text-shadow:0 1px 0 #fff,1px 0 0 #fff,-1px 0 0 #fff,0 -1px 0 #fff;background:repeating-linear-gradient(135deg,#fff 0,#fff 6px,#f8d8da 6px,#f8d8da 12px)}

.sales-status-option[data-tone=critical],
[data-theme=dark] .sales-status-option[data-tone=critical]{--status-fg:#fff;--status-bg:#e00000;--status-border:#a80000;font-weight:800}

.workflow-policy-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start}
.workflow-policy-columns .panel{padding:10px;min-width:0}
.workflow-policy-columns h3{margin:0 0 8px;color:var(--gold,#d98b16)}
.workflow-policy-columns h4{margin:12px 0 4px;border-bottom:1px solid var(--line);padding-bottom:3px}
.workflow-policy-columns label{display:flex;align-items:center;gap:5px;font-size:12px;margin:4px 0}
.workflow-policy-columns input[type=checkbox]{width:auto;flex:none}
.workflow-policy-columns fieldset{margin:0;padding:8px;border:1px solid var(--line)}
.workflow-policy-columns small{display:block;font-size:11px;line-height:1.4;margin-top:6px}
.workflow-field-rule{padding:6px 0;border-bottom:1px solid var(--line)}
.workflow-field-rule>strong{font-size:12px}
.workflow-policy-save{position:sticky;bottom:0;background:var(--panel,#fff);padding:8px;border-top:1px solid var(--line)}
[data-theme=dark] .workflow-policy-save{background:#202d37}
.unknown-choice.is-workflow-disabled{opacity:.45;cursor:not-allowed}
#editor .unknown-choice{min-height:18px;font-size:10px}
#editor.service-full-editor:not(.sales-section-editor) #fields>.service-required-field:has([name=contracts]){grid-column:span 2}
@media(max-width:900px){.workflow-policy-columns{grid-template-columns:minmax(0,1fr)}}

.workflow-policy-save{top:0;bottom:auto;z-index:5;margin:0 0 8px;display:flex;align-items:center;gap:10px;padding:6px 0;border-top:0;border-bottom:1px solid var(--line)}
.workflow-policy-save p{margin:0;font-size:12px}
.workflow-policy-save p:empty{display:none}

.workflow-policy-columns h4{color:var(--gold,#e9a72b);border-bottom-color:#e9a72b70}

.handoff-route-values .handoff-route-stop{display:inline-flex;flex-direction:column;vertical-align:top;gap:3px;max-width:100%;padding:2px 0}
.handoff-route-values .handoff-connection{display:block;width:max-content;max-width:100%;box-sizing:border-box;white-space:normal;font-size:11px;line-height:1.25}
.handoff-route-values .handoff-route-arrow{display:inline-block;padding:2px 5px;vertical-align:top}

.handoff-station-personnel{display:flex;gap:4px;align-items:center}
.handoff-personnel-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:22px;box-sizing:border-box;border:1px solid currentColor;border-radius:3px;background:#fff;cursor:help}
.handoff-personnel-icon svg{width:17px;height:17px}
.handoff-personnel-icon.is-needed{color:#c00012}
.handoff-personnel-icon.is-assigned{color:#087b2f}
.handoff-personnel-icon:focus-visible{outline:2px solid var(--gold,#e9a72b);outline-offset:2px}

.handoff-management-list table{min-width:1140px}
.handoff-train-cargo-column{width:300px}
.handoff-management-list .handoff-time-route-cell,.handoff-management-list thead th:nth-child(2){border-right:1px solid #cb943c}
.handoff-management-list thead th,
.handoff-management-list thead th.handoff-actions-cell,
[data-theme=dark] .handoff-management-list thead th,
[data-theme=dark] .handoff-management-list thead th.handoff-actions-cell{background:#ffdb94;color:#32230e;border-color:#c99745}
.handoff-management-list tbody tr:nth-child(odd)>.handoff-time-route-cell{background:#fff0d7}
.handoff-management-list tbody tr:nth-child(even)>.handoff-time-route-cell{background:#ffe2ae}
[data-theme=dark] .handoff-management-list tbody tr:nth-child(odd)>.handoff-time-route-cell{background:#503518}
[data-theme=dark] .handoff-management-list tbody tr:nth-child(even)>.handoff-time-route-cell{background:#704919}
.handoff-train-cargo-cell{overflow-wrap:anywhere}
.handoff-train-metrics,.handoff-train-flags{display:flex;flex-wrap:wrap;gap:2px 10px;line-height:1.2;margin-bottom:2px}
.handoff-cargo-description{font-size:11px;line-height:1.25;margin:2px 0}
.handoff-train-flags{font-size:11px}
.handoff-gauge-exceeded{color:#fff;background:#b91625;border-radius:2px;padding:0 3px;font-weight:700}

.handoff-management-list .tablewrap{max-height:none;box-sizing:border-box;overflow:auto}

.handoff-management-list table{min-width:1240px}
.handoff-time-route-column{width:500px}
.handoff-train-cargo-column{width:auto}
.handoff-management-list>.toolbar{display:grid;grid-template-columns:260px minmax(0,500px) auto;align-items:center;gap:0}
.handoff-management-list>.toolbar>.pill{justify-self:end}
.handoff-scroll-hint{font-size:11px;color:#a76400;text-align:center;line-height:1.2;padding:2px 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
[data-theme=dark] .handoff-scroll-hint{color:#ffd279}
.handoff-list-toggle{display:inline-flex;align-items:center;gap:5px;background:transparent;border:0;color:inherit;font:inherit;font-weight:700;padding:0;cursor:pointer;text-align:left}
.handoff-list-toggle [data-collapse-arrow]{font-size:15px;min-width:12px}
.handoff-list-toggle:focus-visible{outline:2px solid var(--gold,#e9a72b);outline-offset:2px}
.handoff-management-list .tablewrap{overscroll-behavior-y:contain}
.handoff-management-list .tablewrap[hidden],.handoff-scroll-hint[hidden]{display:none!important}
.handoff-identity-line{display:flex;align-items:baseline;gap:7px;min-width:0;max-width:100%}
.handoff-identity-line>strong{flex:0 1 auto;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.handoff-contract{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:400}

.handoff-management-list>.toolbar>.handoff-scroll-hint{grid-column:2}
.handoff-management-list>.toolbar>.pill{grid-column:3}
.handoff-management-list .handoff-list-toggle,[data-theme=dark] .handoff-management-list .handoff-list-toggle{background:transparent;border:0;color:inherit;box-shadow:none}

.handoff-management-list>.toolbar{justify-content:stretch}

.handoff-management-list tbody .handoff-hazard-row>td{border-top:2px solid #e02838;border-bottom:2px solid #e02838}
.handoff-management-list tbody .handoff-hazard-row>td:first-child{border-left:2px solid #e02838}
.handoff-management-list tbody .handoff-hazard-row>td:last-child{border-right:2px solid #e02838}

#view>.handoff-management-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
#handoff-service-search{width:260px;max-width:100%;box-sizing:border-box;padding:4px 8px;font-size:12px;line-height:1.3}

#view>.handoff-management-heading{justify-content:flex-start}

/* Status badges follow their text, with only a small surrounding inset. */
.sales-status-option{display:inline-block;width:max-content;max-width:100%;box-sizing:border-box}
.sales-status-cycle .sales-status-option{flex:0 0 auto;width:max-content}
.sales-performance-statuses{width:fit-content;max-width:100%}
.sales-column-status-track{width:max-content;max-width:100%;align-items:flex-start}
.sales-column-status-track>.sales-status-option{width:max-content;max-width:100%;padding-left:6px;padding-right:6px}
.sales-detail-status>.sales-performance-statuses{align-self:flex-end}
.sales-workflow-state .sales-performance-statuses{flex:0 1 auto;width:fit-content;max-width:190px}
.sales-available-statuses>div{display:flex;flex-wrap:wrap;align-items:flex-start;gap:5px}
.sales-available-statuses .sales-status-option{display:inline-block;flex:0 1 auto;width:fit-content;max-width:100%;padding:4px 6px}

/* Vertriebsdashboard: kompakte Arbeitslisten mit echten Bestandszahlen. */
.sales-dashboard-toolbar{justify-content:space-between;gap:8px}.sales-dashboard-toolbar>div{display:flex;gap:6px;flex-wrap:wrap}.sales-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sales-dashboard-grid .panel{min-width:0;margin:0}.sales-dashboard-grid h3,.sales-dashboard-cards h3{color:var(--orange,#f78a21)}.sales-dashboard-grid td{white-space:normal;overflow-wrap:anywhere}.sales-dashboard-grid .muted{font-size:12px}.sales-dashboard-upcoming{grid-column:1/-1}.sales-dashboard-cards strong{font-size:28px}.sales-dashboard-grid .tablewrap{max-height:360px;overflow:auto}.sales-dashboard-grid th{position:sticky;top:0}.sales-dashboard-grid td button{font-weight:700}@media(max-width:850px){.sales-dashboard-grid{grid-template-columns:1fr}.sales-dashboard-upcoming{grid-column:auto}}

.sales-dashboard-grid .panel{max-width:none}.sales-dashboard-grid table td,.sales-dashboard-grid table th{padding:6px 9px}.sales-dashboard-grid td button{padding:4px 7px;min-height:26px}.sales-dashboard-grid td{font-size:13px;line-height:1.3}

/* Streckenkarte als eigener geschuetzter Menuebereich. */
.railway-map-panel{width:100%;height:calc(100dvh - 210px);min-height:360px;margin:0;padding:0;overflow:hidden}.railway-map-frame{display:block;width:100%;height:100%;border:0;background:var(--bg,#fff)}

/* Streckenkarte buendig zwischen den aeusseren Seitenmenues. */
.shell>main:has(> #view > .railway-map-panel){padding-top:0;padding-left:0;padding-right:0}

.shell>main:has(> #view > .railway-map-panel)>#notice:empty{display:none}

/* Kartenschnellzugriff am linken Fensterrand der Kopfleiste. */
.modules{position:relative}.modules #railway-map-open{position:absolute;left:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:42px;padding:9px;border:0;border-radius:6px;background:transparent;color:var(--gold,#f4d58b)}.modules #railway-map-open[hidden]{display:none}.modules #railway-map-open:hover,.modules #railway-map-open.active{background:#47433c}.modules #railway-map-open svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}@media(max-width:760px){.modules:has(#railway-map-open:not([hidden])){padding-left:60px}}

.account-portrait-block .vehicle-current-location{margin:8px 0 0;text-align:left;font-size:12px;line-height:1.4;overflow-wrap:anywhere}

/* Listenende ist kein laufender Ladevorgang. */
[data-business-prev]:disabled,[data-business-next]:disabled{cursor:default}
.controller-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0}.controller-stats .panel{margin:0;padding:14px}.controller-stats strong{display:block;font-size:28px;color:var(--gold,#e7a72a)}.controller-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:12px}.controller-layout>.panel{max-width:none;margin:0}.controller-layout h3{color:#df931e}.controller-instances{display:block!important;width:auto!important;background:transparent!important;padding:14px!important}.controller-instances button{display:block;width:100%;margin:5px 0;text-align:left}.controller-instances button[aria-pressed=true]{border:2px solid #e8a52d;font-weight:700}.controller-instances input{width:100%;box-sizing:border-box}.controller-instances label{display:block;margin:7px 0}.controller-instances small,.controller-assignments small{display:block;font-size:11px;opacity:.8;margin-top:4px}.controller-assignments td,.controller-assignments th{padding:8px!important;vertical-align:top}.controller-assignments td button{display:block;font-size:11px;padding:4px 7px;white-space:nowrap;margin-bottom:4px}.controller-assignments select{max-width:230px;width:100%;font-size:12px}.controller-state{color:#478b45}.controller-state.pending{color:#c47b10}.controller-private{padding:9px;background:#e0a12815;border-left:3px solid #e4a12b;font-size:12px}.controller-pending-warning{padding:9px;border:1px solid #e6a52b;font-size:12px}.controller-copy-dialog{max-width:470px}.controller-copy-dialog input{width:100%}@media(max-width:1050px){.controller-layout{grid-template-columns:1fr}.controller-stats{grid-template-columns:1fr 1fr 1fr}}[data-theme=dark] .controller-layout h3{color:#f1bd58}

.simulation-controls{display:flex;align-items:center;justify-content:center;gap:4px;margin:0;width:100%;flex-wrap:nowrap;position:relative}.simulation-controls[hidden]{display:none}.simulation-controls button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;min-width:30px}.simulation-controls button svg{width:16px;height:16px;fill:currentColor}.simulation-controls select{flex:0 1 98px;width:98px;min-width:0}.simulation-controls [role=status]:empty{display:none}.simulation-controls button,.simulation-controls select{font-size:12px;padding:3px 6px;min-height:27px}.simulation-controls [role=status]{position:absolute;top:100%;left:0;right:0;max-width:240px;font-size:11px;color:#e46655}.instance-setup{max-width:500px;margin:8vh auto;padding:25px}.instance-setup label,.instance-setup input{display:block;width:100%;margin:10px 0}

.service-selection-now{position:absolute;top:0;bottom:0;width:3px;background:#f15a64;z-index:4;pointer-events:none}.service-selection-now[hidden]{display:none}

#today.window-label-panel>.simulation-controls{top:-14px}.simulation-controls [data-simulation-normal][aria-pressed=true]{border-color:var(--gold,#e7a62a);font-weight:700}

:root:not([data-theme=dark]) .sidebar-window-label{color:#000;border-color:#000}

/* Isolierte Vorbereitung: Übergabebuch, Leistungsdokumente, Office-Besetzung. */
.service-extra-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.service-extra-actions button{width:64px;height:38px;min-width:38px;padding:7px;color:var(--gold,#e9a72b);font-size:20px;border:1px solid currentColor;background:transparent;border-radius:5px}.service-extra-actions button:disabled{opacity:.65;cursor:default}.service-extra-actions svg,.document-workspace aside svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8}
.modules #office-shifts-open{position:absolute;left:62px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:42px;padding:9px;border:0;border-radius:6px;background:transparent;color:var(--gold,#f4d58b)}.modules #office-shifts-open[hidden]{display:none}.modules #office-shifts-open:hover{background:#47433c}.modules #office-shifts-open svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}
.operations-extra-dialog{width:min(1180px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:18px;color:inherit;background:var(--panel,#fff);border:1px solid var(--line,#aaa);border-radius:8px;overflow:auto}.operations-extra-dialog::backdrop{background:#0008}.operations-extra-dialog h2,.operations-extra-dialog h3,.handover-layout h3,.handover-history h3{color:var(--gold,#e9a72b);margin:0 0 10px}.extra-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.extra-title h2{font-size:20px;margin:0}.extra-title>[data-extra-close]{font-size:24px;min-width:38px}.extra-feedback:empty,[data-handover-status]:empty,[data-office-status]:empty{display:none}.extra-error{color:#d12727;font-weight:600}.extra-page-heading{justify-content:flex-start;gap:12px}.extra-page-heading h2{margin:0}.extra-two-columns,.extra-three-columns{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.extra-three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.operations-extra-dialog form,.handover-layout form{display:grid;gap:10px}.operations-extra-dialog label,.handover-layout label{display:flex;flex-direction:column;gap:4px;min-width:0}.operations-extra-dialog label.extra-check{flex-direction:row;align-items:center}.operations-extra-dialog .extra-check input{width:auto;min-height:0}.operations-extra-dialog fieldset,.handover-layout fieldset{border:1px solid var(--line,#999);padding:8px;min-width:0;display:grid;gap:8px}.operations-extra-dialog input,.operations-extra-dialog select,.handover-layout input,.handover-layout select{width:100%;min-width:0}.document-workspace{display:grid;grid-template-columns:240px minmax(0,1fr);gap:18px;margin-top:14px}.document-workspace aside{display:grid;align-content:start;gap:6px;border-right:1px solid var(--line,#999);padding-right:12px}.document-workspace aside button{display:flex;align-items:center;gap:8px;text-align:left;overflow-wrap:anywhere}.document-workspace aside button.active{border-color:var(--gold,#e9a72b);color:var(--gold,#e9a72b)}.document-workspace small{display:block;opacity:.8}.document-file-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:12px 0;border-bottom:1px solid var(--line,#aaa)}.document-file-list article strong{overflow-wrap:anywhere}.document-file-list article small{grid-column:1}.document-file-list article button{grid-column:2;grid-row:1/3}.document-workspace [data-upload-form]{padding:10px;border:1px solid var(--line,#999);border-radius:5px}
.handover-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:16px}.handover-layout>section,.handover-history{padding:14px;border:1px solid var(--line,#aaa);border-radius:6px}.handover-issues{max-height:480px;overflow:auto}.handover-issues article{display:grid;gap:5px;padding:10px;border-bottom:1px solid var(--line,#999)}.handover-issues .open-issue{border-left:3px solid #db2929}.handover-history{margin-top:14px}.handover-history article{padding:12px 0;border-bottom:1px solid var(--line,#aaa)}.handover-entry-summary,.extra-entry-fields{display:flex;gap:12px;flex-wrap:wrap}.extra-entry-fields{margin-top:8px;font-size:12px}.handover-history small{display:block;opacity:.7;margin-top:8px}
.office-day-controls{display:flex;gap:6px;align-items:center;margin-left:auto}.office-day-controls input{width:160px}.office-timeline{min-width:650px;border:1px solid var(--line,#aaa);border-radius:6px;overflow:hidden}.office-time-head,.office-department{display:grid;grid-template-columns:165px minmax(0,1fr)}.office-time-head{height:44px;align-items:center;background:#e9a72b20}.office-time-head>strong{padding-left:12px}.office-time-head>div{height:24px;position:relative;margin:0 25px 0 12px}.office-time-head span{position:absolute;transform:translateX(-50%);font-size:12px;white-space:nowrap}.office-department{border-top:1px solid var(--line,#aaa)}.office-department header{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;padding:12px;color:var(--gold,#e9a72b);border-right:1px solid var(--line,#aaa)}.office-bars{position:relative;height:var(--office-row-height,66px);margin:0 25px 0 12px;background:repeating-linear-gradient(to right,transparent 0,transparent calc(12.5% - 1px),#e9a72b35 calc(12.5% - 1px),#e9a72b35 12.5%)}.office-shift{position:absolute;height:30px;min-width:0;padding:4px 8px;border:1px solid #a66a11;border-radius:4px;color:#221807;background:#f4c678;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;text-align:left}.office-shift:disabled{opacity:1;cursor:default;color:#221807;background:#f4c678}.office-no-shifts{position:absolute;top:22px;left:8px;opacity:.6;font-size:12px}
@media(max-width:1000px){.handover-layout{grid-template-columns:1fr}.extra-three-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.service-extra-actions button{width:44px} .extra-page-heading{flex-wrap:wrap}.office-timeline{min-width:600px}[data-office-content]{overflow-x:auto}}
@media(max-width:760px){.modules:has(#office-shifts-open:not([hidden])){padding-left:116px}.document-workspace{grid-template-columns:1fr}.document-workspace aside{border-right:0;border-bottom:1px solid var(--line,#aaa);padding:0 0 10px}.extra-two-columns,.extra-three-columns{grid-template-columns:1fr}.office-day-controls{margin-left:0}}

.office-department>header{background:#e9a72b12;position:static;min-height:var(--office-row-height,66px);box-sizing:border-box}.office-time-head>div{min-width:0}

.handover-layout fieldset{grid-template-columns:repeat(2,minmax(0,1fr))}.handover-layout textarea{min-height:64px;height:64px}.handover-layout input[type=datetime-local]{font-size:12px}

.office-bars{height:auto;min-height:var(--office-row-height,66px)}
:root[data-theme=dark] .office-shift,:root[data-theme=dark] .office-shift:disabled{background:#f4c678;color:#221807;border-color:#a66a11}:root[data-theme=dark] .service-extra-actions button{color:var(--gold,#e9a72b);border-color:var(--gold,#e9a72b)}
.office-navigation{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-left:auto}.office-navigation>label{font-size:12px;display:grid;gap:4px}.office-navigation select{min-width:130px;height:40px}.office-navigation .office-day-controls{margin-left:0}.office-navigation-hint{font-size:12px;opacity:.75;margin:4px 0 10px}.office-continuous{width:100%;max-height:calc(100dvh - 310px);min-height:300px;overflow:auto;border:1px solid var(--line,#c5cbd0);border-radius:6px;overscroll-behavior-x:contain}.office-continuous [data-office-canvas]{min-width:100%;position:relative}.office-axis-row,.office-timeline-row{display:grid;grid-template-columns:var(--office-label-width,165px) minmax(0,1fr)}.office-axis-row{height:74px;position:sticky;top:0;z-index:8;background:var(--panel,#f7f9fb);border-bottom:1px solid var(--line,#aab2b8)}.office-corner,.office-lane-label{position:sticky;left:0;z-index:5;box-sizing:border-box;background:#fff4dc;border-right:1px solid var(--line,#c6cbd0)}.office-corner{display:flex;align-items:center;padding:12px;font-weight:600}.office-axis{position:relative;height:100%}.office-axis-day{position:absolute;top:0;bottom:0;box-sizing:border-box;border-right:1px solid #e9a72b55;text-align:center;padding-top:8px;background:#e9a72b0d;overflow:hidden}.office-axis-day strong{display:block;font-size:12px;white-space:nowrap}.office-axis-day>small{display:block;font-size:11px;opacity:.75}.office-hour-labels{display:none;position:absolute;bottom:4px;left:0;right:0;font-size:10px;grid-template-columns:repeat(4,1fr);text-align:left}.office-hour-labels span{padding-left:3px}.office-fine .office-hour-labels{display:grid}.office-coarse .office-axis-day strong{font-size:10px;writing-mode:vertical-rl;margin:auto}.office-coarse .office-axis-day>small{display:none}.office-grid-body{position:relative}.office-timeline-row{border-bottom:1px solid var(--line,#c9d0d4);min-height:86px}.office-lane-label{display:flex;flex-direction:column;gap:10px;justify-content:center;align-items:flex-start;padding:10px 12px;color:#a86300;font-size:13px}.office-lane-label button{font-size:12px;padding:5px 10px;min-height:32px}.office-track{position:relative;min-width:0;height:100%}.office-day-column{position:absolute;top:0;bottom:0;box-sizing:border-box;border-right:1px solid #e9a72b66;background:repeating-linear-gradient(to right,transparent 0,transparent calc(25% - 1px),#e9a72b12 calc(25% - 1px),#e9a72b12 25%)}.office-day-column:nth-child(odd){background-color:#e9a72b08}.office-continuous .office-sunday{background-color:#e6373720}.office-today-column{box-shadow:inset 0 0 0 1px #e9a72b40}.office-continuous .office-shift{z-index:3;height:32px;display:flex;align-items:center;gap:6px;padding:4px 6px;min-width:1px}.office-shift strong{font-weight:600;white-space:nowrap}.office-shift small{font-size:10px;white-space:nowrap}.office-current-time{position:absolute;top:0;bottom:0;width:2px;background:#d22d2d;z-index:4;pointer-events:none}.office-current-time[hidden]{display:none}:root[data-theme=dark] .office-corner,:root[data-theme=dark] .office-lane-label{background:#302a1c;color:#f4c678}:root[data-theme=dark] .office-axis-row{background:#22262a}@media(max-width:1200px){.office-navigation{margin-left:0;width:100%}.office-continuous{max-height:calc(100dvh - 360px)}}

/* Isolierter Entwurf: geschützte Streckenbuch-Arbeitsübersicht. */
#route-books-workspace-open{position:absolute;left:112px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:42px;padding:9px;border:0;border-radius:6px;background:transparent;color:var(--gold,#f4d58b)}
#route-books-workspace-open[hidden]{display:none}#route-books-workspace-open:hover{background:#47433c}#route-books-workspace-open svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}
header:has(#route-books-workspace-open:not([hidden])){padding-left:166px}.route-books-workspace-frame{width:100%;height:calc(100vh - 260px);min-height:500px;border:0;display:block}
