:root{--navy:#0b1f3a;--blue:#17365d;--teal:#19b8a5;--ink:#17233b;--muted:#68758a;--line:#dce3ec;--soft:#f5f8fb;--danger:#b42318}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:#eef3f8}.install-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,38%) 1fr}.install-aside{padding:54px 8vw 54px 5vw;background:linear-gradient(150deg,var(--navy),#123c69);color:white;display:flex;flex-direction:column;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand span{display:grid;place-items:center;width:42px;height:42px;background:var(--teal);border-radius:12px;font-weight:800}.install-aside small{letter-spacing:.16em;color:#84ded3}.install-aside h1{font-size:clamp(34px,4vw,58px);line-height:1.02;margin:14px 0 20px;max-width:620px}.install-aside p{color:#c8d5e6;line-height:1.7;max-width:580px}.install-aside ol{list-style:none;padding:0;display:grid;gap:14px}.install-aside li{color:#8fa4bd;padding-left:30px;position:relative}.install-aside li:before{content:'';width:12px;height:12px;border:2px solid #64809f;border-radius:50%;position:absolute;left:0;top:2px}.install-aside li.done,.install-aside li.active{color:white}.install-aside li.done:before{background:var(--teal);border-color:var(--teal)}.install-aside li.active:before{border-color:#fff}.install-main{padding:50px clamp(24px,6vw,90px);background:#fff;overflow:auto}.install-main header span{color:#168c80;font-weight:700}.install-main h2{font-size:32px;margin:8px 0}.install-main header p{color:var(--muted)}.requirements{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.requirements span{font-size:12px;padding:7px 10px;border-radius:999px;background:var(--soft);color:var(--muted)}.requirements .ok{background:#e9f8f5;color:#087567}.requirements .fail{background:#fff0ef;color:var(--danger)}fieldset{border:1px solid var(--line);border-radius:16px;margin:22px 0;padding:22px}legend{padding:0 10px;font-weight:800;color:var(--blue)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:grid;gap:7px;font-size:13px;font-weight:700}.wide{grid-column:1/-1}input{width:100%;border:1px solid #cdd7e4;border-radius:9px;padding:12px 13px;font:inherit;color:var(--ink);outline:none}input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #19b8a522}.check{display:flex;grid-template-columns:20px 1fr;align-items:center;font-weight:500}.check input{width:18px}small,.note{font-size:12px;color:var(--muted)}button,.success a,.locked a{border:0;border-radius:10px;background:var(--teal);color:#063d37;padding:14px 22px;font-weight:800;font-size:15px;cursor:pointer;text-decoration:none;display:inline-block}.errors{background:#fff1f0;border-left:4px solid var(--danger);padding:14px 18px;border-radius:8px;color:#7a271a}.success,.locked{max-width:560px;margin:15vh auto;text-align:center;background:var(--soft);border-radius:24px;padding:54px}.success b,.locked b{font-size:40px}.success p,.locked p{color:var(--muted);margin-bottom:24px}@media(max-width:900px){.install-shell{grid-template-columns:1fr}.install-aside{min-height:420px;padding:36px 28px}.install-main{padding:32px 20px}.grid{grid-template-columns:1fr}.wide{grid-column:auto}}
