*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:#f2f5f8;color:#20384e;font:15px Arial,sans-serif}header{background:white;padding:22px 32px;display:flex;justify-content:space-between;border-bottom:1px solid #d2e0ea}header a{font-weight:bold;color:#20384e;text-decoration:none}main{max-width:1600px;margin:auto;padding:28px 32px}h1{font-size:30px}.eyebrow{font-size:12px;letter-spacing:2px;color:#647e92}a{color:#235c88}button,input,select{font:inherit;color:#20384e;padding:11px;background:white;border:1px solid #c6d5e0;border-radius:5px}button{cursor:pointer}button:hover{background:#e4edf4}button:disabled{opacity:.5;cursor:default}.primary{background:#20384e;color:white}.primary:hover{background:#365d79}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:bold}.toolbar{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:20px 0}.project-label{min-width:380px;max-width:80%}.card{background:white;border:1px solid #d5e1eb;border-radius:8px;padding:22px;margin:22px 0}#folders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}#folders button{text-align:left;font-size:20px;font-weight:bold;padding:22px;border-top:4px solid #c89a37}#folders button[aria-pressed=true]{background:#20384e;color:white}.upload,.document,.viewer-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.upload p{color:#647c90;font-size:13px}.upload label{max-width:380px}.document{padding:20px 0;border-top:1px solid #dbe5ed}.document h3{margin:0 0 8px}.document small{color:#668092}.document-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.document-actions a,.document-actions button{font-size:13px}.versions{font-size:13px;margin:7px 0}#mark-status{font-size:13px}#color{height:41px;min-width:55px;padding:4px}#canvas-scroll{overflow:auto;background:#d9e1e7;padding:14px;max-height:78vh}#page-stage{position:relative;background:white;width:max-content}#pdf-canvas{display:block}#mark-layer{position:absolute;left:0;top:0;touch-action:none;cursor:crosshair}#viewer p{font-size:13px;color:#587489}#status{white-space:pre-line}#viewer{scroll-margin-top:12px}.empty{padding:20px;color:#637f92}@media(max-width:750px){main{padding:18px}#folders{grid-template-columns:1fr}.upload,.document{flex-direction:column;align-items:stretch}.project-label{min-width:0;max-width:100%;width:100%}.upload label{max-width:100%}}

/* PROJECT_PLAN_TRASH_V1 */
.plan-trash-toggle{display:flex;flex-direction:row;align-items:center;gap:9px;margin:18px 0;color:#617d91}.plan-trash-toggle input{width:auto}.document-actions .plan-delete{color:#b22c40;border-color:#dbacb4}.plan-trash-row{background:#f5f7f9}.plan-trash-badge{font-size:13px;color:#80642c;margin:8px 0}

/* INTERVALL_IMPORT_PLANS_V1 – Dossier / BAB in Projektplänen (Stile aus plan-neu.css) */
#folders{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){#folders{grid-template-columns:repeat(2,minmax(0,1fr))}}
.intervals-card .intervals-hint{margin:0 0 8px;color:#475569}.intervals-card a{color:#1f3b57;font-weight:bold}
.interval-import-dialog label,.sperrung-copy-dialog label{flex-direction:row;align-items:center;gap:6px;font-weight:normal}.interval-import-dialog button,.sperrung-copy-dialog button{cursor:pointer}
.sperrung-copy-dialog { max-width:min(560px,94vw); border:1px solid #9fb0bd; border-radius:10px; padding:16px; }
.sperrung-copy-dialog h2 { margin:0 0 6px; font-size:18px; }
.sperrung-copy-range,.sperrung-copy-weekdays { display:flex; flex-wrap:wrap; gap:10px; margin:10px 0; }
.sperrung-copy-days { display:grid; gap:4px; max-height:240px; overflow:auto; margin:8px 0; }
.sperrung-copy-actions { display:flex; justify-content:flex-end; gap:8px; }
/* INTERVALL_IMPORT_V1 – Dossier / BAB */
.interval-import-open{margin-left:8px;padding:5px 10px;border:1px solid #1f3b57;border-radius:6px;background:#fff;color:#1f3b57;font-weight:600;cursor:pointer}
.interval-import-open:hover{background:#eef3f8}
.sperrung-source{display:inline-block;margin-top:3px;padding:1px 6px;border-radius:4px;font-size:11px;font-style:normal;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.sperrung-source.source-dossier{background:#fff;color:#6b4e00;border:1px dashed #b38a00}
.sperrung-source.source-bab{background:#1f6b3a;color:#fff;border:1px solid #1f6b3a}
.interval-import-dialog{width:min(1100px,96vw)}
.interval-import-source .source-dossier{border:1px dashed #b38a00}
.interval-import-source .source-bab{border:1px solid #1f6b3a}
.interval-import-scroll{max-height:48vh;overflow:auto;border:1px solid #d6dde5;border-radius:6px;margin:8px 0}
.interval-import-table{width:100%;border-collapse:collapse;font-size:12px}
.interval-import-table th{position:sticky;top:0;background:#1f3b57;color:#fff;text-align:left;padding:5px 6px}
.interval-import-table td{padding:4px 6px;border-top:1px solid #e3e8ee;vertical-align:top}
.interval-import-table td small{display:block;color:#555}
.interval-import-table tr.kind-sperrung td:first-child{box-shadow:inset 4px 0 #c02b36}
.interval-import-table tr.kind-sperrung{background:#fde4e5}
.interval-import-table tr.kind-fahrleitung td:first-child{box-shadow:inset 4px 0 #e0b100}
.interval-import-table tr.kind-fahrleitung{background:#fff6cc}
.interval-import-table tr.is-removed{text-decoration:line-through;opacity:.7}
.interval-import-warnings{font-size:12px;color:#7a4a00;margin:6px 0}
@media print{.interval-import-open{display:none!important}.sperrung-source{border:1px solid #555!important;background:#fff!important;color:#000!important}}.interval-import-meta{margin:4px 0;font-size:12px;color:#1f3b57;font-weight:600}

/* INTERVALL_DIFF_V1 */
.interval-import-diff{border:1px solid #cfd8e3;border-radius:8px;padding:8px 12px;margin:8px 0;background:#f8fafc}
.interval-import-diff .diff-totals{margin:0 0 6px}
.interval-import-diff section{margin:6px 0;padding:4px 8px;border-left:4px solid #94a3b8;background:#fff}
.interval-import-diff section.diff-new{border-left-color:#16a34a}
.interval-import-diff section.diff-changed{border-left-color:#d97706}
.interval-import-diff section.diff-missing{border-left-color:#dc2626}
.interval-import-diff h3{margin:2px 0 4px;font-size:13px}
.interval-import-diff ul{margin:0;padding-left:18px;max-height:220px;overflow:auto}
.interval-import-diff li{margin:2px 0;font-size:12px}
.interval-import-diff li div{color:#334155}
.interval-import-diff .diff-none{margin:4px 0;color:#166534;font-weight:600}
.interval-import-days>summary{cursor:pointer;margin:6px 0;font-weight:600}
.interval-import-table td small{display:block;color:#475569}
.interval-import-table tr.state-unchanged{opacity:.7}
.interval-import-table tr.state-missing td:first-child{color:#b91c1c;font-weight:600}
.interval-overview .interval-log-title{margin:16px 0 6px;font-size:15px}
.interval-log{margin:0;padding-left:20px}
.interval-log li{margin:4px 0}
.interval-log summary{cursor:pointer}
.interval-log pre{white-space:pre-wrap;font:12px/1.4 inherit;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px;margin:4px 0}
@media print{.interval-import-open{display:none}}
.interval-current{border:1px solid #cbd5e1;border-left:6px solid #94a3b8;border-radius:8px;padding:8px 12px;margin:8px 0;background:#fff}
.interval-current.is-dossier{border-left-color:#f59e0b;background:#fffbeb}
.interval-current.is-bab{border-left-color:#16a34a;background:#f0fdf4}
.interval-current p{margin:2px 0}
.interval-current pre{white-space:pre-wrap;font:12px/1.4 inherit;max-height:320px;overflow:auto;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:8px;margin:4px 0}

/* IMPORT_DELETE_V1 */
.interval-delete{padding:3px 9px;border:1px solid #b91c1c;border-radius:6px;background:#fff;color:#b91c1c;font-size:12px;font-weight:bold;cursor:pointer}
.interval-delete:hover{background:#fee2e2}
.sperrung-source.source-deleted{background:#fff;color:#b91c1c;border:1px solid #b91c1c}
.interval-log li.is-deleted>details>summary{color:#64748b}
.interval-deleted-badge{margin-left:6px;padding:1px 6px;border-radius:4px;background:#fee2e2;color:#991b1b;font-size:11px;font-style:normal;font-weight:bold}
/* TRACK_MAP_V1: Dossier / BAB im SA-Plan */
.track-panel{border:1px solid #d6dbe3;border-radius:8px;padding:8px 10px;margin:8px 0;background:#f8fafc}.track-panel .toolbar{margin:4px 0}.track-key{display:inline-flex;gap:6px;align-items:center;font-size:.9em}.swatch-red,.swatch-yellow{display:inline-block;width:18px;height:10px;border-radius:2px;vertical-align:middle;margin-right:4px}.swatch-red{background:#dc2626}.swatch-yellow{background:#facc15;border:1px solid #ca8a04}.track-list p{margin:4px 0;font-size:.9em}.track-chip{display:inline-block;background:#dbeafe;color:#1e3a8a;border-radius:10px;padding:1px 8px;margin:2px}.track-chip button{border:0;background:none;color:#b91c1c;cursor:pointer;padding:0 2px}.track-open{color:#92400e}.track-legend h3{margin:6px 0 4px;font-size:1em}.track-legend ul{margin:0;padding-left:4px;list-style:none;font-size:.9em}.track-legend li{margin:2px 0}

/* QUICK_MARK_V1 */
.quick-mark{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:6px 8px}.quick-mark .hint{font-size:.85em;color:#555}.quick-mark button{font-weight:600}.quick-mark .mark-red{border:2px solid #dc2626;color:#991b1b}.quick-mark .mark-yellow{border:2px solid #ca8a04;color:#713f12}.quick-mark .mark-red[aria-pressed=true]{background:#dc2626;color:#fff}.quick-mark .mark-yellow[aria-pressed=true]{background:#facc15;color:#000}.quick-mark #mark-erase[aria-pressed=true]{background:#334155;color:#fff}

.switch-list h3{margin:8px 0 4px;font-size:1em}.switch-list ul{margin:0;padding:0;list-style:none;font-size:.9em}.switch-list li{margin:3px 0}.track-toggle{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:6px;max-width:320px}.track-toggle input{width:auto;padding:0}

.switch-hint{margin:5px 0;color:#526373;font-size:.85em}
.interval-import-table tr.kind-zugpausen,.interval-import-table tr.kind-zugpausen td,.track-legend li.kind-zugpausen{background:#dbeafe;color:#1e3a8a}
.interval-import-table tr.kind-zugpausen td:first-child{box-shadow:inset 4px 0 #2563eb}
.swatch-blue{display:inline-block;width:12px;height:12px;background:#2563eb;margin:0 4px;vertical-align:middle}
.interval-delete-all{padding:7px 14px;font-size:14px;margin-left:6px}

/* BAB_STUFEN_V2: Import-Dialog aufgeräumt */
.interval-import-dialog .iv-lead{margin:2px 0 8px;color:#334155}
.iv-colors{display:inline-flex;gap:10px;margin-left:6px;font-size:13px;color:#475569;align-items:center;flex-wrap:wrap}.iv-colors i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:3px;vertical-align:-1px}
.iv-colors .c-sp{background:#fca5a5}.iv-colors .c-fl{background:#fde68a}.iv-colors .c-zp{background:#93c5fd}
.iv-help{margin:0 0 10px;font-size:13px;color:#475569}.iv-help summary{cursor:pointer;color:#1f3a52;font-weight:600}
.interval-import-source{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important;margin:8px 0}
.interval-import-source label{display:flex!important;gap:8px;align-items:center;border-radius:10px!important;padding:8px 10px!important;cursor:pointer;background:#fff}
.interval-import-source label span{display:grid;line-height:1.2}.interval-import-source label small{font-size:11.5px;color:#64748b}
.interval-import-source .source-dossier{border:1.5px dashed #b38a00!important}
.interval-import-source .source-babe{border:1.5px dashed #1f6b3a!important}
.interval-import-source .source-bab{border:1.5px solid #1f6b3a!important}
.interval-import-source label:has(input:checked){box-shadow:0 0 0 3px rgba(31,107,58,.18);background:#f0fdf4}
.interval-import-source .source-dossier:has(input:checked){background:#fffbeb;box-shadow:0 0 0 3px rgba(179,138,0,.18)}
@media(max-width:560px){.interval-import-source{grid-template-columns:1fr}}
.interval-import-meta{display:flex;flex-wrap:wrap;gap:5px;align-items:center;font-weight:400!important}
.interval-import-meta span{background:#eef3f8;border:1px solid #d6e1ea;border-radius:10px;padding:1px 8px;font-size:12px;color:#1f3a52}
.interval-import-meta .iv-draft{background:#fef3c7;color:#92400e;border-radius:10px;padding:1px 8px;font-size:12px}
.interval-import-meta small{flex-basis:100%;color:#64748b;font-size:11.5px}
.sperrung-source.source-bab.is-draft{border-style:dashed!important;background:#ecfdf5!important;color:#1f6b3a!important}

/* BAB_DAYSTAMP_V2: Stempel liegt AUF dem Plan (schwebt mit beim Scrollen) – für Ausschnitt kopieren / drucken */
.day-badge{position:sticky;top:10px;left:10px;z-index:5;width:max-content;max-width:calc(100% - 20px);height:0;overflow:visible;pointer-events:none}
.day-in{display:inline-block;padding:6px 12px;background:rgba(255,255,255,.96);border:3px solid #dc2626;color:#b91c1c;font-weight:700;font-size:18px;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.day-in b{display:block}.day-key{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:4px;font-size:13px;font-weight:500;color:#111}.day-key i{display:inline-block;width:22px;height:8px;margin-right:6px;vertical-align:middle;border-radius:2px}
