.dc-workspace, [data-dc-pdf] {
  --dc-line: var(--border-color, #dfe5ed);
  --dc-ink: var(--text-primary, #243349);
  --dc-muted: var(--text-secondary, #64748b);
  --dc-accent: var(--primary, #2863b5);
  color: var(--dc-ink);
  font: inherit;
  line-height: 1.6;
}
.dc-workspace {
  max-width: 1880px;
  margin: auto;
  color: var(--dc-ink);
  font: inherit;
  line-height: 1.6;
  min-width: 0;
  padding: 8px 0 32px;
}
.dc-workspace *, [data-dc-pdf] * {
  box-sizing: border-box;
}
.dc-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  border-bottom: 1px solid var(--dc-line);
  padding: 8px 0 22px;
  margin-bottom: 20px;
}
.dc-eyebrow {
  font-size: 0.74em;
  letter-spacing: 0.12em;
  color: var(--dc-accent);
  font-weight: 700;
}
.dc-header h1 {
  font-size: 1.8em;
  margin: 5px 0;
  font-weight: 700;
}
.dc-header p,
.dc-muted {
  color: var(--dc-muted);
  margin: 4px 0;
}
.dc-actions,
.dc-toolbar,
.dc-pager {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.dc-workspace button,
.dc-workspace .button,
[data-dc-pdf] button {
  border: 1px solid var(--dc-line);
  background: #fff;
  border-radius: 7px;
  padding: 7px 12px;
  color: var(--dc-ink);
  font: inherit;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}
.dc-workspace button:hover, [data-dc-pdf] button:hover {
  border-color: var(--dc-accent);
  color: var(--dc-accent);
}
.dc-workspace button.primary {
  background: var(--dc-accent);
  color: white;
  border-color: var(--dc-accent);
}
.dc-workspace button:disabled, [data-dc-pdf] button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.dc-workspace button:focus-visible,
[data-dc-pdf] button:focus-visible,
[data-dc-pdf] input:focus-visible,
.dc-workspace input:focus-visible,
.dc-workspace select:focus-visible,
.dc-workspace textarea:focus-visible {
  outline: 2px solid var(--dc-accent);
  outline-offset: 2px;
}
.dc-workspace label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 0.9em;
  min-width: 0;
}
.dc-workspace input,
[data-dc-pdf] input,
.dc-workspace select,
.dc-workspace textarea {
  font: inherit;
  width: 100%;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--dc-line);
  border-radius: 6px;
  background: white;
  color: var(--dc-ink);
}
.dc-workspace input[type="checkbox"] {
  width: 20px;
  height: 20px;
}
.dc-workspace select[multiple] {
  min-height: 95px;
}
.dc-workspace textarea {
  resize: vertical;
}
.dc-workspace small {
  font-size: 0.8em;
  color: var(--dc-muted);
}
.dc-card {
  padding: 22px;
  border: 1px solid var(--dc-line);
  border-radius: 12px;
  background: white;
  margin-bottom: 18px;
  min-width: 0;
}
.dc-card h2 {
  font-size: 1.08em;
  margin: 0 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--dc-line);
}
.dc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.dc-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.dc-wide {
  grid-column: 1/-1;
}
.dc-editor {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 290px);
  gap: 20px;
}
.dc-editor main,
.dc-editor aside {
  min-width: 0;
}
.dc-fieldset {
  padding: 0;
  border: 0;
  margin: 0;
  min-width: 0;
}
.dc-toolbar {
  margin: 0 0 18px;
  padding: 12px 16px;
  background: #edf3f9;
  border-radius: 9px;
}
.dc-filters {
  display: grid;
  grid-template-columns: repeat(4, minmax(130px, 1fr));
  gap: 12px;
  align-items: end;
  background: white;
  border: 1px solid var(--dc-line);
  padding: 16px;
  border-radius: 10px;
  margin-bottom: 18px;
}
.dc-filters button {
  align-self: end;
}
.dc-table {
  overflow: auto;
  border: 1px solid var(--dc-line);
  border-radius: 8px;
}
.dc-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9em;
}
.dc-table th {
  text-align: left;
  background: #f4f7fa;
  color: var(--dc-muted);
  font-weight: 600;
  white-space: nowrap;
}
.dc-table th,
.dc-table td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--dc-line);
  vertical-align: top;
}
.dc-table td {
  min-width: 85px;
  max-width: 340px;
  overflow-wrap: anywhere;
}
.dc-table tr:last-child td {
  border-bottom: 0;
}
.dc-table tbody tr:hover {
  background: #f7fafc;
}
.dc-badge {
  display: inline-block;
  border: 1px solid #dbe3ed;
  color: #52627a;
  background: #f1f5f9;
  border-radius: 5px;
  padding: 2px 8px;
  font-size: 0.8em;
  white-space: nowrap;
}
.dc-EFFECTIVE,
.dc-APPROVED,
.dc-COMPLETED {
  background: #eaf7f0;
  color: #236347;
  border-color: #c6e6d6;
}
.dc-RETURNED,
.dc-FAILED,
.dc-VOID {
  background: #fff0ed;
  color: #a13c30;
  border-color: #f3d3cc;
}
.dc-IN_REVIEW,
.dc-READY,
.dc-PUBLISHED {
  background: #edf3fc;
  color: #325d98;
  border-color: #cfdef2;
}
.dc-metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 22px;
}
.dc-metrics > div {
  border-left: 3px solid var(--dc-accent);
  border-radius: 7px;
  background: white;
  padding: 14px 16px;
  border-top: 1px solid var(--dc-line);
  border-right: 1px solid var(--dc-line);
  border-bottom: 1px solid var(--dc-line);
}
.dc-metrics span {
  color: var(--dc-muted);
  font-size: 0.85em;
}
.dc-metrics strong {
  display: block;
  font-size: 2em;
  font-variant-numeric: tabular-nums;
}
.dc-empty {
  text-align: center;
  padding: 45px 20px;
  color: var(--dc-muted);
  background: #f8fafc;
  border-radius: 8px;
}
.dc-pager {
  justify-content: flex-end;
  margin: 16px 0;
}
.dc-pager > span {
  margin-right: auto;
  color: var(--dc-muted);
}
.dc-pager label {
  flex-direction: row;
  align-items: center;
}
.dc-pager select {
  width: 85px;
}
.dc-route {
  list-style: none;
  padding: 0;
  margin: 0;
}
.dc-route li {
  display: flex;
  gap: 10px;
  padding-bottom: 22px;
}
.dc-route p {
  margin: 6px 0;
}
.dc-step {
  flex: 0 0 26px;
  height: 26px;
  display: grid;
  place-items: center;
  background: #e8f0fa;
  border-radius: 50%;
  font-size: 0.85em;
  color: var(--dc-accent);
}
.dc-error {
  color: #a13c30;
  background: #fff0ed;
  border-radius: 6px;
  padding: 10px;
}
.dc-notice {
  padding: 14px 18px;
  background: #edf3f9;
  border-left: 3px solid var(--dc-accent);
  border-radius: 5px;
  margin: 0 0 18px;
}
.dc-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 18px;
}
.dc-tabs button[aria-pressed="true"] {
  background: var(--dc-accent);
  color: white;
}
.dc-facts {
  display: grid;
  grid-template-columns: minmax(120px, 180px) 1fr;
  gap: 14px;
}
.dc-facts dt {
  color: var(--dc-muted);
}
.dc-facts dd {
  margin: 0;
  overflow-wrap: anywhere;
}
.dc-activity {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--dc-line);
}
.dc-activity span:nth-child(2) {
  flex: 1;
}
.dc-upload {
  display: flex;
  gap: 10px;
  margin-top: 15px;
}
.dc-upload select {
  max-width: 120px;
}
.dc-config-row {
  display: grid;
  grid-template-columns: 1fr 1fr 90px;
  gap: 14px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--dc-line);
}
.dc-config-row select[multiple] {
  min-height: 100px;
}
.dc-matrix {
  padding: 20px;
  background: #f8fafc;
  border: 1px solid var(--dc-line);
  border-radius: 9px;
  margin-bottom: 18px;
}
.dc-config-nodes {
  padding-left: 24px;
}
.dc-config-nodes li {
  padding: 18px;
  border: 1px solid var(--dc-line);
  background: white;
  border-radius: 8px;
  margin: 16px 0;
}
.dc-config-nodes .dc-actions {
  margin-top: 12px;
}
.dc-relation {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1.2fr auto;
  gap: 8px;
  margin-bottom: 12px;
}
@media (max-width: 1400px) {
  .dc-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dc-editor {
    grid-template-columns: minmax(0, 1fr) 245px;
  }
  .dc-card {
    padding: 16px;
  }
  .dc-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .dc-relation {
    grid-template-columns: 1fr 1fr;
  }
  .dc-tabs {
    flex-wrap: wrap;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .dc-workspace button {
    transition:
      background 0.15s,
      border-color 0.15s;
  }
}
.dc-columns {
  margin: 0 0 14px;
  color: var(--dc-muted);
  font-size: 0.9em;
}
.dc-columns summary {
  cursor: pointer;
}
.dc-columns label {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  margin: 10px 16px 0 0;
}
.dc-columns input {
  width: 18px;
  height: 18px;
}
.dc-table form input,
.dc-table form select {
  margin-bottom: 7px;
}
/* Column visibility is structural; no inline stylesheet is generated under CSP. */
.dc-ledger-table {
  max-width: 100%;
  isolation: isolate;
}
.dc-ledger-table table {
  min-width: 2060px;
  table-layout: fixed;
}
.dc-ledger-table .dc-col-2,
.dc-ledger-table .dc-col-3,
.dc-ledger-table .dc-col-4,
.dc-ledger-table .dc-col-5,
.dc-ledger-table .dc-col-6 {
  width: 120px;
  min-width: 120px;
}
.dc-ledger-table th {
  white-space: nowrap;
}
.dc-ledger-table .dc-col-0 {
  position: sticky;
  left: 0;
  width: 150px;
  min-width: 150px;
  z-index: 2;
  background: #fff;
}
.dc-ledger-table .dc-col-1 {
  position: sticky;
  left: 150px;
  width: 220px;
  min-width: 220px;
  z-index: 2;
  background: #fff;
  box-shadow: 3px 0 6px #2030470a;
}
.dc-ledger-table .dc-col-12 {
  position: sticky;
  right: 0;
  width: 90px;
  min-width: 90px;
  z-index: 2;
  background: #fff;
  box-shadow: -3px 0 6px #2030470a;
}
.dc-ledger-table th.dc-col-0,
.dc-ledger-table th.dc-col-1,
.dc-ledger-table th.dc-col-12 {
  background: #f4f7fa;
  z-index: 3;
}
.dc-ledger-table .dc-col-7 {
  width: 230px;
}
.dc-ledger-table .dc-col-8,
.dc-ledger-table .dc-col-9,
.dc-ledger-table .dc-col-11 {
  width: 170px;
}
.dc-ledger-table .dc-col-10 {
  width: 160px;
}
.dc-metrics > button {
  border-left: 3px solid var(--dc-accent);
  text-align: left;
  white-space: normal;
  padding: 14px 16px;
}
.dc-metrics > button:hover {
  background: #edf3f9;
}
.dc-chart-scroll {
  overflow-x: auto;
}
.dc-chart {
  display: block;
  width: 100%;
  min-width: 620px;
  max-height: 330px;
}
.dc-chart-axis {
  stroke: #dfe5ed;
  stroke-width: 1;
}
.dc-chart-label,
.dc-chart-count {
  fill: var(--dc-muted);
  font-size: 12px;
  text-anchor: middle;
}
.dc-chart-count {
  font-size: 11px;
}
.dc-chart-NEW {
  fill: #2863b5;
}
.dc-chart-REVISE {
  fill: #28a18c;
}
.dc-chart-VOID {
  fill: #c58a43;
}
.dc-chart-legend {
  display: flex;
  gap: 18px;
  font-size: 0.85em;
  justify-content: center;
  margin: 8px 0 20px;
}
.dc-chart-legend span:before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 2px;
  margin-right: 6px;
}
.dc-key-NEW:before {
  background: #2863b5;
}
.dc-key-REVISE:before {
  background: #28a18c;
}
.dc-key-VOID:before {
  background: #c58a43;
}

/* Overview controls stay compact; closing a panel keeps its draft inputs in DOM. */
.dc-filter-shell {
  margin-bottom: 18px;
  border: 1px solid var(--dc-line);
  border-radius: 10px;
  background: #fff;
}
.dc-filter-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 12px 16px;
}
.dc-filter-heading > div {
  display: flex;
  align-items: baseline;
  gap: 16px;
  min-width: 0;
}
.dc-filter-heading strong {
  white-space: nowrap;
  font-size: 0.92em;
}
.dc-filter-heading span {
  color: var(--dc-muted);
  font-size: 0.86em;
  overflow-wrap: anywhere;
}
.dc-filter-shell .dc-filters {
  margin: 0;
  border: 0;
  border-top: 1px solid var(--dc-line);
  border-radius: 0 0 10px 10px;
}
.dc-filters[hidden],
[data-dc-trend-details][hidden] {
  display: none;
}
.dc-summary-grid {
  align-items: stretch;
}
.dc-summary-grid > .dc-card {
  margin-bottom: 0;
}
.dc-summary-grid + .dc-card {
  margin-top: 18px;
}
.dc-efficiency {
  display: grid;
  gap: 18px;
}
.dc-training-summary {
  display: grid;
  grid-template-columns: 144px minmax(0, 1fr);
  align-items: center;
  gap: 24px;
}
.dc-training-ring {
  position: relative;
  width: 144px;
  height: 144px;
}
.dc-training-ring svg {
  width: 100%;
  height: 100%;
}
.dc-ring-track,
.dc-ring-value {
  fill: none;
  stroke-width: 9;
}
.dc-ring-track {
  stroke: #e8edf3;
}
.dc-ring-value {
  stroke: #238d7b;
}
.dc-training-ring > div {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.dc-training-ring strong {
  font-size: 1.6em;
  font-variant-numeric: tabular-nums;
  line-height: 1.25;
}
.dc-training-ring span {
  color: var(--dc-muted);
  font-size: 0.8em;
}
.dc-training-facts p {
  margin: 0;
  padding: 5px 0;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.dc-training-facts p > span {
  color: var(--dc-muted);
  font-size: 0.9em;
}
.dc-training-facts strong {
  font-size: 1.25em;
  font-variant-numeric: tabular-nums;
}
.dc-training-facts small {
  font-weight: 400;
}
.dc-number-warning {
  color: #a6681e;
}
.dc-efficiency-note {
  color: var(--dc-muted);
  font-size: 0.8em;
  line-height: 1.6;
  margin: 0;
}
.dc-efficiency-numbers {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 14px;
}
.dc-efficiency-numbers > div {
  background: #f5f8fb;
  padding: 16px;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.dc-efficiency-numbers > div > span {
  color: var(--dc-muted);
  font-size: 0.86em;
}
.dc-efficiency-numbers strong {
  font-size: 1.85em;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}
.dc-efficiency-numbers strong span {
  font-size: 0.46em;
  font-weight: 400;
  margin-left: 6px;
  color: var(--dc-muted);
}
.dc-efficiency-rate > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 0.9em;
}
.dc-rate-bar {
  display: block;
  width: 100%;
  height: 7px;
  margin: 8px 0 5px;
  border-radius: 4px;
}
.dc-rate-track {
  fill: #e8edf3;
}
.dc-rate-overdue {
  fill: #c58a43;
}
.dc-rate-return {
  fill: #5981bd;
}
.dc-trend-toolbar,
.dc-trend-navigation,
.dc-trend-detail-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.dc-trend-toolbar > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.dc-trend-toolbar strong {
  font-size: 0.93em;
}
.dc-trend-toolbar label {
  flex-direction: row;
  align-items: center;
  white-space: nowrap;
  font-size: 0.8em;
}
.dc-trend-toolbar select {
  width: auto;
}
.dc-trend-navigation {
  justify-content: flex-end;
  margin: 12px 0;
  font-size: 0.8em;
}
[data-dc-trend-panel] .dc-chart {
  width: 100%;
  min-width: 420px;
  max-width: none;
  height: 236px;
  max-height: none;
}
[data-dc-trend-panel] [data-dc-long] .dc-chart {
  min-width: 900px;
}
[data-dc-trend-panel] .dc-chart-scroll {
  max-width: 100%;
  border-radius: 8px;
}
.dc-trend-detail-heading {
  border-top: 1px solid var(--dc-line);
  padding-top: 16px;
  margin-top: 16px;
  font-size: 0.9em;
}
.dc-trend-detail-heading small {
  margin-left: 8px;
  font-weight: 400;
}
.dc-trend-table {
  max-height: 330px;
  margin-top: 14px;
}
.dc-trend-table th {
  position: sticky;
  top: 0;
}
.dc-trend-table td,
.dc-trend-table th {
  min-width: 0;
  padding: 9px 12px;
}
.dc-trend-table table {
  table-layout: fixed;
}
.dc-trend-table th:first-child {
  width: 34%;
}
.dc-trend-pager {
  font-size: 0.8em;
  margin: 12px 0 0;
}
@media (max-width: 1400px) {
  .dc-training-summary {
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 14px;
  }
  .dc-training-ring {
    width: 120px;
    height: 120px;
  }
  .dc-training-ring strong {
    font-size: 1.4em;
  }
  .dc-trend-toolbar {
    flex-wrap: wrap;
  }
  .dc-efficiency-numbers {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .dc-efficiency-numbers > div {
    padding: 12px;
  }
  .dc-filter-heading > div {
    flex-wrap: wrap;
    gap: 4px 12px;
  }
}
.dc-structure-table th,
.dc-structure-table td {
  min-width: 0;
  padding: 10px 8px;
}
.dc-structure-table button {
  padding: 5px 10px;
}

/* Analysis expands with content. The chart never shares a vertical scroller with details. */
.dc-analysis-card {
  height: auto;
}
.dc-trend-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}
.dc-trend-layout.is-expanded {
  grid-template-columns: minmax(0, 1.6fr) minmax(300px, 1fr);
}
.dc-trend-plot {
  min-width: 0;
}
.dc-trend-detail-panel {
  min-width: 0;
  border-left: 1px solid var(--dc-line);
  padding-left: 24px;
}
.dc-trend-detail-panel[hidden] {
  display: none;
}
.dc-trend-detail-heading {
  margin: 0;
  padding: 0;
  border: 0;
}
.dc-trend-table {
  max-height: none;
}
.dc-trend-navigation > small {
  margin-right: auto;
}
.dc-trend-pager {
  justify-content: flex-end;
}
.dc-trend-pager > span {
  margin-right: auto;
}
.dc-summary-pager {
  margin-top: 16px;
}
.dc-summary-pager > span {
  margin-right: auto;
}
.dc-alert-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
}
.dc-alert-list .dc-alert-item {
  margin: 0;
}
.dc-alert-list .dc-empty {
  grid-column: 1/-1;
}
.dc-analysis-efficiency .dc-efficiency {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 32px;
}
.dc-analysis-efficiency .dc-training-summary {
  grid-column: 1;
  grid-row: 1;
}
.dc-analysis-efficiency .dc-efficiency-note {
  grid-column: 1;
  grid-row: 2;
}
.dc-analysis-efficiency .dc-efficiency-numbers {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
}
.dc-level-L1 {
  --dc-level-ink: #275daa;
  --dc-level-bg: #edf3fc;
  --dc-level-border: #d4e2f7;
}
.dc-level-L2 {
  --dc-level-ink: #197466;
  --dc-level-bg: #edf8f4;
  --dc-level-border: #c9e8de;
}
.dc-level-L3 {
  --dc-level-ink: #94621c;
  --dc-level-bg: #fdf5e7;
  --dc-level-border: #efdfbd;
}
.dc-level-L4 {
  --dc-level-ink: #7554a6;
  --dc-level-bg: #f4effb;
  --dc-level-border: #e2d7f2;
}
.dc-level-tag,
.dc-workspace .dc-level-count {
  color: var(--dc-level-ink, var(--dc-ink));
  background: var(--dc-level-bg, #f4f7fa);
  border: 1px solid var(--dc-level-border, var(--dc-line));
  border-radius: 5px;
  font-variant-numeric: tabular-nums;
}
.dc-level-tag {
  display: inline-block;
  padding: 2px 6px;
  font-size: 0.82em;
  font-weight: 600;
  white-space: nowrap;
}
.dc-structure-table th .dc-level-tag {
  font-size: 0.9em;
  padding: 2px 4px;
}
.dc-alert-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 12px;
  border: 1px solid var(--dc-line);
  border-radius: 8px;
  margin-bottom: 10px;
  background: #fafbfd;
}
.dc-alert-content {
  flex: 1;
  min-width: 0;
}
.dc-alert-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.dc-alert-title {
  display: block;
  margin: 7px 0 3px;
  font-size: 0.95em;
  font-weight: 600;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.dc-alert-content > small {
  display: block;
}
.dc-alert-item > button {
  flex-shrink: 0;
  font-size: 0.86em;
}
.dc-activity-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.dc-recent-table {
  max-height: 28em;
}
.dc-recent-table th {
  position: sticky;
  top: 0;
  z-index: 1;
}
.dc-recent-name {
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.dc-recent-name > span:last-child {
  overflow-wrap: anywhere;
}
.dc-activity-pager {
  margin-top: 14px;
}
.dc-activity-pager > span {
  margin-right: auto;
}
.dc-activity-pager label {
  flex-direction: row;
  align-items: center;
  white-space: nowrap;
}
[data-dc-trend-panel][aria-busy="true"],
[data-dc-activity-panel][aria-busy="true"] {
  opacity: 0.65;
  cursor: progress;
}
@media (max-width: 1400px) {
  .dc-structure-table th,
  .dc-structure-table td {
    padding: 10px 5px;
  }
  .dc-alert-item {
    gap: 10px;
    padding: 10px;
  }
}
/* Application selections stay inside their section and inherit global typography. */
.dc-operation-hint,
.dc-field-hint {
  font-size: 0.85em;
  line-height: 1.65;
  color: var(--dc-muted);
  margin: 0 0 16px;
}
.dc-field-hint {
  margin: 8px 0 0;
}
.dc-picker {
  min-width: 0;
  border: 1px solid var(--dc-line);
  border-radius: 9px;
  background: #fff;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-self: start;
}
.dc-picker-heading {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
}
.dc-picker-heading strong {
  font-size: 0.95em;
}
.dc-picker-heading > span {
  font-size: 0.8em;
  color: var(--dc-accent);
  white-space: nowrap;
}
.dc-picker-chips {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  min-height: 22px;
  max-height: 110px;
  overflow: auto;
}
.dc-picker-chips > span {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  border-radius: 5px;
  background: #edf3f9;
  color: var(--dc-ink);
  padding: 3px 7px;
  font-size: 0.8em;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.dc-picker-chips button {
  padding: 0 3px;
  border: 0;
  background: transparent;
  font-size: 1em;
  line-height: 1.3;
}
.dc-picker-options {
  max-height: 210px;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
}
.dc-workspace .dc-picker-options label {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 7px;
  border-radius: 5px;
  font-size: 0.9em;
  cursor: pointer;
}
.dc-picker-options label:hover {
  background: #f4f7fa;
}
.dc-picker-options input[type="checkbox"] {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  margin: 0;
  accent-color: var(--dc-accent);
}
.dc-picker-options label > span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.dc-picker-options label > span > small {
  display: block;
}
.dc-picker-options label:has(input:checked) {
  background: #edf3f9;
}
.dc-picker-footer {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  border-top: 1px solid var(--dc-line);
  padding-top: 9px;
}
.dc-picker-footer button {
  font-size: 0.8em;
  padding: 4px 8px;
}
.dc-picker-footer > small {
  margin-left: auto;
}
.dc-release-layout {
  display: grid;
  gap: 18px;
  min-width: 0;
}
.dc-release-layout > .dc-field-hint {
  margin-top: -10px;
}
.dc-people-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}
.dc-archive-button {
  display: inline-flex;
  align-items: center;
  background: #fff;
  border-color: var(--dc-accent) !important;
  color: var(--dc-accent) !important;
}
.dc-workspace [data-dc-visibility-users][hidden] {
  display: none !important;
}
.dc-relation select {
  min-height: 40px;
}
.dc-relation {
  align-items: start;
}
.dc-relation button {
  align-self: start;
}
.dc-picker input[type="search"] {
  min-height: 38px;
}
@media (max-width: 1450px) {
  .dc-people-grid {
    grid-template-columns: 1fr;
  }
  .dc-picker-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1800px) {
  .dc-wide > .dc-picker .dc-picker-options {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.dc-transition-panel {
  border: 1px solid #d8b381;
  border-left: 4px solid #b67a2a;
  border-radius: 9px;
  padding: 18px;
  background: #fffaf2;
  margin: 0 0 18px;
}
.dc-transition-panel h2 {
  font-size: 1.1em;
  margin: 0 0 8px;
}
.dc-transition-panel > p {
  color: var(--dc-muted);
  margin: 0 0 12px;
}
.dc-transition-panel [role="alert"] {
  color: #a13c30;
  margin: 8px 0;
}
.dc-transition-panel .dc-actions {
  justify-content: flex-end;
}
/* Document reading: compact metadata, generous reading surface. */
.dc-detail-heading { gap: 12px; align-items: center; }
.dc-detail-heading > div:first-child { flex: 1; min-width: 220px; }
.dc-detail-heading h2 { margin: 0; font-size: 1.35em; overflow-wrap: anywhere; }
.dc-detail-heading p { margin: 4px 0 0; }
.dc-document-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px 24px; margin: 0 0 20px; padding-bottom: 18px; border-bottom: 1px solid var(--dc-border,#dce3ea); }
.dc-document-facts dt { color: var(--dc-muted); font-size: .88em; margin-bottom: 5px; }
.dc-document-facts dd { margin: 0; overflow-wrap: anywhere; }
.dc-reading-layout { display: grid; grid-template-columns: minmax(220px,260px) minmax(0,1fr); gap: 20px; align-items: start; }
.dc-reading-layout main { min-width: 0; }
.dc-reading-files { border-right: 1px solid var(--dc-border,#dce3ea); padding-right: 16px; max-height: 78vh; overflow: auto; }
.dc-reading-files section + section { border-top: 1px solid var(--dc-border,#dce3ea); padding-top: 12px; margin-top: 16px; }
.dc-reading-files h3, .dc-attachment-group h3 { margin: 0 0 8px; font-size: 1em; }
.dc-reading-files p { overflow-wrap: anywhere; margin: 8px 0; }
.dc-reading-files button,.dc-reading-files .button { margin-bottom: 6px; }
.dc-reader { border: 1px solid var(--dc-border,#dce3ea); border-radius: 8px; overflow: hidden; background: #f3f5f7; }
.dc-reader-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 12px 14px; background: #fff; border-bottom: 1px solid var(--dc-border,#dce3ea); }
.dc-reader-heading strong { flex: 1; overflow-wrap: anywhere; min-width: 160px; }
.dc-reader-frame { display: block; width: 100%; height: 76vh; min-height: 560px; border: 0; background: #fff; }
.dc-reader-image { display: block; max-width: 100%; max-height: 80vh; object-fit: contain; margin: auto; }
.dc-reader-message { padding: 36px 24px; line-height: 1.8; min-height: 180px; }
.dc-attachment-groups { display: grid; gap: 16px; }
.dc-attachment-group { padding: 16px 0; border-bottom: 1px solid var(--dc-border,#dce3ea); }
.dc-attachment-group:last-child { border-bottom: 0; }
.dc-attachment-group h3 small { font-weight: 400; color: var(--dc-muted); margin-left: 8px; }
.dc-attachment-item, .dc-related-result { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 10px 0; }
.dc-attachment-item > span,.dc-related-result > div { min-width: 0; overflow-wrap: anywhere; }
.dc-attachment-item > div { flex-shrink: 0; }
.dc-related-results { border: 1px solid var(--dc-border,#dce3ea); border-radius: 8px; padding: 12px 16px; margin-bottom: 16px; }
.dc-related-result + .dc-related-result { border-top: 1px solid var(--dc-border,#dce3ea); }
.dc-related-result p { margin: 4px 0 0; color: var(--dc-muted); font-size: .9em; }
.dc-related-result > button { flex-shrink: 0; }
.dc-source-applications { margin-top: 16px; }

/* Scoped administration layout; business ledgers and application forms keep their own density. */
.dc-settings-layout { max-width:1600px; display:grid; grid-template-columns:190px minmax(0,1fr); gap:24px; align-items:start; }
.dc-settings-nav { display:flex; flex-direction:column; gap:6px; padding:14px 10px; background:#fff; border:1px solid var(--dc-line); border-radius:12px; position:sticky; top:18px; }
.dc-settings-nav > span { padding:10px 12px; color:#64818d; font-size:.85em; font-weight:600; }
.dc-settings-nav button { text-align:left; border-color:transparent; background:transparent; padding:12px; white-space:normal; }
.dc-settings-nav button[aria-current=page] { background:#e7f4f4; color:#087c88; border-left:3px solid #078392; font-weight:700; }
.dc-settings-main { min-width:0; display:grid; gap:18px; }
.dc-setting-heading { display:flex; justify-content:space-between; align-items:start; gap:20px; padding:4px 0; }
.dc-setting-heading h2 { margin:0 0 8px; }
.dc-setting-heading p { color:#6b818c; margin:0; line-height:1.7; }
.dc-setting-heading > span { white-space:nowrap; }
.dc-settings-main .dc-card { margin:0; padding:24px; min-width:0; }
.dc-settings-main .dc-card > h2 { font-size:1.12em; margin:0 0 16px; }
.dc-settings-main .dc-card > .dc-muted { margin:0 0 20px; line-height:1.7; }
.dc-settings-main .dc-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 22px; margin:16px 0; }
.dc-settings-main label, .dc-settings-main input, .dc-settings-main select { min-width:0; }
.dc-settings-main .dc-setting-check { display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:8px; margin:0; font-weight:500; line-height:1.5; }
.dc-settings-main .dc-setting-check input { width:16px; height:16px; min-height:0; margin:0; flex:0 0 16px; accent-color:#078392; }
.dc-settings-main .dc-config-row { grid-template-columns:minmax(100px,.7fr) minmax(150px,1.5fr) 90px; padding:12px 0; }
.dc-settings-main .dc-config-row:last-of-type { margin-bottom:18px; }
.dc-setting-choices { border:1px solid var(--dc-line); border-radius:8px; margin:18px 0; padding:14px 16px; min-width:0; }
.dc-setting-choices legend { font-weight:600; padding:0 6px; }
.dc-setting-choices small { color:#6b818c; font-weight:400; margin-left:8px; }
.dc-setting-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; max-height:240px; overflow:auto; padding:14px 0 4px; }
.dc-setting-rules { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px; }
.dc-setting-rules button[aria-pressed=true] { background:#e7f4f4; color:#087c88; border-color:#078392; }
.dc-setting-node { border:1px solid var(--dc-line); border-radius:10px; padding:20px; margin-bottom:16px; background:#fbfcfd; }
.dc-setting-node-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.dc-setting-flags { display:flex; flex-wrap:wrap; gap:22px; margin-top:18px; }
.dc-setting-note { padding:14px 16px; border-radius:8px; background:#f1f7fa; color:#536d7b; line-height:1.7; margin:16px 0; }
.dc-setting-save { display:flex; align-items:end; gap:18px; padding:20px 24px; background:#fff; border:1px solid var(--dc-line); border-radius:10px; }
.dc-setting-save label { flex:1; }
.dc-setting-save button { flex-shrink:0; }
@media (max-width:1400px) {
 .dc-settings-layout { grid-template-columns:166px minmax(0,1fr); gap:18px; }
 .dc-settings-main .dc-card { padding:20px; }
 .dc-setting-node { padding:16px; }
}

.dc-settings-main button.primary { background:#078392; border-color:#078392; }
.dc-pdf-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 10px 12px; background: #fff; border-bottom: 1px solid var(--dc-border,#dce3ea); }
.dc-pdf-toolbar label { display: flex; align-items: center; gap: 6px; }
.dc-pdf-toolbar input { width: 68px; min-width: 0; }
.dc-pdf-status { padding: 8px 14px; margin: 0; color: var(--dc-muted); font-size: .9em; }
.dc-pdf-surface { height: 74vh; min-height: 520px; overflow: auto; background: #e7ebef; padding: 16px; box-sizing: border-box; }
.dc-pdf-surface canvas { display: block; margin: 0 auto; background: #fff; box-shadow: 0 2px 10px #23314020; }
[data-dc-pdf]:fullscreen, [data-dc-pdf].dc-pdf-fullscreen { display: flex; flex-direction: column; width: 100vw; height: 100vh; max-width: none; max-height: none; background: #f3f5f7; color: #233140; box-sizing: border-box; }
[data-dc-pdf].dc-pdf-fullscreen { position: fixed; inset: 0; z-index: 10000; }
/* The reader is a body portal in both native and fallback fullscreen. Scale
   controls independently so PDF fit width and the physical viewport stay exact. */
[data-dc-pdf]:fullscreen .dc-pdf-toolbar, .dc-pdf-fullscreen .dc-pdf-toolbar,
[data-dc-pdf]:fullscreen .dc-pdf-status, .dc-pdf-fullscreen .dc-pdf-status { zoom: var(--portal-font-scale,1); }
[data-dc-pdf]:fullscreen .dc-pdf-toolbar, .dc-pdf-fullscreen .dc-pdf-toolbar { flex: 0 0 auto; }
[data-dc-pdf]:fullscreen .dc-pdf-surface, .dc-pdf-fullscreen .dc-pdf-surface { flex: 1 1 auto; height: auto; min-height: 0; overscroll-behavior: contain; }
.dc-pdf-toolbar [data-pdf-action="fullscreen"] { margin-left: auto; }

/* Keep the page input and total together at every global font size. */
.dc-pdf-page-position { display:inline-flex; align-items:center; flex:0 0 auto; gap:8px; white-space:nowrap; }
.dc-pdf-toolbar .dc-pdf-page-position input { width:64px; min-width:64px; height:38px; margin:0; padding:6px 8px; text-align:center; }
.dc-pdf-page-position [data-pdf-total] { min-width:32px; }
.business-ledger-settings .dc-filters input[type="checkbox"] { width:18px; min-height:18px; height:18px; justify-self:start; }

.dc-workspace button.dc-delete-link { color:#b43535; border-color:#eed0d0; background:#fff; margin-left:6px; }
.dc-delete-dialog { width:min(480px,calc(100vw - 64px)); padding:28px; border:1px solid #e2e8ee; border-radius:14px; color:#263d4b; box-shadow:0 24px 80px #18334538; font:inherit; }
.dc-delete-dialog::backdrop { background:#172b3c66; }
.dc-delete-dialog h2 { font-size:20px; margin:0 0 20px; }
.dc-delete-target { display:grid; gap:8px; padding:16px; border:1px solid #e3e9ef; border-radius:8px; background:#f6f9fb; overflow-wrap:anywhere; }
.dc-delete-target span { font-size:13px; color:#6d8291; }
.dc-delete-dialog p { line-height:1.8; margin:18px 0 24px; }
.dc-delete-actions { display:flex; gap:12px; justify-content:flex-end; }
.dc-delete-actions button { min-width:96px; min-height:40px; padding:8px 16px; border:1px solid #d8e3ea; border-radius:8px; background:#fff; color:#355565; font:inherit; cursor:pointer; }
.dc-delete-actions button:focus-visible { outline:2px solid #257080; outline-offset:3px; }
.dc-delete-actions .dc-delete-confirm { background:#b43535; border-color:#b43535; color:#fff; }
