*{box-sizing:border-box}
:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033;background:#f3f6fb}
body{margin:0;min-height:100vh;background:#f3f6fb}
.login-body{display:grid;place-items:center;padding:20px}.login-wrap{width:min(430px,100%)}
.hero{background:linear-gradient(135deg,#6542eb,#2384ff);color:#fff;padding:25px 18px 75px}
.hero-inner{max-width:920px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:16px}
.brand{font-size:24px;font-weight:900}.subtitle{opacity:.82}.outline-link{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.55);padding:10px 15px;border-radius:14px}
.container{max-width:920px;margin:-50px auto 45px;padding:0 16px}
.card{background:#fff;border-radius:24px;padding:24px;box-shadow:0 18px 55px rgba(32,50,88,.11);margin-bottom:17px}
.login-card{margin:auto}.logo{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#6542eb,#2384ff);color:#fff;font-size:30px;margin-bottom:18px}
h1,h2{margin:0 0 10px}h1{font-size:30px}h2{font-size:21px}.muted{color:#6c7689;line-height:1.55}
label{display:block;font-weight:800;margin:14px 0 7px}
input,select{width:100%;padding:14px 15px;border:1px solid #d9e0eb;border-radius:14px;background:#fff;font:inherit;outline:none}
input:focus,select:focus{border-color:#6542eb;box-shadow:0 0 0 4px rgba(101,66,235,.11)}
button,.button-link{border:0;border-radius:14px;padding:13px 17px;background:#6542eb;color:#fff;font-weight:850;font-size:15px;cursor:pointer;text-decoration:none;display:inline-block}
form>button{width:100%;margin-top:14px}button:disabled{opacity:.48;cursor:not-allowed}
button.secondary,.secondary-link{background:#e9edf5;color:#28344d}button.danger{background:#d63848}
.notice{padding:14px 15px;border-radius:15px;margin:13px 0;line-height:1.45}.notice.bad{background:#fff0f0;color:#a22626}.notice.warn{background:#fff7da;color:#745a00}.notice.good{background:#ebfff3;color:#12663a}.notice.neutral{background:#f0f3f8;color:#3f4c62}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.stat{background:#f5f7fb;border-radius:16px;padding:14px}.stat b{display:block;font-size:23px}.stat span{font-size:12px;color:#748095}
.progress{height:12px;border-radius:99px;background:#e8edf5;overflow:hidden;margin-top:17px}.bar{height:100%;width:0;background:linear-gradient(90deg,#6542eb,#2384ff);transition:width .35s}
.log{background:#111827;color:#d8e3f5;border-radius:15px;padding:15px;min-height:115px;white-space:pre-wrap;overflow:auto;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}
.disabled-card{opacity:.5;pointer-events:none}.enabled-card{opacity:1;pointer-events:auto}.hidden{display:none!important}
code{background:#eef1f6;padding:2px 5px;border-radius:6px}
@media(max-width:650px){.stats{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}.brand{font-size:20px}.card{padding:20px}}
