
:root{
 --di-navy:#102a43;--di-blue:#176fa8;--di-cyan:#1799a6;--di-teal:#188269;
 --di-red:#c74440;--di-orange:#e78a2e;--di-amber:#d6a22e;--di-green:#2f855a;
 --di-ink:#243b53;--di-muted:#627d98;--di-line:#d9e2ec;--di-bg:#f4f7fa;--di-card:#fff;
 --di-shadow:0 13px 36px rgba(16,42,67,.10);
}
#directorio-invierte-app,#directorio-invierte-app *{box-sizing:border-box}
#directorio-invierte-app{min-height:100vh;background:var(--di-bg);color:var(--di-ink);font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;line-height:1.45}
#directorio-invierte-app a{color:inherit}
.di-top{position:sticky;top:0;z-index:60;background:rgba(16,42,67,.97);box-shadow:0 4px 18px rgba(0,0,0,.13)}
.di-top-inner{max-width:1440px;margin:auto;padding:11px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.di-brand{display:flex;align-items:center;gap:11px;color:#fff;font-weight:850}
.di-brand-mark{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--di-cyan),var(--di-blue));font-size:19px}
.di-nav{display:flex;gap:5px;flex-wrap:wrap}
.di-nav a{text-decoration:none;color:#e5f0f7;font-size:13px;font-weight:750;padding:8px 10px;border-radius:9px}
.di-nav a:hover{background:rgba(255,255,255,.11)}
.di-shell{max-width:1440px;margin:auto;padding:0 22px 50px}
.di-hero{margin:0 -22px;padding:54px 22px 64px;background:
 radial-gradient(circle at 83% 23%,rgba(23,153,166,.30),transparent 28%),
 linear-gradient(130deg,#0c2438,#173f5f 58%,#135d74);color:#fff}
.di-hero-inner{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.35fr .65fr;gap:28px;align-items:center}
.di-eyebrow{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.12);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.5px}
.di-hero h1{font-size:clamp(35px,5vw,62px);line-height:1.03;margin:17px 0 15px;max-width:920px}
.di-hero p{font-size:18px;color:#dbe9f2;max-width:850px;margin:0}
.di-hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:25px}
.di-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:12px 17px;font-weight:850;text-decoration:none;cursor:pointer;transition:.2s}
.di-btn:hover{transform:translateY(-1px)}
.di-btn-primary{background:#fff;color:var(--di-navy)}
.di-btn-secondary{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.22)}
.di-note{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);padding:21px;border-radius:20px}
.di-note strong{display:block;margin-bottom:8px}
.di-note p{font-size:14px}
.di-section{padding-top:38px;scroll-margin-top:72px}
.di-section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px}
.di-section-head h2{margin:0;color:var(--di-navy);font-size:28px;line-height:1.1}
.di-section-head p{margin:7px 0 0;color:var(--di-muted);max-width:820px}
.di-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:-34px;position:relative;z-index:2}
.di-kpi{background:#fff;border:1px solid var(--di-line);border-radius:17px;padding:19px;min-height:135px;box-shadow:var(--di-shadow)}
.di-kpi-icon{width:37px;height:37px;border-radius:11px;display:grid;place-items:center;background:#e8f5f6;color:var(--di-teal);font-weight:900;margin-bottom:11px}
.di-kpi-value{font-size:29px;font-weight:900;color:var(--di-navy);letter-spacing:-.6px}
.di-kpi-label{font-weight:800;margin-top:2px}
.di-kpi-hint{font-size:12px;color:var(--di-muted);margin-top:7px}
.di-insights{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:18px}
.di-insight{background:#fff;border-radius:15px;padding:17px;border-left:5px solid var(--di-blue);box-shadow:0 7px 22px rgba(16,42,67,.06)}
.di-insight.warning{border-left-color:var(--di-orange)}
.di-insight.danger{border-left-color:var(--di-red)}
.di-insight b{display:block;color:var(--di-navy);margin-bottom:5px}
.di-grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.di-card{background:#fff;border:1px solid var(--di-line);border-radius:18px;padding:22px;box-shadow:0 8px 25px rgba(16,42,67,.06)}
.di-card-title{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}
.di-card-title h3{margin:0;color:var(--di-navy);font-size:20px}
.di-card-title small{color:var(--di-muted)}
.di-bar-list{display:flex;flex-direction:column;gap:12px}
.di-bar-row{display:grid;grid-template-columns:minmax(150px,1.25fr) 2fr 82px;gap:11px;align-items:center}
.di-bar-name{font-size:13px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.di-bar-track{height:12px;border-radius:99px;background:#edf2f7;overflow:hidden}
.di-bar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--di-blue),var(--di-cyan))}
.di-bar-value{text-align:right;font-size:13px;font-weight:850;color:var(--di-navy)}
.di-donut-wrap{display:grid;grid-template-columns:190px 1fr;align-items:center;gap:20px}
.di-donut{width:180px;height:180px;border-radius:50%;position:relative;margin:auto}
.di-donut:after{content:"";position:absolute;inset:33px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px var(--di-line)}
.di-donut-center{position:absolute;z-index:2;inset:0;display:grid;place-items:center;text-align:center;font-weight:900;color:var(--di-navy)}
.di-donut-center span{display:block;color:var(--di-muted);font-size:12px;font-weight:700}
.di-legend{display:flex;flex-direction:column;gap:10px}
.di-legend-row{display:grid;grid-template-columns:12px 1fr auto;gap:9px;align-items:center;font-size:13px}
.di-dot{width:10px;height:10px;border-radius:50%}
.di-legend-row b{color:var(--di-navy)}
.di-organ-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.di-organ{background:#fff;border:1px solid var(--di-line);border-radius:16px;padding:19px;border-top:4px solid var(--di-blue)}
.di-organ:nth-child(2){border-top-color:var(--di-cyan)}
.di-organ:nth-child(3){border-top-color:var(--di-orange)}
.di-organ-code{font-size:28px;font-weight:900;color:var(--di-navy)}
.di-organ-name{font-weight:800;margin:5px 0}
.di-organ-count{color:var(--di-muted);font-size:13px}
.di-controls{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:10px;margin-bottom:14px}
.di-input,.di-select{width:100%;min-height:43px;border:1px solid #bcccdc;background:#fff;color:var(--di-ink);border-radius:11px;padding:10px 12px;font:inherit}
.di-actions{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:15px}
.di-small-btn{border:0;border-radius:10px;background:var(--di-navy);color:#fff;padding:10px 13px;font-weight:800;cursor:pointer}
.di-small-btn.secondary{background:#e7eef4;color:var(--di-navy)}
.di-result-count{margin-left:auto;color:var(--di-muted);font-size:13px;align-self:center}
.di-table-wrap{overflow:auto;border:1px solid var(--di-line);border-radius:14px}
.di-table{width:100%;min-width:1150px;border-collapse:collapse;background:#fff}
.di-table th{position:sticky;top:0;background:#eaf2f7;color:var(--di-navy);text-align:left;padding:12px;font-size:11px;text-transform:uppercase;letter-spacing:.35px;border-bottom:1px solid var(--di-line);z-index:1}
.di-table td{padding:12px;border-bottom:1px solid #edf2f7;font-size:13px;vertical-align:top}
.di-table tr:hover td{background:#f7fafc}
.di-person{font-weight:850;color:var(--di-navy)}
.di-sub{font-size:12px;color:var(--di-muted);margin-top:3px}
.di-pill{display:inline-block;padding:4px 8px;border-radius:999px;background:#e7f2f7;color:#155d88;font-size:11px;font-weight:850}
.di-pill.uf{background:#e4f4f1;color:#146b59}
.di-pill.uei{background:#fff1db;color:#966313}
.di-contact-links{display:flex;flex-direction:column;gap:4px}
.di-contact-links a{text-decoration:none;color:var(--di-blue);word-break:break-all}
.di-pagination{display:flex;justify-content:center;align-items:center;gap:9px;margin-top:14px}
.di-page-btn{border:1px solid var(--di-line);background:#fff;border-radius:9px;padding:8px 11px;cursor:pointer;font-weight:750;color:var(--di-navy)}
.di-page-btn:disabled{opacity:.45;cursor:not-allowed}
.di-quality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.di-quality{background:#fff;border:1px solid var(--di-line);border-radius:15px;padding:16px}
.di-quality.high{border-top:4px solid var(--di-red)}
.di-quality.medium{border-top:4px solid var(--di-amber)}
.di-quality.info{border-top:4px solid var(--di-blue)}
.di-quality-head{display:flex;justify-content:space-between;gap:10px}
.di-quality h4{margin:0;color:var(--di-navy);font-size:15px}
.di-badge{font-size:10px;font-weight:900;padding:4px 7px;border-radius:999px;white-space:nowrap}
.di-badge.high{background:#fde8e7;color:#a92723}
.di-badge.medium{background:#fff3d2;color:#8d650a}
.di-badge.info{background:#e6f1f8;color:#155d88}
.di-quality-number{font-size:25px;font-weight:900;margin:10px 0 4px}
.di-quality p{font-size:12px;color:var(--di-muted);margin:0}
.di-explain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.di-explain{background:#fff;border:1px solid var(--di-line);border-radius:15px;padding:18px}
.di-explain h4{margin:0 0 8px;color:var(--di-navy)}
.di-explain p{margin:0;color:var(--di-muted);font-size:13px}
.di-empty{padding:26px;text-align:center;color:var(--di-muted)}
.di-footer{margin:40px -22px -50px;padding:30px 22px;background:var(--di-navy);color:#dbe9f2;text-align:center;font-size:13px}
.di-loading{display:grid;place-items:center;min-height:70vh;color:var(--di-navy);font-weight:850}
@media(max-width:1100px){
 .di-kpis{grid-template-columns:repeat(3,1fr)}
 .di-grid-2{grid-template-columns:1fr}
 .di-controls{grid-template-columns:2fr repeat(2,1fr)}
 .di-quality-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
 .di-shell,.di-top-inner{padding-left:14px;padding-right:14px}
 .di-hero{margin-left:-14px;margin-right:-14px;padding:38px 14px 55px}
 .di-nav{display:none}
 .di-hero-inner{grid-template-columns:1fr}
 .di-hero h1{font-size:36px}
 .di-kpis{grid-template-columns:repeat(2,1fr);gap:9px;margin-top:-28px}
 .di-kpi{min-height:120px;padding:16px}
 .di-kpi-value{font-size:25px}
 .di-kpi-hint{display:none}
 .di-insights,.di-organ-grid,.di-quality-grid,.di-explain-grid{grid-template-columns:1fr}
 .di-donut-wrap{grid-template-columns:1fr}
 .di-controls{grid-template-columns:1fr}
 .di-result-count{margin-left:0}
 .di-bar-row{grid-template-columns:1fr 70px}
 .di-bar-track{grid-column:1/3}
 .di-section-head{align-items:start;flex-direction:column}
 .di-footer{margin-left:-14px;margin-right:-14px}
}
