.project-wizard {
  color: #dbe7f1;
  font-family: "Segoe UI", system-ui, sans-serif;
  text-shadow: none;
  filter: none;
}
.project-wizard strong { font-weight: 600; text-shadow: none; }
#modal-form:has(.project-wizard) .dialog-header {
  font-family: "Segoe UI", system-ui, sans-serif;
  text-shadow: none;
}
.wizard-topic { color: #9bdac1; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.wizard-name { margin-bottom: 20px; }
.wizard-intro { color: #afc1d1; line-height: 1.6; margin: 12px 0 22px; }
.wizard-progress { display: flex; align-items: center; gap: 5px; margin-bottom: 16px; }
.wizard-progress > span { height: 5px; flex: 1; border-radius: 5px; background: #293a4e; }
.wizard-progress > span.done { background: #6bab99; }
.wizard-progress > span.current { background: #b8ead9; box-shadow: 0 0 9px #85cdb54a; }
.wizard-progress > small { flex: 0 0 auto; margin-left: 9px; color: #98acbe; }
.wizard-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.wizard-option { position: relative; }
.wizard-choice { display: flex; align-items: flex-start; gap: 11px; padding: 16px 32px 16px 16px; height: 100%;
  border: 1px solid #354b61; border-radius: 12px; background: #172735; cursor: pointer; }
.wizard-choice:hover { border-color: #749aaf; background: #203543; }
.wizard-choice:has(input:checked) { border-color: #85cdb5; background: #214139; }
.wizard-choice input { width: 17px; height: 17px; margin: 3px 0 0; accent-color: #85cdb5; flex: 0 0 auto; }
.wizard-choice strong { display: block; font-size: 14px; line-height: 1.5; }
.wizard-choice small { display: block; margin-top: 5px; line-height: 1.5; color: #a9bccb; }
.wizard-choice .wizard-included { color: #a0e2c5; font-weight: 600; }
.wizard-choice:has(input:disabled) { cursor: default; }
.wizard-choice:focus-within { outline: 2px solid #a8dce9; outline-offset: 2px; }
.wizard-help { position: absolute; right: 9px; top: 10px; z-index: 2; }
.wizard-help button {
  display: grid; place-items: center; width: 19px; height: 19px; border: 1px solid #738c9d;
  padding: 0; border-radius: 50%; color: #bbd5df; font-size: 11px; font-weight: 600; cursor: help;
  background: #172735;
}
.wizard-help button:focus-visible { outline: 2px solid #a8dce9; outline-offset: 3px; }
.wizard-help-bubble {
  display: none;
  position: absolute; top: 24px; right: 0; width: min(260px, 60vw); padding: 12px;
  background: #102333; color: #e4edf4; border: 1px solid #789cac; border-radius: 7px;
  box-shadow: 0 6px 18px #0008; font-size: 12px; line-height: 1.5; font-weight: 400;
}
.wizard-help:hover .wizard-help-bubble, .wizard-help:focus-within .wizard-help-bubble,
.wizard-help[data-open="true"] .wizard-help-bubble { display: block; }
.wizard-help:hover, .wizard-help:focus-within, .wizard-help[data-open="true"] { z-index: 5; }
.wizard-note { border-left: 3px solid #85cdb5; background: #1c302f;
  padding: 12px 15px; font-size: 12px; line-height: 1.6; color: #bbd4cf; }
.wizard-bottom { display: flex; gap: 18px; align-items: center; margin-top: 24px; }
.wizard-bottom span { font-size: 11px; color: #96aabb; }
.wizard-totals { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 18px 0; }
.wizard-totals span { padding: 11px; border: 1px solid #354b61; border-radius: 8px;
  font-size: 12px; color: #a9bccb; }
.wizard-totals strong { display: block; color: #d3f2e7; font-size: 22px; }
.wizard-phase-preview { padding-left: 23px; }
.wizard-phase-preview li { margin: 13px 0; padding-left: 6px; }
.wizard-phase-preview small { display: block; margin-top: 4px; line-height: 1.5; color: #a1b4c6; }
.wizard-summary { display: grid; grid-template-columns: 110px 1fr; gap: 9px 16px; font-size: 12px; }
.wizard-summary dt { color: #93acbd; }
.wizard-summary dd { margin: 0; line-height: 1.5; }
.wizard-route-buttons { display: flex; gap: 10px; flex-wrap: wrap; }
.wizard-guide { padding: 0; list-style: none; }
.wizard-guide > li { display: flex; gap: 17px; padding: 16px 0; border-bottom: 1px solid #2b4050; }
.wizard-guide p { margin: 5px 0; font-size: 12px; line-height: 1.5; color: #a9bccb; }
.wizard-step-number { font-size: 24px; color: #80b9a6; min-width: 35px; }
@media (max-width: 620px) {
  .wizard-choices { grid-template-columns: 1fr; }
  .wizard-totals { grid-template-columns: repeat(2, 1fr); }
  .wizard-summary { grid-template-columns: 1fr; gap: 4px; }
  .wizard-summary dd { margin-bottom: 10px; }
}
