:root{
  --app-bg: linear-gradient(135deg, #0E5389, #0a3d66);
  --text-1: #ffffff;
  --text-2: rgba(255,255,255,0.78);
  --surface-1: rgba(255,255,255,0.08);
  --surface-2: rgba(255,255,255,0.06);
  --surface-3: rgba(0,0,0,0.18);
  --border-1: rgba(255,255,255,0.10);
  --border-2: rgba(255,255,255,0.08);
  --shadow-1: rgba(0,0,0,0.35);
  --focus: rgba(219,143,17,0.55);
  --input-bg: #f8fafc;
  --input-text: #111827;
  --input-border: #d1d5db;
}

:root[data-theme="light"]{
  --app-bg: linear-gradient(135deg, #f5f8ff, #eaf2ff);
  --text-1: #0f172a;
  --text-2: rgba(15,23,42,0.74);
  --surface-1: rgba(255,255,255,0.88);
  --surface-2: rgba(255,255,255,0.78);
  --surface-3: rgba(255,255,255,0.92);
  --border-1: rgba(15,23,42,0.14);
  --border-2: rgba(15,23,42,0.10);
  --shadow-1: rgba(2,6,23,0.14);
  --focus: rgba(219,143,17,0.55);
  --input-bg: #ffffff;
  --input-text: #0f172a;
  --input-border: rgba(15,23,42,0.16);
}

html, body{
  color: var(--text-1);
  background: var(--app-bg);
}

/* --------- Overrides neutros (não mexem em cores semânticas/operacionais) --------- */

:root[data-theme="light"] .agenda-body{
  color: var(--text-1);
  background: var(--app-bg);
}

:root[data-theme="light"] .agenda-card{
  background: var(--surface-1);
  border-color: var(--border-1);
  box-shadow: 0 18px 44px var(--shadow-1);
  color: var(--text-1);
}

:root[data-theme="light"] .agenda-logo{
  background: rgba(15,23,42,0.06);
}

:root[data-theme="light"] .filtros{
  background: var(--surface-2);
}

:root[data-theme="light"] .filtros input,
:root[data-theme="light"] .filtros select,
:root[data-theme="light"] .checklist-toggle{
  background: var(--input-bg);
  color: var(--input-text);
  border-color: var(--input-border);
}

:root[data-theme="light"] .checklist-menu{
  background: var(--surface-3);
  border-color: var(--border-1);
  box-shadow: 0 14px 34px var(--shadow-1);
}

:root[data-theme="light"] .checklist-item,
:root[data-theme="light"] .checklist-menu label{
  color: var(--text-1);
}

:root[data-theme="light"] .checklist-item:hover,
:root[data-theme="light"] .checklist-menu label:hover{
  background: rgba(15,23,42,0.06);
}

:root[data-theme="light"] .agenda-table{
  background: var(--surface-1);
}

:root[data-theme="light"] .agenda-table th,
:root[data-theme="light"] .agenda-table td{
  color: var(--text-1);
  border-color: var(--border-2);
}

:root[data-theme="light"] .descricao.expandida{
  background: rgba(15,23,42,0.04);
  border-color: var(--border-1);
}

:root[data-theme="light"] .codigo-cliente{
  color: var(--text-1);
}

:root[data-theme="light"] .bloqueio{
  background: rgba(2,6,23,0.22);
}

:root[data-theme="light"] .bloqueio-msg{
  background: #ffffff;
  color: #0f172a;
}

/* BI: neutraliza cores de layout sem alterar cores de KPI/status/gráfico */
:root[data-theme="light"] body .content,
:root[data-theme="light"] body .dashboard{
  color: var(--text-1);
}

:root[data-theme="light"] body{
  color: var(--text-1) !important;
}

:root[data-theme="light"] .filtros-card,
:root[data-theme="light"] .kpi-card,
:root[data-theme="light"] .info-card,
:root[data-theme="light"] .card,
:root[data-theme="light"] .tabela-card,
:root[data-theme="light"] .modal-content,
:root[data-theme="light"] .modal-card{
  background: var(--surface-1);
  border: 1px solid var(--border-1);
  color: var(--text-1);
  box-shadow: 0 18px 44px var(--shadow-1);
}

:root[data-theme="light"] .topbar p,
:root[data-theme="light"] .logo-subtitle,
:root[data-theme="light"] .tabela-header p,
:root[data-theme="light"] .card-label,
:root[data-theme="light"] .card-sub,
:root[data-theme="light"] .filtro-group label{
  color: var(--text-2) !important;
  opacity: 1 !important;
}

:root[data-theme="light"] .topbar h1,
:root[data-theme="light"] .tabela-header h2,
:root[data-theme="light"] .logo-title,
:root[data-theme="light"] .card-number{
  color: var(--text-1) !important;
}

:root[data-theme="light"] .tabela-card th,
:root[data-theme="light"] .tabela-card td{
  color: var(--text-1) !important;
  border-color: var(--border-2) !important;
}

:root[data-theme="light"] .tabela-media-tecnico th,
:root[data-theme="light"] .tabela-media-tecnico td,
:root[data-theme="light"] .tabela-operacao-detalhada th,
:root[data-theme="light"] .tabela-operacao-detalhada td{
  color: var(--text-1) !important;
  border-color: var(--border-2) !important;
}

:root[data-theme="light"] .btn-export,
:root[data-theme="light"] .btn-detalhe,
:root[data-theme="light"] .btn-toggle,
:root[data-theme="light"] .btn-tabs,
:root[data-theme="light"] .chip{
  color: var(--text-1) !important;
  border-color: var(--border-1) !important;
}

:root[data-theme="light"] .bi-descricao{
  color: var(--text-1) !important;
  border-color: var(--border-1) !important;
  box-shadow: 0 14px 34px var(--shadow-1) !important;
}

:root[data-theme="light"] .pessoa-desconhecido{
  color: var(--text-1) !important;
}

:root[data-theme="light"] input,
:root[data-theme="light"] select,
:root[data-theme="light"] textarea{
  background: var(--input-bg);
  color: var(--input-text);
  border-color: var(--input-border);
}

:root[data-theme="light"] .menu-item{
  color: var(--text-1) !important;
}

:root[data-theme="light"] .menu-item:hover{
  color: #0b1220 !important;
}

:root[data-theme="light"] a{
  color: inherit;
}

table[data-table-sortable="true"] thead th[role="button"]{
  cursor: pointer;
  user-select: none;
  position: relative;
  padding-right: 1.4rem;
}

table[data-table-sortable="true"] thead th[role="button"]::after{
  content: "^";
  position: absolute;
  right: 0.35rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.72em;
  line-height: 1;
  opacity: 0.45;
}

table[data-table-sortable="true"] thead th[role="button"][data-sort-dir="asc"]::after{
  content: "^";
  opacity: 0.95;
}

table[data-table-sortable="true"] thead th[role="button"][data-sort-dir="desc"]::after{
  content: "v";
  opacity: 0.95;
}

:root[data-theme="light"] :focus-visible{
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}

/* Footer global de versao */
.app-footer{
  position: fixed;
  bottom: 10px;
  right: 14px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: rgba(255,255,255,0.75);
  font-size: 11px;
  line-height: 1.2;
  z-index: 9999;
  box-shadow: 0 8px 24px rgba(0,0,0,0.20);
  pointer-events: auto;
  white-space: nowrap;
  cursor: help;
}

@media (max-width: 520px){
  .app-footer{
    left: 12px;
    right: 12px;
    bottom: 8px;
    width: fit-content;
    max-width: calc(100vw - 24px);
    margin-left: auto;
    font-size: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
