.balance-panel{margin:32px 0 48px;padding:24px;border:1px solid #35463d;border-radius:12px;background:linear-gradient(135deg,#172221,#10191c);color:#dcebd6}
.balance-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.balance-heading h2{margin:10px 0 0;font-size:23px;font-weight:500}
.balance-local{font-size:10px;color:#94ad95}
.balance-intro,.balance-note{font-size:11px;line-height:1.9;color:#91a798;overflow-wrap:break-word}
.balance-controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:22px 0 10px}
.balance-controls label{display:grid;gap:9px;font-size:11px;color:#c8ddbc;flex:1;min-width:180px}
.balance-controls select{border:1px solid #4c614d;border-radius:6px;background:#0e1919;color:#edf7e7;padding:12px;font:12px/1.5 inherit;width:100%;min-height:44px;box-sizing:border-box}
.balance-panel button,.custom-edit-link{border:1px solid #536c47;border-radius:6px;background:#223027;color:#d7e9cb;padding:12px 16px;min-height:44px;font:12px/1.5 inherit;cursor:pointer;text-decoration:none;box-sizing:border-box}
.balance-panel button:hover{background:#304331;border-color:#a2ce7e}
.balance-panel button:disabled{opacity:.5;cursor:default}
.balance-panel #balanceStart{background:#b9f07c;border-color:#b9f07c;color:#192811;font-weight:600}
.balance-panel button:focus-visible,.balance-panel select:focus-visible,.balance-table-wrap:focus-visible{outline:2px solid #b9f07c;outline-offset:3px}
.balance-panel #balanceStatus{font-size:12px;color:#c4dda9;line-height:1.7;margin:18px 0 10px}
.balance-panel progress,.balance-card progress{display:block;width:100%;height:6px;border:0;border-radius:6px;overflow:hidden;background:#2b3831;color:#b9f07c;accent-color:#b9f07c}
.balance-panel progress::-webkit-progress-bar,.balance-card progress::-webkit-progress-bar{background:#2b3831;border-radius:6px}
.balance-panel progress::-webkit-progress-value,.balance-card progress::-webkit-progress-value{background:#b9f07c;border-radius:6px}
.balance-panel progress::-moz-progress-bar,.balance-card progress::-moz-progress-bar{background:#b9f07c}
.balance-result-actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}
.balance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 18px}
.balance-summary>span{font-size:10px;color:#98b197;border:1px solid #344a3b;border-radius:8px;padding:14px}
.balance-summary b{display:block;color:#e3f4d6;font:23px/1.5 Consolas,monospace;margin-bottom:4px}
.balance-alert{font-size:12px;line-height:1.9;border-radius:6px;padding:12px 14px}
.balance-alert.advantage{background:#99ce7412;border:1px solid #759b4e;color:#d5edb4}
.balance-alert.disadvantage{background:#ff748c0c;border:1px solid #9c5260;color:#ffc1cb}
.balance-stale{font-size:11px;line-height:1.8;color:#e8ca86;padding:12px;border:1px solid #79673f;border-radius:6px}
.balance-error{font-size:12px;color:#ffc0cc;line-height:1.8}
.balance-table-wrap{overflow:auto;max-width:100%;border:1px solid #33463b;border-radius:8px;margin:18px 0}
.balance-table{border-collapse:collapse;width:100%;min-width:1150px;font-size:11px;text-align:left;font-variant-numeric:tabular-nums}
.balance-table th,.balance-table td{padding:14px 13px;border-bottom:1px solid #2e4036;white-space:nowrap;font-weight:400}
.balance-table thead{background:#1e2c25;color:#8fa48f}
.balance-table tbody th{color:#dfedd6}
.balance-table tbody tr:last-child>*{border-bottom:0}
.balance-table .dominant{background:#b9f07c0b}.balance-table .suppressed{background:#ff789f0b}
.balance-table .dominant th{border-left:3px solid #b9f07c}.balance-table .suppressed th{border-left:3px solid #ff829a}
.balance-table small{font-size:9px;color:#92a38b}
.balance-verdict{display:block;font-size:9px;color:#829b88;margin-top:6px}
.dominant .balance-verdict{color:#c5ef99}.suppressed .balance-verdict{color:#ff9bb0}
.balance-rate{display:block;height:3px;width:76px;background:#334334;margin-top:7px;border-radius:2px;overflow:hidden}
.balance-rate i{display:block;height:100%;background:#b9f07c}
.balance-snapshot{font-size:11px;color:#96ae98;line-height:1.8;margin-top:22px}
.balance-snapshot summary{cursor:pointer;color:#c9dcb8}
.balance-snapshot pre{padding:14px;max-height:260px;overflow:auto;background:#0b1515;border:1px solid #2f4136;border-radius:7px;font-size:10px}
.balance-card{display:grid;gap:9px;margin-top:17px;font-size:9px;line-height:1.6;color:#7f9b85;min-width:0}
.balance-card-label{color:#afc69d;display:flex;align-items:center;gap:6px;min-width:0}
.balance-card progress{height:4px}
.balance-dot{display:inline-block;flex:none;width:7px;height:7px;background:#ff6d83;border-radius:50%;box-shadow:0 0 6px #ff6d8344;vertical-align:middle}
.site-tabs .balance-dot{margin-left:6px;width:6px;height:6px}
.custom-edit-link{display:inline-block;margin:10px 0}
.balance-jump{display:inline-block;margin:8px 0;color:#b9f07c;font-size:12px;text-decoration:none;border-bottom:1px solid #6b8e4f;padding:6px 0}
.balance-panel{scroll-margin-top:18px}
.balance-controls select,.balance-panel button,.custom-edit-link{font-family:inherit;font-size:12px;line-height:1.5}
.balance-table th:first-child{position:sticky;left:0;background:#1a2922;z-index:1}
.balance-table .dominant th:first-child{background:#273b29}
.balance-table .suppressed th:first-child{background:#3b272e}
@media(max-width:680px){.balance-panel{padding:18px;margin-top:26px}.balance-heading h2{font-size:21px}.balance-summary{gap:8px}.balance-summary>span{padding:12px 9px}.balance-summary b{font-size:20px}.balance-controls label{flex-basis:100%}.balance-controls button{flex:1}.balance-controls #balanceStart{flex-basis:100%}.balance-panel button{padding:11px 12px}.balance-local{font-size:9px}}
