/* QUANTVESTRIX — the single company stylesheet.
   One brand across qusd.us, qusdscan.us, qusd.quantvestrix.io and
   audit.quantvestrix.io. Canonical source: /var/www/qusd.us/brand/qvtx.css,
   mirrored to every docroot and served at /brand/qvtx.css on each host.
   Taken from the qusd.us front page, which was already correct. */
:root{
  --bg:#ffffff; --fg:#14171a; --muted:#5b6670; --line:#e4e8ec; --panel:#f6f8fa;
  --accent:#1a7f4b; --accent2:#2563a8; --warn:#a2600b; --bad:#9a1b1b;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 var(--sans);
 font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
a{color:var(--accent2);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3{letter-spacing:-.015em}
code,.mono{font-family:var(--mono);font-size:.86em;background:var(--panel);
 padding:1px 5px;border-radius:4px;word-break:break-all}

/* ---- header ---- */
header.qv{border-bottom:1px solid var(--line);position:sticky;top:0;
 background:rgba(255,255,255,.92);backdrop-filter:blur(6px);z-index:50}
header.qv .bar{display:flex;align-items:center;justify-content:space-between;height:60px;
 max-width:1080px;margin:0 auto;padding:0 20px}
header.qv .brand{font-weight:800;letter-spacing:.14em;font-size:19px;color:var(--fg);
 display:flex;align-items:baseline;gap:8px}
header.qv .brand:hover{text-decoration:none}
header.qv .brand small{font-weight:500;letter-spacing:.04em;color:var(--muted);font-size:12px}
header.qv nav{display:flex;align-items:center;gap:20px}
header.qv nav a{color:var(--fg);font-size:14px;font-weight:600}
header.qv nav a:hover{color:var(--accent);text-decoration:none}
header.qv nav a.on{color:var(--accent)}
@media(max-width:820px){header.qv nav a:not(.btn){display:none}}
/* `header.qv nav a` is specificity (0,1,3) and beat `.btn-solid` (0,1,0),
   so the Get QUSD button rendered --fg text on a --fg background: a solid
   black pill with invisible label. Scope the button colours to the header
   so they outrank the nav link colour. */
header.qv nav a.btn-solid{color:#fff}
header.qv nav a.btn-ghost{color:var(--fg)}

/* ---- buttons ---- */
.btn{display:inline-block;font:inherit;font-size:13px;font-weight:700;padding:8px 15px;
 border-radius:9px;border:1.5px solid var(--fg);white-space:nowrap;line-height:1;cursor:pointer}
.btn-solid{background:var(--fg);color:#fff;border-color:var(--fg)}
.btn-solid:hover{background:#000;text-decoration:none}
.btn-ghost{background:transparent;color:var(--fg)}
.btn-ghost:hover{background:var(--panel);text-decoration:none}

/* ---- hero + sections ---- */
.hero{padding:54px 0 30px;border-bottom:1px solid var(--line)}
.hero h1{font-size:clamp(28px,5vw,44px);line-height:1.08;margin:0 0 14px}
.hero p{font-size:clamp(16px,2.2vw,19px);color:var(--muted);max-width:66ch;margin:0}
section.qv{padding:40px 0;border-bottom:1px solid var(--line)}
section.qv:last-of-type{border-bottom:none}
section.qv h2{font-size:22px;margin:0 0 6px}
.lede{color:var(--muted);margin:0 0 20px;max-width:70ch}

/* ---- status pill ---- */
.peg{display:inline-flex;align-items:center;gap:9px;margin-top:18px;padding:8px 14px;
 border:1px solid var(--line);border-radius:999px;background:var(--panel);
 font-weight:600;font-size:14px}
.peg .d{width:9px;height:9px;border-radius:50%;background:var(--accent);
 box-shadow:0 0 0 4px rgba(26,127,75,.16)}
.peg .d.warn{background:var(--warn);box-shadow:0 0 0 4px rgba(162,96,11,.16)}

/* ---- cards ---- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;
 background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.card{background:var(--bg);padding:20px 18px}
.card .k{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);
 font-weight:700;margin-bottom:8px}
.card .v{font-size:clamp(19px,2.6vw,27px);font-weight:700;letter-spacing:-.02em;line-height:1.15}
.card .s{font-size:12.5px;color:var(--muted);margin-top:7px;line-height:1.45}

/* ---- tables ---- */
table.qv{width:100%;border-collapse:collapse;margin:14px 0;font-size:14.5px}
table.qv th,table.qv td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);
 vertical-align:top}
table.qv th{font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);
 font-weight:700;background:var(--panel)}
table.qv td.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}
table.qv tr.tot td{font-weight:800;background:var(--panel)}

/* ---- pills, notes, doc cards ---- */
.pill{display:inline-block;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px}
.pill.ok{background:rgba(26,127,75,.11);color:var(--accent)}
.pill.pend{background:rgba(162,96,11,.11);color:var(--warn)}
.pill.bad{background:rgba(154,27,27,.1);color:var(--bad)}
.note{background:var(--panel);border-left:3px solid var(--fg);padding:13px 16px;
 border-radius:0 8px 8px 0;margin:16px 0;font-size:14.5px;color:var(--muted)}
.note b{color:var(--fg)}
.docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px}
.doc{border:1px solid var(--line);border-radius:10px;padding:13px 15px;background:var(--bg);
 display:flex;justify-content:space-between;align-items:center;gap:12px}
.doc:hover{border-color:var(--accent);text-decoration:none}
.doc .t{font-weight:600;font-size:14px;color:var(--fg);line-height:1.35}
.doc .f{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.sk{color:var(--muted);font-weight:400}

/* ---- footer ---- */
footer.qv{padding:30px 0 50px;color:var(--muted);font-size:13px;line-height:1.7;
 border-top:1px solid var(--line);margin-top:10px}
footer.qv b{color:var(--fg)}
