:root{--blue:#004AAD;--blue-deep:#003580;--blue-shadow:#00306F;--blue-50:#EAF1FB;--sky:#EEF5FF;--sky-line:#D9E6F8;--ink:#0B1F3A;--slate:#5F6E8C;--line:#E3E9F4;--paper:#fff;--bg:#F6F9FE;--gold:#F2A93B;--gold-soft:#FFF1D6;--gold-ink:#8A5A0D;--mint:#2E9E63;--mint-soft:#E2F6EA;--red:#E5484D;--red-soft:#FDECEC;--lock:#E5E9F0;--lock-sh:#C9D0DC}
*{box-sizing:border-box}html,body{margin:0;height:100%}
body{font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
button{font-family:inherit;cursor:pointer}
.hide{display:none!important}
#small{display:none;position:fixed;inset:0;background:var(--blue);color:#fff;z-index:99;padding:40px;text-align:center;align-items:center;justify-content:center;flex-direction:column;font-size:18px;line-height:1.5}

/* auth */
.auth{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}
.auth-l{background:linear-gradient(160deg,var(--blue) 0%,var(--blue-deep) 100%);color:#fff;padding:56px 64px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.auth-l:before,.auth-l:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.07)}
.auth-l:before{width:420px;height:420px;right:-120px;top:-120px}.auth-l:after{width:300px;height:300px;left:-90px;bottom:-110px}
.auth-l img.wl{width:230px;height:auto;align-self:flex-start;margin-bottom:44px;position:relative}
.auth-l h1{font-size:40px;line-height:1.15;margin:0 0 16px;position:relative}.auth-l p{font-size:18px;line-height:1.55;opacity:.92;max-width:460px;margin:0 0 26px;position:relative}
.auth-l ul{list-style:none;padding:0;margin:0;position:relative}.auth-l li{margin:10px 0;font-size:16px;display:flex;gap:10px;align-items:center}
.auth-r{display:flex;align-items:center;justify-content:center;padding:40px;background:#fff}
.card-auth{width:100%;max-width:400px}
.seg{display:grid;grid-template-columns:1fr 1fr;background:var(--sky);border-radius:14px;padding:4px;margin-bottom:22px}
.seg button{border:0;background:transparent;padding:11px;border-radius:11px;font-weight:700;color:var(--slate);font-size:15px}
.seg button.on{background:#fff;color:var(--blue);box-shadow:0 1px 4px rgba(0,74,173,.15)}
.card-auth h2{margin:0 0 6px;font-size:26px}.card-auth .sub{color:var(--slate);margin:0 0 20px;font-size:15px}
label.f{display:block;font-size:13px;font-weight:700;color:var(--slate);margin:14px 0 6px}
input.in{width:100%;padding:13px 14px;border:2px solid var(--line);border-radius:12px;font-size:16px;background:#F9FBFE;outline:none;font-family:inherit}
input.in:focus{border-color:var(--blue);background:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:var(--blue);color:#fff;font-weight:700;font-size:15px;letter-spacing:.4px;text-transform:uppercase;padding:14px 22px;border-radius:14px;box-shadow:0 4px 0 var(--blue-shadow);transition:.08s}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--blue-shadow)}
.btn.block{width:100%;margin-top:22px}.btn.ghost{background:#fff;color:var(--blue);border:2px solid var(--sky-line);box-shadow:0 4px 0 var(--sky-line)}
.btn.gold{background:var(--gold);box-shadow:0 4px 0 #C98318;color:#3d2600}
.err{color:var(--red);font-size:14px;margin-top:12px;min-height:18px}.link{background:none;border:0;color:var(--blue);font-weight:700;padding:0;font-size:14px}
/* shell */
.shell{display:grid;grid-template-columns:240px 1fr 330px;min-height:100vh}
.shell.t{grid-template-columns:240px 1fr}
.side{background:#fff;border-right:2px solid var(--line);padding:22px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}
.side .brand img{height:38px;margin:2px 8px 22px}
.nav{display:flex;flex-direction:column;gap:6px}
.nav button{display:flex;align-items:center;gap:14px;border:2px solid transparent;background:none;padding:12px 14px;border-radius:14px;font-weight:700;color:var(--slate);font-size:15px;text-transform:uppercase;letter-spacing:.5px;text-align:left}
.nav button:hover{background:var(--sky)}.nav button.on{background:var(--blue-50);border-color:var(--sky-deep,#BCD3F2);color:var(--blue)}
.nav .ic{font-size:22px;width:28px;text-align:center}
.side .who{margin-top:auto;padding:12px;border-radius:14px;background:var(--sky);font-size:14px}.side .who b{display:block}.side .who button{margin-top:8px}
.main{padding:28px 36px 80px;min-width:0}
.topbar{display:flex;gap:10px;justify-content:flex-end;margin-bottom:6px}
.chip{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:14px;font-weight:700;font-size:16px;background:#fff;border:2px solid var(--line)}
.chip.fire{color:#E8590C}.chip.xp{color:var(--gold-ink)}.chip.hp{color:var(--red)}.chip.lv{color:var(--blue)}
.rail{position:relative}.rail-in{position:fixed;top:0;right:0;width:330px;box-sizing:border-box;padding:28px 24px 28px 0;max-height:100vh;overflow-y:auto;scrollbar-width:none}.rail-in::-webkit-scrollbar{display:none}
.panel{background:#fff;border:2px solid var(--line);border-radius:20px;padding:18px 20px;margin-bottom:16px}
.panel h3{margin:0 0 12px;font-size:17px}.panel .muted{color:var(--slate);font-size:14px;line-height:1.5}
/* path */
.unit{margin:0 auto 10px;max-width:520px}
.unit-h{position:sticky;top:76px;z-index:5;box-shadow:0 5px 0 var(--ud,#00306F);display:flex;justify-content:space-between;align-items:center;border-radius:18px;padding:16px 20px;color:#fff;margin:26px 0 18px}
.unit-h b{font-size:12px;letter-spacing:1px;text-transform:uppercase;opacity:.85;display:block}.unit-h h2{margin:2px 0 0;font-size:21px}.unit-h span{font-size:14px;opacity:.9}
.unit-h .cnt{background:rgba(255,255,255,.2);padding:8px 14px;border-radius:12px;font-weight:700}
.path{display:flex;flex-direction:column;align-items:center;gap:26px;padding:34px 0 14px}
@keyframes pulse{0%{transform:scale(.92);opacity:.5}100%{transform:scale(1.18);opacity:0}}
@keyframes bob{50%{transform:translateY(-5px)}}
.shake{animation:shake .35s}@keyframes shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.pop{position:fixed;inset:0;background:rgba(11,31,58,.45);display:flex;align-items:center;justify-content:center;z-index:50}
.modal{background:#fff;border-radius:24px;padding:30px;width:min(480px,92vw);box-shadow:0 20px 60px rgba(0,0,0,.3);animation:up .22s}
@keyframes up{from{transform:translateY(16px);opacity:0}}
.modal h2{margin:0 0 6px;font-size:24px}.modal .sub{color:var(--slate);margin:0 0 16px}
.bar{height:12px;background:var(--line);border-radius:8px;overflow:hidden}.bar i{display:block;height:100%;background:var(--blue);border-radius:8px}
.sk{display:grid;grid-template-columns:90px 1fr 44px;gap:10px;align-items:center;margin:8px 0;font-size:14px}
.big{font-size:54px;font-weight:800;color:var(--blue);text-align:center;margin:4px 0}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.pill{padding:8px 12px;border-radius:12px;font-weight:700;font-size:14px;background:var(--sky);color:var(--blue)}
.pill.g{background:var(--gold-soft);color:var(--gold-ink)}.pill.m{background:var(--mint-soft);color:#1b6b42}.pill.r{background:var(--red-soft);color:var(--red)}
.row{display:flex;gap:10px}.row .btn{flex:1}
/* lesson */
.player{position:fixed;inset:0;background:#fff;z-index:40;display:flex;flex-direction:column}
.player-bar{display:flex;align-items:center;gap:14px;padding:10px 18px;border-bottom:2px solid var(--line);background:#fff}
.player-bar b{flex:1;font-size:16px}.player iframe{flex:1;border:0;width:100%}
/* misc */
.ring{--p:0;width:84px;height:84px;border-radius:50%;background:conic-gradient(var(--gold) calc(var(--p)*1%),var(--line) 0);display:flex;align-items:center;justify-content:center;flex:none}
.ring i{font-style:normal;width:62px;height:62px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px}
.week{display:flex;gap:6px;margin-top:10px}.week div{flex:1;text-align:center;font-size:11px;color:var(--slate);font-weight:700}
.week span{display:flex;height:30px;align-items:center;justify-content:center;border-radius:10px;background:var(--lock);margin-top:4px;font-size:16px}.week span.on{background:#FFE3CC}
.hearts{font-size:22px;letter-spacing:2px}.hearts s{opacity:.25;text-decoration:none}
.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.badge{background:#fff;border:2px solid var(--line);border-radius:18px;padding:16px 10px;text-align:center}
.badge .e{font-size:40px}.badge b{display:block;font-size:14px;margin-top:6px}.badge small{color:var(--slate);font-size:12px;line-height:1.35;display:block;margin-top:4px}
.badge.off{opacity:.45;filter:grayscale(1)}
h1.pg{margin:6px 0 4px;font-size:28px}.pg-sub{color:var(--slate);margin:0 0 22px}
table.t{width:100%;border-collapse:collapse;background:#fff;border:2px solid var(--line);border-radius:16px;overflow:hidden;font-size:14px}
table.t th{background:var(--sky);text-align:left;padding:12px;font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:var(--slate)}
table.t td{padding:12px;border-top:1px solid var(--line)}table.t tr.cl{cursor:pointer}table.t tr.cl:hover td{background:var(--sky)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.stat{background:#fff;border:2px solid var(--line);border-radius:18px;padding:16px}.stat b{font-size:28px;display:block;color:var(--blue)}.stat span{color:var(--slate);font-size:13px}
.tag{display:inline-block;padding:3px 9px;border-radius:9px;font-size:12px;font-weight:700}.tag.ok{background:var(--mint-soft);color:#1b6b42}.tag.no{background:var(--lock);color:var(--slate)}.tag.warn{background:var(--red-soft);color:var(--red)}
.tools{display:flex;gap:10px;margin-bottom:14px}.tools input{max-width:320px}
canvas#conf{position:fixed;inset:0;pointer-events:none;z-index:70}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 20px;border-radius:14px;z-index:80;font-size:15px}

.auth-l .mas{position:relative;margin-top:16px;height:370px;width:100%}.auth-l .evy-big{position:absolute;left:30px;bottom:0;animation:flo 4s ease-in-out infinite}.auth-l .fl{position:absolute;display:block;animation:flo 3.2s ease-in-out infinite;font-style:normal;line-height:0}.fl.f1{left:430px;top:60px}.fl.f2{left:400px;top:200px;animation-delay:-1s}.fl.f3{left:330px;top:250px;animation-delay:-2s}.fl.f4{left:36px;top:30px;animation-delay:-.7s}.fl.f5{left:20px;top:140px;animation-delay:-1.6s}.fl.f6{left:500px;top:150px;animation-delay:-2.4s}
.auth-l .mas img{filter:drop-shadow(0 14px 18px rgba(0,0,0,.28))}
@keyframes flo{50%{transform:translateY(-10px)}}
.say{display:flex;gap:10px;align-items:center}.say .av{flex:none;width:84px;display:flex;justify-content:center}
.say .bub{position:relative;background:var(--sky);border-radius:14px;padding:10px 12px;font-size:13.5px;line-height:1.45;color:var(--ink)}
.say .bub b{display:block;font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--blue);margin-bottom:2px}
.say .bub:before{content:"";position:absolute;left:-7px;top:22px;border:7px solid transparent;border-right-color:var(--sky);border-left:0}
.panel.mas-p{padding:12px 14px}
.modal .rm{text-align:center;margin:-6px 0 4px;animation:bob 2s infinite}
.modal .rm img{margin:0 auto}
.srow{position:relative;display:flex;justify-content:center;align-items:flex-end;gap:6px;margin:-4px 0 6px}.srow .s0,.srow .s2{margin-bottom:-6px}.srow .s0{transform:rotate(-10deg)}.srow .s2{transform:rotate(10deg)}.srow span{line-height:0;display:block;animation:pop .5s backwards}.srow .s1{animation-delay:.15s}.srow .s2{animation-delay:.3s}@keyframes pop{from{transform:scale(0) rotate(-40deg)}}.srow i{position:absolute;line-height:0;animation:flo 2.6s ease-in-out infinite}.srow .sp1{left:calc(50% - 130px);top:0}.srow .sp2{left:calc(50% + 100px);top:10px;animation-delay:-1s}

/* camino estilo botones 3D */
.topprog{position:sticky;top:0;z-index:8;background:var(--bg,#F5F8FD);padding:6px 0 12px;max-width:520px;margin:0 auto}
.topprog .tp-t{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.topprog b{font-size:20px}.topprog span{color:var(--slate);font-size:14px;font-weight:700}
.topprog .bar{height:16px;border-radius:10px}.topprog .bar i{background:linear-gradient(#3F86E8,var(--blue));box-shadow:inset 0 -3px 0 rgba(0,0,0,.15)}
.pg-sub{text-align:center}
.nw{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px}
.node{position:relative;width:96px;height:88px;border-radius:50%;border:0;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .08s,box-shadow .08s;color:rgba(255,255,255,.96)}
.node.big{width:104px;height:96px}
.node.done{background:radial-gradient(circle at 50% 28%,#FFD36B,var(--gold));box-shadow:0 10px 0 #C98318,0 14px 18px rgba(201,131,24,.25)}
.node.cur,.node.open{background:radial-gradient(circle at 50% 28%,color-mix(in srgb,var(--uc) 78%,#fff),var(--uc));box-shadow:0 10px 0 var(--ud),0 14px 18px rgba(0,0,0,.18)}
.node.lock{background:#E3E8F1;box-shadow:0 10px 0 #C4CDDB;color:#fff;cursor:not-allowed}
.node.lock .ni .fg{color:#fff}.node.lock .ni .sh{color:#B3BDCE}
.node:active:not(.lock){transform:translateY(8px);box-shadow:0 2px 0 rgba(0,0,0,.25)}
.node .ni{overflow:visible}.node .ni .fg{fill:currentColor}.node .ni .sh{fill:currentColor;color:rgba(0,0,0,.22)}
.node.done .ni .sh{color:#C98318}.node.cur .ni .sh,.node.open .ni .sh{color:var(--ud)}.node .ni .k{fill:var(--ud)}.node.done .ni .k{fill:#C98318}
.node .ring{position:absolute;inset:-10px -10px -10px;border-radius:50%;border:6px solid color-mix(in srgb,var(--uc) 30%,#fff);pointer-events:none;animation:ringp 1.8s ease-in-out infinite}
@keyframes ringp{50%{transform:scale(1.07);opacity:.6}}
.start-tag{position:absolute;top:-52px;z-index:2;background:#fff;color:var(--uc);border:2px solid var(--line);border-radius:14px;padding:7px 14px;font-weight:800;font-size:14px;letter-spacing:.8px;white-space:nowrap;animation:bob 1.4s infinite;box-shadow:0 3px 0 var(--line)}
.start-tag:after{content:"";position:absolute;bottom:-9px;left:50%;margin-left:-8px;border:8px solid transparent;border-top-color:#fff;border-bottom:0}
@keyframes bob{50%{transform:translateY(-5px)}}
.nw .st{display:flex;gap:2px;margin-top:6px}.nw .st span{font-size:16px;color:#D5DBE6;line-height:1;text-shadow:0 1px 0 #fff}.nw .st span.on{color:var(--gold);text-shadow:0 2px 0 #C98318}
.lname{font-size:13px;color:var(--slate);text-align:center;max-width:170px;font-weight:700;margin-top:4px}
.side-mas{position:absolute;top:-34px;pointer-events:none;animation:bob 3s ease-in-out infinite}
.side-mas.r{right:calc(100% + 26px)}.side-mas.l{left:calc(100% + 26px)}
.jump{position:fixed;right:360px;bottom:28px;z-index:20;width:58px;height:54px;border-radius:50%;border:0;background:#fff;color:var(--blue);font-size:28px;font-weight:900;display:none;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 0 var(--line),0 8px 20px rgba(0,0,0,.15);border:2px solid var(--line)}
.jump:active{transform:translateY(5px);box-shadow:0 1px 0 var(--line)}

/* guidebook */
.gbk{position:fixed;inset:0;z-index:60;background:var(--bg);overflow:auto;animation:up .2s}
.gbk-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:16px;background:var(--blue);color:#fff;padding:16px 28px;box-shadow:0 5px 0 var(--blue-shadow)}
.gbk-top div{flex:1}.gbk-top small{display:block;font-size:12px;letter-spacing:1px;opacity:.8;font-weight:700}.gbk-top b{font-size:22px}
.gbk-back{border:0;background:rgba(255,255,255,.18);color:#fff;width:42px;height:42px;border-radius:12px;font-size:22px;cursor:pointer}
.gbk-tag{border:2px solid rgba(255,255,255,.5);border-radius:14px;padding:10px 16px;font-weight:800;font-size:13px;letter-spacing:.8px}
.gbk-body{max-width:720px;margin:0 auto;padding:30px 20px 60px}
.gbk-card{background:#fff;border:2px solid var(--line);border-radius:24px;padding:30px 34px;font-size:18px;line-height:1.6}
.gbk-eye{color:#2E86DE;font-weight:800;font-size:14px;letter-spacing:.5px}
.gbk-card h2{margin:6px 0 16px;font-size:26px}.gbk-card p{margin:0 0 14px}
.hl{color:#1B7BD8}
.gbk-tb{width:100%;border-collapse:separate;border-spacing:0;margin:20px 0;border:2px solid #7DB8FF;border-radius:18px;overflow:hidden;font-size:17px}
.gbk-tb th{background:#EAF3FF;text-align:left;padding:14px 18px;border-bottom:2px solid #7DB8FF}
.gbk-tb td{padding:13px 18px;border-top:2px solid #D7E8FB}.gbk-tb tbody tr:first-child td{border-top:0}
.gbk-tb th+th,.gbk-tb td+td{border-left:2px solid #D7E8FB}
.gbk-ex{display:flex;flex-direction:column;gap:10px}
.gbk-say{display:flex;gap:14px;align-items:center;text-align:left;border:2px solid var(--line);border-radius:16px;background:#F7FAFF;padding:12px 16px;cursor:pointer;font:inherit}
.gbk-say:hover{border-color:#7DB8FF}.gbk-say i{font-style:normal;font-size:22px}.gbk-say b{display:block;font-size:18px}.gbk-say em{color:var(--slate);font-style:normal;font-size:15px}
.gbk-foot{text-align:center;margin-top:24px}.gbk-foot .btn{padding:16px 40px;font-size:16px}

.gbk-lead{font-size:19px;color:#2B3A55}
.gbk-card h3{margin:30px 0 10px;font-size:20px;color:var(--ink)}
.gbk-card h3:first-of-type{margin-top:22px}
.it{font-style:italic;color:#34507F}
.gbk-tw{overflow-x:auto}
.gbk-tb td,.gbk-tb th{font-size:16px}
.gbk-tb td:first-child{font-weight:700}
.gbk-ex{margin-top:12px}
.gbk-err{display:flex;flex-direction:column;gap:10px}
.gbk-err>div{border:2px solid #F5D4D4;background:#FFF8F8;border-radius:16px;padding:12px 16px;display:grid;gap:4px}
.gbk-err .no{color:#C23B3B;text-decoration:line-through;text-decoration-color:#F0A0A0}.gbk-err .ok{color:#1F8A4C;font-weight:700}.gbk-err small{color:var(--slate);font-size:14px}
.gbk-rec{margin-top:30px;background:#EAF3FF;border:2px solid #CFE2FA;border-radius:20px;padding:6px 24px 14px}
.gbk-rec ul{margin:0;padding-left:22px}.gbk-rec li{margin:6px 0}

.gbk-hd{display:flex;justify-content:space-between;align-items:center;gap:16px}.gbk-hd h2{margin-top:6px}

/* ===== móvil / pantallas pequeñas ===== */
.out-m{display:none}
@media(max-width:899px){
 html,body{overflow-x:hidden}
 .shell,.shell.t{grid-template-columns:1fr}
 .rail{display:none}
 .side{position:fixed;left:0;right:0;bottom:0;top:auto;height:auto;z-index:30;border-right:0;border-top:2px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom));flex-direction:row;box-shadow:0 -4px 16px rgba(0,0,0,.06)}
 .side .brand,.side .who{display:none}
 .nav{flex-direction:row;width:100%;justify-content:space-around;gap:2px}
 .nav button,.out-m{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;font-size:11px;letter-spacing:.3px;border-radius:12px;flex:1;min-width:0;background:none;border:2px solid transparent;font-weight:700;color:var(--slate);text-transform:uppercase}
 .nav .ic{font-size:22px;width:auto}
 .nav button{text-align:center;justify-content:flex-start;line-height:1.15}.nav button>span:not(.ic){display:block;width:100%;text-align:center}
 .main{padding:14px 14px 96px}
 .topbar{justify-content:space-between;gap:6px}.chip{padding:6px 10px;font-size:14px;border-radius:12px}
 .topprog{max-width:none}.unit{max-width:none}
 .unit-h{top:70px;padding:12px 14px;border-radius:16px;margin:20px 0 14px}.unit-h h2{font-size:18px}.unit-h span{font-size:12px}
 .path{gap:22px;padding-top:62px}
 .node{width:84px;height:78px}.node.big{width:90px;height:84px}
 .side-mas{display:none}
 .jump{right:14px;bottom:88px}
 .toast{bottom:90px;max-width:90vw;text-align:center}
 .pg{font-size:24px}
 .stats{grid-template-columns:repeat(2,1fr)}
 .tools{flex-wrap:wrap}.tools input{max-width:none;flex:1 1 200px}
 table.t{display:block;overflow-x:auto;white-space:nowrap}
 .bgrid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
 .modal{padding:22px 18px}.modal .row{flex-wrap:wrap}.modal .row .btn{flex:1 1 40%;min-width:110px}
 .player-bar{padding:8px 12px;gap:8px}.player-bar b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .gbk-top{padding:12px 14px;gap:10px}.gbk-top b{font-size:17px}.gbk-tag{display:none}
 .gbk-body{padding:16px 12px 40px}.gbk-card{padding:20px 16px;font-size:16px;border-radius:20px}
 .gbk-card h2{font-size:22px}.gbk-lead{font-size:16px}.gbk-tb td,.gbk-tb th{font-size:14px;padding:10px 12px}
 .gbk-hd img{height:70px!important}
 .gbk-say b{font-size:16px}
 /* inicio de sesión */
 .auth{grid-template-columns:1fr}
 .auth-l{padding:26px 22px 20px;min-height:0}.auth-l img.wl{width:150px;margin-bottom:4px}
 .auth-l h1{font-size:23px;margin:14px 0 6px}.auth-l .mas{display:none}
 .auth-r{padding:24px 18px 40px}
}
@media(max-width:380px){.chip{font-size:13px;padding:5px 8px}.node{width:76px;height:70px}}

.only-m{display:none}.panel.inst{background:linear-gradient(135deg,#EAF3FF,#fff);border-color:#CFE2FA}
@media(max-width:899px){.only-m{display:block}}

.res-list{display:flex;flex-direction:column;gap:2px}
.res-row{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:11px 0;border-top:1px solid #E6EDF7}
.res-row:first-child{border-top:0}
.res-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.res-t b{font-size:14px}
.res-s{text-align:right;white-space:nowrap}
.res-s b{font-size:16px;color:var(--blue,#004AAD)}
.res-k{grid-column:1/-1;display:flex;gap:12px;font-size:12px;font-weight:700;color:#5F6E8C}

/* ===== Mis clases ===== */
.tag.amb{background:var(--gold-soft);color:#8a5a00}.tag.m{background:#EFE9FC;color:#5B3BB5}
.panel.av,.panel.cl-renov{background:linear-gradient(135deg,#EAF3FF,#fff);border-color:#CFE2FA}
.panel.cl-renov{background:linear-gradient(135deg,#FFF6E3,#fff);border-color:#F6D9A2}
.cl-top{display:flex;gap:20px;align-items:center}
.cl-ring{width:112px;height:112px}.cl-ring i{width:86px;height:86px;flex-direction:column;font-size:28px;line-height:1}.cl-ring small{font-size:12px;color:var(--slate);font-weight:700;margin-top:4px}
.cl-big{font-size:20px;margin-top:10px}.cl-big b{color:var(--blue)}
.cl-list{display:flex;flex-direction:column}
.cl-row{display:grid;grid-template-columns:110px auto 1fr;gap:12px;align-items:center;padding:10px 0;border-top:1px solid #E6EDF7}
.cl-row:first-child{border-top:0}.cl-d{font-weight:700;font-size:14px;text-transform:capitalize}.cl-n{font-size:13px}
@media(max-width:899px){.cl-row{grid-template-columns:auto 1fr;gap:4px 10px}.cl-n{grid-column:1/-1}.cl-ring{width:96px;height:96px}.cl-ring i{width:74px;height:74px;font-size:24px}}
/* emojis 3D */
img.e3d{height:1.25em;width:1.25em;vertical-align:-.25em;display:inline-block;object-fit:contain;pointer-events:none}
.nav .ic img.e3d{height:28px;width:28px;vertical-align:middle}
.badge .e img.e3d{height:1.1em;width:1.1em}
.badge.off .e img.e3d{filter:grayscale(1);opacity:.45}

/* ===== Pagar ===== */
.pg-due{display:flex;justify-content:space-between;align-items:center;gap:12px}.pg-due small{display:block;color:var(--slate);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px}
.pg-due b{font-size:16px}.pg-due-m{font-size:26px;font-weight:800;color:var(--ink)}
.pg-monto{background:linear-gradient(150deg,var(--blue) 0%,var(--blue-deep) 100%);color:#fff;border-radius:24px;padding:22px 24px;margin:16px 0 20px;box-shadow:0 10px 24px rgba(0,74,173,.22)}
.pg-monto small{font-size:13px;opacity:.85;font-weight:700;letter-spacing:.5px;text-transform:uppercase}
.pg-usd{font-size:44px;font-weight:800;margin-top:4px;line-height:1.05}.pg-bs{font-size:22px;font-weight:700;margin-top:6px;color:#FFE3A6}
.pg-tasa{font-size:13px;opacity:.85;margin-top:10px}
.pg-h{margin:0 0 10px;font-size:17px}
.pg-mets{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:16px}
.pg-met{display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff;border:2px solid var(--line);border-radius:18px;padding:14px 10px;color:var(--ink);font-family:inherit;box-shadow:0 3px 0 var(--line)}
.pg-met b{font-size:15px}.pg-met small{color:var(--slate);font-size:13px;font-weight:700}
.pg-met.on{border-color:var(--blue);background:var(--blue-50);box-shadow:0 3px 0 #BCD3F2}.pg-met.on small{color:var(--blue)}
.pg-ic{font-size:30px;line-height:1}
.pg-dato{display:grid;grid-template-columns:130px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-top:1px solid #E6EDF7}
.pg-dato:first-of-type{border-top:0}.pg-dato span{color:var(--slate);font-size:13px}.pg-dato b{font-size:16px;word-break:break-all}
.pg-cp{border:2px solid var(--sky-line);background:#fff;color:var(--blue);font-weight:700;font-size:12px;border-radius:10px;padding:6px 10px;font-family:inherit}
select.in{width:100%;padding:13px 14px;border:2px solid var(--line);border-radius:12px;font-size:16px;background:#F9FBFE;font-family:inherit;color:var(--ink)}
.pg-ok{background:linear-gradient(135deg,#E9F8EF,#fff);border-color:#BFE6CF}
@media(max-width:899px){.pg-usd{font-size:38px}.pg-dato{grid-template-columns:1fr auto}.pg-dato span{grid-column:1/-1}.pg-mets{grid-template-columns:repeat(3,1fr)}.pg-met{padding:12px 6px}.pg-met b{font-size:13px}}
/* ===== Recibo ===== */
.rcb{max-width:460px;text-align:left}
.rcb-h{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:2px solid var(--line);padding-bottom:14px;margin-bottom:6px}
.rcb-h img{height:30px}.rcb-h small{display:block;font-size:11px;letter-spacing:1.5px;color:var(--slate);text-align:right}.rcb-h b{color:var(--blue);font-size:18px}
.rcb-t{width:100%;border-collapse:collapse;font-size:14px}.rcb-t td{padding:9px 0;border-bottom:1px solid #EEF2F7;color:var(--slate)}.rcb-t td:last-child{text-align:right;color:var(--ink)}
.rcb-tot{display:flex;justify-content:space-between;align-items:center;background:var(--sky);border-radius:12px;padding:12px 14px;margin-top:14px}.rcb-tot b{font-size:24px}
.rcb-ok{display:inline-block;margin-top:12px;background:var(--mint-soft);color:#1b6b42;font-weight:800;font-size:12px;border-radius:99px;padding:5px 12px;letter-spacing:.5px}
@media print{body.imprimiendo>*:not(#recibo){display:none!important}body.imprimiendo #recibo{position:static;background:none}body.imprimiendo .rcb{box-shadow:none;margin:0 auto}body.imprimiendo .rcb-no{display:none}}
.cl-con{grid-column:1/-1;font-size:14px;line-height:1.45;color:var(--ink);background:var(--sky);border-radius:10px;padding:8px 12px;margin-top:2px}
.cl-con span{display:block;font-size:11.5px;font-weight:800;letter-spacing:.02em;color:var(--blue);margin-bottom:2px}
.cl-seg{max-width:340px;margin:0 0 16px}
.nv-chips{display:flex;gap:8px;margin:0 0 14px;flex-wrap:wrap}.nv-chips button{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:6px 16px;font-weight:800;color:var(--slate)}.nv-chips button.on{background:var(--blue);border-color:var(--blue);color:#fff}
.nt-list{display:flex;flex-direction:column;gap:12px}
.nt-u{border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:#fff}.nt-u.pend{background:var(--bg);border-style:dashed}
.nt-uh{display:flex;justify-content:space-between;align-items:center;gap:10px}.nt-uh b{font-size:16px}.nt-uh small{display:block;color:var(--slate);font-size:12.5px;margin-top:2px;text-transform:capitalize}
.nt-fin{text-align:center;border-radius:12px;padding:6px 12px;min-width:84px}.nt-fin b{display:block;font-size:24px;line-height:1.1}.nt-fin span{font-size:11.5px;font-weight:800}
.nt-fin.ok{background:var(--mint-soft);color:#1b6b42}.nt-fin.rep{background:var(--red-soft);color:var(--red)}
.nt-hs{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin-top:12px}
.nt-h{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;font-size:13.5px}.nt-h span{font-weight:700;min-width:98px}.nt-h b{min-width:26px;text-align:right}.nt-h b.low,.stat b.low{color:var(--red)}
.nt-bar{height:8px;background:var(--lock);border-radius:99px;overflow:hidden}.nt-bar i{display:block;height:100%;background:var(--blue);border-radius:99px}.nt-bar i.low{background:var(--red)}
@media(max-width:599px){.nt-hs{grid-template-columns:1fr}}
.lvtabs{display:flex;gap:8px;margin:4px 0 14px}
.lvtab{border:2px solid #cfd8ea;background:#fff;color:#35517f;font-weight:800;font-size:13px;padding:7px 14px;border-radius:999px;cursor:pointer}
.lvtab.on{background:#004AAD;border-color:#004AAD;color:#fff}
.lvhead{display:flex;align-items:center;gap:12px;margin:26px 0 6px;color:#35517f;font-weight:900;letter-spacing:2px;font-size:12px}
.lvhead:before,.lvhead:after{content:'';flex:1;height:2px;background:#d7e0f1}
/* ===== Selector de nivel ===== */
.lvsel{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0 0 18px}
.lvopt{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:center;text-align:left;background:#fff;border:2px solid var(--line);border-bottom-width:4px;border-radius:18px;padding:14px 16px;font-family:inherit;color:var(--ink);transition:.15s}
.lvopt:hover{border-color:#B9CDEB}
.lvopt.on{border-color:var(--blue);background:var(--blue-50)}
.lv-b{grid-row:span 2;width:52px;height:52px;border-radius:14px;background:var(--sky);color:var(--blue);font-weight:900;font-size:20px;display:flex;align-items:center;justify-content:center}
.lvopt.on .lv-b{background:var(--blue);color:#fff}
.lv-t b{display:block;font-size:16px}.lv-t small{color:var(--slate);font-size:12.5px;font-weight:600}
.lv-bar{display:block;height:6px;background:var(--lock);border-radius:99px;overflow:hidden}.lv-bar i{display:block;height:100%;background:var(--blue);border-radius:99px}
/* ===== MindGlow ===== */
.panel.mg-ped{background:linear-gradient(135deg,#EAF7F0,#fff);border-color:#BFE6CF}
.mg-ring{--blue:#2E9E63}
.mg-esp{margin-top:10px;font-size:14px;line-height:1.5}.mg-esp small{display:block;font-size:11.5px;font-weight:800;letter-spacing:.04em;color:var(--slate);text-transform:uppercase}
.panel.mg-tarea{background:linear-gradient(135deg,#FFF6E3,#fff);border-color:#F6D9A2}.mg-tarea small{display:block;font-size:12px;font-weight:800;letter-spacing:.04em;color:#8A5A0D;text-transform:uppercase;margin-bottom:4px}.mg-tarea b{display:block;font-size:18px;line-height:1.4;margin-bottom:6px}
.mg-ley{display:flex;gap:18px;flex-wrap:wrap;font-size:12.5px;color:var(--slate);margin-bottom:10px}.mg-ley i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:6px;vertical-align:-1px}
.mg-ley i.ini,.mg-b.ini i{background:#C9B8F0}.mg-ley i.ult,.mg-b.ult i{background:#2E9E63}
.mg-dim{display:grid;grid-template-columns:200px 1fr 92px;gap:10px;align-items:center;padding:9px 0;border-top:1px solid #E6EDF7;font-size:14px}.mg-dim:first-of-type{border-top:0}.mg-dim>span:first-child{font-weight:700}
.mg-bars{display:flex;flex-direction:column;gap:4px}.mg-b{display:flex;align-items:center;gap:8px}.mg-b i{display:block;height:9px;border-radius:99px}.mg-b em{font-style:normal;font-size:12px;color:var(--slate);font-weight:700}
.mg-baja{color:#1b6b42;font-weight:800;font-size:13px}.mg-sube{color:#8a5a00;font-weight:800;font-size:13px}
.cl-con.mg-con{background:#EAF7F0}.cl-con.mg-con span{color:#1b6b42}
@media(max-width:599px){.mg-dim{grid-template-columns:1fr auto}.mg-bars{grid-column:1/-1;order:3}}
.mg-rec{display:block;font-size:12px;font-weight:800;letter-spacing:.04em;color:#1b6b42;text-transform:uppercase}
/* ===== Avisos: tarjeta compacta ===== */
.panel.av-mini{display:flex;align-items:center;gap:12px;padding:14px 16px}
.av-mini .av-ic{font-size:28px;line-height:1;flex:none}
.av-mini .av-t{flex:1;min-width:0}.av-mini .av-t b{display:block;font-size:15px}.av-mini .av-t span{display:block;font-size:13px;color:var(--slate);line-height:1.35}
.av-mini .btn{flex:none;padding:10px 18px;font-size:13px;margin:0}
.av-modal{position:fixed;inset:0;background:rgba(11,31,58,.45);z-index:60;display:flex;align-items:center;justify-content:center;padding:18px}
.av-box{background:#fff;border-radius:22px;padding:24px 22px;max-width:380px;width:100%;text-align:center}
.av-box h3{margin:6px 0 8px}.av-box ol{text-align:left;padding-left:20px;margin:12px 0 18px;line-height:1.6}.av-box .btn{width:100%}
/* Enlazar la cuenta con el código de la academia */
.cod-row{display:flex;gap:10px;margin:14px 0 6px}
.cod-row .cod-in{flex:1;min-width:0;text-transform:uppercase;letter-spacing:.18em;font-weight:800;text-align:center;font-size:18px}
.cod-row .cod-in::placeholder{letter-spacing:.04em;font-weight:600;text-transform:none}
.cod-row .btn{flex:0 0 auto}
.cod-err{color:var(--red);font-size:14px;min-height:18px;margin-bottom:6px}
.cod-panel .link{display:inline-block;text-decoration:none}
