/* ========================================================= */
/* ARCHIVO: style.css - Estilos Farmadona (Versión Final Corregida) */
/* ========================================================= */

:root {
    /* Paleta de colores basada en el logo de Farmadona Droguerías */
    --farmadona-green: #00A651; /* Verde principal */
    --farmadona-yellow: #FFD400; /* Amarillo para énfasis/alerta (usado en Badges) */
    --farmadona-dark-green: #007F3F; /* Verde oscuro para interacción y headers */
    --farmadona-white: #FFFFFF;
    --farmadona-gray-bg: #F8F9FA; /* Fondo gris muy claro para el body (neutro) */
    --farmadona-text-dark: #343a40; /* Color de texto oscuro */
    --farmadona-border-light: #dee2e6; /* Borde ligero para tablas/cards */
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: var(--farmadona-gray-bg);
    color: var(--farmadona-text-dark);
    min-height: 100vh;
}

/* Estilos de Header y Navegación */
.header-farmadona {
    background-color: var(--farmadona-dark-green);
    color: var(--farmadona-white);
    padding: 20px 0;
    text-align: center;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.header-farmadona h1 {
    margin: 0;
    font-size: 1.8rem;
}

/* Contenedor principal de la aplicación */
.container, .container-fluid {
    margin-top: 30px;
}

/* =============================================== */
/* ESTILOS DE BOTONES (Contraste Corregido) */
/* =============================================== */

/* Botones Primary (Login, Cargar Pedido) */
.btn-primary {
    background-color: var(--farmadona-green);
    border-color: var(--farmadona-green);
    color: var(--farmadona-white); /* Texto siempre blanco */
}
.btn-primary:hover {
    background-color: var(--farmadona-dark-green);
    border-color: var(--farmadona-dark-green);
    color: var(--farmadona-white); /* Mantiene texto blanco en hover */
}

/* Botones Success (Entrega, Botón de Rastreo ON) */
.btn-success {
    background-color: var(--farmadona-green);
    border-color: var(--farmadona-green);
    color: var(--farmadona-white); /* Texto siempre blanco */
}
.btn-success:hover {
    background-color: var(--farmadona-dark-green);
    border-color: var(--farmadona-dark-green);
    color: var(--farmadona-white); /* Mantiene texto blanco en hover */
}

/* Botones Warning (Despachar, Asignar - Usamos Azul Cian para alto contraste) */
.btn-warning {
    background-color: #0dcaf0;
    border-color: #0dcaf0;
    color: var(--farmadona-text-dark); /* Texto oscuro para alto contraste */
}
.btn-warning:hover {
    background-color: #0aa5cc;
    border-color: #0aa5cc;
    color: var(--farmadona-text-dark); /* Mantiene texto oscuro en hover */
}

/* Botón Danger (Gestionar Permisos, Detener Rastreo) */
.btn-danger {
    background-color: #dc3545;
    border-color: #dc3545;
    color: var(--farmadona-white); /* Texto siempre blanco */
}
.btn-danger:hover {
    background-color: #c82333;
    border-color: #bd2130;
    color: var(--farmadona-white); /* Mantiene texto blanco en hover */
}

/* Botón Info (Reportes, Registrar Usuario - Usamos Azul Cian) */
.btn-info {
    background-color: #0dcaf0;
    border-color: #0dcaf0;
    color: var(--farmadona-text-dark); /* Texto oscuro para alto contraste */
}
.btn-info:hover {
    background-color: #0aa5cc;
    border-color: #0aa5cc;
    color: var(--farmadona-text-dark); /* Mantiene texto oscuro en hover */
}

/* Botón Secondary (Volver, Ver Destinos, Cerrar Sesión) */
.btn-secondary {
    background-color: #6c757d;
    border-color: #6c757d;
    color: var(--farmadona-white); /* Texto siempre blanco */
}
.btn-secondary:hover {
    background-color: #5a6268;
    border-color: #545b62;
    color: var(--farmadona-white); /* Mantiene texto blanco en hover */
}

/* --- ELIMINACIÓN DE LÍNEAS NEGRAS AL HACER FOCO --- */
.btn:focus,
.btn:active,
.btn.active,
.btn:focus:not(.btn:active) {
    outline: none !important;
    box-shadow: none !important;
}


/* =============================================== */
/* ESTILOS DE COMPONENTES */
/* =============================================== */

/* Estilos de Tarjetas y Tablas */
.card {
    background-color: var(--farmadona-white);
    border: 1px solid var(--farmadona-border-light);
    border-left: 5px solid var(--farmadona-dark-green);
    border-radius: 8px;
    transition: transform 0.2s;
}
.card:hover {
    transform: translateY(-3px);
}

.table {
    background-color: var(--farmadona-white);
    border: 1px solid var(--farmadona-border-light);
    border-radius: 8px;
    overflow: hidden;
}
.table thead {
    background-color: var(--farmadona-dark-green);
    color: var(--farmadona-white);
}
.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, 0.03);
}


/* Estilos específicos del Login */
.login-card {
    background-color: var(--farmadona-white);
    border-radius: 10px;
    padding: 40px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
    width: 100%;
    max-width: 450px;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
/* Excepción para el fondo del login */
body:has(.login-card) {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--farmadona-green);
}
.form-control:focus {
    border-color: var(--farmadona-green);
    box-shadow: 0 0 0 0.25rem rgba(0, 166, 81, 0.25);
}

/* Estilos para Badges (estados en tablas) */
.badge {
    padding: 0.4em 0.6em;
    border-radius: 0.375rem;
    font-weight: 600;
}
.text-bg-success { background-color: var(--farmadona-green) !important; color: white !important; }
.text-bg-warning { background-color: var(--farmadona-yellow) !important; color: var(--farmadona-text-dark) !important; }
.text-bg-info { background-color: #0dcaf0 !important; color: var(--farmadona-text-dark) !important; }
.text-bg-danger { background-color: #dc3545 !important; color: white !important; }
.text-bg-secondary { background-color: #6c757d !important; color: white !important; }

/* Alertas */
.alert {
    border-radius: 8px;
}