/* PQC Readiness Scorecard (v1.3.1) */
.pqc-scorecard{
  --bg:#ffffff; --fg:#111827; --muted:#6b7280; --border:#e5e7eb; --panel:#f9fafb;
  --accent:#2563eb; --accent-weak:#e8eefc;
  --badge-l1:#ef4444; --badge-l2:#f59e0b; --badge-l3:#10b981; --badge-l4:#3b82f6; --badge-l5:#8b5cf6;
  position:relative; border:1px solid var(--border); border-radius:10px; padding:16px; background:var(--bg); color:var(--fg);
}
.pqc-scorecard.pqcsc-dark{ --bg:#0b0f14; --fg:#e5e7eb; --muted:#9aa4b2; --border:#1f2937; --panel:#111827; --accent:#38bdf8; --accent-weak:#0b2530; }
.pqcsc-header{ position:relative; padding-right:48px; }
.pqcsc-header h2{ margin:0 0 6px; font-size:1.4rem; }
.pqcsc-intro{ margin:0 0 4px; color:var(--muted); }
.pqcsc-legend{ margin:0 0 8px; color:var(--muted); font-size:0.95em; }
.crqc-theme-toggle{ position:absolute; top:8px; right:8px; border:1px solid var(--border); background:var(--panel); color:var(--fg); border-radius:999px; padding:6px 10px; cursor:pointer; line-height:1; }
.crqc-theme-toggle:hover{ filter:brightness(1.05); }
.pqcsc-controls{ display:flex; gap:8px; justify-content:space-between; align-items:center; margin:8px 0 12px; }
.pqcsc-controls-bottom{ margin-top:8px; }
.pqcsc-right{ display:flex; gap:8px; }
.button{ border:1px solid var(--border); background:var(--panel); color:var(--fg); border-radius:6px; padding:6px 10px; cursor:pointer; }
.button:disabled{ opacity:.5; cursor:not-allowed; }
.button.button-primary{ background:var(--accent); border-color:var(--accent); color:#fff; }
.pqcsc-form details{ border:1px solid var(--border); border-radius:8px; margin:.5rem 0; overflow:hidden; background:var(--bg); }
.pqcsc-form summary{ cursor:pointer; list-style:none; padding:.65rem .8rem; background:var(--panel); font-weight:600; color:var(--fg); }
.pqcsc-form .group-desc{ margin:-.25rem .8rem .8rem; color:var(--muted); }
.pqcsc-questions{ padding:.5rem .8rem 1rem; display:grid; gap:.5rem; }
.pqcsc-q{ padding:.6rem .6rem; border:1px dashed transparent; border-radius:8px; }
.pqcsc-q:hover{ border-color:var(--border); background:var(--panel); }
.pqcsc-q .qtext{ font-weight:500; margin-bottom:.25rem; }
.pqcsc-q .help{ color:var(--muted); font-size:.9em; }
.pqcsc-q .answers{ display:flex; gap:.75rem; align-items:center; margin-top:.35rem; flex-wrap:wrap; }
.pqcsc-q .answers label{ display:inline-flex; align-items:center; gap:.35rem; }
.pqcsc-q input[type="radio"]{ transform: translateY(1px); }

.pqcsc-results{ margin-top:1rem; border-top:1px solid var(--border); padding-top:1rem; }
.pqcsc-results .scorewrap{ display:flex; flex-wrap:wrap; gap:1rem; align-items:center; margin:.5rem 0 1rem; }
.pqcsc-badge{ display:inline-block; padding:.35rem .6rem; border-radius:999px; font-weight:700; color:#fff; }
.pqcsc-badge.l1{ background:var(--badge-l1); } .pqcsc-badge.l2{ background:var(--badge-l2); } .pqcsc-badge.l3{ background:var(--badge-l3); } .pqcsc-badge.l4{ background:var(--badge-l4); } .pqcsc-badge.l5{ background:var(--badge-l5); }

.pqcsc-chart{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:.75rem; margin:.5rem 0 1rem; }
.pqcsc-chart .bar{ background:var(--accent-weak); border-radius:6px; overflow:hidden; padding:8px; }
.pqcsc-chart .bar > .fill{ height:10px; background:var(--accent); border-radius:4px; }
.pqcsc-chart .bar .t{ display:block; margin-top:6px; font-size:.95em; color:var(--fg); }

.pqcsc-recs{ margin-top:.75rem; }
.pqcsc-recs h3{ margin:.5rem 0 .25rem; display:flex; align-items:center; gap:12px; }
.pqcsc-recs .rec{ border:1px solid var(--border); border-radius:8px; padding:.6rem .7rem; margin:.4rem 0; background:var(--bg); }
.pqcsc-recs .rec .title{ font-weight:600; }
.pqcsc-recs-hide-muted .rec-muted{ display:none !important; }

.pqcsc-refs{ margin-top:.5rem; }
.pqcsc-refs ul{ margin:.25rem 0 .5rem; padding-left:1.25rem; }

.pqcsc-mapping{ margin-top:1rem; }
.pqcsc-mapping h3{ margin:.5rem 0 .25rem; }
.pqcsc-mapping table{ width:100%; border-collapse: collapse; }
.pqcsc-mapping th, .pqcsc-mapping td{ border:1px solid var(--border); padding:6px 8px; text-align:left; }
.pqcsc-badge.ok{ background:#16a34a; } .pqcsc-badge.partial{ background:#f59e0b; } .pqcsc-badge.gap{ background:#ef4444; }

.pqcsc-footer{ margin-top:.75rem; color:var(--muted); }

@media print{
  .pqcsc-controls, .crqc-theme-toggle, #wpadminbar { display:none !important; }
  .pqc-scorecard { border:none; }
}
