:root {
    --loginpage-color1: #5b42f3;
    --text-color: #888888;
    --title-color: #111111;
    --cta-color: #5b42f3;
    --ctahover-color: #4a33e0;
}

*::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
* {box-sizing: border-box;}

BODY {background: #f5f5f7;}

.pagecontainer {text-align: center; display: flex; flex-direction: column; align-items: center;}

.lighthead {padding:80px 0px 40px 0px; font-size:0.8rem; line-height:1.4rem;}
.lighthead .lhlogin {display:none;}
.lightfooter {padding:40px 0px 80px 0px; font-size:0.8rem; line-height:1.4rem;}

.loginpage .card {background: #ffffff; border-radius: 20px; padding: 48px 40px 40px; max-width: 420px; width: 100%; box-shadow: 0 2px 24px rgba(0,0,0,0.07);}
.loginpage .cardregistration {width:80%; text-align:left;}
.loginpage .heading {font-size: 1.75rem; line-height:2.3rem; font-weight: 800; color: var(--title-color); text-align: center; letter-spacing: -0.03em; margin-bottom: 10px;}

.loginpage .subheading {font-size: 0.875rem; color: var(--text-color); text-align: center; line-height: 1.6; margin-bottom: 32px;}
.loginpage .form-group {margin-bottom: 14px; position: relative;}
.loginpage .input-box {width: 100%; border: 1.5px solid #e0e0e0; border-radius: 10px; padding: 22px 14px 8px 14px; font-family: 'Inter', sans-serif; font-size: 0.92rem; color: #111; outline: none; transition: border-color 0.2s, box-shadow 0.2s; background: #fff;}
.loginpage .input-box::placeholder { color: transparent; }
.loginpage .form-group label {position: absolute; left: 14px; top: 50%; transform: translateY(-50%); font-size: 0.9rem; color: #aaa; pointer-events: none; transition: top 0.18s, font-size 0.18s, color 0.18s, transform 0.18s; font-weight: 400;}
.loginpage .input-box:focus {border-color: var(--loginpage-color1); box-shadow: 0 0 0 3px rgba(91,66,243,0.12);}
.loginpage .input-box:focus ~ label,
.loginpage .input-box:not(:placeholder-shown) ~ label {top: 3px; transform: translateY(0); font-size: 0.7rem; color: #888;}
.loginpage .pw-toggle {position: absolute; right: 14px; top: 50%; transform: translateY(-50%); background: none; border: none; cursor: pointer; color: #bbb; padding: 2px; display: flex;}
.loginpage .pw-toggle:hover { color: #555; }
.loginpage .pw-toggle svg { width: 18px; height: 18px; }
.loginpage .forgot {display: inline-block; font-size: 0.85rem; font-weight: 600; color: var(--loginpage-color1); text-decoration: none; margin-top: 2px; margin-bottom: 18px;}
.loginpage .forgot:hover { text-decoration: underline; }
.loginpage .remember-row {display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px;}
.loginpage .remember-label {font-size: 0.875rem; color: var(--text-color);}
.loginpage .toggle-switch {position: relative; width: 46px; height: 26px; flex-shrink: 0;}
.loginpage .toggle-switch input { display: none; }
.loginpage .toggle-track {position: absolute; inset: 0; border-radius: 100px; background: #ccc; cursor: pointer; transition: background 0.25s;}
.loginpage .toggle-track::after {content: ''; position: absolute; width: 20px; height: 20px; border-radius: 50%; background: #fff; top: 3px; left: 3px; transition: transform 0.25s; box-shadow: 0 1px 4px rgba(0,0,0,0.2);}
.loginpage .toggle-switch input:checked ~ .toggle-track { background: var(--loginpage-color1); }
.loginpage .toggle-switch input:checked ~ .toggle-track::after { transform: translateX(20px); }
.loginpage .btn-login {width: 100%; padding: 15px; border-radius: 50px; border: none; background: var(--cta-color); color: #fff; font-family: 'Inter', sans-serif; font-size: 0.95rem; font-weight: 600; cursor: pointer; transition: background 0.18s, transform 0.15s, box-shadow 0.18s; box-shadow: 0 4px 18px rgba(91,66,243,0.3);}
.loginpage .btn-login:hover {background: var(--ctahover-color); transform: translateY(-1px); box-shadow: 0 8px 24px rgba(91,66,243,0.35);}
.loginpage .btn-login:active { transform: translateY(0); }
.loginpage .divider {display: flex; align-items: center; gap: 12px; margin: 22px 0;}
.loginpage .divider::before, 
.loginpage .divider::after {content: '';flex: 1; height: 1px; background: #e8e8e8;}
.loginpage .divider span {font-size: 0.78rem; color: #bbb; font-weight: 500; letter-spacing: 0.05em;}
.loginpage .btn-google {width: 100%; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 14px; border-radius: 10px; border: 1.5px solid #e8e8e8; background: #fff; font-family: 'Inter', sans-serif; font-size: 0.93rem; font-weight: 600; color: #111; cursor: pointer;transition: background 0.18s, border-color 0.18s;}
.loginpage .btn-google:hover { background: #fafafa; border-color: #ccc; }
.loginpage .btn-google svg { width: 20px; height: 20px; flex-shrink: 0; }
.loginpage .signup-row {margin-top: 24px; text-align: center; font-size: 0.84rem; color: #888;}
.loginpage .signup-row a {color: var(--loginpage-color1); font-weight: 600; text-decoration: none;}
.loginpage .signup-row a:hover { text-decoration: underline; }
.loginpage .error {margin-top: 12px; margin-bottom:20px; background-color: #ff0000; font-size: 0.85rem; text-align: center; color: #fff; padding: 10px; border-radius: 8px; font-weight: 700;}
.loginpage .b4borderradiusmin {border-radius: 6px;}

@media (max-width:767px) {
    .lighthead {padding: 20px 0px 20px 0px;}
}