.dmc-kb { --dmc-col-min: 220px; --dmc-col-shut: 44px; padding: 8px 4px 24px; font-size: var(--font-ui-small); }
.dmc-kb-bar { display: flex; gap: 12px; align-items: center; padding: 4px 8px 10px; flex-wrap: wrap; }
.dmc-kb-wip { padding: 2px 10px; border-radius: 999px; background: var(--background-modifier-hover); font-weight: 600; }
.dmc-kb-wip.is-full { background: var(--background-modifier-error); color: var(--text-on-accent); }
.dmc-kb-hint { color: var(--text-muted); }
.dmc-kb-grid { display: grid; gap: 8px; padding: 0 8px; }
.dmc-kb-colhead { position: sticky; top: 0; z-index: 2; background: var(--background-primary); padding: 6px 8px; font-weight: 600; border-bottom: 2px solid var(--background-modifier-border); display: flex; justify-content: space-between; }
.dmc-kb-colhead .dmc-kb-count { color: var(--text-muted); font-weight: 400; }
.dmc-kb-lane { grid-column: 1 / -1; display: flex; gap: 8px; align-items: center; margin-top: 10px; padding: 4px 6px; cursor: pointer; font-weight: 600; color: var(--text-normal); border-radius: 6px; }
.dmc-kb-lane:hover { background: var(--background-modifier-hover); }
.dmc-kb-lane .dmc-kb-count { color: var(--text-muted); font-weight: 400; }
.dmc-kb-cell { min-height: 48px; padding: 6px; border-radius: 8px; background: var(--background-secondary); display: flex; flex-direction: column; gap: 6px; }
.dmc-kb-cell.is-over { outline: 2px dashed var(--interactive-accent); outline-offset: -2px; }
.dmc-kb-cell.is-locked { opacity: .6; }
.dmc-kb-card { background: var(--background-primary); border: 1px solid var(--background-modifier-border); border-left: 4px solid var(--dmc-band, var(--background-modifier-border)); border-radius: 6px; padding: 6px 8px; cursor: grab; box-shadow: var(--shadow-s); }
.dmc-kb-card:hover { border-color: var(--interactive-accent); }
.dmc-kb-card.is-dragging { opacity: .4; }
.dmc-kb-card.is-blocked { background: color-mix(in srgb, var(--background-modifier-error) 12%, var(--background-primary)); }
.dmc-kb-id { font-weight: 600; font-size: var(--font-ui-smaller); color: var(--text-muted); display: flex; justify-content: space-between; gap: 6px; }
.dmc-kb-title { margin: 2px 0 4px; line-height: 1.3; color: var(--text-normal); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.dmc-kb-id { align-items: center; }
.dmc-kb-key { margin-right: auto; }
.dmc-kb-class { margin-right: 4px; }
.dmc-kb-right { display: flex; gap: 6px; align-items: center; }
.dmc-kb-imp { font-weight: 700; color: var(--text-normal); }
.dmc-kb-imp.is-missing { font-weight: 400; font-style: italic; color: var(--text-faint); }
.dmc-kb-at-options .dmc-kb-imp { font-size: var(--font-ui-medium); }
.dmc-kb-age, .dmc-kb-acc { padding: 0 5px; border-radius: 4px; font-weight: 600; }
.dmc-kb-age.is-green, .dmc-kb-acc.is-green { color: #0CA30C; background: color-mix(in srgb, #0CA30C 14%, transparent); }
.dmc-kb-age.is-amber, .dmc-kb-acc.is-amber { color: #B57F00; background: color-mix(in srgb, #FAB219 20%, transparent); }
.dmc-kb-age.is-red, .dmc-kb-acc.is-red { color: #D03B3B; background: color-mix(in srgb, #D03B3B 14%, transparent); }
.dmc-kb-acc.is-faint { color: var(--text-faint); font-weight: 400; }
.dmc-kb-next { font-size: var(--font-ui-smaller); color: var(--text-muted); margin-bottom: 4px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.dmc-kb-next:empty { display: none; }
.dmc-kb-next.is-missing { color: #B57F00; font-style: italic; }
.dmc-kb-foot { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; font-size: var(--font-ui-smaller); color: var(--text-muted); }
.dmc-kb-cp { padding: 0 6px; border-radius: 4px; background: var(--background-modifier-hover); color: var(--text-accent); }
.dmc-kb-cp.is-missing { color: var(--text-faint); font-style: italic; background: none; padding: 0; }
.dmc-kb-meta:empty { display: none; }
.dmc-kb-meta.is-red { color: #D03B3B; font-weight: 600; }
.dmc-kb-meta.is-amber { color: #B57F00; }
.dmc-kb-chips:empty { display: none; }
.dmc-kb-chips { margin-top: 4px; }
.dmc-kb-chips { display: flex; flex-wrap: wrap; gap: 4px; }
.dmc-kb-chip { font-size: var(--font-ui-smaller); padding: 0 6px; border-radius: 4px; background: var(--background-modifier-hover); color: var(--text-muted); white-space: nowrap; }
.dmc-kb-blocked { font-size: var(--font-ui-smaller); color: var(--text-error); }
.dmc-kb-band-alta  { --dmc-band: #D03B3B; }
.dmc-kb-band-media { --dmc-band: #FAB219; }
.dmc-kb-band-baja  { --dmc-band: #0CA30C; }
.dmc-kb-empty { color: var(--text-faint); font-style: italic; padding: 4px; }
.dmc-kb-lane.is-sub { margin-top: 4px; font-weight: 500; color: var(--text-muted); }
.dmc-kb-groupbar { padding: 0 8px 12px; }
.dmc-kb-sub { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.dmc-kb-sub select { font-size: var(--font-ui-small); }
.dmc-kb-level { display: inline-flex; align-items: center; gap: 2px; padding: 1px 4px 1px 8px; border-radius: 999px; background: var(--background-modifier-hover); }
.dmc-kb-level.is-locked { padding-right: 8px; color: var(--text-muted); }
.dmc-kb-btn { padding: 0 4px; height: auto; min-height: 0; font-size: var(--font-ui-smaller); background: transparent; box-shadow: none; color: var(--text-muted); }
.dmc-kb-btn:hover:not(:disabled) { color: var(--text-normal); }
.dmc-kb-btn:disabled { opacity: .3; }
.dmc-kb-objective { color: var(--text-muted); font-weight: 400; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.dmc-kb-lane.is-top { display: block; }
.dmc-kb-lane-top { display: flex; gap: 8px; align-items: center; }
.dmc-kb-lane.is-sub .dmc-kb-lane-top { flex: 1; }
.dmc-kb-lane-gap { flex: 1; }
.dmc-kb-lane-link { color: inherit; text-decoration: none; cursor: pointer; }
.dmc-kb-lane-link:hover { color: var(--text-accent); text-decoration: underline; }
.dmc-kb-lane-title { font-weight: 500; color: var(--text-muted); }
.dmc-kb-lane .dmc-kb-cp { font-weight: 400; font-size: var(--font-ui-smaller); }
.dmc-kb-lane.is-top .dmc-kb-objective, .dmc-kb-lane.is-top > .dmc-kb-hint { font-size: var(--font-ui-smaller); margin-top: 1px; }
.dmc-kb-health { display: flex; flex-wrap: wrap; gap: 2px 10px; align-items: center; font-weight: 400; font-size: var(--font-ui-smaller); color: var(--text-muted); margin-top: 2px; }
.dmc-kb-health:empty { display: none; }
.dmc-kb-health .dmc-kb-age { font-weight: 600; }
.dmc-kb-lane.is-empty { opacity: .65; }
.dmc-kb-colhead { cursor: pointer; user-select: none; }
.dmc-kb-colhead:hover { color: var(--interactive-accent); }
.dmc-kb-groupbar { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; }
.dmc-kb-fold { display: inline-flex; gap: 4px; }
/* Collapsed column: one strip, header to last lane, like the Kanban
   plugin's collapsed lists. It sits above the lane headers passing beneath. */
.dmc-kb-colhead .dmc-kb-collabel { display: inline-flex; gap: 6px; align-items: center; }
.dmc-kb-chevron { color: var(--text-muted); font-weight: 400; }
.dmc-kb-lane { position: relative; z-index: 1; }
.dmc-kb-strip { position: relative; z-index: 3; cursor: pointer; background: var(--background-primary); border: 1px solid var(--background-modifier-border); border-radius: 8px; }
.dmc-kb-strip:hover { border-color: var(--interactive-accent); }
.dmc-kb-strip.is-over { outline: 2px dashed var(--interactive-accent); outline-offset: -3px; }
.dmc-kb-strip-inner { position: sticky; top: 0; display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 10px 0; }
.dmc-kb-strip-label { writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; font-weight: 600; }
.dmc-kb-pill { font-size: var(--font-ui-smaller); padding: 0 6px; border-radius: 999px; background: var(--background-modifier-hover); color: var(--text-muted); }
.dmc-kb-add { align-self: flex-start; margin-top: 2px; font-size: var(--font-ui-smaller); background: transparent; box-shadow: none; color: var(--text-faint); padding: 2px 6px; }
.dmc-kb-add:hover { color: var(--interactive-accent); background: var(--background-modifier-hover); }
.dmc-kb-new { font-size: var(--font-ui-small); }
/* Card panels (```dmc-card```) */
.dmc-card-panel { border: 1px solid var(--background-modifier-border); border-radius: 8px; padding: 8px 12px; margin: 4px 0 12px; background: var(--background-secondary); display: flex; flex-direction: column; gap: 4px; }
.dmc-card-row { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; }
.dmc-card-lane { font-weight: 600; }
.dmc-card-chip { padding: 0 8px; border-radius: 999px; background: var(--background-modifier-hover); border-left: 4px solid var(--dmc-band, transparent); }
.dmc-card-muted { color: var(--text-muted); font-size: var(--font-ui-small); }
.dmc-card-bad { color: var(--text-error); font-weight: 600; }
.dmc-card-group summary { cursor: pointer; font-weight: 600; margin-top: 4px; }
.dmc-card-group ul { margin: 4px 0 4px 0; padding-left: 18px; }
.dmc-card-snippet { color: var(--text-muted); }

/* Card notes (cssclasses: [dmc-card]): the bookkeeping group stays in the
   file for the scripts but out of the properties panel. */
.dmc-card .metadata-property[data-property-key="type"],
.dmc-card .metadata-property[data-property-key="id"],
.dmc-card .metadata-property[data-property-key="work_type"],
.dmc-card .metadata-property[data-property-key="source_note"],
.dmc-card .metadata-property[data-property-key="applied_notes"],
.dmc-card .metadata-property[data-property-key="cssclasses"] { display: none; }
/* Same for projects, experiments and daily notes. */
.dmc-project .metadata-property[data-property-key="type"],
.dmc-project .metadata-property[data-property-key="id"],
.dmc-project .metadata-property[data-property-key="source_note"],
.dmc-project .metadata-property[data-property-key="applied_notes"],
.dmc-project .metadata-property[data-property-key="cssclasses"],
.dmc-experiment .metadata-property[data-property-key="type"],
.dmc-experiment .metadata-property[data-property-key="id"],
.dmc-experiment .metadata-property[data-property-key="source_note"],
.dmc-experiment .metadata-property[data-property-key="applied_notes"],
.dmc-experiment .metadata-property[data-property-key="cssclasses"],
.dmc-daily .metadata-property[data-property-key="type"],
.dmc-daily .metadata-property[data-property-key="processed_at"],
.dmc-daily .metadata-property[data-property-key="mutations_applied"],
.dmc-daily .metadata-property[data-property-key="mutations_failed"],
.dmc-daily .metadata-property[data-property-key="cssclasses"] { display: none; }

/* Organigrama (sidebar) */
.dmc-org { padding: 4px 8px; }
.dmc-org-bar { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin-bottom: 6px; }
.dmc-org-row { display: flex; gap: 6px; align-items: center; padding: 2px 4px; border-radius: 4px; cursor: pointer; font-size: var(--font-ui-small); }
.dmc-org-row:hover { background: var(--background-modifier-hover); }
.dmc-org-arrow { width: 12px; flex: none; color: var(--text-faint); }
.dmc-org-label { font-weight: 600; flex: none; }
.dmc-org-row.is-unit .dmc-org-label { color: var(--text-muted); }
.dmc-org-name { color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; flex: 1; }
.dmc-org-count { margin-left: auto; flex: none; color: var(--text-muted); font-size: var(--font-ui-smaller); background: var(--background-modifier-hover); border-radius: 8px; padding: 0 6px; }
.dmc-org-search { flex: none; opacity: 0; font-size: 11px; padding: 0 2px; }
.dmc-org-row:hover .dmc-org-search { opacity: 1; }
.dmc-org-cards { margin: 0 0 4px; padding-left: 12px; font-size: var(--font-ui-smaller); }

/* Contrapartes panel */
.dmc-cp-modal { width: min(920px, 92vw); }
.dmc-cp-bar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.dmc-cp-tree { max-height: 65vh; overflow-y: auto; }
.dmc-cp-row { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; padding-top: 3px; padding-bottom: 3px; border-radius: 6px; }
.dmc-cp-row:hover { background: var(--background-modifier-hover); }
.dmc-cp-row.is-seg { color: var(--text-muted); font-size: var(--font-ui-small); text-transform: uppercase; letter-spacing: .04em; }
.dmc-cp-tag { font-weight: 600; font-family: var(--font-monospace); }
.dmc-cp-name { color: var(--text-normal); }
.dmc-cp-cards { margin: 2px 0 6px; padding-left: 14px; font-size: var(--font-ui-small); }
.dmc-cp-similar ul { margin: 4px 0 8px; font-size: var(--font-ui-small); }

/* Cerrar el día */
.dmc-close h4 { margin: 14px 0 2px; }
.dmc-close h4:first-child { margin-top: 0; }

/* The day's focus («rutina diaria» (2026-10-18), piece 2) */
.dmc-kb-focus { background: none; border: none; box-shadow: none; padding: 0 2px; cursor: pointer; opacity: .25; font-size: var(--font-ui-smaller); }
.dmc-kb-card:hover .dmc-kb-focus { opacity: .7; }
.dmc-kb-focus.is-on { opacity: 1; }
.dmc-kb-card.is-focus { outline: 2px solid var(--interactive-accent); outline-offset: -1px; }
.dmc-kb-progress { font-size: var(--font-ui-smaller); font-weight: 400; }
.dmc-kb-progress.is-green { color: #0CA30C; }
.dmc-kb-progress.is-amber { color: #B57F00; }
.dmc-kb-progress.is-red { color: #D03B3B; }
.dmc-kb-progress:empty { display: none; }

/* Aplicar */
.dmc-apply-list { margin: 4px 0 8px; padding-left: 18px; font-size: var(--font-ui-small); }
.dmc-apply-result pre { max-height: 220px; overflow: auto; font-size: var(--font-ui-smaller); background: var(--background-secondary); padding: 6px 8px; border-radius: 6px; white-space: pre-wrap; }

/* Tablero de hoy (```dmc-tablero```) — the focus first, the rest folded */
.dmc-tablero { border: 1px solid var(--background-modifier-border); border-radius: 10px; padding: 10px 14px; background: var(--background-secondary); font-size: var(--font-ui-small); }
.dmc-tab-label { font-size: var(--font-ui-smaller); color: var(--text-muted); margin: 8px 0 4px; }
.dmc-tab-label:first-child { margin-top: 0; }
.dmc-tab-empty { color: var(--text-muted); font-style: italic; }
.dmc-tab-hero { display: flex; gap: 10px; align-items: flex-start; padding: 8px 10px; border: 2px solid var(--interactive-accent); border-radius: 8px; background: var(--background-primary); }
.dmc-tab-target { font-size: 1.1em; line-height: 1.4; }
.dmc-tab-hero-body { flex: 1; min-width: 0; }
.dmc-tab-hero-title { font-weight: 600; font-size: var(--font-ui-medium); line-height: 1.35; }
.dmc-tab-meta { color: var(--text-muted); font-size: var(--font-ui-smaller); margin-top: 2px; }
.dmc-tab-meta .is-amber { color: #B57F00; } .dmc-tab-meta .is-red { color: #D03B3B; } .dmc-tab-meta .is-green { color: #0CA30C; }
.dmc-tab-more { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 4px 10px; align-items: center; }
.dmc-tab-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dmc-tab-why { font-size: var(--font-ui-smaller); color: var(--text-muted); white-space: nowrap; }
.dmc-tab-why.is-urgent { color: #D03B3B; background: color-mix(in srgb, #D03B3B 12%, transparent); border-radius: 4px; padding: 0 6px; }
.dmc-tab-strip { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--background-modifier-border); }
.dmc-tab-chip { padding: 1px 8px; border-radius: 6px; background: var(--background-modifier-hover); font-size: var(--font-ui-smaller); }
.dmc-tab-chip.is-full { color: var(--text-error); font-weight: 600; }
.dmc-tab-lanebtn { font-size: var(--font-ui-smaller); padding: 1px 8px; height: auto; }
.dmc-tab-lanebtn.is-on { background: var(--interactive-accent); color: var(--text-on-accent); }
.dmc-tab-lanebtn.is-red { color: var(--text-error); }
.dmc-tab-exp { font-size: var(--font-ui-smaller); color: var(--text-muted); margin-left: auto; cursor: help; }
.dmc-tab-detail { margin-top: 4px; }
.dmc-tab-row { padding: 1px 0; }
.dmc-tablero .dmc-kb-focus { opacity: .55; font-size: var(--font-ui-smaller); }
.dmc-tablero .dmc-kb-focus.is-on { opacity: 1; }

/* Applied passes (```yaml-applied```), one line each */
.dmc-applied { font-size: var(--font-ui-smaller); color: var(--text-muted); margin: 2px 0; }
.dmc-applied summary { cursor: pointer; }
.dmc-applied ul { margin: 4px 0; padding-left: 18px; }
.dmc-applied pre { font-size: var(--font-ui-smaller); max-height: 240px; overflow: auto; }

/* Fijadas */
.dmc-tab-more { grid-template-columns: minmax(0, 1fr) auto auto; }
.dmc-tab-btns { display: flex; gap: 2px; }
.dmc-tab-why.is-pinned { color: var(--text-accent); }
.dmc-tab-why.is-ask { color: #B57F00; background: color-mix(in srgb, #FAB219 18%, transparent); border-radius: 4px; padding: 0 6px; }
.dmc-kb-card.is-pinned { border-top: 2px solid var(--text-accent); }

/* Full titles in Tablero de hoy: they wrap instead of being cut */
.dmc-tab-more { align-items: start; row-gap: 6px; }
.dmc-tab-name { white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.35; }
.dmc-tab-why { margin-top: 1px; }
.dmc-tab-row { line-height: 1.35; padding: 2px 0; }

/* Board cards show the full title too (2026-10-18), over as many lines as it takes */
.dmc-kb-title { display: block; -webkit-line-clamp: unset; overflow: visible; }

/* Focus queue */
.dmc-tab-queue .dmc-tab-name { cursor: grab; }
.dmc-tab-turn { color: var(--text-muted); font-size: var(--font-ui-smaller); }
.dmc-tab-hero.is-drop { background: color-mix(in srgb, var(--interactive-accent) 12%, var(--background-primary)); }
.dmc-kb-focus.is-queued { opacity: .8; font-size: var(--font-ui-smaller); }
.dmc-tab-name.is-draggable { cursor: grab; }
.dmc-tab-why.is-queued { color: var(--text-accent); }

/* Deshacer, inside the action's notice */
.dmc-undo { display: inline-flex; gap: .75em; align-items: center; flex-wrap: wrap; }
.dmc-undo button { padding: 2px 10px; }

/* Fixed column headers (2026-10-18). The panel that scrolls is Bases'
   .bases-view (overflow: auto, both ways); the grid must not be a scroller of
   its own, or the sticky headers stick to it and scroll away with the board.
   The bars stay at the left edge when the board scrolls sideways. */
.dmc-kb .dmc-kb-bar, .dmc-kb .dmc-kb-groupbar { position: sticky; left: 0; }
.dmc-kb-colhead { top: 0; z-index: 3; }
.dmc-kb-lane { position: sticky; z-index: 2; background: var(--background-primary); }
.dmc-kb-lane:hover { background: color-mix(in srgb, var(--text-normal) 6%, var(--background-primary)); }

/* Card properties: only those with a value (2026-10-18). The empty ones come
   back while editing the panel, so a date can still be filled in there. */
.dmc-card .metadata-property.dmc-prop-empty { display: none; }
.dmc-card .metadata-container:focus-within .metadata-property.dmc-prop-empty { display: flex; }

/* Pulso (2026-10-30): the weekly thresholds, live, under the bar */
.dmc-pulse { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 2px 0 6px; font-size: var(--font-ui-smaller); }
.dmc-pulse-chip { padding: 1px 8px; border-radius: 999px; background: var(--background-modifier-hover); color: var(--text-muted); }
.dmc-pulse-chip.is-warn, .dmc-pulse-alerts.is-warn { background: rgba(var(--color-orange-rgb), 0.18); color: var(--text-normal); }
.dmc-pulse-alerts { font-size: var(--font-ui-smaller); padding: 1px 8px; height: auto; border-radius: 999px; }
.dmc-replenish { max-width: 760px; }
.dmc-replenish .setting-item-control input[type="text"] { width: 12em; }
