/* Kelly & Co. — Outreach
   Editorial, high-contrast, quiet. Ink and paper, one green accent, no gradients. */

@font-face{font-family:'Inter';src:url('/fonts/inter-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap;font-style:normal}
@font-face{font-family:'Inter';src:url('/fonts/inter-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap;font-style:normal}
@font-face{font-family:'Inter';src:url('/fonts/inter-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap;font-style:normal}
@font-face{font-family:'Inter';src:url('/fonts/inter-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap;font-style:normal}
@font-face{font-family:'Instrument Serif';src:url('/fonts/instrument-serif-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap;font-style:normal}

:root{
  --canvas:#f7f6f4;
  --surface:#ffffff;
  --surface-2:#f1efec;
  --ink:#121214;
  --ink-2:#33333a;
  --muted:#71717a;
  /* Load-bearing microcopy (hints, outcome-button explanations) renders in this
     colour at ~11px — it has to clear WCAG AA contrast, not just look subtle. */
  --muted-2:#6b6b74;
  --line:#e8e5e0;
  --line-2:#d8d4cd;

  --accent:#17614a;
  --accent-hover:#12513e;
  --accent-tint:#eaf2ee;
  --accent-line:#c5ddd2;

  --warn:#8a6516;
  --warn-tint:#faf1de;
  --warn-line:#ecdcb8;
  --danger:#a0463f;
  --danger-tint:#faeceb;
  --danger-line:#eed3d0;
  --info:#2e5a85;
  --info-tint:#eaf1f7;
  --info-line:#cddeeb;

  --r-sm:9px;
  --r:12px;
  --r-lg:16px;
  --shadow:0 1px 2px rgba(18,18,20,.04);
  --shadow-md:0 1px 3px rgba(18,18,20,.05), 0 8px 20px -14px rgba(18,18,20,.22);
  --shadow-lg:0 2px 8px rgba(18,18,20,.06), 0 30px 60px -30px rgba(18,18,20,.3);

  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --serif:'Instrument Serif',Georgia,'Times New Roman',serif;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--sans);background:var(--canvas);color:var(--ink);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  font-size:14.5px;line-height:1.55;letter-spacing:-.006em;
}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.02em;line-height:1.2}
h1{font-family:var(--serif);font-weight:400;font-size:30px;letter-spacing:-.015em;line-height:1.15}
h2{font-size:20px}
h3{font-size:15.5px}
.display{font-family:var(--serif);font-weight:400;letter-spacing:-.01em}
svg{display:block}
.ico{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.ico-sm{width:14px;height:14px}
.ico-lg{width:22px;height:22px}

/* ---------- boot ---------- */
.boot{height:100vh;display:grid;place-items:center;background:var(--ink)}
.boot-mark{font-family:var(--serif);color:#e9e6e0;font-size:40px;animation:pulse 1.5s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.3}50%{opacity:.9}}

/* ---------- layout ---------- */
.shell{display:flex;min-height:100vh}
.sidebar{
  width:228px;flex:0 0 228px;background:var(--ink);color:#d9d7d2;
  display:flex;flex-direction:column;padding:20px 12px;position:sticky;top:0;height:100vh;
}
.brand{display:flex;align-items:center;gap:10px;padding:6px 10px 24px}
.brand-mark{width:30px;height:30px;border-radius:8px;background:#e9e6e0;color:#121214;
  display:grid;place-items:center;font-family:var(--serif);font-size:17px;flex:0 0 30px}
.brand-name{font-size:14.5px;font-weight:600;line-height:1.15;color:#f2f0ec;letter-spacing:-.01em}
.brand-sub{font-size:10px;color:#7d7d86;letter-spacing:.11em;text-transform:uppercase;margin-top:2px}
.nav{display:flex;flex-direction:column;gap:1px;flex:1}
.nav a{
  display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:var(--r-sm);
  text-decoration:none;color:#9b9ba3;font-size:14px;font-weight:500;transition:background .13s,color .13s;
}
.nav a:hover{background:rgba(255,255,255,.045);color:#e6e4df}
.nav a.on{background:rgba(255,255,255,.09);color:#fff}
.nav .badge{margin-left:auto;background:rgba(255,255,255,.14);color:#f0eeea;font-size:11px;
  font-weight:600;padding:1px 7px;border-radius:20px;font-variant-numeric:tabular-nums}
.nav a.on .badge{background:var(--accent);color:#fff}
.side-user{border-top:1px solid rgba(255,255,255,.08);padding-top:12px;margin-top:8px}
.side-user .row{display:flex;align-items:center;gap:10px;padding:4px 8px 8px}
.avatar{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:#fff;
  font-weight:600;font-size:12px;flex:0 0 30px;letter-spacing:.02em}
.side-user .nm{font-size:13px;color:#e6e4df;font-weight:500}
.side-user .rl{font-size:10.5px;color:#7d7d86;text-transform:uppercase;letter-spacing:.07em;margin-top:1px}
.linkish{background:none;border:0;color:#7d7d86;font-size:12px;cursor:pointer;padding:5px 8px;text-align:left;border-radius:6px}
.linkish:hover{color:#e6e4df;background:rgba(255,255,255,.05)}

.main{flex:1;min-width:0;display:flex;flex-direction:column}
.page{padding:30px 34px 80px;max-width:1160px;width:100%;margin:0 auto}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px;flex-wrap:wrap}
.page-head .sub{color:var(--muted);font-size:13.5px;margin-top:5px}

/* ---------- surfaces ---------- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}
.card-p{padding:20px}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:15px 20px;border-bottom:1px solid var(--line)}
.card-head h3{font-size:14.5px}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.g4{grid-template-columns:repeat(2,1fr)}.g3,.g2{grid-template-columns:1fr}}
.split{display:grid;gap:16px;align-items:start;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.split-even{display:grid;gap:16px;align-items:start;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.col{display:grid;gap:16px;min-width:0}
@media(max-width:1000px){.split,.split-even{grid-template-columns:minmax(0,1fr)}}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:9px 15px;border-radius:var(--r-sm);border:1px solid var(--line-2);
  background:var(--surface);cursor:pointer;font-weight:600;font-size:13.5px;
  transition:background .13s,border-color .13s,color .13s,opacity .13s;
  text-decoration:none;white-space:nowrap;letter-spacing:-.005em;
}
.btn:hover{background:var(--surface-2)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn-primary:disabled,.btn-accent:disabled{background:var(--surface);color:var(--muted-2);border-color:var(--line);opacity:1}
.btn-primary{background:var(--ink);color:#fbfaf9;border-color:var(--ink)}
.btn-primary:hover{background:#2a2a30;border-color:#2a2a30}
.btn-accent{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn-accent:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.btn-ghost{background:transparent;border-color:transparent;color:var(--muted)}
.btn-ghost:hover{background:var(--surface-2);color:var(--ink)}
.btn-lg{padding:12px 20px;font-size:14.5px;border-radius:var(--r)}
.btn-xl{padding:16px 24px;font-size:15.5px;border-radius:var(--r);width:100%}
.btn-sm{padding:5px 10px;font-size:12.5px;border-radius:7px}
.btn-block{width:100%}

/* ---------- chips ---------- */
.chip{display:inline-flex;align-items:center;gap:5px;padding:2.5px 9px;border-radius:7px;
  font-size:11.5px;font-weight:600;background:var(--surface-2);color:var(--muted);
  border:1px solid var(--line);white-space:nowrap;letter-spacing:-.003em}
.chip-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 6px}
.chip.ok{background:var(--accent-tint);color:var(--accent);border-color:var(--accent-line)}
.chip.warn{background:var(--warn-tint);color:var(--warn);border-color:var(--warn-line)}
.chip.bad{background:var(--danger-tint);color:var(--danger);border-color:var(--danger-line)}
.chip.info{background:var(--info-tint);color:var(--info);border-color:var(--info-line)}

/* ---------- stats ---------- */
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:15px 17px}
.stat .k{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted-2);font-weight:600}
.stat .v{font-family:var(--serif);font-size:33px;line-height:1.05;margin-top:7px;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.stat .d{font-size:12px;color:var(--muted);margin-top:3px}

.ring-wrap{display:flex;align-items:center;gap:20px}
.ring{position:relative;width:96px;height:96px;flex:0 0 96px}
.ring svg{transform:rotate(-90deg)}
.ring .lbl{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.ring .lbl b{font-family:var(--serif);font-weight:400;font-size:27px;display:block;line-height:1}
.ring .lbl span{font-size:10.5px;color:var(--muted);letter-spacing:.02em}

/* ---------- clocks ---------- */
.clocks{display:flex;gap:8px;flex-wrap:wrap}
.clock{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r);padding:8px 12px;min-width:172px;box-shadow:var(--shadow)}
.clock .fl{font-size:17px;line-height:1}
.clock .nm{font-size:11.5px;color:var(--muted);font-weight:600}
.clock .tm{font-size:16.5px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.2;letter-spacing:-.01em}
.clock .st{margin-left:auto;text-align:right}

/* ---------- rows ---------- */
.lead-row{display:flex;align-items:center;gap:13px;padding:12px 18px;border-bottom:1px solid var(--line);
  cursor:pointer;transition:background .12s}
.lead-row:last-child{border-bottom:0}
/* Agenda: row + note line form one unit; the unit owns the separator. */
.agrow{border-bottom:1px solid var(--line)}
.agrow:last-child{border-bottom:0}
.agrow .lead-row{border-bottom:0}
.lead-row:hover{background:var(--surface-2)}
.lead-row .co{font-weight:600;font-size:14px;letter-spacing:-.008em}
.lead-row .me{font-size:12.5px;color:var(--muted);margin-top:1px}
.lead-row .rt{margin-left:auto;display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end;min-width:0}
.prio{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;font-size:12px;
  font-weight:600;background:var(--surface-2);color:var(--muted);flex:0 0 32px;font-variant-numeric:tabular-nums}
.prio.hi{background:var(--accent-tint);color:var(--accent)}
.prio.top{background:var(--ink);color:#fff}

/* ---------- forms ---------- */
.field{display:block;margin-bottom:13px}
.field label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:5px;letter-spacing:-.003em}
.input,select.input,textarea.input{
  width:100%;padding:9.5px 12px;border:1px solid var(--line-2);border-radius:var(--r-sm);
  background:var(--surface);outline:none;transition:border-color .13s,box-shadow .13s;font-size:14px;
}
.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(23,97,74,.1)}
textarea.input{resize:vertical;min-height:84px;line-height:1.55}
.row-f{display:flex;gap:12px}
.row-f>*{flex:1}

/* ---------- login ---------- */
.login{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}
@media(max-width:860px){.login{grid-template-columns:1fr}.login .aside{display:none}}
.login .aside{background:var(--ink);color:#d9d7d2;padding:52px 50px;display:flex;flex-direction:column;justify-content:space-between}
.login .aside h1{color:#f4f2ee;font-size:42px;max-width:13ch;line-height:1.1}
.login .aside p{color:#96969e;max-width:40ch;font-size:14.5px;line-height:1.65}
.login .form-wrap{display:grid;place-items:center;padding:40px 28px}
.login .form{width:100%;max-width:340px}
.quote{border-left:2px solid #3a3a41;padding-left:15px;color:#8e8e97;font-size:13.5px;line-height:1.6}

/* ---------- call screen ---------- */
.call{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;align-items:start}
@media(max-width:1080px){.call{grid-template-columns:1fr}}
/* The lead card. Used to be a black slab that sat apart from everything else
   for no reason anyone could name. Now it is the brightest card on the page:
   warm paper, a hairline border, a thin brand line on top — and the dial
   button is the single strongest element on it. */
.call-hero{position:relative;background:linear-gradient(180deg,#fdfcfa,var(--surface));color:var(--ink);
  border:1px solid var(--line-2);border-radius:var(--r-lg);padding:24px 26px;box-shadow:var(--shadow-md);
  overflow:hidden}
.call-hero::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--accent),#2a8a68 45%,transparent)}
.call-hero h1{color:var(--ink);font-size:27px;letter-spacing:-.02em}
.hero-seq{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;font-weight:600;
  color:var(--accent);margin-bottom:7px}
.call-hero .meta{color:var(--muted);font-size:13px;margin-top:6px;display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.call-hero .dot{opacity:.45}
.dial{display:flex;gap:9px;margin-top:18px;flex-wrap:wrap}
.call-hero .btn-accent{background:var(--accent);border-color:var(--accent);color:#fff;
  box-shadow:0 6px 18px -8px rgba(23,97,74,.55)}
.call-hero .btn-accent:hover{background:#1a7358;border-color:#1a7358}
.dial .num{font-size:18px;font-weight:600;letter-spacing:.01em;font-variant-numeric:tabular-nums}

.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);padding:0 8px;overflow-x:auto}
.tabs button{background:none;border:0;padding:12px;font-weight:600;font-size:13.5px;color:var(--muted);
  cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;display:flex;align-items:center;
  gap:6px;margin-bottom:-1px}
.tabs button:hover{color:var(--ink-2)}
.tabs button.on{color:var(--ink);border-bottom-color:var(--ink)}

.step{border:1px solid var(--line);border-radius:var(--r);padding:15px 17px;margin-bottom:9px;
  background:var(--surface);transition:border-color .15s,box-shadow .15s,opacity .15s;cursor:pointer}
.step.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.step.done{opacity:.42}
.step .t{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted-2);font-weight:600}
.step .say{font-size:18px;line-height:1.62;margin-top:8px;letter-spacing:-.008em;font-weight:400;color:var(--ink)}
.step .say em{font-style:normal;color:var(--muted-2)}
.step .tip{font-size:12.5px;color:var(--muted);margin-top:11px;padding-top:10px;border-top:1px solid var(--line);
  display:flex;gap:7px;align-items:flex-start;line-height:1.5}
.step-note{font-size:12.5px;color:var(--muted);background:var(--surface-2);border-radius:8px;
  padding:8px 11px;margin-top:9px;display:flex;gap:7px;align-items:flex-start;line-height:1.5}

.obj{border:1px solid var(--line);border-radius:var(--r);margin-bottom:7px;overflow:hidden;background:var(--surface)}
.obj summary{padding:11px 14px;cursor:pointer;font-weight:600;font-size:13.5px;list-style:none;
  display:flex;align-items:center;gap:8px}
.obj summary::-webkit-details-marker{display:none}
.obj summary:hover{background:var(--surface-2)}
.obj[open] summary{border-bottom:1px solid var(--line)}
.obj .a{padding:12px 14px;font-size:16px;line-height:1.6;letter-spacing:-.006em;font-weight:400}
.obj .a .after{font-family:var(--sans);font-size:12.5px;color:var(--muted);margin-top:9px;line-height:1.5}

.outcome-panel{position:sticky;top:18px;max-height:calc(100vh - 36px);overflow-y:auto}
.oc-group{margin-bottom:14px}
.oc-group-label{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);
  font-weight:600;margin-bottom:6px}
/* Sized by available space, not by viewport: on a landscape tablet the panel
   sits in a half-width column where three fixed columns squeezed every label. */
.outcomes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
@media(max-width:600px){.outcomes{grid-template-columns:repeat(2,1fr)}}
.oc{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 11px;border-radius:var(--r-sm);
  border:1px solid var(--line-2);background:var(--surface);cursor:pointer;text-align:left;
  transition:border-color .12s,background .12s,box-shadow .12s;color:var(--muted)}
.oc:hover{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.oc .lb{font-weight:600;font-size:12.5px;line-height:1.25;color:var(--ink)}
.oc-hint{font-size:10.5px;line-height:1.35;color:var(--muted-2)}
.oc.good{border-color:var(--accent-line);background:var(--accent-tint);color:var(--accent)}
.oc.good:hover{border-color:var(--accent)}
.oc.great{border-color:var(--accent);background:var(--accent-tint);color:var(--accent)}
.oc.great .lb{color:var(--accent)}
.oc.warn{border-color:var(--warn-line);background:var(--warn-tint);color:var(--warn)}
.oc.bad{border-color:var(--danger-line);background:var(--danger-tint);color:var(--danger)}
.oc.info{border-color:var(--info-line);background:var(--info-tint);color:var(--info)}

.timeline{list-style:none;margin:0;padding:0}
.timeline li{padding:11px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.timeline li:last-child{border-bottom:0}
.timeline .w{color:var(--muted-2);font-size:12px}

/* ---------- modal ---------- */
.mask{position:fixed;inset:0;background:rgba(18,18,20,.42);display:grid;place-items:center;z-index:60;
  padding:20px;backdrop-filter:blur(4px);animation:fade .15s ease}
@keyframes fade{from{opacity:0}to{opacity:1}}
.modal{background:var(--surface);border-radius:var(--r-lg);max-width:450px;width:100%;
  box-shadow:var(--shadow-lg);animation:rise .22s cubic-bezier(.22,.8,.3,1);
  /* A tall modal must scroll, not clip: on a phone the primary button of the
     "new scan job" form sat below the bottom edge with no way to reach it. */
  max-height:calc(100dvh - 40px);overflow-y:auto}
.modal-wide{max-width:620px}
@keyframes rise{from{transform:translateY(10px) scale(.99);opacity:0}to{transform:none;opacity:1}}
.modal-p{padding:24px}
.modal h2{margin-bottom:5px;letter-spacing:-.018em}

/* ---------- misc ---------- */
.empty{text-align:center;padding:44px 20px;color:var(--muted)}
.empty .big{margin:0 auto 12px;color:var(--muted-2);display:flex;justify-content:center}
.empty .big .ico{width:34px;height:34px;stroke-width:1.2}
.coach{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);
  padding:13px 15px;font-size:13.5px;display:flex;gap:10px;align-items:flex-start;line-height:1.55}
.coach .ic{color:var(--accent);flex:0 0 auto;margin-top:1px}
.toast-wrap{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:80;display:flex;
  flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.toast{background:var(--ink);color:#f4f2ee;padding:10px 18px;border-radius:var(--r-sm);font-size:13.5px;
  font-weight:500;box-shadow:var(--shadow-lg);animation:rise .18s ease}
/* The tone classes below (.good/.warn/.bad) are generic text-colour utilities
   defined later in this file, and they were winning over .toast's own colour —
   so every coloured toast rendered its text in the same colour as its
   background. A green rectangle with nothing in it, for every save, every
   error, every hand-over. The colour is restated here, past the utilities. */
.toast.good,
.toast.warn,
.toast.bad{color:#fff;font-weight:500}
.toast.good{background:var(--accent)}
.toast.warn{background:#8a6516}
.toast.bad{background:#8c2f2a}
.bar{height:5px;background:var(--surface-2);border-radius:20px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--ink);border-radius:20px;transition:width .6s cubic-bezier(.22,.8,.3,1)}
.bar.accent i{background:var(--accent)}
.divider{height:1px;background:var(--line);margin:16px 0}
.hint{font-size:12.5px;color:var(--muted-2);line-height:1.55}
.kv{display:flex;gap:12px;padding:7px 0;font-size:13.5px;border-bottom:1px solid var(--line);line-height:1.5}
.kv:last-child{border-bottom:0}
.kv b{flex:0 0 122px;color:var(--muted);font-weight:600;font-size:12.5px}
.spin{width:16px;height:16px;border:2px solid var(--line-2);border-top-color:var(--ink);
  border-radius:50%;animation:sp .7s linear infinite;display:inline-block}
@keyframes sp{to{transform:rotate(360deg)}}

/* quiet celebration — expanding rings, no confetti */
.pulse-mark{position:fixed;inset:0;pointer-events:none;z-index:90;display:grid;place-items:center}
.pulse-mark i{position:absolute;width:110px;height:110px;border-radius:50%;
  border:2px solid var(--accent);animation:ripple 1.5s cubic-bezier(.2,.7,.3,1) forwards}
.pulse-mark i:nth-child(2){animation-delay:.16s}
.pulse-mark i:nth-child(3){animation-delay:.32s}
@keyframes ripple{to{transform:scale(9);opacity:0}}

/* language switch, bottom left in the menu */
.langswitch{display:flex;gap:2px;margin-top:6px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}
.langswitch .linkish.on{color:#fff;font-weight:600}
.moresheet .langswitch{border-top:1px solid var(--line);padding:10px;margin-top:4px}
.moresheet .langswitch .linkish.on{color:var(--accent);font-weight:600}

/* the "More" sheet behind the mobile bar's last button */
.moresheet{display:grid;gap:4px}
.moresheet a,.moresheet button{display:flex;align-items:center;gap:11px;padding:12px 10px;
  border-radius:var(--r-sm);color:var(--ink);text-decoration:none;font-size:14.5px;font-weight:600;
  background:none;border:0;cursor:pointer;font-family:inherit;text-align:left;width:100%}
.moresheet a:hover,.moresheet button:hover{background:var(--surface-2)}
.moresheet a.on{background:var(--accent-tint);color:var(--accent)}

/* mobile */
.mobile-bar{display:none}
.jump{display:none}
@media(max-width:760px){
  .sidebar{display:none}
  /* Fingers, not cursors. Small buttons grow to a real touch size, and inputs
     go to 16px — anything smaller makes iOS Safari zoom the page on focus,
     which mid-call means losing your place on the screen. */
  .btn-sm{min-height:42px;padding:9px 13px;font-size:13.5px}
  .linkish{min-height:42px;display:inline-flex;align-items:center;font-size:13.5px;padding:8px 10px}
  .input,select.input,textarea.input{font-size:16px}
  .objchip,.pick{min-height:40px}
  .sitepin{min-width:42px;min-height:42px}
  .page{padding:18px 15px 100px}
  h1{font-size:25px}
  .call-hero h1{font-size:22px}
  .lead-row{flex-wrap:wrap;gap:9px}
  .lead-row .rt{margin-left:0;width:100%;justify-content:flex-start;padding-left:45px}
  .stat .v{font-size:27px}
  .clocks{width:100%}
  .clock{flex:1;min-width:150px}
  .mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--ink);z-index:200;
    padding:7px 4px calc(7px + env(safe-area-inset-bottom));justify-content:space-around;
    box-shadow:0 -6px 24px rgba(18,18,20,.16)}
  .mobile-bar a,.mobile-bar .more{flex:1;text-align:center;color:#8d8d96;text-decoration:none;font-size:10px;
    padding:5px 2px;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:3px;
    background:none;border:0;cursor:pointer;font-family:inherit}
  .mobile-bar a.on,.mobile-bar .more.on{color:#fff}
  .jump{display:flex;position:fixed;left:14px;right:14px;bottom:calc(72px + env(safe-area-inset-bottom));
    z-index:190;justify-content:center;align-items:center;gap:8px;padding:13px;border-radius:var(--r);
    background:var(--ink);color:#fbfaf9;border:0;font-weight:600;font-size:14.5px;
    box-shadow:0 10px 30px -8px rgba(18,18,20,.5);cursor:pointer}
  .outcomes{grid-template-columns:repeat(2,1fr)}
  .tabs button{padding:11px 9px;font-size:13px}
}

/* ==================================================================== ops ==
   Operations dashboard: what steers the scheduled tasks, and what they did. */
.opcard{margin-bottom:16px}
.opcard h3{font-size:14.5px;letter-spacing:-.01em;margin-bottom:4px}
.opcard>.hint{margin-bottom:14px;max-width:78ch}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media(max-width:640px){.grid2{grid-template-columns:1fr}}
.rowend{display:flex;justify-content:flex-end;margin-top:4px}
.field.chk{display:flex;align-items:flex-start;gap:9px;margin-top:24px}
.field.chk input{margin-top:3px;flex:0 0 auto}
.field.chk b{font-size:13px;display:block}

.chipwrap{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 8px}
.pick{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:20px;cursor:pointer;
  border:1px solid var(--line-2);background:var(--surface);color:var(--muted);font-size:12.5px;
  font-weight:500;transition:border-color .12s,background .12s,color .12s}
.pick:hover{border-color:var(--ink);color:var(--ink-2)}
.pick.on{background:var(--accent-tint);border-color:var(--accent);color:var(--accent);font-weight:600}
.pick .tk{font-size:10.5px;opacity:.6;font-variant-numeric:tabular-nums}

.oprow{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.oprow:last-child{border-bottom:0}
.oprow .co{font-weight:600;font-size:13.5px;letter-spacing:-.006em}
.oprow .me{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.45}
.oprow .nums{font-size:12.5px;white-space:nowrap;font-variant-numeric:tabular-nums}
.st{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;
  border-radius:6px;flex:0 0 auto;min-width:74px;text-align:center}
.st-queued{background:var(--surface-2);color:var(--muted)}
.st-running{background:var(--info-tint);color:var(--info)}
.st-done{background:var(--accent-tint);color:var(--accent)}
.st-failed{background:var(--danger-tint);color:var(--danger)}
.st-human_review{background:var(--warn-tint);color:var(--warn)}
.st-cancelled{background:var(--surface-2);color:var(--muted-2)}

.qbars{display:flex;flex-direction:column;gap:15px}
.qbar .barhead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;margin-bottom:5px}
.qbar .track{height:6px;background:var(--surface-2);border-radius:20px;overflow:hidden}
.qbar .fill{height:100%;border-radius:20px;background:var(--muted-2);transition:width .5s cubic-bezier(.22,.8,.3,1)}
.qbar .fill.ok{background:var(--accent)}
.qbar .fill.mid{background:var(--warn)}
.qbar .fill.low{background:var(--danger)}
.qbar .hint{margin-top:4px}
.good{color:var(--accent);font-weight:600}
.warn{color:var(--warn);font-weight:600}
.bad{color:var(--danger);font-weight:600}

.stock{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.stockcell{flex:1;min-width:150px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);
  background:var(--surface-2)}
.stockcell .big{font-size:27px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.stockcell .me{font-size:12.5px;color:var(--muted);margin:2px 0 5px}

.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th{text-align:left;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2);
  padding:7px 10px 7px 0;border-bottom:1px solid var(--line);font-weight:600;white-space:nowrap}
.tbl td{padding:9px 10px 9px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.tbl tr:last-child td{border-bottom:0}

.loglist{display:flex;flex-direction:column}
.logrow{display:flex;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12.5px}
.logrow:last-child{border-bottom:0}
.logrow .src{flex:0 0 46px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-2);font-weight:600}
.logrow .msg{flex:1;min-width:0;line-height:1.5}
.logrow .ts{color:var(--muted-2);font-size:11.5px;white-space:nowrap}
.logrow.lv-warn .msg{color:var(--warn)}
.logrow.lv-error .msg{color:var(--danger);font-weight:500}

.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:var(--muted);
  background:var(--surface-2);padding:1px 6px;border-radius:5px}
.pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5;
  background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px;
  overflow:auto;max-height:50vh;white-space:pre-wrap;word-break:break-all;margin:10px 0}
.pre.sel{user-select:all;cursor:copy}

/* ---------- caller rank ladder ---------- */
.rankcard{margin-bottom:14px}
.rankhead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}
.rname{font-weight:600;font-size:14.5px;letter-spacing:-.008em;display:flex;align-items:center;gap:8px;margin-bottom:2px}
.rankbars{display:flex;flex-direction:column;gap:11px}
.rlab{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;color:var(--muted);margin-bottom:5px}
.rlab b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:12.5px}

/* ---------- ready to send ---------- */
.readyhead{display:flex;align-items:flex-start;gap:12px}
.readyhead .co{font-weight:600;font-size:15px;letter-spacing:-.01em}
.readyhead .me{font-size:12.5px;color:var(--muted);margin-top:2px;line-height:1.5}
.msgbox{margin-top:12px;padding:13px 15px;background:var(--surface-2);border:1px solid var(--line);
  border-radius:var(--r);font-size:14.5px;line-height:1.6;white-space:pre-wrap;color:var(--ink-2)}
.badge.hot{background:var(--accent);color:#fff}

/* ---------------------------------------------------------- call: cue card */
/* The script as a glance rather than a page. A rep mid-sentence can scan seven
   short lines; they cannot read seven paragraphs. The full wording is one tap
   away and normally stays shut. */
.cues{padding:8px}
.cue{border-radius:10px;margin-bottom:3px}
.cue-line{display:flex;align-items:center;gap:11px;width:100%;background:none;border:0;cursor:pointer;
  padding:11px 12px;text-align:left;border-radius:10px;font:inherit;color:var(--ink-2)}
.cue-line:hover{background:var(--surface-2)}
.cue-n{flex:0 0 auto;width:21px;height:21px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line);
  color:var(--muted);font-size:11px;font-weight:700;display:grid;place-items:center;font-style:normal}
.cue-t{flex:1;min-width:0;font-size:15px;font-weight:600;letter-spacing:-.008em}
.cue-x{color:var(--muted-2);font-size:15px;line-height:1}
.cue.past .cue-t{color:var(--muted);font-weight:500}
.cue.on{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}
.cue.on .cue-n{background:var(--ink);border-color:var(--ink);color:#fff}
.cue-full{padding:2px 14px 14px 44px}
.cue-full .say{font-size:17px;line-height:1.6;color:var(--ink);letter-spacing:-.008em}
.cue-full .tip{font-size:12.5px;color:var(--muted);margin-top:10px;padding-top:9px;border-top:1px solid var(--line);
  display:flex;gap:7px;align-items:flex-start}
.cue-full .step-note{margin-top:9px}

/* -------------------------------------------------- call: objection finder */
.objchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.objchip{background:var(--surface-2);border:1px solid var(--line);border-radius:100px;padding:5px 11px;
  font-size:12.5px;color:var(--ink-2);cursor:pointer;font:inherit;font-size:12.5px;line-height:1.4}
.objchip:hover{border-color:var(--ink);color:var(--ink)}
.objlist{margin-top:9px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.objrow{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);
  padding:10px 13px;font:inherit;font-size:13.5px;cursor:pointer;color:var(--ink-2)}
.objrow:last-child{border-bottom:0}
.objrow:hover{background:var(--surface-2)}
.objhit{margin-top:12px;padding:13px 15px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r)}
.objhit .objq{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2);font-weight:600;margin-bottom:7px}
.objhit .say{font-size:17px;line-height:1.6;color:var(--ink);letter-spacing:-.008em}
.objhit .after{font-size:12.5px;color:var(--muted);margin-top:9px;line-height:1.5}

/* ------------------------------------------------------ call: build status */
/* Whether there is a link to send has to be answerable at a glance — "I'll send
   it right over" followed by silence is how a warm lead goes cold. */
.buildstrip{display:flex;gap:12px;align-items:center;padding:13px 15px;border-radius:var(--r);
  border:1px solid var(--line);background:var(--surface);margin:12px 0}
.buildstrip .bs-ic{flex:0 0 auto;display:grid;place-items:center;color:var(--muted)}
.buildstrip b{font-size:14px;letter-spacing:-.008em}
.buildstrip .hint{margin-top:2px}
.buildstrip.ok{background:rgba(23,97,74,.06);border-color:rgba(23,97,74,.22)}
.buildstrip.ok .bs-ic{color:var(--accent)}
.buildstrip.busy{background:rgba(138,101,22,.07);border-color:rgba(138,101,22,.24)}
.buildstrip.busy .bs-ic{color:#8a6516}
.buildstrip.bad{background:rgba(160,70,63,.07);border-color:rgba(160,70,63,.26)}
.buildstrip.bad .bs-ic{color:#a0463f}

/* ------------------------------------------------------- collapsible cards */
.det{margin-bottom:12px}
.det>summary{cursor:pointer;font-weight:600;font-size:13.5px;list-style:none;display:flex;align-items:center;
  gap:8px;color:var(--ink-2)}
.det>summary::-webkit-details-marker{display:none}
.det>summary:hover{color:var(--ink)}
.det[open]>summary{margin-bottom:2px}

/* ----------------------------------------------------------- the playbook */
.pb-step{border-bottom:1px solid var(--line);padding:16px 0}
.pb-step:last-child{border-bottom:0;padding-bottom:0}
.pb-head{display:flex;align-items:baseline;gap:9px;margin-bottom:9px;flex-wrap:wrap}
.pb-head i{width:21px;height:21px;border-radius:50%;background:var(--ink);color:#fff;font-size:11px;font-weight:700;
  display:grid;place-items:center;font-style:normal;flex:0 0 auto}
.pb-step .say{font-size:17px;line-height:1.6;color:var(--ink);letter-spacing:-.008em}
.pb-step .tip{font-size:12.5px;color:var(--muted);margin-top:10px;display:flex;gap:7px;align-items:flex-start}

/* ----------------------------------------------------------- ops: status */
.opsgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:18px}
.opstile{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);padding:16px 17px}
.opstile .lbl{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);font-weight:600}
.opstile .big{font-size:30px;font-weight:700;letter-spacing:-.02em;margin:6px 0 2px;line-height:1}
.opstile .sub{font-size:12.5px;color:var(--muted);line-height:1.5}
.opstile.warn{border-color:rgba(138,101,22,.4);background:rgba(138,101,22,.05)}
.opstile.warn .big{color:#8a6516}
.opstile.bad{border-color:rgba(160,70,63,.4);background:rgba(160,70,63,.05)}
.opstile.bad .big{color:#a0463f}
.opstile.ok .big{color:var(--accent)}
.attention{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);margin-bottom:18px;overflow:hidden}
.attn-row{display:flex;gap:12px;align-items:flex-start;padding:14px 17px;border-bottom:1px solid var(--line)}
.attn-row:last-child{border-bottom:0}
.attn-row .ic{flex:0 0 auto;margin-top:1px}
.attn-row.bad .ic{color:#a0463f}
.attn-row.warn .ic{color:#8a6516}
.attn-row.ok .ic{color:var(--accent)}
.attn-row .tx{flex:1;min-width:0}
.attn-row .tx b{font-size:14px;letter-spacing:-.008em}
.attn-row .tx .hint{margin-top:2px}

/* -------------------------------------------------------------- earnings */
/* The number at the top is the point of the whole job for a commission-only
   rep. It should look like it — and "in play" must never look like "earned". */
.earngrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-bottom:16px}
.earncard{background:var(--ink);color:#efece7;border-radius:var(--r-lg);padding:24px 26px;box-shadow:var(--shadow-md)}
.earncard .lbl{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:600}
.earncard .big{font-family:var(--serif,inherit);font-size:44px;line-height:1.05;font-weight:700;letter-spacing:-.03em;margin:10px 0 18px}
.earncard .split3{display:flex;gap:18px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.13);padding-top:14px}
.earncard .split3>div{min-width:92px}
.earncard .split3 b{display:block;font-size:16px;font-weight:700;letter-spacing:-.01em}
.earncard .split3 span{display:block;font-size:11.5px;color:rgba(255,255,255,.52);margin-top:2px;line-height:1.4}
.earncard .split3 .maybe b{color:rgba(255,255,255,.55);font-weight:600}
.earncard.blank{background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:none;
  margin-bottom:16px;text-align:left}
.earncard.blank .lbl{color:var(--muted-2)}
.earncard.blank .big{color:var(--line);margin-bottom:14px;font-size:38px}
.earncard.blank .hint{max-width:64ch;line-height:1.7;font-size:14px;color:var(--muted);margin:0}
.maybe{color:var(--muted)}

.funnelbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}
.fstep{border:1px solid var(--line);border-radius:var(--r);padding:14px 15px;background:var(--surface)}
.fstep .v{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1}
.fstep .k{font-size:12.5px;color:var(--muted);margin-top:4px}
.fstep .r{font-size:11.5px;color:var(--muted-2);margin-top:5px;line-height:1.4}
.fstep.key{border-color:var(--accent);background:rgba(23,97,74,.05)}
.fstep.key .v{color:var(--accent)}

/* ------------------------------------------------- call: website versions */
/* Two attempts, max. The one that gets sent is marked, because "which link did
   I actually give them" is not a question anyone should have to reconstruct. */
.buildwrap{margin:12px 0}
.buildwrap .buildstrip{margin:0 0 8px}
.sitepick{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-bottom:8px;background:var(--surface)}
.siterow{display:flex;align-items:center;gap:11px;padding:11px 13px;border-bottom:1px solid var(--line)}
.siterow:last-child{border-bottom:0}
.siterow.on{background:rgba(23,97,74,.06)}
.siterow b{font-size:13.5px;letter-spacing:-.006em}
.siterow .hint{margin-top:1px}
.sitepin{width:26px;height:26px;flex:0 0 auto;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);
  color:var(--muted-2);display:grid;place-items:center;cursor:pointer;font:inherit}
.sitepin:hover{border-color:var(--ink);color:var(--ink)}
.siterow.on .sitepin{background:var(--accent);border-color:var(--accent);color:#fff}
.rebuildrow{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 13px;border:1px dashed var(--line);
  border-radius:var(--r);background:var(--surface-2)}

/* ------------------------------------------------------------- onboarding */
.mod-card{cursor:pointer;transition:box-shadow .15s,transform .15s}
.mod-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}
.mod-card.done{border-color:var(--accent-line)}
.mod-card.locked{cursor:default;opacity:.6}
.mod-card.locked:hover{box-shadow:var(--shadow);transform:none}
.mod-ic{width:38px;height:38px;border-radius:10px;background:var(--accent-tint);color:var(--accent);
  display:grid;place-items:center}
.mod-card.quiz .mod-ic{background:var(--surface-2);color:var(--ink)}

.course-page{max-width:820px}
.course-body{font-size:15px}
.course-lead{font-size:17.5px;line-height:1.7;color:var(--ink);margin:6px 0 18px;
  font-weight:500;letter-spacing:-.005em}
.course-p{line-height:1.75;color:var(--ink-2);margin:14px 0}
.course-h{font-size:14.5px;margin-bottom:10px}
.course-list{margin:0;padding-left:19px;color:var(--ink-2)}
.course-list li{line-height:1.7;margin-bottom:7px}
.course-quote{margin:22px 0;padding:20px 24px;border-left:3px solid var(--accent);
  background:var(--accent-tint);border-radius:0 var(--r) var(--r) 0}
.course-quote .q{font-size:20px;line-height:1.5;color:var(--ink)}
.course-quote .c{font-size:12px;color:var(--muted);margin-top:8px;text-transform:uppercase;letter-spacing:.07em}
.course-facts{margin:18px 0}
.course-facts .fl{padding:6px 20px 12px}
.course-facts .kv b{flex:0 0 168px}
.course-facts .kv:last-child{border-bottom:0}
.course-steps{margin:18px 0;display:grid;gap:9px}
.cstep{display:flex;gap:14px;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;background:var(--surface)}
.cstep .n{flex:0 0 26px;height:26px;border-radius:8px;background:var(--ink);color:#fbfaf9;
  display:grid;place-items:center;font-size:12.5px;font-weight:600}
.cstep .t{font-weight:600;font-size:14px;letter-spacing:-.01em}
.cstep .d{font-size:13.5px;line-height:1.65;color:var(--ink-2);margin-top:3px}
.course-dodont{margin:18px 0}
.course-dodont h3{display:flex;align-items:center;gap:7px;margin-bottom:10px}
.course-dodont .good-h{color:var(--accent)}
.course-dodont .bad-h{color:var(--danger)}
.course-dodont ul{margin:0;padding-left:18px}
.course-dodont li{font-size:13.5px;line-height:1.7;margin-bottom:6px;color:var(--ink-2)}
.course-table{width:100%;border-collapse:collapse;font-size:14px}
.course-table th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--muted);font-weight:600;padding:10px 20px;border-bottom:1px solid var(--line)}
.course-table td{padding:11px 20px;border-bottom:1px solid var(--line);line-height:1.5}
.course-table tr:last-child td{border-bottom:0}

.quiz-q{margin-bottom:14px}
.quiz-q h3{font-size:14.5px;line-height:1.5}
.quiz-opts{display:grid;gap:8px;margin-top:12px}
.quiz-opt{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--r);
  padding:11px 14px;cursor:pointer;font-size:13.5px;line-height:1.55;color:var(--ink-2);transition:border-color .12s}
.quiz-opt:hover{border-color:var(--line-2);background:var(--surface-2)}
.quiz-opt.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink);color:var(--ink)}
.quiz-opt input{margin-top:2px;accent-color:var(--ink)}
.quiz-q.right{border-color:var(--accent-line)}
.quiz-q.wrong{border-color:var(--danger-line)}
.quiz-answer{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font-size:13.5px;line-height:1.6}

/* The lead hand-over.
   The call screen is reused for every business, so a swap is otherwise invisible:
   same layout, different words. This flashes the header once so a rep who just
   logged "no answer" can see at a glance that they are now looking at somebody
   else — and does not dial the previous number twice. */
@keyframes handover{
  0%{transform:translateY(-6px);opacity:.35}
  35%{opacity:1}
  100%{transform:none;opacity:1}
}
@keyframes handoverGlow{
  0%{box-shadow:0 0 0 3px var(--accent)}
  100%{box-shadow:0 0 0 0 transparent}
}
.call-hero.handover{
  animation:handover .34s cubic-bezier(.2,.8,.3,1), handoverGlow 1.1s ease-out .1s;
  border-radius:var(--r,12px);
}
@media (prefers-reduced-motion:reduce){
  .call-hero.handover{animation:handoverGlow 1.1s ease-out}
}

/* An outcome the rep cannot honestly log yet — greyed, still readable, and it
   explains itself when tapped rather than doing nothing. */
.oc.off{opacity:.45;cursor:not-allowed}
.oc.off:hover{transform:none;border-color:var(--line)}

/* The proof on this lead has expired — loud, because opening with it is the
   worst thing a rep can do on this screen. */
.stale-proof{border-color:#a0463f;background:#fdf3f1}
.stale-proof .ic{color:#a0463f;display:flex}

/* The payment ask, handed over the moment the customer says yes. */
.paybox{border:1px solid var(--line);border-radius:var(--r-sm);padding:11px 12px;background:var(--surface-2)}
.paybox .ref{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;font-weight:600;
  letter-spacing:.04em;margin:2px 0 9px}
.paybox textarea{font-size:12.5px;line-height:1.5;resize:vertical}

/* What the business already has. Sits directly under the dial button because
   "I had a look at your website" and "I couldn't find a website for you" are
   different opening lines and the rep has three seconds to pick one. */
.theirs .ts-head{display:flex;align-items:center;gap:6px;font-size:10.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted-2);margin-bottom:9px}
.theirs .ts-row{display:flex;align-items:flex-start;gap:12px;padding:8px 0;border-top:1px solid var(--line)}
.theirs .ts-row:first-of-type{border-top:0;padding-top:0}
.theirs .ts-k{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2);margin-bottom:2px}
.theirs .ts-v{font-size:13px;line-height:1.45;word-break:break-word}
.theirs .ts-v b{font-weight:600}

/* What is being built for you right now — on the screen a rep starts the day
   on, because the promise "it lands with you today" is theirs to keep. */
.buildline{display:flex;align-items:center;gap:10px;margin-top:14px;padding:10px 12px;
  border:1px solid var(--accent-line);background:var(--accent-tint);border-radius:var(--r-sm);
  font-size:12.5px;line-height:1.45}
.buildline .ic{color:var(--accent);display:flex}
