/* estilos.css — Plataforma Mesa de Transformación
   Paleta e identidad heredadas del sitio principal (index.php). */

:root{
  --navy:      #08111f;
  --navy-mid:  #0f1e35;
  --navy-card: #162540;
  --gold:      #c9a84c;
  --gold-lt:   #e4c977;
  --gold-dim:  rgba(201,168,76,0.15);
  --cream:     #f0ead8;
  --white:     #ffffff;
  --gray:      #8a9bb5;
  --gray-lt:   #b0bfd4;
  --red:       #c0392b;
  --amber:     #d9a520;
  --green:     #1e7f56;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'DM Sans',sans-serif;
  background:var(--navy);
  color:var(--cream);
  line-height:1.6;
  min-height:100vh;
}
a{color:var(--gold);text-decoration:none;}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;color:var(--gold-lt);line-height:1.2;}
::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-track{background:var(--navy);}
::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px;}

.btn{
  display:inline-block;background:var(--gold);color:var(--navy);
  padding:13px 30px;border-radius:4px;border:none;cursor:pointer;
  font-family:'DM Sans',sans-serif;font-weight:600;font-size:.9rem;
  letter-spacing:.03em;transition:background .25s,transform .15s;
}
.btn:hover{background:var(--gold-lt);transform:translateY(-1px);}
.btn-ghost{
  background:transparent;color:var(--gold);border:1px solid var(--gold);
}
.btn-ghost:hover{background:var(--gold-dim);}

/* ── LOGIN ── */
.login-wrap{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:24px;
  background:radial-gradient(1200px 600px at 50% -10%,var(--navy-mid),var(--navy));
}
.login-card{
  width:100%;max-width:430px;background:var(--navy-card);
  border:1px solid rgba(201,168,76,.18);border-radius:14px;
  padding:44px 40px;box-shadow:0 24px 60px rgba(0,0,0,.5);
}
.login-brand{text-align:center;margin-bottom:8px;}
.login-brand .logo{font-family:'Cormorant Garamond',serif;color:var(--gold);
  font-size:1.5rem;letter-spacing:.05em;}
.login-mesa{
  text-align:center;color:var(--gray-lt);font-size:.72rem;
  text-transform:uppercase;letter-spacing:.22em;margin-bottom:30px;
}
.login-card h1{font-size:1.9rem;text-align:center;margin-bottom:6px;color:var(--cream);}
.login-sub{text-align:center;color:var(--gray);font-size:.9rem;margin-bottom:28px;}
.field{margin-bottom:18px;}
.field label{display:block;font-size:.72rem;text-transform:uppercase;
  letter-spacing:.12em;color:var(--gray-lt);margin-bottom:7px;font-weight:600;}
.field input{
  width:100%;padding:13px 15px;background:var(--navy);color:var(--cream);
  border:1px solid rgba(201,168,76,.22);border-radius:6px;font-size:.95rem;
  font-family:'DM Sans',sans-serif;transition:border-color .2s;
}
.field input:focus{outline:none;border-color:var(--gold);}
.login-card .btn{width:100%;margin-top:6px;}
.alert{padding:12px 16px;border-radius:6px;font-size:.88rem;margin-bottom:20px;}
.alert-error{background:rgba(192,57,43,.15);border:1px solid var(--red);color:#f3c6c1;}
.alert-ok{background:rgba(30,127,86,.15);border:1px solid var(--green);color:#bfe6d3;}
.login-hint{margin-top:22px;text-align:center;color:var(--gray);font-size:.78rem;line-height:1.7;}

/* ── PORTAL SHELL ── */
.portal{display:flex;min-height:100vh;}
.sidebar{
  width:270px;flex-shrink:0;background:var(--navy-mid);
  border-right:1px solid rgba(201,168,76,.14);
  padding:26px 0;position:sticky;top:0;height:100vh;overflow-y:auto;
}
.sidebar .brand{padding:0 26px 22px;border-bottom:1px solid rgba(201,168,76,.12);margin-bottom:18px;}
.sidebar .brand .logo{font-family:'Cormorant Garamond',serif;color:var(--gold);font-size:1.25rem;display:block;}
.sidebar .brand small{color:var(--gray);font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;}
.nav-link{
  display:flex;align-items:center;gap:12px;padding:12px 26px;color:var(--gray-lt);
  font-size:.9rem;cursor:pointer;border-left:3px solid transparent;transition:all .2s;
  background:none;border-right:none;border-top:none;border-bottom:none;width:100%;text-align:left;
  font-family:'DM Sans',sans-serif;
}
.nav-link:hover{color:var(--cream);background:rgba(201,168,76,.06);}
.nav-link.active{color:var(--gold-lt);border-left-color:var(--gold);background:var(--gold-dim);}
.nav-link .ico{font-size:1.05rem;width:22px;text-align:center;}
.sidebar-foot{padding:18px 26px 0;margin-top:14px;border-top:1px solid rgba(201,168,76,.12);}
.sidebar-foot a{font-size:.82rem;color:var(--gray);}

.content{flex:1;padding:44px 6% 80px;max-width:1000px;}
.panel{display:none;animation:fade .4s ease;}
.panel.active{display:block;}
@keyframes fade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

.eyebrow{color:var(--gold);font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;font-weight:600;margin-bottom:10px;}
.panel h1{font-size:2.5rem;margin-bottom:14px;color:var(--cream);}
.panel .lead{color:var(--gray-lt);font-size:1.05rem;max-width:70ch;margin-bottom:34px;}

.card{
  background:var(--navy-card);border:1px solid rgba(201,168,76,.14);
  border-radius:12px;padding:26px 28px;margin-bottom:20px;
}
.card h3{font-size:1.4rem;color:var(--gold-lt);margin-bottom:10px;}
.card p{color:var(--gray-lt);margin-bottom:8px;}
.authors{
  display:inline-block;margin-top:10px;font-size:.78rem;color:var(--gold);
  background:var(--gold-dim);padding:5px 12px;border-radius:20px;
}
.authors::before{content:"✍ ";}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;}
.value-card{background:var(--navy-card);border:1px solid rgba(201,168,76,.14);
  border-radius:12px;padding:24px;}
.value-card .vico{font-size:2rem;}
.value-card h3{font-size:1.35rem;margin:10px 0 8px;}
.value-card p{color:var(--gray-lt);font-size:.92rem;}

/* ── SESSIONS ── */
.session-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:26px;}
.chip{background:var(--navy-card);border:1px solid rgba(201,168,76,.2);
  border-radius:20px;padding:7px 16px;font-size:.8rem;color:var(--gray-lt);}
.chip strong{color:var(--gold-lt);}
.session-block{border-left:3px solid var(--gold);padding-left:20px;margin-bottom:26px;}
.session-block h4{font-size:1.2rem;color:var(--cream);margin-bottom:8px;}

/* ── COMPROMISO ── */
.compromiso-text{
  background:var(--navy-mid);border-left:4px solid var(--gold);
  border-radius:0 10px 10px 0;padding:26px 30px;margin:24px 0;
  white-space:pre-line;color:var(--cream);font-size:1.02rem;line-height:1.9;
  font-family:'Cormorant Garamond',serif;
}
.checkbox-row{display:flex;align-items:flex-start;gap:12px;margin:18px 0;}
.checkbox-row input{margin-top:5px;width:18px;height:18px;accent-color:var(--gold);}
.checkbox-row label{color:var(--gray-lt);font-size:.92rem;}

/* ── SEMÁFORO ── */
.semaforo-wrap{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;
  background:var(--navy-card);border:1px solid rgba(201,168,76,.14);border-radius:16px;padding:34px;}
.traffic{background:#0b0b0f;border-radius:20px;padding:22px 20px;display:flex;flex-direction:column;
  gap:18px;box-shadow:inset 0 0 30px rgba(0,0,0,.6);}
.bulb{width:74px;height:74px;border-radius:50%;background:#1c1c22;transition:all .3s;
  border:2px solid rgba(255,255,255,.05);}
.bulb.red.on{background:var(--red);box-shadow:0 0 34px 6px rgba(192,57,43,.75);}
.bulb.amber.on{background:var(--amber);box-shadow:0 0 34px 6px rgba(217,165,32,.75);}
.bulb.green.on{background:#1fbf6f;box-shadow:0 0 34px 6px rgba(31,191,111,.75);}
.timer-panel{text-align:center;}
.timer-display{font-family:'Cormorant Garamond',serif;font-size:5rem;line-height:1;color:var(--cream);
  font-variant-numeric:tabular-nums;}
.timer-state{font-size:.85rem;text-transform:uppercase;letter-spacing:.2em;margin:10px 0 24px;color:var(--gray-lt);}
.timer-state.verde{color:#1fbf6f;}
.timer-state.amarillo{color:var(--amber);}
.timer-state.rojo{color:var(--red);}
.timer-controls{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.timer-legend{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-top:22px;font-size:.8rem;color:var(--gray);}
.timer-legend span{display:flex;align-items:center;gap:7px;}
.dot{width:12px;height:12px;border-radius:50%;display:inline-block;}
.dot.g{background:#1fbf6f;}.dot.a{background:var(--amber);}.dot.r{background:var(--red);}

/* ── VISOR PDF DE SESIÓN ── */
.pdf-viewer{
  background:var(--navy-card);border:1px solid rgba(201,168,76,.14);
  border-radius:12px;padding:22px 24px;margin-bottom:30px;
}
.pdf-head{display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:12px;margin-bottom:16px;}
.pdf-head h3{font-size:1.35rem;color:var(--gold-lt);}
.pdf-head .btn{padding:9px 18px;font-size:.8rem;}
.pdf-viewer iframe{
  width:100%;height:70vh;min-height:420px;border:1px solid rgba(201,168,76,.18);
  border-radius:8px;background:#0b0b0f;display:block;
}
.pdf-fallback{margin-top:12px;font-size:.8rem;color:var(--gray);}

/* ── TABLA MAESTRA DE AUTORES ── */
.tabla-title{font-size:2rem;color:var(--cream);margin-bottom:12px;}
.tabla-tools{display:flex;flex-direction:column;gap:14px;margin-bottom:20px;}
.tabla-tools input[type="search"]{
  width:100%;max-width:460px;padding:12px 16px;background:var(--navy-card);
  color:var(--cream);border:1px solid rgba(201,168,76,.22);border-radius:8px;
  font-size:.92rem;font-family:'DM Sans',sans-serif;transition:border-color .2s;
}
.tabla-tools input[type="search"]:focus{outline:none;border-color:var(--gold);}
.tabla-filtros{display:flex;flex-wrap:wrap;gap:10px;}
.tabla-filtros .filtro{cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s;}
.tabla-filtros .filtro:hover{border-color:var(--gold);color:var(--cream);}
.tabla-filtros .filtro.active{background:var(--gold-dim);border-color:var(--gold);color:var(--gold-lt);}

.tabla-wrap{
  overflow-x:auto;border:1px solid rgba(201,168,76,.14);border-radius:12px;
  background:var(--navy-card);
}
.tabla-autores{width:100%;border-collapse:collapse;min-width:900px;font-size:.85rem;}
.tabla-autores thead th{
  position:sticky;top:0;background:var(--navy-mid);color:var(--gold);
  text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:600;
  padding:14px 16px;text-align:left;border-bottom:1px solid rgba(201,168,76,.25);
  font-family:'DM Sans',sans-serif;white-space:nowrap;
}
.tabla-autores tbody td{
  padding:14px 16px;border-bottom:1px solid rgba(201,168,76,.08);
  color:var(--gray-lt);vertical-align:top;line-height:1.55;
}
.tabla-autores tbody tr:last-child td{border-bottom:none;}
.tabla-autores tbody tr:hover td{background:rgba(201,168,76,.05);}
.tabla-autores td.num{color:var(--gold);font-weight:600;font-variant-numeric:tabular-nums;}
.tabla-autores td.autor{min-width:170px;}
.tabla-autores td.autor strong{color:var(--cream);display:block;font-size:.92rem;}
.tabla-autores td.autor small{color:var(--gray);font-size:.74rem;}
.tabla-autores td.corriente{min-width:150px;color:var(--gold-lt);font-size:.8rem;}
.tabla-autores td.aporte{min-width:260px;}
.tabla-autores td.obras{min-width:220px;font-size:.78rem;color:var(--gray);}
.badge{
  display:inline-block;padding:4px 11px;border-radius:20px;
  font-size:.7rem;font-weight:600;letter-spacing:.05em;white-space:nowrap;
}
.badge-org{background:rgba(90,140,220,.15);color:#8fb4e8;border:1px solid rgba(90,140,220,.35);}
.badge-pers{background:rgba(30,127,86,.18);color:#7fdcae;border:1px solid rgba(30,127,86,.45);}
.badge-ambos{background:var(--gold-dim);color:var(--gold-lt);border:1px solid rgba(201,168,76,.4);}
.tabla-vacia{padding:26px;text-align:center;color:var(--gray);}

@media(max-width:820px){
  .portal{flex-direction:column;}
  .sidebar{width:100%;height:auto;position:relative;display:flex;flex-wrap:wrap;padding:16px;gap:4px;}
  .sidebar .brand{width:100%;}
  .nav-link{width:auto;border-left:none;border-radius:20px;padding:8px 14px;}
  .nav-link.active{border-left:none;}
  .content{padding:30px 22px 60px;}
  .panel h1{font-size:2rem;}
  .semaforo-wrap{grid-template-columns:1fr;justify-items:center;gap:24px;}
  .timer-display{font-size:4rem;}
}
