:root{--navy:#071a34;--navy2:#0b294f;--blue:#1766c5;--blue-soft:#eaf3ff;--red:#df171e;--red-dark:#b80d14;--green:#0d6b47;--orange:#8a4700;--bg:#f4f7fb;--surface:#fff;--text:#132039;--muted:#5f6f84;--line:#dce3ec;--line-strong:#7f8da1;--shadow:0 16px 42px rgba(7,26,52,.11);--radius:9px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Microsoft YaHei","PingFang SC","Noto Sans SC",Arial,sans-serif;color:var(--text);background:var(--bg)}body{line-height:1.55}button,input,select{font:inherit}button,a,label{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{text-decoration:none;color:inherit}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}::selection{color:#fff;background:var(--red)}:focus-visible{outline:3px solid var(--blue);outline-offset:2px;box-shadow:0 0 0 2px #fff}.skip-link{position:fixed;left:16px;top:-60px;z-index:100;min-height:44px;padding:10px 14px;color:#fff;background:var(--navy);border-radius:6px}.skip-link:focus{top:12px}
.tool-brand{display:flex;align-items:center}.tool-brand img{display:block;width:198px;height:auto}.login-header,.app-header{display:flex;align-items:center;height:78px;padding:0 max(28px,calc((100vw - 1450px)/2));color:#fff;background:var(--navy)}.back-home{display:flex;align-items:center;gap:8px;min-height:44px;margin-left:auto;font-weight:700}.back-home:hover{color:#ff8c91}
.tool-login{position:relative;min-height:100vh;overflow:hidden;background:linear-gradient(#fff,#f5f8fc 75%,#edf3f9)}.login-stage{position:relative;z-index:2;display:grid;grid-template-columns:minmax(420px,650px) minmax(330px,450px);gap:28px;width:min(1160px,calc(100% - 40px));margin:56px auto 140px}.tool-login-form,.login-capabilities{background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow)}.tool-login-form{padding:48px 66px}.tool-login-form h1{margin:0;font-size:37px;line-height:1.2;letter-spacing:-.03em}.login-intro{margin:12px 0 30px;color:var(--muted);font-size:17px}.tool-login-form>label:not(.check-row){display:grid;gap:8px;margin:17px 0;font-size:15px;font-weight:800}.tool-login-form input[type="text"],.tool-login-form input[type="password"]{width:100%;height:52px;padding:0 15px;color:var(--text);background:#fff;border:1px solid var(--line-strong);border-radius:7px;outline:0;transition:border-color .18s,box-shadow .18s}.tool-login-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,102,197,.13)}.password-control{position:relative}.password-control input{padding-right:50px!important}.password-toggle{position:absolute;right:5px;top:5px;display:grid;place-items:center;width:42px;height:42px;color:#78879a;border:0;background:transparent}.check-row{display:flex;align-items:center;gap:9px;width:max-content;margin:19px 0 5px;font-size:14px}.check-row input{width:18px;height:18px;accent-color:var(--red)}.form-message{min-height:22px;margin:7px 0;color:var(--red);font-size:13px;font-weight:700}.primary-action,.download-button,.secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 20px;border-radius:7px;font-size:14px;font-weight:800;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}.primary-action{color:#fff;border:1px solid var(--red);background:var(--red);box-shadow:0 8px 19px rgba(223,23,30,.18)}.primary-action:hover:not(:disabled){background:var(--red-dark);border-color:var(--red-dark);transform:translateY(-1px)}.login-submit{width:100%;min-height:54px;margin-top:4px;font-size:17px}.security-note{display:flex;gap:11px;margin:25px 0 0;padding-top:20px;color:#77879b;border-top:1px solid var(--line);font-size:13px}.security-note svg{flex:0 0 auto}.login-capabilities{padding:32px 38px;background:#fafdff}.login-capabilities>div{display:flex;align-items:center;gap:21px;padding:28px 0;border-bottom:1px solid var(--line)}.login-capabilities>div:last-child{border-bottom:0}.login-capabilities>div>svg{flex:0 0 auto;width:55px;height:55px;padding:12px;color:var(--navy);border:1px solid #cfdae6;border-radius:50%}.login-capabilities span{display:grid;gap:7px}.login-capabilities strong{font-size:18px}.login-capabilities small{max-width:30ch;color:var(--muted);font-size:13px}.ledger-lines{position:absolute;left:0;right:0;bottom:0;height:125px;background-color:var(--navy);background-image:linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:100% 34px,120px 100%;transform:perspective(420px) rotateX(16deg);transform-origin:bottom}
.app-header{position:sticky;top:0;z-index:30;padding:0 30px;box-shadow:0 8px 25px rgba(7,26,52,.16)}.app-header .tool-brand img{width:172px;filter:brightness(0) invert(1)}.header-divider{width:1px;height:30px;margin:0 24px;background:rgba(255,255,255,.28)}.app-header h1{margin:0;font-size:21px;letter-spacing:.01em}.account-summary{display:flex;align-items:center;gap:20px;margin-left:auto;font-size:13px}.account-summary>span{display:flex;align-items:center;gap:8px}.account-summary svg{width:19px}.account-summary b{font-weight:800}.site-summary{padding-left:20px;border-left:1px solid rgba(255,255,255,.22)}.logout-button{display:flex;align-items:center;gap:7px;height:40px;padding:0 12px;color:#fff;border:0;background:transparent;font-weight:700}.logout-button:hover{color:#ff9a9e}
.tool-workspace{width:min(1480px,calc(100% - 40px));margin:0 auto;padding:20px 0 48px}.permission-strip{display:flex;align-items:center;gap:24px;margin-bottom:16px;padding:13px 18px;color:#fff;background:var(--navy2);border-radius:var(--radius);box-shadow:0 9px 26px rgba(7,26,52,.12)}.permission-strip>div:first-child{display:grid;min-width:220px}.permission-strip strong{font-size:15px}.permission-strip span{opacity:.72;font-size:12px}.site-list{display:flex;flex-wrap:wrap;gap:7px}.site-list span{display:inline-flex;align-items:center;min-height:27px;padding:0 9px;color:#fff;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.2);border-radius:5px;font-size:12px;font-weight:800;opacity:1}
.command-center{display:grid;grid-template-columns:1.02fr 1.08fr .94fr;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 11px 34px rgba(7,26,52,.07);overflow:hidden}.command-panel{min-width:0;padding:22px;border-right:1px solid var(--line)}.command-panel:last-child{border-right:0}.command-panel>header{display:flex;align-items:flex-start;gap:12px;margin-bottom:17px}.panel-number{display:grid;place-items:center;flex:0 0 auto;width:28px;height:28px;color:#fff;background:var(--navy);border-radius:50%;font-weight:900}.command-panel h2{margin:0;font-size:18px}.command-panel header p{margin:3px 0 0;color:var(--muted);font-size:12px}.drop-zone{display:grid;place-items:center;min-height:136px;padding:16px;text-align:center;border:1.5px dashed #8cb3e2;border-radius:7px;background:#f8fbff;cursor:pointer;transition:border-color .18s,background .18s}.drop-zone:hover,.drop-zone.dragging{border-color:var(--blue);background:#eef6ff}.drop-zone input{position:absolute;inline-size:1px;block-size:1px;opacity:0}.drop-zone svg{width:38px;height:38px;color:var(--blue);margin-bottom:8px}.drop-zone strong{font-size:14px}.drop-zone span{margin-top:4px;color:var(--muted);font-size:12px}.filename-rule{margin:10px 0 13px;color:var(--muted);font-size:12px}.filename-rule code{color:var(--blue);font-family:Consolas,monospace}.selected-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;font-size:12px}.selected-heading button{padding:4px;color:var(--blue);border:0;background:transparent;font-size:12px}.selected-files{max-height:150px;margin:0;padding:0;overflow:auto;list-style:none;border:1px solid var(--line);border-radius:6px}.selected-files li{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:38px;padding:6px 10px;border-bottom:1px solid var(--line);font-size:12px}.selected-files li:last-child{border-bottom:0}.selected-files svg{width:17px;color:var(--red)}.selected-files .file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-files .file-size{color:var(--muted);font-variant-numeric:tabular-nums}.selected-files .remove-file{display:grid;place-items:center;width:28px;height:28px;color:#65758b;border:0;background:transparent}.selected-files .empty-row{display:block;padding:17px;text-align:center;color:var(--muted)}.upload-panel>.primary-action{width:100%}
.progress-block{padding:14px;background:#f7f9fc;border:1px solid var(--line);border-radius:7px}.progress-block>div{display:flex;justify-content:space-between;margin-bottom:9px;font-size:12px}.progress-block b{font-variant-numeric:tabular-nums}progress{display:block;width:100%;height:9px;border:0;border-radius:9px;overflow:hidden;background:#e3e8ef}progress::-webkit-progress-bar{background:#e3e8ef}progress::-webkit-progress-value{background:var(--red);transition:width .2s}progress::-moz-progress-bar{background:var(--red)}.job-meta{display:flex;justify-content:space-between;margin:12px 2px;color:var(--muted);font-size:11px}.job-meta b{color:var(--text)}.activity-log{height:238px;margin:0;padding:0;overflow:auto;list-style:none;border:1px solid var(--line);border-radius:7px}.activity-log li{display:grid;grid-template-columns:66px 1fr;gap:10px;padding:11px 12px;border-bottom:1px solid var(--line);font-size:12px}.activity-log li:last-child{border-bottom:0}.activity-log time{color:var(--muted);font-variant-numeric:tabular-nums}.activity-log .success span{color:var(--green)}.activity-log .error span{color:var(--red)}.activity-log .muted span{color:var(--muted)}.result-state{display:grid;place-items:center;min-height:177px;padding:20px;text-align:center;background:#f9fbfd;border:1px solid var(--line);border-radius:7px}.result-state svg{width:48px;height:48px;margin-bottom:10px;color:#8c9aad}.result-state strong{font-size:16px}.result-state span{margin-top:5px;color:var(--muted);font-size:12px}.result-state.success svg{color:var(--green)}.result-state.error svg{color:var(--red)}.artifact-file{display:flex;align-items:center;gap:11px;margin:13px 0;padding:11px;border:1px solid var(--line);border-radius:6px}.excel-mark{display:grid;place-items:center;width:33px;height:38px;color:#fff;background:#16875b;font-weight:900}.artifact-file div{display:grid;min-width:0}.artifact-file strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.artifact-file small{color:var(--muted)}.download-button{width:100%;color:#fff;background:var(--blue);border:1px solid var(--blue)}.download-button:hover{background:#1056aa}.secondary-action{width:100%;margin-top:10px;color:var(--navy);background:#fff;border:1px solid var(--line-strong)}.secondary-action:hover{border-color:var(--navy)}.retention-note{margin:12px 0 0;color:var(--muted);font-size:11px;text-align:center}
.workflow-section,.history-section{margin-top:17px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 11px 34px rgba(7,26,52,.06);overflow:hidden}.workflow-rail{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line);background:#fbfcfe}.workflow-rail button{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;min-height:59px;color:#5e6d80;border:0;border-right:1px solid var(--line);background:transparent;font-weight:800}.workflow-rail button:last-child{border-right:0}.workflow-rail button span{display:grid;place-items:center;width:27px;height:27px;border:1px solid currentColor;border-radius:50%;font-variant-numeric:tabular-nums}.workflow-rail button.active{color:var(--red);background:#fff}.workflow-rail button.active:after{content:"";position:absolute;left:18%;right:18%;bottom:0;height:2px;background:var(--red)}.workflow-rail button.completed{color:var(--green)}.workflow-content{min-height:173px}.step-pane{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:33px 38px}.step-pane h2{margin:0 0 8px;font-size:22px}.step-pane p{max-width:72ch;margin:0;color:var(--muted);font-size:14px}.step-pane aside{display:grid;min-width:330px;padding:18px 21px;background:#f6f9fc;border:1px solid var(--line);border-radius:7px}.step-pane aside b{font-size:12px}.step-pane aside code{margin:6px 0;color:var(--blue);font-family:Consolas,monospace}.step-pane aside span{color:var(--muted);font-size:11px}.workflow-action{min-width:180px}.rates-pane{display:block;padding:24px}.rates-pane>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.rates-table-wrap{max-height:430px;overflow:auto;border:1px solid var(--line);border-radius:7px}.rates-table-wrap table,.history-table-wrap table{width:100%;border-collapse:collapse}.rates-table-wrap th,.rates-table-wrap td{min-width:120px;padding:9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.rates-table-wrap th{position:sticky;top:0;z-index:1;color:#45546a;background:#f2f5f9;text-align:left}.rates-table-wrap td:first-child,.rates-table-wrap th:first-child{position:sticky;left:0;z-index:2;min-width:92px;background:#f7f9fc;font-weight:800}.rates-table-wrap th:first-child{z-index:3}.rate-input{width:100%;min-height:36px;padding:6px 8px;color:var(--text);border:1px solid #cbd4df;border-radius:5px;background:#fff;font-size:12px}.rate-input:focus{border-color:var(--blue);outline:3px solid rgba(23,102,197,.13)}.history-section>header{padding:20px 24px;border-bottom:1px solid var(--line)}.history-section h2{margin:0;font-size:19px}.history-section header p{margin:4px 0 0;color:var(--muted);font-size:12px}.history-table-wrap{overflow:auto}.history-table-wrap th,.history-table-wrap td{padding:13px 17px;border-bottom:1px solid var(--line);text-align:left;font-size:12px}.history-table-wrap th{color:#536176;background:#fafbfc}.history-table-wrap tbody tr:hover{background:#f7f9fc}.job-status{display:inline-flex;padding:4px 8px;border-radius:5px;font-weight:800}.job-status.complete{color:var(--green);background:#e9f8ef}.job-status.processing,.job-status.uploading{color:var(--blue);background:var(--blue-soft)}.job-status.failed{color:var(--red);background:#fff0f0}.select-job{padding:5px 7px;color:var(--blue);border:0;background:transparent;font-weight:800}.history-empty{padding:35px;text-align:center;color:var(--muted);font-size:13px}.tool-toast{position:fixed;right:24px;bottom:24px;z-index:50;max-width:400px;padding:13px 17px;color:#fff;background:var(--navy);border-radius:7px;box-shadow:var(--shadow);font-size:13px}
@media(max-width:1180px){.account-summary{gap:10px}.site-summary{display:none}.command-center{grid-template-columns:1fr 1fr}.result-panel{grid-column:1/-1;border-top:1px solid var(--line)}.result-panel .result-state{min-height:120px}.command-panel:nth-child(2){border-right:0}.login-stage{grid-template-columns:1fr 390px}.tool-login-form{padding:44px 52px}}
@media(max-width:850px){.login-header,.app-header{height:66px;padding:0 18px}.tool-brand img{width:165px}.login-stage{grid-template-columns:1fr;margin:28px auto 100px}.login-capabilities{display:none}.tool-login-form{width:min(620px,100%);margin:auto}.app-header .tool-brand img{width:134px}.header-divider{margin:0 13px}.app-header h1{font-size:16px}.account-summary .plan-name,.account-summary .account-name svg{display:none}.account-name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-workspace{width:calc(100% - 24px);padding-top:12px}.permission-strip{align-items:flex-start;flex-direction:column;gap:10px}.command-center{grid-template-columns:1fr}.command-panel,.command-panel:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.result-panel{grid-column:auto;border-top:0}.workflow-rail{grid-template-columns:repeat(5,minmax(130px,1fr));overflow:auto}.workflow-rail button{justify-content:flex-start;padding:0 16px}.step-pane{align-items:flex-start;flex-direction:column;padding:27px 23px}.step-pane aside{min-width:0;width:100%}.workflow-action{width:100%}.rates-pane>header{align-items:flex-start;gap:18px;flex-direction:column}.rates-pane>header .primary-action{width:100%}.history-table-wrap table{min-width:720px}}
@media(max-width:560px){.tool-brand img{width:142px}.back-home{font-size:13px}.login-stage{width:calc(100% - 24px);margin-top:18px}.tool-login-form{padding:31px 23px}.tool-login-form h1{font-size:29px}.login-intro{font-size:14px}.ledger-lines{height:70px}.app-header .header-divider,.app-header h1{display:none}.account-summary{margin-left:auto}.plan-name{display:none!important}.logout-button{padding:0 2px;font-size:0}.logout-button svg{width:23px;height:23px}.permission-strip{padding:14px}.command-panel{padding:18px 15px}.selected-files{max-height:180px}.activity-log{height:210px}.workflow-section{margin-top:12px}.workflow-content{min-height:205px}.step-pane{padding:23px 18px}.rates-pane{padding:18px 12px}.tool-toast{left:12px;right:12px;bottom:12px}.history-section{margin-top:12px}}
.selected-files .remove-file svg{width:16px;color:inherit}.job-status.completed{color:var(--green);background:#e9f8ef}.job-status.queued{color:var(--blue);background:var(--blue-soft)}
.drop-zone:focus-within{border-color:var(--blue);background:#eef6ff;box-shadow:0 0 0 3px rgba(23,102,197,.13)}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.login-header .tool-brand img{filter:brightness(0) invert(1)}.account-name b{display:block;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:560px){.account-name{display:none}.app-header .tool-brand img{width:132px}.logout-button{width:44px;height:44px;justify-content:center}.selected-files .remove-file{width:38px;height:38px}.selected-heading button{min-height:38px;padding:4px 8px}}
progress::-webkit-progress-value{transition:none}
.permission-strip>summary{display:grid;min-width:220px;list-style:none}.permission-strip>summary::-webkit-details-marker{display:none}.mobile-permission-label{display:none}
@media(min-width:601px){.permission-strip>summary{cursor:default}}
@media(max-width:600px){.app-header .header-divider,.app-header h1,.account-summary>span{display:none}.app-header .tool-brand img{width:132px}.account-summary{margin-left:auto}.logout-button{width:44px;height:44px;justify-content:center;padding:0;font-size:0}.permission-strip{display:block;padding:7px 13px}.permission-strip>summary{display:grid;grid-template-columns:1fr auto;align-items:center;min-width:0;min-height:44px;cursor:pointer}.permission-strip>summary span{display:none}.mobile-permission-label{display:block;grid-column:2;color:#fff;font-size:12px}.permission-strip[open] .mobile-permission-label{font-size:0}.permission-strip[open] .mobile-permission-label:after{content:"收起站点";font-size:12px}.permission-strip:not([open])>.site-list{display:none}.permission-strip[open]>.site-list{display:flex;margin-top:8px}}
.init-message{margin:0 0 16px;padding:12px 14px;color:#8e1117;background:#fff2f2;border:1px solid #c7464b;border-radius:7px;font-size:13px;font-weight:700}
.password-toggle,.selected-heading button,.selected-files .remove-file,.select-job{min-width:44px;min-height:44px}.rate-input{min-height:44px}.workflow-rail button:focus-visible,.step-pane:focus-visible{position:relative;z-index:2}
.security-note{color:var(--muted)}.job-status.failed{color:#9f1117}.job-status.completed,.job-status.complete{color:var(--green)}
.job-id{display:block;margin-top:2px;color:var(--muted);font-weight:400}.job-actions{display:flex;align-items:center;gap:2px}.delete-job{min-width:44px;min-height:44px;padding:5px 7px;color:var(--red);border:0;background:transparent;font-weight:800}
