:root{font-family:"Noto Sans SC","Microsoft YaHei",sans-serif;color:#17202d;background:#f5f6f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.login-page{min-height:100vh;background:#edf3ff url("./public/login-bg.png") center/cover no-repeat;display:grid;place-items:center;position:relative}.login-brand{position:absolute;top:34px;left:30px;font-size:28px;font-weight:800;color:#073b63}.login-card{width:462px;padding:46px 32px 42px;border-radius:22px;background:rgba(255,255,255,.97);box-shadow:0 26px 58px rgba(64,99,149,.17)}.login-card .eyebrow{color:#168bf0;font-size:14px;font-weight:700;margin-bottom:10px}.login-card h1{font-size:32px;line-height:1.2;margin:0 0 10px}.login-card>p{margin:0 0 22px;color:#929dab;font-size:14px}.login-card label,.modal-fields>label{display:flex;flex-direction:column;gap:8px;font-weight:600;font-size:14px;margin:0 0 12px}.login-card input,.modal input,.modal select{width:100%;height:50px;border:1px solid transparent;border-radius:12px;background:#f3f5f7;padding:0 15px;font-size:17px;outline:none}.login-card input:focus,.modal input:focus,.modal select:focus{border-color:#259bff;background:#fff}.primary{height:56px;border:0;border-radius:12px;background:#15191e;color:white;font-size:19px;font-weight:700;box-shadow:0 12px 25px rgba(0,0,0,.15);cursor:pointer}.wide{width:100%;margin-top:17px}.secondary{height:44px;border:1px solid #dfe3e8;border-radius:11px;background:#fff;color:#505865;font-size:17px;font-weight:600;cursor:pointer;margin-top:7px}.demo-tip{text-align:center;color:#9aa4af;font-size:12px;margin-top:14px}.otp-card{padding:30px 28px}.otp-card h1{font-size:27px}.account-line{font-size:14px;color:#626d7a;margin-top:-8px;margin-bottom:8px}.qr-panel{height:238px;border:1px solid #dfe5eb;border-radius:13px;background:#f7f9fb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:12px;color:#788390}.qr{width:155px;height:155px;background:repeating-conic-gradient(#080808 0 25%,#fff 0 50%) 50%/14px 14px;border:12px solid white;box-shadow:0 0 0 4px #111 inset}.qr-panel b{letter-spacing:1px;color:#4d5866}.dashboard{min-height:100vh;display:flex;background:#f5f6f8}.dashboard aside{position:fixed;inset:0 auto 0 0;width:220px;background:white;border-right:1px solid #e7e9ed;z-index:5}.side-brand{height:62px;display:flex;align-items:center;padding:0 30px;font-size:20px;font-weight:800}.dashboard nav{padding:28px 18px}.nav-item,.sub-item{border:0;background:transparent;color:#8995a4;width:100%;height:51px;border-radius:15px;display:flex;align-items:center;gap:14px;padding:0 17px;font-size:16px;font-weight:700;cursor:pointer;margin-bottom:8px}.nav-item span{width:18px;font-size:17px}.nav-item i{margin-left:auto}.nav-item.active,.sub-item.active{background:#299cf4;color:white;box-shadow:0 12px 24px rgba(41,156,244,.2)}.sub-item{height:39px;margin:-2px 0 10px 22px;width:calc(100% - 22px);font-size:13px;border-left:1px solid #e0e5eb;border-radius:0;padding-left:22px}.sub-item.active{border-radius:14px;border:0}.workspace{margin-left:220px;width:calc(100% - 220px)}header{height:62px;background:#fff;display:flex;align-items:center;justify-content:flex-end;padding:0 42px;position:sticky;top:0;z-index:4}header>div{display:flex;align-items:center;gap:18px}.settings{border:0;border-radius:14px;background:#299cf4;color:white;padding:11px 16px;font-weight:700;cursor:pointer}.mobile-logo{display:none}.content{padding:24px 4%;max-width:1500px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.page-head h1{font-size:30px;margin:0 0 5px}.page-head p{margin:0;color:#8b96a6;font-size:14px}.page-actions{display:flex;align-items:center;gap:10px}.btn{border-radius:13px;border:0;padding:11px 18px;font-weight:700;cursor:pointer}.btn.dark{background:#15191e;color:#fff}.btn.light{background:#fff;color:#505966;border:1px solid #dde2e7}.segment{display:flex;background:#fff;border:1px solid #dfe4ea;border-radius:16px;padding:4px}.segment button{border:0;background:transparent;padding:9px 15px;color:#687382;font-weight:700;border-radius:11px;cursor:pointer}.segment button.on{background:#15191e;color:white}.datebox,.filters label{display:flex;align-items:center;gap:9px;height:41px;border:1px solid #dfe4e9;background:#fff;border-radius:11px;padding:0 11px;font-size:13px;font-weight:600}.datebox input,.filters label input{border:0;outline:0;background:transparent}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:18px}.metrics article{background:#fff;border-radius:24px;padding:22px 24px}.metrics h3{margin:0 0 10px;font-size:16px;color:#4f5b69}.metrics strong{font-size:34px;line-height:1.2}.metrics p{margin:6px 0 0;color:#8792a2;font-size:14px}.income{color:#08a66c}.expense{color:#ef5151}.chart-card{background:white;border-radius:24px;padding:20px}.chart-title{display:flex;align-items:center;justify-content:space-between;color:#596574}.chart-title h3{margin:0;color:#46515f;font-size:17px}.chart-title div{font-size:13px}.chart-title b{color:#17202d}.legend{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px}.legend.green{background:#11a66d}.legend.red{background:#ef5151}.chart-wrap{margin-top:12px;background:#fafbfc;border-radius:18px;padding:20px 15px 12px}.chart{width:100%;height:420px;overflow:visible}.chart line{stroke:#e1e6ec;stroke-width:1}.chart text{fill:#91a0b6;font-size:11px}.chart polyline{fill:none;stroke-width:3}.income-line{stroke:#0ba66d}.expense-line{stroke:#ef5151}.green-dot{fill:#0ba66d}.red-dot{fill:#ef5151}.chart-wrap p{margin:0;color:#91a0b6;font-size:12px}.filters{display:flex;gap:9px;margin-bottom:16px;align-items:center;flex-wrap:wrap}.filters select,.filters>input{height:41px;border:1px solid #dfe4e9;background:#fff;border-radius:11px;padding:0 13px;outline:0}.filters select{min-width:118px}.search-input{min-width:180px}.table-shell{background:#fff;border:1px solid #dde3e8;border-radius:20px;overflow:hidden}.table-shell table{width:100%;border-collapse:collapse;white-space:nowrap}.table-shell th{background:#fbfbfc;color:#7d8796;font-size:13px;font-weight:600;height:50px;padding:0 16px;text-align:left}.table-shell td{height:62px;padding:0 16px;border-top:1px solid #e7eaee;color:#252c34}.table-shell td:first-child{color:#5a6574}.table-shell .centered th,.table-shell .centered td{text-align:center}.pill{display:inline-block;border-radius:99px;padding:5px 12px;background:#daf4e9;color:#079666;font-size:13px;font-weight:700}.pill.red{background:#ffe1e2;color:#ef3e45}.pill.gray{background:#eff1f4;color:#53606f}.copy{border:0;background:transparent;color:#9aa9ba;cursor:pointer;font-size:17px}.outline{border:1px solid #dde2e7;background:#fff;border-radius:12px;padding:7px 12px;font-weight:600;color:#344152;cursor:pointer}.muted{color:#9da9b8!important}.pager{display:flex;justify-content:space-between;align-items:center;padding:30px 2px;color:#4d5866;font-size:13px}.pager>span{border:1px solid #d6dde5;border-radius:9px;padding:9px 14px}.pager button{border:0;background:#989ba0;color:#fff;border-radius:10px;padding:8px 14px;font-weight:700;margin-left:8px}.section-row{display:flex;justify-content:space-between;align-items:end;margin:8px 4px 10px}.section-row h3{margin:0;font-size:17px}.section-row div{font-size:13px;color:#737f8e}.section-row b{color:#17202d;font-size:16px}.scroll-x{overflow-x:auto}.wallet-table{min-width:1120px}.wallet-flow{min-width:1120px}.wallet-tools{display:flex;justify-content:space-between;align-items:start}.wallet-tools>div:last-child{font-size:13px;color:#737f8e;padding-top:14px}.compact{flex-wrap:nowrap}.compact select{min-width:96px}.modal-backdrop{position:fixed;inset:0;background:rgba(23,29,36,.43);z-index:20;display:grid;place-items:center;padding:20px}.modal{position:relative;background:#fff;border-radius:22px;width:min(570px,94vw);max-height:94vh;overflow:auto;padding:26px}.modal h2{font-size:26px;margin:0 0 3px}.modal>p{margin:0 0 25px;color:#8a95a3;font-size:13px}.modal-close{position:absolute;right:26px;top:24px;width:40px;height:40px;border:0;border-radius:12px;background:#f3f5f7;color:#6f7781;font-size:25px;cursor:pointer}.modal-fields>label{color:#525e6c}.modal-fields input,.modal-fields select{background:#fff;border-color:#dce2e8}.modal-fields small{display:block;color:#8b95a2;font-size:12px;line-height:1.7;margin:-4px 0 12px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.radio-row,.switch-row{display:flex;gap:30px;align-items:center;height:42px}.radio-row label{display:flex;flex-direction:row;align-items:center;gap:8px;margin:0}.radio-row input,.switch-row input{width:20px;height:20px}.secret-head{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.secret-head label{font-size:14px;font-weight:700}.secret-card{background:#f7f8fa;border:1px solid #dce2e8;border-radius:13px;padding:11px 15px;display:grid;grid-template-columns:1fr 1fr;color:#8b95a2;font-size:12px}.secret-card b{color:#3e4651}.toast{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:30;background:rgba(29,34,39,.76);color:#fff;border-radius:15px;padding:14px 22px;font-weight:500;box-shadow:0 10px 25px rgba(0,0,0,.15)}
@media(max-width:900px){.dashboard aside{width:82px}.side-brand{font-size:0;padding:0}.side-brand:after{content:"财";font-size:22px;margin:auto}.dashboard nav{padding:20px 10px}.nav-item{justify-content:center;padding:0;font-size:0}.nav-item span{font-size:18px}.sub-item{display:none}.workspace{margin-left:82px;width:calc(100% - 82px)}.content{padding:20px}.metrics{grid-template-columns:1fr}.page-head{align-items:flex-start;gap:14px}.page-actions{flex-wrap:wrap;justify-content:flex-end}.wallet-tools{display:block}.table-shell{overflow-x:auto}.table-shell table{min-width:860px}.chart{height:300px}}@media(max-width:560px){.login-brand{top:20px;left:20px;font-size:22px}.login-card{width:calc(100% - 30px);padding:32px 22px}.dashboard aside{display:none}.workspace{margin-left:0;width:100%}header{justify-content:space-between;padding:0 16px}.mobile-logo{display:block;font-weight:800}.content{padding:18px 12px}.page-head{display:block}.page-head h1{font-size:26px}.page-actions{justify-content:flex-start;margin-top:15px}.segment{overflow:auto}.chart-title{align-items:flex-start;gap:10px}.chart-title>div{display:none}.modal{padding:22px 18px}.metrics article{border-radius:18px}.filters{align-items:stretch}.filters>*{flex:1 1 44%}}
.btn.danger{background:#fff1f1;color:#d9363e;border:1px solid #ffc9cc}.empty{text-align:center!important;color:#98a2ae!important;padding:42px!important}
.qr.qr-real{object-fit:contain;background:#fff;border:8px solid #fff;box-shadow:none}
.chart-wrap{position:relative}.chart-point{transition:r .15s}.chart-hit{fill:transparent;pointer-events:all;cursor:crosshair}.chart-tooltip{position:absolute;z-index:3;display:none;min-width:138px;padding:10px 12px;border-radius:10px;background:rgba(20,25,31,.92);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.18);font-size:12px;pointer-events:none}.chart-tooltip.show{display:flex;flex-direction:column;gap:3px}.chart-tooltip b{font-size:13px;margin-bottom:2px}.chart-tooltip .income{color:#66e1b1}.chart-tooltip .expense{color:#ff9696}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.permission-option{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important;margin:0!important;padding:12px;border:1px solid #e0e5eb;border-radius:12px;background:#fafbfc}.permission-option input{width:18px!important;height:18px!important;margin-top:2px}.permission-option span{display:flex;flex-direction:column;gap:2px}.permission-option small{margin:0!important}.ua-cell{max-width:260px;overflow:hidden;text-overflow:ellipsis}.table-shell code{padding:3px 7px;border-radius:6px;background:#f1f3f5;color:#405066}
