/* Projektplanung – eigene, helle Arbeitsfläche (unabhängig vom Theme), feste Gantt-Farben */
.pp-app{--pp-bg:#fff;--pp-tx:#1c212c;--pp-mut:#5f6675;--pp-ln:#dde2ea;--pp-soft:#f4f6f9;--pp-acc:#1d4ed8;--pp-blau:#3b6ed6;--pp-blau-d:#1e408c;--pp-rot:#d63638;--pp-rot-d:#8c181c;--pp-phase:#2c3240;--pp-basis:#a8aeba;--pp-rh:30px;
  background:var(--pp-bg);color:var(--pp-tx);border:1px solid var(--pp-ln);border-radius:10px;padding:14px;font:14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;box-sizing:border-box;max-width:100%;overflow:hidden}
.pp-app *,.pp-dlg *{box-sizing:border-box}
.pp-app [hidden],.pp-dlg [hidden]{display:none!important}
.pp-app a{color:var(--pp-acc)}
.pp-laden{color:var(--pp-mut)}
:is(.pp-app,.pp-dlg) .pp-btn{display:inline-flex!important;align-items:center;gap:6px;height:34px!important;min-height:0!important;padding:0 12px!important;margin:0!important;border:1px solid #dde2ea!important;border-radius:7px!important;background:#fff!important;color:#1c212c!important;font:inherit;font-size:13.5px!important;line-height:1!important;cursor:pointer;white-space:nowrap;text-decoration:none!important;box-shadow:none!important;text-transform:none!important;letter-spacing:normal!important;width:auto!important}
:is(.pp-app,.pp-dlg) .pp-btn:hover{background:#f4f6f9!important}
:is(.pp-app,.pp-dlg) .pp-btn:disabled{opacity:.45;cursor:default;background:#fff!important}
:is(.pp-app,.pp-dlg) .pp-btn-p{background:#1d4ed8!important;border-color:#1d4ed8!important;color:#fff!important}
:is(.pp-app,.pp-dlg) .pp-btn-p:hover{background:#1a43b8!important}
:is(.pp-app,.pp-dlg) .pp-btn-d{color:#b32d2e!important;border-color:#e6b4b4!important}
:is(.pp-app,.pp-dlg) .pp-btn-s{height:28px!important;padding:0 9px!important;font-size:13px!important}
.pp-btn svg{width:16px;height:16px;flex:0 0 auto}
.pp-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px}
.pp-bar .pp-sp{flex:1 1 auto}
.pp-sep{width:1px;height:24px;background:var(--pp-ln);margin:0 2px}
.pp-h{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;margin:0 0 10px}
.pp-h h3{margin:0;font-size:20px;line-height:1.25;color:var(--pp-tx)}
.pp-h .pp-mut{font-size:13px}
.pp-mut{color:var(--pp-mut)}
.pp-zurueck{font-size:13px;text-decoration:none}
.pp-msg{padding:9px 12px;border-radius:8px;margin:0 0 10px;font-size:13.5px}
.pp-msg-e{background:#fdecec;color:#8a1f1f;border:1px solid #f3c2c2}
.pp-msg-i{background:#eef3ff;color:#1e3a8a;border:1px solid #c9d7fb}
.pp-badge{display:inline-block;padding:1px 7px;border-radius:10px;font-size:11.5px;background:var(--pp-soft);color:var(--pp-mut);border:1px solid var(--pp-ln);white-space:nowrap}
.pp-badge-r{background:#fdecec;color:#a11d1f;border-color:#f3c2c2}
.pp-badge-o{background:#fff4e0;color:#8a5300;border-color:#f3d7a6}
.pp-prog{position:relative;height:8px;border-radius:4px;background:#e6e9f0;overflow:hidden;min-width:60px}
.pp-prog i{position:absolute;left:0;top:0;bottom:0;background:var(--pp-blau)}

/* Übersicht */
.pp-tab{width:100%;border-collapse:collapse;font-size:13.5px}
.pp-tab th{text-align:left;font-weight:600;color:var(--pp-mut);font-size:12px;padding:7px 8px;border-bottom:1px solid var(--pp-ln);white-space:nowrap}
.pp-tab td{padding:8px;border-bottom:1px solid #eef0f4;vertical-align:middle}
.pp-tab tr.pp-klick{cursor:pointer}
.pp-tab tr.pp-klick:hover td{background:#f7f9fc}
.pp-tab .pp-r{text-align:right}
.pp-titel{font-weight:600}
.pp-leer{padding:26px;text-align:center;color:var(--pp-mut);border:1px dashed var(--pp-ln);border-radius:10px}

/* Plan: Tabelle + Gantt */
.pp-split{display:flex;border:1px solid var(--pp-ln);border-radius:8px;overflow:hidden;height:calc(100vh - 290px);min-height:380px}
.pp-grid{flex:0 0 auto;width:min(760px,58%);overflow:auto;border-right:2px solid var(--pp-ln);position:relative}
.pp-gantt{flex:1 1 auto;overflow:auto;position:relative;background:#fff}
.pp-grid table{border-collapse:separate;border-spacing:0;font-size:13px;width:max-content;min-width:100%}
.pp-grid th{position:sticky;top:0;z-index:2;background:#f1f3f7;height:44px;padding:0 6px;text-align:left;font-weight:600;font-size:12px;color:var(--pp-mut);border-bottom:1px solid var(--pp-ln);white-space:nowrap}
.pp-grid tr{height:var(--pp-rh)}
.pp-grid td{height:var(--pp-rh);line-height:1.2;padding:0 6px;border-bottom:1px solid #eef0f4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}
.pp-grid tr.pp-sel td{background:#e8efff}
.pp-grid tr.pp-krit td.pp-c-name,.pp-grid tr.pp-krit td.pp-c-d{color:var(--pp-rot-d)}
.pp-grid tr.pp-ph td{font-weight:600}
.pp-grid tr.pp-ph0 td.pp-c-name{font-weight:700}
.pp-grid td.pp-c-nr{color:var(--pp-mut);text-align:right;width:34px;font-size:12px}
.pp-grid td.pp-c-i{width:26px;padding:0 2px;text-align:center}
.pp-grid td.pp-c-wbs{color:var(--pp-mut);font-size:12px}
.pp-grid td.pp-c-name{min-width:220px;max-width:340px}
.pp-grid td.pp-c-r{text-align:right}
.pp-grid td.pp-ed{cursor:text}
.pp-grid td.pp-ed:hover{box-shadow:inset 0 0 0 1px #c9d4ea}
.pp-grid input,.pp-grid select,.pp-tab select{width:100%!important;height:24px!important;min-height:0!important;max-height:24px!important;line-height:1.1!important;padding:0 4px!important;box-shadow:none!important;border:1px solid var(--pp-acc);border-radius:4px;padding:0 4px;font:inherit;font-size:13px;background:#fff;color:var(--pp-tx);margin:0;min-width:0}
.pp-grid .pp-ein{display:inline-block}
.pp-tog{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;border:0;background:none;color:var(--pp-mut);cursor:pointer;padding:0;margin-right:2px;vertical-align:-3px}
.pp-tog svg{width:12px;height:12px}
.pp-ico{display:inline-flex;vertical-align:-3px;color:var(--pp-mut)}
.pp-ico svg{width:15px;height:15px}
.pp-ico-r{color:var(--pp-rot)}
.pp-pers{display:inline-flex;gap:2px}
.pp-pers b{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 4px;border-radius:10px;background:#e6ecf8;color:#24407a;font-size:11px;font-weight:600}
.pp-gantt svg{display:block}
.pp-gh{position:sticky;top:0;z-index:2;background:#f1f3f7;border-bottom:1px solid var(--pp-ln)}
.pp-bar-v{cursor:grab}
.pp-bar-v:active{cursor:grabbing}
.pp-zoomtabs{display:none}

/* Meine Vorgänge */
.pp-meine select{height:28px}

/* Dialoge */
.pp-dlg{position:fixed;inset:0;z-index:100000;background:rgba(15,23,42,.45);display:flex;align-items:flex-start;justify-content:center;padding:5vh 16px;overflow:auto;font:14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.pp-dlg-box{background:#fff;color:#1c212c;border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.3);width:100%;max-width:620px;padding:18px 20px}
.pp-dlg-box h4{margin:0 0 12px;font-size:17px;color:#1c212c}
.pp-dlg label.pp-l{display:block;font-size:12.5px;font-weight:600;color:#5f6675;margin:10px 0 4px}
.pp-dlg input[type=text],.pp-dlg input[type=date],.pp-dlg input[type=number],.pp-dlg select,.pp-dlg textarea{width:100%!important;height:36px!important;border:1px solid #cdd3de;border-radius:7px;padding:0 10px;font:inherit;background:#fff;color:#1c212c;margin:0}
.pp-dlg textarea{height:80px!important;padding:8px 10px;resize:vertical}
.pp-dlg .pp-reihe{display:flex;gap:10px;flex-wrap:wrap}
.pp-dlg .pp-reihe>*{flex:1 1 160px}
.pp-dlg .pp-knoepfe{display:flex;gap:8px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}
.pp-dlg .pp-knoepfe .pp-sp{flex:1}
.pp-dlg .pp-chk{display:inline-flex;align-items:center;gap:6px;margin:4px 14px 4px 0;font-size:13.5px;color:#1c212c}
.pp-dlg .pp-chk input{margin:0}
.pp-dlg table{width:100%;border-collapse:collapse;font-size:13.5px}
.pp-dlg td,.pp-dlg th{padding:5px 4px;border-bottom:1px solid #eef0f4;text-align:left}
.pp-dlg th{font-size:12px;color:#5f6675}
.pp-dlg .pp-liste{max-height:240px;overflow:auto;border:1px solid #e3e7ee;border-radius:8px;padding:6px 10px}
.pp-dlg .pp-info{font-size:12.5px;color:#5f6675;margin:6px 0 0}
.pp-dlg .pp-err{color:#a11d1f;font-size:13px;margin-top:8px}

@media (max-width:820px){
  .pp-app{padding:10px}
  .pp-split{height:calc(100vh - 230px)}
  .pp-split .pp-grid{width:100%;border-right:0}
  .pp-split.pp-zeige-gantt .pp-grid{display:none}
  .pp-split:not(.pp-zeige-gantt) .pp-gantt{display:none}
  .pp-zoomtabs{display:inline-flex}
  .pp-tab .pp-hide-m{display:none}
  .pp-btn .pp-lab{display:none}
}
@media print{.pp-bar,.pp-zurueck{display:none}.pp-split{height:auto}}
.pp-tab select{width:auto!important;min-width:84px}
