@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;500;600;700;800;900&display=swap');
:root{--primary:#356df3;--primary-dark:#2456d9;--ink:#17233f;--muted:#697894;--line:#e1e8f5;--pastel-blue:#eaf3ff;--pastel-lilac:#f0edff;--pastel-mint:#e5faf5;--pastel-peach:#fff2e8}
*{box-sizing:border-box}body{font-family:'Nunito Sans',system-ui,-apple-system,'Segoe UI',sans-serif;background:#f5f7fc;color:var(--ink)}.btn-primary{background:var(--primary);border-color:var(--primary)}.btn-primary:hover,.btn-primary:focus{background:var(--primary-dark);border-color:var(--primary-dark)}.card{background:#fff;border:1px solid rgba(23,35,63,.055);box-shadow:0 .25rem 1rem rgba(42,65,110,.055)}.table td,.table th{vertical-align:middle}.hover-card{transition:transform .18s ease,box-shadow .18s ease}.hover-card:hover{transform:translateY(-2px);box-shadow:0 .5rem 1.2rem rgba(42,65,110,.10)}.edugo-gradient{background:linear-gradient(105deg,#2873f4 8%,#17b8bd 57%,#8b5cf6 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.app-navbar{min-height:68px}.hero{background:linear-gradient(125deg,#edf3ff 0%,#f4f0ff 52%,#e3fbf5 100%);border:1px solid #e5eaf3}
/* EduGo login */
.auth-page{margin:0;min-height:100vh;background:#f6f8ff}.auth-main{width:100%;min-height:100vh;padding:0!important}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(430px,1.02fr) minmax(450px,.98fr);background:#fff;overflow:hidden}.auth-visual{position:relative;isolation:isolate;min-height:100vh;overflow:hidden;padding:clamp(28px,4vw,62px);background:linear-gradient(145deg,#eef5ff 0%,#f6f2ff 48%,#e5fbf6 100%);display:flex;flex-direction:column}.auth-visual:before{content:"";position:absolute;z-index:-2;width:620px;height:620px;right:-230px;top:15%;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(101,173,255,.34),rgba(150,129,255,.12) 50%,transparent 72%)}.auth-visual:after{content:"";position:absolute;z-index:-2;left:-18%;right:-12%;bottom:-170px;height:360px;background:linear-gradient(120deg,#8ddbf6,#9e9bff 53%,#73e6d0);border-radius:50% 50% 0 0/25% 25% 0 0;transform:rotate(-5deg);opacity:.85}.auth-visual-glow{position:absolute;z-index:-1;border-radius:50%;filter:blur(2px);pointer-events:none}.auth-glow-one{width:260px;height:260px;left:-110px;top:34%;background:rgba(255,255,255,.68)}.auth-glow-two{width:220px;height:220px;right:0;bottom:16%;background:rgba(255,255,255,.3)}.auth-brand-row{position:relative;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.edugo-wordmark{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#102b5b;font-size:clamp(2.3rem,4.4vw,4.1rem);font-weight:900;letter-spacing:-.075em;line-height:1}.edugo-cap{font-size:.58em;filter:drop-shadow(0 5px 8px rgba(49,101,217,.16));letter-spacing:0}.platform-pill{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid rgba(106,137,248,.25);border-radius:18px;background:rgba(255,255,255,.63);box-shadow:0 8px 28px rgba(91,119,190,.07);font-weight:800;color:#254276;line-height:1.2;flex-shrink:0}.platform-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#e7efff;color:#316df4;font-size:1.35rem}.auth-student{position:absolute;z-index:-1;right:-2%;top:17%;width:50%;height:58%;overflow:hidden;border-radius:46% 0 0 44%;opacity:.94;mask-image:linear-gradient(to bottom,#000 0%,#000 73%,transparent 100%)}.auth-student img{height:100%;width:100%;object-fit:cover;object-position:50% 20%;mix-blend-mode:multiply}.auth-welcome-copy{position:relative;z-index:2;margin-top:clamp(70px,12vh,145px);max-width:70%}.auth-eyebrow,.auth-form-kicker{font-size:.76rem;letter-spacing:.13em;font-weight:900;color:#4f77d4;text-transform:uppercase}.auth-welcome-copy h1{font-size:clamp(2.65rem,4.5vw,4.4rem);line-height:1.02;letter-spacing:-.055em;font-weight:900;color:#172951;margin:10px 0 16px}.welcome-brand{font-size:.82em;letter-spacing:-.045em}.auth-description{font-size:1.08rem;color:#526789;max-width:340px}.auth-trust-row{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:auto;padding-top:46px;position:relative;z-index:2}.trust-item{display:flex;align-items:center;gap:8px;color:#304a73;font-size:.91rem;font-weight:700}.trust-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:14px;font-size:1.2rem;font-weight:900}.trust-mint{background:#d8f8ef;color:#0a9f8e}.trust-blue{background:#e1edff;color:#2563eb}.trust-lilac{background:#eee8ff;color:#7652e9}.auth-wave{position:absolute;z-index:-1;left:-10%;width:125%;height:95px;border-radius:50%;pointer-events:none}.auth-wave-one{bottom:4%;background:rgba(255,255,255,.2);transform:rotate(-7deg)}.auth-wave-two{bottom:1%;background:rgba(255,255,255,.18);transform:rotate(4deg)}.auth-form-side{display:flex;align-items:center;justify-content:center;padding:clamp(26px,5vw,78px);background:linear-gradient(145deg,#fff 0%,#fcfdff 65%,#f7f8ff 100%)}.auth-form-wrap{width:100%;max-width:460px}.auth-mobile-brand{display:none}.auth-form-heading{margin-bottom:30px}.auth-form-heading h2{font-size:2.25rem;font-weight:900;letter-spacing:-.045em;margin:9px 0 7px;color:#17233f}.auth-form-heading p{color:var(--muted);margin:0;font-size:1.02rem}.auth-form .form-label{font-size:.92rem;font-weight:800;color:#304361;margin-bottom:8px}.auth-input-wrap{position:relative;display:flex;align-items:center}.auth-input-wrap .form-control{height:56px;padding:12px 48px 12px 46px;border:1px solid #dce5f4;border-radius:15px;background:#fbfcff;color:#1e3153;box-shadow:0 2px 5px rgba(36,65,120,.02);font-size:1rem}.auth-input-wrap .form-control::placeholder{color:#9aa9c2}.auth-input-wrap .form-control:focus{border-color:#82a7ff;box-shadow:0 0 0 .23rem rgba(67,121,247,.13);background:#fff}.input-icon{position:absolute;left:16px;z-index:1;color:#4779de;font-size:1.3rem;line-height:1}.password-toggle{position:absolute;right:10px;border:0;background:transparent;color:#6580ad;padding:9px 10px;border-radius:9px}.password-toggle:hover{background:#edf3ff;color:#2456d9}.auth-form-options{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:7px 0 25px;font-size:.89rem}.login-security-note{display:flex;align-items:center;gap:7px;color:#159b8e;font-weight:800;white-space:nowrap}.login-help{color:#7a88a1;text-align:right;font-size:.82rem}.auth-submit{height:57px;border-radius:15px;width:100%;display:flex;justify-content:center;align-items:center;position:relative;padding:0 52px 0 21px;font-weight:900;font-size:1.03rem;background:linear-gradient(105deg,#466bfa,#349ff4);border:0;box-shadow:0 12px 25px rgba(61,113,239,.2);transition:transform .18s ease,box-shadow .18s ease}.auth-submit span:last-child{position:absolute;right:21px;top:50%;transform:translateY(-50%)}.auth-submit:hover{transform:translateY(-1px);box-shadow:0 15px 28px rgba(61,113,239,.25);background:linear-gradient(105deg,#3659eb,#238de5)}.auth-submit span:last-child{font-size:1.4rem}.auth-divider{display:flex;align-items:center;gap:13px;color:#98a5bb;font-size:.83rem;margin:28px 0 18px}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#e4eaf4}.auth-register-copy{text-align:center;color:#647590;font-size:.92rem;margin-bottom:10px}.auth-register-btn{width:100%;height:49px;border:1px solid #dbe5f7;border-radius:14px;background:#fff;color:#315fbd;font-weight:800;display:flex;align-items:center;justify-content:center}.auth-register-btn:hover{background:#f1f6ff;border-color:#b8ceff;color:#234fbb}.auth-privacy{display:flex;align-items:center;justify-content:center;gap:7px;color:#98a4b8;font-size:.82rem;margin:25px 0 0}.auth-privacy span{color:#12a89b;font-size:1.2rem}.auth-alert{border-radius:13px;font-size:.92rem}.auth-mobile-brand .edugo-wordmark{font-size:2rem}
/* Pastel, illustration-free administrative welcome banner */
.admin-welcome-banner{position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(154,174,244,.24);border-radius:24px;padding:clamp(24px,3vw,38px);background:linear-gradient(112deg,#e8f1ff 0%,#f0edff 47%,#def9f3 100%);box-shadow:0 8px 25px rgba(75,104,170,.07)}.admin-welcome-banner:before,.admin-welcome-banner:after{content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none}.admin-welcome-banner:before{width:360px;height:360px;right:7%;top:-265px;background:rgba(255,255,255,.56)}.admin-welcome-banner:after{width:480px;height:220px;right:-60px;bottom:-170px;background:linear-gradient(110deg,rgba(171,181,255,.32),rgba(93,220,214,.35));transform:rotate(-9deg)}.admin-welcome-banner h1{font-size:clamp(2rem,3.2vw,3rem);letter-spacing:-.045em;color:#1a2b50}.admin-welcome-banner p{color:#5a6e91}.admin-welcome-banner .badge{background:rgba(255,255,255,.72)!important;color:#4263ad!important;border:1px solid rgba(129,151,220,.22)}
@media(max-width:991.98px){.auth-shell{grid-template-columns:minmax(300px,.85fr) minmax(390px,1.15fr)}.auth-visual{padding:28px}.edugo-wordmark{font-size:2.8rem}.platform-pill{font-size:.85rem;padding:10px}.auth-welcome-copy{margin-top:100px;max-width:78%}.auth-welcome-copy h1{font-size:3rem}.auth-student{width:55%;right:-10%;top:22%;height:50%}.auth-form-side{padding:36px}.auth-trust-row{gap:10px}.trust-item{font-size:.8rem}.trust-icon{width:32px;height:32px}}
@media(max-width:767.98px){.auth-shell{display:flex;flex-direction:column;min-height:100vh}.auth-visual{min-height:330px;padding:24px 22px 28px}.auth-brand-row .edugo-wordmark{font-size:2.2rem}.auth-brand-row .platform-pill{font-size:.76rem;padding:8px 10px;border-radius:13px}.platform-icon{width:28px;height:28px}.auth-student{width:43%;height:61%;top:17%;right:0;opacity:.55}.auth-welcome-copy{margin-top:43px;max-width:76%}.auth-eyebrow{font-size:.65rem;margin-bottom:5px}.auth-welcome-copy h1{font-size:2.5rem;margin:7px 0}.auth-description{font-size:.92rem;max-width:240px;margin-bottom:0}.auth-trust-row{display:none}.auth-visual:after{height:150px;bottom:-100px}.auth-form-side{padding:30px 22px 36px;align-items:flex-start}.auth-form-wrap{max-width:500px;margin:0 auto}.auth-mobile-brand{display:none}.auth-form-heading{margin-bottom:22px}.auth-form-heading h2{font-size:1.85rem}.auth-form-options{font-size:.82rem}.auth-input-wrap .form-control{height:53px}.auth-submit{height:54px}.admin-welcome-banner{border-radius:19px;padding:22px}.app-navbar .container{padding-left:16px;padding-right:16px}}
@media(max-width:380px){.auth-brand-row .edugo-wordmark{font-size:1.9rem}.auth-brand-row .platform-pill{font-size:.7rem}.auth-welcome-copy h1{font-size:2.15rem}.auth-form-side{padding-left:16px;padding-right:16px}.auth-form-options{align-items:flex-start;flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* EduGo v2.5.2: accesos rápidos con contraste consistente; sin utilidades Bootstrap que fuercen fondo blanco */
.admin-welcome-banner .admin-quick-action,
.admin-quick-action {
  color: #2456d9 !important;
  background-color: rgba(255,255,255,.72) !important;
  border: 1px solid #356df3 !important;
  text-decoration: none;
  opacity: 1 !important;
  transition: color .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.admin-welcome-banner .admin-quick-action:hover,
.admin-welcome-banner .admin-quick-action:focus,
.admin-welcome-banner .admin-quick-action:focus-visible,
.admin-welcome-banner .admin-quick-action:active,
.admin-quick-action:hover,
.admin-quick-action:focus,
.admin-quick-action:focus-visible,
.admin-quick-action:active {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: #356df3 !important;
  background-color: #356df3 !important;
  border-color: #356df3 !important;
  opacity: 1 !important;
  box-shadow: 0 4px 12px rgba(53,109,243,.24) !important;
  text-decoration: none;
}
.admin-welcome-banner .admin-quick-action:visited { color: #2456d9 !important; }
.admin-quick-action:focus-visible { outline: 3px solid rgba(53,109,243,.24); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .admin-quick-action { transition: none !important; } }


/* EduGo 2.6.0 — sistema visual unificado para administración y familias */
:root{
 --edugo-blue:#356df3;--edugo-ink:#1a2b50;--edugo-muted:#637594;
 --edugo-border:#dce6fb;--edugo-shadow:0 8px 24px rgba(48,77,135,.075);
}
body.app-page{
 background:
   radial-gradient(ellipse at 5% 0%,rgba(213,230,255,.48),transparent 32rem),
   radial-gradient(ellipse at 100% 25%,rgba(220,250,244,.40),transparent 28rem),
   #f5f7fc;
 color:var(--edugo-ink);
}
.edugo-topbar{
 position:relative;z-index:20;min-height:72px;
 background:rgba(255,255,255,.91)!important;
 border-bottom:1px solid rgba(201,215,244,.8)!important;
 box-shadow:0 4px 18px rgba(47,72,120,.045);
 backdrop-filter:blur(14px);
}
.edugo-navbar-brand{font-size:1.55rem;letter-spacing:-.045em;color:#17233f}
.edugo-topbar-actions{min-width:0}
.edugo-icon-button{
 display:inline-grid;place-items:center;width:42px;height:42px;padding:0;
 color:#4165a7;border:1px solid #dce6fb;border-radius:14px;
 background:linear-gradient(145deg,#fff,#f2f6ff);
 box-shadow:0 3px 10px rgba(50,78,130,.05);
}
.edugo-icon-button:hover,.edugo-icon-button:focus-visible{
 color:#2456d9;background:#eaf1ff;border-color:#b8ccff;box-shadow:0 5px 14px rgba(53,109,243,.13)
}
.edugo-profile-trigger{
 display:flex;align-items:center;gap:10px;padding:5px 10px 5px 6px;
 border:1px solid #e0e8f7;border-radius:16px;background:#fff;color:#23385f;
}
.edugo-profile-trigger:hover,.edugo-profile-trigger:focus-visible{background:#f4f7ff;border-color:#bfd0fb;color:#1c4fb9}
.edugo-profile-trigger:after{margin-left:2px}
.edugo-avatar{
 display:grid;place-items:center;width:36px;height:36px;border-radius:12px;
 color:#2456d9;font-weight:900;background:linear-gradient(140deg,#dceaff,#eee7ff);
 border:1px solid rgba(125,153,232,.25)
}
.edugo-profile-trigger strong{font-size:.84rem;line-height:1.15;max-width:170px;overflow:hidden;text-overflow:ellipsis}
.edugo-profile-trigger small{font-size:.72rem;color:#7182a0}
.edugo-dropdown{
 min-width:235px;margin-top:10px!important;border:1px solid #e0e8f7;border-radius:16px;
 box-shadow:0 14px 35px rgba(34,58,105,.15);background:rgba(255,255,255,.98)
}
.edugo-dropdown .dropdown-item{padding:10px 12px;border-radius:10px;color:#33496f;font-weight:650}
.edugo-dropdown .dropdown-item:hover,.edugo-dropdown .dropdown-item:focus{background:#edf3ff;color:#2456d9}
.edugo-main{padding-top:28px!important;padding-bottom:42px!important;min-height:calc(100vh - 72px)}
.card{
 border:1px solid rgba(205,218,244,.55)!important;
 box-shadow:0 5px 17px rgba(39,65,116,.055),0 1px 2px rgba(39,65,116,.035)!important;
}
.card .card-body{min-width:0}
.table{--bs-table-bg:transparent}
.table thead th{color:#2b4167;font-weight:800;border-bottom-color:#d8e2f2;white-space:nowrap}
.table tbody td{border-color:#e4eaf5}
.table tbody tr:hover>*{--bs-table-bg:rgba(237,243,255,.45)}
.btn{transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.btn-outline-primary{color:#2456d9;border-color:#4b7bf6;background:rgba(255,255,255,.78)}
.btn-outline-primary:hover,.btn-outline-primary:focus,.btn-outline-primary:active{
 color:#fff!important;background:#356df3!important;border-color:#356df3!important;
 box-shadow:0 5px 14px rgba(53,109,243,.20)!important
}
.btn-primary{box-shadow:0 5px 13px rgba(53,109,243,.12)}
.parent-welcome-banner{
 position:relative;isolation:isolate;overflow:hidden;padding:clamp(22px,3vw,34px);
 border:1px solid rgba(166,188,247,.38);border-radius:25px;
 background:linear-gradient(112deg,#e7f0ff 0%,#f0edff 47%,#def9f2 100%);
 box-shadow:0 9px 28px rgba(65,95,157,.075);
}
.parent-welcome-banner:before,.parent-welcome-banner:after{
 content:"";position:absolute;z-index:-1;pointer-events:none;border-radius:50%
}
.parent-welcome-banner:before{width:330px;height:330px;right:8%;top:-255px;background:rgba(255,255,255,.58)}
.parent-welcome-banner:after{width:430px;height:190px;right:-40px;bottom:-150px;background:linear-gradient(110deg,rgba(173,185,255,.32),rgba(89,218,205,.32));transform:rotate(-8deg)}
.parent-welcome-banner h1{font-size:clamp(2rem,3.2vw,2.8rem);letter-spacing:-.045em;color:#1a2b50}
.parent-welcome-banner p{color:#5a6e91}
.parent-welcome-banner .badge{background:rgba(255,255,255,.78)!important;color:#4263ad!important;border:1px solid rgba(129,151,220,.23)}
.parent-welcome-banner .btn{position:relative;z-index:1}
.parent-stat-card{position:relative;overflow:hidden;border-radius:20px!important;transition:transform .18s ease,box-shadow .18s ease}
.parent-stat-card:hover{transform:translateY(-3px);box-shadow:0 12px 27px rgba(48,77,135,.11)!important}
.parent-stat-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#a7c5ff}
.parent-stat-card.stat-mint:before{background:#82dcca}
.parent-stat-card.stat-lilac:before{background:#c5b6ff}
.parent-stat-card .display-6{color:#1b2e55;font-weight:900;letter-spacing:-.04em}
.parent-stat-card.stat-blue{background:linear-gradient(130deg,#fff 52%,#f0f5ff)!important}
.parent-stat-card.stat-mint{background:linear-gradient(130deg,#fff 52%,#effbf8)!important}
.parent-stat-card.stat-lilac{background:linear-gradient(130deg,#fff 52%,#f6f2ff)!important}
.parent-student-card{border-radius:22px!important;background:linear-gradient(145deg,#fff,#fbfcff)!important}
.parent-content-card{border-radius:23px!important;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(249,251,255,.98))!important}
.parent-content-card h4{color:#1d3158}
.parent-assistant-card{border-radius:20px!important;border-color:#d9e6ff!important;background:linear-gradient(110deg,#f4f7ff,#f7f3ff)!important}
.parent-assistant-card .assistant-icon{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border-radius:16px;background:linear-gradient(140deg,#e0edff,#eee7ff);font-size:1.4rem}
.parent-content-card .table-responsive{border-radius:14px}
.parent-content-card .table{margin-bottom:0}
.parent-content-card .table td{padding-top:14px;padding-bottom:14px}
@media(max-width:767.98px){
 .edugo-topbar{min-height:62px}
 .edugo-navbar-brand{font-size:1.35rem}
 .edugo-topbar-actions{gap:6px!important}
 .edugo-icon-button{width:38px;height:38px;border-radius:12px}
 .edugo-profile-trigger{padding:3px 6px 3px 3px}
 .edugo-avatar{width:32px;height:32px;border-radius:10px}
 .topbar-panel-link{font-size:.75rem;padding:.35rem .5rem}
 .edugo-main{padding-top:18px!important}
 .parent-welcome-banner{border-radius:19px;padding:22px}
 .parent-welcome-banner .d-flex>.d-flex{width:100%}
 .parent-welcome-banner .d-flex>.d-flex .btn{flex:1}
 .parent-content-card .card-body{padding:1rem!important}
 .parent-content-card .table{font-size:.88rem}
}
@media(prefers-reduced-motion:reduce){
 .parent-stat-card,.btn{transition:none!important}
}


/* EduGo 2.6.1: iconos de identidad consistentes y accesibles */
.input-icon svg{display:block;width:20px;height:20px;flex:0 0 20px}
.edugo-avatar svg{display:block;width:20px;height:20px}

/* EduGo 2.6.3 — tablas ordenables con acabado pastel consistente */
.table-responsive:has(> table){
  border:1px solid #e0e8f8;
  border-radius:15px;
  background:linear-gradient(125deg,rgba(255,255,255,.98),rgba(248,251,255,.98));
  box-shadow:inset 3px 0 0 rgba(164,190,255,.22);
}
.table-responsive:has(> table)>.table{margin-bottom:0}
.table thead th{
  background:linear-gradient(115deg,rgba(237,243,255,.82),rgba(244,240,255,.68),rgba(235,250,247,.62));
  border-bottom:1px solid #d5e1f5!important;
}
.table tbody tr:nth-child(even)>*{--bs-table-bg:rgba(245,248,255,.38)}
.table tbody tr:hover>*{--bs-table-bg:rgba(222,235,255,.48)!important}
.edugo-sort-header{cursor:pointer;user-select:none;position:relative;transition:background-color .15s ease,color .15s ease}
.edugo-sort-header:hover,.edugo-sort-header:focus-visible{color:#2456d9!important;background:linear-gradient(115deg,#e6efff,#f0ebff)!important;outline:none}
.edugo-sort-header:focus-visible{box-shadow:inset 0 0 0 2px #8eafff}
.edugo-sort-indicator{display:inline-block;margin-left:.45rem;min-width:.8em;color:#7890bd;font-size:.82em;font-weight:800;vertical-align:middle}
.edugo-sort-header[aria-sort="ascending"] .edugo-sort-indicator,.edugo-sort-header[aria-sort="descending"] .edugo-sort-indicator{color:#285be0}
.edugo-sort-disabled{cursor:default}
.presencial-create-card,.presencial-list-card{border:1px solid #dce7fb!important;background:linear-gradient(145deg,#fff 58%,#f8faff)!important;box-shadow:0 8px 23px rgba(48,77,135,.07)!important}
.presencial-accordion-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:12px;padding:.65rem 1rem;white-space:nowrap}
.presencial-chevron{transition:transform .2s ease}
.presencial-accordion-toggle[aria-expanded="true"] .presencial-chevron{transform:rotate(180deg)}
.presencial-form-inner{border-top:1px solid #e2eafb;background:linear-gradient(130deg,rgba(239,245,255,.45),rgba(248,243,255,.32));border-radius:0 0 14px 14px;padding:0 clamp(0px,1.3vw,14px) 14px}
.presencial-count{background:linear-gradient(120deg,#e2f8f0,#e8efff)!important;color:#2c588d!important;border:1px solid #d6e8f8;padding:.55rem .8rem}
.presencial-table-wrap{box-shadow:inset 3px 0 0 rgba(151,220,205,.25)}
@media(max-width:575.98px){
 .presencial-accordion-toggle{width:100%}
 .presencial-form-inner{padding-left:0;padding-right:0}
 .presencial-list-card .card-body{padding:1rem!important}
 .presencial-table-wrap .table{font-size:.86rem;min-width:760px}
 .edugo-sort-indicator{margin-left:.2rem}
}
@media(prefers-reduced-motion:reduce){.presencial-chevron{transition:none}}

/* Calendario consistente en todos los módulos de EduGo */
.edugo-date-visible{background-color:#fff!important;border-color:#d7dfeb!important;min-height:calc(1.5em + .75rem + 2px);}
.edugo-date-visible:focus{border-color:#86b7fe!important;box-shadow:0 0 0 .2rem rgba(13,110,253,.14)!important;outline:0}
.flatpickr-calendar{border:1px solid #dbe5f3!important;border-radius:1rem!important;box-shadow:0 1rem 2.5rem rgba(25,48,85,.18)!important;overflow:hidden;font-family:inherit!important}
.flatpickr-months{padding:.35rem .25rem;background:linear-gradient(135deg,#f3f7ff,#f0fbf8)}
.flatpickr-current-month,.flatpickr-weekday{font-weight:600!important;color:#20385f!important}
.flatpickr-day{border-radius:.55rem!important}
.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected:hover{background:#3569f6!important;border-color:#3569f6!important}
.flatpickr-day.today{border-color:#3569f6!important}
.flatpickr-day:hover{background:#edf3ff!important;border-color:#edf3ff!important}


/* EduGo v2.8.4 — matrícula más fácil y tablas legibles sin desbordamientos innecesarios */
.matricula-offer-filters{padding:1rem;border:1px solid #dfe8fb;border-radius:15px;background:linear-gradient(120deg,#f7f9ff,#f2fbf9)}
.offer-result[hidden]{display:none!important}
#noOffersMatch[hidden]{display:none!important}
.offer-submit-wrap{padding-top:1.85rem}
.oferta-submit-button{min-height:42px;white-space:normal}
.profile-voucher-actions{min-width:112px;width:100%}
.profile-voucher-actions .btn{white-space:normal;line-height:1.25;min-height:42px;display:flex;align-items:center;justify-content:center;padding:.55rem .65rem}
.admin-payment-review-table,.admin-profile-payments-table{width:100%;table-layout:fixed;font-size:.9rem}
.admin-payment-review-table th,.admin-payment-review-table td,.admin-profile-payments-table th,.admin-profile-payments-table td{white-space:normal;overflow-wrap:anywhere;word-break:normal;vertical-align:middle;padding:.55rem .45rem}
.admin-payment-review-table th:nth-child(1){width:11%}.admin-payment-review-table th:nth-child(2){width:17%}.admin-payment-review-table th:nth-child(3){width:21%}.admin-payment-review-table th:nth-child(4){width:12%}.admin-payment-review-table th:nth-child(5){width:8%}.admin-payment-review-table th:nth-child(6){width:11%}.admin-payment-review-table th:nth-child(7){width:20%}
.admin-payment-review-table .payment-action-form{gap:.25rem!important}.admin-payment-review-table .payment-action-form .btn{padding:.3rem .42rem;white-space:normal}
.admin-profile-payments-table th:nth-child(1){width:10%}.admin-profile-payments-table th:nth-child(2){width:10%}.admin-profile-payments-table th:nth-child(3){width:12%}.admin-profile-payments-table th:nth-child(4){width:13%}.admin-profile-payments-table th:nth-child(5){width:8%}.admin-profile-payments-table th:nth-child(6){width:11%}.admin-profile-payments-table th:nth-child(7){width:15%}.admin-profile-payments-table th:nth-child(8){width:21%}
.admin-profile-payments-table .btn{white-space:normal}
@media(max-width:767.98px){.oferta-submit-wrap{padding-top:0}.profile-voucher-actions{min-width:0}.admin-payment-review-table,.admin-profile-payments-table{font-size:.82rem}.admin-payment-review-table th,.admin-payment-review-table td,.admin-profile-payments-table th,.admin-profile-payments-table td{padding:.45rem .35rem}.admin-payment-review-table .btn,.admin-profile-payments-table .btn{font-size:.78rem}}


/* EduGo v2.11.1 — casillas de conceptos de pago con contraste accesible */
.presencial-concept-check,.payment-concept-check{appearance:auto!important;-webkit-appearance:checkbox!important;width:1.2rem!important;height:1.2rem!important;min-width:1.2rem!important;border:2px solid #64748b!important;border-radius:.28rem!important;background-color:#fff!important;accent-color:#3569f6!important;box-shadow:0 0 0 1px rgba(30,64,175,.08);cursor:pointer;vertical-align:middle}
.presencial-concept-check:focus,.payment-concept-check:focus{outline:3px solid rgba(53,105,246,.25);outline-offset:2px}
.presencial-concept-check:checked,.payment-concept-check:checked{accent-color:#3569f6!important}
.payment-concept-line,.payment-concept-option{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem .9rem;margin:.55rem 0;border:1px solid #d7e0ed;border-radius:.75rem;background:#fff;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}
.payment-concept-option{cursor:pointer}
.payment-concept-option:hover{border-color:#8baaf7;background:#f8faff}
.payment-concept-option.is-selected{border-color:#6c98ff;background:#edf4ff;box-shadow:0 0 0 1px rgba(53,105,246,.12)}
.payment-concept-option.is-disabled{background:#f5f6f8;color:#687386;cursor:not-allowed;opacity:.85}
.payment-concept-option strong:last-child,.payment-concept-line>strong{white-space:nowrap}
.payment-total-box{background:#dceaff;border:1px solid #9ec1ff;color:#12386d}

/* v2.15.0 — Registro de apoderado: composición limpia y responsive */
.register-shell{grid-template-columns:minmax(340px,.88fr) minmax(570px,1.12fr);min-height:100vh;background:#fff}
.register-visual{min-height:100vh;padding:clamp(28px,4vw,58px);background:linear-gradient(145deg,#101d3d 0%,#172d59 56%,#087f9a 125%);color:#fff}
.register-visual:before{width:640px;height:640px;right:-280px;top:12%;background:radial-gradient(circle at 35% 35%,rgba(72,166,255,.3),rgba(106,102,255,.15) 50%,transparent 72%)}
.register-visual:after{left:-15%;right:-20%;bottom:-220px;height:390px;background:linear-gradient(120deg,rgba(22,169,197,.65),rgba(64,101,232,.52) 55%,rgba(119,104,255,.38));opacity:.55}
.register-brand-row{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:16px}
.register-wordmark{display:inline-flex;align-items:center;gap:0;color:#fff!important;font-size:clamp(2.2rem,3.4vw,3.4rem);font-weight:900;letter-spacing:-.075em;line-height:1;text-decoration:none}
.register-wordmark span{background:linear-gradient(110deg,#55c6ef,#67e5d0);background-clip:text;-webkit-background-clip:text;color:transparent}
.register-platform-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #ffffff35;border-radius:14px;background:#ffffff12;color:#eef5ff;font-size:.8rem;font-weight:800;white-space:nowrap}
.register-platform-pill>span{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#ffffff19;color:#8fe8ed;font-size:1.1rem}
.register-student{position:absolute;z-index:0;right:-4%;top:13%;width:65%;height:58%;overflow:hidden;border-radius:48% 0 0 42%;opacity:.8;mask-image:linear-gradient(to bottom,#000 0%,#000 70%,transparent 100%)}
.register-student img{height:100%;width:100%;object-fit:cover;object-position:48% 18%;mix-blend-mode:screen;opacity:.85}
.register-visual-copy{position:relative;z-index:2;margin-top:auto;padding-top:clamp(160px,25vh,260px);max-width:84%}
.register-visual-kicker{display:inline-block;color:#9eece8;font-size:.75rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.register-visual-copy h2{font-size:clamp(2.3rem,3.6vw,3.9rem);line-height:1.04;letter-spacing:-.06em;font-weight:900;color:#fff;margin:13px 0 15px}
.register-visual-copy h2 span{color:#9eece8}
.register-visual-copy p{max-width:390px;color:#d4e2f7;font-size:1rem;line-height:1.75;margin:0}
.register-trust{position:relative;z-index:3;display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:42px;color:#fff}
.register-trust>span{width:38px;height:38px;display:grid;place-items:center;border-radius:14px;background:#b5f4e7;color:#075e68;font-weight:900;font-size:1.15rem;flex-shrink:0}
.register-trust>div{display:flex;flex-direction:column;gap:3px}.register-trust strong{font-size:.86rem}.register-trust small{font-size:.76rem;color:#c7d9f1}
.register-decoration{position:absolute;pointer-events:none;border:1px solid #ffffff18;border-radius:50%;z-index:0}.register-decoration-one{width:230px;height:230px;right:7%;bottom:9%}.register-decoration-two{width:330px;height:330px;right:-1%;bottom:-4%}
.register-form-side{align-items:center;justify-content:center;padding:clamp(28px,4vw,64px);background:linear-gradient(145deg,#fff 0%,#fcfdff 68%,#f2f7ff 100%)}
.register-form-wrap{width:100%;max-width:760px;margin-inline:auto}
.register-mobile-brand{display:none}
.register-heading{margin-bottom:25px}
.register-badge{display:inline-flex;align-items:center;padding:9px 15px;border-radius:10px;background:#1769f7;color:#fff;font-size:.95rem;font-weight:850;box-shadow:0 7px 17px #2463eb22;margin-bottom:15px}
.register-kicker{display:block;color:#4e76d5;font-size:.7rem;font-weight:900;letter-spacing:.15em;margin-bottom:5px}
.register-heading h1{font-size:clamp(2rem,3vw,2.7rem);font-weight:900;letter-spacing:-.05em;line-height:1.12;color:#17233f;margin:0 0 9px}
.register-heading p{max-width:650px;color:#6a7b94;margin:0;font-size:.95rem;line-height:1.65}
.register-alert{border-radius:12px}
.register-form .form-label{font-size:.88rem;font-weight:750;color:#2c405f;margin-bottom:7px}
.register-form .form-control{min-height:49px;border:1px solid #dbe4f1;border-radius:11px;background:#fbfcff;color:#1c3153;padding:11px 13px;box-shadow:0 2px 5px #17355b05;font-size:.96rem}
.register-form .form-control:focus{background:#fff;border-color:#82a7ff;box-shadow:0 0 0 .22rem #4379f71f}
.register-form .form-control[readonly]{background:#f2f6ff;color:#61799f}
.register-help{display:block;color:#7c8aa0;font-size:.76rem;line-height:1.45;margin-top:5px}
.register-submit-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-top:7px}
.register-submit{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:20px;border:0;border-radius:12px;padding:13px 21px;background:linear-gradient(105deg,#3268f4,#318fe9);font-weight:850;box-shadow:0 10px 22px #2463eb25}
.register-submit:hover{background:linear-gradient(105deg,#2456df,#197dcf);transform:translateY(-1px)}
.register-secure-note{display:inline-flex;align-items:center;gap:7px;color:#8492a8;font-size:.77rem}.register-secure-note span{color:#0ba58e;font-weight:900}
@media(max-width:1100px){.register-shell{grid-template-columns:minmax(280px,.78fr) minmax(500px,1.22fr)}.register-visual{padding:28px}.register-platform-pill{font-size:.7rem;padding:8px}.register-wordmark{font-size:2.55rem}.register-visual-copy{max-width:96%;padding-top:200px}.register-visual-copy h2{font-size:2.55rem}.register-form-side{padding:32px}.register-form-wrap{max-width:690px}}
@media(max-width:820px){.register-shell{display:flex;flex-direction:column;min-height:100vh}.register-visual{min-height:300px;padding:24px 26px 28px}.register-brand-row{align-items:flex-start}.register-wordmark{font-size:2.35rem}.register-platform-pill{font-size:.74rem}.register-student{width:43%;height:80%;top:9%;right:0;opacity:.42}.register-visual-copy{max-width:67%;padding-top:55px;margin-top:0}.register-visual-copy h2{font-size:clamp(2rem,5vw,2.8rem);margin:9px 0}.register-visual-copy p{font-size:.87rem;line-height:1.5;max-width:330px}.register-visual-kicker{font-size:.64rem}.register-trust{padding-top:24px;margin-top:0}.register-decoration-one{width:140px;height:140px;right:8%;bottom:12%}.register-decoration-two{width:210px;height:210px;right:-2%;bottom:-12%}.register-form-side{padding:34px 28px 42px;align-items:flex-start}.register-form-wrap{max-width:680px}.register-heading{margin-bottom:22px}.register-heading h1{font-size:2.25rem}}
@media(max-width:560px){.register-visual{min-height:270px;padding:20px 20px 24px}.register-brand-row{align-items:center}.register-wordmark{font-size:2.05rem}.register-platform-pill{font-size:.66rem;padding:7px 8px;gap:5px;border-radius:11px}.register-platform-pill>span{width:23px;height:23px}.register-student{width:52%;height:68%;top:17%;right:-5%;opacity:.34}.register-visual-copy{max-width:83%;padding-top:47px}.register-visual-copy h2{font-size:2.15rem;max-width:320px}.register-visual-copy p{font-size:.82rem;max-width:290px}.register-visual-kicker{font-size:.58rem;letter-spacing:.1em}.register-trust{padding-top:23px}.register-trust>span{width:31px;height:31px;border-radius:10px}.register-trust strong{font-size:.76rem}.register-trust small{font-size:.67rem}.register-form-side{padding:27px 19px 35px}.register-heading{margin-bottom:20px}.register-badge{font-size:.85rem;padding:8px 12px;margin-bottom:12px}.register-kicker{font-size:.62rem}.register-heading h1{font-size:1.95rem}.register-heading p{font-size:.87rem}.register-form .form-control{min-height:48px}.register-form .form-label{font-size:.83rem}.register-submit-row{align-items:stretch;flex-direction:column;gap:12px}.register-submit{width:100%;min-height:52px}.register-secure-note{justify-content:center}}
@media(prefers-reduced-motion:reduce){.register-submit{transition:none}}

/* v2.15.0 — reducir decoración superpuesta en login/registro para proteger legibilidad y rostro. */
.auth-visual-glow,.register-decoration{display:none!important}
.auth-student{right:-1%;top:15%;width:48%;height:55%;opacity:.88}
.auth-student img{object-position:50% 20%;mix-blend-mode:normal;opacity:.9}
.register-student{right:-3%;top:14%;width:61%;height:58%;opacity:.78}
.register-student img{object-position:50% 18%;mix-blend-mode:screen;opacity:.82}
@media(max-width:767.98px){.auth-student{right:-5%;top:14%;width:42%;height:52%;opacity:.45}.auth-welcome-copy{max-width:74%}}
@media(max-width:820px){.register-student{right:-4%;top:10%;width:42%;height:74%;opacity:.36}.register-visual-copy{max-width:70%}}
@media(max-width:560px){.register-student{right:-7%;top:16%;width:48%;height:64%;opacity:.28}.register-visual-copy{max-width:82%}}

/* v2.15.0 — simplificar el fondo para que los elementos no compitan con el texto ni con el rostro. */
.auth-visual:before,.register-visual:before{display:none!important}
.auth-visual:after{height:210px!important;bottom:-115px!important;opacity:.22!important}
.register-visual:after{height:260px!important;bottom:-165px!important;opacity:.28!important}


/* v2.15.6 — registro con estudiante recortado y nombre institucional destacado */
.register-student{right:-2%;top:15%;width:66%;height:78%;overflow:visible;border-radius:0;opacity:1;mask-image:none;-webkit-mask-image:none}
.register-student img{width:100%;height:100%;object-fit:contain;object-position:center bottom;mix-blend-mode:normal;opacity:1;filter:drop-shadow(0 18px 22px rgba(3,18,49,.28))}
.register-institution-tag{display:inline-flex;align-items:center;align-self:flex-start;margin:3px 0 12px;padding:4px 11px 5px;border-radius:9px;background:linear-gradient(100deg,#d7fbf3,#b9f3e8);color:#087d83;font-size:clamp(.95rem,1.6vw,1.35rem);font-weight:950;letter-spacing:.035em;line-height:1.2;box-shadow:0 4px 12px rgba(20,157,174,.09)}
.register-kicker{margin-bottom:3px}
@media(max-width:820px){.register-student{right:-1%;top:12%;width:53%;height:80%;opacity:1}.register-student img{filter:drop-shadow(0 12px 15px rgba(3,18,49,.22))}.register-visual-copy{max-width:68%}}
@media(max-width:560px){.register-student{right:-5%;top:19%;width:54%;height:70%;opacity:.94}.register-visual-copy{max-width:80%;position:relative;z-index:2}.register-institution-tag{font-size:1rem;margin-bottom:9px}}
/* v2.15.6 — la etiqueta identifica el formulario, no parece un botón de acción */
.register-badge{display:inline-flex;align-items:center;padding:7px 13px;border:1px solid #d6e6ff;border-radius:999px;background:#eef5ff;color:#315fb6;font-size:.84rem;font-weight:800;box-shadow:none;margin-bottom:14px;cursor:default}
.register-badge:hover{background:#eef5ff;color:#315fb6}

/* EduGo v2.15.7 — acabado visual de registro, ilustración PNG transparente */
.register-visual{background:radial-gradient(ellipse at 72% 45%,rgba(28,122,209,.48),transparent 44%),linear-gradient(145deg,#102044 0%,#0c2c59 58%,#075d83 100%)}
.register-visual:before{display:block!important;width:590px;height:590px;right:-180px;top:18%;background:radial-gradient(circle at 40% 38%,rgba(39,143,255,.38),rgba(30,96,200,.14) 54%,transparent 73%)}
.register-visual:after{left:-18%;right:-14%;bottom:-230px;height:380px;background:linear-gradient(120deg,rgba(9,117,180,.62),rgba(23,91,176,.5) 58%,rgba(29,202,213,.26));opacity:.6}
.register-student{z-index:1;right:-1%;top:17%;width:57%;height:68%;overflow:visible;border-radius:0;opacity:1;mask-image:none;-webkit-mask-image:none;isolation:isolate}
.register-student img{position:absolute;z-index:2;right:0;bottom:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;mix-blend-mode:normal;opacity:1;filter:drop-shadow(0 18px 24px rgba(0,10,38,.28))}
.register-student-glow{position:absolute;z-index:0;left:8%;right:-5%;top:13%;bottom:8%;border-radius:50%;background:radial-gradient(ellipse,rgba(30,137,255,.48),rgba(37,118,226,.14) 54%,transparent 72%);filter:blur(7px)}
.register-doodle{position:absolute;z-index:1;fill:none;stroke:#8cc7ff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:.82;pointer-events:none}
.register-doodle-cap{width:110px;height:75px;right:2%;top:3%}.register-doodle-book{width:116px;height:92px;left:-1%;bottom:11%}.register-doodle-pencil{width:58px;height:58px;left:6%;top:31%;transform:rotate(-8deg)}
.register-dot-pattern{position:absolute;z-index:1;right:3%;top:31%;width:88px;height:120px;background-image:radial-gradient(#8cc7ff 2px,transparent 2.5px);background-size:18px 18px;opacity:.65}
.register-visual-copy{max-width:76%;padding-top:clamp(180px,27vh,290px);margin-top:auto;z-index:3}
.register-visual-copy h2{font-size:clamp(2.2rem,3.5vw,3.5rem);text-shadow:0 2px 20px rgba(8,26,60,.18)}
.register-visual-copy p{max-width:350px}
.register-trust{position:relative;z-index:3}
.register-decoration{display:none!important}
.register-form-side{background:radial-gradient(circle at 98% 2%,rgba(218,238,255,.55),transparent 25%),linear-gradient(145deg,#fff 0%,#fcfdff 70%,#f3f8ff 100%)}
.register-badge{display:inline-flex;align-items:center;gap:8px;background:#eef5ff;border:1px solid #d4e5ff;border-radius:999px;color:#2463d9;padding:8px 13px;font-size:.85rem;font-weight:800;line-height:1.25;margin-bottom:15px;box-shadow:none;cursor:default}
.register-badge>span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#d8eaff;color:#2776e9}
.register-kicker{display:block;margin:0 0 6px;color:#3170e8;font-size:.72rem;font-weight:900;letter-spacing:.16em}
.register-institution-tag{display:inline-block;margin:0 0 15px;padding:4px 12px 5px;border-radius:10px;background:linear-gradient(100deg,#d9fbf4,#b8f3e8);color:#087d85;font-size:1.18rem;font-weight:900;letter-spacing:.015em;box-shadow:0 5px 14px rgba(21,175,159,.09)}
.register-heading h1{margin-top:0}
@media(max-width:1100px){.register-student{right:-3%;width:61%;height:64%}.register-visual-copy{max-width:80%;padding-top:230px}.register-doodle-book{width:88px}.register-dot-pattern{width:65px}}
@media(max-width:820px){.register-visual{min-height:365px;padding:24px 26px 28px}.register-student{width:42%;height:76%;top:8%;right:0;opacity:1}.register-student img{object-position:center bottom}.register-student-glow{left:0;right:-8%;top:18%;bottom:8%}.register-visual-copy{max-width:62%;padding-top:52px;margin-top:0}.register-visual-copy h2{font-size:clamp(2rem,5vw,2.8rem)}.register-doodle-cap{width:72px;height:52px}.register-doodle-book{width:72px;height:60px;bottom:9%}.register-doodle-pencil{width:42px;height:42px;top:36%}.register-dot-pattern{width:54px;height:78px;right:0;top:30%}}
@media(max-width:560px){.register-visual{min-height:325px;padding:20px 20px 23px}.register-student{width:48%;height:71%;top:13%;right:-2%}.register-visual-copy{max-width:70%;padding-top:43px}.register-visual-copy h2{font-size:2rem}.register-visual-copy p{max-width:230px;font-size:.8rem}.register-visual-kicker{font-size:.57rem;letter-spacing:.08em}.register-doodle-cap{width:54px;height:40px;right:0;top:4%}.register-doodle-book{width:56px;height:48px;left:-3%;bottom:8%}.register-doodle-pencil{width:34px;height:34px;left:1%;top:40%}.register-dot-pattern{width:40px;height:55px;background-size:13px 13px}.register-trust{padding-top:20px}.register-institution-tag{font-size:1.02rem}.register-heading h1{font-size:1.9rem}}

/* v2.15.7 — login con el mismo estudiante PNG y lenguaje gráfico educativo */
.auth-visual{background:radial-gradient(ellipse at 72% 42%,rgba(28,122,209,.48),transparent 44%),linear-gradient(145deg,#102044 0%,#0c2c59 58%,#075d83 100%)}
.auth-visual:before{display:block!important;width:590px;height:590px;right:-190px;top:14%;background:radial-gradient(circle at 40% 38%,rgba(39,143,255,.38),rgba(30,96,200,.14) 54%,transparent 73%)}
.auth-visual:after{left:-18%;right:-14%;bottom:-220px;height:340px;background:linear-gradient(120deg,rgba(9,117,180,.62),rgba(23,91,176,.5) 58%,rgba(29,202,213,.26));opacity:.6}
.auth-student{z-index:1;right:0;top:17%;width:58%;height:67%;overflow:visible;border-radius:0;opacity:1;mask-image:none;-webkit-mask-image:none;isolation:isolate}
.auth-student img{position:absolute;z-index:2;right:0;bottom:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;mix-blend-mode:normal;opacity:1;filter:drop-shadow(0 18px 24px rgba(0,10,38,.28))}
.auth-doodle{position:absolute;z-index:1;fill:none;stroke:#8cc7ff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:.82;pointer-events:none}
.auth-doodle-cap{width:108px;height:74px;right:2%;top:3%}.auth-doodle-book{width:116px;height:92px;left:-1%;bottom:10%}.auth-doodle-pencil{width:58px;height:58px;left:5%;top:30%;transform:rotate(-8deg)}
.auth-dot-pattern{position:absolute;z-index:1;right:3%;top:31%;width:82px;height:115px;background-image:radial-gradient(#8cc7ff 2px,transparent 2.5px);background-size:18px 18px;opacity:.65}
.auth-welcome-copy{max-width:62%;margin-top:clamp(120px,19vh,205px)}
.auth-welcome-copy h1{font-size:clamp(2.35rem,3.5vw,3.45rem);text-shadow:0 2px 20px rgba(8,26,60,.18)}
.auth-welcome-copy h1 .welcome-brand{color:#9eece8}
@media(max-width:991.98px){.auth-student{right:-2%;width:60%;height:62%}.auth-welcome-copy{max-width:68%;margin-top:170px}.auth-doodle-book{width:90px}}
@media(max-width:767.98px){.auth-visual{min-height:365px;padding:24px 22px 28px}.auth-student{width:43%;height:72%;top:10%;right:0;opacity:1}.auth-welcome-copy{margin-top:48px;max-width:62%}.auth-welcome-copy h1{font-size:clamp(1.9rem,6vw,2.5rem)}.auth-doodle-cap{width:70px;height:52px}.auth-doodle-book{width:72px;height:60px;bottom:8%}.auth-doodle-pencil{width:42px;height:42px;top:35%}.auth-dot-pattern{width:52px;height:75px}}
@media(max-width:560px){.auth-visual{min-height:325px;padding:20px 20px 24px}.auth-student{width:48%;height:69%;top:13%;right:-2%}.auth-welcome-copy{max-width:70%;margin-top:42px}.auth-welcome-copy h1{font-size:1.95rem}.auth-description{max-width:220px;font-size:.82rem}.auth-eyebrow{font-size:.58rem;letter-spacing:.08em}.auth-doodle-cap{width:54px;height:40px}.auth-doodle-book{width:56px;height:48px;left:-3%;bottom:8%}.auth-doodle-pencil{width:34px;height:34px;left:1%;top:40%}.auth-dot-pattern{width:40px;height:55px;background-size:13px 13px}}
/* Ajuste de escala del estudiante en login y registro para que tenga protagonismo sin invadir el formulario. */
.register-student img,.auth-student img{object-fit:cover;object-position:center top}
@media(max-width:820px){.register-student img,.auth-student img{object-fit:cover;object-position:center top}}


/* v2.15.8 — estudiante PNG completo en login y registro; neutraliza antiguos recortes cover */
.auth-student{z-index:1;right:-1%;top:12%;width:66%;height:84%;overflow:visible;border-radius:0;opacity:1;mask-image:none!important;-webkit-mask-image:none!important;isolation:isolate}
.auth-student img{position:absolute;inset:auto 0 0 auto;width:100%;height:100%;object-fit:contain!important;object-position:center bottom!important;mix-blend-mode:normal!important;opacity:1!important;filter:drop-shadow(0 20px 24px rgba(0,10,38,.27))}
.register-student{z-index:1;right:-1%;top:13%;width:66%;height:84%;overflow:visible;border-radius:0;opacity:1;mask-image:none!important;-webkit-mask-image:none!important;isolation:isolate}
.register-student img{position:absolute;inset:auto 0 0 auto;width:100%;height:100%;object-fit:contain!important;object-position:center bottom!important;mix-blend-mode:normal!important;opacity:1!important;filter:drop-shadow(0 20px 24px rgba(0,10,38,.27))}
@media(max-width:1100px){.auth-student,.register-student{width:64%;height:79%;right:-2%;top:15%}.auth-welcome-copy{max-width:64%}.register-visual-copy{max-width:65%}}
@media(max-width:820px){.auth-student{width:48%;height:77%;top:9%;right:-1%}.register-student{width:49%;height:80%;top:8%;right:-1%}.auth-student img,.register-student img{object-fit:contain!important}.auth-welcome-copy{max-width:65%}.register-visual-copy{max-width:65%}}
@media(max-width:560px){.auth-student{width:48%;height:70%;top:13%;right:-2%;opacity:.8}.register-student{width:50%;height:72%;top:15%;right:-3%;opacity:.9}.auth-welcome-copy{max-width:72%}.register-visual-copy{max-width:76%}}

/* v2.15.9 — login: titular en dos líneas y descripción en tres, sin invadir al estudiante */
.auth-visual .auth-welcome-copy{width:100%;max-width:62%;margin-top:clamp(120px,19vh,205px);}
.auth-visual .auth-welcome-copy h1{max-width:490px;font-size:clamp(2.15rem,3.15vw,3.05rem);line-height:1.04;letter-spacing:-.055em;margin:10px 0 16px;position:relative;z-index:3}
.auth-visual .auth-welcome-copy .auth-description{max-width:315px;font-size:.96rem;line-height:1.55;position:relative;z-index:3}
.auth-visual .auth-student{right:-1%;width:62%;height:82%;top:13%;}
@media(max-width:991.98px){.auth-visual .auth-welcome-copy{max-width:64%;margin-top:165px}.auth-visual .auth-welcome-copy h1{font-size:clamp(2rem,3.3vw,2.7rem)}.auth-visual .auth-welcome-copy .auth-description{max-width:285px;font-size:.9rem}.auth-visual .auth-student{width:61%;height:74%;top:17%;right:-3%}}
@media(max-width:767.98px){.auth-visual .auth-welcome-copy{max-width:64%;margin-top:48px}.auth-visual .auth-welcome-copy h1{font-size:clamp(1.8rem,5.5vw,2.35rem)}.auth-visual .auth-welcome-copy .auth-description{max-width:230px;font-size:.82rem;line-height:1.45}.auth-visual .auth-student{width:45%;height:72%;top:10%;right:0}}
@media(max-width:560px){.auth-visual .auth-welcome-copy{max-width:66%;margin-top:42px}.auth-visual .auth-welcome-copy h1{font-size:1.82rem}.auth-visual .auth-welcome-copy .auth-description{max-width:205px;font-size:.78rem}.auth-visual .auth-student{width:46%;height:68%;top:13%;right:-2%}}


/* EduGo v2.15.10 — login alineado al prototipo aprobado: panel azul, estudiante protagonista y formulario institucional */
.auth-shell{grid-template-columns:minmax(0,1.16fr) minmax(430px,.84fr);min-height:100vh;overflow:hidden;background:#fff}
.auth-visual{min-height:100vh;padding:clamp(28px,4.2vw,66px);background:radial-gradient(ellipse at 72% 43%,rgba(0,143,255,.42),transparent 43%),linear-gradient(145deg,#102044 0%,#0b2d63 55%,#007eae 100%)}
.auth-visual:before{display:block!important;z-index:0;width:min(66vw,650px);height:min(66vw,650px);right:-12%;top:10%;background:radial-gradient(circle at 42% 38%,rgba(36,137,255,.42),rgba(30,96,200,.14) 56%,transparent 73%)}
.auth-visual:after{z-index:0;left:-10%;right:-16%;bottom:-15%;height:31%;background:#fff;border-radius:52% 48% 0 0/24% 28% 0 0;transform:rotate(5deg);opacity:1}
.auth-brand-row{z-index:5;align-items:center}
.auth-brand-row .edugo-wordmark{color:#fff;font-size:clamp(2.8rem,4vw,4rem)}
.auth-brand-row .edugo-wordmark .edugo-gradient{background:linear-gradient(110deg,#24d6ef,#5edac5);-webkit-background-clip:text;background-clip:text;color:transparent}
.auth-brand-row .platform-pill{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff;box-shadow:none}
.auth-brand-row .platform-icon{background:rgba(255,255,255,.12);color:#9eefff}
.auth-student{z-index:2;right:0!important;top:11%!important;width:60%!important;height:91%!important;overflow:visible!important;border-radius:0!important;opacity:1!important;mask-image:none!important;-webkit-mask-image:none!important;isolation:isolate}
.auth-student img{position:absolute;inset:auto 0 -1.5% auto!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important;mix-blend-mode:normal!important;opacity:1!important;filter:drop-shadow(0 20px 24px rgba(0,10,38,.25))!important}
.auth-doodle{z-index:3;stroke:#8cc7ff;opacity:.88}
.auth-doodle-cap{right:2%;top:11%;width:115px;height:78px}.auth-doodle-book{left:28%;bottom:17%;width:130px;height:96px}.auth-doodle-pencil{left:47%;top:34%;width:58px;height:58px}
.auth-dot-pattern{z-index:3;right:2%;top:32%;width:88px;height:120px}
.auth-welcome-copy{z-index:4;width:100%;max-width:53%!important;margin-top:clamp(95px,14vh,155px)!important;position:relative}
.auth-visual .auth-welcome-copy .auth-eyebrow{color:#37e3ee;font-size:.78rem;letter-spacing:.13em;margin-bottom:8px}
.auth-visual .auth-welcome-copy h1{max-width:480px;color:#fff!important;font-size:clamp(2.6rem,4vw,4.2rem)!important;line-height:1.02!important;letter-spacing:-.055em;margin:12px 0 18px!important;text-shadow:none!important}
.auth-visual .auth-welcome-copy h1 .welcome-brand{color:#20d6e8!important;font-size:1em;letter-spacing:-.055em}
.auth-visual .auth-welcome-copy .auth-description{max-width:340px!important;color:#e5efff!important;font-size:1rem!important;line-height:1.55!important;margin:0}
.auth-trust-row{z-index:4;position:relative;gap:clamp(18px,3vw,42px);padding-top:32px;margin-top:auto;color:#173e70}
.auth-trust-row .trust-item{flex-direction:column;align-items:center;gap:7px;min-width:70px;color:#274a79;font-size:.8rem;text-align:center}
.auth-trust-row .trust-icon{width:46px;height:46px;border-radius:15px;font-size:1.35rem}
.auth-form-side{align-items:center;justify-content:center;padding:clamp(30px,5vw,76px);background:radial-gradient(circle at 100% 15%,rgba(218,238,255,.42),transparent 25%),linear-gradient(145deg,#fff 0%,#fcfdff 68%,#f2f8ff 100%)}
.auth-form-wrap{max-width:520px}
.auth-institution-brand{display:flex;align-items:center;gap:13px;margin:0 0 clamp(32px,5vh,54px);color:#10264b;text-decoration:none;width:max-content;max-width:100%}
.auth-institution-brand img{display:block;width:55px;height:67px;object-fit:contain}
.auth-institution-brand span{display:flex;flex-direction:column;line-height:1.18}
.auth-institution-brand small{font-size:.65rem;letter-spacing:.13em;font-weight:800;color:#667b9b}
.auth-institution-brand strong{font-size:1.03rem;font-weight:900;color:#12284d}
.auth-institution-brand em{font-size:.75rem;font-style:normal;color:#7387a5;margin-top:5px}
.auth-form-heading{margin-bottom:28px}
.auth-form-heading .auth-form-kicker{color:#2768ff}
.auth-form-heading h2{font-size:clamp(2.2rem,3vw,3rem);line-height:1.05;color:#101f43}
.auth-form-heading p{color:#7185a6}
.auth-input-wrap .form-control{height:60px;border-radius:15px;background:rgba(255,255,255,.78)}
.auth-submit{height:62px;border-radius:15px;background:linear-gradient(105deg,#1557ff,#0099f5);box-shadow:0 12px 25px rgba(25,100,255,.23)}
.auth-register-btn{height:55px;border-radius:14px;border-color:#bfd5ff;color:#1557e9}
.auth-privacy{margin-top:27px}
@media(max-width:1100px){.auth-shell{grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr)}.auth-visual{padding:30px}.auth-welcome-copy{max-width:58%!important}.auth-visual .auth-welcome-copy h1{font-size:clamp(2.35rem,4vw,3.3rem)!important}.auth-student{width:63%!important;height:88%!important;top:13%!important}.auth-form-side{padding:32px}.auth-institution-brand{margin-bottom:30px}}
@media(max-width:767.98px){.auth-shell{display:flex;flex-direction:column;overflow:visible}.auth-visual{min-height:570px;padding:24px 24px 26px}.auth-brand-row .edugo-wordmark{font-size:2.5rem}.auth-brand-row .platform-pill{font-size:.72rem;padding:8px 10px}.auth-student{width:52%!important;height:76%!important;top:20%!important;right:-1%!important}.auth-welcome-copy{max-width:57%!important;margin-top:85px!important}.auth-visual .auth-welcome-copy h1{font-size:clamp(2.25rem,6vw,3rem)!important}.auth-visual .auth-welcome-copy .auth-description{max-width:255px!important;font-size:.88rem!important}.auth-doodle-cap{top:18%;width:78px;height:54px}.auth-doodle-book{left:26%;bottom:16%;width:86px;height:65px}.auth-doodle-pencil{left:43%;top:40%;width:42px;height:42px}.auth-trust-row{display:flex;padding-top:25px;gap:25px}.auth-trust-row .trust-item{font-size:.72rem}.auth-trust-row .trust-icon{width:36px;height:36px}.auth-form-side{padding:36px 24px 44px;align-items:center}.auth-form-wrap{max-width:520px}.auth-institution-brand{margin-bottom:30px}.auth-form-heading{margin-bottom:23px}}
@media(max-width:480px){.auth-visual{min-height:505px;padding:20px 18px 22px}.auth-brand-row .edugo-wordmark{font-size:2.15rem}.auth-brand-row .platform-pill{font-size:.65rem;padding:7px 8px;gap:6px}.auth-brand-row .platform-icon{width:25px;height:25px}.auth-student{width:53%!important;height:70%!important;top:24%!important;right:-2%!important}.auth-welcome-copy{max-width:59%!important;margin-top:77px!important}.auth-visual .auth-welcome-copy h1{font-size:clamp(1.9rem,7.8vw,2.4rem)!important}.auth-visual .auth-welcome-copy .auth-description{font-size:.77rem!important;max-width:205px!important}.auth-visual .auth-welcome-copy .auth-eyebrow{font-size:.58rem;letter-spacing:.08em}.auth-trust-row{gap:15px;padding-top:20px}.auth-trust-row .trust-item{font-size:.65rem;min-width:62px}.auth-trust-row .trust-icon{width:32px;height:32px;border-radius:11px}.auth-doodle-cap{width:54px;height:40px}.auth-doodle-book{width:58px;height:45px;left:24%;bottom:17%}.auth-doodle-pencil{width:30px;height:30px;left:42%;top:43%}.auth-form-side{padding:30px 19px 38px}.auth-institution-brand{gap:10px;margin-bottom:26px}.auth-institution-brand img{width:43px;height:54px}.auth-institution-brand strong{font-size:.91rem}.auth-form-heading h2{font-size:2rem}.auth-input-wrap .form-control{height:54px}.auth-form-options{align-items:flex-start;gap:10px}.login-help{max-width:48%}}


/* EduGo v2.15.11 — pulido final del login: iconos fuera del estudiante y wordmark completo */
.auth-brand-row .edugo-wordmark{overflow:visible!important;white-space:nowrap;flex:0 0 auto;padding-right:.12em;letter-spacing:-.062em!important}
.auth-brand-row .edugo-wordmark>span:last-child{display:inline-block;white-space:nowrap;overflow:visible;padding-right:.12em;margin-right:-.12em;line-height:1.08}
.auth-brand-row .edugo-wordmark .edugo-gradient{display:inline-block;padding-right:.10em;margin-right:-.10em;overflow:visible;line-height:1.08}
.auth-student{right:-1%!important;top:9%!important;width:65%!important;height:93%!important;overflow:visible!important}
.auth-student img{inset:auto 0 -1.5% auto!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important;filter:drop-shadow(0 20px 24px rgba(0,10,38,.25))!important}
/* Las ilustraciones decorativas se distribuyen por el espacio libre y nunca se dibujan encima del niño. */
.auth-doodle-cap{right:2%!important;top:12%!important;width:112px!important;height:76px!important;z-index:1!important}
.auth-doodle-pencil{left:auto!important;right:4%!important;top:37%!important;width:56px!important;height:56px!important;z-index:1!important;transform:rotate(-8deg)}
.auth-doodle-book{left:4%!important;right:auto!important;bottom:17%!important;width:112px!important;height:84px!important;z-index:1!important}
.auth-dot-pattern{right:3%!important;top:43%!important;width:64px!important;height:96px!important;z-index:1!important}
.auth-welcome-copy{max-width:51%!important}
@media(max-width:1100px){.auth-student{width:64%!important;height:88%!important;top:12%!important}.auth-doodle-pencil{right:2%!important;top:38%!important;width:48px!important;height:48px!important}.auth-doodle-book{left:3%!important;width:88px!important;height:70px!important}.auth-brand-row .edugo-wordmark{font-size:clamp(2.45rem,4vw,3.6rem)}}
@media(max-width:767.98px){.auth-student{width:48%!important;height:75%!important;top:14%!important;right:-1%!important}.auth-doodle-cap{right:1%!important;top:12%!important;width:66px!important;height:48px!important}.auth-doodle-pencil{right:2%!important;top:42%!important;width:34px!important;height:34px!important}.auth-doodle-book{left:3%!important;bottom:9%!important;width:60px!important;height:48px!important}.auth-dot-pattern{right:1%!important;top:46%!important;width:40px!important;height:62px!important}.auth-welcome-copy{max-width:65%!important}}
@media(max-width:560px){.auth-brand-row .edugo-wordmark{font-size:1.95rem!important;letter-spacing:-.055em!important}.auth-student{width:48%!important;height:70%!important;top:16%!important}.auth-doodle-pencil{top:43%!important;width:29px!important;height:29px!important}.auth-doodle-book{bottom:8%!important;width:52px!important;height:42px!important}}


/* EduGo v2.15.12 — implementación visual del prototipo aprobado (login y registro). */
.auth-shell{grid-template-columns:minmax(0,1.16fr) minmax(430px,.84fr)!important;min-height:100vh;overflow:hidden;background:#fff}
.auth-visual,.register-visual{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 76% 43%,rgba(0,143,255,.50),transparent 43%),linear-gradient(145deg,#08285a 0%,#073c8c 54%,#008ec8 100%)!important}
.auth-visual:before,.register-visual:before{content:"";display:block!important;position:absolute;z-index:0;width:min(68vw,700px);height:min(68vw,700px);right:-14%;top:8%;border-radius:50%;background:radial-gradient(circle at 44% 40%,rgba(0,145,255,.62),rgba(18,92,206,.24) 55%,transparent 74%);pointer-events:none}
.auth-visual:after,.register-visual:after{content:"";position:absolute;z-index:3;left:-12%;right:-13%;bottom:-5%;height:22%;border-radius:53% 47% 0 0/35% 30% 0 0;background:#fff;transform:rotate(4deg);opacity:1;pointer-events:none}
.auth-visual:after{bottom:-4%;height:21%;background:linear-gradient(180deg,#fff 0%,#fff 100%)}
.auth-brand-row,.register-brand-row{position:relative;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:18px}
.auth-brand-row .edugo-wordmark{display:inline-flex;align-items:center;gap:12px;overflow:visible!important;white-space:nowrap;flex:0 0 auto;padding-right:.14em;letter-spacing:-.055em!important;color:#fff;font-size:clamp(2.65rem,4.2vw,4.15rem);line-height:1;text-decoration:none}
.edugo-cap,.register-cap{display:inline-block;flex:0 0 auto;font-size:.55em;line-height:1;filter:drop-shadow(0 5px 8px rgba(0,10,40,.2));letter-spacing:0}
.edugo-brand-stack,.register-brand-stack{display:flex;flex-direction:column;align-items:flex-start;min-width:0;line-height:1}
.edugo-wordmark-main,.register-wordmark-main{display:inline-block;white-space:nowrap;overflow:visible;padding-right:.12em;line-height:1.08}
.auth-brand-row .edugo-wordmark .edugo-gradient{display:inline-block;background:linear-gradient(110deg,#21d9f0,#5be1c5);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.1em;margin-right:-.1em;overflow:visible;line-height:1.08}
.edugo-wordmark-subtitle,.register-brand-stack small{display:block;margin-top:5px;font-size:clamp(.7rem,.95vw,.92rem);font-weight:500;letter-spacing:0;color:#e5f1ff;line-height:1.1}
.auth-brand-row .platform-pill{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid rgba(255,255,255,.24);border-radius:18px;background:rgba(255,255,255,.08);box-shadow:none;color:#fff;font-weight:750;line-height:1.2;flex-shrink:0}
.auth-brand-row .platform-icon{background:rgba(255,255,255,.13);color:#a8f2ff}
.auth-student,.register-student{position:absolute;z-index:2;right:-1%;top:7%;width:65%;height:101%;overflow:visible!important;border-radius:0!important;opacity:1!important;mask-image:none!important;-webkit-mask-image:none!important;isolation:isolate}
.auth-student img,.register-student img{position:absolute;inset:auto 0 -1.5% auto!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important;mix-blend-mode:normal!important;opacity:1!important;filter:drop-shadow(0 18px 23px rgba(0,10,38,.22))!important}
.auth-doodle,.register-doodle{position:absolute;z-index:4;fill:none;stroke:#80c4ff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:.92;pointer-events:none}
.auth-doodle-cap{right:2%!important;left:auto!important;top:16%!important;width:112px!important;height:76px!important}
.auth-doodle-pencil{right:4%!important;left:auto!important;top:39%!important;width:54px!important;height:54px!important;transform:rotate(-8deg)}
.auth-doodle-book{left:22%!important;right:auto!important;bottom:15%!important;width:112px!important;height:84px!important}
.auth-dot-pattern{position:absolute;z-index:4;right:3%!important;left:auto!important;top:46%!important;width:62px!important;height:94px!important;background-image:radial-gradient(#8cc7ff 2px,transparent 2.5px);background-size:18px 18px;opacity:.68}
.auth-welcome-copy{position:relative;z-index:5;width:100%;max-width:45%!important;margin-top:clamp(100px,14vh,150px)!important}
.auth-visual .auth-welcome-copy .auth-eyebrow,.register-visual-kicker{color:#25e4ee!important;font-size:.78rem;letter-spacing:.13em;font-weight:900;text-transform:uppercase}
.auth-visual .auth-welcome-copy h1{max-width:430px!important;color:#fff!important;font-size:clamp(2.65rem,3.55vw,3.8rem)!important;line-height:.99!important;letter-spacing:-.055em!important;font-weight:950;margin:12px 0 18px!important;text-shadow:none!important;position:relative;z-index:5}
.auth-visual .auth-welcome-copy h1 .welcome-brand,.register-visual-copy h2 span{color:#20d9ec!important;font-size:1em!important;letter-spacing:-.055em}
.auth-visual .auth-welcome-copy .auth-description{max-width:315px!important;color:#e7f2ff!important;font-size:1rem!important;line-height:1.55!important;margin:0!important}
.auth-trust-row,.register-trust{position:relative;z-index:5;display:flex;align-items:center;gap:clamp(18px,2.5vw,36px);margin-top:auto;padding-top:32px}
.auth-trust-row .trust-item{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:66px;color:#fff;font-size:.78rem;font-weight:700;text-align:center}
.auth-trust-row .trust-icon{width:46px;height:46px;border-radius:15px;font-size:1.35rem}
.auth-form-side{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;padding:clamp(28px,4.6vw,70px);background:radial-gradient(circle at 100% 18%,rgba(203,235,255,.62),transparent 27%),linear-gradient(145deg,#fff 0%,#fff 57%,#f1f8ff 100%)}
.auth-form-wrap{width:100%;max-width:520px}
.auth-institution-brand{display:flex;align-items:center;gap:13px;margin:0 0 clamp(26px,4vh,42px);color:#10264b;text-decoration:none;width:max-content;max-width:100%}
.auth-institution-brand img{display:block;width:62px;height:78px;object-fit:contain}
.auth-institution-brand span{display:flex;flex-direction:column;line-height:1.18}
.auth-institution-brand small{font-size:.67rem;letter-spacing:.13em;font-weight:850;color:#667b9b}
.auth-institution-brand strong{font-size:1.08rem;font-weight:950;color:#12284d}
.auth-institution-brand em{font-size:.78rem;font-style:normal;color:#7387a5;margin-top:4px}
.auth-form-heading{margin-bottom:27px}
.auth-form-heading .auth-form-kicker{color:#2768ff;font-size:.78rem;letter-spacing:.15em}
.auth-form-heading h2{font-size:clamp(2.35rem,3.2vw,3.15rem);line-height:1.02;font-weight:950;letter-spacing:-.05em;margin:10px 0 8px;color:#101f43}
.auth-form-heading p{color:#7185a6;font-size:1.08rem;margin:0}
.auth-form .form-label{font-size:.94rem;font-weight:800;color:#15294e;margin-bottom:8px}
.auth-input-wrap .form-control{height:62px;border-radius:15px;border:1px solid #d2e0fb;background:rgba(255,255,255,.84);font-size:1rem;padding-left:48px}
.auth-input-wrap .form-control:focus{border-color:#81aaff;box-shadow:0 0 0 .23rem rgba(49,112,255,.13)}
.input-icon{color:#2168ff}
.password-toggle{right:10px;font-size:1.15rem;color:#6b83ad}
.auth-form-options{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:8px 0 23px;font-size:.89rem}
.login-security-note{display:flex;align-items:center;gap:7px;color:#119b8f;font-weight:850;white-space:nowrap}
.login-help{color:#135df2;text-align:right;font-size:.87rem;line-height:1.35;max-width:52%}
.auth-submit{height:64px;border-radius:15px;background:linear-gradient(105deg,#1557ff,#00a5f5);box-shadow:0 12px 25px rgba(25,100,255,.23);font-size:1.05rem;font-weight:900}
.auth-register-btn{height:56px;border-radius:14px;border-color:#b8d1ff;color:#1557e9;font-size:1rem}
.auth-privacy{margin-top:25px;color:#8193b2;font-size:.86rem}
/* Registro: composición de campaña y formulario a dos columnas, conservando controles y validaciones reales. */
.register-brand-row{z-index:6}
.register-wordmark{display:inline-flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-size:clamp(2.6rem,4vw,4rem);font-weight:950;letter-spacing:-.065em;line-height:1}
.register-wordmark-main{color:#fff;font-size:1em;letter-spacing:-.065em}
.register-wordmark-main>span{color:#21d9ec}
.register-brand-stack small{color:#e5f1ff;font-size:.9rem}
.register-platform-pill{display:inline-flex;align-items:center;gap:9px;padding:12px 16px;border:1px solid rgba(255,255,255,.24);border-radius:17px;background:rgba(255,255,255,.08);color:#fff;font-weight:750;white-space:nowrap}
.register-platform-pill>span{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;background:rgba(255,255,255,.12);color:#a8f2ff;font-size:1.35rem}
.register-student{right:-1%;top:7%;width:65%;height:101%;}
.register-student-glow{position:absolute;z-index:1;left:10%;right:-5%;top:12%;bottom:14%;border-radius:50%;background:radial-gradient(ellipse,rgba(0,145,255,.4),rgba(37,118,226,.12) 54%,transparent 72%);filter:blur(7px)}
.register-visual-copy{position:relative;z-index:5;width:100%;max-width:45%!important;margin-top:clamp(95px,14vh,150px)!important;padding-top:0!important}
.register-visual-copy h2{max-width:430px;font-size:clamp(2.65rem,3.55vw,3.8rem);line-height:.99;letter-spacing:-.055em;font-weight:950;color:#fff;margin:12px 0 18px;text-shadow:none}
.register-visual-copy p{max-width:315px;color:#e7f2ff;font-size:1rem;line-height:1.55;margin:0}
.register-doodle-cap{right:2%;left:auto;top:16%;width:112px;height:76px}
.register-doodle-pencil{right:4%;left:auto;top:39%;width:54px;height:54px;transform:rotate(-8deg)}
.register-doodle-book{left:22%;right:auto;bottom:15%;width:112px;height:84px}
.register-dot-pattern{position:absolute;z-index:4;right:3%;top:46%;width:62px;height:94px;background-image:radial-gradient(#8cc7ff 2px,transparent 2.5px);background-size:18px 18px;opacity:.68}
.register-trust{z-index:5;gap:12px;margin-top:auto;padding-top:30px}
.register-trust>span{width:42px;height:42px;border-radius:14px;background:#b5f4e7;color:#075e68}
.register-trust strong{font-size:.88rem;color:#fff}.register-trust small{font-size:.78rem;color:#c7e1ff}
.register-form-side{padding:clamp(24px,3.6vw,58px);background:radial-gradient(circle at 100% 14%,rgba(203,235,255,.62),transparent 27%),linear-gradient(145deg,#fff 0%,#fff 57%,#f1f8ff 100%)}
.register-form-wrap{max-width:760px;width:100%}
.register-heading{margin-bottom:22px}
.register-badge{margin-bottom:13px}
.register-kicker{color:#1767ff;font-size:.73rem;letter-spacing:.15em}
.register-institution-tag{margin:0 0 13px;padding:5px 13px 6px;background:linear-gradient(100deg,#d7fbf3,#b8f3e8);color:#087d85;font-size:1.2rem;font-weight:950}
.register-heading h1{font-size:clamp(2rem,2.5vw,2.75rem);line-height:1.07;letter-spacing:-.05em;color:#101f43;margin:0 0 8px}
.register-heading p{font-size:.94rem;line-height:1.55;color:#7185a6}
.register-form .form-label{font-size:.88rem;font-weight:850;color:#15294e}
.register-form .form-control{min-height:52px;border-radius:13px;border-color:#d2e0fb;background:rgba(255,255,255,.84);padding:12px 14px;font-size:.94rem}
.register-form .form-control:focus{border-color:#81aaff;box-shadow:0 0 0 .22rem rgba(49,112,255,.13)}
.register-form .form-control[readonly]{background:#f1f6ff}
.register-submit{min-height:58px;border-radius:13px;background:linear-gradient(105deg,#1557ff,#009cf6);font-weight:900}
.register-secure-note{font-size:.83rem;color:#8193b2}
@media(max-width:1100px){
 .auth-shell{grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr)!important}
 .auth-visual,.register-visual{padding:30px}
 .auth-student,.register-student{width:64%;height:92%;top:9%}
 .auth-welcome-copy,.register-visual-copy{max-width:47%!important;margin-top:clamp(110px,15vh,155px)!important}
 .auth-visual .auth-welcome-copy h1,.register-visual-copy h2{font-size:clamp(2.45rem,3.5vw,3.25rem)!important}
 .auth-form-side,.register-form-side{padding:28px}
 .auth-institution-brand{margin-bottom:25px}
}
@media(max-width:820px){
 .auth-shell{display:flex;flex-direction:column;overflow:visible}
 .auth-visual,.register-visual{min-height:570px;padding:24px 26px 25px}
 .auth-student,.register-student{width:57%;height:91%;top:8%;right:-1%}
 .auth-welcome-copy,.register-visual-copy{max-width:49%!important;margin-top:92px!important}
 .auth-visual .auth-welcome-copy h1,.register-visual-copy h2{font-size:clamp(2.25rem,5.2vw,3.1rem)!important}
 .auth-visual .auth-welcome-copy .auth-description,.register-visual-copy p{max-width:255px!important;font-size:.9rem!important}
 .auth-doodle-cap,.register-doodle-cap{width:78px!important;height:54px!important;top:14%!important}
 .auth-doodle-pencil,.register-doodle-pencil{width:42px!important;height:42px!important;top:38%!important;right:3%!important}
 .auth-doodle-book,.register-doodle-book{width:82px!important;height:64px!important;left:21%!important;bottom:15%!important}
 .auth-dot-pattern,.register-dot-pattern{width:48px!important;height:70px!important;top:45%!important}
 .auth-trust-row{display:flex}
 .auth-form-side,.register-form-side{padding:36px 28px 44px;align-items:center}
 .auth-form-wrap{max-width:540px}
 .register-form-wrap{max-width:700px}
}
@media(max-width:560px){
 .auth-visual,.register-visual{min-height:500px;padding:20px 19px 22px}
 .auth-brand-row .edugo-wordmark,.register-wordmark{font-size:2.15rem!important;gap:8px}
 .edugo-cap,.register-cap{font-size:.52em}
 .edugo-wordmark-subtitle,.register-brand-stack small{font-size:.62rem;margin-top:4px}
 .auth-brand-row .platform-pill,.register-platform-pill{font-size:.65rem;padding:7px 8px;gap:6px;border-radius:12px}
 .auth-brand-row .platform-icon,.register-platform-pill>span{width:25px;height:25px;font-size:1rem}
 .auth-student,.register-student{width:54%;height:76%;top:13%;right:-2%}
 .auth-welcome-copy,.register-visual-copy{max-width:59%!important;margin-top:68px!important}
 .auth-visual .auth-welcome-copy h1,.register-visual-copy h2{font-size:clamp(1.85rem,7vw,2.35rem)!important;line-height:1.02!important;margin:9px 0 12px!important}
 .auth-visual .auth-welcome-copy .auth-eyebrow,.register-visual-kicker{font-size:.58rem;letter-spacing:.08em}
 .auth-visual .auth-welcome-copy .auth-description,.register-visual-copy p{max-width:205px!important;font-size:.78rem!important;line-height:1.45!important}
 .auth-doodle-cap,.register-doodle-cap{width:54px!important;height:40px!important;right:0!important;top:14%!important}
 .auth-doodle-pencil,.register-doodle-pencil{width:29px!important;height:29px!important;right:2%!important;top:41%!important}
 .auth-doodle-book,.register-doodle-book{width:55px!important;height:44px!important;left:18%!important;bottom:14%!important}
 .auth-dot-pattern,.register-dot-pattern{width:38px!important;height:55px!important;background-size:13px 13px;right:1%!important;top:44%!important}
 .auth-trust-row{gap:13px;padding-top:22px}
 .auth-trust-row .trust-item{font-size:.62rem;min-width:57px}
 .auth-trust-row .trust-icon{width:31px;height:31px;border-radius:10px;font-size:1rem}
 .auth-form-side,.register-form-side{padding:28px 19px 36px}
 .auth-institution-brand{gap:9px;margin-bottom:25px}
 .auth-institution-brand img{width:45px;height:56px}
 .auth-institution-brand strong{font-size:.91rem}
 .auth-form-heading h2{font-size:2rem}
 .auth-form-heading p{font-size:.95rem}
 .auth-input-wrap .form-control{height:54px}
 .auth-form-options{align-items:flex-start;gap:10px}
 .login-help{max-width:52%;font-size:.78rem}
 .register-heading{margin-bottom:20px}
 .register-badge{font-size:.82rem;padding:7px 11px}
 .register-kicker{font-size:.61rem}
 .register-institution-tag{font-size:1rem;margin-bottom:9px}
 .register-heading h1{font-size:1.9rem}
 .register-heading p{font-size:.85rem}
 .register-form .form-control{min-height:48px}
 .register-form .form-label{font-size:.82rem}
 .register-submit-row{align-items:stretch;flex-direction:column;gap:12px}
 .register-submit{width:100%;min-height:52px}
 .register-secure-note{justify-content:center}
}
@media(prefers-reduced-motion:reduce){.auth-submit,.register-submit{transition:none}}

/* EduGo v2.15.13 — recuperar colores de marca en el logo y contraste del botón de registro. */
.register-wordmark .register-cap{
  background:none!important;
  color:initial!important;
  -webkit-text-fill-color:initial!important;
  background-clip:border-box!important;
  -webkit-background-clip:border-box!important;
}
.register-wordmark .register-wordmark-main{
  background:none!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background-clip:border-box!important;
  -webkit-background-clip:border-box!important;
  overflow:visible!important;
}
.register-wordmark .register-wordmark-main>span{
  background:linear-gradient(110deg,#2873f4 0%,#00cfe8 100%)!important;
  background-clip:text!important;
  -webkit-background-clip:text!important;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
}
.register-submit,.register-submit.btn-primary{
  color:#fff!important;
  background:linear-gradient(105deg,#1557ff 0%,#087cf7 58%,#0094ff 100%)!important;
  border:0!important;
  box-shadow:0 12px 25px rgba(25,100,255,.24)!important;
}
.register-submit:hover,.register-submit.btn-primary:hover,
.register-submit:focus-visible,.register-submit.btn-primary:focus-visible{
  color:#fff!important;
  background:linear-gradient(105deg,#1048e6 0%,#0869e7 58%,#087fe8 100%)!important;
}


/* EduGo v2.15.14 — nuevo estudiante de secundaria completo; composición sin marco y adornos a los costados. */
.auth-student,.register-student{right:-1%;top:5%;width:66%;height:103%;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;mask-image:none!important;-webkit-mask-image:none!important;opacity:1!important}
.auth-student img,.register-student img{inset:auto 0 -1.5% auto!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;mix-blend-mode:normal!important;opacity:1!important;filter:drop-shadow(0 18px 23px rgba(0,10,38,.22))!important}
.auth-doodle-cap,.register-doodle-cap{right:2%!important;left:auto!important;top:2%!important;width:94px!important;height:66px!important}
.auth-doodle-pencil,.register-doodle-pencil{left:3%!important;right:auto!important;top:34%!important;width:52px!important;height:52px!important}
.auth-doodle-book,.register-doodle-book{left:2%!important;right:auto!important;bottom:9%!important;width:104px!important;height:78px!important}
.auth-dot-pattern,.register-dot-pattern{left:4%!important;right:auto!important;top:48%!important;width:65px!important;height:90px!important}
@media(max-width:1100px){.auth-student,.register-student{right:-2%;top:8%;width:67%;height:94%}.auth-doodle-cap,.register-doodle-cap{width:78px!important;height:56px!important}.auth-doodle-book,.register-doodle-book{width:84px!important;height:65px!important}}
@media(max-width:820px){.auth-student{right:-1%;top:6%;width:50%;height:94%}.register-student{right:-1%;top:6%;width:52%;height:94%}.auth-student img,.register-student img{object-fit:contain!important}.auth-doodle-cap,.register-doodle-cap{width:66px!important;height:48px!important;right:1%!important;top:2%!important}.auth-doodle-pencil,.register-doodle-pencil{left:2%!important;top:36%!important;width:38px!important;height:38px!important}.auth-doodle-book,.register-doodle-book{left:2%!important;bottom:8%!important;width:65px!important;height:50px!important}.auth-dot-pattern,.register-dot-pattern{left:3%!important;top:50%!important;width:38px!important;height:60px!important}}
@media(max-width:560px){.auth-student{right:-2%;top:13%;width:49%;height:82%;opacity:1!important}.register-student{right:-3%;top:12%;width:51%;height:84%;opacity:1!important}.auth-welcome-copy{max-width:68%!important}.register-visual-copy{max-width:73%!important}.auth-doodle-cap,.register-doodle-cap{width:50px!important;height:38px!important}.auth-doodle-book,.register-doodle-book{width:52px!important;height:42px!important}.auth-doodle-pencil,.register-doodle-pencil{width:30px!important;height:30px!important}}

/* EduGo v2.15.19 — Login: niño de rulos como único estudiante; lápiz a su costado. */
@media(min-width:821px){
  .auth-visual .auth-doodle-cap{right:1%!important;left:auto!important;top:7%!important;width:88px!important;height:62px!important;z-index:1!important}
  .auth-visual .auth-doodle-pencil{left:36%!important;right:auto!important;top:43%!important;width:54px!important;height:54px!important;z-index:5!important}
  .auth-visual .auth-doodle-book{left:auto!important;right:1%!important;bottom:13%!important;width:96px!important;height:72px!important;z-index:1!important}
  .auth-visual .auth-dot-pattern{left:auto!important;right:2%!important;top:43%!important;width:54px!important;height:82px!important;z-index:1!important}
}
@media(max-width:820px){
  .auth-visual .auth-doodle-cap{right:1%!important;left:auto!important;top:2%!important;width:62px!important;height:46px!important}
  .auth-visual .auth-doodle-pencil{left:35%!important;right:auto!important;top:42%!important;width:38px!important;height:38px!important;z-index:5!important}
  .auth-visual .auth-doodle-book{left:auto!important;right:1%!important;bottom:8%!important;width:58px!important;height:46px!important}
  .auth-visual .auth-dot-pattern{left:auto!important;right:1%!important;top:49%!important;width:35px!important;height:54px!important}
}


/* EduGo v2.15.20 — Login final: conservar el panel azul y ubicar adornos en los espacios laterales. */
.auth-visual{background:radial-gradient(ellipse at 72% 43%,rgba(0,143,255,.42),transparent 43%),linear-gradient(145deg,#102044 0%,#0b2d63 55%,#007eae 100%)!important}
.auth-visual:before{background:radial-gradient(circle at 35% 35%,rgba(0,132,255,.35),rgba(0,95,190,.12) 55%,transparent 74%)!important}
.auth-visual:after{background:linear-gradient(120deg,#0877c8,#0754a8 55%,#00a0c7)!important;opacity:.2!important}
@media(min-width:821px){
 .auth-visual .auth-doodle-cap{right:1%!important;left:auto!important;top:7%!important;width:88px!important;height:62px!important;z-index:1!important}
 .auth-visual .auth-doodle-pencil{left:40%!important;right:auto!important;top:33%!important;width:52px!important;height:52px!important;z-index:1!important;transform:rotate(-8deg)!important}
 .auth-visual .auth-doodle-book{left:22%!important;right:auto!important;bottom:12%!important;width:100px!important;height:76px!important;z-index:1!important}
 .auth-visual .auth-dot-pattern{left:auto!important;right:2%!important;top:43%!important;width:54px!important;height:82px!important;z-index:1!important}
}
@media(max-width:820px){
 .auth-visual .auth-doodle-cap{right:1%!important;left:auto!important;top:2%!important;width:62px!important;height:46px!important;z-index:1!important}
 .auth-visual .auth-doodle-pencil{left:38%!important;right:auto!important;top:34%!important;width:36px!important;height:36px!important;z-index:1!important}
 .auth-visual .auth-doodle-book{left:20%!important;right:auto!important;bottom:8%!important;width:58px!important;height:46px!important;z-index:1!important}
}
