/* ============================================================
   Plataforma Biz Nation · tema
   Blanco, tinta casi negra y un azul de acento. Barra arriba con
   Inicio / Clases en vivo / Newsletter, menú claro a la izquierda,
   el muro al centro y lo destacado a la derecha.
   styles.css trae los componentes; aquí van los colores y el armado.
   ============================================================ */
:root{
  --navy:#111318;          /* tinta: textos fuertes, la pastilla activa */
  --navy-2:#1d2027;
  --navy-3:#2b2f38;
  --yellow:#e4e8ff;        /* acento suave: fichas, etiquetas, resaltados (con texto oscuro) */
  --yellow-ink:#2b3bd1;
  --cyan:#3b4ef5;          /* foco, enlaces, barras */
  --magenta:#9aa6ff;
  --accent:#3b4ef5;        /* el azul de los botones principales */
  --accent-2:#2f40e0;

  --bg:#f4f5f7;
  --surface:#ffffff;
  --ink:#111318;
  --ink-2:#4a4f5c;
  --ink-3:#8b909c;
  --line:#e7e8ec;
  --muted:#6b7080;
  --radius:18px;
  --shadow:0 1px 2px rgba(17,19,24,.04);
  --font:'Inter','Segoe UI',system-ui,-apple-system,sans-serif;
  --topnav:72px;
}
body{background:var(--bg);font-size:15.5px}
h1,h2,h3{letter-spacing:-.025em}

/* ============ BARRA DE ARRIBA ============ */
.topnav{
  position:sticky;top:0;z-index:40;height:var(--topnav);
  display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;
  padding:0 24px;background:#fff;border-bottom:1px solid var(--line);
}
.topnav-brand{display:flex;align-items:center;gap:12px;min-width:0}
.topnav .logo{width:140px;height:auto;flex:none;display:block}
.brand-sub{
  margin:0;padding:3px 10px;border-radius:99px;background:var(--bg);border:1px solid var(--line);
  font-size:12px;font-weight:600;color:var(--ink-2);white-space:nowrap;
}
.topnav-tabs{display:flex;align-items:center;gap:6px}
.top-tab{
  display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border:0;border-radius:12px;
  background:none;font-size:15px;font-weight:500;color:var(--ink-2);text-decoration:none;white-space:nowrap;
  transition:background .12s,color .12s;
}
.top-tab:hover{background:var(--bg);color:var(--ink)}
.top-tab.is-active{background:#eceef2;color:var(--ink);font-weight:600}
.top-tab .ico{width:15px;height:15px;color:var(--ink-3)}
.topnav-right{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}
.topnav-right .icon-btn{width:40px;height:40px;color:var(--ink-2)}
.topnav-right .icon-btn.is-active{background:#eceef2;color:var(--ink)}
.topnav .search{flex:0 1 220px;background:var(--bg);border-color:transparent;padding:9px 14px}
.topnav .search:focus-within{background:#fff;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(59,78,245,.14)}
.mode{text-transform:none;letter-spacing:0;font-size:12px}
.mode-admin{background:var(--ink);color:#fff}

/* Admin: programa y espacio */
.ctx{display:flex;align-items:center;gap:6px;min-width:0}
.ctx label{
  display:flex;flex-direction:column;gap:1px;padding:5px 10px 5px 12px;border:1px solid var(--line);
  border-radius:12px;background:#fff;min-width:0;
}
.ctx span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}
.ctx select{border:0;background:none;padding:0;font-size:13.5px;font-weight:600;color:var(--ink);outline:none;
  min-width:130px;max-width:230px;cursor:pointer}
body.modo-admin .topnav .search{flex-basis:44px;min-width:44px}
body.modo-admin .topnav .search:focus-within{flex-basis:200px}
/* Admin: la barra lleva programa y espacio, así que se aligera lo demás para que respire */
body.modo-admin .topnav{grid-template-columns:auto minmax(0,1fr) auto;gap:20px}
body.modo-admin .topnav-tabs{justify-content:center;gap:2px}
body.modo-admin .top-tab{padding:8px 13px;font-size:14.5px}
body.modo-admin .brand-sub,body.modo-admin #topNewsletter{display:none}
body.modo-admin .ctx select{max-width:190px}
body.modo-admin .topnav-right{gap:8px}
@media (max-width:1600px){ body.modo-admin .mode{font-size:0;padding:8px;gap:0} body.modo-admin .mode .ico{width:16px;height:16px} }
body.en-espacio .ctx label:last-child{border-color:var(--accent);box-shadow:0 0 0 3px rgba(59,78,245,.12)}

/* Estudiante: su grupo */
.who{display:flex;align-items:center;gap:10px;padding:4px 4px 4px 4px;margin-left:4px}
.who-txt{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.who-txt b{font-size:13.5px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.who-txt em{font-style:normal;font-size:11.5px;color:var(--ink-3)}

/* ============ ARMADO ============ */
.app{grid-template-columns:300px minmax(0,1fr);min-height:calc(100vh - var(--topnav))}
.main{min-width:0}
.content{
  grid-template-columns:minmax(0,1fr) 380px;gap:28px;max-width:1340px;
  padding:28px 32px 90px;align-items:start;
}
.rail{position:sticky;top:calc(var(--topnav) + 28px)}
body.vista-panel .rail{display:none}
body.vista-panel .content{grid-template-columns:minmax(0,1fr);max-width:1180px}
body.vista-panel #composerTrigger,body.vista-panel #btnNew{display:none}
body.vista-resumen .content{max-width:1340px}
.guia{height:calc(100vh - var(--topnav) - 170px)}

/* ============ MENÚ LATERAL CLARO ============ */
.sidebar{
  position:sticky;top:var(--topnav);height:calc(100vh - var(--topnav));
  background:#fff;color:var(--ink);border-right:1px solid var(--line);
}
.sidebar::after{display:none}
.nav{padding:16px 14px 24px}
.nav::-webkit-scrollbar-thumb{background:#dcdee4}
.nav-title{margin:20px 10px 6px;font-size:13px;font-weight:600;text-transform:none;letter-spacing:-.01em;color:var(--ink-2)}
.nav-title:first-child{margin-top:4px}
.nav-item{gap:10px;padding:8px 10px;border-radius:10px;color:var(--ink-2)}
.nav-item:hover{background:var(--bg);color:var(--ink)}
.nav-item.is-active{background:var(--ink);color:#fff;font-weight:600;box-shadow:none}
.nav-item .ico{color:var(--ink-3)}
.nav-item.is-active .ico{color:#fff}
.nav-label{font-size:13.5px}
.nav-item .nav-label em{color:var(--ink-3);font-size:9.5px;letter-spacing:.08em}
.nav-item .nav-label b{font-weight:500;font-size:13px;line-height:1.3}
.nav-item.is-active .nav-label em{color:rgba(255,255,255,.6);opacity:1}
.count{
  min-width:24px;padding:1px 6px;border-radius:7px;background:#fff;border:1px solid var(--line);
  font-size:11px;font-weight:600;color:var(--ink-2);
}
.nav-item.is-active .count{background:rgba(255,255,255,.14);border-color:transparent;color:#fff}
.count.is-alert{background:var(--accent);border-color:var(--accent);color:#fff}
.nav-item.is-active .count.is-alert{background:#fff;color:var(--ink)}
.nav-vacio{margin:4px 10px 8px;font-size:13px;color:var(--ink-3)}
.nav-vacio b{color:var(--ink-2)}
/* Trabajo autónomo: se distingue sin gritar */
.nav-item.nav-tareas{margin:2px 0 6px;background:var(--yellow);color:var(--yellow-ink);font-weight:600}
.nav-item.nav-tareas .ico{color:var(--yellow-ink)}
.nav-item.nav-tareas:hover{background:#d8ddff;color:var(--yellow-ink)}
.nav-item.nav-tareas.is-active{background:var(--ink);color:#fff}
.nav-item.nav-tareas.is-active .ico{color:#fff}
/* Ojito y filtro de áreas, sobre fondo claro */
.nav-eye{color:var(--ink-3)}
.nav-eye:hover{background:var(--bg);color:var(--ink)}
.nav-item.is-active + .nav-eye{color:rgba(255,255,255,.6)}
.nav-item.is-active + .nav-eye:hover{background:rgba(255,255,255,.12);color:#fff}
.nav-row.is-hidden .nav-item:not(.is-active) + .nav-eye{color:var(--accent)}
.nav-areas{border-left-color:var(--line)}
.nav-area{color:var(--ink-2)}
.nav-area:hover{background:var(--bg);color:var(--ink)}
.nav-area.is-on{background:var(--bg);color:var(--ink)}
.nav-area em{background:#fff;border:1px solid var(--line);color:var(--ink-2)}
.nav-area.is-on em{background:var(--ink);border-color:var(--ink);color:#fff}
#navAdmin .nav-title{color:var(--accent)}

.sidebar-foot{border-top-color:var(--line)}
.progress span{color:var(--ink-3)}
.progress-bar{background:var(--bg)}
.progress-bar i{background:var(--accent)}
.social a{background:var(--bg);color:var(--ink-2);width:36px;height:36px;padding:0;justify-content:center}
.social .ico{width:18px;height:18px}
.social a:hover{background:var(--ink);color:#fff}

/* ============ BOTONES ============ */
.btn{border-radius:12px;padding:10px 18px;border-color:var(--line);font-weight:600}
.btn:hover{background:var(--bg)}
.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-2);border-color:var(--accent-2)}
.btn-primary:disabled{opacity:.6;cursor:default}
.btn-ghost{border-color:transparent;background:none;color:var(--ink-2);padding:8px 12px}
.btn-ghost:hover{background:var(--bg);color:var(--ink)}
.icon-btn{border-radius:12px;color:var(--ink-3)}
.icon-btn:hover{background:var(--bg);color:var(--ink)}
.link-btn{text-decoration:none;color:var(--ink-2);font-weight:500}
.link-btn:hover{color:var(--accent);text-decoration:underline}

/* ============ CABECERA Y COMPOSER ============ */
.card{border-color:var(--line);box-shadow:var(--shadow);border-radius:var(--radius)}
.head-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 30px}
.head-txt{min-width:0}
.head-card h1{font-size:28px;font-weight:800;line-height:1.15}
.head-card p{margin:6px 0 0;font-size:14px;color:var(--ink-3)}
.head-card p:empty{display:none}
.composer{padding:16px 22px;border-radius:var(--radius);box-shadow:var(--shadow);color:var(--ink-3)}
.composer:hover{border-color:#cfd3dc}
.composer span:first-of-type{font-size:16px}
.composer-plus{width:42px;height:42px;border-radius:12px;background:var(--bg);color:var(--ink)}
.avatar{background:var(--ink);color:#fff;width:44px;height:44px;font-size:13.5px}
.avatar-sm{width:34px;height:34px;font-size:11.5px}
.avatar.is-b2b{background:var(--accent)}
.avatar.has-logo{background:#fff;border:1px solid var(--line);overflow:hidden;padding:3px}
.avatar.has-logo img{width:100%;height:100%;object-fit:contain;border-radius:50%}

/* ============ PUBLICACIONES ============ */
.stream{gap:20px}
#posts{display:flex;flex-direction:column;gap:20px}
#posts:empty{display:none}
.post{padding:26px 30px 10px}
.post.is-pinned{border-color:#cfd5ff;box-shadow:0 0 0 3px rgba(59,78,245,.08)}
.post.is-new{animation:post-nueva 1.8s ease}
@keyframes post-nueva{0%,30%{box-shadow:0 0 0 4px rgba(59,78,245,.35)}100%{box-shadow:0 0 0 4px rgba(59,78,245,0)}}
.post-top{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}
.post-title{flex:1;font-size:28px;line-height:1.2;font-weight:800;margin:0;letter-spacing:-.03em}
.post-actions .icon-btn{width:38px;height:38px;color:var(--ink-2)}
.post-actions .icon-btn[aria-pressed="true"]{color:var(--accent)}
.post-head{gap:14px;margin-bottom:18px;align-items:center}
.post-author{gap:10px;font-size:16px;font-weight:400}
.post-author b{font-weight:600}
.post-time{font-size:15px;color:var(--ink-3)}
.post-sub{font-size:13.5px;color:var(--ink-3);margin-top:1px}
.post-sub .link-btn{font-size:13.5px}
.tag{background:var(--bg);color:var(--ink-2);border:1px solid var(--line);font-size:11.5px;padding:2px 10px}
.tag .ico{color:var(--ink-3)}
.tag-pin{background:var(--yellow);border-color:transparent;color:var(--yellow-ink)}
.tag-pin .ico{color:var(--yellow-ink)}
.tag-aud{background:#fff7e6;border-color:#f5dfb0;color:#7a5200}
.tag-aud .ico{color:#a26d00}
.post-body{font-size:17px;line-height:1.65;color:#23262d}
.post-body b{color:var(--ink)}
.post-body a{color:var(--accent);text-decoration-color:rgba(59,78,245,.35)}
.post-body blockquote{background:#f6f7ff;border-color:#e2e6ff;border-left-color:var(--accent);color:#2a2f45}
.post-body.is-clamped{max-height:11.4em;overflow:hidden;
  -webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.ver-mas{display:block;margin:-2px 0 14px;padding:0;border:0;background:none;font-size:16px;color:var(--ink-3)}
.ver-mas:hover{color:var(--ink)}
.post-media{border-radius:14px;border-color:var(--line)}
.post-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:14px;padding:12px 0 6px;border-top:1px solid var(--line)}
.post-foot .reactions{padding:0;border:0;margin:0;gap:4px}
.post-foot-r{display:flex;align-items:center;gap:8px}
.react{border-color:transparent;background:none;padding:8px 12px;border-radius:12px;font-size:14.5px;color:var(--ink-2)}
.react .ico{width:20px;height:20px}
.react:hover{background:var(--bg);border-color:transparent;color:var(--ink)}
.react.is-on{background:var(--yellow);border-color:transparent;color:var(--yellow-ink)}
.react-total{margin:0;font-size:14px}

/* ============ COLUMNA DERECHA ============ */
.rail{gap:20px}
.rail-card{padding:24px 28px}
.rail-card h3{font-size:17px;font-weight:700;margin-bottom:16px}
.rail-vacio{margin:0;font-size:14px;color:var(--ink-3)}
.rail-pregunta:has(.pregunta),.pregunta-faq{background:#fff;border-color:var(--line)}
.pregunta .pregunta-ico,.pregunta-ico{background:var(--yellow);color:var(--yellow-ink)}
.pregunta textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(59,78,245,.14)}
.u-mark{background:linear-gradient(transparent 80%, #cdd4ff 80%)}

/* ============ VARIOS COMPONENTES ============ */
.empty{border-style:solid;border-color:var(--line);padding:56px 30px}
.empty::before,.empty::after{display:none}
.empty .ico{color:#c3c7d1}
.empty h3{color:var(--ink);font-size:18px}
.empty p{max-width:420px}
.faq{border-color:var(--line);box-shadow:var(--shadow)}
.faq[open]{border-color:#cfd5ff}
.faq-q{color:var(--ink)}
.faq-caret{background:var(--bg);color:var(--ink)}
.faq-q .faq-badge{background:var(--yellow);color:var(--yellow-ink)}
.faq.is-pending{border-color:#d9dce4}
.toast{background:var(--ink);color:#fff;border-radius:14px}
.overlay{background:rgba(17,19,24,.45)}
.modal{border-radius:20px}
.modal-head{background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}
.modal-head h2{font-size:18px;font-weight:700}
.modal-head .icon-btn{color:var(--ink-3)}
.modal-head .icon-btn:hover{background:var(--bg);color:var(--ink)}
.modal-foot{background:#fff}
.field>span{text-transform:none;letter-spacing:0;font-size:13px;font-weight:600;color:var(--ink)}
.field input,.field select,.field textarea{border-radius:12px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(59,78,245,.14)}
.field-nota{font-size:12px;color:var(--ink-3)}
.tab.is-active{background:var(--ink);border-color:var(--ink)}
.tab.is-active .ico{color:#fff}
.dropzone{border-color:#d3d6de;background:var(--bg)}
.dropzone:hover,.dropzone.is-over{border-color:var(--accent);background:#f6f7ff}
.check input,.radio input{accent-color:var(--accent)}
/* Casillas y botones de opción dentro de un campo: no se estiran como los de texto */
.field .radio input,.field .check input,.extras-grid input{width:16px;height:16px;padding:0;flex:none;box-shadow:none}
/* El ojito para ocultar una clase aparece al pasar por encima (en táctil, siempre) */
@media (hover:hover){
  body.modo-estudiante .nav-eye{opacity:0;transition:opacity .12s}
  body.modo-estudiante .nav-row:hover .nav-eye,
  body.modo-estudiante .nav-row.is-hidden .nav-eye,
  body.modo-estudiante .nav-eye:focus-visible{opacity:1}
}
.sk-card{border-left-color:var(--ink)}
.sk-card:hover{border-color:var(--ink);box-shadow:0 18px 40px -24px rgba(17,19,24,.35)}
.sk-tag.is-lvl{background:var(--yellow);color:var(--yellow-ink)}
.sk-prog{color:var(--accent)}
.sk-prompt{background:var(--ink)}
.sk-num-big{color:var(--ink-3)}
.quiz-card{border-left-color:var(--accent)}
.quiz-estado.is-on{background:var(--yellow);color:var(--yellow-ink)}
.quiz-barra i{background:var(--accent)}
.quiz-barra.is-baja i{background:#e0703a}
.quiz-cifras b{font-family:var(--font);font-weight:800}
.sk-head{margin-bottom:14px}
.sk-head .sk-label{font-size:13px}
.aviso{margin:0 0 14px;padding:12px 16px;border-radius:12px;background:#fff7e6;border:1px solid #f5dfb0;font-size:14px;color:#7a5200}

/* ============ ¿QUIÉN LO VE? ============ */
/* Fichas compactas: la casilla nativa se esconde y la ficha entera se marca */
.aud{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}
.aud-lista{display:flex;flex-wrap:wrap;gap:8px}
.aud-op{position:relative;display:inline-flex;align-items:center;cursor:pointer}
.field .aud-op input,.aud-op input{position:absolute;opacity:0;width:1px;height:1px;padding:0;margin:0;pointer-events:none}
.aud-txt{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid var(--line);border-radius:99px;
  font-size:13.5px;font-weight:500;color:var(--ink-2);background:#fff;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}
.aud-txt::before{content:'';width:15px;height:15px;border-radius:5px;border:1.5px solid #c9cdd6;flex:none;background:#fff center/11px no-repeat}
.aud-op:hover .aud-txt{border-color:#cfd3dc;color:var(--ink)}
.aud-op input:checked + .aud-txt{background:var(--ink);border-color:var(--ink);color:#fff}
.aud-op input:checked + .aud-txt::before{border-color:#fff;background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111318' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.aud-op input:focus-visible + .aud-txt{box-shadow:0 0 0 3px rgba(59,78,245,.25)}
.aud-txt em{font-style:normal;font-size:11px;font-weight:600;opacity:.6}
.aud-nota{margin:10px 2px 0;font-size:12.5px;color:var(--ink-3)}

/* ============ ENTRAR CON CLAVE ============ */
body.sin-sesion .topnav,body.sin-sesion .app{display:none}
.login{min-height:100vh;display:grid;place-items:center;padding:24px;
  background:radial-gradient(900px 500px at 50% -10%, #e4e8ff, transparent 70%), var(--bg)}
.login-card{width:min(440px,100%);padding:38px 36px 30px;background:#fff;border:1px solid var(--line);
  border-radius:24px;box-shadow:0 30px 60px -30px rgba(17,19,24,.25);text-align:center}
.login-card .logo{width:190px;height:auto;margin:0 auto 24px;display:block}
.login-card h1{font-size:26px;font-weight:800;margin-bottom:8px}
.login-card>p{margin:0 0 22px;font-size:15px;color:var(--ink-2)}
#loginForm{display:flex;flex-direction:column;gap:12px}
.login-campo{display:flex;align-items:center;gap:8px;padding:4px 6px 4px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.login-campo:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(59,78,245,.14)}
.login-campo>.ico{color:var(--ink-3)}
.login-campo input{flex:1;min-width:0;border:0;outline:none;padding:11px 0;font-size:16px;background:none}
#loginBtn{justify-content:center;padding:13px 18px;font-size:15.5px}
.login-msg{min-height:20px;margin:14px 0 0;font-size:14px;color:#c0392b}
.login-ayuda{margin:6px 0 0;font-size:13px;color:var(--ink-3)}

/* ============ CLASES EN VIVO ============ */
.clase-hero{padding:28px 30px;margin-bottom:20px;background:linear-gradient(135deg,#111318,#262b3d);color:#fff;border:0}
.clase-etiqueta{display:inline-block;padding:4px 12px;border-radius:99px;background:rgba(255,255,255,.12);font-size:12.5px;font-weight:600}
.clase-hero h2{font-size:26px;font-weight:800;margin:12px 0 10px}
.clase-cuando{display:flex;align-items:center;gap:10px;margin:0;font-size:16px;color:rgba(255,255,255,.85)}
.clase-cuando b{color:#fff}
.clase-nota{margin:12px 0 0;font-size:14.5px;color:rgba(255,255,255,.72)}
.clase-botones{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.clase-hero .btn:not(.btn-primary){background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff;text-decoration:none}
.clase-hero .btn-primary{text-decoration:none}
.clase-lista{padding:22px 26px}
.clase-lista h3{font-size:17px;margin-bottom:12px}
.clase-lista ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.clase-fila{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 0;border-top:1px solid var(--line)}
.clase-fila:first-child{border-top:0}
.clase-fila.is-pasada{opacity:.72}
.clase-fila.is-proxima .clase-dia{background:var(--accent);color:#fff}
.clase-dia{display:flex;flex-direction:column;align-items:center;justify-content:center;width:62px;height:62px;
  border-radius:14px;background:var(--bg);line-height:1.05}
.clase-dia b{font-size:22px;font-weight:800}
.clase-dia em{font-style:normal;font-size:12px;text-transform:uppercase;letter-spacing:.06em;opacity:.75;text-align:center}
.clase-info{display:flex;flex-direction:column;min-width:0}
.clase-info b{font-size:15.5px;font-weight:600}
.clase-info em{font-style:normal;font-size:13.5px;color:var(--ink-3)}
.clase-info small{font-size:13px;color:var(--ink-2);margin-top:2px}
.clase-acc .btn{text-decoration:none;padding:8px 14px;font-size:13.5px}
.clase-pronto{font-size:13px;color:var(--ink-3)}

/* El cronograma del admin: resumen arriba, una fila corta por sesión y una ventana para editar */
.crono-resumen{padding:22px 26px;margin-bottom:16px}
.crono-cifras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.crono-cifras div{padding:14px 16px;border-radius:14px;background:var(--bg)}
.crono-cifras b{display:block;font-size:22px;font-weight:800;line-height:1.15;letter-spacing:-.02em}
.crono-cifras b em{font-style:normal;font-size:14px;font-weight:600;color:var(--ink-3)}
.crono-cifras span{font-size:13px;color:var(--ink-3)}
.crono-lote{margin-top:14px;border:1px solid var(--line);border-radius:14px;padding:0 16px}
.crono-lote summary{display:flex;align-items:center;gap:8px;padding:13px 0;cursor:pointer;font-weight:600;font-size:14.5px;list-style:none}
.crono-lote summary::-webkit-details-marker{display:none}
.crono-lote summary .ico{color:var(--accent)}
.crono-lote summary::after{content:'';margin-left:auto;width:8px;height:8px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(45deg);transition:transform .15s}
.crono-lote[open] summary::after{transform:rotate(-135deg)}
.crono-lote-campos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}
.crono-lote-campos label{display:flex;flex-direction:column;gap:4px;min-width:0}
.crono-lote-campos span{font-size:12.5px;font-weight:600;color:var(--ink-2)}
.crono-lote-campos input,.crono-lote-campos select{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:14px;outline:none}
.crono-lote-campos input:focus,.crono-lote-campos select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(59,78,245,.14)}
.crono-lote-enlace{grid-column:1 / -1}
.crono-lote-pie{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 16px}
/* La agenda: primera clase, hora, frecuencia, plataforma y los días fijos como fichas */
.agenda-campos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}
.agenda-campos>label{display:flex;flex-direction:column;gap:4px;min-width:0}
.agenda-campos span{font-size:12.5px;font-weight:600;color:var(--ink-2)}
.agenda-campos input,.agenda-campos select{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:14px;outline:none}
.agenda-campos input:focus,.agenda-campos select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(59,78,245,.14)}
.agenda-dias,.agenda-enlace{grid-column:1 / -1;display:flex;flex-direction:column;gap:6px}
.agenda-dias small{font-size:12px;color:var(--ink-3)}
.dias{display:flex;flex-wrap:wrap;gap:8px}
.dia{position:relative;cursor:pointer}
.dia input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;pointer-events:none}
.dia span{display:grid;place-items:center;min-width:54px;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:99px;
  background:#fff;font-size:14px;font-weight:600;color:var(--ink-2)}
.dia:hover span{border-color:var(--ink-3)}
.dia input:checked + span{background:var(--accent);border-color:var(--accent);color:#fff}
.dia input:focus-visible + span{box-shadow:0 0 0 3px rgba(59,78,245,.25)}
.agenda-nueva .agenda-campos{margin-top:12px}
.crono-correo{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;
  padding:12px 16px;border-radius:14px;background:var(--bg);font-size:14px;color:var(--ink-2)}
.field-nota.is-error{color:#b0382b}
@media (max-width:760px){ .agenda-campos{grid-template-columns:1fr 1fr} }
.crono-lista{padding:6px 0}
.crono-row{display:grid;grid-template-columns:52px minmax(0,1.6fr) minmax(150px,1fr) auto auto;align-items:center;gap:16px;padding:12px 22px;border-top:1px solid var(--line)}
.crono-row:first-child{border-top:0}
.crono-row:hover{background:#fafbfc}
.crono-row.is-pasada{opacity:.7}
.crono-dia{display:flex;flex-direction:column;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:var(--ink);color:#fff;line-height:1.05}
.crono-dia b{font-size:18px;font-weight:800}
.crono-dia em{font-style:normal;font-size:11px;text-transform:uppercase;letter-spacing:.05em;opacity:.8}
.crono-row.is-libre .crono-dia{background:var(--bg);color:var(--ink-3);border:1px dashed #d3d6de}
.crono-row.is-libre .crono-dia em{font-size:14px;font-weight:700;opacity:1}
.crono-ses{display:flex;flex-direction:column;min-width:0}
.crono-ses em{font-style:normal;font-size:12px;font-weight:600;color:var(--ink-3)}
.crono-ses b{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.crono-cuando{display:flex;flex-direction:column;font-size:14px;font-weight:600}
.crono-cuando small{font-size:12.5px;font-weight:500;color:var(--ink-3)}
.crono-sin{font-weight:500;color:var(--ink-3)}
.crono-estado{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:99px;background:var(--bg);font-size:12px;font-weight:600;color:var(--ink-3);white-space:nowrap}
.pill .ico{width:13px;height:13px}
.pill.is-ok{background:#e6f6ec;color:#1d7a43}
.pill.is-falta{background:#fff3e0;color:#9a5b00}
.crono-row .btn{padding:8px 14px;font-size:13.5px}
.crono-ayuda{margin:0;padding:12px 22px 14px;font-size:13px;color:var(--ink-3);border-top:1px solid var(--line)}

/* Ventana de una sesión */
.modal-cr{width:min(560px,100%)}
.modal-sub{margin:2px 0 0;font-size:13px;color:var(--ink-3)}
.cr-cuando{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.opcional{font-style:normal;font-weight:500;color:var(--ink-3);margin-left:4px}
.segs{display:flex;flex-wrap:wrap;gap:6px}
.seg{position:relative;cursor:pointer}
.field .seg input,.seg input{position:absolute;opacity:0;width:1px;height:1px;padding:0;pointer-events:none}
.seg span{display:inline-block;padding:8px 14px;border:1px solid var(--line);border-radius:99px;font-size:13.5px;font-weight:500;color:var(--ink-2);background:#fff;transition:background .12s,border-color .12s}
.seg:hover span{border-color:#cfd3dc}
.seg input:checked + span{background:var(--ink);border-color:var(--ink);color:#fff}
.seg input:focus-visible + span{box-shadow:0 0 0 3px rgba(59,78,245,.25)}
#crQuitar{margin-right:auto;color:#b0382b}

/* ============ GRUPOS Y SESIONES (admin) ============ */
.grupo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.grupo-card{display:flex;flex-direction:column;gap:14px;padding:22px}
.grupo-card.is-off{background:#fafafb}
.grupo-card.is-off .grupo-top,.grupo-card.is-off .grupo-datos{opacity:.65}
.grupo-top{display:flex;align-items:center;gap:12px}
.grupo-top>div{flex:1;min-width:0}
.grupo-top h3{font-size:16.5px;line-height:1.25}
.grupo-top p{margin:2px 0 0;font-size:13px;color:var(--ink-3)}
.grupo-estado{flex:none;padding:3px 10px;border-radius:99px;background:#fdecea;color:#b0382b;font-size:11.5px;font-weight:700}
.grupo-estado.is-on{background:#e6f6ec;color:#1d7a43}
.grupo-datos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13.5px}
.grupo-datos li{display:flex;justify-content:space-between;gap:12px}
.grupo-datos span{color:var(--ink-3)}
.grupo-datos b{font-weight:600;text-align:right}
.grupo-prox{margin:0;font-size:14px;color:var(--ink-2)}
.grupo-prox b{color:var(--ink)}
.grupo-acciones{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:auto}
.grupo-acciones .btn{justify-content:center;padding:9px 14px;font-size:13.5px}
/* Tarjeta del grupo: título que respira, editar como ícono, estado en etiquetas y tres cifras */
.grupo-tit h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.grupo-editar{flex:none;align-self:flex-start;width:36px;height:36px;color:var(--ink-3)}
.grupo-editar:hover{background:var(--bg);color:var(--ink)}
.grupo-chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:99px;background:var(--bg);
  font-size:12px;font-weight:600;color:var(--ink-2);white-space:nowrap}
.chip .ico{width:13px;height:13px}
.chip.is-ok{background:#e6f6ec;color:#1d7a43}
.chip.is-aviso{background:#fff4dd;color:#8a5a00}
.chip-estado.is-on{background:#e6f6ec;color:#1d7a43}
.chip-estado.is-off{background:#fdecea;color:#b0382b}
.grupo-cifras{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.35fr);gap:8px;margin:0}
.grupo-cifras>div{padding:10px 11px;border-radius:12px;background:var(--bg);min-width:0}
.grupo-cifras dt{font-size:11.5px;font-weight:600;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.grupo-cifras dd{margin:2px 0 0;font-size:14.5px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.grupo-cifras dd.is-mal{color:#b0382b}
.grupo-nota{margin:0;font-size:12.5px;color:var(--ink-3)}

.ses-lista{list-style:none;margin:0;padding:6px 0}
.ses-item{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px 20px 14px 10px;border-top:1px solid var(--line);background:#fff}
/* Arrastrar para ordenar */
.ses-asa{display:grid;place-items:center;width:28px;height:40px;margin:0;padding:0;border:0;border-radius:8px;background:none;
  color:var(--ink-3);cursor:grab;touch-action:none}
.ses-asa:hover{background:var(--bg);color:var(--ink)}
.ses-asa:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(59,78,245,.25)}
.ses-item.is-arrastrando{position:relative;z-index:2;background:#f6f7ff;box-shadow:0 12px 30px -12px rgba(17,19,24,.35);border-radius:12px}
body.arrastrando,body.arrastrando *{cursor:grabbing !important;user-select:none}
.ses-item:first-child{border-top:0}
.ses-item.is-off{opacity:.55}
.ses-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--bg)}
.ses-txt{display:flex;flex-direction:column;min-width:0}
.ses-txt em{font-style:normal;font-size:12px;font-weight:600;color:var(--ink-3)}
.ses-txt b{font-size:15px;font-weight:600}
.ses-txt small{font-size:13px;color:var(--ink-3)}
.ses-n{font-size:12.5px;color:var(--ink-3);white-space:nowrap}
.ses-acc{display:flex;gap:2px}
.ses-acc .icon-btn{width:32px;height:32px}
.ses-acc .icon-btn:disabled{opacity:.25;cursor:default;background:none}

.modal-gr{width:min(720px,100%)}
#grListo{display:flex;flex-direction:column;gap:12px}
#grListo #grPersonas{align-self:flex-start}

/* ============ PERSONAS DE UN GRUPO (admin) ============ */
.modal-pe{width:min(980px,100%)}
.modal-pe .modal-body{display:flex;flex-direction:column;gap:14px}
.pe-cargando{margin:0;color:var(--ink-3)}
.pe-acceso{display:flex;gap:10px;align-items:flex-start;margin:0;padding:12px 14px;border-radius:14px;
  background:#fff7e6;color:#7a4b00;font-size:14px;line-height:1.45}
.pe-acceso.is-cerrado{background:#e6f6ec;color:#1d5c37}
.pe-acceso .ico{flex:none;margin-top:1px}
.pe-clave{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px;color:var(--ink-2)}
.pe-clave>.ico{width:18px;height:18px;color:#1d7a43}
.pe-clave code{padding:4px 10px;border-radius:9px;background:var(--bg);font-size:14px;color:var(--ink);letter-spacing:.02em}
.pe-clave.is-falta{flex-direction:column;align-items:stretch;gap:8px;padding:12px 14px;border:1px dashed var(--line);border-radius:14px}
.pe-agregar{border:1px solid var(--line);border-radius:14px;padding:0 14px}
.pe-agregar summary{display:flex;align-items:center;gap:8px;padding:12px 0;font-weight:600;cursor:pointer;list-style:none}
.pe-agregar summary::-webkit-details-marker{display:none}
.pe-agregar[open]{padding-bottom:14px}
.pe-agregar .field-nota{display:block;margin:0 0 8px}
.pe-agregar textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;tab-size:16;white-space:pre;overflow-x:auto}
.pe-agregar-acc{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.pe-agregar[open]{display:flex;flex-direction:column;gap:10px}
.pe-agregar #peAgregar:disabled,.pe-paso #peAgregar:disabled{opacity:.5;cursor:default}
.pe-previa:empty{display:none}
.pe-previa{display:flex;flex-direction:column;gap:6px}
.pe-previa table,.pe-ejemplo table{width:100%;border-collapse:collapse;font-size:13px}
.pe-previa th,.pe-previa td,.pe-ejemplo th,.pe-ejemplo td{padding:6px 10px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
.pe-previa th,.pe-ejemplo th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);background:#fafafb}
.pe-previa table{border:1px solid var(--line);border-radius:10px;border-collapse:separate;border-spacing:0;overflow:hidden}
.pe-previa tr.is-ya td{color:var(--ink-3);background:#fafafb}
.pe-previa-tit,.pe-previa-mas,.pe-previa-vacia{margin:0;font-size:12.5px;color:var(--ink-3)}
.pe-previa-vacia{color:#8a5a00}
/* Pasos numerados del panel cuando todavía no hay lista */
.pe-paso{display:flex;gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:#fff}
.pe-num{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;font-size:13.5px;font-weight:700}
.pe-paso-cuerpo{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}
.pe-paso-cuerpo>b{font-size:15.5px;line-height:28px}
.pe-paso-cuerpo>span{margin-top:-8px;font-size:13.5px;color:var(--ink-2)}
.pe-ejemplo{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:12px;background:var(--bg)}
.pe-ejemplo>span{font-size:13px;font-weight:600;color:var(--ink-2)}
.pe-ejemplo table{background:#fff;border-radius:8px;overflow:hidden}
.pe-ejemplo td{color:var(--ink-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
.pe-ejemplo small{font-size:12px;color:var(--ink-3)}
.pe-archivo{cursor:pointer}
.pe-barra{display:flex;gap:8px;flex-wrap:wrap}
.modal-pe input:not([type=file]),.modal-pe textarea,.modal-pe select{
  width:100%;padding:10px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;
  outline:none;font:inherit;font-size:14.5px;color:var(--ink)}
.modal-pe input:focus,.modal-pe textarea:focus,.modal-pe select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(59,78,245,.14)}
.pe-barra input[type=search]{flex:1;width:auto;min-width:200px}
.pe-tabla{overflow-x:auto;border:1px solid var(--line);border-radius:14px}
.pe-tabla table{width:100%;border-collapse:collapse;font-size:14px}
.pe-tabla th,.pe-tabla td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
.pe-tabla tbody tr:last-child td{border-bottom:0}
.pe-tabla th{font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);background:#fafafb;white-space:nowrap}
.pe-tabla tr.is-off td{color:var(--ink-3)}
.pe-persona b{font-weight:600}
.pe-persona em{display:block;font-style:normal;font-size:12.5px;color:var(--ink-3)}
.pe-tag{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:99px;background:var(--yellow);color:var(--yellow-ink);font-size:11px;font-weight:700;vertical-align:1px}
.pe-tag.is-off{background:#fdecea;color:#b0382b}
.pe-gris{color:var(--ink-3)}
.pe-ok{display:inline-flex;align-items:center;gap:4px;color:#1d7a43;font-weight:600;white-space:nowrap}
.pe-ok .ico{width:15px;height:15px}
.pe-acc{text-align:right}
.pe-acc>div{display:inline-flex;gap:2px}
.pe-acc .icon-btn{width:32px;height:32px}
.pe-acc .icon-btn:disabled{opacity:.25;cursor:default;background:none}
.pe-vacio{text-align:center;color:var(--ink-3)}
.pe-editando td{background:#f6f7ff}
.pe-diag-celda{white-space:nowrap}
.pe-diag-pend{display:inline-flex;align-items:center;gap:2px}
.pe-diag-pend .pe-gris{margin-right:4px}
.pe-diag-celda .icon-btn{width:30px;height:30px}
.pe-diag-celda .icon-btn:disabled{opacity:.25;cursor:default;background:none}
.pe-ver{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid #cfe9d8;border-radius:99px;background:#e6f6ec;
  color:#1d7a43;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.pe-ver:hover{background:#d6efdf}
.pe-ver .ico{width:14px;height:14px}
.pe-diag-resumen{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 14px;
  border-radius:14px;background:var(--bg);font-size:14px;color:var(--ink-2)}
.pe-diag-resumen b{color:var(--ink)}
.pe-diag-acc{display:flex;gap:6px;flex-wrap:wrap}
.pe-diag-acc .btn{padding:7px 12px;font-size:13.5px}
.pe-diag-cab{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--ink-2)}
.pe-diag-cab b{color:var(--ink)}
.pe-diag{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px}
.pe-diag li{padding:12px 16px;border-top:1px solid var(--line)}
.pe-diag li:first-child{border-top:0}
.pe-diag span{display:block;font-size:12.5px;font-weight:600;color:var(--ink-3)}
.pe-diag p{margin:3px 0 0;font-size:14.5px;white-space:pre-wrap}
/* El aviso del diagnóstico para el estudiante */
.aviso-diag{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px;padding:18px 22px;
  background:linear-gradient(135deg,#eef0ff,#fff);border-color:#d5dbff}
.aviso-diag-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.aviso-diag-txt b{font-size:16px}
.aviso-diag-txt span{font-size:14px;color:var(--ink-2)}
.aviso-diag .btn{text-decoration:none}
.pe-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.pe-form-acc{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
@media (max-width:640px){
  .pe-tabla th:nth-child(2),.pe-tabla td:nth-child(2),.pe-tabla th:nth-child(3),.pe-tabla td:nth-child(3){display:none}
}
.clave-fila{display:flex;gap:8px}
.clave-fila input{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em}
.radio{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;font-size:14px;color:var(--ink-2);cursor:pointer}
.radio:has(input:checked){border-color:var(--accent);background:#f6f7ff}
.radio input{margin-top:3px}
.radio b{color:var(--ink)}
.check-activo{align-self:end;padding:10px 0}
.extras-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px 14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px}
.mas-datos{border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.mas-datos summary{cursor:pointer;font-size:13.5px;font-weight:600;color:var(--ink-2)}
.mas-datos[open]{display:flex;flex-direction:column;gap:12px}
.listo-txt{margin:0;font-size:14.5px;color:var(--ink-2)}
#grMensaje{width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--bg);font-size:14px;line-height:1.55;resize:vertical}
#grCopiar{align-self:flex-start}
.iconos{display:flex;flex-wrap:wrap;gap:6px}
.ico-op{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;cursor:pointer;color:var(--ink-2)}
.ico-op input{position:absolute;opacity:0;pointer-events:none}
.ico-op:has(input:checked){background:var(--ink);border-color:var(--ink);color:#fff}

/* ============ RESPONSIVE ============ */
@media (max-width:1280px){
  .content{grid-template-columns:minmax(0,1fr) 320px;gap:22px;padding:24px}
  .ctx select{max-width:150px}
}
@media (max-width:1080px){
  .content{grid-template-columns:minmax(0,1fr)}
  .rail{position:static}
  .topnav{grid-template-columns:auto 1fr auto}
  .topnav .search{flex-basis:160px}
  .brand-sub{display:none}
}
@media (max-width:980px){
  .topnav{grid-template-columns:auto auto;grid-template-rows:var(--topnav) auto;height:auto;row-gap:0}
  .topnav-tabs{grid-column:1 / -1;grid-row:2;padding:0 0 10px;overflow-x:auto}
  .sidebar{top:auto}
  .ctx label span{display:none}
}
@media (max-width:820px){
  .topnav{padding:0 14px}
  .topnav .logo{width:112px}
  .app{grid-template-columns:1fr}
  .sidebar{position:fixed;top:0;height:100vh;z-index:60;width:300px;box-shadow:none}
  .sidebar.is-open{box-shadow:0 0 40px rgba(0,0,0,.28)}
  .content{padding:16px}
  .head-card{padding:18px 20px;flex-wrap:wrap}
  .head-card h1{font-size:22px}
  .post{padding:20px 20px 8px}
  .post-title{font-size:22px}
  .post-body{font-size:16px}
  .who-txt{display:none}
  .ctx{display:none}
  .crono-cifras{grid-template-columns:1fr 1fr}
  .crono-lote-campos{grid-template-columns:1fr 1fr}
  .crono-row{grid-template-columns:48px minmax(0,1fr) auto;padding:12px 16px}
  .crono-cuando{grid-column:2;grid-row:2}
  .crono-estado{grid-column:2 / -1;justify-content:flex-start}
  .clase-fila{grid-template-columns:62px minmax(0,1fr)}
  .clase-acc{grid-column:2}
}

/* ============ ENLACE DE CADA GRUPO ============ */
.login-grupo{margin:-8px 0 18px;padding:10px 14px;border-radius:12px;background:var(--yellow);color:var(--yellow-ink);font-size:14.5px}
.grupo-enlace{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:var(--bg);font-size:13px}
.grupo-enlace>.ico{width:15px;height:15px;color:var(--ink-3)}
.grupo-enlace code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;color:var(--ink-2)}
.grupo-enlace .btn{padding:5px 10px;font-size:12.5px}
.slug-fila{display:flex;align-items:center;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.slug-fila:focus-within{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(59,78,245,.14)}
.slug-base{padding:0 2px 0 13px;font-size:13px;color:var(--ink-3);white-space:nowrap;max-width:55%;overflow:hidden;text-overflow:ellipsis}
.field .slug-fila input{border:0;box-shadow:none;padding-left:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

/* ============ PDF PARA LEER (sin descarga) ============ */
.pdf-visor{background:var(--surface)}
.pdf-paginas{height:620px;overflow-y:auto;background:#e9ebef;padding:16px;display:flex;flex-direction:column;gap:14px;
  user-select:none;-webkit-user-select:none}
.pdf-pagina{width:100%;aspect-ratio:.773;background:#fff;border-radius:6px;box-shadow:0 1px 3px rgba(17,19,24,.12);overflow:hidden;flex:none}
.pdf-pagina canvas{display:block;width:100%;height:auto;-webkit-user-drag:none;pointer-events:none}
.pdf-cargando{margin:auto;font-size:14px;color:var(--ink-3)}
.pdf-n{font-style:normal;font-size:12.5px;color:var(--ink-3);white-space:nowrap}
.pdf-visor:fullscreen{display:flex;flex-direction:column;background:#e9ebef}
.pdf-visor:fullscreen .pdf-paginas{flex:1;height:auto;align-items:center}
.pdf-visor:fullscreen .pdf-pagina{max-width:1000px}
@media (max-width:700px){ .pdf-paginas{height:460px;padding:10px} }
@media print{ .pdf-visor{display:none !important} }

/* Imágenes y videos protegidos: no se seleccionan ni se arrastran */
.media-protegida img{-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none}
.media-protegida video{-webkit-touch-callout:none}

/* ============ ENLACES PARA COMPARTIR (admin) ============ */
.enlaces{padding:0 24px;margin-bottom:18px}
.enlaces summary{display:flex;align-items:center;gap:10px;padding:18px 0;cursor:pointer;list-style:none;font-size:16px;font-weight:700}
.enlaces summary::-webkit-details-marker{display:none}
.enlaces summary .ico{color:var(--accent)}
.enlaces summary span{margin-left:auto;font-size:13px;font-weight:500;color:var(--ink-3)}
.enlaces-lista{list-style:none;margin:0;padding:0 0 6px}
.enlace-prog{padding:14px 0 6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3)}
.enlace-fila{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,1.3fr) auto;align-items:center;gap:14px;padding:10px 0;border-top:1px solid var(--line)}
.enlace-fila.is-off{opacity:.55}
.enlace-txt{display:flex;flex-direction:column;min-width:0}
.enlace-txt b{font-size:14.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.enlace-txt em{font-style:normal;font-size:12.5px;color:var(--ink-3)}
.enlace-url{padding:8px 12px;border-radius:10px;background:var(--bg);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;
  color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:all}
.enlace-acc{display:flex;gap:6px}
.enlace-acc .btn{padding:7px 12px;font-size:13px;text-decoration:none}
.enlace-vacio{padding:12px 0;font-size:14px;color:var(--ink-3);border-top:1px solid var(--line)}
.enlaces-nota{margin:0;padding:10px 0 18px;font-size:12.5px;color:var(--ink-3);border-top:1px solid var(--line)}
@media (max-width:820px){
  .enlace-fila{grid-template-columns:minmax(0,1fr) auto}
  .enlace-url{grid-column:1 / -1;grid-row:2}
}

/* Menú lateral más compacto: íconos y espacios a la par de la letra */
.nav-item .ico{width:17px;height:17px}
#navSessions .nav-item{padding-top:7px;padding-bottom:7px}
#navSessions .nav-item .ico,#navSessions .nav-item .count{margin-top:9px}

/* ============ ESPACIO DE UN GRUPO ============ */
.aviso-info{background:#f6f7ff;border-color:#dfe3ff;color:var(--ink-2)}
.aviso-info b{color:var(--ink)}
.aviso-edita{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0;padding:12px 14px;border-radius:12px;
  background:#fff7e6;border:1px solid #f5dfb0;color:#7a5200;font-size:13.5px}
.aviso-edita span{flex:1;min-width:220px}
.aviso-edita .btn{padding:7px 12px;font-size:13px;background:#fff}
.ses-tag{display:inline-block;padding:0 7px;border-radius:99px;background:var(--bg);color:var(--ink-3);font-size:10.5px;font-weight:700}
.ses-tag.is-propia{background:var(--yellow);color:var(--yellow-ink)}
.ses-item.is-programa .ses-ico{background:#f0f1f4}
.ses-acc .btn{padding:6px 10px;font-size:12.5px}

/* ============ MODO DEL GRUPO ============ */
.modo-grupo{padding:18px 20px;margin-bottom:16px}
.modo-tit{margin:0 0 12px;font-size:14.5px;color:var(--ink-2)}
.modo-ops{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.modo-op{display:flex;flex-direction:column;gap:4px;text-align:left;padding:14px 16px;border-radius:14px;cursor:pointer;
  border:1.5px solid var(--line);background:var(--card, #fff);color:var(--ink);font:inherit}
.modo-op b{font-size:15px}
.modo-op span{font-size:13px;color:var(--ink-3)}
.modo-op:hover{border-color:var(--accent)}
.modo-op.is-on{border-color:var(--accent);background:#f3f4ff;box-shadow:0 0 0 3px rgba(80,90,255,.12)}
.ses-botones{display:flex;gap:8px;flex-wrap:wrap}
.ses-botones select.btn{max-width:260px}
@media (max-width:820px){ .modo-ops{grid-template-columns:1fr} }

/* ============ ENLACE EN UNA PUBLICACIÓN ============ */
.post-enlace{display:flex;align-items:center;gap:14px;margin-top:14px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;
  background:var(--bg);color:var(--ink);text-decoration:none}
.post-enlace:hover{border-color:var(--accent)}
.post-enlace-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#fff;color:var(--accent);flex:none}
.post-enlace-txt{display:flex;flex-direction:column;min-width:0;flex:1}
.post-enlace-txt b{font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.post-enlace-txt em{font-style:normal;font-size:12.5px;color:var(--ink-3)}
.post-enlace > .ico{color:var(--ink-3)}
.hint-enlace{display:block;margin-top:6px;font-size:12.5px;color:var(--ink-3)}

/* ============ CATÁLOGO DE PROMPTS: TARJETAS ============ */
.sk-card{flex-direction:column;gap:0;padding:18px 20px 16px;min-height:148px}
.sk-card .sk-body{padding-right:0;display:flex;flex-direction:column;flex:1}
.sk-top{display:flex;align-items:baseline;gap:10px;margin-bottom:8px;min-height:24px}
.sk-card.con-switch .sk-top{padding-right:96px}
.sk-top .sk-num{font-size:15px;color:var(--ink-3);opacity:.6}
.sk-top .sk-area{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sk-card h3{font-size:16px;line-height:1.3;margin:0 0 14px}
.sk-pie{margin-top:auto;display:flex;align-items:center;gap:10px;min-width:0}
.sk-pie .sk-tag{flex:none}
.sk-temas{flex:1;min-width:0;font-size:12px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sk-temas b{font-weight:600;color:var(--ink-2)}
.sk-card.is-off .sk-body{opacity:.55}

/* ============ MIS CLIENTES Y FICHA DEL CLIENTE (admin) ============ */
body.vista-ficha .head-card{display:none}
.nav-item.nav-clientes{font-weight:600}
.cl-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.cl-filtros{display:flex;gap:6px;flex-wrap:wrap}
.cl-filtro{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--line);border-radius:99px;background:#fff;
  font:inherit;font-size:14px;font-weight:600;color:var(--ink-2);cursor:pointer}
.cl-filtro em{font-style:normal;font-size:12px;color:var(--ink-3)}
.cl-filtro.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.cl-filtro.is-on em{color:rgba(255,255,255,.7)}
.cl-nuevo{padding:12px 20px;font-size:15px}
.cl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}
.cl-card{display:flex;flex-direction:column;gap:10px;padding:18px 20px;cursor:pointer;border:1px solid #ececf2;border-radius:16px;
  box-shadow:0 1px 2px rgba(20,24,60,.04);transition:box-shadow .15s,border-color .15s}
.cl-card:hover,.cl-card:focus-visible{border-color:#dcdcf0;box-shadow:0 10px 28px -16px rgba(40,30,120,.28);outline:none}
.cl-card.is-off{opacity:.55}
.cl-card.prog-marketing{--prog:#d63a7a}
.cl-card.prog-ventas{--prog:#1f9d57}
.cl-card.prog-productividad{--prog:#4b3fe0}
.cl-card.prog-ejecutivos{--prog:#c97a00}
.ct-eti{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;margin:0;font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.ct-eti>span{white-space:nowrap}
.ct-prog{color:var(--prog,#4b3fe0)}
.ct-tipo{color:var(--ink-3);font-weight:600}
.ct-tipo::before{content:"•";margin-right:6px;color:#c7c7d6}
.ct-est{margin-left:auto;display:inline-flex;align-items:center;gap:5px;color:#a26a00;font-weight:700}
.ct-est::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.ct-est.is-alta{color:#c23a2c}
.ct-est.is-ok{color:#1f9d57}
.ct-est.is-off{color:var(--ink-3)}
.ct-nombre{margin:0;font-size:15.5px;font-weight:600;line-height:1.3;letter-spacing:-.005em;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ct-chips{display:flex;gap:6px;flex-wrap:wrap}
.ct-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:99px;background:#f1f0fb;color:#4b3fe0;font-size:12px;font-weight:600;white-space:nowrap}
.ct-chip .ico{width:13px;height:13px}
.ct-avance{display:flex;justify-content:space-between;align-items:baseline;margin-top:4px;font-size:12.5px;color:var(--ink-2)}
.ct-avance b{font-size:14px;color:var(--ink)}
.ct-barra{display:block;height:6px;border-radius:99px;background:#eeeef4;overflow:hidden;margin-top:-4px}
.ct-barra i{display:block;height:100%;border-radius:99px;background:#4b3fe0}
.ct-sig{margin:2px 0 0;font-size:12.5px;color:var(--ink-3);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.ct-sig::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#e0a100;margin-right:7px;vertical-align:middle}
.ct-sig.is-alta::before{background:#c23a2c}

.fi-cab{display:flex;flex-direction:column;gap:14px;padding:20px 22px 0;margin-bottom:16px}
.fi-volver{align-self:flex-start;padding:5px 10px;font-size:13.5px;margin:-6px 0 -4px -8px}
.fi-top{display:flex;align-items:center;gap:14px}
.fi-tit{flex:1;min-width:0}
.fi-tit h2{font-size:24px;line-height:1.15}
.fi-tit p{margin:3px 0 0;font-size:14px;color:var(--ink-3)}
.fi-enlace{max-width:520px}
.fi-tabs{display:flex;gap:2px;overflow-x:auto;margin:0 -22px;padding:0 14px;border-top:1px solid var(--line)}
.fi-tab{display:inline-flex;align-items:center;gap:7px;padding:13px 12px;border:0;border-bottom:3px solid transparent;background:none;
  font:inherit;font-size:14px;font-weight:600;color:var(--ink-3);cursor:pointer;white-space:nowrap}
.fi-tab .ico{width:16px;height:16px}
.fi-tab:hover{color:var(--ink)}
.fi-tab.is-on{color:var(--ink);border-bottom-color:var(--accent)}
.fi-tab em{font-style:normal;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:#fdecea;color:#b0382b;font-size:11.5px;display:grid;place-items:center}
.fi-cargando{color:var(--ink-3)}
.fi-aviso{margin:0 0 14px}
.fi-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.fi-kpis>div{padding:16px 18px;border-radius:16px;background:#fff;border:1px solid var(--line)}
.fi-kpis b{display:block;font-size:24px;font-weight:800;letter-spacing:-.02em}
.fi-kpis span{font-size:13px;color:var(--ink-3)}
.pend-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.pend{display:flex;align-items:center;gap:14px;padding:16px 18px}
.pend.is-alta{border-left:4px solid #e2574c}
.pend.is-baja{opacity:.85}
.pend-ico{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--bg);color:var(--accent)}
.pend.is-alta .pend-ico{background:#fdecea;color:#b0382b}
.pend-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.pend-txt b{font-size:15px}
.pend-txt small{font-size:13px;color:var(--ink-3)}
.pend .btn{flex:none}
.pend-ok{text-align:center;padding:40px 20px}
.pend-ok span{font-size:40px}
.pend-ok b{display:block;font-size:20px;margin:6px 0}
.pend-ok p{margin:0;color:var(--ink-2)}
.fi-bloque{padding:20px 22px;margin-bottom:16px}
.fi-bloque-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.fi-bloque-cab h3{font-size:17px}
.fi-bloque-cab p{margin:3px 0 0;font-size:13.5px;color:var(--ink-3);max-width:620px}
.fi-acciones{display:flex;gap:8px;flex-wrap:wrap}
.fi-acciones-arriba{margin-bottom:14px}
.fi-acciones .btn:disabled,.fo-acc .btn:disabled,.cls .btn:disabled,.cls-mini .icon-btn:disabled{opacity:.45;cursor:default}
/* Clases */
.cls-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.cls{padding:14px 18px}
.cls-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px}
.cls-tit{display:flex;flex-direction:column;min-width:0}
.cls-tit em{font-style:normal;font-size:12px;font-weight:600;color:var(--ink-3)}
.cls-tit b{font-size:15px}
.cls-tit small{font-size:13px;color:var(--ink-3)}
.cls-cuerpo{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}
.cls-dato{flex:1 1 200px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border-radius:12px;background:var(--bg);font-size:13.5px}
.cls-dato>span:first-child{width:100%;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}
.cls-dato small{color:var(--ink-3)}
.cls-dato small.is-aviso{color:#8a5a00;font-weight:600}
.cls-dato .btn{padding:6px 12px;font-size:13px}
.cls-grab{display:flex;gap:6px;width:100%}
.cls-grab input{flex:1;min-width:0;padding:8px 11px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:13.5px;background:#fff}
.cls-mini{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
a.btn{text-decoration:none;color:inherit}
.cls-mini .icon-btn{width:32px;height:32px}
/* Formularios */
.fo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-bottom:16px}
.fo-card{display:flex;flex-direction:column;gap:10px;padding:20px}
.fo-cab{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fo-cab h3{font-size:16.5px}
.fo-card p{margin:0;font-size:13.5px;color:var(--ink-2)}
.fo-acc{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}
.fo-acc .btn{padding:8px 12px;font-size:13.5px}
.fo-ses{list-style:none;margin:0;padding:0}
.fo-ses li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);flex-wrap:wrap}
.fo-ses li:first-child{border-top:0}
.fo-ses-tit{flex:1;min-width:180px;display:flex;flex-direction:column}
.fo-ses-tit em{font-style:normal;font-size:12px;color:var(--ink-3)}
.fo-ses-n{font-size:13.5px;color:var(--ink-2);white-space:nowrap}
/* Estadísticas */
.es-tabla td{white-space:nowrap}
.es-forms{display:flex;gap:4px;flex-wrap:wrap;white-space:normal;max-width:190px}
.es-form{font-size:11.5px;padding:2px 7px;border-radius:99px;background:#f1f1f4;color:var(--ink-3)}
.es-form.is-ok{background:#e7f6ec;color:#1d7a3e;font-weight:600}
.es-form.is-enc{background:#fff6dd;color:#8a6100}
.es-tabla .pe-persona em{max-width:210px;overflow:hidden;text-overflow:ellipsis}
.es-barra{display:inline-block;width:44px;height:6px;margin-right:6px;border-radius:99px;background:var(--line);overflow:hidden;vertical-align:middle}
.es-barra i{display:block;height:100%;background:var(--accent)}
.es-barra.is-baja i{background:#e2574c}
/* Ajustes */
.aj{display:flex;flex-direction:column;gap:14px}
.aj-pie{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:space-between;padding-top:14px;border-top:1px solid var(--line)}
/* Ventana de asistencia y respuestas */
.as-resumen{margin:0;font-size:15px}
.as-barra{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13.5px;color:var(--ink-2)}
.as-lista{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:14px}
.as-lista li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid var(--line)}
.as-lista li:first-child{border-top:0}
.as-lista .check span{display:flex;flex-direction:column}
.as-lista .check em{font-style:normal;font-size:12.5px;color:var(--ink-3)}
.as-dato{font-size:12.5px;color:var(--ink-3);white-space:nowrap}
.as-sueltos{padding:12px 14px;border-radius:14px;background:#fff7e6}
.as-sueltos h4{margin:0 0 8px;font-size:14px;color:#7a4b00}
.as-sueltos ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.as-sueltos li{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.as-sueltos li>span{flex:1;min-width:160px;display:flex;flex-direction:column}
.as-sueltos em,.as-sueltos small{font-style:normal;font-size:12px;color:var(--ink-3)}
.as-sueltos select{width:auto;min-width:180px}
.re-cab{display:flex;justify-content:flex-end}
.re-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.re-preg{padding:14px 16px;border:1px solid var(--line);border-radius:14px}
.re-preg h4{margin:0 0 8px;font-size:14.5px}
.re-prom{margin:0 0 6px;font-size:14px;color:var(--ink-2)}
.re-prom b{font-size:24px;color:var(--ink)}
.re-barras{display:flex;flex-direction:column;gap:4px}
.re-barras span{display:grid;grid-template-columns:28px minmax(0,1fr) 30px;align-items:center;gap:8px;font-size:13px}
.re-ops span{grid-template-columns:minmax(120px,40%) minmax(0,1fr) 30px}
.re-barras em{font-style:normal;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.re-barras i{display:block;height:8px;min-width:2px;border-radius:99px;background:var(--accent)}
.re-barras small{color:var(--ink-3);text-align:right}
.re-textos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:280px;overflow:auto}
.re-textos li{padding:8px 10px;border-radius:10px;background:var(--bg)}
.re-textos p{margin:0;font-size:14px;white-space:pre-wrap}
.re-textos small{font-size:12px;color:var(--ink-3)}
/* Nuevo cliente */
.modal-nc{width:min(760px,100%)}
.nc-pasos{list-style:none;display:flex;gap:6px;margin:0;padding:14px 24px 0}
.nc-pasos li{flex:1;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:var(--bg);font-size:13.5px;font-weight:600;color:var(--ink-3)}
.nc-pasos li span{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid var(--line);font-size:12px}
.nc-pasos li.is-on{background:#eef0ff;color:var(--ink)}
.nc-pasos li.is-on span{background:var(--accent);border-color:var(--accent);color:#fff}
.nc-pasos li.is-ok span{background:#e6f6ec;border-color:#cfe9d8;color:#1d7a43}
#ncCuerpo{display:flex;flex-direction:column;gap:14px}
.nc-intro{margin:0;font-size:14.5px;color:var(--ink-2)}
.nc-cuenta{margin:0;font-size:14px;font-weight:600;color:#1d7a43;min-height:20px}
#ncCuerpo textarea{width:100%;padding:10px 13px;border:1px solid var(--line);border-radius:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}
.nc-resumen{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:14px}
.nc-resumen li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:2px 12px;padding:12px 16px;border-top:1px solid var(--line)}
.nc-resumen li:first-child{border-top:0}
.nc-resumen span{grid-row:span 2;font-size:12.5px;font-weight:600;color:var(--ink-3)}
.nc-resumen em{font-style:normal;font-size:13px;color:var(--ink-3)}
.nc-envios{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:14px;background:#eef0ff}
.nc-envios p{margin:0 0 2px;font-size:14px;color:var(--ink-2)}
@media (max-width:760px){
  .fi-kpis{grid-template-columns:1fr 1fr}
  .nc-pasos li{font-size:0;justify-content:center}
  .nc-pasos li span{font-size:12px}
  .pend{flex-wrap:wrap}
  .pend .btn{width:100%;justify-content:center}
}
.cl-aviso{margin:0 0 16px;padding:12px 16px;border-radius:12px;background:#fdecea;color:#8f2b20;font-size:14px}

/* Super admin: cifras de todo Biz Nation, buscador y color de cada programa */
.cl-kpis .is-alerta b{color:#b0382b}
.cl-acc{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cl-buscar{display:flex;align-items:center;gap:8px;height:44px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink-3)}
.cl-buscar input{border:0;outline:0;background:transparent;font:inherit;font-size:14.5px;width:170px;color:var(--ink)}
.cl-buscar:focus-within{border-color:var(--accent)}
.cl-prog{display:inline-block;padding:1px 8px;margin-right:4px;border-radius:99px;font-size:12px;font-weight:600;background:#eef0ff;color:#3b4ef5}
.cl-prog-marketing{background:#ffeef6;color:#c2185b}
.cl-prog-ventas{background:#e7f6ec;color:#1d7a3e}
.cl-prog-productividad{background:#eef0ff;color:#3b4ef5}
.cl-prog-ejecutivos{background:#fff4e0;color:#9a5b00}
.cl-card[hidden]{display:none}
body.vista-clientes .ctx{display:none}
@media (max-width:720px){ .cl-kpis{grid-template-columns:repeat(2,minmax(0,1fr))} .cl-buscar input{width:120px} }

/* Lo primero al entrar: ¿cómo te llamas? */
.modal-nombre{max-width:460px}
.modal-nombre .modal-body{display:flex;flex-direction:column;gap:10px;padding-top:26px}
.modal-nombre h2{margin:0;font-size:24px}
.nm-hola{margin:0;font-weight:700;color:var(--accent)}
.modal-nombre input{font:inherit;font-size:17px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;margin-top:6px}
.modal-nombre input:focus{outline:0;border-color:var(--accent)}

/* Correos listos en Gmail */
.co-paso{padding:16px 18px;border:1px solid var(--line);border-radius:16px;margin-bottom:12px;background:#fff}
.co-todos{border-color:#c9cff9;background:#f6f7ff}
.co-tit{margin:0 0 4px;font-size:15.5px}
.co-tit .chip{margin-left:6px;vertical-align:middle}
.co-ayuda{margin:0 0 12px;font-size:13.5px;color:var(--ink-3)}
.co-tandas{display:flex;gap:8px;flex-wrap:wrap}
.co-grande{padding:12px 20px;font-size:15px}
.co-grande em{font-style:normal;font-size:12.5px;opacity:.75;margin-left:4px}
.co-listo{margin:0 0 10px;color:#1d7a3e;font-weight:600}
.co-lista{list-style:none;margin:12px 0 0;padding:0;max-height:280px;overflow:auto;border-top:1px solid var(--line)}
.co-lista li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 2px;border-bottom:1px solid var(--line)}
.co-lista li span{display:flex;flex-direction:column;min-width:0}
.co-lista li em{font-style:normal;font-size:12.5px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis}
.co-lista li.is-ok b{color:#1d7a3e}
.co-texto{margin-top:6px;font-size:14px}
.co-texto summary{cursor:pointer;font-weight:600;color:var(--ink-2)}
.co-texto pre{white-space:pre-wrap;font:inherit;font-size:13.5px;background:var(--bg);padding:14px;border-radius:12px;max-height:260px;overflow:auto}
.co-asunto{margin:10px 0 6px}
.pend-pm{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:-4px 0 12px;font-size:14px;color:var(--ink-3)}

/* Mis clientes, minimalista: cifras y filtros livianos */
.cl-kpis{gap:10px}
.cl-kpis>div{padding:12px 16px;border-radius:14px;border-color:#ececf2;display:flex;align-items:baseline;gap:8px}
.cl-kpis b{font-size:20px;display:inline}
.cl-kpis span{font-size:12.5px}
.cl-filtro{padding:6px 13px;font-size:13.5px;border-color:#ececf2}
.cl-buscar{height:40px;border-color:#ececf2}
.cl-nuevo{padding:10px 18px;font-size:14px}

/* Checklist del project manager */
.ck-panel{padding:22px 24px;border:1px solid #ececf2;border-radius:16px}
.ck-cab{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ck-eti{margin:0 0 2px;font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#4b3fe0}
.ck-cab h3{margin:0;font-size:18px}
.ck-barra{display:block;height:6px;border-radius:99px;background:#eeeef4;overflow:hidden}
.ck-barra i{display:block;height:100%;border-radius:99px;background:#4b3fe0;transition:width .3s}
.ck-barra-total{margin:12px 0 6px}
.ck-lista{list-style:none;margin:0;padding:0}
.ck{padding:14px 0;border-bottom:1px solid #f0f0f5}
.ck:last-child{border-bottom:0}
.ck-fila{display:flex;align-items:center;gap:14px}
.ck-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ck-txt b{font-size:14.5px;font-weight:600}
.ck-txt small{font-size:12.5px;color:var(--ink-3)}
.ck-n{font-style:normal;color:var(--ink-3);font-weight:600}
.ck.is-hecho > .ck-fila .ck-txt b,.ck-hijo.is-hecho .ck-txt b{color:var(--ink-3);text-decoration:line-through;text-decoration-thickness:1px}
.ck-cifra{font-size:13px;font-weight:700;color:var(--ink-2);font-variant-numeric:tabular-nums}
.ck-btn{padding:6px 12px;font-size:13px}
.ck > .ck-barra{margin:10px 0 0 38px;height:4px}
.ck-num{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#f1f0fb;color:#4b3fe0;font-size:12px;font-weight:800}
.ck-caja{position:relative;flex:none;display:grid;place-items:center;width:24px;height:24px;border:2px solid #c9c9d8;border-radius:7px;cursor:pointer;transition:background .12s,border-color .12s}
.ck-caja input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.ck-caja svg{width:14px;height:14px;stroke:#fff;opacity:0}
.ck-caja.is-on{background:#4b3fe0;border-color:#4b3fe0}
.ck-caja.is-on svg{opacity:1}
.ck-caja.is-auto{background:#1f9d57;border-color:#1f9d57;cursor:default}
.ck-caja.is-auto input{cursor:default}
.ck-caja:has(input:focus-visible){outline:3px solid #c9cff9;outline-offset:2px}
.ck-hijos{list-style:none;margin:10px 0 0 38px;padding:0;border-left:2px solid #f0f0f5}
.ck-hijo{display:flex;align-items:center;gap:12px;padding:8px 0 8px 14px}
.ck-hijo .ck-txt b{font-size:13.5px;font-weight:500}
.ck-vacia{margin:8px 0 0 38px;font-size:13px;color:var(--ink-3)}
.ck-ayuda{margin:12px 0 0;font-size:12.5px;color:var(--ink-3)}
@media (max-width:640px){ .ck-fila{flex-wrap:wrap} .ck-btn{margin-left:38px} .ck-hijos,.ck > .ck-barra,.ck-vacia{margin-left:12px} }

/* «← Volver a <cliente>»: arriba de las vistas a las que se llega desde la ficha */
.volver-ficha{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;margin:0 0 -4px;padding:7px 14px;border:1px solid #e3e3ee;border-radius:99px;background:#fff;color:var(--ink-2);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s}
.volver-ficha:hover{background:#f1f0fb;border-color:#c9cff9;color:#4b3fe0}
.volver-ficha[hidden]{display:none}

/* Aviso de sesiones repetidas en un grupo */
#avisoRepetidas:empty{display:none}
.aviso-rep{display:flex;align-items:center;gap:16px;padding:16px 20px;border:1px solid #f3d9a4;background:#fffaf0;margin-bottom:16px}
.aviso-rep-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.aviso-rep-txt b{font-size:14.5px}
.aviso-rep-txt small{font-size:12.5px;color:var(--ink-3);line-height:1.45}
#avisoRepetidas .aviso-rep{margin-bottom:0}
@media (max-width:640px){ .aviso-rep{flex-direction:column;align-items:stretch} }

/* Skills: por clase o por área */
.sk-acc{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sk-orden{display:inline-flex;padding:3px;border-radius:99px;background:#eeeef4}
.sk-orden button{border:0;background:transparent;padding:6px 14px;border-radius:99px;font:inherit;font-size:13px;font-weight:600;color:var(--ink-3);cursor:pointer}
.sk-orden button.is-on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(20,20,40,.12)}
.sk-clase{display:flex;flex-direction:column;gap:12px}
.sk-clase + .sk-clase{margin-top:10px}
.sk-clase-tit{margin:0;font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px}
.sk-clase-tit em{font-style:normal;font-size:12px;font-weight:700;color:var(--ink-3);background:#f1f1f6;border-radius:99px;padding:1px 8px}
.sk-nota{margin:4px 0 0;font-size:13px;color:var(--ink-3)}
.sk-tag.is-clase{background:#f1f0fb;color:#4b3fe0}

/* ================= Comunidad (como un grupo de Facebook) ================= */
.nav-com .ico{color:var(--accent)}
.top-com .count{margin-left:6px}
.vista-comunidad .head-card,.vista-puntos .head-card{display:none}
/* Como Facebook: sin el menú de las clases, fondo gris y el muro al centro */
body.vista-comunidad .main{background:#f0f2f5}
body.vista-comunidad .content{max-width:1120px;margin:0 auto;padding-top:0}
@media (min-width:821px){
  body.vista-comunidad .app{grid-template-columns:minmax(0,1fr)}
  body.vista-comunidad .sidebar{display:none}
}
body.vista-comunidad .cm-portada{border-radius:0 0 18px 18px;border-top:0}
body.vista-comunidad .volver-ficha{margin-top:16px}
.cm-portada{overflow:hidden;margin-bottom:16px;padding:0}
.cm-banda{position:relative;height:210px;background:linear-gradient(120deg,#111318 0%,#2b3bd1 55%,#7d8bff 100%);overflow:hidden}
.cm-banda span{position:absolute;border-radius:50%;border:2px solid rgba(255,255,255,.18)}
.cm-banda span:nth-child(1){width:260px;height:260px;right:-60px;top:-90px}
.cm-banda span:nth-child(2){width:160px;height:160px;right:180px;top:40px;border-color:rgba(255,210,94,.35)}
.cm-banda span:nth-child(3){width:340px;height:340px;left:-120px;bottom:-230px}
.cm-portada-info{display:flex;align-items:flex-end;gap:16px;padding:0 24px 18px}
.cm-portada-av{position:relative;z-index:1;width:92px;height:92px;font-size:26px;margin-top:-46px;border:4px solid #fff;flex:none;border-radius:50%;box-shadow:0 4px 14px rgba(17,19,24,.18)}
.cm-portada-txt h2{margin:0;font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.cm-portada-txt p{margin:4px 0 0;display:flex;align-items:center;gap:6px;font-size:14px;color:var(--ink-3)}
.cm-portada-txt .ico{width:15px;height:15px}
.cm-fb{display:grid;grid-template-columns:minmax(0,680px) 340px;justify-content:center;gap:16px;align-items:start}
.cm-feed{display:flex;flex-direction:column;gap:14px;min-width:0}
.cm-lado{display:flex;flex-direction:column;gap:14px;position:sticky;top:calc(var(--topnav) + 16px)}
.cm-av{width:40px;height:40px;font-size:13px;flex:none;border-radius:50%;display:grid;place-items:center}
.cm-av.is-equipo{background:var(--accent)}
/* «¿Qué quieres compartir?» */
.cm-caja{padding:14px 16px 10px}
.cm-caja-fila{display:flex;align-items:flex-start;gap:10px}
.cm-pastilla{flex:1;min-width:0;border:0;background:#f0f2f5;border-radius:22px;padding:11px 18px;font:inherit;font-size:16px;line-height:1.45;resize:none;min-height:44px;color:var(--ink)}
.cm-pastilla:hover{background:#e8eaee}
.cm-pastilla:focus{outline:0;background:#f0f2f5;box-shadow:0 0 0 2px rgba(59,78,245,.25)}
.cm-caja-pie{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:8px;border-top:1px solid var(--line);flex-wrap:wrap}
.cm-ideas{display:flex;gap:2px;flex-wrap:wrap}
.cm-ideas button{display:inline-flex;align-items:center;gap:7px;border:0;background:none;border-radius:10px;padding:8px 12px;font:inherit;font-size:14px;font-weight:600;color:var(--ink-2);cursor:pointer}
.cm-ideas button:hover{background:#f0f2f5}
.cm-ideas span{font-size:18px;line-height:1}
.cm-caja.is-solo-leer{display:flex;align-items:center;gap:12px;padding:16px 20px;color:var(--ink-2);font-size:14px}
.cm-caja.is-solo-leer p{margin:0}
/* Publicación */
.cm-post{padding:0;overflow:visible}
.cm-post.is-nuevo{box-shadow:inset 3px 0 0 var(--accent)}
.cm-post.is-brillo{animation:post-nueva 1.8s ease}
.is-oculto{opacity:.55}
.cm-fijado{display:flex;align-items:center;gap:6px;padding:10px 16px 0;font-size:12.5px;font-weight:600;color:var(--ink-3)}
.cm-fijado .ico{width:14px;height:14px}
.cm-cab{display:flex;align-items:flex-start;gap:10px;padding:12px 12px 0 16px}
.cm-quien{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding-top:2px}
.cm-nombre{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.cm-nombre b{font-size:15px}
.cm-quien em{display:flex;align-items:center;gap:4px;font-style:normal;font-size:12.5px;color:var(--ink-3)}
.cm-quien em .ico{width:12px;height:12px}
.cm-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;background:#f1f1f6;color:var(--ink-2);white-space:nowrap}
.cm-chip.is-eq{background:var(--yellow);color:var(--yellow-ink)}
.cm-chip.is-dest{background:#fff3c4;color:#7a5200}
.cm-chip.is-oc{background:#fdeeeb;color:#c0392b}
.cm-texto p{margin:0 0 8px}
.cm-texto p:last-child{margin-bottom:0}
.cm-post-texto{padding:10px 16px 2px;font-size:15.5px;line-height:1.55}
.cm-stats{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;font-size:14px;color:var(--ink-3)}
.cm-stats span{display:inline-flex;align-items:center;gap:6px}
.cm-stats button{border:0;background:none;font:inherit;color:var(--ink-3);cursor:pointer;padding:0}
.cm-stats button:hover{text-decoration:underline}
.cm-pulgar{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--accent)}
.cm-pulgar .ico{width:11px;height:11px;color:#fff;stroke-width:2.2}
.cm-barra{display:flex;gap:4px;margin:0 16px;padding:4px 0;border-top:1px solid var(--line)}
.cm-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:none;border-radius:8px;padding:9px;font:inherit;font-size:14.5px;font-weight:600;color:var(--ink-2);cursor:pointer}
.cm-btn:hover{background:#f2f3f5}
.cm-btn .ico{width:19px;height:19px}
.cm-btn.is-on{color:var(--accent)}
.cm-btn.is-on .ico{fill:rgba(59,78,245,.15)}
.cm-btn:disabled{opacity:.5;cursor:default}
/* Comentarios */
.cm-coms{display:flex;flex-direction:column;gap:10px;padding:8px 16px 14px;border-top:1px solid var(--line);margin:0 16px;padding-left:0;padding-right:0}
.cm-mas{align-self:flex-start;border:0;background:none;padding:2px 0;font:inherit;font-size:14px;font-weight:600;color:var(--ink-2);cursor:pointer}
.cm-mas:hover{text-decoration:underline}
.cm-com{display:flex;gap:8px;align-items:flex-start}
.cm-com .cm-av{width:32px;height:32px;font-size:11px}
.cm-com-cuerpo{min-width:0;display:flex;flex-direction:column;align-items:flex-start;max-width:calc(100% - 40px)}
.cm-burbuja{position:relative;max-width:100%;background:#f0f2f5;border-radius:18px;padding:8px 14px 9px}
.cm-com.is-equipo .cm-burbuja{background:#e8ecff}
.cm-burbuja>b{display:flex;align-items:center;gap:6px;font-size:13.5px}
.cm-com-texto{margin-top:2px;font-size:14.5px;line-height:1.45;overflow-wrap:anywhere}
.cm-burbuja-l{position:absolute;right:-10px;bottom:-10px;display:inline-flex;align-items:center;gap:3px;background:#fff;border-radius:99px;padding:2px 7px 2px 2px;font-size:12px;color:var(--ink-2);box-shadow:0 1px 3px rgba(17,19,24,.2)}
.cm-burbuja-l .cm-pulgar{width:17px;height:17px}
.cm-com-acc{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;padding:4px 12px 0;font-size:12.5px;color:var(--ink-3)}
.cm-com-acc>button{border:0;background:none;padding:0;font:inherit;font-weight:700;color:var(--ink-2);cursor:pointer}
.cm-com-acc>button:hover{text-decoration:underline}
.cm-com-acc>button.is-on{color:var(--accent)}
.cm-com-form{align-items:center}
.cm-com-input{flex:1;min-width:0;position:relative}
.cm-com-input textarea{display:block;width:100%;border:0;background:#f0f2f5;border-radius:18px;padding:9px 44px 9px 14px;font:inherit;font-size:14.5px;line-height:1.4;resize:none;min-height:38px;color:var(--ink)}
.cm-com-input textarea:focus{outline:0;box-shadow:0 0 0 2px rgba(59,78,245,.25)}
.cm-enviar{position:absolute;right:5px;bottom:3px;width:32px;height:32px;border:0;border-radius:50%;background:none;color:var(--accent);display:grid;place-items:center;cursor:pointer}
.cm-enviar:hover{background:#e3e7ff}
.cm-enviar .ico{width:18px;height:18px}
.cm-editar{display:flex;flex-direction:column;gap:8px;padding:8px 16px 0}
.cm-burbuja .cm-editar{padding:6px 0 0}
.cm-editar textarea{width:100%;min-width:240px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font:inherit;font-size:14.5px;resize:vertical;background:#fff}
.cm-editar textarea:focus{outline:0;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(59,78,245,.14)}
.cm-editar-pie{display:flex;justify-content:flex-end;gap:8px}
/* Menú ⋯ */
.cm-menu{position:relative;flex:none}
.cm-menu>summary{list-style:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--ink-3)}
.cm-menu>summary::-webkit-details-marker{display:none}
.cm-menu>summary:hover,.cm-menu[open]>summary{background:#f0f2f5;color:var(--ink)}
.cm-menu.is-chico>summary{width:26px;height:26px}
.cm-menu.is-chico>summary .ico{width:16px;height:16px}
.cm-menu-lista{position:absolute;right:0;top:calc(100% + 4px);z-index:30;min-width:230px;padding:6px;background:#fff;border-radius:12px;box-shadow:0 8px 28px rgba(17,19,24,.18),0 0 0 1px rgba(17,19,24,.05)}
.cm-menu-lista button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;border-radius:8px;padding:9px 12px;font:inherit;font-size:14px;font-weight:600;color:var(--ink);text-align:left;cursor:pointer}
.cm-menu-lista button:hover{background:#f2f3f5}
.cm-menu-lista .ico{width:18px;height:18px;color:var(--ink-3)}
.cm-menu-lista .is-borrar,.cm-menu-lista .is-borrar .ico{color:#c0392b}
.cm-menu-e{width:18px;text-align:center}
/* Columna derecha */
.cm-avisos{padding:16px}
.cm-avisos h3{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:15px}
.cm-aviso{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;border:0;background:none;font:inherit;font-size:13.5px;line-height:1.4;padding:8px;border-radius:10px;cursor:pointer;color:var(--ink-2)}
.cm-aviso:hover{background:#f2f3f5}
.cm-aviso .cm-av{width:36px;height:36px;font-size:12px}
.cm-aviso>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.cm-aviso em{font-style:normal;font-size:12px;font-weight:600;color:var(--accent)}
.cm-info{padding:18px}
.cm-info h3{margin:0 0 12px;font-size:16px}
.cm-info ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.cm-info li{display:flex;gap:10px;font-size:13.5px;line-height:1.45;color:var(--ink-2)}
.cm-info li .ico{width:18px;height:18px;color:var(--ink-3);flex:none;margin-top:1px}
.cm-info em{font-style:normal;font-weight:700;color:var(--accent)}
.cm-vacio{padding:34px 24px;text-align:center}
.cm-vacio span{font-size:38px}
.cm-vacio h3{margin:8px 0 4px;font-size:17px}
.cm-vacio p{margin:0 auto;max-width:420px;font-size:14px;color:var(--ink-3)}
.cm-faq{display:flex;align-items:center;gap:14px;width:100%;padding:16px 20px;text-align:left;font:inherit;cursor:pointer}
.cm-faq:hover{border-color:#cfd5ff}
.cm-faq span{flex:1;display:flex;flex-direction:column;gap:2px}
.cm-faq em{font-style:normal;font-size:13px;color:var(--ink-3)}
.cm-hub{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.cm-hub-g{display:flex;align-items:center;gap:12px;padding:16px 18px;text-align:left;font:inherit;cursor:pointer}
.cm-hub-g:hover{border-color:#cfd5ff}
.cm-hub-g>span:not(.count):not(.cm-hub-0):not(.avatar){flex:1;min-width:0;display:flex;flex-direction:column}
.cm-hub-g em{font-style:normal;font-size:12.5px;color:var(--ink-3)}
.cm-hub-0{font-size:12px;color:var(--ink-3)}
.rail-sep{border:0;border-top:1px solid var(--line);margin:18px 0}
@media (max-width:1250px){
  .cm-fb{grid-template-columns:minmax(0,1fr)}
  .cm-lado{position:static;order:-1}
  .cm-info{display:none}
}
@media (max-width:640px){
  .cm-banda{height:110px}
  .cm-portada-info{padding:0 16px 14px;gap:12px}
  .cm-portada-av{width:72px;height:72px;margin-top:-36px;font-size:20px}
  .cm-portada-txt h2{font-size:20px}
  .cm-ideas button{padding:8px}
  .cm-btn{font-size:14px}
}

/* ================= Puntos: niveles, podio e hitos ================= */
.pt-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;padding:30px;margin-bottom:16px;border-radius:24px;color:#fff;
  background:radial-gradient(circle at 85% 10%,rgba(125,139,255,.55),transparent 45%),linear-gradient(135deg,#111318 0%,#1d2a9e 60%,#2b3bd1 100%)}
.pt-hero::after{content:'';position:absolute;width:320px;height:320px;border-radius:50%;border:2px solid rgba(255,210,94,.18);left:-120px;bottom:-200px;pointer-events:none}
.pt-eyebrow{margin:0;font-size:14px;color:rgba(255,255,255,.72)}
.pt-nivel{display:flex;align-items:center;gap:18px;margin:12px 0 20px}
.pt-medalla{--av:0;flex:none;width:104px;height:104px;border-radius:50%;display:grid;place-items:center;
  background:conic-gradient(#ffd25e calc(var(--av) * 1%),rgba(255,255,255,.14) 0);animation:pt-gira 1.4s ease-out}
.pt-medalla span{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;font-size:42px;background:#fff3c4;box-shadow:inset 0 -4px 0 rgba(0,0,0,.06)}
.pt-nivel h2{margin:0;font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.15;color:#fff}
.pt-total{margin:4px 0 0;font-size:16px;color:rgba(255,255,255,.8)}
.pt-total b{font-size:44px;font-weight:800;letter-spacing:-.03em;color:#ffd25e;line-height:1}
.pt-sumaste{display:inline-flex;align-items:center;gap:6px;margin-left:10px;padding:5px 12px;border-radius:99px;background:rgba(255,210,94,.18);color:#ffd25e;font-size:13px;font-weight:800;vertical-align:middle;animation:pt-pop .9s ease}
.pt-barra{height:10px;border-radius:99px;background:#eceef3;overflow:hidden}
.pt-barra i{display:block;height:100%;border-radius:99px;background:var(--accent);animation:pt-llenar 1.3s cubic-bezier(.2,.8,.2,1)}
.pt-barra.is-grande{height:14px;background:rgba(255,255,255,.14)}
.pt-barra.is-grande i{background:linear-gradient(90deg,#ffd25e,#ffad33);box-shadow:0 0 12px rgba(255,210,94,.6)}
.pt-falta{margin:12px 0 0;font-size:15px;color:rgba(255,255,255,.85)}
.pt-falta b{color:#fff}
.pt-escalera{list-style:none;margin:0;padding:0;display:flex;flex-direction:column-reverse;gap:8px;align-self:center}
.pt-escalera li{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.05);color:rgba(255,255,255,.5);transition:transform .2s}
.pt-escalera li.is-ok{background:rgba(255,255,255,.12);color:#fff}
.pt-escalera li.is-aqui{background:#ffd25e;color:#111318;transform:scale(1.04);box-shadow:0 8px 24px rgba(255,210,94,.35)}
.pt-esc-e{font-size:22px;width:28px;text-align:center}
.pt-escalera li:not(.is-ok) .pt-esc-e{filter:grayscale(1);opacity:.55}
.pt-esc-t{display:flex;flex-direction:column}
.pt-esc-t b{font-size:14.5px}
.pt-esc-t em{font-style:normal;font-size:12px;opacity:.8}
.pt-aqui{margin-left:auto;font-style:normal;font-size:12px;font-weight:800;background:#111318;color:#ffd25e;padding:4px 10px;border-radius:99px;animation:pt-latido 1.6s ease-in-out infinite}
.pt-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;margin-bottom:16px}
.pt-acciones,.pt-lugar{padding:22px 24px}
.pt-acciones h3,.pt-lugar h3,.pt-hitos h3{margin:0;font-size:18px}
.pt-sub{margin:4px 0 0;font-size:13.5px;color:var(--ink-3)}
.pt-acciones ul{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.pt-acc{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#fff;text-align:left;font:inherit;color:inherit;text-decoration:none;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}
.pt-acc:hover{border-color:#cfd5ff;transform:translateX(4px);box-shadow:0 4px 14px rgba(59,78,245,.1)}
.pt-acc-e{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:21px;background:#f3f4ff}
.pt-acc-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.pt-acc-t b{font-size:14.5px}
.pt-acc-t em{font-style:normal;font-size:12.5px;color:var(--ink-3)}
.pt-mas{flex:none;font-size:15px;font-weight:800;color:#13703a;background:#dcfce7;padding:5px 11px;border-radius:99px;white-space:nowrap}
.pt-pos{display:flex;align-items:baseline;gap:8px;margin:6px 0 4px}
.pt-pos b{font-size:46px;font-weight:800;letter-spacing:-.03em;color:var(--accent);line-height:1}
.pt-pos span{font-size:14px;color:var(--ink-3)}
/* El podio */
.pt-podio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:8px;margin:16px 0 6px}
.pt-podio-p{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;min-width:0}
.pt-podio-p.is-1{order:2}.pt-podio-p.is-2{order:1}.pt-podio-p.is-3{order:3}
.pt-podio-av{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:800;background:var(--ink);color:#fff;position:relative}
.pt-podio-p.is-1 .pt-podio-av{width:56px;height:56px;font-size:16px;box-shadow:0 0 0 3px #ffd25e}
.pt-podio-p.is-yo .pt-podio-av{background:var(--accent)}
.pt-podio-av i{position:absolute;top:-14px;font-style:normal;font-size:20px}
.pt-podio-p b{font-size:13px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pt-podio-p em{font-style:normal;font-size:12px;color:var(--ink-3);margin-top:-3px}
.pt-escalon{width:100%;border-radius:12px 12px 4px 4px;display:grid;place-items:center;font-size:24px;font-weight:800;color:#fff;margin-top:4px;animation:pt-crecer .9s cubic-bezier(.2,.8,.2,1) both}
.pt-podio-p.is-1 .pt-escalon{height:96px;background:linear-gradient(#ffd25e,#f5a623);animation-delay:.25s}
.pt-podio-p.is-2 .pt-escalon{height:72px;background:linear-gradient(#d9dde6,#a9b0bf);animation-delay:.1s}
.pt-podio-p.is-3 .pt-escalon{height:56px;background:linear-gradient(#f2c29b,#c98a5b);animation-delay:.4s}
.pt-top{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.pt-top li{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:#f7f8fa;font-size:14px}
.pt-top li span:nth-child(2){flex:1}
.pt-top-n{width:22px;text-align:center;font-weight:800;color:var(--ink-3)}
.pt-top li.is-yo{background:var(--yellow);font-weight:700}
.pt-meta{margin-top:14px;padding:14px 16px;border-radius:14px;background:#f7f8fa}
.pt-meta p{display:flex;justify-content:space-between;gap:10px;margin:0 0 8px;font-size:14px}
.pt-meta p span{color:var(--ink-3);font-weight:600}
.pt-meta em{display:block;margin-top:6px;font-style:normal;font-size:12.5px;color:var(--ink-3)}
.pt-barra.is-meta i{background:linear-gradient(90deg,var(--accent),#7d8bff)}
/* Puntos por actividad */
.pt-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.pt-cat{display:flex;flex-direction:column;gap:2px;padding:16px 18px;border-radius:18px}
.pt-cat-e{font-size:24px;margin-bottom:4px}
.pt-cat b{font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.pt-cat-t{font-size:14px;font-weight:700}
.pt-cat em{font-style:normal;font-size:12.5px;color:var(--ink-2);opacity:.85}
.pt-cat.is-azul{background:#e4e8ff}.pt-cat.is-ambar{background:#fff3cf}.pt-cat.is-rosa{background:#ffe4ef}.pt-cat.is-verde{background:#dcfce7}
/* Hitos */
.pt-hitos{padding:24px 26px;margin-bottom:16px}
.pt-hitos-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}
.pt-hitos-cab p{margin:4px 0 0;font-size:14px;color:var(--ink-3)}
.pt-llevas{font-family:'Caveat',cursive;font-size:36px;font-weight:700;line-height:1;color:#e5484d;transform:rotate(-6deg);white-space:nowrap;margin-top:-4px}
.pt-hitos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.pt-hito{position:relative;min-height:148px;padding:16px;border-radius:18px;border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;gap:4px}
.pt-hito-e{font-size:30px;line-height:1;margin-bottom:6px;filter:grayscale(1);opacity:.4}
.pt-hito b{font-size:15px;line-height:1.25}
.pt-hito span{font-size:12.5px;color:var(--ink-3);line-height:1.35}
.pt-hito-barra{display:block;height:6px;margin-top:auto;border-radius:99px;background:#eceef3;overflow:hidden}
.pt-hito-barra i{display:block;height:100%;background:var(--accent);border-radius:99px;animation:pt-llenar 1.3s cubic-bezier(.2,.8,.2,1)}
.pt-hito.is-ok{background:#ffd25e;border-color:#ffd25e;box-shadow:0 6px 18px rgba(245,166,35,.25)}
.pt-hito.is-ok .pt-hito-e{filter:none;opacity:1}
.pt-hito.is-ok span{color:#5c4300;font-weight:600}
.pt-hito .link-btn{margin-top:auto;align-self:flex-start;font-weight:700;color:#111318;text-decoration:underline}
.pt-hito.is-nuevo{animation:pt-pop .9s ease}
.pt-nuevo{position:absolute;top:-9px;right:12px;background:#e5484d;color:#fff !important;font-size:11px !important;font-weight:800 !important;padding:2px 9px;border-radius:99px}
.pt-reglas{padding:18px 24px}
.pt-reglas summary{cursor:pointer;font-weight:700;font-size:15px}
.pt-reglas table{width:100%;border-collapse:collapse;margin-top:12px;font-size:14px}
.pt-reglas td{padding:8px 0;border-top:1px solid var(--line)}
.pt-reglas-e{width:34px;font-size:18px}
.pt-reglas td:last-child{text-align:right;color:#13703a;white-space:nowrap}
.pt-tabla td b{font-size:15px}
.pt-tabla-nivel{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:99px;background:#f3f4ff;font-size:12.5px;font-weight:700;white-space:nowrap}
/* El «+20» que sale flotando al publicar o comentar */
.pt-flota{position:fixed;z-index:9999;pointer-events:none;font-size:22px;font-weight:800;color:#13703a;text-shadow:0 2px 8px rgba(255,255,255,.9);animation:pt-flota 1.3s ease-out forwards}
/* Columna derecha del estudiante */
.rail-pts{display:flex;flex-direction:column;gap:10px;width:100%;margin-bottom:18px;padding:16px;border:0;border-radius:18px;text-align:left;font:inherit;cursor:pointer;color:#fff;
  background:radial-gradient(circle at 90% 0%,rgba(125,139,255,.5),transparent 50%),linear-gradient(135deg,#111318,#2b3bd1)}
.rail-pts:hover{filter:brightness(1.06)}
.rail-pts.is-sube{animation:pt-pop .9s ease}
.rail-pts-top{display:flex;align-items:center;gap:12px}
.rail-pts-e{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:24px;background:#fff3c4}
.rail-pts-top em{display:block;font-style:normal;font-size:12.5px;color:rgba(255,255,255,.75)}
.rail-pts-top b{font-size:20px;font-weight:800;color:#ffd25e}
.rail-pts .pt-barra{background:rgba(255,255,255,.18);height:8px}
.rail-pts .pt-barra i{background:linear-gradient(90deg,#ffd25e,#ffad33)}
.rail-pts-h{font-size:12.5px;color:rgba(255,255,255,.88)}
.rail-pts-h b{color:#fff}
/* La tarjeta del hito */
.modal-tj{width:min(560px,100%)}
.modal-tj .modal-body{display:flex;flex-direction:column;gap:12px}
.tj-img{width:100%;border-radius:16px;display:block}
.tj-nota{margin:0;font-size:14px;color:var(--ink-2)}
.tj-texto{width:100%;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font:inherit;font-size:14px;resize:none}
.tj-acc{display:flex;gap:8px;flex-wrap:wrap}
@keyframes pt-llenar{from{width:0}}
@keyframes pt-crecer{from{height:0;opacity:0}}
@keyframes pt-gira{from{background:conic-gradient(#ffd25e 0%,rgba(255,255,255,.14) 0)}}
@keyframes pt-pop{0%{transform:scale(.9)}45%{transform:scale(1.06)}100%{transform:scale(1)}}
@keyframes pt-latido{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes pt-flota{0%{opacity:0;transform:translate(-50%,0) scale(.7)}20%{opacity:1;transform:translate(-50%,-14px) scale(1.15)}100%{opacity:0;transform:translate(-50%,-80px) scale(1)}}
@media (max-width:1100px){
  .pt-hero{grid-template-columns:minmax(0,1fr)}
  .pt-escalera{flex-direction:row-reverse;flex-wrap:wrap}
  .pt-escalera li{flex:1 1 120px}
  .pt-grid{grid-template-columns:minmax(0,1fr)}
  .pt-cats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .pt-hero{padding:20px;gap:18px;border-radius:20px}
  .pt-medalla{width:84px;height:84px}
  .pt-medalla span{width:66px;height:66px;font-size:34px}
  .pt-nivel h2{font-size:21px}
  .pt-total b{font-size:34px}
  .pt-escalera li{flex:1 1 100%}
  .pt-acciones,.pt-lugar,.pt-hitos{padding:18px}
  .pt-hitos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pt-llevas{font-size:28px}
}
@media (prefers-reduced-motion:reduce){
  .pt-barra i,.pt-hito-barra i,.pt-escalon,.pt-medalla,.pt-aqui,.pt-hito.is-nuevo,.pt-sumaste,.rail-pts.is-sube{animation:none}
}

/* ================= Admin: los puntos de cada persona ================= */
.pt-explica{display:flex;align-items:flex-start;gap:16px;padding:22px 24px;margin-bottom:16px}
.pt-explica-e{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:26px;background:#f3f4ff}
.pt-explica>div{flex:1;min-width:0}
.pt-explica h3{margin:0 0 4px;font-size:18px}
.pt-explica p{margin:0 0 12px;font-size:14.5px;line-height:1.5;color:var(--ink-2);max-width:760px}
.pt-explica.is-corta p{margin-bottom:0}
.pt-explica-meta{flex:0 0 240px;display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:14px;background:#f7f8fa}
.pt-explica-meta b{font-size:16px}
.pt-explica-meta span{font-size:12.5px;color:var(--ink-3)}
.pt-explica-meta .pt-barra{margin-top:4px}
.pt-personas{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-bottom:16px}
.pt-persona{position:relative;display:flex;flex-direction:column;gap:8px;padding:18px;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}
.pt-persona:hover{transform:translateY(-3px);border-color:#cfd5ff;box-shadow:0 10px 24px rgba(59,78,245,.12)}
.pt-persona-pos{position:absolute;top:14px;right:16px;font-size:18px;font-weight:800;color:var(--ink-3)}
.pt-persona-cab{display:flex;align-items:center;gap:12px;padding-right:28px}
.pt-persona-e{flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:24px;background:#fff3c4}
.pt-persona-cab b{display:block;font-size:15px}
.pt-persona-cab em{font-style:normal;font-size:12.5px;color:var(--ink-3)}
.pt-persona-pts{font-size:13px;color:var(--ink-3)}
.pt-persona-pts b{font-size:22px;font-weight:800;color:var(--ink)}
.pt-persona .pt-barra{height:8px}
.pt-persona .pt-barra i{background:linear-gradient(90deg,#ffd25e,#ffad33)}
.pt-persona-falta{font-size:12.5px;color:var(--ink-2)}
.pt-persona-ver{font-size:13px;font-weight:700;color:var(--accent)}
.pt-como{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px;margin-bottom:14px;border-color:#cfd5ff;background:#f8f9ff}
.pt-como p{margin:0;font-size:14.5px}
.pt-como.is-ejemplo{background:#fffaf0;border-color:#f3d9a4}
.pt-espejo{padding:14px;border-radius:26px;border:2px dashed #cfd5ff;margin-bottom:16px}
.pt-acc.is-demo{cursor:default}
.pt-acc.is-demo:hover{transform:none;box-shadow:none;border-color:var(--line)}
@media (max-width:820px){
  .pt-explica{flex-wrap:wrap}
  .pt-explica-meta{flex-basis:100%}
  .pt-espejo{padding:8px;border-radius:20px}
}

/* ================= Navegación ================= */
/* Sin el menú de las clases donde sobra (lista de clientes, ficha, comunidad) */
@media (min-width:821px){
  body.sin-menu .app{grid-template-columns:minmax(0,1fr)}
  body.sin-menu .sidebar{display:none}
}
body.sin-menu .content{max-width:1240px;margin:0 auto}
body.vista-comunidad .content{max-width:1120px}
/* El admin elige el programa en la barra de Programas, no arriba */
body.modo-admin #ctx{display:none !important}
@media (max-width:640px){ .tt-largo{display:none} }
.pie-news{display:inline-flex;align-items:center;gap:5px;margin-right:auto;font-size:13px;font-weight:600;color:var(--ink-2);text-decoration:none}
.pie-news .ico{width:13px;height:13px}
.sidebar-foot .social{display:flex;align-items:center;gap:8px}
#barraNav:empty{display:none}
#barraNav{grid-column:1 / -1;margin-bottom:-6px;min-width:0}
body.vista-comunidad #barraNav{margin:16px 0 0}

/* Admin dentro de un cliente: dónde está, sus pestañas y la salida */
.cli{padding:14px 20px 0;overflow:hidden}
.cli-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cli-migas{display:flex;align-items:center;gap:8px;min-width:0;font-size:14px;color:var(--ink-3)}
.cli-migas button{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:6px 8px;margin-left:-8px;border-radius:8px;font:inherit;font-weight:600;color:var(--accent);cursor:pointer}
.cli-migas button:hover{background:#f3f4ff}
.cli-migas .ico{width:16px;height:16px}
.cli-migas b{color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cli-acc{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cli-acc .ico{width:16px;height:16px}
.cli-salir{border-color:#f0c4bd;color:#b0382b}
.cli-salir:hover{background:#fdeeeb}
.cli-id{display:flex;align-items:center;gap:14px;margin:10px 0 12px}
.cli-id .avatar{width:52px;height:52px;font-size:16px;flex:none}
.cli-id h2{margin:0;font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.cli-id p{margin:3px 0 0;display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:13.5px;color:var(--ink-3)}
.cli-tabs{display:flex;gap:2px;margin:0 -20px;padding:0 12px;border-top:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.cli-tabs::-webkit-scrollbar{display:none}
.cli-tab{position:relative;display:inline-flex;align-items:center;gap:7px;border:0;background:none;padding:13px 12px;font:inherit;font-size:14px;font-weight:600;color:var(--ink-3);white-space:nowrap;cursor:pointer}
.cli-tab .ico{width:17px;height:17px}
.cli-tab:hover{color:var(--ink)}
.cli-tab.is-on{color:var(--accent)}
.cli-tab.is-on::after{content:'';position:absolute;left:8px;right:8px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--accent)}
.cli-tab em{font-style:normal;font-size:11px;font-weight:800;min-width:18px;height:18px;padding:0 5px;border-radius:99px;display:inline-grid;place-items:center;background:#eef0f4;color:var(--ink-2)}
.cli-tab em.is-alert{background:var(--accent);color:#fff}
/* La ficha ya no trae su propia cabecera: la barra del cliente lo dice todo */
body.vista-ficha .fi-cab{display:none}

/* Admin en Programas: de quién es lo que publica */
.prog{display:flex;align-items:center;gap:14px;padding:12px 18px;flex-wrap:wrap;background:#f8f9ff;border-color:#dfe3ff}
.prog-ico{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#fff;color:var(--accent)}
.prog-ico .ico{width:20px;height:20px}
.prog-sel{display:flex;flex-direction:column;gap:1px;padding:5px 12px;border:1px solid #cfd5ff;border-radius:12px;background:#fff}
.prog-sel span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}
.prog-sel select{border:0;background:none;padding:0;font:inherit;font-size:15px;font-weight:700;color:var(--ink);outline:none;cursor:pointer}
.prog p{flex:1;min-width:240px;margin:0;font-size:13.5px;color:var(--ink-2)}

/* Login: varios programas con el mismo correo */
.login-msg:has(.login-elegir){color:var(--ink)}
.login-elegir-t{display:block;margin-bottom:10px;font-weight:600}
.login-elegir{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;margin-top:8px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit;text-align:left;cursor:pointer}
.login-elegir:hover{border-color:var(--accent);background:#f8f9ff}
.login-elegir b{font-size:15px;color:var(--ink)}
.login-elegir em{font-style:normal;font-size:13px;color:var(--ink-3)}

/* ================= Inicio del estudiante ================= */
body.vista-inicio .head-card{display:none}
.in-hola{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:16px;padding:26px 28px;border-radius:24px;color:#fff;
  background:radial-gradient(circle at 90% 0%,rgba(125,139,255,.55),transparent 50%),linear-gradient(135deg,#111318 0%,#1d2a9e 65%,#2b3bd1 100%)}
.in-eyebrow{margin:0;font-size:13.5px;color:rgba(255,255,255,.7)}
.in-hola h1{margin:6px 0 6px;font-size:32px;font-weight:800;letter-spacing:-.03em;color:#fff}
.in-frase{margin:0;font-size:15.5px;color:rgba(255,255,255,.88);max-width:560px}
.in-frase b{color:#ffd25e}
.in-nivel{display:flex;align-items:center;gap:14px;min-width:260px;padding:14px 18px;border:0;border-radius:18px;background:rgba(255,255,255,.1);color:#fff;font:inherit;text-align:left;cursor:pointer;transition:background .15s}
.in-nivel:hover{background:rgba(255,255,255,.16)}
.in-nivel-e{flex:none;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:28px;background:#fff3c4}
.in-nivel-t{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.in-nivel-t em{font-style:normal;font-size:12.5px;color:rgba(255,255,255,.75)}
.in-nivel-t b{font-size:22px;font-weight:800;color:#ffd25e}
.in-nivel-t .pt-barra{height:7px;background:rgba(255,255,255,.18)}
.in-nivel-t .pt-barra i{background:linear-gradient(90deg,#ffd25e,#ffad33)}
.in-nivel-t small{font-size:12px;color:rgba(255,255,255,.85)}
.in-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.in-card{padding:20px 22px;display:flex;flex-direction:column;gap:10px}
.in-card-cab{display:flex;align-items:center;justify-content:space-between;gap:10px}
.in-card-cab h3{display:flex;align-items:center;gap:8px;margin:0;font-size:16.5px}
.in-card-cab .ico{width:19px;height:19px;color:var(--accent)}
.in-vacio{margin:0;font-size:14px;color:var(--ink-3)}
.in-ok{margin:0;padding:14px 16px;border-radius:14px;background:#e6f6ec;color:#1d7a43;font-size:14.5px}
.in-btn{align-self:flex-start;margin-top:auto}
.in-clase.is-vivo{border-color:#f0c4bd;box-shadow:0 0 0 3px rgba(229,72,77,.12)}
.in-clase-n{margin:0;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.in-clase h4{margin:0;font-size:21px;font-weight:800;letter-spacing:-.02em}
.in-clase-f{display:flex;align-items:center;gap:6px;margin:0;font-size:14px;color:var(--ink-2)}
.in-clase-f .ico{width:16px;height:16px}
.in-clase-acc{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.in-clase-acc .ico{width:16px;height:16px}
.in-pend-lista,.in-mat-lista,.in-com-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.in-pend-i{display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;font:inherit;color:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:border-color .15s,transform .15s}
.in-pend-i:hover{border-color:#cfd5ff;transform:translateX(3px)}
.in-pend-e{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:19px;background:#f3f4ff}
.in-pend-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.in-pend-t b{font-size:14.5px}
.in-pend-t em{font-style:normal;font-size:12.5px;color:var(--ink-3)}
.in-com-lista button{display:flex;align-items:flex-start;gap:10px;width:100%;padding:8px;border:0;border-radius:12px;background:none;font:inherit;text-align:left;cursor:pointer;color:var(--ink-2);font-size:13.5px;line-height:1.4}
.in-com-lista button:hover{background:#f2f3f5}
.in-com-lista .cm-av{width:34px;height:34px;font-size:11px}
.in-com-lista b{display:block;color:var(--ink);font-size:13.5px}
.in-mat-lista button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;border-radius:12px;background:#f7f8fa;font:inherit;text-align:left;cursor:pointer}
.in-mat-lista button:hover{background:#eef0ff}
.in-mat-c{flex:none;min-width:76px;font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}
.in-mat-lista b{flex:1;min-width:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.in-mat-lista em{flex:none;font-style:normal;font-size:12.5px;color:var(--ink-3)}
.in-sub{margin:6px 0 0;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.in-rec{display:flex;flex-wrap:wrap;gap:6px}
.in-rec button{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--line);border-radius:99px;background:#fff;font:inherit;font-size:13.5px;font-weight:600;color:var(--ink-2);cursor:pointer}
.in-rec button:hover{border-color:#cfd5ff;color:var(--ink)}
.in-wa{margin-top:4px}
@media (max-width:980px){ .in-grid{grid-template-columns:minmax(0,1fr)} }
@media (max-width:640px){
  .in-hola{padding:20px;border-radius:20px}
  .in-hola h1{font-size:26px}
  .in-nivel{min-width:0;width:100%}
  .cli{padding:12px 14px 0}
  .cli-tabs{margin:0 -14px;padding:0 6px}
  .cli-id h2{font-size:19px}
  .cli-acc .btn{padding:8px 12px}
}

/* ================= Avisos de carga y confirmación de correos ================= */
.aviso-carga{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 16px;margin-bottom:12px;border-color:#f3d9a4;background:#fffaf0;font-size:14px;color:#6b4b00}
.login-reintentar{width:100%;margin-top:6px;justify-content:center}
.co-confirmar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:4px 0 12px;padding:12px 14px;border-radius:14px;background:#f8f9ff;border:1px solid #cfd5ff;font-size:14px}
.co-estado{font-size:13px;font-weight:700;color:#1d7a43}
.co-lista li{gap:8px}
.co-tanda{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* Personas repetidas */
.pe-persona em.pe-otros{color:var(--ink-3);font-size:12px}
.rep-personas{margin-bottom:14px}
.rep-lista{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.rep-lista li{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rep-lista li span{min-width:0}
.rep-lista li em{font-style:normal;color:var(--ink-3);font-size:12.5px;overflow-wrap:anywhere}
.rep-lista li i{font-style:normal;color:var(--ink-3);margin:0 4px}

/* El logo lleva al inicio */
.brand-home{display:flex;align-items:center;gap:12px;min-width:0;color:inherit;text-decoration:none;border-radius:10px}
.brand-home:hover .logo{opacity:.85}
.brand-home:focus-visible{outline:2px solid var(--accent, #3b5bfd);outline-offset:4px}

/* Clases del cliente: lista como la agenda, con lo de cada clase a un clic */
.cls-arriba{margin-top:16px}
.cls-lista2{padding:4px 0;overflow:hidden}
.cls-item{border-top:1px solid var(--line)}
.cls-item:first-child{border-top:0}
.cls-item .crono-row{border-top:0}
.cls-item.is-abierta{background:#fafbfc}
.cls-row{grid-template-columns:52px minmax(0,1.3fr) 170px minmax(0,1.3fr) 250px}
.cls-row.is-dada .crono-dia{background:#e9eaf0;color:var(--ink-2,#4a4f5c)}
.cls-acc{display:flex;align-items:center;gap:6px;justify-content:flex-end}
.cls-acc .btn{white-space:nowrap}
.cls-flecha{width:14px;height:14px;transform:rotate(90deg);transition:transform .15s}
[data-cls-abrir][aria-expanded="true"] .cls-flecha{transform:rotate(-90deg)}
.cls-panel{display:flex;flex-wrap:wrap;gap:10px;padding:2px 22px 18px 90px}
.cls-panel .cls-dato{flex:1 1 240px;background:#fff;border:1px solid var(--line)}
@media (max-width: 760px){
  .cls-row{grid-template-columns:48px minmax(0,1fr) auto}
  .cls-row .crono-cuando{grid-column:2 / -1;grid-row:2}
  .cls-row .crono-estado{grid-column:2 / -1;justify-content:flex-start}
  .cls-row .cls-acc{grid-column:2 / -1;justify-content:flex-start}
  .cls-panel{padding:2px 16px 16px}
}
.pill-btn{cursor:pointer;border:1px solid transparent;font:inherit;font-size:12px;font-weight:600;text-decoration:none;transition:filter .12s, border-color .12s}
.pill-btn:hover{filter:brightness(.96);border-color:currentColor}
.cls-row .crono-estado{justify-content:flex-start}
.cls-row{grid-template-columns:52px minmax(0,1.2fr) 160px minmax(0,1.5fr) 270px}
.pill-link{text-decoration:none;display:inline-flex}
.pill-link:hover .pill{border-color:currentColor}

/* Resumen del cliente: lo de hoy arriba (lo mismo que dice su tarjeta) */
.ph-panel{padding:18px 22px;margin-bottom:14px}
.ph-panel.ph-ok{display:flex;align-items:center;gap:8px;color:#1f7a45;background:#f0faf4;border-color:#cdeedb}
.ph-lista{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column}
.ph-item{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.ph-item:first-child{border-top:0}
.ph-item>.ico{color:var(--ink-3)}
.ph-item.is-alta>.ico{color:#c23a2c}
.ph-txt{display:flex;flex-direction:column;min-width:0}
.ph-txt b{font-size:14.5px;font-weight:600}
.ph-txt small{font-size:12.5px;color:var(--ink-3)}
.ck-cifra small{font-weight:500;color:var(--ink-3);font-size:11.5px}
.ck-cifra .ck-env{color:#1f7a45}
.fo-enviado{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;color:#1f7a45;font-weight:600}
.fo-env{font-style:normal;color:#1f7a45;font-weight:600}
@media (max-width: 640px){ .ph-item{grid-template-columns:22px minmax(0,1fr)} .ph-item .btn{grid-column:2;justify-self:start} }

/* Alertas: lo que dicen los datos (Resumen, Estadísticas y tarjetas) */
.al-panel{padding:18px 22px;margin-bottom:14px}
.al-lista{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column}
.al-item{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.al-item:first-child{border-top:0}
.al-ico{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:11px;font-weight:800}
.al-item.is-mala .al-ico{background:#fdecea;color:#c23a2c}
.al-item.is-aviso .al-ico{background:#fff4dc;color:#a26a00}
.al-item.is-buena .al-ico{background:#e8f6ee;color:#1f7a45}
.ct-alerta{margin:0;font-size:12.5px;font-weight:600;color:#c23a2c;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.ct-alerta em{font-style:normal;font-weight:700;opacity:.75}
.es-kpis b em{font-style:normal;font-size:14px;font-weight:600;color:var(--ink-3)}
.es-mal{color:#c23a2c;font-weight:700}
.es-bien{color:#1f7a45}
.es-tabla tr.es-riesgo td:first-child{box-shadow:inset 3px 0 0 #c23a2c}
@media (max-width: 640px){ .al-item{grid-template-columns:26px minmax(0,1fr)} .al-item .btn{grid-column:2;justify-self:start} }
.fi-kpis .is-alerta b{color:#b0382b}
.cl-kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
