/* 独立测试页：组织泳道矩阵（不依赖 ceo-report-panorama） */
html {
    scroll-behavior: auto;
    overflow-x: auto;
    overflow-y: auto;
}

body.org-swimlane-test-body {
    margin: 0;
    min-height: 100vh;
    background: #0a0a0a;
    color: #e2e8f0;
    font-family: 'Noto Sans SC', system-ui, sans-serif;
    padding: 0;
    box-sizing: border-box;
}

/* 与 index #section-3 泳道章：相对定位 + 垂直留白 */
.org-swimlane-test-page {
    position: relative;
    min-height: 100vh;
    padding: 2.5rem 0 3rem;
    box-sizing: border-box;
}

/* 纯色底，避免 index 泳道章那种「中间偏亮」的纵向渐变在测试页形成光斑 */
.org-swimlane-test-page-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: #0a0a0a;
}

/* 对齐 index：relative z-10 w-full max-w-7xl mx-auto px-4 md:px-6 */
.org-swimlane-test-frame {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 80rem; /* max-w-7xl */
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .org-swimlane-test-frame {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

.org-swimlane-test-header {
    max-width: 100%;
    margin: 0 auto 1.5rem;
    text-align: center;
}

/* 平台筛选条 + 全展示（对齐 index 泳道交互） */
.org-swimlane-platform-bar {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
    margin: 0 0 1.5rem;
}

.org-swimlane-platform-bar .org-swimlane-platform-chip {
    font-family: inherit;
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    /* 对齐 index + Tailwind：px-4 py-2 rounded-xl text-sm font-medium */
    padding: 0.5rem 1rem;
    border-radius: 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.25rem;
    white-space: nowrap;
    border-width: 1px;
    border-style: solid;
    text-align: center;
    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        border-color 0.22s ease,
        filter 0.22s ease;
}

.org-swimlane-platform-bar .org-swimlane-platform-chip:hover {
    transform: translateY(-1px);
    filter: brightness(1.06);
}

.org-swimlane-platform-bar .org-swimlane-platform-chip.org-pf-btn-active {
    --org-pf-r: 102;
    --org-pf-g: 126;
    --org-pf-b: 234;
    transform: translateY(-0.5px) scale(1.015);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        0 0 0 1px rgba(0, 0, 0, 0.45),
        0 4px 22px rgba(var(--org-pf-r), var(--org-pf-g), var(--org-pf-b), 0.38) !important;
    border-color: rgba(var(--org-pf-r), var(--org-pf-g), var(--org-pf-b), 0.55) !important;
    filter: none;
}

.org-swimlane-platform-bar .org-swimlane-platform-chip.org-focus-chip-lit {
    transform: translateY(-0.5px) scale(1.015);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.14),
        0 0 0 1px rgba(255, 255, 255, 0.12),
        0 4px 22px currentColor !important;
    filter: brightness(1.08);
}

.org-swimlane-focus-svg {
    position: fixed;
    inset: 0;
    z-index: 30;
    pointer-events: none;
    overflow: visible;
    opacity: 0;
    transition: opacity 0.18s ease;
}

.org-swimlane-focus-svg.is-active {
    opacity: 1;
}

.org-swimlane-focus-svg path {
    fill: none;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: 0.94;
    filter: drop-shadow(0 0 8px currentColor);
    transition: opacity 0.22s ease, stroke-width 0.22s ease, filter 0.22s ease;
}

.org-swimlane-focus-svg path.path-lit {
    opacity: 1;
    stroke-width: 2.8;
    filter: drop-shadow(0 0 9px currentColor);
}

/* 「展示全部」固定时：单元格 → 顶部平台 chip 的批量关联线（置于单点聚焦线之下） */
.org-swimlane-pf-all-lines-svg {
    z-index: 26;
}

.org-swimlane-pf-all-lines-svg path.path-pf-all {
    stroke-width: 1.2;
    opacity: 0.4;
    filter: drop-shadow(0 0 4px currentColor);
}

.org-swimlane-focus-box {
    position: fixed;
    z-index: 31;
    pointer-events: none;
    opacity: 0;
    border: 2.5px solid rgba(var(--org-focus-r, 56), var(--org-focus-g, 189), var(--org-focus-b, 248), 0.98);
    box-shadow:
        0 0 0 1px rgba(var(--org-focus-r, 56), var(--org-focus-g, 189), var(--org-focus-b, 248), 0.14),
        0 0 16px rgba(var(--org-focus-r, 56), var(--org-focus-g, 189), var(--org-focus-b, 248), 0.42),
        inset 0 0 14px rgba(var(--org-focus-r, 56), var(--org-focus-g, 189), var(--org-focus-b, 248), 0.18);
    filter:
        drop-shadow(0 0 6px rgba(var(--org-focus-r, 56), var(--org-focus-g, 189), var(--org-focus-b, 248), 0.68))
        drop-shadow(0 0 14px rgba(var(--org-focus-r, 56), var(--org-focus-g, 189), var(--org-focus-b, 248), 0.28));
    transition: opacity 0.18s ease, left 0.12s ease, top 0.12s ease, width 0.12s ease, height 0.12s ease;
}

.org-swimlane-focus-box.is-active {
    opacity: 1;
}

@media (max-width: 640px) {
    .org-swimlane-platform-bar .org-swimlane-platform-chip {
        padding: 6px 10px;
        font-size: 11px;
    }
}

/* 矩阵平台筛选：与 index 数值对齐；三色拆分变量避免 rgba(var(--单变量三连数), a) 在部分环境下整段失效 */
#org-swimlane-root.is-org-platform-filter.org-swimlane-shell {
    transition: box-shadow 0.28s ease, border-color 0.28s ease;
    border-radius: 12px;
    border-color: rgba(var(--org-pf-r), var(--org-pf-g), var(--org-pf-b), 0.28);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 0 0 1px rgba(var(--org-pf-r), var(--org-pf-g), var(--org-pf-b), 0.18),
        0 18px 56px rgba(0, 0, 0, 0.45),
        0 0 40px rgba(var(--org-pf-r), var(--org-pf-g), var(--org-pf-b), 0.12);
}

#org-swimlane-root.is-org-platform-filter {
    --org-pf-r: 102;
    --org-pf-g: 126;
    --org-pf-b: 234;
}

#org-swimlane-root.is-org-platform-filter .org-swimlane-th--leaf,
#org-swimlane-root.is-org-platform-filter .org-swimlane-phase-col {
    opacity: 0.42;
    transition: opacity 0.22s ease;
}

#org-swimlane-root.is-org-platform-filter .org-swimlane-th--corner {
    opacity: 0.55;
    transition: opacity 0.22s ease;
}

#org-swimlane-root.is-org-platform-filter .org-swimlane-td--org {
    opacity: 0.42;
    transition: opacity 0.22s ease;
}

#org-swimlane-root.is-org-platform-filter table .org-swimlane-td--cell {
    transition:
        opacity 0.22s ease,
        background 0.22s ease,
        color 0.22s ease,
        box-shadow 0.22s ease,
        border-color 0.22s ease,
        filter 0.22s ease;
}

/* 与 panorama 中 .swimlane-cell.pf-match 同参（角标、渐变、阴影） */
#org-swimlane-root.is-org-platform-filter table .org-swimlane-td--cell.org-pf-match {
    position: relative;
    z-index: 2;
    color: #f1f5f9 !important;
    font-weight: 500;
    border-color: rgba(var(--org-pf-r), var(--org-pf-g), var(--org-pf-b), 0.48) !important;
    background: linear-gradient(
            155deg,
            rgba(var(--org-pf-r), var(--org-pf-g), var(--org-pf-b), 0.26) 0%,
            rgba(15, 23, 42, 0.78) 42%,
            rgba(6, 10, 22, 0.94) 100%
        )
        !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.14),
        0 0 0 1px rgba(0, 0, 0, 0.5),
        0 4px 28px rgba(var(--org-pf-r), var(--org-pf-g), var(--org-pf-b), 0.24) !important;
    outline: none;
    transform: none;
    filter: none;
}

#org-swimlane-root.is-org-platform-filter table .org-swimlane-td--cell.org-pf-match::before {
    content: '';
    position: absolute;
    top: 5px;
    left: 5px;
    width: 11px;
    height: 11px;
    border-top: 2px solid rgba(var(--org-pf-r), var(--org-pf-g), var(--org-pf-b), 0.9);
    border-left: 2px solid rgba(var(--org-pf-r), var(--org-pf-g), var(--org-pf-b), 0.9);
    pointer-events: none;
    z-index: 1;
    filter: none;
}

#org-swimlane-root.is-org-platform-filter table .org-swimlane-td--cell.org-pf-match::after {
    content: '';
    position: absolute;
    bottom: 5px;
    right: 5px;
    width: 11px;
    height: 11px;
    border-bottom: 2px solid rgba(var(--org-pf-r), var(--org-pf-g), var(--org-pf-b), 0.75);
    border-right: 2px solid rgba(var(--org-pf-r), var(--org-pf-g), var(--org-pf-b), 0.75);
    pointer-events: none;
    z-index: 1;
    filter: none;
}

/* 全展示：多平台共列 — 显式 rgba 叠在 --org-pf-multi-bg 上；不用 plus-lighter，避免整格被混成灰白 */
#org-swimlane-root.is-org-platform-filter table .org-swimlane-td--cell.org-pf-match[data-org-pf-multi='1'] {
    background:
        var(--org-pf-multi-bg),
        linear-gradient(
            155deg,
            rgba(var(--org-pf-r), var(--org-pf-g), var(--org-pf-b), 0.12) 0%,
            rgba(15, 23, 42, 0.78) 42%,
            rgba(6, 10, 22, 0.94) 100%
        ) !important;
    border-color: rgba(var(--org-pf-r), var(--org-pf-g), var(--org-pf-b), 0.48) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.14),
        0 0 0 1px rgba(0, 0, 0, 0.5),
        0 4px 28px rgba(var(--org-pf-r), var(--org-pf-g), var(--org-pf-b), 0.24) !important;
}

/* 与 panorama .swimlane-cell.pf-dim 一致 */
#org-swimlane-root.is-org-platform-filter table .org-swimlane-td--cell.org-pf-dim {
    opacity: 0.2 !important;
    filter: saturate(0.2) brightness(0.88);
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.05) !important;
    box-shadow: none !important;
    transform: none;
    outline: none;
}

#org-swimlane-root.is-org-platform-filter .org-pf-flow-arrow {
    position: absolute;
    right: -8px;
    top: 50%;
    z-index: 4;
    width: 0;
    height: 0;
    margin-top: 0;
    transform: translateY(-50%);
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 6px solid rgba(var(--org-pf-r), var(--org-pf-g), var(--org-pf-b), 0.55);
    filter: none;
    pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
    .org-swimlane-platform-bar .org-swimlane-platform-chip,
    .org-swimlane-focus-svg,
    .org-swimlane-focus-box,
    .org-swimlane-focus-svg path,
    #org-swimlane-root.is-org-platform-filter.org-swimlane-shell,
    #org-swimlane-root.is-org-platform-filter table .org-swimlane-td--cell,
    #org-swimlane-root.is-org-platform-filter .org-swimlane-th--leaf,
    #org-swimlane-root.is-org-platform-filter .org-swimlane-phase-col,
    #org-swimlane-root.is-org-platform-filter .org-swimlane-th--corner,
    #org-swimlane-root.is-org-platform-filter .org-swimlane-td--org {
        transition: none !important;
    }

    .org-swimlane-platform-bar .org-swimlane-platform-chip:hover,
    .org-swimlane-platform-bar .org-swimlane-platform-chip.org-focus-chip-lit,
    #org-swimlane-root.is-org-platform-filter table .org-swimlane-td--cell.org-pf-match,
    #org-swimlane-root.is-org-platform-filter table .org-swimlane-td--cell.org-pf-dim {
        transform: none !important;
    }

    .org-swimlane-focus-svg path {
        filter: none !important;
    }

    .org-swimlane-pf-all-lines-svg path.path-pf-all {
        filter: none !important;
    }

    .org-swimlane-focus-box {
        filter: none !important;
    }
}

/* 六大系统模式（product5）：未映射业务场景列 */
@keyframes org-scenario-gap-pulse {
    0%,
    100% {
        box-shadow:
            inset 0 0 0 1px rgba(251, 146, 60, 0.55),
            0 0 14px rgba(234, 88, 12, 0.28);
    }
    50% {
        box-shadow:
            inset 0 0 0 1px rgba(254, 215, 170, 0.75),
            0 0 22px rgba(234, 88, 12, 0.48);
    }
}

.org-swimlane-th--leaf.org-scenario-gap,
.org-swimlane-phase-col.org-scenario-gap {
    background: rgba(234, 88, 12, 0.42) !important;
    color: #fffbeb !important;
    border-color: rgba(251, 146, 60, 0.95) !important;
    animation: org-scenario-gap-pulse 2.2s ease-in-out infinite;
}

.org-swimlane-td--cell.org-scenario-gap {
    box-shadow: inset 5px 0 0 0 #ea580c, inset 0 0 0 1px rgba(251, 146, 60, 0.22);
    background: rgba(127, 29, 29, 0.14);
}

#org-swimlane-root.is-org-platform-filter .org-swimlane-th--leaf.org-scenario-gap,
#org-swimlane-root.is-org-platform-filter .org-swimlane-phase-col.org-scenario-gap {
    opacity: 1 !important;
    filter: none !important;
}

#org-swimlane-root.is-org-platform-filter table .org-swimlane-td--cell.org-scenario-gap {
    opacity: 1 !important;
    filter: none !important;
    background: rgba(127, 29, 29, 0.18) !important;
    border-color: rgba(251, 146, 60, 0.35) !important;
}

#org-swimlane-root.is-org-platform-filter table .org-swimlane-td--cell.org-pf-gap-showall {
    position: relative;
    z-index: 2;
    opacity: 1 !important;
    filter: none !important;
    color: #fff7ed !important;
    font-weight: 500;
    border-color: rgba(251, 146, 60, 0.55) !important;
    background: linear-gradient(
            155deg,
            rgba(234, 88, 12, 0.32) 0%,
            rgba(15, 23, 42, 0.82) 48%,
            rgba(6, 10, 22, 0.94) 100%
        )
        !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.1),
        0 0 0 1px rgba(0, 0, 0, 0.45),
        0 4px 24px rgba(234, 88, 12, 0.28) !important;
}

@media (prefers-reduced-motion: reduce) {
    .org-swimlane-th--leaf.org-scenario-gap,
    .org-swimlane-phase-col.org-scenario-gap {
        animation: none !important;
    }
}

.org-swimlane-test-header h1 {
    font-size: 1.5rem;
    font-weight: 800;
    margin: 0 0 0.5rem;
    line-height: 1.2;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

@media (min-width: 768px) {
    .org-swimlane-test-header h1 {
        font-size: 2.25rem; /* md:text-4xl 量级 */
    }
}

/* 与 index `.glass-card.rounded-2xl` 一致；矩阵按内容宽度居中 */
.org-swimlane-glass-wrap {
    background: rgba(255, 255, 255, 0.045);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 1rem; /* rounded-2xl */
    padding: 1rem;
    overflow-x: auto;
    box-sizing: border-box;
    text-align: center;
}

.org-swimlane-glass-wrap .org-swimlane-shell {
    display: inline-block;
    width: max-content;
    max-width: 100%;
    text-align: left;
    vertical-align: top;
}

@media (min-width: 768px) {
    .org-swimlane-glass-wrap {
        padding: 1.5rem;
    }
}

.org-swimlane-test-header p {
    margin: 0;
    font-size: 0.875rem;
    color: #94a3b8;
}

.org-swimlane-test-lead {
    max-width: 52rem;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.55;
}

.org-swimlane-test-docref {
    max-width: 52rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0.65rem;
    line-height: 1.55;
    font-size: 0.8125rem;
    color: #8899aa;
}

.org-swimlane-test-docref a {
    color: #a78bfa;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.org-swimlane-test-docref a:hover {
    color: #c4b5fd;
}

.org-swimlane-test-nav {
    margin-top: 0.75rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
}

.org-swimlane-test-nav a {
    color: #a78bfa;
    font-size: 0.875rem;
    text-decoration: underline;
}

/* 矩阵容器：视觉由外层 .org-swimlane-glass-wrap 承担；在 glass 内由 .org-swimlane-glass-wrap .org-swimlane-shell 收窄居中 */
.org-swimlane-shell {
    width: 100%;
    max-width: none;
    margin: 0;
    overflow: visible;
    max-height: none;
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: none;
    border-radius: 0;
    padding: 0;
    box-sizing: border-box;
}

.org-swimlane-table.org-swimlane-table--wide {
    width: max-content;
    min-width: 0;
    border-collapse: separate;
    border-spacing: 1px;
    table-layout: auto;
    font-size: 11px;
    --org-col1-w: 7rem;
    /* 与 index .swimlane-container 网格底一致 */
    background: rgba(255, 255, 255, 0.05);
}

/* 各阶段子表头全部为空时不再渲染第二行表头，大阶段列与表体直连 */
.org-swimlane-table--no-subheader .org-swimlane-th--phase-only {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* 四角圆角（与 index .swimlane-container 12px 一致）；不用祖先 overflow:hidden，避免左侧 sticky 组织列失效 */
.org-swimlane-tr--head-main > th:last-child {
    border-top-right-radius: 12px;
}

.org-swimlane-td--table-corner-bl {
    border-bottom-left-radius: 12px;
}

.org-swimlane-tr--body:last-child .org-swimlane-td--cell:last-child {
    border-bottom-right-radius: 12px;
}

.org-swimlane-th,
.org-swimlane-td {
    border: none;
    padding: 0;
    vertical-align: middle;
}

.org-swimlane-th--corner,
.org-swimlane-td--org {
    position: sticky;
    text-align: left;
    background-clip: padding-box;
}

.org-swimlane-th--corner.org-swimlane-th--org-col1,
.org-swimlane-td--org.org-swimlane-td--org-col1 {
    left: 0;
}

.org-swimlane-th--corner.org-swimlane-th--org-col2,
.org-swimlane-td--org.org-swimlane-td--org-col2 {
    left: var(--org-col1-w, 7rem);
    box-shadow: -8px 0 14px -10px rgba(0, 0, 0, 0.55);
}

.org-swimlane-th--corner.org-swimlane-th--org-col1 {
    z-index: 9;
    min-width: var(--org-col1-w, 7rem);
    width: var(--org-col1-w, 7rem);
    max-width: var(--org-col1-w, 7rem);
    padding: 8px 6px;
    font-size: 11px;
    font-weight: 600;
    color: #fff;
    background: rgba(102, 126, 234, 0.15);
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    vertical-align: middle;
    border-top-left-radius: 12px;
}

.org-swimlane-th--corner.org-swimlane-th--org-col2 {
    z-index: 8;
    min-width: 6.5rem;
    max-width: 11rem;
    padding: 8px 6px;
    font-size: 11px;
    font-weight: 600;
    color: #fff;
    background: rgba(102, 126, 234, 0.15);
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    vertical-align: middle;
}

.org-swimlane-phase-col {
    padding: 10px 6px;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    background: rgba(102, 126, 234, 0.15);
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    cursor: pointer;
}

.org-swimlane-th--leaf {
    min-width: 4.25rem;
    max-width: none;
    padding: 8px 6px;
    font-size: 10px;
    font-weight: 600;
    color: #c4b5fd;
    text-align: center;
    line-height: 1.25;
    overflow: visible;
    white-space: nowrap;
    background: rgba(102, 126, 234, 0.1);
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    cursor: pointer;
}

/* 组织 / 部门角头：不参与列聚焦点击，不显示手型 */
.org-swimlane-th--corner.org-swimlane-th--org-col1,
.org-swimlane-th--corner.org-swimlane-th--org-col2 {
    cursor: default;
}

/* 业务列头点击 → 整列高亮（由 #org-swimlane-root.is-org-col-focus 驱动） */
#org-swimlane-root.is-org-col-focus .org-swimlane-table th.org-col-focus-dim,
#org-swimlane-root.is-org-col-focus .org-swimlane-table td.org-col-focus-dim {
    opacity: 0.4;
    transition: opacity 0.18s ease;
}

#org-swimlane-root.is-org-col-focus .org-swimlane-table th.org-col-focus-lit,
#org-swimlane-root.is-org-col-focus .org-swimlane-table td.org-col-focus-lit {
    opacity: 1;
    outline: 2px solid rgba(var(--org-focus-r, 56), var(--org-focus-g, 189), var(--org-focus-b, 248), 0.78);
    outline-offset: -1px;
    box-shadow:
        inset 0 0 0 1px rgba(var(--org-focus-r, 56), var(--org-focus-g, 189), var(--org-focus-b, 248), 0.36),
        0 0 18px rgba(var(--org-focus-r, 56), var(--org-focus-g, 189), var(--org-focus-b, 248), 0.24);
    transition: box-shadow 0.18s ease, outline-color 0.18s ease;
    position: relative;
    z-index: 2;
}

#org-swimlane-root.is-org-col-focus .org-swimlane-table td.org-swimlane-td--org.org-col-focus-lit {
    position: sticky;
}

#org-swimlane-root.is-org-col-focus .org-swimlane-table td.org-swimlane-td--org-col1.org-col-focus-lit {
    left: 0;
    z-index: 7;
}

#org-swimlane-root.is-org-col-focus .org-swimlane-table td.org-swimlane-td--org-col2.org-col-focus-lit {
    left: var(--org-col1-w, 7rem);
    z-index: 6;
}

/* 列头点击：只标选中列外边框，不逐格发光。业务格/组织/部门点击仍沿用上面的块级高亮。 */
#org-swimlane-root.is-org-col-border-focus .org-swimlane-table th.org-col-focus-lit,
#org-swimlane-root.is-org-col-border-focus .org-swimlane-table td.org-col-focus-lit {
    outline: none;
    box-shadow: none;
    background-color: inherit;
    position: relative;
    z-index: 3;
}

/* 组织/部门点击：与列头一致，只显示一个连续大框，内部格不做小框特效。 */
#org-swimlane-root.is-org-aggregate-box-focus .org-swimlane-table th.org-col-focus-lit,
#org-swimlane-root.is-org-aggregate-box-focus .org-swimlane-table td.org-col-focus-lit {
    outline: none;
    box-shadow: none;
}

.org-swimlane-td--org {
    padding: 8px 6px;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.35;
    color: #a0a0a0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    background: rgba(255, 255, 255, 0.03);
    border-right: 1px solid rgba(255, 255, 255, 0.05);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    cursor: pointer;
}

.org-swimlane-td--cell.org-swimlane-td--empty {
    cursor: default;
}

.org-swimlane-td--org.org-swimlane-td--org-col1 {
    z-index: 6;
    min-width: var(--org-col1-w, 7rem);
    width: var(--org-col1-w, 7rem);
    max-width: var(--org-col1-w, 7rem);
}

.org-swimlane-td--org.org-swimlane-td--org-col2 {
    z-index: 5;
    min-width: 6.5rem;
    max-width: 11rem;
    vertical-align: middle;
}

.org-stripe-0 .org-swimlane-td--org {
    color: #a78bfa;
    background: rgba(255, 255, 255, 0.03);
}
.org-stripe-1 .org-swimlane-td--org {
    color: #60a5fa;
    background: rgba(255, 255, 255, 0.03);
}
.org-stripe-2 .org-swimlane-td--org {
    color: #34d399;
    background: rgba(255, 255, 255, 0.03);
}
.org-stripe-3 .org-swimlane-td--org {
    color: #fbbf24;
    background: rgba(255, 255, 255, 0.03);
}
.org-stripe-4 .org-swimlane-td--org {
    color: #93c5fd;
    background: rgba(255, 255, 255, 0.03);
}
.org-stripe-5 .org-swimlane-td--org {
    color: #22d3ee;
    background: rgba(255, 255, 255, 0.03);
}
.org-stripe-6 .org-swimlane-td--org {
    color: #fb923c;
    background: rgba(255, 255, 255, 0.03);
}
.org-stripe-7 .org-swimlane-td--org {
    color: #c084fc;
    background: rgba(255, 255, 255, 0.03);
}

.org-swimlane-td--cell {
    position: relative;
    min-width: 4rem;
    max-width: none;
    padding: 8px 6px;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.4;
    color: #d0d0d0;
    text-align: center;
    overflow: visible;
    white-space: nowrap;
    /* 与 index .swimlane-cell 默认态一致，无 inset 顶边「玻璃高光」 */
    background: rgba(255, 255, 255, 0.08);
    border-right: 1px solid rgba(255, 255, 255, 0.05);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* 与 2 页标题同字号，但不套用 Sheet1 全屏大框（1 为 Sheet2 窄表，仍用默认 frame + glass） */
body.org-swimlane-test--hero-title .org-swimlane-test-header {
    margin-bottom: 0.45rem;
}

body.org-swimlane-test--hero-title .org-swimlane-test-header h1 {
    margin-bottom: 0;
    font-size: clamp(1.35rem, 3.2vw, 2rem);
}

body.org-swimlane-test--hero-title .org-swimlane-platform-bar {
    margin-bottom: 2.25rem;
}

/* ========== 2.html（Sheet1）：全高一屏、大宽 frame、表格区 flex ========== */
body.org-swimlane-test--sheet1 .org-swimlane-test-page {
    padding: 0.65rem 0 0.75rem;
    min-height: 100vh;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

body.org-swimlane-test--sheet1 .org-swimlane-test-frame.org-swimlane-test-frame--sheet1-fill {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    max-width: min(120rem, calc(100vw - 1.25rem));
    width: 100%;
}

body.org-swimlane-test--sheet1 .org-swimlane-test-header {
    margin-bottom: 0.45rem;
    flex-shrink: 0;
}

body.org-swimlane-test--sheet1 .org-swimlane-test-header h1 {
    margin-bottom: 0;
    font-size: clamp(1.35rem, 3.2vw, 2rem);
}

body.org-swimlane-test--sheet1 .org-swimlane-platform-bar {
    margin-bottom: 2.25rem;
    flex-shrink: 0;
}

body.org-swimlane-test--sheet1 .org-swimlane-glass-wrap.org-swimlane-glass-wrap--sheet1 {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 0.65rem 0.85rem;
}

@media (min-width: 768px) {
    body.org-swimlane-test--sheet1 .org-swimlane-glass-wrap.org-swimlane-glass-wrap--sheet1 {
        padding: 0.85rem 1.1rem;
    }
}

/* 略收紧行高与内边距，提高「一屏装下」概率；仍不足时由 min-height 内滚动查看 */
body.org-swimlane-test--sheet1 .org-swimlane-table.org-swimlane-table--wide {
    font-size: 11px;
}

body.org-swimlane-test--sheet1 .org-swimlane-th--corner {
    padding: 8px 8px;
    font-size: 12px;
    line-height: 1.3;
}

body.org-swimlane-test--sheet1 .org-swimlane-phase-col {
    padding: 8px 6px;
    font-size: 12px;
    line-height: 1.25;
}

body.org-swimlane-test--sheet1 .org-swimlane-th--leaf {
    padding: 6px 5px;
    font-size: 10px;
    line-height: 1.2;
}

body.org-swimlane-test--sheet1 .org-swimlane-td--org {
    padding: 8px 8px;
    font-size: 11px;
    line-height: 1.3;
}

body.org-swimlane-test--sheet1 .org-swimlane-td--cell {
    padding: 6px 5px;
    font-size: 10px;
    line-height: 1.3;
}

/* ---------- 祖医堂泳道页（1 / 2，body 带 data-org-platform-mode="product5"）----------
   背景框随业务全景（表格）宽度收缩；玻璃内边距四边一致；页面外边距上下左右一致 */
body.org-swimlane-test-body[data-org-platform-mode="product5"] .org-swimlane-test-page {
    padding: clamp(1rem, 2.5vw, 1.75rem);
    box-sizing: border-box;
}

body.org-swimlane-test-body[data-org-platform-mode="product5"] .org-swimlane-glass-wrap {
    width: fit-content;
    width: -moz-fit-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: clamp(0.875rem, 1.5vw, 1.25rem);
    text-align: left;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    body.org-swimlane-test-body[data-org-platform-mode="product5"] .org-swimlane-glass-wrap {
        padding: clamp(0.875rem, 1.5vw, 1.25rem);
    }
}

/* Sheet1：不再用 flex 撑满剩余高度，避免框内上下空白不均；内边距与窄页统一为四边相同 */
body.org-swimlane-test-body[data-org-platform-mode="product5"] .org-swimlane-glass-wrap.org-swimlane-glass-wrap--sheet1 {
    flex: 0 1 auto;
    align-self: center;
    width: fit-content;
    width: -moz-fit-content;
    max-width: 100%;
    min-height: 0;
    padding: clamp(0.875rem, 1.5vw, 1.25rem);
}

@media (min-width: 768px) {
    body.org-swimlane-test-body[data-org-platform-mode="product5"] .org-swimlane-glass-wrap.org-swimlane-glass-wrap--sheet1 {
        padding: clamp(0.875rem, 1.5vw, 1.25rem);
    }
}

/* ========== 1.html · CEO 汇报（body.org-swimlane-test--ceo）==========
   暗底轻晕 + 标题略放大；系统条无外框；矩阵外轻量玻璃框；全景宽约原先的 3/4；系统条单行不换行（窄屏横滑） */
body.org-swimlane-test-body.org-swimlane-test--ceo {
    /* 全景宽约原先的 3/4：顶 cap 与视口可用宽同比例缩小 */
    --ceo-panorama-max: min(69rem, calc(0.75 * (100vw - clamp(2.5rem, 7vw, 5.5rem))));
}

/* Sheet2（1.html）：保持原 3/4 全景宽度，内容卡片铺满该全景宽度 */
body.org-swimlane-test-body.org-swimlane-test--ceo.org-swimlane-page--sheet2 {
    --ceo-panorama-max: min(69rem, calc(0.75 * (100vw - clamp(2.5rem, 7vw, 5.5rem))));
}

body.org-swimlane-test--ceo.org-swimlane-page--sheet2 .org-swimlane-test-frame--ceo {
    max-width: min(72rem, calc(100vw - 1.25rem));
}

body.org-swimlane-test--ceo.org-swimlane-page--sheet2 .org-swimlane-ceo-panorama-anchor {
    width: 100%;
    max-width: min(100%, var(--ceo-panorama-max, min(69rem, calc(0.75 * (100vw - 5.5rem)))));
}

body.org-swimlane-test-body.org-swimlane-test--ceo.org-swimlane-page--sheet2[data-org-platform-mode="product5"] .org-swimlane-ceo-panorama-anchor .org-swimlane-glass-wrap {
    width: 100%;
    max-width: var(--ceo-panorama-max, min(69rem, calc(0.75 * (100vw - 5.5rem))));
}

body.org-swimlane-test--ceo .org-swimlane-test-page-bg {
    background:
        radial-gradient(ellipse 88% 72% at 50% 32%, rgba(49, 46, 129, 0.28) 0%, transparent 55%),
        radial-gradient(ellipse 120% 80% at 50% 108%, rgba(15, 23, 42, 0.65) 0%, transparent 42%),
        #0a0a0a;
}

body.org-swimlane-test-body.org-swimlane-test--ceo[data-org-platform-mode="product5"] .org-swimlane-test-page {
    padding: clamp(1rem, 2.5vw, 1.75rem) clamp(0.75rem, 2vw, 1.25rem);
}

body.org-swimlane-test--ceo .org-swimlane-test-frame--ceo {
    max-width: min(72rem, calc(100vw - 1.25rem));
}

body.org-swimlane-test--ceo .org-swimlane-test-header--ceo {
    margin-bottom: 0.65rem;
}

body.org-swimlane-test--ceo .org-swimlane-test-header--ceo h1 {
    font-size: clamp(1.55rem, 3.8vw, 2.4rem);
    letter-spacing: -0.025em;
    line-height: 1.12;
}

body.org-swimlane-test--ceo .org-swimlane-platform-bar {
    padding: 0.85rem 0.35rem 0.95rem;
    margin-bottom: clamp(2rem, 4vh, 2.75rem);
    margin-left: auto;
    margin-right: auto;
    width: max-content;
    max-width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
    border-radius: 0;
    background: transparent;
    border: none;
    box-shadow: none;
    gap: clamp(0.65rem, 1.8vw, 1.35rem);
}

@media (min-width: 1024px) {
    body.org-swimlane-test--ceo .org-swimlane-platform-bar {
        gap: clamp(0.85rem, 2.2vw, 1.85rem);
    }

    body.org-swimlane-test--ceo .org-swimlane-platform-bar .org-swimlane-platform-chip {
        padding: 0.55rem 1.2rem;
        font-size: 0.9375rem;
    }
}

/* 「全展示」与六大系统筛选同一行：不换行、不被压扁（窄屏整条可横滑） */
body.org-swimlane-test--ceo .org-swimlane-platform-bar .org-swimlane-platform-chip {
    flex-shrink: 0;
}

body.org-swimlane-test--ceo .org-swimlane-platform-bar .org-swimlane-platform-chip--all {
    white-space: nowrap;
}

body.org-swimlane-test--ceo .org-swimlane-platform-bar .org-swimlane-platform-chip--show-all {
    white-space: nowrap;
    font-weight: 700;
    letter-spacing: 0.04em;
}

body.org-swimlane-test--ceo .org-swimlane-platform-bar .org-swimlane-platform-chip--show-all.org-pf-btn-active {
    border-color: rgba(167, 139, 250, 0.75) !important;
    box-shadow: 0 0 0 1px rgba(129, 140, 248, 0.35), 0 4px 18px rgba(129, 140, 248, 0.2);
}

body.org-swimlane-test--ceo .org-swimlane-platform-bar .org-swimlane-platform-chip:focus-visible {
    outline: 2px solid rgba(167, 139, 250, 0.85);
    outline-offset: 3px;
}

/* CEO：全景宽度保持原样；左侧「系统 ↔ 一级模块」绝对定位在矩阵左侧，无背景框 */
body.org-swimlane-test--ceo .org-swimlane-ceo-panorama-anchor {
    position: relative;
    display: block;
    width: max-content;
    max-width: min(100%, var(--ceo-panorama-max, min(69rem, calc(0.75 * (100vw - 5.5rem)))));
    margin-top: clamp(1.35rem, 7vh, 5rem);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint {
    position: absolute;
    z-index: 2;
    top: clamp(-1.15rem, -2.85vh, -2.4rem);
    right: 100%;
    margin-right: clamp(0.65rem, 1.4vw, 1.15rem);
    width: min(13.25rem, 31vw);
    max-width: min(13.25rem, 31vw);
    box-sizing: border-box;
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.28s ease,
        visibility 0.28s ease,
        filter 0.28s ease;
    /* 与当前系统色联动（由 JS 写入 data-pf-hint-system） */
    --pf-hint-a: #818cf8;
    --pf-hint-a-mid: rgba(129, 140, 248, 0.38);
    --pf-hint-a-soft: rgba(129, 140, 248, 0.14);
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='growth'] {
    --pf-hint-a: #38bdf8;
    --pf-hint-a-mid: rgba(56, 189, 248, 0.42);
    --pf-hint-a-soft: rgba(56, 189, 248, 0.14);
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='content'] {
    --pf-hint-a: #a855f7;
    --pf-hint-a-mid: rgba(168, 85, 247, 0.42);
    --pf-hint-a-soft: rgba(147, 51, 234, 0.14);
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='supply'] {
    --pf-hint-a: #34d399;
    --pf-hint-a-mid: rgba(52, 211, 153, 0.4);
    --pf-hint-a-soft: rgba(52, 211, 153, 0.14);
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='finance'] {
    --pf-hint-a: #fcd34d;
    --pf-hint-a-mid: rgba(253, 224, 71, 0.4);
    --pf-hint-a-soft: rgba(250, 204, 21, 0.14);
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='risk'] {
    --pf-hint-a: #f87171;
    --pf-hint-a-mid: rgba(248, 113, 113, 0.42);
    --pf-hint-a-soft: rgba(220, 38, 38, 0.14);
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='org'] {
    --pf-hint-a: #3b82f6;
    --pf-hint-a-mid: rgba(59, 130, 246, 0.42);
    --pf-hint-a-soft: rgba(59, 130, 246, 0.14);
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='all'] {
    --pf-hint-a: #818cf8;
    --pf-hint-a-mid: rgba(129, 140, 248, 0.45);
    --pf-hint-a-soft: rgba(129, 140, 248, 0.16);
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='multi'] {
    --pf-hint-a: #818cf8;
    --pf-hint-a-mid: rgba(129, 140, 248, 0.45);
    --pf-hint-a-soft: rgba(129, 140, 248, 0.16);
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint--visible {
    opacity: 1;
    visibility: visible;
    filter: drop-shadow(0 0 1px rgba(0, 0, 0, 0.6));
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint:not(.org-swimlane-pf-hint--visible) {
    pointer-events: none;
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint__inner {
    position: relative;
    max-height: min(78vh, 36rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    border-radius: 0.9rem;
    padding: 0;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint__inner::-webkit-scrollbar {
    width: 0;
    height: 0;
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='all'] .org-swimlane-pf-hint__inner,
body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='multi'] .org-swimlane-pf-hint__inner {
    max-height: min(calc(100svh - 2rem), calc(100dvh - 2rem), 58rem);
    overflow-y: auto;
    overscroll-behavior: contain;
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint--visible .org-swimlane-pf-hint__inner {
    padding: 1rem 1.05rem 1.1rem;
    background:
        linear-gradient(155deg, rgba(18, 24, 42, 0.94) 0%, rgba(8, 12, 26, 0.88) 48%, rgba(14, 20, 38, 0.92) 100%),
        radial-gradient(ellipse 120% 80% at 50% 0%, var(--pf-hint-a-soft), transparent 55%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow:
        0 0 0 1px rgba(0, 0, 0, 0.55),
        0 18px 52px rgba(0, 0, 0, 0.55),
        0 0 64px -10px var(--pf-hint-a-mid),
        inset 0 1px 0 rgba(255, 255, 255, 0.09);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint--visible .org-swimlane-pf-hint__inner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0.85rem;
    right: 0.85rem;
    height: 2px;
    border-radius: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--pf-hint-a) 42%, var(--pf-hint-a) 58%, transparent 100%);
    opacity: 0.92;
    pointer-events: none;
}

@media (max-width: 720px) {
    body.org-swimlane-test--ceo .org-swimlane-pf-hint {
        position: static;
        width: 100%;
        max-width: none;
        margin: 0 0 0.85rem;
        opacity: 1;
        visibility: visible;
        filter: none;
    }

    body.org-swimlane-test--ceo .org-swimlane-pf-hint:not(.org-swimlane-pf-hint--visible) {
        display: none;
    }

    body.org-swimlane-test--ceo .org-swimlane-pf-hint.org-swimlane-pf-hint--visible {
        display: block;
    }

    body.org-swimlane-test--ceo .org-swimlane-ceo-panorama-anchor {
        width: 100%;
        max-width: min(100%, var(--ceo-panorama-max, min(69rem, calc(0.75 * (100vw - 5.5rem)))));
    }

    body.org-swimlane-test--ceo.org-swimlane-page--sheet2 .org-swimlane-ceo-panorama-anchor {
        max-width: min(100%, var(--ceo-panorama-max, min(69rem, calc(0.75 * (100vw - 5.5rem)))));
    }
}

@media (prefers-reduced-motion: reduce) {
    body.org-swimlane-test--ceo .org-swimlane-pf-hint {
        transition: none;
    }

    body.org-swimlane-test--ceo .org-swimlane-pf-hint--visible .org-swimlane-pf-hint__inner {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint__title {
    position: relative;
    z-index: 1;
    font-weight: 800;
    font-size: 1.05rem;
    line-height: 1.22;
    letter-spacing: -0.03em;
    margin: 0 0 0.5rem;
    color: #f8fafc;
    text-shadow:
        0 0 22px var(--pf-hint-a-mid),
        0 0 48px rgba(0, 0, 0, 0.45);
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint__subtitle {
    position: relative;
    z-index: 1;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(148, 163, 184, 0.95);
    margin: 0 0 0.7rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint__list {
    position: relative;
    z-index: 1;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0.8125rem;
    line-height: 1.38;
    color: #e8ecf4;
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint__list li {
    margin: 0.38rem 0;
    padding: 0.42rem 0.55rem 0.42rem 0.65rem;
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-left: 2px solid var(--pf-hint-a);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 2px 12px rgba(0, 0, 0, 0.25);
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint__list li:first-child {
    margin-top: 0;
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint__list--compact {
    font-size: 0.75rem;
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint__block {
    position: relative;
    z-index: 1;
    margin-top: 0.75rem;
    padding-top: 0.65rem;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint__block:first-of-type {
    margin-top: 0.35rem;
    padding-top: 0;
    border-top: none;
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint__block--growth {
    --blk: #7dd3fc;
    --blk-glow: rgba(56, 189, 248, 0.35);
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint__block--content {
    --blk: #c4b5fd;
    --blk-glow: rgba(167, 139, 250, 0.35);
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint__block--supply {
    --blk: #6ee7b7;
    --blk-glow: rgba(52, 211, 153, 0.35);
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint__block--finance {
    --blk: #fde047;
    --blk-glow: rgba(251, 191, 36, 0.35);
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint__block--org {
    --blk: #fbcfe8;
    --blk-glow: rgba(244, 114, 182, 0.35);
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint__block-title {
    font-weight: 800;
    font-size: 0.78rem;
    margin: 0 0 0.4rem;
    letter-spacing: -0.02em;
    color: var(--blk, #e2e8f0);
    text-shadow: 0 0 18px var(--blk-glow, rgba(148, 163, 184, 0.25));
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint__block .org-swimlane-pf-hint__list li {
    border-left-color: var(--blk, var(--pf-hint-a));
}

/* 左栏「全系统 / 多系统」：压缩排版，尽量一屏展示六大块，减少内滚与整页翻页抢滚轮 */
body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='all'].org-swimlane-pf-hint--visible .org-swimlane-pf-hint__inner,
body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='multi'].org-swimlane-pf-hint--visible .org-swimlane-pf-hint__inner {
    padding: 0.72rem 0.82rem 0.78rem;
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='all'] .org-swimlane-pf-hint__title,
body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='multi'] .org-swimlane-pf-hint__title {
    font-size: 0.9rem;
    margin-bottom: 0.32rem;
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='all'] .org-swimlane-pf-hint__subtitle,
body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='multi'] .org-swimlane-pf-hint__subtitle {
    font-size: 0.58rem;
    margin-bottom: 0.42rem;
    padding-bottom: 0.32rem;
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='all'] .org-swimlane-pf-hint__block,
body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='multi'] .org-swimlane-pf-hint__block {
    margin-top: 0.42rem;
    padding-top: 0.42rem;
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='all'] .org-swimlane-pf-hint__block:first-of-type,
body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='multi'] .org-swimlane-pf-hint__block:first-of-type {
    margin-top: 0.2rem;
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='all'] .org-swimlane-pf-hint__block-title,
body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='multi'] .org-swimlane-pf-hint__block-title {
    font-size: 0.68rem;
    margin-bottom: 0.26rem;
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='all'] .org-swimlane-pf-hint__list--compact,
body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='multi'] .org-swimlane-pf-hint__list--compact {
    font-size: 0.6875rem;
    line-height: 1.32;
}

body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='all'] .org-swimlane-pf-hint__block .org-swimlane-pf-hint__list li,
body.org-swimlane-test--ceo .org-swimlane-pf-hint[data-pf-hint-system='multi'] .org-swimlane-pf-hint__block .org-swimlane-pf-hint__list li {
    margin: 0.16rem 0;
    padding: 0.28rem 0.42rem 0.28rem 0.52rem;
}

body.org-swimlane-test-body.org-swimlane-test--ceo[data-org-platform-mode="product5"] .org-swimlane-ceo-panorama-anchor .org-swimlane-glass-wrap {
    display: block;
    width: min(100%, var(--ceo-panorama-max, min(69rem, calc(0.75 * (100vw - 5.5rem)))));
    max-width: var(--ceo-panorama-max, min(69rem, calc(0.75 * (100vw - 5.5rem))));
    margin-top: 0;
    margin-left: auto;
    margin-right: auto;
    padding: clamp(0.65rem, 1.25vw, 1rem);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 1rem;
    background: rgba(12, 18, 32, 0.52);
    box-shadow:
        0 0 0 1px rgba(0, 0, 0, 0.35),
        0 20px 48px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-sizing: border-box;
}

@media (prefers-reduced-motion: reduce) {
    body.org-swimlane-test-body.org-swimlane-test--ceo[data-org-platform-mode="product5"] .org-swimlane-ceo-panorama-anchor .org-swimlane-glass-wrap {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
}

body.org-swimlane-test-body.org-swimlane-test--ceo[data-org-platform-mode="product5"] .org-swimlane-ceo-panorama-anchor .org-swimlane-glass-wrap .org-swimlane-shell {
    display: block;
    width: 100%;
    max-width: none;
}

body.org-swimlane-test--ceo.org-swimlane-page--sheet1 #org-swimlane-root .org-swimlane-table.org-swimlane-table--wide {
    /* Sheet1（2.html）：列宽随内容，表宽为内容总宽，偏窄时由外层横向滚动 */
    width: max-content;
    min-width: 0;
    table-layout: auto;
    font-size: 11px;
}

body.org-swimlane-test--ceo.org-swimlane-page--sheet2 #org-swimlane-root .org-swimlane-table.org-swimlane-table--wide {
    /* Sheet2（1.html）：表格内容铺满全景卡片，不再只拉背景 */
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    font-size: 11px;
}

/* index.html 嵌入版：只作用于第 4 章，避免测试页全局布局干扰其他汇报页章节 */
body.org-swimlane-index-embed {
    --ceo-panorama-max: min(69rem, calc(0.75 * (100vw - clamp(2.5rem, 7vw, 5.5rem))));
}

body.org-swimlane-index-embed #section-3 {
    overflow: visible;
}

body.org-swimlane-index-embed #section-3 > .relative.z-10 {
    max-width: min(72rem, calc(100vw - 1.25rem));
}

body.org-swimlane-index-embed #section-3 .org-swimlane-platform-bar {
    padding: 0.85rem 0.35rem 0.95rem;
    margin: 0 auto clamp(1.25rem, 3vh, 2rem);
    width: max-content;
    max-width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
    border-radius: 0;
    background: transparent;
    border: none;
    box-shadow: none;
    gap: clamp(0.65rem, 1.8vw, 1.35rem);
}

body.org-swimlane-index-embed #section-3 .org-swimlane-ceo-panorama-anchor {
    width: 100%;
    max-width: min(100%, var(--ceo-panorama-max, min(69rem, calc(0.75 * (100vw - 5.5rem)))));
    margin: clamp(0.35rem, 1.35vh, 1.35rem) auto 0;
}

body.org-swimlane-index-embed #section-3 .org-swimlane-ceo-panorama-anchor .org-swimlane-glass-wrap {
    width: 100%;
    max-width: var(--ceo-panorama-max, min(69rem, calc(0.75 * (100vw - 5.5rem))));
}

body.org-swimlane-index-embed #section-3 .org-swimlane-ceo-panorama-anchor .org-swimlane-glass-wrap .org-swimlane-shell {
    display: block;
    width: 100%;
    max-width: none;
}

body.org-swimlane-index-embed #section-3 #org-swimlane-root .org-swimlane-table.org-swimlane-table--wide {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    font-size: 11px;
}

body.org-swimlane-index-embed #section-3 .org-swimlane-pf-hint {
    top: clamp(-2.85rem, -7.5vh, -4.5rem);
}

body.org-swimlane-index-embed #section-3 .org-swimlane-pf-hint__inner {
    max-height: min(calc(100svh - 2.5rem), calc(100dvh - 2.5rem), 42rem);
}

body.org-swimlane-index-embed #section-3 .org-swimlane-pf-hint[data-pf-hint-system='all'] .org-swimlane-pf-hint__inner,
body.org-swimlane-index-embed #section-3 .org-swimlane-pf-hint[data-pf-hint-system='multi'] .org-swimlane-pf-hint__inner {
    max-height: min(calc(100svh - 1.35rem), calc(100dvh - 1.35rem), 62rem);
}

body.org-swimlane-test--ceo .org-swimlane-phase-col {
    font-size: 12px;
    font-weight: 700;
    padding-top: 11px;
    padding-bottom: 11px;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

body.org-swimlane-test--ceo .org-swimlane-th--leaf {
    max-width: none;
    font-size: 10.5px;
    font-weight: 600;
    overflow: visible;
    white-space: nowrap;
}

body.org-swimlane-test--ceo .org-swimlane-th--corner.org-swimlane-th--org-col1,
body.org-swimlane-test--ceo .org-swimlane-th--corner.org-swimlane-th--org-col2 {
    font-size: 11.5px;
    font-weight: 700;
}

body.org-swimlane-test--ceo .org-swimlane-td--cell {
    max-width: none;
    font-size: 11px;
    color: #e8ecf4;
    padding: 9px 7px;
    line-height: 1.45;
    overflow: visible;
    white-space: nowrap;
}

body.org-swimlane-test--ceo .org-swimlane-td--org {
    font-size: 12px;
    padding: 9px 7px;
    line-height: 1.4;
}

body.org-swimlane-test--ceo .org-swimlane-tr--body:hover .org-swimlane-td--cell {
    background: rgba(255, 255, 255, 0.1);
}

body.org-swimlane-test--ceo .org-swimlane-tr--body:hover .org-swimlane-td--org {
    filter: brightness(1.08);
}

@media (prefers-reduced-motion: reduce) {
    body.org-swimlane-test--ceo .org-swimlane-tr--body:hover .org-swimlane-td--cell {
        background: inherit;
    }

    body.org-swimlane-test--ceo .org-swimlane-tr--body:hover .org-swimlane-td--org {
        filter: none;
    }
}
