
/* ===== Overrides para melhorar modais e inputs ===== */
.modal { display: none; }
.modal.open { display: block; }
.modal-content { border: 1px solid var(--border-color); box-shadow: var(--shadow-xl); }
.modal-form { padding: var(--spacing-8); }
.form-group label { display: block; margin-bottom: var(--spacing-2); font-weight: 600; color: var(--text-secondary); }
.form-group input,
.form-group textarea,
.form-group select {
  width: 100%;
  min-height: 44px;
  padding: var(--spacing-3) var(--spacing-4);
  border: 2px solid var(--border-color);
  border-radius: var(--border-radius-xl);
  background-color: var(--bg-secondary);
  color: var(--text-primary) !important;
  outline: none;
}
.form-group textarea { min-height: 100px; resize: vertical; }
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus { border-color: var(--primary-color); box-shadow: 0 0 0 4px rgba(99,102,241,0.15); }
::placeholder { color: var(--text-muted) !important; opacity: 1; }

/* Botões primários dos modais */
.modal-actions button.primary {
  background: var(--primary-gradient);
  color: #fff;
  border: none;
  border-radius: var(--border-radius-lg);
  padding: var(--spacing-3) var(--spacing-5);
  font-weight: 700;
  cursor: pointer;
  transition: transform var(--transition-fast);
}
.modal-actions button.primary:hover { transform: translateY(-1px); }

/* Layout dos campos em grid nas modais */
.modal-form .grid { display: grid; gap: var(--spacing-4); }
@media (min-width: 768px) {
  .modal-form .grid-2 { grid-template-columns: 1fr 1fr; }
}

/* Ajustes de contraste em tema claro/escuro */
body.dark-theme .modal-content { background: var(--bg-card); }
body.dark-theme .form-group input,
body.dark-theme .form-group textarea,
body.dark-theme .form-group select { background: var(--bg-tertiary); }

/* Loader overlay global (ativado via JS) */
#global-loader {
  display: none;
  position: fixed; inset: 0; z-index: 2000;
  background: rgba(15,23,42,.5);
  align-items: center; justify-content: center;
  backdrop-filter: blur(4px);
}
#global-loader.active { display: flex; }
#global-loader .spinner {
  width: 56px; height: 56px; border-radius: 9999px;
  border: 6px solid #fff3; border-top-color: #fff;
  animation: spin 1s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* Botões extras na header */
.nav-menu .nav-btn { gap: .5rem; }
