/* GlowNow upgrades #111-#125: compact launch-suite controls. */
.launch-suite-panel {
  min-width: 0;
  border: 1px solid rgba(198, 91, 139, 0.22);
  border-radius: 7px;
  background: rgba(255, 252, 253, 0.94);
  color: #2c1923;
}

.launch-suite-panel :where(h2, h3, p) { margin-top: 0; }
.launch-suite-panel :where(button, input, select, textarea) { font: inherit; }

.suite-head {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 17px 13px;
  border-bottom: 1px solid rgba(198, 91, 139, 0.15);
}

.suite-head > div { min-width: 0; }
.suite-head > svg { flex: 0 0 auto; width: 20px; color: #b94a7e; }
.suite-head h2,
.suite-head h3 { margin: 3px 0 0; font-size: 17px; font-weight: 590; line-height: 1.25; }
.suite-head p { margin: 4px 0 0; color: #806a77; font-size: 12px; line-height: 1.45; }

.suite-number {
  display: block;
  color: #a36b22;
  font-size: 10px;
  font-weight: 650;
  line-height: 1.2;
  text-transform: uppercase;
}

.suite-body { display: grid; gap: 14px; padding: 16px 17px 17px; }
.suite-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.suite-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.suite-grid > .wide { grid-column: 1 / -1; }

.suite-field,
.suite-body label:not(.suite-choice):not(.suite-check) {
  display: grid;
  min-width: 0;
  gap: 6px;
  color: #654c59;
  font-size: 12px;
  line-height: 1.3;
}

.suite-field input,
.suite-field select,
.suite-field textarea,
.suite-body label:not(.suite-choice):not(.suite-check) > :where(input, select, textarea) {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  border: 1px solid rgba(140, 76, 107, 0.24);
  border-radius: 6px;
  outline: 0;
  background: #fff;
  color: #2b1924;
  padding: 9px 11px;
}

.suite-field textarea,
.suite-body textarea { min-height: 74px; resize: vertical; }
.suite-field :where(input, select, textarea):focus,
.suite-body :where(input, select, textarea):focus { border-color: #d7508b; box-shadow: 0 0 0 3px rgba(215, 80, 139, 0.12); }

.suite-segment {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 4px;
  border: 1px solid rgba(140, 76, 107, 0.17);
  border-radius: 7px;
  background: #fff5f9;
  padding: 4px;
}

.suite-choice { position: relative; min-width: 0; overflow: hidden; }
.suite-choice input { position: absolute; opacity: 0; pointer-events: none; }
.suite-choice span {
  display: flex;
  min-width: 0;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 5px;
  color: #684e5c;
  padding: 7px 9px;
  text-align: center;
  font-size: 12px;
  line-height: 1.25;
}

.suite-choice input:checked + span {
  border-color: rgba(204, 118, 62, 0.25);
  background: linear-gradient(115deg, #fa6c9f, #efb450);
  color: #241319;
}

.launch-suite-panel .suite-check { display: flex; align-items: flex-start; gap: 9px; color: #694f5d; font-size: 12px; line-height: 1.45; }
.suite-check input { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 1px; accent-color: #d94d89; }
.suite-subsection { display: grid; gap: 10px; padding-top: 2px; }
.suite-subsection + .suite-subsection { border-top: 1px solid rgba(140, 76, 107, 0.13); padding-top: 14px; }
.suite-subsection > strong { font-size: 13px; font-weight: 590; }

.suite-guidance {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  border: 1px solid rgba(210, 158, 65, 0.25);
  border-radius: 7px;
  background: #fff9e9;
  padding: 11px;
}
.suite-guidance > svg { width: 19px; color: #b4771d; }
.suite-guidance strong { display: block; margin-bottom: 2px; font-size: 13px; font-weight: 590; }
.suite-guidance p { margin: 0; color: #705c3c; font-size: 12px; line-height: 1.45; }
.suite-guidance.is-clear { border-color: rgba(43, 151, 111, 0.22); background: #effbf7; }
.suite-guidance.is-clear > svg { color: #218764; }

.suite-action,
.suite-soft-action {
  display: inline-flex;
  min-width: 0;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid rgba(140, 76, 107, 0.24);
  border-radius: 6px;
  cursor: pointer;
  padding: 9px 13px;
  line-height: 1.2;
  text-align: center;
}
.suite-action { border-color: transparent; background: linear-gradient(115deg, #f5679c, #ecb54e); color: #26151d; }
.suite-soft-action { background: transparent; color: #5f3c50; }
.suite-action:hover,
.suite-soft-action:hover { transform: translateY(-1px); box-shadow: 0 8px 18px rgba(112, 43, 76, 0.11); }
.suite-action:disabled,
.suite-soft-action:disabled { cursor: not-allowed; opacity: 0.55; transform: none; box-shadow: none; }
.suite-action svg,
.suite-soft-action svg { width: 17px; height: 17px; }
.suite-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.suite-actions > * { flex: 1 1 140px; }

.suite-status { min-height: 17px; margin: 0; color: #806a77; font-size: 12px; line-height: 1.4; }
.suite-status[data-state="success"] { color: #197653; }
.suite-status[data-state="error"] { color: #a13948; }
.suite-status:empty { min-height: 0; }

.booking-audience-suite { margin: 15px 0; }
.booking-audience-suite [hidden] { display: none !important; }
.booking-audience-note { color: #806a77; font-size: 12px; line-height: 1.45; }

.account-launch-suite { display: grid; gap: 12px; }
.account-launch-suite .launch-suite-panel { background: #fff; }
.account-suite-list { display: grid; gap: 8px; }
.account-suite-item {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  border-bottom: 1px solid rgba(140, 76, 107, 0.12);
  padding: 0 0 9px;
}
.account-suite-item:last-child { border-bottom: 0; padding-bottom: 0; }
.account-suite-item > svg { width: 18px; color: #bd4a80; }
.account-suite-item strong { display: block; font-size: 13px; font-weight: 590; }
.account-suite-item span,
.account-suite-item small { display: block; margin-top: 2px; color: #806a77; font-size: 11px; line-height: 1.4; }
.account-suite-item > em { color: #a36b22; font-size: 11px; font-style: normal; }

.account-safety-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.account-safety-actions button { min-width: 0; min-height: 39px; font-size: 11px; padding: 7px; }
.account-safety-actions button:last-child { color: #9c304d; }

.account-translation-tool {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  margin-top: 10px;
  border-top: 1px solid rgba(140, 76, 107, 0.13);
  padding-top: 10px;
}
.account-translation-tool select { min-height: 38px; border: 1px solid rgba(140, 76, 107, 0.24); border-radius: 6px; background: #fff; color: #2b1924; padding: 7px 9px; }
.account-translation-result { grid-column: 1 / -1; margin: 0; color: #806a77; font-size: 12px; line-height: 1.45; }

.provider-suite-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 16px; }
.provider-suite-grid .launch-suite-panel { background: rgba(255, 255, 255, 0.83); }
.provider-suite-list { display: grid; gap: 7px; }
.provider-suite-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; border-bottom: 1px solid rgba(140, 76, 107, 0.12); padding-bottom: 7px; }
.provider-suite-list article:last-child { border-bottom: 0; }
.provider-suite-list strong { font-size: 12px; font-weight: 590; }
.provider-suite-list small { display: block; margin-top: 2px; color: #806a77; font-size: 10px; line-height: 1.4; }
.provider-suite-list button { width: 31px; height: 31px; border: 1px solid rgba(140, 76, 107, 0.2); border-radius: 5px; background: transparent; color: #8d3e62; }

.provider-booking-suite { margin-top: 10px; border-top: 1px solid rgba(140, 76, 107, 0.15); padding-top: 10px; }
.provider-booking-suite summary { display: flex; align-items: center; justify-content: space-between; cursor: pointer; color: #5b394b; font-size: 12px; }
.provider-booking-suite summary::marker { content: ""; }
.provider-booking-suite[open] summary { margin-bottom: 11px; }
.provider-booking-suite .suite-body { padding: 0; }
.provider-booking-suite .suite-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.admin-launch-suite { margin-bottom: 18px; }
.admin-launch-suite-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 14px; }
.admin-rehearsal-banner { display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid rgba(213, 77, 135, 0.22); border-radius: 7px; background: #fff1f7; padding: 10px 12px; }
.admin-rehearsal-banner strong { color: #a03765; font-size: 12px; font-weight: 620; }
.admin-rehearsal-steps { display: grid; gap: 6px; }
.admin-rehearsal-steps span { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 7px; color: #7a6570; font-size: 11px; }
.admin-rehearsal-steps span::before { content: ""; width: 16px; height: 16px; border: 1px solid rgba(140, 76, 107, 0.25); border-radius: 50%; }
.admin-rehearsal-steps span.done::before { border-color: #cf5488; background: #cf5488; box-shadow: inset 0 0 0 4px #fff; }
.admin-risk-list { display: grid; gap: 8px; max-height: 320px; overflow: auto; scrollbar-color: #cd5c90 #f4e7ee; }
.admin-risk-item { border: 1px solid rgba(140, 76, 107, 0.16); border-radius: 6px; padding: 10px; }
.admin-risk-item header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.admin-risk-item strong { font-size: 12px; font-weight: 590; }
.admin-risk-item header span { border-radius: 99px; background: #f8e5ee; color: #913d64; padding: 4px 7px; font-size: 10px; }
.admin-risk-item p { margin: 6px 0 0; color: #806a77; font-size: 11px; line-height: 1.4; }

.integration-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.integration-list article { display: flex; align-items: center; justify-content: space-between; gap: 9px; border: 1px solid rgba(140, 76, 107, 0.14); border-radius: 6px; padding: 8px 9px; }
.integration-list strong { font-size: 11px; font-weight: 570; }
.integration-list span { color: #806a77; font-size: 10px; }
.integration-list article.ready span { color: #197653; }

.trainer-verification-suite { margin: 0 auto 24px; max-width: 820px; }
.qualification-result { border-radius: 6px; background: #fff7fa; padding: 11px; color: #6f5663; font-size: 12px; line-height: 1.45; }
.qualification-result a { color: #a1396b; }

/* `hidden` creates a non-scrolling overflow ancestor and breaks the desktop
   booking summary's sticky position. `clip` keeps the horizontal guard without
   taking the summary out of the viewport as the form grows. */
body.launch-body,
body.launch-body main { overflow-x: clip; }

[data-theme="dark"] .launch-suite-panel,
.launch-body[data-theme="dark"] .launch-suite-panel,
.admin-page[data-theme="dark"] .launch-suite-panel {
  border-color: rgba(237, 135, 179, 0.22);
  background: #24131d;
  color: #fff4f8;
}
[data-theme="dark"] .suite-head,
[data-theme="dark"] .suite-subsection + .suite-subsection,
[data-theme="dark"] .account-translation-tool,
[data-theme="dark"] .provider-booking-suite { border-color: rgba(237, 135, 179, 0.16); }
[data-theme="dark"] .suite-head p,
[data-theme="dark"] .suite-field,
[data-theme="dark"] .suite-body label:not(.suite-choice):not(.suite-check),
[data-theme="dark"] .suite-check,
[data-theme="dark"] .suite-status,
[data-theme="dark"] .account-suite-item span,
[data-theme="dark"] .account-suite-item small,
[data-theme="dark"] .provider-suite-list small,
[data-theme="dark"] .account-translation-result { color: #cdb7c3; }
[data-theme="dark"] .suite-field :where(input, select, textarea),
[data-theme="dark"] .suite-body label:not(.suite-choice):not(.suite-check) > :where(input, select, textarea),
[data-theme="dark"] .account-translation-tool select,
[data-theme="dark"] .suite-segment { border-color: rgba(237, 135, 179, 0.2); background: #1c0e16; color: #fff4f8; }
[data-theme="dark"] .suite-choice span { color: #e6d4de; }
[data-theme="dark"] .suite-guidance { border-color: rgba(221, 177, 80, 0.28); background: #302515; }
[data-theme="dark"] .suite-guidance p { color: #ddcda8; }
[data-theme="dark"] .suite-guidance.is-clear { border-color: rgba(76, 192, 147, 0.28); background: #152a24; }
[data-theme="dark"] .suite-soft-action { border-color: rgba(237, 135, 179, 0.22); color: #f5dce8; }
[data-theme="dark"] .account-launch-suite .launch-suite-panel,
[data-theme="dark"] .provider-suite-grid .launch-suite-panel { background: #24131d; }
[data-theme="dark"] .admin-rehearsal-banner { border-color: rgba(237, 135, 179, 0.22); background: #301521; }
[data-theme="dark"] .admin-rehearsal-steps span.done::before { box-shadow: inset 0 0 0 4px #24131d; }
[data-theme="dark"] .admin-risk-list { scrollbar-color: #b95c87 #1b0d15; }
[data-theme="dark"] .admin-risk-item header span { background: #3b1a2a; color: #f2adc9; }
[data-theme="dark"] .qualification-result { background: #1c0e16; color: #d3bec9; }

@media (max-width: 900px) {
  .provider-suite-grid { grid-template-columns: 1fr; }
  .admin-launch-suite-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .suite-head { padding: 14px 14px 11px; }
  .suite-body { padding: 14px; }
  .suite-grid,
  .suite-grid.three,
  .provider-booking-suite .suite-grid { grid-template-columns: 1fr; }
  .suite-segment { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
  .suite-choice span { min-height: 36px; padding-inline: 6px; font-size: 11px; }
  .booking-readiness-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .account-safety-actions { grid-template-columns: 1fr; }
  .account-translation-tool { grid-template-columns: 1fr; }
  .account-translation-result { grid-column: auto; }
  .account-suite-item { grid-template-columns: 24px minmax(0, 1fr); }
  .account-suite-item > em { grid-column: 2; }
  .integration-list { grid-template-columns: 1fr; }
  .suite-actions > * { flex-basis: 100%; }
}
