/* Domain Watch — shared identity.
   Ink navy / steel / paper / amber-alert. Archivo display, Source Sans body,
   IBM Plex Mono as the "data voice" for anything the machines say. */
:root{
  --ink:#16283E; --ink-2:#1E344A; --steel:#3D6B99; --steel-lt:#9FC0E0;
  --paper:#FAFBFC; --panel:#FFFFFF; --line:#DDE3EA; --txt:#1D2733;
  --muted:#6B7684; --amber:#C97B1A; --amber-bg:#FBF3E6; --ok:#2E7D4F;
  --bad:#B3261E; --mono:'IBM Plex Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Source Sans 3',system-ui,sans-serif;background:var(--paper);color:var(--txt);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--steel)}
h1,h2,h3{font-family:'Archivo',sans-serif;color:var(--ink);letter-spacing:-.01em}
.mono{font-family:var(--mono)}

/* ---------- chrome ---------- */
.topbar{background:var(--ink);color:#fff;padding:0 28px;display:flex;justify-content:space-between;align-items:center;height:58px}
.brand{font-family:'Archivo',sans-serif;font-weight:700;font-size:17px;color:#fff;text-decoration:none;display:flex;align-items:center;gap:10px}
.brand .dot{width:9px;height:9px;background:var(--amber);border-radius:50%;box-shadow:0 0 0 3px rgba(201,123,26,.25)}
.topbar nav a{color:var(--steel-lt);text-decoration:none;margin-left:22px;font-size:14.5px}
.topbar nav a.cta{background:#fff;color:var(--ink);padding:8px 16px;font-family:'Archivo',sans-serif;font-weight:600}
main{max-width:1060px;margin:0 auto;padding:28px 20px 60px}

/* ---------- public front ---------- */
.hero{background:var(--ink);color:#fff;padding:72px 28px 0;overflow:hidden}
.hero-inner{max-width:1060px;margin:0 auto}
.hero .kicker{font-family:var(--mono);font-size:13px;color:var(--amber);letter-spacing:.08em;margin-bottom:18px}
.hero h1{color:#fff;font-size:clamp(30px,5vw,50px);font-weight:700;line-height:1.08;max-width:720px}
.hero p.sub{color:#C6D4E2;font-size:19px;max-width:560px;margin:20px 0 30px}
.hero .actions a{display:inline-block;text-decoration:none;font-family:'Archivo',sans-serif;font-weight:600;padding:13px 26px;margin-right:12px}
.hero .actions .primary{background:var(--amber);color:#fff}
.hero .actions .ghost{border:1px solid #3d5573;color:#fff}
.dnsline{margin:48px 0 0;background:#0F1D2E;border:1px solid #2A4059;border-left:4px solid var(--amber);padding:18px 22px;font-family:var(--mono);font-size:14px;color:#D7E3EF;overflow-x:auto;white-space:nowrap}
.dnsline .c{color:#5E7A99}
.dnsline .a{color:var(--amber)}
/* the wire — live report feed */
.wire{border-top:1px solid #2A4059;margin-top:0;padding:13px 0;overflow:hidden;position:relative}
.wire-track{display:flex;gap:44px;font-family:var(--mono);font-size:12.5px;color:#7E97B3;white-space:nowrap;animation:wire 42s linear infinite;width:max-content}
.wire-track b{color:#C6D4E2;font-weight:500}
.wire-track .p{color:#6FBF8E}.wire-track .f{color:#E08A84}
@keyframes wire{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.wire-track{animation:none}}

section.band{padding:56px 0 8px}
section.band h2{font-size:26px;margin-bottom:8px}
section.band .lede{color:var(--muted);font-size:17px;max-width:620px;margin-bottom:28px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);background:var(--panel)}
.step{padding:24px;border-right:1px solid var(--line)}
.step:last-child{border-right:0}
.step .k{font-family:var(--mono);font-size:12px;color:var(--steel);display:block;margin-bottom:10px}
.step b{font-family:'Archivo',sans-serif;display:block;color:var(--ink);margin-bottom:6px}
.step span{font-size:14.5px;color:var(--muted)}

.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.plan{background:var(--panel);border:1px solid var(--line);padding:24px}
.plan.feature{border:2px solid var(--steel);position:relative}
.plan .badge{position:absolute;top:-11px;left:16px;background:var(--steel);color:#fff;font-family:'Archivo',sans-serif;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px}
.plan h3{font-size:17px}
.price{font-family:'Archivo',sans-serif;font-weight:700;font-size:30px;color:var(--ink);margin:8px 0 14px}
.price small{font-family:'Source Sans 3';font-weight:400;font-size:14px;color:var(--muted)}
.plan ul{list-style:none}
.plan li{font-size:14.5px;padding:4px 0 4px 22px;position:relative}
.plan li::before{content:"";position:absolute;left:0;top:11px;width:11px;height:11px;background:var(--ok);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%)}
.ctaband{background:var(--ink);color:#fff;margin-top:56px;padding:34px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.ctaband b{font-family:'Archivo';font-size:20px;display:block}
.ctaband span{color:#C6D4E2}
.ctaband a{background:var(--amber);color:#fff;text-decoration:none;font-family:'Archivo';font-weight:600;padding:13px 26px;white-space:nowrap}
footer{padding:22px 28px;color:var(--muted);font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line);margin-top:60px}

/* ---------- app (portal + admin) ---------- */
.pagehead{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:20px;flex-wrap:wrap;gap:10px}
.pagehead h1{font-size:24px}
.pagehead .sub{color:var(--muted);font-size:14px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:26px}
.card{background:var(--panel);border:1px solid var(--line);padding:16px 18px}
.card .n{font-family:'Archivo';font-weight:700;font-size:28px;color:var(--ink)}
.card .l{font-size:13px;color:var(--muted)}
.card.warn .n{color:var(--amber)}
.card.crit .n{color:var(--bad)}
table{width:100%;border-collapse:collapse;background:var(--panel);font-size:14px;margin-bottom:28px;border:1px solid var(--line)}
th,td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
th{background:#EEF1F5;font-weight:600;font-size:13px}
tr:last-child td{border-bottom:0}
.bar{background:#E8ECF1;height:8px;width:120px;display:inline-block;vertical-align:middle;margin-right:8px}
.bar i{display:block;height:100%;background:var(--ok)}
.bar.low i{background:var(--bad)}
.pill{font-family:var(--mono);font-size:11.5px;padding:2px 8px;background:#EEF1F5;color:var(--muted)}
.pill.spoof{background:#F9E7E5;color:var(--bad)}
.pill.new_source{background:var(--amber-bg);color:var(--amber)}
.pill.auth_fail_spike{background:#F9E7E5;color:var(--bad)}
.ok{color:var(--ok)}.bad{color:var(--bad);font-weight:600}.mutd{color:var(--muted)}
.panel{background:var(--panel);border:1px solid var(--line);padding:20px 24px;margin-bottom:24px}
.panel h2{font-size:17px;margin-bottom:12px}
input,select{font-size:15px;padding:9px 11px;border:1px solid var(--line);background:#fff;margin:4px 8px 4px 0;font-family:inherit}
button{background:var(--ink);color:#fff;border:0;cursor:pointer;font-family:'Archivo';font-weight:600;font-size:14.5px;padding:10px 20px}
button.danger{background:var(--bad)}
.flash{padding:12px 16px;margin-bottom:18px;font-size:14.5px}
.flash.okf{background:#E7F2EB;color:var(--ok);border:1px solid #BFDCCB}
.flash.errf{background:#F9E7E5;color:var(--bad);border:1px solid #ECC5C1}
.dnsrec{background:#0F1D2E;color:#D7E3EF;font-family:var(--mono);font-size:13px;padding:14px 16px;overflow-x:auto;white-space:nowrap;border-left:4px solid var(--amber)}
.login-wrap{max-width:380px;margin:70px auto}
.login-wrap .brandline{text-align:center;margin-bottom:22px}
.login-wrap input{width:100%;margin:6px 0}
.login-wrap button{width:100%;margin-top:10px}

@media (max-width:760px){
  .steps,.plans{grid-template-columns:1fr}
  .step{border-right:0;border-bottom:1px solid var(--line)}
  .topbar{padding:0 16px}.topbar nav a{margin-left:12px}
  .hero{padding:48px 16px 0}
}

/* ================= operator console shell (v0.4.0) ================= */
.shell{display:flex;min-height:calc(100vh - 58px);align-items:stretch}
.side{width:212px;flex:0 0 212px;background:#12212F;border-right:1px solid #0C1825;padding:16px 0 40px}
.side .grp{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#5E7A99;padding:16px 18px 6px}
.side a{display:flex;align-items:center;gap:9px;padding:8px 18px;color:#B8CADB;text-decoration:none;font-size:14.5px;border-left:3px solid transparent}
.side a:hover{background:#182B3D;color:#fff}
.side a.on{background:#1B3049;border-left-color:var(--amber);color:#fff;font-weight:600}
.side a .ic{width:16px;text-align:center;opacity:.75;font-size:13px}
.side .cnt{margin-left:auto;font-family:var(--mono);font-size:11px;background:#26405B;color:#C6D4E2;padding:1px 6px;border-radius:9px}
.side .cnt.hot{background:#7A2B22;color:#FFD9D4}
.work{flex:1;min-width:0;padding:26px 30px 70px;max-width:1080px}
.work h1{font-size:23px;margin-bottom:3px}
.work .sub{color:var(--muted);font-size:14px;margin-bottom:22px}

/* grade chip */
.grade{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;font-family:'Archivo';font-weight:700;font-size:20px;color:#fff;background:var(--muted)}
.grade.A{background:#2E7D4F}.grade.B{background:#5C9E52}.grade.C{background:#C99A1A}
.grade.D{background:#C97B1A}.grade.F{background:#B3261E}.grade\?{background:#6B7684}

/* findings */
.find{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.find:last-child{border-bottom:0}
.find .sev{font-family:var(--mono);font-size:10px;letter-spacing:.06em;padding:3px 7px;flex:0 0 auto;margin-top:1px;text-transform:uppercase}
.sev.crit{background:#F9E7E5;color:var(--bad)}.sev.warn{background:var(--amber-bg);color:var(--amber)}
.sev.info{background:#EAF0F6;color:var(--steel)}.sev.ok{background:#E7F2EB;color:var(--ok)}
.find b{font-size:14.5px;color:var(--ink);font-weight:600;display:block}
.find p{font-size:13.5px;color:var(--muted);margin-top:2px}

.rec{background:#0F1D2E;color:#D7E3EF;font-family:var(--mono);font-size:12.5px;padding:11px 13px;overflow-x:auto;white-space:pre-wrap;word-break:break-all;border-left:3px solid var(--steel);margin:6px 0 2px;line-height:1.5}
.reclbl{font-family:var(--mono);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:14px}

textarea{width:100%;font-family:var(--mono);font-size:13px;padding:11px;border:1px solid var(--line);min-height:150px;resize:vertical}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.status{font-family:var(--mono);font-size:11px;padding:3px 8px;font-weight:500}
.status.HOT{background:#B3261E;color:#fff}.status.WARM{background:var(--amber);color:#fff}
.status.COOL{background:#EAF0F6;color:var(--steel)}.status.COLD{background:#EEF1F5;color:var(--muted)}
.status.SKIP,.status.RETRY,.status.ERROR{background:#EEF1F5;color:var(--muted)}
.needbar{background:#E8ECF1;height:6px;width:70px;display:inline-block;vertical-align:middle;margin-right:7px}
.needbar i{display:block;height:100%;background:var(--bad)}

/* stepper */
.stepper{border:1px solid var(--line);background:var(--panel)}
.st{display:flex;gap:13px;padding:14px 18px;border-bottom:1px solid var(--line);align-items:flex-start}
.st:last-child{border-bottom:0}
.st .num{flex:0 0 24px;height:24px;border-radius:50%;background:#EEF1F5;color:var(--muted);font-family:'Archivo';font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center}
.st.done .num{background:var(--ok);color:#fff}
.st.now .num{background:var(--amber);color:#fff}
.st b{font-size:14.5px;color:var(--ink)}
.st .meta{font-size:13px;color:var(--muted)}
.verdict{padding:14px 18px;background:var(--amber-bg);border-left:3px solid var(--amber);font-size:14.5px;margin-bottom:18px}
.verdict.go{background:#E7F2EB;border-left-color:var(--ok)}
.verdict b{display:block;font-family:'Archivo';color:var(--ink);margin-bottom:3px}

.copybtn{background:none;border:1px solid var(--line);color:var(--steel);font-size:12px;padding:4px 10px;font-family:var(--mono);cursor:pointer}
.copybtn:hover{background:#EEF1F5}
details.play{border:1px solid var(--line);background:var(--panel);margin-bottom:10px}
details.play summary{padding:13px 18px;cursor:pointer;font-family:'Archivo';font-weight:600;font-size:15px;color:var(--ink);list-style:none;display:flex;align-items:center;gap:10px}
details.play summary::-webkit-details-marker{display:none}
details.play summary::before{content:"▸";color:var(--steel);font-size:12px}
details.play[open] summary::before{content:"▾"}
details.play .in{padding:0 18px 16px;font-size:14.5px;color:var(--slate)}
details.play .in ol{margin:8px 0 8px 18px}details.play .in li{margin:5px 0}

@media (max-width:860px){
  .shell{flex-direction:column}
  .side{width:100%;flex:none;display:flex;flex-wrap:wrap;padding:6px}
  .side .grp{display:none}
  .side a{border-left:0;border-bottom:3px solid transparent;padding:8px 12px}
  .side a.on{border-left:0;border-bottom-color:var(--amber)}
  .work{padding:18px 14px 50px}
}

/* ---- v0.5.0: posture chips, prospect flag, report preview ---- */
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 0}
.chip{border:1px solid var(--line);background:#fff;padding:7px 11px;min-width:84px}
.chip .cl{font-family:var(--mono);font-size:10px;letter-spacing:.07em;color:var(--muted);text-transform:uppercase;display:block}
.chip .cv{font-family:'Archivo';font-weight:700;font-size:14px;margin-top:2px;display:block}
.chip.crit{border-color:#ECC5C1;background:#FDF6F5}.chip.crit .cv{color:var(--bad)}
.chip.warn{border-color:#EBD9B8;background:#FDFAF4}.chip.warn .cv{color:var(--amber)}
.chip.ok{border-color:#C6E0CF;background:#F6FBF8}.chip.ok .cv{color:var(--ok)}
.chip.info .cv{color:var(--muted)}
.flag{display:inline-flex;align-items:center;gap:7px;background:var(--amber-bg);border:1px solid #EBD9B8;
      border-left:4px solid var(--amber);padding:10px 14px;margin:14px 0 0;width:100%}
.flag b{font-family:'Archivo';color:var(--ink);font-size:14.5px}
.flag span{color:var(--slate);font-size:13.5px}
.flag .tag{background:var(--amber);color:#fff;font-family:var(--mono);font-size:10px;letter-spacing:.1em;padding:3px 8px}
.bl{border:1px solid var(--line);background:#fff;margin-bottom:10px;border-left:4px solid var(--line)}
.bl.listed{border-left-color:var(--bad)}.bl.clean{border-left-color:var(--ok)}.bl.unk{border-left-color:var(--muted)}
.bl .h{display:flex;justify-content:space-between;align-items:center;padding:11px 15px;gap:10px;flex-wrap:wrap}
.bl .h b{font-family:'Archivo';font-size:14.5px;color:var(--ink)}
.bl .d{padding:0 15px 12px;font-size:13.5px;color:var(--muted);line-height:1.55}
.actions{background:var(--panel);border:1px solid var(--line);padding:16px 20px}
.actions li{font-size:14px;margin:6px 0 6px 18px}
.mailpv{border:1px solid var(--line);background:#E9EDF1;padding:0;overflow:hidden}
.mailpv iframe{width:100%;height:760px;border:0;display:block}
