*{box-sizing:border-box}body{margin:0;background:#f4f6f9;color:#172033;font-family:Inter,Segoe UI,Arial,sans-serif}.shell{max-width:980px;margin:0 auto;padding:28px 18px 60px}.top{display:flex;align-items:end;justify-content:space-between;margin-bottom:24px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;color:#1463e6}.top h1{margin:4px 0 0;font-size:34px}.version{font-size:13px;color:#64748b}.card,.statusbar,.warning{background:#fff;border:1px solid #e1e6ef;border-radius:14px;padding:22px;margin:16px 0;box-shadow:0 4px 16px rgba(30,50,80,.05)}.login-card{max-width:470px;margin:70px auto}.muted{color:#64748b;line-height:1.55}.form{display:grid;gap:16px;margin-top:22px}.form label{display:grid;gap:7px;font-weight:650}.form input,.upload-form input{border:1px solid #cbd5e1;border-radius:9px;padding:12px;font:inherit}.primary,.secondary{border:0;border-radius:9px;padding:11px 16px;font:inherit;font-weight:750;cursor:pointer}.primary{background:#1261df;color:#fff}.secondary{background:#edf2f8;color:#24364f}.primary:disabled,button:disabled{cursor:not-allowed;opacity:.5}.statusbar{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:18px}.statusbar .label{display:block;font-size:12px;color:#64748b;margin-bottom:4px}.upload-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:18px}.upload-form input{flex:1;min-width:280px;background:#fff}.messages{display:grid;gap:10px}.message{border-radius:9px;padding:12px 14px}.message.success{background:#eaf8ef;color:#176b37}.message.error{background:#ffeded;color:#9d2323}.result-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.result-head h2{margin:4px 0 0}.badge{padding:7px 11px;border-radius:999px;font-weight:750;font-size:13px}.badge.ok{background:#e9f7ee;color:#176b37}.badge.bad{background:#ffeded;color:#9d2323}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.grid div{background:#f7f9fc;border-radius:10px;padding:12px}.grid dt{font-size:12px;color:#64748b;margin-bottom:5px}.grid dd{margin:0;font-weight:700;overflow-wrap:anywhere}.summary{border-top:1px solid #e6ebf2;padding-top:16px}.hash{margin-top:16px;font-size:12px;color:#64748b;overflow-wrap:anywhere}.future-action{display:flex;align-items:center;gap:14px;border-top:1px solid #e6ebf2;margin-top:18px;padding-top:18px}.future-action button{background:#1261df;color:#fff;border:0;border-radius:9px;padding:11px 16px;font-weight:750}.future-action span{color:#64748b;font-size:13px}.warning{border-left:5px solid #e8a21a;background:#fffaf0}.warning p{margin-bottom:0;color:#73591e}@media(max-width:650px){.grid{grid-template-columns:1fr}.statusbar{grid-template-columns:1fr}.future-action{align-items:flex-start;flex-direction:column}}

.simulation-box{margin-top:20px;padding:18px;border-radius:12px;background:#eef6ff;border:1px solid #cfe2ff}
.simulation-box h3{margin-top:0}
.simulate{background:#1261df;color:#fff;border:0;border-radius:9px;padding:12px 18px;font-weight:800;cursor:pointer}
.steps{display:grid;gap:12px}.step{display:grid;grid-template-columns:82px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid #e6ebf2}
.step:last-child{border-bottom:0}.step p{margin:4px 0 0;color:#64748b;line-height:1.5}
.step-status{font-weight:900;font-size:12px}.oktxt{color:#17713b}.simtxt{color:#8a6515}
.widegrid{display:grid;gap:12px}.widegrid div{background:#f7f9fc;border-radius:10px;padding:12px}.widegrid dt{font-size:12px;color:#64748b;margin-bottom:5px}.widegrid dd{margin:0;overflow-wrap:anywhere}
.safe-result{background:#eaf8ef;border:1px solid #c8e9d2;border-radius:14px;padding:22px;margin:16px 0;color:#1a6436}
.green{color:#17713b}.linkbutton{text-decoration:none;display:inline-block}

.install-real{background:#fff4f2;border:1px solid #f1c6bf;border-radius:14px;padding:22px;margin:16px 0}
.install-real h2{margin-top:0;color:#8e271d}.danger-text{color:#972b20;font-weight:650}
.danger-form{margin-top:18px}.danger-button{background:#b3261e;color:#fff;border:0;border-radius:9px;padding:13px 18px;font-weight:850;cursor:pointer}
.badtxt{color:#a72a22}.deployment-result{margin-top:20px;padding:18px;border-radius:12px;background:#f7f9fc;overflow-wrap:anywhere}
.deployment-result code{overflow-wrap:anywhere}
