/*
 * Product page styles
 * Shared and page-specific rules combined on 2026-07-30.
 */

/* ============================================================
   common.css
   ============================================================ */

/* Shared product detail system */

.product-detail-page {
    --product-section-space: 100px;
    background: var(--bg-page);
    overflow: hidden;
}

.product-hero-section {
    position: relative;
    height: 450px;
    margin-top: 68px;
    background: linear-gradient(180deg, #EAF6FF 0%, #DDF0FF 52%, #F7FBFF 100%);
    border-bottom: 1px solid rgba(30, 111, 255, 0.14);
    overflow: hidden;
}

.product-hero-section::before,
.product-hero-section::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.product-hero-section::before {
    background:
        radial-gradient(circle at 78% 34%, rgba(30, 111, 255, 0.18) 0, rgba(30, 111, 255, 0) 26%),
        radial-gradient(circle at 88% 18%, rgba(6, 182, 212, 0.16) 0, rgba(6, 182, 212, 0) 22%),
        linear-gradient(112deg, transparent 16%, rgba(255, 255, 255, 0.5) 31%, transparent 47%),
        linear-gradient(118deg, transparent 45%, rgba(94, 175, 255, 0.16) 56%, transparent 70%);
    opacity: 0.9;
}

.product-hero-section::after {
    background:
        radial-gradient(circle at 66% 24%, rgba(255, 255, 255, 0.95) 0 1px, transparent 2px),
        radial-gradient(circle at 74% 58%, rgba(30, 111, 255, 0.28) 0 1px, transparent 2px),
        radial-gradient(circle at 86% 42%, rgba(255, 255, 255, 0.9) 0 1px, transparent 2px),
        radial-gradient(circle at 92% 70%, rgba(6, 182, 212, 0.22) 0 1px, transparent 2px),
        linear-gradient(100deg, transparent 8%, rgba(255, 255, 255, 0.32) 22%, transparent 36%);
    opacity: 0.72;
}

.product-hero-section .section-container {
    position: relative;
    z-index: 1;
    height: 100%;
}

.product-hero-layout {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(520px, 0.92fr) minmax(420px, 0.72fr);
    align-items: center;
    gap: 48px;
    height: 100%;
}

.product-hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    padding: 9px 18px;
    border: 1px solid rgba(30, 111, 255, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.68);
    box-shadow: 0 10px 28px rgba(30, 111, 255, 0.1);
    color: #1557D0;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.product-hero-kicker-icon {
    position: relative;
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: linear-gradient(135deg, #06B6D4 0%, #1E6FFF 100%);
    box-shadow: 0 0 0 6px rgba(6, 182, 212, 0.12);
}

.product-hero-kicker-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 8px;
    height: 5px;
    border-left: 2px solid #FFFFFF;
    border-bottom: 2px solid #FFFFFF;
    transform: translate(-50%, -56%) rotate(-45deg);
}

.product-hero-title {
    max-width: 700px;
    margin-bottom: 20px;
    font-size: 44px;
    line-height: 1.24;
    font-weight: 800;
    color: var(--text-primary);
    letter-spacing: 0;
}

.product-hero-title span {
    display: block;
}

.product-hero-desc {
    max-width: 730px;
    margin-bottom: 0;
    color: #405A7A;
    font-size: 18px;
    line-height: 1.8;
    font-weight: 700;
}

.product-hero-visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.product-hero-visual-img {
    width: min(520px, 100%);
    height: auto;
    max-height: 330px;
    object-fit: contain;
    opacity: 1;
    filter: drop-shadow(0 24px 48px rgba(30, 111, 255, 0.16));
}

.product-detail-generated .product-hero-layout {
    grid-template-columns: minmax(520px, 0.94fr) minmax(430px, 0.78fr);
}

.product-detail-generated .product-hero-desc {
    max-width: 670px;
}

.product-hero-dashboard {
    width: min(535px, 100%);
    border: 1px solid rgba(64, 132, 226, 0.24);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 26px 60px rgba(38, 94, 165, 0.2);
    transform: perspective(1200px) rotateY(-4deg) rotateX(1deg);
    overflow: hidden;
}

.hero-dashboard-top {
    display: flex;
    height: 38px;
    align-items: center;
    gap: 7px;
    padding: 0 14px;
    color: #41617F;
    background: #F8FBFF;
    border-bottom: 1px solid #E2ECF8;
    font-size: 11px;
    font-weight: 800;
}

.hero-dashboard-top i {
    width: 7px;
    height: 7px;
    background: #BFD1E8;
    border-radius: 50%;
}

.hero-dashboard-top i:first-child { background: #FF8A72; }

.hero-dashboard-top i:nth-child(2) { background: #FFCF66; }

.hero-dashboard-top i:nth-child(3) { margin-right: 6px; background: #5AD6AE; }

.hero-dashboard-body {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    min-height: 264px;
}

.hero-dashboard-side {
    display: grid;
    align-content: start;
    gap: 16px;
    padding: 24px 17px;
    background: linear-gradient(180deg, #1459C9 0%, #1678D9 100%);
}

.hero-dashboard-side b {
    display: block;
    width: 24px;
    height: 7px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.42);
}

.hero-dashboard-side b:first-child {
    height: 24px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.14);
}

.hero-dashboard-main { padding: 20px 20px 18px; }

.hero-dashboard-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.hero-dashboard-heading div { display: grid; gap: 3px; }

.hero-dashboard-heading small { color: #8195AC; font-size: 9px; }

.hero-dashboard-heading strong { color: #234564; font-size: 13px; }

.hero-dashboard-heading em {
    padding: 5px 9px;
    color: #0C8B71;
    background: #E8F8F3;
    border-radius: 999px;
    font-size: 9px;
    font-style: normal;
    font-weight: 800;
}

.hero-dashboard-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin-bottom: 14px;
}

.hero-dashboard-metrics > div {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 1px 7px;
    padding: 11px 9px;
    background: #F8FBFF;
    border: 1px solid #E1EBF8;
    border-radius: 9px;
}

.hero-dashboard-metrics .metric-icon {
    grid-row: 1 / 3;
    width: 24px;
    height: 24px;
    align-self: center;
    border-radius: 8px;
    background: linear-gradient(135deg, #1E6FFF, #58A2FF);
    box-shadow: inset 0 0 0 6px rgba(255,255,255,0.22);
}

.hero-dashboard-metrics .metric-icon-2 { background: linear-gradient(135deg, #0F9F8A, #52D1B1); }

.hero-dashboard-metrics .metric-icon-3 { background: linear-gradient(135deg, #7157D9, #A08CFF); }

.hero-dashboard-metrics strong { color: #254563; font-size: 11px; }

.hero-dashboard-metrics small { color: #8195AC; font-size: 8px; }

.hero-dashboard-chart {
    display: flex;
    height: 105px;
    align-items: flex-end;
    gap: 20px;
    padding: 14px 16px;
    background: linear-gradient(180deg, #FCFEFF 0%, #F3F8FE 100%);
    border: 1px solid #E1EBF8;
    border-radius: 10px;
}

.chart-copy { display: grid; gap: 4px; align-self: flex-start; min-width: 62px; }

.chart-copy small { color: #8195AC; font-size: 8px; }

.chart-copy strong { color: #1B875F; font-size: 12px; }

.chart-bars {
    display: flex;
    flex: 1;
    height: 70px;
    align-items: flex-end;
    gap: 10px;
    padding: 0 6px;
    border-bottom: 1px solid #D9E6F5;
    background: repeating-linear-gradient(180deg, transparent 0 22px, #EDF3FA 22px 23px);
}

.chart-bars i {
    flex: 1;
    height: 42%;
    border-radius: 4px 4px 0 0;
    background: linear-gradient(180deg, #4E98FF, #1765D2);
}

.chart-bars i:nth-child(2) { height: 64%; }

.chart-bars i:nth-child(3) { height: 51%; }

.chart-bars i:nth-child(4) { height: 78%; }

.chart-bars i:nth-child(5) { height: 68%; }

.chart-bars i:nth-child(6) { height: 92%; background: linear-gradient(180deg, #54D2B1, #0F9F8A); }

.chart-bars i:nth-child(7) { height: 82%; }

.capability-visual-generated {
    padding: 22px;
    background:
        radial-gradient(circle at 86% 10%, rgba(88, 162, 255, 0.22), transparent 26%),
        linear-gradient(135deg, #EAF3FF 0%, #F5FAFF 54%, #EAF9F6 100%);
}

.capability-visual-generated .capability-screen {
    min-height: 0;
    border-radius: 14px;
}

.detail-data-map {
    display: grid;
    grid-template-columns: 1fr 112px 1fr;
    gap: 18px;
    align-items: center;
    height: calc(100% - 44px);
    min-height: 216px;
}

.detail-data-map > div { display: grid; gap: 12px; }

.detail-data-map span {
    padding: 12px 8px;
    color: #385A79;
    background: #F8FBFF;
    border: 1px solid #D8E6F7;
    border-radius: 9px;
    box-shadow: 0 7px 14px rgba(42, 88, 145, 0.06);
    font-size: 12px;
    font-weight: 800;
    text-align: center;
}

.detail-data-map > strong {
    display: flex;
    width: 112px;
    aspect-ratio: 1;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    background: linear-gradient(135deg, #1765D2, #16A789);
    border: 7px solid #DFEEFF;
    border-radius: 50%;
    box-shadow: 0 14px 28px rgba(30, 111, 255, 0.17);
    font-size: 14px;
    line-height: 1.45;
    text-align: center;
}

.detail-risk-view {
    display: grid;
    grid-template-columns: 156px minmax(0, 1fr);
    gap: 22px;
    align-items: center;
    min-height: 216px;
}

.detail-risk-ring {
    display: flex;
    width: 146px;
    aspect-ratio: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle, #FFFFFF 0 56%, transparent 57%), conic-gradient(#1BAC8D 0 79%, #4D8FFF 79% 92%, #E6EEF8 92%);
    border-radius: 50%;
    box-shadow: 0 12px 28px rgba(22, 167, 137, 0.12);
}

.detail-risk-ring strong { color: #214563; font-size: 23px; line-height: 1; }

.detail-risk-ring span { margin-top: 7px; color: #7B90A7; font-size: 10px; font-weight: 800; }

.detail-risk-view ul { display: grid; gap: 9px; }

.detail-risk-view li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    background: #F8FBFF;
    border: 1px solid #E0EAF6;
    border-radius: 8px;
}

.detail-risk-view li span { color: #405F7C; font-size: 11px; font-weight: 800; }

.detail-risk-view li b { color: #149276; font-size: 10px; }

.detail-risk-view li:nth-child(3) b { color: #F07842; }

.detail-flow-view {
    display: grid;
    align-content: center;
    min-height: 216px;
}

.detail-flow-view > div {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.detail-flow-view > div::before {
    content: '';
    position: absolute;
    top: 21px;
    right: 7%;
    left: 7%;
    height: 2px;
    background: #C4D9F5;
}

.detail-flow-view > div span {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 10px;
    justify-items: center;
    color: #405F7C;
    font-size: 11px;
    font-weight: 800;
    text-align: center;
}

.detail-flow-view > div b {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    background: linear-gradient(135deg, #1765D2, #3D8EFF);
    border: 5px solid #E5F0FF;
    border-radius: 50%;
    font-size: 10px;
}

.detail-flow-view p {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 32px;
    padding: 16px 18px;
    color: #FFFFFF;
    background: linear-gradient(120deg, #174D93, #168F87);
    border-radius: 11px;
}

.detail-flow-view p strong { font-size: 22px; }

.detail-flow-view p small { order: -1; font-size: 11px; font-weight: 800; }

.detail-archive-view {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 18px;
    align-items: center;
    min-height: 216px;
}

.detail-archive-view > div:first-child { display: grid; gap: 10px; }

.detail-archive-view span {
    position: relative;
    padding: 12px 12px 12px 38px;
    color: #385A79;
    background: #F8FBFF;
    border: 1px solid #DCE8F6;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 800;
}

.detail-archive-view span::before {
    content: '';
    position: absolute;
    top: 12px;
    left: 13px;
    width: 16px;
    height: 13px;
    border-radius: 3px;
    background: #168F87;
    box-shadow: inset 0 4px rgba(255,255,255,0.24);
}

.detail-archive-bars {
    position: relative;
    display: flex;
    min-height: 188px;
    align-items: flex-end;
    gap: 12px;
    padding: 54px 16px 16px;
    background: linear-gradient(180deg, #F7FCFF, #EEF7FF);
    border: 1px solid #DCE9F6;
    border-radius: 10px;
}

.detail-archive-bars i { flex: 1; height: 38%; border-radius: 6px 6px 2px 2px; background: linear-gradient(180deg, #53A5FF, #1765D2); }

.detail-archive-bars i:nth-child(2) { height: 58%; }

.detail-archive-bars i:nth-child(3) { height: 74%; background: linear-gradient(180deg, #51D1AF, #149276); }

.detail-archive-bars i:nth-child(4) { height: 88%; }

.detail-archive-bars strong { position: absolute; top: 16px; left: 16px; color: #214563; font-size: 20px; }

.detail-archive-bars small { display: block; margin-top: 4px; color: #8195AC; font-size: 9px; }

.detail-table-view {
    display: grid;
    align-content: center;
    min-height: 216px;
    border: 1px solid #DCE7F4;
    border-radius: 10px;
    overflow: hidden;
}

.detail-table-head,
.detail-table-view > div:not(.detail-table-head) {
    display: grid;
    grid-template-columns: 1.25fr 0.8fr 0.7fr;
    align-items: center;
}

.detail-table-head { color: #6A829B; background: #EEF4FB; font-size: 10px; font-weight: 900; }

.detail-table-head span,
.detail-table-view > div:not(.detail-table-head) > * { padding: 11px 13px; }

.detail-table-view > div:not(.detail-table-head) { color: #385A79; background: #FFFFFF; border-top: 1px solid #E5EDF7; font-size: 11px; }

.detail-table-view strong { font-weight: 800; }

.detail-table-view em { color: #168F87; font-style: normal; font-weight: 800; }

.detail-table-view > div:nth-child(4) em { color: #E76F3D; }

.detail-table-view b { color: #1765D2; font-size: 11px; }

.capability-visual-generated {
    padding: 0;
    background: linear-gradient(135deg, #EEF6FF 0%, #FAFCFF 56%, #F1F0FF 100%);
    border: 0;
    border-radius: 30px;
    box-shadow: none;
}

.capability-visual-generated::before {
    background: none;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.72);
}

.product-visual-scene {
    position: relative;
    z-index: 2;
    display: flex;
    height: 100%;
    flex-direction: column;
    padding: 25px 26px 24px;
    color: #314D69;
    background: rgba(255,255,255,0.48);
    border: 2px solid rgba(255,255,255,0.8);
    border-radius: 30px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}

.product-visual-scene-head {
    display: flex;
    min-height: 50px;
    align-items: center;
    gap: 13px;
}

.product-visual-scene-head > div { display: grid; min-width: 0; gap: 2px; }

.product-visual-scene-head strong { color: #162B44; font-size: 22px; line-height: 1.2; font-weight: 800; }

.product-visual-scene-head small { color: #7188A3; font-size: 10px; line-height: 1.35; font-weight: 700; }

.product-visual-scene-head > em {
    margin-left: auto;
    padding: 7px 10px;
    color: #41617D;
    background: #EDF4FF;
    border-radius: 999px;
    font-size: 8px;
    font-style: normal;
    font-weight: 800;
    white-space: nowrap;
}

.product-visual-scene-icon {
    position: relative;
    display: inline-flex;
    width: 44px;
    height: 44px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #2678FF, #6D69F5);
    border-radius: 50%;
}

.product-visual-scene-icon i,
.product-visual-scene-icon::before,
.product-visual-scene-icon::after {
    content: '';
    position: absolute;
    width: 18px;
    height: 3px;
    background: #FFFFFF;
    border-radius: 3px;
}

.product-visual-scene-icon::before { transform: translateY(-6px); }

.product-visual-scene-icon::after { transform: translateY(6px); }

.scene-icon-risk i { width: 18px; height: 18px; background: transparent; border: 2px solid #FFFFFF; border-radius: 50%; }

.scene-icon-risk::before { width: 7px; height: 7px; background: transparent; border-left: 2px solid #FFFFFF; border-bottom: 2px solid #FFFFFF; transform: translate(-1px, -1px) rotate(-45deg); }

.scene-icon-risk::after { display: none; }

.scene-icon-submit i { width: 22px; height: 3px; transform: translateX(-1px); }

.scene-icon-submit::before { width: 9px; transform: translate(-6px, -5px) rotate(45deg); }

.scene-icon-submit::after { width: 9px; transform: translate(-6px, 5px) rotate(-45deg); }

.scene-icon-archive i { width: 20px; height: 16px; background: transparent; border: 2px solid #FFFFFF; border-radius: 3px; }

.scene-icon-archive::before { width: 9px; height: 4px; transform: translate(-4px, -10px); }

.scene-icon-archive::after { display: none; }

.scene-icon-workpaper i { width: 18px; height: 22px; background: transparent; border: 2px solid #FFFFFF; border-radius: 2px; }

.scene-icon-workpaper::before { width: 10px; height: 2px; transform: translateY(-5px); }

.scene-icon-workpaper::after { width: 10px; height: 2px; transform: translateY(2px); }

.product-visual-scene-body {
    flex: 1;
    min-height: 0;
    margin-top: 15px;
    padding: 14px;
    background: #F5F8FE;
    border: 1px solid #DEE8F7;
    border-radius: 20px;
    box-shadow: 0 13px 26px rgba(76,112,158,0.09);
}

.scene-card {
    min-width: 0;
    background: #FFFFFF;
    border-radius: 15px;
    box-shadow: 0 7px 16px rgba(76,112,158,0.06);
}

.scene-card h5 { margin: 0; color: #314D69; font-size: 12px; line-height: 1.3; font-weight: 800; }

.scene-card > small { display: block; margin-top: 4px; color: #7188A3; font-size: 8px; line-height: 1.3; font-weight: 700; }

.scene-card-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; }

.scene-card-title > em,
.scene-card-title > div span,
.scene-card-title > div em {
    padding: 5px 8px;
    color: #2678FF;
    background: #EDF4FF;
    border-radius: 999px;
    font-size: 7px;
    font-style: normal;
    font-weight: 800;
    white-space: nowrap;
}

.scene-card-title > div { display: flex; gap: 6px; }

.scene-card-title > div em { color: #6E68F5; background: #F1EEFF; }

.scene-color-1 { background: #2678FF; }

.scene-color-2 { background: #6E68F5; }

.scene-color-3 { background: #1DB497; }

.scene-color-4 { background: #FF8750; }

.scene-data-layout,
.scene-risk-layout,
.scene-submit-layout,
.scene-archive-layout {
    display: grid;
    gap: 13px;
    height: 100%;
}

.scene-data-layout { grid-template-columns: 0.83fr 1.17fr; }

.scene-source-card { padding: 17px 15px; }

.scene-source-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }

.scene-source-grid span {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 6px;
    padding: 10px 7px;
    color: #49657F;
    background: #F7F9FD;
    border-radius: 10px;
    font-size: 8px;
    font-weight: 800;
}

.scene-source-grid i,
.scene-rule-card li > i,
.scene-folder-card span > i {
    width: 9px;
    height: 9px;
    flex: 0 0 auto;
    border-radius: 50%;
}

.scene-source-card > p { margin-top: 17px; padding: 10px; background: #F6F8FD; border-radius: 10px; }

.scene-source-card > p b { display: block; width: 78%; height: 5px; margin-bottom: 6px; background: linear-gradient(90deg, #2678FF 0 64%, #DAE5F4 64%); border-radius: 999px; }

.scene-source-card > p em { color: #7188A3; font-size: 7px; font-style: normal; font-weight: 700; }

.scene-pipeline-card { padding: 17px 18px; background: #FFFFFF; border: 7px solid #EDF3FC; }

.scene-pipeline-card .scene-card-title > em { color: #23816F; background: #E8F8F3; }

.scene-pipeline-card ol { display: grid; gap: 0; margin-top: 17px; }

.scene-pipeline-card li { position: relative; display: flex; min-height: 48px; align-items: center; gap: 11px; }

.scene-pipeline-card li:not(:last-child)::after { content: ''; position: absolute; top: 35px; bottom: -3px; left: 14px; width: 2px; background: #C7D9EF; }

.scene-pipeline-card li b {
    position: relative;
    z-index: 1;
    display: inline-flex;
    width: 28px;
    height: 28px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    background: #2678FF;
    border-radius: 50%;
    font-size: 14px;
}

.scene-pipeline-card li:nth-child(2) b { background: #6E68F5; }

.scene-pipeline-card li:nth-child(3) b { background: #1DB497; }

.scene-pipeline-card li span { display: grid; gap: 3px; color: #49657F; font-size: 10px; font-weight: 800; }

.scene-pipeline-card li small { color: #7890AA; font-size: 7px; font-weight: 700; }

.scene-risk-layout { grid-template-columns: 0.82fr 1.18fr; }

.scene-rule-card { padding: 16px 14px; }

.scene-rule-card ul { display: grid; gap: 7px; margin-top: 13px; }

.scene-rule-card li { display: flex; align-items: center; gap: 7px; padding: 9px 8px; background: #F7F9FD; border-radius: 9px; }

.scene-rule-card li span { min-width: 0; flex: 1; color: #49657F; font-size: 8px; font-weight: 800; }

.scene-rule-card li em { color: #7188A3; font-size: 7px; font-style: normal; font-weight: 800; }

.scene-risk-card { padding: 16px 17px; border: 7px solid #EDF3FC; }

.scene-risk-card .scene-card-title > em { color: #23816F; background: #E8F8F3; }

.scene-risk-main { display: grid; grid-template-columns: 112px 1fr; gap: 12px; align-items: center; margin-top: 13px; }

.scene-score-ring {
    display: flex;
    width: 105px;
    aspect-ratio: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle, #FFFFFF 0 58%, transparent 59%), conic-gradient(#2678FF 0 68%, #6E68F5 68% 86%, #1DB497 86% 96%, #E6EEF9 96%);
    border-radius: 50%;
}

.scene-score-ring strong { max-width: 80px; color: #2678FF; font-size: 18px; line-height: 1.1; text-align: center; }

.scene-score-ring small { max-width: 78px; margin-top: 5px; color: #7188A3; font-size: 6px; line-height: 1.2; font-weight: 700; text-align: center; }

.scene-risk-main > div:last-child { display: grid; gap: 9px; }

.scene-risk-main p { padding: 10px; background: #F7F9FD; border-radius: 10px; }

.scene-risk-main p:first-child { background: #EAF9F5; }

.scene-risk-main p small { display: block; color: #7188A3; font-size: 7px; font-weight: 700; }

.scene-risk-main p strong { display: block; margin-top: 3px; color: #1DB497; font-size: 14px; }

.scene-risk-main p:last-child strong { color: #FF8750; }

.scene-risk-status { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 10px; padding: 10px 11px; background: #F6F8FD; border-radius: 10px; }

.scene-risk-status span { color: #49657F; font-size: 8px; font-weight: 800; }

.scene-risk-status span i { display: inline-block; width: 7px; height: 7px; margin-right: 5px; background: #1DB497; border-radius: 50%; }

.scene-risk-status em { color: #D66D3C; background: #FFF0E7; border-radius: 999px; padding: 4px 7px; font-size: 7px; font-style: normal; font-weight: 800; }

.scene-submit-layout { grid-template-columns: 0.78fr 1.22fr; }

.scene-submit-side { display: grid; gap: 11px; grid-template-rows: 1fr 0.82fr; }

.scene-submit-side .scene-card { padding: 14px; }

.scene-submit-side .scene-card > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 12px; }

.scene-submit-side .scene-card > div span { padding: 7px 4px; border-radius: 999px; font-size: 7px; font-weight: 800; text-align: center; }

.scene-soft-1 { color: #2678FF; background: #E8F2FF; }

.scene-soft-2 { color: #6E68F5; background: #F0EDFF; }

.scene-soft-3 { color: #27816F; background: #E6F8F3; }

.scene-soft-4 { color: #D66D3C; background: #FFF0E7; }

.scene-mint-card { background: #E2F8F2; border: 1px solid #C7EFE5; }

.scene-mint-card p { display: flex; align-items: center; gap: 7px; margin-top: 10px; padding: 8px; color: #49657F; background: #FFFFFF; border-radius: 9px; font-size: 7px; font-weight: 800; }

.scene-mint-card p i { width: 8px; height: 8px; background: #1DB497; border-radius: 50%; }

.scene-command-card { padding: 17px; border: 7px solid #EDF3FC; }

.scene-command-card .scene-card-title > em { color: #23816F; background: #E8F8F3; }

.scene-command-main { display: grid; grid-template-columns: 116px 1fr; gap: 12px; align-items: center; margin-top: 13px; }

.scene-command-ring {
    display: flex;
    width: 108px;
    aspect-ratio: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle, #FFFFFF 0 59%, transparent 60%), conic-gradient(#2678FF 0 76%, #6E68F5 76% 93%, #E6EEF9 93%);
    border-radius: 50%;
}

.scene-command-ring strong { max-width: 82px; color: #2678FF; font-size: 18px; line-height: 1.1; text-align: center; }

.scene-command-ring small { max-width: 76px; margin-top: 5px; color: #7188A3; font-size: 6px; line-height: 1.2; font-weight: 700; text-align: center; }

.scene-command-main > div:last-child { display: grid; gap: 9px; }

.scene-command-main p { padding: 10px; background: #F0EDFF; border-radius: 10px; }

.scene-command-main p:last-child { background: #E7F8F2; }

.scene-command-main small { display: block; color: #7188A3; font-size: 7px; font-weight: 700; }

.scene-command-main strong { display: block; margin-top: 3px; color: #6E68F5; font-size: 14px; }

.scene-command-main p:last-child strong { color: #1DB497; }

.scene-command-card button { display: flex; width: 100%; min-height: 38px; align-items: center; justify-content: center; gap: 9px; margin-top: 10px; color: #FFFFFF; background: linear-gradient(100deg, #2678FF, #6D69F5); border: 0; border-radius: 11px; font-size: 9px; font-weight: 800; pointer-events: none; }

.scene-command-card button b { display: inline-flex; width: 20px; height: 20px; align-items: center; justify-content: center; background: rgba(255,255,255,0.24); border-radius: 50%; font-size: 13px; }

.scene-archive-layout { grid-template-columns: 0.8fr 1.2fr; }

.scene-folder-card { padding: 16px 14px; }

.scene-folder-card > div { display: grid; gap: 7px; margin-top: 13px; }

.scene-folder-card span { display: flex; align-items: center; gap: 8px; padding: 9px 8px; color: #49657F; background: #F7F9FD; border-radius: 9px; font-size: 8px; font-weight: 800; }

.scene-folder-card span em { margin-left: auto; color: #9AB0C7; font-size: 12px; font-style: normal; }

.scene-archive-card { padding: 16px; border: 7px solid #EDF3FC; }

.scene-archive-card .scene-card-title > em { color: #23816F; background: #E8F8F3; }

.scene-search { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 13px; padding: 9px 11px; color: #8AA0B7; background: #F7F9FD; border: 1px solid #E2EAF5; border-radius: 999px; font-size: 7px; font-weight: 700; }

.scene-search b { color: #2678FF; font-size: 13px; }

.scene-archive-summary { display: grid; grid-template-columns: 100px 1fr; gap: 12px; align-items: end; margin-top: 11px; }

.scene-archive-summary > div:first-child { padding: 11px; background: #F0EDFF; border-radius: 10px; }

.scene-archive-summary strong { display: block; max-width: 80px; color: #6E68F5; font-size: 16px; line-height: 1.1; }

.scene-archive-summary small { display: block; margin-top: 5px; color: #7188A3; font-size: 7px; font-weight: 700; }

.scene-mini-bars { display: flex; height: 73px; align-items: flex-end; gap: 7px; padding: 8px 8px 0; border-bottom: 1px solid #DCE7F4; background: repeating-linear-gradient(180deg, transparent 0 19px, #EEF3F9 19px 20px); }

.scene-mini-bars i { flex: 1; height: 42%; background: #2678FF; border-radius: 4px 4px 0 0; }

.scene-mini-bars i:nth-child(2) { height: 60%; }

.scene-mini-bars i:nth-child(3) { height: 53%; background: #6E68F5; }

.scene-mini-bars i:nth-child(4) { height: 78%; }

.scene-mini-bars i:nth-child(5) { height: 92%; background: #1DB497; }

.scene-archive-complete { margin-top: 10px; padding: 9px 10px; color: #27816F; background: linear-gradient(90deg, #E3F8F2 0 76%, #F2F6FC 76%); border-radius: 999px; font-size: 7px; font-weight: 800; }

.scene-archive-complete i { display: inline-block; width: 7px; height: 7px; margin-right: 6px; background: #1DB497; border-radius: 50%; }

.scene-table-card { height: 100%; padding: 15px 17px; }

.scene-product-table { margin-top: 12px; border: 1px solid #D8E4F2; border-radius: 10px; overflow: hidden; }

.scene-product-table > div { display: grid; grid-template-columns: 1.28fr 0.78fr 0.76fr 0.82fr; align-items: center; }

.scene-product-table > div:first-child { color: #7188A3; background: #F7F9FD; font-size: 7px; font-weight: 800; }

.scene-product-table > div:not(:first-child) { border-top: 1px solid #E2EAF4; color: #49657F; background: #FFFFFF; font-size: 8px; }

.scene-product-table span,
.scene-product-table strong,
.scene-product-table em,
.scene-product-table b,
.scene-product-table small { min-width: 0; padding: 8px 9px; border-right: 1px solid #E2EAF4; }

.scene-product-table > div > *:last-child { border-right: 0; }

.scene-product-table strong { font-weight: 800; }

.scene-product-table em { color: #1A9C7F; font-style: normal; font-weight: 800; }

.scene-product-table > div:nth-child(4) em { color: #D66D3C; }

.scene-product-table b { color: #2678FF; font-weight: 800; }

.scene-product-table small { color: #7188A3; font-size: 7px; font-weight: 700; }

.scene-table-tags { display: flex; align-items: center; gap: 7px; margin-top: 11px; }

.scene-table-tags > span { padding: 6px 13px; color: #2678FF; background: #E8F2FF; border-radius: 999px; font-size: 7px; font-weight: 800; }

.scene-table-tags > span:nth-child(2) { color: #6E68F5; background: #F0EDFF; }

.scene-table-tags > span:nth-child(3) { color: #27816F; background: #E6F8F3; }

.scene-table-tags > span:nth-child(4) { color: #D66D3C; background: #FFF0E7; }

.scene-table-tags p { flex: 1; margin-left: 3px; padding: 7px 9px; color: #27816F; background: linear-gradient(90deg, #E3F8F2, #F2F6FC); border-radius: 999px; font-size: 7px; font-weight: 800; white-space: nowrap; }

.scene-table-tags p i { display: inline-block; width: 6px; height: 6px; margin-right: 5px; background: #1DB497; border-radius: 50%; }

.dropdown-item[aria-current="page"] {
    color: var(--color-primary);
    background: #F2F7FF;
}

.mobile-nav-list a[aria-current="page"] { color: var(--color-primary); font-weight: 800; }

.product-detail-page .product-problem-section,
.product-detail-page .product-overview-section,
.product-detail-page .product-capability-section,
.product-detail-page .tax-scenario-section,
.product-detail-page .product-value-section,
.product-detail-page .product-advantage-section,
.product-detail-page .product-cta-section {
    padding: var(--product-section-space) 0 0;
    background: #FFFFFF;
}

.product-detail-page .product-cta-section {
    padding-bottom: var(--product-section-space);
}

.problem-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.problem-card {
    position: relative;
    min-height: 288px;
    background: transparent;
    border: 0;
    border-radius: var(--radius-sm);
    cursor: pointer;
    perspective: 1200px;
    transition: all var(--transition-base);
}

.problem-card:focus {
    outline: none;
}

.problem-card:hover,
.problem-card:focus {
    transform: translateY(-3px);
}

.problem-card:hover .problem-card-inner,
.problem-card:focus .problem-card-inner,
.problem-card:focus-within .problem-card-inner {
    transform: rotateY(180deg);
}

.problem-card-inner {
    position: relative;
    min-height: 288px;
    transform-style: preserve-3d;
    transition: transform var(--transition-slow);
}

.problem-card-face {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    padding: 28px 24px;
    background: #FFFFFF;
    border: 1px solid rgba(30,111,255,0.14);
    border-radius: var(--radius-sm);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    box-shadow: var(--shadow-sm);
}

.problem-card-front {
    justify-content: flex-start;
}

.problem-card-back {
    justify-content: flex-start;
    color: #24415F;
    background: linear-gradient(135deg, #F8FBFF 0%, #EDF5FF 54%, #EEFBF7 100%);
    border-color: rgba(65, 137, 230, 0.18);
    transform: rotateY(180deg);
    overflow: hidden;
}

.problem-card:hover .problem-card-face,
.problem-card:focus .problem-card-face,
.problem-card:focus-within .problem-card-face {
    border-color: rgba(30,111,255,0.34);
    box-shadow: 0 12px 32px rgba(46, 104, 174, 0.11);
}

.problem-index {
    display: inline-flex;
    margin-bottom: 28px;
    color: rgba(30,111,255,0.26);
    font-size: 34px;
    line-height: 1;
    font-weight: 800;
}

.problem-card h3 {
    position: relative;
    z-index: 1;
    margin-bottom: 12px;
    color: var(--text-primary);
    font-size: 19px;
    line-height: 1.35;
}

.problem-card p {
    position: relative;
    z-index: 1;
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 1.75;
}

.problem-card-back h3 {
    color: #1D3A58;
}

.problem-card-back p {
    color: #5B7390;
}

.problem-card-back ul {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 8px;
    margin-top: auto;
    padding-top: 18px;
}

.problem-card-back li {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #365570;
    font-size: 13px;
    line-height: 1.5;
    font-weight: 700;
}

.problem-card-back li::before {
    content: '';
    width: 6px;
    height: 6px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #46C7AE;
    box-shadow: 0 0 0 4px rgba(70,199,174,0.12);
}

.tax-process-overview {
    position: relative;
    max-width: 1180px;
    margin: 0 auto;
    padding: 14px 10px 0;
}

.tax-process-overview::before {
    content: '';
    position: absolute;
    z-index: 0;
    top: 97px;
    right: 10%;
    left: 10%;
    height: 1px;
    background: #DCEBFE;
}

.tax-process-steps {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(36px, 4.2vw, 62px);
}

.tax-process-step {
    position: relative;
    min-width: 0;
    --tax-process-color: #1E5FD2;
    --tax-process-soft: #EAF3FF;
}

.tax-process-step:nth-child(2) {
    --tax-process-color: #4D8FFF;
    --tax-process-soft: #EDF5FF;
}

.tax-process-step:nth-child(3) {
    --tax-process-color: #2683E8;
    --tax-process-soft: #EAF5FF;
}

.tax-process-step:nth-child(4) {
    --tax-process-color: #21A1B6;
    --tax-process-soft: #E9F8FA;
}

.tax-process-step:nth-child(5) {
    --tax-process-color: #3B7DDE;
    --tax-process-soft: #EBF3FF;
}

.tax-process-stage {
    position: relative;
    display: flex;
    width: min(168px, 100%);
    aspect-ratio: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0 auto 30px;
    color: #245FAD;
    background: #FFFFFF;
    border: 1px solid rgba(30,111,255,0.22);
    border-radius: 50%;
    outline: 8px solid var(--tax-process-soft);
    box-shadow: 0 10px 26px rgba(30,111,255,0.09);
    transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.tax-process-stage::before {
    content: '';
    position: absolute;
    inset: 12px;
    border: 1px dashed rgba(30,111,255,0.16);
    border-radius: 50%;
}

.tax-process-stage span {
    position: relative;
    z-index: 1;
    display: inline-flex;
    width: 31px;
    height: 31px;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    padding: 0;
    color: #FFFFFF;
    background: var(--tax-process-color);
    border: 0;
    border-radius: 50%;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    text-align: center;
}

.tax-process-stage h3 {
    position: relative;
    z-index: 1;
    color: #245FAD;
    font-size: 20px;
    line-height: 1.28;
    text-align: center;
}

.tax-process-items {
    display: grid;
    gap: 10px;
    padding: 0 2px;
}

.tax-process-items li {
    position: relative;
    display: flex;
    min-height: 40px;
    align-items: center;
    justify-content: flex-start;
    padding: 9px 12px 9px 27px;
    color: #4B6685;
    background: #FBFDFF;
    border: 1px solid #E1ECFA;
    border-radius: var(--radius-sm);
    box-shadow: none;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 700;
    transition: transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);
}

.tax-process-items li::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 12px;
    width: 6px;
    height: 6px;
    background: var(--tax-process-color);
    border-radius: 50%;
    box-shadow: 0 0 0 3px #FFFFFF, 0 0 0 4px var(--tax-process-soft);
    transform: translateY(-50%);
}

.tax-process-step:hover .tax-process-stage {
    transform: translateY(-4px);
    box-shadow: 0 16px 30px rgba(30,111,255,0.15);
}

.tax-process-step:hover .tax-process-items li {
    border-color: rgba(30,111,255,0.3);
    background: #FFFFFF;
    box-shadow: 0 6px 16px rgba(30,111,255,0.06);
}

/* Tax archive: end-to-end filing pipeline */
body[data-product="tax-archive"] .archive-flow-board {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px;
    border: 1px solid #DCE9F8;
    border-radius: 24px;
    background:
        radial-gradient(circle at 93% 8%, rgba(66, 189, 201, 0.13), transparent 24%),
        linear-gradient(180deg, #F8FBFF 0%, #FFFFFF 100%);
    box-shadow: none;
    overflow: hidden;
}

body[data-product="tax-archive"] .archive-flow-board::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 180px;
    height: 3px;
    background: linear-gradient(90deg, #1E6FFF, #43C5BF);
    border-radius: 0 0 99px 0;
}

body[data-product="tax-archive"] .archive-flow-board-head {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 0 2px 22px;
}

body[data-product="tax-archive"] .archive-flow-board-title {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #173B68;
}

body[data-product="tax-archive"] .archive-flow-board-title strong {
    font-size: 16px;
    line-height: 1.5;
}

body[data-product="tax-archive"] .archive-flow-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 11px;
    color: #FFFFFF;
    background: linear-gradient(135deg, #1E6FFF, #2E8BE8);
    border-radius: 999px;
    box-shadow: none;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    white-space: nowrap;
}

body[data-product="tax-archive"] .archive-flow-features {
    display: flex;
    align-items: center;
    gap: 8px;
}

body[data-product="tax-archive"] .archive-flow-features span {
    position: relative;
    padding-left: 14px;
    color: #64809E;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 700;
    white-space: nowrap;
}

body[data-product="tax-archive"] .archive-flow-features span::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 6px;
    height: 6px;
    background: #43BFB5;
    border-radius: 50%;
    box-shadow: none;
    transform: translateY(-50%);
}

body[data-product="tax-archive"] .archive-flow-pipeline {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

body[data-product="tax-archive"] .archive-flow-pipeline::before {
    content: '';
    position: absolute;
    top: 54px;
    right: 3%;
    left: 3%;
    z-index: -1;
    height: 2px;
    background: linear-gradient(90deg, #C5DBFA 0%, #98CAEA 58%, #8DD7D0 100%);
}

body[data-product="tax-archive"] .archive-flow-stage {
    --archive-stage: #1E6FFF;
    --archive-stage-soft: #EBF3FF;
    position: relative;
    min-width: 0;
    padding: 18px 15px 16px;
    background: rgba(255,255,255,0.94);
    border: 1px solid #DCE8F7;
    border-radius: 16px;
    box-shadow: none;
    transition: transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);
}

body[data-product="tax-archive"] .archive-flow-stage:nth-child(2) {
    --archive-stage: #3E83ED;
    --archive-stage-soft: #EDF4FF;
}

body[data-product="tax-archive"] .archive-flow-stage:nth-child(3) {
    --archive-stage: #2C8FCB;
    --archive-stage-soft: #EAF7FD;
}

body[data-product="tax-archive"] .archive-flow-stage:nth-child(4) {
    --archive-stage: #27A7B8;
    --archive-stage-soft: #EAF8FA;
}

body[data-product="tax-archive"] .archive-flow-stage:nth-child(5) {
    --archive-stage: #28AFA1;
    --archive-stage-soft: #E9F8F5;
}

body[data-product="tax-archive"] .archive-flow-stage-head {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) 36px;
    align-items: center;
    gap: 9px;
    min-height: 72px;
    padding-bottom: 14px;
    border-bottom: 1px solid #E8F0F9;
}

body[data-product="tax-archive"] .archive-flow-number {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    background: var(--archive-stage);
    border-radius: 11px;
    box-shadow: none;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
}

body[data-product="tax-archive"] .archive-flow-stage-head small {
    display: block;
    margin-bottom: 3px;
    color: var(--archive-stage);
    font-size: 11px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: 0.08em;
}

body[data-product="tax-archive"] .archive-flow-stage-head h3 {
    color: #173B68;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 800;
    white-space: nowrap;
}

body[data-product="tax-archive"] .archive-flow-symbol {
    display: inline-flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    color: var(--archive-stage);
    background: var(--archive-stage-soft);
    border-radius: 11px;
}

body[data-product="tax-archive"] .archive-flow-symbol svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body[data-product="tax-archive"] .archive-flow-items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding-top: 14px;
}

body[data-product="tax-archive"] .archive-flow-items li {
    position: relative;
    display: flex;
    min-height: 34px;
    align-items: center;
    padding: 7px 6px 7px 17px;
    color: #4C6988;
    background: var(--archive-stage-soft);
    border-radius: 8px;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 700;
    white-space: nowrap;
}

body[data-product="tax-archive"] .archive-flow-items li::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 8px;
    width: 4px;
    height: 4px;
    background: var(--archive-stage);
    border-radius: 50%;
    transform: translateY(-50%);
}

body[data-product="tax-archive"] .archive-flow-stage:hover {
    border-color: color-mix(in srgb, var(--archive-stage) 34%, #DCE8F7);
    box-shadow: none;
    transform: translateY(-5px);
}

body[data-product="tax-archive"] .archive-flow-outcome {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: auto minmax(80px, 1fr) auto;
    align-items: center;
    gap: 14px;
    margin-top: 18px;
    padding: 12px 16px;
    color: #456583;
    background: linear-gradient(90deg, #EDF5FF 0%, #F1FBFA 100%);
    border: 1px solid #DDECF7;
    border-radius: 12px;
    font-size: 13px;
}

body[data-product="tax-archive"] .archive-flow-outcome > span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #2163B4;
    font-weight: 800;
    white-space: nowrap;
}

body[data-product="tax-archive"] .archive-flow-outcome i {
    width: 8px;
    height: 8px;
    background: #35B7A8;
    border-radius: 50%;
    box-shadow: none;
}

body[data-product="tax-archive"] .archive-flow-outcome > div {
    height: 1px;
    background: linear-gradient(90deg, rgba(30,111,255,0.2), rgba(53,183,168,0.5));
}

body[data-product="tax-archive"] .archive-flow-outcome strong {
    color: #244F7A;
    font-size: 13px;
    line-height: 1.5;
    text-align: right;
}

@media (max-width: 1100px) and (min-width: 900px) {
    body[data-product="tax-archive"] .archive-flow-board {
        padding: 20px;
    }

    body[data-product="tax-archive"] .archive-flow-pipeline {
        gap: 10px;
    }

    body[data-product="tax-archive"] .archive-flow-stage {
        padding: 15px 10px 13px;
    }

    body[data-product="tax-archive"] .archive-flow-stage-head {
        grid-template-columns: 32px minmax(0, 1fr);
        gap: 8px;
    }

    body[data-product="tax-archive"] .archive-flow-number {
        width: 32px;
        height: 32px;
    }

    body[data-product="tax-archive"] .archive-flow-symbol {
        display: none;
    }

    body[data-product="tax-archive"] .archive-flow-stage-head h3 {
        font-size: 16px;
    }

    body[data-product="tax-archive"] .archive-flow-items {
        grid-template-columns: 1fr;
        gap: 6px;
    }
}

@media (max-width: 899px) {
    body[data-product="tax-archive"] .archive-flow-board {
        max-width: 620px;
        padding: 20px;
        border-radius: 20px;
    }

    body[data-product="tax-archive"] .archive-flow-board-head {
        align-items: flex-start;
        padding-bottom: 18px;
    }

    body[data-product="tax-archive"] .archive-flow-pipeline {
        grid-template-columns: 1fr;
        gap: 12px;
        padding-left: 28px;
    }

    body[data-product="tax-archive"] .archive-flow-pipeline::before {
        top: 24px;
        right: auto;
        bottom: 24px;
        left: 10px;
        width: 2px;
        height: auto;
        background: linear-gradient(180deg, #C5DBFA 0%, #98CAEA 58%, #8DD7D0 100%);
    }

    body[data-product="tax-archive"] .archive-flow-stage-head {
        min-height: 58px;
        padding-bottom: 12px;
    }

    body[data-product="tax-archive"] .archive-flow-items {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        padding-top: 12px;
    }

    body[data-product="tax-archive"] .archive-flow-items li {
        justify-content: center;
        padding: 7px 6px 7px 14px;
    }
}

@media (max-width: 599px) {
    body[data-product="tax-archive"] .archive-flow-board {
        padding: 18px 14px;
    }

    body[data-product="tax-archive"] .archive-flow-board-head,
    body[data-product="tax-archive"] .archive-flow-board-title {
        align-items: flex-start;
        flex-direction: column;
    }

    body[data-product="tax-archive"] .archive-flow-board-head {
        gap: 14px;
    }

    body[data-product="tax-archive"] .archive-flow-board-title {
        gap: 9px;
    }

    body[data-product="tax-archive"] .archive-flow-features {
        width: 100%;
        justify-content: space-between;
    }

    body[data-product="tax-archive"] .archive-flow-pipeline {
        padding-left: 22px;
    }

    body[data-product="tax-archive"] .archive-flow-pipeline::before {
        left: 7px;
    }

    body[data-product="tax-archive"] .archive-flow-stage {
        padding: 14px 12px;
    }

    body[data-product="tax-archive"] .archive-flow-stage-head {
        grid-template-columns: 34px minmax(0, 1fr) 34px;
        gap: 8px;
    }

    body[data-product="tax-archive"] .archive-flow-stage-head h3 {
        font-size: 16px;
    }

    body[data-product="tax-archive"] .archive-flow-symbol {
        width: 34px;
        height: 34px;
    }

    body[data-product="tax-archive"] .archive-flow-items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    body[data-product="tax-archive"] .archive-flow-outcome {
        grid-template-columns: auto minmax(30px, 1fr);
        gap: 10px;
        padding: 11px 12px;
    }

    body[data-product="tax-archive"] .archive-flow-outcome strong {
        grid-column: 1 / -1;
        text-align: left;
    }
}

.capability-list {
    display: grid;
    gap: 0;
    border-top: 1px solid #E2ECFA;
}

.capability-row {
    display: grid;
    grid-template-columns: minmax(0, 1.03fr) minmax(0, 0.97fr);
    gap: clamp(30px, 5vw, 64px);
    align-items: center;
    padding: 44px 0;
    border-bottom: 1px solid #E2ECFA;
}

.capability-copy {
    max-width: 540px;
}

.capability-row:nth-child(even) .capability-copy {
    justify-self: start;
}

.capability-row:nth-child(odd) .capability-copy {
    justify-self: start;
}

.capability-copy h3 {
    margin-bottom: 20px;
    color: var(--text-primary);
    font-size: 30px;
    line-height: 1.34;
}

.capability-points {
    display: grid;
    gap: 12px;
}

.capability-points li {
    position: relative;
    display: flex;
    align-items: center;
    gap: 16px;
    color: #405A7A;
    font-size: 15px;
    line-height: 1.75;
}

.capability-points li::before {
    content: '';
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    background: var(--capability-accent, var(--color-primary));
    border-radius: 50%;
    box-shadow: 0 0 0 5px var(--capability-soft, #EEF5FF);
}

.capability-visual {
    position: relative;
    min-height: 0;
    aspect-ratio: 4 / 3;
    margin: 0;
    padding: 0;
    background: #EEF5FF;
    border: 1px solid rgba(30,111,255,0.16);
    border-radius: 24px;
    box-shadow: none;
    overflow: hidden;
    isolation: isolate;
}

.capability-visual::before {
    content: '';
    position: absolute;
    z-index: 1;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.18), transparent 42%),
        linear-gradient(0deg, rgba(20,65,130,0.05), transparent 36%);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.6);
    pointer-events: none;
}

.capability-visual-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.capability-screen {
    position: relative;
    z-index: 1;
    height: 100%;
    min-height: 282px;
    padding: 18px;
    background: rgba(255,255,255,0.9);
    border: 1px solid rgba(30,111,255,0.12);
    border-radius: var(--radius-sm);
    box-shadow: 0 16px 32px rgba(30, 72, 132, 0.1);
    overflow: hidden;
}

.capability-screen-top {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid #E6EEF8;
}

.capability-screen-top span {
    width: 38px;
    height: 10px;
    flex: 0 0 auto;
    border-radius: var(--radius-full);
    background:
        radial-gradient(circle at 5px 5px, #F97316 0 4px, transparent 4px),
        radial-gradient(circle at 19px 5px, #22C55E 0 4px, transparent 4px),
        radial-gradient(circle at 33px 5px, #1E6FFF 0 4px, transparent 4px);
}

.capability-screen-top strong {
    min-width: 0;
    color: #254263;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 800;
}

.capability-visual-org {
    --capability-accent: #1E6FFF;
    --capability-soft: #EAF3FF;
}

.org-chart {
    position: relative;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-template-rows: 68px 74px 74px;
    gap: 14px 10px;
    padding: 8px 4px 0;
}

.org-chart::before,
.org-chart::after {
    content: '';
    position: absolute;
    left: 10%;
    right: 10%;
    height: 1px;
    background: #BFD7F7;
}

.org-chart::before { top: 82px; }

.org-chart::after { top: 170px; }

.org-node {
    position: relative;
    z-index: 1;
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    padding: 9px 8px;
    color: #315578;
    background: #FFFFFF;
    border: 1px solid #CFE0F7;
    border-radius: var(--radius-sm);
    box-shadow: 0 8px 18px rgba(30,111,255,0.08);
    font-size: 13px;
    line-height: 1.35;
    font-weight: 800;
    text-align: center;
}

.org-root {
    grid-column: 2 / 6;
    color: #FFFFFF;
    background: linear-gradient(135deg, #1557D0, #1E6FFF);
    border-color: transparent;
}

.org-node:nth-child(2) { grid-column: 1 / 4; }

.org-node:nth-child(3) { grid-column: 4 / 7; }

.org-node:nth-child(4) { grid-column: 1 / 3; }

.org-node:nth-child(5) { grid-column: 3 / 5; }

.org-node:nth-child(6) { grid-column: 5 / 7; }

.org-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}

.org-summary span {
    min-width: 0;
    padding: 10px 8px;
    color: #315578;
    background: #F7FAFF;
    border: 1px solid #DFEAF8;
    border-radius: var(--radius-sm);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;
    text-align: center;
}

.capability-visual-data {
    --capability-accent: #0F766E;
    --capability-soft: #E9F8F6;
}

.data-map {
    display: grid;
    grid-template-columns: 0.9fr 1fr 0.75fr;
    gap: 14px;
    align-items: center;
    min-height: 172px;
}

.data-source-list,
.data-output-list {
    display: grid;
    gap: 10px;
}

.data-source-list span,
.data-output-list span {
    padding: 10px 12px;
    color: #315578;
    background: #FFFFFF;
    border: 1px solid #D9E7F8;
    border-radius: var(--radius-sm);
    box-shadow: 0 6px 14px rgba(30,111,255,0.06);
    font-size: 13px;
    line-height: 1.2;
    font-weight: 800;
    text-align: center;
}

.data-hub {
    position: relative;
    display: flex;
    width: 132px;
    aspect-ratio: 1;
    align-items: center;
    justify-content: center;
    justify-self: center;
    color: #FFFFFF;
    background: linear-gradient(135deg, #0F766E, #1E6FFF);
    border-radius: 50%;
    box-shadow: 0 14px 28px rgba(15,118,110,0.2);
    font-size: 16px;
    font-weight: 900;
}

.data-hub::before,
.data-hub::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 64px;
    height: 2px;
    background: repeating-linear-gradient(90deg, #A7C8F5 0 8px, transparent 8px 14px);
}

.data-hub::before { right: calc(100% + 6px); }

.data-hub::after { left: calc(100% + 6px); }

.data-sync {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 16px;
    padding: 14px 16px;
    color: #315578;
    background: #F6FBFA;
    border: 1px solid #CFEDEA;
    border-radius: var(--radius-sm);
}

.data-sync span {
    font-size: 13px;
    font-weight: 800;
}

.data-sync strong {
    color: #0F766E;
    font-size: 26px;
    line-height: 1;
}

.capability-visual-workpaper {
    --capability-accent: #7C3AED;
    --capability-soft: #F1EDFF;
}

.formula-bar {
    margin-bottom: 14px;
    padding: 12px 14px;
    color: #5B45A4;
    background: #F5F1FF;
    border: 1px solid #DED4FF;
    border-radius: var(--radius-sm);
    font-size: 13px;
    line-height: 1.4;
    font-weight: 800;
}

.worksheet-table {
    display: grid;
    grid-template-columns: 1.15fr 0.9fr 0.85fr;
    border: 1px solid #DCE6F4;
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.worksheet-table span,
.worksheet-table strong,
.worksheet-table em {
    min-width: 0;
    padding: 13px 12px;
    border-right: 1px solid #E6EEF8;
    border-bottom: 1px solid #E6EEF8;
    font-size: 13px;
    line-height: 1.3;
    font-style: normal;
}

.worksheet-table span {
    color: #55708F;
    background: #F7FAFF;
    font-weight: 900;
}

.worksheet-table strong {
    color: #254263;
    background: #FFFFFF;
    font-weight: 800;
}

.worksheet-table em {
    color: #7C3AED;
    background: #FBFAFF;
    font-weight: 900;
}

.worksheet-table span:nth-child(3n),
.worksheet-table strong:nth-child(3n),
.worksheet-table em:nth-child(3n) {
    border-right: 0;
}

.worksheet-table strong:nth-last-child(-n + 3),
.worksheet-table em:nth-last-child(-n + 3) {
    border-bottom: 0;
}

.capability-visual-risk {
    --capability-accent: #F97316;
    --capability-soft: #FFF3E8;
}

.risk-dashboard {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    min-height: 210px;
}

.risk-ring {
    display: flex;
    width: 150px;
    aspect-ratio: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at center, #FFFFFF 0 54%, transparent 55%),
        conic-gradient(#22C55E 0 72%, #F97316 72% 87%, #E6EEF8 87% 100%);
    border-radius: 50%;
    box-shadow: 0 12px 26px rgba(249,115,22,0.13);
}

.risk-ring span {
    color: #254263;
    font-size: 34px;
    line-height: 1;
    font-weight: 900;
}

.risk-ring strong {
    margin-top: 6px;
    color: #64748B;
    font-size: 12px;
}

.risk-checks {
    display: grid;
    gap: 10px;
}

.risk-checks li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 12px;
    background: #FFFFFF;
    border: 1px solid #E2ECFA;
    border-radius: var(--radius-sm);
    box-shadow: 0 6px 14px rgba(30,111,255,0.05);
}

.risk-checks span {
    min-width: 0;
    color: #315578;
    font-size: 13px;
    font-weight: 800;
}

.risk-checks strong {
    flex: 0 0 auto;
    color: #0F766E;
    font-size: 12px;
    font-weight: 900;
}

.risk-checks li:nth-child(2) strong,
.risk-checks li:nth-child(4) strong {
    color: #F97316;
}

.capability-visual-submit {
    --capability-accent: #0EA5E9;
    --capability-soft: #EAF7FF;
}

.submit-flow {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 12px 0 22px;
}

.submit-flow::before {
    content: '';
    position: absolute;
    top: 25px;
    right: 8%;
    left: 8%;
    height: 2px;
    background: #BFD7F7;
}

.submit-flow span {
    position: relative;
    z-index: 1;
    display: flex;
    min-width: 0;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    background: linear-gradient(135deg, #1557D0, #0EA5E9);
    border-radius: var(--radius-full);
    box-shadow: 0 10px 18px rgba(14,165,233,0.15);
    font-size: 13px;
    font-weight: 900;
}

.submit-status-list {
    display: grid;
    gap: 12px;
}

.submit-status-list span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 14px;
    color: #315578;
    background: #FFFFFF;
    border: 1px solid #E2ECFA;
    border-radius: var(--radius-sm);
    box-shadow: 0 6px 14px rgba(30,111,255,0.05);
}

.submit-status-list strong,
.submit-status-list em {
    min-width: 0;
    font-size: 13px;
    line-height: 1.3;
    font-style: normal;
}

.submit-status-list strong {
    font-weight: 900;
}

.submit-status-list em {
    flex: 0 0 auto;
    color: #0F766E;
    font-weight: 800;
}

.submit-status-list span:nth-child(2) em {
    color: #F97316;
}

.capability-visual-archive {
    --capability-accent: #0891B2;
    --capability-soft: #E9F8FB;
}

.archive-dashboard {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 18px;
    align-items: stretch;
    min-height: 172px;
}

.archive-stack {
    display: grid;
    align-content: center;
    gap: 12px;
}

.archive-stack span {
    position: relative;
    padding: 14px 16px 14px 42px;
    color: #315578;
    background: #FFFFFF;
    border: 1px solid #D6E7F8;
    border-radius: var(--radius-sm);
    box-shadow: 0 8px 16px rgba(8,145,178,0.08);
    font-size: 13px;
    font-weight: 900;
}

.archive-stack span::before {
    content: '';
    position: absolute;
    top: 16px;
    left: 15px;
    width: 16px;
    height: 12px;
    background: var(--capability-accent);
    border-radius: 3px;
    opacity: 0.88;
}

.archive-chart {
    display: flex;
    min-height: 172px;
    align-items: end;
    gap: 12px;
    padding: 18px;
    background: #F7FCFD;
    border: 1px solid #CFECEF;
    border-radius: var(--radius-sm);
}

.archive-chart .bar {
    flex: 1;
    min-width: 0;
    background: linear-gradient(180deg, #0EA5E9, #0F766E);
    border-radius: 7px 7px 3px 3px;
}

.archive-chart .bar-1 { height: 48%; }

.archive-chart .bar-2 { height: 70%; }

.archive-chart .bar-3 { height: 56%; }

.archive-chart .bar-4 { height: 84%; }

.archive-search {
    margin-top: 16px;
    padding: 13px 16px;
    color: #55708F;
    background: #FFFFFF;
    border: 1px solid #DCE8F5;
    border-radius: var(--radius-full);
    font-size: 13px;
    line-height: 1.2;
    font-weight: 800;
}

.process-timeline {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    border: 1px solid rgba(30,111,255,0.14);
    border-radius: var(--radius-sm);
    overflow: hidden;
    background: #FFFFFF;
}

.process-step {
    position: relative;
    min-height: 260px;
    padding: 30px 24px;
    background: #FFFFFF;
    border-right: 1px solid rgba(30,111,255,0.12);
}

.process-step:last-child {
    border-right: 0;
}

.process-step::after {
    content: '';
    position: absolute;
    top: 54px;
    right: -10px;
    z-index: 2;
    width: 20px;
    height: 20px;
    border-top: 1px solid rgba(30,111,255,0.2);
    border-right: 1px solid rgba(30,111,255,0.2);
    background: #FFFFFF;
    transform: rotate(45deg);
}

.process-step:last-child::after {
    display: none;
}

.process-step span {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    margin-bottom: 26px;
    color: var(--text-white);
    background: var(--gradient-btn);
    border-radius: 50%;
    font-size: 14px;
    font-weight: 800;
}

.process-step h3 {
    margin-bottom: 12px;
    color: var(--text-primary);
    font-size: 19px;
    line-height: 1.35;
}

.process-step p {
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 1.75;
}

.scenario-shell {
    display: grid;
    grid-template-columns: minmax(0, 0.78fr) minmax(420px, 1fr);
    gap: 44px;
    align-items: center;
    padding: 42px;
    background: #FFFFFF;
    border: 1px solid rgba(30,111,255,0.14);
    border-radius: var(--radius-sm);
}

.scenario-copy h2 {
    margin-bottom: 16px;
    color: var(--text-primary);
    font-size: 34px;
    line-height: 1.35;
}

.scenario-copy p {
    margin-bottom: 26px;
    color: var(--text-secondary);
    font-size: 15px;
    line-height: 1.85;
}

.scenario-tabs {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 6px;
    background: #F1F5F9;
    border: 1px solid #E2E8F0;
    border-radius: var(--radius-sm);
}

.scenario-tab {
    min-height: 38px;
    padding: 8px 14px;
    color: var(--text-secondary);
    background: transparent;
    border-radius: var(--radius-sm);
    font-size: 14px;
    font-weight: 800;
    transition: all var(--transition-fast);
}

.scenario-tab.active,
.scenario-tab:hover {
    color: var(--color-primary);
    background: #FFFFFF;
}

.scenario-panels {
    position: relative;
    min-height: 330px;
    padding: 34px;
    color: #1B3958;
    background:
        radial-gradient(circle at 88% 14%, rgba(74, 151, 255, 0.28), transparent 27%),
        radial-gradient(circle at 16% 88%, rgba(44, 205, 171, 0.20), transparent 31%),
        linear-gradient(135deg, #F8FBFF 0%, #EAF4FF 52%, #EBFBF6 100%);
    border: 1px solid #CFE1F6;
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.scenario-panel {
    position: relative;
    z-index: 2;
    display: none;
}

.scenario-panel.active {
    display: block;
}

.scenario-panel h3 {
    margin-bottom: 14px;
    color: #102D50;
    font-size: 28px;
    line-height: 1.3;
}

.scenario-panel p {
    max-width: 560px;
    margin-bottom: 22px;
    color: #4B6885;
    font-size: 16px;
    line-height: 1.85;
}

.scenario-panel ul {
    display: grid;
    gap: 12px;
}

.scenario-panel li {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #2D4C6A;
    font-size: 15px;
    font-weight: 700;
}

.scenario-panel li::before {
    content: '';
    width: 8px;
    height: 8px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #18AE87;
}

.value-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.value-card {
    min-height: 240px;
    padding: 32px 24px;
    background: #FFFFFF;
    border: 1px solid var(--border-light);
    border-radius: var(--radius-sm);
    transition: all var(--transition-base);
}

.value-card:hover {
    transform: translateY(-3px);
    border-color: var(--color-primary);
    box-shadow: var(--shadow-card-hover);
}

.value-card h3 {
    margin-bottom: 16px;
    color: var(--text-primary);
    font-size: 21px;
}

.value-card p {
    color: var(--text-secondary);
    font-size: 15px;
    line-height: 1.8;
}

.product-advantage-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.product-advantage-card {
    --advantage-accent: #1E6FFF;
    --advantage-soft: #EDF4FF;
    position: relative;
    min-height: 280px;
    padding: 32px 26px 30px;
    background: linear-gradient(145deg, #FFFFFF 0%, #FFFFFF 58%, var(--advantage-soft) 100%);
    border: 1px solid rgba(30,111,255,0.18);
    border-radius: var(--radius-sm);
    box-shadow: 0 12px 30px rgba(34, 76, 132, 0.09);
    overflow: hidden;
    transition: all var(--transition-base);
}

.product-advantage-card:nth-child(2) {
    --advantage-accent: #6C63F2;
    --advantage-soft: #F1EFFF;
}

.product-advantage-card:nth-child(3) {
    --advantage-accent: #16A789;
    --advantage-soft: #E8F9F4;
}

.product-advantage-card:nth-child(4) {
    --advantage-accent: #F07A42;
    --advantage-soft: #FFF1E8;
}

.product-advantage-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, var(--advantage-accent) 0%, rgba(255,255,255,0) 92%);
}

.product-advantage-card::after {
    content: '';
    position: absolute;
    right: -52px;
    bottom: -64px;
    width: 160px;
    height: 160px;
    background: var(--advantage-soft);
    border-radius: 50%;
    opacity: 0.72;
    pointer-events: none;
}

.product-advantage-card:hover {
    transform: translateY(-6px);
    border-color: var(--advantage-accent);
    box-shadow: 0 20px 44px rgba(36, 82, 145, 0.16);
}

.product-advantage-card span {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    margin-bottom: 28px;
    color: #FFFFFF;
    background: var(--advantage-accent);
    border-radius: 17px;
    box-shadow: 0 10px 22px rgba(30,111,255,0.18);
    font-size: 19px;
    line-height: 1;
    font-weight: 800;
}

.product-advantage-card h3 {
    position: relative;
    z-index: 1;
    margin-bottom: 16px;
    color: var(--text-primary);
    font-size: 22px;
    line-height: 1.4;
    font-weight: 800;
}

.product-advantage-card p {
    position: relative;
    z-index: 1;
    color: #536C88;
    font-size: 14px;
    line-height: 1.85;
}

.outbound-section-eyebrow,
.outbound-scenario-label {
    display: inline-flex;
    align-items: center;
    width: max-content;
    color: #176FE8;
    font-weight: 800;
}

.outbound-section-eyebrow {
    margin-bottom: 14px;
    padding: 7px 11px;
    background: #EAF3FF;
    border: 1px solid #D7E7FB;
    border-radius: 999px;
    font-size: 12px;
}

.outbound-scenario-label {
    margin-bottom: 12px;
    padding: 6px 10px;
    color: #1767C7;
    background: rgba(219, 237, 255, 0.92);
    border: 1px solid #BFD9F7;
    border-radius: 999px;
    font-size: 11px;
}

.outbound-scenario-flow {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
    align-items: center;
    gap: 6px;
    margin-bottom: 18px;
    padding: 14px;
    background: rgba(255, 255, 255, 0.64);
    border: 1px solid rgba(178, 207, 238, 0.72);
    border-radius: 13px;
}

.outbound-scenario-flow span {
    display: grid;
    min-width: 0;
    min-height: 74px;
    align-content: center;
    justify-items: center;
    gap: 7px;
    padding: 9px 6px;
    color: #294A69;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #D6E5F4;
    border-radius: 9px;
    font-size: 11px;
    font-weight: 800;
    text-align: center;
}

.outbound-scenario-flow b {
    display: inline-flex;
    width: 25px;
    height: 25px;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    background: linear-gradient(135deg, #287FF0, #4A9DFF);
    border-radius: 8px;
    font-size: 9px;
}

.outbound-scenario-flow i {
    color: #16A985;
    font-size: 15px;
    font-style: normal;
    font-weight: 900;
}

@media (max-width: 767px) {
.outbound-scenario-flow {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        padding: 10px;
    }

.outbound-scenario-flow i { display: none; }

.outbound-scenario-flow span { min-height: 68px; }
}

@media (max-width: 479px) {
.outbound-scenario-flow { grid-template-columns: 1fr; }

.outbound-scenario-flow span { min-height: 56px; }
}

@media (max-width: 1199px) {
.product-detail-page { --product-section-space: 72px; }
}

@media (max-width: 767px) {
.product-detail-page { --product-section-space: 56px; }

.stat-number { font-size: 24px; }

.stat-suffix { font-size: 14px; }
}

@media (max-width: 1199px) {
.product-hero-section { height: 450px; }

.scenario-shell {
            grid-template-columns: 1fr;
        }

.capability-row {
            grid-template-columns: 1fr;
            gap: 28px;
            padding: 38px 0;
        }

.capability-row .capability-copy {
            order: 1;
            max-width: 100%;
            justify-self: start;
        }

.capability-row .capability-visual {
            order: 2;
        }

.product-hero-layout {
            grid-template-columns: minmax(0, 1fr) 340px;
            gap: 26px;
        }

.product-hero-title { font-size: 36px; }

.product-hero-desc { font-size: 16px; }

.product-hero-visual-img {
            width: 340px;
            height: auto;
        }

.product-detail-generated .product-hero-layout {
            grid-template-columns: minmax(0, 1fr) 350px;
        }

.product-hero-dashboard { transform: none; }

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

.value-grid,
        .product-advantage-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

.process-timeline {
            grid-template-columns: 1fr;
        }

.process-step {
            min-height: 0;
            border-right: 0;
            border-bottom: 1px solid rgba(30,111,255,0.12);
        }

.process-step:last-child {
            border-bottom: 0;
        }

.process-step::after {
            display: none;
        }
}

@media (max-width: 899px) {
.tax-process-overview {
            max-width: 390px;
            padding: 0;
        }

.tax-process-overview::before {
            display: none;
        }

.tax-process-steps {
            grid-template-columns: 1fr;
            gap: 0;
        }

.tax-process-step {
            padding-bottom: 42px;
        }

.tax-process-stage {
            width: 160px;
            margin-bottom: 22px;
        }
}

@media (max-width: 767px) {
.product-hero-section {
            height: 450px;
            min-height: 0;
            padding: 34px 0 28px;
        }

.product-hero-layout {
            grid-template-columns: 1fr;
            gap: 14px;
            height: 100%;
            align-content: center;
            justify-content: center;
            text-align: center;
        }

.product-detail-generated .product-hero-layout {
            grid-template-columns: minmax(0, 1fr);
            width: 100%;
        }

.product-detail-generated .product-hero-copy {
            width: 100%;
            min-width: 0;
        }

.product-hero-visual {
            display: none;
        }

.product-hero-kicker {
            margin-bottom: 16px;
            font-size: 14px;
        }

.product-hero-title {
            max-width: 100%;
            font-size: 28px;
            line-height: 1.32;
        }

.product-hero-desc {
            max-width: 100%;
            font-size: 15px;
            line-height: 1.7;
        }

.problem-grid,
        .value-grid,
        .product-advantage-grid {
            grid-template-columns: 1fr;
        }

.value-card,
        .product-advantage-card {
            min-height: 0;
            padding: 24px 22px;
        }

.problem-card {
            min-height: 0;
            padding: 0;
            cursor: default;
        }

.problem-card:hover,
        .problem-card:focus {
            transform: none;
        }

.problem-card:hover .problem-card-inner,
        .problem-card:focus .problem-card-inner,
        .problem-card:focus-within .problem-card-inner {
            transform: none;
        }

.problem-card-inner {
            min-height: 0;
            transform: none;
        }

.problem-card-face {
            position: relative;
            inset: auto;
            min-height: 0;
            padding: 24px 22px;
            backface-visibility: visible;
            -webkit-backface-visibility: visible;
        }

.problem-card-front {
            border-bottom: 0;
            border-bottom-right-radius: 0;
            border-bottom-left-radius: 0;
        }

.problem-card-back {
            transform: none;
            border-top-right-radius: 0;
            border-top-left-radius: 0;
        }

.capability-copy h3,
        .scenario-copy h2,
        .product-cta-panel h2 {
            font-size: 26px;
        }

.capability-row {
            gap: 22px;
            padding: 34px 0;
        }

.capability-points li {
            gap: 14px;
            font-size: 14px;
        }

.capability-visual {
            min-height: 0;
            padding: 0;
            border-radius: 18px;
        }

.capability-screen {
            min-height: 0;
            padding: 14px;
        }

.capability-screen-top {
            margin-bottom: 14px;
        }

.capability-visual-generated { padding: 0; }

.capability-visual-generated .product-visual-scene {
            width: 128.21%;
            height: 128.21%;
            transform: scale(0.78);
            transform-origin: 0 0;
        }

.detail-data-map,
        .detail-risk-view,
        .detail-archive-view {
            grid-template-columns: 1fr;
            min-height: 0;
        }

.detail-data-map { gap: 12px; }

.detail-data-map > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.detail-data-map > strong { width: 92px; justify-self: center; font-size: 12px; }

.detail-risk-ring { width: 122px; justify-self: center; }

.detail-flow-view > div { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 10px; }

.detail-flow-view > div::before { display: none; }

.detail-flow-view p { margin-top: 22px; }

.detail-archive-bars { min-height: 150px; }

.detail-table-head,
        .detail-table-view > div:not(.detail-table-head) { grid-template-columns: 1.15fr 0.85fr 0.72fr; }

.detail-table-head span,
        .detail-table-view > div:not(.detail-table-head) > * { padding: 9px 7px; }

.org-chart {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            grid-template-rows: auto;
            gap: 10px;
        }

.org-chart::before,
        .org-chart::after {
            display: none;
        }

.org-root,
        .org-node:nth-child(2),
        .org-node:nth-child(3),
        .org-node:nth-child(4),
        .org-node:nth-child(5),
        .org-node:nth-child(6) {
            grid-column: auto;
        }

.org-root {
            grid-column: 1 / -1;
        }

.org-summary {
            grid-template-columns: 1fr;
        }

.data-map {
            grid-template-columns: 1fr;
            gap: 12px;
            min-height: 0;
        }

.data-source-list {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

.data-output-list {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

.data-hub {
            width: 106px;
            font-size: 14px;
        }

.data-hub::before,
        .data-hub::after {
            display: none;
        }

.data-sync strong {
            font-size: 22px;
        }

.formula-bar {
            font-size: 12px;
        }

.worksheet-table span,
        .worksheet-table strong,
        .worksheet-table em {
            padding: 10px 8px;
            font-size: 12px;
        }

.risk-dashboard {
            grid-template-columns: 1fr;
            gap: 16px;
            min-height: 0;
        }

.risk-ring {
            width: 132px;
            justify-self: center;
        }

.submit-flow {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

.submit-flow::before {
            display: none;
        }

.submit-status-list span {
            align-items: flex-start;
            flex-direction: column;
            gap: 6px;
        }

.submit-status-list em {
            flex-basis: auto;
        }

.archive-dashboard {
            grid-template-columns: 1fr;
            min-height: 0;
        }

.archive-chart {
            min-height: 150px;
        }

.scenario-shell,
        .scenario-panels,
        .product-cta-panel {
            padding: 24px;
        }

.tax-process-overview {
            max-width: 340px;
            padding: 0;
        }

.tax-process-steps {
            grid-template-columns: 1fr;
            gap: 0;
        }

.tax-process-step {
            padding-bottom: 42px;
        }

.tax-process-stage {
            width: 154px;
            margin-bottom: 22px;
        }

.tax-process-stage h3 {
            font-size: 20px;
        }

.scenario-panels { min-height: 360px; }

.scenario-panel h3 { font-size: 24px; }

.scenario-tabs { display: grid; grid-template-columns: 1fr; width: 100%; }

.scenario-tab { width: 100%; }

.product-cta-panel {
            flex-direction: column;
            align-items: stretch;
            text-align: left;
        }

.product-cta-panel .btn { width: 100%; }
}

/* ============================================================
   enterprise-tax.css
   ============================================================ */

/* Enterprise tax product page — generated from the verified 2026-07-27 split */

/* 企税申报流程：业务链路工作台版 */
.process-design-block {
    max-width: 1220px;
    margin: 0 auto;
}

.etax-flow-board {
    position: relative;
    padding: 30px 28px 24px;
    background:
        radial-gradient(circle at 14% -8%, rgba(91, 157, 255, 0.22), transparent 31%),
        radial-gradient(circle at 92% 118%, rgba(52, 198, 169, 0.18), transparent 32%),
        linear-gradient(135deg, #F6FAFF 0%, #EDF5FF 52%, #ECF8F5 100%);
    border: 1px solid #D4E3F2;
    border-radius: 26px;
    overflow: hidden;
}

.etax-flow-board-head,
.etax-flow-phases,
.etax-flow-track,
.etax-flow-board-foot {
    position: relative;
    z-index: 1;
}

.etax-flow-board-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.etax-flow-board-head > div {
    display: grid;
    gap: 7px;
}

.etax-flow-board-head strong {
    color: #173B5D;
    font-size: 28px;
    line-height: 1.25;
}

.etax-flow-board-head > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.etax-flow-board-head > ul li {
    padding: 7px 11px;
    color: #47739D;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid #D5E5F3;
    border-radius: 999px;
    font-size: 13px;
    line-height: 1;
    font-weight: 700;
}

.etax-flow-phases {
    display: grid;
    grid-template-columns: 2fr 2fr 1fr;
    gap: 12px;
    margin-bottom: 12px;
}

.etax-flow-phases span {
    padding: 8px 14px;
    color: #557FA9;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid #D9E7F4;
    border-radius: 9px;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.etax-flow-phases span:nth-child(2) {
    color: #268B78;
}

.etax-flow-phases span:nth-child(3) {
    color: #B87924;
}

.etax-flow-track {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 13px;
}

.etax-flow-card {
    --etax-flow-accent: #3D8BFF;
    position: relative;
    min-width: 0;
    padding: 18px 15px 15px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F5F9FE 100%);
    border: 1px solid #DCE8F3;
    border-radius: 15px;
    box-shadow: 0 13px 28px rgba(48, 91, 135, 0.11);
}

.etax-flow-card:nth-child(2) { --etax-flow-accent: #5A7FF0; }
.etax-flow-card:nth-child(3) { --etax-flow-accent: #0DA6A0; }
.etax-flow-card:nth-child(4) { --etax-flow-accent: #17A889; }
.etax-flow-card:nth-child(5) { --etax-flow-accent: #E4A23F; }

.etax-flow-card::before {
    content: '';
    position: absolute;
    top: 0;
    right: 16px;
    left: 16px;
    height: 3px;
    background: var(--etax-flow-accent);
    border-radius: 0 0 999px 999px;
}

.etax-flow-card:not(:last-child)::after {
    content: '';
    position: absolute;
    z-index: 3;
    top: 29px;
    right: -21px;
    display: block;
    box-sizing: border-box;
    width: 28px;
    height: 28px;
    background-color: #FFFFFF;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6 4l4 4-4 4' fill='none' stroke='%23148D7A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 16px;
    border: 3px solid #E4F0F3;
    border-radius: 50%;
}

.etax-flow-card-head {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 48px;
    margin-bottom: 17px;
}

.etax-flow-number {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    color: #FFFFFF;
    background: var(--etax-flow-accent);
    border-radius: 11px;
    box-shadow: 0 7px 14px color-mix(in srgb, var(--etax-flow-accent) 26%, transparent);
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
}

.etax-flow-card-head > div {
    min-width: 0;
}

.etax-flow-card-head small {
    display: block;
    margin-bottom: 4px;
    color: var(--etax-flow-accent);
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
}

.etax-flow-card-head h3 {
    color: #1C3C5B;
    font-size: 17px;
    line-height: 1.3;
    white-space: nowrap;
}

.etax-flow-card > ul {
    display: grid;
    gap: 7px;
}

.etax-flow-card > ul li {
    position: relative;
    display: flex;
    min-height: 38px;
    align-items: center;
    padding: 7px 8px 7px 21px;
    color: #506B85;
    background: #FFFFFF;
    border: 1px solid #E4EDF6;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 700;
}

.etax-flow-card > ul li::before {
    content: '';
    position: absolute;
    left: 9px;
    width: 5px;
    height: 5px;
    background: var(--etax-flow-accent);
    border-radius: 50%;
}

.etax-flow-board-foot {
    display: grid;
    grid-template-columns: auto minmax(80px, 1fr) auto;
    align-items: center;
    gap: 14px;
    margin-top: 16px;
    padding: 13px 15px;
    color: #627E99;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid #D8E7F2;
    border-radius: 11px;
}

.etax-flow-board-foot strong {
    color: #168D78;
    font-size: 13px;
}

.etax-flow-board-foot span {
    height: 1px;
    background: linear-gradient(90deg, rgba(98, 218, 194, 0.75), rgba(125, 169, 219, 0.14));
}

.etax-flow-board-foot p {
    font-size: 12px;
    line-height: 1.4;
}

@media (max-width: 1023px) {
    .etax-flow-phases { display: none; }
    .etax-flow-track {
        max-width: 560px;
        margin: 0 auto;
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .etax-flow-card {
        display: grid;
        grid-template-columns: minmax(170px, 0.8fr) minmax(0, 1.2fr);
        gap: 18px;
        align-items: center;
        padding: 17px;
    }
    .etax-flow-card-head { margin-bottom: 0; }
    .etax-flow-card:not(:last-child)::after {
        top: auto;
        right: 50%;
        bottom: -24px;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23148D7A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        transform: translateX(50%);
    }
}

@media (max-width: 767px) {
    .etax-flow-board { padding: 24px 18px 18px; border-radius: 22px; }
    .etax-flow-board-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
    }
    .etax-flow-board-head strong { font-size: 24px; }
    .etax-flow-board-head > ul { justify-content: flex-start; }
    .etax-flow-card {
        display: block;
        padding: 18px 15px 15px;
    }
    .etax-flow-card-head { margin-bottom: 16px; }
    .etax-flow-board-foot {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .etax-flow-board-foot span { display: none; }
}

@media (max-width: 479px) {
    .etax-flow-board { padding: 22px 13px 15px; }
    .etax-flow-board-head > ul li { padding: 7px 9px; }
}

/* ============================================================
   inbound-invoice.css
   ============================================================ */

/* Inbound invoice product page — generated from the verified 2026-07-27 split */

.inbound-flow-scroll {
    width: 100%;
    overflow-x: auto;
    padding: 2px 2px 14px;
    scrollbar-color: #B9CCE3 #EEF3F8;
    scrollbar-width: thin;
}

.inbound-flow-map {
    min-width: 1080px;
    padding: 22px;
    background: #F7FAFE;
    border: 1px solid #DCE8F5;
    border-radius: 22px;
    box-shadow: none;
}

.inbound-flow-system-heads,
.inbound-flow-lanes {
    display: grid;
    grid-template-columns: 1.02fr 1.16fr 1.04fr 1.08fr 0.96fr;
    gap: 0;
}

.inbound-flow-system-heads {
    margin-bottom: 14px;
}

.inbound-flow-system-head {
    position: relative;
    min-width: 0;
    padding: 15px 16px;
    color: #FFFFFF;
    background: #1E5FD2;
    border-right: 1px solid rgba(255,255,255,0.30);
    text-align: center;
}

.inbound-flow-system-head:nth-child(2) { background: #4D8FFF; }
.inbound-flow-system-head:nth-child(3) { background: #2683E8; }
.inbound-flow-system-head:nth-child(4) { background: #21A1B6; }
.inbound-flow-system-head:nth-child(5) { background: #3B7DDE; }

.inbound-flow-system-head:first-child {
    border-radius: 12px 0 0 12px;
}

.inbound-flow-system-head:last-child {
    border-right: 0;
    border-radius: 0 12px 12px 0;
}

.inbound-flow-system-head span {
    display: inline-flex;
    width: 26px;
    height: 26px;
    align-items: center;
    justify-content: center;
    margin-right: 7px;
    background: rgba(255,255,255,0.18);
    border-radius: 8px;
    font-size: 11px;
    font-weight: 900;
    vertical-align: middle;
}

.inbound-flow-system-head strong {
    font-size: 17px;
    line-height: 1.25;
    vertical-align: middle;
}

.inbound-flow-system-head small {
    display: block;
    margin-top: 6px;
    color: rgba(255,255,255,0.72);
    font-size: 12px;
    font-weight: 650;
}

.inbound-flow-lane {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 430px;
    flex-direction: column;
    justify-content: center;
    padding: 22px 20px;
    border-right: 1px dashed #C9DDF4;
}

.inbound-flow-lane:last-child {
    border-right: 0;
}

.inbound-flow-lane:not(:last-child)::after {
    content: '→';
    position: absolute;
    z-index: 5;
    top: 50%;
    right: -17px;
    display: inline-flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    background: #1E6FFF;
    border: 4px solid #F4F8FC;
    border-radius: 50%;
    box-shadow: none;
    font-size: 15px;
    font-weight: 900;
    transform: translateY(-50%);
}

.inbound-flow-source-list,
.inbound-flow-stack {
    display: grid;
    gap: 10px;
}

.inbound-flow-source-list span {
    display: flex;
    min-height: 48px;
    align-items: center;
    padding: 11px 14px;
    color: #365674;
    background: #FBFDFF;
    border: 1px solid #DCE8F5;
    border-radius: 11px;
    box-shadow: none;
    font-size: 15px;
    font-weight: 800;
}

.inbound-flow-source-list span::before {
    content: '';
    width: 9px;
    height: 9px;
    margin-right: 10px;
    background: #2678FF;
    border-radius: 50%;
    outline: 4px solid #E8F2FF;
}

.inbound-flow-source-list span:nth-child(2)::before { background: #6D69F5; outline-color: #F0EDFF; }
.inbound-flow-source-list span:nth-child(3)::before { background: #18A985; outline-color: #E8F8F3; }
.inbound-flow-source-list span:nth-child(4)::before { background: #21A1B6; outline-color: #E9F8FA; }

.inbound-flow-lane-note {
    margin-top: 14px;
    padding: 9px 12px;
    color: #176FE8;
    background: #EAF3FF;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-align: center;
}

.inbound-flow-pool {
    padding: 16px;
    background: #F2F7FD;
    border: 1px dashed #9FC2EA;
    border-radius: 18px;
    box-shadow: none;
}

.inbound-flow-pool h3 {
    margin-bottom: 14px;
    color: #145DAF;
    font-size: 22px;
    text-align: center;
}

.inbound-flow-pool-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.inbound-flow-pool-grid span,
.inbound-flow-stack span {
    display: flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 10px;
    color: #245FAD;
    background: #FFFFFF;
    border: 1px solid #CFE0F7;
    border-radius: 10px;
    box-shadow: none;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 800;
    text-align: center;
}

.inbound-flow-pool-grid span {
    min-width: 0;
    padding: 10px 6px;
    white-space: nowrap;
    word-break: keep-all;
}

.inbound-flow-pool-grid span:nth-child(1) { color: #1E5FD2; background: #EAF3FF; border-color: #CFE0F7; }
.inbound-flow-pool-grid span:nth-child(2) { color: #3979D9; background: #EDF5FF; border-color: #D6E6FA; }
.inbound-flow-pool-grid span:nth-child(3) { color: #168E73; background: #E9F8F4; border-color: #CFEDE5; }
.inbound-flow-pool-grid span:nth-child(4) { color: #16869A; background: #E9F8FA; border-color: #CDEBF0; }

.inbound-flow-stack {
    position: relative;
}

.inbound-flow-stack span {
    position: relative;
    min-height: 56px;
    color: #245FAD;
    background: #F7FAFF;
    border-color: #D5E5F7;
}

.inbound-flow-stack:not(.inbound-flow-deduction) span:nth-child(1) { color: #1E5FD2; background: #EAF3FF; }
.inbound-flow-stack:not(.inbound-flow-deduction) span:nth-child(2) { color: #3979D9; background: #EDF5FF; }
.inbound-flow-stack:not(.inbound-flow-deduction) span:nth-child(3) { color: #16869A; background: #E9F8FA; }
.inbound-flow-stack:not(.inbound-flow-deduction) span:nth-child(4) { color: #168E73; background: #E9F8F4; }

.inbound-flow-stack span:not(:last-child)::after {
    content: '↓';
    position: absolute;
    z-index: 2;
    left: 50%;
    bottom: -19px;
    display: inline-flex;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    color: #1474C5;
    background: #FFFFFF;
    border: 1px solid #C7DDF1;
    border-radius: 50%;
    font-size: 13px;
    transform: translateX(-50%);
}

.inbound-flow-deduction span:nth-child(1) { color: #1E5FD2; background: #EAF3FF; }
.inbound-flow-deduction span:nth-child(2) { color: #2683E8; background: #EAF5FF; }
.inbound-flow-deduction span:nth-child(3) { color: #168E73; background: #E9F8F4; }
.inbound-flow-deduction span:nth-child(4) { color: #5B57D8; background: #F0EDFF; border-color: #DED9FB; }

.inbound-flow-archive-card {
    margin-bottom: 14px;
    padding: 18px 16px;
    color: #245FAD;
    background: #EAF3FF;
    border: 1px solid #CFE0F7;
    border-radius: 14px;
    box-shadow: none;
    text-align: center;
}

.inbound-flow-archive-card strong {
    display: block;
    margin-bottom: 5px;
    font-size: 18px;
}

.inbound-flow-archive-card small {
    color: #7188A3;
    font-size: 12px;
}

.inbound-flow-archive-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.inbound-flow-archive-list span {
    display: flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    padding: 9px;
    color: #43627E;
    background: #FBFDFF;
    border: 1px solid #DCE8F5;
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 800;
    text-align: center;
}

.inbound-flow-sync-band {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 14px;
    margin-top: 16px;
    padding: 12px 18px;
    color: #236197;
    background: #E6F2FC;
    border: 1px solid #CEE0F1;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 800;
}

.inbound-flow-sync-band i {
    width: 100%;
    min-width: 240px;
    height: 2px;
    background: repeating-linear-gradient(90deg, #2F7FCB 0 10px, transparent 10px 17px);
}

.inbound-flow-sync-band b {
    color: #168E73;
    text-align: right;
}

/* ============================================================
   individual-tax.css
   ============================================================ */

/* individual-tax — rules used only by this product page */

.product-tax-style-hero {
    width: min(540px, 100%);
    padding: 9px;
    color: #314D69;
    background: linear-gradient(135deg, #EEF6FF 0%, #FAFCFF 58%, #F1F0FF 100%);
    border: 1px solid #DCE9F8;
    border-radius: 22px;
    box-shadow: 0 22px 46px rgba(60, 101, 153, 0.14);
}

.tax-style-hero-top,
.tax-style-hero-bottom {
    display: grid;
    gap: 8px;
}

.tax-style-hero-top {
    grid-template-columns: 0.96fr 1.04fr;
    margin-bottom: 8px;
}

.tax-style-hero-bottom {
    grid-template-columns: 1.45fr 0.8fr 0.88fr;
}

.tax-style-panel {
    min-width: 0;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #E4EDF8;
    border-radius: 13px;
    box-shadow: 0 8px 18px rgba(72, 109, 154, 0.07);
}

.tax-style-panel h4 {
    margin: 0;
    color: #243F5D;
    font-size: 10px;
    line-height: 1.3;
    font-weight: 800;
}

.tax-style-progress,
.tax-style-overview { min-height: 164px; padding: 13px 13px 11px; }

.tax-style-step-line {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    margin-top: 13px;
}

.tax-style-step-line::before {
    content: '';
    position: absolute;
    top: 6px;
    right: 10%;
    left: 10%;
    height: 1px;
    background: linear-gradient(90deg, #2478FF, #2478FF 72%, #1DB497);
}

.tax-style-step-line span {
    position: relative;
    padding-top: 18px;
    color: #617B96;
    font-size: 6px;
    line-height: 1.25;
    font-weight: 700;
    text-align: center;
    white-space: nowrap;
}

.tax-style-step-line span::before {
    content: '';
    position: absolute;
    z-index: 1;
    top: 1px;
    left: 50%;
    width: 10px;
    height: 10px;
    background: #2478FF;
    border: 2px solid #E6F0FF;
    border-radius: 50%;
    transform: translateX(-50%);
}

.tax-style-step-line span:last-child::before { background: #1DB497; border-color: #E2F7F1; }

.tax-style-progress-main {
    display: grid;
    grid-template-columns: 88px 1fr;
    gap: 9px;
    align-items: center;
    margin-top: 9px;
}

.tax-style-ring {
    display: flex;
    width: 78px;
    aspect-ratio: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle, #FFFFFF 0 59%, transparent 60%), conic-gradient(#2478FF 0 82%, #1DB497 82% 96%, #E7EFFA 96%);
    border-radius: 50%;
}

.tax-style-ring strong { color: #2478FF; font-size: 18px; line-height: 1; }

.tax-style-ring small { margin-top: 5px; color: #7188A3; font-size: 6px; font-weight: 700; }

.tax-style-progress-main ul { display: grid; gap: 7px; }

.tax-style-progress-main li {
    position: relative;
    padding-left: 13px;
    color: #536F8B;
    font-size: 7px;
    font-weight: 700;
}

.tax-style-progress-main li::before {
    content: '✓';
    position: absolute;
    top: -1px;
    left: 0;
    display: inline-flex;
    width: 9px;
    height: 9px;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    background: #1DB497;
    border-radius: 50%;
    font-size: 6px;
}

.tax-style-overview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 13px;
}

.tax-style-overview-grid > div {
    position: relative;
    display: flex;
    min-height: 48px;
    align-items: center;
    gap: 8px;
    padding: 7px 7px;
    background: #FFFFFF;
    border: 1px solid #E1EAF6;
    border-radius: 9px;
    box-shadow: 0 5px 12px rgba(60, 103, 157, 0.06);
}

.tax-style-overview-grid > div:last-child { grid-column: 1 / -1; }

.tax-style-overview-grid p { display: grid; min-width: 0; gap: 2px; }

.tax-style-overview-grid strong { color: #314D69; font-size: 8px; }

.tax-style-overview-grid small { color: #7188A3; font-size: 6px; }

.tax-style-overview-grid > div > i {
    position: absolute;
    top: 7px;
    right: 7px;
    display: inline-flex;
    width: 10px;
    height: 10px;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    background: #1DB497;
    border-radius: 50%;
    font-size: 6px;
    font-style: normal;
    font-weight: 900;
}

.tax-style-icon {
    position: relative;
    display: inline-flex;
    width: 28px;
    height: 28px;
    flex: 0 0 auto;
    border-radius: 8px;
    background: #E8F2FF;
}

.tax-style-icon::before,
.tax-style-icon::after {
    content: '';
    position: absolute;
    inset: 8px;
    border: 2px solid #2478FF;
    border-radius: 3px;
}

.tax-style-icon::after { inset: 12px 7px 7px 12px; border-top: 0; border-left: 0; }

.tax-style-icon-2 { background: #E7F8F2; }

.tax-style-icon-2::before,
.tax-style-icon-2::after { border-color: #1DB497; }

.tax-style-icon-3 { background: #F0EDFF; }

.tax-style-icon-3::before,
.tax-style-icon-3::after { border-color: #6E68F5; }

.tax-style-data,
.tax-style-trend,
.tax-style-todo { min-height: 116px; padding: 12px; }

.tax-style-data > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-top: 11px;
}

.tax-style-data p {
    display: grid;
    gap: 4px;
    padding: 8px 7px;
    background: #F7F9FD;
    border-radius: 7px;
}

.tax-style-data small { color: #7188A3; font-size: 6px; font-weight: 700; }

.tax-style-data strong { color: #314D69; font-size: 11px; }

.tax-style-data em { color: #1A9C7F; font-size: 5px; font-style: normal; font-weight: 700; white-space: nowrap; }

.tax-style-trend > div {
    display: flex;
    height: 72px;
    align-items: flex-end;
    gap: 5px;
    padding: 11px 3px 0;
    border-bottom: 1px solid #DCE7F4;
    background: repeating-linear-gradient(180deg, transparent 0 20px, #EDF3FA 20px 21px);
}

.tax-style-trend i { flex: 1; height: 35%; border-radius: 3px 3px 0 0; background: #2478FF; }

.tax-style-trend i:nth-child(2) { height: 56%; }

.tax-style-trend i:nth-child(3) { height: 48%; }

.tax-style-trend i:nth-child(4) { height: 72%; background: #6E68F5; }

.tax-style-trend i:nth-child(5) { height: 64%; }

.tax-style-trend i:nth-child(6) { height: 84%; background: #1DB497; }

.tax-style-todo { display: grid; align-content: start; gap: 8px; }

.tax-style-todo p { display: flex; align-items: center; justify-content: space-between; gap: 5px; }

.tax-style-todo span { color: #536F8B; font-size: 7px; font-weight: 700; }

.tax-style-todo em { padding: 3px 5px; color: #198B73; background: #E4F8F1; border-radius: 999px; font-size: 5px; font-style: normal; font-weight: 800; }

body[data-product="individual-tax"] .product-detail-page .section-header .section-tag {
    margin-bottom: 14px;
}

/* Individual tax product page — generated from the verified 2026-07-27 split */

/* 个税申报流程对比：方案 B 业务链路版 */
.individual-tax-process {
    padding: 24px;
    background: linear-gradient(145deg, #F1F7FF 0%, #F8FBFF 56%, #F1F0FF 100%);
    border: 1px solid #DDE9F8;
    border-radius: 28px;
    box-shadow: none;
}
.itax-process-tools {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 18px;
}
.itax-process-tools span {
    padding: 8px 14px;
    color: #246FDB;
    background: #FFFFFF;
    border: 1px solid #DCE8F7;
    border-radius: 999px;
    box-shadow: 0 6px 16px rgba(50, 92, 148, 0.06);
    font-size: 14px;
    font-weight: 800;
}
.itax-process-grid {
    display: grid;
    grid-template-columns: 0.8fr 2.15fr 0.8fr;
    gap: 16px;
    align-items: stretch;
}
.itax-process-source,
.itax-process-region,
.itax-process-core {
    min-width: 0;
    padding: 18px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #DFEAF7;
    border-radius: 20px;
}
.itax-process-source > strong,
.itax-process-region > strong {
    display: block;
    margin-bottom: 14px;
    color: #284661;
    font-size: 17px;
}
.itax-process-source {
    display: grid;
    align-content: start;
    gap: 10px;
}
.itax-process-source > div {
    display: grid;
    gap: 2px;
    padding: 11px 12px;
    background: #F4F8FD;
    border-radius: 11px;
}
.itax-process-source span {
    color: #315271;
    font-size: 15px;
    font-weight: 800;
}
.itax-process-source small {
    color: #7A91A9;
    font-size: 13px;
}
.itax-process-core {
    display: grid;
    gap: 14px;
}
.itax-process-core ol {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.itax-process-core ol::before {
    content: '';
    position: absolute;
    top: 22px;
    right: 12%;
    left: 12%;
    height: 2px;
    background: linear-gradient(90deg, #2478FF, #5B68EA, #1DB497);
}
.itax-process-core li {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: center;
    gap: 8px;
    text-align: center;
}
.itax-process-core li > span {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    background: #2478FF;
    border: 6px solid #EAF3FF;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 800;
}
.itax-process-core li:nth-child(2) > span {
    background: #5B68EA;
    border-color: #F0EEFF;
}
.itax-process-core li:nth-child(3) > span {
    background: #1DB497;
    border-color: #E7F8F2;
}
.itax-process-core li > div {
    display: grid;
    gap: 4px;
}
.itax-process-core li strong {
    color: #315271;
    font-size: 16px;
}
.itax-process-core li small {
    color: #7A91A9;
    font-size: 12px;
    line-height: 1.55;
}
.itax-process-center {
    display: grid;
    justify-items: center;
    gap: 4px;
    padding: 14px;
    color: #FFFFFF;
    background: linear-gradient(135deg, #1E6FFF, #625EEB);
    border-radius: 14px;
    box-shadow: 0 12px 24px rgba(36, 120, 255, 0.18);
}
.itax-process-center span {
    color: rgba(255, 255, 255, 0.76);
    font-size: 12px;
}
.itax-process-center strong { font-size: 22px; }
.itax-process-center small {
    color: rgba(255, 255, 255, 0.8);
    font-size: 12px;
}
.itax-process-region {
    display: grid;
    align-content: start;
}
.itax-process-region > div {
    display: flex;
    align-items: baseline;
    gap: 7px;
    margin-bottom: 14px;
    padding: 13px;
    background: #EAF3FF;
    border-radius: 12px;
}
.itax-process-region > div span {
    color: #1E6FFF;
    font-size: 36px;
    line-height: 1;
    font-weight: 800;
}
.itax-process-region > div small {
    color: #57718C;
    font-size: 12px;
    font-weight: 700;
}
.itax-process-region ul {
    display: grid;
    gap: 8px;
}
.itax-process-region li {
    padding: 8px 10px;
    color: #315271;
    background: #F4F8FD;
    border-radius: 9px;
    font-size: 13px;
    font-weight: 700;
}
.itax-process-output {
    display: grid;
    grid-template-columns: 1.25fr repeat(5, minmax(0, 1fr));
    gap: 8px;
    align-items: center;
    margin-top: 16px;
}
.itax-process-output strong,
.itax-process-output span {
    padding: 11px 10px;
    border-radius: 10px;
    font-size: 13px;
    text-align: center;
}
.itax-process-output strong {
    color: #FFFFFF;
    background: #1E6FFF;
}
.itax-process-output span {
    color: #315271;
    background: #FFFFFF;
    border: 1px solid #DFEAF7;
    font-weight: 700;
}

@media (max-width: 1199px) {
    .itax-process-grid { grid-template-columns: 0.9fr 1.8fr 0.9fr; }
    .itax-process-output { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
    .itax-process-grid { grid-template-columns: 1fr; }
    .itax-process-source,
    .itax-process-region {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: center;
    }
    .itax-process-source > strong,
    .itax-process-region > strong { grid-column: 1 / -1; }
    .itax-process-region > div { margin-bottom: 0; }
    .itax-process-region ul {
        grid-column: span 2;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .individual-tax-process {
        padding: 16px;
        border-radius: 20px;
    }
    .itax-process-tools {
        flex-wrap: wrap;
        gap: 7px;
    }
    .itax-process-tools span {
        padding: 7px 10px;
        font-size: 12px;
    }
    .itax-process-source,
    .itax-process-region { grid-template-columns: 1fr; }
    .itax-process-source > strong,
    .itax-process-region > strong { grid-column: auto; }
    .itax-process-core { padding: 14px; }
    .itax-process-core ol {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .itax-process-core ol::before { display: none; }
    .itax-process-core li {
        grid-template-columns: 44px 1fr;
        justify-items: start;
        text-align: left;
    }
    .itax-process-core li > div { align-self: center; }
    .itax-process-region ul {
        grid-column: auto;
        grid-template-columns: 1fr;
    }
    .itax-process-output { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 479px) {
    .itax-process-output { grid-template-columns: 1fr; }
}

/* ============================================================
   outbound-invoice.css
   ============================================================ */

/* outbound-invoice — rules used only by this product page */

.invoice-flow-shell {
    position: relative;
    padding: 38px 28px 26px;
    background:
        radial-gradient(circle at 48% 2%, rgba(70, 126, 247, 0.16), transparent 28%),
        radial-gradient(circle at 96% 88%, rgba(38, 190, 157, 0.13), transparent 25%),
        linear-gradient(145deg, #F8FBFF 0%, #EEF5FF 56%, #EDF9F6 100%);
    border: 1px solid #D2E2F5;
    border-radius: 28px;
    overflow: hidden;
}

.invoice-flow-shell::before {
    content: '';
    position: absolute;
    top: -112px;
    left: 50%;
    width: 430px;
    height: 220px;
    background: rgba(255,255,255,0.68);
    border-radius: 50%;
    filter: blur(8px);
    transform: translateX(-50%);
    pointer-events: none;
}

.invoice-flow-track {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 30px minmax(0, 1fr) 30px minmax(0, 1.06fr) 30px minmax(0, 1fr) 30px minmax(0, 1fr);
    align-items: center;
}

.invoice-flow-card {
    --flow-accent: #2678FF;
    --flow-soft: #EAF3FF;
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 356px;
    flex-direction: column;
    padding: 22px 18px 20px;
    background: rgba(255,255,255,0.92);
    border: 1px solid rgba(173, 198, 228, 0.72);
    border-radius: 21px;
    transition: transform var(--transition-base), border-color var(--transition-base);
}

.invoice-flow-card:nth-of-type(2) { --flow-accent: #6D69F5; --flow-soft: #F0EEFF; }

.invoice-flow-card:nth-of-type(3) { --flow-accent: #3476ED; --flow-soft: #EAF2FF; }

.invoice-flow-card:nth-of-type(4) { --flow-accent: #F18A44; --flow-soft: #FFF1E8; }

.invoice-flow-card:nth-of-type(5) { --flow-accent: #18A985; --flow-soft: #E8F8F3; }

.invoice-flow-card::after {
    content: '';
    position: absolute;
    right: 20px;
    bottom: 0;
    left: 20px;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--flow-accent), transparent);
    border-radius: 3px 3px 0 0;
    opacity: 0.68;
}

.invoice-flow-card:hover {
    z-index: 2;
    border-color: color-mix(in srgb, var(--flow-accent) 38%, #FFFFFF);
    transform: translateY(-5px);
}

.invoice-flow-card-core {
    min-height: 382px;
    padding-top: 24px;
    background:
        radial-gradient(circle at 88% 8%, rgba(87, 126, 245, 0.17), transparent 32%),
        linear-gradient(160deg, #FFFFFF 0%, #F2F6FF 100%);
    border: 2px solid rgba(52, 118, 237, 0.42);
}

.invoice-flow-card-core::before {
    content: 'CORE';
    position: absolute;
    top: 18px;
    right: 18px;
    padding: 5px 8px;
    color: #FFFFFF;
    background: linear-gradient(135deg, #3476ED, #6D69F5);
    border-radius: 999px;
    font-size: 8px;
    letter-spacing: 0.12em;
    font-weight: 900;
}

.invoice-flow-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.invoice-flow-number {
    color: var(--flow-accent);
    font-size: 13px;
    line-height: 1;
    letter-spacing: 0.08em;
    font-weight: 900;
}

.invoice-flow-icon {
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    color: var(--flow-accent);
    background: var(--flow-soft);
    border: 1px solid color-mix(in srgb, var(--flow-accent) 16%, #FFFFFF);
    border-radius: 15px;
}

.invoice-flow-icon svg { width: 28px; height: 28px; }

.invoice-flow-kicker {
    display: block;
    margin-bottom: 8px;
    color: var(--flow-accent);
    font-size: 11px;
    letter-spacing: 0.04em;
    font-weight: 800;
}

.invoice-flow-card h3 {
    margin-bottom: 11px;
    color: #17324F;
    font-size: 22px;
    line-height: 1.25;
}

.invoice-flow-card p {
    min-height: 66px;
    margin-bottom: 16px;
    color: #607993;
    font-size: 13px;
    line-height: 1.7;
    font-weight: 600;
}

.invoice-flow-card ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: auto;
}

.invoice-flow-card li {
    position: relative;
    display: flex;
    min-height: 42px;
    align-items: center;
    padding: 7px 7px 7px 20px;
    color: #466480;
    background: #F7FAFD;
    border: 1px solid #E4ECF5;
    border-radius: 9px;
    font-size: 10px;
    line-height: 1.35;
    font-weight: 760;
}

.invoice-flow-card li::before {
    content: '';
    position: absolute;
    left: 8px;
    width: 6px;
    height: 6px;
    background: var(--flow-accent);
    border-radius: 50%;
}

.invoice-flow-link {
    position: relative;
    display: flex;
    height: 44px;
    align-items: center;
    justify-content: center;
}

.invoice-flow-link i {
    position: relative;
    display: block;
    width: 24px;
    height: 2px;
    background: linear-gradient(90deg, #9DBBE0, #6C9CDD);
    border-radius: 999px;
}

.invoice-flow-link i::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    width: 7px;
    height: 7px;
    border-top: 2px solid #6C9CDD;
    border-right: 2px solid #6C9CDD;
    transform: translateY(-50%) rotate(45deg);
}

.invoice-flow-foundation {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 24px;
    padding: 13px;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(184, 207, 233, 0.72);
    border-radius: 16px;
}

.invoice-flow-foundation span {
    display: flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: #395B79;
    background: rgba(255,255,255,0.86);
    border-radius: 10px;
    font-size: 12px;
    font-weight: 760;
}

.invoice-flow-foundation i {
    display: inline-flex;
    width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    background: #18A985;
    border-radius: 50%;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
}

@media (max-width: 1199px) {
.invoice-flow-shell { padding: 30px 20px 24px; }

.invoice-flow-track {
        grid-template-columns: minmax(0, 1fr) 22px minmax(0, 1fr) 22px minmax(0, 1.06fr) 22px minmax(0, 1fr) 22px minmax(0, 1fr);
    }

.invoice-flow-card { min-height: 372px; padding: 20px 14px 18px; }

.invoice-flow-card-core { min-height: 394px; }

.invoice-flow-card h3 { font-size: 20px; }

.invoice-flow-card p { min-height: 76px; font-size: 12px; }

.invoice-flow-card ul { grid-template-columns: 1fr; gap: 6px; }

.invoice-flow-card li { min-height: 32px; }

.invoice-flow-link i { width: 18px; }
}

@media (max-width: 899px) {
.invoice-flow-shell { max-width: 620px; margin: 0 auto; padding: 26px; }

.invoice-flow-track { grid-template-columns: 1fr; }

.invoice-flow-card,
    .invoice-flow-card-core { min-height: 0; padding: 24px; }

.invoice-flow-card p { min-height: 0; }

.invoice-flow-card ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.invoice-flow-link { height: 34px; }

.invoice-flow-link i { width: 2px; height: 24px; background: linear-gradient(180deg, #9DBBE0, #6C9CDD); }

.invoice-flow-link i::after {
        top: auto;
        right: 50%;
        bottom: 0;
        transform: translateX(50%) rotate(135deg);
    }

.invoice-flow-foundation { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 479px) {
.invoice-flow-shell { padding: 20px 14px; border-radius: 22px; }

.invoice-flow-card,
    .invoice-flow-card-core { padding: 20px 17px; }

.invoice-flow-card ul { grid-template-columns: 1fr; }

.invoice-flow-foundation { grid-template-columns: 1fr; }
}

/* ============================================================
   tax-analysis.css
   ============================================================ */

/* Tax analysis product page — generated from the verified 2026-07-27 split */

/* ============================================================
   TAX ANALYSIS — standalone static product page
   ============================================================ */
body[data-product="tax-analysis"] .product-hero-section::before {
    background:
        radial-gradient(circle at 80% 38%, rgba(38, 120, 255, 0.18) 0, rgba(38, 120, 255, 0) 27%),
        radial-gradient(circle at 90% 22%, rgba(53, 194, 160, 0.16) 0, rgba(53, 194, 160, 0) 23%),
        linear-gradient(112deg, transparent 16%, rgba(255, 255, 255, 0.52) 31%, transparent 47%),
        linear-gradient(118deg, transparent 45%, rgba(94, 175, 255, 0.15) 56%, transparent 70%);
}

.product-analysis-hero-image {
    width: min(520px, 100%);
    border-radius: 18px;
    object-position: center center;
}

body[data-product="tax-analysis"] .capability-visual-img {
    object-position: center center;
}

.analysis-path-section {
    background: #FFFFFF !important;
}

.analysis-path-board {
    position: relative;
    padding: 34px;
    background:
        radial-gradient(circle at 90% 16%, rgba(53, 194, 160, 0.11), transparent 23%),
        radial-gradient(circle at 8% 10%, rgba(38, 120, 255, 0.1), transparent 25%),
        #F4F8FD;
    border: 1px solid #DDE9F7;
    border-radius: 28px;
    overflow: hidden;
}

.analysis-path-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.analysis-path-card {
    position: relative;
    min-width: 0;
    min-height: 294px;
    padding: 26px 22px 22px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #DCE8F6;
    border-radius: 20px;
    box-shadow: 0 12px 30px rgba(47, 88, 138, 0.07);
}

.analysis-path-card:not(:last-child)::after {
    content: "";
    position: absolute;
    z-index: 2;
    top: 50%;
    right: -27px;
    width: 36px;
    height: 36px;
    background: #FFFFFF;
    border: 1px solid #CFE0F4;
    border-radius: 50%;
    box-shadow: 0 6px 18px rgba(47, 88, 138, 0.1);
    transform: translateY(-50%);
}

.analysis-path-card:not(:last-child)::before {
    content: "→";
    position: absolute;
    z-index: 3;
    top: 50%;
    right: -17px;
    color: #4D8FFF;
    font-size: 17px;
    line-height: 1;
    font-weight: 800;
    transform: translateY(-50%);
}

.analysis-path-card-primary {
    color: #FFFFFF;
    background: linear-gradient(145deg, #1F6FE8 0%, #2678FF 52%, #25AD96 100%);
    border-color: transparent;
    box-shadow: 0 16px 34px rgba(38, 120, 255, 0.2);
}

.analysis-path-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 22px;
    color: #2678FF;
    background: #EAF3FF;
    border-radius: 14px;
    font-size: 14px;
    line-height: 1;
    font-weight: 800;
}

.analysis-path-card-primary .analysis-path-index {
    color: #FFFFFF;
    background: rgba(255, 255, 255, 0.18);
}

.analysis-path-card h3 {
    margin-bottom: 10px;
    color: #1F3C5B;
    font-size: 22px;
    line-height: 1.35;
}

.analysis-path-card > p {
    min-height: 70px;
    color: #687F98;
    font-size: 13px;
    line-height: 1.75;
}

.analysis-path-card-primary h3,
.analysis-path-card-primary > p {
    color: #FFFFFF;
}

.analysis-path-card-primary > p {
    color: rgba(255, 255, 255, 0.78);
}

.analysis-path-card ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 18px;
}

.analysis-path-card li {
    min-width: 0;
    padding: 8px 6px;
    color: #3F5D7B;
    background: #F3F7FC;
    border-radius: 10px;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 750;
    text-align: center;
}

.analysis-path-card-primary li {
    color: #FFFFFF;
    background: rgba(255, 255, 255, 0.14);
}

.analysis-path-foundation {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.35fr repeat(3, minmax(0, 1fr));
    gap: 12px;
    align-items: center;
    margin-top: 20px;
    padding: 16px 20px;
    color: #56708C;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid #DCE8F6;
    border-radius: 16px;
    font-size: 12px;
    line-height: 1.45;
    text-align: center;
}

.analysis-path-foundation strong {
    color: #1D5FB7;
    font-size: 14px;
}

.analysis-path-foundation span {
    padding-left: 12px;
    border-left: 1px solid #D7E4F3;
}

@media (max-width: 1199px) {
    .analysis-path-board { padding: 28px; }
    .analysis-path-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .analysis-path-card:not(:last-child)::before,
    .analysis-path-card:not(:last-child)::after { display: none; }
    .analysis-path-foundation { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .analysis-path-foundation span { border-left: 0; }
}

@media (max-width: 767px) {
    .analysis-path-board {
        padding: 18px;
        border-radius: 22px;
    }
    .analysis-path-grid { grid-template-columns: 1fr; }
    .analysis-path-card {
        min-height: 0;
        padding: 22px 20px;
    }
    .analysis-path-index { margin-bottom: 16px; }
    .analysis-path-card h3 { font-size: 20px; }
    .analysis-path-card > p { min-height: 0; }
    .analysis-path-foundation {
        grid-template-columns: 1fr;
        padding: 18px;
        text-align: left;
    }
    .analysis-path-foundation span {
        padding-top: 8px;
        padding-left: 0;
        border-top: 1px solid #D7E4F3;
    }
}

/* ============================================================
   tax-archive.css
   ============================================================ */

/* Tax archive product page */

body[data-product="tax-archive"] .product-hero-section {
    background: linear-gradient(180deg, #EAF6FF 0%, #E4F3FF 48%, #F8FBFF 100%);
}

body[data-product="tax-archive"] .product-hero-section::before {
    background:
        radial-gradient(circle at 80% 30%, rgba(43, 123, 241, 0.2), transparent 27%),
        radial-gradient(circle at 91% 65%, rgba(37, 185, 158, 0.15), transparent 24%),
        linear-gradient(112deg, transparent 18%, rgba(255, 255, 255, 0.56) 35%, transparent 52%);
}

body[data-product="tax-archive"] .product-hero-title,
body[data-product="tax-archive"] .product-hero-desc {
    max-width: 650px;
}

body[data-product="tax-archive"] .product-hero-desc {
    line-height: 1.78;
}

@media (max-width: 767px) {
    body[data-product="tax-archive"] .mobile-nav-panel {
        bottom: auto;
        height: calc(100dvh - 68px);
        z-index: 1001;
    }
}

/* ============================================================
   tax-policy.css
   ============================================================ */

/* Tax policy product page — generated from the verified 2026-07-27 split */

/* ============================================================
   TAX POLICY — standalone static product page
   ============================================================ */
body[data-product="tax-policy"] .product-hero-section::before {
    background:
        radial-gradient(circle at 80% 38%, rgba(38, 120, 255, 0.2) 0, rgba(38, 120, 255, 0) 27%),
        radial-gradient(circle at 91% 20%, rgba(53, 194, 160, 0.17) 0, rgba(53, 194, 160, 0) 23%),
        linear-gradient(112deg, transparent 16%, rgba(255, 255, 255, 0.54) 31%, transparent 47%),
        linear-gradient(118deg, transparent 45%, rgba(94, 175, 255, 0.16) 56%, transparent 70%);
}

.product-policy-hero-image {
    width: min(520px, 100%);
    border-radius: 18px;
}

.policy-hero-ui {
    position: relative;
    width: min(535px, 100%);
    padding: 0 18px 18px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(64, 132, 226, 0.25);
    border-radius: 19px;
    box-shadow: 0 26px 60px rgba(38, 94, 165, 0.2);
    transform: perspective(1200px) rotateY(-4deg) rotateX(1deg);
}

.policy-hero-ui-top {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 42px;
    color: #486681;
    border-bottom: 1px solid #E2ECF8;
    font-size: 11px;
}

.policy-hero-ui-top strong {
    color: #254660;
    font-size: 12px;
}

.policy-hero-ui-top em {
    margin-left: auto;
    padding: 4px 8px;
    color: #168C75;
    background: #E5F7F2;
    border-radius: 999px;
    font-size: 9px;
    font-style: normal;
    font-weight: 800;
}

.policy-hero-ui-dots {
    display: flex;
    gap: 5px;
}

.policy-hero-ui-dots i {
    width: 7px;
    height: 7px;
    background: #BFD1E8;
    border-radius: 50%;
}

.policy-hero-ui-dots i:first-child { background: #FF8A72; }
.policy-hero-ui-dots i:nth-child(2) { background: #FFCF66; }
.policy-hero-ui-dots i:nth-child(3) { background: #36C6A7; }

.policy-hero-search {
    display: flex;
    align-items: center;
    height: 36px;
    margin: 14px 0 12px;
    padding-left: 14px;
    color: #8095AA;
    background: #F3F8FF;
    border: 1px solid #DDE9F7;
    border-radius: 9px;
    font-size: 10px;
}

.policy-hero-search b {
    align-self: stretch;
    display: inline-flex;
    align-items: center;
    margin-left: auto;
    padding: 0 17px;
    color: #FFFFFF;
    background: linear-gradient(135deg, #2D78F2, #36BDA6);
    border-radius: 0 8px 8px 0;
    font-size: 10px;
}

.policy-hero-ui-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 118px;
    gap: 10px;
}

.policy-hero-results {
    min-width: 0;
    background: #FFFFFF;
    border: 1px solid #E2EAF4;
    border-radius: 10px;
    overflow: hidden;
}

.policy-hero-results article {
    position: relative;
    min-height: 52px;
    padding: 11px 10px 9px 76px;
    border-bottom: 1px solid #E8EFF7;
}

.policy-hero-results article:last-child { border-bottom: 0; }

.policy-hero-results strong,
.policy-hero-results small {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.policy-hero-results strong {
    color: #36526C;
    font-size: 10px;
    line-height: 1.5;
}

.policy-hero-results small {
    margin-top: 3px;
    color: #8A9AAF;
    font-size: 8px;
}

.policy-hero-state {
    position: absolute;
    top: 12px;
    left: 10px;
    padding: 3px 6px;
    border-radius: 4px;
    font-size: 8px;
    font-weight: 800;
}

.policy-hero-state.is-valid { color: #168D75; background: #E3F7F1; }
.policy-hero-state.is-partial { color: #E98730; background: #FFF2E4; }
.policy-hero-state.is-draft { color: #377FE3; background: #EAF3FF; }

.policy-hero-filters {
    display: grid;
    align-content: start;
    gap: 7px;
    padding: 12px 10px;
    background: #F7FAFE;
    border: 1px solid #E2EAF4;
    border-radius: 10px;
}

.policy-hero-filters strong {
    margin-bottom: 2px;
    color: #36526C;
    font-size: 10px;
}

.policy-hero-filters span {
    padding: 6px 7px;
    color: #6F8498;
    background: #FFFFFF;
    border: 1px solid #DFE9F4;
    border-radius: 6px;
    font-size: 8px;
}

.policy-hero-float {
    position: absolute;
    padding: 7px 10px;
    color: #FFFFFF;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 9px;
    box-shadow: 0 10px 24px rgba(38, 94, 165, 0.18);
    font-size: 9px;
    font-weight: 800;
}

.policy-hero-float-link {
    top: 72px;
    right: -18px;
    background: linear-gradient(135deg, #4A87F6, #2369E8);
}

.policy-hero-float-push {
    right: 24px;
    bottom: -13px;
    background: linear-gradient(135deg, #30BDA1, #188E79);
}

.policy-path-section { background: #FFFFFF !important; }

.policy-path-board {
    background:
        radial-gradient(circle at 88% 15%, rgba(44, 190, 159, 0.12), transparent 24%),
        radial-gradient(circle at 8% 10%, rgba(38, 120, 255, 0.11), transparent 25%),
        #F4F8FD;
}

.policy-capability-visual {
    background:
        radial-gradient(circle at 88% 12%, rgba(48, 189, 161, 0.15), transparent 25%),
        linear-gradient(145deg, #EDF5FF 0%, #F7FAFE 58%, #EAF7F4 100%);
}

.policy-capability-contain {
    display: grid;
    place-items: center;
    padding: 22px;
}

.policy-capability-contain .capability-visual-img {
    position: relative;
    z-index: 0;
    width: 100%;
    height: auto;
    max-height: 100%;
    object-fit: contain;
    background: #FFFFFF;
    border: 1px solid #D9E5F2;
    border-radius: 14px;
    box-shadow: 0 18px 38px rgba(45, 86, 132, 0.14);
}

.policy-capability-crop .capability-visual-img {
    object-fit: cover;
    object-position: center top;
}

.policy-preview-stack {
    position: relative;
    z-index: 0;
    width: 100%;
    height: 100%;
}

.policy-preview-stack img {
    position: absolute;
    width: 82%;
    height: auto;
    max-height: 67%;
    object-fit: cover;
    object-position: top;
    background: #FFFFFF;
    border: 1px solid #D9E5F2;
    border-radius: 14px;
    box-shadow: 0 18px 38px rgba(45, 86, 132, 0.15);
}

.policy-preview-stack img:first-child {
    top: 9%;
    left: 5%;
}

.policy-preview-stack img:last-child {
    right: 5%;
    bottom: 8%;
}

.policy-subscription-visual {
    position: relative;
    display: block;
    padding: 22px;
}

.policy-subscription-desktop {
    position: relative;
    z-index: 0;
    width: 92%;
    height: 82%;
    object-fit: cover;
    object-position: top center;
    background: #FFFFFF;
    border: 1px solid #D9E5F2;
    border-radius: 14px;
    box-shadow: 0 18px 38px rgba(45, 86, 132, 0.14);
}

.policy-subscription-mobile {
    position: absolute;
    z-index: 2;
    right: 6%;
    bottom: 6%;
    width: 25%;
    height: 78%;
    object-fit: cover;
    object-position: top;
    background: #FFFFFF;
    border: 5px solid #FFFFFF;
    border-radius: 20px;
    box-shadow: 0 20px 42px rgba(37, 75, 120, 0.24);
}

@media (max-width: 1199px) {
    .policy-hero-ui { transform: none; }
    .policy-preview-visual,
    .policy-subscription-visual { min-height: 420px; }
}

@media (max-width: 999px) {
    .policy-hero-ui-body { grid-template-columns: minmax(0, 1fr) 92px; }
    .policy-hero-filters { padding: 10px 8px; }
    .policy-hero-float-link { right: -10px; }
}

@media (max-width: 767px) {
    .policy-capability-contain,
    .policy-subscription-visual { padding: 14px; }
    .policy-preview-visual,
    .policy-subscription-visual { min-height: 0; }
    .policy-preview-stack img {
        width: 86%;
        max-height: 69%;
        border-radius: 10px;
    }
    .policy-subscription-mobile {
        right: 4%;
        width: 27%;
        border-width: 3px;
        border-radius: 14px;
    }
}

/* Policy service journey: circular rail, intentionally distinct from analysis cards */
.policy-journey-section {
    background: #FFFFFF !important;
}

.policy-journey-board {
    position: relative;
    padding: 50px 46px 34px;
    background:
        radial-gradient(circle at 92% 8%, rgba(39, 181, 151, 0.13), transparent 25%),
        radial-gradient(circle at 7% 88%, rgba(38, 120, 255, 0.11), transparent 24%),
        #F4F8FD;
    border: 1px solid #DCE8F6;
    border-radius: 30px;
    overflow: hidden;
}

.policy-journey-board::before,
.policy-journey-board::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.policy-journey-board::before {
    top: -92px;
    right: -72px;
    width: 230px;
    height: 230px;
    border: 1px solid rgba(38, 120, 255, 0.12);
    box-shadow: 0 0 0 34px rgba(38, 120, 255, 0.035);
}

.policy-journey-board::after {
    bottom: -130px;
    left: -92px;
    width: 260px;
    height: 260px;
    border: 1px solid rgba(32, 178, 148, 0.11);
}

.policy-journey-list {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.policy-journey-list::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 50px;
    right: 10.5%;
    left: 10.5%;
    height: 8px;
    background: linear-gradient(90deg, #2678FF 0%, #776AF2 35%, #E6A04C 67%, #20AA8C 100%);
    border: 5px solid rgba(255, 255, 255, 0.94);
    border-radius: 999px;
    box-shadow: 0 7px 20px rgba(59, 104, 154, 0.12);
    transform: translateY(-50%);
}

.policy-journey-item {
    position: relative;
    z-index: 1;
    min-width: 0;
    text-align: center;
}

.policy-journey-item:not(:last-child)::after {
    content: "›";
    position: absolute;
    z-index: 4;
    top: 30px;
    right: -29px;
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    color: #688AAD;
    background: #FFFFFF;
    border: 1px solid #CDDFEF;
    border-radius: 50%;
    box-shadow: 0 7px 18px rgba(59, 104, 154, 0.12);
    font-size: 27px;
    line-height: 1;
    font-weight: 500;
}

.policy-journey-node {
    position: relative;
    z-index: 2;
    display: grid;
    width: 108px;
    height: 108px;
    margin: 0 auto;
    place-items: center;
    color: #FFFFFF;
    border: 9px solid rgba(255, 255, 255, 0.96);
    border-radius: 50%;
    box-shadow: 0 16px 34px rgba(48, 91, 140, 0.18);
}

.policy-journey-node span {
    position: absolute;
    top: -16px;
    right: -10px;
    display: grid;
    min-width: 38px;
    height: 28px;
    padding: 0 8px;
    place-items: center;
    color: #496681;
    background: #FFFFFF;
    border: 1px solid #D6E4F1;
    border-radius: 999px;
    box-shadow: 0 7px 16px rgba(45, 84, 128, 0.11);
    font-size: 11px;
    font-weight: 800;
}

.policy-journey-node b {
    font-size: 36px;
    line-height: 1;
    font-weight: 800;
}

.policy-journey-source .policy-journey-node {
    background: linear-gradient(145deg, #2E83FF, #1E67DF);
}

.policy-journey-label .policy-journey-node {
    background: linear-gradient(145deg, #8B78F6, #6753E7);
}

.policy-journey-search .policy-journey-node {
    background: linear-gradient(145deg, #F2B45B, #DE8C35);
}

.policy-journey-push .policy-journey-node {
    background: linear-gradient(145deg, #35C1A2, #159176);
}

.policy-journey-copy {
    margin-top: 24px;
    padding: 0 10px;
}

.policy-journey-copy h3 {
    margin-bottom: 10px;
    color: #1F3C5B;
    font-size: 22px;
    line-height: 1.35;
}

.policy-journey-copy p {
    min-height: 72px;
    color: #687F98;
    font-size: 13px;
    line-height: 1.75;
}

.policy-journey-copy ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
    margin-top: 16px;
}

.policy-journey-copy li {
    padding: 7px 10px;
    color: #496681;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #DCE8F4;
    border-radius: 999px;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 720;
}

.policy-journey-source .policy-journey-copy li { color: #266FC8; background: #EDF5FF; border-color: #D3E5FA; }
.policy-journey-label .policy-journey-copy li { color: #6756D6; background: #F1EEFF; border-color: #DED7FA; }
.policy-journey-search .policy-journey-copy li { color: #B5742D; background: #FFF5E8; border-color: #F2DFC6; }
.policy-journey-push .policy-journey-copy li { color: #16866F; background: #EAF8F4; border-color: #CDEBE2; }

.policy-journey-result {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 36px;
    padding: 18px 24px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #D9E7F4;
    border-radius: 18px;
    box-shadow: 0 12px 28px rgba(47, 88, 138, 0.07);
}

.policy-journey-result strong {
    color: #1E5FAC;
    font-size: 15px;
    line-height: 1.4;
}

.policy-journey-result div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 13px;
}

.policy-journey-result span {
    color: #536F8A;
    font-size: 12px;
    font-weight: 750;
}

.policy-journey-result i {
    width: 5px;
    height: 5px;
    background: #31B99B;
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(49, 185, 155, 0.11);
}

@media (max-width: 1199px) {
    .policy-journey-board { padding: 44px 26px 30px; }
    .policy-journey-list { gap: 12px; }
    .policy-journey-list::before { top: 46px; }
    .policy-journey-node { width: 98px; height: 98px; }
    .policy-journey-node b { font-size: 32px; }
    .policy-journey-item:not(:last-child)::after { top: 27px; right: -25px; width: 36px; height: 36px; }
    .policy-journey-copy { padding: 0 4px; }
    .policy-journey-copy h3 { font-size: 20px; }
    .policy-journey-copy p { min-height: 84px; font-size: 12px; }
    .policy-journey-copy li { padding: 6px 8px; font-size: 10px; }
}

@media (max-width: 767px) {
    .policy-journey-board {
        padding: 28px 20px 24px;
        border-radius: 24px;
    }
    .policy-journey-list {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .policy-journey-list::before {
        top: 38px;
        right: auto;
        bottom: 38px;
        left: 39px;
        width: 6px;
        height: auto;
        border-width: 4px;
        background: linear-gradient(180deg, #2678FF 0%, #776AF2 35%, #E6A04C 67%, #20AA8C 100%);
        transform: translateX(-50%);
    }
    .policy-journey-item {
        display: grid;
        grid-template-columns: 82px minmax(0, 1fr);
        gap: 18px;
        align-items: start;
        text-align: left;
    }
    .policy-journey-item:not(:last-child)::after { display: none; }
    .policy-journey-node {
        width: 78px;
        height: 78px;
        margin: 0;
        border-width: 7px;
    }
    .policy-journey-node span {
        top: -11px;
        right: -7px;
        min-width: 32px;
        height: 24px;
        padding: 0 6px;
        font-size: 9px;
    }
    .policy-journey-node b { font-size: 28px; }
    .policy-journey-copy { margin-top: 0; padding: 0; }
    .policy-journey-copy h3 { margin-bottom: 7px; font-size: 19px; }
    .policy-journey-copy p { min-height: 0; font-size: 13px; }
    .policy-journey-copy ul { justify-content: flex-start; margin-top: 12px; }
    .policy-journey-copy li { font-size: 10px; }
    .policy-journey-result {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        margin-top: 30px;
        padding: 17px 18px;
    }
    .policy-journey-result div { justify-content: flex-start; }
}

@media (max-width: 479px) {
    .policy-journey-board { padding: 25px 14px 22px; }
    .policy-journey-list::before { left: 35px; }
    .policy-journey-item { grid-template-columns: 72px minmax(0, 1fr); gap: 14px; }
    .policy-journey-node { width: 70px; height: 70px; border-width: 6px; }
    .policy-journey-node b { font-size: 25px; }
    .policy-journey-result div { gap: 10px; }
}

/* ============================================================
   tax-risk.css
   ============================================================ */

/* Tax risk product page — generated from the verified 2026-07-27 split */

/* ============================================================
   TAX RISK — DISTINCT RISK RADAR AND LEARNING LOOP
   ============================================================ */
.risk-hero-console {
    width: min(548px, 100%);
    padding: 11px;
    color: #D9E8FF;
    background:
        radial-gradient(circle at 20% 18%, rgba(65, 132, 255, 0.24), transparent 27%),
        linear-gradient(145deg, #0A1E3B 0%, #0C2B51 58%, #102B50 100%);
    border: 1px solid rgba(94, 160, 255, 0.35);
    border-radius: 22px;
    box-shadow: 0 28px 64px rgba(27, 72, 132, 0.25);
    transform: perspective(1200px) rotateY(-3deg) rotateX(1deg);
}
.risk-hero-head {
    display: flex;
    min-height: 34px;
    align-items: center;
    justify-content: space-between;
    padding: 0 8px 9px;
    border-bottom: 1px solid rgba(164, 198, 244, 0.16);
}
.risk-hero-head > div {
    display: flex;
    align-items: center;
    gap: 8px;
}
.risk-hero-head > div > i {
    width: 8px;
    height: 8px;
    background: #3AE0B3;
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(58, 224, 179, 0.12), 0 0 14px rgba(58, 224, 179, 0.7);
}
.risk-hero-head strong {
    color: #F6FAFF;
    font-size: 11px;
    letter-spacing: 0.2px;
}
.risk-hero-head > span {
    padding: 4px 8px;
    color: #7CF0D0;
    background: rgba(49, 207, 169, 0.1);
    border: 1px solid rgba(74, 224, 187, 0.18);
    border-radius: 999px;
    font-size: 7px;
    font-weight: 800;
}
.risk-hero-main {
    display: grid;
    grid-template-columns: 0.92fr 1.08fr;
    gap: 9px;
    padding: 9px 0;
}
.risk-hero-radar,
.risk-hero-focus {
    min-width: 0;
    min-height: 184px;
    padding: 10px;
    background: rgba(255, 255, 255, 0.045);
    border: 1px solid rgba(151, 190, 243, 0.14);
    border-radius: 14px;
}
.risk-hero-radar {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.risk-radar-grid {
    position: relative;
    width: 132px;
    height: 132px;
    background:
        linear-gradient(rgba(83, 153, 243, 0.14) 1px, transparent 1px),
        linear-gradient(90deg, rgba(83, 153, 243, 0.14) 1px, transparent 1px),
        repeating-radial-gradient(circle, transparent 0 20px, rgba(97, 159, 246, 0.22) 21px 22px);
    background-size: 22px 22px, 22px 22px, auto;
    border: 1px solid rgba(103, 174, 255, 0.34);
    border-radius: 50%;
    overflow: hidden;
}
.risk-radar-grid > i {
    position: absolute;
    inset: -1px;
    background: conic-gradient(from 20deg, transparent 0 74%, rgba(55, 220, 191, 0.06) 78%, rgba(55, 220, 191, 0.34) 100%);
    border-radius: 50%;
    transform-origin: center;
    animation: risk-radar-spin 6s linear infinite;
}
.risk-radar-grid > b {
    position: absolute;
    inset: 50% 0 auto;
    height: 1px;
    background: rgba(109, 174, 255, 0.23);
}
.risk-radar-grid > b::after {
    content: '';
    position: absolute;
    top: -66px;
    left: 50%;
    width: 1px;
    height: 132px;
    background: rgba(109, 174, 255, 0.23);
}
.risk-radar-grid > span {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    display: flex;
    width: 66px;
    height: 66px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: rgba(8, 32, 62, 0.9);
    border: 1px solid rgba(91, 172, 255, 0.45);
    border-radius: 50%;
    box-shadow: 0 0 26px rgba(41, 126, 255, 0.22);
    transform: translate(-50%, -50%);
}
.risk-radar-grid > span strong { color: #FFFFFF; font-size: 23px; line-height: 1; }
.risk-radar-grid > span small { margin-top: 5px; color: #86A8D3; font-size: 6px; font-weight: 700; }
.risk-radar-point {
    position: absolute;
    z-index: 3;
    width: 7px;
    height: 7px;
    background: #FFB05A;
    border: 1px solid rgba(255,255,255,0.86);
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(255, 176, 90, 0.13), 0 0 12px rgba(255, 176, 90, 0.74);
}
.risk-radar-point.point-a { top: 25px; right: 25px; }
.risk-radar-point.point-b { right: 12px; bottom: 43px; background: #FF6D79; }
.risk-radar-point.point-c { bottom: 20px; left: 33px; background: #45D8B0; }
.risk-radar-legend {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px 10px;
    width: 100%;
    margin-top: 8px;
}
.risk-radar-legend span {
    color: #91ACCF;
    font-size: 6px;
    font-weight: 700;
    white-space: nowrap;
}
.risk-radar-legend i {
    display: inline-block;
    width: 5px;
    height: 5px;
    margin-right: 4px;
    background: #4F8DFF;
    border-radius: 50%;
}
.risk-radar-legend span:nth-child(2) i { background: #FF7D72; }
.risk-radar-legend span:nth-child(3) i { background: #A076FF; }
.risk-radar-legend span:nth-child(4) i { background: #3ED2AE; }
.risk-hero-focus h4 {
    margin: 1px 0 8px;
    color: #F4F8FF;
    font-size: 9px;
}
.risk-hero-focus ol { display: grid; gap: 7px; }
.risk-hero-focus li {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) 25px;
    align-items: center;
    gap: 7px;
    min-height: 43px;
    padding: 7px;
    background: rgba(255,255,255,0.045);
    border: 1px solid rgba(154, 190, 239, 0.1);
    border-radius: 9px;
}
.risk-hero-focus li > b {
    display: inline-flex;
    width: 23px;
    height: 23px;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    background: #F05C6C;
    border-radius: 7px;
    font-size: 7px;
}
.risk-hero-focus li:nth-child(2) > b { background: #F0A14B; }
.risk-hero-focus li:nth-child(3) > b { background: #3AAE94; }
.risk-hero-focus li span { min-width: 0; color: #ECF4FF; font-size: 7px; line-height: 1.35; font-weight: 800; }
.risk-hero-focus li small { display: block; margin-top: 3px; color: #7897BE; font-size: 6px; font-weight: 600; }
.risk-hero-focus li > em { color: #ABC9F0; font-size: 10px; font-style: normal; font-weight: 800; text-align: right; }
.risk-hero-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}
.risk-hero-metrics p {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 6px;
    padding: 8px;
    background: rgba(255,255,255,0.055);
    border: 1px solid rgba(152, 190, 242, 0.12);
    border-radius: 10px;
}
.risk-hero-metrics strong { color: #FFFFFF; font-size: 13px; }
.risk-hero-metrics small { color: #87A6CC; font-size: 6px; font-weight: 700; }

.risk-loop-section {
    background: linear-gradient(180deg, #FFFFFF 0%, #F4F8FD 100%) !important;
}
.risk-loop-eyebrow {
    display: inline-block;
    margin-bottom: 12px;
    color: #516FF0;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 2px;
}
.risk-loop-board {
    position: relative;
    max-width: 1180px;
    margin: 0 auto;
    padding: 18px;
    color: #E7F1FF;
    background:
        radial-gradient(circle at 48% 38%, rgba(71, 118, 255, 0.22), transparent 25%),
        radial-gradient(circle at 92% 88%, rgba(35, 206, 176, 0.11), transparent 22%),
        linear-gradient(145deg, #071A34 0%, #0A274B 54%, #0B3159 100%);
    border: 1px solid #123B68;
    border-radius: 30px;
    box-shadow: 0 28px 70px rgba(24, 66, 119, 0.18);
    overflow: hidden;
}
.risk-loop-board::before {
    content: '';
    position: absolute;
    inset: 52px 0 auto 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(113, 167, 239, 0.2), transparent);
}
.risk-loop-board-head {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 92px 1fr 92px;
    min-height: 35px;
    align-items: center;
    padding: 0 4px 14px;
}
.risk-loop-board-head > div { display: flex; gap: 6px; }
.risk-loop-board-head > div span {
    width: 7px;
    height: 7px;
    background: #497CB8;
    border-radius: 50%;
}
.risk-loop-board-head > div span:nth-child(2) { background: #4B93EE; }
.risk-loop-board-head > div span:nth-child(3) { background: #45CEAD; }
.risk-loop-board-head strong { color: #F7FAFF; font-size: 13px; text-align: center; }
.risk-loop-board-head em {
    justify-self: end;
    padding: 5px 10px;
    color: #6FE7C8;
    background: rgba(48, 205, 169, 0.1);
    border-radius: 999px;
    font-size: 9px;
    font-style: normal;
    font-weight: 800;
}
.risk-loop-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 0.9fr 1.18fr 1fr;
    gap: 16px;
    padding-top: 16px;
}
.risk-loop-data,
.risk-loop-engine,
.risk-loop-action {
    min-width: 0;
    padding: 20px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(137, 181, 240, 0.15);
    border-radius: 20px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}
.risk-loop-layer-title {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 18px;
}
.risk-loop-layer-title > span,
.risk-feedback-title > span {
    display: inline-flex;
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    color: #8CB9F6;
    background: rgba(68, 134, 226, 0.13);
    border: 1px solid rgba(107, 169, 249, 0.24);
    border-radius: 10px;
    font-size: 10px;
    font-weight: 800;
}
.risk-loop-layer-title p,
.risk-feedback-title p { min-width: 0; }
.risk-loop-layer-title strong,
.risk-feedback-title strong { display: block; color: #F7FAFF; font-size: 16px; line-height: 1.25; }
.risk-loop-layer-title small,
.risk-feedback-title small { display: block; margin-top: 4px; color: #7595BB; font-size: 10px; line-height: 1.35; font-weight: 600; }
.risk-data-streams { display: grid; gap: 9px; }
.risk-data-streams article {
    position: relative;
    display: grid;
    grid-template-columns: 34px 1fr;
    align-items: center;
    gap: 10px;
    min-height: 61px;
    padding: 10px 11px;
    background: linear-gradient(90deg, rgba(48, 105, 183, 0.19), rgba(255,255,255,0.025));
    border: 1px solid rgba(114, 164, 229, 0.12);
    border-radius: 12px;
}
.risk-data-streams article::after {
    content: '›';
    position: absolute;
    top: 50%;
    right: 9px;
    color: #4A76A9;
    font-size: 16px;
    transform: translateY(-52%);
}
.risk-data-streams article > i {
    position: relative;
    display: inline-flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    background: rgba(61, 131, 231, 0.18);
    border: 1px solid rgba(102, 169, 255, 0.24);
    border-radius: 10px;
}
.risk-data-streams article > i::before,
.risk-data-streams article > i::after {
    content: '';
    position: absolute;
    border: 1.5px solid #7FB2F2;
}
.risk-data-streams article > i::before { width: 13px; height: 10px; border-radius: 3px; }
.risk-data-streams article > i::after { width: 7px; height: 14px; border-radius: 2px; transform: rotate(90deg); }
.risk-data-streams article:nth-child(2) > i { background: rgba(93, 91, 232, 0.18); }
.risk-data-streams article:nth-child(2) > i::before,
.risk-data-streams article:nth-child(2) > i::after { border-color: #A49BFF; }
.risk-data-streams article:nth-child(3) > i { background: rgba(43, 200, 170, 0.14); }
.risk-data-streams article:nth-child(3) > i::before,
.risk-data-streams article:nth-child(3) > i::after { border-color: #61D9BC; }
.risk-data-streams article:nth-child(4) > i { background: rgba(243, 167, 75, 0.14); }
.risk-data-streams article:nth-child(4) > i::before,
.risk-data-streams article:nth-child(4) > i::after { border-color: #F0B870; }
.risk-data-streams strong { display: block; color: #EAF3FF; font-size: 12px; line-height: 1.3; }
.risk-data-streams small { display: block; margin-top: 3px; color: #6F91B9; font-size: 9px; white-space: nowrap; }
.risk-data-status {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 12px;
    padding: 8px 10px;
    color: #72A0D6;
    background: rgba(25, 75, 131, 0.23);
    border-radius: 9px;
    font-size: 9px;
    font-weight: 700;
}
.risk-data-status i {
    width: 7px;
    height: 7px;
    background: #48D8B3;
    border-radius: 50%;
    box-shadow: 0 0 8px rgba(72,216,179,0.6);
}
.risk-data-status b { margin-left: auto; color: #5EE4C2; font-size: 8px; letter-spacing: 1px; }
.risk-loop-engine {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
.risk-engine-radar {
    position: relative;
    width: min(248px, 78%);
    aspect-ratio: 1;
    align-self: center;
    margin: 2px 0 16px;
    background:
        linear-gradient(rgba(71, 132, 211, 0.09) 1px, transparent 1px),
        linear-gradient(90deg, rgba(71, 132, 211, 0.09) 1px, transparent 1px),
        repeating-radial-gradient(circle, transparent 0 34px, rgba(80, 151, 241, 0.18) 35px 36px);
    background-size: 28px 28px, 28px 28px, auto;
    border: 1px solid rgba(89, 158, 246, 0.31);
    border-radius: 50%;
    box-shadow: inset 0 0 50px rgba(44, 107, 194, 0.12), 0 0 50px rgba(54, 102, 235, 0.08);
    overflow: hidden;
}
.risk-engine-radar::before,
.risk-engine-radar::after {
    content: '';
    position: absolute;
    background: rgba(94, 156, 238, 0.2);
}
.risk-engine-radar::before { top: 50%; right: 0; left: 0; height: 1px; }
.risk-engine-radar::after { top: 0; bottom: 0; left: 50%; width: 1px; }
.risk-engine-scan {
    position: absolute;
    inset: -1px;
    background: conic-gradient(from 0deg, transparent 0 72%, rgba(54, 216, 185, 0.05) 78%, rgba(54, 216, 185, 0.32) 100%);
    border-radius: 50%;
    animation: risk-radar-spin 7s linear infinite;
}
.risk-engine-core {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    display: flex;
    width: 112px;
    height: 112px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, rgba(31, 91, 171, 0.92), rgba(17, 50, 92, 0.96));
    border: 1px solid rgba(116, 182, 255, 0.48);
    border-radius: 50%;
    box-shadow: 0 0 0 11px rgba(57, 128, 220, 0.08), 0 0 36px rgba(49, 130, 244, 0.28);
    transform: translate(-50%, -50%);
}
.risk-engine-core strong { color: #FFFFFF; font-size: 26px; line-height: 1; }
.risk-engine-core small { margin-top: 8px; color: #A9C8EE; font-size: 9px; font-weight: 700; }
.risk-engine-dot {
    position: absolute;
    z-index: 3;
    width: 8px;
    height: 8px;
    background: #FFB458;
    border: 1px solid #FFFFFF;
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(255,180,88,0.11), 0 0 13px rgba(255,180,88,0.75);
}
.risk-engine-dot.dot-1 { top: 24%; right: 17%; }
.risk-engine-dot.dot-2 { right: 10%; bottom: 30%; background: #FF6B75; }
.risk-engine-dot.dot-3 { bottom: 14%; left: 28%; background: #49D3AF; }
.risk-engine-types {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
}
.risk-engine-types span {
    padding: 8px 4px;
    color: #A9C4E5;
    background: rgba(64, 125, 205, 0.12);
    border: 1px solid rgba(103, 164, 241, 0.13);
    border-radius: 9px;
    font-size: 9px;
    font-weight: 800;
    text-align: center;
}
.risk-engine-types i { display: inline-block; width: 5px; height: 5px; margin-right: 4px; background: #4F8EFF; border-radius: 50%; }
.risk-engine-types span:nth-child(2) i { background: #7A73FA; }
.risk-engine-types span:nth-child(3) i { background: #3BCFAE; }
.risk-engine-types span:nth-child(4) i { background: #F3A954; }
.risk-engine-note {
    margin-top: 10px;
    color: #6F93BE;
    font-size: 9px;
    font-weight: 700;
    text-align: center;
}
.risk-loop-action ol { position: relative; display: grid; gap: 9px; }
.risk-loop-action ol::before {
    content: '';
    position: absolute;
    top: 29px;
    bottom: 29px;
    left: 17px;
    width: 1px;
    background: linear-gradient(#4D8EFF, #47CCAD);
}
.risk-loop-action li {
    position: relative;
    display: grid;
    grid-template-columns: 35px 1fr;
    align-items: center;
    gap: 10px;
    min-height: 66px;
    padding: 10px 10px 10px 8px;
    background: linear-gradient(90deg, rgba(51, 111, 190, 0.16), rgba(255,255,255,0.025));
    border: 1px solid rgba(110, 164, 231, 0.12);
    border-radius: 13px;
}
.risk-loop-action li > span {
    position: relative;
    z-index: 2;
    display: inline-flex;
    width: 35px;
    height: 35px;
    align-items: center;
    justify-content: center;
    color: #B8D3F5;
    background: #123B69;
    border: 1px solid #356FAA;
    border-radius: 50%;
    font-size: 9px;
    font-weight: 800;
}
.risk-loop-action li > i { display: none; }
.risk-loop-action strong { display: block; color: #EAF3FF; font-size: 12px; }
.risk-loop-action small { display: block; margin-top: 4px; color: #7193BA; font-size: 9px; }
.risk-loop-feedback {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(210px, 0.72fr) minmax(0, 2fr);
    align-items: center;
    gap: 18px;
    margin-top: 16px;
    padding: 16px 18px;
    background: linear-gradient(90deg, rgba(54, 113, 194, 0.2), rgba(39, 181, 160, 0.1));
    border: 1px solid rgba(104, 167, 239, 0.15);
    border-radius: 18px;
}
.risk-feedback-title { display: flex; align-items: center; gap: 11px; }
.risk-feedback-title > span { color: #66DDBE; background: rgba(43, 196, 163, 0.11); border-color: rgba(82, 218, 190, 0.22); }
.risk-feedback-track {
    display: grid;
    grid-template-columns: repeat(9, auto) 30px;
    align-items: center;
    justify-content: end;
    gap: 7px;
}
.risk-feedback-track span {
    padding: 8px 10px;
    color: #C7DCF6;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(130, 177, 234, 0.14);
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
    white-space: nowrap;
}
.risk-feedback-track i { color: #527EAF; font-size: 12px; font-style: normal; }
.risk-feedback-track b { color: #5DE1BF; font-size: 22px; line-height: 1; text-align: center; }

@keyframes risk-radar-spin {
    to { transform: rotate(360deg); }
}

@media (max-width: 1199px) {
    .risk-hero-console { transform: none; }
    .risk-loop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .risk-loop-action { grid-column: 1 / -1; }
    .risk-loop-action ol { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .risk-loop-action ol::before { top: 27px; right: 10%; bottom: auto; left: 10%; width: auto; height: 1px; }
    .risk-loop-action li { grid-template-columns: 35px 1fr; }
    .risk-loop-feedback { grid-template-columns: 1fr; }
    .risk-feedback-track { justify-content: center; }
}

@media (max-width: 899px) {
    .risk-loop-board { max-width: 680px; }
    .risk-loop-grid { grid-template-columns: 1fr; }
    .risk-loop-action { grid-column: auto; }
    .risk-loop-action ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .risk-loop-action ol::before { display: none; }
    .risk-data-streams { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .risk-feedback-track { grid-template-columns: repeat(5, auto); justify-content: start; }
    .risk-feedback-track i { display: none; }
    .risk-feedback-track b { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
    body[data-product="tax-risk"] .product-hero-section::before { background: linear-gradient(150deg, rgba(255,255,255,0.5), transparent); }
    .risk-loop-eyebrow { font-size: 10px; letter-spacing: 1.5px; }
    .risk-loop-board { padding: 13px; border-radius: 22px; }
    .risk-loop-board-head { grid-template-columns: 46px 1fr 58px; padding-bottom: 11px; }
    .risk-loop-board-head strong { font-size: 11px; }
    .risk-loop-board-head em { padding: 4px 7px; font-size: 7px; }
    .risk-loop-data,
    .risk-loop-engine,
    .risk-loop-action { padding: 16px; border-radius: 16px; }
    .risk-data-streams { grid-template-columns: 1fr; }
    .risk-engine-radar { width: min(228px, 88%); }
    .risk-loop-action ol { grid-template-columns: 1fr; }
    .risk-loop-feedback { padding: 15px; }
    .risk-feedback-track { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
    .risk-feedback-track span { text-align: center; white-space: normal; }
    .risk-feedback-track b { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
    .risk-radar-grid > i,
    .risk-engine-scan { animation: none; }
}

/* Tax risk light theme: aligned with the enterprise-tax banner */
.risk-hero-console {
    color: #45617F;
    background:
        radial-gradient(circle at 18% 12%, rgba(63, 132, 236, 0.13), transparent 28%),
        linear-gradient(145deg, rgba(255,255,255,0.98) 0%, #F5F9FF 56%, #EDF5FF 100%);
    border-color: #CDDEF1;
    box-shadow: 0 24px 54px rgba(49, 96, 154, 0.16);
}
.risk-hero-head {
    border-bottom-color: #D9E6F4;
}
.risk-hero-head > div > i {
    background: #27B996;
    box-shadow: 0 0 0 5px rgba(39, 185, 150, 0.1), 0 0 12px rgba(39, 185, 150, 0.34);
}
.risk-hero-head strong { color: #274461; }
.risk-hero-head > span {
    color: #168D75;
    background: #E8F8F3;
    border-color: #C7ECE1;
}
.risk-hero-radar,
.risk-hero-focus {
    background: rgba(255, 255, 255, 0.86);
    border-color: #D8E5F3;
    box-shadow: 0 8px 18px rgba(53, 98, 151, 0.06);
}
.risk-radar-grid {
    background:
        linear-gradient(rgba(72, 130, 203, 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(72, 130, 203, 0.1) 1px, transparent 1px),
        repeating-radial-gradient(circle, transparent 0 20px, rgba(65, 132, 222, 0.17) 21px 22px),
        #F4F9FF;
    background-size: 22px 22px, 22px 22px, auto, auto;
    border-color: #9FC1EA;
}
.risk-radar-grid > i {
    background: conic-gradient(from 20deg, transparent 0 74%, rgba(36, 190, 159, 0.04) 78%, rgba(36, 190, 159, 0.23) 100%);
}
.risk-radar-grid > b,
.risk-radar-grid > b::after { background: rgba(63, 125, 205, 0.18); }
.risk-radar-grid > span {
    background: rgba(255,255,255,0.96);
    border-color: #82AFE6;
    box-shadow: 0 0 0 6px rgba(73, 139, 225, 0.08), 0 8px 22px rgba(53, 105, 170, 0.14);
}
.risk-radar-grid > span strong { color: #1F63C9; }
.risk-radar-grid > span small { color: #7187A2; }
.risk-radar-point {
    border-color: #FFFFFF;
    box-shadow: 0 0 0 4px rgba(255, 176, 90, 0.13), 0 3px 10px rgba(215, 129, 42, 0.25);
}
.risk-radar-legend span { color: #6C84A0; }
.risk-hero-focus h4 { color: #274461; }
.risk-hero-focus li {
    background: #F7FAFE;
    border-color: #E0E9F4;
}
.risk-hero-focus li span { color: #344F6C; }
.risk-hero-focus li small { color: #8195AC; }
.risk-hero-focus li > em { color: #416C9E; }
.risk-hero-metrics p {
    background: rgba(255,255,255,0.88);
    border-color: #D8E5F3;
}
.risk-hero-metrics strong { color: #235EAC; }
.risk-hero-metrics small { color: #758BA5; }

.risk-loop-board {
    color: #385672;
    background:
        radial-gradient(circle at 48% 36%, rgba(79, 139, 232, 0.12), transparent 28%),
        radial-gradient(circle at 94% 88%, rgba(45, 193, 164, 0.1), transparent 22%),
        linear-gradient(145deg, #F8FBFF 0%, #EFF6FE 55%, #EDF8F6 100%);
    border-color: #C9DBEF;
    box-shadow: 0 26px 64px rgba(45, 91, 145, 0.15);
}
.risk-loop-board::before {
    background: linear-gradient(90deg, transparent, rgba(88, 137, 198, 0.22), transparent);
}
.risk-loop-board-head > div span { background: #9BB8D8; }
.risk-loop-board-head > div span:nth-child(2) { background: #5C96DF; }
.risk-loop-board-head > div span:nth-child(3) { background: #44C2A4; }
.risk-loop-board-head strong { color: #294966; }
.risk-loop-board-head em {
    color: #168D75;
    background: #E4F7F1;
    border: 1px solid #C8EDE2;
}
.risk-loop-data,
.risk-loop-engine,
.risk-loop-action {
    background: rgba(255, 255, 255, 0.86);
    border-color: #D5E3F2;
    box-shadow: 0 10px 24px rgba(49, 94, 146, 0.06), inset 0 1px 0 #FFFFFF;
}
.risk-loop-layer-title > span,
.risk-feedback-title > span {
    color: #3876C7;
    background: #EAF3FF;
    border-color: #CCDEF4;
}
.risk-loop-layer-title strong,
.risk-feedback-title strong { color: #294966; }
.risk-loop-layer-title small,
.risk-feedback-title small { color: #7790AA; }
.risk-data-streams article {
    background: linear-gradient(90deg, #F0F6FE, #F9FCFF);
    border-color: #DBE7F4;
}
.risk-data-streams article::after { color: #8BA5C1; }
.risk-data-streams article > i {
    background: #E8F2FF;
    border-color: #C9DFF7;
}
.risk-data-streams article:nth-child(2) > i { background: #F0EEFF; }
.risk-data-streams article:nth-child(3) > i { background: #E8F8F4; }
.risk-data-streams article:nth-child(4) > i { background: #FFF5E8; }
.risk-data-streams strong { color: #35516E; }
.risk-data-streams small { color: #8197AE; }
.risk-data-status {
    color: #587993;
    background: #EDF7F5;
    border: 1px solid #D5ECE7;
}
.risk-data-status b { color: #168D75; }
.risk-engine-radar {
    background:
        linear-gradient(rgba(68, 128, 201, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(68, 128, 201, 0.08) 1px, transparent 1px),
        repeating-radial-gradient(circle, transparent 0 34px, rgba(70, 135, 219, 0.14) 35px 36px),
        #F6FAFF;
    background-size: 28px 28px, 28px 28px, auto, auto;
    border-color: #A9C7EA;
    box-shadow: inset 0 0 48px rgba(75, 132, 206, 0.07), 0 10px 30px rgba(54, 102, 164, 0.08);
}
.risk-engine-radar::before,
.risk-engine-radar::after { background: rgba(72, 132, 207, 0.16); }
.risk-engine-scan {
    background: conic-gradient(from 0deg, transparent 0 72%, rgba(44, 193, 163, 0.04) 78%, rgba(44, 193, 163, 0.22) 100%);
}
.risk-engine-core {
    background: linear-gradient(145deg, #FFFFFF, #E9F3FF);
    border-color: #74A7E5;
    box-shadow: 0 0 0 11px rgba(73, 139, 225, 0.07), 0 12px 30px rgba(52, 109, 180, 0.15);
}
.risk-engine-core strong { color: #1D63C8; }
.risk-engine-core small { color: #6984A3; }
.risk-engine-dot {
    border-color: #FFFFFF;
    box-shadow: 0 0 0 5px rgba(255,180,88,0.1), 0 4px 11px rgba(205,126,43,0.22);
}
.risk-engine-types span {
    color: #58728F;
    background: #F2F7FD;
    border-color: #D8E5F3;
}
.risk-engine-note { color: #718AA5; }
.risk-loop-action ol::before { background: linear-gradient(#4D8EFF, #47CCAD); }
.risk-loop-action li {
    background: linear-gradient(90deg, #F0F6FE, #FBFDFF);
    border-color: #DBE7F4;
}
.risk-loop-action li > span {
    color: #3774C3;
    background: #FFFFFF;
    border-color: #AFCBEA;
    box-shadow: 0 4px 10px rgba(49, 101, 164, 0.08);
}
.risk-loop-action strong { color: #35516E; }
.risk-loop-action small { color: #8096AD; }
.risk-loop-feedback {
    background: linear-gradient(90deg, #EAF3FF, #E8F7F3);
    border-color: #CFE1EE;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.9);
}
.risk-feedback-title > span {
    color: #168D75;
    background: #E3F6F0;
    border-color: #C5E9DF;
}
.risk-feedback-track span {
    color: #4B6683;
    background: rgba(255,255,255,0.88);
    border-color: #D3E1EE;
}
.risk-feedback-track i { color: #7E9CBB; }
.risk-feedback-track b { color: #25A78C; }

.risk-loop-board,
.risk-loop-data,
.risk-loop-engine,
.risk-loop-action,
.risk-data-streams article,
.risk-engine-radar,
.risk-engine-core,
.risk-loop-action li > span,
.risk-loop-feedback {
    box-shadow: none;
}

/* Tax risk process typography */
.risk-loop-board-head strong { font-size: 20px; }
.risk-loop-board-head em { font-size: 11px; }
.risk-loop-layer-title > span,
.risk-feedback-title > span { font-size: 12px; }
.risk-loop-layer-title strong,
.risk-feedback-title strong { font-size: 18px; }
.risk-loop-layer-title small,
.risk-feedback-title small { font-size: 12px; }
.risk-data-streams strong { font-size: 14px; }
.risk-data-streams small { font-size: 11px; }
.risk-data-status { font-size: 11px; }
.risk-data-status b { font-size: 10px; }
.risk-engine-core strong { font-size: 30px; }
.risk-engine-core small { font-size: 11px; }
.risk-engine-types span { font-size: 11px; }
.risk-engine-note { font-size: 11px; }
.risk-loop-action li > span { font-size: 11px; }
.risk-loop-action strong { font-size: 14px; }
.risk-loop-action small { font-size: 11px; }
.risk-feedback-track span { font-size: 11px; }

@media (max-width: 767px) {
    .risk-loop-board-head strong { font-size: 13px; }
    .risk-loop-board-head em { font-size: 9px; }
    .risk-loop-layer-title strong,
    .risk-feedback-title strong { font-size: 17px; }
    .risk-data-streams strong,
    .risk-loop-action strong { font-size: 14px; }
    .risk-data-streams small,
    .risk-loop-action small,
    .risk-loop-layer-title small,
    .risk-feedback-title small { font-size: 11px; }
}

.risk-loop-section {
    background: #FFFFFF !important;
}

.risk-loop-board {
    background: #F4F8FD;
}
