/* BI Soaco v2 shared screen theme.
   Presentation-only overrides for auth and admin pages. */
:root {
  --bg: #14130f;
  --surface: #1c1b16;
  --surface-2: #211f1a;
  --surface-3: #2a2722;
  --border: #302c25;
  --border-light: #433d33;
  --text: #f0ece1;
  --text-mid: #bcb5a7;
  --text-dim: #837b6d;
  --accent: #3b82f6;
  --accent-glow: rgba(59,130,246,0.14);
  --success: #22c55e;
  --danger: #ef4444;
  --warning: #d4b84a;
  --radius: 12px;
  --radius-sm: 8px;
  --shadow-card: 0 1px 0 rgba(0,0,0,0.22), 0 1px 2px rgba(0,0,0,0.28);
}

* {
  letter-spacing: 0;
}

body {
  background: var(--bg) !important;
  color: var(--text) !important;
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
}

a {
  color: inherit;
}

.page {
  width: min(1500px, 100%);
  max-width: 1500px !important;
  margin: 0 auto !important;
  padding: 20px 24px 40px !important;
}

.topbar {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-card) !important;
  margin-bottom: 18px !important;
  padding: 16px 18px !important;
}

.topbar h1,
.topbar h2,
.panel h2,
.card-title {
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

.topbar h1 {
  font-size: 1.15rem !important;
}

.topbar h1 small,
.topbar p,
p,
.muted,
.kpi-sub,
.card-subtitle {
  color: var(--text-dim) !important;
}

.topbar-actions,
.actions,
.panel-actions {
  gap: 8px !important;
}

.btn,
button.btn,
a.btn,
.btn-link {
  border-radius: var(--radius-sm) !important;
  border-color: var(--border) !important;
  background: var(--surface-2) !important;
  color: var(--text) !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.btn:hover,
button.btn:hover,
a.btn:hover,
.btn-link:hover {
  background: var(--surface-3) !important;
  border-color: var(--border-light) !important;
  color: var(--text) !important;
  filter: none !important;
}

.btn-primary,
button.btn-primary,
a.btn-primary,
.login-btn {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: #fff !important;
  box-shadow: none !important;
}

.login-btn.btn-secondary {
  margin-top: 1rem !important;
  background: var(--surface-2) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
}

.login-btn.btn-secondary:hover {
  background: var(--surface-3) !important;
  border-color: var(--border-light) !important;
}

.btn-primary:hover,
button.btn-primary:hover,
a.btn-primary:hover,
.login-btn:hover {
  background: #2563eb !important;
  border-color: #2563eb !important;
  transform: none !important;
  filter: none !important;
}

.btn-danger,
button.btn-danger {
  color: #fecaca !important;
  border-color: rgba(239,68,68,0.38) !important;
  background: rgba(239,68,68,0.08) !important;
}

.btn-danger:hover:not(:disabled),
button.btn-danger:hover:not(:disabled) {
  color: #fff !important;
  background: var(--danger) !important;
  border-color: var(--danger) !important;
}

.panel,
.card,
.panel-novo,
.profile-card,
.kpi-item,
.login-wrap {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-card) !important;
}

.panel,
.card,
.panel-novo {
  padding: 18px !important;
}

.profile-card {
  overflow: hidden;
}

.profile-card-head,
.table-header,
thead th {
  background: var(--surface-2) !important;
  border-color: var(--border) !important;
}

.profile-card-body {
  background: var(--surface) !important;
}

input,
select,
textarea,
input[type=text],
input[type=password],
input[type=number],
.field-wrap input,
.ano-bar select {
  background: var(--surface-2) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: none !important;
}

input:focus,
select:focus,
textarea:focus,
.field-wrap input:focus {
  outline: none !important;
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,0.18) !important;
  background: var(--surface) !important;
}

input::placeholder,
textarea::placeholder {
  color: var(--text-dim) !important;
  opacity: 0.65 !important;
}

label,
.field-label,
.kpi-label {
  color: var(--text-dim) !important;
}

.alert {
  border-radius: var(--radius-sm) !important;
}

.alert.error {
  background: rgba(239,68,68,0.10) !important;
  border-color: rgba(239,68,68,0.35) !important;
  color: #fecaca !important;
}

.alert.success {
  background: rgba(34,197,94,0.10) !important;
  border-color: rgba(34,197,94,0.35) !important;
  color: #bbf7d0 !important;
}

.table-wrap {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  overflow: auto !important;
}

table {
  background: transparent !important;
}

thead th {
  color: var(--text-dim) !important;
}

tbody td {
  border-color: var(--border) !important;
  color: var(--text-mid) !important;
}

tbody tr:nth-child(even) {
  background: rgba(255,255,255,0.015) !important;
}

tbody tr:hover {
  background: rgba(59,130,246,0.07) !important;
}

.tag,
.badge,
.badge-perfil,
.status-check,
.check {
  border-color: var(--border) !important;
  background: var(--surface-2) !important;
  color: var(--text-mid) !important;
  border-radius: var(--radius-sm) !important;
}

.badge-admin { background: rgba(59,130,246,0.16) !important; color: #bfdbfe !important; }
.badge-diretoria { background: rgba(167,139,250,0.16) !important; color: #ddd6fe !important; }
.badge-vendedor { background: rgba(34,197,94,0.14) !important; color: #bbf7d0 !important; }
.badge-visitante { background: rgba(212,184,74,0.14) !important; color: #fef3c7 !important; }
.badge-producao { background: rgba(20,184,166,0.14) !important; color: #99f6e4 !important; }
.badge-ativo {
  border-color: rgba(34,197,94,0.32) !important;
  background: rgba(34,197,94,0.14) !important;
  color: #bbf7d0 !important;
}
.badge-inativo {
  border-color: rgba(239,68,68,0.34) !important;
  background: rgba(239,68,68,0.12) !important;
  color: #fecaca !important;
}
.badge-evento-sucesso {
  border-color: rgba(34,197,94,0.32) !important;
  background: rgba(34,197,94,0.14) !important;
  color: #bbf7d0 !important;
}
.badge-evento-falha {
  border-color: rgba(239,68,68,0.34) !important;
  background: rgba(239,68,68,0.12) !important;
  color: #fecaca !important;
}

.check:hover {
  border-color: rgba(59,130,246,0.38) !important;
  background: rgba(59,130,246,0.08) !important;
}

.check:has(input[type=checkbox]:checked) {
  border-color: rgba(59,130,246,0.46) !important;
  background: rgba(59,130,246,0.12) !important;
}

.login-screen {
  background: var(--bg) !important;
  padding: 24px !important;
}

.login-screen::before {
  display: none !important;
}

.login-wrap {
  max-width: 460px !important;
  border-radius: var(--radius) !important;
}

.login-panel {
  padding: 2.4rem !important;
}

.login-panel h1 {
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
  font-size: 1.55rem !important;
  font-weight: 650 !important;
}

.login-panel .sub {
  color: var(--text-dim) !important;
}

.login-eyebrow {
  background: rgba(59,130,246,0.12) !important;
  border-color: rgba(59,130,246,0.28) !important;
  color: #93c5fd !important;
}

.field-icon,
.field-toggle {
  color: var(--text-dim) !important;
}

.field-toggle:hover {
  color: var(--text) !important;
  background: var(--surface-3) !important;
}

.login-error {
  color: #fecaca !important;
}

.new-profile,
.grid-form,
.form-grid {
  gap: 10px !important;
}

@media (max-width: 760px) {
  .page {
    padding: 14px !important;
  }
  .topbar,
  .panel-head {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .topbar-actions,
  .actions,
  .panel-actions {
    width: 100%;
    flex-wrap: wrap;
  }
  .btn,
  button.btn,
  a.btn {
    justify-content: center;
  }
  .new-profile {
    grid-template-columns: 1fr !important;
  }
  .login-panel {
    padding: 2rem 1.4rem !important;
  }
}
