/* HeyLarry Perso · Stil wie Kunden-App (18.10.2026) */
:root{--cream:#EFEDE3;--green:#1D5A2E;--green-soft:#C0DD97;--moss:#6B8F71;--lime:#97C459;--rasp:#D4286F;--rasp-soft:#FBEAF0;--coal:#2C2C2A;--grey:#5F5E5A;--line:#D3D1C7;--stone:#B4B2A9;--white:#FFFFFF;--gelb:#FFF1C9;--gelb-t:#7A5A00}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--cream);font-family:'DM Sans',system-ui,sans-serif;color:var(--coal);font-synthesis-weight:none;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}
h1,h2,.display{font-family:'Archivo Black',sans-serif;font-weight:900;letter-spacing:-.01em;color:var(--green);text-transform:uppercase}
h1{font-size:26px;line-height:1.1}h2{font-size:15px;margin:22px 0 10px}
svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* Leiste links (Desktop) */
#rail{position:fixed;left:0;top:0;bottom:0;width:72px;background:var(--white);border-right:.5px solid var(--line);display:flex;flex-direction:column;gap:2px;padding:14px 14px 18px;box-sizing:border-box;z-index:9;overflow:hidden auto;scrollbar-width:none;transition:width .18s,box-shadow .18s}
#rail::-webkit-scrollbar{display:none}
#rail:hover{width:256px;box-shadow:8px 0 24px rgba(44,44,42,.12)}
#rail .it{height:38px;border-radius:10px;border:0;background:transparent;display:flex;align-items:center;gap:12px;padding:0 11px;cursor:pointer;color:var(--grey);font:500 14px 'DM Sans',sans-serif;white-space:nowrap;position:relative;flex:none;text-align:left}
#rail .it:hover{background:var(--cream);color:var(--coal)}
#rail .it.on{background:var(--green);color:var(--cream)}
#rail .it svg{width:20px;height:20px;flex:none}
#rail .it .lb{opacity:0;transition:opacity .12s}
#rail:hover .it .lb{opacity:1}
#rail .it .zahl{position:absolute;top:3px;left:27px;min-width:16px;height:16px;border-radius:999px;background:var(--rasp);color:#fff;font-size:10px;font-weight:500;display:none;align-items:center;justify-content:center;padding:0 4px}
#rail .sp{margin-top:auto}
#rail .grp{height:26px;margin-top:6px;position:relative;flex:none}
#rail .grp:before{content:"";position:absolute;left:11px;right:11px;top:13px;border-top:1px solid var(--line)}

#app{margin-left:72px;min-height:100vh}
#kopf{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:18px 32px;max-width:1340px;margin:0 auto;position:sticky;top:0;background:var(--cream);z-index:8}
#kopf .l{display:flex;align-items:center;gap:10px;justify-self:start}
#kopf .r{display:flex;align-items:center;gap:10px;justify-self:end}
#kopf .logo{font-family:'Archivo Black',sans-serif;font-size:24px;letter-spacing:-.01em;color:var(--green);cursor:pointer;white-space:nowrap}
#kopf .logo span{color:var(--rasp)}
#kopf .logo i{font-style:normal;font-family:'DM Sans',sans-serif;font-weight:500;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--moss);margin-left:6px;vertical-align:3px}
.menu-btn{display:none;width:40px;height:40px;border:0;border-radius:10px;background:var(--white);color:var(--green);align-items:center;justify-content:center;cursor:pointer}
.menu-btn svg{width:20px;height:20px}
.av{width:40px;height:40px;border-radius:999px;border:0;background:var(--green-soft);color:var(--green);font-weight:500;cursor:pointer}
.bw{display:flex;align-items:center;gap:8px;font:500 14px 'DM Sans',sans-serif;padding:7px 12px 7px 7px;border-radius:999px;border:.5px solid var(--line);background:var(--white);cursor:pointer}
.bw .bi{width:28px;height:28px;border-radius:999px;background:var(--green);color:var(--cream);display:flex;align-items:center;justify-content:center;font-size:12px}
.bw svg{width:16px;height:16px;color:var(--grey)}
.seg{display:inline-flex;gap:2px;padding:4px;border-radius:999px;background:var(--white);border:.5px solid var(--line)}
.seg button{border:0;background:transparent;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:500;cursor:pointer;color:var(--grey);white-space:nowrap}
.seg button.on{background:var(--green);color:var(--cream)}

main{max-width:1340px;margin:0 auto;padding:8px 32px 80px}
.laden{padding:60px 0;text-align:center;color:var(--grey)}
.hint{font-size:13px;color:var(--grey);margin-top:4px}
.kopfzeile{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.werkzeug{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:500;cursor:pointer;background:var(--green);color:var(--cream);white-space:nowrap}
.btn.g{background:var(--white);color:var(--coal);border:.5px solid var(--line)}
.btn.r{background:var(--rasp);color:#fff}
.btn.k{padding:6px 12px;font-size:13px}
.btn:disabled{opacity:.5;cursor:default}
.ib{width:38px;height:38px;border-radius:999px;border:.5px solid var(--line);background:var(--white);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--coal)}
.ib svg{width:18px;height:18px}
.card{background:var(--white);border-radius:16px;padding:18px 20px;margin-bottom:14px}
.card h3{font-weight:500;font-size:15px;margin-bottom:10px}
.grid{display:grid;gap:14px}
.g4{grid-template-columns:repeat(4,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
.kpi{background:var(--white);border-radius:16px;padding:16px 18px}
.kpi small{display:block;font-size:12px;color:var(--grey)}
.kpi b{display:block;font-family:'Archivo Black',sans-serif;font-size:26px;color:var(--green);margin-top:4px;font-weight:900}
.kpi.dunkel{background:var(--green)}.kpi.dunkel small{color:var(--green-soft)}.kpi.dunkel b{color:var(--cream)}
.kpi em{font-style:normal;font-size:12px;color:var(--grey)}
.note{background:var(--white);border-left:4px solid var(--green);padding:12px 14px;margin:10px 0;font-size:13px;line-height:1.5;border-radius:0 10px 10px 0}
.note b{font-weight:500;color:var(--green)}.note.warn{border-left-color:var(--rasp)}.note.warn b{color:var(--rasp)}
.leer{color:var(--grey);font-size:14px;padding:10px 0}
.chip{display:inline-block;font-size:12px;font-weight:500;padding:3px 9px;border-radius:999px;background:var(--cream);color:var(--coal);white-space:nowrap}
.chip.ok{background:#E3EED6;color:var(--green)}.chip.rot{background:var(--rasp-soft);color:#B0205B}.chip.gelb{background:var(--gelb);color:var(--gelb-t)}.chip.gr{background:var(--green);color:var(--cream)}
.zeile{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:.5px solid var(--line)}
.zeile:first-child{border-top:0}
.zeile .m{flex:1;min-width:0}.zeile .m b{font-weight:500;display:block}.zeile .m small{color:var(--grey);font-size:12px}
.kreis{width:36px;height:36px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:500;font-size:13px;flex:none;color:#fff}
table.t{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
table.t th{font-weight:500;font-size:12px;color:var(--grey);text-align:left;padding:10px 8px;border-bottom:.5px solid var(--line);white-space:nowrap}
table.t td{padding:11px 8px;border-bottom:.5px solid var(--line);vertical-align:middle}
table.t td.r,table.t th.r{text-align:right}
table.t tr.grp td{background:var(--cream);font-weight:500;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:7px 8px}
table.t tr.klick{cursor:pointer}table.t tr.klick:hover td{background:#FAF9F4}

/* Dienstplan */
.plan-wrap{background:var(--white);border-radius:16px;overflow:auto}
.plan{display:grid;grid-template-columns:200px repeat(7,minmax(118px,1fr));min-width:1030px}
.plan .kz{padding:10px 8px;border-bottom:.5px solid var(--line);border-left:.5px solid var(--line);font-size:12px;background:var(--white);position:sticky;top:0;z-index:2}
.plan .kz:first-child{border-left:0}
.plan .kz .tg{font-weight:500;font-size:13px;color:var(--coal)}
.plan .kz.heute{background:var(--green);color:var(--cream)}.plan .kz.heute .tg,.plan .kz.heute .zz{color:var(--cream)}
.plan .kz .zz{display:flex;justify-content:space-between;color:var(--grey);margin-top:3px;font-variant-numeric:tabular-nums}
.plan .kz .q{display:inline-block;font-weight:500;padding:1px 7px;border-radius:999px;background:#E3EED6;color:var(--green)}
.plan .kz .q.hoch{background:var(--rasp-soft);color:#B0205B}
.plan .ber{grid-column:1/-1;padding:6px 12px;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.plan .pn{padding:10px 12px;border-bottom:.5px solid var(--line);font-size:13px;position:sticky;left:0;background:var(--white);z-index:1}
.plan .pn b{font-weight:500;display:block}.plan .pn small{font-size:11px;color:var(--grey)}
.plan .pn .soll{font-size:11px;margin-top:3px;font-variant-numeric:tabular-nums}
.plan .pn .soll.ueber{color:#B0205B}
.plan .zl{border-bottom:.5px solid var(--line);border-left:.5px solid var(--line);padding:5px;min-height:62px;cursor:pointer;display:flex;flex-direction:column;gap:4px}
.plan .zl:hover{background:#FAF9F4}
.plan .zl.wo{background:repeating-linear-gradient(45deg,#FAF9F4,#FAF9F4 6px,#fff 6px,#fff 12px)}
.sch{border-radius:8px;padding:5px 7px;font-size:12px;color:#fff;line-height:1.35;position:relative}
.sch b{font-weight:500;display:block;font-variant-numeric:tabular-nums}
.sch small{opacity:.9}
.sch.entwurf{background:var(--white)!important;color:var(--coal);border:1.5px dashed var(--stone)}
.sch .ok{position:absolute;right:6px;top:5px;font-size:11px}
.abw{border-radius:8px;padding:5px 7px;font-size:12px;font-weight:500}
.abw.urlaub{background:#DCEBFA;color:#1D4E89}.abw.krank{background:var(--rasp-soft);color:#B0205B}.abw.frei,.abw.unbezahlt,.abw.schule,.abw.elternzeit{background:var(--cream);color:var(--grey)}
.abw.beantragt{border:1.5px dashed currentColor;background:transparent}

/* Kalender */
.kal-wrap{background:var(--white);border-radius:16px;overflow:auto}
.kal{display:grid;min-width:1100px;font-size:12px}
.kal div{border-bottom:.5px solid var(--line);border-left:.5px solid var(--line);min-height:34px;display:flex;align-items:center;justify-content:center}
.kal .n{justify-content:flex-start;padding:0 10px;position:sticky;left:0;background:var(--white);border-left:0;font-weight:500;font-size:13px}
.kal .h{flex-direction:column;font-size:11px;color:var(--grey);min-height:44px}
.kal .h.we{background:#FAF9F4}.kal .h.ft{color:var(--rasp)}
.kal .we{background:#FAF9F4}
.kal .heute{box-shadow:inset 0 0 0 2px var(--green)}
.kal .a{font-weight:500;font-size:11px;cursor:pointer}
.kal .a.urlaub{background:#DCEBFA;color:#1D4E89}.kal .a.krank{background:var(--rasp-soft);color:#B0205B}.kal .a.frei,.kal .a.unbezahlt{background:var(--cream);color:var(--grey)}
.kal .a.s{background:#E3EED6;color:var(--green)}
.kal .a.beantragt{background:repeating-linear-gradient(45deg,#fff,#fff 4px,#DCEBFA 4px,#DCEBFA 8px)}
.kal .ber{grid-column:1/-1;justify-content:flex-start;padding:0 10px;color:#fff;font-weight:500;letter-spacing:.06em;text-transform:uppercase;min-height:26px;font-size:11px;position:sticky;left:0}

/* Arbeitszeiten */
.zeitbalken{position:relative;height:10px;border-radius:999px;background:var(--cream);flex:1;min-width:120px}
.zeitbalken i{position:absolute;top:0;bottom:0;border-radius:999px}
.zeitbalken i.p{background:var(--stone);opacity:.5}
.zeitbalken i.s{background:var(--green);top:2px;bottom:2px}
.abwz{font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}
.abwz.plus{color:var(--green)}.abwz.minus{color:#B0205B}

/* Mitarbeiter-Ansicht */
.stempel{background:var(--green);color:var(--cream);border-radius:24px;padding:26px;text-align:center}
.stempel .uhr{font-family:'Archivo Black',sans-serif;font-size:56px;line-height:1;margin:6px 0 4px;font-variant-numeric:tabular-nums}
.stempel small{color:var(--green-soft);font-size:13px}
.stempel button{margin-top:18px;width:100%;max-width:340px;border:0;border-radius:999px;padding:18px;font:500 18px 'DM Sans',sans-serif;cursor:pointer;background:var(--cream);color:var(--green)}
.stempel button.gehen{background:var(--rasp);color:#fff}

/* Dialog */
.ov{position:fixed;inset:0;background:rgba(44,44,42,.38);z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:48px 16px;overflow:auto}
.box{background:var(--white);border-radius:20px;width:100%;max-width:520px;padding:22px;box-shadow:0 20px 50px rgba(0,0,0,.2)}
.box h2{margin:0 0 14px;font-size:20px}
.box label{display:block;font-size:12px;color:var(--grey);margin:12px 0 4px}
.box input,.box select,.box textarea{width:100%;font-size:15px;padding:10px 12px;border-radius:10px;border:.5px solid var(--line);background:var(--white)}
.box textarea{min-height:70px;resize:vertical}
.box .zw{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.box .dr{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.box .fuss{display:flex;gap:8px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}
.box .fuss .links{margin-right:auto}
.box .err{color:#B0205B;font-size:13px;margin-top:10px;min-height:1em}
.box .check{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:14px;color:var(--coal)}
.box .check input{width:18px;height:18px;accent-color:var(--green)}
.menu-pop{position:fixed;z-index:60;background:var(--white);border:.5px solid var(--line);border-radius:16px;box-shadow:0 12px 32px rgba(44,44,42,.16);padding:6px;min-width:240px}
.menu-pop .k{padding:10px 12px 8px;border-bottom:.5px solid var(--line);margin-bottom:4px}
.menu-pop .k b{display:block;font-weight:500}.menu-pop .k small{color:var(--grey);font-size:12px}
.menu-pop button{display:flex;width:100%;border:0;background:transparent;padding:10px 12px;border-radius:10px;font:500 14px 'DM Sans',sans-serif;cursor:pointer;text-align:left}
.menu-pop button:hover{background:var(--cream)}.menu-pop button.on{color:var(--green)}.menu-pop button.rot{color:#B0205B}
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:var(--coal);color:var(--cream);font-size:13px;padding:10px 16px;border-radius:999px;opacity:0;transition:opacity .25s;pointer-events:none;z-index:99}
.toast.on{opacity:1}
#tabbar{display:none}
.nur-handy{display:none}

@media (max-width:1100px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:1fr 1fr}}
@media (max-width:760px){
  #rail{display:none}
  #app{margin-left:0}
  #kopf{padding:12px 16px;grid-template-columns:auto 1fr auto}
  #kopf .logo{justify-self:center;font-size:18px}
  #kopf .logo i{display:none}
  .menu-btn{display:flex}
  #bwahl .bw span.n{display:none}
  main{padding:4px 16px 100px}
  h1{font-size:22px}
  .g4,.g3,.g2{grid-template-columns:1fr 1fr}
  #tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;background:var(--white);border-top:.5px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom));z-index:20;justify-content:space-around}
  #tabbar button{flex:1;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--grey);padding:6px 0;cursor:pointer}
  #tabbar button svg{width:22px;height:22px}
  #tabbar button.on{color:var(--green);font-weight:500}
  .nur-handy{display:block}.nur-desk{display:none}
  .box .zw,.box .dr{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  body.dr #rail{display:flex;width:270px;box-shadow:8px 0 30px rgba(44,44,42,.25)}
  body.dr #rail .it .lb{opacity:1}
  body.dr:after{content:"";position:fixed;inset:0;background:rgba(44,44,42,.35);z-index:8}
}
.btn svg{width:16px;height:16px;flex:none}

/* ===== Neuer Aufbau wie e2n (18.10.) ===== */
#rail .grp span{position:absolute;left:11px;top:7px;font:500 11px 'DM Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--grey);opacity:0;transition:opacity .12s;white-space:nowrap;background:var(--white);padding-right:6px}
#rail:hover .grp span{opacity:1}
#rail .ic{width:20px;height:20px;flex:none;border-radius:6px;border:1.5px solid currentColor;font:600 11px 'DM Sans',sans-serif;display:flex;align-items:center;justify-content:center}
#menue{max-width:1340px;margin:0 auto;padding:0 32px 14px;position:sticky;top:76px;z-index:7;background:var(--cream)}
#menue .mz{display:flex;gap:4px;padding:5px;border-radius:999px;background:var(--white);border:.5px solid var(--line);overflow-x:auto;scrollbar-width:none;width:max-content;max-width:100%}
#menue .mz::-webkit-scrollbar{display:none}
#menue button{display:flex;align-items:center;gap:7px;border:0;background:transparent;border-radius:999px;padding:9px 16px;font:500 14px 'DM Sans',sans-serif;color:var(--coal);cursor:pointer;white-space:nowrap;position:relative}
#menue button svg{width:17px;height:17px;flex:none}
#menue button svg:last-of-type:not(:first-child){width:14px;height:14px;opacity:.6}
#menue button:hover{background:var(--cream)}
#menue button.on{background:var(--green);color:var(--cream)}
#menue button i{font-style:normal;min-width:18px;height:18px;border-radius:999px;background:var(--rasp);color:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}
.kacheln{margin-bottom:6px}
.kach{display:flex;background:var(--white);border-radius:16px;overflow:hidden;min-height:96px;border:.5px solid var(--line)}
.kach-l{width:88px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}
.kach-l.blau{background:#3E8FD0}.kach-l.gruen{background:#2FA36B}.kach-l.orange{background:#F0A04B}.kach-l.rot{background:#E2574C}.kach-l.rasp{background:var(--rasp)}.kach-l.grau{background:var(--stone)}
.kach-l small{font-size:12px}.kach-l b{font-size:32px;font-weight:500;line-height:1}
.kach-r{flex:1;padding:12px 14px;display:flex;flex-direction:column;justify-content:center;position:relative}
.kach-r span{font-size:13px;color:var(--grey)}.kach-r b{font-size:24px;font-weight:500;color:var(--coal)}.kach-r b small{font-size:12px;color:var(--grey)}.kach-r small{font-size:12px;color:var(--grey)}
.kach-r .tag{position:absolute;top:8px;right:10px;font-size:11px;border:.5px solid var(--line);border-radius:6px;padding:1px 6px}
.ring{width:58px;height:58px}
.abschnitt{display:flex;align-items:center;margin:22px 0 10px;border-bottom:.5px solid var(--line)}
.abschnitt span{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--coal);background:var(--white);border:.5px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;padding:7px 12px}
.abschnitt span svg{width:16px;height:16px}
.abschnitt.rot span{color:#B0205B}
.pkarten{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.pk{background:var(--white);border-radius:14px;border:.5px solid var(--line);overflow:hidden;text-align:center;padding-bottom:12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px}
.pk:hover{box-shadow:0 6px 18px rgba(44,44,42,.1)}
.pk-k{width:100%;height:46px;position:relative;margin-bottom:30px}
.pk-k span{position:absolute;left:50%;top:14px;transform:translateX(-50%);width:58px;height:58px;border-radius:999px;background:inherit;border:3px solid #fff;color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:500}
.pk b{font-weight:500;font-size:14px;padding:0 8px}
.pk-z{font-size:12px;color:var(--grey);display:flex;align-items:center;gap:5px}
.pk-s{border:0;border-radius:8px;color:#fff;font:500 12px 'DM Sans',sans-serif;padding:5px 10px;cursor:pointer;margin:0 10px;line-height:1.3}
.pk-s small{display:block;font-weight:400;opacity:.9;font-size:11px}
.dot{display:inline-block;width:9px;height:9px;border-radius:999px;vertical-align:0}
.dot.gruen{background:#2FA36B}.dot.gelb{background:#E8B33A}.dot.rot{background:#E2574C}
table.t td.minus{color:#B0205B}table.t td.plus{color:var(--green)}
table.t tr.heute td{background:#F3F8EE}
.akte{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:start}
.akte aside{background:var(--white);border-radius:16px;padding:18px 14px;position:sticky;top:150px}
.akte-kopf{display:flex;align-items:center;justify-content:space-between}
.kreis.gross{width:96px;height:96px;font-size:30px}
.akte-n{display:block;text-align:center;font-weight:500;font-size:16px;margin-top:10px}
.akte-t{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--grey);margin:18px 6px 6px}
.akte aside>button:not(.zurueck){display:block;width:100%;text-align:left;border:0;background:transparent;padding:9px 10px;border-radius:10px;font:500 14px 'DM Sans',sans-serif;color:var(--coal);cursor:pointer;border-left:3px solid transparent}
.akte aside>button:not(.zurueck):hover{background:var(--cream)}
.akte aside>button.on{background:var(--cream);border-left-color:var(--green);color:var(--green)}
.akte .zurueck{display:flex;align-items:center;gap:6px;margin-top:14px;border:0;background:transparent;color:var(--grey);font:500 13px 'DM Sans',sans-serif;cursor:pointer;padding:6px 10px}
.akte .zurueck svg{width:16px;height:16px}
.akte section h3{margin:4px 0 10px;padding-bottom:8px;border-bottom:.5px solid var(--line)}
.akte section h3:not(:first-child){margin-top:20px}
.fz{display:grid;grid-template-columns:160px 1fr;gap:10px 16px;font-size:14px;align-items:center}
.fz label{color:var(--grey);text-align:right;font-size:13px}
.schritte{display:flex;align-items:center;gap:10px;justify-content:center;margin:0 0 18px}
.schritte div{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--grey)}
.schritte div span{width:30px;height:30px;border-radius:999px;border:1.5px solid var(--stone);display:flex;align-items:center;justify-content:center}
.schritte div.on{color:var(--green)}.schritte div.on span{background:var(--green);border-color:var(--green);color:#fff}
.schritte div.warn{color:#B0205B}.schritte div.warn span{border-color:#B0205B}
.schritte i{width:60px;height:1px;background:var(--line)}
.sch.offen{background:var(--white)!important;color:var(--coal);border:1.5px solid var(--rasp)}
@media (max-width:900px){.akte{grid-template-columns:1fr}.akte aside{position:static}}
@media (max-width:760px){#menue{padding:0 16px 10px;top:64px}.kach-l{width:70px}.fz{grid-template-columns:110px 1fr}}
.ring text{stroke:none}
table.tb th.c{text-align:center;border-bottom:0;color:var(--coal)}
table.tb tr.ober th{padding-bottom:0}
table.tb td{padding:8px 8px}
table.tb tr.zukunft td{color:var(--grey)}
table.tb tr.we td{background:#FAF9F4}
table.tb td.ein{cursor:pointer;background:#F3F8EE}
table.tb td.ein:hover{box-shadow:inset 0 0 0 1.5px var(--green)}
table.tb .plus-ein{display:inline-flex;width:22px;height:22px;border-radius:999px;border:1px dashed var(--moss);align-items:center;justify-content:center;color:var(--moss)}
table.tb tr.summe td{font-weight:500;border-top:1.5px solid var(--coal);background:var(--white)}
table.tb td.klick{cursor:pointer}
.kal .kn{flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;padding:4px 10px}
.kal .kn span{font-weight:500;font-size:13px}
.kal .ksum{font-size:10.5px;color:var(--grey);font-weight:400;white-space:nowrap}
.kal .ksum b{font-weight:500}.kal .ksum b.minus{color:#B0205B}.kal .ksum b.plus{color:var(--green)}
.box.breit{max-width:860px}
.tagkopf{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.tagkopf h2{margin:0}
.tb-grid{display:grid;grid-template-columns:1fr 1.3fr 1.3fr;gap:12px}
.tb-k{background:var(--cream);border-radius:14px;padding:14px}
.tb-k small{display:block;font-size:12px;color:var(--grey);margin-bottom:8px;text-transform:uppercase;letter-spacing:.06em}
.tb-k em{font-style:normal;font-size:12px;color:var(--grey);display:block;margin-top:8px}
.tb-ziel{font-size:22px;font-weight:500;display:flex;align-items:center;gap:6px}.tb-ziel input{width:90px;font-size:22px;padding:6px 8px;border-radius:10px;border:.5px solid var(--line)}
.tb-z{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-top:.5px solid var(--line);font-size:14px}.tb-z:first-of-type{border-top:0}
.tb-z input{width:110px;text-align:right;padding:5px 8px;border-radius:8px;border:.5px solid var(--line);font-size:14px}
.tb-z b{font-weight:500}.tb-z b.minus{color:#B0205B}.tb-z b.plus{color:var(--green)}
.tb-text{width:100%;min-height:64px;border-radius:10px;border:.5px solid var(--line);padding:10px;font:14px 'DM Sans',sans-serif;resize:vertical}
.wkarten{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.wk{background:var(--cream);border-radius:14px;padding:14px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.wk small{font-size:12px;color:var(--grey)}.wk b{font-size:20px;font-weight:500}.wk span{font-size:12px;color:var(--grey)}
svg.wi{vertical-align:-4px}svg.wi.sonne{color:#E8A33A}svg.wi.wolke{color:#8A97A3}svg.wi.regen{color:#3E8FD0}svg.wi.schnee{color:#7FB0D8}
table.tb td.wz{white-space:nowrap;font-size:13px;color:var(--grey)}
.fz .fi,.akte .fi{width:100%;max-width:360px;font:14px 'DM Sans',sans-serif;padding:8px 10px;border-radius:10px;border:.5px solid var(--line);background:#fff}
.akte section h3 svg{width:18px;height:18px;vertical-align:-3px;margin-right:4px;color:var(--green)}
.sterne{display:flex;align-items:center}.sterne button{border:0;background:transparent;font-size:22px;color:var(--line);cursor:pointer;padding:0 2px}.sterne button.on{color:#E8B33A}
.mkal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.mkal>b{font-size:12px;color:var(--grey);text-align:center;font-weight:500}
.mkal>div{min-height:78px;background:var(--cream);border-radius:10px;padding:5px;display:flex;flex-direction:column;gap:3px;font-size:11px}
.mkal>div.heute{box-shadow:inset 0 0 0 2px var(--green)}.mkal>div.ft i{color:var(--rasp)}
.mkal i{font-style:normal;font-weight:500;color:var(--coal)}
.mkal em{font-style:normal;border-radius:6px;padding:2px 4px}.mkal em.s{color:#fff}.mkal em.z{color:var(--green)}
@media (max-width:760px){.tb-grid,.wkarten{grid-template-columns:1fr 1fr}}
.fz .seg{width:max-content}
.kal .ksum{white-space:normal;line-height:1.3}
table.tb td.klick b{color:#2C6FB7 !important;text-decoration:underline;text-decoration-color:rgba(44,111,183,.35);text-underline-offset:3px}
table.tb td.klick:hover b{color:#1D4F8A !important;text-decoration-color:#1D4F8A}
.chip.ferien{background:#DCEBFA;color:#1D4E89}.chip.bruecke{background:var(--gelb);color:var(--gelb-t)}.chip.anlass{background:#EFE6F7;color:#6B3FA0}
.filter{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 10px}
.filter span{font-size:13px;color:var(--grey);margin-right:4px}
.filter button{border:.5px solid var(--line);background:var(--white);border-radius:999px;padding:6px 12px;font:500 13px 'DM Sans',sans-serif;cursor:pointer;color:var(--coal)}
.filter button.on{background:var(--green);border-color:var(--green);color:var(--cream)}
input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
input[type=number]{-moz-appearance:textfield;appearance:textfield}
.plan .kz .bes{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:4px}
.plan .kz .bes span{font-size:10.5px;font-weight:500;padding:1px 6px;border-radius:999px;background:#DCEBFA;color:#1D4E89;white-space:nowrap}
.plan .kz .bes span.feiertag{background:var(--rasp-soft);color:#B0205B}.plan .kz .bes span.bruecke{background:var(--gelb);color:var(--gelb-t)}.plan .kz .bes span.anlass{background:#EFE6F7;color:#6B3FA0}
/* Mitarbeiter-App wie e2n me (25.10.2026) */
.ma{max-width:620px;margin:0 auto;position:relative;padding-bottom:70px}
.ma h2{margin:20px 0 8px}
.ma-kopf{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px}
.ma-zeile{display:flex;justify-content:space-between;align-items:baseline}.ma-zeile h2{margin-bottom:8px}
.lnk{border:0;background:none;color:var(--green);font:500 14px 'DM Sans',sans-serif;cursor:pointer;padding:4px}
.ma-warn{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--gelb);color:var(--gelb-t);border-radius:16px;padding:12px 16px;margin-bottom:12px}
.ma-warn b{display:block;font-weight:500}.ma-warn small{font-size:13px}
.kz-raster{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.kz-tag{border:0;background:var(--white);border-radius:12px;padding:8px 2px 7px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;font-family:inherit;color:var(--coal);min-height:62px}
.kz-tag small{font-size:10.5px;color:var(--grey)}.kz-tag b{font-size:16px;font-weight:500;font-variant-numeric:tabular-nums}
.kz-tag span{display:flex;gap:3px;min-height:7px}.kz-tag i{width:7px;height:7px;border-radius:999px}
.kz-tag.heute{background:var(--green);color:var(--cream)}.kz-tag.heute small{color:var(--green-soft)}
.kz-tag.vorbei{opacity:.55}
.ma-k{border:0;text-align:left;cursor:pointer;font-family:inherit;width:100%}
.ma-konto{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px}
.ma-konto small{display:block;font-size:12px;color:var(--grey)}.ma-konto b{display:block;font-family:'Archivo Black',sans-serif;font-weight:900;font-size:20px;color:var(--green);margin:3px 0;font-variant-numeric:tabular-nums}.ma-konto b.minus{color:var(--rasp)}.ma-konto em{font-style:normal;font-size:11.5px;color:var(--grey)}
.ma-btn{width:100%;border:0;background:none;text-align:left;font-family:inherit;color:inherit;cursor:pointer}
.ma-btn svg{width:18px;height:18px;flex:none;stroke:var(--grey)}.ma-btn .kreis svg{stroke:var(--cream);width:18px;height:18px}
.kal-tag{display:flex;gap:12px;padding:10px 0;border-top:.5px solid var(--line)}.kal-tag:first-child{border-top:0}
.kal-d{width:40px;flex:none;text-align:center}.kal-d small{display:block;font-size:11px;color:var(--grey)}.kal-d b{font-size:18px;font-weight:500;font-variant-numeric:tabular-nums}
.kal-tag.heute .kal-d b{color:var(--cream);background:var(--green);border-radius:999px;display:inline-block;width:32px;height:32px;line-height:32px}
.kal-l{flex:1;min-width:0}
.kal-e{display:flex;gap:10px;align-items:center;padding:5px 0}.kal-e>i{width:9px;height:9px;border-radius:999px;flex:none}
.kal-e .m{flex:1;min-width:0}.kal-e .m b{font-weight:500;display:block;font-variant-numeric:tabular-nums}.kal-e .m small{color:var(--grey);font-size:12px}
.ma-fab{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:calc(84px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:999px;border:0;background:var(--rasp);box-shadow:0 8px 20px rgba(212,40,111,.35);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:20}
.ma-fab svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linejoin:round}
@media (min-width:900px){.ma-fab{bottom:28px}}
.vf-raster{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.vf-raster>small{text-align:center;font-size:11px;color:var(--grey);padding-bottom:2px}
.vf-tag{border:1px solid transparent;background:var(--white);border-radius:10px;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;font-family:inherit;color:var(--coal)}
.vf-tag b{font-weight:500;font-size:15px}.vf-tag small{font-size:9.5px;color:var(--grey);white-space:nowrap}
.vf-tag.vorbei{opacity:.35;cursor:default}.vf-tag.ein{background:#DCEBFA;cursor:default}.vf-tag.offen{border-color:#E8C44A}
.vf-frueh,.vf-tag.vf-frueh{background:#E3EED6}.vf-spaet,.vf-tag.vf-spaet{background:#EFE6F7}.vf-beide,.vf-tag.vf-beide{background:var(--green-soft)}.vf-nein,.vf-tag.vf-nein{background:var(--rasp-soft)}
.vf-leg{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;font-size:11.5px}.vf-leg span{padding:3px 8px;border-radius:999px;background:var(--white)}.vf-leg .ein{background:#DCEBFA}.vf-leg .offen{border:1px solid #E8C44A}
.vf-wahl{display:grid;gap:8px;margin-bottom:12px}.vf-wahl label{display:flex;gap:10px;align-items:center;padding:12px 14px;border:.5px solid var(--line);border-radius:12px;cursor:pointer;font-size:15px}
.ausweis{background:var(--green);color:var(--cream);border-radius:24px;padding:24px;max-width:340px;margin:16px auto;text-align:center}
.aw-k{font-family:'Archivo Black',sans-serif;font-size:20px;margin-bottom:14px}.aw-k span{color:#F4C0D1}.aw-k i{font:500 9px 'DM Sans',sans-serif;letter-spacing:.3em;color:var(--green-soft);font-style:normal;margin-left:6px}
.aw-qr{background:#fff;border-radius:14px;padding:14px;width:208px;height:208px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;color:var(--coal);font-size:11px;word-break:break-all}
.aw-n{font-family:'Archivo Black',sans-serif;font-size:20px;margin-bottom:10px}
.aw-d{display:flex;justify-content:space-between;padding:8px 0;border-top:.5px solid rgba(192,221,151,.35);font-size:14px}.aw-d span{color:var(--green-soft)}.aw-d b{font-weight:500}
@media (max-width:560px){.ma-konto{grid-template-columns:1fr 1fr 1fr;padding:12px;gap:6px}.ma-konto b{font-size:16px}}
.ma .kpi.dunkel em{color:var(--green-soft)}.ma .stempel small{display:block}
.abo-k{text-decoration:none}.abo-k.haupt b{color:var(--green)}.abo-k.haupt{background:linear-gradient(90deg,#E3EED6,transparent);margin:0 -18px;padding-left:18px;padding-right:18px}
.abo-link{font:12px ui-monospace,Menlo,monospace;background:var(--cream);border-radius:10px;padding:10px 12px;word-break:break-all;user-select:all}
/* 25.10. MA-App wie e2n me: Betrag, Ring, Verdienst, Filter, Profil */
.ma-betrag{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:8px 12px;border-radius:10px;background:rgba(255,255,255,.12);font-size:13px}.ma-betrag b{font-family:'DM Sans',sans-serif!important;font-size:15px!important;font-weight:700;color:inherit!important;margin:0!important}
.ma-ringk{display:flex!important;align-items:center;gap:14px}.ma-ringk .ring{flex:none;width:58px;height:58px}.ma-ringk.gross .ring{width:72px;height:72px}.ma-ringk span{display:block;min-width:0}
.ma-lohn{padding:12px 18px}.ma-lohn>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;font-size:14px;border-bottom:.5px solid var(--line)}.ma-lohn>div b{font-weight:500;font-variant-numeric:tabular-nums}.ma-lohn>div.sum{border-bottom:0;font-size:15px}.ma-lohn>div.sum b{font-weight:700;color:var(--green)}
.ma-chips{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}.ma-chips button{white-space:nowrap}
.ma-profil{text-align:center;margin:6px 0 18px}.ma-profil h1{margin-top:12px}.kreis.gross{width:84px;height:84px;font-size:28px;margin:0 auto;display:flex}
.menu-pop.fab-pop{position:fixed!important;min-width:230px}
.zg-kopf{display:flex;align-items:center;gap:12px}
.zg-schritte{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0;position:relative}
.zg-schritte div{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:13px;color:var(--grey)}
.zg-schritte i{width:34px;height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:700;background:#fff;border:1.5px solid var(--line);color:var(--grey)}
.zg-schritte .ok i{background:var(--green);border-color:var(--green);color:#fff}.zg-schritte .jetzt i{border-color:var(--green);color:var(--green)}.zg-schritte .ok,.zg-schritte .jetzt{color:var(--coal)}
.zg-frei{border:.5px solid var(--line);border-radius:10px;padding:14px 16px;margin-top:6px}
.zg-f{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:.5px solid var(--line);cursor:pointer}.zg-f input{margin-top:3px;width:18px;height:18px;accent-color:var(--green)}.zg-f b{display:block;font-weight:500}.zg-f small{display:block;color:var(--grey);font-size:13px;margin-top:2px}
.tr-n{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--grey);padding:4px 0 8px 30px}.tr-n input{width:80px}
.fb-z{display:grid;grid-template-columns:150px 1fr;gap:10px;align-items:center;padding:6px 0;font-size:14px;color:var(--grey)}@media(max-width:520px){.fb-z{grid-template-columns:1fr;gap:4px}}
.fb-status{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}.fb-status small{color:var(--grey);font-size:12.5px}
table.prot td{vertical-align:top;font-size:13px}.prot-d div{margin:1px 0}.prot-d b{font-weight:500}
/* weitere Abwesenheitsarten (e2n) */
.abw{background:var(--cream);color:var(--grey)}.kal .a{background:var(--cream);color:var(--grey)}
.abw.krank_ohne_au,.abw.quarantaene_lfz,.abw.arbeitsunfall,.abw.kur,.abw.krank_kurzarbeit,.abw.kind_krank,.abw.krankengeld,.abw.krank_frei,.kal .a.krank_ohne_au,.kal .a.arbeitsunfall,.kal .a.kind_krank,.kal .a.kur{background:var(--rasp-soft);color:#B0205B}
.abw.sonderurlaub,.abw.feiertagsausgleich,.abw.ueberstundenabbau,.abw.guttag_nehmen,.abw.lehrgang,.abw.freistellung,.kal .a.sonderurlaub,.kal .a.guttag_nehmen,.kal .a.ueberstundenabbau{background:#DCEBFA;color:#1D4E89}
.abw.unentschuldigt,.kal .a.unentschuldigt{background:#FBE3D6;color:#A3431B}
/* Ansicht & Filter (wie e2n, Leiste rechts) */
.ans-panel{position:fixed;top:0;right:0;bottom:0;width:340px;max-width:92vw;background:var(--weiss,#fff);box-shadow:-8px 0 30px rgba(0,0,0,.15);z-index:90;display:flex;flex-direction:column;animation:ansIn .18s ease-out}
@keyframes ansIn{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}
.ans-kopf{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:.5px solid var(--linie,#e5e2d9)}.ans-kopf b{font-size:16px;font-weight:600}
.ans-body{flex:1;overflow:auto;padding:4px 16px 16px}.ans-body h4{margin:16px 0 6px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--grau,#8a8378);font-weight:600}.ans-body h4 small{text-transform:none;font-weight:400;margin-left:6px}
.ans-sw{display:flex;align-items:center;gap:10px;padding:6px 0;cursor:pointer;font-size:14px}.ans-sw input{width:18px;height:18px;accent-color:var(--green,#1D5A2E)}.ans-sw .e-knopf{display:none}
.ans-opt{display:flex;flex-direction:column;gap:2px}.ans-opt label{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer}.ans-opt input{accent-color:var(--green,#1D5A2E);width:16px;height:16px}
.ans-opt .dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.ans-fuss{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:.5px solid var(--linie,#e5e2d9)}
.btn.an{background:var(--green,#1D5A2E);color:#fff;border-color:transparent}
.kz .wz{font-size:11px;color:var(--grau,#8a8378);display:flex;align-items:center;gap:3px;margin:2px 0}
.pn .geb{color:var(--rasp,#D4286F);font-weight:500}
.zl.nv{background:repeating-linear-gradient(135deg,transparent 0 6px,rgba(0,0,0,.035) 6px 12px)}.zl .nvt{display:block;font-size:10.5px;color:var(--grau,#8a8378);padding:2px 4px}
.zl.warnz{box-shadow:inset 0 0 0 2px var(--rasp,#D4286F)}
.ma-kacheln{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.ma-kachel{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:18px 12px}.ma-kachel.alt{opacity:.55}.ma-kachel small{color:var(--grau,#8a8378);font-size:12px}
.kreis.gross{width:52px;height:52px;font-size:18px;margin-bottom:6px}
.kal .h.mk.ferien{box-shadow:inset 0 -3px 0 #E0A526}.kal .h.mk.anlass{box-shadow:inset 0 -3px 0 #2E6DB4}.kal .h .kwz{font-size:9px;color:var(--grau,#8a8378)}
@media print{.ans-panel,.werkzeug,.seite-nav{display:none!important}}
/* Glocke · Mitteilungen · Chat */
.ib.gl .glz{position:absolute;top:-3px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--rasp,#D4286F);color:#fff;font-size:10.5px;font-style:normal;font-weight:600;display:flex;align-items:center;justify-content:center}
.mt-liste{min-width:290px;max-width:380px}.mt-z{display:flex!important;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;width:100%;padding:9px 10px!important;border-radius:10px;white-space:normal!important}
.mt-z b{font-weight:500;font-size:13.5px}.mt-z small{color:var(--grau,#8a8378);font-size:12px}.mt-z.neu{background:var(--rasp-soft,#FBE4EC)}.mt-z.neu b::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--rasp,#D4286F);margin-right:6px;vertical-align:1px}
.chat{display:grid;grid-template-columns:280px 1fr;gap:12px;height:calc(100vh - 210px);min-height:420px}.chat:not(.lt){grid-template-columns:1fr}
.chat-k{background:#fff;border-radius:16px;overflow:auto;padding:6px}.chat:not(.lt) .chat-k{display:flex;gap:6px;padding:6px;overflow-x:auto}
.chat-k button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;padding:8px;border-radius:10px;text-align:left;cursor:pointer;font:inherit}.chat:not(.lt) .chat-k button{width:auto;flex:1;justify-content:center}
.chat-k button.on{background:var(--cream,#EFEDE3)}.chat-k .n{flex:1;display:flex;flex-direction:column;font-size:14px}.chat-k .n small{font-size:11px;color:var(--grau,#8a8378)}.chat-k i{font-style:normal;background:var(--rasp,#D4286F);color:#fff;border-radius:9px;min-width:18px;padding:0 5px;font-size:11px;text-align:center}
.chat-k .kreis{width:30px;height:30px;font-size:12px;flex:none}.chat-k .kreis svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:1.8}
.chat-m{background:#fff;border-radius:16px;display:flex;flex-direction:column;min-height:0}.chat-kopf{padding:12px 16px;border-bottom:.5px solid var(--linie,#e5e2d9);font-weight:600}
.chat-v{flex:1;overflow:auto;padding:12px 16px;display:flex;flex-direction:column;gap:6px}.chat-tag{align-self:center;font-size:11px;color:var(--grau,#8a8378);margin:8px 0}
.chat-n{max-width:76%;align-self:flex-start;background:var(--cream,#EFEDE3);border-radius:14px 14px 14px 4px;padding:7px 11px;font-size:14px;line-height:1.4}.chat-n b{display:block;font-size:12px;font-weight:600;color:var(--green,#1D5A2E)}
.chat-n small{display:block;text-align:right;font-size:10.5px;color:var(--grau,#8a8378);margin-top:2px}.chat-n.ich{align-self:flex-end;background:var(--green,#1D5A2E);color:#fff;border-radius:14px 14px 4px 14px}.chat-n.ich small{color:#cfe3d4}
.chat-e{display:flex;gap:8px;padding:10px;border-top:.5px solid var(--linie,#e5e2d9)}.chat-e textarea{flex:1;resize:none;border:1px solid var(--linie,#e5e2d9);border-radius:12px;padding:8px 10px;font:inherit}
@media (max-width:760px){.chat.lt{grid-template-columns:1fr;height:auto}.chat.lt .chat-k{display:flex;overflow-x:auto;max-height:none}.chat.lt .chat-k button{width:auto;flex:none}.chat-m{height:calc(100vh - 260px)}}
#tabbar button{position:relative}#tabbar .glz{position:absolute;top:2px;left:calc(50% + 6px);min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--rasp,#D4286F);color:#fff;font-size:10px;font-style:normal;font-weight:600;display:flex;align-items:center;justify-content:center}
.chat-neu{color:var(--green,#1D5A2E);font-weight:500;justify-content:center}.chat-neu svg{width:16px;height:16px}
.chat-schicht{margin-top:6px;background:#fff;color:var(--coal,#2b2a27);border-radius:10px;padding:8px 10px;border-left:4px solid var(--green,#1D5A2E);min-width:220px}
.chat-schicht small{display:block;text-align:left!important;color:var(--grau,#8a8378)!important;font-size:11px;text-transform:uppercase;letter-spacing:.04em;margin:0!important}
.chat-schicht b{display:block;color:var(--coal,#2b2a27)!important;font-size:14px;margin:2px 0 6px}.chat-schicht .cs-f{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.fi.falsch{border-color:var(--rasp,#D4286F)!important;background:#fff5f8}.fb-pz{display:block;font-size:12px;margin-top:3px}.fb-pz.ok{color:var(--green,#1D5A2E)}.fb-pz.rot{color:var(--rasp,#D4286F)}
.chat-such{display:flex;gap:6px;padding:4px 4px 8px;position:sticky;top:0;background:#fff;z-index:1}.chat-such .fi{flex:1;min-width:0}
.chat-gr{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--grau,#8a8378);font-weight:600;padding:12px 10px 4px}.chat-gr .ib{width:24px;height:24px}
.chat-k .n small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}
.chat-kont{max-height:60vh;overflow:auto}.chat-kont button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;padding:8px;border-radius:10px;text-align:left;cursor:pointer;font:inherit}.chat-kont button:hover{background:var(--cream,#EFEDE3)}
.chat-kont .n{display:flex;flex-direction:column}.chat-kont .n small{color:var(--grau,#8a8378);font-size:12px}.chat-kont .kreis{width:32px;height:32px;font-size:12px}
@media (max-width:760px){.chat.lt .chat-k{display:block;max-height:38vh;overflow:auto}.chat.lt .chat-k button{width:100%}.chat-such{flex-wrap:wrap}}
/* Chat wie WhatsApp (25.10.2026) */
.wa{display:grid;grid-template-columns:340px 1fr;height:calc(100vh - 150px);min-height:460px;background:#fff;border-radius:16px;overflow:hidden;border:.5px solid var(--linie,#e5e2d9)}
.wa-l{display:flex;flex-direction:column;min-height:0;border-right:.5px solid var(--linie,#e5e2d9)}
.wa-kopf{display:flex;justify-content:space-between;align-items:center;padding:14px 14px 8px}.wa-kopf b{font-size:22px}.wa-kopf span{display:flex;gap:4px}
.wa-ib{width:38px;height:38px;border:0;background:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--coal,#2b2a27);flex:none}.wa-ib:hover{background:var(--cream,#EFEDE3)}
.wa-ib svg,.wa-send svg,.wa-av svg,.wa-chk svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wa-tabs{display:flex;gap:6px;padding:0 14px 8px}.wa-tabs button{border:0;border-radius:18px;padding:6px 14px;background:var(--cream,#EFEDE3);font:inherit;font-size:13px;cursor:pointer;color:var(--coal,#2b2a27)}
.wa-tabs button.on{background:var(--green,#1D5A2E);color:#fff}.wa-tabs i{font-style:normal;background:#25a35a;color:#fff;border-radius:9px;padding:0 6px;font-size:11px;margin-left:2px}.wa-tabs small{opacity:.7}
.wa-such{padding:0 14px 8px}.wa-such input{width:100%;border:0;background:var(--cream,#EFEDE3);border-radius:10px;padding:9px 12px;font:inherit;font-size:14px}
.wa-liste{flex:1;overflow:auto}
.wa-z{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;padding:9px 14px;text-align:left;cursor:pointer;font:inherit;color:inherit}
.wa-z:hover{background:#f6f5f0}.wa-z.on{background:var(--cream,#EFEDE3)}
.wa-av{width:46px;height:46px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:15px}.wa-av svg{width:24px;height:24px}
.wa-neu .wa-av{color:var(--green,#1D5A2E);font-size:24px;font-weight:400}
.wa-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.wa-z .wa-t{border-bottom:.5px solid var(--linie,#eeebe3);padding-bottom:9px;margin-bottom:-9px}
.wa-t b{font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wa-t small{font-size:13px;color:var(--grau,#8a8378);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wa-o{display:flex;justify-content:space-between;align-items:center;gap:8px;min-width:0}.wa-o small.neu{color:#25a35a;font-weight:600}
.wa-o i{font-style:normal;background:#25a35a;color:#fff;border-radius:11px;min-width:20px;height:20px;padding:0 6px;font-size:12px;display:flex;align-items:center;justify-content:center;flex:none}
.wa-gr{font-size:12px;color:var(--green,#1D5A2E);font-weight:600;padding:12px 14px 4px}
.wa-r{display:flex;flex-direction:column;min-height:0;background:#efeae2}
.wa-ckopf{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border-bottom:.5px solid var(--linie,#e5e2d9)}.wa-ckopf .wa-av{width:40px;height:40px}.wa-back{display:none}
.wa-v{background:#efeae2;padding:14px 6%}
.wa-v .chat-n{background:#fff;border-radius:10px 10px 10px 2px;box-shadow:0 1px .5px rgba(0,0,0,.08);max-width:75%}
.wa-v .chat-n.ich{background:#d9fdd3;color:var(--coal,#2b2a27);border-radius:10px 10px 2px 10px}.wa-v .chat-n.ich small{color:#6b8a6f}
.wa-v .chat-tag{background:#fff;border-radius:8px;padding:3px 10px;box-shadow:0 1px .5px rgba(0,0,0,.08)}
.wa-e{display:flex;align-items:flex-end;gap:8px;padding:8px 10px;background:#f0f0f0}
.wa-e textarea{flex:1;resize:none;border:0;border-radius:22px;padding:10px 16px;font:inherit;font-size:15px;max-height:120px;background:#fff;outline:none}
.wa-send{width:44px;height:44px;border-radius:50%;border:0;background:var(--green,#1D5A2E);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}
.wa-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;min-height:24px}.wa-chip{background:var(--cream,#EFEDE3);border-radius:14px;padding:4px 10px;font-size:13px;cursor:pointer}
.wa-wahl{max-height:50vh;overflow:auto;margin:0 -8px}.wa-wahl button,.wa-m{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;padding:8px;text-align:left;cursor:pointer;font:inherit;border-radius:10px}
.wa-wahl button:hover{background:#f6f5f0}.wa-wahl .wa-av,.wa-m .wa-av{width:40px;height:40px;font-size:14px}.wa-m{cursor:default}
.wa-chk{width:24px;height:24px;border-radius:50%;border:2px solid #c9c4b8;display:flex;align-items:center;justify-content:center;color:transparent;flex:none}.wa-chk svg{width:15px;height:15px;stroke-width:3}
.wa-wahl button.on .wa-chk{background:#25a35a;border-color:#25a35a;color:#fff}
@media (max-width:760px){.wa{grid-template-columns:1fr;height:calc(100vh - 140px);border-radius:0;border:0;margin:0 -16px}
 .wa .wa-r{display:none}.wa.offen .wa-l{display:none}.wa.offen .wa-r{display:flex}.wa-back{display:inline-flex}.wa-v{padding:12px 10px}.wa-v .chat-n{max-width:85%}}
/* Zuschläge je Mitarbeiter (25.10.2026) */
.zu-kopf{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:6px}.zu-schalter{display:flex;gap:10px;align-items:center;margin-right:auto;cursor:pointer}
.zu-schalter input{width:20px;height:20px;accent-color:var(--green,#1D5A2E)}.zu-schalter span{display:flex;flex-direction:column}.zu-schalter small{color:var(--grau,#8a8378);font-size:12px}
.zu-gr{font-weight:600;font-size:13px;color:var(--green,#1D5A2E);margin:16px 0 6px}.zu-gr small{font-weight:400;color:var(--grau,#8a8378);margin-left:6px}
.zu-t{padding:2px 12px;overflow:auto}.zu-t td{vertical-align:middle;white-space:nowrap}.zu-t td:first-child{white-space:normal;min-width:200px}
.zu-an{display:flex;gap:8px;align-items:center;cursor:pointer}.zu-an input{width:18px;height:18px;accent-color:var(--green,#1D5A2E)}.zu-t td small{display:block;color:var(--grau,#8a8378);font-size:12px;margin-left:26px}
.zu-n{width:72px!important;display:inline-block}.zu-z{width:96px!important;display:inline-block}.zu-la{width:90px!important}
.zu-t select.fi{width:auto;display:inline-block}
/* ===== Design-Feinschliff 25.10.2026: ruhige Abstände, einheitliche Felder, Menü ohne Überlappung ===== */
/* Eingabefelder überall gleich */
#inhalt input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]),#inhalt select,#inhalt textarea,
.ov input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]),.ov select,.ov textarea{
  font:14px 'DM Sans',sans-serif;color:var(--coal,#2C2C2A);background-color:#fff;border:1px solid #DDD9CE;border-radius:10px;padding:9px 12px;min-height:40px;box-sizing:border-box;outline:none;transition:border-color .15s,box-shadow .15s}
#inhalt textarea,.ov textarea{min-height:72px;line-height:1.45}
#inhalt input:focus,#inhalt select:focus,#inhalt textarea:focus,.ov input:focus,.ov select:focus,.ov textarea:focus{border-color:var(--green,#1D5A2E);box-shadow:0 0 0 3px rgba(29,90,46,.12)}
#inhalt input:disabled,#inhalt input[readonly],.ov input:disabled{background:#F6F5F0;color:#8A8985}
#inhalt select,.ov select{-webkit-appearance:none;appearance:none;padding-right:36px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235F5E5A' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px}
#inhalt input[type=checkbox],#inhalt input[type=radio],.ov input[type=checkbox],.ov input[type=radio]{accent-color:var(--green,#1D5A2E);width:17px;height:17px;flex:none}
/* Formular-Raster (Verwaltung, Einstellungen, Akte) */
.e-feld{grid-template-columns:220px minmax(0,460px)!important;gap:14px 24px!important;margin:18px 0!important;align-items:center}
.e-feld>label{font-size:14px;color:#5F5E5A;line-height:1.35}
.e-feld input:not([type=checkbox]):not([type=radio]),.e-feld select,.e-feld textarea{width:100%}
.e-num input{width:120px!important}
.fz{gap:14px 24px!important;align-items:center}.fz .fi,.akte .fi{max-width:460px;min-height:40px}
/* Karten & Seitenaufbau */
.e-wrap{grid-template-columns:240px minmax(0,1fr)!important;gap:24px!important}
.e-seite .card,.akte .card{padding:24px 28px}
.e-seite .card h3,.akte h3{margin:0 0 6px;font-size:16px;font-weight:600}
.e-seite .card h3+.hint,.e-seite .card h3+p{margin:0 0 6px}
.e-seite .card+.card{margin-top:18px}
.e-fuss{margin-top:22px!important;padding-top:18px;border-top:.5px solid #ECE9E0}
.e-zeile{padding:16px 0!important;gap:16px!important}
.e-nav{padding:12px 0!important;border:0!important;border-radius:16px!important}
.e-nav .g{padding:16px 20px 6px!important}.e-nav .g:first-child{padding-top:6px!important}
.e-nav a{padding:9px 20px!important;font-size:14px}
.e-regel{padding:18px 20px!important;margin-bottom:12px!important}
/* Kopfzeile + Werkzeug: gleiche Höhen, Luft */
.kopfzeile{align-items:center!important;gap:16px 20px!important;margin-bottom:22px!important}
.kopfzeile h1{margin-bottom:4px}.kopfzeile .hint{margin-top:2px}
.werkzeug{gap:10px!important}
.werkzeug .btn,.werkzeug .ib,.werkzeug .seg,.werkzeug select{height:40px;min-height:40px}
.werkzeug .btn.k{padding:0 16px;font-size:14px}
.werkzeug .btn{padding:0 18px}
.seg button{white-space:nowrap}
/* Tabellen: mehr Zeilenhöhe, ruhiger */
#inhalt table.t th{padding:12px 10px!important;font-size:12px;letter-spacing:.02em;color:#8A8985;font-weight:500}
#inhalt table.t td{padding:12px 10px!important;vertical-align:middle}
#inhalt table.t tr+tr td{border-top:.5px solid #EEEBE3}
.card>table.t,.card>div>table.t{margin:0}
/* Kennzahlen-Kacheln: einheitliche Innenabstände */
.grid{gap:16px!important}.kpi{padding:18px 20px!important}
/* Hauptmenü: nie abgeschnitten, Pfeile mit Abstand */
#menue{padding-bottom:18px!important}
#menue .mz{gap:2px!important}
#menue button{gap:8px!important;padding:9px 15px!important}
#menue button svg:last-of-type:not(:first-child){margin-left:-2px;width:13px!important;height:13px!important}
#menue{container-type:inline-size}
@container (max-width:1260px){#menue button{padding:9px 11px!important;font-size:13.5px!important;gap:6px!important}}
@container (max-width:1160px){#menue button>svg:first-child{display:none}}
@container (max-width:900px){#menue button{padding:8px 9px!important;font-size:13px!important}}
.werkzeug a.btn,a.btn{text-decoration:none}
/* Dropdown-Menüs: Luft, nicht über dem Menü kleben */
.menu-pop{padding:8px!important;min-width:220px}.menu-pop button{padding:11px 14px!important}
/* Dialoge */
.ov .box{padding:26px 28px!important}.ov .box h2{margin:0 0 16px!important}.ov .box label{display:block;margin:14px 0 6px;font-size:13px;color:#5F5E5A}
.ov .box .fuss{margin-top:22px!important;gap:10px!important}
.ov .box input:not([type=checkbox]):not([type=radio]),.ov .box select{width:100%}
@media (max-width:800px){.e-feld{grid-template-columns:1fr!important;gap:6px 0!important}.e-wrap{grid-template-columns:1fr!important}.e-seite .card,.akte .card{padding:18px}}
/* Chat behält sein WhatsApp-Aussehen */
#inhalt .wa-e textarea{min-height:44px!important;border:0!important;border-radius:22px!important;padding:11px 16px!important;box-shadow:none!important;background:#fff!important}
#inhalt .wa-such input{border:0!important;min-height:38px!important;background:var(--cream,#EFEDE3)!important;box-shadow:none!important}
/* Personalzugang: Karten statt breiter Tabelle */
.zg-alle,.zg-p{border:.5px solid #E7E4DA;border-radius:14px;padding:18px 20px;margin-top:14px;background:#fff}
.zg-alle{background:#F7F6F1}
.zg-ak{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.zg-ak small,.zg-n small{color:#8A8985;font-size:12.5px}
.zg-p .zg-kopf{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(220px,280px);gap:12px 20px;align-items:center;padding-bottom:14px;margin-bottom:14px;border-bottom:.5px solid #EEEBE3}
.zg-n{display:flex;flex-direction:column;gap:2px;min-width:0}.zg-n b{font-weight:600;font-size:15px}.zg-n small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zg-st{display:flex;gap:8px;align-items:center}
.zg-b{display:flex;flex-direction:column;gap:5px}.zg-b label{font-size:12px;color:#8A8985}
.zg-fr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px}
.zg-g{display:flex;flex-direction:column;gap:9px}.zg-g>small{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#8A8985;margin-bottom:2px}
.zg-c{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer;line-height:1.3}
@media (max-width:900px){.zg-p .zg-kopf{grid-template-columns:1fr}.zg-fr{grid-template-columns:1fr}}
/* Perso-Rollen (Verwaltung → Benutzer & Rollen) */
.pr-z{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:.5px solid #EEEBE3}.pr-z:first-of-type{border-top:0}
.pr-av{width:40px;height:40px;border-radius:50%;background:var(--cream,#EFEDE3);color:var(--green,#1D5A2E);display:flex;align-items:center;justify-content:center;font-weight:600;flex:none}
.pr-n{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pr-n b{font-weight:600}.pr-n small{color:#8A8985;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pr-rollen{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pr-rollen label{display:block!important;margin:0!important;border:1px solid #E7E4DA;border-radius:12px;padding:10px 12px;cursor:pointer}
.pr-rollen label.on{border-color:var(--green,#1D5A2E);box-shadow:0 0 0 1px var(--green,#1D5A2E) inset}.pr-rollen input{display:none}.pr-rollen b{display:block;font-size:14px;font-weight:600;color:var(--coal,#2C2C2A)}.pr-rollen small{font-size:12px;color:#8A8985;line-height:1.35}
.pr-re{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin-top:4px}.pr-re .zg-c{margin:0!important;color:var(--coal,#2C2C2A);font-size:14px}
body.nur-lesen #inhalt .e-fuss,body.nur-lesen #inhalt #eSave,body.nur-lesen #inhalt button[onclick*="peichern"]{display:none!important}
@media (max-width:600px){.pr-rollen,.pr-re{grid-template-columns:1fr}}

/* ---------- Personalakte wie e2n (akte2.js) ---------- */
.a2-radio{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:4px 0 14px}
.a2-radio label{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;cursor:pointer;background:#fff;position:relative}
.a2-radio label input{position:absolute;opacity:0;pointer-events:none}
.a2-radio label b{font-size:14px}
.a2-radio label small{color:#6b6b6b;font-size:12px;line-height:1.4}
.a2-radio label.on{border-color:var(--green);box-shadow:0 0 0 2px rgba(29,90,46,.15);background:var(--cream)}
.a2-tage{display:flex;gap:6px;flex-wrap:wrap}
.a2-tage label{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:36px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-size:13px;background:#fff}
.a2-tage label input{display:none}
.a2-tage label.on{background:var(--green);color:#fff;border-color:var(--green)}

/* ---------- Zuschläge wie e2n (zuschlag2.js) ---------- */
.z2-gr{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;background:#fff}
.z2-gr.auf{border-color:var(--green)}
.z2-grk{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;cursor:pointer;font-size:16px}
.z2-anz{font-size:12px;border:1px solid var(--line);border-radius:8px;padding:2px 8px}
.z2-grb{padding:4px 16px 16px}
.z2-sek{border:1px solid var(--line);border-radius:10px;margin:16px 0 0;overflow:visible}
.z2-sk{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--cream);border-bottom:1px solid var(--line);border-radius:10px 10px 0 0;font-weight:500}
.z2-sk .btn.k{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.z2-zeile{display:grid;grid-template-columns:1.3fr 1fr 1.4fr 1.3fr auto 32px;gap:12px;align-items:center;padding:12px 14px;border-top:1px solid var(--line);cursor:pointer}
.z2-sek .z2-zeile:first-of-type{border-top:0}
.z2-zeile:hover{background:#fafaf7}
.z2-zeile b{display:block;font-weight:600;font-size:14px}
.z2-zeile small{display:block;color:#6b6b6b;font-size:12px;margin-top:2px}
.z2-chip{display:inline-block;color:#fff;font-size:11px;font-weight:600;border-radius:6px;padding:2px 7px;margin:0 4px 3px 0;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
.z2-badges{display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.z2-b{background:#5f5e5a;color:#fff;font-size:11px;border-radius:6px;padding:2px 8px;white-space:nowrap}
.z2-b.hell{background:var(--cream);color:#444;border:1px solid var(--line)}
.z2-weg{opacity:.5}.z2-weg:hover{opacity:1;color:var(--rasp)}
.z2-plus{position:relative;display:inline-block}
.z2-menu{display:none;position:absolute;top:32px;left:0;z-index:30;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);min-width:200px;padding:6px 0}
.z2-menu.on{display:block}
.z2-menu a{display:block;padding:7px 14px;font-weight:400;cursor:pointer;color:inherit}
.z2-menu a:hover{background:var(--cream)}
.z2-min{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 4px 0;border-bottom:1px solid var(--line);padding-bottom:12px}
.z2-min>span{font-weight:500;min-width:240px}
.z2-ma summary{list-style:none;cursor:pointer;display:flex;align-items:center}
.z2-ma>div{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:8px;margin-top:6px;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px}
.z2-ft{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px;max-height:240px;overflow:auto}
@media (max-width:760px){.z2-zeile{grid-template-columns:1fr 1fr;}.z2-badges{align-items:flex-start}}

/* Urlaubssperre: Jahreskalender wie e2n */
.us-jahr{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}
.us-mon b{display:block;font-weight:600;margin-bottom:6px}
.us-gr{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;font-size:11px;text-align:center}
.us-wt{color:#888;font-size:10px}
.us-t{padding:3px 0;border-radius:5px}
.us-t.fe{background:#E6F1FB}.us-t.ft{background:#F6D9E6;color:#8a1d4c;font-weight:600}.us-t.sp{background:var(--rasp);color:#fff;font-weight:600}
.us-dot{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:middle}.us-dot.fe{background:#E6F1FB;border:1px solid #b8d4ee}.us-dot.ft{background:#F6D9E6}.us-dot.sp{background:var(--rasp)}
.kach-l .wi{color:#fff!important}
.w-teile{margin-top:12px}.w-teile .kach{padding:10px 14px}.w-teile .kach-r small{display:block}
/* Dienstplan-Tageskopf wie e2n: Ring, Plan/Ist-Balken, Tagesmenü */
.plan .kz .tg{display:flex;align-items:center;gap:4px}
.dp-menu{margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:6px;width:22px;height:20px;line-height:16px;font-size:13px;cursor:pointer;padding:0;color:#555}
.plan .kz.heute .dp-menu{background:rgba(255,255,255,.2);color:#fff;border-color:rgba(255,255,255,.4)}
.dp-ring{position:relative;width:46px;height:46px;margin:6px auto 2px}.dp-ring svg{width:46px;height:46px}.dp-ring span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}
.dp-bar{position:relative;height:5px;background:#eee;border-radius:4px;margin-top:5px;overflow:hidden}.dp-bar i{position:absolute;left:0;top:0;height:5px;background:#2FA36B;border-radius:4px}.dp-bar i.ist{top:auto;bottom:0;height:2px;background:#3E8FD0}
.dp-ist{font-size:10px;opacity:.75;margin-top:2px}
/* Mitarbeiterliste wie e2n */
.ma-tab th.srt{cursor:pointer;user-select:none;white-space:nowrap}.srt-i{color:#bbb;font-size:10px}
.ma-dot{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle}
.ma-stern{font-size:17px}
.ma-ic svg{width:16px;height:16px;fill:none;stroke:#C9C6BD;stroke-width:1.8;margin-right:4px;vertical-align:middle}.ma-ic.an svg{stroke:#2C6FB7}
.kal-pinsel{display:inline-flex;gap:6px;align-items:center;padding:4px 6px;border-radius:10px;border:1px dashed var(--line)}.kal-pinsel.an{border-color:var(--green);background:#EEF6EE}.kal-pinsel select{width:auto}.kal-pinsel small{color:var(--green)}
/* Termine: Monatskalender wie e2n */
.tm-wrap{display:grid;grid-template-columns:200px 1fr;gap:16px}@media(max-width:800px){.tm-wrap{grid-template-columns:1fr}}
.tm-kal{display:flex;flex-direction:column;gap:2px}.tm-kal b{margin-bottom:6px;font-weight:500}.tm-kal a{padding:7px 10px;border-radius:8px;cursor:pointer;color:#2C6FB7}.tm-kal a.on{background:#3E8FD0;color:#fff}
.tm-gr{display:grid;grid-template-columns:44px repeat(7,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}
.tm-wt{text-align:right;padding:6px 8px;font-size:12px;font-weight:600;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.tm-kw{font-size:10px;color:#999;padding:6px 4px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fafaf7}
.tm-tag{min-height:84px;padding:4px 6px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;font-size:12px}.tm-tag:hover{background:#fafaf7}
.tm-tag.aus{background:#f6f5f1;color:#aaa}.tm-tag.heute .tm-n{background:var(--rasp);color:#fff;border-radius:10px;padding:0 6px}
.tm-n{float:right}.tm-ft{display:block;color:var(--rasp);font-size:10px;clear:both}.tm-e{clear:both;background:#3E8FD0;color:#fff;border-radius:5px;padding:2px 5px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dk-typ{display:inline-flex;width:34px;height:34px;border-radius:50%;background:#EF6A5B;color:#fff;font-size:9px;font-weight:700;align-items:center;justify-content:center}
.dk-ic{display:inline-flex;width:22px;height:22px;border-radius:50%;background:#C9C6BD;color:#fff;font-size:11px;align-items:center;justify-content:center;margin-right:4px}.dk-ic.an.frei{background:#2FA36B}.dk-ic.an.vertr{background:#F0A04B}
/* Auswertungen: Reiter wie e2n */
.aw-nav{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:10px}.aw-nav button{flex:1;min-width:120px;background:none;border:0;border-bottom:2px solid transparent;padding:10px 12px;cursor:pointer;color:#2C6FB7;font:inherit}.aw-nav button.on{border-color:#3E8FD0;color:#1a1a1a;font-weight:500}
.aw-sub{display:flex;align-items:center;gap:8px;margin:0 0 12px}.aw-sub b{font-size:20px;font-weight:500}
.vs-dot{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:-2px}.vs-dot.rot{background:var(--rasp)}.vs-dot.gr{background:var(--green)}
/* Schichten: Mitarbeiter-Leiste mit Auslastung (Drag & Drop) wie e2n */
.sch-layout{display:grid;grid-template-columns:1fr 64px;gap:8px;align-items:start}
.sch-ma{position:sticky;top:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px 4px;display:flex;flex-direction:column;gap:8px;align-items:center;max-height:80vh;overflow:auto}
.sch-ma-k{font-size:16px}.sch-ma-p{display:flex;flex-direction:column;align-items:center;cursor:grab}.sch-ma-p small{font-size:10px;background:#eee;border-radius:6px;padding:0 5px;margin-top:2px}.sch-ma-p small.gut{background:#DDF1E4;color:#1D5A2E}.sch-ma-p small.ueber{background:#FBE4EC;color:var(--rasp)}
.sch.offen.drop{outline:3px dashed #2C6FB7;outline-offset:2px}

.hl-tip{position:fixed;z-index:9999;display:none;max-width:280px;background:#1F3D2B;color:#EFEDE3;font-size:12.5px;line-height:1.35;padding:7px 10px;border-radius:8px;pointer-events:none;box-shadow:0 4px 14px rgba(0,0,0,.18)}
[data-tip]{cursor:help}
