/* ═══════════════════════════════════════════════════════
   MÓDULO FISCAL — emissor próprio (substitui o Syntech) — 08/10/2026
   Tema BLUE (13/10/2026, paleta Material Blue pedida pelo dono; antes TEAL 09/10 e INDIGO 08/10) — redefine a escala --bg-* como os outros módulos.
   Regra do dono: TELA de fundo ESCURO + CÁPSULAS de fundo CLARO, abusando de degradês.
   Texto solto na página é claro (#e3f2fd/#bbdefb); dentro de cápsula (cartão, tabela, pílula, campo, janela) volta a ser
   teal escuro (#0d47a1). Destaques no "A" da paleta (A700 #2962ff e A400 #2979ff nos botões/filtros, A200 #448aff nos brilhos).
   Classes das telas com prefixo .em- (emis-*.js).
   ═══════════════════════════════════════════════════════ */
body[data-modulo="fiscal"] {
  --bg-900: #0d47a1;
  --bg-800: #1565c0;
  --bg-700: #1976d2;
  --bg-600: #1e88e5;
  --bg-500: #2196f3;
  --bg-400: #42a5f5;
  --bg-300: #64b5f6;
  --bg-200: #90caf9;
  --bg-100: #bbdefb;
  --bg-50:  #e3f2fd;
  --em-a100: #82b1ff;
  --em-a200: #448aff;
  --em-a400: #2979ff;
  --em-a700: #2962ff;
  --em-claro: #e3f2fd;          /* texto direto sobre o fundo escuro */
  --em-claro-2: #bbdefb;        /* texto secundário sobre o fundo escuro */
  --accent-blue:  #2962ff;
  --body-bg:      #0d47a1;
  --text-primary: #0d47a1;      /* texto DENTRO das cápsulas claras */
  --text-muted:   #1976d2;
  --border:       #bbdefb;
  background:
    radial-gradient(circle at 88% 8%, rgba(41, 121, 255, .30), transparent 38%),
    radial-gradient(circle at 6% 92%, rgba(68, 138, 255, .16), transparent 42%),
    linear-gradient(180deg, #90caf9 0%, #64b5f6 30%, #42a5f5 65%, #1e88e5 100%) fixed;   /* 19/10: INVERTIDO a pedido do dono — claro em cima, escuro embaixo (16/10: mais claro que a topbar #1565c0 e o menu) */
}
/* 16/10/2026 — TEMAS POR TELA (atributo data-em-tema no <body>, posto pelo navigateTo em emis-comum.js):
   · "financeiro" nas telas das EMPRESAS (painel e notas): o mesmo teal claro do módulo Financeiro, texto solto escuro;
   · "sicoob" na tela de BOLETOS: fundo turquesa claro do Sicoob (a janela em si usa o verde #003641 e o turquesa #00ae9d). */
body[data-modulo="fiscal"][data-em-tema="financeiro"] { --em-claro: #164a56; --em-claro-2: #2d7488; background: linear-gradient(160deg, #dbeef4 0%, #b8dee9 55%, #93cddd 100%) fixed; }
body[data-modulo="fiscal"][data-em-tema="financeiro"] #page-content .em-abas { border-bottom-color: rgba(33, 89, 104, .25); }
body[data-modulo="fiscal"][data-em-tema="financeiro"] #page-content .em-aba.ativa { color: #164a56; border-bottom-color: #215968; }
body[data-modulo="fiscal"][data-em-tema="financeiro"] #page-content .btn-outline { background: #fff; color: #164a56; border-color: #93cddd; }
body[data-modulo="fiscal"][data-em-tema="sicoob"] { --em-claro: #003641; --em-claro-2: #1f5f66; background: linear-gradient(160deg, #e6f4f1 0%, #c5e9e2 55%, #9fd9ce 100%) fixed; }
.hub-card.mod-fiscal { background: linear-gradient(140deg, #0d47a1 0%, #2962ff 62%, #448aff 100%); }
/* menu lateral e logo com o mesmo degradê escuro → vivo */
body[data-modulo="fiscal"] .sidebar { background: linear-gradient(180deg, #07224f 0%, #0d47a1 45%, #1976d2 100%); }
body[data-modulo="fiscal"] .logo-box { background: linear-gradient(135deg, #07224f 0%, #1e88e5 100%); }
body[data-modulo="fiscal"] .sidebar-item.active { background: linear-gradient(90deg, rgba(41, 121, 255, .30), rgba(41, 121, 255, .05)); border-left-color: var(--em-a400); }
body[data-modulo="fiscal"] .sidebar-section:hover { color: var(--em-a200); }

/* ── fundo escuro: o que fica SOLTO na página ── */
body[data-modulo="fiscal"] #page-content { color: var(--em-claro); }
body[data-modulo="fiscal"] #page-content .loading,
body[data-modulo="fiscal"] #page-content .em-conta,
body[data-modulo="fiscal"] #page-content .em-pag { color: var(--em-claro-2); }
body[data-modulo="fiscal"] #page-content .em-abas { border-bottom-color: rgba(187, 222, 251, .28); }
body[data-modulo="fiscal"] #page-content .em-aba { color: var(--em-claro-2); }
body[data-modulo="fiscal"] #page-content .em-aba.ativa { color: #fff; border-bottom-color: var(--em-a200); }
/* ── cápsulas claras: devolvem o texto escuro ── */
body[data-modulo="fiscal"] #page-content .card,
body[data-modulo="fiscal"] #page-content .em-card,
body[data-modulo="fiscal"] #page-content .em-tbl-box,
body[data-modulo="fiscal"] #page-content .em-info,
body[data-modulo="fiscal"] #page-content .em-emp-painel,
body[data-modulo="fiscal"] #page-content .em-escolha-card { color: var(--text-primary); }
body[data-modulo="fiscal"] #page-content .card .em-conta,
body[data-modulo="fiscal"] #page-content .em-tbl-box .em-conta { color: var(--text-muted); }
body[data-modulo="fiscal"] #page-content .card,
body[data-modulo="fiscal"] #page-content .em-tbl-box,
body[data-modulo="fiscal"] #page-content .em-info { box-shadow: 0 6px 20px rgba(0, 0, 0, .30); }
body[data-modulo="fiscal"] #page-content .card { background: linear-gradient(170deg, #ffffff 0%, #f2f7fe 100%); }
/* ── botões ── */
body[data-modulo="fiscal"] .btn-primary { background: linear-gradient(135deg, #2962ff 0%, #1e88e5 100%); color: #fff; border: 0; box-shadow: 0 3px 10px rgba(0, 0, 0, .3); }
body[data-modulo="fiscal"] .btn-primary:hover { background: linear-gradient(135deg, #2979ff 0%, #2962ff 100%); color: #0d47a1; }
body[data-modulo="fiscal"] .btn-primary:disabled { opacity: .5; }
body[data-modulo="fiscal"] #page-content .btn-outline { background: linear-gradient(160deg, #ffffff, #e3f2fd); color: var(--bg-900); border-color: rgba(227, 242, 253, .8); }
body[data-modulo="fiscal"] #page-content .btn-outline:hover { background: #fff; border-color: var(--em-a200); box-shadow: 0 0 0 3px rgba(68, 138, 255, .35); }
body[data-modulo="fiscal"] #page-content .btn-outline:disabled { opacity: .45; }
body[data-modulo="fiscal"] #page-content .em-tbl-box .btn-outline { border-color: var(--bg-200); }
body[data-modulo="fiscal"] #page-content select, body[data-modulo="fiscal"] #page-content .em-barra input { background: #fff; color: var(--text-primary); border-color: rgba(227, 242, 253, .6); }

/* ── estrutura comum das telas ── */
.em-wrap { display: flex; flex-direction: column; gap: 12px; }
.em-barra { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.em-barra .em-busca { flex: 1 1 260px; min-width: 200px; max-width: 460px; }
.em-barra .em-busca input { width: 100%; }
.em-barra select, .em-barra input[type="date"] { min-width: 0; }
.em-barra label.em-conta { display: inline-flex; align-items: center; gap: 6px; margin: 0; white-space: nowrap; }
.em-barra input[type="date"] { width: auto; padding: 6px 8px; }
.em-espaco { flex: 1; }
.em-conta { font-size: 12.5px; color: var(--text-muted); }

/* pílulas de filtro */
.em-pilulas { display: flex; flex-wrap: wrap; gap: 6px; }
.em-pilula { border: 1px solid var(--border); background: #fff; color: var(--text-primary); border-radius: 999px; padding: 5px 12px;
  font-size: 12.5px; cursor: pointer; display: inline-flex; gap: 6px; align-items: center; }
.em-pilula b { font-variant-numeric: tabular-nums; }
.em-pilula:hover { border-color: var(--em-a700); box-shadow: 0 0 0 3px rgba(41, 121, 255, .25); }
.em-pilula.ativa { background: linear-gradient(135deg, #2979ff, #2962ff); color: #fff;   /* 16/10: texto BRANCO (dono: "pílulas com o texto em preto") */ border-color: transparent; font-weight: 700; box-shadow: 0 3px 10px rgba(0, 0, 0, .25); }

/* chip da EMPRESA ativa (barra das telas) — cores da empresa em --c1/--c2 */
.em-emp-chip { display: inline-flex; align-items: center; gap: 7px; padding: 5px 10px 5px 8px; border-radius: 999px; font-weight: 700; font-size: 13px; color: #fff;
  background: linear-gradient(135deg, var(--c1, #90caf9), var(--c2, #0d47a1)); box-shadow: 0 3px 10px rgba(0, 0, 0, .3); text-shadow: 0 1px 2px rgba(0, 0, 0, .35); white-space: nowrap; }
.em-emp-chip i { width: 10px; height: 10px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 3px rgba(255, 255, 255, .35); }
.em-emp-chip.todas { background: rgba(227, 242, 253, .14); color: var(--em-claro); border: 1px solid rgba(130, 177, 255, .35); text-shadow: none; box-shadow: none; font-weight: 600; }
.em-emp-x { border: 0; background: rgba(255, 255, 255, .25); color: #fff; border-radius: 50%; width: 18px; height: 18px; line-height: 18px; font-size: 11px; cursor: pointer; padding: 0; margin-left: 2px; }
.em-emp-x:hover { background: rgba(255, 255, 255, .55); color: #0d47a1; }

/* tabela padrão do módulo */
.em-tbl-box { overflow-x: auto; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); }
.em-tbl { width: 100%; border-collapse: collapse; font-size: 13px; }
.em-tbl th { background: linear-gradient(90deg, #0d47a1, #1976d2); color: #fff; text-align: left; padding: 7px 9px; font-weight: 600; white-space: nowrap; position: sticky; top: 0; z-index: 1; }
.em-tbl td { padding: 6px 9px; border-bottom: 1px solid var(--bg-100); vertical-align: middle; }
.em-tbl tr:nth-child(even) td { background: #f5f9fe; }
.em-tbl tr.em-linha { cursor: pointer; }
.em-tbl tr.em-linha:hover td { background: var(--bg-100); }
.em-tbl td.n, .em-tbl th.n { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.em-tbl td.c, .em-tbl th.c { text-align: center; }
.em-tbl td.mono, .em-mono { font-family: Consolas, 'Courier New', monospace; font-size: 12.5px; }
.em-tbl td.nowrap { white-space: nowrap; }
.em-tbl .sub { display: block; font-size: 11.5px; color: var(--text-muted); }
.em-tbl tr.inativo td { opacity: .5; }
.em-vazio { padding: 28px; text-align: center; color: var(--text-muted); }

/* paginação */
.em-pag { display: flex; gap: 8px; align-items: center; justify-content: flex-end; font-size: 12.5px; color: var(--text-muted); }
.em-pag button { min-width: 34px; }

/* selos de situação */
.em-selo { display: inline-block; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; white-space: nowrap; }
.em-selo.faturado { background: #e3f2e7; color: #1b6b35; }
.em-selo.venda { background: #fff3d6; color: #7a5600; }
.em-selo.cancelado { background: #fde3e1; color: #a3322a; }
.em-selo.aberto { background: var(--bg-100); color: var(--bg-800); }
.em-selo.nfe { background: var(--bg-100); color: var(--bg-800); }
.em-selo.syntech { background: #eceff1; color: #455a64; }
.em-selo.manual { background: #e8f5e9; color: #2e7d32; }
.em-selo.aviso { background: #fff3d6; color: #7a5600; }
.em-selo.erro { background: #fde3e1; color: #a3322a; }

/* chip de modelo vinculado */
.em-mod { display: inline-flex; align-items: center; gap: 4px; background: var(--bg-50); border: 1px solid var(--bg-200); color: var(--bg-900);
  border-radius: 6px; padding: 1px 7px; font-size: 12px; margin: 1px 4px 1px 0; white-space: nowrap; }
.em-mod b { font-weight: 700; }
.em-semmod { color: #a36200; font-size: 12px; font-weight: 600; }

/* cartões de número (painel da empresa) */
.em-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.em-cards.em-cards-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.em-cards.em-cards-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1280px) { .em-cards, .em-cards.em-cards-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .em-cards, .em-cards.em-cards-5, .em-cards.em-cards-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .em-cards, .em-cards.em-cards-5, .em-cards.em-cards-3 { grid-template-columns: minmax(0, 1fr); } }
.em-card { position: relative; overflow: hidden; background: linear-gradient(170deg, #ffffff 0%, #edf4fd 100%); border-radius: var(--radius); box-shadow: 0 6px 18px rgba(0, 0, 0, .30);
  padding: 16px 16px 14px; display: flex; flex-direction: column; gap: 4px; border: 0; cursor: default; text-align: left; font: inherit; color: inherit; }
.em-card::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: linear-gradient(90deg, #2979ff, #1976d2); }
button.em-card { cursor: pointer; }
button.em-card:hover { box-shadow: 0 10px 26px rgba(0, 0, 0, .4), 0 0 0 3px rgba(68, 138, 255, .45); transform: translateY(-2px); }
.em-card .lbl { font-size: 12px; color: var(--text-muted); text-transform: uppercase; letter-spacing: .4px; font-weight: 700; }
.em-card .val { font-size: 26px; font-weight: 800; color: #0d47a1; font-variant-numeric: tabular-nums; line-height: 1.1; }
.em-card .sub { font-size: 12.5px; color: var(--text-muted); line-height: 1.4; }
.em-card.atencao::before { background: linear-gradient(90deg, #ffca28, #ff8f00); }
.em-card.atencao .val { color: #8a6100; }
.em-card.erro::before { background: linear-gradient(90deg, #ff8a80, #c62828); }
.em-card.erro .val { color: #b71c1c; }
.em-aviso { background: #fff8e1; border: 1px solid #ffe08a; color: #6d5200; border-radius: var(--radius); padding: 10px 14px; font-size: 13px; line-height: 1.45; }
.em-aviso b { color: #4d3a00; }
.em-info { background: linear-gradient(90deg, #ffffff, #edf4fd); border-left: 4px solid var(--em-a700); border-radius: 0 var(--radius) var(--radius) 0; padding: 10px 14px; font-size: 13px; line-height: 1.5; box-shadow: var(--shadow); }
.em-etapas { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.em-etapas li { display: flex; gap: 8px; align-items: baseline; }
.em-etapas .pt { width: 10px; height: 10px; border-radius: 50%; border: 2px solid var(--bg-500); flex: 0 0 10px; transform: translateY(1px); }
.em-etapas li.feita .pt { background: var(--em-a700); border-color: var(--em-a700); }
.em-etapas li.agora .pt { background: #ffb300; border-color: #ffb300; }
.em-etapas li.feita span { color: var(--text-muted); }

/* ── TELA INICIAL (padrão dos outros módulos: atalhos + logo + relógio) — versão escura com o selo FISCAL ── */
body[data-modulo="fiscal"] .inicio-tela {
  background:
    radial-gradient(circle at 80% 18%, rgba(68, 138, 255, .22), transparent 40%),
    radial-gradient(circle at 15% 85%, rgba(41, 121, 255, .18), transparent 45%),
    linear-gradient(135deg, #07224f 0%, #0d47a1 40%, #1976d2 75%, #42a5f5 100%);
  box-shadow: inset 0 0 0 1px rgba(130, 177, 255, .18), 0 12px 32px rgba(0, 0, 0, .35);
}
body[data-modulo="fiscal"] .inicio-atalho { background: linear-gradient(160deg, #ffffff 0%, #e3f2fd 100%); border-color: rgba(13, 71, 161, .12); box-shadow: 0 6px 18px rgba(0, 0, 0, .32); }
body[data-modulo="fiscal"] .inicio-atalho:hover { box-shadow: 0 12px 28px rgba(0, 0, 0, .42), 0 0 0 3px rgba(41, 121, 255, .55); }
body[data-modulo="fiscal"] .ia-label { color: #0d47a1; }
body[data-modulo="fiscal"] .inicio-logo { filter: brightness(0) invert(1) drop-shadow(0 4px 10px rgba(0, 0, 0, .45)); opacity: .98; }
body[data-modulo="fiscal"] .inicio-hora { text-shadow: 0 2px 8px rgba(0, 0, 0, .6); }
.em-canto .em-marca { display: flex; align-items: center; justify-content: flex-end; gap: 22px; }
.em-canto .inicio-logo { margin-left: 0; }
.em-selo-fiscal { width: 210px; height: 214px; flex: 0 0 auto; filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .45)); }
/* atalho de empresa: bolinha com a inicial no degradê da empresa + barra colorida em cima */
.em-emp-bola { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; color: #fff; font-weight: 900; font-size: 26px;
  background: linear-gradient(135deg, var(--c1, #2979ff), var(--c2, #1976d2)); box-shadow: 0 4px 12px rgba(0, 0, 0, .3); text-shadow: 0 1px 2px rgba(0, 0, 0, .35); font-style: normal; }
.em-emp-bola.grande { width: 64px; height: 64px; font-size: 30px; flex: 0 0 auto; }
body[data-modulo="fiscal"] .inicio-atalho.em-atalho-emp { border-top: 6px solid var(--c1); }
/* em telas menores o logo e o selo encolhem para não cobrir os atalhos (a tela do escritório é 1920 px; o preview é 1024) */
@media (max-width: 1500px) { .em-selo-fiscal { width: 160px; height: 163px; } body[data-modulo="fiscal"] .inicio-logo { width: 360px; } }
@media (max-width: 1150px) {
  /* janela estreita: logo/selo/relógio descem para baixo dos atalhos (fluxo normal) em vez de ficarem por cima deles */
  body[data-modulo="fiscal"] .inicio-tela { min-height: 0; padding: 20px 16px 24px; }
  body[data-modulo="fiscal"] .inicio-atalhos { position: static; }
  body[data-modulo="fiscal"] .inicio-canto { position: static; margin: 26px auto 0; text-align: center; }
  .em-canto .em-marca { justify-content: center; }
  .em-selo-fiscal { width: 150px; height: 153px; }
  body[data-modulo="fiscal"] .inicio-logo { width: 300px; margin: 0; }
  body[data-modulo="fiscal"] .inicio-hora { font-size: 40px; color: #fff; }
}
@media (max-width: 768px) {
  .em-canto .em-marca { justify-content: center; flex-wrap: wrap; gap: 12px; }
  .em-selo-fiscal { width: 120px; height: 122px; }
  body[data-modulo="fiscal"] .inicio-hora, body[data-modulo="fiscal"] .inicio-data { color: #fff; }
}

/* ── MENU: Empresas › Darci ▸ Clientes · Produtos · Orçamentos · Notas (sub-acordeão, lógica em emis-comum.js) ── */
#nav-fiscal .em-emp-cab { padding-right: 12px; }
#nav-fiscal .em-emp-cab .em-emp-seta { margin-left: auto; font-size: 13px; opacity: .7; transition: transform .2s; font-weight: 400; }
#nav-fiscal .em-emp.aberta .em-emp-seta { transform: rotate(90deg); }
#nav-fiscal .em-emp-dot { width: 14px; height: 14px; min-width: 14px; border-radius: 50%; margin: 0 4px; box-shadow: 0 0 0 2px rgba(255, 255, 255, .18), 0 0 10px rgba(0, 0, 0, .3); }
#nav-fiscal .em-emp[data-emp="darci"] .em-emp-dot { background: linear-gradient(135deg, #4472C4, #2f5597); }   /* 16/10: paleta do Financeiro (azul · verde · preto) */
#nav-fiscal .em-emp[data-emp="ana"] .em-emp-dot { background: linear-gradient(135deg, #70AD47, #548235); }
#nav-fiscal .em-emp[data-emp="marianne"] .em-emp-dot { background: linear-gradient(135deg, #595959, #000000); box-shadow: 0 0 0 2px rgba(255, 255, 255, .45), 0 0 10px rgba(0, 0, 0, .3); }
#nav-fiscal .em-emp-sub { max-height: 0; overflow: hidden; transition: max-height .25s ease; background: rgba(0, 0, 0, .20); }
#nav-fiscal .em-emp.aberta .em-emp-sub { max-height: 240px; }
#nav-fiscal .em-sub { padding: 7px 16px 7px 36px; }
#nav-fiscal .em-sub span { font-size: 14px; }
#nav-fiscal .em-sub .sidebar-emoji { font-size: 15px; }
#nav-fiscal .em-emp.atual .em-emp-cab span { color: #fff; font-weight: 700; }
.sidebar.collapsed #nav-fiscal .em-emp-sub, .sidebar.collapsed #nav-fiscal .em-emp-seta { display: none; }

/* ── PAINEL DA EMPRESA ── */
.em-emp-painel { display: flex; align-items: center; gap: 16px; background: linear-gradient(90deg, #ffffff 0%, #e3f2fd 100%); border-radius: var(--radius); padding: 14px 18px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, .3); border-left: 8px solid var(--c1, #2979ff); position: relative; overflow: hidden; }
.em-emp-painel::after { content: ''; position: absolute; right: -70px; top: -70px; width: 240px; height: 240px; border-radius: 50%; background: radial-gradient(circle, var(--c1, #2979ff) 0%, transparent 70%); opacity: .35; pointer-events: none; }
.em-emp-id { flex: 1; min-width: 0; position: relative; }
.em-emp-id h2 { margin: 0 0 3px; font-size: 20px; color: #0d47a1; }
.em-emp-id .sub { font-size: 13px; color: var(--text-muted); }
.em-emp-acoes { display: flex; gap: 8px; position: relative; }
body[data-modulo="fiscal"] #page-content .em-emp-painel .btn-outline { background: #fff; border-color: var(--c2, #1976d2); color: #0d47a1; }
.em-emp-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 12px; align-items: start; }
@media (max-width: 1000px) { .em-emp-grid { grid-template-columns: minmax(0, 1fr); } }
.em-emp-links { display: flex; flex-direction: column; gap: 6px; }
.em-link { display: flex; align-items: center; gap: 12px; border: 1px solid var(--bg-100); background: linear-gradient(90deg, #ffffff, #f3f8fe); border-radius: 10px; padding: 8px 12px;
  cursor: pointer; text-align: left; font: inherit; color: var(--text-primary); }
.em-link:hover { border-color: var(--em-a700); box-shadow: 0 3px 10px rgba(0, 0, 0, .12); }
.em-link span { font-size: 22px; }
.em-link small { display: block; font-size: 12px; color: var(--text-muted); }
/* gráfico de barras (12 meses) só com CSS */
.em-graf { display: flex; align-items: flex-end; gap: 6px; height: 150px; padding: 0 2px; }
.em-graf-col { flex: 1; display: flex; flex-direction: column; align-items: center; height: 100%; min-width: 0; }
.em-graf-barras { flex: 1; width: 100%; display: flex; flex-direction: column; justify-content: flex-end; gap: 1px; }
.em-graf-nfe { background: linear-gradient(180deg, #2979ff, #1976d2); border-radius: 4px 4px 0 0; }
.em-graf-nfce { background: linear-gradient(180deg, #ffe082, #ffb300); border-radius: 4px 4px 0 0; }
.em-graf-col small { font-size: 11px; color: var(--text-muted); margin-top: 4px; }
.em-graf-leg { display: flex; gap: 14px; align-items: center; font-size: 12px; color: var(--text-muted); margin-top: 8px; }
.em-graf-leg i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 5px; vertical-align: -2px; }
.em-graf-leg i.nfe { background: linear-gradient(180deg, #2979ff, #1976d2); }
.em-graf-leg i.nfce { background: linear-gradient(180deg, #ffe082, #ffb300); }
/* escolha da empresa (quando a tela precisa de uma e nenhuma foi escolhida) */
.em-escolha { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 900px) { .em-escolha { grid-template-columns: minmax(0, 1fr); } }
.em-escolha-card { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 22px 16px; border: 0; border-top: 6px solid var(--c1, #2979ff); border-radius: 14px;
  background: linear-gradient(160deg, #ffffff, #e3f2fd); cursor: pointer; font: inherit; box-shadow: 0 6px 18px rgba(0, 0, 0, .3); transition: transform .15s, box-shadow .15s; }
.em-escolha-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(0, 0, 0, .4), 0 0 0 3px var(--c1, #2979ff); }
.em-escolha-card .nome { font-size: 20px; }
.em-escolha-card small { color: var(--text-muted); font-size: 12.5px; }
.em-escolha-card .dest { color: #0d47a1; font-weight: 600; }
/* ficha do cliente: compras por empresa */
.em-por-emp { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 10px; }
.em-por-emp .it { display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--bg-100); border-radius: 10px; padding: 6px 10px; font-size: 12.5px; }
.em-por-emp .it i { width: 12px; height: 12px; border-radius: 50%; background: linear-gradient(135deg, var(--c1), var(--c2)); }

/* ── ORÇAMENTO (tela nova/alterar — etapa 2) ── */
.em-orc-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 12px; align-items: start; }
@media (max-width: 1100px) { .em-orc-grid { grid-template-columns: minmax(0, 1fr); } }
.em-orc-num { font-size: 17px; color: #fff; } .em-orc-num b { font-size: 24px; }
.em-dd { position: relative; }
.em-dd input { width: 100%; }
.em-dd-lista { position: absolute; left: 0; right: 0; top: 100%; z-index: 60; background: #fff; border: 1px solid var(--bg-200); border-radius: 8px; box-shadow: 0 10px 24px rgba(0, 0, 0, .35); max-height: 320px; overflow: auto; }
.em-dd-item { padding: 7px 10px; cursor: pointer; font-size: 13px; display: flex; gap: 8px; align-items: center; border-bottom: 1px solid var(--bg-50); color: var(--text-primary); }
.em-dd-item:hover, .em-dd-item.sel { background: var(--bg-50); }
.em-dd-item .cod { font-weight: 700; color: #0d47a1; min-width: 64px; font-family: Consolas, monospace; }
.em-dd-item .sub { color: var(--text-muted); font-size: 12px; margin-left: auto; white-space: nowrap; }
.em-cli-sel { display: flex; gap: 12px; align-items: center; background: linear-gradient(90deg, #fff, #edf4fd); border: 1px solid var(--bg-100); border-radius: 10px; padding: 8px 12px; }
.em-cli-sel b { font-size: 15px; } .em-cli-sel small { display: block; color: var(--text-muted); }
.em-emp-escolha { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.em-emp-pill { border: 2px solid var(--bg-100); border-radius: 999px; padding: 6px 14px 6px 8px; display: inline-flex; gap: 8px; align-items: center; font-weight: 700; cursor: pointer; background: #fff; color: #0d47a1; font: inherit; font-weight: 700; }
.em-emp-pill i { width: 14px; height: 14px; border-radius: 50%; background: linear-gradient(135deg, var(--c1), var(--c2)); }
.em-emp-pill.ativa { border-color: var(--c2); background: linear-gradient(135deg, var(--c1), var(--c2)); color: #fff; text-shadow: 0 1px 2px rgba(0, 0, 0, .35); box-shadow: 0 3px 10px rgba(0, 0, 0, .25); }
.em-emp-pill.ativa i { background: #fff; }
.em-orc-itens input { width: 100%; min-width: 0; padding: 4px 6px; font-size: 13px; text-align: right; }
.em-orc-itens input.tam { text-align: center; width: 60px; }
.em-orc-itens td.n input { width: 88px; }
.em-orc-itens .x { border: 0; background: none; color: #a3322a; cursor: pointer; font-size: 16px; }
.em-fim-linha { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 5px 0; border-bottom: 1px dashed var(--bg-100); font-size: 13.5px; }
.em-fim-linha input { width: 108px; text-align: right; padding: 4px 6px; }
.em-fim-linha .dup { display: inline-flex; gap: 4px; align-items: center; white-space: nowrap; }
.em-fim-linha .dup input { width: 72px; }
.em-fim-linha .k { color: var(--text-muted); } .em-fim-linha .k small { font-size: 11px; }
.em-fim-total { display: flex; justify-content: space-between; align-items: baseline; margin: 10px 0; padding: 10px 14px; background: linear-gradient(90deg, #e3f2fd, #fff); border-radius: 10px; border-left: 5px solid var(--em-a700); }
.em-fim-total b { font-size: 28px; color: #0d47a1; font-variant-numeric: tabular-nums; }
.em-parcelas input { padding: 4px 6px; } .em-parcelas input[type="date"] { width: 150px; } .em-parcelas td.n input { width: 100px; text-align: right; }
body[data-modulo="fiscal"] #page-content .em-orc-fim .em-conta { color: var(--text-muted); }
body[data-modulo="fiscal"] #page-content .card .em-conta a { color: var(--em-a700); }

/* ficha (modal) */
.em-modal [data-painel][hidden] { display: none !important; }
.em-modal .modal { max-width: 980px; width: calc(100vw - 32px); }
.em-modal .modal-body { max-height: calc(100vh - 190px); overflow: auto; }
.em-abas { display: flex; gap: 4px; border-bottom: 2px solid var(--bg-200); margin-bottom: 12px; flex-wrap: wrap; }
.em-aba { border: 0; background: none; padding: 7px 14px; font-weight: 600; color: var(--text-muted); cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -2px; font: inherit; }
.em-aba.ativa { color: var(--bg-800); border-bottom-color: var(--bg-700); }
.em-form { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px 12px; }
.em-form .form-group { margin: 0; }
.em-form .s1 { grid-column: span 1; } .em-form .s2 { grid-column: span 2; } .em-form .s3 { grid-column: span 3; }
.em-form .s4 { grid-column: span 4; } .em-form .s6 { grid-column: span 6; }
.em-form .em-sec { margin: 8px 0 0; }
@media (max-width: 760px) { .em-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } .em-form [class^="s"] { grid-column: span 2; } }
.em-form input:not([type="checkbox"]), .em-form select, .em-form textarea { width: 100%; }
.em-form input[type="color"] { padding: 2px; height: 36px; }
.em-form input[type="checkbox"], .em-vinc-item input[type="checkbox"], .em-tbl input[type="checkbox"], .em-conta input[type="checkbox"] {
  width: auto; min-width: 0; flex: 0 0 auto; margin: 0 4px 0 0; padding: 0; }
.em-form .ajuda { font-size: 11.5px; color: var(--text-muted); margin-top: 2px; }
.em-form .erro { color: var(--accent-red); }
.em-dados { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 8px 16px; margin-bottom: 12px; }
.em-dados .k { font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: .3px; font-weight: 600; }
.em-dados .v { font-size: 13.5px; }
.em-sec { font-size: 12px; font-weight: 700; color: var(--bg-800); text-transform: uppercase; letter-spacing: .5px; margin: 14px 0 6px; }
.em-hist { font-size: 12px; color: var(--text-muted); display: flex; flex-direction: column; gap: 3px; }

/* vínculo produto ↔ modelo */
.em-vinc { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
@media (max-width: 760px) { .em-vinc { grid-template-columns: minmax(0, 1fr); } }
.em-vinc-lista { display: flex; flex-direction: column; gap: 4px; max-height: 320px; overflow: auto; border: 1px solid var(--bg-200); border-radius: 8px; padding: 6px; background: #fff; }
.em-vinc-item { display: flex; gap: 8px; align-items: center; padding: 5px 7px; border-radius: 6px; cursor: pointer; font-size: 13px; }
.em-vinc-item:hover { background: var(--bg-50); }
.em-vinc-item input { flex: 0 0 auto; }
.em-vinc-item .cod { font-weight: 700; color: var(--bg-900); min-width: 82px; }
.em-vinc-item .nota { margin-left: auto; font-size: 11px; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.em-vinc-item .outro { font-size: 11px; color: #a36200; }
.em-auto-lista { max-height: 52vh; overflow: auto; }

/* Malharia › Cadastro de Modelos: info do Código Venda embaixo do campo */
/* (fica embaixo do campo, sem empurrar a linha: os outros campos da grade continuam alinhados) */
#ft-codvenda-info { position: absolute; left: 0; right: 0; top: calc(100% + 1px); font-size: 10.5px; line-height: 1.2;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; pointer-events: auto; }
#ft-codvenda-info.ok { color: var(--accent-green); }
#ft-codvenda-info.aviso { color: #b26a00; }

/* ═══ AJUSTES FINOS 09/10/2026 (pedido do dono) ═══════════════════════════════════════
   1) tela inicial um pouco mais CLARA; 2) telas de DIGITAÇÃO (orçamento, devolução, janelas de ficha) com fundo e letras
   escuros e os CAMPOS (pílulas de digitação) claros; 3) logo "Tricôfio FISCAL" na tela inicial. */
/* 1) tela inicial: degradê do teal médio ao claro (os atalhos brancos continuam) */
body[data-modulo="fiscal"] .inicio-tela {
  background:
    radial-gradient(circle at 82% 16%, rgba(130, 177, 255, .45), transparent 42%),
    radial-gradient(circle at 12% 88%, rgba(68, 138, 255, .28), transparent 45%),
    linear-gradient(180deg, #90caf9 0%, #64b5f6 35%, #42a5f5 70%, #1e88e5 100%);   /* 19/10: invertido como o fundo — claro em cima, escuro embaixo */
}
body[data-modulo="fiscal"] .inicio-hora { color: #fff; text-shadow: 0 2px 8px rgba(4, 30, 70, .55); }
body[data-modulo="fiscal"] .inicio-data { color: #e3f2fd; text-shadow: 0 1px 4px rgba(4, 30, 70, .5); }
/* 3) logo Tricôfio FISCAL: o selo + o logo branco + a faixa FISCAL em degradê vivo */
.em-logo-bloco { display: flex; flex-direction: column; align-items: flex-end; }
.em-logo-faixa { display: flex; align-items: baseline; gap: 14px; margin-top: -4px; padding-top: 6px; border-top: 3px solid rgba(255, 255, 255, .7); }
.em-logo-faixa span { font: 900 36px/1 'Segoe UI', Arial, sans-serif; letter-spacing: 11px; margin-right: -11px;
  background: linear-gradient(90deg, #ffffff 0%, #e3f2fd 55%, #bbdefb 100%); -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 3px 6px rgba(4, 30, 70, .45)); }
.em-logo-faixa small { color: #e3f2fd; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; text-shadow: 0 1px 3px rgba(4, 30, 70, .5); }
.em-selo-fiscal { width: 170px; height: 173px; }
@media (max-width: 1150px) { .em-logo-bloco { align-items: center; } .em-logo-faixa span { font-size: 26px; letter-spacing: 8px; margin-right: -8px; } .em-logo-faixa small { display: none; } }
/* 2) telas de digitação: cartões escuros, letras claras, campos claros */
/* (14:55: dono achou "muito verdão" — clareado do 900/800 para o 700/500 da paleta) */
body[data-modulo="fiscal"] #page-content .em-orc .card {
  background: linear-gradient(170deg, #1976d2 0%, #1e88e5 55%, #2196f3 100%); color: #f3f8fe; border: 1px solid rgba(130, 177, 255, .3); box-shadow: 0 8px 24px rgba(0, 0, 0, .35); }
.em-orc .card .em-sec { color: #82b1ff; }
.em-orc .card label, .em-orc .card .form-group label { color: #e3f2fd; }
.em-orc .card .em-conta, .em-orc .card .em-fim-linha .k, .em-orc .card .em-fim-linha .k small { color: #e3f2fd; }
body[data-modulo="fiscal"] #page-content .em-orc-fim .em-conta { color: #e3f2fd; }
.em-orc .card .em-fim-linha { border-bottom-color: rgba(227, 242, 253, .35); }
.em-orc .card .em-fim-linha b { color: #fff; }
.em-orc .card .em-fim-linha .dup { color: #e3f2fd; }
.em-orc .card input, .em-orc .card select, .em-orc .card textarea { background: #fff; color: #0d47a1; border: 1px solid #90caf9; }
.em-orc .card input::placeholder, .em-orc .card textarea::placeholder { color: #8fa8c8; }
.em-orc .card .em-tbl-box, .em-orc .card .em-cli-sel, .em-orc .card .em-dd-lista { color: var(--text-primary); }
.em-orc .card .em-cli-sel small, .em-orc .card .em-cli-sel .em-conta { color: var(--text-muted); }
.em-orc .card .em-fim-total { background: linear-gradient(90deg, #e3f2fd, #ffffff); color: #0d47a1; border-left-color: var(--em-a400); }
.em-orc .card .em-fim-total b { color: #0d47a1; }
.em-orc .card .em-conta a, body[data-modulo="fiscal"] #page-content .em-orc .card .em-conta a { color: var(--em-a200); }
.em-orc .card .em-emp-pill { border-color: rgba(255, 255, 255, .35); }
.em-orc .card .em-pilula { border-color: rgba(255, 255, 255, .35); }
/* janelas de ficha (modais do módulo): corpo escuro, letras claras, campos e tabelas claros */
.em-modal .modal-body { background: linear-gradient(170deg, #1976d2 0%, #1e88e5 55%, #2196f3 100%); color: #f3f8fe; }
.em-modal .modal-footer { background: #1976d2; border-top: 1px solid rgba(130, 177, 255, .3); }
.em-modal .em-sec { color: #82b1ff; }
.em-modal label, .em-modal .form-group label { color: #e3f2fd; }
.em-modal .em-conta, .em-modal .em-hist, .em-modal .em-form .ajuda { color: #e3f2fd; }
.em-modal .em-dados .k { color: #bbdefb; }
.em-modal .em-dados .v { color: #fff; }
.em-modal input:not([type="checkbox"]), .em-modal select, .em-modal textarea { background: #fff; color: #0d47a1; border: 1px solid #90caf9; }
.em-modal input:disabled { background: #d3e3f6; color: #5a7aa3; }
.em-modal .em-tbl-box, .em-modal .em-info, .em-modal .em-aviso, .em-modal .em-vinc-lista, .em-modal .em-por-emp .it, .em-modal .em-escolha-card { color: var(--text-primary); }
.em-modal .em-info .em-sec { color: var(--bg-800); }
.em-modal .em-info .em-hist { color: var(--text-muted); }
.em-modal .em-abas { border-bottom-color: rgba(187, 222, 251, .3); }
.em-modal .em-aba { color: #bbdefb; }
.em-modal .em-aba.ativa { color: #fff; border-bottom-color: var(--em-a200); }
.em-modal .em-conta a { color: var(--em-a200); }
.em-modal .em-vinc-item .outro { color: #ffca28; }
.em-modal .btn-outline { background: linear-gradient(160deg, #ffffff, #e3f2fd); color: #0d47a1; border-color: rgba(227, 242, 253, .8); }
.em-modal .em-mod { background: #fff; }

/* ═══ 13/10/2026 — barras de topo com COR SÓLIDA (dono não gostou do degradê): teal 800 #1565c0 em tudo que é "topbar" ═══ */
body[data-modulo="fiscal"] .topbar, body[data-modulo="fiscal"] .logo-box, body[data-modulo="fiscal"] .card-header,
body[data-modulo="fiscal"] .modal-header, .em-modal .modal-header, .em-tbl th { background: #1565c0; }
/* Acessos */
.em-acessos td select, .em-acessos td input { padding: 4px 6px; }
.em-acessos td select { min-width: 96px; }
.em-acessos .emps label { display: inline-flex; align-items: center; gap: 4px; margin-right: 8px; white-space: nowrap; }
.em-acessos .emps input { width: auto; min-width: 0; margin: 0; }
.em-acessos tr.sem td { opacity: .55; }

/* ═══ 16/10/2026 (tarde) — TEMA DA EMPRESA nas telas da empresa (painel e notas), pedido do dono: "a cor tema que usamos no Financeiro
   (azul Darci, preto Marianne e verde Ana)" = FisComum.CORES do Financeiro/Excel (#4472C4 · #000000 · #70AD47; tons claros #DAE3F3/#D9D9D9/#E2F0D9).
   O atributo data-em-emp é posto no <body> por EmisComum.aplicarTema (emis-comum.js) junto com data-em-tema="financeiro";
   sem empresa escolhida (3 empresas) vale o teal do Financeiro acima. Cartões de número PREENCHIDOS com a cor (como os KPIs das Notas DAS). ═══ */
body[data-modulo="fiscal"][data-em-emp="darci"]    { --emp-cor: #4472C4; --emp-hover: #2f5597; --emp-escura: #1f3864; --emp-clara: #DAE3F3; --emp-media: #b4c7e7; --emp-fundo: #eef2fa; --em-claro: #1f3864; --em-claro-2: #2f5597; background: linear-gradient(160deg, #eef2fa 0%, #dae3f3 55%, #b4c7e7 100%) fixed; }
body[data-modulo="fiscal"][data-em-emp="marianne"] { --emp-cor: #000000; --emp-hover: #333333; --emp-escura: #0d0d0d; --emp-clara: #d9d9d9; --emp-media: #bfbfbf; --emp-fundo: #f2f2f2; --em-claro: #1a1a1a; --em-claro-2: #404040; background: linear-gradient(160deg, #f2f2f2 0%, #d9d9d9 55%, #bfbfbf 100%) fixed; }
body[data-modulo="fiscal"][data-em-emp="ana"]      { --emp-cor: #70AD47; --emp-hover: #548235; --emp-escura: #385723; --emp-clara: #E2F0D9; --emp-media: #c5e0b4; --emp-fundo: #f3f9ef; --em-claro: #385723; --em-claro-2: #548235; background: linear-gradient(160deg, #f3f9ef 0%, #e2f0d9 55%, #c5e0b4 100%) fixed; }
body[data-modulo="fiscal"][data-em-emp] #page-content .em-card:not(.atencao):not(.erro) { background: var(--emp-cor); color: #fff; }
body[data-modulo="fiscal"][data-em-emp] #page-content .em-card:not(.atencao):not(.erro)::before { background: rgba(255, 255, 255, .35); }
body[data-modulo="fiscal"][data-em-emp] #page-content .em-card:not(.atencao):not(.erro) .lbl,
body[data-modulo="fiscal"][data-em-emp] #page-content .em-card:not(.atencao):not(.erro) .sub { color: rgba(255, 255, 255, .88); }
body[data-modulo="fiscal"][data-em-emp] #page-content .em-card:not(.atencao):not(.erro) .val { color: #fff; }
body[data-modulo="fiscal"][data-em-emp] #page-content button.em-card:hover { box-shadow: 0 10px 26px rgba(0, 0, 0, .35), 0 0 0 3px var(--emp-media); }
body[data-modulo="fiscal"][data-em-emp] .card-header, body[data-modulo="fiscal"][data-em-emp] .modal-header, body[data-modulo="fiscal"][data-em-emp] .em-tbl th { background: var(--emp-cor); }
body[data-modulo="fiscal"][data-em-emp] #page-content .em-emp-chip, body[data-modulo="fiscal"][data-em-emp] #page-content .em-emp-bola { background: var(--emp-cor); }
body[data-modulo="fiscal"][data-em-emp] #page-content .em-pilula.ativa { background: var(--emp-cor); color: #fff; }
body[data-modulo="fiscal"][data-em-emp] #page-content .em-pilula:hover { border-color: var(--emp-cor); box-shadow: 0 0 0 3px var(--emp-clara); }
body[data-modulo="fiscal"][data-em-emp] #page-content .btn-primary { background: var(--emp-cor); border-color: var(--emp-cor); color: #fff; }
body[data-modulo="fiscal"][data-em-emp] #page-content .btn-primary:hover { background: var(--emp-hover); border-color: var(--emp-hover); color: #fff; }
body[data-modulo="fiscal"][data-em-emp] #page-content .btn-outline { background: #fff; color: var(--emp-escura); border-color: var(--emp-media); }
body[data-modulo="fiscal"][data-em-emp] #page-content .btn-outline:hover { border-color: var(--emp-cor); }
body[data-modulo="fiscal"][data-em-emp] #page-content .em-info { border-left-color: var(--emp-cor); background: #fff; }
body[data-modulo="fiscal"][data-em-emp] #page-content .em-sec { color: var(--emp-escura); }
body[data-modulo="fiscal"][data-em-emp] #page-content .em-abas { border-bottom-color: var(--emp-media); }
body[data-modulo="fiscal"][data-em-emp] #page-content .em-aba.ativa { color: var(--emp-escura); border-bottom-color: var(--emp-cor); }
body[data-modulo="fiscal"][data-em-emp] #page-content .em-graf-nfe, body[data-modulo="fiscal"][data-em-emp] #page-content .em-graf-leg i.nfe { background: var(--emp-cor); }
body[data-modulo="fiscal"][data-em-emp] #page-content .em-link:hover { border-color: var(--emp-cor); }
body[data-modulo="fiscal"][data-em-emp] #page-content .em-tbl tbody tr:hover td { background: var(--emp-clara); }
body[data-modulo="fiscal"][data-em-emp] #page-content .em-emp-painel { border-left-color: var(--emp-cor); }   /* faixa da ficha acompanha o tema (antes era a cor do cadastro/CORES) */
/* 16/10 (fim da tarde) — JANELA da NF-e/PDV no tema da empresa emitente (classe em-tema-emp na .em-nf-janela, posta por emis-nf.js; as
   variáveis --emp-* vêm do body[data-em-emp], que a janela também liga). Título, barra, totais e abas na cor; o resto vem das regras acima. */
.em-nf-janela.em-tema-emp { background: var(--emp-fundo, #e3f2fd); }
.em-nf-janela.em-tema-emp .em-nf-titulo { background: var(--emp-cor); }
.em-nf-janela.em-tema-emp .em-nf-tb { background: var(--emp-clara); border-bottom-color: var(--emp-media); }
.em-nf-janela.em-tema-emp .em-nf-tb .sep { background: var(--emp-media); }
.em-nf-janela.em-tema-emp .em-nf-num, .em-nf-janela.em-tema-emp .em-nf-total b { color: var(--emp-escura); }
.em-nf-janela.em-tema-emp .em-nf-total { background: linear-gradient(90deg, var(--emp-clara), #fff); border-color: var(--emp-media); }
.em-nf-janela.em-tema-emp .card, .em-nf-janela.em-tema-emp .em-nf-tot .bloco { box-shadow: 0 1px 3px rgba(0, 0, 0, .16); }
.em-nf-janela.em-tema-emp .btn-outline { background: #fff; color: var(--emp-escura); border-color: var(--emp-media); }
.em-nf-janela.em-tema-emp .btn-outline:hover { border-color: var(--emp-cor); }
.em-nf-janela.em-tema-emp .em-emp-pill { border-color: var(--emp-media); }
body[data-modulo="fiscal"] #page-content .em-nf-janela.em-tema-emp .em-nf-status { color: var(--emp-escura); }
body[data-modulo="fiscal"] #page-content .em-nf-janela.em-tema-emp .em-aba { color: var(--emp-escura); opacity: .72; }
body[data-modulo="fiscal"] #page-content .em-nf-janela.em-tema-emp .em-aba.ativa { opacity: 1; color: var(--emp-escura); border-bottom-color: var(--emp-cor); }
body[data-modulo="fiscal"] #page-content .em-nf-janela.em-tema-emp .em-aba:disabled { opacity: .45; }
body[data-modulo="fiscal"] #page-content .em-nf-janela.em-tema-emp .em-abas { border-bottom-color: var(--emp-media); }
body[data-modulo="fiscal"] #page-content .em-nf-janela.em-tema-emp .em-sec { color: var(--emp-escura); }
/* 16/10 — JANELA de ficha (EmisComum.janela): cadastro de Cliente/Produto no formato das janelas de lançamento. Overlay .modal-overlay
   (z 1000, por cima de qualquer janela de lançamento) SEM a classe em-modal → sem o corpo escuro; a caixa é a .em-nf-janela com altura automática. */
.em-janela .em-janela-box { height: auto; max-height: min(800px, 96vh); width: min(1000px, 96vw); }
.em-janela .em-nf-corpo { padding: 8px 12px 12px; }
.em-janela [data-painel][hidden] { display: none !important; }
.em-janela .em-mod { background: #fff; }
.em-janela .em-vinc-item .outro { color: #b26a00; }
.em-janela .em-abas { margin: 0 0 6px; border-bottom: 1px solid #90caf9; }
.em-janela .em-aba { color: #1565c0; } .em-janela .em-aba.ativa { color: #0d47a1; border-bottom-color: #1565c0; }
.em-janela .em-form { gap: 4px 8px; } .em-janela .em-form label { font-size: 10.5px; margin-bottom: 1px; }
.em-janela .em-form input:not([type="checkbox"]), .em-janela .em-form select { padding: 3px 6px; font-size: 12.5px; height: 26px; }
.em-janela .em-form textarea { font-size: 12.5px; }
.em-janela .em-sec { font-size: 11px; margin: 6px 0 3px; color: #1565c0; }
.em-janela .em-dados .k { color: var(--text-muted); } .em-janela .em-dados .v { color: var(--text-primary); }
.em-janela .em-tbl th { background: #1565c0; padding: 4px 7px; font-size: 11.5px; } .em-janela .em-tbl td { padding: 3px 6px; font-size: 12px; }
.em-janela .em-info { background: linear-gradient(90deg, #ffffff, #edf4fd); font-size: 12px; padding: 6px 10px; }

/* ═══ 19/10/2026 — MENU LATERAL no estilo das janelas (dono: "faz isso também na topbar lateral dos menus para vermos como fica"):
   fundo claro #e3f2fd (o corpo das janelas), seções como a barra de botões (#bbdefb, texto azul 900), itens azul-escuro, item ativo =
   cartão branco com borda azul; o logo continua na barra sólida #1565c0 (o título das janelas). Só no módulo Fiscal. ═══ */
body[data-modulo="fiscal"] .sidebar { background: #e3f2fd; border-right: 1px solid #90caf9; }
body[data-modulo="fiscal"] .sidebar-logo { border-bottom: 0; }
body[data-modulo="fiscal"] .sidebar-section { background: #bbdefb; color: #0d47a1; border-top: 1px solid #90caf9; border-bottom: 1px solid #90caf9; margin-top: 6px; padding: 7px 14px 6px; font-size: 12px; }
body[data-modulo="fiscal"] .sidebar-section:hover { color: #1565c0; background: #cfe6fb; }
body[data-modulo="fiscal"] .sidebar-section .acc-arrow { opacity: .8; }
body[data-modulo="fiscal"] .sidebar-item { color: #0d47a1; border-left-color: transparent; }
body[data-modulo="fiscal"] .sidebar-item:hover { background: #cfe6fb; color: #0d47a1; }
body[data-modulo="fiscal"] .sidebar-item.active { background: #fff; color: #0d47a1; font-weight: 700; border-left-color: #1565c0; box-shadow: inset 0 1px 0 #90caf9, inset 0 -1px 0 #90caf9; }
body[data-modulo="fiscal"] #nav-fiscal .em-emp-sub { background: rgba(13, 71, 161, .07); }
body[data-modulo="fiscal"] #nav-fiscal .em-emp.atual .em-emp-cab span { color: #0d47a1; }
body[data-modulo="fiscal"] #nav-fiscal .em-emp-cab .em-emp-seta { opacity: .8; }
body[data-modulo="fiscal"] #nav-fiscal .em-emp-dot { box-shadow: 0 0 0 2px #fff, 0 0 6px rgba(0, 0, 0, .25); }
body[data-modulo="fiscal"] .sidebar.collapsed .sidebar-section { background: #bbdefb; }
/* 19/10 — menu FLUTUANTE com sombra (dono: "tem como deixar ele flutuante também? com sombra?"): descolado das bordas, cantos redondos
   e a mesma sombra das janelas; o fundo da página aparece em volta. O #app é flex → a margem encolhe o menu e empurra o conteúdo sozinha. */
body[data-modulo="fiscal"] .sidebar { margin: 10px 0 10px 10px; border-radius: 10px; border-right: 0; box-shadow: 0 14px 40px rgba(7, 34, 79, .45), 0 0 0 1px rgba(13, 71, 161, .18); }
body[data-modulo="fiscal"] .sidebar .logo-box { border-radius: 10px 10px 0 0; }
body[data-modulo="fiscal"] .sidebar::-webkit-scrollbar { width: 6px; } body[data-modulo="fiscal"] .sidebar::-webkit-scrollbar-thumb { background: #90caf9; border-radius: 3px; }
/* 19/10 — TOPBAR flutuante também (dono: "faz o mesmo na topbar de cima"): mesma margem, raio e sombra do menu; o topo dos dois fica alinhado (52 px). */
body[data-modulo="fiscal"] .topbar { margin: 10px 10px 0 10px; border-radius: 10px; box-shadow: 0 14px 40px rgba(7, 34, 79, .45), 0 0 0 1px rgba(13, 71, 161, .18); }
/* 19/10 — BLOCOS das telas flutuantes (dono: "deixa os blocos das telas flutuantes também"): cartões, tabelas, avisos, painéis e atalhos
   com a sombra e o raio 10 do menu/topbar. Só no Fiscal e só FORA das janelas de lançamento (dentro delas os cartões seguem leves). */
body[data-modulo="fiscal"] #page-content .card:not(.em-nf-janela .card),
body[data-modulo="fiscal"] #page-content .em-card,
body[data-modulo="fiscal"] #page-content .em-tbl-box:not(.em-nf-janela .em-tbl-box),
body[data-modulo="fiscal"] #page-content .em-info:not(.em-nf-janela .em-info),
body[data-modulo="fiscal"] #page-content .em-aviso:not(.em-nf-janela .em-aviso),
body[data-modulo="fiscal"] #page-content .em-emp-painel,
body[data-modulo="fiscal"] #page-content .em-escolha-card,
body[data-modulo="fiscal"] #page-content .em-link,
body[data-modulo="fiscal"] .inicio-atalho { border-radius: 10px; box-shadow: 0 10px 30px rgba(7, 34, 79, .38), 0 0 0 1px rgba(13, 71, 161, .15); }
body[data-modulo="fiscal"] #page-content .em-info:not(.em-nf-janela .em-info) { border-radius: 10px; border-left-width: 5px; }
body[data-modulo="fiscal"] .inicio-tela { border-radius: 14px; box-shadow: 0 14px 40px rgba(7, 34, 79, .45), 0 0 0 1px rgba(13, 71, 161, .18); }
body[data-modulo="fiscal"] .inicio-atalho:hover, body[data-modulo="fiscal"] #page-content button.em-card:hover, body[data-modulo="fiscal"] #page-content .em-link:hover { box-shadow: 0 16px 40px rgba(7, 34, 79, .5), 0 0 0 3px rgba(68, 138, 255, .45); }
/* 19/10 — botão INÍCIO destacado (dono: "melhoradinha nesse botão"): cartão branco com a casinha num círculo azul; ativo = azul sólido como os títulos.
   O logo Tricôfio vira botão (clique = fechar menus + tela inicial, em emis-comum.js). */
body[data-modulo="fiscal"] .sidebar-logo { cursor: pointer; }
body[data-modulo="fiscal"] .sidebar-logo:hover .logo-box { filter: brightness(1.12); }
body[data-modulo="fiscal"] #nav-fiscal .sidebar-item[data-page="emis-inicio"] { margin: 10px 10px 6px; border-radius: 10px; background: #fff; border: 1px solid #90caf9; padding: 7px 12px; gap: 10px; font-weight: 700; box-shadow: 0 4px 12px rgba(7, 34, 79, .18); transition: background .15s, box-shadow .15s, transform .15s; }
body[data-modulo="fiscal"] #nav-fiscal .sidebar-item[data-page="emis-inicio"] .sidebar-emoji { width: 30px; min-width: 30px; height: 30px; line-height: 30px; border-radius: 50%; background: #1565c0; font-size: 16px; }
body[data-modulo="fiscal"] #nav-fiscal .sidebar-item[data-page="emis-inicio"]:hover { background: #e3f2fd; box-shadow: 0 8px 20px rgba(7, 34, 79, .25); transform: translateY(-1px); }
body[data-modulo="fiscal"] #nav-fiscal .sidebar-item[data-page="emis-inicio"].active { background: #1565c0; color: #fff; border-color: #1565c0; box-shadow: 0 8px 20px rgba(7, 34, 79, .35); }
body[data-modulo="fiscal"] #nav-fiscal .sidebar-item[data-page="emis-inicio"].active .sidebar-emoji { background: #fff; }
body[data-modulo="fiscal"] .sidebar.collapsed #nav-fiscal .sidebar-item[data-page="emis-inicio"] { margin: 8px 6px; padding: 6px; justify-content: center; }

/* 19/10 — MODO PARALELO: faixa no alto do conteúdo SÓ das telas de NFs e Orçamentos (data-em-modo vem do /me; data-em-aviso é
   posto pelo aplicarTema do EmisComum conforme a tela — pedido do dono 19/10: nas outras telas a faixa não aparece) */
body[data-modulo="fiscal"][data-em-modo="paralelo"][data-em-aviso="1"] #page-content::before { content: '⚠ EM PARALELO — o Syntech continua valendo: notas só em simulação; boletos, remessas e e-mails travados'; display: block; margin: 0 0 10px; padding: 6px 14px; border-radius: 999px; background: #ffb300; color: #3e2700; font-weight: 700; font-size: 12.5px; text-align: center; box-shadow: 0 4px 12px rgba(0, 0, 0, .25); }
/* ═══ 19/10/2026 — TEMA "EXCEL" só para o menu Despesas Gerais (dono: "puxar o tema de cores do Excel somente para este menu"): o prata
   da planilha Super Despesas no fundo, texto escuro, azul do Excel (#0070c0) nos botões/pílulas, cabeçalhos azul-cinza (#44546a). ═══ */
body[data-modulo="fiscal"][data-em-tema="excel"] { --em-claro: #262626; --em-claro-2: #595959; --emp-cor: #0070c0; --emp-hover: #005a9e; --emp-escura: #1f3864; --emp-clara: #e7e6e6; --emp-media: #bfbfbf; background: linear-gradient(180deg, #f5f5f5 0%, #e3e3e3 45%, #c9c9c9 100%) fixed; }
body[data-modulo="fiscal"][data-em-tema="excel"] #page-content .card, body[data-modulo="fiscal"][data-em-tema="excel"] #page-content .em-card { background: linear-gradient(170deg, #ffffff 0%, #f3f3f3 100%); box-shadow: 0 10px 30px rgba(0, 0, 0, .22), 0 0 0 1px rgba(0, 0, 0, .08); }
body[data-modulo="fiscal"][data-em-tema="excel"] #page-content .em-card::before { background: linear-gradient(90deg, #0070c0, #44546a); }
body[data-modulo="fiscal"][data-em-tema="excel"] #page-content .em-card .val, body[data-modulo="fiscal"][data-em-tema="excel"] #page-content .cq .prod b, body[data-modulo="fiscal"][data-em-tema="excel"] #page-content .cq .kpi2 b, body[data-modulo="fiscal"][data-em-tema="excel"] #page-content .cq table.custos tr.tot td { color: #1f3864; }
body[data-modulo="fiscal"][data-em-tema="excel"] .card-header, body[data-modulo="fiscal"][data-em-tema="excel"] .em-tbl th { background: #44546a; }
body[data-modulo="fiscal"][data-em-tema="excel"] #page-content .em-tbl tbody tr:hover td { background: #e7e6e6; }
body[data-modulo="fiscal"][data-em-tema="excel"] #page-content .btn-primary { background: #0070c0; border-color: #0070c0; color: #fff; }
body[data-modulo="fiscal"][data-em-tema="excel"] #page-content .btn-primary:hover { background: #005a9e; border-color: #005a9e; }
body[data-modulo="fiscal"][data-em-tema="excel"] #page-content .btn-outline { background: #fff; color: #1f3864; border-color: #bfbfbf; }
body[data-modulo="fiscal"][data-em-tema="excel"] #page-content .em-pilula { border-color: #bfbfbf; color: #262626; }
body[data-modulo="fiscal"][data-em-tema="excel"] #page-content .em-pilula.ativa { background: #0070c0; color: #fff; border-color: #0070c0; }
body[data-modulo="fiscal"][data-em-tema="excel"] #page-content .em-info { background: #fff; border-left-color: #0070c0; }
body[data-modulo="fiscal"][data-em-tema="excel"] #page-content .em-sec, body[data-modulo="fiscal"][data-em-tema="excel"] #page-content .em-aba.ativa { color: #1f3864; }
body[data-modulo="fiscal"][data-em-tema="excel"] #page-content .em-aba.ativa { border-bottom-color: #0070c0; }
body[data-modulo="fiscal"][data-em-tema="excel"] #page-content .em-abas { border-bottom-color: #bfbfbf; }
body[data-modulo="fiscal"][data-em-tema="excel"] #page-content .em-desp .selo-tipo.juridico { background: #deebf7; color: #1f3864; }
body[data-modulo="fiscal"][data-em-tema="excel"] #page-content .em-pan .barra-mes div { background: linear-gradient(180deg, #0070c0, #1f3864); }
body[data-modulo="fiscal"][data-em-tema="excel"] #page-content .em-pan tr.sel td { background: #deebf7 !important; }
