:root{
--bg:#0b1020;
--panel:#0e162f;
--thead:#101b3a;
--border:#1f2a4a;
--text:#e5e7eb;
--soft:#9aa4c7;
--blue:#3b82f6;
--red:#ef4444;
--yellow:#facc15;
}

body{
margin:0;
background:var(--bg);
color:var(--text);
font-family:system-ui;
}

.navbar{
background:var(--panel)!important;
border-bottom:1px solid var(--border);
}

.nav-link{
color:var(--soft)!important;
font-weight:600;
font-size:13px;
padding:6px 12px!important;
border-radius:6px;
}

.nav-link:hover{
background:#16224d;
color:#fff!important;
}

.nav-link.active{
background:#1e3a8a;
color:#fff!important;
}

.page-header{
padding:20px 22px 10px;
}

.page-title{
font-size:22px;
font-weight:800;
}

.stats{
display:flex;
gap:16px;
padding:20px 22px;
flex-wrap:wrap;
}

.stat{
background:var(--panel);
border:1px solid var(--border);
border-radius:12px;
padding:14px 22px;
min-width:160px;
}

.stat .num{
font-size:26px;
font-weight:800;
}

.stat .lbl{
font-size:12px;
color:var(--soft);
margin-top:4px;
text-transform:uppercase;
}

.table-wrapper{
margin:0 20px 30px;
}

table{
width:100%;
border-collapse:collapse;
background:var(--panel);
border:1px solid var(--border);
border-radius:12px;
overflow:hidden;
}

thead{
background:var(--thead);
}

th{
padding:12px 10px;
font-size:11px;
color:var(--soft);
text-transform:uppercase;
letter-spacing:1px;
text-align:left;
}

td{
padding:10px;
border-top:1px solid var(--border);
font-size:14px;
}

tbody tr:hover{
background:#16224d;
}

.status-tx td{
color:var(--red);
font-weight:800;
}

.status-wd td{
color:var(--yellow);
}

.status-tc td{
color:#60a5fa;
}

.status-to td{
color:var(--red);
}

.callsign{
font-weight:700;
color:#22d3ee;
}

.footer-pro{
margin-top:50px;
padding:30px 20px;
border-top:1px solid var(--border);
text-align:center;
background:var(--panel);
}

.footer-line{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:10px 18px;
margin-bottom:10px;
}

.footer-buttons{
display:flex;
justify-content:center;
gap:12px;
margin:20px 0;
}

.btn-footer{
display:inline-flex;
align-items:center;
gap:8px;
padding:8px 18px;
border-radius:10px;
font-size:.85rem;
text-decoration:none;
font-weight:600;
background:#1f2a4a;
color:#e5e7eb;
border:1px solid #3b82f6;
transition:.25s;
}

.btn-footer:hover{
background:#16224d;
border-color:#60a5fa;
color:#fff;
transform:translateY(-2px);
}

.footer-signature{
margin-top:20px;
padding-top:15px;
border-top:1px solid #1f2a4a;
display:flex;
justify-content:center;
align-items:center;
gap:12px;
flex-wrap:wrap;
font-size:13px;
color:#9aa4c7;
}

.service-uptime{
margin-top:15px;
font-size:13px;
color:#60a5fa;
}

.debian-logo{
width:100%;
text-align:center;
margin-top:18px;
}

.debian-logo img{
width:60px;
height:auto;
opacity:.85;
transition:.3s ease;
}

.debian-logo img:hover{
opacity:1;
transform:scale(1.05);
}

.navbar-brand{
display:flex;
flex-direction:column;
align-items:center;
line-height:1.1;
}

.brand-title{
display:flex;
gap:6px;
margin-top:6px;
font-weight:800;
letter-spacing:1px;
font-size:15px;
}

.brand-ea{
color:#9aa4c7;
}

.brand-c4fm{
color:#3b82f6;
}

.brand-spain{
color:#22d3ee;
}


/* ===== FORZAR TABLA OSCURA LINKED ===== */

.table-container {
    background-color: #0e162f !important;
    border: 1px solid #1f2a4a !important;
}

.table {
    background-color: #0e162f !important;
    color: #e5e7eb !important;
}

.table thead {
    background-color: #101b3a !important;
}

.table thead th {
    background-color: #101b3a !important;
    color: #9aa4c7 !important;
    border-color: #1f2a4a !important;
}

.table tbody {
    background-color: #0e162f !important;
}

.table tbody tr {
    background-color: #0e162f !important;
}

.table tbody td {
    background-color: #0e162f !important;
    color: #e5e7eb !important;
    border-color: #1f2a4a !important;
}

.table-hover tbody tr:hover {
    background-color: #16224d !important;
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: #0e162f !important;
}

/* ===== ELIMINAR BORDE BLANCO BOOTSTRAP ===== */

.table,
.table > :not(caption) > * > * {
    border-color: #1f2a4a !important;
}

.table-bordered,
.table-bordered td,
.table-bordered th {
    border-color: #1f2a4a !important;
}

.table-responsive {
    border: none !important;
}

.table-container {
    border: 1px solid #1f2a4a !important;
    box-shadow: none !important;
}

/* Evita línea superior clara */
.table thead,
.table thead tr,
.table thead th {
    border-color: #1f2a4a !important;
}



/* ===== DASHBOARD MENU MODERNO CON SVG ===== */

.dashboard-menu{
    display:flex;
    justify-content:center;
    gap:18px;
    padding:16px 20px;
    background:var(--panel);
    border-bottom:1px solid var(--border);
    flex-wrap:wrap;
}

.dash-link{
    text-decoration:none;
    color:var(--soft);
    font-weight:600;
    font-size:14px;
    padding:8px 16px;
    border-radius:10px;
    transition:all .25s ease;
    position:relative;
    display:flex;
    align-items:center;
    gap:8px;
}

.dash-link svg{
    transition:.3s;
}

.dash-link:hover{
    background:#16224d;
    color:#fff;
    transform:translateY(-2px);
}

.dash-link:hover svg{
    transform:scale(1.1);
}

.dash-link.active{
    background:#1e3a8a;
    color:#fff;
}

/* Indicador animado inferior */
.dash-link.active::after{
    content:"";
    position:absolute;
    bottom:-6px;
    left:20%;
    width:60%;
    height:3px;
    background:#22d3ee;
    border-radius:4px;
    animation:slideIn .3s ease;
}

@keyframes slideIn{
    from{width:0}
    to{width:60%}
}

.logo-right{
    margin-left:auto;
}

.logo-right img{
    height:80px;
    width:auto;
}


.callsign-link{
    text-decoration:none;
    display:inline-flex;
    align-items:center;
}

.qrz-icon{
    opacity:.6;
    transition:.2s ease;
}

.callsign-link:hover .qrz-icon{
    opacity:1;
    transform:translateY(-1px);
}


.stats-wrapper{
display:flex;
gap:20px;
margin:20px 0;
flex-wrap:wrap;
}

.stat-card{
background:#111827;
padding:15px 25px;
border-radius:8px;
text-align:center;
min-width:120px;
}

.stat-title{
font-size:13px;
color:#9ca3af;
}

.stat-number{
font-size:22px;
font-weight:600;
color:#fff;
margin-top:4px;
}
