﻿/* LOGIN */

/* 1. Fondo de la página: Imagen de viaje inspiradora */
#loginPage {
    background-image: url('https://images.unsplash.com/photo-1488646953014-85cb44e25828?auto=format&fit=crop&w=1920&q=80');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    margin: 0;
    padding: 20px;
}

/* Overlay sutil para mejorar el contraste de la imagen */
.overlay.dark.opacity-2 {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.6) 0%, rgba(15, 23, 42, 0.3) 100%);
    z-index: 1;
}

/* 2. Contenedor del Login (Efecto Cristal - Glassmorphism) */
.form-login-column {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 440px;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 24px;
    padding: 40px 35px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

/* Título */
.font-title{
    font-size: 2rem;
    font-weight: 700;
    color: #0f172a; /* Slate 900 */
    text-align: center;
    letter-spacing: -0.02em;
    margin-bottom: 1rem !important;
    font-family: "Playwrite GB J", 'Arial', cursive;
    font-optical-sizing: auto;
    font-weight: <weight>;
    font-style: normal;
}

/* 3. Estilizado de los inputs */
.form-group {
    margin-bottom: 1.5rem;
    position: relative;
}

.form-group label {
    display: block;
    font-size: 0.85rem;
    color: #475569; /* Slate 600 */
    margin-bottom: 6px;
    font-weight: 600 !important;
}

.form-control {
    width: 100%;
    padding: 12px 16px;
    font-size: 0.95rem;
    color: #0f172a;
    background-color: rgba(255, 255, 255, 0.9);
    border: 1px solid #cbd5e1; /* Slate 300 */
    border-radius: 12px;
    box-sizing: border-box;
    transition: all 0.2s ease-in-out;
}

/* Enfoque del input (Focus) al estilo app moderna */
.form-control:focus {
    outline: none;
    background-color: #ffffff;
    border-color: #0284c7; /* Azul Aero / Viajes */
    box-shadow: 0 0 0 4px rgba(2, 132, 199, 0.15);
}

/* Ocultar la barra antigua si tu plantilla la usaba */
.form-group__bar {
    display: none; 
}

/* 4. Botón de acción principal */
.btn-primary {
    width: 100%;
    background-color: #0284c7; /* Azul mar / cielo */
    color: #ffffff;
    border: none;
    padding: 14px 24px;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.25);
}

.btn-primary:hover {
    background-color: #0369a1;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(2, 132, 199, 0.35);
}

.btn-primary:active {
    transform: translateY(0);
}

/* 5. Alertas de PHP (Éxito o Error) */
.alert {
    padding: 12px 16px;
    border-radius: 12px;
    font-size: 0.9rem;
    margin-bottom: 1.5rem;
    font-weight: 500;
}
.alert-danger {
    background-color: #fef2f2;
    color: #991b1b;
    border: 1px solid #fca5a5;
}
.alert-success {
    background-color: #f0fdf4;
    color: #166534;
    border: 1px solid #86efac;
}

/* 6. Enlaces inferiores */
.form-login-column p {
    text-align: center;
    font-size: 0.9rem;
    color: #64748b;
    margin-bottom: 0.75rem;
}

.form-login-column p a {
    color: #0284c7;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.15s ease;
}

.form-login-column p a:hover {
    color: #0369a1;
    text-decoration: underline;
}

/* LOADER */

/* 1. Contenedor de pantalla completa */
.page-loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(248, 250, 252, 0.85); /* Slate 50 con transparencia */
    backdrop-filter: blur(8px); /* Desenfoque de fondo muy moderno */
    -webkit-backdrop-filter: blur(8px);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999; /* Asegura que esté por encima de todo */
    transition: opacity 0.4s ease, visibility 0.4s ease;
}

/* 2. Tamaño y animación de rotación del contenedor del SVG */
.page-loader__spinner {
    width: 64px;
    height: 64px;
    animation: rotate-loader 2s linear infinite;
}

/* El elemento SVG en sí */
.page-loader__spinner svg {
    width: 100%;
    height: 100%;
    transform-origin: center center;
}

/* 3. Estilo y animación del círculo interior (El trazo) */
.page-loader__spinner circle {
    stroke: #0284c7; /* El mismo azul viajero del botón de login */
    stroke-linecap: round; /* Bordes redondeados en las puntas del trazo */
    animation: dash-loader 1.5s ease-in-out infinite;
}

/* ===================================================
   ANIMACIONES (Keyframes)
   =================================================== */

/* Hace que todo el SVG gire continuamente */
@keyframes rotate-loader {
    100% {
        transform: rotate(360deg);
    }
}

/* Hace que el círculo se "estire" y se "encoja" de forma orgánica */
@keyframes dash-loader {
    0% {
        stroke-dasharray: 1, 200;
        stroke-dashoffset: 0;
    }
    50% {
        stroke-dasharray: 89, 200;
        stroke-dashoffset: -35px;
    }
    100% {
        stroke-dasharray: 89, 200;
        stroke-dashoffset: -124px;
    }
}

/* TOPBAR */
/* Variables de diseño globales */
:root {
  --bg-header: rgba(255, 255, 255, 0.85);
  --text-main: #0f172a; /* Slate 900 */
  --text-muted: #64748b; /* Slate 500 */
  --accent-color: #0284c7; /* Azul Mar */
  --danger-color: #ef4444; /* Rojo suave */
  --border-color: rgba(226, 232, 240, 0.8); /* Slate 200 con transparencia */
}

/* Estilos de la barra superior */
.main-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 70px;
  background-color: var(--bg-header);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border-color);
  box-sizing: border-box;
  z-index: 100;
  font-family: 'Segoe UI', Roboto, sans-serif;
}

.header-container {
  max-width: 1280px;
  height: 100%;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Logotipo */
.logo {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: var(--text-main);
}

.logo-icon {
  font-size: 1.5rem;
}

.logo-text {
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: -0.02em;
}

/* Contenedor del menú de usuario */
.user-menu-container {
  position: relative;
}

/* Botón de Perfil */
.user-profile-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  background: none;
  border: 1px solid transparent;
  padding: 6px 12px;
  border-radius: 9999px; /* Aspecto de píldora */
  cursor: pointer;
  transition: all 0.2s ease;
}

.user-profile-btn:hover {
  background-color: rgba(241, 245, 249, 0.8); /* Slate 100 */
}

/* Imagen de Avatar */
.avatar-wrapper {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid #ddd;
}

.user-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.user-name {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--text-main);
}

.chevron-icon {
  color: var(--text-muted);
  transition: transform 0.2s ease;
}

/* ---------------------------------------------------
   Menú Desplegable (Dropdown)
   --------------------------------------------------- */
.dropdown-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  left: inherit;
  width: 220px;
  background-color: #ffffff;
  border: 1px solid var(--border-color);
  border-radius: 16px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  
  /* Estado inicial: oculto */
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Clase que se añade con JS para mostrar el menú */
.dropdown-menu.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.dropdown-header {
  padding: 8px 12px;
}

.user-email {
  font-size: 0.8rem;
  color: var(--text-muted);
  word-break: break-all;
}

.dropdown-divider {
  border: 0;
  border-top: 1px solid var(--border-color);
  margin: 4px 0;
}

/* Ítems del menú */
.dropdown-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--text-main);
  text-decoration: none;
  border-radius: 10px;
  transition: background-color 0.15s ease;
}

.dropdown-item:hover {
  background-color: #f1f5f9;
}

.dropdown-item svg {
  color: var(--text-muted);
}

/* Estilo especial para Cerrar Sesión */
.dropdown-item.logout-link {
  color: var(--danger-color);
}

.dropdown-item.logout-link:hover {
  background-color: #fef2f2; /* Rojo ultra claro */
}

.dropdown-item.logout-link svg {
  color: var(--danger-color);
}

/* FOOTER */
/* 1. Contenedor Principal: Lo fijamos abajo y lo hacemos flotar */
footer.content__title--calendar {
    position: fixed !important; /* Forzamos que sea fijo */
    bottom: 24px; /* Separación del borde inferior para el efecto "flotante" */
    left: 50%;
    transform: translateX(-50%); /* Lo centramos perfectamente en pantalla */
    width: calc(100% - 32px); /* Margen a los lados en pantallas chicas */
    max-width: 500px; /* Evitamos que se estire demasiado en pantallas de PC */
    height: 68px;
    background-color: rgba(255, 255, 255, 0.85); /* Efecto cristal esmerilado */
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(226, 232, 240, 0.8); /* Borde sutil slate-200 */
    border-radius: 20px; /* Bordes muy redondeados modernos */
    box-shadow: 0 10px 30px -5px rgba(15, 23, 42, 0.15), 0 4px 12px -2px rgba(15, 23, 42, 0.05);
    z-index: 999; /* Por encima de todo el contenido */
    padding: 0 12px !important;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}

/* 2. Caja de acciones (Flexbox para distribuir los botones) */
footer.content__title--calendar .actions {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
    gap: 10px;
}

/* 3. Estilo base de cada ítem/botón */
footer.content__title--calendar .actions__item {
    display: flex;
    flex-direction: column; /* Icono arriba, texto abajo */
    align-items: center;
    justify-content: center;
    flex: 1;
    height: 52px;
    text-decoration: none;
    color: #64748b; /* Slate 500 (Gris apagado para no activos) */
    font-family: 'Segoe UI', Roboto, sans-serif;
    font-size: 0.75rem; /* Texto pequeño estilo app nativa */
    font-weight: 600;
    gap: 4px; /* Separación entre icono y texto */
    border-radius: 12px;
    transition: all 0.2s ease-in-out;
}

/* Iconos de FontAwesome */
footer.content__title--calendar .actions__item i {
    font-size: 1.25rem; /* Icono un poco más grande que el texto */
    transition: transform 0.2s ease;
}

/* Efecto Hover general */
footer.content__title--calendar .actions__item:hover:not(.btn-nuevo-viaje) {
    color: #0284c7; /* Azul viajero */
    background-color: rgba(241, 245, 249, 0.6); /* Slate 100 sutil */
}

footer.content__title--calendar .actions__item:hover i {
    transform: translateY(-2px); /* Microinteracción al pasar el cursor */
}

/* 4. Estado Activo (Tus clases PHP con .bg-light) */
footer.content__title--calendar .actions__item.bg-light {
    background-color: #e0f2fe !important; /* Azul cielo muy claro */
    color: #0284c7 !important; /* Texto azul brillante */
}

/* 5. Botón Destacado: "Nuevo Viaje" */
footer.content__title--calendar .actions__item.btn-nuevo-viaje {
    background-color: #0284c7; /* Botón de acción principal */
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.3);
}

footer.content__title--calendar .actions__item.btn-nuevo-viaje:hover {
    background-color: #0369a1;
    color: #ffffff;
    box-shadow: 0 6px 16px rgba(2, 132, 199, 0.4);
}

/* MAPA */
/* Estilos base para el contenedor del mapa */
#mapa-viajes {
  width: 100vw;
  height: calc(100vh - 70px);
}

/* Reemplazo del mixin @include xs (Pantallas móviles) */
@media (max-width: 576px) {
  #mapa-viajes {
    height: calc(100vh - 50px);
  }
}

/* ===================================================
   ESTILOS MODERNOS PARA EL INFOWINDOW (Google Maps)
   =================================================== */

/* Contenedor padre de la burbuja que inyecta Google */
#mapa-viajes .gm-style .gm-style-iw-c {
    padding: 0 !important;
    border-radius: 16px !important;
    background-color: #ffffff !important;
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.25) !important;
    max-width: 260px !important;
}

/* Contenedor del contenido interno */
#mapa-viajes .gm-style .gm-style-iw-d {
    overflow: hidden !important;
    max-height: none !important;
}

/* El botón de cerrar (X) nativo de Google */
#mapa-viajes .gm-style .gm-style-iw-chr {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 10;
    background-color: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(4px);
    border-radius: 50%;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
}
#mapa-viajes .gm-style .gm-style-iw-chr button {
    top: 0 !important;
    right: 0 !important;
    width: 28px !important;
    height: 28px !important;
}
/* ===================================================
   TARJETA FINAL DE INFORMACIÓN (InfoWindow)
   =================================================== */

/* Contenedor principal unificado */
#mapa-viajes .marker-content {
    font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, sans-serif;
    width: 280px;
    background-color: #ffffff;
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    position: relative; /* Necesario para posicionar el h1 encima de la imagen */
    box-sizing: border-box;
    max-width: 100%;
}

/* 1. Sección de la Imagen */
#mapa-viajes .marker-content .imagen {
    width: 100%;
    height: 150px;
    position: relative;
    overflow: hidden;
    background-color: #f1f5f9; /* Color de respaldo */
    border: 5px solid #FFF;
    border-radius: 16px;
}

#mapa-viajes .marker-content .imagen img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

/* Degradado oscuro sobre la imagen para proteger el texto blanco */
#mapa-viajes .marker-content .imagen::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom, 
        rgba(15, 23, 42, 0) 40%, 
        rgba(15, 23, 42, 0.65) 100%
    );
    z-index: 1;
    pointer-events: none;
}

/* Efeeto de zoom al pasar el cursor por la tarjeta */
#mapa-viajes .marker-content:hover .imagen img {
    transform: scale(1.04);
}

/* 2. Título del viaje (Posicionado de forma absoluta sobre la imagen) */
#mapa-viajes .marker-content h1 {
    position: absolute;
    top: 98px; /* Lo bajamos para que se asiente justo al fondo de la imagen (150px - altura del texto) */
    left: 0;
    width: 100%;
    margin: 0;
    padding: 0 16px;
    font-size: 1.15rem;
    font-weight: 700;
    color: #ffffff;
    z-index: 2;
    box-sizing: border-box;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: -0.02em;
    text-shadow: 0 1px 3px rgba(15, 23, 42, 0.3);
}

/* 3. Pie de página: Fechas (Del... al...) */
#mapa-viajes .marker-content .fecha {
    padding: 7px 12px;
    background-color: #ffffff;
    color: #64748b; /* Slate 500 para los conectores "Del" y "al" */
    font-size: 0.8rem;
    font-weight: 500;
    border-top: 1px solid #f1f5f9;
    box-sizing: border-box;
}

/* Estilo específico para las fechas que arroja el PHP */
#mapa-viajes .marker-content .fecha small {
    font-size: 0.8rem;
    font-weight: 600;
    color: #334155; /* Slate 700 un poco más oscuro para que resalten las fechas */
    letter-spacing: 0.01em;
}

/* Indicador visual viajero (Opcional: un pequeño punto azul antes del texto) */
#mapa-viajes .marker-content .fecha::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    background-color: #0284c7; /* Azul de tu app */
    border-radius: 50%;
    margin-right: 6px;
    vertical-align: middle;
}

/* ===================================================
   ESTILOS PARA EL BOTÓN DE CERRAR INFOWINDOW
   =================================================== */

/* 1. Contenedor nativo de la barra superior de Google */
#mapa-viajes .gm-style .gm-style-iw-chr {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 2. El botón de cerrar (Sobreescribimos los 48px en línea de Google) */
#mapa-viajes .gm-style .gm-style-iw-chr button.gm-ui-hover-effect {
    top: 0 !important;
    right: 0 !important;
    width: 32px !important;
    height: 28px !important;
    background-color: rgba(255, 255, 255, 0.25) !important; /* Fondo blanco translúcido */
    backdrop-filter: blur(4px); /* Difumina un poco la imagen de fondo */
    -webkit-backdrop-filter: blur(4px);
    border-radius: 50% !important; /* Lo hace completamente redondo */
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.15); /* Sombra suave */
    display: flex !important;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease-in-out !important;
}

/* 3. El icono interno (la 'X' reflejada con la máscara SVG) */
#mapa-viajes .gm-style .gm-style-iw-chr button.gm-ui-hover-effect span {
    background-color: #334155 !important; /* Color Slate 700 para la 'X' */
    width: 16px !important; /* Achicamos la cruz para que quede proporcionada */
    height: 16px !important;
    margin: 0 !important; /* Quitamos el margen de 12px molesto de Google */
    transition: background-color 0.2s ease-in-out !important;
}

/* 4. Microinteracción Hover (Efecto al pasar el cursor) */
#mapa-viajes .gm-style .gm-style-iw-chr button.gm-ui-hover-effect:hover {
    background-color: #ffffff !important; /* Fondo blanco sólido al hacer hover */
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.25);
}

#mapa-viajes .gm-style .gm-style-iw-chr button.gm-ui-hover-effect:hover span {
    background-color: #0f172a !important; /* La 'X' se vuelve casi negra */
}

/* ===================================================
   ESTILOS PARA EL CALENDARIO (CSS CONVERTIDO)
   =================================================== */
body.bodyCalendar {
  /*overflow-y: hidden !important;
  position: fixed !important;*/
  padding-top: 69px;
  padding-bottom: 120px;
}

/* ===================================================
   CABECERA DEL CALENDARIO (NAVEGACIÓN DE MESES)
   =================================================== */

/* Contenedor principal de la cabecera */
.header-meses-container{
    position: fixed;
    top: 83px;
    left: 50%;
    width: 100%;
    transform: translateX(-50%);
    z-index: 999;
}
.header-meses {
    display: flex;
    align-items: center;
    justify-content: center; /* Centra el bloque de navegación */
    gap: 16px; /* Espaciado entre las flechas y el texto */
    padding: 12px 24px;
    background-color: #fff; /* Efecto cristal translúcido */
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(226, 232, 240, 0.8); /* Borde Slate 200 */
    border-radius: 16px; /* Bordes redondeados modernos */
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
    max-width: fit-content; /* Se ajusta perfectamente al tamaño de su contenido */
    margin: 20px auto; /* Lo centra horizontalmente en su contenedor padre */
    font-family: 'Segoe UI', system-ui, sans-serif;
}

/* 1. Botones de Navegación (Flechas Izquierda / Derecha) */
.header-meses .actions__item {
    width: 36px;
    height: 36px;
    background-color: #ffffff; /* Botones blancos limpios */
    border: 1px solid #e2e8f0; /* Borde Slate 200 */
    border-radius: 50%; /* Completamente circulares */
    display: inline-flex !important; /* Forzamos flex para centrar el icono interno */
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
}

/* Iconos de las flechas (Material Design Iconic Font - zmdi) */
.header-meses .actions__item i {
    font-size: 1.1rem;
    color: #475569; /* Slate 600 */
    transition: transform 0.2s ease;
}

/* Microinteracciones Hover para los botones */
.header-meses .actions__item:hover {
    background-color: #f8fafc; /* Gris Slate 50 sutil */
    border-color: #cbd5e1; /* Slate 300 */
    box-shadow: 0 4px 8px rgba(15, 23, 42, 0.08);
}

/* Animación sutil de empuje en las flechas al pasar el cursor */
.header-meses .actions__calender-prev:hover i {
    transform: translateX(-2px);
}

.header-meses .actions__calender-next:hover i {
    transform: translateX(2px);
}

/* 2. Texto Central (Mes y Año) */
.header-meses h1 {
    font-size: 1.1rem !important; /* Ajuste moderno para la clase .h4 */
    font-weight: 700 !important;
    color: #0f172a !important; /* Slate 900 (Casi negro, muy elegante) */
    text-transform: capitalize; /* Convierte "junio" a "Junio" automáticamente */
    letter-spacing: -0.01em;
    user-select: none;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.15s ease;
    min-width: 200px;
}

/* Estilo interactivo para el h1 si tiene un menú desplegable (por tu clase .cursor) */
.header-meses h1.cursor:hover {
    color: #0284c7; /* Cambia al azul viajero al pasar el ratón */
}

.header-meses h1.cursor:hover::after {
    color: #0284c7;
}

/* ===================================================
   ESTILOS MODERNOS PARA FULLCALENDAR V3 (VISTA MENSUAL)
   =================================================== */
/*.calendar{
    height: 530px;
}

.fc-basic-view .fc-body .fc-row{
    min-height: 80px;
    max-height: 80px;
}

.fc-row .fc-bg {
  max-height: 80px;
  overflow: hidden;
}*/

/* Modifica el contenedor específico de los eventos de cada día */
.fc-day-grid-event {
  margin-top: 2px !important;
  margin-bottom: 2px !important;
  padding: 2px 5px !important;
}

.fc-toolbar.fc-header-toolbar{
    margin-bottom: 0;
    height: 0;
}

/* ===================================================
   RESET Y LIMPIEZA DE BORDES (FullCalendar v3)
   =================================================== */

/* Estructura general de la tarjeta contenedora */
.calendar.card.fc.fc-unthemed {
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important; /* Slate 200 */
    border-radius: 24px !important;
    font-family: 'Segoe UI', -apple-system, system-ui, sans-serif;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    width: 98%;
    margin-left: 1%;
    min-height: calc(100vh - 200px);
    padding-top: 90px;
    margin-top: 20px;
}

/* Forzar que las tablas del calendario ocupen el espacio limpio */
.calendar.fc-unthemed table {
    border-collapse: collapse !important;
    width: 100% !important;
}

/* Suavizado radical de todas las líneas de la cuadrícula interna */
.calendar.fc-unthemed th,
.calendar.fc-unthemed td,
.calendar.fc-unthemed .fc-row,
.calendar.fc-unthemed .fc-bg,
.calendar.fc-unthemed .fc-widget-header,
.calendar.fc-unthemed .fc-widget-content {
    border-color: #f1f5f9 !important; /* Slate 100 */
}

/* ===================================================
   1. CABECERA DE DÍAS (Lun, Mar, Mié...)
   =================================================== */
.calendar .fc-head .fc-day-header {
    background-color: #f8fafc !important; /* Slate 50 */
    padding: 14px 0 !important;
    color: #64748b !important; /* Slate 500 */
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    border-bottom: 2px solid #e2e8f0 !important; /* Separación más marcada */
    text-align: center;
}

/* Fin de semana sutilmente diferenciado (Opcional) */
.calendar .fc-head .fc-sat,
.calendar .fc-head .fc-sun {
    color: #94a3b8 !important; /* Slate 400 */
}

/* ===================================================
   2. CUADRÍCULA DE DÍAS (Números y Celdas)
   =================================================== */

/* Scroller principal donde viven las semanas */
.calendar .fc-day-grid-container {
    background-color: #ffffff;
}

/* Contenedor del esqueleto de los números del día */
.calendar .fc-day-top {
    position: relative;
}

/* El número del día en sí */
.calendar .fc-day-number {
    font-size: 0.9rem;
    font-weight: 600;
    color: #334155; /* Slate 700 */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    transition: all 0.15s ease;
}

/* Días que pertenecen a otros meses (Pasados o futuros en las esquinas) */
.calendar .fc-other-month {
    background-color: #fafafa !important; /* Fondo ligeramente apagado */
}

.calendar .fc-other-month .fc-day-number {
    color: #cbd5e1 !important; /* Slate 300 (Gris muy suave) */
    font-weight: 400;
}

/* ===================================================
   3. ESTADOS DINÁMICOS DE LAS CELDAS
   =================================================== */

/* Celdas con fechas futuras (Estética limpia de destino por visitar) */
.calendar .fc-future {
    transition: background-color 0.2s ease;
}

/* Efecto hover muy suave al pasar el ratón por encima de cualquier día */
.calendar .fc-row .fc-bg td:hover {
    background-color: #f1f5f9 !important; /* Slate 100 */
    cursor: pointer;
}

/* Estilo para el día actual (Hoy) */
/* Nota: Si tu script añade la clase fc-today, este bloque la estiliza premium */
.calendar .fc-today {
    background-color: rgba(2, 132, 199, 0.02) !important; /* Tinte azul ultra claro */
}

.calendar .fc-today-top .fc-day-number,
.calendar td.fc-today .fc-day-number {
    background-color: #0284c7 !important; /* Tu azul de viajes */
    color: #ffffff !important; /* Texto blanco */
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.3);
}

/* ===================================================
   4. CORRECCIÓN DE CAJAS (Evita bugs visuales de altura)
   =================================================== */
.calendar .fc-content-skeleton {
    padding-bottom: 4px !important;
}

.calendar .fc-content-skeleton table td {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
}

/* ===================================================
   TARJETA DE VIAJE (CARD) - ESTILO MODERNO PREMIUM
   =================================================== */
body.bodyIndex{
    padding-top: 75px;
}
#lista-pendientes{
    padding-bottom: 50px;
}
#lista-anteriores{
    margin-bottom: 130px;
    padding-bottom: 50px;
}

/* 1. Contenedor Base */
.card-viaje {
    background: #ffffff;
    border: 1px solid #e2e8f0; /* Slate 200 */
    border-radius: 24px; /* Bordes suaves */
    overflow: hidden;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    font-family: 'Segoe UI', system-ui, sans-serif;
    position: relative;
    cursor: pointer;
}

/* El cuerpo de la tarjeta que trae el background-image desde PHP */
.card-viaje .card-body {
    padding: 0 !important;
    position: relative;
    background-size: cover;
    background-position: center;
    min-height: 420px;
    display: flex;
    flex-direction: column;
}

/* 2. Cabecera / Título del Viaje */
.card-viaje .font-title {
    margin: 0;
    font-size: 1.75rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    padding: 24px 24px 48px 24px !important; /* Más colchón arriba */
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    background: linear-gradient(to bottom, rgba(15, 23, 42, 0.8) 0%, rgba(15, 23, 42, 0) 100%);
}

/* 3. El panel de información (El bloque blanco inferior) */
.card-viaje .p-4 {
    border-radius: 24px;
    margin-top: auto; /* Empuja el bloque blanco al fondo de la imagen */
    padding: 16px !important;
    z-index: 2;
    margin-left: 5px;
    margin-bottom: 5px;
    margin-right: 5px;
    background-color: rgba(255,255,255,.75);
    box-shadow: 0 -10px 20px rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(12px);
}

/* 4. Línea de tiempo de los Itinerarios (Origen -> Destino) */
.card-info {
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: relative;
    margin-bottom: 0;
}

/* Línea vertical decorativa que une la salida con la llegada */
.card-info::before {
    content: '';
    position: absolute;
    left: 21px;
    top: 24px;
    bottom: 24px;
    width: 2px;
    border-left: 2px dashed #cbd5e1; /* Slate 300 en formato guiones */
    z-index: 1;
}

.card-viaje .divHora {
    display: flex;
    align-items: center;
    position: relative;
    z-index: 2;
}

/* Iconos de vehículo (Avión / Coche) */
.card-viaje .divHora i {
    background: #f1f5f9; /* Círculo contenedor gris claro */
    color: #475569; /* Slate 600 */
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 1.1rem !important; /* Ajuste para el fa-2x */
    margin: 0 16px 0 0 !important; /* Limpieza de tus márgenes viejos */
    border: 2px solid #ffffff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

/* Textos del destino y las horas */
.card-viaje .divHora h5 {
    font-size: 0.95rem;
    color: #0f172a; /* Slate 900 */
    line-height: 1.2;
    margin: 0;
}

.card-viaje .divHora h5 strong {
    font-weight: 700;
}

.card-viaje .divHora h5 span {
    font-size: 0.8rem;
    font-weight: 500;
    display: inline-block;
}

.card-viaje .divHora h5 span {
    font-size: 90%;
    font-weight: 300;
}

/* 5. Módulo de Pagos / Progreso */
.card-viaje .pagos {
    margin-top: 14px;
    background: #f8fafc;
    padding: 10px 14px;
    border-radius: 12px;
    gap: 12px;
}

/* Iconos de las barras de progreso */
.card-viaje .progress-icon {
    position: static !important; /* Anulamos tu position-absolute vieja */
    display: flex;
    align-items: center;
    color: #64748b;
    font-size: 0.95rem;
    width: 32px;
}
.card-viaje .progress-icon i:nth-child(2) {
    font-size: 0.7rem;
    margin-left: -4px;
    margin-top: -6px;
}

/* La barra gris de fondo */
.card-viaje .progress {
    flex-grow: 1;
    height: 18px !important;
    background-color: #e2e8f0 !important;
    border-radius: 9999px;
    overflow: hidden;
}

/* El relleno verde de progreso */
.card-viaje .progress-bar.bg-success {
    background-color: #10b981 !important; /* Verde esmeralda moderno */
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 18px;
    color: #ffffff;
    text-align: center;
    border-radius: 9999px;
}

/* 6. Botones de Acción Flotantes (Editar y Fotos) */
.card-viaje .card-fotos {
    position: absolute;
    top: 20px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    cursor: pointer;
    text-decoration: none;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: all 0.2s ease;
}

/* Botón Fotos (Cámara) - Se acomoda al lado si existe */
.card-viaje .card-fotos {
    left: 20px;
    color: #ffffff;
    background: rgba(2, 132, 199, 0.3);
    border: 1px solid rgba(2, 132, 199, 0.4);
}
.card-viaje .card-fotos:hover {
    background: #0284c7;
    color: #ffffff;
    transform: scale(1.05);
}

/* ===================================================
   MODAL DE NUEVO VIAJE - ESTILO LIMPIO Y PREMIUM
   =================================================== */

/* 1. Estructura de la tarjeta del modal */
#modal-new-event{
    max-width: 600px;
}
#modal-new-event .modal-dialog {
    max-width: unset;
    width: 100%;
}
#modal-new-event .modal-content {
    background-color: #f2f2f2;
    border: none;
    border-radius: 0; /* Esquinas redondeadas muy suaves */
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.25);
    font-family: 'Segoe UI', -apple-system, system-ui, sans-serif;
    padding-top: 80px;
    padding-bottom: 80px;
    min-height: 100vh;
}

/* 2. Cabecera del modal (Limpieza del estilo rígido) */
#modal-new-event .modal-header.bg-light {
    border-bottom: 1px solid #f1f5f9; /* Línea de separación sutil */
    padding: 24px 24px 16px 24px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 600px;
    z-index: 1;
}

#modal-new-event .modal-header .font-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #0f172a; /* Slate 900 */
    letter-spacing: -0.02em;
}

/* 3. Estilizado de los campos de texto e Inputs (Form-groups) */
#modal-new-event .form-group {
    margin-bottom: 1.25rem;
}

#modal-new-event .form-group label {
    display: block;
    font-size: 0.85rem;
    font-weight: 500 !important;
    color: #475569; /* Slate 600 */
    margin-bottom: 6px;
}

/* Input y Select unificados */
#modal-new-event .form-control {
    width: 100%;
    height: 46px; /* Altura generosa y táctil */
    padding: 10px 16px;
    font-size: 13px;
    color: #0f172a;
    background-color: #f8fafc; /* Fondo grisáceo muy claro */
    border: 1px solid #e2e8f0; /* Borde suave */
    border-radius: 6px;
    box-sizing: border-box;
    transition: all 0.2s ease-in-out;
    appearance: none; /* Limpieza de flechas nativas en los select */
}

/* Enfoque activo (Focus) de los campos */
#modal-new-event .form-control:focus {
    outline: none;
    background-color: #ffffff;
    border-color: #0284c7; /* Tu azul viajero */
    box-shadow: 0 0 0 4px rgba(2, 132, 199, 0.15);
}

/* Ocultar barras decorativas antiguas de la plantilla */
#modal-new-event .form-group__bar {
    display: none;
}

/* Estilo para el contenedor select para ponerle una flecha moderna */
.modal .select {
    position: relative;
}

.modal .select::after {
    /* Reemplaza el contenido por el Unicode del chevron-down */
    content: "\f078"; 
    
    /* Define la tipografía de Font Awesome (dependiendo de tu versión) */
    font-family: "Font Awesome 6 Pro"; 
    
    /* ¡Importante! Font Awesome requiere un peso de 900 para los iconos Solid */
    font-weight: 900; 
    
    /* Opcional: Ajustes por si notas que no se alinea bien */
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-size: 0.8rem;
    color: #64748b;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}

/* 4. Selector de Archivo (Input File de imagen) */
#modal-new-event .file-input {
    width: 100%;
    padding: 10px;
    background: #f1f5f9;
    border: 2px dashed #cbd5e1;
    border-radius: 12px;
    color: #475569;
    font-size: 0.85rem;
    cursor: pointer;
}

/* 5. Botón Añadir Acompañante (Personajes) */
#modal-new-event .btn-nuevo-personaje {
    background-color: #f0fdf4 !important; /* Fondo verde pastel sutil */
    border: 1px dashed #22c55e !important;
    width: 100%;
    height: 54px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

#modal-new-event .btn-nuevo-personaje:hover {
    background-color: #dcfce7 !important;
}

#modal-new-event .btn-nuevo-personaje i {
    font-size: 1.25rem !important; /* Ajuste para el fa-2x */
    color: #16a34a !important; /* Cambiamos el text-info original por verde éxito */
}

/* 6. Bloque de botones de acción del pie */
.modalBotones {
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid #f1f5f9;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: 600px;
    background-color: #fff;
}

/* Botón Cerrar */
.modalBotones .btn-light {
    background-color: #f1f5f9;
    border: none;
    color: #ef4444 !important; /* Forzamos tu color text-danger */
    font-size: 0.95rem;
    font-weight: 600;
    padding: 12px 24px;
    border-radius: 12px;
    transition: background-color 0.15s ease;
}

.modalBotones .btn-light:hover {
    background-color: #fee2e2; /* Fondo rojo claro al hacer hover */
}

/* Botón Guardar */
.modalBotones .btn-success {
    border: none;
    color: #ffffff;
    font-size: 0.95rem;
    font-weight: 600;
    padding: 12px 24px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.2);
    transition: all 0.2s ease;
}

.modalBotones .btn-success:hover {
    box-shadow: 0 6px 16px rgba(2, 132, 199, 0.3);
}

/* ===================================================
   MODAL DE EDITAR VIAJE - ESTILO BANNER PREMIUM
   =================================================== */

/* 1. Contenedor e interfaz base */
#modal-edit-event{
    max-width: 600px;
}
#modal-edit-event .modal-dialog {
    max-width: unset;
    width: 100%;
}
#modal-edit-event .modal-content {
    background-color: #f2f2f2;
    border: none;
    border-radius: 0;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.25);
    font-family: 'Segoe UI', -apple-system, system-ui, sans-serif;
    padding-top: 150px;
    padding-bottom: 80px;
    min-height: 100vh;
}

/* 2. Cabecera estilo "Banner de Destino" */
#modal-edit-event .modal-header.tripImgRefresh {
    min-height: 150px; /* Espacio para que luzca la foto del viaje */
    background-size: cover;
    background-position: center;
    background-color: #0284c7; /* Color de respaldo si no hay foto */
    padding: 24px !important;
    display: flex;
    flex-direction: column;
    justify-content: flex-end; /* Empuja el título abajo del banner */
    align-items: flex-start;
    border: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 600px;
    z-index: 1;
    border-radius: 0 !important;
}

/* Capa oscura interna (Overlay) para proteger el texto blanco */
#modal-edit-event .modal-header .overlay.dark.opacity-2 {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(15, 23, 42, 0.3) 0%, rgba(15, 23, 42, 0.7) 100%);
    z-index: 1;
}

/* Nombre del viaje dentro de la foto */
#modal-edit-event .modal-header .font-title {
    position: relative;
    z-index: 2;
    font-size: 1.6rem;
    font-weight: 800;
    color: #ffffff !important;
    margin: 0;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
    letter-spacing: -0.02em;
    margin-bottom: 0 !important;
}

/* 3. Botones flotantes sobre la foto (Imagen y Borrar) */
#modal-edit-event .modal-header .div-close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 3;
    display: flex;
    gap: 8px;
}

/* Estilo unificado para los botones pequeños del banner */
#modal-edit-event .modal-header .div-close .btn {
    border: none;
    border-radius: 20px; /* Estilo píldora */
    padding: 6px 14px;
    font-size: 0.8rem;
    font-weight: 600;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: all 0.2s ease;
}

/* Botón Cambiar Imagen (Lápiz/Cámara) */
#modal-edit-event .modal-header .div-close .btn-success {
    background-color: rgba(255, 255, 255, 0.9) !important;
    color: #0f172a !important;
}
#modal-edit-event .modal-header .div-close .btn-success:hover {
    background-color: #ffffff !important;
    transform: scale(1.03);
}

/* Botón Borrar Viaje (Papelera) */
#modal-edit-event .modal-header .div-close .btn-danger.btn-delete-event {
    background-color: rgba(239, 68, 68, 0.9) !important; /* Rojo suave translúcido */
    color: #ffffff !important;
}
#modal-edit-event .modal-header .div-close .btn-delete-event:hover {
    background-color: #dc2626 !important;
    transform: scale(1.03);
}

/* 4. Cuerpo del Formulario e Inputs */
#modal-edit-event .form-group {
    margin-bottom: 1.25rem;
}

#modal-edit-event .form-group label {
    display: block;
    font-size: 0.85rem;
    font-weight: 500 !important;
    color: #475569;
    margin-bottom: 6px;
}

#modal-edit-event .form-control {
    width: 100%;
    height: 46px;
    padding: 10px 16px;
    font-size: 13px;
    color: #0f172a;
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    box-sizing: border-box;
    transition: all 0.2s ease-in-out;
    appearance: none; /* Limpieza de flechas nativas en los select */
}

#modal-edit-event .form-control:focus {
    outline: none;
    background-color: #ffffff;
    border-color: #0284c7;
    box-shadow: 0 0 0 4px rgba(2, 132, 199, 0.15);
}

/* Ocultar barra decorativa antigua */
#modal-edit-event .form-group__bar {
    display: none;
}

/* 5. Botón Añadir Acompañante (Sección Editar) */
#modal-edit-event .btn-outline-light {
    background-color: #f0fdf4 !important;
    border: 1px dashed #22c55e !important;
    width: 100%;
    height: 54px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}
#modal-edit-event .btn-outline-light:hover {
    background-color: #dcfce7 !important;
}
#modal-edit-event .btn-outline-light i {
    font-size: 1.25rem !important;
    color: #16a34a !important;
}

/* ===================================================
   COMPONENTE: AÑADIR PERSONAS AL VIAJE (ITEM CLONABLE)
   =================================================== */

/* Contenedor de la lista de personas (Padre en los modales) */
.personajes, #personajes, #personajes-editar {
    display: flex;
    flex-direction: column;
    gap: 10px; /* Separación limpia entre filas de personas */
    margin-top: 10px;
}
.bloque-content{
    background: #ffffff;
    border-radius: 20px;
    padding: 0.5rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
    border: 1px solid #edf2f7;
}
.bloque-content h5{
    font-family: "Playwrite GB J", 'Arial', cursive;
    padding-left: 15px;
    padding-top: 5px;
}

/* La fila interna una vez clonada e inyectada (Anulamos d-none al clonar) */
.personajes .inner {
    background-color: #f8fafc; /* Fondo Slate 50 sutil */
    border: 1px solid #e2e8f0; /* Borde Slate 200 */
    border-radius: 14px;
    padding: 10px 16px;
    gap: 6px;
    transition: all 0.2s ease;
}

.personajes .inner:hover {
    border-color: #cbd5e1;
    background-color: #f1f5f9;
}

/* 1. Bloque del Acompañante (Flex para alinear Nombre + Iconos) */
.personajes .personaje {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-grow: 1; /* Ocupa todo el espacio restante */
    gap: 12px;
}

/* 2. Input del Nombre */
.personajes .nombre {
    flex-grow: 1;
}

.personajes .nombre input[type="text"] {
    width: 100%;
    background: transparent; /* Se integra con el fondo de la fila */
    border: none;
    border-bottom: 2px solid #cbd5e1; /* Solo una línea inferior minimalista */
    padding: 6px 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: #0f172a;
    outline: none;
    transition: border-color 0.2s ease;
}
.personajes .nombre input[type="text"][readonly] {
    border-bottom: none;
}

/* Al escribir en el input, la línea inferior cambia al color de la app */
.personajes .nombre input[type="text"]:focus {
    border-bottom-color: #0284c7; 
}

/* Placeholder o texto vacío */
.personajes .nombre input[type="text"]::placeholder {
    color: #94a3b8;
    font-weight: 400;
}

/* 3. Zona de Iconos / Indicadores (Avión e Hotel) */
.personajes .iconos {
    display: flex;
    gap: 8px;
}

/* Estilo base para los toggles circulares */
.personajes .avion, 
.personajes .hotel {
    width: 36px;
    height: 36px;
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
}

.personajes .avion i, 
.personajes .hotel i {
    font-size: 0.95rem;
    color: #64748b; /* Color apagado por defecto (No seleccionado) */
    transition: color 0.2s ease;
}

/* ===================================================
   ESTADOS ACTIVOS (Para cuando con JS cambies el valor a 1)
   Te sugiero que con tu script de JS añadas una clase ".activo" al contenedor
   =================================================== */

/* Vuelo activo (Azul Viajero) */
.personajes .avion.activo {
    background-color: #e0f2fe;
    border-color: #0284c7;
}
.personajes .avion.activo i {
    color: #0284c7;
}

/* Hotel activo (Verde Esmeralda o Éxito) */
.personajes .hotel.activo {
    background-color: #dcfce7;
    border-color: #22c55e;
}
.personajes .hotel.activo i {
    color: #22c55e;
}

/* 4. Botón Eliminar (Papelera) */
.personajes .fa-trash-can {
    cursor: pointer;
    padding: 8px;
    border-radius: 8px;
    color: #94a3b8 !important; /* Gris neutro por defecto para no saturar de rojo */
    transition: all 0.2s ease;
}

/* Se vuelve roja e iluminada solo cuando el usuario pasa el ratón por encima */
.personajes .fa-trash-can:hover {
    color: #ef4444 !important; /* Rojo vibrante */
    background-color: #fee2e2; /* Fondo rojo pastel */
}

/* 4. Botón Imagen (cámara) */
.personajes .fa-pencil {
    cursor: pointer;
    padding: 8px;
    border-radius: 8px;
    color: #28a745 !important; /* Gris neutro por defecto para no saturar de rojo */
    background-color: #cff5d9; /* Fondo rojo pastel */
    transition: all 0.2s ease;
}

/* Se vuelve verde e iluminada solo cuando el usuario pasa el ratón por encima */
.personajes .fa-pencil:hover {
    color: #4E9F74 !important; /* Rojo vibrante */
}

/* Contenedor principal del grupo */
.file-caption .input-group {
  display: flex;
  width: 100%;
  align-items: stretch; /* Obliga a que el input y los botones tengan la misma altura */
}

/* El campo de texto que muestra el archivo */
.file-caption-name.form-control {
  flex: 1; /* Ocupa todo el espacio disponible a la izquierda */
  min-width: 0;
  border-top-right-radius: 0 !important; /* Quita el redondeado derecho para unirse al botón */
  border-bottom-right-radius: 0 !important;
  border-right: none !important; /* Elimina la línea divisoria (u opcionalmente déjala si prefieres separación) */
  padding-left: 30px !important;
}
.file-caption-icon{
    top: 6px;
}

/* Contenedor de los botones (lado derecho) */
.input-group-btn.input-group-append {
  display: flex;
  align-items: stretch;
}
.input-group-btn .btn-primary:hover{
    transform: none !important;
    cursor: pointer;
}

/* Estilos para unificar los botones dentro del grupo */
.input-group-btn .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0.375rem 1rem;
  font-size: 14px;
  cursor: pointer;
  border-radius: 0; /* Resetea bordes internos */
}

/* El botón de Examinar (el último de la fila) */
.btn-file {
  position: relative;
  overflow: hidden;
  background-color: #0d6efd;
  color: #fff;
  border: 1px solid #0d6efd;
  /* Aplica el redondeado solo a las esquinas exteriores derechas */
  border-top-right-radius: 4px !important;
  border-bottom-right-radius: 4px !important;
}

.btn-file:hover {
  background-color: #0b5ed7;
  border-color: #0b5ed7;
}

/* El input file invisible por encima del botón */
.btn-file .file-input {
  position: absolute;
  top: 0;
  right: 0;
  min-width: 100%;
  min-height: 100%;
  font-size: 100px;
  text-align: right;
  opacity: 0;
  outline: none;
  cursor: inherit;
  display: block;
}

/* Si el botón "Cancelar" llega a aparecer, se formatea correctamente en la línea */
.fileinput-cancel-button {
  background-color: #fff;
  color: #dc3545;
  border: 1px solid #ced4da;
  border-right: none;
}

.fileinput-cancel-button:hover {
  background-color: #f8d7da;
}

/* Ocultar elementos con esta clase */
.kv-hidden {
  display: none !important;
}

.subtripImagePreview{
    height: 30px;
    width: 30px;
    min-width: 30px;
    border-radius: 4px;
    background-position: center;
    background-size: cover;
}

/* ==========================================================================
   ESTILOS MODERNOS PARA FULLCALENDAR (card-abrir)
   ========================================================================== */

/* 1. Estilo base del evento (la tarjeta) */
.fc-event.card-abrir {
background: #eff6ff !important; /* Azul pastel ultra claro */
    color: #1e40af !important;    /* Texto azul marino (legible y elegante) */
    border: none !important;
    border-left: 4px solid #3b82f6 !important; /* Barra azul vibrante */
    padding: 6px 10px !important;
    margin: 4px 6px !important;
    border-radius: 6px !important;
    box-shadow: 0 2px 4px rgba(59, 130, 246, 0.06); /* Sombra con un toque azul */
    transition: all 0.25s ease-in-out;
    text-decoration: none !important;
}

/* 2. Efecto Hover (Al pasar el ratón por encima) */
.fc-event.card-abrir:hover {
    background: #dbeafe !important; /* Sutil cambio de fondo */
    box-shadow: 0 10px 15px -3px rgba(59, 130, 246, 0.15);
}

/* 3. Contenedor interno */
.fc-event.card-abrir .fc-content {
    display: flex;
    align-items: center;
    overflow: hidden;
}

/* 4. Estilo para el título y texto */
.fc-event.card-abrir .fc-title {
    font-family: 'Inter', 'Segoe UI', Roboto, sans-serif; /* Tipografía moderna */
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    display: flex;
    align-items: center;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; /* Si el texto es largo, añade "..." elegante */
}

/* 5. El icono de FontAwesome (en tu caso, el avión) */
.fc-event.card-abrir .fc-title i {
    font-size: 1rem;
    color: #3b82f6;
    margin-right: 8px; /* Espacio con el texto */
    transition: color 0.25s ease;
}

/* Cambio de color del icono en hover */
.fc-event.card-abrir:hover .fc-title i {
    color: #4f46e5; 
}

/* 6. Corrección para pantallas pequeñas / vista de mes */
.fc-day-grid-event {
    line-height: 1.4 !important;
}

/* ==========================================================================
   ESTILOS MODERNOS Y MINIMALISTAS PARA SWEETALERT 2
   ========================================================================== */

/* 1. El contenedor principal (Modal) */
.swal2-popup.swal2-modal {
    font-family: 'Inter', 'Segoe UI', Roboto, sans-serif !important;
    border-radius: 16px !important; /* Esquinas más suaves y modernas */
    padding: 2rem 1.5rem !important;
    background: #ffffff !important;
    
    /* Sombra difuminada de alta gama */
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 
                0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
}

/* 2. Rediseño del Icono (en tu caso, el de pregunta '?') */
.swal2-icon.swal2-question {
    border-color: #e2e8f0 !important; /* Gris suave en lugar de negro/blanco puro */
    color: #4f46e5 !important;        /* Cambiamos el signo '?' a un color de acento (índigo) */
    transform: scale(0.85);            /* Reducimos ligeramente el tamaño para que sea elegante */
    margin-bottom: 1.5rem !important;
}

/* Animación sutil para el icono al aparecer */
.swal2-icon {
    animation: swalScaleIn 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes swalScaleIn {
    0% { transform: scale(0.6); opacity: 0; }
    100% { transform: scale(0.85); opacity: 1; }
}

/* 3. El Título ("¿Estás seguro?") */
.swal2-title {
    color: #0f172a !important;        /* Slate oscuro muy premium */
    font-size: 1.4rem !important;
    font-weight: 600 !important;
    letter-spacing: -0.025em;
    margin-bottom: 0.5rem !important;
    font-family: "Playwrite GB J", 'Arial', cursive;
}

/* 4. El Contenido / Texto descriptivo */
.swal2-html-container {
    color: #888 !important;        /* Gris medio para mejor lectura */
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    margin: 0.5rem 0 2rem 0 !important;
    font-weight: 300;
    text-align: center;
}

/* Destacar el texto interno fuerte (el nombre del viaje 'ads') */
.swal2-html-container strong {
    color: #0f172a !important;
    background: #f1f5f9;              /* Sutil fondo de código/etiqueta */
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 600;
}

/* 5. Contenedor de Botones de Acción */
.swal2-actions {
    margin-top: 1rem !important;
    gap: 12px; /* Espaciado moderno entre botones */
}

/* Estilo base unificado para ambos botones */
.swal2-actions button {
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    padding: 10px 22px !important;
    border-radius: 8px !important;    /* Botones redondeados modernos */
    transition: all 0.2s ease-in-out !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Botón Confirmar (Borrar) */
.swal2-confirm.btn-danger {
    background-color: #ef4444 !important; /* Rojo vibrante moderno (Tailwind) */
    color: #ffffff !important;
}

.swal2-confirm.btn-danger:hover {
    background-color: #dc2626 !important; /* Más oscuro al pasar el ratón */
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.2) !important; /* Sombra de luz roja */
}

/* Botón Cancelar (Volver atrás) */
.swal2-cancel.btn-light {
    background-color: #f1f5f9 !important; /* Fondo gris claro */
    color: #475569 !important;            /* Texto gris oscuro */
}

.swal2-cancel.btn-light:hover {
    background-color: #e2e8f0 !important;
    color: #1e293b !important;
    transform: translateY(-1px);
}

/* Evitar el molesto recuadro azul de enfoque al hacer click */
.swal2-popup button:focus {
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15) !important;
}

.swal2-input{
    text-align: center;
}

/* ==========================================================================
   ESTILOS MODERNOS PARA NOTIFY (alert-success)
   ========================================================================== */

/* 1. El contenedor principal de la notificación */
div[data-notify="container"].alert--notify{
    z-index: 1051 !important;
    background-color: #ffffff !important; /* Fondo blanco limpio */
    border: none !important;
    border-radius: 12px !important; /* Esquinas suavizadas */
    padding: 16px 40px 16px 16px !important; /* Espacio interno optimizado */
    min-width: 320px;
    max-width: 420px;
    
    /* Sombra flotante de alta calidad */
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 
                0 8px 10px -6px rgba(0, 0, 0, 0.05) !important;
                
    /* Flexbox para alinear Icono + Textos en una sola fila */
    display: flex !important;
    align-items: center !important;
    gap: 14px; /* Espacio idéntico entre el icono y el texto */
    font-family: 'Inter', 'Segoe UI', Roboto, sans-serif !important;
    overflow: hidden;
}
div[data-notify="container"].alert--notify.alert-success {
    border-left: 4px solid #10b981 !important; /* Barra lateral verde esmeralda vibrante */
}

/* 2. Rediseño del Icono (en tu caso, zmdi-camera) */
div[data-notify="container"].alert--notify [data-notify="icon"] {
    font-size: 1.25rem !important; /* Tamaño estilizado y no gigante */
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%; /* Icono circular moderno */
    flex-shrink: 0; /* Evita que el círculo se deforme si el texto es largo */
    margin: 0 !important;
}
div[data-notify="container"].alert--notify.alert-success [data-notify="icon"] {
    color: #10b981 !important; /* El icono toma el verde esmeralda */
    background-color: #f0fdf4 !important; /* Fondo circular verde pastel muy suave */
}

/* 3. Bloque de textos (Contenedor intermedio) */
div[data-notify="container"].alert--notify div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

/* Eliminamos el salto de línea innecesario que rompe el diseño */
div[data-notify="container"].alert--notify br {
    display: none !important;
}

/* 4. El Título ("success") */
div[data-notify="container"].alert--notify [data-notify="title"] {
    color: #0f172a !important; /* Slate oscuro muy premium */
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    text-transform: capitalize; /* Convierte "success" en "Success" */
    margin: 0 !important;
    line-height: 1.2 !important;
}

/* 5. El Mensaje ("Se ha actualizado la imagen") */
div[data-notify="container"].alert--notify [data-notify="message"] {
    color: #64748b !important; /* Gris intermedio sofisticado */
    font-size: 0.85rem !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
}

/* 6. Botón de cerrar (La X de la esquina) */
div[data-notify="container"].alert--notify .alert--notify__close {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    background: transparent !important;
    border: none !important;
    color: #94a3b8 !important; /* Gris claro por defecto */
    cursor: pointer;
    padding: 4px !important;
    transition: color 0.2s ease, transform 0.2s ease;
    line-height: 1 !important;
}

div[data-notify="container"].alert--notify .alert--notify__close:hover {
    color: #475569 !important; /* Se oscurece al pasar el ratón */
    transform: scale(1.1);
}

div[data-notify="container"].alert--notify .alert--notify__close .zmdi-close {
    font-size: 14px !important;
}

/* 7. Barra de progreso (La línea de tiempo de abajo) */
div[data-notify="container"].alert--notify .progress[data-notify="progressbar"] {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 3px !important; /* Línea ultra delgada y estética */
    background-color: #f1f5f9 !important; /* Fondo de la barra gris sutil */
    margin: 0 !important;
    border-radius: 0 0 12px 12px;
}

/* El indicador de carga real */
div[data-notify="container"].alert--notify .progress-bar-success {
    background-color: #8df6d3 !important; /* Color esmeralda en movimiento */
    height: 100% !important;
}

/* Variante para alertas de error/danger */
div[data-notify="container"].alert--notify.alert-danger {
    border-left: 4px solid #ef4444 !important; /* Rojo moderno */
}
div[data-notify="container"].alert--notify.alert-danger [data-notify="icon"] {
    color: #ef4444 !important;
    background-color: #fef2f2 !important; /* Fondo rojo pastel */
}
div[data-notify="container"].alert--notify.alert-danger .progress-bar-danger {
    background-color: #8df6d3 !important; /* Color esmeralda en movimiento */
    height: 100% !important;
}

/* ==========================================
   VARIABLES DE DISEÑO (Personaliza aquí)
   ========================================== */
:root {
    --fp-bg: rgba(23, 23, 27, 0.85);          /* Fondo con transparencia */
    --fp-blur: 16px;                          /* Efecto desenfoque cristal */
    --fp-border: rgba(255, 255, 255, 0.08);   /* Borde sutil */
    --fp-text-main: #f3f4f6;                  /* Texto principal */
    --fp-text-muted: #9ca3af;                 /* Texto secundario (días, meses) */
    --fp-accent: #6366f1;                     /* Color de énfasis (Indigo moderno) */
    --fp-accent-hover: #4f46e5;               /* Hover del color de énfasis */
    --fp-day-hover: rgba(255, 255, 255, 0.06);/* Hover de los días ordinarios */
    --fp-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.3), 0 10px 10px -5px rgba(0, 0, 0, 0.2);
    --fp-radius: 16px;                        /* Esquinas redondeadas generales */
}

/* ==========================================
   ESTILOS DEL CONTENEDOR PRINCIPAL
   ========================================== */
.flatpickr-calendar {
    background: var(--fp-bg) !important;
    backdrop-filter: blur(var(--fp-blur));
    -webkit-backdrop-filter: blur(var(--fp-blur));
    border: 1px solid var(--fp-border) !important;
    border-radius: var(--fp-radius) !important;
    box-shadow: var(--fp-shadow) !important;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    padding: 0;
    width: 315px !important; /* Espaciado interno mejorado */
}

/* Quitar la flecha superior clásica para un look más flotante y limpio */
.flatpickr-calendar.arrowTop::before,
.flatpickr-calendar.arrowTop::after {
    display: none !important;
}

/* ==========================================
   CABECERA (Mes y Año)
   ========================================== */
.flatpickr-months {
    padding: 6px 0;
}

.flatpickr-months .flatpickr-month {
    color: var(--fp-text-main) !important;
}

.flatpickr-current-month {
    font-size: 1.05rem !important;
    font-weight: 500;
}

.flatpickr-current-month .cur-month {
    font-weight: 600 !important;
    color: var(--fp-text-main);
}

/* Inputs de año */
.flatpickr-current-month input.cur-year {
    color: var(--fp-text-muted) !important;
    font-weight: 400;
}

/* Flechas de navegación (Zimbi icons en tu HTML) */
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
    color: var(--fp-text-muted) !important;
    padding: 10px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.2s ease;
    top: 10px;
}

.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
    color: var(--fp-text-main) !important;
    background: var(--fp-day-hover);
}

/* ==========================================
   DÍAS DE LA SEMANA
   ========================================== */
span.flatpickr-weekday {
    color: var(--fp-text-muted) !important;
    font-weight: 600 !important;
    font-size: 0.8rem !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ==========================================
   CUADRÍCULA DE DÍAS
   ========================================== */
.flatpickr-days {
    border: none !important;
}

.flatpickr-day {
    color: var(--fp-text-main) !important;
    border-radius: 10px !important; /* Días semi-cuadrados modernos */
    margin: 2px 0 !important;
    transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1) !important;
    border: 1px solid transparent !important;
}

/* Hover de los días */
.flatpickr-day:hover,
.flatpickr-day:focus {
    background: var(--fp-day-hover) !important;
    border-color: rgba(255, 255, 255, 0.05) !important;
}

/* Día actual (Today) */
.flatpickr-day.today {
    border-color: var(--fp-accent) !important;
    color: var(--fp-accent) !important;
    background: transparent !important;
    font-weight: 700;
}
.flatpickr-day.today:hover {
    background: var(--fp-day-hover) !important;
}

/* Día seleccionado */
.flatpickr-day.selected,
.flatpickr-day.selected:hover {
    background: var(--fp-accent) !important;
    border-color: var(--fp-accent) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.35);
    font-weight: 600;
}

/* Días del mes anterior/siguiente */
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
    color: rgba(255, 255, 255, 0.2) !important;
}

/* ==========================================
   SELECCIÓN DE HORA (Time Input)
   ========================================== */
.flatpickr-time {
    border-top: 1px solid var(--fp-border) !important;
    margin-top: 8px;
    height: inherit !important;
    line-height: inherit !important;
    overflow: visible;
    padding: 8px;
    align-items: center;
}

.flatpickr-time input {
    color: var(--fp-text-main) !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    border-radius: 8px;
    transition: background 0.2s ease;
}

.flatpickr-time input:hover,
.flatpickr-time input:focus {
    background: var(--fp-day-hover) !important;
}

.flatpickr-time .flatpickr-time-separator {
    color: var(--fp-text-muted) !important;
    font-weight: 600;
}

/* Ocultar las flechas nativas feas de incremento numérico de flatpickr */
.flatpickr-time .arrowUp,
.flatpickr-time .arrowDown,
.flatpickr-current-month .arrowUp,
.flatpickr-current-month .arrowDown {
    display: none !important;
}

input[type="datetime-local"] {
  padding: 14px 16px !important;
}

/* ==========================================================================
   SWIPER SCROLLBAR - ESTILOS MODERNOS (MOBILE-FIRST)
   ========================================================================== */
.swiper-slide{
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden; /* Para Safari en iOS */
    transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    will-change: transform;
}

/* 1. Contenedor de la barra (El fondo) */
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: relative;
  bottom: 0;               /* Ajusta la distancia respecto al slider */
  left: 5%;
  width: 90%;              /* No ocupa el 100% para un look más refinado */
  height: 12px;             /* Súper delgada en móviles por defecto */
  background-color: rgba(0, 0, 0, 0.08); /* Fondo sutil */
  border-radius: 10px;
  margin-top: 25px;        /* Espacio entre las tarjetas y la barra */
  overflow: hidden;
  transition: all 0.3s ease;
}

/* 2. El indicador (La barra que se mueve) */
.swiper-scrollbar-drag {
  background: linear-gradient(90deg, #4f46e5, #06b6d4); /* Degradado moderno (Indigo a Cyan) */
  border-radius: 10px;
  height: 100%;
  cursor: grab;
  transition: background 0.3s ease;
}

/* Estado cuando el usuario está arrastrando la barra */
.swiper-scrollbar-drag:active {
  cursor: grabbing;
  background: linear-gradient(90deg, #4338ca, #0891b2); /* Oscurece un poco al arrastrar */
}

/* ==========================================================================
   BREAKPOINTS (ESCRITORIO / PANTALLAS GRANDES)
   ========================================================================== */

@media (min-width: 1024px) {
  /* En escritorio podemos hacerla un pelín más visible y con efectos hover */
  .swiper-scrollbar.swiper-scrollbar-horizontal {
    height: 6px;           /* Un poquito más gruesa en pantallas grandes */
    width: 60%;            /* Más centrada y corta, estilo "píldora" */
    left: 20%;
    background-color: rgba(0, 0, 0, 0.05);
  }

  /* Efecto interactivo: se vuelve más visible si pasas el ratón por el slider */
  .swiper:hover .swiper-scrollbar.swiper-scrollbar-horizontal {
    background-color: rgba(0, 0, 0, 0.12);
  }
}


/* ==========================================================================
   CARD DE NUEVO GASTO
   ========================================================================== */

/* Tarjeta contenedora con bordes más redondeados */
.custom-card-gasto {
  border-radius: 16px !important;
  background-color: #ffffff;
  transition: all 0.3s ease;
}

/* Inputs con estilo moderno (Bordes suaves y padding generoso) */
.custom-input {
  border-radius: 10px !important;
  border: 1px solid #e2e8f0 !important;
  height: calc(2.5rem + 2px) !important;
  padding: 0.6rem 1rem !important;
  font-size: 0.95rem !important;
  background-color: #f8fafc !important;
  color: #334155 !important;
  transition: all 0.2s ease-in-out !important;
  box-shadow: none !important;
}

/* Efecto Focus: Iluminación sutil en lugar del azul fuerte de Bootstrap */
.custom-input:focus {
  background-color: #ffffff !important;
  border-color: #6366f1 !important; /* Azul índigo moderno */
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.1) !important;
}

/* Arreglo para el grupo del símbolo del Euro */
.custom-input-group .custom-input {
  border-top-right-radius: 0px !important;
  border-bottom-right-radius: 0px !important;
}

.custom-addon {
  border-top-right-radius: 10px !important;
  border-bottom-right-radius: 10px !important;
  border: 1px solid #e2e8f0 !important;
  border-left: none !important;
  background-color: #f1f5f9 !important;
  color: #64748b !important;
  font-weight: 500;
  padding: 0 1.2rem !important;
}

/* Botón Añadir Gasto (Estilo App moderna) */
.btn-modern-success {
  background-color: #10b981 !important; /* Verde esmeralda */
  border: none !important;
  color: white !important;
  border-radius: 10px !important;
  padding: 0.6rem 1.5rem !important;
  font-weight: 600;
  font-size: 0.9rem;
  transition: all 0.2s ease;
  box-shadow: 0 4px 6px -1px rgba(16, 185, 129, 0.2) !important;
}

.btn-modern-success:hover {
  background-color: #059669 !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 15px -3px rgba(16, 185, 129, 0.3) !important;
}

/* Botón Cancelar minimalista */
.btn-cancelar {
  text-decoration: none !important;
  font-size: 0.9rem;
  font-weight: 500;
}
.btn-cancelar:hover {
  color: #ef4444 !important; /* Rojo sutil al pasar el cursor */
}

.badge{
    font-size: 85%;
    font-weight: 600;
    padding: 10px 20px;
}

.badge-success {
    background-color: #49d86a;
}
