:root{
  --violet:#6C2BD9; --violet-lift:#8B4DFF; --plum:#2A0F3D; --plum-soft:#4A2A63;
  --gold:#D9A441; --lilac:#F1E9FE; --lilac-line:#E0D0F7; --paper:#FBF9FE;
  --white:#fff; --sub:#6B5B7B; --teal:#3FC7B4; --red:#D64545;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Segoe UI',system-ui,-apple-system,sans-serif;background:var(--paper);color:var(--plum);}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
a{color:var(--violet)}
.btn{display:inline-block;background:var(--violet);color:#fff;text-decoration:none;padding:12px 22px;
  border-radius:10px;border:none;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--violet-lift)}
.btn.ghost{background:transparent;color:var(--violet);border:1px solid var(--lilac-line)}
.btn.small{padding:8px 14px;font-size:13px}
.btn.danger{background:var(--red)}
input,textarea{width:100%;padding:11px 13px;border:1px solid var(--lilac-line);border-radius:8px;
  font-size:15px;font-family:inherit;background:#fff}
input:focus,textarea:focus{outline:2px solid var(--violet);outline-offset:1px}
label{display:block;font-size:13px;font-weight:600;color:var(--plum-soft);margin-bottom:6px}
.field{margin-bottom:16px}

header.topbar{background:var(--white);border-bottom:1px solid var(--lilac-line);padding:16px 0}
header.topbar .wrap{display:flex;justify-content:space-between;align-items:center}
.brand{font-weight:800;font-size:18px;color:var(--plum);text-decoration:none;display:flex;align-items:center;gap:8px}
.brand img{width:28px;height:28px}
.brand .byline{font-size:12px;font-weight:500;color:var(--sub);margin-left:2px}
.brand .dot{width:20px;height:20px;border-radius:6px;background:var(--violet)}

.authcard{max-width:400px;margin:80px auto;background:#fff;border:1px solid var(--lilac-line);
  border-radius:16px;padding:36px}
.authcard h1{font-size:22px;margin-bottom:6px}
.authcard p.sub{color:var(--sub);font-size:14px;margin-bottom:24px}
.error{background:#FDECEC;color:#A32020;padding:10px 14px;border-radius:8px;font-size:13.5px;margin-bottom:16px}

.dashwrap{padding:32px 0 80px}
.dashhead{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px;flex-wrap:wrap;gap:12px}
.dashhead h1{font-size:24px;margin:0}
.plantag{font-family:monospace;font-size:11px;background:var(--lilac);color:var(--violet);padding:4px 10px;
  border-radius:6px;font-weight:700;letter-spacing:.04em}

.providerbar{display:flex;gap:10px;margin-bottom:28px;flex-wrap:wrap}
.pchip{font-size:12px;padding:5px 12px 5px 5px;border-radius:20px;border:1px solid var(--lilac-line);
  display:flex;align-items:center;gap:7px;background:#fff}
.pchip svg{width:20px;height:20px;flex:none;border-radius:5px}

.addquery{background:#fff;border:1px solid var(--lilac-line);border-radius:14px;padding:20px;margin-bottom:28px;
  display:flex;gap:10px;align-items:flex-end}
.addquery .field{flex:1;margin:0}

.qcard{background:#fff;border:1px solid var(--lilac-line);border-radius:14px;padding:20px 22px;margin-bottom:14px}
.qcard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}
.qcard h3{font-size:16px;margin:0 0 4px;font-weight:600}
.qcard .meta{font-size:12.5px;color:var(--sub)}
.mentionrate{font-size:26px;font-weight:800;font-family:monospace}
.mentionrate.good{color:var(--teal)}
.mentionrate.bad{color:var(--red)}
.mentionrate.none{color:var(--sub);font-size:14px;font-weight:600}
.qcard-actions{display:flex;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--lilac-line)}
.qcard-actions .btn{flex:1}
.qcard-actions .btn.ghost{flex:0 0 auto}
.empty{text-align:center;padding:60px 20px;color:var(--sub)}
.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--lilac-line);
  border-top-color:var(--violet);border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px}
@keyframes spin{to{transform:rotate(360deg)}}
.upsell{background:var(--plum);color:#fff;border-radius:14px;padding:18px 22px;margin-top:20px;margin-bottom:24px;font-size:14px}
.upsell a{color:var(--gold);font-weight:700}

.formerror{background:rgba(214,69,69,.1);border:1px solid rgba(214,69,69,.4);color:#a63b45;
  padding:12px 16px;border-radius:10px;font-size:13.5px;margin-bottom:16px;line-height:1.5}

/* ====================================================================
   Report card — the newspaper-style redesign, scoped under .reportcard
   so none of these fairly generic class names (.body, .head, .name...)
   can ever affect anything else on this page. Reuses the app's own
   --violet/--plum/--teal/--red/--gold/--lilac/--paper variables rather
   than redefining them, since the redesign used near-identical colors
   under different names — no reason to risk two competing :root blocks.
   ==================================================================== */
.reportcard{background:var(--white);border:3px solid var(--plum);margin-bottom:34px;padding:30px 30px 0;font-family:Arial,Helvetica,sans-serif;color:var(--plum)}
.reportcard .mast{display:grid;grid-template-columns:1.35fr .65fr;border-bottom:3px solid var(--plum);padding-bottom:24px;gap:30px}
.reportcard .kicker{color:var(--violet);font:700 11px/1 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px}
.reportcard .rtitle{font:900 clamp(24px,3.4vw,38px)/1.05 Arial,sans-serif;letter-spacing:-.03em;margin:0}
.reportcard .subject{margin-top:14px;font-size:13.5px;line-height:1.5;color:var(--sub)}
.reportcard .subject strong{font-weight:800;color:var(--plum)}
.reportcard .stamp{align-self:end;text-align:right}
.reportcard .stamp .number{font:900 52px/.8 Arial,sans-serif;letter-spacing:-.04em}
.reportcard .stamp .label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-top:10px;color:var(--sub)}
.reportcard .stamp .sub{font-size:11px;color:var(--sub);margin-top:5px}

.reportcard .rgrid{border-top:3px solid var(--plum)}
.reportcard .rprovider{display:grid;grid-template-columns:76px 1fr 160px;border-bottom:1px solid var(--lilac-line)}
.reportcard .rmark{padding-top:20px}
.reportcard .rlogo{width:44px;height:44px;border:2px solid var(--plum);display:grid;place-items:center;background:#fff;border-radius:50%;overflow:hidden}
.reportcard .rlogo svg{width:30px;height:30px}
.reportcard .rbody{padding:19px 24px 20px 0;border-right:1px solid var(--lilac-line)}
.reportcard .rhead{display:flex;justify-content:space-between;align-items:start;gap:12px}
.reportcard .rname{font-size:17px;font-weight:900;letter-spacing:-.02em}
.reportcard .rverdict{font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;padding:6px 8px;border:2px solid var(--plum);white-space:nowrap}
.reportcard .rverdict.yes{background:rgba(63,199,180,.16);color:#146f62}
.reportcard .rverdict.no{background:rgba(214,69,69,.1);color:#a63b45}
.reportcard .rverdict.none{background:var(--lilac);color:var(--sub);border-color:var(--lilac-line)}
.reportcard .rtags{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}
.reportcard .rtag{font-size:9.5px;font-weight:800;text-transform:uppercase;border:1px solid #8e887e;padding:4px 6px;background:var(--lilac)}
.reportcard .rtag.warn{background:rgba(217,164,65,.16);border-color:#c49a45}
.reportcard .revidence{margin-top:12px;padding:14px 16px;background:var(--paper);border:2px solid var(--plum);position:relative}
.reportcard .revidence:before{content:"EVIDENCE";position:absolute;top:-10px;left:10px;background:var(--white);padding:0 6px;font-size:8.5px;font-weight:900;letter-spacing:.12em;color:var(--plum)}
.reportcard .rquote{margin:0;font:600 13.5px/1.5 Georgia,"Times New Roman",serif}
.reportcard .rnote{font-size:9.5px;color:var(--sub);margin:9px 0 0}
.reportcard .rsources{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.reportcard .rsources a{font-size:9.5px;color:var(--violet);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.reportcard .rdata{padding:19px 0 18px 16px;display:flex;flex-direction:column;justify-content:space-between}
.reportcard .rdata-label{font-size:8.5px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--sub)}
.reportcard .rrank{font:900 30px/.9 Arial,sans-serif;letter-spacing:-.03em;margin-top:6px}
.reportcard .rrank small{font-size:10px;letter-spacing:0}
.reportcard .rsignal{margin-top:16px}
.reportcard .rsignal-line{display:flex;justify-content:space-between;gap:8px;font-size:10.5px;font-weight:800;border-bottom:1px solid var(--lilac-line);padding:7px 0}
.reportcard .rsignal-line:last-child{border-bottom:0}
.reportcard .ractions{margin-top:22px;display:flex;justify-content:space-between;align-items:center;border-top:3px solid var(--plum);padding:16px 0}
.reportcard .rchecked{font-size:10.5px;font-weight:700;color:var(--sub)}
.reportcard .rbuttons{display:flex;gap:8px}
.reportcard .rbtn{font:900 10.5px Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;padding:11px 16px;border:2px solid var(--plum);cursor:pointer;background:none;font-family:inherit}
.reportcard .rbtn.rcheck{background:var(--violet);color:#fff;border-color:var(--violet)}
@media(max-width:800px){
  .reportcard{padding:20px 18px 0}
  .reportcard .mast{grid-template-columns:1fr}
  .reportcard .stamp{text-align:left}
  .reportcard .rgrid{display:none}
  .reportcard .rprovider{grid-template-columns:50px 1fr}
  .reportcard .rdata{display:none}
  .reportcard .rbody{border-right:0}
}

/* ---------- per-provider result rows ---------- */
.provlist{border-top:1px solid var(--lilac-line);margin-top:4px}
.provrow{border-bottom:1px solid var(--lilac-line)}
.provrow:last-child{border-bottom:none}
.provhead{display:flex;justify-content:space-between;align-items:center;padding:11px 0;font-size:13.5px}
.provhead.expandable{cursor:pointer}
.provid{display:flex;align-items:center;gap:9px;font-weight:600}
.provid svg{width:24px;height:24px;flex:none;border-radius:6px}
.expandarrow{color:var(--sub);font-size:12px;width:14px;text-align:center}
.statuspill{font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px;white-space:nowrap}
.statuspill.hit{background:rgba(63,199,180,.14);color:#1F8F7C}
.statuspill.miss{background:rgba(214,69,69,.1);color:var(--red)}
.statuspill.none{background:var(--lilac);color:var(--sub)}
.chiprow{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:10px}
.chip{font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:20px;background:var(--lilac);color:var(--plum-soft)}
.chip.cited{background:rgba(63,199,180,.14);color:#1F8F7C}
.chip.warn{background:rgba(217,164,65,.16);color:#8A6416}
.provdetail{padding:2px 0 14px}
.proofquote{background:var(--paper);border-left:3px solid var(--violet);border-radius:0 8px 8px 0;
  padding:12px 14px;font-size:13.5px;font-style:italic;color:var(--plum-soft);line-height:1.55;margin:0}
.proofnote{font-size:11px;color:var(--sub);margin-top:6px}
.proofsources{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.proofsources a{font-size:11.5px;color:var(--violet);text-decoration:none;background:var(--lilac);
  padding:4px 10px;border-radius:8px}
.proofsources a:hover{text-decoration:underline}

/* ---------- plan gate (unpaid accounts) ---------- */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
.pcard{background:#fff;border:1px solid var(--lilac-line);border-radius:16px;padding:26px}
.pcard .kind{font-size:11px;color:var(--sub);font-family:monospace;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}
.pcard.feature{border-color:var(--violet);box-shadow:0 4px 20px rgba(108,43,217,.12)}
.pcard h3{font-size:18px;margin:0 0 6px}
.pcard .price{font-size:30px;font-weight:800;margin:14px 0}
.pcard .price small{font-size:14px;font-weight:500;color:var(--sub)}
.pcard ul{padding-left:18px;font-size:14px;color:var(--plum-soft);line-height:1.7}
@media(max-width:800px){.plans{grid-template-columns:1fr}}


.installbanner{position:fixed;left:16px;right:16px;bottom:16px;max-width:480px;margin:0 auto;
  background:#fff;border:1px solid var(--lilac-line);border-radius:16px;box-shadow:0 8px 30px rgba(42,15,61,.18);
  z-index:1000;animation:slideup .25s ease-out}
@keyframes slideup{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
.installbanner-inner{display:flex;align-items:center;gap:12px;padding:14px 16px}
.installbanner-inner img{width:40px;height:40px;border-radius:10px;flex:none}
.installbanner-inner strong{font-size:14px;display:block;margin-bottom:2px}
.installbanner-inner p{font-size:12.5px;color:var(--sub);margin:0;line-height:1.4}
.installbanner-inner .ishare{display:inline-block;border:1px solid var(--sub);border-radius:4px;padding:0 4px;font-size:11px}
.installbtn{background:var(--violet);color:#fff;border:none;padding:8px 14px;border-radius:8px;
  font-size:13px;font-weight:600;cursor:pointer;flex:none;font-family:inherit}
.installbanner-close{background:none;border:none;font-size:20px;color:var(--sub);cursor:pointer;
  flex:none;line-height:1;padding:4px}
@media(max-width:420px){.installbanner-inner p{display:none}}
