/* =========================================================
   Academia L.A.F Capital — mismos colores y fuentes de la web
   ========================================================= */
@font-face{font-family:"IT";src:url(../../assets/fonts/inter-tight-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"IT";src:url(../../assets/fonts/inter-tight-latin-800-normal.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"IN";src:url(../../assets/fonts/inter-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IN";src:url(../../assets/fonts/inter-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"IN";src:url(../../assets/fonts/inter-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"PF";src:url(../../assets/fonts/playfair-display-latin-600-italic.woff2) format("woff2");font-weight:600;font-style:italic;font-display:swap}
@font-face{font-family:"PF";src:url(../../assets/fonts/playfair-display-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --espresso:#241A13;--cafe:#3B2E23;--cafe2:#4E3D2E;
  --bronce:#A8682C;--bronce2:#8C5420;--oro:#C99A55;--oroc:#EBCF97;
  --crema:#F1E9DE;--crema2:#E7DCCB;--papel:#FBF7F1;
  --tinta:#2A211A;--gris:#6D6155;--gris2:#988A7A;--linea:#DED0BC;
  --vivo:#3FA672;--ok:#2F7D52;--ok-s:#E3F1E7;--mal:#A63D2F;--mal-s:#F8E4DE;--pend:#9A6A1C;--pend-s:#F7ECD3;
  --r:22px;--r2:14px;
  --sombra:0 24px 60px -24px rgba(36,26,19,.35);
  --sombra2:0 10px 30px -14px rgba(36,26,19,.28);
  --grano:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .25 0 0 0 0 .15 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --oro-grad:linear-gradient(135deg,#F0D49B 0%,#C99A55 45%,#A8682C 100%);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"IN",system-ui,sans-serif;font-size:16px;line-height:1.6;color:var(--tinta);background:var(--crema);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;background-image:var(--grano);pointer-events:none;z-index:0;opacity:.8}
img{max-width:100%;display:block}
a{color:var(--bronce2)}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:"IT",sans-serif;font-weight:800;letter-spacing:-.025em;line-height:1.08;margin:0}
h1 em,h2 em{font-family:"PF",serif;font-style:italic;font-weight:600;letter-spacing:-.01em;color:var(--bronce)}
p{margin:0}
.ic{width:1.15em;height:1.15em;flex:none}
.cont{position:relative;z-index:1;width:100%;max-width:1200px;margin:0 auto;padding:0 28px}
:focus-visible{outline:2.5px solid var(--oro);outline-offset:3px}
[hidden]{display:none!important}
.oculto{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 20px;border-radius:999px;font-weight:600;font-size:15px;line-height:1.2;text-decoration:none;border:0;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s,color .2s;white-space:nowrap}
.btn .ic{width:18px;height:18px}
.btn-lg{padding:15px 26px;font-size:16.5px}
.btn-sm{padding:9px 15px;font-size:14px}
.btn-xs{padding:6px 11px;font-size:13px;gap:6px}
.btn-xs .ic{width:15px;height:15px}
.btn-bloque{width:100%}
.btn-oro{background:var(--oro-grad);color:#24180F;box-shadow:0 10px 26px -10px rgba(168,104,44,.7),inset 0 1px 0 rgba(255,255,255,.5)}
.btn-oro:hover{transform:translateY(-1px);box-shadow:0 14px 30px -12px rgba(168,104,44,.85),inset 0 1px 0 rgba(255,255,255,.5)}
.btn-osc{background:var(--cafe);color:#F4EADB}
.btn-osc:hover{background:var(--espresso)}
.btn-claro{background:var(--papel);color:var(--tinta);box-shadow:inset 0 0 0 1.5px var(--linea)}
.btn-claro:hover{box-shadow:inset 0 0 0 1.5px var(--oro);background:#fff}
.btn-linea{background:rgba(255,255,255,.04);color:#F4EADB;box-shadow:inset 0 0 0 1.5px rgba(235,207,151,.45)}
.btn-linea:hover{background:rgba(235,207,151,.1)}
.btn-peligro{background:var(--papel);color:var(--mal);box-shadow:inset 0 0 0 1.5px #E7C3BA}
.btn-peligro:hover{background:var(--mal-s)}
.btn-ok{background:var(--ok);color:#fff}
.btn-ok:hover{background:#276A45}
.btn[disabled],.btn.desact{opacity:.5;pointer-events:none}
.btn-icono{padding:8px;border-radius:12px}

/* ---------- Cabecera ---------- */
.cab{position:sticky;top:0;z-index:40;background:rgba(36,26,19,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(235,207,151,.14);padding:11px 0}
.cab-in{display:flex;align-items:center;gap:22px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:#F6ECDD;flex:none}
.marca img{width:30px;height:auto}
.marca-txt{font-family:"PF",serif;font-size:20px;letter-spacing:.01em;white-space:nowrap;line-height:1.05;display:flex;flex-direction:column}
.marca-txt b{font-weight:700;color:var(--oroc)}
.marca-txt small{font-family:"IN",sans-serif;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#B8A88F;margin-top:3px;font-weight:600}
.nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav a{display:flex;align-items:center;gap:8px;color:#E3D5C0;text-decoration:none;font-size:14.5px;font-weight:500;padding:8px 13px;border-radius:999px;white-space:nowrap;transition:background .2s,color .2s}
.nav a .ic{width:17px;height:17px;opacity:.85}
.nav a:hover{background:rgba(235,207,151,.08);color:#fff}
.nav a.on{background:rgba(235,207,151,.15);color:var(--oroc)}
.nav a.nav-crm{color:var(--oroc)}
.nav .badge{font-style:normal;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:var(--oro-grad);color:#24180F;font-size:11.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.nav-sep{width:1px;height:22px;background:rgba(235,207,151,.2);margin:0 6px}
.nav .nav-salir{display:none}
.cab-der{display:flex;align-items:center;gap:10px}
.yo{display:flex;align-items:center;gap:9px;text-decoration:none;color:#F1E4CF;padding:4px 12px 4px 4px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(235,207,151,.22)}
.yo:hover{background:rgba(235,207,151,.08)}
.yo-av{width:32px;height:32px;border-radius:50%;background:var(--oro-grad);color:#24180F;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.yo-nom{font-size:14px;font-weight:600;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hamb{display:none;width:42px;height:42px;border:0;border-radius:12px;background:rgba(255,255,255,.07);cursor:pointer;position:relative;box-shadow:inset 0 0 0 1px rgba(235,207,151,.2)}
.hamb span{position:absolute;left:12px;right:12px;height:2px;background:#F1E4CF;border-radius:2px;transition:transform .3s,top .3s}
.hamb span:first-child{top:16px}.hamb span:last-child{top:24px}
.hamb[aria-expanded="true"] span:first-child{top:20px;transform:rotate(45deg)}
.hamb[aria-expanded="true"] span:last-child{top:20px;transform:rotate(-45deg)}

/* ---------- Estructura ---------- */
.principal{position:relative;z-index:1;padding:34px 0 80px;min-height:calc(100vh - 140px)}
.pie-app{position:relative;z-index:1;border-top:1px solid var(--linea);padding:22px 0;font-size:13.5px;color:var(--gris)}
.pie-app .cont{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.pie-app a{color:var(--gris);text-decoration:none}
.pie-app a:hover{color:var(--bronce)}

.cabeza{display:flex;align-items:flex-end;justify-content:space-between;gap:18px 24px;flex-wrap:wrap;margin-bottom:26px}
.cabeza h1{font-size:clamp(28px,3.4vw,40px)}
.cabeza p{color:var(--gris);margin-top:8px;max-width:640px}
.cabeza-acc{display:flex;gap:10px;flex-wrap:wrap}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--bronce);margin-bottom:12px}
.eyebrow::before{content:"";width:26px;height:1.5px;background:currentColor}
.eyebrow.sin-linea::before{display:none}
.punto-vivo{width:8px;height:8px;border-radius:50%;background:var(--vivo);box-shadow:0 0 0 4px rgba(63,166,114,.2)}
.migas{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--gris);margin-bottom:14px;flex-wrap:wrap}
.migas a{color:var(--gris);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.migas a:hover{color:var(--bronce)}
.seccion{margin-top:34px}
.seccion-t{font-family:"IT",sans-serif;font-weight:800;font-size:21px;letter-spacing:-.02em;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.texto-gris{color:var(--gris)}
.peq{font-size:13.5px}

/* ---------- Tarjetas ---------- */
.tarjeta{background:var(--papel);border:1px solid var(--linea);border-radius:var(--r);box-shadow:var(--sombra2)}
.tarjeta-h{padding:18px 22px;border-bottom:1px solid var(--linea);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.tarjeta-h h2,.tarjeta-h h3{font-size:18px;letter-spacing:-.015em}
.tarjeta-b{padding:22px}
.tarjeta-osc{background:linear-gradient(160deg,#3B2E23,#241A13);color:#F1E4CF;border-color:rgba(235,207,151,.18)}
.tarjeta-osc .texto-gris{color:#BDAE98}
.rejilla{display:grid;gap:18px}
.rejilla-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.rejilla-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rejilla-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.col-lado{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}

/* ---------- Estadísticas ---------- */
.stat{background:var(--papel);border:1px solid var(--linea);border-radius:var(--r);padding:20px 22px;box-shadow:var(--sombra2);text-decoration:none;color:inherit;display:block;transition:transform .2s,border-color .2s}
a.stat:hover{transform:translateY(-2px);border-color:var(--oro)}
.stat small{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gris)}
.stat b{display:block;font-family:"IT",sans-serif;font-size:34px;font-weight:800;letter-spacing:-.03em;margin-top:8px;line-height:1}
.stat span{display:block;font-size:13.5px;color:var(--gris);margin-top:6px}
.stat.destacada{background:linear-gradient(150deg,#3B2E23,#241A13);color:#F6ECDD;border-color:transparent}
.stat.destacada small,.stat.destacada span{color:#C9B89E}
.stat.destacada b{color:var(--oroc)}

/* ---------- Avisos y chips ---------- */
.aviso{border-radius:var(--r2);padding:13px 16px;margin-bottom:18px;font-size:15px;border:1px solid transparent}
.aviso-ok{background:var(--ok-s);color:#1F5C3B;border-color:#C5E2CF}
.aviso-error{background:var(--mal-s);color:#7E2A1F;border-color:#EDC7BE}
.aviso-info{background:#EFE6D8;color:var(--cafe);border-color:var(--linea)}
.aviso-pend{background:var(--pend-s);color:#6E4A10;border-color:#EBD7AA}
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em;white-space:nowrap}
.chip-ok{background:var(--ok-s);color:var(--ok)}
.chip-mal{background:var(--mal-s);color:var(--mal)}
.chip-pend{background:var(--pend-s);color:var(--pend)}
.chip-gris{background:#ECE3D6;color:var(--gris)}
.chip-oro{background:var(--oro-grad);color:#24180F}

/* ---------- Formularios ---------- */
.campo{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.campo label,.etiqueta{font-size:13.5px;font-weight:600;color:var(--cafe)}
.campo input,.campo select,.campo textarea,.entrada{width:100%;padding:12px 14px;border-radius:var(--r2);border:1.5px solid var(--linea);background:#fff;color:var(--tinta);font-size:15.5px;transition:border-color .2s,box-shadow .2s}
.campo textarea{min-height:110px;resize:vertical;line-height:1.55}
.campo input:focus,.campo select:focus,.campo textarea:focus,.entrada:focus{outline:none;border-color:var(--oro);box-shadow:0 0 0 4px rgba(201,154,85,.2)}
.campo input[type=file]{padding:10px;background:var(--papel)}
.campo-ayuda{font-size:13px;color:var(--gris);line-height:1.5}
.campos-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.campos-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 16px}
.check{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;cursor:pointer;margin-bottom:14px}
.check input{width:18px;height:18px;margin-top:3px;accent-color:var(--bronce);flex:none}
.clave-wrap{position:relative}
.clave-wrap input{padding-right:52px}
.clave-ver{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--gris);padding:8px;border-radius:10px;cursor:pointer;display:flex}
.clave-ver:hover{color:var(--bronce)}
.form-acc{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:6px}
.form-linea{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.form-linea .campo{margin-bottom:0;flex:1;min-width:180px}

/* ---------- Barra de avance ---------- */
.barra{height:8px;border-radius:99px;background:#E7DCCB;overflow:hidden}
.barra i{display:block;height:100%;border-radius:99px;background:var(--oro-grad);transition:width .4s}
.tarjeta-osc .barra{background:rgba(255,255,255,.1)}

/* ---------- Portadas y cursos ---------- */
.portada{aspect-ratio:16/9;overflow:hidden;background:var(--cafe);position:relative}
.portada img{width:100%;height:100%;object-fit:cover}
.portada-def{background:radial-gradient(120% 90% at 80% 10%,#6B4E33 0%,#3B2E23 45%,#241A13 100%);display:flex;align-items:flex-end;padding:20px 22px}
.portada-def img{position:absolute;right:-6%;top:50%;width:46%;height:auto;object-fit:contain;transform:translateY(-50%);opacity:.95;filter:drop-shadow(0 18px 30px rgba(0,0,0,.45))}
.portada-def span{position:relative;font-family:"IT",sans-serif;font-weight:800;font-size:clamp(20px,2.2vw,26px);letter-spacing:-.02em;color:#F6ECDD;line-height:1.1;max-width:62%}
.cursos{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:22px}
.curso-card{background:var(--papel);border:1px solid var(--linea);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sombra2);text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s,border-color .25s}
.curso-card:hover{transform:translateY(-3px);box-shadow:var(--sombra);border-color:var(--oro)}
.curso-card-b{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.curso-card h3{font-size:20px;letter-spacing:-.02em}
.curso-card p{color:var(--gris);font-size:14.5px}
.curso-meta{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;font-size:13.5px;color:var(--gris);margin-top:auto;padding-top:6px}
.curso-meta span{display:inline-flex;align-items:center;gap:6px}
.precio{font-family:"IT",sans-serif;font-weight:800;font-size:22px;letter-spacing:-.02em;color:var(--tinta)}
.precio small{font-family:"IN";font-weight:500;font-size:13px;color:var(--gris);margin-left:4px;letter-spacing:0}
.curso-card .chips{position:absolute;top:14px;left:14px;display:flex;gap:6px}
.curso-card .portada{position:relative}

.heroc{position:relative;overflow:hidden;border-radius:28px;background:radial-gradient(90% 120% at 85% 0%,#5A4128 0%,#3B2E23 40%,#241A13 100%);color:#F6ECDD;padding:38px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:34px;align-items:center;box-shadow:var(--sombra)}
.heroc::after{content:"";position:absolute;inset:0;background-image:var(--grano);opacity:.9;pointer-events:none}
.heroc>*{position:relative;z-index:1}
.heroc h1{font-size:clamp(30px,3.6vw,46px);color:#FBF2E4}
.heroc h1 em{color:var(--oroc)}
.heroc .eyebrow{color:var(--oroc)}
.heroc p{color:#D8C9B2}
.heroc .portada{border-radius:20px;box-shadow:0 30px 60px -20px rgba(0,0,0,.6);border:1px solid rgba(235,207,151,.2)}
.heroc-datos{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.heroc-datos div{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(235,207,151,.18);border-radius:16px;padding:10px 16px}
.heroc-datos small{display:block;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#B8A88F;font-weight:600}
.heroc-datos b{font-family:"IT",sans-serif;font-size:19px;color:#FBF2E4}
.heroc .btn-fila{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}

/* ---------- Contenido del curso ---------- */
.modulo{border:1px solid var(--linea);border-radius:var(--r);background:var(--papel);overflow:hidden;margin-bottom:14px}
.modulo-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;background:#F5EEE3;border-bottom:1px solid var(--linea)}
.modulo-h h3{font-size:16.5px}
.modulo-h small{color:var(--gris);font-size:13px;white-space:nowrap}
.lec{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid #EADFCF;text-decoration:none;color:inherit;transition:background .2s}
.lec:last-child{border-bottom:0}
a.lec:hover{background:#F7F0E5}
.lec-n{width:32px;height:32px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;background:#EDE3D3;color:var(--cafe)}
.lec-n .ic{width:16px;height:16px}
.lec.hecha .lec-n{background:var(--oro-grad);color:#24180F}
.lec.actual{background:#F4EADB}
.lec.actual .lec-n{background:var(--cafe);color:var(--oroc)}
.lec-t{flex:1;min-width:0}
.lec-t b{display:block;font-weight:600;font-size:15px;line-height:1.35}
.lec-t small{color:var(--gris);font-size:12.5px;display:flex;gap:10px;flex-wrap:wrap}
.lec.bloq{color:var(--gris2)}
.lec.bloq .lec-n{background:#EFE7DA;color:var(--gris2)}

/* ---------- Lección ---------- */
.lec-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:26px;align-items:start}
.video{position:relative;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#120D09;box-shadow:var(--sombra)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-vacio{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#BDAE98;text-align:center;padding:20px;background:radial-gradient(90% 120% at 80% 0%,#4E3D2E,#241A13)}
.video-vacio .ic{width:42px;height:42px;color:var(--oroc)}
.lec-titulo{margin:24px 0 6px;font-size:clamp(24px,2.6vw,32px)}
.contenido{font-size:16.5px;line-height:1.75;color:#3A2F25}
.contenido p{margin:0 0 14px}
.contenido h3{font-size:20px;margin:24px 0 10px}
.contenido ul,.contenido ol{margin:0 0 16px;padding-left:22px}
.contenido li{margin-bottom:6px}
.contenido a{color:var(--bronce2);word-break:break-word}
.archivos{display:grid;gap:10px}
.archivo{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid var(--linea);text-decoration:none;color:inherit;transition:border-color .2s,transform .2s}
.archivo:hover{border-color:var(--oro);transform:translateY(-1px)}
.archivo .ic{width:22px;height:22px;color:var(--bronce)}
.archivo b{display:block;font-size:14.5px;font-weight:600;word-break:break-word}
.archivo small{color:var(--gris);font-size:12.5px}
.archivo .bajar{margin-left:auto;color:var(--gris)}
.lec-nav{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:26px;padding-top:22px;border-top:1px solid var(--linea)}
.lado-sticky{position:sticky;top:84px}
.lado-sticky .modulo{max-height:calc(100vh - 220px);overflow:auto}

/* ---------- Listas de administración ---------- */
.lista{background:var(--papel);border:1px solid var(--linea);border-radius:var(--r);overflow:hidden;box-shadow:var(--sombra2)}
.fila{display:flex;align-items:center;gap:14px 18px;padding:15px 20px;border-bottom:1px solid #EADFCF;flex-wrap:wrap}
.fila:last-child{border-bottom:0}
.fila:hover{background:#F8F2E8}
.fila-av{width:40px;height:40px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-weight:700;background:#EADFCC;color:var(--cafe)}
.fila-av.admin{background:var(--oro-grad);color:#24180F}
.fila-t{flex:1;min-width:200px}
.fila-t b{display:block;font-weight:600;font-size:15px}
.fila-t a{color:inherit;text-decoration:none}
.fila-t a:hover{color:var(--bronce)}
.fila-t small{display:block;color:var(--gris);font-size:13px;line-height:1.5;word-break:break-word}
.fila-acc{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.fila-dato{font-size:13.5px;color:var(--gris);min-width:110px}
.fila-dato b{display:block;color:var(--tinta);font-size:14.5px}
.vacio{padding:40px 24px;text-align:center;color:var(--gris)}
.vacio .ic{width:38px;height:38px;color:var(--oro);margin:0 auto 10px}
.vacio b{display:block;color:var(--tinta);font-size:17px;margin-bottom:4px;font-family:"IT";letter-spacing:-.01em}
.filtros{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.filtros a{padding:8px 15px;border-radius:999px;text-decoration:none;font-size:14px;font-weight:600;color:var(--cafe);background:var(--papel);box-shadow:inset 0 0 0 1.5px var(--linea)}
.filtros a.on{background:var(--cafe);color:var(--oroc);box-shadow:none}
.filtros a i{font-style:normal;opacity:.7;margin-left:4px}
.buscador{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.buscador .entrada{max-width:360px}
.mini-acc{display:inline-flex;gap:4px}
.mini-acc form{display:inline}
.dato-par{display:grid;grid-template-columns:140px 1fr;gap:8px 16px;font-size:14.5px}
.dato-par dt{color:var(--gris)}
.dato-par dd{margin:0;font-weight:600;word-break:break-word}
.comprobante-img{max-height:420px;border-radius:14px;border:1px solid var(--linea);background:#fff}
details.plegable{border:1px solid var(--linea);border-radius:var(--r2);background:#fff;padding:0 16px;margin-bottom:12px}
details.plegable summary{cursor:pointer;padding:12px 0;font-weight:600;list-style:none;display:flex;align-items:center;justify-content:space-between}
details.plegable summary::-webkit-details-marker{display:none}
details.plegable summary::after{content:"+";font-size:20px;color:var(--bronce)}
details.plegable[open] summary::after{content:"–"}
details.plegable>div{padding:0 0 16px}

/* ---------- Pasos de pago ---------- */
.pasos{counter-reset:p;display:grid;gap:14px}
.paso{display:flex;gap:14px;align-items:flex-start}
.paso::before{counter-increment:p;content:counter(p);width:30px;height:30px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;background:var(--oro-grad);color:#24180F}
.paso.hecho::before{content:"✓"}
.paso b{display:block}
.paso p{color:var(--gris);font-size:14.5px}
.caja-pago{white-space:pre-wrap;background:#fff;border:1px dashed var(--oro);border-radius:var(--r2);padding:14px 16px;font-size:14.5px;margin-top:8px}

/* ---------- Entrar / crear cuenta ---------- */
body.acceso{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;background:var(--crema)}
.acceso-lado{position:relative;overflow:hidden;background:radial-gradient(90% 80% at 85% 15%,#6A4C31 0%,#3B2E23 42%,#241A13 100%);color:#F1E4CF}
.acceso-lado::after{content:"";position:absolute;inset:0;background-image:var(--grano);opacity:.9;pointer-events:none}
.acceso-lado-in{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;padding:38px 48px}
.acceso-txt{margin-top:auto;margin-bottom:auto;max-width:480px;padding:40px 0}
.acceso-txt .eyebrow{color:var(--oroc)}
.acceso-txt .eyebrow::before{display:none}
.acceso-txt h1{font-size:clamp(34px,3.8vw,52px);color:#FBF2E4;line-height:1.04}
.acceso-txt h1 em{color:var(--oroc)}
.acceso-lista{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px}
.acceso-lista li{display:flex;align-items:center;gap:12px;color:#D8C9B2;font-size:16px}
.acceso-lista .ic{width:34px;height:34px;padding:8px;border-radius:11px;background:rgba(235,207,151,.1);color:var(--oroc);box-shadow:inset 0 0 0 1px rgba(235,207,151,.22)}
.acceso-iso{position:absolute;right:-70px;bottom:-40px;width:340px;opacity:.16;z-index:0;filter:blur(.3px)}
.acceso-main{display:flex;align-items:center;justify-content:center;padding:40px 28px;position:relative;z-index:1}
.acceso-caja{width:100%;max-width:440px}
.acceso-caja h2{font-size:clamp(28px,3vw,36px);margin-bottom:8px}
.acceso-caja .sub{color:var(--gris);margin-bottom:26px}
.acceso-volver{margin-top:26px;text-align:center;font-size:14px}
.acceso-volver a{color:var(--gris);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.acceso-volver a:hover{color:var(--bronce)}
.acceso-alt{margin-top:22px;text-align:center;font-size:15px;color:var(--gris)}
.acceso-alt a{color:var(--bronce2);font-weight:600}
.olvide{display:block;text-align:right;font-size:13.5px;margin:-8px 0 18px;color:var(--gris)}


/* En administración hay más opciones: avatar sin nombre y menú plegable antes */
.zona-admin .yo-nom{display:none}
.zona-admin .yo{padding:4px}
.nav a.solo-icono span{display:none}
@media (max-width:1380px){
  .zona-admin .hamb{display:block}
  .zona-admin .nav{position:fixed;left:0;right:0;top:64px;flex-direction:column;align-items:stretch;gap:2px;padding:12px 16px 18px;background:rgba(36,26,19,.98);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 30px 50px rgba(0,0,0,.35);transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;margin:0;max-height:calc(100vh - 64px);overflow:auto}
  .zona-admin .nav.abierto{opacity:1;transform:none;pointer-events:auto}
  .zona-admin .nav a{padding:13px 14px;font-size:16px;border-radius:14px}
  .zona-admin .nav-sep{width:auto;height:1px;margin:6px 4px}
  .zona-admin .nav .nav-salir{display:flex}
  .zona-admin .nav a.solo-icono span{display:inline}
  .zona-admin .cab-der{margin-left:auto}
}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .rejilla-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lec-grid,.col-lado{grid-template-columns:minmax(0,1fr)}
  .lado-sticky{position:static}
  .lado-sticky .modulo{max-height:none}
  .heroc{grid-template-columns:1fr;padding:30px}
  .heroc .portada{max-width:560px}
}
@media (max-width:980px){
  .hamb{display:block}
  .nav a.solo-icono span{display:inline}
  .nav{position:fixed;left:0;right:0;top:64px;flex-direction:column;align-items:stretch;gap:2px;padding:12px 16px 18px;background:rgba(36,26,19,.98);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 30px 50px rgba(0,0,0,.35);transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;margin:0;max-height:calc(100vh - 64px);overflow:auto}
  .nav.abierto{opacity:1;transform:none;pointer-events:auto}
  .nav a{padding:13px 14px;font-size:16px;border-radius:14px}
  .nav-sep{width:auto;height:1px;margin:6px 4px}
  .nav .nav-salir{display:flex}
  .cab-der{margin-left:auto}
}
@media (max-width:860px){
  body.acceso{grid-template-columns:1fr}
  .acceso-lado-in{padding:22px 20px 26px}
  .acceso-txt{padding:22px 0 0;margin:0}
  .acceso-txt h1{font-size:28px}
  .acceso-lista{display:none}
  .acceso-iso{width:200px;right:-40px;bottom:-50px}
  .acceso-main{padding:30px 18px 40px;align-items:flex-start}
  .rejilla-3{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .cont{padding:0 16px}
  .principal{padding:22px 0 60px}
  .yo-nom{display:none}
  .yo{padding:4px}
  .rejilla-2,.rejilla-3{grid-template-columns:1fr}
  .rejilla-4{grid-template-columns:1fr 1fr;gap:12px}
  .stat{padding:16px}
  .stat b{font-size:27px}
  .campos-2,.campos-3{grid-template-columns:1fr}
  .tarjeta-b{padding:18px}
  .tarjeta-h{padding:16px 18px}
  .heroc{padding:22px 18px;border-radius:22px;gap:22px}
  .cursos{grid-template-columns:1fr}
  .fila{padding:14px 16px}
  .fila-acc{width:100%}
  .lec{padding:13px 16px}
  .modulo-h{padding:14px 16px}
  .dato-par{grid-template-columns:1fr;gap:2px}
  .dato-par dd{margin-bottom:10px}
  .lec-nav .btn{flex:1}
  .marca-txt{font-size:18px}
  .cab-der .btn-sm{padding:8px 12px;font-size:13px}
}
@media (max-width:420px){
  .cab-in{gap:10px}
  .cab-der{gap:6px}
  .cab-der .btn-sm{padding:8px 10px;font-size:12.5px}
  .marca img{width:26px}
  .marca-txt{font-size:16.5px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* Administración del Asistente P2P */
.h-tarjeta{font-size:18px;letter-spacing:-.015em;margin:0 0 8px}
.tarjeta-b>p{margin:0 0 8px;font-size:.95rem}
.diag{list-style:none;margin:12px 0 16px;padding:0;display:grid;gap:8px}
.diag li{padding:10px 12px;border-radius:12px;border:1px solid var(--linea);display:flex;flex-direction:column;gap:2px;font-size:.9rem}
.diag li.ok{background:rgba(63,166,114,.08);border-color:rgba(63,166,114,.35)}
.diag li.ok b{color:#2c7d55}
.diag li.mal{background:rgba(176,74,46,.07);border-color:rgba(176,74,46,.35)}
.diag li.mal b{color:#b04a2e}
.diag span{word-break:break-word}
.copiable{padding:12px 14px;border-radius:12px;background:#241A13;color:#EBCF97;overflow-x:auto}
.copiable code{font-family:ui-monospace,monospace;font-size:.82rem;white-space:nowrap}
.tabla-scroll{overflow-x:auto;margin:6px 0 10px}
.tabla{width:100%;border-collapse:collapse;font-size:.9rem;min-width:560px}
.tabla th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gris,#6D6155);padding:8px 10px;border-bottom:1px solid var(--linea)}
.tabla td{padding:10px;border-bottom:1px solid var(--linea);vertical-align:top}
.tabla small{color:var(--gris,#6D6155)}
