* {
  box-sizing: border-box;
  line-height: 1.5;
  font-family: sans-serif;
}

/* Variáveis CSS para o tema clean */
:root {
  /* Cores principais - Clean theme */
  --color-primary: #2563eb;
  --color-primary-hover: #1d4ed8;
  --color-secondary: #6b7280;
  --color-success: #059669;
  --color-success-hover: #047857;
  --color-warning: #d97706;
  --color-danger: #dc2626;
  --color-danger-hover: #b91c1c;
  --color-info: #0891b2;

  /* Cores de fundo */
  --color-bg-main: #ffffff;
  --color-bg-secondary: #f8fafc;
  --color-bg-tertiary: #f1f5f9;
  --color-bg-hover: #f3f4f6;
  --color-bg-disabled: #e9ecef;

  /* Cores de texto */
  --color-text-primary: #1f2937;
  --color-text-secondary: #6b7280;
  --color-text-muted: #9ca3af;
  --color-text-inverse: #ffffff;
  --color-muted: #495057;
  --color-text-dark: #212529;

  /* Cor de borda única */
  --border-color: #d1d5db;
  --border-color-light: #e3e6f0;

  /* Sistema de espaçamento (8px grid) */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --space-3xl: 64px;

  /* Border radius único */
  --radius: 5px;

  /* Tamanhos de fonte padronizados */
  --font-small: 14px;
  --font-large: 20px;

  /* Z-index */
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-popover: 1060;
  --z-tooltip: 1070;

  /* Dimensões de layout */
  --header-height: 48px;
  --toolbar-height: 48px;

  /* Cores específicas para dark mode */
  --color-bg-dark: #1a1a1a;
  --color-bg-dark-secondary: #2d2d2d;
  --color-bg-dark-tertiary: #3a3a3a;
  --color-text-dark-primary: #e5e7eb;
  --color-text-dark-secondary: #9ca3af;
  --color-border-dark: #404040;

  /* Cores de toast (consolidar hardcoded) */
  --color-toast-success: #10b981;
  --color-toast-error: #ef4444;
  --color-toast-warning: #f59e0b;
  --color-toast-info: #3b82f6;

  /* Cores de tabelas (consolidar hardcoded) */
  --color-table-header: #f8f9fa;
  --color-table-border: #dee2e6;
  --color-table-hover: #f1f3f5;
  --color-table-stripe: #f8f9fa;
  --color-table-text: #495057;
  --color-table-text-muted: #868e96;
}

/* Tema escuro ativado via data-theme="dark" */
[data-theme="dark"] {
  /* Backgrounds escuros */
  --color-bg-main: var(--color-bg-dark);
  --color-bg-secondary: var(--color-bg-dark-secondary);
  --color-bg-tertiary: var(--color-bg-dark-tertiary);
  --color-bg-hover: #4a4a4a;

  /* Textos brancos em dark mode */
  --color-text-primary: white;
  --color-text-secondary: white;
  --color-text-muted: white;
  --color-text-dark: white;
  --color-muted: white;

  /* Bordas escuras */
  --border-color: var(--color-border-dark);
  --border-color-light: #505050;

  /* Ajustes de contraste para cores principais em dark mode */
  --color-primary: #3b82f6;
  --color-primary-hover: #60a5fa;
  --color-success: #10b981;
  --color-success-hover: #34d399;
  --color-danger: #ef4444;
  --color-danger-hover: #f87171;
  --color-warning: #fbbf24;
  --color-info: #22d3ee;

  /* Tabelas em dark mode */
  --color-table-header: var(--color-bg-dark-tertiary);
  --color-table-border: var(--color-border-dark);
  --color-table-hover: var(--color-bg-dark-tertiary);
  --color-table-stripe: var(--color-bg-dark-secondary);
  --color-table-text: var(--color-text-dark-primary);
  --color-table-text-muted: var(--color-text-dark-secondary);
}

/* Transições suaves para mudança de tema */
* {
  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease;
}

/* Remover transição de transform e outras propriedades que podem causar problemas */
*:where(:not(:has(> *))) {
  transition-property: background-color, color, border-color;
}

body {
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
    Arial, sans-serif;
  background-color: var(--color-bg-secondary);
  color: var(--color-text-primary);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
}

/* Links */
a {
  color: var(--color-primary);
  text-decoration: none;
}

a:hover {
  color: var(--color-primary-hover);
}

/* === LAYOUT E ESTRUTURA === */

/* Container principal */
#container {
  width: 100%;
  height: calc(100vh - var(--header-height));
  overflow-y: auto;
}

/* Toolbar sticky */
#toolbar {
  position: sticky;
  top: 0;
  z-index: 10;
  background: var(--color-bg-main);
}

/* Sub-container para content + sidebar */
main {
  display: flex;
  height: 100%;
}

/* Seções dentro do conteúdo */
.section {
  background-color: var(--color-bg-main);
  border-radius: var(--radius);
  margin-bottom: var(--space-lg);
  overflow: hidden;
}

#content {
  padding: 15px;
}
