  :root {
    --char:#1d1b19; --char-2:#2a2724; --cream:#f6f1e7; --paper:#fffcf6; --ink:#1d1b19;
    --muted:#6f675d; --line:#e7dfd1; --soft:#efe7d8; --accent:#c4622d; --accent-2:#e9a36f;
    --ok:#3f7a52; --ok-bg:#e3efe5; --wait:#a5730c; --wait-bg:#fbf0d4; --idle-bg:#ece6db;
    --radius:18px; --shadow:0 1px 2px rgba(29,27,25,.05), 0 8px 24px -12px rgba(29,27,25,.18);
  }
  * { box-sizing:border-box; }
  html { -webkit-font-smoothing:antialiased; }
  body { margin:0; font:15px/1.55 Inter, system-ui, sans-serif; color:var(--ink); background:var(--cream); }
  .wrap { max-width:1040px; margin:0 auto; padding:0 28px; }
  /* Top bar: one row at 390px. Brand becomes an FB mark on narrow screens so Menu / Outreach / Activity never wrap. */
  .topbar { position:sticky; top:0; z-index:40; background:rgba(29,27,25,.92); color:var(--cream); border-bottom:1px solid rgba(255,255,255,.08); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
  .topbar .inner { max-width:1040px; margin:0 auto; padding:10px 16px; display:flex; align-items:center; gap:8px; flex-wrap:nowrap; }
  .topbar .brand { display:flex; align-items:center; gap:8px; margin-right:auto; min-width:0; flex-shrink:1; }
  .topbar .brand .mark { flex-shrink:0; width:28px; height:28px; border-radius:8px; background:linear-gradient(135deg, var(--accent), #a84a1c); color:#fff; font:700 11px/28px Inter, sans-serif; text-align:center; letter-spacing:.02em; }
  .topbar .brand .name { font:600 14px/1.2 Inter, system-ui, sans-serif; letter-spacing:-.01em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .topbar .quick { display:flex; gap:6px; flex-shrink:0; }
  .topbar .quick button, .menu-btn { font:500 13px Inter, sans-serif; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.04); color:var(--cream); border-radius:999px; padding:8px 12px; cursor:pointer; display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
  .topbar .quick button.on, .menu-btn.on { background:var(--accent); border-color:var(--accent); }
  .topbar .quick button:hover, .menu-btn:hover { background:rgba(255,255,255,.1); }
  .topbar .quick .count, .drawer .count { font-size:11px; background:rgba(255,255,255,.16); padding:1px 7px; border-radius:999px; }
  .topbar .quick .count:empty, .drawer .count:empty { display:none; }
  .topbar .quick button.on .count { background:rgba(0,0,0,.2); }
  .menu-btn { flex-shrink:0; }
  .menu-btn .burger { display:inline-block; width:14px; height:11px; position:relative; }
  .menu-btn .burger::before, .menu-btn .burger::after, .menu-btn .burger i { content:""; position:absolute; left:0; right:0; height:2px; background:currentColor; border-radius:1px; }
  .menu-btn .burger::before { top:0; } .menu-btn .burger i { top:4.5px; display:block; } .menu-btn .burger::after { bottom:0; }
  @media (max-width:480px) {
    .topbar .brand .name { display:none; }
    .topbar .quick button, .menu-btn { padding:8px 10px; font-size:12.5px; }
    .menu-btn .menu-lbl { display:none; }
  }
  /* Hero: objective + strategy channel cards. Sans for UI, serif only for the objective title. */
  .hero { background:radial-gradient(900px 420px at 100% -10%, rgba(196,98,45,.38), transparent 55%), radial-gradient(700px 360px at -10% 40%, rgba(63,122,82,.18), transparent 50%), var(--char); color:var(--cream); padding:28px 0 48px; }
  .hero-kicker { display:flex; align-items:center; gap:10px 14px; flex-wrap:wrap; font-size:12.5px; color:#b5aa9a; margin-bottom:18px; }
  .objective { margin-bottom:28px; }
  .obj-label { font:600 11px Inter, sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--accent-2); margin-bottom:8px; }
  .hero h1 { font-family:Fraunces, Georgia, serif; font-weight:600; font-size:clamp(26px, 4.6vw, 40px); line-height:1.15; letter-spacing:-.02em; margin:0 0 10px; max-width:720px; }
  .hero .sub { color:#cfc6b8; margin:0; max-width:560px; font-size:14.5px; }
  .kpis { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:20px; max-width:520px; }
  .kpi { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1) !important; border-radius:14px; padding:14px 16px !important; text-align:left; }
  .kpi:hover { background:rgba(255,255,255,.1); }
  .kpi .kpi-lab { display:block; font:500 11px Inter, sans-serif; letter-spacing:.06em; text-transform:uppercase; color:#a99f91; margin-bottom:6px; }
  .kpi b { display:block; font:600 26px/1.1 Inter, system-ui, sans-serif; color:#fff; letter-spacing:-.02em; }
  .kpi .hint { display:block; font-size:12px; color:#8a8074; margin-top:6px; letter-spacing:0; }
  .ch-wrap { margin-top:8px; }
  .ch-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:12px; }
  .ch-head h2 { font:600 15px Inter, sans-serif; letter-spacing:.04em; text-transform:uppercase; color:#cfc6b8; margin:0; }
  .ch-sum { font-size:12.5px; color:#8a8074; }
  .channels { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; }
  @media (max-width:720px) { .channels { grid-template-columns:1fr; } }
  .ch { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:16px; padding:16px 16px 14px; display:flex; flex-direction:column; gap:10px; }
  .ch-focus { border-color:rgba(233,163,111,.45); background:linear-gradient(160deg, rgba(196,98,45,.16), rgba(255,255,255,.04) 55%); }
  .ch-top { display:flex; align-items:center; gap:12px; }
  .ch-ico { flex-shrink:0; width:36px; height:36px; border-radius:10px; background:rgba(255,255,255,.08); color:var(--accent-2); display:grid; place-items:center; }
  .ch-ico svg { width:18px; height:18px; }
  .ch-ico.sm { width:28px; height:28px; border-radius:8px; }
  .ch-ico.sm svg { width:14px; height:14px; }
  .ch-title h3 { font:600 15px Inter, sans-serif; margin:0; color:#fff; letter-spacing:-.01em; }
  .ch-title p { margin:2px 0 0; font-size:12.5px; color:#a99f91; }
  .ch-desc { margin:0; font-size:13.5px; color:#cfc6b8; line-height:1.45; }
  .ch-metrics { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:8px; }
  .ch-metrics div { background:rgba(0,0,0,.22); border-radius:10px; padding:8px 10px; }
  .ch-metrics b { display:block; font:600 15px Inter, sans-serif; color:#fff; }
  .ch-metrics span { display:block; font-size:11px; color:#a99f91; margin-top:2px; line-height:1.3; }
  .ch-note { margin:0; font-size:12.5px; color:#a99f91; }
  .ch-next { font-size:13px; color:#e8dfd2; background:rgba(0,0,0,.2); border-radius:10px; padding:10px 12px; line-height:1.4; }
  .ch-next span { display:block; font:600 10px Inter, sans-serif; letter-spacing:.1em; text-transform:uppercase; color:var(--accent-2); margin-bottom:4px; }
  .ch-link, .ch-links .ch-link { font:500 13px Inter, sans-serif; color:var(--accent-2); text-decoration:none; }
  .ch-link:hover { color:#fff; }
  .ch-links { display:flex; gap:14px; flex-wrap:wrap; }
  .ch-link.soft { color:#a99f91; }
  .ch-parked { display:flex; align-items:flex-start; gap:12px; margin-top:12px; padding:12px 14px; border-radius:12px; background:rgba(255,255,255,.03); border:1px dashed rgba(255,255,255,.12); color:#a99f91; }
  .ch-parked b { color:#cfc6b8; font-weight:600; margin-right:8px; }
  .ch-parked p { margin:4px 0 0; font-size:13px; color:#8a8074; }
  .pill { display:inline-flex; align-items:center; gap:6px; font:600 11px Inter, sans-serif; letter-spacing:.04em; text-transform:uppercase; padding:4px 10px; border-radius:999px; width:fit-content; }
  .pill i { width:6px; height:6px; border-radius:50%; background:currentColor; }
  .pill.live { background:rgba(63,122,82,.22); color:#8fd4a4; }
  .pill.ready { background:rgba(165,115,12,.22); color:#e8c56a; }
  .pill.paused { background:rgba(255,255,255,.08); color:#c4b8a6; }
  .pill.parked { background:rgba(255,255,255,.06); color:#9a9082; }
  .eyebrow { font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent-2); font-weight:600; }
  h1 { font-family:Fraunces, Georgia, serif; font-weight:600; font-size:clamp(34px, 5vw, 52px); line-height:1.05; letter-spacing:-.02em; margin:10px 0 8px; }
  .sub { color:#cfc6b8; margin:0; max-width:560px; }
  .stats { display:flex; gap:28px; margin-top:28px; flex-wrap:wrap; }
  .stat b { display:block; font-family:Fraunces, Georgia, serif; font-size:28px; font-weight:500; color:#fff; line-height:1.1; }
  .stat span { font-size:12px; color:#a99f91; letter-spacing:.04em; }
  .drawer-back { position:fixed; inset:0; background:rgba(20,18,16,.45); z-index:50; opacity:0; pointer-events:none; transition:opacity .2s; }
  .drawer-back.open { opacity:1; pointer-events:auto; }
  .drawer { position:fixed; top:0; left:0; bottom:0; width:min(320px, 88vw); background:var(--paper); color:var(--ink); z-index:51; transform:translateX(-105%); transition:transform .22s ease; box-shadow:8px 0 32px -12px rgba(0,0,0,.35); display:flex; flex-direction:column; padding:18px 14px 24px; }
  .drawer.open { transform:translateX(0); }
  .drawer h2 { font-family:Fraunces, Georgia, serif; font-size:20px; margin:4px 8px 14px; }
  .drawer nav { display:flex; flex-direction:column; gap:4px; overflow:auto; }
  .drawer button { font:500 15px Inter, sans-serif; text-align:left; border:0; background:transparent; color:var(--char-2); border-radius:12px; padding:12px 14px; cursor:pointer; display:flex; align-items:center; gap:10px; }
  .drawer button:hover { background:var(--soft); }
  .drawer button.on { background:var(--char); color:var(--cream); }
  .drawer button.on .count { background:var(--accent); color:#fff; }
  .drawer .count { font-size:11px; background:var(--idle-bg); color:var(--char-2); padding:2px 8px; border-radius:999px; margin-left:auto; }
  .drawer .count:empty { display:none; }
  .drawer .count.rep { background:#1f4f8f; color:#fff; margin-left:6px; }
  .drawer .hint { font-size:12.5px; color:var(--muted); padding:14px 8px 0; }
  /* Keep legacy .tabs selectors harmless if any JS still queries them (the drawer nav uses the same button ids). */
  .tabs { display:none; }
  /* Legacy .obj styles removed in v2 (strategy is channel cards). */
  main { padding:28px 0 64px; }
  .grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; }
  .card { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:22px 24px; box-shadow:var(--shadow); }
  .card.wide { grid-column:1 / -1; }
  .card.feature { background:linear-gradient(135deg, #fffaf1, #f8ecdc); border-color:#ecd8bf; }
  .num { font-family:Fraunces, Georgia, serif; color:var(--accent); font-size:13px; letter-spacing:.06em; font-weight:600; }
  h2 { font-family:Fraunces, Georgia, serif; font-weight:600; font-size:21px; letter-spacing:-.01em; margin:4px 0 10px; }
  ul { margin:0; padding:0; list-style:none; }
  li { position:relative; padding-left:20px; margin:9px 0; }
  li::before { content:""; position:absolute; left:2px; top:.62em; width:7px; height:7px; border-radius:2px; background:var(--accent); transform:rotate(45deg); opacity:.85; }
  .note { color:var(--muted); font-size:13px; }
  .callout { margin-top:14px; padding:10px 14px; border-radius:12px; background:var(--soft); font-size:13px; color:var(--muted); }
  .section-head { display:flex; justify-content:space-between; align-items:end; gap:16px; margin-bottom:16px; flex-wrap:wrap; }
  .section-head h2 { font-size:28px; margin:0; }
  textarea { width:100%; min-height:96px; font:inherit; border:1px solid var(--line); border-radius:14px; padding:14px 16px; background:#fff; resize:vertical; transition:border-color .15s, box-shadow .15s; }
  textarea:focus, select:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 4px rgba(196,98,45,.14); }
  .row { display:flex; gap:8px; margin-top:12px; flex-wrap:wrap; }
  button { font:500 14px Inter, sans-serif; }
  .btn, .row button, .modal button { border-radius:999px; padding:10px 18px; cursor:pointer; border:1px solid var(--line); background:#fff; color:var(--ink); transition:transform .1s, background .15s; }
  .row button:hover, .modal button:hover { background:var(--soft); }
  .row button.primary, .modal button.primary { background:var(--accent); color:#fff; border-color:var(--accent); }
  .row button.primary:hover, .modal button.primary:hover { background:#ad5424; }
  .modal button:disabled { opacity:.45; cursor:not-allowed; }
  #ideas { display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:14px; margin-top:20px; }
  .idea { position:relative; background:#fff; border:1px solid var(--line); border-radius:16px; padding:16px 16px 14px; cursor:pointer; min-height:132px; display:flex; flex-direction:column; justify-content:space-between; transition:transform .15s, box-shadow .15s; box-shadow:var(--shadow); }
  .idea::before { content:""; position:absolute; left:0; top:14px; bottom:14px; width:3px; border-radius:0 3px 3px 0; background:var(--accent); }
  .idea:hover { transform:translateY(-2px); box-shadow:0 12px 30px -14px rgba(29,27,25,.35); }
  .idea .text { font-weight:500; margin-top:8px; }
  .idea .meta { color:var(--muted); font-size:12px; margin-top:12px; display:flex; align-items:center; gap:6px; }
  .idea .meta .dot { width:7px; height:7px; border-radius:50%; background:#c9bfae; }
  .idea .meta .dot.sent { background:var(--accent); }
  .idea > button { position:absolute; top:10px; right:10px; border:0; background:transparent; color:#b3a998; font-size:18px; line-height:1; padding:4px 8px; border-radius:8px; cursor:pointer; }
  .idea > button:hover { background:var(--soft); color:var(--ink); }
  .empty { grid-column:1 / -1; text-align:center; padding:36px; border:1.5px dashed var(--line); border-radius:16px; color:var(--muted); }
  .tag { display:inline-block; font-size:11px; font-weight:600; letter-spacing:.03em; padding:3px 9px; border-radius:999px; background:var(--soft); color:var(--char-2); }
  .cred .invite-line { margin:8px 0 0; padding:10px 12px; border-radius:12px; background:#eef4fb; border:1px solid #cddcee; color:#23466e; font-size:14px; line-height:1.45; }
  .cred .invite-line a { color:inherit; font-weight:600; }
  .cred .andy-link { display:inline-block; margin-top:6px; font-size:13px; color:var(--accent); }
  .chip.inv { background:#eef4fb; color:#23466e; }
  .cred .invite-line.got { background:#e8f0e6; border-color:#cfe0cb; color:#2f5a2a; }
  .cred .inv-row { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:8px; }
  .cred .inv-row .andy-link { margin-top:0; }
  .cred .inv-row button { border-radius:999px; padding:7px 14px; font-size:13px; cursor:pointer; border:1px solid var(--line); background:#fff; color:var(--ink); }
  .cred .inv-row button:hover { background:var(--soft); }
  .cred .inv-row button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .tag.crew { background:#e8f0e6; color:#2f5a2a; margin-left:4px; }
  .modal-back { position:fixed; inset:0; background:rgba(29,27,25,.55); backdrop-filter:blur(4px); display:none; place-items:center; padding:24px; z-index:10; }
  .modal-back.open { display:grid; }
  .modal { background:var(--paper); border-radius:22px; max-width:560px; width:100%; padding:28px; box-shadow:0 30px 80px -20px rgba(0,0,0,.45); }
  .modal h3 { font-family:Fraunces, Georgia, serif; font-weight:600; margin:0 0 14px; font-size:24px; line-height:1.2; }
  .field-label { display:block; font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin:12px 0 6px; }
  select { font:inherit; border:1px solid var(--line); border-radius:12px; padding:10px 12px; background:#fff; }
  .ctx { position:relative; }
  .ctx textarea { padding-right:60px; min-height:130px; }
  .mic { position:absolute; right:10px; bottom:12px; border-radius:50% !important; width:42px; height:42px; padding:0 !important; font-size:18px; background:var(--char) !important; color:#fff !important; border:0 !important; }
  .mic.on { background:#b3261e !important; box-shadow:0 0 0 6px rgba(179,38,30,.18); }
  .progress { min-width:240px; }
  .bar { height:8px; background:var(--idle-bg); border-radius:999px; overflow:hidden; display:flex; }
  .bar i { display:block; height:100%; }
  .bar .g { background:var(--ok); } .bar .n { background:#c9bfae; }
  .legend { font-size:12px; color:var(--muted); margin-top:6px; }
  .acc-group { margin-top:22px; }
  .acc-group h3 { font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:0 0 8px; font-weight:600; }
  .acc { display:grid; grid-template-columns:1fr auto; gap:4px 16px; padding:14px 0; border-top:1px solid var(--line); }
  .acc .item { font-weight:500; }
  .acc .how { font-size:13px; color:var(--muted); grid-column:1; }
  .acc .anote { font-size:12px; grid-column:1; color:#8a5a12; background:#fbf2df; padding:4px 10px; border-radius:8px; justify-self:start; margin-top:4px; }
  .acc select { grid-row:1 / span 3; grid-column:2; align-self:start; border-radius:999px; padding:6px 30px 6px 14px; font-size:13px; font-weight:600; border:0; appearance:none; -webkit-appearance:none; cursor:pointer;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236f675d' fill='none' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; }
  .acc select.s-Notasked { background-color:var(--idle-bg); color:var(--char-2); }
  .acc select.s-Requested { background-color:var(--wait-bg); color:var(--wait); }
  .acc select.s-Granted { background-color:var(--ok-bg); color:var(--ok); }
  .modal { max-height:calc(100vh - 48px); overflow:auto; }
  .chip { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; padding:3px 10px; border-radius:999px; white-space:nowrap; }
  .chip::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; opacity:.8; }
  .chip.s-idea { background:var(--idle-bg); color:var(--char-2); }
  .chip.s-sent { background:var(--wait-bg); color:var(--wait); }
  .chip.s-notes-back { background:#f8e1d3; color:#a24a1c; }
  .chip.s-approved { background:var(--ok-bg); color:var(--ok); }
  .idea .meta { justify-content:space-between; flex-wrap:wrap; }
  .idea .ncount { font-size:12px; color:var(--muted); font-weight:500; }
  .idea.is-sent::before { background:var(--accent-2); }
  .idea.is-approved::before { background:var(--ok); }
  .idea.is-idea::before { background:#c9bfae; }
  .thread { margin-top:4px; }
  .thread-list { display:flex; flex-direction:column; gap:10px; max-height:280px; overflow:auto; }
  .tnote { background:#fff; border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:12px; padding:10px 14px; }
  .tnote .who { display:flex; justify-content:space-between; gap:10px; font-size:12px; color:var(--muted); }
  .tnote .who b { color:var(--ink); font-weight:600; }
  .tnote .body { white-space:pre-wrap; margin-top:4px; font-size:14px; overflow-wrap:anywhere; }
  .chat { display:flex; flex-direction:column; gap:12px; min-height:140px; max-height:46vh; overflow-y:auto; padding:14px 12px; background:#f3ece0; border:1px solid var(--line); border-radius:16px; overscroll-behavior:contain; }
  .msg { display:flex; flex-direction:column; align-items:flex-start; max-width:84%; align-self:flex-start; }
  .msg.me { align-self:flex-end; align-items:flex-end; }
  .msg .who { font-size:11px; color:var(--muted); padding:0 6px 3px; }
  .msg .who b { color:var(--char-2); font-weight:600; }
  .bubble { background:#fff; border:1px solid var(--line); border-radius:16px 16px 16px 4px; padding:9px 13px; font-size:14px; line-height:1.45; white-space:pre-wrap; overflow-wrap:anywhere; box-shadow:0 1px 2px rgba(29,27,25,.05); }
  .msg.me .bubble { background:var(--accent); border-color:var(--accent); color:#fff; border-radius:16px 16px 4px 16px; }
  .msg .undelivered { font-size:11px; color:#b3261e; padding:3px 6px 0; }
  .typing .bubble { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:13px; }
  .dots { display:inline-flex; gap:3px; }
  .dots i { width:6px; height:6px; border-radius:50%; background:#b3a998; animation:blink 1.2s infinite ease-in-out; }
  .dots i:nth-child(2) { animation-delay:.2s; } .dots i:nth-child(3) { animation-delay:.4s; }
  @keyframes blink { 0%, 80%, 100% { opacity:.25; transform:translateY(0); } 40% { opacity:1; transform:translateY(-2px); } }
  .chat-empty { color:var(--muted); font-size:13px; text-align:center; padding:18px 8px; }
  .reply { display:flex; gap:8px; align-items:flex-end; padding-top:10px; }
  .reply textarea { min-height:44px; height:44px; max-height:140px; padding:11px 16px; border-radius:22px; resize:none; line-height:1.4; }
  .reply .mic { position:static; flex-shrink:0; }
  .reply #mReplySend { flex-shrink:0; height:44px; }
  @media (max-width:520px) { .modal { padding:20px 16px; border-radius:18px; } .modal-back { padding:10px; } .chat { max-height:42vh; } .msg { max-width:90%; } }
  /* Strategy cards */
  .sc-group { margin-top:14px; }
  .sc-group:first-child { margin-top:4px; }
  .sc-group h4 { margin:0 0 8px; font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
  .sc-list { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; }
  .sc-item { text-align:left; width:100%; background:#fff; border:1px solid var(--line); border-radius:14px; padding:12px 14px; cursor:pointer; color:var(--ink); display:flex; flex-direction:column; gap:6px; transition:border-color .15s, transform .1s; }
  .sc-item:hover { border-color:var(--accent-2); }
  .sc-item:active { transform:scale(.99); }
  .sc-top { display:flex; gap:6px; align-items:center; flex-wrap:wrap; font-size:12px; color:var(--muted); }
  .sc-item .t { font-weight:600; font-size:15px; line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .sc-item .l { font-size:13px; color:var(--muted); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .sc-meta { font-size:12px; color:var(--muted); display:flex; gap:10px; flex-wrap:wrap; }
  .chip.st-parked { background:var(--idle-bg); color:var(--char-2); }
  .chip.st-ready { background:var(--wait-bg); color:var(--wait); }
  .chip.st-live { background:var(--ok-bg); color:var(--ok); }
  .smodal h3 { margin-bottom:6px; }
  .s-head { display:flex; gap:8px; align-items:center; flex-wrap:wrap; font-size:13px; color:var(--muted); margin-bottom:10px; }
  .s-line { font-size:15px; line-height:1.45; padding:10px 14px; background:var(--soft); border-radius:12px; }
  .s-line.empty { color:var(--muted); font-size:13px; }
  .s-status { font-size:13px; padding:10px 14px; border-radius:12px; margin-top:12px; line-height:1.45; }
  .s-status.parked { background:var(--idle-bg); }
  .s-status.ready { background:var(--wait-bg); }
  .s-status.live { background:var(--ok-bg); }
  .s-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
  .s-list li { font-size:14px; line-height:1.45; display:flex; gap:10px; align-items:flex-start; }
  .s-list li { padding-left:0; position:static; margin:0; }
  .s-list li::before { content:none; display:none; }
  .s-list .box { flex-shrink:0; width:18px; height:18px; border-radius:5px; border:1.5px solid #c9bfae; margin-top:2px; display:grid; place-items:center; font-size:12px; color:#fff; }
  .s-list .box.on { background:var(--ok); border-color:var(--ok); }
  .s-list .done-t { color:var(--muted); text-decoration:line-through; }
  .s-list .sub { display:block; font-size:12px; color:var(--muted); }
  .s-list .ans { display:block; margin-top:4px; padding:6px 10px; background:var(--ok-bg); border-radius:8px; font-size:13px; }
  .draft-tag { font-size:10px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--wait); background:var(--wait-bg); border-radius:999px; padding:1px 7px; margin-left:6px; white-space:nowrap; }
  .s-area { margin-top:6px; }
  .s-area b { font-size:13px; display:block; margin:6px 0 6px; }
  .s-empty { font-size:13px; color:var(--muted); }
  .s-find { border-left:3px solid var(--accent-2); padding:2px 0 2px 10px; }
  @media (max-width:720px) { .sc-list { grid-template-columns:1fr; } .sc-item { padding:10px 12px; } }

  /* Billable hours + jobs report (client-facing, no invented rates). */
  .stat-btn { appearance:none; border:0; background:transparent; color:inherit; padding:0; text-align:left; cursor:pointer; border-radius:12px; }
  .stat-btn:focus-visible { outline:3px solid var(--accent-2); outline-offset:4px; }
  .stat-btn .hint { display:block; font-size:11px; color:#8a8074; margin-top:4px; letter-spacing:.02em; }
  .kpi.stat-btn:hover b { text-decoration:none; }
  .jobs-modal { width:min(720px, 100%); max-height:min(88vh, 900px); overflow:auto; }
  .jobs-modal h3 { font-family:Fraunces, Georgia, serif; font-size:26px; margin:0 0 6px; }
  .jobs-lead { color:var(--muted); font-size:14.5px; margin:0 0 16px; }
  .jobs-sum { display:flex; flex-wrap:wrap; gap:14px 22px; margin:0 0 18px; padding:12px 14px; background:var(--soft); border-radius:12px; font-size:14px; }
  .jobs-sum b { font-family:Fraunces, Georgia, serif; font-size:22px; font-weight:600; display:block; color:var(--char); }
  .jobs-sum span { color:var(--muted); font-size:12.5px; }
  .job { border:1px solid var(--line); border-radius:14px; padding:14px 16px; margin:0 0 10px; background:#fff; }
  .job h4 { font-family:Fraunces, Georgia, serif; font-size:17px; margin:0 0 4px; font-weight:600; }
  .job .who { font-size:13px; color:var(--muted); margin:0 0 8px; }
  .job .who b { color:var(--char-2); font-weight:600; }
  .job ul { margin:0; padding:0; list-style:none; }
  .job li { padding:6px 0 6px 0; border-top:1px solid var(--line); font-size:14px; }
  .job li:first-child { border-top:0; }
  .job li::before { content:none; display:none; }
  .job .when { color:var(--muted); font-size:12.5px; display:block; margin-bottom:2px; }
  .jobs-empty { padding:18px; border:1px dashed #cfc6b5; border-radius:14px; background:#fbf8f2; color:var(--muted); font-size:14.5px; }
  .jobs-note { font-size:13px; color:var(--muted); margin:14px 0 0; }
  .jobs-park { margin:0 0 14px; padding:10px 12px; border-radius:10px; background:var(--idle-bg); font-size:13.5px; color:var(--char-2); }

  /* Work log (usage) */
  .ulog { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
  .ulog li { margin:0; padding:9px 12px; background:#fff; border:1px solid var(--line); border-radius:12px; font-size:13px; line-height:1.45; }
  .ulog li::before { content:none; display:none; }
  .ulog .u-top { display:flex; gap:8px; flex-wrap:wrap; align-items:center; color:var(--muted); font-size:12px; }
  .ulog .u-top b { color:var(--char-2); font-weight:600; }
  .ulog .u-kind { font-size:10px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; background:var(--soft); color:var(--char-2); border-radius:999px; padding:1px 7px; }
  .ulog .u-val { margin-top:3px; color:var(--ink); }
  .u-metrics { display:flex; gap:6px; flex-wrap:wrap; margin-top:5px; }
  .u-metric { font-size:11px; font-weight:600; background:var(--ok-bg); color:var(--ok); border-radius:999px; padding:2px 8px; }
  .u-sum { font-size:12px; color:var(--muted); margin:0 0 8px; }
  .u-admin { font-size:12px; color:var(--wait); background:var(--wait-bg); border-radius:10px; padding:6px 10px; margin-top:8px; }
  /* Billing (admin) */
  .admin-flag { font-size:12px; color:var(--wait); background:var(--wait-bg); border-radius:12px; padding:8px 12px; margin:0 0 14px; }
  .bill-bar { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:14px; }
  .bill-bar select { width:auto; padding:8px 12px; border-radius:999px; }
  .bill-rows { display:flex; flex-direction:column; gap:10px; }
  .bill-row { background:#fff; border:1px solid var(--line); border-radius:14px; padding:12px 14px; }
  .bill-row .t { font-weight:600; margin:4px 0; }
  .bill-nums { display:flex; gap:14px; flex-wrap:wrap; font-size:13px; color:var(--muted); }
  .bill-nums b { color:var(--ink); font-weight:600; }
  .bill-row .inv { margin-top:8px; font-size:13px; padding:7px 10px; background:var(--soft); border-radius:10px; }
  .bill-row details { margin-top:6px; font-size:13px; }
  .bill-row summary { cursor:pointer; color:var(--accent); }
  .ulog-in { padding-top:6px; }
  .bill-tot { display:flex; gap:18px; flex-wrap:wrap; font-size:14px; margin:14px 0 0; padding-top:12px; border-top:1px solid var(--line); }
  /* ===== Socials module ===== */
  .so-stats { display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:10px; margin-bottom:16px; }
  .so-ch { background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:14px; box-shadow:var(--shadow); display:flex; flex-direction:column; gap:4px; }
  .so-ch .lab { font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
  .so-ch .nm { font-weight:600; font-size:14px; line-height:1.25; }
  .so-ch .big { font-family:Fraunces, Georgia, serif; font-size:26px; line-height:1.1; color:var(--ink); }
  .so-ch .big.soft { font-size:17px; color:var(--char-2); }
  .so-ch .hint { font-size:11px; color:var(--muted); line-height:1.35; }
  .so-ch .grow { font-size:12px; font-weight:600; color:var(--ok); }
  .so-ch .wait { font-size:11px; color:var(--wait); background:var(--wait-bg); border-radius:999px; padding:2px 8px; align-self:flex-start; margin-top:4px; }
  .so-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:16px; }
  .so-head { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; }
  .so-head h2 { margin:0; }
  .so-toggle { background:none; border:0; color:var(--accent); cursor:pointer; font:500 13px Inter, sans-serif; padding:4px 0; }
  .so-scroll { max-height:520px; overflow-y:auto; margin-top:10px; }
  .so-table { width:100%; border-collapse:collapse; font-size:13px; }
  .so-table th { text-align:left; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); padding:6px 8px; border-bottom:1px solid var(--line); position:sticky; top:0; background:var(--paper); }
  .so-table td { padding:9px 8px; border-bottom:1px solid var(--line); vertical-align:top; }
  .so-table tr.so-row { cursor:pointer; }
  .so-table tr.so-row:hover td { background:#fff; }
  .so-table .sub { display:block; font-size:11px; color:var(--muted); margin-top:2px; }
  .chip.so-draft { background:var(--wait-bg); color:var(--wait); }
  .chip.so-go { background:#f8e1d3; color:#a24a1c; }
  .chip.so-posted { background:var(--ok-bg); color:var(--ok); }
  .chip.so-logged { background:var(--idle-bg); color:var(--char-2); }
  .so-traj { font-size:13px; color:var(--muted); }
  .so-bar { display:grid; grid-template-columns:110px 1fr auto; gap:8px; align-items:center; font-size:12px; margin:6px 0; }
  .so-bar i { display:block; height:8px; border-radius:999px; background:var(--accent-2); }
  .so-copy { white-space:pre-wrap; background:#fff; border:1px solid var(--line); border-radius:12px; padding:10px 12px; font-size:14px; line-height:1.5; }
  .so-kv { font-size:13px; display:grid; grid-template-columns:120px 1fr; gap:4px 10px; margin-top:10px; }
  .so-kv dt { color:var(--muted); }
  .so-kv dd { margin:0; overflow-wrap:anywhere; }
  .so-sum { font-size:13px; color:var(--muted); margin:0 0 12px; }
  @media (max-width:900px) { .so-stats { grid-template-columns:repeat(2, minmax(0,1fr)); } .so-grid { grid-template-columns:1fr; } }
  @media (max-width:520px) { .so-ch { padding:11px 12px; } .so-ch .big { font-size:22px; } .so-table th:nth-child(1), .so-table td:nth-child(1) { width:64px; } .so-kv { grid-template-columns:96px 1fr; } }
  /* ===== Andy's list ===== */
  .andy-warn { margin:0 0 12px; }
  .andy-head { position:sticky; top:0; z-index:5; padding:14px 18px; margin-bottom:14px; }
  .a-prog { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
  .a-bar { flex:1; min-width:160px; height:10px; border-radius:999px; background:var(--soft); overflow:hidden; }
  .a-bar i { display:block; height:100%; background:var(--ok); border-radius:999px; transition:width .3s; flex-shrink:0; }
  .a-count { font-size:14px; font-weight:600; white-space:nowrap; }
  .a-count span { font-weight:400; color:var(--muted); font-size:12px; }
  .a-tools { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-top:10px; }
  .a-chip { border:1px solid var(--line); background:#fff; color:var(--ink); border-radius:999px; padding:5px 12px; font:500 13px Inter, sans-serif; cursor:pointer; }
  .a-chip.on { background:var(--char); color:var(--cream); border-color:var(--char); }
  .a-jump { background:none; border:0; color:var(--accent); font:500 13px Inter, sans-serif; cursor:pointer; padding:4px 2px; }
  .a-tools .sp { flex:1; }
  .a-sec { margin-bottom:16px; }
  .a-sec h3 { font-family:Fraunces, Georgia, serif; font-weight:600; font-size:20px; margin:0 0 8px; scroll-margin-top:150px; }
  .aq { background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:12px 14px; margin-bottom:8px; scroll-margin-top:150px; }
  .aq.st-answered { border-left:4px solid var(--ok); }
  .aq.st-na { border-left:4px solid #c9bfae; opacity:.85; }
  .aq.st-strategy { border-left:4px solid #3b6ea8; }
  .aq.st-strategy .aq-n { background:#e3ecf7; color:#2c5a8c; }
  .a-card { max-width:100%; }
  .a-gone { color:#2c5a8c; font-weight:500; }
  .a-bar { display:flex; }
  .a-bar i.s2 { background:#3b6ea8; border-radius:0 999px 999px 0; }
  .a-sub { width:100%; font-size:12px; color:var(--muted); margin-top:-4px; }
  .a-sub b { color:#2c5a8c; font-weight:600; }
  .aq-top { display:flex; gap:10px; align-items:flex-start; }
  .aq-n { flex-shrink:0; width:26px; height:26px; border-radius:50%; background:var(--soft); display:grid; place-items:center; font-size:12px; font-weight:600; color:var(--char-2); }
  .aq.st-answered .aq-n { background:var(--ok-bg); color:var(--ok); }
  .aq-q { font-size:14px; line-height:1.45; }
  .aq-by { display:block; font-size:11px; color:var(--muted); margin-top:2px; }
  .aq .ctx { margin-top:8px; }
  .aq .ctx textarea { min-height:52px; padding:10px 54px 10px 12px; font-size:14px; resize:vertical; }
  .aq .mic { width:36px; height:36px; font-size:15px; right:8px; bottom:8px; }
  .aq-foot { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-top:8px; font-size:12px; color:var(--muted); }
  .aq-foot select { width:auto; padding:6px 10px; border-radius:999px; font-size:13px; }
  .aq-foot .btn { padding:6px 14px; font-size:13px; }
  .aq-msg.err { color:#b3261e; }
  .aq-sent { color:var(--ok); font-weight:500; }
  .aq-sent.changed { color:#a05a00; }
  .a-send { margin-top:18px; padding:20px 18px; text-align:center; }
  .a-send h3 { font-family:Fraunces, Georgia, serif; font-weight:600; font-size:20px; margin:0 0 6px; }
  .a-send .note { margin:0 auto 14px; max-width:460px; }
  .a-send-btn { display:block; width:100%; max-width:460px; margin:0 auto; border:0; border-radius:16px; padding:18px 20px; background:var(--accent); color:#fff; font:600 18px Inter, sans-serif; cursor:pointer; box-shadow:var(--shadow); transition:transform .1s, background .15s; }
  .a-send-btn:hover { background:#ad5424; }
  .a-send-btn:active { transform:scale(.99); }
  .a-send-btn:disabled { opacity:.5; cursor:wait; }
  .a-send-line { margin:12px auto 0; font-size:14px; max-width:460px; }
  .a-send-line.ok { color:var(--ok); font-weight:500; }
  .a-send-line.err { color:#b3261e; }
  .a-send-counts { font-size:17px; font-weight:600; margin:0 0 8px; line-height:1.4; }
  .a-resend { display:flex; gap:8px; align-items:flex-start; font-size:14px; margin:10px 0; cursor:pointer; }
  .a-resend input { width:auto; margin-top:3px; }
  .a-send-actions { display:flex; gap:10px; justify-content:flex-end; flex-wrap:wrap; margin-top:16px; }
  #andyPrint { display:none; }
  @media (max-width:520px) { #aJumps { flex-wrap:nowrap; overflow-x:auto; white-space:nowrap; scrollbar-width:none; margin-top:6px; } #aJumps::-webkit-scrollbar { display:none; } .andy-head .a-tools { gap:6px; } .andy-head .a-chip { padding:4px 10px; font-size:12.5px; } #aPrint { padding:5px 12px; font-size:12.5px; } .a-sub { font-size:11.5px; } }
  @media (max-width:520px) { .andy-head { padding:10px 12px; border-radius:14px; } .aq { padding:10px 11px; } .aq-q { font-size:13.5px; } .a-sec h3 { font-size:18px; } }
  @media print {
    body.print-andy { background:#fff !important; }
    body.print-andy .hero, body.print-andy .topbar, body.print-andy .drawer, body.print-andy .drawer-back, body.print-andy .tabs, body.print-andy main > section:not(#andyTab), body.print-andy #andyTab > :not(#andyPrint), body.print-andy .modal-back { display:none !important; }
    body.print-andy #andyPrint { display:block !important; color:#000; font:12pt/1.4 Georgia, serif; }
    body.print-andy .wrap { padding:0 !important; max-width:none !important; }
    #andyPrint h1 { font-size:20pt; margin:0 0 4pt; }
    #andyPrint h2 { font-size:14pt; margin:14pt 0 6pt; border-bottom:1px solid #999; padding-bottom:2pt; page-break-after:avoid; }
    #andyPrint .pq { margin:0 0 9pt; page-break-inside:avoid; }
    #andyPrint .pq b { font-weight:700; }
    #andyPrint .pby { font-size:9pt; color:#555; }
    #andyPrint .pans { margin-top:3pt; padding-left:10pt; border-left:2px solid #999; white-space:pre-wrap; }
    #andyPrint .pblank { margin-top:3pt; height:28pt; border-bottom:1px dotted #999; }
    #andyPrint .pst { font-size:9pt; color:#333; }
  }
  .thread-empty { font-size:13px; color:var(--muted); padding:10px 14px; border:1.5px dashed var(--line); border-radius:12px; }
  .sync { font-size:12px; color:var(--muted); margin:12px 0 0; min-height:1em; }
  .appr-item { border-top:1px solid var(--line); padding:14px 0 6px; }
  .appr-item:first-of-type { border-top:0; padding-top:4px; }
  .appr-top { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; }
  .appr-item .t { font-weight:600; margin:8px 0 2px; }
  .appr-item .c { color:var(--muted); font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .appr-item .crew { font-size:13px; margin-top:8px; padding:8px 12px; background:var(--soft); border-radius:10px; white-space:pre-wrap; overflow-wrap:anywhere; }
  .appr-item .crew b { font-weight:600; }
  .counter { display:flex; flex-wrap:wrap; align-items:center; gap:6px 22px; background:var(--paper); border:1px solid var(--line); border-radius:999px; padding:9px 20px; font-size:13px; color:var(--muted); margin:0 0 16px; box-shadow:var(--shadow); }
  .counter b { font-family:Fraunces, Georgia, serif; font-weight:600; font-size:17px; color:var(--ink); margin-right:5px; }
  .counter .c-lab { font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); }
  .counter .c-meta { margin-left:auto; font-size:12px; }
  .est { display:flex; justify-content:space-between; align-items:center; gap:10px 16px; flex-wrap:wrap; margin-top:12px; padding:8px 12px; background:var(--soft); border-radius:12px; font-size:12px; color:var(--muted); }
  .est label { display:flex; align-items:center; gap:6px; font-weight:600; color:var(--char-2); }
  .est input { width:76px; font:inherit; font-weight:500; border:1px solid var(--line); border-radius:8px; padding:4px 8px; background:#fff; }
  .est input:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(196,98,45,.14); }
  @media (max-width:720px) { .counter { border-radius:16px; } .counter .c-meta { margin-left:0; } }
  .flush { margin:0; }
  .secure { display:grid; grid-template-columns:1fr; gap:4px; }
  .secure ul li { font-size:14px; }
  .cred { padding:14px 0; border-top:1px solid var(--line); }
  .cred-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
  .cred .item { font-weight:500; }
  .cred .how { font-size:13px; color:var(--muted); }
  .cred-side { flex-shrink:0; }
  .cred-actions { display:flex; gap:8px; margin-top:10px; flex-wrap:wrap; }
  .cred-actions button, .cred-form button { border-radius:999px; padding:7px 14px; font-size:13px; cursor:pointer; border:1px solid var(--line); background:#fff; color:var(--ink); }
  .cred-actions button:hover, .cred-form button:hover { background:var(--soft); }
  .cred-actions button.ghost { background:transparent; color:var(--muted); }
  .cred-form button.primary { background:var(--accent); color:#fff; border-color:var(--accent); }
  .cred-form button.primary:hover { background:#ad5424; }
  .cred-form button:disabled { opacity:.5; cursor:wait; }
  .cred.open { background:#fffaf1; border-radius:14px; padding:14px 16px; border:1px solid #ecd8bf; margin:6px 0; }
  .cred-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px 14px; }
  .cred-form label { display:block; }
  .cred-form input { width:100%; font:inherit; border:1px solid var(--line); border-radius:12px; padding:10px 12px; background:#fff; }
  .cred-form input:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 4px rgba(196,98,45,.14); }
  .cred-form textarea { min-height:70px; }
  .cred-msg { min-height:1em; }
  .acc-top { display:flex; justify-content:space-between; align-items:end; gap:12px 20px; flex-wrap:wrap; }
  .acc-top label { font-size:13px; color:var(--muted); display:flex; align-items:center; gap:8px; }
  .acc-top input { font:inherit; border:1px solid var(--line); border-radius:999px; padding:7px 14px; background:#fff; width:220px; }
  .tip { display:flex; align-items:center; justify-content:space-between; gap:8px 14px; flex-wrap:wrap; background:#fff; border:1px dashed #e2b48f; border-radius:12px; padding:10px 14px; font-size:13px; color:var(--char-2); }
  .tip b { font-weight:600; }
  .secure .tip { margin-top:14px; font-size:14px; }
  .cred-form .tip { margin:0 0 12px; }
  .cred-form .tip button { padding:6px 12px; font-size:12px; }
  .cred .url { font-size:13px; overflow-wrap:anywhere; }
  .cred .url a { color:var(--accent); text-decoration:none; }
  .cred .url a:hover { text-decoration:underline; }
  .add-card h2 { margin-bottom:4px; }
  .add-card .cred-form { margin-top:12px; }
  .req { color:var(--accent); }
  .acc-msg { font-size:13px; color:var(--ok); font-weight:500; min-height:1em; }
  @media (max-width:720px) { .cred-fields { grid-template-columns:1fr; } .cred-head { flex-direction:column; } }
  .hidden { display:none !important; }
  @media (max-width:720px) { .grid { grid-template-columns:1fr; } .stats { gap:20px; } .wrap { padding:0 18px; } }
  /* Access tips (wording frozen in /workspace/sussit-funnel/ACCESS-TIPS.md) */
  .acc-2fa { background:#eef4fb; border:1px solid #cddcee; color:#23466e; border-radius:14px; padding:12px 16px; margin:0 0 16px; font-size:14px; line-height:1.5; }
  .acc-2fa p { margin:0 0 6px; } .acc-2fa p:last-child { margin:0; }
  .acc-2fa b { font-weight:600; }
  .acc-info-btn { display:inline-flex; align-items:center; gap:6px; background:none; border:0; padding:6px 0; margin-top:4px; color:var(--accent); font:500 13px Inter, sans-serif; cursor:pointer; text-align:left; }
  .acc-info-btn .i { display:inline-grid; place-items:center; width:18px; height:18px; border-radius:50%; border:1.5px solid currentColor; font:700 11px Georgia, serif; font-style:italic; flex-shrink:0; }
  .acc-info-btn:focus-visible { outline:2px solid var(--accent); outline-offset:2px; border-radius:6px; }
  .acc-info { background:#f7f9fc; border:1px solid #d9e3ef; border-radius:12px; padding:12px 14px; margin:6px 0 4px; font-size:13.5px; line-height:1.5; color:var(--ink); }
  .acc-info[hidden] { display:none; }
  .acc-info p { margin:0 0 8px; }
  .acc-info ul { margin:0; padding-left:18px; color:var(--char-2); }
  .acc-info li { margin:0 0 4px; }
  .acc-info .h { display:block; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin:0 0 4px; }
  /* Outreach cards */
  .or-send { margin:0 0 14px; padding:12px 14px; border-radius:12px; background:#eef4fb; border:1px solid #cddcee; color:#23466e; font-size:14px; font-weight:500; }
  .or-bar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; margin-bottom:12px; }
  .or-counts { display:flex; flex-wrap:wrap; gap:8px; }
  .or-counts span { font-size:13px; padding:5px 12px; border-radius:999px; background:var(--idle-bg); color:var(--char-2); }
  .or-counts span b { font-weight:600; }
  .or-counts .c-ok { background:var(--ok-bg); color:var(--ok); }
  .or-filter { display:inline-flex; gap:4px; padding:4px; background:var(--soft); border-radius:999px; }
  .or-filter button { border:0; background:transparent; border-radius:999px; padding:8px 16px; font:500 14px Inter, sans-serif; color:var(--muted); cursor:pointer; min-height:40px; }
  .or-filter button[aria-pressed="true"] { background:var(--char); color:var(--cream); }
  .or-msg { min-height:22px; font-size:14px; margin:4px 0 10px; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
  .or-msg button { border-radius:999px; padding:6px 14px; font-size:13px; border:1px solid var(--line); background:#fff; cursor:pointer; }
  .or-date { font-family:Fraunces, Georgia, serif; font-size:19px; margin:18px 0 8px; }
  .or-date span { font-family:Inter, sans-serif; font-size:13px; color:var(--muted); font-weight:400; }
  .or-card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:14px 16px; margin-bottom:10px; box-shadow:var(--shadow); border-left:4px solid #c9bfae; }
  .or-card.d-approved { border-left-color:var(--ok); }
  .or-card.d-stale { border-left-color:var(--wait); }
  .chip.or-stale { background:var(--wait-bg); color:var(--wait); font-weight:600; }
  .or-stalenote { margin-top:10px; padding:8px 12px; border-radius:10px; background:var(--wait-bg); color:#6e4c06; font-size:13.5px; }
  .or-card.d-skipped { border-left-color:#b3a998; opacity:.85; }
  .or-card h3 { margin:0; font-size:17px; font-weight:600; font-family:Inter, sans-serif; }
  .or-head { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
  .or-meta { color:var(--muted); font-size:13px; margin-top:2px; }
  .or-kv { display:grid; grid-template-columns:92px 1fr; gap:4px 10px; font-size:14px; margin-top:10px; }
  .or-kv dt { color:var(--muted); font-size:12px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; padding-top:2px; }
  .or-kv dd { margin:0; overflow-wrap:anywhere; }
  .or-kv a { color:var(--accent); }
  .or-card details { margin-top:10px; border:1px solid var(--line); border-radius:12px; background:var(--paper); }
  .or-card summary { cursor:pointer; padding:10px 12px; font-size:14px; font-weight:500; min-height:24px; }
  .or-draft { white-space:pre-wrap; font-size:13.5px; line-height:1.5; padding:0 12px 12px; overflow-wrap:anywhere; }
  .or-draft-src { display:block; color:var(--muted); font-size:12px; padding:0 12px 10px; }
  .or-email { margin-top:12px; border:1px solid #cfe0cb; border-radius:12px; background:#fbfdf9; }
  .or-email.not-ready { border-color:#f0d9a6; background:#fffbf0; }
  .or-email-h { font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--ok); padding:10px 12px 4px; }
  .or-email.not-ready .or-email-h { color:var(--wait); }
  .or-email-meta { font-size:13.5px; padding:0 12px; overflow-wrap:anywhere; }
  .or-email-meta b { font-weight:600; }
  .or-email-body { white-space:pre-wrap; font-size:13.5px; line-height:1.5; padding:8px 12px 12px; overflow-wrap:anywhere; border-top:1px dashed var(--line); margin-top:8px; }
  .or-problems { margin:0; padding:8px 12px 10px 30px; font-size:13px; color:#7a5300; }
  .or-email .or-warn { padding:0 12px; }
  .or-email details { margin:0 12px 12px; }
  .chip.or-notready { background:var(--wait-bg); color:var(--wait); }
  .chip.or-replied { background:#e3eefb; color:#1f4f8f; }
  .tabs .count.rep { background:#1f4f8f; color:#fff; }
  .tabs .count.rep:empty, .topbar .quick .count.rep:empty { display:none; }
  .rp-wrap { margin:0 0 18px; padding:16px; border:1px solid #cddcee; border-radius:16px; background:#f5f9fe; }
  .rp-wrap h3.rp-title { font-family:Fraunces, Georgia, serif; font-size:22px; margin:0 0 4px; }
  .rp-sub { font-size:13.5px; color:var(--muted); margin:0 0 10px; }
  .rp-card { background:#fff; border:1px solid var(--line); border-left:4px solid #1f4f8f; border-radius:14px; padding:14px 16px; margin-top:10px; box-shadow:var(--shadow); }
  .rp-card.s-approved, .rp-card.s-approved-edited { border-left-color:var(--ok); }
  .rp-card.s-skipped { border-left-color:#b3a998; opacity:.85; }
  .rp-card.s-sent { border-left-color:#8fa8c8; opacity:.85; }
  .rp-card h4 { margin:0; font-size:17px; font-family:Inter, sans-serif; font-weight:600; }
  .rp-lbl { font-size:12px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); margin:12px 0 4px; }
  .rp-said { margin:0; padding:10px 12px; border-left:3px solid #8fa8c8; background:#f3f6fa; border-radius:0 10px 10px 0; font-size:14px; white-space:pre-wrap; overflow-wrap:anywhere; }
  .or-inbound { margin:6px 0 0; }
  .rp-draft { border:1px solid var(--line); border-radius:12px; background:var(--paper); padding:10px 12px; font-size:14px; }
  .rp-draft .b { white-space:pre-wrap; line-height:1.5; overflow-wrap:anywhere; margin-top:6px; }
  .rp-edit textarea { width:100%; min-height:220px; font:14px/1.5 Inter, sans-serif; padding:10px 12px; border:1px solid var(--line); border-radius:12px; box-sizing:border-box; }
  .rp-note { font-size:13px; color:var(--ok); margin-top:8px; }
  .chip.rp-pending { background:#e3eefb; color:#1f4f8f; }
  .chip.rp-approved, .chip.rp-approved-edited { background:var(--ok-bg); color:var(--ok); }
  .chip.rp-skipped { background:var(--idle-bg); color:var(--char-2); }
  .chip.rp-sent { background:#e9eef5; color:#47607f; }
  .chip.rp-final { background:var(--ok-bg); color:var(--ok); }
  .rp-wrap details.rp-done > summary { cursor:pointer; margin-top:12px; font-size:14px; font-weight:500; }
  .chip.or-charlotte { background:var(--ok-bg); color:var(--ok); }
  .or-counts .c-rep { background:#e3eefb; color:#1f4f8f; }
  .or-card.d-charlotte { border-left-color:var(--ok); }
  .or-handnote { margin-top:8px; font-size:13.5px; color:var(--ok); }
  .or-handnote.rep { color:#1f4f8f; }
  .or-counts .c-wait { background:var(--wait-bg); color:var(--wait); }
  .or-act button[aria-disabled="true"] { opacity:.45; cursor:not-allowed; }
  .or-head .chips { display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
  .or-act { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:12px; }
  .or-act input { flex:1 1 200px; min-width:0; font:14px Inter, sans-serif; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:#fff; }
  .or-act button { border-radius:999px; padding:10px 18px; font-size:14px; cursor:pointer; border:1px solid var(--line); background:#fff; color:var(--ink); min-height:44px; }
  .or-act button.ok { background:var(--ok); border-color:var(--ok); color:#fff; }
  .or-act button:disabled { opacity:.5; cursor:wait; }
  .or-act button:focus-visible, .or-filter button:focus-visible, .or-msg button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .or-done { font-size:14px; }
  .or-done .n { color:var(--muted); }
  .chip.or-approved { background:var(--ok-bg); color:var(--ok); }
  .chip.or-skipped { background:var(--idle-bg); color:var(--char-2); }
  .chip.or-review { background:var(--wait-bg); color:var(--wait); }
  .chip.or-stop { background:#fbe3e1; color:#a1261b; }
  .or-filter { flex-wrap:wrap; border-radius:18px; }
  .or-counts .c-con { background:#eef4fb; color:#23466e; }
  .or-counts .c-stop { background:#fbe3e1; color:#a1261b; }
  .or-crewline { font-size:13px; color:var(--muted); margin:-6px 0 14px; }
  .or-contact { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-top:10px; font-size:13.5px; }
  .or-ch { font-size:12px; font-weight:600; padding:3px 10px; border-radius:999px; background:#eef4fb; color:#23466e; }
  .or-ch.ch-facebook { background:#e7ecf8; color:#2d4a8a; }
  .or-ch.ch-webform { background:#f3eadf; color:#7a4a1c; }
  .or-ch.ch-none { background:var(--idle-bg); color:var(--muted); font-weight:500; }
  .or-stopbar { margin-top:10px; padding:10px 12px; border-radius:12px; background:#fbe3e1; border:1px solid #f1c3be; color:#a1261b; font-weight:600; font-size:14px; }
  .or-card.d-stop { border-left-color:#c0392b; }
  .or-hist { margin:0; padding:0 12px 12px 30px; font-size:13px; }
  /* Activity tab */
  .sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  .ad-wrap { margin:0 0 18px; padding:16px; border:1px solid #d9d2c3; border-radius:16px; background:#fbf8f2; }
  .ad-wrap h3 { font-family:Fraunces, Georgia, serif; font-size:22px; margin:0 0 2px; }
  .ad-sub { font-size:13.5px; color:var(--muted); margin:0 0 12px; }
  .ad-empty { padding:18px 16px; border:1px dashed #cfc6b5; border-radius:12px; background:#fff; font-size:16px; font-weight:500; color:var(--char-2); text-align:center; }
  .ad-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; }
  .ad-box { background:#fff; border:1px solid var(--line); border-radius:12px; padding:12px 14px; }
  .ad-box .k { font-size:12px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); }
  .ad-box .big { font-family:Fraunces, Georgia, serif; font-size:26px; line-height:1.2; margin-top:4px; }
  .ad-box .big small { font-family:Inter, sans-serif; font-size:14px; color:var(--muted); font-weight:400; }
  .ad-box .row { font-size:14px; margin-top:4px; }
  .ad-terms { margin:6px 0 0; padding-left:20px; font-size:13.5px; }
  .ad-terms li { padding-left:2px; margin:3px 0; }
  .ad-terms li::before { content:none; display:none; }
  .ad-barbox { height:10px; border-radius:999px; background:var(--soft); overflow:hidden; margin-top:8px; }
  .ad-barbox i { display:block; height:100%; background:var(--ok); border-radius:999px; }
  .ad-barbox i.over { background:#b8452a; }
  .ad-enq { margin-top:10px; }
  .ad-enq table { width:100%; border-collapse:collapse; font-size:14px; }
  .ad-enq th, .ad-enq td { text-align:left; padding:5px 6px; border-bottom:1px solid var(--line); }
  .ad-enq th { font-size:12px; color:var(--muted); font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
  .ad-enq td.n, .ad-enq th.n { text-align:right; width:92px; white-space:nowrap; }
  .ad-cpe { display:flex; flex-wrap:wrap; gap:6px 14px; align-items:baseline; margin-top:10px; font-size:14px; }
  .ad-cpe b { font-family:Fraunces, Georgia, serif; font-size:22px; font-weight:600; }
  .ad-cpe .small { font-size:12.5px; color:var(--muted); flex-basis:100%; }
  .ac-bar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; margin-bottom:6px; }
  .ac-filters { display:flex; flex-wrap:wrap; gap:8px; }
  .ac-filters select { font:500 14px Inter, sans-serif; padding:8px 12px; border-radius:999px; border:1px solid var(--line); background:#fff; min-height:40px; }
  .ac-item { display:grid; grid-template-columns:64px 1fr auto; gap:4px 12px; background:#fff; border:1px solid var(--line); border-radius:14px; padding:12px 14px; margin-bottom:8px; box-shadow:var(--shadow); }
  .ac-time { font-size:14px; font-weight:600; color:var(--char-2); padding-top:2px; white-space:nowrap; }
  .ac-main { min-width:0; }
  .ac-title { font-size:15px; font-weight:500; overflow-wrap:anywhere; }
  .ac-meta { font-size:13px; color:var(--muted); margin-top:3px; display:flex; flex-wrap:wrap; gap:4px 10px; align-items:center; }
  .ac-meta a { color:var(--accent); overflow-wrap:anywhere; }
  .ac-note { font-size:13.5px; color:var(--char-2); margin-top:4px; overflow-wrap:anywhere; }
  .ac-type { font-size:12px; font-weight:600; padding:2px 9px; border-radius:999px; background:var(--idle-bg); color:var(--char-2); }
  .ac-type.t-post, .ac-type.t-comment, .ac-type.t-reply, .ac-type.t-like, .ac-type.t-message { background:#e3eefb; color:#1f4f8f; }
  .ac-type.t-email, .ac-type.t-webform { background:var(--ok-bg); color:var(--ok); }
  .ac-type.t-stop { background:#fbe3dc; color:#9b2f17; }
  .ac-type.t-handover { background:#e6f2e2; color:#2f6a3a; }
  .ac-type.t-ads, .ac-type.t-enquiry { background:var(--wait-bg); color:var(--wait); }
  .ac-thumb { display:block; border:1px solid var(--line); border-radius:10px; overflow:hidden; width:120px; height:90px; padding:0; background:var(--soft); cursor:zoom-in; }
  .ac-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
  .av-tiles { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; margin:0 0 8px; }
  @media (min-width:760px) { .av-tiles { grid-template-columns:repeat(4, minmax(0,1fr)); } }
  .av-tile { font:inherit; text-align:left; color:var(--char); background:#fff; border:1px solid var(--line); border-radius:14px; padding:12px 14px; min-height:92px; cursor:pointer; display:flex; flex-direction:column; gap:2px; box-shadow:var(--shadow); transition:border-color .15s, background .15s; }
  .av-tile:hover { border-color:#d9c7b0; }
  .av-tile[aria-selected="true"] { border-color:var(--accent); background:#fdf4ec; box-shadow:inset 0 0 0 1px var(--accent); }
  .av-tile:focus-visible { outline:3px solid var(--accent-2); outline-offset:2px; }
  .av-name { font-size:12.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
  .av-tile[aria-selected="true"] .av-name { color:var(--accent); }
  .av-num { font-size:14px; color:var(--char-2); }
  .av-num b { font-family:Fraunces, Georgia, serif; font-size:28px; font-weight:600; color:var(--char); padding-right:5px; line-height:1.15; }
  .av-week { font-size:13px; color:var(--muted); }
  .av-weeknote { font-size:12.5px; color:var(--muted); margin:0 0 14px; }
  .av-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin:18px 0 8px; }
  .av-head h3 { font-family:Fraunces, Georgia, serif; font-size:20px; font-weight:600; margin:0; }
  .av-head span { font-size:13px; color:var(--muted); }
  .av-intro { font-size:13.5px; color:var(--muted); margin:-2px 0 10px; }
  .av-item { display:grid; grid-template-columns:84px minmax(0,1fr); gap:4px 12px; background:#fff; border:1px solid var(--line); border-radius:14px; padding:12px; margin-bottom:8px; box-shadow:var(--shadow); }
  .av-item.no-thumb { grid-template-columns:minmax(0,1fr); }
  @media (min-width:760px) { .av-item { grid-template-columns:120px minmax(0,1fr); padding:12px 14px; } }
  .av-item .ac-thumb { width:84px; height:63px; }
  @media (min-width:760px) { .av-item .ac-thumb, .av-ph { width:120px; height:90px; } }
  .av-ph { width:84px; height:63px; border-radius:10px; border:1px dashed #d8cfbf; background:var(--soft); display:flex; align-items:center; justify-content:center; text-align:center; font-size:11.5px; color:var(--muted); padding:4px; line-height:1.25; }
  @media (min-width:760px) { .av-ph { width:120px; height:90px; } }
  .av-main { min-width:0; }
  .av-title { font-size:15px; font-weight:500; overflow-wrap:anywhere; }
  .av-meta { font-size:13px; color:var(--muted); margin-top:3px; display:flex; flex-wrap:wrap; gap:4px 10px; align-items:center; }
  .av-link { display:inline-block; font-size:14px; font-weight:500; color:var(--accent); margin-top:6px; overflow-wrap:anywhere; }
  .av-note { font-size:13.5px; color:var(--char-2); margin-top:4px; overflow-wrap:anywhere; }
  .av-empty { padding:16px; border:1px dashed #d8cfbf; border-radius:12px; background:#fff; font-size:14px; color:var(--muted); }
  .av-mail { background:#fff; border:1px solid var(--line); border-radius:14px; margin-bottom:8px; box-shadow:var(--shadow); }
  .av-mail > summary { list-style:none; cursor:pointer; padding:12px 14px; display:block; }
  .av-mail > summary::-webkit-details-marker { display:none; }
  .av-mail > summary:focus-visible { outline:3px solid var(--accent-2); outline-offset:2px; border-radius:14px; }
  .av-mail .av-biz { font-size:15px; font-weight:600; overflow-wrap:anywhere; }
  .av-mail .av-subj { font-size:14.5px; color:var(--char-2); overflow-wrap:anywhere; }
  .av-open { font-size:13px; color:var(--accent); font-weight:500; }
  .av-mail[open] .av-open .closed, .av-mail:not([open]) .av-open .opened { display:none; }
  .av-sent { border-top:1px solid var(--line); padding:12px 14px 14px; font-size:14px; }
  .av-sent dl { display:grid; grid-template-columns:auto 1fr; gap:2px 10px; margin:0 0 10px; }
  .av-sent dt { color:var(--muted); }
  .av-sent dd { margin:0; overflow-wrap:anywhere; }
  .av-sent pre { white-space:pre-wrap; overflow-wrap:anywhere; font:14px/1.55 Inter, system-ui, sans-serif; background:#fbf8f2; border:1px solid var(--line); border-radius:10px; padding:12px; margin:0; }
  .av-row { display:grid; grid-template-columns:84px minmax(0,1fr); gap:4px 12px; padding:12px 14px; }
  @media (min-width:760px) { .av-row { grid-template-columns:120px minmax(0,1fr); } }
  .av-enq { background:#fff; border:1px solid var(--line); border-radius:14px; padding:4px 14px; box-shadow:var(--shadow); }
  .av-enq > div { padding:10px 0; border-bottom:1px solid var(--line); }
  .av-enq > div:last-child { border-bottom:0; }
  .ac-type.t-outreach, .ac-type.t-replysent { background:var(--ok-bg); color:var(--ok); }
  .ac-type.t-inbound { background:#e3eefb; color:#1f4f8f; }
  .ac-type.t-bounced { background:#fbe3dc; color:#9b2f17; }
  .ac-type.t-autoreply { background:var(--idle-bg); color:var(--char-2); }
  .chip.or-bounced { background:#fbe3dc; color:#9b2f17; }
  .or-ch.ch-bounced { background:#fbe3dc; color:#9b2f17; }
  .av-full { grid-column:1 / -1; padding-top:6px; }
  .av-full .av-mail { box-shadow:none; }
  .rs-wrap { border:1px dashed #cfc6b5; border-radius:14px; background:#fbf8f2; padding:0; }
  .rs-wrap > summary { list-style:none; cursor:pointer; padding:12px 14px; display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center; font-weight:600; }
  .rs-wrap > summary::-webkit-details-marker { display:none; }
  .rs-wrap > summary:focus-visible { outline:3px solid var(--accent-2); outline-offset:2px; border-radius:14px; }
  .rs-label { font-size:12px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; padding:3px 10px; border-radius:999px; background:var(--idle-bg); color:var(--char-2); }
  .rs-why { font-size:13px; color:var(--muted); font-weight:400; flex-basis:100%; }
  .rs-list { padding:0 14px 8px; }
  .rs-row { padding:10px 0; border-top:1px solid var(--line); }
  .rs-row .b { font-weight:600; overflow-wrap:anywhere; }
  .rs-row .m { font-size:13px; color:var(--muted); display:flex; flex-wrap:wrap; gap:4px 10px; }
  .rs-row a { color:var(--accent); overflow-wrap:anywhere; }
  .bk-bar { background:#fff; border:1px solid var(--line); border-radius:14px; padding:12px 14px; margin:0 0 12px; box-shadow:var(--shadow); }
  .bk-bar .bk-t { font-size:12.5px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); margin:0 0 8px; }
  .bk-groups { display:flex; flex-wrap:wrap; gap:8px; }
  .bk-groups button { font:500 14px Inter, sans-serif; border:1px solid var(--line); background:#fbf8f2; color:var(--char-2); border-radius:999px; padding:8px 14px; min-height:40px; cursor:pointer; }
  .bk-groups button[aria-pressed="true"] { background:var(--ok-bg); border-color:var(--ok); color:var(--ok); }
  .bk-groups button:disabled { opacity:.5; cursor:not-allowed; }
  .bk-note { font-size:12.5px; color:var(--muted); margin:8px 0 0; }
  .or-pick { display:flex; align-items:center; gap:8px; font-size:14px; font-weight:500; padding:8px 10px; margin:-4px 0 8px; border-radius:10px; background:#fbf8f2; border:1px solid var(--line); cursor:pointer; min-height:44px; }
  .or-pick input { width:22px; height:22px; accent-color:var(--ok); cursor:pointer; flex-shrink:0; }
  .or-pick.off { cursor:not-allowed; color:var(--muted); background:transparent; border-style:dashed; }
  .or-pick.off input { cursor:not-allowed; }
  .or-pick .why { font-size:12.5px; font-weight:400; }
  .or-pick.on { background:var(--ok-bg); border-color:var(--ok); }
  .chip.or-hold { background:#efe3f6; color:#5d2f7a; }
  .or-holdnote { font-size:13.5px; color:#5d2f7a; background:#f6eefa; border-radius:10px; padding:8px 12px; margin:0 0 10px; }
  .bk-sticky { position:sticky; bottom:10px; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:10px; background:var(--char); color:#fff; border-radius:16px; padding:10px 12px 10px 16px; margin:10px 0; box-shadow:0 12px 30px -10px rgba(0,0,0,.45); }
  .bk-sticky b { font-family:Fraunces, Georgia, serif; font-size:20px; }
  .bk-sticky .bk-go { font:600 15px Inter, sans-serif; background:var(--ok); color:#fff; border:0; border-radius:999px; padding:11px 18px; cursor:pointer; min-height:44px; }
  .bk-sticky .bk-clear { font:500 14px Inter, sans-serif; background:transparent; color:#fff; border:1px solid rgba(255,255,255,.35); border-radius:999px; padding:9px 14px; cursor:pointer; min-height:44px; }
  .bk-back { position:fixed; inset:0; background:rgba(29,27,25,.55); z-index:70; display:flex; align-items:flex-end; justify-content:center; padding:0; }
  @media (min-width:700px) { .bk-back { align-items:center; padding:24px; } }
  .bk-dlg { background:var(--paper); width:100%; max-width:620px; max-height:92vh; overflow:auto; border-radius:20px 20px 0 0; padding:20px 18px 18px; box-shadow:0 30px 80px -20px rgba(0,0,0,.45); }
  @media (min-width:700px) { .bk-dlg { border-radius:20px; padding:24px 26px; } }
  .bk-dlg h3 { font-family:Fraunces, Georgia, serif; font-size:24px; margin:0 0 6px; }
  .bk-dlg h4 { font-size:13px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); margin:16px 0 6px; }
  .bk-dlg ol, .bk-dlg ul { margin:0; padding-left:22px; font-size:14.5px; }
  .bk-dlg li { padding-left:2px; margin:3px 0; }
  .bk-dlg li::before { content:none; display:none; }
  .bk-dlg ul.bk-out li .r { color:var(--muted); font-size:13.5px; }
  .bk-queue { background:var(--wait-bg); color:#6b4b07; border-radius:12px; padding:10px 12px; font-size:14px; margin:14px 0 0; }
  .bk-btns { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; position:sticky; bottom:-18px; background:var(--paper); padding:10px 0 4px; }
  .bk-btns button { font:600 15px Inter, sans-serif; border-radius:999px; padding:12px 18px; min-height:46px; cursor:pointer; border:1px solid var(--line); background:#fff; }
  .bk-btns .bk-yes { background:var(--ok); color:#fff; border-color:var(--ok); }
  .ac-light { position:fixed; inset:0; background:rgba(20,18,16,.88); z-index:60; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; overflow:auto; padding:14px; }
  .ac-light img { max-width:min(1280px, 100%); height:auto; border-radius:8px; background:#fff; }
  .ac-light .ac-lbar { display:flex; gap:10px; justify-content:flex-end; width:min(1280px, 100%); margin-bottom:8px; }
  .ac-light .ac-lbar a, .ac-light .ac-lbar button { color:#fff; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.3); border-radius:999px; padding:8px 14px; font:500 14px Inter, sans-serif; cursor:pointer; text-decoration:none; }
  @media (max-width:900px) { .ad-grid { grid-template-columns:1fr; } }
  @media (max-width:520px) { .ac-item { grid-template-columns:58px 1fr; gap:4px 8px; padding:11px 12px; } .ac-time { font-size:13px; } .ac-item .ac-thumb { grid-column:2; width:100%; height:auto; aspect-ratio:4/3; max-width:260px; } .ad-wrap { padding:12px; } .ac-filters select { flex:1 1 40%; } }
  @media (max-width:520px) { .or-head { flex-direction:column; gap:6px; } .or-head .chips { flex-direction:row; flex-wrap:wrap; align-items:flex-start; } .or-filter button { padding:8px 12px; } .or-card { padding:12px 12px; } .or-kv { grid-template-columns:1fr; gap:0; } .or-kv dt { padding-top:8px; } .or-act button { flex:1 1 40%; } }

  /* ---- Client hub template: brand and layout additions (defaults are SUSS IT; the page sets colours from client.config.js) ---- */
  :root {
    --char:#0b1220; --char-2:#142033; --cream:#f4f6fa; --paper:#ffffff; --ink:#0b1220;
    --muted:#5b6678; --line:#e1e6ee; --soft:#edf1f6; --accent:#c2410c; --accent-2:#f59e0b;
    --ok:#0f766e; --ok-bg:#dcf2ef; --wait:#a16207; --wait-bg:#fdf3d7; --idle-bg:#e8edf3;
  }
  .topbar { background:rgba(11,18,32,.95); }
  .topbar .brand .mark { background:linear-gradient(135deg, #f59e0b, #d97706); color:#0b1220; font-family:Georgia, serif; font-weight:800; }
  .hero { background:radial-gradient(900px 420px at 100% -10%, rgba(245,158,11,.28), transparent 55%), radial-gradient(700px 360px at -10% 40%, rgba(13,148,136,.22), transparent 50%), var(--char); }
  .so-off { display:flex; gap:12px; align-items:flex-start; margin:0 0 16px; padding:14px 16px; border-radius:14px; background:#fff7e6; border:1px solid #f3d38a; color:#5c3d00; font-size:14.5px; }
  .so-off b { display:block; font-size:15.5px; color:#3d2900; margin-bottom:2px; }
  .so-off .dot { flex-shrink:0; width:12px; height:12px; border-radius:50%; background:#d97706; margin-top:5px; box-shadow:0 0 0 4px rgba(217,119,6,.18); }
  .hero .so-off { background:rgba(245,158,11,.12); border-color:rgba(245,158,11,.4); color:#f3e3c3; margin:18px 0 0; max-width:720px; }
  .hero .so-off b { color:#fff; }
  .stats.kpis.six { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; max-width:760px; }
  @media (max-width:640px) { .stats.kpis.six { grid-template-columns:repeat(2, minmax(0,1fr)); } }
  .kpi { cursor:pointer; font:inherit; color:inherit; }
  .tabsbar { display:flex; gap:6px; flex-wrap:wrap; margin:0 0 18px; padding:4px; background:var(--soft); border-radius:18px; width:fit-content; max-width:100%; }
  .tabsbar button { border:0; background:transparent; border-radius:999px; padding:10px 16px; font:500 14px Inter, sans-serif; color:var(--muted); cursor:pointer; min-height:42px; display:inline-flex; gap:6px; align-items:center; }
  .tabsbar button.on { background:var(--char); color:#fff; }
  .tabsbar .count { font-size:11px; background:rgba(0,0,0,.08); padding:1px 7px; border-radius:999px; }
  .tabsbar button.on .count { background:rgba(255,255,255,.2); }
  .tabsbar .count:empty { display:none; }
  .bl-tools { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:0 0 12px; }
  .bl-tools input[type=search] { flex:1 1 240px; min-width:0; font:14px Inter, sans-serif; padding:11px 14px; border:1px solid var(--line); border-radius:12px; background:#fff; }
  .bl-tools select { font:14px Inter, sans-serif; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:#fff; min-height:42px; }
  .bl-list { display:flex; flex-direction:column; gap:8px; }
  .bl-row { background:#fff; border:1px solid var(--line); border-radius:14px; padding:12px 14px; box-shadow:var(--shadow); display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; }
  .bl-row .b { font-weight:600; font-size:15px; overflow-wrap:anywhere; }
  .bl-row .m { font-size:13px; color:var(--muted); display:flex; flex-wrap:wrap; gap:4px 12px; }
  .bl-row .m a { color:var(--accent); }
  .bl-row .p { grid-column:1 / -1; font-size:13.5px; color:var(--char-2); overflow-wrap:anywhere; }
  .bl-row .chips { display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
  .chip.st-waiting, .chip.st-researching { background:var(--idle-bg); color:var(--char-2); }
  .chip.st-review, .chip.st-reapprove, .chip.st-notready { background:var(--wait-bg); color:var(--wait); }
  .chip.st-approved, .chip.st-interested { background:var(--ok-bg); color:var(--ok); }
  .chip.st-skipped { background:var(--idle-bg); color:var(--muted); }
  .chip.st-sent, .chip.st-replied { background:#e3eefb; color:#1f4f8f; }
  .chip.st-stop, .chip.st-bounced { background:#fbe3e1; color:#a1261b; }
  .chip.st-hold { background:#f3e8ff; color:#6b21a8; }
  .chip.or-hold { background:#f3e8ff; color:#6b21a8; }
  .or-holdnote { margin-top:10px; padding:8px 12px; border-radius:10px; background:#f3e8ff; color:#4c1d95; font-size:13.5px; }
  .sd-meter { background:#fff; border:1px solid var(--line); border-radius:14px; padding:14px 16px; margin:0 0 14px; box-shadow:var(--shadow); }
  .sd-meter .big { font-family:Fraunces, Georgia, serif; font-size:30px; font-weight:600; }
  .sd-meter .bar { height:8px; border-radius:99px; background:var(--soft); overflow:hidden; margin:8px 0 6px; }
  .sd-meter .bar i { display:block; height:100%; background:var(--ok); }
  .rs-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; margin:0 0 16px; }
  @media (min-width:760px) { .rs-grid { grid-template-columns:repeat(6, minmax(0,1fr)); } }
  .rs-grid div { background:#fff; border:1px solid var(--line); border-radius:14px; padding:12px; }
  .rs-grid b { display:block; font-family:Fraunces, Georgia, serif; font-size:26px; font-weight:600; }
  .rs-grid span { font-size:12.5px; color:var(--muted); }
  .bl-more { margin-top:12px; }
  .bl-more button { border-radius:999px; padding:10px 18px; font-size:14px; border:1px solid var(--line); background:#fff; cursor:pointer; }
  .signout { font:500 13px Inter, sans-serif; border:1px solid rgba(255,255,255,.16); background:transparent; color:#cbd5e1; border-radius:999px; padding:8px 12px; cursor:pointer; }
  .foot { color:var(--muted); font-size:12.5px; margin-top:28px; }
  .pl-src { display:inline-block; margin:0 0 12px; padding:5px 12px; border-radius:999px; background:#e3eefb; color:#1f4f8f; font-size:13px; font-weight:500; }
  /* Client hub template: module states */
  .hero { background:radial-gradient(900px 420px at 100% -10%, color-mix(in srgb, var(--accent-2) 28%, transparent), transparent 55%), radial-gradient(700px 360px at -10% 40%, color-mix(in srgb, var(--ok) 22%, transparent), transparent 50%), var(--char); }
  .topbar { background:color-mix(in srgb, var(--char) 95%, transparent); }
  .topbar .brand .mark { background:linear-gradient(135deg, var(--accent-2), var(--accent)); color:#fff; }
  .drawer .nc { font-size:11px; color:var(--muted); font-weight:500; margin-left:4px; }
  .drawer-signout { margin:16px 8px 0; font:500 14px Inter, sans-serif; border:1px solid var(--line); background:#fff; color:var(--char-2); border-radius:999px; padding:10px 16px; cursor:pointer; width:fit-content; }
  .nc-panel { display:flex; gap:16px; align-items:flex-start; background:#fff; border:1.5px dashed #c9d2df; border-radius:18px; padding:20px; box-shadow:var(--shadow); }
  .nc-panel .ch-ico { background:var(--soft); color:var(--accent); width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; }
  .nc-panel .ch-ico svg { width:22px; height:22px; }
  .nc-body { flex:1; min-width:0; }
  .nc-body h3 { font-family:Fraunces, Georgia, serif; font-size:22px; margin:8px 0 6px; }
  .nc-body p { margin:0 0 10px; color:var(--char-2); font-size:14.5px; }
  .nc-needs { font-size:14px !important; }
  .pill-nc { display:inline-flex; align-items:center; gap:6px; font:600 11px Inter, sans-serif; letter-spacing:.06em; text-transform:uppercase; padding:4px 10px; border-radius:999px; background:var(--wait-bg); color:var(--wait); }
  .nc-form label { display:block; font-size:13px; font-weight:600; margin:12px 0 6px; }
  .nc-form textarea { width:100%; min-height:72px; font:14px/1.5 Inter, sans-serif; padding:10px 12px; border:1px solid var(--line); border-radius:12px; box-sizing:border-box; }
  .nc-cta { margin-top:10px; min-height:46px; border:0; border-radius:999px; background:var(--accent); color:#fff; font:600 15px Inter, sans-serif; padding:0 22px; cursor:pointer; }
  .nc-cta:disabled { opacity:.6; cursor:wait; }
  .nc-small { font-size:12.5px !important; color:var(--muted) !important; margin-top:8px !important; }
  .nc-done { margin:6px 0 4px; padding:10px 12px; border-radius:12px; background:var(--ok-bg); color:var(--ok); font-size:14px; }
  .nc-chans { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
  @media (max-width:520px) { .nc-panel { flex-direction:column; padding:16px; } }
  .section-head .num { font:600 11px Inter, sans-serif; letter-spacing:.14em; color:var(--accent); }
  /* Offer lane preview (read-only) */
  .of-prev { grid-column:1 / -1; margin-top:8px; border:1px solid var(--line); border-radius:12px; background:var(--soft, #f6f7fa); }
  .of-prev > summary { cursor:pointer; list-style:none; padding:10px 12px; font-weight:600; font-size:13.5px; color:var(--ok); display:flex; align-items:center; gap:8px; }
  .of-prev > summary::-webkit-details-marker { display:none; }
  .of-prev > summary::before { content:"\25B8"; font-size:12px; color:var(--muted); transition:transform .15s; }
  .of-prev[open] > summary::before { transform:rotate(90deg); }
  .of-mail { padding:0 12px 12px; }
  .of-h { font-size:13px; color:var(--char-2); margin:2px 0; overflow-wrap:anywhere; }
  .of-h span { display:inline-block; min-width:74px; margin-right:6px; color:var(--muted); font-weight:600; font-size:12px; text-transform:uppercase; letter-spacing:.05em; }
  .of-body { white-space:pre-wrap; font:14px/1.55 Inter, sans-serif; color:var(--char); background:#fff; border:1px solid var(--line); border-radius:10px; padding:12px 14px; margin-top:8px; overflow-wrap:anywhere; }
  .of-note { font-size:12.5px; color:var(--muted); margin:8px 0 0; }
  .of-miss { grid-column:1 / -1; margin-top:8px; font-size:13px; padding:8px 12px; border-radius:10px; background:var(--wait-bg); color:var(--wait); }

  /* Green Go live button (config goLive) */
  .golive { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; margin:18px 0 0; max-width:720px; padding:14px 16px; border-radius:14px; background:rgba(22,163,74,.14); border:1px solid rgba(34,197,94,.45); color:#dcfce7; }
  .golive.hidden, .golive-btn.hidden { display:none; }
  .golive-txt { display:flex; flex-direction:column; gap:2px; font-size:14px; min-width:0; }
  .golive-txt b { font-size:15.5px; color:#fff; }
  .golive-act { display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
  .golive-btn { display:inline-block; background:#16a34a; color:#fff; font:700 15px Inter, sans-serif; padding:11px 20px; border-radius:999px; text-decoration:none; box-shadow:0 2px 8px rgba(0,0,0,.25); white-space:nowrap; }
  .golive-btn:hover { background:#15803d; }
  .golive-small { font-size:12px; color:#bbf7d0; }
  .golive[data-state="setting_up"] { background:rgba(245,158,11,.12); border-color:rgba(245,158,11,.4); color:#f3e3c3; }
  @media (max-width:560px) { .golive-act { align-items:stretch; width:100%; } .golive-btn { text-align:center; } .golive-small { text-align:center; } }

/* Social media module: connected accounts and a link to each post */
  .or-ch.ch-ok { background:var(--ok-bg); color:var(--ok); }
  #gList .nc-chans { margin:0 0 12px; }
  .soc-open { font-size:12px; font-weight:600; margin-left:6px; white-space:nowrap; }
  .of-prev.of-sent > summary { color:var(--muted); font-weight:500; }
  .of-prev.of-nosend > summary { color:var(--muted); }
