:root{
  --bg-top:#442743;--bg-bottom:#7d4342;
  --amarillo:#F2B705;--amarillo-deep:#D9A100;
  --negro:#0D0D0D;
  --panel:rgba(13,8,12,0.32);--panel-solido:#2A1B29;--panel-hover:rgba(242,183,5,0.06);
  --texto:#F6EEF1;--texto-suave:rgba(246,238,241,0.68);
  --linea:rgba(246,238,241,0.14);--radio:3px;
  --verde:#3EBF6A;--rojo:#E04B4B;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:linear-gradient(180deg,var(--bg-top) 0%,var(--bg-bottom) 100%) fixed;color:var(--texto);font-family:'Space Grotesk',sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:'Space Grotesk',sans-serif;margin:0;font-weight:600;letter-spacing:-0.01em;}
.mono{font-family:'JetBrains Mono',monospace;}
a{color:inherit;}
.wrap{max-width:1080px;margin:0 auto;padding:0 28px;}

/* NAV */
nav{position:sticky;top:0;z-index:40;background:rgba(30,18,29,0.6);backdrop-filter:blur(12px);border-bottom:1px solid var(--linea);}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:78px;}
.marca{display:flex;align-items:center;gap:14px;}
.marca .logo{width:150px;height:auto;display:block;}
.marca .cargo{font-size:11px;color:var(--texto-suave);font-family:'JetBrains Mono',monospace;letter-spacing:0.04em;text-transform:uppercase;border-left:1px solid var(--linea);padding-left:14px;}
nav ul{list-style:none;display:flex;gap:28px;margin:0;padding:0;font-size:14px;font-weight:500;}
nav ul a{text-decoration:none;border-bottom:2px solid transparent;padding-bottom:4px;transition:border-color .15s;}
nav ul a:hover{border-color:var(--amarillo);}
@media(max-width:720px){nav ul{display:none;}.marca .cargo{display:none;}}

/* HERO */
header.hero{padding:72px 0 48px;border-bottom:1px solid var(--linea);}
.hero .wrap{display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:center;}
@media(max-width:860px){.hero .wrap{grid-template-columns:1fr;}}
.hero h1{font-size:48px;line-height:1.05;margin-bottom:20px;font-weight:600;}
.hero p.lead{font-size:17px;color:var(--texto-suave);max-width:48ch;margin-top:0;}
@media(max-width:540px){.hero h1{font-size:34px;}}

.cta-btn{display:inline-flex;align-items:center;gap:8px;background:var(--amarillo);color:var(--negro);border:none;border-radius:999px;padding:14px 22px;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:15px;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,0.25);transition:transform .15s ease;text-decoration:none;}
.cta-btn:hover{transform:translateY(-2px);}
.cta-hero{margin-top:22px;}

/* LEDGER */
.ledger-card{background:var(--panel);border:1px solid var(--linea);border-radius:var(--radio);padding:26px 26px 22px;backdrop-filter:blur(6px);}
.ledger-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px;border-bottom:1px solid var(--linea);padding-bottom:16px;}
.ledger-top .cifra{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:64px;color:var(--amarillo);line-height:0.9;}
.ledger-top .cifra sup{font-size:28px;}
.ledger-top .detalle{text-align:right;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--texto-suave);line-height:1.6;}
.ledger-top .detalle .periodo{color:var(--amarillo);}
.ledger-label{font-size:12px;font-family:'JetBrains Mono',monospace;letter-spacing:0.04em;text-transform:uppercase;color:var(--texto-suave);margin-bottom:10px;}
.grid-asistencia{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;}
.grid-asistencia .casilla{aspect-ratio:1;border-radius:2px;border:1px solid var(--linea);position:relative;}
.grid-asistencia .casilla.asistio{background:var(--amarillo);border-color:var(--amarillo);}
.grid-asistencia .casilla.excusa{background:rgba(224,75,75,0.35);border-color:rgba(224,75,75,0.5);}
.grid-asistencia .casilla.incorporado{background:var(--amarillo);border-color:var(--amarillo);opacity:0.65;}
.ledger-foot{display:flex;gap:14px;margin-top:14px;font-size:11px;font-family:'JetBrains Mono',monospace;color:var(--texto-suave);flex-wrap:wrap;}
.ledger-foot .punto{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:middle;}
.punto.si{background:var(--amarillo);}
.punto.inc{background:var(--amarillo);opacity:0.65;}
.punto.no{background:rgba(224,75,75,0.35);border:1px solid rgba(224,75,75,0.5);}

/* STATS */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--linea);border:1px solid var(--linea);margin:48px 0 0;}
@media(max-width:720px){.stats-row{grid-template-columns:repeat(2,1fr);}}
.stat{background:var(--panel-solido);padding:22px 20px;}
.stat .n{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:36px;color:var(--amarillo);}
.stat .l{font-size:12px;color:var(--texto-suave);font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:0.03em;margin-top:4px;}

/* SECTIONS */
.titulo-seccion{display:flex;align-items:baseline;gap:14px;margin-bottom:28px;}
.titulo-seccion .num{font-family:'JetBrains Mono',monospace;color:var(--amarillo);font-size:14px;}
.titulo-seccion h2{font-size:28px;}
section.acciones{padding:56px 0 0;}
section.fiscalizacion{padding:56px 0 72px;}
section.cifras{padding:0 0 56px;border-bottom:1px solid var(--linea);}

/* DESTACADAS */
.destacadas{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:36px;}
@media(max-width:720px){.destacadas{grid-template-columns:1fr;}}
.dest-card{background:var(--panel);border:1px solid var(--linea);border-radius:var(--radio);padding:20px;position:relative;overflow:hidden;}
.dest-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--amarillo);}
.dest-card .status{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.05em;text-transform:uppercase;padding:3px 8px;border-radius:2px;margin-bottom:10px;}
.status.aprobada{background:rgba(62,191,106,0.2);color:var(--verde);}
.status.lectura{background:rgba(242,183,5,0.15);color:var(--amarillo);}
.dest-card h3{font-size:17px;font-weight:600;margin-bottom:6px;line-height:1.3;}
.dest-card p{margin:0;color:var(--texto-suave);font-size:13px;line-height:1.5;}

/* CATEGORY */
.cat-title{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:0.05em;text-transform:uppercase;color:var(--amarillo);margin:36px 0 16px;padding-bottom:8px;border-bottom:1px solid var(--linea);}
.accion{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:16px 0;border-top:1px solid rgba(246,238,241,0.07);}
.accion:last-child{border-bottom:1px solid rgba(246,238,241,0.07);}
@media(max-width:640px){.accion{grid-template-columns:1fr;gap:6px;}}
.accion .fecha{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--texto-suave);padding-top:3px;}
.tag{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.04em;text-transform:uppercase;padding:2px 7px;border-radius:2px;margin-bottom:6px;margin-right:4px;}
.tag.pendiente{background:rgba(246,238,241,0.08);color:var(--texto-suave);border:1px solid var(--linea);}
.tag.perimida{background:rgba(224,75,75,0.12);color:rgba(224,75,75,0.8);}
.tag.proponente{background:rgba(242,183,5,0.12);color:var(--amarillo);}
.tag.aprobada-sm{background:rgba(62,191,106,0.15);color:var(--verde);}
.accion h3{font-size:16px;font-weight:600;margin-bottom:4px;line-height:1.3;}
.accion p{margin:0;color:var(--texto-suave);font-size:14px;max-width:60ch;}

/* FISCALIZACION */
.fisc-block{background:var(--panel);border:1px solid var(--linea);border-radius:var(--radio);padding:28px;margin-top:20px;}
.fisc-block p{color:var(--texto-suave);font-size:15px;line-height:1.7;margin:0 0 14px;}
.fisc-block p:last-child{margin-bottom:0;}
.fisc-block .destacado{color:var(--amarillo);}

footer{background:rgba(13,8,12,0.35);border-top:1px solid var(--linea);color:var(--texto-suave);padding:34px 0 130px;font-size:13px;}
footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
footer strong{color:var(--texto);}

/* BURBUJA FIJA */
#burbuja-toggle{position:fixed;right:22px;bottom:22px;z-index:60;}
#burbuja-toggle:focus-visible,#panel-problema button:focus-visible,#panel-problema input:focus-visible,#panel-problema textarea:focus-visible{outline:3px solid var(--amarillo);outline-offset:2px;}

#panel-problema{position:fixed;right:22px;bottom:88px;z-index:60;width:min(360px,calc(100vw - 44px));background:var(--panel-solido);border:1px solid var(--linea);border-radius:var(--radio);box-shadow:0 16px 40px rgba(0,0,0,0.4);padding:20px;display:none;}
#panel-problema.abierto{display:block;}
#panel-problema h3{font-size:18px;font-weight:600;margin-bottom:4px;}
#panel-problema .sub{font-size:12px;color:var(--texto-suave);margin-bottom:14px;}
#panel-problema label{display:block;font-size:11px;font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:0.03em;color:var(--texto-suave);margin:12px 0 5px;}
#panel-problema input,#panel-problema textarea{width:100%;border:1px solid var(--linea);border-radius:2px;padding:9px 10px;font-family:'Space Grotesk',sans-serif;font-size:14px;background:rgba(255,255,255,0.06);color:var(--texto);}
#panel-problema input::placeholder,#panel-problema textarea::placeholder{color:rgba(246,238,241,0.35);}
#panel-problema textarea{min-height:90px;resize:vertical;}
#panel-problema .fila-btn{display:flex;gap:8px;margin-top:16px;}
#panel-problema button.enviar{flex:1;background:var(--amarillo);color:var(--negro);border:none;padding:10px 14px;font-weight:600;font-size:14px;border-radius:2px;cursor:pointer;font-family:'Space Grotesk',sans-serif;}
#panel-problema button.cerrar{background:transparent;border:1px solid var(--linea);color:var(--texto);padding:10px 14px;border-radius:2px;cursor:pointer;font-size:13px;font-family:'Space Grotesk',sans-serif;}
#panel-problema .nota{font-size:11px;color:var(--texto-suave);margin-top:10px;}

.fuente-nota{font-size:11px;color:var(--texto-suave);font-family:'JetBrains Mono',monospace;margin-top:10px;font-style:italic;}
