:root{--blue:#2378ee;--blue-dark:#155dc4;--ink:#172942;--muted:#78869a;--line:#e8edf4;--bg:#f5f7fb;--panel:#fff;--green:#1eaa73;--orange:#df922b;--red:#dc5d69;--shadow:0 8px 24px rgba(34,59,95,.06)}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:14px/1.5 "PingFang SC","Microsoft YaHei",Arial,sans-serif;background:var(--bg)}button,input{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}.login-page{min-height:100vh;background:#f4f6fb;display:flex;flex-direction:column;align-items:center;padding-top:13vh}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}.login-brand strong{display:block;font-size:20px}.login-brand span{display:block;color:#91a0b3;font-size:11px;margin-top:2px}.logo-mark,.brand-mark{display:grid;place-items:center;background:linear-gradient(135deg,#2f8cff,#185fce);color:#fff;font-weight:800;border-radius:10px}.logo-mark{width:45px;height:45px;font-size:20px}.login-card{background:#fff;width:390px;border:1px solid var(--line);border-radius:10px;padding:36px 42px 30px;box-shadow:0 18px 45px rgba(35,67,113,.1);text-align:center}.login-illustration{width:58px;height:58px;border-radius:16px;background:#eaf3ff;color:var(--blue);font-size:30px;line-height:58px;margin:0 auto 18px}.login-card h1{font-size:18px;margin:0 0 7px}.login-card p{color:var(--muted);font-size:12px;margin:0 0 25px}.login-card form{text-align:left}.login-card label,.form-grid label{display:block;color:#61728a;font-size:12px;margin-bottom:15px}.login-card input,.form-grid input{width:100%;height:36px;border:1px solid #dce4ef;border-radius:5px;outline:0;padding:0 10px;margin-top:6px;color:var(--ink);font-size:12px}.login-card input:focus,.form-grid input:focus{border-color:#80b5fb;box-shadow:0 0 0 3px #eaf3ff}.login-card .primary-button{width:100%;height:38px;margin-top:8px}.login-card small{display:block;color:#a0acbb;font-size:11px;margin-top:18px}.login-page footer{color:#a0acbb;font-size:11px;margin-top:26px}.app-shell{display:flex;min-height:100vh}.sidebar{width:235px;flex:none;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:21px 13px}.brand{display:flex;align-items:center;gap:10px;padding:0 9px 20px}.brand-mark{width:34px;height:34px;border-radius:8px;font-size:15px}.brand strong{display:block;font-size:13px;white-space:nowrap}.brand span{display:block;color:#9ba7b8;font-size:10px;margin-top:1px}.service-badge{background:#edf5ff;color:#367bd0;border-radius:5px;padding:6px 10px;margin:0 8px 17px;font-size:11px}.nav-list{display:grid;gap:3px}.nav-group-title{font-size:10px;color:#a5afbd;padding:13px 12px 6px}.nav-item{height:37px;border-radius:5px;color:#64758b;text-align:left;padding:0 12px;display:flex;gap:12px;align-items:center;font-size:12px;transition:.2s}.nav-item span{width:15px;text-align:center;color:#8495aa;font-size:14px}.nav-item:hover{background:#f1f6fd;color:var(--blue)}.nav-item.active{background:#e9f3ff;color:var(--blue);font-weight:600}.nav-item.active span{color:var(--blue)}.sidebar-footer{margin-top:auto;border-top:1px solid #edf1f6;padding:14px 8px 0}.user-card{display:flex;gap:9px;align-items:center}.avatar{width:28px;height:28px;border-radius:50%;background:#e9f2ff;color:var(--blue);display:grid;place-items:center;font-size:11px}.user-card strong{display:block;font-size:11px}.user-card span{display:block;color:#a0adbd;font-size:10px}.logout-button{color:#a0adbd;font-size:11px;margin-top:13px;padding:0}.main-content{min-width:0;flex:1}.topbar{height:62px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px}.breadcrumb{color:#9aa7b7;font-size:12px}.topbar strong{font-size:13px}.topbar-actions{display:flex;align-items:center;gap:22px;color:#8090a5;font-size:11px}.system-status i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:6px}.topbar-user{color:#6f7e93}.content-wrap{padding:23px 30px 45px;max-width:1540px;margin:0 auto}.notice-banner{background:#f1f7ff;border:1px solid #dbeaff;border-radius:7px;display:flex;align-items:flex-start;gap:10px;padding:11px 14px;margin-bottom:20px;color:#4d6d93}.notice-icon{width:18px;height:18px;border-radius:50%;background:#d9eaff;color:var(--blue);text-align:center;line-height:18px;font-size:11px;font-weight:800;flex:none}.notice-banner strong{font-size:12px;color:#35679e}.notice-banner p{font-size:11px;margin:2px 0 0}.close-notice{margin-left:auto;color:#8aa7c9;font-size:19px;line-height:18px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:19px}.page-heading h1{font-size:21px;margin:0 0 4px}.page-heading p{margin:0;color:var(--muted);font-size:12px}.page-meta{font-size:11px;color:#93a0b0}.heading-actions{display:flex;gap:9px}.primary-button,.outline-button{border-radius:5px;padding:8px 14px;font-size:12px;transition:.2s}.primary-button{background:var(--blue);color:#fff;box-shadow:0 4px 12px rgba(35,120,238,.18)}.primary-button:hover{background:var(--blue-dark)}.outline-button{border:1px solid #cdd9e7;color:#58708c;background:#fff}.outline-button:hover{border-color:var(--blue);color:var(--blue)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:17px}.stat-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow)}.stat-card{position:relative;min-height:115px;padding:17px 18px}.stat-card>span{display:block;color:#8b99aa;font-size:11px}.stat-card>strong{display:block;font-size:25px;margin:7px 0 4px;letter-spacing:.3px}.stat-card small{font-size:10px}.green-text{color:var(--green)!important}.orange-text{color:var(--orange)!important}.red-text{color:var(--red)!important}.stat-icon{position:absolute;right:17px;top:17px;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;font-style:normal;font-size:17px}.stat-icon.blue{background:#eaf3ff;color:var(--blue)}.stat-icon.green{background:#e8f8f0;color:var(--green)}.stat-icon.orange{background:#fff4e4;color:var(--orange)}.stat-icon.red{background:#ffedef;color:var(--red)}.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;margin-bottom:16px}.lower-grid{grid-template-columns:1.5fr 1fr}.panel{padding:18px}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:17px}.panel-header h2{font-size:14px;margin:0 0 3px}.panel-header p{font-size:11px;color:#96a2b1;margin:0}.module-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.module-card{display:flex;align-items:center;gap:9px;text-align:left;border:1px solid #edf1f6;background:#fbfcfe;border-radius:6px;padding:11px 10px;min-width:0}.module-card:hover{border-color:#b8d5fa;background:#f5f9ff}.module-icon{width:27px;height:27px;flex:none;border-radius:6px;background:#eaf3ff;color:var(--blue);display:grid;place-items:center;font-size:14px}.module-card span:nth-child(2){min-width:0;flex:1}.module-card strong{display:block;font-size:11px}.module-card small{display:block;color:#9aa7b7;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.module-card em{font-style:normal;color:#a2afbf;font-size:17px}.flow-panel{min-height:272px}.process-list{display:grid;gap:8px}.process-list>div{display:flex;align-items:center;gap:9px;border-bottom:1px solid #eef2f6;padding:9px 0}.process-list>div:last-child{border-bottom:0}.process-num{width:24px;height:24px;border-radius:50%;background:#eff6ff;color:var(--blue);display:grid;place-items:center;font-style:normal;font-size:10px}.process-list span{flex:1}.process-list strong{display:block;font-size:11px}.process-list small{display:block;color:#9aa7b7;font-size:10px;margin-top:2px}.process-list b{font-size:10px;color:var(--blue);font-weight:400}.chart-panel{height:262px}.chart-total{color:var(--blue);font-size:14px}.chart-area{height:177px;display:flex;gap:9px}.y-axis{width:30px;display:flex;flex-direction:column;justify-content:space-between;color:#a0adbc;font-size:9px;text-align:right;padding-bottom:18px}.chart{position:relative;flex:1}.grid-lines{position:absolute;inset:0 0 18px;display:flex;flex-direction:column;justify-content:space-between}.grid-lines i{border-top:1px dashed #edf1f6}.chart svg{position:absolute;inset:0 0 20px;width:100%;height:calc(100% - 20px)}.chart-fill{fill:url(#area)}.chart-line{fill:none;stroke:var(--blue);stroke-width:2.5}.x-axis{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;color:#a0adbc;font-size:9px}.info-list{display:grid;gap:13px}.info-list div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #eef2f6;padding-bottom:9px}.info-list div:last-child{border-bottom:0}.info-list span{color:#8998aa;font-size:11px}.info-list strong{font-size:11px;text-align:right}.table-panel{padding:0;overflow:hidden}.table-toolbar{min-height:62px;padding:13px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.search-box{width:245px;height:32px;border:1px solid #dce4ef;border-radius:5px;color:#9aa7b8;display:flex;align-items:center;gap:7px;padding:0 9px}.search-box input{border:0;outline:0;width:100%;font-size:11px;color:var(--ink)}.filter-button{border:1px solid #dce4ef;border-radius:5px;color:#6e8097;padding:7px 10px;font-size:11px}.toolbar-tip{margin-left:auto;color:#9da9b8;font-size:10px}.table-scroll{overflow-x:auto}.table-panel table{width:100%;min-width:1050px;border-collapse:collapse}.table-panel th{background:#fafbfd;color:#8997a8;font-weight:500;font-size:10px;text-align:left;padding:11px 14px;white-space:nowrap}.table-panel td{border-top:1px solid #eef2f6;color:#53667e;font-size:11px;padding:12px 14px;white-space:nowrap}.table-panel td:first-child{color:#293d59;font-weight:500}.row-action{color:var(--blue);font-size:10px;margin-right:12px}.row-action.danger{color:#d55d68}.fund-chain{display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:7px;padding:13px 18px;margin:-5px 0 16px;gap:14px}.fund-chain>div{display:flex;align-items:center;gap:8px;flex:1}.fund-chain span{width:24px;height:24px;border-radius:50%;background:#eaf3ff;color:var(--blue);display:grid;place-items:center;font-size:10px}.fund-chain strong{display:block;font-size:11px}.fund-chain small{display:block;color:#9aa7b8;font-size:9px}.fund-chain i{color:#a4b2c2;font-style:normal}.source-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.source-card{min-height:205px;padding:18px}.source-index{display:block;color:#9ab2d0;font:11px ui-monospace,monospace;margin-bottom:15px}.source-card h2{font-size:14px;margin:0 0 9px}.source-card p{font-size:11px;color:#718198;line-height:1.8;min-height:92px;margin:0 0 13px}.source-card code,.trace-list code{display:block;background:#f5f8fc;color:#5d79a0;border-radius:4px;padding:8px;font:10px/1.6 ui-monospace,monospace;word-break:break-all}.trace-panel{padding:18px}.trace-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 25px}.trace-list div{display:grid;gap:5px}.trace-list span{font-size:10px;color:#7e8fa4}.verified-label{background:#e8f8f0;color:#189663;border-radius:4px;padding:4px 8px;font-size:10px}.modal-backdrop{position:fixed;inset:0;background:rgba(20,38,64,.36);display:grid;place-items:center;padding:20px;z-index:4}.modal{width:min(720px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:8px;box-shadow:0 20px 50px rgba(0,0,0,.2)}.modal>header{display:flex;justify-content:space-between;padding:18px 20px 13px;border-bottom:1px solid var(--line)}.modal h2{font-size:15px;margin:0 0 3px}.modal header p{font-size:10px;color:#98a5b5;margin:0}.modal-close{font-size:20px;color:#96a4b3}.modal form{padding:18px 20px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 15px}.form-grid label{margin-bottom:13px}.modal footer{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);padding:14px 0 0;margin-top:4px}.toast{position:fixed;right:25px;bottom:24px;background:#1d324f;color:#fff;padding:10px 15px;border-radius:5px;box-shadow:0 8px 20px rgba(0,0,0,.17);font-size:11px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.25s;z-index:8}.toast.show{opacity:1;transform:translateY(0)}@media(max-width:1100px){.sidebar{width:210px}.content-wrap{padding-left:20px;padding-right:20px}.source-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.sidebar{width:65px;padding:16px 8px}.brand{padding-left:4px}.brand>div:last-child,.service-badge,.nav-group-title,.nav-item{font-size:0}.nav-item{justify-content:center;padding:0}.nav-item span{font-size:15px}.sidebar-footer{display:none}.topbar{padding:0 15px}.content-wrap{padding:15px}.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.lower-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start;gap:12px;flex-direction:column}.source-grid{grid-template-columns:1fr}.trace-list{grid-template-columns:1fr}.login-card{width:min(390px,calc(100% - 30px))}.form-grid{grid-template-columns:1fr}}
