/* Ingreso, registro y recuperar contraseña con el diseño del sitio. */

body.is-auth{
  --ink:var(--text); --ink-2:color-mix(in oklch,var(--text) 88%,#fff);
  --c-primary-soft:color-mix(in oklch,var(--c-primary) 34%,#fff);
  --c-accent-soft:color-mix(in oklch,var(--c-accent) 28%,#fff);
  --mist:color-mix(in oklch,var(--c-primary) 9%,#fff); --line:color-mix(in oklch,var(--c-primary) 16%,#e8e8e8);
  --muted:color-mix(in oklch,var(--text) 72%,#fff); --ok:#1E8A5A; --err:#C23A42;
  --r-card:24px; --r-input:12px;
  background:#fff;color:var(--ink);font:400 17px/1.65 var(--font-body);
}
body.is-auth .tutor-wrap,body.is-auth .tutor-page-wrap,body.is-auth .tutor-container{max-width:none;padding:0;margin:0}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@keyframes cardIn{from{opacity:0;transform:translateY(14px) scale(.98)}}
@keyframes pop{from{transform:scale(.4);opacity:0}}
.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.auth-art{position:relative;background:var(--c-primary);overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;padding:40px 48px}
.auth-art::before{content:"";position:absolute;z-index:-1;left:10%;right:-10%;bottom:-10%;height:78%;background:var(--c-secondary);border-radius:46% 54% 0 0/38% 40% 0 0}
.auth-art .pic{position:absolute;z-index:-1;left:50%;bottom:0;height:84%;width:auto;max-width:none;transform:translateX(-46%);filter:drop-shadow(0 30px 40px color-mix(in srgb,var(--ink) 25%,transparent))}
.auth-art .logo{height:46px;width:auto;background:#fff;border-radius:12px;padding:8px 12px;box-sizing:content-box;align-self:flex-start}
.auth-art .card-q{background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-radius:var(--r-card);padding:22px;max-width:380px;box-shadow:0 24px 50px -24px color-mix(in srgb,var(--ink) 45%,transparent)}
.auth-art .card-q p{font:600 18px/1.4 var(--font-display)}
.auth-art .card-q small{color:var(--muted);font-size:13.5px;display:block;margin-top:8px}
.auth-art .feats{list-style:none;display:grid;gap:10px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-radius:var(--r-card);padding:22px;max-width:380px;box-shadow:0 24px 50px -24px color-mix(in srgb,var(--ink) 45%,transparent)}
.auth-art .feats li{display:flex;gap:10px;align-items:center;font-weight:600;font-size:15px}
.auth-art .feats svg{width:20px;height:20px;color:var(--c-primary-deep);flex:none}
.auth-main{display:flex;flex-direction:column;padding:28px 48px}
.auth-top{display:flex;justify-content:space-between;align-items:center;gap:16px}
.auth-top .back{display:inline-flex;gap:8px;align-items:center;font-weight:600;font-size:14.5px;color:var(--muted)}
.auth-top .back:hover{color:var(--ink)}
.auth-top .back svg{width:18px;height:18px}
.auth-top .m-logo{display:none;height:36px}
.auth-top .alt{font-size:14.5px;color:var(--muted)}
.auth-top .alt a{color:var(--c-primary-deep);font-weight:700}
.auth-box{width:min(440px,100%);margin:auto;padding:40px 0}
.auth-box h1{font-size:clamp(1.9rem,3vw,2.5rem);margin-bottom:8px}
.auth-box>p{color:var(--muted);margin-bottom:26px}
.auth-box form{display:grid;gap:18px}
.auth-box .row2{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14.5px}
.auth-box .row2 a{color:var(--c-primary-deep);font-weight:600}
.auth-box .g{display:flex;align-items:center;justify-content:center;gap:12px;height:50px;border-radius:999px;border:1.5px solid var(--line);font-weight:600;transition:.25s;width:100%}
.auth-box .g:hover{border-color:var(--ink);background:var(--mist)}
.auth-box .g svg{width:20px;height:20px}
.or{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:13.5px;font-weight:600}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
.info-b{display:flex;gap:12px;background:var(--mist);border-radius:14px;padding:14px 16px;font-size:14px;line-height:1.5;color:var(--ink-2)}
.info-b svg{width:20px;height:20px;color:var(--c-primary-deep);flex:none;margin-top:1px}
.alert-b{display:flex;gap:12px;background:#FDECEC;border:1px solid #F5C2C4;border-radius:14px;padding:14px 16px;font-size:14px;color:#8A1F26}
.alert-b svg{width:20px;height:20px;flex:none}
.alert-b[hidden],.info-b[hidden]{display:none}
.strength{display:flex;gap:4px;margin-top:2px}
.strength i{flex:1;height:5px;border-radius:5px;background:var(--line);transition:background .3s}
.strength[data-s="1"] i:nth-child(1){background:var(--c-secondary-deep)}
.strength[data-s="2"] i:nth-child(-n+2){background:var(--c-accent)}
.strength[data-s="3"] i:nth-child(-n+3){background:var(--c-primary)}
.strength[data-s="4"] i{background:var(--ok)}
.reqs{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;font-size:13px;color:var(--muted)}
.reqs li{display:flex;gap:6px;align-items:center;transition:color .25s}
.reqs svg{width:14px;height:14px;opacity:.35}
.reqs li.ok{color:var(--ok);font-weight:600}
.reqs li.ok svg{opacity:1}
.auth-foot{font-size:13px;color:var(--muted);display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.auth-foot a:hover{color:var(--ink)}
@keyframes bob{50%{transform:translateY(-8%) rotate(-8deg)}}
@media (max-width:1080px){
  .auth{grid-template-columns:1fr}
  .auth-art{display:none}
  .auth-top .m-logo{display:block}
}
@media (max-width:640px){
  .auth-main{padding:18px 16px}
  .auth-top .alt{display:none}
  .reqs{grid-template-columns:1fr}
}

/* sin foto: el formulario solo y centrado */
.auth--solo{grid-template-columns:1fr}
.auth-art .logo{display:block}
.auth-art [hidden]{display:none}
.auth-top .m-logo img{height:36px;width:auto}
.auth-box h1{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.08;margin:0 0 8px}
.auth-box>p{margin:0 0 22px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--mist);border-radius:999px;padding:4px;margin-bottom:24px}
.auth-tabs a{display:grid;place-items:center;height:42px;border-radius:999px;font-weight:600;font-size:15px;color:var(--muted);text-decoration:none;transition:background .25s,color .25s}
.auth-tabs a[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgb(0 0 0 / 12%)}
.auth-foot nav{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.auth-foot a{color:var(--muted);text-decoration:none}

/* formularios de Tutor con los campos del sitio */
.auth-panel .tutor-login-form-wrapper,.auth-panel .tutor-registration-form-wrap{max-width:none;padding:0;margin:0;background:none;box-shadow:none;border:0}
.auth-panel .tutor-login-form-wrapper>.tutor-fs-5,.auth-panel .tutor-login-title,.auth-panel .tutor-registration-form-wrap>h2{display:none}
.auth-panel form{display:grid;gap:16px}
.auth-panel .tutor-form-group,.auth-panel .tutor-mb-20,.auth-panel .tutor-mb-32{margin:0}
.auth-panel label{font-weight:600;font-size:14.5px;color:var(--ink)}
.auth-panel :is(input[type=text],input[type=email],input[type=password],input[type=tel],.tutor-form-control){width:100%;height:50px;border-radius:var(--r-input);border:1.5px solid var(--line);background:#fff;padding:0 14px;font-size:16px;color:var(--ink);box-shadow:none;transition:border-color .25s,box-shadow .25s}
.auth-panel :is(input[type=text],input[type=email],input[type=password],input[type=tel],.tutor-form-control):focus{outline:0;border-color:var(--c-primary-deep);box-shadow:0 0 0 4px color-mix(in srgb,var(--c-primary) 20%,transparent)}
.auth-panel .tutor-btn-primary,.auth-panel button[type=submit]{width:100%;height:50px;border-radius:999px;background:var(--c-primary-deep);border:0;color:#fff;font:600 15.5px var(--font-body);box-shadow:0 10px 24px -12px color-mix(in srgb,var(--c-primary-deep) 70%,transparent);transition:background .3s,transform .3s var(--ease)}
.auth-panel .tutor-btn-primary:hover,.auth-panel button[type=submit]:hover{background:var(--ink);transform:translateY(-2px)}
.auth-panel a{color:var(--c-primary-deep);font-weight:600}
.auth-panel .tutor-alert{border-radius:14px;font-size:14px}
.auth-panel .tutor-form-check input{accent-color:var(--c-primary-deep)}
@media (max-width:1080px){.auth{grid-template-columns:1fr}.auth-art{display:none}.auth-top .m-logo{display:block}}
@media (max-width:640px){.auth-main{padding:18px 16px}}
/* la caja propia de Tutor se quita: el diseño ya es el del sitio */
.auth-panel .tutor-login-wrap,.auth-panel .tutor-template-segment{width:auto!important;max-width:none!important;margin:0!important;padding:0!important;background:none;box-shadow:none;border:0;border-radius:0}
.auth-panel .tutor-login-form-wrapper{padding:0!important}
.auth-panel .tutor-login-form-wrapper>.tutor-h3,.auth-panel .tutor-registration-wrap>.tutor-h3,.auth-panel .tutor-registration-form-wrap>.tutor-h3{display:none}
.auth-panel .tutor-input-field{margin:0!important}
.auth-panel .tutor-login-rememeber-wrap,.auth-panel .tutor-d-flex.tutor-justify-between{font-size:14.5px}
.auth-panel .tutor-text-center{font-size:14.5px;color:var(--muted)}

/* Formulario de ingreso (templates/login-form.php) */
.lf{display:grid;gap:16px}
.lf-field{display:grid;gap:8px}
.lf-field label{font-weight:600;font-size:14.5px;color:var(--ink)}
.lf-inp{position:relative}
.lf-inp>svg{position:absolute;left:14px;top:50%;width:19px;height:19px;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.auth-panel .lf-inp input{padding-left:44px}
.auth-panel .lf-inp input[name=pwd]{padding-right:48px}
.lf-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:var(--muted);background:none;border:0;cursor:pointer}
.lf-eye svg{width:20px;height:20px}
.lf-eye:hover{color:var(--ink);background:var(--mist,var(--raise))}
[x-cloak]{display:none!important}
.lf-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:14.5px}
.lf-row a{color:var(--c-primary-deep);font-weight:600}
.lf-chk{display:inline-flex;gap:10px;align-items:center;cursor:pointer;color:var(--ink)}
.lf-chk input{appearance:none;width:22px;height:22px;border-radius:7px;border:1.5px solid color-mix(in oklch,var(--c-primary) 40%,#9aa);background:#fff;display:grid;place-items:center;margin:0;cursor:pointer}
.lf-chk input::after{content:"";width:11px;height:6px;border:2.4px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px) scale(0);transition:transform .25s var(--ease)}
.lf-chk input:checked{background:var(--c-primary-deep);border-color:var(--c-primary-deep)}
.lf-chk input:checked::after{transform:rotate(-45deg) translate(1px,-1px) scale(1)}
.lf-submit{margin-top:4px;height:52px}
.lf-submit .arr{width:18px;height:18px}
.lf-note{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:var(--mist,var(--raise));font-size:14px;line-height:1.45;color:var(--ink)}
.lf-note svg{width:18px;height:18px;flex:none;margin-top:1px;color:var(--c-primary-deep)}
.lf-alert{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--c-secondary-soft);color:var(--ink);font-size:14.5px;font-weight:600}
.lf-alert svg{width:18px;height:18px;flex:none;color:var(--err,#C23A42)}
.auth-art .card-q .stars{display:flex;gap:2px;color:#E8B400;margin-bottom:8px}
.auth-art .card-q .stars svg{width:15px;height:15px;fill:currentColor}
.lf-submit{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;border:0;border-radius:999px;font-weight:600;font-size:15.5px;cursor:pointer}
.auth-top .back,.lf-row a,.auth-foot a{text-decoration:none}
.lf-row a:hover,.auth-top .back:hover{text-decoration:underline;text-underline-offset:3px}
