/* silmera-board.css -- the year-end board (silmera-board.js, 2026-10-04).
   Only yb-* classes; colours from the tokens of silmera.css (light and dark). */
.yb { gap: 10px; }
.yb-filters { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; font-size: 13px; color: var(--ink2); }
.yb-filters select, .yb-panel select, .yb-panel input[type="text"], .yb-panel input[type="email"], .yb-panel input[type="date"] {
  font: inherit; font-size: 13px; height: 30px; padding: 0 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--card); color: inherit; max-width: 100%; }
.yb-year { display: inline-flex; gap: 6px; align-items: center; }
.yb-legend { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 0; }
.yb-wrap { overflow-x: auto; min-width: 0; }
.yb-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.yb-table thead th { text-align: left; font-weight: 500; color: var(--ink3); border-bottom: 1px solid var(--line); padding: 6px 8px; white-space: nowrap; }
.yb-table tbody th { text-align: left; font-weight: 500; padding: 8px; vertical-align: top; border-bottom: 1px solid var(--line-soft); min-width: 140px; }
.yb-client { display: block; overflow-wrap: anywhere; }
.yb-team { display: block; font-size: 11.5px; font-weight: 400; }
.yb-cell { padding: 6px; vertical-align: top; border-bottom: 1px solid var(--line-soft); position: relative; min-width: 150px; }
.yb-cell.yb-na { color: var(--muted); text-align: center; vertical-align: middle; }
.yb-chip { display: flex; flex-direction: column; gap: 2px; width: 100%; text-align: left; font: inherit; cursor: pointer;
  border: 1px solid var(--line); border-left-width: 4px; border-radius: 8px; padding: 6px 26px 6px 8px; background: var(--card); color: inherit; }
.yb-chip:hover { background: rgba(var(--ink-rgb), 0.04); }
.yb-chip.yb-mini { display: inline-flex; width: auto; padding: 1px 8px; border-left-width: 3px; cursor: default; font-size: 11.5px; }
.yb-st { font-weight: 600; font-size: 12.5px; }
.yb-mini .yb-st { font-weight: 500; font-size: 11.5px; }
.yb-n { font-size: 11.5px; color: var(--ink2); overflow-wrap: anywhere; }
.yb-dl { font-size: 11.5px; color: var(--ink3); }
.yb-dl.yb-soon { color: var(--rev-ink); font-weight: 500; }
.yb-dl.yb-late { color: var(--bad-ink); font-weight: 600; }
.yb-none { border-left-color: var(--abs); }
.yb-waiting { border-left-color: var(--rev); }
.yb-complete { border-left-color: var(--accent); }
.yb-books { border-left-color: var(--accent); }
.yb-filled { border-left-color: var(--ok); }
.yb-flagged { border-left-color: var(--bad); }
.yb-reviewed { border-left-color: var(--ok); background: var(--c-ecfdf3); }
.yb-filed { border-left-color: var(--ok-ink); background: var(--c-ecfdf3); }
.yb-filed .yb-st::before { content: "\2713  "; }
.yb-problem .yb-chip { box-shadow: inset 0 0 0 1px rgba(var(--bad-rgb), 0.35); }
.yb-more { position: absolute; top: 8px; right: 10px; border: 0; background: transparent; color: var(--ink3); cursor: pointer; font: inherit; font-size: 15px; line-height: 1; padding: 2px 4px; border-radius: 4px; }
.yb-more:hover { background: rgba(var(--ink-rgb), 0.08); color: var(--ink); }
.yb-panel { gap: 10px; margin-top: 12px; }
.yb-panel h3 { margin: 6px 0 0; font-size: 14px; }
.yb-panel h4 { margin: 6px 0 2px; font-size: 13px; font-weight: 600; }
.yb-panel-head { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; flex-wrap: wrap; }
.yb-panel-head h2 { margin: 0; }
.yb-marks, .yb-ck-src, .yb-lt-opts { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 13px; }
.yb-ck-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; font-size: 13px; }
.yb-ck-list li { display: flex; flex-wrap: wrap; gap: 6px; align-items: baseline; overflow-wrap: anywhere; }
.yb-ck-missing { color: var(--bad-ink); }
.yb-ck-probably { color: var(--rev-ink); }
.yb-ck-received { color: var(--ok-ink); }
.yb-ok { color: var(--ok-ink); font-weight: 600; }
.yb-tick { font-size: 12px; color: var(--ink3); white-space: nowrap; }
.yb-lt-acts { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 0; }
