:root {
    --dark: #1f2933;
    --gray: #6b7280;
    --bg: #f3f4f6;
    --white: #ffffff;
    --danger: #dc2626;
    --success: #15803d;
}

body {
    font-family: 'Poppins', sans-serif;
    background: var(--bg);
    padding-top: 90px;
}

.navbar-brand img { height: 48px; }

/* Tarjetas de Auth */
.card-login, .card-register {
    max-width: 960px;
    margin: auto;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0,0,0,.12);
    background: #fff;
}

/* =========================================
   MODAL GLOBAL (Corregido)
   ========================================= */

.modal-content.app-modal {
    border-radius: 28px !important;
    overflow: hidden;
    border: none !important;
    box-shadow: 0 30px 70px rgba(0,0,0,0.25);
    max-width: 420px; /* Un poco más estrecho para que sea más elegante */
    margin: auto;
}

.app-modal-body {
    padding: 40px 30px !important;
    text-align: center;
    background: #ffffff;
}

.app-modal-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
}

.app-modal-icon.error { background: #fef2f2; color: #dc2626; }
.app-modal-icon.success { background: #f0fdf4; color: #16a34a; }

.app-modal-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 10px;
}

.app-modal-text {
    font-size: 0.95rem;
    color: var(--gray);
    line-height: 1.5;
    margin-bottom: 30px;
}

/* CONTENEDOR DE BOTONES */
.app-modal-actions .w-100 {
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* Alineado a la izquierda como pides */
}

/* STACK de acciones (centrado y no tan ancho) */
.app-modal-actions-stack{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;     /* centra ambos */
    gap: 12px;
}

/* Botón principal compacto (no full width) */
.btn-modal-compact{
    width: auto !important;
    min-width: 220px;
    max-width: 280px;
    padding: 14px 28px !important;
    border-radius: 999px !important;
}

/* Cancelar estilo link (sin caja/outline raro) */
.btn-modal-link{
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;

    font: inherit;
    font-weight: 600;
    color: var(--dark);
    cursor: pointer;
    text-decoration: none;

    outline: none !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent;
}

.btn-modal-link:hover{
    opacity: .75;
    text-decoration: underline;
}

/* Quita el recuadro SOLO cuando es focus por teclado también */
.btn-modal-link:focus,
.btn-modal-link:active,
.btn-modal-link:focus-visible{
    outline: none !important;
    box-shadow: none !important;
}


/* BOTÓN PRINCIPAL */
.btn-modal-primary {
    background: var(--dark) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 14px !important;
    font-weight: 700 !important;
    width: 100% !important;
    display: block !important;
    transition: background 0.3s ease;
}

.btn-modal-primary:hover {
    background: #000000 !important;
}