/* IM Fácil — ferramentas, resumos de cidade e blocos de conteúdo (04/11/2026) */
.updated-line{font-size:.85rem;color:#5a6a7a;margin-top:10px}
.fact-table{width:100%;border-collapse:collapse;margin:8px 0 4px;font-size:.95rem}
.fact-table th,.fact-table td{border:1px solid #dde4ec;padding:10px 12px;text-align:left;vertical-align:top}
.fact-table th{background:#f3f7fb;color:#1e3a5f;width:34%;font-weight:600}
.fact-table caption{caption-side:top;text-align:left;font-weight:700;color:#1e3a5f;padding-bottom:8px}
.steps{counter-reset:st;list-style:none;padding-left:0}
.steps li{counter-increment:st;position:relative;padding:4px 0 12px 46px}
.steps li::before{content:counter(st);position:absolute;left:0;top:2px;width:32px;height:32px;border-radius:50%;background:#2a6bb1;color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.note{background:#fff8e6;border-left:4px solid #f0ad4e;padding:12px 16px;border-radius:6px;margin:14px 0;font-size:.95rem}
.note.info{background:#eef6fd;border-left-color:#3498db}
.note.ok{background:#eefaf1;border-left-color:#27ae60}
.example-num{font-family:Consolas,Menlo,monospace;background:#f3f7fb;border:1px dashed #9fb5cc;padding:2px 8px;border-radius:4px;white-space:nowrap}
code.tag{font-family:Consolas,Menlo,monospace;background:#f3f5f7;padding:1px 6px;border-radius:4px;color:#8a2d2d}
.sources{font-size:.88rem;color:#4a5a6a}
.sources li{margin-bottom:4px;word-break:break-word}
.related-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:10px}
.related-tools a{display:block;border:1px solid #dde4ec;border-radius:10px;padding:14px;text-decoration:none;color:#1e3a5f;background:#fff;transition:box-shadow .2s,border-color .2s}
.related-tools a:hover{border-color:#3498db;box-shadow:0 4px 14px rgba(52,152,219,.15)}
.related-tools a strong{display:block;margin-bottom:4px}
.related-tools a span{font-size:.86rem;color:#5a6a7a}
.related-tools i{color:#2a6bb1;margin-right:6px}
/* ferramentas */
.tool-box{background:#fff;border:1px solid #dde4ec;border-radius:12px;padding:20px;margin:18px 0;box-shadow:0 2px 10px rgba(30,58,95,.05)}
.tool-box label{display:block;font-weight:600;color:#1e3a5f;margin-bottom:6px}
.tool-row{display:flex;gap:10px;flex-wrap:wrap}
.tool-row input[type=text],.tool-row input[type=search],.tool-row select,.tool-box textarea{flex:1;min-width:200px;padding:11px 12px;border:1px solid #b9c7d6;border-radius:8px;font-size:1rem;font-family:inherit}
.tool-box textarea{width:100%;min-height:120px;font-family:Consolas,Menlo,monospace;font-size:.85rem;box-sizing:border-box}
.tool-btn{background:#2a6bb1;color:#fff;border:0;border-radius:8px;padding:11px 18px;font-weight:600;cursor:pointer;font-size:.95rem}
.tool-btn:hover{background:#1f5590}
.tool-btn.alt{background:#eef3f8;color:#1e3a5f}
.tool-hint{font-size:.85rem;color:#5a6a7a;margin-top:8px}
.tool-out{margin-top:16px}
.tool-count{font-size:.85rem;color:#5a6a7a;margin:8px 0}
.res-list{list-style:none;padding:0;margin:0;max-height:520px;overflow:auto;border:1px solid #eef2f6;border-radius:8px}
.res-list li{padding:10px 12px;border-bottom:1px solid #eef2f6;display:flex;gap:12px;align-items:flex-start}
.res-list li:last-child{border-bottom:0}
.res-list .code{font-family:Consolas,Menlo,monospace;font-weight:700;color:#1e3a5f;min-width:110px;cursor:pointer}
.res-list .lvl-i{background:#f3f7fb;font-weight:700}
.res-list .lvl-s{background:#fafcfe}
.copy-btn{margin-left:auto;background:none;border:1px solid #c9d6e3;border-radius:6px;padding:3px 8px;font-size:.78rem;cursor:pointer;color:#2a6bb1;white-space:nowrap}
.chave-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.chave-grid div{border:1px solid #dde4ec;border-radius:8px;padding:10px}
.chave-grid span{display:block;font-size:.78rem;color:#5a6a7a;text-transform:uppercase;letter-spacing:.02em}
.chave-grid strong{font-family:Consolas,Menlo,monospace;font-size:1rem;color:#1e3a5f;word-break:break-all}
.chave-seg{font-family:Consolas,Menlo,monospace;font-size:1.05rem;word-break:break-all;line-height:1.9}
.chave-seg b{padding:2px 3px;border-radius:3px;font-weight:600}
.seg1{background:#dbeafe}.seg2{background:#fde68a}.seg3{background:#fbcfe8}.seg4{background:#d1fae5}.seg5{background:#e9d5ff}.seg6{background:#fed7aa}.seg7{background:#cffafe}.seg8{background:#fecaca}
.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.8rem;font-weight:600}
.badge.ok{background:#e3f6e9;color:#1d7a3e}.badge.err{background:#fde8e8;color:#a32020}.badge.warn{background:#fff3d6;color:#8a5a00}
.xml-table{width:100%;border-collapse:collapse;font-size:.92rem;margin-bottom:14px}
.xml-table th,.xml-table td{border:1px solid #e3e9ef;padding:8px 10px;text-align:left;vertical-align:top}
.xml-table th{width:38%;background:#f7f9fb;color:#3a4a5a;font-weight:600}
.xml-table td{word-break:break-word}
.xml-section{font-weight:700;color:#1e3a5f;margin:16px 0 6px}
.drop-zone{border:2px dashed #9fb5cc;border-radius:10px;padding:22px;text-align:center;color:#4a5a6a;cursor:pointer;background:#fafcfe}
.drop-zone.over{background:#eef6fd;border-color:#3498db}
.pbi-wrap{position:relative;width:100%;aspect-ratio:16/10;background:#0d1b2a;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.pbi-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pbi-load{background:#3498db;color:#fff;border:0;border-radius:8px;padding:14px 22px;font-weight:600;font-size:1rem;cursor:pointer}
.timeline{list-style:none;padding-left:0;border-left:3px solid #c9d6e3;margin-left:8px}
.timeline li{position:relative;padding:0 0 14px 18px}
.timeline li::before{content:"";position:absolute;left:-8px;top:5px;width:13px;height:13px;border-radius:50%;background:#2a6bb1}
.timeline strong{color:#1e3a5f}
.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:16px 0}
.hub-grid a{display:block;border:1px solid #dde4ec;border-radius:12px;padding:20px;text-decoration:none;color:#1e3a5f;background:#fff}
.hub-grid a:hover{border-color:#3498db;box-shadow:0 6px 18px rgba(52,152,219,.15)}
.hub-grid i{font-size:1.5rem;color:#2a6bb1;margin-bottom:8px;display:block}
.hub-grid strong{display:block;font-size:1.05rem;margin-bottom:6px}
.hub-grid span{font-size:.9rem;color:#5a6a7a}
.news-banner{background:linear-gradient(90deg,#1e3a5f,#2a6bb1);color:#fff;border-radius:10px;padding:14px 18px;margin:16px 0;font-size:.95rem}
.news-banner a{color:#fff;font-weight:700;text-decoration:underline}
@media (max-width:640px){.fact-table th{width:40%}.res-list .code{min-width:80px}}
