.auth-wrapper{
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
.auth-main{
    flex:1;
    display:flex;
    align-items:center;
}
.auth-center{
    max-width:420px;
    margin: 0 auto;
    width:100%;
}
.auth-card{
    background:#ffffff;
    border-radius:18px;
    border:1px solid #e6ecf8;
    box-shadow:0 18px 40px rgba(15,23,42,.12);
    padding: 26px;
}
.auth-card h1{
    margin:0 0 6px;
    font-size:24px;
    font-weight:800;
    letter-spacing:-.02em;
}
.auth-card p{
    margin:0 0 20px;
    color:#4b5563;
    font-size:14px;
}
.auth-form{
    display:grid;
    gap:14px;
}
.auth-form label{
    font-size:13px;
    font-weight:600;
    margin-bottom:4px;
    display:block;
}
.auth-form .input{
    width:100%;
}
.auth-submit-row{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-top:10px;
}
.auth-submit-row .btn{
    justify-content:center;
    width:100%;
}
.auth-muted{
    font-size:13px;
    color:#6b7280;
    text-align:center;
}
.auth-muted a{
    font-weight:600;
    color:#2152ff;
}
@media (max-width:640px){
    .auth-card{
        padding:20px 18px 22px;
        border-radius:16px;
    }
}
/* ===== Ajuste de ancho para login / registro ===== */

/* Centrar verticalmente y no tan pegado arriba */
.auth-main{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:60px 0;
}

/* Card más estrecha y cómoda de leer */
.auth-center{
    max-width: 520px;      /* antes heredaba el container completo */
    width: 100%;
    margin: 0 auto;
}

.auth-card{
    width:100%;
    max-width: 520px;      /* forza que el bloque blanco no pase de aquí */
    margin: 0 auto;
}

/* En pantallas grandes lo hacemos aún un pelín más compacto */
@media (min-width: 1280px){
    .auth-center,
    .auth-card{
        max-width: 480px;
    }
}

.auth-alert-success {
    margin-bottom: 1.25rem;
    padding: 0.85rem 1rem;
    border-radius: 8px;
    background: rgba(16, 185, 129, 0.08);
    border: 1px solid rgba(16, 185, 129, 0.65);
    color: #10b981;
    font-size: 0.9rem;
}
.auth-alert-success code {
    display: inline-block;
    margin-top: 0.35rem;
    padding: 0.25rem 0.35rem;
    border-radius: 4px;
    background: rgba(15, 23, 42, 0.85);
    color: #e5e7eb;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 0.8rem;
}

.auth-alert-error {
    margin-bottom: 1.25rem;
    padding: 0.85rem 1rem;
    border-radius: 8px;
    background: rgba(239, 68, 68, 0.08);
    border: 1px solid rgba(239, 68, 68, 0.65);
    color: #f87171;
    font-size: 0.9rem;
}
.btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}
