/* ═══════════════════════════════════════════════
   WEBSEC AUDIT PLATFORM — STYLESHEET
   Theme: Cyberpunk / Tactical Dark
═══════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=Orbitron:wght@400;700;900&family=Rajdhani:wght@300;400;500;600;700&display=swap');

:root {
  --bg:       #04060f;
  --panel:    #080c18;
  --panel2:   #0b1020;
  --border:   #172035;
  --border2:  #1e2d4a;
  --accent:   #00e5ff;
  --accent2:  #ff1f5a;
  --accent3:  #b44fff;
  --green:    #00ff88;
  --orange:   #ff7b29;
  --yellow:   #ffc107;
  --text:     #c0d0e8;
  --dim:      #3a5070;
  --mono: 'Share Tech Mono', monospace;
  --head: 'Orbitron', sans-serif;
  --body: 'Rajdhani', sans-serif;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

html { scroll-behavior:smooth; }

body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--body);
  font-size: 15px;
  min-height: 100vh;
  overflow-x: hidden;
}

/* Grid background */
body::before {
  content:'';
  position:fixed; inset:0;
  background-image:
    linear-gradient(rgba(0,229,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,229,255,.025) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events:none; z-index:0;
}

/* Scanlines */
body::after {
  content:'';
  position:fixed; inset:0;
  background: repeating-linear-gradient(0deg,
    transparent, transparent 3px,
    rgba(0,0,0,.06) 3px, rgba(0,0,0,.06) 4px);
  pointer-events:none; z-index:0;
}

/* ── SCAN OVERLAY ── */
.hidden { display:none !important; }

#scan-overlay {
  position:fixed; inset:0;
  background: rgba(4,6,15,.92);
  backdrop-filter: blur(6px);
  z-index:1000;
  display:flex; align-items:center; justify-content:center;
}

#pay-overlay {
  position:fixed; inset:0;
  background: rgba(4,6,15,.92);
  backdrop-filter: blur(6px);
  z-index:1001;
  display:flex; align-items:center; justify-content:center;
}

.pay-modal {
  background: var(--panel);
  border: 1px solid var(--accent2);
  box-shadow: 0 0 60px rgba(255,31,90,.18), inset 0 0 60px rgba(0,0,0,.5);
  width: min(680px, 95vw);
  padding: 1.7rem;
  border-radius: 6px;
  animation: modal-in .3s ease;
}
.pay-hdr { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.pay-title { font-family:var(--head); font-size:.85rem; letter-spacing:4px; color:var(--accent2); text-shadow:0 0 18px rgba(255,31,90,.35); }
.pay-close { background:transparent; border:1px solid var(--border2); color:var(--text); font-family:var(--mono); font-size:.7rem; padding:.25rem .55rem; border-radius:3px; cursor:pointer; }
.pay-close:hover { border-color:var(--accent2); color:var(--accent2); }
.pay-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:1rem; }
.pay-box { background:rgba(0,0,0,.25); border:1px solid var(--border); border-radius:4px; padding:.9rem; }
.pay-label { font-family:var(--mono); font-size:.65rem; color:var(--dim); letter-spacing:1px; margin-bottom:.3rem; }
.pay-input { width:100%; background:rgba(255,31,90,.04); border:1px solid var(--border2); border-radius:3px; outline:none; color:var(--text); font-family:var(--mono); font-size:.85rem; padding:.45rem .8rem; }
.pay-input:focus { border-color:var(--accent2); box-shadow:0 0 10px rgba(255,31,90,.12); }
.pay-price { font-family:var(--head); font-weight:900; font-size:1.3rem; color:var(--accent); letter-spacing:2px; margin:.2rem 0 .5rem; }
.btn-pay { background:linear-gradient(135deg,#00e5ff,#b44fff); color:#fff; border:none; padding:.55rem 1.2rem; font-family:var(--head); font-size:.65rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; cursor:pointer; border-radius:3px; transition:all .2s; width:100%; }
.btn-pay:hover { filter:brightness(1.12); }
.btn-pay:disabled { opacity:.5; cursor:not-allowed; }
.pay-qr { display:flex; flex-direction:column; gap:.55rem; align-items:center; justify-content:center; }
.pay-qr img { width:210px; height:210px; object-fit:contain; border:1px solid var(--border2); border-radius:4px; background:#000; }
.pay-copy { width:100%; display:flex; gap:.45rem; }
.pay-copy input { flex:1; background:rgba(0,0,0,.35); border:1px solid var(--border2); border-radius:3px; color:var(--text); font-family:var(--mono); font-size:.72rem; padding:.4rem .6rem; }
.pay-copy button { background:transparent; border:1px solid var(--border2); color:var(--text); font-family:var(--mono); font-size:.7rem; padding:.4rem .7rem; border-radius:3px; cursor:pointer; }
.pay-copy button:hover { border-color:var(--accent); color:var(--accent); }
.pay-status { font-family:var(--mono); font-size:.7rem; color:var(--dim); text-align:center; min-height:1.1rem; }
.pay-err { font-family:var(--mono); font-size:.72rem; color:var(--accent2); margin-top:.5rem; min-height:1.1rem; }
.pay-note { font-size:.82rem; line-height:1.5; color:var(--text); }
.pay-note strong { color:var(--accent); }

.scan-modal {
  background: var(--panel);
  border: 1px solid var(--accent);
  box-shadow: 0 0 60px rgba(0,229,255,.2), inset 0 0 60px rgba(0,0,0,.5);
  width: min(700px, 95vw);
  padding: 2rem;
  border-radius: 6px;
  animation: modal-in .3s ease;
}
@keyframes modal-in { from { transform:scale(.9); opacity:0; } to { transform:scale(1); opacity:1; } }

.scan-modal-header {
  text-align:center; margin-bottom:1.5rem;
}
.scan-icon { font-size: 2.5rem; animation: spin 1s linear infinite; display:inline-block; }
@keyframes spin { to { transform:rotate(360deg); } }

.scan-modal-header h2 {
  font-family:var(--head);
  font-size:1.2rem;
  letter-spacing:5px;
  color:var(--accent);
  text-shadow: 0 0 20px var(--accent);
  margin: .5rem 0 .3rem;
}

.scan-target-url {
  font-family:var(--mono);
  font-size:.75rem;
  color:var(--dim);
}

.progress-track {
  height:8px;
  background:var(--border);
  border-radius:4px;
  overflow:hidden;
  margin:.5rem 0;
}
.progress-fill {
  height:100%;
  width:0%;
  background: linear-gradient(90deg, var(--accent), var(--accent3), var(--accent2));
  transition: width .4s ease;
  box-shadow: 0 0 12px var(--accent);
  border-radius:4px;
}
.progress-pct {
  font-family:var(--mono);
  font-size:.8rem;
  color:var(--accent);
  text-align:right;
  margin-bottom:.75rem;
}

.scan-steps {
  display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:1rem;
}
.step-pill {
  font-family:var(--mono);
  font-size:.62rem;
  padding:2px 10px;
  border:1px solid var(--border2);
  color:var(--dim);
  border-radius:20px;
  transition:all .3s;
}
.step-pill.active { border-color:var(--accent); color:var(--accent); animation:blink .6s infinite; }
.step-pill.done   { border-color:var(--green);  color:var(--green); }
@keyframes blink { 50%{opacity:.3} }

.scan-log {
  font-family:var(--mono);
  font-size:.7rem;
  color:var(--dim);
  height:90px;
  overflow-y:auto;
  background: rgba(0,0,0,.3);
  border:1px solid var(--border);
  padding:.5rem;
  border-radius:3px;
}
.scan-log div { color: var(--accent); margin:.1rem 0; }
.scan-log div.ok { color: var(--green); }
.scan-log div.warn { color: var(--orange); }
.scan-log div.err  { color: var(--accent2); }

/* ── HEADER ── */
header {
  position:relative; z-index:10;
  background: linear-gradient(90deg, #050810 0%, #0a1225 50%, #050810 100%);
  border-bottom: 1px solid var(--border);
  padding: 0 2rem;
  height:56px;
  display:flex; align-items:center; justify-content:space-between;
}
header::after {
  content:'';
  position:absolute; bottom:0; left:0; right:0; height:1px;
  background: linear-gradient(90deg,transparent,var(--accent),var(--accent2),var(--accent3),transparent);
}

.logo { display:flex; align-items:center; gap:.7rem; }
.logo-hex { font-size:1.4rem; filter: drop-shadow(0 0 8px var(--accent)); }
.logo-web { font-family:var(--head); font-weight:900; font-size:1.05rem; color:var(--accent); text-shadow:0 0 15px var(--accent); letter-spacing:2px; }
.logo-sec { font-family:var(--head); font-weight:900; font-size:1.05rem; color:var(--accent2); text-shadow:0 0 15px var(--accent2); letter-spacing:2px; }
.logo-sub { font-family:var(--body); font-size:.65rem; color:var(--dim); letter-spacing:3px; text-transform:uppercase; margin-left:.3rem; }

.header-right { display:flex; align-items:center; gap:1.5rem; }
.ver-badge { font-family:var(--mono); font-size:.65rem; color:var(--accent); border:1px solid var(--accent); padding:2px 8px; letter-spacing:2px; }
.hdr-stat { display:flex; align-items:center; gap:.4rem; font-family:var(--mono); font-size:.7rem; color:var(--dim); }
.dot { width:7px; height:7px; border-radius:50%; }
.dot-green { background:var(--green); box-shadow:0 0 8px var(--green); animation:pulse-dot 2s infinite; }
@keyframes pulse-dot { 50%{opacity:.4} }
.mono { font-family:var(--mono); }

/* ── MAIN ── */
main {
  position:relative; z-index:1;
  max-width:1700px; margin:0 auto;
  padding:1.2rem 1.5rem;
  display:flex; flex-direction:column; gap:1.1rem;
}

/* ── URL BAR ── */
.url-bar {
  background:var(--panel);
  border:1px solid var(--border2);
  border-radius:4px;
  padding:1rem 1.5rem;
  display:flex; align-items:center; gap:1rem;
  flex-wrap:wrap;
}
.url-bar label { font-family:var(--mono); color:var(--accent); font-size:.78rem; white-space:nowrap; }
.url-bar input[type=url] {
  flex:1; min-width:280px;
  background:rgba(0,229,255,.04);
  border:1px solid var(--border2);
  border-radius:3px;
  outline:none;
  color:var(--text);
  font-family:var(--mono);
  font-size:.85rem;
  padding:.45rem .8rem;
  transition:border-color .2s;
}
.url-bar input[type=url]:focus { border-color:var(--accent); box-shadow:0 0 10px rgba(0,229,255,.15); }
.url-bar input[type=url]::placeholder { color:var(--dim); }

.url-options {
  display:flex; align-items:center; gap:1rem; flex-wrap:wrap;
}
.url-options label {
  font-size:.75rem; color:var(--dim); cursor:pointer;
  display:flex; align-items:center; gap:.3rem;
}
.url-options input[type=checkbox] { accent-color:var(--accent); }

.btn-scan {
  background: linear-gradient(135deg, #ff1f5a, #a0003a);
  color:#fff; border:none;
  padding:.55rem 1.8rem;
  font-family:var(--head); font-size:.75rem; font-weight:700;
  letter-spacing:2px; text-transform:uppercase;
  cursor:pointer;
  clip-path: polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);
  transition:all .2s;
  white-space:nowrap;
}
.btn-scan:hover { filter:brightness(1.25); transform:scale(1.03); }
.btn-scan:disabled { opacity:.45; cursor:not-allowed; transform:none; }

/* ── SCORE CARDS ── */
.score-row {
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:.8rem;
}
.score-card {
  background:var(--panel);
  border:1px solid var(--border2);
  border-radius:4px;
  padding:1rem .8rem;
  text-align:center;
  position:relative;
  overflow:hidden;
  cursor:default;
  transition:transform .2s;
}
.score-card:hover { transform:translateY(-2px); }
.score-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
}
.score-card.c-critical::before { background:var(--accent2); box-shadow:0 0 10px var(--accent2); }
.score-card.c-high::before     { background:var(--orange);  box-shadow:0 0 10px var(--orange); }
.score-card.c-medium::before   { background:var(--yellow);  box-shadow:0 0 10px var(--yellow); }
.score-card.c-low::before      { background:var(--green);   box-shadow:0 0 10px var(--green); }
.score-card.c-info::before     { background:var(--accent);  box-shadow:0 0 10px var(--accent); }
.score-card.c-score::before    { background:var(--accent3); box-shadow:0 0 10px var(--accent3); }

.score-num {
  font-family:var(--head);
  font-size:2.4rem; font-weight:900; line-height:1;
}
.score-card.c-critical .score-num { color:var(--accent2); text-shadow:0 0 20px var(--accent2); }
.score-card.c-high     .score-num { color:var(--orange);  text-shadow:0 0 20px var(--orange); }
.score-card.c-medium   .score-num { color:var(--yellow);  text-shadow:0 0 20px var(--yellow); }
.score-card.c-low      .score-num { color:var(--green);   text-shadow:0 0 20px var(--green); }
.score-card.c-info     .score-num { color:var(--accent);  text-shadow:0 0 20px var(--accent); }
.score-card.c-score    .score-num { color:var(--accent3); text-shadow:0 0 20px var(--accent3); }

.score-lbl {
  font-size:.65rem; letter-spacing:2px;
  text-transform:uppercase; color:var(--dim); margin-top:4px;
  font-family:var(--mono);
}
.score-sub { font-size:.7rem; color:var(--dim); margin-top:3px; }

/* ── PANELS ── */
.panel {
  background:var(--panel);
  border:1px solid var(--border2);
  border-radius:4px;
  overflow:hidden;
}
.panel-hdr {
  padding:.65rem 1rem;
  border-bottom:1px solid var(--border);
  background:linear-gradient(90deg,rgba(0,229,255,.06),transparent);
  display:flex; align-items:center; justify-content:space-between;
  gap:.5rem; flex-wrap:wrap;
}
.panel-title {
  font-family:var(--head);
  font-size:.62rem; font-weight:700;
  letter-spacing:3px; text-transform:uppercase;
  color:var(--accent);
}
.panel-meta { font-family:var(--mono); font-size:.65rem; color:var(--dim); }

.panel-body { padding:1rem; }

/* ── CHART GRIDS ── */
.charts-row-3 {
  display:grid;
  grid-template-columns:2fr 1.3fr 1fr;
  gap:1.1rem;
}
.charts-row-2 {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.1rem;
}

/* ── CVE TABLE ── */
.cve-table-wrap { overflow-x:auto; max-height:260px; overflow-y:auto; }
.cve-table {
  width:100%; border-collapse:collapse;
  font-family:var(--mono); font-size:.7rem;
}
.cve-table th {
  padding:.4rem .6rem;
  background:var(--border);
  color:var(--accent);
  letter-spacing:1px;
  font-size:.6rem;
  text-align:left;
  position:sticky; top:0;
}
.cve-table td { padding:.4rem .6rem; border-bottom:1px solid var(--border); }
.cve-table tr:hover td { background:rgba(0,229,255,.04); }

.badge {
  display:inline-block;
  padding:1px 8px;
  border-radius:2px;
  font-size:.62rem;
  letter-spacing:1px;
  font-weight:700;
}
.badge-critical { background:rgba(255,31,90,.2); color:var(--accent2); border:1px solid var(--accent2); }
.badge-high     { background:rgba(255,123,41,.2); color:var(--orange); border:1px solid var(--orange); }
.badge-medium   { background:rgba(255,193,7,.2);  color:var(--yellow); border:1px solid var(--yellow); }
.badge-low      { background:rgba(0,255,136,.2);  color:var(--green);  border:1px solid var(--green); }
.badge-info     { background:rgba(0,229,255,.15); color:var(--accent); border:1px solid var(--accent); }

/* ── RECOMMENDATIONS ── */
.rec-list { display:flex; flex-direction:column; gap:.55rem; }
.rec-item {
  display:flex; gap:.8rem; align-items:flex-start;
  background:rgba(0,0,0,.25);
  border:1px solid var(--border);
  border-radius:3px;
  padding:.6rem .8rem;
  transition:border-color .2s;
}
.rec-item:hover { border-color:var(--border2); }
.rec-icon { font-size:1.1rem; flex-shrink:0; }
.rec-text { font-size:.82rem; line-height:1.5; color:var(--text); }
.rec-text strong { color:var(--accent); font-size:.75rem; letter-spacing:1px; }
.rec-priority {
  font-family:var(--mono); font-size:.58rem;
  padding:1px 6px; border-radius:2px;
  flex-shrink:0;
}

/* ── AI ANALYZER ── */
.panel-ai { border-color: var(--accent3); }
.panel-ai .panel-hdr { background:linear-gradient(90deg,rgba(180,79,255,.08),transparent); }
.panel-ai .panel-title { color:var(--accent3); }

.btn-ai {
  background:linear-gradient(135deg,#6a1aff,#a44fff);
  color:#fff; border:none;
  padding:.35rem 1rem;
  font-family:var(--head); font-size:.6rem; font-weight:700;
  letter-spacing:2px; cursor:pointer;
  border-radius:3px;
  transition:all .2s;
}
.btn-ai:hover { filter:brightness(1.2); }
.btn-ai:disabled { opacity:.4; cursor:not-allowed; }

.ai-prompt-box { margin-bottom:.8rem; }
.ai-prompt-box label { display:block; font-family:var(--mono); font-size:.65rem; color:var(--dim); margin-bottom:.3rem; }
.ai-prompt-box textarea {
  width:100%; background:rgba(0,0,0,.4);
  border:1px solid var(--border2);
  border-radius:3px;
  color:var(--text);
  font-family:var(--mono); font-size:.72rem;
  padding:.5rem;
  resize:vertical; outline:none;
  line-height:1.5;
}
.ai-prompt-box textarea:focus { border-color:var(--accent3); }

.ai-result-box {
  min-height:200px; max-height:380px;
  overflow-y:auto;
  background:rgba(0,0,0,.3);
  border:1px solid var(--border);
  border-radius:3px;
  padding:.8rem;
  font-size:.82rem;
  line-height:1.7;
}
.ai-placeholder { color:var(--dim); font-style:italic; font-size:.8rem; }
.ai-result-box h3 { color:var(--accent3); font-size:.82rem; letter-spacing:2px; margin:1rem 0 .4rem; font-family:var(--head); }
.ai-result-box h4 { color:var(--accent); font-size:.75rem; margin:.7rem 0 .3rem; }
.ai-result-box p  { color:var(--text); margin:.3rem 0; }
.ai-result-box ul { padding-left:1.2rem; color:var(--text); }
.ai-result-box li { margin:.2rem 0; }
.ai-result-box code {
  background:rgba(0,229,255,.1); color:var(--accent);
  padding:1px 6px; border-radius:2px;
  font-family:var(--mono); font-size:.75rem;
}
.ai-result-box pre {
  background:rgba(0,0,0,.5); border:1px solid var(--border);
  border-radius:3px; padding:.7rem;
  overflow-x:auto; margin:.5rem 0;
  font-family:var(--mono); font-size:.7rem; color:#8be;
  line-height:1.6;
}
.ai-thinking { color:var(--accent3); font-family:var(--mono); font-size:.75rem; animation:blink .7s infinite; }
.ai-links { display:flex; gap:.6rem; flex-wrap:wrap; margin:.6rem 0 .4rem; }
.btn-ai-link { padding:.45rem 1rem; font-size:.62rem; }
.ai-help-text { font-family:var(--mono); font-size:.72rem; color:var(--dim); line-height:1.5; }
.siteblinder-box { background:rgba(0,0,0,.25); border:1px solid var(--border); border-radius:3px; padding:.9rem; margin-top:1rem; }
.siteblinder-box h3 { font-family:var(--head); font-size:.75rem; letter-spacing:3px; color:var(--accent3); margin-bottom:.5rem; }
.siteblinder-box p { color:var(--text); font-size:.85rem; line-height:1.6; margin:.35rem 0; }
.siteblinder-box strong { color:var(--accent); }
.siteblinder-cta { display:flex; gap:.6rem; flex-wrap:wrap; margin-top:.7rem; }
.btn-siteblinder { background:linear-gradient(135deg,#ff1f5a,#ff7b29); color:#fff; border:none; padding:.5rem 1rem; font-family:var(--head); font-size:.65rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; cursor:pointer; border-radius:3px; transition:all .2s; }
.btn-siteblinder:hover { filter:brightness(1.15); }

/* ── HTTP HEADERS ── */
.headers-grid { display:flex; flex-direction:column; gap:.4rem; max-height:260px; overflow-y:auto; }
.header-row {
  display:flex; align-items:center; gap:.6rem;
  padding:.4rem .6rem;
  background:rgba(0,0,0,.25);
  border-radius:3px;
  border:1px solid var(--border);
  font-family:var(--mono); font-size:.7rem;
  flex-wrap:wrap;
}
.header-name { color:var(--accent); min-width:180px; }
.header-val  { color:var(--text); flex:1; word-break:break-all; }
.header-status { font-size:.62rem; padding:1px 8px; border-radius:2px; white-space:nowrap; }
.hs-present { background:rgba(0,255,136,.15); color:var(--green); border:1px solid var(--green); }
.hs-protected{ background:rgba(0,255,136,.15); color:var(--green); border:1px solid var(--green); }
.hs-missing { background:rgba(255,31,90,.15);  color:var(--accent2); border:1px solid var(--accent2); }
.hs-warn    { background:rgba(255,193,7,.15);  color:var(--yellow); border:1px solid var(--yellow); }

/* ── SSL PANEL ── */
.ssl-grid { display:flex; flex-direction:column; gap:.4rem; }
.ssl-row {
  display:flex; align-items:center; justify-content:space-between;
  padding:.45rem .7rem;
  background:rgba(0,0,0,.25);
  border:1px solid var(--border);
  border-radius:3px;
  font-family:var(--mono); font-size:.72rem;
}
.ssl-key { color:var(--dim); }
.ssl-val { color:var(--text); font-weight:600; }
.ssl-val.ok  { color:var(--green); }
.ssl-val.warn{ color:var(--yellow); }
.ssl-val.err { color:var(--accent2); }

/* ── EXPORT ── */
.export-row {
  display:flex; align-items:center; gap:.8rem; flex-wrap:wrap;
  padding:.8rem 0;
}
.btn-export {
  background:transparent;
  border:1px solid var(--border2);
  color:var(--text);
  padding:.4rem 1rem;
  font-family:var(--body); font-size:.8rem;
  cursor:pointer; border-radius:3px;
  transition:all .2s;
}
.btn-export:hover { border-color:var(--accent); color:var(--accent); box-shadow:0 0 10px rgba(0,229,255,.15); }
.export-info { color:var(--dim); font-size:.7rem; }

/* ── SCROLLBAR ── */
::-webkit-scrollbar { width:5px; height:5px; }
::-webkit-scrollbar-track { background:var(--border); }
::-webkit-scrollbar-thumb { background:var(--border2); border-radius:3px; }
::-webkit-scrollbar-thumb:hover { background:var(--accent); }

/* ── RESPONSIVE ── */
@media (max-width:1200px) {
  .charts-row-3 { grid-template-columns:1fr 1fr; }
  .charts-row-3 .panel:first-child { grid-column:1/-1; }
}
@media (max-width:860px) {
  .score-row { grid-template-columns:repeat(3,1fr); }
  .charts-row-3, .charts-row-2 { grid-template-columns:1fr; }
}
@media (max-width:500px) {
  .score-row { grid-template-columns:repeat(2,1fr); }
  .logo-sub  { display:none; }
}

/* ── PRINT ── */
@media print {
  :root{
    --bg:#fff;
    --panel:#fff;
    --panel2:#fff;
    --border:#ddd;
    --border2:#ccc;
    --accent:#000;
    --accent2:#000;
    --accent3:#000;
    --green:#000;
    --orange:#000;
    --yellow:#000;
    --text:#000;
    --dim:#000;
  }
  body { background:#fff !important; color:#000 !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  body, body * { color:#000 !important; text-shadow:none !important; box-shadow:none !important; filter:none !important; }
  body::before, body::after { display:none; }
  header, .url-bar, .export-row, #scan-overlay { display:none !important; }
  .panel { border:1px solid #ddd; background:#fff !important; page-break-inside:avoid; }
  a, a:visited { color:#000 !important; text-decoration:underline; }
}

/* small helper */
.small { font-size:.65rem; }
.mt05  { margin-top:.5rem; }
