/* Papaya UI v2 — SSENSE-minimal tokens + shared components. Served at /static/v2.css */
:root{
  --ink:#1b1b1b; --ink-2:#6b6b6b; --muted:#9a9a9a;
  --paper:#fff; --surface:#faf9f7;
  --line:#ececec; --line-2:#e2e2e2;
  --papaya:#E8731C; --green:#1B3A2B; --danger:#9a3b2f;
  --ease:cubic-bezier(.2,.6,.2,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font:13px/1.65 Inter,"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
h1,h2,h3,b,strong,th{font-weight:500}
h1{font-size:16px;letter-spacing:.02em;margin:0}
h2{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);margin:0 0 14px}
p{margin:8px 0}
a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line-2);transition:border-color .18s var(--ease),color .18s var(--ease)}
a:hover{border-color:var(--ink)}
code{font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--surface);border:1px solid var(--line);padding:2px 6px;word-break:break-all}
pre{white-space:pre-wrap;font:12.5px/1.6 inherit;background:var(--surface);border:1px solid var(--line);padding:12px 14px;margin:10px 0}
hr{border:0;border-top:1px solid var(--line);margin:28px 0}
::selection{background:var(--ink);color:var(--paper)}

.label,.meta{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;font-weight:500;color:var(--muted)}
.meta{margin-bottom:8px}
.meta b{color:var(--ink);font-weight:500}
.quiet{color:var(--ink-2);font-size:12px}
.fine{color:var(--muted);font-size:11px;line-height:1.7}
.num{font-variant-numeric:tabular-nums}

/* layout */
.wrap{max-width:1080px;margin:0 auto;padding:0 28px 96px}
.wrap.narrow{max-width:620px}
section{margin:44px 0}
.topbar{display:flex;align-items:baseline;gap:26px;padding:20px 0 16px;border-bottom:1px solid var(--line);margin-bottom:8px}
.topbar .mark{font-size:12px;letter-spacing:2.5px;text-transform:uppercase;font-weight:500;border:0}
.topbar nav{display:flex;gap:20px;margin-left:auto}
.topbar nav a{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--ink-2);border-bottom:1px solid transparent;padding-bottom:3px}
.topbar nav a:hover{color:var(--ink)}
.topbar nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink)}
.pagehead{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px;margin:30px 0 6px}
.pagehead form{display:inline;margin-left:auto}

/* KPI strip */
.kpis{display:flex;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.kpis .kpi{flex:1;min-width:150px;padding:18px 22px 16px;border-left:1px solid var(--line)}
.kpis .kpi:first-child{border-left:0;padding-left:0}
.kpis .kpi b{display:block;font-size:22px;font-weight:400;letter-spacing:.01em}
.kpis .kpi span{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted)}

/* callout — the single papaya moment on the dashboard */
.callout{border-top:1px solid var(--papaya);border-bottom:1px solid var(--line);padding:14px 0;margin:0 0 8px;color:var(--ink);font-size:12.5px}
.callout a{color:var(--papaya);border-bottom-color:var(--papaya)}
.callout .label{color:var(--papaya)}
.callout .dismiss{float:right;border:0;background:transparent;padding:0 6px;margin:0;font-size:14px;line-height:1;color:var(--muted)}
.callout .dismiss:hover{color:var(--ink);border-color:transparent}

/* buttons */
button,.btn{
  appearance:none;border:1px solid var(--line-2);background:transparent;color:var(--ink);
  font:11px/1 Inter,"Helvetica Neue",Helvetica,Arial,sans-serif;
  text-transform:uppercase;letter-spacing:1.2px;font-weight:500;
  padding:10px 18px;cursor:pointer;border-radius:0;margin-right:8px;
  transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease);
}
button:hover,.btn:hover{border-color:var(--ink)}
button.primary,.btn.primary{background:var(--papaya);border-color:var(--papaya);color:#fff}
button.primary:hover{background:#d4680f;border-color:#d4680f}
button.ok{background:var(--ink);border-color:var(--ink);color:var(--paper)}
button.ok:hover{background:#000;border-color:#000}
button.no{background:transparent;border-color:var(--line-2);color:var(--danger)}
button.no:hover{border-color:var(--danger)}
button.copy,button.runbtn{background:transparent;color:var(--ink)}
button.copied{background:var(--green);border-color:var(--green);color:#fff}
form.inline{display:inline}

/* tables */
table{width:100%;border-collapse:collapse}
th,td{padding:10px 14px 10px 0;text-align:left;border-bottom:1px solid var(--line);font-size:12.5px;vertical-align:top}
th{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);font-weight:500;white-space:nowrap}
th[data-sort]{cursor:pointer;user-select:none}
th[data-sort]:hover{color:var(--ink)}
th[data-sort].asc::after{content:" \2191"}
th[data-sort].desc::after{content:" \2193"}
tr.c-row{cursor:pointer;transition:background .18s var(--ease)}
tr.c-row:hover td{background:var(--surface)}
tr.c-row.hl td{background:var(--surface);box-shadow:inset 2px 0 0 var(--papaya)}
td .sub{color:var(--muted);font-size:11.5px}

/* status text (near-monochrome; green only when money is confirmed) */
.pill,.st{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--ink-2);background:transparent;border-radius:0;padding:0}
.st-paid,.s-signed_up{color:var(--green)}
.st-approved{color:var(--ink)}
.st-pending,.s-new,.s-queued{color:var(--muted)}
.st-reversed,.s-declined,.s-opted_out{color:var(--danger)}
.st-fraud{color:var(--danger);border:1px solid currentColor;padding:1px 6px;cursor:help}

/* stacked hairline blocks (approval queue, escalations, opportunities, kit) */
.card{border-top:1px solid var(--line);padding:18px 0;margin:0;background:transparent;border-radius:0}
.card:last-of-type{border-bottom:1px solid var(--line)}
.card.esc{box-shadow:inset 2px 0 0 var(--danger);padding-left:14px}
.card .subj{font-weight:500;margin:2px 0 4px}
.card .reason{font-size:12px;color:var(--ink-2)}
.tag{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--papaya);border:1px solid currentColor;padding:2px 7px;margin-left:8px;background:transparent;border-radius:0}
.lnk{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--ink-2);margin-left:10px}
a.nolink{border-bottom:0}

/* activity feed */
ul.feed{list-style:none;padding:0;margin:0}
ul.feed li{padding:9px 0;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--ink-2)}
ul.feed span{color:var(--muted);margin-right:12px;font-size:11px;letter-spacing:.06em}

/* inputs */
label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1.2px;font-weight:500;color:var(--muted);margin:20px 0 6px}
input,select{
  width:100%;padding:11px 12px;border:1px solid var(--line-2);border-radius:2px;
  background:var(--paper);color:var(--ink);font:13px/1.4 inherit;
  transition:border-color .18s var(--ease);
}
input::placeholder{color:var(--muted)}
input:hover{border-color:var(--ink-2)}
input.search{margin:14px 0 0}
:focus{outline:none}
:focus-visible{outline:1px solid var(--ink);outline-offset:2px}
button.primary:focus-visible,.chip[aria-pressed="true"]:focus-visible{outline-color:var(--papaya)}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:4px 18px;margin:16px 0 4px}
.chip{border:0;background:transparent;padding:4px 0;margin:0;color:var(--ink-2);border-bottom:1px solid transparent}
.chip:hover{color:var(--ink);border-color:transparent}
.chip[aria-pressed="true"]{color:var(--papaya);border-bottom:1px solid var(--papaya)}
.kbd-hint{font-size:11px;color:var(--muted);letter-spacing:.06em}
kbd{font:10px/1 ui-monospace,Menlo,Consolas,monospace;border:1px solid var(--line-2);padding:2px 5px;color:var(--ink-2)}

/* drawer */
.drawer-backdrop{position:fixed;inset:0;background:rgba(27,27,27,.18);opacity:0;pointer-events:none;transition:opacity .18s var(--ease);z-index:40}
.drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(430px,94vw);background:var(--paper);
  border-left:1px solid var(--line-2);box-shadow:-28px 0 56px rgba(27,27,27,.10);
  transform:translateX(102%);transition:transform .18s var(--ease);z-index:41;
  overflow-y:auto;padding:26px 28px 40px;
}
body.drawer-open .drawer{transform:translateX(0)}
body.drawer-open .drawer-backdrop{opacity:1;pointer-events:auto}
.drawer .d-close{position:absolute;top:18px;right:20px;border:0;padding:6px 8px;margin:0;font-size:14px;line-height:1}
.drawer h3{font-size:15px;margin:0 0 2px}
.drawer .d-kv{display:grid;grid-template-columns:110px 1fr;gap:10px 16px;margin:22px 0;font-size:12.5px}
.drawer .d-kv dt{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);margin:0}
.drawer .d-kv dd{margin:0;word-break:break-word}
.drawer .d-notes{margin-top:6px}
.drawer .d-actions{margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}

/* command palette */
.palette{position:fixed;inset:0;background:rgba(27,27,27,.18);display:none;z-index:50}
body.palette-open .palette{display:block}
.palette .p-box{max-width:520px;margin:12vh auto 0;background:var(--paper);border:1px solid var(--line-2);box-shadow:0 28px 56px rgba(27,27,27,.12)}
.palette input{border:0;border-bottom:1px solid var(--line);padding:16px 18px;font-size:14px}
.palette ul{list-style:none;margin:0;padding:6px 0;max-height:46vh;overflow-y:auto}
.palette li{padding:9px 18px;font-size:12.5px;cursor:pointer;display:flex;gap:12px;align-items:baseline}
.palette li .label{margin-left:auto}
.palette li.sel,.palette li:hover{background:var(--surface);box-shadow:inset 2px 0 0 var(--papaya)}
.palette .p-empty{padding:14px 18px;color:var(--muted);font-size:12px}

/* toast */
.toast{
  position:fixed;left:22px;bottom:22px;z-index:60;background:var(--ink);color:var(--paper);
  font-size:11px;text-transform:uppercase;letter-spacing:1.2px;padding:12px 18px;
  opacity:0;transform:translateY(6px);transition:opacity .18s var(--ease),transform .18s var(--ease);
  pointer-events:none;max-width:70vw;
}
.toast.show{opacity:1;transform:translateY(0)}

/* tier meter */
.meter{height:1px;background:var(--line-2);margin:12px 0 8px;position:relative}
.meter i{position:absolute;left:0;top:-1px;height:3px;background:var(--papaya);display:block;transition:width .18s var(--ease)}

/* affiliate (mobile-first) blocks */
.block{border-top:1px solid var(--line);padding:20px 0}
.block:last-of-type{border-bottom:1px solid var(--line)}
.copyrow{display:flex;gap:10px;align-items:center;margin-top:8px}
.copyrow code{flex:1;padding:9px 12px;background:var(--surface)}
.copyrow button{margin:0;white-space:nowrap}
.moneyrow{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0;font-size:13px}
.moneyrow:last-child{border-bottom:0}
.moneyrow .label{align-self:center}
.moneyrow b{font-weight:400;font-size:14px}
.statgrid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.statgrid .kpi{padding:16px 0;border-bottom:1px solid var(--line)}
.statgrid .kpi b{display:block;font-size:20px;font-weight:400}
.statgrid .kpi span{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted)}

.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (max-width:720px){
  table{display:block;overflow-x:auto}
}
@media (max-width:640px){
  .wrap{padding:0 18px 80px}
  .kpis .kpi{min-width:44%;padding:14px 14px 12px}
  .topbar{flex-wrap:wrap}
  .topbar nav{margin-left:0;width:100%}
  .drawer .d-kv{grid-template-columns:96px 1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important}
}
