/* Founder console layout. Only layout and spacing live here: every colour comes from the shell tokens (var(--c-*), var(--kxs-*)), and every component is the shell's own
   (kx-card, kx-table, kx-chip, kx-btn, kx-banner, kx-state, kx-tabs). No colour literal, no inline style. Desktop is the primary target and keeps its density; tablet gets two
   columns and large touch targets; a phone gets one column. */
.fc-stack { display: grid; gap: var(--kxs-space-4); }
.fc-grid { display: grid; gap: var(--kxs-space-4); grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; }
.fc-span-12 { grid-column: span 12; } .fc-span-8 { grid-column: span 8; } .fc-span-6 { grid-column: span 6; } .fc-span-4 { grid-column: span 4; }
@media (max-width: 80rem) { .fc-span-8, .fc-span-4 { grid-column: span 12; } .fc-span-6 { grid-column: span 12; } .fc-span-4.fc-keep { grid-column: span 6; } }
@media (max-width: 64rem) { .fc-span-4 { grid-column: span 6; } }
@media (max-width: 48rem) { .fc-span-4, .fc-span-6, .fc-span-8, .fc-span-4.fc-keep { grid-column: span 12; } }

.fc-panel { min-width: 0; }
.fc-panel__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--kxs-space-3); margin-block-end: var(--kxs-space-2); }
.fc-panel__head h2 { margin: 0; }
.fc-panel__link { display: inline-flex; align-items: center; gap: var(--kxs-space-1); min-height: var(--kxs-target-min); white-space: nowrap; }
.fc-panel__prov { margin: 0 0 var(--kxs-space-3); }
.fc-prov { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--kxs-space-2); }
.fc-sub { margin: var(--kxs-space-4) 0 var(--kxs-space-2); font-size: var(--kx-size-label); font-weight: 600; letter-spacing: var(--kx-tracking-label); text-transform: uppercase; color: var(--c-muted); }

/* the ten-second line */
.fc-brief { display: flex; flex-wrap: wrap; gap: var(--kxs-space-2) var(--kxs-space-5); margin: 0 0 var(--kxs-space-4); padding: 0; list-style: none; }
.fc-brief a { display: inline-flex; align-items: baseline; gap: var(--kxs-space-2); min-height: var(--kxs-target-min); align-items: center; }
.fc-brief strong { font-family: var(--kx-font-display); font-size: 1.5rem; font-weight: 500; font-variant-numeric: lining-nums; }

/* the attention queue */
.fc-queue { list-style: none; margin: 0; padding: 0; }
.fc-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--kxs-space-2) var(--kxs-space-4); padding: var(--kxs-space-3) 0 var(--kxs-space-3) var(--kxs-space-3); border-block-start: 1px solid var(--c-line); border-inline-start: 3px solid var(--c-line); }
.fc-item:first-child { border-block-start: 0; }
.fc-item--critical { border-inline-start-color: var(--kxs-danger-dot); } .fc-item--high { border-inline-start-color: var(--kxs-warning-dot); } .fc-item--medium { border-inline-start-color: var(--kxs-info-dot); }
.fc-item__title { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.fc-item__line { margin: var(--kxs-space-1) 0 0; }
.fc-item__meta { display: flex; flex-wrap: wrap; gap: var(--kxs-space-1) var(--kxs-space-3); margin: var(--kxs-space-2) 0 0; font-size: var(--kx-size-small); color: var(--c-muted); }
.fc-item__chips { display: flex; flex-wrap: wrap; gap: var(--kxs-space-2); margin-block-end: var(--kxs-space-1); }
.fc-item__actions { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--kxs-space-2); justify-content: flex-end; }
.fc-item__why { margin: var(--kxs-space-1) 0 0; font-size: var(--kx-size-small); color: var(--c-muted); }
@media (max-width: 48rem) { .fc-item { grid-template-columns: minmax(0, 1fr); } .fc-item__actions { justify-content: flex-start; } }
.fc-more { margin-block-start: var(--kxs-space-3); }
.fc-more > summary { cursor: pointer; min-height: var(--kxs-target-min); display: flex; align-items: center; }

.fc-compact { list-style: none; margin: 0; padding: 0; }
.fc-compact > li { padding: var(--kxs-space-2) 0; border-block-start: 1px solid var(--c-line); }
.fc-compact > li:first-child { border-block-start: 0; }
.fc-stat { font-family: var(--kx-font-display); font-size: 1.5rem; font-weight: 500; font-variant-numeric: lining-nums; line-height: 1.1; }
.fc-statrow { display: flex; flex-wrap: wrap; gap: var(--kxs-space-2) var(--kxs-space-6); margin: 0 0 var(--kxs-space-3); }
.fc-statrow > div { min-width: 6rem; }
.fc-statrow dt { font-size: var(--kx-size-label); font-weight: 600; letter-spacing: var(--kx-tracking-label); text-transform: uppercase; color: var(--c-muted); }
.fc-statrow dd { margin: 0; }
.fc-num { font-variant-numeric: tabular-nums; text-align: end; }

/* progress and live meters: native elements, coloured by shell tokens */
.fc-progress { width: 100%; max-width: 14rem; height: 0.6rem; accent-color: var(--kxs-info-dot); vertical-align: middle; }
.fc-progress[data-level="warn"] { accent-color: var(--kxs-warning-dot); }
.fc-progress[data-level="danger"] { accent-color: var(--kxs-danger-dot); }
.fc-progress[data-level="ok"] { accent-color: var(--kxs-success-dot); }
.fc-sprint { border: 1px solid var(--c-line-strong); border-radius: var(--kxs-radius-m); padding: var(--kxs-space-4); }
.fc-sprint--quiet { border-color: var(--c-line); }
.fc-sprints { display: grid; gap: var(--kxs-space-3); grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr); align-items: start; }
@media (max-width: 64rem) { .fc-sprints { grid-template-columns: minmax(0, 1fr); } }
.fc-sprint h3 { margin: 0 0 var(--kxs-space-2); }

/* decisions: list and detail side by side, stacked on a tablet */
.fc-decisions { display: grid; grid-template-columns: minmax(18rem, 24rem) minmax(0, 1fr); gap: var(--kxs-space-5); align-items: start; }
@media (max-width: 64rem) { .fc-decisions { grid-template-columns: minmax(0, 1fr); } }
.fc-dlist { list-style: none; margin: 0; padding: 0; }
.fc-dlist a { display: block; padding: var(--kxs-space-3); border: 1px solid var(--c-line); border-radius: var(--kxs-radius-s); margin-block-end: var(--kxs-space-2); min-height: var(--kxs-target-min); }
.fc-dlist a[aria-current="true"] { border-color: var(--c-accent); border-width: 2px; padding: calc(var(--kxs-space-3) - 1px); }
.fc-dlist strong { display: block; overflow-wrap: anywhere; }
.fc-ask { padding: var(--kxs-space-4); border: 2px solid var(--c-line-strong); border-radius: var(--kxs-radius-m); margin-block: var(--kxs-space-4); }
.fc-ask p { margin: 0; font-family: var(--kx-font-display); font-size: 1.35rem; line-height: 1.3; }
.fc-actions { display: flex; flex-wrap: wrap; gap: var(--kxs-space-3); align-items: center; margin-block: var(--kxs-space-4); }
.fc-actions form { display: contents; }
.fc-actions .kx-btn { min-height: 3rem; padding-inline: var(--kxs-space-5); }
.fc-textarea { display: block; box-sizing: border-box; width: 100%; max-width: 100%; min-height: 6rem; font: inherit; padding: var(--kxs-space-3); }
.fc-draft { width: 100%; min-height: 14rem; }
.fc-form { display: grid; gap: var(--kxs-space-3); margin-block: var(--kxs-space-3); }
.fc-form label { font-weight: 600; }
.fc-secondary { margin-block-start: var(--kxs-space-4); }
.fc-secondary > summary { cursor: pointer; min-height: var(--kxs-target-min); display: flex; align-items: center; }
.fc-pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; margin: 0; padding: var(--kxs-space-3); border: 1px solid var(--c-line); border-radius: var(--kxs-radius-s); }

/* system */
.fc-spark { width: 100%; height: 2.25rem; display: block; color: var(--c-accent); }
.fc-spark polyline { fill: none; stroke: currentColor; stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.fc-metric { display: grid; grid-template-columns: minmax(6rem, 9rem) minmax(0, 1fr) minmax(5rem, auto); gap: var(--kxs-space-3); align-items: center; padding: var(--kxs-space-2) 0; }
.fc-metric .fc-progress { max-width: none; }
.fc-live { display: inline-flex; align-items: center; gap: var(--kxs-space-2); }
.fc-pipeline td, .fc-pipeline th { vertical-align: middle; }
.fc-wrap { overflow-wrap: anywhere; }
.fc-ask-box { opacity: 1; }
.fc-ask-box input { width: 100%; box-sizing: border-box; font: inherit; padding: var(--kxs-space-3); }

/* ---------- sign-in pages and the People page (layout only: colour, type and borders come from the shell) */
.fc-authpage { display: block; min-height: 100vh; }
.fc-auth { max-width: 26rem; margin: 0 auto; padding: var(--kxs-space-6) var(--kxs-space-4); display: grid; gap: var(--kxs-space-4); }
.fc-auth__brand { display: flex; align-items: center; gap: var(--kxs-space-3); font-family: var(--kx-font-display, inherit); font-size: 1.35rem; }
.fc-auth__foot { text-align: center; }
.fc-inline { display: inline-block; margin: 0 var(--kxs-space-1) var(--kxs-space-1) 0; }
.fc-link { width: 100%; font-family: var(--kx-font-mono, monospace); }

/* ---------- Product: programme cards in the structure of the original Programme Dashboard (layout only; colour, type and borders come from the shell) */
.fc-progs { display: grid; gap: var(--kxs-space-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 34rem), 1fr)); align-items: start; }
.fc-prog { display: grid; gap: var(--kxs-space-3); }
.fc-prog__head { display: flex; align-items: center; gap: var(--kxs-space-3); }
.fc-prog__head h2 { margin: 0; }
.fc-prog__mark { flex: none; }
.fc-prog__state { margin-inline-start: auto; }
.fc-prog__phase { display: grid; gap: var(--kxs-space-1); margin: 0; }
.fc-bignum { margin: 0 0 var(--kxs-space-2); font-size: 1.15rem; }
.fc-bignum strong { font-size: 2rem; font-weight: 600; }
.fc-bignum__label { font-size: 0.85rem; }
.fc-prog progress, .fc-phase progress { width: 100%; }
.fc-counts { display: grid; grid-template-columns: repeat(auto-fit, minmax(6.5rem, 1fr)); gap: var(--kxs-space-2); margin: 0; }
.fc-counts div { display: grid; gap: var(--kxs-space-1); }
.fc-counts dt { font-size: 0.8rem; }
.fc-counts dd { margin: 0; font-size: 1.35rem; font-weight: 600; }
.fc-prog__cols { display: grid; gap: var(--kxs-space-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
.fc-callout { padding: var(--kxs-space-3); border-inline-start: 4px solid currentColor; }
.fc-issuestrip { display: flex; flex-wrap: wrap; align-items: center; gap: var(--kxs-space-2); padding-block: var(--kxs-space-2); border-block-start: 1px solid var(--c-line); }
.fc-issuestrip__total { margin-inline-end: var(--kxs-space-2); }
.fc-prog__foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--kxs-space-2); }
.fc-num { font-family: var(--kx-font-mono, monospace); font-size: 0.85em; }
.fc-phases { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--kxs-space-2); }
.fc-phase { display: grid; grid-template-columns: minmax(0, 1fr) minmax(6rem, 14rem) 4.5rem; align-items: center; gap: var(--kxs-space-3); padding-block: var(--kxs-space-1); }
.fc-phase__count { text-align: end; }
@media (max-width: 48rem) { .fc-phase { grid-template-columns: minmax(0, 1fr) 4rem; } .fc-phase progress { grid-column: 1 / -1; grid-row: 2; } }

.fc-prog .fc-progress, .fc-phase .fc-progress { max-width: none; height: 0.75rem; }
.fc-prog__cols, .fc-counts { margin-block-end: var(--kxs-space-2); }
.fc-counts { padding-block-end: var(--kxs-space-2); }

.kx-card h3.fc-sub { margin-block: var(--kxs-space-4) var(--kxs-space-2); }
.kx-card .fc-issuestrip + h3.fc-sub { margin-block-start: var(--kxs-space-3); }

.fc-auth__name { display: grid; line-height: 1.15; }
.fc-auth__name small { font-size: 0.8rem; opacity: 0.8; font-family: inherit; }

/* the product or source named in small type under each navigation label */
.fc-nav__sub { display: block; font-size: 0.72rem; font-weight: 400; line-height: 1.2; opacity: 0.75; }

/* Belvedere's header: a larger mark, and the tagline indented so the stem of its first letter lines up with the stem of the B (the serif B's stem sits inside its serif edge). Desktop only; the phone layout is the shell's. */
@media (min-width: 761px) {
  .kx-brand__mark { width: 3.1rem; height: 3.1rem; }
  .kx-brand__tagline { margin-inline-start: 0.26rem; }
}

/* Settings: the connection checklist */
.fc-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--kxs-space-4); }
.fc-step { display: grid; gap: var(--kxs-space-2); padding-block-end: var(--kxs-space-3); border-block-end: 1px solid var(--c-line); }
.fc-step:last-child { border-block-end: 0; }
.fc-step__head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--kxs-space-3); }
.fc-step__head h3 { margin: 0; font-size: 1.1rem; }
.fc-step__n { display: inline-grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid currentColor; border-radius: 50%; font-weight: 600; }
.fc-step__body { padding-inline-start: 2.75rem; display: grid; gap: var(--kxs-space-2); }
.fc-guide { display: grid; gap: var(--kxs-space-2); padding-inline-start: 1.25rem; }

/* Command: the queue runs down the left and spans two rows, so Today and Important emails sit one above the other on its right */
@media (min-width: 80.01rem) { .fc-rows-3 { grid-row: span 3; } }
.fc-decisions-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--kxs-space-4); }
.fc-decision { padding-block-end: var(--kxs-space-3); border-block-end: 1px solid var(--c-line); }
.fc-decision:last-child { border-block-end: 0; }
.fc-mails { display: grid; gap: var(--kxs-space-3); }
