/* ============================================================
   Sistema - estilos base
   Los colores/fuentes/etc. vienen de variables CSS definidas en
   includes/tema.php (tabla sistema.tema), que se inyectan en el
   <head>. Aqui solo va el layout y reglas estructurales.
   ============================================================ */

/* Pantallas de login centradas y responsive */
.auth-wrapper {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.auth-card {
    width: 100%;
    max-width: 420px;
    border: 0;
    border-radius: var(--app-radius, 1rem);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}
.auth-card .card-body { padding: 2rem 1.75rem; }
.auth-card .brand {
    font-weight: 700;
    color: var(--brand-dark, #084298);
    letter-spacing: .5px;
}

/* ===== Layout admin con sidebar responsive ===== */
.admin-shell { min-height: 100vh; }

.admin-sidebar {
    min-height: 100vh;
}
.admin-sidebar .nav-link {
    padding: .75rem 1rem;
    border-radius: .375rem;
    margin: .15rem .5rem;
}
.admin-sidebar .nav-link:hover,
.admin-sidebar .nav-link.active {
    background: rgba(255, 255, 255, .10);
    color: #fff !important;
}
.admin-sidebar .brand {
    padding: 1.25rem 1rem;
    font-weight: 700;
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.admin-topbar {
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
}

@media (max-width: 991.98px) {
    .admin-sidebar { min-height: auto; }
}

/* Tablas legibles en movil */
.table-responsive { -webkit-overflow-scrolling: touch; }
.table th { white-space: nowrap; }

/* Vista previa de tema (en admin/estilos.php) */
.tema-preview {
    border: 1px solid #e5e7eb;
    border-radius: var(--app-radius, .5rem);
    padding: 1rem;
    background: var(--app-bg, #f5f7fb);
}
.tema-color-swatch {
    width: 1.5rem; height: 1.5rem;
    border-radius: .25rem;
    display: inline-block;
    vertical-align: middle;
    border: 1px solid rgba(0,0,0,.1);
}
