/* ============================================
   NEXUS LEGACY BRIDGE
   Garante que páginas antigas fiquem OK
   Aplica visual mínimo moderno automaticamente
   ============================================ */

/* ==================== AUTO-STYLING PARA PÁGINAS ANTIGAS ==================== */

/* Se a página ainda usa o sistema antigo de cards */
.card:not(.card-nexus) {
    background: var(--nexus-bg-elevated) !important;
    border: 1px solid var(--nexus-glass-border) !important;
    border-radius: var(--nexus-radius-lg) !important;
    backdrop-filter: blur(10px);
    transition: all var(--nexus-transition-base);
}

.card:not(.card-nexus):hover {
    border-color: rgba(255, 255, 255, 0.15);
}

.card-header:not(.card-nexus-header) {
    background: var(--nexus-glass) !important;
    border-bottom: 1px solid var(--nexus-glass-border) !important;
    padding: var(--nexus-space-lg) !important;
    border-radius: var(--nexus-radius-lg) var(--nexus-radius-lg) 0 0 !important;
}

.card-body:not(.card-nexus-body) {
    padding: var(--nexus-space-lg) !important;
}

/* Auto-styling para botões antigos */
.btn:not([class*="btn-nexus"]) {
    border-radius: var(--nexus-radius-md) !important;
    font-weight: 600 !important;
    transition: all var(--nexus-transition-base) !important;
}

.btn-success:not(.btn-nexus-success) {
    background: linear-gradient(135deg, var(--nexus-success), #059669) !important;
    border: none !important;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3) !important;
}

.btn-success:not(.btn-nexus-success):hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(16, 185, 129, 0.4) !important;
}

.btn-primary:not(.btn-nexus-primary) {
    background: linear-gradient(135deg, var(--nexus-primary), var(--nexus-secondary)) !important;
    border: none !important;
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3) !important;
}

.btn-primary:not(.btn-nexus-primary):hover {
    transform: translateY(-2px) !important;
    box-shadow: var(--nexus-glow-primary) !important;
}

.btn-danger:not(.btn-nexus-danger) {
    background: linear-gradient(135deg, var(--nexus-danger), #dc2626) !important;
    border: none !important;
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3) !important;
}

.btn-danger:not(.btn-nexus-danger):hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(239, 68, 68, 0.4) !important;
}

/* Tabelas antigas ficam modernas automaticamente */
.table:not(.table-nexus) {
    width: 100%;
    color: var(--nexus-text-primary) !important;
    border-collapse: separate;
    border-spacing: 0;
}

.table:not(.table-nexus) thead {
    background: var(--nexus-glass) !important;
}

.table:not(.table-nexus) th {
    padding: var(--nexus-space-md) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: var(--nexus-text-secondary) !important;
    border-bottom: 1px solid var(--nexus-glass-border) !important;
    border-top: none !important;
}

.table:not(.table-nexus) td {
    padding: var(--nexus-space-md) !important;
    border-bottom: 1px solid var(--nexus-glass-border) !important;
    border-top: none !important;
    color: var(--nexus-text-primary) !important;
}

.table:not(.table-nexus) tbody tr {
    transition: background var(--nexus-transition-fast) !important;
}

.table:not(.table-nexus) tbody tr:hover {
    background: var(--nexus-glass) !important;
}

/* Table responsive wrapper */
.table-responsive {
    background: transparent !important;
    border-radius: var(--nexus-radius-lg);
    overflow: hidden;
}

/* Forms antigas */
.form-control:not(.form-nexus-input):not(.search-bar) {
    background: var(--nexus-glass) !important;
    border: 1px solid var(--nexus-glass-border) !important;
    border-radius: var(--nexus-radius-md) !important;
    color: var(--nexus-text-primary) !important;
    padding: var(--nexus-space-md) !important;
    transition: all var(--nexus-transition-base) !important;
}

.form-control:not(.form-nexus-input):not(.search-bar)::placeholder {
    color: var(--nexus-text-muted) !important;
}

.form-control:not(.form-nexus-input):not(.search-bar):focus {
    background: var(--nexus-glass-hover) !important;
    border-color: var(--nexus-primary) !important;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1) !important;
}

.form-label:not(.form-nexus-label) {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--nexus-text-secondary) !important;
    margin-bottom: var(--nexus-space-sm) !important;
}

.form-select:not(.form-nexus-select) {
    background: var(--nexus-glass) !important;
    border: 1px solid var(--nexus-glass-border) !important;
    border-radius: var(--nexus-radius-md) !important;
    color: var(--nexus-text-primary) !important;
    padding: var(--nexus-space-md) !important;
    transition: all var(--nexus-transition-base) !important;
}

.form-select:not(.form-nexus-select):focus {
    background: var(--nexus-glass-hover) !important;
    border-color: var(--nexus-primary) !important;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1) !important;
}

/* Text inputs gerais */
input[type="text"]:not(.form-nexus-input):not(.search-bar):not(.nexus-search-input),
input[type="email"]:not(.form-nexus-input),
input[type="password"]:not(.form-nexus-input),
input[type="number"]:not(.form-nexus-input),
input[type="tel"]:not(.form-nexus-input),
input[type="url"]:not(.form-nexus-input),
textarea:not(.form-nexus-textarea) {
    background: var(--nexus-glass) !important;
    border: 1px solid var(--nexus-glass-border) !important;
    border-radius: var(--nexus-radius-md) !important;
    color: var(--nexus-text-primary) !important;
    transition: all var(--nexus-transition-base) !important;
}

input:focus,
textarea:focus,
select:focus {
    outline: none !important;
    border-color: var(--nexus-primary) !important;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1) !important;
}

/* Badges antigas */
.badge:not(.badge-nexus):not(.automation-badge) {
    padding: 4px 12px !important;
    border-radius: var(--nexus-radius-full) !important;
    font-weight: 600 !important;
    font-size: 12px !important;
}

/* Dropdowns */
.dropdown-menu:not(.nexus-dropdown-menu) {
    background: var(--nexus-bg-elevated) !important;
    border: 1px solid var(--nexus-glass-border) !important;
    border-radius: var(--nexus-radius-lg) !important;
    box-shadow: var(--nexus-shadow-xl) !important;
    padding: var(--nexus-space-sm) !important;
}

.dropdown-item:not(.nexus-user-menu-item) {
    color: var(--nexus-text-secondary) !important;
    border-radius: var(--nexus-radius-sm) !important;
    padding: var(--nexus-space-sm) var(--nexus-space-md) !important;
    transition: all var(--nexus-transition-fast) !important;
}

.dropdown-item:not(.nexus-user-menu-item):hover {
    background: var(--nexus-glass) !important;
    color: var(--nexus-text-primary) !important;
}

/* Pagination antiga */
.pagination {
    gap: var(--nexus-space-sm);
}

.page-link {
    background: var(--nexus-glass) !important;
    border: 1px solid var(--nexus-glass-border) !important;
    color: var(--nexus-text-primary) !important;
    border-radius: var(--nexus-radius-md) !important;
    padding: var(--nexus-space-sm) var(--nexus-space-md) !important;
    transition: all var(--nexus-transition-fast) !important;
}

.page-link:hover {
    background: var(--nexus-glass-hover) !important;
    color: var(--nexus-text-primary) !important;
}

.page-item.active .page-link {
    background: linear-gradient(135deg, var(--nexus-primary), var(--nexus-secondary)) !important;
    border-color: transparent !important;
}

/* Breadcrumb antiga */
.breadcrumb:not(.nexus-breadcrumb) {
    background: transparent !important;
    margin-bottom: 0 !important;
}

.breadcrumb-item {
    color: var(--nexus-text-tertiary) !important;
}

.breadcrumb-item.active {
    color: var(--nexus-text-secondary) !important;
}

.breadcrumb-item + .breadcrumb-item::before {
    color: var(--nexus-text-muted) !important;
}

/* Icons */
i {
    color: inherit !important;
}

/* Links */
a:not(.btn):not(.nav-link):not(.dropdown-item):not([class*="btn-nexus"]) {
    color: var(--nexus-primary-light) !important;
    transition: color var(--nexus-transition-fast) !important;
}

a:not(.btn):not(.nav-link):not(.dropdown-item):not([class*="btn-nexus"]):hover {
    color: var(--nexus-primary) !important;
}

/* ==================== SPECIFIC PAGE FIXES ==================== */

/* Garante que col-12 ocupe espaço correto */
.col-12 {
    width: 100%;
}

/* Remove paddings excessivos */
.px-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.pt-0 {
    padding-top: 0 !important;
}

.pb-2 {
    padding-bottom: var(--nexus-space-sm) !important;
}

/* Margins */
.mb-0 {
    margin-bottom: 0 !important;
}

.mb-2 {
    margin-bottom: var(--nexus-space-sm) !important;
}

.mb-4 {
    margin-bottom: var(--nexus-space-lg) !important;
}

.mt-3 {
    margin-top: var(--nexus-space-md) !important;
}

/* Gap utilities */
.gap-2 {
    gap: var(--nexus-space-sm) !important;
}

/* Flex utilities */
.d-flex {
    display: flex !important;
}

.flex-column {
    flex-direction: column !important;
}

.justify-content-between {
    justify-content: space-between !important;
}

.align-items-center {
    align-items: center !important;
}

/* ==================== SPINNER/LOADING ==================== */

.spinner-border:not(.nexus-loader) {
    color: var(--nexus-primary) !important;
    border-color: var(--nexus-glass-border) !important;
    border-top-color: var(--nexus-primary) !important;
}

/* ==================== TEXT UTILITIES ==================== */

.text-center {
    text-align: center !important;
}

.text-end {
    text-align: end !important;
}

.text-uppercase {
    text-transform: uppercase !important;
}

.font-weight-bold {
    font-weight: 700 !important;
}

.text-sm {
    font-size: 14px !important;
}

.text-xs {
    font-size: 13px !important;
}

/* ==================== ICONS PLACEHOLDER ==================== */

/* Se não tiver ícone, pelo menos fica invisível e não quebra */
.ni,
.fa,
.bi {
    display: inline-block;
    font-style: normal;
}

/* ==================== FIX SPECIFIC ISSUES ==================== */

/* Remove outline do botão de toggle da sidebar antiga (que está oculta) */
#iconNavbarSidenav {
    display: none !important;
}

/* Remove fixed plugin button */
.fixed-plugin-button-nav {
    display: none !important;
}

/* Remove notificações antigas do header antigo */
#dropdownMenuButton {
    display: none !important;
}

/* Garante que elementos ocultos não ocupem espaço */
[style*="display: none"],
[style*="display:none"] {
    display: none !important;
}

/* ==================== PRINT STYLES ==================== */

@media print {
    .nexus-sidebar,
    .nexus-header,
    .nexus-footer,
    .btn,
    button {
        display: none !important;
    }
    
    body {
        background: white !important;
    }
    
    * {
        color: black !important;
    }
}





