:root{--superficie:#fff;--fondo:#f4f7f8;--borde:#e2e9ec;--texto:#203b43;--muted:#647a83;--acento:#117768;--suave:#e9f5ef;--hover:#f1f8f5}
[data-tema="dark"]{--superficie:#192a36;--fondo:#101a23;--borde:#344957;--texto:#e4edf2;--muted:#b2c4cf;--acento:#8be4d3;--suave:#163e35;--hover:#223b43}
body{background:var(--fondo);color:var(--texto);line-height:1.5}
.icono{width:22px;height:22px;flex-shrink:0;vertical-align:middle}
.solo-lectores{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.saltar-contenido{position:fixed;top:-80px;left:20px;z-index:1000;background:var(--superficie);padding:12px 20px;border:2px solid var(--acento);border-radius:8px}
.saltar-contenido:focus{top:12px}
a:focus-visible,button:focus-visible{outline:3px solid #329b89;outline-offset:4px}
.barra{min-height:80px;padding:18px 32px;gap:20px;background:var(--superficie)}
.con-sidebar .barra{margin-left:242px;justify-content:flex-end;flex-wrap:nowrap}
.con-sidebar .barra>.marca{display:none}
.titulo-seccion{margin-right:auto;font-size:14px;font-weight:650}
.sesion{gap:18px}.sesion>span{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar{position:fixed;inset:0 auto 0 0;width:242px;background:var(--superficie);border-right:1px solid var(--borde);padding:28px 18px;display:flex;flex-direction:column;z-index:100;overflow-y:auto}
.sidebar-marca{display:flex;align-items:center;gap:11px;padding:0 12px 28px;font-size:25px}
.marca-icono{width:38px;height:38px;background:#117768;color:#ffe09a;display:grid;place-items:center;border-radius:12px}
.marca-icono .icono{width:27px;height:27px}
.nav-etiqueta{font-size:10px;font-weight:750;letter-spacing:1.7px;color:var(--muted);padding:0 13px;margin:12px 0 16px}
.sidebar nav{display:grid;gap:7px}
.sidebar .nav-enlace{display:flex;align-items:center;gap:13px;padding:13px 14px;color:var(--muted);border-radius:10px;font-weight:600;font-size:14px;border:1px solid transparent;transition:background .18s,color .18s}
.sidebar .nav-enlace:hover{background:var(--hover);color:var(--acento);text-decoration:none}
.sidebar .nav-enlace.activo{background:var(--suave);color:var(--acento);border-color:var(--borde)}
.sidebar-nota{margin-top:auto;padding:22px 13px 0;color:var(--muted);font-size:12px;display:grid;gap:7px}
.sidebar-nota>.icono{color:var(--acento)}.sidebar-nota strong{color:var(--texto)}
.con-sidebar .contenedor{width:calc(100% - 306px);max-width:1400px;margin:36px 32px 56px 274px}
.con-sidebar .pie{margin-left:242px}
.boton-menu{display:none}
.encabezado{margin-bottom:30px}.encabezado h1{font-size:clamp(26px,2.7vw,36px);font-weight:750;letter-spacing:-1.2px;margin:7px 0}
.encabezado .secundario{margin:6px 0 0}.etiqueta{font-size:10px;letter-spacing:1.7px}
.indicador,.tarjeta{border-radius:16px;box-shadow:0 4px 20px #153f4910}
.indicadores{gap:16px;margin-bottom:28px}.indicadores-5 .indicador{padding:22px 18px;position:relative;overflow:hidden}
.indicador-icono{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--suave);color:var(--acento);margin-bottom:18px}
.indicador-icono .icono{width:21px;height:21px}.indicador span{font-size:13px;font-weight:600}.indicadores-5 .indicador strong{font-size:34px;letter-spacing:-1px;margin:8px 0 4px}.indicador small{font-size:11px}
.indicador-solar .indicador-icono{background:#fff2ce;color:#916311}.indicador-equipment .indicador-icono{background:#edf0ff;color:#5869b6}.indicador-alert .indicador-icono{background:#fff0e9;color:#ab5c28}
.accesos{padding:28px;background:linear-gradient(115deg,var(--superficie),var(--suave))!important}.accesos h2{margin:8px 0;font-size:23px}.accesos .secundario{margin:0;font-size:14px}.accesos .acciones{gap:12px;margin-top:24px}
.boton{transition:transform .16s,box-shadow .16s;min-height:42px}.boton:hover{transform:translateY(-1px);box-shadow:0 4px 10px #112c3015}.boton-primario{box-shadow:0 3px 8px #11776820}.boton-oscuro{min-height:36px}
.titulo-tabla{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.titulo-tabla h2{margin:6px 0 0}.titulo-tabla>a{font-size:13px;font-weight:650;white-space:nowrap}
.tabla-scroll{position:relative}table{font-variant-numeric:tabular-nums}th{font-size:10px;letter-spacing:.8px;white-space:nowrap}td,th{padding:16px 14px}td{font-size:13px}tbody tr{transition:background .15s}tbody tr:hover{background:var(--hover)}
td>a{display:inline-block;padding:6px 12px;background:var(--suave);border-radius:7px;font-size:12px;font-weight:650;white-space:nowrap}td>a:hover{text-decoration:none;box-shadow:inset 0 0 0 1px var(--acento)}
.chip{font-size:11px;padding:6px 11px;white-space:nowrap}.chip::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:7px;vertical-align:1px}
.chip.estado-correcto{background:#e5f5ed;color:#196b4e}.chip.estado-aviso{background:#fff3d9;color:#805a17}.chip.estado-alerta{background:#fcebed;color:#a23e48}.chip.estado-neutral{background:#eaf0f5;color:#486477}
[data-tema="dark"] .chip.estado-correcto{background:#163e35;color:#a2edcb}[data-tema="dark"] .chip.estado-aviso{background:#40341e;color:#f5d393}[data-tema="dark"] .chip.estado-alerta{background:#42272e;color:#ffbac0}[data-tema="dark"] .chip.estado-neutral{background:#25394d;color:#bad5ed}
[data-tema="dark"] .indicador-solar .indicador-icono{background:#40341e;color:#f5d393}[data-tema="dark"] .indicador-equipment .indicador-icono{background:#303653;color:#c3caff}[data-tema="dark"] .indicador-alert .indicador-icono{background:#453025;color:#f0bd96}
.estado-vacio{text-align:center;padding:38px 18px;color:var(--muted)}.estado-vacio>.icono{width:36px;height:36px;color:var(--acento)}.estado-vacio h3{color:var(--texto);margin:12px 0 6px}.estado-vacio p{margin:0 0 20px;font-size:14px}
.tabla-scroll>p.secundario{padding:24px;text-align:center;background:var(--hover);border-radius:10px}
.mensaje{font-size:13px}.demo{border-left:3px solid #dba944}.pie{font-size:11px}
.sin-sidebar .barra{padding-left:max(24px,calc((100vw - 1130px)/2));padding-right:max(24px,calc((100vw - 1130px)/2))}.login{box-shadow:0 20px 60px #153f4912}.login .ilustracion{margin-bottom:12px}.login h1{font-size:29px}
@media(min-width:901px) and (max-width:1200px){.indicadores-5{grid-template-columns:repeat(3,minmax(0,1fr))}.sesion>span{max-width:170px}}
@media(max-width:900px){
 .con-sidebar .barra{margin-left:0;padding:16px 20px;flex-wrap:wrap;gap:12px}.con-sidebar .barra>.marca{display:inline;font-size:20px}.titulo-seccion{display:none}.sesion{margin-left:auto;width:auto}.sesion>span{display:none}.con-sidebar .contenedor{width:calc(100% - 40px);margin:28px 20px 40px}.con-sidebar .pie{margin-left:0}
 .boton-menu{display:grid;place-items:center;width:38px;height:38px;padding:7px;border:1px solid var(--borde);border-radius:9px;background:var(--superficie);color:var(--texto);cursor:pointer;order:-1}
 .sidebar{top:80px;bottom:0;width:260px;visibility:hidden;transform:translateX(-100%);transition:transform .2s,visibility .2s;box-shadow:12px 0 30px #0002}.menu-abierto .sidebar{visibility:visible;transform:translateX(0)}.sidebar-marca{display:none}.sidebar-nota{margin-top:25px}
 .indicadores-5{grid-template-columns:repeat(2,minmax(0,1fr))}.encabezado{gap:14px}.encabezado-panel{align-items:flex-start;flex-direction:column}
}
@media(max-width:480px){.con-sidebar .barra>.marca{font-size:18px}.sesion .boton{font-size:10px;padding:8px}.con-sidebar .barra{gap:9px;padding:14px 12px}.selector-tema{width:60px}.selector-tema-perilla{width:26px;height:26px}[data-tema="dark"] .selector-tema-perilla{transform:translateX(26px)}.con-sidebar .contenedor{width:calc(100% - 28px);margin:24px 14px 36px}.indicadores-5 .indicador{padding:16px 13px}.indicadores-5 .indicador strong{font-size:30px}.indicador span{font-size:12px}.titulo-tabla{align-items:flex-start}.titulo-tabla h2{font-size:18px}.accesos .acciones .boton{flex:1}.sidebar{top:72px}}
@media(prefers-reduced-motion:reduce){.sidebar,.sidebar .nav-enlace,.boton,tbody tr{transition:none}.boton:hover{transform:none}}
@media print{.sidebar,.saltar-contenido,.boton-menu{display:none!important}.con-sidebar .contenedor{width:100%;max-width:none;margin:0}.con-sidebar .pie{margin:0}body{background:#fff;color:#203b43}.accesos{display:none}}
