/* FoxVision SPF Validator v1.0.8 — estilo claro tipo Bulk Analyzer */
.fvspf{
  --fv-bg:#ffffff;
  --fv-panel:#ffffff;
  --fv-soft:#f7f9fb;
  --fv-soft2:#eef4f8;
  --fv-line:#d4dde5;
  --fv-line2:#c4d0da;
  --fv-text:#17212b;
  --fv-muted:#5c6b78;
  --fv-blue:#1769aa;
  --fv-blue-dark:#0f578f;
  --fv-green:#18794e;
  --fv-green-soft:#edf8f2;
  --fv-amber:#8a5d00;
  --fv-amber-soft:#fff7df;
  --fv-red:#b42318;
  --fv-red-soft:#fff1f0;
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:18px !important;
  background:#fff !important;
  border:1px solid var(--fv-line) !important;
  border-radius:14px !important;
  color:var(--fv-text) !important;
  font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif !important;
  overflow:hidden;
}
.fvspf,.fvspf *{box-sizing:border-box}
.fvspf h2,.fvspf h3,.fvspf p,.fvspf label,.fvspf span,.fvspf strong,.fvspf b,.fvspf td,.fvspf th,.fvspf div{color:inherit}
.fvspf-input-card,.fvspf-panel,.fvspf-verdict,.fvspf-kpis>div,.fvspf-dns-kpis>div{
  background:var(--fv-panel) !important;
  border:1px solid var(--fv-line) !important;
  box-shadow:none !important;
}
.fvspf-input-card{padding:18px;border-radius:12px}
.fvspf-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.fvspf-head h2{margin:0 0 5px !important;font-size:27px !important;line-height:1.2 !important;font-weight:700 !important;color:var(--fv-text) !important}
.fvspf-head p{margin:0 !important;font-size:16px !important;color:var(--fv-muted) !important}
.fvspf-version{display:inline-flex;align-items:center;padding:4px 9px;border-radius:6px;background:var(--fv-soft2) !important;color:var(--fv-blue-dark) !important;font-size:14px !important;font-weight:700}
.fvspf label{display:block;margin:0 0 7px;font-size:16px !important;font-weight:650;color:var(--fv-text) !important}
.fvspf label span{font-size:14px !important;font-weight:500;color:var(--fv-muted) !important}
.fvspf textarea,.fvspf input{
  width:100% !important;max-width:none !important;margin:0 !important;border:1px solid var(--fv-line2) !important;border-radius:8px !important;
  background:#fff !important;color:var(--fv-text) !important;box-shadow:none !important;outline:none !important;font-size:16px !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace !important;
}
.fvspf textarea{min-height:110px;padding:12px 13px;resize:vertical}
.fvspf input{height:44px;padding:9px 12px}
.fvspf textarea:focus,.fvspf input:focus{border-color:var(--fv-blue) !important;box-shadow:0 0 0 2px rgba(23,105,170,.12) !important}
.fvspf-domain-row{margin-top:14px}
.fvspf-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}
.fvspf button{appearance:none;border:1px solid var(--fv-line2) !important;border-radius:8px !important;background:#fff !important;color:var(--fv-text) !important;padding:9px 14px !important;min-height:42px;font-size:15px !important;font-weight:650 !important;cursor:pointer}
.fvspf button:hover{background:var(--fv-soft) !important}
.fvspf button.fvspf-primary{background:var(--fv-blue) !important;border-color:var(--fv-blue) !important;color:#fff !important}
.fvspf button.fvspf-primary:hover{background:var(--fv-blue-dark) !important}
.fvspf-results{margin-top:14px}
.fvspf-verdict{border-radius:10px;padding:14px 16px;margin-bottom:12px}
.fvspf-verdict>div{display:flex;align-items:center;gap:9px}
.fvspf-verdict strong{font-size:20px !important}
.fvspf-verdict p{margin:4px 0 0 !important;font-size:15px !important;color:var(--fv-muted) !important}
.fvspf-verdict .dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:var(--fv-blue)}
.fvspf-verdict.ok{background:var(--fv-green-soft) !important;border-color:#b8ddca !important}.fvspf-verdict.ok .dot{background:var(--fv-green)}
.fvspf-verdict.warn{background:var(--fv-amber-soft) !important;border-color:#ead59a !important}.fvspf-verdict.warn .dot{background:var(--fv-amber)}
.fvspf-verdict.error{background:var(--fv-red-soft) !important;border-color:#efc2bd !important}.fvspf-verdict.error .dot{background:var(--fv-red)}
.fvspf-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.fvspf-kpis>div,.fvspf-dns-kpis>div{border-radius:9px;padding:11px 12px;min-width:0;background:var(--fv-soft) !important}
.fvspf-kpis span,.fvspf-dns-kpis span{display:block;font-size:13px !important;color:var(--fv-muted) !important;margin-bottom:3px}
.fvspf-kpis strong,.fvspf-dns-kpis b{display:block;font-size:18px !important;line-height:1.25 !important;color:var(--fv-text) !important;overflow-wrap:anywhere}
.fvspf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
.fvspf-panel{border-radius:10px;overflow:hidden;margin-bottom:12px}
.fvspf-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;background:var(--fv-soft) !important;border-bottom:1px solid var(--fv-line)}
.fvspf-panel-head h3{margin:0 !important;font-size:18px !important;font-weight:700 !important;color:var(--fv-text) !important}
.fvspf-panel-head>span{font-size:14px !important;color:var(--fv-muted) !important}
.fvspf-list{padding:12px}
.fvspf-item{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #e9eef2}
.fvspf-item:last-child{border-bottom:0}
.fvspf-item>span{min-width:65px;text-align:center;padding:3px 6px;border-radius:5px;font-size:12px !important;font-weight:700;background:var(--fv-soft2) !important;color:var(--fv-text) !important}
.fvspf-item.error>span{background:var(--fv-red-soft) !important;color:var(--fv-red) !important}.fvspf-item.warn>span{background:var(--fv-amber-soft) !important;color:var(--fv-amber) !important}.fvspf-item.ok>span{background:var(--fv-green-soft) !important;color:var(--fv-green) !important}
.fvspf-item strong{font-size:16px !important;color:var(--fv-text) !important}.fvspf-item p{margin:2px 0 0 !important;font-size:15px !important;color:var(--fv-muted) !important}
.fvspf-rec{padding:9px 0;border-bottom:1px solid #e9eef2;font-size:15px !important;color:var(--fv-text) !important}.fvspf-rec:last-child{border-bottom:0}
.fvspf-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.fvspf-table{width:100%;min-width:760px;border-collapse:collapse;background:#fff !important}
.fvspf-table th,.fvspf-table td{padding:10px 11px;border-bottom:1px solid #e5ebf0;text-align:left;vertical-align:top;font-size:15px !important;color:var(--fv-text) !important;background:#fff !important}
.fvspf-table th{font-size:14px !important;font-weight:700 !important;background:var(--fv-soft) !important;white-space:nowrap}
/* Los términos SPF se muestran como texto técnico, no como etiquetas/píldoras */
.fvspf code,.fvspf-table code,.fvspf-chain code{
  display:inline !important;background:transparent !important;border:0 !important;border-radius:0 !important;padding:0 !important;margin:0 !important;
  color:#1d4f73 !important;font:600 15px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace !important;box-shadow:none !important;white-space:normal;overflow-wrap:anywhere;
}
.fvspf-dns-results{padding:12px}
.fvspf-hop-verdict{display:flex;flex-direction:column;gap:3px;padding:11px 12px;border-radius:8px;margin-bottom:10px;border:1px solid var(--fv-line);background:var(--fv-soft) !important}
.fvspf-hop-verdict strong{font-size:16px !important}.fvspf-hop-verdict span{font-size:14px !important;color:var(--fv-muted) !important}
.fvspf-hop-verdict.ok{background:var(--fv-green-soft) !important;border-color:#b8ddca !important}.fvspf-hop-verdict.warn{background:var(--fv-amber-soft) !important;border-color:#ead59a !important}.fvspf-hop-verdict.bad{background:var(--fv-red-soft) !important;border-color:#efc2bd !important}
.fvspf-dns-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:10px}
.fvspf-deep-errors{padding:10px 12px;border:1px solid #efc2bd;border-radius:8px;background:var(--fv-red-soft) !important;margin-bottom:10px}
.fvspf-deep-errors div{font-size:15px !important;color:var(--fv-red) !important;margin:3px 0}
.fvspf-chain{padding:10px 12px;border:1px solid var(--fv-line);border-radius:8px;background:var(--fv-soft) !important}
.fvspf-chain>div{padding:7px 0;border-bottom:1px solid #e3e9ee;font-size:15px !important;color:var(--fv-text) !important}.fvspf-chain>div:last-child{border-bottom:0}.fvspf-chain b.bad{color:var(--fv-red) !important}
.fvspf-hop.ok{color:var(--fv-green) !important}.fvspf-hop.warn{color:var(--fv-amber) !important}.fvspf-hop.bad{color:var(--fv-red) !important}
.fvspf-rfc-ok{color:var(--fv-green) !important}.fvspf-rfc-warn{color:var(--fv-amber) !important}.fvspf-rfc-bad{color:var(--fv-red) !important}
.fvspf-loading{padding:8px 0;font-size:15px !important;color:var(--fv-muted) !important}
/* Fuerza anchura real en contenidos de entradas/temas que aplican max-width */
.entry-content .fvspf,.wp-block-post-content .fvspf,.site-main .fvspf,.content-area .fvspf{width:100% !important;max-width:none !important}
@media (max-width:900px){.fvspf-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.fvspf-grid{grid-template-columns:1fr}.fvspf-dns-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.fvspf{padding:10px !important;font-size:16px !important;border-radius:10px !important}.fvspf-input-card{padding:13px}.fvspf-head{display:block}.fvspf-version{margin-top:8px}.fvspf-head h2{font-size:24px !important}.fvspf-kpis,.fvspf-dns-kpis{grid-template-columns:1fr}.fvspf-actions button{flex:1 1 100%}.fvspf-table{min-width:680px}}

/* v1.0.8 — neutraliza marcos oscuros y cualquier resaltado heredado del tema */
.fvspf,
.fvspf-input-card,
.fvspf-panel,
.fvspf-verdict,
.fvspf-kpis>div,
.fvspf-dns-kpis>div,
.fvspf-hop-verdict,
.fvspf-deep-errors,
.fvspf-chain{
  box-shadow:none !important;
  outline:0 !important;
}
.fvspf{border-color:#d7e0e7 !important;background:#fff !important}
.fvspf-input-card,.fvspf-panel,.fvspf-verdict,.fvspf-kpis>div,.fvspf-dns-kpis>div{border-color:#d7e0e7 !important}

/* Ninguna palabra del registro SPF debe renderizarse como badge/tag del tema */
.fvspf code,
.fvspf code[class],
.fvspf pre code,
.fvspf-table code,
.fvspf-table td code,
.fvspf-chain code,
.fvspf mark,
.fvspf kbd,
.fvspf samp{
  display:inline !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  outline:0 !important;
  border-radius:0 !important;
  background:none !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  text-shadow:none !important;
  color:#1d4f73 !important;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
}
.fvspf .fvspf-term-text{
  display:inline !important;padding:0 !important;margin:0 !important;border:0 !important;border-radius:0 !important;
  background:transparent !important;box-shadow:none !important;color:#1d4f73 !important;
  font:600 15px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace !important;
  white-space:normal;overflow-wrap:anywhere;
}

/* v1.0.9 — blindaje visual contra estilos del tema/constructores */
#fvspf-app.fvspf{
  width:100% !important; max-width:100% !important; min-width:0 !important;
  background:#ffffff !important; color:#17212b !important;
  border:1px solid #d7e0e7 !important; outline:0 !important; box-shadow:none !important;
}
#fvspf-app .fvspf-input-card,
#fvspf-app .fvspf-panel,
#fvspf-app .fvspf-verdict,
#fvspf-app .fvspf-kpis > div,
#fvspf-app .fvspf-dns-kpis > div,
#fvspf-app .fvspf-hop-verdict,
#fvspf-app .fvspf-chain,
#fvspf-app .fvspf-dns-results,
#fvspf-app .fvspf-list,
#fvspf-app .fvspf-table-wrap{
  background:#ffffff !important; color:#17212b !important;
  border-color:#d7e0e7 !important; outline:0 !important; box-shadow:none !important;
}
#fvspf-app .fvspf-panel-head{
  background:#f4f7f9 !important; color:#17212b !important; border-color:#d7e0e7 !important;
}
#fvspf-app .fvspf-panel-head h3,
#fvspf-app h2,
#fvspf-app h3,
#fvspf-app label,
#fvspf-app strong,
#fvspf-app b,
#fvspf-app th,
#fvspf-app td{
  color:#17212b !important;
}
#fvspf-app p,
#fvspf-app label span,
#fvspf-app .fvspf-panel-head > span,
#fvspf-app .fvspf-kpis span,
#fvspf-app .fvspf-dns-kpis span{
  color:#5c6b78 !important;
}
#fvspf-app textarea,
#fvspf-app input{
  background:#ffffff !important; color:#17212b !important; border-color:#c4d0da !important;
  -webkit-text-fill-color:#17212b !important;
}
#fvspf-app .fvspf-table,
#fvspf-app .fvspf-table td{background:#ffffff !important;color:#17212b !important}
#fvspf-app .fvspf-table th{background:#f4f7f9 !important;color:#17212b !important}
#fvspf-app .fvspf-item,
#fvspf-app .fvspf-rec{background:transparent !important;color:#17212b !important}
/* Cualquier auto-etiquetado/glosario de la palabra SPF queda visualmente neutralizado */
#fvspf-app a,
#fvspf-app abbr,
#fvspf-app mark,
#fvspf-app [class*="gloss" i],
#fvspf-app [class*="tooltip" i],
#fvspf-app [class*="term" i]:not(.fvspf-term-text){
  text-decoration:none;
}
#fvspf-app .fvspf-no-badge{
  display:inline !important; padding:0 !important; margin:0 !important; border:0 !important;
  outline:0 !important; border-radius:0 !important; background:transparent !important;
  box-shadow:none !important; color:inherit !important; font:inherit !important;
  line-height:inherit !important; letter-spacing:inherit !important; vertical-align:baseline !important;
}


/* v1.0.10 — corrección funcional: sin MutationObserver ni reescritura dinámica de estilos */
#fvspf-app,
#fvspf-app * {
  pointer-events:auto;
}
#fvspf-app textarea,
#fvspf-app input {
  user-select:text !important;
  -webkit-user-select:text !important;
  cursor:text !important;
  opacity:1 !important;
  visibility:visible !important;
}
#fvspf-app button {
  pointer-events:auto !important;
  cursor:pointer !important;
}
/* Neutraliza visualmente etiquetas/glosarios sin alterar el DOM ni bloquear la interfaz */
#fvspf-app a[class*="gloss" i],
#fvspf-app span[class*="gloss" i],
#fvspf-app abbr,
#fvspf-app mark,
#fvspf-app [class*="tooltip" i] {
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  text-decoration:none !important;
  color:inherit !important;
  font:inherit !important;
}
