  .dns-form{margin-top:26px;display:flex;gap:10px;flex-wrap:wrap;max-width:680px;}
  .dns-form input{flex:1 1 280px;font:inherit;font-size:17px;padding:13px 16px;border:1px solid #C5CDD6;border-radius:4px;background:#fff;color:var(--encre);}
  .dns-form input:focus{outline:3px solid color-mix(in srgb,var(--u-cyber) 30%,transparent);border-color:var(--u-cyber);}
  .dns-privacy{margin-top:12px !important;font-size:14.5px !important;}
  #dns-results:empty{display:none;}
  #dns-results{margin-bottom:56px;}
  .dns-wait{color:var(--gris);}
  .dns-verdict{--v:var(--gris);background:#fff;border:1px solid var(--trait);border-left:6px solid var(--v);border-radius:4px;padding:24px 28px;margin-bottom:20px;}
  .dns-verdict h2{font-size:clamp(1.4rem,2.6vw,1.9rem);color:var(--v);margin-bottom:8px;}
  .dns-verdict p{color:var(--gris);max-width:70ch;margin-bottom:14px;}
  .dns-verdict p:last-child{margin-bottom:0;}
  .dns-domain{font-family:'Oswald',sans-serif;font-size:15px;color:var(--encre) !important;margin-bottom:4px !important;}
  .dns-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .dns-card{--v:var(--gris);background:#fff;border:1px solid var(--trait);border-top:4px solid var(--v);border-radius:4px;padding:20px 22px;min-width:0;}
  .dns-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;}
  .dns-head h3{font-size:18px;margin:0;}
  .dns-badge{flex-shrink:0;font-size:13px;font-weight:600;padding:3px 10px;border-radius:20px;color:var(--v);background:color-mix(in srgb,var(--v) 12%,#fff);}
  .dns-card p{color:var(--gris);font-size:15px;margin:0;}
  .dns-card a,.dns-small a,.dns-verdict a:not(.btn){color:var(--bleu);text-decoration:underline;word-break:break-all;}
  .dns-card pre{margin:12px 0 0;background:var(--brume);border-radius:4px;padding:10px 12px;font-size:12.5px;white-space:pre-wrap;word-break:break-all;color:var(--encre);}
  .dns-ok{--v:#2F7A4B;} .dns-warn{--v:#9A6A00;} .dns-bad{--v:#B42318;} .dns-info{--v:#56616C;}
  .dns-small{font-size:13.5px;color:var(--gris);margin-top:16px;}
  .dns-verdict ul{color:var(--gris);max-width:70ch;margin:0 0 14px;padding-left:20px;}
  .dns-verdict li{margin-bottom:8px;}
  .dns-details{margin-top:4px;}
  .dns-details summary{cursor:pointer;font-weight:600;color:var(--bleu);margin-bottom:16px;}
  .dns-bimi{display:block;width:64px;height:64px;margin-top:12px;border-radius:50%;border:1px solid var(--trait);background:#fff;object-fit:contain;}
  .dns-insure{margin-top:20px;}
  .dns-actions{margin-top:20px;}
  .dns-print-only{display:none;}
  @media print {
    @page { margin: 14mm 12mm; }
    html, body { background:#fff !important; }
    * { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
    header .links, header .nav-right, .page-hero, footer, .mbar,
    .page .wrap > :not(#dns-results), #dns-results .btn, .dns-actions, .dns-details summary { display:none !important; }
    header { position:static !important; box-shadow:none !important; border-bottom:2px solid var(--u-cyber); }
    .page { padding-top:16px !important; }
    #dns-results { margin-bottom:0; }
    .dns-print-only { display:block; }
    #dns-results > :not(.dns-print-only) { display:none !important; }
    .dns-print-head { margin-bottom:16px; font-size:13px; color:var(--encre); }
    .dns-print-head p { margin:0 0 4px; }
    .dns-print-head .dns-print-title { font-family:'Oswald',sans-serif; font-size:20px; margin-bottom:6px; }
    .dns-print-foot { margin-top:16px; padding-top:10px; border-top:1px solid var(--trait); font-size:11px; color:var(--gris); }
    .dns-verdict, .dns-card, .dns-insure { break-inside:avoid; page-break-inside:avoid; }
    .dns-grid { grid-template-columns:1fr 1fr !important; gap:10px; }
    .dns-card { padding:12px 14px; }
    .dns-card p { font-size:12.5px; }
    .dns-card pre { font-size:10.5px; }
    .dns-verdict { padding:16px 18px; }
    a { color:inherit !important; text-decoration:none !important; }
  }
  .dns-file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
  .dns-scan-btn{cursor:pointer;gap:8px;}
  .dns-scan-btn svg{width:20px;height:20px;}
  .dns-scan-btn[aria-disabled="true"]{opacity:.55;pointer-events:none;}
  #dns-scan:empty{display:none;}
  #dns-scan{margin-top:14px;max-width:680px;font-size:15px;color:var(--gris);}
  #dns-scan p{margin:0 0 8px;}
  .dns-bar{height:6px;background:var(--trait);border-radius:3px;overflow:hidden;margin:6px 0 4px;}
  .dns-bar i{display:block;height:100%;width:0;background:var(--u-cyber);transition:width .2s;}
  .dns-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;}
  .dns-chip{font:inherit;font-size:14.5px;padding:7px 14px;border:1px solid var(--u-cyber);border-radius:20px;background:#fff;color:var(--encre);cursor:pointer;}
  .dns-chip small{color:var(--gris);margin-left:4px;}
  .dns-chip[aria-pressed="true"]{background:var(--u-cyber);border-color:var(--u-cyber);color:#fff;}
  .dns-chip[aria-pressed="true"] small{color:#fff;}
  #dns-scan details summary{cursor:pointer;color:var(--bleu);font-size:14px;}
  #dns-scan pre{white-space:pre-wrap;word-break:break-all;background:var(--brume);padding:8px 10px;border-radius:4px;font-size:12.5px;max-height:220px;overflow:auto;}
  @media print { #dns-scan, .dns-scan-btn { display:none !important; } }
  .dns-report{background:#fff;border:1px solid var(--trait);border-left:6px solid var(--u-cyber);border-radius:4px;padding:22px 26px;margin-bottom:20px;position:relative;}
  .dns-report h3{font-size:clamp(1.15rem,2.2vw,1.4rem);margin:0 0 6px;}
  .dns-report p{color:var(--gris);margin:0 0 14px;max-width:70ch;}
  .dns-report label[for]{display:block;font-weight:600;margin-bottom:6px;color:var(--encre);}
  .dns-report-row{display:flex;gap:10px;flex-wrap:wrap;max-width:680px;}
  .dns-report-row input{flex:1 1 260px;min-width:0;font:inherit;font-size:16px;padding:12px 14px;border:1px solid #C5CDD6;border-radius:4px;background:#fff;color:var(--encre);}
  .dns-report-row input:focus{outline:3px solid color-mix(in srgb,var(--u-cyber) 30%,transparent);border-color:var(--u-cyber);}
  .dns-report .btn[disabled]{opacity:.6;cursor:wait;}
  .dns-check{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--gris);margin:14px 0 8px;max-width:70ch;cursor:pointer;}
  .dns-check input{margin-top:3px;flex-shrink:0;width:18px;height:18px;accent-color:var(--u-cyber);}
  .dns-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}
  .dns-report-msg:empty{display:none;}
  .dns-report .dns-report-msg{font-weight:600;color:var(--encre);margin:6px 0 10px;}
  .dns-report .dns-report-msg.is-ok{color:#2F7A4B;} .dns-report .dns-report-msg.is-err{color:#B42318;}
  .dns-report .dns-small{margin:4px 0 0;}
  @media (max-width: 880px){ .dns-report{padding:18px;} .dns-report-row .btn{width:100%;justify-content:center;} }
  @media (max-width: 880px){ .dns-grid{grid-template-columns:1fr;} .dns-form .btn{width:100%;justify-content:center;} }

  /* Analyse du site web */
  .detail-zone{margin-top:34px;}
  .site-wait .dns-wait{margin:0;}
  .site-h{font-size:clamp(1.3rem,2.4vw,1.7rem);margin:0 0 14px;}
  .site-verdict{display:flex;gap:24px;align-items:flex-start;}
  .site-grade{flex-shrink:0;width:96px;height:96px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;
    font-family:'Oswald',sans-serif;font-size:36px;font-weight:600;line-height:1;color:#fff;background:var(--v);}
  .site-grade small{font-family:'Work Sans',sans-serif;font-size:12px;font-weight:500;margin-top:6px;opacity:.9;}
  .site-text{min-width:0;}
  .site-text .btn{margin-top:4px;}
  .site-zone .dns-grid{margin-bottom:16px;}
  .site-details{margin-top:8px;}
  @media (max-width: 560px){ .site-verdict{flex-direction:column;gap:14px;} .site-grade{width:80px;height:80px;font-size:30px;} }
  @media print{ .site-details > summary{display:none !important;} .site-zone{break-before:page;} .site-text .btn{display:none !important;} }
  .site-verdict .site-text .dns-domain{margin-bottom:4px !important;}

  /* Renvoi vers SHS (Cyber Alsace) pour l'historique */
  .shs-suivi{background:var(--brume);border:1px solid var(--trait);border-left:4px solid var(--bleu);border-radius:4px;padding:18px 22px;margin:18px 0 8px;max-width:860px;}
  .shs-suivi h3{font-size:18px;margin:0 0 6px;}
  .shs-suivi p{color:var(--gris);font-size:15px;margin:0 0 12px;max-width:70ch;}
  .shs-suivi a:not(.btn){color:var(--bleu);text-decoration:underline;}
  @media print{ .shs-suivi{display:none !important;} }

  /* Nom de domaine : encart compact sous les deux verdicts */
  .dom-verdict{padding:20px 28px;}
  .dom-verdict h2{font-size:clamp(1.15rem,2vw,1.4rem);}
  .dom-list{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
  .dom-list li{--v:var(--gris);background:#fff;border:1px solid var(--trait);border-top:3px solid var(--v);border-radius:4px;padding:12px 14px;min-width:0;}
  .dom-list .dom-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px;}
  .dom-list b{font-size:14.5px;color:var(--encre);}
  .dom-list p{font-size:13.5px;color:var(--gris);margin:0 !important;}
  .dom-list .dns-badge{font-size:12px;padding:2px 8px;white-space:nowrap;}
  @media (max-width: 880px){ .dom-list{grid-template-columns:1fr;} }
  .dns-verdict .dom-list{padding:0;margin:8px 0 0;max-width:none;color:inherit;}
  .dom-list li.dns-ok{--v:#2F7A4B;} .dom-list li.dns-warn{--v:#9A6A00;} .dom-list li.dns-bad{--v:#B42318;} .dom-list li.dns-info{--v:#56616C;}
  .dns-verdict .dom-list li{margin-bottom:0;}
  .site-final{margin:14px 0 0 !important;padding-top:12px;border-top:1px solid var(--trait);font-size:15px;}
