/* T131 org-chart unification. Revision deck (zh) slide 8: every organisation chart follows the
   about3 sustainability-committee design - dark-blue lead nodes with a small tag, light-blue support
   nodes with a top accent, and team cards with a coloured header, a round icon on top and a white body.
   Applies to about2 (affiliates), about3, governance, governance2 (risk), governance3 (information
   security), product2 (R&D) and environment2 (climate). Loaded after the page styles. */

html body .report-org,
html body .risk-ppt .risk-org,
html body .t131-secorg {
    --t131o-lead: #2676b5;
    --t131o-lead-shadow: 0 6px 13px rgba(26, 86, 131, .2);
    --t131o-support: #e4f2f8;
    --t131o-support-accent: #82b8d3;
    --t131o-support-border: #b8d9e8;
    --t131o-support-ink: #174e6b;
    --t131o-line: #5791af;
}

/* ---------- shared canvas ---------- */
html body .page_main .report-org__viewport {
    border: 1px solid #c7e2ec !important;
    border-radius: 6px !important;
    background: #fbfdfe !important;
}
html body .page_main .report-org .report-org__link {
    stroke: var(--t131o-line) !important;
    stroke-width: 1.8 !important;
}
html body .page_main .report-org__tree-level .report-org__tree-level { border-left-color: #a9cbdc !important; }
html body .page_main .report-org__tree-level .report-org__tree-level > .report-org__tree-item::before { border-top-color: #a9cbdc !important; }

/* ---------- support node (light blue, top accent) : default for every org node ---------- */
html body .page_main .report-org .report-org__node:not(.report-org__node--detailed),
html body .page_main .report-template--climate-governance .report-org__node--detailed {
    --tone: var(--t131o-support-accent);
    --tone-strong: var(--t131o-support-ink);
    --tone-soft: #edf7fb;
    --tone-border: var(--t131o-support-border);
    border: 1px solid var(--t131o-support-border) !important;
    border-top: 4px solid var(--t131o-support-accent) !important;
    border-radius: 12px !important;
    color: var(--t131o-support-ink) !important;
    background: var(--t131o-support) !important;
    box-shadow: 0 5px 12px rgba(38, 89, 114, .12) !important;
}
html body .page_main .report-org .report-org__node:not(.report-org__node--detailed) .report-org__copy strong,
html body .page_main .report-org .report-org__node:not(.report-org__node--detailed) .report-org__icon,
html body .page_main .report-org .report-org__node:not(.report-org__node--detailed) .report-org__icon-svg,
html body .page_main .report-template--climate-governance .report-org__node--detailed :is(.report-org__copy strong, .report-org__icon, .report-org__icon-svg) {
    color: var(--t131o-support-ink) !important;
}
html body .page_main .report-org .report-org__label {
    border-radius: 3px;
    color: var(--t131o-support-ink) !important;
    background: #edf7fb !important;
    font-weight: 700;
}
html body .page_main .report-org .report-org__node:not(.report-org__node--detailed) .report-org__body,
html body .page_main .report-template--climate-governance .report-org__node--detailed .report-org__body {
    border-top-color: var(--t131o-support-border) !important;
    color: #33464e !important;
}

/* ---------- lead node (dark blue) ---------- */
html body .page_main .report-org .report-org__node[data-parent-key=""],
html body .page_main .report-template--governance-wide .report-org__node[data-node-key="president"],
html body .page_main .report-template--climate-governance .report-org__node[data-node-key="committee"],
html body .page_main .report-template--sustainability-teams .report-org__node[data-node-key="committee"] {
    border: 1px solid var(--t131o-lead) !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: var(--t131o-lead) !important;
    box-shadow: var(--t131o-lead-shadow) !important;
}
html body .page_main .report-org .report-org__node[data-parent-key=""] :is(.report-org__copy strong, .report-org__icon, .report-org__icon-svg, .report-org__body),
html body .page_main .report-template--governance-wide .report-org__node[data-node-key="president"] :is(.report-org__copy strong, .report-org__icon, .report-org__icon-svg),
html body .page_main .report-template--climate-governance .report-org__node[data-node-key="committee"] :is(.report-org__copy strong, .report-org__icon, .report-org__icon-svg, .report-org__body),
html body .page_main .report-template--sustainability-teams .report-org__node[data-node-key="committee"] :is(.report-org__copy strong, .report-org__icon, .report-org__icon-svg) {
    color: #fff !important;
}
html body .page_main .report-org .report-org__node[data-parent-key=""] .report-org__label,
html body .page_main .report-template--climate-governance .report-org__node[data-node-key="committee"] .report-org__label,
html body .page_main .report-template--sustainability-teams .report-org__node[data-node-key="committee"] .report-org__label {
    color: #fff !important;
    background: rgba(255, 255, 255, .17) !important;
}
html body .page_main .report-template--climate-governance .report-org__node[data-node-key="committee"] .report-org__body {
    border-top-color: rgba(255, 255, 255, .35) !important;
}
/* Round icon badge above a lead node (governance): keep it white so the glyph stays visible. */
html body .page_main .report-template--governance-wide .report-org__node[data-org-context="desktop"]:is([data-node-key="board"], [data-node-key="president"]) > .report-org__icon {
    border: 3px solid var(--t131o-lead) !important;
    background: #fff !important;
}
html body .page_main .report-template--governance-wide .report-org__node[data-org-context="desktop"]:is([data-node-key="board"], [data-node-key="president"]) > .report-org__icon .report-org__icon-svg {
    color: var(--t131o-lead) !important;
}

/* ---------- team-coloured header nodes / cards ---------- */
html body .page_main .report-org .report-org__node.t131o-tone,
html body .page_main .report-template--governance-wide .report-org__node:is([data-node-key="taiwan-group"], [data-parent-key="taiwan-group"]),
html body .page_main .report-template--climate-governance .report-org__node[data-node-key="product-group"] {
    --t131o-tone: #8ebb4d; --t131o-tone-soft: #a5ca68; --t131o-tone-border: #c9dda9; --t131o-tone-ink: #34531b;
}
html body .page_main .report-template--governance-wide .report-org__node:is([data-node-key="overseas-group"], [data-parent-key="overseas-group"]) {
    --t131o-tone: #76b5ae; --t131o-tone-soft: #98cbc5; --t131o-tone-border: #b9dbd7; --t131o-tone-ink: #214f4b;
}
html body .page_main .report-template--climate-governance .report-org__node[data-node-key="finance-group"] {
    --t131o-tone: #e4bd36; --t131o-tone-soft: #f3d460; --t131o-tone-border: #ead784; --t131o-tone-ink: #55450b;
}
html body .page_main .report-template--climate-governance .report-org__node[data-node-key="people-group"] {
    --t131o-tone: #6aa9cf; --t131o-tone-soft: #85bad9; --t131o-tone-border: #b7d5e7; --t131o-tone-ink: #204c67;
}

/* Business-group headers (governance): coloured band, icon and text centred (zh slide 14). */
html body .page_main .report-template--governance-wide .report-org__node:is([data-node-key="taiwan-group"], [data-node-key="overseas-group"]) {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    border: 1px solid var(--t131o-tone-soft) !important;
    border-radius: 12px !important;
    color: #192a31 !important;
    background: var(--t131o-tone-soft) !important;
    box-shadow: 0 6px 13px rgba(39, 74, 89, .12) !important;
    text-align: center !important;
}
html body .page_main .report-template--governance-wide .report-org__node:is([data-node-key="taiwan-group"], [data-node-key="overseas-group"]) .report-org__copy {
    grid-column: auto !important;
    justify-items: center;
    text-align: center;
}
html body .page_main .report-template--governance-wide .report-org__node:is([data-node-key="taiwan-group"], [data-node-key="overseas-group"]) :is(.report-org__copy strong, .report-org__icon, .report-org__icon-svg) {
    color: #192a31 !important;
}

/* Business units (governance): white card, tone header line, round icon on top. */
html body .page_main .report-template--governance-wide .report-org__node:is([data-parent-key="taiwan-group"], [data-parent-key="overseas-group"]) {
    border: 1px solid var(--t131o-tone-border) !important;
    border-top: 4px solid var(--t131o-tone) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 6px 14px rgba(39, 74, 89, .1) !important;
    text-align: center !important;
}
html body .page_main .report-template--governance-wide .report-org__node:is([data-parent-key="taiwan-group"], [data-parent-key="overseas-group"]) :is(.report-org__copy strong) {
    color: #192a31 !important;
}
html body .page_main .report-template--governance-wide .report-org__node:is([data-parent-key="taiwan-group"], [data-parent-key="overseas-group"]) :is(.report-org__icon, .report-org__icon-svg) {
    color: var(--t131o-tone) !important;
}
html body .page_main .report-template--governance-wide .report-org__node[data-org-context="desktop"]:is([data-parent-key="taiwan-group"], [data-parent-key="overseas-group"], [data-node-key$="-committee"]) > .report-org__icon {
    border: 3px solid #fff !important;
    outline: 3px solid var(--t131o-tone, var(--t131o-support-accent));
    background: #fff !important;
}
html body .page_main .report-template--governance-wide .report-org__node[data-org-context="desktop"][data-node-key$="-committee"] > .report-org__icon .report-org__icon-svg {
    color: var(--t131o-support-ink) !important;
}

/* Climate groups: full team cards like the about3 working groups. */
html body .page_main .report-template--climate-governance .report-org__node:is([data-node-key="finance-group"], [data-node-key="product-group"], [data-node-key="people-group"]) {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--t131o-tone-border) !important;
    border-top: 0 !important;
    border-radius: 16px 16px 10px 10px !important;
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(39, 74, 89, .1) !important;
    text-align: center;
}
html body .page_main .report-template--climate-governance .report-org__node:is([data-node-key="finance-group"], [data-node-key="product-group"], [data-node-key="people-group"]) > .report-org__icon {
    position: absolute;
    z-index: 2;
    top: -24px;
    left: 50%;
    width: 46px !important;
    height: 46px !important;
    border: 4px solid #fff;
    border-radius: 50%;
    outline: 3px solid var(--t131o-tone);
    color: var(--t131o-tone) !important;
    background: #fff;
    transform: translateX(-50%);
}
html body .page_main .report-template--climate-governance .report-org__node:is([data-node-key="finance-group"], [data-node-key="product-group"], [data-node-key="people-group"]) > .report-org__icon .report-org__icon-svg {
    width: 27px !important;
    height: 27px !important;
    color: var(--t131o-tone) !important;
}
html body .page_main .report-template--climate-governance .report-org__node:is([data-node-key="finance-group"], [data-node-key="product-group"], [data-node-key="people-group"]) .report-org__copy {
    display: flex !important;
    flex-direction: column;
    gap: 0;
    width: 100%;
}
html body .page_main .report-template--climate-governance .report-org__node:is([data-node-key="finance-group"], [data-node-key="product-group"], [data-node-key="people-group"]) .report-org__copy > strong {
    display: flex;
    min-height: 64px;
    align-items: center;
    justify-content: center;
    padding: 26px 10px 10px;
    border-radius: 15px 15px 0 0;
    color: #192a31 !important;
    background: var(--t131o-tone-soft);
    font-size: 15px;
    line-height: 1.45;
    text-align: center;
}
html body .page_main .report-template--climate-governance .report-org__node:is([data-node-key="finance-group"], [data-node-key="product-group"], [data-node-key="people-group"]) .report-org__body {
    padding: 14px 12px 16px !important;
    border-top: 0 !important;
    color: #33464e !important;
    font-size: 14px;
    line-height: 1.75;
    text-align: center;
}
html body .page_main .report-template--climate-governance .report-org__node[data-org-context="mobile"]:is([data-node-key="finance-group"], [data-node-key="product-group"], [data-node-key="people-group"]) {
    position: relative;
    margin-top: 28px;
}

/* about3: keep the team title clear of the round icon (it overlapped the first characters). */
html body .page_main .report-template--sustainability-teams .report-org__node--detailed .report-org__copy > strong {
    padding-top: 28px !important;
    min-height: 70px !important;
}

/* ---------- risk-management organisation (governance2, custom grid) ---------- */
html body .risk-ppt .risk-org { color: var(--t131o-support-ink); }
html body .risk-ppt .risk-org__links path { stroke: var(--t131o-line) !important; stroke-width: 1.8 !important; }
html body .risk-ppt .risk-org__node {
    border: 1px solid var(--t131o-support-border) !important;
    border-top: 4px solid var(--t131o-support-accent) !important;
    border-radius: 12px !important;
    background: var(--t131o-support) !important;
    box-shadow: 0 5px 12px rgba(38, 89, 114, .12) !important;
    filter: none !important;
}
html body .risk-ppt .risk-org__node strong { color: var(--t131o-support-ink) !important; font-weight: 700 !important; }
html body .risk-ppt .risk-org__node .risk-org__icon {
    border: 0 !important;
    background: #fff !important;
    color: var(--t131o-support-ink) !important;
}
html body .risk-ppt :is(.risk-org__board, .risk-org__committee, .risk-org__team) {
    border: 1px solid var(--t131o-lead) !important;
    background: var(--t131o-lead) !important;
    box-shadow: var(--t131o-lead-shadow) !important;
}
html body .risk-ppt :is(.risk-org__board, .risk-org__committee, .risk-org__team) strong { color: #fff !important; }
html body .risk-ppt :is(.risk-org__board, .risk-org__committee, .risk-org__team) .risk-org__icon {
    background: rgba(255, 255, 255, .16) !important;
    color: #fff !important;
}
html body .risk-ppt .risk-org__business {
    margin-top: 24px;
    padding: 0 !important;
    border: 1px solid #b7d5e7 !important;
    border-radius: 16px 16px 10px 10px !important;
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(39, 74, 89, .1) !important;
}
html body .risk-ppt .risk-org__business-title {
    position: relative;
    padding: 30px 12px 12px !important;
    border-radius: 15px 15px 0 0;
    background: #85bad9;
}
html body .risk-ppt .risk-org__business-title strong { color: #192a31 !important; font-weight: 700 !important; }
html body .risk-ppt .risk-org__business-title .risk-org__icon {
    position: absolute;
    top: -24px;
    left: 50%;
    width: 46px !important;
    height: 46px !important;
    border: 4px solid #fff !important;
    outline: 3px solid #6aa9cf;
    color: #6aa9cf !important;
    background: #fff !important;
    transform: translateX(-50%);
}
html body .risk-ppt .risk-org__departments { padding: 16px 14px 16px; }
html body .risk-ppt .risk-org__department-group {
    padding: 0 8px 10px !important;
    border-top: 2px solid #6aa9cf;
    border-radius: 0 !important;
    background: #fff !important;
}
html body .risk-ppt .risk-org__group-icon { color: #6aa9cf !important; }
html body .risk-ppt .risk-org__department-group li {
    border-radius: 6px;
    color: #33464e !important;
    background: #f1f7fb !important;
}
html body .risk-ppt .risk-org__department-group li > span:first-child { color: #204c67 !important; }

/* ---------- information-security organisation (governance3, HTML list) ---------- */
html body.heritage-page-slug--governance3 .t131-secorg__node {
    border: 1px solid var(--t131o-support-border) !important;
    border-top: 4px solid var(--t131o-support-accent) !important;
    border-bottom-width: 1px !important;
    border-radius: 12px !important;
    color: var(--t131o-support-ink) !important;
    background: var(--t131o-support) !important;
    box-shadow: 0 5px 12px rgba(38, 89, 114, .12);
}
html body.heritage-page-slug--governance3 .t131-secorg__node i {
    border: 0 !important;
    color: var(--t131o-support-ink) !important;
    background: #fff !important;
}
html body.heritage-page-slug--governance3 .t131-secorg__node--lead {
    border-color: var(--t131o-lead) !important;
    color: #fff !important;
    background: var(--t131o-lead) !important;
    box-shadow: var(--t131o-lead-shadow);
}
html body.heritage-page-slug--governance3 .t131-secorg__node--lead i {
    color: #fff !important;
    background: rgba(255, 255, 255, .16) !important;
}
html body.heritage-page-slug--governance3 .t131-secorg__node--lead::after { border-left-color: var(--t131o-line) !important; }
html body.heritage-page-slug--governance3 .t131-secorg__node--audit::before { border-top-color: var(--t131o-line) !important; }

@media (max-width: 767.98px) {
    html body .page_main .report-template--sustainability-teams .report-org__node--detailed .report-org__copy > strong { min-height: 64px !important; }
    html body .risk-ppt .risk-org__departments { padding: 12px 10px; }
}

/* Climate team cards (desktop): drop the cards below the connector so the round icon sits on the line end. */
html body .page_main .report-template--climate-governance .report-org__node[data-org-context="desktop"]:is([data-node-key="finance-group"], [data-node-key="product-group"], [data-node-key="people-group"]) {
    margin-top: 22px;
}
html body .page_main .report-template--climate-governance .report-org__node:is([data-node-key="finance-group"], [data-node-key="product-group"], [data-node-key="people-group"]) .report-org__copy > strong {
    min-height: 82px;
}
html body .page_main .report-template--climate-governance .report-org__stage { padding-bottom: 24px; box-sizing: content-box; }

/* Governance (mobile tree): lead icons sit on the blue box, business units read left-aligned. */
html body .page_main .report-template--governance-wide .report-org__node[data-org-context="mobile"]:is([data-node-key="board"], [data-node-key="president"]) > .report-org__icon {
    border: 0 !important;
    background: transparent !important;
}
html body .page_main .report-template--governance-wide .report-org__node[data-org-context="mobile"]:is([data-parent-key="taiwan-group"], [data-parent-key="overseas-group"]) {
    text-align: left !important;
}

/* Long English tags wrap inside the node instead of running past its edge. */
html body .page_main .report-org .report-org__label { white-space: normal !important; max-width: 100%; }
