/* Guided setup stays within the workspace palette in both themes. */
.dashboard-page .onboarding-card {
  --onboarding-soft: #f4f8fe;
  --onboarding-blue-soft: #edf5ff;
  --onboarding-success-bg: #edf8f2;
  --onboarding-success-ink: #216044;
  --onboarding-success-border: #c4e3d3;
  --onboarding-warning-bg: #fff8ec;
  --onboarding-warning-ink: #80541c;
  --onboarding-warning-border: #e9d6b2;
  margin-bottom: 24px;
  padding: 0;
  overflow: hidden;
  min-width: 0;
  background: var(--panel, #fff);
  border: 1px solid var(--line, #dce7f3);
  border-radius: 16px;
  color: var(--ink, #17324e);
  box-shadow: 0 5px 24px #17324e05;
  scroll-margin-top: 28px;
}
.onboarding-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 25px 28px 22px;
}
.onboarding-header > div {min-width: 0;}
.onboarding-eyebrow {
  display: block;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.7;
  color: var(--accent, #177bd5);
  margin: 0 0 7px;
}
.onboarding-header h2 {margin: 0; font-size: 22px; line-height: 1.5; letter-spacing: -.3px; color: var(--ink, #17324e);}
.onboarding-header p {margin: 8px 0 0; font-size: 14px; line-height: 1.85; color: var(--muted, #526a83); max-width: 720px;}
.onboarding-header > .btn {flex: none;}
.onboarding-header > .onboarding-status {flex: none; max-width: 280px; margin: 0; padding: 8px 12px; font-size: 13px; font-weight: 500;}
.onboarding-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  gap: 0;
  margin: 0;
  padding: 0 28px 22px;
}
.onboarding-progress > li {
  display: flex;
  align-items: center;
  position: relative;
  gap: 11px;
  min-width: 0;
  padding: 12px 18px 12px 0;
  color: var(--muted, #526a83);
}
.onboarding-progress > li:not(:first-child) {padding-left: 18px; border-left: 1px solid var(--line, #dce7f3);}
.onboarding-step-number {display: grid; place-items: center; width: 34px; height: 34px; flex: none; background: var(--onboarding-soft); border: 1px solid var(--line, #dce7f3); color: var(--muted, #526a83); border-radius: 50%; font-size: 14px; font-weight: 600;}
.onboarding-step-copy {display: grid; gap: 2px; min-width: 0; font-size: 14px; font-weight: 500; line-height: 1.65; overflow-wrap: anywhere;}
.onboarding-step-copy strong {font-size: 14px; font-weight: 600; color: inherit;}
.onboarding-step-copy small {font-size: 12px; font-weight: 400; color: var(--muted, #526a83); line-height: 1.65;}
.onboarding-progress > li[data-state="current"] {color: var(--ink, #17324e);}
.onboarding-progress > li[data-state="current"] .onboarding-step-number {background: var(--onboarding-blue-soft); border-color: var(--accent, #177bd5); color: var(--accent, #177bd5); box-shadow: 0 0 0 3px var(--onboarding-blue-soft);}
.onboarding-progress > li[data-state="done"] {color: var(--onboarding-success-ink);}
.onboarding-progress > li[data-state="done"] .onboarding-step-number {background: var(--onboarding-success-bg); border-color: var(--onboarding-success-border); color: var(--onboarding-success-ink);}
.onboarding-body {display: grid; grid-template-columns: minmax(0, 1fr) minmax(235px, .42fr); gap: 26px; padding: 25px 28px 28px; border-top: 1px solid var(--line, #dce7f3);}
.onboarding-body > * {min-width: 0;}
.onboarding-body h3 {margin: 0 0 8px; font-size: 17px; line-height: 1.6; color: var(--ink, #17324e);}
.onboarding-body p {font-size: 14px; line-height: 1.85; color: var(--muted, #526a83); overflow-wrap: anywhere;}
.onboarding-body > main > p:first-of-type {margin-top: 0;}
.onboarding-body .field {margin-bottom: 18px;}
.onboarding-body .field :is(input, select, textarea) {min-height: 44px;}
.onboarding-body .field small {display: block; font-size: 13px; line-height: 1.8; margin-top: 7px;}
.onboarding-summary {align-self: start; padding: 19px 20px; background: var(--onboarding-soft); border: 1px solid var(--line, #dce7f3); border-radius: 12px;}
.onboarding-summary h3 {font-size: 15px; margin: 0 0 13px;}
.onboarding-summary p {font-size: 13px; line-height: 1.85; margin: 8px 0;}
.onboarding-summary dl {display: grid; gap: 0; margin: 0;}
.onboarding-summary dl > div {padding: 11px 0; border-bottom: 1px solid var(--line, #dce7f3); min-width: 0;}
.onboarding-summary dl > div:first-child {padding-top: 0;}
.onboarding-summary dl > div:last-child {padding-bottom: 0; border-bottom: 0;}
.onboarding-summary dt {font-size: 12px; color: var(--muted, #526a83); line-height: 1.7;}
.onboarding-summary dd {margin: 4px 0 0; font-size: 14px; font-weight: 500; color: var(--ink, #17324e); line-height: 1.75; overflow-wrap: anywhere;}
.onboarding-summary > .btn {display: flex; width: 100%; margin-top: 12px; justify-content: center;}
.onboarding-status {display: flex; align-items: flex-start; gap: 10px; padding: 13px 15px; margin: 0 0 18px; font-size: 14px; line-height: 1.85; background: var(--onboarding-blue-soft); border: 1px solid var(--line, #dce7f3); border-radius: 10px; color: var(--ink, #17324e); overflow-wrap: anywhere;}
.onboarding-status strong {font-size: 14px; font-weight: 600; color: inherit;}
.onboarding-status p {font-size: 13px; line-height: 1.8; color: inherit; margin: 4px 0 0;}
.onboarding-status[data-status="pass"] {background: var(--onboarding-success-bg); border-color: var(--onboarding-success-border); color: var(--onboarding-success-ink);}
.onboarding-status[data-status="fail"] {background: var(--onboarding-warning-bg); border-color: var(--onboarding-warning-border); color: var(--onboarding-warning-ink);}
.onboarding-actions {display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 22px;}
.onboarding-card .btn {min-height: 44px; line-height: 1.65; text-align: center; white-space: normal; overflow-wrap: anywhere;}
.onboarding-actions .btn {padding: 10px 16px;}
.onboarding-actions > small {font-size: 13px; line-height: 1.8; color: var(--muted, #526a83);}
.onboarding-card .btn:disabled {cursor: not-allowed;}
.onboarding-card[aria-busy="true"] .btn:disabled {cursor: wait;}
.onboarding-permissions {display: grid; gap: 10px; margin: 18px 0 0;}
.onboarding-body > .onboarding-permissions {margin: 0; align-content: start;}
.onboarding-permissions > .onboarding-hint:first-child {margin-top: 0;}
.onboarding-permissions > .onboarding-actions {margin-top: 12px;}
.onboarding-task {border: 1px solid var(--line, #dce7f3); border-radius: 11px; min-width: 0; background: var(--panel, #fff); overflow: hidden;}
.onboarding-task > summary {display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 13px 15px; cursor: pointer; list-style: none; color: var(--ink, #17324e); transition: background-color .15s ease;}
.onboarding-task > summary::-webkit-details-marker {display: none;}
.onboarding-task > summary::after {content: ""; display: block; flex: none; width: 7px; height: 7px; margin: 0 2px 4px 3px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); color: var(--muted, #526a83); transition: transform .15s ease;}
.onboarding-task[open] > summary::after {transform: rotate(225deg); margin-bottom: 0;}
.onboarding-task > summary:hover {background: var(--onboarding-soft);}
.onboarding-task[open] > summary {border-bottom: 1px solid var(--line, #dce7f3);}
.onboarding-task-title {font-size: 14px; font-weight: 600; line-height: 1.75; min-width: 0; flex: 1; overflow-wrap: anywhere;}
.onboarding-task-title small {display: block; color: var(--muted, #526a83); font-size: 13px; font-weight: 400;}
.onboarding-task-state {flex: none; margin-left: auto; padding: 3px 9px; border-radius: 6px; font-size: 12px; line-height: 1.75; font-weight: 500; color: var(--muted, #526a83); background: var(--onboarding-soft);}
.onboarding-task[data-status="pass"] .onboarding-task-state, .onboarding-task-state[data-status="pass"] {background: var(--onboarding-success-bg); color: var(--onboarding-success-ink);}
.onboarding-task[data-status="fail"] .onboarding-task-state, .onboarding-task-state[data-status="fail"] {background: var(--onboarding-warning-bg); color: var(--onboarding-warning-ink);}
.onboarding-task-body {padding: 17px 18px 19px;}
.onboarding-task-body > p:first-child {margin-top: 0;}
.onboarding-task-body > :last-child {margin-bottom: 0;}
.onboarding-instructions {display: grid; gap: 10px; margin: 13px 0; padding-left: 25px; color: var(--text, #17324e); font-size: 14px; line-height: 1.9;}
.onboarding-instructions li {padding-left: 3px; overflow-wrap: anywhere;}
.onboarding-instructions li::marker {color: var(--accent, #177bd5); font-weight: 600;}
.onboarding-location {display: flex; align-items: center; gap: 7px; flex-wrap: wrap; padding: 10px 12px; margin: 12px 0; border: 1px solid var(--line, #dce7f3); border-radius: 8px; background: var(--onboarding-soft); color: var(--text, #17324e); font-size: 13px; line-height: 1.8; overflow-wrap: anywhere;}
.onboarding-location code {font-family: inherit; font-size: inherit; white-space: normal; background: transparent; color: inherit; padding: 0; overflow-wrap: anywhere;}
.onboarding-hint {font-size: 13px; line-height: 1.85; color: var(--muted, #526a83); padding: 12px 14px; margin: 14px 0 0; background: var(--onboarding-soft); border-left: 3px solid var(--accent, #177bd5); border-radius: 0 8px 8px 0; overflow-wrap: anywhere;}
.onboarding-card > .onboarding-hint {margin: 0 28px 28px;}
.onboarding-hint a, .onboarding-task-body a:not(.btn), .onboarding-summary a:not(.btn) {color: var(--accent, #177bd5); text-decoration: underline; text-underline-offset: 3px;}
.onboarding-empty {padding: 22px 18px; border: 1px dashed var(--line, #dce7f3); border-radius: 11px; background: var(--onboarding-soft); text-align: center; color: var(--muted, #526a83); font-size: 14px; line-height: 1.9; overflow-wrap: anywhere;}
.onboarding-card :is(button, a, input, select, textarea, summary):focus-visible {outline: 3px solid var(--accent, #177bd5); outline-offset: 3px;}
.onboarding-task > summary:focus-visible {outline-offset: -3px; border-radius: 10px;}
.onboarding-card :is(button, a, summary) {touch-action: manipulation;}
.onboarding-card [hidden] {display: none !important;}
.onboarding-audit {margin: 0 0 24px; border: 1px solid var(--line, #dce7f3); border-radius: 12px; background: var(--panel, #fff); color: var(--text, #17324e); overflow: hidden;}
.onboarding-audit > summary {display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 48px; margin: 0; padding: 12px 18px; list-style: none; color: var(--muted, #526a83); font-size: 14px; font-weight: 500; line-height: 1.75; cursor: pointer; touch-action: manipulation; overflow-wrap: anywhere;}
.onboarding-audit > summary::-webkit-details-marker {display: none;}
.onboarding-audit > summary::after {content: ""; display: block; flex: none; width: 7px; height: 7px; margin: 0 2px 4px 0; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg);}
.onboarding-audit[open] > summary::after {transform: rotate(225deg); margin-bottom: 0;}
.onboarding-audit > summary:hover {background: var(--panel-soft, #f4f8fe); color: var(--ink, #17324e);}
.onboarding-audit > summary:focus-visible {outline: 3px solid var(--accent, #177bd5); outline-offset: -3px; border-radius: 11px;}
.dashboard-page .onboarding-audit > .readiness-card {margin: 0; border: 0; border-top: 1px solid var(--line, #dce7f3); border-radius: 0; box-shadow: none;}
html[data-theme="dark"] .onboarding-card {
  --onboarding-soft: var(--panel-soft, #1a2533);
  --onboarding-blue-soft: var(--blue-soft, #1a2e48);
  --onboarding-success-bg: var(--success-soft, #112922);
  --onboarding-success-ink: var(--success-ink, #96dbbc);
  --onboarding-success-border: var(--success-border, #2b5144);
  --onboarding-warning-bg: var(--warning-soft, #2b2418);
  --onboarding-warning-ink: var(--warning-ink, #ecd092);
  --onboarding-warning-border: var(--warning-border, #604c2b);
  box-shadow: 0 5px 24px #0000000a;
}
@media (max-width: 1000px) {
  .onboarding-body {grid-template-columns: minmax(0, 1fr); gap: 22px;}
  .onboarding-summary dl {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 22px;}
  .onboarding-summary dl > div {padding: 0; border-bottom: 0;}
}
@media (max-width: 700px) {
  .dashboard-page .onboarding-card {border-radius: 13px;}
  .onboarding-header {padding: 20px 19px 16px; flex-direction: column; gap: 14px;}
  .onboarding-header h2 {font-size: 20px;}
  .onboarding-header p {font-size: 14px; margin-top: 6px;}
  .onboarding-header > .btn {width: 100%;}
  .onboarding-header > .onboarding-status {max-width: 100%;}
  .onboarding-progress {padding: 0 19px 18px;}
  .onboarding-progress > li {padding: 9px 10px 9px 0; gap: 8px; align-items: flex-start;}
  .onboarding-progress > li:not(:first-child) {padding-left: 10px;}
  .onboarding-step-number {width: 28px; height: 28px; font-size: 12px;}
  .onboarding-step-copy, .onboarding-step-copy strong {font-size: 13px; line-height: 1.7;}
  .onboarding-step-copy small {font-size: 12px;}
  .onboarding-body {padding: 20px 19px;}
  .onboarding-card > .onboarding-hint {margin: 0 19px 20px;}
  .onboarding-body .field :is(input, select, textarea) {font-size: 16px;}
  .onboarding-actions {gap: 9px;}
  .onboarding-actions .btn {flex: 1 1 180px;}
  .onboarding-actions > small {flex-basis: 100%;}
  .onboarding-task > summary {padding: 12px; gap: 9px;}
  .onboarding-task-body {padding: 15px 13px 17px;}
  .onboarding-task-title {font-size: 14px;}
  .onboarding-task-state {max-width: 90px; text-align: center; white-space: normal;}
  .onboarding-summary {padding: 16px;}
}
@media (max-width: 480px) {
  .onboarding-progress {grid-template-columns: minmax(0, 1fr); gap: 0;}
  .onboarding-progress > li, .onboarding-progress > li:not(:first-child) {padding: 9px 0; border-left: 0; gap: 12px; align-items: center;}
  .onboarding-step-copy {grid-template-columns: minmax(0, 1fr); gap: 0;}
  .onboarding-step-number {width: 30px; height: 30px;}
  .onboarding-summary dl {grid-template-columns: minmax(0, 1fr); gap: 13px;}
  .onboarding-task-title small {font-size: 12px;}
  .onboarding-status {padding: 12px;}
}
@media (prefers-reduced-motion: reduce) {
  .onboarding-card *, .onboarding-card *::before, .onboarding-card *::after {scroll-behavior: auto !important; animation: none !important; transition: none !important;}
}
