/* Command Centre — Mail v1
   All colour lives in the token blocks below. Nothing else in this file uses a hex. */

/* ---------- Tokens: light (default, samueljamesgroup.com palette) ---------- */
:root {
  --canvas:#FAFAF9; --surface:#FFFFFF; --surface-2:#F3F4F6; --text:#181818; --muted:#4B5563; --faint:#667085;
  --border:#E5E7EB; --pp:#5B2C83; --pp2:#7B3FA8; --glow:#9a5cd6; --ok:#15803D; --ok-bg:rgba(22,163,74,.10);
  --warn:#B45309; --warn-bg:rgba(217,119,6,.14); --cta:linear-gradient(180deg,#79459f,#5f2f8c);
  --f:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; --fm:ui-monospace,"SF Mono",Menlo,monospace;
  --r:6px; --r-lg:10px;

  /* derived roles */
  --err:#B42318; --err-bg:rgba(180,35,24,.09);
  --pp-bg:rgba(91,44,131,.07); --pp-ring:rgba(123,63,168,.28);
  --hover:rgba(24,24,24,.035); --press:rgba(24,24,24,.06);
  --hair:rgba(24,24,24,.06);
  --on-cta:#FFFFFF;
  --toast-bg:#1C1A21; --toast-text:#F5F3F8; --toast-muted:#A8A3B3;
  --shadow-pop:0 1px 2px rgba(16,12,24,.05), 0 12px 32px -8px rgba(16,12,24,.16);
  --shadow-soft:0 1px 2px rgba(16,12,24,.04);
  --scrim:rgba(16,12,24,.32);
  --mail-paper:#FFFFFF; --mail-ink:#181818; --mail-link:#5B2C83; --mail-rule:#E5E7EB;
  --skel:#EEEFF2;
  --acc-1:#7B3FA8; --acc-2:#2563EB; --acc-3:#0F766E; --acc-4:#BE185D; --acc-5:#4338CA; --acc-6:#475569; --acc-7:#0284C7;
  /* premium glass buttons (same recipe as samueljamesgroup.com) */
  --glass-bg:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0) 16%),rgba(255,255,255,.82);
  --glass-line:rgba(83,74,183,.28); --glass-line-p:rgba(83,74,183,.45); --glass-ink-p:#534AB7;
  --glass-sheen:rgba(255,255,255,.6); --glass-glow:rgba(124,58,237,.55); --glass-glow-p:rgba(124,58,237,.75);
}

/* ---------- Tokens: dark (deep violet-black, accents lifted) ---------- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --canvas:#0E0B13; --surface:#14111A; --surface-2:#1D1925; --text:#ECEAF1; --muted:#B0AABD; --faint:#8A8398;
    --border:#29243A; --pp:#B98BEA; --pp2:#CBA6F2; --glow:#9a5cd6; --ok:#4ADE80; --ok-bg:rgba(74,222,128,.12);
    --warn:#FBBF24; --warn-bg:rgba(251,191,36,.13); --cta:linear-gradient(180deg,#8a55b3,#6a379a);
    --err:#F87171; --err-bg:rgba(248,113,113,.12);
    --pp-bg:rgba(185,139,234,.10); --pp-ring:rgba(185,139,234,.35);
    --hover:rgba(236,234,241,.04); --press:rgba(236,234,241,.07); --hair:rgba(236,234,241,.06);
    --toast-bg:#ECEAF1; --toast-text:#16121D; --toast-muted:#5E586B;
    --shadow-pop:0 1px 2px rgba(0,0,0,.4), 0 16px 40px -8px rgba(0,0,0,.6);
    --shadow-soft:0 1px 2px rgba(0,0,0,.3);
    --scrim:rgba(0,0,0,.55);
    --mail-paper:#FFFFFF; --mail-ink:#181818; --mail-link:#5B2C83; --mail-rule:#E5E7EB;
    --skel:#211C2B;
    --acc-1:#C08FEF; --acc-2:#6EA8FE; --acc-3:#2DD4BF; --acc-4:#F472B6; --acc-5:#A5B4FC; --acc-6:#94A3B8; --acc-7:#7DD3FC;
  --glass-bg:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,0) 16%),rgba(255,255,255,.06);
  --glass-line:rgba(154,92,214,.38); --glass-line-p:rgba(185,140,240,.6); --glass-ink-p:#EDE4FF;
  --glass-sheen:rgba(255,255,255,.22); --glass-glow:rgba(124,58,237,.6); --glass-glow-p:rgba(124,58,237,.9);
  }
}
:root[data-theme="dark"] {
  --canvas:#0E0B13; --surface:#14111A; --surface-2:#1D1925; --text:#ECEAF1; --muted:#B0AABD; --faint:#8A8398;
  --border:#29243A; --pp:#B98BEA; --pp2:#CBA6F2; --glow:#9a5cd6; --ok:#4ADE80; --ok-bg:rgba(74,222,128,.12);
  --warn:#FBBF24; --warn-bg:rgba(251,191,36,.13); --cta:linear-gradient(180deg,#8a55b3,#6a379a);
  --err:#F87171; --err-bg:rgba(248,113,113,.12);
  --pp-bg:rgba(185,139,234,.10); --pp-ring:rgba(185,139,234,.35);
  --hover:rgba(236,234,241,.04); --press:rgba(236,234,241,.07); --hair:rgba(236,234,241,.06);
  --toast-bg:#ECEAF1; --toast-text:#16121D; --toast-muted:#5E586B;
  --shadow-pop:0 1px 2px rgba(0,0,0,.4), 0 16px 40px -8px rgba(0,0,0,.6);
  --shadow-soft:0 1px 2px rgba(0,0,0,.3);
  --scrim:rgba(0,0,0,.55);
  --mail-paper:#FFFFFF; --mail-ink:#181818; --mail-link:#5B2C83; --mail-rule:#E5E7EB;
  --skel:#211C2B;
  --acc-1:#C08FEF; --acc-2:#6EA8FE; --acc-3:#2DD4BF; --acc-4:#F472B6; --acc-5:#A5B4FC; --acc-6:#94A3B8; --acc-7:#7DD3FC;
  --glass-bg:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,0) 16%),rgba(255,255,255,.06);
  --glass-line:rgba(154,92,214,.38); --glass-line-p:rgba(185,140,240,.6); --glass-ink-p:#EDE4FF;
  --glass-sheen:rgba(255,255,255,.22); --glass-glow:rgba(124,58,237,.6); --glass-glow-p:rgba(124,58,237,.9);
}

/* ---------- Tokens: print (paper is always light; the prep sheet prints) ---------- */
@media print {
  :root, :root[data-theme="dark"], :root:not([data-theme="light"]) {
    --canvas:#FFFFFF; --surface:#FFFFFF; --surface-2:#F3F4F6; --text:#181818; --muted:#4B5563; --faint:#667085;
    --border:#E5E7EB; --pp:#5B2C83; --pp2:#7B3FA8; --ok:#15803D; --ok-bg:rgba(22,163,74,.10); --warn:#B45309; --warn-bg:rgba(217,119,6,.14);
    --err:#B42318; --err-bg:rgba(180,35,24,.09); --pp-bg:rgba(91,44,131,.07); --hover:transparent; --hair:rgba(24,24,24,.08);
  }
}

/* ---------- Base ---------- */
*,*::before,*::after { box-sizing:border-box; }
html,body { height:100%; }
body {
  margin:0; background:var(--canvas); color:var(--text);
  font:14px/1.45 var(--f); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility; overflow:hidden;
}
button { font:inherit; color:inherit; background:none; border:0; padding:0; cursor:pointer; }
button:disabled { cursor:default; }
input,textarea,select { font:inherit; color:inherit; }
[hidden] { display:none !important; }
:focus-visible { outline:2px solid var(--pp-ring); outline-offset:2px; border-radius:var(--r); }
.sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.ico { width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
.ico-sm { width:15px; height:15px; }
.ico-xs { width:13px; height:13px; }
kbd {
  font:500 10.5px/1 var(--fm); color:var(--faint); padding:3px 5px; min-width:18px; text-align:center;
  border:1px solid var(--border); border-radius:4px; background:var(--surface);
}

/* ---------- Brand mark ---------- */
.mark {
  width:30px; height:30px; border-radius:8px; background:var(--cta); color:var(--on-cta);
  display:grid; place-items:center; font:700 15px/1 var(--f); letter-spacing:-.02em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), var(--shadow-soft);
}
.mark-lg { width:44px; height:44px; border-radius:12px; font-size:21px; }

/* ---------- Sign in ---------- */
.login { min-height:100dvh; display:grid; place-items:center; padding:24px 16px; }
.login-card { width:100%; max-width:340px; display:flex; flex-direction:column; gap:10px; }
.login-card h1 { font-size:22px; font-weight:600; letter-spacing:-.02em; margin:18px 0 18px; }
.field input {
  width:100%; height:42px; padding:0 14px; border-radius:var(--r-lg); border:1px solid var(--border);
  background:var(--surface); outline:none; transition:border-color .15s, box-shadow .15s;
}
.field input:focus { border-color:var(--pp2); box-shadow:0 0 0 3px var(--pp-bg); }
.login-err { margin:2px 0 0; color:var(--err); font-size:13px; }
.btn-cta {
  height:42px; margin-top:8px; border-radius:var(--r-lg); background:var(--cta); color:var(--on-cta);
  font-weight:600; letter-spacing:-.005em; box-shadow:inset 0 1px 0 rgba(255,255,255,.16), var(--shadow-soft);
  transition:filter .15s, transform .1s;
}
.btn-cta:hover { filter:brightness(1.07); }
.btn-cta:active { transform:translateY(1px); }
.btn-cta:disabled { filter:saturate(.4) opacity(.7); }

/* ---------- Shell ---------- */
.app {
  height:100dvh; display:grid;
  grid-template-columns:60px 232px minmax(340px,420px) minmax(0,1fr);
  grid-template-areas:"rail side list read";
}
.rail {
  grid-area:rail; display:flex; flex-direction:column; align-items:center; gap:6px;
  padding:16px 0 14px; background:var(--canvas); border-right:1px solid var(--hair);
}
.rail .mark { margin-bottom:14px; }
.rail-fill { flex:1; }
.rail-btn {
  width:38px; height:38px; border-radius:var(--r-lg); display:grid; place-items:center; color:var(--faint);
  transition:background .15s, color .15s;
}
.rail-btn:hover { background:var(--hover); color:var(--text); }
.rail-btn.is-on { color:var(--pp); background:var(--pp-bg); }

.side {
  grid-area:side; display:flex; flex-direction:column; padding:16px 12px 14px; gap:2px;
  background:var(--canvas); border-right:1px solid var(--border); min-width:0;
}
.compose-btn {
  display:flex; align-items:center; gap:9px; height:38px; padding:0 14px; margin:0 2px 18px;
  border-radius:var(--r-lg); background:var(--cta); color:var(--on-cta); font-weight:600; font-size:13.5px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), var(--shadow-soft); transition:filter .15s, transform .1s;
}
.compose-btn .ico { width:16px; height:16px; }
.compose-btn:hover { filter:brightness(1.07); }
.compose-btn:active { transform:translateY(1px); }

.views, .accts { display:flex; flex-direction:column; gap:1px; }
.nav-item {
  display:flex; align-items:center; gap:11px; height:34px; padding:0 10px; border-radius:var(--r);
  color:var(--muted); font-size:13.5px; text-align:left; transition:background .12s, color .12s; min-width:0;
}
.nav-item:hover { background:var(--hover); color:var(--text); }
.nav-item.is-on { background:var(--surface); color:var(--text); font-weight:550; box-shadow:0 0 0 1px var(--border), var(--shadow-soft); }
.nav-item.is-on .ico { color:var(--pp); }
.nav-item .ico { width:17px; height:17px; color:var(--faint); }
.nav-item .lbl { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nav-item .cnt { font:500 11.5px var(--fm); color:var(--faint); }
.nav-item.is-on .cnt { color:var(--pp); }
.side-label {
  margin:22px 10px 6px; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--faint);
}
.acct-dot { width:8px; height:8px; border-radius:50%; background:var(--c, var(--acc-1)); flex:none; margin:0 4px 0 4px; box-shadow:0 0 0 3px color-mix(in srgb, var(--c, var(--acc-1)) 14%, transparent); }
.acct-all { width:16px; height:16px; flex:none; display:grid; grid-template-columns:1fr 1fr; gap:2px; padding:2px; }
.acct-all i { border-radius:50%; background:var(--c); }
.nav-item .warn-mark { color:var(--warn); }
.nav-item .warn-mark .ico { width:14px; height:14px; color:var(--warn); }
.side-foot { margin-top:auto; padding:10px 10px 0; display:flex; align-items:center; gap:8px; font-size:12px; color:var(--faint); min-width:0; }
.side-foot .who { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.foot-tools { display:none; margin-left:auto; }
.pill-demo { font:600 10.5px/1 var(--fm); letter-spacing:.06em; text-transform:uppercase; color:var(--warn); background:var(--warn-bg); padding:4px 7px; border-radius:999px; }

/* ---------- List pane ---------- */
.list-pane { grid-area:list; display:flex; flex-direction:column; min-width:0; min-height:0; background:var(--surface); border-right:1px solid var(--border); }
.head { height:60px; flex:none; display:flex; align-items:center; gap:6px; padding:0 14px 0 12px; }
.icon-btn {
  width:34px; height:34px; border-radius:var(--r); display:grid; place-items:center; color:var(--muted); flex:none;
  transition:background .12s, color .12s, opacity .12s;
}
.icon-btn:hover:not(:disabled) { background:var(--hover); color:var(--text); }
.icon-btn:active:not(:disabled) { background:var(--press); }
.icon-btn:disabled { opacity:.28; }
.icon-btn.on { color:var(--pp); }
.icon-btn.on .ico { fill:currentColor; }
.title-btn { display:flex; align-items:center; gap:4px; font-size:16px; font-weight:600; letter-spacing:-.015em; padding:4px 6px; border-radius:var(--r); cursor:default; white-space:nowrap; }
.title-btn .ico { color:var(--faint); }
.search {
  margin-left:auto; display:flex; align-items:center; gap:8px; height:34px; width:min(220px, 46%); padding:0 6px 0 10px;
  border-radius:var(--r-lg); background:var(--surface-2); color:var(--faint); border:1px solid transparent;
  transition:width .2s ease, background .15s, border-color .15s, box-shadow .15s;
}
.search:focus-within { width:min(280px, 62%); background:var(--surface); border-color:var(--pp2); box-shadow:0 0 0 3px var(--pp-bg); color:var(--text); }
.search input { flex:1; min-width:0; border:0; outline:0; background:none; font-size:13.5px; }
.search input::placeholder { color:var(--faint); }
.search input::-webkit-search-cancel-button { display:none; }
.search:focus-within kbd { visibility:hidden; }

.chip-row { padding:0 16px 10px; display:flex; gap:6px; }
.chip {
  display:inline-flex; align-items:center; gap:7px; height:28px; padding:0 6px 0 11px; border-radius:999px;
  background:var(--pp-bg); color:var(--pp); font-size:12.5px; font-weight:550; max-width:100%;
}
.chip span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.chip button { width:20px; height:20px; border-radius:50%; display:grid; place-items:center; }
.chip button:hover { background:var(--pp-bg); }

.list-scroll { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:2px 8px 96px; scrollbar-width:thin; scrollbar-color:var(--border) transparent; }
.list { display:flex; flex-direction:column; gap:1px; }

/* Thread row */
.row {
  position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:12px; row-gap:1px;
  padding:12px 14px 12px 26px; border-radius:var(--r-lg); cursor:pointer; user-select:none;
  transition:background .12s; touch-action:pan-y; background:var(--surface);
}
.row:hover { background:var(--hover); }
.row.sel { background:var(--pp-bg); }
.row.sel::before { content:""; position:absolute; left:0; top:12px; bottom:12px; width:2px; border-radius:2px; background:var(--pp2); }
.row .udot { position:absolute; left:11px; top:19px; width:7px; height:7px; border-radius:50%; background:var(--pp2); opacity:0; transform:scale(.4); transition:opacity .2s, transform .2s; }
.row.unread .udot { opacity:1; transform:none; }
.row .who { font-size:14px; font-weight:500; color:var(--text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; letter-spacing:-.005em; }
.row.unread .who { font-weight:650; }
.row .l1 { display:flex; align-items:baseline; gap:6px; min-width:0; }
.row .n { font:500 11px var(--fm); color:var(--faint); }
.row .meta { display:flex; align-items:center; gap:6px; color:var(--faint); align-self:center; }
.row .meta .ico { width:13px; height:13px; }
.row .meta .star-on { color:var(--pp2); fill:currentColor; }
.row time { font:400 11.5px var(--fm); color:var(--faint); white-space:nowrap; letter-spacing:-.01em; }
.row.unread time { color:var(--text); }
.row .l2 { grid-column:1 / -1; font-size:13.5px; color:var(--text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.row:not(.unread) .l2 { color:var(--muted); }
.row .l3 { grid-column:1 / -1; display:flex; align-items:center; gap:10px; min-width:0; margin-top:1px; }
.row .snip { flex:1; min-width:0; font-size:13px; color:var(--faint); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tag { display:inline-flex; align-items:center; gap:5px; font:500 10.5px var(--fm); color:var(--faint); flex:none; letter-spacing:-.01em; }
.tag i { width:6px; height:6px; border-radius:50%; background:var(--c); }
.row .quick { display:none; gap:2px; margin:-6px -6px -6px 0; }
.row .quick button { width:28px; height:28px; border-radius:var(--r); display:grid; place-items:center; color:var(--muted); }
.row .quick button:hover { background:var(--press); color:var(--text); }
.row .quick .ico { width:15px; height:15px; }
@media (hover:hover) {
  .row:hover .quick { display:flex; }
  .row:hover .meta { display:none; }
}
.row.arrive { animation:arrive .5s cubic-bezier(.2,.8,.2,1) both; }
@keyframes arrive { from { opacity:0; transform:translateY(-10px); background:var(--pp-bg); } 60% { background:var(--pp-bg); } to { opacity:1; transform:none; } }
.row.leaving { pointer-events:none; overflow:hidden; }
.row .swipe-bg { position:absolute; inset:0; border-radius:inherit; display:flex; align-items:center; justify-content:flex-end; padding-right:22px; color:var(--ok); background:var(--ok-bg); opacity:0; z-index:-1; }

/* Stamp: the "it happened" mark */
.stamp {
  position:absolute; right:16px; top:50%; z-index:2; display:inline-flex; align-items:center; gap:6px;
  padding:5px 10px 5px 8px; border-radius:999px; border:1.5px solid currentColor; color:var(--ok); background:var(--surface);
  font:700 10.5px/1 var(--fm); letter-spacing:.12em; text-transform:uppercase; pointer-events:none;
  box-shadow:0 0 0 4px var(--ok-bg);
}
.stamp .ico { width:13px; height:13px; stroke-width:2.2; }
.stamp.t-err { color:var(--err); box-shadow:0 0 0 4px var(--err-bg); }
.stamp.t-pp { color:var(--pp); box-shadow:0 0 0 4px var(--pp-bg); }

/* List states */
.list-state:empty { display:none; }
.empty { display:flex; flex-direction:column; align-items:center; gap:14px; padding:96px 24px; color:var(--faint); text-align:center; font-size:13.5px; }
.empty .halo { width:56px; height:56px; border-radius:50%; display:grid; place-items:center; background:var(--surface-2); color:var(--faint); }
.empty .halo .ico { width:24px; height:24px; }
.empty.zero .halo { background:var(--ok-bg); color:var(--ok); }
.empty.zero b { color:var(--text); font-weight:600; font-size:15px; letter-spacing:-.01em; }
.empty.bad .halo { background:var(--warn-bg); color:var(--warn); }
.skel-row { padding:14px 14px 14px 26px; display:flex; flex-direction:column; gap:8px; }
.skel { height:10px; border-radius:5px; background:var(--skel); animation:pulse 1.4s ease-in-out infinite; }
@keyframes pulse { 50% { opacity:.55; } }
.more-spin { padding:16px; display:flex; justify-content:center; }

/* ---------- Reader ---------- */
.reader { grid-area:read; display:flex; flex-direction:column; min-width:0; min-height:0; background:var(--surface); }
.r-head { height:60px; flex:none; display:flex; align-items:center; gap:2px; padding:0 16px 0 12px; border-bottom:1px solid transparent; transition:border-color .2s; }
.r-head.scrolled { border-bottom-color:var(--border); }
.r-head .r-back { display:none; }
.r-tools { display:flex; align-items:center; gap:2px; }
.r-sep { width:1px; height:18px; background:var(--border); margin:0 8px; }
.r-fill { flex:1; }
.r-scroll { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--border) transparent; }
.r-inner { max-width:780px; margin:0 auto; padding:18px 40px 120px; }
.r-subject { font-size:21px; line-height:1.3; font-weight:650; letter-spacing:-.022em; margin:0 0 8px; text-wrap:balance; }
.r-sub { display:flex; align-items:center; gap:10px; margin-bottom:26px; color:var(--faint); font-size:12.5px; }
.r-empty { flex:1; display:grid; place-items:center; color:var(--faint); }
.r-empty .mark { opacity:.12; filter:grayscale(1); width:56px; height:56px; border-radius:16px; font-size:26px; }
.r-empty-in { display:flex; flex-direction:column; align-items:center; gap:18px; }
.r-empty-keys { display:flex; gap:6px; align-items:center; font-size:12px; }

.msg { border:1px solid var(--border); border-radius:12px; background:var(--surface); margin-bottom:10px; box-shadow:var(--shadow-soft); overflow:hidden; }
.msg-head { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:0 12px; align-items:center; padding:14px 16px; }
.msg.collapsed .msg-head { cursor:pointer; }
.msg.collapsed:hover { background:var(--hover); }
.avatar { width:32px; height:32px; border-radius:50%; display:grid; place-items:center; font-size:12.5px; font-weight:600; color:var(--c, var(--muted)); background:color-mix(in srgb, var(--c, var(--muted)) 12%, var(--surface)); grid-row:span 2; }
.msg-from { display:flex; align-items:baseline; gap:8px; min-width:0; }
.sender { font-weight:600; font-size:14px; color:var(--text); cursor:pointer; border-radius:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; letter-spacing:-.005em; }
.sender:hover { color:var(--pp); }
.msg-addr { font-size:12.5px; color:var(--faint); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; opacity:0; transition:opacity .15s; }
.msg-head:hover .msg-addr { opacity:1; }
.msg-time { font:400 11.5px var(--fm); color:var(--faint); white-space:nowrap; }
.msg-to { grid-column:2 / -1; font-size:12.5px; color:var(--faint); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.msg.collapsed .msg-to { color:var(--faint); }
.msg-body { padding:2px 16px 16px 60px; }
.msg-frame-wrap { background:var(--mail-paper); border-radius:8px; overflow:hidden; }
:root[data-theme="dark"] .msg-frame-wrap { padding:14px 16px; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .msg-frame-wrap { padding:14px 16px; } }
.msg-frame { display:block; width:100%; height:60px; border:0; background:transparent; color-scheme:light; }
.plain { white-space:pre-wrap; overflow-wrap:anywhere; font-size:14.5px; line-height:1.62; color:var(--text); }
.plain a, .linkish { color:var(--pp); text-decoration:none; }
.plain a:hover { text-decoration:underline; }
.plain .q { color:var(--faint); }
.quote-toggle { margin-top:8px; height:20px; padding:0 8px; border-radius:999px; background:var(--surface-2); color:var(--faint); display:inline-grid; place-items:center; }
.quote-toggle:hover { color:var(--text); background:var(--press); }
.quote-toggle .ico { width:16px; height:16px; }
.atts { display:flex; flex-wrap:wrap; gap:8px; padding:0 16px 16px 60px; }
.att { display:inline-flex; align-items:center; gap:8px; height:34px; padding:0 12px 0 10px; border:1px solid var(--border); border-radius:var(--r-lg); font-size:12.5px; color:var(--text); max-width:260px; background:var(--surface); }
.att .ico { width:15px; height:15px; color:var(--faint); }
.att span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.att small { font:400 11px var(--fm); color:var(--faint); }
.reply-bar { display:flex; gap:8px; margin-top:18px; padding-left:0; flex-wrap:wrap; }
.btn-ghost {
  display:inline-flex; align-items:center; gap:8px; height:36px; padding:0 14px 0 12px; border-radius:var(--r-lg);
  border:1px solid var(--border); background:var(--surface); font-size:13px; font-weight:550; color:var(--text);
  box-shadow:var(--shadow-soft); transition:background .12s, border-color .12s;
}
.btn-ghost:hover { background:var(--surface-2); }
.btn-ghost .ico { width:15px; height:15px; color:var(--muted); }
.btn-ghost kbd { margin-left:2px; }
.r-loading { padding:30px 40px; display:flex; flex-direction:column; gap:12px; max-width:780px; margin:0 auto; width:100%; }

/* ---------- v1.1: quiet views, snooze, images, attachments, settings ---------- */
.nav-item.quiet:not(.is-on) { color:var(--faint); }
.nav-item.quiet:not(.is-on) .ico { opacity:.75; }
.row time.snz { display:inline-flex; align-items:center; gap:4px; color:var(--pp); }
.row time.snz .ico { width:12px; height:12px; }

.msg-side { display:flex; align-items:center; gap:4px; }
.img-ctl:empty { display:none; }
.img-btn { width:28px; height:28px; color:var(--faint); }
.img-btn .ico { width:15px; height:15px; }
.img-btn.on { color:var(--pp); }
.img-btn.on .ico { fill:none; }

.att { cursor:pointer; transition:background .12s, border-color .12s; }
.att:hover { background:var(--surface-2); }
.att.on { border-color:var(--pp2); box-shadow:0 0 0 3px var(--pp-bg); }
.att.busy { pointer-events:none; }
.att .att-dl { display:grid; place-items:center; width:22px; height:22px; margin-right:-6px; border-radius:var(--r); color:var(--faint); }
.att .att-dl:hover { background:var(--press); color:var(--text); }
.att .att-dl .ico { width:14px; height:14px; }
.att-prev { margin:0 16px 16px 60px; padding:0; cursor:zoom-out; }
.att-prev img { display:block; max-width:100%; max-height:320px; border-radius:var(--r-lg); border:1px solid var(--border); background:var(--surface-2); }

.snz-pop { position:fixed; inset:0; z-index:85; pointer-events:none; }
.snz-card { position:fixed; pointer-events:auto; width:264px; padding:6px; background:var(--surface); border:1px solid var(--border); border-radius:12px; box-shadow:var(--shadow-pop); display:flex; flex-direction:column; gap:1px; }
.snz-item { display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:10px; height:38px; padding:0 8px 0 10px; border-radius:var(--r); font-size:13.5px; color:var(--text); text-align:left; }
.snz-item:hover, .snz-item:focus-visible { background:var(--hover); outline:none; }
.snz-item .ico { width:16px; height:16px; color:var(--faint); }
.snz-item time { font:400 11.5px var(--fm); color:var(--faint); white-space:nowrap; }
.snz-item kbd { visibility:hidden; }
.snz-item:hover kbd, .snz-item:focus-visible kbd { visibility:visible; }
.snz-custom { display:flex; align-items:center; gap:4px; padding:4px 2px 2px 6px; }
.snz-custom input { flex:1; min-width:0; height:34px; padding:0 8px; border:1px solid var(--border); border-radius:var(--r); background:var(--surface); color:var(--text); color-scheme:light dark; }
.snz-custom input:focus { outline:none; border-color:var(--pp2); box-shadow:0 0 0 3px var(--pp-bg); }
.snz-custom.bad input { border-color:var(--warn); box-shadow:0 0 0 3px var(--warn-bg); }
.snz-custom .icon-btn { color:var(--pp); }

.set-sheet { position:fixed; inset:0; z-index:88; display:grid; place-items:center; background:var(--scrim); padding:16px; animation:fade .15s both; }
.set-card { width:min(560px,100%); max-height:min(720px, calc(100dvh - 32px)); display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--border); border-radius:14px; box-shadow:var(--shadow-pop); overflow:hidden; }
.set-head { height:52px; flex:none; display:flex; align-items:center; padding:0 8px 0 20px; border-bottom:1px solid var(--border); }
.set-back { display:none; }
.set-title { flex:1; font-size:15px; font-weight:600; letter-spacing:-.01em; }
.set-body { overflow-y:auto; padding:6px 20px 20px; scrollbar-width:thin; }
.set-body .empty { padding:56px 16px; }
.sig-row { padding:16px 0 14px; border-bottom:1px solid var(--hair); }
.sig-row:last-child { border-bottom:0; }
.sig-acct { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--muted); margin-bottom:8px; }
.sig-acct .acct-dot { margin:0 4px 0 2px; }
.sig-addr { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sig-acct .warn-mark { display:inline-grid; color:var(--warn); cursor:help; }
.sig-acct .warn-mark .ico { width:15px; height:15px; }
.sig-ed { min-height:44px; padding:10px 12px; border:1px solid var(--border); border-radius:var(--r-lg); background:var(--surface); font-size:13.5px; line-height:1.55; color:var(--text); outline:none; overflow-wrap:anywhere; transition:border-color .15s, box-shadow .15s; }
.sig-ed:focus { border-color:var(--pp2); box-shadow:0 0 0 3px var(--pp-bg); }
.sig-ed.is-empty::before { content:attr(data-ph); color:var(--faint); pointer-events:none; }
.sig-ed.ro { background:var(--surface-2); color:var(--muted); cursor:not-allowed; }
.sig-ed img { max-width:100%; height:auto; }
.sig-foot { display:flex; justify-content:flex-end; gap:8px; margin-top:10px; }
.sig-foot .btn-ghost { height:34px; }
.sig-foot .btn-send { height:34px; }
.sig-foot .btn-send:disabled { filter:saturate(.4) opacity(.7); }

/* ---------- FAB, scrim ---------- */
.fab { display:none; }
.scrim { display:none; }

/* ---------- Compose ---------- */
.compose {
  position:fixed; right:24px; bottom:24px; width:min(580px, calc(100vw - 48px)); max-height:calc(100dvh - 48px);
  display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--border); border-radius:14px;
  box-shadow:var(--shadow-pop); z-index:40; overflow:hidden; transform-origin:bottom right;
}
.compose.enter { animation:c-in .22s cubic-bezier(.2,.8,.2,1) both; }
@keyframes c-in { from { opacity:0; transform:translateY(14px) scale(.985); } }
.c-head { height:46px; display:flex; align-items:center; padding:0 8px 0 18px; gap:6px; border-bottom:1px solid var(--border); }
.c-title { font-size:13.5px; font-weight:600; flex:1; letter-spacing:-.005em; }
.c-row { display:flex; align-items:center; gap:10px; min-height:42px; padding:0 18px; border-bottom:1px solid var(--hair); }
.c-row > label { font-size:12.5px; color:var(--faint); width:44px; flex:none; }
.c-row input, .c-row select { flex:1; min-width:0; border:0; outline:0; background:none; font-size:13.5px; height:40px; }
.c-row select { appearance:none; -webkit-appearance:none; cursor:pointer; padding-right:18px; }
.c-row .sel-wrap { flex:1; display:flex; align-items:center; gap:9px; position:relative; min-width:0; }
.c-row .sel-wrap .ico { position:absolute; right:0; color:var(--faint); pointer-events:none; }
.c-row .linkbtn { font-size:12.5px; color:var(--faint); padding:4px 6px; border-radius:var(--r); }
.c-row .linkbtn:hover { color:var(--text); background:var(--hover); }
.c-row.bad { box-shadow:inset 2px 0 0 var(--warn); }
.c-row.bad input { color:var(--warn); }
.c-body { flex:1; min-height:220px; padding:14px 18px; border:0; outline:0; resize:none; background:none; font-size:14.5px; line-height:1.6; }
.c-quote { margin:0 18px 8px; padding:8px 12px; border-left:2px solid var(--border); color:var(--faint); font-size:12.5px; max-height:72px; overflow:hidden; white-space:pre-wrap; -webkit-mask-image:linear-gradient(180deg,black 40%,transparent); mask-image:linear-gradient(180deg,black 40%,transparent); }
.c-foot { display:flex; align-items:center; gap:8px; padding:12px 14px 14px 18px; }
.btn-send {
  display:inline-flex; align-items:center; gap:10px; height:36px; padding:0 8px 0 16px; border-radius:var(--r-lg);
  background:var(--cta); color:var(--on-cta); font-weight:600; font-size:13.5px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), var(--shadow-soft); transition:filter .15s, transform .1s;
}
.btn-send:hover { filter:brightness(1.07); }
.btn-send:active { transform:translateY(1px); }
.btn-send kbd { background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.22); color:var(--on-cta); }
.c-foot .c-fill { flex:1; }
.compose.shake { animation:shake .3s; }
@keyframes shake { 25% { transform:translateX(-5px); } 75% { transform:translateX(5px); } }

/* ---------- Toasts ---------- */
.toasts { position:fixed; left:50%; bottom:24px; transform:translateX(-50%); z-index:92; display:flex; flex-direction:column-reverse; align-items:center; gap:8px; pointer-events:none; }
.toast {
  pointer-events:auto; display:flex; align-items:center; gap:12px; min-height:44px; padding:6px 6px 6px 12px;
  border-radius:12px; background:var(--toast-bg); color:var(--toast-text); box-shadow:var(--shadow-pop);
  font-size:13.5px; font-weight:500; white-space:nowrap; animation:t-in .28s cubic-bezier(.2,.9,.25,1.15) both;
}
.toast.out { animation:t-out .2s ease forwards; }
@keyframes t-in { from { opacity:0; transform:translateY(12px) scale(.96); } }
@keyframes t-out { to { opacity:0; transform:translateY(6px) scale(.97); } }
.toast .t-ico { width:24px; height:24px; border-radius:50%; display:grid; place-items:center; background:var(--ok); color:var(--toast-bg); flex:none; }
.toast .t-ico .ico { width:13px; height:13px; stroke-width:2.4; }
.toast.t-err .t-ico { background:var(--err); }
.toast.t-pp .t-ico { background:var(--pp2); }
.toast.t-muted .t-ico { background:var(--toast-muted); }
.toast .t-txt { padding-right:6px; }
.toast .t-undo { display:inline-flex; align-items:center; gap:8px; height:32px; padding:0 8px 0 12px; border-radius:8px; color:var(--toast-text); font-weight:600; }
.toast .t-undo:hover { background:color-mix(in srgb, var(--toast-text) 10%, transparent); }
.toast .t-undo kbd { background:transparent; color:var(--toast-muted); border-color:color-mix(in srgb, var(--toast-text) 22%, transparent); }
.toast:not(:has(.t-undo)) { padding-right:16px; }
.ring { width:24px; height:24px; position:relative; flex:none; }
.ring svg { position:absolute; inset:0; transform:rotate(-90deg); }
.ring circle { fill:none; stroke-width:2.2; }
.ring .track { stroke:color-mix(in srgb, var(--toast-text) 16%, transparent); }
.ring .bar { stroke:var(--pp2); stroke-linecap:round; stroke-dasharray:62.83; }
.ring b { position:absolute; inset:0; display:grid; place-items:center; font:600 10.5px/1 var(--fm); }

/* Big stamp (full-screen confirm on mobile reader) */
.bigstamp { position:fixed; inset:0; z-index:70; display:grid; place-items:center; pointer-events:none; }
.bigstamp .b { width:88px; height:88px; border-radius:50%; display:grid; place-items:center; color:var(--ok); background:var(--surface); box-shadow:var(--shadow-pop), 0 0 0 8px var(--ok-bg); position:relative; }
.bigstamp .b .ico { width:34px; height:34px; stroke-width:2; }
.bigstamp.t-err .b { color:var(--err); box-shadow:var(--shadow-pop), 0 0 0 8px var(--err-bg); }
.bigstamp.t-pp .b { color:var(--pp); box-shadow:var(--shadow-pop), 0 0 0 8px var(--pp-bg); }

/* ---------- Tooltip ---------- */
.tip {
  position:fixed; z-index:95; pointer-events:none; display:flex; align-items:center; gap:8px; padding:5px 6px 5px 9px;
  border-radius:7px; background:var(--toast-bg); color:var(--toast-text); font-size:12px; font-weight:500; white-space:nowrap;
  opacity:0; transform:translateY(2px); transition:opacity .12s, transform .12s; box-shadow:var(--shadow-pop);
}
.tip.on { opacity:1; transform:none; }
.tip:not(:has(kbd)) { padding-right:9px; }
.tip { max-width:min(420px, calc(100vw - 16px)); }
.tip span { white-space:normal; line-height:1.4; }
.tip kbd { background:transparent; color:var(--toast-muted); border-color:color-mix(in srgb, var(--toast-text) 22%, transparent); }

/* ---------- Shortcut sheet ---------- */
.keys-sheet { position:fixed; inset:0; z-index:90; display:grid; place-items:center; background:var(--scrim); padding:16px; animation:fade .15s both; }
@keyframes fade { from { opacity:0; } }
.keys-card { width:min(440px,100%); background:var(--surface); border:1px solid var(--border); border-radius:14px; box-shadow:var(--shadow-pop); padding:10px; display:grid; grid-template-columns:1fr 1fr; gap:2px 12px; }
.keys-card div { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:7px 10px; font-size:13px; color:var(--muted); }
.keys-card kbd { color:var(--text); }

/* ---------- Medium widths: views collapse into a drawer ---------- */
@media (max-width:1180px) {
  .app { grid-template-columns:60px minmax(320px,380px) minmax(0,1fr); grid-template-areas:"rail list read"; }
  .side { position:fixed; z-index:30; top:0; bottom:0; left:60px; width:248px; transform:translateX(calc(-100% - 72px)); visibility:hidden; transition:transform .24s cubic-bezier(.2,.8,.2,1), visibility 0s .24s; box-shadow:var(--shadow-pop); }
  .app.drawer .side { transform:none; visibility:visible; transition:transform .24s cubic-bezier(.2,.8,.2,1); }
  .app.drawer .scrim { display:block; position:fixed; inset:0; z-index:25; background:var(--scrim); animation:fade .2s both; }
  .title-btn { cursor:pointer; }
  .title-btn:hover { background:var(--hover); }
  .r-inner { padding:18px 28px 120px; }
}
@media (min-width:1181px) { .only-narrow { display:none; } }

/* ---------- Phone ---------- */
@media (max-width:760px) {
  body { font-size:15px; }
  .app { grid-template-columns:minmax(0,1fr); grid-template-areas:"list"; }
  .rail { display:none; }
  .foot-tools { display:flex; }
  .side-foot { padding-bottom:env(safe-area-inset-bottom); }
  .side { left:0; width:min(300px, 84vw); padding-top:max(16px, env(safe-area-inset-top)); }
  .list-pane { border-right:0; }
  .head { padding:0 12px 0 8px; height:56px; margin-top:env(safe-area-inset-top); gap:4px; }
  .search { width:auto; flex:1; max-width:none; }
  .search:focus-within { width:auto; }
  .only-wide { display:none; }
  .list-scroll { padding:2px 6px 120px; }
  .row { padding:13px 14px 13px 26px; }
  .row .who { font-size:15px; }
  .row .l2 { font-size:14px; }
  .row .snip { font-size:13.5px; }
  .reader {
    position:fixed; inset:0; z-index:20; transform:translateX(100%); transition:transform .28s cubic-bezier(.2,.8,.2,1);
    box-shadow:var(--shadow-pop); padding-top:env(safe-area-inset-top);
  }
  .app.reading .reader { transform:none; }
  .r-head { padding:0 8px; height:56px; }
  .r-head .r-back { display:grid; }
  .r-head .r-nav { display:none; }
  .r-inner { padding:12px 16px 120px; }
  .r-subject { font-size:20px; }
  .msg-head { padding:12px 14px; }
  .msg-body { padding:0 14px 14px; }
  .atts { padding:0 14px 14px; }
  .att-prev { margin:0 14px 14px; }
  .snz-pop.sheet { pointer-events:auto; background:var(--scrim); animation:fade .15s both; }
  .snz-pop.sheet .snz-card { left:8px !important; right:8px; top:auto !important; bottom:calc(8px + env(safe-area-inset-bottom)); width:auto; padding:8px; border-radius:16px; }
  .snz-pop.sheet .snz-item { height:46px; font-size:15px; }
  .snz-pop.sheet .snz-item kbd { display:none; }
  .set-sheet { padding:0; place-items:stretch; }
  .set-card { width:100%; max-height:none; height:100dvh; border-radius:0; border:0; padding-top:env(safe-area-inset-top); }
  .set-head { padding:0 8px; height:56px; gap:4px; }
  .set-back { display:grid; }
  .set-x { display:none; }
  .set-body { padding:4px 16px 24px; }
  .msg-addr { display:none; }
  .fab {
    display:grid; place-items:center; position:fixed; right:18px; bottom:calc(22px + env(safe-area-inset-bottom)); z-index:15;
    width:54px; height:54px; border-radius:18px; background:var(--cta); color:var(--on-cta);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18), var(--shadow-pop); transition:transform .2s;
  }
  .fab .ico { width:21px; height:21px; }
  .app.reading .fab { transform:scale(0); }
  .compose { inset:0; width:auto; max-height:none; border-radius:0; border:0; padding-top:env(safe-area-inset-top); padding-bottom:env(safe-area-inset-bottom); }
  .compose.enter { animation:c-up .28s cubic-bezier(.2,.8,.2,1) both; }
  @keyframes c-up { from { transform:translateY(100%); } }
  .toasts { bottom:calc(88px + env(safe-area-inset-bottom)); width:calc(100% - 32px); }
  .toast { max-width:100%; }
  .reply-bar .btn-ghost kbd, .btn-send kbd { display:none; }
  .btn-send { padding:0 18px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.001ms !important; animation-delay:0s !important; transition-duration:.001ms !important; }
}

/* ---------- Premium glass buttons (samueljamesgroup.com recipe, no solid violet) ---------- */
.btn-cta, .compose-btn, .btn-send, .btn-ghost, .fab {
  position:relative; color:var(--text); background:var(--glass-bg);
  -webkit-backdrop-filter:blur(10px) saturate(1.25); backdrop-filter:blur(10px) saturate(1.25);
  border:1px solid var(--glass-line); border-radius:999px; filter:none;
  box-shadow:inset 0 1px 0 var(--glass-sheen), 0 2px 9px -5px var(--glass-glow);
  transition:color .16s, border-color .16s, box-shadow .2s, transform .16s;
}
.btn-cta, .compose-btn, .btn-send, .fab {
  color:var(--glass-ink-p); border-color:var(--glass-line-p);
  box-shadow:inset 0 1px 0 var(--glass-sheen), 0 4px 16px -6px var(--glass-glow-p);
}
.btn-cta:hover, .compose-btn:hover, .btn-send:hover, .btn-ghost:hover, .fab:hover {
  filter:none; background:var(--glass-bg); border-color:var(--glass-line-p);
  box-shadow:inset 0 1px 0 var(--glass-sheen), 0 6px 18px -6px var(--glass-glow-p);
}
.btn-cta:active, .compose-btn:active, .btn-send:active, .btn-ghost:active { transform:translateY(1px); }
.btn-cta:focus-visible, .compose-btn:focus-visible, .btn-send:focus-visible, .btn-ghost:focus-visible, .fab:focus-visible { outline:2px solid var(--glass-ink-p); outline-offset:3px; }
.btn-cta:disabled, .btn-send:disabled { filter:saturate(.4) opacity(.6); box-shadow:none; }
.compose-btn .ico, .btn-send .ico, .fab .ico { color:var(--glass-ink-p); }
.btn-ghost .ico { color:var(--muted); }
.btn-send kbd { background:var(--hover); border-color:var(--glass-line); color:var(--glass-ink-p); }
.fab { border-radius:18px; box-shadow:inset 0 1px 0 var(--glass-sheen), 0 8px 24px -8px var(--glass-glow-p), var(--shadow-pop); }

/* account list: full address, local part over the domain so similar addresses never truncate alike */
.nav-item .lbl-addr { display:flex; flex-direction:column; line-height:1.25; padding:3px 0; }
.lbl-addr .a-local, .lbl-addr .a-dom { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lbl-addr .a-dom { font:400 11px var(--fm); color:var(--faint); letter-spacing:-.01em; }
.nav-item:has(.lbl-addr) { height:auto; min-height:34px; }

/* ---------- Waits: thinking orb + word ---------- */
.wait { display:inline-flex; align-items:center; gap:8px; color:var(--muted); font-size:13px; }
.wait [data-orb] { display:inline-grid; place-items:center; width:20px; height:20px; flex:none; }
.wait-block { display:flex; justify-content:center; padding:36px 16px; }
.btn-cta .wait, .btn-send .wait { color:inherit; }
.t-orb { display:inline-grid; place-items:center; }

/* ---------- People & Companies (module 2) ---------- */
.rail-btn { position:relative; }
.rail-cnt {
  position:absolute; top:3px; right:1px; min-width:16px; height:16px; padding:0 4px; border-radius:8px;
  background:var(--pp2); color:var(--on-cta); font:600 10px/16px var(--fm); text-align:center; box-shadow:0 0 0 2px var(--canvas);
}
.mods { display:none; flex-direction:column; gap:1px; margin:0 0 14px; }
.ty-client { --c:var(--acc-3); } .ty-prospect { --c:var(--acc-1); } .ty-partner { --c:var(--acc-2); } .ty-supplier { --c:var(--acc-6); } .ty-advisor { --c:var(--acc-4); }
.tdot { width:7px; height:7px; border-radius:50%; background:var(--c, var(--faint)); flex:none; display:inline-block; }

.p-list, .p-detail { display:none; }
.app[data-mod="people"] { grid-template-columns:60px minmax(340px,420px) minmax(0,1fr); grid-template-areas:"rail plist pdet"; }
.app[data-mod="people"] .list-pane, .app[data-mod="people"] .reader, .app[data-mod="people"] .fab { display:none; }
@media (min-width:1181px) { .app[data-mod="people"] .side { display:none; } }
.app[data-mod="people"] .p-list { grid-area:plist; display:flex; flex-direction:column; min-width:0; min-height:0; background:var(--surface); border-right:1px solid var(--border); }
.app[data-mod="people"] .p-detail { grid-area:pdet; display:flex; flex-direction:column; min-width:0; min-height:0; background:var(--surface); }
.only-phone { display:none; }

/* filters: quiet chips */
.p-chips { padding:0 10px 10px; display:flex; gap:0; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; }
.p-chips::-webkit-scrollbar { display:none; }
.fchip { flex:none; display:inline-flex; align-items:center; gap:5px; height:28px; padding:0 7px; border-radius:999px; font-size:12.5px; color:var(--faint); font-weight:500; transition:background .12s, color .12s; }
.fchip:hover { background:var(--hover); color:var(--text); }
.fchip.on { background:var(--pp-bg); color:var(--pp); font-weight:600; }

/* list rows */
.p-row { padding-left:56px; min-height:58px; align-content:center; }
.p-row .l2 { font-size:12px; }
.mono { font-family:var(--fm); font-size:11.5px; color:var(--faint); letter-spacing:-.01em; }
.p-row .l2.mono { color:var(--faint); }
.p-ava {
  width:30px; height:30px; border-radius:50%; flex:none; display:grid; place-items:center; font-size:11.5px; font-weight:600;
  color:var(--c, var(--muted)); background:color-mix(in srgb, var(--c, var(--muted)) 13%, var(--surface));
}
.p-ava.co { border-radius:9px; }
.p-row > .p-ava { position:absolute; left:14px; top:50%; transform:translateY(-50%); }
.p-row .pc-n { display:inline-flex; align-items:center; gap:3px; font:500 11px var(--fm); color:var(--faint); }
.p-row .row-act { width:28px; height:28px; margin:-6px -6px -6px 0; }
.p-sep { display:flex; align-items:center; gap:7px; margin:18px 14px 6px; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--faint); }
.p-deleted-link { display:flex; align-items:center; gap:8px; margin:22px 12px 0; padding:8px 10px; border-radius:var(--r); font-size:12.5px; color:var(--faint); }
.p-deleted-link:hover { background:var(--hover); color:var(--text); }
.p-deleted-link .n { font:500 11px var(--fm); }

/* suggestions tray */
.p-tray { margin:2px 0 10px; border:1px solid var(--border); border-radius:12px; background:var(--surface-2); overflow:hidden; }
.p-tray-h { width:100%; display:flex; align-items:center; gap:8px; height:38px; padding:0 12px; font-size:12.5px; font-weight:600; color:var(--muted); }
.p-tray-h .ico:first-child { color:var(--pp2); }
.p-tray-h .n { font:600 11px var(--fm); color:var(--pp); background:var(--pp-bg); border-radius:999px; padding:2px 7px; }
.p-tray-h .chev { margin-left:auto; color:var(--faint); transition:transform .2s; }
.p-tray.open .p-tray-h .chev { transform:rotate(180deg); }
.p-tray-list { display:none; flex-direction:column; gap:1px; padding:0 4px 4px; }
.p-tray.open .p-tray-list { display:flex; }
.s-row { padding:9px 10px 9px 12px; background:var(--surface); grid-template-columns:minmax(0,1fr) auto; }
.s-row .who { font-size:13.5px; }
.s-row .l2 { grid-column:1; display:flex; align-items:center; gap:10px; justify-content:space-between; }
.s-row .l2 time { margin-left:auto; }
.s-acts { display:flex; gap:2px; grid-row:span 2; align-self:center; }
.s-acts .icon-btn { width:32px; height:32px; }
.s-acts .s-ok:hover { color:var(--ok); background:var(--ok-bg); }
.s-acts .s-no:hover { color:var(--err); background:var(--err-bg); }
.stamp.t-muted { color:var(--faint); box-shadow:0 0 0 4px var(--hover); }

/* detail page */
.p-page { padding-top:22px; }
.p-hero { display:flex; align-items:center; gap:16px; margin-bottom:26px; }
.p-ava.xl { width:56px; height:56px; font-size:19px; }
.p-ava.xl.co { border-radius:16px; }
.p-hero-t { min-width:0; flex:1; display:flex; flex-direction:column; gap:6px; }
.p-name { margin:0; font-size:22px; line-height:1.25; font-weight:650; letter-spacing:-.022em; min-width:0; }
.p-sub { display:flex; align-items:center; gap:10px; flex-wrap:wrap; min-width:0; }
.fact { border-radius:6px; padding:1px 4px; margin:-1px -4px; cursor:text; outline:none; transition:background .12s; overflow-wrap:anywhere; }
.fact:hover, .fact:focus-visible { background:var(--hover); }
.fact.is-empty::before { content:attr(data-ph); color:var(--faint); font-weight:400; }
.fact-in { font:inherit; color:inherit; letter-spacing:inherit; border:0; outline:none; background:var(--surface); border-radius:6px; padding:1px 6px; margin:-1px -6px;
  box-shadow:0 0 0 1px var(--pp2), 0 0 0 4px var(--pp-bg); width:min(100%, 420px); }
.p-name .fact-in { width:100%; }
.type-pill { display:inline-flex; align-items:center; gap:7px; height:24px; padding:0 10px 0 9px; border-radius:999px; font-size:12px; font-weight:600;
  color:var(--c); background:color-mix(in srgb, var(--c) 12%, transparent); transition:background .12s; }
.type-pill:hover { background:color-mix(in srgb, var(--c) 20%, transparent); }
.p-gone { display:flex; align-items:center; gap:8px; margin:-12px 0 20px; font-size:12.5px; color:var(--err); }
.p-sec { margin-top:26px; }
.p-sec-h { display:flex; align-items:center; gap:8px; height:30px; margin-bottom:6px; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--faint); }
.p-sec-h .n { font:500 11px var(--fm); letter-spacing:0; }
.icon-btn.sm { width:28px; height:28px; }
.icon-btn.sm .ico { width:16px; height:16px; }
.p-none { display:flex; align-items:center; gap:8px; padding:10px 2px; font-size:13px; color:var(--faint); }
.p-people { display:flex; flex-direction:column; gap:1px; }
.pp-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:12px; padding:8px 10px; border-radius:var(--r-lg); text-align:left; transition:background .12s; }
.pp-row:hover { background:var(--hover); }
.pp-t { display:flex; flex-direction:column; min-width:0; }
.pp-name { font-size:14px; font-weight:550; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pp-role { font-size:12px; color:var(--faint); }
.pp-mail { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wire { color:var(--faint); display:inline-grid; }
.p-add-form { display:flex; gap:8px; align-items:center; margin:0 0 10px; flex-wrap:wrap; }
.p-add-form input { flex:1; min-width:140px; height:36px; padding:0 12px; border:1px solid var(--border); border-radius:var(--r-lg); background:var(--surface); color:var(--text); outline:none; }
.p-add-form input:focus { border-color:var(--pp2); box-shadow:0 0 0 3px var(--pp-bg); }
.p-add-form.bad input[data-np="email"] { border-color:var(--warn); box-shadow:0 0 0 3px var(--warn-bg); }
.p-add-form .btn-send { padding:0 18px; }
.p-notes { width:100%; min-height:44px; resize:none; overflow:hidden; padding:10px 12px; border:1px solid transparent; border-radius:var(--r-lg); background:var(--surface-2);
  font:inherit; font-size:14px; line-height:1.55; color:var(--text); outline:none; transition:border-color .15s, box-shadow .15s, background .15s; }
.p-notes:hover { background:var(--press); }
.p-notes:focus { background:var(--surface); border-color:var(--pp2); box-shadow:0 0 0 3px var(--pp-bg); }
.p-notes::placeholder { color:var(--faint); }
.p-facts { display:flex; gap:28px; flex-wrap:wrap; margin:-8px 0 4px; }
.p-fact { display:flex; align-items:center; gap:9px; font-size:13.5px; color:var(--text); min-width:0; }
.p-fact > .ico { color:var(--faint); }
.p-mailto { color:var(--faint); border-radius:4px; }
.p-mailto:hover { color:var(--pp); }

/* the wiring chip: a link to the company (Mail reader + person page) */
.p-chip { display:inline-flex; align-items:center; gap:5px; max-width:220px; height:22px; padding:0 8px 0 7px; border-radius:999px; font-size:12px; font-weight:550;
  color:var(--pp); background:var(--pp-bg); white-space:nowrap; transition:background .12s; flex:none; }
.p-chip span { overflow:hidden; text-overflow:ellipsis; }
.p-chip:hover { background:color-mix(in srgb, var(--pp2) 18%, transparent); }
.p-chip.quiet { color:var(--faint); background:transparent; padding:0 6px; }
.p-chip.quiet:hover { color:var(--text); background:var(--hover); }
.msg-from .p-link:empty { display:none; }
.p-add-slot:empty { display:none; }
.p-add { width:28px; height:28px; color:var(--faint); }
.p-add .ico { width:15px; height:15px; }
@media (hover:hover) { .msg-head .p-add { opacity:0; transition:opacity .15s; } .msg-head:hover .p-add, .p-add:focus-visible { opacity:1; } }

/* timeline */
.tl { display:flex; flex-direction:column; gap:1px; }
.tl-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; align-items:start; padding:10px 10px; border-radius:var(--r-lg); text-align:left; transition:background .12s; }
.tl-row:hover { background:var(--hover); }
.tl-dot { width:7px; height:7px; border-radius:50%; background:var(--c); margin-top:7px; }
.tl-main { min-width:0; display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 6px; }
.tl-subj { font-size:14px; font-weight:550; color:var(--text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%; }
.tl-main .n { font:500 11px var(--fm); color:var(--faint); }
.tl-snip { flex-basis:100%; font-size:13px; color:var(--faint); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; display:flex; align-items:center; gap:5px; min-width:0; }
.tl-me { flex:none; }
.tl-side { display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
.tl-side time { font:400 11.5px var(--fm); color:var(--faint); white-space:nowrap; }

/* type picker = the snooze card */
.tp-card { width:220px; }
.tp-card .snz-item .tdot { width:9px; height:9px; margin:0 3px; }
.tp-card .snz-item.cur { font-weight:600; }
.tp-card .snz-item .ico-sm { color:var(--ok); }

@media (max-width:1180px) {
  .app[data-mod="people"] { grid-template-columns:60px minmax(300px,360px) minmax(0,1fr); }
}
@media (max-width:760px) {
  .mods { display:flex; }
  .only-phone { display:inline-block; }
  .app[data-mod="people"] { grid-template-columns:minmax(0,1fr); grid-template-areas:"plist"; }
  .app[data-mod="people"] .p-list { border-right:0; }
  .app[data-mod="people"] .p-list .title-btn { cursor:pointer; }
  .app[data-mod="people"] .p-detail {
    position:fixed; inset:0; z-index:20; transform:translateX(100%); transition:transform .28s cubic-bezier(.2,.8,.2,1);
    box-shadow:var(--shadow-pop); padding-top:env(safe-area-inset-top);
  }
  .app.p-reading .p-detail { transform:none; }
  .p-detail .r-head .r-back { display:grid; }
  .p-detail .r-head .r-nav { display:none; }
  .p-chips { padding:0 10px 10px; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; gap:2px; }
  .p-chips::-webkit-scrollbar { display:none; }
  .fchip { padding:0 10px; flex:none; }
  .p-row .who { font-size:15px; }
  .p-hero { gap:14px; }
  .p-name { font-size:20px; }
  .pp-row { grid-template-columns:auto minmax(0,1fr) auto; }
  .pp-row .pp-mail { display:none; }
  .msg-head .p-add { opacity:1; }
}

/* ---------- Light / dark switch ---------- */
.theme-sw { position:relative; display:grid; width:30px; height:54px; margin:2px 0; padding:0; border-radius:999px;
  background:var(--surface-2); border:1px solid var(--glass-line); color:var(--faint); flex:none; }
.theme-sw .ico { position:absolute; left:50%; width:14px; height:14px; transform:translateX(-50%); transition:color .2s; z-index:1; }
.theme-sw .sw-sun { top:7px; color:var(--glass-ink-p); }
.theme-sw .sw-moon { bottom:7px; }
.theme-sw .sw-knob { position:absolute; left:2px; top:2px; width:24px; height:24px; border-radius:999px; background:var(--glass-bg);
  border:1px solid var(--glass-line-p); box-shadow:inset 0 1px 0 var(--glass-sheen), 0 2px 8px -3px var(--glass-glow);
  transition:transform .28s cubic-bezier(.3,1.4,.5,1); }
.theme-sw.is-dark .sw-knob { transform:translateY(24px); }
.theme-sw.is-dark .sw-sun { color:var(--faint); }
.theme-sw.is-dark .sw-moon { color:var(--glass-ink-p); }
.theme-sw:hover { border-color:var(--glass-line-p); }
.theme-sw:focus-visible { outline:2px solid var(--glass-ink-p); outline-offset:3px; }
.theme-sw.horiz { width:54px; height:30px; margin:0 4px; }
.theme-sw.horiz .ico { top:50%; left:auto; transform:translateY(-50%); }
.theme-sw.horiz .sw-sun { left:7px; }
.theme-sw.horiz .sw-moon { right:7px; bottom:auto; }
.theme-sw.horiz.is-dark .sw-knob { transform:translateX(24px); }
@media (prefers-reduced-motion: reduce) { .theme-sw .sw-knob { transition:none; } }

/* ---------- Prospects (module 3): same shell and parts as People ---------- */
.st-new { --c:var(--faint); } .st-contacted { --c:var(--acc-2); } .st-replied, .st-interested { --c:var(--ok); }
.st-not_now { --c:var(--warn); } .st-not_a_fit { --c:var(--err); } .st-converted { --c:var(--pp); }
.st-dot { background:var(--c); }
.tdot.st-new { background:transparent; box-shadow:inset 0 0 0 1.5px var(--faint); }

.pr-list, .pr-detail { display:none; }
.app[data-mod="prospects"] { grid-template-columns:60px minmax(340px,488px) minmax(0,1fr); grid-template-areas:"rail plist pdet"; }
#prChips { gap:0; padding:0 8px 10px; }
#prChips .fchip { padding:0 6px; gap:5px; font-size:12.5px; }
.app[data-mod="prospects"] .list-pane, .app[data-mod="prospects"] .reader, .app[data-mod="prospects"] .fab { display:none; }
@media (min-width:1181px) { .app[data-mod="prospects"] .side { display:none; } }
.app[data-mod="prospects"] .pr-list { grid-area:plist; display:flex; flex-direction:column; min-width:0; min-height:0; background:var(--surface); border-right:1px solid var(--border); }
.app[data-mod="prospects"] .pr-detail { grid-area:pdet; display:flex; flex-direction:column; min-width:0; min-height:0; background:var(--surface); }
.pr-list .search { width:min(200px, 42%); }
.pr-filt { margin-left:2px; }
.pr-filt.on { color:var(--pp); background:var(--pp-bg); }

/* list rows */
.tier { flex:none; font:600 10px/1 var(--fm); color:var(--pp); background:var(--pp-bg); padding:3px 5px; border-radius:5px; letter-spacing:0; }
.tier.lg { font-size:11px; padding:4px 7px; }
.pr-l2 { display:flex; align-items:center; gap:10px; justify-content:space-between; min-width:0; }
.pr-where { display:flex; align-items:center; gap:6px; min-width:0; color:var(--faint); }
.pr-trade, .pr-ph { display:inline-grid; flex:none; color:var(--faint); }
.pr-ph { color:var(--muted); }
.pr-ph.bad { color:var(--err); }
.pr-town { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.st { display:inline-flex; align-items:center; gap:6px; flex:none; font-size:12px; font-weight:550; color:var(--c); }
.st i { width:7px; height:7px; border-radius:50%; background:var(--c); }
.st.st-new i { background:transparent; box-shadow:inset 0 0 0 1.5px var(--faint); }
.st.st-contacted span, .st.st-new span { color:var(--muted); font-weight:500; }
.st.st-converted { color:var(--pp); }
.st.st-converted .ico { width:12px; height:12px; }

/* prospect page */
.st-pill { display:inline-flex; align-items:center; gap:7px; height:24px; padding:0 10px 0 9px; border-radius:999px; font-size:12px; font-weight:600;
  color:var(--c); background:color-mix(in srgb, var(--c) 12%, transparent); transition:background .12s; }
.st-pill.st-new, .st-pill.st-contacted { color:var(--muted); }
.st-pill:hover { background:color-mix(in srgb, var(--c) 20%, transparent); }
.pr-chn { color:var(--faint); border-radius:4px; text-decoration:none; }
.pr-chn:hover { color:var(--pp); }
.pr-last { display:inline-flex; align-items:center; gap:4px; font:400 11.5px var(--fm); color:var(--faint); }
.pr-facts { gap:12px 26px; margin:-6px 0 4px; }
.pf { display:inline-flex; align-items:center; gap:4px; min-width:0; }
.pf-link { color:var(--text); text-decoration:none; border-radius:4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13.5px; }
.pf-link.mono { font-size:12.5px; color:var(--text); }
a.pf-link:hover, button.pf-link:hover { color:var(--pp); }
.pf-link.tps-no { color:var(--err); text-decoration:line-through; text-decoration-thickness:1px; }
.pf-pen { width:24px; height:24px; color:var(--faint); }
.pf-pen .ico { width:13px; height:13px; }
@media (hover:hover) { .pf .pf-pen { opacity:0; transition:opacity .15s; } .pf:hover .pf-pen, .pf-pen:focus-visible { opacity:1; } }
.tps-mark { display:inline-grid; place-items:center; width:22px; height:22px; border-radius:var(--r); flex:none; }
.tps-mark .ico { width:14px; height:14px; }
.tps-mark.warn { color:var(--warn); }
.tps-mark.bad { color:var(--err); }
.tps-mark.ok { color:var(--ok); }
.tps-mark:hover { background:var(--hover); }
.wire.warn { color:var(--warn); }

/* log a call */
.pr-call { position:relative; margin:22px 0 0; padding:12px; border:1px solid var(--border); border-radius:12px; background:var(--surface-2); overflow:hidden; }
.pr-outs { display:flex; flex-wrap:wrap; gap:6px; }
.pr-out { display:inline-flex; align-items:center; gap:7px; height:32px; padding:0 12px 0 10px; border-radius:999px; font-size:12.5px; font-weight:550;
  color:var(--muted); background:var(--surface); border:1px solid var(--border); transition:background .12s, color .12s, border-color .12s, box-shadow .12s; }
.pr-out .ico { color:var(--faint); }
.pr-out:hover { color:var(--text); border-color:var(--glass-line); }
.pr-out.on { color:var(--pp); border-color:var(--pp2); box-shadow:0 0 0 3px var(--pp-bg); }
.pr-out.on .ico { color:var(--pp); }
.pr-call-row { display:flex; gap:8px; align-items:center; margin-top:10px; }
.pr-call-note { flex:1; min-width:0; height:36px; padding:0 12px; border:1px solid var(--border); border-radius:var(--r-lg); background:var(--surface); color:var(--text); outline:none; }
.pr-call-note:focus { border-color:var(--pp2); box-shadow:0 0 0 3px var(--pp-bg); }
.pr-call .btn-send { padding:0 8px 0 16px; }
.pr-call .btn-send:disabled { filter:saturate(.4) opacity(.55); box-shadow:none; }
.icon-btn.on { color:var(--pp); }
.r-head .icon-btn.on .ico { fill:none; }
.pr-dir { grid-template-columns:auto minmax(0,1fr); cursor:default; }
.pr-dir:hover { background:none; }

/* timeline: events + mail */
.tl-ic { width:24px; height:24px; border-radius:50%; display:grid; place-items:center; color:var(--faint); background:var(--surface-2); margin-top:-2px; }
.tl-ev { cursor:default; }
.tl-ev:hover { background:none; }
.tl-ev.quiet .tl-subj { color:var(--faint); font-weight:500; }
.tl-ev[class*="st-"] .tl-ic { color:var(--c); background:color-mix(in srgb, var(--c) 12%, transparent); }
.tl-ev.out-spoke .tl-ic, .tl-ev.out-callback .tl-ic { color:var(--ok); background:var(--ok-bg); }
.tl-ev.out-not_interested .tl-ic, .tl-ev.out-wrong_number .tl-ic { color:var(--err); background:var(--err-bg); }
.tl-ev.out-no_answer .tl-ic { color:var(--warn); background:var(--warn-bg); }
.tl-body { white-space:normal; color:var(--muted); }

/* mail reader: the prospect chip (People links take priority) */
.pr-chip { color:var(--muted); background:var(--surface-2); }
.pr-chip .ico { color:var(--pp2); }
.pr-chip:hover { background:var(--press); color:var(--text); }

@media (max-width:1180px) {
  .app[data-mod="prospects"] { grid-template-columns:60px minmax(300px,360px) minmax(0,1fr); }
}
@media (max-width:760px) {
  .app[data-mod="prospects"] { grid-template-columns:minmax(0,1fr); grid-template-areas:"plist"; }
  .app[data-mod="prospects"] .pr-list { border-right:0; }
  .app[data-mod="prospects"] .pr-list .title-btn { cursor:pointer; }
  .app[data-mod="prospects"] .pr-detail {
    position:fixed; inset:0; z-index:20; transform:translateX(100%); transition:transform .28s cubic-bezier(.2,.8,.2,1);
    box-shadow:var(--shadow-pop); padding-top:env(safe-area-inset-top);
  }
  .app.pr-reading .pr-detail { transform:none; }
  .app:not(.pr-reading) .pr-detail { box-shadow:none; }
  .pr-detail .r-head .r-back { display:grid; }
  .pr-detail .r-head .r-nav { display:none; }
  .pr-list .search { width:auto; }
  .pr-facts { flex-direction:column; gap:10px; }
  .pr-out { height:36px; }
  .pr-call-row .btn-send kbd { display:none; }
}
@media (hover:hover) { .pr-row:hover .meta { display:flex; } }
.tp-card .snz-item > .ico-sm:first-child { color:var(--faint); }

/* ---------- Outreach desk (module 4): same shell and parts as Prospects ---------- */
.ost-draft { --c:var(--faint); } .ost-ready { --c:var(--pp2); } .ost-paused { --c:var(--warn); } .ost-sending { --c:var(--ok); } .ost-finished { --c:var(--muted); } .ost-wait { --c:var(--border); }
.ost { display:inline-flex; align-items:center; gap:6px; flex:none; font-size:12px; font-weight:550; color:var(--c); }
.ost i { width:7px; height:7px; border-radius:50%; background:var(--c); }
.ost-draft i, .ost-wait i { background:transparent; box-shadow:inset 0 0 0 1.5px var(--c); }
.ost-draft span { color:var(--muted); font-weight:500; }
.ost-sending i { box-shadow:0 0 0 3px color-mix(in srgb, var(--c) 22%, transparent); animation:or-beat 1.6s ease-in-out infinite; }
@keyframes or-beat { 50% { box-shadow:0 0 0 5px color-mix(in srgb, var(--c) 6%, transparent); } }
.ost-pill { display:inline-flex; align-items:center; gap:7px; height:24px; padding:0 10px 0 9px; border-radius:999px; font-size:12px; font-weight:600;
  color:var(--c); background:color-mix(in srgb, var(--c) 12%, transparent); }
.ost-pill i { width:7px; height:7px; border-radius:50%; background:var(--c); }
.ost-pill.ost-draft { color:var(--muted); }
.ost-pill.ost-draft i { background:transparent; box-shadow:inset 0 0 0 1.5px var(--faint); }

.or-list, .or-detail { display:none; }
.app[data-mod="outreach"] { grid-template-columns:60px minmax(320px,400px) minmax(0,1fr); grid-template-areas:"rail plist pdet"; }
.app[data-mod="outreach"] .list-pane, .app[data-mod="outreach"] .reader, .app[data-mod="outreach"] .fab { display:none; }
@media (min-width:1181px) { .app[data-mod="outreach"] .side { display:none; } }
.app[data-mod="outreach"] .or-list { grid-area:plist; display:flex; flex-direction:column; min-width:0; min-height:0; background:var(--surface); border-right:1px solid var(--border); }
.app[data-mod="outreach"] .or-detail { grid-area:pdet; display:flex; flex-direction:column; min-width:0; min-height:0; background:var(--surface); }
.or-new { padding:4px 6px 10px; }
.or-add { margin:0; }
.or-add .btn-send { padding:0 8px 0 16px; }
.or-ava { color:var(--pp2); background:var(--pp-bg); }
.or-ava .ico { width:16px; height:16px; }
.p-ava.xl.or-ava .ico { width:24px; height:24px; }
.or-l2 { display:flex; align-items:center; gap:14px; }
.or-n { display:inline-flex; align-items:center; gap:5px; font:500 11.5px var(--fm); color:var(--faint); }
.or-n.good { color:var(--ok); }
.or-row .meta { display:flex; }

/* hero numbers: each one drills into the leads */
.or-hero { margin-bottom:22px; }
.or-stats { display:flex; align-items:center; gap:4px; flex-wrap:wrap; margin:4px 0 0 -8px; }
.or-stat { display:inline-flex; align-items:center; gap:6px; height:30px; padding:0 10px 0 8px; border-radius:999px; color:var(--muted); transition:background .12s, color .12s; }
.or-stat b { font:600 14px var(--fm); color:var(--text); letter-spacing:-.02em; }
.or-stat .ico { color:var(--faint); }
.or-stat:hover { background:var(--hover); }
.or-stat.on { background:var(--pp-bg); }
.or-stat.on .ico, .or-stat.on b { color:var(--pp); }
.or-stat.good .ico, .or-stat.good b { color:var(--ok); }
.or-stat.warn .ico { color:var(--warn); }
.or-stat-wait { padding:0 8px; }

/* sections */
.or-sec { margin-top:30px; }
.or-sec .p-sec-h { gap:8px; }
.or-sec .p-sec-h .icon-btn { width:30px; height:30px; }
.or-sec .p-sec-h .btn-ghost { height:30px; padding:0 12px 0 10px; font-size:12.5px; letter-spacing:0; text-transform:none; }
.or-lock { display:inline-grid; color:var(--faint); }
.wire { display:inline-grid; place-items:center; flex:none; }
.wire.ok { color:var(--ok); }

/* 1. sequence */
.or-steps { display:flex; flex-direction:column; gap:10px; }
.or-step { position:relative; border:1px solid var(--border); border-radius:12px; background:var(--surface); padding:10px 12px 12px; box-shadow:var(--shadow-soft); transition:border-color .15s, box-shadow .15s; }
.or-step:focus-within { border-color:var(--pp2); box-shadow:0 0 0 3px var(--pp-bg); }
.or-step-h { display:flex; align-items:center; gap:8px; height:30px; margin-bottom:4px; }
.or-step-n { width:22px; height:22px; border-radius:50%; display:grid; place-items:center; font:600 11px var(--fm); color:var(--pp); background:var(--pp-bg); flex:none; }
.or-when { display:inline-flex; align-items:center; gap:3px; font:500 11.5px var(--fm); color:var(--faint); }
.or-delay input { width:34px; height:24px; padding:0 4px; border:1px solid var(--border); border-radius:var(--r); background:var(--surface-2); color:var(--text); font:500 11.5px var(--fm); text-align:center; outline:none; -moz-appearance:textfield; }
.or-delay input::-webkit-inner-spin-button { display:none; }
.or-delay input:focus { border-color:var(--pp2); background:var(--surface); }
.or-mf { width:28px !important; height:28px !important; color:var(--faint); }
.or-mf .ico { width:15px; height:15px; }
@media (hover:hover) { .or-step [data-delstep] { opacity:0; transition:opacity .15s; } .or-step:hover [data-delstep], .or-step [data-delstep]:focus-visible { opacity:1; } }
.or-subj, .or-body { display:block; width:100%; border:0; outline:none; background:transparent; color:var(--text); padding:6px 2px; }
.or-subj { font-size:14.5px; font-weight:600; letter-spacing:-.01em; border-bottom:1px solid var(--hair); }
.or-subj::placeholder, .or-body::placeholder { color:var(--faint); font-weight:400; }
.or-body { min-height:120px; resize:none; font-size:14px; line-height:1.6; padding-top:10px; overflow:hidden; }
.or-step.ro { background:var(--surface-2); box-shadow:none; }
.or-subj-ro { font-size:14.5px; font-weight:600; padding:4px 2px 8px; border-bottom:1px solid var(--hair); overflow-wrap:anywhere; }
.or-subj-ro.faint { color:var(--faint); font-weight:400; }
.or-body-ro { white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; line-height:1.6; padding:8px 2px 2px; color:var(--text); }
.or-addstep { align-self:flex-start; width:38px; height:38px; border-radius:12px; display:grid; place-items:center; color:var(--faint); border:1px dashed var(--border); transition:color .12s, border-color .12s, background .12s; }
.or-addstep:hover { color:var(--pp); border-color:var(--pp2); background:var(--pp-bg); }
.or-dup { margin-left:auto; }

/* 2. leads */
.or-leads { display:flex; flex-direction:column; gap:1px; }
.or-lead { position:relative; display:grid; grid-template-columns:auto minmax(0,auto) minmax(0,1fr) auto; align-items:center; gap:10px; min-height:42px; padding:4px 6px 4px 10px; border-radius:var(--r-lg); transition:background .12s; }
.or-lead:hover { background:var(--hover); }
.or-lead-name { font-size:13.5px; font-weight:550; color:var(--text); text-align:left; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; border-radius:4px; }
.or-lead-name:hover { color:var(--pp); }
.or-lead-mail { font-size:11.5px; color:var(--faint); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.or-lead-side { display:flex; align-items:center; gap:4px; }
.gate { width:22px; height:22px; border-radius:50%; display:grid; place-items:center; flex:none; }
.gate .ico { stroke-width:2.2; }
.gate.ok { color:var(--ok); background:var(--ok-bg); }
.gate.warn { color:var(--warn); background:var(--warn-bg); }
.gate.tick { color:var(--warn); background:var(--warn-bg); box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--warn) 45%, transparent); }
.gate.tick.on { color:var(--ok); background:var(--ok-bg); box-shadow:inset 0 0 0 1.5px var(--warn); }
.gate.tick:hover { filter:brightness(1.08); }
.or-sl { display:inline-grid; color:var(--faint); padding:0 4px; }
.or-who { display:inline-flex; align-items:center; gap:4px; height:24px; padding:0 8px 0 6px; border-radius:999px; font-size:12px; color:var(--muted); background:var(--surface-2); }
.or-who .ico { color:var(--faint); }
.or-who.none { color:var(--faint); background:transparent; padding:0 6px; }
.or-who:hover:not(.ro) { color:var(--text); background:var(--press); }
.or-x { width:26px !important; height:26px !important; color:var(--faint); }
.or-x .ico { width:14px; height:14px; }
@media (hover:hover) { .or-lead .or-x, .or-lead .or-who.none { opacity:0; transition:opacity .15s; } .or-lead:hover .or-x, .or-lead:hover .or-who.none, .or-x:focus-visible { opacity:1; } }
.or-drill { height:24px; padding:0 4px 0 10px; font-size:11.5px; letter-spacing:0; text-transform:none; }
.or-verify .ico { color:var(--pp2); }

/* 3. preview */
.or-pv-who { font-size:12.5px; font-weight:550; color:var(--muted); letter-spacing:0; text-transform:none; max-width:240px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.or-pv { display:flex; flex-direction:column; gap:10px; }
.or-mail { border:1px solid var(--border); border-radius:12px; padding:12px 16px 14px; background:var(--surface); }
.or-mail-h { display:flex; align-items:center; gap:10px; padding-bottom:9px; margin-bottom:10px; border-bottom:1px solid var(--hair); }
.or-mail-subj { flex:1; min-width:0; font-weight:600; font-size:14px; overflow-wrap:anywhere; }
.or-mail-b { white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; line-height:1.62; color:var(--text); }
.mf { color:var(--pp); font-weight:550; }
.mf.miss { display:inline-flex; align-items:center; gap:3px; color:var(--warn); background:var(--warn-bg); border-radius:5px; padding:0 5px; font-size:12.5px; font-weight:600; vertical-align:1px; }
.faint { color:var(--faint); }

/* 4. accounts and pace */
.or-accts { display:flex; flex-direction:column; gap:1px; margin-bottom:12px; }
.or-acct { display:flex; align-items:center; gap:10px; min-height:38px; padding:0 8px; border-radius:var(--r-lg); }
.or-acct:not(.on) .or-acct-mail { color:var(--faint); }
.or-acct-chk, .or-chk { width:18px; height:18px; border-radius:5px; display:grid; place-items:center; flex:none; border:1.5px solid var(--border); color:var(--surface); background:var(--surface); transition:background .12s, border-color .12s; }
.or-acct.on .or-acct-chk, .or-chk.on { background:var(--pp2); border-color:var(--pp2); }
.or-acct-chk .ico, .or-chk .ico { stroke-width:3; width:12px; height:12px; }
.or-acct .or-acct-chk.ro, .or-acct.on .or-acct-chk.ro { border-color:transparent; background:transparent; color:var(--ok); }
.or-acct-mail { flex:1; min-width:0; font-size:12.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.or-health { display:inline-flex; align-items:center; gap:6px; font:500 11.5px var(--fm); color:var(--muted); }
.or-health i { width:7px; height:7px; border-radius:50%; background:var(--ok); }
.or-health.warn i { background:var(--warn); }
.or-pace { display:flex; align-items:center; gap:10px 22px; flex-wrap:wrap; padding:0 8px; }
.or-cap, .or-hours { display:inline-flex; align-items:center; gap:7px; font-size:13px; color:var(--muted); }
.or-cap .ico, .or-hours .ico { color:var(--faint); }
.or-cap b, .or-hours b { font:600 13px var(--fm); color:var(--text); }
.or-cap input, .or-hours input { height:30px; padding:0 8px; border:1px solid var(--border); border-radius:var(--r); background:var(--surface); color:var(--text); font:500 12.5px var(--fm); outline:none; color-scheme:light dark; }
.or-cap input { width:56px; text-align:center; }
.or-cap input:focus, .or-hours input:focus { border-color:var(--pp2); box-shadow:0 0 0 3px var(--pp-bg); }
.or-days { display:inline-flex; gap:3px; }
.or-day { width:26px; height:26px; border-radius:50%; display:grid; place-items:center; font:600 11px var(--fm); color:var(--faint); border:1px solid var(--border); background:var(--surface); }
.or-day.on { color:var(--pp); border-color:color-mix(in srgb, var(--pp2) 50%, transparent); background:var(--pp-bg); }
button.or-day:hover { border-color:var(--pp2); }

/* 5 + 6. push / start / pause */
.or-go { position:relative; display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:18px 0 0; border-top:1px solid var(--hair); }
.or-go:empty { display:none; }
.or-go .btn-send, .or-go .btn-ghost { height:40px; padding:0 18px 0 14px; gap:9px; }
.or-cnt { font:600 11.5px var(--fm); padding:2px 7px; border-radius:999px; background:var(--pp-bg); color:var(--pp); }
.or-why { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; color:var(--muted); }
.or-why.faint { color:var(--faint); }

/* the lead picker + the Start confirm (sheet) */
#pPop { z-index:89; }
.or-pick { width:min(620px,100%); height:min(760px, calc(100dvh - 32px)); }
.or-pick-tools { padding:10px 16px 6px; }
.or-pick-tools .search { margin:0; width:100%; }
.or-pick-tools .search:focus-within { width:100%; }
.or-pick-chips { padding:0 12px 8px; gap:2px; border-bottom:1px solid var(--border); }
.or-pick-chips .fchip { gap:6px; }
.or-pick-body { flex:1; padding:6px 8px 12px; }
.or-pk-row { width:100%; display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:12px; min-height:42px; padding:0 10px; border-radius:var(--r-lg); text-align:left; }
.or-pk-row:hover { background:var(--hover); }
.or-pk-name { display:flex; align-items:center; gap:7px; min-width:0; font-size:13.5px; font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.or-pk-all .or-pk-name { color:var(--muted); font-weight:600; font-size:12.5px; }
.or-pk-sub { font-size:12px; color:var(--faint); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:140px; }
.or-pick-foot { display:flex; justify-content:flex-end; padding:12px 16px; border-top:1px solid var(--border); }
.or-pick-foot .btn-send { padding:0 8px 0 18px; }
.or-confirm { width:min(440px,100%); }
.or-cf { display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px 14px; margin:14px 0 6px; align-items:start; }
.or-cf dt { color:var(--faint); padding-top:1px; }
.or-cf dd { margin:0; display:flex; flex-direction:column; gap:3px; font-size:14px; min-width:0; }
.or-cf dd .mono { font-size:12px; overflow:hidden; text-overflow:ellipsis; }
.or-cf-foot { padding:0 20px 18px; margin:0; }
.or-cf-foot .btn-send { padding:0 18px 0 14px; gap:8px; }

@media (max-width:1180px) {
  .app[data-mod="outreach"] { grid-template-columns:60px minmax(280px,340px) minmax(0,1fr); }
}
@media (max-width:760px) {
  .app[data-mod="outreach"] { grid-template-columns:minmax(0,1fr); grid-template-areas:"plist"; }
  .app[data-mod="outreach"] .or-list { border-right:0; }
  .app[data-mod="outreach"] .or-list .title-btn { cursor:pointer; }
  .app[data-mod="outreach"] .or-detail {
    position:fixed; inset:0; z-index:20; transform:translateX(100%); transition:transform .28s cubic-bezier(.2,.8,.2,1);
    box-shadow:var(--shadow-pop); padding-top:env(safe-area-inset-top);
  }
  .app.or-reading .or-detail { transform:none; }
  .app:not(.or-reading) .or-detail { box-shadow:none; }
  .or-detail .r-head .r-back { display:grid; }
  .or-detail .r-head .r-nav { display:none; }
  .or-lead { grid-template-columns:auto minmax(0,1fr) auto; row-gap:0; }
  .or-lead-mail { grid-column:2; grid-row:2; margin-top:-4px; }
  .or-lead-side { grid-column:3; grid-row:1 / span 2; }
  .or-x, .or-who.none { opacity:1; }
  .or-step [data-delstep] { opacity:1; }
  .or-sec .p-sec-h .btn-ghost.or-dup { font-size:0; gap:0; padding:0 9px; }
  .or-sec .p-sec-h .btn-ghost.or-dup .ico { margin:0; }
  .or-pick { height:100dvh; }
  .or-pk-sub { display:none; }
  .or-go .btn-send, .or-go .btn-ghost { flex:1; justify-content:center; }
  .or-pick-foot .btn-send { width:100%; justify-content:center; }
}

/* ---------- Find emails (enrich v1) ---------- */
.p-sec-h .pr-find { height:26px; padding:0 8px 0 7px; gap:6px; font-size:12px; font-weight:550; letter-spacing:0; text-transform:none; color:var(--text); }
.p-sec-h .pr-find .ico { width:14px; height:14px; }
.p-sec-h .pr-find .n { font:600 10.5px/1 var(--fm); color:var(--pp); background:var(--pp-bg); border-radius:999px; padding:3px 6px; }
.p-sec-h .pr-find .n:empty { display:none; }
.p-sec-h .pr-find .wait-txt { font-size:12px; text-transform:none; letter-spacing:0; }
.pr-dir { grid-template-columns:auto minmax(0,1fr) auto; }
.pr-dm { justify-self:end; max-width:100%; min-width:0; }
.pr-dm .pf-link { max-width:300px; }
.pr-dm .pf-pen { flex:none; }
.pr-dm-in { min-width:220px; }
.pr-sc { flex:none; font:600 10px/1 var(--fm); color:var(--muted); background:var(--surface-2); border-radius:4px; padding:3px 4px; }
.pr-sc.guess { background:none; box-shadow:inset 0 0 0 1px var(--border); color:var(--faint); }
.pr-ver { width:24px; height:24px; color:var(--muted); }
.pr-ver .ico { width:14px; height:14px; }
.pr-ver .wait-txt { display:none; }
.wire.bad { color:var(--err); }
.pr-none { color:var(--faint); opacity:.6; }
.pr-em { color:var(--ok); }
.pr-badge { right:12px; }
@media (hover:hover) { .pr-dir .pf-pen { opacity:0; transition:opacity .15s; } .pr-dir:hover .pf-pen, .pr-dir .pf-pen:focus-visible { opacity:1; } }
@media (max-width:760px) {
  .pr-dir { grid-template-columns:auto minmax(0,1fr); row-gap:2px; }
  .pr-dm { grid-column:2; justify-self:stretch; min-width:0; width:100%; }
  .pr-dm .pf-link { max-width:none; min-width:0; flex:0 1 auto; }
  .p-sec-h .pr-find span:not(.n) { display:none; }
  .pr-list .search { width:auto; flex:1 1 0; min-width:0; }
  .pr-list .head .icon-btn { flex:none; }
}

/* ---------- Prospects: segments + business type (segments-v1) ---------- */
.pr-segs { display:flex; gap:4px; padding:0 12px 6px; flex:none; overflow-x:auto; scrollbar-width:none; }
.pr-segs::-webkit-scrollbar { display:none; }
.pr-seg { flex:none; display:inline-flex; align-items:center; gap:6px; height:30px; padding:0 11px 0 9px; border-radius:var(--r-lg); font-size:13px; font-weight:550; color:var(--muted); transition:background .12s, color .12s, opacity .12s; }
.pr-seg .ico { color:var(--faint); }
.pr-seg .n { font:500 11px var(--fm); color:var(--faint); }
.pr-seg:hover { background:var(--hover); color:var(--text); }
.pr-seg.on { background:var(--pp-bg); color:var(--pp); }
.pr-seg.on .ico, .pr-seg.on .n { color:var(--pp); }
.pr-seg.parked { opacity:.55; }
.pr-seg.parked.on { opacity:.85; background:var(--surface-2); color:var(--muted); }
.pr-seg.parked.on .ico, .pr-seg.parked.on .n { color:var(--faint); }
.pr-pause { display:inline-grid; place-items:center; width:16px; height:16px; border-radius:50%; background:var(--surface-2); margin-right:-4px; }
.pr-pause .ico { width:9px; height:9px; color:var(--faint); }
.pr-seg.parked.on .pr-pause { background:var(--surface); }
.pr-right { display:inline-flex; align-items:center; gap:12px; flex:none; }
.bt { display:inline-flex; align-items:center; gap:5px; flex:none; font-size:11.5px; font-weight:500; color:var(--muted); }
.bt i { width:6px; height:6px; border-radius:50%; background:var(--c, var(--faint)); }
.bt-q { font:600 10px/1 var(--fm); color:var(--faint); opacity:.75; margin-left:-1px; }
.bt-wholesaler { --c:var(--ok); } .bt-manufacturer { --c:var(--acc-2); } .bt-merchant { --c:var(--acc-3); }
.bt-retailer { --c:var(--acc-4); } .bt-service { --c:var(--acc-6); } .bt-unknown, .bt-none { --c:var(--faint); }
.tdot.bt-dot { background:var(--c, var(--faint)); }
.tdot.bt-none { background:transparent; box-shadow:inset 0 0 0 1.5px var(--faint); }
.bt-pill { display:inline-flex; align-items:center; gap:7px; height:24px; padding:0 10px 0 9px; border-radius:999px; font-size:12px; font-weight:600;
  color:var(--muted); background:color-mix(in srgb, var(--c, var(--faint)) 11%, transparent); transition:background .12s; }
.bt-pill i { width:7px; height:7px; border-radius:50%; background:var(--c, var(--faint)); }
.bt-pill:hover { background:color-mix(in srgb, var(--c, var(--faint)) 20%, transparent); color:var(--text); }
.bt-pill.bt-none { color:var(--faint); font-weight:500; background:var(--surface-2); }
.bt-pill.bt-none .ico { color:var(--faint); }
.tp-card .snz-item.sep { position:relative; margin-top:9px; }
.tp-card .snz-item.sep::before { content:""; position:absolute; left:8px; right:8px; top:-5px; height:1px; background:var(--border); }
@media (max-width:760px) {
  .pr-segs { padding:0 10px 6px; }
  .pr-right { gap:9px; }
  .pr-right .bt span:not(.bt-q) { max-width:84px; overflow:hidden; text-overflow:ellipsis; }
}
.or-mfr { display:inline-flex; align-items:center; gap:3px; height:20px; padding:0 7px 0 5px; border-radius:999px; flex:none;
  font:600 10.5px/1 var(--fm); color:var(--acc-2); background:color-mix(in srgb, var(--acc-2) 11%, transparent); }
.or-mfr .ico { width:11px; height:11px; }
button.or-mfr:hover { background:color-mix(in srgb, var(--acc-2) 20%, transparent); }

/* ===================================================================== Today (home) + cadence (SPEC-cadence-v1.md) */
.td-list, .td-detail { display:none; }
.app[data-mod="today"] { grid-template-columns:60px minmax(420px,600px) minmax(0,1fr); grid-template-areas:"rail plist pdet"; }
.app[data-mod="today"] .list-pane, .app[data-mod="today"] .reader, .app[data-mod="today"] .fab { display:none; }
@media (min-width:1181px) { .app[data-mod="today"] .side { display:none; } }
.app[data-mod="today"] .td-list { grid-area:plist; display:flex; flex-direction:column; min-width:0; min-height:0; background:var(--surface); border-right:1px solid var(--border); }
.app[data-mod="today"] .td-detail { grid-area:pdet; display:flex; flex-direction:column; min-width:0; min-height:0; background:var(--canvas); }
.td-gear { display:none; }
.td-date { margin-left:10px; font-size:12.5px; font-weight:500; color:var(--faint); letter-spacing:0; }
.td-body { padding:6px 12px 40px; }

/* the "today's actions done" ring */
.td-ring { display:inline-flex; margin-right:4px; }
.ring-wrap { position:relative; width:30px; height:30px; display:grid; place-items:center; }
.ring-wrap svg { position:absolute; inset:0; width:30px; height:30px; transform:rotate(-90deg); }
.ring-wrap .rt { fill:none; stroke:var(--surface-2); stroke-width:2.6; }
.ring-wrap .rb { fill:none; stroke:var(--pp2); stroke-width:2.6; stroke-linecap:round; transition:stroke-dashoffset .6s cubic-bezier(.2,.8,.2,1), stroke .3s; }
.ring-wrap.all .rb { stroke:var(--ok); }
.ring-wrap b { position:relative; font:600 10.5px var(--fm); color:var(--muted); }
.ring-wrap.all b { color:var(--ok); }

/* sections */
.td-sec { margin-top:14px; }
.td-sec-h { display:flex; align-items:center; gap:8px; width:100%; padding:6px 6px 8px; font-size:11px; font-weight:650; letter-spacing:.06em; text-transform:uppercase; color:var(--faint); text-align:left; }
.td-sec-h .n { font:600 11px var(--fm); color:var(--muted); letter-spacing:0; }
.td-fold { border-radius:var(--r); }
.td-fold:hover { background:var(--hover); color:var(--text); }
.td-auto { font:500 10px var(--fm); letter-spacing:0; text-transform:none; color:var(--faint); border:1px solid var(--border); border-radius:5px; padding:1px 5px; }
.td-auto.by { color:var(--pp); border-color:var(--pp-ring); }
.td-rows { display:flex; flex-direction:column; gap:8px; }

/* a task row: a calm card */
.td-row { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr); gap:12px; padding:12px 14px 12px 12px; border:1px solid var(--border);
  border-radius:var(--r-lg); background:var(--surface); box-shadow:var(--shadow-soft); text-align:left; width:100%; transition:border-color .15s, box-shadow .15s; outline:none; }
.td-row.sel, .td-row:focus-visible { border-color:var(--pp-ring); box-shadow:0 0 0 3px var(--pp-bg); }
.td-row.busy { opacity:.8; }
.td-ava { width:34px; height:34px; font-size:12px; }
.td-ava.li { --c:var(--acc-2); }
.td-ava.ph { --c:var(--acc-3); }
.td-ava.ok { --c:var(--ok); }
.td-ava .ico { width:15px; height:15px; }
.td-main { min-width:0; display:flex; flex-direction:column; gap:6px; }
.td-l1 { display:flex; align-items:baseline; gap:8px; min-width:0; }
.td-name { font-size:14px; font-weight:620; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; flex:none; max-width:60%; text-align:left; }
.td-name:hover { color:var(--pp); }
.td-co { font-size:12.5px; color:var(--faint); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
.td-when { margin-left:auto; font-size:12px; color:var(--faint); flex:none; }
.td-late { margin-left:auto; flex:none; display:inline-flex; align-items:center; gap:3px; font-size:11.5px; font-weight:600; color:var(--warn); background:var(--warn-bg); border-radius:999px; padding:1px 7px 1px 5px; }
.td-l2 { display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:12px; color:var(--muted); min-width:0; }
.td-doing { display:inline-flex; align-items:center; gap:5px; font-weight:550; color:var(--text); }
.td-doing .ico { color:var(--acc-2); }
.td-step { font:500 11px var(--fm); color:var(--faint); }
.td-mbox { display:inline-flex; align-items:center; gap:5px; font:500 11px var(--fm); color:var(--faint); max-width:100%; }
.td-mbox i { width:7px; height:7px; border-radius:50%; background:var(--c); flex:none; }
.td-mdom { opacity:.7; }
.td-lis { display:inline-flex; align-items:center; gap:4px; font-size:11.5px; color:var(--faint); }
.td-copy { display:flex; align-items:flex-start; gap:6px; padding:8px 6px 8px 10px; border-radius:var(--r); background:var(--surface-2); font-size:13px; line-height:1.5; color:var(--text); }
.td-copy.td-none { color:var(--faint); background:transparent; border:1px dashed var(--border); padding:4px 4px 4px 10px; align-items:center; }
.td-copy-t { flex:1; min-width:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.td-cp { width:28px !important; height:28px !important; flex:none; margin:-4px 0; }
.td-acts { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.td-open { height:30px; padding:0 10px 0 9px; font-size:12.5px; gap:6px; text-decoration:none; }
.td-open .ico { color:var(--acc-2); width:14px; height:14px; }
.td-ext { color:var(--faint); font-size:11px; }
.td-chip { display:inline-flex; align-items:center; gap:6px; height:30px; padding:0 11px 0 9px; border-radius:999px; font-size:12.5px; font-weight:550; color:var(--muted);
  background:var(--surface); border:1px solid var(--border); transition:background .12s, color .12s, border-color .12s; }
.td-chip .ico { width:14px; height:14px; color:var(--faint); }
.td-chip:hover:not(:disabled) { background:var(--surface-2); color:var(--text); }
.td-chip:disabled { opacity:.45; }
.td-chip.prim { color:var(--ok); border-color:color-mix(in srgb, var(--ok) 40%, transparent); background:var(--ok-bg); }
.td-chip.prim .ico { color:var(--ok); }
.td-chip.prim:hover { background:color-mix(in srgb, var(--ok) 18%, transparent); color:var(--ok); }
.td-outs .td-chip.out-spoke .ico, .td-outs .td-chip.out-interested .ico { color:var(--ok); }
.td-outs .td-chip.out-not_interested .ico, .td-outs .td-chip.out-wrong_number .ico { color:var(--err); }
.td-tel { display:inline-flex; align-items:center; gap:5px; color:var(--text); font-size:12.5px; text-decoration:none; font-weight:550; }
.td-tel .ico { color:var(--ok); }
.td-tel:hover { color:var(--pp); }
.td-tel.no { color:var(--faint); text-decoration:line-through; }
.td-tel.no .ico { color:var(--warn); }
.td-recs { display:inline-flex; gap:8px; }
.td-rec { display:inline-flex; align-items:center; gap:3px; font-size:11px; color:var(--faint); }
.td-rep { cursor:pointer; padding:10px 14px 10px 12px; }
.td-rep:hover { border-color:var(--pp-ring); }
.td-ems { display:flex; flex-direction:column; gap:2px; padding:0 4px 4px; }
.td-em { display:grid; grid-template-columns:auto minmax(0,auto) auto minmax(0,1fr); align-items:center; gap:10px; min-height:34px; padding:0 8px; border-radius:var(--r); font-size:13px; }
.td-em .td-name { font-size:13px; font-weight:550; max-width:none; }
.td-em .td-mbox { justify-self:end; }
.td-em-ic { display:inline-grid; color:var(--pp2); }
.td-em-ic.warn { color:var(--warn); }
.td-em-ic.ok { color:var(--ok); }
.td-em.done .td-name { color:var(--muted); }
.td-upload { align-self:flex-start; margin:8px 4px 2px; height:32px; font-size:12.5px; }
.td-zero { padding:64px 24px 28px; }
.td-zero b { color:var(--text); font-size:15px; }
.td-next { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; color:var(--faint); padding:4px 10px; border-radius:999px; }
button.td-next:hover { background:var(--hover); color:var(--text); }
.td-row .stamp { right:16px; }

/* the cadence panel */
.td-page { max-width:760px; }
.td-hero-ic { --c:var(--pp2); }
.td-hero-ic .ico { width:22px; height:22px; }
.ost-pill:disabled { cursor:default; }
.ost-pill.ost-paused { --c:var(--warn); }
.ost-pill.ost-sending { --c:var(--ok); }
.td-daily { display:inline-flex; align-items:center; gap:5px; height:24px; padding:0 9px 0 8px; border-radius:999px; font-size:12px; font-weight:550; color:var(--muted); background:var(--surface-2); }
.td-daily:hover { color:var(--text); background:var(--press); }
.td-mbs { display:flex; flex-direction:column; gap:2px; }
.td-mb { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; min-height:40px; padding:0 10px; border-radius:var(--r-lg); text-align:left; }
.td-mb:hover { background:var(--hover); }
.td-mb-a { font-size:12.5px; color:var(--text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.td-mb-s { display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:550; }
.td-mb-s.t-ok { color:var(--ok); } .td-mb-s.t-pp { color:var(--pp); } .td-mb-s.t-warn { color:var(--warn); } .td-mb-s.t-muted { color:var(--faint); }
.td-sts { position:relative; display:flex; flex-direction:column; gap:10px; padding-left:18px; }
.td-sts::before { content:""; position:absolute; left:5px; top:14px; bottom:14px; width:1.5px; background:var(--border); border-radius:2px; }
.td-st { position:relative; display:flex; flex-direction:column; gap:8px; padding:12px 14px; border:1px solid var(--border); border-radius:var(--r-lg); background:var(--surface); }
.td-st::before { content:""; position:absolute; left:-17px; top:17px; width:9px; height:9px; border-radius:50%; background:var(--surface); box-shadow:inset 0 0 0 2px var(--pp2); }
.td-st-h { display:flex; align-items:center; gap:9px; min-width:0; }
.td-st-day { font:600 11px var(--fm); color:var(--pp); background:var(--pp-bg); border-radius:5px; padding:2px 6px; flex:none; }
.td-st-ch { display:inline-flex; align-items:center; gap:4px; font-size:12px; font-weight:600; flex:none; }
.td-st-ch.ch-linkedin { color:var(--acc-2); } .td-st-ch.ch-email { color:var(--pp2); } .td-st-ch.ch-phone { color:var(--acc-3); }
.td-st-t { font-size:13px; color:var(--muted); min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; }
.td-ta { width:100%; resize:none; border:1px solid var(--border); border-radius:var(--r); background:var(--surface); color:var(--text); font:14px/1.55 var(--f); padding:8px 10px; min-height:44px; }
.td-ta:focus { outline:none; border-color:var(--pp-ring); box-shadow:0 0 0 3px var(--pp-bg); }
.td-ta.td-blank:not(:focus) { border-style:dashed; }
.td-ta::placeholder { color:var(--faint); }
.td-cnt { align-self:flex-end; font:500 10.5px var(--fm); color:var(--faint); margin-top:-4px; }
.td-cnt.warn { color:var(--warn); }
.td-st-mail { display:flex; align-items:center; gap:8px; }
.td-st-subj { font-size:13.5px; font-weight:600; color:var(--text); display:inline-flex; align-items:center; gap:5px; }
.td-st-subj.faint { color:var(--faint); font-weight:500; }
.td-st-delay { font:500 11px var(--fm); color:var(--faint); margin-left:auto; }
.td-st-body summary { cursor:pointer; font-size:13px; color:var(--muted); list-style:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; padding:2px 0; }
.td-st-body summary::-webkit-details-marker { display:none; }
.td-st-body summary::after { content:" ▾"; color:var(--faint); }
.td-st-body[open] summary { display:none; }
.or-cad { display:inline-flex; align-items:center; gap:4px; font-size:11.5px; font-weight:550; color:var(--pp); text-transform:none; letter-spacing:0; }
.pr-li { display:inline-grid; color:var(--acc-2); margin-left:6px; vertical-align:-1px; }
.pr-li:hover { color:var(--pp); }
.pr-cad { color:var(--muted); background:var(--surface-2); max-width:none; }
.pr-cad.active { color:var(--ok); background:var(--ok-bg); }
.pr-cad .mono { color:inherit; font-size:11px; }
.pr-cad-at { opacity:.6; font:500 11px var(--fm); }
.pr-cad-w { font-weight:600; margin-left:2px; }

@media (max-width:1180px) {
  .app[data-mod="today"] { grid-template-columns:60px minmax(360px,460px) minmax(0,1fr); }
}
@media (max-width:760px) {
  .app[data-mod="today"] { grid-template-columns:minmax(0,1fr); grid-template-areas:"plist"; }
  .app[data-mod="today"] .td-list { border-right:0; }
  .app[data-mod="today"] .td-list .title-btn { cursor:pointer; }
  .app[data-mod="today"] .td-detail {
    position:fixed; inset:0; z-index:20; transform:translateX(100%); transition:transform .28s cubic-bezier(.2,.8,.2,1);
    box-shadow:var(--shadow-pop); padding-top:env(safe-area-inset-top); background:var(--canvas);
  }
  .app.td-reading .td-detail { transform:none; }
  .app:not(.td-reading) .td-detail { box-shadow:none; }
  .td-detail .r-head .r-back { display:grid; }
  .td-gear { display:grid; }
  .td-body { padding:4px 10px 90px; }
  .td-row { padding:12px 12px 12px 10px; gap:10px; }
  .td-name { max-width:100%; }
  .td-l1 { flex-wrap:wrap; row-gap:0; }
  .td-co { flex-basis:100%; order:3; }
  .td-late { order:2; }
  .td-mdom { display:none; }
  .td-chip { height:34px; }
  .td-em { grid-template-columns:auto minmax(0,1fr) auto; }
  .td-em .td-mbox { display:none; }
  .td-date { display:none; }
  .td-li .td-chip:not(.prim) .td-lbl, .td-open .td-lbl { display:none; }
  .td-li .td-chip:not(.prim) { width:34px; padding:0; justify-content:center; }
  .td-open { padding:0 10px; }
}
@media (prefers-reduced-motion: reduce) { .ring-wrap .rb { transition:none; } .app[data-mod="today"] .td-detail { transition:none; } }

/* ---------- Booked calls + prep sheet (SPEC-booked-calls-v1.md) ---------- */
.bk-row { cursor:pointer; }
.bk-row:hover { border-color:var(--pp-ring); }
.bk-row.bk-due { border-color:color-mix(in srgb, var(--warn) 45%, var(--border)); }
.bk-when { width:52px; flex:none; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; padding:6px 0; border-radius:var(--r-lg);
  background:var(--pp-bg); color:var(--pp); align-self:start; }
.bk-when b { font:650 14px/1.1 var(--fm); letter-spacing:-.02em; }
.bk-when small { font-size:10.5px; font-weight:600; color:var(--muted); white-space:nowrap; }
.bk-when.cc { background:var(--ok-bg); color:var(--ok); }
.bk-co { text-align:left; }
.bk-co:hover { color:var(--pp); }
.bk-now { margin-left:auto; flex:none; display:inline-flex; align-items:center; gap:4px; font-size:11.5px; font-weight:650; color:var(--ok); background:var(--ok-bg); border-radius:999px; padding:1px 8px 1px 6px; }
.bk-out-mark { margin-left:auto; flex:none; display:inline-flex; align-items:center; gap:4px; font-size:11.5px; font-weight:600; color:var(--muted); }
.bk-out-mark.t-ok { color:var(--ok); } .bk-out-mark.t-warn { color:var(--warn); }
.bk-linkbtn { display:inline-flex; align-items:center; gap:4px; height:22px; padding:0 8px 0 6px; border-radius:999px; font-size:11.5px; font-weight:550; color:var(--faint); border:1px dashed var(--border); }
.bk-linkbtn:hover { color:var(--pp); border-color:var(--pp-ring); background:var(--pp-bg); }
.bk-pick { width:min(460px,100%); }
.bk-pick-q { margin:12px 16px 4px; width:auto !important; background:var(--surface-2); }
.bk-pick-res { padding:4px 10px 14px; min-height:120px; }
.bk-pick-res .p-sec-h { margin:8px 6px 2px; }
.bk-cand { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; width:100%; min-height:38px; padding:0 10px; border-radius:var(--r-lg); text-align:left; font-size:13.5px; }
.bk-cand:hover, .bk-cand:focus-visible { background:var(--hover); }
.bk-cand .ico { color:var(--faint); }
.bk-cand-n { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:550; }
.bk-cand-s { font-size:11.5px; color:var(--faint); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:180px; }

.bk-sheet { position:fixed; inset:0; z-index:86; display:grid; place-items:center; background:var(--scrim); padding:24px; animation:fade .15s both; }
.bk-card { width:min(820px,100%); height:min(960px, calc(100dvh - 48px)); display:flex; flex-direction:column; background:var(--canvas); border:1px solid var(--border); border-radius:16px; box-shadow:var(--shadow-pop); overflow:hidden; }
.bk-head { background:var(--surface); border-bottom:1px solid var(--border); }
.bk-head .bk-back { display:grid; }
.bk-head-t { display:inline-flex; align-items:center; gap:7px; margin-left:6px; font-size:12px; font-weight:650; letter-spacing:.06em; text-transform:uppercase; color:var(--faint); }
.bk-inner { max-width:720px; margin:0 auto; padding:24px 36px 80px; }
.bk-hero { margin-bottom:14px; }
.bk-time { display:inline-flex; align-items:center; gap:6px; height:26px; padding:0 10px 0 8px; border-radius:999px; font:600 12.5px var(--f); color:var(--pp); background:var(--pp-bg); }
.bk-time small { font:500 11px var(--fm); color:var(--muted); margin-left:4px; }
.bk-time.cc { color:var(--ok); background:var(--ok-bg); }
.bk-who { display:flex; align-items:center; gap:9px; flex-wrap:wrap; font-size:13.5px; margin:0 0 16px; color:var(--muted); }
.bk-who .ico { color:var(--faint); }
.bk-who b { color:var(--text); font-weight:620; }
.bk-link { color:var(--text); text-decoration:none; font-size:12.5px; }
.bk-link:hover { color:var(--pp); }
.bk-ext { color:var(--faint); font-size:11px; margin-left:4px; }
.bk-facts { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:2px 28px; margin:0; padding:14px 16px; border:1px solid var(--border); border-radius:var(--r-lg); background:var(--surface); }
.bk-fact { display:grid; grid-template-columns:108px minmax(0,1fr); align-items:start; gap:10px; padding:7px 0; min-width:0; }
.bk-fact dt { display:flex; align-items:center; gap:7px; font-size:12px; color:var(--faint); }
.bk-fact dt .ico { width:14px; height:14px; }
.bk-fact dd { margin:0; font-size:13.5px; min-width:0; display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; overflow-wrap:anywhere; }
.bk-fact .td-mbox { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bk-why { flex-basis:100%; font-size:12px; color:var(--muted); line-height:1.45; }
.bk-dirs { display:flex; flex-direction:column; gap:2px; }
.bk-dir { display:flex; align-items:center; gap:10px; min-height:40px; padding:0 8px; border-radius:var(--r-lg); font-size:13.5px; flex-wrap:wrap; }
.bk-dir .p-ava { width:28px; height:28px; font-size:11px; }
.bk-dir-n { font-weight:600; }
.bk-dir-e { font-size:12px; color:var(--faint); margin-left:auto; }
.bk-print-url, .bk-print-only { display:none; }
.bk-items { list-style:none; margin:0; padding:0; counter-reset:q; display:flex; flex-direction:column; gap:8px; }
.bk-item { counter-increment:q; display:grid; grid-template-columns:22px minmax(0,1fr); gap:4px 10px; align-items:start; padding:10px 12px; border:1px solid var(--border); border-radius:var(--r-lg); background:var(--surface); }
.bk-item::before { content:counter(q); grid-row:span 2; font:600 11px/22px var(--fm); text-align:center; width:22px; height:22px; border-radius:50%; color:var(--faint); box-shadow:inset 0 0 0 1.5px var(--border); }
.bk-item.has::before { content:"✓"; color:var(--ok); box-shadow:inset 0 0 0 1.5px var(--ok); background:var(--ok-bg); }
.bk-q { font-size:13px; font-weight:600; color:var(--text); line-height:22px; }
.bk-ans { width:100%; resize:none; overflow:hidden; border:0; border-radius:var(--r); background:transparent; color:var(--text); font:14px/1.5 var(--f); padding:4px 8px; margin-left:-8px; min-height:36px; }
.bk-ans:hover { background:var(--hover); }
.bk-ans:focus { outline:none; background:var(--surface-2); box-shadow:0 0 0 3px var(--pp-bg); }
.bk-ans::placeholder { color:var(--faint); }
.bk-after .p-notes { margin-bottom:10px; }
.bk-after { position:relative; }
.bk-logged { display:flex; align-items:center; gap:9px; flex-wrap:wrap; padding:12px 14px; border-radius:var(--r-lg); border:1px solid var(--border); background:var(--surface); font-size:13.5px; color:var(--muted); }
.bk-logged b { color:var(--text); }
.bk-logged time { font-size:12px; color:var(--faint); }
.bk-logged.t-ok { border-color:color-mix(in srgb, var(--ok) 40%, transparent); background:var(--ok-bg); }
.bk-logged.t-ok .ico, .bk-logged.t-ok b { color:var(--ok); }
.bk-logged.t-warn .ico { color:var(--warn); }
.bk-note { flex-basis:100%; color:var(--text); white-space:pre-wrap; }
.bk-outs .pr-out.out-do_it .ico { color:var(--ok); }
.bk-outs .pr-out.out-not_now .ico { color:var(--warn); }
.bk-chip { color:var(--pp); background:var(--pp-bg); }
.bk-chip.done { color:var(--muted); background:var(--surface-2); }
.set-sec + .set-sec { margin-top:8px; padding-top:6px; border-top:1px solid var(--hair); }
.set-sec > .p-sec-h { margin:10px 0 0; }
.set-tpl { margin-top:6px; }
.set-items { list-style:none; margin:4px 0 0; padding:0; display:flex; flex-direction:column; gap:2px; }
.set-item { position:relative; display:flex; align-items:center; gap:6px; padding:0 2px 0 4px; border-radius:var(--r); }
.set-item:hover { background:var(--hover); }
.set-item-in { flex:1; min-width:0; height:34px; border:0; outline:0; background:transparent; color:var(--text); font:13.5px var(--f); padding:0 6px; border-radius:var(--r); }
.set-item-in:focus { background:var(--surface); box-shadow:0 0 0 2px var(--pp-ring); }
.set-item .icon-btn { width:30px; height:30px; opacity:0; }
.set-item:hover .icon-btn, .set-item:focus-within .icon-btn { opacity:1; }
.set-item-new { color:var(--faint); padding-left:8px; }
.set-item-new .set-item-in::placeholder { color:var(--faint); }
@media (hover:none) { .set-item .icon-btn { opacity:1; } }
@media (max-width:760px) {
  .bk-sheet { padding:0; place-items:stretch; }
  .bk-card { width:100%; height:100dvh; border-radius:0; border:0; padding-top:env(safe-area-inset-top); }
  .bk-inner { padding:16px 16px 90px; }
  .bk-facts { grid-template-columns:minmax(0,1fr); padding:8px 12px; }
  .bk-fact { grid-template-columns:110px minmax(0,1fr); }
  .bk-dir-e { margin-left:38px; flex-basis:100%; }
  .bk-when { width:48px; }
}
@media print {
  html, body { height:auto; overflow:visible; background:var(--canvas); }
  body > *:not(#bkSheet) { display:none !important; }
  .bk-sheet { position:static; display:block; padding:0; background:none; animation:none; }
  .bk-card { width:auto; height:auto; border:0; border-radius:0; box-shadow:none; overflow:visible; display:block; }
  .bk-head, .bk-noprint, .tl-row .tag, .pr-li { display:none !important; }
  .r-scroll { overflow:visible; }
  .bk-inner { max-width:none; padding:0; }
  .bk-print-url { display:inline; font-size:11px; color:var(--faint); }
  .bk-print-only { display:inline; font-size:13px; font-weight:600; }
  .bk-time { display:none !important; }
  .bk-item, .bk-facts, .bk-logged { break-inside:avoid; }
  .bk-ans { min-height:40px; }
  .bk-ans:placeholder-shown { border-bottom:1px solid var(--border); border-radius:0; }
  .bk-ans::placeholder { color:transparent; }
  a { color:var(--text); }
}

/* ---------- Prospects: leads table (leads-table-v1). One row per director; a company's facts sit on its first row. ---------- */
.lt[hidden] { display:none; }
.pr-mode.on { color:var(--pp); background:var(--pp-bg); }
@media (min-width:761px) {
  .app[data-mod="prospects"].pr-tbl { grid-template-columns:60px minmax(0,1fr); grid-template-areas:"rail plist"; }
  .app[data-mod="prospects"].pr-tbl .pr-detail { display:none; }
  .app[data-mod="prospects"].pr-tbl .pr-list { border-right:0; }
  .app[data-mod="prospects"].pr-tbl .pr-list .search { width:min(260px, 32%); }
}
.lt { padding:0 8px 24px; }
.lt-row { display:grid; grid-template-columns:minmax(150px,1.25fr) minmax(130px,1fr) minmax(200px,1.5fr) 56px 36px minmax(96px,.6fr);
  align-items:center; gap:14px; min-height:40px; padding:6px 12px; border-radius:var(--r); cursor:pointer; transition:background .12s; }
.lt-row:hover { background:var(--hover); }
.lt-row.sel { background:var(--pp-bg); }
.lt-row.lt-first:not(.lt-hd + .lt-row) { margin-top:4px; box-shadow:0 -1px 0 var(--hair); border-radius:0 0 var(--r) var(--r); }
.lt-hd { position:sticky; top:0; z-index:1; min-height:32px; cursor:default; background:var(--surface); box-shadow:0 1px 0 var(--border);
  font-size:11.5px; font-weight:600; color:var(--faint); border-radius:0; }
.lt-hd:hover { background:var(--surface); }
.lt-hd .ico { color:var(--faint); }
.lt-co, .lt-dir, .lt-em { display:flex; flex-direction:column; min-width:0; }
.lt-cn { font-size:13.5px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lt-town { font-size:11.5px; color:var(--faint); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lt-dn { font-size:13.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lt-em { flex-direction:row; align-items:center; gap:6px; }
.lt-addr { display:inline-flex; align-items:center; gap:5px; min-width:0; font-size:12px; color:var(--muted); }
.lt-addr span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lt-addr .ico { flex:none; color:var(--faint); }
.lt-unchk { color:var(--faint); opacity:.7; }
.lt-li { display:flex; align-items:center; gap:2px; min-width:0; border-radius:var(--r); }
.lt-li-a { display:inline-grid; place-items:center; width:26px; height:26px; border-radius:var(--r); color:var(--acc-2); }
.lt-li-a:hover { background:var(--hover); color:var(--pp); }
.lt-pen { width:26px; height:26px; }
.lt-pen .ico { width:14px; height:14px; }
@media (hover:hover) { .lt-row .lt-pen { opacity:0; transition:opacity .15s; } .lt-row:hover .lt-pen, .lt-pen:focus-visible { opacity:1; } }
.lt-cand { display:inline-flex; align-items:center; gap:1px; height:26px; padding:0 6px 0 5px; border-radius:999px; color:var(--warn); background:var(--warn-bg); }
.lt-cand b { font:700 11px/1 var(--f); }
.lt-cand:hover { background:color-mix(in srgb, var(--warn) 22%, transparent); }
.lt-editing { grid-column:span 1; }
.lt-in { width:100%; min-width:0; height:28px; padding:0 8px; font-size:12px; color:var(--text); background:var(--surface); border:1px solid var(--pp-ring); border-radius:var(--r); outline:none; }
.lt-editing { position:relative; }
.lt-editing .lt-in { position:absolute; right:-4px; top:-4px; width:300px; z-index:2; box-shadow:var(--shadow-pop); }
.lt-phc { display:flex; }
.lt-ph { display:inline-grid; place-items:center; width:26px; height:26px; border-radius:var(--r); color:var(--muted); }
.lt-ph:hover { background:var(--hover); color:var(--text); }
.lt-ph.bad { color:var(--err); }
.lt-st { display:flex; justify-content:flex-end; }
.lt-dot { width:7px; height:7px; }
.lt-dot.lt-ok { background:var(--ok); } .lt-dot.lt-warn { background:var(--warn); } .lt-dot.lt-faint { background:var(--faint); }
.lt-dot.lt-none { background:transparent; box-shadow:inset 0 0 0 1.5px var(--faint); }
#prChips .fchip .n { margin-left:4px; font:500 11px/1 var(--fm); color:var(--faint); }
#prChips .fchip .ico { color:var(--acc-2); }

@media (max-width:1180px) and (min-width:761px) {
  .lt-row { grid-template-columns:minmax(130px,1.1fr) minmax(110px,1fr) minmax(160px,1.3fr) 56px 32px; }
  .lt-st { display:none; }
}
/* phone: each director is a small card (company · director on top, email below, icons right) */
@media (max-width:760px) {
  .lt { padding:0 6px 24px; }
  .lt-hd { display:none; }
  .lt-row { grid-template-columns:minmax(0,1fr) auto auto; grid-template-areas:"co co st" "dir li ph" "em em em"; gap:2px 8px; padding:8px 10px; }
  .lt-row:not(.lt-first) { grid-template-areas:"dir li ph" "em em em"; }
  .lt-row:not(.lt-first) .lt-co, .lt-row:not(.lt-first) .lt-st { display:none; }
  .lt-co { grid-area:co; } .lt-dir { grid-area:dir; } .lt-em { grid-area:em; } .lt-li { grid-area:li; } .lt-phc { grid-area:ph; } .lt-st { grid-area:st; }
  .lt-em { min-height:0; }
  .lt-editing .lt-in { width:min(300px, calc(100vw - 40px)); }
  .lt-co { flex-direction:row; align-items:baseline; gap:8px; }
  .lt-dn { font-size:13px; color:var(--muted); }
}
/* align every cell to the company name's line, not the middle of the two-line company cell */
.lt-row:not(.lt-hd) { align-items:start; }
.lt-dir, .lt-em, .lt-li, .lt-phc, .lt-st { min-height:20px; }
.lt-dir { justify-content:center; }
.lt-em, .lt-li, .lt-phc { justify-content:flex-start; }
.lt-dn { line-height:20px; }
.lt-em, .lt-li, .lt-phc, .lt-st { align-items:center; }
.lt-st { justify-content:flex-end; }
.lt-li-a, .lt-pen, .lt-ph, .lt-cand { margin:-3px 0; }
.lt-cn { line-height:20px; }
@media (max-width:760px) {
  .lt-row { grid-template-columns:minmax(0,1fr) 34px 30px; }
  .lt-row:not(.lt-first) { padding-top:2px; }
  .lt-st { grid-column:2 / -1; }
  .lt-row:not(.lt-first) .lt-li, .lt-row:not(.lt-first) .lt-phc { grid-row:1; }
}
@media (max-width:760px) { .lt-row { min-height:0; } .lt-row:not(.lt-first) { padding-bottom:6px; } }
@media (max-width:760px) { .lt-em:empty { display:none; } .lt-em { min-height:0; } }

/* ---------- LinkedIn first (li-pipeline-v1): profile chip, request → connected step, ready-for-email mark ---------- */
.pr-lim { color:var(--faint); }
.pr-lim.on { color:var(--acc-2); }
.lt-lis { display:inline-grid; place-items:center; width:24px; height:24px; border-radius:999px; margin:-2px 0; color:var(--faint); transition:background .12s, color .12s; }
.lt-lis:hover { background:var(--hover); color:var(--text); }
.lt-lis.warn { color:var(--warn); background:var(--warn-bg); }
.lt-lis.ok { color:var(--ok); background:var(--ok-bg); }
.lt-row { grid-template-columns:minmax(150px,1.25fr) minmax(130px,1fr) minmax(200px,1.5fr) 92px 36px minmax(120px,.7fr); }
.lt-rdy { margin-right:8px; }
.pr-lic { display:inline-flex; align-items:center; gap:4px; }
.pr-li-chip { display:inline-flex; align-items:center; gap:5px; height:26px; padding:0 9px 0 7px; border-radius:999px; font-size:12px; font-weight:550;
  color:var(--acc-2); background:color-mix(in srgb, var(--acc-2) 9%, transparent); }
.pr-li-chip:hover { background:color-mix(in srgb, var(--acc-2) 16%, transparent); }
.pr-li-chip .ext { font-size:11px; opacity:.7; }
.pr-dir { grid-template-columns:auto minmax(0,1fr) auto auto; }
@media (max-width:1180px) and (min-width:761px) {
  .lt-row { grid-template-columns:minmax(130px,1.1fr) minmax(110px,1fr) minmax(160px,1.3fr) 92px 32px; }
}
@media (max-width:760px) {
  .lt-row { grid-template-columns:minmax(0,1fr) 96px 30px; }
  .pr-dir { grid-template-columns:auto minmax(0,1fr) auto; }
  .pr-lic { grid-column:2; }
  .pr-li-chip span:not(.ext) { display:none; }
}
.pr-li-chip, .pr-li-chip:hover { text-decoration:none; }

/* ---------- Pipeline (pipeline-v1): one card per company, one lane each, moved by doing the step ---------- */
.pl-main { display:none; }
.app[data-mod="pipeline"] { grid-template-columns:60px minmax(0,1fr); grid-template-areas:"rail main"; }
.app[data-mod="pipeline"] .list-pane, .app[data-mod="pipeline"] .reader, .app[data-mod="pipeline"] .fab { display:none; }
@media (min-width:1181px) { .app[data-mod="pipeline"] .side { display:none; } }
.app[data-mod="pipeline"] .pl-main { grid-area:main; display:flex; flex-direction:column; min-width:0; min-height:0; background:var(--canvas); }
.pl-main .head { background:var(--surface); border-bottom:1px solid var(--border); }
.pl-main .search { width:min(260px, 32%); }
.pl-need-btn { display:inline-flex; align-items:center; gap:6px; height:26px; padding:0 10px 0 8px; border-radius:999px; font-size:12px; font-weight:550; color:var(--warn); background:var(--warn-bg); }
.pl-need-btn:hover { background:color-mix(in srgb, var(--warn) 22%, transparent); }
.pl-tabs { display:none; }
.pl-scroll { flex:1; min-height:0; overflow:auto; padding:14px 16px 28px; }
.pl-board { display:grid; grid-template-columns:repeat(6, minmax(232px, 1fr)); gap:12px; align-items:start; min-width:min-content; }
.pl-lane { display:flex; flex-direction:column; gap:8px; min-width:0; padding:8px; border-radius:var(--r-lg); background:var(--surface-2); }
.pl-lh { display:flex; align-items:center; gap:8px; padding:4px 4px 2px; font-size:12.5px; font-weight:650; color:var(--muted); }
.pl-li { display:inline-grid; color:var(--faint); }
.pl-lane[data-lane="ready"] .pl-li { color:var(--ok); }
.pl-lane[data-lane="requested"] .pl-li { color:var(--warn); }
.pl-lane[data-lane="to_connect"] .pl-li { color:var(--acc-2); }
.pl-n { font:500 11.5px/1 var(--fm); color:var(--faint); margin-right:auto; }
.pl-all, .pl-pick { display:inline-grid; place-items:center; width:20px; height:20px; border-radius:6px; color:transparent; box-shadow:inset 0 0 0 1.5px var(--border); background:var(--surface); flex:none; }
.pl-all:hover, .pl-pick:hover { box-shadow:inset 0 0 0 1.5px var(--ok); }
.pl-all.on, .pl-pick.on { color:var(--on-cta); background:var(--ok); box-shadow:none; }
.pl-add { width:100%; justify-content:center; }
.pl-cards { display:flex; flex-direction:column; gap:8px; min-height:40px; }
.pl-empty { display:grid; place-items:center; height:56px; color:var(--border); border:1.5px dashed var(--border); border-radius:var(--r-lg); }
.pl-card { display:flex; flex-direction:column; gap:4px; padding:10px 11px; border-radius:var(--r-lg); background:var(--surface); box-shadow:var(--shadow-soft), inset 0 0 0 1px var(--hair);
  cursor:pointer; transition:box-shadow .15s, transform .15s; outline:none; }
.pl-card:hover, .pl-card:focus-visible { box-shadow:var(--shadow-pop), inset 0 0 0 1px var(--pp-ring); }
.pl-card.sel { box-shadow:inset 0 0 0 1.5px var(--ok), var(--shadow-soft); }
.pl-c1 { display:flex; align-items:center; gap:6px; min-width:0; }
.pl-co { font-size:13.5px; font-weight:620; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-right:auto; }
.pl-c2 { display:flex; align-items:baseline; gap:8px; min-width:0; font-size:12.5px; color:var(--muted); }
.pl-dir { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pl-town { font-size:11.5px; color:var(--faint); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pl-c3 { display:flex; align-items:center; gap:4px; min-height:24px; margin-top:2px; }
.pl-ico { display:inline-grid; place-items:center; width:24px; height:24px; border-radius:var(--r); color:var(--muted); }
.pl-ico:hover { background:var(--hover); color:var(--text); }
.pl-ico.bad { color:var(--err); }
.pl-lia { color:var(--acc-2); }
.pl-c3 .wire { width:24px; height:24px; }
.pl-camp { font-size:10.5px; max-width:110px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pl-fill { flex:1; }
.pl-since { font:500 11px/1 var(--fm); color:var(--faint); padding:4px 6px; border-radius:6px; background:var(--surface-2); }
.pl-since.late { color:var(--warn); background:var(--warn-bg); }
.pl-parked { margin-top:16px; }
.pl-parked-h { display:inline-flex; align-items:center; gap:7px; height:30px; padding:0 10px; border-radius:999px; font-size:12.5px; font-weight:600; color:var(--muted); }
.pl-parked-h:hover { background:var(--hover); }
.pl-parked-h .n { font:500 11.5px/1 var(--fm); color:var(--faint); }
.pl-parked-row { display:grid; grid-template-columns:repeat(auto-fill, minmax(232px, 1fr)); gap:8px; margin-top:8px; opacity:.8; }
.pl-scroll .list-state { margin-top:40px; }

/* phone: one lane at a time, picked from the lane chips */
@media (max-width:760px) {
  .app[data-mod="pipeline"] { grid-template-columns:minmax(0,1fr); grid-template-areas:"main"; }
  .pl-main .title-btn { cursor:pointer; }
  .pl-main .search { width:auto; flex:1 1 0; min-width:0; }
  .pl-need-btn span { display:none; }
  .pl-tabs { display:flex; gap:2px; padding:8px 10px; overflow-x:auto; scrollbar-width:none; background:var(--surface); border-bottom:1px solid var(--border); }
  .pl-tabs .fchip { flex:none; }
  .pl-tabs .fchip .n { margin-left:4px; font:500 11px/1 var(--fm); color:var(--faint); }
  .pl-scroll { padding:10px 10px 28px; }
  .pl-board { display:block; min-width:0; }
  .pl-lane { display:none; background:none; padding:0; }
  .pl-board[data-lane="to_connect"] .pl-lane[data-lane="to_connect"], .pl-board[data-lane="requested"] .pl-lane[data-lane="requested"],
  .pl-board[data-lane="ready"] .pl-lane[data-lane="ready"], .pl-board[data-lane="campaign"] .pl-lane[data-lane="campaign"],
  .pl-board[data-lane="replied"] .pl-lane[data-lane="replied"], .pl-board[data-lane="booked"] .pl-lane[data-lane="booked"] { display:flex; }
  .pl-lh { display:none; }
  .pl-lane[data-lane="ready"] .pl-lh { display:flex; }
  .pl-parked-row { grid-template-columns:1fr; }
}
.pl-board { grid-template-columns:repeat(6, minmax(196px, 1fr)); gap:10px; }
.pl-c4 { display:flex; margin-top:4px; }
.pl-step { display:inline-flex; align-items:center; justify-content:center; gap:6px; width:100%; height:30px; border-radius:var(--r); font-size:12.5px; font-weight:600;
  color:var(--acc-2); background:color-mix(in srgb, var(--acc-2) 9%, transparent); transition:background .12s; }
.pl-step:hover { background:color-mix(in srgb, var(--acc-2) 16%, transparent); }
.pl-step.ok { color:var(--ok); background:var(--ok-bg); }
.pl-step.ok:hover { background:color-mix(in srgb, var(--ok) 20%, transparent); }
.pl-step .wait-txt { font-size:12px; }

/* ---------- Today: emails sent from our own mailboxes (cold-send v1, 2026-10-08) ---------- */
.td-ava.em { --c:var(--pp2); }
.td-to { font-size:11.5px; color:var(--muted); min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.td-mprev { border-radius:var(--r); background:var(--surface-2); font-size:13px; }
.td-mprev > summary { display:flex; align-items:baseline; gap:8px; padding:8px 10px; cursor:pointer; list-style:none; min-width:0; }
.td-mprev > summary::-webkit-details-marker { display:none; }
.td-mprev > summary b { font-weight:600; white-space:nowrap; }
.td-mlead { color:var(--muted); min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.td-mprev[open] > summary .td-mlead { display:none; }
.td-mta { display:block; height:300px; resize:vertical; margin:0 0 4px; border-radius:0 0 var(--r) var(--r); border-width:1px 0 0; background:var(--surface); }
.td-mnote { display:block; font-size:11px; padding:0 10px 6px; }
.td-why { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--warn); }
.td-why.risk { color:var(--warn); }
.td-chip.warn-chip { color:var(--warn); border-color:color-mix(in srgb, var(--warn) 40%, transparent); background:var(--warn-bg); }
.td-mcap { display:inline-flex; align-items:center; gap:4px; font:600 11px var(--fm); letter-spacing:0; text-transform:none; color:var(--muted); padding:1px 6px; border:1px solid var(--border); border-radius:6px; }
.td-mcap i { width:6px; height:6px; border-radius:50%; background:var(--c); }
.td-mcap.full { color:var(--ok); border-color:color-mix(in srgb, var(--ok) 40%, transparent); }
@media (max-width: 760px) { .td-mcap { display:none; } .td-mta { height:360px; } }
/* Auto-send: the switch pill (same look as the Researcher's) + one compact line when on */
.td-em-h { flex-wrap:wrap; row-gap:6px; }
.td-em-h .td-auto-pill, .td-em-h .td-auto-line, .td-em-h .td-auto-off { text-transform:none; letter-spacing:0; }
.td-autogrp { display:inline-flex; align-items:center; gap:6px; margin-left:auto; white-space:nowrap; }
.td-auto-line { font:600 11.5px var(--fm); color:var(--muted); padding:2px 4px; border-radius:6px; cursor:default; }
.td-auto-line:focus-visible { outline:2px solid var(--pp); outline-offset:1px; }
.td-auto-off { display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:500; color:var(--warn); }
.td-auto-confirm { margin:0 0 8px; }
.tip span { white-space:pre-line; }

/* ---------- Pipeline: Researcher tray (researcher-v1, 2026-10-11): proposals above the board, one decision each ---------- */
.pl-scroll { container-type:inline-size; }
.rs-tray { position:sticky; left:0; width:100cqw; max-width:100%; margin-bottom:14px; padding:6px 10px 10px; border-radius:var(--r-lg); background:var(--surface);
  box-shadow:var(--shadow-soft), inset 0 0 0 1px var(--hair); }
.rs-tray[hidden] { display:none; }
.rs-h { display:flex; align-items:center; flex-wrap:wrap; gap:4px 6px; min-height:36px; }
.rs-title { display:inline-flex; align-items:center; gap:6px; height:30px; padding:0 8px 0 4px; border-radius:var(--r); font-size:13.5px; font-weight:650; color:var(--text); }
.rs-title .ico-sm { color:var(--pp); }
.rs-title .ico-xs { color:var(--faint); }
button.rs-title:hover { background:var(--hover); }
.rs-stat { display:inline-flex; align-items:center; gap:5px; height:26px; padding:0 9px; border-radius:999px; font-size:12px; font-weight:550; color:var(--pp); background:var(--pp-bg); }
.rs-stat:hover { background:color-mix(in srgb, var(--pp) 16%, transparent); }
.rs-stat.warn { color:var(--warn); background:var(--warn-bg); }
.rs-stat.warn:hover { background:color-mix(in srgb, var(--warn) 22%, transparent); }
.rs-stat.warn[aria-expanded="true"] { box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--warn) 45%, transparent); }
.rs-meta { display:inline-flex; align-items:center; gap:5px; height:26px; padding:0 8px; border-radius:var(--r); font-size:12px; color:var(--muted); white-space:nowrap; }
.rs-meta .ico { color:var(--faint); }
.rs-meta .mono { font-size:11.5px; color:var(--muted); }
.rs-meta:hover { background:var(--hover); color:var(--text); }
.rs-off { display:inline-flex; align-items:center; gap:5px; font-size:12px; color:var(--warn); }
/* on/off pill: a small switch, green when running */
.rs-pill { display:inline-flex; align-items:center; gap:6px; height:26px; padding:0 10px 0 8px; border-radius:999px; font-size:12px; font-weight:600; color:var(--muted);
  background:var(--surface-2); box-shadow:inset 0 0 0 1px var(--border); transition:background .15s, color .15s; }
.rs-pill i { width:8px; height:8px; border-radius:50%; background:var(--faint); transition:background .15s, box-shadow .15s; }
.rs-pill:hover { color:var(--text); }
.rs-pill.on { color:var(--ok); background:var(--ok-bg); box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ok) 35%, transparent); }
.rs-pill.on i { background:var(--ok); box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 22%, transparent); }
.rs-pill.held { color:var(--warn); background:var(--warn-bg); box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--warn) 35%, transparent); }
.rs-pill.held i { background:var(--warn); }
.rs-pill .wait-txt { font-size:12px; }
.rs-confirm { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:6px 0 2px; padding:8px 10px; border-radius:var(--r); font-size:12.5px; color:var(--warn); background:var(--warn-bg); }
.rs-confirm > span:not(.r-fill) { color:var(--text); }
.rs-empty { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:12px 6px 4px; font-size:13px; color:var(--muted); }
.rs-empty .ico-sm { color:var(--faint); }
.rs-empty.bad, .rs-empty.bad .ico-sm { color:var(--warn); }

.rs-cards { display:grid; grid-template-columns:repeat(auto-fill, minmax(272px, 1fr)); gap:10px; margin-top:6px; }
.rs-card { position:relative; display:flex; flex-direction:column; gap:6px; min-width:0; padding:11px 12px; border-radius:var(--r-lg); background:var(--surface);
  box-shadow:var(--shadow-soft), inset 0 0 0 1px var(--border); outline:none; transition:box-shadow .15s; }
.rs-card:hover { box-shadow:var(--shadow-pop), inset 0 0 0 1px var(--pp-ring); }
.rs-card:focus-visible, .rs-card:focus-within { box-shadow:var(--shadow-pop), inset 0 0 0 1.5px var(--pp2); }
.rs-card.leaving, .rs-nrow.leaving { pointer-events:none; overflow:hidden; }
.rs-c1 { display:flex; align-items:center; gap:6px; min-width:0; }
.rs-co { min-width:0; font-size:13.5px; font-weight:620; text-align:left; color:var(--text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; border-radius:4px; }
.rs-c1 .rs-co { margin-right:auto; }
.rs-co:hover { color:var(--pp); }
.rs-town { display:inline-flex; align-items:center; gap:4px; min-width:0; font-size:11.5px; color:var(--faint); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rs-fit { margin:0; font-size:12.5px; line-height:1.45; color:var(--muted); }
.rs-dir { display:flex; align-items:center; gap:6px; min-width:0; font-size:12.5px; }
.rs-dir .ico { color:var(--faint); flex:none; }
.rs-dn { font-weight:550; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rs-role { font-size:11.5px; color:var(--faint); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rs-em { display:flex; align-items:center; gap:8px; min-width:0; }
.rs-addr { font:400 12px var(--fm); letter-spacing:-.01em; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rs-dot { flex:none; width:8px; height:8px; margin:0 2px; border-radius:50%; background:var(--faint); }
.rs-dot.ok { background:var(--ok); box-shadow:0 0 0 3px var(--ok-bg); }
.rs-dot.warn { background:var(--warn); box-shadow:0 0 0 3px var(--warn-bg); }
.rs-dot.bad { background:var(--err); box-shadow:0 0 0 3px var(--err-bg); }
.rs-fact { display:flex; align-items:flex-start; gap:6px; margin:2px 0 0; padding:7px 9px; border-left:2px solid var(--pp-ring); border-radius:0 var(--r) var(--r) 0; background:var(--pp-bg);
  font-size:12.5px; line-height:1.45; font-style:italic; color:var(--text); }
.rs-fact > span { flex:1; min-width:0; overflow-wrap:anywhere; }
.rs-src { flex:none; display:inline-grid; place-items:center; width:22px; height:22px; margin:-2px -4px 0 0; border-radius:var(--r); color:var(--pp); font-style:normal; }
.rs-src:hover { background:var(--hover); }
.rs-li { display:flex; align-items:center; flex-wrap:wrap; gap:4px 12px; min-height:26px; font-size:12px; }
.rs-li.none { gap:6px; color:var(--faint); }
.rs-lia { display:inline-flex; align-items:center; gap:5px; color:var(--acc-2); font-weight:550; border-radius:4px; }
.rs-lia:hover { text-decoration:underline; text-underline-offset:2px; }
.rs-ok { display:inline-flex; align-items:center; gap:6px; color:var(--muted); cursor:pointer; user-select:none; }
.rs-ok input { width:15px; height:15px; margin:0; accent-color:var(--ok); cursor:pointer; }
.rs-ok:has(input:checked) { color:var(--ok); font-weight:550; }
.rs-acts { display:flex; gap:6px; margin-top:auto; padding-top:4px; }
.rs-acts .td-chip { flex:1; justify-content:center; }
.rs-acts .wait { height:30px; }
.td-chip.on { color:var(--text); background:var(--surface-2); border-color:var(--faint); }
.rs-why { display:flex; flex-wrap:wrap; gap:6px; padding-top:2px; }
.rs-why .td-chip { height:28px; padding:0 10px; font-size:12px; }
.rs-why .td-chip:hover { color:var(--err); border-color:color-mix(in srgb, var(--err) 40%, transparent); background:var(--err-bg); }

/* needs work: a folded list under the cards, each row names what's missing */
.rs-need { display:flex; flex-direction:column; margin-top:10px; border-top:1px solid var(--hair); }
.rs-nrow { position:relative; display:grid; grid-template-columns:minmax(0, 220px) minmax(0, 1fr) auto; align-items:center; gap:6px 12px; padding:8px 4px; border-bottom:1px solid var(--hair); outline:none; }
.rs-nrow:last-child { border-bottom:0; }
.rs-nrow:focus-visible, .rs-nrow:focus-within { background:var(--hover); border-radius:var(--r); }
.rs-n1 { display:flex; flex-direction:column; min-width:0; }
.rs-n2 { display:flex; flex-wrap:wrap; gap:4px 6px; min-width:0; }
.rs-nrow .rs-why { grid-column:1 / -1; }
.rs-miss { display:inline-flex; align-items:center; gap:4px; height:22px; padding:0 8px 0 6px; border-radius:999px; font-size:11.5px; color:var(--warn); background:var(--warn-bg); white-space:nowrap; }
.rs-miss.muted { color:var(--muted); background:var(--surface-2); }
.rs-miss b { font-weight:600; font-size:11px; color:var(--text); }

/* drill-down sheet: spend, the 30-day score and every run */
.rs-scard { width:min(620px, 100%); }
.rs-sec { padding:14px 0 6px; border-bottom:1px solid var(--hair); scroll-margin-top:8px; }
.rs-sec:last-child { border-bottom:0; }
.rs-sec h3 { margin:0 0 10px; font-size:11.5px; font-weight:650; letter-spacing:.06em; text-transform:uppercase; color:var(--faint); }
.rs-mt { display:grid; grid-template-columns:110px minmax(0, 1fr) auto; align-items:center; gap:10px; padding:4px 0; font-size:12.5px; color:var(--muted); }
.rs-mt .mono { font-size:11.5px; color:var(--text); text-align:right; min-width:84px; }
.rs-mbar { height:6px; border-radius:999px; background:var(--surface-2); overflow:hidden; }
.rs-mbar i { display:block; height:100%; border-radius:inherit; background:var(--pp2); }
.rs-mbar i.full { background:var(--warn); }
.rs-kv { display:grid; grid-template-columns:repeat(4, auto minmax(28px, 1fr)); align-items:baseline; gap:6px 8px; font-size:12.5px; color:var(--muted); }
.rs-kv b { font-size:13px; color:var(--text); }
.rs-reasons { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.rs-run { display:grid; grid-template-columns:48px minmax(0, 1fr) auto 48px; align-items:center; gap:4px 10px; padding:8px 0; border-bottom:1px solid var(--hair); font-size:12.5px; }
.rs-run:last-child { border-bottom:0; }
.rs-run time { font-size:11.5px; }
.rs-run .rs-co { font-size:12.5px; font-weight:550; }
.rs-rk { color:var(--faint); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rs-cost { text-align:right; color:var(--muted); }
.rs-st { font-size:11px; font-weight:600; padding:3px 7px; border-radius:999px; color:var(--muted); background:var(--surface-2); white-space:nowrap; }
.rs-st.ok { color:var(--ok); background:var(--ok-bg); }
.rs-st.warn { color:var(--warn); background:var(--warn-bg); }
.rs-st.bad { color:var(--err); background:var(--err-bg); }
.rs-st.pp { color:var(--pp); background:var(--pp-bg); }
.rs-steps { grid-column:2 / -1; display:flex; flex-wrap:wrap; gap:3px 10px; }
.rs-step { display:inline-flex; align-items:center; gap:3px; font-size:11px; color:var(--faint); }
.rs-step .ico { color:var(--ok); }
.rs-step.bad, .rs-step.bad .ico { color:var(--warn); }

@media (max-width:760px) {
  .rs-tray { margin-bottom:10px; padding:4px 8px 8px; }
  .rs-meta span:not(.mono) { display:none; }
  .rs-meta[data-rs-runs="score"] span { display:inline; }
  .rs-cards { grid-template-columns:minmax(0, 1fr); }
  .rs-nrow { grid-template-columns:minmax(0, 1fr) auto; }
  .rs-n2 { grid-column:1 / -1; grid-row:2; }
  .rs-kv { grid-template-columns:auto minmax(28px, 1fr) auto minmax(28px, 1fr); }
  .rs-mt { grid-template-columns:92px minmax(0, 1fr) auto; }
  .rs-sheet { padding:0; place-items:end stretch; }
  .rs-sheet .set-card { width:100%; max-height:88dvh; border-radius:14px 14px 0 0; }
}
@media (prefers-reduced-motion: reduce) { .rs-pill, .rs-pill i, .rs-card { transition:none; } }
@media (max-width:760px) { .pl-scroll { padding:10px 16px 28px; } }

/* ---------- Calls (module 7): transcripts from the Mac recorder. Same shell and parts as People ---------- */
.rc-list, .rc-detail { display:none; }
.app[data-mod="calls"] { grid-template-columns:60px minmax(340px,420px) minmax(0,1fr); grid-template-areas:"rail plist pdet"; }
.app[data-mod="calls"] .list-pane, .app[data-mod="calls"] .reader, .app[data-mod="calls"] .fab { display:none; }
@media (min-width:1181px) { .app[data-mod="calls"] .side { display:none; } }
.app[data-mod="calls"] .rc-list { grid-area:plist; display:flex; flex-direction:column; min-width:0; min-height:0; background:var(--surface); border-right:1px solid var(--border); }
.app[data-mod="calls"] .rc-detail { grid-area:pdet; display:flex; flex-direction:column; min-width:0; min-height:0; background:var(--surface); }

/* kind marks: WhatsApp call / meeting */
.rc-kind { --c:var(--acc-1); display:inline-grid; place-items:center; width:30px; height:30px; border-radius:9px; flex:none;
  color:var(--c); background:color-mix(in srgb, var(--c) 12%, var(--surface)); }
.rc-kind.k-whatsapp { --c:var(--acc-3); }
.rc-kind.xl { width:48px; height:48px; border-radius:14px; }
.rc-kind.xl .ico { width:22px; height:22px; }

/* list rows */
.rc-row { padding-left:56px; min-height:62px; align-content:center; }
.rc-row > .rc-kind { position:absolute; left:14px; top:50%; transform:translateY(-50%); }
.rc-row .l1 { align-items:center; }
.rc-row .rc-hint { color:var(--faint); font-weight:450; }
.rc-row .wire.warn { flex:none; }
.rc-row .meta { gap:8px; }
.rc-dur { font:400 11.5px var(--fm); color:var(--faint); white-space:nowrap; letter-spacing:-.01em; }
.rc-row .rc-snip { font-size:13px; color:var(--faint) !important; }
.rc-row .row-act { width:28px; height:28px; margin:-6px -6px -6px 0; }
@media (hover:hover) { .rc-row:hover .meta { display:flex; } }

/* transcript page */
.rc-page { padding-top:22px; }
.rc-hero { display:flex; align-items:center; gap:14px; margin-bottom:22px; min-width:0; }
.rc-hero-t { min-width:0; flex:1; display:flex; flex-direction:column; gap:6px; }
.rc-linkline { display:flex; align-items:center; gap:2px; min-width:0; }
.rc-chip { height:28px; max-width:min(100%, 340px); padding:0 11px 0 9px; font-size:14px; font-weight:600; flex:0 1 auto; min-width:0; }
.rc-chip .ico { width:14px; height:14px; }
.rc-mini { color:var(--faint); }
.rc-unl { display:inline-flex; align-items:center; gap:6px; height:28px; padding:0 10px 0 9px; border-radius:999px; min-width:0; max-width:100%;
  border:1px dashed var(--border); font-size:14px; color:var(--faint); transition:background .12s, border-color .12s, color .12s; }
.rc-unl .rc-hint { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rc-unl:hover { color:var(--text); border-color:var(--warn); background:var(--warn-bg); }
.rc-sub { display:flex; align-items:center; gap:10px; flex-wrap:wrap; font:400 12px var(--fm); color:var(--faint); padding-left:2px; }
.rc-sub time { color:var(--muted); }

/* find bar (under the header, stays put while the transcript scrolls) */
.rc-find { flex:none; display:flex; align-items:center; gap:2px; padding:0 16px 8px; border-bottom:1px solid var(--border); }
.rc-find .rc-find-q { margin-left:0; flex:1; width:auto; max-width:360px; }
.rc-find .rc-find-q:focus-within { width:auto; }
.rc-find-n { font:500 11.5px var(--fm); color:var(--faint); min-width:44px; text-align:center; }
.rc-find-n.none { color:var(--warn); }
.r-head .icon-btn.on { color:var(--pp); background:var(--pp-bg); }
.r-head .icon-btn.on .ico { fill:none; }

/* lines: a coloured rail per speaker turn; mm:ss small grey mono; consecutive lines grouped */
.rc-tx { display:flex; flex-direction:column; gap:14px; }
.rc-turn { --c:var(--muted); position:relative; padding-left:14px; }
.rc-turn::before { content:""; position:absolute; left:0; top:4px; bottom:4px; width:2px; border-radius:2px; background:color-mix(in srgb, var(--c) 45%, transparent); }
.rc-spk { display:inline-block; margin:0 0 2px 45px; padding:1px 5px; border-radius:6px; font-size:12.5px; font-weight:650; letter-spacing:-.005em; color:var(--c); text-align:left; }
button.rc-spk { cursor:text; transition:background .12s; }
button.rc-spk:hover, button.rc-spk:focus-visible { background:var(--hover); }
.rc-spk.unnamed { font-weight:550; opacity:.8; }
.rc-spk-in { display:block; margin:0 0 2px 45px; width:min(260px, calc(100% - 50px)); font-size:12.5px; font-weight:650; color:var(--c); }
.rc-ln { display:grid; grid-template-columns:40px minmax(0,1fr); gap:10px; margin:0; padding:2px 0; font-size:14.5px; line-height:1.55; }
.rc-t { font:400 11px/1 var(--fm); color:var(--faint); padding-top:6px; letter-spacing:-.01em; font-variant-numeric:tabular-nums; }
.rc-x { overflow-wrap:anywhere; color:var(--text); }
mark.rc-hit { color:inherit; background:var(--warn-bg); border-radius:3px; padding:0 1px; }
mark.rc-hit.cur { background:color-mix(in srgb, var(--warn) 34%, transparent); box-shadow:0 0 0 1.5px var(--warn); }

/* link picker = the booked-call picker */
.rc-pick .set-back { display:none; }
.rc-pick .bk-pick-q { flex:none; height:40px; }
.rc-pick .bk-pick-res { flex:1; min-height:0; }
.bk-cand.cur { background:var(--pp-bg); }

/* folded "Calls" area on People / Prospect pages: main point (the latest call) at rest, the rest on click */
.rc-fold-h { width:100%; text-align:left; border-radius:var(--r); }
.rc-fold-h:hover { color:var(--text); }
.rc-fold-h .rc-chev { margin-left:auto; transition:transform .2s; }
.rc-fold.open .rc-chev { transform:rotate(180deg); }
.rc-fold-rows { display:flex; flex-direction:column; gap:1px; }
.rc-frow { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; padding:8px 10px; border-radius:var(--r-lg); text-align:left; transition:background .12s; }
.rc-frow:hover { background:var(--hover); }
.rc-frow .rc-kind { width:26px; height:26px; border-radius:8px; }
.rc-f-main { min-width:0; }
.rc-f-snip { display:block; font-size:13.5px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rc-f-side { display:flex; flex-direction:column; align-items:flex-end; gap:2px; }
.rc-f-side time { font:400 11.5px var(--fm); color:var(--faint); white-space:nowrap; }

@media (max-width:1180px) {
  .app[data-mod="calls"] { grid-template-columns:60px minmax(300px,360px) minmax(0,1fr); }
}
@media (max-width:760px) {
  .app[data-mod="calls"] { grid-template-columns:minmax(0,1fr); grid-template-areas:"plist"; }
  .app[data-mod="calls"] .rc-list { border-right:0; }
  .app[data-mod="calls"] .rc-list .title-btn { cursor:pointer; }
  .app[data-mod="calls"] .rc-detail {
    position:fixed; inset:0; z-index:20; transform:translateX(100%); transition:transform .28s cubic-bezier(.2,.8,.2,1);
    box-shadow:var(--shadow-pop); padding-top:env(safe-area-inset-top);
  }
  .app.rc-reading .rc-detail { transform:none; }
  .app:not(.rc-reading) .rc-detail { box-shadow:none; }
  .rc-detail .r-head .r-back { display:grid; }
  .rc-detail .r-head .r-nav { display:none; }
  .rc-row .who { font-size:15px; }
  .rc-find { padding:0 8px 8px 16px; }
  .rc-find .rc-find-q { max-width:none; }
  .rc-hero { gap:12px; margin-bottom:18px; }
  .rc-kind.xl { width:42px; height:42px; border-radius:12px; }
  .rc-turn { padding-left:10px; }
  .rc-ln { grid-template-columns:36px minmax(0,1fr); gap:8px; font-size:15px; }
  .rc-spk { margin-left:39px; }
  .rc-spk-in { margin-left:39px; width:calc(100% - 44px); }
  .rc-pick .set-back { display:grid; }
  .rc-frow .rc-f-side .rc-dur { display:none; }
}
@media (prefers-reduced-motion: reduce) { .app[data-mod="calls"] .rc-detail { transition:none; } }

/* ---------- The Checker (checker-v1, 2026-10-12): a strip under the Researcher's header + its switch beside the Researcher's ---------- */
.ck-pill .ico { width:12px; height:12px; margin:0 -2px 0 -1px; }
.ck-pill.ro { cursor:default; }
.ck-off { gap:2px; }
.ck-strip { margin:6px 0 2px; padding:6px 8px 4px; border-radius:var(--r); background:var(--surface-2); }
.ck-h { display:flex; align-items:center; flex-wrap:wrap; gap:4px 6px; min-height:30px; }
.ck-title { display:inline-flex; align-items:center; gap:6px; padding-right:4px; font-size:12.5px; font-weight:650; color:var(--text); cursor:default; }
.ck-title .ico-sm { color:var(--pp); }
.ck-n { display:inline-flex; align-items:center; gap:5px; height:26px; padding:0 9px 0 7px; border-radius:999px; font-size:12px; color:var(--muted); }
.ck-n b { font-size:12px; font-weight:650; color:var(--text); }
.ck-n:hover:not(:disabled) { background:var(--hover); color:var(--text); }
.ck-n:disabled { opacity:.55; cursor:default; }
.ck-n.ok .ico { color:var(--ok); } .ck-n.bad .ico { color:var(--err); } .ck-n.warn .ico { color:var(--warn); }
.ck-n.on.ok { background:var(--ok-bg); } .ck-n.on.bad { background:var(--err-bg); } .ck-n.on.warn { background:var(--warn-bg); }
.ck-n.on { box-shadow:inset 0 0 0 1px var(--border); color:var(--text); }
.ck-none { font-size:12px; color:var(--faint); }
.ck-30 { font:500 10.5px var(--fm); color:var(--faint); }
.ck-spend { font-size:11.5px; color:var(--faint); padding:0 4px; cursor:default; }
.ck-rows { display:flex; flex-direction:column; margin-top:2px; }
.ck-row { display:grid; grid-template-columns:20px minmax(0, 220px) minmax(0, 1fr) 40px 30px; align-items:center; gap:8px; min-height:34px; padding:0 2px; border-top:1px solid var(--hair); }
.ck-dec { display:inline-grid; place-items:center; width:20px; height:20px; border-radius:50%; }
.ck-dec.ok { color:var(--ok); background:var(--ok-bg); } .ck-dec.bad { color:var(--err); background:var(--err-bg); } .ck-dec.warn { color:var(--warn); background:var(--warn-bg); }
.ck-co { min-width:0; font-size:12.5px; font-weight:600; text-align:left; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; border-radius:4px; }
.ck-co:hover { color:var(--pp); }
.ck-sum { min-width:0; font-size:12.5px; text-align:left; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; border-radius:4px; }
.ck-sum:hover { color:var(--text); }
.ck-conf { font-size:11px; color:var(--faint); text-align:right; }
.ck-undo, .ck-overt { width:28px; height:28px; color:var(--faint); }
.ck-undo:hover { color:var(--text); }
.ck-overt { color:var(--faint); opacity:.7; }
.ck-row .wait { justify-self:end; }
.ck-row .wait .wait-txt { display:none; }
.ck-row.over .ck-co, .ck-row.over .ck-sum { text-decoration:line-through; text-decoration-color:var(--faint); color:var(--faint); }
.ck-row.over .ck-dec { opacity:.5; }
.ck-more { display:inline-flex; align-items:center; gap:4px; height:24px; margin:2px 0 0 26px; padding:0 8px 0 6px; border-radius:999px; font-size:11.5px; color:var(--faint); }
.ck-more:hover { background:var(--hover); color:var(--text); }
/* the Checker's doubt on a card it left for Sammy */
.ck-doubt { display:flex; align-items:flex-start; gap:6px; margin:0; padding:5px 8px; border-radius:var(--r); font-size:12px; line-height:1.4; color:var(--warn); background:var(--warn-bg); }
.ck-doubt .ico { flex:none; margin-top:2px; }
.ck-doubt span { color:var(--text); }
@media (max-width:760px) {
  .ck-w, .ck-title span, .ck-h .ck-30 { display:none; }
  .ck-h .rs-meta span:not(.ck-30) { display:inline; }
  .ck-strip { padding:4px 6px 2px; }
  .ck-row { grid-template-columns:20px minmax(0, 1fr) 34px 30px; grid-template-areas:"d co conf u" ". sum sum sum"; row-gap:0; padding:5px 2px; }
  .ck-row .ck-dec { grid-area:d; } .ck-row .ck-co { grid-area:co; } .ck-row .ck-conf { grid-area:conf; } .ck-row > :last-child { grid-area:u; } .ck-row .ck-sum { grid-area:sum; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
}

/* ---------- Decisions (module): every judgement by the Researcher, the Checker, Auto-send and Sammy ---------- */
.dc-main { display:none; }
.app[data-mod="decisions"] { grid-template-columns:60px minmax(0,1fr); grid-template-areas:"rail main"; }
.app[data-mod="decisions"] .list-pane, .app[data-mod="decisions"] .reader, .app[data-mod="decisions"] .fab { display:none; }
@media (min-width:1181px) { .app[data-mod="decisions"] .side { display:none; } }
.app[data-mod="decisions"] .dc-main { grid-area:main; display:flex; flex-direction:column; min-width:0; min-height:0; background:var(--canvas); }
.dc-main .head { background:var(--surface); border-bottom:1px solid var(--border); }
.dc-main .back-btn { display:inline-grid; }
.dc-for { min-width:0; display:flex; }
.dc-forchip { display:inline-flex; align-items:center; min-width:0; height:28px; padding:0 2px 0 10px; border-radius:999px; background:var(--pp-bg); }
.dc-forco { min-width:0; font-size:12.5px; font-weight:600; color:var(--pp); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dc-forx { display:inline-grid; place-items:center; width:24px; height:24px; border-radius:50%; color:var(--pp); }
.dc-forx:hover { background:var(--hover); }
.dc-chips { display:flex; gap:2px; padding:8px 12px; overflow-x:auto; scrollbar-width:none; background:var(--surface); border-bottom:1px solid var(--border); }
.dc-chips .n { margin-left:2px; font:500 11px/1 var(--fm); color:var(--faint); }
.dc-scroll { flex:1; min-height:0; overflow:auto; padding:10px 16px 28px; }
.dc-table { display:flex; flex-direction:column; max-width:1180px; }
.dc-hrow, .dc-row { display:grid; grid-template-columns:56px 24px 24px minmax(0, 240px) minmax(0, 1fr) 44px 30px; align-items:center; gap:10px; padding:0 8px; }
.dc-hrow { height:30px; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--faint); }
.dc-hrow .ico { color:var(--faint); }
.dc-hrow span:nth-child(6) { text-align:right; }
.dc-row { min-height:40px; border-radius:var(--r); background:var(--surface); box-shadow:inset 0 -1px 0 var(--hair); cursor:pointer; outline:none; }
.dc-row:hover { background:var(--hover); }
.dc-row:focus-visible { box-shadow:inset 0 0 0 1.5px var(--pp2); }
.dc-row.open { border-radius:var(--r) var(--r) 0 0; box-shadow:none; }
.dc-t { font-size:11.5px; color:var(--faint); }
.dc-ag { display:inline-grid; place-items:center; width:22px; height:22px; border-radius:7px; color:var(--muted); background:var(--surface-2); }
.dc-ag.ag-researcher { color:var(--pp); background:var(--pp-bg); }
.dc-ag.ag-checker { color:var(--acc-2); background:color-mix(in srgb, var(--acc-2) 12%, transparent); }
.dc-ag.ag-sender { color:var(--ok); background:var(--ok-bg); }
.dc-ag.ag-sammy { color:var(--text); background:var(--surface-2); box-shadow:inset 0 0 0 1px var(--border); }
.dc-dec { display:inline-grid; place-items:center; width:22px; height:22px; border-radius:50%; color:var(--muted); }
.dc-dec.ok { color:var(--ok); background:var(--ok-bg); } .dc-dec.bad { color:var(--err); background:var(--err-bg); } .dc-dec.warn { color:var(--warn); background:var(--warn-bg); }
.dc-dec.pp { color:var(--pp); background:var(--pp-bg); } .dc-dec.muted { color:var(--faint); background:var(--surface-2); }
.dc-co { min-width:0; font-size:13px; font-weight:600; text-align:left; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; border-radius:4px; }
.dc-co:hover { color:var(--pp); }
.dc-why { display:flex; align-items:center; gap:6px; min-width:0; font-size:12.5px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dc-why .dc-subj { flex:none; color:var(--faint); }
.dc-conf { font-size:11.5px; color:var(--faint); text-align:right; }
.dc-jump { width:28px; height:28px; color:var(--faint); }
.dc-jump:hover { color:var(--pp); }
.dc-row.over .dc-co, .dc-row.over .dc-why { text-decoration:line-through; text-decoration-color:var(--faint); color:var(--faint); }
.dc-row.over .dc-dec { opacity:.5; }
.dc-detail { display:flex; flex-direction:column; gap:8px; margin-bottom:6px; padding:8px 12px 12px 106px; border-radius:0 0 var(--r) var(--r); background:var(--surface); box-shadow:inset 0 -1px 0 var(--hair); }
.dc-sum { margin:0; font-size:12.5px; line-height:1.45; color:var(--text); }
.dc-sum.faint { color:var(--faint); }
.dc-claims { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.dc-claim { display:flex; align-items:flex-start; gap:8px; }
.dc-v { flex:none; display:inline-grid; place-items:center; width:18px; height:18px; margin-top:1px; border-radius:50%; }
.dc-v.ok { color:var(--ok); background:var(--ok-bg); } .dc-v.bad { color:var(--err); background:var(--err-bg); } .dc-v.warn { color:var(--warn); background:var(--warn-bg); }
.dc-ct { display:flex; flex-direction:column; gap:2px; min-width:0; }
.dc-cn { font-size:12.5px; font-weight:550; color:var(--text); }
.dc-q { font-size:12px; font-style:italic; line-height:1.4; color:var(--muted); overflow-wrap:anywhere; }
.dc-q::before { content:'“'; } .dc-q::after { content:'”'; }
.dc-flags { display:flex; flex-wrap:wrap; gap:6px; }
.dc-flag { display:inline-flex; align-items:center; gap:4px; height:22px; padding:0 8px 0 6px; border-radius:999px; font-size:11.5px; }
.dc-flag.bad { color:var(--err); background:var(--err-bg); } .dc-flag.warn { color:var(--warn); background:var(--warn-bg); }
.dc-mail, .dc-meta { display:flex; flex-wrap:wrap; align-items:center; gap:4px 12px; font-size:11.5px; color:var(--faint); }
.dc-mail span { display:inline-flex; align-items:center; gap:4px; color:var(--muted); overflow-wrap:anywhere; }
.dc-page { display:inline-grid; place-items:center; width:24px; height:24px; border-radius:var(--r); color:var(--pp); }
.dc-page:hover { background:var(--hover); }
@media (max-width:760px) {
  .app[data-mod="decisions"] { grid-template-columns:minmax(0,1fr); grid-template-areas:"main"; }
  .dc-main .title-btn { cursor:pointer; }
  .dc-cl { display:none; }
  .dc-chips { padding:8px 16px; }
  .dc-scroll { padding:8px 16px 28px; }
  .dc-hrow { display:none; }
  .dc-row { grid-template-columns:22px 22px minmax(0, 1fr) auto 28px; grid-template-areas:"ag dec co t j" ". why why conf conf"; gap:2px 8px; padding:8px 6px; }
  .dc-row .dc-t { grid-area:t; } .dc-row .dc-ag { grid-area:ag; } .dc-row .dc-dec { grid-area:dec; } .dc-row .dc-co { grid-area:co; }
  .dc-row .dc-why { grid-area:why; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
  .dc-row .dc-conf { grid-area:conf; align-self:end; } .dc-row > :last-child { grid-area:j; }
  .dc-detail { padding:6px 10px 12px 38px; }
}

/* the "Decisions" fold on a company's page: the latest one, click for all */
.dc-fold-h { width:100%; text-align:left; border-radius:var(--r); }
.dc-fold-h:hover { color:var(--text); }
.dc-fold-h .dc-chev { margin-left:auto; }
.dc-frow { display:grid; grid-template-columns:22px 22px minmax(0, 1fr) auto; align-items:center; gap:8px; width:100%; min-height:38px; padding:0 6px; border-radius:var(--r); text-align:left; }
.dc-frow:hover { background:var(--hover); }
.dc-frow.over .dc-why { text-decoration:line-through; color:var(--faint); }
@media (prefers-reduced-motion: reduce) { .dc-row, .ck-n { transition:none; } }

/* ---------- Today: the Reply Clerk's list (today.js · supabase/reply-clerk-v1.sql) ---------- */
.td-cl-h { flex-wrap:wrap; row-gap:4px; }
.td-cl-h .cl-pill, .td-cl-h .cl-count, .td-cl-h .cl-off { text-transform:none; letter-spacing:0; }
.cl-count { font:500 11.5px var(--fm); color:var(--muted); padding:2px 6px; border-radius:6px; white-space:nowrap; }
.cl-count:hover { color:var(--pp); background:var(--hover); }
.cl-pill .ico { width:12px; height:12px; margin:0 -2px 0 -1px; }
.cl-pill.ro { cursor:default; }
.cl-off { white-space:nowrap; }
.td-cl { cursor:default; }
.td-cl .td-l1 { align-items:center; }
.td-cl .td-when { margin-left:auto; }
.cl-x { flex:none; margin:-6px -6px -6px 0; color:var(--faint); }
.cl-x:hover:not(:disabled) { color:var(--text); }
.cl-cat { --c:var(--faint); }
.cl-cat.c-ok { --c:var(--ok); } .cl-cat.c-info { --c:var(--acc-2); } .cl-cat.c-warn { --c:var(--warn); } .cl-cat.c-bad { --c:var(--err); } .cl-cat.c-mute { --c:var(--faint); }
.cl-sum { font-size:13.5px; font-weight:550; color:var(--text); line-height:1.4; overflow-wrap:anywhere; }
.cl-quote { display:block; width:100%; text-align:left; font-size:13px; font-style:italic; line-height:1.45; color:var(--faint); overflow-wrap:anywhere; border-radius:4px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cl-quote::before { content:'“'; } .cl-quote::after { content:'”'; }
.cl-quote:hover { color:var(--muted); }
.cl-quote[aria-expanded="true"] { -webkit-line-clamp:unset; display:block; }
.cl-full { white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; line-height:1.5; color:var(--muted); padding:8px 10px; border-radius:var(--r); background:var(--surface-2); max-height:320px; overflow:auto; }
.cl-dids { display:flex; flex-direction:column; gap:0; }
.cl-did { display:flex; align-items:center; gap:7px; min-height:28px; font-size:12.5px; color:var(--muted); min-width:0; }
.cl-did-ic { display:inline-grid; place-items:center; flex:none; width:20px; height:20px; border-radius:6px; color:var(--acc-3); background:color-mix(in srgb, var(--acc-3) 12%, transparent); }
.cl-did-t { display:flex; align-items:baseline; gap:6px; min-width:0; flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cl-mono { font-size:11.5px; color:var(--faint); min-width:0; overflow:hidden; text-overflow:ellipsis; }
.cl-role { font-size:11.5px; color:var(--faint); flex:none; }
.cl-did .cl-undo { flex:none; width:26px; height:26px; color:var(--faint); }
.cl-did .cl-undo:hover:not(:disabled) { color:var(--text); }
.cl-did.undone .cl-did-t { text-decoration:line-through; text-decoration-color:var(--faint); color:var(--faint); }
.cl-did.undone .cl-did-ic { color:var(--faint); background:var(--surface-2); }
.cl-undone { display:inline-grid; place-items:center; flex:none; width:26px; color:var(--faint); }
.cl-wait { flex:none; font-size:12px; }
.cl-ta { min-height:96px; font-size:13.5px; }
.cl-err { display:inline-flex; align-items:center; gap:6px; align-self:flex-start; height:26px; padding:0 9px 0 7px; border-radius:999px; font-size:12.5px; font-weight:550; color:var(--warn); background:var(--warn-bg); }
.cl-err:hover { box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--warn) 45%, transparent); }
.cl-left { margin-top:8px; }
.dc-flag.ok { color:var(--ok); background:var(--ok-bg); }
.dc-flag:not(.ok):not(.bad):not(.warn) { color:var(--faint); background:var(--surface-2); text-decoration:line-through; }
.dc-ag.ag-clerk { color:var(--acc-3); background:color-mix(in srgb, var(--acc-3) 12%, transparent); }
@media (max-width:760px) {
  .td-cl .td-l1 { flex-wrap:nowrap; }
  .td-cl .td-name { min-width:0; flex:0 1 auto; }
  .td-cl-h .cl-count { order:9; flex-basis:100%; text-align:left; padding-left:26px; }
  .cl-did { min-height:32px; }
  .cl-did .cl-undo { width:32px; height:32px; }
}

/* ---------- History + Recently deleted (history.js) ---------- */
.hs-open { width:100%; display:flex; align-items:center; gap:10px; height:44px; padding:0 10px; border-radius:var(--r); color:var(--text); font-size:13.5px; }
.hs-open:hover { background:var(--hover); }
.hs-open span { flex:1; text-align:left; }
.hs-open .ico { color:var(--muted); }
.hs-title-ico { vertical-align:-2px; margin-right:8px; color:var(--muted); }
.hs-list { list-style:none; margin:0; padding:6px 0 0; display:flex; flex-direction:column; }
.hs-e, .hs-d { position:relative; display:flex; align-items:center; gap:10px; min-height:44px; padding:8px 4px; border-bottom:1px solid var(--hair); font-size:13.5px; }
.hs-e:last-child, .hs-d:last-child { border-bottom:0; }
.hs-op { color:var(--muted); flex:none; }
.hs-op.ok { color:var(--ok); } .hs-op.err { color:var(--err); }
.hs-what { flex:1; }
.hs-chg { align-items:flex-start; }
.hs-chg .hs-op, .hs-chg time, .hs-chg .hs-by { margin-top:3px; }
.hs-fields { flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; }
.hs-f { display:flex; align-items:center; gap:6px; flex-wrap:wrap; min-width:0; }
.hs-k { color:var(--faint); font-size:12px; min-width:84px; }
.hs-v { overflow-wrap:anywhere; }
.hs-f .hs-v:first-of-type { color:var(--faint); text-decoration:line-through; text-decoration-color:var(--border); }
.hs-arrow { color:var(--faint); flex:none; }
.hs-by { color:var(--faint); font-size:12px; white-space:nowrap; }
.hs-e time, .hs-d time { color:var(--faint); font:500 12px var(--fm); white-space:nowrap; flex:none; }
.hs-act { flex:none; width:32px; height:32px; margin:-4px 0; opacity:.55; transition:opacity .12s; }
.hs-e:hover .hs-act, .hs-d:hover .hs-act, .hs-act:focus-visible { opacity:1; }
.hs-ico { flex:none; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; background:var(--surface-2); color:var(--muted); }
.hs-lbl { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hs-n { font:600 10.5px/1 var(--fm); color:var(--pp); background:var(--pp-bg); border-radius:999px; padding:3px 6px; flex:none; }
@media (hover:none) { .hs-act { opacity:1; } }
@media (max-width:760px) { .hs-by { display:none; } .hs-k { min-width:0; width:100%; } }
