:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#21363b;background:#f4f7f7;font-synthesis:none;font-size:14px;--teal:#087e79;--border:#dce6e7;--muted:#74868b}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:background .15s}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #81d4cd;outline-offset:2px}[hidden]{display:none!important}header{height:80px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 34px}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none}.whale{display:grid;place-items:center;font-size:25px;width:44px;height:44px;background:#163c42;border-radius:12px}.brand b{display:block;font-size:17px}.brand small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.isolation{font-size:12px;color:#658077;display:flex;gap:8px;align-items:center}.isolation i{width:7px;height:7px;border-radius:50%;background:#28ad80;box-shadow:0 0 0 4px #edf8f3}.layout{display:flex;min-height:calc(100vh - 80px)}aside{width:216px;flex-shrink:0;padding:35px 18px;background:#eef3f3;border-right:1px solid var(--border);position:relative}aside .eyebrow{padding-left:15px;margin-bottom:20px;color:#8b9da0}.nav{width:100%;display:flex;align-items:center;gap:12px;border:0;background:transparent;text-align:left;padding:14px 15px;border-radius:7px;font-weight:600;color:#71858a;margin:5px 0}.nav.active{background:#fff;color:var(--teal);box-shadow:inset 3px 0 var(--teal)}.nav em{margin-left:auto;font-size:11px;font-style:normal;background:#e5efed;padding:2px 6px;border-radius:4px}.side-bottom{position:absolute;bottom:30px;left:25px;color:#7d9297;font-size:11px;line-height:2}.side-bottom small{display:block;font-size:10px}main{max-width:1500px;width:100%;min-width:0;margin:0 auto;padding:38px 44px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:35px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.4px;color:var(--teal);margin-bottom:7px}h1{font-size:28px;letter-spacing:-.8px;margin:0 0 9px}h2{font-size:17px;margin:0}h3{font-size:14px;margin:0 0 7px}p{color:var(--muted);line-height:1.6;margin:0}.primary,.secondary{border:1px solid var(--border);padding:11px 18px;border-radius:7px;font-weight:650;background:white;color:#345158}.primary{border-color:var(--teal);background:var(--teal);color:white}.primary:hover{background:#066c67}.secondary:hover{background:#eef5f4}.text-button{background:none;border:0;color:#6a8388;font-size:12px}.section-title,.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.section-title h2{font-size:14px}.count{background:#dfeeea;color:var(--teal);border-radius:20px;font-size:11px;padding:3px 8px;margin-left:5px}.site-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-bottom:28px}.site-card{border:1px solid var(--border);background:#fff;border-radius:9px;padding:20px}.site-card-top{display:flex;align-items:center;gap:11px;margin-bottom:14px}.site-avatar{background:#e9f4f1;color:var(--teal);font-size:18px;font-weight:700;display:grid;place-items:center;width:38px;height:38px;border-radius:10px}.site-card h3{margin:0}.site-card .origin{font-size:11px;color:var(--muted);word-break:break-all;margin-top:5px}.status{font-size:10px;color:#158b68;background:#eef8f3;border-radius:4px;padding:4px 6px;margin-left:auto;white-space:nowrap}.status.off{background:#fff3df;color:#986621}.site-detail{font-size:11px;color:#7b8c90;display:flex;justify-content:space-between;gap:8px}.site-actions{display:flex;justify-content:flex-end;gap:14px;border-top:1px solid #eef2f2;padding-top:13px;margin-top:14px}.site-actions button{border:0;background:none;padding:0;font-size:11px;color:#698087}.site-actions button:first-child{color:var(--teal)}.empty{border:1px dashed #cbdcdb;border-radius:9px;text-align:center;padding:35px 20px;margin-bottom:28px;background:#f9fbfb}.empty-icon{font-size:25px;color:#9aafad;margin-bottom:10px}.empty p{font-size:12px;margin-bottom:16px}.panel{background:#fff;border:1px solid var(--border);border-radius:10px;padding:26px}.panel-heading{margin-bottom:24px}.subtle{font-size:11px;color:var(--muted)}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.mode{border:1px solid var(--border);border-radius:8px;background:#fbfcfc;padding:18px;text-align:left;color:#5d747a}.mode.active{background:#f0f9f6;border-color:#63aaa0;box-shadow:inset 0 0 0 1px #63aaa01a}.mode b{display:block;font-size:14px;margin-bottom:7px}.mode.active b{color:var(--teal)}.mode span{font-size:11px;color:#80938f}label{display:block;font-size:12px;font-weight:650;margin:16px 0 8px}label span{font-weight:400;color:#8a9b9e;margin-left:8px}input:not([type=checkbox]),select,textarea{display:block;border:1px solid #cddcde;border-radius:6px;padding:10px 11px;width:100%;background:#fff;color:#2c474e;min-width:0}textarea{resize:vertical;line-height:1.65;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}input::placeholder,textarea::placeholder{color:#a4b2b6}.field-meta{display:flex;justify-content:space-between;font-size:10px;color:#8a9d9f;margin-top:7px}.target-heading{border-top:1px solid #edf1f1;margin-top:26px;padding-top:24px}.target-heading p{font-size:11px;margin-bottom:17px}.target{border:1px solid var(--border);border-radius:8px;margin:12px 0;overflow:hidden}.target.selected{border-color:#9acbc2}.target-top{display:flex;align-items:center;gap:10px;padding:15px 17px;background:#f9fbfb}.target-top label{margin:0;display:flex;align-items:center;gap:10px;cursor:pointer}.target-top small{margin-left:auto;color:#91a29f;font-size:10px}.target-top input{accent-color:var(--teal);width:15px;height:15px}.target-config{padding:0 18px 19px}.form-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:0 14px}.form-grid label{font-size:11px}.config-wide{grid-column:span 2}.key-wrap{margin-top:15px;border-top:1px solid #edf1f1}.submit-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #e8eeee;margin-top:26px;padding-top:22px}.submit-bar b{display:block;font-size:12px}.submit-bar small{display:block;color:#92a3a5;font-size:10px;margin-top:6px}.small-empty{padding:25px 0;color:#92a1a5;font-size:12px}.full{width:100%;margin-top:22px}footer{font-size:10px;color:#94a5a8;text-align:center;margin:25px 0 0;line-height:1.8}dialog{width:520px;max-width:calc(100vw - 30px);max-height:90vh;border:1px solid var(--border);border-radius:12px;padding:28px;box-shadow:0 25px 90px #143a3b30;color:inherit}dialog::backdrop{background:#18383f65;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center}.close{font-size:24px;color:#819397;background:none;border:0;padding:0 3px}.dialog-copy{font-size:12px;margin:16px 0 20px}.error,#notice{background:#fff0ee;color:#a4483d;border:1px solid #f2d0ca;padding:12px;border-radius:6px;font-size:12px;line-height:1.5;margin-top:16px}#notice{margin:0 0 20px}.review-item{border:1px solid var(--border);padding:16px;border-radius:7px;margin-top:10px}.review-item p{font-size:11px;margin-top:7px}.task{background:white;border:1px solid var(--border);border-radius:9px;padding:22px;margin-bottom:20px}.task-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.task-heading h3{font-size:15px}.task-heading small{font-size:10px;color:var(--muted)}.task-metrics{display:flex;flex-wrap:wrap;gap:18px;margin:20px 0 15px;font-size:11px;color:#7b8d91}.task-metrics b{color:#213c42;font-size:17px;margin-right:3px}.task-actions{display:flex;gap:8px;margin-top:16px}.task-actions button{font-size:11px;padding:8px 12px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px;min-width:650px}th{text-align:left;color:#73898d;background:#f7fafa;font-weight:600}td,th{padding:12px 10px;border-bottom:1px solid #edf2f1}td small{display:block;color:#9aacaf;margin-top:4px}.result{font-size:10px;padding:4px 7px;border-radius:4px;background:#eff3f4;color:#7a8b8d;white-space:nowrap}.result.success{color:#128664;background:#eaf7f1}.result.failed{color:#b6534b;background:#fdefed}.result.running{color:#237a9b;background:#eaf5fb}.result.uncertain{color:#ad8026;background:#fff5df}.progress{height:4px;background:#edf3f1;border-radius:4px;overflow:hidden}.progress-fill{display:block;height:100%;background:#42a68d}.message{max-width:290px;word-break:break-word;color:#7c8f93}button.danger{color:#b16b60}
@media(min-width:1600px){main{padding-top:48px}}@media(max-width:1050px){aside{width:176px}main{padding:30px 25px}.form-grid{grid-template-columns:1fr 1fr}.config-wide{grid-column:span 2}}@media(max-width:700px){header{height:68px;padding:0 18px}.isolation{font-size:10px}.layout{display:block}aside{width:100%;padding:10px 16px;border-right:0;border-bottom:1px solid var(--border);display:flex;gap:10px}aside .eyebrow,.side-bottom{display:none}.nav{padding:10px;font-size:12px;width:auto;margin:0}.nav.active{box-shadow:none}main{padding:25px 16px}.page-heading{margin-bottom:25px;align-items:flex-start}h1{font-size:24px}.page-heading p{font-size:12px}.primary,.secondary{padding:10px 12px;font-size:12px}.panel{padding:18px}.mode{padding:14px}.mode span{line-height:1.6;display:block}.mode-grid{gap:8px}.panel-heading .subtle{font-size:10px}.submit-bar{align-items:flex-start;flex-direction:column}.submit-bar button{width:100%}.site-grid{grid-template-columns:1fr}.task{padding:16px}.task-heading{align-items:flex-start}.task-heading h3{font-size:13px}dialog{padding:22px}.form-grid{grid-template-columns:1fr 1fr}.target-top small{display:none}.form-grid input,.form-grid select{font-size:12px}}

progress{appearance:none;width:100%;height:4px;border:0;display:block;margin-bottom:15px}progress::-webkit-progress-bar{background:#edf3f1;border-radius:4px}progress::-webkit-progress-value{background:#42a68d;border-radius:4px}
.header-actions{display:flex;align-items:center;gap:20px}.workspace-login{max-width:460px;margin:90px auto;padding:32px;background:#fff;border:1px solid var(--border);border-radius:12px}.workspace-login h1{font-size:24px}.workspace-login p{font-size:12px;margin:15px 0 25px}@media(max-width:600px){.workspace-login{margin:45px 18px}.header-actions{gap:8px}.header-actions .isolation{font-size:9px}}
