/* 
 * PALETA DE CORES GLOBAL - AGENDA TÉCNICA DE QUALIDADE
 * Esta paleta deve ser aplicada em TODAS as páginas HTML e modais
 * Tema: Profissional Corporativo
 */

:root {
  /* Cores Primárias */
  --primary-navy: #2c3e50;
  --primary-blue: #3498db;
  --primary-dark: #1a252f;
  
  /* Cores Secundárias */
  --secondary-blue: #2980b9;
  --secondary-light: #34495e;
  --accent-blue: #3498db;
  
  /* Cores de Background */
  --bg-primary: #f8f9fa;
  --bg-secondary: #ffffff;
  --bg-dark: #2c3e50;
  --bg-modal: rgba(255, 255, 255, 0.95);
  
  /* Cores de Texto */
  --text-primary: #2c3e50;
  --text-secondary: #34495e;
  --text-light: #7f8c8d;
  --text-white: #ffffff;
  --text-muted: #95a5a6;
  
  /* Cores de Borda */
  --border-primary: #bdc3c7;
  --border-secondary: #ecf0f1;
  --border-accent: #3498db;
  --border-dark: #2c3e50;
  
  /* Cores de Estado */
  --success: #27ae60;
  --warning: #f39c12;
  --error: #e74c3c;
  --info: #3498db;
  
  /* Cores de Hover */
  --hover-primary: #34495e;
  --hover-secondary: #2980b9;
  --hover-light: #ecf0f1;
  
  /* Sombras */
  --shadow-light: 0 2px 4px rgba(44, 62, 80, 0.1);
  --shadow-medium: 0 4px 8px rgba(44, 62, 80, 0.15);
  --shadow-heavy: 0 8px 16px rgba(44, 62, 80, 0.2);
  
  /* Gradientes */
  --gradient-primary: linear-gradient(135deg, #2c3e50, #34495e);
  --gradient-secondary: linear-gradient(135deg, #3498db, #2980b9);
  --gradient-accent: linear-gradient(135deg, #34495e, #2c3e50);
}

/* Reset Global */
* {
  box-sizing: border-box;
}

/* Estilos Base do Body */
body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  background-color: var(--bg-primary) !important;
  color: var(--text-primary) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.6 !important;
}

/* Títulos Globais */
h1, h2, h3, h4, h5, h6 {
  color: var(--text-primary) !important;
  font-weight: 600 !important;
  margin-bottom: 1rem !important;
}

h1 {
  font-size: 2.5rem !important;
  border-bottom: 3px solid var(--border-accent) !important;
  padding-bottom: 0.5rem !important;
}

/* Botões Globais */
button, .btn, input[type="submit"], input[type="button"] {
  background: var(--gradient-secondary) !important;
  color: var(--text-white) !important;
  border: 1px solid var(--border-accent) !important;
  padding: 12px 24px !important;
  border-radius: 5px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  text-transform: none !important;
  letter-spacing: 0.5px !important;
}

button:hover, .btn:hover, input[type="submit"]:hover, input[type="button"]:hover {
  background: var(--gradient-accent) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-medium) !important;
  border-color: var(--primary-navy) !important;
}

button:active, .btn:active {
  transform: translateY(0) !important;
}

/* Campos de Input Globais */
input[type="text"], 
input[type="email"], 
input[type="password"], 
input[type="number"], 
input[type="date"], 
input[type="time"], 
input[type="datetime-local"],
select, 
textarea {
  border: 2px solid var(--border-primary) !important;
  border-radius: 5px !important;
  padding: 12px !important;
  font-size: 14px !important;
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  transition: all 0.3s ease !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

input:focus, select:focus, textarea:focus {
  outline: none !important;
  border-color: var(--border-accent) !important;
  box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.2) !important;
  background-color: #f8f9fa !important;
}

input::placeholder, textarea::placeholder {
  color: var(--text-light) !important;
  font-style: italic !important;
}

/* Containers Globais */
.container {
  background: var(--bg-modal) !important;
  border-radius: 8px !important;
  box-shadow: var(--shadow-medium) !important;
  border: 1px solid var(--border-secondary) !important;
  padding: 2rem !important;
  margin: 1rem auto !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

/* Modais Globais */
.modal {
  background-color: rgba(44, 62, 80, 0.8) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
}

.modal-content {
  background: var(--bg-modal) !important;
  border: 2px solid var(--border-accent) !important;
  border-radius: 10px !important;
  box-shadow: var(--shadow-heavy) !important;
  color: var(--text-primary) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
}

/* Tables Globais */
table {
  background-color: var(--bg-secondary) !important;
  border-collapse: collapse !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: var(--shadow-medium) !important;
  width: 100% !important;
}

th {
  background: var(--gradient-primary) !important;
  color: var(--text-white) !important;
  font-weight: 600 !important;
  padding: 15px !important;
  text-align: left !important;
  border-bottom: 2px solid var(--border-accent) !important;
}

td {
  padding: 12px 15px !important;
  border-bottom: 1px solid var(--border-secondary) !important;
  color: var(--text-primary) !important;
}

tr:nth-child(even) {
  background-color: #f8f9fa !important;
}

tr:hover {
  background-color: var(--hover-light) !important;
}

/* Links Globais */
a {
  color: var(--accent-blue) !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}

a:hover {
  color: var(--hover-secondary) !important;
  text-decoration: underline !important;
}

/* Alertas e Mensagens */
.alert, .message {
  padding: 15px !important;
  border-radius: 5px !important;
  margin-bottom: 1rem !important;
  border-left: 4px solid !important;
}

.alert-success, .message-success {
  background-color: rgba(39, 174, 96, 0.1) !important;
  border-left-color: var(--success) !important;
  color: #155724 !important;
}

.alert-warning, .message-warning {
  background-color: rgba(243, 156, 18, 0.1) !important;
  border-left-color: var(--warning) !important;
  color: #856404 !important;
}

.alert-error, .message-error {
  background-color: rgba(231, 76, 60, 0.1) !important;
  border-left-color: var(--error) !important;
  color: #721c24 !important;
}

/* Scrollbars Personalizadas */
::-webkit-scrollbar {
  width: 8px !important;
}

::-webkit-scrollbar-track {
  background: var(--bg-primary) !important;
}

::-webkit-scrollbar-thumb {
  background: var(--border-primary) !important;
  border-radius: 4px !important;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--text-secondary) !important;
}

/* Utilitários de Texto */
.text-center {
  text-align: center !important;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.text-primary {
  color: var(--text-primary) !important;
}

.text-secondary {
  color: var(--text-secondary) !important;
}

.text-white {
  color: var(--text-white) !important;
}

/* Classes de Background */
.bg-primary {
  background-color: var(--bg-primary) !important;
}

.bg-secondary {
  background-color: var(--bg-secondary) !important;
}

.bg-dark {
  background-color: var(--bg-dark) !important;
}