html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

:root {
    --co-text: #1d2433;
    --co-text-muted: #5e6878;
    --co-text-soft: #667085;
    --co-surface: #ffffff;
    --co-surface-muted: #f8fafc;
    --co-surface-subtle: #fbfcfe;
    --co-line: #dce3ec;
    --co-line-soft: #edf1f5;
    --co-chip-bg: #eef3f8;
    --co-chip-line: #d7e0ea;
    --co-chip-text: #38506b;
    --co-control-bg: #f8fafc;
    --co-control-hover: #9fb0c3;
    --co-control-active: #26384d;
    --co-focus: #3f7f65;
    --co-risk-high: #b55353;
    --co-risk-high-line: #f2c9c9;
    --co-risk-medium: #9a6a22;
    --co-risk-medium-line: #f4d6a3;
    --co-live: #3f7f65;
    --co-live-line: #c9dfd6;
    --co-muted: #9aa8b7;
    --co-radius: 8px;
    --co-radius-sm: 6px;
    --co-shadow: 0 1px 2px rgba(16, 24, 40, .04);
    --co-space-1: .25rem;
    --co-space-2: .45rem;
    --co-space-3: .75rem;
    --co-space-4: .85rem;
    --co-space-5: 1rem;
}

a, .btn-link {
    color: #006bb7;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.content {
    padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}
.companyos-page {
    color: #1d2433;
    overflow-wrap: anywhere;
    padding-bottom: 2rem;
}

.companyos-page *,
.companyos-page *::before,
.companyos-page *::after {
    box-sizing: border-box;
    min-width: 0;
}

.page-header {
    align-items: flex-start;
    border-bottom: 1px solid #d8dee8;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
}

.eyebrow {
    color: #4d6b8a;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: 0;
    margin: 0 0 .2rem;
    text-transform: uppercase;
}

.page-header h1 {
    font-size: 1.9rem;
    font-weight: 760;
    margin: 0;
}

.subtle {
    color: #5e6878;
    margin: .4rem 0 0;
}

.status-strip {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    justify-content: flex-end;
}

.status-strip span,
.panel-header span,
.table-row mark,
.domain-grid span {
    background: #eef3f8;
    border: 1px solid #d7e0ea;
    border-radius: 6px;
    color: #38506b;
    font-size: .78rem;
    padding: .25rem .45rem;
}

.metric-grid {
    display: grid;
    gap: .85rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 1rem;
}

.metric-card,
.panel,
.domain-grid article {
    background: #ffffff;
    border: 1px solid #dce3ec;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
}

.metric-card {
    display: grid;
    gap: .25rem;
    min-height: 108px;
    padding: .85rem;
}

.metric-card span,
.metric-card small,
.table-row small,
.stack-list small,
.domain-grid small,
.domain-grid p {
    color: #667085;
}

.metric-card strong {
    font-size: 1.75rem;
}

.workspace-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, .8fr);
}

.panel {
    min-width: 0;
    padding: 1rem;
}

.panel-header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: .8rem;
}

.panel-header h2 {
    font-size: 1.05rem;
    margin: 0;
}

.panel-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    justify-content: flex-end;
    min-width: 0;
}

.panel-actions .text-link {
    white-space: nowrap;
}

.table-list,
.stack-list {
    display: grid;
    gap: .55rem;
}

.table-row {
    align-items: center;
    border-top: 1px solid #edf1f5;
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(0, 1fr) auto auto auto;
    min-height: 54px;
    padding-top: .55rem;
}

.table-row:first-child {
    border-top: 0;
    padding-top: 0;
}

.table-row div,
.stack-list article,
.domain-grid article {
    min-width: 0;
}

.table-row strong,
.stack-list strong,
.domain-grid strong {
    display: block;
    overflow-wrap: anywhere;
}

.stack-list article {
    border-top: 1px solid #edf1f5;
    padding-top: .7rem;
}

.stack-list article:first-child {
    border-top: 0;
    padding-top: 0;
}

.domain-grid {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.domain-grid article {
    padding: .85rem;
}

.domain-grid p {
    margin: .35rem 0 .7rem;
}

@media (max-width: 1000px) {
    .metric-grid,
    .workspace-grid,
    .domain-grid {
        grid-template-columns: 1fr;
    }

    .page-header,
    .panel-header,
    .table-row {
        align-items: flex-start;
    }

    .page-header,
    .table-row {
        display: grid;
    }
}

.runtime-grid {
    display: grid;
    gap: 1rem;
}

.runtime-card {
    background: #ffffff;
    border: 1px solid #dce3ec;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
    padding: 1rem;
}

.runtime-steps {
    display: grid;
    gap: .65rem;
    margin-top: .85rem;
}

.runtime-step {
    align-items: flex-start;
    border-top: 1px solid #edf1f5;
    display: grid;
    gap: .75rem;
    grid-template-columns: 32px minmax(0, 1fr);
    padding-top: .65rem;
}

.runtime-step:first-child {
    border-top: 0;
    padding-top: 0;
}

.runtime-step > span {
    align-items: center;
    background: #38506b;
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: .8rem;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.runtime-step p,
.runtime-output p,
.runtime-note {
    color: #5e6878;
    margin: .25rem 0;
}

.runtime-output {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 1rem;
}

.runtime-output > div {
    background: #f8fafc;
    border: 1px solid #e1e7ef;
    border-radius: 8px;
    min-width: 0;
    padding: .75rem;
}

.runtime-note {
    border-top: 1px solid #edf1f5;
    font-size: .86rem;
    margin-top: 1rem;
    padding-top: .75rem;
}

.inline-status {
    background: #eef3f8;
    border: 1px solid #d7e0ea;
    border-radius: 6px;
    color: #38506b;
    display: inline-block;
    font-size: .78rem;
    margin-top: .35rem;
    padding: .2rem .4rem;
}

.mt-panel {
    margin-top: 1rem;
}

@media (max-width: 1000px) {
    .runtime-output {
        grid-template-columns: 1fr;
    }
}

.connection-grid {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.connection-grid article {
    background: #f8fafc;
    border: 1px solid #e1e7ef;
    border-radius: 8px;
    min-width: 0;
    padding: .75rem;
}

.connection-grid p {
    color: #5e6878;
    margin: .35rem 0 0;
}

.code-note {
    background: #18202b;
    border-radius: 8px;
    color: #eef3f8;
    font-size: .85rem;
    margin: 0;
    overflow-x: auto;
    padding: .85rem;
    white-space: pre-wrap;
}

.queue-row {
    grid-template-columns: minmax(0, 1fr) auto auto minmax(150px, auto);
}

@media (max-width: 1000px) {
    .connection-grid,
    .queue-row {
        grid-template-columns: 1fr;
    }
}

.command-grid {
    display: grid;
    gap: 1rem;
}

.command-card {
    background: #ffffff;
    border: 1px solid #dce3ec;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
    max-width: 100%;
    min-width: 0;
    padding: 1rem;
}

/* C-1: 콘솔 핸드오프로 초점된 명령 카드 강조(비초점 카드는 변화 없음 — 완전성 유지). */
.command-card.is-focused {
    border-color: #2563eb;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, .18);
}

.command-focus-banner {
    align-items: center;
    background: #eff4ff;
    border: 1px solid #c7d7fe;
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1rem;
    margin-top: .65rem;
    padding: .55rem .75rem;
}

.command-focus-banner strong {
    color: #1d4ed8;
}

.context-focus-note.is-focused-note {
    color: #1d4ed8;
    font-weight: 600;
}

/* R5-D: 운영 작업대 실행 패널 focus/IA — 인덱스 스트립 + 패널 wrapper(.command-card.is-focused 미러).
   표시 전용 — write/게이트 무관(G3). 비focus 패널은 dim(opacity)이지 숨김(display:none) 아님(완전성 G7). */
.workbench-panel-index-groups {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    margin-top: .85rem;
}

.workbench-panel-index-group {
    background: #f8fafc;
    border: 1px solid #e1e7ef;
    border-radius: 8px;
    padding: .65rem .75rem;
}

.workbench-panel-index-group-title {
    color: #475467;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .01em;
    margin: 0 0 .45rem;
    text-transform: none;
}

.workbench-panel-index-links {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.workbench-panel-index-link {
    align-items: center;
    border-radius: 6px;
    color: #1f2937;
    display: flex;
    gap: .4rem;
    justify-content: space-between;
    padding: .3rem .45rem;
    text-decoration: none;
}

.workbench-panel-index-link:hover {
    background: #eef2f7;
}

.workbench-panel-index-link.is-focused {
    background: #eff4ff;
    border: 1px solid #c7d7fe;
    color: #1d4ed8;
    font-weight: 600;
}

.workbench-panel-index-focus-badge {
    background: #2563eb;
    border-radius: 999px;
    color: #fff;
    font-size: .68rem;
    font-weight: 600;
    padding: .1rem .45rem;
}

.workbench-panel-slot {
    border-radius: 8px;
}

/* 콘솔 핸드오프로 초점된 패널 강조(.command-card.is-focused 미러). */
.workbench-panel-slot.is-focused {
    box-shadow: 0 0 0 2px rgba(37, 99, 235, .18);
    scroll-margin-top: 1rem;
}

/* 비초점 패널은 시각 약화(opacity)이지 접근 차단 아님 — 16 패널 전부 도달 가능(완전성 G7). */
.workbench-panel-slot.is-dimmed {
    opacity: .55;
}

.workbench-panel-slot.is-dimmed:hover,
.workbench-panel-slot.is-dimmed:focus-within {
    opacity: 1;
}

.command-summary {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: .85rem;
}

.command-summary > div {
    background: #f8fafc;
    border: 1px solid #e1e7ef;
    border-radius: 8px;
    min-width: 0;
    padding: .75rem;
}

.command-summary p {
    color: #5e6878;
    margin: .25rem 0 0;
    overflow-wrap: anywhere;
}

.lifecycle-readiness {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: .85rem;
}

.lifecycle-readiness > div {
    background: #fbfcfe;
    border: 1px solid #dfe7f0;
    border-radius: 8px;
    min-width: 0;
    padding: .75rem;
}

.lifecycle-readiness strong {
    color: #25364a;
}

.lifecycle-readiness p {
    color: #5e6878;
    margin: .25rem 0 0;
    overflow-wrap: anywhere;
}

.adapter-readiness {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    margin-top: .85rem;
}

.adapter-readiness > div {
    background: #f8fbff;
    border: 1px solid #d9e7f5;
    border-radius: 8px;
    min-width: 0;
    padding: .75rem;
}

.adapter-readiness strong {
    color: #24364b;
}

.adapter-readiness p {
    color: #36536f;
    font-weight: 700;
    margin: .25rem 0;
    overflow-wrap: anywhere;
}

.adapter-readiness small {
    color: #667085;
    display: block;
    line-height: 1.4;
}

.artifact-source-line {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin: .45rem 0 .3rem;
}

.artifact-source-line span {
    background: #eef3f8;
    border: 1px solid #d7e0ea;
    border-radius: 6px;
    color: #38506b;
    font-size: .7rem;
    font-weight: 800;
    padding: .1rem .35rem;
}

.gate-status {
    background: #eef3f8;
    border: 1px solid #d7e0ea;
    border-radius: 6px;
    color: #38506b;
    display: inline-block;
    font-size: .72rem;
    font-weight: 800;
    margin-right: .35rem;
    padding: .12rem .4rem;
}

.gate-status-pass {
    background: #ecfdf3;
    border-color: #b8e3c9;
    color: #1c6b43;
}

.gate-status-review {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #9a4f13;
}

.gate-status-blocked {
    background: #fff2f0;
    border-color: #efc3bd;
    color: #9d3429;
}

.html-security-checks {
    background: #fffdf8;
    border-color: #f1dfbd;
}

.banner-media-checks {
    background: #f8fffc;
    border-color: #bddfce;
}

.browser-preview-runtime {
    background: #ffffff;
    border: 1px solid #dde6ef;
    border-radius: 8px;
    display: grid;
    gap: .55rem;
    margin-top: .75rem;
    padding: .75rem;
}

.browser-preview-runtime-header,
.browser-preview-runtime-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    justify-content: space-between;
}

.browser-preview-runtime-meta span {
    background: #f5f7fa;
    border: 1px solid #d7e0ea;
    border-radius: 999px;
    color: #516174;
    font-size: .72rem;
    font-weight: 700;
    padding: .2rem .5rem;
}

.browser-preview-host {
    background: #fbfcfe;
    border: 1px solid #e2e9f1;
    border-radius: 8px;
    min-height: 84px;
    overflow: auto;
    padding: .75rem;
}

.browser-preview-surface {
    color: #1d2433;
    font-size: .88rem;
    line-height: 1.45;
}

.browser-preview-surface :first-child {
    margin-top: 0;
}

.browser-preview-surface :last-child {
    margin-bottom: 0;
}

.html-host-strip {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    padding-top: .55rem;
}

.html-host-strip span {
    background: #f5f7fa;
    border: 1px solid #d7e0ea;
    border-radius: 999px;
    color: #516174;
    font-size: .72rem;
    font-weight: 700;
    padding: .2rem .5rem;
}

.gate-chip-strip {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: .65rem;
}

.gate-chip {
    background: #f5f7fa;
    border: 1px solid #d7e0ea;
    border-radius: 999px;
    color: #516174;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: 0;
    padding: .25rem .55rem;
}

.gate-chip-required {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #9a4f13;
}

.gate-chip-conditional {
    background: #eef6ff;
    border-color: #bad7f4;
    color: #1f5d93;
}

.lifecycle-rail {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: .75rem;
}

.lifecycle-step {
    background: #f5f7fa;
    border: 1px solid #d8e1eb;
    border-radius: 999px;
    color: #526173;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: 0;
    padding: .25rem .55rem;
}

.lifecycle-step-current {
    background: #eef6ff;
    border-color: #b7d4f0;
    color: #1f5d93;
}

.lifecycle-step-next {
    background: #ecfdf3;
    border-color: #b8e3c9;
    color: #1c6b43;
}

.lifecycle-step-blocked {
    background: #fff2f0;
    border-color: #efc3bd;
    color: #9d3429;
}

.readiness-checks {
    background: #fbfcfe;
    border: 1px solid #e1e7ef;
    border-radius: 8px;
    padding: .75rem;
}

.diagnostic-panel {
    background: #f8fafc;
    border: 1px solid #dce5ee;
    border-radius: 8px;
    padding: .85rem;
}

.diagnostic-panel > .diagnostic-summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: .85rem;
    justify-content: space-between;
    list-style: none;
}

.diagnostic-panel > .diagnostic-summary::-webkit-details-marker {
    display: none;
}

.diagnostic-panel:not([open]) > :not(summary) {
    display: none;
}

.diagnostic-panel > .diagnostic-summary::after {
    align-items: center;
    background: #eef3f8;
    border: 1px solid #d7e0ea;
    border-radius: 999px;
    color: #38506b;
    content: "+";
    display: inline-flex;
    flex: 0 0 auto;
    font-size: .95rem;
    font-weight: 800;
    height: 1.55rem;
    justify-content: center;
    line-height: 1;
    width: 1.55rem;
}

.diagnostic-panel[open] > .diagnostic-summary::after {
    content: "-";
}

.diagnostic-summary span {
    display: grid;
    gap: .2rem;
    min-width: 0;
}

.diagnostic-summary strong {
    color: #25364a;
}

.diagnostic-summary small {
    color: #667085;
}

.diagnostic-summary mark {
    background: #eef6ff;
    border: 1px solid #bfd9f2;
    border-radius: 999px;
    color: #1f5d93;
    font-size: .78rem;
    font-weight: 800;
    max-width: 100%;
    overflow-wrap: anywhere;
    padding: .25rem .55rem;
    white-space: normal;
}

.command-diagnostics {
    margin-top: .85rem;
}

.qna-diagnostic-trace > section:first-of-type {
    margin-top: .85rem;
}

.qna-diagnostic-trace > section {
    box-shadow: none;
}

.execution-gate {
    align-items: center;
    background: #f9fbfc;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-top: .85rem;
    padding: .85rem;
}

.execution-gate strong {
    color: #25364a;
}

.execution-gate p {
    color: #5e6878;
    margin: .25rem 0 0;
}

.execute-command-button {
    background: #1f6fb2;
    border: 1px solid #185d96;
    border-radius: 8px;
    color: #ffffff;
    cursor: pointer;
    font-weight: 700;
    min-height: 2.5rem;
    padding: .5rem .9rem;
    white-space: nowrap;
}

.execute-command-button:disabled {
    background: #eef3f8;
    border-color: #d5dee8;
    color: #667085;
    cursor: not-allowed;
}

.blocked-check-strip {
    display: grid;
    gap: .4rem;
    margin-top: .65rem;
}

.blocked-check-strip span {
    background: #fff7f5;
    border: 1px solid #f0c8c0;
    border-radius: 8px;
    color: #8c3228;
    font-size: .82rem;
    padding: .45rem .6rem;
    overflow-wrap: anywhere;
}

.check-list {
    display: grid;
    gap: .55rem;
    margin-top: .85rem;
}

.check-row {
    align-items: center;
    border-top: 1px solid #edf1f5;
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(160px, .7fr) auto minmax(0, 1.4fr);
    padding-top: .55rem;
}

.check-row:first-child {
    border-top: 0;
    padding-top: 0;
}

.check-row span {
    background: #eef3f8;
    border: 1px solid #d7e0ea;
    border-radius: 6px;
    color: #38506b;
    font-size: .78rem;
    padding: .2rem .4rem;
    text-align: center;
}

.check-row small {
    color: #667085;
}

@media (max-width: 1000px) {
    .command-summary,
    .adapter-readiness,
    .lifecycle-readiness,
    .check-row {
        grid-template-columns: 1fr;
    }

    .execution-gate {
        align-items: stretch;
        flex-direction: column;
    }

    .execute-command-button {
        width: 100%;
    }
}

.permission-grid {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.permission-card {
    background: #ffffff;
    border: 1px solid #dce3ec;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
    min-width: 0;
    padding: 1rem;
}

.permission-card.emphasis {
    border-color: #a8b9cc;
}

.permission-card span,
.audit-title span {
    background: #eef3f8;
    border: 1px solid #d7e0ea;
    border-radius: 6px;
    color: #38506b;
    display: inline-block;
    font-size: .78rem;
    padding: .2rem .4rem;
}

.permission-card strong {
    display: block;
    font-size: 1rem;
    margin-top: .55rem;
}

.permission-card p,
.audit-item p {
    color: #5e6878;
    margin: .45rem 0 0;
}

.permission-row {
    grid-template-columns: minmax(0, 1fr) auto auto minmax(220px, .8fr);
}

.permission-matrix-panel {
    overflow: hidden;
}

.permission-matrix {
    display: grid;
    gap: .35rem;
    overflow-x: auto;
}

.permission-matrix-row {
    align-items: center;
    display: grid;
    gap: .45rem;
    grid-template-columns: minmax(150px, 1.1fr) 84px repeat(7, minmax(92px, .62fr)) minmax(160px, 1fr);
    min-width: 1080px;
}

.permission-matrix-head {
    border-bottom: 1px solid #edf1f5;
    color: #4d6b8a;
    font-size: .78rem;
    font-weight: 700;
    padding-bottom: .45rem;
}

.permission-matrix-row:not(.permission-matrix-head) {
    border-top: 1px solid #edf1f5;
    min-height: 58px;
    padding-top: .45rem;
}

.permission-matrix-row:not(.permission-matrix-head):first-of-type {
    border-top: 0;
}

.permission-cell {
    border-radius: 6px;
    display: inline-flex;
    font-size: .78rem;
    justify-content: center;
    min-width: 0;
    padding: .28rem .42rem;
    text-align: center;
    white-space: nowrap;
}

.permission-cell-allowed {
    background: #edf7f1;
    border: 1px solid #c9dfd6;
    color: #2f654d;
}

.permission-cell-approval {
    background: #fff7e8;
    border: 1px solid #f4d6a3;
    color: #7b551c;
}

.permission-cell-blocked {
    background: #fff0f0;
    border: 1px solid #f2c9c9;
    color: #9a4040;
}

.permission-workspace {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
}

.permission-profile-list,
.permission-validation-flow {
    display: grid;
    gap: .55rem;
}

.permission-profile {
    align-items: center;
    border-top: 1px solid #edf1f5;
    display: grid;
    gap: .55rem;
    grid-template-columns: minmax(0, 1fr) minmax(110px, .6fr) minmax(110px, .6fr) auto auto;
    padding-top: .55rem;
}

.permission-profile:first-child {
    border-top: 0;
    padding-top: 0;
}

.permission-profile small {
    color: #667085;
}

.permission-validation-flow div {
    border-top: 1px solid #edf1f5;
    display: grid;
    gap: .25rem;
    grid-template-columns: 34px minmax(0, 1fr);
    padding-top: .55rem;
}

.permission-validation-flow div:first-child {
    border-top: 0;
    padding-top: 0;
}

.permission-validation-flow span {
    align-items: center;
    background: #26384d;
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: .78rem;
    font-weight: 700;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.permission-validation-flow p {
    color: #5e6878;
    grid-column: 2;
    margin: 0;
}

.permission-draft-grid {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.permission-draft-card {
    background: #f8fafc;
    border: 1px solid #e1e7ef;
    border-radius: 8px;
    min-width: 0;
    padding: .85rem;
}

.permission-draft-head {
    align-items: flex-start;
    display: flex;
    gap: .55rem;
    justify-content: space-between;
}

.permission-draft-head span {
    background: #eef3f8;
    border: 1px solid #d7e0ea;
    border-radius: 6px;
    color: #38506b;
    font-size: .78rem;
    padding: .2rem .4rem;
    text-transform: uppercase;
}

.permission-draft-head strong,
.permission-draft-meta strong {
    overflow-wrap: anywhere;
}

.permission-draft-meta {
    display: grid;
    gap: .45rem;
    margin-top: .75rem;
}

.permission-draft-meta div {
    border-top: 1px solid #edf1f5;
    padding-top: .45rem;
}

.permission-draft-meta div:first-child {
    border-top: 0;
    padding-top: 0;
}

.permission-draft-meta span {
    color: #4d6b8a;
    display: block;
    font-size: .76rem;
    font-weight: 700;
}

.permission-draft-checks {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .75rem;
}

.permission-draft-card p,
.permission-draft-card small {
    color: #5e6878;
    display: block;
    margin: .65rem 0 0;
    overflow-wrap: anywhere;
}

/* ── /permissions/delegate ABAC 그리드 (resource × action) — 레거시 UserPermissionModal 흡수 ── */
.abac-grid-toolbar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: space-between;
    margin: .35rem 0 .85rem;
}

.abac-grid-toolbar__buttons {
    margin-bottom: 0;
}

.abac-grid {
    display: grid;
    gap: .3rem;
    overflow-x: auto;
}

.abac-grid__row {
    align-items: center;
    border-top: 1px solid #edf1f5;
    display: grid;
    gap: .45rem;
    grid-template-columns: minmax(180px, 1.6fr) repeat(8, minmax(58px, .6fr)) minmax(64px, .6fr);
    min-width: 920px;
    padding: .4rem 0;
}

.abac-grid__row--head {
    border-top: 0;
    border-bottom: 1px solid #d8dee8;
    color: #4d6b8a;
    font-size: .78rem;
    font-weight: 700;
}

.abac-grid__row--dirty {
    background: #f3f8ff;
}

.abac-grid__resource {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    min-width: 0;
}

.abac-grid__resource strong {
    overflow-wrap: anywhere;
}

.abac-grid__resource small {
    color: #667085;
    font-size: .74rem;
    overflow-wrap: anywhere;
}

.abac-grid__verb-head {
    text-align: center;
}

.abac-grid__verb-cell {
    align-items: center;
    display: flex;
    justify-content: center;
}

.abac-grid__verb-cell input[type="checkbox"] {
    cursor: pointer;
    height: 17px;
    width: 17px;
}

.abac-grid__row-toggle {
    font-size: .76rem;
    margin-top: 0;
    padding: .2rem .45rem;
}

.abac-scope-row {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e1e7ef;
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin: 1rem 0 .85rem;
    padding: .75rem .85rem;
}

.abac-scope-row__field {
    align-items: center;
    display: flex;
    gap: .4rem;
}

.abac-scope-row__field .form-control {
    width: auto;
}

@media (max-width: 720px) {
    .abac-grid__row {
        min-width: 760px;
    }
}

.audit-timeline {
    display: grid;
    gap: .75rem;
}

.audit-item {
    align-items: flex-start;
    border-top: 1px solid #edf1f5;
    display: grid;
    gap: .75rem;
    grid-template-columns: 34px minmax(0, 1fr);
    padding-top: .75rem;
}

.audit-item:first-child {
    border-top: 0;
    padding-top: 0;
}

.audit-marker {
    align-items: center;
    background: #26384d;
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: .82rem;
    font-weight: 700;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.audit-title {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.audit-item small {
    color: #667085;
}

@media (max-width: 1000px) {
    .permission-grid,
    .permission-row,
    .permission-workspace,
    .permission-profile,
    .permission-draft-grid {
        grid-template-columns: 1fr;
    }

    .permission-validation-flow p {
        grid-column: 1 / -1;
    }
}
.approval-link {
    color: inherit;
    text-decoration: none;
}

.approval-link:hover strong,
.text-link:hover {
    text-decoration: underline;
}

.text-link {
    color: #1b5f99;
    display: inline-block;
    font-weight: 700;
    margin-top: .75rem;
    max-width: 100%;
    overflow-wrap: anywhere;
    text-decoration: none;
}

button.text-link {
    background: none;
    border: 0;
    cursor: pointer;
    font: inherit;
    padding: 0;
}

.approval-detail-grid,
.approval-workspace {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.approval-summary-card {
    background: #ffffff;
    border: 1px solid #dce3ec;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
    min-width: 0;
    padding: 1rem;
}

.approval-summary-card span,
.detail-list span {
    color: #4d6b8a;
    display: block;
    font-size: .78rem;
    font-weight: 700;
}

.approval-summary-card strong {
    display: block;
    margin-top: .45rem;
}

.approval-summary-card p,
.detail-note {
    color: #5e6878;
    margin: .6rem 0 0;
}

.detail-list {
    display: grid;
    gap: .75rem;
}

.detail-list div {
    border-top: 1px solid #edf1f5;
    min-width: 0;
    padding-top: .65rem;
}

.detail-list div:first-child {
    border-top: 0;
    padding-top: 0;
}

.detail-list strong {
    display: block;
    overflow-wrap: anywhere;
}

.decision-steps {
    display: grid;
    gap: .65rem;
}

.decision-step {
    align-items: center;
    border-top: 1px solid #edf1f5;
    display: grid;
    gap: .75rem;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    padding-top: .65rem;
}

.decision-step:first-child {
    border-top: 0;
    padding-top: 0;
}

.decision-step > span {
    align-items: center;
    background: #26384d;
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: .82rem;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.decision-step small {
    color: #667085;
    display: block;
}

.decision-step mark {
    background: #eef3f8;
    border: 1px solid #d7e0ea;
    border-radius: 6px;
    color: #38506b;
    font-size: .78rem;
    padding: .25rem .45rem;
}

@media (max-width: 1000px) {
    .approval-detail-grid,
    .approval-workspace,
    .decision-step {
        grid-template-columns: 1fr;
    }
}
.owner-live-brief {
    align-items: stretch;
    background: #ffffff;
    border: 1px solid #dce3ec;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(260px, .9fr) minmax(0, 1.4fr);
    margin-bottom: 1rem;
    padding: 1rem;
}

.owner-live-brief h2 {
    color: #1d2433;
    font-size: 1.15rem;
    margin: 0;
}

.owner-live-brief p {
    color: #5e6878;
    margin: .35rem 0 0;
}

.owner-live-list {
    display: grid;
    gap: .65rem;
}

.owner-live-list a {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    color: inherit;
    display: grid;
    gap: .2rem .75rem;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 68px;
    padding: .75rem .85rem;
    text-decoration: none;
}

.owner-live-list a:hover {
    border-color: #b9c6d6;
}

.owner-live-list strong,
.owner-live-list small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.owner-live-list small {
    color: #667085;
}

.owner-live-list span {
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 999px;
    color: #9a3412;
    font-size: .82rem;
    font-weight: 700;
    grid-row: 1 / span 2;
    padding: .25rem .55rem;
    white-space: nowrap;
}
.scenario-entry {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dce3ec;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) auto;
    margin-bottom: 1rem;
    padding: 1rem;
}

.scenario-entry h2 {
    font-size: 1.15rem;
    margin: 0;
}

.scenario-entry p {
    color: #5e6878;
    margin: .35rem 0 0;
}

.scenario-actions,
.scenario-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    justify-content: flex-end;
}

.scenario-actions span,
.scenario-meta span,
.owner-prompt span {
    background: #eef3f8;
    border: 1px solid #d7e0ea;
    border-radius: 6px;
    color: #38506b;
    font-size: .78rem;
    padding: .25rem .45rem;
}

.primary-link {
    background: #26384d;
    border-radius: 6px;
    color: #ffffff;
    font-size: .86rem;
    font-weight: 700;
    padding: .32rem .6rem;
    text-decoration: none;
}

.primary-link:hover {
    color: #ffffff;
    text-decoration: underline;
}

.test-scenario-grid {
    display: grid;
    gap: 1rem;
}

.test-scenario-card {
    background: #ffffff;
    border: 1px solid #dce3ec;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
    padding: 1rem;
}

.test-scenario-card p {
    color: #5e6878;
    margin: .35rem 0 .85rem;
}

.owner-prompt {
    background: #f8fafc;
    border: 1px solid #e1e7ef;
    border-radius: 8px;
    margin-bottom: .85rem;
    padding: .75rem;
}

.owner-prompt strong {
    display: block;
    margin-top: .5rem;
    overflow-wrap: anywhere;
}

.scenario-steps {
    display: grid;
    gap: .65rem;
    margin-top: .85rem;
}

.scenario-step {
    align-items: center;
    border-top: 1px solid #edf1f5;
    color: inherit;
    display: grid;
    gap: .75rem;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    padding-top: .65rem;
    text-decoration: none;
}

.scenario-step:first-child {
    border-top: 0;
    padding-top: 0;
}

.scenario-step > span {
    align-items: center;
    background: #26384d;
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: .82rem;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.scenario-step strong {
    display: block;
}

.scenario-step small {
    color: #667085;
    display: block;
}

.scenario-step mark {
    background: #eef3f8;
    border: 1px solid #d7e0ea;
    border-radius: 6px;
    color: #38506b;
    font-size: .78rem;
    padding: .25rem .45rem;
}

.scenario-step:hover strong {
    text-decoration: underline;
}

@media (max-width: 1000px) {
    .owner-live-brief,
    .scenario-entry,
    .scenario-step {
        grid-template-columns: 1fr;
    }

    .scenario-actions,
    .scenario-meta {
        justify-content: flex-start;
    }
}
.command-actions {
    align-items: center;
    border-top: 1px solid #edf1f5;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: flex-end;
    margin-top: .85rem;
    padding-top: .75rem;
}

.command-actions span {
    background: #eef3f8;
    border: 1px solid #d7e0ea;
    border-radius: 6px;
    color: #38506b;
    font-size: .78rem;
    padding: .25rem .45rem;
}

@media (max-width: 1000px) {
    .command-actions {
        justify-content: flex-start;
    }
}
.stack-link {
    border-top: 1px solid #edf1f5;
    color: inherit;
    display: block;
    min-width: 0;
    padding-top: .7rem;
    text-decoration: none;
}

.stack-link:first-child {
    border-top: 0;
    padding-top: 0;
}

.stack-link:hover strong {
    text-decoration: underline;
}

.flow-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-bottom: 1rem;
}

.flow-actions .text-link {
    background: #ffffff;
    border: 1px solid #dce3ec;
    border-radius: 6px;
    margin-top: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    padding: .35rem .55rem;
    white-space: normal;
}

.flow-actions button.text-link {
    cursor: pointer;
    font: inherit;
}

.p1-action-queue-row.selected {
    background: #f8fafc;
    border-color: #94a3b8;
}

.p1-action-queue-row.selected mark {
    background: #dbeafe;
    color: #1e3a8a;
}

.breadcrumb-bar {
    margin: -.25rem 0 1rem;
}

.breadcrumb-bar ol {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.breadcrumb-bar li {
    align-items: center;
    color: #667085;
    display: inline-flex;
    font-size: .82rem;
    min-width: 0;
}

.breadcrumb-bar li + li::before {
    color: #9aa6b2;
    content: "/";
    padding-right: .35rem;
}

.breadcrumb-bar a {
    color: #38506b;
    font-weight: 700;
    text-decoration: none;
}

.breadcrumb-bar a:hover {
    text-decoration: underline;
}

.breadcrumb-bar span[aria-current="page"] {
    color: #1d2433;
    font-weight: 700;
    overflow-wrap: anywhere;
}
.meeting-room-grid {
    display: grid;
    gap: 1rem;
}

.meeting-room-card {
    background: #ffffff;
    border: 1px solid #dce3ec;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
    color: inherit;
    display: block;
    padding: 1rem;
    text-decoration: none;
}

.meeting-room-card:hover h2 {
    text-decoration: underline;
}

.meeting-room-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin: .8rem 0 .4rem;
}

.meeting-room-meta span,
.participant-item span,
.meeting-thermometer span {
    background: #eef3f8;
    border: 1px solid #d7e0ea;
    border-radius: 6px;
    color: #38506b;
    font-size: .78rem;
    padding: .25rem .45rem;
}

.meeting-room-card p {
    color: #5e6878;
    margin: .35rem 0 0;
}

.meeting-layout {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(260px, .75fr) minmax(0, 1.35fr);
}

.participant-list,
.transcript-timeline {
    display: grid;
    gap: .7rem;
}

.participant-item {
    border-top: 1px solid #edf1f5;
    display: grid;
    gap: .25rem;
    padding-top: .7rem;
}

.participant-item:first-child {
    border-top: 0;
    padding-top: 0;
}

.participant-item small,
.transcript-entry small {
    color: #667085;
}

.minutes-grid,
.meeting-thermometer {
    display: grid;
    gap: .75rem;
}

.minutes-grid div,
.meeting-thermometer div {
    border-top: 1px solid #edf1f5;
    min-width: 0;
    padding-top: .65rem;
}

.minutes-grid div:first-child,
.meeting-thermometer div:first-child {
    border-top: 0;
    padding-top: 0;
}

.minutes-grid span {
    color: #4d6b8a;
    display: block;
    font-size: .78rem;
    font-weight: 700;
}

.minutes-grid strong,
.meeting-thermometer strong {
    display: block;
    overflow-wrap: anywhere;
}

.transcript-entry {
    align-items: flex-start;
    border-top: 1px solid #edf1f5;
    display: grid;
    gap: .75rem;
    grid-template-columns: 58px minmax(0, 1fr);
    padding-top: .75rem;
}

.transcript-entry:first-child {
    border-top: 0;
    padding-top: 0;
}

.transcript-time {
    color: #38506b;
    font-size: .82rem;
    font-weight: 700;
}

.transcript-entry p {
    color: #5e6878;
    margin: .35rem 0;
}

@media (max-width: 1000px) {
    .meeting-layout,
    .transcript-entry {
        grid-template-columns: 1fr;
    }
}
.meeting-proposal-grid {
    display: grid;
    gap: .85rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.meeting-proposal-card {
    background: #f8fafc;
    border: 1px solid #e1e7ef;
    border-radius: 8px;
    min-width: 0;
    padding: .9rem;
}

.meeting-proposal-card h3 {
    font-size: 1rem;
    margin: 0;
}

.meeting-proposal-card p {
    color: #5e6878;
    margin: .65rem 0;
}

.proposal-detail-grid {
    display: grid;
    gap: .6rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.proposal-detail-grid div {
    background: #ffffff;
    border: 1px solid #edf1f5;
    border-radius: 6px;
    min-width: 0;
    padding: .6rem;
}

.proposal-detail-grid span {
    color: #4d6b8a;
    display: block;
    font-size: .76rem;
    font-weight: 700;
}

.proposal-detail-grid strong {
    display: block;
    overflow-wrap: anywhere;
}

@media (max-width: 1000px) {
    .meeting-proposal-grid,
    .proposal-detail-grid {
        grid-template-columns: 1fr;
    }
}
.completion-board {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.completion-summary-card {
    background: #ffffff;
    border: 1px solid #dce3ec;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
    min-width: 0;
    padding: 1rem;
}

.completion-summary-card span {
    color: #4d6b8a;
    display: block;
    font-size: .78rem;
    font-weight: 700;
}

.completion-summary-card strong {
    display: block;
    font-size: 1.18rem;
    margin-top: .35rem;
    overflow-wrap: anywhere;
}

.completion-summary-card p {
    color: #5e6878;
    margin: .55rem 0 .85rem;
}

.completion-meter {
    background: #edf1f5;
    border-radius: 999px;
    height: 10px;
    overflow: hidden;
}

.completion-meter span {
    background: #2f7d68;
    display: block;
    height: 100%;
}

.readiness-grid {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.readiness-card,
.route-check-row {
    background: #f8fafc;
    border: 1px solid #e1e7ef;
    border-radius: 8px;
    color: inherit;
    min-width: 0;
    padding: .8rem;
    text-decoration: none;
}

.readiness-card {
    display: grid;
    gap: .75rem;
}

.readiness-card strong,
.route-check-row strong {
    display: block;
    overflow-wrap: anywhere;
}

.readiness-card small,
.route-check-row small {
    color: #667085;
    display: block;
    margin-top: .25rem;
}

.readiness-card span {
    background: #e8f4ef;
    border: 1px solid #c8e2d7;
    border-radius: 6px;
    color: #2f7d68;
    font-size: .78rem;
    font-weight: 700;
    justify-self: start;
    padding: .25rem .45rem;
}

.readiness-card:hover strong,
.route-check-row:hover strong {
    text-decoration: underline;
}

.route-check-list {
    display: grid;
    gap: .55rem;
}

.route-check-row {
    align-items: center;
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(0, 1fr) auto;
}

.route-check-row code {
    background: #ffffff;
    border: 1px solid #edf1f5;
    border-radius: 6px;
    color: #38506b;
    font-size: .78rem;
    padding: .25rem .45rem;
}

@media (max-width: 1100px) {
    .readiness-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .completion-board,
    .readiness-grid,
    .route-check-row {
        grid-template-columns: 1fr;
    }
}
.workforce-principle-grid,
.executive-grid {
    display: grid;
    gap: .85rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.workforce-principle-card,
.department-band,
.workforce-card {
    background: #ffffff;
    border: 1px solid #dce3ec;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
    min-width: 0;
}

.workforce-principle-card {
    padding: .9rem;
}

.workforce-principle-card span {
    color: #4d6b8a;
    display: block;
    font-size: .78rem;
    font-weight: 700;
}

.workforce-principle-card strong,
.workforce-card strong,
.department-band-header h2 {
    display: block;
    overflow-wrap: anywhere;
}

.workforce-principle-card p {
    color: #5e6878;
    margin: .45rem 0 0;
}

.org-chart {
    display: grid;
    gap: 1rem;
}

.department-band {
    padding: 1rem;
}

.department-band-header {
    align-items: flex-start;
    border-bottom: 1px solid #edf1f5;
    display: flex;
    gap: .75rem;
    justify-content: space-between;
    margin-bottom: .85rem;
    padding-bottom: .75rem;
}

.department-band-header h2 {
    font-size: 1.08rem;
    margin: 0;
}

.department-band-header p,
.workforce-card small {
    color: #667085;
    margin: .25rem 0 0;
}

.department-band-header span,
.workforce-card span {
    background: #eef3f8;
    border: 1px solid #d7e0ea;
    border-radius: 6px;
    color: #38506b;
    font-size: .78rem;
    padding: .25rem .45rem;
}

.workforce-tree {
    display: grid;
    gap: .7rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.workforce-card {
    display: grid;
    gap: .65rem;
    padding: .85rem;
}

.workforce-card-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.workforce-card-human {
    border-left: 4px solid #2f7d68;
}

.workforce-card-agent {
    border-left: 4px solid #4d6b8a;
}

.workforce-card-owner {
    border-left: 4px solid #7b5f2a;
}

.workforce-card-external {
    border-left: 4px solid #8b5a7a;
}

@media (max-width: 1100px) {
    .workforce-principle-grid,
    .executive-grid,
    .workforce-tree {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .workforce-principle-grid,
    .executive-grid,
    .workforce-tree,
    .department-band-header {
        display: grid;
        grid-template-columns: 1fr;
    }
}
.operations-filter-panel {
    overflow: visible;
}

.operations-filter-grid {
    display: grid;
    gap: var(--co-space-4);
    grid-template-columns: minmax(0, 1.5fr) minmax(240px, .8fr) minmax(240px, .8fr);
}

.operations-filter-grid > div {
    display: grid;
    gap: var(--co-space-2);
}

.operations-filter-grid small,
.operations-detail-grid span {
    color: var(--co-text-soft);
    font-size: .82rem;
    font-weight: 700;
}

.segmented-control {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.segmented-control button {
    background: var(--co-control-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: 999px;
    color: #344054;
    cursor: pointer;
    font: inherit;
    font-size: .86rem;
    min-height: 34px;
    padding: .35rem .7rem;
}

.segmented-control button:hover {
    border-color: var(--co-control-hover);
}

.segmented-control button.selected {
    background: var(--co-control-active);
    border-color: var(--co-control-active);
    color: #ffffff;
}

.segmented-control button:focus-visible,
.domain-card-select:focus-visible {
    outline: 3px solid rgba(63, 127, 101, .22);
    outline-offset: 2px;
}

.segmented-control.compact button {
    min-width: 62px;
}

.live-domain-card {
    position: relative;
}

.live-domain-card.selected {
    box-shadow: 0 0 0 2px rgba(63, 127, 101, .16), 0 1px 2px rgba(16, 24, 40, .04);
}

.domain-card-select {
    background: var(--co-control-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: 999px;
    color: #344054;
    cursor: pointer;
    font-size: .78rem;
    padding: .25rem .55rem;
    position: absolute;
    right: .75rem;
    top: .75rem;
}

.domain-card-select:hover {
    background: var(--co-chip-bg);
}

.operations-detail-grid {
    display: grid;
    gap: var(--co-space-4);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: var(--co-space-5);
}

.operations-detail-grid article {
    background: var(--co-surface-muted);
    border: 1px solid #e2e8f0;
    border-radius: var(--co-radius);
    display: grid;
    gap: var(--co-space-1);
    min-height: 92px;
    padding: var(--co-space-4);
}

.operations-detail-grid strong {
    color: var(--co-text);
    overflow-wrap: anywhere;
}

.operations-detail-grid small {
    color: var(--co-text-soft);
}

.detail-queue-list {
    margin-top: .5rem;
}
.live-ops-summary {
    display: grid;
    gap: var(--co-space-4);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: var(--co-space-5);
}

.live-ops-summary article {
    background: var(--co-surface);
    border: 1px solid var(--co-line);
    border-radius: var(--co-radius);
    box-shadow: var(--co-shadow);
    display: grid;
    gap: .18rem;
    min-height: 94px;
    padding: var(--co-space-4);
}

.live-ops-summary span,
.live-ops-summary small,
.live-domain-card small,
.live-domain-card p,
.domain-queue-list small,
.domain-empty {
    color: var(--co-text-soft);
}

.live-ops-summary strong {
    color: var(--co-text);
    font-size: 1.45rem;
}

.live-domain-grid {
    display: grid;
    gap: var(--co-space-4);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.live-domain-card {
    background: var(--co-surface);
    border: 1px solid var(--co-line);
    border-radius: var(--co-radius);
    box-shadow: var(--co-shadow);
    display: grid;
    gap: .7rem;
    min-width: 0;
    padding: .9rem;
}

.live-domain-card.tone-risk {
    border-color: var(--co-risk-high-line);
}

.live-domain-card.tone-live {
    border-color: var(--co-live-line);
}

.live-domain-card.tone-muted {
    background: var(--co-surface-subtle);
}

.domain-card-head {
    align-items: flex-start;
    display: flex;
    gap: .75rem;
    justify-content: space-between;
}

.domain-card-head strong {
    display: block;
    overflow-wrap: anywhere;
}

.domain-card-head mark,
.domain-empty {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    color: var(--co-chip-text);
    font-size: .78rem;
    padding: .25rem .45rem;
}

.domain-meter {
    background: var(--co-chip-bg);
    border-radius: 999px;
    height: 9px;
    overflow: hidden;
}

.domain-meter span {
    background: var(--co-live);
    display: block;
    height: 100%;
}

.live-domain-card.tone-risk .domain-meter span {
    background: var(--co-risk-high);
}

.live-domain-card.tone-muted .domain-meter span {
    background: var(--co-muted);
}

.domain-card-metrics {
    display: grid;
    gap: var(--co-space-2);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.domain-card-metrics span {
    background: #f7f9fc;
    border: 1px solid #e3e9f1;
    border-radius: var(--co-radius-sm);
    color: #52606f;
    font-size: .78rem;
    padding: .45rem;
}

.domain-card-metrics b {
    color: var(--co-text);
    display: block;
    font-size: .95rem;
}

.domain-queue-list {
    display: grid;
    gap: var(--co-space-2);
}

.domain-queue-list div {
    border-top: 1px solid var(--co-line-soft);
    display: grid;
    gap: .35rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding-top: .45rem;
}

.domain-queue-list div:first-child {
    border-top: 0;
    padding-top: 0;
}

.domain-queue-list span {
    color: var(--co-chip-text);
    font-size: .78rem;
    overflow-wrap: anywhere;
}

.domain-queue-list strong {
    color: var(--co-text);
    font-size: .9rem;
}

.domain-queue-list small {
    grid-column: 1 / -1;
}

.p1-action-summary-grid {
    display: grid;
    gap: var(--co-space-4);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: var(--co-space-4);
}

.p1-action-summary-grid article {
    background: var(--co-surface-muted);
    border: 1px solid #dbe5ef;
    border-radius: var(--co-radius);
    display: grid;
    gap: .2rem;
    min-height: 92px;
    padding: var(--co-space-4);
}

.p1-action-summary-grid span,
.p1-action-summary-grid small {
    color: var(--co-text-soft);
    font-size: .82rem;
    font-weight: 700;
    min-width: 0;
    overflow-wrap: anywhere;
}

.p1-action-summary-grid strong {
    color: var(--co-text);
    font-size: 1.05rem;
    min-width: 0;
    overflow-wrap: anywhere;
}

.qna-az-closure-summary {
    display: grid;
    gap: var(--co-space-4);
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-bottom: var(--co-space-4);
}

.qna-az-closure-summary article {
    background: #f8fbfd;
    border: 1px solid #dbe5ef;
    border-left: 4px solid #2478c7;
    border-radius: var(--co-radius);
    display: grid;
    gap: .24rem;
    min-height: 108px;
    min-width: 0;
    padding: var(--co-space-4);
}

.qna-az-closure-summary span,
.qna-az-closure-summary small,
.qna-az-closure-summary a {
    color: var(--co-text-soft);
    font-size: .8rem;
    font-weight: 700;
    min-width: 0;
    overflow-wrap: anywhere;
}

.qna-az-closure-summary strong {
    color: var(--co-text);
    font-size: 1rem;
    min-width: 0;
    overflow-wrap: anywhere;
}

.command-model-domain-expansion-grid {
    display: grid;
    gap: var(--co-space-4);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: var(--co-space-4);
}

.command-model-domain-expansion-grid article {
    background: #fbfcf8;
    border: 1px solid #dfe7d9;
    border-left: 4px solid #3f7f65;
    border-radius: var(--co-radius);
    display: grid;
    gap: .34rem;
    min-height: 132px;
    min-width: 0;
    padding: var(--co-space-4);
}

.command-model-domain-expansion-grid span,
.command-model-domain-expansion-grid small,
.command-model-domain-expansion-grid a,
.command-model-domain-expansion-grid mark {
    font-size: .8rem;
    font-weight: 700;
    min-width: 0;
    overflow-wrap: anywhere;
}

.command-model-domain-expansion-grid span,
.command-model-domain-expansion-grid small,
.command-model-domain-expansion-grid a {
    color: var(--co-text-soft);
}

.command-model-domain-expansion-grid strong {
    color: var(--co-text);
    font-size: .96rem;
    min-width: 0;
    overflow-wrap: anywhere;
}

.command-model-domain-expansion-grid mark {
    background: #eef6f0;
    border: 1px solid #c7dacd;
    border-radius: var(--co-radius-sm);
    color: #255b47;
    justify-self: start;
    padding: .28rem .45rem;
    white-space: normal;
}

.phase13-workbench-map {
    border-color: #cfd9e5;
}

.operator-journey-strip {
    border-color: #cfd9e5;
}

.operator-journey-links {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.operator-journey-link {
    background: #f8fafc;
    border: 1px solid #dbe5ef;
    border-radius: var(--co-radius);
    color: inherit;
    display: grid;
    gap: .28rem;
    min-width: 0;
    padding: .72rem .8rem;
    text-decoration: none;
}

.operator-journey-link:hover,
.operator-journey-link:focus {
    border-color: #9fb0c3;
    box-shadow: 0 0 0 2px rgba(63, 127, 101, .12);
}

.operator-journey-link.is-current {
    background: #eef6f0;
    border-color: #8fb49f;
}

.operator-journey-link span {
    color: #52606f;
    font-size: .78rem;
    font-weight: 900;
    min-width: 0;
    overflow-wrap: anywhere;
}

.operator-journey-link strong {
    color: var(--co-text);
    font-size: .95rem;
    min-width: 0;
    overflow-wrap: anywhere;
}

.operator-journey-link small {
    color: var(--co-text-soft);
    font-size: .78rem;
    font-weight: 700;
    min-width: 0;
    overflow-wrap: anywhere;
}

.phase13-workbench-flow,
.phase13-workbench-nav {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.phase13-workbench-flow {
    margin-bottom: var(--co-space-4);
}

.phase13-workbench-flow article,
.phase13-workbench-nav-item {
    background: #f8fafc;
    border: 1px solid #dbe5ef;
    border-radius: var(--co-radius);
    display: grid;
    gap: .28rem;
    min-width: 0;
    padding: .72rem .8rem;
}

.phase13-workbench-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.phase13-workbench-nav-item {
    color: inherit;
    text-decoration: none;
}

.phase13-workbench-nav-item:hover,
.phase13-workbench-nav-item:focus {
    border-color: #9fb0c3;
    box-shadow: 0 0 0 2px rgba(63, 127, 101, .12);
}

.phase13-workbench-flow span,
.phase13-workbench-nav-item span {
    color: #52606f;
    font-size: .78rem;
    font-weight: 900;
    min-width: 0;
    overflow-wrap: anywhere;
}

.phase13-workbench-flow strong,
.phase13-workbench-nav-item strong {
    color: var(--co-text);
    font-size: .95rem;
    min-width: 0;
    overflow-wrap: anywhere;
}

.phase13-workbench-flow small,
.phase13-workbench-nav-item small {
    color: var(--co-text-soft);
    font-size: .78rem;
    font-weight: 700;
    min-width: 0;
    overflow-wrap: anywhere;
}

.phase13-workbench-nav-item mark {
    background: #eef3f8;
    border: 1px solid #d7e0ea;
    border-radius: var(--co-radius-sm);
    color: #38506b;
    font-size: .72rem;
    font-weight: 900;
    justify-self: start;
    max-width: 100%;
    overflow-wrap: anywhere;
    padding: .22rem .45rem;
}

.phase13-source-coverage-grid {
    display: grid;
    gap: .55rem;
}

.phase13-source-coverage-row {
    align-items: center;
    background: #fff;
    border: 1px solid #dbe5ef;
    border-left: 4px solid #9aa8b6;
    border-radius: var(--co-radius);
    display: grid;
    gap: .7rem;
    grid-template-columns: minmax(10rem, 1fr) minmax(10rem, .85fr) minmax(9rem, .75fr) minmax(12rem, 1fr);
    min-height: 68px;
    padding: .72rem .8rem;
}

.phase13-source-coverage-row.coverage-live {
    border-left-color: var(--co-live);
}

.phase13-source-coverage-row.coverage-cache {
    border-left-color: #4d6b8a;
}

.phase13-source-coverage-row.coverage-fallback {
    border-left-color: #d97706;
}

.phase13-source-coverage-row.coverage-mock,
.phase13-source-coverage-row.coverage-review {
    border-left-color: #9aa8b6;
}

.phase13-source-coverage-row strong,
.phase13-source-coverage-row span,
.phase13-source-coverage-row small {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.phase13-source-coverage-row strong,
.phase13-source-coverage-row span {
    color: var(--co-text);
    font-size: .88rem;
    font-weight: 800;
}

.phase13-source-coverage-row small {
    color: var(--co-text-soft);
    font-size: .75rem;
    font-weight: 700;
}

.phase13-source-coverage-row mark {
    background: #eef3f8;
    border: 1px solid #d7e0ea;
    border-radius: var(--co-radius-sm);
    color: #38506b;
    display: inline-block;
    font-size: .73rem;
    font-weight: 900;
    max-width: 100%;
    overflow-wrap: anywhere;
    padding: .22rem .45rem;
}

.p1-action-queue-list {
    display: grid;
    gap: .65rem;
}

.p1-action-queue-row {
    align-items: center;
    background: #fff;
    border: 1px solid #dbe5ef;
    border-left: 4px solid #9aa8b6;
    border-radius: var(--co-radius);
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr) minmax(0, .8fr) minmax(0, 1fr) minmax(0, .9fr);
    min-height: 76px;
    padding: .85rem;
}

.p1-action-queue-row.tone-critical,
.p1-action-queue-row.tone-high {
    border-left-color: #dc2626;
}

.p1-action-queue-row.tone-medium {
    border-left-color: #d97706;
}

.p1-action-queue-row.tone-low {
    border-left-color: #16a34a;
}

.p1-action-queue-row strong,
.p1-action-queue-row span,
.p1-action-queue-row small {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.p1-action-queue-row strong,
.p1-action-queue-row span {
    color: var(--co-text);
    font-size: .9rem;
    font-weight: 800;
}

.p1-action-queue-row small {
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
}

.p1-action-queue-row mark {
    background: #eef2ff;
    border-radius: 6px;
    color: #3730a3;
    display: inline-block;
    font-size: .74rem;
    font-weight: 900;
    margin-bottom: .15rem;
    max-width: 100%;
    overflow-wrap: anywhere;
    padding: .2rem .45rem;
}

.operations-ontology-workbench-row {
    align-items: start;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .85fr) minmax(0, .9fr) minmax(0, 1.35fr) minmax(0, .7fr);
}

.operations-ontology-workbench-row .flow-actions {
    grid-column: 1 / -1;
    margin-bottom: 0;
}

.product-evidence-panel {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: .45rem .55rem;
}

.product-evidence-panel summary {
    color: var(--co-text);
    cursor: pointer;
    font-size: .78rem;
    font-weight: 900;
}

.product-evidence-panel div {
    border-top: 1px solid #e2e8f0;
    margin-top: .4rem;
    padding-top: .4rem;
}

.seller-document-summary-grid,
.financial-risk-summary-grid {
    display: grid;
    gap: var(--co-space-4);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: var(--co-space-4);
}

.seller-document-summary-grid article,
.financial-risk-summary-grid article {
    background: var(--co-surface-muted);
    border: 1px solid #e2e8f0;
    border-radius: var(--co-radius);
    display: grid;
    gap: .2rem;
    min-height: 92px;
    padding: var(--co-space-4);
}

.seller-document-summary-grid span,
.seller-document-summary-grid small,
.financial-risk-summary-grid span,
.financial-risk-summary-grid small {
    color: var(--co-text-soft);
    font-size: .82rem;
    font-weight: 700;
    min-width: 0;
    overflow-wrap: anywhere;
}

.seller-document-summary-grid strong,
.financial-risk-summary-grid strong {
    color: var(--co-text);
    font-size: 1.05rem;
    min-width: 0;
    overflow-wrap: anywhere;
}

.seller-document-list,
.financial-risk-list {
    display: grid;
    gap: .65rem;
}

.seller-document-action-grid {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: var(--co-space-4);
}

.seller-document-action-card {
    background: #f8fafc;
    border: 1px solid #dbe5ef;
    border-radius: var(--co-radius);
    display: grid;
    gap: .25rem;
    min-width: 0;
    padding: .72rem .8rem;
}

.seller-document-action-card span,
.seller-document-action-card small {
    color: var(--co-text-soft);
    font-size: .78rem;
    font-weight: 700;
    min-width: 0;
    overflow-wrap: anywhere;
}

.seller-document-action-card strong {
    color: var(--co-text);
    min-width: 0;
    overflow-wrap: anywhere;
}

.seller-document-action-card mark {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    color: #344054;
    font-size: .76rem;
    justify-self: start;
    min-width: 0;
    overflow-wrap: anywhere;
    padding: .25rem .45rem;
}

.seller-document-row,
.financial-risk-row {
    align-items: center;
    background: var(--co-surface);
    border: 1px solid #e2e8f0;
    border-radius: var(--co-radius);
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns: minmax(0, 1.2fr) minmax(160px, .55fr) minmax(180px, .75fr) minmax(180px, auto);
    min-height: 76px;
    padding: .78rem .85rem;
}

.seller-document-row.tone-high,
.financial-risk-row.tone-high {
    border-color: var(--co-risk-high-line);
}

.seller-document-row.tone-medium,
.financial-risk-row.tone-medium {
    border-color: var(--co-risk-medium-line);
}

.seller-document-row.tone-low,
.financial-risk-row.tone-low {
    border-color: #d7e4d8;
}

.seller-document-row strong,
.seller-document-row span,
.seller-document-row small,
.financial-risk-row strong,
.financial-risk-row span,
.financial-risk-row small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.seller-document-row strong,
.financial-risk-row strong {
    color: var(--co-text);
    display: block;
}

.seller-document-row small,
.financial-risk-row small {
    color: var(--co-text-soft);
    display: block;
    margin-top: .18rem;
}

.seller-document-row mark,
.financial-risk-row mark {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    color: #344054;
    justify-self: end;
    padding: .3rem .5rem;
}

.seller-document-action-cell {
    display: grid;
    gap: .2rem;
    justify-items: end;
    min-width: 0;
}

.seller-document-action-cell small {
    text-align: right;
}

.seller-document-progress {
    background: #e2e8f0;
    border-radius: 999px;
    height: .55rem;
    overflow: hidden;
    width: 100%;
}

.seller-document-progress span {
    background: #2f6f5f;
    display: block;
    height: 100%;
}

.financial-readfirst-note {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #dbe5ef;
    border-radius: var(--co-radius);
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-bottom: var(--co-space-4);
    padding: .65rem .75rem;
}

.financial-readfirst-note strong,
.financial-readfirst-note span {
    background: var(--co-surface);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    color: var(--co-text);
    font-size: .78rem;
    font-weight: 800;
    min-width: 0;
    overflow-wrap: anywhere;
    padding: .28rem .5rem;
}

.financial-risk-axis-grid {
    display: grid;
    gap: .65rem;
    margin-bottom: var(--co-space-4);
}

.financial-risk-axis-card {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #dbe5ef;
    border-radius: var(--co-radius);
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns: minmax(0, 1.1fr) minmax(110px, .35fr) minmax(0, .9fr) minmax(180px, auto);
    min-height: 74px;
    padding: .72rem .8rem;
}

.financial-risk-axis-card.tone-high {
    border-color: var(--co-risk-high-line);
}

.financial-risk-axis-card.tone-medium {
    border-color: var(--co-risk-medium-line);
}

.financial-risk-axis-card strong,
.financial-risk-axis-card span,
.financial-risk-axis-card small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.financial-risk-axis-card strong {
    color: var(--co-text);
    display: block;
}

.financial-risk-axis-card span,
.financial-risk-axis-card small {
    color: var(--co-text-soft);
    display: block;
    font-size: .8rem;
    font-weight: 700;
}

.financial-risk-axis-card mark {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    color: #344054;
    justify-self: end;
    padding: .3rem .5rem;
}

.pg-verification-summary-grid {
    display: grid;
    gap: var(--co-space-4);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: var(--co-space-4);
}

.pg-verification-summary-grid article {
    background: var(--co-surface-muted);
    border: 1px solid #e2e8f0;
    border-radius: var(--co-radius);
    display: grid;
    gap: .2rem;
    min-height: 92px;
    padding: var(--co-space-4);
}

.pg-verification-summary-grid span,
.pg-verification-summary-grid small {
    color: var(--co-text-soft);
    font-size: .82rem;
    font-weight: 700;
    min-width: 0;
    overflow-wrap: anywhere;
}

.pg-verification-summary-grid strong {
    color: var(--co-text);
    font-size: 1.05rem;
    min-width: 0;
    overflow-wrap: anywhere;
}

.pg-verification-list {
    display: grid;
    gap: .65rem;
}

.pg-verification-row {
    align-items: center;
    background: var(--co-surface);
    border: 1px solid #d9e5f2;
    border-radius: var(--co-radius);
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns: minmax(0, 1.05fr) minmax(210px, .9fr) minmax(220px, 1fr) minmax(120px, auto);
    min-height: 76px;
    padding: .78rem .85rem;
}

.pg-verification-row strong,
.pg-verification-row span,
.pg-verification-row small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.pg-verification-row strong {
    color: var(--co-text);
    display: block;
}

.pg-verification-row small {
    color: var(--co-text-soft);
    display: block;
    margin-top: .18rem;
}

.pg-verification-row mark {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    color: #344054;
    justify-self: end;
    padding: .3rem .5rem;
}

.pg-verification-detail-link {
    display: inline-block;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.pg-verification-detail-summary-grid,
.pg-verification-detail-grid {
    display: grid;
    gap: var(--co-space-4);
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pg-verification-detail-summary-grid {
    margin-bottom: var(--co-space-4);
}

.pg-verification-detail-summary-grid article,
.pg-verification-detail-grid article {
    background: var(--co-surface-muted);
    border: 1px solid #e2e8f0;
    border-radius: var(--co-radius);
    display: grid;
    gap: .2rem;
    min-height: 92px;
    min-width: 0;
    padding: var(--co-space-4);
}

.pg-verification-detail-summary-grid span,
.pg-verification-detail-summary-grid small,
.pg-verification-detail-grid span,
.pg-verification-detail-grid small {
    color: var(--co-text-soft);
    font-size: .82rem;
    font-weight: 700;
    min-width: 0;
    overflow-wrap: anywhere;
}

.pg-verification-detail-summary-grid strong,
.pg-verification-detail-grid strong {
    color: var(--co-text);
    font-size: 1.05rem;
    min-width: 0;
    overflow-wrap: anywhere;
}

.pg-verification-check-list {
    display: grid;
    gap: .65rem;
}

.pg-verification-check-row {
    align-items: center;
    background: var(--co-surface);
    border: 1px solid #d9e5f2;
    border-radius: var(--co-radius);
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns: minmax(0, 1fr) minmax(86px, auto);
    min-height: 68px;
    padding: .78rem .85rem;
}

.pg-verification-check-row.tone-fail {
    border-color: var(--co-risk-high-line);
}

.pg-verification-check-row strong,
.pg-verification-check-row small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.pg-verification-check-row strong {
    color: var(--co-text);
    display: block;
}

.pg-verification-check-row small {
    color: var(--co-text-soft);
    display: block;
    margin-top: .18rem;
}

.pg-verification-check-row mark {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    color: #344054;
    justify-self: end;
    padding: .3rem .5rem;
}

.pg-manual-refresh-form {
    display: grid;
    gap: var(--co-space-4);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pg-manual-refresh-form label {
    display: grid;
    gap: .35rem;
    min-width: 0;
}

.pg-manual-refresh-form label span {
    color: var(--co-text-soft);
    font-size: .82rem;
    font-weight: 700;
}

.pg-manual-refresh-form input,
.pg-manual-refresh-form select,
.pg-manual-refresh-form textarea {
    background: var(--co-control-bg);
    border: 1px solid var(--co-line);
    border-radius: var(--co-radius-sm);
    color: var(--co-text);
    font: inherit;
    min-height: 42px;
    min-width: 0;
    padding: .55rem .65rem;
    width: 100%;
}

.pg-manual-refresh-form textarea {
    min-height: 112px;
    resize: vertical;
}

.pg-manual-refresh-form input:focus,
.pg-manual-refresh-form select:focus,
.pg-manual-refresh-form textarea:focus {
    border-color: var(--co-focus);
    box-shadow: 0 0 0 3px rgba(63, 127, 101, .14);
    outline: 0;
}

.pg-manual-refresh-reason,
.pg-manual-refresh-actions {
    grid-column: 1 / -1;
}

.pg-manual-refresh-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.pg-manual-refresh-actions button:disabled {
    cursor: progress;
    opacity: .72;
}

.qna-detail-list,
.product-review-list,
.coupon-campaign-list {
    display: grid;
    gap: .65rem;
}

.qna-detail-row,
.product-review-row,
.coupon-campaign-row {
    align-items: center;
    background: var(--co-surface);
    border: 1px solid #e2e8f0;
    border-radius: var(--co-radius);
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns: minmax(0, 1.35fr) minmax(180px, .7fr) minmax(180px, .7fr) minmax(160px, auto);
    min-height: 76px;
    padding: .78rem .85rem;
}

.qna-detail-row.tone-high,
.product-review-row.tone-high,
.coupon-campaign-row.tone-high {
    border-color: var(--co-risk-high-line);
}

.qna-detail-row.tone-medium,
.product-review-row.tone-medium,
.coupon-campaign-row.tone-medium {
    border-color: var(--co-risk-medium-line);
}

.qna-detail-row.tone-low,
.product-review-row.tone-low,
.coupon-campaign-row.tone-low {
    border-color: #d7e4d8;
}

.qna-detail-row strong,
.qna-detail-row span,
.qna-detail-row small,
.product-review-row strong,
.product-review-row span,
.product-review-row small,
.coupon-campaign-row strong,
.coupon-campaign-row span,
.coupon-campaign-row small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.qna-detail-row strong,
.product-review-row strong,
.coupon-campaign-row strong {
    color: var(--co-text);
    display: block;
}

.qna-detail-row small,
.product-review-row small,
.coupon-campaign-row small {
    color: var(--co-text-soft);
    display: block;
    margin-top: .18rem;
}

.qna-detail-row mark,
.product-review-row mark,
.coupon-campaign-row mark {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    color: #344054;
    justify-self: end;
    padding: .3rem .5rem;
    white-space: nowrap;
}
@media (max-width: 1180px) {
    .operations-filter-grid,
    .operations-detail-grid,
    .live-domain-grid,
    .live-ops-summary,
    .operator-journey-links,
    .phase13-workbench-flow,
    .phase13-workbench-nav,
    .qna-az-closure-summary,
    .command-model-domain-expansion-grid,
    .p1-action-summary-grid,
    .seller-document-action-grid,
    .seller-document-summary-grid,
    .financial-risk-summary-grid,
    .financial-risk-axis-card,
    .pg-verification-summary-grid,
    .pg-verification-detail-summary-grid,
    .pg-verification-detail-grid,
    .pg-manual-refresh-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .seller-document-row,
    .financial-risk-row,
    .p1-action-queue-row,
    .phase13-source-coverage-row,
    .qna-detail-row,
    .product-review-row,
    .coupon-campaign-row,
    .pg-verification-row {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 720px) {
    .operations-filter-grid,
    .operations-detail-grid,
    .live-domain-grid,
    .live-ops-summary,
    .operator-journey-links,
    .phase13-workbench-flow,
    .phase13-workbench-nav,
    .qna-az-closure-summary,
    .command-model-domain-expansion-grid,
    .p1-action-summary-grid,
    .seller-document-action-grid,
    .seller-document-summary-grid,
    .financial-risk-summary-grid,
    .pg-verification-summary-grid,
    .pg-verification-detail-summary-grid,
    .pg-verification-detail-grid,
    .pg-manual-refresh-form,
    .seller-document-row,
    .financial-risk-row,
    .p1-action-queue-row,
    .phase13-source-coverage-row,
    .qna-detail-row,
    .product-review-row,
    .coupon-campaign-row,
    .pg-verification-row,
    .pg-verification-check-row,
    .domain-card-metrics {
        grid-template-columns: minmax(0, 1fr);
    }

    .domain-card-select {
        position: static;
        justify-self: start;
    }

    .seller-document-row mark,
    .seller-document-action-cell,
    .financial-risk-row mark,
    .financial-risk-axis-card mark,
    .p1-action-queue-row mark,
    .qna-detail-row mark,
    .product-review-row mark,
    .coupon-campaign-row mark,
    .pg-verification-row mark,
    .pg-verification-check-row mark {
        justify-self: start;
        max-width: 100%;
        white-space: normal;
    }

    .seller-document-action-cell {
        justify-items: start;
    }

    .seller-document-action-cell small {
        text-align: left;
    }
}



.artifact-grid {
    display: grid;
    gap: .85rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.artifact-card {
    background: #f8fafc;
    border: 1px solid #e1e7ef;
    border-radius: 8px;
    min-width: 0;
    padding: .9rem;
}

.artifact-card-head {
    align-items: flex-start;
    display: flex;
    gap: .75rem;
    justify-content: space-between;
}

.artifact-card-head strong,
.artifact-card-meta strong {
    display: block;
    overflow-wrap: anywhere;
}

.artifact-card-head small,
.artifact-card p {
    color: #667085;
}

.artifact-card-head span,
.artifact-card-meta span {
    background: #eef3f8;
    border: 1px solid #d7e0ea;
    border-radius: 6px;
    color: #38506b;
    font-size: .78rem;
    padding: .25rem .45rem;
}

.artifact-card-meta {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: .85rem;
}

.artifact-card-meta div {
    background: #ffffff;
    border: 1px solid #edf1f5;
    border-radius: 6px;
    min-width: 0;
    padding: .65rem;
}

.artifact-card p {
    margin: .75rem 0 0;
}

@media (max-width: 1000px) {
    .artifact-grid,
    .artifact-card-meta {
        grid-template-columns: 1fr;
    }
}

.tag-gate-grid {
    display: grid;
    gap: var(--co-space-4);
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tag-gate-grid article {
    background: var(--co-surface-muted);
    border: 1px solid #e1e7ef;
    border-radius: var(--co-radius);
    display: grid;
    gap: var(--co-space-2);
    min-width: 0;
    padding: var(--co-space-4);
}

.tag-gate-grid span,
.tag-ledger-meta span,
.tag-state {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    color: var(--co-chip-text);
    display: inline-flex;
    font-size: .78rem;
    font-weight: 700;
    padding: .24rem .45rem;
}

.tag-gate-grid p {
    color: var(--co-text-muted);
    margin: 0;
    overflow-wrap: anywhere;
}

.tag-gate-grid small {
    color: var(--co-text-soft);
}

.tag-ledger-list {
    display: grid;
    gap: .65rem;
}

.tag-ledger-row {
    align-items: center;
    background: var(--co-surface);
    border: 1px solid #e2e8f0;
    border-radius: var(--co-radius);
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns: minmax(0, 1.25fr) minmax(100px, .35fr) minmax(110px, .38fr) minmax(82px, auto) minmax(160px, .72fr);
    min-height: 76px;
    padding: .78rem .85rem;
}

.tag-ledger-row.tone-high {
    border-color: var(--co-risk-high-line);
}

.tag-ledger-row.tone-medium {
    border-color: var(--co-risk-medium-line);
}

.tag-ledger-row strong,
.tag-ledger-row span,
.tag-ledger-row small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.tag-ledger-row > div > span {
    color: var(--co-text-soft);
    display: block;
    font-size: .78rem;
    font-weight: 700;
}

.tag-ledger-row > div > strong {
    display: block;
}

.tag-ledger-row > small {
    color: var(--co-text-soft);
}

.tag-ledger-row mark {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    color: #344054;
    justify-self: start;
    padding: .3rem .5rem;
    white-space: nowrap;
}

.tag-ledger-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .4rem;
}

.tag-state-active {
    background: #ecfdf3;
    border-color: #b8e3c9;
    color: #1c6b43;
}

.tag-state-inactive {
    background: #f4f6f8;
    border-color: #d8e1eb;
    color: #526173;
}

@media (max-width: 1180px) {
    .tag-gate-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tag-ledger-row {
        grid-template-columns: minmax(0, 1fr) repeat(2, minmax(100px, auto));
    }
}

@media (max-width: 720px) {
    .tag-gate-grid,
    .tag-ledger-row {
        grid-template-columns: 1fr;
    }
}

.absorption-gate-grid {
    display: grid;
    gap: var(--co-space-4);
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.absorption-gate-grid article {
    background: var(--co-surface-muted);
    border: 1px solid #e1e7ef;
    border-radius: var(--co-radius);
    display: grid;
    gap: var(--co-space-2);
    min-width: 0;
    padding: var(--co-space-4);
}

.absorption-gate-grid span,
.absorption-ledger-meta span {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    color: var(--co-chip-text);
    display: inline-flex;
    font-size: .78rem;
    font-weight: 700;
    padding: .24rem .45rem;
}

.absorption-gate-grid p {
    color: var(--co-text-muted);
    margin: 0;
    overflow-wrap: anywhere;
}

.absorption-gate-grid small {
    color: var(--co-text-soft);
}

.absorption-ledger-list {
    display: grid;
    gap: .65rem;
}

.absorption-ledger-row {
    align-items: center;
    background: var(--co-surface);
    border: 1px solid #e2e8f0;
    border-radius: var(--co-radius);
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns: minmax(0, 1.25fr) minmax(110px, .36fr) minmax(130px, .45fr) minmax(82px, auto) minmax(180px, .72fr);
    min-height: 76px;
    padding: .78rem .85rem;
}

.absorption-ledger-row.tone-high {
    border-color: var(--co-risk-high-line);
}

.absorption-ledger-row.tone-medium {
    border-color: var(--co-risk-medium-line);
}

.absorption-ledger-row strong,
.absorption-ledger-row span,
.absorption-ledger-row small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.absorption-ledger-row > div > span {
    color: var(--co-text-soft);
    display: block;
    font-size: .78rem;
    font-weight: 700;
}

.absorption-ledger-row > div > strong {
    display: block;
}

.absorption-ledger-row > small {
    color: var(--co-text-soft);
}

.absorption-ledger-row mark {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    color: #344054;
    justify-self: start;
    padding: .3rem .5rem;
    white-space: nowrap;
}

.absorption-ledger-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .4rem;
}

@media (max-width: 1180px) {
    .absorption-gate-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .absorption-ledger-row {
        grid-template-columns: minmax(0, 1fr) repeat(2, minmax(110px, auto));
    }
}

@media (max-width: 720px) {
    .absorption-gate-grid,
    .absorption-ledger-row {
        grid-template-columns: 1fr;
    }
}

.absorption-hub-grid {
    display: grid;
    gap: var(--co-space-4);
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.absorption-hub-card {
    background: var(--co-surface);
    border: 1px solid #dce5ee;
    border-radius: var(--co-radius);
    color: inherit;
    display: grid;
    gap: var(--co-space-3);
    min-height: 258px;
    min-width: 0;
    padding: var(--co-space-4);
    text-decoration: none;
}

.absorption-hub-card:hover {
    border-color: #9db5ce;
    box-shadow: 0 10px 24px rgba(16, 24, 40, .08);
    color: inherit;
    transform: translateY(-1px);
}

.absorption-hub-card.tone-high {
    border-color: var(--co-risk-high-line);
}

.absorption-hub-card.tone-medium {
    border-color: var(--co-risk-medium-line);
}

.absorption-hub-head {
    align-items: flex-start;
    display: flex;
    gap: var(--co-space-3);
    justify-content: space-between;
}

.absorption-hub-head div {
    min-width: 0;
}

.absorption-hub-head span,
.absorption-hub-status span,
.absorption-route-grid span {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    color: var(--co-chip-text);
    display: inline-flex;
    font-size: .78rem;
    font-weight: 700;
    padding: .24rem .45rem;
}

.absorption-hub-head strong {
    display: block;
    font-size: 1.1rem;
    margin-top: .45rem;
    overflow-wrap: anywhere;
}

.absorption-hub-head small,
.absorption-hub-card p,
.absorption-candidate-list small {
    color: var(--co-text-muted);
}

.absorption-hub-head mark,
.absorption-candidate-list mark {
    background: var(--co-surface-muted);
    border: 1px solid #d8e1ea;
    border-radius: var(--co-radius-sm);
    color: #344054;
    font-size: .78rem;
    padding: .28rem .45rem;
}

.absorption-hub-card p {
    margin: 0;
    min-height: 48px;
    overflow-wrap: anywhere;
}

.absorption-hub-metrics {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.absorption-route-grid {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.absorption-hub-metrics div,
.absorption-route-grid article {
    background: var(--co-surface-muted);
    border: 1px solid #e1e7ef;
    border-radius: var(--co-radius);
    display: grid;
    gap: .2rem;
    min-width: 0;
    padding: .72rem;
}

.absorption-hub-metrics span,
.absorption-route-grid small {
    color: var(--co-text-soft);
    font-size: .78rem;
    font-weight: 700;
}

.absorption-hub-metrics strong,
.absorption-route-grid strong,
.absorption-candidate-list strong {
    overflow-wrap: anywhere;
}

.absorption-hub-status {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.absorption-candidate-list {
    display: grid;
    gap: .55rem;
}

.absorption-candidate-list article {
    align-items: center;
    border-top: 1px solid #edf1f5;
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(0, 1fr) minmax(170px, auto) minmax(72px, auto);
    min-height: 58px;
    padding-top: .6rem;
}

.absorption-candidate-list article:first-child {
    border-top: 0;
    padding-top: 0;
}

.absorption-candidate-list span {
    color: var(--co-text-muted);
    font-size: .9rem;
}

@media (max-width: 1180px) {
    .absorption-hub-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .absorption-route-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .absorption-hub-grid,
    .absorption-hub-metrics,
    .absorption-candidate-list article {
        grid-template-columns: 1fr;
    }
}
.operations-absorption-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.operations-absorption-grid .absorption-hub-card {
    min-height: 230px;
}

/* ── 사업 현황 (홈) + 회원·고객 콘솔 — read-only. tone/chip은 전역 --co-* 토큰 재사용 ── */
.business-overview {
    background: var(--co-surface-subtle);
    border: 1px solid var(--co-line);
    border-radius: var(--co-radius);
    margin-bottom: var(--co-space-5);
    padding: var(--co-space-5);
}

.business-overview-head {
    margin-bottom: var(--co-space-4);
}

.business-overview-head h2 {
    font-size: 1.2rem;
    margin: 0 0 .25rem;
}

.business-overview-head p {
    color: var(--co-text-soft);
    margin: 0;
}

.business-card-grid {
    display: grid;
    gap: var(--co-space-4);
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.business-card {
    background: var(--co-surface);
    border: 1px solid var(--co-line);
    border-radius: var(--co-radius);
    box-shadow: var(--co-shadow);
    color: var(--co-text);
    display: grid;
    gap: .55rem;
    min-height: 168px;
    min-width: 0;
    padding: var(--co-space-4);
    text-decoration: none;
}

a.business-card:hover {
    border-color: var(--co-control-hover);
}

.business-card--placeholder {
    align-content: start;
    background: var(--co-surface-muted);
    border-style: dashed;
    color: var(--co-text-soft);
}

.business-card--placeholder small {
    color: var(--co-muted);
}

.business-card-head {
    align-items: baseline;
    display: flex;
    gap: .5rem;
    justify-content: space-between;
}

.business-card-head strong {
    font-size: 1.02rem;
}

.business-card-head small {
    color: var(--co-text-soft);
}

.business-kpi-row {
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.business-kpi-row > div {
    display: grid;
    gap: .12rem;
    min-width: 0;
}

.business-kpi-row span {
    color: var(--co-text-soft);
    font-size: .76rem;
}

.business-kpi-row strong {
    font-size: 1.18rem;
    overflow-wrap: anywhere;
}

.business-dist-row {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.business-dist-row span,
.chip {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    color: var(--co-chip-text);
    font-size: .76rem;
    font-weight: 700;
    padding: .22rem .45rem;
}

.business-card-foot {
    color: var(--co-text-soft);
    margin-top: auto;
}

/* 광고 사업(주 수익) 카드 — 기존 business-card 패밀리 재사용, LIVE 톤으로 주 수익 강조만 추가 */
.business-card--ad {
    border-color: var(--co-live-line);
}

a.business-card--ad:hover {
    border-color: var(--co-live);
}

.business-ad-revenue {
    align-items: baseline;
    border: 1px solid var(--co-live-line);
    border-radius: var(--co-radius-sm);
    background: var(--co-surface-subtle);
    display: flex;
    gap: .5rem;
    justify-content: space-between;
    padding: .4rem .55rem;
}

.business-ad-revenue span {
    color: var(--co-text-soft);
    font-size: .8rem;
}

.business-ad-revenue strong {
    color: var(--co-live);
    font-size: 1.22rem;
}

/* 자동화(워커) 건강 카드 — 톤별 좌측 accent(정상/주의/대기). business-card--ad 접근 미러. */
.business-card--automation {
    border-left-width: 3px;
}

.business-card--automation.tone-ok {
    border-left-color: var(--co-live, #1f8a5b);
}

.business-card--automation.tone-warn {
    border-left-color: var(--co-warn, #e8a317);
}

.business-card--automation.tone-muted {
    border-left-color: var(--co-line, #d9d2cb);
}

/* 분포 칩 행 (콘솔) — DRY 로컬 RenderFragment 출력 */
.chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.chip--empty {
    background: var(--co-surface-muted);
    color: var(--co-muted);
    font-weight: 400;
}

/* 이탈위험 tone — 4단계(원본) → 색상. CRITICAL은 high보다 진하게 */
.churn-critical {
    background: #fbeaea;
    border-color: var(--co-risk-high-line);
    color: var(--co-risk-high);
}

.churn-high {
    background: #fdf2f2;
    border-color: var(--co-risk-high-line);
    color: var(--co-risk-high);
}

.churn-medium {
    background: #fdf6ea;
    border-color: var(--co-risk-medium-line);
    color: var(--co-risk-medium);
}

.churn-low {
    background: #eef7f2;
    border-color: var(--co-live-line);
    color: var(--co-live);
}

/* 필터 바 */
.customer-filter-bar {
    display: grid;
    gap: var(--co-space-3);
}

.customer-filter-group {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.customer-filter-label {
    color: var(--co-text-soft);
    font-size: .78rem;
    font-weight: 700;
    min-width: 3.4rem;
}

.customer-filter-chip {
    background: var(--co-surface);
    border: 1px solid var(--co-line);
    border-radius: var(--co-radius-sm);
    color: var(--co-text-muted);
    font-size: .78rem;
    font-weight: 700;
    padding: .26rem .55rem;
    text-decoration: none;
}

.customer-filter-chip:hover {
    border-color: var(--co-control-hover);
}

.customer-filter-chip.is-selected {
    background: var(--co-control-active);
    border-color: var(--co-control-active);
    color: #ffffff;
}

/* 회원 목록 테이블 (CSS grid) */
.customer-table {
    display: grid;
    gap: .35rem;
}

.customer-table-head,
.customer-table-row {
    align-items: center;
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns:
        minmax(0, 1.2fr) minmax(0, 1fr) minmax(64px, .6fr) minmax(64px, .6fr)
        minmax(52px, auto) minmax(64px, auto) minmax(92px, .8fr) minmax(96px, .9fr) minmax(64px, auto);
    min-width: 0;
}

.customer-table-head {
    border-bottom: 1px solid var(--co-line);
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
    padding-bottom: .4rem;
}

.customer-table-row {
    border-top: 1px solid var(--co-line-soft);
    min-height: 48px;
    padding: .45rem 0;
}

.customer-table-row:first-of-type {
    border-top: 0;
}

.customer-table-row.tone-high {
    background: #fdf6f6;
}

.customer-table-row.tone-medium {
    background: #fdfaf2;
}

.customer-table-row span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.customer-table-row mark.churn-chip {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    font-size: .74rem;
    font-weight: 700;
    padding: .16rem .4rem;
    white-space: nowrap;
}

/* 페이지네이션 */
.customer-pager {
    align-items: center;
    display: flex;
    gap: var(--co-space-4);
    justify-content: center;
    margin-top: var(--co-space-4);
}

.customer-pager .text-link {
    margin-top: 0;
}

.customer-pager-status {
    color: var(--co-text-soft);
    font-size: .82rem;
    font-weight: 700;
}

.customer-pager-disabled {
    color: var(--co-muted);
    font-size: .82rem;
    font-weight: 700;
}

/* 주문 운영 콘솔 — 위험도 tone(분포/우선큐/큐 chip 공통). 회원 churn-* 대응 */
.chip.tone-high {
    background: #fdf2f2;
    border-color: var(--co-risk-high-line);
    color: var(--co-risk-high);
}

.chip.tone-medium {
    background: #fdf6ea;
    border-color: var(--co-risk-medium-line);
    color: var(--co-risk-medium);
}

.chip.tone-low {
    background: #eef7f2;
    border-color: var(--co-live-line);
    color: var(--co-live);
}

.risk-chip {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    font-size: .74rem;
    font-weight: 700;
    padding: .16rem .4rem;
    white-space: nowrap;
}

.risk-chip.tone-high {
    background: #fdf2f2;
    border-color: var(--co-risk-high-line);
    color: var(--co-risk-high);
}

.risk-chip.tone-medium {
    background: #fdf6ea;
    border-color: var(--co-risk-medium-line);
    color: var(--co-risk-medium);
}

.risk-chip.tone-low {
    background: #eef7f2;
    border-color: var(--co-live-line);
    color: var(--co-live);
}

/* 충성도 분석 콘솔 — 판매자 충성도 랭킹 (CSS grid, 7컬럼) — 회원 customer-table 패턴 */
.loyalty-rank-calc {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: var(--co-space-3);
}

.loyalty-rank-calc__note {
    color: var(--co-muted);
    font-size: .78rem;
}

.loyalty-rank-table {
    display: grid;
    gap: .35rem;
}

.loyalty-rank-head,
.loyalty-rank-row {
    align-items: center;
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns:
        minmax(56px, .4fr) minmax(0, 1.4fr) minmax(64px, .6fr) minmax(72px, .6fr)
        minmax(72px, .7fr) minmax(64px, .6fr) minmax(96px, .9fr);
    min-width: 0;
}

.loyalty-rank-head {
    border-bottom: 1px solid var(--co-line);
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
    padding-bottom: .4rem;
}

.loyalty-rank-row {
    border-top: 1px solid var(--co-line-soft);
    min-height: 48px;
    padding: .45rem 0;
}

.loyalty-rank-row:first-of-type {
    border-top: 0;
}

.loyalty-rank-row.tone-high {
    background: #fdf6f6;
}

.loyalty-rank-row.tone-medium {
    background: #fdfaf2;
}

.loyalty-rank-row span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.loyalty-rank-row span strong {
    display: block;
}

.loyalty-rank-row span small {
    color: var(--co-text-soft);
    font-size: .74rem;
}

.loyalty-rank-row mark.rank-badge {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    font-size: .76rem;
    font-weight: 700;
    padding: .14rem .4rem;
    white-space: nowrap;
}

.loyalty-rank-row mark.loyalty-rate-chip {
    background: #eef7f2;
    border: 1px solid var(--co-live-line);
    border-radius: var(--co-radius-sm);
    color: var(--co-live);
    font-size: .76rem;
    font-weight: 700;
    padding: .14rem .4rem;
    white-space: nowrap;
}

/* 주문 작업큐 목록 테이블 (CSS grid, 7컬럼) — 회원 customer-table 패턴 */
.order-queue-table {
    display: grid;
    gap: .35rem;
}

.order-queue-head,
.order-queue-row {
    align-items: center;
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns:
        minmax(0, 1.3fr) minmax(86px, .7fr) minmax(72px, .6fr) minmax(64px, auto)
        minmax(64px, auto) minmax(0, 1.4fr) minmax(80px, auto);
    min-width: 0;
}

.order-queue-head {
    border-bottom: 1px solid var(--co-line);
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
    padding-bottom: .4rem;
}

.order-queue-row {
    border-top: 1px solid var(--co-line-soft);
    min-height: 48px;
    padding: .45rem 0;
}

.order-queue-row:first-of-type {
    border-top: 0;
}

.order-queue-row.tone-high {
    background: #fdf6f6;
}

.order-queue-row.tone-medium {
    background: #fdfaf2;
}

.order-queue-row span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.order-queue-sub {
    display: block;
    margin-top: 2px;
    color: var(--muted, #6b7280);
    font-size: 0.78rem;
}

.status-strip-policy {
    font-weight: 700;
}

/* 구독 운영 콘솔 — 부모 구독 lifecycle 목록 테이블 (CSS grid, 10컬럼) — 회원 customer-table 패턴 */
.subscription-table {
    display: grid;
    gap: .35rem;
}

.subscription-table-head,
.subscription-table-row {
    align-items: center;
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns:
        minmax(56px, .4fr) minmax(64px, .6fr) minmax(0, 1fr) minmax(64px, .6fr)
        minmax(88px, .8fr) minmax(88px, .8fr) minmax(0, 1.1fr)
        minmax(0, 1.1fr) minmax(88px, .8fr) minmax(64px, .5fr)
        minmax(80px, .7fr);
    min-width: 0;
}

.subscription-table-head {
    border-bottom: 1px solid var(--co-line);
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
    padding-bottom: .4rem;
}

.subscription-table-row {
    border-top: 1px solid var(--co-line-soft);
    min-height: 48px;
    padding: .45rem 0;
}

.subscription-table-row:first-of-type {
    border-top: 0;
}

.subscription-table-row.tone-high {
    background: #fdf6f6;
}

.subscription-table-row.tone-medium {
    background: #fdfaf2;
}

.subscription-table-row span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.subscription-table-row mark.subscription-status-chip,
.subscription-table-row mark.subscription-billingkey-chip {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    font-size: .74rem;
    font-weight: 700;
    padding: .16rem .4rem;
    white-space: nowrap;
}

.subscription-table-row mark.subscription-status-chip.tone-high {
    background: #fdf2f2;
    border-color: var(--co-risk-high-line);
    color: var(--co-risk-high);
}

.subscription-table-row mark.subscription-status-chip.tone-medium {
    background: #fdf6ea;
    border-color: var(--co-risk-medium-line);
    color: var(--co-risk-medium);
}

.subscription-table-row mark.subscription-status-chip.tone-low {
    background: #eef7f2;
    border-color: var(--co-live-line);
    color: var(--co-live);
}

.subscription-table-row mark.subscription-billingkey-chip.is-absent {
    background: #fdf6ea;
    border-color: var(--co-risk-medium-line);
    color: var(--co-risk-medium);
}

/* CRM 캠페인 운영 콘솔 — 캠페인 목록 테이블 (CSS grid, 10컬럼) — 구독 subscription-table 패턴 */
.crm-campaign-table {
    display: grid;
    gap: .35rem;
}

.crm-campaign-table-head,
.crm-campaign-table-row {
    align-items: center;
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns:
        minmax(56px, .4fr) minmax(0, 1.2fr) minmax(64px, .6fr) minmax(0, 1fr)
        minmax(96px, .9fr) minmax(72px, .6fr) minmax(64px, .5fr)
        minmax(72px, .7fr) minmax(72px, .6fr) minmax(64px, .5fr);
    min-width: 0;
}

.crm-campaign-table-head {
    border-bottom: 1px solid var(--co-line);
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
    padding-bottom: .4rem;
}

.crm-campaign-table-row {
    border-top: 1px solid var(--co-line-soft);
    min-height: 48px;
    padding: .45rem 0;
}

.crm-campaign-table-row:first-of-type {
    border-top: 0;
}

.crm-campaign-table-row.tone-high {
    background: #fdf6f6;
}

.crm-campaign-table-row.tone-medium {
    background: #fdfaf2;
}

.crm-campaign-table-row span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.crm-campaign-table-row mark.crm-campaign-status-chip {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    font-size: .74rem;
    font-weight: 700;
    padding: .16rem .4rem;
    white-space: nowrap;
}

.crm-campaign-table-row mark.crm-campaign-status-chip.tone-high {
    background: #fdf2f2;
    border-color: var(--co-risk-high-line);
    color: var(--co-risk-high);
}

.crm-campaign-table-row mark.crm-campaign-status-chip.tone-medium {
    background: #fdf6ea;
    border-color: var(--co-risk-medium-line);
    color: var(--co-risk-medium);
}

.crm-campaign-table-row mark.crm-campaign-status-chip.tone-low {
    background: #eef7f2;
    border-color: var(--co-live-line);
    color: var(--co-live);
}

/* 알림 운영 콘솔 — 알림 목록 테이블 (CSS grid, 10컬럼) — CRM crm-campaign-table 패턴 */
.notification-table {
    display: grid;
    gap: .35rem;
}

.notification-table-head,
.notification-table-row {
    align-items: center;
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns:
        minmax(56px, .4fr) minmax(0, 1fr) minmax(0, 1.4fr) minmax(64px, .55fr)
        minmax(80px, .7fr) minmax(80px, .7fr) minmax(80px, .8fr)
        minmax(48px, .4fr) minmax(80px, .6fr) minmax(96px, .8fr);
    min-width: 0;
}

.notification-table-head {
    border-bottom: 1px solid var(--co-line);
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
    padding-bottom: .4rem;
}

.notification-table-row {
    border-top: 1px solid var(--co-line-soft);
    min-height: 48px;
    padding: .45rem 0;
}

.notification-table-row:first-of-type {
    border-top: 0;
}

.notification-table-row.tone-high {
    background: #fdf6f6;
}

.notification-table-row span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.notification-table-row mark.notification-priority-chip {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    font-size: .74rem;
    font-weight: 700;
    padding: .16rem .4rem;
    white-space: nowrap;
}

.notification-table-row mark.notification-priority-chip.tone-high {
    background: #fdf2f2;
    border-color: var(--co-risk-high-line);
    color: var(--co-risk-high);
}

.notification-table-row mark.notification-priority-chip.tone-medium {
    background: #fdf6ea;
    border-color: var(--co-risk-medium-line);
    color: var(--co-risk-medium);
}

.notification-table-row mark.notification-priority-chip.tone-low {
    background: #eef7f2;
    border-color: var(--co-live-line);
    color: var(--co-live);
}

/* 랜딩페이지 콘솔 — 관리 목록 표 (CSS grid, 10컬럼) — platform-campaign-table 패턴 (18번째 read 콘솔) */
.landing-page-table {
    display: grid;
    gap: .35rem;
}

.landing-page-table-head,
.landing-page-table-row {
    align-items: center;
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns:
        minmax(48px, .35fr) minmax(0, 1.2fr) minmax(0, 1.1fr) minmax(88px, .7fr)
        minmax(72px, .6fr) minmax(96px, .8fr) minmax(64px, .5fr)
        minmax(96px, .8fr) minmax(64px, .5fr) minmax(96px, .8fr);
    min-width: 0;
}

.landing-page-table-head {
    border-bottom: 1px solid var(--co-line);
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
    padding-bottom: .4rem;
}

.landing-page-table-row {
    border-top: 1px solid var(--co-line-soft);
    min-height: 48px;
    padding: .45rem 0;
}

.landing-page-table-row:first-of-type {
    border-top: 0;
}

.landing-page-table-row.tone-high {
    background: #fdf6f6;
}

.landing-page-table-row span {
    min-width: 0;
    overflow-wrap: anywhere;
}

/* AI 사용량 콘솔 — 서비스별 사용량 표 (CSS grid, 6컬럼) — order-queue-table 패턴 (17번째 read 콘솔) */
.ai-usage-service-table {
    display: grid;
    gap: .35rem;
}

.ai-usage-service-head,
.ai-usage-service-row {
    align-items: center;
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns:
        minmax(0, 1.2fr) minmax(72px, .6fr) minmax(88px, .7fr)
        minmax(96px, .8fr) minmax(72px, .6fr) minmax(64px, .6fr);
    min-width: 0;
}

.ai-usage-service-head {
    border-bottom: 1px solid var(--co-line);
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
    padding-bottom: .4rem;
}

.ai-usage-service-row {
    border-top: 1px solid var(--co-line-soft);
    min-height: 40px;
    padding: .4rem 0;
}

.ai-usage-service-row:first-of-type {
    border-top: 0;
}

.ai-usage-service-row span {
    min-width: 0;
    overflow-wrap: anywhere;
}

/* 플랫폼 캠페인 운영 콘솔 — 캠페인 마스터 목록 테이블 (CSS grid, 9컬럼) — CRM crm-campaign-table 패턴 (write-sweep #4) */
.platform-campaign-table {
    display: grid;
    gap: .35rem;
}

.platform-campaign-table-head,
.platform-campaign-table-row {
    align-items: center;
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns:
        minmax(48px, .35fr) minmax(72px, .7fr) minmax(0, 1.4fr) minmax(96px, .9fr)
        minmax(120px, 1fr) minmax(64px, .55fr) minmax(0, 1.1fr)
        minmax(64px, .55fr) minmax(80px, .7fr);
    min-width: 0;
}

.platform-campaign-table-head {
    border-bottom: 1px solid var(--co-line);
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
    padding-bottom: .4rem;
}

.platform-campaign-table-row {
    border-top: 1px solid var(--co-line-soft);
    min-height: 48px;
    padding: .45rem 0;
}

.platform-campaign-table-row:first-of-type {
    border-top: 0;
}

.platform-campaign-table-row.tone-high {
    background: #fdf6f6;
}

.platform-campaign-table-row.tone-medium {
    background: #fdfaf2;
}

.platform-campaign-table-row span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.platform-campaign-table-row mark.platform-campaign-status-chip,
.platform-campaign-table-row mark.platform-campaign-published-chip,
.platform-campaign-table-row mark.platform-campaign-recruiting-chip {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    font-size: .74rem;
    font-weight: 700;
    margin-right: .25rem;
    padding: .16rem .4rem;
    white-space: nowrap;
}

.platform-campaign-table-row mark.platform-campaign-status-chip.tone-high {
    background: #fdf2f2;
    border-color: var(--co-risk-high-line);
    color: var(--co-risk-high);
}

.platform-campaign-table-row mark.platform-campaign-status-chip.tone-medium {
    background: #fdf6ea;
    border-color: var(--co-risk-medium-line);
    color: var(--co-risk-medium);
}

.platform-campaign-table-row mark.platform-campaign-status-chip.tone-low {
    background: #eef7f2;
    border-color: var(--co-live-line);
    color: var(--co-live);
}

.platform-campaign-table-row mark.platform-campaign-recruiting-chip.is-closed {
    background: #fdf6ea;
    border-color: var(--co-risk-medium-line);
    color: var(--co-risk-medium);
}

/* 결제 원장 콘솔(/payments) — 결제 행 grain 테이블 (CSS grid, 9컬럼) — platform-campaign-table 패턴 (financial S1 thin read). 금액 노출=행 grain 한정(ADR-PR-5). */
.payment-ledger-table {
    display: grid;
    gap: .35rem;
}

.payment-ledger-table-head,
.payment-ledger-table-row {
    align-items: center;
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns:
        minmax(48px, .35fr) minmax(80px, .6fr) minmax(120px, 1.1fr) minmax(80px, .7fr)
        minmax(80px, .7fr) minmax(80px, .7fr) minmax(0, 1fr)
        minmax(110px, .9fr) minmax(80px, .7fr);
    min-width: 0;
}

.payment-ledger-table-head {
    border-bottom: 1px solid var(--co-line);
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
    padding-bottom: .4rem;
}

.payment-ledger-table-row {
    border-top: 1px solid var(--co-line-soft);
    min-height: 48px;
    padding: .45rem 0;
}

.payment-ledger-table-row:first-of-type {
    border-top: 0;
}

.payment-ledger-table-row.tone-high {
    background: #fdf6f6;
}

.payment-ledger-table-row.tone-medium {
    background: #fdfaf2;
}

.payment-ledger-table-row span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.payment-ledger-table-row mark.payment-ledger-status-chip,
.payment-ledger-table-row mark.payment-ledger-refundable-chip {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    font-size: .74rem;
    font-weight: 700;
    margin-right: .25rem;
    padding: .16rem .4rem;
    white-space: nowrap;
}

.payment-ledger-table-row mark.payment-ledger-status-chip.tone-high {
    background: #fdf2f2;
    border-color: var(--co-risk-high-line);
    color: var(--co-risk-high);
}

.payment-ledger-table-row mark.payment-ledger-status-chip.tone-medium {
    background: #fdf6ea;
    border-color: var(--co-risk-medium-line);
    color: var(--co-risk-medium);
}

.payment-ledger-table-row mark.payment-ledger-status-chip.tone-low {
    background: #eef7f2;
    border-color: var(--co-live-line);
    color: var(--co-live);
}

.payment-ledger-table-row mark.payment-ledger-refundable-chip {
    background: #eef7f2;
    border-color: var(--co-live-line);
    color: var(--co-live);
}

/* 정산 콘솔(/settlements) — 정산 행 grain 테이블 (CSS grid, 9컬럼) — payment-ledger-table 패턴 (financial S3 thin read). 금액·계좌 비노출(SELECT 0 — 02 판정 6). */
.settlement-ledger-table {
    display: grid;
    gap: .35rem;
}

.settlement-ledger-table-head,
.settlement-ledger-table-row {
    align-items: center;
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns:
        minmax(48px, .35fr) minmax(110px, .9fr) minmax(90px, .7fr) minmax(130px, 1.1fr)
        minmax(0, 1fr) minmax(90px, .7fr) minmax(100px, .8fr)
        minmax(90px, .7fr) minmax(80px, .7fr);
    min-width: 0;
}

.settlement-ledger-table-head {
    border-bottom: 1px solid var(--co-line);
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
    padding-bottom: .4rem;
}

.settlement-ledger-table-row {
    border-top: 1px solid var(--co-line-soft);
    min-height: 48px;
    padding: .45rem 0;
}

.settlement-ledger-table-row:first-of-type {
    border-top: 0;
}

.settlement-ledger-table-row.tone-high {
    background: #fdf6f6;
}

.settlement-ledger-table-row.tone-medium {
    background: #fdfaf2;
}

.settlement-ledger-table-row span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.settlement-ledger-table-row mark.settlement-ledger-status-chip,
.settlement-ledger-table-row mark.settlement-ledger-actionable-chip {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    font-size: .74rem;
    font-weight: 700;
    margin-right: .25rem;
    padding: .16rem .4rem;
    white-space: nowrap;
}

.settlement-ledger-table-row mark.settlement-ledger-status-chip.tone-high {
    background: #fdf2f2;
    border-color: var(--co-risk-high-line);
    color: var(--co-risk-high);
}

.settlement-ledger-table-row mark.settlement-ledger-status-chip.tone-medium {
    background: #fdf6ea;
    border-color: var(--co-risk-medium-line);
    color: var(--co-risk-medium);
}

.settlement-ledger-table-row mark.settlement-ledger-status-chip.tone-low {
    background: #eef7f2;
    border-color: var(--co-live-line);
    color: var(--co-live);
}

.settlement-ledger-table-row mark.settlement-ledger-actionable-chip {
    background: #eef7f2;
    border-color: var(--co-live-line);
    color: var(--co-live);
}

/* 배송 콘솔 — 택배사 마스터 테이블 (CSS grid, 11컬럼) — 회원 customer-table 패턴 */
.shipping-carrier-table {
    display: grid;
    gap: .35rem;
}

.shipping-carrier-head,
.shipping-carrier-row {
    align-items: center;
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns:
        minmax(48px, .4fr) minmax(64px, .6fr) minmax(0, 1.4fr) minmax(96px, .9fr)
        minmax(64px, auto) minmax(64px, auto) minmax(64px, auto)
        minmax(72px, .7fr) minmax(80px, .8fr) minmax(60px, auto) minmax(56px, .5fr);
    min-width: 0;
}

.shipping-carrier-head {
    border-bottom: 1px solid var(--co-line);
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
    padding-bottom: .4rem;
}

.shipping-carrier-row {
    border-top: 1px solid var(--co-line-soft);
    min-height: 48px;
    padding: .45rem 0;
}

.shipping-carrier-row:first-of-type {
    border-top: 0;
}

.shipping-carrier-row.is-inactive {
    background: #fafafa;
}

.shipping-carrier-row span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.shipping-carrier-row span strong {
    display: block;
}

.shipping-carrier-row span small {
    color: var(--co-text-soft);
    font-size: .74rem;
}

.shipping-flag {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    border-radius: var(--co-radius-sm);
    font-size: .74rem;
    font-weight: 700;
    padding: .14rem .4rem;
    white-space: nowrap;
}

.shipping-flag--on {
    background: #eef7f2;
    border-color: var(--co-live-line);
    color: var(--co-live);
}

.shipping-flag--off {
    color: var(--co-text-soft);
}

.shipping-status {
    border-radius: var(--co-radius-sm);
    font-size: .74rem;
    font-weight: 700;
    padding: .14rem .4rem;
    white-space: nowrap;
}

.shipping-status--active {
    background: #eef7f2;
    border: 1px solid var(--co-live-line);
    color: var(--co-live);
}

.shipping-status--inactive {
    background: var(--co-chip-bg);
    border: 1px solid var(--co-chip-line);
    color: var(--co-text-soft);
}

.shipping-write-note,
.shipping-tracking-note {
    margin-top: var(--co-space-3);
}

/* 택배사 정의 commit 실행 패널 폼(OperatorWorkbench ShippingCarrierCommitExecutionActionPanel). */
.shipping-carrier-form__grid {
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.shipping-carrier-field {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
}

.shipping-carrier-field--wide {
    grid-column: 1 / -1;
}

.shipping-carrier-field span {
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
}

.shipping-carrier-checkbox {
    align-items: center;
    display: flex;
    gap: .4rem;
    font-size: .82rem;
    font-weight: 600;
}

.shipping-carrier-checkbox input {
    flex: none;
}

@media (max-width: 720px) {
    .shipping-carrier-form__grid {
        grid-template-columns: 1fr;
    }
}

/* 알림 발송 commit 실행 패널 폼(OperatorWorkbench NotificationSendCommitExecutionActionPanel). 택배사 폼 미러 — 발송 payload(제목/본문/role·우선순위·분류 select). */
.notification-send-boundary-badge {
    border: 1px solid var(--co-border);
    border-radius: var(--co-radius-2);
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
    margin-top: var(--co-space-2);
    padding: .4rem .6rem;
}

.notification-send-form__grid {
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.notification-send-field {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
}

.notification-send-field--wide {
    grid-column: 1 / -1;
}

.notification-send-field span {
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
}

@media (max-width: 720px) {
    .notification-send-form__grid {
        grid-template-columns: 1fr;
    }
}

/* 분류·업종 정의 commit 실행 패널 폼(OperatorWorkbench CategoryCommitExecutionActionPanel). 택배사 폼 미러. */
.category-write-note {
    margin-top: var(--co-space-3);
}

.category-form__grid {
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.category-field {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
}

.category-field--wide {
    grid-column: 1 / -1;
}

.category-field span {
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
}

.category-checkbox {
    align-items: center;
    display: flex;
    gap: .4rem;
    font-size: .82rem;
    font-weight: 600;
}

.category-checkbox input {
    flex: none;
}

@media (max-width: 720px) {
    .category-form__grid {
        grid-template-columns: 1fr;
    }
}

/* 판매자 심사결정 commit 실행 패널(OperatorWorkbench SellerReviewCommitExecutionActionPanel). 택배사/분류 폼 미러 — 단순화(마스터 속성 폼 없음, 상태전이 표시만). */
.seller-write-note {
    margin-top: var(--co-space-3);
}

.seller-review-form__grid {
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns: 1fr;
}

.seller-review-transition {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
}

.seller-review-transition span {
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
}

/* 주문 이행결정 commit 실행 패널(OperatorWorkbench OrderFulfillmentCommitExecutionActionPanel). 판매자 심사 패널 미러 + 택배사 폼 미러(Ship 전용 송장 입력). 상태전이 5종 + 허용 이전상태 표시. */
.order-fulfillment-form__grid {
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.order-fulfillment-form--ship {
    margin-top: var(--co-space-3);
}

.order-fulfillment-transition {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
}

.order-fulfillment-transition span {
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
}

.order-fulfillment-field {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
}

.order-fulfillment-field span {
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
}

@media (max-width: 720px) {
    .order-fulfillment-form__grid {
        grid-template-columns: 1fr;
    }
}

/* 반품/클레임 처리결정 commit 실행 패널(OperatorWorkbench ReturnClaimCommitExecutionActionPanel). 주문 이행 패널 미러 + 반품 송장 폼(Approve 전용 옵션 송장 입력). 상태전이 4종 + 허용 이전상태 표시. */
.return-claim-form__grid {
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.return-claim-form--ship {
    margin-top: var(--co-space-3);
}

.return-claim-transition {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
}

.return-claim-transition span {
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
}

.return-claim-field {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
}

.return-claim-field span {
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
}

@media (max-width: 720px) {
    .return-claim-form__grid {
        grid-template-columns: 1fr;
    }
}

/* 플랫폼 과금 면제 commit 실행 패널(OperatorWorkbench PlatformChargeWaiveCommitExecutionActionPanel). 반품 처리 패널 미러 → single WAIVE(changeType 셀렉터·송장 폼 없음). 상태전이 표시만(UPDATE-only, Status→WAIVED). financial 경계 — 금액 컬럼 미접근. */
.platform-charge-waive-form__grid {
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.platform-charge-waive-transition {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
}

.platform-charge-waive-transition span {
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
}

@media (max-width: 720px) {
    .platform-charge-waive-form__grid {
        grid-template-columns: 1fr;
    }
}

/* 결제 환불 commit 실행 패널(OperatorWorkbench PaymentRefundCommitExecutionActionPanel). 과금 면제 패널 미러 → single REFUND + 환불 금액 표시/입력(승인 payload 우선). financial 경계 — 원결제 금액 불변·PG키 미접근. */
.payment-refund-form__grid {
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.payment-refund-transition {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
}

.payment-refund-transition span {
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
}

@media (max-width: 720px) {
    .payment-refund-form__grid {
        grid-template-columns: 1fr;
    }
}

/* 정산 처리 commit 실행 패널(OperatorWorkbench SettlementProcessCommitExecutionActionPanel). 결제 환불 패널 미러 → changeType 3-way + 보류사유(승인 payload 우선). financial 경계 — 금액 절대-0·계좌/사업자 미접근. */
.settlement-process-form__grid {
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.settlement-process-transition {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
}

.settlement-process-transition span {
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
}

@media (max-width: 720px) {
    .settlement-process-form__grid {
        grid-template-columns: 1fr;
    }
}

/* 쿠폰 심사결정 commit 실행 패널(OperatorWorkbench CouponReviewCommitExecutionActionPanel). 판매자 심사 패널 미러 — 상태전이 표시만(UPDATE-only). */
.coupon-write-note {
    margin-top: var(--co-space-3);
}

.coupon-review-form__grid {
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns: 1fr;
}

.coupon-review-transition {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
}

.coupon-review-transition span {
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
}

/* 공지 발행 commit 실행 패널(OperatorWorkbench NoticePublishCommitExecutionActionPanel). 쿠폰 심사 패널 미러 — 발행상태 전이 표시만(UPDATE-only 불리언 토글 + soft-delete). */
.notice-publish-write-note {
    margin-top: var(--co-space-3);
}

.notice-publish-form__grid {
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns: 1fr;
}

.notice-publish-transition {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
}

.notice-publish-transition span {
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
}

/* 상품 변경요청 심사결정 commit 실행 패널(OperatorWorkbench ProductChangeReviewCommitExecutionActionPanel). 판매자/쿠폰 심사 패널 미러 — 상태전이 표시만(승인=Posts apply, 거절=RejectionHistory jsonb, apply 세부는 어댑터). */
.product-change-review-write-note {
    margin-top: var(--co-space-3);
}

.product-change-review-form__grid {
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns: 1fr;
}

.product-change-review-transition {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
}

.product-change-review-transition span {
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
}

/* 판매자 프로필 변경요청 심사결정 commit 실행 패널(OperatorWorkbench SellerProfileChangeReviewCommitExecutionActionPanel). 상품 변경요청 심사 패널 미러 — 상태전이 표시만(승인=UserSellers apply·PII 식별 컬럼 제외, 거절=RejectionHistory jsonb, apply/마스킹 세부는 어댑터). */
.seller-profile-change-review-write-note {
    margin-top: var(--co-space-3);
}

.seller-profile-change-review-form__grid {
    display: grid;
    gap: var(--co-space-3);
    grid-template-columns: 1fr;
}

.seller-profile-change-review-transition {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
}

.seller-profile-change-review-transition span {
    color: var(--co-text-soft);
    font-size: .76rem;
    font-weight: 700;
}

@media (max-width: 1180px) {
    .business-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .customer-table-head,
    .order-queue-head,
    .shipping-carrier-head,
    .subscription-table-head,
    .crm-campaign-table-head,
    .platform-campaign-table-head,
    .notification-table-head,
    .landing-page-table-head,
    .ai-usage-service-head {
        display: none;
    }

    .customer-table-row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .order-queue-row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .shipping-carrier-row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .subscription-table-row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .crm-campaign-table-row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .platform-campaign-table-row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .notification-table-row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .landing-page-table-row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .ai-usage-service-row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .customer-table-row span::before,
    .order-queue-row span::before,
    .shipping-carrier-row span::before,
    .subscription-table-row span::before,
    .crm-campaign-table-row span::before,
    .platform-campaign-table-row span::before,
    .notification-table-row span::before,
    .landing-page-table-row span::before,
    .ai-usage-service-row span::before {
        color: var(--co-text-soft);
        content: attr(data-label) ": ";
        font-size: .72rem;
        font-weight: 700;
    }
}

@media (max-width: 720px) {
    .business-card-grid,
    .business-kpi-row,
    .customer-table-row,
    .order-queue-row,
    .shipping-carrier-row,
    .subscription-table-row,
    .crm-campaign-table-row,
    .platform-campaign-table-row,
    .notification-table-row,
    .ai-usage-service-row {
        grid-template-columns: 1fr;
    }
}

/* 운영자 발의 타깃 승인(AgentRuntime) — self-approval UI 가드 경고. 위험 톤(--co-risk-high) 재사용. */
.agent-runtime-origination-approval .origination-self-approval-warning {
    color: var(--co-risk-high);
    font-size: .82rem;
    font-weight: 600;
}

/* ===== NavMenu 2계층 IA — 대표 운영 고정 8 + 접힘 그룹 8 (NavMenu.razor, BEM) =====
   기존 nav-item/nav-link(스코프 CSS)는 그대로 재사용. 여기는 섹션 라벨·구분선·그룹 헤더/칩만. */
.nav-section__label {
    padding: 1rem 1rem 0.25rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
}

.nav-section__divider {
    margin: 0.5rem 1rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.nav-group {
    font-size: 0.9rem;
    padding-bottom: 0.25rem;
}

.nav-group__header {
    appearance: none;
    background: none;
    border: none;
    border-radius: 4px;
    color: #d7d7d7;
    cursor: pointer;
    display: flex;
    align-items: center;
    height: 2.75rem;
    width: calc(100% - 2rem);
    margin: 0 1rem;
    padding: 0 0.5rem;
    text-align: left;
    font-size: inherit;
}

.nav-group__header:hover,
.nav-group__header:focus-visible {
    background-color: rgba(255, 255, 255, 0.1);
    color: white;
}

.nav-group__chevron {
    display: inline-block;
    flex-shrink: 0;
    width: 0.45rem;
    height: 0.45rem;
    margin-right: 0.75rem;
    border-right: 2px solid rgba(255, 255, 255, 0.55);
    border-bottom: 2px solid rgba(255, 255, 255, 0.55);
    transform: rotate(-45deg); /* 접힘 = 오른쪽 화살표 */
    transition: transform 0.15s ease; /* transition: all 금지 — transform 한정 */
}

.nav-group__chevron--open {
    transform: rotate(45deg); /* 펼침 = 아래 화살표 */
}

.nav-group__items {
    padding-left: 0.9rem; /* 자식 항목 들여쓰기(기존 nav-item px-3 위에 가산) */
}
