.capability-main>header{margin-bottom:14px}
.capability-grid article[role=button]{cursor:pointer;transition:border-color .18s,box-shadow .18s;background-color:#fff}
.capability-grid article[role=button]:hover{border-color:#438bea;box-shadow:0 6px 18px #245c9a18}
.capability-grid article[role=button]:focus-visible{outline:3px solid #1769dc;outline-offset:3px}
.capability-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(620px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;box-sizing:border-box;padding:0;border:0;border-left:1px solid #d7e5f5;background:linear-gradient(155deg,#fff 65%,#f0f7ff);color:#122441;box-shadow:-18px 0 65px #102f5529;overflow:auto;overscroll-behavior:contain;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.capability-drawer::backdrop{background:rgba(12,30,55,.35)}
.capability-drawer[open]{animation:capability-enter .22s ease-out}
.drawer-top{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;padding:18px 32px;border-bottom:1px solid #e1eaf5;background:#fffffffa;color:#617793;font-size:14px}
.drawer-close{width:40px;height:40px;border:1px solid #d7e2ef;border-radius:50%;background:#fff;color:#29466a;font-size:28px;cursor:pointer}
.drawer-close:hover{background:#edf5ff}.drawer-close:focus-visible{outline:3px solid #1769dc;outline-offset:2px}
.drawer-body{padding:28px 36px 40px}.drawer-icon{width:76px;height:76px;object-fit:contain;margin-bottom:16px}
.drawer-body h2{margin:0 0 15px;font-size:30px;line-height:1.3;color:#071b50}
.drawer-heading-row{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.drawer-heading-row .drawer-icon{flex:0 0 60px;width:60px;height:60px;margin:0}
.drawer-heading-row h2{min-width:0;margin:0}
@media(max-width:600px){.drawer-heading-row{gap:12px}.drawer-heading-row .drawer-icon{flex-basis:44px;width:44px;height:44px}.drawer-body .drawer-heading-row h2{font-size:clamp(20px,5.5vw,26px)}}
.drawer-summary{margin:0 0 30px;font-size:16px;line-height:1.85;color:#53677f}
.drawer-body h3{margin:0 0 14px;font-size:17px;color:#172f51}
.drawer-features article{padding:17px 0;border-top:1px solid #e0e8f2}
.drawer-features h4{margin:0 0 7px;font-size:16px;font-weight:650}.drawer-features p{margin:0;font-size:14px;line-height:1.85;color:#586c83}
.drawer-features .drawer-example{margin-top:10px;padding:10px 12px;border-radius:6px;background:#f0f5fa;color:#52677c;font-size:13px;line-height:1.75}
.drawer-example span{display:inline-block;margin-right:8px;color:#3e6384;font-weight:600}
.drawer-features .drawer-example-note{margin-top:10px;color:#66778b;font-size:12px;line-height:1.7}
.drawer-output{margin-top:24px;padding:22px 24px;border:1px solid #d6e6f8;border-radius:12px;background:#edf6ff}
.drawer-output ul{margin:0;padding-left:19px;color:#3f5e80;font-size:14px;line-height:2}
.drawer-role-section{margin-top:24px}
.drawer-role-section dl{margin:0;border:1px solid #dce7f1;border-radius:8px;overflow:hidden}
.drawer-role-section dl>div{display:grid;grid-template-columns:150px minmax(0,1fr);border-bottom:1px solid #dce7f1;font-size:14px;line-height:1.8}
.drawer-role-section dl>div:last-child{border-bottom:0}
.drawer-role-section dt{padding:12px;background:#f0f5fa;font-weight:600;color:#35536e}
.drawer-role-section dd{margin:0;padding:12px;color:#586c83}
@media(max-width:600px){.drawer-role-section dl>div{grid-template-columns:1fr}.drawer-role-section dt{padding-bottom:8px}.drawer-role-section dd{padding-top:8px}}
.balance-business-flow{margin:0 0 30px;padding:18px;border:1px solid #dce7f1;border-radius:12px;background:#f6f9fc}
.balance-business-flow[hidden]{display:none}
.short-cycle-paths{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.short-cycle-paths section{padding:14px;border:1px solid #d7e5e4;border-radius:8px;background:#eef5f3}
.short-cycle-paths section:last-child{background:#faf3e9;border-color:#e8dccb}
.short-cycle-paths h4{margin:0 0 6px;font-size:14px;color:#304e5c}
.short-cycle-paths p{margin:0;font-size:13px;line-height:1.8;color:#586c83}
@media(max-width:600px){.short-cycle-paths{grid-template-columns:1fr}}
.capability-drawer--balance{width:min(860px,100vw)}
.capability-drawer--monthly{width:min(860px,100vw)}
.balance-matrix-scroll{max-width:100%;border:1px solid #d6e2ee;border-radius:8px}
.balance-matrix-scroll:focus-visible{outline:2px solid #547b9f;outline-offset:3px}
.balance-matrix{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0;background:#fff;font-size:12px;line-height:1.7;color:#405369}
.balance-matrix caption{padding:0 0 12px;text-align:left;color:#61758b;font-size:12px;caption-side:bottom;padding:10px 12px}
.balance-matrix th,.balance-matrix td{padding:10px 6px;border-right:1px solid #e0e8f1;border-bottom:1px solid #e0e8f1;vertical-align:middle;overflow-wrap:anywhere;white-space:normal}
.balance-matrix thead th{background:#eaf1f8;color:#294866;text-align:left;font-weight:600}
.balance-matrix thead th span{display:block;font-size:11px;color:#6482a0;letter-spacing:1px}
.balance-matrix th:first-child{width:100px;background:#f1f6fa}
.balance-matrix tbody th{text-align:left;color:#35536e;font-weight:600}
.balance-matrix tr>:last-child{border-right:0}
.balance-matrix tbody tr:last-child>*{border-bottom:0}
.balance-role-mark{display:block;width:28px;height:28px;border-radius:8px;line-height:28px;text-align:center;margin-bottom:6px;background:#e0ebf4;color:#466c8d;font-size:12px}
.balance-matrix .balance-role-2 th{background:#edf6f6;color:#416f73}
.balance-matrix .balance-role-3 th{background:#f0eff7;color:#60567c}
.balance-matrix .balance-role-4 th{background:#f0f5ed;color:#5b7352}
.balance-matrix .balance-role-5 th{background:#f7f3ed;color:#806747}
.balance-matrix .balance-role-6 th{background:#fbf0e3;color:#8b6131}
.balance-role-6 td:not(.balance-empty){background:#fff8ef;color:#825b30}
.balance-empty{background:#fafbfd}
.balance-matrix .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.balance-scroll-hint{display:none;color:#5f7790;font-size:12px;margin:0 0 10px}
.release-business-flow .release-role-7 th{background:#fbf0e3;color:#8b6131}
.release-role-7 td:not(.balance-empty){background:#fff8ef;color:#825b30}
.release-business-flow .release-role-5 th{background:#f0eff7;color:#60567c}
.release-business-flow .release-role-1 th{background:#f0f5ed;color:#5b7352}
@media(max-width:600px){
 .capability-drawer--balance .balance-business-flow{padding:12px}
 .balance-matrix,.balance-matrix tbody,.balance-matrix tr{display:block;width:100%}
 .balance-matrix thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .balance-matrix tbody tr{border-bottom:1px solid #d6e2ee}
 .balance-matrix th:first-child{display:block;width:auto;padding:12px;border-right:0}
 .balance-role-mark{display:inline-block;margin:0 8px 0 0;vertical-align:middle}
 .balance-matrix td{display:block;width:auto;padding:10px 12px;border-right:0}
 .balance-matrix td::before{content:attr(data-step);display:block;font-weight:600;color:#294866;margin-bottom:4px}
 .balance-matrix .balance-empty{display:none}
 .balance-matrix caption{display:block}
}
.balance-flow-guide{margin:0 0 16px;color:#61758b;font-size:12px;line-height:1.7}
.balance-flow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px;margin:0;padding:0;list-style:none}
.balance-flow-steps li{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:92px;padding:8px 4px;box-sizing:border-box;border:1px solid #d5e2ef;border-radius:8px;background:#fff;text-align:center}
.balance-flow-steps span{font-size:12px;color:#547b9f;letter-spacing:1px}
.balance-flow-steps strong{font-size:13px;line-height:1.55;font-weight:600;color:#243a50}
.balance-flow-steps li:nth-child(4){grid-column:3;grid-row:2}
.balance-flow-steps li:nth-child(5){grid-column:2;grid-row:2}
.balance-flow-steps li:nth-child(6){grid-column:1;grid-row:2}
.balance-flow-steps li:not(:last-child)::after{position:absolute;content:'→';right:-19px;top:50%;transform:translateY(-50%);color:#648eb3;font-size:18px}
.balance-flow-steps li:nth-child(3)::after{content:'↓';right:50%;top:auto;bottom:-26px;transform:translateX(50%)}
.balance-flow-steps li:nth-child(4)::after,.balance-flow-steps li:nth-child(5)::after{content:'←';right:auto;left:-19px}
.balance-flow-feedback{margin:14px 0 0;padding:10px;border-left:2px solid #87a9c7;background:#eaf1f8;color:#426584;font-size:12px;line-height:1.75}
.balance-flow-context,.balance-flow-roles{margin:12px 0 0;color:#586c83;font-size:12px;line-height:1.85}
.balance-flow-roles{padding-top:12px;border-top:1px solid #dce7f1}
.balance-flow-roles strong{display:block;color:#314e68;margin-bottom:4px}
.drawer-output-note{margin:12px 0 0;padding-top:12px;border-top:1px solid #d6e6f8;color:#586c83;font-size:12px;line-height:1.8}
@media(max-width:380px){.balance-business-flow{padding:12px}.balance-flow-steps strong{font-size:12px}.balance-flow-steps{column-gap:16px}.balance-flow-steps li:not(:last-child)::after{right:-16px}.balance-flow-steps li:nth-child(3)::after{right:50%}.balance-flow-steps li:nth-child(4)::after,.balance-flow-steps li:nth-child(5)::after{left:-16px;right:auto}}
@keyframes capability-enter{from{transform:translateX(36px);opacity:.4}to{transform:translateX(0);opacity:1}}
@media(max-width:600px){.drawer-top{padding:12px 20px}.drawer-body{padding:24px 22px}.drawer-body h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){.capability-drawer[open]{animation:none}}
.operation-flow article[role=button]{cursor:pointer;transition:border-color .18s,box-shadow .18s}
.operation-flow article[role=button]:hover{border-color:#438bea;box-shadow:0 6px 18px #245c9a18}
.operation-flow article[role=button]:focus-visible{outline:3px solid #1769dc;outline-offset:3px}
.capability-grid article[role=button],.operation-flow article[role=button]{position:relative;padding-bottom:30px}
.capability-open-hint{position:absolute;right:12px;bottom:8px;color:#1766bb;font-size:11px;font-weight:600;line-height:1.3;white-space:nowrap}
[role=button]:hover>.capability-open-hint,[role=button]:focus-visible>.capability-open-hint{color:#034ba5;text-decoration:underline;text-underline-offset:3px}
.capability-grid article[role=button]:hover,.operation-flow article[role=button]:hover{background:#f3f8ff}
.operation-flow article[role=button]{height:auto;min-height:0;padding-bottom:34px}
