/* LINGVA — Modern authentication pages */
*{box-sizing:border-box}
html,body{margin:0;padding:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{
    min-height:100vh;
    color:#f7f7fb;
    background:
      radial-gradient(circle at 15% 10%,rgba(124,58,237,.24),transparent 30%),
      radial-gradient(circle at 85% 20%,rgba(59,130,246,.16),transparent 28%),
      radial-gradient(circle at 50% 100%,rgba(236,72,153,.10),transparent 35%),
      #07070d;
}
.auth-page{
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:32px 20px;
    position:relative;
    overflow:hidden;
}
.auth-page:before,.auth-page:after{
    content:"";
    position:absolute;
    width:420px;height:420px;
    border-radius:50%;
    filter:blur(90px);
    pointer-events:none;
    opacity:.28;
}
.auth-page:before{background:#7c3aed;left:-180px;top:-180px}
.auth-page:after{background:#2563eb;right:-180px;bottom:-180px}

.auth-card{
    position:relative;
    z-index:1;
    width:min(460px,100%);
    padding:42px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:28px;
    background:rgba(17,17,27,.78);
    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);
    box-shadow:0 35px 100px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.05);
}
.auth-card:before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:28px;
    padding:1px;
    background:linear-gradient(135deg,rgba(139,92,246,.45),transparent 45%,rgba(59,130,246,.20));
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    pointer-events:none;
}

.auth-logo{
    display:inline-flex;
    align-items:center;
    gap:0;
    color:#fff;
    text-decoration:none;
    font-size:25px;
    font-weight:950;
    letter-spacing:-1.2px;
    margin-bottom:34px;
}
.auth-logo:before{
    content:"L";
    width:40px;height:40px;
    display:grid;
    place-items:center;
    margin-right:11px;
    border-radius:13px;
    background:linear-gradient(135deg,#8b5cf6,#5b35d5);
    box-shadow:0 10px 30px rgba(124,58,237,.35);
}
.auth-logo span{color:#fff}
.auth-logo{background:linear-gradient(90deg,#fff 25%,#b78aff 65%,#7c5cff);-webkit-background-clip:text;background-clip:text;color:transparent}

.auth-card h1{
    margin:0 0 10px;
    font-size:38px;
    line-height:1.08;
    letter-spacing:-1.5px;
}
.auth-subtitle{
    margin:0 0 30px;
    color:#9797aa;
    font-size:15px;
    line-height:1.6;
}
.auth-card form{display:grid;gap:18px}
.form-group{display:grid;gap:8px}
.form-group label{
    color:#c8c8d6;
    font-size:13px;
    font-weight:750;
}
.form-group input{
    width:100%;
    min-height:54px;
    padding:0 16px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:15px;
    outline:none;
    background:rgba(255,255,255,.045);
    color:#fff;
    font-size:15px;
    transition:.2s ease;
}
.form-group input::placeholder{color:#6f6f80}
.form-group input:focus{
    border-color:rgba(139,92,246,.75);
    background:rgba(139,92,246,.07);
    box-shadow:0 0 0 4px rgba(139,92,246,.12),0 10px 30px rgba(0,0,0,.15);
}
.auth-button{
    width:100%;
    min-height:55px;
    border:0;
    border-radius:15px;
    cursor:pointer;
    color:#fff;
    font-size:15px;
    font-weight:850;
    background:linear-gradient(135deg,#8b5cf6,#6d3fe8);
    box-shadow:0 15px 35px rgba(109,63,232,.28);
    transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.auth-button:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 20px 45px rgba(109,63,232,.38)}
.auth-button:active{transform:translateY(0)}

.auth-footer{
    margin-top:25px;
    padding-top:22px;
    border-top:1px solid rgba(255,255,255,.07);
    color:#858596;
    text-align:center;
    font-size:14px;
}
.auth-footer a{color:#b58cff;text-decoration:none;font-weight:750}
.auth-footer a:hover{text-decoration:underline}

.alert{
    margin:0 0 20px;
    padding:13px 15px;
    border-radius:13px;
    font-size:13px;
    line-height:1.5;
}
.alert-error{
    color:#ffc6d0;
    border:1px solid rgba(244,63,94,.25);
    background:rgba(244,63,94,.09);
}

@media(max-width:520px){
    .auth-page{padding:18px 14px}
    .auth-card{padding:30px 22px;border-radius:23px}
    .auth-card:before{border-radius:23px}
    .auth-card h1{font-size:31px}
    .auth-logo{margin-bottom:28px}
}
