/* CyberSecurityV — surface scan form + progress animation. CSP-safe (external). */
#scan-form .field{margin-bottom:14px}

/* ---- start panel ---- */
.scan-start{display:grid;grid-template-columns:minmax(320px,1fr) minmax(300px,420px);gap:22px;align-items:stretch}
.scan-start-copy{border-radius:14px;padding:22px 24px;background:linear-gradient(135deg,rgba(14,131,153,.08),rgba(31,157,87,.05));
  color:#142130;display:flex;flex-direction:column;justify-content:space-between;min-height:280px}
.scan-start-copy h2{margin:0 0 8px;font-size:clamp(26px,3vw,38px);line-height:1.08;letter-spacing:0}
.scan-start-copy p{margin:0;color:#405066;max-width:62ch}
.scan-start-list{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;counter-reset:startstep}
.scan-start-list li{position:relative;border:1px solid rgba(20,33,48,.1);border-radius:10px;background:rgba(255,255,255,.62);padding:12px 12px 12px 42px;min-width:0}
.scan-start-list li::before{counter-increment:startstep;content:counter(startstep);position:absolute;left:12px;top:12px;width:20px;height:20px;border-radius:999px;
  display:grid;place-items:center;background:#0e8399;color:#fff;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}
.scan-start-list b{display:block;font-size:13px;line-height:1.25;color:#152130}
.scan-start-list span{display:block;margin-top:2px;font-size:12px;line-height:1.35;color:#607086}
.scan-form-card{border:1px solid rgba(20,33,48,.12);border-radius:14px;padding:20px;background:#fff;box-shadow:0 18px 38px rgba(20,33,48,.07)}
.scan-form-card .cluster{align-items:center}
.scan-form-card .form-status{display:inline-flex;min-height:22px;align-items:center;color:#607086}
@media(max-width:900px){.scan-start{grid-template-columns:1fr}.scan-start-copy{min-height:0}.scan-start-list{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.scan-start-list{grid-template-columns:1fr}.scan-form-card{padding:16px}.scan-start-copy{padding:18px}}

/* ---- check sequence ---- */
#scan-flow{margin-top:18px}
.scan-flow-card{border:1px solid rgba(20,33,48,.12);border-radius:14px;padding:18px;background:rgba(20,33,48,.025)}
.flow-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}
.flow-head h3{margin:0 0 3px}
.flow-head p{margin:0;color:var(--muted,#6c7887);font-size:13.5px;max-width:780px}
.flow-steps{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:9px;counter-reset:flowstep}
.flow-step{position:relative;border:1px solid rgba(20,33,48,.1);border-radius:10px;padding:12px 10px 12px 38px;background:#fff;min-height:92px}
.flow-step::before{counter-increment:flowstep;content:counter(flowstep);position:absolute;left:10px;top:12px;width:20px;height:20px;border-radius:999px;
  display:grid;place-items:center;border:1px solid rgba(20,33,48,.18);color:#607086;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}
.flow-step b{display:block;font-size:13px;margin-bottom:4px;line-height:1.2;color:#152130}
.flow-step span{display:block;color:#607086;font-size:12px;line-height:1.35}
.flow-step.is-current{border-color:rgba(14,131,153,.42);background:rgba(14,131,153,.07);box-shadow:0 10px 24px rgba(14,131,153,.09)}
.flow-step.is-current::before{background:#0e8399;border-color:#0e8399;color:#fff}
.flow-step.is-done{border-color:rgba(31,157,87,.32);background:rgba(31,157,87,.06)}
.flow-step.is-done::before{content:"";background:#1f9d57;border-color:#1f9d57}
.flow-step.is-done::after{content:"";position:absolute;left:17px;top:15px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.flow-step.is-locked{background:rgba(20,33,48,.025)}
.flow-step.is-locked b,.flow-step.is-locked span{color:#7b8796}
.flow-running{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid rgba(14,131,153,.22);
  background:rgba(14,131,153,.06);border-radius:9px;padding:9px 10px;margin-bottom:12px;font-size:13px}
.flow-running b{color:#0e8399}.flow-running span{color:var(--muted,#6c7887)}
@media(max-width:1180px){.flow-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.flow-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-head{flex-direction:column}.flow-step{min-height:auto}}
@media(max-width:560px){.flow-steps{grid-template-columns:1fr}}
@media(prefers-color-scheme:dark){
  .scan-start-copy{background:linear-gradient(135deg,rgba(14,131,153,.1),rgba(31,157,87,.07));color:#142130}
  .scan-start-copy p,.scan-form-card .form-status{color:#405066}
  .scan-start-list li,.scan-form-card{border-color:rgba(20,33,48,.12);background:rgba(255,255,255,.72)}
  .scan-start-list b{color:#152130}
  .scan-start-list span{color:#4f6074}
  .scan-flow-card{border-color:rgba(20,33,48,.12);background:rgba(255,255,255,.76)}
  .flow-step{border-color:rgba(20,33,48,.1);background:#fff}
  .flow-step b{color:#152130}.flow-step span{color:#4f6074}
  .flow-step::before{border-color:rgba(20,33,48,.2);color:#607086}
  .flow-step.is-current{border-color:rgba(14,131,153,.5);background:rgba(14,131,153,.09)}
  .flow-step.is-done{border-color:rgba(31,157,87,.38);background:rgba(31,157,87,.08)}
  .flow-step.is-locked b{color:#34465a}
  .flow-step.is-locked span{color:#5d6f82}
}

/* Keep step labels readable on the scanner's light work surface in every theme. */
#scan-flow .scan-flow-card{background:#fff;color:#182b40;border-color:#d4dfe8;border-radius:8px}
#scan-flow .flow-head h3{color:#182b40}
#scan-flow .flow-head p{color:#4c6074}
#scan-flow .flow-head .btn{background:#f3f6f9;color:#182b40;border-color:#cbd6e1}
#scan-flow .flow-step{background:#f8fafc;min-width:0;border-radius:6px;border-color:#d4dfe8;opacity:1;display:flex;flex-direction:column}
#scan-flow .flow-step b{color:#182b40;opacity:1}
#scan-flow .flow-step span{color:#4c6074;opacity:1}
#scan-flow .flow-step::before{color:#4c6074;border-color:#b9c8d5;background:#fff}
#scan-flow .flow-step.is-current{background:#edf7fa;border-color:#78b6c6;box-shadow:none}
#scan-flow .flow-step.is-current::before{color:#fff;background:#0e8399;border-color:#0e8399}
#scan-flow .flow-step.is-done{background:#eff8f3;border-color:#a9d1bb}
#scan-flow .flow-step.is-done::before{background:#21834f;border-color:#21834f}
#scan-flow .flow-step.is-locked{background:#f3f5f8}
#scan-flow .flow-step.is-error{background:#fdf2f1;border-color:#d39894}
#scan-flow .flow-step.is-error::before{background:#ab3029;border-color:#ab3029;color:#fff}
#scan-flow .flow-step-status{display:block;font-size:11px;font-weight:600;line-height:1.4;margin-top:auto;padding-top:10px;color:#4c6074}
#scan-flow .is-current .flow-step-status{color:#145c70}
#scan-flow .is-done .flow-step-status{color:#176a43}
#scan-flow .is-error .flow-step-status{color:#a52b27}
#scan-flow .flow-running{background:#edf7fa;border-color:#bdd9e1}
#scan-flow .flow-running b{color:#145c70}
#scan-flow .flow-running span{color:#4c6074}

/* ---- progress ---- */
.scan-prog{border:1px solid rgba(20,33,48,.14);border-radius:14px;padding:18px;margin-top:20px;
  background:#f3f9fa;color:#182b40;display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:24px;align-items:start}
.scan-prog-main{min-width:0}
.scan-prog-head{display:flex;align-items:center;gap:10px;font-size:14.5px;margin-bottom:12px}
.scan-prog-head b{font-weight:700}
.scan-prog-head>span:last-child{min-width:0;overflow-wrap:anywhere}
.scan-dot{width:10px;height:10px;border-radius:50%;background:#0e8399;flex:none;
  box-shadow:0 0 0 0 rgba(14,131,153,.5);animation:scanpulse 1.4s ease-out infinite}
@keyframes scanpulse{0%{box-shadow:0 0 0 0 rgba(14,131,153,.45)}70%{box-shadow:0 0 0 9px rgba(14,131,153,0)}100%{box-shadow:0 0 0 0 rgba(14,131,153,0)}}
.scan-bar{height:6px;border-radius:6px;background:rgba(20,33,48,.1);overflow:hidden;margin-bottom:14px}
.scan-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#0e8399,#3bb6cb);
  border-radius:6px}
.scan-steps{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.scan-steps li{display:flex;align-items:center;gap:11px;font-size:13.5px;padding:6px 2px;
  color:#4c6074;opacity:1;transition:color .3s}
.scan-steps li .tick{width:18px;height:18px;border-radius:50%;flex:none;position:relative;
  border:2px solid #c2ccd7;opacity:1;background:rgba(255,255,255,.28)}
.scan-steps li.is-active{opacity:1;color:#152130}
.scan-steps li.is-active .tick{opacity:1;border-color:#0e8399;border-top-color:transparent;
  background:transparent;animation:scanspin .7s linear infinite}
.scan-steps li.is-done{opacity:1;color:#274156}
.scan-steps li.is-done .tick{opacity:1;border-color:#1f9d57;background:#1f9d57;animation:none}
.scan-steps li.is-done .tick::after{content:"";position:absolute;left:4.5px;top:1.5px;width:4px;height:8px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.scan-live{min-height:250px;border:1px solid rgba(20,33,48,.12);border-radius:12px;padding:16px;
  background:#fff;display:flex;flex-direction:column;gap:10px}
.scan-live-k{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#146b80}
.scan-live-title{margin:0;font-size:22px;line-height:1.15;color:#152130}
.scan-live-text{margin:0;color:#405066;font-size:15px}
.scan-live-tags{display:flex;gap:8px;flex-wrap:wrap;margin:2px 0 4px}
.scan-live-tags span{border:1px solid rgba(14,131,153,.2);border-radius:7px;padding:5px 8px;font-size:12px;font-weight:700;color:#145c70;background:#edf7fa}
.scan-live-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.scan-live-list li{position:relative;padding-left:22px;color:#4c6074;font-size:13.5px}
.scan-live-list li::before{content:"";position:absolute;left:0;top:.35em;width:11px;height:11px;border-radius:50%;border:2px solid currentColor;opacity:.45}
.scan-live-list li.is-active{color:#152130;font-weight:700}
.scan-live-list li.is-active::before{border-color:#0e8399;border-top-color:transparent;animation:scanspin .7s linear infinite;opacity:1}
.scan-live-list li.is-done{color:#176a43}
.scan-live-list li.is-done::before{background:#1f9d57;border-color:#1f9d57;opacity:1}
@keyframes scanspin{to{transform:rotate(360deg)}}
#scan-progress{scroll-margin-top:100px}
#scan-progress .scan-cancel{background:#fff;color:#43566c;border-color:#bccbd8}
#scan-progress .scan-cancel:focus-visible{outline:3px solid #14738a;outline-offset:3px}
@media(max-width:820px){.scan-prog{grid-template-columns:1fr}.scan-live{min-height:0}}

/* ---- results ---- */
#scan-out{scroll-margin-top:100px}
.report-switcher{margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid #d4dfe8;background:#fff;color:#182b40}
.report-switch-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.report-switch-head h3{margin:0;color:#182b40;font-size:20px;line-height:1.4}
.report-history{font:inherit;font-size:13px;color:#145c70;background:#edf7fa;border:1px solid #bdd9e1;border-radius:5px;min-height:44px;padding:9px 12px;cursor:pointer}
.report-tabs{display:flex;gap:6px;flex-wrap:wrap}
.report-tabs button{font:inherit;font-size:14px;font-weight:600;line-height:1.4;color:#43566c;background:#fff;border:1px solid #cbd6e1;border-radius:5px;min-height:44px;padding:10px 16px;cursor:pointer}
.report-tabs button[aria-selected="true"]{background:#edf7fa;border-color:#78b6c6;color:#145c70}
.report-tabs button:hover:not(:disabled),.report-history:hover{background:#e5f2f6;border-color:#78b6c6}
.report-tabs button:disabled{color:#5b6878;background:#f3f5f8;cursor:default}
.report-tabs button:focus-visible,.report-history:focus-visible{outline:3px solid #14738a;outline-offset:3px}
.report-view-status{margin:10px 0 0;color:#4c6074;font-size:13px;line-height:1.5}
.report-view-status:empty{display:none}
.active-done .btn{margin-top:10px;background:#fff;color:#176a43;border-color:#a9d1bb}
@media(max-width:600px){.report-switch-head{align-items:flex-start;flex-direction:column}.report-tabs{display:grid;grid-template-columns:1fr}.report-tabs button{width:100%;text-align:left}}
.scanres-active{border-color:rgba(194,117,31,.36)!important;box-shadow:0 0 0 3px rgba(194,117,31,.08)}
.scanres-head{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.profile-badge{display:inline-flex;width:max-content;margin-top:8px;border-radius:7px;padding:5px 9px;
  font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border:1px solid currentColor}
.profile-safe{color:#0e8399}.profile-full{color:#5e748c}.profile-active{color:#c2751f}
.grade-badge{font-weight:800;font-size:40px;line-height:1;min-width:84px;height:84px;display:flex;
  align-items:center;justify-content:center;border-radius:14px;border:2px solid currentColor;
  transition:transform .45s cubic-bezier(.16,1,.3,1)}
.grade-badge.pop{transform:scale(1.08)}
.grade-A{color:#1f9d57}.grade-B{color:#0e8399}.grade-C{color:#a6851f}.grade-D{color:#c2751f}.grade-F{color:#c23a34}
.scanres-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:22px}
.catpill{border:1px solid rgba(20,33,48,.16);border-radius:10px;padding:10px 12px;font-size:13px;
  opacity:0;transform:translateY(6px);animation:scanfade .4s ease forwards}
.catpill b{display:block;font-size:12px;letter-spacing:.04em;text-transform:uppercase;opacity:.7}
.catpill .ok{color:#1f9d57;font-weight:700}.catpill .bad{color:#c23a34;font-weight:700}
.scanres-findings{display:grid;grid-template-columns:repeat(2,minmax(360px,1fr));gap:8px;margin-top:6px}
.finding-row{border:1px solid rgba(20,33,48,.1);border-radius:8px;padding:8px 10px;min-width:0;
  opacity:0;transform:translateY(6px);animation:scanfade .4s ease forwards}
.finding-row .fh{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;gap:8px;align-items:center}
.finding-row .fh strong{font-size:15px;line-height:1.2;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.finding-row .fid{font-family:monospace;font-size:10.5px;opacity:.58;white-space:nowrap}
.sev{font-size:10px;font-weight:700;letter-spacing:.04em;padding:3px 7px;border-radius:6px;color:#fff;line-height:1}
.sev-high{background:#c2751f}.sev-critical{background:#c23a34}.sev-medium{background:#a6851f}.sev-low{background:#5e748c}
.finding-row .ev{font-size:12px;opacity:.7;margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.finding-row .fx{font-size:12.5px;line-height:1.3;margin:4px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.finding-row .fx::before{content:attr(data-fixlabel);font-weight:700;color:#0e8399}
@media(min-width:1500px){.scanres-findings{grid-template-columns:repeat(3,minmax(340px,1fr))}}
@media(max-width:980px){.scanres-findings{grid-template-columns:1fr}}
@media(max-width:760px){.finding-row .fh{grid-template-columns:auto 1fr}.finding-row .fid{grid-column:2}.finding-row .fh strong{white-space:normal}.finding-row .ev{white-space:normal}}
@keyframes scanfade{to{opacity:1;transform:none}}
@media(prefers-color-scheme:dark){.catpill,.finding-row{border-color:rgba(231,236,242,.16)}}
@media(prefers-reduced-motion:reduce){
  .scan-dot,.scan-steps li.is-active .tick,.scan-bar i{animation:none;transition:none}
  .catpill,.finding-row{animation:none;opacity:1;transform:none}
  .grade-badge{transition:none}
}

/* ---- live test counter ---- */
.scan-count{display:flex;align-items:baseline;gap:10px;margin:2px 0 12px}
.scan-count b{font-weight:800;font-size:34px;line-height:1;color:#14738a;font-variant-numeric:tabular-nums;
  min-width:2ch}
.scan-count span{font-size:13px;color:#4c6074;letter-spacing:.02em}

/* ---- technology stack ---- */
.exec-line{font-size:12.5px;margin-top:14px}
.stack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-top:8px}
.stack-card{border:1px solid rgba(20,33,48,.14);border-radius:10px;padding:12px 14px;font-size:13px;display:grid;gap:4px;
  opacity:0;transform:translateY(6px);animation:scanfade .4s ease forwards}
.stack-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sbadge{font-size:10px;font-weight:700;letter-spacing:.06em;padding:2px 6px;border-radius:5px;color:#fff}
.sb-eol{background:#c2751f}.sb-kev{background:#c23a34}
.stack-vulns{margin-top:6px;display:grid;gap:4px}
.vrow{display:flex;align-items:center;gap:8px;font-size:12.5px}
.vrow code{font-family:monospace;font-size:11.5px}
.limits{margin:6px 0 0;padding-left:18px;font-size:13px;color:var(--muted,#6c7887)}
@media(prefers-color-scheme:dark){.stack-card{border-color:rgba(231,236,242,.16)}}
@media(prefers-reduced-motion:reduce){.stack-card{animation:none;opacity:1;transform:none}}

/* ---- ownership verification / deep check ---- */
#r-verify{margin-top:18px}
.verified-badge{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:#1f9d57;
  border:1px solid rgba(31,157,87,.4);border-radius:10px;padding:8px 12px;margin-right:12px}
.active-card{border-color:rgba(194,117,31,.25);background:rgba(194,117,31,.04)}
.active-note{font-size:13px;margin:8px 0 0;color:#8a5b1f;font-weight:700}
.active-run-status{margin-top:14px;border:1px solid rgba(194,117,31,.24);border-radius:10px;padding:10px 12px;background:rgba(194,117,31,.06)}
.active-run-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:13px}
.active-run-head b{color:#8a5b1f}.active-run-head span:last-child{color:var(--muted,#6c7887)}
.active-spinner{width:15px;height:15px;border-radius:50%;border:2px solid rgba(194,117,31,.26);border-top-color:#c2751f;animation:scanspin .75s linear infinite;flex:none}
.active-run-bar{height:5px;border-radius:999px;background:rgba(194,117,31,.16);overflow:hidden;margin:9px 0}
.active-run-bar i{display:block;height:100%;width:10%;border-radius:999px;background:linear-gradient(90deg,#c2751f,#e7a35c)}
.active-run-status ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;font-size:11.5px;color:var(--muted,#6c7887)}
.active-run-status li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.active-run-status[data-stage="create"] li:nth-child(1),
.active-run-status[data-stage="queued"] li:nth-child(-n+2),
.active-run-status[data-stage="running"] li:nth-child(-n+3),
.active-run-status[data-stage="report"] li:nth-child(-n+4),
.active-run-status[data-stage="done"] li{color:#8a5b1f;font-weight:700}
.active-run-status[data-stage="done"] .active-spinner{border-color:#1f9d57;background:#1f9d57;animation:none}
.active-run-status[data-stage="error"]{border-color:rgba(194,58,52,.34);background:rgba(194,58,52,.06)}
.active-run-status[data-stage="error"] .active-spinner{border-color:#c23a34;animation:none}
.active-done{border:1px solid rgba(31,157,87,.34);border-radius:12px;padding:14px 16px;margin-bottom:12px;
  background:rgba(31,157,87,.07);color:#1f9d57}
.active-done strong{display:block;font-size:16px;margin-bottom:3px}
.active-done p{margin:0;color:var(--muted,#6c7887);font-size:13.5px}
.deep-card{border:1px dashed rgba(14,131,153,.4);border-radius:12px;padding:16px 18px;background:rgba(14,131,153,.04)}
.deep-card h3{margin:0 0 4px}
.deep-card .btn{margin-top:12px}
.vrow2{display:grid;gap:3px;margin:10px 0}
.vrow2 b{font-size:12px;text-transform:uppercase;letter-spacing:.04em;opacity:.7}
.vrow2 code{font-family:monospace;font-size:12px;background:rgba(20,33,48,.06);border-radius:7px;padding:8px 10px;
  overflow-x:auto;white-space:nowrap}
.vrow2.vcard{gap:8px;border:1px solid rgba(20,33,48,.1);border-radius:10px;background:rgba(255,255,255,.55);padding:12px;margin:12px 0}
.vrow2.vcard p{margin:0;color:var(--muted,#607086);font-size:13.5px}
.vrow2.vcard small{color:var(--muted,#607086);font-size:12.5px;line-height:1.35}
.verify-fields{display:grid;gap:7px;margin:2px 0 0}
.verify-fields div{display:grid;grid-template-columns:minmax(110px,150px) minmax(0,1fr);gap:8px;align-items:start}
.verify-fields dt{font-size:12px;color:var(--muted,#607086);padding-top:7px}
.verify-fields dd{margin:0;min-width:0}
.verify-fields code{display:block;white-space:normal;overflow-wrap:anywhere}
.deep-card .cluster{margin-top:12px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
@media(prefers-color-scheme:dark){.vrow2 code{background:rgba(231,236,242,.08)}.deep-card{border-color:rgba(51,180,203,.4)}.vrow2.vcard{border-color:rgba(231,236,242,.14);background:rgba(231,236,242,.035)}}
@media(max-width:620px){.verify-fields div{grid-template-columns:1fr}.verify-fields dt{padding-top:0}}

/* Domain verification uses a single, readable work surface in either theme. */
.deep-card.verify-setup{border:1px solid #cfdae4;border-radius:8px;padding:24px;background:#fff;color:#182b40;scroll-margin-top:100px}
.verify-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}
.verify-heading h3{font-size:22px;line-height:1.3;margin:0 0 6px;color:#182b40;letter-spacing:0}
.verify-heading p{margin:0;font-size:14px;line-height:1.5;color:#4c6074;max-width:70ch}
.verify-domain{font-size:13px;line-height:1.5;padding:5px 9px;border-radius:4px;background:#edf5f7;color:#216276;overflow-wrap:anywhere;min-width:0}
.verify-tabs{display:flex;gap:4px;width:max-content;max-width:100%;padding:4px;background:#eef2f6;border-radius:6px;margin-bottom:20px}
.verify-tabs button{font:inherit;font-size:14px;font-weight:600;line-height:1.3;min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:4px;background:transparent;color:#43566c;cursor:pointer;margin:0}
.verify-tabs button[aria-selected="true"]{background:#fff;border-color:#c7d5df;color:#145c70}
.verify-tabs button:hover:not(:disabled){background:#fff;color:#145c70}
.verify-panel[hidden]{display:none}
.verify-instruction{margin:0 0 14px;font-size:14px;line-height:1.6;color:#42566d;max-width:75ch}
.verify-instruction strong{color:#182b40;overflow-wrap:anywhere}
.verify-record{margin:0;border-top:1px solid #e0e7ee;display:grid}
.verify-record>div{display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;align-items:center;min-width:0;padding:10px 0;border-bottom:1px solid #e0e7ee}
.verify-record dt{font-size:13px;font-weight:600;line-height:1.4;color:#43566c}
.verify-record dd{margin:0;min-width:0;display:flex;gap:10px;align-items:center;justify-content:space-between}
.verify-record code{font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;color:#182b40;white-space:normal;overflow-wrap:anywhere;min-width:0}
.verify-copy{position:relative;display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid #d4dfe8;border-radius:5px;background:#f8fafc;cursor:pointer;margin:0}
.verify-copy:hover{background:#e8f4f7;border-color:#93bfcc}
.verify-copy.is-copied{background:#e8f6ef;border-color:#91c9ae}
.verify-copy img,.verify-download img{display:block;opacity:1}
.verify-hint{margin:12px 0 0;font-size:13px;line-height:1.6;color:#4c6074;max-width:75ch}
.verify-hint code{padding:2px 5px;background:#eef2f6;border-radius:3px;color:#182b40;font-size:13px;white-space:nowrap}
.verify-download{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:14px 0 0;padding:9px 12px;font:inherit;font-size:14px;font-weight:600;color:#145c70;background:#edf5f7;border:1px solid #bdd5dd;border-radius:5px;cursor:pointer}
.verify-download:hover{background:#dfeff3}
.verify-setup .verify-actions{display:flex;gap:20px;align-items:center;margin-top:22px;padding-top:20px;border-top:1px solid #e0e7ee}
.verify-setup .verify-actions .btn{flex:none;margin:0;min-height:44px;font-size:14px;padding:12px 18px}
.verify-status{margin:0;display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.6;color:#4c6074;max-width:65ch}
.verify-status[data-state="error"]{color:#a52b27}
.verify-status[data-state="success"]{color:#176a43}
.verify-status[data-state="loading"]::before{content:"";width:16px;height:16px;flex:none;margin-top:2px;border:2px solid #adcbd4;border-top-color:#14738a;border-radius:50%;animation:scanspin .8s linear infinite}
.verify-setup button:focus-visible{outline:3px solid #14738a;outline-offset:3px}
.verify-setup button:disabled{opacity:.65;cursor:wait}
.verify-setup ::selection{background:#c7e8ef;color:#182b40}
@media(max-width:700px){
  .deep-card.verify-setup{padding:18px 16px}
  .verify-heading{flex-direction:column;gap:10px}.verify-heading h3{font-size:20px}
  .verify-tabs{width:100%}.verify-tabs button{flex:1;min-width:0;padding:10px 8px;font-size:13px}
  .verify-record>div{grid-template-columns:1fr;gap:5px;padding:12px 0}
  .verify-setup .verify-actions{flex-direction:column;align-items:stretch;gap:12px}
  .verify-status{max-width:none}
}
@media(prefers-reduced-motion:reduce){.verify-status[data-state="loading"]::before{animation:none}}

/* ---- scan history ---- */
#r-history{margin-top:8px}
.hist-diff{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13.5px;margin:6px 0 10px}
.hist-diff b.up{color:#1f9d57}.hist-diff b.down{color:#c23a34}
.hchip{font-size:12px;font-weight:600;padding:3px 8px;border-radius:6px}
.hchip-ok{background:rgba(31,157,87,.14);color:#1f9d57}
.hchip-bad{background:rgba(194,58,52,.14);color:#c23a34}
.hlist{display:flex;flex-direction:column;gap:2px;font-size:12.5px;margin:4px 0}
.hlist.ok span{color:#1f9d57}.hlist.bad span{color:var(--muted,#6c7887)}
.hist-runs{display:flex;flex-direction:column;gap:4px;margin-top:8px}
.hrun{display:flex;align-items:center;gap:12px;font-size:13px;padding:6px 0;border-top:1px solid rgba(20,33,48,.08)}
.hrun:first-child{border-top:0}
.hopen{margin-left:auto;border:1px solid rgba(20,33,48,.18);background:transparent;color:inherit;border-radius:6px;padding:4px 9px;font:inherit;font-weight:600;cursor:pointer}
.hopen:hover{background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.34)}
.hg{font-weight:800;font-size:13px;min-width:26px;text-align:center;border-radius:5px;padding:1px 4px}
.hg.gA{color:#1f9d57}.hg.gB{color:#0e8399}.hg.gC{color:#a6851f}.hg.gD{color:#c2751f}.hg.gF{color:#c23a34}
@media(prefers-color-scheme:dark){.hrun{border-color:rgba(231,236,242,.1)}.hopen{border-color:rgba(231,236,242,.18)}.hopen:hover{background:rgba(106,151,255,.12);border-color:rgba(106,151,255,.4)}}

/* ---- registry draft (operator) ---- */
.draft-card{border:1px solid rgba(20,33,48,.14);border-radius:12px;padding:16px 18px;margin-top:14px}
.draft-card h3{margin:0 0 4px}
.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.dgrid label{display:grid;gap:4px;font-size:12.5px;color:var(--muted,#6c7887)}
.draft-card .cluster{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
@media(max-width:560px){.dgrid{grid-template-columns:1fr}}
@media(max-width:640px){.active-run-status ol{grid-template-columns:1fr 1fr}}
@media(prefers-color-scheme:dark){
  .draft-card{border-color:rgba(231,236,242,.16)}
  .active-card{border-color:rgba(226,157,78,.36);background:rgba(226,157,78,.08)}
  .active-note{color:#e2a15c}
  .active-run-status{border-color:rgba(226,157,78,.32);background:rgba(226,157,78,.08)}
  .active-run-head b,.active-run-status[data-stage="create"] li:nth-child(1),
  .active-run-status[data-stage="queued"] li:nth-child(-n+2),
  .active-run-status[data-stage="running"] li:nth-child(-n+3),
  .active-run-status[data-stage="report"] li:nth-child(-n+4),
  .active-run-status[data-stage="done"] li{color:#e2a15c}
}

/* ---- cancel button in progress ---- */
.scan-prog-head{justify-content:space-between}
.scan-cancel{margin-left:auto;font-size:12px;border:1px solid var(--line,rgba(20,33,48,.16));background:transparent;
  color:var(--muted,#6c7887);border-radius:7px;padding:4px 10px;cursor:pointer}
.scan-cancel:hover{color:#c23a34;border-color:#c23a34}

/* ---- saved reports picker ---- */
#scan-reports{margin-top:18px}
.saved-reports{border:1px solid rgba(20,33,48,.14);border-radius:12px;padding:16px 18px;background:rgba(20,33,48,.025)}
.saved-reports h3{margin:0 0 8px}
.saved-list{display:grid;gap:6px}
.saved-row{width:100%;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;
  border:1px solid rgba(20,33,48,.1);border-radius:10px;background:#fff;color:inherit;text-align:left;
  padding:9px 10px;cursor:pointer;font:inherit}
.saved-row:hover{border-color:rgba(37,99,235,.34);background:rgba(37,99,235,.04)}
.saved-row small{display:block;color:var(--muted,#6c7887);font-size:12px;margin-top:1px}
.saved-score{font-weight:800;font-variant-numeric:tabular-nums}
.saved-row .hopen{margin-left:0;white-space:nowrap}
@media(max-width:560px){
  .saved-row{grid-template-columns:auto 1fr auto}
  .saved-row .hopen{grid-column:2 / 4;width:max-content}
}
@media(prefers-color-scheme:dark){
  .saved-reports{border-color:rgba(231,236,242,.16);background:rgba(231,236,242,.04)}
  .saved-row{border-color:rgba(231,236,242,.12);background:rgba(231,236,242,.035)}
  .saved-row:hover{border-color:rgba(106,151,255,.4);background:rgba(106,151,255,.1)}
}
