/* Modo oscuro: el tablero y sus controles usan las superficies V3. */
html.v3-dark .v3fn-tabs button,
html.v3-dark .v3fn-tabs .manage { color: var(--v3-muted); }
html.v3-dark .v3fn-tabs button:hover { background: var(--v3-hover); color: var(--v3-ink); }
html.v3-dark .v3fn-tabs button.on { background: var(--v3-primary-soft); color: var(--v3-primary-ink); }
html.v3-dark .v3fn-tabs button em { background: var(--v3-surface-high); }
html.v3-dark .v3fn-search,
html.v3-dark .v3fn-filterbtn,
html.v3-dark .v3fn-ib,
html.v3-dark .v3fn-pop { background: var(--v3-card); border-color: var(--v3-line); color: var(--v3-ink); }
html.v3-dark .v3fn-search input { color: var(--v3-ink); }
html.v3-dark .v3fn-search input::placeholder { color: var(--v3-muted); opacity: 1; }
html.v3-dark .v3fn-search kbd { background: var(--v3-hover); border-color: var(--v3-line); color: var(--v3-muted); }
html.v3-dark .v3fn-filterbtn:hover,
html.v3-dark .v3fn-ib:hover { background: var(--v3-hover); }
html.v3-dark .v3fn-filterbtn.on,
html.v3-dark .v3fn-soft,
html.v3-dark .v3fn-soft.on { background: var(--v3-primary-soft); border-color: var(--v3-line); color: var(--v3-primary-ink); }
html.v3-dark .v3fn-pop .head button { color: var(--v3-primary-ink); }
html.v3-dark .v3fn-pop .row > span,
html.v3-dark .v3fn-pop small { color: var(--v3-muted); }
html.v3-dark .v3fn-pop .chips button { background: var(--v3-surface-high); border-color: var(--v3-line); color: var(--v3-ink); }
html.v3-dark .v3fn-pop .chips button.on { background: var(--v3-primary-soft); border-color: var(--v3-primary-edge); color: var(--v3-primary-ink); }
html.v3-dark .v3fn-count,
html.v3-dark .v3fn-live,
html.v3-dark .v3fn-metrics { color: var(--v3-muted); }
html.v3-dark .v3fn-count b,
html.v3-dark .v3fn-metrics b,
html.v3-dark .v3fn-metrics .goal button { color: var(--v3-ink); }
html.v3-dark .v3fn-metrics .v3-icon,
html.v3-dark .v3fn-metrics .goal em { color: var(--v3-blue-3); }
html.v3-dark .v3fn-metrics .goal input { background: var(--v3-card); border-color: var(--v3-line); color: var(--v3-ink); }
html.v3-dark .v3fn-metrics .goal i { background: var(--v3-line); }
html.v3-dark .v3fn-seg { background: var(--v3-card); border-color: var(--v3-line); }
html.v3-dark .v3fn-seg button { color: var(--v3-muted); }
html.v3-dark .v3fn-seg button.on { background: var(--v3-surface-high); color: var(--v3-ink); box-shadow: none; }
html.v3-dark .v3fn-active { background: var(--v3-primary-soft); }
html.v3-dark .v3fn-active > span { color: var(--v3-primary-ink); }
html.v3-dark .v3fn-active b { background: var(--v3-card); }
html.v3-dark .v3fn-active button { color: var(--v3-rose-ink); }

html.v3-dark .v3fn-stages button { background: var(--v3-card); border-color: var(--v3-line); color: var(--v3-ink); }
html.v3-dark .v3fn-stages button:hover { background: var(--v3-hover); }
html.v3-dark .v3fn-stages button em,
html.v3-dark .v3fn-stages button.zero { color: var(--v3-muted); }
html.v3-dark .v3fn-arrow { background: var(--v3-surface-high); color: var(--v3-ink); box-shadow: 0 6px 18px -4px rgba(0,0,0,.45); }
html.v3-dark .v3fn-arrow:hover { background: var(--v3-primary-soft); color: var(--v3-primary-ink); }
html.v3-dark .v3fn-board,
html.v3-dark .v3fn-col .cards { scrollbar-color: var(--v3-neutral-light) transparent; }
html.v3-dark .v3fn-col { background: var(--v3-card); color: var(--v3-ink); }
html.v3-dark .v3fn-col.drop { background: var(--v3-hover); }
html.v3-dark .v3fn-col .grip,
html.v3-dark .v3fn-col h2 em,
html.v3-dark .v3fn-col .ib,
html.v3-dark .v3fn-col .sum,
html.v3-dark .v3fn-col.rail,
html.v3-dark .v3fn-col .empty { color: var(--v3-muted); }
html.v3-dark .v3fn-col h2 { color: var(--v3-ink); }
html.v3-dark .v3fn-col h2 em.wip { color: var(--v3-rose-ink); }
html.v3-dark .v3fn-col .ib:hover { background: var(--v3-hover); color: var(--v3-ink); }
html.v3-dark .v3fn-col .ib.zap { color: var(--v3-primary-ink); }
html.v3-dark .v3fn-col .wipbar { background: var(--v3-line); }
html.v3-dark .v3fn-col .wipbar i.over { background: var(--v3-rose-ink); }
html.v3-dark .v3fn-col .empty { border-color: var(--v3-line); }
html.v3-dark .v3fn-more { background: var(--v3-hover); color: var(--v3-ink); }

html.v3-dark .v3fn-card { background: var(--v3-surface-high); color: var(--v3-ink); box-shadow: inset 0 0 0 1px var(--v3-line); }
html.v3-dark .v3fn-card:hover { box-shadow: inset 0 0 0 1px var(--v3-primary-edge), 0 8px 20px -10px rgba(0,0,0,.5); }
html.v3-dark .v3fn-card.on,
html.v3-dark .v3fn-card.over { box-shadow: inset 0 0 0 2px var(--v3-primary-edge); }
html.v3-dark .v3fn-card:focus-visible { outline-color: var(--v3-blue-3); }
html.v3-dark .v3fn-card .av[style] { background: var(--v3-neutral-light) !important; color: var(--v3-ink) !important; }
html.v3-dark .v3fn-card .id strong,
html.v3-dark .v3fn-card .foot .money { color: var(--v3-ink); }
html.v3-dark .v3fn-card .id small,
html.v3-dark .v3fn-card .foot { color: var(--v3-muted); }
html.v3-dark .v3fn-card .tags .more,
html.v3-dark .v3fn-card .chips span,
html.v3-dark .v3fn-card .px { background: var(--v3-card); color: var(--v3-text-2); }
html.v3-dark .v3fn-card .tags span[style] { background: var(--v3-hover) !important; color: var(--v3-ink) !important; }
html.v3-dark .v3fn-card .chips span[style] { color: var(--v3-ink) !important; }
html.v3-dark .v3fn-card .chips .warn { background: var(--v3-amber-soft); color: var(--v3-amber-ink); }
html.v3-dark .v3fn-card .nba { background: var(--v3-primary-soft); color: var(--v3-primary-ink); }
html.v3-dark .v3fn-card .dt.late { color: var(--v3-rose-ink); }
html.v3-dark .v3fn-card .px.late { background: var(--v3-rose-soft); color: var(--v3-rose-ink); }
html.v3-dark .v3fn-card .own { background: var(--v3-neutral-light); color: var(--v3-ink); }
html.v3-dark .v3fn-card .disp { border-color: var(--v3-line); }
html.v3-dark .v3fn :is(button, [role="button"]):focus-visible { outline: 2px solid var(--v3-blue-3); outline-offset: 2px; }
