/* ImportTech • Dark Harmony 2026
   Superfícies de interface apenas. Preserva cálculos, permissões e dados.
   Fundos marinho, painéis azul-petróleo, texto gelo, detalhes ciano.
   Branco reservado a botões de ação e pré-visualização de documentos.
*/
body.itw-app.itw-dark{
  --idh-bg:#0b1422;
  --idh-surface:#14263b;
  --idh-surface-2:#1a3049;
  --idh-surface-3:#213b57;
  --idh-border:#344f6a;
  --idh-border-soft:#2b455e;
  --idh-ink:#eaf3ff;
  --idh-muted:#b0c7dd;
  --idh-sub:#9db8cf;
  --idh-cyan:#83d5e9;
  --idh-green:#a6efd4;
  --idh-yellow:#ffe1a2;
  --idh-red:#ffbec9;
  background:var(--idh-bg)!important;
  color:var(--idh-ink)!important;
  color-scheme:dark;
}
body.itw-app.itw-dark .container,
body.itw-app.itw-dark .tab-content.active,
body.itw-app.itw-dark #itw-integrated-section{
  background:var(--idh-surface)!important;
  color:var(--idh-ink)!important;
  border-color:var(--idh-border)!important;
}
body.itw-app.itw-dark .it-main-header{
  background:linear-gradient(105deg,#102c42,#0a5361)!important;
  border-color:#2e6277!important;
}
body.itw-app.itw-dark .it-main-header :is(.itw-page-title,.itw-page-title strong,.itw-page-title small,.itw-clock,#session-company-name,#session-company-cnpj){
  color:#e9f4ff!important;
}
body.itw-app.itw-dark .itw-sidebar{
  background:#08111f!important;
  border-right:1px solid #263c55;
}
body.itw-app.itw-dark .itw-sidebar-nav .tab-btn.active,
body.itw-app.itw-dark .itw-sidebar-nav a.itw-tool-link.active{
  background:#234363!important;
  border-color:#456c8d!important;
  color:#f3faff!important;
}
body.itw-app.itw-dark .itw-sidebar-nav :is(.tab-btn,a.itw-tool-link):hover{
  background:#1a3149!important;
  color:#f3faff!important;
}
/* Rateio: as faixas e os resultados ficam no mesmo tom do restante do módulo. */
body.itw-app.itw-dark #aba-rateio :is(.actions-bar,.grid-2,.result-section,#print-rateio-area){
  background:var(--idh-surface)!important;
  border-color:var(--idh-border-soft)!important;
  color:var(--idh-ink)!important;
}
body.itw-app.itw-dark #aba-rateio .actions-bar{
  padding:15px!important;
  border:1px solid var(--idh-border)!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
body.itw-app.itw-dark #aba-rateio :is(#rateio-memory,.table-wrap,#result-table){
  background:var(--idh-surface-2)!important;
  border-color:var(--idh-border)!important;
  color:var(--idh-ink)!important;
}
body.itw-app.itw-dark #aba-rateio #rateio-memory :is(div,section){
  border-color:var(--idh-border)!important;
}
body.itw-app.itw-dark #aba-rateio #rateio-memory > div > div{
  background:var(--idh-surface-3)!important;
  color:var(--idh-ink)!important;
}
body.itw-app.itw-dark #aba-rateio .table-wrap :is(th,td){
  border-color:var(--idh-border)!important;
  color:var(--idh-ink)!important;
}
body.itw-app.itw-dark #aba-rateio .table-wrap th{
  background:#254461!important;
  color:#eef8ff!important;
}
body.itw-app.itw-dark #aba-rateio .table-wrap td{
  background:#1a3048!important;
  color:#eaf4ff!important;
}
body.itw-app.itw-dark #aba-rateio .table-wrap .total-row td{
  background:#294b67!important;
  color:#f2f9ff!important;
}
body.itw-app.itw-dark #aba-rateio :is(.result-section,.hint,.section-title,.main-title-rateio){
  color:var(--idh-ink)!important;
}
body.itw-app.itw-dark #aba-rateio .hint{color:var(--idh-muted)!important}
body.itw-app.itw-dark #aba-rateio .c-allocation .c-estimate,
body.itw-app.itw-dark #aba-rateio .client-item-preview{
  background:var(--idh-surface-2)!important;
  color:var(--idh-ink)!important;
  border-color:var(--idh-border)!important;
}
/* Espelho: acabamento dos formulários, resumos, indicadores e área de ações. */
body.itw-app.itw-dark #aba-espelho :is(.actions-bar,.espelho-quick-actions,.painel-resumo,.botoes-acao){
  background:transparent!important;
  color:var(--idh-ink)!important;
  border-color:var(--idh-border)!important;
}
body.itw-app.itw-dark #aba-espelho :is(.section-title,.espelho-heading,.espelho-total-card,.rateio-duimp-info){
  color:var(--idh-ink)!important;
}
body.itw-app.itw-dark #aba-espelho :is(.section-title,.grid-2,.grid-3,.grid-4){
  border-color:var(--idh-border)!important;
}
body.itw-app.itw-dark #aba-espelho .readonly-input{
  background:#213c55!important;
  color:#e8f4ff!important;
  border-color:#3b5976!important;
}
body.itw-app.itw-dark #aba-espelho .it-shipment-copy{
  background:#fff!important;
  color:#0d3147!important;
  border-color:#8dc5d2!important;
}
body.itw-app.itw-dark #aba-espelho .banner-valor{
  background:linear-gradient(100deg,#0c334a,#0a6070)!important;
  box-shadow:0 10px 28px #06192940!important;
}
body.itw-app.itw-dark #aba-espelho .botoes-acao{
  padding:8px 0 14px!important;
}
body.itw-app.itw-dark #aba-espelho #pdf-preview-container{
  background:var(--idh-surface-2)!important;
  border-color:var(--idh-border)!important;
}
body.itw-app.itw-dark #aba-espelho #pdf-preview{
  background:#fff!important; /* PDF itself has white paper. */
}
/* Visão geral: somente os cartões e filtros; a tabela não pode clarear. */
body.itw-app.itw-dark #aba-visao :is(.overview-filters,.overview-input-wrap,.overview-chart-card,.overview-table-card,.overview-cards){
  background:var(--idh-surface)!important;
  border-color:var(--idh-border)!important;
  color:var(--idh-ink)!important;
}
body.itw-app.itw-dark #aba-visao :is(.overview-card,.overview-card.emphasis){
  background:var(--idh-surface-2)!important;
  color:var(--idh-ink)!important;
  border-color:var(--idh-border)!important;
}
body.itw-app.itw-dark #aba-visao .overview-card-icon{
  background:#254460!important;
  border:1px solid #3b6382!important;
  color:var(--idh-cyan)!important;
}
body.itw-app.itw-dark #aba-visao :is(.overview-heading h1,.overview-chart-head h2,.overview-table-head h2,.overview-card strong){
  color:var(--idh-ink)!important;
}
body.itw-app.itw-dark #aba-visao :is(.overview-filter label,.overview-chart-head p,.overview-table-head p,.overview-card span,.overview-card small){
  color:var(--idh-muted)!important;
}
body.itw-app.itw-dark #aba-visao .overview-table :is(tbody,tr,td){
  background:var(--idh-surface-2)!important;
  color:var(--idh-ink)!important;
  border-color:var(--idh-border)!important;
}
body.itw-app.itw-dark #aba-visao .overview-table tbody tr:hover td{
  background:var(--idh-surface-3)!important;
}
/* Modais e relatórios que ficam no nível da página (fora da aba ativa). */
body.itw-app.itw-dark :is(#source-inspector .source-inspector-panel,#report-modal .report-panel,.it-action-modal .it-action-card,.it-duimp-dialog){
  background:var(--idh-surface)!important;
  color:var(--idh-ink)!important;
  border-color:var(--idh-border)!important;
  box-shadow:0 28px 90px #0008!important;
}
body.itw-app.itw-dark #source-inspector .source-inspector-panel>header,
body.itw-app.itw-dark #source-inspector .source-excerpt{
  background:var(--idh-surface-2)!important;
  color:var(--idh-ink)!important;
  border-color:var(--idh-border)!important;
}
body.itw-app.itw-dark #source-inspector :is(.source-inspector-meta,.source-excerpt span){
  color:var(--idh-muted)!important;
}
body.itw-app.itw-dark #source-inspector :is(.source-inspector-panel h2,.source-excerpt p,.source-inspector-no-pdf){
  color:var(--idh-ink)!important;
}
body.itw-app.itw-dark #source-inspector .source-canvas-wrap{
  background:#101e30!important;
}
body.itw-app.itw-dark #source-inspector .source-canvas-wrap canvas{
  background:#fff!important; /* Documento original permanece legível. */
}
body.itw-app.itw-dark #source-inspector .source-inspector-close{
  background:#233d57!important;
  border-color:var(--idh-border)!important;
  color:var(--idh-ink)!important;
}
body.itw-app.itw-dark #report-modal .report-topbar{
  background:linear-gradient(105deg,#102f49,#0d5362)!important;
  border-color:var(--idh-border)!important;
}
body.itw-app.itw-dark #report-modal :is(.report-hero,.report-quick-actions,.report-body){
  background:var(--idh-surface)!important;
  border-color:var(--idh-border)!important;
  color:var(--idh-ink)!important;
}
body.itw-app.itw-dark #report-modal :is(.report-meta-item,.report-table,.report-table tbody td){
  background:var(--idh-surface-2)!important;
  border-color:var(--idh-border)!important;
  color:var(--idh-ink)!important;
}
body.itw-app.itw-dark #report-modal .report-table th{
  background:#25445f!important;
  border-color:var(--idh-border)!important;
  color:var(--idh-muted)!important;
}
body.itw-app.itw-dark #report-modal .report-table .report-total-row td{
  background:#21473f!important;
  color:var(--idh-green)!important;
}
body.itw-app.itw-dark #report-modal :is(.report-hero h2,.report-section-head h3,.report-meta-item strong,.report-footer strong){
  color:var(--idh-ink)!important;
}
body.itw-app.itw-dark #report-modal :is(.report-hero p,.report-meta-item span,.report-total span,.report-section-head span,.report-footer,.report-note){
  color:var(--idh-muted)!important;
}
body.itw-app.itw-dark #report-modal .report-total strong{
  color:var(--idh-green)!important;
}
body.itw-app.itw-dark #report-modal .report-status{
  background:#19453a!important;
  color:var(--idh-green)!important;
}
body.itw-app.itw-dark #report-modal .report-note{
  background:#1a4053!important;
  border-color:#4a9caf!important;
}
body.itw-app.itw-dark :is(.it-action-modal .it-action-copy h2,.it-action-modal .it-action-kicker,.it-duimp-dialog h2){
  color:var(--idh-ink)!important;
}
body.itw-app.itw-dark :is(.it-action-modal .it-action-copy p,.it-action-modal .it-action-copy ul,.it-duimp-dialog p){
  color:var(--idh-muted)!important;
}
body.itw-app.itw-dark .it-action-modal .it-action-copy ul{
  background:var(--idh-surface-2)!important;
}
body.itw-app.itw-dark .it-action-modal .it-action-icon{
  background:#452d39!important;
  color:var(--idh-red)!important;
}
body.itw-app.itw-dark .it-action-modal.info .it-action-icon{
  background:#244862!important;
  color:var(--idh-cyan)!important;
}
body.itw-app.itw-dark .it-duimp-dialog :is(header,footer,pre){
  background:var(--idh-surface-2)!important;
  color:var(--idh-ink)!important;
  border-color:var(--idh-border)!important;
}
body.itw-app.itw-dark .it-duimp-dialog iframe{
  background:#fff!important;
}
/* Loading/login overlays follow dark color. */
body.itw-app.itw-dark .auth-screen{
  background:radial-gradient(circle at 15% 20%,#17384b80,transparent 40%),#0b1422!important;
}
body.itw-app.itw-dark .auth-card{
  background:#172a40!important;
  color:var(--idh-ink)!important;
  border-color:var(--idh-border)!important;
}
body.itw-app.itw-dark .auth-card :is(h1,h2,strong,label){color:var(--idh-ink)!important}
body.itw-app.itw-dark .auth-card :is(p,small,span){color:var(--idh-muted)!important}
body.itw-app.itw-dark .auth-card input:not([type=checkbox]){
  background:#10243a!important;
  color:var(--idh-ink)!important;
  border-color:var(--idh-border)!important;
}
@media print{
  /* Keep prints/exports readable on white paper; dark applies to the UI only. */
  body.itw-app.itw-dark #report-modal :is(.report-panel,.report-body,.report-hero,.report-meta-item,.report-table,.report-table td,.report-table th),
  body.itw-app.itw-dark #aba-rateio :is(#full-rateio-capture,#print-rateio-area,#rateio-memory){
    background:#fff!important;color:#17324a!important;border-color:#d7e1e9!important;
  }
  body.itw-app.itw-dark #report-modal :is(.report-hero h2,.report-section-head h3,.report-meta-item strong,.report-table td){
    color:#17324a!important;
  }
}

/* Integrados: ambos os verificadores utilizam a mesma paleta sem depender do shell. */
body.dark:not(.itw-app){
  --idh-bg:#0b1422;
  --idh-surface:#14263b;
  --idh-surface-2:#1a3049;
  --idh-surface-3:#213b57;
  --idh-border:#344f6a;
  --idh-ink:#eaf3ff;
  --idh-muted:#b0c7dd;
  --idh-cyan:#83d5e9;
  background:var(--idh-bg)!important;
  color:var(--idh-ink)!important;
  color-scheme:dark;
}
body.dark:not(.itw-app) :is(.card,.tile,.stat,.trace-note,.trace-fields div,.nfe-alert-allowed,.nfe-alert-file){
  background:var(--idh-surface-2)!important;
  border-color:var(--idh-border)!important;
  color:var(--idh-ink)!important;
  box-shadow:none!important;
}
body.dark:not(.itw-app) :is(main,section.card,#invalidNfeDialog,.trace-grid,.stat){
  color:var(--idh-ink)!important;
}
body.dark:not(.itw-app) :is(.badge,.tag,.status,#status,#progressBox){
  border-color:var(--idh-border)!important;
}
body.dark:not(.itw-app) :is(input[type=text],input[type=number],select,textarea){
  background:#182e45!important;
  border:1px solid var(--idh-border)!important;
  color:var(--idh-ink)!important;
  box-shadow:none!important;
}
body.dark:not(.itw-app) :is(input[type=text],input[type=number],textarea)::placeholder{
  color:#9fb7ca!important;
  opacity:1;
}
body.dark:not(.itw-app) :is(.drop,.upload){
  background:#1a3148!important;
  border-color:#557896!important;
  color:var(--idh-ink)!important;
}
body.dark:not(.itw-app) :is(.drop small,.tile small,.tile .desc,footer,.meta,.trace-intro,.trace-note header span){
  color:var(--idh-muted)!important;
}
body.dark:not(.itw-app) :is(th,td){
  border-color:var(--idh-border)!important;
  color:var(--idh-ink)!important;
}
body.dark:not(.itw-app) th{
  color:#b7d0e4!important;
}
body.dark:not(.itw-app) .scroller tbody tr:nth-child(2n),
body.dark:not(.itw-app) .scroll tbody tr:nth-child(2n){
  background:#1b3048!important;
}
body.dark:not(.itw-app) :is(#invalidNfeDialog,dialog){
  background:var(--idh-surface)!important;
  border-color:var(--idh-border)!important;
  color:var(--idh-ink)!important;
}
body.dark:not(.itw-app) :is(.nfe-alert-hero,.nfe-alert-body,.nfe-alert-actions){
  color:var(--idh-ink)!important;
}
body.dark:not(.itw-app) #invalidNfeDialog .nfe-alert-allowed{
  background:#1a3b38!important;
  border-color:#3f786b!important;
}
body.dark:not(.itw-app) :is(.nfe-alert-hint,.nfe-alert-file small){
  color:var(--idh-muted)!important;
}
body.dark:not(.itw-app) #viewer canvas{
  background:#fff!important; /* Visualizador de DANFE: papel branco */
}
/* Tutorial NF Santa Catarina: classes utilitárias Tailwind compatíveis com dark. */
body.dark.tutorial-embedded .tutorial-topbar,
body.dark .tutorial-topbar,
body.dark footer{
  background:#12243a!important;
  border-color:var(--idh-border)!important;
  color:var(--idh-muted)!important;
}
body.dark .hero-bg{
  background:linear-gradient(110deg,#102a44,#0c5363)!important;
}
body.dark :is(.bg-white,.bg-white\/95,.bg-white\/90,.bg-slate-50){
  background-color:#172b42!important;
}
body.dark :is(.border-slate-100,.border-slate-200){
  border-color:#34516a!important;
}
body.dark :is(.text-slate-800,.text-slate-900,.text-slate-700){
  color:#eaf3ff!important;
}
body.dark :is(.text-slate-500,.text-slate-600,.text-slate-400){
  color:#b5c8dd!important;
}
body.dark .tutorial-progress-card{
  background:#192e46!important;
  border-color:var(--idh-border)!important;
}
body.dark .tutorial-step-check{
  background:#253b54!important;
  color:#e9f4ff!important;
}
body.dark .tutorial-disclaimer :is(.bg-amber-50,.text-amber-900){
  background:#3a301f!important;
  color:#ffe4aa!important;
}
/* Screenshot/PDF: only dedicated image/print areas may remain white. */
@media print{
  body.dark:not(.itw-app) :is(main,.card,.tile,table,td,th){
    color:#17324a!important;
    background:#fff!important;
    border-color:#dbe5ec!important;
  }
}


/* Números do Espelho NF Entrada: etiqueta branca com algarismos pretos.
   Escopo exclusivo dos indicadores 01–17 (incluindo 06 e 07).
   Não interfere nos inputs, resultados, valores ou cálculos fiscais. */
body.itw-app #aba-espelho .step-badge,
body.itw-app.itw-dark #aba-espelho .step-badge,
body.itw-app #aba-espelho .badge-numero,
body.itw-app.itw-dark #aba-espelho .badge-numero{
  display:inline-grid!important;
  place-items:center!important;
  min-width:27px!important;
  min-height:23px!important;
  height:23px!important;
  padding:0 6px!important;
  background:#ffffff!important;
  background-image:none!important;
  color:#101820!important;
  -webkit-text-fill-color:#101820!important;
  border:1px solid #d2dee9!important;
  border-radius:6px!important;
  box-shadow:0 1px 2px rgba(0,0,0,.08)!important;
  opacity:1!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:850!important;
  font-variant-numeric:tabular-nums;
  letter-spacing:0!important;
  text-shadow:none!important;
  white-space:nowrap!important;
}
body.itw-app #aba-espelho .section-title > .step-badge{
  margin-right:9px!important;
}
body.itw-app #aba-espelho .badge-numero{
  min-width:27px!important;
}
