/* Zeiterfassung: Karte „Arbeitszeit“ auf Heute (.az-*), Screen „Meine Arbeitszeit“ (.zz-*), Sheets (.zf-*).
   .zz-nav, .zz-leer, .zz-laedt, .zz-hinweis nutzt auch arbeitszeiten.css. */

/* Karte auf Heute */
.az-slot:empty { display:none; }
.az-karte { padding:12px 14px 14px; }
.az-o { display:flex; align-items:center; gap:12px; }
.az-o .ichip { width:34px; height:34px; }
.az-zustand { font-size:15.5px; }
.az-knoepfe { display:flex; gap:10px; margin-top:12px; }
.az-knoepfe .knopf { flex:1; height:44px; font-size:15px; }

/* Einstieg auf dem Personenscreen (Leitung) */
.person .p-arbeitszeit { margin-top:12px; }

/* Screen */
.zeiten .sek { margin:20px 4px 8px; }
.zz-nav { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:12px; }
.zz-nav-t { flex:1; text-align:center; font:600 15px/20px var(--schrift); color:var(--navy); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.zz-pfeil { width:40px; height:40px; border-radius:50%; display:grid; place-items:center; background:#fff; border:1px solid var(--linie); color:var(--navy);
  box-shadow:var(--schatten); transition:transform .2s var(--ios); }
.zz-pfeil.gedrueckt { transform:scale(.92); }
.zz-kpi { margin-top:12px; }
.zz-kpi b { font-size:21px; line-height:28px; }
.zz-kpi b.plus { color:var(--gruen); }
.zz-kpi b.minus { color:var(--rot); }
.zz-unter { margin:8px 6px 0; line-height:17px; }
.zz-leer { margin-top:16px; }
.zz-laedt { margin-top:16px; padding:22px 16px; text-align:center; }
.zz-hinweis { display:flex; align-items:center; justify-content:center; gap:6px; margin-top:20px; padding:0 12px; }

.zz-aktionen { display:flex; gap:8px; margin-top:14px; }
.zz-aktion { flex:1; display:flex; flex-direction:column; align-items:center; gap:6px; padding:12px 6px 10px; background:#fff; border:1px solid var(--linie);
  border-radius:16px; box-shadow:var(--schatten); transition:transform .25s var(--ios); }
.zz-aktion.gedrueckt { transform:scale(.96); transition-duration:.1s; }
.zz-ak-icon { width:34px; height:34px; border-radius:10px; display:grid; place-items:center; background:var(--navy-bg); color:var(--navy); }
.zz-ak-l { font:600 13px/16px var(--schrift); color:var(--navy); }

.zz-tage .zeile { align-items:flex-start; gap:12px; min-height:56px; padding-top:10px; padding-bottom:10px; }
.zz-tage .zeile + .zeile::before { left:46px; }
.zz-datum { width:34px; flex:none; display:flex; flex-direction:column; align-items:center; padding-top:1px; }
.zz-datum span { font:600 11px/14px var(--schrift); letter-spacing:.04em; text-transform:uppercase; color:var(--taupe-tief); }
.zz-datum b { font:700 19px/22px var(--schrift); letter-spacing:-.02em; color:var(--navy); }
.zz-tag.heute .zz-datum b { color:#fff; background:var(--navy); border-radius:9px; width:30px; text-align:center; }
.zz-tag.frei .zz-datum b, .zz-tag.feiertag .zz-datum b { color:var(--text3); }
.zz-tag .zt { padding-top:2px; }
.zz-tag .zt .t2 { white-space:normal; margin-top:2px; }
.zz-bloecke { display:flex; flex-wrap:wrap; gap:6px; }
.zz-block { height:28px; padding:0 10px; border-radius:9px; background:var(--navy-bg); color:var(--navy); font:600 13.5px/28px var(--schrift);
  transition:transform .2s var(--ios), opacity .2s; }
.zz-block.offen { background:var(--gruen-bg); color:var(--gruen); }
.zz-block.nachtrag { background:var(--taupe-bg); color:var(--taupe-tief); }
.zz-block.gedrueckt { transform:scale(.95); }
.zz-pillen { display:flex; flex-wrap:wrap; gap:5px; margin-top:6px; }
.zz-ist { flex:none; display:flex; flex-direction:column; align-items:flex-end; gap:1px; padding-top:2px; min-width:56px; }
.zz-ist b { font:700 16px/22px var(--schrift); color:var(--navy); letter-spacing:-.01em; }

.zz-abw .zeile, .zz-aend .zeile { min-height:56px; }
.zz-abw .zeile .pille { flex:none; }
.zz-aend .zeile { align-items:flex-start; padding-top:11px; padding-bottom:11px; }
.zz-aend .zt .t1, .zz-aend .zt .t2 { white-space:normal; }
.zz-aend .ichip { width:30px; height:30px; border-radius:9px; }
.zz-umbruch { white-space:normal !important; }

/* Sheets */
.zf .feld-zeile > .feld-l { width:96px; }
.zf input[type="date"], .zf input[type="time"] { text-align:left; min-height:50px; }
.zf-grund { margin-top:0; }
.zf-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.zf-tage .chip { min-width:44px; justify-content:center; padding:0 10px; }
.zf-hinweis { margin:8px 4px 0; }
.zf-info { margin:12px 4px 0; white-space:normal; line-height:19px; color:var(--navy); }
.zf-tipp { margin:10px 4px 0; white-space:normal; line-height:17px; }
.zf-tipp.oben { margin:0 4px 12px; font-size:13px; line-height:18px; }
.zf-fehler { margin:10px 4px 0; color:var(--rot); font-weight:500; white-space:normal; }
.zf-fehler[hidden], .zf-hinweis[hidden] { display:none; }
.zf-ruhig { display:flex; align-items:center; gap:12px; margin-top:12px; padding:12px 14px; }
.zf-ruhig .t2 { white-space:normal; }
.zf-einst .feld-zeile .zt .t2 { white-space:normal; }
.zf-einst .feld-zeile { min-height:60px; }
