/* LOGISTIKPLAN_V1 – gleicher Stil wie Begehung / Gleislänge */
*{box-sizing:border-box}[hidden]{display:none!important}
:root{--ink:#20384e;--muted:#647f92;--line:#d4e0e9;--bg:#f2f5f8;--ok:#2f7a5b;--okbg:#e8f4ee;--bad:#b3261e;--badbg:#fbeceb;--warn:#9a5b00;--warnbg:#fff4df;--brown:#a6611b}
body{margin:0;background:var(--bg);color:var(--ink);font:15px Arial,sans-serif}
header{background:white;padding:18px 32px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:4px solid var(--brown)}
header a{color:var(--ink);font-weight:bold;text-decoration:none}header nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}header nav a{font-weight:normal;color:#24618c}
main{max-width:1600px;margin:auto;padding:24px 32px 60px}
h1{font-size:32px;margin:8px 0 6px}h2{font-size:20px;margin:28px 0 12px}h2 small{font-weight:normal;color:var(--muted);font-size:14px}h3{margin:0 0 6px;font-size:16px}
.eyebrow{letter-spacing:2px;font-size:12px;color:#6a8092;margin:0}.lead{color:var(--muted);margin:0 0 6px;max-width:800px;line-height:1.5}
button,input,select,textarea{font:inherit;color:var(--ink);padding:9px 10px;border:1px solid #c4d4e0;border-radius:5px;background:white;min-width:0}
button{cursor:pointer;white-space:nowrap}button:hover{background:#e9f0f5}button:disabled{opacity:.45;cursor:default}
.primary{background:var(--ink);color:white;border-color:var(--ink)}.primary:hover{background:#375d79}
.danger{color:var(--bad);border-color:#e3b3ae}.danger:hover{background:var(--badbg)}
button.link{border:0;background:none;padding:0;color:#24618c;text-decoration:underline;font-size:inherit}
label{display:flex;flex-direction:column;gap:6px;font-weight:bold;font-size:13px}
label.check{flex-direction:row;align-items:center;font-weight:normal;font-size:14px;gap:8px;margin:6px 0}label.check input{width:auto}label.check small{color:var(--muted)}
input,select,textarea{width:100%}textarea{resize:vertical;line-height:1.5}
#status{min-height:1.4em;padding:8px 12px;border-radius:5px;background:white;border:1px solid var(--line);margin:0 0 12px}
#status.ok{border-color:#b9dccb;background:var(--okbg)}#status.error{border-color:#e3b3ae;background:var(--badbg);color:var(--bad);font-weight:bold}
.toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:16px 0}.toolbar.compact{margin:8px 0}.toolbar .project{min-width:320px}.spacer{flex:1}
.menu{position:relative}.menu summary{cursor:pointer;padding:9px 12px;border:1px solid #c4d4e0;border-radius:5px;background:white}.menu>div{position:absolute;right:0;top:100%;z-index:10;background:white;border:1px solid var(--line);padding:8px;border-radius:5px;box-shadow:0 4px 14px #203a4e22;min-width:260px}
.layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:20px;align-items:start}
aside h2{margin-top:6px}
#trains{display:grid;gap:8px;max-height:75vh;overflow:auto;padding-right:4px}
#trains>button{display:block;width:100%;text-align:left;padding:12px 14px;white-space:normal;border-left:5px solid var(--brown)}
#trains>button[aria-pressed=true]{background:var(--ink);color:white}#trains>button[aria-pressed=true] .badge{background:#ffffff26;color:white}
#trains small{display:block;margin-top:4px;opacity:.85;overflow-wrap:anywhere}
#trains .status-Erledigt{border-left-color:var(--ok)}#trains .status-Annulliert{border-left-color:#999;opacity:.7}#trains .status-Entwurf{border-left-color:#c4d4e0}
.badge{display:inline-block;font-size:11px;font-weight:bold;padding:2px 7px;border-radius:10px;background:#e7eef4;color:var(--ink);vertical-align:1px}
.fit-passt{background:var(--okbg);color:var(--ok)}.fit-zu-lang{background:var(--badbg);color:var(--bad)}.fit-offen{background:var(--warnbg);color:var(--warn)}
.card{background:white;border:1px solid #d6e2eb;border-radius:8px;padding:20px 22px}
.card>h2:first-of-type{margin-top:8px}.actions{margin-top:0;padding-bottom:12px;border-bottom:1px solid var(--line)}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.grid .wide{grid-column:1/-1}.grid.two{grid-template-columns:1fr 1fr}
.fit{margin-top:14px;padding:12px 14px;border-radius:6px;background:#eef3f7;line-height:1.7}
div.fit.fit-passt{background:var(--okbg);color:var(--ink)}div.fit.fit-zu-lang{background:var(--badbg);color:var(--ink);border-left:5px solid var(--bad)}div.fit.fit-offen{background:var(--warnbg);color:var(--ink)}
.warn{color:var(--warn)}.muted{color:var(--muted)}.empty{color:var(--muted);font-style:italic;padding:8px 0}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:6px}
table{width:100%;border-collapse:collapse}th{background:var(--ink);color:white;text-align:left;padding:8px;font-size:13px;white-space:nowrap}
td{padding:5px;border-bottom:1px solid #e1e9ef;vertical-align:top}td input,td select{padding:7px;font-size:14px}
table.wagons td:nth-child(3){min-width:150px}table.wagons td:nth-child(4){min-width:150px}table.wagons td:nth-child(9){min-width:70px}table.wagons td:nth-child(10){min-width:90px}table.wagons td:nth-child(5){min-width:130px}table.wagons td:nth-child(6),table.wagons td:nth-child(7){min-width:80px}table.wagons td:nth-child(8){min-width:170px}table.wagons td:nth-child(11){min-width:160px}
table.wagons td input[type=checkbox]{width:auto;margin-top:10px}td.pos{font-weight:bold;text-align:center;padding-top:12px}
td select+input{margin-top:4px}input.missing{border-color:#e0b25b;background:#fffaf0}
.row-actions{white-space:nowrap}.row-actions button{padding:6px 9px;font-size:13px}
table.moves td:nth-child(1){min-width:105px}table.moves td:nth-child(2){min-width:130px}table.moves td:nth-child(3){min-width:150px}table.moves td:nth-child(6){min-width:160px}
.chips{min-width:160px}.chip{padding:4px 9px;margin:2px;border-radius:12px;font-size:13px}.chip[aria-pressed=true]{background:var(--brown);color:white;border-color:var(--brown)}
.summary{margin-top:22px}.dest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.dest{border:1px solid var(--line);border-left:5px solid var(--brown);border-radius:6px;padding:12px 14px}.dest-missing{border-left-color:#e0b25b;background:#fffaf0}
.dest p{margin:4px 0}.dest ul{margin:8px 0 0;padding-left:18px;font-size:13px;line-height:1.6}
dialog{border:0;border-radius:8px;padding:0;max-width:min(1000px,96vw);width:100%;box-shadow:0 10px 40px #0004}dialog::backdrop{background:#20384e88}
#mail-dialog form{padding:20px 24px;display:grid;gap:10px}#mail-dialog h2,#mail-dialog h3{margin:4px 0}#mail-dialog form>button{justify-self:start}#mail-dialog textarea{font:13px/1.5 Consolas,monospace}.hint{color:var(--muted);font-size:13px;line-height:1.5;margin:0}
.warning{color:var(--warn);background:var(--warnbg);padding:8px 10px;border-radius:5px;margin:0}
#recipients{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:5px;padding:4px 10px}
.dialog-bar{display:flex;gap:10px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white}
#befehl-preview{padding:24px 28px;max-height:78vh;overflow:auto}
/* Befehl-Dokument */
.befehl{color:#111;font-size:13px}.befehl h1{font-size:22px;margin:4px 0}.befehl h2{font-size:15px;margin:18px 0 6px;border-bottom:2px solid var(--ink);padding-bottom:3px}
.befehl-head{display:flex;justify-content:space-between;align-items:start;gap:20px;border-bottom:3px solid var(--brown);padding-bottom:10px;margin-bottom:12px}.befehl-head p{margin:2px 0}
.stamp{border:2px solid var(--ink);padding:6px 12px;font-weight:bold;text-transform:uppercase;letter-spacing:1px}
.befehl table th{background:#e8eef3;color:#111;font-size:12px;white-space:normal}.befehl table td{font-size:12px;padding:5px 6px;border-bottom:1px solid #ccd}
.befehl table.kv th{width:150px}.pre{white-space:pre-wrap}
.signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.signatures div{border-top:1px solid #111;padding-top:6px;font-size:12px;min-height:60px}.signatures span{display:block;color:#666;font-size:11px;margin-top:2px}
.footer{color:#777;font-size:11px;margin-top:20px}
#print-area{display:none}
@media (max-width:1100px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){main{padding:16px}header{padding:14px 16px}.layout{grid-template-columns:minmax(0,1fr)}#trains{grid-auto-flow:column;grid-auto-columns:minmax(230px,80%);overflow-x:auto;max-height:none}.toolbar .project{min-width:0;flex:1 1 100%}h1{font-size:26px}.card{padding:14px}}
@media (max-width:560px){.grid,.grid.two{grid-template-columns:1fr}.signatures{grid-template-columns:1fr}.actions button{flex:1 1 45%}.spacer{display:none}.toolbar.compact label{flex:1 1 100%}}
@media print{
  @page{size:A4;margin:12mm}
  body{background:white}.no-print,dialog{display:none!important}
  #print-area{display:block}
  .befehl table{page-break-inside:auto}.befehl tr{page-break-inside:avoid}
  @page{margin:10mm}.befehl{font-size:11px}.befehl h1{font-size:19px}.befehl h2{margin:10px 0 4px;font-size:13px}.befehl table td,.befehl table th{padding:3px 5px;font-size:11px}.befehl-head{padding-bottom:6px;margin-bottom:8px}.signatures{margin-top:16px;page-break-inside:avoid}.signatures div{min-height:42px}.footer{margin-top:8px}
  .befehl table th{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* LP_BP_V1 */
.bp-link-box{margin:8px 0;padding:8px 12px;border:1px solid #c9daea;background:#eef4fb;border-radius:8px;font-size:14px}.bp-link-box a{margin-left:8px}

/* LP_STAFF_V1 / LP_PAD_V1 */
.lp-staff{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.lps-row{display:grid;grid-template-columns:200px 80px minmax(0,1fr);gap:8px;align-items:center}
.lps-row .lps-role{font-weight:600}.lps-row input{padding:7px 9px;border:1px solid #c9d3dc;border-radius:6px;font:inherit}
@media (max-width:700px){.lps-row{grid-template-columns:1fr 70px}.lps-row .lps-names{grid-column:1/-1}}
.lp-pad{border:1px solid #ecd9a0;background:#fffbef;border-radius:8px;padding:8px 12px;margin:10px 0}.lp-pad summary{cursor:pointer;font-weight:700}
#lp-pad-c{max-height:40vh;overflow:auto;display:flex;flex-direction:column;gap:8px;margin-top:6px;font-size:13.5px}
.pad-n{border-left:3px solid #d4a106;padding-left:8px}.pad-t{white-space:pre-wrap;max-height:24vh;overflow:auto}.pad-s{color:#9a2b2b}.pad-w div{margin-top:2px}.mono{font-family:ui-monospace,Consolas,monospace}

/* LP_SIMPLE_V1 */
body.lp-simple .zug-only{display:none!important}

/* LP_SEASON_V1 / LP_LOK_V1 */
.lp-season{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px}.lp-season>span{font-weight:600;color:#5f7a8e}
.lp-season button{border:1px solid #c9d3dc;background:#fff;border-radius:6px;padding:6px 10px;cursor:pointer;font:inherit}.lp-season button[aria-pressed=true]{background:#20384e;color:#fff;border-color:#20384e}
.lp-season small{color:#5f7a8e}.lp-pause{display:inline-flex!important;flex-direction:row!important;gap:6px;align-items:center;font-weight:400}
#lp-loksel{width:100%}
.lp-season .lp-pause{width:auto!important;white-space:nowrap;margin:0}.lp-season .lp-pause input{width:auto!important;min-width:0;margin:0}

/* LP_RA_V1 */
.ra-box{border:1px solid #d9cdee;background:#f7f2fd;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.ra-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px}.ra-grid label{display:flex;flex-direction:column;gap:4px}
.ra-tasks{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center}.ra-tasks small{flex-basis:100%;font-weight:700;color:#5f7a8e}.ra-t{display:inline-flex!important;flex-direction:row!important;gap:6px;align-items:center;font-weight:400}.ra-t input{width:auto!important}
body:not(.lp-simple) .ra-only{display:none!important}
@media (max-width:800px){.ra-grid{grid-template-columns:1fr 1fr}}

/* GL_SIDE – Gleisbelegung in der Seitenleiste */
.lp-gl{margin-top:18px;border:1px solid #d9e2ec;border-radius:12px;background:#f8fafc;padding:10px 12px}
.lp-gl>summary{cursor:pointer;font-weight:700;font-size:14px}.lp-gl>summary small{font-weight:400;color:#64748b}
.lp-gl-tools{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:8px 0;font-size:12px}
.lp-gl-tools button{font-size:12px;padding:3px 8px}
#lp-gl{display:grid;gap:8px}
.lp-gl-t{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #94a3b8;border-radius:8px;padding:7px 9px;font-size:12px}
.lp-gl-t.ok{border-left-color:#16a34a}.lp-gl-t.bad{border-left-color:#dc2626;background:#fef2f2}
.lp-gl-h{display:flex;justify-content:space-between;gap:6px;align-items:baseline}.lp-gl-h b{font-size:13px;overflow-wrap:anywhere}
.lp-gl-h span{font-size:11px;font-weight:700;white-space:nowrap}.lp-gl-t.ok .lp-gl-h span{color:#15803d}.lp-gl-t.bad .lp-gl-h span{color:#b91c1c}.lp-gl-t.open .lp-gl-h span{color:#64748b}
.lp-gl-bar{height:5px;background:#e2e8f0;border-radius:3px;margin:5px 0 3px;overflow:hidden}.lp-gl-bar i{display:block;height:100%;background:#16a34a}.lp-gl-t.bad .lp-gl-bar i{background:#dc2626}
.lp-gl-t ul{margin:5px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:3px 6px}.lp-gl-t li{background:#eef2f7;border-radius:5px;padding:1px 6px}
.lp-gl-t .muted{margin:4px 0 0;font-size:11px}.lp-gl-n{margin:4px 0 0;color:#475569;font-style:italic}
@media print{.lp-gl{display:none}}

/* ST_V1 – Standorte Loks & Wagen */
#lp-st{display:grid;gap:8px;margin-top:8px}
.lp-st-r{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #2563eb;border-radius:8px;padding:6px 7px;display:grid;gap:4px;font-size:12px}
.lp-st-r.done{opacity:.55;border-left-color:#16a34a}
.lp-st-r input:not([type=checkbox]){font-size:12px;padding:4px 6px;min-width:0;width:100%;box-sizing:border-box}
.lp-st-l1{display:grid;grid-template-columns:46px minmax(0,1fr);gap:4px}.lp-st-l1 [data-stf=what]{font-weight:700}
.lp-st-l2{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px;align-items:center}
.lp-st-l3{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.lp-st-l3 label{display:flex;gap:4px;align-items:center;font-size:11px;color:#475569}
.lp-st-l3 input[type=date]{width:auto!important;font-size:11px}
.lp-st-ok{margin-left:auto}.lp-st-del{font-size:11px;padding:2px 6px;color:#b91c1c}
.lp-st-n{font-size:11px!important;color:#475569}
.lp-st-showdone{display:flex;gap:4px;align-items:center;font-size:11px;color:#64748b}
.lp-st-l3 label{flex-direction:row!important;white-space:nowrap;margin:0}
.lp-st-l3 input[type=checkbox],.lp-st-showdone input{width:auto!important;margin:0}
.lp-st-showdone{flex-direction:row!important}

/* HANDOVER_V1 */
#trains .lp-hand{font-weight:600;border-radius:5px;padding:2px 6px;margin-top:3px;display:block;line-height:1.3}
#trains .lp-hand.ok{color:#15803d;background:#dcfce7}
#trains .lp-hand.bad{color:#b91c1c;background:#fee2e2}
#trains [aria-pressed=true] .lp-hand.ok{color:#bbf7d0;background:rgba(22,163,74,.25)}
#trains [aria-pressed=true] .lp-hand.bad{color:#fecaca;background:rgba(220,38,38,.3)}
/* RICH_V1 */
.rt-wrap{display:flex;flex-direction:column;gap:4px;grid-column:1/-1}
.rt-wrap>span[data-lbl]{font-weight:700;font-size:13px}
.rt-bar{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.rt-bar button{min-width:30px;padding:3px 8px;border:1px solid #c9d3dd;border-radius:6px;background:#fff;cursor:pointer;font-size:13px}
.rt-bar small{color:#6b7785;margin-left:4px}
.rt-bar .rt-by{background:#fff176}.rt-bar .rt-bg{background:#b9f6ca}.rt-bar .rt-br{color:#c62828;font-weight:700}
textarea.rt-area{min-height:220px;resize:vertical;width:100%;box-sizing:border-box;line-height:1.45}
