/* Absolute Micro – Nos outils : Vérif'Mail ([am_verifmail]). CSS isolé sous .amvm. */
.amvm{display:block;max-width:1040px;margin:0 auto;padding:0 0 40px;
  font-family:'Lato','Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;color:#3a3a3a;
  font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
.amvm h1,.amvm h2,.amvm h3,.amvm h4,.amvm .h1x{font-family:inherit;color:#3a3a3a;margin:0;letter-spacing:normal;text-transform:none;border:none;padding:0}
.amvm a{text-decoration:none;border-bottom:none;box-shadow:none}
.amvm table{border-spacing:0;border:none}
.amvm ul,.amvm ol{list-style-position:outside}
.amvm img,.amvm svg{max-width:100%;height:auto}
.amvm{
    --am-red:#c10e1a;
    --am-red-dark:#84170f;
    --ink:#3a3a3a;
    --ink-soft:#575757;
    --muted:#8f8f8f;
    --line:#e4e7e8;
    --bg:#ffffff;
    --bg-soft:#f6f5f4;
    --bg-input:#eae9e8;
    --ok:#2e7410;        --ok-bg:#eef6e8;   --ok-line:#bfdcae;
    --warn:#8a5a00;      --warn-bg:#fdf3e0; --warn-line:#f0d9a8; --warn-fill:#f7b848;
    --high:#a33b1c;      --high-bg:#fbeae5; --high-line:#efc4b6; --high-fill:#da6f5b;
    --crit:#c10e1a;      --crit-bg:#faeaec; --crit-line:#eebfc3;
    --info:#2f6b69;      --info-bg:#ecf4f4; --info-line:#c6dedd; --info-fill:#90c1bf;
    --radius:5px;
    --shadow:0 2px 10px rgba(58,58,58,.08);
    --font:'Lato','Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  }
.amvm, .amvm *{box-sizing:border-box;margin:0;padding:0}
.amvm{
    font-family:var(--font);color:var(--ink);background:var(--bg);
    font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;
  }
.amvm ::selection{background:var(--am-red);color:#fff}
.amvm{max-width:1040px;margin:0 auto;padding:0 20px 60px}
.amvm .hero{padding:42px 0 26px;text-align:center}
.amvm .hero .h1x{font-size:34px;line-height:1.2;font-weight:800}
.amvm .hero .h1x em{font-style:normal;color:var(--am-red)}
.amvm .hero p.lead{margin:12px auto 0;max-width:640px;color:var(--ink-soft);font-size:17px}
.amvm .badges{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.amvm .badge{font-size:12.5px;font-weight:700;background:var(--bg-soft);border:1px solid var(--line);
         border-radius:999px;padding:6px 14px;color:var(--ink-soft)}
.amvm .badge.lock{border-color:var(--ok-line);background:var(--ok-bg);color:var(--ok)}
.amvm .card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.amvm .input-card{padding:26px;margin-top:8px}
.amvm .dropzone{
    border:2px dashed #c9c6c4;border-radius:var(--radius);background:var(--bg-soft);
    padding:34px 20px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;
  }
.amvm .dropzone:hover, .amvm .dropzone.drag{border-color:var(--am-red);background:#fdf6f6}
.amvm .dropzone .dz-ico{font-size:34px;line-height:1}
.amvm .dropzone .dz-main{font-weight:700;margin-top:8px}
.amvm .dropzone .dz-sub{font-size:13px;color:var(--muted);margin-top:4px}
.amvm .dropzone.hasfile{border-style:solid;border-color:var(--ok-line);background:var(--ok-bg)}
.amvm .or-sep{display:flex;align-items:center;gap:14px;margin:20px 0;color:var(--muted);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.amvm .or-sep::before, .amvm .or-sep::after{content:"";height:1px;background:var(--line);flex:1}
.amvm textarea#pasteInput{
    width:100%;min-height:130px;resize:vertical;border:1px solid var(--line);border-radius:var(--radius);
    background:var(--bg-input);padding:12px 14px;font-family:ui-monospace,Consolas,monospace;font-size:13px;color:var(--ink);
  }
.amvm textarea#pasteInput:focus{outline:2px solid var(--am-red);outline-offset:1px;background:#fff}
.amvm .input-foot{display:flex;gap:14px;align-items:center;margin-top:18px;flex-wrap:wrap}
.amvm .opt-online{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--ink-soft);max-width:430px}
.amvm .opt-online input{margin-top:3px;accent-color:var(--am-red)}
.amvm .btn{
    display:inline-flex;align-items:center;gap:10px;border:none;cursor:pointer;
    background:var(--am-red);color:#fff;font-family:var(--font);font-weight:800;font-size:15px;
    letter-spacing:.03em;text-transform:uppercase;padding:14px 28px;border-radius:var(--radius);
    transition:background .15s,transform .05s;
  }
.amvm .btn:hover{background:var(--am-red-dark)}
.amvm .btn:active{transform:translateY(1px)}
.amvm .btn[disabled]{background:var(--muted);cursor:not-allowed}
.amvm .btn.primary{margin-left:auto}
.amvm .btn.ghost{background:transparent;color:var(--am-red);border:2px solid var(--am-red);padding:12px 22px}
.amvm .btn.ghost:hover{background:var(--crit-bg)}
.amvm .minilink{background:none;border:none;cursor:pointer;font-family:var(--font);font-size:13.5px;color:var(--am-red);font-weight:700;text-decoration:underline;padding:0}
.amvm .minilink:hover{color:var(--am-red-dark)}
.amvm details.help{margin-top:16px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.amvm details.help summary{cursor:pointer;padding:12px 16px;font-weight:700;font-size:14px;color:var(--ink-soft);list-style:none}
.amvm details.help summary::before{content:"▸ ";color:var(--am-red)}
.amvm details.help[open] summary::before{content:"▾ "}
.amvm details.help .help-body{padding:0 16px 16px;font-size:14px;color:var(--ink-soft)}
.amvm details.help .help-body h4{font-size:13.5px;margin:12px 0 4px;color:var(--ink)}
.amvm details.help .help-body p{margin:4px 0}
.amvm details.help kbd{background:var(--bg-input);border:1px solid #d5d2d0;border-bottom-width:2px;border-radius:4px;padding:0 6px;font-size:12px;font-family:inherit}
.amvm #scanPanel{padding:30px 26px;margin-top:22px;display:none}
.amvm #scanPanel h3{font-size:16px;text-transform:uppercase;letter-spacing:.05em}
.amvm .scanbar{height:6px;background:var(--bg-input);border-radius:999px;overflow:hidden;margin:16px 0 20px}
.amvm .scanbar i{display:block;height:100%;width:0%;background:var(--am-red);border-radius:999px;transition:width .35s ease}
.amvm ul.scan-steps{list-style:none}
.amvm ul.scan-steps li{padding:6px 0;color:var(--muted);font-size:14.5px;display:flex;gap:10px;align-items:center}
.amvm ul.scan-steps li .tick{width:18px;height:18px;flex:none;border-radius:50%;border:2px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:#fff}
.amvm ul.scan-steps li.doing{color:var(--ink);font-weight:700}
.amvm ul.scan-steps li.doing .tick{border-color:var(--am-red);border-top-color:transparent;animation:spin .7s linear infinite}
.amvm ul.scan-steps li.done{color:var(--ink-soft)}
.amvm ul.scan-steps li.done .tick{background:var(--ok);border-color:var(--ok)}
.amvm ul.scan-steps li.done .tick::before{content:"✓"}

@keyframes spin {to{transform:rotate(360deg)}}
.amvm #results{display:none;margin-top:26px}
.amvm .verdict{border-radius:var(--radius);padding:28px;display:flex;gap:28px;align-items:center;flex-wrap:wrap;border:1px solid;box-shadow:var(--shadow)}
.amvm .verdict.v-danger{background:var(--crit-bg);border-color:var(--crit-line)}
.amvm .verdict.v-warn{background:var(--warn-bg);border-color:var(--warn-line)}
.amvm .verdict.v-ok{background:var(--ok-bg);border-color:var(--ok-line)}
.amvm .gauge{flex:none;width:170px;text-align:center}
.amvm .gauge svg{width:170px;height:100px;overflow:visible}
.amvm .gauge .g-num{font-size:34px;font-weight:800;line-height:1}
.amvm .gauge .g-cap{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
.amvm .v-danger .g-num{color:var(--crit)}
.amvm .v-warn .g-num{color:var(--warn)}
.amvm .v-ok .g-num{color:var(--ok)}
.amvm .verdict .v-main{flex:1;min-width:260px}
.amvm .v-kicker{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.amvm .v-danger .v-kicker{color:var(--crit)}
.amvm .v-warn .v-kicker{color:var(--warn)}
.amvm .v-ok .v-kicker{color:var(--ok)}
.amvm .v-title{font-size:27px;font-weight:800;line-height:1.15;margin-top:2px}
.amvm .v-sub{margin-top:8px;color:var(--ink-soft);font-size:15.5px;max-width:640px}
.amvm .v-disc{margin-top:10px;font-size:12px;color:var(--muted);font-style:italic;max-width:640px}
.amvm .v-counts{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.amvm .cnt{font-size:12.5px;font-weight:800;border-radius:999px;padding:4px 12px;border:1px solid}
.amvm .cnt.c-crit{color:var(--crit);background:#fff;border-color:var(--crit-line)}
.amvm .cnt.c-high{color:var(--high);background:#fff;border-color:var(--high-line)}
.amvm .cnt.c-warn{color:var(--warn);background:#fff;border-color:var(--warn-line)}
.amvm .cnt.c-info{color:var(--info);background:#fff;border-color:var(--info-line)}
.amvm .cnt.c-ok{color:var(--ok);background:#fff;border-color:var(--ok-line)}
.amvm .rsec{margin-top:22px}
.amvm .rsec>h2{font-size:19px;font-weight:800;margin-bottom:12px}
.amvm .rsec>h2 span{color:var(--am-red)}
.amvm .reco{padding:20px 24px}
.amvm .reco ol{margin-left:22px}
.amvm .reco li{margin:7px 0;color:var(--ink-soft)}
.amvm .reco li strong{color:var(--ink)}
.amvm .grp{margin-bottom:14px;overflow:hidden}
.amvm .grp-head{padding:13px 20px;background:var(--bg-soft);border-bottom:1px solid var(--line);font-weight:800;font-size:14.5px;display:flex;justify-content:space-between;align-items:center}
.amvm .grp-head .g-count{font-size:12px;color:var(--muted);font-weight:700}
.amvm .finding{padding:15px 20px;border-bottom:1px solid var(--line);display:flex;gap:14px;align-items:flex-start}
.amvm .finding:last-child{border-bottom:none}
.amvm .sev{flex:none;font-size:10.5px;font-weight:800;letter-spacing:.06em;border-radius:4px;padding:3px 8px;margin-top:2px;min-width:74px;text-align:center}
.amvm .sev.s-crit{background:var(--crit);color:#fff}
.amvm .sev.s-high{background:var(--high-fill);color:#3b1206}
.amvm .sev.s-warn{background:var(--warn-fill);color:#3d2800}
.amvm .sev.s-info{background:var(--info-fill);color:#0f3230}
.amvm .sev.s-ok{background:var(--ok);color:#fff}
.amvm .finding .f-body{flex:1;min-width:0}
.amvm .finding .f-title{font-weight:700;font-size:15px}
.amvm .finding .f-expl{font-size:13.5px;color:var(--ink-soft);margin-top:3px}
.amvm .finding .f-ev{margin-top:7px;font-family:ui-monospace,Consolas,monospace;font-size:12px;color:var(--ink-soft);
                 background:var(--bg-soft);border:1px solid var(--line);border-radius:4px;padding:6px 10px;
                 word-break:break-all;white-space:pre-wrap}
.amvm .poslist{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px}
.amvm .poslist .pos{font-size:13.5px;color:var(--ink-soft);background:#fff;border:1px solid var(--ok-line);border-radius:var(--radius);padding:9px 12px}
.amvm .poslist .pos::before{content:"✓ ";color:var(--ok);font-weight:800}
.amvm details.tech{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-top:14px}
.amvm details.tech summary{cursor:pointer;padding:14px 20px;font-weight:800;font-size:14.5px;list-style:none}
.amvm details.tech summary::before{content:"▸ ";color:var(--am-red)}
.amvm details.tech[open] summary::before{content:"▾ "}
.amvm .tech-body{padding:0 20px 18px;overflow-x:auto}
.amvm table.t{width:100%;border-collapse:collapse;font-size:13px;margin-top:10px}
.amvm table.t caption{text-align:left;font-weight:800;font-size:13px;padding:8px 0;color:var(--ink)}
.amvm table.t th{background:var(--bg-soft);text-align:left;padding:7px 10px;border:1px solid var(--line);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}
.amvm table.t td{padding:7px 10px;border:1px solid var(--line);vertical-align:top;font-family:ui-monospace,Consolas,monospace;font-size:12px;word-break:break-all}
.amvm table.t td.rg{font-family:var(--font);font-size:13px}
.amvm a.vt{color:var(--am-red);font-weight:700;font-family:var(--font);font-size:12.5px;white-space:nowrap}
.amvm .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px;align-items:center}
.amvm .copied{font-size:13px;color:var(--ok);font-weight:800;display:none}

@media (max-width:640px) {.amvm .hero .h1x{font-size:26px}
.amvm .verdict{padding:20px}
.amvm .v-title{font-size:22px}
.amvm .btn.primary{margin-left:0;width:100%;justify-content:center}

  }

