/* Module Salariés : compléments au design system (app.css). */

/* Liste */
.emp-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px 20px; flex-wrap: wrap; padding: 8px 20px 0; border-bottom: 1px solid var(--line); }
.emp-tabs { border-bottom: 0; margin-bottom: 0; }
.emp-search { width: min(300px, 100%); margin-bottom: 8px; }
.emp-table .person-name { max-width: 280px; }
.emp-completion { display: flex; align-items: center; gap: 10px; min-width: 120px; }
.emp-completion .progress { flex: 1; min-width: 60px; height: 6px; }
.emp-ok { width: 16px; height: 16px; color: var(--success); opacity: .7; }

/* Création */
.emp-steps { list-style: none; counter-reset: step; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.emp-steps li { counter-increment: step; display: grid; grid-template-columns: 30px 1fr; column-gap: 12px; font-size: .9rem; }
.emp-steps li::before { content: counter(step); grid-row: span 2; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--gold-soft); color: var(--gold-2); font-weight: 700; font-size: .82rem; }
.emp-steps strong { color: var(--ink); }
.emp-steps span { color: var(--ink-2); font-size: .85rem; }

/* Dossier */
.doc-section { scroll-margin-top: 80px; }
.doc-section:target { box-shadow: 0 0 0 3px rgba(184,132,58,.35), var(--shadow-sm); }
.doc-section.is-missing .doc-section-head .sec-icon { background: var(--danger-soft); color: var(--danger); }
.emp-year { margin: 0; }
.emp-year .select { width: auto; min-height: 32px; padding: 4px 30px 4px 10px; font-size: .86rem; font-weight: 600; }
.months .month { text-decoration: none; transition: transform .12s var(--ease), border-color .12s; }
a.month:hover { transform: translateY(-1px); }
.emp-legend { display: flex; gap: 6px 16px; flex-wrap: wrap; }
.emp-legend span { display: inline-flex; align-items: center; gap: 6px; }
.emp-legend .dot-muted { opacity: .6; }
.emp-payslip-upload { display: flex; gap: 8px; align-items: stretch; flex-wrap: wrap; margin: 0; }
.emp-payslip-upload .select { width: auto; min-height: 44px; }
.emp-payslip-upload .dropzone { min-width: 220px; }
.emp-dpae { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 8px 10px; border-radius: 10px; background: var(--surface-2); border: 1px solid var(--line); }
.emp-link-more { margin-left: auto; display: inline-flex; align-items: center; gap: 2px; font-size: .84rem; font-weight: 500; }
.emp-link-more .icon { width: 14px; height: 14px; }
.dz-form { margin: 0; }

/* Colonne latérale */
.emp-aside .card-head .sub { display: block; }
.emp-ring-ok { background: conic-gradient(var(--success) 100%, var(--bg-2) 0); }
.emp-todo { display: inline-flex; align-items: center; justify-content: space-between; gap: 6px; color: var(--ink-2); }
.emp-todo .icon { width: 14px; height: 14px; color: var(--muted); }
.emp-todo:hover { color: var(--gold-2); }
.emp-alerts .alert-row { padding: 12px 18px; gap: 12px; align-items: flex-start; }
.emp-alerts .alert-ico { width: 30px; height: 30px; border-radius: 8px; }
.emp-alerts .alert-ico .icon { width: 16px; height: 16px; }
.emp-calm { display: flex; align-items: center; gap: 10px; color: var(--ink-2); font-size: .9rem; }
.emp-calm .icon { color: var(--success); }
.emp-sensitive { margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--line); }
.emp-sensitive .dl dd { letter-spacing: .02em; }
.emp-sensitive.is-revealed { background: var(--warning-soft); border: 1px solid #EED5A8; border-radius: var(--r); padding: 12px; }
.emp-danger { border-color: #EBC4BF; }
.emp-danger .card-head h3 { color: var(--danger); }

/* Absences */
.emp-suggested td { background: #FFFAF0; }
.emp-suggested td:first-child { box-shadow: inset 3px 0 0 var(--warning); }
dialog.modal[open]:not(:modal) { position: fixed; inset: 0; margin: auto; z-index: 90; height: fit-content; }

/* Sortie */
.emp-exit-progress { width: 120px; }
.emp-exit-list { list-style: none; margin: 0; padding: 0; }
.emp-exit-list > li { padding: 16px 24px; border-bottom: 1px solid var(--line); display: flex; flex-direction: column; gap: 10px; }
.emp-exit-list > li:last-child { border-bottom: 0; }
.emp-exit-row { display: flex; align-items: center; gap: 12px; }
.emp-exit-tick { width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; flex: none; border: 1.5px dashed var(--line-strong); color: transparent; }
.emp-exit-tick .icon { width: 14px; height: 14px; stroke-width: 2.5; }
.emp-exit-list > li.is-done .emp-exit-tick { background: var(--success); border-color: var(--success); color: #fff; }
.emp-tips { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 8px; }

@media (max-width: 560px) {
  .emp-toolbar { padding: 8px 12px 0; }
  .emp-search { width: 100%; }
  .emp-payslip-upload .select { flex: 1; }
  .emp-exit-list > li { padding: 14px 18px; }
}

/* Dossier : grille des fiches sur 2 lignes quand la carte est étroite ; documents lisibles dans les demi-colonnes */
.doc-section-full .doc-section-body { container-type: inline-size; }
@container (max-width: 820px) { .months { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@container (max-width: 420px) { .months { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.month { line-height: 1.2; overflow-wrap: anywhere; }
.doc-section:not(.doc-section-full) .doc-item .doc-actions .icon-btn { width: 30px; height: 30px; }
.doc-section:not(.doc-section-full) .doc-item .doc-actions .icon-btn .icon { width: 16px; height: 16px; }
.doc-section .doc-item .doc-title { white-space: normal; overflow-wrap: anywhere; }
