:root{
    /* Colores extraídos del logotipo de ACTIONS */
    --navy:#0D0C45;          /* azul marino corporativo */
    --navy-soft:#1B1A5E;
    --cyan:#00ABC7;          /* cian corporativo */
    --cyan-deep:#00818F;     /* cian con contraste suficiente para texto */
    --paper:#F3F5F9; --card:#FFFFFF;
    --ink:#0D0C45; --ink-soft:#5B6480;
    --line:#E2E7F0; --line-strong:#C6CEDD;
    --ok:#1f8f5f; --warn:#b47611; --crit:#c6413b;
    --shadow:0 1px 0 rgba(13,12,69,.04), 0 12px 34px -20px rgba(13,12,69,.45);
    --r:16px;
    --font-display:"Poppins",system-ui,sans-serif;
    --font-body:"Inter",system-ui,-apple-system,sans-serif;
    --font-mono:"IBM Plex Mono",ui-monospace,monospace;
  }
  *{box-sizing:border-box} html,body{margin:0}
  body{background:var(--paper);color:var(--ink);font-family:var(--font-body);line-height:1.5;-webkit-font-smoothing:antialiased}
  .wrap{max-width:780px;margin:0 auto;padding:clamp(16px,4vw,40px) clamp(16px,4vw,24px)}
  .mono{font-family:var(--font-mono)} a{color:var(--cyan-deep)}

  .brandbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:6px}
  .brandbar img{height:54px;width:auto;display:block}
  .brandbar .tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}

  .eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--cyan-deep);display:flex;gap:9px;align-items:center;margin-top:22px}
  .eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--cyan);animation:pulse 2.4s infinite}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(0,171,199,.5)}70%{box-shadow:0 0 0 9px rgba(0,171,199,0)}100%{box-shadow:0 0 0 0 rgba(0,171,199,0)}}
  h1{font-family:var(--font-display);font-weight:700;font-size:clamp(30px,6vw,50px);line-height:1.03;letter-spacing:-.02em;margin:.3em 0 .25em;color:var(--navy)}
  h1 em{font-style:normal;color:var(--cyan-deep)}
  .lede{color:var(--ink-soft);font-size:clamp(15px,2.4vw,18px);max-width:54ch}

  .console{margin-top:24px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
  .console-bar{display:flex;align-items:center;gap:8px;padding:11px 15px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(0,171,199,.07),rgba(0,171,199,0));font-family:var(--font-mono);font-size:12px;color:var(--ink-soft)}
  .console-bar b{color:var(--navy)}
  .console-body{padding:16px}
  .field{display:flex;gap:10px;flex-wrap:wrap}
  .url-input{flex:1 1 320px;min-width:0;display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--line-strong);border-radius:11px;padding:0 12px;transition:border-color .15s,box-shadow .15s}
  .url-input:focus-within{border-color:var(--cyan);box-shadow:0 0 0 4px rgba(0,171,199,.16)}
  .url-input .scheme{font-family:var(--font-mono);color:var(--ink-soft);font-size:14px}
  .url-input input{flex:1;border:0;outline:0;background:transparent;padding:13px 0;font-family:var(--font-mono);font-size:15px;color:var(--navy);min-width:0}
  button{font-family:inherit;cursor:pointer}
  .btn{border:0;border-radius:11px;padding:13px 20px;font-weight:600;font-size:15px;background:var(--navy);color:#fff;transition:transform .06s,background .15s;white-space:nowrap;font-family:var(--font-body)}
  .btn:hover{background:var(--navy-soft)} .btn:active{transform:translateY(1px)}
  .btn:disabled{opacity:.5;cursor:not-allowed;background:var(--navy)}
  .btn.ghost{background:transparent;color:var(--navy);border:1.5px solid var(--line-strong)}
  .btn.ghost:hover{border-color:var(--cyan);background:rgba(0,171,199,.06)}
  .hint{margin-top:10px;font-size:12.5px;color:var(--ink-soft)}
  .err{display:none;margin-top:12px;padding:11px 14px;border-radius:10px;font-size:13.5px;background:rgba(198,65,59,.08);border:1px solid rgba(198,65,59,.3);color:#8f2e29}
  .err.on{display:block}
  .formlock{display:none;margin-top:12px;padding:12px 15px;border-radius:11px;font-size:13.5px;
    background:rgba(0,171,199,.09);border:1px solid rgba(0,171,199,.4);color:#075f6c}
  .formlock.on{display:block}
  .formlock a{color:var(--cyan-deep);font-weight:600}
  .field.bloqueado .url-input{background:#f1f3f7;border-color:var(--line);opacity:.75}
  .field.bloqueado .url-input input{color:var(--ink-soft);cursor:not-allowed}
  /* honeypot: invisible para personas, visible para bots */
  .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
  #captcha{display:none;margin-top:14px}
  #captcha.on{display:block}
  .captcha-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
    color:var(--ink-soft);margin-bottom:7px}

  .scanning{display:none;padding:6px 2px 2px} .scanning.on{display:block}
  .scan-line{display:flex;align-items:center;gap:10px;padding:6px 0;font-family:var(--font-mono);font-size:13px;color:var(--ink-soft);opacity:.35;transition:opacity .25s,color .25s}
  .scan-line.active,.scan-line.done{opacity:1;color:var(--navy)}
  .scan-line .mk{width:16px;height:16px;flex:none;display:grid;place-items:center;color:var(--cyan-deep)}
  .spin{width:12px;height:12px;border:2px solid var(--line-strong);border-top-color:var(--cyan);border-radius:50%;animation:spin .7s linear infinite}
  @keyframes spin{to{transform:rotate(360deg)}}

  .results{display:none;margin-top:22px} .results.on{display:block;animation:rise .4s ease both}
  @keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
  .res-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
  .res-head h2{font-family:var(--font-display);font-size:18px;margin:0;color:var(--navy)}
  .actions-row{display:flex;gap:10px;flex-wrap:wrap}
  .verdict{display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow)}
  .gauge{flex:none}
  .gauge .num{font-family:var(--font-display);font-weight:700;font-size:38px;fill:var(--navy)}
  .gauge .den{font-family:var(--font-mono);font-size:11px;fill:var(--ink-soft)}
  .verdict-copy{flex:1 1 260px}
  .verdict-copy .scanned{font-family:var(--font-mono);font-size:12.5px;color:var(--ink-soft);word-break:break-all}
  .chip{display:inline-flex;align-items:center;gap:7px;margin-top:8px;padding:6px 12px;border-radius:999px;font-size:12.5px;font-weight:600;font-family:var(--font-mono)}
  .chip .d{width:8px;height:8px;border-radius:50%}
  .chip[data-v="open"]{background:rgba(31,143,95,.12);color:var(--ok)} .chip[data-v="open"] .d{background:var(--ok)}
  .chip[data-v="partial"]{background:rgba(180,118,17,.14);color:var(--warn)} .chip[data-v="partial"] .d{background:var(--warn)}
  .chip[data-v="blocked"]{background:rgba(198,65,59,.12);color:var(--crit)} .chip[data-v="blocked"] .d{background:var(--crit)}
  .verdict-copy h3{font-family:var(--font-display);font-size:17px;margin:12px 0 2px;color:var(--navy)}
  .verdict-copy p{margin:0;color:var(--ink-soft);font-size:14px}

  .metrics{display:none;margin-top:16px}
  .metrics.on{display:block;animation:rise .4s ease both}
  .metrics-title{font-family:var(--font-mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;
    color:var(--ink-soft);margin-bottom:10px}
  .metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
  .metric{display:flex;gap:12px;align-items:flex-start;padding:14px 15px;border-radius:13px;
    background:var(--card);border:1px solid var(--line);position:relative;overflow:hidden}
  .metric::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--line-strong)}
  .metric--ok::before{background:var(--ok)} .metric--warn::before{background:var(--warn)} .metric--crit::before{background:var(--crit)}
  .metric-ico{flex:none;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;
    background:rgba(0,171,199,.09);color:var(--cyan-deep)}
  .metric--ok .metric-ico{background:rgba(31,143,95,.1);color:var(--ok)}
  .metric--warn .metric-ico{background:rgba(180,118,17,.12);color:var(--warn)}
  .metric--crit .metric-ico{background:rgba(198,65,59,.1);color:var(--crit)}
  .metric-ico svg{width:20px;height:20px}
  .metric-body{display:flex;flex-direction:column;min-width:0}
  .metric-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
  .metric-valor{font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--navy);line-height:1.2;margin:2px 0 3px}
  .metric-nota{font-size:12px;color:var(--ink-soft);line-height:1.4}
  @media print{
    .metrics{display:block!important;break-inside:avoid}
    .metrics-grid{grid-template-columns:repeat(3,1fr)}
    .metric{box-shadow:none;border:1px solid #d6deea}
  }

  .bots{display:none;margin-top:14px;background:var(--card);border:1px solid var(--line);
    border-radius:12px;padding:16px}
  .bots.on{display:block}
  .bots-title{font-family:var(--font-mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;
    color:var(--ink-soft);margin-bottom:12px}
  .bots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:8px}
  .bot{display:flex;gap:10px;align-items:flex-start;padding:9px 11px;border-radius:9px;
    border:1px solid var(--line);background:#fbfcfe}
  .bot-ico{flex:none;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;
    font-size:11px;font-weight:700;color:#fff;margin-top:1px}
  .bot-txt{display:flex;flex-direction:column;min-width:0}
  .bot-name{font-weight:600;font-size:13.5px;color:var(--navy)}
  .bot-engine{font-size:11.5px;color:var(--ink-soft);line-height:1.35}
  .bot-state{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;margin-top:3px}
  .bot--permitido .bot-ico{background:var(--ok)}
  .bot--permitido .bot-state{color:var(--ok)}
  .bot--bloqueado{border-color:rgba(198,65,59,.45);background:rgba(198,65,59,.06)}
  .bot--bloqueado .bot-ico{background:var(--crit)}
  .bot--bloqueado .bot-state{color:var(--crit);font-weight:600}
  .bot--por_defecto{opacity:.8}
  .bot--por_defecto .bot-ico{background:var(--line-strong);color:var(--ink-soft)}
  .bot--por_defecto .bot-state{color:var(--warn)}
  .bots-legend{margin:12px 0 0;font-size:11.5px;color:var(--ink-soft);line-height:1.5}
  @media print{.bots{break-inside:avoid;box-shadow:none}.bots-grid{grid-template-columns:repeat(3,1fr)}}

  .notice{display:none;margin-top:12px;padding:13px 16px;border-radius:12px;font-size:13.5px;background:rgba(180,118,17,.1);border:1px solid rgba(180,118,17,.34);color:#7a5109}
  .notice.on{display:block} .notice b{color:#5c3d06}

  .cats{margin-top:14px;display:grid;gap:10px}
  .cat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
  .cat.na{opacity:.72} .cat.na .pct{font-style:italic}
  .cat-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
  .cat-head .name{font-weight:600;font-size:15px;display:flex;align-items:center;gap:9px;color:var(--navy)}
  .cat-head .idx{font-family:var(--font-mono);font-size:12px;color:var(--cyan-deep);border:1px solid var(--line-strong);border-radius:6px;padding:1px 6px}
  .cat-head .pct{font-family:var(--font-mono);font-size:13px;color:var(--ink-soft)}
  .bar{height:6px;border-radius:99px;background:#e5eaf2;margin:11px 0 0;overflow:hidden}
  .bar>span{display:block;height:100%;border-radius:99px;background:var(--cyan);width:0;transition:width .8s cubic-bezier(.2,.7,.2,1)}
  .findings{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:9px}
  .findings li{display:flex;gap:9px;font-size:13.5px;align-items:flex-start}
  .findings .tag{flex:none;margin-top:6px;width:7px;height:7px;border-radius:50%}
  .tag.ok{background:var(--ok)} .tag.warn{background:var(--warn)} .tag.crit{background:var(--crit)}
  .finding-body{display:flex;flex-direction:column;min-width:0}
  .finding-text{line-height:1.5}
  .finding-fix{margin-top:6px;padding:9px 12px;border-radius:9px;background:rgba(0,171,199,.06);
    border-left:2px solid var(--cyan);display:flex;flex-direction:column;gap:2px}
  .fix-label{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-deep)}
  .fix-text{font-size:12.5px;color:var(--ink);line-height:1.45}
  @media print{.finding-fix{background:#f0fafc;break-inside:avoid}}

  .note{margin-top:12px;padding:13px 16px;border:1px dashed var(--line-strong);border-radius:12px;font-size:12.5px;color:var(--ink-soft);background:rgba(0,171,199,.04)}
  .note b{color:var(--navy)} .note ul{margin:6px 0 0;padding-left:18px} .note li{margin:2px 0}

  .lead{margin-top:16px;background:var(--navy);color:#eef2f8;border-radius:var(--r);padding:24px;box-shadow:var(--shadow)}
  .lead img{height:40px;width:auto;display:block;margin-bottom:14px}
  .lead h3{font-family:var(--font-display);margin:0 0 4px;font-size:19px;color:#fff}
  .lead p{margin:0 0 14px;color:#aeb7cf;font-size:14px;max-width:48ch}
  .lead .field input{background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.18);color:#fff;border-radius:10px;padding:12px 13px;font-family:inherit;font-size:14px;flex:1 1 180px;min-width:0;outline:0}
  .lead .field input:focus{border-color:var(--cyan)} .lead .field input::placeholder{color:#8f9ab8}
  .lead .btn{background:var(--cyan);color:#04303a} .lead .btn:hover{background:#00c2e0}
  .lead .privacy{margin-top:10px;font-size:11.5px;color:#8f9ab8;max-width:52ch}
  .lead .privacy a{color:var(--cyan)}
  .lead .err{background:rgba(255,255,255,.1);border-color:rgba(255,180,175,.5);color:#ffd9d6}
  .lead-done{display:none;font-size:14.5px;color:#8fe6c4}
  .lead.sent .field,.lead.sent h3,.lead.sent p,.lead.sent .privacy{display:none} .lead.sent .lead-done{display:block}

  .faq{margin-top:34px}
  .faq h2{font-family:var(--font-display);font-size:clamp(20px,3.4vw,26px);color:var(--navy);
    letter-spacing:-.01em;margin:0 0 16px}
  .faq article{background:var(--card);border:1px solid var(--line);border-radius:12px;
    padding:16px 18px;margin-bottom:10px}
  .faq h3{font-family:var(--font-display);font-size:16px;color:var(--navy);margin:0 0 7px;line-height:1.3}
  .faq p{margin:0;font-size:14.5px;color:var(--ink-soft)}
  .faq code{font-family:var(--font-mono);font-size:.9em;background:rgba(0,171,199,.1);
    color:var(--cyan-deep);padding:1px 5px;border-radius:4px}
  .faq strong{color:var(--navy)}
  @media print{.faq{display:none}}

  footer.site{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:12.5px;display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;justify-content:space-between}
  footer.site .certs{font-family:var(--font-mono);font-size:11px}
  footer.site .legal{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center}
  footer.site a{color:var(--ink-soft);text-decoration:none} footer.site a:hover{color:var(--cyan-deep);text-decoration:underline}
  .consent{display:flex;gap:9px;align-items:flex-start;margin-top:12px;font-size:12.5px;color:#c3ccdf;cursor:pointer}
  .consent input{margin-top:2px;flex:none;width:16px;height:16px;accent-color:var(--cyan);cursor:pointer}
  .consent a{color:var(--cyan)}

  .print-only{display:none}
  @media print{
    @page{size:A4;margin:14mm 14mm 16mm} body{background:#fff}
    .wrap{max-width:none;padding:0}
    .brandbar,.eyebrow,.lede,.console,.actions-row,.lead,footer.site,.hint,.scanning{display:none!important}
    h1{display:none} .results{display:block!important;margin:0}
    .verdict,.cat,.note,.notice{box-shadow:none;border:1px solid #d6deea;break-inside:avoid}
    .bar>span{transition:none} .print-only{display:block}
    .print-head{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:2px solid var(--navy);padding-bottom:10px;margin-bottom:16px}
    .print-head img{height:52px;width:auto}
    .print-head .pt{text-align:right;font-family:var(--font-mono);font-size:11px;color:#333;line-height:1.6}
    .print-title{font-family:var(--font-display);font-size:22px;margin:0 0 2px;color:var(--navy)}
    .print-sub{font-family:var(--font-mono);font-size:12px;color:#444;word-break:break-all;margin-bottom:14px}
    .print-foot{margin-top:18px;padding-top:10px;border-top:1px solid #d6deea;font-size:10.5px;color:#555;line-height:1.6}
    .print-foot b{color:var(--navy)}
  }
  @media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

  /* transición del indicador (evita atributos style en línea) */
  #gaugeArc{transition:stroke-dashoffset 1s cubic-bezier(.2,.7,.2,1)}
