.dc-dialog {
    width: min(920px, calc(100vw - 32px));
}

.dc-dialog:has(.dc-data-explorer) {
    width: min(1080px, calc(100vw - 32px));
}

/* Enterprise data workbench: compact context first, data and actions above prose. */
.dc-head {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 8px 12px;
    border-radius: 10px;
    box-shadow: none;
}

.dc-head-copy {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: 12px;
}

.dc-head h2 {
    margin: 0;
    font-size: 19px;
    line-height: 1.2;
    letter-spacing: -.01em;
}

.dc-head-copy > span {
    overflow: hidden;
    color: var(--dc-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dc-head-actions { display: flex; align-items: center; gap: 8px; }
.dc-head-launch {
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid #cbd7e6;
    border-radius: 7px;
    color: #1d4f8e;
    background: #fff;
    font-size: 12px;
    font-weight: 750;
    cursor: pointer;
}
.dc-head-launch:hover { border-color: #8fb0d6; background: #f3f7fc; }

.dc-head-state {
    display: flex;
    min-width: auto;
    min-height: 30px;
    align-items: center;
    gap: 8px;
    padding: 4px 8px 4px 10px;
    border-radius: 7px;
    background: #f7faf9;
}

.dc-head-state strong {
    font-size: 13px;
}

.dc-head-state em {
    padding-left: 8px;
    border-left: 1px solid var(--dc-line);
    font-variant-numeric: tabular-nums;
}

.dc-dataops-shell {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.dc-dataops-commandbar,
.dc-dataops-section-head,
.dc-dataops-bottom > section > header,
.dc-dataops-inspector section > header,
.dc-dataops-inspector-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.dc-dataops-commandbar {
    min-height: 48px;
    padding: 7px 10px 7px 14px;
    border: 1px solid var(--dc-line);
    border-radius: 10px;
    background: #fff;
}

.dc-dataops-commandbar > div:first-child {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.dc-dataops-commandbar span,
.dc-dataops-section-head span,
.dc-dataops-bottom header span,
.dc-dataops-inspector-head small,
.dc-dataops-inspector section > header span {
    color: var(--dc-muted);
    font-size: 11px;
}

.dc-dataops-kpis {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    border: 1px solid var(--dc-line);
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}

.dc-dataops-kpis button {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: baseline;
    gap: 8px;
    min-width: 0;
    min-height: 54px;
    padding: 9px 12px;
    border: 0;
    border-right: 1px solid var(--dc-line);
    background: #fff;
    color: #26352f;
    text-align: left;
    cursor: pointer;
}

.dc-dataops-kpis button:last-child {
    border-right: 0;
}

.dc-dataops-kpis button:hover,
.dc-dataops-kpis button.is-active {
    background: #eef7f3;
}

.dc-dataops-kpis b {
    color: var(--dc-accent-strong);
    font-size: 21px;
    font-variant-numeric: tabular-nums;
}

.dc-dataops-kpis span {
    overflow: hidden;
    color: var(--dc-muted);
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dc-dataops-workbench {
    display: grid;
    grid-template-columns: 220px minmax(560px, 1fr) minmax(310px, 370px);
    min-height: 570px;
    border: 1px solid var(--dc-line);
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}

.dc-dataops-tree,
.dc-dataops-inspector {
    min-width: 0;
    background: #f8fbfa;
}

.dc-dataops-tree {
    border-right: 1px solid var(--dc-line);
}

.dc-dataops-tree > header {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 10px;
    border-bottom: 1px solid var(--dc-line);
}

.dc-dataops-tree nav {
    display: grid;
    padding: 6px;
}

.dc-dataops-tree nav > button {
    display: grid;
    gap: 3px;
    padding: 9px 10px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #27352f;
    text-align: left;
    cursor: pointer;
}

.dc-dataops-tree nav > button:hover,
.dc-dataops-tree nav > button.is-active {
    background: #e7f1ed;
    color: var(--dc-accent-strong);
}

.dc-dataops-tree nav small {
    color: var(--dc-muted);
    font-size: 11px;
}

.dc-dataops-canvas {
    min-width: 0;
    padding: 10px;
    overflow: auto;
}

.dc-dataops-section-head {
    min-height: 40px;
    margin-bottom: 8px;
}

.dc-dataops-section-head > div,
.dc-dataops-section-head label {
    display: grid;
    gap: 2px;
}

.dc-dataops-section-head input {
    width: 210px;
    min-height: 34px;
    padding: 6px 9px;
    border: 1px solid #bdcbc6;
    border-radius: 7px;
}

.dc-dataops-gates {
    display: flex;
    gap: 4px;
}

.dc-dataops-inspector {
    padding: 12px;
    border-left: 1px solid var(--dc-line);
    overflow: auto;
}

.dc-dataops-placeholder {
    display: grid;
    min-height: 300px;
    place-content: center;
    gap: 6px;
    color: var(--dc-muted);
    text-align: center;
}

.dc-dataops-inspector-head {
    padding-bottom: 10px;
    border-bottom: 1px solid var(--dc-line);
}

.dc-dataops-inspector-head > div {
    display: grid;
    gap: 3px;
}

.dc-dataops-gateboard {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 10px 0;
    border: 1px solid var(--dc-line);
    border-radius: 8px;
    overflow: hidden;
}

.dc-dataops-gateboard > div {
    display: grid;
    gap: 5px;
    padding: 8px;
    border-right: 1px solid var(--dc-line);
}

.dc-dataops-gateboard > div:last-child {
    border-right: 0;
}

.dc-dataops-gateboard span:first-child,
.dc-dataops-facts dt {
    color: var(--dc-muted);
    font-size: 10px;
    font-weight: 800;
}

.dc-dataops-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px;
}

.dc-dataops-actions button {
    min-height: 32px;
    padding: 6px 9px;
    font-size: 12px;
}

.dc-dataops-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0 0 12px;
}

.dc-dataops-facts div {
    min-width: 0;
}

.dc-dataops-facts dd {
    margin: 3px 0 0;
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dc-dataops-inspector section {
    margin-top: 12px;
}

.dc-dataops-inspector section > header {
    margin-bottom: 6px;
}

.dc-dataops-code {
    max-height: 190px;
    margin: 0;
    padding: 10px;
    border: 1px solid #dbe5e1;
    border-radius: 8px;
    background: #14231e;
    color: #d8ebe4;
    font: 11px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    overflow: auto;
}

.dc-dataops-dependency {
    display: grid;
    width: 100%;
    gap: 2px;
    padding: 7px 0;
    border: 0;
    border-bottom: 1px solid var(--dc-line);
    background: transparent;
    color: #27352f;
    text-align: left;
    cursor: pointer;
}

.dc-dataops-dependency small {
    color: var(--dc-muted);
}

.dc-dataops-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    gap: 12px;
}

.dc-dataops-bottom > section {
    min-width: 0;
    padding: 10px;
    border: 1px solid var(--dc-line);
    border-radius: 10px;
    background: #fff;
}

.dc-dataops-bottom > section > header {
    min-height: 34px;
    margin-bottom: 6px;
}

.dc-dataops-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.dc-dataops-choice-grid .dc-check span {
    display: grid;
    gap: 2px;
}

.dc-dataops-choice-grid small {
    color: var(--dc-muted);
}

.dc-table-tools {
    position: sticky;
    left: 0;
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto auto minmax(360px, auto);
    align-items: end;
    gap: 12px;
    padding: 10px 12px;
    border-bottom: 1px solid #e3ebe8;
    background: #fbfdfc;
}

.dc-table-tools label {
    display: grid;
    gap: 4px;
}

.dc-table-tools label span,
.dc-table-tools > span {
    color: var(--dc-muted);
    font-size: 11px;
    font-weight: 800;
}

.dc-table-tools input {
    min-height: 36px;
    padding: 7px 9px;
    border: 1px solid #bdcbc6;
    border-radius: 8px;
    background: #fff;
}

.dc-table-tools select {
    min-height: 36px;
    padding: 7px 28px 7px 9px;
    border: 1px solid #bdcbc6;
    border-radius: 8px;
    background: #fff;
    color: #24352f;
}

.dc-page-size {
    min-width: 82px;
}

.dc-table-tools div,
.dc-section-head,
.dc-inline-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.dc-table-tools button {
    padding: 7px 10px;
}

.dc-pagination-buttons,
.dc-pagination-buttons > span {
    display: flex;
    align-items: center;
    gap: 6px;
}

.dc-page-number {
    min-width: 34px;
    min-height: 34px;
    border: 1px solid #bdcbc6;
    border-radius: 8px;
    background: #fff;
    color: #2c443c;
    font-weight: 800;
    cursor: pointer;
}

.dc-page-number.is-active {
    border-color: var(--dc-accent);
    background: var(--dc-accent);
    color: #fff;
}

.dc-table-tools button:disabled {
    opacity: .45;
    cursor: not-allowed;
}

.dc-data-explorer section {
    min-width: 0;
}

.dc-data-explorer h4 {
    margin: 0 0 10px;
}

.dc-section-head {
    align-items: flex-start;
    margin-bottom: 10px;
}

.dc-section-head p,
.dc-section-note {
    margin: 4px 0 10px;
    color: var(--dc-muted);
    line-height: 1.5;
}

.dc-inline-footer {
    justify-content: flex-end;
    padding-top: 10px;
}

.dc-data-explorer .dc-inline-footer {
    justify-content: space-between;
}

.dc-inline-footer > div,
.dc-record-query {
    display: flex;
    align-items: flex-end;
    gap: 8px;
}

.dc-record-query {
    flex-wrap: wrap;
    margin: 8px 0 12px;
    padding: 10px;
    border: 1px solid #dce7e3;
    border-radius: 10px;
    background: #f8fbfa;
}

.dc-record-query label {
    display: grid;
    gap: 4px;
    color: var(--dc-muted);
    font-size: 11px;
    font-weight: 800;
}

.dc-record-query label:first-of-type {
    flex: 1 1 260px;
}

.dc-record-query input,
.dc-record-query select {
    min-height: 36px;
    padding: 7px 9px;
    border: 1px solid #bdcbc6;
    border-radius: 8px;
    background: #fff;
    color: #24352f;
}

.dc-table input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--dc-accent);
    cursor: pointer;
}

.dc-data-explorer [data-dc-server-page] {
    min-width: 0;
}

.dc-record-value {
    display: inline-block;
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
}

.dc-masked-value,
.dc-source-approved {
    color: #47645b;
    font-size: 12px;
    font-weight: 800;
}

.dc-masked-value {
    padding: 4px 7px;
    border-radius: 7px;
    background: #edf2f0;
}

.dc-danger-link {
    color: #a2382f;
}

.dc-source-rejected {
    color: #a2382f;
    font-size: 12px;
    font-weight: 800;
}

.dc-metric-link {
    display: grid;
    gap: 3px;
    min-height: 104px;
    padding: 17px;
    border: 0;
    border-right: 1px solid var(--dc-line);
    background: #fff;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.dc-metric-link:last-child {
    border-right: 0;
}

.dc-metric-link:hover,
.dc-layer-link:hover {
    background: #f4f9f7;
}

.dc-metric-link:focus-visible,
.dc-layer-link:focus-visible,
.dc-detail-tab-button:focus-visible {
    outline: 3px solid rgba(23, 107, 91, .25);
    outline-offset: -3px;
}

.dc-layer-link {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    width: 100%;
    padding: 11px 0;
    border: 0;
    border-bottom: 1px solid #edf2f0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.dc-layer-link:last-child {
    border-bottom: 0;
}

.dc-layer-link > span {
    display: grid;
    gap: 2px;
}

.dc-layer-link > span small {
    color: var(--dc-muted);
    font-size: 12px;
}

.dc-layer-link em {
    font-style: normal;
    font-weight: 800;
}

.dc-inline-json {
    max-width: 520px;
    max-height: 220px;
    margin: 0;
    padding: 8px 10px;
    border-radius: 8px;
    background: #f2f6f4;
    color: #32443e;
    font: 12px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    overflow: auto;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.dc-detail-value {
    white-space: normal;
    overflow-wrap: anywhere;
}

.dc-result-number,
.dc-number-link {
    font-variant-numeric: tabular-nums;
}

.dc-result-number {
    color: var(--dc-accent-strong);
    font-size: 18px;
}

.dc-number-link {
    padding: 1px 0;
    border: 0;
    border-bottom: 1px dotted currentColor;
    background: transparent;
    color: var(--dc-accent-strong);
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.dc-number-link:hover,
.dc-number-link:focus-visible {
    color: #0f5b49;
    border-bottom-style: solid;
}

.dc-number-link:focus-visible {
    outline: 3px solid rgba(23, 107, 91, .25);
    outline-offset: 2px;
}

.dc-profile-score-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid var(--dc-line);
    border-radius: 12px;
    overflow: hidden;
}

.dc-profile-score-grid article {
    display: grid;
    gap: 5px;
    padding: 14px;
    border-right: 1px solid var(--dc-line);
    background: #fbfdfc;
}

.dc-profile-score-grid article:nth-child(4n) {
    border-right: 0;
}

.dc-profile-score-grid span {
    color: var(--dc-muted);
    font-size: 12px;
}

.dc-profile-score-grid strong {
    color: var(--dc-accent-strong);
    font-size: 22px;
    font-variant-numeric: tabular-nums;
}

.dc-layer-link > span strong {
    color: #1c2d27;
    font-size: 14px;
}

.dc-document-content {
    max-height: 420px;
    overflow: auto;
    white-space: pre-wrap;
}

.dc-commercial-chart {
    display: grid;
    gap: 10px;
    padding: 16px;
    border: 1px solid var(--dc-line);
    border-radius: 14px;
    background: linear-gradient(150deg, #fbfdfc, #f3f8f6);
}

.dc-commercial-chart button {
    display: grid;
    grid-template-columns: minmax(110px, 1.2fr) minmax(140px, 4fr) minmax(70px, auto);
    gap: 12px;
    align-items: center;
    width: 100%;
    padding: 6px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.dc-commercial-chart button:hover,
.dc-commercial-chart button:focus-visible {
    background: rgba(255, 255, 255, .84);
}

.dc-commercial-chart button:focus-visible {
    outline: 3px solid rgba(23, 107, 91, .25);
}

.dc-commercial-chart button > span {
    color: #38564c;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dc-commercial-chart button > div {
    height: 12px;
    overflow: hidden;
    border-radius: 999px;
    background: #e1ebe7;
}

.dc-commercial-chart i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #176a55, #4ca98b);
}

.dc-chart-width-1 { width: 5%; }
.dc-chart-width-2 { width: 10%; }
.dc-chart-width-3 { width: 15%; }
.dc-chart-width-4 { width: 20%; }
.dc-chart-width-5 { width: 25%; }
.dc-chart-width-6 { width: 30%; }
.dc-chart-width-7 { width: 35%; }
.dc-chart-width-8 { width: 40%; }
.dc-chart-width-9 { width: 45%; }
.dc-chart-width-10 { width: 50%; }
.dc-chart-width-11 { width: 55%; }
.dc-chart-width-12 { width: 60%; }
.dc-chart-width-13 { width: 65%; }
.dc-chart-width-14 { width: 70%; }
.dc-chart-width-15 { width: 75%; }
.dc-chart-width-16 { width: 80%; }
.dc-chart-width-17 { width: 85%; }
.dc-chart-width-18 { width: 90%; }
.dc-chart-width-19 { width: 95%; }
.dc-chart-width-20 { width: 100%; }

.dc-commercial-chart strong {
    color: #163f34;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.dc-insight-section {
    display: grid;
    gap: 10px;
    min-width: 0;
    padding: 14px 0;
    border-bottom: 1px solid var(--dc-line);
}

.dc-insight-section:last-of-type {
    border-bottom: 0;
}

.dc-insight-section-head,
.dc-insight-pager,
.dc-insight-pager > div,
.dc-insight-chart-grid article > header,
.dc-insight-component-grid article > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.dc-insight-section-head h4 {
    margin: 0;
}

.dc-insight-section-head > span,
.dc-insight-chart-grid article > header > span {
    color: var(--dc-muted);
    font-size: 12px;
    font-weight: 750;
}

.dc-insight-state {
    display: grid;
    gap: 3px;
    padding: 11px 13px;
    border-left: 3px solid #7f9e94;
    border-radius: 7px;
    background: #f3f7f5;
    color: #365248;
}

.dc-insight-state strong {
    color: #203e34;
}

.dc-insight-state p {
    margin: 0;
}

.dc-insight-state span {
    color: var(--dc-muted);
    font-size: 12px;
}

.dc-insight-state.is-error {
    border-left-color: #bb5b52;
    background: #fff5f3;
    color: #783a34;
}

.dc-recoverable-error {
    display: grid;
    justify-items: start;
    gap: 8px;
    margin: 12px 0;
    padding: 14px;
    border: 1px solid #e2b8b8;
    border-radius: 10px;
    background: #fff7f7;
    color: #713737;
}

.dc-recoverable-error p,
.dc-chart-disclosure,
.dc-result-contract-note {
    margin: 0;
    color: #667a74;
    font-size: 13px;
    line-height: 1.55;
}

.dc-quality-poll-state {
    color: #27634f;
    font-size: 12px;
    white-space: nowrap;
}

.dc-insight-pager {
    min-height: 38px;
    padding-top: 4px;
}

.dc-insight-pager > span {
    color: var(--dc-muted);
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

.dc-insight-chart-grid,
.dc-insight-component-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.dc-insight-chart-grid > article,
.dc-insight-component-grid > article {
    min-width: 0;
    padding: 13px;
    border: 1px solid var(--dc-line);
    border-radius: 11px;
    background: #fbfdfc;
}

.dc-insight-chart-grid article > header > div,
.dc-insight-component-grid article > header > div {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.dc-insight-chart-grid article > header strong,
.dc-insight-component-grid article > header strong {
    overflow: hidden;
    color: #20352e;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dc-insight-chart-grid article > header small,
.dc-insight-component-grid article > header small,
.dc-insight-component-grid dt {
    color: var(--dc-muted);
    font-size: 11px;
}

.dc-insight-chart-grid .dc-commercial-chart {
    margin-top: 10px;
    padding: 10px;
    background: #fff;
}

.dc-insight-chart-grid article > footer {
    margin-top: 10px;
}

.dc-insight-component-value {
    margin: 14px 0 10px;
    color: var(--dc-accent-strong);
    font-size: 24px;
    font-weight: 850;
    font-variant-numeric: tabular-nums;
}

.dc-insight-component-grid dl {
    display: grid;
    gap: 5px;
    margin: 0;
}

.dc-insight-component-grid dl > div {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 8px;
}

.dc-insight-component-grid dd {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    color: #314940;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dc-insight-component-grid article > footer {
    margin-top: 12px;
}

.dc-insight-unavailable {
    color: var(--dc-muted);
    font-size: 12px;
}

.dc-empty-status {
    background: #edf2f0;
    color: #52665f;
}

.dc-insight-query {
    margin-top: 0;
}

.dc-inline-warning {
    padding: 12px 14px;
    border: 1px solid #e7c988;
    border-radius: 10px;
    background: #fff9e9;
    color: #6e4c0d;
}

.dc-inline-warning p {
    margin: 5px 0 0;
    line-height: 1.5;
}

.dc-single-value {
    display: grid;
    place-items: center;
    min-height: 180px;
    padding: 24px;
    border: 1px solid var(--dc-line);
    border-radius: 14px;
    background: #f6faf8;
    text-align: center;
}

.dc-single-value strong {
    color: var(--dc-accent-strong);
    font-size: clamp(32px, 6vw, 64px);
    font-variant-numeric: tabular-nums;
}

.dc-single-value span {
    color: var(--dc-muted);
    font-weight: 800;
}

.dc-radar-wrap {
    display: grid;
    grid-template-columns: minmax(260px, 420px) minmax(220px, 1fr);
    gap: 22px;
    align-items: center;
    padding: 12px 18px;
    border: 1px solid var(--dc-line);
    border-radius: 14px;
    background: linear-gradient(145deg, #f8fcfa, #edf6f2);
}

.dc-radar {
    width: 100%;
    max-height: 320px;
}

.dc-radar line,
.dc-radar-grid {
    fill: rgba(38, 122, 97, .04);
    stroke: #b9d0c8;
    stroke-width: 1;
}

.dc-radar-value {
    fill: rgba(31, 129, 98, .26);
    stroke: #1f8162;
    stroke-width: 2;
}

.dc-radar text {
    fill: #466158;
    font-size: 10px;
}

.dc-radar-legend {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.dc-radar-legend span {
    display: grid;
    gap: 3px;
    padding: 9px 11px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .76);
    color: var(--dc-muted);
}

.dc-radar-legend b {
    color: #203d34;
}

.dc-commercial-fields {
    border: 1px solid #d8e4f2;
    border-radius: 14px;
    margin: 0;
    padding: 16px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    background: #f8fbff;
}

.dc-commercial-fields[hidden] {
    display: none;
}

.dc-commercial-fields legend {
    padding: 0 8px;
    color: #234d80;
    font-weight: 800;
}

.dc-server-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-top: 16px;
    border-top: 1px solid #e3ebf4;
}

.dc-server-pagination > div {
    display: flex;
    gap: 10px;
}

.dc-capability-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    max-width: 520px;
}

.dc-capability-list > span,
.dc-capability-list > small {
    padding: 3px 7px;
    border-radius: 999px;
    background: #edf4fb;
    color: #355677;
    font-size: 11px;
    line-height: 1.35;
}

.dc-connector-actions,
.dc-callout {
    display: grid;
    gap: 10px;
    padding: 14px 16px;
    border: 1px solid #d8e4f2;
    border-radius: 12px;
    background: #f7faff;
}

.dc-connector-actions h4,
.dc-connector-actions p {
    margin: 0;
}

.dc-connector-actions p,
.dc-callout span,
.dc-page-meta {
    color: var(--dc-muted);
}

.dc-callout.warning {
    border-color: #ead3a1;
    background: #fff9eb;
    color: #725314;
}

.dc-page-meta {
    padding: 14px 0 2px;
    font-size: 13px;
}

@media (max-width: 760px) {
    .dc-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .dc-head-copy {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }

    .dc-dataops-commandbar,
    .dc-dataops-section-head {
        align-items: stretch;
        flex-direction: column;
    }

    .dc-dataops-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dc-dataops-kpis button:nth-child(2n) {
        border-right: 0;
    }

    .dc-dataops-workbench {
        grid-template-columns: 1fr;
    }

    .dc-dataops-tree,
    .dc-dataops-inspector {
        border: 0;
        border-bottom: 1px solid var(--dc-line);
    }

    .dc-dataops-tree nav {
        display: flex;
        overflow-x: auto;
    }

    .dc-dataops-tree nav > button {
        min-width: 180px;
    }

    .dc-dataops-section-head input {
        width: 100%;
    }

    .dc-dataops-bottom,
    .dc-dataops-choice-grid {
        grid-template-columns: 1fr;
    }

    .dc-table-tools {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .dc-table-tools div,
    .dc-section-head {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .dc-profile-score-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dc-profile-score-grid article:nth-child(2n) {
        border-right: 0;
    }

    .dc-radar-wrap {
        grid-template-columns: 1fr;
    }

    .dc-commercial-chart button {
        grid-template-columns: 90px minmax(100px, 1fr) 62px;
    }

    .dc-insight-chart-grid,
    .dc-insight-component-grid {
        grid-template-columns: 1fr;
    }

    .dc-insight-pager {
        align-items: flex-start;
        flex-direction: column;
    }

    .dc-pagination-buttons {
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .dc-commercial-fields {
        grid-template-columns: 1fr;
    }

    .dc-server-pagination {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (min-width: 761px) and (max-width: 1280px) {
    .dc-metric-link:nth-child(3) {
        border-right: 0;
    }

    .dc-metric-link:nth-child(-n+3) {
        border-bottom: 1px solid var(--dc-line);
    }
}

@media (max-width: 640px) {
    .dc-metric-link,
    .dc-metric-link:nth-child(3) {
        border-right: 1px solid var(--dc-line);
        border-bottom: 1px solid var(--dc-line);
    }

    .dc-metric-link:nth-child(2n) {
        border-right: 0;
    }
}

/* Enterprise intelligence visual alignment: restrained green, crisp hierarchy. */
.dc-shell {
    --dc-accent: var(--theme-accent, #157a55);
    --dc-accent-strong: var(--theme-accent-strong, #0f6245);
    --dc-line: var(--theme-border, #dfe7e2);
    --dc-soft: var(--theme-accent-faint, #f4f7f5);
    --dc-muted: var(--theme-muted, #6f7f77);
}

.dc-shell .dc-head {
    border-color: #dce6e0;
    background:
        radial-gradient(circle at 88% 18%, rgba(var(--theme-accent-rgb, 21, 122, 85), .12), transparent 29%),
        linear-gradient(135deg, var(--theme-surface-raised, #fff) 0%, var(--theme-accent-faint, #f3f8f5) 100%);
    box-shadow: var(--theme-shadow, 0 12px 32px rgba(21, 62, 46, .07));
}

.dc-shell .dc-head h2,
.dc-shell .dc-dataops-commandbar strong,
.dc-shell .dc-dataops-section-head strong {
    color: var(--theme-text, #17211d);
}

.dc-shell .dc-head-state {
    border: 1px solid #cfe0d7;
    background: rgba(var(--theme-surface-rgb, 255, 255, 255), .92);
    box-shadow: 0 6px 18px rgba(21, 62, 46, .05);
}

.dc-shell .dc-head-state.is-connected {
    border-left: 3px solid #36a979;
}

.dc-shell .dc-dataops-commandbar {
    border-color: #dce6e0;
    background: linear-gradient(90deg, var(--theme-accent-faint, #f8fbf9), var(--theme-surface, #fff) 48%);
    box-shadow: 0 6px 20px rgba(21, 62, 46, .045);
}

.dc-shell .dc-dataops-kpis,
.dc-shell .dc-dataops-workbench,
.dc-shell .dc-dataops-bottom > section {
    border-color: #dce6e0;
    box-shadow: 0 8px 26px rgba(21, 62, 46, .055);
}

.dc-shell .dc-dataops-kpis button {
    transition: background-color 160ms ease, box-shadow 160ms ease;
}

.dc-shell .dc-dataops-kpis button:hover,
.dc-shell .dc-dataops-kpis button.is-active {
    background: linear-gradient(145deg, #f4fbf7, #e8f5ee);
    box-shadow: inset 0 -2px #45bb87;
}

.dc-shell .dc-dataops-kpis b {
    color: var(--theme-accent, #157a55);
}

.dc-shell .dc-dataops-tree,
.dc-shell .dc-dataops-inspector {
    background: var(--theme-sidebar, #f7faf8);
}

.dc-shell .dc-dataops-tree nav > button:hover,
.dc-shell .dc-dataops-tree nav > button.is-active {
    background: #e4f2ea;
    color: var(--theme-accent-strong, #0f6245);
    box-shadow: inset 3px 0 #45bb87;
}

.dc-shell :is(input, select, textarea):focus {
    border-color: var(--theme-accent, #45a87c);
    outline: 3px solid rgba(var(--theme-accent-rgb, 69, 168, 124), .14);
}

.dc-shell :is(.primary-btn, .dc-filter button.active) {
    background: var(--theme-accent, #157a55);
    color: #fff;
    box-shadow: 0 7px 18px rgba(var(--theme-accent-rgb, 21, 122, 85), .18);
}

.dc-shell :is(.primary-btn, .dc-filter button.active):hover {
    background: var(--theme-accent-hover, #0f6646);
}

/* Governed self-service BI: dense modelling canvas with chart-first results. */
.dc-analysis-workbench { gap: 10px; }
.dc-analysis-audit-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(360px, .8fr);
    gap: 10px;
}
.dc-analysis-audit-grid > section { min-width: 0; }
.dc-analysis-filter-compact { grid-template-columns: repeat(2, minmax(120px, 180px)) auto; }
.dc-analysis-form {
    width: min(1480px, calc(100vw - 28px));
    max-width: none;
}
.dc-dialog:has(.dc-analysis-form),
.dc-dialog:has(.dc-analysis-detail) { width: min(1520px, calc(100vw - 24px)); }
.dc-analysis-builder {
    display: grid;
    grid-template-columns: minmax(235px, 275px) minmax(520px, 1fr) minmax(245px, 290px);
    min-height: 610px;
    border: 1px solid var(--dc-line);
    border-radius: 9px;
    background: #fff;
    overflow: hidden;
}
.dc-analysis-builder > * { min-width: 0; padding: 12px; }
.dc-analysis-builder > * + * { border-left: 1px solid var(--dc-line); }
.dc-analysis-builder h4,
.dc-analysis-definition h4,
.dc-analysis-result-stage h4 { margin: 0; font-size: 14px; }
.dc-analysis-resource,
.dc-analysis-visual { background: #f8fafc; }
.dc-analysis-resource { display: flex; flex-direction: column; gap: 10px; }
.dc-analysis-resource .dc-service-dataset-search { grid-template-columns: 1fr; }
.dc-analysis-resource .dc-service-dataset-search button { width: 100%; }
.dc-analysis-field-search { display: grid; gap: 4px; margin-bottom: 6px; }
.dc-analysis-field-search span,
.dc-analysis-visual label > span,
.dc-analysis-basics label > span,
.dc-analysis-spec-row label > span { color: var(--dc-muted); font-size: 11px; font-weight: 750; }
.dc-analysis-field-search input,
.dc-analysis-visual input,
.dc-analysis-visual select,
.dc-analysis-visual textarea,
.dc-analysis-basics input,
.dc-analysis-basics textarea,
.dc-analysis-spec-row input,
.dc-analysis-spec-row select {
    width: 100%; min-height: 34px; padding: 6px 8px; border: 1px solid #cbd7e6; border-radius: 6px; background: #fff; color: #233044;
}
.dc-analysis-field-list { display: grid; max-height: 400px; overflow: auto; border: 1px solid var(--dc-line); border-radius: 7px; background: #fff; }
.dc-analysis-field-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 6px; padding: 7px 8px; border-bottom: 1px solid var(--dc-line); }
.dc-analysis-field-list article:last-child { border-bottom: 0; }
.dc-analysis-field-list article[hidden] { display: none; }
.dc-analysis-field-list span { min-width: 0; }
.dc-analysis-field-list strong,
.dc-analysis-field-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dc-analysis-field-list strong { font-size: 12px; }
.dc-analysis-field-list small,
.dc-analysis-field-list em { color: var(--dc-muted); font-size: 10px; font-style: normal; }
.dc-analysis-model { display: grid; align-content: start; gap: 10px; }
.dc-analysis-basics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.dc-analysis-basics label,
.dc-analysis-visual > label { display: grid; gap: 4px; }
.dc-analysis-basics .wide { grid-column: 1 / -1; }
.dc-analysis-basics textarea { min-height: 54px; resize: vertical; }
.dc-analysis-spec { border: 1px solid var(--dc-line); border-radius: 8px; overflow: hidden; }
.dc-analysis-spec > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 9px; border-bottom: 1px solid var(--dc-line); background: #f7f9fc; }
.dc-analysis-spec > header p { margin: 2px 0 0; color: var(--dc-muted); font-size: 10px; }
.dc-analysis-spec > div { display: grid; }
.dc-analysis-spec-row { display: grid; grid-template-columns: 1.25fr .8fr .85fr .7fr auto; gap: 7px; align-items: end; padding: 7px 9px; border-bottom: 1px solid var(--dc-line); }
.dc-analysis-spec-row:last-child { border-bottom: 0; }
.dc-analysis-spec-row label { display: grid; min-width: 0; gap: 3px; }
.dc-analysis-filter-row { grid-template-columns: 1.1fr .8fr 1.4fr auto; }
.dc-analysis-sort-row { grid-template-columns: 1fr .55fr auto; }
.dc-icon-button { min-height: 32px; padding: 0 8px; border: 1px solid #d4dce8; border-radius: 6px; background: #fff; color: #8b3040; cursor: pointer; }
.dc-icon-button:hover,
.dc-icon-button:focus-visible { border-color: #ba7180; background: #fff6f7; }
.dc-analysis-visual { display: flex; flex-direction: column; gap: 8px; }
.dc-analysis-visual textarea { min-height: 62px; resize: vertical; }
.dc-analysis-visual fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px; padding: 7px; border: 1px solid var(--dc-line); border-radius: 6px; }
.dc-analysis-visual legend { padding: 0 4px; color: var(--dc-muted); font-size: 11px; font-weight: 750; }
.dc-analysis-visual .dc-check { display: flex; align-items: center; gap: 5px; min-height: 26px; font-size: 11px; }
.dc-analysis-visual .dc-check input { width: auto; min-height: auto; }
.dc-analysis-detail { width: 100%; }
.dc-analysis-definition,
.dc-analysis-result-stage { display: grid; gap: 9px; padding: 12px; border: 1px solid var(--dc-line); border-radius: 9px; }
.dc-analysis-definition-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--dc-line); border-radius: 7px; overflow: hidden; }
.dc-analysis-definition-grid article { min-width: 0; padding: 9px; border-right: 1px solid var(--dc-line); }
.dc-analysis-definition-grid article:last-child { border-right: 0; }
.dc-analysis-definition-grid h5 { margin: 0 0 6px; font-size: 11px; text-transform: none; }
.dc-analysis-chip-list { display: grid; gap: 5px; margin: 0; }
.dc-analysis-chip-list div { padding: 6px; border-radius: 5px; background: #f5f8fb; }
.dc-analysis-chip-list dt { overflow: hidden; font-size: 11px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.dc-analysis-chip-list dd { margin: 2px 0 0; overflow: hidden; color: var(--dc-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.dc-analysis-result-stage > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.dc-analysis-result-stage > header p { margin: 3px 0 0; color: var(--dc-muted); font-size: 11px; }
.dc-analysis-result-meta { display: flex; flex-wrap: wrap; gap: 0; border: 1px solid var(--dc-line); border-radius: 6px; overflow: hidden; }
.dc-analysis-result-meta span { padding: 6px 10px; border-right: 1px solid var(--dc-line); color: var(--dc-muted); font-size: 10px; }
.dc-analysis-result-meta b { margin-left: 4px; color: #26352f; font-size: 11px; font-variant-numeric: tabular-nums; }
.dc-analysis-chart { min-height: 250px; margin: 0; padding: 10px; border: 1px solid var(--dc-line); border-radius: 7px; background: #fbfcfe; }
.dc-analysis-combo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.dc-analysis-chart > figcaption { margin-bottom: 8px; color: var(--dc-muted); font-size: 11px; }
.dc-analysis-bars { display: grid; gap: 5px; }
.dc-analysis-bars button { display: grid; grid-template-columns: minmax(90px, .4fr) minmax(160px, 1fr) 90px; align-items: center; gap: 8px; padding: 3px; border: 0; background: transparent; color: #243044; text-align: left; cursor: pointer; }
.dc-analysis-bars button:hover,
.dc-analysis-bars button:focus-visible { background: #eef4fb; outline: 1px solid #8eb1d9; }
.dc-analysis-bars span { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.dc-analysis-bars i { display: block; min-width: 2px; height: 13px; border-radius: 2px; background: #2865a5; }
.dc-analysis-ratio-1 { width: 5%; }
.dc-analysis-ratio-2 { width: 10%; }
.dc-analysis-ratio-3 { width: 15%; }
.dc-analysis-ratio-4 { width: 20%; }
.dc-analysis-ratio-5 { width: 25%; }
.dc-analysis-ratio-6 { width: 30%; }
.dc-analysis-ratio-7 { width: 35%; }
.dc-analysis-ratio-8 { width: 40%; }
.dc-analysis-ratio-9 { width: 45%; }
.dc-analysis-ratio-10 { width: 50%; }
.dc-analysis-ratio-11 { width: 55%; }
.dc-analysis-ratio-12 { width: 60%; }
.dc-analysis-ratio-13 { width: 65%; }
.dc-analysis-ratio-14 { width: 70%; }
.dc-analysis-ratio-15 { width: 75%; }
.dc-analysis-ratio-16 { width: 80%; }
.dc-analysis-ratio-17 { width: 85%; }
.dc-analysis-ratio-18 { width: 90%; }
.dc-analysis-ratio-19 { width: 95%; }
.dc-analysis-ratio-20 { width: 100%; }
.dc-analysis-bars b { font-size: 11px; text-align: right; font-variant-numeric: tabular-nums; }
.dc-analysis-line svg,
.dc-analysis-scatter svg { width: 100%; min-height: 190px; overflow: visible; border-left: 1px solid #dbe3ed; border-bottom: 1px solid #dbe3ed; }
.dc-analysis-line-path { fill: none; stroke: #245b99; stroke-width: 3; vector-effect: non-scaling-stroke; }
.dc-analysis-area-fill { fill: #dceaf8; stroke: none; }
.dc-analysis-line circle,
.dc-analysis-scatter circle { fill: #fff; stroke: #245b99; stroke-width: 2; }
.dc-analysis-axis-labels { display: flex; justify-content: space-between; color: var(--dc-muted); font-size: 10px; }
.dc-analysis-pie { display: grid; grid-template-columns: minmax(180px, 280px) minmax(240px, 1fr); align-items: center; gap: 16px; }
.dc-analysis-pie-disc { width: min(240px, 100%); aspect-ratio: 1; margin: auto; }
.dc-analysis-pie-disc circle { fill: none; stroke-width: 8; }
.dc-analysis-pie-disc .dc-analysis-pie-track { stroke: #e7edf5; }
.dc-analysis-color-0 { background: #1f5d9c; stroke: #1f5d9c; }
.dc-analysis-color-1 { background: #2b8a6e; stroke: #2b8a6e; }
.dc-analysis-color-2 { background: #d39b32; stroke: #d39b32; }
.dc-analysis-color-3 { background: #7a63a8; stroke: #7a63a8; }
.dc-analysis-color-4 { background: #d46a5d; stroke: #d46a5d; }
.dc-analysis-color-5 { background: #4b7f94; stroke: #4b7f94; }
.dc-analysis-color-6 { background: #72a35b; stroke: #72a35b; }
.dc-analysis-color-7 { background: #a65f91; stroke: #a65f91; }
.dc-analysis-color-8 { background: #6b7280; stroke: #6b7280; }
.dc-analysis-color-9 { background: #3d79bf; stroke: #3d79bf; }
.dc-analysis-color-10 { background: #b9853d; stroke: #b9853d; }
.dc-analysis-color-11 { background: #507d68; stroke: #507d68; }
.dc-analysis-pie figcaption { display: grid; gap: 3px; margin: 0; }
.dc-analysis-pie figcaption.dc-analysis-legend-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.dc-analysis-pie figcaption button { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; align-items: center; gap: 7px; padding: 5px; border: 0; background: transparent; color: #26352f; text-align: left; cursor: pointer; }
.dc-analysis-pie figcaption button:hover,
.dc-analysis-pie figcaption button:focus-visible { background: #eef4fb; outline: 1px solid #8eb1d9; }
.dc-analysis-pie figcaption i { width: 9px; height: 9px; border-radius: 2px; }
.dc-analysis-kpi { display: grid; place-items: center; min-height: 220px; border: 1px solid var(--dc-line); border-radius: 7px; background: #f7fbff; text-align: center; }
.dc-analysis-kpi strong { color: #174f89; font-size: clamp(42px, 7vw, 76px); font-variant-numeric: tabular-nums; }
.dc-analysis-kpi span { color: var(--dc-muted); font-size: 12px; }
.dc-analysis-chart-empty { display: grid; place-items: center; min-height: 170px; padding: 24px; border: 1px dashed #c8d5e5; border-radius: 7px; background: #fafcfe; text-align: center; }
.dc-analysis-chart-empty strong { font-size: 14px; }
.dc-analysis-chart-empty span { max-width: 520px; color: var(--dc-muted); font-size: 11px; }
.dc-analysis-result-table summary { padding: 8px 0; color: #1e5b9c; font-size: 12px; font-weight: 750; cursor: pointer; }

@media (max-width: 1180px) {
    .dc-analysis-builder { grid-template-columns: 230px minmax(460px, 1fr); }
    .dc-analysis-visual { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--dc-line); border-left: 0 !important; }
    .dc-analysis-visual h4,
    .dc-analysis-visual fieldset,
    .dc-analysis-visual label:last-child { grid-column: 1 / -1; }
    .dc-analysis-definition-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dc-analysis-definition-grid article:nth-child(2) { border-right: 0; }
    .dc-analysis-definition-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--dc-line); }
}

@media (max-width: 820px) {
    .dc-analysis-audit-grid,
    .dc-analysis-builder { grid-template-columns: 1fr; }
    .dc-analysis-builder > * + * { border-top: 1px solid var(--dc-line); border-left: 0; }
    .dc-analysis-visual { grid-column: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dc-analysis-spec-row,
    .dc-analysis-filter-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dc-analysis-spec-row .dc-icon-button { grid-column: 1 / -1; }
    .dc-analysis-sort-row { grid-template-columns: 1fr 1fr; }
    .dc-analysis-pie { grid-template-columns: 1fr; }
    .dc-analysis-combo { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .dc-analysis-basics,
    .dc-analysis-visual,
    .dc-analysis-definition-grid,
    .dc-analysis-spec-row,
    .dc-analysis-filter-row,
    .dc-analysis-sort-row { grid-template-columns: 1fr; }
    .dc-analysis-definition-grid article { border-right: 0; border-bottom: 1px solid var(--dc-line); }
    .dc-analysis-bars button { grid-template-columns: 82px minmax(80px, 1fr) 70px; }
}

/* Schema contract governance: dense lifecycle, evidence and rollback workbench. */
.dc-contract-workbench {
    display: grid;
    gap: 14px;
}

.dc-contract-workbench > header {
    margin-bottom: 0;
}

.dc-contract-summary,
.dc-contract-evidence {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid #dce7e3;
    border-radius: 12px;
    background: #f7faf9;
}

.dc-contract-summary article,
.dc-contract-evidence article {
    display: grid;
    gap: 3px;
    padding: 11px 13px;
    border-right: 1px solid #dce7e3;
}

.dc-contract-summary article:last-child,
.dc-contract-evidence article:last-child {
    border-right: 0;
}

.dc-contract-summary span,
.dc-contract-evidence span {
    color: var(--dc-muted);
    font-size: 11px;
    font-weight: 700;
}

.dc-contract-summary strong {
    color: #183f34;
    font-size: 22px;
}

.dc-contract-query {
    display: grid;
    grid-template-columns: minmax(240px, 1.3fr) minmax(150px, .55fr) minmax(220px, 1fr) auto;
    align-items: end;
    gap: 9px;
    padding: 10px;
    border: 1px solid #dce7e3;
    border-radius: 11px;
    background: #f8fbfa;
}

.dc-contract-query label {
    display: grid;
    gap: 5px;
}

.dc-contract-query label > span {
    color: #52645e;
    font-size: 11px;
    font-weight: 800;
}

.dc-contract-query input,
.dc-contract-query select {
    width: 100%;
    min-height: 38px;
    padding: 8px 9px;
    border: 1px solid #bdcbc6;
    border-radius: 8px;
    background: #fff;
    color: #24352f;
    box-sizing: border-box;
}

.dc-contract-actions {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
}

.dc-link-danger {
    color: #9b3f36;
}

.dc-contract-origin {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 9px;
    border-radius: 999px;
    background: #edf3f1;
    color: #4c625b;
    font-size: 11px;
    font-weight: 800;
}

.dc-contract-origin.is-tenant {
    background: #e5eefb;
    color: #255587;
}

.dc-contract-pager {
    margin-top: 12px;
    padding-top: 11px;
}

.dc-contract-detail {
    gap: 14px;
}

.dc-contract-detail > header {
    position: sticky;
    z-index: 3;
    top: -22px;
    background: #fff;
}

.dc-contract-section {
    display: grid;
    gap: 9px;
    padding: 14px;
    border: 1px solid #dce7e3;
    border-radius: 12px;
    background: #fff;
}

.dc-contract-section .dc-section-head {
    margin: 0;
}

.dc-contract-evidence strong {
    overflow: hidden;
    color: #24453b;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dc-contract-evidence-summary {
    margin: 0;
    color: var(--dc-muted);
    font-size: 12px;
}

.dc-contract-pass {
    padding: 11px 13px;
    border: 1px solid #bfe0d1;
    border-radius: 9px;
    background: #eaf7f1;
    color: #17664f;
    font-weight: 800;
}

.dc-contract-change-summary {
    padding: 12px 14px;
    border-left: 4px solid #2e7563;
    border-radius: 8px;
    background: #f3f8f6;
}

.dc-contract-change-summary p {
    margin: 4px 0 0;
    color: var(--dc-muted);
}

.dc-contract-field-head {
    display: grid;
    grid-template-columns: 1fr 1fr .8fr auto 1.2fr auto;
    gap: 7px;
    padding: 0 9px;
    color: #65766f;
    font-size: 10px;
    font-weight: 800;
}

.dc-contract-fields [data-dc-contract-fields] {
    display: grid;
    gap: 7px;
}

.dc-contract-field {
    grid-template-columns: 1fr 1fr .8fr auto 1.2fr auto;
}

@media (max-width: 900px) {
    .dc-contract-summary,
    .dc-contract-evidence {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dc-contract-summary article:nth-child(2),
    .dc-contract-evidence article:nth-child(2) {
        border-right: 0;
    }

    .dc-contract-query {
        grid-template-columns: 1fr 1fr;
    }

    .dc-contract-field-head {
        display: none;
    }

    .dc-contract-field {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .dc-contract-summary,
    .dc-contract-evidence,
    .dc-contract-query {
        grid-template-columns: 1fr;
    }

    .dc-contract-summary article,
    .dc-contract-evidence article {
        border-right: 0;
        border-bottom: 1px solid #dce7e3;
    }

    .dc-contract-summary article:last-child,
    .dc-contract-evidence article:last-child {
        border-bottom: 0;
    }

    .dc-contract-field {
        grid-template-columns: 1fr;
    }
}

/* Quality governance: declarative rules, real runs and expiring masked evidence. */
.dc-quality-workbench {
    display: grid;
    gap: 14px;
}

.dc-quality-workbench > header {
    margin-bottom: 0;
}

.dc-quality-summary,
.dc-quality-result-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid #dce7e3;
    border-radius: 12px;
    background: #f7faf9;
}

.dc-quality-summary article,
.dc-quality-result-grid article {
    display: grid;
    gap: 3px;
    padding: 11px 13px;
    border-right: 1px solid #dce7e3;
}

.dc-quality-summary article:last-child,
.dc-quality-result-grid article:last-child {
    border-right: 0;
}

.dc-quality-summary span,
.dc-quality-result-grid span {
    color: var(--dc-muted);
    font-size: 11px;
    font-weight: 700;
}

.dc-quality-summary strong,
.dc-quality-result-grid strong {
    color: #183f34;
    font-size: 22px;
}

.dc-quality-query {
    display: grid;
    grid-template-columns: minmax(240px, 1.3fr) minmax(150px, .55fr) minmax(220px, 1fr) auto;
    align-items: end;
    gap: 9px;
    padding: 10px;
    border: 1px solid #dce7e3;
    border-radius: 11px;
    background: #f8fbfa;
}

.dc-quality-query label,
.dc-quality-run-filter label {
    display: grid;
    gap: 5px;
}

.dc-quality-query label > span,
.dc-quality-run-filter label > span {
    color: #52645e;
    font-size: 11px;
    font-weight: 800;
}

.dc-quality-query input,
.dc-quality-query select,
.dc-quality-run-filter select {
    width: 100%;
    min-height: 38px;
    padding: 8px 9px;
    border: 1px solid #bdcbc6;
    border-radius: 8px;
    background: #fff;
    color: #24352f;
    box-sizing: border-box;
}

.dc-quality-actions {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
}

.dc-quality-run-filter {
    display: flex;
    align-items: end;
    gap: 8px;
}

.dc-quality-pager {
    margin-top: 12px;
    padding-top: 11px;
}

.dc-quality-origin {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 9px;
    border-radius: 999px;
    background: #edf3f1;
    color: #4c625b;
    font-size: 11px;
    font-weight: 800;
}

.dc-quality-origin.is-tenant {
    background: #e5eefb;
    color: #255587;
}

.dc-quality-detail,
.dc-quality-run-detail {
    gap: 14px;
}

.dc-quality-detail > header,
.dc-quality-run-detail > header {
    position: sticky;
    z-index: 3;
    top: -22px;
    background: #fff;
}

.dc-quality-section {
    display: grid;
    gap: 9px;
    padding: 14px;
    border: 1px solid #dce7e3;
    border-radius: 12px;
    background: #fff;
}

.dc-quality-section .dc-section-head {
    margin: 0;
}

.dc-quality-safe-note {
    display: grid;
    gap: 3px;
    align-content: center;
    padding: 9px 11px;
    border: 1px solid #bcdcd0;
    border-radius: 9px;
    background: #eef8f4;
}

.dc-quality-safe-note strong {
    color: #1b604e;
    font-size: 12px;
}

.dc-quality-safe-note span {
    color: #567068;
    font-size: 11px;
}

.dc-quality-spec {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 13px;
    border: 1px solid #dce7e3;
    border-radius: 11px;
    background: #f8fbfa;
}

.dc-quality-spec[hidden] {
    display: none;
}

.dc-quality-spec > span {
    color: var(--dc-muted);
    font-size: 12px;
}

.dc-quality-spec-preview {
    display: grid;
    align-content: center;
    gap: 3px;
    padding: 9px 11px;
    border-radius: 9px;
    background: #fff;
}

.dc-quality-spec-preview span {
    color: var(--dc-muted);
    font-size: 11px;
}

@media (max-width: 900px) {
    .dc-quality-summary,
    .dc-quality-result-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dc-quality-summary article:nth-child(2),
    .dc-quality-result-grid article:nth-child(2) {
        border-right: 0;
    }

    .dc-quality-query {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .dc-quality-summary,
    .dc-quality-result-grid,
    .dc-quality-query,
    .dc-quality-spec {
        grid-template-columns: 1fr;
    }

    .dc-quality-summary article,
    .dc-quality-result-grid article {
        border-right: 0;
        border-bottom: 1px solid #dce7e3;
    }

    .dc-quality-summary article:last-child,
    .dc-quality-result-grid article:last-child {
        border-bottom: 0;
    }

    .dc-quality-run-filter {
        align-items: stretch;
        flex-direction: column;
    }
}

.dc-service-workbench {
    gap: 12px;
}

.dc-service-query {
    display: grid;
    grid-template-columns: minmax(240px, 1.4fr) repeat(2, minmax(170px, .8fr)) auto;
    align-items: end;
    gap: 9px;
    padding: 10px;
    border: 1px solid #dce7e3;
    border-radius: 11px;
    background: #f8fbfa;
}

.dc-service-query label {
    display: grid;
    gap: 5px;
}

.dc-service-query label > span {
    color: #52645e;
    font-size: 11px;
    font-weight: 800;
}

.dc-service-query input,
.dc-service-query select {
    width: 100%;
    min-height: 38px;
    padding: 8px 9px;
    border: 1px solid #bdcbc6;
    border-radius: 8px;
    background: #fff;
    color: #24352f;
    box-sizing: border-box;
}

.dc-service-detail {
    gap: 14px;
}

.dc-service-detail > header {
    position: sticky;
    z-index: 3;
    top: -22px;
    background: #fff;
}

.dc-service-fields,
.dc-service-purpose {
    min-width: 0;
    margin: 0;
    padding: 12px;
    border: 1px solid #dce7e3;
    border-radius: 10px;
    background: #f8fbfa;
}

.dc-service-fields legend,
.dc-service-purpose legend {
    padding: 0 5px;
    color: #304b42;
    font-size: 12px;
    font-weight: 800;
}

.dc-service-fields > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.dc-service-field {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
    padding: 8px 9px;
    border: 1px solid #dce7e3;
    border-radius: 8px;
    background: #fff;
}

.dc-service-field input {
    margin-top: 3px;
}

.dc-service-field span {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.dc-service-field strong,
.dc-service-field small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dc-service-field small {
    color: var(--dc-muted);
    font-size: 11px;
}

.dc-service-dataset-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 8px;
}

.dc-service-version-note {
    max-width: 420px;
    color: #52645e;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
}

.dc-service-purpose {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px 12px;
}

.dc-service-purpose label {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    color: #304b42;
    font-size: 12px;
}

@media (max-width: 900px) {
    .dc-service-query {
        grid-template-columns: 1fr 1fr;
    }

    .dc-service-purpose {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .dc-service-query,
    .dc-service-fields > div,
    .dc-service-purpose,
    .dc-service-dataset-search {
        grid-template-columns: 1fr;
    }
}
