:root{
  --bg:#07111f;--surface:#101c2d;--surface2:#16253a;--line:rgba(255,255,255,.1);
  --text:#f5f7fb;--muted:#a8b6ca;--accent:#6aa9ff;--good:#37d27f;--warn:#f4b740;
  --bad:#ff6678;--info:#8d9db5;--shadow:0 20px 50px rgba(0,0,0,.26)
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg)}
body{
  margin:0;
  min-height:100vh;
  color:var(--text);
  font:15px/1.55 Inter,system-ui,-apple-system,Segoe UI,sans-serif;
  background:
    radial-gradient(circle at top center,rgba(63,130,230,.28) 0,rgba(35,84,155,.16) 28%,rgba(7,17,31,0) 72%),
    linear-gradient(180deg,#0b1830 0%,#07111f 42%,#07111f 100%);
  background-attachment:fixed;
}
button,input{font:inherit}.shell{width:min(1180px,calc(100% - 32px));min-height:calc(100vh - 82px);margin:auto;padding:24px 0 70px}.brand{display:flex;gap:10px;align-items:center;font-weight:850}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#9ac9ff,#599cff);color:#06101d}.hero-intro{max-width:900px;margin:0 auto 32px;text-align:center}.hero-intro .kicker{margin-bottom:10px}.hero-intro .lead{margin-left:auto;margin-right:auto}.hero-grid{display:block;max-width:900px;margin:0 auto}.kicker{margin:0 0 8px;color:var(--accent);font-size:.76rem;font-weight:850;letter-spacing:.13em}.hero h1{max-width:800px;margin:0 0 16px;font-size:clamp(1.9rem,3.2vw,3rem);font-weight:800;line-height:1.15;letter-spacing:-.03em}.lead{max-width:760px;margin-top:0;color:var(--muted);font-size:1.08rem;line-height:1.7}.hero-card,.panel{border:1px solid var(--line);border-radius:20px;background:rgba(16,28,45,.92);box-shadow:var(--shadow)}.hero-card{padding:24px}label{display:block;margin-bottom:9px;font-weight:800}.search-row{display:flex;gap:10px}input{min-width:0;flex:1;padding:15px;border:1px solid var(--line);border-radius:12px;color:var(--text);background:var(--surface2);outline:0}input:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(106,169,255,.14)}button{padding:13px 18px;border:0;border-radius:12px;background:var(--accent);color:#07111f;font-weight:850;cursor:pointer}.secondary{color:var(--text);background:var(--surface2);border:1px solid var(--line)}.hint,.muted{color:var(--muted)}.hint{margin:12px 0 0;font-size:.84rem}.hidden{display:none!important}.panel{padding:22px;margin-top:18px}.progress-head,.toolbar,.status-line,.section-head{display:flex;justify-content:space-between;gap:18px;align-items:center}.progress-head div{display:grid}.progress-head span{color:var(--muted)}.progress-track{height:9px;margin-top:16px;overflow:hidden;border-radius:999px;background:var(--surface2)}.progress-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,#65a7ff,#60dfb0);transition:width .35s}.error{border-left:5px solid var(--bad)}.toolbar{margin-top:32px}.toolbar-actions{display:flex;gap:10px}.summary-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}.score-card{display:flex;gap:22px;align-items:center}.score-ring{--score:0;display:grid;width:124px;height:124px;flex:0 0 124px;place-items:center;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--score)*1%),rgba(255,255,255,.08) 0)}.score-ring:before{content:"";grid-area:1/1;width:94px;height:94px;border-radius:50%;background:var(--surface)}.score-ring div{z-index:1;grid-area:1/1}.score-ring strong{font-size:2.3rem}.score-ring span{color:var(--muted)}h2{margin:0 0 12px;font-size:1.25rem}.pill,.tag,.state{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:.75rem;font-weight:850}.good{background:rgba(55,210,127,.16);color:#72eda8}.warning{background:rgba(244,183,64,.16);color:#ffd16c}.danger{background:rgba(255,102,120,.16);color:#ff91a0}.unknown{background:rgba(141,157,181,.16);color:#c4cede}.compact-dl{margin:0}.compact-dl div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.tabs{display:flex;gap:7px;margin:28px 0 0;padding-bottom:10px;overflow-x:auto}.tabs button{white-space:nowrap;color:var(--muted);background:transparent;border:1px solid var(--line)}.tabs button.active{color:#07111f;background:var(--accent)}.tab-page{display:none}.tab-page.active{display:block}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.category-card{padding:18px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}.category-card strong{display:block;font-size:1.8rem}.category-card span{color:var(--muted)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tag-grid{display:flex;flex-wrap:wrap;gap:9px}.tag{background:var(--surface2);border:1px solid var(--line)}.check-list{display:grid;gap:10px}.check-row{display:grid;grid-template-columns:24px 1fr auto;gap:11px;align-items:start;padding:11px 0;border-bottom:1px solid var(--line)}.check-icon{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:.75rem;font-weight:900}.check-icon.good{background:var(--good);color:#06160d}.check-icon.warning{background:var(--warn);color:#241800}.check-icon.danger{background:var(--bad);color:#24070b}.check-icon.unknown{background:var(--info);color:#0d1420}.finding-list{display:grid;gap:12px}.finding{padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--surface2)}.finding h3{margin:0 0 5px;font-size:1rem}.finding p{margin:0;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.metric{padding:18px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}.metric strong{display:block;font-size:1.65rem}.metric span{color:var(--muted)}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:top}.data-table th{color:var(--muted);font-weight:600}.report-footer{padding:24px 0;color:var(--muted);text-align:center}
@media(max-width:900px){.summary-grid,.two-col{grid-template-columns:1fr}.category-grid,.metric-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.shell{width:min(100% - 20px,1180px);padding-top:22px}.hero-intro{margin-bottom:24px}.hero-grid{margin-top:0}.search-row,.toolbar,.toolbar-actions{flex-direction:column}.search-row button,.toolbar button{width:100%}.score-card{align-items:flex-start;flex-direction:column}.category-grid,.metric-grid{grid-template-columns:1fr}.compact-dl div{grid-template-columns:1fr}.check-row{grid-template-columns:24px 1fr}.check-row .state{grid-column:2}}
@media print{body{background:#fff;color:#111}.shell{width:100%;padding:0}.hero,.toolbar,.tabs,#progressPanel,.report-footer,.site-footer{display:none!important}.tab-page{display:block!important;break-before:page}.panel,.category-card,.metric,.finding{color:#111;background:#fff;box-shadow:none;border-color:#bbb}.muted,.hint,dt,.category-card span,.metric span,.finding p{color:#555}.check-row{border-color:#ddd}.pill,.state{border:1px solid #999;background:#fff!important;color:#111!important}.summary-grid{grid-template-columns:1fr 1fr}.category-grid,.metric-grid{grid-template-columns:repeat(4,1fr)}}


.wp2shell-hero{
  display:grid;
  grid-template-columns:92px 1fr;
  gap:24px;
  align-items:start;
  margin-top:22px;
  border-left:7px solid var(--info);
}
.wp2shell-hero.good{border-left-color:var(--good)}
.wp2shell-hero.warning{border-left-color:var(--warn)}
.wp2shell-hero.danger{border-left-color:var(--bad)}
.wp2shell-hero.unknown{border-left-color:var(--info)}
.wp2shell-hero-icon{
  display:grid;
  width:82px;
  height:82px;
  place-items:center;
  border-radius:24px;
  background:var(--surface2);
  font-size:2.4rem;
  font-weight:950;
}
.wp2shell-hero.good .wp2shell-hero-icon{background:rgba(55,210,127,.16);color:#72eda8}
.wp2shell-hero.warning .wp2shell-hero-icon{background:rgba(244,183,64,.16);color:#ffd16c}
.wp2shell-hero.danger .wp2shell-hero-icon{background:rgba(255,102,120,.16);color:#ff91a0}
.wp2shell-hero.unknown .wp2shell-hero-icon{background:rgba(141,157,181,.16);color:#c4cede}
.wp2shell-hero-content h2{
  margin:10px 0 8px;
  font-size:clamp(1.7rem,4vw,2.7rem);
  letter-spacing:-.03em;
}
.wp2shell-message{
  max-width:850px;
  margin:0;
  color:var(--muted);
  font-size:1.02rem;
}
.wp2shell-version-box,
.wp2shell-cves{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:18px;
}
.wp2shell-version-box>div,
.wp2shell-cves>div{
  padding:16px;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--surface2);
}
.wp2shell-version-box span,
.wp2shell-cves span{
  display:block;
  margin-bottom:5px;
  color:var(--muted);
  font-size:.82rem;
}
.wp2shell-version-box strong,
.wp2shell-cves strong{
  font-size:1rem;
}
.fix-guide{
  margin-top:18px;
  border:1px solid var(--line);
  border-radius:15px;
  background:rgba(255,255,255,.025);
}
.fix-guide summary{
  padding:15px 17px;
  cursor:pointer;
  font-weight:850;
}
.fix-guide>div{
  padding:0 17px 17px;
  color:var(--muted);
}
.fix-guide p{margin:0 0 10px}
.fix-guide ul{margin:0;padding-left:20px}
@media(max-width:720px){
  .wp2shell-hero{grid-template-columns:1fr}
  .wp2shell-hero-icon{width:64px;height:64px;border-radius:18px}
  .wp2shell-version-box,.wp2shell-cves{grid-template-columns:1fr}
}
@media print{
  .wp2shell-hero{display:grid!important;break-inside:avoid}
}


.seo-introduction{
  margin-top:30px;
  padding-top:26px;
  border-top:1px solid var(--line);
}
.seo-introduction h2{
  margin-bottom:14px;
}
.seo-introduction p{
  margin:0 0 14px;
  color:var(--muted);
}
.seo-introduction p:last-child{
  margin-bottom:0;
}
.site-footer{
  width:min(1180px,calc(100% - 32px));
  margin:0 auto;
  padding:24px 0 30px;
  border-top:1px solid var(--line);
  color:var(--muted);
  text-align:center;
  font-size:.9rem;
}
.site-footer p{
  margin:0;
}
.site-footer a{
  color:var(--accent);
  font-weight:750;
  text-decoration:none;
}
.site-footer a:hover,
.site-footer a:focus-visible{
  text-decoration:underline;
}


/* Rendu impression / PDF */
@media print{
  :root{
    --bg:#ffffff;
    --surface:#ffffff;
    --surface2:#f3f5f7;
    --line:#c9ced6;
    --text:#111827;
    --muted:#4b5563;
    --accent:#1d4ed8;
    --good:#166534;
    --warn:#92400e;
    --bad:#991b1b;
    --info:#374151;
    --shadow:none;
  }

  html,
  body{
    background:#ffffff!important;
    color:#111827!important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }

  body,
  body *{
    text-shadow:none!important;
    box-shadow:none!important;
  }

  #results,
  .tab-page,
  .summary-grid,
  .two-col,
  .category-grid,
  .metric-grid{
    background:#ffffff!important;
  }

  .panel,
  .category-card,
  .metric,
  .finding,
  .wp2shell-hero,
  .wp2shell-version-box>div,
  .wp2shell-cves>div,
  .fix-guide,
  .tag{
    background:#ffffff!important;
    color:#111827!important;
    border-color:#c9ced6!important;
  }

  h1,h2,h3,h4,
  strong,
  dd,
  .data-table td,
  .data-table th,
  .wp2shell-version-box strong,
  .wp2shell-cves strong{
    color:#111827!important;
  }

  p,
  span,
  dt,
  .muted,
  .hint,
  .category-card span,
  .metric span,
  .finding p,
  .wp2shell-message,
  .wp2shell-version-box span,
  .wp2shell-cves span,
  .fix-guide>div,
  .data-table th{
    color:#4b5563!important;
  }

  .kicker{
    color:#1d4ed8!important;
  }

  .score-ring{
    background:#ffffff!important;
    border:5px solid #1d4ed8!important;
  }

  .score-ring:before{
    background:#ffffff!important;
  }

  .score-ring strong,
  .score-ring span{
    color:#111827!important;
  }

  .pill,
  .state,
  .tag{
    background:#ffffff!important;
    color:#111827!important;
    border:1px solid #9ca3af!important;
  }

  .check-icon.good{
    background:#dcfce7!important;
    color:#166534!important;
    border:1px solid #86efac!important;
  }

  .check-icon.warning{
    background:#fef3c7!important;
    color:#92400e!important;
    border:1px solid #fcd34d!important;
  }

  .check-icon.danger{
    background:#fee2e2!important;
    color:#991b1b!important;
    border:1px solid #fca5a5!important;
  }

  .check-icon.unknown{
    background:#e5e7eb!important;
    color:#374151!important;
    border:1px solid #9ca3af!important;
  }

  .wp2shell-hero-icon{
    background:#f3f4f6!important;
    color:#111827!important;
    border:1px solid #c9ced6!important;
  }

  .wp2shell-hero.good{border-left-color:#166534!important}
  .wp2shell-hero.warning{border-left-color:#92400e!important}
  .wp2shell-hero.danger{border-left-color:#991b1b!important}
  .wp2shell-hero.unknown{border-left-color:#374151!important}

  .compact-dl div,
  .check-row,
  .data-table td,
  .data-table th{
    border-color:#d1d5db!important;
  }

  a{
    color:#1d4ed8!important;
    text-decoration:underline;
  }
}
