:root{--ink:#17243a;--muted:#758198;--line:#e5eaf2;--blue:#315cf5;--bg:#f4f6fb;--white:#fff;--green:#16865e;--red:#c84040}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,'Segoe UI',sans-serif}button,input,select{font:inherit}.shell{max-width:1120px;margin:auto;padding:0 30px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:11px;align-items:center;color:var(--ink);text-decoration:none;font:800 16px system-ui,sans-serif}.brand small{display:block;color:#97a1b2;font:700 9px system-ui,sans-serif;letter-spacing:1.4px;margin-top:2px}.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#4269ff,#2348d8);display:grid;place-items:center;color:white;font:800 23px system-ui;box-shadow:0 7px 18px #315cf533}.brand-mark.small{width:36px;height:36px;border-radius:12px;font-size:20px}.logout{border:1px solid var(--line);background:white;color:#627089;padding:9px 15px;border-radius:10px;cursor:pointer;font-weight:600}main{padding:42px 0}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.eyebrow{color:#6680bb;letter-spacing:1.7px;font-size:10px;font-weight:700;margin:0 0 9px}.intro h1,.login-card h1{font:800 30px system-ui;margin:0 0 8px;letter-spacing:-.8px}.muted{color:var(--muted);line-height:1.6;margin:0;font-size:14px}.status-pill{background:#e7f6ef;color:var(--green);border-radius:20px;padding:9px 13px;font-size:12px;font-weight:700;white-space:nowrap}.status-pill i{display:inline-block;width:7px;height:7px;background:#28b77c;border-radius:50%;margin-right:6px}.workspace{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(265px,.9fr);gap:20px;align-items:start}.form-card,.side-card{background:white;border:1px solid #e9edf4;border-radius:18px;box-shadow:0 8px 30px #20345708}.form-card{padding:27px}.section-title{display:flex;gap:13px;align-items:flex-start;margin:0 0 25px}.step{background:#edf1ff;color:var(--blue);font:800 11px system-ui;border-radius:9px;padding:9px 10px}.section-title h2{font:700 17px system-ui;margin:0 0 5px}.section-title p{margin:0;color:var(--muted);font-size:12px}label{display:block;font-size:12px;font-weight:700;color:#56637a;margin:17px 0 8px}select,input{width:100%;height:46px;background:#fbfcfe;border:1px solid #dfe5ef;border-radius:10px;padding:0 13px;color:var(--ink);outline:none}select:focus,input:focus{border-color:#849bff;box-shadow:0 0 0 3px #315cf51a}.primary,.secondary,.danger{height:46px;border:0;border-radius:10px;padding:0 16px;font-weight:700;cursor:pointer}.wide{width:100%}.primary{margin-top:18px;background:var(--blue);color:white;box-shadow:0 7px 16px #315cf526}.primary:disabled{background:#aeb9d6;box-shadow:none;cursor:not-allowed}.primary span{float:right;font-size:18px}.secondary{background:#edf1f8;color:#43536d}.refresh-icon{font-size:18px;margin-right:7px}.target-summary{margin-top:16px;padding:15px;border:1px solid #dbe6ff;background:#f6f8ff;border-radius:12px}.target-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12px}.target-top b{font-size:13px}.count{background:#e7edff;color:#315cf5;padding:4px 9px;border-radius:14px;font-weight:700}.host-list{display:grid;gap:7px;max-height:230px;overflow:auto}.host-row{display:flex;justify-content:space-between;gap:12px;background:white;border:1px solid #edf0f6;border-radius:8px;padding:8px 10px;font-size:11px}.host-row span{overflow-wrap:anywhere}.host-row span:last-child{color:#738097;font-family:monospace}.more{font-size:11px;color:var(--muted);padding:4px}.hidden{display:none!important}.note{margin:14px 0 0;padding:12px 13px;background:#fff8e9;border-radius:10px;color:#806438;font-size:11px;line-height:1.55}.side-card{padding:25px}.side-icon{width:39px;height:39px;display:grid;place-items:center;color:var(--blue);background:#edf1ff;border-radius:12px;font-size:20px}.side-card h3{font:700 17px system-ui;margin:16px 0 20px}.side-card ul{padding:0;margin:0;list-style:none}.side-card li{display:flex;gap:12px;margin:0 0 18px}.side-card li>span{width:23px;height:23px;flex:none;display:grid;place-items:center;border:1px solid #d8e1f2;color:#63738f;border-radius:50%;font-size:10px;font-weight:700}.side-card li b,.side-card li small{display:block}.side-card li b{font-size:12px;margin:2px 0 4px}.side-card li small{color:var(--muted);font-size:11px;line-height:1.45}.callout{margin-top:5px;background:#f3f6fc;padding:12px;border-radius:10px;color:#697790;font-size:11px;line-height:1.5}footer{padding:28px 0 10px;color:#9aa4b6;font-size:11px}footer span{padding:0 5px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;background:#233047;color:white;border-radius:10px;padding:12px 16px;font-size:13px;box-shadow:0 8px 30px #12203b33;transition:.2s;z-index:10;max-width:calc(100% - 32px)}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#a53131}.modal{position:fixed;inset:0;background:#14213c80;display:grid;place-items:center;padding:18px;z-index:20}.modal-card{position:relative;background:white;border-radius:18px;padding:30px;max-width:430px;width:100%;box-shadow:0 25px 70px #08142b40}.modal-x{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:25px;color:#7b8799;cursor:pointer}.modal-symbol{width:40px;height:40px;display:grid;place-items:center;background:#fff4e7;color:#c47b1e;border-radius:12px;font-weight:800;margin-bottom:18px}.modal-card h2{font:800 21px system-ui;margin:0 0 8px}.modal-card .eyebrow{margin-bottom:7px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.danger{background:#c84040;color:white}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(ellipse at 50% 0,#e9efff 0%,var(--bg) 60%)}.login-card{max-width:410px;width:100%;background:white;border:1px solid #e8edf5;box-shadow:0 20px 60px #1a315112;border-radius:20px;padding:35px}.login-card .brand-mark{margin-bottom:24px}.login-card h1{margin-bottom:6px}.login-card form{margin-top:24px}.login-card label{margin-top:0}.login-card .primary{margin-top:18px}.footnote{text-align:center;color:#9ba5b5;font-size:11px;margin:20px 0 0}.error-message{background:#fff0f0;color:#ad3939;border-radius:9px;padding:10px 12px;font-size:12px;margin-top:13px}@media(max-width:760px){.shell{padding:0 17px}.topbar{height:66px}main{padding:30px 0}.intro{align-items:flex-start;gap:12px;flex-direction:column}.intro h1{font-size:25px}.workspace{grid-template-columns:1fr}.form-card{padding:21px}.side-card{padding:21px}.status-pill{font-size:11px}.host-row{font-size:10px}}