:root{--ink:#13231d;--muted:#687a72;--line:#dfe8e2;--paper:#fff;--bg:#f4f7f5;--green:#16865d;--green-dark:#0d6847;--mint:#e8f5ee;--danger:#ba3e3e;--shadow:0 14px 38px rgba(22,54,41,.07)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg)}button,input,textarea{font:inherit}.hidden{display:none!important}.muted{color:var(--muted)}
.login-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 0,#dcefe5,transparent 36%),linear-gradient(135deg,#f5f8f6,#edf3ef);padding:24px}.login-card{width:min(430px,100%);padding:44px;background:rgba(255,255,255,.92);border:1px solid #e3ebe6;border-radius:24px;box-shadow:0 30px 80px rgba(25,64,47,.12)}.brand-mark{width:54px;height:54px;border-radius:16px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:25px;font-weight:800;box-shadow:0 10px 20px rgba(22,134,93,.24)}.brand-mark.small{width:38px;height:38px;border-radius:11px;font-size:17px;box-shadow:none}.eyebrow{color:var(--green);font-weight:800;font-size:11px;letter-spacing:.16em;margin:20px 0 7px}.login-card h1{font-size:30px;margin:0 0 10px}.login-card .muted{margin:0 0 28px;font-size:14px}.field-label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}input[type=password]{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:10px;outline:none;margin-bottom:14px}input[type=password]:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(22,134,93,.1)}.error-text{color:var(--danger);font-size:13px;min-height:18px;margin:12px 0 0}
.app-shell{min-height:100vh}.sidebar{width:240px;position:fixed;inset:0 auto 0 0;background:#10281f;color:#d7e4dc;padding:26px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 28px}.brand div{display:flex;flex-direction:column;gap:2px}.brand strong{font-size:16px;color:#fff}.brand span:last-child{font-size:11px;color:#86a697}.nav-group{font-size:11px;color:#779387;text-transform:uppercase;letter-spacing:.1em;margin:24px 12px 9px}.nav-item{height:44px;display:flex;align-items:center;gap:11px;padding:0 12px;color:#bcd0c5;text-decoration:none;border-radius:10px;margin:3px 0;font-size:14px}.nav-item span{font-size:20px}.nav-item.active{background:#1c4937;color:#fff}.nav-item.disabled{opacity:.6}.nav-item em{margin-left:auto;font-style:normal;font-size:10px;border:1px solid #557467;padding:2px 5px;border-radius:4px}.logout{margin-top:auto;background:transparent;border:1px solid #315344;color:#adc3b8;padding:10px;border-radius:9px;cursor:pointer}
main{margin-left:240px;padding:34px clamp(22px,4vw,58px) 60px;max-width:1680px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:27px}.topbar .eyebrow{margin:0 0 7px}.topbar h1{font-size:28px;letter-spacing:-.04em;margin:0}.status-pill{font-size:12px;font-weight:700;color:var(--green-dark);background:var(--mint);padding:8px 11px;border-radius:999px}.status-pill span{display:inline-block;width:7px;height:7px;background:#22a06b;border-radius:50%;margin-right:6px}
.workspace-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:18px}.panel{background:var(--paper);border:1px solid #e3ebe6;border-radius:16px;box-shadow:var(--shadow)}.input-panel,.settings-panel,.task-panel,.history-panel{padding:22px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:17px}.panel-head h2{font-size:16px;margin:0 0 5px}.panel-head p{font-size:12px;color:var(--muted);margin:0}.count-badge{color:var(--green-dark);background:var(--mint);font-size:11px;font-weight:800;padding:5px 9px;border-radius:999px}textarea{width:100%;min-height:220px;resize:vertical;border:1px solid var(--line);border-radius:11px;padding:15px;line-height:1.7;outline:none}.input-actions{display:flex;align-items:center;gap:9px;margin-top:12px}.file-button,.ghost,.primary{border:0;border-radius:9px;padding:10px 13px;font-size:13px;font-weight:700;cursor:pointer}.file-button,.ghost{background:#f3f7f4;color:#385348;border:1px solid #dfe8e2}.file-button input{display:none}.ghost:hover,.file-button:hover{background:#eaf2ed}.ghost.danger{color:var(--danger);margin-left:auto}.primary{background:var(--green);color:#fff;box-shadow:0 7px 17px rgba(22,134,93,.18)}.primary:hover{background:var(--green-dark)}.full{width:100%;padding:13px 16px}.hint{height:19px;margin-top:8px;font-size:12px;color:var(--green-dark)}
.radio-card{position:relative;display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:11px;padding:14px;margin-bottom:10px;cursor:pointer}.radio-card.selected{border-color:var(--green);background:#f6fbf8;box-shadow:inset 0 0 0 1px var(--green)}.radio-card input{accent-color:var(--green)}.radio-card span{display:flex;flex-direction:column;gap:4px}.radio-card b{font-size:13px}.radio-card small{font-size:11px;color:var(--muted)}.radio-card i{margin-left:auto;font-style:normal;font-size:10px;color:var(--green-dark);background:var(--mint);padding:3px 6px;border-radius:5px}.notice{display:flex;flex-direction:column;gap:4px;background:#f7f4ea;border:1px solid #ebe3c9;border-radius:10px;padding:12px;margin:16px 0}.notice strong{font-size:12px;color:#80662a}.notice span{font-size:11px;color:#88784f}.settings-panel .primary{display:flex;justify-content:space-between}
.task-panel{margin-top:18px}.progress-track{height:8px;background:#e9f0ec;border-radius:20px;overflow:hidden}.progress-track div{height:100%;width:0;background:linear-gradient(90deg,#16865d,#4eb984);transition:width .35s}.metrics{display:grid;grid-template-columns:1fr 1fr 2fr;gap:14px;margin-top:17px}.metrics div{display:flex;flex-direction:column;gap:4px}.metrics span{font-size:11px;color:var(--muted)}.metrics strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.results-panel{margin-top:18px;overflow:hidden}.results-head{padding:22px 22px 0}.export-actions{display:flex;gap:8px}.compact{padding:9px 12px}.primary:disabled,.ghost:disabled{opacity:.45;cursor:not-allowed}.delete-selected:not(:disabled){color:var(--danger);border-color:#e6bbbb;background:#fff7f7}.table-wrap{overflow:auto;max-height:520px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#708078;font-size:11px;letter-spacing:.04em;background:#f7f9f8;position:sticky;top:0;z-index:1}th,td{padding:12px 18px;border-bottom:1px solid #edf1ef}tbody tr:hover{background:#fbfdfc}tbody tr.row-selected{background:#f1f8f4}.check-column{width:52px;text-align:center;padding-left:12px;padding-right:8px}.action-column{width:72px}.check-column input,.result-check{width:15px;height:15px;accent-color:var(--green);cursor:pointer}.row-delete{border:0;background:transparent;color:var(--danger);font-size:12px;font-weight:700;padding:6px;cursor:pointer;border-radius:6px}.row-delete:hover{background:#fbecec}.empty-row td{text-align:center;padding:65px}.empty-row div,.empty-row strong,.empty-row span{display:block}.empty-icon{font-size:34px;color:#91a69b;margin-bottom:8px}.empty-row span{font-size:12px;color:var(--muted);margin-top:5px}.history-panel{margin-top:18px}.history-list{display:grid;gap:8px}.history-item{display:grid;grid-template-columns:120px 1fr 100px 90px;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-size:12px}.history-item:hover{border-color:#9fc6b4}.history-item strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag{justify-self:start;font-size:10px;padding:3px 6px;border-radius:5px;background:#edf3ef;color:#587064}.tag.completed{background:var(--mint);color:var(--green-dark)}.tag.failed,.tag.cancelled{background:#f8eaea;color:var(--danger)}
.toast{position:fixed;right:25px;bottom:25px;transform:translateY(20px);opacity:0;pointer-events:none;background:#163126;color:#fff;padding:12px 16px;border-radius:10px;font-size:13px;box-shadow:0 14px 40px rgba(0,0,0,.2);transition:.25s}.toast.show{transform:translateY(0);opacity:1}
@media(max-width:900px){.sidebar{width:76px;padding:22px 10px}.brand div,.nav-item:not(.active){display:none}.brand{padding:0 8px 24px}.nav-item.active{justify-content:center;padding:0;font-size:0}.nav-item.active span{font-size:23px}.logout{font-size:0}.logout:after{content:"退出";font-size:12px}main{margin-left:76px;padding:25px 18px}.workspace-grid{grid-template-columns:1fr}.topbar h1{font-size:23px}.metrics{grid-template-columns:1fr 1fr}.metrics div:last-child{grid-column:1/-1}.history-item{grid-template-columns:90px 1fr}.history-item span:nth-child(3),.history-item span:nth-child(4){display:none}}
@media(max-width:600px){main{margin-left:0;padding:18px 12px 40px}.sidebar{position:static;width:100%;height:62px;flex-direction:row;align-items:center;padding:10px 14px}.brand{padding:0}.brand div{display:flex}.sidebar nav,.logout{display:none}.topbar{margin-top:12px}.status-pill{display:none}.input-actions{flex-wrap:wrap}.ghost.danger{margin-left:0}.results-head{display:block}.export-actions{margin-top:12px;overflow:auto}.panel{border-radius:13px}.history-item{grid-template-columns:1fr}}
