/* Plataforma de alumnos de Amor a Cuentas (28 oct 2026). Se carga junto con ac.css (variables --ac-* y .ac-btn).
   Morado #4B2582 · profundo #2E1650 · dorado #F2B705 (siempre con texto morado profundo) · crema #FFF8EC · coral solo decorativo. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.css-alumnos{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--ac-cream);color:var(--ac-ink);line-height:1.55;font-size:16px}
.css-alumnos a{color:var(--ac-p)}
.css-alumnos h1,.css-alumnos h2,.css-alumnos h3{line-height:1.2;margin:0 0 .5rem;color:var(--ac-pd)}
.css-alumnos button{font:inherit;cursor:pointer}
.css-alumnos :focus-visible{outline:3px solid var(--ac-coral);outline-offset:2px}
.al-wrap{max-width:1080px;margin:0 auto;padding:0 18px}
.al-narrow{max-width:820px}
/* cabecera */
.al-top{background:var(--ac-pd);color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.al-top-in{display:flex;align-items:center;gap:14px;min-height:62px}
.al-logo{display:flex;align-items:center;gap:10px;color:#fff!important;text-decoration:none;margin-right:auto}
.al-logo-mark{width:38px;height:38px;border-radius:10px;background:var(--ac-p);display:grid;place-items:center;flex:none}
.al-logo-mark svg{width:24px;height:24px;fill:var(--ac-g)}
.al-logo-txt{display:flex;flex-direction:column;line-height:1.1}
.al-logo-txt b{font-size:1.05rem}
.al-logo-txt small{font-size:.74rem;color:#E9DDFB}
.al-nav{display:flex;gap:6px;align-items:center}
.al-nav a,.al-nav button{white-space:nowrap;color:#fff;text-decoration:none;background:none;border:0;padding:8px 10px;border-radius:8px;font-size:.92rem}
.al-nav a:hover,.al-nav button:hover{background:rgba(255,255,255,.12)}
.al-nav .al-who{font-size:.85rem;color:#E9DDFB;padding:0 6px}
@media(max-width:640px){.al-nav .al-who,.al-nav .al-hide-m{display:none}.al-logo-txt small{display:none}.al-logo-txt b{font-size:.95rem}.al-nav a,.al-nav button{padding:8px 6px;font-size:.88rem}.al-cuad-b{padding:14px}.al-shared{padding:12px}.al-card{padding:16px}}
/* hero de página */
.al-hero{background:linear-gradient(135deg,var(--ac-p),var(--ac-pd));color:#fff;padding:34px 0 30px}
.al-hero h1{color:#fff;font-size:clamp(1.55rem,4vw,2.2rem)}
.al-hero p{color:#EDE4FA;margin:.3rem 0 0;max-width:720px}
.al-crumb{font-size:.85rem;margin-bottom:10px;color:#E9DDFB}
.al-crumb a{color:#fff}
.al-kicker{display:inline-block;background:var(--ac-g);color:var(--ac-pd);font-weight:800;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:3px 10px;margin-bottom:10px}
.al-quote{font-style:italic;color:#F7E7B0!important}
main.al-main{padding:26px 0 60px}
/* tarjetas */
.al-card{background:#fff;border:1px solid var(--ac-line);border-radius:16px;padding:20px;box-shadow:0 6px 24px -14px rgba(46,22,80,.35)}
.al-card+.al-card{margin-top:16px}
.al-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.al-sec{margin-top:28px}
.al-sec>h2{font-size:1.3rem}
.al-mute{color:var(--ac-mute)}
.al-small{font-size:.88rem}
/* progreso */
.al-bar{height:10px;border-radius:99px;background:#EEE6F8;overflow:hidden}
.al-bar>i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ac-p),#7A4BC0);border-radius:99px;transition:width .5s}
.al-bar.al-gold>i{background:linear-gradient(90deg,#D99F00,var(--ac-g))}
.al-prog-row{display:flex;align-items:center;gap:10px;font-size:.88rem;margin:6px 0}
.al-prog-row .al-bar{flex:1}
.al-prog-row span:first-child{min-width:90px;color:var(--ac-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.al-prog-row b{min-width:40px;text-align:right;color:var(--ac-pd)}
.al-camino{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:-46px}
.al-stat{background:#fff;border-radius:16px;padding:18px;border:1px solid var(--ac-line);box-shadow:0 10px 28px -16px rgba(46,22,80,.5)}
.al-stat h3{font-size:1rem;margin-bottom:6px}
.al-stat .al-big{font-size:2rem;font-weight:800;color:var(--ac-p);line-height:1}
.al-stat .al-bar{margin-top:10px}
/* fases y módulos */
.al-fase{margin-top:26px}
.al-fase-h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.al-fase-h h2{font-size:1.2rem;margin:0}
.al-fase-h span{color:var(--ac-mute);font-size:.88rem}
.al-mods{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.al-mod{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--ac-line);border-radius:14px;padding:16px;text-decoration:none;color:inherit!important;transition:transform .15s,box-shadow .15s}
.al-mod:hover{transform:translateY(-2px);box-shadow:0 10px 26px -14px rgba(46,22,80,.45)}
.al-mod small{color:var(--ac-coral-t);font-weight:700;text-transform:uppercase;font-size:.72rem;letter-spacing:.05em}
.al-mod b{color:var(--ac-pd);font-size:1rem;line-height:1.3}
.al-mod .al-mute{font-size:.82rem}
/* lista de lecciones */
.al-les{list-style:none;margin:0;padding:0}
.al-les li{border-bottom:1px solid var(--ac-line)}
.al-les li:last-child{border-bottom:0}
.al-les a{display:flex;align-items:center;gap:12px;padding:14px 4px;text-decoration:none;color:inherit}
.al-les a:hover .al-les-t{color:var(--ac-p)}
.al-num{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:#EEE6F8;color:var(--ac-p);font-size:.9rem}
.al-num.al-ok{background:var(--ac-p);color:#fff}
.al-les-t{font-weight:700;color:var(--ac-pd);display:block}
.al-les-m{font-size:.8rem;color:var(--ac-mute)}
.al-chip{display:inline-flex;align-items:center;gap:4px;font-size:.74rem;font-weight:700;border-radius:999px;padding:2px 9px;background:#F1ECF8;color:var(--ac-pd);white-space:nowrap}
.al-chip.al-ok{background:#E3F4E8;color:#1E6B3A}
.al-chip.al-mid{background:#FFF1C7;color:#6B4E00}
.al-chip.al-gold{background:var(--ac-g);color:var(--ac-pd)}
.al-chips{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
/* lección */
.al-video{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#1d0f33;box-shadow:0 16px 40px -18px rgba(46,22,80,.7)}
.al-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.al-soon{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:20px;color:#fff;background:radial-gradient(circle at 30% 20%,#6B3BB0 0,var(--ac-pd) 70%)}
.al-soon svg{width:62px;height:62px;fill:var(--ac-g);opacity:.95}
.al-soon b{font-size:1.25rem}
.al-soon span{color:#E4D7F7;max-width:440px;font-size:.95rem}
.al-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0}
.al-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:.7rem 1.2rem;border-radius:999px;font-weight:700;border:2px solid transparent;text-decoration:none;font-size:.95rem}
.al-btn-gold{background:var(--ac-g);color:var(--ac-pd)!important}
.al-btn-gold:hover{background:var(--ac-gh)}
.al-btn-p{background:var(--ac-p);color:#fff!important}
.al-btn-p:hover{background:var(--ac-pd)}
.al-btn-o{background:#fff;border-color:var(--ac-p);color:var(--ac-p)!important}
.al-btn-o:hover{background:#F5F0FB}
.al-btn-ok{background:#E3F4E8;color:#1E6B3A!important;border-color:#BFE3CA}
.al-btn[disabled]{opacity:.6;cursor:default}
.al-ideas{margin:0;padding-left:1.2rem}
.al-ideas li{margin:.35rem 0}
.al-ej{border-left:5px solid var(--ac-g);background:#FFFBEF}
.al-ej h2{font-size:1.05rem}
.al-pn{display:flex;justify-content:space-between;gap:10px;margin-top:28px;flex-wrap:wrap}
.al-pn a{flex:1 1 240px;background:#fff;border:1px solid var(--ac-line);border-radius:14px;padding:14px;text-decoration:none}
.al-pn a small{display:block;color:var(--ac-mute)}
.al-pn a b{color:var(--ac-pd)}
.al-pn a.al-next{text-align:right}
.al-aviso{background:#FFF4EF;border:1px solid #F4C7B8;border-radius:12px;padding:12px 14px;font-size:.92rem;color:#5c2a1d}
/* cuaderno */
.al-cuad{margin-top:26px;border:2px solid var(--ac-p);border-radius:18px;background:#fff;overflow:hidden}
.al-cuad-h{background:linear-gradient(135deg,var(--ac-p),var(--ac-pd));color:#fff;padding:18px 20px}
.al-cuad-h h2{color:#fff;font-size:1.25rem;margin:0}
.al-cuad-h p{margin:.3rem 0 0;color:#EDE4FA;font-size:.92rem}
.al-cuad-b{padding:20px}
.al-ejer{padding:16px 0;border-bottom:1px dashed var(--ac-line)}
.al-ejer:last-of-type{border-bottom:0}
.al-ejer h3{font-size:1.05rem}
.al-origen{display:inline-block;font-size:.74rem;font-weight:700;color:var(--ac-coral-t);background:#FDF0EC;border-radius:6px;padding:2px 8px;margin-bottom:8px}
.al-field{margin:14px 0}
.al-field>label,.al-field>legend,.al-field .al-lbl{display:block;font-weight:700;color:var(--ac-pd);margin-bottom:6px;font-size:.95rem;padding:0}
.al-field fieldset,fieldset.al-field{border:0;padding:0;margin:14px 0}
.al-help{display:block;font-size:.82rem;color:var(--ac-mute);margin:-2px 0 6px}
.al-in,.al-ta,.al-sel{width:100%;border:1.5px solid #D9CCEB;border-radius:10px;padding:10px 12px;font:inherit;background:#FDFBFF;color:var(--ac-ink)}
.al-ta{min-height:96px;resize:vertical}
.al-in:focus,.al-ta:focus{border-color:var(--ac-p);outline:none;box-shadow:0 0 0 3px rgba(75,37,130,.15)}
.al-opts{display:grid;gap:6px}
.al-opt{display:flex;gap:10px;align-items:flex-start;padding:9px 11px;border:1.5px solid #E2D8EF;border-radius:10px;cursor:pointer;background:#FDFBFF}
.al-opt:has(input:checked){border-color:var(--ac-p);background:#F3EDFB}
.al-opt input{margin-top:3px;accent-color:var(--ac-p);width:18px;height:18px;flex:none}
.al-scale{display:flex;flex-wrap:wrap;gap:6px}
.al-scale label{position:relative}
.al-scale input{position:absolute;opacity:0;inset:0}
.al-scale span{display:grid;place-items:center;min-width:42px;height:42px;border:1.5px solid #D9CCEB;border-radius:10px;font-weight:700;color:var(--ac-p);background:#fff;cursor:pointer}
.al-scale input:checked+span{background:var(--ac-p);color:#fff;border-color:var(--ac-p)}
.al-scale input:focus-visible+span{outline:3px solid var(--ac-coral)}
.al-scale-l{display:flex;justify-content:space-between;font-size:.78rem;color:var(--ac-mute);margin-top:4px;max-width:520px}
.al-tbl{width:100%;border-collapse:collapse}
.al-tbl th{font-size:.8rem;text-align:left;color:var(--ac-mute);padding:4px}
.al-tbl td{padding:4px}
.al-tbl .al-in{padding:8px 10px}
.al-tbl td.al-corto{width:120px}
@media(max-width:560px){.al-tbl thead{display:none}.al-tbl tr{display:grid;gap:4px;padding:8px 0;border-bottom:1px dashed var(--ac-line)}.al-tbl td{padding:0}.al-tbl td.al-corto{width:auto}.al-tbl td::before{content:attr(data-l);display:block;font-size:.75rem;color:var(--ac-mute)}}
.al-add{background:none;border:1.5px dashed #C9B6E4;border-radius:10px;padding:8px 12px;color:var(--ac-p);font-weight:700;margin-top:6px}
.al-save{position:sticky;bottom:0;display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fff;border-top:1px solid var(--ac-line);padding:12px 20px}
.al-save .al-st{font-size:.85rem;color:var(--ac-mute);margin-right:auto}
.al-shared{margin-top:20px;background:#F8F4FD;border-radius:14px;padding:16px;border:1px solid var(--ac-line)}
.al-shared h3{font-size:1.1rem}
.al-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:640px){.al-pair{grid-template-columns:1fr}}
.al-ans{background:#fff;border-radius:12px;padding:12px;border:1px solid var(--ac-line)}
.al-ans>b{display:block;font-size:.8rem;color:var(--ac-coral-t);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.al-ans p{margin:0;white-space:pre-wrap}
.al-ans ul{margin:0;padding-left:1.1rem}
.al-q{font-weight:700;color:var(--ac-pd);margin:14px 0 6px;font-size:.92rem}
.al-empty{color:var(--ac-mute);font-style:italic}
/* login */
.al-login{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}
@media(max-width:860px){.al-login{grid-template-columns:1fr}}
.al-login-art{background:linear-gradient(150deg,var(--ac-p),var(--ac-pd));color:#fff;padding:42px clamp(22px,5vw,64px);display:flex;flex-direction:column;justify-content:center;gap:16px}
.al-login-art h1{color:#fff;font-size:clamp(1.7rem,4vw,2.5rem)}
.al-login-art p{color:#EDE4FA;max-width:460px;margin:0}
.al-login-art ul{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.al-login-art li{display:flex;gap:10px;align-items:flex-start;color:#F3EDFB}
.al-login-art li::before{content:"";flex:none;width:10px;height:10px;margin-top:7px;border-radius:50%;background:var(--ac-g)}
@media(max-width:860px){.al-login-art{padding:26px 22px}.al-login-art ul,.al-login-art .al-hide-m{display:none}}
.al-login-f{display:flex;align-items:center;justify-content:center;padding:30px 18px}
.al-login-box{width:100%;max-width:420px}
.al-tabs{display:flex;background:#EEE6F8;border-radius:999px;padding:4px;margin-bottom:18px}
.al-tabs button{flex:1;border:0;background:none;border-radius:999px;padding:10px;font-weight:700;color:var(--ac-p)}
.al-tabs button[aria-selected=true]{background:#fff;color:var(--ac-pd);box-shadow:0 2px 8px rgba(46,22,80,.15)}
.al-msg{border-radius:10px;padding:10px 12px;font-size:.9rem;margin:10px 0}
.al-msg.al-err{background:#FDECEA;color:#8A1F11}
.al-msg.al-okm{background:#E3F4E8;color:#1E6B3A}
.al-hidden{display:none!important}
/* admin */
.al-table{width:100%;border-collapse:collapse;font-size:.9rem}
.al-table th{text-align:left;color:var(--ac-mute);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--ac-line);padding:8px}
.al-table td{border-bottom:1px solid var(--ac-line);padding:10px 8px;vertical-align:top}
.al-table tr:hover td{background:#FBF8FE}
.al-scroll{overflow-x:auto}
.al-code{white-space:nowrap;font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:800;letter-spacing:.06em;background:#F3EDFB;color:var(--ac-pd);border-radius:8px;padding:3px 8px}
.al-codebox{background:#FFFBEF;border:2px dashed var(--ac-g);border-radius:14px;padding:16px;margin-top:12px}
.al-codebox .al-code{white-space:nowrap;font-size:1.4rem;display:inline-block;margin:6px 0}
.al-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.al-row>*{flex:1 1 200px}
.al-mods-tbl td,.al-mods-tbl th{text-align:center}
.al-mods-tbl td:first-child,.al-mods-tbl th:first-child{text-align:left}
details.al-det{border:1px solid var(--ac-line);border-radius:12px;background:#fff;margin:10px 0}
details.al-det>summary{cursor:pointer;padding:12px 14px;font-weight:700;color:var(--ac-pd);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
details.al-det>div{padding:0 14px 14px}
