.priority-row{align-items:center}
.priority-row>div{min-width:0}
.priority-row strong,.priority-row small{display:block}
.priority-row strong{margin-bottom:4px}

/* Identidad visual neutral para gestión de personas */
:root{--navy:#ffffff;--navy-2:#f4f4f4;--green:#0b9f62;--green-2:#55c8a8;--mint:#e5f8f1;--purple:#67549a;--amber:#ff7a45;--red:#e65d62;--ink:#242424;--muted:#6b6b72;--line:#d6d6d9;--surface:#fff;--bg:#efefef}
body{border-left:4px solid var(--purple)}
.sidebar{background:#fff;color:#242424;border-right:1px solid #d6d6d9;box-shadow:3px 0 14px rgba(38,38,38,.05)}
.brand{padding-top:20px;border-bottom:1px solid #e4e4e4;margin-bottom:16px;align-items:flex-start}
.brand>span.people-mark{width:42px;height:42px;border-radius:10px;background:#079447;color:#fff;display:grid;place-items:center;font-size:16px;line-height:1;font-weight:900;letter-spacing:.2px;margin-top:0}
.brand>div{padding-left:12px;border-left:1px solid #dedede}
.brand strong{color:#242424}.brand small{color:#73737a}
.sidebar nav button,.side-bottom button{color:#4d426f;border:1px solid transparent}
.sidebar nav button i,.side-bottom button i{color:#0b9f62}
.sidebar nav button.active,.sidebar nav button:hover{background:#2d2d2d;color:#fff;border-color:#2d2d2d}
.sidebar nav button.active i,.sidebar nav button:hover i{color:#fff}
.side-bottom .reset{color:#b44142;border-color:#ead5d5}.side-bottom p{color:#777}.side-bottom p i{background:#55c8a8}
.topbar{box-shadow:0 3px 12px rgba(38,38,38,.05)}
.eyebrow{color:#079447}
.btn{border-color:#67549a;color:#574681;border-radius:6px;background:#fff}
.btn.primary{background:#2d2d2d;border-color:#2d2d2d;color:#fff}
.btn.secondary:hover{border-color:#079447;color:#079447}
.hero{background:#fff;color:#242424;border-radius:12px;border:1px solid #d6d6d9;border-top:4px solid #079447;box-shadow:none}
.hero:before{content:"GESTIÓN DE PERSONAS";font-weight:900;color:#079447;font-size:12px;letter-spacing:.8px;align-self:flex-start;margin-right:-8px}
.hero p{color:#67676f}.hero .hero-stat{border-left-color:#d8d8d8}.hero-stat span{color:#73737a}
.kpi,.card,.filter-panel,.table-card{border-color:#d3d3d6;border-radius:12px;box-shadow:none}
.kpi:before{background:#55c8a8}.kpi.blue:before{background:#149de1}.kpi.purple:before{background:#67549a}.kpi.amber:before{background:#ff7a45}.kpi.red:before{background:#e65d62}
.donut{box-shadow:inset 0 0 0 1px rgba(0,0,0,.03)}
.timeline-bar i{background:#149de1}
.track i{background:linear-gradient(90deg,#079447,#55c8a8)}
.quality-item .track i{background:linear-gradient(90deg,#149de1,#55b8e8)}
.callout{border-left-color:#ff7a45;background:#fff6f0;color:#684636}
.pill{background:#e5f8f1;color:#087447}.pill.warn{background:#fff0e8;color:#a34b22}.pill.bad{background:#ffe8e8;color:#a5383b}
.text-btn{color:#079447}
.drawer{border-left:4px solid #67549a}
.drawer .eyebrow{color:#079447}
@media(max-width:760px){body{border-left-width:3px}.sidebar{box-shadow:12px 0 28px rgba(38,38,38,.18)}.hero:before{display:none}}

.sidebar-fold{position:absolute;right:-15px;top:112px;width:30px;height:30px;border-radius:50%;border:1px solid #cfcfd3;background:#fff;color:#574681;font-size:21px;z-index:3;box-shadow:0 3px 10px rgba(0,0,0,.08)}
.source-status{margin-left:auto;margin-right:14px;text-align:right;max-width:240px}.source-status strong,.source-status span{display:block}.source-status strong{font-size:11px;color:#333}.source-status span{font-size:10px;color:#73737a;margin-top:3px}
.top-actions{margin-left:0}.top-actions .btn{white-space:nowrap}
body.sidebar-collapsed .sidebar{width:82px}body.sidebar-collapsed .shell{margin-left:82px}body.sidebar-collapsed .brand{padding:24px 12px;justify-content:center}body.sidebar-collapsed .brand>div{display:none}body.sidebar-collapsed .brand>span.people-mark{width:38px;height:38px;font-size:14px}body.sidebar-collapsed .sidebar nav button{justify-content:center;padding:13px 8px}body.sidebar-collapsed .sidebar nav button span,body.sidebar-collapsed .sidebar nav button b,body.sidebar-collapsed .side-bottom button span,body.sidebar-collapsed .side-bottom p{display:none}body.sidebar-collapsed .sidebar nav button i,body.sidebar-collapsed .side-bottom button i{width:auto}body.sidebar-collapsed .side-bottom button{justify-content:center}body.sidebar-collapsed .sidebar-fold{transform:rotate(180deg)}
.filter-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:10px}.filter-head strong{font-size:13px}.filter-head span{font-size:11px;color:#73737a;margin-left:8px}.filter-toggle{border:1px solid #67549a;background:#fff;color:#574681;border-radius:6px;padding:7px 10px;font-weight:800}.filter-panel.is-collapsed .filters{display:none}.filter-panel.is-collapsed .filter-actions{margin-top:0}.active-filter-summary{color:#574681!important;font-weight:700}.filters{grid-template-columns:1.35fr repeat(6,1fr)}
.kpi[data-jump],.chart-action{cursor:pointer}.kpi[data-jump]:hover{border-color:#079447;transform:translateY(-2px);transition:.15s}.legend button{border:0;background:transparent;display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;text-align:left;padding:4px;color:inherit}.legend button:hover span{text-decoration:underline}.timeline-col button{border:0;background:transparent;padding:0;width:100%;color:inherit}.timeline-col button:hover i{filter:brightness(.85)}
.status-banner{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #d3d3d6;border-radius:10px;padding:10px 14px;margin-bottom:14px}.status-banner i{width:9px;height:9px;border-radius:50%;background:#0b9f62}.status-banner strong{font-size:12px}.status-banner span{font-size:11px;color:#73737a;margin-left:auto}.invalid-list{margin:8px 0 0;padding-left:20px;color:#a5383b;font-size:12px}
@media(max-width:1320px){.source-status{display:none}.top-actions .btn{padding:10px 12px;font-size:12px}.filters{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.sidebar-fold{display:none}body.sidebar-collapsed .sidebar{width:250px;transform:translateX(-100%)}body.sidebar-collapsed .shell{margin-left:0}.source-status{display:none}.top-actions{overflow:auto}.top-actions .btn{min-width:max-content}.filters{grid-template-columns:1fr 1fr}.filter-head{align-items:flex-start}.filter-head>div{display:grid}.filter-head span{margin:3px 0 0}}

.wide-table{min-width:1680px}.wide-table th,.wide-table td{vertical-align:top}.wide-table td:nth-child(3),.wide-table td:nth-child(6){min-width:150px}.wide-table td:nth-child(4),.wide-table td:nth-child(5){min-width:125px}
@media(max-width:760px){.filters{grid-template-columns:1fr}.wide-table{min-width:1580px}}

/* Composición compacta: cada tarjeta conserva la altura real de su contenido. */
.grid-2{align-items:start}
.grid-2>.card{width:100%;padding:18px 20px}
.grid-2 .card-head{margin-bottom:10px}
.donut-wrap{min-height:0;padding:8px 0 4px;gap:34px}
.donut{width:152px;height:152px}.donut:after{width:92px;height:92px}
.timeline{height:164px;padding-top:4px}
.timeline-bar{height:112px}
.bar-list{gap:11px}
.callout{padding:13px 15px}
@media(max-width:760px){.grid-2>.card{padding:16px}.donut-wrap{gap:18px}.timeline{height:156px}.timeline-bar{height:106px}}
