/* Skin: Enterprise - Plano, denso, compacto */
/* Estilo corporativo: sin sombras, sin gradientes, sin bordes redondeados >3px */

/* ── Variables estructurales ── */
:root {
    --radius: 3px;
    --radius-sm: 3px;
    --shadow: none;
    --shadow-lg: none;
    --topbar-height: 52px;
}

/* ── Layout Header ── */
.app-header {
    box-shadow: none;
    padding: 0 0.75rem;
}
.header-brand {
    font-size: 0.95rem;
}
.nav-menu-link {
    padding: 0.4rem 0.65rem;
    font-size: 0.83rem;
}
button.nav-menu-link {
    font-size: 0.83rem;
}
.nav-dropdown-menu .dropdown-item {
    padding: 0.3rem 0.75rem;
    font-size: 0.82rem;
}
.header-profile {
    padding: 0.2rem 0.4rem;
}

/* ── Mobile Sidebar ── */
.mobile-sidebar {
    background: var(--primary, #1e40af); /* sólido, sin gradient */
}
.mobile-sidebar-header {
    padding: 0.6rem 0.85rem;
}
.mobile-sidebar .sidebar-brand {
    font-size: 0.95rem;
}
.mobile-sidebar .nav-link {
    padding: 0.5rem 0.85rem;
    font-size: 0.83rem;
}
.mobile-sidebar-footer {
    padding: 0.5rem 0.85rem;
}
.sidebar-grupo-header {
    padding: 0.4rem 0.85rem 0.15rem;
    font-size: 0.65rem;
}

/* ── Cards (sin sombra, compactas) ── */
.card {
    box-shadow: none;
    border-radius: var(--radius);
}
.card-header {
    padding: 0.65rem 0.85rem;
    font-size: 0.85rem;
}
.card-body {
    padding: 0.85rem;
}
.card-footer {
    padding: 0.55rem 0.85rem;
}

/* ── Tablas densas ── */
.table {
    font-size: 0.83rem;
}
.table th {
    padding: 0.5rem 0.65rem;
    border-bottom-width: 1px;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.table td {
    padding: 0.45rem 0.65rem;
}
.table-actions .btn {
    padding: 0.15rem 0.4rem;
    font-size: 0.75rem;
}

/* ── Botones compactos ── */
.btn {
    padding: 0.4rem 0.75rem;
    font-size: 0.83rem;
    border-radius: var(--radius);
    box-shadow: none;
}
.btn:hover {
    box-shadow: none;
}
.btn:focus {
    box-shadow: none;
}
.btn-sm {
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
}
.btn-lg {
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
}
.btn-primary {
    background: var(--primary, #1e40af);
    border-color: var(--primary, #1e40af);
}
.btn-primary:hover {
    background: var(--primary-light, #1e3a8a);
    border-color: var(--primary-light, #1e3a8a);
}
.btn-outline-primary {
    color: var(--primary, #1e40af);
    border-color: var(--primary, #1e40af);
}
.btn-outline-primary:hover {
    background: var(--primary, #1e40af);
    color: #fff;
}

/* ── Badges planos ── */
.badge {
    border-radius: var(--radius);
    font-weight: 500;
    padding: 0.2em 0.5em;
}

/* ── Formularios compactos ── */
.form-group {
    margin-bottom: 0.75rem;
}
.form-label {
    font-size: 0.83rem;
    margin-bottom: 0.2rem;
}
.form-control {
    padding: 0.4rem 0.55rem;
    font-size: 0.85rem;
    border-radius: var(--radius);
    box-shadow: none;
}
.form-control:focus {
    box-shadow: none;
}
.form-control-sm {
    padding: 0.3rem 0.5rem;
    font-size: 0.8rem;
}

/* ── Select ── */
.form-select {
    padding: 0.4rem 0.55rem;
    font-size: 0.85rem;
    border-radius: var(--radius);
}

/* ── Page Header ── */
.page-header {
    margin-bottom: 0.85rem;
}
.page-header h1 {
    font-size: 1.15rem;
}

/* ── Filtros ── */
.filters-bar {
    box-shadow: none;
    border-radius: var(--radius);
    padding: 0.65rem 0.85rem;
    margin-bottom: 0.85rem;
}

/* ── Stats ── */
.stat-card {
    box-shadow: none;
    border-radius: var(--radius);
    padding: 0.85rem;
}
.stat-card:hover {
    box-shadow: none;
    transform: none;
}
.stat-value {
    font-size: 1.4rem;
}
.stat-label {
    font-size: 0.78rem;
}
.stat-icon {
    width: 40px;
    height: 40px;
    font-size: 1rem;
    border-radius: var(--radius);
}

/* ── Paginación compacta ── */
.pagination {
    margin: 0;
}
.page-link {
    padding: 0.3rem 0.6rem;
    font-size: 0.83rem;
    border-radius: var(--radius) !important;
    margin: 0 1px;
}

/* ── Alertas planas ── */
.alert {
    border-radius: var(--radius);
    box-shadow: none;
    padding: 0.65rem 0.85rem;
    font-size: 0.85rem;
    border: 1px solid transparent;
}

/* ── Modal ── */
.modal-content {
    border-radius: var(--radius);
    box-shadow: none;
}
.modal-header {
    padding: 0.75rem 0.85rem;
    border-bottom-width: 1px;
}
.modal-body {
    padding: 0.85rem;
}
.modal-footer {
    padding: 0.65rem 0.85rem;
    border-top-width: 1px;
}

/* ── Dropdown ── */
.dropdown-menu {
    border-radius: var(--radius);
    box-shadow: none;
    padding: 0.25rem 0;
}
.dropdown-item {
    padding: 0.35rem 0.85rem;
    font-size: 0.83rem;
}

/* ── Pestañas / Tabs ── */
.nav-tabs {
    border-bottom: 1px solid var(--border, #d1d5db);
}
.nav-tabs .nav-link {
    border: none;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    padding: 0.5rem 0.75rem;
    font-size: 0.85rem;
}
.nav-tabs .nav-link.active {
    border-bottom-color: var(--primary, #1e40af);
    background: none;
}
.nav-tabs .nav-link:hover {
    border-bottom-color: var(--primary-light, #1e3a8a);
}

/* ── Breadcrumb ── */
.breadcrumb {
    font-size: 0.83rem;
    padding: 0.5rem 0;
}

/* ── Empty State ── */
.empty-state {
    padding: 2rem 1rem;
}
.empty-state i {
    font-size: 2rem;
}

/* ── Login / Public ── */
.public-main {
    background: var(--primary, #1e40af); /* sólido, sin gradient */
}

/* ── Tabla con hover sutil ── */
.table tr:hover {
    background: var(--hover-bg, #f3f4f6);
}

/* ── Skin Selector ── */
.skin-preview {
    border-radius: var(--radius);
}

/* ── Badge dentro de tabla ── */
.table .badge {
    font-size: 0.7rem;
}

/* ── Modales de confirmación ── */
.modal-backdrop {
    opacity: 0.4;
}

/* ── Selector de apariencia ── */
.dropdown-item.active, .dropdown-item:active {
    background: var(--primary, #1e40af);
}

/* ── Tooltips ── */
.tooltip-inner {
    border-radius: var(--radius);
}

/* ── Stats icons enterprise (tonos más sobrios) ── */
.stat-icon.blue   { background: rgba(30, 64, 175, 0.12); color: #1e40af; }
.stat-icon.green  { background: rgba(21, 128, 61, 0.12); color: #15803d; }
.stat-icon.orange { background: rgba(180, 83, 9, 0.12);  color: #b45309; }
.stat-icon.red    { background: rgba(185, 28, 28, 0.12); color: #b91c1c; }
.stat-icon.purple { background: rgba(107, 114, 128, 0.12); color: #6b7280; }

/* ── Popovers ── */
.popover {
    border-radius: var(--radius);
    box-shadow: none;
}
