/* metaSchedule · ergänzt metaos.css (gleiche Farben, Abstände, Schrift). Klassen mit Präfix ms-. */
.ms-werkzeug{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ms-werkzeug form{margin:0}
.ms-voll{flex-basis:100%;width:100%}
.ms-voll textarea,.formular textarea{width:100%}
.formular.senkrecht{margin-bottom:12px}
.ms-felder{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:14px 16px;align-items:flex-end;width:100%}
.ms-trenner{font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#8E8E93;
  border-top:1px solid var(--linie);padding-top:10px}
.ms-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}
.ms-leiste-sub{color:var(--text2);font-weight:400;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.leiste nav a.aktiv .ms-leiste-sub{color:rgba(0,0,225,.6)}
.ms-dienste{display:flex;flex-direction:column;gap:4px;margin:12px 10px}
.ms-dienst{font-size:11.5px;color:var(--text2);display:flex;align-items:center;gap:6px}
.ms-dienst::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--p-grau)}
.ms-dienst.an::before{background:var(--p-buero)}

.ms-budget{display:flex;flex-direction:column;gap:4px;margin:0 10px 10px;padding:8px 10px;border-radius:9px;
  background:var(--fuellung);color:var(--text2)!important;font-size:11.5px}
.ms-budget:hover{text-decoration:none;background:var(--blau-flaeche)}
.ms-budget-kopf{display:flex;justify-content:space-between;gap:8px}
.ms-budget-kopf b{color:var(--text);font-variant-numeric:tabular-nums}
.ms-budget-balken{height:4px;border-radius:999px;background:var(--linie);overflow:hidden}
.ms-budget-balken i{display:block;height:100%;border-radius:999px;background:var(--p-buero)}
.ms-budget-sub{color:var(--text2)}
.ms-budget.knapp{background:#FFF4E5}
.ms-budget.knapp .ms-budget-kopf b{color:var(--orange)}
.ms-budget.knapp .ms-budget-balken i{background:var(--orange)}
.ms-budget.erschoepft{background:#FFF5EF;box-shadow:0 0 0 1px rgba(201,52,0,.25)}
.ms-budget.erschoepft .ms-budget-kopf b{color:var(--rot)}
.ms-budget.erschoepft .ms-budget-balken i{background:var(--rot)}

/* Tabellen, Karten, Marken */
.ms-tabelle{margin-bottom:14px}
.ms-tabelle tr:last-child td{border-bottom:none}
.ms-zeile-link{cursor:pointer}.ms-zeile-link:hover td{background:var(--fuellung)}
.ms-karten{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-bottom:10px}
.ms-karte{position:relative;display:flex;flex-direction:column;gap:3px;background:var(--flaeche);border-radius:16px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 0 0 1px var(--linie);
  padding:14px 30px 13px 16px;color:var(--text)!important;font-size:14px;transition:box-shadow .15s,transform .15s}
.ms-karte::after{content:"";position:absolute;right:14px;top:50%;width:7px;height:7px;border:solid var(--text3);
  border-width:1.6px 1.6px 0 0;transform:translateY(-50%) rotate(45deg)}
.ms-karte:hover{text-decoration:none;box-shadow:0 4px 12px rgba(0,0,0,.07),0 0 0 1px var(--linie2)}
.ms-karte:hover::after{border-color:var(--blau)}
.ms-karte:active{transform:scale(.99)}
.ms-karte.gross{padding:18px 32px 16px 20px;font-size:15px}
.ms-karte .ms-marke{align-self:flex-start}
.ms-kuerzel{display:inline-block;font-weight:700;color:var(--text);font-size:13px;letter-spacing:.02em}
.ms-marke{display:inline-block;font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;background:var(--fuellung);color:var(--text2);
  vertical-align:middle;letter-spacing:.01em}
h1 .ms-marke{font-size:12px;vertical-align:6px}
.ms-marke.entwurf{background:#FFF4E5;color:var(--orange)}
.ms-marke.freigegeben,.ms-marke.erledigt{background:#E8F5EC;color:var(--gruen)}
.ms-marke.importiert{background:var(--fuellung);color:var(--text2)}
.ms-marke.neu,.ms-marke.metaos,.ms-marke.ergaenzung{background:var(--blau-flaeche);color:var(--blau)}
.ms-marke.ki{background:#F3EAFB;color:#8E3FC9}
.ms-hinweis-box{background:linear-gradient(#EFEFFE,var(--flaeche) 70%);box-shadow:0 0 0 1px rgba(0,0,225,.14);
  border-radius:var(--r-gruppe);padding:13px 16px;font-size:14px;margin:0 0 14px}
.ms-abgeschlossen{display:flex;gap:9px;align-items:flex-start;background:linear-gradient(var(--fuellung),var(--flaeche) 70%);
  box-shadow:0 0 0 1px var(--linie2);border-radius:var(--r-gruppe);padding:12px 16px;margin:-6px 0 16px;font-size:14px;color:var(--text2)}
.ms-abgeschlossen svg{width:17px;height:17px;flex:none;stroke:var(--text2);stroke-width:1.5;fill:none;margin-top:1px}
.ms-abgeschlossen b{color:var(--text)}
.ms-pruef{background:linear-gradient(#FFF5EF,var(--flaeche) 70%);box-shadow:0 0 0 1px rgba(201,52,0,.2);
  border-radius:var(--r-gruppe);padding:13px 16px;font-size:14px;margin:0 0 14px}
.ms-pruef>b:first-child{color:var(--orange);display:flex;gap:6px;align-items:center}
.ms-pruef>b:first-child::before{content:"!";display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;
  background:var(--orange);color:#fff;font-size:11px;font-weight:700;flex:none}
.ms-pruef ul{margin:6px 0 0;padding-left:18px}

/* Aufklappbereiche */
.ms-aufklapp{background:var(--flaeche);border-radius:var(--r-gruppe);box-shadow:0 1px 2px rgba(0,0,0,.04),0 0 0 1px var(--linie);padding:0 18px;margin:0 0 12px}
.ms-aufklapp>summary{cursor:pointer;padding:13px 0;font-weight:600;font-size:15px;list-style:none}
.ms-aufklapp>summary::-webkit-details-marker{display:none}
.ms-aufklapp>summary::before{content:"›";display:inline-block;width:16px;color:var(--text2);transition:transform .15s}
.ms-aufklapp[open]>summary::before{transform:rotate(90deg)}
.ms-aufklapp[open]{padding-bottom:16px}
.ms-aufklapp .formular{box-shadow:none;padding:4px 0 0;background:none}
.ms-aufklapp .ms-tabelle{box-shadow:0 0 0 1px var(--linie)}
.ms-serie-form .ms-vorlagen{flex-basis:100%;display:flex;gap:8px;flex-wrap:wrap}
.ms-gefahrzone>summary{color:var(--rot);font-weight:500;font-size:14px}
button.ms-gefahr{background:#FDECEE;color:var(--rot)}button.ms-gefahr:hover{background:#FAD4D9}

/* Kennzahlen und Berichtsnavigation */
.ms-zahlen{display:flex;gap:18px;align-items:center;flex-wrap:wrap;font-size:13.5px;color:var(--text2);margin:-8px 0 18px}
.ms-zahlen b{color:var(--text);font-variant-numeric:tabular-nums}
.ms-berichte{margin-left:auto;display:flex;gap:2px;flex-wrap:wrap;background:#E3E3E8;padding:3px;border-radius:10px}
.ms-berichte a{padding:3px 10px;border-radius:7px;font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--text2)}
.ms-berichte a:hover{text-decoration:none;background:rgba(255,255,255,.5)}
.ms-berichte a.aktiv{background:var(--flaeche);color:var(--text);font-weight:600;
  box-shadow:0 1px 3px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04)}

/* KI */
.ms-ki{background:linear-gradient(180deg,#F7F5FE,#FFF);border-radius:var(--r-gruppe);
  box-shadow:0 1px 2px rgba(0,0,0,.04),0 0 0 1px #DCD6FA;padding:16px 18px;margin:0 0 14px}
.ms-ki-kopf{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px}
.ms-ki-kopf .hinweis{display:block}
.ms-ki-zeichen{flex:none;width:34px;height:34px;border-radius:9px;background:var(--blau);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:13px}
.ms-ki-form textarea{width:100%;min-height:90px}
.ms-ki-leiste{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:8px}
.ms-ki-leiste button{margin-left:auto}
.ms-warten{display:flex;gap:14px;align-items:center;background:var(--flaeche);border-radius:var(--r-gruppe);box-shadow:0 1px 2px rgba(0,0,0,.04),0 0 0 1px var(--linie);padding:18px}
.ms-spinner{width:22px;height:22px;border-radius:50%;border:3px solid var(--blau-flaeche);border-top-color:var(--blau);animation:ms-dreh 1s linear infinite;flex:none}
@keyframes ms-dreh{to{transform:rotate(360deg)}}
@keyframes ms-puls{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.ms-spinner{animation:ms-puls 1.4s ease-in-out infinite}}
.ms-beleg{font-size:12.5px;color:var(--text2);font-style:italic;margin:6px 0 0}
.ms-titel-feld{flex:1;min-width:200px;font-weight:600}
.ms-fuss-leiste{position:sticky;bottom:0;z-index:4;background:rgba(245,245,247,.72);
  -webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);
  -webkit-mask-image:linear-gradient(transparent,#000 18%);mask-image:linear-gradient(transparent,#000 18%);
  padding:20px 0 14px;margin-top:12px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
@media (prefers-reduced-transparency:reduce){.ms-fuss-leiste{background:var(--grund);
  -webkit-backdrop-filter:none;backdrop-filter:none;-webkit-mask-image:none;mask-image:none}}
.ms-schalter{font-size:13.5px;display:flex;gap:6px;align-items:center}

/* Punkte */
.ms-punkte-kopf{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:26px 0 10px}
.ms-punkte-kopf h2{margin:0}
.ms-kapitel{margin:0 0 18px}
.ms-kapitel-kopf{display:flex;align-items:baseline;gap:10px;border-bottom:1px solid var(--linie);padding:0 2px 6px;margin-bottom:10px}
.ms-kapitel-kopf h3{margin:0;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#8E8E93}
.ms-kapitel-kopf .hinweis{margin-left:auto}
.ms-punkt{background:var(--flaeche);border-radius:var(--r-gruppe);box-shadow:0 1px 2px rgba(0,0,0,.04),0 0 0 1px var(--linie);padding:12px 16px;margin:0 0 8px;scroll-margin-top:92px}
.ms-punkt.bearbeitet{box-shadow:0 0 0 1px var(--linie),inset 3px 0 0 var(--blau)}
.ms-punkt.ms-erledigt{background:#FAFAFB}
/* Was in diesem Bericht dazukam, markiert in der Webansicht nur die blaue Kante (.bearbeitet). Gelb wie mit dem
   Textmarker gibt es nur im PDF, dort hinter dem Text des neuen Eintrags (metaschedule/pdf.py). */
.ms-punkt.ms-erledigt{color:var(--text2);box-shadow:0 1px 2px rgba(0,0,0,.04),0 0 0 1px var(--linie),inset 3px 0 0 var(--linie2)}
.ms-punkt.ms-erledigt .ms-punkt-titel,.ms-punkt.ms-erledigt .ms-status,.ms-punkt.ms-erledigt .ms-eintrag,
.ms-punkt.ms-erledigt .ms-eintrag.alt,.ms-punkt.ms-erledigt .ms-datum.aktuell{color:var(--text2)}
.ms-punkt.ms-erledigt .ms-punkt-kopf,.ms-punkt.ms-erledigt .ms-eintrag.aktuell,
.ms-punkt.ms-erledigt .ms-eintrag-form textarea{background:none}
.ms-punkt:target{box-shadow:0 0 0 2px var(--blau)}
.ms-punkt-kopf{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.ms-nr{font-weight:600;font-size:13px;color:var(--text2);font-variant-numeric:tabular-nums;white-space:nowrap}
.ms-punkt-titel{font-size:15px}
.ms-status{margin-left:auto;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text)}
.ms-status.erledigt{color:var(--gruen)}.ms-status.info{color:var(--text2)}
.ms-status.dringend{color:#fff;background:var(--rot);padding:1px 7px;border-radius:5px}
.ms-eintrag{display:grid;grid-template-columns:118px minmax(0,1fr) 150px 84px;gap:10px;font-size:14px;padding:5px 0;border-top:1px solid var(--linie)}
.ms-eintrag.alt{color:#3A3A3C}
.ms-datum{font-size:12.5px;color:var(--text2);font-variant-numeric:tabular-nums;padding-top:2px;white-space:nowrap}
.ms-datum.aktuell{color:var(--blau);font-weight:600}
.ms-verantw{font-size:13px;color:var(--text2)}
.ms-frist{font-size:13px;text-align:right;font-variant-numeric:tabular-nums;color:var(--text2)}
.ms-intern{font-size:12.5px;color:var(--orange);margin:4px 0 0 128px}
.ms-eintrag-form{display:grid;grid-template-columns:118px minmax(0,1fr);gap:4px 10px;border-top:1px solid var(--linie);padding-top:8px;margin-top:2px}
.ms-eintrag-form textarea{grid-column:2;width:100%;resize:vertical;min-height:38px}
.ms-eintrag-form .ms-datum{grid-row:1;padding-top:9px}
.ms-eintrag-felder{grid-column:2;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ms-eintrag-felder input[name$="verantwortlich"]{width:200px}
.ms-eintrag-felder select{width:auto}
.ms-vorschlag .ms-eintrag-felder,.ms-vorschlag textarea{margin-left:0;width:100%}
.ms-vorschlag textarea{margin:4px 0}
.ms-vorschlag.neu{box-shadow:0 0 0 1px var(--linie),inset 3px 0 0 var(--blau)}
.ms-gespeichert{font-size:12.5px;color:var(--gruen)}
.ms-gespeichert.fehler{color:var(--rot)}
.ms-eintrag-form[data-js] .ms-speichern{display:none}
.ms-eintrag-form.geaendert .ms-speichern{display:inline-block}
.ms-mehr{grid-column:2}
.ms-mehr>summary,.ms-mehr-unten>summary{font-size:12.5px;color:var(--text2);cursor:pointer;margin:4px 0}
.ms-mehr textarea{width:100%}
.ms-mehr label{display:block;font-size:12.5px;color:var(--text2);margin:4px 0}
.ms-mehr-inhalt{margin-left:128px}
.ms-bild{display:inline-flex;flex-direction:column;gap:2px;margin:6px 8px 0 128px;vertical-align:top}
.ms-mehr-inhalt .ms-bild{margin-left:0}
.ms-bild img{max-height:110px;max-width:180px;border-radius:6px;box-shadow:0 0 0 1px var(--linie)}
.ms-neu-punkt>summary{cursor:pointer;color:var(--blau);font-size:14px;font-weight:500;padding:4px 2px}
.ms-neu-punkt .formular{margin-top:6px}
.ms-leer-kapitel{margin:4px 0 8px 4px}

/* Teilnehmer: Vorschläge aus dem Adressbuch */
.ms-tn-neu{margin-top:12px}
.ms-suche-feld{position:relative}
.ms-vorschlaege{position:absolute;z-index:8;top:100%;left:0;min-width:320px;background:var(--flaeche);border-radius:var(--r-gruppe);
  box-shadow:0 0 0 .5px var(--linie2),0 12px 32px rgba(0,0,0,.14);margin-top:5px;overflow:hidden;padding:4px}
.ms-vorschlaege button{display:block;width:100%;text-align:left;background:none;border-radius:6px;padding:8px 10px;font-weight:400}
.ms-vorschlaege button:hover,.ms-vorschlaege button:focus{background:var(--blau-flaeche)}
.ms-vorschlaege small{display:block;color:var(--text2)}
.ms-empf{display:block;font-size:14px;margin:4px 0!important;color:var(--text)!important}

@media (max-width:900px){
  .ms-eintrag,.ms-eintrag-form{grid-template-columns:1fr}
  .ms-eintrag-form textarea,.ms-eintrag-felder,.ms-mehr{grid-column:1}
  .ms-mehr-inhalt,.ms-intern,.ms-bild{margin-left:0}
  .ms-frist{text-align:left}
}
.formular input[type=file]{max-width:100%}
.ms-knopfgruppe{display:inline-flex}.ms-knopfgruppe .knopf-hell:first-child{border-radius:var(--r-element) 0 0 var(--r-element)}
.ms-knopfgruppe .knopf-hell+.knopf-hell{border-radius:0 var(--r-element) var(--r-element) 0;margin-left:1px}
.ms-intern-box>summary{cursor:pointer}.ms-intern-text{margin-top:8px;font-size:13.5px}
.ms-bilanz{margin:0 0 14px}
.ms-sprecher{border-top:1px solid var(--linie);padding-top:10px}
.ms-ki-leiste .ms-schalter{flex-basis:100%;color:var(--text2);font-size:13px}
.ms-menue{position:relative;display:inline-block}
.ms-menue>summary{list-style:none;cursor:pointer}.ms-menue>summary::-webkit-details-marker{display:none}
.ms-menue-liste{position:absolute;right:0;top:calc(100% + 6px);z-index:10;min-width:260px;background:var(--flaeche);border-radius:var(--r-gruppe);
  box-shadow:0 0 0 .5px var(--linie2),0 12px 32px rgba(0,0,0,.14);padding:6px;display:flex;flex-direction:column;
  transform-origin:top right}
.ms-menue-liste a{padding:8px 10px;border-radius:6px;color:var(--text)!important;font-size:14px}
.ms-menue-liste a:hover{background:var(--blau-flaeche);text-decoration:none}
.ms-downloads{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:linear-gradient(#EAF6EE,var(--flaeche) 70%);
  box-shadow:0 0 0 1px rgba(36,138,61,.18);border-radius:var(--r-gruppe);padding:12px 16px;margin:-6px 0 16px;font-size:14px}

/* Mein Konto */
.ms-konto-kopf{display:flex;align-items:center;gap:18px;min-width:0}
.ms-konto{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;align-items:start}
.ms-konto-karte{background:var(--flaeche);border-radius:16px;padding:16px 20px;
  box-shadow:0 1px 2px rgba(0,0,0,.04),0 0 0 1px var(--linie)}
.ms-konto-karte h2{margin:0 0 8px;font-size:17px}
.ms-budget-karte{grid-column:1/-1}
.ms-budget-stand{display:flex;align-items:baseline;gap:10px;margin:2px 0 8px}
.ms-budget-gross{font-size:30px;font-weight:650;letter-spacing:-.4px;font-variant-numeric:tabular-nums}
.ms-budget-gross.knapp{color:var(--orange)}
.ms-budget-gross.erschoepft{color:var(--rot);font-size:24px}
.ms-budget-balken.gross{display:block;height:7px;margin:0 0 12px}
.ms-budget-balken.gross.knapp i{background:var(--orange)}
.ms-budget-balken.gross.erschoepft i{background:var(--rot)}
.ms-budget-karte .ms-tabelle{margin:12px 0 0}
.ms-budget-karte details{margin-top:10px}
.ms-konto-karte p{margin:0 0 8px}
.ms-konto-karte p:last-child,.ms-konto-karte form{margin-bottom:0}

/* Programmwechsel unten in der Seitenleiste (gleich in metaOS, metaPlan, metaSchedule) */
.programme{display:flex;gap:10px;align-items:center;padding:12px 10px;margin-top:10px}
.programm{position:relative;display:block;width:30px;height:30px;border-radius:50%;flex:none;
  transition:transform .18s cubic-bezier(.2,.8,.2,1),opacity .15s;opacity:.55}
.programm:hover,.programm:focus-visible{opacity:1;transform:scale(1.08);text-decoration:none}
.programm:active{transform:scale(.94)}
.programm.aktiv{opacity:1;box-shadow:0 0 0 2px #ECECF1,0 0 0 3.5px var(--blau)}
.programm:focus-visible{outline:none;box-shadow:0 0 0 2px #ECECF1,0 0 0 3.5px rgba(0,0,225,.45)}
.programm-logo{display:block;width:100%;height:100%}
.programm-logo circle{fill:var(--blau)}
.programm-logo g{fill:#fff;stroke:#fff;stroke-width:0;stroke-linecap:round;stroke-linejoin:round}
.programm-logo .strich{fill:none;stroke-width:1.7}
.programm-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){.programm{transition:none}.programm:hover{transform:none}}

/* ---------------------------------------------------------------- metaSchedule: Gantt */
.ms-warnung{color:var(--orange);font-weight:600}
.ms-marke.rtp{background:var(--blau-flaeche);color:var(--blau)}
.ms-marke.bzp{background:#E8E8E8;color:#3C3C3C}
.ms-kennzahlen{display:flex;gap:18px;flex-wrap:wrap}
.ms-kennzahlen div{display:flex;flex-direction:column;background:var(--flaeche);border-radius:var(--r-element);padding:6px 12px;box-shadow:0 0 0 1px var(--linie)}
.ms-kennzahlen span{font-size:11px;color:var(--text2);text-transform:uppercase;letter-spacing:.04em}
.ms-kennzahlen b{font-size:15px;font-variant-numeric:tabular-nums}
.ms-kennzahlen .spaet b{color:var(--rot)}.ms-kennzahlen .frueh b{color:var(--gruen)}
.ms-werkzeuge{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0 10px}
.ms-werkzeuge .knopf-hell{padding:5px 10px;font-size:13px}
.ms-werkzeuge .gefahr,.knopf-hell.gefahr{color:var(--rot)}
.ms-werkzeuge .ms-trenner{width:1px;height:22px;background:var(--linie2);margin:0 4px}
.ms-schalter{font-size:13px;display:inline-flex;gap:4px;align-items:center;color:var(--text2)}
.ms-werkzeuge .ms-status{font-size:13px;color:var(--text2);margin-left:6px;text-transform:none;letter-spacing:0;font-weight:400}.ms-werkzeuge .ms-status.fehler{color:var(--rot);font-weight:600}
.ms-gantt{display:flex;background:var(--flaeche);border-radius:var(--r-gruppe);box-shadow:0 0 0 1px var(--linie);overflow:hidden;font-size:12.5px}
.ms-tab{flex:none;border-right:1px solid var(--linie2);overflow-x:auto;max-width:62%}
.ms-zeit{flex:1;overflow-x:auto;position:relative}
.ms-zeit-innen{position:relative}
.ms-tkopf,.ms-tzeile{display:flex;align-items:stretch;border-bottom:1px solid var(--linie)}
.ms-tkopf{background:var(--fuellung);font-weight:600;color:var(--text2);font-size:11.5px;align-items:flex-end}
.ms-tz{flex:none;display:flex;align-items:center;padding:0 5px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border-right:1px solid var(--linie)}
.ms-tkopf .ms-tz{padding-bottom:5px}
.ms-tz.nr{justify-content:flex-end;color:var(--text2);cursor:pointer;font-variant-numeric:tabular-nums}
.ms-tz.zahl{justify-content:flex-end;font-variant-numeric:tabular-nums}
.ms-tz input,.ms-tz select{width:100%;border:0;background:transparent;font:inherit;color:inherit;padding:2px 0;min-width:0}
.ms-tz input:focus,.ms-tz select:focus{outline:2px solid rgba(0,0,225,.4);background:#fff;border-radius:3px}
.ms-tz input[type=date]{font-size:12px}
.ms-tz.fest{background:linear-gradient(90deg,transparent 92%,rgba(0,0,225,.18) 92%)}
.ms-tz.name span{overflow:hidden;text-overflow:ellipsis}
.ms-auf{border:0;background:none;width:16px;flex:none;cursor:pointer;color:var(--text2);padding:0;font-size:11px}
.ms-auf-leer{width:16px;flex:none}
.ms-tzeile.sammel{font-weight:700}
.ms-tzeile.gruppe{background:#FAFAFC;letter-spacing:.03em}
.ms-tzeile.gruppe input{font-weight:700;text-transform:uppercase}
.ms-tzeile.gewaehlt,.ms-zzeile.gewaehlt{background:var(--blau-flaeche)!important}
.ms-tzeile.kritisch .nr{color:var(--rot);font-weight:700}
.ms-zkopf{position:relative;background:var(--fuellung);border-bottom:1px solid var(--linie)}
.ms-jahr,.ms-teil{position:absolute;text-align:center;font-size:11px;white-space:nowrap;overflow:hidden;border-left:1px solid var(--linie2)}
.ms-jahr{top:0;height:22px;line-height:22px;font-weight:700}
.ms-teil{top:22px;height:22px;line-height:22px;color:var(--text2)}
.ms-zkoerper{position:relative}
.ms-zzeile{position:absolute;left:0;right:0;border-bottom:1px solid var(--linie)}
.ms-linie{position:absolute;top:0;bottom:0;width:1px;background:var(--linie)}.ms-linie.jahr{background:var(--linie2)}
.ms-band{position:absolute;top:0;bottom:0}
.ms-band.ferien{background:rgba(0,0,0,.035)}
.ms-band.frei{background:repeating-linear-gradient(135deg,rgba(0,0,0,.07) 0 3px,transparent 3px 6px)}
.ms-balken{position:absolute;height:14px;border-radius:3px;background:#8A8A8A;overflow:hidden;color:#fff;font-size:10.5px;line-height:14px;text-align:center;cursor:default}
.ms-balken i{position:absolute;left:0;top:0;bottom:0;background:rgba(255,255,255,.35)}
.ms-balken span{position:relative}
.ms-balken.art-planung,.ms-balken.art-vergabe{background:#0000E1}
.ms-balken.art-bauherr{background:#8A8A8A}
.ms-balken.art-behoerde{background:#fff;box-shadow:inset 0 0 0 1.5px #3C3C3C;color:#1A1A1A}
.ms-balken.art-fachplanung{background:#A6A6F2;color:#1A1A1A}
.ms-balken.art-ausfuehrung{background:#3C3C3C}
.ms-balken.art-klaerung{background:transparent;border:1.5px dashed #8A8A8A;color:#1A1A1A}
.ms-balken.art-einschraenkung{background:repeating-linear-gradient(135deg,#bbb 0 2px,#fff 2px 5px);color:#1A1A1A;box-shadow:inset 0 0 0 1px #8A8A8A}
.ms-balken.kritisch{box-shadow:0 2px 0 0 var(--rot)}
.ms-sammel{position:absolute;height:8px;background:#000;clip-path:polygon(0 0,100% 0,100% 100%,calc(100% - 5px) 55%,5px 55%,0 100%)}
.ms-raute{position:absolute;width:12px;height:12px;background:#0000E1;transform:rotate(45deg)}
.ms-raute.kritisch{box-shadow:0 0 0 2px var(--rot)}
.ms-basis{position:absolute;height:3px;background:#C7C7CC;border-radius:2px}
.ms-label{position:absolute;line-height:26px;font-size:11px;color:var(--text2);white-space:nowrap;pointer-events:none}
.ms-heute{position:absolute;top:0;bottom:0;width:1px;background:var(--orange);opacity:.6}
.ms-stichtag{position:absolute;top:0;bottom:0;border-left:1.5px dashed #0000E1}
.ms-stichtag span{position:absolute;bottom:2px;left:4px;font-size:10.5px;color:#0000E1;background:#fff;white-space:nowrap;padding:0 3px}
.ms-pfeile{position:absolute;left:0;top:0;pointer-events:none;overflow:visible}
.ms-pfeile path{fill:none;stroke:#6E6E73;stroke-width:1}.ms-pfeile path.kritisch{stroke:var(--rot)}
.ms-pfeile marker path{fill:#6E6E73;stroke:none}
.ms-reiter{display:flex;gap:4px;margin:28px 0 0;position:sticky;top:0;background:var(--grund);padding:8px 0;z-index:5;flex-wrap:wrap}
.ms-reiter a{padding:5px 12px;border-radius:999px;background:var(--flaeche);box-shadow:0 0 0 1px var(--linie);font-size:13px;color:var(--text)}
.ms-bereich{scroll-margin-top:56px;margin-top:18px}
.ms-spalten{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px}
.ms-kasten{background:var(--flaeche);border-radius:var(--r-gruppe);padding:14px 16px;box-shadow:0 0 0 1px var(--linie)}
.ms-kasten h3{grid-column:1/-1;margin:0}
.ms-formel{font-variant-numeric:tabular-nums;color:var(--text2)}
.ms-chips{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px}
.ms-knoepfe{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ms-text{max-width:520px}
.ms-massnahme{background:var(--flaeche);border-radius:var(--r-gruppe);padding:12px 16px;box-shadow:0 0 0 1px var(--linie);margin:10px 0}
.ms-massnahme h3{margin:0 0 4px;display:flex;justify-content:space-between;gap:12px}
.ms-gewinn{font-variant-numeric:tabular-nums;white-space:nowrap}.ms-gewinn.plus{color:var(--gruen)}.ms-gewinn.minus{color:var(--rot)}
@media print{.leiste,.ms-werkzeuge,.ms-reiter,.ms-bereich{display:none}.ms-gantt{box-shadow:none}}
