:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#182c35;background:#f4f7f8}*{box-sizing:border-box}body{margin:0}.shell{display:flex;min-height:100vh}.sidebar{width:240px;flex-shrink:0;background:#123e3b;color:#eaf8f3;padding:29px 17px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;font-size:17px;margin-bottom:55px}.brand small{display:block;font-size:11px;color:#a5c7c1;font-weight:400;margin-top:4px}.brandmark{background:#d2eae1;color:#174d43;padding:10px;border-radius:12px}.sideheading{font-size:10px;letter-spacing:1.8px;color:#8eafa9;margin:0 12px 15px}.nav{border:0;background:transparent;color:#c4ded7;padding:14px 12px;text-align:left;font-size:14px;border-radius:10px;cursor:pointer;margin:3px 0}.nav:hover,.nav.active{background:#2a6158;color:white}.sidefoot{margin-top:auto;border-top:1px solid #38645e;padding:19px 9px;font-size:12px;color:#b7d1ca;line-height:1.9}.sidefoot strong,.sidefoot small{display:block}.sidefoot small{font-size:10px;line-height:1.5;margin-top:9px}main{padding:32px 38px 20px;min-width:0;flex:1;max-width:1600px;margin:0 auto}header{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:24px}.eyebrow{font-size:11px;letter-spacing:1.8px;color:#31826e;font-weight:800}h1{font-size:29px;letter-spacing:-.8px;margin:7px 0}p{color:#72838a;margin:0;font-size:13px}.headerpill{border:1px solid #dce9e6;color:#387b6d;background:#fff;border-radius:25px;padding:10px 15px;font-size:12px;white-space:nowrap}.filters{background:white;padding:18px;border:1px solid #e6edee;border-radius:14px;display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:20px;box-shadow:0 3px 15px #163a3806}.filters label{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:700;color:#536b70;flex:1;min-width:145px}select,input{background:#fff;border:1px solid #dbe5e7;border-radius:8px;padding:10px;color:#304950;min-width:0;width:100%;font:inherit;font-size:12px}button{font:inherit;cursor:pointer}.secondary{border:1px solid #d7e4e3;background:#fff;border-radius:8px;padding:10px 13px;color:#315950;font-size:12px;font-weight:700}.secondary:hover{background:#eaf4f1}.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-bottom:19px}.kpi{background:white;border:1px solid #e6edee;border-radius:13px;padding:18px;min-width:0}.kpi .label{font-size:11px;color:#70848a;min-height:28px}.kpi .value{font-size:29px;font-weight:800;letter-spacing:-1px;margin-top:7px}.kpi .hint{font-size:10px;color:#8a999c;margin-top:5px}.kpi.red .value{color:#c74e49}.kpi.amber .value{color:#b47a25}.kpi.green .value{color:#26856e}.panel{background:white;border:1px solid #e6edee;border-radius:14px;padding:20px;margin-bottom:19px;box-shadow:0 3px 15px #163a3805}.paneltop{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.panel h2{font-size:16px;margin:0}.muted{font-size:11px;color:#7e9195}.tablewrap{overflow:auto;max-height:570px}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th{position:sticky;top:0;background:#f4f8f8;color:#61777a;text-align:right;padding:12px 10px;font-size:11px;z-index:1}th:first-child,td:first-child{text-align:left}td{padding:12px 10px;border-bottom:1px solid #edf1f1;text-align:right}tbody tr:hover{background:#f1f8f5;cursor:pointer}tfoot td{background:#eaf4f0;font-weight:800;border-top:2px solid #b9d7ce}.name{font-weight:700;color:#285c52}.chip{padding:4px 7px;border-radius:6px;background:#f0f5f4}.bad{color:#bc4b43;font-weight:800}.warn{color:#b57b23;font-weight:800}.good{color:#23856c;font-weight:800}.note{font-size:12px;color:#71858a;line-height:1.6;margin:12px 0 0}.cols{display:grid;grid-template-columns:1fr 1fr;gap:19px}.bars{display:flex;flex-direction:column;gap:13px}.barrow{display:grid;grid-template-columns:minmax(125px,1fr) 3fr 42px;gap:12px;align-items:center;font-size:12px}.track{height:11px;border-radius:12px;background:#eef3f3;overflow:hidden}.fill{height:100%;background:#328e78;border-radius:12px}.quality{padding:13px 15px;background:#f7f9fa;border-radius:9px;margin:10px 0;font-size:13px}.quality strong{float:right}footer{font-size:11px;color:#94a3a6;margin:25px 0;line-height:1.7}dialog{border:0;border-radius:18px;width:min(1100px,95vw);max-height:88vh;padding:24px;box-shadow:0 20px 100px #142a2b55}dialog::backdrop{background:#102a2c99}.dialoghead,.detailtools{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}.dialoghead h2{margin:7px 0}.detailtools input{flex:1}.detailbody{overflow:auto;max-height:55vh}.detailbody table{white-space:normal;min-width:900px}.detailbody td{text-align:left;vertical-align:top;max-width:280px;line-height:1.5}.detailbody th{text-align:left}.loading{padding:60px;text-align:center;color:#6e8387}@media(max-width:1100px){.kpis{grid-template-columns:repeat(3,1fr)}.sidebar{width:200px}main{padding:25px 20px}.cols{grid-template-columns:1fr}}@media(max-width:680px){.shell{display:block}.sidebar{width:auto;padding:12px;display:block}.brand{margin-bottom:12px}.sideheading,.sidefoot{display:none}.nav{display:inline-block;font-size:12px;padding:10px}main{padding:20px 12px}header{align-items:start}.headerpill{display:none}.kpis{grid-template-columns:repeat(2,1fr)}.filters label{min-width:42%}.barrow{grid-template-columns:110px 1fr 30px}}


/* Estructura institucional ENCAL: reglas tomadas del CSS de referencia */
html,body {min-height:100%}
.layout {min-height:100vh;display:flex;flex-direction:column}
.site-header {
  position:sticky;top:0;left:0;right:0;z-index:1300;
  min-height:60px;margin:0;
  background-color:#006455;
  background-image:url("img/superior.jpeg");
  background-size:cover;background-position:center;background-repeat:no-repeat;
}
.header-container {width:100%;margin:0;min-height:60px;padding:8px 4px;display:flex;align-items:center;justify-content:flex-start}
.header-container::before {content:"";order:0;flex:0 0 62px}
.brand-logos {order:1;display:flex;align-items:center;gap:16px;margin-left:16px;min-height:44px}
.logo-gob {display:block;max-height:50px;width:auto;max-width:100%;object-fit:contain}
.logo-fallback {color:white;font-size:15px;font-weight:700}
.layout > .MiTablero {width:100%;max-width:none;min-height:calc(100vh - 120px);flex:1;margin:0;display:flex}
.MiTablero > main.bloque-global {max-width:1600px;margin:0 auto;padding:24px 38px 80px;min-width:0;flex:1;display:block}
.MiTablero > .sidebar {min-height:100%}
.site-footer {
  position:fixed;bottom:0;left:0;right:0;z-index:1200;
  min-height:60px;margin:0;
}
.gob-footer-banner {
  min-height:60px;background-color:#006455;
  background-image:url("img/inferior.jpeg");
  background-size:cover;background-position:center;background-repeat:no-repeat;
  border-bottom:10px solid #006455;
}
.source-note {font-size:11px;color:#94a3a6;margin:25px 0;line-height:1.7}
@media(max-width:1100px){.MiTablero > main.bloque-global{padding:25px 20px 80px}}
@media(max-width:680px){
 .MiTablero > main.bloque-global{padding:20px 12px 85px}
 .layout > .MiTablero{display:block}
 .site-header,.header-container{min-height:60px}
 .header-container::before{flex-basis:12px}
 .brand-logos{margin-left:8px}
 .logo-gob{max-height:42px}
}
