:root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#1d2722;background:#f4f5ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}.shell{max-width:920px;margin:0 auto;padding:64px 24px 100px}.masthead{margin-bottom:38px}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:800;color:#517c5b}.masthead h1{font-size:clamp(36px,6vw,64px);letter-spacing:-.055em;line-height:1.05;margin:15px 0 14px}.masthead p{color:#6a746d;margin:0;font-size:15px}.panel{background:#fff;border:1px solid #e3e8dd;border-radius:18px;padding:28px 32px;margin-top:18px;box-shadow:0 6px 24px rgba(35,55,37,.035)}.section-head{display:flex;align-items:center;gap:13px;margin-bottom:23px}.section-head h2{font-size:20px;letter-spacing:-.02em;margin:0;flex:1}.index{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#e8f1e7;color:#3e6d48;font-size:12px;font-weight:800}.badge{font-size:12px;font-weight:700;padding:7px 11px;background:#e9f5e7;color:#396e40;border-radius:30px}.badge.muted{background:#edf0ec;color:#6b766e}label{display:block;font-size:13px;font-weight:700;margin-bottom:10px}textarea,input{font:inherit;color:#23332a;background:#fbfcf9;border:1px solid #d8e1d7;border-radius:10px;padding:14px 15px;outline:none;transition:border-color .15s,box-shadow .15s}textarea:focus,input:focus{border-color:#6c9c75;box-shadow:0 0 0 3px #e2efe3}textarea{width:100%;resize:vertical;min-height:104px;line-height:1.5;word-break:break-all}button{font:inherit;font-size:13px;font-weight:750;border:0;border-radius:9px;color:#fff;background:#276d3c;padding:13px 20px;cursor:pointer;white-space:nowrap}button:hover{background:#1c5830}button:disabled{opacity:.55;cursor:not-allowed}.actions{display:flex;align-items:center;gap:15px;margin-top:15px}.message{font-size:13px;color:#4d6e55}.wallet-input{display:flex;gap:12px}.wallet-input input{flex:1;min-width:0}.hint{color:#7c867e;font-size:12px;margin:12px 0 0}.progress-track{height:10px;background:#e9eee8;border-radius:12px;overflow:hidden}.progress-track>div{height:100%;width:0;background:#3c8d51;border-radius:12px;transition:width .3s}.progress-summary{display:flex;justify-content:space-between;align-items:center;margin:16px 0 23px;color:#66736a;font-size:13px}.progress-summary strong{font-size:28px;letter-spacing:-.05em;color:#23472c}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stats>div{padding:17px;background:#f5f8f3;border-radius:10px}.stats span{display:block;color:#78857b;font-size:12px}.stats strong{display:block;margin-top:8px;font-size:20px}.current,.error{font-size:12px;overflow-wrap:anywhere;margin:16px 0 0;color:#6b786e}.error{color:#b54032}.error:empty,.current:empty{display:none}@media(max-width:650px){.shell{padding:38px 16px 60px}.panel{padding:22px 19px}.wallet-input{flex-direction:column}.wallet-input button{width:100%}.stats{gap:7px}.stats>div{padding:12px}.stats strong{font-size:16px}.actions{align-items:flex-start;flex-direction:column}}
.error{white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto;background:#fff3f0;padding:12px;border-radius:8px}
.date-range{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.date-range>div{flex:1 1 150px}.date-range input{width:100%}.date-range label{margin-bottom:8px}.resume-options{margin-top:18px;padding:16px;border:1px solid #e1e8de;border-radius:12px;background:#fbfcfa}.resume-options h3{margin:0;font-size:15px;letter-spacing:-.01em}.job-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}#stop{background:#9a3b31}#stop:hover{background:#7f2f28}.message{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:650px){.date-range{flex-direction:column}}
.job-picker{margin-bottom:20px}.job-picker select{width:100%;font:inherit;color:#23332a;background:#fbfcf9;border:1px solid #d8e1d7;border-radius:10px;padding:11px 13px}
.request-hint{margin:-8px 0 18px}.request-list{display:grid;gap:10px;max-height:560px;overflow:auto}.empty-requests{font-size:13px;color:#7c867e;margin:4px 0}.request-item{border:1px solid #e4e9e2;border-radius:10px;padding:14px;background:#fbfcfa}.request-item.failed{border-color:#eac7c1;background:#fff9f8}.request-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}.request-head strong{font-size:14px}.request-head time{color:#8a958c;margin-left:auto;font-size:11px}.request-status{color:#49664f;background:#e6f1e6;border-radius:20px;padding:4px 8px;font-weight:700;font-size:11px}.request-item.failed .request-status{color:#a83b30;background:#fbe6e2}.request-item.pending .request-status{color:#8a6a2c;background:#f9efd6}.request-url{display:block;margin-top:10px;overflow-wrap:anywhere;font-size:11px;line-height:1.5;color:#526157}.business-code{margin:8px 0 0;font-size:11px;color:#6a776d}.request-error{white-space:pre-wrap;word-break:break-word;max-height:200px;overflow:auto;color:#a3352b;background:#fff0ed;border-radius:7px;padding:9px;margin:10px 0 0;font-size:11px}
.switch-row{display:flex;align-items:center;gap:10px;margin-bottom:0;font-size:15px;cursor:pointer}.switch-row input{width:18px;height:18px;accent-color:#276d3c}.rate-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:0;padding:0;margin:18px 0 0}.rate-fields input{width:100%}.rate-fields:disabled{opacity:.5}@media(max-width:650px){.rate-fields{grid-template-columns:1fr}}
.token-shell{max-width:1480px}.token-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.token-toolbar label{width:100%;margin:0}.token-toolbar input{flex:1 1 360px;min-width:180px}.secondary-button{background:#e8f1e7;color:#276d3c}.secondary-button:hover{background:#d6e8d5}.token-table-wrap{overflow-x:auto;margin-top:18px;border:1px solid #e3e8dd;border-radius:12px}.token-table{border-collapse:collapse;min-width:1280px;width:100%;font-size:12px}.token-table th,.token-table td{text-align:left;padding:13px 11px;border-bottom:1px solid #edf1ea;vertical-align:middle}.token-table th{white-space:nowrap;background:#f5f8f3;color:#68766a;font-weight:750}.token-table tr:last-child td{border-bottom:0}.token-table button{padding:8px 12px}.token-identity{min-width:170px}.token-identity img{width:34px;height:34px;border-radius:50%;object-fit:cover;float:left;margin-right:9px}.token-identity strong,.token-identity small{display:block;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.token-identity small{color:#79877d;margin-top:3px}.token-pagination{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:18px;font-size:13px}.token-job-select{width:100%;font:inherit;color:#23332a;background:#fbfcf9;border:1px solid #d8e1d7;border-radius:10px;padding:11px 13px;margin-bottom:20px}.request-subtitle{font-size:16px;margin:28px 0 8px}.request-subtitle .badge{margin-left:8px}@media(max-width:650px){.token-toolbar button{flex:1}.token-pagination{justify-content:space-between}}

.app-layout{display:grid;grid-template-columns:232px minmax(0,1fr);align-items:start}
.app-layout>.shell{width:100%;min-width:0;padding-top:48px}
.app-sidebar{position:sticky;top:0;height:100vh;padding:34px 17px;background:#fff;border-right:1px solid #e3e8dd}
.sidebar-brand{display:flex;flex-direction:column;gap:5px;padding:0 15px 30px;border-bottom:1px solid #edf1ea}
.sidebar-brand strong{font-size:22px;letter-spacing:.12em;color:#245b35}
.sidebar-brand span{font-size:11px;letter-spacing:.06em;color:#819086}
.sidebar-nav{display:grid;gap:6px;margin-top:22px}
.sidebar-nav a{display:block;padding:13px 15px;border-radius:10px;color:#58685c;font-size:14px;font-weight:700;text-decoration:none;transition:background .15s,color .15s}
.sidebar-nav a:hover{background:#f1f6ef;color:#245b35}
.sidebar-nav a[aria-current="page"]{background:#e8f1e7;color:#245b35}
.sidebar-nav a:focus-visible{outline:2px solid #276d3c;outline-offset:2px}
@media(max-width:760px){
  .app-layout{display:block}
  .app-sidebar{position:static;height:auto;padding:15px 16px;border-right:0;border-bottom:1px solid #e3e8dd}
  .sidebar-brand{padding:0 0 12px;border:0}
  .sidebar-brand strong{font-size:18px}
  .sidebar-brand span{display:none}
  .sidebar-nav{display:flex;gap:8px;margin:0}
  .sidebar-nav a{padding:10px 12px;font-size:13px}
  .app-layout>.shell{padding-top:32px}
}

.token-table{min-width:1160px}
.token-identity{min-width:205px}
.token-identity-layout{display:flex;align-items:center;gap:10px}
.token-identity img{width:40px;height:40px;flex:none;float:none;margin:0;border-radius:12px}
.token-identity-text{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.token-identity-text strong,.token-identity-text small{max-width:145px}
.token-addresses{min-width:185px}
.address-line{display:flex;align-items:center;gap:7px;white-space:nowrap}
.address-line+.address-line{margin-top:6px}
.address-line>span:first-child{color:#849087;font-size:11px}
.address-chip{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.address-chip code{font-family:ui-monospace,Consolas,monospace;font-size:11px;color:#526157}
.copy-address{display:inline-grid;place-items:center;width:23px;height:23px;padding:0;border-radius:6px;background:transparent;color:#718b77}
.copy-address:hover{background:#e8f1e7;color:#276d3c}
.copy-address:focus-visible{outline:2px solid #276d3c;outline-offset:1px}
.copy-address svg{width:14px;height:14px}
.token-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:26px}
.task-setting{min-width:0;padding:22px;border:1px solid #e3e8dd;border-radius:12px;background:#f8faf6}
.task-setting h3{margin:0 0 18px;font-size:16px;color:#334a39}
@media(max-width:1050px){.token-settings{grid-template-columns:1fr}}
.wallet-stats,.token-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:650px){.wallet-stats,.token-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
