.personnel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.personnel-heading h1{margin:0;font-size:2rem}.personnel-heading p{margin:5px 0 0;color:var(--bs-muted,#66758a)}.personnel-year-navigation{display:flex;align-items:center;gap:8px}.personnel-year-navigation>strong{min-width:82px;text-align:center;font-size:1.15rem}.personnel-kpis{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:10px;margin-bottom:16px}.personnel-kpis article{position:relative;display:flex;min-height:92px;flex-direction:column;justify-content:center;gap:4px;overflow:hidden;border:1px solid var(--bs-line,#d9e3ee);border-radius:12px;background:#fff;padding:14px 16px;box-shadow:var(--bs-shadow)}.personnel-kpis article::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#9aa9ba}.personnel-kpis .vacation::before{background:#0b67e8}.personnel-kpis .free::before{background:#07909a}.personnel-kpis .sick::before{background:#d54a43}.personnel-kpis .night::before{background:#7654c7}.personnel-kpis span,.personnel-kpis small{color:var(--bs-muted,#66758a);font-size:.78rem}.personnel-kpis strong{font-size:1.15rem}.personnel-workspace{display:grid;grid-template-columns:minmax(620px,1.45fr) minmax(300px,.55fr);gap:16px;align-items:start;margin-bottom:16px}.personnel-editor .panel-heading>div,.personnel-allowance .panel-heading>div{display:grid;gap:4px}.personnel-editor .panel-heading small,.personnel-allowance .panel-heading small{color:var(--bs-muted,#66758a)}.personnel-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.personnel-form-grid .full-width{grid-column:1/-1}.personnel-count-note{margin:10px 0 0;color:var(--bs-muted,#66758a);font-size:.78rem}.personnel-allowance{display:grid;gap:13px}.personnel-allowance .panel-heading{margin-bottom:0}.personnel-allowance-preview{display:grid;grid-template-columns:1fr auto;gap:7px 12px;border-radius:9px;background:var(--bs-panel-soft,#f8fafd);padding:12px}.personnel-allowance-preview span{color:var(--bs-muted,#66758a);font-size:.8rem}.personnel-allowance-preview strong{font-size:.9rem}.personnel-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}.personnel-section-heading>div{display:grid;gap:4px}.personnel-section-heading h2{margin:0;font-size:1.15rem}.personnel-section-heading span{color:var(--bs-muted,#66758a);font-size:.8rem}.personnel-section-heading>.count-badge{color:var(--bs-ink-soft,#52647d)}.personnel-statistics{padding:0;overflow:hidden;margin-bottom:16px}.personnel-statistics>.personnel-section-heading{padding:18px 20px 0}.personnel-statistics>.empty-state,.personnel-statistics>.muted{margin:0 20px 18px}.personnel-statistics-table{width:100%;border-collapse:collapse}.personnel-statistics-table th,.personnel-statistics-table td{border-top:1px solid var(--bs-line,#d9e3ee);padding:12px 16px;text-align:left;vertical-align:middle}.personnel-statistics-table th{background:var(--bs-panel-soft,#f8fafd);color:var(--bs-muted,#66758a);font-size:.74rem;text-transform:uppercase;letter-spacing:.03em}.personnel-statistics-table td{font-size:.86rem}.personnel-statistics-table td small{display:block;margin-top:3px;color:var(--bs-muted,#66758a)}.personnel-statistics-table tr.inactive{opacity:.58}.personnel-statistics-table .negative{color:var(--bs-red-700,#b3261e)}.vacation-progress{display:block;width:118px;height:5px;margin-top:6px;overflow:hidden;border-radius:9px;background:#e5edf5}.vacation-progress i{display:block;height:100%;border-radius:inherit;background:#0b67e8}.personnel-entries{margin-bottom:16px}.personnel-entry-list{display:grid;gap:18px}.personnel-month-group{display:grid;gap:7px}.personnel-month-group h3{margin:0 0 2px;color:var(--bs-muted,#66758a);font-size:.76rem;text-transform:uppercase;letter-spacing:.055em}.personnel-entry{display:grid;grid-template-columns:82px minmax(220px,.8fr) minmax(180px,1fr) auto;align-items:center;gap:14px;border:1px solid var(--bs-line,#d9e3ee);border-left-width:4px;border-radius:9px;padding:11px 13px}.personnel-entry.vacation{border-left-color:#0b67e8}.personnel-entry.free{border-left-color:#07909a}.personnel-entry.sick{border-left-color:#d54a43}.personnel-type-badge{display:inline-flex;justify-content:center;border-radius:999px;padding:5px 9px;background:#eaf3ff;color:#0759d3;font-size:.75rem;font-weight:750}.personnel-entry.free .personnel-type-badge{background:#e6f8f6;color:#087b7f}.personnel-entry.sick .personnel-type-badge{background:#fff0ee;color:#b3261e}.personnel-entry>div:nth-child(2){display:grid;gap:3px}.personnel-entry small,.personnel-entry-note{color:var(--bs-muted,#66758a);font-size:.8rem}.personnel-entry-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.danger-text{color:var(--bs-red-700,#b3261e)!important}.danger-button{border:1px solid #d54a43;border-radius:8px;background:#fff0ee;color:#a82720;padding:8px 10px;font:inherit;font-weight:700;cursor:pointer}.danger-button.compact{min-height:34px;font-size:.76rem}
@media(max-width:1180px){.personnel-kpis{grid-template-columns:repeat(3,1fr)}.personnel-workspace{grid-template-columns:1fr}.personnel-entry{grid-template-columns:82px 1fr auto}.personnel-entry-note{grid-column:2/3}.personnel-entry-actions{grid-row:1/3;grid-column:3}}
@media(max-width:760px){.personnel-heading{align-items:stretch;flex-direction:column}.personnel-year-navigation{display:grid;grid-template-columns:auto 1fr auto auto}.personnel-kpis{grid-template-columns:1fr 1fr}.personnel-kpis article:first-child{grid-column:1/-1}.personnel-form-grid{grid-template-columns:1fr}.personnel-statistics-table thead{display:none}.personnel-statistics-table,.personnel-statistics-table tbody,.personnel-statistics-table tr,.personnel-statistics-table td{display:block}.personnel-statistics-table tr{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--bs-line,#d9e3ee);padding:10px 14px}.personnel-statistics-table td{border:0;padding:6px 4px}.personnel-statistics-table td::before{content:attr(data-label);display:block;margin-bottom:3px;color:var(--bs-muted,#66758a);font-size:.68rem;text-transform:uppercase}.personnel-entry{grid-template-columns:1fr;gap:8px}.personnel-entry-note,.personnel-entry-actions{grid-column:auto;grid-row:auto}.personnel-entry-actions{justify-content:flex-start;flex-wrap:wrap}.personnel-type-badge{justify-self:start}.personnel-section-heading{align-items:flex-start}.vacation-progress{width:100%}}

/* Personalstatistik ohne Urlaubsanspruch: Eingabe nutzt die volle Breite. */
.personnel-kpis{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
.personnel-kpis .sunday::before{background:#df8b16}
.personnel-kpis .holiday::before{background:#c23d73}
.personnel-editor{margin-bottom:16px}
.personnel-form-grid{grid-template-columns:1.3fr .8fr 1fr 1fr}
@media(max-width:1180px){.personnel-form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.personnel-form-grid{grid-template-columns:1fr}}

.personnel-calendar-toggle{min-width:182px;white-space:nowrap}
.personnel-calendar-panel{margin-bottom:16px;padding:20px}
.personnel-calendar-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}
.personnel-calendar-heading h2{margin:0;font-size:1.2rem}
.personnel-calendar-heading p{margin:5px 0 0;color:var(--bs-muted,#66758a);font-size:.82rem}
.personnel-calendar-legend{display:flex;max-width:62%;flex-wrap:wrap;justify-content:flex-end;gap:7px 12px}
.personnel-calendar-legend>span{display:inline-flex;align-items:center;gap:6px;color:var(--bs-ink-soft,#52647d);font-size:.75rem;white-space:nowrap}
.personnel-calendar-legend i{width:10px;height:10px;border-radius:3px;background:hsl(var(--employee-hue) 68% 48%)}
.personnel-year-calendar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.personnel-calendar-month{overflow:hidden;border:1px solid var(--bs-line,#d9e3ee);border-radius:10px;background:#fff}
.personnel-calendar-month h3{margin:0;padding:11px 12px 9px;background:var(--bs-panel-soft,#f8fafd);font-size:.92rem;text-transform:capitalize}
.personnel-calendar-weekdays,.personnel-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.personnel-calendar-weekdays{border-top:1px solid var(--bs-line,#d9e3ee);border-bottom:1px solid var(--bs-line,#d9e3ee);background:#fbfcfe}
.personnel-calendar-weekdays span{padding:5px 2px;color:var(--bs-muted,#66758a);font-size:.62rem;font-weight:750;text-align:center;text-transform:uppercase}
.personnel-calendar-day{position:relative;display:flex;min-width:0;min-height:50px;flex-direction:column;gap:3px;border-right:1px solid #edf1f5;border-bottom:1px solid #edf1f5;padding:4px}
.personnel-calendar-day:nth-child(7n){border-right:0}
.personnel-calendar-day.empty{background:#fbfcfe}
.personnel-calendar-day.weekend{background:#f3f5f8;color:#8b96a5}
.personnel-calendar-day.holiday{background:#fff7f3;color:#a84236}
.personnel-calendar-day.today{box-shadow:inset 0 0 0 2px var(--bs-blue-600,#0b67e8)}
.personnel-calendar-day>b{font-size:.7rem;line-height:1}
.personnel-calendar-day>small{position:absolute;top:4px;right:5px;color:#b3261e;font-size:.58rem;font-weight:800}
.personnel-calendar-markers{display:flex;min-width:0;flex-wrap:wrap;gap:2px;margin-top:auto}
.personnel-calendar-markers i{display:inline-flex;width:19px;height:16px;align-items:center;justify-content:center;border:1px solid hsl(var(--employee-hue) 62% 42%);border-radius:4px;background:hsl(var(--employee-hue) 76% 91%);color:hsl(var(--employee-hue) 70% 28%);font-size:.51rem;font-style:normal;font-weight:800;line-height:1}
.personnel-calendar-markers i.taken{background:hsl(var(--employee-hue) 68% 48%);color:#fff}.personnel-calendar-markers i.planned{border-style:dashed}
@media(max-width:1250px){.personnel-year-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.personnel-calendar-heading{align-items:stretch;flex-direction:column}.personnel-calendar-legend{max-width:none;justify-content:flex-start}}
@media(max-width:760px){.personnel-year-navigation{grid-template-columns:auto 1fr auto auto}.personnel-calendar-toggle{grid-column:1/-1;width:100%}.personnel-year-calendar{grid-template-columns:1fr}.personnel-calendar-panel{padding:14px}.personnel-calendar-day{min-height:46px}}

/* Jahresübersicht: gut erfassbare Mitarbeiterkarten statt einer breiten Datentabelle. */
.personnel-statistics{padding:20px;overflow:visible}
.personnel-statistics>.personnel-section-heading{padding:0}
.personnel-employee-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.personnel-employee-card{overflow:hidden;border:1px solid var(--bs-line,#d9e3ee);border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(16,42,75,.045)}
.personnel-employee-card.inactive{opacity:.58}
.personnel-employee-card>header{display:flex;align-items:center;justify-content:flex-start;gap:11px;border-bottom:1px solid #e8eef5;padding:13px 14px;background:linear-gradient(135deg,hsl(var(--employee-hue) 72% 97%),#fff 68%)}
.personnel-employee-avatar{display:inline-flex;width:38px;height:38px;flex:0 0 38px;align-items:center;justify-content:center;border:1px solid hsl(var(--employee-hue) 60% 72%);border-radius:11px;background:hsl(var(--employee-hue) 72% 91%);color:hsl(var(--employee-hue) 68% 30%);font-size:.76rem;font-weight:850}
.personnel-employee-card>header>div{display:grid;gap:2px;min-width:0}
.personnel-employee-card>header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.94rem}
.personnel-employee-card>header small{color:var(--bs-muted,#66758a);font-size:.7rem}
.personnel-employee-metrics{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1px;background:#e8eef5}
.personnel-employee-metrics>div{position:relative;display:grid;grid-column:span 4;grid-template-columns:1fr auto;gap:2px 8px;min-width:0;background:#fff;padding:11px 12px}
.personnel-employee-metrics .vacation-planned,.personnel-employee-metrics .vacation-taken,.personnel-employee-metrics .free,.personnel-employee-metrics .sick{grid-column:span 3}
.personnel-employee-metrics>div::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#7d8fa7}
.personnel-employee-metrics .vacation-planned::before{background:#66a6ee}.personnel-employee-metrics .vacation-taken::before{background:#0b67e8}.personnel-employee-metrics .free::before{background:#07909a}.personnel-employee-metrics .sick::before{background:#d54a43}.personnel-employee-metrics .night::before{background:#7654c7}.personnel-employee-metrics .sunday::before{background:#df8b16}.personnel-employee-metrics .holiday::before{background:#c23d73}
.personnel-employee-metrics span{overflow:hidden;color:var(--bs-ink-soft,#52647d);font-size:.7rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.personnel-employee-metrics strong{grid-row:1/3;grid-column:2;align-self:center;font-size:1.08rem;font-variant-numeric:tabular-nums}
.personnel-employee-metrics small{color:var(--bs-muted,#66758a);font-size:.64rem}
.personnel-employee-metrics .is-zero{background:#fbfcfe}.personnel-employee-metrics .is-zero::before{opacity:.28}.personnel-employee-metrics .is-zero strong,.personnel-employee-metrics .is-zero small{color:#9aa7b7}
@media(max-width:1100px){.personnel-employee-grid{grid-template-columns:1fr}}
@media(max-width:620px){.personnel-statistics{padding:14px}.personnel-employee-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.personnel-employee-metrics>div,.personnel-employee-metrics .vacation-planned,.personnel-employee-metrics .vacation-taken,.personnel-employee-metrics .free,.personnel-employee-metrics .sick{grid-column:auto}.personnel-employee-metrics .holiday{grid-column:1/-1}}
.personnel-vacation-state{display:inline-flex;margin-left:6px;border-radius:999px;padding:2px 7px;background:#eaf3ff;color:#0759d3;font-size:.64rem;font-style:normal;font-weight:800;vertical-align:1px}.personnel-vacation-state.taken{background:#e8f7ee;color:#0a7440}.personnel-vacation-state.mixed{background:#fff4df;color:#9a5b00}
