/* Zaměstnanci: karta zaměstnance, kalendář nepřítomností, matice kvalifikací, panel úvodní stránky. */

/* ---- karta zaměstnance ---- */
.people-avatar img { width: 100%; height: 100%; object-fit: cover; }
.people-card-header { display: flex; gap: 16px; align-items: flex-start; flex-wrap: wrap; }
.people-card-header__main { flex: 1 1 260px; min-width: 0; }
.people-card-header__actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.people-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.people-timeline { padding-top: 0; }
.people-clamp { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-width: 360px; }
.people-day--off td { color: var(--mud-palette-text-secondary); background: var(--mud-palette-background-gray); }

/* ---- výběr druhu volna: tlačítka, na telefonu pod sebou ---- */
.people-kind-buttons { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.people-kind-buttons .mud-button-root { min-height: 44px; }

/* ---- barvy druhů nepřítomnosti (kalendář, karta, docházka) ---- */
.people-absence-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; vertical-align: middle; }
.people-absence--vacation { background: #4f9aa8; }
.people-absence--sick { background: #c0504d; }
.people-absence--doctor { background: #c07a2c; }
.people-absence--work { background: #7a6fb0; }
.people-absence--home { background: #3f8f5a; }
.people-absence--other { background: #8a8f98; }
.people-absence--hidden { background: var(--mud-palette-lines-inputs); }
.people-absence--pending { background-image: repeating-linear-gradient(45deg, rgba(255, 255, 255, .55) 0 3px, transparent 3px 7px); }
.people-legend { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: .85rem; color: var(--mud-palette-text-secondary); }
.people-legend .people-absence-dot, .people-legend .people-matrix-dot { margin-right: 4px; }

/* ---- kalendář nepřítomností (HeatmapMatrix z 2ndSide, varianta grid) a matice kvalifikací: vodorovně posuvná tabulka s pevným prvním sloupcem ---- */
.people-calendar-wrap { overflow: auto; max-height: calc(100vh - 300px); border: 1px solid var(--mud-palette-lines-default); border-radius: var(--mud-default-borderradius); }
.people-matrix { border-collapse: separate; border-spacing: 0; font-size: .82rem; }
.people-matrix th, .people-matrix td { border-bottom: 1px solid var(--mud-palette-lines-default); border-right: 1px solid var(--mud-palette-lines-default); }
.people-matrix thead th { position: sticky; top: 0; z-index: 2; background: var(--mud-palette-surface); font-weight: 500; }
.people-calendar th span { display: block; font-size: .7rem; color: var(--mud-palette-text-secondary); }
.people-calendar__name { position: sticky; left: 0; z-index: 1; background: var(--mud-palette-surface); text-align: left !important; padding: 4px 8px !important;
    min-width: 180px; max-width: 220px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.people-matrix thead .people-calendar__name { z-index: 3; }
.people-calendar__dept { font-size: .72rem; }
.people-calendar__off { background: var(--mud-palette-background-gray); }
.people-calendar__today { box-shadow: inset 0 0 0 2px var(--mud-palette-primary); }
.people-calendar__cell { color: #fff; font-weight: 600; }
.people-calendar__free:hover { background: rgba(var(--mud-palette-primary-rgb), .12); }
.people-calendar__count { font-weight: 600; color: var(--mud-palette-text-secondary); }
@media (max-width: 599.98px) { .people-calendar__name { min-width: 120px; max-width: 140px; } }

/* ---- matice kvalifikací ---- */
.people-matrix th { min-width: 46px; max-width: 120px; padding: 4px; vertical-align: bottom; }
.people-matrix__qual { display: block; writing-mode: vertical-rl; transform: rotate(180deg); max-height: 140px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin: 0 auto; }
.people-matrix__holders { display: block; font-size: .72rem; color: var(--mud-palette-text-secondary); text-align: center; }
.people-matrix__risk .people-matrix__holders { color: var(--mud-palette-error); font-weight: 600; }
.people-matrix td { height: 30px; text-align: center; padding: 0; }
.people-matrix__cell, .people-matrix__empty { cursor: pointer; }
.people-matrix__empty:hover { background: rgba(var(--mud-palette-primary-rgb), .12); }
.people-matrix-dot { display: inline-block; width: 12px; height: 12px; border-radius: 3px; vertical-align: middle; }
.people-matrix--ok { background: rgba(var(--mud-palette-success-rgb), .25); }
.people-matrix--soon { background: rgba(var(--mud-palette-warning-rgb), .35); }
.people-matrix--bad { background: rgba(var(--mud-palette-error-rgb), .35); }
.people-matrix--missing { background: repeating-linear-gradient(45deg, rgba(var(--mud-palette-error-rgb), .25) 0 4px, transparent 4px 8px); color: var(--mud-palette-error); font-weight: 700; }
.people-matrix--required { box-shadow: inset 0 0 0 2px rgba(var(--mud-palette-error-rgb), .55); }

/* ---- přehled HR a panel úvodní stránky ---- */
.people-bar-row { display: grid; grid-template-columns: minmax(120px, 1fr) 2fr auto; gap: 8px; align-items: center; min-height: 28px; }
.people-bar { display: block; height: 8px; background: var(--mud-palette-background-gray); border-radius: 4px; overflow: hidden; }
.people-bar span { display: block; height: 100%; background: var(--mud-palette-primary); }

/* Přepínač rozsahu (Já / Ke schválení / Tým / Všichni) na telefonu: sloupce podle textu, jinak se popisky ořezávají. */
@media (max-width: 600px) {
    .people-scope {
        max-width: 100%;
        overflow-x: auto;
        grid-template-columns: none !important;
        grid-auto-flow: column;
        grid-auto-columns: max-content;
    }

    .people-scope .mud-toggle-item {
        white-space: nowrap;
    }
}
