/* Campaign Blasts (Kate, 30 Oct 2026). One page per WhatsApp blast: the phone as the client sees it, the day and time it goes out,
   and Coach Emma's review. Uses hub.css tokens, so it reads as the rest of Team Home. */
.cbl{--cb-good:#0F6E56;--cb-good-bg:#E1F5EE;--cb-warn:#8A5A0C;--cb-warn-bg:#FAEEDA;--cb-amber:#E0A43A;--cb-green:#2F9E7B}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cbl{--cb-good:#99F6E4;--cb-good-bg:rgba(153,246,228,.12);--cb-warn:#EEF3C7;--cb-warn-bg:rgba(238,243,199,.12)}}
[data-theme="dark"] .cbl{--cb-good:#99F6E4;--cb-good-bg:rgba(153,246,228,.12);--cb-warn:#EEF3C7;--cb-warn-bg:rgba(238,243,199,.12)}
.cbl *{box-sizing:border-box}
.cbl h2,.cbl h3{font-family:'Playfair Display',serif;font-weight:500;margin:0;line-height:1.15;text-wrap:balance}
.cbl h2{font-size:clamp(22px,3.6vw,28px)}
.cbl h3{font-size:19px;font-weight:600}
.cbl button,.cbl input,.cbl select,.cbl textarea{font:inherit;color:inherit}
.cbl-shell{display:grid;grid-template-columns:272px minmax(0,1fr);gap:36px;align-items:start;padding-top:8px}
.cbl-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}

/* sidebar */
.cbl-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:18px;max-height:calc(100vh - 112px);overflow-y:auto;padding:2px 2px 8px;scrollbar-width:thin}
.cbl-side h3{font-family:'Inter',sans-serif;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted2);margin:0 0 10px}
.cbl-cal{padding:14px}
.cbl-cal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.cbl-cal-h b{font-family:'Playfair Display',serif;font-size:18px;font-weight:600}
.cbl-cal-h button{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:transparent;cursor:pointer;line-height:1}
.cbl-cal-h button:hover{background:var(--surface2)}
.cbl-cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.cbl-cal-g .dn{font-size:12px;color:var(--muted2);padding:2px 0}
.cbl-cal-g .dn.m{color:var(--text);font-weight:700}
.cbl-d{position:relative;aspect-ratio:1;border:0;border-radius:8px;background:transparent;font-size:13px;cursor:default;display:grid;place-items:center;padding:0;color:var(--text)}
.cbl-d:disabled{color:var(--muted2)}
.cbl-d.has{cursor:pointer;font-weight:700;background:var(--surface2)}
.cbl-d.has:hover{outline:1px solid var(--text)}
.cbl-d.today{box-shadow:inset 0 0 0 1.5px var(--muted2)}
.cbl-d.sel{background:var(--accent);color:var(--accent-fg)}
.cbl-d i{position:absolute;bottom:3px;left:50%;transform:translateX(-50%);display:flex;gap:2px}
.cbl-d i b{width:5px;height:5px;border-radius:50%;background:currentColor;display:block}
.cbl-d i b.plan{background:transparent;border:1.2px solid currentColor}
.cbl-leg{display:flex;gap:14px;font-size:12px;color:var(--muted);margin-top:8px}
.cbl-leg span{display:flex;align-items:center;gap:6px}
.cbl-leg b{width:7px;height:7px;border-radius:50%;background:var(--text);display:inline-block}
.cbl-leg b.plan{background:transparent;border:1.4px solid var(--text)}
.cbl-tabs{padding:14px;display:flex;flex-direction:column;gap:4px}
.cbl-hint{font-size:12px;color:var(--muted2);margin:0 0 4px}
.cbl-tab{display:flex;align-items:center;gap:4px;border-radius:10px;border:1px solid transparent;background:transparent;position:relative}
.cbl-tab:hover{background:var(--surface2)}
.cbl-tab.on{background:var(--accent);color:var(--accent-fg)}
.cbl-tab.drag{box-shadow:var(--shadow);border-color:var(--border);background:var(--surface);color:var(--text);z-index:2}
.cbl-tab a{flex:1;min-width:0;display:flex;flex-direction:column;padding:8px 6px 8px 0;text-decoration:none;color:inherit;font-size:14.5px;line-height:1.3}
.cbl-tab a small{font-size:12px;opacity:.7}
.cbl-grip{flex:none;width:30px;height:38px;border:0;background:transparent;cursor:grab;touch-action:none;display:grid;place-items:center;color:inherit;opacity:.5}
.cbl-grip:hover,.cbl-grip:focus-visible{opacity:1}
.cbl-grip::before{content:"";width:10px;height:14px;background:radial-gradient(circle,currentColor 1.4px,transparent 1.6px) 0 0/5px 5px}
.cbl-dot{flex:none;width:9px;height:9px;border-radius:50%;margin-right:8px;background:var(--border);box-shadow:inset 0 0 0 1px var(--muted2)}
.cbl-dot.changes{background:var(--cb-amber);box-shadow:none}.cbl-dot.ok{background:var(--cb-green);box-shadow:none}
.cbl-cc{flex:none;font-size:11.5px;font-weight:700;border-radius:999px;padding:0 7px;margin-right:6px;background:var(--surface2);color:var(--text)}
.cbl-tab.on .cbl-cc{background:rgba(255,255,255,.2);color:inherit}
.cbl-side-toggle{display:none}

/* main */
.cbl-main{min-width:0;display:flex;flex-direction:column;gap:22px}
.cbl-eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted2);margin-bottom:6px}
.cbl-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px 16px}
.cbl-chip{display:inline-block;font-size:12.5px;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:3px 11px}
.cbl-chip.ok{background:var(--cb-good-bg);color:var(--cb-good);border-color:transparent;font-weight:600}
.cbl-chip.changes{background:var(--cb-warn-bg);color:var(--cb-warn);border-color:transparent;font-weight:600}
.cbl-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.cbl-fact{padding:12px 16px;font-size:15px;display:grid;gap:2px;align-content:start}
.cbl-fact small{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted2)}
.cbl-pg{font-weight:600;color:var(--text);text-decoration:underline;text-underline-offset:3px;min-height:24px}
.cbl-fact b{font-family:'Playfair Display',serif;font-size:26px;font-weight:500;line-height:1.1}

/* the top of a blast: the numbers and the date on the left, the landing page as a side panel (mockup A, Kate, 30 Oct 2026) */
.cbl-top{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:12px;align-items:stretch}
.cbl-top.noside{grid-template-columns:minmax(0,1fr)}
.cbl-nums{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.cbl-nums>div{padding:14px 18px;font-size:15px;display:grid;gap:2px;align-content:start}
.cbl-nums>div:nth-child(odd){border-right:1px solid var(--border)}
.cbl-nums>div:nth-child(n+3){border-top:1px solid var(--border)}
.cbl-nums>div:nth-child(3){grid-column:1/-1;border-right:0}
.cbl-nums small{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted2)}
.cbl-nums b{font-family:'Playfair Display',serif;font-size:26px;font-weight:500;line-height:1.1}
.cbl-nums .dn{border-bottom:1px dotted currentColor;cursor:pointer}
.cbl-top>.cbl-pgc{width:auto}
@media (max-width:820px){
  .cbl-top{grid-template-columns:minmax(0,1fr)}
  .cbl-nums{grid-template-columns:minmax(0,1fr)}
  .cbl-nums>div:nth-child(odd){border-right:0}
  .cbl-nums>div+div{border-top:1px solid var(--border)}
}
.cbl-row2{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}
.cbl-row2>.cbl-fact{flex:0 0 230px}
.cbl-row2>.cbl-when{flex:1 1 380px}
.cbl-when{padding:16px 18px;display:flex;flex-wrap:wrap;align-items:flex-end;align-content:flex-start;gap:12px 18px}
.cbl-when h3{flex-basis:100%}
.cbl-fld{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted2)}
.cbl-fld input,.cbl-fld select{font-size:15px;padding:9px 12px;min-height:44px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text)}
.cbl-sw{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14.5px;font-weight:600;cursor:pointer;position:relative}
.cbl-sw input{position:absolute;opacity:0;width:1px;height:1px}
.cbl-sw span.t{width:46px;height:26px;border-radius:999px;background:var(--border);position:relative;transition:background .2s;flex:none}
.cbl-sw span.t::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.3);transition:transform .2s}
.cbl-sw input:checked + span.t{background:var(--cb-green)}.cbl-sw input:checked + span.t::after{transform:translateX(20px)}
.cbl-sw input:focus-visible + span.t{outline:2px solid var(--text);outline-offset:2px}
.cbl-note{flex-basis:100%;font-size:13.5px;color:var(--muted);margin:0}
.cbl-note.warn{color:var(--cb-warn);font-weight:600}

.cbl-phones{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}
.cbl-lane{background:var(--surface2);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0}
.cbl-lane-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.cbl-lane-top span,.cbl-lane .w{font-size:13.5px;color:var(--muted)}
.cbl-name{font-family:ui-monospace,Consolas,monospace;font-size:12px;color:var(--muted2);overflow-wrap:anywhere}

/* WhatsApp phone, always the light WhatsApp look */
.cbl-phone-wrap{display:flex;justify-content:center;flex:1}
.cbl-phone{width:310px;max-width:100%;height:clamp(440px,calc(100vh - 330px),680px);border-radius:42px;background:#11161A;padding:9px;box-shadow:0 14px 34px rgba(0,0,0,.3);display:flex}
.cbl-screen{flex:1;border-radius:34px;overflow:hidden;background:#ECE5DD;display:flex;flex-direction:column;color:#111B21;font-family:Roboto,"Segoe UI",Arial,sans-serif;line-height:1.4}
.cbl-status{display:flex;justify-content:space-between;align-items:center;background:#075E54;color:#fff;font-size:12px;font-weight:600;padding:10px 20px 4px}
.cbl-status .ic{display:flex;gap:5px;align-items:center;font-size:10px}
.cbl-batt{width:20px;height:10px;border:1.5px solid #fff;border-radius:3px;position:relative;display:inline-block}
.cbl-batt::after{content:"";position:absolute;inset:1px 4px 1px 1px;background:#fff;border-radius:1px}
.cbl-chat-head{display:flex;align-items:center;gap:9px;background:#075E54;color:#fff;padding:6px 12px 10px 10px}
.cbl-back{font-size:24px;line-height:1;margin-top:-3px}
.cbl-av{width:34px;height:34px;flex:none;border-radius:50%;background:#fff url(assets/favicon-96x96.png) center/cover no-repeat}
.cbl-who{flex:1;min-width:0;font-size:15px;font-weight:600;line-height:1.2}
.cbl-who small{display:block;font-size:11.5px;font-weight:400;opacity:.85}
.cbl-dots{font-size:20px;line-height:1}
.cbl-thread{flex:1;padding:12px 10px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;background:#ECE5DD}
.cbl-day{align-self:center;background:#E1F2FB;color:#4A6572;border-radius:8px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:5px 10px;margin-bottom:8px}
.cbl-bub{position:relative;max-width:92%;background:#fff;border-radius:0 9px 9px 9px;padding:3px 3px 5px;box-shadow:0 1px .5px rgba(11,20,26,.13);font-size:13.5px}
.cbl-bub::before{content:"";position:absolute;top:0;left:-7px;border-right:7px solid #fff;border-bottom:7px solid transparent}
.cbl-hdr{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center 25%;border-radius:7px;margin-bottom:5px;background:#e8e2d6}
.cbl-body{padding:2px 6px;overflow-wrap:anywhere;white-space:pre-line}
.cbl-ftr{padding:5px 6px 0;font-size:11.5px;color:#667781}
.cbl-time{text-align:right;padding:0 6px;font-size:10.5px;color:#8C9AA0}
.cbl-btn{width:92%;background:#fff;color:#0287C8;border-radius:9px;text-align:center;font-weight:500;font-size:14px;padding:9px;box-shadow:0 1px .5px rgba(11,20,26,.13);margin-top:2px}
.cbl .cbl-fb{display:block;width:92%;background:#fff;color:#0287C8;border:0;border-radius:9px;text-align:center;font:500 14px/1.3 Roboto,"Segoe UI",Arial,sans-serif;padding:9px;box-shadow:0 1px .5px rgba(11,20,26,.13);margin-top:2px;cursor:pointer}
.cbl .cbl-fb:hover{background:#EAF6FD}
.cbl .cbl-fb.tapped{box-shadow:0 0 0 2.5px #0F6E56,0 1px .5px rgba(11,20,26,.13);cursor:default}
.cbl .cbl-fb.dim{opacity:.45;cursor:default}
.cbl-notify{align-self:stretch;margin-top:8px;padding:7px 10px;border-radius:10px;background:#E0A43A;color:#1B1C23;font-size:12px;font-weight:700;text-align:center;text-transform:uppercase;letter-spacing:.06em}
.cbl .cbl-restart{align-self:center;margin-top:10px;font-size:12.5px;text-decoration:underline;background:none;border:0;color:#0F6E56;cursor:pointer;font-weight:600}
.cbl-fhint{margin:8px 0 0;font-size:12.5px;color:var(--muted2);text-align:center}
.cbl-btn.tapped{box-shadow:0 0 0 2.5px #0F6E56,0 1px .5px rgba(11,20,26,.13)}
.cbl-after{align-self:stretch;margin-top:14px;padding:8px 10px;border-radius:10px;background:#0F6E56;color:#fff;text-align:center;font-size:12px;line-height:1.3;letter-spacing:.04em}
.cbl-after b{display:block;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.cbl-after span{display:block;font-size:11.5px;opacity:.9}
.cbl-after::after{content:"↓";display:block;font-size:15px;line-height:1;margin-top:2px}
.cbl-out{align-self:flex-end;max-width:80%;margin-top:8px;background:#D9FDD3;border-radius:9px 0 9px 9px;padding:6px 9px 4px;font-size:13.5px;box-shadow:0 1px .5px rgba(11,20,26,.13)}
.cbl-out span{margin-left:8px;font-size:10.5px;color:#667781}
.cbl-rep{margin-top:6px}
.cbl-url{color:#0287C8;overflow-wrap:anywhere}
.cbl-compose{display:flex;align-items:center;gap:7px;background:#ECE5DD;padding:6px 8px 12px}
.cbl-input{flex:1;background:#fff;border-radius:22px;padding:9px 14px;font-size:13px;color:#8C9AA0}
.cbl-mic{width:36px;height:36px;flex:none;border-radius:50%;background:#00A884;display:grid;place-items:center}
.cbl-mic::before{content:"";width:8px;height:14px;border:2px solid #fff;border-radius:6px}

/* review */
.cbl-rev{padding:18px;display:flex;flex-direction:column;gap:14px}
.cbl-rev-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}
.cbl-seg{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--border);border-radius:999px;background:var(--bg)}
.cbl-seg button{appearance:none;border:0;background:transparent;color:var(--muted);padding:8px 16px;min-height:40px;border-radius:999px;cursor:pointer;font-size:14px;font-weight:600}
.cbl-seg button.ok.on{background:var(--cb-green);color:#fff}.cbl-seg button.changes.on{background:var(--cb-amber);color:#1A1A1A}
.cbl-by{font-size:13px;color:var(--muted)}
.cbl-thr{display:flex;flex-direction:column;gap:10px}
.cbl-cm{border:1px solid var(--border);border-radius:12px;padding:10px 14px;background:var(--bg)}
.cbl-cm.emma{border-left:4px solid var(--cb-amber)}
.cbl-cm-h{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12.5px;color:var(--muted2);margin-bottom:2px}
.cbl-cm-h b{color:var(--text)}
.cbl-cm-h button{border:0;background:transparent;color:var(--muted2);cursor:pointer;font-size:12.5px;text-decoration:underline;padding:2px 4px}
.cbl-cm p{margin:0;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}
.cbl-none{font-size:14px;color:var(--muted2);margin:0}
.cbl-rev textarea{width:100%;min-height:84px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg);resize:vertical}
.cbl-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
/* .cbl button sets color:inherit, so this needs the .cbl in front to win (it was dark on dark, then light on light) */
.cbl .cbl-pill{font-size:14px;font-weight:600;padding:9px 20px;min-height:44px;border-radius:999px;border:1px solid var(--text);background:var(--text);color:var(--bg);cursor:pointer}
.cbl .cbl-pill:disabled{opacity:.45;cursor:default}
.cbl-ask{font-size:13.5px;color:var(--cb-warn);font-weight:600;margin:0}
.cbl-err{font-size:13.5px;color:#A32D2D;font-weight:600;margin:0}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cbl-err{color:#F09595}}
[data-theme="dark"] .cbl-err{color:#F09595}
.cbl-pager{display:flex;justify-content:space-between;gap:10px}
.cbl-pager a{font-size:14.5px;font-weight:600;text-decoration:none;border:1px solid var(--border);border-radius:999px;padding:10px 18px;background:var(--surface);color:var(--text)}
.cbl-pager a.off{visibility:hidden}

/* drag a blast to another day */
.cbl-d[data-drag],.cbl-bc{touch-action:none;user-select:none;-webkit-user-select:none}
.cbl-d.has{cursor:grab}
.cbl-d.dragging,.cbl-bc.dragging{opacity:.4}
.cbl-d.over,.cbl-bd.over{outline:2px solid var(--text);outline-offset:-2px}
.cbl-ghost{position:fixed;z-index:3000;pointer-events:none;max-width:220px;padding:6px 12px;border-radius:999px;background:var(--text);color:var(--bg);font:600 13px Inter,sans-serif;box-shadow:0 6px 18px rgba(0,0,0,.3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cbl .cbl-bigbtn{margin-top:12px;width:100%;min-height:40px;border-radius:999px;border:1px solid var(--border);background:transparent;font-size:13.5px;font-weight:600;cursor:pointer}
.cbl .cbl-bigbtn:hover{background:var(--surface2)}
.cbl-cal .cbl-hint{margin:10px 0 0}

/* the flow, large */
.cbl-flowbar{display:flex;justify-content:flex-end;margin-top:4px}
.cbl .cbl-flowbar .cbl-bigbtn{width:auto;margin:0;padding:0 18px}
.cbl-flowbig{width:min(980px,100%);padding:16px 20px 20px}
.cbl-flowbig .cbl-big-h b{text-align:left;min-width:0;font-size:22px}
.cbl-fm-phones{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cbl-flowbig .cbl-lane{background:var(--bg)}
.cbl-flowbig .cbl-phone{width:330px;height:clamp(480px,calc(100vh - 300px),800px)}
@media (max-width:760px){.cbl-fm-phones{grid-template-columns:1fr}}

/* the bigger calendar */
.cbl-modal{position:fixed;inset:0;z-index:2000;background:rgba(10,12,16,.62);display:flex;align-items:flex-start;justify-content:center;padding:84px 16px 24px;overflow-y:auto;overscroll-behavior:contain}
.cbl-bigcal{width:min(1100px,100%);padding:20px 22px 24px}
.cbl-big-h{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.cbl-big-h b{font-family:'Playfair Display',serif;font-size:24px;font-weight:600;min-width:170px;text-align:center}
.cbl-big-h button{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:transparent;cursor:pointer;font-size:18px;line-height:1}
.cbl-big-h button:hover{background:var(--surface2)}
.cbl-big-h .cbl-big-x{margin-left:auto;width:auto;padding:0 18px;border-radius:999px;font-size:14px;font-weight:600}
.cbl-bigcal .cbl-hint{margin:0 0 12px}
.cbl-big-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cbl-big-g .hd{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted2);text-align:center;padding:2px 0}
.cbl-bd{min-height:112px;padding:6px;border:1px solid var(--border2);border-radius:10px;display:flex;flex-direction:column;gap:4px;min-width:0}
.cbl-bd.mon{background:var(--surface2)}
.cbl-bd.today{box-shadow:inset 0 0 0 1.5px var(--muted2)}
.cbl-bd>b{font-size:13px;font-weight:600;color:var(--muted)}
.cbl-bc{display:block;text-decoration:none;color:var(--text);background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--cb-amber);border-radius:8px;padding:5px 7px;font-size:12.5px;line-height:1.25;cursor:grab;min-width:0}
.cbl-bc span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;font-weight:600;overflow-wrap:anywhere}
.cbl-bc small{display:block;font-size:11.5px;color:var(--muted)}
.cbl-bc.lk{border-left-color:var(--text)}
.cbl-bc.ok{background:var(--cb-good-bg);color:var(--cb-good)}
.cbl-bc.ok small{color:inherit}
.cbl-bc.changes{background:var(--cb-warn-bg);color:var(--cb-warn)}
.cbl-bc.changes small{color:inherit}
@media (max-width:700px){
  .cbl-modal{padding:70px 8px 16px}
  .cbl-bigcal{padding:14px 10px 16px}
  .cbl-big-g{gap:3px}.cbl-bd{min-height:70px;padding:3px}
  .cbl-bc{padding:0;height:8px;min-height:8px;font-size:0;border-left-width:8px}.cbl-bc span,.cbl-bc small{display:none}
  .cbl-big-h b{font-size:19px;min-width:0;flex:1}
  .cbl-bigcal .cbl-big-l{display:flex}
}
.cbl-big-l{display:none;flex-direction:column;margin-top:14px;border-top:1px solid var(--border2)}
.cbl-big-l a{display:flex;flex-wrap:wrap;gap:2px 8px;align-items:center;padding:11px 2px;border-bottom:1px solid var(--border2);text-decoration:none;color:var(--text)}
.cbl-big-l small{flex-basis:100%;color:var(--muted);font-size:13px}

/* all blasts */
.cbl-rows{display:flex;flex-direction:column}
.cbl-r{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border2);text-decoration:none;color:inherit}
.cbl-r:last-child{border-bottom:0}.cbl-r:hover{background:var(--surface2)}
.cbl-r b{font-weight:600}
.cbl-r small{color:var(--muted);font-size:13.5px;grid-column:1}
.cbl-sum{display:flex;flex-wrap:wrap;gap:10px}
.cbl-chip.cbl-tot{border-color:var(--text);color:var(--text)}
.cbl-est{font-size:13.5px;color:var(--muted)}

@media (max-width:900px){
  .cbl-shell{grid-template-columns:minmax(0,1fr);gap:16px}
  .cbl-side{position:static;max-height:none;overflow:visible;padding:0}
  .cbl-side-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 16px;min-height:48px;border:1px solid var(--border);border-radius:14px;background:var(--surface);font-weight:600;cursor:pointer}
  .cbl-side-body{display:none;flex-direction:column;gap:18px}
  .cbl-side.open .cbl-side-body{display:flex}
}
@media (max-width:420px){.cbl-phones{grid-template-columns:minmax(0,1fr)}.cbl-lane{padding:12px}}

.cbl-intro{margin:6px 0 14px}
.cbl-intro h2{font-family:'Playfair Display',serif;font-size:24px;font-weight:500;margin:0 0 2px}
.cbl-intro p{font-size:14px;line-height:1.4;color:var(--muted);margin:0}
.cbl-links{display:flex;flex-wrap:wrap;gap:8px 10px;margin:10px 0 0!important}
.cbl-links a{font-size:13.5px;font-weight:600;color:var(--text);text-decoration:none;border:1px solid var(--border);border-radius:999px;padding:6px 14px;background:var(--surface)}
.cbl-links a:hover{background:var(--surface2)}
.cbl-back{align-self:flex-start;font-size:14px;font-weight:600;color:var(--muted);text-decoration:none;padding:4px 2px}
.cbl-back:hover{color:var(--text)}
.cbl-tabs .cbl-tab+.cbl-hint{margin-top:8px}
.cbl-pgc{display:flex;flex-direction:column;gap:6px}
.cbl-prev{position:relative;display:block;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:8px;border:1px solid var(--border);background:var(--surface2);margin-top:4px}
.cbl-prev iframe{position:absolute;top:0;left:0;width:1280px;height:960px;border:0;transform-origin:0 0;transform:scale(var(--cbl-s,.15));pointer-events:none;background:#fff}
.cbl-live{display:block;font-size:12px;color:var(--muted2);margin-top:2px}
.cbl-fact .dn{border-bottom:1px dotted currentColor;cursor:pointer}
.cbl-r{cursor:pointer}
.cbl-rl{color:inherit;text-decoration:none;min-width:0}

/* comments left on the landing pages (page-comments.js) */
.cbl-pc{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-top:10px;border-top:1px solid var(--border)}
.cbl-pch{font-size:14px}
.cbl-pch span{color:var(--muted2)}
.cbl-pc small{font-size:12.5px;color:var(--muted2);text-transform:none;letter-spacing:0;font-weight:400}
.cbl-pc strong,.cbl-pci strong{font-weight:600}
.cbl-pci{display:flex;gap:10px;align-items:flex-start;text-decoration:none;color:var(--text);border:1px solid var(--border);border-radius:12px;padding:8px 12px;background:var(--bg);font-size:13.5px;min-height:44px}
.cbl-pci:hover{border-color:var(--text)}
.cbl-pci.emma{border-left:4px solid var(--cb-amber)}
.cbl-pci em{display:block;font-style:normal;color:var(--muted);overflow-wrap:anywhere}
.cbl-pcn{flex:none;width:24px;height:24px;border-radius:50%;background:var(--cb-good);color:#fff;font-weight:700;font-size:12px;display:grid;place-items:center}
[data-theme="dark"] .cbl-pcn{color:#1A1A1A}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cbl-pcn{color:#1A1A1A}}
.cbl-pcall{padding:18px;display:flex;flex-direction:column;gap:12px;margin-top:4px}
.cbl-pcg{display:flex;flex-direction:column;gap:6px}
.cbl-pcg h4{margin:0;font:600 15px 'Inter',sans-serif}
.cbl-pcg h4 small{font-weight:400;color:var(--muted2);margin-left:6px}
.cbl-status,.cbl-chat-head,.cbl-compose{flex:none}

/* ALAD-4 (30 Oct 2026): why wall, four steps, one live Next line, Emma's review apart from Kate's schedule */
.cbl-sub{font-size:14px;line-height:1.4;color:var(--muted);margin:4px 0 0}
.cbl-why{padding:18px 20px;display:flex;flex-direction:column;gap:12px;border-left:4px solid var(--cb-green)}
.cbl-why-l{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:15px;line-height:1.45}
.cbl-why-l b,.cbl-job b{font-weight:600}
.cbl-job{margin:0;font-size:15px;line-height:1.45}
.cbl-key{margin:0;font-size:13.5px;line-height:1.45;color:var(--muted)}
.cbl-key b{color:var(--text);font-weight:600}
.cbl-next{margin:0;padding:12px 16px;border:1px solid var(--border);border-left:4px solid var(--cb-amber);border-radius:12px;background:var(--surface);font-size:15px;line-height:1.45}
.cbl-next a{color:var(--text);font-weight:600;text-underline-offset:3px}
.cbl-steps{display:flex;flex-direction:column;gap:8px}
.cbl-steps ol{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}
.cbl .cbl-step{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:6px 12px;text-align:left;border:1px solid var(--border);border-radius:12px;background:var(--surface);font-size:14px;font-weight:600;line-height:1.3;cursor:pointer}
.cbl .cbl-step:hover{background:var(--surface2)}
.cbl-step .n{flex:none;width:26px;height:26px;border-radius:50%;background:var(--text);color:var(--bg);display:grid;place-items:center;font-size:13px;font-weight:700}
#cblPhones,#cblPage,#cblReview{scroll-margin-top:96px}
.cbl-q{font-size:14px;font-weight:600;line-height:1.4}
.cbl-where{margin:-6px 0 0;font-size:13px;line-height:1.4;color:var(--muted2)}
.cbl-rev{border-left:4px solid var(--cb-green)}
/* Kate, 30 Oct 2026: schedule is one slim strip under the numbers and landing page (both cards are the same height above it), so no blank space is left beside either */
.cbl-kate{border-style:dashed}
.cbl-kate h3{flex:0 0 auto;margin:0}
.cbl-kfor{flex:1 1 280px;margin:0;font-size:13.5px;line-height:1.4;color:var(--muted)}
.cbl-kate .cbl-note{flex:1 1 240px;align-self:center}
.cbl-kate .cbl-cost{flex:0 0 auto;align-self:center}
.cbl-cost{flex-basis:100%;font-size:13.5px;color:var(--muted)}
.cbl-cost summary{cursor:pointer;font-weight:600;min-height:32px;display:flex;align-items:center}
.cbl-cost p{margin:4px 0 0;line-height:1.45}
.cbl-cost b{color:var(--text);font-weight:600}
.cbl-prog{color:var(--muted);margin:8px 0 2px}
.cbl-prog b{color:var(--text)}
.cbl-pos{display:none}
.cbl-jump{position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface);box-shadow:var(--shadow);font-size:14px;transition:opacity .2s}
.cbl-jump span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.cbl-jump.hide{opacity:0;pointer-events:none}
@media (max-width:900px){
  .cbl-pos{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;font-weight:600}
  .cbl-pos a{text-decoration:none;color:var(--text);border:1px solid var(--border);border-radius:999px;padding:9px 16px;min-height:44px;display:inline-flex;align-items:center;background:var(--surface)}
  .cbl-pos a.off{visibility:hidden}
}
@media (max-width:520px){
  .cbl-jump{border-radius:16px}
  .cbl-jump span{display:none}
  .cbl-jump .cbl-pill{width:100%}
}
