.install-shell{min-height:100vh;padding:2rem 0 4rem}.install-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;margin-bottom:1.75rem;flex-wrap:wrap}.install-header h1{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.6rem);margin:.25rem 0 0}.install-kicker{margin:0;color:var(--gold);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:700}.install-card{display:grid;grid-template-columns:260px 1fr;grid-gap:0;gap:0;border:1px solid var(--border);border-radius:22px;overflow:hidden;background:rgba(23,29,37,.92);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:rise .45s ease both}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.install-aside{padding:1.5rem 1.25rem;background:linear-gradient(180deg,rgba(212,175,106,.1),transparent 40%),#151b23;border-right:1px solid rgba(255,255,255,.05)}.install-steps{list-style:none;margin:0;padding:0;display:grid;grid-gap:.55rem;gap:.55rem}.install-steps li{display:grid;grid-template-columns:28px 1fr;grid-gap:.65rem;gap:.65rem;align-items:center;color:var(--muted);font-size:.92rem}.install-steps li.active{color:var(--ink);font-weight:650}.install-steps li.done{color:var(--success)}.step-dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:700;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.2)}.install-steps li.active .step-dot{border-color:var(--gold);color:#1a1408;background:linear-gradient(135deg,#e2c488,#c99a4a)}.install-steps li.done .step-dot{border-color:rgba(107,203,139,.5);background:rgba(107,203,139,.15);color:var(--success)}.install-main{padding:1.75rem 1.6rem 1.6rem}.install-main h2{margin:0 0 .4rem;font-family:var(--font-display);font-size:1.55rem}.install-main .lead{margin:0 0 1.4rem;color:var(--muted);line-height:1.5}.progress-bar{height:6px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden;margin-bottom:1.25rem}.progress-bar>span{display:block;height:100%;background:linear-gradient(90deg,#c99a4a,#e8d5a8);transition:width .35s ease}.check-list{display:grid;grid-gap:.65rem;gap:.65rem;margin-bottom:1.25rem}.check-item{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.85rem 1rem;border-radius:12px;border:1px solid rgba(255,255,255,.06);background:rgba(0,0,0,.18)}.check-item strong{display:block;margin-bottom:.2rem}.check-item span{color:var(--muted);font-size:.85rem}.badge{flex-shrink:0;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.3rem .55rem;border-radius:999px}.badge.ok{color:#0d2a18;background:var(--success)}.badge.fail{color:#3a0d12;background:var(--danger)}.badge.optional{color:#2a2108;background:var(--warn)}.actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.alert{padding:.9rem 1rem;border-radius:12px;margin-bottom:1rem;line-height:1.45;font-size:.95rem}.alert.error{background:rgba(224,108,117,.12);border:1px solid rgba(224,108,117,.35);color:#ffb4ba}.alert.info{background:rgba(212,175,106,.1);border:1px solid rgba(212,175,106,.28);color:var(--gold-soft)}.alert.success{background:rgba(107,203,139,.12);border:1px solid rgba(107,203,139,.3);color:#b8f0cb}.locked-panel{text-align:center;padding:3rem 1.5rem;border-radius:22px;border:1px solid var(--border);background:rgba(23,29,37,.92);box-shadow:var(--shadow)}.locked-panel h1{font-family:var(--font-display);margin:0 0 .75rem}.busy-row{display:flex;align-items:center;gap:.75rem;color:var(--muted);margin:.5rem 0 1rem}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.15);border-top:2px solid var(--gold);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:860px){.install-card{grid-template-columns:1fr}.install-aside{border-right:0;border-bottom:1px solid rgba(255,255,255,.05)}.install-steps{grid-template-columns:1fr 1fr}}@media (max-width:560px){.install-steps{grid-template-columns:1fr}}