/* Modelos grátis do FazNota (07/11/2026). Paleta índigo do brand-2026.css. */
.mf-bc { font-size:.86rem; color:#6c7383; margin-bottom:12px; }
.mf-bc a { color:#5b5ff0; }
.mf-bc span[aria-current] { color:#1b1625; }
.mf-answer { background:#fff; border:1px solid #e6e8f5; border-left:4px solid #5b5ff0; border-radius:14px; padding:16px 20px; line-height:1.6; color:#33384a; }
.mf-answer p:last-child { margin-bottom:0; }
.mf-narrow { max-width:980px; margin-left:auto; margin-right:auto; }

.mf-tool { background:#fff; border:1px solid #e6e8f5; border-radius:20px; box-shadow:0 18px 44px rgba(27,22,37,.10); padding:24px; }
.mf-form-top { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
.mf-tool .mf-h { font-size:1.15rem !important; line-height:1.3 !important; font-weight:700; margin:0 auto 0 0 !important; color:#1b1625; }
.mf-link { background:none; border:none; padding:0; color:#5b5ff0; font-weight:600; font-size:.88rem; cursor:pointer; text-decoration:underline; }
.mf-group { border:1px solid #eef0f5; border-radius:14px; padding:12px 16px 4px; margin-bottom:14px; }
.mf-group legend { width:auto; font-size:.9rem; font-weight:700; color:#3d3fb8; padding:0 6px; margin:0; }
.mf-field { margin-bottom:12px; }
.mf-field label { display:block; font-weight:600; font-size:.88rem; color:#1b1625; margin-bottom:4px; }
.mf-field label small { font-weight:400; color:#6c7383; }
.mf-field input, .mf-field select, .mf-field textarea { width:100%; border:1px solid #d9dcea; border-radius:10px; padding:9px 12px; font-size:1rem; background:#fff; color:#1b1625; font-family:inherit; }
.mf-field input:focus, .mf-field select:focus, .mf-field textarea:focus { outline:2px solid #5b5ff0; outline-offset:1px; }
.mf-field input::placeholder, .mf-field textarea::placeholder { color:#9aa0b1; }
.mf-help { display:block; font-size:.78rem; color:#6c7383; margin-top:3px; line-height:1.4; }
.mf-err { display:block; font-size:.8rem; color:#b42318; margin-top:3px; }
.mf-err:empty { display:none; }
.mf-item-row { display:flex; gap:6px; margin-bottom:6px; }
.mf-item-row input { padding:7px 8px; font-size:.92rem; min-width:0; }
.mf-item-row .mf-i-descricao { flex:3 1 0; }
.mf-item-row .mf-i-unidade { flex:0 0 58px; }
.mf-item-row .mf-i-qtd { flex:0 0 58px; text-align:right; }
.mf-item-row .mf-i-valor { flex:1.2 1 0; text-align:right; }
.mf-del { flex:0 0 30px; border:1px solid #e6e8f5; background:#fff; border-radius:8px; color:#6c7383; font-size:1.1rem; line-height:1; cursor:pointer; }
.mf-del:hover { color:#b42318; border-color:#f3c4c0; }
.mf-add { background:#f3f3ff; border:1px dashed #b9bbf7; color:#3d3fb8; border-radius:10px; padding:6px 12px; font-weight:600; font-size:.86rem; cursor:pointer; }
.mf-priv { font-size:.82rem; color:#1b4d33; background:#e9f9ef; border:1px solid #bfe9cf; border-radius:10px; padding:8px 12px; margin:4px 0 0; }

.mf-prev-col { position:relative; }
.mf-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; background:#fff; padding:6px 0 8px; }
@media (min-width:992px) { .mf-prev-sticky { position:sticky; top:84px; max-height:calc(100vh - 100px); overflow:auto; } }
.mf-btn { border:1px solid #d9dcea; background:#fff; color:#1b1625; border-radius:12px; padding:10px 16px; font-weight:600; font-size:.92rem; cursor:pointer; }
.mf-btn:hover { border-color:#5b5ff0; color:#3d3fb8; }
.mf-btn-main { background:var(--fn-grad, #5b5ff0); color:#fff; border:none; }
.mf-btn-main:hover { color:#fff; filter:brightness(1.05); }
.mf-msg { font-size:.84rem; color:#1b4d33; }
.mf-prev-note { font-size:.8rem; color:#6c7383; margin:2px 0 8px; }
.mf-ph-amostra, .mf-doc .mf-ph { color:#8a8fa3; background:#f1f2f8; border-radius:3px; }
.mf-paper { background:#f2f3f8; border-radius:14px; padding:14px; }
.mf-doc { background:#fff; color:#111; font-family:Arial, Helvetica, sans-serif; font-size:14px; line-height:1.55; padding:34px 36px; border-radius:6px; box-shadow:0 2px 10px rgba(0,0,0,.08); min-height:420px; overflow-wrap:anywhere; }
.mf-doc h2 { font-size:18px; text-align:center; text-transform:uppercase; letter-spacing:.5px; margin:0 0 18px; color:#111; font-weight:700; }
.mf-doc h3 { font-size:14.5px; margin:14px 0 4px; font-weight:700; color:#111; }
.mf-doc p { margin:0 0 10px; text-align:justify; }
.mf-doc ul, .mf-doc ol { padding-left:20px; margin:0 0 10px; }
.mf-doc table { border-collapse:collapse; width:100%; margin:6px 0 12px; }
.mf-doc th, .mf-doc td { border:1px solid #555; padding:5px 7px; font-size:13px; text-align:left; vertical-align:top; }
.mf-doc th { background:#efefef; }
.mf-doc .n { text-align:right; white-space:nowrap; }
.mf-doc tfoot td { font-weight:700; }
.mf-doc table.mf-ph td, .mf-doc table.mf-ph th { color:#8a8fa3; }
.mf-doc .mf-ass { margin-top:34px; text-align:center; }
.mf-doc .mf-ass-l { display:inline-block; width:46%; margin:26px 1% 0; text-align:center; vertical-align:top; }
.mf-doc .mf-ass-l span { display:block; border-top:1px solid #111; padding-top:4px; }
.mf-doc .mf-dir { text-align:right; }
.mf-doc .mf-cen { text-align:center; }
.mf-doc .mf-box { border:1px solid #555; padding:8px 10px; margin:6px 0 12px; }
.mf-doc .mf-small { font-size:12px; color:#333; }
.mf-doc .mf-blank { letter-spacing:-1px; color:#111; }

.mf-ponte { display:flex; gap:16px; align-items:center; justify-content:space-between; flex-wrap:wrap; background:#fff8e6; border:1px solid #f5e2a8; border-radius:16px; padding:16px 20px; color:#5b4a12; }
.mf-ponte > div { flex:1 1 420px; }
.mf-ponte strong { display:block; color:#3d300a; margin-bottom:2px; }
.mf-ponte a { color:#3d3fb8; }
.mf-ponte-btn { display:inline-block; background:var(--fn-grad, #5b5ff0); color:#fff !important; border-radius:12px; padding:10px 18px; font-weight:700; text-decoration:none !important; white-space:nowrap; }
.mf-steps, .mf-cuidados { padding-left:20px; line-height:1.6; color:#33384a; }
.mf-steps li, .mf-cuidados li { margin-bottom:8px; }
.mf-cards { display:grid; grid-template-columns:repeat(auto-fill, minmax(250px, 1fr)); gap:14px; }
.mf-card { display:block; background:#fff; border:1px solid #e6e8f5; border-radius:14px; padding:16px 18px; color:#33384a; text-decoration:none !important; transition:border-color .15s, box-shadow .15s; }
.mf-card:hover { border-color:#5b5ff0; box-shadow:0 8px 22px rgba(91,95,240,.12); }
.mf-card strong { display:block; color:#1b1625; margin-bottom:4px; }
.mf-card span { font-size:.86rem; color:#6c7383; line-height:1.45; }
.pc-faq .card { border:1px solid #eef0f5; border-radius:14px !important; margin-bottom:12px; overflow:hidden; }
.pc-faq .card-header { background:#fff; border:none; padding:0; }
.pc-faq .btn-link { width:100%; text-align:left; padding:18px 22px; color:#1b1625; font-weight:600; text-decoration:none; white-space:normal; }
.pc-faq .card-body { padding:0 22px 20px; color:#5d6375; line-height:1.6; }
.mf-aviso { max-width:980px; margin:0 auto; background:#fff8e6; border:1px solid #f5e2a8; border-radius:14px; padding:14px 18px; color:#6b5a1e; font-size:.92rem; }
.mf-free { background:var(--fn-grad); color:#fff; border-radius:22px; padding:34px 28px; }
.mf-free h2, .mf-free p { color:#fff; }
.mf-free .btn-light { font-weight:700; border-radius:12px; padding:12px 24px; }
.mf-free .mf-btn-ol { border-radius:12px; padding:12px 24px; }
.mf-hub-cat { margin-bottom:36px; }
.mf-hub-cat h2 { font-size:1.35rem; }

@media (max-width:991px) {
  .mf-prev-col { margin-top:18px; }
}
@media (max-width:575px) {
  .mf-tool { padding:14px; border-radius:16px; }
  .mf-doc { padding:20px 16px; font-size:13px; }
  .mf-doc .mf-ass-l { width:96%; }
  .mf-paper { padding:6px; }
  .mf-btn { flex:1 1 auto; padding:10px 10px; }
  .mf-item-row { flex-wrap:wrap; }
  .mf-item-row .mf-i-descricao { flex:1 1 100%; }
  .mf-body { padding-bottom:70px; }
}

/* Impressão / PDF: só o documento, A4 */
#mf-print { display:none; }
@media print {
  @page { size:A4; margin:18mm 16mm; }
  html.mf-printing body > *:not(#mf-print) { display:none !important; }
  html.mf-printing body { background:#fff !important; padding:0 !important; margin:0 !important; }
  html.mf-printing #mf-print { display:block !important; }
  #mf-print .mf-doc { box-shadow:none; padding:0; border-radius:0; min-height:0; font-size:11pt; color:#000; }
  #mf-print .mf-doc h2 { font-size:15pt; }
  #mf-print .mf-doc th, #mf-print .mf-doc td { font-size:10pt; }
  #mf-print .mf-doc table, #mf-print .mf-ass-l { page-break-inside:avoid; }
}
