@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans+Condensed:wght@500;600;700&family=Inter:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');

    :root{
      --accent:#b97824;
      --accent-dark:#8f5b1c;
      --accent-soft:#f4eee4;
      --accent-line:#d8b07a;
      --navy:#243746;
      --navy-2:#344957;
      --ink:#202a31;
      --muted:#6f7a81;
      --soft:#f4f6f6;
      --soft-2:#eef1f1;
      --paper:#ffffff;
      --line:#d7dde0;
      --line-dark:#c6cdd1;
      --red:#a93b31;
      --blue:#46738d;
      --green:#557d69;
      --yellow:#b9872d;
      --purple:#6e647d;
      --shadow:0 2px 8px rgba(32,42,49,.07);
      --shadow-soft:0 1px 3px rgba(32,42,49,.06);
      --radius:5px;
    }

    *{box-sizing:border-box}
    html,body{
      margin:0;
      padding:0;
      background:#ecefee;
      color:var(--ink);
      font-family:'Inter','Segoe UI',Arial,sans-serif;
    }
    body{min-width:320px}
    button,select,input{font:inherit}

    .app{width:100%;padding:18px 22px 28px}
    .shell{width:100%;max-width:1420px;margin:0 auto}

    /* =========================================================
       ENCABEZADO INSTITUCIONAL
       ========================================================= */
    .header{
      position:relative;
      width:100%;
      background:var(--paper);
      border:1px solid var(--line-dark);
      border-radius:var(--radius);
      box-shadow:var(--shadow-soft);
      padding:15px 18px 14px;
      display:grid;
      grid-template-columns:minmax(330px,1fr) minmax(480px,auto);
      gap:24px;
      align-items:center;
      overflow:hidden;
    }
    .header::before{
      content:"";
      position:absolute;
      left:0;
      top:0;
      right:0;
      height:3px;
      background:var(--accent);
    }
    .brand{display:flex;align-items:center;gap:14px;min-width:0}
    .brand-icon{
      width:48px;
      height:48px;
      border-radius:4px;
      background:var(--navy);
      display:grid;
      place-items:center;
      font-size:24px;
      box-shadow:none;
      flex:none;
      filter:saturate(.82);
    }
    .brand-main{min-width:0}
    .brand-row{display:flex;align-items:center;gap:17px;min-width:0}
    .simoc-title{
      font-family:'IBM Plex Sans Condensed','Arial Narrow',sans-serif;
      font-size:23px;
      line-height:1;
      font-weight:700;
      letter-spacing:.8px;
      color:var(--navy);
      white-space:nowrap;
    }
    .brand-divider{width:1px;height:34px;background:#d5dadd;flex:none}
    .report-title{
      font-family:'IBM Plex Sans Condensed','Arial Narrow',sans-serif;
      font-size:18px;
      line-height:1.05;
      color:var(--navy);
      font-weight:700;
      letter-spacing:.25px;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .subtitle{
      font-size:10px;
      color:var(--muted);
      margin-top:5px;
      letter-spacing:.06px;
    }

    .global-filter{
      display:grid;
      grid-template-columns:160px 130px 130px auto;
      gap:8px;
      align-items:end;
      background:#f7f6f2;
      border:1px solid #ddd7cc;
      border-radius:4px;
      padding:9px;
    }
    .field label{
      display:block;
      margin:0 0 5px;
      color:#6d6254;
      font-family:'IBM Plex Sans Condensed','Arial Narrow',sans-serif;
      font-size:9px;
      font-weight:700;
      text-transform:uppercase;
      letter-spacing:.8px;
    }
    .field select,.field input{
      width:100%;
      height:36px;
      border:1px solid #cfd5d8;
      border-radius:3px;
      background:#fff;
      padding:0 9px;
      color:var(--ink);
      outline:none;
      font-size:12px;
    }
    .field select:focus,.field input:focus{
      border-color:#9a7a50;
      box-shadow:0 0 0 2px rgba(185,120,36,.10);
    }
    .btn{
      height:36px;
      border:1px solid var(--accent-dark);
      border-radius:3px;
      background:var(--accent);
      color:#fff;
      font-weight:700;
      padding:0 15px;
      cursor:pointer;
      box-shadow:none;
      transition:background .15s ease,border-color .15s ease;
    }
    .btn:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
    .custom-dates{display:contents}
    .hidden{display:none!important}

    /* =========================================================
       SUPERFICIE / NAVEGACIÓN
       ========================================================= */
    .report-surface{
      width:100%;
      margin-top:14px;
      background:var(--soft);
      border:1px solid #d9dfe1;
      border-radius:6px;
      padding:12px;
      min-height:690px;
    }
    .tabs-wrap{
      background:var(--paper);
      border:1px solid var(--line);
      border-radius:4px;
      box-shadow:none;
      padding:0 8px;
      overflow:hidden;
    }
    .tabs{
      display:flex;
      gap:2px;
      overflow-x:auto;
      scrollbar-width:thin;
      padding:0;
    }
    .tab{
      position:relative;
      border:0;
      background:transparent;
      color:#5d6870;
      border-radius:0;
      padding:11px 10px 10px;
      white-space:nowrap;
      cursor:pointer;
      font-family:'IBM Plex Sans Condensed','Arial Narrow',sans-serif;
      font-weight:600;
      font-size:11px;
      letter-spacing:.15px;
    }
    .tab::after{
      content:"";
      position:absolute;
      left:10px;
      right:10px;
      bottom:0;
      height:2px;
      background:transparent;
    }
    .tab:hover{background:#f7f8f8;color:var(--navy)}
    .tab.active{
      background:transparent;
      color:var(--navy);
      box-shadow:none;
      font-weight:700;
    }
    .tab.active::after{background:var(--accent)}
    .tab.pending{opacity:.48}

    .module-bar{
      margin-top:10px;
      background:var(--paper);
      border:1px solid var(--line);
      border-left:3px solid var(--navy);
      border-radius:4px;
      box-shadow:none;
      padding:10px 13px;
      display:flex;
      gap:12px;
      align-items:center;
      justify-content:space-between;
      flex-wrap:wrap;
    }
    .module-heading{display:flex;align-items:center;gap:9px;min-width:220px}
    .module-icon{font-size:20px;filter:saturate(.75)}
    .module-name{
      font-family:'IBM Plex Sans Condensed','Arial Narrow',sans-serif;
      font-size:18px;
      font-weight:700;
      color:var(--navy);
      letter-spacing:.15px;
    }
    .module-meta{font-size:9px;color:var(--muted);margin-top:2px;letter-spacing:.1px}
    .module-filters{display:flex;gap:8px;align-items:end;flex-wrap:wrap;justify-content:flex-end;flex:1}
    .module-filters .field{min-width:125px;max-width:190px}
    .module-filters .field.wide{min-width:170px}
    .module-filters .field input,.module-filters .field select{height:33px;font-size:11px}
    .module-filters .field label{color:#6d767c;font-size:8.5px}
    .clear-btn{
      height:33px;
      border:1px solid #cfd6d9;
      border-radius:3px;
      background:#fff;
      color:#566168;
      padding:0 10px;
      cursor:pointer;
      font-size:11px;
      font-weight:600;
    }

    .loading{min-height:430px;display:grid;place-items:center;text-align:center;color:var(--muted)}
    .spinner{width:34px;height:34px;border:3px solid #dbe0e2;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}
    @keyframes spin{to{transform:rotate(360deg)}}

    .content{margin-top:10px}

    /* =========================================================
       RESUMEN EJECUTIVO
       ========================================================= */
    .headline-card{
      background:var(--paper);
      border:1px solid var(--line-dark);
      border-top:2px solid var(--accent);
      border-radius:4px;
      box-shadow:none;
      padding:13px 15px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      margin-bottom:10px;
    }
    .headline-eyebrow{
      font-family:'IBM Plex Sans Condensed','Arial Narrow',sans-serif;
      font-size:9px;
      text-transform:uppercase;
      letter-spacing:1px;
      color:#727b80;
      font-weight:700;
    }
    .headline-title{
      font-family:'IBM Plex Sans Condensed','Arial Narrow',sans-serif;
      font-size:13px;
      font-weight:600;
      color:#2b3841;
      margin-top:3px;
      letter-spacing:.1px;
    }
    .headline-value{
      font-family:'IBM Plex Sans Condensed','Arial Narrow',sans-serif;
      font-size:23px;
      font-weight:700;
      color:var(--accent-dark);
      text-align:right;
      letter-spacing:.3px;
    }
    .headline-detail{font-size:9px;color:var(--muted);text-align:right;margin-top:2px}

    .summary-modules{
      display:grid;
      grid-template-columns:repeat(5,minmax(0,1fr));
      gap:8px;
      margin-bottom:10px;
    }
    .summary-card{
      position:relative;
      min-height:139px;
      background:var(--paper);
      border:1px solid var(--line-dark);
      border-radius:4px;
      box-shadow:none;
      padding:13px 12px 11px;
      overflow:hidden;
    }
    .summary-card::before{
      content:"";
      position:absolute;
      left:0;
      top:0;
      width:42px;
      height:2px;
      background:var(--accent);
    }
    .summary-card .s-icon{
      font-size:18px;
      line-height:1;
      opacity:.82;
      filter:saturate(.72);
    }
    .summary-card .s-name{
      margin-top:8px;
      color:#526069;
      font-family:'IBM Plex Sans Condensed','Arial Narrow',sans-serif;
      font-size:9px;
      line-height:1;
      text-transform:uppercase;
      letter-spacing:.95px;
      font-weight:700;
    }
    .summary-card .s-title{
      margin-top:9px;
      color:#7a8388;
      font-size:9.5px;
      line-height:1.25;
    }
    .summary-card .s-value{
      margin-top:4px;
      color:#1f2a31;
      font-family:'IBM Plex Sans Condensed','Arial Narrow',sans-serif;
      font-size:18px;
      line-height:1.06;
      font-weight:700;
      letter-spacing:.05px;
    }
    .summary-card .s-detail{
      margin-top:5px;
      color:#7b858a;
      font-size:8.5px;
      line-height:1.35;
    }

    .insight-card{
      background:var(--paper);
      border:1px solid var(--line-dark);
      border-left:3px solid var(--accent);
      border-radius:4px;
      box-shadow:none;
      padding:13px 14px;
    }
    .insight-list{padding:0;margin:8px 0 0;list-style:none}
    .insight-list li{
      font-size:11px;
      line-height:1.5;
      color:#39454d;
      padding:8px 0 8px 17px;
      border-bottom:1px solid #e8ecee;
      position:relative;
    }
    .insight-list li:before{
      content:"";
      position:absolute;
      left:2px;
      top:14px;
      width:4px;
      height:4px;
      background:var(--accent);
    }
    .insight-list li:last-child{border-bottom:0}

    /* =========================================================
       COMPONENTES COMPARTIDOS DE LOS OTROS MÓDULOS
       (se conserva su distribución y comportamiento)
       ========================================================= */
    .kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}
    .kpi{background:#fff;border-radius:14px;box-shadow:var(--shadow);padding:14px 15px;min-height:105px;border-top:4px solid #f1b082;position:relative;overflow:hidden}
    .kpi::after{content:"";position:absolute;right:-25px;bottom:-35px;width:80px;height:80px;border-radius:50%;background:rgba(244,122,34,.06)}
    .kpi-label{font-size:10px;text-transform:uppercase;letter-spacing:.55px;font-weight:900;color:#45535e}
    .kpi-value{font-size:24px;font-weight:900;margin-top:9px;letter-spacing:-.35px;line-height:1.05;position:relative;z-index:1}
    .kpi-detail{font-size:10px;color:var(--muted);margin-top:7px;position:relative;z-index:1}
    .kpi.danger{border-top-color:var(--red)} .kpi.danger .kpi-value{color:#8f322a}
    .kpi.warning{border-top-color:var(--yellow)}
    .kpi.water{border-top-color:#5a879c}.kpi.water .kpi-value{color:#3c6579}
    .kpi.hot,.kpi.fire,.kpi.solar{border-top-color:var(--accent)}
    .kpi.cold{border-top-color:#5b8097}
    .kpi.lightning{border-top-color:#b98d39}
    .kpi.quake,.kpi.landslide{border-top-color:#8b6651}
    .kpi.air{border-top-color:var(--green)}
    .kpi.volcano{border-top-color:#835b55}

    .chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}
    .chart-card{background:#fff;border-radius:14px;box-shadow:var(--shadow);padding:14px 14px 10px;min-height:310px}
    .card-title{
      font-family:'IBM Plex Sans Condensed','Arial Narrow',sans-serif;
      font-size:14px;
      font-weight:700;
      color:#35434d;
      margin-bottom:2px;
      letter-spacing:.1px;
    }
    .card-subtitle{font-size:10px;color:var(--muted);margin-bottom:9px}
    .canvas-wrap{height:250px;position:relative}

    .lower-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:14px}
    .rankings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .rank-card,.summary-card{background:#fff}
    .rank-card{border-radius:14px;box-shadow:var(--shadow);padding:14px}
    .rank-list{margin-top:9px;display:flex;flex-direction:column;gap:7px}
    .rank-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:center;border-bottom:1px solid #edf2f4;padding:7px 0}
    .rank-row:last-child{border-bottom:0}
    .rank-num{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:900}
    .rank-label{font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis}
    .rank-detail{font-size:9px;color:var(--muted);margin-top:2px}
    .rank-value{font-size:12px;font-weight:900;color:#273640;text-align:right;white-space:nowrap}

    .no-data{background:#fff;border-radius:6px;border:1px solid var(--line-dark);box-shadow:none;padding:50px 24px;text-align:center}
    .no-data-icon{font-size:42px;margin-bottom:10px;filter:saturate(.75)}
    .no-data h3{margin:0 0 8px;font-family:'IBM Plex Sans Condensed','Arial Narrow',sans-serif;font-size:19px;color:var(--navy)}
    .no-data p{margin:0 auto;color:var(--muted);font-size:13px;max-width:620px;line-height:1.5}
    .error{border-left:4px solid var(--red)}

    .coverage{font-size:10px;color:var(--muted);font-weight:600}
    .coverage strong{color:#3f4c55}
    .footer-note{
      margin-top:11px;
      padding-top:9px;
      border-top:1px solid #d9dee0;
      text-align:center;
      color:#7b858b;
      font-size:8.5px;
      letter-spacing:.08px;
    }


    /* =========================================================
       RESUMEN EJECUTIVO · DIRECCIÓN VISUAL 02
       Inspiración: interfaz institucional contemporánea,
       superficies minerales + acento lima de alta visibilidad.
       Estos estilos SOLO se aplican cuando RESUMEN está activo.
       ========================================================= */
    body.summary-active{
      --sum-bg:#e9eeec;
      --sum-surface:#dfe5e3;
      --sum-card:#edf1ef;
      --sum-card-deep:#d9e0dd;
      --sum-white:#f7f9f8;
      --sum-ink:#161a19;
      --sum-muted:#7b8581;
      --sum-line:rgba(22,26,25,.08);
      --sum-lime:#ebff72;
      --sum-lime-2:#f4ffad;
      --sum-shadow:0 10px 28px rgba(39,53,48,.08);
      --sum-shadow-soft:0 5px 16px rgba(39,53,48,.055);
      background:
        radial-gradient(circle at 14% -5%,rgba(235,255,114,.20),transparent 26%),
        linear-gradient(180deg,#eef2f0 0%,#e7ecea 100%);
      color:var(--sum-ink);
    }

    body.summary-active .app{
      padding-top:18px;
    }

    /* Fuente primaria: Manrope / Fuente secundaria: Inter */
    body.summary-active .simoc-title,
    body.summary-active .report-title,
    body.summary-active .module-name,
    body.summary-active .headline-title,
    body.summary-active .headline-value,
    body.summary-active .summary-card .s-value,
    body.summary-active .card-title{
      font-family:'Manrope','Inter','Segoe UI',sans-serif;
    }
    body.summary-active .subtitle,
    body.summary-active .field,
    body.summary-active .module-meta,
    body.summary-active .headline-eyebrow,
    body.summary-active .headline-detail,
    body.summary-active .summary-card .s-name,
    body.summary-active .summary-card .s-title,
    body.summary-active .summary-card .s-detail,
    body.summary-active .insight-list,
    body.summary-active .footer-note,
    body.summary-active .tab{
      font-family:'Inter','Segoe UI',Arial,sans-serif;
    }

    body.summary-active .header{
      border:1px solid rgba(22,26,25,.055);
      border-radius:16px;
      box-shadow:var(--sum-shadow-soft);
      padding:15px 16px;
      background:
        radial-gradient(circle at 3% 22%,rgba(235,255,114,.46),transparent 21%),
        linear-gradient(115deg,#f5f8f6 0%,#e8eeeb 58%,#eef4e3 100%);
      overflow:hidden;
    }
    body.summary-active .header::before{
      display:none;
    }
    body.summary-active .brand{
      gap:12px;
    }
    body.summary-active .brand-icon{
      width:46px;
      height:46px;
      border-radius:13px;
      background:linear-gradient(145deg,rgba(235,255,114,.98),rgba(235,255,114,.42));
      border:1px solid rgba(255,255,255,.65);
      color:var(--sum-ink);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
      filter:none;
    }
    body.summary-active .simoc-title{
      color:var(--sum-ink);
      font-size:20px;
      letter-spacing:-.45px;
      font-weight:800;
    }
    body.summary-active .report-title{
      color:#343b38;
      font-size:16px;
      letter-spacing:-.28px;
      font-weight:650;
    }
    body.summary-active .brand-divider{
      height:32px;
      background:rgba(22,26,25,.11);
    }
    body.summary-active .subtitle{
      color:#76807c;
      font-size:9px;
      line-height:1.35;
      letter-spacing:-.02px;
    }

    body.summary-active .global-filter{
      gap:7px;
      padding:8px;
      border:1px solid rgba(22,26,25,.055);
      border-radius:13px;
      background:rgba(219,226,223,.68);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
      backdrop-filter:blur(4px);
    }
    body.summary-active .field label{
      margin-bottom:4px;
      color:#68716d;
      font-family:'Inter','Segoe UI',sans-serif;
      font-size:8px;
      font-weight:700;
      letter-spacing:.72px;
    }
    body.summary-active .field select,
    body.summary-active .field input{
      height:35px;
      border:1px solid rgba(22,26,25,.07);
      border-radius:9px;
      background:rgba(247,249,248,.86);
      color:#232826;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
      font-family:'Inter','Segoe UI',sans-serif;
      font-size:11px;
    }
    body.summary-active .field select:focus,
    body.summary-active .field input:focus{
      border-color:rgba(22,26,25,.18);
      box-shadow:0 0 0 3px rgba(235,255,114,.38);
    }
    body.summary-active .btn{
      height:35px;
      border:1px solid rgba(208,226,75,.78);
      border-radius:9px;
      background:linear-gradient(180deg,#efff7f 0%,#e7fb69 100%);
      color:#202522;
      font-family:'Inter','Segoe UI',sans-serif;
      font-size:11px;
      font-weight:700;
      box-shadow:0 3px 10px rgba(172,188,69,.16),inset 0 1px 0 rgba(255,255,255,.55);
      transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
    }
    body.summary-active .btn:hover{
      background:linear-gradient(180deg,#f4ff98 0%,#ebff72 100%);
      border-color:rgba(196,215,45,.9);
      box-shadow:0 5px 14px rgba(172,188,69,.22);
      transform:translateY(-1px);
    }

    body.summary-active .report-surface{
      margin-top:13px;
      padding:10px;
      min-height:690px;
      border:1px solid rgba(22,26,25,.045);
      border-radius:17px;
      background:
        radial-gradient(circle at 90% 3%,rgba(235,255,114,.12),transparent 21%),
        linear-gradient(180deg,#e5ebe8 0%,#dde4e1 100%);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.54);
    }

    body.summary-active .tabs-wrap{
      border:1px solid rgba(22,26,25,.04);
      border-radius:12px;
      padding:4px 5px;
      background:rgba(238,242,240,.74);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.54);
    }
    body.summary-active .tabs{
      gap:3px;
    }
    body.summary-active .tab{
      padding:8px 10px;
      border-radius:8px;
      color:#6e7773;
      font-size:9.5px;
      font-weight:600;
      letter-spacing:-.08px;
      transition:background .15s ease,color .15s ease,box-shadow .15s ease;
    }
    body.summary-active .tab::after{
      display:none;
    }
    body.summary-active .tab:hover{
      background:rgba(255,255,255,.58);
      color:#2c322f;
    }
    body.summary-active .tab.active{
      background:linear-gradient(180deg,#f0ff88 0%,#eaff72 100%);
      color:#202522;
      box-shadow:0 3px 9px rgba(170,188,67,.14),inset 0 1px 0 rgba(255,255,255,.56);
      font-weight:700;
    }

    body.summary-active .module-bar{
      margin-top:8px;
      padding:9px 11px;
      border:1px solid rgba(22,26,25,.045);
      border-left:0;
      border-radius:12px;
      background:rgba(247,249,248,.75);
      box-shadow:var(--sum-shadow-soft);
    }
    body.summary-active .module-heading{
      gap:9px;
    }
    body.summary-active .module-icon{
      width:30px;
      height:30px;
      display:grid;
      place-items:center;
      border-radius:9px;
      background:rgba(235,255,114,.78);
      font-size:15px;
      filter:none;
    }
    body.summary-active .module-name{
      color:var(--sum-ink);
      font-size:15px;
      font-weight:750;
      letter-spacing:-.28px;
    }
    body.summary-active .module-meta{
      color:#89918e;
      font-size:8px;
      margin-top:1px;
    }

    body.summary-active .content{
      margin-top:8px;
    }

    body.summary-active .headline-card{
      min-height:60px;
      padding:12px 14px;
      margin-bottom:8px;
      border:1px solid rgba(22,26,25,.045);
      border-top:0;
      border-radius:13px;
      background:
        radial-gradient(circle at 0% 0%,rgba(235,255,114,.82),transparent 33%),
        linear-gradient(110deg,#edf2e8 0%,#e1e7e4 57%,#dce3e0 100%);
      box-shadow:var(--sum-shadow-soft),inset 0 1px 0 rgba(255,255,255,.52);
    }
    body.summary-active .headline-eyebrow{
      color:#707975;
      font-size:7.5px;
      font-weight:700;
      letter-spacing:1.2px;
    }
    body.summary-active .headline-title{
      margin-top:3px;
      color:#242a27;
      font-size:12px;
      line-height:1.2;
      font-weight:650;
      letter-spacing:-.16px;
    }
    body.summary-active .headline-value{
      color:#181d1b;
      font-size:19px;
      line-height:1;
      font-weight:700;
      letter-spacing:-.45px;
    }
    body.summary-active .headline-detail{
      color:#77817d;
      font-size:8px;
      margin-top:4px;
    }

    body.summary-active .summary-modules{
      gap:7px;
      margin-bottom:8px;
    }
    body.summary-active .summary-card{
      min-height:137px;
      padding:12px 11px 10px;
      border:1px solid rgba(22,26,25,.045);
      border-radius:13px;
      background:
        radial-gradient(circle at 93% 0%,rgba(235,255,114,.14),transparent 38%),
        linear-gradient(145deg,#edf1ef 0%,#e4e9e7 100%);
      box-shadow:var(--sum-shadow-soft),inset 0 1px 0 rgba(255,255,255,.54);
      transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
    }
    body.summary-active .summary-card:hover{
      transform:translateY(-2px);
      box-shadow:0 9px 20px rgba(39,53,48,.085),inset 0 1px 0 rgba(255,255,255,.6);
      background:
        radial-gradient(circle at 93% 0%,rgba(235,255,114,.24),transparent 40%),
        linear-gradient(145deg,#f0f3f1 0%,#e5eae8 100%);
    }
    body.summary-active .summary-card::before{
      display:none;
    }
    body.summary-active .summary-card .s-icon{
      width:28px;
      height:28px;
      display:grid;
      place-items:center;
      border-radius:9px;
      background:rgba(247,249,248,.72);
      border:1px solid rgba(22,26,25,.045);
      font-size:15px;
      opacity:1;
      filter:grayscale(.08) saturate(.76);
    }
    body.summary-active .summary-card:nth-child(1) .s-icon,
    body.summary-active .summary-card:nth-child(3) .s-icon,
    body.summary-active .summary-card:nth-child(6) .s-icon,
    body.summary-active .summary-card:nth-child(8) .s-icon{
      background:linear-gradient(145deg,#f4ffad,#eaff72);
    }
    body.summary-active .summary-card .s-name{
      margin-top:8px;
      color:#626b67;
      font-size:7.5px;
      line-height:1;
      font-weight:700;
      letter-spacing:1.08px;
    }
    body.summary-active .summary-card .s-title{
      margin-top:9px;
      color:#858d89;
      font-size:8px;
      line-height:1.28;
      font-weight:500;
    }
    body.summary-active .summary-card .s-value{
      margin-top:3px;
      color:#151a18;
      font-size:16px;
      line-height:1.04;
      font-weight:750;
      letter-spacing:-.34px;
    }
    body.summary-active .summary-card .s-detail{
      margin-top:5px;
      color:#818a86;
      font-size:7.5px;
      line-height:1.35;
    }

    body.summary-active .insight-card{
      padding:12px 13px;
      border:1px solid rgba(22,26,25,.045);
      border-left:0;
      border-radius:13px;
      background:linear-gradient(145deg,#eef2f0 0%,#e2e8e5 100%);
      box-shadow:var(--sum-shadow-soft),inset 0 1px 0 rgba(255,255,255,.52);
    }
    body.summary-active .insight-card .card-title{
      color:#222825;
      font-size:12px;
      font-weight:700;
      letter-spacing:-.18px;
    }
    body.summary-active .insight-list{
      margin-top:6px;
    }
    body.summary-active .insight-list li{
      padding:7px 0 7px 16px;
      border-bottom:1px solid rgba(22,26,25,.07);
      color:#4d5652;
      font-size:9.5px;
      line-height:1.45;
    }
    body.summary-active .insight-list li:before{
      left:2px;
      top:12px;
      width:5px;
      height:5px;
      border-radius:50%;
      background:var(--sum-lime);
      box-shadow:0 0 0 2px rgba(235,255,114,.17);
    }

    body.summary-active .footer-note{
      border-top:1px solid rgba(22,26,25,.06);
      color:#8a928f;
      font-size:7.5px;
    }

    @media(max-width:850px){
      body.summary-active .header{border-radius:13px}
      body.summary-active .report-surface{border-radius:14px}
      body.summary-active .headline-card{border-radius:11px}
      body.summary-active .summary-card{border-radius:11px}
    }

    @media(max-width:1180px){
      .header{grid-template-columns:1fr}
      .global-filter{grid-template-columns:1.3fr 1fr 1fr auto}
      .summary-modules{grid-template-columns:repeat(3,minmax(0,1fr))}
      .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    }
    @media(max-width:850px){
      .app{padding:10px}
      .report-surface{padding:9px;border-radius:5px}
      .brand-row{flex-wrap:wrap}
      .brand-divider{display:none}
      .report-title{width:100%}
      .global-filter{grid-template-columns:1fr 1fr}
      .global-filter .btn{grid-column:span 2}
      .kpi-grid,.chart-grid,.lower-grid,.rankings-grid{grid-template-columns:1fr}
      .summary-modules{grid-template-columns:repeat(2,minmax(0,1fr))}
      .headline-card{align-items:flex-start;flex-direction:column}
      .headline-value,.headline-detail{text-align:left}
    }
    @media(max-width:520px){
      .summary-modules,.kpi-grid{grid-template-columns:1fr}
      .global-filter{grid-template-columns:1fr}
      .global-filter .btn{grid-column:auto}
    }


    /* =========================================================
       AJUSTE VISUAL · RESUMEN EJECUTIVO
       +2 px en tipografía visible y mayor aprovechamiento del modal.
       No altera lógica, filtros, IDs ni cálculos.
       ========================================================= */
    body.summary-active .shell{max-width:1580px}
    body.summary-active .app{padding:12px 14px 24px}

    body.summary-active .simoc-title{font-size:22px}
    body.summary-active .report-title{font-size:18px}
    body.summary-active .subtitle{font-size:11px}
    body.summary-active .field label{font-size:10px}
    body.summary-active .field select,
    body.summary-active .field input{font-size:13px}
    body.summary-active .btn{font-size:13px}
    body.summary-active .tab{font-size:11.5px}
    body.summary-active .module-name{font-size:17px}
    body.summary-active .module-meta{font-size:10px}
    body.summary-active .headline-eyebrow{font-size:9.5px}
    body.summary-active .headline-title{font-size:14px}
    body.summary-active .headline-value{font-size:21px}
    body.summary-active .headline-detail{font-size:10px}
    body.summary-active .summary-card .s-name{font-size:9.5px}
    body.summary-active .summary-card .s-title{font-size:10px}
    body.summary-active .summary-card .s-value{font-size:18px}
    body.summary-active .summary-card .s-detail{font-size:9.5px}
    body.summary-active .insight-card .card-title{font-size:14px}
    body.summary-active .insight-list li{font-size:11.5px}
    body.summary-active .footer-note{font-size:9.5px}


    /* =========================================================
       CLIMA · DARK EXECUTIVE UI
       SOLO ESTÉTICA. No cambia datos, filtros, IDs ni cálculos.
       ========================================================= */
    body.module-clima{
      --cl-bg:#070811;
      --cl-panel:#0d0f19;
      --cl-panel-2:#11131f;
      --cl-line:rgba(196,188,255,.12);
      --cl-line-strong:rgba(196,188,255,.21);
      --cl-primary:#b9adff;
      --cl-primary-2:#8f7dff;
      --cl-ink:#f5f3ff;
      --cl-ink-2:#d9d4ec;
      --cl-muted:#8d8aa0;
      --cl-hot:#d09af0;
      --cl-cold:#8fb9e6;
      background:
        radial-gradient(circle at 13% -7%,rgba(132,109,255,.20),transparent 28%),
        radial-gradient(circle at 92% 4%,rgba(90,71,176,.12),transparent 30%),
        linear-gradient(180deg,#070811 0%,#080912 50%,#06070d 100%);
      color:var(--cl-ink);
    }

    body.module-clima .app{padding:16px 18px 28px}
    body.module-clima .shell{max-width:1580px}

    body.module-clima .simoc-title,
    body.module-clima .report-title,
    body.module-clima .module-name,
    body.module-clima .headline-title,
    body.module-clima .headline-value,
    body.module-clima .kpi-value,
    body.module-clima .card-title,
    body.module-clima .rank-value,
    body.module-clima .rank-label{
      font-family:'Space Grotesk','Manrope','Inter',sans-serif;
    }

    body.module-clima .subtitle,
    body.module-clima .field,
    body.module-clima .module-meta,
    body.module-clima .headline-eyebrow,
    body.module-clima .headline-detail,
    body.module-clima .kpi-label,
    body.module-clima .kpi-detail,
    body.module-clima .card-subtitle,
    body.module-clima .rank-detail,
    body.module-clima .insight-list,
    body.module-clima .footer-note,
    body.module-clima .tab{
      font-family:'Inter','Segoe UI',Arial,sans-serif;
    }

    body.module-clima .header{
      border:1px solid var(--cl-line);
      border-radius:18px;
      padding:16px 17px;
      background:linear-gradient(112deg,rgba(18,19,31,.98) 0%,rgba(11,12,21,.98) 58%,rgba(20,18,35,.98) 100%);
      box-shadow:0 18px 50px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.035);
      overflow:hidden;
    }
    body.module-clima .header::before{
      height:1px;
      background:linear-gradient(90deg,transparent 0%,var(--cl-primary) 18%,rgba(185,173,255,.20) 70%,transparent 100%);
    }
    body.module-clima .header::after{
      content:"";
      position:absolute;
      width:330px;height:170px;
      right:-80px;top:-105px;
      border-radius:50%;
      background:radial-gradient(circle,rgba(160,139,255,.22) 0%,rgba(160,139,255,0) 68%);
      pointer-events:none;
    }
    body.module-clima .brand{gap:13px}
    body.module-clima .brand-icon{
      width:48px;height:48px;border-radius:13px;
      background:linear-gradient(145deg,rgba(185,173,255,.30),rgba(115,94,219,.16)),#131522;
      border:1px solid rgba(185,173,255,.20);
      box-shadow:0 8px 26px rgba(88,69,180,.15),inset 0 1px 0 rgba(255,255,255,.07);
      filter:none;
    }
    body.module-clima .simoc-title{color:#fff;font-size:22px;font-weight:700;letter-spacing:-.55px}
    body.module-clima .report-title{color:var(--cl-ink-2);font-size:18px;font-weight:600;letter-spacing:-.45px}
    body.module-clima .brand-divider{height:35px;background:rgba(185,173,255,.14)}
    body.module-clima .subtitle{color:var(--cl-muted);font-size:11px;line-height:1.35}

    body.module-clima .global-filter{
      gap:7px;padding:8px;
      border:1px solid var(--cl-line);border-radius:13px;
      background:rgba(8,9,17,.72);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 10px 26px rgba(0,0,0,.15);
      backdrop-filter:blur(9px);
    }
    body.module-clima .field label{
      margin-bottom:4px;color:#777489;
      font-family:'Inter',sans-serif;font-size:10px;font-weight:700;letter-spacing:.85px;
    }
    body.module-clima .field select,
    body.module-clima .field input{
      height:36px;border:1px solid rgba(185,173,255,.13);border-radius:9px;
      background:#11131d;color:var(--cl-ink-2);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
      font-size:13px;color-scheme:dark;
    }
    body.module-clima .field select:hover,
    body.module-clima .field input:hover{border-color:rgba(185,173,255,.24)}
    body.module-clima .field select:focus,
    body.module-clima .field input:focus{
      border-color:rgba(185,173,255,.55);
      box-shadow:0 0 0 3px rgba(147,126,255,.12);
    }
    body.module-clima .btn{
      height:36px;border:1px solid rgba(185,173,255,.42);border-radius:9px;
      background:linear-gradient(180deg,#bcaeff 0%,#9583f5 100%);
      color:#0b0c12;font-size:12px;font-weight:800;
      box-shadow:0 9px 22px rgba(113,92,220,.21),inset 0 1px 0 rgba(255,255,255,.32);
      transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
    }
    body.module-clima .btn:hover{
      filter:brightness(1.05);transform:translateY(-1px);
      box-shadow:0 12px 28px rgba(113,92,220,.28),inset 0 1px 0 rgba(255,255,255,.35);
    }

    body.module-clima .report-surface{
      margin-top:13px;padding:11px;min-height:720px;
      border:1px solid rgba(185,173,255,.09);border-radius:18px;
      background:
        radial-gradient(circle at 87% 2%,rgba(139,116,255,.07),transparent 22%),
        linear-gradient(180deg,#0a0b13 0%,#080910 100%);
      box-shadow:0 22px 58px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.025);
    }

    body.module-clima .tabs-wrap{
      border:1px solid rgba(185,173,255,.09);border-radius:13px;padding:5px;
      background:#0e1018;box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
    }
    body.module-clima .tabs{gap:3px}
    body.module-clima .tab{
      padding:9px 11px;border-radius:9px;color:#7f7c91;
      font-size:11px;font-weight:600;letter-spacing:-.10px;
      transition:background .15s ease,color .15s ease,border-color .15s ease;
    }
    body.module-clima .tab::after{display:none}
    body.module-clima .tab:hover{color:#dcd8ed;background:#151722}
    body.module-clima .tab.active{
      color:#f7f5ff;
      background:linear-gradient(180deg,rgba(184,171,255,.21),rgba(137,117,242,.10)),#161822;
      box-shadow:inset 0 0 0 1px rgba(185,173,255,.16),0 5px 15px rgba(0,0,0,.12);
    }

    body.module-clima .module-bar{
      margin-top:9px;padding:10px 12px;
      border:1px solid rgba(185,173,255,.10);border-left:0;border-radius:13px;
      background:linear-gradient(145deg,#11131d,#0c0e16);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
    }
    body.module-clima .module-heading{gap:10px}
    body.module-clima .module-icon{
      width:34px;height:34px;display:grid;place-items:center;border-radius:10px;
      background:linear-gradient(145deg,rgba(185,173,255,.24),rgba(129,107,229,.10));
      border:1px solid rgba(185,173,255,.15);font-size:17px;filter:none;
      box-shadow:0 6px 18px rgba(85,65,170,.11);
    }
    body.module-clima .module-name{color:#f5f3ff;font-size:18px;font-weight:650;letter-spacing:-.45px}
    body.module-clima .module-meta{color:#757286;font-size:10px;margin-top:2px}
    body.module-clima .module-filters .field input,
    body.module-clima .module-filters .field select{height:34px;font-size:12px}
    body.module-clima .module-filters .field label{font-size:9px;color:#6f6c80}
    body.module-clima .clear-btn{
      height:34px;border:1px solid rgba(185,173,255,.13);border-radius:9px;
      background:#151722;color:#a9a5bb;padding:0 12px;font-size:11px;font-weight:600;
    }
    body.module-clima .clear-btn:hover{color:#fff;border-color:rgba(185,173,255,.25);background:#1a1c29}
    body.module-clima .content{margin-top:10px}

    body.module-clima .headline-card{
      min-height:72px;padding:14px 16px;margin-bottom:12px;
      border:1px solid rgba(185,173,255,.11);border-top:0;border-radius:14px;
      background:
        radial-gradient(circle at 86% 55%,rgba(150,126,255,.16),transparent 28%),
        linear-gradient(105deg,#11131d 0%,#0c0e16 61%,#121225 100%);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 10px 28px rgba(0,0,0,.16);
      position:relative;overflow:hidden;
    }
    body.module-clima .headline-card::after{
      content:"";position:absolute;right:0;bottom:0;width:210px;height:1px;
      background:linear-gradient(90deg,transparent,var(--cl-primary));opacity:.55;
    }
    body.module-clima .headline-eyebrow{color:#77738a;font-size:9px;letter-spacing:1.18px}
    body.module-clima .headline-title{color:#d7d3e8;font-size:14px;font-weight:550;margin-top:4px}
    body.module-clima .headline-value{
      color:#c8bdff;font-size:24px;font-weight:650;letter-spacing:-.55px;
      text-shadow:0 0 24px rgba(165,145,255,.12);
    }
    body.module-clima .headline-detail{color:#777489;font-size:10px;margin-top:3px}

    body.module-clima .kpi-grid{gap:12px;margin-bottom:12px}
    body.module-clima .kpi{
      min-height:112px;padding:14px 15px;
      border:1px solid rgba(185,173,255,.09);border-top:1px solid rgba(185,173,255,.16);
      border-radius:14px;
      background:radial-gradient(circle at 92% 12%,rgba(152,131,255,.09),transparent 30%),linear-gradient(145deg,#11131d 0%,#0d0f18 100%);
      box-shadow:0 10px 28px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.025);
      overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
    }
    body.module-clima .kpi:hover{
      transform:translateY(-2px);border-color:rgba(185,173,255,.20);
      box-shadow:0 14px 34px rgba(0,0,0,.22),0 0 0 1px rgba(185,173,255,.025);
    }
    body.module-clima .kpi::after{
      width:90px;height:90px;right:-36px;bottom:-46px;
      background:radial-gradient(circle,rgba(171,151,255,.18),rgba(171,151,255,0) 66%);
    }
    body.module-clima .kpi-label{color:#777487;font-size:9px;font-weight:700;letter-spacing:.82px}
    body.module-clima .kpi-value{margin-top:10px;color:#f3f0ff;font-size:26px;font-weight:600;letter-spacing:-.85px}
    body.module-clima .kpi-detail{margin-top:7px;color:#777489;font-size:10px}
    body.module-clima .kpi.hot .kpi-value{color:#d0a7ef}
    body.module-clima .kpi.cold .kpi-value{color:#9bc3eb}
    body.module-clima .kpi.water .kpi-value{color:#8dbdd6}
    body.module-clima .kpi.hot,
    body.module-clima .kpi.fire,
    body.module-clima .kpi.solar,
    body.module-clima .kpi.cold,
    body.module-clima .kpi.water,
    body.module-clima .kpi.neutral{border-top-color:rgba(185,173,255,.16)}

    body.module-clima .chart-grid{gap:12px;margin-bottom:12px}
    body.module-clima .chart-card{
      min-height:330px;padding:15px 15px 11px;
      border:1px solid rgba(185,173,255,.10);border-radius:15px;
      background:radial-gradient(circle at 84% 6%,rgba(143,124,255,.08),transparent 28%),linear-gradient(145deg,#0f111b 0%,#0b0d15 100%);
      box-shadow:0 12px 34px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.025);
      position:relative;overflow:hidden;
    }
    body.module-clima .chart-card::after{
      content:"";position:absolute;right:15px;top:15px;width:7px;height:7px;border-radius:50%;
      background:var(--cl-primary);box-shadow:0 0 18px rgba(185,173,255,.45);opacity:.78;
    }
    body.module-clima .card-title{color:#e9e6f5;font-size:15px;font-weight:600;letter-spacing:-.25px}
    body.module-clima .card-subtitle{color:#696678;font-size:10px;margin-top:3px;margin-bottom:10px}
    body.module-clima .canvas-wrap{height:260px}

    body.module-clima .lower-grid{gap:12px}
    body.module-clima .rankings-grid{gap:12px}
    body.module-clima .rank-card,
    body.module-clima .insight-card{
      border:1px solid rgba(185,173,255,.09);border-left:1px solid rgba(185,173,255,.09);
      border-radius:14px;background:linear-gradient(145deg,#10121c,#0c0e16);
      box-shadow:0 10px 28px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.02);
      padding:14px;
    }
    body.module-clima .rank-list{gap:3px}
    body.module-clima .rank-row{padding:8px 0;border-bottom:1px solid rgba(185,173,255,.07)}
    body.module-clima .rank-num{
      background:linear-gradient(145deg,rgba(185,173,255,.22),rgba(132,110,235,.11));
      color:#d4ccff;border:1px solid rgba(185,173,255,.12);font-size:10px;
    }
    body.module-clima .rank-label{color:#dcd8ea;font-size:12px;font-weight:550}
    body.module-clima .rank-detail{color:#6f6c80;font-size:9px}
    body.module-clima .rank-value{color:#bfb4ff;font-size:12px;font-weight:600}
    body.module-clima .insight-list li{
      color:#a6a2b6;border-bottom:1px solid rgba(185,173,255,.07);font-size:11px;
    }
    body.module-clima .insight-list li:before{
      background:var(--cl-primary);border-radius:50%;box-shadow:0 0 10px rgba(185,173,255,.35);
    }

    body.module-clima .footer-note{border-top:1px solid rgba(185,173,255,.08);color:#5f5d6d;font-size:9px}
    body.module-clima .coverage,
    body.module-clima .coverage strong{color:#706d81}
    body.module-clima .loading{color:#858197}
    body.module-clima .spinner{border-color:#242638;border-top-color:var(--cl-primary);box-shadow:0 0 14px rgba(185,173,255,.16)}
    body.module-clima .no-data{
      background:#0f111a;border:1px solid rgba(185,173,255,.10);color:var(--cl-ink);box-shadow:none;
    }
    body.module-clima .no-data h3{color:#f1eff8}
    body.module-clima .no-data p{color:#858195}

    @media(max-width:850px){
      body.module-clima .header,
      body.module-clima .report-surface{border-radius:14px}
      body.module-clima .kpi,
      body.module-clima .chart-card,
      body.module-clima .rank-card,
      body.module-clima .insight-card{border-radius:12px}
    }


    /* =========================================================
       VIENTO · NIGHT CLIMATE CONTROL UI
       SOLO ESTÉTICA. No cambia datos, filtros, IDs ni cálculos.
       Referencia visual: navy profundo + azul eléctrico + coral.
       ========================================================= */
    body.module-viento{
      --vw-bg:#0b1022;
      --vw-bg-2:#0e152b;
      --vw-panel:#121a33;
      --vw-panel-2:#151e3a;
      --vw-panel-3:#0f1730;
      --vw-line:rgba(132,158,255,.12);
      --vw-line-strong:rgba(132,158,255,.23);
      --vw-blue:#4c79ff;
      --vw-blue-2:#79a0ff;
      --vw-blue-soft:#a9bdff;
      --vw-coral:#ed806f;
      --vw-coral-2:#f09b8d;
      --vw-ink:#f6f8ff;
      --vw-ink-2:#d9e1ff;
      --vw-muted:#8590b5;
      --vw-muted-2:#687397;
      background:
        radial-gradient(circle at 8% -4%,rgba(71,106,255,.20),transparent 27%),
        radial-gradient(circle at 96% 2%,rgba(237,128,111,.08),transparent 23%),
        linear-gradient(180deg,#0a1021 0%,#0c1226 48%,#080d1b 100%);
      color:var(--vw-ink);
    }

    body.module-viento .app{padding:16px 18px 30px}
    body.module-viento .shell{max-width:1580px}

    body.module-viento .simoc-title,
    body.module-viento .report-title,
    body.module-viento .module-name,
    body.module-viento .headline-title,
    body.module-viento .headline-value,
    body.module-viento .kpi-value,
    body.module-viento .card-title,
    body.module-viento .rank-value,
    body.module-viento .rank-label{
      font-family:'Space Grotesk','Manrope','Inter',sans-serif;
    }

    body.module-viento .subtitle,
    body.module-viento .field,
    body.module-viento .module-meta,
    body.module-viento .headline-eyebrow,
    body.module-viento .headline-detail,
    body.module-viento .kpi-label,
    body.module-viento .kpi-detail,
    body.module-viento .card-subtitle,
    body.module-viento .rank-detail,
    body.module-viento .insight-list,
    body.module-viento .footer-note,
    body.module-viento .tab{
      font-family:'Inter','Segoe UI',Arial,sans-serif;
    }

    body.module-viento .header{
      border:1px solid var(--vw-line);
      border-radius:18px;
      padding:16px 17px;
      background:
        linear-gradient(112deg,rgba(19,28,55,.98) 0%,rgba(12,19,39,.99) 58%,rgba(18,25,50,.98) 100%);
      box-shadow:0 20px 54px rgba(0,0,0,.27),inset 0 1px 0 rgba(255,255,255,.035);
      overflow:hidden;
    }
    body.module-viento .header::before{
      height:1px;
      background:linear-gradient(90deg,transparent 0%,var(--vw-blue) 18%,rgba(121,160,255,.42) 55%,rgba(237,128,111,.42) 82%,transparent 100%);
    }
    body.module-viento .header::after{
      content:"";
      position:absolute;
      width:410px;height:210px;
      right:-100px;top:-132px;
      border-radius:50%;
      background:radial-gradient(circle,rgba(74,112,255,.17) 0%,rgba(74,112,255,0) 68%);
      pointer-events:none;
    }
    body.module-viento .brand{gap:13px}
    body.module-viento .brand-icon{
      width:48px;height:48px;border-radius:14px;
      background:linear-gradient(145deg,rgba(80,120,255,.34),rgba(33,54,113,.30)),#111a35;
      border:1px solid rgba(120,153,255,.20);
      box-shadow:0 8px 25px rgba(43,76,185,.15),inset 0 1px 0 rgba(255,255,255,.07);
      filter:none;
    }
    body.module-viento .simoc-title{color:#fff;font-size:22px;font-weight:700;letter-spacing:-.55px}
    body.module-viento .report-title{color:var(--vw-ink-2);font-size:18px;font-weight:600;letter-spacing:-.45px}
    body.module-viento .brand-divider{height:35px;background:rgba(126,155,255,.14)}
    body.module-viento .subtitle{color:var(--vw-muted);font-size:11px;line-height:1.38}

    body.module-viento .global-filter{
      gap:7px;padding:8px;
      border:1px solid var(--vw-line);border-radius:13px;
      background:rgba(9,14,30,.72);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 10px 26px rgba(0,0,0,.16);
      backdrop-filter:blur(9px);
    }
    body.module-viento .field label{
      margin-bottom:4px;color:#7884aa;
      font-family:'Inter',sans-serif;font-size:10px;font-weight:700;letter-spacing:.84px;
    }
    body.module-viento .field select,
    body.module-viento .field input{
      height:36px;border:1px solid rgba(126,155,255,.14);border-radius:10px;
      background:#111a32;color:var(--vw-ink-2);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
      font-size:13px;color-scheme:dark;
    }
    body.module-viento .field select:hover,
    body.module-viento .field input:hover{border-color:rgba(126,155,255,.27)}
    body.module-viento .field select:focus,
    body.module-viento .field input:focus{
      border-color:rgba(92,129,255,.68);
      box-shadow:0 0 0 3px rgba(76,121,255,.13);
    }
    body.module-viento .btn{
      height:36px;border:1px solid rgba(104,141,255,.58);border-radius:10px;
      background:linear-gradient(180deg,#5582ff 0%,#3f6cf1 100%);
      color:#fff;font-size:12px;font-weight:750;
      box-shadow:0 10px 24px rgba(45,86,226,.24),inset 0 1px 0 rgba(255,255,255,.24);
      transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
    }
    body.module-viento .btn:hover{
      filter:brightness(1.07);transform:translateY(-1px);
      box-shadow:0 13px 30px rgba(45,86,226,.32),inset 0 1px 0 rgba(255,255,255,.27);
    }

    body.module-viento .report-surface{
      margin-top:13px;padding:11px;min-height:720px;
      border:1px solid rgba(123,151,255,.09);border-radius:18px;
      background:
        radial-gradient(circle at 91% 0%,rgba(71,106,255,.08),transparent 25%),
        linear-gradient(180deg,#0c1327 0%,#0a1020 100%);
      box-shadow:0 24px 62px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.022);
    }

    body.module-viento .tabs-wrap{
      border:1px solid rgba(126,155,255,.09);border-radius:13px;padding:5px;
      background:#10172d;box-shadow:inset 0 1px 0 rgba(255,255,255,.022);
    }
    body.module-viento .tabs{gap:3px}
    body.module-viento .tab{
      padding:9px 11px;border-radius:9px;color:#7d88aa;
      font-size:11px;font-weight:600;letter-spacing:-.10px;
      transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease;
    }
    body.module-viento .tab::after{display:none}
    body.module-viento .tab:hover{color:#e1e7ff;background:#17203d}
    body.module-viento .tab.active{
      color:#f7f9ff;
      background:linear-gradient(180deg,rgba(76,121,255,.30),rgba(51,82,181,.14)),#18213d;
      box-shadow:inset 0 0 0 1px rgba(111,145,255,.18),0 6px 18px rgba(0,0,0,.14);
    }

    body.module-viento .module-bar{
      margin-top:9px;padding:10px 12px;
      border:1px solid rgba(126,155,255,.10);border-left:0;border-radius:13px;
      background:linear-gradient(145deg,#151e39,#10172d);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
    }
    body.module-viento .module-heading{gap:10px}
    body.module-viento .module-icon{
      width:34px;height:34px;display:grid;place-items:center;border-radius:10px;
      background:linear-gradient(145deg,rgba(76,121,255,.28),rgba(45,74,165,.12));
      border:1px solid rgba(126,155,255,.16);font-size:17px;filter:none;
      box-shadow:0 6px 18px rgba(38,73,178,.12);
    }
    body.module-viento .module-name{color:#f6f8ff;font-size:18px;font-weight:650;letter-spacing:-.45px}
    body.module-viento .module-meta{color:#7984a8;font-size:10px;margin-top:2px}
    body.module-viento .module-filters .field input,
    body.module-viento .module-filters .field select{height:34px;font-size:12px}
    body.module-viento .module-filters .field label{font-size:9px;color:#7580a4}
    body.module-viento .clear-btn{
      height:34px;border:1px solid rgba(126,155,255,.14);border-radius:9px;
      background:#18213c;color:#a8b4db;padding:0 12px;font-size:11px;font-weight:600;
    }
    body.module-viento .clear-btn:hover{color:#fff;border-color:rgba(126,155,255,.27);background:#1b2748}
    body.module-viento .content{margin-top:10px}

    body.module-viento .headline-card{
      min-height:76px;padding:14px 16px;margin-bottom:12px;
      border:1px solid rgba(126,155,255,.11);border-top:0;border-radius:14px;
      background:
        radial-gradient(circle at 83% 52%,rgba(237,128,111,.13),transparent 23%),
        radial-gradient(circle at 97% 48%,rgba(78,120,255,.17),transparent 34%),
        linear-gradient(105deg,#151e39 0%,#10172d 60%,#151c38 100%);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 11px 28px rgba(0,0,0,.17);
      position:relative;overflow:hidden;
    }
    body.module-viento .headline-card::after{
      content:"";position:absolute;right:0;bottom:0;width:250px;height:1px;
      background:linear-gradient(90deg,transparent,var(--vw-coral),var(--vw-blue));opacity:.62;
    }
    body.module-viento .headline-eyebrow{color:#7884aa;font-size:9px;letter-spacing:1.16px}
    body.module-viento .headline-title{color:#dce4ff;font-size:14px;font-weight:550;margin-top:4px}
    body.module-viento .headline-value{
      color:#91adff;font-size:24px;font-weight:650;letter-spacing:-.62px;
      text-shadow:0 0 24px rgba(76,121,255,.13);
    }
    body.module-viento .headline-detail{color:#7b86aa;font-size:10px;margin-top:3px}

    body.module-viento .kpi-grid{gap:12px;margin-bottom:12px}
    body.module-viento .kpi{
      min-height:116px;padding:14px 15px;
      border:1px solid rgba(126,155,255,.09);border-top:1px solid rgba(126,155,255,.18);
      border-radius:14px;
      background:
        radial-gradient(circle at 95% 8%,rgba(76,121,255,.12),transparent 31%),
        linear-gradient(145deg,#151e39 0%,#11182e 100%);
      box-shadow:0 11px 28px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.025);
      overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
    }
    body.module-viento .kpi:hover{
      transform:translateY(-2px);border-color:rgba(126,155,255,.20);
      box-shadow:0 15px 35px rgba(0,0,0,.22),0 0 0 1px rgba(76,121,255,.025);
    }
    body.module-viento .kpi::after{
      width:95px;height:95px;right:-38px;bottom:-50px;
      background:radial-gradient(circle,rgba(76,121,255,.12),transparent 66%);
    }
    body.module-viento .kpi-label{color:#7d88ad;font-size:9px;font-weight:700;letter-spacing:.82px}
    body.module-viento .kpi-value{margin-top:10px;color:#f5f7ff;font-size:27px;font-weight:570;letter-spacing:-1px}
    body.module-viento .kpi-detail{margin-top:7px;color:#7984a7;font-size:10px}
    body.module-viento .kpi.wind .kpi-value{color:#a9bdff}
    body.module-viento .kpi.wind:nth-child(2) .kpi-value{color:#7fa0ff}
    body.module-viento .kpi.wind:nth-child(3) .kpi-value{color:#ef8d7c}
    body.module-viento .kpi.neutral .kpi-value{color:#eef2ff}
    body.module-viento .kpi.wind,
    body.module-viento .kpi.neutral{border-top-color:rgba(126,155,255,.18)}

    body.module-viento .chart-grid{gap:12px;margin-bottom:12px}
    body.module-viento .chart-card{
      padding:15px;border:1px solid rgba(126,155,255,.09);border-radius:14px;
      background:
        linear-gradient(180deg,rgba(23,32,61,.98),rgba(15,22,43,.98));
      box-shadow:0 12px 30px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.024);
      position:relative;overflow:hidden;
    }
    body.module-viento .chart-card::after{
      content:"";position:absolute;left:14px;right:14px;top:49px;height:1px;
      background:linear-gradient(90deg,rgba(126,155,255,.12),rgba(126,155,255,.035),transparent);
      pointer-events:none;
    }
    body.module-viento .card-title{color:#edf1ff;font-size:15px;font-weight:600;letter-spacing:-.28px}
    body.module-viento .card-subtitle{color:#6f7a9d;font-size:10px;margin-top:3px;margin-bottom:11px}
    body.module-viento .canvas-wrap{height:270px}

    body.module-viento .lower-grid{gap:12px}
    body.module-viento .rankings-grid{gap:12px}
    body.module-viento .rank-card,
    body.module-viento .insight-card{
      border:1px solid rgba(126,155,255,.09);border-radius:14px;
      background:linear-gradient(145deg,#151e39,#11182e);
      box-shadow:0 11px 28px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.024);
    }
    body.module-viento .rank-list{gap:3px}
    body.module-viento .rank-row{padding:9px 0;border-bottom:1px solid rgba(126,155,255,.07)}
    body.module-viento .rank-num{
      background:#1a2851;color:#9db3ff;border:1px solid rgba(126,155,255,.14);
    }
    body.module-viento .rank-label{color:#dfe6ff;font-size:12px;font-weight:550}
    body.module-viento .rank-detail{color:#717d9f;font-size:9px}
    body.module-viento .rank-value{color:#93adff;font-size:12px;font-weight:600}
    body.module-viento .insight-list li{
      color:#aab4d4;border-bottom:1px solid rgba(126,155,255,.07);
    }
    body.module-viento .insight-list li:before{
      color:var(--vw-coral);text-shadow:0 0 12px rgba(237,128,111,.20);
    }
    body.module-viento .footer-note{border-top:1px solid rgba(126,155,255,.08);color:#606b8e;font-size:9px}
    body.module-viento .coverage,
    body.module-viento .coverage strong{color:#717c9e}
    body.module-viento .loading{color:#8792b4}
    body.module-viento .spinner{border-color:#222d50;border-top-color:var(--vw-blue);box-shadow:0 0 15px rgba(76,121,255,.18)}
    body.module-viento .no-data{
      background:#11182e;border:1px solid rgba(126,155,255,.10);color:var(--vw-ink);box-shadow:none;
    }
    body.module-viento .no-data h3{color:#f2f5ff}
    body.module-viento .no-data p{color:#8490b2}

    @media(max-width:850px){
      body.module-viento .header,
      body.module-viento .report-surface{border-radius:14px}
      body.module-viento .kpi,
      body.module-viento .chart-card,
      body.module-viento .rank-card,
      body.module-viento .insight-card{border-radius:12px}
    }

    /* =========================================================
       INCENDIOS · ALERT / HEAT COMMAND UI
       SOLO ESTÉTICA. No cambia datos, filtros, IDs ni cálculos.
       Referencia visual: negro carbón + rojo intenso + ámbar.
       ========================================================= */
    body.module-incendios{
      --fi-bg:#090708;
      --fi-bg-2:#12090a;
      --fi-panel:#141010;
      --fi-panel-2:#191112;
      --fi-panel-3:#100d0e;
      --fi-line:rgba(255,88,72,.12);
      --fi-line-strong:rgba(255,105,84,.24);
      --fi-red:#ff4b36;
      --fi-red-2:#ff6b46;
      --fi-orange:#ff8f3a;
      --fi-yellow:#ffd34a;
      --fi-glow:#ffcc45;
      --fi-ink:#fff5f2;
      --fi-ink-2:#ffe3dc;
      --fi-muted:#b0908c;
      --fi-muted-2:#836967;
      background:
        radial-gradient(circle at 12% -2%,rgba(255,78,54,.16),transparent 26%),
        radial-gradient(circle at 100% 1%,rgba(255,181,64,.08),transparent 22%),
        linear-gradient(180deg,#070606 0%,#0b0708 52%,#050405 100%);
      color:var(--fi-ink);
    }

    body.module-incendios .app{padding:16px 18px 30px}
    body.module-incendios .shell{max-width:1580px}

    body.module-incendios .simoc-title,
    body.module-incendios .report-title,
    body.module-incendios .module-name,
    body.module-incendios .headline-title,
    body.module-incendios .headline-value,
    body.module-incendios .kpi-value,
    body.module-incendios .card-title,
    body.module-incendios .rank-value,
    body.module-incendios .rank-label{
      font-family:'Space Grotesk','Manrope','Inter',sans-serif;
    }

    body.module-incendios .subtitle,
    body.module-incendios .field,
    body.module-incendios .module-meta,
    body.module-incendios .headline-eyebrow,
    body.module-incendios .headline-detail,
    body.module-incendios .kpi-label,
    body.module-incendios .kpi-detail,
    body.module-incendios .card-subtitle,
    body.module-incendios .rank-detail,
    body.module-incendios .insight-list,
    body.module-incendios .footer-note,
    body.module-incendios .tab{
      font-family:'Inter','Segoe UI',Arial,sans-serif;
    }

    body.module-incendios .header{
      border:1px solid var(--fi-line);
      border-radius:18px;
      padding:16px 17px;
      background:
        radial-gradient(circle at 71% -26%,rgba(255,77,54,.24),transparent 34%),
        linear-gradient(112deg,rgba(22,15,16,.99) 0%,rgba(14,10,11,.99) 56%,rgba(23,13,13,.98) 100%);
      box-shadow:0 20px 54px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.03);
      overflow:hidden;
    }
    body.module-incendios .header::before{
      height:1px;
      background:linear-gradient(90deg,transparent 0%,rgba(255,85,58,.9) 16%,rgba(255,114,64,.58) 48%,rgba(255,212,74,.46) 82%,transparent 100%);
    }
    body.module-incendios .header::after{
      content:"";position:absolute;width:420px;height:220px;right:-110px;top:-126px;border-radius:50%;
      background:radial-gradient(circle,rgba(255,77,54,.17) 0%,rgba(255,77,54,0) 68%);pointer-events:none;
    }
    body.module-incendios .brand{gap:13px}
    body.module-incendios .brand-icon{
      width:48px;height:48px;border-radius:14px;
      background:linear-gradient(145deg,rgba(255,97,53,.36),rgba(87,22,17,.30)),#1a1110;
      border:1px solid rgba(255,108,74,.20);
      box-shadow:0 8px 25px rgba(137,30,17,.22),inset 0 1px 0 rgba(255,255,255,.06);
      filter:none;
    }
    body.module-incendios .simoc-title{color:#fff;font-size:22px;font-weight:700;letter-spacing:-.55px}
    body.module-incendios .report-title{color:var(--fi-ink-2);font-size:18px;font-weight:600;letter-spacing:-.45px}
    body.module-incendios .brand-divider{height:35px;background:rgba(255,103,73,.14)}
    body.module-incendios .subtitle{color:var(--fi-muted);font-size:11px;line-height:1.38}

    body.module-incendios .global-filter{
      gap:7px;padding:8px;border:1px solid var(--fi-line);border-radius:13px;
      background:rgba(14,10,11,.76);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.02),0 10px 26px rgba(0,0,0,.18);
      backdrop-filter:blur(9px);
    }
    body.module-incendios .field label{
      margin-bottom:4px;color:#b0847d;font-family:'Inter',sans-serif;font-size:10px;font-weight:700;letter-spacing:.84px;
    }
    body.module-incendios .field select,
    body.module-incendios .field input{
      height:36px;border:1px solid rgba(255,92,67,.14);border-radius:10px;
      background:#171112;color:var(--fi-ink-2);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.02);font-size:13px;color-scheme:dark;
    }
    body.module-incendios .field select:hover,
    body.module-incendios .field input:hover{border-color:rgba(255,107,70,.28)}
    body.module-incendios .field select:focus,
    body.module-incendios .field input:focus{
      border-color:rgba(255,97,53,.72);
      box-shadow:0 0 0 3px rgba(255,80,53,.14);
    }
    body.module-incendios .btn{
      height:36px;border:1px solid rgba(255,112,61,.44);border-radius:10px;
      background:linear-gradient(180deg,#ff5e3d 0%,#e83a27 100%);
      color:#fff;font-size:12px;font-weight:750;
      box-shadow:0 10px 24px rgba(166,34,17,.26),inset 0 1px 0 rgba(255,227,211,.18);
      transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
    }
    body.module-incendios .btn:hover{
      filter:brightness(1.06);transform:translateY(-1px);
      box-shadow:0 13px 30px rgba(166,34,17,.32),inset 0 1px 0 rgba(255,231,214,.20);
    }

    body.module-incendios .report-surface{
      margin-top:13px;padding:11px;min-height:720px;
      border:1px solid rgba(255,87,66,.09);border-radius:18px;
      background:
        radial-gradient(circle at 91% 0%,rgba(255,85,58,.07),transparent 25%),
        linear-gradient(180deg,#0b0809 0%,#090708 100%);
      box-shadow:0 24px 62px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.02);
    }

    body.module-incendios .tabs-wrap{
      border:1px solid rgba(255,92,68,.08);border-radius:13px;padding:5px;
      background:#120d0e;box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
    }
    body.module-incendios .tabs{gap:3px}
    body.module-incendios .tab{
      padding:9px 11px;border-radius:9px;color:#9f7d79;
      font-size:11px;font-weight:600;letter-spacing:-.10px;
      transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease;
    }
    body.module-incendios .tab::after{display:none}
    body.module-incendios .tab:hover{color:#ffe8e1;background:#1b1314}
    body.module-incendios .tab.active{
      color:#fff7f5;
      background:linear-gradient(180deg,rgba(255,84,58,.26),rgba(110,26,20,.18)),#231314;
      box-shadow:inset 0 0 0 1px rgba(255,106,71,.14),0 6px 18px rgba(0,0,0,.16);
    }

    body.module-incendios .module-bar{
      margin-top:9px;padding:10px 12px;
      border:1px solid rgba(255,93,69,.09);border-left:0;border-radius:13px;
      background:linear-gradient(145deg,#1a1213,#120d0e);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
    }
    body.module-incendios .module-heading{gap:10px}
    body.module-incendios .module-icon{
      width:34px;height:34px;display:grid;place-items:center;border-radius:10px;
      background:linear-gradient(145deg,rgba(255,84,58,.25),rgba(112,26,21,.12));
      border:1px solid rgba(255,105,73,.14);font-size:17px;filter:none;
      box-shadow:0 6px 18px rgba(128,28,17,.12);
    }
    body.module-incendios .module-name{color:#fff6f3;font-size:18px;font-weight:650;letter-spacing:-.45px}
    body.module-incendios .module-meta{color:#9f7d79;font-size:10px;margin-top:2px}
    body.module-incendios .module-filters .field input,
    body.module-incendios .module-filters .field select{height:34px;font-size:12px}
    body.module-incendios .module-filters .field label{font-size:9px;color:#a37d77}
    body.module-incendios .clear-btn{
      height:34px;border:1px solid rgba(255,101,70,.13);border-radius:9px;
      background:#201415;color:#d8b3ac;padding:0 12px;font-size:11px;font-weight:600;
    }
    body.module-incendios .clear-btn:hover{color:#fff;border-color:rgba(255,109,72,.24);background:#281718}
    body.module-incendios .content{margin-top:10px}

    body.module-incendios .headline-card{
      min-height:76px;padding:14px 16px;margin-bottom:12px;
      border:1px solid rgba(255,95,68,.10);border-top:0;border-radius:14px;
      background:
        radial-gradient(circle at 78% 40%,rgba(255,84,58,.16),transparent 22%),
        radial-gradient(circle at 96% 28%,rgba(255,212,74,.11),transparent 30%),
        linear-gradient(105deg,#1a1213 0%,#130d0e 60%,#1a1111 100%);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.02),0 11px 28px rgba(0,0,0,.18);
      position:relative;overflow:hidden;
    }
    body.module-incendios .headline-card::after{
      content:"";position:absolute;right:0;bottom:0;width:260px;height:1px;
      background:linear-gradient(90deg,transparent,var(--fi-red),var(--fi-yellow));opacity:.74;
    }
    body.module-incendios .headline-eyebrow{color:#a7827d;font-size:9px;letter-spacing:1.16px}
    body.module-incendios .headline-title{color:#ffe4dc;font-size:14px;font-weight:550;margin-top:4px}
    body.module-incendios .headline-value{
      color:#ffd450;font-size:24px;font-weight:650;letter-spacing:-.62px;
      text-shadow:0 0 24px rgba(255,172,50,.10);
    }
    body.module-incendios .headline-detail{color:#9d7c77;font-size:10px;margin-top:3px}

    body.module-incendios .kpi-grid{gap:12px;margin-bottom:12px}
    body.module-incendios .kpi{
      min-height:116px;padding:14px 15px;
      border:1px solid rgba(255,96,68,.08);border-top:1px solid rgba(255,96,68,.16);
      border-radius:14px;
      background:
        radial-gradient(circle at 96% 8%,rgba(255,84,58,.12),transparent 32%),
        linear-gradient(145deg,#1a1213 0%,#120d0e 100%);
      box-shadow:0 11px 28px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.02);
      overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
    }
    body.module-incendios .kpi:hover{
      transform:translateY(-2px);border-color:rgba(255,107,71,.18);
      box-shadow:0 15px 35px rgba(0,0,0,.22),0 0 0 1px rgba(255,95,68,.025);
    }
    body.module-incendios .kpi::after{
      width:96px;height:96px;right:-42px;bottom:-52px;
      background:radial-gradient(circle,rgba(255,84,58,.11),transparent 67%);
    }
    body.module-incendios .kpi-label{color:#a6847f;font-size:9px;font-weight:700;letter-spacing:.82px}
    body.module-incendios .kpi-value{margin-top:10px;color:#fff6f1;font-size:27px;font-weight:570;letter-spacing:-1px}
    body.module-incendios .kpi-detail{margin-top:7px;color:#9b7b77;font-size:10px}
    body.module-incendios .kpi.fire .kpi-value{color:#ff6745}
    body.module-incendios .kpi.hot .kpi-value{color:#ff9c42}
    body.module-incendios .kpi.neutral .kpi-value{color:#ffe7e0}
    body.module-incendios .kpi.fire,
    body.module-incendios .kpi.hot,
    body.module-incendios .kpi.neutral{border-top-color:rgba(255,98,69,.17)}

    body.module-incendios .chart-grid{gap:12px;margin-bottom:12px}
    body.module-incendios .chart-card{
      padding:15px;border:1px solid rgba(255,95,68,.08);border-radius:14px;
      background:linear-gradient(180deg,rgba(25,17,18,.98),rgba(17,12,13,.98));
      box-shadow:0 12px 30px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.02);
      position:relative;overflow:hidden;
    }
    body.module-incendios .chart-card::after{
      content:"";position:absolute;left:14px;right:14px;top:49px;height:1px;
      background:linear-gradient(90deg,rgba(255,101,70,.12),rgba(255,101,70,.035),transparent);
      pointer-events:none;
    }
    body.module-incendios .card-title{color:#fff1ec;font-size:15px;font-weight:600;letter-spacing:-.28px}
    body.module-incendios .card-subtitle{color:#907571;font-size:10px;margin-top:3px;margin-bottom:11px}
    body.module-incendios .canvas-wrap{height:270px}

    body.module-incendios .lower-grid{gap:12px}
    body.module-incendios .rankings-grid{gap:12px}
    body.module-incendios .rank-card,
    body.module-incendios .insight-card{
      border:1px solid rgba(255,96,69,.08);border-radius:14px;
      background:linear-gradient(145deg,#1a1213,#120d0e);
      box-shadow:0 11px 28px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.02);
    }
    body.module-incendios .rank-list{gap:3px}
    body.module-incendios .rank-row{padding:9px 0;border-bottom:1px solid rgba(255,96,69,.07)}
    body.module-incendios .rank-num{
      background:#241415;color:#ffaf45;border:1px solid rgba(255,101,70,.12);
    }
    body.module-incendios .rank-label{color:#ffe7e0;font-size:12px;font-weight:550}
    body.module-incendios .rank-detail{color:#907571;font-size:9px}
    body.module-incendios .rank-value{color:#ffb241;font-size:12px;font-weight:600}
    body.module-incendios .insight-list li{color:#d7bab4;border-bottom:1px solid rgba(255,96,69,.07)}
    body.module-incendios .insight-list li:before{color:var(--fi-red);text-shadow:0 0 12px rgba(255,75,54,.20)}
    body.module-incendios .footer-note{border-top:1px solid rgba(255,96,69,.08);color:#755d5a;font-size:9px}
    body.module-incendios .coverage,
    body.module-incendios .coverage strong{color:#947773}
    body.module-incendios .loading{color:#aa8883}
    body.module-incendios .spinner{border-color:#2a1716;border-top-color:var(--fi-red);box-shadow:0 0 15px rgba(255,75,54,.18)}
    body.module-incendios .no-data{
      background:#120d0e;border:1px solid rgba(255,96,69,.10);color:var(--fi-ink);box-shadow:none;
    }
    body.module-incendios .no-data h3{color:#fff2ee}
    body.module-incendios .no-data p{color:#ab8984}

    @media(max-width:850px){
      body.module-incendios .header,
      body.module-incendios .report-surface{border-radius:14px}
      body.module-incendios .kpi,
      body.module-incendios .chart-card,
      body.module-incendios .rank-card,
      body.module-incendios .insight-card{border-radius:12px}
    }


    /* =========================================================
       SISMOS · PREMIUM LIGHT SEISMOLOGY UI
       SOLO ESTÉTICA. No cambia datos, filtros, IDs ni cálculos.
       Referencia visual: marfil cálido + arena + dorado + gris pizarra.
       ========================================================= */
    body.module-sismos{
      --sz-bg:#eeede8;
      --sz-bg-2:#f4f1e8;
      --sz-panel:#f5f2ea;
      --sz-panel-2:#f9f7f1;
      --sz-panel-3:#f0ece2;
      --sz-line:rgba(134,120,98,.16);
      --sz-line-strong:rgba(134,120,98,.28);
      --sz-gold:#d2ac45;
      --sz-gold-2:#e6c867;
      --sz-sand:#c5b29a;
      --sz-stone:#9f9586;
      --sz-charcoal:#403936;
      --sz-ink:#241f1d;
      --sz-ink-2:#3a3431;
      --sz-muted:#7a7168;
      --sz-muted-2:#9b9287;
      --sz-shadow:0 20px 45px rgba(86,74,56,.08);
      background:
        radial-gradient(circle at 14% -8%,rgba(230,200,103,.17),transparent 28%),
        radial-gradient(circle at 90% 0%,rgba(197,178,154,.12),transparent 24%),
        linear-gradient(180deg,#f0efea 0%,#ece9e0 48%,#e8e3d7 100%);
      color:var(--sz-ink);
    }

    body.module-sismos .app{padding:16px 18px 30px}
    body.module-sismos .shell{max-width:1580px}

    body.module-sismos .simoc-title,
    body.module-sismos .report-title,
    body.module-sismos .module-name,
    body.module-sismos .headline-title,
    body.module-sismos .headline-value,
    body.module-sismos .kpi-value,
    body.module-sismos .card-title,
    body.module-sismos .rank-value,
    body.module-sismos .rank-label{
      font-family:'Manrope','Space Grotesk','Inter',sans-serif;
    }

    body.module-sismos .subtitle,
    body.module-sismos .field,
    body.module-sismos .module-meta,
    body.module-sismos .headline-eyebrow,
    body.module-sismos .headline-detail,
    body.module-sismos .kpi-label,
    body.module-sismos .kpi-detail,
    body.module-sismos .card-subtitle,
    body.module-sismos .rank-detail,
    body.module-sismos .insight-list,
    body.module-sismos .footer-note,
    body.module-sismos .tab{
      font-family:'Inter','Segoe UI',Arial,sans-serif;
    }

    body.module-sismos .header{
      border:1px solid rgba(163,149,128,.18);
      border-radius:22px;
      padding:16px 17px;
      background:linear-gradient(180deg,rgba(252,250,245,.98) 0%,rgba(244,239,230,.98) 100%);
      box-shadow:0 18px 45px rgba(76,64,48,.08), inset 0 1px 0 rgba(255,255,255,.75);
      overflow:hidden;
    }
    body.module-sismos .header::before{
      height:1px;
      background:linear-gradient(90deg,transparent 0%,rgba(210,172,69,.75) 16%,rgba(197,178,154,.58) 52%,rgba(160,149,135,.42) 84%,transparent 100%);
    }
    body.module-sismos .header::after{
      content:"";position:absolute;right:-95px;top:-125px;width:390px;height:210px;border-radius:50%;
      background:radial-gradient(circle,rgba(230,200,103,.18) 0%,rgba(230,200,103,0) 69%);pointer-events:none;
    }
    body.module-sismos .brand{gap:13px}
    body.module-sismos .brand-icon{
      width:48px;height:48px;border-radius:16px;
      background:linear-gradient(145deg,rgba(230,200,103,.34),rgba(255,255,255,.72)),#f3eee2;
      border:1px solid rgba(210,172,69,.22);
      box-shadow:0 10px 28px rgba(180,153,82,.15),inset 0 1px 0 rgba(255,255,255,.84);
      filter:none;
    }
    body.module-sismos .simoc-title{color:#211d1b;font-size:22px;font-weight:700;letter-spacing:-.55px}
    body.module-sismos .report-title{color:var(--sz-ink-2);font-size:18px;font-weight:650;letter-spacing:-.45px}
    body.module-sismos .brand-divider{height:35px;background:rgba(160,149,135,.22)}
    body.module-sismos .subtitle{color:var(--sz-muted);font-size:11px;line-height:1.38}

    body.module-sismos .global-filter{
      gap:7px;padding:8px;border:1px solid rgba(163,149,128,.18);border-radius:14px;
      background:linear-gradient(180deg,rgba(250,248,242,.94),rgba(240,235,225,.94));
      box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 10px 26px rgba(88,72,52,.06);
      backdrop-filter:blur(6px);
    }
    body.module-sismos .field label{
      margin-bottom:4px;color:#7f766b;font-family:'Inter',sans-serif;font-size:10px;font-weight:700;letter-spacing:.84px;
    }
    body.module-sismos .field select,
    body.module-sismos .field input{
      height:36px;border:1px solid rgba(168,155,134,.22);border-radius:12px;
      background:#fbf9f4;color:var(--sz-ink-2);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.78);font-size:13px;
    }
    body.module-sismos .field select:hover,
    body.module-sismos .field input:hover{border-color:rgba(210,172,69,.34)}
    body.module-sismos .field select:focus,
    body.module-sismos .field input:focus{border-color:rgba(210,172,69,.78);box-shadow:0 0 0 3px rgba(210,172,69,.15)}
    body.module-sismos .btn{
      height:36px;border:1px solid rgba(131,121,106,.26);border-radius:999px;
      background:linear-gradient(180deg,#8e8377 0%,#766d63 100%);
      color:#fff;font-size:12px;font-weight:750;
      box-shadow:0 12px 26px rgba(95,84,70,.12),inset 0 1px 0 rgba(255,255,255,.25);
      transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
    }
    body.module-sismos .btn:hover{filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 14px 30px rgba(95,84,70,.16),inset 0 1px 0 rgba(255,255,255,.28)}

    body.module-sismos .report-surface{
      margin-top:13px;padding:11px;min-height:720px;
      border:1px solid rgba(163,149,128,.12);border-radius:22px;
      background:
        radial-gradient(circle at 90% 0%,rgba(230,200,103,.10),transparent 24%),
        linear-gradient(180deg,#f8f6f0 0%,#f1ede2 100%);
      box-shadow:0 24px 60px rgba(80,68,50,.08), inset 0 1px 0 rgba(255,255,255,.65);
    }

    body.module-sismos .tabs-wrap{
      border:1px solid rgba(168,155,134,.16);border-radius:16px;padding:5px;
      background:rgba(255,255,255,.48);box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
    }
    body.module-sismos .tabs{gap:4px}
    body.module-sismos .tab{
      padding:9px 11px;border-radius:11px;color:#7f7569;
      font-size:11px;font-weight:600;letter-spacing:-.10px;transition:all .15s ease;
    }
    body.module-sismos .tab::after{display:none}
    body.module-sismos .tab:hover{color:#28211f;background:rgba(210,172,69,.10)}
    body.module-sismos .tab.active{
      color:#1f1a18;background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(245,239,229,.92));
      box-shadow:inset 0 0 0 1px rgba(163,149,128,.17),0 7px 18px rgba(114,96,69,.08);
    }

    body.module-sismos .module-bar{
      margin-top:9px;padding:10px 12px;
      border:1px solid rgba(168,155,134,.14);border-left:0;border-radius:16px;
      background:linear-gradient(145deg,#faf8f2,#f0ebdf);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
    }
    body.module-sismos .module-heading{gap:10px}
    body.module-sismos .module-icon{
      width:34px;height:34px;display:grid;place-items:center;border-radius:11px;
      background:linear-gradient(145deg,rgba(230,200,103,.26),rgba(255,255,255,.8));
      border:1px solid rgba(210,172,69,.18);font-size:17px;filter:none;
      box-shadow:0 7px 18px rgba(180,153,82,.09);
    }
    body.module-sismos .module-name{color:#2a2421;font-size:18px;font-weight:650;letter-spacing:-.45px}
    body.module-sismos .module-meta{color:#847b70;font-size:10px;margin-top:2px}
    body.module-sismos .module-filters .field input,
    body.module-sismos .module-filters .field select{height:34px;font-size:12px}
    body.module-sismos .module-filters .field label{font-size:9px;color:#867d72}
    body.module-sismos .clear-btn{
      height:34px;border:1px solid rgba(168,155,134,.18);border-radius:11px;
      background:#faf7f0;color:#6f665c;padding:0 12px;font-size:11px;font-weight:600;
    }
    body.module-sismos .clear-btn:hover{color:#2d2623;border-color:rgba(210,172,69,.32);background:#fffdf8}
    body.module-sismos .content{margin-top:10px}

    body.module-sismos .headline-card{
      min-height:76px;padding:14px 16px;margin-bottom:12px;border:1px solid rgba(168,155,134,.13);border-top:0;border-radius:18px;
      background:
        radial-gradient(circle at 88% 42%,rgba(230,200,103,.12),transparent 24%),
        linear-gradient(105deg,#f8f4eb 0%,#f0ebdf 60%,#f6f1e6 100%);
      box-shadow:0 14px 30px rgba(97,79,55,.07), inset 0 1px 0 rgba(255,255,255,.8);position:relative;overflow:hidden;
    }
    body.module-sismos .headline-card::after{content:"";position:absolute;right:0;bottom:0;width:260px;height:1px;background:linear-gradient(90deg,transparent,var(--sz-gold),var(--sz-sand));opacity:.75}
    body.module-sismos .headline-eyebrow{color:#8a8176;font-size:9px;letter-spacing:1.16px}
    body.module-sismos .headline-title{color:#4a413d;font-size:14px;font-weight:600;margin-top:4px}
    body.module-sismos .headline-value{color:#201b18;font-size:24px;font-weight:700;letter-spacing:-.62px}
    body.module-sismos .headline-detail{color:#8b8177;font-size:10px;margin-top:3px}

    body.module-sismos .kpi-grid{gap:12px;margin-bottom:12px}
    body.module-sismos .kpi{
      min-height:116px;padding:14px 15px;border:1px solid rgba(168,155,134,.12);border-top:1px solid rgba(210,172,69,.20);border-radius:18px;
      background:radial-gradient(circle at 96% 8%,rgba(230,200,103,.12),transparent 32%),linear-gradient(145deg,#faf8f2 0%,#f0ecdf 100%);
      box-shadow:0 14px 30px rgba(94,77,51,.07), inset 0 1px 0 rgba(255,255,255,.8);overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
    }
    body.module-sismos .kpi:hover{transform:translateY(-2px);border-color:rgba(210,172,69,.24);box-shadow:0 18px 36px rgba(94,77,51,.10)}
    body.module-sismos .kpi::after{width:96px;height:96px;right:-42px;bottom:-52px;background:radial-gradient(circle,rgba(230,200,103,.11),transparent 67%)}
    body.module-sismos .kpi-label{color:#8b8176;font-size:9px;font-weight:700;letter-spacing:.82px}
    body.module-sismos .kpi-value{margin-top:10px;color:#231d1a;font-size:27px;font-weight:680;letter-spacing:-1px}
    body.module-sismos .kpi-detail{margin-top:7px;color:#8f8478;font-size:10px}
    body.module-sismos .kpi.neutral .kpi-value{color:#231d1a}
    body.module-sismos .kpi.quake .kpi-value{color:#cfaa49}
    body.module-sismos .kpi.quake:nth-child(2) .kpi-value{color:#7a7065}
    body.module-sismos .kpi.quake:nth-child(3) .kpi-value{color:#b89c7a}

    body.module-sismos .chart-grid{gap:12px;margin-bottom:12px}
    body.module-sismos .chart-card{
      padding:15px;border:1px solid rgba(168,155,134,.12);border-radius:18px;
      background:linear-gradient(180deg,rgba(250,248,243,.98),rgba(241,236,226,.98));
      box-shadow:0 14px 30px rgba(94,77,51,.07), inset 0 1px 0 rgba(255,255,255,.8);position:relative;overflow:hidden;
    }
    body.module-sismos .chart-card::after{content:"";position:absolute;left:14px;right:14px;top:49px;height:1px;background:linear-gradient(90deg,rgba(168,155,134,.16),rgba(168,155,134,.05),transparent);pointer-events:none}
    body.module-sismos .card-title{color:#2d2623;font-size:15px;font-weight:700;letter-spacing:-.28px}
    body.module-sismos .card-subtitle{color:#8d8378;font-size:10px;margin-top:3px;margin-bottom:11px}
    body.module-sismos .canvas-wrap{height:270px}

    body.module-sismos .lower-grid{gap:12px}
    body.module-sismos .rankings-grid{gap:12px}
    body.module-sismos .rank-card,
    body.module-sismos .insight-card{border:1px solid rgba(168,155,134,.12);border-radius:18px;background:linear-gradient(145deg,#faf8f2,#f0ebdf);box-shadow:0 14px 30px rgba(94,77,51,.07), inset 0 1px 0 rgba(255,255,255,.8)}
    body.module-sismos .rank-list{gap:3px}
    body.module-sismos .rank-row{padding:9px 0;border-bottom:1px solid rgba(168,155,134,.10)}
    body.module-sismos .rank-num{background:#f4efdf;color:#8d7750;border:1px solid rgba(210,172,69,.14)}
    body.module-sismos .rank-label{color:#3d3531;font-size:12px;font-weight:600}
    body.module-sismos .rank-detail{color:#8f8579;font-size:9px}
    body.module-sismos .rank-value{color:#af9254;font-size:12px;font-weight:700}
    body.module-sismos .insight-list li{color:#61584f;border-bottom:1px solid rgba(168,155,134,.10)}
    body.module-sismos .insight-list li:before{color:var(--sz-gold);text-shadow:0 0 12px rgba(210,172,69,.16)}
    body.module-sismos .footer-note{border-top:1px solid rgba(168,155,134,.12);color:#867d72;font-size:9px}
    body.module-sismos .coverage,
    body.module-sismos .coverage strong{color:#8b8176}
    body.module-sismos .loading{color:#948a7f}
    body.module-sismos .spinner{border-color:#ddd5c4;border-top-color:var(--sz-gold);box-shadow:0 0 15px rgba(210,172,69,.18)}
    body.module-sismos .no-data{background:#f8f4ec;border:1px solid rgba(168,155,134,.12);color:var(--sz-ink);box-shadow:none}
    body.module-sismos .no-data h3{color:#271f1b}
    body.module-sismos .no-data p{color:#90867b}

    @media(max-width:850px){
      body.module-sismos .header,body.module-sismos .report-surface{border-radius:16px}
      body.module-sismos .kpi,body.module-sismos .chart-card,body.module-sismos .rank-card,body.module-sismos .insight-card{border-radius:14px}
    }


    /* =========================================================
       RAYOS · PREMIUM PASTEL / NOCTURNE UI
       SOLO ESTÉTICA. No cambia datos, filtros, IDs ni cálculos.
       Referencia visual: marfil suave + carbón malva + rosa/lila.
       ========================================================= */
    body.module-rayos{
      --ry-bg:#f2eeeb;
      --ry-bg-2:#f7f3ef;
      --ry-panel:#2f2a30;
      --ry-panel-2:#393137;
      --ry-panel-3:#433941;
      --ry-line:rgba(231,194,205,.14);
      --ry-line-strong:rgba(236,171,192,.24);
      --ry-pink:#e6a6ba;
      --ry-pink-2:#f2bfd0;
      --ry-lilac:#d6c6ea;
      --ry-rose:#c88ea5;
      --ry-mint:#bde4c9;
      --ry-ink:#1f1a1d;
      --ry-ink-2:#352e33;
      --ry-muted:#8b8188;
      --ry-muted-2:#a89ba3;
      background:
        radial-gradient(circle at 18% 90%,rgba(247,210,192,.34),transparent 29%),
        radial-gradient(circle at 84% 88%,rgba(217,201,247,.24),transparent 28%),
        linear-gradient(180deg,#f4efeb 0%,#f1ede9 46%,#eee7e2 100%);
      color:var(--ry-ink);
    }

    body.module-rayos .app{padding:16px 18px 30px}
    body.module-rayos .shell{max-width:1580px}

    body.module-rayos .simoc-title,
    body.module-rayos .report-title,
    body.module-rayos .module-name,
    body.module-rayos .headline-title,
    body.module-rayos .headline-value,
    body.module-rayos .kpi-value,
    body.module-rayos .card-title,
    body.module-rayos .rank-value,
    body.module-rayos .rank-label{
      font-family:'Manrope','Space Grotesk','Inter',sans-serif;
    }
    body.module-rayos .subtitle,
    body.module-rayos .field,
    body.module-rayos .module-meta,
    body.module-rayos .headline-eyebrow,
    body.module-rayos .headline-detail,
    body.module-rayos .kpi-label,
    body.module-rayos .kpi-detail,
    body.module-rayos .card-subtitle,
    body.module-rayos .rank-detail,
    body.module-rayos .insight-list,
    body.module-rayos .footer-note,
    body.module-rayos .tab{font-family:'Inter','Segoe UI',Arial,sans-serif}

    body.module-rayos .header{
      border:1px solid rgba(222,207,214,.7);border-radius:22px;padding:16px 17px;
      background:linear-gradient(180deg,rgba(252,250,247,.98) 0%,rgba(244,239,236,.97) 100%);
      box-shadow:0 18px 44px rgba(118,99,107,.08), inset 0 1px 0 rgba(255,255,255,.82);overflow:hidden;
    }
    body.module-rayos .header::before{height:1px;background:linear-gradient(90deg,transparent 0%,rgba(230,166,186,.72) 18%,rgba(214,198,234,.58) 52%,rgba(189,228,201,.45) 84%,transparent 100%)}
    body.module-rayos .header::after{content:"";position:absolute;right:-90px;top:-120px;width:360px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(230,166,186,.18) 0%,rgba(230,166,186,0) 68%);pointer-events:none}
    body.module-rayos .brand{gap:13px}
    body.module-rayos .brand-icon{width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,rgba(230,166,186,.36),rgba(255,255,255,.82)),#f8f4f5;border:1px solid rgba(230,166,186,.22);box-shadow:0 10px 26px rgba(189,140,162,.15),inset 0 1px 0 rgba(255,255,255,.9);filter:none}
    body.module-rayos .simoc-title{color:#231d20;font-size:22px;font-weight:700;letter-spacing:-.55px}
    body.module-rayos .report-title{color:var(--ry-ink-2);font-size:18px;font-weight:650;letter-spacing:-.45px}
    body.module-rayos .brand-divider{height:35px;background:rgba(195,178,187,.24)}
    body.module-rayos .subtitle{color:var(--ry-muted);font-size:11px;line-height:1.38}

    body.module-rayos .global-filter{gap:7px;padding:8px;border:1px solid rgba(223,207,214,.8);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(244,238,235,.92));box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 10px 24px rgba(118,99,107,.06);backdrop-filter:blur(6px)}
    body.module-rayos .field label{margin-bottom:4px;color:#8c8388;font-size:10px;font-weight:700;letter-spacing:.84px}
    body.module-rayos .field select,
    body.module-rayos .field input{height:36px;border:1px solid rgba(214,198,234,.38);border-radius:12px;background:#fbf8f6;color:var(--ry-ink-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.85);font-size:13px}
    body.module-rayos .field select:hover,body.module-rayos .field input:hover{border-color:rgba(230,166,186,.46)}
    body.module-rayos .field select:focus,body.module-rayos .field input:focus{border-color:rgba(200,142,165,.78);box-shadow:0 0 0 3px rgba(230,166,186,.14)}
    body.module-rayos .btn{height:36px;border:1px solid rgba(199,177,188,.3);border-radius:999px;background:linear-gradient(180deg,#e9e2e0 0%,#d7ccca 100%);color:#463c42;font-size:12px;font-weight:760;box-shadow:0 12px 26px rgba(123,103,111,.09),inset 0 1px 0 rgba(255,255,255,.72);transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}
    body.module-rayos .btn:hover{filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 14px 30px rgba(123,103,111,.13),inset 0 1px 0 rgba(255,255,255,.8)}

    body.module-rayos .report-surface{margin-top:13px;padding:11px;min-height:720px;border:1px solid rgba(223,207,214,.65);border-radius:22px;background:radial-gradient(circle at 88% 0%,rgba(219,202,242,.22),transparent 23%),linear-gradient(180deg,#f8f4f0 0%,#f1ece8 100%);box-shadow:0 24px 58px rgba(123,103,111,.08), inset 0 1px 0 rgba(255,255,255,.78)}

    body.module-rayos .tabs-wrap{border:1px solid rgba(223,207,214,.68);border-radius:16px;padding:5px;background:rgba(255,255,255,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.86)}
    body.module-rayos .tabs{gap:4px}
    body.module-rayos .tab{padding:9px 11px;border-radius:11px;color:#8c8188;font-size:11px;font-weight:600;letter-spacing:-.10px;transition:all .15s ease}
    body.module-rayos .tab::after{display:none}
    body.module-rayos .tab:hover{color:#2b2429;background:rgba(230,166,186,.10)}
    body.module-rayos .tab.active{color:#201b1e;background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(247,239,243,.92));box-shadow:inset 0 0 0 1px rgba(223,207,214,.8),0 7px 18px rgba(123,103,111,.08)}

    body.module-rayos .module-bar{margin-top:9px;padding:10px 12px;border:1px solid rgba(223,207,214,.6);border-left:0;border-radius:16px;background:linear-gradient(145deg,#faf7f5,#f2edeb);box-shadow:inset 0 1px 0 rgba(255,255,255,.82)}
    body.module-rayos .module-heading{gap:10px}
    body.module-rayos .module-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,rgba(230,166,186,.24),rgba(255,255,255,.82));border:1px solid rgba(230,166,186,.2);font-size:17px;filter:none;box-shadow:0 7px 18px rgba(189,140,162,.1)}
    body.module-rayos .module-name{color:#292226;font-size:18px;font-weight:650;letter-spacing:-.45px}
    body.module-rayos .module-meta{color:#887f84;font-size:10px;margin-top:2px}
    body.module-rayos .module-filters .field input,body.module-rayos .module-filters .field select{height:34px;font-size:12px}
    body.module-rayos .module-filters .field label{font-size:9px;color:#8a8186}
    body.module-rayos .clear-btn{height:34px;border:1px solid rgba(223,207,214,.76);border-radius:11px;background:#fbf7f5;color:#6e636a;padding:0 12px;font-size:11px;font-weight:600}
    body.module-rayos .clear-btn:hover{color:#2d2529;border-color:rgba(230,166,186,.36);background:#fffdfc}
    body.module-rayos .content{margin-top:10px}

    body.module-rayos .headline-card{min-height:76px;padding:14px 16px;margin-bottom:12px;border:1px solid rgba(88,73,85,.10);border-top:0;border-radius:18px;background:radial-gradient(circle at 83% 30%,rgba(230,166,186,.18),transparent 20%),linear-gradient(118deg,#332d33 0%,#2c272d 100%);box-shadow:0 16px 34px rgba(53,43,50,.14), inset 0 1px 0 rgba(255,255,255,.03);position:relative;overflow:hidden}
    body.module-rayos .headline-card::after{content:"";position:absolute;right:0;bottom:0;width:260px;height:1px;background:linear-gradient(90deg,transparent,var(--ry-pink),var(--ry-lilac));opacity:.76}
    body.module-rayos .headline-eyebrow{color:#b9aab3;font-size:9px;letter-spacing:1.16px}
    body.module-rayos .headline-title{color:#f5eef1;font-size:14px;font-weight:600;margin-top:4px}
    body.module-rayos .headline-value{color:#fff8fb;font-size:24px;font-weight:680;letter-spacing:-.62px}
    body.module-rayos .headline-detail{color:#c2b2bc;font-size:10px;margin-top:3px}

    body.module-rayos .kpi-grid{gap:12px;margin-bottom:12px}
    body.module-rayos .kpi{min-height:116px;padding:14px 15px;border:1px solid rgba(88,73,85,.11);border-top:1px solid rgba(230,166,186,.16);border-radius:18px;background:radial-gradient(circle at 96% 8%,rgba(230,166,186,.13),transparent 32%),linear-gradient(145deg,#342d33 0%,#2d272d 100%);box-shadow:0 14px 30px rgba(53,43,50,.14), inset 0 1px 0 rgba(255,255,255,.03);overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
    body.module-rayos .kpi:hover{transform:translateY(-2px);border-color:rgba(230,166,186,.22);box-shadow:0 18px 36px rgba(53,43,50,.18)}
    body.module-rayos .kpi::after{width:96px;height:96px;right:-42px;bottom:-52px;background:radial-gradient(circle,rgba(214,198,234,.13),transparent 67%)}
    body.module-rayos .kpi-label{color:#b3a5ae;font-size:9px;font-weight:700;letter-spacing:.82px}
    body.module-rayos .kpi-value{margin-top:10px;color:#fff7fa;font-size:27px;font-weight:680;letter-spacing:-1px}
    body.module-rayos .kpi-detail{margin-top:7px;color:#c1b1ba;font-size:10px}
    body.module-rayos .kpi.rayos .kpi-value{color:#f0d1da}
    body.module-rayos .kpi.rayos:nth-child(2) .kpi-value{color:#d7c8ea}
    body.module-rayos .kpi.rayos:nth-child(3) .kpi-value{color:#bfe0ca}

    body.module-rayos .chart-grid{gap:12px;margin-bottom:12px}
    body.module-rayos .chart-card{padding:15px;border:1px solid rgba(88,73,85,.11);border-radius:18px;background:linear-gradient(180deg,rgba(51,45,51,.99),rgba(45,39,45,.99));box-shadow:0 14px 30px rgba(53,43,50,.14), inset 0 1px 0 rgba(255,255,255,.03);position:relative;overflow:hidden}
    body.module-rayos .chart-card::after{content:"";position:absolute;left:14px;right:14px;top:49px;height:1px;background:linear-gradient(90deg,rgba(230,166,186,.14),rgba(230,166,186,.05),transparent);pointer-events:none}
    body.module-rayos .card-title{color:#fcf5f7;font-size:15px;font-weight:700;letter-spacing:-.28px}
    body.module-rayos .card-subtitle{color:#c0b0ba;font-size:10px;margin-top:3px;margin-bottom:11px}
    body.module-rayos .canvas-wrap{height:270px}

    body.module-rayos .lower-grid{gap:12px}
    body.module-rayos .rankings-grid{gap:12px}
    body.module-rayos .rank-card,body.module-rayos .insight-card{border:1px solid rgba(88,73,85,.11);border-radius:18px;background:linear-gradient(145deg,#342d33,#2c272d);box-shadow:0 14px 30px rgba(53,43,50,.14), inset 0 1px 0 rgba(255,255,255,.03)}
    body.module-rayos .rank-list{gap:3px}
    body.module-rayos .rank-row{padding:9px 0;border-bottom:1px solid rgba(230,166,186,.08)}
    body.module-rayos .rank-num{background:#443941;color:#f1c6d3;border:1px solid rgba(230,166,186,.12)}
    body.module-rayos .rank-label{color:#fff4f7;font-size:12px;font-weight:600}
    body.module-rayos .rank-detail{color:#bcaeb7;font-size:9px}
    body.module-rayos .rank-value{color:#d8c9eb;font-size:12px;font-weight:700}
    body.module-rayos .insight-list li{color:#ddd1d7;border-bottom:1px solid rgba(230,166,186,.08)}
    body.module-rayos .insight-list li:before{color:var(--ry-pink);text-shadow:0 0 12px rgba(230,166,186,.18)}
    body.module-rayos .footer-note{border-top:1px solid rgba(230,166,186,.08);color:#b5a8b0;font-size:9px}
    body.module-rayos .coverage,body.module-rayos .coverage strong{color:#c5b8bf}
    body.module-rayos .loading{color:#9c9097}
    body.module-rayos .spinner{border-color:#524650;border-top-color:var(--ry-pink);box-shadow:0 0 15px rgba(230,166,186,.18)}
    body.module-rayos .no-data{background:#322b31;border:1px solid rgba(88,73,85,.12);color:#fff7fa;box-shadow:none}
    body.module-rayos .no-data h3{color:#fff7fa}
    body.module-rayos .no-data p{color:#c4b5bf}

    @media(max-width:850px){
      body.module-rayos .header,body.module-rayos .report-surface{border-radius:16px}
      body.module-rayos .kpi,body.module-rayos .chart-card,body.module-rayos .rank-card,body.module-rayos .insight-card{border-radius:14px}
    }


    /* =========================================================
       HIDROLOGÍA · DEEP WATER / CYAN SCIENTIFIC UI
       SOLO ESTÉTICA. No cambia datos, filtros, IDs ni cálculos.
       Referencia visual: laboratorio bioinformático oscuro,
       negro petróleo + cian eléctrico + turquesa + azul profundo.
       Fuente primaria: Space Grotesk / secundaria: IBM Plex Mono.
       ========================================================= */
    body.module-hidro{
      --hy-bg:#02080b;
      --hy-bg-2:#041014;
      --hy-panel:#071217;
      --hy-panel-2:#091820;
      --hy-panel-3:#0b1c23;
      --hy-line:rgba(74,223,232,.10);
      --hy-line-strong:rgba(74,223,232,.22);
      --hy-cyan:#2de7e2;
      --hy-cyan-2:#69fbf2;
      --hy-teal:#17c9b0;
      --hy-blue:#1599ff;
      --hy-blue-2:#49b7ff;
      --hy-green:#41efaa;
      --hy-ink:#f2fbfc;
      --hy-ink-2:#ccebee;
      --hy-muted:#6f9298;
      --hy-muted-2:#4f7379;
      --hy-mono:'IBM Plex Mono','SFMono-Regular',Consolas,monospace;
      background:
        radial-gradient(circle at 48% -12%,rgba(23,201,176,.14),transparent 27%),
        radial-gradient(circle at 96% 2%,rgba(21,153,255,.11),transparent 24%),
        radial-gradient(circle at 0% 40%,rgba(45,231,226,.055),transparent 26%),
        linear-gradient(180deg,#02080b 0%,#030b0f 48%,#010507 100%);
      color:var(--hy-ink);
    }

    body.module-hidro .app{padding:16px 18px 30px}
    body.module-hidro .shell{max-width:1580px}

    body.module-hidro .simoc-title,
    body.module-hidro .report-title,
    body.module-hidro .module-name,
    body.module-hidro .headline-title,
    body.module-hidro .headline-value,
    body.module-hidro .kpi-value,
    body.module-hidro .card-title,
    body.module-hidro .rank-value,
    body.module-hidro .rank-label{
      font-family:'Space Grotesk','Manrope','Inter',sans-serif;
    }
    body.module-hidro .subtitle,
    body.module-hidro .field,
    body.module-hidro .module-meta,
    body.module-hidro .headline-eyebrow,
    body.module-hidro .headline-detail,
    body.module-hidro .kpi-label,
    body.module-hidro .kpi-detail,
    body.module-hidro .card-subtitle,
    body.module-hidro .rank-detail,
    body.module-hidro .insight-list,
    body.module-hidro .footer-note,
    body.module-hidro .tab{
      font-family:var(--hy-mono);
    }

    body.module-hidro .header{
      border:1px solid var(--hy-line);
      border-radius:18px;
      padding:16px 17px;
      background:
        radial-gradient(circle at 62% -45%,rgba(45,231,226,.14),transparent 42%),
        linear-gradient(110deg,rgba(8,21,27,.985) 0%,rgba(4,12,16,.99) 56%,rgba(5,18,24,.985) 100%);
      box-shadow:0 22px 60px rgba(0,0,0,.34),inset 0 1px 0 rgba(129,250,247,.035);
      overflow:hidden;
    }
    body.module-hidro .header::before{
      height:1px;
      background:linear-gradient(90deg,transparent 0%,rgba(45,231,226,.9) 16%,rgba(21,153,255,.58) 52%,rgba(65,239,170,.48) 84%,transparent 100%);
    }
    body.module-hidro .header::after{
      content:"";
      position:absolute;
      right:-105px;top:-128px;
      width:430px;height:225px;border-radius:50%;
      background:radial-gradient(circle,rgba(45,231,226,.14) 0%,rgba(21,153,255,.055) 38%,rgba(45,231,226,0) 69%);
      pointer-events:none;
    }
    body.module-hidro .brand{gap:13px}
    body.module-hidro .brand-icon{
      width:48px;height:48px;border-radius:13px;
      background:linear-gradient(145deg,rgba(45,231,226,.24),rgba(21,153,255,.10)),#08151b;
      border:1px solid rgba(74,223,232,.18);
      box-shadow:0 0 0 1px rgba(45,231,226,.025),0 9px 28px rgba(0,145,160,.14),inset 0 1px 0 rgba(255,255,255,.055);
      filter:none;
    }
    body.module-hidro .simoc-title{color:#f8feff;font-size:22px;font-weight:700;letter-spacing:-.58px}
    body.module-hidro .report-title{color:var(--hy-ink-2);font-size:18px;font-weight:600;letter-spacing:-.46px}
    body.module-hidro .brand-divider{height:35px;background:rgba(74,223,232,.12)}
    body.module-hidro .subtitle{color:#63878d;font-size:10.5px;line-height:1.42;letter-spacing:.01em}

    body.module-hidro .global-filter{
      gap:7px;padding:8px;
      border:1px solid rgba(74,223,232,.105);border-radius:13px;
      background:linear-gradient(180deg,rgba(5,17,22,.84),rgba(4,12,16,.88));
      box-shadow:inset 0 1px 0 rgba(255,255,255,.022),0 10px 28px rgba(0,0,0,.20);
      backdrop-filter:blur(10px);
    }
    body.module-hidro .field label{
      margin-bottom:4px;color:#557d84;
      font-family:var(--hy-mono);font-size:9px;font-weight:600;letter-spacing:.92px;
    }
    body.module-hidro .field select,
    body.module-hidro .field input{
      height:36px;border:1px solid rgba(74,223,232,.13);border-radius:8px;
      background:linear-gradient(180deg,#0a1a20 0%,#07151a 100%);
      color:#ccebed;box-shadow:inset 0 1px 0 rgba(255,255,255,.022);
      font-family:var(--hy-mono);font-size:11px;color-scheme:dark;
    }
    body.module-hidro .field select:hover,
    body.module-hidro .field input:hover{border-color:rgba(74,223,232,.26);background:#0a1c23}
    body.module-hidro .field select:focus,
    body.module-hidro .field input:focus{border-color:rgba(45,231,226,.62);box-shadow:0 0 0 3px rgba(45,231,226,.095),0 0 20px rgba(45,231,226,.055)}
    body.module-hidro .btn{
      height:36px;border:1px solid rgba(67,246,230,.42);border-radius:8px;
      background:linear-gradient(180deg,#2de7e2 0%,#15bfb4 100%);
      color:#011113;font-family:'Inter',sans-serif;font-size:11px;font-weight:800;
      box-shadow:0 9px 24px rgba(0,191,181,.18),inset 0 1px 0 rgba(220,255,252,.42);
      transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
    }
    body.module-hidro .btn:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 12px 30px rgba(0,206,195,.24),0 0 20px rgba(45,231,226,.08),inset 0 1px 0 rgba(230,255,253,.48)}

    body.module-hidro .report-surface{
      margin-top:13px;padding:11px;min-height:720px;
      border:1px solid rgba(74,223,232,.075);border-radius:18px;
      background:
        radial-gradient(circle at 82% 0%,rgba(21,153,255,.07),transparent 25%),
        radial-gradient(circle at 17% 95%,rgba(23,201,176,.035),transparent 31%),
        linear-gradient(180deg,#061116 0%,#030a0d 100%);
      box-shadow:0 26px 70px rgba(0,0,0,.31),inset 0 1px 0 rgba(255,255,255,.018);
      position:relative;
    }
    body.module-hidro .report-surface::before{
      content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.26;
      background-image:linear-gradient(rgba(74,223,232,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(74,223,232,.015) 1px,transparent 1px);
      background-size:42px 42px;
      mask-image:linear-gradient(180deg,rgba(0,0,0,.65),transparent 78%);
    }
    body.module-hidro .report-surface>*{position:relative;z-index:1}

    body.module-hidro .tabs-wrap{
      border:1px solid rgba(74,223,232,.085);border-radius:12px;padding:5px;
      background:#07151a;box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
    }
    body.module-hidro .tabs{gap:3px}
    body.module-hidro .tab{
      padding:9px 11px;border-radius:8px;color:#55777d;
      font-size:10px;font-weight:500;letter-spacing:.01em;
      transition:background .15s ease,color .15s ease,box-shadow .15s ease,border-color .15s ease;
    }
    body.module-hidro .tab::after{display:none}
    body.module-hidro .tab:hover{color:#c9f4f3;background:#0b1c22}
    body.module-hidro .tab.active{
      color:#eaffff;
      background:linear-gradient(180deg,rgba(45,231,226,.16),rgba(13,110,117,.08)),#0b1d23;
      box-shadow:inset 0 0 0 1px rgba(74,223,232,.15),0 6px 18px rgba(0,0,0,.13),0 0 18px rgba(45,231,226,.035);
    }

    body.module-hidro .module-bar{
      margin-top:9px;padding:10px 12px;
      border:1px solid rgba(74,223,232,.085);border-left:0;border-radius:12px;
      background:linear-gradient(145deg,#0a1a20,#071217);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
    }
    body.module-hidro .module-heading{gap:10px}
    body.module-hidro .module-icon{
      width:34px;height:34px;display:grid;place-items:center;border-radius:9px;
      background:linear-gradient(145deg,rgba(45,231,226,.22),rgba(21,153,255,.08));
      border:1px solid rgba(74,223,232,.14);font-size:17px;filter:none;
      box-shadow:0 0 18px rgba(45,231,226,.055),inset 0 1px 0 rgba(255,255,255,.035);
    }
    body.module-hidro .module-name{color:#f3ffff;font-size:18px;font-weight:650;letter-spacing:-.46px}
    body.module-hidro .module-meta{color:#53767c;font-size:9.5px;margin-top:2px}
    body.module-hidro .module-filters .field input,
    body.module-hidro .module-filters .field select{height:34px;font-size:10.5px}
    body.module-hidro .module-filters .field label{font-size:8.5px;color:#53777d}
    body.module-hidro .clear-btn{
      height:34px;border:1px solid rgba(74,223,232,.13);border-radius:8px;
      background:#0a1b21;color:#6e959a;padding:0 12px;font-family:var(--hy-mono);font-size:9.5px;font-weight:500;
    }
    body.module-hidro .clear-btn:hover{color:#e2ffff;border-color:rgba(74,223,232,.27);background:#0d2229;box-shadow:0 0 18px rgba(45,231,226,.04)}
    body.module-hidro .content{margin-top:10px}

    body.module-hidro .headline-card{
      min-height:78px;padding:14px 16px;margin-bottom:12px;
      border:1px solid rgba(74,223,232,.095);border-top:0;border-radius:13px;
      background:
        radial-gradient(circle at 78% 44%,rgba(45,231,226,.14),transparent 23%),
        radial-gradient(circle at 97% 38%,rgba(21,153,255,.11),transparent 27%),
        linear-gradient(105deg,#0b1c22 0%,#071319 59%,#081b22 100%);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.02),0 12px 30px rgba(0,0,0,.18);
      position:relative;overflow:hidden;
    }
    body.module-hidro .headline-card::before{
      content:"";position:absolute;left:0;top:0;bottom:0;width:2px;
      background:linear-gradient(180deg,var(--hy-cyan),rgba(21,153,255,.26));
      box-shadow:0 0 16px rgba(45,231,226,.22);
    }
    body.module-hidro .headline-card::after{
      content:"";position:absolute;right:0;bottom:0;width:280px;height:1px;
      background:linear-gradient(90deg,transparent,var(--hy-blue),var(--hy-cyan),var(--hy-green));opacity:.68;
    }
    body.module-hidro .headline-eyebrow{color:#5d858b;font-size:8.5px;letter-spacing:1.18px}
    body.module-hidro .headline-title{color:#c8e6e9;font-size:14px;font-weight:550;margin-top:4px}
    body.module-hidro .headline-value{color:#53f3ed;font-size:25px;font-weight:650;letter-spacing:-.72px;text-shadow:0 0 24px rgba(45,231,226,.14)}
    body.module-hidro .headline-detail{color:#5a7f85;font-size:9.5px;margin-top:3px}

    body.module-hidro .kpi-grid{gap:12px;margin-bottom:12px}
    body.module-hidro .kpi{
      min-height:116px;padding:14px 15px;
      border:1px solid rgba(74,223,232,.075);border-top:1px solid rgba(74,223,232,.16);border-radius:13px;
      background:
        radial-gradient(circle at 94% 5%,rgba(45,231,226,.085),transparent 31%),
        linear-gradient(145deg,#0a1a20 0%,#071217 100%);
      box-shadow:0 11px 30px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.018);
      overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
    }
    body.module-hidro .kpi:hover{transform:translateY(-2px);border-color:rgba(74,223,232,.19);box-shadow:0 16px 36px rgba(0,0,0,.23),0 0 0 1px rgba(45,231,226,.015)}
    body.module-hidro .kpi::before{content:"";position:absolute;left:14px;right:14px;top:0;height:1px;background:linear-gradient(90deg,var(--hy-cyan),rgba(21,153,255,.28),transparent);opacity:.64}
    body.module-hidro .kpi::after{width:104px;height:104px;right:-42px;bottom:-58px;background:radial-gradient(circle,rgba(45,231,226,.12),transparent 66%)}
    body.module-hidro .kpi-label{color:#5d8187;font-size:8.5px;font-weight:600;letter-spacing:.82px}
    body.module-hidro .kpi-value{margin-top:10px;color:#f1ffff;font-size:27px;font-weight:600;letter-spacing:-1px}
    body.module-hidro .kpi-detail{margin-top:7px;color:#587b81;font-size:9.5px;line-height:1.42}
    body.module-hidro .kpi.water .kpi-value{color:#45ece6}
    body.module-hidro .kpi.neutral .kpi-value{color:#dffbfc}
    body.module-hidro .kpi.danger .kpi-value{color:#ff7f72}
    body.module-hidro .kpi.warning .kpi-value{color:#f7c967}
    body.module-hidro .kpi.water,body.module-hidro .kpi.neutral,body.module-hidro .kpi.danger,body.module-hidro .kpi.warning{border-top-color:rgba(74,223,232,.16)}

    body.module-hidro .chart-grid{gap:12px;margin-bottom:12px}
    body.module-hidro .chart-card{
      min-height:338px;padding:15px;
      border:1px solid rgba(74,223,232,.08);border-radius:13px;
      background:
        radial-gradient(circle at 85% 4%,rgba(21,153,255,.055),transparent 28%),
        linear-gradient(180deg,rgba(10,26,32,.99),rgba(5,15,19,.99));
      box-shadow:0 13px 34px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.018);
      position:relative;overflow:hidden;
    }
    body.module-hidro .chart-card::before{content:"";position:absolute;left:15px;top:14px;width:7px;height:7px;border-radius:50%;background:var(--hy-cyan);box-shadow:0 0 17px rgba(45,231,226,.48);opacity:.86}
    body.module-hidro .chart-card::after{content:"";position:absolute;left:15px;right:15px;top:50px;height:1px;background:linear-gradient(90deg,rgba(74,223,232,.13),rgba(21,153,255,.035),transparent);pointer-events:none}
    body.module-hidro .chart-card .card-title,body.module-hidro .chart-card .card-subtitle{padding-left:17px}
    body.module-hidro .card-title{color:#e9fbfc;font-size:15px;font-weight:600;letter-spacing:-.30px}
    body.module-hidro .card-subtitle{color:#52757a;font-size:9px;margin-top:3px;margin-bottom:11px}
    body.module-hidro .canvas-wrap{height:272px}
    body.module-hidro .chart-card canvas{filter:drop-shadow(0 0 8px rgba(45,231,226,.035))}

    body.module-hidro .lower-grid{gap:12px}
    body.module-hidro .rankings-grid{gap:12px}
    body.module-hidro .rank-card,
    body.module-hidro .insight-card{
      border:1px solid rgba(74,223,232,.075);border-left:1px solid rgba(74,223,232,.075);border-radius:13px;
      background:linear-gradient(145deg,#0a1a20,#061217);
      box-shadow:0 11px 30px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.018);
      padding:14px;
    }
    body.module-hidro .rank-list{gap:3px}
    body.module-hidro .rank-row{padding:9px 0;border-bottom:1px solid rgba(74,223,232,.065)}
    body.module-hidro .rank-num{
      background:linear-gradient(145deg,rgba(45,231,226,.18),rgba(21,153,255,.08));
      color:#68faf2;border:1px solid rgba(74,223,232,.12);font-family:var(--hy-mono);
      box-shadow:0 0 14px rgba(45,231,226,.035);
    }
    body.module-hidro .rank-label{color:#d7f1f3;font-size:12px;font-weight:550}
    body.module-hidro .rank-detail{color:#55777c;font-size:8.5px}
    body.module-hidro .rank-value{color:#4de9e3;font-size:12px;font-weight:600}
    body.module-hidro .insight-list li{color:#9ab7ba;border-bottom:1px solid rgba(74,223,232,.065);font-size:10.5px}
    body.module-hidro .insight-list li:before{background:var(--hy-cyan);border-radius:50%;box-shadow:0 0 11px rgba(45,231,226,.34)}
    body.module-hidro .footer-note{border-top:1px solid rgba(74,223,232,.065);color:#45666c;font-size:8.5px;font-family:var(--hy-mono)}
    body.module-hidro .coverage,body.module-hidro .coverage strong{color:#587c82}
    body.module-hidro .loading{color:#668b91;font-family:var(--hy-mono);font-size:10px}
    body.module-hidro .spinner{border-color:#0d2830;border-top-color:var(--hy-cyan);box-shadow:0 0 18px rgba(45,231,226,.18)}
    body.module-hidro .no-data{background:#07151a;border:1px solid rgba(74,223,232,.10);color:var(--hy-ink);box-shadow:none}
    body.module-hidro .no-data h3{color:#efffff;font-family:'Space Grotesk',sans-serif}
    body.module-hidro .no-data p{color:#66898f;font-family:var(--hy-mono);font-size:11px}
    body.module-hidro .error{border-left:2px solid #ff7468}

    @media(max-width:850px){
      body.module-hidro .header,body.module-hidro .report-surface{border-radius:14px}
      body.module-hidro .kpi,body.module-hidro .chart-card,body.module-hidro .rank-card,body.module-hidro .insight-card{border-radius:11px}
    }


    /* =========================================================
       SOLAR · EMBER ORANGE / PRODUCTIVITY COMMAND UI
       SOLO ESTÉTICA. No cambia datos, filtros, IDs ni cálculos.
       Referencia visual: dashboard premium negro-marrón,
       naranja solar de alta energía + ámbar + superficies espresso.
       Fuente primaria: Space Grotesk / secundaria: Inter.
       ========================================================= */
    body.module-solar{
      --so-bg:#070402;
      --so-bg-2:#0c0502;
      --so-panel:#160704;
      --so-panel-2:#200a05;
      --so-panel-3:#2a0d06;
      --so-line:rgba(255,104,23,.13);
      --so-line-strong:rgba(255,116,28,.27);
      --so-orange:#ff5b0a;
      --so-orange-2:#ff7a16;
      --so-orange-3:#ff9b25;
      --so-amber:#ffc04a;
      --so-copper:#d8480c;
      --so-red:#bd2c0d;
      --so-ink:#fff7f2;
      --so-ink-2:#f4d8ca;
      --so-muted:#9b7468;
      --so-muted-2:#765147;
      background:
        radial-gradient(circle at 48% -16%,rgba(255,91,10,.18),transparent 29%),
        radial-gradient(circle at 96% 5%,rgba(255,139,30,.075),transparent 24%),
        radial-gradient(circle at 4% 42%,rgba(180,42,10,.055),transparent 25%),
        linear-gradient(180deg,#060302 0%,#090402 48%,#040201 100%);
      color:var(--so-ink);
    }

    body.module-solar .app{padding:16px 18px 30px}
    body.module-solar .shell{max-width:1580px}

    body.module-solar .simoc-title,
    body.module-solar .report-title,
    body.module-solar .module-name,
    body.module-solar .headline-title,
    body.module-solar .headline-value,
    body.module-solar .kpi-value,
    body.module-solar .card-title,
    body.module-solar .rank-value,
    body.module-solar .rank-label{
      font-family:'Space Grotesk','Manrope','Inter',sans-serif;
    }
    body.module-solar .subtitle,
    body.module-solar .field,
    body.module-solar .module-meta,
    body.module-solar .headline-eyebrow,
    body.module-solar .headline-detail,
    body.module-solar .kpi-label,
    body.module-solar .kpi-detail,
    body.module-solar .card-subtitle,
    body.module-solar .rank-detail,
    body.module-solar .insight-list,
    body.module-solar .footer-note,
    body.module-solar .tab{
      font-family:'Inter','Segoe UI',Arial,sans-serif;
    }

    body.module-solar .header{
      border:1px solid rgba(255,93,17,.14);
      border-radius:18px;
      padding:16px 17px;
      background:
        radial-gradient(circle at 61% -42%,rgba(255,88,6,.22),transparent 41%),
        linear-gradient(111deg,rgba(28,8,3,.99) 0%,rgba(11,4,2,.995) 55%,rgba(26,7,3,.985) 100%);
      box-shadow:0 22px 60px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,185,126,.035);
      overflow:hidden;
    }
    body.module-solar .header::before{
      height:1px;
      background:linear-gradient(90deg,transparent 0%,rgba(255,83,7,.95) 15%,rgba(255,122,22,.68) 48%,rgba(255,192,74,.48) 82%,transparent 100%);
    }
    body.module-solar .header::after{
      content:"";
      position:absolute;right:-105px;top:-128px;width:430px;height:230px;border-radius:50%;
      background:radial-gradient(circle,rgba(255,86,7,.17) 0%,rgba(255,120,20,.055) 38%,rgba(255,86,7,0) 69%);
      pointer-events:none;
    }
    body.module-solar .brand{gap:13px}
    body.module-solar .brand-icon{
      width:48px;height:48px;border-radius:13px;
      background:linear-gradient(145deg,rgba(255,94,9,.32),rgba(143,31,6,.16)),#1b0904;
      border:1px solid rgba(255,107,18,.20);
      box-shadow:0 9px 28px rgba(181,42,5,.18),0 0 22px rgba(255,91,10,.045),inset 0 1px 0 rgba(255,255,255,.055);
      filter:none;
    }
    body.module-solar .simoc-title{color:#fffaf6;font-size:22px;font-weight:700;letter-spacing:-.58px}
    body.module-solar .report-title{color:var(--so-ink-2);font-size:18px;font-weight:600;letter-spacing:-.46px}
    body.module-solar .brand-divider{height:35px;background:rgba(255,106,20,.13)}
    body.module-solar .subtitle{color:#9a6b5e;font-size:10.5px;line-height:1.42}

    body.module-solar .global-filter{
      gap:7px;padding:8px;border:1px solid rgba(255,100,15,.12);border-radius:13px;
      background:linear-gradient(180deg,rgba(24,7,3,.88),rgba(12,4,2,.91));
      box-shadow:inset 0 1px 0 rgba(255,255,255,.02),0 10px 28px rgba(0,0,0,.22);
      backdrop-filter:blur(10px);
    }
    body.module-solar .field label{
      margin-bottom:4px;color:#9b6b5e;font-family:'Inter',sans-serif;font-size:9px;font-weight:700;letter-spacing:.90px;
    }
    body.module-solar .field select,
    body.module-solar .field input{
      height:36px;border:1px solid rgba(255,105,20,.14);border-radius:8px;
      background:linear-gradient(180deg,#200b05 0%,#160703 100%);
      color:#f0d5ca;box-shadow:inset 0 1px 0 rgba(255,255,255,.022);font-size:11px;color-scheme:dark;
    }
    body.module-solar .field select:hover,
    body.module-solar .field input:hover{border-color:rgba(255,118,26,.29);background:#230c05}
    body.module-solar .field select:focus,
    body.module-solar .field input:focus{border-color:rgba(255,102,14,.68);box-shadow:0 0 0 3px rgba(255,91,10,.11),0 0 22px rgba(255,91,10,.055)}
    body.module-solar .btn{
      height:36px;border:1px solid rgba(255,139,42,.48);border-radius:8px;
      background:linear-gradient(180deg,#ff7414 0%,#ff4d05 100%);
      color:#fff;font-family:'Inter',sans-serif;font-size:11px;font-weight:800;
      box-shadow:0 10px 24px rgba(200,47,4,.27),inset 0 1px 0 rgba(255,223,191,.28);
      transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
    }
    body.module-solar .btn:hover{filter:brightness(1.07);transform:translateY(-1px);box-shadow:0 13px 31px rgba(214,49,3,.34),0 0 24px rgba(255,91,10,.07),inset 0 1px 0 rgba(255,231,204,.34)}

    body.module-solar .report-surface{
      margin-top:13px;padding:11px;min-height:720px;
      border:1px solid rgba(255,101,15,.085);border-radius:18px;
      background:
        radial-gradient(circle at 87% 0%,rgba(255,91,10,.08),transparent 25%),
        radial-gradient(circle at 14% 96%,rgba(186,42,8,.045),transparent 31%),
        linear-gradient(180deg,#100502 0%,#070301 100%);
      box-shadow:0 26px 70px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.018);
      position:relative;
    }
    body.module-solar .report-surface::before{
      content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.18;
      background-image:linear-gradient(rgba(255,108,20,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,108,20,.012) 1px,transparent 1px);
      background-size:44px 44px;mask-image:linear-gradient(180deg,rgba(0,0,0,.62),transparent 80%);
    }
    body.module-solar .report-surface>*{position:relative;z-index:1}

    body.module-solar .tabs-wrap{
      border:1px solid rgba(255,104,18,.09);border-radius:12px;padding:5px;
      background:#140602;box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
    }
    body.module-solar .tabs{gap:3px}
    body.module-solar .tab{
      padding:9px 11px;border-radius:8px;color:#8c6156;font-size:10px;font-weight:600;letter-spacing:-.05px;
      transition:background .15s ease,color .15s ease,box-shadow .15s ease,border-color .15s ease;
    }
    body.module-solar .tab::after{display:none}
    body.module-solar .tab:hover{color:#f7ddd2;background:#220b05}
    body.module-solar .tab.active{
      color:#fff8f2;
      background:linear-gradient(180deg,rgba(255,84,7,.28),rgba(116,28,6,.13)),#250b04;
      box-shadow:inset 0 0 0 1px rgba(255,108,19,.18),0 6px 18px rgba(0,0,0,.15),0 0 19px rgba(255,91,10,.035);
    }

    body.module-solar .module-bar{
      margin-top:9px;padding:10px 12px;border:1px solid rgba(255,103,17,.09);border-left:0;border-radius:12px;
      background:linear-gradient(145deg,#210a04,#140602);box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
    }
    body.module-solar .module-heading{gap:10px}
    body.module-solar .module-icon{
      width:34px;height:34px;display:grid;place-items:center;border-radius:9px;
      background:linear-gradient(145deg,rgba(255,89,8,.30),rgba(146,33,5,.12));
      border:1px solid rgba(255,109,20,.16);font-size:17px;filter:none;
      box-shadow:0 7px 20px rgba(169,38,4,.13),inset 0 1px 0 rgba(255,255,255,.035);
    }
    body.module-solar .module-name{color:#fff8f4;font-size:18px;font-weight:650;letter-spacing:-.46px}
    body.module-solar .module-meta{color:#936458;font-size:9.5px;margin-top:2px}
    body.module-solar .module-filters .field input,
    body.module-solar .module-filters .field select{height:34px;font-size:10.5px}
    body.module-solar .module-filters .field label{font-size:8.5px;color:#916155}
    body.module-solar .clear-btn{
      height:34px;border:1px solid rgba(255,105,20,.14);border-radius:8px;
      background:#230b05;color:#b37b6d;padding:0 12px;font-family:'Inter',sans-serif;font-size:9.5px;font-weight:600;
    }
    body.module-solar .clear-btn:hover{color:#fff4ed;border-color:rgba(255,121,28,.29);background:#2b0d05;box-shadow:0 0 18px rgba(255,91,10,.045)}
    body.module-solar .content{margin-top:10px}

    body.module-solar .headline-card{
      min-height:78px;padding:14px 16px;margin-bottom:12px;
      border:1px solid rgba(255,103,17,.10);border-top:0;border-radius:13px;
      background:
        radial-gradient(circle at 75% 46%,rgba(255,88,7,.18),transparent 22%),
        radial-gradient(circle at 96% 39%,rgba(255,161,38,.095),transparent 27%),
        linear-gradient(105deg,#240b04 0%,#160703 58%,#210904 100%);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.02),0 12px 30px rgba(0,0,0,.19);
      position:relative;overflow:hidden;
    }
    body.module-solar .headline-card::after{
      content:"";position:absolute;right:0;bottom:0;width:285px;height:1px;
      background:linear-gradient(90deg,transparent,var(--so-orange),var(--so-amber));opacity:.78;
    }
    body.module-solar .headline-eyebrow{color:#98695d;font-size:9px;letter-spacing:1.15px}
    body.module-solar .headline-title{color:#f7ddd3;font-size:14px;font-weight:550;margin-top:4px}
    body.module-solar .headline-value{color:#ff8b22;font-size:24px;font-weight:650;letter-spacing:-.66px;text-shadow:0 0 25px rgba(255,91,10,.12)}
    body.module-solar .headline-detail{color:#96675a;font-size:10px;margin-top:3px}

    body.module-solar .kpi-grid{gap:12px;margin-bottom:12px}
    body.module-solar .kpi{
      min-height:116px;padding:14px 15px;
      border:1px solid rgba(255,103,17,.09);border-top:1px solid rgba(255,111,20,.19);border-radius:14px;
      background:
        radial-gradient(circle at 95% 8%,rgba(255,91,10,.13),transparent 31%),
        linear-gradient(145deg,#230b04 0%,#160703 100%);
      box-shadow:0 11px 30px rgba(0,0,0,.19),inset 0 1px 0 rgba(255,255,255,.022);
      overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
    }
    body.module-solar .kpi:hover{transform:translateY(-2px);border-color:rgba(255,118,25,.22);box-shadow:0 15px 36px rgba(0,0,0,.25),0 0 21px rgba(255,91,10,.03)}
    body.module-solar .kpi::after{width:98px;height:98px;right:-42px;bottom:-53px;background:radial-gradient(circle,rgba(255,103,13,.14),transparent 67%)}
    body.module-solar .kpi-label{color:#9a6a5d;font-size:9px;font-weight:700;letter-spacing:.82px}
    body.module-solar .kpi-value{margin-top:10px;color:#fff7f2;font-size:27px;font-weight:590;letter-spacing:-1px}
    body.module-solar .kpi-detail{margin-top:7px;color:#936458;font-size:10px}
    body.module-solar .kpi.solar .kpi-value{color:#ff8a20}
    body.module-solar .kpi.solar:nth-child(2) .kpi-value{color:#ffb13c}
    body.module-solar .kpi.solar:nth-child(3) .kpi-value{color:#ff6420}
    body.module-solar .kpi.neutral .kpi-value{color:#fff0e8}
    body.module-solar .kpi.solar,body.module-solar .kpi.neutral{border-top-color:rgba(255,111,20,.19)}

    body.module-solar .chart-grid{gap:12px;margin-bottom:12px}
    body.module-solar .chart-card{
      min-height:330px;padding:15px;
      border:1px solid rgba(255,103,17,.09);border-radius:14px;
      background:
        radial-gradient(circle at 88% 3%,rgba(255,91,10,.055),transparent 27%),
        linear-gradient(180deg,rgba(30,9,4,.99),rgba(17,6,3,.99));
      box-shadow:0 12px 31px rgba(0,0,0,.19),inset 0 1px 0 rgba(255,255,255,.022);
      position:relative;overflow:hidden;
    }
    body.module-solar .chart-card::after{
      content:"";position:absolute;left:14px;right:14px;top:49px;height:1px;
      background:linear-gradient(90deg,rgba(255,111,20,.14),rgba(255,111,20,.04),transparent);pointer-events:none;
    }
    body.module-solar .card-title{color:#fff4ee;font-size:15px;font-weight:600;letter-spacing:-.28px}
    body.module-solar .card-subtitle{color:#8f6055;font-size:10px;margin-top:3px;margin-bottom:11px}
    body.module-solar .canvas-wrap{height:270px}

    body.module-solar .lower-grid{gap:12px}
    body.module-solar .rankings-grid{gap:12px}
    body.module-solar .rank-card,
    body.module-solar .insight-card{
      border:1px solid rgba(255,103,17,.09);border-left:1px solid rgba(255,103,17,.09);border-radius:14px;
      background:linear-gradient(145deg,#220a04,#150603);
      box-shadow:0 11px 29px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.02);padding:14px;
    }
    body.module-solar .rank-list{gap:3px}
    body.module-solar .rank-row{padding:9px 0;border-bottom:1px solid rgba(255,104,18,.075)}
    body.module-solar .rank-num{background:#321006;color:#ff8c24;border:1px solid rgba(255,111,20,.14);font-size:10px}
    body.module-solar .rank-label{color:#f8e1d7;font-size:12px;font-weight:550}
    body.module-solar .rank-detail{color:#906055;font-size:9px}
    body.module-solar .rank-value{color:#ff9b2b;font-size:12px;font-weight:600}
    body.module-solar .insight-list li{color:#c99f91;border-bottom:1px solid rgba(255,104,18,.075);font-size:11px}
    body.module-solar .insight-list li:before{background:var(--so-orange);border-radius:50%;box-shadow:0 0 12px rgba(255,91,10,.30)}

    body.module-solar .footer-note{border-top:1px solid rgba(255,104,18,.08);color:#735047;font-size:9px}
    body.module-solar .coverage,body.module-solar .coverage strong{color:#93675b}
    body.module-solar .loading{color:#9a6b60}
    body.module-solar .spinner{border-color:#301006;border-top-color:var(--so-orange);box-shadow:0 0 16px rgba(255,91,10,.22)}
    body.module-solar .no-data{background:#180703;border:1px solid rgba(255,104,18,.11);color:var(--so-ink);box-shadow:none}
    body.module-solar .no-data h3{color:#fff4ef}
    body.module-solar .no-data p{color:#9e7065}

    @media(max-width:850px){
      body.module-solar .header,body.module-solar .report-surface{border-radius:14px}
      body.module-solar .kpi,body.module-solar .chart-card,body.module-solar .rank-card,body.module-solar .insight-card{border-radius:12px}
    }


  
    /* =========================================================
       CALIDAD DEL AIRE · BIO-LIME ATMOSPHERE OS
       SOLO este módulo cambia de identidad y composición visual.
       Referencia: negro bosque + verde ácido + amarillo solar +
       acentos cian; interfaz viva, asimétrica y de control ambiental.
       Fuente primaria: Space Grotesk / secundaria técnica: IBM Plex Mono.
       ========================================================= */
    body.module-aire{
      --aq-bg:#001110;--aq-bg-2:#041b16;--aq-panel:#061b16;--aq-panel-2:#0a241b;
      --aq-panel-3:#0d2b20;--aq-line:rgba(183,255,25,.10);--aq-line-strong:rgba(183,255,25,.24);
      --aq-lime:#b7ff19;--aq-lime-2:#d9ff47;--aq-yellow:#ffd42a;--aq-cyan:#35c9dd;
      --aq-blue:#2b91df;--aq-green:#54d36c;--aq-ink:#f5ffe7;--aq-ink-2:#d8e8d5;
      --aq-muted:#779287;--aq-muted-2:#587268;--aq-mono:'IBM Plex Mono','SFMono-Regular',Consolas,monospace;
      background:
        radial-gradient(circle at 72% -6%,rgba(183,255,25,.11),transparent 23%),
        radial-gradient(circle at 7% 10%,rgba(53,201,221,.06),transparent 27%),
        linear-gradient(180deg,#00100f 0%,#031713 48%,#00110f 100%);
      color:var(--aq-ink);
    }
    body.module-aire .app{padding:15px 18px 30px}
    body.module-aire .shell{max-width:1580px}
    body.module-aire .simoc-title,body.module-aire .report-title,body.module-aire .module-name,
    body.module-aire .headline-title,body.module-aire .headline-value,body.module-aire .kpi-value,
    body.module-aire .card-title,body.module-aire .rank-value,body.module-aire .rank-label{
      font-family:'Space Grotesk','Manrope','Inter',sans-serif;
    }
    body.module-aire .subtitle,body.module-aire .field,body.module-aire .module-meta,
    body.module-aire .headline-eyebrow,body.module-aire .headline-detail,body.module-aire .kpi-label,
    body.module-aire .kpi-detail,body.module-aire .card-subtitle,body.module-aire .rank-detail,
    body.module-aire .insight-list,body.module-aire .footer-note,body.module-aire .tab{
      font-family:'Inter','Segoe UI',Arial,sans-serif;
    }

    body.module-aire .header{
      border:1px solid rgba(183,255,25,.11);border-radius:24px;padding:16px 17px;
      background:radial-gradient(circle at 72% 120%,rgba(184,255,25,.12),transparent 31%),
                 linear-gradient(112deg,rgba(3,25,20,.99) 0%,rgba(1,16,15,.99) 58%,rgba(4,27,20,.98) 100%);
      box-shadow:0 24px 64px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.025);
      overflow:hidden;isolation:isolate;
    }
    body.module-aire .header::before{
      height:1px;background:linear-gradient(90deg,transparent 0%,rgba(183,255,25,.95) 18%,rgba(217,255,71,.34) 54%,rgba(53,201,221,.40) 82%,transparent 100%);
    }
    body.module-aire .header::after{
      content:"";position:absolute;right:-110px;top:-138px;width:430px;height:250px;border-radius:50%;
      background:radial-gradient(circle,rgba(183,255,25,.16) 0%,rgba(183,255,25,.035) 38%,transparent 69%);
      filter:blur(2px);pointer-events:none;z-index:-1;animation:airPulse 7s ease-in-out infinite;
    }
    body.module-aire .brand{gap:13px}
    body.module-aire .brand-icon{
      width:48px;height:48px;border-radius:16px;
      background:radial-gradient(circle at 30% 25%,rgba(224,255,83,.26),transparent 30%),
                 linear-gradient(145deg,rgba(183,255,25,.17),rgba(53,201,221,.06)),#08231a;
      border:1px solid rgba(183,255,25,.20);box-shadow:0 10px 26px rgba(104,150,8,.10),inset 0 1px 0 rgba(255,255,255,.055);filter:none;
    }
    body.module-aire .simoc-title{color:#fbffef;font-size:22px;font-weight:700;letter-spacing:-.58px}
    body.module-aire .report-title{color:var(--aq-ink-2);font-size:18px;font-weight:600;letter-spacing:-.46px}
    body.module-aire .brand-divider{height:35px;background:rgba(183,255,25,.12)}
    body.module-aire .subtitle{color:#718c82;font-size:10.5px;line-height:1.42}

    body.module-aire .global-filter{
      gap:7px;padding:8px;border:1px solid rgba(183,255,25,.095);border-radius:16px;background:rgba(1,14,13,.72);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.022),0 12px 28px rgba(0,0,0,.18);backdrop-filter:blur(10px);
    }
    body.module-aire .field label{margin-bottom:4px;color:#6e8b7e;font-family:var(--aq-mono);font-size:9px;font-weight:600;letter-spacing:.78px}
    body.module-aire .field select,body.module-aire .field input{
      height:36px;border:1px solid rgba(183,255,25,.11);border-radius:11px;background:#061b16;color:#dbe9d3;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.018);font-family:var(--aq-mono);font-size:10.5px;color-scheme:dark;
    }
    body.module-aire .field select:hover,body.module-aire .field input:hover{border-color:rgba(183,255,25,.24);background:#082119}
    body.module-aire .field select:focus,body.module-aire .field input:focus{border-color:rgba(183,255,25,.65);box-shadow:0 0 0 3px rgba(183,255,25,.095),0 0 24px rgba(183,255,25,.045)}
    body.module-aire .btn{
      height:36px;border:1px solid rgba(208,255,56,.56);border-radius:12px;
      background:linear-gradient(180deg,#d5ff45 0%,#a9f70f 53%,#8ed700 100%);color:#07110a;font-size:12px;font-weight:800;
      box-shadow:0 11px 28px rgba(131,207,0,.18),inset 0 1px 0 rgba(255,255,255,.42);
      transition:transform .17s ease,filter .17s ease,box-shadow .17s ease;
    }
    body.module-aire .btn:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 15px 34px rgba(131,207,0,.24),0 0 28px rgba(183,255,25,.07),inset 0 1px 0 rgba(255,255,255,.48)}

    body.module-aire .report-surface{
      position:relative;margin-top:13px;padding:11px;min-height:720px;border:1px solid rgba(183,255,25,.075);border-radius:24px;
      background:radial-gradient(circle at 78% 2%,rgba(183,255,25,.06),transparent 23%),
                 radial-gradient(circle at 9% 86%,rgba(53,201,221,.035),transparent 30%),
                 linear-gradient(180deg,#031612 0%,#00110f 100%);
      box-shadow:0 26px 68px rgba(0,0,0,.27),inset 0 1px 0 rgba(255,255,255,.018);
      overflow:hidden;isolation:isolate;
    }
    body.module-aire .report-surface::before{
      content:"";position:absolute;left:-12%;top:130px;width:124%;height:260px;
      background:radial-gradient(ellipse at 22% 50%,rgba(183,255,25,.035),transparent 26%),radial-gradient(ellipse at 78% 50%,rgba(53,201,221,.025),transparent 28%);
      transform:rotate(-3deg);pointer-events:none;z-index:0;animation:airDrift 13s ease-in-out infinite alternate;
    }
    body.module-aire .report-surface::after{
      content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(207,255,85,.11) 0 1px,transparent 1.3px);
      background-size:58px 58px;opacity:.075;mask-image:linear-gradient(to bottom,transparent 0%,#000 17%,#000 75%,transparent 100%);
      pointer-events:none;z-index:0;
    }
    body.module-aire .report-surface>*{position:relative;z-index:1}

    body.module-aire .tabs-wrap{border:1px solid rgba(183,255,25,.075);border-radius:16px;padding:5px;background:rgba(4,25,20,.78);box-shadow:inset 0 1px 0 rgba(255,255,255,.018)}
    body.module-aire .tabs{gap:4px}
    body.module-aire .tab{padding:9px 11px;border-radius:11px;color:#6d897d;font-size:10.5px;font-weight:600;letter-spacing:-.08px;transition:transform .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease}
    body.module-aire .tab::after{display:none}
    body.module-aire .tab:hover{color:#e7f8d7;background:#092219;transform:translateY(-1px)}
    body.module-aire .tab.active{color:#071009;background:linear-gradient(180deg,#d6ff45 0%,#aaf60f 100%);box-shadow:0 7px 20px rgba(132,203,8,.14),inset 0 1px 0 rgba(255,255,255,.42);font-weight:750}

    body.module-aire .module-bar{
      margin-top:9px;padding:10px 12px;border:1px solid rgba(183,255,25,.085);border-left:0;border-radius:17px;
      background:radial-gradient(circle at 93% 0%,rgba(183,255,25,.065),transparent 23%),linear-gradient(145deg,#082119,#041712);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
    }
    body.module-aire .module-heading{gap:10px}
    body.module-aire .module-icon{
      width:35px;height:35px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,rgba(183,255,25,.22),rgba(53,201,221,.05));
      border:1px solid rgba(183,255,25,.16);font-size:17px;filter:none;box-shadow:0 8px 20px rgba(128,188,7,.08);
    }
    body.module-aire .module-name{color:#f6ffe9;font-size:18px;font-weight:650;letter-spacing:-.46px}
    body.module-aire .module-meta{color:#6d8a7d;font-family:var(--aq-mono);font-size:9px;margin-top:2px}
    body.module-aire .module-filters .field input,body.module-aire .module-filters .field select{height:34px;font-size:10px}
    body.module-aire .module-filters .field label{font-size:8px;color:#658174}
    body.module-aire .clear-btn{height:34px;border:1px solid rgba(183,255,25,.12);border-radius:11px;background:#082019;color:#89a698;padding:0 12px;font-size:10px;font-weight:650}
    body.module-aire .clear-btn:hover{color:#eaffd5;border-color:rgba(183,255,25,.26);background:#0b291e;box-shadow:0 0 18px rgba(183,255,25,.035)}
    body.module-aire .content{margin-top:10px}

    body.module-aire .headline-card{
      min-height:92px;padding:17px 18px;margin-bottom:12px;border:1px solid rgba(183,255,25,.10);border-top:0;border-radius:20px;
      background:radial-gradient(circle at 78% 52%,rgba(183,255,25,.19),transparent 16%),radial-gradient(circle at 88% 44%,rgba(255,212,42,.07),transparent 24%),linear-gradient(108deg,#0b291d 0%,#061c16 54%,#051b15 100%);
      box-shadow:0 16px 38px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.022);position:relative;overflow:hidden;
    }
    body.module-aire .headline-card::before{
      content:"";position:absolute;right:8%;top:50%;transform:translateY(-50%);width:76px;height:76px;border-radius:50%;
      border:1px solid rgba(183,255,25,.20);box-shadow:0 0 0 12px rgba(183,255,25,.028),0 0 0 25px rgba(183,255,25,.018);animation:airHalo 5.4s ease-in-out infinite;
    }
    body.module-aire .headline-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent 3%,var(--aq-lime) 25%,var(--aq-yellow) 60%,var(--aq-cyan) 86%,transparent 97%);opacity:.74}
    body.module-aire .headline-eyebrow{color:#7c9a89;font-family:var(--aq-mono);font-size:10px;letter-spacing:1.2px}
    body.module-aire .headline-title{color:#dff1d6;font-size:16px;font-weight:550;margin-top:5px}
    body.module-aire .headline-value{color:#c9ff37;font-size:30px;font-weight:650;letter-spacing:-.85px;text-shadow:0 0 28px rgba(183,255,25,.13)}
    body.module-aire .headline-detail{color:#759084;font-family:var(--aq-mono);font-size:11px;margin-top:4px}

    body.module-aire .air-dashboard{display:flex;flex-direction:column;gap:12px}
    body.module-aire .air-kpi-stage{display:grid;grid-template-columns:minmax(0,1.42fr) repeat(3,minmax(0,.86fr));gap:12px;align-items:stretch}
    body.module-aire .air-kpi{
      position:relative;min-height:118px;padding:15px 15px 13px;border:1px solid rgba(183,255,25,.075);border-radius:18px;
      background:radial-gradient(circle at 94% 10%,rgba(183,255,25,.075),transparent 30%),linear-gradient(145deg,#0a281e 0%,#061b15 100%);
      box-shadow:0 12px 30px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.018);overflow:hidden;
      transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;animation:airRise .42s ease both;
    }
    body.module-aire .air-kpi:nth-child(2){animation-delay:.04s} body.module-aire .air-kpi:nth-child(3){animation-delay:.08s}
    body.module-aire .air-kpi:nth-child(4){animation-delay:.12s} body.module-aire .air-kpi:nth-child(n+5){animation-delay:.16s}
    body.module-aire .air-kpi:hover{transform:translateY(-4px);border-color:rgba(183,255,25,.20);box-shadow:0 18px 38px rgba(0,0,0,.22),0 0 28px rgba(183,255,25,.025)}
    body.module-aire .air-kpi::after{content:"";position:absolute;right:-26px;bottom:-35px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(183,255,25,.13),transparent 67%);pointer-events:none}
    body.module-aire .air-kpi.feature{
      min-height:154px;background:radial-gradient(circle at 82% 36%,rgba(183,255,25,.16),transparent 24%),radial-gradient(circle at 94% 2%,rgba(53,201,221,.07),transparent 24%),linear-gradient(135deg,#0d3022 0%,#071f18 57%,#051914 100%);
    }
    body.module-aire .air-kpi.feature::before{
      content:"";position:absolute;right:22px;top:50%;width:86px;height:86px;border-radius:50%;border:1px solid rgba(183,255,25,.22);
      transform:translateY(-50%);box-shadow:0 0 0 10px rgba(183,255,25,.027),0 0 0 22px rgba(183,255,25,.014);
    }
    body.module-aire .air-kpi .kpi-label{color:#719081;font-family:var(--aq-mono);font-size:10px;font-weight:600;letter-spacing:.95px;text-transform:uppercase}
    body.module-aire .air-kpi .kpi-value{margin-top:11px;color:#f2ffe4;font-size:28px;font-weight:620;letter-spacing:-.9px;position:relative;z-index:1}
    body.module-aire .air-kpi.feature .kpi-value{font-size:40px;color:#c7ff34;letter-spacing:-1.7px;text-shadow:0 0 30px rgba(183,255,25,.12)}
    body.module-aire .air-kpi .kpi-detail{max-width:78%;margin-top:8px;color:#718b7f;font-family:var(--aq-mono);font-size:10.5px;line-height:1.45;position:relative;z-index:1}
    body.module-aire .air-kpi:nth-child(3n+2) .kpi-value{color:#e5ff75}
    body.module-aire .air-kpi:nth-child(3n+3) .kpi-value{color:#ffd84c}
    body.module-aire .air-kpi:nth-child(3n+4) .kpi-value{color:#6fd4de}

    body.module-aire .air-chart-stage{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:12px;align-items:stretch}
    body.module-aire .air-chart-stage .chart-card{
      min-height:346px;padding:16px;border:1px solid rgba(183,255,25,.075);border-radius:19px;
      background:radial-gradient(circle at 88% 0%,rgba(183,255,25,.055),transparent 26%),linear-gradient(180deg,#082119 0%,#041713 100%);
      box-shadow:0 14px 34px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.018);position:relative;overflow:hidden;animation:airRise .46s ease both;
    }
    body.module-aire .air-chart-stage .chart-card:nth-child(2){animation-delay:.07s}
    body.module-aire .air-chart-stage .chart-card::before{content:"";position:absolute;left:-35%;top:49px;width:32%;height:1px;background:linear-gradient(90deg,transparent,rgba(183,255,25,.62),transparent);animation:airSweep 7.5s linear infinite;pointer-events:none}
    body.module-aire .air-chart-stage .chart-card::after{content:"";position:absolute;right:15px;top:16px;width:8px;height:8px;border-radius:50%;background:var(--aq-lime);box-shadow:0 0 17px rgba(183,255,25,.48);opacity:.84}
    body.module-aire .air-chart-stage .chart-card:nth-child(2)::after{background:var(--aq-yellow);box-shadow:0 0 17px rgba(255,212,42,.36)}
    body.module-aire .air-chart-stage .chart-card:nth-child(3n)::after{background:var(--aq-cyan);box-shadow:0 0 17px rgba(53,201,221,.34)}
    body.module-aire .card-title{color:#ecfadd;font-size:17px;font-weight:600;letter-spacing:-.28px}
    body.module-aire .card-subtitle{color:#668276;font-family:var(--aq-mono);font-size:10.5px;margin-top:4px;margin-bottom:10px}
    body.module-aire .canvas-wrap{height:278px}

    body.module-aire .air-lower-stage{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:12px;align-items:start}
    body.module-aire .air-rank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
    body.module-aire .rank-card,body.module-aire .insight-card{
      border:1px solid rgba(183,255,25,.075);border-left:1px solid rgba(183,255,25,.075);border-radius:18px;
      background:linear-gradient(145deg,#09251b,#051914);box-shadow:0 12px 30px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.018);
      padding:15px;overflow:hidden;position:relative;
    }
    body.module-aire .rank-card::before,body.module-aire .insight-card::before{content:"";position:absolute;left:0;top:18px;width:2px;height:42px;background:linear-gradient(180deg,var(--aq-lime),rgba(183,255,25,0));opacity:.62}
    body.module-aire .rank-list{gap:2px}
    body.module-aire .rank-row{padding:9px 0;border-bottom:1px solid rgba(183,255,25,.065);grid-template-columns:25px minmax(0,1fr) auto}
    body.module-aire .rank-num{width:23px;height:23px;background:linear-gradient(145deg,rgba(183,255,25,.18),rgba(53,201,221,.05));color:#cfff4d;border:1px solid rgba(183,255,25,.13);font-family:var(--aq-mono);font-size:11px}
    body.module-aire .rank-label{color:#dcebd6;font-size:13px;font-weight:560}
    body.module-aire .rank-detail{color:#658075;font-family:var(--aq-mono);font-size:10px}
    body.module-aire .rank-value{color:#bfff2e;font-size:13px;font-weight:650}
    body.module-aire .insight-list li{color:#a6bbaa;border-bottom:1px solid rgba(183,255,25,.065);font-size:12.5px;padding-top:8px;padding-bottom:8px}
    body.module-aire .insight-list li:before{background:var(--aq-lime);border-radius:50%;box-shadow:0 0 10px rgba(183,255,25,.32)}

    body.module-aire .footer-note{border-top:1px solid rgba(183,255,25,.07);color:#557066;font-family:var(--aq-mono);font-size:8px}
    body.module-aire .coverage,body.module-aire .coverage strong{color:#6b887b}
    body.module-aire .content .coverage{font-size:12px}
    body.module-aire .loading{color:#78958a;font-family:var(--aq-mono)}
    body.module-aire .spinner{border-color:#0d3023;border-top-color:var(--aq-lime);box-shadow:0 0 16px rgba(183,255,25,.15)}
    body.module-aire .no-data{background:#071f18;border:1px solid rgba(183,255,25,.09);color:var(--aq-ink);box-shadow:none;border-radius:18px}
    body.module-aire .no-data h3{color:#f1ffe3} body.module-aire .no-data p{color:#7f9a8e}

    @keyframes airPulse{0%,100%{opacity:.64}50%{opacity:1}}
    @keyframes airHalo{0%,100%{transform:translateY(-50%) scale(1);opacity:.72}50%{transform:translateY(-50%) scale(1.08);opacity:1}}
    @keyframes airDrift{0%{transform:translate3d(-2%,0,0) rotate(-3deg)}100%{transform:translate3d(3%,10px,0) rotate(-1deg)}}
    @keyframes airSweep{0%{left:-35%;opacity:0}12%{opacity:.55}58%{opacity:.28}100%{left:115%;opacity:0}}
    @keyframes airRise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

    @media(max-width:1180px){
      body.module-aire .air-kpi-stage{grid-template-columns:repeat(2,minmax(0,1fr))}
      body.module-aire .air-kpi.feature{grid-column:span 2}
      body.module-aire .air-chart-stage,body.module-aire .air-lower-stage{grid-template-columns:1fr}
    }
    @media(max-width:850px){
      body.module-aire .header,body.module-aire .report-surface{border-radius:17px}
      body.module-aire .air-kpi-stage,body.module-aire .air-rank-grid{grid-template-columns:1fr}
      body.module-aire .air-kpi.feature{grid-column:auto}
      body.module-aire .air-kpi,body.module-aire .air-chart-stage .chart-card,body.module-aire .rank-card,body.module-aire .insight-card{border-radius:14px}
    }


    /* =========================================================
       VOLCANES · OBSIDIAN BLUE / SEISMIC INTELLIGENCE UI
       SOLO cambia la identidad visual y composición de VOLCANES.
       Referencia: graphite/black finance dashboard + electric blue,
       icy blue, subtle amber/coral alerts, modular asymmetric layout.
       Fuente primaria: Space Grotesk / secundaria: IBM Plex Mono.
       ========================================================= */
    body.module-volcanes{
      --vo-bg:#090b10;--vo-bg-2:#0d1016;--vo-panel:#11151d;--vo-panel-2:#151a24;--vo-panel-3:#1a202b;
      --vo-line:rgba(110,143,255,.11);--vo-line-strong:rgba(110,143,255,.24);
      --vo-blue:#5d82ff;--vo-blue-2:#7fa0ff;--vo-ice:#b9caff;--vo-lilac:#9f92ff;
      --vo-cyan:#66d4ec;--vo-amber:#ffc65c;--vo-coral:#ff7079;--vo-green:#62d29a;
      --vo-ink:#f6f8ff;--vo-ink-2:#d9dff0;--vo-muted:#778196;--vo-muted-2:#566071;
      --vo-mono:'IBM Plex Mono','SFMono-Regular',Consolas,monospace;
      background:
        radial-gradient(circle at 14% -8%,rgba(93,130,255,.16),transparent 27%),
        radial-gradient(circle at 94% 3%,rgba(159,146,255,.075),transparent 23%),
        linear-gradient(180deg,#080a0f 0%,#0b0e14 48%,#07090d 100%);
      color:var(--vo-ink);
    }
    body.module-volcanes .app{padding:15px 18px 30px}
    body.module-volcanes .shell{max-width:1580px}
    body.module-volcanes .simoc-title,body.module-volcanes .report-title,body.module-volcanes .module-name,
    body.module-volcanes .vol-hero-title,body.module-volcanes .vol-hero-value,body.module-volcanes .kpi-value,
    body.module-volcanes .card-title,body.module-volcanes .rank-label,body.module-volcanes .rank-value{
      font-family:'Space Grotesk','Manrope','Inter',sans-serif;
    }
    body.module-volcanes .subtitle,body.module-volcanes .field,body.module-volcanes .module-meta,
    body.module-volcanes .vol-kicker,body.module-volcanes .vol-hero-detail,body.module-volcanes .kpi-label,
    body.module-volcanes .kpi-detail,body.module-volcanes .card-subtitle,body.module-volcanes .rank-detail,
    body.module-volcanes .insight-list,body.module-volcanes .footer-note,body.module-volcanes .tab{
      font-family:var(--vo-mono);
    }

    body.module-volcanes .header{
      border:1px solid rgba(110,143,255,.10);border-radius:20px;padding:16px 17px;
      background:radial-gradient(circle at 68% -42%,rgba(93,130,255,.17),transparent 40%),
                 linear-gradient(112deg,rgba(20,24,33,.99) 0%,rgba(10,13,18,.995) 58%,rgba(17,21,30,.99) 100%);
      box-shadow:0 24px 64px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.025);overflow:hidden;
    }
    body.module-volcanes .header::before{height:1px;background:linear-gradient(90deg,transparent 0%,var(--vo-blue) 18%,rgba(185,202,255,.40) 56%,rgba(159,146,255,.30) 82%,transparent 100%)}
    body.module-volcanes .header::after{content:"";position:absolute;right:-115px;top:-140px;width:445px;height:255px;border-radius:50%;background:radial-gradient(circle,rgba(93,130,255,.15),rgba(93,130,255,.025) 42%,transparent 69%);pointer-events:none;animation:volGlow 7s ease-in-out infinite}
    body.module-volcanes .brand{gap:13px}
    body.module-volcanes .brand-icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(145deg,rgba(93,130,255,.28),rgba(159,146,255,.08)),#141923;border:1px solid rgba(110,143,255,.18);box-shadow:0 10px 28px rgba(45,72,165,.13),inset 0 1px 0 rgba(255,255,255,.055);filter:none}
    body.module-volcanes .simoc-title{color:#fbfcff;font-size:22px;font-weight:700;letter-spacing:-.58px}
    body.module-volcanes .report-title{color:var(--vo-ink-2);font-size:18px;font-weight:600;letter-spacing:-.46px}
    body.module-volcanes .brand-divider{height:35px;background:rgba(110,143,255,.13)}
    body.module-volcanes .subtitle{color:#727b8e;font-size:10px;line-height:1.42}

    body.module-volcanes .global-filter{gap:7px;padding:8px;border:1px solid rgba(110,143,255,.10);border-radius:14px;background:rgba(10,13,19,.76);box-shadow:inset 0 1px 0 rgba(255,255,255,.02),0 11px 28px rgba(0,0,0,.18);backdrop-filter:blur(10px)}
    body.module-volcanes .field label{margin-bottom:4px;color:#727c91;font-family:var(--vo-mono);font-size:9px;font-weight:600;letter-spacing:.78px}
    body.module-volcanes .field select,body.module-volcanes .field input{height:36px;border:1px solid rgba(110,143,255,.12);border-radius:9px;background:#151a23;color:#d9dff0;box-shadow:inset 0 1px 0 rgba(255,255,255,.018);font-family:var(--vo-mono);font-size:10.5px;color-scheme:dark}
    body.module-volcanes .field select:hover,body.module-volcanes .field input:hover{border-color:rgba(110,143,255,.27);background:#181e29}
    body.module-volcanes .field select:focus,body.module-volcanes .field input:focus{border-color:rgba(93,130,255,.72);box-shadow:0 0 0 3px rgba(93,130,255,.11),0 0 24px rgba(93,130,255,.05)}
    body.module-volcanes .btn{height:36px;border:1px solid rgba(132,160,255,.55);border-radius:9px;background:linear-gradient(180deg,#7395ff 0%,#5377f1 100%);color:#fff;font-size:12px;font-weight:800;box-shadow:0 11px 28px rgba(49,83,203,.24),inset 0 1px 0 rgba(255,255,255,.26);transition:transform .17s ease,filter .17s ease,box-shadow .17s ease}
    body.module-volcanes .btn:hover{filter:brightness(1.07);transform:translateY(-2px);box-shadow:0 15px 34px rgba(49,83,203,.30),0 0 26px rgba(93,130,255,.06),inset 0 1px 0 rgba(255,255,255,.30)}

    body.module-volcanes .report-surface{position:relative;margin-top:13px;padding:11px;min-height:720px;border:1px solid rgba(110,143,255,.075);border-radius:20px;background:radial-gradient(circle at 82% 0%,rgba(93,130,255,.055),transparent 24%),linear-gradient(180deg,#0d1016 0%,#090c11 100%);box-shadow:0 27px 70px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.018);overflow:hidden;isolation:isolate}
    body.module-volcanes .report-surface::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.19;background-image:linear-gradient(rgba(110,143,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(110,143,255,.018) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.75) 52%,transparent 92%)}
    body.module-volcanes .report-surface::after{content:"";position:absolute;left:-20%;top:155px;width:40%;height:1px;background:linear-gradient(90deg,transparent,var(--vo-blue),transparent);box-shadow:0 0 18px rgba(93,130,255,.25);animation:volScan 9s linear infinite;pointer-events:none;z-index:0}
    body.module-volcanes .report-surface>*{position:relative;z-index:1}

    body.module-volcanes .tabs-wrap{border:1px solid rgba(110,143,255,.08);border-radius:13px;padding:5px;background:#11151d;box-shadow:inset 0 1px 0 rgba(255,255,255,.018)}
    body.module-volcanes .tabs{gap:3px}
    body.module-volcanes .tab{padding:9px 11px;border-radius:9px;color:#707a8f;font-size:10px;font-weight:500;letter-spacing:0;transition:transform .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease}
    body.module-volcanes .tab::after{display:none}
    body.module-volcanes .tab:hover{color:#e5eaff;background:#181e29;transform:translateY(-1px)}
    body.module-volcanes .tab.active{color:#fff;background:linear-gradient(180deg,rgba(111,146,255,.30),rgba(67,92,182,.15)),#1a2130;box-shadow:inset 0 0 0 1px rgba(126,157,255,.18),0 7px 20px rgba(0,0,0,.15);font-weight:650}

    body.module-volcanes .module-bar{margin-top:9px;padding:10px 12px;border:1px solid rgba(110,143,255,.09);border-left:0;border-radius:14px;background:radial-gradient(circle at 94% 0%,rgba(93,130,255,.07),transparent 24%),linear-gradient(145deg,#171c27,#10141c);box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}
    body.module-volcanes .module-heading{gap:10px}
    body.module-volcanes .module-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,rgba(93,130,255,.24),rgba(159,146,255,.07));border:1px solid rgba(110,143,255,.16);font-size:17px;filter:none;box-shadow:0 8px 20px rgba(47,75,170,.10)}
    body.module-volcanes .module-name{color:#f6f8ff;font-size:18px;font-weight:650;letter-spacing:-.46px}
    body.module-volcanes .module-meta{color:#737d91;font-family:var(--vo-mono);font-size:9px;margin-top:2px}
    body.module-volcanes .module-filters .field input,body.module-volcanes .module-filters .field select{height:34px;font-size:10px}
    body.module-volcanes .module-filters .field label{font-size:8px;color:#70798c}
    body.module-volcanes .clear-btn{height:34px;border:1px solid rgba(110,143,255,.13);border-radius:9px;background:#181e29;color:#96a0b5;padding:0 12px;font-size:10px;font-weight:650}
    body.module-volcanes .clear-btn:hover{color:#fff;border-color:rgba(110,143,255,.28);background:#1d2532;box-shadow:0 0 18px rgba(93,130,255,.035)}
    body.module-volcanes .content{margin-top:10px}

    body.module-volcanes .vol-dashboard{display:flex;flex-direction:column;gap:12px}
    body.module-volcanes .vol-hero{position:relative;min-height:132px;padding:20px 22px;border:1px solid rgba(110,143,255,.10);border-radius:18px;background:radial-gradient(circle at 76% 40%,rgba(93,130,255,.20),transparent 20%),radial-gradient(circle at 94% 30%,rgba(159,146,255,.08),transparent 25%),linear-gradient(115deg,#171d29 0%,#10141c 60%,#151a25 100%);box-shadow:0 17px 40px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.022);overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:center}
    body.module-volcanes .vol-hero::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--vo-ice),var(--vo-blue),var(--vo-lilac));box-shadow:0 0 16px rgba(93,130,255,.30)}
    body.module-volcanes .vol-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent 2%,var(--vo-blue) 28%,var(--vo-ice) 58%,var(--vo-lilac) 82%,transparent 98%);opacity:.72}
    body.module-volcanes .vol-kicker{color:#8290aa;font-size:8.5px;letter-spacing:1.35px;text-transform:uppercase}
    body.module-volcanes .vol-hero-title{color:#dfe5f7;font-size:15px;font-weight:560;margin-top:6px;letter-spacing:-.28px}
    body.module-volcanes .vol-hero-value{color:#91adff;font-size:32px;font-weight:650;letter-spacing:-1.05px;margin-top:4px;text-shadow:0 0 28px rgba(93,130,255,.15)}
    body.module-volcanes .vol-hero-detail{color:#7b8599;font-size:9px;margin-top:5px;line-height:1.5}
    body.module-volcanes .vol-activity{display:grid;grid-template-columns:repeat(18,1fr);gap:5px;align-items:end;height:76px;padding:8px 10px;border:1px solid rgba(110,143,255,.075);border-radius:13px;background:rgba(8,11,16,.38);box-shadow:inset 0 1px 0 rgba(255,255,255,.016)}
    body.module-volcanes .vol-activity span{display:block;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,var(--vo-ice),var(--vo-blue));box-shadow:0 0 10px rgba(93,130,255,.12);transform-origin:bottom;animation:volBars 2.6s ease-in-out infinite alternate}
    body.module-volcanes .vol-activity span:nth-child(3n){animation-delay:.18s} body.module-volcanes .vol-activity span:nth-child(4n){animation-delay:.36s} body.module-volcanes .vol-activity span:nth-child(5n){background:linear-gradient(180deg,#c8c3ff,var(--vo-lilac))}

    body.module-volcanes .vol-kpi-stage{display:grid;grid-template-columns:minmax(0,1.32fr) repeat(3,minmax(0,.9fr));gap:12px;align-items:stretch}
    body.module-volcanes .vol-kpi{position:relative;min-height:118px;padding:15px 15px 13px;border:1px solid rgba(110,143,255,.075);border-radius:15px;background:radial-gradient(circle at 95% 4%,rgba(93,130,255,.085),transparent 31%),linear-gradient(145deg,#171d28 0%,#11151d 100%);box-shadow:0 12px 30px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.018);overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;animation:volRise .46s ease both}
    body.module-volcanes .vol-kpi:hover{transform:translateY(-4px);border-color:rgba(110,143,255,.20);box-shadow:0 18px 38px rgba(0,0,0,.23),0 0 26px rgba(93,130,255,.025)}
    body.module-volcanes .vol-kpi::after{content:"";position:absolute;right:-28px;bottom:-38px;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle,rgba(93,130,255,.13),transparent 67%)}
    body.module-volcanes .vol-kpi.feature{min-height:154px;background:radial-gradient(circle at 82% 45%,rgba(93,130,255,.17),transparent 25%),linear-gradient(135deg,#1b2332 0%,#121824 58%,#10151e 100%)}
    body.module-volcanes .vol-kpi.feature::before{content:"";position:absolute;right:22px;top:50%;width:88px;height:88px;border-radius:50%;border:1px solid rgba(127,160,255,.23);transform:translateY(-50%);box-shadow:0 0 0 10px rgba(93,130,255,.025),0 0 0 22px rgba(93,130,255,.014)}
    body.module-volcanes .vol-kpi .kpi-label{color:#7d879d;font-family:var(--vo-mono);font-size:9px;font-weight:600;letter-spacing:.92px;text-transform:uppercase}
    body.module-volcanes .vol-kpi .kpi-value{margin-top:11px;color:#f4f6ff;font-size:28px;font-weight:620;letter-spacing:-1px;position:relative;z-index:1}
    body.module-volcanes .vol-kpi.feature .kpi-value{font-size:40px;color:#8eabff;letter-spacing:-1.75px;text-shadow:0 0 30px rgba(93,130,255,.13)}
    body.module-volcanes .vol-kpi .kpi-detail{max-width:79%;margin-top:8px;color:#788397;font-family:var(--vo-mono);font-size:10px;line-height:1.45;position:relative;z-index:1}
    body.module-volcanes .vol-kpi:nth-child(3n+2) .kpi-value{color:#bacaff} body.module-volcanes .vol-kpi:nth-child(3n+3) .kpi-value{color:#ffc86a} body.module-volcanes .vol-kpi:nth-child(3n+4) .kpi-value{color:#70d8e9}

    body.module-volcanes .vol-chart-stage{display:grid;grid-template-columns:minmax(0,1.24fr) minmax(330px,.76fr);grid-auto-flow:dense;gap:12px;align-items:stretch}
    body.module-volcanes .vol-chart-stage .chart-card{min-height:314px;padding:16px;border:1px solid rgba(110,143,255,.075);border-radius:16px;background:radial-gradient(circle at 90% 0%,rgba(93,130,255,.055),transparent 27%),linear-gradient(180deg,#171c26 0%,#10141c 100%);box-shadow:0 14px 34px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.018);position:relative;overflow:hidden;animation:volRise .5s ease both}
    body.module-volcanes .vol-chart-stage .chart-card.prime{grid-row:span 2;min-height:640px}
    body.module-volcanes .vol-chart-stage .chart-card::before{content:"";position:absolute;left:16px;top:16px;width:7px;height:7px;border-radius:50%;background:var(--vo-blue);box-shadow:0 0 17px rgba(93,130,255,.48)}
    body.module-volcanes .vol-chart-stage .chart-card::after{content:"";position:absolute;left:16px;right:16px;top:50px;height:1px;background:linear-gradient(90deg,rgba(110,143,255,.14),rgba(110,143,255,.035),transparent)}
    body.module-volcanes .vol-chart-stage .chart-card .card-title,body.module-volcanes .vol-chart-stage .chart-card .card-subtitle{padding-left:17px}
    body.module-volcanes .card-title{color:#eef1ff;font-size:16px;font-weight:600;letter-spacing:-.30px}
    body.module-volcanes .card-subtitle{color:#727d92;font-family:var(--vo-mono);font-size:9.5px;margin-top:4px;margin-bottom:10px}
    body.module-volcanes .vol-chart-stage .canvas-wrap{height:248px}
    body.module-volcanes .vol-chart-stage .chart-card.prime .canvas-wrap{height:568px}

    body.module-volcanes .vol-lower-stage{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(290px,.6fr);gap:12px;align-items:start}
    body.module-volcanes .vol-rank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
    body.module-volcanes .rank-card,body.module-volcanes .insight-card{border:1px solid rgba(110,143,255,.075);border-left:1px solid rgba(110,143,255,.075);border-radius:15px;background:linear-gradient(145deg,#171d27,#11151d);box-shadow:0 12px 30px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.018);padding:15px;position:relative;overflow:hidden}
    body.module-volcanes .rank-card::before,body.module-volcanes .insight-card::before{content:"";position:absolute;left:0;top:18px;width:2px;height:44px;background:linear-gradient(180deg,var(--vo-blue),rgba(93,130,255,0));opacity:.72}
    body.module-volcanes .rank-list{gap:2px}
    body.module-volcanes .rank-row{padding:9px 0;border-bottom:1px solid rgba(110,143,255,.065);grid-template-columns:25px minmax(0,1fr) auto}
    body.module-volcanes .rank-num{width:23px;height:23px;background:linear-gradient(145deg,rgba(93,130,255,.20),rgba(159,146,255,.055));color:#b9caff;border:1px solid rgba(110,143,255,.13);font-family:var(--vo-mono);font-size:9px}
    body.module-volcanes .rank-label{color:#dce1ef;font-size:11px;font-weight:560}
    body.module-volcanes .rank-detail{color:#737d91;font-family:var(--vo-mono);font-size:8.5px}
    body.module-volcanes .rank-value{color:#8eabff;font-size:11px;font-weight:650}
    body.module-volcanes .insight-list li{color:#aeb7ca;border-bottom:1px solid rgba(110,143,255,.065);font-size:10.5px;padding-top:8px;padding-bottom:8px}
    body.module-volcanes .insight-list li:before{background:var(--vo-blue);border-radius:50%;box-shadow:0 0 10px rgba(93,130,255,.34)}
    body.module-volcanes .footer-note{border-top:1px solid rgba(110,143,255,.07);color:#5e687b;font-family:var(--vo-mono);font-size:8.5px}
    body.module-volcanes .coverage,body.module-volcanes .coverage strong{color:#758095}
    body.module-volcanes .loading{color:#7e899e;font-family:var(--vo-mono)}
    body.module-volcanes .spinner{border-color:#202838;border-top-color:var(--vo-blue);box-shadow:0 0 16px rgba(93,130,255,.17)}
    body.module-volcanes .no-data{background:#121720;border:1px solid rgba(110,143,255,.10);color:var(--vo-ink);box-shadow:none;border-radius:16px}
    body.module-volcanes .no-data h3{color:#f2f5ff} body.module-volcanes .no-data p{color:#7f899d}

    @keyframes volGlow{0%,100%{opacity:.65;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}
    @keyframes volScan{0%{left:-20%;opacity:0}10%{opacity:.55}70%{opacity:.25}100%{left:105%;opacity:0}}
    @keyframes volBars{0%{transform:scaleY(.72);filter:brightness(.9)}100%{transform:scaleY(1.05);filter:brightness(1.12)}}
    @keyframes volRise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

    @media(max-width:1180px){
      body.module-volcanes .vol-kpi-stage{grid-template-columns:repeat(2,minmax(0,1fr))}
      body.module-volcanes .vol-kpi.feature{grid-column:span 2}
      body.module-volcanes .vol-chart-stage{grid-template-columns:1fr}
      body.module-volcanes .vol-chart-stage .chart-card.prime{grid-row:auto;min-height:360px}
      body.module-volcanes .vol-chart-stage .chart-card.prime .canvas-wrap{height:286px}
      body.module-volcanes .vol-lower-stage{grid-template-columns:1fr}
    }
    @media(max-width:850px){
      body.module-volcanes .header,body.module-volcanes .report-surface{border-radius:16px}
      body.module-volcanes .vol-hero{grid-template-columns:1fr;border-radius:15px}
      body.module-volcanes .vol-kpi-stage,body.module-volcanes .vol-rank-grid{grid-template-columns:1fr}
      body.module-volcanes .vol-kpi.feature{grid-column:auto}
      body.module-volcanes .vol-kpi,body.module-volcanes .vol-chart-stage .chart-card,body.module-volcanes .rank-card,body.module-volcanes .insight-card{border-radius:13px}
    }


    /* =========================================================
       DERRUMBES · TERRAIN LIME / EDITORIAL ANALYTICS UI
       SOLO este módulo cambia de identidad y composición visual.
       Referencia: superficies blanco-humo, grafito editorial,
       verde lima de alta visibilidad y geometría orgánica.
       Fuente primaria: Manrope / secundaria técnica: IBM Plex Mono.
       ========================================================= */
    body.module-derrumbes{
      --ls-bg:#e9ebe9;
      --ls-bg-2:#f3f4f2;
      --ls-paper:#f8f9f7;
      --ls-paper-2:#eff1ee;
      --ls-ink:#171a18;
      --ls-ink-2:#323735;
      --ls-muted:#808781;
      --ls-muted-2:#a0a6a1;
      --ls-line:rgba(23,26,24,.085);
      --ls-line-strong:rgba(23,26,24,.15);
      --ls-lime:#c8ff3d;
      --ls-lime-2:#aef11f;
      --ls-lime-3:#e2ff86;
      --ls-olive:#738637;
      --ls-stone:#b9beb8;
      --ls-warm:#cdbf9b;
      --ls-mono:'IBM Plex Mono','SFMono-Regular',Consolas,monospace;
      background:
        radial-gradient(circle at 88% 6%,rgba(200,255,61,.16),transparent 23%),
        radial-gradient(circle at 7% 94%,rgba(154,172,139,.13),transparent 25%),
        linear-gradient(180deg,#eef0ed 0%,#e5e8e4 52%,#e0e3df 100%);
      color:var(--ls-ink);
    }
    body.module-derrumbes .app{padding:15px 18px 30px}
    body.module-derrumbes .shell{max-width:1580px}
    body.module-derrumbes .simoc-title,body.module-derrumbes .report-title,body.module-derrumbes .module-name,
    body.module-derrumbes .ls-hero-title,body.module-derrumbes .ls-hero-value,body.module-derrumbes .kpi-value,
    body.module-derrumbes .card-title,body.module-derrumbes .rank-label,body.module-derrumbes .rank-value{
      font-family:'Manrope','Space Grotesk','Inter',sans-serif;
    }
    body.module-derrumbes .subtitle,body.module-derrumbes .field,body.module-derrumbes .module-meta,
    body.module-derrumbes .ls-kicker,body.module-derrumbes .ls-hero-detail,body.module-derrumbes .kpi-label,
    body.module-derrumbes .kpi-detail,body.module-derrumbes .card-subtitle,body.module-derrumbes .rank-detail,
    body.module-derrumbes .insight-list,body.module-derrumbes .footer-note,body.module-derrumbes .tab{
      font-family:'Inter','Segoe UI',Arial,sans-serif;
    }

    body.module-derrumbes .header{
      border:1px solid rgba(23,26,24,.075);border-radius:23px;padding:16px 17px;
      background:
        radial-gradient(circle at 78% -28%,rgba(200,255,61,.22),transparent 34%),
        linear-gradient(112deg,rgba(250,251,249,.98) 0%,rgba(239,241,238,.98) 58%,rgba(246,248,241,.98) 100%);
      box-shadow:0 22px 54px rgba(48,56,50,.075),inset 0 1px 0 rgba(255,255,255,.92);
      overflow:hidden;isolation:isolate;
    }
    body.module-derrumbes .header::before{
      height:1px;background:linear-gradient(90deg,transparent 0%,rgba(23,26,24,.23) 14%,rgba(200,255,61,.94) 48%,rgba(23,26,24,.12) 82%,transparent 100%);
    }
    body.module-derrumbes .header::after{
      content:"";position:absolute;right:-88px;top:-136px;width:390px;height:245px;border-radius:48% 52% 60% 40% / 46% 42% 58% 54%;
      background:radial-gradient(circle at 42% 46%,rgba(200,255,61,.31),rgba(200,255,61,.06) 46%,transparent 69%);
      pointer-events:none;z-index:-1;animation:lsBlob 9s ease-in-out infinite alternate;
    }
    body.module-derrumbes .brand{gap:13px}
    body.module-derrumbes .brand-icon{
      width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,#202421,#121513);
      border:1px solid rgba(23,26,24,.14);box-shadow:0 10px 24px rgba(36,42,37,.10),inset 0 1px 0 rgba(255,255,255,.08);filter:none;
    }
    body.module-derrumbes .simoc-title{color:#171a18;font-size:22px;font-weight:760;letter-spacing:-.62px}
    body.module-derrumbes .report-title{color:#383d3a;font-size:18px;font-weight:650;letter-spacing:-.48px}
    body.module-derrumbes .brand-divider{height:35px;background:rgba(23,26,24,.11)}
    body.module-derrumbes .subtitle{color:#858b86;font-size:10px;line-height:1.42}

    body.module-derrumbes .global-filter{
      gap:7px;padding:8px;border:1px solid rgba(23,26,24,.075);border-radius:15px;
      background:rgba(255,255,255,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 9px 24px rgba(52,60,54,.045);backdrop-filter:blur(8px);
    }
    body.module-derrumbes .field label{margin-bottom:4px;color:#7e857f;font-family:var(--ls-mono);font-size:9px;font-weight:600;letter-spacing:.76px}
    body.module-derrumbes .field select,body.module-derrumbes .field input{
      height:36px;border:1px solid rgba(23,26,24,.09);border-radius:11px;background:#f8f9f7;color:#2a2e2b;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.96);font-family:var(--ls-mono);font-size:10.5px;color-scheme:light;
    }
    body.module-derrumbes .field select:hover,body.module-derrumbes .field input:hover{border-color:rgba(121,144,48,.30);background:#fff}
    body.module-derrumbes .field select:focus,body.module-derrumbes .field input:focus{border-color:#9bc51d;box-shadow:0 0 0 3px rgba(200,255,61,.22)}
    body.module-derrumbes .btn{
      height:36px;border:1px solid rgba(148,187,33,.60);border-radius:12px;
      background:linear-gradient(180deg,#d8ff65 0%,#c5ff32 52%,#a9ec19 100%);color:#151814;font-size:12px;font-weight:800;
      box-shadow:0 10px 22px rgba(147,190,27,.14),inset 0 1px 0 rgba(255,255,255,.55);transition:transform .17s ease,filter .17s ease,box-shadow .17s ease;
    }
    body.module-derrumbes .btn:hover{filter:brightness(1.025);transform:translateY(-2px);box-shadow:0 14px 28px rgba(147,190,27,.20),0 0 0 4px rgba(200,255,61,.08),inset 0 1px 0 rgba(255,255,255,.65)}

    body.module-derrumbes .report-surface{
      position:relative;margin-top:13px;padding:11px;min-height:720px;border:1px solid rgba(23,26,24,.07);border-radius:24px;
      background:
        radial-gradient(circle at 89% 2%,rgba(200,255,61,.10),transparent 22%),
        linear-gradient(180deg,#f1f3f0 0%,#e9ece8 100%);
      box-shadow:0 24px 60px rgba(44,53,46,.065),inset 0 1px 0 rgba(255,255,255,.80);overflow:hidden;isolation:isolate;
    }
    body.module-derrumbes .report-surface::before{
      content:"";position:absolute;inset:-80px -40px auto auto;width:650px;height:430px;pointer-events:none;z-index:0;opacity:.34;
      background:
        repeating-radial-gradient(ellipse at 62% 44%,transparent 0 13px,rgba(99,110,102,.075) 14px 15px,transparent 16px 29px);
      transform:rotate(-11deg);mask-image:linear-gradient(135deg,#000 10%,transparent 78%);animation:lsContours 18s ease-in-out infinite alternate;
    }
    body.module-derrumbes .report-surface::after{
      content:"";position:absolute;left:-22%;top:165px;width:36%;height:2px;z-index:0;pointer-events:none;
      background:linear-gradient(90deg,transparent,var(--ls-lime),transparent);box-shadow:0 0 18px rgba(174,241,31,.30);animation:lsScan 8.5s linear infinite;
    }
    body.module-derrumbes .report-surface>*{position:relative;z-index:1}

    body.module-derrumbes .tabs-wrap{border:1px solid rgba(23,26,24,.07);border-radius:15px;padding:5px;background:rgba(251,252,250,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.94)}
    body.module-derrumbes .tabs{gap:4px}
    body.module-derrumbes .tab{padding:9px 11px;border-radius:11px;color:#878d88;font-size:10px;font-weight:600;letter-spacing:-.08px;transition:transform .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease}
    body.module-derrumbes .tab::after{display:none}
    body.module-derrumbes .tab:hover{color:#242824;background:#fff;transform:translateY(-1px)}
    body.module-derrumbes .tab.active{color:#171a18;background:#202421;box-shadow:0 7px 18px rgba(28,33,29,.12),inset 0 1px 0 rgba(255,255,255,.08);font-weight:700}

    body.module-derrumbes .module-bar{
      margin-top:9px;padding:10px 12px;border:1px solid rgba(23,26,24,.07);border-left:0;border-radius:16px;
      background:radial-gradient(circle at 91% 0%,rgba(200,255,61,.14),transparent 24%),linear-gradient(145deg,#fafbf9,#ecefec);box-shadow:inset 0 1px 0 rgba(255,255,255,.90);
    }
    body.module-derrumbes .module-heading{gap:10px}
    body.module-derrumbes .module-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#d9ff68,#b9f52b);border:1px solid rgba(146,185,34,.22);font-size:17px;filter:none;box-shadow:0 8px 18px rgba(148,191,31,.11)}
    body.module-derrumbes .module-name{color:#202421;font-size:18px;font-weight:700;letter-spacing:-.48px}
    body.module-derrumbes .module-meta{color:#818882;font-family:var(--ls-mono);font-size:9px;margin-top:2px}
    body.module-derrumbes .module-filters .field input,body.module-derrumbes .module-filters .field select{height:34px;font-size:10px}
    body.module-derrumbes .module-filters .field label{font-size:8px;color:#838a84}
    body.module-derrumbes .clear-btn{height:34px;border:1px solid rgba(23,26,24,.10);border-radius:11px;background:#f8f9f7;color:#69706a;padding:0 12px;font-size:10px;font-weight:650}
    body.module-derrumbes .clear-btn:hover{color:#171a18;border-color:rgba(143,181,30,.30);background:#fff;box-shadow:0 0 0 3px rgba(200,255,61,.10)}
    body.module-derrumbes .content{margin-top:10px}

    body.module-derrumbes .ls-dashboard{display:flex;flex-direction:column;gap:12px}
    body.module-derrumbes .ls-hero{
      position:relative;min-height:168px;padding:20px 22px;border:1px solid rgba(23,26,24,.075);border-radius:22px;
      background:linear-gradient(120deg,#f9faf8 0%,#eff1ee 54%,#e7ebe4 100%);box-shadow:0 14px 34px rgba(51,60,53,.065),inset 0 1px 0 rgba(255,255,255,.92);
      display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:24px;align-items:center;overflow:hidden;
    }
    body.module-derrumbes .ls-hero::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#1d211e 0%,var(--ls-lime) 52%,#98c81e 100%)}
    body.module-derrumbes .ls-hero::after{content:"";position:absolute;left:22px;right:22px;bottom:0;height:1px;background:linear-gradient(90deg,rgba(23,26,24,.16),transparent 32%,var(--ls-lime) 66%,transparent 100%)}
    body.module-derrumbes .ls-kicker{color:#888f89;font-family:var(--ls-mono);font-size:8.5px;letter-spacing:1.22px;text-transform:uppercase}
    body.module-derrumbes .ls-hero-title{color:#373c38;font-size:15px;font-weight:600;margin-top:7px;letter-spacing:-.32px}
    body.module-derrumbes .ls-hero-value{color:#171a18;font-size:34px;font-weight:760;letter-spacing:-1.2px;margin-top:4px}
    body.module-derrumbes .ls-hero-detail{color:#858c86;font-family:var(--ls-mono);font-size:9px;margin-top:6px;line-height:1.5;max-width:680px}
    body.module-derrumbes .ls-terrain{position:relative;height:126px;border-radius:18px;background:linear-gradient(145deg,#f3f5f1,#e8ebe6);border:1px solid rgba(23,26,24,.06);overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.86)}
    body.module-derrumbes .ls-terrain::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(118deg,transparent 0 12px,rgba(23,26,24,.04) 13px 14px,transparent 15px 27px);opacity:.50;mask-image:linear-gradient(90deg,transparent,#000 22%,#000 100%)}
    body.module-derrumbes .ls-terrain::after{content:"";position:absolute;left:12%;right:8%;bottom:18px;height:3px;background:linear-gradient(90deg,transparent,var(--ls-lime),#779226);filter:blur(.1px);transform:rotate(-8deg);box-shadow:0 0 12px rgba(175,235,38,.23)}
    body.module-derrumbes .ls-particle{position:absolute;display:block;border-radius:50%;background:radial-gradient(circle at 32% 27%,#e8ff9a 0%,#c9ff3f 27%,#9ed71d 65%,#6e8e24 100%);box-shadow:0 4px 12px rgba(88,113,30,.16),inset 0 1px 2px rgba(255,255,255,.55);animation:lsParticle 4.8s ease-in-out infinite alternate}

    body.module-derrumbes .ls-kpi-stage{display:grid;grid-template-columns:minmax(0,1.18fr) repeat(2,minmax(0,.91fr));grid-auto-rows:minmax(94px,auto);gap:12px}
    body.module-derrumbes .ls-kpi{
      position:relative;min-height:108px;padding:15px;border:1px solid rgba(23,26,24,.07);border-radius:19px;background:linear-gradient(145deg,#f8f9f7,#ecefec);
      box-shadow:0 12px 28px rgba(50,58,52,.055),inset 0 1px 0 rgba(255,255,255,.92);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;animation:lsRise .46s ease both;
    }
    body.module-derrumbes .ls-kpi:hover{transform:translateY(-4px);border-color:rgba(145,183,31,.22);box-shadow:0 18px 34px rgba(50,58,52,.085),0 0 0 4px rgba(200,255,61,.055)}
    body.module-derrumbes .ls-kpi.feature{grid-row:span 2;min-height:220px;background:radial-gradient(circle at 77% 29%,rgba(200,255,61,.46),transparent 22%),linear-gradient(145deg,#f7f9f5,#e9ede6)}
    body.module-derrumbes .ls-kpi.feature::before{content:"";position:absolute;right:22px;top:22px;width:86px;height:86px;border-radius:48% 52% 58% 42% / 46% 42% 58% 54%;background:linear-gradient(145deg,#ddff78,#adf11e);box-shadow:0 0 0 13px rgba(200,255,61,.10),0 0 0 26px rgba(200,255,61,.055);animation:lsBlob 7s ease-in-out infinite alternate}
    body.module-derrumbes .ls-kpi::after{content:"";position:absolute;right:-30px;bottom:-42px;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle,rgba(200,255,61,.18),transparent 68%)}
    body.module-derrumbes .ls-kpi .kpi-label{color:#888f89;font-family:var(--ls-mono);font-size:9px;font-weight:600;letter-spacing:.90px;text-transform:uppercase}
    body.module-derrumbes .ls-kpi .kpi-value{margin-top:10px;color:#202421;font-size:29px;font-weight:720;letter-spacing:-1.05px;position:relative;z-index:1}
    body.module-derrumbes .ls-kpi.feature .kpi-value{margin-top:22px;font-size:44px;color:#171a18;letter-spacing:-2px;max-width:75%}
    body.module-derrumbes .ls-kpi .kpi-detail{max-width:82%;margin-top:8px;color:#858c86;font-family:var(--ls-mono);font-size:9.5px;line-height:1.45;position:relative;z-index:1}
    body.module-derrumbes .ls-kpi:nth-child(3n+2) .kpi-value{color:#6b7e34} body.module-derrumbes .ls-kpi:nth-child(3n+3) .kpi-value{color:#323735}

    body.module-derrumbes .ls-chart-stage{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;align-items:stretch}
    body.module-derrumbes .ls-chart-stage .chart-card{
      grid-column:span 5;min-height:318px;padding:16px;border:1px solid rgba(23,26,24,.07);border-radius:20px;background:linear-gradient(180deg,#f9faf8 0%,#eef0ed 100%);
      box-shadow:0 13px 30px rgba(50,58,52,.06),inset 0 1px 0 rgba(255,255,255,.92);position:relative;overflow:hidden;animation:lsRise .5s ease both;
    }
    body.module-derrumbes .ls-chart-stage .chart-card.wide{grid-column:span 7}
    body.module-derrumbes .ls-chart-stage .chart-card:nth-child(3n){grid-column:span 12;min-height:300px}
    body.module-derrumbes .ls-chart-stage .chart-card::before{content:"";position:absolute;right:15px;top:15px;width:8px;height:8px;border-radius:50%;background:var(--ls-lime);box-shadow:0 0 0 5px rgba(200,255,61,.14)}
    body.module-derrumbes .ls-chart-stage .chart-card::after{content:"";position:absolute;left:16px;right:16px;top:51px;height:1px;background:linear-gradient(90deg,rgba(23,26,24,.10),transparent 62%,rgba(200,255,61,.50))}
    body.module-derrumbes .card-title{color:#282d29;font-size:16px;font-weight:720;letter-spacing:-.34px}
    body.module-derrumbes .card-subtitle{color:#8a918b;font-family:var(--ls-mono);font-size:9px;margin-top:4px;margin-bottom:10px}
    body.module-derrumbes .ls-chart-stage .canvas-wrap{height:252px}

    body.module-derrumbes .ls-lower-stage{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:12px;align-items:start}
    body.module-derrumbes .ls-rank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
    body.module-derrumbes .rank-card,body.module-derrumbes .insight-card{
      border:1px solid rgba(23,26,24,.07);border-left:1px solid rgba(23,26,24,.07);border-radius:19px;background:linear-gradient(145deg,#f9faf8,#ecefec);
      box-shadow:0 12px 28px rgba(50,58,52,.055),inset 0 1px 0 rgba(255,255,255,.92);padding:15px;position:relative;overflow:hidden;
    }
    body.module-derrumbes .rank-card::before,body.module-derrumbes .insight-card::before{content:"";position:absolute;left:0;top:18px;width:3px;height:44px;background:linear-gradient(180deg,#202421,var(--ls-lime));opacity:.86}
    body.module-derrumbes .rank-list{gap:2px}
    body.module-derrumbes .rank-row{padding:9px 0;border-bottom:1px solid rgba(23,26,24,.065);grid-template-columns:25px minmax(0,1fr) auto}
    body.module-derrumbes .rank-num{width:23px;height:23px;background:linear-gradient(145deg,#dfff78,#b7f42b);color:#242824;border:1px solid rgba(136,172,28,.16);font-family:var(--ls-mono);font-size:9px}
    body.module-derrumbes .rank-label{color:#3a403b;font-size:11px;font-weight:650}
    body.module-derrumbes .rank-detail{color:#8b928c;font-family:var(--ls-mono);font-size:8.5px}
    body.module-derrumbes .rank-value{color:#65772f;font-size:11px;font-weight:750}
    body.module-derrumbes .insight-list li{color:#646b65;border-bottom:1px solid rgba(23,26,24,.065);font-size:10.5px;padding-top:8px;padding-bottom:8px}
    body.module-derrumbes .insight-list li:before{background:var(--ls-lime-2);border-radius:50%;box-shadow:0 0 0 3px rgba(200,255,61,.16)}
    body.module-derrumbes .footer-note{border-top:1px solid rgba(23,26,24,.07);color:#8b928c;font-family:var(--ls-mono);font-size:8.5px}
    body.module-derrumbes .coverage,body.module-derrumbes .coverage strong{color:#808781}
    body.module-derrumbes .loading{color:#7d857e;font-family:var(--ls-mono)}
    body.module-derrumbes .spinner{border-color:#d7dcd6;border-top-color:#9bd21b;box-shadow:0 0 0 4px rgba(200,255,61,.10)}
    body.module-derrumbes .no-data{background:#f8f9f7;border:1px solid rgba(23,26,24,.08);color:var(--ls-ink);box-shadow:none;border-radius:19px}
    body.module-derrumbes .no-data h3{color:#202421} body.module-derrumbes .no-data p{color:#858c86}
    body.module-derrumbes .error{border-left:3px solid #8eaa31}

    @keyframes lsScan{0%{left:-22%;opacity:0}12%{opacity:.7}52%{opacity:.34}100%{left:112%;opacity:0}}
    @keyframes lsContours{0%{transform:rotate(-11deg) translate3d(0,0,0)}100%{transform:rotate(-7deg) translate3d(-20px,12px,0)}}
    @keyframes lsBlob{0%{transform:rotate(-3deg) scale(1);border-radius:48% 52% 60% 40% / 46% 42% 58% 54%}100%{transform:rotate(6deg) scale(1.06);border-radius:58% 42% 47% 53% / 40% 57% 43% 60%}}
    @keyframes lsRise{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
    @keyframes lsParticle{0%{transform:translate3d(0,0,0) scale(.96)}100%{transform:translate3d(5px,-7px,0) scale(1.06)}}

    @media(max-width:1180px){
      body.module-derrumbes .ls-hero{grid-template-columns:minmax(0,1fr) 320px}
      body.module-derrumbes .ls-kpi-stage{grid-template-columns:repeat(2,minmax(0,1fr))}
      body.module-derrumbes .ls-kpi.feature{grid-column:span 2;grid-row:auto;min-height:170px}
      body.module-derrumbes .ls-chart-stage .chart-card,body.module-derrumbes .ls-chart-stage .chart-card.wide{grid-column:span 6}
      body.module-derrumbes .ls-chart-stage .chart-card:nth-child(3n){grid-column:span 12}
      body.module-derrumbes .ls-lower-stage{grid-template-columns:1fr}
    }
    @media(max-width:850px){
      body.module-derrumbes .header,body.module-derrumbes .report-surface{border-radius:17px}
      body.module-derrumbes .ls-hero{grid-template-columns:1fr;border-radius:16px}
      body.module-derrumbes .ls-terrain{height:112px}
      body.module-derrumbes .ls-kpi-stage,body.module-derrumbes .ls-rank-grid{grid-template-columns:1fr}
      body.module-derrumbes .ls-kpi.feature{grid-column:auto}
      body.module-derrumbes .ls-chart-stage{grid-template-columns:1fr}
      body.module-derrumbes .ls-chart-stage .chart-card,body.module-derrumbes .ls-chart-stage .chart-card.wide,body.module-derrumbes .ls-chart-stage .chart-card:nth-child(3n){grid-column:auto}
      body.module-derrumbes .ls-kpi,body.module-derrumbes .ls-chart-stage .chart-card,body.module-derrumbes .rank-card,body.module-derrumbes .insight-card{border-radius:14px}
    }
/* =========================================================
   SIMOC · MOBILE EXPERIENCE 2.1
   Exclusivo para teléfonos / pantallas táctiles pequeñas.
   No altera la composición de escritorio.
   ========================================================= */
@media (max-width: 768px) {
  html, body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  body {
    min-width: 0;
  }

  .app,
  body.summary-active .app,
  body.module-clima .app,
  body.module-viento .app,
  body.module-incendios .app,
  body.module-sismos .app,
  body.module-rayos .app,
  body.module-hidro .app,
  body.module-solar .app,
  body.module-aire .app,
  body.module-volcanes .app,
  body.module-derrumbes .app {
    width: 100%;
    padding: 8px 8px calc(22px + env(safe-area-inset-bottom));
  }

  .shell,
  body.summary-active .shell,
  body.module-clima .shell,
  body.module-viento .shell,
  body.module-incendios .shell,
  body.module-sismos .shell,
  body.module-rayos .shell,
  body.module-hidro .shell,
  body.module-solar .shell,
  body.module-aire .shell,
  body.module-volcanes .shell,
  body.module-derrumbes .shell {
    width: 100%;
    max-width: none;
  }

  /* Encabezado más compacto y legible */
  .header,
  body.summary-active .header,
  body.module-clima .header,
  body.module-viento .header,
  body.module-incendios .header,
  body.module-sismos .header,
  body.module-rayos .header,
  body.module-hidro .header,
  body.module-solar .header,
  body.module-aire .header,
  body.module-volcanes .header,
  body.module-derrumbes .header {
    display: block;
    padding: 12px;
    border-radius: 14px;
  }

  .brand {
    width: 100%;
    align-items: flex-start;
    gap: 10px;
  }

  .brand-icon,
  body.summary-active .brand-icon,
  body.module-clima .brand-icon,
  body.module-viento .brand-icon,
  body.module-incendios .brand-icon,
  body.module-sismos .brand-icon,
  body.module-rayos .brand-icon,
  body.module-hidro .brand-icon,
  body.module-solar .brand-icon,
  body.module-aire .brand-icon,
  body.module-volcanes .brand-icon,
  body.module-derrumbes .brand-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 12px;
    font-size: 20px;
  }

  .brand-main,
  .brand-row,
  .brand-row > div {
    min-width: 0;
    width: 100%;
  }

  .brand-row {
    display: block;
  }

  .brand-divider {
    display: none !important;
  }

  .simoc-title,
  body.summary-active .simoc-title,
  body.module-clima .simoc-title,
  body.module-viento .simoc-title,
  body.module-incendios .simoc-title,
  body.module-sismos .simoc-title,
  body.module-rayos .simoc-title,
  body.module-hidro .simoc-title,
  body.module-solar .simoc-title,
  body.module-aire .simoc-title,
  body.module-volcanes .simoc-title,
  body.module-derrumbes .simoc-title {
    font-size: 20px;
    line-height: 1.05;
  }

  .report-title,
  body.summary-active .report-title,
  body.module-clima .report-title,
  body.module-viento .report-title,
  body.module-incendios .report-title,
  body.module-sismos .report-title,
  body.module-rayos .report-title,
  body.module-hidro .report-title,
  body.module-solar .report-title,
  body.module-aire .report-title,
  body.module-volcanes .report-title,
  body.module-derrumbes .report-title {
    width: 100%;
    margin-top: 8px;
    font-size: 15px;
    line-height: 1.2;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }

  .subtitle,
  body.summary-active .subtitle,
  body.module-clima .subtitle,
  body.module-viento .subtitle,
  body.module-incendios .subtitle,
  body.module-sismos .subtitle,
  body.module-rayos .subtitle,
  body.module-hidro .subtitle,
  body.module-solar .subtitle,
  body.module-aire .subtitle,
  body.module-volcanes .subtitle,
  body.module-derrumbes .subtitle {
    font-size: 9.5px;
    line-height: 1.35;
  }

  /* Filtro global: periodo arriba, fechas lado a lado, botón completo */
  .global-filter,
  body.summary-active .global-filter,
  body.module-clima .global-filter,
  body.module-viento .global-filter,
  body.module-incendios .global-filter,
  body.module-sismos .global-filter,
  body.module-rayos .global-filter,
  body.module-hidro .global-filter,
  body.module-solar .global-filter,
  body.module-aire .global-filter,
  body.module-volcanes .global-filter,
  body.module-derrumbes .global-filter {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
    padding: 9px;
    border-radius: 12px;
  }

  .global-filter .field:first-child {
    grid-column: 1 / -1;
  }

  .global-filter .btn {
    grid-column: 1 / -1;
    width: 100%;
  }

  .field label,
  body.summary-active .field label,
  body.module-clima .field label,
  body.module-viento .field label,
  body.module-incendios .field label,
  body.module-sismos .field label,
  body.module-rayos .field label,
  body.module-hidro .field label,
  body.module-solar .field label,
  body.module-aire .field label,
  body.module-volcanes .field label,
  body.module-derrumbes .field label {
    font-size: 9px;
  }

  .field select,
  .field input,
  .btn,
  .clear-btn,
  body.summary-active .field select,
  body.summary-active .field input,
  body.summary-active .btn,
  body.module-clima .field select,
  body.module-clima .field input,
  body.module-clima .btn,
  body.module-viento .field select,
  body.module-viento .field input,
  body.module-viento .btn,
  body.module-incendios .field select,
  body.module-incendios .field input,
  body.module-incendios .btn,
  body.module-sismos .field select,
  body.module-sismos .field input,
  body.module-sismos .btn,
  body.module-rayos .field select,
  body.module-rayos .field input,
  body.module-rayos .btn,
  body.module-hidro .field select,
  body.module-hidro .field input,
  body.module-hidro .btn,
  body.module-solar .field select,
  body.module-solar .field input,
  body.module-solar .btn,
  body.module-aire .field select,
  body.module-aire .field input,
  body.module-aire .btn,
  body.module-volcanes .field select,
  body.module-volcanes .field input,
  body.module-volcanes .btn,
  body.module-derrumbes .field select,
  body.module-derrumbes .field input,
  body.module-derrumbes .btn {
    min-height: 44px;
    height: 44px;
    font-size: 13px;
    touch-action: manipulation;
  }

  /* Superficie principal */
  .report-surface,
  body.summary-active .report-surface,
  body.module-clima .report-surface,
  body.module-viento .report-surface,
  body.module-incendios .report-surface,
  body.module-sismos .report-surface,
  body.module-rayos .report-surface,
  body.module-hidro .report-surface,
  body.module-solar .report-surface,
  body.module-aire .report-surface,
  body.module-volcanes .report-surface,
  body.module-derrumbes .report-surface {
    width: 100%;
    min-height: 0;
    margin-top: 9px;
    padding: 7px;
    border-radius: 14px;
    overflow: hidden;
  }

  /* Navegación táctil de módulos */
  .tabs-wrap,
  body.summary-active .tabs-wrap,
  body.module-clima .tabs-wrap,
  body.module-viento .tabs-wrap,
  body.module-incendios .tabs-wrap,
  body.module-sismos .tabs-wrap,
  body.module-rayos .tabs-wrap,
  body.module-hidro .tabs-wrap,
  body.module-solar .tabs-wrap,
  body.module-aire .tabs-wrap,
  body.module-volcanes .tabs-wrap,
  body.module-derrumbes .tabs-wrap {
    position: sticky;
    top: max(4px, env(safe-area-inset-top));
    z-index: 30;
    padding: 5px;
    border-radius: 12px;
    overflow: hidden;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  .tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 1px 2px 4px;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 8px;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }

  .tabs::-webkit-scrollbar {
    display: none;
  }

  .tab,
  body.summary-active .tab,
  body.module-clima .tab,
  body.module-viento .tab,
  body.module-incendios .tab,
  body.module-sismos .tab,
  body.module-rayos .tab,
  body.module-hidro .tab,
  body.module-solar .tab,
  body.module-aire .tab,
  body.module-volcanes .tab,
  body.module-derrumbes .tab {
    flex: 0 0 auto;
    min-height: 42px;
    padding: 9px 12px;
    border-radius: 10px;
    font-size: 11px;
    scroll-snap-align: center;
    touch-action: manipulation;
  }

  /* Barra del módulo + filtros */
  .module-bar,
  body.summary-active .module-bar,
  body.module-clima .module-bar,
  body.module-viento .module-bar,
  body.module-incendios .module-bar,
  body.module-sismos .module-bar,
  body.module-rayos .module-bar,
  body.module-hidro .module-bar,
  body.module-solar .module-bar,
  body.module-aire .module-bar,
  body.module-volcanes .module-bar,
  body.module-derrumbes .module-bar {
    display: block;
    margin-top: 7px;
    padding: 10px;
    border-radius: 12px;
  }

  .module-heading {
    min-width: 0;
    width: 100%;
  }

  .module-icon,
  body.summary-active .module-icon,
  body.module-clima .module-icon,
  body.module-viento .module-icon,
  body.module-incendios .module-icon,
  body.module-sismos .module-icon,
  body.module-rayos .module-icon,
  body.module-hidro .module-icon,
  body.module-solar .module-icon,
  body.module-aire .module-icon,
  body.module-volcanes .module-icon,
  body.module-derrumbes .module-icon {
    width: 34px;
    height: 34px;
    min-width: 34px;
  }

  .module-name,
  body.summary-active .module-name,
  body.module-clima .module-name,
  body.module-viento .module-name,
  body.module-incendios .module-name,
  body.module-sismos .module-name,
  body.module-rayos .module-name,
  body.module-hidro .module-name,
  body.module-solar .module-name,
  body.module-aire .module-name,
  body.module-volcanes .module-name,
  body.module-derrumbes .module-name {
    font-size: 16px;
  }

  .module-meta,
  body.summary-active .module-meta,
  body.module-clima .module-meta,
  body.module-viento .module-meta,
  body.module-incendios .module-meta,
  body.module-sismos .module-meta,
  body.module-rayos .module-meta,
  body.module-hidro .module-meta,
  body.module-solar .module-meta,
  body.module-aire .module-meta,
  body.module-volcanes .module-meta,
  body.module-derrumbes .module-meta {
    font-size: 9px;
    line-height: 1.35;
  }

  .module-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    margin-top: 10px;
  }

  .module-filters .field,
  .module-filters .field.wide {
    width: 100%;
    min-width: 0;
    max-width: none;
  }

  .module-filters .clear-btn {
    width: 100%;
    min-height: 42px;
    height: 42px;
  }

  /* Resumen */
  .headline-card,
  body.summary-active .headline-card,
  body.module-clima .headline-card,
  body.module-viento .headline-card,
  body.module-incendios .headline-card,
  body.module-sismos .headline-card,
  body.module-rayos .headline-card,
  body.module-hidro .headline-card,
  body.module-solar .headline-card {
    min-height: 0;
    padding: 13px;
    border-radius: 12px;
    gap: 9px;
  }

  .headline-value,
  body.summary-active .headline-value,
  body.module-clima .headline-value,
  body.module-viento .headline-value,
  body.module-incendios .headline-value,
  body.module-sismos .headline-value,
  body.module-rayos .headline-value,
  body.module-hidro .headline-value,
  body.module-solar .headline-value {
    font-size: 22px;
  }

  .summary-modules {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .summary-card,
  body.summary-active .summary-card {
    min-width: 0;
    min-height: 128px;
    padding: 11px 10px;
  }

  /* KPIs estándar: 2 columnas en móvil ancho */
  .kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 9px;
  }

  .kpi,
  body.module-clima .kpi,
  body.module-viento .kpi,
  body.module-incendios .kpi,
  body.module-sismos .kpi,
  body.module-rayos .kpi,
  body.module-hidro .kpi,
  body.module-solar .kpi {
    min-width: 0;
    min-height: 104px;
    padding: 12px;
    border-radius: 12px;
  }

  .kpi-label,
  body.module-clima .kpi-label,
  body.module-viento .kpi-label,
  body.module-incendios .kpi-label,
  body.module-sismos .kpi-label,
  body.module-rayos .kpi-label,
  body.module-hidro .kpi-label,
  body.module-solar .kpi-label {
    font-size: 8.5px;
    line-height: 1.25;
  }

  .kpi-value,
  body.module-clima .kpi-value,
  body.module-viento .kpi-value,
  body.module-incendios .kpi-value,
  body.module-sismos .kpi-value,
  body.module-rayos .kpi-value,
  body.module-hidro .kpi-value,
  body.module-solar .kpi-value {
    font-size: 22px;
    overflow-wrap: anywhere;
  }

  .kpi-detail,
  body.module-clima .kpi-detail,
  body.module-viento .kpi-detail,
  body.module-incendios .kpi-detail,
  body.module-sismos .kpi-detail,
  body.module-rayos .kpi-detail,
  body.module-hidro .kpi-detail,
  body.module-solar .kpi-detail {
    font-size: 9px;
    line-height: 1.35;
  }

  /* Gráficas: una por fila y altura pensada para teléfono */
  .chart-grid,
  .lower-grid,
  .rankings-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
  }

  .chart-card,
  body.module-clima .chart-card,
  body.module-viento .chart-card,
  body.module-incendios .chart-card,
  body.module-sismos .chart-card,
  body.module-rayos .chart-card,
  body.module-hidro .chart-card,
  body.module-solar .chart-card {
    width: 100%;
    min-width: 0;
    min-height: 286px;
    padding: 12px;
    border-radius: 12px;
  }

  .canvas-wrap,
  body.module-clima .canvas-wrap,
  body.module-viento .canvas-wrap,
  body.module-incendios .canvas-wrap,
  body.module-sismos .canvas-wrap,
  body.module-rayos .canvas-wrap,
  body.module-hidro .canvas-wrap,
  body.module-solar .canvas-wrap {
    width: 100%;
    height: 225px;
    min-width: 0;
  }

  .canvas-wrap canvas {
    max-width: 100% !important;
  }

  .card-title {
    font-size: 14px;
    line-height: 1.25;
  }

  .card-subtitle {
    font-size: 9px;
    line-height: 1.35;
  }

  .rank-card,
  .insight-card {
    min-width: 0;
    padding: 12px;
  }

  .rank-row {
    grid-template-columns: 24px minmax(0, 1fr) auto;
    gap: 7px;
  }

  .rank-label,
  .rank-value {
    font-size: 11px;
  }

  .rank-detail {
    font-size: 8.5px;
  }

  .rank-value {
    max-width: 104px;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .insight-list li {
    font-size: 10.5px;
    line-height: 1.45;
  }

  /* Calidad del aire */
  body.module-aire .air-kpi-stage {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  body.module-aire .air-kpi.feature {
    grid-column: 1 / -1;
    min-height: 138px;
  }

  body.module-aire .air-kpi {
    min-width: 0;
    min-height: 108px;
    padding: 12px;
    border-radius: 13px;
  }

  body.module-aire .air-kpi .kpi-value {
    font-size: 23px;
  }

  body.module-aire .air-kpi.feature .kpi-value {
    font-size: 34px;
  }

  body.module-aire .air-kpi .kpi-detail {
    max-width: 100%;
    font-size: 9px;
  }

  body.module-aire .air-chart-stage,
  body.module-aire .air-lower-stage,
  body.module-aire .air-rank-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
  }

  body.module-aire .air-chart-stage .chart-card {
    min-height: 292px;
    padding: 12px;
    border-radius: 13px;
  }

  body.module-aire .air-chart-stage .canvas-wrap {
    height: 225px;
  }

  /* Volcanes */
  body.module-volcanes .vol-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    min-height: 0;
    padding: 15px;
  }

  body.module-volcanes .vol-hero-value {
    font-size: 28px;
  }

  body.module-volcanes .vol-activity {
    min-height: 84px;
  }

  body.module-volcanes .vol-kpi-stage {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  body.module-volcanes .vol-kpi.feature {
    grid-column: 1 / -1;
    min-height: 140px;
  }

  body.module-volcanes .vol-kpi {
    min-width: 0;
    min-height: 105px;
    padding: 12px;
  }

  body.module-volcanes .vol-kpi .kpi-value {
    font-size: 23px;
  }

  body.module-volcanes .vol-kpi.feature .kpi-value {
    font-size: 33px;
  }

  body.module-volcanes .vol-chart-stage,
  body.module-volcanes .vol-lower-stage,
  body.module-volcanes .vol-rank-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
  }

  body.module-volcanes .vol-chart-stage .chart-card,
  body.module-volcanes .vol-chart-stage .chart-card.prime {
    grid-row: auto;
    min-height: 292px;
    padding: 12px;
  }

  body.module-volcanes .vol-chart-stage .canvas-wrap,
  body.module-volcanes .vol-chart-stage .chart-card.prime .canvas-wrap {
    height: 225px;
  }

  /* Derrumbes */
  body.module-derrumbes .ls-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    min-height: 0;
    padding: 15px;
  }

  body.module-derrumbes .ls-hero-value {
    font-size: 28px;
  }

  body.module-derrumbes .ls-terrain {
    height: 88px;
  }

  body.module-derrumbes .ls-kpi-stage {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  body.module-derrumbes .ls-kpi.feature {
    grid-column: 1 / -1;
    grid-row: auto;
    min-height: 146px;
  }

  body.module-derrumbes .ls-kpi {
    min-width: 0;
    min-height: 106px;
    padding: 12px;
  }

  body.module-derrumbes .ls-kpi .kpi-value {
    font-size: 23px;
  }

  body.module-derrumbes .ls-kpi.feature .kpi-value {
    margin-top: 15px;
    font-size: 33px;
    max-width: 80%;
  }

  body.module-derrumbes .ls-chart-stage {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
  }

  body.module-derrumbes .ls-chart-stage .chart-card,
  body.module-derrumbes .ls-chart-stage .chart-card.wide,
  body.module-derrumbes .ls-chart-stage .chart-card:nth-child(3n) {
    grid-column: auto;
    min-height: 292px;
    padding: 12px;
  }

  body.module-derrumbes .ls-chart-stage .canvas-wrap {
    height: 225px;
  }

  body.module-derrumbes .ls-lower-stage,
  body.module-derrumbes .ls-rank-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
  }

  /* Estados vacíos/carga */
  .loading {
    min-height: 300px;
  }

  .no-data {
    padding: 34px 15px;
    border-radius: 13px;
  }

  .no-data-icon {
    font-size: 34px;
  }

  .no-data h3 {
    font-size: 17px;
  }

  .no-data p {
    font-size: 11px;
  }

  .coverage {
    font-size: 9px;
  }

  .footer-note,
  body.summary-active .footer-note,
  body.module-clima .footer-note,
  body.module-viento .footer-note,
  body.module-incendios .footer-note,
  body.module-sismos .footer-note,
  body.module-rayos .footer-note,
  body.module-hidro .footer-note,
  body.module-solar .footer-note,
  body.module-aire .footer-note,
  body.module-volcanes .footer-note,
  body.module-derrumbes .footer-note {
    padding: 12px 6px 4px;
    font-size: 8px;
    line-height: 1.5;
  }

  /* Evita que animaciones pesadas resten fluidez en móvil */
  .summary-card:hover,
  .kpi:hover,
  .chart-card:hover,
  .air-kpi:hover,
  .vol-kpi:hover,
  .ls-kpi:hover {
    transform: none !important;
  }
}

/* Teléfonos pequeños */
@media (max-width: 480px) {
  .app,
  body.summary-active .app,
  body.module-clima .app,
  body.module-viento .app,
  body.module-incendios .app,
  body.module-sismos .app,
  body.module-rayos .app,
  body.module-hidro .app,
  body.module-solar .app,
  body.module-aire .app,
  body.module-volcanes .app,
  body.module-derrumbes .app {
    padding-left: 6px;
    padding-right: 6px;
  }

  .header,
  body.summary-active .header,
  body.module-clima .header,
  body.module-viento .header,
  body.module-incendios .header,
  body.module-sismos .header,
  body.module-rayos .header,
  body.module-hidro .header,
  body.module-solar .header,
  body.module-aire .header,
  body.module-volcanes .header,
  body.module-derrumbes .header {
    padding: 10px;
  }

  .global-filter,
  body.summary-active .global-filter,
  body.module-clima .global-filter,
  body.module-viento .global-filter,
  body.module-incendios .global-filter,
  body.module-sismos .global-filter,
  body.module-rayos .global-filter,
  body.module-hidro .global-filter,
  body.module-solar .global-filter,
  body.module-aire .global-filter,
  body.module-volcanes .global-filter,
  body.module-derrumbes .global-filter {
    gap: 6px;
    padding: 7px;
  }

  .report-surface,
  body.summary-active .report-surface,
  body.module-clima .report-surface,
  body.module-viento .report-surface,
  body.module-incendios .report-surface,
  body.module-sismos .report-surface,
  body.module-rayos .report-surface,
  body.module-hidro .report-surface,
  body.module-solar .report-surface,
  body.module-aire .report-surface,
  body.module-volcanes .report-surface,
  body.module-derrumbes .report-surface {
    padding: 5px;
  }

  .module-filters {
    grid-template-columns: minmax(0, 1fr);
  }

  .summary-modules,
  .kpi-grid,
  body.module-aire .air-kpi-stage,
  body.module-volcanes .vol-kpi-stage,
  body.module-derrumbes .ls-kpi-stage {
    grid-template-columns: minmax(0, 1fr);
  }

  body.module-aire .air-kpi.feature,
  body.module-volcanes .vol-kpi.feature,
  body.module-derrumbes .ls-kpi.feature {
    grid-column: auto;
  }

  .summary-card,
  .kpi,
  body.module-aire .air-kpi,
  body.module-volcanes .vol-kpi,
  body.module-derrumbes .ls-kpi {
    min-height: 98px;
  }

  .headline-card {
    align-items: flex-start;
  }

  .headline-value,
  .headline-detail {
    text-align: left;
  }

  .tab,
  body.summary-active .tab,
  body.module-clima .tab,
  body.module-viento .tab,
  body.module-incendios .tab,
  body.module-sismos .tab,
  body.module-rayos .tab,
  body.module-hidro .tab,
  body.module-solar .tab,
  body.module-aire .tab,
  body.module-volcanes .tab,
  body.module-derrumbes .tab {
    min-height: 40px;
    padding: 8px 10px;
    font-size: 10.5px;
  }

  .chart-card,
  body.module-aire .air-chart-stage .chart-card,
  body.module-volcanes .vol-chart-stage .chart-card,
  body.module-volcanes .vol-chart-stage .chart-card.prime,
  body.module-derrumbes .ls-chart-stage .chart-card {
    min-height: 268px;
  }

  .canvas-wrap,
  body.module-aire .air-chart-stage .canvas-wrap,
  body.module-volcanes .vol-chart-stage .canvas-wrap,
  body.module-volcanes .vol-chart-stage .chart-card.prime .canvas-wrap,
  body.module-derrumbes .ls-chart-stage .canvas-wrap {
    height: 205px;
  }
}

/* Respeta usuarios que piden reducir movimiento y mejora batería móvil */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
/* =========================================================
   SIMOC · ESTADO ACTUAL / REALTIME SUMMARY 2.2
   ========================================================= */
body.summary-active .simoc-live{
  margin-bottom:18px;
  padding:18px;
  border:1px solid rgba(8,18,33,.10);
  border-radius:18px;
  background:
    radial-gradient(circle at 0 0,rgba(215,255,56,.18),transparent 30%),
    linear-gradient(135deg,rgba(255,255,255,.94),rgba(244,248,247,.92));
  box-shadow:0 18px 42px rgba(20,38,42,.08);
  overflow:hidden;
}
body.summary-active .simoc-live-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:14px;
}
body.summary-active .simoc-live-eyebrow{
  display:flex;
  align-items:center;
  gap:8px;
  color:#526060;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
}
body.summary-active .live-pulse{
  width:9px;height:9px;border-radius:50%;
  background:#25b85a;
  box-shadow:0 0 0 0 rgba(37,184,90,.45);
  animation:simocLivePulse 2s infinite;
}
@keyframes simocLivePulse{
  0%{box-shadow:0 0 0 0 rgba(37,184,90,.42)}
  70%{box-shadow:0 0 0 8px rgba(37,184,90,0)}
  100%{box-shadow:0 0 0 0 rgba(37,184,90,0)}
}
body.summary-active .simoc-live-title{
  margin-top:4px;
  color:#0b1418;
  font-size:24px;
  font-weight:900;
  letter-spacing:-.035em;
}
body.summary-active .simoc-live-subtitle{
  max-width:760px;
  margin-top:4px;
  color:#687574;
  font-size:11px;
  line-height:1.45;
}
body.summary-active .simoc-live-generated{
  display:grid;
  justify-items:end;
  flex:0 0 auto;
  color:#63706f;
  text-align:right;
}
body.summary-active .simoc-live-generated strong{
  color:#10191d;
  font-size:20px;
  line-height:1;
}
body.summary-active .simoc-live-generated span{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
body.summary-active .simoc-live-generated small{margin-top:4px;font-size:9px}
body.summary-active .simoc-live-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
body.summary-active .simoc-live-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:188px;
  padding:13px;
  border:1px solid rgba(20,35,39,.10);
  border-radius:15px;
  background:rgba(255,255,255,.82);
  color:#10191d;
  text-align:left;
  font:inherit;
  cursor:pointer;
  appearance:none;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  overflow:hidden;
}
body.summary-active .simoc-live-card::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:3px;
  background:#a8b1b1;
}
body.summary-active .simoc-live-card:hover{
  transform:translateY(-2px);
  border-color:rgba(20,35,39,.18);
  box-shadow:0 12px 24px rgba(23,45,48,.10);
}
body.summary-active .simoc-live-card[aria-disabled="true"]{cursor:default;opacity:.62}
body.summary-active .simoc-live-card[aria-disabled="true"]:hover{transform:none;box-shadow:none}
body.summary-active .simoc-live-card.state-live::before{background:#25b85a}
body.summary-active .simoc-live-card.state-event::before{background:#7a66e8}
body.summary-active .simoc-live-card.state-state::before{background:#e59d19}
body.summary-active .simoc-live-card.state-stale::before{background:#e35d47}
body.summary-active .simoc-live-card.state-nodata::before,
body.summary-active .simoc-live-card.state-unknown::before{background:#a8b1b1}
body.summary-active .live-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
body.summary-active .live-icon{
  display:grid;place-items:center;
  width:34px;height:34px;min-width:34px;
  border-radius:10px;
  background:#f3f6f5;
  font-size:18px;
}
body.summary-active .live-badge{
  max-width:110px;
  padding:5px 7px;
  border-radius:999px;
  background:#eef2f1;
  color:#65706f;
  font-size:7.5px;
  font-weight:900;
  letter-spacing:.07em;
  line-height:1;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.summary-active .state-live .live-badge{background:rgba(37,184,90,.11);color:#168345}
body.summary-active .state-event .live-badge{background:rgba(122,102,232,.11);color:#5e4ac7}
body.summary-active .state-state .live-badge{background:rgba(229,157,25,.13);color:#9a6500}
body.summary-active .state-stale .live-badge{background:rgba(227,93,71,.12);color:#b43f2d}
body.summary-active .live-name{
  margin-top:11px;
  color:#63706f;
  font-size:8px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
body.summary-active .live-value{
  margin-top:5px;
  color:#081115;
  font-size:22px;
  font-weight:900;
  line-height:1.05;
  letter-spacing:-.035em;
  overflow-wrap:anywhere;
}
body.summary-active .live-detail{
  margin-top:7px;
  min-height:31px;
  color:#546260;
  font-size:9px;
  font-weight:650;
  line-height:1.4;
  overflow-wrap:anywhere;
}
body.summary-active .live-location{
  margin-top:5px;
  color:#83908f;
  font-size:8.5px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
body.summary-active .live-time{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:auto;
  padding-top:10px;
  color:#7a8786;
  font-size:8px;
  font-weight:700;
}
body.summary-active .live-time span{width:6px;height:6px;border-radius:50%;background:#a8b1b1;flex:0 0 auto}
body.summary-active .state-live .live-time span{background:#25b85a}
body.summary-active .state-event .live-time span{background:#7a66e8}
body.summary-active .state-state .live-time span{background:#e59d19}
body.summary-active .state-stale .live-time span{background:#e35d47}
body.summary-active .summary-history-label{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin:18px 2px 8px;
  color:#536160;
}
body.summary-active .summary-history-label span{font-size:9px;font-weight:900;letter-spacing:.13em}
body.summary-active .summary-history-label small{font-size:9px;color:#899493}

@media(max-width:1280px){
  body.summary-active .simoc-live-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:768px){
  body.summary-active .simoc-live{margin-bottom:12px;padding:12px;border-radius:14px}
  body.summary-active .simoc-live-head{align-items:flex-start;gap:10px;margin-bottom:11px}
  body.summary-active .simoc-live-title{font-size:20px}
  body.summary-active .simoc-live-subtitle{font-size:9.5px}
  body.summary-active .simoc-live-generated strong{font-size:17px}
  body.summary-active .simoc-live-generated span,
  body.summary-active .simoc-live-generated small{font-size:7.5px}
  body.summary-active .simoc-live-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  body.summary-active .simoc-live-card{min-height:172px;padding:11px;border-radius:12px;touch-action:manipulation}
  body.summary-active .simoc-live-card:hover{transform:none;box-shadow:none}
  body.summary-active .live-value{font-size:20px}
  body.summary-active .live-detail{font-size:8.5px}
  body.summary-active .summary-history-label{display:block;margin-top:14px}
  body.summary-active .summary-history-label small{display:block;margin-top:3px;line-height:1.35}
}
@media(max-width:420px){
  body.summary-active .simoc-live-head{display:block}
  body.summary-active .simoc-live-generated{display:flex;align-items:center;justify-content:flex-start;gap:6px;margin-top:8px;text-align:left}
  body.summary-active .simoc-live-generated small{margin:0 0 0 auto}
  body.summary-active .simoc-live-grid{grid-template-columns:1fr}
  body.summary-active .simoc-live-card{min-height:154px}
  body.summary-active .live-detail{min-height:0}
}


/* =========================================================
   SIMOC · REALTIME 2.2.1
   Integración visual con RESUMEN EJECUTIVO
   Las tarjetas de estado actual heredan el mismo lenguaje
   mineral + lima de las tarjetas históricas del resumen.
   ========================================================= */

body.summary-active .simoc-live{
  margin:0 0 8px;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  overflow:visible;
}

body.summary-active .simoc-live-head{
  min-height:60px;
  margin:0 0 8px;
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:1px solid rgba(22,26,25,.045);
  border-top:0;
  border-radius:13px;
  background:
    radial-gradient(circle at 0% 0%,rgba(235,255,114,.82),transparent 33%),
    linear-gradient(110deg,#edf2e8 0%,#e1e7e4 57%,#dce3e0 100%);
  box-shadow:var(--sum-shadow-soft),inset 0 1px 0 rgba(255,255,255,.52);
}

body.summary-active .simoc-live-eyebrow{
  display:flex;
  align-items:center;
  gap:7px;
  color:#707975;
  font-family:'Inter','Segoe UI',sans-serif;
  font-size:7.5px;
  line-height:1;
  font-weight:700;
  letter-spacing:1.2px;
}

body.summary-active .live-pulse{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#94ad19;
  box-shadow:0 0 0 2px rgba(235,255,114,.40);
  animation:simocLivePulseSoft 2.4s infinite;
}

@keyframes simocLivePulseSoft{
  0%,100%{box-shadow:0 0 0 2px rgba(235,255,114,.38)}
  50%{box-shadow:0 0 0 5px rgba(235,255,114,.08)}
}

body.summary-active .simoc-live-title{
  margin-top:3px;
  color:#242a27;
  font-family:'Manrope','Inter','Segoe UI',sans-serif;
  font-size:12px;
  line-height:1.2;
  font-weight:650;
  letter-spacing:-.16px;
}

body.summary-active .simoc-live-subtitle{
  max-width:760px;
  margin-top:3px;
  color:#77817d;
  font-family:'Inter','Segoe UI',sans-serif;
  font-size:8px;
  line-height:1.35;
}

body.summary-active .simoc-live-generated{
  display:grid;
  justify-items:end;
  flex:0 0 auto;
  color:#77817d;
  text-align:right;
  font-family:'Inter','Segoe UI',sans-serif;
}

body.summary-active .simoc-live-generated strong{
  color:#181d1b;
  font-family:'Manrope','Inter','Segoe UI',sans-serif;
  font-size:19px;
  line-height:1;
  font-weight:700;
  letter-spacing:-.45px;
}

body.summary-active .simoc-live-generated span{
  margin-bottom:2px;
  color:#707975;
  font-size:7.5px;
  font-weight:700;
  letter-spacing:1.05px;
}

body.summary-active .simoc-live-generated small{
  margin-top:4px;
  color:#89918e;
  font-size:7.5px;
}

/* La rejilla realtime usa exactamente el mismo ritmo visual del resumen */
body.summary-active .simoc-live-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
}

/* Tarjeta realtime = familia visual de .summary-card */
body.summary-active .simoc-live-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:137px;
  padding:12px 11px 10px;
  border:1px solid rgba(22,26,25,.045);
  border-radius:13px;
  background:
    radial-gradient(circle at 93% 0%,rgba(235,255,114,.14),transparent 38%),
    linear-gradient(145deg,#edf1ef 0%,#e4e9e7 100%);
  box-shadow:var(--sum-shadow-soft),inset 0 1px 0 rgba(255,255,255,.54);
  color:#151a18;
  text-align:left;
  font:inherit;
  cursor:pointer;
  appearance:none;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
  overflow:hidden;
}

body.summary-active .simoc-live-card::before{
  display:none;
}

body.summary-active .simoc-live-card:hover{
  transform:translateY(-2px);
  border-color:rgba(22,26,25,.045);
  box-shadow:0 9px 20px rgba(39,53,48,.085),inset 0 1px 0 rgba(255,255,255,.6);
  background:
    radial-gradient(circle at 93% 0%,rgba(235,255,114,.24),transparent 40%),
    linear-gradient(145deg,#f0f3f1 0%,#e5eae8 100%);
}

body.summary-active .simoc-live-card[aria-disabled="true"]{
  cursor:default;
  opacity:.62;
}
body.summary-active .simoc-live-card[aria-disabled="true"]:hover{
  transform:none;
  box-shadow:var(--sum-shadow-soft),inset 0 1px 0 rgba(255,255,255,.54);
}

body.summary-active .live-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

/* Ícono igual al s-icon del resumen */
body.summary-active .live-icon{
  width:28px;
  height:28px;
  min-width:28px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:rgba(247,249,248,.72);
  border:1px solid rgba(22,26,25,.045);
  font-size:15px;
  opacity:1;
  filter:grayscale(.08) saturate(.76);
}

/* Acento lima alternado como en las tarjetas históricas */
body.summary-active .simoc-live-card:nth-child(1) .live-icon,
body.summary-active .simoc-live-card:nth-child(3) .live-icon,
body.summary-active .simoc-live-card:nth-child(6) .live-icon,
body.summary-active .simoc-live-card:nth-child(8) .live-icon{
  background:linear-gradient(145deg,#f4ffad,#eaff72);
}

/* Estado discreto: no compite con el contenido */
body.summary-active .live-badge{
  max-width:105px;
  padding:3px 6px;
  border:1px solid rgba(22,26,25,.045);
  border-radius:7px;
  background:rgba(247,249,248,.66);
  color:#7b8581;
  font-family:'Inter','Segoe UI',sans-serif;
  font-size:6.8px;
  font-weight:700;
  letter-spacing:.55px;
  line-height:1.15;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Conserva información de estado usando matices muy suaves */
body.summary-active .state-live .live-badge{
  background:rgba(235,255,114,.42);
  color:#566114;
}
body.summary-active .state-event .live-badge,
body.summary-active .state-state .live-badge{
  background:rgba(247,249,248,.70);
  color:#707975;
}
body.summary-active .state-stale .live-badge{
  background:rgba(227,93,71,.07);
  color:#9c5146;
}

body.summary-active .live-name{
  margin-top:8px;
  color:#626b67;
  font-family:'Inter','Segoe UI',sans-serif;
  font-size:7.5px;
  line-height:1;
  font-weight:700;
  letter-spacing:1.08px;
  text-transform:uppercase;
}

body.summary-active .live-value{
  margin-top:8px;
  color:#151a18;
  font-family:'Manrope','Inter','Segoe UI',sans-serif;
  font-size:16px;
  line-height:1.04;
  font-weight:750;
  letter-spacing:-.34px;
  overflow-wrap:anywhere;
}

body.summary-active .live-detail{
  min-height:0;
  margin-top:4px;
  color:#858d89;
  font-family:'Inter','Segoe UI',sans-serif;
  font-size:8px;
  line-height:1.28;
  font-weight:500;
  overflow-wrap:anywhere;
}

body.summary-active .live-location{
  margin-top:4px;
  color:#818a86;
  font-family:'Inter','Segoe UI',sans-serif;
  font-size:7.5px;
  line-height:1.35;
  overflow-wrap:anywhere;
}

body.summary-active .live-time{
  display:flex;
  align-items:center;
  gap:5px;
  margin-top:auto;
  padding-top:6px;
  color:#818a86;
  font-family:'Inter','Segoe UI',sans-serif;
  font-size:7.3px;
  line-height:1.2;
  font-weight:500;
}

body.summary-active .live-time span{
  width:5px;
  height:5px;
  border-radius:50%;
  flex:0 0 auto;
  background:#a8b1b1;
}
body.summary-active .state-live .live-time span{background:#9bb223}
body.summary-active .state-event .live-time span{background:#8b9290}
body.summary-active .state-state .live-time span{background:#a99a4c}
body.summary-active .state-stale .live-time span{background:#c56b5c}

/* Separador entre "ahora" y el análisis histórico */
body.summary-active .summary-history-label{
  display:flex;
  align-items:baseline;
  gap:8px;
  margin:12px 2px 8px;
  color:#626b67;
  font-family:'Inter','Segoe UI',sans-serif;
}
body.summary-active .summary-history-label span{
  color:#626b67;
  font-size:7.5px;
  line-height:1;
  font-weight:700;
  letter-spacing:1.08px;
}
body.summary-active .summary-history-label small{
  color:#89918e;
  font-size:7.5px;
  line-height:1.35;
}

/* Tablet */
@media(max-width:1280px){
  body.summary-active .simoc-live-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

/* Móvil: mismo comportamiento que las summary cards */
@media(max-width:768px){
  body.summary-active .simoc-live{
    margin-bottom:8px;
    padding:0;
    border-radius:0;
  }

  body.summary-active .simoc-live-head{
    min-height:0;
    margin-bottom:7px;
    padding:11px 12px;
    border-radius:12px;
    gap:10px;
  }

  body.summary-active .simoc-live-title{
    font-size:12px;
  }

  body.summary-active .simoc-live-subtitle{
    font-size:8px;
  }

  body.summary-active .simoc-live-generated strong{
    font-size:16px;
  }

  body.summary-active .simoc-live-generated span,
  body.summary-active .simoc-live-generated small{
    font-size:7px;
  }

  body.summary-active .simoc-live-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }

  body.summary-active .simoc-live-card{
    min-height:137px;
    padding:12px 11px 10px;
    border-radius:13px;
    touch-action:manipulation;
  }

  body.summary-active .simoc-live-card:hover{
    transform:none;
    box-shadow:var(--sum-shadow-soft),inset 0 1px 0 rgba(255,255,255,.54);
  }

  body.summary-active .live-value{
    font-size:16px;
  }

  body.summary-active .live-detail{
    font-size:8px;
  }

  body.summary-active .summary-history-label{
    display:block;
    margin-top:11px;
  }

  body.summary-active .summary-history-label small{
    display:block;
    margin-top:3px;
  }
}

@media(max-width:480px){
  body.summary-active .simoc-live-grid{
    grid-template-columns:1fr;
  }

  body.summary-active .simoc-live-head{
    display:block;
  }

  body.summary-active .simoc-live-generated{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:6px;
    margin-top:8px;
    text-align:left;
  }

  body.summary-active .simoc-live-generated small{
    margin:0 0 0 auto;
  }

  body.summary-active .simoc-live-card{
    min-height:122px;
  }
}

/* SIMOC 2.3 · atribución de ubicación geográfica */
body.summary-active .simoc-geo-attribution{
  margin:6px 3px 0;
  color:#8a928f;
  font-family:'Inter','Segoe UI',sans-serif;
  font-size:6.8px;
  line-height:1.35;
  text-align:right;
  letter-spacing:.15px;
}
@media(max-width:768px){
  body.summary-active .simoc-geo-attribution{
    margin:6px 2px 1px;
    font-size:6.6px;
    text-align:left;
  }
}


/* =========================================================
   SISMOS SENTIDOS · GRAPHITE / GREEN SIGNAL UI
   Identidad del dashboard individual dentro del Superdashboard.
   SOLO ESTÉTICA. No modifica datos, filtros ni cálculos.
   ========================================================= */
body.module-sismos-sentidos{
  --ss-bg:#0f1112;
  --ss-bg-2:#141617;
  --ss-panel:#24272a;
  --ss-panel-2:#2a2e31;
  --ss-panel-3:#303438;
  --ss-line:rgba(255,255,255,.065);
  --ss-line-strong:rgba(255,255,255,.105);
  --ss-green:#33e07d;
  --ss-green-soft:#83f0ae;
  --ss-yellow:#f2c94c;
  --ss-red:#ef6b5b;
  --ss-ink:#f4f6f5;
  --ss-muted:#969e9a;
  --ss-muted-2:#747c78;
  background:
    radial-gradient(circle at 11% -5%,rgba(51,224,125,.09),transparent 27%),
    radial-gradient(circle at 94% 2%,rgba(242,201,76,.045),transparent 23%),
    linear-gradient(180deg,#0d0f10 0%,#111314 50%,#0b0d0e 100%);
  color:var(--ss-ink);
}
body.module-sismos-sentidos .app{padding:16px 18px 30px}
body.module-sismos-sentidos .shell{max-width:1580px}
body.module-sismos-sentidos .simoc-title,
body.module-sismos-sentidos .report-title,
body.module-sismos-sentidos .module-name,
body.module-sismos-sentidos .headline-title,
body.module-sismos-sentidos .headline-value,
body.module-sismos-sentidos .kpi-value,
body.module-sismos-sentidos .card-title,
body.module-sismos-sentidos .rank-value,
body.module-sismos-sentidos .rank-label{
  font-family:'Manrope','Inter','Segoe UI',sans-serif;
}
body.module-sismos-sentidos .subtitle,
body.module-sismos-sentidos .field,
body.module-sismos-sentidos .module-meta,
body.module-sismos-sentidos .kpi-label,
body.module-sismos-sentidos .kpi-detail,
body.module-sismos-sentidos .card-subtitle,
body.module-sismos-sentidos .rank-detail,
body.module-sismos-sentidos .insight-list,
body.module-sismos-sentidos .footer-note,
body.module-sismos-sentidos .tab{
  font-family:'Inter','Segoe UI',Arial,sans-serif;
}
body.module-sismos-sentidos .header{
  border:1px solid var(--ss-line);
  border-radius:20px;
  padding:16px 17px;
  background:linear-gradient(112deg,#1d2022 0%,#17191b 56%,#1b1e1f 100%);
  box-shadow:0 22px 58px rgba(0,0,0,.29),inset 0 1px 0 rgba(255,255,255,.035);
  overflow:hidden;
}
body.module-sismos-sentidos .header::before{
  height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(51,224,125,.72) 18%,rgba(51,224,125,.20) 60%,rgba(242,201,76,.42) 84%,transparent 100%);
}
body.module-sismos-sentidos .header::after{
  content:"";position:absolute;right:-100px;top:-128px;width:400px;height:220px;border-radius:50%;
  background:radial-gradient(circle,rgba(51,224,125,.11) 0%,rgba(51,224,125,0) 69%);pointer-events:none;
}
body.module-sismos-sentidos .brand-icon{
  width:48px;height:48px;border-radius:15px;
  background:linear-gradient(145deg,rgba(51,224,125,.25),rgba(51,224,125,.055)),#25292b;
  border:1px solid rgba(51,224,125,.20);box-shadow:0 9px 26px rgba(20,120,68,.11),inset 0 1px 0 rgba(255,255,255,.055);filter:none;
}
body.module-sismos-sentidos .simoc-title{color:#fff;font-size:22px;font-weight:800;letter-spacing:-.55px}
body.module-sismos-sentidos .report-title{color:#dfe4e1;font-size:18px;font-weight:650;letter-spacing:-.45px}
body.module-sismos-sentidos .brand-divider{height:35px;background:rgba(255,255,255,.09)}
body.module-sismos-sentidos .subtitle{color:#89918d;font-size:11px;line-height:1.38}
body.module-sismos-sentidos .global-filter{
  gap:7px;padding:8px;border:1px solid var(--ss-line);border-radius:14px;
  background:rgba(18,20,21,.74);box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 10px 26px rgba(0,0,0,.18);backdrop-filter:blur(9px);
}
body.module-sismos-sentidos .field label{margin-bottom:4px;color:#777f7b;font-size:10px;font-weight:700;letter-spacing:.84px}
body.module-sismos-sentidos .field select,
body.module-sismos-sentidos .field input{
  height:36px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:#24272a;color:#eef2ef;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);font-size:13px;color-scheme:dark;
}
body.module-sismos-sentidos .field select:hover,
body.module-sismos-sentidos .field input:hover{border-color:rgba(51,224,125,.24)}
body.module-sismos-sentidos .field select:focus,
body.module-sismos-sentidos .field input:focus{border-color:rgba(51,224,125,.55);box-shadow:0 0 0 3px rgba(51,224,125,.09)}
body.module-sismos-sentidos .btn{
  height:36px;border:1px solid rgba(51,224,125,.42);border-radius:10px;
  background:linear-gradient(180deg,#45e98b 0%,#2fd776 100%);color:#08160e;font-size:12px;font-weight:800;
  box-shadow:0 10px 24px rgba(30,171,91,.16),inset 0 1px 0 rgba(255,255,255,.26);transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
}
body.module-sismos-sentidos .btn:hover{filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 13px 30px rgba(30,171,91,.22)}
body.module-sismos-sentidos .report-surface{
  margin-top:13px;padding:11px;min-height:720px;border:1px solid var(--ss-line);border-radius:20px;
  background:radial-gradient(circle at 91% 0%,rgba(51,224,125,.045),transparent 24%),linear-gradient(180deg,#151718 0%,#101213 100%);
  box-shadow:0 24px 62px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.02);
}
body.module-sismos-sentidos .tabs-wrap{border:1px solid var(--ss-line);border-radius:14px;padding:5px;background:#1d2022;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
body.module-sismos-sentidos .tabs{gap:3px}
body.module-sismos-sentidos .tab{padding:9px 11px;border-radius:9px;color:#858d89;font-size:11px;font-weight:600;letter-spacing:-.1px;transition:all .15s ease}
body.module-sismos-sentidos .tab::after{display:none}
body.module-sismos-sentidos .tab:hover{color:#f0f4f1;background:#282c2f}
body.module-sismos-sentidos .tab.active{color:#0b1710;background:linear-gradient(180deg,#45e98b,#31d879);box-shadow:0 6px 18px rgba(26,156,82,.15),inset 0 1px 0 rgba(255,255,255,.25)}
body.module-sismos-sentidos .module-bar{
  margin-top:9px;padding:10px 12px;border:1px solid var(--ss-line);border-left:0;border-radius:14px;
  background:linear-gradient(145deg,#262a2d,#202326);box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
body.module-sismos-sentidos .module-icon{
  width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,rgba(51,224,125,.22),rgba(51,224,125,.055));
  border:1px solid rgba(51,224,125,.16);font-size:17px;filter:none;
}
body.module-sismos-sentidos .module-name{color:#f4f7f5;font-size:18px;font-weight:700;letter-spacing:-.45px}
body.module-sismos-sentidos .module-meta{color:#7f8783;font-size:10px;margin-top:2px}
body.module-sismos-sentidos .module-filters .field input,
body.module-sismos-sentidos .module-filters .field select{height:34px;font-size:12px}
body.module-sismos-sentidos .module-filters .field label{font-size:9px;color:#7c8580}
body.module-sismos-sentidos .clear-btn{height:34px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:#2b2f32;color:#a8afab;padding:0 12px;font-size:11px;font-weight:600}
body.module-sismos-sentidos .clear-btn:hover{color:#fff;border-color:rgba(51,224,125,.23);background:#303538}
body.module-sismos-sentidos .content{margin-top:10px}

body.module-sismos-sentidos .ss-dashboard{display:block;animation:ssFade .4s ease both}
@keyframes ssFade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
body.module-sismos-sentidos .ss-hero{
  min-height:150px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:18px;align-items:stretch;
  padding:18px;margin-bottom:12px;border:1px solid var(--ss-line);border-radius:18px;
  background:radial-gradient(circle at 72% 10%,rgba(51,224,125,.12),transparent 27%),linear-gradient(118deg,#292d30 0%,#232629 56%,#202425 100%);
  box-shadow:0 16px 38px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.03);overflow:hidden;position:relative;
}
body.module-sismos-sentidos .ss-hero::after{content:"";position:absolute;right:0;bottom:0;width:330px;height:1px;background:linear-gradient(90deg,transparent,var(--ss-green),var(--ss-yellow));opacity:.62}
body.module-sismos-sentidos .ss-hero-copy{align-self:center}
body.module-sismos-sentidos .ss-kicker{display:flex;align-items:center;gap:8px;color:#87908b;font-size:8px;font-weight:800;letter-spacing:1.1px}
body.module-sismos-sentidos .ss-kicker span{width:7px;height:7px;border-radius:50%;background:var(--ss-green);box-shadow:0 0 0 5px rgba(51,224,125,.07);animation:ssPulse 2s ease-in-out infinite}
@keyframes ssPulse{50%{box-shadow:0 0 0 9px rgba(51,224,125,.015)}}
body.module-sismos-sentidos .ss-hero-title{margin-top:15px;color:#b9c0bc;font-size:13px;font-weight:650}
body.module-sismos-sentidos .ss-hero-value{margin-top:5px;color:#fff;font-family:'Manrope','Inter',sans-serif;font-size:34px;line-height:1;font-weight:800;letter-spacing:-1.2px}
body.module-sismos-sentidos .ss-hero-detail{margin-top:8px;color:#8e9792;font-size:10px;line-height:1.45}
body.module-sismos-sentidos .ss-signal{display:flex;flex-direction:column;justify-content:space-between;padding:12px 13px;border:1px solid rgba(255,255,255,.055);border-radius:15px;background:rgba(16,18,19,.34)}
body.module-sismos-sentidos .ss-signal-label{color:#737c77;font-size:7px;font-weight:800;letter-spacing:1.1px}
body.module-sismos-sentidos .ss-wave{height:62px;display:flex;align-items:center;gap:4px;margin:8px 0}
body.module-sismos-sentidos .ss-wave span{flex:1;min-width:3px;border-radius:4px;background:linear-gradient(180deg,var(--ss-green-soft),var(--ss-green));opacity:.72;transform-origin:center;animation:ssWave 1.7s ease-in-out infinite alternate}
body.module-sismos-sentidos .ss-wave span:nth-child(5n){background:linear-gradient(180deg,#f6dc78,var(--ss-yellow))}
@keyframes ssWave{from{transform:scaleY(.82);opacity:.45}to{transform:scaleY(1.08);opacity:.92}}
body.module-sismos-sentidos .ss-signal-foot{display:flex;align-items:baseline;gap:7px;color:#7f8883;font-size:8px}
body.module-sismos-sentidos .ss-signal-foot b{color:#f0f3f1;font-family:'Manrope','Inter',sans-serif;font-size:18px}

body.module-sismos-sentidos .ss-kpi-stage{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
body.module-sismos-sentidos .ss-kpi{
  min-height:132px;padding:14px;border:1px solid var(--ss-line);border-radius:16px;background:radial-gradient(circle at 95% 7%,rgba(51,224,125,.07),transparent 30%),linear-gradient(145deg,#2b2f32,#24272a);
  box-shadow:0 12px 30px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.025);position:relative;overflow:hidden;animation:ssRise .48s ease both;transition:transform .16s ease,border-color .16s ease;
}
body.module-sismos-sentidos .ss-kpi:nth-child(2){animation-delay:.04s}body.module-sismos-sentidos .ss-kpi:nth-child(3){animation-delay:.08s}body.module-sismos-sentidos .ss-kpi:nth-child(4){animation-delay:.12s}body.module-sismos-sentidos .ss-kpi:nth-child(5){animation-delay:.16s}body.module-sismos-sentidos .ss-kpi:nth-child(6){animation-delay:.20s}body.module-sismos-sentidos .ss-kpi:nth-child(7){animation-delay:.24s}body.module-sismos-sentidos .ss-kpi:nth-child(8){animation-delay:.28s}
@keyframes ssRise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
body.module-sismos-sentidos .ss-kpi:hover{transform:translateY(-2px);border-color:rgba(51,224,125,.17)}
body.module-sismos-sentidos .ss-kpi.ss-yellow{background:radial-gradient(circle at 95% 7%,rgba(242,201,76,.075),transparent 30%),linear-gradient(145deg,#2b2f32,#24272a)}
body.module-sismos-sentidos .ss-kpi-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
body.module-sismos-sentidos .ss-kpi-index{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#353a3d;color:#858e89;font-size:8px;font-weight:800}
body.module-sismos-sentidos .ss-kpi-dot{width:7px;height:7px;border-radius:50%;background:var(--ss-green);box-shadow:0 0 12px rgba(51,224,125,.25)}
body.module-sismos-sentidos .ss-yellow .ss-kpi-dot{background:var(--ss-yellow);box-shadow:0 0 12px rgba(242,201,76,.22)}
body.module-sismos-sentidos .ss-kpi .kpi-label{color:#929a96;font-size:8px;font-weight:800;letter-spacing:.78px}
body.module-sismos-sentidos .ss-kpi .kpi-value{margin-top:7px;color:#fff;font-size:26px;font-weight:750;letter-spacing:-.9px}
body.module-sismos-sentidos .ss-kpi.ss-feature .kpi-value{color:var(--ss-green-soft)}
body.module-sismos-sentidos .ss-kpi.ss-yellow .kpi-value{color:#f4d66b}
body.module-sismos-sentidos .ss-kpi .kpi-detail{margin-top:6px;color:#7e8782;font-size:9px;line-height:1.35}

body.module-sismos-sentidos .ss-chart-stage{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;margin-bottom:12px}
body.module-sismos-sentidos .ss-chart-stage .chart-card{
  min-height:335px;padding:14px;border:1px solid var(--ss-line);border-radius:17px;background:linear-gradient(145deg,#292d30,#232629);
  box-shadow:0 13px 32px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.024);overflow:hidden;position:relative;
}
body.module-sismos-sentidos .ss-chart-stage .ss-span-8{grid-column:span 8;min-height:395px}
body.module-sismos-sentidos .ss-chart-stage .ss-span-8 .canvas-wrap{height:315px}
body.module-sismos-sentidos .ss-chart-stage .ss-span-6{grid-column:span 6}
body.module-sismos-sentidos .ss-chart-stage .ss-span-4{grid-column:span 4}
body.module-sismos-sentidos .ss-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
body.module-sismos-sentidos .ss-chart-stage .card-title{color:#f0f3f1;font-size:14px;font-weight:700;letter-spacing:-.25px}
body.module-sismos-sentidos .ss-chart-stage .card-subtitle{color:#727b76;font-size:8px;margin-top:3px;margin-bottom:0;letter-spacing:.35px}
body.module-sismos-sentidos .ss-chart-status{padding:4px 7px;border-radius:999px;background:rgba(51,224,125,.09);color:#76e9a4;font-size:6.5px;font-weight:800;letter-spacing:.65px;white-space:nowrap}
body.module-sismos-sentidos .ss-chart-stage .canvas-wrap{height:260px}

body.module-sismos-sentidos .ss-lower-stage{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:10px}
body.module-sismos-sentidos .ss-rank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.module-sismos-sentidos .rank-card,
body.module-sismos-sentidos .insight-card{border:1px solid var(--ss-line);border-left:1px solid var(--ss-line);border-radius:16px;background:linear-gradient(145deg,#292d30,#232629);box-shadow:0 12px 30px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.024);padding:14px}
body.module-sismos-sentidos .rank-row{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.055)}
body.module-sismos-sentidos .rank-num{background:rgba(51,224,125,.10);color:#7bebaa;border:1px solid rgba(51,224,125,.10)}
body.module-sismos-sentidos .rank-label{color:#dce1de;font-size:11px;font-weight:600}
body.module-sismos-sentidos .rank-detail{color:#747d78;font-size:8px}
body.module-sismos-sentidos .rank-value{color:#72e9a2;font-size:11px;font-weight:700}
body.module-sismos-sentidos .insight-card .card-title{color:#f0f3f1;font-size:13px}
body.module-sismos-sentidos .insight-list li{color:#abb2ae;border-bottom:1px solid rgba(255,255,255,.055);font-size:10px}
body.module-sismos-sentidos .insight-list li:before{background:var(--ss-yellow);border-radius:50%;box-shadow:0 0 10px rgba(242,201,76,.18)}
body.module-sismos-sentidos .footer-note{border-top:1px solid var(--ss-line);color:#626a66;font-size:9px}
body.module-sismos-sentidos .coverage,body.module-sismos-sentidos .coverage strong{color:#818a85}
body.module-sismos-sentidos .loading{color:#8d9691}
body.module-sismos-sentidos .spinner{border-color:#34383a;border-top-color:var(--ss-green);box-shadow:0 0 15px rgba(51,224,125,.13)}
body.module-sismos-sentidos .no-data{background:#24272a;border:1px solid var(--ss-line);color:var(--ss-ink);box-shadow:none}
body.module-sismos-sentidos .no-data h3{color:#f2f5f3}body.module-sismos-sentidos .no-data p{color:#929a96}

@media(max-width:1180px){
  body.module-sismos-sentidos .ss-kpi-stage{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.module-sismos-sentidos .ss-chart-stage .ss-span-8,
  body.module-sismos-sentidos .ss-chart-stage .ss-span-6,
  body.module-sismos-sentidos .ss-chart-stage .ss-span-4{grid-column:span 6}
  body.module-sismos-sentidos .ss-hero{grid-template-columns:1fr minmax(260px,.55fr)}
}
@media(max-width:850px){
  body.module-sismos-sentidos .header,body.module-sismos-sentidos .report-surface{border-radius:15px}
  body.module-sismos-sentidos .ss-hero{grid-template-columns:1fr;padding:14px;border-radius:14px}
  body.module-sismos-sentidos .ss-signal{min-height:120px}
  body.module-sismos-sentidos .ss-kpi-stage{grid-template-columns:1fr 1fr}
  body.module-sismos-sentidos .ss-chart-stage{grid-template-columns:1fr}
  body.module-sismos-sentidos .ss-chart-stage .ss-span-8,
  body.module-sismos-sentidos .ss-chart-stage .ss-span-6,
  body.module-sismos-sentidos .ss-chart-stage .ss-span-4{grid-column:1}
  body.module-sismos-sentidos .ss-lower-stage,body.module-sismos-sentidos .ss-rank-grid{grid-template-columns:1fr}
  body.module-sismos-sentidos .ss-chart-stage .chart-card{border-radius:14px}
}
@media(max-width:520px){
  body.module-sismos-sentidos .ss-kpi-stage{grid-template-columns:1fr}
  body.module-sismos-sentidos .ss-hero-value{font-size:29px}
  body.module-sismos-sentidos .ss-chart-stage .canvas-wrap,
  body.module-sismos-sentidos .ss-chart-stage .ss-span-8 .canvas-wrap{height:245px}
}
