/* ============================================================================
   FASE 474.22.7.20.5.149.5 — MODO ESCURO ESTRITO DE ALTO CONTRASTE
   Regra operacional: no modo escuro manual, toda a interface do app deve usar
   superfície escura e texto claro. Esta camada é propositalmente incisiva.
   Exceções: documentos oficiais, páginas A4, FADT, prévias/PDF e impressão.
   ============================================================================ */
html[data-gegraesp-appearance-mode="dark"]{
  color-scheme:dark!important;
  --dark-bg:#020617!important;
  --dark-bg-2:#050b18!important;
  --dark-surface:#0b1220!important;
  --dark-surface-2:#111827!important;
  --dark-surface-3:#172033!important;
  --dark-field:#030712!important;
  --dark-text:#ffffff!important;
  --dark-muted:#e5edf8!important;
  --dark-soft:#cbd5e1!important;
  --dark-border:rgba(226,232,240,.46)!important;
  --dark-border-strong:rgba(255,255,255,.68)!important;
  --bg:#020617!important;
  --panel:#0b1220!important;
  --panel-soft:#111827!important;
  --surface:#0b1220!important;
  --card:#0b1220!important;
  --text:#ffffff!important;
  --muted:#e5edf8!important;
  --line:rgba(226,232,240,.46)!important;
}
html[data-gegraesp-appearance-mode="dark"],
html[data-gegraesp-appearance-mode="dark"] body,
html[data-gegraesp-appearance-mode="dark"] #appShell,
html[data-gegraesp-appearance-mode="dark"] #appMain,
html[data-gegraesp-appearance-mode="dark"] #loginScreen,
html[data-gegraesp-appearance-mode="dark"] .login-screen,
html[data-gegraesp-appearance-mode="dark"] main{
  background:#020617!important;
  background-color:#020617!important;
  background-image:linear-gradient(145deg,#020617 0%,#050b18 62%,#07111f 100%)!important;
  color:#ffffff!important;
  opacity:1!important;
}
html[data-gegraesp-appearance-mode="dark"] body:before,
html[data-gegraesp-appearance-mode="dark"] body:after{
  background:linear-gradient(145deg,#020617,#050b18)!important;
  opacity:1!important;
}
/* Zonas que precisam permanecer em branco para impressão/fidelidade documental. */
html[data-gegraesp-appearance-mode="dark"] :where(
  .official-document,.pdf-document,.report-pdf,.print-page,.a4-page,.fadt-document,.fadt-page,.fadt-preview-document,.ta-fadt-sheet,.sheet-print,.pdf-page,[data-gegraesp-print],.print-root,.acroform-page,.acroform-sheet,.ficha-pdf-page,.pdf-preview-page
),
html[data-gegraesp-appearance-mode="dark"] :where(
  .official-document,.pdf-document,.report-pdf,.print-page,.a4-page,.fadt-document,.fadt-page,.fadt-preview-document,.ta-fadt-sheet,.sheet-print,.pdf-page,[data-gegraesp-print],.print-root,.acroform-page,.acroform-sheet,.ficha-pdf-page,.pdf-preview-page
) *{
  background:#ffffff!important;
  background-color:#ffffff!important;
  color:#000000!important;
  -webkit-text-fill-color:#000000!important;
  border-color:#000000!important;
  text-shadow:none!important;
  opacity:1!important;
}
/* REGRA UNIVERSAL DE TEXTO: nenhum texto da interface pode ficar apagado. */
html[data-gegraesp-appearance-mode="dark"] body :where(*):not(:where(
  .official-document,.official-document *, .pdf-document,.pdf-document *, .report-pdf,.report-pdf *, .print-page,.print-page *, .a4-page,.a4-page *, .fadt-document,.fadt-document *, .fadt-page,.fadt-page *, .fadt-preview-document,.fadt-preview-document *, .ta-fadt-sheet,.ta-fadt-sheet *, .sheet-print,.sheet-print *, .pdf-page,.pdf-page *, [data-gegraesp-print],[data-gegraesp-print] *, .print-root,.print-root *, .acroform-page,.acroform-page *, .acroform-sheet,.acroform-sheet *, .ficha-pdf-page,.ficha-pdf-page *, .pdf-preview-page,.pdf-preview-page *, img,picture,video,canvas,svg,svg *,path,g,rect,circle,line,polyline,polygon
)){
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-color:rgba(226,232,240,.46)!important;
  text-shadow:none!important;
  opacity:1!important;
}
html[data-gegraesp-appearance-mode="dark"] body :where(p,small,span,li,td,em,a,.muted,.sub,.subtitle,.description,.hint,.help,.nav-card p,.brand-title p):not(:where(
  .official-document *, .pdf-document *, .report-pdf *, .print-page *, .a4-page *, .fadt-document *, .ta-fadt-sheet *, .pdf-page *, [data-gegraesp-print] *, .print-root *
)){
  color:#e5edf8!important;
  -webkit-text-fill-color:#e5edf8!important;
}
html[data-gegraesp-appearance-mode="dark"] body :where(h1,h2,h3,h4,h5,h6,strong,b,label,legend,summary,th,.title,.card-title,.view-title,.section-title,.nav-card h3):not(:where(
  .official-document *, .pdf-document *, .report-pdf *, .print-page *, .a4-page *, .fadt-document *, .ta-fadt-sheet *, .pdf-page *, [data-gegraesp-print] *, .print-root *
)){
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
/* REGRA UNIVERSAL DE SUPERFÍCIE: estruturas da interface nunca podem ficar brancas no modo escuro. */
html[data-gegraesp-appearance-mode="dark"] body :where(
  div,section,article,aside,header,footer,nav,main,form,fieldset,details,summary,ul,ol,li,table,thead,tbody,tr,td,th,
  .card,.nav-card,.panel,.box,.tile,.cell,.item,.row,.record,.summary,.kpi,.mini-kpi,.filter-card,.filter-panel,.modal,.modal-card,[role="dialog"],
  [class*="card"],[class*="Card"],[class*="panel"],[class*="Panel"],[class*="box"],[class*="Box"],[class*="tile"],[class*="Tile"],[class*="cell"],[class*="Cell"],[class*="record"],[class*="Record"],[class*="summary"],[class*="Summary"],[class*="field"],[class*="Field"],[class*="filter"],[class*="Filter"],[class*="modal"],[class*="Modal"],[class*="dialog"],[class*="Dialog"],[class*="sheet"],[class*="Sheet"]
):not(:where(
  .official-document,.official-document *, .pdf-document,.pdf-document *, .report-pdf,.report-pdf *, .print-page,.print-page *, .a4-page,.a4-page *, .fadt-document,.fadt-document *, .fadt-page,.fadt-page *, .fadt-preview-document,.fadt-preview-document *, .ta-fadt-sheet,.ta-fadt-sheet *, .sheet-print,.sheet-print *, .pdf-page,.pdf-page *, [data-gegraesp-print],[data-gegraesp-print] *, .print-root,.print-root *, .acroform-page,.acroform-page *, .acroform-sheet,.acroform-sheet *, .ficha-pdf-page,.ficha-pdf-page *, .pdf-preview-page,.pdf-preview-page *, img,picture,video,canvas,svg,svg *,path,g,rect,circle,line,polyline,polygon,[class*="bar"],[class*="Bar"],[class*="fill"],[class*="Fill"],[class*="axis"],[class*="Axis"],[class*="swatch"],[class*="Swatch"],[class*="legend-dot"],[class*="chart-color"]
)){
  background:#0b1220!important;
  background-color:#0b1220!important;
  background-image:linear-gradient(135deg,#0b1220 0%,#111827 100%)!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-color:rgba(226,232,240,.46)!important;
  box-shadow:0 14px 38px rgba(0,0,0,.50)!important;
  opacity:1!important;
}
/* Cards/mini-cards de status que antes ficavam branco/verde-claro/rosa claro. */
html[data-gegraesp-appearance-mode="dark"] body :where([class*="valid"],[class*="Valid"],[class*="venc"],[class*="Venc"],[class*="status"],[class*="Status"],[class*="badge"],[class*="Badge"],[class*="chip"],[class*="Chip"],[class*="pill"],[class*="Pill"]):not(:where(
  .official-document *, .pdf-document *, .report-pdf *, .print-page *, .a4-page *, .fadt-document *, .ta-fadt-sheet *, .pdf-page *, [data-gegraesp-print] *, .print-root *
)){
  background:#111827!important;
  background-color:#111827!important;
  background-image:none!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-color:rgba(226,232,240,.52)!important;
  opacity:1!important;
}
/* Campos, selects, busca e caixas editáveis sempre com fundo preto e texto branco. */
html[data-gegraesp-appearance-mode="dark"] body :where(input,select,textarea,button,.btn,[contenteditable="true"],.search-input,.filter-input,.cadastro-select-modern>summary,.dash-custom-select>summary,.pto-matriz-modern-action-select4654):not(:where(
  .official-document *, .pdf-document *, .report-pdf *, .print-page *, .a4-page *, .fadt-document *, .ta-fadt-sheet *, .pdf-page *, [data-gegraesp-print] *, .print-root *
)){
  color-scheme:dark!important;
  background:#030712!important;
  background-color:#030712!important;
  background-image:none!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-color:rgba(255,255,255,.68)!important;
  text-shadow:none!important;
  opacity:1!important;
}
html[data-gegraesp-appearance-mode="dark"] body :where(input,textarea,.search-input,.filter-input)::placeholder{
  color:#e5edf8!important;
  -webkit-text-fill-color:#e5edf8!important;
  opacity:1!important;
}
html[data-gegraesp-appearance-mode="dark"] body :where(button,.btn,.nav-home-btn,.profile-btn,.nav-card):not(:where(
  .official-document *, .pdf-document *, .report-pdf *, .print-page *, .a4-page *, .fadt-document *, .ta-fadt-sheet *, .pdf-page *, [data-gegraesp-print] *, .print-root *
)){
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-color:rgba(255,255,255,.50)!important;
}
html[data-gegraesp-appearance-mode="dark"] body :where(button,.btn):not(:where(.official-document *, .pdf-document *, .report-pdf *, .print-page *, .a4-page *, .fadt-document *, .ta-fadt-sheet *, .pdf-page *, [data-gegraesp-print] *, .print-root *)){
  background:linear-gradient(135deg,color-mix(in srgb,var(--primary,#0f766e) 70%,#000),color-mix(in srgb,var(--primary-2,#075985) 70%,#000))!important;
  background-color:#0b1220!important;
}
/* Modais/backdrops: caixa escura, conteúdo legível. */
html[data-gegraesp-appearance-mode="dark"] body :where(.modal,.modal-card,[role="dialog"],[class*="modal"],[class*="Modal"],[class*="dialog"],[class*="Dialog"],[class*="drawer"],[class*="Drawer"],[class*="popover"],[class*="Popover"]):not(:where(
  .official-document *, .pdf-document *, .report-pdf *, .print-page *, .a4-page *, .fadt-document *, .ta-fadt-sheet *, .pdf-page *, [data-gegraesp-print] *, .print-root *
)){
  background:#0b1220!important;
  background-color:#0b1220!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-color:rgba(255,255,255,.50)!important;
}
/* Backdrops não precisam clarear o modal. */
html[data-gegraesp-appearance-mode="dark"] body :where([class*="backdrop"],[class*="Backdrop"],[class*="overlay"],[class*="Overlay"]){
  background:rgba(2,6,23,.82)!important;
  backdrop-filter:blur(10px)!important;
}
/* Gráficos: preservar barras coloridas, mas garantir textos/eixos visíveis. */
html[data-gegraesp-appearance-mode="dark"] body :where([class*="axis"],[class*="Axis"],[class*="label"],[class*="Label"],[class*="legend"],[class*="Legend"]):not(:where(.official-document *, .pdf-document *, .report-pdf *, .print-page *, .a4-page *, .fadt-document *, .ta-fadt-sheet *, .pdf-page *, [data-gegraesp-print] *, .print-root *)){
  color:#e5edf8!important;
  -webkit-text-fill-color:#e5edf8!important;
  opacity:1!important;
}
/* SVG/textos de gráfico podem precisar de fill. Evitar paths/rects das barras. */
html[data-gegraesp-appearance-mode="dark"] body svg text{
  fill:#e5edf8!important;
  opacity:1!important;
}
