:root{--background-color: #f0f2f5;--header-background: #001529;--panel-background: #ffffff;--border-color: #e8e8e8;--text-primary: #1f1f1f;--text-secondary: #595959;--accent-color: #1890ff;--hover-color: #e6f7ff}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:var(--background-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{display:flex;flex-direction:column;height:100vh}.app-header{background-color:var(--header-background);color:#fff;padding:8px 24px;box-shadow:0 2px 8px #0000001a;z-index:10;display:flex;align-items:center;gap:16px}.logo img{height:40px;width:auto;display:block}.app-title{font-size:1.2rem;font-weight:600}main{flex-grow:1;padding:24px;overflow-y:auto}.loading-message,.error-message{padding:48px;text-align:center;font-size:1.2rem;color:var(--text-secondary)}.dashboard-container{display:grid;grid-template-columns:2fr 1fr;gap:24px;max-width:1400px;margin:0 auto}.dashboard-main h2{font-size:1.5rem;margin-top:0;margin-bottom:16px}.table-container{background-color:var(--panel-background);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}table{width:100%;border-collapse:collapse}th,td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color)}th{background-color:#fafafa;font-weight:600}tbody tr.network-row{cursor:pointer;transition:background-color .2s}tbody tr.network-row:hover{background-color:var(--hover-color)}.dashboard-sidebar{display:flex;flex-direction:column;gap:24px}.chart-container{padding:24px;background-color:var(--panel-background);border-radius:8px;border:1px solid var(--border-color)}.chart-container h3{margin-top:0;font-size:1.1rem}.network-view-container{display:grid;grid-template-columns:450px 1fr;gap:24px;height:calc(100vh - 120px);max-width:1600px;margin:0 auto}.left-panel{background-color:var(--panel-background);border:1px solid var(--border-color);border-radius:8px;padding:24px;overflow-y:auto;display:flex;flex-direction:column}.right-panel-container{display:flex;flex-direction:column;gap:16px}.right-panel{flex-grow:1;border:1px solid var(--border-color);border-radius:8px;background-color:var(--panel-background);overflow:hidden;position:relative}.back-link{display:inline-block;margin-bottom:24px;color:var(--accent-color);text-decoration:none;font-weight:600}.explanation-container h3{font-size:1.2rem;margin-top:0;margin-bottom:8px}.explanation-container h4{margin-top:24px;margin-bottom:16px;border-top:1px solid var(--border-color);padding-top:24px}.explanation-container p{line-height:1.6;color:var(--text-secondary)}.hop-controls{display:flex;align-items:center;gap:12px}.hop-controls button{padding:8px 16px;border-radius:6px;border:1px solid var(--border-color);background-color:#fff;cursor:pointer;font-weight:600;transition:all .2s}.hop-controls button:hover:not(:disabled){border-color:var(--accent-color);color:var(--accent-color)}.hop-controls button:disabled{background-color:var(--accent-color);color:#fff;border-color:var(--accent-color);cursor:default}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0;border-top:1px solid var(--border-color);padding-top:24px}.metric-card{background-color:#fafafa;border-radius:8px;padding:16px;border:1px solid #e8e8e8}.metric-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.metric-title{margin:0;font-size:.9rem;font-weight:600;color:var(--text-secondary)}.metric-value{margin:0;font-size:1.75rem;font-weight:700;color:var(--text-primary)}.metric-benchmark{margin:4px 0 0;font-size:.8rem;color:#8c8c8c}.tooltip-container{position:relative}.tooltip-icon{cursor:pointer;font-weight:700;color:#bfbfbf;border:1px solid #bfbfbf;border-radius:50%;width:18px;height:18px;display:inline-flex;justify-content:center;align-items:center;font-size:12px}.tooltip-text{visibility:hidden;width:220px;background-color:#333;color:#fff;text-align:center;border-radius:6px;padding:8px;position:absolute;z-index:1;bottom:125%;left:50%;margin-left:-110px;opacity:0;transition:opacity .3s;font-size:.8rem;line-height:1.4}.tooltip-container:hover .tooltip-text{visibility:visible;opacity:1}.shap-container h4{margin-bottom:16px}.shap-item{margin-bottom:12px}.shap-label{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:4px;color:var(--text-secondary)}.shap-value{font-weight:600;color:var(--text-primary)}.shap-bar-container{width:100%;background-color:#e8e8e8;border-radius:4px;height:10px}.shap-bar{background-color:var(--accent-color);height:100%;border-radius:4px;transition:width .5s ease-in-out}.no-contributors{font-style:italic;color:var(--text-secondary);background-color:#fafafa;border-radius:4px;padding:12px}.transaction-list{margin-top:1rem;max-height:250px;overflow-y:auto}.transaction-item{display:flex;justify-content:space-between;align-items:center;padding:12px 8px;border-bottom:1px solid var(--border-color);transition:background-color .2s}.transaction-item:hover{background-color:var(--hover-color)}.transaction-details{font-size:.9rem;line-height:1.4}.transaction-amount{font-weight:600;font-size:.95rem}.transaction-amount.in{color:#10885a}.transaction-amount.out{color:#c02626}
