/* Sidebar */
.sidebar {
    border-right: 1px solid #dee2e6;
    min-height: calc(100vh - 56px);
}
.sidebar .nav-link {
    color: #495057;
    padding: 0.4rem 1rem;
    border-radius: 6px;
    transition: background 0.15s;
}
.sidebar .nav-link:hover {
    background-color: #e9ecef;
    color: #0d6efd;
}
.sidebar .fw-semibold {
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* Cards dashboard */
.card-footer {
    background: rgba(0,0,0,0.1);
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
}

/* Tabla responsive */
.table td, .table th {
    vertical-align: middle;
}
