/* ==========================================
   MAMA TERESA SCHOOLS ERP
   Authentication Styles
========================================== */

/* Login Card */

.login-card {
    border-radius: 20px;
    box-shadow: 0 20px 45px rgba(15,23,42,.12);
    transition: all .3s ease;
    overflow: hidden;
    animation: fadeIn .7s ease;
}

.login-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 30px 60px rgba(15,23,42,.18);
}

/* Fade Animation */

@keyframes fadeIn {

    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

/* TEMS multi-school authentication shell. */
.auth-shell,.auth-shell *{box-sizing:border-box}
.auth-form-panel,.auth-card,.auth-product div,.auth-form,.password-control{min-width:0}.auth-form-panel{width:100%}.auth-card,.auth-form .form-control{max-width:100%}.auth-product span,.auth-heading p{overflow-wrap:anywhere}
.auth-visual-content{padding-bottom:clamp(6.5rem,16vh,10rem)}.tems-wordmark{display:inline-block;color:var(--color-primary,#1a2456);font-size:1.45rem;font-weight:800;letter-spacing:.12em;line-height:1}.tems-wordmark-light{color:#fff;font-size:1.7rem;text-shadow:0 2px 12px rgba(0,0,0,.3)}.auth-product>div{gap:.22rem}.auth-options .form-check-input{accent-color:var(--color-primary,#1a2456);border-color:#aebaca}.auth-options .form-check-input:checked{background-color:var(--color-primary,#1a2456);border-color:var(--color-primary,#1a2456)}.auth-options .form-check-input:focus{border-color:var(--color-primary,#1a2456);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--color-primary,#1a2456) 20%,transparent)}
.auth-visual-content{padding-bottom:0;margin-bottom:clamp(6rem,18vh,12rem)}.auth-eyebrow{margin:1rem 0 .2rem}.auth-motto{margin:.4rem 0 0}
.auth-product-mark{display:block;max-width:132px;max-height:64px;object-fit:contain}.auth-product-mark-dark{max-width:48px;max-height:48px}.auth-form .is-invalid{border-color:#b42318}.auth-form .is-invalid:focus{box-shadow:0 0 0 .2rem rgba(180,35,24,.16)}@media(max-width:575.98px){.auth-options{flex-wrap:wrap}.auth-options a{margin-left:auto}}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,55fr) minmax(400px,45fr);background:#f4f7fb}.auth-visual{position:relative;display:flex;align-items:flex-end;isolation:isolate;background-image:linear-gradient(145deg,rgba(7,16,35,.84),rgba(10,33,43,.56)),var(--auth-background);background-position:center;background-size:cover;color:#fff;overflow:hidden}.auth-visual::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 40%,rgba(4,12,27,.58))}.auth-visual-content{max-width:650px;padding:clamp(2.5rem,6vw,6rem);animation:auth-enter .28s ease-out both}.auth-school-logo{width:94px;height:94px;object-fit:contain;background:rgba(255,255,255,.94);border-radius:1rem;padding:.45rem;box-shadow:0 12px 34px rgba(0,0,0,.25)}.auth-school-fallback{display:inline-grid;place-items:center;width:88px;height:88px;border:2px solid rgba(255,255,255,.75);border-radius:1rem;font-size:1.7rem;font-weight:800;background:rgba(255,255,255,.12)}.auth-eyebrow{margin:1.5rem 0 .3rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700;font-size:.82rem}.auth-visual h1{font-size:clamp(2rem,4vw,3.7rem);font-weight:800;line-height:1.08;margin:0}.auth-motto{font-size:clamp(1rem,1.5vw,1.3rem);margin:.75rem 0 0;max-width:42ch}.auth-form-panel{display:flex;align-items:center;justify-content:center;padding:clamp(1.25rem,4vw,3.5rem);background:linear-gradient(145deg,#f7f9fc,#eef3f8)}.auth-card{width:min(100%,440px);padding:clamp(1.6rem,4vw,2.7rem);border:1px solid #dbe3ed;border-radius:1.1rem;background:#fff;box-shadow:0 22px 55px rgba(15,23,42,.11);animation:auth-enter .24s ease-out both}.auth-product{display:flex;align-items:center;gap:.8rem;margin-bottom:2rem}.tems-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:.85rem;background:var(--color-primary,#1a2456);color:var(--color-primary-text,#fff);font-size:1.55rem;font-weight:800;box-shadow:0 8px 20px rgba(15,23,42,.14)}.auth-product div{display:flex;flex-direction:column;line-height:1.2}.auth-product strong{font-size:1.28rem;letter-spacing:.04em}.auth-product span{color:#667085;font-size:.76rem}.auth-heading{margin-bottom:1.5rem}.auth-heading h1,.auth-heading h2{font-size:1.55rem;font-weight:750;margin:0 0 .35rem}.auth-heading p{color:#667085;margin:0;line-height:1.55}.auth-form{display:grid;gap:1.15rem}.auth-form .form-label{font-weight:650;font-size:.86rem;margin-bottom:.42rem}.auth-form .form-control{height:48px;border:1.5px solid #ccd6e2;border-radius:.7rem;padding:.65rem .85rem}.auth-form .form-control:focus{border-color:var(--color-primary,#1a2456);box-shadow:0 0 0 .2rem rgba(26,36,86,.14)}.password-control{position:relative}.password-control .form-control{padding-right:3.2rem}.password-toggle{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:.55rem;background:transparent;color:#475467}.password-toggle:hover,.password-toggle:focus-visible{background:#eef2f7;color:#111827}.auth-options{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.86rem}.auth-options .form-check{margin:0}.auth-options a,.auth-back{color:var(--color-primary,#1a2456);font-weight:650;text-decoration:none}.auth-options a:hover,.auth-back:hover{text-decoration:underline}.auth-submit{height:48px;border-radius:.7rem;font-weight:700;transition:transform .18s ease,box-shadow .18s ease}.auth-submit:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.15)}.auth-powered{margin-top:1.7rem;padding-top:1rem;border-top:1px solid #e4e9f0;text-align:center;color:#667085;font-size:.78rem}.auth-mobile-school{display:flex;flex-direction:column;margin-bottom:1.25rem;padding:.7rem .85rem;border-radius:.7rem;background:#f3f6fa}.auth-mobile-school span{font-size:.76rem;color:#667085}.auth-simple-shell{min-height:100vh;display:grid;place-items:center;padding:1.25rem;background:linear-gradient(145deg,var(--color-primary,#1a2456),#eef3f8 62%)}.auth-card-simple{width:min(100%,500px)}.auth-school-context{margin:-.9rem 0 1.4rem;color:var(--color-primary,#1a2456);font-weight:700}.auth-back{display:inline-flex;gap:.4rem;align-items:center;margin-top:1.2rem;font-size:.86rem}@keyframes auth-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:991.98px){.auth-shell{display:block}.auth-visual{display:none}.auth-form-panel{min-height:100vh;padding:1.25rem}.auth-card{width:min(100%,500px)}}@media(max-width:575.98px){.auth-form-panel,.auth-simple-shell{padding:.75rem}.auth-card{padding:1.35rem;border-radius:.9rem}.auth-product{margin-bottom:1.4rem}.auth-options{align-items:flex-start}.auth-heading h1,.auth-heading h2{font-size:1.35rem}}@media(prefers-reduced-motion:reduce){.auth-visual-content,.auth-card{animation:none}.auth-submit{transition:none}.auth-submit:hover{transform:none}}
