html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}:root{--bg: #f3f6fb;--panel: #ffffff;--border: #e7ecf4;--muted: #8a97ab;--text: #0f172a}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.app-shell{min-height:100vh;background:radial-gradient(circle at 12% 0%,rgba(22,119,255,.07),transparent 34%),radial-gradient(circle at 92% 6%,rgba(9,88,217,.05),transparent 30%),var(--bg)}.app-header{display:flex;align-items:center;justify-content:space-between;gap:18px;height:78px;line-height:normal;padding:0 24px;background:#fffffff0!important;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{flex:0 0 auto;width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:25px;background:linear-gradient(135deg,#1677ff,#0958d9);box-shadow:0 8px 18px #1677ff47}.brand-text{min-width:0}.brand-title{font-size:18px;font-weight:700;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-subtitle{margin-top:3px;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.header-stat{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:10px;background:#f8fafc;color:#64748b;font-size:12px;white-space:nowrap}.header-stat>.anticon{color:#94a3b8}.header-stat b{color:var(--text);font-size:15px;font-weight:700}.header-stat.is-running{background:#fffbeb;border-color:#fde68a}.header-stat.is-running>.anticon,.header-stat.is-running b{color:#b45309}.header-stat em{margin-left:3px;font-style:normal;font-size:11px;color:#b45309}.app-content{padding:18px 20px 6px}.backend-alert{margin-bottom:16px}.workspace-card{height:calc(100vh - 178px);min-height:600px;border-radius:14px!important;box-shadow:0 8px 30px #0f172a0f;display:flex;flex-direction:column;overflow:hidden}.workspace-card>.ant-card-head{flex:0 0 auto;min-height:52px;border-bottom:1px solid #eef2f7}.workspace-card>.ant-card-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding:14px 16px 12px}.workspace-card.account-card{height:auto;min-height:0}.card-extra{font-size:12px}.account-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.toolbar-spacer{flex:1 1 auto}.account-table{flex:0 0 auto;min-height:0}.account-table .ant-table{font-size:13px}.account-table .ant-table-thead>tr>th{padding:9px 10px!important;font-size:12px;font-weight:600}.account-table .ant-table-tbody>tr>td{padding:8px 10px!important}.account-table .ant-table-selection-column{padding-inline-start:12px!important}.row-actions{white-space:nowrap}.account-name{font-weight:600;color:#1e293b}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;color:#475569}.muted{color:#94a3b8}.tooltip-lines{white-space:pre-line;line-height:1.65;max-width:460px}.status-tag{margin-inline-end:0!important;min-width:58px;text-align:center}.progress-cell{display:flex;flex-direction:column;gap:1px}.progress-cell .ant-progress{margin:0;line-height:1}.progress-cell span{font-size:11px;color:#64748b}.side-card>.ant-card-body{padding:0!important;height:100%}.side-tabs{height:100%;display:flex;flex-direction:column}.side-tabs>.ant-tabs-nav{flex:0 0 auto;margin:0!important;padding:0 14px}.side-tabs>.ant-tabs-content-holder{flex:1 1 auto;min-height:0;display:flex}.side-tabs .ant-tabs-content{flex:1 1 auto;min-height:0}.side-tabs .ant-tabs-tabpane{height:100%}.log-panel{height:100%;display:flex;flex-direction:column;gap:10px;padding:12px 14px 14px}.panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.log-console{flex:1 1 auto;min-height:0;overflow:auto;padding:12px 14px;border-radius:10px;background:#0b1220;color:#cbd5e1;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.75;scrollbar-color:#334155 #0b1220}.log-line{display:flex;gap:8px;padding-left:8px;border-left:2px solid transparent;white-space:pre-wrap;word-break:break-word}.log-time{flex:0 0 auto;color:#64748b}.log-label{flex:0 0 auto;color:#93c5fd}.log-message{flex:1;min-width:0}.log-success{border-left-color:#22c55e}.log-success .log-message{color:#4ade80}.log-warning{border-left-color:#f59e0b}.log-warning .log-message{color:#fbbf24}.log-error{border-left-color:#ef4444}.log-error .log-message{color:#f87171}.log-debug .log-message{color:#94a3b8}.log-empty{padding-top:70px;text-align:center;color:#64748b}.bank-panel{height:100%;display:flex;flex-direction:column;gap:12px;padding:12px 14px 14px;overflow:hidden}.bank-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.bank-stat{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid #eef2f7;border-radius:10px;background:#f8fafc}.bank-stat span{font-size:12px;color:#64748b}.bank-stat b{font-size:18px;line-height:1.2;color:var(--text)}.bank-stat b.is-warn{color:#d97706}.bank-missing-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:600}.bank-missing-head .ant-typography{margin-left:4px;font-size:12px;font-weight:400}.bank-table{flex:1 1 auto;min-height:0}.bank-table .ant-table{font-size:12px}.bank-table .ant-table-tbody>tr>td{padding:7px 8px!important}.login-title{display:flex;align-items:center;gap:12px;margin-bottom:16px}.login-avatar{background:linear-gradient(135deg,#1677ff,#0958d9)!important;color:#fff!important}.login-title-text{font-size:15px;font-weight:600}.login-title-sub{margin-top:2px;font-size:12px;color:#64748b}.login-alert{margin-bottom:14px}.school-row{display:flex;gap:8px}.school-row .ant-select{flex:1 1 auto}.captcha-row{display:flex;align-items:center;gap:8px}.captcha-box{position:relative;flex:0 0 150px;height:44px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc;color:#94a3b8;font-size:12px;cursor:pointer;transition:border-color .15s ease}.captcha-box:hover{border-color:#1677ff}.captcha-box img{width:100%;height:100%;object-fit:fill}.captcha-box.is-loading{cursor:progress}.captcha-box .ant-spin{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#f8fafcb8}.login-options{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:2px 0 10px;font-size:13px}.login-status{min-height:20px;margin-bottom:10px;padding:5px 9px;border:1px solid #fde68a;border-radius:6px;background:#fffbeb;color:#b45309;font-size:12px;line-height:1.6}.form-hint{margin-top:4px;color:#94a3b8;font-size:12px;line-height:1.65}.task-account{margin-bottom:14px;color:#334155;font-size:13px}.task-other-tag{margin-left:8px}.task-section-title{margin-bottom:8px;font-size:13px;font-weight:600}.task-section-title .muted{margin-left:4px;font-size:12px;font-weight:400}.task-list{max-height:220px;padding:6px;overflow:auto;border:1px solid #e8edf5;border-radius:10px;background:#fbfdff}.task-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid transparent;border-radius:8px;cursor:pointer}.task-item:hover{background:#f5f9ff}.task-item.is-checked{border-color:#dbeafe;background:#eff6ff}.task-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.task-select-row{display:flex;align-items:center;gap:8px;margin:8px 0 14px}.task-settings{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-bottom:14px}.task-field{display:flex;flex-direction:column;gap:6px}.task-field-label{color:#64748b;font-size:12px}.task-alert{margin-bottom:12px}.task-apply{font-size:13px}.about-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}.about-icon{width:54px;height:54px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(135deg,#1677ff,#0958d9);color:#fff;font-size:28px;box-shadow:0 8px 18px #1677ff3d}.about-title{font-size:16px;font-weight:700}.about-text{color:#475569;line-height:1.8}.about-note{margin-top:14px;font-size:12px;line-height:1.75}.about-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;padding-top:12px;border-top:1px solid #eef2f7;font-size:12px}.app-footer{padding:10px 20px 16px;background:transparent;color:#94a3b8;font-size:12px;text-align:center}.footer-brand{margin-left:10px;color:#64748b}@media(max-width:1199px){.workspace-card,.workspace-card.account-card{height:auto;min-height:0}.account-table .ant-table-body{max-height:430px!important}.side-card{height:720px}}@media(max-width:760px){.app-header{height:auto;padding:12px 14px;flex-direction:column;align-items:flex-start;gap:10px}.brand-title{font-size:16px;white-space:normal}.brand-subtitle{white-space:normal}.header-right{width:100%;justify-content:flex-start}.header-stat{padding:4px 9px}.app-content{padding:12px}.account-toolbar{flex-direction:column;align-items:flex-start}.toolbar-spacer{display:none}.side-card{height:660px}.captcha-row{flex-wrap:wrap}.captcha-box{flex-basis:120px}.task-settings{grid-template-columns:1fr}.bank-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.app-footer{padding-bottom:20px}}
