:root{--bg:#f4f6f8;--card:#fff;--text:#243b53;--muted:#6b7c93;--border:#d9e2ec;--brand:#213b52;--accent:#d97706;--green:#2f855a;--blue:#2b6cb0;--amber:#b7791f;--red:#c53030}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 Arial,Helvetica,sans-serif}.topbar{background:var(--brand);color:#fff;display:flex;align-items:center;gap:28px;padding:12px 22px;min-height:58px}.brand a,.topbar a{color:#fff;text-decoration:none}.brand{font-size:18px;white-space:nowrap}.topbar nav{display:flex;gap:18px;flex:1}.topbar nav a{opacity:.92}.topbar nav a:hover{opacity:1;text-decoration:underline}.user{font-size:13px}.container{max-width:1440px;margin:22px auto;padding:0 18px}.footer{text-align:center;color:var(--muted);padding:28px}.grid{display:grid;gap:16px}.grid.cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.grid.two{grid-template-columns:2fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:18px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.card h2,.card h3{margin-top:0}.kpi{font-size:30px;font-weight:700;margin:4px 0}.muted{color:var(--muted)}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.toolbar .spacer{flex:1}.btn{display:inline-block;border:0;border-radius:7px;background:var(--brand);color:#fff;padding:9px 13px;text-decoration:none;cursor:pointer;font-weight:600}.btn.secondary{background:#526d82}.btn.orange{background:var(--accent)}.btn.danger{background:var(--red)}.btn.small{padding:6px 9px;font-size:12px}input,select,textarea{width:100%;border:1px solid #bcccdc;border-radius:6px;padding:8px;background:#fff;color:var(--text)}textarea{min-height:90px;resize:vertical}label{font-weight:600;display:block;margin-bottom:5px}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.form-grid .span2{grid-column:span 2}.form-grid .span4{grid-column:1/-1}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px}table{width:100%;border-collapse:collapse;background:#fff}th,td{border-bottom:1px solid var(--border);padding:9px 8px;text-align:left;vertical-align:top}th{background:#eaf2f8;color:#102a43;position:sticky;top:0;z-index:1}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:9px;max-height:72vh}.badge{display:inline-block;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700;white-space:nowrap}.badge.green{background:#d9f2e5;color:#17603a}.badge.blue{background:#dcebf8;color:#1c4d7c}.badge.amber{background:#fff0c2;color:#7a5311}.badge.gray{background:#edf1f4;color:#52606d}.badge.red{background:#fde2e2;color:#8a1c1c}.score{font-weight:700}.scorebar{height:7px;border-radius:6px;background:#e8edf2;overflow:hidden;margin-top:4px}.scorebar span{display:block;height:100%;background:#5b8ff9}.flash{padding:11px 14px;border-radius:7px;margin-bottom:16px}.flash.success{background:#dff5e7;color:#1f6a3d}.flash.error{background:#fde7e7;color:#8c1d1d}.detail-list{display:grid;grid-template-columns:190px 1fr;gap:7px 12px}.detail-list dt{font-weight:700}.detail-list dd{margin:0}.timeline{border-left:3px solid #d9e2ec;margin-left:8px;padding-left:18px}.event{margin:0 0 18px}.event .date{font-size:12px;color:var(--muted)}.event .title{font-weight:700}.due{color:var(--red);font-weight:700}.login-wrap{max-width:430px;margin:60px auto}.empty{padding:28px;text-align:center;color:var(--muted)}.tag{display:inline-block;border:1px solid #bcccdc;border-radius:5px;padding:3px 6px;margin:2px;font-size:11px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.right{text-align:right}.nowrap{white-space:nowrap}.danger-text{color:var(--red)}
@media(max-width:900px){.topbar{flex-wrap:wrap}.topbar nav{order:3;width:100%}.grid.two,.grid.three{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr 1fr}.detail-list{grid-template-columns:1fr}.detail-list dt{margin-top:5px}}
@media(max-width:600px){.container{padding:0 10px}.form-grid{grid-template-columns:1fr}.form-grid .span2,.form-grid .span4{grid-column:auto}.topbar{padding:10px 12px}.topbar nav{gap:11px;font-size:13px}}

.sync-note{background:#f2f7fb;border:1px solid #cfe0ec;border-radius:7px;padding:11px 13px;color:#334e68}.compact-list{margin:0;padding-left:20px}.compact-list li{margin:7px 0}.compact-table{max-height:55vh}code{background:#eef2f6;border-radius:4px;padding:2px 5px}.source-badges{display:flex;gap:6px;flex-wrap:wrap}.source-badge{display:inline-block;background:#eaf2f8;border:1px solid #c4d6e3;color:#234e70;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.marker-list{display:flex;gap:5px;flex-wrap:wrap}.marker{background:#fff7e6;border:1px solid #f0d6a5;border-radius:999px;padding:3px 8px;font-size:11px;color:#7a5311}button:disabled{opacity:.55;cursor:not-allowed}

/* Cadastros PJ / PF */
.check-row,.inline-check{display:flex;align-items:center;gap:7px;font-weight:600}.check-row input,.inline-check input{width:auto;margin:0}.inline-check{font-size:12px;margin-top:6px;color:var(--muted)}
.input-with-button{display:flex;gap:6px}.input-with-button input{flex:1}.input-with-button .btn{flex:0 0 auto}
.autocomplete-wrap,.pf-autocomplete{position:relative}.autocomplete-list{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 3px);background:#fff;border:1px solid var(--border);border-radius:7px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:260px;overflow:auto}.autocomplete-list button{display:block;width:100%;border:0;border-bottom:1px solid #edf1f4;background:#fff;text-align:left;padding:9px 11px;cursor:pointer;color:var(--text)}.autocomplete-list button:hover{background:#f5f8fa}.autocomplete-list button span{display:block;color:var(--muted);font-size:11px;margin-top:2px}.autocomplete-empty{padding:10px;color:var(--muted)}
.row-inactive{opacity:.68}.icon-link{display:inline-block;margin-left:7px;font-size:12px;text-decoration:none;color:var(--green);font-weight:700}.small-text{font-size:11px}
.marker-manual{display:inline-flex;align-items:center;gap:5px}.marker-delete-form{display:inline;margin:0}.marker-delete-form button{border:0;background:transparent;color:#8a1c1c;cursor:pointer;font-size:16px;line-height:1;padding:0 2px}.source-marker-list{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.marker-source{background:#f3f5f7;border-color:#dde3e8;color:#7b8794;font-size:10px}.source-badge-muted{opacity:.56}.markers-manual{margin-bottom:8px}
.contact-editor{border:1px solid var(--border);border-radius:9px;padding:13px;margin-bottom:12px;background:#fbfcfd}.contact-editor.contact-favorite{border-left:4px solid #d6a219}.contact-pf-link{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;margin-top:10px}.contact-pf-link form{margin:0}.pf-link-form{display:flex;gap:7px;align-items:flex-start;flex:1;min-width:340px}.pf-autocomplete{flex:1;min-width:220px}
.cnpj-query-summary{padding:12px 14px;background:#f5f8fa;border:1px solid var(--border);border-radius:8px;margin-bottom:10px}.cnpj-remaining{margin-top:9px;color:#7a5311}.cnpj-complete{margin-top:9px;background:#dff5e7;color:#1f6a3d;border-radius:6px;padding:9px 11px;font-weight:700}.cnpj-compare th:first-child{width:180px}.cnpj-compare td:nth-child(2){width:30%}.cnpj-options{display:grid;gap:8px}.cnpj-option{border:1px solid #e2e8ee;border-radius:7px;padding:9px;background:#fff}.cnpj-option .btn{margin-top:6px}.decision-ok{color:#1f6a3d;font-weight:700}.decision-keep{color:#52606d;font-weight:700}.update-group h2{margin-bottom:2px}
@media(max-width:900px){.pf-link-form{min-width:100%;flex-wrap:wrap}.cnpj-compare th:first-child{width:auto}.cnpj-compare td:nth-child(2){width:auto}}
.topbar nav{flex-wrap:wrap}

/* Sugestões inteligentes de marcadores PJ */
.marker-suggestions-box{margin:15px 0 4px;padding:13px 14px;border:1px dashed #b8c7d3;border-radius:9px;background:#f8fafc}.marker-suggestions-heading{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.marker-suggestion-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}.marker-suggestion-item{margin:0}.marker-suggestion-button{border:1px solid #bdd4e5;background:#fff;border-radius:8px;padding:7px 10px;cursor:pointer;text-align:left;color:var(--text);display:flex;flex-direction:column;gap:1px;box-shadow:0 1px 1px rgba(0,0,0,.02)}.marker-suggestion-button:hover{border-color:#6f9fbe;background:#f0f7fb}.marker-suggestion-name{font-weight:700;color:#234e70}.marker-suggestion-meta{font-size:10px;color:var(--muted)}.marker-suggestion-empty{margin-top:9px;color:var(--muted);font-size:12px}

/* Ajustes de usabilidade Cadastros PJ */
.phone-whatsapp-row{display:flex;align-items:center;gap:9px}.phone-field-wrap{position:relative;flex:0 1 185px;min-width:150px}.phone-field-wrap input{padding-left:30px;transition:.15s ease}.whatsapp-field-icon{display:none;position:absolute;left:9px;top:50%;transform:translateY(-50%);z-index:2;font-size:14px}.phone-whatsapp-row.is-whatsapp .phone-field-wrap input{background:#e8f8ee;border-color:#69b981}.phone-whatsapp-row.is-whatsapp .whatsapp-field-icon{display:inline}.phone-whatsapp-row.is-whatsapp .whatsapp-check{color:#207744}.whatsapp-check{margin:0;white-space:nowrap;font-weight:600}
.cep-action-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cep-action-row .cep-compact{width:150px;flex:0 0 150px}.cep-action-row .btn{margin:0}
.municipio-status-wrap input{transition:.15s ease}.municipio-status-wrap.municipio-linked input{background:#edf9f1;border-color:#75ba89}.municipio-status-wrap.municipio-unlinked input{background:#fff0f0;border-color:#dfa0a0}.municipio-link-status{font-size:11px;margin-top:5px;color:var(--muted)}.municipio-status-wrap.municipio-linked+.municipio-link-status{color:#207744}.municipio-status-wrap.municipio-unlinked+.municipio-link-status{color:#9b2c2c;font-weight:700}
.btn.cnpj-update{background:#D97706}.btn.cnpj-update:hover{filter:brightness(.95)}.cnpj-option-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:7px}.cnpj-option-actions .btn{margin-top:0}.cnpj-auto-updates{margin-top:12px;padding:11px 13px;border:1px solid #b9dfc8;background:#eefaf2;border-radius:8px;color:#245c39}.cnpj-auto-updates ul{margin:7px 0 0;padding-left:20px}.cnpj-auto-updates li{margin:4px 0}.followers-history{cursor:help}.followers-history small{font-size:10px;color:var(--muted);font-weight:400}
@media(max-width:600px){.phone-whatsapp-row{align-items:flex-start;flex-wrap:wrap}.phone-field-wrap{flex:1 1 100%;max-width:240px}.cep-action-row .cep-compact{width:130px;flex-basis:130px}}

/* v5: impede conflito entre edição manual e conferência pública */
.cnpj-locked{opacity:.58;pointer-events:none;filter:grayscale(.12)}
.manual-edit-warning{margin:10px 0 2px}
.btn:disabled{opacity:.55;cursor:not-allowed}
.phone-status{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap}.phone-status-icon{display:inline-flex;width:19px;height:19px;align-items:center;justify-content:center;border-radius:50%;font-size:10px;font-weight:800;vertical-align:middle}.whatsapp-icon{display:inline-block;object-fit:contain}.phone-icon{background:#e8edf2;color:#52606d;font-size:14px}.whatsapp-link{margin-left:0;font-size:14px}.phone-number-not-whatsapp{display:inline-flex;align-items:center;gap:5px}.phone-not-whatsapp{background:#2878b5}.phone-is-whatsapp{background:#25834f}.phone-audit-summary{margin-top:16px}.duplicate-phone-groups{display:grid;gap:12px}.duplicate-phone-group{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid var(--border);border-radius:8px;padding:12px}.duplicate-phone-group ul{margin:7px 0 0;padding-left:20px}.duplicate-phone-group .actions{margin:0}.merge-candidates{display:grid;gap:12px}.merge-candidate{display:grid;grid-template-columns:auto 1fr;gap:12px;border:2px solid var(--border);border-radius:9px;padding:14px}.merge-candidate:has(input:checked){border-color:var(--green);background:#f2fbf5}.merge-candidate input{width:auto;margin-top:4px}.merge-data-table td:first-child{font-weight:700}.merge-warning{border-left:4px solid #d97706;background:#fff8e8;padding:12px 14px;border-radius:6px}
.protected-company-info{margin-top:14px}
.cnpj-update-fantasy{background:#415a6b}
.pessoa-options .pessoa-option{background:#fff;color:#334155;border:2px solid #cbd5e1}
.pessoa-options .pessoa-pf[aria-pressed="true"]{background:#1d4ed8;border-color:#1d4ed8;color:#fff}
.pessoa-options .pessoa-pj[aria-pressed="true"]{background:#166534;border-color:#166534;color:#fff}
.pessoa-options .pessoa-nenhum[aria-pressed="true"]{background:#475569;border-color:#475569;color:#fff}
.pessoa-option:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}

/* Sincronização de contatos Olist. */
.olist-sync progress{display:block;width:100%;height:16px;accent-color:var(--brand)}.olist-sync .actions{flex-wrap:wrap}.olist-sync [hidden]{display:none!important}.olist-sync #olist-status{margin-bottom:8px}
/* Menu principal: submenus acessíveis por clique, toque e teclado. */
.topbar nav{align-items:center;gap:12px 18px}.nav-dropdown{position:relative}.nav-dropdown summary{cursor:pointer;white-space:nowrap}.nav-dropdown summary:focus-visible,.nav-submenu a:focus-visible{outline:2px solid #fbbf24;outline-offset:4px}.nav-submenu{position:absolute;right:0;top:calc(100% + 8px);z-index:100;min-width:235px;padding:7px;background:var(--brand);border:1px solid #6c8498;border-radius:8px;box-shadow:0 6px 18px #0003}.topbar .nav-submenu a{display:block;padding:9px;border-radius:5px}.nav-submenu a:hover{background:#ffffff18}.admin-suggestions{margin-top:24px}
@media(max-width:600px){.nav-submenu{position:static;margin-top:8px;min-width:0}.nav-dropdown[open]{flex-basis:100%}.topbar .brand{white-space:normal}}
