/* item 142 (13/09/2026): Financeiro > Invoice e Recibo (gerador, recorrencias e modelo).
   Usa os tokens da pele (--surface, --border, --accent, --text, --muted) com reserva para renderizar fora do index. */
.fd-app { display:block; }
.fd-vazio { color:var(--muted2, var(--muted, #8a8a8a)); font-size:13px; padding:24px; text-align:center; }
.fd-barra { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-bottom:16px; }
.fd-barra .fd-espaco { flex:1; }
.fd-busca { min-width:220px; background:var(--surface2, #1e1e1e); border:1px solid var(--border2, var(--border, #333)); border-radius:var(--radius-sm, 8px); padding:8px 12px; color:var(--text, #eee); font-size:13px; outline:none; }
.fd-busca:focus { border-color:var(--accent, #cea046); }

/* Blocos de entrada (Invoice / Recibo) */
.fd-blocos { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:16px; margin-bottom:22px; }
.fd-bloco { background:var(--surface, #161616); border:1px solid var(--border, #2a2a2a); border-radius:var(--radius, 14px); padding:22px 24px; cursor:pointer; transition:border-color .2s, transform .15s; position:relative; overflow:hidden; }
.fd-bloco:hover, .fd-bloco:focus-visible { border-color:var(--accent, #cea046); transform:translateY(-1px); outline:none; }
.fd-bloco .fd-bloco-icone { font-size:28px; line-height:1; margin-bottom:10px; }
.fd-bloco .fd-bloco-titulo { font-size:18px; font-weight:700; color:var(--text, #eee); margin-bottom:6px; }
.fd-bloco .fd-bloco-sub { font-size:12.5px; color:var(--muted2, var(--muted, #8a8a8a)); line-height:1.5; }
.fd-bloco .fd-bloco-acoes { display:flex; gap:8px; margin-top:14px; flex-wrap:wrap; }
.fd-bloco .fd-bloco-acoes .btn { font-size:12px; padding:6px 12px; }
.fd-bloco.fd-bloco-rec { cursor:default; }
.fd-bloco.fd-bloco-rec:hover { transform:none; }
.fd-bloco .fd-bloco-num { position:absolute; right:18px; top:16px; font-size:11px; color:var(--muted2, #8a8a8a); letter-spacing:1px; text-transform:uppercase; }

/* Tabela de documentos */
.fd-tabela { width:100%; border-collapse:collapse; font-size:13px; }
.fd-tabela th { text-align:left; font-size:11px; letter-spacing:1.2px; text-transform:uppercase; color:var(--muted2, #8a8a8a); padding:12px 14px; border-bottom:1px solid var(--border, #2a2a2a); white-space:nowrap; }
.fd-tabela td { padding:11px 14px; border-bottom:1px solid var(--border, #2a2a2a); vertical-align:middle; color:var(--text, #eee); }
.fd-tabela tr:last-child td { border-bottom:0; }
.fd-tabela tr:hover td { background:rgba(255,255,255,.02); }
.fd-tabela .fd-num { font-family:ui-monospace, Menlo, Consolas, monospace; font-size:12px; }
.fd-tabela .fd-dir { text-align:right; white-space:nowrap; }
.fd-tabela .fd-acoes { display:flex; gap:4px; justify-content:flex-end; flex-wrap:nowrap; }
.fd-mini { padding:4px 9px; font-size:11.5px; border-radius:7px; border:1px solid var(--border2, #333); background:transparent; color:var(--text, #eee); cursor:pointer; white-space:nowrap; }
.fd-mini:hover { border-color:var(--accent, #cea046); color:var(--accent, #cea046); }
.fd-mini.fd-mini-perigo:hover { border-color:var(--red, #ff4d6b); color:var(--red, #ff4d6b); }
.fd-tipo { display:inline-block; font-size:10.5px; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:3px 8px; border-radius:6px; }
.fd-tipo-invoice { background:rgba(206,160,70,.15); color:var(--accent, #cea046); }
.fd-tipo-recibo { background:rgba(77,157,255,.15); color:var(--blue, #4d9dff); }

/* Formulario */
.fd-form { background:var(--surface, #161616); border:1px solid var(--border, #2a2a2a); border-radius:var(--radius, 14px); padding:22px 24px; margin-bottom:18px; }
.fd-form h3 { font-size:15px; font-weight:700; margin:0 0 14px; color:var(--text, #eee); display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.fd-form h3 .fd-tipo { font-size:10px; }
.fd-grade { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:12px 16px; margin-bottom:6px; }
.fd-grade .fd-larga { grid-column:1 / -1; }
.fd-campo label { display:block; font-size:11px; font-weight:500; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted2, #8a8a8a); margin-bottom:6px; }
.fd-campo input, .fd-campo select, .fd-campo textarea { width:100%; box-sizing:border-box; background:var(--surface2, #1e1e1e); border:1px solid var(--border2, var(--border, #333)); border-radius:var(--radius-sm, 8px); padding:10px 12px; color:var(--text, #eee); font-family:inherit; font-size:13.5px; outline:none; transition:border-color .2s; }
.fd-campo input:focus, .fd-campo select:focus, .fd-campo textarea:focus { border-color:var(--accent, #cea046); }
.fd-campo textarea { min-height:70px; resize:vertical; }
.fd-campo input[type="color"] { padding:2px 4px; height:40px; }
.fd-campo .fd-check { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--text, #eee); text-transform:none; letter-spacing:0; cursor:pointer; margin-top:6px; }
.fd-campo .fd-check input { width:auto; }
.fd-secao { font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--accent, #cea046); margin:18px 0 10px; padding-bottom:6px; border-bottom:1px solid var(--border, #2a2a2a); }
.fd-dica { font-size:12px; color:var(--muted2, #8a8a8a); margin-top:6px; line-height:1.5; }
.fd-itens { width:100%; border-collapse:collapse; margin-top:4px; }
.fd-itens th { text-align:left; font-size:10.5px; letter-spacing:1.2px; text-transform:uppercase; color:var(--muted2, #8a8a8a); padding:6px 6px; }
.fd-itens td { padding:4px 6px; }
.fd-itens input { width:100%; box-sizing:border-box; background:var(--surface2, #1e1e1e); border:1px solid var(--border2, #333); border-radius:6px; padding:8px 10px; color:var(--text, #eee); font-size:13px; outline:none; }
.fd-itens input:focus { border-color:var(--accent, #cea046); }
.fd-itens .fd-col-qtd { width:80px; }
.fd-itens .fd-col-valor { width:140px; }
.fd-itens .fd-col-total { width:140px; text-align:right; white-space:nowrap; font-family:ui-monospace, Menlo, Consolas, monospace; font-size:12.5px; }
.fd-itens .fd-col-x { width:34px; text-align:center; }
.fd-totais { display:flex; justify-content:flex-end; gap:24px; align-items:center; margin-top:12px; flex-wrap:wrap; }
.fd-totais .fd-total { font-size:20px; font-weight:700; color:var(--accent, #cea046); font-family:ui-monospace, Menlo, Consolas, monospace; }
.fd-totais .fd-desconto { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--muted2, #8a8a8a); }
.fd-totais .fd-desconto input { width:120px; background:var(--surface2, #1e1e1e); border:1px solid var(--border2, #333); border-radius:6px; padding:6px 10px; color:var(--text, #eee); font-size:13px; outline:none; }
.fd-rodape { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-top:18px; padding-top:14px; border-top:1px solid var(--border, #2a2a2a); }
.fd-rodape .fd-espaco { flex:1; }
.fd-rodape .fd-status { font-size:12px; color:var(--muted2, #8a8a8a); }

/* Previa do PDF */
.fd-previa { background:var(--surface, #161616); border:1px solid var(--border, #2a2a2a); border-radius:var(--radius, 14px); padding:14px; margin-bottom:18px; }
.fd-previa .fd-previa-topo { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
.fd-previa .fd-previa-topo strong { font-size:13px; }
.fd-previa iframe { width:100%; height:720px; border:1px solid var(--border, #2a2a2a); border-radius:8px; background:#fff; }
.fd-painel-info { font-size:12px; color:var(--muted2, #8a8a8a); }
.fd-painel-info a { color:var(--accent, #cea046); }

/* Recorrencias */
.fd-rec-lista .fd-rec-inativa td { opacity:.55; }
.fd-ponto { display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:6px; vertical-align:middle; }
.fd-ponto-on { background:var(--green, #2bff8f); }
.fd-ponto-off { background:var(--muted2, #8a8a8a); }

@media (max-width: 860px) {
  .fd-form, .fd-previa { padding:14px; }
  .fd-previa iframe { height:520px; }
  .fd-totais { justify-content:flex-start; }
}

/* Item 281 (07/10/2026): modelo definitivo da Octopus (fin_doc_html) e tela Modelo > Modelo Octopus */
.fd-itens .fd-item-detalhe { margin-top:4px; font-size:12px; opacity:.85; }
.fd-assinatura { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.fd-assinatura img { max-height:70px; max-width:260px; background:#fff; border-radius:6px; padding:4px; border:1px solid var(--border, #2a2a2a); }
.fd-assinatura input[type=file] { font-size:12px; }
