/* ============================================================
   MVZ Dienstplan — Etappe 4 (Urlaub, Sync, Einstellungen, Berichte)
   ============================================================ */

/* ── Urlaubsplan: Jahresansicht ── */
.year-grid{display:grid;grid-template-columns:repeat(12,1fr);border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden;background:var(--c-surface);min-width:900px}
.yr-month{border-right:1px solid var(--c-border)}
.yr-month:last-child{border-right:none}
.yr-mhead{background:var(--c-surface2);padding:6px 3px;text-align:center;border-bottom:1px solid var(--c-border);font-size:10px;font-weight:600;color:var(--c-accent);position:sticky;top:0;z-index:5}
.yr-day{min-height:20px;border-bottom:1px solid var(--c-border2);display:flex;align-items:center;padding:1px 3px;position:relative;font-size:8px;color:var(--c-text3);gap:2px}
.yr-day:last-child{border-bottom:none}
.yr-day.feiertag{background:#FEF3C7}
.yr-day.schulferien{background:#D1FAE5}
.yr-day.we{background:var(--c-surface2)}
.yr-day.leer{background:var(--c-surface2);opacity:.3}
.yr-num{min-width:14px;color:var(--c-text3)}
.yr-k{font-size:7px;font-weight:600;padding:0 2px;border-radius:2px}

/* ── Urlaubsplan: Monatsansicht (MA Zeilen) ── */
.month-table{border-collapse:collapse;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden;min-width:700px}
.month-table th{background:var(--c-surface2);border-bottom:1px solid var(--c-border);padding:5px 3px;font-size:9px;font-weight:600;color:var(--c-text3);text-align:center;white-space:nowrap}
.month-table th.namecol{position:sticky;left:0;z-index:6;text-align:left;padding-left:10px;min-width:140px}
.month-table th.we{background:#F0EEE9;color:var(--c-text3)}
.month-table th.ft{background:#FEF3C7;color:#92400E}
.month-table th.sf{background:#D1FAE5;color:#15803D}
.month-table td{border-right:1px solid var(--c-border2);border-bottom:1px solid var(--c-border2);height:26px;text-align:center;vertical-align:middle;min-width:26px}
.month-table td.namecol{position:sticky;left:0;z-index:2;background:var(--c-surface);text-align:left;padding:3px 10px;border-right:1px solid var(--c-border)}
.month-table tr:hover td.namecol{background:var(--c-surface2)}
.month-table td.we{background:var(--c-surface2)}
.month-table td.ft{background:#FEF3C7}
.month-table td.sf{background:#D1FAE5}
.mt-k{font-size:9px;font-weight:600;padding:1px 4px;border-radius:3px}

/* ── Urlaubsplan: Kalenderansicht (4 Monate) ── */
.cal4-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cal4-month{border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface);padding:12px;box-shadow:var(--shadow)}
.cal4-title{font-size:13px;font-weight:600;margin-bottom:10px;text-align:center;color:var(--c-accent2)}
.cal4-week{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cal4-dh{font-size:9px;font-weight:600;color:var(--c-text3);text-align:center;padding:2px 0}
.cal4-day{min-height:40px;border-radius:var(--r-sm);display:flex;flex-direction:column;align-items:center;padding:3px 1px;font-size:11px;color:var(--c-text2);background:var(--c-surface2)}
.cal4-day.ft{background:#FEF3C7}
.cal4-day.sf{background:#D1FAE5}
.cal4-day.we{background:#F0EEE9;color:var(--c-text3)}
.cal4-day.leer{background:transparent}
.cal4-ks{display:flex;flex-wrap:wrap;gap:1px;justify-content:center;margin-top:2px}
.cal4-k{font-size:7px;font-weight:600;padding:0 2px;border-radius:2px}

.legende{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:10px;color:var(--c-text3)}
.leg-box{display:flex;align-items:center;gap:5px}
.leg-c{width:11px;height:11px;border-radius:3px}

/* ── Sync-Seite ── */
.pending-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--c-yellow-l);border:1px solid #F4D4B0;border-radius:var(--r-md);margin-bottom:6px}
.pending-info{flex:1}
.pending-name{font-size:11px;font-weight:500}
.pending-detail{font-size:10px;color:#92400E;margin-top:1px}
.accept-btn{font-size:10px;padding:3px 9px;border-radius:var(--r-sm);background:var(--c-accent-l);border:1px solid var(--c-accent-t);color:var(--c-accent2);cursor:pointer;font-weight:500}
.reject-btn{font-size:10px;padding:3px 9px;border-radius:var(--r-sm);background:var(--c-warn-l);border:1px solid var(--c-warn);color:var(--c-warn);cursor:pointer;font-weight:500}
.log-row{display:flex;align-items:flex-start;gap:10px;padding:7px 0;border-bottom:1px solid var(--c-border2);font-size:11px}
.log-row:last-child{border-bottom:none}
.log-time{color:var(--c-text3);white-space:nowrap;min-width:120px;font-family:'DM Mono',monospace;font-size:10px}

/* ── Einstellungen ── */
.settings-layout{display:grid;grid-template-columns:180px 1fr;flex:1;overflow:hidden}
.settings-nav{background:var(--c-surface);border-right:1px solid var(--c-border);padding:10px 8px;overflow-y:auto}
.settings-nav-item{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:var(--r-sm);font-size:11px;font-weight:500;color:var(--c-text2);cursor:pointer;border:none;background:transparent;width:100%;text-align:left;margin-bottom:1px}
.settings-nav-item:hover{background:var(--c-surface2);color:var(--c-text)}
.settings-nav-item.active{background:var(--c-accent-l);color:var(--c-accent2);font-weight:600}
.settings-nav-item i{font-size:14px;width:16px}
.settings-content{overflow-y:auto;padding:20px 24px}
.s-section{display:none}
.s-section.active{display:block}
.s-title{font-size:15px;font-weight:600;margin-bottom:4px}
.s-sub{font-size:11px;color:var(--c-text3);margin-bottom:16px}
.toggle-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--c-border2)}
.toggle-row:last-child{border-bottom:none}
.toggle-body{flex:1}
.toggle-lbl{font-size:12px;font-weight:500}
.toggle-sub{font-size:10px;color:var(--c-text3);margin-top:1px}
.year-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--c-border2);font-size:12px}
.year-row:last-child{border-bottom:none}

/* ── Statistik-Dashboard ── */
.stat-bar-row{display:flex;align-items:center;gap:10px;padding:6px 0}
.stat-bar-name{display:flex;align-items:center;gap:7px;width:150px;font-size:11px;font-weight:500}
.stat-bar-track{flex:1;height:14px;background:var(--c-surface2);border-radius:7px;overflow:hidden}
.stat-bar-fill{height:100%;background:var(--c-accent-t);border-radius:7px}
.stat-bar-val{font-size:11px;color:var(--c-text2);min-width:50px;text-align:right}

/* ── Berichte ── */
.report-emp{border:1px solid var(--c-border);border-radius:var(--r-md);padding:12px 14px;margin-bottom:8px;background:var(--c-surface)}
.report-emp-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.report-emp-name{font-size:12px;font-weight:600;flex:1}
.report-emp-total{font-size:11px;font-weight:600;color:var(--c-warn)}
.report-period{font-size:11px;color:var(--c-text2);padding:3px 0;display:flex;gap:8px}
.report-period i{color:var(--c-text3);font-size:12px}
