/* NEXSATEL · Analizador SEO y SEM · v1.0.0 — paleta del manual de marca */
:root{--azul:#00365F;--petroleo:#105A76;--turquesa:#17A2B2;--cian:#1CD3DB;--celeste:#DAE9F7;--gris:#595959;--gris-suave:#8A9AA8;
--linea:#D8E2EC;--fondo:#F4F8FC;--rojo:#B3261E;--verde:#1E7D44;--ambar:#B2820A}
*{box-sizing:border-box}
body{margin:0;font-family:Calibri,Carlito,'Segoe UI',system-ui,sans-serif;color:var(--azul);background:var(--fondo)}
a{color:var(--petroleo)}
.top{background:var(--azul);color:#fff;padding:12px 22px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}
.top:after{content:"";position:absolute;right:-40px;top:-40px;width:120px;height:120px;background:var(--turquesa);transform:rotate(45deg);opacity:.35;pointer-events:none}
.top .b{font-weight:bold;display:flex;align-items:center;gap:12px;font-size:16px}
.top .b small{display:block;color:var(--cian);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:normal}
.nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;position:relative;z-index:1}
.nav .who{color:#cfe2ee;font-size:13px;margin-right:6px}
.nav a.nb{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;font-size:13px;font-weight:bold;text-decoration:none;
 color:#fff;border:1.5px solid rgba(255,255,255,.35);transition:.15s;white-space:nowrap}
.nav a.nb:hover{background:rgba(255,255,255,.12);border-color:#fff}
.nav a.nb.pri{background:var(--turquesa);border-color:var(--turquesa)} .nav a.nb.pri:hover{background:var(--petroleo)}
.nav a.nb.cur{background:#fff;color:var(--azul);border-color:#fff;pointer-events:none}
.nav a.nb.out{border-color:rgba(255,255,255,.2);color:#9fc3d6}
@media(max-width:760px){.top{flex-direction:column;gap:10px;align-items:flex-start}.nav{justify-content:flex-start}}
.wrap{max-width:820px;margin:26px auto;padding:0 16px}
.wrap.ancho{max-width:1160px}
.card{background:#fff;border-radius:12px;box-shadow:0 6px 24px rgba(0,54,95,.08);padding:24px 26px;margin-bottom:20px}
h2{margin:0 0 4px;font-size:18px} .lead{color:var(--gris);font-size:13.5px;margin:0 0 16px;line-height:1.5}
label{display:block;font-size:12.5px;font-weight:bold;margin:14px 0 5px}
label .req{color:var(--rojo)} label .opt{color:var(--gris-suave);font-weight:normal}
input[type=text],input[type=email],select{width:100%;padding:11px 13px;border:1.5px solid var(--linea);border-radius:8px;font-size:14.5px;color:var(--azul);outline:none;background:#fff;font-family:inherit}
input:focus,select:focus{border-color:var(--turquesa)}
.campo-err input,.campo-err select{border-color:var(--rojo)!important;background:#fff8f7}
.err-msg{display:none;color:var(--rojo);font-size:12px;margin-top:4px}
.campo-err .err-msg{display:block}
.row{display:flex;gap:14px}.row>div{flex:1}
@media(max-width:640px){.row{flex-direction:column;gap:0}}
.hint{font-size:11.5px;color:var(--gris);margin-top:4px}
.botones{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:center;margin-top:20px}
button,.btn{padding:13px 22px;border:0;border-radius:8px;font-size:15px;font-weight:bold;cursor:pointer;text-decoration:none;display:inline-block;font-family:inherit}
.b-main{background:var(--azul);color:#fff} .b-main:hover{background:#0a4a6b}
.b-alt{background:#fff;color:var(--turquesa);border:2px solid var(--turquesa)}
.b-link{background:#fff;color:var(--gris);border:2px solid var(--linea)}
button:disabled{opacity:.5;cursor:not-allowed}
.aviso{background:#fff8e6;border-left:3px solid var(--ambar);padding:11px 14px;border-radius:8px;font-size:12.5px;color:#7a5a00;margin-top:16px}
.info{background:var(--celeste);border-left:3px solid var(--azul);padding:11px 14px;border-radius:8px;font-size:12.5px;margin-top:12px}
.msg{margin-top:14px;padding:11px 14px;border-radius:8px;font-size:13px;display:none}
.msg.err{background:#fdeceb;color:var(--rojo);display:block} .msg.ok{background:#e4f6ec;color:var(--verde);display:block}
.prog{display:none;margin-top:18px;background:var(--fondo);border-radius:10px;padding:14px 16px}
.prog .t{font-size:13.5px;color:var(--petroleo);font-weight:bold}
.prog .t:before{content:'';display:inline-block;width:14px;height:14px;border:2px solid var(--linea);border-top-color:var(--turquesa);border-radius:50%;margin-right:8px;vertical-align:-2px;animation:spin 1s linear infinite}
.prog .bar{height:6px;background:var(--linea);border-radius:4px;margin-top:10px;overflow:hidden}
.prog .bar i{display:block;height:100%;width:30%;background:linear-gradient(90deg,var(--turquesa),var(--cian));animation:mov 1.6s ease-in-out infinite}
@keyframes spin{to{transform:rotate(360deg)}} @keyframes mov{0%{margin-left:-30%}100%{margin-left:100%}}
.result{display:none}
.cab{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.gauge{width:128px;height:128px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;flex:none}
.gauge b{font-size:42px;line-height:1} .gauge span{font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.boxes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;flex:1}
@media(max-width:760px){.boxes{grid-template-columns:repeat(2,1fr)}}
.rb{border-radius:10px;padding:11px 14px;color:#fff;cursor:pointer}
.rb .k{font-size:11px;text-transform:uppercase;letter-spacing:.06em;opacity:.92}
.rb .v{font-size:20px;font-weight:bold;margin:2px 0}
.rb .d{font-size:11px;opacity:.95}
.ok{background:var(--verde)} .crit{background:var(--rojo)} .warn{background:var(--ambar)} .infoc{background:var(--gris-suave)}
.bloque{margin-top:22px}
.bloque h3{font-size:14.5px;margin:0 0 8px;padding-bottom:6px;border-bottom:2px solid var(--azul);text-transform:uppercase;letter-spacing:.02em;display:flex;justify-content:space-between;align-items:center}
.bloque h3 .p{color:#fff;font-size:12px;padding:2px 10px;border-radius:10px;text-transform:none;letter-spacing:0}
.chkrow{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--linea);align-items:flex-start}
.ic{width:22px;min-width:22px;height:22px;border-radius:50%;color:#fff;text-align:center;font-weight:bold;font-size:13px;line-height:22px}
.chknom{font-weight:bold;width:30%;min-width:140px;font-size:13px}
.chkdet{flex:1;color:var(--gris);font-size:12.8px;line-height:1.5}
.chkdet .acc{color:var(--petroleo);margin-top:3px}
.tg{display:inline-block;margin-top:3px;padding:1px 7px;border-radius:10px;color:#fff;font-size:9.5px;font-weight:bold}
table.tb{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:6px}
.tb th{background:var(--azul);color:#fff;text-align:left;padding:7px 9px;font-size:12px;position:sticky;top:0}
.tb td{padding:6px 9px;border-bottom:1px solid var(--linea);vertical-align:top}
.tb tr:hover td{background:var(--fondo)}
.pri{display:inline-block;padding:2px 9px;border-radius:10px;color:#fff;font-size:11px;font-weight:bold}
.dl{display:inline-block;padding:12px 20px;background:var(--turquesa);color:#fff;text-decoration:none;border-radius:8px;font-weight:bold;font-size:14.5px}
.dl.sec{background:#fff;color:var(--turquesa);border:2px solid var(--turquesa);padding:10px 18px}
.scroll{max-height:420px;overflow:auto;border:1px solid var(--linea);border-radius:8px}
.pie{text-align:center;color:var(--gris);font-size:11.5px;margin:4px 0 30px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:10px 0 6px}
.stats div{background:var(--fondo);border-top:3px solid var(--turquesa);border-radius:8px;padding:10px 12px}
.stats b{display:block;font-size:24px} .stats span{font-size:11.5px;color:var(--gris);text-transform:uppercase;letter-spacing:.05em}
.buscar{max-width:320px;margin:6px 0}
mark{background:#fff1a8;padding:0}
