/* Componentes de personal: fuente única para directorio y expediente.
 * Base compartida .hv2-*, variantes de tema y diseño adaptable conservan
 * su orden de cascada. Los colores vienen de los tokens --ds-* del tema.
 * Cambiar aquí las reglas de estas vistas; las hojas globales mantienen
 * tokens, navegación y componentes generales. Véase docs/PERSONAL-MODULOS.md.
 */
/* Origen: css/styles.css · reglas de componentes de personal */
:is(.nav-badge,.fdir-avatar,.avatar-step-xs){border-radius:var(--radius-circle);color:#fff;display:inline-flex;align-items:center;justify-content:center}
:is(.panel-left-actions,.repo-panel-footer,.fdir-footer,.func-det-footer){background:var(--card);border-top:var(--bd-1);display:flex;flex-shrink:0}
:is(.fg input,.fg select,.fg textarea,.st-select,.reg-obs,.repo-val-select,.repo-obs-input,.ndoc-input,.ndoc-select,.ndoc-textarea,.gdoc-input,.gdoc-select,.gdoc-textarea,.fdir-search-field input,.fdir-filter-select,:is(.anx-fg,.nf-fg) :is(input,select,textarea),.hv-input,.form-input,.sel-form-xs,.field-compact,.sel-card-md):hover:not(:focus){border-color:var(--muted-light)}
:is(.reg-table,.reg-table th,.fdir-th,.hv360-expediente th){font-weight:700;text-transform:uppercase;text-align:left;border-bottom:var(--bd-2)}
:is(.reg-table tr:hover td,.func-tr:nth-child(even),.anx-item:hover,.fdir-page-btn:hover,.hv360-kpi-card:hover){background:var(--bg)}
:is(.st-select,.reg-obs,.gdoc-input,.gdoc-select,.gdoc-textarea,.repo-val-select,.repo-obs-input,.ndoc-input,.ndoc-select,.ndoc-textarea,.fdir-search-field input,.fdir-filter-select,.anx-fg input,.anx-fg select,.anx-fg textarea,.nf-fg input,.nf-fg select,.nf-fg textarea,.sel-form-xs,.field-compact,.sel-card-md,.fg input,.fg select,.fg textarea):focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}
:is(.repo-doc-table,.tbl-base,.fdir-table,.hv360-expediente){width:100%;border-collapse:collapse}
:is(.repo-doc-table tbody tr:hover,.repo-panel-btn-sec:hover,.hover-row:hover,tr.hover-row:hover>td,.hover-btn-bg:hover,.fdir-stat-card:hover,.hv360-anx-tr:hover td,.btn-accordion:hover,.hv360-expediente tr:hover td){background:var(--surface)}
:is(.repo-panel-btn-danger,.fdir-page-btn){border-radius:var(--radius-sm);font-weight:600;cursor:pointer;font-family:var(--font)}
:is(.func-tl-ic,.fdir-page-btn){display:flex;align-items:center;justify-content:center;border:var(--bd);background:var(--card)}
.fdir-title{font-size:1.9rem;font-weight:800;color:var(--text-strong);letter-spacing:-.04em;line-height:1.1}
.fdir-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:var(--bd-1);margin-top:16px}
:is(.fdir-stat-card,.hv360-kpi-card){border-right:var(--bd-1);position:relative;cursor:default;transition:var(--tr-bg-only);animation:var(--anim-card)}
.fdir-stat-card{padding:13px 20px}
.fdir-stat-card:nth-child(2){animation-delay:50ms}
.fdir-stat-card:nth-child(3){animation-delay:100ms}
.fdir-stat-card:nth-child(4){animation-delay:150ms}
:is(.fdir-stat-card,.hv360-kpi-card):last-child{border-right:none}
.fdir-stat-card::after{content:'';position:absolute;left:0;right:0;height:3px;border-radius:0;bottom:0;background:var(--fdir-accent,var(--border))}
:is(.fdir-stat-lbl,.kpi-sublabel){font-size:.65rem;font-weight:700;color:var(--muted-light);text-transform:uppercase}
.fdir-stat-lbl{letter-spacing:.07em}
:is(.fdir-stat-val,.hv360-kpi-val){font-weight:800;color:var(--text-strong);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.fdir-stat-val{font-size:1.5rem;line-height:1.1}
.fdir-filter-wrap{padding:12px 28px;background:var(--bg);border-bottom:var(--bd-1);flex-shrink:0}
:is(.fdir-filter-card,.firma-det-footer){background:var(--card);border-radius:var(--radius-md);border:var(--bd-1);display:flex;align-items:center}
.fdir-filter-card{padding:12px 16px;gap:10px;flex-wrap:wrap}
.fdir-search-field{flex:2;min-width:200px;position:relative}
:is(.fdir-search-field input,.fdir-filter-select){border:var(--bd);border-radius:var(--radius-btn);font-family:var(--font);color:var(--text-strong);outline:none;transition:var(--tr-border)}
.fdir-search-field input{width:100%;padding:8px 34px;font-size:.79rem;box-sizing:border-box}
:is(.fdir-search-icon,.search-clear,.input-search-icon){position:absolute;top:50%;transform:translateY(-50%);color:var(--muted-light)}
:is(.fdir-search-icon,.search-clear){line-height:1}
.fdir-search-icon{left:9px;font-family:'Material Symbols Outlined';font-size:.95rem}
.fdir-filter-select{flex:1;min-width:140px;padding:8px 28px 8px 11px;font-size:.78rem;appearance:none;cursor:pointer;background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%2394A3B8' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z'/%3E%3C/svg%3E") no-repeat right 7px center/13px}
.fdir-table-wrap{flex:1;overflow:auto;background:var(--card)}
:is(.fdir-th,.hv360-expediente th){font-size:.59rem;color:var(--muted-light);background:var(--bg)}
.fdir-th{padding:11px 20px;letter-spacing:.06em;white-space:nowrap}
.fdir-td{padding:13px 20px;vertical-align:middle;font-size:.79rem;color:var(--text-strong)}
.fdir-avatar{width:38px;height:38px;font-size:.68rem;font-weight:800;flex-shrink:0}
:is(.fdir-badge-aps,.fdir-badge-ct,.fdir-badge-hon){font-size:.58rem;font-weight:800;padding:3px 10px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.fdir-badge-aps{background:var(--indigo-light);color:var(--navy-ink)}
.fdir-badge-ct{background:var(--blue-light);color:var(--text-secondary)}
.fdir-badge-hon{background:var(--orange-border);color:var(--orange-dark)}
.fdir-estado{display:flex;align-items:center;gap:6px;white-space:nowrap}
.fdir-act-btn{padding:5px;border-radius:var(--radius-sm);border:none;background:none;cursor:pointer;color:var(--accent);opacity:.65;transition:background .1s,opacity .1s,box-shadow .1s;display:inline-flex;align-items:center;justify-content:center}
.fdir-act-btn:hover{background:var(--indigo-light);opacity:1}
:is(.fdir-act-btn .ms,.ms-95-mr0){font-size:.95rem;margin-right:0}
.fdir-footer{padding:12px 28px;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.fdir-page-btn{width:32px;height:32px;font-size:.73rem;color:var(--text-secondary);transition:var(--tr-fast)}
.fdir-page-btn.active-page{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:800}
.fdir-page-btn:disabled{opacity:.3;cursor:default;pointer-events:none}
:is(.import-toast,.fdir-bulk-bar){position:fixed;bottom:24px;background:var(--navy);color:#fff}
.fdir-bulk-bar{left:50%;transform:translateX(-50%);padding:12px 24px;border-radius:var(--radius-md);display:none;align-items:center;gap:20px;z-index:1050;box-shadow:0 10px 40px rgba(15,23,42,.36)}
.fdir-bulk-bar.show{display:flex;animation:bulkBarIn .3s cubic-bezier(.34,1.56,.64,1) both}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-shell{background:#0c1220;border-radius:16px;overflow:hidden;border:1px solid #1e2a40}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-band{padding:22px 28px 0;color:#fff}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-band-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-identity{display:flex;align-items:center;gap:16px}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-dark));display:flex;align-items:center;justify-content:center;border:2px solid #1e2a40;flex-shrink:0}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-name-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-name{font-size:19px;font-weight:700;letter-spacing:-.2px}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-status-badge{font-size:10px;font-weight:700;letter-spacing:.5px;border-radius:20px;padding:3px 10px;display:inline-flex;align-items:center;gap:5px}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-status-badge.on{color:#34d399;background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.3)}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-status-badge.off{color:#94a3b8;background:rgba(148,163,184,.12);border:1px solid rgba(148,163,184,.3)}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-subtitle{font-size:12.5px;color:#8b9bb8;margin-top:4px}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-actions{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-btn{font-size:12.5px;font-weight:600;border-radius:8px;padding:8px 14px;cursor:pointer;border:1px solid transparent;font-family:var(--font);transition:var(--tr-bg-only)}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-btn.ghost{color:#c7d2e4;background:rgba(255,255,255,.06);border-color:#2a3a55}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-btn.ghost:hover{background:rgba(255,255,255,.1)}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-btn.amber{color:#fbbf24;background:rgba(251,191,36,.1);border-color:rgba(251,191,36,.3)}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-btn.ok{color:#34d399;background:rgba(52,211,153,.1);border-color:rgba(52,211,153,.3)}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-btn.primary{color:#0c1220;background:#818cf8;border:none;padding:8px 16px}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-btn.primary:hover{background:#93a0fa}

:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-band-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-metrics{display:flex;gap:26px;padding-bottom:14px;flex-wrap:wrap}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-metric-label{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.5px;color:#a5b4fc;background:rgba(129,140,248,.12);border:1px solid rgba(129,140,248,.3);border-radius:20px;padding:2px 9px;text-transform:uppercase}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-metric-val{font-size:19px;font-weight:700;color:#e8edf5;margin-top:5px}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-metric-unit{font-size:11px;color:#5b6b88;font-weight:600}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-metric-sub{font-size:10.5px;color:#5b6b88;margin-top:2px}

:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-tabs{display:flex;gap:2px}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-tab{display:flex;align-items:center;font-size:12.5px;font-weight:600;padding:10px 16px;border:none;border-radius:10px 10px 0 0;background:transparent;color:#8b9bb8;cursor:pointer;font-family:var(--font);transition:var(--tr-bg-only)}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-tab.active{background:#f6f7f9;color:#0f172a}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-tab-badge{font-size:10px;font-weight:700;border-radius:10px;padding:1px 7px;margin-left:7px;background:#e2e8f0;color:#475569}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-tab-badge.warn{background:#fde68a;color:#92400e}

:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-workspace{background:#f6f7f9;padding:20px 28px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start;min-height:560px}
#view-hoja-vida #hv-content{display:flex;flex-direction:column;gap:14px;min-width:0}
#view-hoja-vida #hv-alerts-sidebar{width:320px;flex:none;position:sticky;top:18px;display:flex;flex-direction:column;gap:14px}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv-card{background:#fff;border:1px solid #e5e8ee;border-radius:12px;padding:18px 20px;margin-bottom:0;box-shadow:none;animation:none}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv-card-title{font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--accent);text-transform:uppercase;margin-bottom:13px;gap:9px}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv-grid{gap:14px}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv-grid-3{gap:14px}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv-field-label{font-size:10.5px;color:#94a3b8;margin-bottom:3px}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv-field-val{font-size:13.5px;color:#1e293b}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-badge{font-size:10px;font-weight:700;border-radius:10px;padding:2px 8px;display:inline-block}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-badge--neutral{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-badge--ok{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-badge--warn{color:#b45309;background:#fffbeb;border:1px solid #fde68a}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-badge--err{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-badge--danger{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-row-field{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px dashed #eef1f5}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-row-field:last-child{border-bottom:none}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-row-field-lbl{font-size:12.5px;color:#7c8aa0}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-row-field-val{font-size:13px;font-weight:600;color:#1e293b}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-progress-track{height:7px;background:#e8ebf1;border-radius:7px;overflow:hidden}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),#818cf8);border-radius:7px}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-table-wrap{background:#fff;border:1px solid #e5e8ee;border-radius:12px;overflow:hidden}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-table-head{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;border-bottom:1px solid #eef1f5;gap:9px;flex-wrap:wrap}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-table-head-left{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-table-row-head{padding:9px 20px;background:#f8fafc;border-bottom:1px solid #eef1f5;font-size:10.5px;font-weight:700;letter-spacing:.3px;color:#475569;text-transform:uppercase;display:grid;align-items:center}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-table-row{padding:12px 20px;border-bottom:1px solid #f4f6f9;font-size:13px;display:grid;align-items:center}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-table-row:last-child{border-bottom:none}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-estado-pill{font-size:11px;font-weight:600;border-radius:5px;padding:3px 9px;display:inline-block}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-link{font-size:11.5px;font-weight:700;color:var(--accent);cursor:pointer}
#view-permisos .perm-view-switcher .hv2-tab{color:var(--ds-text-secondary)}
#view-permisos .perm-view-switcher .hv2-tab.active{background:var(--ds-page-bg);color:var(--ds-text)}
#view-permisos .hv2-table-row-head > span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#view-permisos .hv2-table-row,
#view-permisos .hv2-table-row-head{column-gap:14px}
#view-permisos .perm-layout > div:first-child > .hv2-table-wrap{overflow-x:auto}
#view-permisos .hv2-shell{overflow:clip}
#view-permisos .hv2-table-row:hover{background:#f8fafc}

@media (max-width:980px){
  #view-permisos .hv2-table-row-head{display:none}
  #view-permisos .hv2-table-row{display:block;padding:14px 16px}
}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-doc-row{display:flex;align-items:center;gap:13px;padding:12px 20px;border-bottom:1px solid #f4f6f9}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-doc-row:last-child{border-bottom:none}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-doc-icon{width:34px;height:34px;border-radius:8px;background:var(--accent-light);border:1px solid var(--accent-border);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv360-tl-card{box-shadow:none;border-color:#e5e8ee;border-radius:10px}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv360-timeline-wrap::before{background:#e8ebf1}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv360-tl-dot{border:2px solid #fff}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv360-sidebar-card{background:#fff;border:1px solid #e5e8ee;border-radius:12px;box-shadow:none;overflow:hidden;margin-bottom:0}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv360-sidebar-card-header{padding:13px 16px;border-bottom:1px solid #eef1f5}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv360-sidebar-card-title{color:#475569}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-alert-row{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid #f4f6f9}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-alert-row:last-child{border-bottom:none}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-alert-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-alert-title{font-size:12.5px;font-weight:600;color:#1e293b}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-alert-meta{font-size:11px;color:#94a3b8;font-variant-numeric:tabular-nums}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-count-pill{font-size:11px;font-weight:700;color:#fff;background:#dc2626;border-radius:20px;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;padding:0 5px}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-activity-row{display:flex;gap:9px;padding:6px 0}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-activity-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);margin-top:5px;flex-shrink:0}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-activity-title{font-size:12px;font-weight:600;color:#1e293b}
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-activity-date{font-size:11px;color:#94a3b8}
#view-funcionarios .fdir-v3-table-card{background:none;backdrop-filter:none;-webkit-backdrop-filter:none}
#view-funcionarios .fdir-v3-table thead tr{background:#f8fafc;border-bottom:1px solid #eef1f5}
#view-funcionarios .fdir-v3-table th{color:#94a3b8;letter-spacing:.3px}
#view-funcionarios .fdir-v3-table td{border-bottom:1px solid #f4f6f9}
#view-funcionarios .fdir-v3-row:hover{background:#f8fafc}
#view-funcionarios .fdir-footer{background:#f8fafc;border-top:1px solid #eef1f5;display:flex;align-items:center;justify-content:space-between;padding:12px 20px}
/* Origen: css/ficha-laboral.css · reglas de componentes de personal */
#view-hoja-vida .hv2-tabs { flex-wrap: wrap; }
#view-hoja-vida #hv-content { min-width: 0; }
#view-hoja-vida .ficha-laboral { color: var(--ds-text); min-width: 0; line-height: 1.55; }
#view-hoja-vida .ficha-laboral h2 { font-size: 1.08rem; margin: 0 0 12px; color: var(--ds-text); }
#view-hoja-vida .ficha-laboral p { font-size: .85rem; overflow-wrap: anywhere; }
#view-hoja-vida .ficha-laboral .btn-ref-xs { font-size: .8rem; line-height: 1.3; padding: 8px 12px; min-height: 36px; }
#view-hoja-vida .ficha-encabezado { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; }
#view-hoja-vida .ficha-etiqueta { display: block; color: var(--ds-muted); font-size: .65rem; letter-spacing: .08em; margin-bottom: 7px; }
#view-hoja-vida .ficha-indicadores { display: grid; grid-template-columns: repeat(auto-fit,minmax(170px,1fr)); gap: 16px; border-block: 1px solid var(--ds-border); padding: 18px 0; }
#view-hoja-vida .ficha-indicadores dt { font-size: .76rem; color: var(--ds-muted); }
#view-hoja-vida .ficha-indicadores dd { font-size: 1.4rem; font-weight: 700; margin: 5px 0 0; }
#view-hoja-vida .ficha-carrera-indicadores { grid-template-columns: repeat(3,minmax(0,1fr)); }
#view-hoja-vida .ficha-carrera-indicadores dd { overflow-wrap: anywhere; }
@container expediente (max-width:650px) {
  #view-hoja-vida .ficha-carrera-indicadores { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
#view-hoja-vida .ficha-nota { color: var(--ds-muted); font-size: .76rem; }
#view-hoja-vida .ficha-aviso { background: var(--ds-warn-soft); color: var(--ds-text); border-left: 3px solid var(--ds-warn); padding: 10px 14px; }
#view-hoja-vida .ficha-acciones { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
#view-hoja-vida .ficha-filtros { display: grid; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); gap: 12px; margin: 20px 0; }
#view-hoja-vida .ficha-filtros label { font-size: .8rem; display: grid; gap: 5px; }
#view-hoja-vida .ficha-filtros input, #view-hoja-vida .ficha-filtros select { width: 100%; min-width: 0; box-sizing: border-box; padding: 9px; border: 1px solid var(--ds-border); border-radius: 6px; background: var(--ds-card); color: var(--ds-text); font: inherit; }
#view-hoja-vida .ficha-filtros option { background: var(--ds-card); color: var(--ds-text); }
#view-hoja-vida .ficha-columnas { display: flex; flex-wrap: wrap; gap: 8px 18px; border: 1px solid var(--ds-border); border-radius: 6px; padding: 12px; margin: 0; min-width: 0; }
#view-hoja-vida .ficha-columnas legend { color: var(--ds-muted); font-size: .76rem; }
#view-hoja-vida .ficha-columnas label { display: flex; align-items: center; gap: 6px; font-size: .78rem; }
#view-hoja-vida .ficha-tabla { overflow-x: auto; max-width: 100%; }
#view-hoja-vida .ficha-tabla table { border-collapse: collapse; width: 100%; font-size: .8rem; }
#view-hoja-vida .ficha-tabla caption { text-align: left; color: var(--ds-muted); padding: 10px 0; }
#view-hoja-vida .ficha-tabla th, #view-hoja-vida .ficha-tabla td { text-align: left; border-bottom: 1px solid var(--ds-border); padding: 10px; max-width: 320px; overflow-wrap: anywhere; }
#view-hoja-vida .ficha-tabla th { color: var(--ds-text-secondary); font-weight: 600; background: var(--ds-surface); }
#view-hoja-vida #ficha-carrera-resultados table { min-width: 1120px; }
#view-hoja-vida #ficha-carrera-resultados td { white-space: nowrap; }
#view-hoja-vida .ficha-laboral button:disabled { opacity: .55; cursor: not-allowed; }
#view-hoja-vida .exp-clasificacion-form { margin-top: 24px; border-top: 1px solid var(--ds-border); padding-top: 20px; }
#view-hoja-vida .exp-clasificacion-form .ficha-filtros { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
#view-hoja-vida .exp-check { display: flex; align-items: flex-start; gap: 8px; font-size: .85rem; }
#view-hoja-vida .exp-revision { padding: 12px; margin: 8px 0; border: 1px solid var(--ds-border); border-radius: 6px; }
#view-hoja-vida .exp-revision summary { cursor: pointer; font-weight: 600; }
#view-hoja-vida .exp-revision dt { color: var(--ds-muted); font-size: .8rem; }
#view-hoja-vida .exp-revision dd { margin: 0 0 10px; overflow-wrap: anywhere; }
#view-hoja-vida .exp-pend-resumen { max-height: 320px; overflow: auto; margin-top: 12px; }
#view-hoja-vida .exp-pend-filtros { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
@media (max-width: 760px) {
  #view-hoja-vida .hv2-workspace { grid-template-columns: minmax(0,1fr); padding: 14px; }
  #view-hoja-vida .ficha-filtros { grid-template-columns: minmax(0,1fr); }
}
#view-hoja-vida .hv-argon-tabs .hv2-tab { flex:0 0 auto; white-space:nowrap; padding:14px 12px; font-size:.86rem; }
#view-hoja-vida #hv-subnav { display:flex; flex-wrap:wrap; gap:8px; padding:16px 24px 0; }
#view-hoja-vida .hv-argon-badge { display:inline-block; border:1px solid var(--ds-border); border-radius:20px; padding:4px 10px; margin:2px; font-size:.8rem; }
#view-hoja-vida .hv-emitir summary { cursor:pointer; list-style:none; }
#view-hoja-vida .ficha-progreso { width:100%; height:12px; accent-color:var(--ds-accent); }
#view-hoja-vida .ficha-historicos { padding:16px; border-top:1px solid var(--ds-border); font-size:.82rem; }
#view-hoja-vida .ficha-historicos summary { cursor:pointer; font-weight:700; margin-bottom:10px; }
#view-hoja-vida .ficha-historicos div { padding:8px 0; overflow-wrap:anywhere; }
#view-hoja-vida .ficha-checklist { padding-left:20px; font-size:.85rem; line-height:1.8; }
#view-hoja-vida .hv2-workspace > * { min-width:0; }
@media(max-width:800px) { #view-hoja-vida .hv2-workspace { grid-template-columns:1fr; } }
#view-hoja-vida .hv2-band-bottom { min-width:0; flex-direction:column; align-items:stretch; }
@media(max-width:800px) {
  body.ui-2026.ui-nova #view-hoja-vida .hv2-workspace { grid-template-columns:minmax(0,1fr); padding:16px; }
  body.ui-2026.ui-nova #view-hoja-vida .hv2-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.ui-2026.ui-nova #view-hoja-vida .hv2-identity { align-items:flex-start; gap:12px; }
  #view-hoja-vida .hv2-identity > div:last-child { min-width:0; }
  #view-hoja-vida .hv2-avatar { flex-shrink:0; }
  #view-hoja-vida .hv2-actions { max-width:100%; }
}
@media(max-width:600px) {
  #view-hoja-vida > div { padding:12px !important; }
  #view-hoja-vida #hv-bc-nombre { display:none; }
  #view-hoja-vida .hv2-band { padding:16px !important; }
  #view-hoja-vida .hv2-identity { align-items:flex-start !important; gap:12px !important; }
  #view-hoja-vida .hv2-name { font-size:1.1rem !important; line-height:1.35; }
  #view-hoja-vida .hv2-avatar { width:56px !important; height:56px !important; font-size:1.2rem !important; }
}
#view-hoja-vida { container: expediente / inline-size; }
#view-hoja-vida .ficha-matriz table { table-layout:fixed; min-width:640px; }
#view-hoja-vida .ficha-col-grupo { width:28%; }
#view-hoja-vida .ficha-col-cantidad { width:14%; }
#view-hoja-vida .ficha-col-archivo { width:16%; }
#view-hoja-vida .ficha-col-estado { width:24%; }
#view-hoja-vida .ficha-col-accion { width:18%; }
:root body #view-hoja-vida .ficha-tabla :is(th,td) { overflow-wrap:break-word; word-break:normal; vertical-align:middle; }
:root body #view-hoja-vida .ficha-tabla th { text-transform:none; letter-spacing:normal; }
:root body #view-hoja-vida .ficha-tabla button { white-space:nowrap; overflow-wrap:normal; word-break:normal; min-height:36px; }
#view-hoja-vida .ficha-matriz .hv2-badge { white-space:normal; line-height:1.4; max-width:100%; }
#view-hoja-vida .ficha-indicadores > div { min-width:0; }
#view-hoja-vida .ficha-indicadores strong { display:block; font-size:1.5rem; line-height:1.25; margin-bottom:4px; }
#view-hoja-vida .ficha-indicadores div div { font-size:.82rem; line-height:1.4; }
#view-hoja-vida .ficha-indicadores .ficha-dato-ausente { font-size:.85rem; font-weight:500; line-height:1.5; color:var(--ds-muted); }
#view-hoja-vida .ficha-sincronizado { max-width:100%; overflow-wrap:anywhere; }
#view-hoja-vida .hv-argon-tabs { display:flex; flex-wrap:nowrap !important; overflow-x:auto; max-width:100%; gap:4px; scrollbar-width:thin; scroll-padding-inline:12px; overscroll-behavior-inline:contain; }
#view-hoja-vida :is(.hv2-tab,.hv2-btn,.btn-ref-xs,summary):focus-visible { outline:3px solid var(--ds-accent); outline-offset:3px; }
#view-hoja-vida .hv-emitir { position:relative; z-index:10; }
#view-hoja-vida .hv-emitir-menu { position:absolute; z-index:50; right:0; min-width:230px; padding:8px; display:grid; gap:6px; border:1px solid var(--ds-border); border-radius:16px; box-shadow:0 10px 28px #0002; background:var(--ds-card); color:var(--ds-text); max-width:min(280px,calc(100vw - 48px)); }
#view-hoja-vida .hv-emitir-menu .hv2-btn { color:var(--ds-text) !important; text-align:left; white-space:normal; line-height:1.45; }
@container expediente (max-width:1100px) {
  :root body.ui-2026.ui-nova #view-hoja-vida .hv2-workspace { grid-template-columns:minmax(0,1fr); }
  #view-hoja-vida #hv-alerts-sidebar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; }
}
@container expediente (max-width:600px) {
  #view-hoja-vida #hv-alerts-sidebar { grid-template-columns:minmax(0,1fr); }
  :root body.ui-2026.ui-nova #view-hoja-vida .hv2-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  :root body.ui-2026.ui-nova #view-hoja-vida .hv2-metrics > div { min-width:0; padding:12px; }
}
:root body.ui-2026.ui-nova #view-hoja-vida .ficha-tabla th { white-space:normal !important; text-transform:none !important; }
:root body.ui-2026.ui-nova #view-hoja-vida .ficha-tabla td { white-space:normal !important; }
#view-hoja-vida #hv-alerts-sidebar .btn-ref-xs { min-height:36px; padding:8px 12px; font-size:.8rem; line-height:1.4; white-space:normal; }
:root body.ui-2026.ui-nova #view-hoja-vida :is(.hv2-alert-title,.hv2-activity-title) { color:var(--ds-text); }
:root body.ui-2026.ui-nova #view-hoja-vida :is(.hv2-alert-meta,.hv2-activity-date) { color:var(--ds-muted); font-size:.78rem; line-height:1.5; }
@container expediente (min-width:720px) and (max-width:1100px) {
  #view-hoja-vida .hv-argon-tabs { gap:0; }
  #view-hoja-vida .hv-argon-tabs .hv2-tab { font-size:.75rem; padding:14px 8px; }
}
@container expediente (max-width:1100px) {
  #view-hoja-vida #hv-alerts-sidebar { width:100% !important; max-width:none; }
}
#view-hoja-vida .hv-alertas-header .hv2-count-pill { background:var(--hv-alert-color) !important; color:#fff !important; }
#view-hoja-vida .hv-contrato-vista button { min-height:36px; white-space:nowrap; }
#view-hoja-vida .hv-contrato-vista button[aria-pressed="true"] { background:var(--ds-accent) !important; color:#fff !important; }
#view-hoja-vida .ficha-matriz thead th { overflow-wrap:normal; word-break:normal; }
#view-hoja-vida .ficha-matriz td small { display:block; margin-top:6px; color:var(--ds-muted); line-height:1.4; }
#view-hoja-vida .hv-periodo-control { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
#view-hoja-vida .hv-periodo-control label { display:flex; align-items:center; gap:10px; color:var(--ds-text); font-size:.8rem; font-weight:600; }
#view-hoja-vida .hv-periodo-control select { max-width:100%; min-height:40px; padding:8px 12px; border:1px solid var(--ds-border); border-radius:8px; color:var(--ds-text); background:var(--ds-card); font:inherit; }
#view-hoja-vida .hv-periodo-control p { flex-basis:100%; margin:0; font-size:.78rem; line-height:1.5; color:var(--ds-muted); }
#view-hoja-vida .hv-periodo-grupo { margin-top:18px; }
#view-hoja-vida .hv-periodo-grupo-titulo { display:flex; gap:9px; align-items:center; flex-wrap:wrap; margin-bottom:9px; }
#view-hoja-vida .hv-periodo-grupo-titulo h3 { margin:0; }
:root body #view-hoja-vida .hv2-table-wrap { overflow-x:auto; max-width:100%; overscroll-behavior-x:contain; }
#view-hoja-vida .hv2-table-wrap :is(.hv2-table-row,.hv2-table-row-head) { min-width:700px; }
#view-hoja-vida .hv-periodo-deslizar { display:none; }
@container expediente (max-width:720px) {
  #view-hoja-vida .hv-periodo-deslizar { display:block; margin:0 0 8px; color:var(--ds-muted); font-size:.76rem; }
}
/* Origen: css/design-system.css · reglas de componentes de personal */
#view-contratos .hv2-shell {
  overflow: visible;
}
#view-contratos .hv2-band {
  border-radius: 16px 16px 0 0;
}
#view-contratos .hv2-workspace {
  border-radius: 0 0 16px 16px;
}
#view-funcionarios .fdir-stats-grid {
  background: var(--ds-card);
  border-top: 1px solid var(--ds-border);
  border-bottom: 1px solid var(--ds-border);
  margin: 14px -32px 0;
  padding: 0 32px;
}
#view-funcionarios .fdir-stat-card {
  background: transparent;
  border-right: 1px solid var(--ds-border);
  padding: 14px 16px;
}
#view-funcionarios .fdir-stat-card:last-child { border-right: none; }
#view-funcionarios .fdir-stat-val {
  font-size: 1.7rem !important;
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--ds-text);
}
#view-funcionarios .fdir-stat-lbl {
  font-size: .65rem;
  color: var(--ds-text-secondary);
  font-weight: 600;
}
#view-funcionarios .card-xl,
#view-funcionarios .card-sm {
  background: var(--ds-card);
  border: 1px solid var(--ds-border);
  border-radius: var(--ds-radius);
  box-shadow: var(--ds-card-elev);
}
:is(#view-funcionarios, #view-hoja-vida).fdir-v3 {
  background: linear-gradient(165deg,#eef1f7 0%,#f3f1f6 55%,#f0f3f6 100%);
  padding: 0;
  position: relative;
  overflow-y: auto;
  overflow-x: hidden;
}
:is(#view-funcionarios, #view-hoja-vida).fdir-v3.active {
  display: block;
}
[data-theme="dark"] :is(#view-funcionarios, #view-hoja-vida).fdir-v3 {
  background: var(--ds-page-bg);
}
.fdir-v3-scroll {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 18px 18px 32px;
}
.fdir-aurora {
  position: fixed;
  top: 0;
  bottom: 0;
  left: var(--sidebar-w, 68px);
  right: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
[data-theme="dark"] .fdir-aurora { display: none; }
.fdir-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
}
.fdir-blob-a {
  top: -18%; left: -12%; width: 880px; height: 880px;
  background: radial-gradient(circle at 32% 32%, rgba(120,150,255,.42) 0%, rgba(120,150,255,0) 62%);
  animation: fdirFloatA 34s ease-in-out infinite;
}
.fdir-blob-b {
  top: -8%; right: -16%; width: 920px; height: 920px;
  background: radial-gradient(circle at 60% 40%, rgba(110,205,225,.36) 0%, rgba(110,205,225,0) 62%);
  animation: fdirFloatB 40s ease-in-out infinite;
}
.fdir-blob-c {
  bottom: -24%; left: 8%; width: 860px; height: 860px;
  background: radial-gradient(circle at 50% 50%, rgba(168,140,235,.32) 0%, rgba(168,140,235,0) 62%);
  animation: fdirFloatC 46s ease-in-out infinite;
}
.fdir-blob-d {
  bottom: -6%; right: 4%; width: 760px; height: 760px;
  background: radial-gradient(circle at 40% 60%, rgba(255,196,150,.3) 0%, rgba(255,196,150,0) 62%);
  animation: fdirFloatD 38s ease-in-out infinite;
}
.fdir-aurora::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,0) 22%);
  pointer-events: none;
}
.fdir-v3-inner {
  position: relative;
  z-index: 1;
  padding: 18px 22px 80px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  animation: fdirFadeUp .55s cubic-bezier(.16,1,.3,1) both;
}
.fdir-glass-card {
  background: rgba(255,255,255,.58);
  backdrop-filter: blur(40px) saturate(180%);
  -webkit-backdrop-filter: blur(40px) saturate(180%);
  border: .5px solid rgba(255,255,255,.72);
  border-radius: 22px;
  box-shadow: 0 1px 0 rgba(255,255,255,.9) inset,
              0 12px 40px -8px rgba(31,38,135,.18),
              0 2px 6px -2px rgba(0,0,0,.06);
}
[data-theme="dark"] .fdir-glass-card {
  background: var(--ds-card, #14141c);
  backdrop-filter: none;
  border: 1px solid var(--ds-border);
  box-shadow: 0 2px 12px rgba(0,0,0,.3);
}
.fdir-topbar { padding: 20px 26px; }
.fdir-breadcrumb {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12.5px;
  color: #86868b;
}
[data-theme="dark"] .fdir-breadcrumb { color: var(--muted); }
.fdir-bc-seg { font-size: 12.5px; color: #86868b; }
[data-theme="dark"] .fdir-bc-seg { color: var(--muted); }
.fdir-bc-active { color: #1d1d1f; font-weight: 500; }
[data-theme="dark"] .fdir-bc-active { color: var(--text); }
.fdir-bc-chev { color: #86868b; flex-shrink: 0; }
.fdir-topbar-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.fdir-v3-title {
  font-family: 'Inter Tight', 'Inter', sans-serif;
  font-weight: 700;
  font-size: 38px;
  color: #1d1d1f;
  line-height: 1;
  letter-spacing: -1.2px;
  margin: 0 0 8px;
}
[data-theme="dark"] .fdir-v3-title { color: var(--text-strong); }
.fdir-v3-sub { font-size: 13px; color: #3c3c43; }
[data-theme="dark"] .fdir-v3-sub { color: var(--muted); }
.fdir-v3-actions { display: flex; align-items: center; gap: 8px; }
.fdir-btn-ghost {
  display: flex; align-items: center; gap: 7px;
  padding: 9px 14px;
  background: rgba(255,255,255,.72);
  border: .5px solid rgba(0,0,0,.09);
  border-radius: 11px;
  color: #1d1d1f;
  font-size: 13px; font-weight: 500;
  cursor: pointer;
  transition: all .2s;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  font-family: inherit;
  text-decoration: none;
}
.fdir-btn-ghost:hover {
  background: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px -2px rgba(0,0,0,.1);
}
[data-theme="dark"] .fdir-btn-ghost {
  background: var(--surface);
  border-color: var(--border);
  color: var(--text);
  box-shadow: none;
}
[data-theme="dark"] .fdir-btn-ghost:hover {
  background: var(--card);
  transform: none;
}
.fdir-btn-primary {
  display: flex; align-items: center; gap: 7px;
  padding: 9px 18px;
  background: linear-gradient(180deg,#0a84ff,#0066cc);
  border: none;
  border-radius: 11px;
  color: #fff;
  font-size: 13px; font-weight: 600;
  cursor: pointer;
  transition: all .2s;
  box-shadow: 0 4px 14px -2px rgba(10,132,255,.5), 0 1px 0 rgba(255,255,255,.25) inset;
  font-family: inherit;
}
.fdir-btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 22px -4px rgba(10,132,255,.6), 0 1px 0 rgba(255,255,255,.25) inset;
}
.fdir-stat-tiles {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 14px;
}
@media (max-width:900px) { .fdir-stat-tiles { grid-template-columns: repeat(2,1fr); } }
@media (max-width:500px) { .fdir-stat-tiles { grid-template-columns: 1fr; } }
.fdir-tile {
  position: relative;
  border-radius: 20px;
  padding: 20px 22px;
  overflow: hidden;
  cursor: pointer;
  transition: transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s;
  border: .5px solid rgba(255,255,255,.6);
  box-shadow: 0 1px 0 rgba(255,255,255,.6) inset,
              0 -8px 20px -8px rgba(255,255,255,.4) inset,
              0 12px 32px -10px rgba(31,38,135,.22),
              0 2px 6px -2px rgba(0,0,0,.08);
}
.fdir-tile::before {
  content: '';
  position: absolute;
  top: -30%; right: -20%;
  width: 200px; height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.5) 0%, rgba(255,255,255,0) 65%);
  pointer-events: none;
}
.fdir-tile:hover {
  transform: translateY(-3px) scale(1.005);
  box-shadow: 0 1px 0 rgba(255,255,255,.6) inset,
              0 -8px 20px -8px rgba(255,255,255,.4) inset,
              0 20px 40px -10px rgba(31,38,135,.28),
              0 2px 6px -2px rgba(0,0,0,.08);
}
.fdir-tile.fdir-tile-active {
  outline: 2.5px solid #0a84ff;
  outline-offset: 2px;
}
.fdir-tile-total { background: linear-gradient(155deg,#dde8ff 0%,#fff5fb 100%); }
.fdir-tile-aps   { background: linear-gradient(155deg,#d6f5e0 0%,#fffbe6 100%); }
.fdir-tile-ct    { background: linear-gradient(155deg,#ecdcff 0%,#fde2f0 100%); }
.fdir-tile-hon   { background: linear-gradient(155deg,#ffe4c4 0%,#ffeed1 100%); }
[data-theme="dark"] .fdir-tile {
  background: var(--card) !important;
  border: 1px solid var(--border);
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
}
[data-theme="dark"] .fdir-tile::before { display:none; }
[data-theme="dark"] .fdir-tile:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,.3); }
[data-theme="dark"] .fdir-tile.fdir-tile-active { outline-color: var(--accent); }
.fdir-tile-top {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 18px;
}
.fdir-tile-icon {
  width: 34px; height: 34px; border-radius: 9px;
  background: rgba(255,255,255,.65);
  backdrop-filter: blur(20px);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 1px 0 rgba(255,255,255,.6) inset, 0 2px 5px -1px rgba(0,0,0,.08);
  flex-shrink: 0;
}
[data-theme="dark"] .fdir-tile-icon { background: rgba(255,255,255,.08); box-shadow: none; }
.fdir-tile-delta {
  display: flex; align-items: center; gap: 4px;
  padding: 3px 7px;
  background: rgba(255,255,255,.52);
  border-radius: 7px;
  font-size: 11px; font-weight: 600;
}
.fdir-tile-delta-up    { color: #1a8a3a; }
.fdir-tile-delta-down  { color: #dc2626; }
.fdir-tile-delta-neutral { color: #86868b; }
[data-theme="dark"] .fdir-tile-delta { background: rgba(255,255,255,.06); }
.fdir-tile-valrow {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}
.fdir-tile-val {
  font-family: 'Inter Tight','Inter',sans-serif;
  font-weight: 700;
  font-size: 38px;
  color: #1d1d1f;
  line-height: 1;
  letter-spacing: -1.2px;
}
[data-theme="dark"] .fdir-tile-val { color: var(--text-strong); }
.fdir-tile-spark { margin-bottom: 3px; overflow: visible; flex-shrink: 0; }
[data-theme="dark"] .fdir-tile-spark { opacity: .85; }
.fdir-tile-lbl { font-size: 12.5px; color: #3c3c43; font-weight: 500; }
.fdir-tile-sub { font-size: 11.5px; color: #3c3c43; opacity: .7; margin-top: 2px; }
[data-theme="dark"] .fdir-tile-lbl, [data-theme="dark"] .fdir-tile-sub { color: var(--muted); opacity: 1; }
.fdir-v3-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.fdir-seg-ctrl {
  display: inline-flex;
  padding: 3px;
  background: rgba(118,118,128,.18);
  border-radius: 11px;
  backdrop-filter: blur(20px);
  flex-shrink: 0;
}
[data-theme="dark"] .fdir-seg-ctrl { background: rgba(255,255,255,.06); }
.fdir-seg-btn {
  padding: 6px 14px;
  background: transparent;
  border: none;
  border-radius: 8px;
  color: #3c3c43;
  font-size: 12.5px; font-weight: 500;
  cursor: pointer;
  transition: all .25s;
  display: flex; align-items: center; gap: 6px;
  font-family: inherit;
  white-space: nowrap;
}
.fdir-seg-btn.fdir-seg-active {
  background: #fff;
  color: #1d1d1f;
  font-weight: 600;
  box-shadow: 0 2px 8px -2px rgba(0,0,0,.12), 0 1px 0 rgba(255,255,255,.6) inset;
}
[data-theme="dark"] .fdir-seg-btn { color: var(--muted); }
[data-theme="dark"] .fdir-seg-btn.fdir-seg-active {
  background: var(--accent);
  color: #fff;
  box-shadow: 0 2px 8px rgba(79,70,229,.4);
}
.fdir-seg-count {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  padding: 1px 5px;
  background: rgba(0,0,0,.06);
  border-radius: 4px;
  font-weight: 600;
}
.fdir-seg-active .fdir-seg-count { background: rgba(0,0,0,.07); }
[data-theme="dark"] .fdir-seg-count { background: rgba(255,255,255,.1); }
[data-theme="dark"] .fdir-seg-active .fdir-seg-count { background: rgba(255,255,255,.2); }
.fdir-v3-search {
  position: relative;
  flex: 1;
  min-width: 180px;
  max-width: 300px;
}
.fdir-v3-search svg {
  position: absolute; left: 11px; top: 50%; transform: translateY(-50%);
  color: #86868b; pointer-events: none;
}
.fdir-v3-search input {
  width: 100%;
  padding: 8px 12px 8px 32px;
  background: rgba(255,255,255,.58);
  backdrop-filter: blur(20px);
  border: .5px solid rgba(0,0,0,.09);
  border-radius: 11px;
  color: #1d1d1f;
  font-size: 13px;
  font-family: inherit;
  outline: none;
  transition: all .2s;
}
.fdir-v3-search input:focus {
  border-color: #0a84ff;
  box-shadow: 0 0 0 3px rgba(10,132,255,.15);
  background: rgba(255,255,255,.85);
}
[data-theme="dark"] .fdir-v3-search input {
  background: var(--surface);
  border-color: var(--border);
  color: var(--text);
}
[data-theme="dark"] .fdir-v3-search input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(79,70,229,.2);
}
.fdir-v3-filter-wrap {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.fdir-v3-select {
  appearance: none;
  padding: 8px 28px 8px 12px;
  background: rgba(255,255,255,.58);
  backdrop-filter: blur(20px);
  border: .5px solid rgba(0,0,0,.09);
  border-radius: 11px;
  color: #1d1d1f;
  font-size: 12.5px;
  font-family: inherit;
  outline: none;
  cursor: pointer;
  transition: all .2s;
}
.fdir-v3-select:focus { border-color: #0a84ff; }
[data-theme="dark"] .fdir-v3-select {
  background: var(--surface); border-color: var(--border); color: var(--text);
}
.fdir-v3-clear {
  display: flex; align-items: center; gap: 5px;
  padding: 8px 12px;
  background: rgba(255,59,48,.1);
  border: .5px solid rgba(255,59,48,.25);
  border-radius: 11px;
  color: #ff3b30;
  font-size: 12.5px; font-weight: 500;
  cursor: pointer;
  font-family: inherit;
  transition: all .2s;
}
.fdir-v3-clear:hover { background: rgba(255,59,48,.18); }
[data-theme="dark"] .fdir-v3-clear { background: rgba(239,68,68,.12); border-color: rgba(239,68,68,.3); color: var(--err); }
.fdir-v3-excel {
  display: flex; align-items: center; gap: 5px;
  padding: 8px 12px;
  background: #16a34a; border: none; border-radius: 11px;
  color: #fff; font-size: 12.5px; font-weight: 600;
  cursor: pointer; font-family: inherit; transition: all .2s;
}
.fdir-v3-excel:hover { background: #15803d; }
.fdir-v3-import {
  display: flex; align-items: center; gap: 5px;
  padding: 8px 12px;
  background: #7c3aed; border: none; border-radius: 11px;
  color: #fff; font-size: 12.5px; font-weight: 600;
  cursor: pointer; font-family: inherit; transition: all .2s;
}
.fdir-v3-import:hover { background: #6d28d9; }
.fdir-v3-count {
  margin-left: auto;
  font-size: 12.5px;
  color: #3c3c43;
  white-space: nowrap;
}
[data-theme="dark"] .fdir-v3-count { color: var(--muted); }
.fdir-v3-table-card {
  overflow: hidden;
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);
}
[data-theme="dark"] .fdir-v3-table-card { background: var(--ds-card, #14141c); }
.fdir-v3-table {
  width: 100%;
  border-collapse: collapse;
}
.fdir-v3-table thead tr {
  background: rgba(248,248,252,.7);
  border-bottom: .5px solid rgba(60,60,67,.12);
}
[data-theme="dark"] .fdir-v3-table thead tr {
  background: rgba(255,255,255,.03);
  border-bottom: 1px solid var(--border);
}
.fdir-v3-table th {
  padding: 12px 16px;
  text-align: left;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #86868b;
  white-space: nowrap;
}
[data-theme="dark"] .fdir-v3-table th { color: var(--muted); }
.fdir-v3-table td { padding: 13px 16px; border-bottom: .5px solid rgba(60,60,67,.08); }
[data-theme="dark"] .fdir-v3-table td { border-bottom: 1px solid var(--border); }
.fdir-v3-row {
  transition: all .2s;
  cursor: pointer;
}
.fdir-v3-row:hover {
  background: rgba(10,132,255,.06);
}
[data-theme="dark"] .fdir-v3-row:hover { background: rgba(255,255,255,.04); }
.fdir-v3-avatar {
  width: 36px; height: 36px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: #fff; font-weight: 600; font-size: 12px; letter-spacing: .02em;
  box-shadow: 0 2px 8px -2px rgba(0,0,0,.18), 0 1px 0 rgba(255,255,255,.4) inset;
  transition: transform .18s cubic-bezier(.34,1.56,.64,1), box-shadow .18s ease;
}
.fdir-v3-row:hover .fdir-v3-avatar {
  transform: scale(1.12);
  box-shadow: 0 4px 14px -3px rgba(0,0,0,.28), 0 1px 0 rgba(255,255,255,.5) inset;
}
.fdir-v3-cat {
  display: inline-flex; align-items: center; justify-content: center;
  width: 24px; height: 24px; border-radius: 7px;
  background: linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.6));
  border: .5px solid rgba(0,0,0,.09);
  font-family: 'JetBrains Mono',monospace;
  font-size: 11px; font-weight: 700; color: #1d1d1f;
  box-shadow: 0 1px 2px rgba(0,0,0,.05);
}
[data-theme="dark"] .fdir-v3-cat { background: rgba(255,255,255,.08); border-color: var(--border); color: var(--text); }
.fdir-v3-badge {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3.5px 9px 3.5px 7px;
  border-radius: 6px;
  font-size: 11px; font-weight: 600;
  white-space: nowrap;
  border: .5px solid;
}
.fdir-v3-badge-dot {
  width: 5px; height: 5px; border-radius: 50%; flex-shrink: 0;
}
.fdir-v3-estado {
  display: flex; align-items: center; gap: 7px;
}
.fdir-v3-dot-wrap {
  position: relative; width: 8px; height: 8px; flex-shrink: 0;
}
.fdir-v3-dot-inner {
  position: absolute; inset: 1px; border-radius: 50%;
}
.fdir-v3-dot-pulse {
  position: absolute; inset: 0; border-radius: 50%;
  opacity: .4;
  animation: fdirPulseDot 2.2s ease-out infinite;
}
.fdir-v3-table-card + .fdir-footer {
  background: none;
  border: none;
  padding: 8px 0;
}
/* Origen: css/redesign-2026.css · reglas de componentes de personal */
body.ui-2026 .fdir-maintenance { position: relative; }
body.ui-2026 .fdir-maintenance > summary {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid var(--ds-border, #dfe3ea);
  border-radius: 8px;
  background: var(--ds-card, #fff);
  color: var(--ds-text-secondary, #475569);
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
}
body.ui-2026 .fdir-maintenance > summary::-webkit-details-marker { display: none; }
body.ui-2026 .fdir-maintenance-menu {
  position: absolute;
  z-index: 80;
  right: 0;
  top: calc(100% + 8px);
  width: min(340px, calc(100vw - 32px));
  padding: 10px;
  border: 1px solid var(--ds-border, #dfe3ea);
  border-radius: 12px;
  background: var(--ds-card, #fff);
  box-shadow: 0 18px 48px rgba(15,23,42,.18);
}
body.ui-2026 .fdir-maintenance-note {
  padding: 8px 9px 10px;
  color: var(--ds-text-secondary, #64748b);
  font-size: 11.5px;
  line-height: 1.45;
}
body.ui-2026 .fdir-maintenance-menu button {
  display: block;
  width: 100%;
  padding: 9px 10px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--ds-text, #0f172a);
  text-align: left;
  font: 600 12.5px/1.3 var(--font, Inter, sans-serif);
  cursor: pointer;
}
body.ui-2026 .fdir-maintenance-menu button:hover,
body.ui-2026 .fdir-maintenance-menu button:focus-visible { background: var(--ds-hover, rgba(79,70,229,.10)); outline: none; }
body.ui-2026 .fdir-maintenance-menu button.danger { color: var(--err, #b91c1c); }
@media (max-width: 900px) {
  body.ui-2026 .fdir-maintenance-menu { left: 0; right: auto; }
}
body.ui-2026 .hv2-btn {
  min-height: 38px;
  padding: 9px 14px;
  border-radius: 11px;
  border-color: rgba(255,255,255,.1);
  background: rgba(255,255,255,.045);
  color: #e7e9ef;
  box-shadow: none;
}
body.ui-2026 .hv2-btn:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.17); }
body.ui-2026 .hv2-btn.primary {
  background: #f1f2f5;
  border-color: #f1f2f5;
  color: #101218;
  box-shadow: 0 6px 20px rgba(255,255,255,.08);
}
body.ui-2026 #view-funcionarios { overflow-y: auto; background: transparent !important; }
body.ui-2026 #view-funcionarios > div:first-child { padding: 30px 36px 44px !important; }
body.ui-2026 #view-funcionarios .hv2-shell {
  border-radius: var(--ui26-radius-xl);
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(15,18,25,.78);
  box-shadow: 0 28px 80px rgba(0,0,0,.2), inset 0 1px rgba(255,255,255,.03);
}
body.ui-2026 #view-funcionarios .hv2-band {
  padding: 28px 30px 0;
  background:
    radial-gradient(520px circle at 88% -50%,rgba(155,135,245,.18),transparent 60%),
    #10131a;
}
body.ui-2026 #view-funcionarios .hv2-name { font-size: 1.35rem; letter-spacing: -.025em; }
body.ui-2026 #view-funcionarios .hv2-avatar { background: rgba(155,135,245,.12); border: 1px solid rgba(155,135,245,.24); }
body.ui-2026 #view-funcionarios .hv2-status-badge { background: rgba(60,207,150,.1); color: #55d6a2; border: 1px solid rgba(60,207,150,.2); }
body.ui-2026 #view-funcionarios .hv2-metric-value { font-weight: 600; letter-spacing: -.035em; }
body.ui-2026 #view-funcionarios .hv2-tab { border-radius: 9px 9px 0 0; color: #7f8693; }
body.ui-2026 #view-funcionarios .hv2-tab.active {
  color: #f5f6f8;
  border-color: #9b87f5;
  background: rgba(155,135,245,.12) !important;
  box-shadow: inset 0 0 0 1px rgba(155,135,245,.12);
}
body.ui-2026 #view-funcionarios .hv2-workspace {
  padding: 20px 24px 26px;
  min-height: 520px;
  background: rgba(8,10,15,.38);
}
body.ui-2026 .fdir-v3-table-card {
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 15px;
  overflow: hidden;
  background: rgba(255,255,255,.018) !important;
}
body.ui-2026 #view-funcionarios .fdir-v3-table thead tr { background: rgba(255,255,255,.03); border-color: rgba(255,255,255,.07); }
body.ui-2026 #view-funcionarios .fdir-v3-table th { color: #6f7684; }
body.ui-2026 #view-funcionarios .fdir-v3-table td { border-color: rgba(255,255,255,.055); }
body.ui-2026 #view-funcionarios .fdir-v3-table tbody tr:hover { background: rgba(255,255,255,.03); }
body.ui-2026 .view :where(
  .badge,.repo-badge,.repo-panel-badge,.repo-doc-status-badge,.iw-type-badge,
  .hv2-status-badge,.hv2-tab-badge,.badge-count-xs,.badge-auto,.accent-chip,
  [class*="status-badge"],[class*="state-badge"]
) {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 23px;
  padding: 3px 9px;
  border-radius: 999px !important;
  font-size: .64rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .035em;
}
body.ui-2026 .view :where(.fil-pill,.ds-subtabs,.hv2-tabs,.repo-view-toggle) {
  border: 1px solid var(--ds-border);
  background: var(--ds-surface);
  border-radius: 11px;
}
body.ui-2026 .view :where(.ds-subtab,.dot-subtab,.hv2-tab,.fsp-seg,.repo-vt-btn) {
  color: var(--ds-muted);
  border-radius: 9px;
}
body.ui-2026 .view :where(.ds-subtab,.dot-subtab,.hv2-tab,.fsp-seg,.repo-vt-btn).active {
  color: var(--ds-text);
  background: var(--ds-accent-soft);
}
body.ui-2026[data-theme="light"] .hv2-btn {
  background: rgba(255,255,255,.88);
  border-color: rgba(15,23,42,.11);
  color: #334155;
}
body.ui-2026[data-theme="light"] .hv2-btn:hover {
  background: #fff;
  border-color: rgba(15,23,42,.2);
  color: #0f172a;
}
body.ui-2026[data-theme="light"] .hv2-btn.primary {
  background: #151820;
  border-color: #151820;
  color: #fff;
}
body.ui-2026[data-theme="light"] #view-funcionarios .hv2-workspace { background: #f8f9fb; }
body.ui-2026[data-theme="light"] .fdir-v3-table-card { background: #fff !important; border-color: rgba(15,23,42,.075); }
body.ui-2026[data-theme="light"] #view-funcionarios .fdir-v3-table thead tr { background: #f6f7f9; }
body.ui-2026:is([data-theme="dark"], [data-theme="premium"])
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-workspace {
  background: var(--ds-page-bg);
}
body.ui-2026:is([data-theme="dark"], [data-theme="premium"])
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos)
:is(.hv-card, .hv2-table-wrap, .hv360-sidebar-card) {
  background: var(--ds-card) !important;
  border-color: var(--ds-border) !important;
  box-shadow: none;
}
body.ui-2026:is([data-theme="dark"], [data-theme="premium"])
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos)
:is(.hv2-table-head, .hv360-sidebar-card-header) {
  border-color: var(--ds-border) !important;
}
body.ui-2026:is([data-theme="dark"], [data-theme="premium"])
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-table-row-head {
  background: var(--ds-surface) !important;
  border-color: var(--ds-border) !important;
  color: var(--ds-muted) !important;
}
body.ui-2026:is([data-theme="dark"], [data-theme="premium"])
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos)
:is(.hv2-table-row, .hv2-doc-row, .hv2-alert-row) {
  color: var(--ds-text-secondary);
  border-color: var(--ds-border) !important;
}
body.ui-2026:is([data-theme="dark"], [data-theme="premium"])
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-table-row:hover {
  background: var(--ds-surface) !important;
}
body.ui-2026:is([data-theme="dark"], [data-theme="premium"])
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos)
:is(.hv2-row-field, .hv2-activity-row) {
  border-color: var(--ds-border) !important;
}
body.ui-2026:is([data-theme="dark"], [data-theme="premium"])
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos)
:is(.hv2-row-field-val, .hv2-alert-title, .hv2-activity-title) {
  color: var(--ds-text) !important;
}
body.ui-2026:is([data-theme="dark"], [data-theme="premium"])
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos)
:is(.hv-field-val, .hv2-row-field-lbl, .hv2-alert-meta, .hv2-activity-date, .hv360-sidebar-card-title) {
  color: var(--ds-text-secondary) !important;
}
body.ui-2026:is([data-theme="dark"], [data-theme="premium"])
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv-field-label {
  color: var(--ds-muted) !important;
}
body.ui-2026:is([data-theme="dark"], [data-theme="premium"])
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos)
:is(.hv2-progress-track, .hv2-tab-badge) {
  background: var(--ds-surface);
  border-color: var(--ds-border);
  color: var(--ds-text-secondary);
}
body.ui-2026:is([data-theme="dark"], [data-theme="premium"])
.view:not(#view-generador):not(#view-aprobacion)
:is(.card-xl, .card-sm, .card-md, .ds-card, .section-card, .inner-card,
    .repo-kpi-card, .repo-doc-card, .legal-card, .ctr-widget, .form-section,
    .hv-card, .hv2-table-wrap, .hv360-sidebar-card) {
  background: linear-gradient(145deg, rgba(255,255,255,.035), transparent 55%), var(--ds-card) !important;
  border: 1px solid rgba(167,139,250,.48) !important;
  box-shadow: 0 0 0 1px rgba(167,139,250,.1),
    0 10px 28px rgba(0,0,0,.24),
    0 8px 32px rgba(139,92,246,.38),
    0 0 14px rgba(139,92,246,.18),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
}
body.ui-2026:is([data-theme="dark"], [data-theme="premium"])
.view:not(#view-generador):not(#view-aprobacion)
:is(.card-hdr-row, .section-card-header, .repo-panel-head,
    .hv2-table-row-head, .hv360-sidebar-card-header) {
  background: rgba(255,255,255,.045) !important;
  color: var(--ds-text-secondary) !important;
  border-color: rgba(190,195,220,.2) !important;
}
body.ui-2026:is([data-theme="dark"], [data-theme="premium"]) .view
:is(.ds-subtab, .dot-subtab, .hv2-tab, .fsp-seg, .repo-vt-btn).active {
  background: #f1f2f5 !important;
  color: #101218 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.18);
}
body.ui-2026:is([data-theme="dark"], [data-theme="premium"]) .view
:is(.ds-sub, .hv2-metric-sub, .ds-eyebrow, .kpi-label, .kpi-sub) {
  color: var(--ds-muted) !important;
}
body.ui-2026 :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-avatar {
  background: #c4b5fd;
  color: #251544;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: .02em;
}
body.ui-2026 .hv2-avatar svg { stroke: currentColor; }
body.ui-2026 .fdir-v3-avatar {
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.42);
  border: 1px solid rgba(255,255,255,.28);
}
body.ui-2026:is([data-theme="dark"], [data-theme="premium"])
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-tab.active {
  background: #f1f2f5 !important;
  color: #101218 !important;
}
body.ui-2026:is([data-theme="dark"], [data-theme="premium"])
:is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-tab.active .hv2-tab-badge {
  color: #303347 !important;
  background: #dfe1e9 !important;
}
body.ui-2026:is([data-theme="dark"], [data-theme="premium"]) .fdir-v3-badge[data-marco="aps"] { color: #8ee0a7 !important; }
body.ui-2026:is([data-theme="dark"], [data-theme="premium"]) .fdir-v3-badge[data-marco="ct"] { color: #c4b5fd !important; }
body.ui-2026:is([data-theme="dark"], [data-theme="premium"]) .fdir-v3-badge[data-marco="hon"] { color: #ffd08a !important; }
body.ui-2026 .fdir-v3-badge-dot { background: currentColor !important; }
@media (max-width: 820px) {
  body.ui-2026 #view-funcionarios > div:first-child { padding-left: 20px !important; padding-right: 20px !important; }
}
/* Origen: css/tema-expediente.css · reglas de componentes de personal */
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-btn {
  background: #fff;
  border: 1px solid var(--ds-border-strong);
  color: #3E382F;
  border-radius: var(--ds-radius-sm);
  box-shadow: none;
}
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-btn:hover {
  background: #FCFBF8;
  border-color: #B8B0A0;
  color: #23201B;
}
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-btn.primary {
  background: var(--ds-accent);
  border-color: var(--ds-accent);
  color: #fff;
}
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-btn.primary:hover { background: #16222E; }
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-shell {
  background: transparent;
  border: none;
  border-radius: 0;
  border-top: 2px solid var(--ds-accent);   /* filete de cabecera */
}
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-band { color: var(--ds-text); padding: 22px 0 0; }
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-name {
  font-family: var(--font-display);
  font-size: 31px;
  font-weight: 600;
  letter-spacing: -.012em;
  line-height: 1.14;
  color: var(--ds-text);
}
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-subtitle {
  font-size: 13px;
  color: var(--ds-text-secondary);
  margin-top: 9px;
}
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-avatar {
  background: var(--ds-surface);
  border: 1px solid var(--ds-border-strong);
  border-radius: var(--ds-radius);
  color: var(--ds-accent);
}
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-metrics {
  gap: 32px;
  padding: 18px 0 16px;
  border-top: 1px solid var(--ds-border);
  margin-top: 20px;
}
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-metric-label {
  display: block;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .3px;
  text-transform: none;
  color: #5A5348;          /* ~6.9:1 — antes rondaba 3:1 */
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
}
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-metric-val {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 600;
  color: var(--ds-text);
  margin-top: 3px;
}
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-metric-unit { font-size: 13px; font-weight: 400; color: #6B655A; }
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-metric-sub { font-size: 11px; color: #6B655A; margin-top: 3px; }
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-status-badge {
  border-radius: var(--ds-radius-sm);
  font-weight: 600;
  letter-spacing: .7px;
}
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-status-badge.on {
  color: #2F5B44; background: #E9EFEA; border: 1px solid #C9D8CE;
}
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-status-badge.off {
  color: #453F35; background: #F1EDE2; border: 1px solid var(--ds-border-strong);
}
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-alert-row, body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-activity-row {
  border-bottom: 1px solid #EFEBE1;
}
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-alert-title, body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-activity-title {
  color: var(--ds-text);
  font-weight: 500;
}
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-alert-meta, body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-activity-date {
  color: #6B655A;          /* subido desde #94a3b8 */
  font-variant-numeric: tabular-nums;
}
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-row-field-lbl {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .3px;
  color: #5A5348;
}
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-row-field-val { color: var(--ds-text); }
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-doc-row { border-bottom: 1px solid #EFEBE1; }
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) th {
  color: #453F35;
  font-weight: 600;
  letter-spacing: .6px;
}
body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) td, body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-metric-val, body[data-theme="expediente"] :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-alert-meta {
  font-variant-numeric: tabular-nums;
}
/* Origen: css/permisos-workbench.css · reglas de componentes de personal */
:is(#view-hoja-vida,#view-permisos) .perm-duracion { min-width:0; line-height:1.4; font-variant-numeric:tabular-nums; }
:is(#view-hoja-vida,#view-permisos) .perm-duracion-valor { display:block; font-size:12.5px; font-weight:700; color:var(--ds-text); }
:is(#view-hoja-vida,#view-permisos) .perm-duracion-nota { display:block; font-size:10.5px; color:var(--ds-text-secondary); margin-top:4px; white-space:normal; overflow-wrap:anywhere; }
:is(#view-hoja-vida,#view-permisos) .perm-duracion-aviso { color:var(--ds-warn); }
#view-hoja-vida .perm-ficha { min-width:0; }
#view-hoja-vida .perm-ficha-saldos { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); gap:12px; }
#view-hoja-vida .perm-ficha-scroll { overflow-x:auto; }
#view-hoja-vida .perm-ficha .perm-ficha-fila { grid-template-columns:minmax(180px,1.4fr) 100px 100px minmax(160px,1fr) 100px 66px; column-gap:12px; min-width:806px; }
#view-hoja-vida .perm-ficha-fila > * { min-width:0; }
#view-hoja-vida .perm-ficha-fila > div:first-child { overflow-wrap:anywhere; }
#view-permisos.permisos-workbench .hv2-shell { border:0; background:transparent; box-shadow:none; }
#view-permisos.permisos-workbench .hv2-band-top { gap:24px; }
#view-permisos.permisos-workbench .hv2-identity { gap:16px; min-width:0; }
#view-permisos.permisos-workbench .hv2-avatar { width:52px; height:52px; background:var(--ds-accent-soft); border:1px solid var(--ds-border); box-shadow:none; }
#view-permisos.permisos-workbench .hv2-avatar svg { stroke:var(--ds-accent); }
#view-permisos.permisos-workbench .hv2-name { font-size:clamp(22px,2.1vw,30px); letter-spacing:-.04em; color:var(--ds-text); }
#view-permisos.permisos-workbench .hv2-name-row { margin:5px 0; flex-wrap:wrap; gap:10px; }
#view-permisos.permisos-workbench .hv2-subtitle { color:var(--ds-muted); font-size:12px; }
#view-permisos.permisos-workbench .hv2-metric-label { color:var(--ds-muted); font-size:10px; letter-spacing:.07em; text-transform:uppercase; }
#view-permisos.permisos-workbench .hv2-metric-val { font-size:29px; font-weight:750; letter-spacing:-.04em; color:var(--ds-text); font-variant-numeric:tabular-nums; }
#view-permisos.permisos-workbench .hv2-metric-sub { color:var(--ds-muted); font-size:11px; }
#view-permisos.permisos-workbench .hv2-workspace { padding:16px 0 0; gap:16px; background:transparent; }
#view-permisos.permisos-workbench .hv2-table-wrap { border-radius:12px; background:var(--ds-card); box-shadow:none; }
#view-permisos.permisos-workbench .hv2-table-row-head { padding:12px 18px; color:var(--ds-muted); background:var(--ds-surface); font-size:10px; }
#view-permisos.permisos-workbench .hv2-table-row { padding:14px 18px; background:var(--ds-card); }
#view-permisos.permisos-workbench .hv2-table-row:hover { background:var(--ds-accent-soft); }
body.ui-2026.ui-nova #view-permisos.permisos-workbench .hv2-band::before { display:none; }
body.ui-2026.ui-nova #view-permisos.permisos-workbench .hv2-band-top { padding-top:0; align-items:center; }
body.ui-2026.ui-nova #view-permisos.permisos-workbench .hv2-identity { align-items:center; }
body.ui-2026.ui-nova #view-permisos.permisos-workbench .hv2-avatar { width:52px!important; height:52px!important; border-radius:12px!important; border:1px solid var(--ds-border)!important; background:var(--ds-accent-soft)!important; color:var(--ds-accent)!important; box-shadow:none; }
body.ui-2026.ui-nova #view-permisos.permisos-workbench :is(.hv2-band,.perm-filter-card,.hv2-table-wrap,.hv2-table-row,.perm-search-control) { background:var(--ds-card)!important; color:var(--ds-text)!important; border-color:var(--ds-border)!important; box-shadow:none!important; }
body.ui-2026.ui-nova #view-permisos.permisos-workbench :is(.hv2-name,.hv2-metric-val) { color:var(--ds-text)!important; }
body.ui-2026.ui-nova #view-permisos.permisos-workbench :is(.perm-corte-carga,.hv2-table-row-head) { background:var(--ds-surface)!important; color:var(--ds-text-secondary)!important; border-color:var(--ds-border)!important; }
body.ui-2026.ui-nova #view-permisos.permisos-workbench .hv2-table-row:hover { background:var(--ds-accent-soft)!important; }
@media (max-width:700px) {
  body.ui-2026.ui-nova #view-permisos.permisos-workbench .hv2-band { padding:18px 16px 0!important; }
  #view-permisos.permisos-workbench .hv2-band { padding:18px 16px 0; }
  #view-permisos.permisos-workbench .hv2-band-top { flex-direction:column; align-items:stretch; }
  #view-permisos.permisos-workbench .hv2-metric-val { font-size:25px; }
}
#view-permisos.permisos-workbench .hv2-band { border:1px solid var(--ds-border); border-top:3px solid var(--ds-accent); border-radius:16px; background:var(--ds-card); color:var(--ds-text); padding:20px 24px 0; }
body.ui-2026.ui-nova #view-permisos.permisos-workbench .hv2-band { border-top:3px solid var(--ds-accent)!important; padding:20px 24px 0!important; }
#view-permisos.permisos-workbench .hv2-band-bottom { display:block; margin-top:16px; }
@media (min-width:1600px) {
  #view-permisos.permisos-workbench .perm-filter-card .perm-view-switcher .hv2-tab { flex:1; text-align:center; }
}
/* Origen: css/funcionarios-directorio.css · reglas de componentes de personal */
body.ui-2026.ui-nova #view-funcionarios .hv2-band::before { display:none!important; }
body.ui-2026.ui-nova #view-funcionarios .hv2-band { padding:14px 22px!important; }
body.ui-2026.ui-nova #view-funcionarios .hv2-band-top { padding-top:0!important; align-items:center!important; gap:16px!important; flex-wrap:wrap; }
body.ui-2026.ui-nova #view-funcionarios .hv2-band .hv2-band-top .hv2-avatar { width:42px!important; height:42px!important; min-width:42px!important; border-radius:11px!important; }
body.ui-2026.ui-nova #view-funcionarios .hv2-band .hv2-avatar svg { width:22px; height:22px; }
#view-funcionarios .fdir-metrics-inline { display:flex!important; flex-wrap:wrap; gap:6px!important; margin:0 0 0 auto!important; padding:0!important; }
body.ui-2026.ui-nova #view-funcionarios .fdir-metrics-inline>div {
  display:flex!important; align-items:baseline; gap:6px; min-height:0!important; padding:6px 12px!important;
  border:1px solid var(--ds-border)!important; border-radius:9px!important; background:var(--ds-surface)!important; box-shadow:none!important; animation:none!important;
}
#view-funcionarios .fdir-metrics-inline .hv2-metric-label { font-size:10.5px!important; }
#view-funcionarios .fdir-metrics-inline .hv2-metric-val { font-size:16px!important; }
#view-funcionarios .fdir-metrics-inline .hv2-metric-sub { display:none!important; }
#view-funcionarios .fdir-import-menu { position:relative; }
#view-funcionarios .fdir-import-menu>summary { list-style:none; cursor:pointer; }
#view-funcionarios .fdir-import-menu>summary::-webkit-details-marker { display:none; }
#view-funcionarios .fdir-import-pop {
  position:absolute; right:0; top:calc(100% + 6px); z-index:40; width:300px; padding:6px; display:flex; flex-direction:column; gap:2px;
  background:var(--ds-card); border:1px solid var(--ds-border); border-radius:12px; box-shadow:0 18px 40px rgba(15,23,42,.18);
}
#view-funcionarios .fdir-import-pop>* { display:block; text-align:left; padding:9px 11px; border:0; border-radius:8px; background:transparent; color:var(--ds-text); cursor:pointer; font:inherit; }
#view-funcionarios .fdir-import-pop>*:hover { background:var(--ds-accent-soft); }
#view-funcionarios .fdir-import-pop b { display:block; font-size:13px; }
#view-funcionarios .fdir-import-pop small { display:block; font-size:11.5px; color:var(--ds-muted); margin-top:2px; }
body.ui-2026.ui-nova #view-funcionarios .hv2-workspace.fdir-c-grid {
  display:grid!important; grid-template-columns:268px minmax(0,1fr)!important; gap:18px!important; align-items:start; padding-top:14px!important;
}
#view-funcionarios .fdir-c-main { min-width:0; }
#view-funcionarios .fdir-c-side {
  position:sticky; top:12px; max-height:calc(100vh - 24px); overflow-y:auto; display:flex; flex-direction:column; gap:16px;
  padding:16px; background:var(--ds-card); border:1px solid var(--ds-border); border-radius:14px;
}
#view-funcionarios .fdir-c-block { display:flex; flex-direction:column; gap:8px; }
#view-funcionarios .fdir-c-block h5 { margin:0; font-size:10.5px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; color:var(--ds-muted); }
#view-funcionarios .fdir-c-search { display:flex; align-items:center; gap:8px; padding:9px 11px; border:1px solid var(--ds-border); border-radius:9px; background:var(--ds-surface); color:var(--ds-muted); }
#view-funcionarios .fdir-c-search:focus-within { border-color:var(--ds-accent); box-shadow:0 0 0 3px var(--ds-accent-soft); }
#view-funcionarios .fdir-c-search input { flex:1; min-width:0; border:0; outline:0; background:transparent; font:inherit; font-size:13px; color:var(--ds-text); }
#view-funcionarios .fdir-c-search kbd { font-size:10px; padding:2px 6px; border:1px solid var(--ds-border); border-radius:5px; background:var(--ds-card); color:var(--ds-muted); }
#view-funcionarios .fdir-c-side select { width:100%; box-sizing:border-box; padding:9px 10px; border:1px solid var(--ds-border); border-radius:9px; background:var(--ds-surface); color:var(--ds-text); font:inherit; font-size:12.5px; font-weight:600; cursor:pointer; }
#view-funcionarios .fdir-c-count { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:12px; color:var(--ds-muted); font-weight:600; }
#view-funcionarios .fdir-c-count button { border:0; background:transparent; color:var(--ds-err); font:inherit; font-size:12px; font-weight:700; cursor:pointer; padding:2px 0; }
#view-funcionarios .fdir-c-atencion { display:flex; flex-direction:column; gap:5px; }
#view-funcionarios .fdir-c-at {
  display:flex; justify-content:space-between; align-items:center; gap:8px; padding:8px 10px; text-align:left;
  border:1px solid var(--ds-border); border-radius:9px; background:var(--ds-surface); color:var(--ds-text); font:inherit; font-size:12.5px; cursor:pointer;
}
#view-funcionarios .fdir-c-at b { font-variant-numeric:tabular-nums; }
#view-funcionarios .fdir-c-at[data-tono="err"] b { color:var(--ds-err); }
#view-funcionarios .fdir-c-at[data-tono="warn"] b { color:var(--ds-warn); }
#view-funcionarios .fdir-c-at[data-tono="mute"] b { color:var(--ds-muted); }
#view-funcionarios .fdir-c-at:hover { border-color:var(--ds-accent); }
#view-funcionarios .fdir-c-at.on { border-color:var(--ds-accent); background:var(--ds-accent-soft); box-shadow:inset 3px 0 var(--ds-accent); font-weight:650; }
body.ui-2026.ui-nova #view-funcionarios .fdir-c-tabs { display:flex!important; flex-direction:column!important; align-items:stretch!important; gap:3px!important; margin:0!important; padding:0!important; background:transparent!important; border:0!important; }
body.ui-2026.ui-nova #view-funcionarios .fdir-c-tabs .hv2-tab {
  display:flex!important; justify-content:space-between!important; align-items:center; width:100%; padding:7px 10px!important; border-radius:8px!important;
  font-size:12.5px!important; text-align:left; box-shadow:none!important;
}
body.ui-2026.ui-nova #view-funcionarios .fdir-c-tabs .hv2-tab.active { background:var(--ds-accent-soft)!important; color:var(--ds-accent)!important; }
body.ui-2026.ui-nova #view-funcionarios .fdir-v3-table td { padding-top:7px!important; padding-bottom:7px!important; }
body.ui-2026.ui-nova #view-funcionarios .fdir-v3-table td>div[style*="flex-wrap"] { flex-wrap:nowrap!important; }
body.ui-2026.ui-nova #view-funcionarios .fdir-v3-avatar { width:30px!important; height:30px!important; font-size:10.5px!important; border-radius:8px!important; }
#view-funcionarios .fdir-v3-row { cursor:pointer; }
body.ui-2026.ui-nova #view-funcionarios .fdir-v3-row.fdir-row-sel { background:var(--ds-accent-soft)!important; box-shadow:inset 3px 0 var(--ds-accent); }
body.ui-2026 #view-funcionarios.view.active { animation-name:fdirViewFade; transform:none; }
#view-funcionarios .fdir-quick {
  position:fixed; top:16px; right:16px; bottom:16px; width:min(400px, calc(100vw - 32px)); z-index:60;
  display:flex; flex-direction:column; box-sizing:border-box; max-height:calc(100dvh - 32px); overflow:hidden;
  background:var(--ds-card); color:var(--ds-text); border:1px solid var(--ds-border); border-radius:16px;
  box-shadow:0 24px 60px rgba(15,23,42,.24); animation:fdirQuickIn .18s ease-out both;
}
#view-funcionarios .fdir-quick[hidden] { display:none; }
#view-funcionarios .fq-head { display:flex; flex-shrink:0; align-items:center; gap:12px; padding:18px 18px 10px; }
#view-funcionarios .fq-av { width:46px; height:46px; flex-shrink:0; border-radius:12px; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:800; }
#view-funcionarios .fq-id { min-width:0; flex:1; }
#view-funcionarios .fq-id b { display:block; font-size:15px; line-height:1.25; overflow-wrap:anywhere; }
#view-funcionarios .fq-id span { display:block; font-size:12px; color:var(--ds-muted); margin-top:2px; overflow-wrap:anywhere; }
#view-funcionarios .fq-x { align-self:flex-start; flex-shrink:0; border:1px solid var(--ds-border); background:var(--ds-surface); color:var(--ds-muted); border-radius:8px; width:30px; height:30px; cursor:pointer; }
#view-funcionarios .fq-estado { display:flex; flex-shrink:0; align-items:center; gap:7px; padding:0 18px 14px; font-size:12px; font-weight:600; color:var(--ds-text-secondary); border-bottom:1px solid var(--ds-border); }
#view-funcionarios .fq-body { background:var(--ds-surface); flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; overflow-wrap:anywhere; }
#view-funcionarios .fq-dot { width:8px; height:8px; border-radius:50%; }
#view-funcionarios .fdir-quick section { margin:12px; padding:16px; background:var(--ds-card); border:1px solid var(--ds-border); border-radius:12px; }
#view-funcionarios .fdir-quick h6 { margin:0 0 12px; font-size:14px; font-weight:700; color:var(--ds-text); }
#view-funcionarios .fq-contract-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin-bottom:12px; }
#view-funcionarios .fq-contract-head h6 { margin:0; }
#view-funcionarios .fq-kv { display:grid; grid-template-columns:1fr 1fr; gap:10px 14px; font-size:13px; }
#view-funcionarios .fq-kv span { display:block; font-size:10.5px; color:var(--ds-muted); margin-bottom:2px; }
#view-funcionarios .fq-wide { grid-column:1/-1; }
#view-funcionarios .fq-cargando, #view-funcionarios .fq-vacio, #view-funcionarios .fq-ok { font-size:12.5px; color:var(--ds-muted); }
#view-funcionarios .fq-ok { color:var(--ds-ok); }
#view-funcionarios .fq-pend { display:flex; flex-direction:column; gap:6px; }
#view-funcionarios .fq-pend button { text-align:left; padding:8px 10px; border:1px solid var(--ds-warn); border-radius:8px; background:var(--ds-warn-soft); color:var(--ds-warn); font:inherit; font-size:12.5px; font-weight:600; cursor:pointer; }
#view-funcionarios .fq-acts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); flex-shrink:0; gap:6px; padding:16px 18px 18px; border-top:1px solid var(--ds-border); background:var(--ds-card); }
#view-funcionarios .fq-btn { padding:8px 12px; border:1px solid var(--ds-border); border-radius:9px; background:var(--ds-surface); color:var(--ds-text); font:inherit; font-size:12.5px; font-weight:600; cursor:pointer; }
#view-funcionarios .fq-btn.primary { grid-column:1/-1; background:var(--ds-accent); border-color:var(--ds-accent); color:#fff; }
#view-funcionarios :is(.fdir-c-at, .fq-btn, .fq-x, .fq-pend button, .fdir-import-pop>*):focus-visible { outline:2px solid var(--ds-accent); outline-offset:2px; }
@media (max-width:1499px) {
  body.ui-2026.ui-nova #view-funcionarios .hv2-workspace.fdir-c-grid { grid-template-columns:minmax(0,1fr)!important; }
  #view-funcionarios .fdir-c-side { position:static; max-height:none; display:grid; grid-template-columns:repeat(auto-fit, minmax(230px,1fr)); align-items:start; }
  body.ui-2026.ui-nova #view-funcionarios .fdir-c-tabs { flex-direction:row!important; flex-wrap:wrap!important; }
  body.ui-2026.ui-nova #view-funcionarios .fdir-c-tabs .hv2-tab { width:auto; gap:6px; }
}
@media (max-width:1100px) {
  #view-funcionarios .fdir-metrics-inline { margin-left:0!important; }
}
@media (max-width:600px) {
  #view-funcionarios .fdir-quick { top:0; right:0; bottom:0; width:100%; max-height:100dvh; border-radius:0; }
}
@media (prefers-reduced-motion:reduce) {
  body.ui-2026 #view-funcionarios.view.active, #view-funcionarios .fdir-quick { animation:none; }
}
/* Origen: css/contratos-gestion.css · reglas de componentes de personal */
body.ui-2026.ui-nova #view-contratos .hv2-band::before { display:none!important; }
body.ui-2026.ui-nova #view-contratos .hv2-band { padding:14px 22px!important; }
body.ui-2026.ui-nova #view-contratos .hv2-band-top { padding-top:0!important; align-items:center!important; gap:14px!important; flex-wrap:wrap; }
body.ui-2026.ui-nova #view-contratos .hv2-band .hv2-band-top .hv2-avatar { width:42px!important; height:42px!important; min-width:42px!important; border-radius:11px!important; }
body.ui-2026.ui-nova #view-contratos .hv2-band .hv2-avatar svg { width:22px; height:22px; }
#view-contratos .ctr-kpis-inline .hv2-metric-label { font-size:10.5px!important; }
body.ui-2026.ui-nova #view-contratos .hv2-band-top .hv2-actions { gap:6px!important; flex-wrap:nowrap; }
body.ui-2026.ui-nova #view-contratos .hv2-band-top .hv2-actions .hv2-btn { padding:8px 12px!important; white-space:nowrap; }
#view-contratos .ctr-kpis-inline .hv2-metric-val { font-size:16px!important; }
#view-contratos .ctr-kpis-inline .hv2-metric-sub { display:none!important; }
body.ui-2026.ui-nova #view-contratos .ctr-kpis-inline .hv2-metric-val[style*="#fbbf24"] { color:var(--ds-warn)!important; }
body.ui-2026.ui-nova #view-contratos .ctr-kpis-inline .hv2-metric-val[style*="#f87171"] { color:var(--ds-err)!important; }
body.ui-2026.ui-nova #view-contratos .hv2-workspace.ctr-c-grid {
  display:grid!important; grid-template-columns:268px minmax(0,1fr)!important; gap:18px!important; align-items:start; padding-top:14px!important;
}
body.ui-2026.ui-nova #view-contratos .ctr-c-tabs .hv2-tab {
  display:flex!important; align-items:center; gap:6px; width:100%; padding:7px 10px!important; border-radius:8px!important; font-size:12.5px!important; box-shadow:none!important;
}
body.ui-2026.ui-nova #view-contratos .ctr-c-tabs .hv2-tab .hv2-tab-badge { margin-left:auto; }
body.ui-2026.ui-nova #view-contratos .ctr-c-tabs .hv2-tab.active { background:var(--ds-accent-soft)!important; color:var(--ds-accent)!important; }
@media (max-width:1499px) {
  body.ui-2026.ui-nova #view-contratos .hv2-workspace.ctr-c-grid { grid-template-columns:minmax(0,1fr)!important; }
  body.ui-2026.ui-nova #view-contratos .ctr-c-tabs .hv2-tab { width:auto; }
}
/* Origen: css/interior-vidrio.css · reglas de componentes de personal */
:root body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-band::before {
  background:
    radial-gradient(240px 120px at 12% 120%, rgba(255,255,255,.5), transparent 70%),
    radial-gradient(360px 160px at 85% -20%, rgba(240,122,58,.28), transparent 70%),
    linear-gradient(115deg, rgba(246,226,204,.95) 0%, rgba(236,212,186,.9) 55%, rgba(244,232,218,.95) 100%);
}
:root body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-tab:not(.active) { color: var(--ds-text-secondary) !important; }
:root body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-subtitle { color: var(--ds-muted) !important; }
:root body.ui-2026.ui-nova .view :is(.hv-card, .hv2-table-wrap, .hv360-sidebar-card, .kpi-card) {
  background: var(--nova-card) !important;
  border: 1px solid rgba(255,255,255,.62) !important;
  border-radius: 20px !important;
  box-shadow: var(--ds-card-elev) !important;
}
:root body.ui-2026.ui-nova .main .hv2-tabs:not(.ctr-c-tabs) {
  background: rgba(255,255,255,.34) !important;
  border: 1px solid rgba(255,255,255,.6) !important;
  border-radius: 999px !important;
  padding: 3px !important;
}
:root body.ui-2026.ui-nova .main .hv2-tabs:not(.ctr-c-tabs) .hv2-tab { border-radius: 999px !important; }
:root body.ui-2026.ui-nova .main .hv2-tabs:not(.ctr-c-tabs) .hv2-tab.active {
  background: var(--vg-negro) !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(31,26,22,.2) !important;
}
:root body.ui-2026.ui-nova :is(#view-funcionarios .fdir-quick, #view-contratos #ctr-detail.open, #view-funcionarios .fdir-import-pop) {
  background: rgba(250,246,241,.94) !important;
  border: 1px solid rgba(255,255,255,.85) !important;
  border-radius: 24px !important;
  box-shadow: 0 30px 70px rgba(60,38,20,.28), inset 0 1px 0 rgba(255,255,255,.9) !important;
  backdrop-filter: blur(28px) saturate(150%);
  -webkit-backdrop-filter: blur(28px) saturate(150%);
}
:root body.ui-2026.ui-nova #view-funcionarios .fdir-import-pop { border-radius: 16px !important; }
/* Origen: css/ui-nova.css · reglas de componentes de personal */
body.ui-2026.ui-nova .view :is(.hv-card, .hv2-table-wrap, .hv360-sidebar-card, .kpi-card) {
  border: 1px solid var(--ds-border) !important;
  border-radius: 16px !important;
  background: var(--nova-card, #fff) !important;
  box-shadow: var(--ds-card-elev) !important;
}
body.ui-2026.ui-nova .view :is(.card-hdr-row, .section-card-header, .repo-panel-head, .hv2-table-row-head, .hv360-sidebar-card-header) {
  background: transparent !important;
  border-color: var(--ds-border) !important;
}
body.ui-2026.ui-nova :is(.kpi-val, .hv2-metric-val, .hv2-metric-value) {
  font-family: var(--font-display);
  font-weight: 800;
  letter-spacing: -.03em;
  color: var(--ds-text);
}
body.ui-2026.ui-nova :is(.kpi-sublabel, .hv2-metric-label) { color: var(--ds-muted); font-weight: 600; }
body.ui-2026.ui-nova .view :where(.ds-subtabs, .hv2-tabs, .repo-view-toggle) {
  padding: 4px;
  gap: 2px;
  border: 1px solid var(--ds-border);
  background: #EEEFF5;
  border-radius: 12px;
}
body.ui-2026.ui-nova .view :is(.ds-subtab, .dot-subtab, .hv2-tab, .fsp-seg, .repo-vt-btn) {
  color: var(--ds-text-secondary);
  border-radius: 9px;
  font-weight: 600;
}
body.ui-2026.ui-nova .view :is(.ds-subtab, .dot-subtab, .hv2-tab, .fsp-seg, .repo-vt-btn):hover {
  color: var(--ds-text);
}
body.ui-2026.ui-nova .view :is(.ds-subtab, .dot-subtab, .hv2-tab, .fsp-seg, .repo-vt-btn).active {
  background: var(--nova-card, #fff) !important;
  color: var(--ds-accent) !important;
  box-shadow: 0 1px 2px rgba(21,22,44,.06), 0 2px 8px rgba(21,22,44,.06) !important;
}
body.ui-2026.ui-nova .view :is(.hv2-tab-badge, .badge-count-xs) {
  background: var(--ds-accent-soft) !important;
  color: var(--ds-accent) !important;
  border-color: transparent !important;
}
body.ui-2026.ui-nova .view :is(.hv2-badge, .ds-badge, .ds-pill, .hv2-status-badge) {
  border-radius: 999px !important;
  font-weight: 650;
}
body.ui-2026.ui-nova .view :is(.hv2-badge--ok, .hv2-badge--warn, .hv2-badge--err, .hv2-badge--info, .hv2-status-badge)::before {
  content: "";
  width: 6px;
  height: 6px;
  margin-right: 6px;
  border-radius: 50%;
  background: currentColor;
  display: inline-block;
  flex: none;
}
body.ui-2026.ui-nova :is(.hv2-avatar, .func-det-avatar, .avatar-30) {
  background: var(--ds-grad-1) !important;
  color: #fff !important;
}
body.ui-2026.ui-nova .hv2-link { color: var(--ds-accent); font-weight: 600; }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-shell {
  background: var(--nova-card, #fff) !important;
  border: 1px solid var(--ds-border) !important;
  border-radius: 18px;
  box-shadow: var(--ds-card-elev);
}
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-workspace {
  background: var(--nova-workspace, #F8F9FC) !important;
}
body.ui-2026.ui-nova .hv2-name { font-family: var(--font-display); font-weight: 800; letter-spacing: -.02em; color: var(--ds-text); }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-metric-val[style*="#fbbf24"] { color: var(--ds-warn) !important; }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-metric-val[style*="#f87171"] { color: var(--ds-err) !important; }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) :is(.hv2-metric-unit, .hv2-metric-sub) { color: var(--ds-muted); }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-status-badge.on {
  color: var(--ds-ok); background: var(--ds-ok-soft); border-color: rgba(15,123,83,.25);
}
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-status-badge.off {
  color: var(--ds-text-secondary); background: var(--ds-surface); border-color: var(--ds-border);
}
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-btn.ghost {
  color: var(--ds-text); background: var(--nova-card, #fff); border-color: var(--ds-border);
}
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-btn.primary {
  color: #fff; background: var(--ds-grad-1);
}
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-band .hv2-tabs {
  padding: 0; background: transparent; border: 0; border-radius: 0; gap: 4px;
}
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-band .hv2-tab {
  color: var(--ds-text-secondary) !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: inset 0 -2px 0 transparent !important;
}
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-band .hv2-tab:hover { color: var(--ds-text) !important; }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-band .hv2-tab.active {
  color: var(--ds-accent) !important;
  background: transparent !important;
  box-shadow: inset 0 -2px 0 var(--ds-accent) !important;
}
body.ui-2026.ui-nova .fdir-v3-table-card {
  background: var(--nova-card, #fff) !important;
  border: 1px solid var(--ds-border) !important;
  border-radius: 16px !important;
  box-shadow: var(--ds-card-elev);
}
body.ui-2026.ui-nova #view-funcionarios .fdir-v3-table thead tr { background: #FAFAFD; border-color: var(--ds-border); }
body.ui-2026.ui-nova #view-funcionarios .fdir-v3-table td { border-color: #EEEFF5; }
body.ui-2026.ui-nova #view-funcionarios .fdir-v3-table tbody tr:hover { background: #F8F7FF; }
body.ui-2026.ui-nova .fdir-v3-avatar { color: #15162C; text-shadow: none; border-color: rgba(21,22,44,.08); }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-band {
  background: var(--nova-card, #fff) !important;
  background-image: radial-gradient(520px 200px at 92% -40%, rgba(var(--nova-a-rgb, 91,75,245),.08), transparent 70%) !important;
  border-bottom: 1px solid var(--ds-border) !important;
  color: var(--ds-text);
  position: relative;
  padding-top: 0 !important;
}
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-band::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 84px;
  background:
    radial-gradient(240px 120px at 12% 120%, rgba(255,255,255,.45), transparent 70%),
    radial-gradient(360px 160px at 85% -20%, rgba(var(--nova-agua-rgb, 45,181,232),.30), transparent 70%),
    linear-gradient(115deg, #C8F0E6 0%, #BDE6F2 50%, #D3E7FF 100%);
}
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-band-top {
  position: relative;
  z-index: 1;
  align-items: flex-end;
  padding-top: 56px;
}
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-identity { align-items: flex-end; gap: 18px; }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-avatar {
  width: 80px !important;
  height: 80px !important;
  border-radius: 24px !important;
  border: 4px solid #fff !important;
  background: var(--ds-grad-1) !important;
  color: #fff !important;
  font-family: var(--font-display);
  font-size: 26px !important;
  box-shadow: 0 10px 26px rgba(var(--nova-a-rgb, 91,75,245),.28);
}
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-avatar svg { width: 34px; height: 34px; }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-name { font-size: 22px; }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-subtitle { color: var(--ds-muted); font-size: 13px; margin-top: 3px; }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-metrics { gap: 12px; padding-bottom: 16px; }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-metrics > div {
  min-width: 150px;
  padding: 12px 16px;
  border: 1px solid var(--ds-border);
  border-radius: 14px;
  background: var(--nova-card, #fff);
  box-shadow: 0 1px 2px rgba(21,22,44,.04);
}
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-metric-label {
  border-color: var(--ds-accent-border);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--ds-muted);
  font-size: 11px;
  letter-spacing: .02em;
  text-transform: none;
}
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-metric-label::before {
  content: "";
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--ds-accent);
}
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-metrics > div:nth-child(2) .hv2-metric-label::before { background: #21C08B; }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-metrics > div:nth-child(3) .hv2-metric-label::before { background: #2DB5E8; }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-metrics > div:nth-child(4) .hv2-metric-label::before { background: #F7B23B; }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-metric-val { color: var(--ds-text); font-size: 24px; margin-top: 4px; }
body.ui-2026.ui-nova #view-hoja-vida .hv2-metric-val[style*="#e8edf5"] { color: var(--ds-text) !important; }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-contratos, #view-permisos) .hv2-actions { margin-left: auto; }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-contratos, #view-permisos) .hv2-band-bottom { flex-direction: column; align-items: stretch; gap: 4px; }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-contratos, #view-permisos) .hv2-band-bottom .hv2-metrics > div { flex: 1 1 0; }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-contratos, #view-permisos) .hv2-band-bottom .hv2-tabs { border-top: 1px solid var(--ds-border); padding-top: 2px; }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-btn.amber {
  color: var(--ds-warn);
  background: var(--ds-warn-soft);
  border-color: rgba(168,90,7,.25);
}
body.ui-2026.ui-nova #view-funcionarios .hv2-band .hv2-tabs { gap: 8px; flex-wrap: wrap; }
body.ui-2026.ui-nova #view-funcionarios .hv2-band .hv2-tab {
  padding: 7px 12px !important;
  border: 1px solid var(--ds-border) !important;
  border-radius: 999px !important;
  background: var(--nova-card, #fff) !important;
  box-shadow: none !important;
}
body.ui-2026.ui-nova #view-funcionarios .hv2-band .hv2-tab.active {
  border-color: var(--ds-accent-border) !important;
  background: var(--ds-accent-soft) !important;
  color: var(--ds-accent) !important;
  box-shadow: none !important;
}
body.ui-2026.ui-nova #view-funcionarios .hv2-band .hv2-tab .hv2-tab-badge { background: var(--ds-surface) !important; color: var(--ds-text-secondary) !important; }
body.ui-2026.ui-nova #view-funcionarios .hv2-band .hv2-tab.active .hv2-tab-badge { background: var(--nova-card, #fff) !important; color: var(--ds-accent) !important; }
body.ui-2026.ui-nova #view-funcionarios .hv2-band-bottom span[style*="#7e8aa3"] { color: var(--ds-muted) !important; }
body.ui-2026.ui-nova #view-funcionarios .hv2-band-bottom { padding-bottom: 18px; }
body.ui-2026.ui-nova #view-funcionarios .fdir-v3-row td { padding-top: 12px !important; padding-bottom: 12px !important; }
body.ui-2026.ui-nova #view-funcionarios .fdir-v3-avatar {
  width: 38px; height: 38px;
  border-radius: 12px !important;
  font-weight: 800;
}
body.ui-2026.ui-nova #view-hoja-vida .hv-card { padding: 20px 22px !important; border-radius: 18px !important; }
body.ui-2026.ui-nova #view-hoja-vida .hv-card-title {
  color: var(--ds-text) !important;
  font-family: var(--font-display);
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
  text-transform: none !important;
}
body.ui-2026.ui-nova #view-hoja-vida .hv2-row-field { padding: 9px 0; border-bottom: 1px solid #F0F1F6; }
body.ui-2026.ui-nova #view-hoja-vida .hv2-row-field:last-child { border-bottom: 0; }
body.ui-2026.ui-nova #view-hoja-vida .hv2-row-field-lbl { color: var(--ds-muted) !important; }
body.ui-2026.ui-nova #view-hoja-vida .hv2-row-field-val { color: var(--ds-text) !important; font-weight: 650; text-align: right; }
body.ui-2026.ui-nova #view-hoja-vida .hv-field-label {
  color: var(--ds-muted) !important;
  font-size: 11px;
  letter-spacing: .02em;
  text-transform: none;
}
body.ui-2026.ui-nova #view-hoja-vida .hv-field-val { color: var(--ds-text) !important; font-weight: 650; }
body.ui-2026.ui-nova #view-hoja-vida .hv2-progress-track { height: 8px; background: #EEEFF5; }
body.ui-2026.ui-nova #view-hoja-vida .hv2-progress-fill { background: var(--ds-grad-1); }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-badge {
  display: inline-flex; align-items: center;
  padding: 3px 9px; border-radius: 999px;
  font-size: 10.5px; letter-spacing: .02em;
}
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-badge--ok { color: var(--ds-ok); background: var(--ds-ok-soft); border-color: rgba(15,123,83,.2); }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-badge--warn { color: var(--ds-warn); background: var(--ds-warn-soft); border-color: rgba(168,90,7,.2); }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-badge--danger { color: var(--ds-err); background: var(--ds-err-soft); border-color: rgba(201,42,65,.2); }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-badge--neutral { color: var(--ds-text-secondary); background: var(--ds-surface); border-color: var(--ds-border); }
body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-badge--danger::before {
  content: ""; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: currentColor;
}
body.ui-2026.ui-nova #view-hoja-vida .hv360-sidebar-card { border-radius: 18px !important; overflow: hidden; }
body.ui-2026.ui-nova #view-hoja-vida .hv360-sidebar-card-header { padding: 14px 16px !important; border-bottom: 1px solid var(--ds-border) !important; }
body.ui-2026.ui-nova #view-hoja-vida .hv2-alert-row { border-bottom: 1px solid #F0F1F6; }
body.ui-2026.ui-nova #view-hoja-vida .hv2-alert-row:hover { background: #FFF8F9; }
body.ui-2026.ui-nova #view-hoja-vida .hv2-alert-dot { width: 8px; height: 8px; box-shadow: 0 0 0 3px rgba(201,42,65,.12); }
body.ui-2026.ui-nova #view-hoja-vida .hv2-alert-title,
body.ui-2026.ui-nova #view-hoja-vida .hv2-activity-title { color: var(--ds-text) !important; }
body.ui-2026.ui-nova #view-hoja-vida :is(.hv2-alert-meta, .hv2-activity-date) { color: var(--ds-muted) !important; }
body.ui-2026.ui-nova #view-hoja-vida .hv2-count-pill { background: var(--ds-err); }
body.ui-2026.ui-nova #view-hoja-vida .hv2-activity-dot { background: var(--ds-accent); box-shadow: 0 0 0 3px var(--ds-accent-soft); }
@media (max-width: 900px) {
  body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-band-top { padding-top: 48px; align-items: flex-start; }
  body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-avatar { width: 64px !important; height: 64px !important; font-size: 21px !important; }
  body.ui-2026.ui-nova :is(#view-hoja-vida, #view-funcionarios, #view-contratos, #view-permisos) .hv2-metrics > div { min-width: 0; flex: 1 1 140px; }
}
body.ui-2026.ui-nova #view-permisos .perm-view-switcher .hv2-tab.active {
  color: var(--ds-accent) !important;
  box-shadow: inset 0 -2px 0 var(--ds-accent) !important;
}
body.ui-2026.ui-nova #view-permisos .hv2-table-wrap {
  border: 1px solid var(--ds-border) !important;
  border-radius: 18px !important;
  background: var(--nova-card, #fff) !important;
  box-shadow: var(--ds-card-elev) !important;
}
body.ui-2026.ui-nova #view-permisos .hv2-table-row-head {
  background: #FAFAFD !important;
  border-bottom: 1px solid var(--ds-border) !important;
  color: #5E6182 !important;
  font-size: 11px !important;
  letter-spacing: .06em !important;
}
body.ui-2026.ui-nova #view-permisos .hv2-table-row {
  background: var(--nova-card, #fff) !important;
  border-bottom: 1px solid #F0F1F6 !important;
}
body.ui-2026.ui-nova #view-permisos .hv2-table-row:hover { background: #F8F7FF !important; }

/* Contratos: dimensiones y estado visual del selector en un único lugar.
 * JavaScript modifica aria-pressed; no acumula colores ni anchos inline. */
#view-hoja-vida .hv-contratos-panel { max-width:780px; min-width:0; display:flex; flex-direction:column; gap:14px; }
#view-hoja-vida .hv-contrato-vista { display:flex; border:1px solid var(--ds-border); border-radius:8px; overflow:hidden; }
#view-hoja-vida .hv-contrato-vista button { border:0; padding:6px 13px; font-family:inherit; font-size:12px; font-weight:600; line-height:1.4; cursor:pointer; background:var(--ds-card); color:var(--ds-text-secondary); }
#view-hoja-vida .hv-contrato-vista button[aria-pressed="true"] { background:var(--ds-accent); color:#fff; }

/* El perfil se adapta al espacio disponible dentro de la ficha. */
#view-hoja-vida .hv-perfil {
  display: grid;
  gap: 16px;
  width: 100%;
  max-width: 1080px;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
}
#view-hoja-vida .hv-perfil-identidad {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
}
#view-hoja-vida .hv-perfil .hv-card { min-width: 0; overflow-wrap: anywhere; }
#view-hoja-vida .hv-perfil :is(.hv-grid, .hv-grid-3) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 185px), 1fr));
}
#view-hoja-vida .hv-perfil .hv2-row-field { align-items: baseline; gap: 12px; }
#view-hoja-vida .hv-perfil .hv2-row-field-val { min-width: 0; text-align: end; }
#view-hoja-vida .hv-perfil-editar {
  border: 1px solid var(--ds-border);
  border-radius: 8px;
  padding: 8px 14px;
  background: var(--ds-card);
  color: var(--ds-accent);
  font: inherit;
  font-weight: 650;
  cursor: pointer;
}
#view-hoja-vida .hv-perfil-editar:focus-visible { outline: 2px solid var(--ds-accent); outline-offset: 2px; }
@media (max-height: 520px) {
  #view-funcionarios .fdir-quick { overflow-y: auto; }
  #view-funcionarios .fq-body { flex: none; overflow: visible; }
}
