.install-shell { width: min(900px, calc(100% - 2rem)); margin: 2rem auto 4rem; }
.install-shell h1 { margin-bottom: .25rem; }
.install-subtitle { margin-top: 0; color: #52606d; }
.checks { list-style: none; padding: 0; margin: 1.5rem 0; }
.checks li { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem .8rem; border-bottom: 1px solid #d9e2ec; }
.checks .pass { color: #1f6f43; font-weight: 700; }
.checks .fail { color: #a12622; font-weight: 700; }
fieldset { border: 1px solid #d9e2ec; border-radius: .5rem; margin: 1.25rem 0; padding: 1rem; }
legend { font-weight: 800; padding: 0 .35rem; }
label { display: block; font-weight: 700; margin-top: .9rem; }
input, select { width: 100%; max-width: 100%; padding: .7rem; border: 1px solid #9fb3c8; border-radius: .35rem; font: inherit; background: #fff; }
.help { color: #52606d; font-size: .9rem; margin-top: .25rem; }
.alert { padding: 1rem; border-radius: .45rem; margin: 1rem 0; }
.alert-error { background: #fff1f0; border: 1px solid #f3b7b3; color: #7e1f1b; }
.alert-success { background: #eefbf3; border: 1px solid #a7d8b9; color: #155b35; }
.alert-warning { background: #fff9e8; border: 1px solid #f2d184; color: #704700; }
button { cursor: pointer; background: #173f6b; color: #fff; border: 0; border-radius: .4rem; padding: .8rem 1.1rem; font: inherit; font-weight: 800; }
button[disabled] { opacity: .55; cursor: not-allowed; }
code { overflow-wrap: anywhere; }
.install-key { display: block; background: #0f172a; color: #f8fafc; padding: 1rem; border-radius: .4rem; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .95rem; word-break: break-all; }
