/* Paket 766: aus plan.html (Ende des ersten <style>-Blocks, stand direkt vor diesem Stylesheet) - unveraendert, gleiche Reihenfolge */
  /* ------------------------------------------------------------ Papier */
  .druckkopf{display:none}
  @media print{
    /* Gedruckt wird bei FARA Personal auf A3, und die Einsatzuebersicht
       soll auf ein Blatt passen. Deshalb vier Spalten und kleine Schrift. */
    @page{ size:A3 portrait; margin:9mm 8mm 9mm 8mm }
    html,body{background:#fff; color:#000; font-size:6.5pt; line-height:1.15}
    header.bar, .tabs, .stats, .werkzeugleiste, .vfg, .suchfeld,
    dialog, .menu, #fehlerbox, .hinweistext, .weg, .vpm, .note{display:none !important}
    main{padding:0; max-width:none}
    .auflayout{display:block}
    .druckkopf{display:flex; align-items:baseline; gap:8px; margin:0 0 4px;
      padding-bottom:3px; border-bottom:1pt solid #000}
    .druckkopf .dk-marke{font-family:"Barlow Condensed",sans-serif; font-size:12pt;
      font-weight:700; letter-spacing:.02em}
    .druckkopf .dk-was{flex:1; font-size:8pt}
    .druckkopf .dk-wann{font-size:7pt; color:#444}
    h2{font-size:9pt; margin:0 0 3px}
    .kflow{display:block !important; columns:5; column-gap:4mm}
    .card, .auf, .mrz, .tafel tr{break-inside:avoid}
    .card{margin:0 0 2mm; border:.5pt solid #777; border-radius:0}
    .k-kopf{background:#eee !important; border-bottom:.5pt solid #777; padding:2px 4px}
    .k-kopf h3{font-size:8pt; line-height:1.1}
    .k-kopf .sub, .k-kopf .zahl{font-size:6pt}
    .bs-kopf{background:#f4f4f4 !important; padding:1.5px 4px}
    .bs-kopf h4{font-size:7pt}
    .bs-kopf .sub{font-size:6pt}
    /* Auf dem Papier alles in einer Zeile: Name, Unterkunft, drei Betraege. */
    .person{padding:0 3px; border-left:0; gap:0 3px;
      grid-template-columns:minmax(0,1fr) 31px 26px 26px}
    .spaltenkopf{grid-template-columns:minmax(0,1fr) 31px 26px 26px; gap:3px}
    .p-uk{grid-column:1 / -1; font-size:5pt; line-height:1; gap:2px; margin:0 0 1px;
      flex-wrap:nowrap; overflow:hidden; white-space:nowrap}
    .kflow .spalte{display:contents}
    .p-nm{font-size:6.3pt; gap:2px}
    .p-nm span.t{overflow:visible; text-overflow:clip; white-space:normal}
    .z1,.z2,.z3{font-size:5.8pt}
    .spaltenkopf{padding:1px 3px}
    .spaltenkopf span{font-size:4.5pt; letter-spacing:0}
    .tag, .mk, .stufe{font-size:5.5pt; padding:0 2px}
    ul.auf-ma li{padding:1px 6px; font-size:7pt}
    .tafel{overflow:visible; border:.5pt solid #777}
    .tafel table{width:100%; table-layout:fixed; font-size:6.5pt}
    .tafel thead{display:table-header-group}
    .tafel th,.tafel td{padding:1.5px 4px; word-break:break-word; vertical-align:top}
    .tafel thead th{background:#eee !important; font-size:6pt}
    .tafel td.n,.tafel th.n{font-size:6pt}
    .aufgitter{display:block; columns:4; column-gap:5mm}
    .auf{margin:0 0 2.6mm; border:.5pt solid #777}
    .auf-k{padding:2px 4px}
    .auf-k h3{font-size:8pt}
    details.mr, details.vfg-mehr{display:none}
    a[href]:after{content:""}
  }
  .minilink{border:0; background:transparent; color:var(--accent); cursor:pointer;
    font:inherit; font-size:11px; padding:0 0 0 6px; text-decoration:underline}

/* Ende Paket 766 */
/* Paket 425 (Design A): Skala und Variablen. Alles Neue und Umgestellte nutzt nur diese Werte. Bestehende Regeln bleiben bis Paket G unveraendert. */
:root{
  --f-sans:"IBM Plex Sans", -apple-system, "Segoe UI", Roboto, sans-serif;
  --f-cond:"Barlow Condensed", "Arial Narrow", sans-serif;
  --f-mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;
  --t11:11px; --t12:12px; --t13:13px; --t15:15px; --t18:18px; --t24:24px;
  --r1:6px; --r2:10px;
  --knopf-s:28px; --knopf-m:34px; --knopf-l:40px;
  --neu:#7a3fb0; --neu-bg:#efe4f8;
}
/* Paket 647: aus plan.html (erster <style>-Block): Kopfleiste, Menues, Reiterleiste - unveraendert, gleiche Reihenfolge */
  /* Kopfleiste */
  .bar{position:sticky; top:0; z-index:40; background:var(--surface);
    border-bottom:1px solid var(--line); box-shadow:var(--shadow)}
  .bar-in{max-width:1560px; margin:0 auto; padding:11px 18px;
    display:flex; align-items:center; gap:11px; flex-wrap:wrap}
  .bar-in > *:not(.rechts){flex:none}
  .fara-logo{height:23px; width:auto; display:block; flex:0 0 auto}
  .fara-logo.logo-dark{display:none}
  /* Paket 284: KalveroOS in der Kopfleiste */
  .kv-kopf{display:flex; align-items:center; gap:8px; flex:0 0 auto}
  .kv-kopf .kv-k{width:30px; height:30px; display:block}
  .kv-kopf .kv-wort{font-family:"IBM Plex Sans",-apple-system,sans-serif; font-weight:700; font-size:18px;
    letter-spacing:-.3px; color:var(--ink-3); line-height:1}
  .kv-kopf .kv-wort i{font-style:normal; color:var(--accent)}
  /* Paket 285c: unter 1700 px Breite FARA-Personal-Logo, Name vor "abmelden" und etwas Suchfeld weglassen,
     damit Stammdaten, Drucken, Zugaenge, Verlauf in der ersten Zeile bleiben */
  @media (max-width: 1699px){
    header.bar .bar-in .fara-logo{display:none !important}
    header.bar .wer{font-size:0}
    header.bar .wer a{font-size:12px}
    header.bar .suchfeld{width:230px}
    header.bar .rechts{gap:6px}
  }
  /* Paket 315: Gruppenreiter mit Pfeil */
  .tabwrap{position:relative; display:inline-flex}
  .tab-pf{font-size:15px; line-height:1; color:var(--ink-2); margin-left:5px;
    transition:transform .12s; display:inline-block}
  .tab:hover .tab-pf{color:var(--accent)}
  .tabwrap:has(.rmenu.offen) .tab-pf{transform:rotate(180deg); color:var(--accent)}
  .rmenu{position:absolute; left:0; top:calc(100% + 3px); background:var(--surface);
    border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-lg);
    min-width:195px; padding:5px; display:none; z-index:30}
  .rmenu.offen{display:block}
  .rmenu button{display:flex; width:100%; text-align:left; font:inherit; font-size:13px;
    padding:7px 10px; border:0; background:transparent; border-radius:5px; cursor:pointer;
    color:var(--ink); align-items:center; gap:8px}
  .rmenu button:hover{background:var(--accent-soft); color:var(--accent)}
  .rmenu button .pill{margin-left:auto}
  /* Paket 314: das Zahnrad-Menue in der Kopfleiste */
  header.bar .mwrap{position:relative}
  header.bar #mehrknopf{font-size:18px; line-height:1; padding:4px 12px}
  header.bar .mwrap .menu{position:absolute; right:0; top:calc(100% + 5px);
    background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
    box-shadow:var(--shadow-lg); min-width:215px; padding:5px; display:none; z-index:40}
  header.bar .mwrap .menu.offen{display:block}
  header.bar .mwrap .menu .btn{display:block; width:100%; text-align:left; border:0;
    background:transparent; border-radius:5px; padding:7px 10px; font-size:13px}
  header.bar .mwrap .menu .btn:hover{background:var(--accent-soft); color:var(--accent)}
  header.bar .mwrap .menu .btn small{display:block; font-size:11px; color:var(--ink-3); margin-top:1px}
  header.bar .mwrap .menu .btn:hover small{color:var(--accent)}
  /* Paket 285: OS als Plakette */
  .kv-kopf .kv-wort i{display:inline-block; margin-left:4px; background:#2b69ad; color:#fff; border-radius:4px;
    padding:2px 5px 3px; font-size:.8em; line-height:1; vertical-align:2px}
  .bar-teiler{width:1px; align-self:stretch; background:var(--line); margin:0 2px}
  .brandbtn{display:flex; align-items:baseline; gap:8px; background:transparent;
    border:1px solid transparent; border-radius:var(--radius); padding:4px 8px 4px 6px}
  .brandbtn:hover{border-color:var(--line); background:var(--surface-2)}
  .brandbtn .chev{font-size:11px; color:var(--ink-3); align-self:center}
  .brand-mark{font-family:"Barlow Condensed",sans-serif; font-weight:700; font-size:18px;
    color:var(--accent); line-height:1; letter-spacing:.04em; text-transform:uppercase}
  .brand-sub{font-size:12px; color:var(--ink-3)}
  .menu-wrap{position:relative}
  .menu{position:absolute; top:calc(100% + 6px); left:0; z-index:50; background:var(--surface);
    border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-lg);
    min-width:242px; padding:5px; display:none}
  .menu.offen{display:block}
  .menu button{display:block; width:100%; text-align:left; border:0; background:transparent;
    padding:7px 10px; border-radius:5px; font-size:13px; color:var(--ink)}
  .menu button:hover{background:var(--accent-soft); color:var(--accent)}
  .menu small{display:block; color:var(--ink-3); font-size:12px; font-weight:400}
  .menu button:hover small{color:var(--accent)}
  .menu .sep{height:1px; background:var(--line-soft); margin:5px 3px}
  .menu .aktiv{padding:7px 10px; border-radius:5px; font-size:13px;
    background:var(--accent-soft); color:var(--accent); font-weight:600}
  .brand{display:flex; align-items:baseline; gap:9px}
  .brand .fara{font-family:"Barlow Condensed",sans-serif; font-weight:700; font-size:18px;
    letter-spacing:.01em; color:var(--ink)}
  .brand .teiler{width:1px; height:18px; background:var(--line); display:inline-block}
  .brand .mark{font-family:"Barlow Condensed",sans-serif; font-weight:700; font-size:18px;
    letter-spacing:.06em; text-transform:uppercase; color:var(--accent)}
  .brand .sub{font-size:13px; color:var(--ink-3)}
  .kwbox{display:flex; align-items:center; gap:6px; border:1px solid var(--line);
    border-radius:var(--radius); padding:3px 4px; background:var(--surface-2)}
  .kwbox .kwt{font-family:"Barlow Condensed",sans-serif; font-size:13px; letter-spacing:.08em;
    text-transform:uppercase; color:var(--ink-3); padding-left:5px}
  .kwbox .kwn{font-family:"IBM Plex Mono",monospace; font-weight:600; font-size:15px;
    font-variant-numeric:tabular-nums; min-width:26px; text-align:center}
  .kwbox .spanne{font-family:"IBM Plex Mono",monospace; font-size:12px; color:var(--ink-3);
    padding-right:6px; white-space:nowrap}
  .btn{border:1px solid var(--line); background:var(--surface-2); padding:6px 12px;
    border-radius:var(--radius); font-size:13px; font-weight:500; color:var(--ink-2);
    text-decoration:none; display:inline-block; line-height:1.35}
  .btn:hover{border-color:var(--accent); color:var(--accent)}
  .btn.ico{padding:4px 9px; font-size:15px; line-height:1}
  .btn.primary{background:var(--accent); border-color:var(--accent); color:var(--accent-ink); font-weight:600}
  .btn.primary:hover{background:#005699; border-color:#005699; color:#fff}
  /* Die Kopfleiste soll in eine Zeile passen. Dafuer darf das Suchfeld
     schrumpfen, statt dass die rechte Haelfte umbricht. */
  .rechts{display:flex; align-items:center; gap:9px;
    flex:1 1 330px; min-width:0; justify-content:flex-end}
  /* Wird es zu eng, darf die rechte Haelfte doch umbrechen - lieber zwei
     saubere Zeilen als abgeschnittene Knoepfe. */
  /* Unter etwa 1500 px reicht der Platz nicht mehr fuer eine Zeile - dann
     lieber sauber umbrechen als Knoepfe uebereinanderschieben. */
  @media (max-width:1499px){ .rechts{flex:0 0 auto; margin-left:auto} }
  .suchfeld{font:inherit; font-size:13px; padding:6px 11px; border:1px solid var(--line);
    border-radius:var(--radius); background:var(--surface); color:var(--ink);
    flex:1 1 150px; min-width:110px; max-width:250px}
  .suchfeld:focus{outline:2px solid var(--accent); outline-offset:-1px; border-color:var(--accent)}
  .treffer{background:#fff3c4; border-radius:2px}
  .wer{font-size:13px; color:var(--ink-3); white-space:nowrap; flex:none}
  .wer a{color:var(--ink-3)}
  /* Reiter */
  .tabs{max-width:1560px; margin:16px auto 0; padding:0 18px; display:flex; gap:2px;
    border-bottom:1px solid var(--line); flex-wrap:wrap}
  .tab{border:0; background:transparent; padding:9px 14px; font-size:13px; font-weight:500;
    color:var(--ink-2); border-bottom:2px solid transparent; margin-bottom:-1px;
    display:flex; align-items:center; gap:7px}
  .tab:hover{color:var(--ink)}
  .tab[aria-selected="true"]{color:var(--ink); font-weight:600; border-bottom-color:var(--accent)}
  .pill{font-size:11px; font-weight:600; padding:1px 7px; border-radius:99px;
    background:var(--surface-2); border:1px solid var(--line); color:var(--ink-2);
    font-variant-numeric:tabular-nums}
  .pill.alarm{background:var(--crit-bg); border-color:transparent; color:var(--crit)}
/* KalveroOS – gemeinsame Styles (Paket 388f: Anfang; weitere Regeln wandern aus plan.html und den Reiter-Dateien hierher) */
/* Kacheln oben: feste acht Spalten, damit ein Reiterwechsel die Groesse nicht aendert */
@media (min-width: 1100px){
  .stats{grid-template-columns:repeat(8, minmax(0, 1fr))}
}
/* Paket 389e: Kopf modern und in allen Abteilungen gleich – Abteilungsname und Woche in IBM Plex Sans statt Barlow/Mono */
header.bar .brand-mark{font-family:"IBM Plex Sans",sans-serif;font-weight:600;font-size:18px;letter-spacing:0;text-transform:none;line-height:1.2}
header.bar #bereichknopf{min-width:120px}
header.bar .kwbox .kwt{font-family:"IBM Plex Sans",sans-serif;font-size:12px;font-weight:500;letter-spacing:0;text-transform:none}
header.bar .kwbox .kwn{font-family:"IBM Plex Sans",sans-serif;font-weight:600;font-size:15px;font-variant-numeric:tabular-nums}
header.bar .kwbox .spanne{font-family:"IBM Plex Sans",sans-serif;font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums}
/* Paket 389f: Abteilungsname in Großbuchstaben (Plex Sans), Mindestbreite passend */
header.bar .brand-mark{letter-spacing:.04em;text-transform:uppercase}
header.bar #bereichknopf{min-width:130px}
/* Paket 389f: Kacheln überall gleich – feste Höhe, Zahl in Plex Sans, Bezeichnung einzeilig */
.stats .stat{height:104px;box-sizing:border-box}
.stats .stat-v{font-family:"IBM Plex Sans",sans-serif;font-weight:600;font-size:24px;line-height:1.15;letter-spacing:-.01em}
.stats .stat-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Paket 395: Einsatzbereich / Schicht / ab sofort (auftragfelder.js) */
.af-wahl{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;min-height:34px}
.af-wahl label{display:inline-flex;align-items:center;gap:6px;font-weight:normal;margin:0;cursor:pointer;white-space:nowrap}
.af-wahl input{width:auto;margin:0}
.tag.af-eb{background:var(--accent-soft)}
.tag.af-sofort{background:var(--warn-bg)}
/* Paket 395c: Zeile Einsatzbereich/Schicht nach Inhalt breit, oben buendig */
.reihe[id$="-af395"]{align-items:flex-start;gap:8px 28px}
.reihe[id$="-af395"] > .feld{flex:0 1 auto !important}
/* Paket 395d: "ab sofort" rechts in der Beschriftung des Felds "ab" */
.feld:has(> .af-sofort-l){position:relative}
.af-sofort-l{position:absolute;top:0;right:0;display:inline-flex;align-items:center;gap:5px;margin:0;font-weight:normal;cursor:pointer;white-space:nowrap}
.af-sofort-l input{width:auto;margin:0}

/* Paket 395f: Bewerberfenster schmal; "ab sofort" als Knopf neben dem Datum */
#persondialog.mf.mf-bw{max-width:min(560px,96vw) !important;width:560px}
.af-ab{display:flex;gap:8px;align-items:center}
.af-ab > input{flex:1 1 auto;min-width:0}
.af-ab.sofort > input{opacity:.45}
.btn.af-sofort-k{white-space:nowrap}
.btn.af-sofort-k.an{background:var(--warn-bg);border-color:var(--warn);font-weight:600}
.af-sofort-t{background:var(--warn-bg);padding:1px 6px;border-radius:4px;font-weight:600}

/* Paket 396: Fenster Zugaenge (zugaenge.js) */
dialog.zg2{max-width:min(1060px,96vw) !important;width:1060px;padding:0}
.zg2-kopf{display:flex;gap:14px;align-items:flex-end;padding:18px 22px 14px;border-bottom:1px solid var(--line)}
.zg2-kopf h2{margin:0;font-size:18px}
.zg2-titel{flex:1 1 auto}
.zg2-titel p{margin:3px 0 0;font-size:13px;color:var(--ink-2)}
.zg2-kopf .zg2-name{flex:1 1 auto;align-self:center}
.zg2-kopf > .stufe,.zg2-kopf > .zg2-klein{align-self:center}
.zg2-f{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-2)}
.zg2-f input,.zg2-f select{height:34px;box-sizing:border-box;border:1px solid var(--line);border-radius:5px;padding:0 9px;font:inherit;font-size:13px;color:var(--ink);background:var(--surface)}
.zg2-f input:disabled{background:var(--surface-2);color:var(--ink-3)}
.zg2-kopf .zg2-f input{width:210px}
.zg2-inhalt{padding:14px 22px;max-height:min(62vh,640px);overflow-y:auto}
.zg2-tab{width:100%;border-collapse:collapse;font-size:13px}
.zg2-tab th{text-align:left;font-size:12px;font-weight:500;color:var(--ink-2);background:var(--surface-2);padding:8px 10px}
.zg2-tab td{padding:10px;border-top:1px solid var(--line-soft);vertical-align:top}
.zg2-tab tr.zg2-aus td{color:var(--ink-3)}
.zg2-ak{text-align:right;white-space:nowrap}
.zg2-klein{font-size:12px}
.zg2-sie{font-size:11px;background:var(--accent-soft);color:var(--accent);border-radius:9px;padding:1px 7px}
.zg2-ich{font-size:12px;margin-left:6px}
.zg2-chips{display:flex;flex-wrap:wrap;gap:4px}
.zg2-chip{font-size:12px;border:1px solid var(--line);border-left:3px solid var(--c);border-radius:4px;padding:1px 7px;background:var(--surface-2);white-space:nowrap}
.btn.zg2-k{font-size:12px;padding:4px 10px;margin-left:5px}
.btn.zg2-rot{color:var(--crit);border-color:var(--crit-bg)}
.btn.zg2-rot.zg2-best{background:var(--crit);color:#fff;border-color:var(--crit)}
.btn.zg2-gut{color:var(--ok);border-color:var(--ok)}
.zg2-fuss{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:12px 22px;border-top:1px solid var(--line);font-size:12px;color:var(--ink-2)}
.zg2-fuss .btn.zg2-k{font-size:13px;padding:7px 12px;margin:0}
.zg2-luecke{flex:1 1 auto}
.zg2-drei{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}
.zg2-feld{border:1px solid var(--line);border-radius:8px;margin:0 0 14px;padding:8px 12px 12px}
.zg2-feld legend{font-size:13px;font-weight:600;padding:0 5px}
.zg2-feld legend span{font-weight:400;color:var(--ink-2)}
.zg2-feld .hinweistext{margin:8px 0 0}
.zg2-rollen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}
.zg2-karte{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border:1px solid var(--line);border-radius:6px;font-size:13px;cursor:pointer}
.zg2-karte.an{border-color:var(--accent);background:var(--accent-soft)}
.zg2-karte b{font-weight:600}
.zg2-karte input{margin-top:3px}
.zg2-pillen{display:flex;flex-wrap:wrap;gap:8px}
.zg2-pille{display:flex;gap:6px;align-items:center;height:32px;padding:0 12px;border:1px solid var(--line);border-radius:16px;font-size:13px;cursor:pointer}
.zg2-pille:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.zg2-matt{opacity:.5}
.zg2-link{margin-bottom:12px}
.zg2-linkzeile{display:flex;gap:8px;margin-top:6px}
.zg2-linkzeile input{flex:1 1 auto;height:32px;border:1px solid var(--line);border-radius:5px;padding:0 8px;font:inherit;font-size:13px}
.zg2-link .hinweistext{margin:4px 0 0}
.zg2-kopf{flex-wrap:wrap}
.zg2-titel{flex:1 1 260px}
.zg2-inhalt{overflow-x:auto}
.zg2-tab{min-width:880px}
.zg2-tab td:nth-child(4),.zg2-tab td:nth-child(5){white-space:nowrap}

/* Paket 397b: Chat (chat.js) */
#kv-chat-knopf{position:relative;display:inline-flex;align-items:center;justify-content:center;margin-right:10px;vertical-align:middle}
#kv-chat-knopf svg{width:18px;height:18px}
#kv-chat-knopf.an{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.kv-chat-zahl{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;padding:0 4px;box-sizing:border-box;border-radius:9px;background:var(--crit);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}
#kv-chat{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:100vw;z-index:45;display:none;flex-direction:column;background:var(--surface);border-left:1px solid var(--line)}
#kv-chat.offen{display:flex}
#kv-chat.drueber{box-shadow:var(--shadow-lg)}
body.kv-chat-schiebt{padding-right:380px}
.kv-chat-kopf{display:flex;align-items:center;gap:8px;padding:12px 10px 12px 16px;border-bottom:1px solid var(--line)}
.kv-chat-titel{flex:1 1 auto;min-width:0}
.kv-chat-titel b{display:block;font-size:15px}
.kv-chat-titel small{display:block;font-size:12px;color:var(--ink-3)}
#kv-chat-kanal{height:30px;max-width:150px;border:1px solid var(--line);border-radius:5px;font:inherit;font-size:13px;background:var(--surface)}
.kv-chat-x{width:34px;height:34px;border:0;border-radius:6px;background:none;font-size:24px;line-height:1;color:var(--ink-2);cursor:pointer}
.kv-chat-x:hover{background:var(--surface-2)}
.kv-chat-liste{flex:1 1 auto;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:12px;background:var(--surface-2)}
.kv-chat-leer{margin:auto 0;text-align:center;font-size:13px;color:var(--ink-3)}
.kv-chat-tag{align-self:center;font-size:11px;color:var(--ink-2);background:var(--line-soft);padding:2px 10px;border-radius:10px}
.kv-chat-m{display:flex;gap:8px;align-items:flex-start}
.kv-chat-m.ich{justify-content:flex-end}
.kv-chat-av{width:28px;height:28px;flex:none;border-radius:50%;color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center}
.kv-chat-b{display:flex;flex-direction:column;gap:3px;max-width:82%;min-width:0}
.kv-chat-m.ich .kv-chat-b{align-items:flex-end}
.kv-chat-wer{font-size:12px;color:var(--ink-3)}
.kv-chat-wer b{color:var(--ink);font-weight:600;margin-right:6px}
.kv-chat-blase{background:var(--surface);border:1px solid var(--line-soft);border-radius:4px 12px 12px 12px;padding:8px 11px;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.kv-chat-m.ich .kv-chat-blase{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);border-radius:12px 4px 12px 12px}
.kv-chat-blase i{opacity:.75}
.kv-chat-chips{display:flex;flex-wrap:wrap;gap:5px}
.kv-chat-chip{font-size:12px;padding:3px 8px;border-radius:12px;background:var(--accent-soft);color:var(--accent)}
.kv-chat-gelesen{font-size:11px;color:var(--ink-3)}
.kv-chat-weg{border:0;background:none;padding:0;font:inherit;font-size:12px;color:var(--ink-3);cursor:pointer;text-decoration:underline;visibility:hidden}
.kv-chat-m:hover .kv-chat-weg,.kv-chat-weg:focus,.kv-chat-weg[data-sicher]{visibility:visible}
.kv-chat-weg[data-sicher]{color:var(--crit)}
.kv-chat-eingabe{display:flex;gap:8px;align-items:flex-end;padding:10px 12px;border-top:1px solid var(--line);background:var(--surface)}
#kv-chat-text{flex:1 1 auto;resize:none;min-height:36px;max-height:140px;box-sizing:border-box;border:1px solid var(--line);border-radius:7px;padding:8px 10px;font:inherit;font-size:13px;line-height:1.35}
#kv-chat-senden{height:36px;padding:0 14px;border:0;border-radius:7px;background:var(--accent);color:var(--accent-ink);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
#kv-chat-senden:disabled{opacity:.6;cursor:default}
.kv-chat-unsichtbar{position:absolute;left:-9999px}
@media print{#kv-chat,#kv-chat-knopf{display:none !important}body.kv-chat-schiebt{padding-right:0}}

/* Paket 397c: Chat fertig - Verweise, Direktnachrichten, gross mit Suche (chat.js) */
#kv-chat{flex-direction:row}
#kv-chat.offen{display:flex}
.kv-chat-haupt{position:relative;flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
.kv-chat-nav{display:none}
.kv-chat-kopf{gap:4px}
.kv-chat-x svg{width:18px;height:18px;vertical-align:middle}
#kv-chat.gross{left:0;width:auto;z-index:46;box-shadow:none}
#kv-chat.gross .kv-chat-nav{display:flex;flex-direction:column;width:270px;flex:none;border-right:1px solid var(--line);background:var(--surface)}
#kv-chat.gross #kv-chat-kanal{display:none !important}
#kv-chat.gross .kv-chat-liste{padding:16px 8%}
#kv-chat.gross .kv-chat-b{max-width:70%}
#kv-chat.gross .kv-chat-eingabe,#kv-chat.gross .kv-chat-anh{padding-left:8%;padding-right:8%}
.kv-chat-such{padding:12px;border-bottom:1px solid var(--line)}
#kv-chat-suche{width:100%;box-sizing:border-box;height:34px;border:1px solid var(--line);border-radius:7px;padding:0 10px;font:inherit;font-size:13px}
.kv-chat-navliste{flex:1 1 auto;overflow-y:auto;padding:6px 8px 12px}
.kv-chat-nh{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);padding:12px 8px 4px}
.kv-chat-nk{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;border-radius:6px;padding:6px 8px;font:inherit;font-size:13px;color:var(--ink-2);text-align:left;cursor:pointer}
.kv-chat-nk:hover{background:var(--surface-2)}
.kv-chat-nk.an{background:var(--accent-soft);color:var(--accent)}
.kv-chat-nk.neu .kv-chat-nkname{font-weight:700;color:var(--ink)}
.kv-chat-nkname{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kv-chat-raute{width:22px;text-align:center;flex:none;color:var(--ink-3);font-weight:600}
.kv-chat-av.klein{width:22px;height:22px;font-size:11px}
.kv-chat-nz{min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:9px;background:var(--crit);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}
.kv-chat-ndm{margin-top:8px;color:var(--accent)}
button.kv-chat-chip{border:0;font:inherit;font-size:12px;cursor:pointer;text-align:left}
button.kv-chat-chip:hover{text-decoration:underline}
.kv-chat-chip small{opacity:.75;font-size:11px}
.kv-chat-anh{display:flex;flex-wrap:wrap;gap:5px;padding:8px 12px 0;background:var(--surface)}
.kv-chat-anh button{border:0;background:none;padding:0 0 0 2px;font-size:13px;line-height:1;color:inherit;cursor:pointer}
.kv-chat-klammer{width:30px;height:36px;flex:none}
.kv-chat-wahl{position:absolute;left:10px;right:10px;z-index:2;max-height:320px;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-lg);padding:6px}
.kv-chat-wahl.unten{bottom:62px}
.kv-chat-wahl.oben{top:58px}
.kv-chat-wahl input{width:100%;box-sizing:border-box;height:32px;border:1px solid var(--line);border-radius:6px;padding:0 9px;font:inherit;font-size:13px;margin-bottom:4px}
.kv-chat-wkopf{font-size:11px;color:var(--ink-3);padding:2px 6px 4px}
.kv-chat-wi{display:flex;align-items:baseline;gap:8px;padding:6px 8px;border-radius:5px;cursor:pointer;font-size:13px}
.kv-chat-wi.an,.kv-chat-wi:hover{background:var(--accent-soft)}
.kv-chat-wart{flex:none;width:74px;font-size:11px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kv-chat-wt{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kv-chat-winfo{flex:none;max-width:40%;font-size:12px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kv-chat-treffer{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border-radius:8px;cursor:pointer}
.kv-chat-treffer:hover,.kv-chat-treffer:focus{background:var(--surface)}
.kv-chat-treffer .kv-chat-blase{align-self:flex-start;max-width:100%}
.kv-chat-treffer mark{background:#ffe58a;color:inherit;border-radius:2px}
.kv-chat-ziel .kv-chat-blase{outline:2px solid #f2b600;outline-offset:2px}
@media print{#kv-chat.gross{display:none !important}}
.kv-chat-titel small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#kv-chat-kanal{max-width:125px}

/* Paket 397c6: Eingabefeld zweizeilig, Vorschautext ganz lesbar */
#kv-chat-text{min-height:56px;line-height:1.4}
#kv-chat-text::placeholder{color:var(--ink-3)}

/* Paket 397d: Gruppen im Chat */
.kv-chat-gruppe{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;background:var(--surface)}
.kv-chat-gruppe[hidden]{display:none}
.kv-chat-gkopf{display:flex;align-items:center;gap:8px;padding:12px 10px 12px 16px;border-bottom:1px solid var(--line)}
.kv-chat-gkopf b{flex:1 1 auto;font-size:15px}
.kv-chat-gkoerper{flex:1 1 auto;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:8px}
.kv-chat-glabel{font-size:12px;font-weight:600;color:var(--ink-2)}
.kv-chat-glabel small{font-weight:400;color:var(--ink-3)}
#kv-chat-gname,#kv-chat-gsuche{height:34px;box-sizing:border-box;border:1px solid var(--line);border-radius:7px;padding:0 10px;font:inherit;font-size:13px}
.kv-chat-gabs{display:flex;flex-wrap:wrap;gap:6px}
.kv-chat-gab{border:1px solid var(--line);background:var(--surface-2);border-radius:14px;padding:4px 10px;font:inherit;font-size:12px;cursor:pointer}
.kv-chat-gab:hover{border-color:var(--accent);color:var(--accent)}
.kv-chat-gliste{display:flex;flex-direction:column;border:1px solid var(--line-soft);border-radius:7px;padding:4px}
.kv-chat-gzeile{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:5px;font-size:13px;cursor:pointer}
.kv-chat-gzeile:hover{background:var(--surface-2)}
.kv-chat-ghin{font-size:13px;color:var(--ink-3);margin:0 0 6px}
.kv-chat-gfuss{display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid var(--line)}
.kv-chat-gok{height:34px;padding:0 14px;border:0;border-radius:7px;background:var(--accent);color:var(--accent-ink);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.kv-chat-gweg{border:0;background:none;padding:0;font:inherit;font-size:13px;color:var(--crit);text-decoration:underline;cursor:pointer}
.kv-chat-wneu{width:100%;border:0;background:none;font:inherit;text-align:left;color:var(--accent);align-items:center}
.kv-chat-raute svg{vertical-align:-2px}
#kv-chat-info.kv-chat-link{cursor:pointer;text-decoration:underline dotted}
#kv-chat-info.kv-chat-link:hover{color:var(--accent)}

/* Paket 399b: Kandidatenprofil (profil.js) */
dialog.kp{max-width:min(1400px,97vw) !important;width:1400px;height:min(940px,94vh);padding:0;display:none;flex-direction:column;overflow:hidden}
dialog.kp[open]{display:flex}
.kp-kopf{display:flex;gap:16px;align-items:center;padding:14px 22px;border-bottom:1px solid var(--line);flex:0 0 auto}
.kp-kopfname{flex:1 1 auto;min-width:0}
.kp-kopf h2{margin:2px 0 0;font-size:18px;font-weight:600}
.kp-kopf h2 span{font-size:13px;font-weight:400;color:var(--ink-2)}
.kp-klein{font-size:12px;color:var(--ink-2);letter-spacing:.04em;text-transform:uppercase}
.kp-marken{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.kp-marke{font-size:12px;font-weight:600;padding:4px 10px;border-radius:99px}
.kp-marke.gut{background:var(--ok-bg);color:var(--ok)}
.kp-marke.warn{background:var(--warn-bg);color:var(--ink)}
.kp-leer{padding:30px 22px;color:var(--ink-2)}
.kp-rumpf{display:flex;flex:1 1 auto;min-height:0}
.kp-seite{width:290px;flex:0 0 auto;border-right:1px solid var(--line);background:var(--surface-2);padding:16px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}
.kp-haupt{flex:1 1 auto;min-width:0;padding:16px 22px;display:flex;flex-direction:column;gap:18px;overflow-y:auto}
.kp-titel{font-size:13px;font-weight:600;display:flex;align-items:center;gap:5px}
.kp-titel small,.kp-grau{font-weight:400;color:var(--ink-2);font-size:12px}
.kp-ablage{border:2px dashed var(--line);border-radius:8px;padding:14px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;background:var(--surface);font-size:13px;cursor:pointer}
.kp-ablage.an{border-color:var(--accent);background:var(--accent-soft)}
.kp-ablage.laeuft{opacity:.5;pointer-events:none}
.kp-ablage input{position:absolute;width:1px;height:1px;opacity:0}
.kp-ablage small{color:var(--ink-2)}
.kp-hoch{font-size:24px;color:var(--accent);line-height:1}
.kp-datei{display:grid;grid-template-columns:1fr auto;gap:2px 6px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px}
.kp-datei small{grid-column:1;color:var(--ink-2);font-size:12px}
.kp-datei .kp-x{grid-column:2;grid-row:1 / span 2;align-self:center}
.kp-link{border:0;background:none;padding:0;color:var(--accent);font:inherit;font-size:13px;cursor:pointer;text-align:left}
.kp-link:hover{text-decoration:underline}
.kp-ki-knopf{height:40px}
.kp-hinweis{margin:0;font-size:12px;color:var(--ink-2);line-height:1.5}
.kp-ki{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--warn);flex:0 0 auto}
.kp-ver{display:flex;justify-content:space-between;gap:8px;font-size:13px}
.kp-reihe6{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.kp-reihe2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.kp-reihe3{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:18px}
.kp-f{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-2);min-width:0}
.kp-f>span{display:flex;align-items:center;gap:5px}
.kp input:not([type=checkbox]):not([type=file]),.kp select,.kp textarea{box-sizing:border-box;width:100%;border:1px solid var(--line);border-radius:6px;padding:0 9px;font:inherit;font-size:13px;color:var(--ink);background:var(--surface)}
.kp input:not([type=checkbox]):not([type=file]),.kp select{height:36px}
.kp textarea{padding:7px 9px;resize:vertical;min-height:58px}
.kp input:disabled{background:var(--surface-2);color:var(--ink-2)}
.kp-ab{display:flex;gap:8px;align-items:center}
.kp-ab label{display:flex;gap:4px;align-items:center;font-size:13px;color:var(--ink);white-space:nowrap}
.kp .kp-ab input[type=date]{flex:1 1 0;min-width:0;width:auto}
.kp-ab label{flex:0 0 auto}
.kp-block{display:flex;flex-direction:column;gap:8px;min-width:0}
.kp-zeile{display:flex;justify-content:space-between;align-items:center}
.kp-chips{display:flex;flex-wrap:wrap;gap:6px}
.kp-chip{height:32px;padding:0 11px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font:inherit;font-size:13px;cursor:pointer;color:var(--ink)}
.kp-chip.an{background:var(--accent);border-color:var(--accent);color:var(--accent-ink,#fff)}
.kp-spr{display:flex;flex-direction:column;gap:4px}
.kp-sprkopf{display:flex;gap:8px;align-items:center;font-size:13px}
.kp-sprkopf span:first-child{flex:1 1 auto}
.kp-sprtext{color:var(--accent);font-weight:600}
.kp-stufen{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.kp-stufen button{height:24px;border:0;border-radius:3px;background:var(--surface-2);color:var(--ink-2);font:inherit;font-size:11px;cursor:pointer}
.kp-stufen button.an{background:var(--accent);color:var(--accent-ink,#fff)}
.kp-sprneu{max-width:240px}
.kp-station{display:grid;grid-template-columns:90px 90px 1fr 1fr 1.5fr 34px;gap:8px;align-items:start;padding:8px;border:1px solid var(--line);border-radius:6px}
.kp-ausb{display:grid;grid-template-columns:130px 1fr 34px;gap:8px;max-width:760px}
.kp-fett{font-weight:600 !important}
.kp-x{height:34px;width:34px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink-2);cursor:pointer;font:inherit}
.kp-x.rot{width:auto;padding:0 8px;color:var(--crit);border-color:var(--crit)}
.kp-sprkopf .kp-x{height:24px;width:24px}
.kp-fuss{display:flex;gap:10px;align-items:center;padding:12px 22px;border-top:1px solid var(--line);background:var(--surface-2);flex:0 0 auto}
.kp-fuss #kp-stand{flex:1 1 auto}
@media (max-width:1100px){.kp-reihe6{grid-template-columns:repeat(3,minmax(0,1fr))}.kp-reihe3{grid-template-columns:1fr 1fr}.kp-seite{width:230px}}
/* Paket 399c: Bewerber | Meta-Bewerber */
.kp-teile{margin:0 0 10px}
.kp-teile .vt3-tab{min-height:50px;font-size:15px;font-weight:600}
.kp-zuprofil{margin-left:8px;height:26px;padding:0 9px;border:1px solid var(--accent);border-radius:6px;background:var(--surface);color:var(--accent);font:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}
.kp-zuprofil:hover{background:var(--accent);color:var(--accent-ink,#fff)}
.kp-suche{height:34px;width:250px;box-sizing:border-box;border:1px solid var(--line);border-radius:6px;padding:0 10px;font:inherit;font-size:13px}
.kp-st{display:inline-block;font-size:12px;font-weight:600;padding:3px 9px;border-radius:99px;white-space:nowrap}
.kp-st.gelb{background:var(--warn-bg);color:var(--ink)}
.kp-st.blau{background:var(--accent-soft);color:var(--accent)}
.kp-st.gruen{background:var(--ok-bg);color:var(--ok)}
.kp-m{display:inline-block;font-size:12px;padding:2px 7px;border-radius:5px;background:var(--accent-soft);color:var(--accent);margin:0 3px 2px 0;white-space:nowrap}
tr.kp-zeile{cursor:pointer}
tr.kp-zeile:hover td{background:var(--surface-2)}
table.bw-tab tr.kp-zeile{display:table-row}   /* Paket 404: .kp-zeile (Profilfenster, display:flex) traf die Zeilen der Bewerberliste */
/* Paket 404: Einsatzübersicht mit Zulagen (Feld ueberlassung) */
.bs.mz .person,.bs.mz .spaltenkopf{grid-template-columns:minmax(0,1fr) 62px 54px 64px 56px}
.bs.mz .mz-fkz{font-family:inherit;font-size:12px;font-weight:600;color:var(--accent)}
/* Paket 404c: Kunden ohne Branchenzuschlag ohne BZ-Spalte; Kopfzeile Branche/Deckel */
.bs.mz.ohne-bz .person,.bs.mz.ohne-bz .spaltenkopf{grid-template-columns:minmax(0,1fr) 62px 64px 56px}
.k-kopf .sub.mz-ue{margin-top:2px}
.k-kopf .sub.mz-ue b{font-weight:600;color:var(--warn)}
@media print{.bs.mz.ohne-bz .person,.bs.mz.ohne-bz .spaltenkopf{grid-template-columns:minmax(0,1fr) 34px 30px 30px}}
/* Paket 404b: Schalter Fahrkarte (Bearbeiten-Fenster) */
.fk-schalter{display:flex;align-items:center;gap:10px;min-height:38px;cursor:pointer;font-weight:400;color:var(--ink-2)}
.fk-schalter input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.fk-schalter .sch{position:relative;flex:none;width:38px;height:22px;border-radius:999px;background:var(--line);transition:background .15s}
.fk-schalter .sch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(17,26,38,.25);transition:transform .15s}
.fk-schalter input:checked+.sch{background:var(--accent)}
.fk-schalter input:checked+.sch:after{transform:translateX(16px)}
.fk-schalter input:focus-visible+.sch{outline:2px solid var(--accent);outline-offset:2px}
.fk-schalter small{font-size:12px;line-height:1.3;color:var(--ink-3)}
.fk-schalter input:checked~small{color:var(--ink)}
#b-ausl-e:disabled{background:var(--surface-2);color:var(--ink-3)}
.bs.mz .z1{font-weight:600}
.bs.mz .mz-deckel{color:var(--warn)}
.bs.mz .mz-teile{font-variant-numeric:tabular-nums;color:var(--ink-2)}
.bs.mz .tag.mz-fk{background:var(--accent-soft);color:var(--accent);border-color:transparent}
@media print{.bs.mz .person,.bs.mz .spaltenkopf{grid-template-columns:minmax(0,1fr) 34px 30px 30px 30px}}
/* Paket 400: Unterkünfte ▾ Zuzahlung */
.zz{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}
.zz-kopf{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 14px}
.zz-monat{display:inline-flex;align-items:center;gap:6px}
.zz-monat b{min-width:150px;text-align:center;font-size:15px}
.zz-monat button{width:34px;height:34px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font:inherit;font-size:18px;cursor:pointer}
.zz-monat button:hover{background:var(--surface-2)}
.zz-lade{font-size:12px;color:var(--ink-3)}
.zz-suche{height:34px;width:220px;box-sizing:border-box;border:1px solid var(--line);border-radius:6px;padding:0 10px;font:inherit;font-size:13px}
.zz-chips{display:flex;flex-wrap:wrap;gap:6px}
.zz-chip{height:30px;padding:0 11px;border:1px solid var(--line);border-radius:99px;background:var(--surface);font:inherit;font-size:13px;cursor:pointer}
.zz-chip[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}
.zz-export{margin-left:auto}
.zz-warn{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;background:var(--warn-bg);border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin:0 0 12px;font-size:13px}
.zz-warn span{display:inline-flex;gap:8px;margin-left:auto}
.zz-tabelle{overflow-x:auto}
.zz table{width:100%;border-collapse:collapse;font-size:13px}
.zz th{text-align:left;font-size:12px;font-weight:600;color:var(--ink-3);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.zz td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.zz .r{text-align:right;white-space:nowrap}
.zz td small{display:block;font-size:12px;color:var(--ink-3)}
.zz tr.zz-z{cursor:pointer}
.zz tr.zz-z:hover td{background:var(--surface-2)}
.zz tfoot td{font-weight:600;border-bottom:0;border-top:2px solid var(--line)}
.zz-pf{width:26px;height:26px;border:0;background:none;font:inherit;cursor:pointer;color:var(--ink-3)}
.zz-st{display:inline-block;font-size:12px;font-weight:600;padding:3px 9px;border-radius:99px;white-space:nowrap}
.zz-st.ok{background:var(--ok-bg)}
.zz-st.voll{background:var(--accent-soft);color:var(--accent)}
.zz-st.warn{background:var(--warn-bg)}
.zz tr.zz-tage td{background:var(--surface-2)}
.zz-kal{display:flex;flex-wrap:wrap;gap:3px;margin:4px 0 12px}
.zz-tag{width:34px;height:40px;border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:13px;font-weight:600;border:1px solid var(--line)}
.zz-tag small{font-size:11px;font-weight:400;color:var(--ink-3)}
.zz-k-Z{background:var(--accent-soft)}
.zz-k-V{background:var(--warn-bg);border-color:var(--ink-3)}
.zz-k-F{background:repeating-linear-gradient(135deg,var(--surface),var(--surface) 4px,var(--surface-2) 4px,var(--surface-2) 8px)}
.zz-k-N{background:var(--ok-bg)}
.zz-k-L{background:var(--surface);color:var(--ink-3)}
.zz-unten{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px 28px}
.zz-unten ul{margin:4px 0 0;padding-left:18px;font-size:13px;line-height:1.6}
.zz-t{font-size:12px;font-weight:600;color:var(--ink-3)}
.zz-leer{color:var(--ink-3);font-size:13px}
.zz-mehr{font-size:13px;color:var(--ink-3);margin:10px 0 0}
.zz-regel{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 20px;margin:16px 0 0;padding:12px 0 0;border-top:1px solid var(--line);font-size:13px}
.zz-regel div{display:grid;grid-template-columns:16px 1fr;gap:2px 8px}
.zz-regel i{width:14px;height:14px;border-radius:3px;border:1px solid var(--line);grid-row:span 2;margin-top:2px}
.zz-regel span{color:var(--ink-3)}
/* Paket 400b: Bitte prüfen, eigene Kacheln */
.zz-k-U{background:var(--warn-bg);border:1px dashed var(--ink-3)}
.zz-kacheln{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:0 0 14px}

/* Paket 401: Namensfeld im Kandidatenprofil (neuer Bewerber) */
.kp-neuname{font:inherit;font-size:inherit;font-weight:600;width:min(340px,60vw);height:38px;box-sizing:border-box;border:1px solid var(--line);border-radius:6px;padding:0 10px;background:var(--surface);color:inherit;vertical-align:middle}
.kp-neuname:focus{outline:2px solid var(--accent);outline-offset:1px}

/* Paket 401b: Meldung im Profilfenster */
#kp-stand.kp-fehler{color:#b42318;font-weight:600}

/* Paket 401e: obere Reihe im Profilfenster mit vier Feldern */
.kp-reihe6.kp-reihe4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.kp-reihe6.kp-reihe4{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Paket 400c: Zuzahlung bearbeiten, Freigabe, Abschluss */
.zz-klick{cursor:pointer}
.zz-klick:hover,.zz-klick:focus-visible,.zz-wahl{outline:2px solid var(--accent);outline-offset:1px}
.zz-korr{box-shadow:inset 0 -4px 0 var(--accent)}
.zz-edit{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin:0 0 12px;max-width:860px}
.zz-edit-f{display:flex;flex-wrap:wrap;gap:10px 14px;margin:8px 0}
.zz-edit-f label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--ink-3)}
.zz-edit-f select,.zz-edit-f input{height:34px;box-sizing:border-box;border:1px solid var(--line);border-radius:6px;padding:0 8px;font:inherit;font-size:13px;color:var(--ink);background:var(--surface)}
#zz-e-betrag{width:110px}
.zz-edit-f .zz-edit-w{flex:1 1 280px}
.zz-edit-k{display:flex;flex-wrap:wrap;gap:8px}
.zz-meld{font-size:13px;margin:0 0 12px;padding:8px 12px;border-radius:8px;background:var(--ok-bg)}
.zz-meld.warn{background:var(--warn-bg)}
.zz-abg{font-size:13px;font-weight:600;padding:5px 11px;border-radius:99px;background:var(--ok-bg)}
.zz-frei label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap}
.zz-frei input{width:18px;height:18px;margin:0;cursor:pointer}
.zz-frei input:disabled{cursor:not-allowed}
.zz-frei small{display:inline;font-size:12px;color:var(--ink-3)}
.zz-verlauf{margin:12px 0 0}
.zz-verlauf ul{margin:4px 0 0;padding-left:18px;font-size:13px;line-height:1.6}

/* Paket 405: Reiter Angebot rechnen (angebot.js) - aus plan.html herausgeloest */
  /* ---------- Paket 306: Reiter Angebot rechnen ---------- */
  .ak-gitter{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
  @media (min-width:1000px){
    .ak-gitter{grid-template-columns:minmax(340px,420px) minmax(0,1fr);align-items:start}
    .ak-gitter > div{display:flex;flex-direction:column}
    .ak-gitter > div > .ak-karte:last-child{flex:1}
    .ak-gitter > div:first-child > .ak-karte{display:flex;flex-direction:column}
  }
  .ak-karte{background:var(--card,#fff);border:1px solid var(--line,#dfe3e6);border-radius:10px;padding:14px 16px}
  .ak-karte + .ak-karte{margin-top:14px}
  .ak-karte h3{font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:600;margin:0}
  .ak-gruppe{font-size:11px;color:var(--ink-3);margin:14px 0 4px;border-bottom:1px solid var(--line,#dfe3e6);padding-bottom:4px}
  .ak-gruppe:first-of-type{margin-top:6px}
  .ak-zeile{display:flex;align-items:center;gap:10px;padding:4px 0}
  .ak-zeile .ak-lb{flex:1;min-width:0;font-size:13px}
  .ak-zeile .ak-lb small{display:block;color:var(--ink-3);font-size:11px;line-height:1.35;margin-top:1px}
  .ak-zeile .ak-feld{display:flex;align-items:center;gap:6px;flex:0 0 auto}
  .ak-zeile input,.ak-zeile select{font:inherit;font-size:13px;padding:6px 9px;border:1px solid var(--line,#dfe3e6);
    border-radius:7px;background:var(--card,#fff);color:inherit;width:104px;text-align:right}
  .ak-zeile select{width:150px;text-align:left}
  .ak-zeile .ak-fix{width:104px;text-align:right;font-variant-numeric:tabular-nums;padding:6px 9px;
    border:1px dashed var(--line,#dfe3e6);border-radius:7px;color:var(--ink-2);background:var(--bg,#f4f6f8)}
  .ak-zeile .ak-eh{color:var(--ink-3);font-size:12px;width:30px}
  .ak-note{color:var(--ink-3);font-size:12px;line-height:1.5;margin-top:10px}
  .ak-fussnote{margin-top:auto;padding-top:12px;border-top:1px solid var(--line,#dfe3e6)}
  .ak-oben{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
  .ak-wert{font-family:'Barlow Condensed',sans-serif;font-size:24px;line-height:1}
  .ak-um{font-size:12px;color:var(--ink-3)}
  .ak-regler input[type=range]{width:100%;margin:12px 0 0;accent-color:#2b69ad}
  .ak-zonensym{position:relative;height:18px;margin-top:10px}
  .ak-zonensym span{position:absolute;transform:translateX(-50%);font-size:13px;line-height:1}
  .ak-zonen{position:relative;height:12px;border-radius:6px;overflow:hidden;margin-top:2px;display:flex}
  .ak-zonen span{display:block;height:100%}
  .ak-z1{background:#e4b4b0}.ak-z2{background:#f0d49a}.ak-z3{background:#a8d9bd}.ak-z4{background:#4fae7e}
  .ak-zeiger{position:absolute;top:-3px;width:3px;height:18px;border-radius:2px;background:var(--ink,#1d2226);
    transform:translateX(-50%);box-shadow:0 0 0 2px var(--card,#fff)}
  .ak-skala{position:relative;height:46px;margin-top:4px}
  .ak-marke{position:absolute;transform:translateX(-50%);text-align:center;font-size:11px;color:var(--ink-3);
    line-height:1.25;white-space:nowrap}
  .ak-marke i{display:block;width:1px;height:7px;background:var(--line,#dfe3e6);margin:0 auto 2px;font-style:normal}
  .ak-marke b{display:block;font-weight:600;color:var(--ink-2)}
  .ak-marke.tief{top:23px}
  .ak-marke.tief i{height:5px}
  .ak-marke.ak-ok b{color:var(--ok,#1e7a45)}.ak-marke.ak-ok i{background:var(--ok,#1e7a45)}
  .ak-marke.ak-wa b{color:var(--warn,#a8720a)}.ak-marke.ak-wa i{background:var(--warn,#a8720a)}
  .ak-marke.ak-cr b{color:var(--crit,#b3261e)}.ak-marke.ak-cr i{background:var(--crit,#b3261e)}
  .ak-erg{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:13px;
    border-bottom:1px dotted var(--line,#dfe3e6)}
  .ak-erg:last-child{border-bottom:0}
  .ak-erg .ak-lb2{color:var(--ink-2)}
  .ak-erg .ak-lb2 small{display:block;color:var(--ink-3);font-size:11px}
  .ak-erg .ak-w{font-variant-numeric:tabular-nums;white-space:nowrap}
  .ak-erg.ak-sum{border-top:1px solid var(--line,#dfe3e6);border-bottom:0;margin-top:4px;padding-top:8px;font-weight:600}
  .ak-erg.ak-gross .ak-w{font-family:'Barlow Condensed',sans-serif;font-size:20px;line-height:1}
  .ak-kalk{margin-top:12px}
  .ak-kalk .ak-kzeile{display:flex;gap:8px;align-items:center;margin:6px 0 0}
  .ak-kalk .ak-kzeile input[type=text]{flex:1 1 auto;min-width:0}
  .ak-kliste{margin-top:10px;border-top:1px solid var(--line,#dfe3e6)}
  .ak-kl{display:flex;justify-content:space-between;align-items:center;gap:8px;
    padding:6px 0;font-size:13px;border-bottom:1px solid var(--line,#dfe3e6)}
  .ak-kl:last-child{border-bottom:0}
  .ak-kl .ak-kn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ak-kl .ak-kn small{display:block;color:var(--ink-3);font-size:11px}
  .ak-kl .ak-kb{white-space:nowrap}
  .ak-kband{margin:2px 0 8px;padding:7px 9px;border:1px solid #2b69ad;border-radius:6px;
    background:var(--accent-soft,#eef4fb);font-size:12px;line-height:1.45}
  .ak-kleer{padding:7px 0;font-size:12px;color:var(--ink-3)}
  .ak-band{border-radius:8px;padding:10px 12px;margin:12px 0 0;font-size:13px}
  .ak-band.g{background:var(--okbg,#e8f5ed);color:var(--ok,#1e7a45)}
  .ak-band.m{background:var(--warnbg,#fdf3e0);color:var(--warn,#a8720a)}
  .ak-band.s{background:var(--critbg,#fdecea);color:var(--crit,#b3261e)}
  details.ak-klapp > summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:10px}
  details.ak-klapp > summary::-webkit-details-marker{display:none}
  details.ak-klapp > summary::after{content:"\25be";margin-left:auto;color:var(--ink-3);font-size:12px}
  details.ak-klapp[open] > summary::after{transform:rotate(180deg)}
  details.ak-klapp > summary .ak-kurz{font-size:12px;color:var(--ink-3)}
  details.ak-klapp[open] > summary .ak-kurz{display:none}

/* Paket 407/407c: Einsatz im Mitarbeiterfenster (linke Spalte unter Person), Personen-Symbol in der Einsatzübersicht */
#mf-einsatz{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.mfe-kopfzeile{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.mfe-oeffnen,.mfe-link{border:0;background:none;padding:0;font:inherit;font-size:13px;color:var(--accent,#0068b4);cursor:pointer}
.mfe-oeffnen:hover,.mfe-link:hover{text-decoration:underline}
.mfe-karte{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line,#d6dce3);border-radius:8px;min-width:0;overflow:hidden}
.mfe-karte.ohne-vs{grid-template-columns:repeat(2,minmax(0,1fr))}
.mfe-karte > div{padding:8px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.mfe-karte > .mfe-wer{grid-column:1/-1;border-bottom:1px solid var(--line-soft,#e6ebf0)}
.mfe-karte > div:not(.mfe-wer):not(.mfe-edz) + div:not(.mfe-edz){border-left:1px solid var(--line-soft,#e6ebf0)}
.mfe-karte.leer{display:block;padding:10px 12px;color:var(--ink-3,#7c8794);font-size:13px}
.mfe-karte .l{font-size:12px;color:var(--ink-2,#4a5563);display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mfe-karte .w{font-size:15px;font-weight:600;color:var(--ink,#131820);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mfe-karte .n{font-size:12px;color:var(--ink-3,#7c8794);white-space:nowrap}
.mfe-tag{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:0 6px;border-radius:999px;background:var(--accent-soft,#e2eef8);color:var(--accent,#0068b4);flex:none}
.mfe-tag.kommt{background:transparent;color:var(--ink-2,#4a5563);box-shadow:inset 0 0 0 1px var(--line,#d6dce3)}
.mfe-wert{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;max-width:calc(100% + 12px);margin:-1px -6px;padding:1px 6px;border:0;border-radius:6px;background:transparent;font:inherit;font-size:15px;font-weight:600;color:var(--ink,#131820);cursor:pointer;text-align:left;white-space:nowrap}
.mfe-wert svg{width:13px;height:13px;flex:none;fill:none;stroke:var(--accent,#0068b4);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .12s}
.mfe-wert:hover,.mfe-wert:focus-visible{background:var(--accent-soft,#e2eef8);outline:none}
.mfe-wert:hover svg,.mfe-wert:focus-visible svg{opacity:1}
.mfe-wert.fehlt{color:#8a5a00}
.mfe-karte > .mfe-edz{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid var(--line-soft,#e6ebf0);background:var(--surface-2,#f7f9fb)}
.mfe-edz label{font-size:12px;color:var(--ink-2,#4a5563);flex:1 0 100%}
.mfe-edz input{width:150px;flex:0 0 auto}
.ma-link{display:inline-grid;place-items:center;width:22px;height:22px;margin-left:4px;border-radius:6px;color:var(--ink-3,#7c8794);cursor:pointer;flex:none;vertical-align:middle}
.ma-link:hover,.ma-link:focus-visible{background:var(--accent-soft,#e2eef8);color:var(--accent,#0068b4);outline:none}
.ma-link svg,.b-ma svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.b-ma{display:inline-flex;align-items:center;gap:6px;margin-top:6px}
@media print{.ma-link,.b-ma{display:none !important}}
/* Paket 400d: Mehrfachauswahl, Hinweis, Zimmerpreis eintragen */
.zz-hinweis{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px;color:var(--ink-3);margin:2px 0 8px}
.zz .zz-mini{height:28px;padding:0 10px;font-size:13px}
.zz-unten li.zz-preisform{list-style:none;margin:6px 0 8px -18px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.zz-preisform input,.zz-preisform select{height:30px;box-sizing:border-box;border:1px solid var(--line);border-radius:6px;padding:0 8px;font:inherit;font-size:13px;color:var(--ink);background:var(--surface)}
.zz-preisform input{width:100px}
.zz-preisform small{flex-basis:100%;font-size:12px;color:var(--ink-3)}
.zz-preisform .zz-meld{flex-basis:100%;margin:0}

/* Paket 411: Fenster "Einsatz beendet" (einsatzende.js) – 411b im Stil der Board-Fenster */
dialog.ee{border:1px solid var(--line);border-radius:12px;padding:0;background:var(--surface);color:var(--ink);width:min(460px,92vw);box-shadow:0 24px 60px rgba(19,24,32,.28);overflow:hidden}
dialog.ee::backdrop{background:rgba(19,24,32,.38)}
.ee-kopf{padding:18px 22px 14px;border-bottom:1px solid var(--line)}
.ee-kopf h2{font-size:18px;line-height:1.1}
.ee-sub{display:block;margin-top:5px;font-size:13px;color:var(--ink-2)}
.ee-leib{padding:18px 22px;display:flex;flex-direction:column;gap:18px}
.ee-feld{display:flex;flex-direction:column;gap:6px}
.ee-lab{font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--ink-3)}
.ee-feld select{appearance:none;-webkit-appearance:none;width:100%;font:inherit;font-size:13px;color:var(--ink);cursor:pointer;
  background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%237c8794' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 11px center / 12px;
  border:1px solid var(--line);border-radius:var(--radius);padding:9px 34px 9px 11px}
.ee-feld select:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,104,180,.16)}
.ee-wahl{display:flex}
.ee-wahl .btn{flex:1;height:auto;padding:9px 10px;font-size:13px;border-radius:0;margin-left:-1px}
.ee-wahl .btn:first-child{border-radius:var(--radius) 0 0 var(--radius);margin-left:0}
.ee-wahl .btn:last-child{border-radius:0 var(--radius) var(--radius) 0}
.ee-wahl .btn.an{background:var(--accent);border-color:var(--accent);color:#fff;position:relative;z-index:1}
.ee-fuss{display:flex;justify-content:flex-end;gap:10px;padding:12px 22px;border-top:1px solid var(--line);background:var(--surface-2)}

/* Paket 412: Grund des Endes / "würde wieder einsetzen" – Karte im Mitarbeiterfenster, Einsatzübersicht, Vorschläge */
.mfe-karte > .mfe-grund{grid-column:1/-1;flex-direction:row;align-items:center;gap:10px;border-top:1px solid var(--line-soft,#e6ebf0)}
.mfe-karte > div + div.mfe-grund:not(.mfe-wer):not(.mfe-edz){border-left:0}
.mfe-grund .l{flex:0 0 auto}
.mfe-grund .mfe-wert{font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;align-self:center}
.mfe-grund .n{margin-left:auto}
.mfe-karte .n.ee-ja{color:var(--ok,#146b3f);font-weight:600}
.mfe-karte .n.ee-nein{color:var(--crit,#a3312b);font-weight:600}
.mfe-zuletzt{background:var(--surface-2,#f7f9fb)}
.mfe-zuletzt .w{font-size:13px}
.ee-vm:empty{display:none}
.ee-tag{max-width:260px;overflow:hidden;text-overflow:ellipsis;vertical-align:1px}
.anf-info.ee-warn{background:var(--crit-bg,#f9dedb);color:var(--crit,#a3312b)}
/* Paket 427 (Design B): Board-Fenster statt Browser-Dialoge (dialog.js) */
dialog.kd{border:1px solid var(--line);border-radius:var(--r2);padding:0;background:var(--surface);color:var(--ink);width:min(480px,92vw);box-shadow:0 24px 60px rgba(19,24,32,.28);overflow:hidden;font:400 var(--t13)/1.45 var(--f-sans)}
dialog.kd::backdrop{background:rgba(19,24,32,.38)}
.kd-kopf{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;background:var(--surface-2);border-bottom:1px solid var(--line)}
.kd-kopf h3{margin:0;font:600 var(--t18)/1 var(--f-cond);letter-spacing:.03em;text-transform:uppercase;color:var(--ink)}
.kd-x{border:0;background:none;font-size:var(--t18);line-height:1;color:var(--ink-3);cursor:pointer;padding:0 2px}
.kd-x:hover{color:var(--ink)}
.kd-leib{padding:16px}
.kd-text{margin:0;white-space:pre-line;overflow-wrap:anywhere}
.kd-lab{display:block;font-size:var(--t12);color:var(--ink-3);margin:14px 0 4px}
.kd-feld{display:block;width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:var(--r1);padding:0 10px;height:var(--knopf-m);font:400 var(--t13) var(--f-sans);background:#fff;color:var(--ink)}
textarea.kd-feld{height:84px;padding:8px 10px;resize:vertical}
.kd-text + .kd-feld{margin-top:12px}
.kd-feld:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,104,180,.16)}
.kd-fuss{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;background:var(--surface-2);border-top:1px solid var(--line)}
.kd-k{font:500 var(--t13)/1 var(--f-sans);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--r1);padding:0 14px;height:var(--knopf-m);cursor:pointer}
.kd-k:hover{background:var(--surface-2)}
.kd-k.pri{background:var(--accent);border-color:var(--accent);color:#fff}
.kd-k.gef{background:var(--crit);border-color:var(--crit);color:#fff}
.kd-k[disabled]{opacity:.45;cursor:default}
.kd-k:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* Paket 428 (Design C, Teil 1): Schnellfenster Typ A (dialog.fa) - Kopf grau, Felder untereinander, Speichern im Fuss */
dialog.fa{max-width:min(480px,94vw);width:100%;border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;font:400 var(--t13)/1.45 var(--f-sans)}
dialog.fa .dk{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 16px;background:var(--surface-2);border-bottom:1px solid var(--line)}
dialog.fa .dk h2{margin:0;font:600 var(--t18)/1.1 var(--f-cond);letter-spacing:.03em;text-transform:uppercase}
dialog.fa .dk p{margin:4px 0 0;font-size:var(--t12);color:var(--ink-3)}
dialog.fa .db{padding:16px;gap:12px}
dialog.fa:not(.breit) .feld{flex:none !important}
dialog.fa .feld{gap:4px}
dialog.fa .feld label{font-size:var(--t12);color:var(--ink-3)}
dialog.fa .feld input,dialog.fa .feld select,dialog.fa .feld textarea{height:var(--knopf-m);border:1px solid var(--line);border-radius:var(--r1);padding:0 10px;font:400 var(--t13) var(--f-sans);width:100%}
dialog.fa .feld input:focus,dialog.fa .feld select:focus,dialog.fa .feld textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,104,180,.16)}
/* Paket 614a: Textfelder in Fenstern haben Hoehe nach Zeilen und Innenabstand (vorher 34 px wie ein Eingabefeld, der Text klebte oben) */
dialog.fa .feld textarea{height:auto;min-height:60px;padding:8px 10px;line-height:1.5;resize:vertical}
dialog.fa .hinweistext{font-size:var(--t12);color:var(--ink-3);margin:0}
dialog.fa .df{background:var(--surface-2);border-top:1px solid var(--line);padding:12px 16px;gap:8px}
dialog.fa .tun{height:var(--knopf-m);padding:0 14px;border-radius:var(--r1);font-size:var(--t13);font-weight:600}
dialog.fa .tun.stumm{font-weight:500}
dialog.fa .df .fa-weg{margin-right:auto;background:none;border-color:transparent;color:var(--crit)}
dialog.fa .df .fa-weg:hover{background:var(--crit-bg);border-color:transparent;color:var(--crit)}
/* 428: "Einsatz beendet" (einsatzende.js) nach derselben Skala */
dialog.ee{border-radius:var(--r2);width:min(480px,92vw)}
.ee-kopf{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 16px;background:var(--surface-2)}
.ee-kopf h2{margin:0;font:600 var(--t18)/1.1 var(--f-cond);letter-spacing:.03em;text-transform:uppercase}
.ee-sub{margin-top:4px;font-size:var(--t12);color:var(--ink-3)}
.ee-leib{padding:16px;gap:14px}
.ee-fuss{padding:12px 16px;gap:8px}
.ee-fuss .btn,.ee-fuss .tun{height:var(--knopf-m);padding:0 14px;border-radius:var(--r1);font-size:var(--t13)}
/* Paket 428b (Design C, Teil 2): breite Formularfenster (Wechsel vormerken, Nicht angetreten) */
dialog.fa.breit{max-width:min(720px,94vw)}
dialog.fa fieldset{border:0;padding:0;margin:0}
dialog.fa legend{font:600 var(--t13) var(--f-sans);letter-spacing:0;text-transform:none;color:var(--ink);padding:0;margin-bottom:6px}
dialog.fa .nagr label{border-radius:var(--r1);font-size:var(--t13)}
dialog.fa .nafolgen{background:var(--warn-bg);border-color:transparent;border-radius:var(--r1);font-size:var(--t12)}
/* Paket 428c (Design C, Teil 3): Unterkunft/Buchen im Formularfenster-Muster, Mail-Fenster mit blauem Kopf */
dialog.fa.mail .dk{background:var(--accent);border-bottom-color:var(--accent)}
dialog.fa.mail .dk h2,dialog.fa.mail .dk p,dialog.fa.mail .kd-x{color:#fff}
#ukmaildialog{border:1px solid var(--line);border-radius:var(--r2);font-family:var(--f-sans)}
#ukmaildialog .ukm-kopf b{font:600 var(--t18)/1.1 var(--f-cond);letter-spacing:.03em;text-transform:uppercase}
#ukmaildialog .ukm-kopf small{font-size:var(--t12)}
#ukmaildialog .ukm-fuss button{height:var(--knopf-m);padding:0 14px;border-radius:var(--r1);font-size:var(--t13);font-weight:600}
/* Paket 429 (Design D, Teil 1): Fenstertyp B - Bereiche mit "ändern" (bereiche.js) */
dialog.fb fieldset{position:relative}
dialog.fb .kb-link{position:absolute;top:-10px;right:12px;background:var(--surface,#fff);border:0;padding:0 6px;font:inherit;font-size:var(--t12);color:var(--accent);cursor:pointer;text-decoration:underline}
dialog.fb .kb-edit>.kb-link,dialog.kb-neu .kb-link{display:none}
dialog.fb fieldset.kb-edit{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
dialog.fb fieldset.kb-lesen input:not([type=checkbox]):not([type=radio]),
dialog.fb fieldset.kb-lesen select,
dialog.fb fieldset.kb-lesen textarea{border-color:transparent;background:transparent;box-shadow:none;padding-left:0;-webkit-appearance:none;appearance:none;resize:none}
dialog.fb fieldset.kb-lesen [data-kb-form]{display:none}
dialog.fb .kb-intern{display:none !important}
dialog.fb [hidden]{display:none !important}
/* Paket 429b: Bereiche als Kästen (Titel auf der Linie, "ändern" rechts auf der Linie) */
dialog.fb fieldset{border:1px solid var(--line);border-radius:var(--r2);padding:12px 16px 10px;margin:0 0 14px;min-width:0}
dialog.fb fieldset>legend{padding:0 6px;margin-left:-6px;font:600 var(--t12)/1.2 var(--f-cond);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
dialog.fb .kb-link{top:-20px;line-height:1.2}
dialog.fb .kb-aus{display:none}
/* Paket 429c: Bereiche wie im Mockup 421 */
dialog.fb fieldset{border:1px solid var(--line);border-radius:var(--r1);padding:12px;margin:0 0 12px;min-width:0;position:relative}
dialog.fb fieldset>legend{float:left;width:calc(100% + 24px);box-sizing:border-box;margin:-12px -12px 12px -12px;padding:8px 12px;background:var(--surface-2);border-bottom:1px solid var(--line);border-radius:var(--r1) var(--r1) 0 0;font:600 var(--t15)/1.2 var(--f-cond);letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
dialog.fb fieldset>legend~*{clear:both}
dialog.fb .kb-link{top:7px;right:12px;padding:0 4px;background:none;line-height:1.2;z-index:1}
dialog.fb fieldset.kb-edit{border-color:var(--accent);box-shadow:none}
dialog.fb fieldset.kb-edit>legend{background:var(--accent-soft)}
dialog.fb fieldset.kb-lesen>.kb-reihe{display:none}
dialog.fb .kb-wt{display:none}
dialog.fb fieldset.kb-lesen>.kb-wt{display:grid;grid-template-columns:150px 1fr;font-size:var(--t13);margin:-12px -12px 0}
dialog.fb .kb-wt>div{padding:7px 12px;border-bottom:1px solid var(--line)}
dialog.fb .kb-wt>div:nth-child(odd){color:var(--ink-3)}
dialog.fb .kb-wt>div:nth-child(even){background:var(--surface-2)}
dialog.fb .kb-wt>div:nth-last-child(-n+2){border-bottom:0}

/* Paket 431 (Design D, Teil 2): Unterkunftsfenster wie Mockup 421 - feste Bereiche mit grauer Kopfleiste */
#ukdialog.breit{width:720px !important}
#ukdialog .kb-intern{display:none !important}
#ukdialog details.klapp[open]{border:1px solid var(--line);border-radius:var(--r1);margin:0 0 12px;background:var(--surface);overflow:hidden}
#ukdialog details.klapp[open]>summary{background:var(--surface-2);border-bottom:1px solid var(--line);padding:8px 12px;pointer-events:none;cursor:default;list-style:none}
#ukdialog details.klapp>summary::-webkit-details-marker{display:none}
#ukdialog details.klapp>summary .pfeil2,#ukdialog details.klapp>summary .kurz{display:none}
#ukdialog details.klapp>summary b{font:600 var(--t15)/1 var(--f-cond);letter-spacing:.04em;text-transform:uppercase}
#ukdialog details.klapp>.klappinhalt{padding:12px}
#ukdialog details#uk-preisblock[open]{border:0;border-radius:0;margin:8px 0 0;background:none}
#ukdialog details#uk-preisblock[open]>summary{background:none;border:0;padding:4px 0;font:600 var(--t13)/1.2 var(--f-sans);color:var(--ink-3)}

/* Paket 374b: Vermieter-Box im Unterkunftsfenster */
#uk-vm{border:1px solid var(--line);border-radius:var(--r1);margin:0 0 12px;background:var(--surface);overflow:hidden}
#uk-vm .ukvm-kopf{background:var(--surface-2);border-bottom:1px solid var(--line);padding:8px 12px;font:600 var(--t15)/1 var(--f-cond);letter-spacing:.04em;text-transform:uppercase}
#uk-vm .ukvm-body{padding:12px}
#uk-vm .ukvm-zeile{display:flex;align-items:baseline;gap:8px;margin:0 0 10px;font-size:var(--t13)}
#uk-vm .ukvm-lab{font-size:var(--t12);color:var(--ink-3);margin:2px 0 6px}
#uk-vm #uk-vm-haeuser{margin:8px 0 0}
#uk-vm .ukvm-chip{border:1px solid var(--line);background:var(--surface);border-radius:var(--r1);padding:3px 9px;font:400 var(--t12)/1.3 var(--f-sans);cursor:pointer;margin:0 6px 6px 0;color:var(--ink)}
#uk-vm .ukvm-chip:hover{border-color:var(--accent);background:var(--accent-soft)}
#uk-vm .ukvm-chip.aus{opacity:.55}
#uk-vm .ukvm-fuss{margin:6px 0 0}

/* Paket 374b2: Vermieter-Box nicht zusammendruecken */
#uk-vm{flex:none}

/* Paket 432 (Design D, Unterkunft): Haeuserleiste im Kopf, Preise, Fuss */
#ukdialog .dk{flex-wrap:wrap}
#ukdialog .ukhz{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}
#ukdialog .ukhz .lab{font:400 var(--t11)/1 var(--f-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-right:6px}
#ukdialog .ukhz .lab b{font-weight:600;color:var(--ink-2)}
#ukdialog .ukhz .lab .minilink{text-transform:none;letter-spacing:0}
#ukdialog .ukhz-h{font:500 var(--t12)/1 var(--f-sans);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--r1);padding:7px 11px;cursor:pointer}
#ukdialog .ukhz-h:hover{border-color:var(--accent);background:var(--accent-soft)}
#ukdialog .ukhz-h.an{background:var(--accent);border-color:var(--accent);color:#fff;cursor:default}
#ukdialog .ukhz-h.aus{opacity:.55}
#ukdialog .ukhz-h.neu{border-style:dashed;color:var(--accent);background:transparent}
#ukdialog .df .ukvm-foot{margin-right:auto}
#ukdialog .ukp-tab button{border:0;background:none;color:var(--accent);font:500 var(--t12)/1 var(--f-sans);padding:0 4px;height:auto;cursor:pointer}
#ukdialog .ukp-tab button.stumm{color:var(--ink-3)}
#ukdialog .ukp-tab button:hover{text-decoration:underline}
#ukdialog fieldset[data-bereich="preise"] .ukp-neu{padding-top:4px}

/* Paket 432b: Haus loeschen im Fuss, Kontakthinweis mit Luft */
#ukdialog .ukvm-foot .minilink{padding:0 10px 0 0}
#ukdialog .ukvm-foot .minilink.gefahr{color:var(--crit)}
#ukdialog:has(fieldset.kb-edit) .ukvm-foot,#ukdialog.kb-neu .ukvm-foot{display:none}
#ukdialog #uk-vm-kontakthinweis{margin:0 0 12px !important;line-height:1.45}

/* Paket 374c: Unterkunft waehlen - Vermieterzeile und eingerueckte Haeuser */
.lw-liste .ukzeile.ein,#uw-liste .ukzeile.ein{margin-left:18px;box-sizing:border-box;width:calc(100% - 18px)}
.lw-liste .ukzeile.vm .nm,#uw-liste .ukzeile.vm .nm{font-weight:700}
.lw-liste .ukzeile.vm,#uw-liste .ukzeile.vm{background:var(--surface-2)}

/* Paket 374d: Vermieterzeile auf der Hauskarte */
.uk-karte .uk-vm{font-size:var(--t12);color:var(--ink-3);margin-top:2px}

/* Paket 459: Einsatzbereich, Schicht und Niederlassung als Knoepfe; Taetigkeit in Anfrage und Auftrag */
.af-wahl{gap:6px}
.af-wahl label{position:relative;height:32px;padding:0 13px;border:1px solid var(--line);border-radius:var(--r1,6px);background:var(--surface);font-size:13px;color:var(--ink)}
.af-wahl label:hover{border-color:var(--accent)}
.af-wahl input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.af-wahl label:has(input:checked){background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}
.af-wahl label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.af459{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.af459 > .feld{flex:none}
.af459 fieldset.af459-t{margin:0}
.af459 textarea{box-sizing:border-box;width:100%;min-height:60px;padding:7px 9px;border:1px solid var(--line);border-radius:6px;font:inherit;font-size:13px;color:var(--ink);background:var(--surface);resize:vertical}
.anf .ort b{font-weight:600}
.taet459{margin-top:8px}
.taet459 strong{display:block;font-size:13px}
.taet459 summary{cursor:pointer;color:var(--accent);font-size:12px;margin-top:2px}
.taet459 p{margin:6px 0 0;white-space:pre-line;color:var(--ink-2)}
.taet459 p b{display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}
/* Paket 464: die alte Regel .feld{flex:1 1 120px !important} machte den Niederlassung-Block 120px hoch */
.af459 > .feld{flex:none !important}

/* Paket 467 - Fenstertyp B: Rahmen wie im Mockup 413b2 (Kopf und Fuss auf hellgrauem Band, Titel in Grossbuchstaben) */
dialog.fb .dk{padding:12px 16px;background:var(--surface-2);border-bottom:1px solid var(--line)}
dialog.fb .dk h2{margin:0;font:600 var(--t18)/1.1 var(--f-cond);letter-spacing:.03em;text-transform:uppercase}
dialog.fb .dk p{margin:4px 0 0;font-size:var(--t12);color:var(--ink-3)}
dialog.fb .db{padding:16px;gap:12px}
dialog.fb .df{background:var(--surface-2);border-top:1px solid var(--line);padding:12px 16px;gap:8px}

/* Paket 472: aufgeklappte Anfrage-/Auftragskarte - Aufgaben, Voraussetzungen, Sonstiges als Abschnitte, Bemerkung als Kasten */
.taet459 details.taet472 > summary{display:inline-block;padding:4px 10px;border:1px solid var(--accent);border-radius:var(--r1);margin-top:4px}
.taet459 details.taet472[open] > summary{background:var(--accent-soft)}
.t472-k{margin-top:8px;border:1px solid var(--line);border-radius:var(--r2);background:var(--surface);overflow:hidden;font-family:var(--f-sans)}
.t472-a{padding:10px 14px;border-top:1px solid var(--line-soft)}
.t472-a:first-child{border-top:0}
.t472-a h4,.t472-b h4{margin:0 0 4px;font:600 var(--t11)/1.2 var(--f-sans);letter-spacing:.07em;text-transform:uppercase;color:var(--accent)}
.t472-a ul{margin:0;padding-left:18px}
.t472-a li,.t472-a p{margin:2px 0;font-size:var(--t13);line-height:1.45;color:var(--ink)}
.t472-b{padding:10px 14px;background:var(--warn-bg);border-top:1px solid var(--line-soft);border-left:3px solid var(--warn);font-size:var(--t13);line-height:1.45;color:var(--ink)}
.t472-b h4{color:var(--warn)}
.taet459:has(details[open]) + .ort{display:none}

/* Paket 477: Einsatzuebersicht - Hinweis "hoehergruppiert" am Mitarbeiter */
.tag.hg477{background:var(--accent-soft);color:var(--accent);box-shadow:none;margin-left:4px}

/* Paket 476: Befristung je Mitarbeiter ("Genehmigt bis") - Zeichen in der Einsatzuebersicht, Block "Befristung laeuft aus" */
.tag.bef476{margin-left:4px;background:var(--surface-2);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line)}
.tag.bef476.w{background:var(--warn-bg);color:var(--warn);box-shadow:none}
.tag.bef476.r{background:var(--surface-2);color:var(--crit);box-shadow:inset 0 0 0 1px var(--crit)}
.bfl-blk .bfl-kd{grid-column:1/-1;font-weight:700;margin:6px 0 0}
.bfl-z [data-bef476]{margin-top:8px}
/* Paket 544: "Wer verfuegbar ist" - Name vor den Marken, Zeile darf umbrechen */
.vfg-blk .vp{flex-wrap:wrap; row-gap:2px}
.vfg-blk .vp .nm{flex:0 1 auto; max-width:100%}
.vfg-blk .vp > .mk, .vfg-blk .vp > .ab{flex:0 0 auto}
.vfg-blk .vp .ab{margin-left:auto}
/* Paket 549: Reiter Profilvertrieb im Board-Layout (vertrieb.js pfFreie) - Werkzeugleiste, Abschnitte, Tabelle wie Reiter Personal */
.pf549-leiste .btn{height:var(--knopf-m)}
.pf549-filter{display:flex;align-items:center;gap:8px;margin:0}
.pf549-filter span{font-size:var(--t12);color:var(--ink-3)}
.pf549-filter select{height:var(--knopf-m);padding:0 10px;border:1px solid var(--line);border-radius:var(--radius);background-color:#fff;font:inherit;font-size:var(--t13);color:var(--ink)}
.pf549-luft{flex:1}
.pf549-abschnitt{display:flex;align-items:baseline;gap:8px;margin:18px 0 8px}
.pf549-abschnitt h3{font:600 var(--t15) var(--f-sans);margin:0}
.pf549-z{font:500 var(--t12) var(--f-mono);color:var(--ink-3)}
.pf549-wrap{overflow-x:auto}
.pf549-tafel{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:clip;font-size:var(--t13)}
.pf549-tafel th{height:34px;padding:0 10px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:var(--t12);font-weight:600;color:var(--ink-2);text-align:left;white-space:nowrap}
.pf549-tafel td{height:40px;padding:0 10px;border-bottom:1px solid var(--line-soft);white-space:nowrap;vertical-align:middle}
.pf549-tafel tbody tr:last-child td{border-bottom:0}
.pf549-tafel tbody tr:hover td{background:var(--accent-soft)}
.pf549-tafel .pf549-cb{width:34px;text-align:center}
.pf549-tafel .pf549-r{text-align:right}
.pf549-nm{font-weight:500}
.pf549-leise{color:var(--ink-3);font-size:var(--t12);margin-left:6px}
.pf549-mono{font:var(--t12) var(--f-mono);color:var(--ink-3);margin-left:6px}
.pf549-marke{font-size:var(--t12);font-weight:600;padding:3px 9px;border-radius:99px;white-space:nowrap}
.pf549-marke.gut{background:var(--ok-bg);color:var(--ok)}
.pf549-marke.warn{background:var(--warn-bg);color:var(--ink)}
.pf549-satz{width:84px;height:var(--knopf-s);padding:0 8px;border:1px solid var(--line);border-radius:var(--radius);font:var(--t13) var(--f-mono);text-align:right;background:#fff}
.pf549-euro{color:var(--ink-3);font-size:var(--t12);margin-left:4px}
.pf549-link{background:none;border:0;padding:0;color:var(--accent);font:500 var(--t13) var(--f-sans);cursor:pointer}
.pf549-link:hover{text-decoration:underline}
.pf549-leer td{height:56px;text-align:center;color:var(--ink-3);font-style:italic;white-space:normal}
.pf549-hinweis{margin:12px 0 0;font-size:var(--t12)}
/* Paket 549: eigene Punkte im Profilfenster (#profildialog, Knoepfe .bw-staende) */
#profildialog .bw-staende .pf549-eigen{display:inline-flex;align-items:center;gap:7px}
.pf549-nurhier{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:rgba(255,255,255,.22);border-radius:99px;padding:2px 6px}
.pf549-weg{font-size:15px;line-height:1;opacity:.9;margin-left:-2px;cursor:pointer}
#profildialog .bw-staende .pf549-neu{border-style:dashed;background:transparent;color:var(--accent)}
.pf549-eingabe{display:inline-flex;gap:6px;align-items:center}
.pf549-eingabe input{height:31px;border:1px solid var(--accent);border-radius:20px;padding:0 12px;font:var(--t13) var(--f-sans);width:200px}
#profildialog .bw-staende .pf549-ok{background:var(--accent);border-color:var(--accent);color:#fff}
/* Paket 549c: alle Bloecke im Reiter Profilvertrieb im Stil des Reiters Personal */
.pf549-tafel td.pf549-w{white-space:normal;height:auto;padding-top:8px;padding-bottom:8px;min-width:120px}
.pf549-unter{display:block;font-size:var(--t12);color:var(--ink-3);margin-top:2px;white-space:normal}
.pf549-zeile{display:block}
.pf549-zeile .pf549-mono{margin-left:8px}
.pf549-tafel tr.pf549-blass td{opacity:.55}
.pf549-tafel .pf549-nr{white-space:nowrap;width:96px}
.pf549-pfeil{width:22px;height:22px;margin-left:4px;padding:0;border:1px solid var(--line);border-radius:var(--r1);background:var(--surface-2);color:var(--ink-2);font-size:11px;line-height:1;cursor:pointer;vertical-align:middle}
.pf549-pfeil:hover{border-color:var(--accent);color:var(--accent)}
.pf549-pfeil[disabled]{opacity:.35;cursor:default}
.pf549-datum{height:var(--knopf-s);padding:0 6px;border:1px solid var(--line);border-radius:var(--radius);font:var(--t13) var(--f-mono);background:#fff;color:var(--ink)}
a.pf549-link{text-decoration:none}
a.pf549-link:hover{text-decoration:underline}
.pf549-aktionen{display:inline-flex;gap:14px;align-items:center;justify-content:flex-end}
.pf549-hinweisbox{margin:0 0 12px;font-size:var(--t13);color:var(--ink-2)}
.pf549-unterleiste{margin-top:10px}
.pf549-tafel input[type=checkbox]{margin:0}
/* Paket 549d: Reiter Profilvertrieb nach Mockup Variante C */
.pf549-abschnitt{flex-wrap:wrap;row-gap:6px}
.pf549-abschnitt .pf549-filter{margin-left:10px}
.pf549-abschnitt .pf549-filter select{height:var(--knopf-s)}
.pf549-rechts{margin-left:auto}
.pf549-hinweisbox{text-align:left;background:var(--surface-2);padding:8px 12px;margin:0 0 12px;font-size:var(--t13);color:var(--ink-2)}
.pf549-notiz{font-size:var(--t12);color:var(--ink-3);margin:-4px 0 8px}
.pf549-k1{display:block;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--t12);color:var(--ink-3);line-height:1.3}
.pf549-betrag{width:64px;height:var(--knopf-s);padding:0 8px;border:1px solid var(--line);border-radius:var(--radius);font:inherit;font-size:var(--t13);text-align:right;background:#fff;color:var(--ink)}
.pf549-datumtext{height:var(--knopf-s);padding:0 4px;border:1px solid transparent;border-radius:var(--radius);background:transparent;font:inherit;font-size:var(--t13);color:var(--ink)}
.pf549-datumtext:hover,.pf549-datumtext:focus{border-color:var(--line);background:#fff}
.pf549-info{display:inline-grid;place-items:center;width:15px;height:15px;margin-left:6px;border:1px solid var(--ink-3);border-radius:50%;font-size:11px;line-height:1;color:var(--ink-3);cursor:help;vertical-align:middle}
.pf549-tafel th.pf549-schmal,.pf549-tafel td.pf549-schmal{width:44px;text-align:center}
.pf549-pfeilplatz{display:inline-block;width:22px;margin-left:4px;vertical-align:middle}
.pf549-tafel td{padding-top:4px;padding-bottom:4px}
/* Paket 560: Kasten mit Fensterkopf (allgemein, fuer alle Reiter): Umrandung wie dialog.fb fieldset, Kopf wie dialog.fa .dk, Aktionen als Link rechts */
.kasten{background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;margin:0 0 14px}
.kasten-kopf{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 16px;background:var(--surface-2);border-bottom:1px solid var(--line)}
.kasten-kopf h3{margin:0;font:600 var(--t18)/1.1 var(--f-cond);letter-spacing:.03em;text-transform:uppercase}
.kasten-kopf p{margin:4px 0 0;font-size:var(--t12);color:var(--ink-3)}
.kasten-links{display:flex;gap:16px;align-items:center;white-space:nowrap;padding-top:2px}
.kasten .pf549-tafel{border:0;border-radius:0}
/* Paket 560: Reiter Nachrichten (nachrichten.js) */
.nr560{font-size:var(--t13)}
.nr560-leiste{margin-bottom:4px}
.nr560-leiste .btn{height:var(--knopf-m);font-size:var(--t13)}
.nr560-leiste .btn[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}
.nr560-luft{flex:1}
.nr560-stand{font-size:var(--t12);color:var(--ink-3);white-space:nowrap}
.nr560-recht{background:var(--accent-soft);color:var(--accent)}
.nr560-abschnitt{font:600 20px var(--f-cond);margin:34px 0 10px;padding-top:10px;border-top:1px solid var(--line)}
.nr560-leiste + .nr560-abschnitt{margin-top:18px}
.nr560-tafel td.nr560-kurz{max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis}
.nr560-tafel tbody tr[data-nr560]{cursor:pointer}
/* Paket 795b: Mitarbeiterfenster - Notiz mehrzeilig */
#persondialog textarea.mf795-notiz{display:block;width:100%;box-sizing:border-box;height:auto;min-height:60px;padding:8px 10px;line-height:1.5;resize:vertical;border:1px solid var(--line);border-radius:var(--r1);font:400 var(--t13) var(--f-sans);background:var(--surface);color:var(--ink)}
#persondialog textarea.mf795-notiz:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,104,180,.16)}
/* Paket 794b: Zahnrad > Vorlagen > Kataloge - feste Breiten je Spaltenart, Text nimmt den Rest, Status und aendern immer rechts */
.kat794-tafel{table-layout:fixed}
.kat794-tafel th.kat794-schl{width:170px}
.kat794-tafel th.kat794-kurz{width:220px}
.kat794-tafel th.kat794-bes{width:30%}
.kat794-tafel th.kat794-abt{width:130px}
.kat794-tafel th.kat794-mon{width:80px}
.kat794-tafel th.kat794-status{width:110px}
.kat794-tafel th.kat794-aktion{width:90px}
.kat794-tafel td{overflow:hidden;text-overflow:ellipsis}
.kat794-tafel td.nr560-kurz{min-width:0;max-width:none;width:auto}
.kat794-tafel tbody td:first-child{color:var(--ink-3);font-size:var(--t12)}
/* Paket 792b: Zahnrad > Vorlagen - feste Breiten je Spaltenart, Status immer an derselben Stelle (nur Tabellen aus nachrichten.js tafel) */
.nr560-tafel:has(th[class*="nr792-sp-"]){table-layout:fixed}
.nr560-tafel th.nr792-sp-mail{width:150px}
.nr560-tafel th.nr792-sp-tag{width:60px}
.nr560-tafel th.nr792-sp-anhang{width:250px}
.nr560-tafel th.nr792-sp-ausloeser{width:200px}
.nr560-tafel th.nr792-sp-absender{width:150px}
.nr560-tafel th.nr792-sp-status{width:140px}
.nr560-tafel th.nr792-sp-zuletzt{width:110px}
.nr560-tafel th.nr792-sp-30t{width:70px}
.nr560-tafel th.nr792-sp-text{width:110px}
.nr560-tafel th.nr792-sp-von{width:160px}
.nr560-tafel th.nr792-sp-am{width:110px}
.nr560-tafel th.nr792-sp-aktion{width:290px}
.nr560-tafel th.nr792-sp-sprachen{width:150px}
.nr560-tafel th.nr792-sp-kopfbild{width:150px}
.nr560-tafel th.nr792-sp-gesendet{width:180px}
.nr560-tafel th.nr792-sp-zweck{width:220px}
.nr560-tafel:has(th[class*="nr792-sp-"]) td{overflow:hidden;text-overflow:ellipsis}
.nr560-tafel:has(th[class*="nr792-sp-"]) td.nr560-kurz{min-width:0}
.nr560-tafel:has(th[class*="nr792-sp-"]) td.nr755-anh{width:auto;min-width:0;max-width:none}
.nr560-leise{color:var(--ink-3);font-size:var(--t12)}
.nr560-zahl{font:var(--t12) var(--f-mono);color:var(--ink-2)}
.nr560-anh{display:inline-block;font-size:var(--t12);border:1px solid var(--line);border-radius:4px;padding:1px 7px;background:var(--surface-2);margin-right:4px;white-space:nowrap}
.nr560-q{font:600 var(--t11) var(--f-sans);letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border-radius:4px;white-space:nowrap}
.nr560-q.tab{background:var(--ok-bg);color:var(--ok)}
.nr560-q.misch{background:var(--warn-bg);color:var(--warn)}
.nr560-q.code{background:var(--crit-bg);color:var(--crit)}
.nr560-q.meta{background:var(--accent-soft);color:var(--accent)}
#nr560-fenster{max-width:min(760px,94vw) !important;font:400 var(--t13)/1.45 var(--f-sans)}
#nr560-fenster .db{max-height:52vh;overflow-y:auto;gap:8px}
.nr560-ansicht{display:flex;gap:6px;align-items:center;padding:8px 16px;border-bottom:1px solid var(--line-soft);font-size:var(--t12);color:var(--ink-3)}
.nr560-kz{display:grid;grid-template-columns:80px 1fr;gap:4px 12px;padding:12px 16px;border-bottom:1px solid var(--line-soft)}
.nr560-kz > span:nth-child(odd){color:var(--ink-3);font-size:var(--t12)}
.nr560-text{white-space:pre-wrap}
.nr560-sig{color:var(--ink-3);font-size:var(--t12);border-top:1px dashed var(--line);margin-top:4px;padding-top:8px}
.nr560-zeile{border:1px solid var(--line-soft);border-radius:var(--r1);padding:7px 10px}
.nr560-ph{background:var(--neu-bg);color:var(--neu);font:500 var(--t12) var(--f-mono);padding:0 4px;border-radius:3px}
.nr560-bsp{background:var(--warn-bg);border-radius:3px;padding:0 2px}
.nr560-vers{width:100%;border-collapse:collapse;font-size:var(--t13)}
.nr560-vers td{padding:6px 10px 6px 0;border-bottom:1px solid var(--line-soft)}
#nr560-fenster .df{display:flex;align-items:center;gap:8px}
/* Paket 562: Reiter Nachrichten - Aendern, Fassungen, Freigabe */
.nr562-fehler{margin:0;padding:8px 10px;border-radius:var(--r1);background:var(--crit-bg);color:var(--crit);font-size:var(--t13)}
.nr562-edit{gap:12px}
.nr562-reihe{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}
.nr562-feld{display:flex;flex-direction:column;gap:4px;margin:0}
.nr562-feld span{font-size:var(--t12);color:var(--ink-3)}
.nr562-feld input,.nr562-feld textarea{border:1px solid var(--line);border-radius:var(--r1);padding:0 10px;font:400 var(--t13)/1.5 var(--f-sans);color:var(--ink);background:var(--surface);width:100%;box-sizing:border-box}
.nr562-feld input{height:var(--knopf-m)}
.nr562-feld textarea{padding:8px 10px;resize:vertical;min-height:220px}
.nr562-feld input:focus,.nr562-feld textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,104,180,.16)}
.nr562-tag input{width:96px;font-family:var(--f-mono)}
.nr562-check{display:inline-flex;align-items:center;gap:6px;height:var(--knopf-m);font-size:var(--t13)}
.nr562-check input{margin:0}
.nr562-vorschau{border:1px dashed var(--line);border-radius:var(--r1);padding:10px 12px;min-height:220px}
.nr562-platz{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.nr562-ph{border:1px solid var(--line);background:var(--neu-bg);color:var(--neu);border-radius:4px;padding:2px 6px;font:500 var(--t12) var(--f-mono);cursor:pointer}
.nr562-ph:hover{border-color:var(--neu)}
.nr562-fassung{border:1px solid var(--line-soft);border-radius:var(--r1);padding:7px 10px}
.nr562-fassung summary{cursor:pointer;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.nr562-fassung[open] summary{margin-bottom:8px}
.nr562-vergleich{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.nr562-vergleich > div{border:1px solid var(--line-soft);border-radius:var(--r1);padding:8px 10px;min-width:0}
.nr562-vergleich h4{margin:0 0 6px;font:600 var(--t13) var(--f-sans);color:var(--ink-2)}
@media (max-width:700px){.nr562-vergleich{grid-template-columns:1fr}}
/* Paket 580: Querschnitt Optik - eine Fussregel fuer alle Fenster, Standard-Unterreiter, Baustellenliste, bw-tab */
/* Fusszeile (eine Regel): Abbrechen/Schliessen und andere leise Knoepfe ganz links, der Hauptknopf ganz rechts.
   Gilt fuer .df (dialog.fa/.fb und alle alten Fenster), .kd-fuss (dialog.js) und .ee-fuss (Einsatz beendet). */
.df,.kd-fuss,.ee-fuss{display:flex;align-items:center;justify-content:flex-start;gap:8px}
.df > .tun.stumm:not(.fa-weg),.df > .btn:not(.pri),.ee-fuss > .btn,.kd-fuss > .kd-k:not(.pri):not(.gef){order:-2}
.df > .fa-weg{order:-1}
.df > .tun:not(.stumm),.kd-fuss > .kd-k:is(.pri,.gef),.ee-fuss > .tun{margin-left:auto}
.df > .tun:not(.stumm) ~ .tun:not(.stumm),.kd-fuss > .kd-k:is(.pri,.gef) ~ .kd-k:is(.pri,.gef){margin-left:0}
.df > .nr560-luft{display:none}
.df > .kd-k:not(.pri):not(.gef){order:-2}
.df > .kd-k:is(.pri,.gef){margin-left:auto}
dialog#persondialog.mf .df{justify-content:flex-start}
.df > :is([value="zu"],[data-kb="zu"],[data-kb="abbr"]){order:-3}
/* Standard-Unterreiter: .vt3-tabs/.vt3-tab mit .an im Aussehen von .nr580-tabs - Regeln fuer alle Leisten in balken.js (Paket 596) */
.vt3-tabs.nr580-tabs{border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;margin:0 0 12px;padding:0}   /* Paket 644: Innenabstand 0, Rundung traegt der erste/letzte Reiter (balken.js) */
.vt3-tabs.nr580-tabs .vt3-tab{flex:0 0 auto;min-height:40px;padding:0 18px;font-size:var(--t13);font-weight:500}
.vt3-tabs.nr580-tabs .vt3-tab.an{font-weight:600}
/* Baustellenliste (baustellen580.js) */
dialog.fa.breit.bsl580{max-width:min(1000px,96vw);width:1000px}
.bsl580-leiste{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap}
.bsl580-leiste .pf549-filter input,.bsl580-leiste .pf549-filter select{height:var(--knopf-m);padding:0 10px;border:1px solid var(--line);border-radius:var(--r1);font:400 var(--t13) var(--f-sans);background:#fff;color:var(--ink)}
.bsl580-such input{width:260px}
.bsl580-fehlt{color:var(--crit);font-weight:500}
.bsl580-leer{color:var(--ink-3)}
.pf549-tafel td.bsl580-tel{color:var(--ink-3);font-family:var(--f-mono);font-size:var(--t12)}
/* Tabelle bw-tab (Bewerber, Akquise, Profile anbieten) auf die Masse der pf549-tafel: Kopf 34 px, Zeilen 40 px, 13 px, keine Grossbuchstaben */
table.bw-tab.bw-tab{font-size:var(--t13)}
table.bw-tab.bw-tab th{height:34px;padding:0 12px;font-size:var(--t12);font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink-2);background:var(--surface-2);vertical-align:middle}
table.bw-tab.bw-tab td{height:40px;padding:6px 12px;vertical-align:middle}
/* Paket 581: Vertriebsfenster (bw-d-*) im Schema - Kopf grau mit Barlow 18 (Mail-Fenster blau), Kaesten mit Kopfzeile, Fussregel */
dialog .bw-d-kopf{background:var(--surface-2);color:var(--ink);border-bottom:1px solid var(--line);padding:12px 16px}
dialog .bw-d-kopf b{display:block;font:600 var(--t18)/1.1 var(--f-cond);letter-spacing:.03em;text-transform:uppercase}
dialog .bw-d-kopf small{display:block;margin-top:4px;font-size:var(--t12);color:var(--ink-3);opacity:1}
dialog.bwd581-mail .bw-d-kopf{background:var(--accent);border-bottom-color:var(--accent);color:#fff}
dialog.bwd581-mail .bw-d-kopf small{color:#fff;opacity:.85}
dialog .bw-d-leib{padding:16px}
dialog .bw-d-fuss{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;padding:12px 16px;border-top:1px solid var(--line);background:var(--surface-2)}
dialog .bw-d-fuss button{height:var(--knopf-m);padding:0 14px;border-radius:var(--r1);font-size:var(--t13);font-weight:500;line-height:1}
dialog .bw-d-fuss button.haupt{font-weight:600;margin-left:auto}
dialog .bw-d-fuss button.haupt ~ button.haupt{margin-left:0}
dialog .bw-d-fuss > :not(.haupt){order:-2}
dialog .bw-d-fuss > .links{order:-1;margin-right:0}
dialog .bw-d-fuss > :is(#vt-zu,#ksd-zu,#pf-zu,#mr-zu,#fd-zu,#bw-zu){order:-3}
dialog .bw-d-fuss small.links,dialog .bw-d-fuss span.links{font-size:var(--t12);color:var(--ink-3)}
/* Kaesten (vtfenster581.js): Kopfzeile wie Fenstertyp B, Aktionen als Link rechts */
.bwd581-k{border:1px solid var(--line);border-radius:var(--r1);margin:0 0 12px;background:var(--surface)}
.bwd581-kk{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;background:var(--surface-2);border-bottom:1px solid var(--line);border-radius:var(--r1) var(--r1) 0 0}
.bwd581-kk h3{margin:0;font:600 var(--t15)/1.2 var(--f-cond);letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
.bwd581-links{display:flex;gap:14px;align-items:center;white-space:nowrap}
.bwd581-link{background:none;border:0;padding:0;font:500 var(--t12) var(--f-sans);color:var(--accent);cursor:pointer;text-decoration:underline}
.bwd581-link:hover{color:var(--ink)}
.bwd581-link:disabled{opacity:.45;cursor:default}
.bwd581-kl{padding:12px}
.bwd581-kl > :first-child{margin-top:0}
.bwd581-kl > :last-child{margin-bottom:0}
dialog.bwd581 .vt-anrufzeile{margin-top:8px}
dialog.bwd581 .bw-staende button{font-size:var(--t13)}
.bwd581-ks .bw-filter{margin:0 0 8px !important}
/* Jobboerse-Suche (vertrieb.js baut die Karten): Karten wie Kaesten, "Bearbeiten" als Link */
#vt-suchedlg [data-vtsuzeile]{border-color:var(--line) !important;border-radius:var(--r1) !important}
#vt-suchedlg .mr-knopf[data-vtsu="bearbeiten"]{background:none;border:0;padding:0;font:500 var(--t12) var(--f-sans);color:var(--accent);text-decoration:underline;cursor:pointer}
/* Akquise-Ansichten: Abschnittskoepfe wie pf549-abschnitt, Zeilenaktionen in Tabellen als Link */
.vt3-inhalt h4.vt3-h{font:600 var(--t15) var(--f-sans);margin:18px 0 8px;letter-spacing:0;text-transform:none;color:var(--ink)}
table.bw-tab .mr-knopf:not(.haupt){background:none;border:0;padding:0;font:500 var(--t13) var(--f-sans);color:var(--accent);cursor:pointer;margin-right:10px}
table.bw-tab .mr-knopf:not(.haupt):hover{text-decoration:underline}
/* Recherche-Fund: "Im Netz suchen" nur als Link (die alte Regel #fd-suchen gab ihm zusaetzlich Rahmen und Flaeche),
   Datumsfeld im Hinweis wie die anderen Felder im Board, "Verwerfen" dezent rot wie Entfernen in dialog.fa */
#funddialog #fd-suchen.bwd581-link{padding:0;border:0;border-radius:0;background:none;font:500 var(--t12) var(--f-sans);color:var(--accent);text-decoration:underline}
#funddialog #fd-suchen.bwd581-link:hover{background:none;color:var(--ink)}
#funddialog .vt-fd-anruf input[type=date]{height:var(--knopf-s);padding:0 8px;margin:0 4px;border:1px solid var(--line);border-radius:var(--r1);background:var(--surface);font:400 var(--t13) var(--f-sans);color:var(--ink);vertical-align:middle}
#funddialog .vt-fd-anruf input[type=date]:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,104,180,.16)}
#funddialog .bw-d-fuss #fd-verwerfen{color:var(--crit);background:none;border-color:transparent}
#funddialog .bw-d-fuss #fd-verwerfen:hover{background:var(--crit-bg)}
/* Firma: "Aus der Reihe nehmen" dezent rot wie "Verwerfen" */
#vertriebdialog .bw-d-fuss #vt-sperren{color:var(--crit);background:none;border-color:transparent}
#vertriebdialog .bw-d-fuss #vt-sperren:hover{background:var(--crit-bg)}
/* Paket 582: Bewerber-Detail, Kandidatenprofil, Auftragsfenster ohne Einsatz */
/* Bewerber-Detail (bwfenster582.js): Uebernahme als Links im Kasten "Dispoplanung" */
#bewerberdialog #bw-indispo.bwd581-link,#bewerberdialog #bw-raus.bwd581-link{width:auto;margin:0;padding:0;border:0;background:none;border-radius:0;font:500 var(--t12) var(--f-sans);color:var(--accent);text-decoration:underline;cursor:pointer}
#bewerberdialog #bw-raus.bwd581-link{color:var(--crit)}
#bewerberdialog #bw-indispo.bwd581-link:disabled{color:var(--ink-3);text-decoration:none;cursor:default}
#bewerberdialog .bw-uebernahme.b582-text{margin:0;padding:0;border:0}
#bewerberdialog .bw-uebernahme.b582-text p{margin:0;font-size:var(--t12);color:var(--ink-3)}
/* Kandidatenprofil (profil.js, dialog.kp): Kopf grau mit Barlow 18, Bloecke als Kaesten mit Kopfzeile */
dialog.kp .kp-kopf{background:var(--surface-2);padding:12px 22px}
dialog.kp .kp-kopf h2{font:600 var(--t18)/1.1 var(--f-cond);letter-spacing:.03em;text-transform:uppercase}
dialog.kp .kp-kopf h2 input.kp-neuname{text-transform:none;letter-spacing:0;font:400 var(--t15) var(--f-sans)}
dialog.kp .kp-haupt .kp-block{border:1px solid var(--line);border-radius:var(--r1);padding:0 12px 12px;background:var(--surface)}
dialog.kp .kp-haupt .kp-block > .kp-titel{margin:0 -12px 4px;padding:8px 12px;background:var(--surface-2);border-bottom:1px solid var(--line);border-radius:var(--r1) var(--r1) 0 0;font:600 var(--t15)/1.2 var(--f-cond);letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
dialog.kp .kp-haupt .kp-block > .kp-titel small{font:400 var(--t12) var(--f-sans);letter-spacing:0;text-transform:none;color:var(--ink-3)}
dialog.kp .kp-fuss .btn,dialog.kp .kp-fuss button{height:var(--knopf-m);font-size:var(--t13)}
/* Auftragsfenster ohne Einsatz (#bearbeiten ohne .eo-an): Klappkaesten wie Kaesten im Fenstertyp B (aufklappbar bleiben sie) */
#bearbeiten:not(.eo-an) details.klapp{border:1px solid var(--line);border-radius:var(--r1);margin:0 0 12px;background:var(--surface);overflow:hidden}
#bearbeiten:not(.eo-an) details.klapp>summary{padding:8px 12px;background:var(--surface-2);border-radius:0;align-items:center}
#bearbeiten:not(.eo-an) details.klapp[open]>summary{border-bottom:1px solid var(--line)}
#bearbeiten:not(.eo-an) details.klapp>summary b{font:600 var(--t15)/1.2 var(--f-cond);letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
#bearbeiten:not(.eo-an) details.klapp>summary .kurz{margin-left:auto;font-size:var(--t12);color:var(--ink-3)}
#bearbeiten:not(.eo-an) details.klapp .tun{height:var(--knopf-s);padding:0 12px;font-size:var(--t13);border-radius:var(--r1)}
/* Paket 583: Verwaltungsfenster - Stammdaten (stamm583.js, Fenstertyp B), Zugaenge (zugaenge.js), Verfuegbar (verfuegbar465.js) */
dialog.fa.breit.st583{max-width:min(860px,94vw)}
#stammdialog.st583 #st583-werte.kb-lesen > .kb-wt{display:none}
#stammdialog.st583 fieldset.kb-lesen #st-stufeneu{display:none}
#stammdialog.st583 fieldset .reihe{gap:8px 12px}
/* Zugaenge: Kopf grau mit Barlow 18, Tabelle mit den Massen der pf549-tafel, Fuss nach der Fussregel, Bereiche als Kaesten */
dialog.zg2 .zg2-kopf{background:var(--surface-2);padding:12px 16px;align-items:center}
dialog.zg2 .zg2-kopf h2{font:600 var(--t18)/1.1 var(--f-cond);letter-spacing:.03em;text-transform:uppercase}
dialog.zg2 .zg2-kopf p{font-size:var(--t12);color:var(--ink-3)}
dialog.zg2 .zg2-f input,dialog.zg2 .zg2-f select{font-size:var(--t13);height:var(--knopf-m)}
dialog.zg2 .zg2-kopf .btn.zg2-k[data-zg="zurueck"]{border:0;background:none;padding:0;margin:0;color:var(--accent);font:500 var(--t13) var(--f-sans);text-decoration:underline}
dialog.zg2 .zg2-tab{border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:var(--radius);overflow:clip;font-size:var(--t13)}
dialog.zg2 .zg2-tab th{height:34px;padding:0 10px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:var(--t12);font-weight:600;color:var(--ink-2);vertical-align:middle}
dialog.zg2 .zg2-tab td{height:40px;padding:6px 10px;border-top:0;border-bottom:1px solid var(--line-soft);vertical-align:middle}
dialog.zg2 .zg2-tab tbody tr:last-child td{border-bottom:0}
dialog.zg2 .zg2-tab .btn.zg2-k{border:0;background:none;padding:0;margin:0 0 0 12px;font:500 var(--t13) var(--f-sans);color:var(--accent);cursor:pointer}
dialog.zg2 .zg2-tab .btn.zg2-k:hover{text-decoration:underline}
dialog.zg2 .zg2-tab .btn.zg2-rot{color:var(--crit)}
dialog.zg2 .zg2-tab .btn.zg2-rot.zg2-best{background:var(--crit);color:#fff;padding:0 8px;border-radius:var(--r1)}
dialog.zg2 .zg2-tab .btn.zg2-gut{color:var(--ok)}
dialog.zg2 .zg2-fuss{justify-content:flex-start;padding:12px 16px;background:var(--surface-2);font-size:var(--t12)}
dialog.zg2 .zg2-fuss .zg2-luecke{display:none}
dialog.zg2 .zg2-fuss [data-zg="schliessen"],dialog.zg2 .zg2-fuss [data-zg="zurueck"]{order:-3}
dialog.zg2 .zg2-fuss .btn.zg2-k{order:-2;height:var(--knopf-m);font-size:var(--t13)}
dialog.zg2 .zg2-fuss [data-zg="speichern"],dialog.zg2 .zg2-fuss #zg2-zahl{margin-left:auto}
dialog.zg2 .zg2-feld{border-radius:var(--r1);padding:0 12px 12px;background:var(--surface)}
dialog.zg2 .zg2-feld > legend{float:left;width:calc(100% + 24px);box-sizing:border-box;margin:0 -12px 12px;padding:8px 12px;background:var(--surface-2);border-bottom:1px solid var(--line);border-radius:var(--r1) var(--r1) 0 0;font:600 var(--t15)/1.2 var(--f-cond);letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
dialog.zg2 .zg2-feld > legend span{font:400 var(--t12) var(--f-sans);letter-spacing:0;text-transform:none}
dialog.zg2 .zg2-feld > legend ~ *{clear:both}
/* Verfuegbar (verfuegbar465.js): Bereiche als Kaesten mit Kopfzeile, "Bewerber loeschen" wie Entfernen in dialog.fa */
#freidialog.vf465 .db > fieldset{border:1px solid var(--line);border-radius:var(--r1);padding:0 12px 12px;margin:0;background:var(--surface)}
#freidialog.vf465 .db > fieldset > legend{float:left;width:calc(100% + 24px);box-sizing:border-box;margin:0 -12px 12px;padding:8px 12px;background:var(--surface-2);border-bottom:1px solid var(--line);border-radius:var(--r1) var(--r1) 0 0;font:600 var(--t15)/1.2 var(--f-cond);letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
#freidialog.vf465 .db > fieldset > legend ~ *{clear:both}
#freidialog .df > #vf-loeschen{order:-1;color:var(--crit) !important;background:none;border-color:transparent}
#freidialog .df > #vf-loeschen:hover{background:var(--crit-bg)}
/* Paket 584: Unterkuenfte (nur Elektro) - Tabellen mit Kopf 34 px / Zeilen 40 px ohne Grossbuchstaben, Zeilenaktionen als Link,
   Preistabelle im Unterkunftsfenster, Mail des Vermieters mit blauem Kopf. #inhalt bzw. die Fenster-Kennung geht vor die Regeln
   aus unterkuenfte.js (die haengt ihre Stile zur Laufzeit hinter kalvero.css). */
/* Buchen: Rasterregeln entfallen mit Paket 600d (Tabelle .pf549-tafel, Aktionen als .pf549-link) */
#inhalt :is(.uk-r,.uk-kt) .akt{gap:14px}
/* Kosten (.uk-kt table) */
#inhalt .uk-kt th{height:34px;padding:0 12px;font-size:var(--t12);font-weight:600;text-transform:none;letter-spacing:0;color:var(--ink-2);vertical-align:middle}
#inhalt .uk-kt td{height:40px;padding:6px 12px;vertical-align:middle}
/* Zuzahlung (.zz) */
#inhalt .zz th{height:34px;padding:0 10px;font-size:var(--t12);color:var(--ink-2);background:var(--surface-2);vertical-align:middle}
#inhalt .zz td{height:40px;padding:6px 10px}
/* Unterkunftsfenster: Preistabelle */
#ukdialog .ukp-tab td{height:40px;padding:0 8px 0 0;vertical-align:middle}
#ukdialog .ukp-tab th{height:34px;font-size:var(--t12);color:var(--ink-2);font-weight:600}
/* Antwort vom Vermieter (#usutext) ist eine Mail: Kopf blau, einziger Knopf "Schliessen" leise links */
dialog#usutext .dk{background:var(--accent);border-bottom-color:var(--accent)}
dialog#usutext .dk :is(h2,p,.kd-x){color:#fff}
dialog#usutext .df > .tun{margin-left:0;background:var(--surface);color:var(--ink);border-color:var(--line);font-weight:500}
/* Paket 585: restliche Tabellen-Reiter und Marketing - Personal, Vermittler, Team, Kunde/Ueberlassung, Marketing-Fenster
   #inhalt bzw. die Fenster-Kennung gehen vor die Stile, die personal.js, vermittler.js, team.js, ueberlassung.js und
   marketing.js zur Laufzeit einhaengen. Kein JS geaendert. */
/* Personal (Standard-Raster aus plan.html): Kopf 34 px in Plex 12 ohne Grossbuchstaben, Zeilen mindestens 40 px */
#inhalt .prsn-kopfzeile{min-height:34px;padding:0 14px 0 15px;align-items:center;border-bottom:1px solid var(--line)}
#inhalt .prsn-kopfzeile span{font:600 var(--t12) var(--f-sans);letter-spacing:0;text-transform:none;color:var(--ink-2)}
#inhalt .prsn-zeile{min-height:40px;align-items:center}
/* Personal kompakt (personal.js): nichts abschneiden - lange Werte umbrechen statt "..." */
#inhalt .pk-tafel td{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;padding-top:4px;padding-bottom:4px}
/* Vermittler (vermittler.js): Zeilen 40 px wie pf549-tafel */
#inhalt .vt-tafel td{height:40px}
/* Team (team.js): Tagesueberschriften ohne Grossbuchstaben */
#inhalt .tm-tag{text-transform:none;letter-spacing:0;color:var(--ink-2)}
/* Kunde: Ueberlassung (ueberlassung.js) - Tabellenkopf 34 px ohne Grossbuchstaben, Zeilen 40 px */
#kundedialog .kue-dk th{height:34px;padding:0 8px;font-size:var(--t12);font-weight:600;text-transform:none;letter-spacing:0;color:var(--ink-2);vertical-align:middle}
#kundedialog .kue-dk td{height:40px;padding:0 8px;vertical-align:middle}
/* Marketing-Beitrag (marketing.js): Aktionen in den Bereichen "Bild" und "Veroeffentlichung" als Link; der Hauptschritt
   "Jetzt auf LinkedIn veroeffentlichen" bleibt ein Knopf */
#mkdialog .mk-k:not(.haupt){height:auto;padding:0;border:0;background:none;color:var(--accent);font:500 var(--t12) var(--f-sans);text-decoration:underline;cursor:pointer}
#mkdialog .mk-k:not(.haupt):hover{color:var(--ink)}
#mkdialog :is(.mk-akt,.mk-bild){gap:8px 16px;align-items:center}
/* LinkedIn-Verbindung und Bilder-Pool: Knoepfe in den Bereichen auf 28 px, damit sie nicht wie Fuss-Knoepfe wirken */
#mkli fieldset .tun,#mkbild .db .tun{height:var(--knopf-s);padding:0 10px;font-size:var(--t13);font-weight:500}
/* Paket 583b: Stammdaten, Staffel - "entfernen" je Stufe und "Stufe hinzufuegen" nur nach "aendern", als Link (entfernen dezent rot) */
#stammdialog.st583 fieldset.kb-lesen .stufe-zeile .weg{display:none}
#stammdialog.st583 .stufe-zeile .weg{align-self:center;height:auto;margin:0 0 0 6px;padding:0;border:0;background:none;font:500 var(--t12) var(--f-sans);color:var(--crit);cursor:pointer}
#stammdialog.st583 .stufe-zeile .weg:hover{text-decoration:underline}
#stammdialog.st583 #st-stufeneu{height:auto;padding:0;border:0;background:none;font:500 var(--t12) var(--f-sans);color:var(--accent);text-decoration:underline;cursor:pointer}
/* Paket 586a: Dispoplanung - Personalanfrage-Karten nach Mockup 586 (anfragen.js karte()). Kein farbiger Rand links,
   Kopf grau mit Titel Barlow 18, Plaketten in den vier Statusfarben, Tabelle 34/40 px, Hauptknopf im Fuss */
.auf.anf.a586,.auf.anf.a586.offen{border:1px solid var(--line);border-left:1px solid var(--line);border-radius:var(--r2);background:var(--surface);overflow:hidden;cursor:default}
.auf.anf.a586:hover{border-color:var(--line)}
.a586-kopf{display:flex;align-items:flex-start;gap:12px;padding:10px 16px;min-height:46px;background:var(--surface-2);border-bottom:1px solid var(--line)}
.a586-t{flex:1;min-width:0}
.a586-kopf h3{margin:0;font:600 var(--t18)/1.1 var(--f-cond);letter-spacing:.02em;text-transform:uppercase;color:var(--ink);cursor:pointer}
.a586-sub{margin-top:3px;font-size:var(--t12);color:var(--ink-3)}
.a586-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}
.a586-chips .tag{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px;border-radius:5px;border:1px solid var(--line);background:var(--surface);font:500 var(--t11) var(--f-sans);color:var(--ink-2)}
.a586-re{margin-left:auto;display:flex;gap:14px;align-items:center;flex:none}
.a586-pl,.anf-chip.a586-pl{display:inline-flex;align-items:center;height:22px;padding:0 10px;border:0;border-radius:999px;font:500 var(--t12) var(--f-sans);white-space:nowrap}
.a586-pl.blau{background:var(--accent-soft);color:var(--accent)}
.a586-pl.ok{background:var(--ok-bg);color:var(--ok)}
.a586-pl.warn{background:var(--warn-bg);color:var(--warn)}
.a586-pl.crit{background:var(--crit-bg);color:var(--crit)}
.a586-pl.grau{background:#e6e8ec;color:var(--ink-2)}
.anf-vt.a586-tafel th{height:34px;padding:0 16px;font:600 var(--t12) var(--f-sans);letter-spacing:0;text-transform:none;color:var(--ink-3);background:var(--surface);border-bottom:1px solid var(--line-soft);white-space:nowrap}
.anf-vt.a586-tafel td{height:40px;padding:0 16px;font-size:var(--t13);border-top:1px solid var(--line-soft);vertical-align:middle}
.anf-vt.a586-tafel tbody tr:first-child td{border-top:0}
.anf-vt.a586-tafel .rot{color:var(--crit);font-weight:500}
.a586-leer{padding:10px 16px;margin:0}
.a586-fuss{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--surface-2);border-top:1px solid var(--line)}
.a586-fuss .tun{height:var(--knopf-s);padding:0 12px;font-size:var(--t12);border-radius:var(--r1)}
.a586 .taet459{margin-top:5px}
/* Paket 586b: Einsatzuebersicht nach Mockup 586 - Kunden-Karten, Einsatzorte und Zeilen wie Tabelle 34/40 px (Zahlen rechts, Mono),
   Montagsrunde als Kasten mit Kacheln, "Stand heute" als grauer Hinweis, Befristung als Tabelle im Kasten. Nur am Bildschirm,
   der Druck bleibt wie er ist. Kein farbiger Rand. */
@media screen{
#inhalt .card{border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;background:var(--surface)}
#inhalt .card .k-kopf{align-items:center;gap:12px;padding:8px 16px;min-height:46px;background:var(--surface-2);border-bottom:1px solid var(--line)}
#inhalt .card .k-kopf:hover{background:var(--accent-soft)}
#inhalt .card .k-kopf h3{margin:0;font:600 var(--t18)/1.1 var(--f-cond);letter-spacing:.02em;text-transform:uppercase;color:var(--ink)}
#inhalt .card .k-kopf .sub{margin-top:3px;font-size:var(--t12);color:var(--ink-3)}
#inhalt .card .k-kopf .n b{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font:500 var(--t12) var(--f-sans);letter-spacing:0;line-height:1}
#inhalt .card .bs + .bs{border-top:0}
#inhalt .card .bs-kopf{min-height:34px;padding:0 16px;background:var(--surface);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
#inhalt .card .k-kopf + .bs .bs-kopf{border-top:0}
#inhalt .card .bs-kopf:hover{background:var(--accent-soft)}
#inhalt .card .bs-kopf .o{font:600 var(--t15)/1.1 var(--f-cond);letter-spacing:.02em;text-transform:uppercase;color:var(--ink)}
#inhalt .card .bs-kopf .z{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:5px;border:1px solid var(--line);background:var(--surface);font:500 var(--t11) var(--f-sans);color:var(--ink-2)}
#inhalt .card .spaltenkopf{min-height:34px;align-items:center;padding:0 16px;border-bottom:1px solid var(--line-soft)}
#inhalt .card .spaltenkopf span{font:600 var(--t12) var(--f-sans);letter-spacing:0;text-transform:none;color:var(--ink-3)}
#inhalt .card .person{min-height:40px;padding:6px 16px;align-items:center;border-left:0;border-top:1px solid var(--line-soft)}
#inhalt .card ul.people > li:first-child .person{border-top:0}
#inhalt .card .person:hover{background:var(--accent-soft)}
/* Montagsrunde (mrmail525.js): Kasten mit grauem Kopf, Zahl als Plakette, Kacheln */
#inhalt details.mr{border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;background:var(--surface)}
#inhalt .mr-h{align-items:center;padding:8px 16px;min-height:46px;background:var(--surface-2)}
#inhalt .mr-h:hover{background:var(--surface-2)}
#inhalt .mr[open] .mr-h{border-bottom:1px solid var(--line)}
#inhalt .mr-h h3{margin:0;font:600 var(--t18)/1.1 var(--f-cond);letter-spacing:.02em;text-transform:uppercase;color:var(--ink)}
#inhalt .mr-h p{font-size:var(--t12);color:var(--ink-3)}
#inhalt .mr-h .z.a586-pl{margin-left:auto}
#inhalt .mr-b{padding:14px 16px;gap:10px}
#inhalt .mrz{flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:var(--r1);padding:10px 12px}
#inhalt .mrz.ok,#inhalt .mrz.problem,#inhalt .mrz.weg{border-color:transparent}
#inhalt .mrz .wo small{font-size:var(--t11)}
#inhalt .mrz .tun2 button{height:var(--knopf-s);padding:0 12px;border:1px solid var(--line);border-radius:var(--r1);background:var(--surface);font:500 var(--t12) var(--f-sans);color:var(--ink)}
#inhalt .mrz .tun2 button.an{background:var(--accent);border-color:var(--accent);color:#fff}
/* Stand heute: schlichter grauer Hinweis */
#inhalt .hinweis.e586-stand{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r2);padding:10px 16px;margin:0 0 16px;text-align:left;font-size:var(--t13);color:var(--ink-2)}
#inhalt .hinweis.e586-stand b{color:var(--ink)}
/* Befristung laeuft aus (befristung476.js) */
#inhalt .kasten.e586-bef{margin:16px 0 18px}
}
/* Paket 586c: Sonstiges - Themen, Zu klaeren, Team nach Mockup 586 (nur CSS; Themen und Zu klaeren stehen in plan.html,
   Team in team.js). #inhalt geht vor die Stile, die plan.html (th-css) und team.js zur Laufzeit einhaengen. Nur am Bildschirm. */
@media screen{
/* Themen: Karte = Kasten mit grauem Kopf, hoch/normal und Frist als Plakette, Auswahlfelder wie im Board */
#inhalt .th-gruppe > h3{margin:18px 0 8px;font:600 var(--t15) var(--f-sans);letter-spacing:0;text-transform:none;opacity:1;color:var(--ink)}
#inhalt .th-gruppe:first-child > h3{margin-top:4px}
#inhalt .th-karte{padding:0;border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;margin:0 0 10px;background:var(--surface)}
#inhalt .th-karte > .th-zeile{gap:8px 12px;padding:8px 16px;min-height:46px;background:var(--surface-2);border-bottom:1px solid var(--line)}
#inhalt .th-titel{font:600 var(--t18)/1.1 var(--f-cond);letter-spacing:.02em;text-transform:uppercase;color:var(--ink)}
#inhalt .th-karte > .th-klein{margin:0 !important;padding:8px 16px 0;opacity:1;font-size:var(--t13);color:var(--ink-2)}
#inhalt .th-karte > details{margin:0;padding:8px 16px 10px}
#inhalt .th-karte summary{font-size:var(--t12);color:var(--ink-3);opacity:1}
#inhalt .th-prio,#inhalt .th-frist{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:999px;font:500 var(--t12) var(--f-sans);white-space:nowrap}
#inhalt .th-prio,#inhalt .th-prio.th-p2,#inhalt .th-prio.th-p3{background:#e6e8ec;color:var(--ink-2)}
#inhalt .th-prio.th-p1{background:var(--warn-bg);color:var(--warn)}
#inhalt .th-frist,#inhalt .th-frist.gelb{background:var(--warn-bg);color:var(--warn)}
#inhalt .th-frist.rot{background:var(--crit-bg);color:var(--crit)}
#inhalt .th-erledigt .th-frist,#inhalt .th-erledigt .th-prio{background:#e6e8ec;color:var(--ink-3)}
#inhalt .th-zeile select{height:var(--knopf-s);padding:0 8px;border:1px solid var(--line);border-radius:var(--r1);background:var(--surface);font:400 var(--t13) var(--f-sans);color:var(--ink)}
#inhalt .th-neu input,#inhalt .th-neu select,#inhalt .th-notiz input{height:var(--knopf-m);padding:0 10px;border:1px solid var(--line);border-radius:var(--r1);background:var(--surface);font:400 var(--t13) var(--f-sans);color:var(--ink)}
#inhalt .th-zeile select:focus,#inhalt .th-neu input:focus,#inhalt .th-neu select:focus,#inhalt .th-notiz input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,104,180,.16)}
#inhalt .th-knopf{height:var(--knopf-m);padding:0 12px;border:1px solid var(--line);border-radius:var(--r1);background:var(--surface);font:500 var(--t13) var(--f-sans);color:var(--ink)}
#inhalt .th-knopf.an{background:var(--accent);border-color:var(--accent);color:#fff}
#inhalt .th-notiz .th-knopf{height:var(--knopf-m)}
#inhalt .th-verlauf li{border-top:1px solid var(--line-soft)}
/* Zu klaeren: Gruppe = Kasten mit grauem Kopf, Stufe und Anzahl als Plakette */
#inhalt .gruppe{border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;margin-bottom:14px}
#inhalt .gruppe > h2{align-items:center;gap:8px 12px;padding:8px 16px;min-height:46px;background:var(--surface-2);border-bottom:1px solid var(--line);font:600 var(--t18)/1.1 var(--f-cond);letter-spacing:.02em;text-transform:uppercase;color:var(--ink)}
#inhalt .gruppe > h2 .ort{font:400 var(--t12) var(--f-sans);letter-spacing:0;text-transform:none;color:var(--ink-3)}
#inhalt .gruppe > h2 .stufe,#inhalt .gruppe > h2 .anz{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:999px;font:500 var(--t12) var(--f-sans);letter-spacing:0;text-transform:none;white-space:nowrap}
#inhalt .gruppe > h2 .stufe.hoch{background:var(--crit-bg);color:var(--crit)}
#inhalt .gruppe > h2 .stufe.mittel{background:var(--warn-bg);color:var(--warn)}
#inhalt .gruppe > h2 .stufe.niedrig{background:#e6e8ec;color:var(--ink-2)}
#inhalt .gruppe > h2 .anz{margin-left:auto;background:var(--accent-soft);color:var(--accent)}
#inhalt .gruppe .kk-gitter{padding:14px 16px;gap:10px}
#inhalt .gruppe .kk{border:1px solid var(--line);border-radius:var(--r2);padding:12px 14px;background:var(--surface)}   /* Paket 791b: wie .d656-karte */
#inhalt .gruppe .kk b{display:block;font:600 var(--t13) var(--f-sans);color:var(--ink)}
#inhalt .gruppe .kk p{margin:4px 0 0;font:400 var(--t12) var(--f-sans);color:var(--ink-3)}
#inhalt .gruppe .kk[data-person]:not([data-person=""]){cursor:pointer}
#inhalt .gruppe .kk[data-person]:not([data-person=""]):hover{border-color:var(--accent)}
/* Team (team.js): Kasten mit grauem Kopf, Zeilen mindestens 40 px */
#inhalt .tm{padding:0;overflow:hidden;border-radius:var(--r2);box-shadow:none}
#inhalt .tm-kopf{margin:0;padding:8px 16px;min-height:46px;background:var(--surface-2);border-bottom:1px solid var(--line)}
#inhalt .tm-liste{border-top:0}
#inhalt .tm-p:last-child{border-bottom:0}
#inhalt .tm-p > summary{padding:8px 16px;min-height:40px}
#inhalt .tm-zeilen{padding:2px 16px 14px 66px}
#inhalt .tm-mehr,#inhalt .tm-leer{padding:12px 16px}
#inhalt .tm-seg button[aria-pressed=true]{color:#fff}
}
/* Paket 586d: Elektro - Haeuser-Karten (Reiter Unterkuenfte, ukKarte in plan.html) nach dem Muster aus Mockup 586 (nur CSS).
   Kein farbiger Rand links (vorher Farbe nach Traeger/fehlenden Angaben), Kopf grau mit Titel Barlow 18, Preis als blaue Plakette,
   Bewohner-Zeilen mindestens 40 px, Merker als Plaketten in den vier Statusfarben. Nur am Bildschirm. */
@media screen{
#inhalt .uk-karte.auf{border:1px solid var(--line);border-left:1px solid var(--line);border-radius:var(--r2);overflow:hidden;background:var(--surface)}
#inhalt .uk-karte.auf:hover{border-color:var(--line)}
#inhalt .uk-karte .auf-k{align-items:flex-start;gap:12px;padding:10px 16px;min-height:46px;background:var(--surface-2);border-bottom:1px solid var(--line)}
#inhalt .uk-karte .auf-k:hover{background:var(--accent-soft)}
#inhalt .uk-karte .auf-k h3{font:600 var(--t18)/1.1 var(--f-cond);letter-spacing:.02em;text-transform:uppercase;color:var(--ink)}
#inhalt .uk-karte .auf-k .ort{margin-top:3px;font-size:var(--t12);color:var(--ink-3)}
#inhalt .uk-karte .auf-k .dat{font-size:var(--t12)}
#inhalt .uk-karte .auf-k .n{min-width:0;padding:0;border:0;background:none;text-align:right}
#inhalt .uk-karte .auf-k .n b{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font:500 var(--t12) var(--f-mono);line-height:1}
#inhalt .uk-karte .auf-k .n span{display:block;margin-top:3px;font-size:var(--t11);letter-spacing:0;text-transform:none;color:var(--ink-3)}
#inhalt .uk-karte ul.auf-ma{padding:0}
#inhalt .uk-karte ul.auf-ma li{min-height:40px;padding:6px 16px}
#inhalt .uk-karte .auf-tags{gap:6px;padding:10px 16px;border-top:1px solid var(--line-soft)}
#inhalt .uk-karte .auf-tags .tag{display:inline-flex;align-items:center;height:22px;padding:0 10px;border:0;border-radius:999px;font:500 var(--t12) var(--f-sans);background:var(--grau-bg);color:var(--ink-2)}
#inhalt .uk-karte .auf-tags .tag.gut,#inhalt .uk-karte .auf-tags .tag.ok{background:var(--ok-bg);color:var(--ok)}
#inhalt .uk-karte .auf-tags .tag.warn{background:var(--warn-bg);color:var(--warn)}
#inhalt .uk-karte .auf-tags .tag.crit{background:var(--crit-bg);color:var(--crit)}
#inhalt .uk-karte .auf-tags .tag.andere{background:var(--surface-2);color:var(--ink-3)}
#inhalt .uk-grp h2{text-transform:uppercase;letter-spacing:.02em}
}
/* Paket 587: Fenster "Zuletzt geaendert" (verlauf587.js) - Tabelle, Filter "Wer hat geaendert", zuruecknehmen als roter Link */
dialog.fa.breit.v587{max-width:min(980px,96vw);width:980px}
.v587-leiste{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap}
.v587-leiste .pf549-filter select{height:var(--knopf-m);padding:0 10px;border:1px solid var(--line);border-radius:var(--r1);background:var(--surface);font:400 var(--t13) var(--f-sans);color:var(--ink)}
.pf549-tafel.v587-tafel td{white-space:nowrap}
.pf549-tafel.v587-tafel td.pf549-w{white-space:normal}
.v587-zeit{font-family:var(--f-mono);font-size:var(--t12);color:var(--ink-2)}
.v587-roh{color:var(--ink-3)}
.pf549-link.v587-weg{color:var(--crit)}
.pf549-link.v587-weg:disabled{opacity:.45;cursor:default}
/* Paket 587b: Fenster "Zuletzt geaendert" wirklich breit - die "Layoutkorrektur vom 31.08.2026" am Ende von plan.html
   (dialog{max-width:600px !important}) schlug die Breite aus 587. "zuruecknehmen" bleibt ohne Scrollen sichtbar:
   Wer, Was und Betroffen duerfen umbrechen, Zeit und Aktion nicht. */
dialog.fa.breit.v587{max-width:min(980px,96vw) !important;width:980px}
.pf549-tafel.v587-tafel td{white-space:normal}
.pf549-tafel.v587-tafel td.v587-zeit,.pf549-tafel.v587-tafel td.pf549-r{white-space:nowrap;width:1%}
.pf549-tafel.v587-tafel td{height:auto;min-height:40px;padding-top:8px;padding-bottom:8px}
/* Paket 586e: Einsatzuebersicht - Baustellen-/Einsatzort-Band in den Kunden-Karten (Elektro und Regional, .bs-kopf aus einsaetze.js)
   gleich hoch (56 px) mit 10 px Innenabstand oben und unten; Name (Barlow 15) und Unterzeile (12 px, grau) mit 4 px Abstand;
   "N MA" und "Wechsel" rechts auf der Hoehe des Namens. Ohne Unterzeile steht der Name mittig. Nur am Bildschirm. */
@media screen{
#inhalt .card .bs-kopf{min-height:56px;padding:10px 16px;align-items:center;box-sizing:border-box}
#inhalt .card .bs-kopf .t{display:flex;flex-direction:column;justify-content:center;gap:4px;align-self:stretch}
#inhalt .card .bs-kopf .o{line-height:18px}
#inhalt .card .bs-kopf .bl{margin:0;font-size:var(--t12);line-height:14px;color:var(--ink-3)}
#inhalt .card .bs-kopf:has(.bl){align-items:flex-start}
#inhalt .card .bs-kopf:has(.bl) .z{margin-top:-1px}
#inhalt .card .bs-kopf:has(.bl) .wvm-zei{margin-top:-2px}
}
/* Paket 587c: Fenster "Zuletzt geaendert" - Hinweis, wenn die Grenze aus der Einstellung verlauf.anzahl abschneidet */
.v587-grenze{color:var(--warn);font-weight:500}
/* Paket 587d: Baustellenliste (580) und Stammdaten (583) wirklich so breit wie gedacht - die "Layoutkorrektur vom 31.08.2026"
   am Ende von plan.html (dialog{max-width:600px !important}) deckelte beide auf 600 px (wie 587b fuer "Zuletzt geaendert"). */
dialog.fa.breit.bsl580{max-width:min(1000px,96vw) !important}
dialog.fa.breit.st583{max-width:min(860px,94vw) !important}
/* Paket 593: Vertrieb - Gewonnen und Auswertung (auswertung593.js). Tabellen wie bw-tab (34/40 px), Zahlen rechts in Mono,
   Kaesten wie bwd581-k (Rahmen, Flaeche, Radius), Plaketten mr-chip nach vertrieb_bezeichnung.plakette */
table.pf549-tafel.a593-tab td.a593-z{font-variant-numeric:tabular-nums}   /* Paket 597: Zahlen .pf549-r, keine Mono-Schrift */
.a593-kaesten{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:0 0 4px}
.a593-kasten{border:1px solid var(--line);border-radius:var(--r1);background:var(--surface);padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.a593-kasten .a593-kt{font:600 var(--t12) var(--f-sans);color:var(--ink-2)}
.a593-kasten b{font:600 var(--t24)/1.2 var(--f-sans);color:var(--ink);font-variant-numeric:tabular-nums}
.a593-kasten .a593-ku{font-size:var(--t12);color:var(--ink-3)}
.a593-leise{font-size:var(--t12);color:var(--ink-3)}
.a593-fuss{font-size:var(--t12);color:var(--ink-3);margin:10px 0 0}
.a593-hinweis{padding:14px 2px}
/* Paket 596: Querschnitt - Fussregel mit genau einem Auto-Abstand (Hauptknopf rechts, Entfernen direkt neben Abbrechen),
   Fuss "Mail an Vermieter", Fenster-Leiste Nachrichten; Variable --grau-bg; Unterreiter-Standard steht in balken.js */
:root{--grau-bg:#e6e8ec}
dialog.fa .df .fa-weg{margin-right:0}
/* Paket 600c: Fenster "Mail an Vermieter" ist jetzt dialog.fa - die Fussregel fuer .df gilt */
dialog.fa .db > fieldset + fieldset{margin-top:12px}
.nr560-ansicht{flex-wrap:wrap;gap:8px}
/* Paket 597: Vertrieb - Fenster mit Rahmen Typ A (vtfenster597.js: dialog.fa.breit.v597, Mail 1 zusaetzlich .mail),
   Jobboerse mit Speichern im Fuss; Akquise mit .pf549-abschnitt h3, .pf549-tafel (lange Texte .pf549-w, Zahlen .pf549-r),
   Mailreihe-Baender als .kasten mit .kasten-kopf. Die Regeln hier heben nur die alten plan.html-Regeln auf, die sonst gewinnen. */
dialog.fa.v597{padding:0}
dialog.fa.v597 .bw-d-leib{font-size:var(--t13)}
/* Recherche-Fund: "Nur zum Anrufen" ist eine zweite Hauptaktion und steht rechts neben "Uebernehmen" (ein Auto-Abstand) */
#funddialog .bw-d-fuss #fd-nurfirma{order:0;margin-left:auto}
#funddialog .bw-d-fuss #fd-nurfirma ~ .haupt{margin-left:0}
/* Mail 1: Vorschau-Rahmen und Anlass-Feld wie die Felder im Board */
#mrdialog #mr-rahmen{border-color:var(--line) !important;border-radius:var(--r1) !important}
#mrdialog #mr-anlass{border:1px solid var(--line);border-radius:var(--r1);padding:8px 10px;font:400 var(--t13) var(--f-sans)}
/* Jobboerse-Suche: Karten-Titel 15 px, Fuss nach der Fussregel */
#vt-suchedlg #vt-su-liste > .pf549-abschnitt:first-child{margin-top:0}
#vt-suchedlg [data-vtsuzeile] b{font-size:var(--t15) !important}
#vt-suchedlg [data-vtsuzeile] textarea{border-radius:var(--r1) !important}
#vt-suchedlg .bw-d-fuss > [data-vtsu="zu"]{order:-3}
#vt-suchedlg .bw-d-fuss > .v597-ab{order:-3}
#vt-suchedlg .bw-d-fuss > .v597-weg{order:-2;color:var(--crit);background:none;border-color:transparent}
#vt-suchedlg .bw-d-fuss > .v597-weg:hover{background:var(--crit-bg)}
#vt-suchedlg .bw-d-fuss > #vt-su-meldung{order:-1}
#vt-suchedlg .bw-d-fuss > .haupt{order:0}
/* Akquise: Abschnittskopf mr-kopfzeile + pf549-abschnitt (h3 600 15 px Sans); Aktionen der Leisten als Link, der Hauptschritt als Knopf */
.vt3-inhalt .mr-kopfzeile.pf549-abschnitt{align-items:baseline}
.vt3-inhalt .pf-leiste .mr-knopf:not(.haupt),.vt3-inhalt .mr-kopfzeile .mr-knopf:not(.haupt){height:auto;padding:0 4px;border:0;background:none;color:var(--accent);font:500 var(--t12) var(--f-sans);cursor:pointer}
.vt3-inhalt .pf-leiste .mr-knopf:not(.haupt):hover,.vt3-inhalt .mr-kopfzeile .mr-knopf:not(.haupt):hover{text-decoration:underline}
.vt3-inhalt .pf-leiste .mr-knopf.haupt,.vt3-inhalt .mr-kopfzeile .mr-knopf.haupt{height:var(--knopf-m);padding:0 14px;border-radius:var(--r1);font:600 var(--t13) var(--f-sans)}
.vt3-inhalt .pf-leiste select{height:var(--knopf-m);padding:0 10px;border-radius:var(--r1)}
/* Akquise-Tabellen: Zeilenaktionen als Link */
.pf549-tafel .mr-knopf:not(.haupt){background:none;border:0;padding:0;font:500 var(--t13) var(--f-sans);color:var(--accent);cursor:pointer;margin-right:10px}
.pf549-tafel .mr-knopf:not(.haupt):hover{text-decoration:underline}
/* Mailreihe: Band = .kasten mit .kasten-kopf (plan.html .mr-bandkopf wuerde sonst gewinnen) */
.kasten.mr-band > .kasten-kopf.mr-bandkopf{display:flex;justify-content:flex-start;align-items:center;gap:12px;width:100%;padding:12px 16px;margin:0;
  border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--surface-2);text-align:left;cursor:pointer;font:inherit}
.kasten.mr-band.zu > .kasten-kopf.mr-bandkopf{border-bottom:0}
.kasten.mr-band > .kasten-kopf.mr-bandkopf .z{font:500 var(--t12) var(--f-sans);color:var(--ink-2)}
.kasten.mr-band > .kasten-kopf.mr-bandkopf .hw{margin-left:auto;font-size:var(--t12);color:var(--ink-3)}
.kasten.mr-band > .kasten-kopf.mr-bandkopf .pf{color:var(--ink-3)}
.kasten.mr-band > .kasten-kopf.mr-bandkopf.gut{background:var(--ok-bg)}
.kasten.mr-band > .kasten-kopf.mr-bandkopf.gut h3,.kasten.mr-band > .kasten-kopf.mr-bandkopf.gut .z{color:var(--ok)}
.kasten.mr-band > .kasten-kopf.mr-bandkopf.tot{background:var(--crit-bg)}
.kasten.mr-band > .kasten-kopf.mr-bandkopf.tot h3,.kasten.mr-band > .kasten-kopf.mr-bandkopf.tot .z{color:var(--crit)}
.kasten.mr-band .pf549-tafel{border:0;border-radius:0}
/* Tabellen mit .pf549-tafel und dem alten Zusatz .bw-tab: kein farbiger Rand links (faellig steht im Namen rot), lange Texte brechen um */
table.pf549-tafel.bw-tab tr.faellig td:first-child{box-shadow:none}
table.pf549-tafel.bw-tab tr.faellig td.bw-nam,table.pf549-tafel.bw-tab tr.faellig td:first-child .vt2-name{color:var(--crit);font-weight:600}
table.pf549-tafel.bw-tab td{white-space:normal}
/* Paket 598: Mitarbeiter- und Bewerberfenster (#persondialog) - Regeln aus mitarbeiter.js (css, css4) und mitarbeiter433.js
   (mb-css, mb-kurzcss) hierher verschoben, in derselben Reihenfolge. Doppelte Fehlzeiten-Regeln und tote Regeln entfallen,
   der Kasten Fehlzeiten hat jetzt Rahmen und Kopf wie Unterkunft. Schriftgroessen als Variable (gleiche Werte). */
/* aus mitarbeiter.js css() */
#persondialog.mf{max-width:min(960px,96vw) !important;width:960px}
#persondialog.mf .db > details.klapp{display:none}
#mf-neu{display:flex;flex-direction:column;gap:16px}
.mf-kaesten{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.mf-kasten{border:1px solid var(--line,#d6dce3);border-radius:8px;padding:9px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.mf-kasten .l{font-size:var(--t12);color:var(--ink-2,#4a5563)}.mf-kasten .w{font-size:var(--t15);font-weight:600;color:var(--ink,#131820)}
.mf-kasten .n{font-size:var(--t12);color:var(--ink-3,#7c8794);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mf-kasten.bald{border-color:#e0a100}.mf-kasten.bald .w{color:#8a5a00}.mf-kasten.rot{border-color:#e6b3ae}.mf-kasten.rot .w{color:#a61b10}
.mf-spalten{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.mf-sp{display:flex;flex-direction:column;gap:10px;min-width:0}
.mf-h{font-size:var(--t12);font-weight:600;color:var(--ink-2,#4a5563);letter-spacing:.04em;text-transform:uppercase;margin-top:2px}
.mf-h small{font-weight:400;text-transform:none;letter-spacing:0;color:var(--ink-3,#7c8794)}
.mf-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mf-lohn{display:grid;grid-template-columns:minmax(150px,1.6fr) minmax(60px,.6fr) minmax(125px,1fr);gap:12px;align-items:end}
.mf-lohn > #p-tarifknopf{grid-column:1/-1;justify-self:start}
#mf-neu .feld{flex:none !important;min-width:0}
#mf-neu #p-befristetfeld[style*=hidden]{visibility:visible !important;opacity:.45;pointer-events:none}
.mf-vt-fehlt select{border-color:#e0a100 !important;background:#fffaf0}
.mf-austritt{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;border:1px solid var(--line-soft,#e6ebf0);border-radius:8px;padding:10px 14px;background:var(--surface-2,#f7f9fb)}
.mf-austritt .mf-h{align-self:center;width:70px}
#persondialog.mf .df .mf-speichern{order:2}
/* aus mitarbeiter.js css4() */
#persondialog .pst-zeile{position:relative}
.mf-hk{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:flex;gap:2px;opacity:.45;transition:opacity .12s}
#persondialog .pst-zeile:hover .mf-hk,.mf-hk:focus-within{opacity:1}
.mf-hk button{display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:6px;background:transparent;cursor:pointer;color:var(--ink-2,#4a5563)}
.mf-hk button:hover{background:var(--accent-soft,#e2eef8);color:var(--accent,#0068b4)}
.mf-hk button[data-mfh=weg]:hover{background:#fde3e1;color:#a61b10}
.mf-hk svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mf-hform{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,.8fr);gap:10px 12px;align-items:end;padding:12px 12px 10px;border-top:1px solid var(--line-soft,#e6ebf0);background:var(--surface-2,#f7f9fb)}
.mf-hform .feld{margin:0;min-width:0}
.mf-hform .feld input,.mf-hform .feld select{width:100%}
.mf-hform .mf-hknoepfe{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}
.mf-hform.weg{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fdf1f0;font-size:var(--t13)}
.mf-hform.weg .tun.rot{background:#a61b10;border-color:#a61b10;color:#fff}
/* aus mitarbeiter433.js css() */
#persondialog.mb .mf-spalten{align-items:start}
#persondialog.mb fieldset.kb-lesen>.kb-wt{grid-template-columns:fit-content(46%) minmax(0,1fr);gap:4px 14px;margin:0;padding:10px 12px;background:var(--surface-2,#f7f9fb);border:1px solid var(--line-soft,#e6ebf0);border-radius:var(--r1,6px);font-size:var(--t13,13px)}
#persondialog.mb fieldset.kb-lesen>.kb-wt>div{padding:0;border:0;background:none;min-width:0}
#persondialog.mb fieldset.kb-lesen>.kb-wt>div:nth-child(2n+1){color:var(--ink-2,#4a5563)}
#persondialog.mb fieldset.kb-lesen>.kb-wt>div:nth-child(2n){color:var(--ink,#131820);font-weight:600}
#persondialog.mb details.mb-verlauf{border:1px dashed var(--line,#d6dce3);border-radius:var(--r1,6px);padding:8px 10px;margin-top:8px;font-size:var(--t12);color:var(--ink-2,#4a5563)}
#persondialog.mb .mf-sp{gap:0}
#persondialog.mb .mb-reihe{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:10px}
#persondialog.mb .mb-reihe.eins{grid-template-columns:minmax(0,1fr)}
#persondialog.mb fieldset.kb-lesen>.mb-reihe,#persondialog.mb fieldset.kb-lesen>.feld[data-kb-frei],#persondialog.mb fieldset.kb-lesen>.mb-wahl{display:none}
#persondialog.mb .mf-h,#persondialog.mb #kue-person{display:none}
#mb-austritt:not(.mb-hat) button[data-ptun=austritt_weg]{display:none}
#persondialog.mb .mf-austritt{display:block;border:0;padding:0;background:none}
#persondialog.mb .mb-wahl{display:flex;flex-direction:column;gap:6px;margin:0 0 10px;font-size:var(--t13,13px)}
#persondialog.mb .mb-wahl label{display:flex;gap:8px;align-items:center;cursor:pointer}
#persondialog.mb .mb-gs{display:none}
#persondialog.mb details.mb-verlauf{margin-top:8px;font-size:var(--t13,13px)}
#persondialog.mb details.mb-verlauf>summary{cursor:pointer;color:var(--accent,#0068b4)}
#persondialog.mb fieldset.kb-lesen .mf-hk,#persondialog.mb fieldset.kb-lesen>button[data-ptun]{display:none}
#persondialog.mb #mf-einsatz,#persondialog.mb #mb-fz,#persondialog.mb #mb-uk{margin-bottom:12px}
#mb-fz,#mb-uk{border:1px solid var(--line,#d6dce3);border-radius:var(--r1,6px);background:var(--surface,#fff)}
#mb-fz .mb-kopf,#mb-uk .mb-kopf{display:flex;align-items:baseline;gap:10px;padding:8px 12px;background:var(--surface-2,#f7f9fb);border-bottom:1px solid var(--line,#d6dce3);border-radius:var(--r1,6px) var(--r1,6px) 0 0}
#mb-fz .mb-kopf b,#mb-uk .mb-kopf b{font:600 var(--t15)/1.2 var(--f-cond,inherit);letter-spacing:.03em;text-transform:uppercase}
#persondialog.mb .mf-kasten,#persondialog.mb .mfe-karte{border-radius:var(--r1,6px)}
#persondialog.mb .mfe-oeffnen{font-size:var(--t12,12px)}
#mb-fz .mb-kopf small,#mb-uk .mb-kopf small{color:var(--ink-3,#7c8794)}
#mb-fz .mb-kopf .mb-fzlink{margin-left:auto;font-size:var(--t12,12px)}
#mb-fz .mb-kb,#mb-uk .mb-kb{padding:8px 12px}
#mb-austritt:not(.mb-hat) .kb-wt{display:none !important}
#persondialog.mb #mf-einsatz .mf-h{display:flex}
#persondialog.mb #mf-einsatz{border:1px solid var(--line,#d6dce3);border-radius:var(--r1,6px);overflow:hidden;margin:0 0 12px;padding-bottom:12px}
#persondialog.mb #mf-einsatz .mfe-kopfzeile{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 10px;padding:8px 12px;background:var(--surface-2,#f7f9fb);border-bottom:1px solid var(--line,#d6dce3)}
#persondialog.mb #mf-einsatz .mf-h{display:flex;font:600 var(--t15)/18px var(--f-cond,inherit);letter-spacing:.04em;text-transform:uppercase;color:var(--ink,#131820)}
#persondialog.mb #mf-einsatz>:not(.mfe-kopfzeile){margin-left:12px;margin-right:12px}
#persondialog.mb #mf-einsatz>.mfe-karte+.mfe-karte{margin-top:8px}
#persondialog.mb #mb-fz{overflow:hidden}
#persondialog.mb #mb-fz .mb-kopf{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--surface-2,#f7f9fb);border-bottom:1px solid var(--line,#d6dce3)}
#persondialog.mb #mb-fz .mb-kopf b{font:600 var(--t15)/18px var(--f-cond,inherit);letter-spacing:.04em;text-transform:uppercase}
#persondialog.mb #mb-fz .mb-kopf .mb-fzlink{margin-left:auto;border:0;background:none;color:var(--accent,#0068b4);font:var(--t12) var(--f-sans,inherit);cursor:pointer;padding:0}
#persondialog.mb #mb-fz .mb-kb{padding:10px 12px}
#persondialog.mb #mb-fz .abw-kopf{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:var(--t12);color:var(--ink-3,#7c8794);margin-bottom:6px}
#persondialog.mb #mb-fz .abw-liste{display:flex;flex-direction:column;gap:6px;max-height:calc(5 * 36px + 4 * 6px);overflow-y:auto;padding-right:4px;overscroll-behavior:contain}
#persondialog.mb #mb-fz .abw-z{display:flex;align-items:center;gap:10px;min-height:34px;flex:none;width:100%;font:inherit;font-size:var(--t13);text-align:left;padding:6px 10px;border:1px solid var(--line-soft,#e6ebf0);border-radius:6px;background:var(--surface,#fff);color:var(--ink,#131820);cursor:pointer}
#persondialog.mb #mb-fz .abw-z:hover{border-color:var(--accent,#0068b4)}
#persondialog.mb #mb-fz .abw-z.kommt{border-color:var(--warn-bg,#fbecd6);background:color-mix(in srgb, var(--warn-bg,#fbecd6) 35%, var(--surface,#fff))}
#persondialog.mb #mb-fz .abw-z .wann{font-variant-numeric:tabular-nums;color:var(--ink-2,#4a5563);min-width:0}
#persondialog.mb #mb-fz .abw-z .wo{margin-left:auto;font-size:var(--t12);color:var(--ink-3,#7c8794);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#persondialog.mb #mb-fz .chip{display:inline-block;font-size:var(--t11);font-weight:600;padding:0 6px;border-radius:6px;background:var(--surface-2,#f7f9fb);color:var(--ink-3,#7c8794);border:1px solid var(--line-soft,#e6ebf0)}
#persondialog.mb #mb-fz .chip.crit{background:var(--crit-bg,#f9dedb);color:var(--crit,#a3312b);border-color:transparent}
#persondialog.mb .mfe-kopfzeile{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}
#persondialog.mb #mb-fz .mb-fzneu{margin-top:8px}
#mb-austritt .mb-nv{display:none;padding:2px 0;color:var(--ink-3,#7c8794);font-size:var(--t13,13px)}
#mb-austritt:not(.mb-hat).kb-lesen .mb-nv{display:block}
#mb-fz .mb-fzz{display:grid;grid-template-columns:90px 1fr auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line,#d6dce3);font-size:var(--t13,13px)}
#mb-fz .mb-fzk,#mb-uk .mb-fzk{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
#mb-fz .mb-fzk b,#mb-uk .mb-fzk b{font:600 var(--t13,13px) var(--f-sans)}#mb-fz .mb-fzk small,#mb-uk .mb-fzk small{color:var(--ink-3,#7c8794)}
#mb-fz .mb-fzz button,#mb-fz .mb-fzlink{border:0;background:none;color:var(--accent,#0068b4);cursor:pointer;font:inherit;padding:0 4px}
#mb-fz .mb-fzform{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 0;align-items:end}
#mb-fz .mb-fzform .mb-fzkn{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end}
#mb-fz .mb-fzform input,#mb-fz .mb-fzform select{width:100%;height:var(--knopf-m,34px);border:1px solid var(--line,#d6dce3);border-radius:var(--r1,6px);padding:0 8px;font:inherit}
.mb-kurzaus{display:none !important}
/* Paket 598: Auftragsfenster (#bearbeiten, auftrag598.js) nach dem freigegebenen Mockup - Bereiche als .kasten mit .kasten-kopf h3,
   Aktionen als Links rechts im Kopf, Knoepfe offener Formulare im Fuss. Selektoren mit #bearbeiten.eo-an, damit sie vor den
   Laufzeit-Stilen aus einsatzort413.js stehen. */
#bearbeiten.eo-an details.klapp.a598-k{border:1px solid var(--line);border-radius:var(--r2);overflow:visible;margin:0 0 14px;background:var(--surface);padding:0;position:relative}
#bearbeiten.eo-an details.klapp.a598-k > summary.kasten-kopf{display:flex;align-items:center;gap:12px;min-height:44px;padding:12px 16px;margin:0;background:var(--surface-2);border-bottom:1px solid var(--line);border-radius:var(--r2) var(--r2) 0 0;pointer-events:none;list-style:none}
#bearbeiten.eo-an details.klapp.a598-k > summary.kasten-kopf h3{margin:0;font:600 var(--t18)/1.1 var(--f-cond);letter-spacing:.03em;text-transform:uppercase;color:var(--ink)}
#bearbeiten.eo-an details.klapp.a598-k > .klappinhalt > .uktun{position:absolute;top:0;right:16px;height:44px;margin:0;padding:0;border:0;background:none;display:flex;align-items:center;gap:14px}
#bearbeiten.eo-an details.klapp.a598-k > .klappinhalt > .uktun button{border:0;background:none;height:auto;padding:0;color:var(--accent);font:500 var(--t12) var(--f-sans);text-decoration:none;cursor:pointer;pointer-events:auto}
#bearbeiten.eo-an details.klapp.a598-k > .klappinhalt > .uktun button:hover{text-decoration:underline}
#bearbeiten.eo-an details.klapp.a598-k > .klappinhalt > .uktun button.an{color:var(--ink);font-weight:600}
#bearbeiten.eo-an details.klapp.a598-k > .klappinhalt > .uktun button[hidden]{display:none}
/* Bereiche als fieldset (Einsatzort mit Einsatz, Angaben zum Mitarbeiter, Lohn im Auftrag): derselbe Kasten */
#bearbeiten fieldset.a598-k{border:1px solid var(--line);border-radius:var(--r2);padding:0 12px 12px;margin:0 0 14px;position:relative;min-width:0;background:var(--surface)}
#bearbeiten fieldset.a598-k > legend{float:left;width:calc(100% + 24px);box-sizing:border-box;margin:0 -12px 12px;padding:12px 16px;min-height:44px;background:var(--surface-2);border-bottom:1px solid var(--line);border-radius:var(--r2) var(--r2) 0 0;font:600 var(--t18)/1.1 var(--f-cond);letter-spacing:.03em;text-transform:uppercase;color:var(--ink)}
#bearbeiten fieldset.a598-k > legend ~ *{clear:both}
#bearbeiten fieldset.a598-k > .kb-link{top:14px;right:16px;font:500 var(--t12) var(--f-sans)}
#bearbeiten fieldset.a598-k.kb-edit > legend{background:var(--accent-soft)}
#bearbeiten #ma413.a598-k > .ma-lnk413{top:14px;right:16px;left:auto}
/* Paket 613e: Die Kaesten (.kasten = overflow:hidden) stehen direkt in .db (Flex-Spalte mit fester Hoehe) und wurden
   auf die Kopfhoehe geschrumpft - die Bloecke ueberlagerten sich. Nicht schrumpfen; .db rollt. */
dialog .db > .a598-k{flex-shrink:0}
/* Einsatzort mit Einsatz: "Einsatz beenden" und "Umsetzen oder loeschen" als Links im Kopf, links neben "aendern" */
#bearbeiten #eo413.a598-k > .eo-kopf598{position:absolute;top:0;right:76px;height:44px;max-width:calc(100% - 76px - 170px);margin:0;display:flex;flex-wrap:wrap;align-content:center;justify-content:flex-end;gap:2px 14px;z-index:1}   /* Paket 641: umbrechen statt die Ueberschrift zu ueberlappen */
#bearbeiten #eo413 .eo-kopf598 button{border:0;background:none;height:auto;padding:0;color:var(--accent);font:500 var(--t12) var(--f-sans);cursor:pointer}
#bearbeiten #eo413 .eo-kopf598 button:hover{text-decoration:underline}
#bearbeiten #eo413 .eo-kopf598 button{white-space:nowrap;line-height:1.3}
#bearbeiten #eo413 .eo-kopf598 button[hidden]{display:none}
/* Kopf des Fensters: ein Link "Mitarbeiterfenster oeffnen" */
#bearbeiten.eo-an .dk > .b-ma.pf549-link{height:auto;padding:0;margin:0;border:0;background:none;color:var(--accent);font:500 var(--t12) var(--f-sans);align-self:center;cursor:pointer}
/* Offenes Formular: Knoepfe im Fuss (Abbrechen links, Entfernen daneben, Handlung rechts - ein Auto-Abstand) */
#bearbeiten.a598-form .df > :not(.a598-aus){display:none !important}
#bearbeiten .df > .a598-ab{order:-3}
#bearbeiten .df > .fa-weg{order:-1;color:var(--crit);background:none;border-color:transparent}
#bearbeiten .df > .fa-weg:hover{background:var(--crit-bg)}
#bearbeiten .df > .a598-sp{margin-left:auto}
/* Kandidatenprofil (profil.js, dialog.kp.fa): Rahmen Typ A; Werdegang und Ausbildung mit Kastenkopf wie die anderen Bloecke,
   Abschnitte der Seitenleiste mit Kopfzeile */
dialog.kp.fa{width:1400px}
dialog.kp .kp-haupt .kp-block > .kp-zeile{margin:0 -12px 4px;padding:8px 12px;background:var(--surface-2);border-bottom:1px solid var(--line);border-radius:var(--r1) var(--r1) 0 0;gap:12px}
dialog.kp .kp-haupt .kp-block > .kp-zeile > .kp-titel{font:600 var(--t15)/1.2 var(--f-cond);letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
dialog.kp .kp-haupt .kp-block > .kp-zeile .kp-link{font:500 var(--t12) var(--f-sans)}
dialog.kp .kp-seite > .kp-titel,dialog.kp .kp-seite > .kp-block > .kp-titel{padding:0 0 6px;border-bottom:1px solid var(--line);font:600 var(--t15)/1.2 var(--f-cond);letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
dialog.kp .kp-seite .kp-titel small{font:400 var(--t12) var(--f-sans);letter-spacing:0;text-transform:none}
#bearbeiten #eo413 .eo-frei:not(:has(.eo-panel:not([hidden]), #eo-meldung:not([hidden]))){display:none}
/* Paket 599: Verwaltungsfenster - Reste nach 583 */
/* Stammdaten: leere Zeilen um die versteckten alten Speichern-Knoepfe nicht mehr als Luecke */
#stammdialog .reihe:has(> .kb-intern:only-child){display:none}
/* Zugaenge: "Kopieren" als Link, Feldhoehen 34 px, "Sperren" dezent rot neben Abbrechen, "+ Neuer Zugang" rechts im Fuss */
dialog.zg2 .zg2-linkzeile .tun[data-zg="kopieren"]{height:auto;background:none;border:0;padding:0 4px;color:var(--accent);font:500 var(--t13) var(--f-sans);text-decoration:underline;cursor:pointer}
dialog.zg2 .zg2-pille,dialog.zg2 .zg2-linkzeile input{height:var(--knopf-m)}
dialog.zg2 .zg2-linkzeile input{border-radius:var(--r1)}
dialog.zg2 .zg2-fuss .btn.zg2-rot{order:-1}
dialog.zg2 .zg2-fuss .btn.zg2-rot:not(.zg2-best){color:var(--crit);background:none;border-color:transparent}
dialog.zg2 .zg2-fuss .btn.zg2-rot:not(.zg2-best):hover{background:var(--crit-bg)}
dialog.zg2 .zg2-fuss .btn.zg2-gut{color:var(--ok)}
dialog.zg2 .zg2-fuss [data-zg="neu"]{margin-left:12px}
/* Verfuegbar (verfuegbar465.js, frueher als style im JS): Werte, Formulare je Zustand */
#freidialog.vf465 .vf-kopf{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 4px;min-height:26px}
#freidialog.vf465 .vf-kopf .vf-wert{font-weight:600}
#freidialog.vf465 .vf-b-frei > .reihe, #freidialog.vf465 .vf-b-frei > #vf-freitext, #freidialog.vf465 .vf-b-abw > .reihe{display:none}
#freidialog.vf465[data-vf="frei"] .vf-b-frei > .reihe, #freidialog.vf465[data-vf="abw"] .vf-b-abw > .reihe{display:flex}
#freidialog.vf465[data-vf="frei"] .vf-b-frei > #vf-freitext{display:block}
#freidialog.vf465 [data-vftun]{display:none !important}
#freidialog.vf465:not([data-vf="lesen"]) .vf-link{visibility:hidden}
#freidialog.vf465 [data-vf-edit]{display:none}
#freidialog.vf465:not([data-vf="lesen"]) [data-vf-edit]{display:inline-block}
#freidialog.vf465:not([data-vf="lesen"]) #vf-loeschen, #freidialog.vf465:not([data-vf="lesen"]) .df button[value="zu"]{display:none}
#freidialog.vf465.vf-bew .vf-b-abw{display:none}
/* Verfuegbar: "aendern" / "+ eintragen" rechts im Kastenkopf, Fehlzeiten-Liste wie im Auftragsfenster, "entfernen" dezent rot */
#freidialog.vf465 .db > fieldset > legend{display:flex;align-items:center;justify-content:space-between;gap:12px}
#freidialog.vf465 legend .vf-link{border:0;background:none;padding:0 4px;color:var(--accent);font:500 var(--t12) var(--f-sans);letter-spacing:0;text-transform:none;cursor:pointer;text-decoration:none}
#freidialog.vf465 legend .vf-link:hover{text-decoration:underline}
#freidialog #vf-liste .zeileklein{display:flex;align-items:center;gap:10px;min-height:34px;padding:6px 10px;border:1px solid var(--line-soft);border-radius:var(--r1);font-size:var(--t13);cursor:pointer}
#freidialog #vf-liste .zeileklein:not([data-abwid]){border:0;padding:0;min-height:0;color:var(--ink-3) !important;cursor:default}
#freidialog #vf-liste .zeileklein.gewaehlt{border-color:var(--accent);background:var(--accent-soft)}
#freidialog #vf-liste button.weg{margin-left:auto;border:0;background:none;padding:0 4px;color:var(--crit);font:500 var(--t12) var(--f-sans);cursor:pointer}
#freidialog #vf-liste button.weg:hover{text-decoration:underline}
/* Paket 599: Bereiche in allen Fenstern Typ B (dialog.fb: Kunde, Baustelle, Vermittler, Stammdaten, Mitarbeiter, Marketing ...)
   im Mass von .kasten/.kasten-kopf: Rahmen --r2, Kopf 12/16 auf --surface-2, Titel Barlow 18 in Grossbuchstaben; "aendern" mittig im Kopf */
dialog.fb fieldset{border-radius:var(--r2)}
dialog.fb fieldset>legend{padding:12px 16px;min-height:44px;font:600 var(--t18)/1.1 var(--f-cond);letter-spacing:.03em;border-radius:var(--r2) var(--r2) 0 0}
dialog.fb .kb-link{top:14px;right:16px;font-size:var(--t12)}
#freidialog.vf465 .db > fieldset{border-radius:var(--r2)}
#freidialog.vf465 .db > fieldset > legend,dialog.zg2 .zg2-feld > legend{padding:12px 16px;min-height:44px;font:600 var(--t18)/1.1 var(--f-cond);letter-spacing:.03em;text-transform:uppercase;border-radius:var(--r2) var(--r2) 0 0}
/* Paket 600a: Personal (Raster -> .pf549-tafel), Personal kompakt, Vermittler, Bewerber-Unterreiter, Meta-Bewerber, Team, Kunde/Ueberlassung.
   Tabellen sind .pf549-tafel (alte Klassen bleiben als Zusatz, weil felder.js und die Klick-Hoerer daran haengen). */
/* Personal: die alten Rasterregeln aus plan.html gelten fuer Tabellenzeilen nicht */
#inhalt table.prsn-tafel tr.prsn-zeile,#inhalt table.prsn-tafel tr.prsn-kopfzeile{display:table-row;padding:0;border:0;min-height:0;background:none}
#inhalt table.prsn-tafel tr.prsn-zeile{cursor:pointer}
#inhalt table.prsn-tafel tr.prsn-zeile:hover td{background:var(--accent-soft)}
#inhalt table.prsn-tafel tr.prsn-zeile.prsn-raus td{opacity:.6}
#inhalt table.prsn-tafel td{vertical-align:middle}
#inhalt table.prsn-tafel .prsn-nm .t{white-space:normal;overflow:visible;text-overflow:clip}
#inhalt table.prsn-tafel .prsn-unter{padding-top:2px}
#inhalt table.prsn-tafel td.prsn-stark{color:var(--ink);font-weight:600}
#inhalt table.prsn-tafel .prsn-woche .n{white-space:normal;overflow:visible;text-overflow:clip}
/* Vermittler: kein farbiger Rand links (der Text "laeuft bald aus" steht in der Zeile), Farben aus den Variablen, "aufklappen" als Link */
#inhalt .vt-tafel tr.vt-bald td:first-child,#inhalt .vt-tafel tr.vt-offen td:first-child{box-shadow:none}
#inhalt .vt-rot{color:var(--crit)}
#inhalt .vt-amber{color:var(--warn)}
#inhalt .vt-gr{color:var(--ok)}
#inhalt .vt-kz{background:var(--neu-bg);color:var(--neu)}
#inhalt .vt-tafel tr.vt-tog td{color:var(--accent);font-weight:500}
/* Bewerber > Posteingang, Ansprache, Vorlagen: Liste und Gespraech als Kasten, Aktionen in Leisten als Link, Felder 34 px */
#inhalt .bw-pe-liste,#inhalt .bw-pe-rechts{border-radius:var(--r2);background:var(--surface)}
#inhalt .bw-pe-z span{white-space:normal;overflow-wrap:anywhere}
#inhalt .bw-pe-kopf b{font:600 var(--t15) var(--f-sans)}
#inhalt .bw-pe-eck{border-radius:var(--r1)}
#inhalt .bw-pe-filter .mr-knopf:not(.haupt),#inhalt .bw-pe-kopf .mr-knopf:not(.haupt),#inhalt .bw-pe-fuss .mr-knopf:not(.haupt),#inhalt .bw-an-knoepfe .mr-knopf:not(.haupt){height:auto;border:0;background:none;padding:0 4px;color:var(--accent);font:500 var(--t12) var(--f-sans);cursor:pointer}
#inhalt .bw-pe-fuss .mr-knopf.haupt,#inhalt .bw-an-knoepfe .mr-knopf.haupt,#inhalt .mr-kopfzeile .mr-knopf.haupt{height:var(--knopf-m);padding:0 14px;border-radius:var(--r1);font:600 var(--t13) var(--f-sans)}
#inhalt .bw-an-form select,#inhalt .bw-an-form input,#inhalt .bw-an-knoepfe input,#inhalt .bw-an-knoepfe select{height:var(--knopf-m);border-radius:var(--r1)}
#inhalt .bw-an-form label.bw-an-haken{height:var(--knopf-m)}
#inhalt .bw-an-hind{border-color:transparent;background:var(--warn-bg);color:var(--warn);border-radius:var(--r1)}
#inhalt .bw-vl-st{height:var(--knopf-s);border-radius:var(--r1)}
#inhalt .bw-vl-st.genehmigt{background:var(--ok-bg);color:var(--ok);border-color:transparent}
#inhalt .bw-vl-st.eingereicht{background:var(--warn-bg);color:var(--warn);border-color:transparent}
#inhalt .bw-vl-st.abgelehnt{background:var(--crit-bg);color:var(--crit);border-color:transparent}
#inhalt .bw-vl textarea.gespeichert{border-color:var(--ok);background:var(--ok-bg)}
#inhalt .mr-kopfzeile.pf549-abschnitt{align-items:baseline}
/* Bewerberliste und Meta-Bewerber: faellig ohne roten Rand links, lange Notizen ohne "..." */
table.pf549-tafel.bw-tab tr.faellig td:first-child{box-shadow:none}
#inhalt table.pf549-tafel.bw-tab td{white-space:normal}
/* Team: aufgeklappte Zeilen mindestens 40 px */
#inhalt .tm-z{min-height:40px;align-items:center;padding:6px 0}
/* Kunde > Ueberlassung: Deckel als Kasten, Tabelle .pf549-tafel, "+ Vergleichslohn hinzufuegen" als Link, "entfernen" dezent rot */
#kundedialog .kue-dk{background:var(--surface);box-shadow:none;border:1px solid var(--line);border-radius:var(--r2)}
#kundedialog .kue-dk .pf549-abschnitt{margin:12px 0 8px}
#kundedialog .kue-dk table.pf549-tafel td:not(:first-child),#kundedialog .kue-dk table.pf549-tafel th:not(:first-child){text-align:right}
#kundedialog #kue-vg-neu{height:auto;padding:0;border:0;background:none;color:var(--accent);font:500 var(--t12) var(--f-sans);cursor:pointer}
#kundedialog .kue-vg-x{height:var(--knopf-m);padding:0 4px;border:0;background:none;color:var(--crit);font:500 var(--t12) var(--f-sans);cursor:pointer}
#kundedialog .kue-vg-x:hover,#kundedialog #kue-vg-neu:hover{text-decoration:underline}
/* Paket 600b: Angebot rechnen (Karten als .kasten), Marketing (Status als Unterreiter, Kanal als Auswahl, Aktionen als Link, .pf549-tafel) */
.ak-gitter .ak-karte.kasten{padding:0;margin:0 0 14px;border-radius:var(--r2);background:var(--surface)}
.ak-gitter .ak-karte.kasten + .ak-karte.kasten{margin-top:0}
.ak-karte.kasten > .ak-leib{padding:12px 16px}
.ak-gitter > div > .ak-karte.kasten:last-child{display:flex;flex-direction:column}
.ak-karte.kasten > .ak-leib > .ak-fussnote{margin-top:auto}
details.ak-klapp.kasten > summary.kasten-kopf{cursor:pointer;list-style:none;align-items:center}
details.ak-klapp.kasten > summary.kasten-kopf::after{margin-left:auto}
details.ak-klapp.kasten:not([open]) > summary.kasten-kopf{border-bottom:0}
.ak-kalk .ak-kb .pf549-link{font:500 var(--t12) var(--f-sans)}
.ak-kalk .ak-kb .ak-weg{color:var(--crit)}
.ak-regler input[type=range]{accent-color:var(--accent)}
.ak-kband{border-color:var(--accent);border-radius:var(--r1)}
.ak-band{border-radius:var(--r1)}
.ak-band.g{background:var(--ok-bg)}
.ak-band.m{background:var(--warn-bg)}
.ak-band.s{background:var(--crit-bg)}
/* Marketing: "+ Beitrag" einziger Knopf, KI-Vorschlaege/Bilder/LinkedIn als Link, Status als Unterreiter, Kanal als Auswahl */
#inhalt .mk-leiste{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
#inhalt .mk-leiste .pf549-link{font:500 var(--t13) var(--f-sans)}
#inhalt .mk-leiste .vt3-tabs.mk-stand600{margin:0}
#inhalt .mk-leiste .mk-kanal600 select{height:var(--knopf-m);padding:0 10px;border:1px solid var(--line);border-radius:var(--r1);font:400 var(--t13) var(--f-sans);background:var(--surface);color:var(--ink)}
#inhalt .mk-tafel tr.faellig td:first-child{box-shadow:none;color:var(--crit);font-weight:600}
#inhalt .mk-wrap{border:0;background:none}
/* Marketing-Fenster: Knoepfe in den Bereichen nicht als Fuss-Knoepfe (.btn statt .tun), Zeilen- und Kartenaktionen als Link */
dialog#mkli fieldset .btn,dialog#mkbild .db .btn,dialog#mkki fieldset .btn{height:var(--knopf-s);padding:0 10px;font-size:var(--t13);font-weight:500}
dialog#mkli fieldset .btn[data-li="trennen"]{border-color:transparent;background:none;color:var(--crit)}
dialog#mkbild .mk-k:not(.haupt),dialog#mkki .mk-k:not(.haupt){height:auto;padding:0 4px;border:0;background:none;color:var(--accent);font:500 var(--t12) var(--f-sans);cursor:pointer}
dialog#mkki .mk-k[data-ki-akt="verwerfen"]{color:var(--crit)}
/* Paket 600c: Unterkuenfte - Mail-Ausgang (ukm600c.js), Fenster "Mail an Vermieter" (fa breit mail), Kosten, Notizen, Neue Haeuser, Zuzahlung.
   Nur Variablen aus kalvero.css, keine festen Farben. */
/* Mail-Ausgang: Kasten mit Tabelle Haus | Bewohner | Links (vorher CSS in plan.html) */
.ukm-kasten.kasten .ukm-hinw{padding:8px 16px;font-size:var(--t13);background:var(--warn-bg);color:var(--warn);border-bottom:1px solid var(--line)}
.ukm-tafel td.ukm-haus{width:260px;font-weight:600}
.ukm-tafel td.ukm-haus small{display:block;font-weight:400;font-size:var(--t12);color:var(--ink-3);word-break:break-all}
.ukm-tafel td.ukm-bew{line-height:1.5}
.ukm-tafel td.ukm-kn{white-space:nowrap;vertical-align:top;padding-top:10px}
.ukm-tafel td.ukm-kn .pf549-link + .pf549-link{margin-left:16px}
.ukm-tafel .pf549-link:disabled{color:var(--ink-3);cursor:default;text-decoration:none}
.ukm-fehler{color:var(--warn);font-size:var(--t12)}
/* "Vermieter informiert" auf Karte und Zeile (vorher CSS in plan.html) */
.ukm-verm{font-size:var(--t11);padding:2px 8px;border-radius:var(--r1);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);white-space:nowrap}
.ukm-verm.fehl{color:var(--warn);border-color:var(--warn)}
/* Fenster "Mail an Vermieter": Typ fa breit mail, Inhalt wie vorher */
#ukmaildialog.fa .db{max-height:70vh}
#ukmaildialog.fa .ukm-info{font-size:var(--t13);line-height:1.7;margin:0}
#ukmaildialog.fa .ukm-info span{display:inline-block;min-width:92px;color:var(--ink-3)}
#ukmaildialog.fa .ukm-fall{display:flex;gap:10px;align-items:center;font-size:var(--t13);margin:4px 0}
#ukmaildialog.fa .ukm-fall b{flex:0 0 190px}
#ukmaildialog.fa .ukm-fall span{white-space:nowrap;color:var(--ink-2)}
#ukmaildialog.fa .ukm-fall select{height:var(--knopf-m);border:1px solid var(--line);border-radius:var(--r1);padding:0 10px;font:400 var(--t13) var(--f-sans);background:var(--surface);color:var(--ink)}
#ukmaildialog.fa .feld label small{font-size:var(--t12);color:var(--ink-3)}
#ukmaildialog.fa .feld textarea{height:auto;min-height:260px;padding:8px 10px;line-height:1.5;resize:vertical}
#ukmaildialog.fa .df .tun:disabled{opacity:.5;cursor:default}
/* Kosten: Tabelle im Rahmen von .uk-kt, Chips "Preis fehlt" als Link */
#inhalt .uk-kt > table.pf549-tafel{border:0;border-radius:0}
#inhalt .uk-ohne .pf549-link{height:auto;padding:0;border:0;border-radius:0;background:none;color:var(--accent);font:500 var(--t13) var(--f-sans)}
#inhalt .uk-ohne{gap:8px 16px}
/* Notizen: Filter als Unterreiter, "Neue Notiz" als Kasten mit Fuss */
#inhalt .vt3-tabs.uk-nf600{margin:0 0 8px}
#inhalt .uk-nf600-hinw{margin:0 0 10px}
#inhalt .uk-neu.kasten{margin:0}
#inhalt .uk-neu .fuss.df{flex-wrap:nowrap}
.uk-nz .kn .pf549-link{font:500 var(--t13) var(--f-sans)}
/* Neue Haeuser: Filter im linken Kasten, Detail als Kasten mit Links im Kopf, Funde als Tabelle */
#inhalt .uk-sl .vt3-tabs.uk-nf600{margin:10px 12px 6px}
#inhalt .uk-tab.uk-sd.kasten{border-radius:var(--r2);box-shadow:none;margin:0}
#inhalt .uk-sk600 .o{display:flex;gap:10px;align-items:center}
#inhalt .uk-sk600 .u{font-size:var(--t12);color:var(--ink-2);margin-top:4px;line-height:1.45}
#inhalt .uk-sk600 .u.g{color:var(--ink-3)}
#inhalt .uk-sk600 .kasten-links{flex-wrap:wrap;justify-content:flex-end;gap:8px 16px}
#inhalt .uk-sk600 .frist{margin-right:0}
#inhalt table.uk-ft600{border:0;border-radius:0}
#inhalt table.uk-ft600 tr.uk-f2{display:table-row;padding:0}
#inhalt table.uk-ft600 tr.uk-grp600 > td{height:auto;padding:0}
#inhalt table.uk-ft600 .uk-grp2{border-bottom:0}
#inhalt table.uk-ft600 td.uk-kt600{width:240px;max-width:240px}
#inhalt table.uk-ft600 td.uk-kt600 .kont{max-width:240px}
#inhalt table.uk-ft600 td.uk-zt600{width:100px}
#inhalt table.uk-ft600 td.uk-st600{width:190px}
#inhalt table.uk-ft600 .akt{gap:12px;flex-wrap:nowrap}
#inhalt .uk-wahl .pf549-link{font:500 var(--t13) var(--f-sans)}
#inhalt .uk-sa .pf549-link{font:500 var(--t12) var(--f-sans)}
/* Zuzahlung: Filter als Unterreiter in der Kopfleiste, Tabelle .pf549-tafel */
#inhalt .zz-kopf .vt3-tabs.zz-chips{margin:0}
#inhalt .zz-tafel600 tr.zz-tage td{height:auto;padding:8px 10px;white-space:normal}
#inhalt .zz-tafel600 td.zz-leer{white-space:normal}
#inhalt .zz-tafel600 tfoot td{height:40px;padding:0 10px}
/* Paket 600d: Unterkuenfte Buchen (Mockup B) - je Kunde bzw. Haus ein .kasten, Mitarbeiter als .pf549-tafel, Baustelle als Bereichszeile,
   Detailfeld als .kasten (Links im Kopf, Abbrechen/Speichern im Fuss), Karte mit eigenem Kastenkopf. Nur Variablen, keine festen Farben.
   #inhalt vor den Regeln, weil unterkuenfte.js seine Stile zur Laufzeit hinter kalvero.css haengt. */
#inhalt .uk-tab.uk-bl600{background:none;border:0;border-radius:0;box-shadow:none;overflow:visible}
#inhalt .uk-gbox.kasten > table.uk-bt600{border:0;border-radius:0}
#inhalt table.uk-bt600{table-layout:fixed}
#inhalt table.uk-bt600 th.uk-c1{width:24%}
#inhalt table.uk-bt600 th.uk-c3{width:112px}
#inhalt table.uk-bt600 th.uk-c4{width:104px}
#inhalt table.uk-bt600 th.uk-c5{width:22%}
#inhalt table.uk-bt600 th.uk-c6{width:150px}
#inhalt table.uk-bt600 td{overflow:hidden;text-overflow:ellipsis}
#inhalt table.uk-bt600 tr.uk-bsz:hover td{background:var(--surface-2)}
#inhalt table.uk-bt600 tr.uk-bsz .hint{margin-left:12px;color:var(--ink-3)}
#inhalt table.uk-bt600 .akt{justify-content:flex-end}
#inhalt table.uk-bt600 .akt .pf549-link{white-space:nowrap}
#inhalt .uk-gbox.kasten > .uk-grp .hint{max-width:40%;font-size:var(--t12);color:var(--ink-3)}
/* Detailfeld */
#inhalt .uk-detail.kasten{margin:0}
#inhalt .uk-detail > .k.kasten-kopf{flex-wrap:wrap}
#inhalt .uk-detail > .k .kasten-links{flex-wrap:wrap;justify-content:flex-end;gap:6px 14px;white-space:normal}
#inhalt .uk-detail .felder .bis .pf549-link{font:500 var(--t12) var(--f-sans)}
#inhalt .uk-detail .akt.df{border-bottom:1px solid var(--line)}
#inhalt .uk-detail .uk-mhinw600{padding:10px 16px;margin:0}
#inhalt #uk-pause.uk-pause600{background:var(--accent-soft);border-bottom:1px solid var(--line-soft)}
#inhalt #uk-pause.uk-pause600 .felder{border-bottom:0;padding-top:4px}
#inhalt #uk-pause.uk-pause600 .akt.df{border-bottom:0}
/* Karte: Kreise 10/25 km (Leaflet-Klasse statt fester Farbe) */
#uk-map path.uk-ring600{stroke:var(--ink-3)}
/* Paket 600e: Unterkuenfte Haeuser (Mockup C) - Kasten je Haus, Links im Kopf, Kontaktzeile, Belegung als .pf549-tafel.
   Nur Variablen. #inhalt vor den Regeln wie bei den Hauskarten aus Paket 58x. */
#inhalt .uk-karte.kasten{margin:0}
#inhalt .uk-karte .kasten-kopf.uk-hk600{align-items:flex-start;padding:0;border-bottom:1px solid var(--line)}
#inhalt .uk-karte .kasten-kopf.uk-hk600 .auf-k{flex:1;min-width:0;padding:12px 16px;min-height:0;border:0;background:none}
#inhalt .uk-karte .kasten-kopf.uk-hk600:hover{background:var(--accent-soft)}
#inhalt .uk-karte .kasten-kopf.uk-hk600 .auf-k:hover{background:none}
#inhalt .uk-karte .kasten-kopf.uk-hk600 .kasten-links{padding:14px 16px 0 0}
#inhalt .uk-karte .auf-k p.ort,#inhalt .uk-karte .auf-k p.uk-hp600{margin:4px 0 0;font-size:var(--t12);color:var(--ink-3)}
#inhalt .uk-karte .uk-fehlt600{color:var(--warn)}
#inhalt .uk-karte .uk-kontakt600{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;font-size:var(--t12);color:var(--ink-2);border-bottom:1px solid var(--line-soft)}
#inhalt .uk-karte .uk-kontakt600 .ukvoll{margin-top:0}
/* Belegung */
#inhalt .uk-karte table.uk-bel600{border:0;border-radius:0}
#inhalt .uk-karte table.uk-bel600 td{vertical-align:top}
#inhalt .uk-karte table.uk-bel600 td .ukb-zeile{margin-top:0;opacity:1;color:var(--ink-2)}
#inhalt .uk-karte table.uk-bel600 tr.ukb-pau td{color:var(--ink-3)}
#inhalt .uk-karte table.uk-bel600 tr:is(.andere,.ukb-pautitel,.ukb-fehlt,.leer) td{height:34px;font-size:var(--t12);color:var(--ink-3);background:var(--surface-2)}
#inhalt .uk-karte table.uk-bel600 tr.ukb-fehlt td{color:var(--warn);font-weight:600}
#inhalt .uk-karte table.uk-bel600 tbody tr:is(.andere,.ukb-pautitel,.ukb-fehlt,.leer):hover td{background:var(--surface-2)}
#inhalt .uk-karte table.uk-bel600 .uke-k.pf549-link{height:auto;padding:0;border:0;border-radius:0;background:none;opacity:1;font:500 var(--t12) var(--f-sans);color:var(--accent)}
#inhalt .uk-karte table.uk-bel600 .uke-z{gap:4px 12px;align-items:center}
#inhalt .uk-karte :is(.ukb-feld,.uke-feld) .pf549-link{font:500 var(--t12) var(--f-sans)}
#inhalt .uk-karte :is(.ukb-feld,.uke-feld) :is(.ukb-weg,.uke-weg,.ukart-weg){color:var(--ink-3)}
/* Paket 613: Korrekturen nach der Optik-Kette. Nur Variablen. */
/* Datumsfelder in Fenstern nie schmaler als 150 px (tt.mm.jjjj + Kalendersymbol). Feld "ab" (Paket 395f): Datum 150 px, "ab sofort" daneben */
dialog .feld:has(> input[type="date"]){min-width:150px}
dialog .feld:has(> .af-ab){flex:0 0 auto !important;min-width:0}
dialog .af-ab > input[type="date"]{flex:0 0 150px;width:150px;min-width:150px}
/* Haeuser-Karten (600e): Bewohnertabelle passt in die Karte - feste Aufteilung, alles bricht um, nichts rechts abgeschnitten */
#inhalt .uk-karte table.uk-bel600{table-layout:fixed;width:100%}
#inhalt .uk-karte table.uk-bel600 :is(th,td){min-width:0;white-space:normal;overflow-wrap:break-word}
/* Paket 613b: Buchung breiter (Bewohner 30 %, Baustelle 24 %, Buchung der Rest); Vermerk "per Mail informiert …" bricht um */
/* Paket 613d: Bewohner fest 146 px (120 px Inhalt + Abstand), Buchung fest 255 px ("verlaengern · kuendigen · pausieren" in einer Zeile),
   Baustelle bekommt den Rest und darf mehrzeilig werden. Dafuer stehen hoechstens 3 Haeuser-Karten nebeneinander (mind. 480 px). */
#inhalt .uk-abschnitt .aufgitter{grid-template-columns:repeat(auto-fill,minmax(480px,1fr))}
#inhalt .uk-karte table.uk-bel600 th:nth-child(1){width:146px}
#inhalt .uk-karte table.uk-bel600 th:nth-child(3){width:255px}
#inhalt .uk-karte table.uk-bel600 .ukm-verm{display:inline-block;max-width:100%;white-space:normal;line-height:1.35}
#inhalt .uk-karte table.uk-bel600 .ukb-zeile > *{min-width:0;max-width:100%}
/* Paket 613c: Name und Kennzeichen (EZ/Ø) brechen in der Bewohner-Spalte um statt in die Baustelle zu laufen; mehr Abstand zur Baustelle */
#inhalt .uk-karte table.uk-bel600 td:first-child{padding-right:16px}
#inhalt .uk-karte table.uk-bel600 .ukb-kopf{flex-wrap:wrap;row-gap:3px;min-width:0}
#inhalt .uk-karte table.uk-bel600 td:first-child,#inhalt .uk-karte table.uk-bel600 .ukb-kopf .nm{overflow-wrap:normal;word-break:normal}   /* Paket 613d: Namen nur an Leerzeichen umbrechen */
#inhalt .uk-karte table.uk-bel600 .ukm-verm .ukm-wer{white-space:nowrap}   /* Paket 613d: Absender im Mail-Vermerk zusammenhalten */
#inhalt .uk-karte table.uk-bel600 .ukb-kopf .mk{flex:0 0 auto}
/* Paket 613b: Kennzeichen in der Fusszeile (z. B. "wö. ↻") nie gestaucht oder gekappt */
#inhalt .uk-karte .auf-tags .tag{flex:0 0 auto;max-width:100%;height:auto;min-height:22px;line-height:1.2;overflow:visible}
/* ---------------------------------------------------------------------------------------------------------------
   Paket 613f: Fenster ohne Abschneiden (nur CSS). Die Fenster sind hoechstens 96 % der Browserbreite breit; in schmalen
   Browserfenstern (z. B. halber Bildschirm) wurden Einsatzkarte, Kacheln und Zugaenge zu eng.
   --------------------------------------------------------------------------------------------------------------- */
/* 1 Mitarbeiterfenster, Block "Einsatz": ist die Karte schmaler als 420 px, stehen die Eintraege untereinander
     (je Eintrag Beschriftung oben, Wert darunter); Datum, Wert und Hinweis werden nicht mehr mit "…" gekuerzt. */
#persondialog #mf-einsatz{container:mfe613f / inline-size}
@container mfe613f (max-width:420px){
  .mfe-karte:not(.leer){grid-template-columns:minmax(0,1fr)}
  .mfe-karte > div:not(.mfe-wer):not(.mfe-edz) + div:not(.mfe-edz){border-left:0;border-top:1px solid var(--line-soft)}
  .mfe-karte .l,.mfe-karte .w,.mfe-karte .n{white-space:normal;overflow:visible;text-overflow:clip}
}
/*   Kacheln oben (Kuendigungsfrist, Equal Pay, Hoechstueberlassung): Hinweiszeile bricht um statt "…" */
#mf-kaesten .mf-kasten .n{white-space:normal;overflow:visible;text-overflow:clip}
/* 2 Zugaenge: Zellen duerfen an Leerzeichen umbrechen, damit "Letzte Anmeldung" und "Aktionen" ohne Seitenrollen
     sichtbar sind; die einzelnen Aktionen bleiben einzeilig. Bei voller Breite (1060 px) aendert sich nichts. */
dialog.zg2 .zg2-tab td{white-space:normal}
dialog.zg2 .zg2-tab .btn.zg2-k{white-space:nowrap}
/* 3 Neuer Mitarbeiter / Neuer Bewerber: eine Zeile mit nur einem sichtbaren Feld nutzt die volle Breite
     (Name, WhatsApp, Notiz, Vertrag); zwei Felder bleiben halbe/halbe, Zeilen mit drei Feldern (Lohn) unveraendert. */
#persondialog.mb .mb-reihe:not(.eins):not(:has(> :nth-child(3))){grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
/* 5 Einsatzfenster, Block "Unterkunft": dasselbe Raster wie die anderen Bloecke (.kb-wt): kein Spaltenabstand,
     Werte beginnen auf derselben Linie, Trennlinien durchgehend. */
#bearbeiten.eo-an .ukist dl{gap:0;align-items:stretch}
/* ---------------------------------------------------------------------------------------------------------------
   Paket 616: Personalanfrage-Karte nach Mockup "PersAnfrage-nachher" (Ansatz B). Baut auf .a586 auf, alles Neue unter .a616.
   Groessen nach Schema: Schrift 11/12/13/18, Knopf 34 px (--knopf-m), Zeilenkopf 34 px, Vorschlag zweizeilig mind. 56 px.
   --------------------------------------------------------------------------------------------------------------- */
.a616 .a586-kopf{display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:12px 14px;min-height:0}
.a616-z1{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.a616-z1 h3{flex:0 1 auto;min-width:0;letter-spacing:.03em;overflow-wrap:anywhere}
.a616 .a586-sub,.a616 .a586-chips,.a616 .taet459{margin-top:0}
.a616 .a586-chips .tag{height:auto;min-height:20px;padding:1px 7px;font-size:var(--t12)}
.a616 .btn.a616-hell{margin-left:auto;flex:none}   /* Paket 624: Aussehen in der gemeinsamen Regel fuer helle Knoepfe (Ende der Datei) */
.a616 .taet459 strong{font-size:var(--t13)}
.a616 .taet459 details.taet472 > summary{display:inline;padding:0;border:0;margin-top:0;font-size:var(--t12);color:var(--accent)}
.a616 .taet459 details.taet472[open] > summary{background:none}
/* Vorschlaege: keine Spalten mehr, je Vorschlag zwei Linien */
.a616-vk{height:34px;box-sizing:border-box;display:flex;align-items:center;padding:0 14px;font:600 var(--t12) var(--f-sans);color:var(--ink-3);border-bottom:1px solid var(--line-soft)}
.a616-v{display:flex;flex-direction:column;justify-content:center;gap:5px;min-height:56px;box-sizing:border-box;padding:11px 14px;border-bottom:1px solid var(--line-soft);cursor:pointer}
.a616-v:last-child{border-bottom:0}
.a616-v:hover{background:var(--surface-2)}
.a616-v:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.a616-l1{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;font-size:var(--t13);line-height:1.3}
.a616-l1 .nm{font-weight:700;overflow-wrap:anywhere}
.a616-l1 .mk{flex:0 0 auto;white-space:nowrap;margin:0}   /* Paket 640: Chips brechen als Ganzes um, nie abschneiden */
.a616-l1 .a586-pl{margin-left:auto;height:20px}
.a616-pf{width:10px;text-align:right;color:var(--ink-3)}
.a616-v:hover .a616-pf{color:var(--accent)}
.a616-l2{font-size:var(--t12);line-height:1.35;color:var(--ink-3)}
.a616-l2.rot{color:var(--crit)}
/* "Profil" als Link hinter dem Namen (Paket 529, Entscheidung 20.10.: wie Mockup) */
.anf-prof{all:unset;cursor:pointer;font:400 var(--t12) var(--f-sans);color:var(--accent)}
.anf-prof:hover{text-decoration:underline}
.anf-prof:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* Fuss grau, Hauptknopf rechts */
.a616 .a586-fuss{justify-content:flex-end;flex-wrap:wrap;padding:10px 14px}
.a616 .a586-fuss .tun{height:var(--knopf-m);padding:0 14px;font-size:var(--t13);border-radius:var(--r1)}
/* ---------------------------------------------------------------------------------------------------------------
   Paket 617: Auftragskarte (Dispoplanung, alle Abteilungen) nach Mockup "Karten-El-nachher" (Ansatz B). Alles unter .a617.
   Zeitstreifen links (.auf.frueh / .auf.spaet / .auf.offen aus plan.html) bleibt. Schrift 11/12/13/18, Knopf 34 px, Zeile 56 px.
   --------------------------------------------------------------------------------------------------------------- */
.aufgitter.a617-gitter{grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),518px));gap:14px}
.auf.a617{border-radius:var(--r2)}
.auf.a617.offen{border-top-color:var(--line);border-right-color:var(--line);border-bottom-color:var(--line)}   /* Rand grau, nur der Zeitstreifen links farbig */
.a617-kopf{display:flex;flex-direction:column;gap:7px;padding:12px 14px;background:var(--surface-2);border-bottom:1px solid var(--line)}
.a617-z1{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.a617-z1 h3{margin:0;min-width:0;font:600 var(--t18)/1.1 var(--f-cond);letter-spacing:.03em;text-transform:uppercase;color:var(--ink);overflow-wrap:anywhere}
.a617-vs{margin-left:auto;display:inline-flex;align-items:baseline;gap:4px;padding:1px 8px;border:1px solid var(--line);border-radius:4px;background:var(--surface);font-size:var(--t11);color:var(--ink-3);white-space:nowrap}
.a617-vs b{font-size:var(--t12);font-weight:600;color:var(--ink)}
.a617-sub{font-size:var(--t12);color:var(--ink-3)}
.a617-sub .bald{color:var(--warn);font-weight:600}
.a617-sub .jetzt{color:var(--crit);font-weight:600}
.a617-kn{display:flex;flex-wrap:wrap;gap:8px}
/* Paket 624: .a617-hell - Aussehen in der gemeinsamen Regel fuer helle Knoepfe (Ende der Datei) */
/* Personen: zwei Linien, Name nie abgeschnitten */
ul.auf-ma.a617-ma{padding:0;gap:0}
ul.auf-ma.a617-ma li{flex-direction:column;align-items:stretch;justify-content:center;gap:4px;min-height:56px;box-sizing:border-box;padding:8px 14px;border-bottom:1px solid var(--line-soft);border-radius:0;font-size:var(--t13);font-weight:400;color:var(--ink)}
ul.auf-ma.a617-ma li:last-child{border-bottom:0}
ul.auf-ma.a617-ma li.klick:hover{background:var(--surface-2)}
.a617-l1{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;line-height:1.3}
ul.auf-ma.a617-ma li .nm{flex:0 1 auto;font-weight:600;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
ul.auf-ma.a617-ma li.frei .nm{color:var(--warn)}
.a617-l2{font-size:var(--t12);line-height:1.35;color:var(--ink-3)}
.a617-geerbt{opacity:.75}
ul.auf-ma.a617-ma .weg.a617-weg{margin-left:auto;padding:0;border-radius:0;background:none;font:400 var(--t12)/1.3 var(--f-sans);color:var(--ink-3)}
ul.auf-ma.a617-ma .weg.a617-weg:hover{background:none;color:var(--crit);text-decoration:underline}
.a617-link{all:unset;margin-left:auto;cursor:pointer;font:400 var(--t12)/1.3 var(--f-sans);color:var(--accent)}
.a617-link:hover{text-decoration:underline}
.a617-link:focus-visible,ul.auf-ma.a617-ma .weg.a617-weg:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.a617-pf{width:10px;text-align:right;color:var(--ink-3)}
/* Unten in der Karte: Stand, Unterkunft, Baustelle, Taetigkeit, Haekchen */
.a617-unten{display:flex;flex-direction:column;gap:7px;padding:10px 14px;border-top:1px solid var(--line-soft);font-size:var(--t12);color:var(--ink-3)}
.a617-stand{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.a617-stand .tag{display:inline-flex;align-items:center;min-height:20px;padding:1px 8px;border-radius:999px;font:500 var(--t12) var(--f-sans);white-space:normal}
.a617-stand .tag.gut{border-color:transparent}
.a617 .auf-bs.a617-bsk{width:auto;margin:0 0 0 auto;padding:0;border:0;border-radius:0;background:none;font:400 var(--t12) var(--f-sans);color:var(--accent)}
.a617 .auf-bs.a617-bsk:hover{text-decoration:underline}
.a617-stand .auf-bsinhalt{flex:1 1 100%;margin:2px 0 0;color:var(--ink)}
.a617-unten .taet459{margin-top:0}
.a617-unten .taet459 strong{font-size:var(--t13);color:var(--ink)}
.a617-unten .taet459 details.taet472 > summary{display:inline;padding:0;border:0;margin-top:0;font-size:var(--t12);color:var(--accent)}
.a617-unten .taet459 details.taet472[open] > summary{background:none}
.a617-unten .auf-b{padding:0;font-size:var(--t12)}
.a617-unten .auf-ok{padding:0;gap:6px 14px}
.a617-fuss{display:flex;align-items:center;gap:8px;margin-top:auto;padding:10px 14px;background:var(--surface-2);border-top:1px solid var(--line)}
.a617-fuss .btn,.a617-fuss .tun{height:var(--knopf-m);padding:0 14px;border-radius:var(--r1);font-size:var(--t13)}
.a617-fuss .btn{border:1px solid var(--line);background:var(--surface);font-weight:500}
.a617-fuss .tun{margin-left:auto}
@media print{.a617-kn,.a617-fuss,.a617-weg,.a617-link,.a617-pf{display:none !important}}
/* ---------------------------------------------------------------------------------------------------------------
   Paket 617c: Korrekturen Dispoplanung (Rueckmeldung 20.10. abends)
   --------------------------------------------------------------------------------------------------------------- */
/* 1 Karten: auto-fill zaehlt die Spalten nach dem Mindestwert. Mit fester Hoechstbreite (518 px) passte bei ca. 730 px
     nur eine Karte. Jetzt: Mindestbreite = halbe Breite, aber nicht unter 340 px und nicht ueber 518 px. */
.aufgitter.a617-gitter,#inhalt .anf-stapel{grid-template-columns:repeat(auto-fill,minmax(min(100%,max(340px,min(518px,calc((100% - 15px) / 2)))),1fr))}
/* 2 Haken: das Kaestchen heisst wie die allgemeine Kastenklasse (.kasten, margin unten 14 px) - Abstand weg */
.hk .kasten{margin:0}
/* 3 "Wer verfuegbar ist": feste Zeilen */
.vpz.v617c{align-items:flex-start}
.vfg .vp.v617c-z{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:3px}
.v617c-1{display:flex;align-items:baseline;gap:8px;min-width:0}
.vfg .v617c-1 .nm{flex:1 1 auto;min-width:0;max-width:none;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.vfg .v617c-1 .ab{flex:0 0 auto;margin-left:auto;text-align:right}
.v617c-2{display:flex;flex-wrap:wrap;align-items:center;gap:3px 4px}
.v617c-2 .mk{flex:0 0 auto;margin:0}
.v617c-3{font-size:var(--t11);line-height:1.35;color:var(--ink-3);white-space:normal}
.vpz.v617c .vpm{align-self:flex-start;height:33px}
/* ---------------------------------------------------------------------------------------------------------------
   Paket 622: Optik-Feinschliff nach Messung 20.10.2026 (BEFUND-optik-schema). Nur Groessen nach Schema, kein Neubau.
   --------------------------------------------------------------------------------------------------------------- */
/* 1 Schrift: <small> ohne eigene Groesse (bisher 10,83 px) = 11 px; Abschnittsueberschriften 20 px -> 24 px */
small{font-size:var(--t11)}
.sec-h h2{font-size:var(--t24)}
.nr560-abschnitt{font-size:var(--t24)}
.ak-erg.ak-gross .ak-w{font-size:var(--t24)}
/* 2 Personal-Tabelle: unveraendert - Zeilen sind schon >= 40 px, die 26 px sind Unterzeilen desselben Eintrags */
/* 3 Knoepfe nach Rolle: klein 28 px (--knopf-s), normal und primaer 34 px (--knopf-m), Rundung --r1.
     Feste Hoehe mit border-box: Innenabstaende aelterer Sonderregeln zaehlen nicht mehr mit, <button> mittet den Text.
     Kein display - Knoepfe mit "hidden" bleiben versteckt. Sonderfaelle mit eigener Hoehe (Kontext-Regeln) bleiben. */
.btn,.tun{box-sizing:border-box;height:var(--knopf-m);border-radius:var(--r1)}
.btn.klein,.tun.klein{height:var(--knopf-s);padding:0 10px;font-size:var(--t12);border-radius:var(--r1)}
/*   Wechsel-Knopf: richtet das Paket "Einsatzuebersicht Vorschlag 2" ein (normal, hell) - hier nicht. */
/* 4 Fenster: Kreuz (dialog.js ergaenzt es, wo es fehlt) oben rechts im Kopf */
dialog .kd-x622-kopf:not(.kd-x622-fluss){position:relative;padding-right:48px}
.kd-x622-kopf:not(.kd-x622-fluss) > .kd-x622,dialog.kd-x622-frei > .kd-x622{position:absolute;top:12px;right:16px}
.kd-x622-fluss > .kd-x622{margin-left:auto;flex:none;align-self:flex-start}
dialog.kd-x622-frei > .kd-x622{z-index:2}
dialog.bwd581-mail .kd-x622,dialog.fa.mail .kd-x622{color:inherit}
/*   "Buchung bestaetigen": Abbrechen links, "ohne Mail erledigt" rechts vor der Hauptaktion (Entscheidung 20.10.) */
#ukbest .df > #ukbest-ohne{order:0;margin-left:auto}
#ukbest .df > #ukbest-senden{margin-left:0}
/*   "Haus bearbeiten": "+ Weiteres Haus" und "Haus loeschen" rechts, nicht neben "Schliessen"; mittig zur Fusszeile */
#ukdialog .df .ukvm-foot{margin-right:0;margin-left:auto}
#ukdialog .ukvm-foot .minilink{padding:0 0 0 10px;font-size:var(--t12);line-height:var(--knopf-s)}
/* 5 Auftrag (neu/bearbeiten): der Titel nimmt beim Oeffnen den Fokus (planung601a.js), ohne Rahmen */
.fokus622:focus{outline:none}
/* ---------------------------------------------------------------------------------------------------------------
   Paket 624: Einsatzuebersicht "Kunden und ihre Baustellen" nach Mockup "Vorschlag 2 - zwei Spalten, Schema-Masse"
   (freigegeben 20.10.). Spaltenaufteilung (kflow) unveraendert. Alles Sichtbare nur am Bildschirm - die Druckansicht
   (kflow mit 5 Spalten) bleibt wie sie ist; die neuen Teile sind dort ausgeblendet.
   --------------------------------------------------------------------------------------------------------------- */
@media screen{
/* Heller Knopf (Rolle "normal", 34 px) - die eine Regel fuer alle hellen Knoepfe (616, 617, Wechsel, Kuerzel, Sortierung) */
.a616 .btn.a616-hell,.a617 .btn.a617-hell,#inhalt .card .wvm-zei,#inhalt .sec-h .legende > summary,#inhalt .sec-h .masort button{
  box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--knopf-m);padding:0 12px;
  border:1px solid var(--line);border-radius:var(--r1);background:var(--surface);color:var(--accent);
  font:500 var(--t13)/1 var(--f-sans);letter-spacing:0;text-transform:none;white-space:nowrap;cursor:pointer}
.a616 .btn.a616-hell:hover,.a617 .btn.a617-hell:hover,#inhalt .card .wvm-zei:hover,#inhalt .sec-h .legende > summary:hover,#inhalt .sec-h .masort button:hover{
  background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
#inhalt .sec-h .masort button.an,#inhalt .sec-h .legende[open] > summary{background:var(--accent-soft);border-color:var(--accent);font-weight:500}
#inhalt .card .wvm-zei b{font:inherit;letter-spacing:0;text-transform:none}
#inhalt .sec-h .masort{gap:8px;font-size:var(--t12)}
/* Baustellen-Zeile 56 px: Ort 15, Unterzeile 12, "n MA", Wechsel */
#inhalt .card .bs-kopf,#inhalt .card .bs-kopf:has(.bl){height:56px;min-height:0;box-sizing:border-box;padding:0 14px;align-items:center;gap:8px}
#inhalt .card .bs-kopf .t{justify-content:center;gap:2px}
#inhalt .card .bs-kopf .o,#inhalt .card .bs-kopf .bl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#inhalt .card .bs-kopf .z,#inhalt .card .bs-kopf:has(.bl) .z{margin-top:0;font-size:var(--t12)}
#inhalt .card .bs-kopf .wvm-zei,#inhalt .card .bs-kopf:has(.bl) .wvm-zei{margin-top:0}
/* Tabellenkopf 34 px, 12 px fett grau, ohne Grossbuchstaben; gleiche Spalten wie die Zeilen */
#inhalt .card .bs .spaltenkopf{height:34px;min-height:0;box-sizing:border-box;padding:0 14px;column-gap:8px;align-items:center;border-bottom:1px solid var(--line)}
#inhalt .card .bs .spaltenkopf,#inhalt .card .bs .person.e624{grid-template-columns:minmax(0,1fr) 56px 52px 48px}
#inhalt .card .bs.mz:not(.ohne-bz) .spaltenkopf,#inhalt .card .bs.mz:not(.ohne-bz) .person.e624{grid-template-columns:minmax(0,1fr) 56px 48px 52px 48px}
/* Person: genau zwei Zeilen, 56 px */
#inhalt .card .bs .person.e624{height:56px;min-height:0;box-sizing:border-box;padding:7px 14px;column-gap:8px;row-gap:4px;
  grid-template-rows:auto auto;align-content:center;align-items:center;overflow:hidden}
#inhalt .card .bs .person.e624 > .p-uk{display:none}
#inhalt .card .bs .person.e624 > .p-nm{grid-row:1;grid-column:1;min-width:0;overflow:hidden;flex-wrap:nowrap;gap:6px;font-size:var(--t13);line-height:18px}
#inhalt .card .bs .person.e624 > .p-nm > .t{flex:0 0 auto;max-width:100%;font-weight:600}   /* Name hat Vorrang vor den Hinweisen */
#inhalt .card .bs .person.e624 > .p-nm > :not(.t):not(.e624-hw){flex:none}
.person.e624 .e624-hw{display:flex;align-items:center;gap:4px;flex:0 1 auto;min-width:0;overflow:hidden;white-space:nowrap}
.person.e624 .e624-hw > *{flex:none}
#inhalt .card .bs .person.e624 > :is(.z1,.z2,.z3){grid-row:1;font:400 var(--t13)/18px var(--f-sans);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#inhalt .card .bs .person.e624 > .z1{font-weight:600}
#inhalt .card .bs .person.e624 > .z2.mz-fkz{font-size:var(--t11)}
.person.e624 > .e624-z2{grid-row:2;grid-column:1 / -1;display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;font-size:var(--t12);line-height:18px;color:var(--ink-3)}
.person.e624 .e624-lohn{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.person.e624 .e624-z2:has(.e624-uk) .e624-lohn,.person.e624 > .e624-z2:has(.e624-uk) > .e624-lohn{flex:0 0 auto;max-width:60%}   /* nur mit Unterkunft rechts */
.person.e624 .e624-uk{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:6px;flex:0 1 auto;min-width:0;overflow:hidden}
.person.e624 .e624-uk .uk-nm{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.person.e624 .e624-uk > .tag,.person.e624 .e624-uk > :not(.uk-nm){flex:none;font-size:var(--t11)}
.person.e624 .e624-keine{color:var(--crit);font-weight:500;white-space:nowrap}
}
@media print{
.person.e624 > .e624-z2,.person.e624 .e624-hw{display:none !important}
.sec-h h2{font-size:20px}   /* wie vor Paket 622 - 622 hatte die Ueberschrift auch im Druck auf 24 px gesetzt */
}
/* ---------------------------------------------------------------------------------------------------------------
   Paket 624b: Nachbesserung 624 - Hinweise nie hart abschneiden, eine Linie zwischen den Personen (nur Bildschirm)
   --------------------------------------------------------------------------------------------------------------- */
@media screen{
/* Eine Linie: die Linie der Person bleibt (innerhalb der 56 px), Strich und Abstand des Listenelements (Paket 153) entfallen */
#inhalt .card .bs ul.people > li:has(> .person.e624){border-bottom:0;padding-bottom:0;margin-bottom:0}
/* Hinweise: jede Markierung kuerzt mit "…" (voller Text im Tooltip); was dann nicht passt, steht in "+n" (einsaetze.js). Name hat Vorrang. */
.person.e624 .e624-hw{flex:0 1 auto;min-width:0}
.person.e624 .e624-hw > *{display:block;flex:0 1 auto;min-width:4.5em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.person.e624 .e624-hw > .e624-mehr{flex:none;min-width:0}
/* Passt selbst "+n" nicht oder gibt es keine Hinweise (lange Namen, lange Kuerzel wie "gekuendigt zum ..."), kuerzen Name
   (bis 5em) und Kuerzel mit "…" statt hinten abgeschnitten zu werden; voller Text im Tooltip */
#inhalt .card .bs .person.e624 > .p-nm:is(:has(> .e624-eng),:not(:has(> .e624-hw))) > .t{flex:0 1 auto;min-width:5em;overflow:hidden;text-overflow:ellipsis}
#inhalt .card .bs .person.e624 > .p-nm:is(:has(> .e624-eng),:not(:has(> .e624-hw))) > .mk{flex:0 1 auto;min-width:1.6em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.person.e624 .e624-hw.e624-eng{flex:none}
.person.e624 .e624-hw > .ee-vm:empty,.person.e624 .e624-hw > .e624-leer,.person.e624 .e624-hw > .e624-weg,.person.e624 .e624-hw > [hidden]{display:none}
}

/* Paket 627b: Personalnummer des Kunden (personalnummer627.js) */
.mk-pnr{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line-soft);flex:0 0 auto;white-space:nowrap;font-variant-numeric:tabular-nums}
.feld.pnr627{flex:1 1 140px}.feld.pnr627-k{flex:1 1 100%}
.pnr627[hidden],.pnr627-k[hidden]{display:none}
.pnr627-sw{display:flex;align-items:center;gap:8px;cursor:pointer}
dialog.fa .feld .pnr627-sw input{width:auto;height:auto;margin:0;padding:0}

/* Paket 627f: Reihe Personalnummer im Bereich Person (Ansicht macht bereiche.js daraus die Zeile) */
#persondialog.mb .pnr627-r[hidden]{display:none}
#p-titel .mk-pnr{margin-left:8px;vertical-align:middle}

/* Paket 628: Etikett Personalnummer in der Einsatzuebersicht - bleibt ganz, der Name wird gekuerzt (Zeile bleibt 56 px) */
#inhalt .card .bs .person.e624 > .p-nm > .mk.mk-pnr{flex:none;overflow:visible}

/* Paket 638b: Reiter Bewerber, Unterreiter Ansprache und Fenster "Anfrage senden" (ansprache638.js). Maße nach Schema 11/12/13/15/18/24, Knöpfe 34/28 px. */
#inhalt .a638-kopf{display:flex;align-items:baseline;gap:8px;margin:0 0 14px}
#inhalt .a638-kopf h3{margin:0;font:600 var(--t18)/1.2 var(--f-sans)}
#inhalt .a638-kopf small{font-size:var(--t12);color:var(--ink-3)}
#inhalt .a638-schritt{margin:0 0 16px}
#inhalt .a638-schritt h4,#inhalt .a638-abschnitt h4{margin:0 0 8px;font:600 var(--t12)/1.2 var(--f-sans);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}
#inhalt .a638-abschnitt{margin:18px 0 8px}
#inhalt .a638-wahl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#inhalt .a638-karte{padding:12px 14px;border:1px solid var(--line);border-radius:var(--r2);background:var(--surface)}
#inhalt .a638-karte.an{border-color:var(--accent);background:var(--accent-soft)}
#inhalt .a638-karte.aus{color:var(--ink-3)}
#inhalt .a638-karte b{font-size:var(--t15)}
#inhalt .a638-karte p{margin:6px 0 10px;font-size:var(--t12);line-height:1.45;color:var(--ink-2)}
#inhalt .a638-karte.aus p{color:var(--ink-3)}
.a638-punkt{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:50%;border:1px solid var(--line);vertical-align:middle;background:var(--surface)}
.a638-punkt.an{background:var(--accent);border-color:var(--accent)}
#inhalt .a638-kacheln{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 10px}
#inhalt .a638-kachel{padding:10px 12px;border:1px solid var(--line);border-radius:var(--r1);background:var(--surface)}
#inhalt .a638-kachel b{display:block;font:600 var(--t18)/1.2 var(--f-sans)}
#inhalt .a638-kachel span{display:block;margin-top:2px;font-size:var(--t12);color:var(--ink-3)}
#inhalt .a638-auswahl,#inhalt .a638-satz,#inhalt .a638-status{margin:0 0 10px;font-size:var(--t13);color:var(--ink-2)}
#inhalt .a638-klein{margin:0 0 8px;font-size:var(--t12);color:var(--ink-3)}
#inhalt .a638-leer,#inhalt .a638-hinweis{font-size:var(--t13);color:var(--ink-3)}
#inhalt .a638-warn,dialog.a638 .a638-warn{margin:10px 0;padding:8px 12px;border-radius:var(--r1);background:var(--warn-bg);color:var(--warn);font-size:var(--t13)}
dialog.a638 .a638-warn p{margin:0}
.a638-link{border:0;background:none;padding:0;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline}
#inhalt .a638-felder{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:flex-end;margin:0 0 10px}
.a638-feld{display:flex;flex-direction:column;gap:4px;font-size:var(--t12);color:var(--ink-2)}
.a638-feld input,.a638-feld select{height:var(--knopf-m);border-radius:var(--r1)}
.a638-haken{display:flex;align-items:center;gap:8px;height:var(--knopf-m);font-size:var(--t13)}
#inhalt .a638-aktion{display:flex;align-items:center;gap:10px;margin:12px 0}
#inhalt .a638-aktion .tun{height:var(--knopf-m)}
.a638-test{margin:8px 0;font-size:var(--t12);color:var(--ink-3)}
.a638-test .a638-tel{height:var(--knopf-s);width:170px;border-radius:var(--r1)}
.a638-test .a638-sp{height:var(--knopf-s);margin-left:6px;border-radius:var(--r1)}
#inhalt .a638-aktionskarte{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin:0 0 12px;border:1px solid var(--line);border-radius:var(--r2);background:var(--surface)}
#inhalt .a638-aktionskarte b{font-size:var(--t15)}
#inhalt .a638-aktionskarte p{margin:4px 0 0;max-width:560px;font-size:var(--t12);color:var(--ink-2)}
#inhalt .a638-aktionskarte .tun{height:var(--knopf-m);flex:none}
.a638-liste{display:flex;flex-wrap:wrap;gap:4px 12px;max-height:160px;overflow:auto;margin:6px 0;font-size:var(--t12)}
.a638-liste small{color:var(--ink-3)}
#inhalt .a638-tab{overflow-x:auto}
dialog.a638{max-width:min(760px,96vw);width:760px}
dialog.a638 .a638-satz{margin:0 0 10px;font-size:var(--t13)}
dialog.a638 .a638-fs{margin:0 0 10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r2)}
dialog.a638 .a638-fs legend{padding:0 6px;font-size:var(--t11);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}
dialog.a638 .a638-blase{padding:12px 14px;border-radius:var(--r2);background:var(--surface-2);border:1px solid var(--line-soft);font-size:var(--t13);line-height:2}
dialog.a638 .a638-fuss{margin-top:6px;font-size:var(--t11);line-height:1.4;color:var(--ink-3)}
dialog.a638 .a638-in{height:var(--knopf-s);width:190px;max-width:100%;padding:0 8px;border-radius:var(--r1);font-size:var(--t13);box-sizing:border-box}
dialog.a638 .a638-in.kurz{width:110px}
dialog.a638 .a638-vorname{padding:2px 8px;border-radius:var(--r1);background:var(--line-soft);color:var(--ink-3)}
dialog.a638 .a638-hint,dialog.a638 .a638-std{font-size:var(--t12);color:var(--ink-3)}
dialog.a638 .a638-std[hidden]{display:none}
dialog.a638 .a638-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
dialog.a638 .a638-chips span{padding:6px 12px;border:1px solid var(--line);border-radius:var(--r2);background:var(--surface);font-size:var(--t13);color:var(--accent)}
dialog.a638 .a638-zusatz{margin:0 0 10px;font-size:var(--t13)}
dialog.a638 .a638-zusatz summary{cursor:pointer;color:var(--ink-2)}
dialog.a638 .a638-zusatz summary span{color:var(--ink-3);font-size:var(--t12)}
dialog.a638 .a638-raster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;margin-top:8px}
dialog.a638 .a638-raster .a638-in{width:100%}
dialog.a638 .a638-wen{padding:10px 12px;border:1px solid var(--line);border-radius:var(--r1);font-size:var(--t13)}
dialog.a638 .a638-wen span{color:var(--ink-3)}
dialog.a638 .a638-klein{margin:6px 0 0;font-size:var(--t12);color:var(--ink-3)}
dialog.a638 .df{display:flex;align-items:center;justify-content:space-between}
dialog.a638 .df .a638-mitte{flex:1;text-align:right;padding-right:8px}
@media (max-width:760px){#inhalt .a638-wahl,#inhalt .a638-kacheln,dialog.a638 .a638-raster{grid-template-columns:minmax(0,1fr)}}

/* Paket 614a: Fenster "Löschen / nicht angetreten" (loeschen552.js) ohne Inline-Styles; Wort "Verfügbarkeit" im Knopf der Liste "Wer verfügbar ist" */
dialog.fa .lo611-hinweis{margin:0 0 12px;padding:10px 12px;border-radius:var(--r1);background:var(--warn-bg);color:var(--warn)}
dialog.fa .lo611-hinweis p{margin:8px 0 0}
dialog.fa .lo611-liste{margin:6px 0 0 18px;padding:0}
dialog.fa .lo611-feld{margin:0 0 10px}
dialog.fa #lo611-grund{min-height:84px}
dialog.fa .tun.lo611-rot{background:var(--crit);border-color:var(--crit);color:var(--surface)}
.vpz.v617c .vpm{padding:0 8px;font:500 var(--t12)/1.2 var(--f-sans);white-space:nowrap}

/* Paket 612b: Reiter Kunden (kunden612.js), Kundenliste unter Sonstiges */
#inhalt .k612-karte{border:1px solid var(--line);border-radius:var(--r2);background:var(--surface);overflow:hidden}
#inhalt .k612-leiste{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--line)}
#inhalt .k612-leiste h3{margin:0;font:600 var(--t15)/1.2 var(--f-sans)}
#inhalt .k612-leiste small{font-size:var(--t12);color:var(--ink-3)}
#inhalt .k612-leiste .luft{flex:1}
#inhalt .k612-leiste input{height:var(--knopf-m);width:220px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r1);font:400 var(--t13) var(--f-sans)}
#inhalt .k612-tab{overflow-x:auto}
#inhalt .k612-name{border:0;background:none;padding:0;font:inherit;color:var(--ink);cursor:pointer;text-align:left}
#inhalt .k612-name:hover b{color:var(--accent);text-decoration:underline}
#inhalt .k612-chip{display:inline-block;margin-left:4px;padding:1px 6px;border-radius:var(--r1);background:var(--accent-soft);color:var(--accent);font-size:var(--t11)}
#inhalt .k612-chip.rot{background:var(--crit-bg);color:var(--crit)}
#inhalt .k612-tun{white-space:nowrap;text-align:right}
#inhalt .k612-tun .mr-knopf{height:var(--knopf-s);margin-left:6px}
#inhalt .k612-tun .mr-knopf.k612-rot{color:var(--crit)}
#inhalt .k612-hilfe,#inhalt .k612-leer,#inhalt .k612-hinweis{margin:10px 0 0;font-size:var(--t12);color:var(--ink-3)}

/* Paket 614c: Hinweis im Fenster einer ausgeschiedenen Person (inaktiv614c.js) */
#persondialog .pers614-hinweis{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:10px 14px;border-radius:var(--r2);background:var(--warn-bg);color:var(--warn);font-size:var(--t13)}
#persondialog .pers614-hinweis .pers614-text{flex:1 1 220px;min-width:0;overflow-wrap:anywhere}
#persondialog .pers614-hinweis .btn{flex:none;height:var(--knopf-m)}

/* Paket 638c: Fenster "Anfrage senden" nach mockup-Anfrage-nachher - gruener Grund, weisse Blase, Inline-Kaestchen im Text */
dialog.a638{--wa-grund:#e7efe3;--wa-rand:#b9c4d4}
dialog.a638 .a638-fs{padding:0;border:0}
dialog.a638 .a638-fs legend{float:none;padding:0;margin:0 0 8px;font-size:var(--t11);font-weight:600;letter-spacing:.04em}
dialog.a638 .a638-grun{padding:16px;border-radius:var(--r2);background:var(--wa-grund)}
dialog.a638 .a638-grun .a638-blase{max-width:560px;padding:14px 16px;border:0;border-radius:var(--r2) var(--r2) var(--r2) 2px;background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.15);line-height:2.1}
dialog.a638 .a638-grun .a638-fuss{margin-top:8px;line-height:1.4}
dialog.a638 .a638-grun .a638-chips{max-width:560px;gap:8px;margin-top:6px}
dialog.a638 .a638-grun .a638-chips span{flex:1 1 0;min-width:0;padding:8px 4px;border:0;border-radius:8px;background:var(--surface);color:var(--accent);font-size:var(--t12);text-align:center;box-shadow:0 1px 2px rgba(0,0,0,.15)}
dialog.a638 .a638-box{appearance:none;-webkit-appearance:none;display:inline-block;box-sizing:border-box;width:auto;max-width:100%;height:1.5em;padding:0 8px;border:1px solid var(--accent);border-radius:4px;background:var(--surface);color:var(--ink);font:inherit;font-weight:600;line-height:1.3;field-sizing:content;vertical-align:baseline}
dialog.a638 .a638-box:placeholder-shown{border:1px dashed var(--wa-rand);background:var(--surface-2);color:var(--ink-3);font-weight:400}
dialog.a638 .a638-box::placeholder{color:var(--ink-3);opacity:1}
dialog.a638 .a638-box:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
dialog.a638 .a638-box.fehler{border-color:var(--crit);background:var(--crit-bg)}
dialog.a638 .a638-ws{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
dialog.a638 .a638-kalknopf{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em;padding:0;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--accent);cursor:pointer}
dialog.a638 .a638-kalknopf:hover{background:var(--accent-soft)}
dialog.a638 .a638-kalknopf svg{width:12px;height:12px}
dialog.a638 .a638-kal{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0}
dialog.a638 .a638-punkt{width:10px;height:10px;border-radius:3px;border:1px dashed var(--wa-rand);background:transparent;vertical-align:-1px}
dialog.a638 .a638-punkt.an{border:1px solid var(--accent);background:transparent}

/* Paket 642: Kundenliste - Loeschen ausgegraut mit Grund, Knopfspalte bleibt beim seitlichen Scrollen stehen */
#inhalt .k612-karte{min-width:0;max-width:100%}
#inhalt .k612-tab{max-width:100%;overflow-x:auto}
#inhalt .k612-tab .k612-tun{position:sticky;right:0;background:var(--surface);box-shadow:-8px 0 8px -8px rgba(0,0,0,.18)}
#inhalt .k612-tab thead th:last-child{position:sticky;right:0;background:var(--surface-2)}
#inhalt .k612-tab tbody tr:hover .k612-tun{background:var(--accent-soft)}
#inhalt .k612-tun .mr-knopf.k612-grau{color:var(--ink-3);opacity:.6;cursor:help}

/* Paket 643: Menueeintraege (Zahnrad-Menue, Reiter-Menue) wachsen mit ihrem Inhalt statt auf 34 px zu schrumpfen (Ursache: .btn,.tun{height} aus Paket 622) */
.menu .btn,.rmenu .btn{height:auto;min-height:var(--knopf-m)}

/* Paket 646: Reiter Geschaeftsleitung (geschaeftsleitung646.js) - nur Variablen aus :root */
#inhalt .gf646-leiste{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 12px}
#inhalt .gf646-leiste .luft{flex:1}
#inhalt .gf646-leiste .vt3-tabs.gf646-seg{margin:0}
#inhalt .gf646-woche{display:flex;align-items:center;gap:6px}
#inhalt .gf646-woche .mr-knopf{height:var(--knopf-m)}
#inhalt .gf646-wl{min-width:190px;text-align:center;font:600 var(--t13) var(--f-sans);font-variant-numeric:tabular-nums}
#inhalt .gf646-leiste .mr-knopf{height:var(--knopf-m)}
#inhalt .gf646-kasten{background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);margin:0 0 12px;overflow:hidden}
#inhalt .gf646-kasten header{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:12px 14px;background:var(--surface-2);border-bottom:1px solid var(--line)}
#inhalt .gf646-kasten header b{font:600 var(--t15)/1.2 var(--f-sans)}
#inhalt .gf646-kasten header .luft{flex:1}
#inhalt .gf646-sub{font-size:var(--t12);color:var(--ink-3)}
#inhalt .gf646-tab{overflow-x:auto;max-width:100%}
#inhalt .gf646-tab table{width:100%;border-collapse:collapse}
#inhalt .gf646-tab table.pf549-tafel th,#inhalt .gf646-tab table.pf549-tafel td{white-space:nowrap}   /* schmal: die Tabelle rollt seitlich, die Zeilen brechen nicht um */
#inhalt .gf646-tab .re{text-align:right;font-variant-numeric:tabular-nums}
#inhalt .gf646-tab td small{color:var(--ink-3)}
#inhalt .gf646-summe td{font-weight:600;background:var(--surface-2);border-top:1px solid var(--line)}
#inhalt .gf646-zk td{background:var(--warn-bg)}
#inhalt .gf646-abt{cursor:pointer}
#inhalt .gf646-abt:hover td,#inhalt .gf646-abt.an td{background:var(--accent-soft)}
#inhalt .gf646-chip{display:inline-block;margin-left:4px;padding:1px 6px;border-radius:var(--r1);border:1px solid var(--line);font-size:var(--t11);color:var(--ink-3)}
#inhalt .gf646-chip.gf646-rot{border-color:var(--crit);background:var(--crit-bg);color:var(--crit)}
#inhalt .gf646-amp{display:inline-block;padding:2px 9px;border-radius:999px;font:600 var(--t12) var(--f-sans)}
#inhalt .gf646-amp.gf646-rot{background:var(--crit-bg);color:var(--crit)}
#inhalt .gf646-amp.gf646-orange{background:var(--warn-bg);color:var(--warn)}
#inhalt .gf646-amp.gf646-gruen{background:var(--ok-bg);color:var(--ok)}
#inhalt .gf646-amp.gf646-rakete{background:var(--accent);color:var(--accent-ink)}
#inhalt .gf646-amp.gf646-klaeren{background:var(--warn-bg);color:var(--warn);border:1px dashed var(--warn)}
#inhalt .gf646-leer{color:var(--warn);font-style:italic}
#inhalt .gf646-link{border:0;background:none;padding:0;font:inherit;font-size:var(--t12);color:var(--accent);text-decoration:underline;cursor:pointer}
#inhalt .gf646-tab table.pf549-tafel tr.gf646-rw td{background:var(--surface-2);white-space:normal}
#inhalt .gf646-rechenweg{padding:8px 4px;font-size:var(--t12);line-height:1.6;color:var(--ink-2)}
#inhalt .gf646-hinweis{margin:10px 0 0;font-size:var(--t12);color:var(--ink-3)}
#inhalt .gf646-legende{display:flex;gap:16px;flex-wrap:wrap;margin:12px 0 0;font-size:var(--t12);color:var(--ink-3)}
#inhalt .gf646-punkt{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px}
#inhalt .gf646-punkt.gf646-rot{background:var(--crit)}
#inhalt .gf646-punkt.gf646-orange{background:var(--warn)}
#inhalt .gf646-punkt.gf646-gruen{background:var(--ok)}
@media (max-width:700px){
  #inhalt .gf646-wl{min-width:0}
  #inhalt .gf646-leiste .vt3-tabs.gf646-seg{max-width:100%}
}

/* Paket 648: Jobangebot (jobangebot609.js) - Fenster nutzt dialog.a638, nur Variablen aus :root */
dialog.j609 .a638-schritt{margin:0 0 16px}
dialog.j609 .a638-schritt h4{margin:0 0 8px;font:600 var(--t12)/1.2 var(--f-sans);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}
dialog.j609 .a638-felder{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:flex-end;margin:0 0 10px}
dialog.j609 .a638-hinweis,dialog.j609 .a638-leer{font-size:var(--t13);color:var(--ink-3)}
dialog.j609 .a638-tab{overflow-x:auto;margin:0 0 10px}
dialog.j609 .a638-kacheln{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 10px}
dialog.j609 .a638-kachel{padding:10px 12px;border:1px solid var(--line);border-radius:var(--r1);background:var(--surface-2)}
dialog.j609 .a638-kachel b{display:block;font:600 var(--t18)/1.2 var(--f-sans)}
dialog.j609 .a638-kachel span{display:block;margin-top:2px;font-size:var(--t12);color:var(--ink-3)}
dialog.j609 .a638-haken{margin:0 0 6px}
@media (max-width:760px){dialog.j609 .a638-kacheln{grid-template-columns:1fr}}
dialog.j609 .j609-breit{flex:1 1 100%}
dialog.j609 .j609-breit select{width:100%}
dialog.j609 .a638-feld input,dialog.j609 .a638-feld select{min-width:140px;padding:0 8px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
dialog.j609 .j609-tab{width:100%;border-collapse:collapse}
dialog.j609 .j609-tab th,dialog.j609 .j609-tab td{white-space:nowrap;vertical-align:middle}
dialog.j609 .j609-tab .re{text-align:right;font-variant-numeric:tabular-nums}
dialog.j609 .j609-bild{display:block;width:56px;height:40px;object-fit:cover;border-radius:var(--r1);border:1px solid var(--line)}
dialog.j609 .j609-kein{display:inline-block;padding:2px 8px;border-radius:var(--r1);background:var(--warn-bg);color:var(--warn);font-size:var(--t12)}
dialog.j609 .j609-raus ul{margin:6px 0 0;padding-left:18px}
dialog.j609 .j609-empf label{display:flex;align-items:center;gap:6px;white-space:nowrap}
dialog.j609 .j609-empf small{color:var(--ink-3)}
#inhalt .j609-liste .re{text-align:right;font-variant-numeric:tabular-nums}
#inhalt .j609-voll{display:inline-block;margin-left:4px;padding:1px 6px;border-radius:var(--r1);background:var(--ok-bg);color:var(--ok);font-size:var(--t11);font-weight:600}
#inhalt .j609-rw td{background:var(--surface-2)}
#inhalt .j609-antw{display:flex;flex-wrap:wrap;gap:6px 14px}
#inhalt .j609-a{padding:2px 8px;border-radius:var(--r1);border:1px solid var(--line);background:var(--surface);font-size:var(--t12)}
#inhalt .j609-a.j609-ja{border-color:var(--ok);background:var(--ok-bg)}
#inhalt .j609-a.j609-folge{border-color:var(--accent);background:var(--accent-soft)}
#inhalt .j609-a.j609-anrufen{border-color:var(--warn);background:var(--warn-bg)}
#inhalt .j609-a.j609-nein{color:var(--ink-3)}
#inhalt .j609-a small{color:var(--ink-3)}
#inhalt .j609-vs{color:var(--crit)}

/* Paket 650: Vergleich A gegen B und Zeile Branchenzuschlag im Rechenweg (nur Variablen aus :root) */
#inhalt .gf646-vergleich header .gf646-wl{min-width:150px}
#inhalt .gf646-tab .re.gf646-pos{color:var(--ok);font-weight:600}
#inhalt .gf646-tab .re.gf646-neg{color:var(--crit);font-weight:600}
#inhalt .gf646-bz{margin-top:2px;padding:6px 4px 8px;border-top:1px dotted var(--line);font-size:var(--t12);line-height:1.6;color:var(--ink)}

/* Paket 651: eine Regel fuer die Schrift aller Eingabefelder (vorher Arial, Textfelder/Datum/Uhrzeit monospace); niedrigste Spezifitaet, eigene Regeln gewinnen weiter */
input,select,textarea{font-family:var(--f-sans);font-size:var(--t13)}

/* Paket 653: vorläufiger Deckungsbeitrag im Kasten "Zu klären" (nur Variablen aus :root) */
#inhalt .gf646-vorl{color:var(--warn);font-style:italic}
#inhalt .gf646-vorl i{font-size:var(--t11);padding:1px 6px;border-radius:var(--r1);border:1px dashed var(--warn);font-style:normal}

/* Paket 654: Platzhalter fuer Dashboard, Uebersicht, Buchhaltung (nur Variablen aus :root) */
#inhalt .st654-hinweis{margin:16px 2px;font-size:var(--t13);color:var(--ink-3)}

/* Paket 656: Dashboard (nur Variablen aus :root, keine Inline-Styles) */
#inhalt .d656{padding:4px 0 16px}
#inhalt .d656-titel{margin:0;font:600 var(--t18) var(--f-cond);text-transform:uppercase;letter-spacing:.03em}
#inhalt .d656-sub{margin:2px 0 12px;font-size:var(--t12);color:var(--ink-3)}
#inhalt .d656-karte .d656-sub{margin:0 0 6px}
#inhalt .d656-raster{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px;align-items:start}
#inhalt .d656-rechts{display:grid;gap:14px}
@media (max-width: 900px){#inhalt .d656-raster{grid-template-columns:minmax(0,1fr)}}
#inhalt .d656-karte{background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);padding:14px}
#inhalt .d656-karte h4{margin:0 0 8px;font:600 var(--t15) var(--f-sans)}
#inhalt .d656-liste{list-style:none;margin:0;padding:0}
#inhalt .d656-z{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:var(--t13)}
#inhalt .d656-z:last-child{border-bottom:0}
#inhalt .d656-t{flex:1;min-width:0}
#inhalt .d656-pt{width:9px;height:9px;border-radius:50%;flex:none;background:var(--accent)}
#inhalt .d656-rot .d656-pt{background:var(--crit)}
#inhalt .d656-orange .d656-pt{background:var(--warn)}
#inhalt .d656-gruen .d656-pt{background:var(--ok)}
#inhalt .d656-z a{color:var(--accent);text-decoration:underline;font-size:var(--t12);white-space:nowrap}
#inhalt .d656-leer{margin:0;font-size:var(--t13);color:var(--ink-3)}
#inhalt .d656-svg{display:block;width:100%;height:auto}
#inhalt .d656-b{fill:var(--accent)}
#inhalt .d656-o{fill:var(--line)}
#inhalt .d656-ax{font:var(--t11) var(--f-sans);fill:var(--ink-3)}
#inhalt .d656-lb{font:600 var(--t12) var(--f-sans);fill:var(--ink)}
#inhalt .d656-heute .d656-ax{font-weight:600;fill:var(--ink)}
#inhalt .d656-nurgf{margin-top:14px;padding:8px 12px;border:1px dashed var(--accent);background:var(--accent-soft);border-radius:var(--r1);font-size:var(--t12);color:var(--accent)}
#inhalt .d656-namen{border-bottom:1px solid var(--line-soft);padding:0 0 8px 19px;font-size:var(--t12);color:var(--ink-2)}
#inhalt .d656-namen ul{margin:0;padding-left:16px}
#inhalt .d656-namen li{padding:2px 0}

/* Paket 658: Geschaeftsleitung Uebersicht und Hinweis im Reiter Team (nur Variablen aus :root, keine Inline-Styles) */
#inhalt .gf658{padding:4px 0 16px}
#inhalt .gf658-kopf{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
#inhalt .gf658-titel{margin:0;font:600 var(--t18) var(--f-cond);text-transform:uppercase;letter-spacing:.03em}
#inhalt .gf658-luft{flex:1}
#inhalt .gf658-seg,#inhalt .gf658-nav{display:inline-flex;align-items:center;gap:4px}
#inhalt .gf658-seg button,#inhalt .gf658-nav button,#inhalt .gf658-chipknopf{height:var(--knopf-s);padding:0 12px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:var(--r1);font:500 var(--t12) var(--f-sans);cursor:pointer}
#inhalt .gf658-seg button[aria-pressed="true"],#inhalt .gf658-chipknopf[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}
#inhalt .gf658-nav button:disabled{opacity:.4;cursor:default}
#inhalt .gf658-wahl{height:var(--knopf-s);border:1px solid var(--line);border-radius:var(--r1);padding:0 8px;background:var(--surface);color:var(--ink)}
#inhalt .gf658-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px}
#inhalt .gf658-stand{margin-left:auto;font-size:var(--t12);color:var(--ink-3)}
#inhalt .gf658-zwei{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start;margin-bottom:14px}
@media (max-width: 900px){#inhalt .gf658-zwei{grid-template-columns:minmax(0,1fr)}}
#inhalt .gf658-karte{background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);padding:14px;min-width:0;overflow-x:auto}
#inhalt .gf658-karte h4{margin:0 0 8px;font:600 var(--t15) var(--f-sans)}
#inhalt .gf658-tab{border-collapse:collapse;width:100%}
#inhalt .gf658-tab th,#inhalt .gf658-tab td{padding:7px 10px;border-bottom:1px solid var(--line-soft);text-align:left;font-size:var(--t13)}
#inhalt .gf658-tab th{font-size:var(--t12);color:var(--ink-3);font-weight:600;background:var(--surface-2)}
#inhalt .gf658-tab .gf658-re{text-align:right}
#inhalt .gf658-chip{display:inline-block;padding:1px 8px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:var(--t12)}
#inhalt .gf658-chip.gf658-ok{background:var(--ok-bg);color:var(--ok)}
#inhalt .gf658-chip.gf658-warn{background:var(--warn-bg);color:var(--warn)}
#inhalt .gf658-chip.gf658-rot{background:var(--crit-bg);color:var(--crit)}
#inhalt .gf658-leer{margin:0;font-size:var(--t13);color:var(--ink-3)}
#inhalt .gf658-klein{margin:8px 0 0;font-size:var(--t12);color:var(--ink-3)}
#inhalt .tm-datenschutz{margin:0 0 12px;padding:8px 12px;border:1px dashed var(--warn);background:var(--warn-bg);border-radius:var(--r1);font-size:var(--t12);color:var(--warn)}

/* Paket 660: Verlaufsdiagramme der Geschaeftsleitung (nur Variablen aus :root; Abteilungsfarben = Board-Farben --kf1 bis --kf8) */
#inhalt .v660-f1{fill:var(--kf1)}
#inhalt .v660-st1{fill:none;stroke:var(--kf1);stroke-width:2}
#inhalt .v660-bg1{background:var(--kf1)}
#inhalt .v660-f2{fill:var(--kf2)}
#inhalt .v660-st2{fill:none;stroke:var(--kf2);stroke-width:2}
#inhalt .v660-bg2{background:var(--kf2)}
#inhalt .v660-f3{fill:var(--kf3)}
#inhalt .v660-st3{fill:none;stroke:var(--kf3);stroke-width:2}
#inhalt .v660-bg3{background:var(--kf3)}
#inhalt .v660-f4{fill:var(--kf4)}
#inhalt .v660-st4{fill:none;stroke:var(--kf4);stroke-width:2}
#inhalt .v660-bg4{background:var(--kf4)}
#inhalt .v660-f5{fill:var(--kf5)}
#inhalt .v660-st5{fill:none;stroke:var(--kf5);stroke-width:2}
#inhalt .v660-bg5{background:var(--kf5)}
#inhalt .v660-f6{fill:var(--kf6)}
#inhalt .v660-st6{fill:none;stroke:var(--kf6);stroke-width:2}
#inhalt .v660-bg6{background:var(--kf6)}
#inhalt .v660-f7{fill:var(--kf7)}
#inhalt .v660-st7{fill:none;stroke:var(--kf7);stroke-width:2}
#inhalt .v660-bg7{background:var(--kf7)}
#inhalt .v660-f8{fill:var(--kf8)}
#inhalt .v660-st8{fill:none;stroke:var(--kf8);stroke-width:2}
#inhalt .v660-bg8{background:var(--kf8)}
#inhalt .v660{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
#inhalt .v660-kopf{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
#inhalt .v660-titel{margin:0;font:600 var(--t18) var(--f-cond);text-transform:uppercase;letter-spacing:.03em}
#inhalt .v660-luft{flex:1}
#inhalt .v660-seg{display:inline-flex;gap:4px}
#inhalt .v660-seg button,#inhalt .v660-legk{height:var(--knopf-s);padding:0 12px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:var(--r1);font:500 var(--t12) var(--f-sans);cursor:pointer}
#inhalt .v660-seg button[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}
#inhalt .v660-leg{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
#inhalt .v660-legk{display:inline-flex;align-items:center;gap:6px}
#inhalt .v660-legk i{display:inline-block;width:10px;height:10px;border-radius:2px}
#inhalt .v660-legk[aria-pressed="false"]{opacity:.45;text-decoration:line-through}
#inhalt .v660-hinweis{margin-left:auto;font-size:var(--t12);color:var(--ink-3)}
#inhalt .v660-charts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width: 1000px){#inhalt .v660-charts{grid-template-columns:minmax(0,1fr)}}
#inhalt .v660-karte{background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);padding:14px;min-width:0}
#inhalt .v660-karte h4{margin:0;font:600 var(--t15) var(--f-sans)}
#inhalt .v660-unter{font-size:var(--t12);color:var(--ink-3)}
#inhalt .v660-svg{display:block;width:100%;height:auto;margin-top:6px}
#inhalt .v660-gl{stroke:var(--line-soft);stroke-width:1}
#inhalt .v660-ref{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:4 3}
#inhalt .v660-ax{font:var(--t11) var(--f-sans);fill:var(--ink-3)}
#inhalt .v660-lb{font:600 var(--t11) var(--f-sans);fill:var(--ink)}
#inhalt .v660-hit{fill:transparent}
#inhalt .v660-hit:hover{fill:var(--accent-soft);fill-opacity:.5}
#inhalt .v660-blass{fill-opacity:.45;stroke:var(--ink-3);stroke-width:1;stroke-dasharray:3 2}
#inhalt .v660-tab{margin-top:12px}
#inhalt .v660-tab summary{cursor:pointer;color:var(--accent);font-size:var(--t12)}
#inhalt .v660-scroll{overflow-x:auto;margin-top:8px}
#inhalt .v660-t{border-collapse:collapse;width:100%}
#inhalt .v660-t th,#inhalt .v660-t td{padding:6px 10px;border-bottom:1px solid var(--line-soft);text-align:left;font-size:var(--t12);white-space:nowrap}
#inhalt .v660-t th{color:var(--ink-3);font-weight:600;background:var(--surface-2)}
#inhalt .v660-t .v660-re{text-align:right}
#inhalt .v660-vg{margin-top:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#inhalt .v660-vg .v660-karte,#inhalt .v660-vg .v660-scroll,#inhalt .v660-vg .v660-klein,#inhalt .v660-vg .v660-leer{flex:1 1 100%}
#inhalt .v660-vgk{font-size:var(--t13);color:var(--ink-2)}
#inhalt .v660-vgf{font-size:var(--t12);color:var(--ink-3)}
#inhalt .v660-feld{height:var(--knopf-s);border:1px solid var(--line);border-radius:var(--r1);padding:0 8px;background:var(--surface);color:var(--ink)}
#inhalt .v660-leer{margin:8px 0;font-size:var(--t13);color:var(--ink-3)}
#inhalt .v660-klein{margin:8px 0 0;font-size:var(--t12);color:var(--ink-3)}

/* Paket 661: Zeile Leerlauf in den Summen je Abteilung (nur Variablen aus :root) */
#inhalt .gf646-leerlauf td{color:var(--ink-3);font-size:var(--t12)}

/* Paket 668: Dashboard neu - Karten mit Fristen (nur Variablen aus :root, keine Inline-Styles) */
#inhalt .d656-raster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
@media (max-width: 1100px){#inhalt .d656-raster{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 700px){#inhalt .d656-raster{grid-template-columns:minmax(0,1fr)}}
#inhalt .d656-karte{min-width:0;padding:12px}
#inhalt .d656-karte h4{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 2px}
#inhalt .d656-n{font:600 var(--t15) var(--f-sans);color:var(--accent)}
#inhalt .d656-n.d656-rot{color:var(--crit)}
#inhalt .d656-n.d656-orange{color:var(--warn)}
#inhalt .d656-n.d656-gruen{color:var(--ok)}
#inhalt .d656-unter{margin:0 0 6px;font-size:var(--t12);color:var(--ink-3);white-space:normal;overflow-wrap:anywhere}
#inhalt .d656-tab{border-collapse:collapse;width:100%}
#inhalt .d656-tab td{padding:5px 0;border-bottom:1px solid var(--line-soft);font-size:var(--t13);vertical-align:top}
#inhalt .d656-tab tr:last-child td{border-bottom:0}
#inhalt .d656-tab td small{display:block;font-size:var(--t12);color:var(--ink-3)}
#inhalt .d656-tab .d656-re{text-align:right;white-space:nowrap;padding-left:8px;color:var(--ink-2)}
#inhalt .d656-chip{display:inline-block;padding:0 7px;border-radius:10px;font-size:var(--t11);background:var(--accent-soft);color:var(--accent)}
#inhalt .d656-chip.d656-orange{background:var(--warn-bg);color:var(--warn)}
#inhalt .d656-chip.d656-rot{background:var(--crit-bg);color:var(--crit)}
#inhalt .d656-reihe{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin:6px 0 2px;text-align:center}
#inhalt .d656-reihe span{font-size:var(--t11);color:var(--ink-3)}
#inhalt .d656-reihe b{display:block;font:600 var(--t15) var(--f-sans);color:var(--ink)}
#inhalt .d656-klein{margin:6px 0 0;font-size:var(--t12);color:var(--ink-3)}
#inhalt .d656-mehr{display:inline-block;margin-top:6px;font-size:var(--t12);color:var(--accent);text-decoration:underline}

/* Paket 670: Kopfleiste bei schmalem Bildschirm - der rechte Block bricht in eine eigene Zeile um (vorher waagerechte Laufleiste bei 420 px) */
@media (max-width: 760px){header.bar .rechts{flex:1 1 100%;flex-wrap:wrap;justify-content:flex-start;margin-left:0;row-gap:6px}header.bar .suchfeld{flex:1 1 140px;max-width:none}}

/* Paket 672: Einsatzfenster - Beginn fehlt (nur Variablen aus :root) */
#bearbeiten .eo-fehlt label{color:var(--crit);font-weight:600}
#bearbeiten .eo-fehlt input{border-color:var(--crit);background:var(--crit-bg)}

/* Paket 678: Dashboard-Raster (Entscheidung Patrick 25.10.): festes Raster ohne feste Hoehen - 3/2/1 Spalten, Karten einer Reihe gleich hoch, Link unten buendig;
   "Jetzt zu tun" als Streifen ueber die volle Breite; Zahlenleiste bricht um statt abzuschneiden */
#inhalt .d656-raster{align-items:stretch}
#inhalt .d656-raster .d656-karte{display:flex;flex-direction:column}
#inhalt .d656-raster .d656-karte .d656-mehr{margin-top:auto;padding-top:6px;align-self:flex-start}
#inhalt .d656-jetzt{margin:0 0 12px}
#inhalt .d656-jetzt .d656-liste{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
#inhalt .d656-jetzt .d656-namen{grid-column:1/-1}
@media (max-width: 700px){#inhalt .d656-jetzt .d656-liste{grid-template-columns:minmax(0,1fr)}}
#inhalt .d656-tab .d656-re small.d656-vorl{display:block;margin-top:2px;font-size:var(--t11);color:var(--warn);white-space:normal}
#inhalt .d656-akt{display:flex;gap:4px;justify-content:flex-end;margin-top:3px}
#inhalt .d656-akt button{font-size:var(--t11);padding:1px 7px;min-height:0;border:1px solid var(--line);border-radius:var(--r1);background:var(--surface);color:var(--ink-2);cursor:pointer}
#inhalt .d656-akt button:hover{border-color:var(--accent);color:var(--accent)}
#inhalt .d656-akt button[data-d656-zusage="loeschen"]:hover{border-color:var(--crit);color:var(--crit)}
.stats .stat{height:auto;min-height:104px}
.stats .stat-l{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25;overflow-wrap:break-word;hyphens:auto}

/* Paket 681: Kopfzeile neu geordnet (Entscheidung 25.10.) - Suchfeld waechst bis 500 px, Kuerzel-Menue, Drucken als Symbol, Chat-Knopf mit Online-Zahl, HG/HU neben der Woche.
   Unter 760 px gilt weiter der Umbruch aus Paket 670 (die Regeln hier gelten erst ab 761 px). */
@media (min-width: 761px){
  header.bar .rechts{flex:1 1 330px;min-width:0;margin-left:auto}
  header.bar .suchfeld{flex:1 1 180px;max-width:500px}
}
/* Paket 758: Standort-Umschalter (z. B. HG | HU | Gesamt) - Regeln aus standort.js hierher, damit sie ab dem ersten Bild gelten (ohne Hex).
   Zahlen mit fester Breite. Suchfeld ab 761 px nie unter 200 px: reicht der Platz nicht, bricht die rechte Haelfte in die zweite Zeile um. */
.kv-st{display:inline-flex;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);padding:2px;gap:2px;margin:0 0 0 10px;vertical-align:middle;align-self:center}
.kv-st button{font:inherit;font-size:var(--t13);border:0;background:transparent;color:inherit;border-radius:var(--r1);padding:3px 10px;cursor:pointer;display:inline-flex;align-items:baseline;gap:5px}
.kv-st button .n{display:inline-block;min-width:3ch;text-align:right;font-size:var(--t11);opacity:.65;font-variant-numeric:tabular-nums}
.kv-st button:hover{background:var(--accent-soft)}
.kv-st button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);font-weight:600}
.kv-st button[aria-pressed="true"] .n{opacity:.85}
.kv-st.kv-st-laedt button .n{opacity:.4}
.kv-st[hidden]{display:none}
#reiter > .kv-st{margin:0 0 0 auto;align-self:center}
.mk.mk-st{background:var(--accent-soft);color:var(--accent);font-weight:600}
.menu-wrap:has(> .kv-st:not([hidden])){display:flex;align-items:center}
.kv-st button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (min-width: 761px){header.bar .rechts{min-width:min-content}header.bar .suchfeld{min-width:200px;width:200px}}
@media (min-width: 761px){header.bar .bar-in{gap:8px}header.bar .suchfeld{min-width:140px;width:140px}}   /* Paket 793b: Regional mit Logo und Umschalter einzeilig bei 1560 px */
@media (min-width: 1600px){header.bar .bar-in{flex-wrap:nowrap}header.bar .rechts{flex:1 1 auto;min-width:0;gap:6px}header.bar .suchfeld{flex:1 1 140px;min-width:100px;width:140px}}   /* Paket 798b: ab 1600 px einzeilig, auch Regional (Umschalter 252 px) */
header.bar .kwbox + .kv-st{margin:0}
header.bar #druckknopf{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px}
header.bar #druckknopf svg{width:18px;height:18px;display:block}
body.kopf681 header.bar #wer{display:none}
.kopf681-wer{position:relative;display:inline-flex;flex:none}
.kopf681-kz{width:30px;height:30px;padding:0;border-radius:50%;border:1px solid var(--line);background:var(--accent-soft);color:var(--accent);font:600 var(--t12) var(--f-sans);letter-spacing:.02em;cursor:pointer}
.kopf681-kz:hover,.kopf681-kz[aria-expanded="true"]{border-color:var(--accent)}
.kopf681-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:50;display:flex;flex-direction:column;gap:2px;min-width:190px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);box-shadow:var(--shadow-lg)}
.kopf681-menu[hidden]{display:none}
.kopf681-name{padding:5px 8px;font-size:var(--t13);font-weight:600;color:var(--ink);white-space:nowrap;border-bottom:1px solid var(--line-soft)}
.kopf681-ab{text-align:left;font:inherit;font-size:var(--t13);padding:6px 8px;border:0;border-radius:var(--r1);background:transparent;color:var(--ink-2);cursor:pointer}
.kopf681-ab:hover{background:var(--accent-soft);color:var(--accent)}
header.bar .rechts.kopf681-zus #kv-online{display:none}
#kv-chat-knopf[data-online]{gap:5px;padding-left:9px;padding-right:9px}
#kv-chat-knopf[data-online]::after{content:"\25CF\00A0" attr(data-online);font-size:var(--t12);font-weight:600;line-height:1;color:var(--ok)}
#kv-chat-knopf.an[data-online]::after{color:inherit}

/* Paket 682: Einstellungsseiten (Themen, Vorlagen) ohne Reiterleiste, mit Leiste "Einstellungen · Name" und "× Schließen" */
.einst682{display:none}
body[data-einstellung] #reiter{display:none}
body[data-einstellung] .einst682{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1560px;margin:14px auto 0;padding:10px 18px;box-sizing:border-box}
.einst682-t{display:flex;flex-direction:column;min-width:0}
.einst682-t small{font-size:var(--t11);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}
.einst682-t b{font:600 var(--t18) var(--f-sans);color:var(--ink)}
.einst682-zu{flex:none}

/* Paket 687: "Jetzt zu tun" als kompakte Kacheln (Breite nach Inhalt, ganze Kachel klickbar, keine Trennlinien, Umbruch) */
#inhalt .d656-jetzt{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 12px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r2)}
#inhalt .d656-jetzt h4{margin:0;font:600 var(--t13) var(--f-sans);color:var(--ink-2);white-space:nowrap}
#inhalt .d656-jz{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;min-width:0}
#inhalt .d656-jk{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:6px 10px;border:1px solid var(--line);border-radius:var(--r2);background:var(--surface-2);color:var(--ink);font:var(--t13) var(--f-sans);text-align:left;cursor:pointer}
#inhalt .d656-jk:hover,#inhalt .d656-jk:focus-visible{border-color:var(--accent);background:var(--accent-soft)}
#inhalt .d656-jk[aria-expanded="true"]{border-color:var(--accent)}
#inhalt .d656-jk .d656-t{min-width:0;overflow-wrap:anywhere}
#inhalt .d656-jk .d656-pf{color:var(--ink-3);flex:none}
#inhalt .d656-jetzt-leer .d656-leer{font-size:var(--t13);color:var(--ok)}
#inhalt .d656-jetzt .d656-namen{flex:1 1 100%;border:0;padding:2px 0 0 4px;font-size:var(--t12);color:var(--ink-2)}
#inhalt .d656-we{list-style:none;margin:0;padding:0}
#inhalt .d656-we li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:4px 0}
#inhalt .d656-we .d656-akt{margin:0}
#inhalt .d656-faellig{color:var(--crit);font-weight:600}

/* Paket 688: Hinweis geplanter Wiedereintritt im Mitarbeiterfenster */
.we688{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin:8px 0;padding:8px 12px;border:1px solid var(--warn);border-radius:var(--r1);background:var(--warn-bg);font-size:var(--t13);color:var(--ink)}
.we688-k{display:flex;flex-wrap:wrap;gap:6px}

/* Paket 700: Zahlenleiste (Kacheln oben) - eine feste Hoehe fuer alle Reiter und Abteilungen; Bezeichnung und Erlaeuterung je einzeilig.
   Unter 760 px duerfen beide umbrechen; die Kacheln einer Reihe bleiben gleich hoch (Raster dehnt die Zeile). */
.stats .stat{height:104px;min-height:0}
.stats .stat-l,.stats .stat-n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width: 760px){
  .stats{align-items:stretch}
  .stats .stat{height:auto;min-height:104px}
  .stats .stat-l,.stats .stat-n{white-space:normal;overflow:visible;text-overflow:clip}
}

/* Paket 708: Telefonliste (telefon.js) - Knopf im Kopf, Fenster je Niederlassung, Treffer unter der Kopf-Suche, Pflege (admin) */
#kv-tel-knopf{display:inline-flex;align-items:center;gap:5px;margin-right:6px;vertical-align:middle;white-space:nowrap}
#kv-tel-knopf .tel-ico{font-size:15px;line-height:1}
@media (max-width:700px){#kv-tel-knopf{margin-right:0;padding-left:9px;padding-right:9px}#kv-tel-knopf .tel-knopf-t{display:none}}
@media (max-width:480px){header.bar .rechts .suchfeld{flex-basis:110px}}   /* Platz fuer den Knopf: Kopf bleibt bei 420 px zweizeilig wie vorher */
dialog.tel-dlg{width:min(1180px,96vw);max-width:96vw !important;padding:0}
.tel-kopf{display:flex;gap:12px;align-items:center;padding:14px 18px 12px;border-bottom:1px solid var(--line)}
.tel-kopf h2{margin:0;font-size:18px;white-space:nowrap}
.tel-kopf .tel-suche{flex:1 1 auto;min-width:0;max-width:340px;height:34px}
.tel-kopf .tel-luecke{flex:1 1 auto}
.tel-x{margin-left:auto;border:0;background:none;font-size:24px;line-height:1;cursor:pointer;color:var(--ink-2);padding:0 4px}
.tel-inhalt{padding:14px 18px 18px;max-height:78vh;overflow:auto}
.tel-grau{color:var(--ink-3);font-size:var(--t13)}
.tel-bloecke{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;align-items:start}
.tel-nl{border:1px solid var(--line);border-radius:var(--r1);padding:10px 12px 12px;background:var(--surface)}
.tel-nl-kopf{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding-bottom:8px;margin-bottom:6px;border-bottom:1px solid var(--line-soft)}
.tel-nl-kopf b{font-size:15px}
.tel-zentrale{font-family:var(--f-mono);font-size:var(--t13);color:var(--ink-2);text-decoration:none}
.tel-zentrale:hover{color:var(--accent);text-decoration:underline}
.tel-intern{margin-left:auto;background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:1px 9px;font-family:var(--f-mono);font-size:var(--t12);font-weight:700}
.tel-spk,.tel-z{display:grid;grid-template-columns:minmax(0,1fr) 46px 132px;gap:0 8px;align-items:center}
.tel-spk{font-size:var(--t11);color:var(--ink-3);text-transform:uppercase;letter-spacing:.03em;padding:2px 0 4px}
.tel-spk span:nth-child(2){text-align:center}
.tel-spk span:nth-child(3){padding-left:10px}
.tel-abt{font-size:var(--t12);font-weight:700;color:var(--ink-3);margin:8px 0 2px}
.tel-z{padding:3px 0;font-size:var(--t13)}
.tel-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tel-punkt{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);margin-right:6px;vertical-align:1px}
.tel-punkt.aus{background:transparent}
.tel-dw{display:block;text-align:center;border:1px solid var(--line);border-radius:4px;padding:1px 0;font-family:var(--f-mono);color:var(--ink);text-decoration:none;background:var(--surface-2)}
a.tel-dw:hover{border-color:var(--accent);background:var(--accent-soft)}
.tel-dw.leer,.tel-mob.leer{border-color:transparent;background:none;color:var(--ink-3)}
.tel-mobfeld{border-left:1px solid var(--line);padding-left:10px;min-width:0}
.tel-mob{font-family:var(--f-mono);color:var(--ink);text-decoration:none;white-space:nowrap}
a.tel-mob:hover{color:var(--accent);text-decoration:underline}
@media (max-width:480px){
  dialog.tel-dlg{width:100vw;max-width:100vw !important}
  .tel-kopf{flex-wrap:wrap;padding:12px 14px 10px}
  .tel-kopf .tel-suche{order:5;flex:1 1 100%;max-width:none}
  .tel-inhalt{padding:12px 14px 14px}
  .tel-bloecke{grid-template-columns:minmax(0,1fr)}
  .tel-spk,.tel-z{grid-template-columns:minmax(0,1fr) 46px;grid-template-areas:"n d" "m m"}
  .tel-spk span:nth-child(3){display:none}
  .tel-name{grid-area:n}
  .tel-z .tel-dw{grid-area:d}
  .tel-mobfeld{grid-area:m;border-left:0;padding-left:14px;font-size:var(--t12)}
  .tel-mobfeld .tel-mob.leer{display:none}
}
.tel-pop{position:fixed;z-index:60;width:340px;max-width:calc(100vw - 16px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r1);box-shadow:var(--shadow-lg);padding:6px 0;font-size:var(--t13)}
.tel-pop-t{padding:2px 12px 6px;font-size:var(--t11);text-transform:uppercase;letter-spacing:.03em;color:var(--ink-3)}
.tel-pop-z{display:grid;grid-template-columns:minmax(0,1fr) 46px auto;gap:0 8px;align-items:center;padding:4px 12px}
.tel-pop-n{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tel-pop-n small{display:block;color:var(--ink-3);font-size:var(--t11)}
.tel-pop-alle{display:block;width:100%;margin-top:4px;padding:6px 12px;border:0;border-top:1px solid var(--line-soft);background:none;text-align:left;color:var(--accent);cursor:pointer;font:inherit}
.tel-pnl{border:1px solid var(--line);border-radius:var(--r1);padding:10px 12px;margin-bottom:12px}
.tel-pnl-kopf{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:6px}
.tel-pnl input,.tel-pnl select{height:30px;font-size:var(--t13);min-width:0}
.tel-pnl-kopf input{width:180px}
.tel-pnl input.tel-kurz{width:72px}
.tel-ptab{width:100%;border-collapse:collapse}
.tel-ptab th{text-align:left;font-size:var(--t11);color:var(--ink-3);font-weight:600;padding:2px 4px}
.tel-ptab td{padding:2px 4px}
.tel-ptab td input:not([type=checkbox]),.tel-ptab td select{width:100%}
.tel-zug{white-space:nowrap}
.tel-k{padding:2px 8px;min-height:28px}
.tel-aktiv{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:var(--t12)}
.tel-ptab td input.tel-kurz:not([type=checkbox]){width:64px}
.tel-plus{margin-top:6px}
@media print{#kv-tel-knopf,.tel-pop{display:none !important}}
/* Paket 721: Beendete Auftraege wieder oeffnen (auftragwieder721.js) - Liste nutzt .erl/.erlz aus plan.html */
.aw721{margin-top:10px}
.aw721-grau{color:var(--ink-3)}
.aw721-box{margin:0 0 12px}
.aw721-box p{margin:0 0 6px}
.aw721-box .tun{margin-top:4px}
.aw721-liste{margin:0;padding-left:18px}
/* Paket 723: Einstellungs-Checkliste (checkliste723.js) - Mitarbeiterfenster und Dashboard */
.cl723-kurz.cl723-off{color:var(--warn)}
.cl723-z{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 0;border-top:1px solid var(--line-soft)}
.cl723-z:first-child{border-top:0}
.cl723-mk{color:var(--warn);font-weight:700;text-align:center}
.cl723-mk.cl723-ja{color:var(--ok)}
.cl723-t small{display:block;color:var(--ink-3);font-size:var(--t12)}
.cl723-r{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px}
.cl723-wer{color:var(--ink-3);font-size:var(--t12);white-space:nowrap}
.cl723-dt{width:140px}
.cl723-seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r1);overflow:hidden}
.cl723-seg button{border:0;border-left:1px solid var(--line);background:var(--surface);color:var(--ink-2);padding:3px 9px;font-size:var(--t12);cursor:pointer}
.cl723-seg button:first-child{border-left:0}
.cl723-seg button.cl723-an{background:var(--accent);color:var(--accent-ink)}
.cl723-seg button:disabled{cursor:default}
.cl723-hin{margin:8px 0 0}
.cl723-ma{margin-left:6px}
.cl723-liste{margin:0;padding-left:18px}
@media (max-width:480px){.cl723-z{grid-template-columns:20px minmax(0,1fr)}.cl723-r{grid-column:2;justify-content:flex-start}}
/* Paket 725: Aerztliche Untersuchung (untersuchung725.js) - Kunden- und Mitarbeiterfenster, Dashboard */
.un725k{margin-top:10px}
.un725-haken{display:flex;align-items:center;gap:8px;font-size:var(--t13);color:var(--ink)}
.un725-off{color:var(--warn)}
.un725-k{padding:6px 0 8px;border-top:1px solid var(--line-soft)}
.un725-k:first-child{border-top:0}
.un725-kopf{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px}
.un725-grau{color:var(--ink-3);font-size:var(--t12)}
.un725-seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r1);overflow:hidden}
.un725-seg button{border:0;border-left:1px solid var(--line);background:var(--surface);color:var(--ink-2);padding:5px 10px;font-size:var(--t12);cursor:pointer}
.un725-seg button:first-child{border-left:0}
.un725-seg button.un725-an{background:var(--accent);color:var(--accent-ink)}
.un725-seg button:disabled{cursor:default}
.un725-liste{margin:0;padding-left:18px}
/* Paket 728: Feedback-Fenster (feedback728.js) - Knopf im Kopf, Fenster, Eingang fuer admin */
#kv-fb-knopf{display:inline-flex;align-items:center;gap:5px;margin-right:6px;vertical-align:middle;white-space:nowrap}
#kv-fb-knopf .fb-ico{font-size:14px;line-height:1}
@media (max-width:700px){#kv-fb-knopf{margin-right:0;padding-left:9px;padding-right:9px}#kv-fb-knopf .fb-knopf-t{display:none}}
#mehrmenu .fb-nur-klein{display:none}
@media (max-width:480px){#kv-fb-knopf{display:none}#mehrmenu .fb-nur-klein{display:block}}   /* 420 px: Kopf bleibt zweizeilig (Paket 708), Feedback im Zahnrad */
dialog.fb-dlg{width:min(760px,96vw);max-width:96vw !important;padding:0}
.fb-kopf{display:flex;gap:12px;align-items:center;padding:14px 18px 12px;border-bottom:1px solid var(--line)}
.fb-kopf h2{margin:0;font-size:18px}
.fb-tabs{display:inline-flex;gap:4px}
.fb-tabs button,.fb-filter button,.fb-seg button{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:var(--r1);padding:3px 10px;font-size:var(--t12);cursor:pointer}
.fb-tabs button.fb-an,.fb-filter button.fb-an,.fb-seg button.fb-an{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.fb-zahl{margin-left:4px}
.fb-x{margin-left:auto;border:0;background:none;font-size:24px;line-height:1;cursor:pointer;color:var(--ink-2);padding:0 4px}
.fb-inhalt{padding:14px 18px 18px;max-height:78vh;overflow:auto}
.fb-inhalt textarea{width:100%;box-sizing:border-box;font:inherit;padding:8px}
.fb-grau{color:var(--ink-3);font-size:var(--t12)}
.fb-bild{margin:8px 0;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.fb-bild img{max-width:100%;max-height:220px;border:1px solid var(--line);border-radius:var(--r1)}
.fb-wahl{cursor:pointer}
.fb-fuss{display:flex;justify-content:flex-end;gap:8px;margin:6px 0 14px}
.fb-h3{font-size:14px;margin:6px 0}
.fb-liste{list-style:none;margin:0;padding:0}
.fb-liste li{padding:6px 0;border-top:1px solid var(--line-soft);font-size:var(--t13)}
.fb-st{display:inline-block;border-radius:999px;padding:0 8px;font-size:var(--t12);background:var(--line-soft);color:var(--ink-2)}
.fb-st-umgesetzt{background:var(--ok);color:var(--accent-ink)}
.fb-st-abgelehnt{background:var(--crit);color:var(--accent-ink)}
.fb-notiz{color:var(--ink-2);font-style:italic;margin-top:2px}
.fb-filter{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}
.fb-e{border:1px solid var(--line);border-radius:var(--r1);padding:10px 12px;margin-bottom:10px;background:var(--surface)}
.fb-e-text{white-space:pre-wrap;margin:4px 0 6px}
.fb-e-bild{max-width:100%;border:1px solid var(--line);border-radius:var(--r1);margin:4px 0}
.fb-e-tun{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.fb-seg{display:inline-flex;gap:3px;flex-wrap:wrap}
.fb-notiz-in{flex:1 1 200px;min-width:0;height:var(--knopf-m);border:1px solid var(--line);border-radius:var(--r1);padding:0 10px;font:400 var(--t13) var(--f-sans);background:var(--surface);color:var(--ink)}   /* Paket 776: wie die anderen Eingabefelder */
.fb-notiz-in:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,104,180,.16)}
/* Paket 732: Checkliste (723) und Untersuchung (725) als Karten unter "Fehlzeiten" in der Fensteransicht B (dort sind details.klapp ausgeblendet) */
#persondialog .kv732-karte{border:1px solid var(--line);border-radius:var(--r1);background:var(--surface);overflow:hidden;margin-bottom:12px}
#persondialog .kv732-karte .mb-kopf{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--surface-2);border-bottom:1px solid var(--line)}
#persondialog .kv732-karte .mb-kopf b{font:600 var(--t15)/18px var(--f-cond,inherit);letter-spacing:.04em;text-transform:uppercase}
#persondialog .kv732-karte .mb-kopf small{margin-left:auto;color:var(--ink-3);font-size:var(--t12);white-space:nowrap}
#persondialog .kv732-karte .mb-kopf small.cl723-off,#persondialog .kv732-karte .mb-kopf small.un725-off{color:var(--warn);font-weight:600}
#persondialog .kv732-karte .mb-kb{padding:8px 12px}
@media (max-width:520px){#persondialog .mf-spalten{grid-template-columns:minmax(0,1fr) !important}}   /* 420 px: Mitarbeiterfenster einspaltig (vorher 2 x 172 px, Karten liefen ueber) */
/* Paket 734c: Bei Pixabay suchen (pixabay734.js) */
dialog#pxsuche.fa.breit{max-width:min(1100px,96vw);width:1100px}
/* Paket 740: feste Fensterhoehe, nur der Inhalt scrollt; Kopf und Fuss (Schliessen) bleiben stehen */
dialog#pxsuche>form{height:min(88vh,900px);max-height:88vh}
#pxsuche>form>.dk,#pxsuche>form>.df{flex:none}
#pxsuche>form>.db{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}
#pxsuche>form>.db>*{flex-shrink:0}
#pxsuche .px-kopf{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
#pxsuche .px-kopf input[type=search]{flex:1 1 260px;min-width:180px;height:var(--knopf-m);padding:0 10px;border:1px solid var(--line);border-radius:var(--r1);font:400 var(--t13) var(--f-sans);background:var(--surface);color:var(--ink)}
#pxsuche .px-kopf .btn{height:var(--knopf-m)}
#pxsuche .px-modus{margin:0 0 12px;padding:8px 12px;border:1px solid var(--accent);border-radius:var(--r1);background:var(--accent-soft);color:var(--accent);font-size:var(--t13)}
/* Paket 740: Kacheln gleich hoch (Spalte), Bild 4:3, Stichwoerter hoechstens 2 Zeilen, Knopf immer am unteren Rand */
#pxsuche .px-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-auto-rows:1fr;gap:12px}
#pxsuche .px-k{display:flex;flex-direction:column;gap:6px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:var(--r1);background:var(--surface)}
#pxsuche .px-bild{display:block;flex:none;border-radius:var(--r1);overflow:hidden;aspect-ratio:4/3;background:var(--surface-2)}
#pxsuche .px-bild img{display:block;width:100%;height:100%;object-fit:cover}
#pxsuche .px-t{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;min-height:2.8em;font-size:var(--t12);line-height:1.4;color:var(--ink-2);overflow-wrap:anywhere}
#pxsuche .px-u{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:var(--t11);color:var(--ink-3)}
#pxsuche .px-nehmen{flex:none;width:100%;margin-top:auto;height:var(--knopf-m);text-align:center}
#pxsuche .px-nehmen:disabled{cursor:default;opacity:.7}
#pxsuche .px-nehmen.px-drin:disabled{opacity:1;background:var(--ok-bg);border-color:transparent;color:var(--ok)}
#pxsuche .px-mehr .btn{height:var(--knopf-m)}
#pxsuche .px-mehr .btn:disabled{cursor:default;opacity:.5}
#pxsuche .px-leer{padding:24px;text-align:center;color:var(--ink-3);font-size:var(--t13)}
#pxsuche .px-mehr{display:flex;gap:10px;justify-content:center;align-items:center;margin-top:12px;font-size:var(--t13)}
#pxsuche .px-mehr:empty{display:none}
@media (max-width:520px){#pxsuche .px-raster{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Paket 734c: Einstellungen > Schluessel (schluessel734.js) */
#schluesselknopf[hidden]{display:none !important}
dialog#schl734.fa{max-width:min(520px,96vw);width:520px}
#schl734 fieldset + fieldset{margin-top:12px}
#schl734 .sl-bereich{margin:0 0 4px;font-size:var(--t12);color:var(--ink-3)}
#schl734 .sl-stand{margin:0;font-size:var(--t13)}
#schl734 .sl-gut{color:var(--ok)}
#schl734 .sl-fehlt{color:var(--warn);font-weight:600}
#schl734 .sl-zeile{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}
#schl734 .sl-zeile input{flex:1 1 200px;min-width:160px;height:var(--knopf-m);padding:0 10px;border:1px solid var(--line);border-radius:var(--r1);font:400 var(--t13) var(--f-mono,var(--f-sans));background:var(--surface);color:var(--ink)}
#schl734 .sl-zeile .btn{height:var(--knopf-m)}
#schl734 .sl-hinweis{margin:8px 0 0;font-size:var(--t12);color:var(--ink-3)}
/* Paket 767b: Zahnrad > Einstellungen (einstellungen767.js) */
dialog#einst767.fa.breit{max-width:min(960px,96vw);width:960px}
#einst767 .e767-suche{display:flex;gap:10px;align-items:center;margin:0 0 6px}
#einst767 .e767-suche input{flex:1 1 240px;min-width:0;height:var(--knopf-m);padding:0 10px;border:1px solid var(--line);border-radius:var(--r1);font:400 var(--t13) var(--f-sans);background:var(--surface);color:var(--ink)}
#einst767 .e767-suche small,#einst767 .e767-hinweis{font-size:var(--t12);color:var(--ink-3)}
#einst767 .e767-hinweis{margin:0 0 10px}
#einst767 .e767-gruppe h3{margin:14px 0 4px;font:600 var(--t12) var(--f-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}
#einst767 .e767-zeile{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:6px 14px;padding:8px 0;border-top:1px solid var(--line-soft,var(--line))}
#einst767 .e767-k code{font:500 var(--t13) var(--f-mono);color:var(--ink);overflow-wrap:anywhere}
#einst767 .e767-k small{display:block;margin-top:2px;font-size:var(--t12);color:var(--ink-3);line-height:1.35}
#einst767 .e767-w{display:flex;gap:8px;align-items:flex-start;min-width:0}
#einst767 .e767-w input,#einst767 .e767-w textarea{flex:1 1 auto;min-width:0;padding:6px 9px;border:1px solid var(--line);border-radius:var(--r1);font:400 var(--t13) var(--f-mono);background:var(--surface);color:var(--ink)}
#einst767 .e767-w input{height:var(--knopf-m);padding-top:0;padding-bottom:0}
#einst767 .e767-w textarea{resize:vertical;line-height:1.4}
#einst767 .e767-w .btn{height:var(--knopf-m);flex:none}
#einst767 .e767-lesen{flex:1 1 auto;min-width:0;margin:0;padding:6px 9px;background:var(--surface-2);border-radius:var(--r1);font:400 var(--t12) var(--f-mono);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink-2)}
#einst767 .e767-gesperrt{flex:none;font-size:var(--t11);color:var(--ink-3);padding-top:6px}
@media (max-width:640px){#einst767 .e767-zeile{grid-template-columns:minmax(0,1fr)}}
/* Paket 746: Anhaenge der Werbereihen als Knopf (nachrichten.js) */
.nr746-anh{font:inherit;font-size:var(--t12);color:var(--accent);cursor:pointer;text-decoration:none;margin:0 4px 2px 0}
button.nr746-anh{line-height:inherit}
.nr746-anh:hover{border-color:var(--accent);text-decoration:underline}
.nr746-anh.nr746-fehlt{color:var(--crit);border-color:var(--crit);background:var(--crit-bg)}
/* Paket 620b: Fassung einer Werbemail (z. B. Verwaltung) als eigene Zeile */
.nr620-fassung td{background:var(--surface-2)}
.nr620-fassung td.pf549-nm{padding-left:22px}
/* Paket 755: Werbereihe - Anhang-Spalte fest, Chips brechen um; Betreff mit Mindestbreite */
.nr560-tafel td.nr755-anh{white-space:normal;width:250px;min-width:250px;max-width:250px;height:auto;padding-top:6px;padding-bottom:4px}
.nr560-tafel td.nr755-anh .nr560-anh{white-space:normal;overflow-wrap:anywhere;max-width:100%;text-align:left;vertical-align:top}
.nr560-tafel td.nr755-anh .nr560-leise{display:inline-block}
.nr560-tafel td.nr560-kurz{min-width:160px}
/* Paket 741c: LinkedIn-Vorschau mit Bild im Beitragsfenster (marketing-vorschau.js); die alte Textvorschau entfaellt */
#mkdialog #mk-vor{display:none !important}
#mkdialog .li741{flex-shrink:0;display:flex;flex-direction:column;gap:8px;margin:0 0 14px}
#mkdialog .li741[hidden]{display:none}
#mkdialog .li741-karte{max-width:560px;width:100%;margin:0 auto;border:1px solid var(--line);border-radius:var(--r2);background:var(--surface);overflow:hidden}
#mkdialog .li741-kopf{display:flex;gap:10px;align-items:center;padding:12px 14px 8px}
#mkdialog .li741-av{flex:none;width:44px;height:44px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-weight:600}
#mkdialog .li741-wer{flex:1;min-width:0;display:flex;flex-direction:column}
#mkdialog .li741-wer b{font-size:var(--t13)}
#mkdialog .li741-wer small{font-size:var(--t12);color:var(--ink-3)}
#mkdialog .li741-text{padding:0 14px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--t13);line-height:1.45;color:var(--ink)}
#mkdialog .li741-text.li741-zu{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
#mkdialog .li741-mehr{align-self:flex-end;margin:2px 14px 0 auto;display:block;padding:0;border:0;background:none;color:var(--ink-3);font:500 var(--t12) var(--f-sans);cursor:pointer}
#mkdialog .li741-mehr:hover{color:var(--accent)}
#mkdialog .li741-mehr[hidden]{display:none}
#mkdialog .li741-bild{margin-top:10px;background:var(--surface-2)}
#mkdialog .li741-img{display:block;width:100%;height:auto}
#mkdialog .li741-leer{display:flex;align-items:center;justify-content:center;aspect-ratio:1.91/1;color:var(--ink-3);font-size:var(--t13)}
#mkdialog .li741-leiste{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center;max-width:560px;width:100%;margin:0 auto}
#mkdialog .li741-leiste .btn{height:var(--knopf-m)}
#mkdialog .li741-leiste .btn:disabled,#mkdialog .li741-leiste .pf549-link:disabled{opacity:.5;cursor:default}
#mkdialog .li741-quelle,#mkdialog .li741-meldung,#mkdialog .li741-kanal{max-width:560px;width:100%;margin:0 auto;font-size:var(--t12);color:var(--ink-3)}
#mkdialog .li741-intern{margin-left:6px;font-style:italic}
#mkdialog .li741-meldung{color:var(--warn)}
#mkdialog .li741-kanal{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
#mkdialog .li741-fehler{flex-basis:100%;color:var(--crit);overflow-wrap:anywhere}
/* Paket 745c: Marketing > Werbung (marketing-werbung.js) */
dialog#mkwerb.fa.breit{max-width:min(1200px,96vw);width:1200px}
#mkwerb>form>.db{overflow-y:auto}
#mkwerb .mw-leiste{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
#mkwerb .mw-leiste .btn{height:var(--knopf-m)}
#mkwerb .mw-leiste .btn:disabled{opacity:.5;cursor:default}
#mkwerb .mw-hinweis{margin:0;font-size:var(--t12);color:var(--ink-3)}
#mkwerb .mw-warn{margin:0;padding:8px 12px;border-radius:var(--r1);background:var(--warn-bg);color:var(--warn);font-size:var(--t13)}
#mkwerb .mw-zeile{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px}
#mkwerb .mw-zeile input{flex:1 1 220px;min-width:180px;height:var(--knopf-m);padding:0 10px;border:1px solid var(--line);border-radius:var(--r1);font:400 var(--t13) var(--f-mono,var(--f-sans));background:var(--surface);color:var(--ink)}
#mkwerb .mw-zeile .btn{height:var(--knopf-m)}
#mkwerb .mw-summe{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
#mkwerb .mw-summe>div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r1);background:var(--surface)}
#mkwerb .mw-summe span{font-size:var(--t12);color:var(--ink-3)}
#mkwerb .mw-summe b{font:600 var(--t18)/1.2 var(--f-sans);font-variant-numeric:tabular-nums}
#mkwerb .mw-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r1);background:var(--surface)}
#mkwerb .mw-tafel{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--t13);font-variant-numeric:tabular-nums}
#mkwerb .mw-tafel th{height:34px;padding:0 8px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:var(--t12);font-weight:600;color:var(--ink-2);text-align:left;white-space:nowrap}
#mkwerb .mw-tafel td{padding:6px 8px;border-bottom:1px solid var(--line-soft);vertical-align:middle}
#mkwerb .mw-tafel tr:last-child td{border-bottom:0}
#mkwerb .mw-tafel td.mw-z{text-align:right;white-space:nowrap}
#mkwerb .mw-tafel tr.mw-e-kampagne td{background:var(--surface)}
#mkwerb .mw-tafel tr.mw-e-gruppe td,#mkwerb .mw-tafel tr.mw-e-anzeige td{background:var(--surface-2)}
#mkwerb .mw-name{display:flex;gap:6px;align-items:flex-start;min-width:240px}
#mkwerb .mw-name.mw-t1{padding-left:26px}
#mkwerb .mw-name.mw-t2{padding-left:48px}
#mkwerb .mw-name b{font-weight:500;overflow-wrap:anywhere}
#mkwerb .mw-problem{display:block;margin-top:2px;font-size:var(--t12);color:var(--crit)}
#mkwerb .mw-auf,#mkwerb .mw-auf-platz{flex:none;width:20px;height:20px;padding:0;border:0;background:none;color:var(--ink-2);cursor:pointer}
#mkwerb .mw-auf-platz{cursor:default}
#mkwerb .mw-akt{display:flex;gap:6px;justify-content:flex-end;white-space:nowrap}
#mkwerb .mw-akt .btn{height:var(--knopf-s);padding:0 10px;font-size:var(--t12)}
#mkwerb .mw-protokoll summary{cursor:pointer;font-size:var(--t12);color:var(--ink-2)}
#mkwerb .mw-protokoll ul{list-style:none;margin:6px 0 0;padding:0;font-size:var(--t12)}
#mkwerb .mw-protokoll li{padding:3px 0;border-top:1px dashed var(--line-soft)}
#mkwerb .mw-probe{padding:10px 12px;border:1px solid var(--line);border-radius:var(--r1);background:var(--surface);font-size:var(--t13)}
#mkwerb .mw-probe ul{list-style:none;margin:6px 0 0;padding:0}
#mkwerb .mw-probe li{padding:2px 0;overflow-wrap:anywhere}
#mkwerb .mw-probe li span{color:var(--ink-3)}
#mkwerb .mw-p-ok{color:var(--ok)}
#mkwerb .mw-p-nein{color:var(--crit)}
/* Paket 749c: Vertrieb - Sucht/Bereich, Stellenanzeigen (vertrieb.js) */
.vt749-sucht{display:block;margin-top:2px;font-size:var(--t12);color:var(--ink-3);overflow-wrap:anywhere}
.vt749-ber{display:inline-block;padding:0 6px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);font-weight:500}
td.vt749-sp{min-width:160px}
td.vt749-sp .vt749-sucht{margin-top:0}
.vt749-anz{margin:6px 0 0;font-size:var(--t12)}
.vt749-anz ul{margin:2px 0 0;padding-left:18px}
.vt749-anz li{margin:1px 0}
.vt749-ref{color:var(--ink-3)}
#vt749-anz-l{margin:4px 0 0}
/* Paket 786b: Zahnrad > Einstellungen - Grund und letzte Aenderungen */
#einst767 .e767-grund{display:flex;flex-direction:column;gap:2px;margin:0 0 8px}
#einst767 .e767-grund label{font-size:var(--t12);color:var(--ink-3)}
#einst767 .e767-grund input{height:var(--knopf-m);padding:0 10px;border:1px solid var(--line);border-radius:var(--r1);font:400 var(--t13) var(--f-sans);background:var(--surface);color:var(--ink)}
#einst767 .e767-grund input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,104,180,.16)}
#einst767 .e767-korr-titel{margin:18px 0 4px;font:600 var(--t12) var(--f-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}
#einst767 .e767-korr{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;padding:6px 0;border-top:1px solid var(--line-soft,var(--line));font-size:var(--t13)}
#einst767 .e767-korr code{font:500 var(--t12) var(--f-mono)}
#einst767 .e767-korr small{color:var(--ink-3);font-size:var(--t12)}
#einst767 .e767-korr .pf549-link{margin-left:auto}
#einst767 .e767-blass{opacity:.6}
/* Paket 784b: Zahnrad > Korrekturen (admin.js) */
dialog#korr784.fa.breit{max-width:min(1040px,96vw);width:1040px}
#korr784 .k784-suche{display:flex;gap:10px;align-items:center;margin:0 0 8px}
#korr784 .k784-suche input{flex:1 1 260px;min-width:0;height:var(--knopf-m);padding:0 10px;border:1px solid var(--line);border-radius:var(--r1);font:400 var(--t13) var(--f-sans);background:var(--surface);color:var(--ink)}
#korr784 .k784-suche input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,104,180,.16)}
#korr784 .k784-block{margin:6px 0 10px}
#korr784 .k784-block h4{margin:0 0 4px;font:600 var(--t12) var(--f-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}
#korr784 .k784-treffer{display:block;width:100%;text-align:left;border:0;border-top:1px solid var(--line-soft,var(--line));background:none;padding:6px 4px;font:400 var(--t13) var(--f-sans);color:var(--ink);cursor:pointer}
#korr784 .k784-treffer:hover{background:var(--surface-2)}
#korr784 .k784-treffer small,#korr784 .k784-leise{color:var(--ink-3);font-size:var(--t12)}
#korr784 .k784-titel{margin:14px 0 6px;font:600 var(--t14) var(--f-sans);color:var(--ink)}
#korr784 .k784-titel small{font-weight:400;color:var(--ink-3)}
#korr784 .k784-karte{border:1px solid var(--line);border-radius:var(--r2);padding:10px 14px;margin:6px 0 4px}
#korr784 .k784-felder{display:flex;flex-wrap:wrap;gap:8px 14px}
#korr784 .k784-feld{flex:1 1 200px;min-width:0}
#korr784 .k784-breit{flex:1 1 100%}
#korr784 .k784-html{width:100%;min-height:140px;font:400 var(--t12) var(--f-mono)}
#korr784 .k784-vorschau{margin-top:6px}
#korr784 .k784-vorschau iframe{width:100%;height:220px;border:1px solid var(--line);border-radius:var(--r1);background:#fff}
#korr784 .k784-hinweis{margin:6px 0 0;padding:6px 10px;border-left:3px solid var(--warn);background:var(--surface-2);font-size:var(--t13)}
#korr784 .k784-knoepfe{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}
#korr784 .k784-tafel td{vertical-align:top}
#korr784 .k784-ae div{white-space:normal;overflow-wrap:anywhere}
/* Paket 782b: aerztliche Untersuchung - mehrere Zeilen je Kunde */
.un782-z{padding:4px 0}
.un782-z + .un782-z{border-top:1px dashed var(--line-soft)}
.un782-art{flex:1 1 180px}
.un782-datum{flex:0 0 150px}
.un782-erg{flex:0 0 auto}
.un782-weg{align-self:flex-end;margin-bottom:8px}
.un782-plus{margin-top:4px}
/* Paket 771b: Einzelzimmer zaehlt nur, wenn die Unterkunft gestellt wird - bei "eigene" ausgeblendet */
dialog:has(#p-ukart option[value="eigene"]:checked) .feld:has(> #p-ez),
dialog:has(#b-ukart option[value="eigene"]:checked) .feld:has(> #b-ez),
dialog:has(#ba-ukart option[value="eigene"]:checked) .feld:has(> #ba-ez),
.kp-seite:has(.kp-ukart option[value="eigene"]:checked) .kp-ez{display:none}
/* Paket 772b: Namen aendern, getrennt in Nachname und Vorname (name772.js) */
#persondialog .n772-aus{display:none}
#persondialog .n772-zeile{display:flex;gap:8px}
#persondialog .n772-zeile input{flex:1 1 0;min-width:0}
#n772dialog .reihe{display:flex;gap:12px}
#n772dialog .feld{flex:1 1 0}
#n772-bzeile{margin:0 0 8px}
/* Paket 788b: Namen aendern im Kopf des Einsatzfensters */
#bearbeiten .dk > #n772-bzeile.n772-kopf{grid-column:1;margin:2px 0 0}
#bearbeiten .dk > #n772-bzeile.n772-kopf .pf549-link{font-size:var(--t12)}
/* Paket 773: neuer Bewerber im Kandidatenprofil - Nachname und Vorname nebeneinander */
.kp-neuname.kp-neu773{width:min(200px,38vw)}
.kp-neu773 + .kp-neu773{margin-left:8px}
/* Paket 777b: Mitarbeiterfenster - Link "Einsatz wieder oeffnen" */
.mfe-wieder{margin-top:4px}
/* Paket 787b: Bewerberfenster - Namen aendern */
#bewerberdialog .bw-d-kopf #bw-d-name{display:inline}
#bewerberdialog .bw787-knopf{margin-left:10px;border:0;background:none;padding:0;color:var(--accent);font:500 var(--t12) var(--f-sans);cursor:pointer;vertical-align:baseline}
#bewerberdialog .bw787-knopf:hover{text-decoration:underline}
#bw787dialog .reihe{display:flex;gap:12px}
#bw787dialog .reihe .feld{flex:1 1 0;min-width:0}
#bw787dialog .db > .feld{margin-top:10px}
/* Paket 801b: Unterkuenfte > Notizen - Text bearbeiten */
#inhalt .uk-nz textarea.ukn801{display:block;width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r1);font:400 var(--t13)/1.5 var(--f-sans);background:var(--surface);color:var(--ink);resize:vertical}
#inhalt .uk-nz textarea.ukn801:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,104,180,.16)}
#inhalt .uk-nz .ukn801-kn{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}
/* Paket 802b: Mitarbeiterfenster - Karte Aerztliche Untersuchung im Stil der anderen Karten */
#un725 .un802-plus{border:0;background:none;padding:0;color:var(--accent);font:400 var(--t12) var(--f-sans);cursor:pointer;white-space:nowrap}
#un725 .un802-plus:hover{text-decoration:underline}
#un725 summary .un802-plus{margin-left:10px}
#un725 .un802-wt{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--r1);padding:8px 12px;font-size:var(--t13)}
#un725 .un802-wt .un725-k{padding:6px 0;border-top:1px solid var(--line-soft);border-bottom:0;margin:0}
#un725 .un802-wt .un725-k:first-child{border-top:0;padding-top:0}
#un725 .un802-wt .un725-k:last-child{padding-bottom:0}
#un725 .un802-zw{gap:8px;margin:0 0 4px}
#un725 .un802-zw b{font:600 var(--t13) var(--f-sans);color:var(--ink)}
#un725 .un802-zw small{color:var(--ink-3);font-size:var(--t12)}
#un725 .un802-z{display:grid;grid-template-columns:fit-content(46%) minmax(0,1fr) auto;gap:4px 14px;align-items:baseline;padding:2px 0}
#un725 .un802-z .l{color:var(--ink-2)}
#un725 .un802-z .w{color:var(--ink);font-weight:600;min-width:0}
#un725 .un802-z .w.un725-grau{font-weight:400;color:var(--ink-3)}
#un725 .un802-z .pf549-link{font-size:var(--t12)}
#un725 .un802-wt .un782-z{padding:6px 0}
#un725 .un802-zu{display:inline-block;margin:0 0 6px;font-size:var(--t12)}
#un725 .un802-hin{margin:8px 0 0}
#un725 .un802-wahlbox{border:0;padding:0;margin:0 0 8px}
#un725 .un802-fuer{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:var(--t12);color:var(--ink-3)}
#un725 .un802-fuer select{height:28px;padding:0 8px;border:1px solid var(--line);border-radius:var(--r1);font:400 var(--t13) var(--f-sans);background:var(--surface);color:var(--ink)}
/* Paket 803b: Mitarbeiterfenster - alle Karten wie die Bereiche (Vertrag, Person, Lohn, Angaben): eine Kopfzeile in einer Groesse,
   Inhalt im grauen Innenkasten, ruhige Knoepfe. Nur Aussehen; Funktion und Texte unveraendert. */
#persondialog.mb #mf-einsatz,#persondialog.mb #mb-fz,#persondialog.mb #cl723,#persondialog.mb #un725{border:1px solid var(--line);border-radius:var(--r2);background:var(--surface);overflow:hidden;margin:0 0 12px}
#persondialog.mb #mf-einsatz .mfe-kopfzeile,#persondialog.mb #mb-fz .mb-kopf,#persondialog.mb #cl723 .mb-kopf,#persondialog.mb #un725 .mb-kopf{display:flex;align-items:center;gap:10px;box-sizing:border-box;min-height:44px;margin:0;padding:12px 16px;background:var(--surface-2);border-bottom:1px solid var(--line);border-radius:var(--r2) var(--r2) 0 0}
#persondialog.mb #mf-einsatz .mfe-kopfzeile .mf-h,#persondialog.mb #mb-fz .mb-kopf b,#persondialog.mb #cl723 .mb-kopf b,#persondialog.mb #un725 .mb-kopf b{font:600 var(--t18)/1.1 var(--f-cond);letter-spacing:.03em;text-transform:uppercase;color:var(--ink)}
#persondialog.mb #mf-einsatz .mfe-kopfzeile .mfe-oeffnen,#persondialog.mb #mb-fz .mb-kopf .mb-fzlink,#persondialog.mb #un725 .mb-kopf .un802-plus{margin-left:auto;border:0;background:none;padding:0;font:400 var(--t12) var(--f-sans);color:var(--accent);text-decoration:underline;cursor:pointer;white-space:nowrap}
#persondialog.mb #un725 .mb-kopf small + .un802-plus{margin-left:12px}
#persondialog.mb #mb-fz .mb-kb,#persondialog.mb #cl723 .mb-kb,#persondialog.mb #un725 .mb-kb{padding:12px}
#persondialog.mb #mf-einsatz{padding-bottom:12px}
#persondialog.mb #mf-einsatz .mfe-kopfzeile{margin-bottom:12px}
/* Einsatz: grauer Innenkasten mit Label/Wert-Zeilen statt weisser Karte mit drei Spalten */
#persondialog.mb #mf-einsatz .mfe-karte{display:block;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--r1);padding:8px 12px;overflow:visible}
#persondialog.mb #mf-einsatz .mfe-karte > div{display:grid;grid-template-columns:140px minmax(0,1fr) auto;column-gap:14px;align-items:baseline;padding:3px 0;border:0;background:none}
#persondialog.mb #mf-einsatz .mfe-karte > .mfe-wer{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:0 0 6px;margin:0 0 4px;border-bottom:1px solid var(--line-soft)}
#persondialog.mb #mf-einsatz .mfe-karte > .mfe-wer .w{order:-1;font:600 var(--t13) var(--f-sans)}
#persondialog.mb #mf-einsatz .mfe-karte > .mfe-wer .l{font-size:var(--t12);color:var(--ink-3)}
#persondialog.mb #mf-einsatz .mfe-karte .l{font-size:var(--t13);color:var(--ink-2);white-space:normal}
#persondialog.mb #mf-einsatz .mfe-karte .w,#persondialog.mb #mf-einsatz .mfe-karte .mfe-wert{font-size:var(--t13);font-weight:600}
#persondialog.mb #mf-einsatz .mfe-karte .n{font-size:var(--t12)}
#persondialog.mb #mf-einsatz .mfe-karte > .mfe-wieder{display:block;padding-top:4px}
#persondialog.mb #mf-einsatz .mfe-karte > .mfe-edz{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;padding:8px 0 2px;border-top:1px solid var(--line-soft)}
#persondialog.mb #mf-einsatz .mfe-karte.leer{color:var(--ink-3)}
#persondialog.mb #mf-einsatz .mfe-zuletzt{background:var(--surface-2)}
/* Einstellungs-Checkliste: Zeilen im grauen Innenkasten, "abhaken" als ruhiger Knopf */
#persondialog #cl723 .mb-kb > .cl723-z{background:var(--surface-2);border-left:1px solid var(--line-soft);border-right:1px solid var(--line-soft);padding:6px 12px;margin:0}
#persondialog #cl723 .mb-kb > .cl723-z:first-child{border-top:1px solid var(--line-soft);border-top-left-radius:var(--r1);border-top-right-radius:var(--r1);padding-top:8px}
#persondialog #cl723 .mb-kb > .cl723-z:not(:has(+ .cl723-z)){border-bottom:1px solid var(--line-soft);border-bottom-left-radius:var(--r1);border-bottom-right-radius:var(--r1);padding-bottom:8px}
#persondialog #cl723 .cl723-z button.tun{height:28px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r1);background:var(--surface);color:var(--ink);font:500 var(--t12) var(--f-sans);box-shadow:none}
#persondialog #cl723 .cl723-z button.tun:hover{border-color:var(--accent);color:var(--accent)}
#persondialog #cl723 .cl723-z .cl723-dt{height:28px;box-sizing:border-box}
/* Paket 804b: Datumsfelder ohne eigene Rahmenregel - dieselben Werte wie .feld input (plan.html), wie in Lohn (Stamm) */
.cl723-dt,.mfe-edz input,.ukb-feld input.ukb-ab,.uke-feld input.uke-ab{font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink)}
#persondialog #cl723 .cl723-z .cl723-dt{height:auto}
/* Paket 789b: Mitarbeiterfenster - Auswahl mehrerer Untersuchungen */
#un725 .un789-wahl{margin:6px 0 4px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r1);background:var(--surface-2)}
#un725 .un789-wahl b{font:600 var(--t12) var(--f-sans);color:var(--ink-2)}
#un725 .un789-liste{display:flex;flex-wrap:wrap;gap:4px 16px;margin:6px 0 8px}
#un725 .un789-liste label{display:inline-flex;align-items:center;gap:6px;font-size:var(--t13);color:var(--ink)}
#un725 .un789-liste small{color:var(--ink-3)}
#un725 .un789-wahl .tun + .tun{margin-left:8px}
/* Paket 796b: Untersuchung ohne Kunde - Anrechnung */
#un725 .un796-ok{background:var(--ok-bg);color:var(--ok)}
#un725 .un725-k[data-un725=""]{border-bottom:1px solid var(--line-soft);padding-bottom:6px;margin-bottom:6px}
/* Paket 799b: Zahnrad > Einstellungen - Karten je Gruppe, Tabelle wie die Kataloge (794b) */
.pf549-marke.aus{background:var(--surface-2);color:var(--ink-3)}
#einst767 .e799-karte{margin:0 0 12px}
#einst767 .e799-tafel{table-layout:fixed}
#einst767 .e799-tafel th.e799-wert{width:240px}
#einst767 .e799-tafel th.e799-st{width:110px}
#einst767 .e799-tafel th.e799-akt{width:110px}
#einst767 .e799-tafel th.e799-aend{width:260px}
#einst767 .e799-tafel th.e799-wer{width:34%}
#einst767 .e799-tafel td{overflow:hidden;text-overflow:ellipsis}
#einst767 .e799-tafel td.e799-ein span{display:block;overflow:hidden;text-overflow:ellipsis;color:var(--ink);font-weight:500}
#einst767 .e799-tafel td.e799-ein small{display:block;overflow:hidden;text-overflow:ellipsis;color:var(--ink-3);font:400 var(--t11) var(--f-sans)}
#einst767 .e799-tafel td.e799-ein{height:auto;padding-top:6px;padding-bottom:6px}
#einst767 .e799-tafel tr.e799-offen td{background:var(--accent-soft)}
#einst767 .e799-tafel tr.e799-edit td{white-space:normal;height:auto;padding:10px 12px 12px;background:var(--surface-2)}
#einst767 .e799-tafel tr.e799-edit:hover td{background:var(--surface-2)}
#einst767 .e799-bed{margin:0 0 8px;font-size:var(--t12);color:var(--ink-2)}
#einst767 .e799-felder{display:flex;flex-wrap:wrap;gap:8px 14px}
#einst767 .e799-felder .feld{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:3px}
#einst767 .e799-felder label{font-size:var(--t12);color:var(--ink-3)}
#einst767 .e799-felder input,#einst767 .e799-felder textarea{width:100%;box-sizing:border-box;padding:6px 10px;border:1px solid var(--line);border-radius:var(--r1);font:400 var(--t13) var(--f-sans);background:var(--surface);color:var(--ink)}
#einst767 .e799-felder input{height:var(--knopf-m);padding-top:0;padding-bottom:0}
#einst767 .e799-felder textarea{resize:vertical;line-height:1.4}
#einst767 .e799-felder input:focus,#einst767 .e799-felder textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,104,180,.16)}
#einst767 .e799-edit .e767-hinweis{margin:6px 0 0}
#einst767 .e799-knoepfe{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}
#einst767 .e799-innen{margin:10px 16px}
