@layer legacy;
@import url('/style.css') layer(legacy);
@import url('/mobile-design.css') layer(legacy);
@import url('/app-design.css') layer(legacy);
:root{--bg:#eef2f5;--panel:#fff;--surface:#fff;--ink:#203344;--muted:#5b7083;--line:#c7d3dd;--accent:#235b89;--soft:#dfe8f0;--info-bg:#e7eef5;--good:#206947;--goodbg:#e0efe5;--ok:#206947;--ok-bg:#e0efe5;--warn:#805507;--warnbg:#faeccc;--warn-bg:#faeccc;--bad:#a73140;--badbg:#f8e4e8;--bad-bg:#f8e4e8;color-scheme:light}
html[data-theme=dark]{--bg:#101e2b;--panel:#162837;--surface:#162837;--ink:#ecf3f7;--muted:#b0c3d0;--line:#334b5c;--accent:#99bedf;--soft:#20394e;--info-bg:#20394e;--good:#93d7b4;--goodbg:#1d3c33;--ok:#93d7b4;--ok-bg:#1d3c33;--warn:#ebc17b;--warnbg:#3b3327;--warn-bg:#3b3327;--bad:#f6abb6;--badbg:#442b35;--bad-bg:#442b35;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 'Segoe UI',Arial,sans-serif}button,input,select,textarea,table{font:inherit}button{cursor:pointer;background:var(--panel);color:var(--ink);border:1px solid var(--line)}h1{font-size:29px;line-height:1.2;letter-spacing:-1px;margin:7px 0 10px}h2{font-size:17px;line-height:1.4;margin:0 0 12px}p{margin:7px 0;color:var(--muted)}
.top{height:70px;display:flex;align-items:center;gap:11px;padding:0 27px;background:var(--panel);border-bottom:1px solid var(--line)}.mobile.app .top{padding:0 20px;height:66px}.mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--soft);color:var(--accent);font-size:23px}.brand{font-weight:750;font-size:16px;letter-spacing:-.3px}.caption{font-size:11px;color:var(--muted)}.profile{display:flex;align-items:center;gap:10px}.avatar{border-radius:50%;width:33px;height:33px;display:grid;place-items:center;background:var(--soft);color:var(--accent);font-weight:700;font-size:11px}.adminbody{display:grid;grid-template-columns:190px 1fr}.workspace-navigation{padding:25px 14px;border-right:1px solid var(--line);background:var(--panel)}.workspace-navigation b{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);display:block;margin:17px 10px 9px}.workspace-navigation button{width:100%;text-align:left;border:0;background:transparent;padding:9px 10px;margin:2px 0;font-size:12px;color:var(--muted)}.workspace-navigation button.on{background:var(--soft);color:var(--accent);font-weight:700}#content{padding:29px 32px;min-width:0}.mobile.app #content{padding:22px 19px 92px}.vehicle #content{padding:25px 32px}.eyebrow{font-size:10px;letter-spacing:1.6px;color:var(--muted);text-transform:uppercase;font-weight:650}h1{font-size:29px;line-height:1.2;letter-spacing:-1px;margin:7px 0 10px}h2{font-size:17px;line-height:1.4;letter-spacing:-.3px;margin:0 0 12px}p{margin:7px 0;color:var(--muted)}.heading{display:flex;align-items:center;gap:15px;margin-bottom:24px}.heading>div{flex:1}.primary{background:var(--accent);border-color:var(--accent);color:var(--panel);font-weight:650}html[data-theme=dark] .primary{color:#102239}.vehicle .primary{color:#fff}.vehiclehtml[data-theme=dark] .primary{color:#302300}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:16px}.card.flush{padding:0;overflow:hidden}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.stat strong{font-size:30px;display:block;letter-spacing:-1px;margin:9px 0}.stat small{color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:7px;padding:5px 9px;font-size:11px;font-weight:650;background:var(--soft);color:var(--accent);white-space:nowrap}.badge.good{color:var(--good);background:var(--goodbg)}.badge.warn{color:var(--warn);background:var(--warnbg)}.badge.bad{color:var(--bad);background:var(--badbg)}.badge.neutral{color:var(--muted);background:var(--bg)}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.toolbar button{min-height:36px;padding:7px 12px;font-size:12px}.toolbar button.selected{background:var(--soft);color:var(--accent);border-color:var(--accent)}.toolbar input{flex:1;min-width:100px}input,select,textarea{color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px 11px;min-width:0;width:100%}label{display:block;font-size:12px;color:var(--muted);margin-bottom:15px}label input,label select,label textarea{display:block;margin-top:6px}textarea{resize:vertical;min-height:70px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{color:var(--muted);background:var(--bg);font-weight:550;padding:12px 16px;white-space:nowrap}td{padding:16px;border-bottom:1px solid var(--line);vertical-align:middle}tr:last-child td{border-bottom:0}td small{display:block;color:var(--muted)}td button{font-size:11px;min-height:32px;padding:6px 10px}.num{text-align:right;font-variant-numeric:tabular-nums}.timeline{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin-top:20px}.step{padding:15px 10px;border-radius:9px;border:1px solid var(--line);min-height:106px;font-size:11px;display:flex;flex-direction:column;justify-content:space-between;background:var(--warnbg);color:var(--warn)}.step.done{background:var(--goodbg);color:var(--good)}.step b{min-height:34px}.step small{font-size:10px}.alert{padding:14px 17px;background:var(--warnbg);color:var(--warn);border-radius:11px;margin:13px 0;font-size:12px}.alert.bad{background:var(--badbg);color:var(--bad)}.split{display:flex;align-items:center;gap:10px;justify-content:space-between}.reference-row{display:flex;gap:13px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.reference-row:last-child{border:0}.reference-row>div{flex:1}.reference-row small{display:block;color:var(--muted);font-size:11px}.datebox{background:var(--soft);color:var(--accent);border-radius:9px;min-width:46px;text-align:center;padding:7px;font-size:11px}.datebox b{font-size:19px;display:block}.mobile.app>.tabs{display:flex;justify-content:space-around;background:var(--panel);border-top:1px solid var(--line);padding:11px 4px;margin-top:12px}.mobile.app>.tabs button{border:0;background:transparent;font-size:10px;min-height:40px;padding:5px 9px;color:var(--muted)}.mobile.app>.tabs button.on{color:var(--accent);background:var(--soft)}.mobile.app .mobile.app>.tabs{position:relative;margin-top:-73px}.dispatch-order{background:var(--panel);border:2px solid var(--good);padding:23px;border-radius:14px}.dispatch-order.waiting{border-color:var(--warn)}.dispatch-order h1{font-size:34px}.dispatch-order .primary{width:100%;font-size:16px;min-height:52px;margin-top:18px}.app-role-picker{display:flex;gap:6px;margin-bottom:18px}.app-role-picker button{flex:1;font-size:11px;padding:7px 8px;min-height:32px}.app-role-picker .selected{background:var(--soft);color:var(--accent);border-color:var(--accent)}.mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bigaction{min-height:51px;font-size:15px}.map{height:380px;background:var(--soft);position:relative;overflow:hidden;border-radius:12px}.road{position:absolute;background:var(--panel);border:1px solid var(--line);height:11px;width:140%;transform:rotate(-22deg);left:-15%;top:50%}.road.r2{transform:rotate(35deg);top:35%}.road.r3{transform:rotate(80deg);width:100%;top:65%}.maplabel{position:absolute;font-size:12px;color:var(--muted);left:35%;top:24%}.pin{position:absolute;background:var(--accent);color:var(--panel);border-radius:10px;padding:8px 12px;font-size:11px;box-shadow:0 3px 10px #10223933}.mapfooter{position:absolute;bottom:12px;left:12px;background:var(--panel);padding:7px 12px;border-radius:8px;font-size:10px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.day{background:var(--bg);border-radius:10px;min-height:245px;padding:12px 8px;font-size:11px}.shift{background:var(--panel);border-left:3px solid var(--accent);padding:12px 8px;margin-top:14px;border-radius:5px}.shift small{display:block;color:var(--muted);margin:5px 0}.app-credit{text-align:center;padding:18px;font-size:10px;color:var(--muted)}.contracthead{background:var(--soft);padding:20px;display:flex;justify-content:space-between}.contract td{padding:12px}.contract td input{width:76px;padding:8px}.contract td:first-child{width:33%}.contract td:first-child textarea{min-height:55px}.contract .net{background:var(--warnbg);font-weight:700}.progress{display:flex;gap:7px;margin:15px 0}.progress span{height:5px;background:var(--line);flex:1;border-radius:3px}.progress span.done{background:var(--accent)}.modalpanel{max-width:640px;margin:0 auto}.logo{max-width:100px;height:auto;opacity:.8}html[data-theme=dark] .logo{background:white;border-radius:3px}.mocknote{font-size:11px;color:var(--muted);margin-top:18px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:13px 22px;background:#17273c;color:white;border-radius:12px;box-shadow:0 8px 30px #0003;z-index:10}.hidden{display:none!important}@media(max-width:1000px){.adminbody{grid-template-columns:135px 1fr}#content{padding:22px 18px}.timeline{grid-template-columns:repeat(4,1fr)}.grid{grid-template-columns:1fr 1fr}.calendar{grid-template-columns:repeat(4,1fr)}.layout{grid-template-columns:195px 1fr}}@media(max-width:700px){.layout{display:block}.catalog{position:relative;max-height:210px;border-bottom:1px solid #d7dfeb}.stage{padding:14px}.studio{padding:15px;gap:12px}.studio .tabs{flex-wrap:wrap}.mobile.app{width:min(100%,410px)}.workspace-navigation{display:none}.adminbody{display:block}.grid,.grid.two,.formgrid{grid-template-columns:1fr}.heading{align-items:flex-start;flex-wrap:wrap}.calendar{grid-template-columns:repeat(2,1fr)}.timeline{grid-template-columns:repeat(2,1fr)}.vehicle #content{padding:20px}.review{flex-wrap:wrap}.top{padding:0 15px}.caption{max-width:150px}.profile .caption{display:none}}@media print{.studio,.catalog,.review{display:none}.layout{display:block}.stage{padding:0}body{box-shadow:none;min-height:0}.workspace-navigation{display:none}.adminbody{display:block}button{display:none}}

/* Entwurf 02: sachliche Arbeitsoberfläche, klare Linien statt Kartenraster. */
body{border-radius:3px;box-shadow:none;}
html[data-theme=dark]{}
.mobile.app{border-radius:22px;border-width:5px;min-height:820px;background:var(--panel)}
html[data-app=vehicle]{border-radius:3px;}
.top{height:64px;border-bottom:3px solid var(--accent);background:var(--panel)}
.mark{border-radius:0;background:transparent;width:26px;font-size:25px}.avatar{border-radius:3px;background:var(--bg)}
.brand{font-size:16px;letter-spacing:-.4px}.caption{font-size:12px}#content{padding:30px 30px}
.eyebrow{font-size:11px;letter-spacing:.7px;font-weight:600}h1{font-size:31px;letter-spacing:-.9px;font-weight:750}h2{font-size:16px;letter-spacing:0}
.heading{padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:24px}.heading p{font-size:13px}
button,input,select,textarea{border-radius:3px}button{font-weight:550}.primary{border-radius:3px}
.card{border:0;border-radius:0;padding:18px 0;margin:0 0 20px;background:transparent;border-top:1px solid var(--line)}
.card.flush{border:1px solid var(--line);background:var(--panel)}.card>.card{padding:15px 0}
.stat{padding:14px 0 18px;border-top:3px solid var(--ink)}.stat strong{font-size:34px;font-weight:650;margin:5px 0}.stat small{font-size:12px}
.grid{gap:25px}.grid.two{gap:28px}.badge{border-radius:3px;font-size:12px;padding:4px 7px;font-weight:600}
.badge.neutral{background:transparent;padding-left:0}.toolbar button{border-radius:3px}.toolbar button.selected{background:var(--ink);color:var(--panel);border-color:var(--ink)}
th{background:var(--panel);padding:11px 15px;border-bottom:2px solid var(--ink);color:var(--ink);font-size:11px;text-transform:uppercase;letter-spacing:.4px}
td{padding:15px;font-size:13px}td button{font-size:12px}.workspace-navigation{background:var(--bg);padding:22px 13px}.workspace-navigation button{border-radius:0;padding:9px 10px}.workspace-navigation button.on{background:var(--panel);border-left:3px solid var(--accent)}
.reference-row{padding:17px 0;gap:15px}.reference-row small{font-size:12px;margin-top:3px}.datebox{border-radius:0;background:transparent;border-right:2px solid var(--line);padding-right:15px}
.dispatch-order{border:0;border-top:5px solid var(--good);border-bottom:1px solid var(--line);border-radius:0;padding:20px 0 24px;background:transparent}
.dispatch-order.waiting{border-top-color:var(--warn);border-bottom-color:var(--line)}.dispatch-order h1{font-size:42px;letter-spacing:-1.5px;margin:16px 0 10px}.dispatch-order .primary{min-height:56px;font-size:17px}
.dispatch-order .card{border-top:1px solid var(--line);padding:18px 0;margin:12px 0}.vehicle .dispatch-order{padding:22px 24px;border:2px solid var(--good);border-radius:2px;background:var(--panel)}
.vehicle .dispatch-order.waiting{border-color:var(--warn)}.vehicle .dispatch-order h1{font-size:38px}.vehicle .dispatch-order .card{border-bottom:1px solid var(--line)}
.app-role-picker{border-bottom:1px solid var(--line);gap:0;padding:0;margin-bottom:24px}.app-role-picker button{border:0;border-radius:0;background:transparent;color:var(--muted);padding:9px 0;font-size:12px}
.app-role-picker .selected{border-bottom:3px solid var(--accent);background:transparent;color:var(--accent)}.mobile.app>.tabs{border-top:1px solid var(--line);padding:8px 3px}.mobile.app>.tabs button{border-radius:0;font-size:11px}.mobile.app>.tabs button.on{background:transparent;border-top:2px solid var(--accent)}
.alert{border-radius:0;border-left:3px solid var(--warn);padding:14px 16px}.alert.bad{border-left-color:var(--bad)}
.timeline{gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.step{border:0;border-right:1px solid var(--line);border-radius:0;min-height:108px;padding:15px 12px;font-size:12px}.step:last-child{border-right:0}.step small{font-size:11px}
.calendar{gap:0;border:1px solid var(--line)}.day{border-radius:0;border-right:1px solid var(--line);padding:12px 10px;min-height:260px}.shift{border-radius:0;border-left-width:3px}.map{border-radius:0}.pin{border-radius:3px}.mapfooter{border-radius:0}
.contracthead{background:var(--panel);border-top:4px solid var(--ink);border-bottom:1px solid var(--line)}.contract th{text-transform:none;letter-spacing:0;font-size:12px}.contract .net{background:var(--soft)}
.app-credit{padding:15px 0;text-align:left;display:flex;align-items:center;gap:8px;font-size:10px}.app-credit br{display:none}.app-credit img{width:75px;margin:0 0 0 auto!important}.mobile.app .app-credit{margin-top:12px}.progress span{border-radius:0}
.studio{background:#202b34}.catalog button.on{border-left:3px solid #175a91;background:#e9eef2;border-radius:0;color:#175a91}.studio button{border-radius:4px}.studio button.on{background:#f1f3f5}.review{font-size:12px}
@media(max-width:700px){.mobile.app .dispatch-order h1{font-size:38px}.vehicle .dispatch-order{padding:18px}.timeline{grid-template-columns:repeat(2,1fr)}.step{border-bottom:1px solid var(--line)}}


/* Entwurf 04 · C Light / A Dark · gemeinsame Typografie */
body{font-family:'Segoe UI',Arial,sans-serif;border-color:#c0ced9;border-radius:12px}
html[data-theme=dark]{border-color:#2e4658}
.mobile.app{background:var(--bg);border-color:#253645;border-radius:24px}.mobile.apphtml[data-theme=dark]{border-color:#0b1721}
.top{background:#253645;color:#eff4f7;border-bottom:4px solid #86aed5;height:70px}.top .caption{color:#c2d0dc}.top .avatar{background:#3c5367;color:#e8eff5}.top .mark{color:#b1cee7}html[data-theme=dark] .top{background:#101e2b;border-bottom:1px solid #334b5c}html[data-theme=dark] .top .mark{color:#bdd7e9}
.brand{font-family:inherit;font-size:16px;font-weight:700}body h1,body h2,body button,body input,body select,body textarea,body .route{font-family:inherit}
body h1{font-size:30px;font-weight:750;letter-spacing:-.8px}.dispatch-order h1{font-size:42px;letter-spacing:-1.4px}.vehicle .dispatch-order h1{font-size:38px}body h2{font-size:17px;font-weight:650}body .eyebrow{font-size:11px;letter-spacing:1px}body p{font-size:13px;line-height:1.6}
body button{border-radius:5px;border-color:var(--line);min-height:42px}body .primary{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:700}html[data-theme=dark] .primary{background:#e6b763;border-color:#e6b763;color:#172b3b}body input,body select,body textarea{border-radius:5px;background:var(--panel);padding:11px 12px}body label{font-size:12px}body #content{padding:28px 30px}.mobile.app #content{padding:23px 20px 92px}
body .heading{margin-bottom:24px;padding-bottom:19px}body .card{border-radius:0}body .card.flush{border-radius:6px}body .stat{border-top:3px solid var(--accent);padding:15px 0 17px}body .stat strong{font-size:34px}
.dispatch-order{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--good);padding:22px;border-radius:7px}.dispatch-order.waiting{border-color:var(--line);border-left-color:var(--warn)}.dispatch-order .primary{min-height:54px}.vehicle .dispatch-order{border:2px solid var(--good);border-radius:6px}.vehicle .dispatch-order.waiting{border-color:var(--warn)}.dispatch-order .card{background:transparent}.dispatch-order .reference-row{margin-bottom:3px}
body .app-role-picker{margin-bottom:22px}body .app-role-picker button{border-radius:0;min-height:37px}body .app-role-picker .selected{background:transparent;color:var(--accent);border-bottom-color:var(--accent)}html[data-theme=dark] .app-role-picker .selected{color:#c7dff2}
body .mobile.app>.tabs{background:var(--soft);border-color:var(--line)}body .mobile.app>.tabs button{border-radius:0;background:transparent;min-height:42px}html[data-theme=dark] .mobile.app>.tabs{background:#101e2b}html[data-theme=dark] .mobile.app>.tabs button.on{color:#e6b763;border-top-color:#e6b763}
body .badge{font-size:11px;letter-spacing:0;border-radius:4px;padding:5px 8px}body .toolbar button.selected{background:var(--accent);border-color:var(--accent);color:#fff}html[data-theme=dark] .toolbar button.selected{color:#172b3b}body .workspace-navigation{background:var(--bg)}body .workspace-navigation button.on{background:var(--soft);border-left:3px solid var(--accent);color:var(--ink)}
body .timeline{gap:8px;border:0}body .step{border:1px solid var(--line);border-radius:5px;font-size:12px;min-height:118px}body .alert{border-radius:5px}body th{background:var(--soft);border-bottom:1px solid var(--line);text-transform:none;letter-spacing:0;font-size:12px}body td{font-size:13px;padding:16px}body .map,body .day{border-radius:5px}body .contracthead{border-top-color:var(--accent);background:var(--soft)}body .contract .net{background:var(--warnbg)}
html[data-app=vehicle]{}html[data-app=vehicle][data-theme=dark]{}.vehicle .primary{color:white}.vehiclehtml[data-theme=dark] .primary{color:#172b3b}.vehicle .top{border-bottom-color:#e6b763}.vehiclehtml[data-theme=dark] .top{border-bottom:1px solid #334b5c}body .app-credit{color:var(--muted)}html[data-theme=dark] .app-credit img{background:#eff4f5;padding:3px;border-radius:2px}body .grid{gap:22px}
@media(max-width:700px){body #content{padding:22px 18px}body .dispatch-order h1{font-size:35px}body .dispatch-order{padding:18px}body .timeline{grid-template-columns:repeat(2,1fr)}}


/* Aktueller Auftrag: Inhalt und Aktion als gemeinsamer Fokusbereich. */
body .dispatch-order{border:2px solid var(--good);border-radius:7px;padding:22px;background:var(--panel)}
body .dispatch-order.waiting{border:2px solid var(--warn)}
.focus-context{border:2px solid var(--accent);border-radius:7px;background:var(--panel);padding:22px;margin:0 0 22px}
.focus-context.pending{border-color:var(--warn)}
.focus-context .context{border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:22px}
.focus-context .context h2{font-size:28px;margin:7px 0;font-weight:750;letter-spacing:-.7px}
.focus-context .context p{margin:3px 0}.focus-context>.card{border:0;padding:0;margin:0}.focus-context .primary{width:100%;min-height:52px}
.focus-context .focus-contextlabel{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:12px}
@media(max-width:700px){body .dispatch-order,.focus-context{padding:18px}}
body .logo{background:transparent!important;padding:0!important}html[data-theme=dark] .logo{filter:brightness(1.9)}