@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&display=swap');


/* Global Theme Variables (Matches Navbar/Sidebar V3 Logic) */
/* Default: Dark Mode */
:root {
    /* Base Colors & Layout */
    --bg-body: linear-gradient(180deg, #1a1a1a 0%, #000000 100%);
    --bg-card: #141414;
    --border-color: #262626;
    --shadow-soft: 0 4px 6px -1px rgba(0, 253, 84, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.2);

    /* Text Colors */
    --text-primary: #ffffff;
    --text-secondary: #a3a3a3;
    --text-muted: #737373;
    --text-white: #ffffff;

    /* Brand Identity */
    --brand-green: #00FD54;
    --brand-green-dim: rgba(0, 253, 84, 0.1);
}

/* Light Mode Override */
:root.light-theme {
    /* Base Colors & Layout */
    --bg-body: #f8f9fa;
    --bg-card: #ffffff;
    --border-color: #E5E7EB;
    --shadow-soft: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);

    /* Text Colors */
    --text-primary: #1F2937;
    --text-secondary: #4B5563;
    --text-muted: #9CA3AF;
    --text-white: #ffffff;
}

/* Force Poppins font family and normalize font weights */
body, body * {
    font-family: 'Poppins', sans-serif !important;
}

body {
    background: var(--bg-body);
    /* Replaces fixed color */
    color: var(--text-primary);
    font-family: 'Poppins', sans-serif;
    min-height: 100vh;
}

/* Normalize font weights to prevent excessive bold rendering */
strong, b, .font-bold {
    font-weight: 600 !important;
}

/* Ensure normal text weight */
p, td, th, div {
    font-weight: 400 !important;
}

/* Override inline font-family styles */
[style*="font-family"] {
    font-family: 'Poppins', sans-serif !important;
}

/* Reset excessive font weights */
[style*="font-weight: bolder"],
[style*="font-weight: bold"] {
    font-weight: 600 !important;
}

[x-cloak] {
    display: none !important;
}

/* Remove Bootstrap focus ring */
.no-focus-ring:focus {
    box-shadow: none !important;
    outline: none !important;
}

/* Custom background color - Usage depreciated by theme? Keeping for legacy */
.bg-ax {
    background-color: #031D49 !important;
}

.modal-w-large {
    max-width: 1800px;
}

/* Garante que a imagem não ultrapasse o modal */
.modal-content img {
    max-height: 80vh;
    object-fit: contain;
}

/* Melhora o fechamento do modal */
.modal-header .btn-close {
    padding: 0.5rem;
    margin: -0.5rem -0.5rem -0.5rem auto;
}

/* Accessibility helpers */
.cursor-help {
    cursor: help;
}

.cursor-pointer {
    cursor: pointer;
}

.cursor-progress {
    cursor: progress;
}

.cursor-wait {
    cursor: wait;
}

.cursor-context-menu {
    cursor: context-menu;
}

/* Text and selection helpers */
.cursor-text {
    cursor: text;
}

.cursor-vertical-text {
    cursor: vertical-text;
}

.cursor-cell {
    cursor: cell;
}

.cursor-copy {
    cursor: copy;
}

.cursor-alias {
    cursor: alias;
}

/* Drag and drop helpers */
.cursor-grab {
    cursor: grab;
}

.cursor-grabbing {
    cursor: grabbing;
}

.cursor-move {
    cursor: move;
}

.cursor-no-drop {
    cursor: no-drop;
}

.cursor-not-allowed {
    cursor: not-allowed;
}