/* GESAMT_V1 */
main#gbp{max-width:1280px;margin:auto;padding:34px 32px 60px}
.back{color:#477769;text-decoration:none;font-weight:600;font-size:14px}
.lead{max-width:80ch}
.muted{color:#6e7e89}
.years{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 26px}
.years button{font-size:18px;font-weight:800;padding:12px 22px;border-radius:12px}
.years button[aria-pressed="true"]{background:#203a4b;color:#fff;border-color:#203a4b}
.years .add{font-size:15px;font-weight:600;color:#477769;border-style:dashed}
.imp{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:#fff;border:1px solid #dce3e8;border-radius:14px;padding:18px 22px}
.imp h2{margin:0;font-size:26px}
.imp p{margin:4px 0 0}
.btn{font:inherit;border:1px solid #cbd6dd;background:#fff;border-radius:8px;padding:10px 16px;cursor:pointer;color:#243c4b;text-decoration:none;display:inline-block;font-weight:600}
.btn.primary{background:#285944;color:#fff;border-color:#285944}
.btn.sm{padding:6px 11px;font-size:13px}
.status{min-height:1.4em;font-weight:600;color:#356552}
.status.err{color:#b42318}
.projects{display:grid;gap:16px}
.proj{background:#fff;border:1px solid #dce3e8;border-radius:14px;padding:18px 22px}
.proj-h{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.proj h3{margin:0;font-size:19px;color:#203a4b}
.proj .meta{font-size:13px;color:#6e7e89;margin-top:4px}
.proj .acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.proj select{font:inherit;padding:8px 10px;border:1px solid #cbd6dd;border-radius:8px;max-width:320px}
.proj details{margin-top:12px}
.proj summary{cursor:pointer;font-weight:600;color:#477769}
.blk{width:100%;border-collapse:collapse;margin-top:10px;font-size:14px}
.blk th{text-align:left;background:#f1f4f7;color:#4b5d6a;font-size:12px;letter-spacing:.04em;padding:7px 8px}
.blk td{border-bottom:1px solid #edf1f4;padding:7px 8px;vertical-align:top}
.blk td.d{white-space:nowrap;font-variant-numeric:tabular-nums;width:200px}
.tag{display:inline-block;font-size:12px;font-weight:700;padding:2px 8px;border-radius:10px;margin:0 4px 2px 0}
.tag.ja{background:#fde2e1;color:#9b1c1c}.tag.nein{background:#e6f4ea;color:#1e6b3a}.tag.aus{background:#fff1d6;color:#8a5a00}.tag.ein{background:#e7eef7;color:#284b74}.tag.res{background:#efe9f8;color:#5b3d8a}
.linked{font-size:13px;font-weight:700;color:#285944}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
@media(max-width:700px){main#gbp{padding:22px 16px}.blk td.d{width:auto}}
/* GESAMT_EDIT_V1 */
main#gbp.wide{max-width:none}
.bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 8px}
.seg{display:inline-flex;border:1px solid #cbd6dd;border-radius:10px;overflow:hidden}
.seg button{font:inherit;font-weight:700;border:0;background:#fff;padding:9px 16px;cursor:pointer;color:#243c4b}
.seg button+button{border-left:1px solid #cbd6dd}
.seg button[aria-pressed="true"]{background:#203a4b;color:#fff}
.chk{display:inline-flex;gap:7px;align-items:center;font-size:14px;color:#3d4f5c;cursor:pointer}
.months{display:flex;gap:4px;flex-wrap:wrap}
.months button{font:inherit;font-size:14px;font-weight:700;border:1px solid #cbd6dd;background:#fff;border-radius:8px;padding:6px 11px;cursor:pointer;color:#243c4b}
.months button small{display:inline-block;margin-left:5px;font-size:11px;background:#e6f0eb;color:#285944;border-radius:8px;padding:0 5px}
.months button[aria-pressed="true"]{background:#285944;border-color:#285944;color:#fff}
.months button[aria-pressed="true"] small{background:#fff}
.gridwrap{overflow:auto;max-height:calc(100vh - 150px);border:1px solid #cbd6dd;border-radius:10px;background:#fff}
table.xl{border-collapse:separate;border-spacing:0;font-size:13px}
table.xl th,table.xl td{border-right:1px solid #e2e8ed;border-bottom:1px solid #e2e8ed;padding:0}
table.xl thead th{position:sticky;top:0;z-index:3;background:#eef2f5;color:#33475a;font-weight:700;text-align:left}
table.xl thead tr+tr th{top:var(--h1,96px);font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:4px 6px}
table.xl .sd{position:sticky;left:0;z-index:2;background:#f7f9fa;min-width:92px;padding:0 8px;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600;color:#33475a}
table.xl .sp{position:sticky;left:var(--sdw,108px);z-index:2;background:#f7f9fa;min-width:96px}
table.xl thead .sd,table.xl thead .sp{z-index:4;background:#e4eaef;padding:6px 8px}
table.xl .sd .kw{display:block;font-size:10px;color:#477769;font-weight:800;letter-spacing:.06em;margin-top:3px}
table.xl th.ph{padding:6px 8px;border-left:2px solid #9fb3c0;min-width:600px;vertical-align:top}
table.xl .ph .pn{width:100%;font:inherit;font-size:14px;font-weight:800;color:#203a4b;border:1px solid transparent;background:transparent;border-radius:6px;padding:3px 5px}
table.xl .ph .pn:hover,table.xl .ph input:focus{border-color:#cbd6dd;background:#fff}
table.xl .pm,table.xl .pl{display:flex;gap:4px;align-items:center;margin-top:3px}
table.xl .pm input{font:inherit;font-size:12px;border:1px solid transparent;background:transparent;border-radius:5px;padding:2px 5px;flex:1;min-width:0;color:#4b5d6a}
table.xl .pm input.spd{flex:0 0 58px}
table.xl .pl select{font:inherit;font-size:12px;flex:1;min-width:0;padding:3px 5px;border:1px solid #cbd6dd;border-radius:6px;background:#fff}
table.xl .pl a{font-weight:800;text-decoration:none;color:#285944;padding:2px 6px}
table.xl .x{border:0;background:none;color:#8a99a4;cursor:pointer;font:inherit;font-size:12px;border-radius:5px;padding:2px 6px}
table.xl .x:hover{background:#fde2e1;color:#9b1c1c}table.xl .x.armed{background:#b42318;color:#fff}
table.xl td input{display:block;width:100%;box-sizing:border-box;font:inherit;border:0;background:transparent;padding:5px 6px;color:#1f2f3a;outline:none}
table.xl td input:focus{background:#fff;box-shadow:inset 0 0 0 2px #285944}
table.xl td.c-text{min-width:330px;border-left:2px solid #9fb3c0}
table.xl td.c-bab,table.xl td.c-fl{width:62px;min-width:62px}
table.xl td.c-bab input,table.xl td.c-fl input{text-align:center;font-weight:700}
table.xl th.st{border-left:2px solid #9fb3c0}
table.xl tr.we td,table.xl tr.we th.sd,table.xl tr.we td.sp{background:#f1f3f5}
table.xl tr.mon td,table.xl tr.mon th{border-top:2px solid #b8c6d0}
table.xl tr.today th.sd{background:#285944;color:#fff}
table.xl tr.today th.sd .kw{color:#cfe6da}
table.xl td.v-ja{background:#fde2e1!important}table.xl td.v-ja input{color:#9b1c1c}
table.xl td.v-nein{background:#e6f4ea!important}table.xl td.v-nein input{color:#1e6b3a}
table.xl td.v-aus{background:#fff1d6!important}table.xl td.v-aus input{color:#8a5a00}
table.xl td.v-ein{background:#e7eef7!important}table.xl td.v-ein input{color:#284b74}
table.xl td.v-cont input{color:#7b8a95;font-style:italic}
table.xl td.sel{background:#d7ece1!important}
table.xl .addc{min-width:110px;padding:6px;vertical-align:top;background:#fbfcfd}
.gridwrap .empty{padding:30px}
.gridwrap>p.muted{padding:10px 14px;margin:0}
.keys{font-size:12.5px;margin-top:8px}
@media(max-width:700px){table.xl th.ph{min-width:300px}table.xl td.c-text{min-width:200px}table.xl .sp{position:static}}
.bar .chk{display:inline-flex!important;flex-direction:row!important;gap:8px;margin:0;font-weight:600;white-space:nowrap}
.bar .chk input{width:auto!important;height:auto;margin:0;flex:none}
main#gbp.wide .lead{margin-bottom:6px}
table.xl input,table.xl select{margin:0}
/* GESAMT_RES_V1 */
table.xl thead th.sr{text-transform:none;letter-spacing:0;padding:3px 4px;font-size:10.5px;color:#5b3d8a;background:#f3eff9}
table.xl thead th.sr span{display:block;text-transform:uppercase;letter-spacing:.04em}
table.xl thead th.sr input{width:72px;font:inherit;font-size:12px;font-weight:700;color:#5b3d8a;border:1px solid #d9cdee;border-radius:5px;padding:2px 4px;background:#fff}
table.xl td.c-r1,table.xl td.c-r2{width:80px;min-width:80px}
table.xl td.c-r1 input,table.xl td.c-r2 input{text-align:center}
table.xl td.v-res{background:#efe9f8!important}table.xl td.v-res input{color:#5b3d8a;font-weight:700}
/* GESAMT_YEAR_V1 */
.yv{background:#fff;border:1px solid #cbd6dd;border-radius:10px;overflow-x:auto}
.yv .yhead,.yv .yr,.yv .ybg{display:grid;grid-template-columns:230px minmax(0,1fr);min-width:1130px}
.yv .yt{min-width:0;overflow:hidden}
.yg{position:relative}.yg>*{position:absolute;top:0;bottom:0;min-width:0;box-sizing:border-box}
.yv .yhead{position:sticky;top:0;background:#eef2f5;z-index:3;border-bottom:1px solid #cbd6dd}
.yv .ybody{position:relative}
.yv .ybg{position:absolute;inset:0;pointer-events:none}
.yv .ybg .yt{position:relative}
.yg.bg{height:100%}
.yg.bg i{background:#f3f5f7}
.yg.bg .ytoday{background:#b42318;width:2px;z-index:2}
.yg.months{height:28px}.yg.weeks{height:17px}.yg.months .ym{font:inherit;font-size:12px;font-weight:800;color:#203a4b;background:none;border:0;border-left:1px solid #b8c6d0;padding:6px 4px;text-align:left;cursor:pointer;border-radius:0;margin:0}
.yg.months .ym:hover{background:#dfe7ec}
.yg.weeks{font-size:9.5px;color:#6e7e89;border-top:1px solid #dce3e8}
.yg.weeks .yw{border-left:1px solid #e2e8ed;padding:2px 0 2px 2px;overflow:hidden;white-space:nowrap}
.yv .yl{padding:6px 10px;border-right:1px solid #dce3e8;min-width:0;position:sticky;left:0;background:#fff;z-index:2}
.yv .yhead .yl{background:#eef2f5}
.yv .yl b{display:block;font-size:12.5px;color:#203a4b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.yv .yl small{display:block;font-size:11px;color:#6e7e89;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.yv .yl small a{color:#285944;font-weight:700;text-decoration:none}
.yv .yr{border-bottom:1px solid #edf1f4;position:relative}
.yv .yr .yt{padding:6px 0 4px;display:flex;flex-direction:column;gap:2px;position:relative;z-index:1}
.yg.bars{height:22px}
.yb{min-width:0;top:0;font:inherit;font-size:10.5px;font-weight:700;color:#fff;border:0;border-radius:4px;margin:0 .5px;padding:0 4px;height:20px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;min-width:2px}
.yb:hover{filter:brightness(1.12);outline:2px solid #203a4b}
.k-umbau{background:#203a4b}.k-schweiss{background:#c2410c}.k-stopf{background:#65a30d}.k-vorb{background:#6b9ac4}.k-rueck{background:#8a99a4}.k-div{background:#0f766e}
.yg.marks{height:5px}
.m-bab{background:#d92d20;border-radius:2px}.m-fl{background:#f0a400;border-radius:2px}.m-res{background:#7c5cc4;border-radius:2px}
.yr.load{background:#fafbfc}
.yg.lg{height:34px}.yg.lg span{top:auto!important}
.yg.lg span{background:#9fb3c0;border-radius:1px 1px 0 0;margin:0 .3px}
.yg.lg span.hi{background:#b42318}
.ylegend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px;font-size:12.5px;color:#3d4f5c;align-items:center}
.ylegend span{display:inline-flex;align-items:center;gap:6px}
.ylegend i{display:inline-block;width:18px;height:10px;border-radius:3px;padding:0}
.yb{height:22px;border-radius:6px;font-size:11px;padding:0 6px}
.yv .yl b{white-space:normal;overflow:visible}
.yv .yhead,.yv .yr,.yv .ybg{grid-template-columns:280px minmax(0,1fr)}
/* GESAMT_PRINT_V1 */
.yprint{display:flex;align-items:center;gap:14px;margin:4px 0 10px}
.yprint h2{margin:0;font-size:20px;color:#203a4b}
.yprint .pdate{color:#6e7e89;font-size:13px;flex:1}
@media print{
  @page{size:A4 landscape;margin:9mm}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  :root,html,body{background:#fff!important}
  header,.back,.eyebrow,#gbp>h1,.lead,.years,.imp,.bar,#status,.ylegend,[data-yprint],#grid-view,#projects{display:none!important}
  main#gbp{padding:0!important;max-width:none}
  .yprint{margin:0 0 6px}
  .yv{overflow:visible;border:1px solid #cbd6dd}
  .yv .yhead,.yv .yr,.yv .ybg{min-width:0;grid-template-columns:190px minmax(0,1fr)}
  .yv .yhead{position:static}
  .yv .yr{break-inside:avoid}
  .yv .yl{position:static;padding:3px 8px}
  .yv .yl b{font-size:10.5px}.yv .yl small{font-size:9.5px}
  .yv .yl small a{display:none}
  .yg.weeks{font-size:7px}
  .yg.bars,.yb{height:15px}
}
