.storage-config-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; }
.storage-config-summary > div { display: grid; gap: .35rem; padding: 1rem; border: 1px solid var(--line); border-radius: .65rem; background: #f8fbfa; }
.storage-config-summary strong { font-size: 1.15rem; }
.storage-config-label, .storage-wizard-eyebrow { text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; font-weight: 700; color: var(--muted); }
#storageConfigurationBtn, #storageWizardNextBtn { background: var(--primary); color: white; border-color: var(--primary-dark); }
#storageConfigurationBtn:disabled, #storageWizardNextBtn:disabled { opacity: .55; }
.storage-wizard-dialog { width: min(760px, calc(100vw - 2rem)); max-width: none; max-height: calc(100dvh - 2rem); padding: 0; border: 1px solid var(--line-strong); border-radius: 1rem; color: var(--ink); box-shadow: 0 24px 90px #122c3840; overflow: auto; }
.storage-wizard-dialog::backdrop { background: #142d3bb3; }
.storage-wizard-shell { background: var(--surface); }
.storage-wizard-header { padding: 1.5rem 1.75rem 1rem; background: #f4faf8; border-bottom: 1px solid var(--line); }
.storage-wizard-header h2 { margin: .3rem 0 .5rem; font-size: 1.6rem; }
.storage-wizard-header p { margin: 0; color: var(--muted); line-height: 1.45; }
.storage-wizard-steps { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; padding: 1rem 1.75rem; margin: 0; border-bottom: 1px solid var(--line); }
.storage-wizard-steps li { display: flex; align-items: center; gap: .5rem; color: var(--muted); font-size: .85rem; }
.storage-wizard-steps li > span { border: 1px solid var(--line-strong); border-radius: 50%; height: 1.6rem; width: 1.6rem; display: grid; place-items: center; flex: 0 0 auto; }
.storage-wizard-steps li.reached { color: var(--primary-dark); font-weight: 600; }
.storage-wizard-steps li.reached > span { background: var(--primary); color: white; border-color: var(--primary); }
.storage-wizard-content { padding: 1.25rem 1.75rem; }
.storage-wizard-content h3 { margin: 0 0 .8rem; }
.storage-wizard-intro { color: var(--muted); line-height: 1.5; }
.storage-layout-options { display: grid; gap: .75rem; margin: 1rem 0; padding: 0; border: 0; }
.storage-layout-options legend.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.storage-layout-option { display: flex; align-items: flex-start; gap: .8rem; border: 1px solid var(--line-strong); border-radius: .7rem; padding: 1rem; cursor: pointer; }
.storage-layout-option.selected { border-color: var(--primary); background: #f1faf6; box-shadow: inset 0 0 0 1px var(--primary); }
.storage-layout-option.unavailable { color: var(--muted); background: #f5f6f7; cursor: default; }
.storage-layout-option input { width: auto; margin: .3rem 0 0; accent-color: var(--primary); flex: 0 0 auto; }
.storage-layout-option > span { display: grid; gap: .4rem; line-height: 1.4; min-width: 0; }
.storage-layout-option strong { font-size: 1rem; }
.storage-layout-tag { display: inline-block; font-size: .7rem; font-weight: 600; color: var(--primary-dark); background: #d8eee3; border-radius: 1rem; padding: .15rem .45rem; margin-left: .35rem; }
.storage-impact-note { padding: .9rem 1rem; border-left: 3px solid var(--primary); background: #f5f8fa; border-radius: 0 .5rem .5rem 0; font-size: .88rem; line-height: 1.5; }
.storage-impact-note p { margin: .35rem 0 0; }
.storage-legacy-select { display: grid; gap: .5rem; margin: 1rem 0; }
.storage-readiness { padding: 0; margin: 1rem 0; list-style: none; }
.storage-readiness-item { display: flex; gap: .75rem; padding: .75rem 0; border-bottom: 1px solid var(--line); }
.storage-readiness-item > span { width: 1.45rem; height: 1.45rem; flex: 0 0 auto; border-radius: 50%; background: #dff1e7; color: var(--ok); text-align: center; font-weight: 700; }
.storage-readiness-item.blocked > span { background: #fff0d8; color: #8b570b; }
.storage-readiness-item p { margin: .3rem 0 0; font-size: .85rem; line-height: 1.45; color: var(--muted); overflow-wrap: anywhere; }
.storage-review { margin: 0 0 1.2rem; }
.storage-review > div { display: grid; grid-template-columns: 9rem 1fr; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--line); font-size: .9rem; line-height: 1.45; }
.storage-review dt { color: var(--muted); }
.storage-review dd { margin: 0; font-weight: 500; }
.storage-wizard-confirmations { display: grid; gap: .9rem; padding: 1rem; background: #fff9ec; border: 1px solid #e9d7b5; border-radius: .6rem; }
.storage-wizard-confirmations .check-line { display: flex; align-items: flex-start; gap: .65rem; line-height: 1.5; }
.storage-wizard-confirmations input { flex: 0 0 auto; margin-top: .3rem; accent-color: var(--primary); }
.storage-wizard-actions { position: sticky; bottom: 0; display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: 1rem 1.75rem; border-top: 1px solid var(--line); background: var(--surface); }
.storage-wizard-actions button { min-height: 2.6rem; }
#storageWizardCancelBtn, #storageWizardBackBtn, #storageReadinessRefreshBtn { color: var(--primary-dark); background: white; border-color: var(--line-strong); }
.storage-wizard-feedback { padding: .8rem; color: var(--error); background: #fff0ed; border: 1px solid #ecc4ba; border-radius: .5rem; overflow-wrap: anywhere; line-height: 1.5; }
.storage-wizard-success { text-align: center; padding: 1rem .5rem; line-height: 1.6; }
.storage-wizard-success > span { display: inline-grid; place-items: center; background: #dff1e7; color: var(--ok); border-radius: 50%; width: 3rem; height: 3rem; font-size: 1.5rem; margin-bottom: 1rem; }
@media (max-width: 600px) {
  .storage-config-summary { grid-template-columns: 1fr; }
  #storageConfigurationPanel .panel-heading { align-items: flex-start; flex-direction: column; }
  .storage-wizard-dialog { width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); border-radius: .7rem; }
  .storage-wizard-header, .storage-wizard-content { padding: 1rem; }
  .storage-wizard-steps { padding: .8rem 1rem; gap: .25rem; }
  .storage-wizard-steps li { font-size: .75rem; gap: .3rem; }
  .storage-wizard-actions { padding: .75rem 1rem; }
  .storage-review > div { grid-template-columns: 1fr; gap: .2rem; }
  .storage-layout-tag { margin: .25rem 0 0; }
}
