/*
 * Weekly review — mock layout (weekly-review.html) scoped to .qcc--weekly.
 * Design-system alignment: semantic tokens + flat surfaces; markup unchanged.
 */
@layer features {

#reportSectionQualityCommand .qcc--weekly {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

#reportSectionQualityCommand .qcc--weekly .qcc-wk-stack {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  gap: var(--space-3);
  width: 100%;
  min-height: 0;
}
#reportSectionQualityCommand .qcc--weekly .qcc-wk-stack[hidden] {
  display: none;
}
#reportSectionQualityCommand .qcc--weekly .qcc-wk-stack > .sumgrid,
#reportSectionQualityCommand .qcc--weekly .qcc-wk-stack > .card {
  width: 100%;
  flex: 0 0 auto;
  margin: 0;
}

/* Surfaces — flat card (ds-card--flat look) */
#reportSectionQualityCommand .qcc--weekly .card {
  background: var(--color-bg-surface);
  border: var(--border-width-1) solid var(--color-divider);
  border-radius: var(--radius-md);
  box-shadow: none;
  margin: 0;
}

#reportSectionQualityCommand .qcc--weekly .eyebrow {
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-accent);
  font-weight: var(--font-weight-semibold);
  margin: 0 0 10px;
  display: flex;
  align-items: center;
  gap: 7px;
}
#reportSectionQualityCommand .qcc--weekly .eyebrow i {
  width: 22px;
  height: 22px;
  border-radius: 7px;
  background: color-mix(in srgb, var(--color-accent) 10%, transparent);
  display: inline-grid;
  place-items: center;
  flex: none;
}
#reportSectionQualityCommand .qcc--weekly .eyebrow i svg {
  width: 13px;
  height: 13px;
  stroke: var(--color-accent);
  fill: none;
  stroke-width: 2;
}
#reportSectionQualityCommand .qcc--weekly .dim {
  margin: 0;
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-regular);
  text-transform: none;
  letter-spacing: .02em;
}

/* Chips / dots — soft pill style aligned with ds-chip tones */
#reportSectionQualityCommand .qcc--weekly .chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  font-weight: var(--font-weight-semibold);
  padding: 3px 9px;
  border-radius: var(--radius-full);
  background: var(--c-neutral-200);
  color: var(--color-text-secondary);
  white-space: nowrap;
  border: 0;
  font-family: inherit;
  cursor: default;
}
#reportSectionQualityCommand .qcc--weekly button.chip { cursor: pointer; }
#reportSectionQualityCommand .qcc--weekly .chip.bad { background: var(--color-danger-bg); color: var(--color-danger-text); }
#reportSectionQualityCommand .qcc--weekly .chip.warn { background: var(--color-warning-bg, var(--c-warning-100)); color: var(--c-warning-700); }
#reportSectionQualityCommand .qcc--weekly .chip.good { background: var(--color-success-bg, var(--c-success-100)); color: var(--c-success-700); }
#reportSectionQualityCommand .qcc--weekly .chip.brand { background: color-mix(in srgb, var(--color-accent) 10%, transparent); color: var(--color-accent); }
#reportSectionQualityCommand .qcc--weekly .chip.plum { background: color-mix(in srgb, var(--c-secondary-500) 10%, transparent); color: var(--c-secondary-700); }
#reportSectionQualityCommand .qcc--weekly .chip.info { background: var(--color-info-bg); color: var(--color-info-text); }
#reportSectionQualityCommand .qcc--weekly .chip.mute { background: var(--c-neutral-200); color: var(--color-text-secondary); }
#reportSectionQualityCommand .qcc--weekly .chip.st {
  font-weight: var(--font-weight-regular);
  border: var(--border-width-1) solid color-mix(in srgb, currentColor 28%, transparent);
}
#reportSectionQualityCommand .qcc--weekly .chip.ghost {
  background: transparent;
  border: var(--border-width-1) solid var(--color-border-default);
  color: var(--color-text-secondary);
}

#reportSectionQualityCommand .qcc--weekly .dot {
  width: 8px;
  height: 8px;
  border-radius: var(--radius-full);
  display: inline-block;
  flex: none;
}
#reportSectionQualityCommand .qcc--weekly .dot.bad { background: var(--c-danger-500); }
#reportSectionQualityCommand .qcc--weekly .dot.warn { background: var(--c-warning-500); }
#reportSectionQualityCommand .qcc--weekly .dot.good { background: var(--c-success-500); }
#reportSectionQualityCommand .qcc--weekly .dot.mute { background: var(--c-neutral-400); }
#reportSectionQualityCommand .qcc--weekly .dot.plum { background: var(--c-secondary-500); }
#reportSectionQualityCommand .qcc--weekly .dot.brand { background: var(--color-accent); }
#reportSectionQualityCommand .qcc--weekly .dot.info { background: var(--c-info-500); }

#reportSectionQualityCommand .qcc--weekly .btn {
  border: var(--border-width-1) solid var(--color-border-default);
  background: var(--c-neutral-200);
  color: var(--color-text-primary);
  border-radius: var(--radius-sm);
  padding: 7px 12px;
  font-size: 12.5px;
  font-weight: var(--font-weight-semibold);
  cursor: pointer;
  box-shadow: none;
  font-family: inherit;
}
#reportSectionQualityCommand .qcc--weekly .btn:hover {
  border-color: var(--color-accent);
  color: var(--color-accent);
}
#reportSectionQualityCommand .qcc--weekly .btn--primary {
  background: var(--color-accent);
  color: var(--color-accent-text);
  border-color: var(--color-accent);
}
#reportSectionQualityCommand .qcc--weekly .btn--primary:hover {
  filter: brightness(0.94);
  color: var(--color-accent-text);
}
#reportSectionQualityCommand .qcc--weekly .btn--sm { padding: 5px 10px; font-size: 11.5px; border-radius: 7px; }

/* Context strip — horizontal flex row (mock layout) */
#reportSectionQualityCommand .qcc--weekly .ctx {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 30px;
  padding: 12px 18px;
}
#reportSectionQualityCommand .qcc--weekly .ctx-item {
  display: flex;
  align-items: center;
  gap: 9px;
}
#reportSectionQualityCommand .qcc--weekly .ctx-item svg {
  width: 15px;
  height: 15px;
  stroke: var(--color-accent);
  fill: none;
  stroke-width: 2;
  flex: none;
}
#reportSectionQualityCommand .qcc--weekly .ctx-item b { font-size: 12.5px; font-weight: var(--font-weight-semibold); }
#reportSectionQualityCommand .qcc--weekly .ctx-item small {
  display: block;
  font-size: 10.5px;
  color: var(--color-text-secondary);
  text-transform: uppercase;
  letter-spacing: .06em;
}
#reportSectionQualityCommand .qcc--weekly .qcc-wk-stepper { display: inline-flex; gap: 3px; margin-left: 4px; }
#reportSectionQualityCommand .qcc--weekly .qcc-wk-ctx-actions { margin-left: auto; }
#reportSectionQualityCommand .qcc--weekly .seg {
  display: inline-flex;
  background: var(--c-neutral-200);
  border-radius: var(--radius-sm);
  padding: 3px;
  gap: 2px;
}
#reportSectionQualityCommand .qcc--weekly .seg button {
  all: unset;
  cursor: pointer;
  font-size: 12.5px;
  font-weight: var(--font-weight-semibold);
  padding: 6px 13px;
  border-radius: 7px;
  color: var(--color-text-secondary);
  font-family: inherit;
}
#reportSectionQualityCommand .qcc--weekly .seg button.on {
  background: var(--color-bg-surface);
  color: var(--color-accent);
  box-shadow: 0 1px 2px rgba(0, 0, 0, .06);
}

/* Summary grid */
#reportSectionQualityCommand .qcc--weekly .sumgrid {
  display: grid;
  grid-template-columns: 1.15fr 1.35fr 1fr;
  gap: 14px;
  align-items: stretch; /* equal card height = tallest in the row */
}
#reportSectionQualityCommand .qcc--weekly .stat {
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  height: 100%;
  box-sizing: border-box;
}
#reportSectionQualityCommand .qcc--weekly .stat-body {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: auto;
  flex: 1;
}
#reportSectionQualityCommand .qcc--weekly .donut { position: relative; width: 92px; height: 92px; flex: none; }
#reportSectionQualityCommand .qcc--weekly .donut i {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 24px;
  font-weight: var(--font-weight-bold);
  font-style: normal;
  color: var(--color-text-primary);
}
#reportSectionQualityCommand .qcc--weekly .legend { display: flex; flex-direction: column; gap: 5px; }
#reportSectionQualityCommand .qcc--weekly .legend button {
  all: unset;
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  cursor: pointer;
  padding: 1px 4px;
  border-radius: 5px;
  font-family: inherit;
  color: inherit;
}
#reportSectionQualityCommand .qcc--weekly .legend button:hover { background: var(--color-bg-surface-alt); }
#reportSectionQualityCommand .qcc--weekly .legend b { font-weight: var(--font-weight-bold); font-variant-numeric: tabular-nums; min-width: 13px; }
#reportSectionQualityCommand .qcc--weekly .legend span { color: var(--color-text-secondary); }

#reportSectionQualityCommand .qcc--weekly .cbar {
  display: flex;
  height: 12px;
  border-radius: 6px;
  overflow: hidden;
  gap: 2px;
  margin-bottom: 12px;
}
#reportSectionQualityCommand .qcc--weekly .cbar span { display: block; }
#reportSectionQualityCommand .qcc--weekly .cbar span[data-tone="bad"] { background: var(--c-danger-500); }
#reportSectionQualityCommand .qcc--weekly .cbar span[data-tone="warn"] { background: var(--c-warning-500); }
#reportSectionQualityCommand .qcc--weekly .cbar span[data-tone="good"] { background: var(--c-success-500); }
#reportSectionQualityCommand .qcc--weekly .cbar span[data-tone="brand"] { background: var(--color-accent); }
#reportSectionQualityCommand .qcc--weekly .cbar span[data-tone="plum"] { background: var(--c-secondary-500); }
#reportSectionQualityCommand .qcc--weekly .cbar span[data-tone="info"] { background: var(--c-info-500); }
#reportSectionQualityCommand .qcc--weekly .cbar span[data-tone="mute"] { background: var(--c-neutral-300); }

#reportSectionQualityCommand .qcc--weekly .cgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 10px;
}
#reportSectionQualityCommand .qcc--weekly .cgrid > span { display: flex; align-items: center; gap: 7px; font-size: 12.5px; }
#reportSectionQualityCommand .qcc--weekly .cgrid b { font-weight: var(--font-weight-bold); font-variant-numeric: tabular-nums; }
#reportSectionQualityCommand .qcc--weekly .cgrid span span { color: var(--color-text-secondary); }

#reportSectionQualityCommand .qcc--weekly .top-signal { display: flex; flex-direction: column; gap: 8px; margin-top: auto; }
#reportSectionQualityCommand .qcc--weekly .top-signal-h { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
#reportSectionQualityCommand .qcc--weekly .top-signal-h b { font-size: 14.5px; font-weight: var(--font-weight-semibold); }
#reportSectionQualityCommand .qcc--weekly .persist { display: inline-flex; gap: 2.5px; }
#reportSectionQualityCommand .qcc--weekly .persist i {
  width: 6px;
  height: 12px;
  border-radius: 2px;
  background: var(--c-neutral-300);
  display: block;
}
#reportSectionQualityCommand .qcc--weekly .persist i.on { background: var(--c-danger-400); }
#reportSectionQualityCommand .qcc--weekly .persist i.on.w { background: var(--c-warning-400); }

#reportSectionQualityCommand .qcc--weekly .panel {
  padding: 16px 18px;
  margin: 0;
}

/* Matrix — fills the card width. Fixed cols for State / metrics / Commitment;
   Project absorbs leftover space (no dead gutter on the right). */
#reportSectionQualityCommand .qcc--weekly .card.panel:has(.mx-shell) {
  overflow-x: auto;
}
#reportSectionQualityCommand .qcc--weekly .mx-shell {
  --mx-proj-min: 13.5rem;
  --mx-state: 8.25rem;
  --mx-cond-bus: 5.75rem; /* 2× → "Critical Workflow Coverage" on one line */
  --mx-cond: 3.35rem;
  --mx-commit: 14.5rem;
  --mx-fixed: calc(
    var(--mx-state)
    + (2 * var(--mx-cond-bus)) + (6 * var(--mx-cond))
    + var(--mx-commit)
  );
  --mx-min: calc(var(--mx-proj-min) + var(--mx-fixed));
  width: 100%;
  min-width: var(--mx-min);
}
#reportSectionQualityCommand .qcc--weekly .mx {
  width: 100%;
  min-width: var(--mx-min);
  border-collapse: collapse;
  table-layout: fixed;
}
/* Project: no fixed width — takes all slack after fixed columns */
#reportSectionQualityCommand .qcc--weekly .mx .mx-col-proj { width: auto; }
#reportSectionQualityCommand .qcc--weekly .mx .mx-col-state { width: var(--mx-state); }
#reportSectionQualityCommand .qcc--weekly .mx .mx-col-cond--bus { width: var(--mx-cond-bus); }
#reportSectionQualityCommand .qcc--weekly .mx .mx-col-cond--out,
#reportSectionQualityCommand .qcc--weekly .mx .mx-col-cond--ops { width: var(--mx-cond); }
#reportSectionQualityCommand .qcc--weekly .mx .mx-col-commit { width: var(--mx-commit); }
#reportSectionQualityCommand .qcc--weekly .mx thead th {
  font-size: 10px;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--color-text-secondary);
  padding: 0 0 9px;
  text-align: center;
  border-bottom: 1px solid var(--color-divider);
}
#reportSectionQualityCommand .qcc--weekly .mx thead th.l { text-align: left; }
#reportSectionQualityCommand .qcc--weekly .mx thead tr.grp th {
  padding: 0 0 6px;
  border-bottom: none;
  vertical-align: bottom;
}
#reportSectionQualityCommand .qcc--weekly .mx thead tr.grp th.mx-dim-lead,
#reportSectionQualityCommand .qcc--weekly .mx thead tr.grp th.mx-dim-trail {
  padding: 0;
}
#reportSectionQualityCommand .qcc--weekly .mx thead tr.grp th .dim-h,
#reportSectionQualityCommand .qcc--weekly .mx .dim-h[data-dim] {
  all: unset;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0;
  padding: 5px 8px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  background: var(--c-neutral-300);
  color: var(--color-text-primary);
  font: inherit;
  font-size: 10px;
  font-weight: var(--font-weight-semibold);
  letter-spacing: .02em;
  text-transform: uppercase;
  line-height: 1.2;
  white-space: nowrap;
  text-align: center;
}
#reportSectionQualityCommand .qcc--weekly .mx thead tr.grp th .dim-h:hover {
  filter: brightness(0.97);
}
#reportSectionQualityCommand .qcc--weekly .mx thead tr.grp th .dim-h:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 1px;
}
#reportSectionQualityCommand .qcc--weekly .mx thead th.mx-proj,
#reportSectionQualityCommand .qcc--weekly .mx tbody td.mx-proj {
  width: auto;
  min-width: var(--mx-proj-min);
  overflow: hidden;
  white-space: nowrap;
}
#reportSectionQualityCommand .qcc--weekly .mx thead th.mx-state,
#reportSectionQualityCommand .qcc--weekly .mx tbody td.mx-state {
  width: var(--mx-state);
  max-width: var(--mx-state);
  overflow: hidden;
  white-space: nowrap;
}
#reportSectionQualityCommand .qcc--weekly .mx thead th.mx-commit,
#reportSectionQualityCommand .qcc--weekly .mx tbody td.mx-commit {
  width: var(--mx-commit);
  min-width: var(--mx-commit);
  max-width: var(--mx-commit);
  white-space: nowrap;
  text-align: left;
  padding-left: 10px;
  padding-right: 4px;
  vertical-align: middle;
}
#reportSectionQualityCommand .qcc--weekly .mx thead th.mx-c,
#reportSectionQualityCommand .qcc--weekly .mx tbody td.mx-c {
  padding-left: 0;
  padding-right: 0;
  white-space: nowrap;
}
#reportSectionQualityCommand .qcc--weekly .mx thead th.mx-c--bus,
#reportSectionQualityCommand .qcc--weekly .mx tbody td.mx-c--bus {
  width: var(--mx-cond-bus);
}
#reportSectionQualityCommand .qcc--weekly .mx thead th.mx-c--out,
#reportSectionQualityCommand .qcc--weekly .mx tbody td.mx-c--out,
#reportSectionQualityCommand .qcc--weekly .mx thead th.mx-c--ops,
#reportSectionQualityCommand .qcc--weekly .mx tbody td.mx-c--ops {
  width: var(--mx-cond);
}
#reportSectionQualityCommand .qcc--weekly .mx thead th abbr {
  text-decoration: none;
  cursor: help;
  border-bottom: 1px dotted var(--color-border-default);
}
#reportSectionQualityCommand .qcc--weekly .mx tbody tr { border-bottom: 1px solid var(--color-divider); }
#reportSectionQualityCommand .qcc--weekly .mx tbody tr:hover { background: transparent; }
#reportSectionQualityCommand .qcc--weekly .mx td {
  padding: 10px 4px;
  font-size: 13px;
  text-align: center;
  vertical-align: middle;
}
#reportSectionQualityCommand .qcc--weekly .mx td.l { text-align: left; padding-left: 0; }
#reportSectionQualityCommand .qcc--weekly .mx td.l:first-child {
  white-space: nowrap;
}
#reportSectionQualityCommand .qcc--weekly .mx tbody td.mx-commit {
  width: var(--mx-commit);
  min-width: var(--mx-commit);
  max-width: var(--mx-commit);
  white-space: nowrap;
  vertical-align: middle;
}
#reportSectionQualityCommand .qcc--weekly .mx-name {
  font-weight: var(--font-weight-regular);
  font-size: 13.5px;
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  max-width: 100%;
  white-space: nowrap;
}
#reportSectionQualityCommand .qcc--weekly .mx-name .dot {
  flex-shrink: 0;
}
#reportSectionQualityCommand .qcc--weekly .mx-proj-link {
  all: unset;
  cursor: pointer;
  color: var(--color-accent);
  font: inherit;
  font-weight: var(--font-weight-regular);
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
  flex: 1 1 auto;
}
#reportSectionQualityCommand .qcc--weekly .mx-proj-link:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}
#reportSectionQualityCommand .qcc--weekly .mx .chip {
  font-weight: var(--font-weight-regular);
  border: var(--border-width-1) solid color-mix(in srgb, currentColor 28%, transparent);
}
#reportSectionQualityCommand .qcc--weekly .mx .chip.ghost {
  background: var(--c-neutral-100);
  border-color: var(--color-border-default);
}
#reportSectionQualityCommand .qcc--weekly button.mx-commit {
  all: unset;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 6px;
  max-width: 100%;
  cursor: pointer;
  font: inherit;
  font-weight: var(--font-weight-regular);
  background: transparent;
  box-shadow: none;
  border: 0;
  border-radius: 0;
  padding: 0;
}
#reportSectionQualityCommand .qcc--weekly button.mx-commit .chip {
  flex-shrink: 0;
}
#reportSectionQualityCommand .qcc--weekly button.mx-commit:hover .chip {
  text-decoration: underline;
  text-underline-offset: 2px;
}
#reportSectionQualityCommand .qcc--weekly .mx-cell-btn {
  all: unset;
  cursor: pointer;
  display: inline-flex;
  vertical-align: middle;
  border-radius: 4px;
  line-height: 0;
}
#reportSectionQualityCommand .qcc--weekly .mx-cell-btn:hover .cell {
  outline: 2px solid color-mix(in srgb, var(--color-accent) 35%, transparent);
  outline-offset: 1px;
}
#reportSectionQualityCommand .qcc--weekly .mx-cell-btn:focus-visible .cell {
  outline: 2px solid var(--color-accent);
  outline-offset: 1px;
}
#reportSectionQualityCommand .qcc--weekly .cell {
  width: 15px;
  height: 15px;
  border-radius: 4px;
  display: inline-block;
  background: var(--c-neutral-200);
}
#reportSectionQualityCommand .qcc--weekly .cell.bad { background: var(--c-danger-500); }
#reportSectionQualityCommand .qcc--weekly .cell.warn { background: var(--c-warning-500); }
#reportSectionQualityCommand .qcc--weekly .cell.good {
  /* Mock #d6efe0 — pale green, not a loud success highlight */
  background: var(--color-success-bg, var(--c-success-100));
}
#reportSectionQualityCommand .qcc--weekly .cell.mute {
  background: var(--c-neutral-200);
  border: 1px dashed var(--color-border-default);
  box-sizing: border-box;
}
#reportSectionQualityCommand .qcc--weekly .mx-legend {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 12px;
  padding-top: 11px;
  border-top: 1px solid var(--color-divider);
  font-size: 11px;
  color: var(--color-text-secondary);
}
#reportSectionQualityCommand .qcc--weekly .mx-legend b {
  color: var(--color-text-primary);
  font-weight: var(--font-weight-semibold, 600);
}
#reportSectionQualityCommand .qcc--weekly .mx .gs { border-left: 1px solid var(--color-divider); }
#reportSectionQualityCommand .qcc--weekly .tr { font-size: 11px; font-weight: var(--font-weight-bold); white-space: nowrap; }
#reportSectionQualityCommand .qcc--weekly .tr.up { color: var(--c-success-600); }
#reportSectionQualityCommand .qcc--weekly .tr.down { color: var(--c-danger-600); }
#reportSectionQualityCommand .qcc--weekly .tr.flat { color: var(--c-neutral-400); }

/* This week — project accordion */
#reportSectionQualityCommand .qcc--weekly .wk-summary {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
#reportSectionQualityCommand .qcc--weekly .wk-stat {
  display: flex;
  align-items: baseline;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 6px;
  background: var(--color-bg-surface-alt);
  font-size: 12px;
  color: var(--color-text-secondary);
}
#reportSectionQualityCommand .qcc--weekly .wk-stat b {
  font-size: 18px;
  font-weight: var(--font-weight-bold);
  font-variant-numeric: tabular-nums;
  color: var(--color-text-primary);
}
#reportSectionQualityCommand .qcc--weekly .wk-projects {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
#reportSectionQualityCommand .qcc--weekly .wk-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 28px;
}
#reportSectionQualityCommand .qcc--weekly .wk-col-h {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 5.25rem 2.75rem;
  align-items: end;
  gap: 8px;
  margin-bottom: 8px;
}
#reportSectionQualityCommand .qcc--weekly .wk-col-meta {
  grid-column: 2 / 4;
  display: grid;
  grid-template-columns: 5.25rem 2.75rem;
  gap: 8px;
  font-size: 10px;
  font-weight: var(--font-weight-semibold);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  text-align: right;
}
#reportSectionQualityCommand .qcc--weekly .wk-col-prior {
  text-align: center;
}
#reportSectionQualityCommand .qcc--weekly .wk-title {
  margin: 0;
  font-size: 11px;
  font-weight: var(--font-weight-bold);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--color-text-secondary);
}
#reportSectionQualityCommand .qcc--weekly .wk-proj {
  border: 1px solid var(--color-divider);
  border-radius: 8px;
  background: var(--color-bg-surface);
  overflow: hidden;
}
#reportSectionQualityCommand .qcc--weekly .wk-proj-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 10px 12px;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  font: inherit;
  color: inherit;
}
#reportSectionQualityCommand .qcc--weekly .wk-proj-toggle:hover {
  background: var(--color-bg-surface-alt);
}
#reportSectionQualityCommand .qcc--weekly .wk-proj-chevron {
  flex: 0 0 auto;
  width: 1em;
  font-size: 10px;
  color: var(--color-text-muted);
}
#reportSectionQualityCommand .qcc--weekly .wk-proj-name {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 13px;
  font-weight: var(--font-weight-semibold);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#reportSectionQualityCommand .qcc--weekly .wk-proj-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}
#reportSectionQualityCommand .qcc--weekly .wk-pill {
  font-size: 11px;
  font-weight: var(--font-weight-semibold);
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--c-neutral-200);
  color: var(--color-text-secondary);
  white-space: nowrap;
}
#reportSectionQualityCommand .qcc--weekly .wk-pill.is-down {
  background: var(--color-danger-bg);
  color: var(--color-danger-text);
}
#reportSectionQualityCommand .qcc--weekly .wk-pill.is-up {
  background: var(--color-success-bg, var(--c-success-100));
  color: var(--c-success-700);
}
#reportSectionQualityCommand .qcc--weekly .wk-proj-body {
  padding: 0 12px 8px;
  border-top: 1px solid var(--color-divider);
}
#reportSectionQualityCommand .qcc--weekly .wk-list-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 5.25rem 2.75rem;
  align-items: end;
  gap: 8px;
  padding: 8px 0 2px;
  font-size: 10px;
  font-weight: var(--font-weight-semibold);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}
#reportSectionQualityCommand .qcc--weekly .wk-list-head-metric { min-width: 0; }
#reportSectionQualityCommand .qcc--weekly .wk-list-head .wk-col-change,
#reportSectionQualityCommand .qcc--weekly .wk-col-change {
  text-align: right;
}
#reportSectionQualityCommand .qcc--weekly .wk-list-head .wk-col-prior,
#reportSectionQualityCommand .qcc--weekly .wk-col-prior {
  text-align: center;
}
#reportSectionQualityCommand .qcc--weekly .wk-list { list-style: none; margin: 0; padding: 0; }
#reportSectionQualityCommand .qcc--weekly .wk-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 5.25rem 2.75rem;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  border-top: 1px solid var(--color-divider);
  font-size: 12.5px;
}
#reportSectionQualityCommand .qcc--weekly .wk-item-main {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}
#reportSectionQualityCommand .qcc--weekly .wk-item-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1 1 auto;
}
#reportSectionQualityCommand .qcc--weekly .wk-change {
  text-align: right;
  color: var(--color-text-secondary);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
#reportSectionQualityCommand .qcc--weekly .wk-prior {
  display: flex;
  justify-content: center;
  align-items: center;
}
#reportSectionQualityCommand .qcc--weekly .wk-prior .cell,
#reportSectionQualityCommand .qcc--weekly .wk-prior-empty {
  width: 15px;
  height: 15px;
  border-radius: 4px;
}
#reportSectionQualityCommand .qcc--weekly .wk-empty { padding: 8px 0; }
#reportSectionQualityCommand .qcc--weekly .wk-item:first-child { border-top: none; }
#reportSectionQualityCommand .qcc--weekly .wk-item:hover { background: var(--color-bg-surface-alt); }
#reportSectionQualityCommand .qcc--weekly .wk-item b { font-weight: var(--font-weight-semibold); }
#reportSectionQualityCommand .qcc--weekly .cond-code {
  font-size: 10px;
  font-weight: var(--font-weight-bold);
  letter-spacing: .04em;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--c-neutral-200);
  color: var(--color-text-secondary);
}
#reportSectionQualityCommand .qcc--weekly .cond-code.bad { background: var(--color-danger-bg); color: var(--color-danger-text); }
#reportSectionQualityCommand .qcc--weekly .cond-code.warn { background: var(--color-warning-bg, var(--c-warning-100)); color: var(--c-warning-700); }
#reportSectionQualityCommand .qcc--weekly .cond-code.good { background: var(--color-success-bg, var(--c-success-100)); color: var(--c-success-700); }
#reportSectionQualityCommand .qcc--weekly .cond-code.mute { background: var(--c-neutral-200); color: var(--color-text-muted); }

/* Workspace grid */
#reportSectionQualityCommand .qcc--weekly .gtools {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  margin-bottom: 12px;
}
#reportSectionQualityCommand .qcc--weekly .gtools .ds-tabs {
  width: 100%;
}
#reportSectionQualityCommand .qcc--weekly .gtools__bar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
#reportSectionQualityCommand .qcc--weekly .gsearch {
  flex: 1;
  min-width: 170px;
  margin-top: 0;
}
#reportSectionQualityCommand .qcc--weekly .gsearch.ds-input {
  height: 36px;
  padding: 0 12px;
  line-height: 34px;
}
#reportSectionQualityCommand .qcc--weekly .gsearch:focus {
  outline: none;
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-accent) 18%, transparent);
}
#reportSectionQualityCommand .qcc--weekly .sweep { color: var(--c-secondary-700); border-color: color-mix(in srgb, var(--c-secondary-500) 25%, transparent); background: color-mix(in srgb, var(--c-secondary-500) 6%, transparent); }
#reportSectionQualityCommand .qcc--weekly .sweep:hover { filter: brightness(0.97); }

#reportSectionQualityCommand .qcc--weekly .qcc-action-table td:first-child,
#reportSectionQualityCommand .qcc--weekly .qcc-action-table td.is-center,
#reportSectionQualityCommand .qcc--weekly .qcc-action-table td:last-child { white-space: nowrap; }
#reportSectionQualityCommand .qcc--weekly .qcc-action-table .g-t { font-weight: var(--font-weight-semibold); color: var(--color-text-primary); }
#reportSectionQualityCommand .qcc--weekly .qcc-action-table .g-n { font-size: var(--font-size-xs); color: var(--color-text-secondary); margin-top: 2px; }
#reportSectionQualityCommand .qcc--weekly .qcc-action-table button.g-act {
  all: unset;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  width: 100%;
  cursor: pointer;
  text-align: left;
  font: inherit;
  background: transparent;
  box-shadow: none;
  border: 0;
  border-radius: 0;
  padding: 0;
}
#reportSectionQualityCommand .qcc--weekly .qcc-action-table button.g-act:hover .g-t {
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}
#reportSectionQualityCommand .qcc--weekly .qcc-action-table .g-p { display: flex; align-items: center; gap: 7px; }
#reportSectionQualityCommand .qcc--weekly .qcc-action-table td.is-center .g-p,
#reportSectionQualityCommand .qcc--weekly .qcc-action-table td.is-center .vdots { justify-content: center; }
#reportSectionQualityCommand .qcc--weekly .qcc-action-table .g-p .prog { width: 62px; flex: none; }
#reportSectionQualityCommand .qcc--weekly .qcc-action-table .g-p b { font-size: var(--font-size-xs); font-weight: var(--font-weight-regular); }
#reportSectionQualityCommand .qcc--weekly .prog { flex: 1; height: 6px; background: var(--c-neutral-200); border-radius: 3px; overflow: hidden; }
#reportSectionQualityCommand .qcc--weekly .prog i { display: block; height: 100%; border-radius: 3px; }
#reportSectionQualityCommand .qcc--weekly .prog i[data-tone="bad"] { background: var(--c-danger-500); }
#reportSectionQualityCommand .qcc--weekly .prog i[data-tone="warn"] { background: var(--c-warning-500); }
#reportSectionQualityCommand .qcc--weekly .prog i[data-tone="good"] { background: var(--c-success-500); }
#reportSectionQualityCommand .qcc--weekly .prog i[data-tone="brand"] { background: var(--color-accent); }
#reportSectionQualityCommand .qcc--weekly .prog i[data-tone="plum"] { background: var(--c-secondary-500); }
#reportSectionQualityCommand .qcc--weekly .prog i[data-tone="info"] { background: var(--c-info-500); }
#reportSectionQualityCommand .qcc--weekly .prog i[data-tone="mute"] { background: var(--c-neutral-400); }
#reportSectionQualityCommand .qcc--weekly .g-own { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
#reportSectionQualityCommand .qcc--weekly .qcc-action-table th.is-actions,
#reportSectionQualityCommand .qcc--weekly .qcc-action-table td.is-actions {
  width: 1%;
  padding-left: 4px;
  padding-right: 8px;
  white-space: nowrap;
}
#reportSectionQualityCommand .qcc--weekly .g-row-actions {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  flex: none;
}
#reportSectionQualityCommand .qcc--weekly .g-row-act {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--color-text-secondary);
  line-height: 0;
  cursor: pointer;
}
#reportSectionQualityCommand .qcc--weekly .g-row-act svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
#reportSectionQualityCommand .qcc--weekly .g-row-act:hover {
  color: var(--color-text-primary);
  background: var(--color-bg-subtle, var(--c-neutral-100));
}
#reportSectionQualityCommand .qcc--weekly .g-row-act--danger:hover {
  color: var(--color-danger-text);
  background: var(--color-danger-bg);
}
#reportSectionQualityCommand .qcc--weekly .vdots { display: flex; align-items: center; gap: 4px; }
#reportSectionQualityCommand .qcc--weekly .vdots i {
  width: 9px;
  height: 9px;
  border-radius: var(--radius-full);
  border: 1.5px solid var(--color-border-default);
}
#reportSectionQualityCommand .qcc--weekly .vdots i.vbad { background: var(--c-danger-500); border-color: var(--c-danger-500); }
#reportSectionQualityCommand .qcc--weekly .vdots i.vgood { background: var(--c-success-500); border-color: var(--c-success-500); }
#reportSectionQualityCommand .qcc--weekly .vdots span { font-size: 11px; color: var(--color-text-secondary); margin-left: 2px; }
#reportSectionQualityCommand .qcc--weekly .track {
  font-size: 10px;
  font-weight: var(--font-weight-bold);
  letter-spacing: .04em;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--c-neutral-200);
  color: var(--color-text-secondary);
}
#reportSectionQualityCommand .qcc--weekly .track.ado,
#reportSectionQualityCommand .qcc--weekly .track.aita {
  background: color-mix(in srgb, var(--color-accent) 10%, transparent);
  color: var(--color-accent);
}
#reportSectionQualityCommand .qcc--weekly .chip.dim-tag,
#reportSectionQualityCommand .qcc--weekly .chip.dim-tag[data-dim] {
  background: var(--c-neutral-100);
  color: var(--color-text-primary);
  border: var(--border-width-1) solid var(--color-text-primary);
  font-weight: var(--font-weight-regular);
}
#reportSectionQualityCommand .qcc--weekly .overdue { color: var(--color-danger-text); font-weight: var(--font-weight-semibold); }

/* Trajectory chart */
#reportSectionQualityCommand .qcc--weekly .qcc-pt { margin-top: 0; }
#reportSectionQualityCommand .qcc--weekly .qcc-pt-summary {
  display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0 0 8px;
  color: var(--color-text-secondary); font-size: 12px;
}
#reportSectionQualityCommand .qcc--weekly .qcc-pt-summary strong,
#reportSectionQualityCommand .qcc--weekly .qcc-pt-summary b { color: var(--color-text-primary); font-variant-numeric: tabular-nums; }
#reportSectionQualityCommand .qcc--weekly .qcc-pt-summary em { font-style: normal; font-variant-numeric: tabular-nums; }
#reportSectionQualityCommand .qcc--weekly .qcc-pt-summary .is-up { color: var(--c-success-600); }
#reportSectionQualityCommand .qcc--weekly .qcc-pt-summary .is-down { color: var(--c-danger-600); }
#reportSectionQualityCommand .qcc--weekly .qcc-pt-summary .is-flat { color: var(--c-neutral-500); }
#reportSectionQualityCommand .qcc--weekly .qcc-pt-chart { overflow-x: auto; margin-top: 0; }
#reportSectionQualityCommand .qcc--weekly .qcc-pt-chart svg {
  display: block; width: 100%; min-width: 0; height: auto; font-family: inherit;
}
#reportSectionQualityCommand .qcc--weekly .qcc-pt-band--healthy { fill: var(--c-success-500); opacity: .07; }
#reportSectionQualityCommand .qcc--weekly .qcc-pt-band--fair { fill: var(--c-warning-500); opacity: .07; }
#reportSectionQualityCommand .qcc--weekly .qcc-pt-band--risk { fill: var(--c-danger-500); opacity: .05; }
#reportSectionQualityCommand .qcc--weekly .qcc-pt-grid line { stroke: var(--color-divider); stroke-width: 1; }
#reportSectionQualityCommand .qcc--weekly .qcc-pt-ytick,
#reportSectionQualityCommand .qcc--weekly .qcc-pt-xlabel {
  fill: var(--color-text-secondary); font-size: 11px; font-weight: 400;
}
#reportSectionQualityCommand .qcc--weekly .qcc-pt-series { color: var(--c-neutral-400); opacity: .5; cursor: pointer; }
#reportSectionQualityCommand .qcc--weekly .qcc-pt-series:hover,
#reportSectionQualityCommand .qcc--weekly .qcc-pt-series.is-selected { color: var(--color-accent); opacity: 1; }
#reportSectionQualityCommand .qcc--weekly .qcc-pt-series.is-muted { opacity: .18; }
#reportSectionQualityCommand .qcc--weekly .qcc-pt-line {
  fill: none; stroke: currentColor; stroke-width: 1.15; stroke-linecap: round;
  stroke-linejoin: round; vector-effect: non-scaling-stroke;
}
#reportSectionQualityCommand .qcc--weekly .qcc-pt-series.is-selected .qcc-pt-line,
#reportSectionQualityCommand .qcc--weekly .qcc-pt-series:hover .qcc-pt-line { stroke-width: 2.25; }
#reportSectionQualityCommand .qcc--weekly .qcc-pt-dot {
  fill: var(--color-bg-surface); stroke: currentColor; stroke-width: 1.2; vector-effect: non-scaling-stroke;
}
#reportSectionQualityCommand .qcc--weekly .qcc-pt-point-label {
  fill: currentColor; font-size: 10px; font-weight: 600; paint-order: stroke;
  stroke: var(--color-bg-surface); stroke-width: 3px; stroke-linejoin: round;
  font-variant-numeric: tabular-nums; pointer-events: none;
}
#reportSectionQualityCommand .qcc--weekly .qcc-pt-point-label.is-up { fill: var(--c-success-600); }
#reportSectionQualityCommand .qcc--weekly .qcc-pt-point-label.is-down { fill: var(--c-danger-600); }
#reportSectionQualityCommand .qcc--weekly .qcc-pt-point-label.is-flat { fill: var(--c-neutral-500); }
#reportSectionQualityCommand .qcc--weekly .qcc-pt-legend-list {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px 10px; margin-top: 8px;
}
#reportSectionQualityCommand .qcc--weekly .qcc-pt-legend {
  display: grid; grid-template-columns: 7px minmax(0, 1fr) auto auto; gap: 6px;
  align-items: center; padding: 5px 6px; border: 1px solid transparent; border-radius: 6px;
  background: transparent; color: var(--color-text-primary); font: inherit; font-size: 11px;
  text-align: left; cursor: pointer; box-shadow: none;
}
#reportSectionQualityCommand .qcc--weekly .qcc-pt-legend:hover,
#reportSectionQualityCommand .qcc--weekly .qcc-pt-legend.is-selected {
  border-color: var(--color-divider); background: var(--color-bg-surface-alt);
}
#reportSectionQualityCommand .qcc--weekly .qcc-pt-legend > span:nth-child(2) {
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
#reportSectionQualityCommand .qcc--weekly .qcc-pt-legend b { font-variant-numeric: tabular-nums; }
#reportSectionQualityCommand .qcc--weekly .qcc-pt-legend small { color: var(--color-text-secondary); font-variant-numeric: tabular-nums; }
#reportSectionQualityCommand .qcc--weekly .qcc-pt-legend small.is-up { color: var(--c-success-600); }
#reportSectionQualityCommand .qcc--weekly .qcc-pt-legend small.is-down { color: var(--c-danger-600); }
#reportSectionQualityCommand .qcc--weekly .qcc-pt-swatch {
  width: 6px; height: 6px; border-radius: var(--radius-full); background: var(--c-neutral-400);
}
#reportSectionQualityCommand .qcc--weekly .qcc-pt-legend.is-selected .qcc-pt-swatch { background: var(--color-accent); }

@media (max-width: 900px) {
  #reportSectionQualityCommand .qcc--weekly .sumgrid { grid-template-columns: 1fr; }
  #reportSectionQualityCommand .qcc--weekly .wk-cols { grid-template-columns: 1fr; }
  #reportSectionQualityCommand .qcc--weekly .qcc-pt-legend-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  #reportSectionQualityCommand .qcc--weekly .ctx { gap: 16px; }
  #reportSectionQualityCommand .qcc--weekly .qcc-wk-ctx-actions { margin-left: 0; width: 100%; }
}

/* Drawer */
.scrim {
  position: fixed; inset: 0; background: var(--color-bg-overlay); opacity: 0;
  pointer-events: none; transition: opacity .18s; z-index: 1200;
}
.scrim.open { opacity: 1; pointer-events: auto; }
.drawer {
  position: fixed; top: 0; right: 0; height: 100vh; width: min(520px, 96vw);
  background: var(--color-bg-surface); border-left: var(--border-width-1) solid var(--color-divider);
  transform: translateX(100%); transition: transform .2s ease; z-index: 1201;
  display: flex; flex-direction: column; box-shadow: none;
}
.drawer.open { transform: none; }
.drawer .dw-head {
  padding: 18px 22px 14px; border-bottom: 1px solid var(--color-divider);
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.drawer .dw-head h3 {
  margin: 0; font-size: 18px; font-weight: var(--font-weight-bold); letter-spacing: -.01em; flex: 1 1 auto;
}
.drawer .dw-close {
  all: unset; cursor: pointer; color: var(--color-text-secondary); font-size: 20px; line-height: 1;
  padding: 2px 6px; border-radius: 6px;
}
.drawer .dw-close:hover { background: var(--color-bg-surface-alt); color: var(--color-text-primary); }
.drawer .dw-body { overflow: auto; padding: 4px 22px 28px; }
.drawer .dw-sec {
  font-size: 10.5px; font-weight: var(--font-weight-bold); text-transform: uppercase; letter-spacing: .07em;
  color: var(--color-text-secondary); margin: 20px 0 9px; display: flex; justify-content: space-between; gap: 8px;
}
.drawer .cond {
  border: 1px solid var(--color-divider); border-radius: 10px; padding: 13px 14px; margin-bottom: 9px;
}
.drawer .cond-h { display: flex; align-items: center; gap: 8px; flex-wrap: nowrap; }
.drawer .cond-code {
  font-size: 10px; font-weight: var(--font-weight-bold); letter-spacing: .04em; padding: 2px 6px; border-radius: 4px;
  background: var(--c-neutral-200); color: var(--color-text-secondary); flex: none;
}
.drawer .cond-code.bad { background: var(--color-danger-bg); color: var(--color-danger-text); }
.drawer .cond-code.warn { background: var(--color-warning-bg, var(--c-warning-100)); color: var(--c-warning-700); }
.drawer .cond-h b { font-size: 13.5px; font-weight: var(--font-weight-semibold); flex: 1 1 auto; }
.drawer .cond-drill {
  all: unset;
  cursor: pointer;
  font: inherit;
  font-size: 13.5px;
  font-weight: var(--font-weight-semibold);
  color: var(--color-accent);
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
}
.drawer .cond-status { margin-left: auto; flex: none; }
.drawer .cond-drill:hover { text-decoration: underline; text-underline-offset: 2px; }
.drawer .cond-drill:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
  border-radius: 2px;
}
.drawer .cond-ev { font-size: 12.5px; color: var(--color-text-secondary); margin: 9px 0 0; line-height: 1.5; }
.drawer .cond-ev b { color: var(--color-text-primary); font-weight: var(--font-weight-semibold); }
.drawer .cond-f {
  display: flex; gap: 7px; align-items: center; flex-wrap: wrap; margin-top: 11px;
  padding-top: 10px; border-top: 1px solid var(--color-divider);
}
.drawer .cond-f .btn { margin-left: auto; }
.drawer .cond-owner,
.drawer .cond-due {
  font-family: inherit;
  font-size: 12.5px;
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  line-height: 1.5;
}
.drawer .cond-due { color: var(--color-text-secondary); font-weight: var(--font-weight-regular); }
.drawer .chip.st.brand { background: color-mix(in srgb, var(--color-accent) 16%, transparent); color: var(--color-accent); }
.drawer .chip.st.info { background: var(--color-info-bg, var(--c-info-100)); color: var(--color-info-text, var(--c-info-700)); }
.drawer .chip.st.plum { background: color-mix(in srgb, var(--c-plum-500, #7c3aed) 14%, transparent); color: var(--c-plum-700, #5b21b6); }
.drawer .chip.st.mute { background: var(--c-neutral-200); color: var(--color-text-secondary); }
.drawer .chip {
  display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: var(--font-weight-semibold);
  padding: 3px 9px; border-radius: var(--radius-full); background: var(--c-neutral-200); color: var(--color-text-secondary); white-space: nowrap;
}
.drawer .chip.bad { background: var(--color-danger-bg); color: var(--color-danger-text); }
.drawer .chip.warn { background: var(--color-warning-bg, var(--c-warning-100)); color: var(--c-warning-700); }
.drawer .chip.good { background: var(--color-success-bg, var(--c-success-100)); color: var(--c-success-700); }
.drawer .persist { display: inline-flex; gap: 2.5px; }
.drawer .persist i { width: 6px; height: 12px; border-radius: 2px; background: var(--c-neutral-300); display: block; }
.drawer .persist i.on { background: var(--c-danger-400); }
.drawer .persist i.on.w { background: var(--c-warning-400); }
.drawer .btn {
  border: var(--border-width-1) solid var(--color-border-default); background: var(--c-neutral-200); color: var(--color-text-primary);
  border-radius: var(--radius-sm); padding: 7px 12px; font-size: 12.5px; font-weight: var(--font-weight-semibold); cursor: pointer; font-family: inherit;
}
.drawer .btn--primary { background: var(--color-accent); color: var(--color-accent-text); border-color: var(--color-accent); }
.drawer .btn--sm { padding: 5px 10px; font-size: 11.5px; border-radius: 7px; }
.drawer .kv { display: grid; grid-template-columns: auto 1fr; gap: 5px 14px; font-size: 12.5px; margin: 0; }
.drawer .kv dt { color: var(--color-text-secondary); }
.drawer .kv dd { margin: 0; font-weight: var(--font-weight-semibold); }

/* Commit dialog */
.dlg-scrim {
  position: fixed; inset: 0; background: var(--color-bg-overlay); display: none;
  align-items: center; justify-content: center; padding: 24px; z-index: 1300;
}
.dlg-scrim.open { display: flex; }
.dlg {
  background: var(--color-bg-surface); border-radius: var(--radius-md); width: min(480px, 100%);
  box-shadow: 0 16px 48px rgba(0, 0, 0, .12); max-height: min(92vh, 720px); overflow: auto;
}
.dlg-h { padding: 17px 20px 12px; border-bottom: 1px solid var(--color-divider); }
.dlg-h h4 { margin: 0 0 2px; font-size: 16px; font-weight: var(--font-weight-bold); }
.dlg-h p { margin: 0; font-size: 12px; color: var(--color-text-secondary); }
.dlg-b { padding: 14px 20px 2px; display: flex; flex-direction: column; }
.dlg-b > label:not(.ds-date),
.dlg-b > .dlg-field-label {
  margin-top: 12px; font-size: 10.5px; text-transform: uppercase; letter-spacing: .06em;
  color: var(--color-text-secondary); font-weight: var(--font-weight-bold);
}
.dlg-b > label:not(.ds-date):first-of-type,
.dlg-b > .dlg-field-label:first-of-type { margin-top: 0; }
.dlg-b .ds-input,
.dlg-b select.ds-input {
  margin-top: 6px;
}
.dlg-b .ds-date {
  display: flex;
  width: 100%;
  min-width: 0;
  margin-top: 6px;
}
.dlg-b .ds-date__input {
  width: 100%;
}
.dlg-prior {
  background: color-mix(in srgb, var(--c-secondary-500) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--c-secondary-500) 20%, transparent);
  color: var(--c-secondary-700); border-radius: var(--radius-sm);
  padding: 9px 11px; font-size: 12px; line-height: 1.5; margin-bottom: 14px;
}
.dlg-b .locked {
  margin-top: 6px; padding: 9px 11px; background: var(--color-bg-surface-alt); border: 1px solid var(--color-divider);
  border-radius: var(--radius-sm); font-size: 12.5px; color: var(--color-text-secondary);
}
.dlg-b .locked b { color: var(--color-text-primary); font-weight: var(--font-weight-semibold); }
.trackpick { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 6px; }
.trackpick button {
  all: unset; cursor: pointer; box-sizing: border-box; border: var(--border-width-1) solid var(--color-border-default);
  border-radius: var(--radius-sm); padding: 9px 11px; font-size: 12.5px; color: var(--color-text-primary); display: block;
  font-family: inherit; text-align: left;
}
.trackpick button.on { border-color: var(--color-accent); background: color-mix(in srgb, var(--color-accent) 6%, transparent); }
.trackpick b { display: block; font-size: 12.5px; font-weight: var(--font-weight-bold); margin-bottom: 2px; }
.trackpick span { font-size: 11px; color: var(--color-text-secondary); line-height: 1.4; display: block; }
.dlg-f {
  padding: 14px 20px 18px; display: flex; gap: 8px; justify-content: flex-end; align-items: center;
}
.dlg-f .btn {
  border: var(--border-width-1) solid var(--color-border-default); background: var(--c-neutral-200); color: var(--color-text-primary);
  border-radius: var(--radius-sm); padding: 7px 12px; font-size: 12.5px; font-weight: var(--font-weight-semibold); cursor: pointer; font-family: inherit;
}
.dlg-f .btn--primary { background: var(--color-accent); color: var(--color-accent-text); border-color: var(--color-accent); }
.dlg-err {
  margin: 12px 0 0; padding: 8px 10px; background: var(--color-danger-bg); color: var(--color-danger-text);
  border-radius: var(--radius-sm); font-size: 12px;
}

@media (prefers-reduced-motion: reduce) {
  .scrim, .drawer { transition: none; }
}

} /* end @layer features */
