/* ════════════════════════════════
   AUTH - minimal centered layout
   ════════════════════════════════ */
.auth{
    max-width:340px;
    margin:60px auto 40px;
    padding:0 16px;
    text-align:center;
}

/* Logo */
.auth-logo{width:42px;height:42px;border-radius:10px;margin-bottom:18px}

/* Title */
.auth h1{
    font-size:1.5rem;font-weight:900;letter-spacing:-.6px;
    margin:0 0 5px;line-height:1.15;
}
.auth h1 span{
    background:linear-gradient(135deg,var(--ac),#f59e0b);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.auth-sub{font-size:.82rem;color:var(--text3);margin:0 0 28px}

/* Divider line */
.auth-line{
    width:80px;height:1px;margin:0 auto 28px;
    background:linear-gradient(90deg,transparent,var(--ac),transparent);
}

/* Form - left-aligned labels */
.auth-form{text-align:left}
.auth-form .fg{margin-bottom:16px}
.auth-form .fg label{
    display:block;font-size:.76rem;font-weight:700;
    color:var(--text2);margin-bottom:5px;letter-spacing:.2px;
}
.auth-form .fg input{
    width:100%;padding:11px 14px;
    background:var(--bg1);border:1px solid var(--border);border-radius:8px;
    color:var(--text);font-size:.85rem;font-family:inherit;outline:none;
    transition:border-color .15s,box-shadow .15s;
}
.auth-form .fg input:focus{border-color:var(--ac);box-shadow:0 0 0 3px var(--ac10)}
.auth-form .fg input::placeholder{color:var(--text3)}
.auth-form .fg small{display:block;margin-top:4px;font-size:.7rem;color:var(--text3)}

/* Password row */
.auth-pw-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}
.auth-pw-header label{margin-bottom:0 !important}
.auth-pw-header a{font-size:.7rem;color:var(--text3);text-decoration:none;font-weight:600}
.auth-pw-header a:hover{color:var(--ac)}

.auth-pw{position:relative}
.auth-pw input{padding-right:40px}
.auth-pw button{
    position:absolute;right:10px;top:50%;transform:translateY(-50%);
    background:none;border:0;color:var(--text3);cursor:pointer;padding:0;display:flex;
}
.auth-pw button:hover{color:var(--text2)}

/* Submit */
.auth-btn{
    width:100%;padding:12px;margin-top:20px;
    font-size:.85rem;font-weight:700;border-radius:8px;cursor:pointer;border:0;
    background:var(--ac);color:#fff;font-family:inherit;letter-spacing:.3px;
    display:flex;align-items:center;justify-content:center;gap:7px;
    transition:background .15s;
}
.auth-btn:hover{background:var(--accent2)}

/* Switch link */
.auth-switch{
    margin-top:22px;font-size:.8rem;color:var(--text3);text-align:center;
}
.auth-switch a{color:var(--ac);font-weight:700;text-decoration:none}
.auth-switch a:hover{text-decoration:underline}

/* Alerts */
.auth-alert{
    padding:10px 14px;border-radius:8px;font-size:.8rem;margin-bottom:16px;
    display:flex;align-items:center;gap:7px;text-align:left;
}
.auth-alert.err{background:rgba(248,113,113,.07);border:1px solid rgba(248,113,113,.12);color:var(--red)}
.auth-alert.ok{background:rgba(74,222,128,.07);border:1px solid rgba(74,222,128,.12);color:var(--green)}

/* Password strength */
.auth-str{height:3px;background:var(--bg3);border-radius:2px;margin-top:6px;overflow:hidden}
.auth-str span{display:block;height:100%;border-radius:2px;transition:width .2s,background .2s;width:0}
.auth-str-text{font-size:.65rem;color:var(--text3);margin-top:3px}

/* Success state */
.auth-ok{text-align:center;padding:6px 0}
.auth-ok-icon{
    width:48px;height:48px;margin:0 auto 14px;
    background:rgba(74,222,128,.06);border:1px solid rgba(74,222,128,.1);
    border-radius:50%;display:flex;align-items:center;justify-content:center;
}
.auth-ok h2{font-size:1rem;font-weight:700;margin:0 0 6px}
.auth-ok p{font-size:.8rem;color:var(--text3);margin:0;line-height:1.6}
.auth-ok-note{margin-top:10px;font-size:.72rem;color:var(--text3)}
.auth-ok-note a{color:var(--ac)}

/* Responsive */
@media(max-width:400px){
    .auth{margin-top:32px}
    .auth h1{font-size:1.25rem}
}
