:root{font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:#26354f;background:#f3f5f9;font-size:15px;color-scheme:light}*{box-sizing:border-box}body{margin:0}header{height:76px;background:white;border-bottom:1px solid #dde3ee;display:flex;align-items:center;justify-content:space-between;padding:0 32px}.brand,.actions,.section-head,.schedule{display:flex;align-items:center;gap:16px}.brand img{width:42px;height:42px}.brand strong{font-size:19px}.brand small{display:block;color:#8290a6;margin-top:4px}main{max-width:1380px;padding:26px;margin:auto}.card{padding:25px 28px;border:1px solid #e1e6ef;border-radius:12px;background:white;margin-bottom:20px}h1{font-size:23px;margin:0 0 8px}h2{font-size:18px;margin:0}p{line-height:1.7}.muted,.hint{color:#728199}.hint{font-size:13px;margin-bottom:0}.section-head{justify-content:space-between;margin-bottom:18px}.section-head p{margin:5px 0 0}.schedule{align-items:flex-end;flex-wrap:wrap}.check{align-self:center;display:flex;align-items:center;gap:6px}.check input{width:17px;height:17px}label{display:grid;gap:7px;color:#5d6b83;font-size:14px}button,input,select{font:inherit;border:1px solid #d6deeb;border-radius:6px;padding:9px 12px;background:white;color:#2d4364}button{cursor:pointer;white-space:nowrap}button:hover{background:#f1f5fd;border-color:#91ace6}button:disabled{opacity:.5;cursor:default}.primary{background:#326bd3;color:white;border-color:#326bd3}.primary:hover{background:#245ac1}.badge{padding:7px 11px;border-radius:6px;background:#edf3ff;color:#366ac3}.columns{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.columns .card{min-width:0}.login{max-width:440px;margin:60px auto}.login form,#connection-form{display:grid;gap:15px}#connection-form>div{display:grid;gap:12px}.login .primary{margin-top:8px}summary{cursor:pointer;color:#326bd3}details[open] summary{margin-bottom:20px}#notice{background:#fff5d9;color:#8b6210;padding:12px 18px;border-radius:7px}#jobs>details{border-top:1px solid #e6ebf3;padding:20px 0}#jobs>details:first-child{border-top:0}#jobs summary{display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:revert}#jobs summary strong{color:#354963}#jobs .task{display:grid;grid-template-columns:220px 120px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid #f0f2f7}.error{color:#b64e39;font-size:13px;grid-column:1/-1}.report{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0}.report small{color:#728199}.links{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}dialog{width:min(96vw,1600px);max-height:90vh;border:1px solid #dce3ed;border-radius:12px;padding:24px;box-shadow:0 20px 80px #1a2b4c40}dialog::backdrop{background:#20314966}#table-grid{overflow:auto;max-height:65vh;margin:18px 0}table{border-collapse:collapse;white-space:nowrap;font-size:14px}th,td{padding:8px 12px;border:1px solid #dce3ee;max-width:360px;overflow:hidden;text-overflow:ellipsis}th{position:sticky;top:0;background:#edf2fa;color:#314968}td[data-status]{background:#fffaeb}a{color:#326bd3}[hidden]{display:none!important}@media(max-width:900px){.columns{grid-template-columns:1fr}header{padding:0 18px}main{padding:18px}.card{padding:20px}.task{grid-template-columns:1fr!important}}
