/* Zeitkonto, Monatsblatt, Team, Abwesenheitskalender, Abschlüsse */
.zk-monat { display: flex; align-items: center; gap: 6px; }
.zk-monat input[type="date"] { height: 32px; width: 11rem; }
.zk-tab tr.frei td { color: var(--text-muted); background: #fafbfb; }
.zk-tab tr.luecke td:first-child { box-shadow: inset 3px 0 0 #d48a16; }
.zk-tab td.minus { color: #b8382c; }
.zk-tab td.plus { color: var(--petrol-text); }
.zk-buchung { display: inline-block; margin: 0 6px 2px 0; font-size: 11.5px; color: var(--text-muted); }
.zk-kal { overflow-x: auto; }
.zk-kal table { border-collapse: collapse; font-size: 11.5px; }
.zk-kal th, .zk-kal td { border: 1px solid var(--line-soft); padding: 2px 3px; text-align: center; min-width: 22px; }
.zk-kal th.we, .zk-kal td.we { background: #f1f4f3; color: var(--text-muted); }
.zk-kal th.ft, .zk-kal td.ft { background: #fdf3e3; }
.zk-kal td.person { text-align: left; white-space: nowrap; padding: 2px 8px; font-weight: 600; min-width: 11rem; position: sticky; left: 0; background: var(--surface); }
.zk-kal th.person { text-align: left; position: sticky; left: 0; background: #f4f6f5; z-index: 2; }
.zk-kal td.code { font-weight: 700; cursor: default; }
.zk-kal td.code.U { background: #dcebe9; color: #0f6a63; } .zk-kal td.code.K { background: #f6dcd8; color: #8a2a21; } .zk-kal td.code.ZA { background: #e4e9f5; color: #2d4a8a; }
.zk-kal td.code.WB, .zk-kal td.code.DR { background: #ece4f3; color: #5b3b86; } .zk-kal td.code.PF, .zk-kal td.code.SU, .zk-kal td.code.SO { background: #f3ecd6; color: #7a5a10; }
.zk-kal td.code.beantragt { outline: 2px dashed #d48a16; outline-offset: -2px; cursor: pointer; }
.zk-legende { display: flex; flex-wrap: wrap; gap: 10px; font-size: 12px; color: var(--text-muted); }
.zk-legende span b { display: inline-block; min-width: 24px; padding: 0 4px; margin-right: 4px; text-align: center; border-radius: 4px; background: #e3efee; color: var(--petrol-text); }
.zk-abschluss { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.zk-abschluss .card { padding: 10px 12px; }
.zk-abschluss .card h4 { margin: 0 0 4px; font-size: 13px; }
.zk-abschluss .card.gesperrt { background: #f4f6f5; }
.zk-abschluss .card .zk-knoepfe { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
