:root{color-scheme:dark;--bg:#090b10;--panel:#11151d;--line:#26303d;--text:#f5f7fa;--muted:#9ca8b8;--accent:#54d6c1;--warn:#f5c66a;--danger:#ff6b72}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 60% -20%,#173432 0,transparent 35%),var(--bg);color:var(--text);font:16px/1.55 system-ui,sans-serif}a{color:inherit;text-decoration:none}header,footer{max-width:1400px;margin:auto;padding:24px;display:flex;justify-content:space-between;align-items:center}nav{display:flex;gap:22px;align-items:center}.brand{font-weight:800;font-size:22px}.hero{max-width:1200px;margin:9vh auto;padding:48px 24px}.hero h1{font-size:clamp(44px,8vw,88px);line-height:1.02;letter-spacing:-.055em;margin:.2em 0}.hero>p:not(.eyebrow){max-width:660px;color:var(--muted);font-size:20px}.eyebrow{color:var(--accent);font-weight:800;letter-spacing:.15em;font-size:12px}.primary,button{border:1px solid var(--line);background:#171d27;color:white;padding:12px 18px;border-radius:9px;font-weight:700;cursor:pointer}.primary{background:var(--accent);color:#06110f;border:0}.notice,.panel,#pricing{max-width:1400px;margin:70px auto;padding:32px}.notice{border:1px solid var(--line);border-radius:14px;background:#0d1118}.notice p,.muted,small{color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px}.panel-head,.row,.upload,.job{display:flex;gap:16px;align-items:center;justify-content:space-between}.upload{padding:22px;border:1px dashed #415065;border-radius:12px;flex-wrap:wrap}.upload small{width:100%}.job-list{margin-top:24px}.job{padding:15px;border-top:1px solid var(--line)}.job div{display:grid}.status{padding:5px 10px;border-radius:99px;background:#26303d;font-size:13px}.MATCH_FOUND{background:#4c2026;color:#ffabb0}.REVIEW_REQUIRED{background:#493d22;color:#ffe09d}.MATCH_NOT_FOUND{background:#173d3a;color:#90e3d7}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.cards article{padding:25px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.cards b{font-size:30px}dialog{max-width:430px;width:calc(100% - 32px);background:var(--panel);color:white;border:1px solid var(--line);border-radius:16px;padding:28px}dialog::backdrop{background:#000b}.close{float:right;border:0;background:none;font-size:24px}label{display:grid;gap:6px;margin:16px 0}input{padding:12px;background:#090c12;color:white;border:1px solid var(--line);border-radius:8px}.error{color:var(--danger)}.hidden{display:none!important}.link{background:none;border:0;padding:0}.empty{text-align:center;color:var(--muted);padding:30px}@media(max-width:760px){nav a{display:none}.cards{grid-template-columns:1fr 1fr}.panel-head,.upload{align-items:stretch;flex-direction:column}.hero{margin-top:2vh}.hero h1{font-size:48px}}@media(max-width:460px){.cards{grid-template-columns:1fr}}

/* ── landing sections (2026-06-28) ── */
.steps,.feats,.faq{max-width:1100px;margin:80px auto;padding:0 24px}
.sec-head{text-align:center;margin-bottom:42px}
.sec-head h2{font-size:clamp(28px,4.2vw,42px);letter-spacing:-.035em;margin:.15em 0}
.sec-head p{color:var(--muted);max-width:620px;margin:0 auto;font-size:17px}
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step{padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:16px}
.step .n{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:10px;background:rgba(84,214,193,.15);color:var(--accent);font-weight:800;margin-bottom:16px}
.step h3{margin:0 0 8px;font-size:18px}.step p{color:var(--muted);margin:0;font-size:14.5px;line-height:1.55}
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.feat{padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:14px}
.feat .ico{font-size:26px;margin-bottom:12px;line-height:1}
.feat h3{margin:0 0 7px;font-size:15.5px}.feat p{color:var(--muted);margin:0;font-size:13.5px;line-height:1.5}
.faq details{border:1px solid var(--line);border-radius:12px;background:var(--panel);margin:10px 0}
.faq summary{cursor:pointer;padding:18px 22px;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent);font-weight:800;font-size:20px}
.faq details[open] summary::after{content:"\2212"}
.faq .a{padding:0 22px 20px;color:var(--muted);font-size:14.5px;line-height:1.65}
@media(max-width:760px){.step-grid{grid-template-columns:1fr}.feat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.feat-grid{grid-template-columns:1fr}}
#account .panel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.acct-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0 26px}
@media(max-width:640px){.acct-cards{grid-template-columns:1fr}}
.acct-card{background:var(--card,#141821);border:1px solid var(--line,#242a36);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:6px}
.acct-card .acct-k{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#8b94a7)}
.acct-card b{font-size:30px;font-weight:800;line-height:1}
.acct-card small{font-size:12.5px}
.acct-cta{justify-content:space-between}
.acct-cta button{margin-top:6px}
.acct-orders{overflow-x:auto;margin:6px 0 22px}
.acct-orders table.ord{width:100%;border-collapse:collapse;font-size:13.5px}
.acct-orders .ord th,.acct-orders .ord td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line,#242a36);white-space:nowrap}
.acct-orders .ord th{color:var(--muted,#8b94a7);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.acct-orders .empty{color:var(--muted,#8b94a7);padding:14px 0}
.acct-orders .ord td.pos{color:var(--accent,#54d6c1)}
.acct-orders .ord td.neg{color:var(--muted,#8b94a7)}
.acct-danger{display:flex;gap:20px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line,#242a36);padding-top:18px}
.acct-danger .link{background:none;border:0;cursor:pointer;color:#e2557b;font-weight:600;padding:0}
#acct-cancel{color:var(--muted,#8b94a7)!important}
#pricing .cards article.featured{position:relative;border:2px solid var(--accent,#5b8cff);box-shadow:0 10px 34px rgba(91,140,255,.22);transform:translateY(-4px)}
#pricing .cards article.featured .badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--accent,#5b8cff);color:#fff;font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:4px 12px;border-radius:999px;white-space:nowrap}
@media(max-width:640px){#pricing .cards article.featured{transform:none}}
.lowcredit{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#2a1e12;border:1px solid #6b4a1f;color:#ffd9a8;border-radius:12px;padding:12px 16px;margin:0 0 16px;font-size:14px}
.lowcredit button{flex:0 0 auto}
.referral-card{background:var(--card,#141821);border:1px solid var(--line,#242a36);border-radius:14px;padding:16px 20px;display:flex;flex-direction:column;gap:8px;margin:0 0 16px}
.referral-card .acct-k{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#8b94a7)}
.referral-link-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.referral-link-row code{background:var(--bg,#0c0f15);border:1px solid var(--line,#242a36);border-radius:8px;padding:6px 10px;font-size:13px;word-break:break-all}
.referral-link-row .link{background:none;border:1px solid var(--line,#242a36);border-radius:8px;cursor:pointer;color:var(--accent,#5b8cff);font-weight:600;padding:5px 12px}
.referral-card small{font-size:12.5px;color:var(--muted,#8b94a7)}
.referred-notice{background:#12233a;border:1px solid #2c5c9e;color:#bcdcff;border-radius:12px;padding:12px 16px;margin:0 0 16px;font-size:14px}
.referred-notice.credited{background:#1c3320;border-color:#3f8a52;color:#c9f5d4}
@media(min-width:461px) and (max-width:980px){.cards{grid-template-columns:1fr 1fr}}

/* ── upload dropzone (2026-07-19) ── */
.dropzone{flex-direction:column;align-items:stretch;transition:border-color .15s ease}
.file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.drop-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:34px 20px;border-radius:10px;cursor:pointer;text-align:center;transition:background .15s ease}
.drop-area:hover{background:rgba(84,214,193,.05)}
.drop-ico{font-size:32px;line-height:1}
.drop-title{margin:0;font-size:15.5px;font-weight:700}
.drop-filename{color:var(--muted);font-size:13.5px;margin:0}
.drop-filename.has-file{color:var(--accent);font-weight:700}
.upload.dragover{border-color:var(--accent);border-style:solid}
.upload.dragover .drop-area{background:rgba(84,214,193,.1)}
.upload-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:16px;width:100%}
.upload-row small{width:auto;flex:1;min-width:200px}
@media(max-width:650px){.upload-row{flex-direction:column;align-items:stretch}.upload-row button{width:100%}}

/* ── pricing cost-per-screening comparison (2026-07-19) ── */
.cost-compare{max-width:640px;margin:32px auto 0;padding:24px 26px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.cc-title{margin:0 0 18px;font-size:12px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.cc-row{display:flex;align-items:center;gap:14px;margin:12px 0}
.cc-name{width:64px;flex:none;font-weight:700;font-size:14px;color:var(--muted)}
.cc-bar-wrap{flex:1;height:10px;background:#1a2129;border-radius:6px;overflow:hidden}
.cc-bar{height:100%;border-radius:6px;background:#3a4552}
.cc-row.best .cc-name{color:var(--text)}
.cc-row.best .cc-bar{background:var(--accent)}
.cc-val{width:64px;flex:none;text-align:right;font-weight:700;font-variant-numeric:tabular-nums;font-size:14px}
.cc-row.best .cc-val{color:var(--accent)}
.cc-badge{flex:none;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#06110f;background:var(--accent);padding:3px 8px;border-radius:99px}
@media(max-width:520px){.cc-name{width:52px;font-size:12.5px}.cc-val{width:52px;font-size:12.5px}.cc-badge{display:none}}
