/* Keep The Profit — Referral-Partner portal
   Builds on styles.css + dealroom.css (same navy/gold system). The site is a
   single light theme, so the portal commits to it rather than a dark variant. */

:root{
  --surface-1:#ffffff; --text-primary:#1a2230; --text-secondary:#55617a; --text-muted:#7a8599;
  /* Brand navy #12305a fails the data-mark gates (L 0.31, chroma 0.08 — reads
     gray); #1c5cab is the nearest blue that passes lightness, chroma and 3:1. */
  --grid:#e6ebf2; --series-1:#1c5cab; --hover-wash:#f4f7fb;
}
.viz-root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif}

/* ---------- KPI row (stat tiles: label · value) ---------- */
.rp-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}
.rp-kpi{color:var(--text-primary);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}
.rp-kpi .lbl{font-size:13px;color:var(--text-secondary);margin-bottom:6px}
.rp-kpi .val{font-size:30px;font-weight:600;color:var(--text-primary);line-height:1.1}
.rp-kpi .sub{font-size:12.5px;color:var(--text-muted);margin-top:6px}
.rp-kpi-hero{border-top:4px solid var(--gold)}
.rp-kpi-hero .val{font-size:48px}
@media(max-width:900px){.rp-kpis{grid-template-columns:repeat(2,1fr)}.rp-kpi-hero .val{font-size:38px}}
@media(max-width:480px){.rp-kpis{grid-template-columns:1fr}}

/* ---------- pipeline chart (one series, horizontal bars) ---------- */
.rp-chart{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;margin:0 0 26px;position:relative}
.rp-chart figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px}
.rp-chart h3{font-family:inherit;font-size:16px;color:var(--text-primary);font-weight:600}
.rp-chart .note{font-size:12.5px;color:var(--text-muted)}
.rp-linkbtn{background:none;border:0;color:var(--navy2);font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:4px 0}
.rp-linkbtn:hover{color:var(--gold)}
.rp-bars{display:grid;gap:4px}
.rp-bar-row{display:grid;grid-template-columns:minmax(150px,210px) 1fr;align-items:center;gap:14px;padding:6px 8px;border-radius:8px;outline:none;cursor:default}
.rp-bar-row:hover,.rp-bar-row:focus-visible{background:var(--hover-wash)}
.rp-bar-row:focus-visible{box-shadow:0 0 0 2px var(--gold2)}
.rp-bar-lbl{font-size:13.5px;color:var(--text-primary)}
.rp-bar-lbl small{color:var(--text-muted);margin-left:6px}
.rp-bar-track{display:flex;align-items:center;gap:8px;min-width:0;border-left:1px solid #c3cddc;min-height:24px}
.rp-bar{height:18px;background:var(--series-1);border-radius:0 4px 4px 0;flex:0 0 auto}
.rp-bar-row:hover .rp-bar,.rp-bar-row:focus-visible .rp-bar{opacity:.85}
.rp-bar-val{font-size:13px;color:var(--text-secondary);white-space:nowrap}
@media(max-width:560px){.rp-bar-row{grid-template-columns:1fr;gap:4px}}
.rp-tip{position:fixed;z-index:300;pointer-events:none;background:#fff;border:1px solid var(--line);border-radius:8px;
  box-shadow:0 8px 24px rgba(18,48,90,.16);padding:9px 12px;font:13px system-ui,-apple-system,"Segoe UI",sans-serif;min-width:170px}
.rp-tip .v{font-size:16px;font-weight:600;color:var(--text-primary)}
.rp-tip .k{display:flex;align-items:center;gap:7px;color:var(--text-secondary);margin-top:3px}
.rp-tip .k i{display:inline-block;width:12px;height:2px;background:var(--series-1)}
.rp-table{width:100%;border-collapse:collapse;font-size:14px}
.rp-table th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:700;padding:8px 10px;border-bottom:1px solid var(--line)}
.rp-table td{padding:9px 10px;border-bottom:1px solid #eef1f5;font-variant-numeric:tabular-nums}
.rp-table td.num,.rp-table th.num{text-align:right}

/* ---------- lists / tables ---------- */
.rp-row{display:grid;grid-template-columns:2.2fr 1.3fr 1fr 1fr;gap:14px;padding:15px 18px;border-bottom:1px solid var(--line);
  align-items:center;font-size:14.5px;color:inherit}
.rp-row:last-child{border-bottom:0}
.rp-row.h{background:#eef3fa;font-size:11.5px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:700}
a.rp-row:hover{background:#f8fbff}
.rp-row .who{font-weight:700;color:var(--navy)}
.rp-row .who small{display:block;font-weight:400;color:var(--muted);font-size:12.5px}
.rp-row .num{font-variant-numeric:tabular-nums}
.rp-row.admin{grid-template-columns:2fr .7fr .7fr 1fr 1fr 1fr}
@media(max-width:760px){.rp-row,.rp-row.admin{grid-template-columns:1fr 1fr;gap:6px 14px}.rp-row.h{display:none}.rp-row .who{grid-column:1/-1}}

.pill.st-received{background:#e9eff8;color:var(--navy)}
.pill.st-prep{background:var(--warnbg);color:var(--warn)}
.pill.st-active{background:#e6f2fb;color:#1c5c8f}
.pill.st-aoc,.pill.st-pending{background:#f3ecfa;color:#6b3fa0}
.pill.st-closed{background:var(--okbg);color:var(--ok)}
.pill.st-withdrawn{background:#eef0f3;color:#5c6677}

.rp-upcoming{list-style:none;margin:0;padding:0}
.rp-upcoming li{display:grid;grid-template-columns:120px 1fr auto;gap:12px;padding:12px 0;border-bottom:1px solid #eef1f5;font-size:14.5px}
.rp-upcoming li:last-child{border-bottom:0}
.rp-upcoming .d{font-weight:700;color:var(--navy)}
.rp-upcoming .a{color:var(--muted);font-size:13px}

/* ---------- stage stepper ---------- */
.rp-steps{display:flex;gap:0;margin:6px 0 24px;overflow-x:auto;padding-bottom:4px}
.rp-step{flex:1 1 0;min-width:98px;position:relative;padding-top:22px;font-size:12px;color:var(--muted);text-align:center}
.rp-step::before{content:"";position:absolute;top:7px;left:0;right:0;height:3px;background:#dde4ee}
.rp-step::after{content:"";position:absolute;top:1px;left:50%;width:15px;height:15px;margin-left:-7.5px;border-radius:50%;background:#fff;border:3px solid #dde4ee;box-sizing:border-box}
.rp-step.done::before,.rp-step.now::before{background:var(--navy)}
.rp-step.done::after{background:var(--navy);border-color:var(--navy)}
.rp-step.now::after{border-color:var(--gold);background:#fff}
.rp-step.now{color:var(--navy);font-weight:700}

/* ---------- net sheet ---------- */
.rp-sheet{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px}
.rp-sheet h2{font-size:21px;margin-bottom:2px}
.rp-sheet .meta{font-size:13px;color:var(--muted);margin-bottom:16px}
.rp-sheet table{width:100%;border-collapse:collapse;font-size:15px}
.rp-sheet td{padding:10px 4px;border-bottom:1px solid #eef1f5;font-variant-numeric:tabular-nums}
.rp-sheet td.num{text-align:right;white-space:nowrap}
.rp-sheet tr.total td{border-top:2px solid var(--navy);border-bottom:0;font-weight:700;color:var(--navy);font-size:17px}
.rp-sheet tr.reserve td{color:#6b3fa0;font-weight:600}
.rp-sheet .fine{font-size:12px;color:var(--muted);margin-top:14px;line-height:1.55}

.rp-code{font-size:26px !important;letter-spacing:10px;text-align:center;font-variant-numeric:tabular-nums;max-width:260px}
.rp-toggle{display:flex;gap:10px;align-items:flex-start;font-weight:400 !important;color:var(--ink) !important;font-size:14.5px}
.rp-toggle input{width:18px;height:18px;margin-top:2px;accent-color:var(--gold)}

@media print{
  header,footer,.dr-back,.dr-actions,.no-print{display:none !important}
  body{background:#fff}
  .dr-main{padding:0}
  .rp-sheet{border:0;padding:0}
}
