/* The setup wizard uses the same fixed shell and compact, readable controls. */
body.solo-installer { height:100vh; height:100dvh; display:flex; flex-direction:column; overflow:hidden; }
.solo-setup-header,.solo-setup-footer { flex:0 0 auto; padding:10px 3vw; background:var(--panel-muted); }
.solo-setup-header { display:flex; justify-content:space-between; flex-wrap:wrap; gap:4px 16px; }
.solo-setup-footer { padding-block:5px; }
.solo-setup-main { flex:1; min-height:0; overflow-y:auto; overflow-x:hidden; padding:12px 3vw; }
.solo-setup-card { width:100%; max-width:1150px; margin:0 auto; padding:16px 20px; }
.solo-setup-card h1 { --animate-duration:300ms; font-size:1.6rem; }
.solo-setup-card h2 { font-size:1.25rem; margin-block:10px 5px; }
.solo-setup-card p { margin:6px 0; }
.solo-setup-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 12px; }
.solo-setup-grid > div { min-width:0; }
.solo-setup-grid label { margin:2px 0; }
.solo-setup-grid input { width:100%; }
.solo-setup-grid .field-help { line-height:1.3; }
.solo-setup-actions { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; margin-top:12px; }
.solo-setup-actions .button { min-width:9rem; }
.solo-setup-error,.solo-setup-success { padding:10px 12px; border-radius:5px; }
.solo-setup-error { background:#fbe8eb; color:#6c2835; }
.solo-setup-success { background:#e4f4e8; color:#234a30; }
.solo-requirements { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2px 12px; padding:8px 0; list-style:none; }
.solo-proof { background:var(--panel-muted); border-radius:5px; padding:10px; overflow-wrap:anywhere; }
.solo-proof code { font-size:1.05rem; }
.solo-review { display:grid; gap:5px; }
.solo-review > div { display:grid; grid-template-columns:10rem minmax(0,1fr); gap:10px; }
.solo-review dd { margin:0; overflow-wrap:anywhere; }
.solo-cron-command { padding:10px; background:var(--panel-muted); white-space:pre-wrap; overflow-wrap:anywhere; font:1rem/1.4 monospace; }
@media(max-width:850px) { .solo-setup-grid,.solo-requirements { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px) { .solo-setup-grid,.solo-requirements { grid-template-columns:1fr; }.solo-review > div { grid-template-columns:1fr; gap:0; }.solo-setup-header span { width:100%; } }

/* Native page navigation has no measurable percentage, so show an indeterminate bar. */
.solo-opening-status { margin-top:12px; padding:12px 16px; border-left:4px solid var(--accent-ink); border-radius:4px; background:var(--paper); color:var(--ink); }
.solo-opening-status p { font-size:1.125rem; font-style:normal; font-weight:500; line-height:1.5; }
.solo-opening-progress { display:block; width:100%; height:12px; margin-top:8px; accent-color:var(--accent-ink); }
.solo-opening-progress[hidden] { display:none; }
.solo-opening-status > a { display:inline-block; margin-top:6px; font-weight:600; }
.solo-opening-status > a[hidden] { display:none; }
