/* ===== FileGate Dark Theme Override ===== */
:root {
  --fg-bg: #07090F;
  --fg-surface: #0E1118;
  --fg-surface2: #161B26;
  --fg-border: #2A3448;
  --fg-text: #F1F5F9;
  --fg-muted: #94A3B8;
  --fg-blue: #3B82F6;
  --fg-blue-hover: #2563EB;
}

html, body, #__next {
  background-color: var(--fg-bg) !important;
  color: var(--fg-text) !important;
}

/* ===== AppShell ===== */
.mantine-AppShell-root, .mantine-AppShell-main, [class*='AppShell'] {
  background-color: var(--fg-bg) !important;
}

/* ===== Header / Nav ===== */
header, nav, [class*='Header-root'], [class*='Navbar'] {
  background-color: var(--fg-surface) !important;
  border-bottom: 1px solid var(--fg-border) !important;
}

/* ===== Paper / Card ===== */
.mantine-Paper-root, .mantine-Card-root, [class*='Paper-root'], [class*='Card-root'] {
  background-color: var(--fg-surface) !important;
  border: 1px solid var(--fg-border) !important;
  color: var(--fg-text) !important;
}

/* ===== Inputs ===== */
.mantine-Input-input, .mantine-TextInput-input, .mantine-PasswordInput-input,
input[type='text'], input[type='email'], input[type='password'],
[class*='Input-input'], [class*='Select-input'], [class*='NativeSelect-input'] {
  background-color: var(--fg-surface2) !important;
  border: 1px solid var(--fg-border) !important;
  color: var(--fg-text) !important;
}
input::placeholder, textarea::placeholder { color: var(--fg-muted) !important; }

/* ===== Labels ===== */
label, [class*='InputWrapper-label'], [class*='InputWrapper-description'] {
  color: var(--fg-text) !important;
}

/* ===== ALL TEXT elements — força branco ===== */
* { color: inherit; }
p, span, div, li, td, th, h1, h2, h3, h4, h5, h6,
[class*='Text-root'], [class*='Title-root'],
[class*='label'], [class*='Label'] {
  color: var(--fg-text) !important;
}

/* muted exceptions */
[class*='description'], [class*='helper'], [class*='Caption'],
[class*='muted'], small, time {
  color: var(--fg-muted) !important;
}

/* ===== Buttons ===== */
[class*='Button-root'][data-variant='filled'] {
  background-color: var(--fg-blue) !important;
  color: #fff !important;
  border: none !important;
}
[class*='Button-root'][data-variant='filled']:hover { background-color: var(--fg-blue-hover) !important; }
[class*='Button-root'][data-variant='subtle'],
[class*='Button-root'][data-variant='outline'] {
  color: var(--fg-blue) !important;
  border-color: var(--fg-blue) !important;
  background: transparent !important;
}

/* ===== Anchor ===== */
a, [class*='Anchor-root'] { color: var(--fg-blue) !important; }

/* ===== Accordion — FIX PRINCIPAL ===== */
[class*='Accordion-root'] { background: transparent !important; }

[class*='Accordion-item'] {
  background-color: var(--fg-surface2) !important;
  border: 1px solid var(--fg-border) !important;
  border-radius: 6px !important;
  margin-bottom: 6px !important;
  overflow: hidden !important;
}

[class*='Accordion-control'] {
  background-color: var(--fg-surface2) !important;
  color: var(--fg-text) !important;
}
[class*='Accordion-control']:hover {
  background-color: #1E2535 !important;
}

/* força texto no accordion a ser visível */
[class*='Accordion-label'],
[class*='Accordion-label'] *,
[class*='Accordion-control'] span,
[class*='Accordion-control'] p,
[class*='Accordion-control'] div {
  color: var(--fg-text) !important;
}

[class*='Accordion-chevron'] { color: var(--fg-muted) !important; }

[class*='Accordion-panel'],
[class*='Accordion-content'] {
  background-color: var(--fg-surface2) !important;
  color: var(--fg-text) !important;
}
[class*='Accordion-panel'] *, [class*='Accordion-content'] * {
  color: var(--fg-text) !important;
}

/* ===== Checkbox ===== */
[class*='Checkbox-input'] {
  background-color: var(--fg-surface2) !important;
  border: 2px solid var(--fg-border) !important;
}
[class*='Checkbox-label'] { color: var(--fg-text) !important; }

/* ===== NumberInput ===== */
[class*='NumberInput-control'] {
  background-color: var(--fg-surface2) !important;
  border-color: var(--fg-border) !important;
  color: var(--fg-muted) !important;
}
[class*='NumberInput-control']:hover { background-color: #1E2535 !important; }

/* ===== Select dropdown ===== */
[class*='Select-dropdown'], [class*='Combobox-dropdown'] {
  background-color: var(--fg-surface) !important;
  border: 1px solid var(--fg-border) !important;
}
[class*='Select-option'], [class*='Combobox-option'] {
  color: var(--fg-text) !important;
}
[class*='Select-option'][data-selected],
[class*='Combobox-option'][data-selected] {
  background-color: var(--fg-surface2) !important;
}

/* ===== Modal ===== */
[class*='Modal-content'], [class*='Modal-header'], [class*='Modal-body'] {
  background-color: var(--fg-surface) !important;
  color: var(--fg-text) !important;
  border: 1px solid var(--fg-border) !important;
}
[class*='Modal-overlay'] { background-color: rgba(0,0,0,0.7) !important; }
[class*='Modal-title'] { color: var(--fg-text) !important; }
[class*='Modal-close'] { color: var(--fg-muted) !important; }

/* ===== Table ===== */
table, [class*='Table-root'] {
  background-color: var(--fg-surface) !important;
  color: var(--fg-text) !important;
}
th { color: var(--fg-muted) !important; border-bottom: 1px solid var(--fg-border) !important; }
td { border-bottom: 1px solid var(--fg-border) !important; }
tr:hover td { background-color: var(--fg-surface2) !important; }

/* ===== Dropzone ===== */
[class*='Dropzone'], [class*='Dropzone-root'] {
  background-color: var(--fg-surface2) !important;
  border: 2px dashed var(--fg-border) !important;
  color: var(--fg-muted) !important;
}

/* ===== Menu ===== */
[class*='Menu-dropdown'] {
  background-color: var(--fg-surface) !important;
  border: 1px solid var(--fg-border) !important;
}
[class*='Menu-item'] { color: var(--fg-text) !important; }
[class*='Menu-item']:hover { background-color: var(--fg-surface2) !important; }

/* ===== Misc ===== */
[class*='Divider-root'], hr { border-color: var(--fg-border) !important; }
[class*='Notification-root'] {
  background-color: var(--fg-surface) !important;
  border: 1px solid var(--fg-border) !important;
  color: var(--fg-text) !important;
}
[class*='Popover-dropdown'] {
  background-color: var(--fg-surface) !important;
  border: 1px solid var(--fg-border) !important;
}
[class*='Progress-root'] { background-color: var(--fg-surface2) !important; }
[class*='Badge-root'] {
  background-color: var(--fg-surface2) !important;
  color: var(--fg-text) !important;
}

/* ===== Scrollbar ===== */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--fg-bg); }
::-webkit-scrollbar-thumb { background: var(--fg-border); border-radius: 3px; }

/* ===== BUTTONS — Força azul em todos os botões primários ===== */
button,
[class*='Button-root'],
[class*='ActionIcon-root'],
[class*='UnstyledButton-root'] {
  background-color: var(--fg-blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
}

button:hover,
[class*='Button-root']:hover,
[class*='ActionIcon-root']:hover {
  background-color: var(--fg-blue-hover) !important;
  color: #fff !important;
}

/* Botões de ícone no header (link, user) — mais subtis */
header button,
header [class*='ActionIcon-root'],
nav button,
nav [class*='ActionIcon-root'] {
  background-color: transparent !important;
  border: 1px solid var(--fg-border) !important;
  color: var(--fg-muted) !important;
}
header button:hover,
nav button:hover {
  background-color: var(--fg-surface2) !important;
  color: var(--fg-text) !important;
}

/* Upload button no header — deve ser azul destaque */
header [class*='Button-root']:not([class*='ActionIcon']) {
  background-color: var(--fg-blue) !important;
  color: #fff !important;
  border: none !important;
}

/* Botão de fechar modal (X) — não azul */
[class*='Modal-close'],
[class*='CloseButton-root'] {
  background-color: transparent !important;
  color: var(--fg-muted) !important;
  border: none !important;
}
[class*='Modal-close']:hover,
[class*='CloseButton-root']:hover {
  background-color: var(--fg-surface2) !important;
  color: var(--fg-text) !important;
}

/* Botão submit/danger — vermelho */
button[data-variant='danger'],
[class*='Button-root'][data-variant='danger'] {
  background-color: #EF4444 !important;
  color: #fff !important;
}
