/* ==========================================================================
   KuduDoc v6 — body-corporates (after pages/_feature.css).
   Only this page's own parts: the scheme's week in the app panel (cards, the count), the text-beside-a-capture
   layout (.bc-duo) with its numbered rail, the trustee's phone, the minute book, the vote, the rules register,
   the clearance certificate and the checker, the owner's request, the handover, the templates and who it is for.
   Everything else is the kit. Prefix: bc-.
   ========================================================================== */

/* ---------------------------------------------------------------- the app panel: the scheme's week */
.fk .bc-side-sub { margin: -8px 8px 12px; font: 500 12px/1.3 var(--font-sans); color: var(--fk-faint); }
.fk .bc-card { display: flex; flex-direction: column; gap: 6px; }
.fk .bc-card-top { display: flex; align-items: center; justify-content: space-between; gap: 8px 12px; flex-wrap: wrap; }
.fk .bc-card-title { font: 650 15.5px/1.3 var(--font-sans); letter-spacing: -.01em; color: var(--fk-ink); }
.fk .bc-card-line { font: 400 12.5px/1.5 var(--font-sans); color: var(--fk-mute); }
.fk .bc-card-foot {
  display: flex; align-items: center; justify-content: space-between; gap: 10px 14px; flex-wrap: wrap;
  margin-top: 6px; padding-top: 12px; border-top: 1px solid var(--fk-line-2); font: 500 12.5px/1.4 var(--font-sans); color: var(--fk-mute);
}
.fk .bc-replies { margin-top: 2px; }
.fk .bc-replies > li.fk-row { padding: 10px 0; }
.fk .bc-note { font: 400 12px/1.5 var(--font-sans); color: var(--fk-mute); }

/* the round robin, opened */
.fk .bc-motion { display: flex; flex-direction: column; gap: 6px; }
.fk .bc-motion .fk-label:not(:first-child) { margin-top: 10px; }
.fk .bc-motion-text {
  padding: 12px 14px; border-radius: 10px; background: #f7f9fb; box-shadow: inset 3px 0 0 var(--fk-blue);
  font: 500 13.5px/1.6 var(--font-sans); color: var(--fk-ink);
}
.fk .bc-motion-why { font: 400 13px/1.55 var(--font-sans); color: var(--fk-ink-2); }
.fk .bc-attach { display: flex; flex-direction: column; gap: 10px; margin-top: 2px; }
.fk .bc-count { display: flex; flex-direction: column; gap: 12px; }
.fk .bc-count .fk-card-h { margin: 0; }
.fk .bc-tally { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; }
.fk .bc-tally i { height: 8px; border-radius: 4px; background: #e6edf4; }
.fk .bc-tally i.is-for { background: var(--fk-blue); }
.fk .bc-tally i.is-against { background: #8494a7; }
.fk .bc-count .fk-kv > div { grid-template-columns: 84px minmax(0, 1fr); padding: 9px 0; }
.fk .bc-count > .fk-btn { align-self: flex-start; }
.fk .bc-req { display: flex; flex-direction: column; gap: 10px; }
.fk .bc-req .fk-card-h { margin: 0; }
.fk .bc-req .fk-kv > div { grid-template-columns: 84px minmax(0, 1fr); padding: 9px 0; }
.fk .bc-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 2px; }

/* ---------------------------------------------------------------- text beside a capture */
.fk .bc-duo { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 56px 72px; align-items: start; }
.fk .bc-duo--flip > .bc-duo-shot { order: -1; }
.fk .bc-duo-shot { position: sticky; top: 112px; display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.fk .bc-duo > .fk-list--rule { align-self: start; }

/* the rail: numbers on the logo's slanted stroke, top to bottom (no HowTo markup) */
.fk .bc-rail { counter-reset: bc-step; }
.fk .bc-rail > li { position: relative; counter-increment: bc-step; padding: 0 0 0 64px; min-height: 52px; }
.fk .bc-rail > li + li { margin-top: 34px; }
.fk .bc-rail > li::before {
  content: ""; position: absolute; left: 8px; top: 0; width: 7px; height: 44px; border-radius: 4px; background: var(--fk-blue); transform: var(--fk-stroke);
}
.fk .bc-rail > li::after {
  content: counter(bc-step, decimal-leading-zero); position: absolute; left: 28px; top: 27px;
  font: 650 12.5px/1 var(--font-display); letter-spacing: .08em; color: var(--fk-blue);
}
.fk .bc-rail > li.is-key::before { background: var(--orange); }
.fk .bc-rail > li.is-key::after { color: var(--fk-orange-ink); }
.fk .bc-rail--plain > li { padding-left: 40px; min-height: 0; }
.fk .bc-rail--plain > li::before { width: 5px; height: 22px; top: 2px; }
.fk .bc-rail--plain > li::after { content: none; }
.fk .bc-rail h3 { font: 650 19px/1.3 var(--font-display); letter-spacing: -.018em; color: var(--fk-ink); }
.fk .bc-rail p { margin-top: 8px; max-width: 62ch; font: 400 16px/1.62 var(--font-sans); color: var(--fk-body); }
.fk .bc-rail a { color: var(--fk-blue); }
.fk .bc-rail a:hover { color: var(--fk-blue-deep); }

/* ---------------------------------------------------------------- the trustee's phone (flat) */
.fk .bc-phone {
  width: 312px; max-width: 100%; margin-inline: auto; padding: 9px; border-radius: 44px; background: #13263b;
  box-shadow: 0 0 0 1px rgba(6, 22, 42, .08), 0 2px 4px rgba(6, 22, 42, .1), 0 30px 60px -28px rgba(6, 22, 42, .45);
}
.fk .bc-phone-screen { border-radius: 36px; background: #fff; overflow: hidden; }
.fk .bc-phone-status { display: flex; align-items: center; justify-content: space-between; height: 38px; padding: 0 26px; font: 650 12.5px/1 var(--font-sans); color: var(--fk-ink); }
.fk .bc-phone-notch { width: 86px; height: 24px; border-radius: 999px; background: #13263b; }
.fk .bc-phone-page { display: flex; flex-direction: column; gap: 8px; padding: 14px 20px 22px; }
.fk .bc-phone-brand { display: flex; align-items: center; gap: 8px; font: 600 10.5px/1.2 var(--font-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--fk-mute); }
.fk .bc-phone-brand img { width: 16px; height: auto; }
.fk .bc-phone-title { font: 650 19px/1.2 var(--font-display); letter-spacing: -.02em; color: var(--fk-ink); }
.fk .bc-phone-meta { font: 500 12px/1.4 var(--font-sans); color: var(--fk-orange-ink); }
.fk .bc-phone-text { margin-top: 4px; padding: 10px 12px; border-radius: 10px; background: #f5f8fb; font: 400 12.5px/1.55 var(--font-sans); color: var(--fk-ink-2); }
.fk .bc-phone-file { padding: 2px 0 4px; }
.fk .bc-phone-file .fk-file-txt b { font-size: 12.5px; }
.fk .bc-phone-q { margin-top: 6px; font: 600 12.5px/1.35 var(--font-sans); color: var(--fk-ink); }
.fk .bc-seg { display: grid; gap: 3px; padding: 3px; border-radius: 10px; background: #eff3f7; }
.fk .bc-seg--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fk .bc-seg--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fk .bc-seg span { display: grid; place-items: center; min-height: 32px; padding: 4px 6px; border-radius: 8px; font: 600 12.5px/1.2 var(--font-sans); color: var(--fk-mute); text-align: center; }
.fk .bc-seg span.is-on { background: #fff; color: var(--fk-blue-deep); box-shadow: 0 1px 2px rgba(16, 45, 73, .12), inset 0 0 0 1.5px var(--fk-blue); }
.fk .bc-phone-sign {
  display: flex; flex-direction: column; gap: 2px; margin-top: 8px; padding: 8px 12px 8px; border-radius: 10px;
  background: #f0f7ff; border: 1px dashed var(--fk-blue);
}
.fk .bc-phone-sign svg { width: 150px; height: 40px; }
.fk .bc-phone-sign path, .fk .fk-doc-sign path { fill: none; stroke: #16304d; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.fk .bc-phone-sign small { font: 500 11px/1.2 var(--font-sans); color: var(--fk-blue); }
.fk .bc-phone-send { width: 100%; height: 42px; margin-top: 6px; border-radius: 12px; font-size: 13.5px; }

/* ---------------------------------------------------------------- the minute book */
.fk .bc-book { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px 20px; border-radius: 16px; box-shadow: var(--fk-card-sh); }
.fk .bc-book-head { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 10px 16px; margin-bottom: 6px; }
.fk .bc-book-head .fk-card-h { margin: 0; font-size: 15px; }
.fk .bc-book-search { gap: 8px; font-weight: 500; }
.fk .bc-book-search .icon { width: 14px; height: 14px; color: var(--fk-blue); }
.fk .bc-book-count { grid-column: 1 / -1; font: 500 12px/1.3 var(--font-sans); color: var(--fk-mute); }
.fk .bc-year {
  display: inline-grid; place-items: center; width: 44px; height: 26px; border-radius: 7px; background: #f1f4f7;
  font: 650 11.5px/1 var(--font-sans); letter-spacing: .04em; color: var(--fk-ink-2);
}
.fk .bc-book-due {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px 12px; margin-top: 8px; padding: 12px 14px;
  border-radius: 12px; background: #f6faff; box-shadow: inset 0 0 0 1px #d8e7f6;
}
.fk .bc-book-due .fk-label { grid-column: 1 / -1; }
.fk .bc-book-due p { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.fk .bc-book-due b { font: 600 13px/1.3 var(--font-sans); color: var(--fk-ink); }
.fk .bc-book-due p span { font: 400 12px/1.35 var(--font-sans); color: var(--fk-mute); }

/* ---------------------------------------------------------------- a vote, counted both ways */
.fk .bc-vote { display: flex; flex-direction: column; gap: 8px; margin-top: 28px; padding: 18px 20px; border-radius: 16px; box-shadow: var(--fk-card-sh); }
.fk .bc-vote-rows { display: flex; flex-direction: column; gap: 10px; margin: 6px 0 4px; }
.fk .bc-vote-rows > div { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; align-items: center; gap: 12px; }
.fk .bc-vote-rows span:first-child { font: 500 12.5px/1.2 var(--font-sans); color: var(--fk-mute); }
.fk .bc-vote-rows b { font: 650 13px/1.2 var(--font-sans); color: var(--fk-ink); white-space: nowrap; }
.fk .bc-vote .fk-progress { height: 8px; border-radius: 4px; position: relative; }
.fk .bc-vote .fk-progress::after { content: ""; position: absolute; left: 75%; top: -3px; bottom: -3px; width: 2px; border-radius: 1px; background: var(--fk-ink); opacity: .55; }

/* ---------------------------------------------------------------- the rules register */
.fk .bc-reg { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px 20px; border-radius: 16px; box-shadow: var(--fk-card-sh); }
.fk .bc-reg-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 4px; }
.fk .bc-reg-head .fk-card-h { margin: 0; font-size: 15px; }
.fk .bc-reg .fk-file-badge { align-self: start; }
.fk .bc-reg li.bc-old .fk-file-badge { background: #f1f4f7; box-shadow: inset 0 0 0 1px #dce3ea; color: #6b7c8f; }
.fk .bc-reg li.bc-old .fk-row-txt b { color: var(--fk-ink-2); font-weight: 500; }
.fk .bc-ask { margin-top: 10px; padding: 14px 16px; border-radius: 12px; background: #f7f9fb; box-shadow: inset 0 0 0 1px var(--fk-line-2); }
.fk .bc-ask-q { display: flex; align-items: center; gap: 8px; font: 600 13px/1.4 var(--font-sans); color: var(--fk-ink); }
.fk .bc-ask-q .icon { width: 16px; height: 16px; color: var(--fk-blue); flex: none; }
.fk .bc-ask-a { margin-top: 8px; font: 400 13px/1.55 var(--font-sans); color: var(--fk-ink-2); }
.fk .bc-ask-src {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; padding: 4px 10px; border-radius: 999px;
  background: #fff; box-shadow: inset 0 0 0 1px #cfe0f1; font: 600 11.5px/1.3 var(--font-sans); color: var(--fk-blue-deep);
}
.fk .bc-ask-src::before { content: ""; width: 3px; height: 10px; border-radius: 2px; background: var(--fk-blue); transform: skewX(-14deg); }

/* ---------------------------------------------------------------- the certificate and the checker */
.fk .bc-cert { padding: 28px 28px 22px; }
.fk .bc-cert .fk-doc-title { font-size: 26px; }
.fk .bc-cert-kv { margin: 18px 0 4px; border-top: 1px solid #ece5d8; }
.fk .bc-cert-kv > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4px 16px; padding: 9px 0; border-bottom: 1px solid #ece5d8; }
.fk .bc-cert-kv dt { font: 500 11.5px/1.45 var(--font-sans); color: var(--fk-mute); }
.fk .bc-cert-kv dd { font: 600 12.5px/1.45 var(--font-sans); color: var(--fk-ink); }
.fk .bc-cert .fk-doc-sign { margin-top: 16px; }
.fk .bc-cert .fk-doc-sign > span { display: flex; flex-direction: column; gap: 6px; padding-top: 0; border-top: 0; }
.fk .bc-cert .fk-doc-sign svg { width: 100%; max-width: 128px; height: 30px; border-bottom: 1px solid #d8d1c4; }
.fk .bc-cert .fk-doc-sign em { font-style: normal; }
.fk .bc-cert-seal { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 18px; padding-top: 14px; border-top: 1px dashed #e2d9c8; }
.fk .bc-cert-seal > span:last-child { min-width: 0; font: 500 10.5px/1.45 var(--fk-mono); color: var(--fk-mute); overflow-wrap: anywhere; }
.fk .bc-check { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 18px 20px; border-radius: 16px; box-shadow: var(--fk-card-sh); }
.fk .bc-check-url { display: flex; align-items: center; gap: 7px; font: 500 12px/1 var(--font-sans); color: var(--fk-mute); }
.fk .bc-check-url .icon { width: 12px; height: 12px; color: var(--fk-faint); }
.fk .bc-check .fk-kv { align-self: stretch; }
.fk .bc-check .fk-kv > div { grid-template-columns: 92px minmax(0, 1fr); padding: 9px 0; }

/* ---------------------------------------------------------------- an owner's request, and its clock */
.fk .bc-form { display: flex; flex-direction: column; gap: 8px; padding: 20px 20px 22px; border-radius: 16px; box-shadow: var(--fk-card-sh); }
.fk .bc-form-kicker { display: flex; align-items: center; gap: 8px; font: 650 15px/1.3 var(--font-display); letter-spacing: -.012em; color: var(--fk-ink); }
.fk .bc-form-kicker img { width: 16px; height: auto; }
.fk .bc-form-who { margin-bottom: 6px; font: 500 12px/1.35 var(--font-sans); color: var(--fk-mute); }
.fk .bc-form .fk-field-l { margin-top: 6px; }
.fk .bc-seg--wrap span { font-size: 12px; }
.fk .bc-picks { display: flex; flex-wrap: wrap; gap: 6px; }
.fk .bc-picks li {
  display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px 7px 10px; border-radius: 9px; background: #fff;
  box-shadow: inset 0 0 0 1px #d9e2eb; font: 500 12.5px/1.2 var(--font-sans); color: var(--fk-ink-2);
}
.fk .bc-picks li::before { content: ""; width: 12px; height: 12px; border-radius: 3px; box-shadow: inset 0 0 0 1.5px #b7c5d3; }
.fk .bc-picks li.is-on { background: #eef5fc; box-shadow: inset 0 0 0 1.5px var(--fk-blue); color: var(--fk-blue-deep); font-weight: 600; }
.fk .bc-picks li.is-on::before { background: var(--fk-blue); box-shadow: inset 0 0 0 3px #eef5fc; }
.fk .bc-form-send { align-self: flex-start; height: 38px; margin-top: 10px; padding: 0 18px; }
.fk .bc-clock { display: flex; flex-direction: column; gap: 14px; padding: 18px 20px; border-radius: 16px; box-shadow: var(--fk-card-sh); }
.fk .bc-clock .fk-card-h { margin: 0; }

/* ---------------------------------------------------------------- handover */
.fk .bc-handover { display: flex; flex-direction: column; gap: 28px; }
.fk .bc-body { max-width: 64ch; font: 400 17px/1.65 var(--font-sans); color: var(--fk-body); }
.fk .bc-access { padding: 18px 22px 20px; border-radius: 18px; box-shadow: var(--fk-card-sh); }
.fk .bc-av-off { background: #eef1f5; color: #7a8a9c; }
.fk .bc-access-foot {
  display: flex; align-items: center; justify-content: space-between; gap: 12px 16px; flex-wrap: wrap;
  margin-top: 8px; padding-top: 14px; border-top: 1px solid var(--fk-line-2);
}

/* ---------------------------------------------------------------- templates: what each covers */
.fk .bc-tpls { border-radius: 22px; background: #fff; box-shadow: var(--fk-card-sh); padding: 4px 28px; }
.fk .bc-tpl {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: 12px 22px;
  padding: 24px 0; border-top: 1px solid var(--fk-line-2); scroll-margin-top: 100px;
}
.fk .bc-tpl:first-child { border-top: 0; }
.fk .bc-tpl-badge { width: 34px; height: 42px; margin-top: 2px; font-size: 7px; }
.fk .bc-tpl h3 { font: 650 18.5px/1.3 var(--font-display); letter-spacing: -.016em; color: var(--fk-ink); }
.fk .bc-tpl p { margin-top: 6px; max-width: 72ch; font: 400 15px/1.6 var(--font-sans); color: var(--fk-body); }
.fk .bc-tpl-act { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; padding-top: 2px; }
.fk .bc-tpl-act a {
  display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border-radius: 999px; white-space: nowrap;
  font: 600 13px/1 var(--font-sans); color: var(--fk-blue-deep); text-decoration: none; box-shadow: inset 0 0 0 1px #cfe0f1; background: #fff;
}
.fk .bc-tpl-act a:hover { box-shadow: inset 0 0 0 1.5px var(--fk-blue); color: var(--fk-blue); }
.fk .bc-tpl-act a + a { background: var(--fk-ice); }
@media (min-width: 761px) { .fk .bc-tpl-act { align-items: stretch; } .fk .bc-tpl-act a { justify-content: center; } }

/* ---------------------------------------------------------------- who it is for */
.fk .bc-who > li { grid-template-columns: minmax(0, 300px) minmax(0, 1fr); padding: 20px 0; }
.fk .bc-who-h { display: flex; align-items: center; gap: 12px; }
.fk .bc-who-h b { font: 650 16.5px/1.3 var(--font-display); letter-spacing: -.012em; color: var(--fk-ink); }
.fk .bc-who-h .fk-avatar { width: 34px; height: 34px; font-size: 11px; }

/* ---------------------------------------------------------------- closing: the H2 holds its first line */
html body .fk .fk-closing h2 { max-width: 24ch; }

/* ---------------------------------------------------------------- sources */
.fk .bc-sources { margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--fk-line); font: 400 13.5px/1.65 var(--font-sans); color: var(--fk-mute); }
.fk .bc-sources a { color: var(--fk-blue); }

/* ================================================================ responsive */
@media (max-width: 1180px) {
  .fk .bc-duo { gap: 48px 48px; }
}
@media (max-width: 1000px) {
  .fk .bc-duo { grid-template-columns: minmax(0, 1fr); }
  .fk .bc-duo-shot { position: static; max-width: 560px; }
  .fk .bc-duo > .bc-duo-shot { order: -1; }
  .fk .bc-vote { max-width: 520px; }
}
@media (max-width: 760px) {
  .fk .bc-tpls { padding: 4px 20px; }
  .fk .bc-tpl { grid-template-columns: auto minmax(0, 1fr); }
  .fk .bc-tpl-act { grid-column: 2; flex-direction: row; flex-wrap: wrap; align-items: center; padding-top: 0; }
}
@media (max-width: 720px) {
  .fk .bc-card-foot .fk-btn { width: 100%; }
  .fk .bc-count > .fk-btn { align-self: stretch; }
}
@media (max-width: 640px) {
  .fk .bc-rail > li { padding-left: 54px; }
  .fk .bc-rail > li + li { margin-top: 28px; }
  .fk .bc-rail > li::before { left: 6px; height: 40px; }
  .fk .bc-rail > li::after { left: 24px; top: 25px; }
  .fk .bc-rail--plain > li { padding-left: 32px; }
  .fk .bc-rail p { font-size: 15.5px; }
  .fk .bc-body { font-size: 16px; }
  .fk .bc-book, .fk .bc-reg, .fk .bc-form, .fk .bc-clock, .fk .bc-check, .fk .bc-vote { padding: 16px 16px 18px; }
  .fk .bc-cert { padding: 22px 18px 18px; }
  .fk .bc-cert-kv > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .fk .bc-access { padding: 16px 16px 18px; }
  .fk .bc-who > li { grid-template-columns: 1fr; }
  .fk .bc-reg-head { flex-direction: column; gap: 4px; }
  .fk .bc-vote-rows > div { grid-template-columns: 66px minmax(0, 1fr) auto; gap: 10px; }
}
@media (max-width: 360px) {
  .fk .bc-phone { padding: 7px; border-radius: 38px; }
  .fk .bc-phone-screen { border-radius: 31px; }
  .fk .bc-phone-page { padding: 12px 14px 18px; }
  .fk .bc-tpl { grid-template-columns: minmax(0, 1fr); }
  .fk .bc-tpl-badge { display: none; }
  .fk .bc-tpl-act { grid-column: 1; }
}

/* Phone and tablet: a tab shows only its own panel, so a shorter tab leaves no empty frame below it. */
@media (max-width: 1000px) { .fk .fk-app-content[data-tabs] > .fk-tabpanel:not(.is-active) { display: none; } }

/* Phone: the four tabs of the scheme panel fit the row without a hidden scroll. */
@media (max-width: 420px) { .fk .bc-tabs-4 .fk-tab { padding: 7px 7px; font-size: 12px; } }
