/* Eduvio login and interaction update. Loaded after the existing theme sheets. */
#screen-auth{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(370px,520px);
  grid-template-rows:auto auto;
  align-content:center;
  column-gap:clamp(24px,5vw,100px);
  row-gap:18px;
  min-height:100vh;
  padding:clamp(22px,5vw,72px) max(28px,calc((100vw - 1320px)/2));
  background:radial-gradient(circle at 17% 20%,#6457be 0,transparent 33%),radial-gradient(circle at 86% 76%,#32306b 0,transparent 30%),linear-gradient(130deg,#282451,#37317b 52%,#222044);
  background-size:auto;
  animation:none;
  overflow:hidden;
}
#screen-auth::before{content:'';position:absolute;width:min(65vw,670px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.11);left:-11%;bottom:-37%;pointer-events:none}
#screen-auth::after{content:'';position:absolute;width:min(51vw,540px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,186,119,.14),transparent 65%);right:-12%;top:-25%;pointer-events:none}
#screen-auth .float-emoji{display:none}
#screen-auth .auth-hero{grid-column:1;grid-row:1/3;text-align:left;align-self:center;margin:0;max-width:620px}
#screen-auth .auth-hero .logo-flex{justify-content:flex-start}
#screen-auth .auth-hero .logo-img-full{max-width:min(100%,440px);width:auto;height:auto;filter:drop-shadow(0 16px 30px rgba(0,0,0,.14))}
#screen-auth .auth-hero .tagline{margin:25px 0 0;text-align:left;font-family:'Manrope',system-ui,sans-serif;font-size:clamp(1.45rem,2.4vw,2.55rem);line-height:1.36;letter-spacing:-.04em;font-weight:800;color:#fff;text-shadow:none;max-width:23ch}
#screen-auth .auth-card{grid-column:2;grid-row:1;max-width:none;padding:clamp(24px,3.4vw,43px);border-radius:30px;border:1px solid rgba(255,255,255,.75);background:#fff;box-shadow:0 28px 76px rgba(8,8,37,.25);animation:none}
#screen-auth .auth-card .auth-intro{margin:-4px 0 22px}
#screen-auth .auth-card .auth-intro .auth-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#6156ce;font-size:.72rem}
#screen-auth .auth-card .auth-intro h1{font-family:'Manrope',system-ui,sans-serif;font-size:clamp(1.42rem,2.3vw,1.92rem);line-height:1.2;letter-spacing:-.04em;color:#24204c;margin:6px 0 8px}
#screen-auth .auth-card .auth-intro p{color:#625f7c;line-height:1.5;font-size:.92rem}
#screen-auth .auth-card .tabs{background:#f0edfc;padding:5px;border-radius:15px;margin-bottom:22px}
#screen-auth .auth-card .tabs button{min-height:42px;border-radius:11px;font-size:.92rem;font-weight:800;transition:background .18s,box-shadow .18s,color .18s}
#screen-auth .auth-card .tabs button.active{box-shadow:0 4px 14px #27205720;color:#463ab3}
#screen-auth .auth-card .field{margin-bottom:17px}
#screen-auth .auth-card .field label{font-weight:800;color:#3e3a63;font-size:.85rem}
#screen-auth .auth-card .field input{min-height:49px;background:#fcfbff;border:1px solid #d7d1ec;border-radius:13px;transition:box-shadow .2s,border-color .2s}
#screen-auth .auth-card .field input:focus{border-color:#6759d4;box-shadow:0 0 0 4px #7161d426}
#screen-auth .auth-card .btn-primary{min-height:52px;border-radius:13px;background:#5545c3;box-shadow:0 8px 18px #4b39ad3c;transition:transform .16s,box-shadow .16s,background .16s}
#screen-auth .auth-card .btn-primary:hover{background:#4031a6;transform:translateY(-2px);box-shadow:0 12px 24px #4b39ad4a}
#screen-auth .auth-card .btn-primary:active{transform:translateY(1px);box-shadow:0 4px 12px #4b39ad30}
#screen-auth #login-forgot{color:#4a3daf;font-weight:800;font-size:.86rem;display:inline-block;margin-top:13px;text-underline-offset:4px}
#screen-auth .auth-entry-grid{grid-column:2;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;position:relative;z-index:2;width:100%}
#screen-auth .auth-entry{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;min-height:163px;padding:19px;border-radius:22px;background:#fff;border:1px solid #ece8fa;box-shadow:0 12px 26px #16143b24;transition:transform .2s,box-shadow .2s,border-color .2s}
#screen-auth .auth-entry:hover{transform:translateY(-4px);box-shadow:0 17px 36px #1210343d;border-color:#c8bdf2}
#screen-auth .auth-entry .auth-entry-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#eeeafd;font-size:1.15rem}
#screen-auth .auth-entry.family-entry .auth-entry-icon{background:#fff0e6}
#screen-auth .auth-entry h2{font-family:'Manrope',system-ui,sans-serif;font-size:.98rem;line-height:1.25;color:#28244b;letter-spacing:-.02em;margin:0}
#screen-auth .auth-entry p{color:#65617f;font-size:.81rem;line-height:1.45;margin:0 0 auto}
#screen-auth .auth-entry :is(button,a){appearance:none;border:0;padding:0;background:transparent;color:#4e3fc0;font-family:inherit;font-size:.88rem;font-weight:900;line-height:1.4;text-align:left;text-decoration:none;cursor:pointer}
#screen-auth .auth-entry :is(button,a):hover{text-decoration:underline;text-underline-offset:3px}
#screen-auth :is(button,a,select,input):focus-visible{outline:3px solid #ffc36e;outline-offset:3px}
@media(max-width:950px){#screen-auth{grid-template-columns:minmax(0,620px);justify-content:center;gap:18px;padding:36px 18px}#screen-auth .auth-hero{grid-column:1;grid-row:auto;text-align:center;margin:0 auto}#screen-auth .auth-hero .logo-flex{justify-content:center}#screen-auth .auth-hero .logo-img-full{max-width:min(64vw,270px)}#screen-auth .auth-hero .tagline{text-align:center;margin:10px auto 0;font-size:clamp(1rem,3vw,1.35rem);max-width:34ch}#screen-auth .auth-card,#screen-auth .auth-entry-grid{grid-column:1;grid-row:auto}}
@media(max-width:480px){#screen-auth{padding:19px 14px 30px;gap:12px}#screen-auth .auth-card{border-radius:22px;padding:21px}#screen-auth .auth-entry-grid{grid-template-columns:1fr;gap:10px}#screen-auth .auth-entry{min-height:0;padding:14px 16px;display:grid;grid-template-columns:35px minmax(0,1fr);column-gap:10px}#screen-auth .auth-entry .auth-entry-icon{grid-row:1/4}#screen-auth .auth-entry p{margin:0}#screen-auth .auth-hero .logo-img-full{max-width:195px}#screen-auth .auth-hero .tagline{font-size:1rem}}
@media(prefers-reduced-motion:reduce){#screen-auth :is(.auth-entry,.btn-primary,.tabs button){animation:none;transition:none;transform:none!important}}
/* Shared refinements across lessons, navigation and payment information. */
.eduvio-main .main :is(h1,h2,h3),.eduvio-family :is(h1,h2,h3){text-wrap:balance}
.eduvio-main .btn:not(:disabled),.eduvio-main .fach-card,.eduvio-family button:not(:disabled){touch-action:manipulation}
.eduvio-main .card,.eduvio-main .eduvio-plan,.eduvio-family .card{border-color:#ddd8f0}
[data-theme="dark"] .eduvio-main .card,[data-theme="dark"] .eduvio-main .eduvio-plan{border-color:var(--border)}
