/* Casebook (Page Lemon app template): the accordion file. White paper and carbon type, a manila folder whose tabs stick
   up above the papers, typed slips with paper clips and rubber stamps, Ledger Green for actions and Red Ink for deadlines,
   money owed and queries. Libre Franklin for headings and UI, Courier Prime for everything typed (amounts, references,
   dates, labels). The member pages load kit.css first; this file sets the tokens, restyles kit classes and adds cb-*
   (app) and pb-* (public page) pieces. Colours: edit the --cb-* tokens below; the dark scheme is a dark desk where the
   folder and the paper keep their colours. */
:root {
  --cb-carbon: #1c1f1d; --cb-paper: #ffffff; --cb-manila: #f2d58a; --cb-manila-2: #e6c46e; --cb-manila-3: #d6b259;
  --cb-manila-ink: #4f4a30; --cb-green: #1f5b45; --cb-red: #b3261e; --cb-steel: #7d847f;
  --cb-desk: #ffffff; --cb-desk-ink: #1c1f1d; --cb-desk-muted: #5a5e5a; --cb-desk-line: rgba(28, 31, 29, .16);
  --cb-slip: #ffffff; --cb-slip-2: #f1ede3; --cb-slip-3: #e4dfd2; --cb-tab-idle: #f6ecce; --cb-red-desk: #b3261e;
  --cb-shadow: 0 1px 0 rgba(60, 44, 10, .1), 0 3px 10px rgba(60, 44, 10, .12);
  --cb-shade-1: rgba(28, 31, 29, .16); --cb-shade-2: rgba(28, 31, 29, .34); --cb-shade-3: rgba(40, 30, 10, .18); --cb-shade-4: rgba(60, 44, 10, .35); --cb-shade-5: rgba(60, 44, 10, .16); --cb-shade-6: rgba(60, 44, 10, .2); --cb-shade-7: rgba(0, 0, 0, .15); --cb-shade-8: rgba(60, 44, 10, .25); --cb-shade-9: rgba(255, 255, 255, .35); --cb-shade-10: rgba(28, 31, 29, .2); --cb-shade-11: rgba(0, 0, 0, .14); --cb-shade-12: rgba(60, 44, 10, .12); --cb-shade-13: rgba(60, 44, 10, .3);
  --cb-paper-2: #f3efe4; --cb-paper-muted: #5a5e5a; --cb-green-soft: #e3eee8; --cb-tab-gold: #e3c46e; --cb-manila-hover: #f0d07c; --cb-manila-4: #ddba62; --cb-manila-5: #edcf7f;
  --cb-ink-deep: #0d100f; --cb-desk-muted-2: #b4bab5; --cb-ink-light: #edeae2; --cb-red-light: #ff8a80; --cb-tab-light: #f6ecce; --cb-mask-solid: #000000;
  --cb-type: "Courier Prime", "Courier New", Courier, monospace;
  --cb-sans: "Libre Franklin", "Helvetica Neue", Arial, sans-serif;
  --k-font: var(--cb-sans); --k-font-display: var(--cb-sans);
  --k-brand: #1f5b45; --k-brand-ink: #ffffff; --k-brand-soft: #e3eee8; --k-hero: #1c1f1d; --k-hero-ink: #ffffff; --k-gold: #f2d58a;
  --k-bg: #ffffff; --k-surface: #ffffff; --k-surface-2: #f6f3ea; --k-line: rgba(28, 31, 29, .14); --k-line-strong: rgba(28, 31, 29, .3);
  --k-text: #1c1f1d; --k-muted: #5a5e5a; --k-faint: #5a5e5a; --k-danger: #b3261e; --k-ok: #1f5b45; --k-ok-soft: #e3eee8;
  --k-r-s: 4px; --k-r-m: 6px; --k-r-l: 8px; --k-r-xl: 12px; --k-max: 1320px;
}
@media (prefers-color-scheme: dark) {
  :root {
    --cb-desk: #151a18; --cb-desk-ink: #edeae2; --cb-desk-muted: #a9b0aa; --cb-desk-line: rgba(237, 234, 226, .16);
    --cb-slip: #edeae2; --cb-slip-2: #d9d5cb; --cb-slip-3: #c4c0b5; --cb-tab-idle: #252d29; --cb-red-desk: #ff8a80; --cb-steel: #9aa39d;
    --cb-shadow: 0 1px 0 rgba(0, 0, 0, .4), 0 6px 18px rgba(0, 0, 0, .45);
    --k-brand: #6fc49e; --k-brand-ink: #0f1a15; --k-brand-soft: rgba(111, 196, 158, .16);
    --k-bg: #151a18; --k-surface: #1e2522; --k-surface-2: #252d29; --k-line: rgba(237, 234, 226, .12); --k-line-strong: rgba(237, 234, 226, .28);
    --k-text: #edeae2; --k-muted: #a9b0aa; --k-faint: #a9b0aa; --k-danger: #ff8a80; --k-ok: #6fc49e; --k-ok-soft: rgba(111, 196, 158, .16);
  }
}
/* Paper and manila keep their light colours on the dark desk. */
:is(.cb-slip, .cb-tear, .cb-query, .cb-card, .cb-empty, .cb-letter, .cb-slipform, .cb-divider, .cb-out, .cb-index a, .cb-folder-body, .cb-pack-body, .cb-pack-tab, .pb-front, .pb-cal, .pb-paper, .pb-signin-slip, .cb-acc, .cb-tab, .cb-clipboard, .k-tabs a[aria-current="page"]) {
  --k-text: var(--cb-carbon); --k-muted: var(--cb-paper-muted); --k-faint: var(--cb-paper-muted); --k-surface: var(--cb-slip); --k-surface-2: var(--cb-paper-2);
  --k-line: var(--cb-shade-1); --k-line-strong: var(--cb-shade-2); --k-brand: var(--cb-green); --k-brand-ink: var(--cb-paper);
  --k-brand-soft: var(--cb-green-soft); --k-danger: var(--cb-red); --k-ok: var(--cb-green); --k-ok-soft: var(--cb-green-soft); --cb-red-desk: var(--cb-red);
  color: var(--k-text);
}
:is(.cb-folder-body, .cb-pack-body, .cb-pack-tab, .pb-front, .cb-clipboard, .cb-tab) { --k-muted: var(--cb-manila-ink); --k-faint: var(--cb-manila-ink); }

/* ---------- type ---------- */
body.k-app { background: var(--k-bg); font-family: var(--cb-sans); }
.k-app :is(h1, h2, h3) { font-family: var(--cb-sans); }
.cb-type { font-family: var(--cb-type); font-weight: 700; font-size: .8125rem; letter-spacing: .06em; text-transform: uppercase; line-height: 1.35; }
.cb-h1 { font: 900 clamp(2.375rem, 1.35rem + 3.4vw, 4.5rem)/.95 var(--cb-sans); letter-spacing: -.045em; }
.cb-h2 { font: 800 1.375rem/1.15 var(--cb-sans); letter-spacing: -.025em; margin-bottom: 14px; }
.cb-sub { margin-top: 10px; color: var(--k-muted); max-width: 52ch; }
.cb-filelabel { display: inline-block; margin-bottom: 14px; padding: 5px 10px 4px; border-radius: 3px; background: var(--cb-manila); color: var(--cb-carbon); }
.k-app .k-back { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; margin-bottom: 6px; color: var(--k-muted); font: 700 .8125rem/1 var(--cb-type); text-transform: uppercase; letter-spacing: .06em; text-decoration: none; }

/* ---------- kit restyles ---------- */
.k-app .k-btn { border-radius: 6px; font: 700 1rem/1 var(--cb-sans); letter-spacing: -.01em; }
.k-app .k-btn-lg { min-height: 56px; padding: 0 26px; font-size: 1.0625rem; }
.k-app .k-btn-line { box-shadow: inset 0 0 0 2px currentColor; color: var(--k-text); background: transparent; }
.k-app .k-help { color: var(--k-muted); font-size: .875rem; }
.k-app .k-field > label, .k-app .k-label { font: 700 .75rem/1.3 var(--cb-type); text-transform: uppercase; letter-spacing: .08em; color: var(--k-muted); }
.k-app :is(input[type="text"], input[type="email"], input[type="date"], input[type="number"], input[type="tel"], select, textarea) { border-radius: 3px; border: 1.5px solid var(--k-line-strong); font-family: var(--cb-type); font-size: 1.0625rem; background: var(--k-surface); color: var(--k-text); }
.k-app :is(input, select, textarea):focus { border-color: var(--k-brand); outline: 2px solid var(--k-brand); outline-offset: 0; }
.k-app .k-steps li { font: 700 .6875rem/1.25 var(--cb-type); text-transform: uppercase; letter-spacing: .04em; color: var(--k-muted); }
.k-app .k-steps li::before { height: 5px; border-radius: 0; background: var(--k-line); }
.k-app .k-steps li.k-done::before, .k-app .k-steps li.k-now::before { background: var(--k-brand); }
.k-app .k-steps li.k-now { color: var(--k-text); }
.k-app .k-badge { border-radius: 3px; font-family: var(--cb-type); text-transform: uppercase; letter-spacing: .05em; }
.k-app .k-foot { border-top: 2px solid var(--k-text); color: var(--k-muted); font-family: var(--cb-type); font-size: .8125rem; }
.k-app .k-toast, .k-app form [data-pl-status]:not(:empty) { background: var(--cb-carbon); color: var(--cb-paper); border-radius: 4px; font-family: var(--cb-type); }

/* ---------- shell: top bar and the index-tab nav ---------- */
.cb-app .k-top { background: var(--k-bg); backdrop-filter: none; -webkit-backdrop-filter: none; }
.k-app .k-brand { font: 800 1.0625rem/1.05 var(--cb-sans); letter-spacing: -.03em; color: var(--k-text); }
.k-app .k-brand img { border-radius: 6px; }
.k-app .k-top a.k-signin { border-radius: 6px; background: var(--k-brand); color: var(--k-brand-ink); font-weight: 700; }
.k-app .k-top .k-avatar { width: 44px; height: 44px; border-radius: 6px; background: var(--cb-manila); color: var(--cb-carbon); font: 700 .9375rem/1 var(--cb-type); box-shadow: inset 0 -3px 0 var(--cb-manila-3); }
.cb-top-send { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; min-width: 44px; justify-content: center; padding: 0 12px; border-radius: 6px; background: var(--k-brand); color: var(--k-brand-ink); font: 700 .9375rem/1 var(--cb-sans); text-decoration: none; }
.cb-top-send span { display: none; }
@media (min-width: 640px) { .cb-top-send span { display: inline; } .cb-top-send { padding: 0 16px; } }

.cb-app .k-tabs { background: var(--k-bg); border-top: 3px solid var(--k-text); backdrop-filter: none; -webkit-backdrop-filter: none; padding-top: 0; }
.cb-app .k-tabs a { color: var(--k-muted); font: 700 .75rem/1.1 var(--cb-sans); border-radius: 0 0 10px 10px; min-height: 52px; }
.cb-app .k-tabs a[aria-current="page"] { background: var(--cb-manila); color: var(--cb-carbon); box-shadow: inset 0 -3px 0 var(--cb-manila-3); }
@media (min-width: 1024px) {
  .cb-app[data-k-nav="top"] .k-top { padding-top: 18px; padding-bottom: 10px; }
  .cb-app[data-k-nav="top"] .k-top .k-brand { font-size: 1.375rem; }
  .cb-app[data-k-nav="top"] .k-tabs { align-items: flex-end; gap: 6px; padding-top: 10px; border-top: 0; border-bottom: 3px solid var(--k-text); background: var(--k-bg); }
  .cb-app[data-k-nav="top"] .k-tabs a { min-height: 44px; padding: 0 22px; border-radius: 10px 10px 0 0; background: var(--cb-tab-idle); color: var(--k-text); font: 700 .9375rem/1 var(--cb-sans); box-shadow: none; }
  .cb-app[data-k-nav="top"] .k-tabs a:hover { background: var(--cb-manila-2); color: var(--cb-carbon); }
  .cb-app[data-k-nav="top"] .k-tabs a[aria-current="page"] { min-height: 52px; background: var(--cb-manila); color: var(--cb-carbon); box-shadow: none; }
  .cb-app[data-k-nav="top"] .k-tabs .k-tabs-foot { display: block; margin-left: auto; align-self: center; padding: 0; background: none; color: var(--k-muted); font: 400 .8125rem/1.3 var(--cb-type); }
  .cb-app[data-k-nav="top"] .k-tabs .k-tabs-foot b { display: inline; margin-right: 8px; color: var(--k-text); font: 700 .8125rem var(--cb-type); text-transform: uppercase; }
}
@media (min-width: 1024px) and (max-width: 1199px) { .cb-app[data-k-nav="top"] .k-tabs .k-tabs-foot { display: none; } }

/* ---------- paper pieces ---------- */
.cb-clip { position: absolute; z-index: 3; top: -10px; left: 14px; width: 13px; height: 34px; border: 2.5px solid var(--cb-steel); border-radius: 7px; pointer-events: none; }
.cb-clip::after { content: ""; position: absolute; left: 2px; right: 2px; top: 6px; bottom: -2px; border: 2.5px solid var(--cb-steel); border-top: 0; border-radius: 0 0 5px 5px; }
.cb-stamp, .k-app .cb-stamp.k-badge { display: inline-flex; align-items: center; justify-content: center; min-height: 0; padding: 4px 8px 3px; border: 2px solid currentColor; border-radius: 3px; outline: 1px solid currentColor; outline-offset: 2px; background: transparent; color: var(--cb-carbon); font: 700 .75rem/1 var(--cb-type); letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; transform: rotate(-4deg); }
.k-app .cb-stamp.k-badge-state::before { display: none; }
.cb-st-new, [data-k-state="new"] .cb-stamp, .k-app [data-k-state="new"] .cb-stamp.k-badge-state { color: var(--cb-red); background: transparent; }
.cb-st-active, [data-k-state="active"] .cb-stamp, .k-app [data-k-state="active"] .cb-stamp.k-badge-state { color: var(--cb-green); background: transparent; }
.cb-st-off, [data-k-state="off"] .cb-stamp, .k-app [data-k-state="off"] .cb-stamp.k-badge-state { color: var(--cb-paper); background: var(--cb-red); border-color: var(--cb-red); outline-color: var(--cb-red); }
.cb-st-ok, [data-k-state="ok"] .cb-stamp, .k-app [data-k-state="ok"] .cb-stamp.k-badge-state { color: var(--cb-carbon); background: transparent; }
.cb-card { position: relative; background: var(--cb-slip); border-radius: 4px; box-shadow: var(--cb-shadow); padding: 20px 22px; }
.cb-card > h2.cb-type, .cb-card-head h2 { padding-bottom: 10px; margin-bottom: 14px; border-bottom: 2px solid var(--k-text); }
.cb-card-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.cb-card-head a { display: inline-flex; align-items: center; min-height: 44px; color: var(--k-brand); font-weight: 700; font-size: .875rem; }
.cb-card > p { color: var(--k-muted); font-size: .9375rem; }
.cb-card > * + * { margin-top: 12px; }
.cb-side { display: grid; gap: 24px; align-content: start; }
.cb-tips { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; font-size: .9375rem; }
.cb-tips li { padding-left: 22px; position: relative; }
.cb-tips li::before { content: "✓"; position: absolute; left: 0; color: var(--k-brand); font-weight: 800; }
.cb-opt { font-weight: 400; text-transform: none; letter-spacing: 0; }

/* The tear-off calendar page: binding bar, perforation, a huge date and typed lines; spare pages beneath. */
.cb-tear { position: relative; display: block; padding: 34px 24px 22px; background: var(--cb-slip); color: var(--k-text); text-decoration: none; border-radius: 3px 3px 2px 2px;
  box-shadow: 0 4px 0 -1px var(--cb-slip-2), 0 8px 0 -2px var(--cb-slip-3), 0 18px 30px var(--cb-shade-3); }
.cb-tear-bind { position: absolute; top: 0; left: 0; right: 0; height: 18px; background: var(--cb-carbon); border-radius: 3px 3px 0 0; }
.cb-tear-bind::before, .cb-tear-bind::after { content: ""; position: absolute; top: 5px; width: 26px; height: 8px; border-radius: 4px; background: var(--cb-steel); left: 22%; }
.cb-tear-bind::after { left: auto; right: 22%; }
.cb-tear-top { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 10px; border-bottom: 2px dotted var(--k-line-strong); }
.cb-in.cb-soon, .cb-in { color: var(--cb-red); }
.cb-tear-date { display: flex; align-items: flex-end; gap: 10px; margin: 14px 0 8px; }
.cb-tear-date b { font: 900 clamp(6rem, 5rem + 4vw, 8.5rem)/.78 var(--cb-sans); letter-spacing: -.06em; }
.cb-tear-date small { font: 900 clamp(2rem, 1.6rem + 1.4vw, 2.75rem)/.9 var(--cb-sans); letter-spacing: -.03em; text-transform: uppercase; color: var(--cb-red); padding-bottom: 4px; }
.cb-tear-what { display: grid; gap: 4px; }
.cb-tear-filing { font: 800 1.625rem/1.1 var(--cb-sans); letter-spacing: -.03em; }
.cb-tear-note { margin-top: 10px; color: var(--k-muted); }
.cb-tear-blank .cb-tear-filing { margin-top: 18px; }
.cb-tear-blank .k-btn { margin-top: 18px; }
.cb-tear .k-steps { margin-top: 18px; }
.cb-tear-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 16px; padding-top: 12px; border-top: 2px solid var(--k-text); }
.cb-hero-cta { display: inline-flex; align-items: center; gap: 4px; color: var(--k-brand); font-weight: 800; }
.cb-tear .k-badge-state { background: transparent; padding: 0; color: var(--k-text); font-size: .75rem; }
.cb-tear .k-badge-state::before { display: none; }
.cb-figs { margin: 16px 0 0; display: grid; gap: 6px; font-family: var(--cb-type); }
.cb-figs > div { display: flex; align-items: baseline; gap: 8px; }
.cb-figs > div::after { content: none; }
.cb-figs dt { font-size: .8125rem; text-transform: uppercase; letter-spacing: .05em; color: var(--k-muted); flex: none; }
.cb-figs dd { margin: 0 0 0 auto; font-size: 1rem; font-weight: 700; white-space: nowrap; }
.cb-figs dt::after { content: ""; }
.cb-figs > div > dt + dd { border-bottom: 0; }
.cb-figs-total { margin-top: 4px; padding-top: 8px; border-top: 3px double var(--k-text); }
.cb-figs-total dt { color: var(--k-text); font-weight: 700; }
.cb-figs-total dd { font-size: 1.25rem; color: var(--cb-red); }
.cb-hero::after { content: ""; position: absolute; inset: 0; z-index: 4; background: var(--cb-slip); border-radius: 3px; transform-origin: 8% 0; pointer-events: none; animation: cb-tear 1.1s .35s cubic-bezier(.5, 0, .75, .3) forwards;
  box-shadow: inset 0 18px 0 var(--cb-carbon); }
@keyframes cb-tear { 0% { transform: none; opacity: 1; } 30% { transform: rotate(-3deg); opacity: 1; } 99.9% { transform: translate(-40px, 70%) rotate(-24deg); opacity: 0; } 100% { transform: none; opacity: 0; visibility: hidden; } }

/* The folder: manila tabs stick up from the top edge, slips inside, pleats at the bottom. */
.cb-folder { position: relative; min-width: 0; }
.cb-tabs { position: relative; z-index: 1; display: flex; align-items: flex-end; gap: 4px; padding: 0 12px; overflow-x: auto; scrollbar-width: none; }
.cb-tabs::-webkit-scrollbar { display: none; }
.cb-tab { flex: none; display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border: 0; border-radius: 10px 10px 0 0; background: var(--cb-manila-2); color: var(--cb-carbon); font: 700 .875rem/1 var(--cb-sans); text-decoration: none; cursor: pointer; box-shadow: inset 0 -4px 6px -4px var(--cb-shade-4); }
.cb-tab:nth-child(even) { background: var(--cb-manila-3); }
.cb-tab:hover { background: var(--cb-manila-hover); }
.cb-tab[aria-current="true"], .cb-tab[aria-selected="true"] { min-height: 48px; background: var(--cb-manila); box-shadow: none; font-weight: 800; }
.cb-tab:focus-visible { outline: 3px solid var(--cb-green); outline-offset: -3px; }
.cb-folder-body { position: relative; background: var(--cb-manila); border-radius: 0 14px 14px 14px; padding: 20px 18px 34px; box-shadow: 0 2px 0 var(--cb-manila-3), 0 14px 30px var(--cb-shade-5); }
.cb-folder-body::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 10px; height: 12px; border-radius: 0 0 8px 8px; background: repeating-linear-gradient(180deg, var(--cb-manila-3) 0 2px, transparent 2px 5px); opacity: .7; pointer-events: none; }
.cb-folder-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; margin-bottom: 14px; }
.cb-folder-head .cb-h2 { margin: 0; }
.cb-headstat { display: flex; flex-wrap: wrap; gap: 4px 16px; color: var(--cb-manila-ink); }
.cb-headstat b { color: var(--cb-carbon); }
.cb-headstat i { font-style: normal; }
.cb-more { margin-left: auto; color: var(--cb-carbon); font-weight: 800; text-underline-offset: 3px; }
.cb-slips { display: grid; gap: 10px; transition: transform .26s ease, opacity .26s ease; }
.cb-slips.cb-out-l { transform: translateX(-28px); opacity: 0; }
.cb-slips.cb-in-r { transform: translateX(28px); opacity: 0; transition: none; }
.cb-slip { position: relative; display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; grid-template-areas: "doc main amt" "doc main stamp"; align-items: start; gap: 4px 14px; padding: 14px 16px 14px 14px; background: var(--cb-slip); border-radius: 3px; box-shadow: var(--cb-shadow); color: var(--k-text); text-decoration: none; }
a.cb-slip:hover { transform: translateY(-2px); transition: transform .15s ease; }
.cb-slip-doc { grid-area: doc; position: relative; width: 52px; }
.cb-slip-doc img { width: 52px; height: 69px; object-fit: cover; object-position: top; border: 1px solid var(--k-line); transform: rotate(-2deg); background: var(--cb-paper); }
.cb-slip-doc .cb-clip { top: -8px; left: 8px; height: 28px; width: 11px; }
.cb-slip-main { grid-area: main; display: grid; gap: 6px; min-width: 0; }
.cb-slip-title { font: 700 1.0625rem/1.25 var(--cb-sans); letter-spacing: -.015em; overflow-wrap: anywhere; }
.cb-slip-meta { display: flex; flex-wrap: wrap; gap: 2px 14px; color: var(--k-muted); font-size: .75rem; }
.cb-slip-meta > :empty { display: none; }
.cb-slip-amt { grid-area: amt; justify-self: end; font: 700 1.125rem/1.2 var(--cb-type); white-space: nowrap; }
.cb-slip-amt:has(span:empty), .cb-amt:has(span:empty) { visibility: hidden; }
.cb-slip .cb-stamp { grid-area: stamp; justify-self: end; align-self: end; margin: 6px 4px 0 0; }
.cb-reply { display: block; padding: 8px 10px; border-left: 3px solid var(--cb-green); background: var(--k-surface-2); font: 400 .9375rem/1.4 var(--cb-type); white-space: normal; }
.cb-reply::before { content: "Wenlock Pirie: "; font-weight: 700; }
.cb-reply:empty { display: none; }
.cb-slip-acts { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.cb-slip-acts a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--k-brand); font-weight: 700; font-size: .875rem; }
.cb-slip-acts .cb-ask, .cb-slip-acts .cb-again { display: none; }
[data-k-state="off"] .cb-slip-acts .cb-ask, [data-k-state="off"] .cb-slip-acts .cb-again { display: inline-flex; }
.cb-open:not([href]), .cb-open[href=""] { display: none; }
.cb-empty { padding: 28px 20px; text-align: center; background: var(--cb-slip); border-radius: 3px; box-shadow: var(--cb-shadow); }
.cb-empty h3 { font: 800 1.25rem/1.2 var(--cb-sans); margin-top: 12px; }
.cb-empty p { color: var(--k-muted); max-width: 36ch; margin: 6px auto 0; }
.cb-empty .k-btn { margin-top: 16px; }
.cb-empty-slip { display: block; width: 64px; height: 80px; margin: 0 auto; border: 2px dashed var(--k-line-strong); border-radius: 3px; position: relative; }
.cb-empty-slip::after { content: ""; position: absolute; left: 12px; right: 12px; top: 18px; height: 22px; background: repeating-linear-gradient(180deg, var(--k-line-strong) 0 2px, transparent 2px 9px); }
.cb-kind-none { padding: 18px; background: var(--cb-slip); border-radius: 3px; font-family: var(--cb-type); }
.cb-kind-none a { color: var(--k-brand); font-weight: 700; }

/* Index cards (send something else) */
.cb-index { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 22px; }
.cb-index a { display: grid; gap: 2px; align-content: start; min-height: 76px; padding: 14px 14px 12px; border-top: 8px solid var(--cb-manila); background: var(--cb-slip); border-radius: 3px; box-shadow: var(--cb-shadow); text-decoration: none; background-image: linear-gradient(var(--cb-carbon) 0 0); background-size: 100% 1px; background-position: 0 38px; background-repeat: no-repeat; }
.cb-index b { font: 800 1rem/1.2 var(--cb-sans); padding-bottom: 8px; }
.cb-index span { color: var(--k-muted); font-size: .8125rem; font-family: var(--cb-type); }
@media (min-width: 720px) { .cb-index { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Query slips in red ink */
.cb-queries { display: grid; gap: 14px; }
.cb-query { position: relative; padding: 16px 18px 18px; background: var(--cb-slip); border-top: 5px solid var(--cb-red); border-radius: 2px 2px 3px 3px; box-shadow: var(--cb-shadow); }
.cb-query-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; padding-bottom: 8px; margin-bottom: 10px; border-bottom: 1px solid var(--cb-red); color: var(--cb-red); }
.cb-query h3 { font: 700 1.1875rem/1.25 var(--cb-sans); letter-spacing: -.02em; }
.cb-query-detail { margin-top: 8px; color: var(--k-muted); font-size: .9375rem; }
.cb-query-by { margin-top: 8px; color: var(--k-muted); font-weight: 400; }
.cb-query .k-btn { margin-top: 14px; }
.cb-sent-state { display: flex; align-items: center; gap: 6px; margin-top: 12px; color: var(--k-brand); font-weight: 700; font-size: .9375rem; }
.cb-allclear { display: flex; align-items: center; gap: 8px; padding: 16px 18px; background: var(--cb-slip); color: var(--cb-green); border-radius: 3px; box-shadow: var(--cb-shadow); font: 700 .9375rem/1.3 var(--cb-type); }
@media (prefers-color-scheme: dark) { .cb-allclear { color: var(--cb-green); } }

/* ---------- Home ---------- */
.cb-home { display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "cal" "q" "folder"; padding-top: 8px; }
.cb-home-head { grid-area: head; }
.cb-home-cal { grid-area: cal; }
.cb-home-q { grid-area: q; }
.cb-home-folder { grid-area: folder; min-width: 0; }
.cb-acts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.cb-acts .k-btn { flex: 1 1 auto; }
@media (min-width: 1024px) {
  .cb-home { grid-template-columns: minmax(330px, 4fr) minmax(0, 8fr); grid-template-rows: auto auto 1fr; grid-template-areas: "cal head" "cal folder" "q folder"; column-gap: 44px; row-gap: 30px; align-items: start; padding-top: 24px; }
  .cb-acts .k-btn { flex: none; }
  .cb-home-head .cb-h1 { max-width: 14ch; }
}
.cb-approvals { display: none; }

/* ---------- page heads ---------- */
.cb-pagehead { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 18px 24px; margin: 12px 0 34px; }
@media (min-width: 1024px) { .cb-pagehead { margin-top: 28px; } }
.cb-pagehead .cb-h1 b { font-weight: inherit; }

/* ---------- Papers ---------- */
.cb-accordion .cb-tabs { padding-left: 8px; }
.cb-slips-l .cb-slip { grid-template-columns: 76px minmax(0, 1fr) auto; padding: 18px 20px 16px 18px; }
.cb-slips-l .cb-slip-doc, .cb-slips-l .cb-slip-doc img { width: 76px; }
.cb-slips-l .cb-slip-doc img { height: 100px; }
.cb-slips-s .cb-slip { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "main stamp"; align-items: center; box-shadow: none; border-bottom: 1px dashed var(--k-line-strong); border-radius: 0; padding: 10px 2px; }
.cb-slips-s { gap: 0; }
.cb-slips-s .cb-slip .cb-stamp { align-self: center; margin: 0; }
.cb-slips-s .cb-slip-title { font-size: .9375rem; }
.cb-kindsum { display: grid; }
.cb-kindsum-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 12px; align-items: baseline; padding: 10px 0; border-bottom: 1px dashed var(--k-line-strong); font-family: var(--cb-type); }
.cb-kindsum-row > span:first-child { font: 700 1rem/1.2 var(--cb-sans); }
.cb-kindsum-row b { font-weight: 700; }
.cb-kindsum-row i { font-style: normal; }
.cb-none { color: var(--k-muted); font-weight: 400; }
.cb-legend ul, .cb-route { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.cb-legend li, .cb-route li { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 12px; align-items: center; font-size: .9375rem; }
.cb-legend .cb-stamp, .cb-route .cb-stamp { justify-self: start; }

/* ---------- Send (transmittal slip clipped to the folder) ---------- */
.cb-clipboard { background: var(--cb-manila); border-radius: 14px; padding: 26px 14px 18px; box-shadow: 0 2px 0 var(--cb-manila-3); }
.cb-slipform { position: relative; background: var(--cb-slip); border-radius: 3px; padding: 30px 20px 24px; box-shadow: var(--cb-shadow); }
.cb-clip-l { top: -16px; left: 28px; width: 16px; height: 44px; }
.cb-trans-head { display: grid; gap: 4px; padding-bottom: 12px; border-bottom: 3px double var(--k-text); font-weight: 400; }
.cb-trans-head b { font-size: 1rem; letter-spacing: .12em; }
.cb-kinds { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.cb-kind { display: grid; gap: 2px; align-content: center; min-height: 58px; padding: 8px 12px; border: 0; border-radius: 8px 8px 0 0; background: var(--cb-tab-idle); box-shadow: inset 0 -3px 0 var(--cb-manila-2); color: var(--cb-carbon); text-align: left; font: inherit; cursor: pointer; }
.cb-kind b { font: 700 .9375rem/1.15 var(--cb-sans); }
.cb-kind small { font: 400 .75rem/1.2 var(--cb-type); color: var(--cb-manila-ink); }
.cb-kind[aria-pressed="true"] { background: var(--cb-manila); box-shadow: inset 0 -3px 0 var(--cb-carbon); }
.cb-kind[aria-pressed="true"] b { font-weight: 800; }
.cb-kind:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (prefers-color-scheme: dark) { .cb-slipform .cb-kind:not([aria-pressed="true"]) { background: var(--cb-tab-light); } }
@media (min-width: 1200px) { .cb-kinds { grid-template-columns: repeat(3, minmax(0, 1fr)); } .cb-kind:last-child:nth-child(odd) { grid-column: auto; } }
.cb-kind-select { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.cb-dropwrap { position: relative; }
.cb-drop { display: grid; justify-items: center; gap: 6px; padding: 24px 16px; border: 2px dashed var(--k-line-strong); border-radius: 4px; background: var(--k-surface-2); text-align: center; color: var(--k-muted); }
.cb-drop .k-i { width: 30px; height: 30px; color: var(--k-brand); }
.cb-drop b { color: var(--k-text); font-size: 1rem; word-break: break-all; }
.cb-drop-s .cb-drop { padding: 14px; }
.cb-dropwrap.cb-has .cb-drop { border-style: solid; border-color: var(--k-brand); }
.cb-file { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.cb-dropwrap:has(.cb-file:focus-visible) .cb-drop { outline: 3px solid var(--k-brand); outline-offset: 2px; }
.cb-warn { display: flex; gap: 6px; align-items: flex-start; color: var(--k-text); font-weight: 600; }
.cb-warn .k-i { color: var(--cb-red); margin-top: 1px; }
@media (min-width: 720px) { .cb-clipboard { padding: 34px 28px 28px; } .cb-slipform { padding: 36px 32px 30px; } }

/* ---------- Questions ---------- */
.cb-qcol { display: grid; gap: 36px; align-content: start; }
.cb-answers { display: grid; gap: 12px; }
.cb-ans { padding: 14px 18px 16px; border-left: 3px solid var(--k-line-strong); background: var(--k-surface-2); border-radius: 0 3px 3px 0; }
.cb-ans-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; color: var(--k-muted); font-weight: 400; }
.cb-ans h3 { margin-top: 8px; font: 700 1.0625rem/1.25 var(--cb-sans); }
.cb-you { margin-top: 6px; font-family: var(--cb-type); }
.cb-ans .cb-open { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; color: var(--k-brand); font-weight: 700; font-size: .875rem; }
.cb-ans .cb-reply { margin-top: 8px; background: var(--cb-slip); color: var(--cb-carbon); }
.cb-ans [data-k-state] .cb-stamp, .cb-ans .cb-stamp { color: var(--k-text); }
.k-app .cb-ans[data-k-state="new"] .cb-stamp.k-badge-state { color: var(--cb-red-desk); }
.k-app .cb-ans[data-k-state="ok"] .cb-stamp.k-badge-state { color: var(--k-text); }
.cb-replyslip h2 { margin-top: 16px; font: 800 1.5rem/1.1 var(--cb-sans); letter-spacing: -.03em; }
.cb-replyslip { gap: 14px; }

/* ---------- Deadlines ---------- */
.cb-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 34px 28px; align-items: start; }
.cb-strip .cb-tear-what p { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; color: var(--k-muted); }
.cb-memo { margin-top: 14px; font: 400 .9375rem/1.45 var(--cb-type); color: var(--k-muted); }
.cb-memo:empty { display: none; }
.cb-tear-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 16px; }
.cb-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--k-brand); font-weight: 700; }
.cb-link:not([href]), .cb-link[href=""] { display: none; }
.cb-route-strip { margin: 44px 0; }
.cb-route-strip h2 { margin-bottom: 14px; }
.cb-route-strip ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; counter-reset: s; border-top: 3px solid var(--k-text); }
.cb-route-strip li { counter-increment: s; display: grid; gap: 4px; padding: 14px 16px 14px 0; border-bottom: 1px solid var(--k-line); }
.cb-route-strip li::before { content: "0" counter(s); font: 700 .8125rem var(--cb-type); color: var(--cb-red-desk); }
.cb-route-strip b { font-weight: 800; }
.cb-route-strip span { color: var(--k-muted); font-size: .9375rem; }
@media (min-width: 900px) { .cb-route-strip ol { grid-template-columns: repeat(4, minmax(0, 1fr)); } .cb-route-strip li { border-bottom: 0; border-right: 1px solid var(--k-line); padding-left: 16px; } .cb-route-strip li:first-child { padding-left: 0; } .cb-route-strip li:last-child { border-right: 0; } }
.cb-ledger { border-top: 3px solid var(--k-text); }
.cb-ledger-head { display: none; }
.cb-ledger-row { display: grid; gap: 6px 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 16px 0; border-bottom: 1px solid var(--k-line); }
.cb-ledger-main { grid-column: 1 / -1; display: grid; gap: 2px; }
.cb-ledger-main b { font: 800 1.125rem/1.2 var(--cb-sans); }
.cb-ledger-main small { color: var(--k-muted); }
.cb-ledger-main .cb-memo { margin-top: 2px; font-size: .875rem; }
.cb-ledger-row > [data-label]::before { content: attr(data-label); display: block; font-weight: 400; color: var(--k-muted); font-size: .6875rem; }
.cb-ledger-row .cb-n { font-weight: 700; text-transform: none; font-size: .9375rem; letter-spacing: 0; }
.cb-ledger-row .cb-n:has(span:empty) { visibility: hidden; }
.cb-n-total { color: var(--cb-red-desk); }
.cb-ledger-end { grid-column: 1 / -1; display: flex; align-items: center; gap: 18px; }
.cb-ledger-end .cb-stamp { color: var(--k-text); }
.cb-pad-note { padding: 16px 0; }
@media (min-width: 900px) {
  .cb-ledger-head, .cb-ledger-row { grid-template-columns: minmax(0, 2.2fr) repeat(5, minmax(0, 1fr)) 250px; align-items: center; }
  .cb-ledger-head { display: grid; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--k-text); color: var(--k-muted); font-size: .6875rem; }
  .cb-ledger-head span:nth-child(n+3) { text-align: right; }
  .cb-ledger-main, .cb-ledger-end { grid-column: auto; }
  .cb-ledger-row > [data-label]::before { display: none; }
  .cb-ledger-row .cb-n { text-align: right; }
  .cb-ledger-end { justify-content: flex-end; }
}

/* ---------- Package: the engagement letter ---------- */
.cb-letter { position: relative; background: var(--cb-slip); border-radius: 2px; padding: 30px 22px 34px; box-shadow: var(--cb-shadow), 0 0 0 1px var(--k-line); font: 400 1rem/1.6 var(--cb-type); }
.cb-letter > * + * { margin-top: 14px; }
.cb-letter-head { display: grid; gap: 4px; padding-bottom: 14px; border-bottom: 3px solid var(--cb-carbon); }
.cb-letter-head b { font: 900 1.625rem/1 var(--cb-sans); letter-spacing: -.035em; }
.cb-letter-head .cb-type { font-weight: 400; }
.cb-letter-ref { color: var(--k-muted); }
.cb-letter a { color: var(--k-brand); font-weight: 700; }
.cb-letter-plan { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; padding: 12px 14px; background: var(--cb-manila); }
.cb-letter-plan b { font: 800 1.375rem/1.1 var(--cb-sans); letter-spacing: -.02em; }
.cb-letter-plan .cb-type { font-size: 1.125rem; }
.cb-letter-list { margin: 14px 0 0; padding-left: 26px; }
.cb-letter-list li + li { margin-top: 4px; }
.cb-letter-sign b { display: block; margin-top: 18px; font: italic 700 1.375rem/1.1 var(--cb-sans); }
.cb-letter-sign .cb-type { display: block; font-weight: 400; color: var(--k-muted); }
.cb-letter-stamp { position: absolute; right: 22px; bottom: 34px; font-size: 1.25rem; padding: 8px 14px 6px; transform: rotate(-9deg); }
@media (min-width: 720px) { .cb-letter { padding: 48px 56px 54px; } .cb-letter-stamp { right: 56px; bottom: 54px; } }
.cb-packs { display: grid; gap: 28px; }
@media (min-width: 720px) { .cb-packs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cb-pack { position: relative; padding-top: 40px; }
.cb-pack-tab { position: absolute; top: 0; left: 22px; display: flex; align-items: center; height: 42px; padding: 0 20px; background: var(--cb-manila); border-radius: 10px 10px 0 0; }
.cb-pack-feature .cb-pack-tab { left: auto; right: 22px; }
.cb-pack-body { position: relative; display: grid; gap: 12px; align-content: start; height: 100%; padding: 28px 24px 26px; background: var(--cb-manila); border-radius: 14px; box-shadow: 0 2px 0 var(--cb-manila-3), 0 16px 30px var(--cb-shade-5); }
.cb-pack-body h3 { font: 900 2rem/1 var(--cb-sans); letter-spacing: -.04em; }
.cb-pack-body > p { color: var(--cb-manila-ink); }
.cb-price-label { justify-self: start; display: inline-flex; align-items: baseline; gap: 8px; padding: 8px 14px 6px; background: var(--cb-slip); font-family: var(--cb-type); box-shadow: 0 1px 3px var(--cb-shade-6); transform: rotate(-1.5deg); }
.cb-price-label b { font-size: 2.25rem; line-height: 1; }
.cb-pack-body ul { list-style: none; margin: 4px 0 6px; padding: 0; display: grid; gap: 8px; }
.cb-pack-body li { position: relative; padding-left: 24px; font-weight: 500; }
.cb-pack-body li::before { content: "✓"; position: absolute; left: 0; font-weight: 800; color: var(--cb-green); }
.cb-pack-body .k-btn { justify-self: start; }
.cb-pack-yours { position: absolute; top: 22px; right: 22px; background: var(--cb-slip); }

/* ---------- Account: file dividers ---------- */
.cb-dividers { row-gap: 54px; margin-top: 40px; }
.cb-divider { position: relative; padding: 20px; background: var(--cb-slip); border-radius: 0 6px 6px 6px; box-shadow: var(--cb-shadow); }
.cb-divider::before { content: attr(data-cb-tab); position: absolute; bottom: 100%; left: var(--cb-x, 0); display: flex; align-items: center; height: 34px; padding: 0 18px; border-radius: 9px 9px 0 0; background: var(--cb-manila); color: var(--cb-carbon); font: 700 .8125rem/1 var(--cb-type); letter-spacing: .08em; text-transform: uppercase; }
.cb-divider:nth-child(2) { --cb-x: 18%; } .cb-divider:nth-child(3) { --cb-x: 36%; } .cb-divider:nth-child(4) { --cb-x: 54%; }
.k-account.cb-divider:empty { display: none; }
.cb-divider.k-account ul, .cb-divider .k-account ul { box-shadow: none; border: 1px solid var(--k-line); border-radius: 4px; background: var(--cb-slip); }
.cb-divider.k-account > p:first-child, .cb-divider .k-account > p:first-child { box-shadow: none; background: var(--k-surface-2); border-radius: 4px; }
.cb-divider.k-account form:last-of-type:has(input[type="checkbox"]), .cb-divider .k-account form:last-of-type:has(input[type="checkbox"]) { box-shadow: none; background: var(--k-surface-2); }
.cb-divider .k-account button, .cb-divider.k-account button { border-radius: 6px; }
.cb-divider-links { display: grid; gap: 0; padding-top: 6px; }
.cb-divrow { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "b chev" "s chev"; align-items: center; gap: 2px 12px; min-height: 64px; padding: 12px 0; border-bottom: 1px dashed var(--k-line-strong); text-decoration: none; }
.cb-divrow b { grid-area: b; font-weight: 800; }
.cb-divrow span { grid-area: s; color: var(--k-muted); font-size: .875rem; }
.cb-divrow .k-chev { grid-area: chev; }
.cb-divtalk { display: grid; gap: 6px; padding-top: 16px; }
.cb-divtalk > span { color: var(--k-muted); font-size: .9375rem; }
.cb-divtalk .k-btn-row { margin-top: 8px; }
.cb-divider-leave { display: grid; gap: 14px; }
.cb-divider-leave .k-account > p { max-width: 60ch; }
/* Account: the two columns of cards end on one line */
@media (min-width: 1024px) { .cb-dividers { align-items: stretch; } }
.cb-leave-note { color: var(--k-muted); font-size: .9375rem; max-width: 70ch; }
.cb-me { align-items: center; }
.cb-initials.k-avatar { width: 84px; height: 84px; border-radius: 6px; background: var(--cb-manila); color: var(--cb-carbon); font: 700 2rem/1 var(--cb-type); display: grid; place-items: center; box-shadow: inset 0 -5px 0 var(--cb-manila-3); }

/* ---------- signed out ---------- */
.cb-out { position: relative; max-width: 500px; margin: 72px auto 0; padding: 32px 26px 26px; background: var(--cb-slip); border-radius: 0 6px 6px 6px; box-shadow: var(--cb-shadow); display: grid; gap: 14px; }
.cb-out-tab { position: absolute; bottom: 100%; left: 0; display: flex; align-items: center; height: 36px; padding: 0 18px; background: var(--cb-manila); color: var(--cb-carbon); border-radius: 9px 9px 0 0; }
.cb-out h1 { font: 900 2.125rem/1 var(--cb-sans); letter-spacing: -.04em; }
.cb-out > p { color: var(--k-muted); }
.cb-welcome h1 { font: 900 clamp(2.75rem, 1.6rem + 4vw, 5rem)/.92 var(--cb-sans); letter-spacing: -.05em; }
.cb-welcome .k-lead { font-size: 1.1875rem; }
.cb-welcome .cb-welcome-art { background: transparent; box-shadow: none; overflow: visible; aspect-ratio: auto; border-radius: 0; padding-top: 40px; }
.cb-welcome .cb-welcome-art::after { content: none; }
.cb-welcome .cb-welcome-art figcaption { position: static; margin-top: 18px; color: var(--k-muted); }
.cb-perks { list-style: none; margin: 0; padding: 0; border-top: 3px solid var(--k-text); }
.cb-perks li { display: flex; gap: 14px; align-items: baseline; padding: 12px 0; border-bottom: 1px solid var(--k-line); font-weight: 600; }
.cb-perks b { color: var(--cb-red-desk); }

/* The drawn accordion file (welcome) */
.cb-acc { position: relative; aspect-ratio: 1 / .82; max-width: 560px; margin: 0 auto; }
.cb-acc-div { position: absolute; left: 6%; right: 6%; bottom: 8%; border-radius: 6px 6px 0 0; }
.cb-acc-div i { position: absolute; bottom: 100%; width: 23%; height: 34px; display: grid; place-items: center; border-radius: 10px 10px 0 0; background: inherit; color: var(--cb-carbon); font: 700 clamp(.625rem, .5rem + .5vw, .8125rem)/1 var(--cb-type); font-style: normal; letter-spacing: .06em; text-transform: uppercase; }
.cb-acc-d1 { top: 10%; background: var(--cb-manila-3); } .cb-acc-d1 i { left: 3%; }
.cb-acc-d2 { top: 18%; background: var(--cb-manila-4); } .cb-acc-d2 i { left: 27%; }
.cb-acc-d3 { top: 26%; background: var(--cb-manila-2); } .cb-acc-d3 i { left: 51%; }
.cb-acc-d4 { top: 34%; background: var(--cb-manila-5); } .cb-acc-d4 i { left: 75%; }
.cb-acc-paper { position: absolute; z-index: 1; width: 40%; height: 30%; padding: 10px 12px; background: var(--cb-slip); color: var(--cb-carbon); box-shadow: 0 1px 3px var(--cb-shade-7); font: 700 clamp(.625rem, .5rem + .4vw, .8125rem)/1.3 var(--cb-type); text-transform: uppercase; letter-spacing: .04em; }
.cb-acc-p1 { left: 14%; top: 30%; transform: rotate(-5deg); }
.cb-acc-p2 { right: 13%; top: 33%; transform: rotate(4deg); }
.cb-acc-front { position: absolute; z-index: 2; left: 2%; right: 2%; top: 44%; bottom: 0; display: grid; place-items: center; background: var(--cb-manila); border-radius: 6px 6px 18px 18px; box-shadow: 0 18px 34px var(--cb-shade-8), inset 0 3px 0 var(--cb-shade-9); }
.cb-acc-front::before, .cb-acc-front::after { content: ""; position: absolute; top: 10%; bottom: 10%; width: 5%; left: -3%; background: repeating-linear-gradient(135deg, var(--cb-manila-3) 0 6px, var(--cb-manila-2) 6px 12px); border-radius: 4px; z-index: -1; }
.cb-acc-front::after { left: auto; right: -3%; }
.cb-acc-label { display: grid; gap: 4px; padding: 10px 18px; background: var(--cb-slip); color: var(--cb-carbon); font: 400 clamp(.75rem, .6rem + .5vw, 1rem)/1.2 var(--cb-type); text-transform: uppercase; letter-spacing: .08em; text-align: center; box-shadow: inset 0 0 0 1px var(--cb-shade-10); }
.cb-acc-label b { font-weight: 700; letter-spacing: .14em; }
.cb-acc-tie { position: absolute; bottom: 14%; right: 12%; width: 22px; height: 22px; border-radius: 50%; background: var(--cb-red); box-shadow: 0 0 0 4px var(--cb-manila-3); }

/* ---------- public page ---------- */
.cb-pub { background: var(--cb-desk); color: var(--cb-desk-ink); }
.cb-pub .k-top { position: relative; background: var(--cb-desk); backdrop-filter: none; -webkit-backdrop-filter: none; border-bottom: 0; }
.cb-pub .k-top-links a { color: var(--cb-desk-muted); font-weight: 700; }
.cb-pub .k-top-links a:hover { background: var(--cb-tab-idle); color: var(--cb-desk-ink); }
.pb-poster { position: relative; padding-top: 70px; overflow: hidden; }
.pb-papers { position: absolute; top: 18px; right: 4%; display: flex; gap: 18px; z-index: 0; }
.pb-paper { position: relative; display: grid; align-content: start; gap: 4px; width: 150px; height: 150px; padding: 14px; background: var(--cb-slip); color: var(--cb-carbon); box-shadow: 0 2px 8px var(--cb-shade-11); font: 400 .875rem/1.2 var(--cb-type); }
.pb-paper b { font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.pb-paper-1 { transform: rotate(-6deg) translateY(20px); }
.pb-paper-2 { transform: rotate(3deg); }
.pb-paper-2 .cb-stamp { margin-top: 10px; justify-self: start; }
.pb-paper-3 { transform: rotate(-2deg) translateY(30px); display: none; }
.pb-tabs { position: relative; z-index: 1; display: flex; align-items: flex-end; gap: 4px; padding: 0 16px; }
.pb-tabs span { display: flex; align-items: center; height: 40px; padding: 0 14px; border-radius: 10px 10px 0 0; background: var(--cb-manila-2); color: var(--cb-carbon); font: 800 .8125rem/1 var(--cb-sans); text-transform: uppercase; letter-spacing: .02em; }
.pb-tabs span:nth-child(2) { height: 48px; background: var(--cb-manila-3); }
.pb-tabs span:nth-child(3) { height: 44px; background: var(--cb-manila); }
.pb-tabs span:nth-child(n+4) { display: none; }
.pb-front { position: relative; z-index: 2; display: grid; gap: 34px; padding: 30px 16px 70px; background: var(--cb-manila); border-radius: 0 14px 0 0; box-shadow: 0 -2px 10px var(--cb-shade-12); }
.pb-front::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 26px; background: repeating-linear-gradient(180deg, var(--cb-manila-3) 0 2px, var(--cb-manila) 2px 6px); }
.pb-label { color: var(--cb-manila-ink); margin-bottom: 18px; }
.pb-copy h1 { font: 900 clamp(3.375rem, 1.4rem + 7.8vw, 8.25rem)/.86 var(--cb-sans); letter-spacing: -.055em; color: var(--cb-carbon); max-width: 11ch; }
.pb-lead { margin-top: 22px; max-width: 46ch; font-size: 1.125rem; line-height: 1.5; color: var(--cb-carbon); }
.pb-acts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.pb-acts .k-btn { flex: 1 1 auto; }
.pb-cal { position: relative; justify-self: center; width: min(100%, 270px); padding: 34px 22px 22px; background: var(--cb-slip); transform: rotate(3deg); box-shadow: 0 4px 0 -1px var(--cb-slip-2), 0 8px 0 -2px var(--cb-slip-3), 0 22px 40px var(--cb-shade-13); }
.pb-cal .cb-clip { top: -16px; left: auto; right: 34px; height: 42px; width: 15px; }
.pb-cal-top { padding-bottom: 8px; border-bottom: 2px dotted var(--k-line-strong); }
.pb-cal-date { display: flex; align-items: flex-end; gap: 8px; margin: 14px 0 10px; }
.pb-cal-date b { font: 900 7rem/.78 var(--cb-sans); letter-spacing: -.07em; color: var(--cb-carbon); }
.pb-cal-date small { font: 900 2.5rem/.9 var(--cb-sans); text-transform: uppercase; color: var(--cb-red); padding-bottom: 2px; }
.pb-cal-left { color: var(--cb-red); }
.pb-tie { display: none; }
@media (min-width: 720px) {
  .pb-tabs { padding: 0 40px; gap: 6px; }
  .pb-tabs span { height: 50px; padding: 0 22px; font-size: 1rem; }
  .pb-tabs span:nth-child(2) { height: 60px; } .pb-tabs span:nth-child(3) { height: 54px; }
  .pb-tabs span:nth-child(n+4) { display: flex; }
  .pb-tabs span:nth-child(4) { height: 64px; background: var(--cb-manila-2); } .pb-tabs span:nth-child(5) { height: 46px; background: var(--cb-manila-3); }
  .pb-front { padding: 48px 40px 90px; }
  .pb-acts .k-btn { flex: none; }
  .pb-paper-3 { display: grid; }
}
@media (min-width: 1024px) {
  .pb-poster { padding-top: 110px; }
  .pb-papers { right: max(40px, calc((100vw - 1320px) / 2 + 40px)); top: 26px; gap: 26px; }
  .pb-paper { width: 190px; height: 190px; font-size: 1rem; }
  .pb-tabs { padding: 0 max(40px, calc((100vw - 1320px) / 2 + 40px)); }
  .pb-tabs span { height: 58px; padding: 0 30px; font-size: 1.125rem; }
  .pb-tabs span:nth-child(2) { height: 72px; } .pb-tabs span:nth-child(3) { height: 64px; } .pb-tabs span:nth-child(4) { height: 78px; } .pb-tabs span:nth-child(5) { height: 54px; }
  .pb-front { grid-template-columns: minmax(0, 1fr) 340px; align-items: center; gap: 48px; min-height: min(78vh, 760px); padding: 64px max(40px, calc((100vw - 1320px) / 2 + 40px)) 110px; }
  .pb-cal { width: 330px; padding: 40px 28px 28px; }
  .pb-cal-date b { font-size: 9.5rem; }
  .pb-cal-date small { font-size: 3.25rem; }
  .pb-lead { font-size: 1.3125rem; }
}
.pb-sec { padding: 64px 16px; }
.pb-sec-head { max-width: 1320px; margin: 0 auto 34px; }
.pb-sec-head > .cb-type { color: var(--cb-red-desk); margin-bottom: 12px; }
.pb-sec-head h2 { font: 900 clamp(2.375rem, 1.3rem + 4.4vw, 5rem)/.92 var(--cb-sans); letter-spacing: -.05em; max-width: 16ch; }
.pb-sec-head > p { margin-top: 16px; max-width: 54ch; color: var(--cb-desk-muted); font-size: 1.125rem; }
.pb-steps { list-style: none; margin: 30px 0 0; padding: 0; display: grid; gap: 0; border-top: 3px solid var(--cb-desk-ink); }
.pb-steps li { display: grid; gap: 6px; padding: 16px 0; border-bottom: 1px solid var(--cb-desk-line); color: var(--cb-desk-muted); }
.pb-steps b { color: var(--cb-red-desk); }
.pb-demo { max-width: 1320px; margin: 0 auto; display: grid; gap: 30px; }
.pb-demo-cal .cb-in { color: var(--cb-red); }
@media (min-width: 720px) { .pb-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); } .pb-steps li { padding: 18px 20px 18px 0; } }
@media (min-width: 1024px) {
  .pb-sec { padding: 110px max(40px, calc((100vw - 1320px) / 2 + 40px)); }
  .pb-demo { grid-template-columns: 360px minmax(0, 1fr); grid-template-areas: "cal folder" "q folder"; align-items: start; column-gap: 44px; }
  .pb-demo-cal { grid-area: cal; } .pb-demo-folder { grid-area: folder; } .pb-demo-q { grid-area: q; }
}
.pb-packs-sec { background: var(--cb-green); color: var(--cb-ink-light); --cb-desk-ink: var(--cb-ink-light); --cb-desk-muted: var(--cb-ink-light); --cb-red-desk: var(--cb-manila); }
@media (prefers-color-scheme: dark) { .pb-packs-sec { background: var(--cb-green); } }
.pb-packs-sec .cb-packs { max-width: 1320px; margin: 0 auto; }
.pb-cards { max-width: 1320px; margin: 0 auto; display: grid; gap: 18px; }
@media (min-width: 720px) { .pb-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .pb-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pb-cards .cb-card h3 { font: 800 1.25rem/1.15 var(--cb-sans); letter-spacing: -.02em; }
.pb-cards .cb-card a { color: var(--cb-green); font-weight: 700; }
.pb-person > .cb-type { display: inline-grid; place-items: center; width: 52px; height: 52px; background: var(--cb-manila); color: var(--cb-carbon); font-size: 1.125rem; border-radius: 4px; }
.pb-hours { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-weight: 400; }
.pb-hours li { display: grid; gap: 2px; border-bottom: 1px dashed var(--k-line-strong); padding-bottom: 6px; }
.pb-signin { background: var(--cb-manila); }
.pb-signin-slip { position: relative; max-width: 1320px; margin: 0 auto; display: grid; gap: 22px; align-items: center; padding: 34px 24px; background: var(--cb-slip); box-shadow: var(--cb-shadow); }
.pb-signin-slip .cb-clip { left: 36px; top: -16px; width: 15px; height: 42px; }
.pb-signin-slip h2 { margin-top: 8px; font: 900 clamp(2.25rem, 1.5rem + 3vw, 3.75rem)/.95 var(--cb-sans); letter-spacing: -.05em; }
.pb-signin-slip p:not(.cb-type) { margin-top: 10px; color: var(--k-muted); max-width: 54ch; }
.pb-signin-slip .cb-type { color: var(--cb-red); }
@media (min-width: 720px) { .pb-signin-slip { grid-template-columns: minmax(0, 1fr) auto; padding: 44px 48px; } }
.cb-pub .k-pubfoot { background: var(--cb-desk); color: var(--cb-desk-muted); border-top: 3px solid var(--cb-desk-ink); font-family: var(--cb-type); font-size: .875rem; }
.cb-pub .k-pubfoot b { color: var(--cb-desk-ink); }
.cb-pub .k-pubfoot a { color: var(--cb-desk-ink); }

/* ---------- privacy page ---------- */
.cb-pub .k-prose { font-size: 1.0625rem; }
.cb-pub .k-prose h1 { font: 900 clamp(2.5rem, 1.6rem + 3vw, 4rem)/.95 var(--cb-sans); letter-spacing: -.045em; }
.cb-pub .k-prose h2 { font: 800 1.375rem/1.2 var(--cb-sans); letter-spacing: -.02em; }
.cb-pub .k-prose .blank { background: var(--cb-manila); color: var(--cb-carbon); font-family: var(--cb-type); padding: 0 4px; border-radius: 2px; }
.cb-pub .k-prose .tip { background: var(--cb-slip); color: var(--cb-carbon); border-left: 4px solid var(--cb-red); font-family: var(--cb-type); }
.cb-pub .k-prose a { color: var(--k-brand); }

/* ---------- motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .k-app *, .k-app *::before, .k-app *::after { animation: none !important; transition: none !important; }
  .cb-hero::after { display: none; }
  .cb-slips.cb-out-l, .cb-slips.cb-in-r { transform: none; opacity: 1; }
}

/* ---------- round 1 fixes ---------- */
.k-app .k-top .cb-top-send { width: auto; height: auto; }
.cb-app .k-tabs .k-tabs-foot a { display: inline; min-height: 0; padding: 0; background: none; border-radius: 0; color: var(--k-text); font: 700 .8125rem var(--cb-type); box-shadow: none; white-space: nowrap; }
.cb-h1 { text-wrap: balance; }
@media (max-width: 599px) {
  .k-app .k-top .k-brand span { white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.05; }
  .cb-slip, .cb-slips-l .cb-slip { grid-template-columns: 52px minmax(0, 1fr) auto; grid-template-areas: "doc main main" "doc amt stamp"; gap: 8px 12px; }
  .cb-slips-l .cb-slip-doc, .cb-slips-l .cb-slip-doc img { width: 52px; }
  .cb-slips-l .cb-slip-doc img { height: 69px; }
  .cb-slip-amt { justify-self: start; align-self: end; }
  .cb-slip .cb-stamp { margin: 0 4px 2px 0; }
  .cb-slips-l .cb-slip:nth-child(even) { margin: 0; }
  .cb-slips-s .cb-slip { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "main stamp"; }
}
.cb-ledger-end .cb-link { white-space: nowrap; }
.cb-link { min-width: 0; overflow-wrap: anywhere; }
.cb-ledger-end .cb-link[href^="http"] { white-space: normal; }
.cb-me { flex-wrap: nowrap; }
@media (max-width: 599px) { .cb-me .cb-initials.k-avatar { width: 60px; height: 60px; font-size: 1.375rem; } }
.cb-welcome .cb-perks { margin-top: 20px; }

/* ---------- round 2 fixes ---------- */
.k-app :is(input, textarea)::placeholder { color: var(--k-muted); opacity: 1; font-style: italic; }
.k-app .cb-ledger-end .cb-stamp.k-badge { color: var(--k-text); }
.cb-slip-amt { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.cb-figs > div { flex-wrap: wrap; }
.cb-figs dd { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.cb-me > div { min-width: 0; overflow-wrap: anywhere; }
.cb-me .cb-initials { flex-shrink: 0; }
.k-app .k-foot a, .cb-pub .k-pubfoot a { white-space: normal; overflow-wrap: anywhere; }
.k-app .k-foot a[href^="tel:"], .cb-pub .k-pubfoot a[href^="tel:"] { white-space: nowrap; }
.cb-app .k-tabs { box-shadow: 0 6px 0 var(--cb-manila); }
.cb-qcol > section:first-child, section[aria-label="Open filings"], .cb-dividers {
  background: var(--cb-manila); border-radius: 0 14px 14px 14px; box-shadow: var(--cb-shadow); }
.cb-qcol > section:first-child, section[aria-label="Open filings"] { padding: 22px 16px 26px; }
.cb-dividers { padding: 60px 16px 28px; }
.cb-divider::before { left: 24px; }
.cb-index-h { margin-top: 26px; }
@media (min-width: 720px) { .cb-index { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); } }
@media (max-width: 599px) {
  .cb-me .cb-initials.k-avatar { display: none; }
  .cb-me h1 { margin-bottom: 24px; }
  .cb-tabs { -webkit-mask-image: linear-gradient(90deg, var(--cb-mask-solid) calc(100% - 24px), transparent); mask-image: linear-gradient(90deg, var(--cb-mask-solid) calc(100% - 24px), transparent); }
  .pb-papers { right: 16px; gap: 12px; }
  .pb-paper { width: 140px; height: 140px; }
  .pb-paper-2 .cb-stamp { display: none; }
}
.cb-slips-s .cb-slip { grid-template-columns: 48px minmax(0, 1fr) auto; grid-template-areas: "doc main stamp"; align-items: center; gap: 12px; }
.cb-slips-s .cb-slip-doc { width: 48px; }
.cb-slips-s .cb-slip-doc img { width: 48px; height: 64px; transform: none; object-fit: cover; object-position: top; border: 1px solid var(--k-line); }
.cb-slips-s .cb-slip-doc .cb-clip { display: none; }
.pb-cards .cb-card h3 + .pb-hours { margin-top: 8px; }

/* ---------- round 3 fixes ---------- */
/* Dark scheme: the manila Questions panel keeps carbon headings */
.cb-qcol > section:first-child > .cb-h2 { color: var(--cb-carbon); }
/* Phone: papers as compact slips, thumbnail 56px, notes and links across the whole card */
@media (max-width: 599px) {
  .cb-slips-l .cb-slip { grid-template-columns: 56px minmax(0, 1fr) auto; grid-template-areas: none; }
  .cb-slips-l .cb-slip-main { display: contents; }
  .cb-slips-l .cb-slip-doc, .cb-slips-l .cb-slip-doc img { width: 56px; }
  .cb-slips-l .cb-slip-doc img { height: 75px; }
  .cb-slips-l .cb-slip-doc { grid-column: 1; grid-row: 1 / span 3; }
  .cb-slips-l .cb-slip-title { grid-column: 2 / span 2; grid-row: 1; }
  .cb-slips-l .cb-slip-meta { grid-column: 2; grid-row: 2; }
  .cb-slips-l .cb-slip-amt { grid-column: 3; grid-row: 2; }
  .cb-slips-l .cb-slip .cb-stamp { grid-column: 2; grid-row: 3; justify-self: start; margin: 4px 0 0; }
  .cb-slips-l .cb-reply, .cb-slips-l .cb-slip-acts { grid-column: 1 / -1; }
}
/* Phone under 480px: the folder tabs fit four whole */
@media (max-width: 479px) {
  .cb-tabs { gap: 2px; }
  .cb-tab { padding: 0 8px; font-size: .8125rem; }
}
/* Papers aside stays in view beside the long list */
.cb-side.k-sticky { top: 24px; }
/* Account: one heading per section (the tab carries it), gold tabs, no card inside a card */
.cb-divider[data-pl-part="profile"] > h3:first-child { display: none; }
.cb-divider.k-account form:has(input[type="text"], select, textarea) { background: transparent; box-shadow: none; padding: 0; }
.cb-divider::before { height: auto; line-height: 1.2; padding: 7px 14px 6px; border-radius: 8px 8px 0 0; background: var(--cb-tab-gold); }
/* Home: send tiles with carbon rules */
@media (max-width: 719px) { .cb-index a:last-child:nth-child(odd) { grid-column: 1 / -1; } }
@media (min-width: 720px) { .cb-index a:last-child:nth-child(odd) { grid-column: auto; } }
/* Deadlines: the Self Assessment card carries its papers checklist */
.cb-strip { align-items: start; }
.cb-checks { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 8px; }
.cb-checks li { position: relative; padding: 0 0 8px 28px; border-bottom: 1px dashed var(--k-line-strong); font-size: .9375rem; }
.cb-checks li::before { content: ""; position: absolute; left: 0; top: 3px; width: 13px; height: 13px; border: 2px solid var(--k-text); border-radius: 2px; }
/* Public footer: rule inset to the content edges */
.cb-pub .k-pubfoot { border-top: 0; position: relative; }
.cb-pub .k-pubfoot::before { content: ""; position: absolute; top: 0; left: 16px; right: 16px; height: 3px; background: var(--cb-desk-ink); }
@media (min-width: 1024px) { .cb-pub .k-pubfoot::before { left: 40px; right: 40px; } }
/* Public: the Self Assessment poster date carries more weight at 1280+ */
@media (min-width: 1280px) {
  .pb-front { grid-template-columns: minmax(0, 1fr) 420px; }
  .pb-cal { width: 420px; padding: 48px 36px 36px; }
  .pb-cal-date b { font-size: 12rem; }
  .pb-cal-date small { font-size: 4rem; }
}
/* Public team: index cards with a signature, and one clipped slip for hours and address */
.pb-person { border-top: 8px solid var(--cb-manila); }
.pb-sig { margin-top: 16px; padding-top: 10px; border-top: 1px dashed var(--k-line-strong); font: italic 400 1.125rem/1.2 var(--cb-type); color: var(--k-text); }
.pb-slip { margin-top: 10px; }
.pb-slip .cb-clip { top: -10px; left: 24px; }
.pb-addr { margin-top: 12px; }
@media (min-width: 720px) { .pb-slip { grid-column: 1 / -1; } }
@media (min-width: 1024px) { .pb-slip { grid-column: auto; margin-top: 0; } }
/* Phone: compact Recent slips keep titles wide, the engagement-letter stamp sits below the text */
@media (max-width: 599px) {
  .cb-slips-s .cb-slip { grid-template-columns: 48px minmax(0, 1fr); grid-template-areas: "doc main" "doc stamp"; }
  .cb-letter-stamp { position: static; display: inline-flex; margin-top: 20px; transform: none; }
}

/* ---------- round 4 fixes ---------- */
/* Long filing labels break cleanly across lines (the manila chip on Home at phone width) */
.cb-filelabel { box-decoration-break: clone; -webkit-box-decoration-break: clone; }
/* Phone Home: headline, buttons, recent papers, questions, then the deadline */
@media (max-width: 1023px) { .cb-home { grid-template-areas: "head" "folder" "q" "cal"; } }
/* Deadlines: stepper labels stay on one line */
.k-app .cb-tear .k-steps li { font-size: .625rem; letter-spacing: .04em; white-space: nowrap; }
.cb-sa-list { margin-top: 18px; padding-top: 14px; border-top: 2px dotted var(--k-line-strong); }
.cb-sa-list[hidden] { display: none; }
.cb-sa-list .cb-tear-filing { margin-bottom: 4px; }
/* Papers: the aside stays in view beside the long list */
@media (min-width: 1024px) { .cb-side { position: sticky; top: 24px; align-self: start; } }
/* Papers, phone: thumbnail, title and amount on the first row; meta on one line; stamp beside the links */
@media (max-width: 599px) {
  .cb-slips-l .cb-slip { grid-template-columns: 56px minmax(0, 1fr) auto; grid-template-areas: none; align-items: start; }
  .cb-slips-l .cb-slip-doc { grid-column: 1; grid-row: 1 / span 4; }
  .cb-slips-l .cb-slip-title { grid-column: 2 / span 2; grid-row: 1; }
  .cb-slips-l .cb-slip-meta { grid-column: 2; grid-row: 2; min-width: 0; flex-wrap: wrap; white-space: normal; overflow-wrap: anywhere; font-size: .6875rem; letter-spacing: .08em; }
  .cb-slips-l .cb-slip-meta > time::before { content: "\00b7\00a0"; }
  .cb-slips-l .cb-slip-meta > span[data-pl-field="period"] { display: none; }
  .cb-slips-l .cb-slip-amt { grid-column: 3; grid-row: 2; justify-self: end; align-self: center; font: 700 1.125rem/1.2 var(--cb-type); }
  .cb-slips-l .cb-slip-acts { grid-column: 2 / span 2; grid-row: 3; }
  .cb-slips-l .cb-slip .cb-stamp { grid-column: 2 / span 2; grid-row: 4; justify-self: end; align-self: center; margin: 0; }
  .cb-slips-l .cb-reply { grid-column: 1 / -1; grid-row: 5; }
  .cb-slips-l .cb-reply:empty { display: none; }
}
/* Questions: the reply slip clears the heading block */
.cb-replyslip { margin-top: 16px; }
/* Account: the header initials tile duplicates the avatar; tab labels and file-row titles read as headings */
.cb-me .cb-initials { display: none; }
.cb-divider::before { font: 700 .8125rem/1.2 var(--cb-type); }
.cb-divrow b { font: 800 1.125rem/1.2 var(--cb-sans); }
/* Package: the current folder's tab takes the darker manila shade */
.cb-pack:has(.cb-pack-yours:not([hidden])) .cb-pack-tab { background: var(--cb-manila-3); }
/* Dark scheme: primary buttons on paper stay Ledger Green with white text; mint stays on the dark ground */
@media (prefers-color-scheme: dark) {
  :is(.cb-slip, .cb-tear, .cb-query, .cb-card, .cb-empty, .cb-letter, .cb-slipform, .cb-divider, .cb-out, .cb-ans, .cb-folder-body, .cb-clipboard) .k-btn:not(.k-btn-line) { background: var(--cb-green); color: var(--cb-paper); }
}
/* Text that can carry long unbroken references or amounts */
.cb-reply, .cb-you, .cb-query h3, .cb-query-detail, .cb-ans h3, .cb-memo { min-width: 0; overflow-wrap: anywhere; }
.cb-ledger-row .cb-n { min-width: 0; overflow-wrap: anywhere; }
.cb-kindsum-row { grid-template-columns: minmax(0, 1fr) minmax(0, .65fr) minmax(0, 1fr); }
.cb-kindsum-row > * { min-width: 0; overflow-wrap: anywhere; }

/* The business name after "Client file" brings its own separator, so nothing dangles when the profile has none. */
.cb-biz:not(:empty)::before { content: " · "; }
