/* ==========================================================
   DASHBOARD
   Estilos exclusivos de la página de Dashboard
   ========================================================== */

/* ===========================
   New layout 
   =========================== */
.dashboard-container{
    max-width:1280px;
    padding-bottom:15px;
}

@media (min-width:1900px){

    .dashboard-container{
        max-width:1800px;
    }

}

.dashboard-top-row{
    display:flex;
    align-items:stretch;
}

.dashboard-top-row > div{
    display:flex;
}

.dashboard-actions-wrapper,
.dashboard-notice-panel{
    width:100%;
    height:100%;
}

/* ===========================
   Paneles 
   =========================== */

.white-panel{
    background:#ffffff;
    border-radius:18px;
    overflow:hidden;
    margin-bottom:15px;
    border:none;
    box-shadow:
        0 10px 28px rgba(15,23,42,.07),
        0 3px 8px rgba(15,23,42,.04);
    transition:all .25s ease;
}

.white-panel:hover{
    transform:translateY(-2px);
    box-shadow:
        0 16px 36px rgba(15,23,42,.10),
        0 6px 14px rgba(15,23,42,.05);
}

.white-panel-header{
    background:#ffffff;
    padding:18px 22px 12px;
    border-bottom:none;
}

.white-panel-title{
    font-size:1.9rem;
    font-weight:600;
    letter-spacing:.2px;
    margin:0;
    color:#16356f;
}

.white-panel-body{
    padding:20px 22px 22px;
}

.white-panel-header a:hover{
    color:#cc1618;
}

.white-panel-header .header-icon{
    position:absolute;
    right:15px;
    top:50%;
    transform:translateY(-50%);
    height:30px;
    z-index:20;
}

/* Cabecera azul */
.blue-panel-header{

    background:linear-gradient(
        135deg,
        #072c5d 0%,
        #0b3f86 100%
    );

    border-bottom:none;
}

.blue-panel-header .white-panel-title{
    color:#fff;
}


/* ===========================
   Estadísticas pilotos
   =========================== */

.dashboard-stats-grid{
    display:grid;
    grid-template-columns:
        repeat(5, minmax(180px, 1fr));
    gap:16px;
    margin-bottom:22px;
}

.dashboard-stats-card{
    background:white;
    border-radius:18px;
    padding:20px 22px;
    min-height:110px;
    display:flex;
    align-items:center;
    gap:16px;
    border:1px solid #eef2f7;
    box-shadow:
        0 10px 28px rgba(15,23,42,.07),
        0 3px 8px rgba(15,23,42,.04);
    transition:all .25s ease;
}

.dashboard-stats-card:hover{
    transform:translateY(-3px);
    box-shadow:
        0 16px 34px rgba(15,23,42,.10),
        0 6px 14px rgba(15,23,42,.05);
}

.stat-icon{
    width:52px;
    height:52px;
    border-radius:16px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#edf3ff;
    color:#124aa2;
    font-size:1.8rem;
}

.dashboard-stats-icon-green{
    background:#eaf8ef;
    color:#179c52;
}

.dashboard-stats-value{
    font-size:2rem;
    font-weight:700;
    line-height:1;
    color:#0f172a;
}

.dashboard-stats-label{
    margin-top:6px;
    color:#64748b;
    font-size:1.15rem;
}

/* ===========================
   Botones
   =========================== */

.button.button3{
    border-radius:16px;
    background:
        linear-gradient(
            135deg,
            #072c5d,
            #0b3f86
        );
    border:none;
    min-height:72px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.35rem;
    font-weight:600;
    transition:all .2s ease;
    box-shadow:
        0 8px 18px rgba(7,44,93,.12);
}

.button.button3:hover{
    transform:translateY(-2px);
    background:
        linear-gradient(
            135deg,
            #0b3f86,
            #1456b0
        );
}


/* ===========================
  Panel de acciones rápidas
   =========================== */

.dashboard-actions-wrapper{
    background:white;
    border-radius:22px;
    padding:20px;
    box-shadow:
        0 10px 28px rgba(15,23,42,.07),
        0 3px 8px rgba(15,23,42,.04);
    margin-bottom:0;
}

.dashboard-actions-header{
    font-size:1.9rem;
    font-weight:600;
    color:#16356f;
    margin-bottom:16px;
    line-height:1.45;
}

.dashboard-buttons-col{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.dashboard-action{
    position:relative;
    display:flex;
    align-items:center;
    gap:12px;
    padding:11px 15px;
    min-height:52px;
    border-radius:15px;
    text-decoration:none !important;
    transition:all .22s ease;
    overflow:hidden;
}

/* PRINCIPALES */
.dashboard-action.primary{
    background:
        linear-gradient(
            135deg,
            #072c5d 0%,
            #0b3f86 100%
        );
    color:white;
    box-shadow:
        0 8px 18px rgba(7,44,93,.16);
}

/* SECUNDARIOS */
.dashboard-action.secondary{
    background:#ffffff;
    color:#0f172a;
    border:1px solid #edf1f7;
}

/* HOVERS */
.dashboard-action:hover{
    transform:translateY(-2px);
    text-decoration:none !important;
}

.dashboard-action.primary:hover{
    box-shadow:
        0 14px 24px rgba(7,44,93,.22);
}

.dashboard-action.secondary:hover{
    border-color:#dbe5f3;
    box-shadow:
        0 8px 18px rgba(15,23,42,.06);
}

/* ICONOS */
.dashboard-action-icon{
    flex-shrink:0;
    font-size:1.9rem;
    width:auto;
    height:auto;
    background:none !important;
    border-radius:0;
    display:flex;
    align-items:center;
    justify-content:center;
}

/* ICONOS AZULES */
.dashboard-action.primary .dashboard-action-icon{
    color:white;
}

/* ICONOS BLANCOS */
.dashboard-action.secondary .dashboard-action-icon{
    color:#124aa2;
}

/* TEXTOS */
.dashboard-action-content{
    flex:1;
    display:flex;
    flex-direction:column;
}

.dashboard-action-title{
    font-size:1.45rem;
    font-weight:600;
    line-height:1.1;
}

.dashboard-action-subtitle{
    margin-top:2px;
    font-size:0.98rem;
    opacity:.72;
}

/* FLECHA */
.dashboard-action-arrow{
    font-size:1.8rem;
    opacity:.55;
    transition:all .2s ease;
}

.dashboard-action:hover .dashboard-action-arrow{
    transform:translateX(4px);
}

/* CANCELAR */
.dashboard-action.cancel{
    background:
        linear-gradient(
            135deg,
            #8b1111 0%,
            #c71222 100%
        );
}

/* ===========================
   Notice to crew
   =========================== */

.dashboard-notice-panel{
    background:#ffffff;
    border-radius:22px;
    overflow:hidden;
    padding:24px;
    box-shadow:
        0 10px 28px rgba(15,23,42,.07),
        0 3px 8px rgba(15,23,42,.04);
    height:100%;

    display:flex;
    flex-direction:column;
}

/* HEADER */
.dashboard-notice-header{
    background:white !important;
    padding:0 0 16px 0 !important;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border:none !important;
}

.dashboard-notice-header .white-panel-title{
    color:#16356f !important;
    font-size:1.9rem;
    font-weight:600;
    margin:0;
    line-height:1.45;
}

.dashboard-notice-all-link{
    color:#2b5fc7 !important;
    font-size:1.05rem;
    font-weight:500;
    text-decoration:none !important;
}

.dashboard-notice-all-link:hover{
    color:#16356f !important;
}

/* BODY */

.dashboard-notice-panel .white-panel-body{
    padding:0;
    flex:1;
    display:flex;
}

/* CARD INTERNA */
.dashboard-notice-card{
    position:relative;
    display:flex;
    align-items:center;
    gap:14px;
    flex:1;
    background:white;
    border:1px solid #e8edf5;
    border-radius:16px;
    padding:16px;
    text-decoration:none !important;
    transition:all .2s ease;
    color:inherit;
}

.dashboard-notice-card:hover{
    transform:translateY(-2px);
    box-shadow:
        0 10px 24px rgba(15,23,42,.06);
}

/* ICONO */
.dashboard-notice-icon{
    position:relative;
    width:52px;
    height:52px;
    min-width:52px;
    border-radius:14px;
    background:#eef3ff;
    color:#124aa2;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.8rem;
}

.dashboard-notice-icon-badge{
    position:absolute;
    bottom:-25px;
    left:50%;
    transform:translateX(-50%);
    padding:3px 7px;
    font-size:0.70rem;
    line-height:1;
    z-index:20;
}

/* CONTENIDO */
.dashboard-notice-content{
    flex:1;
}

/* BADGES */
.dashboard-notice-badges{
    display:flex;
    align-items:center;
    gap:6px;
    margin-bottom:8px;
    flex-wrap:wrap;
}

.dashboard-notice-badge{
    padding:4px 9px;
    border-radius:6px;
    font-size:0.92rem;
    font-weight:700;
    line-height:1;
}

.dashboard-notice-badge.red{
    background:#d71920;
    color:#ffffff;
    border-radius:999px;
    padding:4px 10px;
    font-size:0.82rem;
    font-weight:700;
    line-height:1;
}

.dashboard-notice-badge.blue{
    background:#edf3ff;
    color:#124aa2;
}

/* TITULO */
.dashboard-notice-title{
    font-size:1.45rem;
    font-weight:600;
    line-height:1.45;
    color:#12243d;
    margin-bottom:5px;
}

/* DESCRIPCIÓN */
.dashboard-notice-description{
    font-size:1rem;
    line-height:1.45;
    color:#5f6f86;
    margin-bottom:7px;
}

/* META */
.dashboard-notice-meta{
    font-size:0.95rem;
    color:#8a97ab;
    line-height:1.4;
}

/* FLECHA */
.dashboard-notice-arrow{
    color:#7f8da3;
    font-size:1.7rem;
    margin-left:6px;
    opacity:.7;
    transition:all .2s ease;
}

.dashboard-notice-card:hover .dashboard-notice-arrow{
    transform:translateX(3px);
    opacity:1;
}

/* ===========================
   Panel de vuelos sugeridos
   =========================== */

.dashboard-suggested-flights-panel{
    border-radius:18px;
    overflow:hidden;
    background:#ffffff;
    box-shadow:
        0 8px 24px rgba(15,23,42,.05);
}

/* HEADER */
.dashboard-suggested-flights-panel .white-panel-header{
    background:#ffffff !important;
    padding:18px 22px 10px 22px;
    border:none !important;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.dashboard-suggested-flights-panel .white-panel-title{
    color:#16356f !important;
    font-size:1.9rem;
    font-weight:700;
    margin:0;
}

/* BODY */
.dashboard-suggested-flights-panel .white-panel-body{
    padding:0 !important;
}

/* TABLA */
.dashboard-suggested-flights-panel table{
    margin-bottom:0;
}

/* CABECERAS */
.dashboard-suggested-flights-panel thead th{
    padding:10px 20px 12px 20px !important;
    background:#ffffff;
    border:none !important;
    border-bottom:1px solid #edf2f7 !important;
    font-size:1.45rem;
    font-weight:700;
    color:#5f6f86;
    text-align:left !important;
    letter-spacing:.2px;
}

/* FILAS */
.dashboard-suggested-flights-panel tbody td{
    padding:9px 20px !important;
    border-top:1px solid #edf2f7 !important;

    vertical-align:middle !important;

    font-size:1.08rem;

    color:#0f172a;

    background:#fff;
}

/* FOOTER */
.dashboard-suggested-flights-panel .help-block{
    display:block !important;
    width:100%;
    margin:0 !important;
    padding:14px 18px !important;
    text-align:center;
    font-size:1.08rem;
    font-weight:500;
    color:#8a97ab;
    background:#ffffff;
    border-top:1px solid #edf2f7 !important;
}

/* Botñon reserva */
.dashboard-suggested-flight-btn{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:88px;
    height:30px;
    padding:0 13px 0 28px;
    border-radius:999px;
    background:
        linear-gradient(
            135deg,
            #072c5d 0%,
            #0b3f86 100%
        );
    color:#fff !important;
    font-size:1.25rem;
    font-weight:700;
    text-decoration:none !important;
    overflow:hidden;
    transition:all .18s ease;
    box-shadow:
        0 6px 14px rgba(7,44,93,.14);
}

.dashboard-suggested-flight-btn:hover{
    background:
        linear-gradient(
            135deg,
            #0b3f86 0%,
            #1456b0 100%
        );
    color:#fff !important;
    transform:translateY(-1px);
}

/* ICONO */
.dashboard-suggested-flight-btn i{
    position:absolute;
    left:10px;
    top:50%;
    transform:translateY(-50%);
    color:#ff3b30;
    font-size:11px;
    transition:all .15s ease;
    opacity:1;
}

/* TEXTO NORMAL */
.dashboard-suggested-flight-code{
    display:block;
    transition:all .15s ease;
    opacity:1;
    white-space:nowrap;
}

/* TEXTO HOVER */
.dashboard-suggested-flight-hover{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%, 8px);
    transition:all .15s ease;
    white-space:nowrap;
    opacity:0;
    pointer-events:none;
}

/* HOVER */
.dashboard-suggested-flight-btn:hover i{
    opacity:0;
    transform:translate(-8px,-50%);
}

.dashboard-suggested-flight-btn:hover .dashboard-suggested-flight-code{
    opacity:0;
}

.dashboard-suggested-flight-btn:hover .dashboard-suggested-flight-hover{
    opacity:1;
    transform:translate(-50%, -50%);
}

/* Aeropuertos */
.dashboard-suggested-flight-direction-red{
    color:#d71920 !important;
    font-size:1.18rem !important;
    font-weight:700 !important;
    margin-top:2px !important;
}

.dashboard-suggested-flight-airport{
    display:flex;
    flex-direction:column;
    line-height:1.05;
}

.dashboard-suggested-flight-airport-code{
    font-weight:700;
    font-size:1.55rem;
    color:#12243d;
}

.dashboard-suggested-flight-airport-city{
    font-size:1rem;
    color:#7b8798;
    margin-top:2px;
    font-weight:500;
}

/* Duración */

.dashboard-suggested-flight-duration{
    display:flex;
    align-items:center;
    gap:7px;
    font-weight:700;
    font-size:1.55rem;
    color:#12243d;
    line-height:1;
}

.dashboard-suggested-flight-duration i{
    color:#16356f;
    font-size:1.05rem;
}

/* operador */
.dashboard-suggested-flight-operator img{
    max-height:24px;
    width:auto;
    opacity:.95;
}


/* ===========================
   Panel de próximo evento
   =========================== */

.dashboard-next-event-panel{
    background:#fff;
    border-radius:22px;
    padding:24px;
}

.dashboard-event-header{
    background:transparent !important;
    padding:0 0 16px 0 !important;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border:none !important;
}

.dashboard-event-header .white-panel-title{
    color:#16356f !important;
    font-size:1.9rem;
    font-weight:600;
    line-height:1.45;
    margin:0;
}

.dashboard-event-header .dashboard-notice-all-link{
    color:#2b5fc7 !important;
    font-size:1.05rem;
    font-weight:500;
    text-decoration:none !important;
}

.dashboard-event-header .dashboard-notice-all-link:hover{
    color:#16356f !important;
}

.dashboard-next-event-panel .white-panel-body{
    padding:0;
}

/* TARJETA */
.next-activity-card-container{
    position:relative;
    overflow:hidden;
    border-radius:16px;
    cursor:pointer;
    height:190px;   /* <- tamaño similar al que tenías */
}

/* IMAGEN */
.next-activity-card-container img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .35s ease;
}

.next-activity-card-container:hover img{
    transform:scale(1.04);
}

/* OSCURECER PARTE INFERIOR */
.next-activity-card-container::before{
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:85px;
    background:
        linear-gradient(
            to top,
            rgba(7,44,93,.92),
            rgba(7,44,93,.35),
            transparent
        );
    z-index:2;
}

/* CAPA HOVER */
.next-activity-card-container::after{
    content:'';
    position:absolute;
    inset:0;
    background:rgba(7,44,93,.28);
    opacity:0;
    transition:.25s ease;
    z-index:3;
}

.next-activity-card-container:hover::after{
    opacity:1;
}

/* FECHA */
.dashboard-next-event-info{
    position:absolute;
    left:16px;
    bottom:14px;
    display:flex;
    align-items:center;
    gap:16px;
    color:#fff;
    font-size:1.15rem;
    font-weight:600;
    z-index:5;
}

.dashboard-next-event-info span{
    display:flex;
    align-items:center;
    gap:6px;
}

.dashboard-next-event-info i{
    font-size:1.15rem;
}

/* BOTÓN HOVER */
.next-activity-card-hover-text{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    padding:12px 24px;
    border-radius:999px;

    background:#d71920;
    border:2px solid #d71920;

    color:#072c5d !important;
    font-size:1.25rem;
    font-weight:600;
    white-space:nowrap;

    opacity:0;
    z-index:10;

    box-shadow:0 8px 20px rgba(215,25,32,.25);

    transition:all .25s ease;
}

.next-activity-card-container:hover .next-activity-card-hover-text{
    opacity:1;
    transform:translate(-50%,-50%) scale(1.03);
    background:#e32028;
}

.dashboard-next-event-join{
    position:absolute;
    right:16px;
    bottom:14px;
    z-index:5;
    color:#ffffff;
    font-size:1.15rem;
    font-weight:600;
    display:flex;
    align-items:center;
    gap:6px;
    transition:all .2s ease;
}

.dashboard-next-event-join i{
    transition:transform .2s ease;
}

.next-activity-card-container:hover .dashboard-next-event-join i{
    transform:translateX(3px);
}

/* ===========================
   Panel de último vuelo
   =========================== */

.dashboard-latest-flight-panel .white-panel-header{
    background:#ffffff !important;
    padding:24px 24px 10px 24px !important;
    border:none !important;
}

.dashboard-latest-flight-panel .white-panel-title{
    color:#16356f !important;
    font-size:1.9rem;
    font-weight:700;
    margin:0;
}

.dashboard-latest-flight-panel{
    overflow:hidden;
}

.dashboard-latest-flight-summary{
    display:flex;
    align-items:center;
    gap:28px;
    padding:0 24px 12px 24px;
    margin:0;
    background:transparent;
    border:none;
    border-radius:0;
}

.dashboard-latest-flight-block{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.dashboard-flight-label{
    font-size:1.45rem;
    font-weight:600;
    color:#6f7c91;
    text-transform:none;
    letter-spacing:0;
}

.dashboard-flight-big{
    font-size:1.55rem;
    font-weight:700;
    color:#12243d;
    display:flex;
    align-items:center;
    gap:10px;
    white-space:nowrap;
    overflow:hidden;
}

.dashboard-flight-big i{
    color:#072c5d;
}

.dashboard-latest-flight-block{
    min-width:0;
}

.dashboard-latest-flight-block .dashboard-flight-big{
    max-width:180px;
    text-overflow:ellipsis;
}

.dashboard-route-main{
    display:flex;
    align-items:center;
    gap:18px;
}

.icao{
    font-size:1.55rem;
    font-weight:800;
    color:#12243d;
    line-height:1;
}

.city{
    margin-top:6px;
    font-size:.95rem;
    color:#7b8798;
    line-height:1.3;
}

.dashboard-route-arrow{
    color:#d71920;
    font-size:2rem;
}

.dashboard-summary-divider{
    width:1px;
    align-self:stretch;
    background:#edf1f6;
}

.dashboard-aircraft-name{
    display:block;
    max-width:180px;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.landing{
    color:#12243d;
}

.landing i{
    color:#072c5d !important;
}

.dashboard-report-link{
    color:#16356f !important;
    text-decoration:none;
    font-size:1.55rem !important;
    font-weight:700;
    display:flex;
    align-items:center;
    gap:8px;
    transition:.2s ease;
}

.dashboard-report-link .fa-file-text-o,
.dashboard-report-link .dashboard-report-arrow{
    color:#16356f;
    transition:.2s ease;
}

.dashboard-report-link:hover,
.dashboard-report-link:hover .fa-file-text-o,
.dashboard-report-link:hover .dashboard-report-arrow{
    color:#d71920 !important;
}

.dashboard-report-arrow{
    color:#d71920;
    font-size:1.4rem;
}

.dashboard-latest-flight-action a{
    background:none;
    padding:0;
    border:none;
    color:#16356f !important;
    font-size:1.45rem;
    font-weight:700;
    text-decoration:none;
    display:flex;
    align-items:center;
    gap:8px;
}

.dashboard-latest-flight-action a:hover{
    color:#d71920 !important;
}

.dashboard-latest-flight-panel .white-panel-body{
    padding-top:0;
}

#map{
    border-radius:16px;
    overflow:hidden;
}

/* Responsive */
@media (max-width:1400px){

    .dashboard-latest-flight-summary{
        flex-wrap:wrap;
        gap:20px;
    }

    .dashboard-summary-divider{
        display:none;
    }

    .dashboard-latest-flight-action{
        width:100%;
        margin-left:0;
        margin-top:10px;
    }
}

/* ===========================
   Rango piloto
   =========================== */

.dashboard-rank-container{
    display:inline-block;
    cursor:pointer;
}

.dashboard-rank-container img{
    transition:transform 0.2s ease;
}

.dashboard-rank-container:hover img{
    transform:scale(1.08);
    filter:brightness(1.08);
}

/* ===========================
    Layout panorámico
   =========================== */

@media (min-width:2400px){

    /* Contenedor general más ancho */
    .container.dashboard-container{
        width:2400px !important;
        max-width:2400px !important;
    }

    /* Layout principal */
    .dashboard-main-layout{
    display:flex;
    gap:24px;
    align-items:flex-start;
    }

    /* Parte izquierda */
    .dashboard-left-column{
        flex:1;
        min-width:0;
    }


    /* Último vuelo */
    .dashboard-right-column{
    width:1200px;
    flex-shrink:0;
    display:flex;
    align-self:flex-start;
    }

    .dashboard-right-column .dashboard-latest-flight-panel{
    width:100%;
    margin-bottom:0;
    }
   
    /* El resumen superior aprovecha todo el ancho */
    .dashboard-latest-flight-summary{
        justify-content:space-between;
        gap:20px;
    }

    /* Evita que corte textos */
    .dashboard-latest-flight-block .dashboard-flight-big{
        max-width:none;
    }

    .dashboard-aircraft-name{
        max-width:none;
    }

    /* Mapa */
    .dashboard-right-column #map{
        height:420px !important;
    }
}

.dashboard-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:10px;
}

.dashboard-logo{
    width:520px;
    max-width:100%;
}

.dashboard-pilot-header-info{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    white-space:nowrap;
    font-size:1.7rem;
    font-weight:400;
}

.dashboard-pilot-label{
    color:#000;
    font-weight:700;
}

.dashboard-pilot-value{
    color:#000 !important;
    font-weight:400;
}

/* Separador | */
.dashboard-pilot-separator{
    color:#6b7280;
    font-size:1.8rem;
    font-weight:700;
    margin:0 4px;
}

/* Eliminar cualquier punto, icono o pseudo-elemento heredado */
.dashboard-pilot-header-info::before,
.dashboard-pilot-header-info::after,
.dashboard-pilot-label::before,
.dashboard-pilot-label::after,
.dashboard-pilot-value::before,
.dashboard-pilot-value::after,
.dashboard-pilot-separator::before,
.dashboard-pilot-separator::after{
    content:none !important;
    display:none !important;
}

/* Icono rango */
.dashboard-pilot-rank-icon{
    height:32px;
    width:auto;
    margin-left:6px;
}

@media (max-width:1200px){

    .dashboard-header{
        flex-direction:column;
        align-items:flex-start;
        gap:10px;
    }

    .dashboard-pilot-header-info{
        justify-content:flex-start;
        white-space:normal;
    }

}

.dashboard-pilot-header-info *::before,
.dashboard-pilot-header-info *::after{
    content:none !important;
    display:none !important;
} 
   
/* ===========================
   Responsive móvil
   =========================== */

@media (max-width: 767px) {

    /* Header piloto */
    .dashboard-header{
        flex-direction:column;
        align-items:flex-start;
        gap:12px;
    }

    .dashboard-pilot-header-info{
        font-size:1.1rem;
        flex-wrap:wrap;
    }

    /* Stats: 2 por fila */
    .dashboard-stats-grid{
        grid-template-columns:repeat(2, 1fr);
        gap:10px;
    }

    .dashboard-stats-card{
        min-height:auto;
        padding:14px;
    }

    .dashboard-stats-value{
        font-size:1.3rem;
    }

    .dashboard-stats-label{
        font-size:.9rem;
    }

    /* Acciones rápidas + Notice */
    .dashboard-top-row{
        display:block;
    }

    .dashboard-top-row > div{
        display:block;
        width:100%;
    }

    .dashboard-top-row .col-md-8,
    .dashboard-top-row .col-md-4{
        width:100%;
        padding-left:0;
        padding-right:0;
        margin-bottom:15px;
    }

    /* Botones */
    .dashboard-row{
        display:block;
    }

    .dashboard-buttons-col{
        width:100%;
        margin-bottom:10px;
    }

    .dashboard-action{
        min-height:60px;
    }

    .dashboard-action-title{
        font-size:1rem;
    }

    .dashboard-action-subtitle{
        font-size:.8rem;
    }

    .dashboard-notice-card{
        flex-direction:row !important;
        align-items:center !important;
        gap:12px;
    }

    .dashboard-notice-icon{
        width:48px;
        height:48px;
        min-width:48px;
    }

    .dashboard-notice-icon-badge{
        display:none;
    }

    .dashboard-notice-content{
        flex:1;
        min-width:0;
    }

    .dashboard-notice-title{
        font-size:0.95rem;
        line-height:1.3;
        margin-bottom:4px;
    }

    .dashboard-notice-meta{
        font-size:0.75rem;
    }

    .dashboard-notice-arrow{
        margin-left:8px;
        flex-shrink:0;
    }

    .dashboard-notice-description{
        font-size:.85rem;
    }

    /* Último vuelo */
    .dashboard-latest-flight-summary{
        flex-direction:column;
        align-items:flex-start;
        gap:15px;
    }

    .dashboard-route-main{
        flex-wrap:wrap;
    }

    /* Próximo evento */
    .dashboard-next-event-info{
        flex-direction:column;
        align-items:flex-start;
        gap:5px;
    }
    /* Próximo evento ocupa todo el ancho en móvil */
    .dashboard-next-event-panel,
    .next-activity-card-container {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Si está dentro de una columna Bootstrap */
    .dashboard-top-row .col-md-4,
    .dashboard-top-row .col-sm-4,
    .dashboard-top-row .col-lg-4 {
        width: 100% !important;
        float: none !important;
    }
}   
   /* OCULTAR EN MÓVIL */
@media (max-width: 767px){

    /* Vuelos sugeridos */
    .dashboard-suggested-flights-panel{
        display:none !important;
    }

    /* Icono de rango */
    .dashboard-pilot-rank-icon{
        display:none !important;
    }

}

/* ==========================================================
   FLIGHT SEARCH PAGE
   Estilos exclusivos de la página de buscar rutas regulares
   ========================================================== */
   
/* ======= Container fluido ======= */
.flight-search-container {
    max-width: 1500px;
    margin: 0 auto;
    padding-left: 30px;
    padding-right: 30px;
}

.aircraft-route-info{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:50%;
    color:#072c5d;
    font-size:16px;
    cursor:pointer;
    transition:.2s ease;
}

.aircraft-route-info:hover{
    color:#cc1618;
    transform:scale(1.1);
}

/* Pie de DataTables */
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate{
    float:none !important;
}

.dataTables_wrapper .dataTables_info{
    padding:0;
    margin:0;
}

.dataTables_wrapper .dataTables_paginate{
    padding:0;
    margin:0;
}

/* Contenedor inferior */
.table-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 18px 10px;
    border-top:1px solid #edf2f7;
    font-size:13px;
    color:#8b95a7;
}

/* Píldoras buscador de vuelos */
.white-panel-body .form-control{
    height:38px;
    border-radius:19px;
    border:1px solid #d9e1ec;
    box-shadow:none;
    padding:0 14px;
    font-size:13px;
    transition:.2s;
}

.white-panel-body .form-control:focus{
    border-color:#123d79;
    box-shadow:0 0 0 3px rgba(18,61,121,.08);
}

.white-panel-body select.form-control{
    font-size:12px;
}

/* Compactar buscador de rutas */
.white-panel-body .form-group{
    margin-bottom:12px;
}

.white-panel-body .form-group label{
    margin-bottom:4px;
    font-weight:600;
}

.search-panel-header + .white-panel-body{
    padding-top:8px;
}

/* Borrar filtros buscador de vuelos*/
.search-panel-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.search-panel-actions{
    display:flex;
    align-items:center;
    gap:8px;
}

.search-panel-btn{
    width:34px;
    height:34px;
    border:none;
    background:none;
    border-radius:8px;
    color:#6c757d;
    transition:.2s;
}

.search-panel-btn:hover{
    background:#f3f5f7;
    color:#072c5d;
}

.search-panel-header .white-panel-title{
    margin:0;
}

.clear-filters-link{
    display:flex;
    align-items:center;
    gap:6px;

    color:#072c5d;
    text-decoration:none;

    font-size:13px;
    font-weight:600;

    transition:.2s ease;
}

.clear-filters-link i{
    font-size:12px;
}

.clear-filters-link:hover{
    color:#cc1618;
    text-decoration:none;
}

/* Popup píldoras flota disponible*/   
.popover{
    background:#fff;
    border:none;
    border-radius:16px;
    box-shadow:0 16px 40px rgba(7,44,93,.22);
    max-width:220px;
    padding:0;
}

.popover-title{
    background:#fff;
    border:none;
    border-radius:16px 16px 0 0;
    padding:12px 16px 8px;
    font-weight:700;
    color:#072c5d;
}

.popover-content{
    padding:10px 16px 16px;
}

/* Flecha del popover */

.popover > .arrow{
    border-width:11px;
}

.popover.top > .arrow{
    border-top-color:transparent;
}

.popover.top > .arrow:after{
    border-top-color:#fff;
}

.popover.bottom > .arrow{
    border-bottom-color:transparent;
}

.popover.bottom > .arrow:after{
    border-bottom-color:#fff;
}

.popover.left > .arrow{
    border-left-color:transparent;
}

.popover.left > .arrow:after{
    border-left-color:#fff;
}

.popover.right > .arrow{
    border-right-color:transparent;
}

.popover.right > .arrow:after{
    border-right-color:#fff;
}

/* Contenido */

.aircraft-popup{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    max-width:180px;
}

.aircraft-pill{
    display:inline-block;
    padding:4px 10px;
    border-radius:999px;
    color:#fff;
    font-size:12px;
    font-weight:600;
}
   
/* ==========================================================
   ACTIVITIES PAGE
   Estilos exclusivos de la página de Eventos y Tours
   ========================================================== */

/* ==========================================================
   Tarjetas
   ========================================================== */

.activities-page .activity-card-modern{
    position:relative;
    overflow:hidden;
    cursor:pointer;
    /* Evita que herede el efecto de elevarse del resto de la web */
    transform:none !important;
}

/* Imagen de fondo de la tarjeta */
.activities-page .activity-card-image{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    transition:transform .45s ease;
    z-index:1;
}

/* Zoom únicamente de la imagen */
.activities-page .activity-card-modern:hover .activity-card-image{
    transform:scale(1.08);
}

/* No elevar la tarjeta al hacer hover */
.activities-page .activity-card-modern:hover{
    transform:none !important;
}


/* ==========================================================
   Información inferior
   ========================================================== */

.activities-page .activity-card-modern .dashboard-next-event-info{
    position:absolute;
    left:10px;
    bottom:8px;
    z-index:5;
    display:flex;
    gap:15px;
    color:#fff;
    font-size:11px;
    font-weight:600;
}

.activities-page .activity-card-modern .dashboard-next-event-join{
    position:absolute;
    right:10px;
    bottom:8px;
    z-index:5;
    color:#fff;
    font-size:11px;
    font-weight:600;
}


/* ==========================================================
   degradaddo azul inferior
   ========================================================== */

.activities-page .activity-card-modern::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:36px;
    background:linear-gradient(
        to top,
        rgba(7,44,93,.85) 0%,
        rgba(7,44,93,.65) 55%,
        rgba(7,44,93,0) 100%
    );
    z-index:2;
}

/* ==========================================================
   botón ncentral ver información
   ========================================================== */

.activities-page .activity-card-modern .next-activity-card-hover-text{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%) scale(.92);
    background:#d71920;
    color:#072c5d;
    padding:14px 30px;
    border-radius:999px;
    font-size:16px;
    font-weight:700;
    line-height:1;
    white-space:nowrap;
    opacity:0;
    transition:
        opacity .25s ease,
        transform .25s ease;
    z-index:6;
}

.activities-page .activity-card-modern:hover .next-activity-card-hover-text{
    opacity:1;
    transform:translate(-50%,-50%) scale(1);
}


/* ==========================================================
   Swipers
   ========================================================== */

.activities-page .eventsSwiper,
.activities-page .toursSwiper{
    overflow:hidden;
    flex:1;
}

.activities-page .eventsSwiper .swiper-wrapper,
.activities-page .toursSwiper .swiper-wrapper{
    align-items:stretch;
}

.activities-page .eventsSwiper .swiper-slide,
.activities-page .toursSwiper .swiper-slide{
    display:flex;
    height:auto;
}


/* Altura de las tarjetas */
.activities-page .eventsSwiper .activity-card-modern,
.activities-page .toursSwiper .activity-card-modern{
    width:100%;
    max-width:none;
    min-width:0;
    flex:none;
    height:218px;
}


/* ==========================================================
   Contenedor de los sliders
   ========================================================== */

.activities-page .activities-container{
    display:flex;
    align-items:center;
    gap:12px;
}


/* ==========================================================
   Flechas
   ========================================================== */

.activities-page .events-prev,
.activities-page .events-next,
.activities-page .tours-prev,
.activities-page .tours-next{
    position:static;
    width:32px;
    height:32px;
    margin:0;
    color:#072c5d;
    flex-shrink:0;
    cursor:pointer;
    transition:
        color .20s ease,
        transform .20s ease;
}


/* Hover rojo AeroLegado */

.activities-page .events-prev:hover,
.activities-page .events-next:hover,
.activities-page .tours-prev:hover,
.activities-page .tours-next:hover{
    color:#d71920;
    transform:scale(1.15);
}


/* Tamaño del icono */
.activities-page .events-prev::after,
.activities-page .events-next::after,
.activities-page .tours-prev::after,
.activities-page .tours-next::after{
    font-size:28px;
}


/* Mostrar siempre las flechas aunque no haya suficientes slides */
.activities-page .swiper-button-lock{
    display:flex !important;
}

/* ==========================================================
   Quitar sombra tarjetas pagina actividades
   ========================================================== */
.activities-page .activity-card-modern,
.activities-page .activity-card-modern:hover{
    box-shadow:none !important;
}

/* Los tours no muestran la franja inferior */
.activity-card-tour::after{
    display:none;
}


/* ==========================================================
   PÁGINA ACTIVIDAD (TOUR U EVENTO)
   Estilos exclusivos de la página del Evento o Tour
   ========================================================== */
   /* Estado del tour */
.tour-status{
    display:inline-block;
    min-width:95px;
    padding:5px 12px;
    border-radius:20px;
    text-align:center;
    font-size:12px;
    font-weight:600;
}

.tour-status.completed{
    background:#dff6e4;
    color:#198754;
}

.tour-status.current{
    background:#dbeafe;
    color:#0d6efd;
}

.tour-status.pending{
    background:#ececec;
    color:#666;
}

/* Botón principal AeroLegado */

.btn-tour-current{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    height:28px;
    padding:0 14px;
    border-radius:999px;
    background:#163f7a;
    border:none;
    color:#fff !important;
    font-size:12px;
    font-weight:700;
    text-decoration:none !important;
    transition:.2s;
}

.btn-tour-current:hover{
    background:#12386d;
    color:#d71920 !important;
}

.btn-tour-current i{
    color:#d71920 !important;
    font-size:11px;
}

/* Botón secundario */

.btn-tour-info{
    display:inline-block;
    min-width:110px;
    padding:4px 14px;
    border-radius:18px;
    background:#ffffff;
    border:1px solid #d8d8d8;
    color:#555 !important;
    font-size:12px;
    font-weight:600;
    text-align:center;
    text-decoration:none !important;
    transition:.2s;
}

.btn-tour-info:hover{
    background:#f8f8f8;
    border-color:#123d7b;
    color:#123d7b !important;
}

.btn-tour-info i{
    color:#123d7b;
    font-size:11px;
}

/* ====== Paneles Tours ====== */

.tour-panel{
    background:#fff;
    border-radius:20px;
    box-shadow:0 6px 20px rgba(15,23,42,.08);
    margin-bottom:24px;
    overflow:hidden;
}

.tour-panel-header{
    padding:22px 24px 10px;
}

.tour-panel-title{
    margin:0;
    font-size:2rem;
    font-weight:700;
    color:#163f7a;
}

.tour-panel-body{
    padding:0 24px 24px;
}

/* ====== Menu lateral ====== */

html{
    scroll-behavior:smooth;
}

.tour-index{
    position:fixed;
    top:50%;
    left:40px;
    width:190px;
    transform:translateY(-50%);
    z-index:500;
}

.tour-index a{
    display:block;
    margin-bottom:12px;
    color:#9aa9bf;
    font-size:14px;
    text-decoration:none;
    transition:.2s;
}

.tour-index a:hover{
    color:#d71920;
    transform:translateX(6px);
}

#tour-info,
#tour-details,
#tour-legs,
#tour-history,
#tour-map{
    scroll-margin-top:95px;

}

.booking-box{
    margin-top:25px;
    text-align:center;
}

/* Botón Reservar / Despachar */

.tour-action-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    width:100%;
    min-height:46px;

    padding:12px 18px;

    background:#163f7a;
    border:none;
    border-radius:12px;

    color:#fff;
    font-size:15px;
    font-weight:700;
    text-decoration:none;

    transition:.2s ease;
}

.tour-action-btn:hover{
    background:#12386d;
    color:#d71920;
}

.tour-action-btn i{
    color:#fff;
}

.tour-action-btn:hover i{
    color:#d71920;
}

.tour-action-btn.disabled{
    background:#d8d8d8;
    color:#666;
    border-color:#d8d8d8;
    cursor:not-allowed;
}

.tour-action-btn.disabled:hover{
    background:#d8d8d8;
    color:#666;
    border-color:#d8d8d8;
}

.tour-leg-header{
    display:flex;
    align-items:center;
    gap:22px;
}

.tour-leg-action{
    width:135px;
    flex-shrink:0;
}

.tour-leg-info{
    flex:1;
}

.tour-leg-info h2{
    margin-top:0;
}

@media (max-width:768px){

    .tour-leg-header{
        flex-direction:column;
        align-items:stretch;
    }

    .tour-leg-action{
        width:100%;
    }
}

/* Icono alerta parpadeante */

.tour-alert-icon{
    animation:tourAlertBlink .9s infinite;
}

@keyframes tourAlertBlink{

    0%{
        color:#d71920; /* rojo AeroLegado */
    }

    50%{
        color:#000;
    }

    100%{
        color:#d71920;
    }

}


/* ==========================================
   Página Notificaciones
========================================== */


.notice-container{
    max-width:1200px;
}

/* LOGO */

.notice-logo{
    width:40%;
    max-width:420px;
}

/* CONTENEDOR */

.notice-wrapper{
    background:#ffffff;
    border-radius:18px;
    padding:22px;

    box-shadow:
        0 8px 24px rgba(15,23,42,.05);
}

/* BUSCADOR */

.notice-search{
    height:42px;
    border-radius:12px;
    border:1px solid #dbe4ef;
    margin-bottom:14px;
}

.notice-search:focus{
    border-color:#124aa2;
    box-shadow:none;
}

/* CONTADOR */

.notice-counter{
    font-size:13px;
    color:#7b8798;
    margin-bottom:15px;
}

/* TARJETAS */

.notice-list-card{
    display:flex;
    align-items:center;
    gap:15px;

    padding:16px 18px;
    margin-bottom:12px;

    background:#ffffff;

    border:1px solid #e8edf5;
    border-radius:16px;

    text-decoration:none !important;
    color:inherit;

    transition:all .20s ease;
}

.notice-list-card:hover{

    transform:translateY(-2px);

    border-color:#124aa2;

    box-shadow:
        0 8px 20px rgba(18,74,162,.08);
}

/* ICONO */

.notice-list-icon{
    width:46px;
    height:46px;

    min-width:46px;

    border-radius:12px;

    background:#eef3ff;
    color:#124aa2;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:18px;
}

/* CONTENIDO */

.notice-list-content{
    flex:1;
}

.notice-title-row{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:4px;
}

.notice-list-title{
    font-size:16px;
    font-weight:700;
    color:#16356f;
    line-height:1.3;
}

.notice-list-meta{
    font-size:12px;
    color:#8a97ab;
}

/* BADGE */

.notice-badge-new{
    background:#d71920;
    color:#ffffff;

    border-radius:999px;

    padding:3px 8px;

    font-size:10px;
    font-weight:700;
    letter-spacing:.3px;
}

/* FLECHA */

.notice-list-arrow{
    color:#7f8da3;
    font-size:22px;
    transition:.2s ease;
}

.notice-list-card:hover .notice-list-arrow{
    color:#124aa2;
    transform:translateX(3px);
}

/* RESPONSIVE */

@media (max-width:768px){

    .notice-logo{
        width:90%;
    }

    .notice-title-row{
        flex-wrap:wrap;
    }

}