/* Archival/legal register rather than fintech: this is an evidence product.
   Oxblood accent on warm bone, deliberately outside the usual SaaS palette.
   Tier colours are SEMANTIC and separate from the accent -- they encode
   recoverable value, not brand. */
:root {
  --paper:#F6F3F2; --raised:#FFF; --sunken:#EDE8E7;
  --ink:#1C1719; --body:#3B3236; --muted:#6E6266; --faint:#8F8388;
  --rule:#DFD6D6; --rule-strong:#C6B9BA;
  --accent:#7A2233; --accent-soft:#F0E2E4; --accent-ink:#5C1725;
  --tier-a:#1F5C3D; --tier-b:#5A7A34; --tier-c:#A8781F; --tier-d:#8A8085;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,ui-serif,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper:#171315; --raised:#211B1E; --sunken:#120E10;
    --ink:#F2ECED; --body:#D6CCCE; --muted:#A29498; --faint:#7D6E73;
    --rule:#332A2D; --rule-strong:#4A3E42;
    --accent:#D2687D; --accent-soft:#3A2027; --accent-ink:#EFA6B4;
    --tier-a:#5CB98A; --tier-b:#9CC367; --tier-c:#D9A94E; --tier-d:#7E7378;
  }
}
:root[data-theme="dark"] {
  --paper:#171315; --raised:#211B1E; --sunken:#120E10;
  --ink:#F2ECED; --body:#D6CCCE; --muted:#A29498; --faint:#7D6E73;
  --rule:#332A2D; --rule-strong:#4A3E42;
  --accent:#D2687D; --accent-soft:#3A2027; --accent-ink:#EFA6B4;
  --tier-a:#5CB98A; --tier-b:#9CC367; --tier-c:#D9A94E; --tier-d:#7E7378;
}

*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--body);font-family:var(--sans);
     font-size:16.5px;line-height:1.6;-webkit-font-smoothing:antialiased}
.bar{display:flex;justify-content:space-between;align-items:center;
     padding:18px 24px;border-bottom:1px solid var(--rule)}
.wordmark{font-family:var(--mono);font-size:13px;letter-spacing:.14em;
          text-transform:uppercase;color:var(--accent);font-weight:600}
.auth{font-family:var(--mono);font-size:12px;color:var(--muted)}
main{max-width:640px;margin:0 auto;padding:44px 24px 96px}
h1{font-family:var(--serif);font-size:clamp(34px,6vw,50px);line-height:1.05;
   letter-spacing:-.02em;font-weight:400;color:var(--ink);margin:0 0 16px;
   text-wrap:balance}
h2{font-family:var(--serif);font-size:27px;font-weight:400;color:var(--ink);margin:0 0 12px}
.lede{font-family:var(--serif);font-size:18.5px;color:var(--body);margin:0 0 28px}

.drop{display:flex;flex-direction:column;align-items:center;justify-content:center;
      gap:6px;padding:44px 24px;border:1.5px dashed var(--rule-strong);
      border-radius:4px;background:var(--raised);cursor:pointer;
      transition:border-color .15s,background .15s}
.drop:hover,.drop.over{border-color:var(--accent);background:var(--accent-soft)}
.drop-title{font-family:var(--serif);font-size:19px;color:var(--ink)}
.drop-sub{font-family:var(--mono);font-size:11.5px;color:var(--faint);
          letter-spacing:.04em}
.fineprint{font-size:13.5px;color:var(--muted);text-align:center;margin-top:14px}

.steps{list-style:none;padding:0;margin:22px 0;font-family:var(--mono);font-size:13.5px}
.steps li{padding:9px 0 9px 26px;position:relative;color:var(--faint)}
.steps li::before{content:"○";position:absolute;left:0}
.steps li.active{color:var(--ink)}
.steps li.active::before{content:"◐";color:var(--accent)}
.steps li.done{color:var(--muted)}
.steps li.done::before{content:"●";color:var(--tier-a)}

.card{background:var(--raised);border:1px solid var(--rule-strong);border-radius:6px;
      padding:26px;box-shadow:0 8px 24px -14px rgba(0,0,0,.25)}
.rowlabel{font-family:var(--mono);font-size:10px;letter-spacing:.14em;
          text-transform:uppercase;color:var(--faint);margin:22px 0 6px;
          padding-top:16px;border-top:1px solid var(--rule)}
.rowlabel:first-child{margin-top:0;padding-top:0;border-top:none}
.big{font-family:var(--serif);font-size:25px;color:var(--ink);margin:0;line-height:1.2}
.sub{font-family:var(--mono);font-size:12.5px;color:var(--muted);margin:5px 0 0}
.bomb{color:var(--accent);font-weight:650;font-size:17px;margin:0}
.tally{font-family:var(--mono);font-size:20px;color:var(--ink);margin:0;
       font-variant-numeric:tabular-nums}
.summary{margin:0;font-size:15px}
.tierchip{display:inline-block;font-family:var(--mono);font-weight:700;font-size:12px;
          color:#fff;padding:2px 8px;border-radius:3px}
.tier-a{background:var(--tier-a)} .tier-b{background:var(--tier-b)}
.tier-c{background:var(--tier-c)} .tier-d{background:var(--tier-d)}
.disclaimer{font-size:13.5px;color:var(--muted);margin:18px 0 0;font-style:italic}

.actions{display:flex;flex-direction:column;gap:10px;margin-top:24px}
.btn{padding:12px 16px;border:1px solid var(--rule-strong);border-radius:4px;
     background:var(--sunken);color:var(--ink);font-size:14.5px;font-family:inherit;
     cursor:pointer}
.btn:hover{border-color:var(--accent)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

form{display:flex;flex-direction:column;gap:18px}
label{display:flex;flex-direction:column;gap:5px;font-size:14.5px;color:var(--ink)}
label small{color:var(--muted);font-size:12.5px;font-weight:400}
input,select{padding:10px 12px;border:1px solid var(--rule-strong);border-radius:4px;
             background:var(--raised);color:var(--ink);font-size:15px;font-family:inherit}
input:focus,select:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}
label.check{flex-direction:row;align-items:center;gap:9px}
label.check input{width:auto}
.error{color:var(--accent-ink);background:var(--accent-soft);border:1px solid var(--accent);
       border-radius:4px;padding:10px 12px;font-size:14px;margin:0}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
