:root {
  color-scheme: dark;
  --bg: #05000d;
  --bg-2: #130022;
  --panel: rgba(19, 0, 34, 0.94);
  --panel-2: rgba(255, 255, 255, 0.045);
  --line: rgba(255, 196, 0, 0.18);
  --text: #fff7e5;
  --muted: #cdb4dc;
  --soft: #f5e7ff;
  --purple: #9b2cff;
  --purple-2: #d77cff;
  --gold: #ffc400;
  --gold-2: #fff2a8;
  --danger: #ff9a9a;
  --shadow: 0 18px 54px rgba(0, 0, 0, 0.42);
  --radius: 18px;
}

/* Audit questionnaire and administrator workspace */
.admin-questionnaires-entry {
  flex: 0 0 auto;
  border: 1px solid rgba(74, 57, 37, .24);
  border-radius: 999px;
  padding: 9px 14px;
  background: rgba(255, 255, 255, .72);
  color: #35291d;
  font: inherit;
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
}

.workspace-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: max(14px, env(safe-area-inset-top)) 12px max(14px, env(safe-area-inset-bottom));
  background: rgba(20, 17, 14, .66);
  backdrop-filter: blur(10px);
}

.workspace-modal.hidden { display: none; }

.workspace-modal-panel {
  width: min(720px, 100%);
  max-height: calc(var(--app-height, 100vh) - 28px);
  overflow: auto;
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 24px;
  padding: 22px;
  background: #fbf8f2;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .28);
  color: #2f281f;
  color-scheme: light;
}

.workspace-modal-panel .deck-product-role {
  display: inline-flex;
  padding: 6px 10px;
  border: 1px solid #dcc79e;
  border-radius: 999px;
  background: #fff4d8;
  color: #65471e;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .06em;
}

.workspace-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}

.workspace-modal-head h2 { margin: 5px 0 0; }

.workspace-modal-close {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border: 0;
  border-radius: 50%;
  background: rgba(60, 47, 33, .08);
  color: #392e23;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.workspace-modal-intro {
  margin: 0 0 20px;
  color: #665a4d;
  line-height: 1.55;
}

.workspace-form {
  display: grid;
  gap: 17px;
}

.workspace-form > label:not(.workspace-consent) {
  display: grid;
  gap: 7px;
  font-weight: 720;
}

.workspace-form label small {
  color: #756a5e;
  font-size: 13px;
  font-weight: 450;
  line-height: 1.45;
}

.workspace-form textarea,
.workspace-form select,
.admin-questionnaires-toolbar select,
.admin-questionnaire-actions input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(72, 57, 41, .2);
  border-radius: 14px;
  padding: 13px 14px;
  background: #fff;
  color: #2f281f;
  font: inherit;
}

.workspace-form textarea { resize: vertical; min-height: 82px; }
.workspace-form textarea:focus,
.workspace-form select:focus,
.admin-questionnaire-actions input:focus {
  outline: 2px solid rgba(176, 129, 65, .32);
  border-color: #a8793d;
}

.audit-priority-field {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.audit-priority-field legend {
  margin: 0 0 9px;
  padding: 0;
  color: #2f281f;
  font-weight: 720;
}

.audit-priority-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.audit-priority-option {
  min-height: 52px;
  padding: 11px 13px;
  border: 1px solid rgba(72, 57, 41, .2);
  border-radius: 14px;
  color: #34291e;
  background: #fff;
  font: inherit;
  font-weight: 740;
  line-height: 1.3;
  text-align: left;
  touch-action: manipulation;
}

.audit-priority-option.selected {
  border-color: #6c431e;
  color: #fff;
  background: #6c431e;
  box-shadow: 0 0 0 2px rgba(176, 129, 65, .18);
}

.audit-priority-option:focus-visible {
  outline: 3px solid rgba(176, 129, 65, .32);
  outline-offset: 2px;
}

@media (max-width: 520px) {
  .audit-priority-options { grid-template-columns: 1fr; }
}

.workspace-consent {
  display: grid;
  grid-template-columns: 22px 1fr;
  align-items: start;
  gap: 10px;
  padding: 14px;
  border-radius: 14px;
  background: rgba(176, 129, 65, .08);
  font-size: 13px;
  line-height: 1.5;
  cursor: pointer;
}

.workspace-consent input {
  width: 22px;
  height: 22px;
  margin: 1px 0 0;
  -webkit-appearance: none;
  appearance: none;
  display: grid;
  place-content: center;
  border: 2px solid #765c3c;
  border-radius: 6px;
  background: #fff;
  color: #fff;
  cursor: pointer;
}
.workspace-consent input::before {
  content: '✓';
  font-size: 16px;
  font-weight: 950;
  line-height: 1;
  transform: scale(0);
  transition: transform .12s ease;
}
.workspace-consent input:checked {
  border-color: #553617;
  background: #553617;
}
.workspace-consent input:checked::before { transform: scale(1); }
.workspace-consent input:focus-visible {
  outline: 3px solid rgba(169, 116, 47, .32);
  outline-offset: 3px;
}
.workspace-status { min-height: 20px; margin: 0; color: #665a4d; font-size: 13px; }
.workspace-status.error { color: #a62d2d; }
.workspace-status.success { color: #25703a; }

.audit-slot-picker,
.audit-appointment-card {
  display: grid;
  gap: 12px;
  padding: 15px;
  border: 1px solid rgba(72, 57, 41, .16);
  border-radius: 16px;
  background: #fff;
}
.audit-slot-picker.hidden,
.audit-appointment-card.hidden { display: none; }
.audit-slot-picker-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.audit-slot-picker-head strong,
.audit-slot-picker-head small,
.audit-appointment-card > span,
.audit-appointment-card > strong { display: block; }
.audit-slot-picker-head small { margin-top: 5px; color: #756a5e; line-height: 1.4; }
.audit-timezone-control { min-width: 132px; display: grid; gap: 4px; }
.audit-timezone-control > span { color: #756a5e; font-size: 10px; font-weight: 750; }
.audit-timezone-control select {
  max-width: 168px;
  min-height: 36px;
  padding: 6px 27px 6px 9px;
  border: 1px solid rgba(100, 70, 32, .22);
  border-radius: 10px;
  color: #5a3e1b;
  background: #fffaf1;
  font: 750 12px/1.2 system-ui, sans-serif;
}
.audit-slot-days { display: grid; gap: 12px; }
.audit-slot-day { padding-top: 10px; border-top: 1px solid rgba(72, 57, 41, .1); }
.audit-slot-day h3 { margin: 0 0 8px; font-size: 14px; text-transform: capitalize; }
.audit-slot-buttons { display: flex; flex-wrap: wrap; gap: 7px; }
.audit-slot-button { border: 1px solid rgba(100, 70, 32, .24); border-radius: 10px; padding: 9px 11px; background: #fbf8f2; color: #33281d; font: inherit; cursor: pointer; }
.audit-slot-button strong,
.audit-slot-button small { display: block; }
.audit-slot-button small { margin-top: 2px; color: #756a5e; font-size: 10px; font-weight: 650; }
.audit-slot-button.selected small { color: rgba(255, 255, 255, .76); }
.audit-slot-button.selected { border-color: #7b531f; background: #7b531f; color: #fff; }
.audit-slot-navigation { display: flex; justify-content: center; gap: 10px; }
.audit-slot-arrow {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(100, 70, 32, .18);
  border-radius: 999px;
  background: transparent;
  color: #6f6255;
  font: 800 18px/1 system-ui, sans-serif;
  cursor: pointer;
}
.audit-slot-arrow:hover,
.audit-slot-arrow:focus-visible { border-color: rgba(100, 70, 32, .42); background: #fbf8f2; color: #3b2b1b; }
.audit-slot-arrow:focus-visible { outline: 3px solid rgba(169, 116, 47, .22); outline-offset: 2px; }
.audit-slot-arrow:disabled { opacity: .24; cursor: default; background: transparent; }
.audit-no-slots { margin: 0; color: #756a5e; line-height: 1.45; }
.audit-appointment-card { border-color: rgba(52, 119, 72, .25); background: #f5fbf6; }
.audit-appointment-card.status-no_show { border-color: rgba(166, 45, 45, .28); background: #fff4f2; }
.audit-appointment-card small { color: #756a5e; line-height: 1.45; }
.audit-admin-proposal { display: grid; gap: 8px; padding: 12px; border-radius: 12px; background: #f1e8ff; }
.audit-admin-proposal > div { display: flex; gap: 8px; }
.audit-booking-rules { border: 1px solid rgba(176, 129, 65, .18); }

.workspace-form.is-managing .audit-questionnaire-entry-only { display: none !important; }
.workspace-form .doc-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.workspace-form .doc-links a {
  min-height: 44px;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid #d8c9b7;
  border-radius: 12px;
  background: #fff;
  color: #4f3474;
  font-size: 13px;
  font-weight: 720;
  line-height: 1.3;
  text-decoration-thickness: 1px;
}

.workspace-modal-panel .deck-action {
  min-height: 50px;
  border-radius: 13px;
  font-size: 15px;
}
.workspace-modal-panel .deck-action.primary {
  border: 1px solid #e7b400;
  background: linear-gradient(135deg, #ffc719, #ffeca0);
  color: #1d1812;
}
.workspace-modal-panel .deck-action.secondary {
  border: 1px solid #553617;
  background: #553617;
  color: #fff;
}
.workspace-modal-panel .deck-action.subtle {
  border: 1px solid #cfc4b8;
  background: #fff;
  color: #44372b;
}
.workspace-modal-panel .deck-action.danger {
  border-color: #d8aaa5;
  background: #fff1ef;
  color: #9a2e2e;
}
.workspace-modal-panel .deck-action:disabled {
  border-color: #cbc5bd;
  background: #e5e1db;
  color: #716a62;
  opacity: 1;
}

.admin-workspace-panel { width: min(900px, 100%); }
.admin-workspace-tabs { display: flex; gap: 8px; margin: 14px 0; }
.admin-workspace-tabs button { border: 1px solid rgba(72, 57, 41, .16); border-radius: 999px; padding: 9px 14px; background: #fff; color: #4a3b2b; font: inherit; font-weight: 750; cursor: pointer; }
.admin-workspace-tabs button.active { background: #4a3420; color: #fff; }
.admin-calendar-toolbar { display: grid; grid-template-columns: auto auto 1fr auto auto; align-items: center; gap: 8px; }
.admin-calendar-toolbar strong { text-align: center; }
.admin-calendar-legend { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.admin-calendar-legend span { padding: 5px 8px; border-radius: 999px; background: #eee; font-size: 11px; }
.admin-calendar-legend [data-status="available"] { background: #e9f7ec; color: #216435; }
.admin-calendar-legend [data-status="blocked"] { background: #ece8e3; color: #62574c; }
.admin-calendar-legend [data-status="pending_confirmation"] { background: #fff0c9; color: #7a5200; }
.admin-calendar-legend [data-status="confirmed"] { background: #dff0ff; color: #175680; }
.admin-calendar-legend [data-status="client_reschedule_requested"] { background: #f1e4ff; color: #693699; }
.admin-calendar-grid { display: grid; grid-template-columns: repeat(6, minmax(118px, 1fr)); gap: 8px; overflow-x: auto; padding-bottom: 8px; }
.admin-calendar-day { display: grid; align-content: start; gap: 6px; min-width: 118px; }
.admin-calendar-day h3 { position: sticky; top: -1px; z-index: 1; margin: 0; padding: 8px; border-radius: 9px; background: #f2ece3; text-align: center; text-transform: capitalize; }
.admin-calendar-slot { min-height: 56px; display: grid; align-content: center; gap: 3px; border: 1px solid transparent; border-radius: 10px; padding: 7px; color: #3c3025; text-align: left; cursor: pointer; }
.admin-calendar-slot strong,
.admin-calendar-slot span { display: block; }
.admin-calendar-slot span { overflow: hidden; font-size: 10px; text-overflow: ellipsis; }
.admin-calendar-slot.status-available { border-color: #b9dfc2; background: #effaf1; }
.admin-calendar-slot.status-blocked,
.admin-calendar-slot.status-unavailable { background: #eeeae5; color: #85796d; cursor: default; }
.admin-calendar-slot.status-pending_confirmation { background: #fff1ca; }
.admin-calendar-slot.status-confirmed { background: #e0f1ff; }
.admin-calendar-slot.status-client_reschedule_requested,
.admin-calendar-slot.status-proposal { background: #f1e5ff; }
.admin-calendar-settings { margin-top: 16px; padding: 14px; border: 1px solid rgba(72, 57, 41, .14); border-radius: 14px; background: #fff; }
.admin-calendar-settings summary { cursor: pointer; font-weight: 800; }
.admin-calendar-settings-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 12px; }
.admin-calendar-settings form { display: grid; align-content: start; gap: 8px; padding: 12px; border-radius: 12px; background: #f7f3ed; }
.admin-calendar-settings h3 { margin: 0 0 4px; font-size: 14px; }
.admin-calendar-settings input,
.admin-calendar-settings select { width: 100%; box-sizing: border-box; border: 1px solid rgba(72, 57, 41, .2); border-radius: 10px; padding: 10px; background: #fff; color: #2f281f; font: inherit; }
.admin-calendar-exception { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; padding: 9px; border-radius: 10px; background: #f7f3ed; font-size: 12px; }
.admin-calendar-exception button { border: 0; background: transparent; color: #7b3b2c; cursor: pointer; text-decoration: underline; }
.deck-action.danger { color: #9a2e2e; }
.admin-questionnaires-toolbar { display: grid; grid-template-columns: 1fr auto; gap: 10px; margin: 16px 0; }
.admin-questionnaires-list { display: grid; gap: 10px; }

.admin-questionnaire-card {
  width: 100%;
  border: 1px solid rgba(72, 57, 41, .14);
  border-radius: 16px;
  padding: 14px;
  background: #fff;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.admin-questionnaire-card strong,
.admin-questionnaire-card span { display: block; }
.admin-questionnaire-card span { margin-top: 5px; color: #74695e; font-size: 13px; }
.admin-questionnaire-card p { margin: 9px 0 0; color: #50463c; line-height: 1.42; }

.admin-questionnaire-detail {
  margin-top: 14px;
  padding: 16px;
  border-radius: 18px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(72, 57, 41, .12);
}

.admin-questionnaire-detail h3 { margin: 0 0 6px; }
.admin-questionnaire-detail dl { display: grid; grid-template-columns: minmax(120px, .35fr) 1fr; gap: 8px 12px; }
.admin-questionnaire-detail dt { color: #7a6f62; }
.admin-questionnaire-detail dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.admin-questionnaire-actions { display: grid; grid-template-columns: 1fr auto auto; gap: 9px; margin-top: 15px; }
.admin-proposal-editor { grid-template-columns: minmax(0, 1fr) minmax(180px, auto); align-items: end; }
.admin-proposal-editor label { display: grid; gap: 6px; color: #594a3c; font-size: 13px; font-weight: 760; }
.crm-dashboard { display: grid; grid-template-columns: repeat(4, minmax(110px, 1fr)); gap: 10px; margin: 14px 0; }
.crm-metric { padding: 12px; border-radius: 12px; background: #f7f3ed; color: #3c3025; }
.crm-metric strong, .crm-metric span { display: block; }
.crm-metric strong { font-size: 22px; }
.crm-metric span { margin-top: 4px; color: #74695e; font-size: 11px; }
.crm-toolbar { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; margin: 12px 0; }
.crm-toolbar input, .crm-partner-form input, .crm-partner-form select, .crm-partner-form textarea, .crm-filters input, .crm-filters select { width: 100%; box-sizing: border-box; border: 1px solid rgba(72,57,41,.2); border-radius: 10px; padding: 10px; background: #fff; color: #2f281f; font: inherit; }
.crm-filters { display: grid; grid-template-columns: repeat(4, minmax(120px, 1fr)); gap: 8px; margin-bottom: 12px; }
.crm-filters label { color: #675c50; font-size: .82rem; }
.crm-layout { display: grid; grid-template-columns: minmax(250px, .8fr) minmax(320px, 1.2fr); gap: 12px; align-items: start; }
.crm-client-list, .crm-partner-list { display: grid; gap: 8px; }
.crm-client-card { width: 100%; border: 1px solid rgba(72,57,41,.12); border-radius: 11px; padding: 10px; background: #fff; color: #3c3025; text-align: left; cursor: pointer; }
.crm-client-card strong, .crm-client-card span { display: block; }
.crm-client-card span { margin-top: 4px; color: #74695e; font-size: 11px; }
.crm-partner-form { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 12px; }
.crm-scope-grid { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 7px; }
.crm-scope-grid label { display: flex; gap: 5px; align-items: center; font-size: 11px; }
.crm-partner-form button { grid-column: 1 / -1; }
.academy-settings-intro { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 14px 0; padding: 14px; border: 1px solid rgba(72,57,41,.14); border-radius: 16px; background: #fff; color: #34291e; }
.academy-settings-intro p { margin: 4px 0 0; color: #74695e; line-height: 1.4; }
.academy-settings-intro > span { flex: 0 0 auto; padding: 6px 9px; border-radius: 999px; background: #eee3f4; color: #5b3473; font-size: 11px; font-weight: 850; }
.academy-settings-form, #adminSettingsFields { display: grid; gap: 12px; color: #34291e; }
.academy-settings-form fieldset { min-width: 0; display: grid; gap: 10px; margin: 0; padding: 14px; border: 1px solid rgba(72,57,41,.14); border-radius: 16px; background: #fff; }
.academy-settings-form legend { padding: 0 6px; color: #50361f; font-size: 17px; font-weight: 900; }
.academy-settings-form label { display: grid; gap: 6px; color: #4d4034; font-size: 13px; font-weight: 750; }
.academy-settings-form input, .academy-settings-form select { width: 100%; min-height: 46px; box-sizing: border-box; border: 1px solid rgba(72,57,41,.22); border-radius: 11px; padding: 10px 11px; background: #fff; color: #2f281f; font: inherit; font-size: 16px; }
.academy-settings-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.academy-settings-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.academy-settings-check { display: flex !important; align-items: center; gap: 9px !important; padding: 10px 11px; border-radius: 12px; background: #f6f0e8; cursor: pointer; }
.academy-settings-check input { flex: 0 0 auto; width: 22px; min-height: 22px; height: 22px; padding: 0; accent-color: #553617; }
.academy-settings-note { margin: 0; padding: 10px 11px; border-radius: 12px; background: #f7f3ed; color: #675b4e; font-size: 12px; line-height: 1.45; }
.academy-series-settings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.academy-settings-card { display: grid; gap: 8px; padding: 11px; border: 1px solid rgba(72,57,41,.13); border-radius: 13px; background: #faf7f2; }
.academy-lesson-settings { display: grid; gap: 8px; }
.academy-lesson-setting { display: grid !important; grid-template-columns: minmax(180px, 1fr) auto minmax(175px, .7fr); align-items: center; gap: 9px !important; padding: 10px; border: 1px solid rgba(72,57,41,.13); border-radius: 12px; background: #faf7f2; }
.academy-lesson-setting small { display: block; margin-top: 3px; color: #74695e; font-weight: 500; }
.academy-settings-locks { padding: 13px; border: 1px solid #dbc477; border-radius: 14px; background: #fff8df; color: #4f422f; }
.academy-settings-locks p { margin: 5px 0 0; line-height: 1.45; }

@media (max-width: 620px) {
  .workspace-modal { padding-left: 0; padding-right: 0; align-items: end; }
  .workspace-modal-panel { max-height: calc(var(--app-height, 100vh) - 8px); border-radius: 24px 24px 0 0; padding: 18px 16px; }
  .admin-workspace-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-workspace-tabs button { min-width: 0; padding: 9px 8px; }
  .admin-questionnaire-detail dl { grid-template-columns: 1fr; gap: 3px; }
  .admin-questionnaire-detail dd { margin-bottom: 8px; }
  .admin-questionnaire-actions { grid-template-columns: 1fr; }
  .crm-dashboard { grid-template-columns: repeat(2, 1fr); }
  .crm-toolbar, .crm-layout, .crm-partner-form, .crm-filters { grid-template-columns: 1fr; }
  .crm-scope-grid, .crm-partner-form button { grid-column: auto; }
  .audit-admin-proposal > div { display: grid; grid-template-columns: 1fr; }
  .admin-calendar-toolbar { grid-template-columns: auto auto 1fr auto; }
  .admin-calendar-toolbar #adminCalendarRefresh { grid-column: 1 / -1; }
  .admin-calendar-grid { display: grid; grid-template-columns: 1fr; overflow: visible; }
  .admin-calendar-day { min-width: 0; }
  .admin-calendar-day h3 { position: static; text-align: left; }
  .admin-calendar-settings-grid { grid-template-columns: 1fr; }
  .admin-calendar-exception { align-items: flex-start; flex-direction: column; }
  .academy-settings-intro { align-items: flex-start; flex-direction: column; }
  .academy-settings-grid, .academy-settings-grid.two, .academy-series-settings, .academy-lesson-setting { grid-template-columns: 1fr; }
}

.ai-summary-card,
.intensive-progress-card {
  margin-top: 16px;
  padding: 18px;
  border: 1px solid rgba(255, 196, 0, 0.28);
  border-radius: 18px;
  color: var(--text);
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 124, 255, 0.13), transparent 42%),
    rgba(255, 255, 255, 0.045);
}

.ai-summary-card h3,
.intensive-progress-card h2 { margin: 6px 0 8px; }
.intensive-waiting-card {
  display: grid;
  align-content: center;
  gap: 14px;
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 196, 0, .16), transparent 44%),
    linear-gradient(145deg, rgba(48, 19, 61, .98), rgba(22, 10, 35, .98));
}
.intensive-waiting-card h2 { margin: 0; font-size: clamp(25px, 7vw, 38px); line-height: 1.08; }
.intensive-waiting-card > p { margin: 0; color: #eadff0; font-size: 16px; line-height: 1.55; }
.intensive-waiting-status,
.intensive-waiting-note {
  display: grid;
  gap: 5px;
  padding: 14px;
  border: 1px solid rgba(255, 205, 55, .3);
  border-radius: 15px;
  background: rgba(255, 255, 255, .055);
}
.intensive-waiting-status span { color: #d8bfdf; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.intensive-waiting-status strong { color: #fff2ae; font-size: 18px; }
.intensive-waiting-note { color: #c7efda; border-color: rgba(111, 221, 161, .32); background: rgba(111, 221, 161, .1); line-height: 1.45; }
.intensive-waiting-card.review { border-color: rgba(229, 108, 91, .58); }
.ai-summary-card p { white-space: pre-wrap; }
.ai-summary-meta { color: var(--muted, #716b60); font-size: 12px; }
.ai-summary-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.ai-summary-actions button { flex: 1 1 140px; }
.ai-summary-feedback textarea { width: 100%; margin-top: 10px; }
.ai-summary-feedback.saved { color: #47744a; }
.ai-consent-control {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(176, 139, 62, .2);
}
.ai-consent-control p { margin: 0 0 10px; font-size: 13px; color: var(--muted, #716b60); }

.ai-consent-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: end center;
  padding: 16px;
  background: rgba(18, 17, 15, .58);
}
.ai-consent-modal.hidden { display: none; }
.ai-consent-panel {
  width: min(100%, 520px);
  max-height: 88vh;
  overflow: auto;
  padding: 22px;
  border-radius: 24px;
  background: #fffdf8;
  box-shadow: 0 20px 70px rgba(0, 0, 0, .28);
}
.ai-consent-links { display: flex; flex-wrap: wrap; gap: 12px; margin: 12px 0; }
.ai-consent-links a { color: inherit; text-decoration: underline; }

.link-fallback-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: end center;
  padding: 16px max(12px, env(safe-area-inset-right, 0px)) max(16px, env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px));
  background: rgba(5, 0, 13, 0.78);
  backdrop-filter: blur(9px);
}

.link-fallback-modal.hidden { display: none; }

.link-fallback-panel {
  width: min(100%, 520px);
  padding: 20px;
  border: 1px solid rgba(255, 196, 0, 0.42);
  border-radius: 22px;
  color: var(--cream, #fff2c8);
  background: #180b21;
  box-shadow: 0 20px 70px rgba(0, 0, 0, .36);
}

.link-fallback-panel h2 { margin: 8px 0 10px; }
.link-fallback-panel p { margin: 0 0 14px; line-height: 1.45; }
.link-fallback-actions { display: grid; gap: 9px; }
.link-fallback-actions .deck-action { width: 100%; min-height: 48px; }
.link-fallback-status { min-height: 20px; margin: 10px 0 0 !important; color: #ffe178; font-weight: 700; }

.intensive-pace-grid { display: grid; gap: 10px; margin: 14px 0; }
.intensive-day-list { display: grid; gap: 8px; margin-top: 16px; }
.intensive-day-row {
  display: grid;
  grid-template-columns: 42px 1fr auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 12px;
  border: 1px solid rgba(176, 139, 62, .22);
  border-radius: 14px;
  background: rgba(255,255,255,.7);
  color: inherit;
  text-align: left;
}
.intensive-day-row:disabled { opacity: .48; }
.intensive-day-row.done { border-color: rgba(66, 125, 72, .45); }
.intensive-day-number { font-weight: 800; }
.intensive-day-screen { margin-top: 18px; }
.intensive-broadcasts { margin-top: 18px; }
.intensive-broadcasts h3 { margin: 5px 0 6px; }
.intensive-broadcasts > p { margin: 0 0 12px; color: #eadff0; line-height: 1.48; }
.intensive-broadcasts .intensive-waiting-note { margin-bottom: 12px; }
.intensive-broadcasts .intensive-waiting-note strong,
.intensive-broadcasts .intensive-waiting-note span { display: block; }
.intensive-broadcasts .intensive-waiting-note span { margin-top: 4px; }
.intensive-broadcasts .deck-action { width: 100%; }
.intensive-recurring-practices { margin-top: 18px; }
.intensive-recurring-practices > div {
  margin-top: 8px;
  padding: 12px;
  border: 1px solid rgba(176, 139, 62, .22);
  border-radius: 14px;
  background: rgba(255, 255, 255, .58);
}
.intensive-recurring-practices strong,
.intensive-recurring-practices small { display: block; }
.intensive-recurring-practices p { margin: 6px 0 0; }
.intensive-broadcast-list { display: grid; gap: 8px; margin-top: 12px; }
.intensive-broadcast-list > a,
.intensive-broadcast-list > div {
  display: grid;
  grid-template-columns: minmax(64px, .55fr) minmax(120px, 1.4fr) auto;
  gap: 9px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(255, 196, 0, .16);
  border-radius: 13px;
  color: inherit;
  text-decoration: none;
  background: rgba(255, 255, 255, .035);
}
.intensive-broadcast-list span,
.intensive-broadcast-list em { color: var(--muted); font-size: 11px; font-style: normal; }
.intensive-broadcast-list em { text-align: right; }

@media (max-width: 420px) {
  .intensive-broadcast-list > a,
  .intensive-broadcast-list > div { grid-template-columns: 1fr auto; }
  .intensive-broadcast-list strong { grid-column: 1 / -1; grid-row: 1; }
  .intensive-broadcast-list span { grid-column: 1; grid-row: 2; }
  .intensive-broadcast-list em { grid-column: 2; grid-row: 2; }
}

* { box-sizing: border-box; }

html {
  color-scheme: dark;
}

body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif;
  line-height: 1.55;
  background:
    radial-gradient(circle at 18% 0%, rgba(155, 44, 255, 0.26), transparent 30%),
    radial-gradient(circle at 84% 6%, rgba(255, 196, 0, 0.16), transparent 28%),
    radial-gradient(circle at 50% 100%, rgba(215, 124, 255, 0.12), transparent 34%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);
  background-attachment: fixed;
}

button, input, textarea { font: inherit; }

.privacy-delete-page { min-height: 100vh; }
.privacy-delete-shell {
  width: min(680px, calc(100% - 28px));
  margin: 0 auto;
  padding: max(28px, env(safe-area-inset-top)) 0 max(36px, env(safe-area-inset-bottom));
}
.privacy-delete-shell h1 { color: var(--gold); line-height: 1.1; }
.privacy-delete-shell p, .privacy-delete-shell li { color: var(--soft); line-height: 1.55; }
.privacy-delete-notice {
  margin: 22px 0;
  padding: 18px;
  border: 1px solid rgba(255, 196, 0, .22);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .05);
}
.privacy-delete-notice ul { padding-left: 20px; }
.privacy-delete-form { display: grid; gap: 18px; }
.privacy-delete-form > label:not(.consent-option) { display: grid; gap: 9px; color: var(--soft); }
.privacy-delete-form input[type="text"] {
  width: 100%; box-sizing: border-box; border: 1px solid rgba(255,255,255,.2);
  border-radius: 12px; padding: 14px; color: var(--text); background: rgba(255,255,255,.08);
}
.privacy-delete-button { background: linear-gradient(135deg, #ff8a8a, #ffc400); }
.access-status.error { color: #ffb5b5; }
.access-status.success { color: #bfffc3; }

.app-shell {
  width: min(760px, 100%);
  margin: 0 auto;
  padding: max(18px, env(safe-area-inset-top)) 14px max(28px, env(safe-area-inset-bottom));
}

/* === ACCESS GATE === */
.access-gate {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 70vh;
  text-align: center;
  padding: 30px 20px;
}

.access-gate h1 {
  font-size: 32px;
  line-height: 1.1;
  color: var(--gold);
  text-shadow: 0 0 28px rgba(255, 196, 0, 0.16);
  margin: 0 0 12px;
}

.boot-gate {
  min-height: 160px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 14px;
  color: var(--gold-2);
}

.boot-gate strong {
  font-size: 14px;
  line-height: 1.3;
}

.access-gate p {
  color: var(--soft);
  margin: 0 0 24px;
  font-size: 17px;
  max-width: 400px;
}

.access-gate .pending-icon {
  width: 52px;
  height: 52px;
  margin: 0 auto 14px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #170020;
  background: linear-gradient(135deg, var(--gold), #fff2a8);
  font-size: 26px;
  font-weight: 900;
}

.access-gate .access-error-icon {
  color: #fff;
  background: linear-gradient(135deg, #9b2cff, #eb5757);
}

.access-btn {
  width: 100%;
  max-width: 340px;
  min-height: 54px;
  border: 0;
  border-radius: 14px;
  padding: 14px 20px;
  font-weight: 800;
  font-size: 16px;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #10140f;
  background: linear-gradient(135deg, var(--purple-2), var(--gold));
  margin-bottom: 12px;
}

.access-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.access-btn.secondary {
  background: rgba(255, 255, 255, 0.06);
  color: var(--soft);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.access-status {
  margin-top: 16px;
  padding: 14px;
  border-radius: var(--radius);
  border: 1px solid rgba(255, 196, 0, 0.2);
  background: rgba(5, 0, 13, 0.42);
  width: 100%;
  max-width: 400px;
}

.access-status.done {
  border-color: rgba(100, 200, 100, 0.3);
  background: rgba(100, 200, 100, 0.08);
}

.access-status-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
  font-size: 14px;
  color: var(--soft);
}

.access-status-item .icon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 800;
}

.access-status-item .icon.pending {
  border: 2px solid var(--muted);
  color: var(--muted);
}

.access-status-item .icon.check {
  background: #4caf50;
  color: #fff;
}

.access-status-item .icon.dim {
  border: 2px solid rgba(205, 180, 220, 0.3);
  color: rgba(205, 180, 220, 0.3);
}

/* === DIAGNOSTICS === */
.diagnostics {
  display: none;
}

.diagnostics.visible {
  display: block;
}

.top-panel {
  padding: 24px 20px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.top-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.top-floating-timer {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 20px;
  background: rgba(255, 196, 0, 0.12);
  border: 1px solid rgba(255, 196, 0, 0.2);
  font-size: 13px;
  font-weight: 700;
  color: var(--gold-2);
  white-space: nowrap;
  margin-top: 2px;
}

.top-floating-timer.expired {
  color: var(--danger);
  border-color: rgba(255, 154, 154, 0.2);
  background: rgba(255, 154, 154, 0.08);
}

.eyebrow {
  margin-bottom: 8px;
  color: var(--purple-2);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.8px;
}

h1, h2, h3, p { margin: 0; }

h1 {
  font-size: 32px;
  line-height: 1.05;
  font-weight: 850;
  color: var(--gold);
  text-shadow: 0 0 28px rgba(255, 196, 0, 0.16);
}

.top-panel p {
  margin-top: 10px;
  color: var(--soft);
  font-size: 16px;
}

.mode-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 12px 0;
}

.mode-btn {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  cursor: pointer;
  min-height: 70px;
  padding: 14px;
  color: var(--text);
  background: rgba(255, 255, 255, 0.04);
  text-align: left;
}

.mode-btn strong, .mode-btn span { display: block; }

.mode-btn strong {
  font-size: 16px;
  margin-bottom: 4px;
}

.mode-btn span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 13px;
}

.mode-btn.active {
  border-color: rgba(255, 196, 0, 0.62);
  background: linear-gradient(135deg, rgba(155, 44, 255, 0.20), rgba(255, 196, 0, 0.08));
}

.result-mode-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin: 0 0 10px;
}

.result-mode-btn {
  min-height: 38px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  color: var(--soft);
  background: rgba(255, 255, 255, 0.04);
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.result-mode-btn.active {
  color: #170020;
  border-color: rgba(255, 196, 0, 0.72);
  background: linear-gradient(135deg, var(--gold), #fff2a8);
}

.panel, .submit-panel, .result {
  margin-top: 12px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.submit-panel {
  border-color: rgba(255, 255, 255, 0.08);
  background: rgba(19, 0, 34, 0.58);
  box-shadow: none;
}

.section-head { margin-bottom: 16px; }

.progress-bar {
  text-align: center;
  margin-bottom: 14px;
  color: var(--purple-2);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.progress-track {
  height: 4px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.08);
  margin-bottom: 8px;
  overflow: hidden;
}

.progress-fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--purple), var(--gold));
  transition: width 0.35s ease;
  width: 20%;
}

.section-head h2 {
  font-size: 22px;
  line-height: 1.2;
  color: #fff2c8;
}

.section-head p, .legal-note, .action-note {
  margin-top: 6px;
  color: var(--muted);
  font-size: 14px;
}

.question-list { display: grid; gap: 12px; }

@keyframes fadeSlideIn {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

.question {
  padding: 15px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius);
  background: var(--panel-2);
  animation: fadeSlideIn 0.4s ease-out;
}

.question h3 {
  margin-bottom: 12px;
  font-size: 18px;
  line-height: 1.35;
  color: #fff2c8;
}

.q-text {
  margin-bottom: 10px;
  font-size: 15px;
  line-height: 1.4;
  color: #f4f7f4;
}

.q-plus {
  font-size: 13px;
  color: #6fcf97;
  margin-bottom: 2px;
}

.q-minus {
  font-size: 13px;
  color: #eb5757;
  margin-bottom: 10px;
}

.choices, .scale { display: grid; gap: 8px; }

.scenario-screen {
  display: grid;
  gap: 14px;
}

.scenario-step {
  width: fit-content;
  padding: 5px 10px;
  border-radius: 999px;
  color: var(--gold-2);
  background: rgba(255, 196, 0, 0.1);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.7px;
  text-transform: uppercase;
}

.scenario-hint,
.scenario-selection-status {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.scenario-options {
  display: grid;
  gap: 10px;
}

.scenario-option {
  width: 100%;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 14px;
  color: var(--text);
  background: rgba(255, 255, 255, 0.035);
  text-align: left;
  cursor: pointer;
}

.scenario-option strong,
.scenario-option span {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.scenario-option strong {
  color: #fff;
  font-size: 15px;
  line-height: 1.35;
}

.scenario-option span {
  margin-top: 5px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.scenario-option:hover {
  border-color: rgba(215, 124, 255, 0.55);
  background: rgba(155, 44, 255, 0.11);
}

.scenario-option.selected {
  border-color: rgba(255, 196, 0, 0.82);
  background: rgba(255, 196, 0, 0.12);
}

.scenario-manifestation-context {
  padding: 10px 12px;
  border: 1px solid rgba(215, 124, 255, 0.24);
  border-radius: 12px;
  background: rgba(155, 44, 255, 0.08);
}

.scenario-manifestation-context strong,
.scenario-manifestation-context span {
  display: block;
}

.scenario-manifestation-context strong {
  color: #fff;
  font-size: 13px;
}

.scenario-manifestation-context span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.general-break-option {
  border-style: dashed;
}

.scenario-actions {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
}

.scenario-back,
.scenario-next {
  min-height: 44px;
  border-radius: 12px;
  padding: 10px 14px;
  font-weight: 800;
  cursor: pointer;
}

.scenario-back {
  width: fit-content;
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--soft);
  background: rgba(255, 255, 255, 0.04);
}

.scenario-next {
  border: 0;
  color: #10140f;
  background: linear-gradient(135deg, var(--purple-2), var(--gold));
}

.scenario-next:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.scan-statement {
  padding: 16px;
  border: 1px solid rgba(255, 196, 0, 0.18);
  border-radius: 14px;
  background: rgba(255, 196, 0, 0.06);
}

.scan-statement strong {
  color: var(--gold-2);
}

.scan-statement p {
  margin-top: 6px;
  line-height: 1.55;
}

.scan-statement .scenario-inline-error {
  margin-top: 8px;
  padding: 7px 8px;
  border-radius: 9px;
  color: #ffd7d7;
  background: rgba(235, 87, 87, 0.14);
  font-size: 11px;
  line-height: 1.35;
}

.scenario-review {
  display: grid;
  gap: 8px;
}

.scenario-review div {
  display: grid;
  grid-template-columns: minmax(92px, 0.8fr) minmax(0, 1.6fr);
  gap: 10px;
  padding: 11px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
}

.scenario-review span {
  color: var(--muted);
  font-size: 12px;
}

.scenario-review strong {
  font-size: 13px;
  line-height: 1.4;
  min-width: 0;
  overflow-wrap: anywhere;
}

.choice { position: relative; }

.choice input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.choice label {
  display: block;
  min-height: 46px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.035);
  color: #f4f7f4;
  cursor: pointer;
}

.choice label:hover {
  border-color: rgba(215, 124, 255, 0.55);
  background: rgba(155, 44, 255, 0.11);
}

.choice input:checked + label {
  border-color: rgba(255, 196, 0, 0.82);
  background: rgba(255, 196, 0, 0.12);
  color: var(--text);
  font-weight: 700;
}

.scale {
  grid-template-columns: repeat(5, 1fr);
}

.scale .choice label {
  display: grid;
  place-items: center;
  min-height: 52px;
  padding: 0;
  font-weight: 800;
}

.scale-hint {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 8px;
  color: var(--muted);
  font-size: 12px;
}

.symptom-grid { display: grid; gap: 10px; }

.symptom {
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius);
  background: var(--panel-2);
}

.symptom p {
  color: var(--muted);
  margin-bottom: 12px;
}

.yes-no {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.symptom-main {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 8px;
  align-items: start;
  cursor: pointer;
}

.symptom-main input {
  width: 18px;
  height: 18px;
  margin-top: 4px;
  accent-color: var(--gold);
}

.symptom-main strong {
  display: block;
  margin-bottom: 4px;
  color: #fff;
}

.symptom-main span span {
  display: block;
  color: var(--muted);
  font-size: 13px;
}

.symptom textarea {
  display: none;
  width: 100%;
  min-height: 78px;
  margin-top: 10px;
  padding: 12px 13px;
  resize: vertical;
  color: var(--text);
  border: 1px solid rgba(255, 196, 0, 0.15);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.055);
}

.symptom.open { border-color: rgba(255, 196, 0, 0.45); }
.symptom.open textarea { display: block; }

button[type="submit"] {
  width: 100%;
  min-height: 54px;
  margin-top: 12px;
  border: 0;
  border-radius: 14px;
  padding: 14px 20px;
  font-weight: 800;
  font-size: 16px;
  cursor: pointer;
  color: #10140f;
  background: linear-gradient(135deg, var(--purple-2), var(--gold));
}

button[type="submit"]:disabled {
  opacity: 0.6;
  cursor: wait;
}

.submit-hint {
  margin-top: 10px;
  color: var(--muted);
  text-align: center;
  font-size: 14px;
}

.error {
  margin-top: 12px;
  padding: 13px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255, 154, 154, 0.38);
  background: rgba(255, 154, 154, 0.09);
  color: #ffe2e2;
  line-height: 1.55;
}

.loading {
  display: grid;
  justify-items: center;
  gap: 12px;
  color: var(--soft);
  text-align: center;
}

.spinner {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 4px solid rgba(255, 255, 255, 0.13);
  border-top-color: var(--gold);
  animation: spin 0.9s linear infinite;
}

@keyframes spin { to { transform: rotate(360deg); } }

.result { padding: 0; overflow: hidden; }
.result > * { margin: 0 18px; }

.result.practice-flow-active {
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.result.practice-flow-active > * {
  display: none !important;
}

.result.practice-flow-active > #routeStepsBlock {
  display: block !important;
  margin: 0;
}

.result.practice-flow-active #routeStepsBlock > *:not(#practiceDiagnosticBlock) {
  display: none !important;
}

.result.practice-flow-active #practiceDiagnosticBlock {
  display: block !important;
  margin: 0;
  padding: 20px;
  box-shadow: 0 20px 54px rgba(5, 0, 13, 0.28);
}

.result-kicker {
  margin-top: 18px;
  color: var(--purple-2);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.8px;
}

.result h2 {
  margin-top: 5px;
  font-size: 28px;
  line-height: 1.12;
  color: var(--gold);
}

.result-axis {
  margin-top: 8px;
  color: #ffe3a3;
  margin-bottom: 12px;
}

.result-summary {
  margin-bottom: 4px;
}

.summary-card {
  padding: 16px;
  border: 1px solid rgba(255, 196, 0, 0.16);
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 124, 255, 0.08), transparent 32%),
    rgba(255, 255, 255, 0.03);
}

.summary-label {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  padding: 4px 10px;
  margin-bottom: 10px;
  color: var(--gold-2);
  background: rgba(255, 196, 0, 0.1);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.summary-card p {
  font-size: 15px;
  line-height: 1.6;
}

.summary-next {
  margin-top: 8px;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  color: #ffe3a3 !important;
  font-weight: 700;
}

.result-hero {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 14px;
  padding: 16px;
  border: 1px solid rgba(255, 196, 0, 0.3);
  border-radius: 16px;
  background:
    radial-gradient(circle at 0% 0%, rgba(255, 196, 0, 0.12), transparent 40%),
    linear-gradient(135deg, rgba(155, 44, 255, 0.14), rgba(255, 255, 255, 0.04));
}

.hero-icon {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 22px;
  font-weight: 900;
  color: #170020;
  background: linear-gradient(135deg, var(--gold), #fff2a8);
  box-shadow: 0 0 20px rgba(255, 196, 0, 0.22);
}

.result-hero.needs-research .hero-icon {
  background: linear-gradient(135deg, var(--purple-2), var(--gold));
}

.hero-content {
  display: grid;
  gap: 4px;
}

.hero-label {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--purple-2);
}

.hero-value {
  font-size: 20px;
  line-height: 1.2;
  color: var(--gold);
}

.result-tabs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(82px, 1fr));
  gap: 6px;
  margin-top: 14px;
}

.result-tab {
  min-height: 40px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  color: var(--soft);
  background: rgba(255, 255, 255, 0.04);
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.result-tab.active {
  color: #170020;
  border-color: rgba(255, 196, 0, 0.72);
  background: linear-gradient(135deg, var(--gold), #fff2a8);
}

.result-block {
  margin-top: 12px;
  padding: 15px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius);
  background: var(--panel-2);
}

.referral-program {
  border: 1px solid rgba(203, 166, 90, 0.38);
  background: linear-gradient(145deg, rgba(43, 37, 28, 0.96), rgba(27, 27, 28, 0.98));
}

.referral-link-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  margin: 14px 0;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.06);
  overflow-wrap: anywhere;
}

.referral-link-card span,
.referral-stats span {
  color: var(--muted);
  font-size: 12px;
}

.referral-link-card a {
  color: var(--gold-2);
  font-weight: 700;
}

.referral-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.referral-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0;
}

.referral-stats div {
  display: grid;
  gap: 5px;
  padding: 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.05);
}

.referral-stats strong {
  font-size: 17px;
}

@media (max-width: 420px) {
  .referral-actions {
    grid-template-columns: 1fr;
  }
}

.result-block:last-child { margin-bottom: 18px; }

.result-block h3 {
  margin-bottom: 8px;
  font-size: 18px;
  color: #fff;
}

.result-block p {
  color: var(--soft);
  line-height: 1.62;
}

.diagnostic-upgrade {
  border-color: rgba(255, 196, 0, 0.46);
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 196, 0, 0.12), transparent 45%),
    var(--panel-2);
}

.diagnostic-upgrade .button-link {
  width: 100%;
  margin-top: 12px;
}

.route-steps { display: grid; gap: 9px; }

.route-step {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 12px;
  align-items: flex-start;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 13px;
  background: rgba(5, 0, 13, 0.28);
}

.route-number {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #170020;
  background: linear-gradient(135deg, var(--purple-2), var(--gold));
  font-weight: 900;
}

.route-step.active .route-number {
  background: linear-gradient(135deg, var(--gold), #fff2a8);
}

.route-step.reward .route-number {
  background: linear-gradient(135deg, #fff2a8, var(--purple-2));
}

.route-content strong { display: block; margin-bottom: 4px; color: #fff; }
.route-content span { color: var(--muted); line-height: 1.5; }

.result-actions {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.button-link {
  display: grid;
  min-height: 48px;
  padding: 13px 18px;
  place-items: center;
  border-radius: 14px;
  text-align: center;
  text-decoration: none;
  font-weight: 800;
  border: 0;
  cursor: pointer;
}

.button-link:disabled {
  opacity: 0.48;
  cursor: not-allowed;
}

.button-link.primary {
  min-height: 54px;
  padding: 15px 22px;
  background: linear-gradient(135deg, var(--gold), #fff2a8);
  color: #170020;
  box-shadow: 0 12px 30px rgba(255, 196, 0, 0.18);
}

.button-link.secondary {
  background: linear-gradient(135deg, var(--purple), var(--gold));
  color: #10140f;
}

.button-link.subtle {
  min-height: 42px;
  color: #dcbcff;
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(215, 124, 255, 0.28);
  font-weight: 700;
}

.result-block.route-card {
  border-color: rgba(255, 196, 0, 0.34);
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 196, 0, 0.12), transparent 34%),
    linear-gradient(135deg, rgba(155, 44, 255, 0.14), rgba(255, 255, 255, 0.04));
}

.result-block.primary-next {
  border-color: rgba(255, 196, 0, 0.34);
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 196, 0, 0.12), transparent 32%),
    rgba(255, 196, 0, 0.08);
}

.practice-diagnostic-block {
  border-color: rgba(255, 196, 0, 0.4);
  background:
    radial-gradient(circle at 92% 0%, rgba(255, 196, 0, 0.13), transparent 29%),
    radial-gradient(circle at 0% 80%, rgba(155, 44, 255, 0.13), transparent 34%),
    rgba(10, 0, 19, 0.62);
}

.practice-diagnostic-head {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
}

.practice-diagnostic-head h3 {
  margin-top: 4px;
}

.practice-diagnostic-level {
  flex: 0 0 auto;
  max-width: 150px;
  padding: 7px 10px;
  border: 1px solid rgba(255, 196, 0, 0.32);
  border-radius: 999px;
  color: var(--gold-2);
  background: rgba(255, 196, 0, 0.08);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
}

.practice-diagnostic-context {
  margin: 8px 0 14px;
}

.practice-route-back {
  min-height: 28px;
  padding: 4px 8px;
  font-size: 11px;
}

.diagnostic-note {
  padding: 13px 14px;
  border-left: 3px solid var(--gold);
  border-radius: 0 12px 12px 0;
  background: rgba(255, 196, 0, 0.07);
}

.diagnostic-note strong {
  color: var(--gold-2);
}

.diagnostic-note p {
  margin: 4px 0 0;
  font-size: 14px;
}

.practice-diagnostic-progress {
  margin: 4px 0 14px;
  color: var(--purple-2);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.practice-save-status {
  min-height: 18px;
  margin: -7px 0 10px;
  color: var(--muted);
  font-size: 11px;
  text-align: center;
}

.practice-save-status.saving {
  color: var(--purple-2);
}

.practice-save-status.saved {
  color: #9fdda5;
}

.practice-save-status.error {
  color: #ffb6b6;
}

.practice-diagnostic-scenario {
  margin-bottom: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.04);
  font-size: 13px;
}

#practiceDiagnosticStatement,
#practiceDiagnosticControlQuestion {
  margin: 0 0 14px;
  color: #fff2c8;
  font-size: 18px;
  line-height: 1.42;
}

.practice-diagnostic-scale,
.practice-diagnostic-control-options {
  display: grid;
  gap: 9px;
}

.practice-diagnostic-answer,
.practice-control-option {
  width: 100%;
  min-height: 50px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  color: var(--text);
  background: rgba(255, 255, 255, 0.04);
  text-align: left;
  cursor: pointer;
}

.practice-diagnostic-answer {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 10px;
  align-items: center;
}

.practice-diagnostic-answer span:first-child {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--gold-2);
  background: rgba(255, 196, 0, 0.1);
  font-weight: 900;
}

.practice-diagnostic-answer:hover,
.practice-control-option:hover,
.practice-diagnostic-answer.selected,
.practice-control-option.selected {
  border-color: rgba(255, 196, 0, 0.75);
  background: rgba(255, 196, 0, 0.11);
}

.practice-control-option strong,
.practice-control-option span {
  display: block;
}

.practice-control-option strong {
  color: #fff;
}

.practice-control-option span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

#practiceDiagnosticBackBtn {
  margin-top: 12px;
}

.practice-primary-result {
  position: relative;
  overflow: hidden;
  padding: 17px;
  border: 1px solid rgba(255, 196, 0, 0.48);
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 196, 0, 0.19), transparent 36%),
    linear-gradient(135deg, rgba(155, 44, 255, 0.18), rgba(255, 196, 0, 0.07));
}

.practice-primary-result span {
  color: var(--gold-2);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.practice-primary-result h4 {
  margin: 5px 0 7px;
  color: #fff;
  font-size: 22px;
  line-height: 1.25;
}

.practice-primary-result p {
  margin: 0;
}

#practiceSupportingBlock,
.practice-sequence-block,
.scenario-webinar-next {
  margin-top: 16px;
}

#practiceSupportingBlock h4,
.practice-sequence-block h4,
.scenario-webinar-next h4 {
  margin-bottom: 8px;
  color: #fff2c8;
}

.practice-result-details {
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.025);
}

.practice-result-details > summary,
.format-reasons-list > summary {
  cursor: pointer;
  color: #fff2c8;
  font-weight: 800;
  line-height: 1.35;
}

.practice-result-details[open] > summary,
.format-reasons-list[open] > summary {
  margin-bottom: 10px;
}

.practice-supporting-list,
.practice-sequence {
  display: grid;
  gap: 8px;
}

.practice-supporting-item,
.practice-sequence-item {
  padding: 11px 12px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.035);
}

.practice-supporting-item strong,
.practice-supporting-item span {
  display: block;
}

.practice-supporting-item span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}

.practice-sequence-item {
  display: grid;
  grid-template-columns: 28px 1fr auto;
  gap: 9px;
  align-items: center;
  color: var(--soft);
  font-size: 13px;
}

.practice-sequence-number {
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.06);
  font-weight: 900;
}

.practice-sequence-item.primary {
  border-color: rgba(255, 196, 0, 0.45);
  background: rgba(255, 196, 0, 0.08);
}

.practice-sequence-item.primary .practice-sequence-number {
  color: #170020;
  background: var(--gold);
}

.practice-sequence-badge {
  color: var(--gold-2);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.practice-diagnostic-disclaimer {
  margin-top: 12px;
  color: rgba(205, 180, 220, 0.72) !important;
  font-size: 11px;
}

.scenario-webinar-next {
  padding: 16px;
  border: 1px solid rgba(215, 124, 255, 0.3);
  border-radius: 16px;
  background: rgba(155, 44, 255, 0.09);
}

.webinar-code-gate {
  display: grid;
  gap: 9px;
  margin-top: 12px;
}

.webinar-code-gate label {
  color: #fff2c8;
  font-size: 13px;
  font-weight: 800;
}

.webinar-code-gate input {
  width: 100%;
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid rgba(215, 124, 255, 0.42);
  border-radius: 12px;
  outline: none;
  color: #fff;
  background: rgba(8, 2, 15, 0.82);
  font: inherit;
}

.webinar-code-gate input:focus {
  border-color: rgba(255, 196, 0, 0.78);
  box-shadow: 0 0 0 3px rgba(255, 196, 0, 0.1);
}

@media (max-width: 520px) {
  .practice-diagnostic-head {
    display: grid;
  }

  .practice-diagnostic-level {
    max-width: none;
    width: fit-content;
  }

  .practice-sequence-item {
    grid-template-columns: 28px 1fr;
  }

  .practice-sequence-badge {
    grid-column: 2;
  }
}

.product-paths {
  border-color: rgba(215, 124, 255, 0.34);
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 124, 255, 0.14), transparent 32%),
    rgba(255, 255, 255, 0.045);
}

.product-grid {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.product-card {
  width: 100%;
  display: grid;
  gap: 6px;
  text-align: left;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  padding: 14px;
  color: var(--text);
  background: rgba(5, 0, 13, 0.34);
  cursor: pointer;
}

.product-card {
  padding: 16px;
  gap: 8px;
}
.product-card span {
  width: fit-content;
  border-radius: 999px;
  padding: 6px 12px;
  color: #170020;
  background: linear-gradient(135deg, var(--gold), #fff2a8);
  font-size: 13px;
  font-weight: 900;
}

.product-card strong {
  color: #fff;
  font-size: 18px;
  line-height: 1.3;
}

.product-card em {
  color: #ffe3a3;
  font-style: normal;
  font-weight: 700;
}

.product-card small {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
  white-space: pre-line;
}

.product-prices {
  display: grid;
  gap: 5px;
  margin: 4px 0 0;
  padding-left: 18px;
  color: var(--soft);
  font-size: 12px;
  line-height: 1.45;
}

.product-bonuses {
  display: grid;
  gap: 5px;
  margin: 0;
  padding-left: 18px;
  color: #ffe3a3;
  font-size: 12px;
  line-height: 1.45;
}

.product-note {
  margin: 0;
  color: var(--soft);
  font-size: 12px;
  line-height: 1.45;
}

.payment-grid {
  display: grid;
  gap: 7px;
  margin-top: 6px;
}

.pay-link {
  display: grid;
  min-height: 40px;
  place-items: center;
  border-radius: 12px;
  padding: 10px 12px;
  color: #170020;
  background: linear-gradient(135deg, var(--gold), #fff2a8);
  text-decoration: none;
  font-size: 13px;
  font-weight: 900;
}

.product-card.selected {
  border-color: rgba(255, 196, 0, 0.7);
  background: rgba(255, 196, 0, 0.1);
}

.audit-offer {
  margin-top: 14px;
  border-color: rgba(255, 196, 0, 0.34);
  background:
    radial-gradient(circle at 0% 0%, rgba(255, 196, 0, 0.12), transparent 36%),
    linear-gradient(135deg, rgba(155, 44, 255, 0.16), rgba(255, 255, 255, 0.045));
}

.audit-top {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  margin-bottom: 8px;
}

.audit-badge {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  padding: 7px 10px;
  margin-bottom: 10px;
  color: #170020;
  background: linear-gradient(135deg, var(--gold), #fff2a8);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}

.audit-countdown {
  margin: 10px 0;
  padding: 10px 14px;
  border-radius: 10px;
  background: var(--bg-secondary);
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  color: var(--gold);
}
.audit-countdown.expired {
  color: var(--text-danger, #e74c3c);
}

.audit-price {
  display: flex;
  align-items: center;
  gap: 6px;
}

.audit-price-full {
  text-decoration: line-through;
  color: var(--gold);
  font-size: 16px;
  font-weight: 700;
  opacity: 0.85;
}
.audit-price strong {
  font-size: 28px;
  color: var(--gold);
}
.audit-price-star {
  color: var(--gold);
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
}
.audit-price-note {
  margin-top: 8px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}
.audit-conditions-note {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.audit-toggle {
  width: 100%;
  min-height: 42px;
  margin-top: 10px;
  border: 0;
  border-radius: 14px;
  cursor: pointer;
  font-weight: 800;
  color: #19001f;
  background: linear-gradient(135deg, var(--gold), #fff2a8);
}

.audit-conditions {
  margin-top: 10px;
  border: 1px solid rgba(255, 196, 0, 0.2);
  border-radius: 16px;
  padding: 14px;
  background: rgba(5, 0, 13, 0.42);
}

.audit-conditions ol {
  margin: 0;
  padding-left: 20px;
  color: var(--soft);
  line-height: 1.65;
}

.bars { display: grid; gap: 10px; }

.bar-row { display: grid; gap: 6px; }

.bar-label {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: var(--soft);
  font-size: 14px;
}

.bar {
  height: 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

.bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--purple), var(--gold));
}

.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.chip {
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
  color: var(--soft);
  padding: 7px 10px;
  font-size: 13px;
}

.test-logic {
  border-color: rgba(215, 124, 255, 0.22);
  background: rgba(155, 44, 255, 0.08);
}

.result-block.test-logic h3 {
  color: #fff2c8;
}

.guide-kicker {
  display: block;
  color: var(--purple-2);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

/* ─── Route Timeline ─── */
.route-timeline {
  border-color: rgba(255, 196, 0, 0.2);
  background: rgba(5, 0, 13, 0.28);
}

.timeline-steps {
  display: grid;
  gap: 8px;
  margin: 10px 0;
}

.timeline-step {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  align-items: center;
  font-size: 14px;
  color: var(--muted);
}

.timeline-step.active {
  color: var(--gold);
  font-weight: 700;
}

.timeline-step.done {
  color: #6fcf97;
}

.timeline-marker {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 13px;
  font-weight: 900;
  border: 2px solid rgba(255, 255, 255, 0.15);
  color: var(--muted);
}

.timeline-step.active .timeline-marker {
  border-color: var(--gold);
  background: rgba(255, 196, 0, 0.15);
  color: var(--gold);
}

.timeline-step.done .timeline-marker {
  border-color: #6fcf97;
  background: rgba(100, 200, 100, 0.12);
  color: #6fcf97;
}

.timeline-deadline {
  margin-top: 8px;
  padding: 8px 12px;
  border-radius: 10px;
  background: rgba(255, 196, 0, 0.08);
  color: var(--gold-2);
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

.hidden, .hidden-by-tab { display: none !important; }

.result-pending-gate {
  margin-top: 12px;
  padding: 32px 20px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 196, 0, 0.12), transparent 40%),
    var(--panel);
  box-shadow: var(--shadow);
  text-align: center;
  animation: fadeSlideIn 0.4s ease-out;
}

.result-pending-gate .pending-icon {
  width: 52px;
  height: 52px;
  margin: 0 auto 14px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--gold), #fff2a8);
  color: #170020;
  font-size: 26px;
  font-weight: 900;
}

.result-pending-gate h2 {
  margin-bottom: 10px;
  font-size: 22px;
  color: var(--gold);
}

.result-pending-gate p {
  margin-bottom: 16px;
  color: var(--soft);
  line-height: 1.55;
}

.result-pending-gate .access-btn {
  width: 100%;
  max-width: 340px;
  margin: 6px auto;
}

.result-pending-gate .pending-error {
  margin-top: 8px;
  color: var(--danger);
  font-size: 14px;
}

@media (min-width: 720px) {
  .app-shell { padding-top: 28px; }
  .top-panel { padding: 30px; }
  h1 { font-size: 42px; }
}

/* ─── Full-screen Mini App: one logical screen at a time ─── */
html,
body.viewport-app {
  width: 100%;
  height: var(--app-height, 100dvh);
  min-height: 0;
  overflow: hidden;
  overscroll-behavior: none;
}

body.viewport-app {
  position: fixed;
  inset: 0;
  line-height: 1.35;
  background-attachment: initial;
}

.viewport-app .app-shell {
  width: min(760px, 100%);
  height: var(--app-height, 100dvh);
  min-height: 0;
  margin: 0 auto;
  padding:
    max(8px, env(safe-area-inset-top))
    10px
    max(8px, env(safe-area-inset-bottom));
  overflow: hidden;
}

.viewport-app .diagnostics.visible {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 8px;
  overflow: hidden;
}

.viewport-app .top-panel {
  min-height: 0;
  padding: 10px 12px;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}

.viewport-app .top-panel-header {
  align-items: center;
}

.viewport-app .top-panel .eyebrow {
  margin-bottom: 3px;
  font-size: 9px;
  letter-spacing: 1.2px;
}

.viewport-app .top-panel h1 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: clamp(14px, 4vw, 18px);
  line-height: 1.15;
  text-shadow: none;
}

.viewport-app .top-panel p {
  display: none;
}

.viewport-app .top-floating-timer {
  position: fixed;
  z-index: 1000;
  top: max(7px, env(safe-area-inset-top));
  left: 50%;
  width: max-content;
  max-width: calc(100vw - 20px);
  min-height: 32px;
  margin: 0;
  padding: 5px 10px;
  justify-content: center;
  transform: translateX(-50%);
  border-color: rgba(255, 196, 0, 0.42);
  background: rgba(19, 0, 34, 0.96);
  box-shadow: 0 7px 24px rgba(0, 0, 0, 0.38);
  font-size: clamp(12px, 3.2vw, 14px);
}

.audit-timer-active.scenario-deck-mode .scenario-deck,
.audit-timer-active .result,
.audit-timer-active.access-screen-mode .access-gate {
  padding-top: max(44px, calc(env(safe-area-inset-top) + 38px));
}

.access-screen-mode .access-gate {
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 10px 8px;
  justify-content: flex-start;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.access-screen-mode .access-gate > div:not(.hidden) {
  width: 100%;
  max-width: 430px;
  max-height: none;
  margin-block: auto;
  display: grid;
  justify-items: center;
  gap: 8px;
}

.access-screen-mode .access-gate h1 {
  max-width: 360px;
  margin: 0 0 2px;
  font-size: clamp(21px, 6.8vw, 30px);
  line-height: 1.05;
}

.access-screen-mode .access-gate h2 {
  margin: 0;
  color: var(--gold);
  font-size: 22px;
}

.access-screen-mode .access-gate p {
  max-width: 410px;
  margin: 0;
  color: var(--soft);
  font-size: clamp(11px, 3.2vw, 14px);
  line-height: 1.32;
}

.access-screen-mode .access-gate .medical-notice {
  padding: 8px 10px;
  border: 1px solid rgba(232, 188, 100, 0.36);
  border-radius: 10px;
  background: rgba(232, 188, 100, 0.08);
  color: #f5ddb1;
  font-size: clamp(10px, 2.8vw, 12px);
  line-height: 1.35;
}

.access-screen-mode .access-btn {
  max-width: 360px;
  min-height: 44px;
  margin: 0;
  padding: 9px 14px;
  border-radius: 12px;
  font-size: 14px;
}

.access-screen-mode .doc-links {
  width: 100%;
  max-width: 410px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

.access-screen-mode .consent-inline-docs {
  display: block;
  width: 100%;
  max-width: 410px;
  padding: 10px 12px;
  border: 1px solid rgba(232, 188, 100, .3);
  border-radius: 12px;
  background: rgba(255, 255, 255, .045);
  color: #f3e7f7;
  text-align: left;
}
.access-screen-mode .consent-inline-docs a {
  color: #ffe18a;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.consent-choice-actions {
  display: grid;
  gap: 8px;
  width: 100%;
  max-width: 410px;
}
.consent-choice-actions .access-btn { width: 100%; max-width: none; }
.consent-choice-actions .access-btn.quiet {
  border: 1px solid rgba(255, 255, 255, .22);
  background: transparent;
  color: #f0e5f2;
}

.access-screen-mode .doc-links a {
  min-width: 0;
  padding: 5px 7px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 9px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.035);
  font-size: 10px;
  line-height: 1.2;
  text-decoration: none;
}

.access-screen-mode .consent-option {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 14px 0;
  padding: 12px 14px;
  border: 1px solid rgba(232, 188, 100, 0.5);
  border-radius: 14px;
  text-align: left;
  color: #fff4dc;
  background:
    linear-gradient(135deg, rgba(91, 42, 108, 0.92), rgba(43, 24, 57, 0.96));
  box-shadow:
    0 12px 30px rgba(11, 4, 20, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.access-screen-mode .consent-option span {
  color: #fff4dc;
  font-weight: 650;
  line-height: 1.38;
}

.access-screen-mode .consent-option input {
  width: 20px;
  height: 20px;
  margin-top: 2px;
  flex: 0 0 auto;
  accent-color: #f2bd63;
  filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.28));
}

.access-screen-mode .access-status {
  max-width: 410px;
  max-height: 116px;
  margin: 0;
  padding: 7px 10px;
  overflow: hidden;
}

.access-screen-mode .access-status-item {
  padding: 3px 0;
  font-size: 11px;
}

.access-screen-mode .access-status-item .icon {
  width: 18px;
  height: 18px;
  font-size: 9px;
}

.scenario-form-mode #diagnosisForm {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  gap: 7px;
  overflow: hidden;
}

.scenario-form-mode.scenario-complete #diagnosisForm {
  grid-template-rows: minmax(0, 1fr) auto;
}

.scenario-form-mode #testSection {
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 9px 10px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 6px;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

.scenario-form-mode #testSection .section-head {
  display: none;
}

.scenario-form-mode #testSection .progress-bar {
  margin: 0;
  font-size: 10px;
  line-height: 1.1;
}

.scenario-form-mode #testSection .progress-track {
  height: 3px;
  margin-bottom: 4px;
}

.scenario-form-mode #testQuestions,
.scenario-form-mode #testQuestions > .scenario-screen {
  height: 100%;
  min-height: 0;
  overflow-x: hidden;
}

.scenario-form-mode .scenario-screen {
  padding: 8px;
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  gap: 7px;
  border-radius: 13px;
  overflow-y: auto;
  overflow-x: hidden;
  animation-duration: 0.2s;
}

.scenario-form-mode .scenario-screen-segment,
.scenario-form-mode .scenario-screen-scenario {
  grid-template-rows: auto auto auto auto minmax(0, 1fr) auto;
}

.scenario-form-mode .scenario-step {
  padding: 3px 8px;
  font-size: 8px;
  line-height: 1.3;
  letter-spacing: 0.55px;
}

.scenario-form-mode .scenario-screen h3 {
  margin: 0;
  font-size: clamp(14px, 4vw, 17px);
  line-height: 1.18;
}

.scenario-form-mode .scenario-hint,
.scenario-form-mode .scenario-selection-status {
  font-size: clamp(10px, 2.9vw, 12px);
  line-height: 1.25;
}

.scenario-form-mode .scenario-options {
  min-height: 0;
  align-content: start;
  gap: 6px;
}

.scenario-form-mode .scenario-option {
  min-height: 0;
  padding: 8px 10px;
  border-radius: 11px;
}

.scenario-form-mode .scenario-option strong {
  font-size: clamp(11px, 3.2vw, 13px);
  line-height: 1.18;
}

.scenario-form-mode .scenario-option span {
  margin-top: 2px;
  font-size: clamp(9px, 2.6vw, 11px);
  line-height: 1.2;
}

.scenario-form-mode .scenario-screen-levels {
  grid-template-rows: auto auto auto minmax(0, 1fr) auto auto;
}

.scenario-form-mode .scenario-screen-levels.has-manifestation-context {
  grid-template-rows: auto auto auto auto minmax(0, 1fr) auto auto;
}

.scenario-form-mode .scenario-screen-complete {
  grid-template-rows: auto auto minmax(0, 1fr) auto auto;
}

.scenario-form-mode .scenario-screen-levels .scenario-manifestation-context {
  padding: 6px 8px;
}

.scenario-form-mode .scenario-screen-levels .scenario-manifestation-context span {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.scenario-form-mode .scenario-screen-levels .multi-options {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: stretch;
}

.scenario-form-mode .scenario-screen-levels .scenario-option {
  display: grid;
  align-content: center;
}

.scenario-form-mode .scenario-screen-levels .general-break-option {
  grid-column: 1 / -1;
}

.scenario-form-mode .scenario-actions {
  gap: 7px;
}

.scenario-form-mode .scenario-back,
.scenario-form-mode .scenario-next {
  min-height: 44px;
  padding: 7px 10px;
  border-radius: 10px;
  font-size: 11px;
}

.scenario-form-mode .scan-statement {
  padding: 9px 10px;
  border-radius: 11px;
}

.scenario-form-mode .scan-statement p {
  margin-top: 3px;
  font-size: 11px;
  line-height: 1.25;
}

.scenario-form-mode .scenario-review {
  min-height: 0;
  align-content: center;
  gap: 5px;
}

.scenario-form-mode .scenario-screen-complete .scenario-review {
  overflow-y: auto;
}

.scenario-form-mode .scenario-review div {
  grid-template-columns: minmax(76px, 0.7fr) minmax(0, 1.6fr);
  gap: 7px;
  padding: 7px 9px;
  border-radius: 9px;
}

.scenario-form-mode .scenario-review span {
  font-size: 9px;
}

.scenario-form-mode .scenario-review strong {
  font-size: 10px;
  line-height: 1.2;
}

.scenario-form-mode .submit-panel {
  display: none;
}

.scenario-form-mode.scenario-complete .submit-panel {
  min-height: 0;
  margin: 0;
  padding: 7px 9px;
  display: grid;
  border-radius: 14px;
}

.scenario-form-mode.scenario-complete .submit-panel .legal-note,
.scenario-form-mode.scenario-complete .submit-hint {
  display: none;
}

.scenario-form-mode.scenario-complete button[type="submit"] {
  min-height: 42px;
  margin: 0;
  padding: 9px 14px;
  font-size: 14px;
}

.loading-screen-mode .diagnostics.visible {
  grid-template-rows: minmax(0, 1fr);
}

.loading-screen-mode .top-panel {
  display: none;
}

.loading-screen-mode #loadingCard {
  height: 100%;
  min-height: 0;
  margin: 0;
  align-content: center;
}

.practice-screen-mode .diagnostics.visible {
  grid-template-rows: auto minmax(0, 1fr);
}

.practice-screen-mode #resultCard {
  height: 100%;
  min-height: 0;
  margin: 0;
  overflow: hidden;
}

.practice-screen-mode #resultCard.practice-flow-active,
.practice-screen-mode #routeStepsBlock,
.practice-screen-mode #practiceDiagnosticBlock {
  height: 100%;
  min-height: 0;
}

.practice-screen-mode #resultCard.practice-flow-active #practiceDiagnosticBlock {
  margin: 0;
  padding: 10px 11px;
  display: grid !important;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  gap: 7px;
  overflow: hidden;
  border-radius: 16px;
}

.practice-screen-mode .practice-diagnostic-head {
  gap: 7px;
  align-items: center;
}

.practice-screen-mode .guide-kicker {
  font-size: 8px;
  line-height: 1.2;
}

.practice-screen-mode .practice-diagnostic-head h3 {
  margin: 2px 0 0;
  font-size: 15px;
  line-height: 1.15;
}

.practice-screen-mode .practice-diagnostic-level {
  width: auto;
  max-width: 125px;
  padding: 4px 7px;
  font-size: 9px;
}

.practice-screen-mode .practice-diagnostic-context {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.25;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.practice-screen-mode .practice-route-back {
  min-height: 28px;
  margin: 0;
  padding: 3px 8px;
  font-size: 9px;
}

.practice-screen-mode #practiceDiagnosticIntro,
.practice-screen-mode #practiceDiagnosticQuestion,
.practice-screen-mode #practiceDiagnosticControl,
.practice-screen-mode #practiceDiagnosticFormatQuestions,
.practice-screen-mode #practiceDiagnosticResult {
  min-height: 0;
  height: 100%;
}

.practice-screen-mode #practiceDiagnosticIntro,
.practice-screen-mode #practiceDiagnosticQuestion,
.practice-screen-mode #practiceDiagnosticControl,
.practice-screen-mode #practiceDiagnosticFormatQuestions {
  overflow: hidden;
}

.practice-screen-mode #practiceDiagnosticIntro {
  display: grid;
  align-content: start;
  gap: 10px;
}

.practice-screen-mode .diagnostic-note {
  padding: 11px 12px;
}

.practice-screen-mode .diagnostic-note p,
.practice-screen-mode #practiceDiagnosticInstruction {
  font-size: 11px;
  line-height: 1.3;
}

.practice-screen-mode #practiceDiagnosticStartBtn {
  min-height: 42px;
  padding: 9px 12px;
}

.practice-screen-mode #practiceDiagnosticQuestion {
  grid-template-rows: auto auto auto auto minmax(0, 1fr) auto;
  gap: 5px;
}

.practice-screen-mode #practiceDiagnosticQuestion:not(.hidden) {
  display: grid;
}

.practice-screen-mode .practice-diagnostic-progress {
  margin: 0;
  font-size: 9px;
}

.practice-screen-mode .practice-save-status {
  min-height: 12px;
  margin: 0;
  font-size: 8px;
}

.practice-screen-mode .practice-diagnostic-scenario {
  margin: 0;
  padding: 6px 8px;
  font-size: 9px;
  line-height: 1.2;
}

.practice-screen-mode #practiceDiagnosticStatement,
.practice-screen-mode #practiceDiagnosticControlQuestion {
  margin: 0;
  font-size: clamp(13px, 3.8vw, 16px);
  line-height: 1.22;
}

.practice-screen-mode .practice-diagnostic-scale,
.practice-screen-mode .practice-diagnostic-control-options {
  min-height: 0;
  display: grid;
  grid-auto-rows: minmax(48px, 1fr);
  align-content: stretch;
  gap: 5px;
  padding: 2px 4px 2px 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}

.practice-screen-mode .practice-diagnostic-answer,
.practice-screen-mode .practice-control-option {
  height: 100%;
  min-height: 38px;
  padding: 7px 9px;
  border-radius: 10px;
  align-content: center;
}

.practice-screen-mode .practice-diagnostic-answer {
  grid-template-columns: 24px 1fr;
  gap: 7px;
  font-size: 11px;
}

.practice-screen-mode .practice-diagnostic-answer span:first-child {
  width: 23px;
  height: 23px;
  font-size: 10px;
}

.practice-screen-mode .practice-control-option strong {
  font-size: 11px;
  line-height: 1.18;
}

.practice-screen-mode .practice-control-option span {
  margin-top: 2px;
  font-size: 9px;
  line-height: 1.18;
}

.practice-screen-mode #practiceDiagnosticBackBtn {
  min-height: 32px;
  margin: 0;
  padding: 5px 9px;
  font-size: 10px;
}

.practice-screen-mode #practiceDiagnosticControl {
  grid-template-rows: auto auto auto auto minmax(0, 1fr) auto;
  gap: 5px;
}

.practice-screen-mode #practiceDiagnosticControl:not(.hidden) {
  display: grid;
}

.practice-screen-mode #practiceDiagnosticControl > .action-note {
  margin: 0;
  font-size: 9px;
  line-height: 1.2;
}

.practice-screen-mode #practiceDiagnosticControl .scenario-actions {
  gap: 6px;
}

.practice-screen-mode #practiceDiagnosticControl .scenario-back,
.practice-screen-mode #practiceDiagnosticControl .scenario-next {
  min-height: 35px;
  padding: 6px 9px;
  font-size: 10px;
}

.practice-screen-mode #practiceDiagnosticFormatQuestions {
  grid-template-rows: auto auto auto auto auto minmax(0, 1fr) auto;
  gap: 6px;
}

.practice-screen-mode #practiceDiagnosticFormatQuestions:not(.hidden) {
  display: grid;
}

.practice-screen-mode #practiceDiagnosticFormatQuestions > .scenario-step,
.practice-screen-mode #practiceDiagnosticFormatQuestions > .practice-diagnostic-progress,
.practice-screen-mode #practiceDiagnosticFormatQuestions > .practice-save-status,
.practice-screen-mode #practiceDiagnosticFormatQuestions > .practice-diagnostic-scenario,
.practice-screen-mode #practiceDiagnosticFormatQuestions > h4 {
  margin: 0;
}

.practice-screen-mode #practiceDiagnosticFormatQuestions > h4 {
  color: #fff2c8;
  font-size: clamp(15px, 4vw, 18px);
  line-height: 1.28;
}

.practice-screen-mode .format-options {
  min-height: 0;
  margin: 0;
  padding: 2px 4px 2px 0;
  grid-auto-rows: minmax(48px, 1fr);
  align-content: stretch;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}

.practice-screen-mode .format-options .practice-control-option {
  height: 100%;
  min-height: 48px;
  display: grid;
  align-content: center;
}

.practice-screen-mode #formatBackBtn {
  min-height: 34px;
  margin: 0;
  padding: 6px 9px;
  font-size: 10px;
}

.practice-screen-mode #practiceDiagnosticResult:not(.hidden) {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 2px 5px 8px 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}

.scenario-deck-mode .diagnostics.visible {
  grid-template-rows: minmax(0, 1fr);
}

.scenario-deck-mode .top-panel,
.scenario-deck-mode #diagnosisForm,
.scenario-deck-mode #resultCard,
.scenario-deck-mode #loadingCard {
  display: none !important;
}

.scenario-deck {
  height: 100%;
  min-height: 0;
  padding: 9px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  gap: 7px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 196, 0, 0.09), transparent 34%),
    var(--panel);
  box-shadow: var(--shadow);
}

.scenario-app-nav {
  min-height: 50px;
  padding: 3px;
  display: grid;
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 4px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 12px;
  background: rgba(5, 0, 13, 0.66);
}

.scenario-app-nav button {
  min-width: 0;
  min-height: 44px;
  padding: 4px 5px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  border: 0;
  border-radius: 9px;
  color: var(--muted);
  background: transparent;
  font-size: 9px;
  font-weight: 900;
  line-height: 1.05;
  text-align: center;
  cursor: pointer;
}

.scenario-app-nav button span {
  color: var(--purple-2);
  font-size: 13px;
}

.scenario-app-nav button.active {
  color: #170020;
  background: linear-gradient(135deg, var(--gold), #fff2a8);
}

.scenario-app-nav button.active span {
  color: #170020;
}

.scenario-app-nav #ownerAdminNavBtn {
  box-shadow: inset 0 0 0 1px rgba(255, 196, 0, 0.28);
  color: var(--gold-2);
  background: rgba(255, 196, 0, 0.07);
}

.scenario-app-nav #ownerAdminNavBtn span {
  color: var(--gold);
}

.scenario-app-nav button.locked,
.scenario-app-nav button:disabled {
  color: rgba(255, 255, 255, 0.46);
  background: rgba(255, 255, 255, 0.035);
  cursor: not-allowed;
  opacity: 1;
}

.scenario-app-nav button.locked span,
.scenario-app-nav button:disabled span {
  color: rgba(215, 124, 255, 0.58);
}

.scenario-deck-head {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 2px 3px;
}

.scenario-deck-head > div {
  min-width: 0;
}

.scenario-deck-kicker,
.scenario-deck-head strong {
  display: block;
}

.scenario-deck-kicker {
  color: var(--purple-2);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 0.7px;
  text-transform: uppercase;
}

.scenario-deck-head strong {
  overflow: hidden;
  color: var(--gold);
  font-size: 16px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scenario-deck-count {
  flex: 0 0 auto;
  padding: 4px 7px;
  border-radius: 999px;
  color: var(--gold-2);
  background: rgba(255, 196, 0, 0.09);
  font-size: 9px;
  font-weight: 900;
}

.scenario-deck-stage {
  min-height: 0;
  overflow: hidden;
}

.deck-card {
  height: 100%;
  min-height: 0;
  padding: 12px;
  display: grid;
  align-content: center;
  gap: 9px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.035);
  animation: fadeSlideIn 0.22s ease-out;
}

.deck-card h2 {
  margin: 0;
  color: #fff2c8;
  font-size: clamp(17px, 5vw, 23px);
  line-height: 1.12;
}

.deck-card p {
  margin: 0;
  color: var(--soft);
  font-size: clamp(10px, 3vw, 13px);
  line-height: 1.35;
}

.deck-card small {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.22;
}

.deck-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.deck-badges span,
.deck-primary-practice > span,
.deck-support > span,
.deck-sequence > span,
.deck-next-action > span,
.deck-product-role {
  width: fit-content;
  padding: 3px 7px;
  border-radius: 999px;
  color: var(--gold-2);
  background: rgba(255, 196, 0, 0.09);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 0.55px;
  text-transform: uppercase;
}

.deck-lead {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.deck-overview {
  align-content: start;
  overflow-y: auto;
}

.deck-result-map {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.deck-result-map > div {
  min-width: 0;
  padding: 8px 9px;
  border-radius: 10px;
  background: rgba(5, 0, 13, 0.34);
}

.deck-result-map span,
.deck-result-map strong {
  display: block;
}

.deck-result-map span {
  color: var(--muted);
  font-size: 8px;
  text-transform: uppercase;
}

.deck-result-map strong {
  margin-top: 2px;
  color: #fff;
  font-size: 10px;
  line-height: 1.25;
}

.deck-cycle-note {
  padding: 7px 8px;
  border-left: 2px solid rgba(255, 196, 0, 0.58);
  color: var(--muted) !important;
  background: rgba(255, 196, 0, 0.05);
  font-size: 9px !important;
}

.deck-method-note {
  padding: 8px 9px;
  border-radius: 10px;
  background: rgba(155, 44, 255, 0.08);
}

.deck-method-note > span {
  display: block;
  color: var(--purple-2);
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
}

.deck-method-note p {
  margin-top: 3px;
  font-size: 9px;
}

.deck-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.deck-facts div,
.deck-highlight,
.deck-primary-practice,
.deck-next-action,
.deck-audit-price {
  padding: 9px 10px;
  border-radius: 11px;
  background: rgba(5, 0, 13, 0.34);
}

.deck-facts span,
.deck-highlight > span,
.deck-audit-price span {
  display: block;
  color: var(--muted);
  font-size: 8px;
  text-transform: uppercase;
}

.deck-facts strong,
.deck-highlight strong {
  display: block;
  margin-top: 2px;
  color: #fff;
  font-size: 11px;
  line-height: 1.2;
}

.deck-highlight {
  border: 1px solid rgba(255, 196, 0, 0.3);
  background: linear-gradient(135deg, rgba(155, 44, 255, 0.14), rgba(255, 196, 0, 0.07));
}

.deck-highlight p {
  margin-top: 4px;
  font-size: 10px;
}

.deck-primary-practice {
  border: 1px solid rgba(255, 196, 0, 0.34);
}

.deck-primary-practice h2 {
  margin: 5px 0;
}

.deck-support,
.deck-sequence,
.deck-product-prices,
.deck-product-actions,
.deck-audit-list,
.deck-route-steps,
.deck-format-options {
  min-height: 0;
  display: grid;
  gap: 5px;
}

.deck-support > div {
  padding: 7px 9px;
  display: grid;
  grid-template-columns: minmax(88px, 0.8fr) minmax(0, 1.4fr);
  gap: 7px;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.035);
}

.deck-support strong {
  color: #fff;
  font-size: 10px;
}

.deck-sequence {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.deck-sequence > span {
  grid-column: 1 / -1;
}

.deck-sequence > div {
  min-width: 0;
  padding: 6px 7px;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 5px;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 9px;
}

.deck-sequence > div.primary {
  border-color: rgba(255, 196, 0, 0.44);
  background: rgba(255, 196, 0, 0.08);
}

.deck-sequence b,
.deck-audit-list b,
.deck-route-steps b {
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #170020;
  background: linear-gradient(135deg, var(--purple-2), var(--gold));
  font-size: 9px;
}

.deck-sequence strong {
  overflow: hidden;
  color: var(--soft);
  font-size: 9px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.deck-sequence small {
  grid-column: 2;
  color: var(--gold-2);
  font-size: 7px;
  text-transform: uppercase;
}

.deck-route {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: center;
}

.deck-route-steps > div {
  padding: 7px;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.035);
}

.deck-route-steps > div.done b {
  color: #071608;
  background: #85d68d;
}

.deck-route-steps > div.active {
  border: 1px solid rgba(255, 196, 0, 0.35);
}

.deck-route-steps strong,
.deck-route-steps small {
  display: block;
}

.deck-route-steps strong {
  color: #fff;
  font-size: 9px;
}

.deck-route-steps small {
  display: -webkit-box;
  overflow: hidden;
  margin-top: 1px;
  font-size: 8px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.deck-next-action {
  border: 1px solid rgba(255, 196, 0, 0.34);
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 196, 0, 0.12), transparent 42%),
    rgba(5, 0, 13, 0.34);
}

.deck-next-action h2 {
  margin: 7px 0 5px;
}

.deck-action {
  width: 100%;
  min-height: 44px;
  margin-top: 6px;
  padding: 8px 10px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 10px;
  color: #10140f;
  font-size: 11px;
  font-weight: 900;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.deck-action.primary {
  background: linear-gradient(135deg, var(--gold), #fff2a8);
}

.deck-action.secondary {
  color: var(--text);
  border: 1px solid rgba(215, 124, 255, 0.26);
  background: rgba(155, 44, 255, 0.12);
}

.deck-action:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.deck-secondary-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 6px;
  margin-top: 6px;
}

.deck-secondary-actions .deck-action {
  min-height: 44px;
  margin: 0;
}

.deck-action-status {
  margin-top: 6px;
  padding: 10px 11px;
  display: grid;
  gap: 3px;
  border: 1px solid rgba(99, 214, 155, 0.3);
  border-radius: 10px;
  color: var(--text);
  background: rgba(99, 214, 155, 0.09);
  text-align: center;
}

.deck-action-status strong {
  color: #a9f1c8;
  font-size: 11px;
}

.deck-action-status span {
  color: var(--soft);
  font-size: 9px;
  line-height: 1.35;
}

.deck-note,
.deck-countdown {
  padding: 7px 8px;
  border-radius: 9px;
  color: var(--gold-2) !important;
  background: rgba(255, 196, 0, 0.08);
  font-size: 9px !important;
  text-align: center;
}

.deck-audit {
  max-width: 520px;
  margin: 0 auto;
}

.deck-audit-price {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 8px;
}

.deck-audit-price span {
  min-width: 0;
  flex: 1 1 160px;
  overflow-wrap: anywhere;
}

.deck-audit-price strong,
.deck-audit-price s {
  flex: 0 0 auto;
}

.deck-card,
.deck-card * {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.deck-card {
  overflow-x: hidden;
}

.deck-audit-price strong {
  color: var(--gold);
  font-size: 24px;
  line-height: 1;
}

.deck-audit-price s {
  color: var(--muted);
  font-size: 11px;
}

.deck-audit-list > div {
  padding: 7px 8px;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.035);
  color: var(--soft);
  font-size: 10px;
}

.deck-two-actions > div.active {
  border: 1px solid rgba(255, 196, 0, 0.22);
}

.deck-two-actions > div.done {
  border: 1px solid rgba(99, 214, 155, 0.24);
  background: rgba(99, 214, 155, 0.08);
}

.deck-two-actions > div.done > b {
  color: #a9f1c8;
}

.deck-commercial-status {
  padding: 12px;
  display: grid;
  gap: 5px;
  border: 1px solid rgba(215, 124, 255, 0.24);
  border-radius: 11px;
  color: var(--soft);
  background: rgba(155, 44, 255, 0.08);
  text-align: center;
}

.deck-commercial-status strong {
  color: var(--text);
  font-size: 12px;
}

.deck-commercial-status span {
  font-size: 10px;
  line-height: 1.35;
}

.deck-commercial-status.error {
  border-color: rgba(255, 115, 115, 0.28);
  background: rgba(255, 115, 115, 0.07);
}

.deck-commercial-status .deck-action {
  margin-top: 3px;
}


.deck-format-jump {
  min-height: 64px;
  padding: 8px 10px;
  display: grid;
  gap: 2px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 11px;
  color: var(--text);
  background: rgba(255, 255, 255, 0.035);
  text-align: left;
  cursor: pointer;
}

.deck-format-jump span {
  color: var(--gold-2);
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
}

.deck-format-jump strong {
  font-size: 13px;
}

.deck-format-jump small {
  font-size: 9px;
}

.deck-product-role {
  display: block;
}

.deck-product-access {
  width: fit-content;
  padding: 5px 9px;
  border: 1px solid rgba(255, 196, 0, 0.25);
  border-radius: 999px;
  color: var(--gold-2);
  background: rgba(255, 196, 0, 0.07);
  font-size: 9px;
  font-weight: 900;
}

.deck-my-summary {
  max-width: 540px;
  margin: 0 auto;
  align-content: start;
  overflow-y: auto;
}

.deck-my-summary .deck-next-action h2 {
  font-size: clamp(15px, 4.4vw, 19px);
}

.deck-program-locked {
  max-width: 520px;
  margin: 0 auto;
  align-content: center;
  text-align: center;
}

.deck-lock-icon {
  width: 46px;
  height: 46px;
  margin: 0 auto;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 196, 0, 0.36);
  border-radius: 50%;
  color: var(--gold-2);
  background: rgba(255, 196, 0, 0.08);
  font-size: 22px;
  font-weight: 900;
}

.deck-locked-state {
  padding: 10px 11px;
  border: 1px dashed rgba(255, 196, 0, 0.35);
  border-radius: 11px;
  background: rgba(255, 196, 0, 0.06);
}

.deck-locked-state strong,
.deck-locked-state span {
  display: block;
}

.deck-locked-state strong {
  color: var(--gold-2);
  font-size: 11px;
}

.deck-locked-state span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.35;
}

.deck-journal {
  max-width: 540px;
  margin: 0 auto;
  align-content: center;
}

.deck-journal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.deck-journal-head h2 {
  margin-top: 5px;
  font-size: clamp(17px, 5vw, 21px);
}

.deck-journal-head > strong {
  flex: 0 0 auto;
  padding: 4px 7px;
  border-radius: 999px;
  color: var(--gold-2);
  background: rgba(255, 196, 0, 0.08);
  font-size: 9px;
}

.deck-journal-context {
  overflow: hidden;
  color: var(--muted) !important;
  font-size: 9px !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.deck-journal textarea {
  width: 100%;
  min-height: 72px;
  max-height: 92px;
  resize: none;
  padding: 9px 10px;
  border: 1px solid rgba(215, 124, 255, 0.28);
  border-radius: 11px;
  outline: none;
  color: var(--text);
  background: rgba(5, 0, 13, 0.52);
  font-size: 11px;
  line-height: 1.3;
}

.deck-journal textarea:focus {
  border-color: rgba(255, 196, 0, 0.6);
}

.deck-journal-status {
  min-height: 12px;
  color: var(--muted) !important;
  font-size: 8px !important;
  text-align: center;
}

.deck-journal-status.error {
  color: var(--danger) !important;
}

.deck-journal-entry,
.deck-journal-empty {
  min-height: 64px;
  padding: 8px 9px;
  overflow: hidden;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.035);
}

.deck-journal-entry > span {
  display: block;
  margin-bottom: 3px;
  color: var(--gold-2);
  font-size: 8px;
  font-weight: 800;
}

.deck-journal-entry p {
  display: -webkit-box;
  overflow: hidden;
  font-size: 10px;
  line-height: 1.28;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.deck-journal-empty {
  display: grid;
  place-items: center;
  color: var(--muted);
  font-size: 10px;
  text-align: center;
}

.deck-journal-controls {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

.deck-journal-controls button {
  min-height: 30px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 9px;
  color: var(--soft);
  background: rgba(255, 255, 255, 0.04);
  font-size: 9px;
  font-weight: 800;
}

.deck-journal-controls button:disabled {
  opacity: 0.28;
}

.deck-product-prices > div {
  padding: 8px 9px;
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 7px;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.035);
  font-size: 10px;
}

.deck-product-prices strong {
  color: var(--gold-2);
}

.deck-product-actions {
  grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
}

.deck-product-actions .deck-action {
  min-height: 48px;
  margin: 0;
  padding: 6px;
  font-size: 9px;
  line-height: 1.25;
}

.deck-payment-state,
.payment-state {
  grid-column: 1 / -1;
  padding: 11px 12px;
  display: grid;
  gap: 5px;
  border: 1px solid rgba(255, 205, 62, 0.32);
  border-radius: 11px;
  background: rgba(255, 196, 0, 0.08);
  color: var(--soft);
  text-align: center;
}

.deck-payment-state strong,
.payment-state strong {
  color: var(--gold-2);
  font-size: 11px;
}

.deck-payment-state span,
.payment-state span {
  font-size: 9px;
  line-height: 1.4;
}

.deck-payment-state.success,
.payment-state.success {
  border-color: rgba(99, 214, 155, 0.32);
  background: rgba(99, 214, 155, 0.09);
}

.deck-payment-state.success strong,
.payment-state.success strong {
  color: #a9f1c8;
}

.deck-payment-state.error,
.payment-state.error {
  border-color: rgba(255, 115, 115, 0.34);
  background: rgba(255, 115, 115, 0.08);
}

.deck-payment-state.error strong,
.payment-state.error strong {
  color: #ffb3b3;
}

.deck-payment-state .deck-action,
.payment-state .deck-action {
  min-height: 38px;
  margin: 3px 0 0;
  font-size: 9px;
}

.scenario-deck-nav {
  min-height: 40px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 7px;
  align-items: center;
}

.scenario-deck-nav-btn {
  min-height: 44px;
  padding: 7px 10px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
}

.scenario-deck-nav-btn.primary {
  color: #10140f;
  border: 0;
  background: linear-gradient(135deg, var(--purple-2), var(--gold));
}

.scenario-deck-nav-btn.primary.secondary-choice {
  color: var(--soft);
  border: 1px solid rgba(215, 124, 255, 0.28);
  background: rgba(155, 44, 255, 0.1);
}

.scenario-deck-nav-btn.secondary {
  color: var(--soft);
  border: 1px solid rgba(255, 255, 255, 0.11);
  background: rgba(255, 255, 255, 0.04);
}

.scenario-deck-nav-btn:disabled {
  opacity: 0.28;
  cursor: default;
}

.scenario-deck-dots {
  display: flex;
  justify-content: center;
  gap: 5px;
}

.scenario-deck-dots button {
  width: 6px;
  height: 6px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  cursor: pointer;
}

.scenario-deck-dots button.active {
  width: 16px;
  border-radius: 999px;
  background: var(--gold);
}

@media (max-width: 520px) {
  .viewport-app .app-shell {
    padding-right: 8px;
    padding-left: 8px;
  }

  .practice-screen-mode .practice-diagnostic-head {
    display: flex;
  }

  .practice-screen-mode .practice-diagnostic-level {
    width: auto;
  }

  .deck-route {
    grid-template-columns: 1fr;
    align-content: center;
  }

  .deck-route-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-height: 700px) {
  .viewport-app .app-shell {
    padding-top: max(5px, env(safe-area-inset-top));
    padding-bottom: max(5px, env(safe-area-inset-bottom));
  }

  .viewport-app .diagnostics.visible {
    gap: 5px;
  }

  .viewport-app .top-panel {
    padding: 6px 9px;
  }

  .viewport-app .top-panel .eyebrow {
    display: none;
  }

  .viewport-app .top-panel h1 {
    -webkit-line-clamp: 1;
    font-size: 13px;
  }

  .scenario-form-mode #testSection {
    padding: 6px 7px;
    gap: 4px;
  }

  .scenario-form-mode .scenario-screen {
    padding: 6px;
    gap: 5px;
  }

  .scenario-form-mode .scenario-option {
    padding: 6px 8px;
  }

  .scenario-form-mode .scenario-option span {
    font-size: 9px;
  }

  .practice-screen-mode #resultCard.practice-flow-active #practiceDiagnosticBlock {
    padding: 7px 8px;
    gap: 4px;
  }

  .practice-screen-mode .practice-diagnostic-context {
    -webkit-line-clamp: 1;
  }

  .practice-screen-mode .practice-diagnostic-answer,
  .practice-screen-mode .practice-control-option {
    min-height: 44px;
    padding: 5px 7px;
  }

  .scenario-deck {
    padding: 6px;
    gap: 5px;
  }

  .deck-card {
    padding: 9px;
    gap: 6px;
  }

  .deck-card p {
    font-size: 10px;
    line-height: 1.25;
  }

  .deck-support > div,
  .deck-route-steps > div,
  .deck-audit-list > div {
    padding-top: 5px;
    padding-bottom: 5px;
  }

  .scenario-deck-nav {
    min-height: 44px;
  }

  .scenario-deck-nav-btn {
    min-height: 44px;
    padding: 5px 8px;
  }

  .scenario-app-nav {
    min-height: 50px;
  }

  .scenario-app-nav button {
    min-height: 44px;
    padding: 2px 4px;
  }

  .deck-journal textarea {
    min-height: 58px;
    max-height: 68px;
  }

  .deck-journal-entry,
  .deck-journal-empty {
    min-height: 50px;
  }
}

/* Final readability and conversion pass. */
.access-screen-mode .access-gate {
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.access-screen-mode .access-gate > div:not(.hidden) {
  height: max-content;
  max-height: none;
  padding-bottom: max(10px, env(safe-area-inset-bottom));
}

.access-screen-mode .doc-links {
  width: min(360px, 100%);
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
}

.access-screen-mode .doc-links a {
  width: 100%;
  max-width: 100%;
  min-height: 38px;
  display: grid;
  place-items: center;
  padding: 7px 10px;
}

.scenario-form-mode .scenario-hint,
.scenario-form-mode .scenario-selection-status {
  color: var(--soft);
  font-size: clamp(12px, 3.25vw, 14px);
  line-height: 1.38;
}

.scenario-form-mode .scenario-option span,
.scenario-form-mode .scenario-screen-levels .scenario-option span {
  display: block;
  overflow: visible;
  color: var(--soft);
  font-size: clamp(11px, 3vw, 13px);
  line-height: 1.32;
  -webkit-line-clamp: unset;
}

.scenario-form-mode .scenario-screen-levels .multi-options {
  height: max-content;
  min-height: max-content;
}

.scenario-form-mode .scenario-screen-levels .scenario-option {
  min-height: max-content;
}

@media (hover: none) {
  .scenario-option:hover:not(.selected),
  .practice-diagnostic-answer:hover:not(.selected),
  .practice-control-option:hover:not(.selected) {
    border-color: rgba(255, 255, 255, 0.11);
    background: rgba(255, 255, 255, 0.035);
  }
}

.deck-overview,
.deck-deadline,
.deck-conversion-final {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.deck-overview > *,
.deck-deadline > *,
.deck-conversion-final > * {
  flex: 0 0 auto;
}

.deck-price-warning {
  padding: 8px 10px;
  border: 1px solid rgba(255, 196, 0, 0.32);
  border-radius: 10px;
  color: var(--soft) !important;
  background: rgba(255, 196, 0, 0.08);
  font-size: 10px !important;
  line-height: 1.35 !important;
}

.deck-price-warning strong {
  color: var(--gold-2);
}

.deck-required-actions {
  padding: 10px;
  display: grid;
  gap: 5px;
  border: 1px solid rgba(255, 196, 0, 0.35);
  border-radius: 11px;
  background: linear-gradient(135deg, rgba(155, 44, 255, 0.13), rgba(255, 196, 0, 0.08));
}

.deck-required-actions > strong {
  color: var(--gold-2);
  font-size: 11px;
}

.deck-required-actions > span {
  color: var(--soft);
  font-size: 9px;
  line-height: 1.3;
}

.deck-required-actions > div {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 6px;
}

.deck-required-actions .deck-action {
  min-height: 42px;
  margin: 0;
  padding: 6px 8px;
  font-size: 10px;
}

.deck-required-actions.compact {
  padding: 7px;
  gap: 3px;
}

.deck-required-actions.compact > span {
  display: none;
}

.deck-scroll-cue-strong {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border-color: rgba(255, 196, 0, 0.52);
  color: #fff4bf;
  background: linear-gradient(90deg, rgba(155, 44, 255, 0.92), rgba(85, 24, 111, 0.95));
  box-shadow: 0 7px 18px rgba(7, 0, 14, 0.35);
  font-size: 10px;
}

.deck-scroll-cue-strong span {
  color: var(--gold);
  font-size: 17px;
  animation: scrollCueBounce 1.1s ease-in-out infinite;
}

@keyframes scrollCueBounce {
  0%, 100% { transform: translateY(-2px); }
  50% { transform: translateY(3px); }
}

.deck-my-summary,
.deck-product {
  scrollbar-gutter: stable;
}

.deck-product {
  height: 100%;
  min-height: 0;
  align-self: stretch;
  overflow-x: hidden;
  overflow-y: scroll;
}

.deck-formats {
  overflow: hidden;
  align-content: start;
}

.deck-formats .deck-format-options {
  gap: 6px;
}

.deck-payment-way-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
}

.deck-payment-way-strip.is-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.deck-payment-way-strip span {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 3px;
  min-height: 28px;
  padding: 4px 6px;
  border: 1px solid rgba(255, 196, 0, 0.3);
  border-radius: 10px;
  background: rgba(255, 196, 0, 0.07);
  color: var(--cream);
  font-size: 9px;
  font-weight: 750;
  line-height: 1.15;
  text-align: center;
}

.deck-payment-way-strip.is-3 span {
  min-height: 52px;
  padding-inline: 4px;
}

.deck-payment-way-strip span strong,
.deck-payment-way-strip span small {
  display: block;
  line-height: 1.12;
}

.deck-payment-way-strip span strong {
  font-size: 8.5px;
  font-weight: 800;
}

.deck-payment-way-strip span small {
  color: #cfbfd5;
  font-size: 8px;
  font-weight: 650;
}

.deck-formats .deck-format-jump {
  min-height: 72px;
  padding: 12px 14px;
}

.deck-format-jump.recommended {
  border-color: rgba(245, 211, 40, .8);
  box-shadow: 0 0 0 1px rgba(245, 211, 40, .18), 0 18px 42px rgba(117, 70, 12, .18);
}

.deck-format-recommended {
  justify-self: start;
  padding: 5px 8px;
  border-radius: 999px;
  background: #f5d328;
  color: #180720 !important;
  font-size: 10px !important;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.deck-format-jump .deck-format-label { font-size: 13px; }
.deck-format-jump strong { font-size: 17px; }
.deck-format-jump span:not(.deck-format-label) { font-size: 15px; }
.deck-format-jump small { font-size: 13px; }

.scenario-deck.keyboard-open {
  padding: 5px;
  grid-template-rows: minmax(0, 1fr);
}

.scenario-deck.keyboard-open .scenario-deck-head,
.scenario-deck.keyboard-open .scenario-deck-nav,
.scenario-deck.keyboard-open .scenario-app-nav {
  display: none;
}

.scenario-deck.keyboard-open .deck-webinar {
  overflow-y: auto;
  align-content: start;
}

.scenario-deck.keyboard-open .deck-webinar > p,
.scenario-deck.keyboard-open .deck-webinar-points,
.scenario-deck.keyboard-open .deck-webinar-open {
  display: none;
}

.scenario-deck.keyboard-open .deck-webinar-code-gate {
  margin-top: auto;
}

.scenario-deck.keyboard-open .deck-webinar-code-submit {
  position: sticky;
  bottom: 0;
  z-index: 4;
  border-color: rgba(255, 196, 0, 0.55);
  background: linear-gradient(135deg, var(--gold), #fff2a8);
  color: #17120a;
}

@media (max-height: 700px) {
  .deck-day31 {
    padding: 6px;
    gap: 3px;
    overflow: hidden;
  }

  .deck-day31 h2 {
    font-size: 15px;
    line-height: 1.18;
  }

  .deck-day31 .deck-audit-list {
    gap: 4px;
  }

  .deck-day31 .deck-audit-list > div {
    min-height: 44px;
    padding: 5px;
  }

  .deck-day31 .deck-highlight {
    padding: 6px 8px;
  }

  .deck-day31 .deck-required-actions > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
  }

  .deck-day31 .deck-audit-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .deck-day31 .deck-audit-list > div {
    grid-template-columns: 20px minmax(0, 1fr);
  }

  .deck-day31 .deck-required-actions {
    padding: 5px;
  }

  .deck-day31 .deck-required-actions > strong {
    font-size: 9px;
  }

  .deck-day31 .deck-required-actions .deck-action {
    min-height: 36px;
    font-size: 9px;
  }

  .deck-formats {
    padding: 9px;
    gap: 6px;
  }

  .deck-formats h2 {
    font-size: 17px;
  }

  .deck-formats > p {
    display: -webkit-box;
    overflow: hidden;
    font-size: 9px;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .deck-formats .deck-format-jump {
    min-height: 48px;
    padding: 5px 8px;
  }

  .deck-formats .deck-format-jump strong {
    font-size: 10px;
  }

  .deck-formats .deck-format-jump small {
    font-size: 8px;
  }
}

/* ─── Unified journey: readable app screens without page scrolling ─── */
.scenario-form-mode .diagnostics.visible,
.practice-screen-mode .diagnostics.visible {
  grid-template-rows: minmax(0, 1fr);
}

.scenario-form-mode .top-panel,
.practice-screen-mode .top-panel {
  display: none;
}

.scenario-form-mode .scenario-screen-levels .multi-options {
  height: auto;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: none;
  align-content: start;
}

.scenario-form-mode .scenario-screen-levels .scenario-option,
.scenario-form-mode .scenario-screen-levels .general-break-option {
  min-height: 72px;
  grid-column: auto;
  align-content: center;
  text-align: center;
}

.scenario-form-mode .scenario-screen-levels .general-break-option {
  border-style: dashed;
}

.scenario-form-mode .scenario-screen-levels .general-break-option.selected {
  border-style: solid;
}

.deck-overview-conditions {
  margin-top: 6px;
}

.deck-overview-conditions > div {
  padding-top: 5px;
  padding-bottom: 5px;
}

@media (min-width: 900px) {
  .viewport-app .app-shell {
    width: min(820px, calc(100% - 40px));
  }

  .scenario-form-mode .scenario-screen {
    padding: 16px;
    gap: 11px;
  }

  .scenario-form-mode .scenario-options {
    gap: 9px;
  }

  .scenario-form-mode .scenario-option {
    padding: 12px 14px;
  }

  .scenario-form-mode .scenario-screen-levels .multi-options {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 360px) {
  .viewport-app .app-shell {
    padding-right: 5px;
    padding-left: 5px;
  }

  .scenario-form-mode #testSection,
  .scenario-form-mode .scenario-screen {
    padding-right: 5px;
    padding-left: 5px;
  }

  .scenario-form-mode .scenario-option {
    padding: 7px 8px;
  }

  .scenario-form-mode .scenario-actions {
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
  }
}

.scenario-form-mode .scenario-screen-levels .scenario-option span {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.scenario-form-mode .scenario-screen-levels .scenario-option strong {
  font-size: clamp(12px, 3.5vw, 14px);
}

.scenario-form-mode .scenario-screen-levels .scenario-option span {
  font-size: clamp(10px, 2.8vw, 12px);
}

.practice-screen-mode .practice-diagnostic-context {
  display: block;
  overflow: visible;
  font-size: 12px;
  line-height: 1.35;
  -webkit-line-clamp: unset;
}

.practice-screen-mode #practiceDiagnosticStatement,
.practice-screen-mode #practiceDiagnosticControlQuestion {
  font-size: clamp(15px, 4vw, 18px);
  line-height: 1.28;
}

.practice-screen-mode .practice-diagnostic-answer,
.practice-screen-mode .practice-control-option {
  min-height: 44px;
  padding: 8px 10px;
}

.practice-screen-mode .practice-diagnostic-answer,
.practice-screen-mode .practice-control-option strong {
  font-size: 12px;
}

.scenario-deck {
  padding: 10px;
  gap: 9px;
}

.scenario-deck-kicker {
  font-size: 9px;
}

.scenario-deck-head strong {
  overflow: visible;
  font-size: 17px;
  text-overflow: clip;
  white-space: normal;
}

.scenario-deck-stage {
  display: grid;
  overflow-y: auto;
  min-height: 0;
}

.deck-card {
  padding: 14px;
  gap: 11px;
  align-content: start;
  overflow: hidden;
  min-height: 0;
}

.deck-card h2 {
  font-size: clamp(19px, 5.4vw, 24px);
  line-height: 1.15;
}

.deck-card p {
  font-size: clamp(12px, 3.25vw, 14px);
  line-height: 1.42;
}

.deck-card small {
  font-size: 10px;
  line-height: 1.3;
}

.deck-lead {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
}

.deck-deadline,
.deck-webinar,
.deck-personal-days,
.deck-program,
.deck-formats,
.deck-product,
.deck-audit {
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
}

.deck-product {
  height: max-content;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-self: start;
  overflow: visible;
}

.deck-product > * {
  flex-shrink: 0;
}

.deck-webinar-points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.deck-webinar-points span {
  padding: 9px 7px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 196, 0, 0.2);
  border-radius: 10px;
  color: var(--soft);
  background: rgba(255, 196, 0, 0.06);
  font-size: 10px;
  line-height: 1.25;
  text-align: center;
}

.deck-audit-list > div {
  padding: 9px 10px;
}

.deck-audit-list strong,
.deck-audit-list small {
  display: block;
}

.deck-audit-list strong {
  color: #fff;
  font-size: 12px;
}

.deck-audit-list small {
  margin-top: 2px;
}

.deck-personal-day-list,
.deck-program-days,
.deck-product-includes {
  min-height: 0;
  display: grid;
  gap: 7px;
}

.deck-personal-day-list > div,
.deck-program-days > div,
.deck-product-includes > div {
  min-width: 0;
  padding: 8px 9px;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.035);
}

.deck-personal-day-list b,
.deck-program-days b,
.deck-product-includes b {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #170020;
  background: linear-gradient(135deg, var(--purple-2), var(--gold));
  font-size: 10px;
}

.deck-personal-day-list strong,
.deck-program-days strong,
.deck-product-includes span {
  display: block;
  color: #fff;
  font-size: 11px;
  line-height: 1.22;
}

.deck-personal-day-list small,
.deck-program-days small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.22;
}

.deck-personal-day-list > div.primary,
.deck-program-days > div.primary {
  border-color: rgba(255, 196, 0, 0.5);
  background: rgba(255, 196, 0, 0.08);
}

.deck-program-days > div.supporting {
  border-color: rgba(215, 124, 255, 0.42);
  background: rgba(155, 44, 255, 0.08);
}

.deck-program-days em {
  padding: 3px 6px;
  border-radius: 999px;
  color: var(--gold-2);
  background: rgba(255, 196, 0, 0.08);
  font-size: 8px;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}

.deck-program-recurring {
  display: block;
  padding: 2px 0 0;
}

.deck-program-recurring > span {
  color: var(--muted);
  font-size: 8.5px;
  font-weight: 650;
  line-height: 1.25;
}

.deck-program {
  grid-template-rows: auto minmax(0, 1fr);
  align-content: stretch;
}

.deck-program-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.deck-program-head span {
  color: var(--purple-2);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.deck-program-head strong {
  color: var(--gold-2);
  font-size: 14px;
}

.deck-program-days {
  align-content: center;
}

.deck-format-jump {
  min-height: 76px;
  padding: 10px 12px;
}

.deck-format-jump strong {
  font-size: 14px;
  line-height: 1.2;
}

.deck-format-jump small {
  font-size: 10px;
  line-height: 1.25;
}

.deck-product-price {
  color: var(--gold);
  font-size: 30px;
  font-weight: 900;
  line-height: 1;
}

.deck-product-includes > div {
  grid-template-columns: 24px minmax(0, 1fr);
}

.deck-product-terms {
  display: grid;
  gap: 7px;
}

.deck-product-terms > div {
  padding: 9px 10px;
  display: grid;
  gap: 3px;
  border: 1px solid rgba(255, 196, 0, 0.2);
  border-radius: 10px;
  background: rgba(255, 196, 0, 0.055);
}

.deck-product-terms strong {
  color: var(--gold-2);
  font-size: 11px;
}

.deck-product-terms span,
.deck-product-terms small {
  color: var(--soft);
  font-size: 10px;
  line-height: 1.3;
}

.scenario-deck-dots {
  min-width: 0;
  overflow: hidden;
}

.scenario-deck-dots span {
  width: 5px;
  height: 5px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
}

.scenario-deck-dots span.active {
  width: 15px;
  border-radius: 999px;
  background: var(--gold);
}

.qa-mobile-preview .app-shell {
  width: min(390px, 100%);
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 520px) {
  .deck-card {
    padding: 12px;
    gap: 9px;
  }

  .deck-program-days > div {
    padding: 7px 8px;
  }

  .deck-program-days strong {
    font-size: 10.5px;
  }

  .deck-program-days small {
    font-size: 8.5px;
  }
}

.group-session-block {
  padding: 8px 9px;
  border: 1px solid rgba(215, 124, 255, 0.34);
  border-radius: 10px;
  background: rgba(155, 44, 255, 0.06);
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 4px 8px;
  align-items: start;
}

.group-session-block b {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #170020;
  background: linear-gradient(135deg, var(--purple-2), var(--gold));
  font-size: 10px;
}

.group-session-block > span {
  grid-column: 2;
}

.group-session-block > span strong {
  display: block;
  color: #fff;
  font-size: 11px;
  line-height: 1.22;
}

.group-session-block > span small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.22;
}

.group-session-options {
  grid-column: 1 / -1;
  display: grid;
  gap: 4px;
  margin-top: 6px;
}

.group-session-option {
  padding: 6px 8px;
  border: 1px solid rgba(215, 124, 255, 0.26);
  border-radius: 8px;
  background: rgba(155, 44, 255, 0.08);
}

.group-session-option:nth-child(2) {
  border-color: rgba(255, 196, 0, 0.34);
  background: rgba(255, 196, 0, 0.07);
}

.group-session-option:nth-child(3) {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.055);
}

/* Comfortable scrolling and overflow safety for the final route screens. */
.scenario-deck-stage,
.deck-card,
.deck-card * {
  box-sizing: border-box;
}

.deck-audit,
.deck-formats,
.deck-product,
.deck-my-summary {
  width: 100%;
  max-width: min(560px, 100%);
}

.deck-audit,
.deck-formats,
.deck-product,
.deck-my-summary {
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: rgba(255, 196, 0, 0.7) rgba(255, 255, 255, 0.06);
  scrollbar-width: thin;
}

.deck-audit {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.deck-audit > *:not(.deck-action),
.deck-audit .deck-audit-list {
  min-height: max-content;
  flex: 0 0 auto;
}

.deck-scroll-cue {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 7px 10px;
  border: 1px solid rgba(255, 196, 0, 0.24);
  border-radius: 999px;
  color: var(--gold-2);
  background: rgba(21, 8, 31, 0.94);
  font-size: 9px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
}

.deck-program-main {
  height: 100%;
  min-height: 0;
  grid-template-rows: auto minmax(0, 1fr);
  align-content: stretch;
  overflow: hidden;
}

.deck-program-scroll {
  min-height: 0;
  padding: 2px 7px 18px 0;
  display: grid;
  align-content: start;
  gap: 12px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  touch-action: pan-y;
  scrollbar-color: rgba(255, 196, 0, 0.75) rgba(255, 255, 255, 0.06);
  scrollbar-width: thin;
}

.deck-program-scroll::-webkit-scrollbar,
.deck-product::-webkit-scrollbar,
.deck-formats::-webkit-scrollbar,
.deck-my-summary::-webkit-scrollbar {
  width: 6px;
}

.deck-program-scroll::-webkit-scrollbar-thumb,
.deck-product::-webkit-scrollbar-thumb,
.deck-formats::-webkit-scrollbar-thumb,
.deck-my-summary::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(255, 196, 0, 0.65);
}

.deck-program-intro {
  display: grid;
  gap: 9px;
}

.deck-program-levels {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.deck-program-levels span {
  padding: 4px 7px;
  border-radius: 999px;
  color: var(--soft);
  background: rgba(155, 44, 255, 0.12);
  font-size: 9px;
  font-weight: 800;
}

.deck-program-main .deck-program-days {
  height: max-content;
  min-height: max-content;
  align-content: start;
}

.deck-scroll-finish {
  padding: 12px;
  display: grid;
  gap: 4px;
  border: 1px dashed rgba(255, 196, 0, 0.45);
  border-radius: 11px;
  color: var(--soft);
  background: rgba(255, 196, 0, 0.07);
  text-align: center;
}

.deck-scroll-finish strong {
  color: var(--gold-2);
  font-size: 12px;
}

.deck-scroll-finish span {
  font-size: 10px;
}

.deck-scroll-finish.done {
  border-style: solid;
  border-color: rgba(99, 214, 155, 0.36);
  background: rgba(99, 214, 155, 0.08);
}

.deck-day31 {
  align-content: center;
  overflow: hidden;
}

.deck-day31 .deck-audit-list {
  height: max-content;
  min-height: max-content;
  gap: 4px;
}

.deck-day31 .deck-audit-list > div {
  padding-top: 6px;
  padding-bottom: 6px;
}

.deck-day31 .deck-highlight {
  position: static;
}

@media (max-height: 700px) {
  .deck-day31 {
    padding: 9px;
    gap: 6px;
  }

  .deck-day31 h2 {
    font-size: 17px;
  }

  .deck-day31 > p,
  .deck-day31 .deck-highlight p {
    font-size: 9px;
    line-height: 1.25;
  }

  .deck-day31 .deck-audit-list > div {
    padding: 4px 6px;
  }

  .deck-day31 .deck-action {
    min-height: 40px;
    margin-top: 0;
  }
}

.group-session-option strong {
  display: block;
  color: var(--purple-2);
  font-size: 10px;
  line-height: 1.22;
}

.group-session-option small {
  display: block;
  margin-top: 1px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.22;
}

.practice-intensive-preview {
  margin-top: 16px;
  padding: 14px;
  border: 1px solid rgba(255, 196, 0, 0.25);
  border-radius: 12px;
  background: rgba(255, 196, 0, 0.05);
  text-align: center;
}

.practice-intensive-preview .guide-kicker {
  display: block;
  margin-bottom: 6px;
  color: var(--gold-2);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.practice-intensive-preview h4 {
  margin: 0 0 6px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
}

.practice-intensive-preview p {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.4;
}

.practice-intensive-formats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

.practice-intensive-format {
  padding: 6px 4px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.03);
}

.practice-intensive-format strong {
  display: block;
  color: var(--gold-2);
  font-size: 12px;
  font-weight: 700;
}

.practice-intensive-format small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 9px;
}

.deck-summary-formats {
  margin-top: 10px;
}

.deck-summary-formats .guide-kicker {
  display: block;
  margin-bottom: 6px;
  color: var(--gold-2);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* Keep these responsive overrides last: earlier sections contain legacy variants. */
.access-screen-mode .access-gate {
  overflow-x: hidden;
  overflow-y: auto;
}

.access-screen-mode .access-gate > div:not(.hidden) {
  height: max-content;
  max-height: none;
}

@media (max-height: 700px) {
  .access-screen-mode .access-gate {
    justify-content: flex-start;
  }
}

.access-screen-mode .doc-links {
  width: min(360px, 100%);
  grid-template-columns: minmax(0, 1fr);
}

.access-screen-mode .doc-links a {
  width: 100%;
  max-width: 100%;
}

.scenario-form-mode .scenario-hint,
.scenario-form-mode .scenario-selection-status {
  color: var(--soft);
  font-size: clamp(12px, 3.25vw, 14px);
  line-height: 1.38;
}

.scenario-form-mode .scenario-option span,
.scenario-form-mode .scenario-screen-levels .scenario-option span {
  display: block;
  overflow: visible;
  color: var(--soft);
  font-size: clamp(11px, 3vw, 13px);
  line-height: 1.32;
  -webkit-line-clamp: unset;
}

.scenario-form-mode .scenario-screen-levels .multi-options,
.scenario-form-mode .scenario-screen-levels .scenario-option {
  height: max-content;
  min-height: max-content;
}

.deck-overview,
.deck-deadline,
.deck-conversion-final {
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  overflow-y: auto;
}

.deck-overview > *,
.deck-deadline > *,
.deck-conversion-final > * {
  flex: 0 0 auto;
}

.deck-product {
  height: 100%;
  min-height: 0;
  align-self: stretch;
  overflow-x: hidden;
  overflow-y: scroll;
  scrollbar-gutter: stable;
}

.deck-formats {
  overflow: hidden;
  align-content: start;
}

.scenario-deck.keyboard-open {
  padding: 5px;
  grid-template-rows: minmax(0, 1fr);
}

.scenario-deck.keyboard-open .scenario-deck-head,
.scenario-deck.keyboard-open .scenario-deck-nav,
.scenario-deck.keyboard-open .scenario-app-nav {
  display: none;
}

.scenario-deck.keyboard-open .deck-webinar {
  overflow-y: auto;
  align-content: start;
}

.scenario-deck.keyboard-open .deck-webinar > p,
.scenario-deck.keyboard-open .deck-webinar-points,
.scenario-deck.keyboard-open .deck-webinar-open {
  display: none;
}

.scenario-deck.keyboard-open .deck-webinar-code-submit {
  position: sticky;
  bottom: 0;
  z-index: 4;
  color: #17120a;
  background: linear-gradient(135deg, var(--gold), #fff2a8);
}

@media (hover: none) {
  .scenario-option:hover:not(.selected),
  .practice-diagnostic-answer:hover:not(.selected),
  .practice-control-option:hover:not(.selected) {
    border-color: rgba(255, 255, 255, 0.11);
    background: rgba(255, 255, 255, 0.035);
  }
}

.suppress-choice-hover .scenario-option:hover:not(.selected),
.suppress-choice-hover .practice-diagnostic-answer:hover:not(.selected),
.suppress-choice-hover .practice-control-option:hover:not(.selected) {
  border-color: rgba(255, 255, 255, 0.11);
  background: rgba(255, 255, 255, 0.035);
}

@media (max-height: 700px) {
  .deck-day31 .deck-audit-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .deck-formats {
    padding: 9px;
    gap: 6px;
  }

  .deck-formats h2 {
    font-size: 17px;
  }

  .deck-formats > p {
    display: -webkit-box;
    overflow: hidden;
    font-size: 9px;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .deck-formats .deck-format-jump {
    min-height: 48px;
    padding: 5px 8px;
  }

  .deck-day31 {
    padding: 8px;
    gap: 4px;
    overflow: hidden;
  }

  .deck-day31 h2 {
    font-size: 15px;
    line-height: 1.18;
  }

  .deck-day31 .deck-audit-list > div {
    min-height: 40px;
    padding: 4px 5px;
  }

  .deck-day31 .deck-highlight {
    padding: 6px 8px;
  }

  .deck-day31 .deck-required-actions > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
  }

  .deck-day31 .deck-required-actions .deck-action {
    min-height: 34px;
    padding: 4px;
    font-size: 8px;
  }

  .deck-day31 .deck-program-complete {
    min-height: 34px;
    padding: 5px 8px;
  }
}

@media (max-height: 700px) {
  .deck-day31 {
    padding: 6px;
    gap: 3px;
  }
}

.deck-audit-outcome {
  padding: 8px 10px;
  border: 1px solid rgba(99, 214, 155, 0.3);
  border-radius: 10px;
  color: var(--soft);
  background: rgba(99, 214, 155, 0.07);
  font-size: 10px;
  line-height: 1.35;
}

.deck-audit-outcome strong {
  color: #9df0c4;
}

/* Keep the separate day 31 card fully visible on common Telegram viewport heights. */
@media (max-height: 760px) {
  .scenario-deck-stage[data-page-key="formats"] .deck-formats {
    padding: 8px;
    gap: 5px;
  }

  .scenario-deck-stage[data-page-key="formats"] .deck-formats h2 {
    font-size: 17px;
  }

  .scenario-deck-stage[data-page-key="formats"] .deck-formats > p {
    display: -webkit-box;
    overflow: hidden;
    font-size: 10px;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .scenario-deck-stage[data-page-key="formats"] .deck-format-jump {
    padding: 4px 7px;
    gap: 1px;
  }

  .scenario-deck-stage[data-page-key="formats"] .deck-format-jump .deck-format-label,
  .scenario-deck-stage[data-page-key="formats"] .deck-format-jump small {
    font-size: 9px;
  }

  .scenario-deck-stage[data-page-key="formats"] .deck-format-jump span:not(.deck-format-label) {
    font-size: 10px;
  }

  .scenario-deck-stage[data-page-key="formats"] .deck-format-jump strong {
    font-size: 11px;
    line-height: 1.12;
  }

  .deck-day31 {
    padding: 8px;
    gap: 4px;
  }

  .deck-day31 h2 {
    font-size: 16px;
    line-height: 1.18;
  }

  .deck-day31 > p,
  .deck-day31 .deck-highlight p {
    font-size: 10px;
    line-height: 1.25;
  }

  .deck-day31 .deck-audit-list > div {
    min-height: 40px;
    padding: 4px 5px;
  }

  .deck-day31 .deck-highlight {
    padding: 6px 8px;
  }

  .deck-day31 .deck-required-actions {
    padding: 5px;
  }

  .deck-day31 .deck-required-actions > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
  }

  .deck-day31 .deck-required-actions .deck-action {
    min-height: 34px;
    padding: 4px;
    font-size: 8px;
  }

  .deck-day31 .deck-program-complete {
    min-height: 34px;
    padding: 5px 8px;
  }
}

/* Unified route UX — final overrides. Keep one scroll owner per screen. */
html,
body {
  touch-action: pan-y;
  overscroll-behavior: none;
}

.scenario-deck {
  height: min(var(--app-height, 100dvh), 100dvh);
  max-height: 100dvh;
  padding: max(8px, env(safe-area-inset-top, 0px)) 8px max(8px, env(safe-area-inset-bottom, 0px));
}

.scenario-deck-stage,
.scenario-deck-stage[data-page-key^="product-"],
.scenario-deck-stage[data-page-key="formats"] {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  overflow-anchor: none;
  -webkit-overflow-scrolling: touch;
}

.scenario-deck-stage > .deck-card,
.scenario-deck-stage .deck-product,
.scenario-deck-stage .deck-formats,
.scenario-deck-stage .deck-audit,
.scenario-deck-stage .deck-program,
.scenario-deck-stage .deck-my-summary,
.scenario-deck-stage .intensive-progress-card {
  width: 100%;
  height: auto !important;
  min-height: 100%;
  max-height: none !important;
  overflow: visible !important;
  align-content: start;
}

.deck-card {
  animation-duration: 0.14s;
}

/* The waiting screen is a compact announcement, not a long landing page. */
.scenario-deck-stage[data-page-key="webinar"] .deck-webinar:not(.deck-webinar-workspace) {
  min-height: 100%;
  align-content: center;
  gap: clamp(8px, 1.8vh, 14px);
}

.scenario-deck-stage[data-page-key="webinar"] .deck-webinar:not(.deck-webinar-workspace) .deck-webinar-points {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Live practice focus mode. Only the current question owns the keyboard viewport. */
.scenario-practice-keyboard-hide {
  display: none;
  min-height: 36px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 10px;
  color: var(--soft);
  background: rgba(255, 255, 255, 0.05);
  font: inherit;
  font-size: 11px;
}

.scenario-deck.practice-keyboard-open .scenario-deck-stage {
  overflow: hidden !important;
}

.scenario-deck.practice-keyboard-open .deck-webinar-workspace {
  min-height: 100%;
  padding: 5px;
  overflow: hidden !important;
}

.scenario-deck.practice-keyboard-open .deck-webinar-workspace > *:not(#scenarioWebinarPracticeSurface) {
  display: none !important;
}

.scenario-deck.practice-keyboard-open #scenarioWebinarPracticeSurface,
.scenario-deck.practice-keyboard-open .scenario-practice-card {
  height: 100%;
  min-height: 0;
}

.scenario-deck.practice-keyboard-open .scenario-practice-card {
  padding: 7px;
  display: grid;
  grid-template-rows: auto auto auto auto minmax(70px, 1fr) auto auto auto;
  gap: 5px;
  overflow-y: auto;
}

.scenario-deck.practice-keyboard-open .scenario-practice-safety,
.scenario-deck.practice-keyboard-open .scenario-practice-example {
  display: none;
}

.scenario-deck.practice-keyboard-open .scenario-practice-card h3,
.scenario-deck.practice-keyboard-open .scenario-practice-card p {
  margin: 0;
}

.scenario-deck.practice-keyboard-open .scenario-practice-card textarea {
  min-height: 70px;
  resize: none;
}

.scenario-deck.practice-keyboard-open .scenario-practice-keyboard-hide {
  display: block;
}

.scenario-practice-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.scenario-practice-actions #scenarioPracticeNextBtn {
  grid-column: 1 / -1;
  grid-row: 1;
  min-height: 48px;
}

.scenario-practice-actions #scenarioPracticeBackBtn,
.scenario-practice-actions #scenarioPracticeSkipBtn {
  min-height: 44px;
}

/* Profile accordion keeps one result open and prevents the long-card pile. */
.deck-journal {
  min-height: 100%;
}

.profile-accordion {
  display: grid;
  gap: 8px;
}

.profile-accordion-item {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.035);
}

.profile-accordion-item.open {
  border-color: rgba(255, 196, 0, 0.38);
  box-shadow: inset 0 0 0 1px rgba(255, 196, 0, 0.08);
}

.profile-accordion-toggle {
  width: 100%;
  min-height: 58px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 0;
  color: var(--text);
  background: transparent;
  font: inherit;
  text-align: left;
}

.profile-accordion-toggle span,
.profile-accordion-toggle strong,
.profile-accordion-toggle small {
  display: block;
}

.profile-accordion-toggle small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
}

.profile-accordion-toggle > b {
  color: var(--gold);
  transform: rotate(-90deg);
  transition: transform 0.16s ease;
}

.profile-accordion-item.open .profile-accordion-toggle > b {
  transform: rotate(0);
}

.profile-accordion-content {
  padding: 0 9px 9px;
}

.profile-accordion-content > section,
.profile-accordion-content > article {
  margin: 0;
  border-radius: 12px;
}

/* Program: stage scrolls, level groups expand, no nested scrollbar. */
.deck-program-main {
  display: grid;
  grid-template-rows: none;
  gap: 11px;
}

.deck-program-groups {
  display: grid;
  gap: 7px;
}

.deck-program-group {
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.025);
}

.deck-program-group[open] {
  border-color: rgba(255, 196, 0, 0.35);
}

.deck-program-group > summary {
  min-height: 54px;
  padding: 9px 11px;
  display: grid;
  align-content: center;
  gap: 3px;
  cursor: pointer;
  list-style: none;
}

.deck-program-group > summary::-webkit-details-marker {
  display: none;
}

.deck-program-group > summary span,
.deck-program-group > summary small {
  display: block;
}

.deck-program-group > summary span {
  color: #fff2c8;
  font-weight: 850;
}

.deck-program-group > summary small {
  color: var(--muted);
}

.deck-program-group .deck-program-days,
.deck-day31-compact {
  padding: 0 9px 10px;
}

.deck-day31-compact h3 {
  margin: 0 0 5px;
  color: #fff2c8;
}

.deck-day31-compact ul {
  margin: 8px 0 0;
  padding-left: 18px;
  color: var(--soft);
}

/* Second diagnostic follows the same visual grammar as the first one. */
.practice-screen-mode #resultCard.practice-flow-active #practiceDiagnosticBlock {
  border: 0;
  box-shadow: inset 0 0 0 1px rgba(255, 196, 0, 0.42);
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 196, 0, 0.1), transparent 32%),
    rgba(18, 5, 27, 0.96);
}

.practice-screen-mode .practice-diagnostic-scale,
.practice-screen-mode .practice-diagnostic-control-options,
.practice-screen-mode .format-options {
  grid-auto-rows: minmax(52px, 1fr);
  gap: 7px;
}

.practice-screen-mode .practice-diagnostic-answer,
.practice-screen-mode .practice-control-option,
.practice-screen-mode .format-options .practice-control-option {
  min-height: 52px;
  padding: 9px 11px;
  border-radius: 12px;
}

.practice-screen-mode #practiceDiagnosticResult {
  padding: 4px 5px 12px 1px;
  gap: 9px;
  grid-auto-rows: max-content;
  align-content: start;
  overflow-anchor: none;
}

.practice-primary-result,
.format-recommendation-block,
.practice-result-profile-link,
.practice-result-next {
  width: 100%;
  min-width: 0;
  padding: 13px;
  border-radius: 14px;
  overflow: visible;
  min-height: max-content;
}

.practice-screen-mode #practiceDiagnosticResult > * {
  min-height: max-content;
}

.practice-screen-mode #practiceDiagnosticResult > :empty {
  display: none;
}

.practice-screen-mode .format-recommendation-block,
.practice-screen-mode .practice-result-profile-link,
.practice-screen-mode .practice-result-next,
.practice-screen-mode #practiceDiagnosticSummary,
.practice-screen-mode #practiceDiagnosticDisclaimer {
  margin: 0;
}

.practice-primary-result h4,
.format-recommendation-block h4,
.practice-result-next h4 {
  overflow-wrap: anywhere;
}

.practice-result-next {
  display: grid;
  gap: 8px;
  border: 1px solid rgba(255, 196, 0, 0.4);
  background: rgba(255, 196, 0, 0.065);
}

.practice-result-next .button-link {
  width: 100%;
  min-height: 48px;
  margin: 0;
}

/* Referral dashboard fits the visible window; legal detail owns its own sheet. */
.deck-referral {
  min-height: 100%;
  align-content: center;
  gap: 9px;
}

.deck-referral .referral-link-card {
  padding: 9px;
}

.deck-referral .referral-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.deck-referral .referral-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.referral-compact-finance {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: var(--muted);
  font-size: 10px;
}

.referral-compact-finance strong {
  color: var(--cream);
}

.referral-terms-panel {
  position: fixed;
  inset: 0;
  z-index: 100;
  padding: max(12px, env(safe-area-inset-top, 0px)) 10px max(12px, env(safe-area-inset-bottom, 0px));
  display: grid;
  align-items: end;
  background: rgba(5, 0, 13, 0.76);
  backdrop-filter: blur(9px);
}

.referral-terms-sheet {
  width: min(560px, 100%);
  max-height: min(82dvh, 720px);
  margin: 0 auto;
  padding: 13px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 10px;
  border: 1px solid rgba(255, 196, 0, 0.42);
  border-radius: 18px;
  background: #180b21;
}

.referral-terms-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 10px;
}

.referral-terms-head h3 {
  margin: 3px 0 0;
  color: #fff2c8;
}

.referral-terms-close {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  color: var(--text);
  background: rgba(255, 255, 255, 0.06);
  font-size: 25px;
}

.referral-terms-scroll {
  min-height: 0;
  padding-right: 4px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.referral-rewards {
  display: grid;
  gap: 5px;
}

.referral-rewards > div {
  padding: 8px;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.04);
}

.referral-evidence-scroll {
  display: grid;
  align-content: start;
  gap: 10px;
}

.referral-evidence-card,
.referral-evidence-empty {
  padding: 12px;
  display: grid;
  gap: 9px;
  border: 1px solid rgba(255, 196, 0, 0.24);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.045);
}

.referral-evidence-card > div:first-child {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.referral-evidence-card > div:first-child span,
.referral-evidence-card > small,
.referral-evidence-empty p {
  color: var(--muted);
}

.referral-evidence-card > div:first-child strong {
  flex: 0 0 auto;
  color: var(--gold-2);
}

.referral-evidence-status {
  margin: 0;
  color: var(--cream);
  font-weight: 850;
}

.referral-evidence-form {
  display: grid;
  gap: 9px;
}

.referral-evidence-form label {
  display: grid;
  gap: 5px;
  color: var(--soft);
  font-size: 12px;
  font-weight: 750;
}

.referral-evidence-form textarea,
.referral-evidence-form input[type="file"] {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 11px;
  color: var(--text);
  background: rgba(6, 0, 16, 0.72);
  font: inherit;
  font-size: 16px;
}

.referral-evidence-form textarea {
  min-height: 88px;
  padding: 10px;
  resize: vertical;
}

.referral-evidence-form input[type="file"] {
  min-height: 48px;
  padding: 8px;
}

.referral-evidence-form input[type="file"]::file-selector-button {
  min-height: 32px;
  margin-right: 8px;
  padding: 5px 9px;
  border: 1px solid rgba(255, 196, 0, 0.48);
  border-radius: 8px;
  color: #fff1bd;
  background: rgba(255, 196, 0, 0.12);
  font-weight: 800;
}

.referral-evidence-files {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.referral-evidence-files button {
  min-height: 40px;
  padding: 7px 9px;
  border: 1px solid rgba(188, 105, 255, 0.5);
  border-radius: 9px;
  color: #f3ddff;
  background: rgba(104, 38, 145, 0.22);
  font-weight: 750;
}

.referral-evidence-message {
  min-height: 18px;
  margin: 0;
  color: #bbefca;
  font-size: 12px;
}

.referral-evidence-message.error {
  color: #ffc7c7;
}

@media (max-width: 350px), (max-height: 620px) {
  .scenario-deck {
    padding: 5px;
    gap: 5px;
  }

  .scenario-deck-stage[data-page-key="webinar"] .deck-webinar:not(.deck-webinar-workspace) {
    padding: 7px;
    gap: 5px;
  }

  .scenario-deck-stage[data-page-key="webinar"] .deck-webinar:not(.deck-webinar-workspace) > .deck-note:last-child {
    display: none;
  }

  .deck-webinar-points span {
    padding: 6px 4px;
    font-size: 9px;
  }

  .deck-referral {
    padding: 9px;
    gap: 6px;
  }
}

/* Self-diagnosis v4 result: two clear screens with the same immediate Audit CTA. */
.scenario-deck-stage[data-page-key="overview"] > .v4-result-page,
.scenario-deck-stage[data-page-key="scenario-mechanics"] > .v4-result-page {
  width: 100%;
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
  padding: clamp(11px, 3vw, 16px);
  display: grid !important;
  align-content: start !important;
  gap: clamp(8px, 1.7vh, 12px);
  overflow: visible !important;
  border-color: rgba(215, 124, 255, .24);
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 196, 0, .12), transparent 35%),
    radial-gradient(circle at 0% 100%, rgba(155, 44, 255, .13), transparent 44%),
    rgba(255, 255, 255, .032);
}

.scenario-deck-stage[data-page-key="scenario-mechanics"] {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.v4-result-page .deck-result-intro,
.v4-mechanics-head {
  display: grid;
  gap: 5px;
}

.v4-result-page .deck-product-role {
  padding: 4px 8px;
  color: #f3c7ff;
  border: 1px solid rgba(215, 124, 255, .23);
  background: rgba(155, 44, 255, .12);
}

.v4-result-page h2 {
  color: #fff;
  font-size: clamp(18px, 5vw, 25px);
  letter-spacing: -.015em;
}

.v4-result-page .deck-lead,
.v4-mechanics-head > p {
  color: #ddd1e5;
  font-size: clamp(12px, 3.2vw, 14px);
  line-height: 1.36;
}

.scenario-deck-stage[data-page-key="overview"] .v4-result-page .deck-result-map {
  height: auto;
  min-height: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: none;
  gap: 5px;
}

.scenario-deck-stage[data-page-key="overview"] .v4-result-page .deck-result-map > div {
  min-height: 48px;
  height: auto;
  padding: 7px 8px;
  align-content: start;
  border: 1px solid rgba(255, 255, 255, .07);
  background: rgba(6, 0, 15, .48);
}

.v4-result-page .deck-result-map span {
  color: #a99caf;
  font-size: 10px;
  letter-spacing: .04em;
}

.v4-result-page .deck-result-map strong {
  color: #fff8df;
  font-size: clamp(11px, 2.9vw, 13px);
  line-height: 1.18;
}

.v4-result-page .deck-entry-highlight {
  min-height: 0;
  padding: 10px 11px 10px 15px;
  gap: 3px;
  border-color: rgba(255, 196, 0, .42);
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 196, 0, .14), transparent 48%),
    linear-gradient(135deg, rgba(155, 44, 255, .16), rgba(255, 196, 0, .05));
}

.v4-result-page .deck-entry-highlight span {
  color: #e2a7ff;
}

.v4-result-page .deck-entry-highlight strong {
  color: #fff1b8;
  font-size: clamp(16px, 4.5vw, 21px);
}

.v4-result-page .deck-entry-highlight p {
  color: #e2d7e8;
  font-size: clamp(12px, 3.2vw, 14px);
}

.v4-result-page .deck-cycle-note {
  padding: 6px 8px;
  border-left-color: rgba(215, 124, 255, .62);
  color: #b9acbf !important;
  background: rgba(155, 44, 255, .055);
  font-size: clamp(11px, 2.9vw, 13px) !important;
  line-height: 1.3;
}

.v4-audit-cta {
  position: relative;
  padding: 12px;
  display: grid;
  gap: 9px;
  overflow: hidden;
  border: 1px solid rgba(255, 196, 0, .48);
  border-radius: 14px;
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 196, 0, .17), transparent 42%),
    linear-gradient(135deg, rgba(155, 44, 255, .18), rgba(16, 4, 24, .82));
  box-shadow: 0 12px 30px rgba(0, 0, 0, .2);
}

.v4-audit-cta > div:first-child {
  display: grid;
  gap: 5px;
}

.v4-audit-cta > div:first-child > span {
  color: #df9eff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.v4-audit-cta > div:first-child > strong {
  color: #fff4c7;
  font-size: clamp(17px, 4.5vw, 20px);
  line-height: 1.2;
}

.v4-audit-cta > div:first-child > p {
  margin: 0;
  color: #f0e6f2;
  font-size: clamp(13px, 3.5vw, 15px);
  line-height: 1.4;
}

.v4-audit-cta .deck-action.primary {
  width: 100%;
  min-height: 50px;
  margin: 0;
  padding: 9px 12px;
  color: #170020;
  background: linear-gradient(135deg, #ffe58b, var(--gold) 58%, #e5a8ff);
  box-shadow: 0 9px 24px rgba(255, 196, 0, .15);
  font-size: clamp(14px, 3.7vw, 16px);
  line-height: 1.25;
}

.v4-audit-window {
  min-height: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
}

.v4-audit-window > span {
  width: 100%;
  color: #e3d4e9;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
}

.v4-audit-window .deck-countdown {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  padding: 7px 9px;
  font-variant-numeric: tabular-nums;
  font-size: 13px !important;
  font-weight: 700;
  line-height: 1.35;
  white-space: normal;
}

.v4-audit-cta.is-compact {
  padding: 11px;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}

.v4-audit-cta.is-compact .deck-action.primary {
  min-height: 50px;
}

.v4-audit-closed {
  padding: 10px 11px;
  display: grid;
  gap: 3px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 12px;
  background: rgba(255, 255, 255, .035);
}

.v4-audit-closed strong {
  color: #fff4c7;
  font-size: 12px;
}

.v4-audit-closed span {
  color: #c7bacd;
  font-size: 9px;
  line-height: 1.32;
}

.v4-mechanics-list {
  display: grid;
  gap: 6px;
}

.v4-mechanics-card {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 11px;
  background: rgba(5, 0, 13, .45);
}

.v4-mechanics-card.is-direction {
  border-color: rgba(255, 196, 0, .28);
  background: rgba(255, 196, 0, .055);
}

.v4-mechanics-card summary {
  min-height: 42px;
  padding: 8px 10px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18px;
  align-items: center;
  gap: 8px;
  color: #f4e9f7;
  font-size: clamp(12px, 3.2vw, 14px);
  font-weight: 850;
  line-height: 1.22;
  list-style: none;
  cursor: pointer;
}

.v4-mechanics-card summary::-webkit-details-marker {
  display: none;
}

.v4-mechanics-card summary i {
  width: 18px;
  height: 18px;
  position: relative;
  border-radius: 50%;
  background: rgba(215, 124, 255, .11);
}

.v4-mechanics-card summary i::before,
.v4-mechanics-card summary i::after {
  content: "";
  position: absolute;
  top: 8px;
  left: 5px;
  width: 8px;
  height: 1.5px;
  border-radius: 999px;
  background: #e0a5ff;
}

.v4-mechanics-card summary i::after {
  transform: rotate(90deg);
  transition: transform .16s ease;
}

.v4-mechanics-card[open] summary i::after {
  transform: rotate(0deg);
}

.v4-mechanics-card p {
  padding: 0 10px 10px;
  color: #cfc2d5;
  font-size: clamp(12px, 3.2vw, 14px);
  line-height: 1.36;
}

.scenario-deck-stage[data-page-key="scenario-video"] > .scenario-personal-video {
  display: grid;
  gap: 16px;
  align-content: start;
}

.scenario-personal-video-head > span {
  color: var(--gold);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.scenario-personal-video-head h2 {
  margin: 7px 0 8px;
  color: #fff;
  font-size: clamp(25px, 7vw, 34px);
  line-height: 1.02;
}

.scenario-personal-video-head p {
  margin: 0;
  color: rgba(255, 255, 255, .74);
  font-size: 14px;
  line-height: 1.5;
}

.scenario-personal-video-frame,
.scenario-personal-video-cover,
.scenario-personal-video-pending {
  position: relative;
  min-height: 205px;
  overflow: hidden;
  border: 1px solid rgba(206, 143, 255, .34);
  border-radius: 22px;
  background: #090511;
  box-shadow: inset 0 0 42px rgba(126, 49, 180, .15);
}

.scenario-personal-video-frame {
  aspect-ratio: 16 / 9;
  min-height: 0;
}

.scenario-personal-video-frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.scenario-personal-video-cover,
.scenario-personal-video-pending {
  isolation: isolate;
  width: 100%;
  padding: 28px;
  color: #fff;
  text-align: left;
}

.scenario-personal-video-cover::before,
.scenario-personal-video-pending::before {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--scenario-video-cover, linear-gradient(135deg, #14071f, #391052));
  background-position: center;
  background-size: cover;
  content: '';
}

.scenario-personal-video-cover::after,
.scenario-personal-video-pending::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(5, 2, 10, .9), rgba(5, 2, 10, .35));
  content: '';
}

.scenario-personal-video-cover {
  display: flex;
  align-items: center;
  gap: 13px;
  border-color: rgba(245, 211, 40, .55);
  cursor: pointer;
}

.scenario-personal-video-cover > span {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 50%;
  background: #f5d328;
  color: #180720;
  font-size: 18px;
  box-shadow: 0 0 30px rgba(245, 211, 40, .38);
}

.scenario-personal-video-pending {
  display: grid;
  align-content: end;
  gap: 5px;
}

.scenario-personal-video-pending > span {
  color: #f5d328;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.scenario-personal-video-pending > strong {
  font-size: 21px;
}

.scenario-personal-video-pending > p {
  max-width: 420px;
  margin: 3px 0 0;
  color: rgba(255, 255, 255, .76);
  font-size: 13px;
  line-height: 1.45;
}

.contact-self-offer {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(245, 211, 40, .38);
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0%, rgba(245, 211, 40, .13), transparent 46%),
    linear-gradient(145deg, rgba(49, 18, 61, .94), rgba(17, 7, 27, .98));
}

.contact-self-offer > span {
  color: #f5d328;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.contact-self-offer h3,
.contact-self-offer p,
.contact-self-offer ul,
.contact-self-offer small { margin: 0; }
.contact-self-offer h3 { color: #fff; font-size: 21px; }
.contact-self-offer p,
.contact-self-offer li { color: rgba(255, 255, 255, .78); font-size: 12px; line-height: 1.42; }
.contact-self-offer ul { display: grid; gap: 5px; padding-left: 18px; }
.contact-self-offer small { color: rgba(255, 255, 255, .55); font-size: 9px; line-height: 1.35; }
.contact-self-offer.is-compact { padding: 11px; gap: 7px; }
.contact-self-offer.is-compact ul,
.contact-self-offer.is-compact small { display: none; }
.contact-self-offer-video {
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border: 1px solid rgba(215, 124, 255, .28);
  border-radius: 13px;
  background: #07030d;
}
.contact-self-offer-video iframe { width: 100%; height: 100%; border: 0; }
.contact-self-video-link {
  min-height: 44px;
  border: 1px solid rgba(215, 124, 255, .34);
  border-radius: 12px;
  color: #fff;
  background: rgba(155, 44, 255, .12);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.contact-self-video-pending {
  padding: 10px;
  border-radius: 11px;
  background: rgba(255, 255, 255, .045);
}

.contact-self-gateway {
  display: grid;
  gap: 8px;
  padding: 13px;
  border: 1px solid rgba(255, 196, 0, .42);
  border-radius: 15px;
  background: linear-gradient(145deg, rgba(67, 29, 70, .96), rgba(24, 10, 35, .98));
}

.contact-self-gateway > span {
  color: #ffdd6d;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.contact-self-gateway > strong {
  color: #fff4cf;
  font-size: clamp(14px, 3.8vw, 17px);
  line-height: 1.24;
}

.contact-self-gateway > p,
.contact-self-gateway > small {
  margin: 0;
  color: #d8cadd;
  font-size: 11px;
  line-height: 1.4;
}

.contact-self-gateway.is-compact > p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.contact-self-gateway .deck-action {
  width: 100%;
  min-height: 46px;
  margin: 0;
  padding-inline: 10px;
  font-size: clamp(10px, 2.9vw, 13px);
}

.scenario-deck-dots button {
  min-width: 7px;
  width: 7px;
  height: 7px;
}

.scenario-deck-dots button.active {
  width: 19px;
  background: linear-gradient(90deg, var(--purple-2), var(--gold));
}

@media (max-width: 350px), (max-height: 620px) {
  .scenario-deck-stage[data-page-key="overview"] > .v4-result-page,
  .scenario-deck-stage[data-page-key="scenario-mechanics"] > .v4-result-page {
    padding: 9px;
    gap: 6px;
  }

  .v4-audit-cta {
    padding: 10px;
    gap: 7px;
  }

  .v4-audit-cta .deck-action.primary {
    min-height: 48px;
  }

  .v4-result-page .deck-cycle-note {
    padding: 5px 7px;
  }
}

.screen-scroll-marker,
.deck-overview::before,
.deck-deadline::before,
.deck-audit::before,
.deck-personal-days::before,
.deck-journal::before,
.deck-conversion-final::before {
  content: "↕ Листай экран";
  position: sticky;
  top: 0;
  z-index: 6;
  width: max-content;
  max-width: 100%;
  margin-left: auto;
  padding: 4px 8px;
  border: 1px solid rgba(255, 196, 0, 0.4);
  border-radius: 999px;
  color: #fff2a8;
  background: rgba(28, 7, 38, 0.94);
  box-shadow: 0 4px 12px rgba(5, 0, 13, 0.35);
  font-size: 9px;
  font-weight: 800;
  line-height: 1.2;
}

.screen-scroll-marker {
  margin-bottom: 4px;
}

.deck-webinar-keyboard-hide {
  min-height: 34px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 9px;
  color: var(--soft);
  background: rgba(255, 255, 255, 0.06);
  font: inherit;
  font-size: 10px;
}

.scenario-deck.keyboard-open .deck-webinar > .deck-product-role,
.scenario-deck.keyboard-open .deck-webinar > h2 {
  display: none;
}

.scenario-deck.keyboard-open .deck-webinar-code-gate {
  margin-top: 0;
  padding-top: 4px;
}

.scenario-form-mode .scenario-screen-levels .multi-options {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
}

.scenario-form-mode .scenario-screen-levels .scenario-option,
.scenario-form-mode .scenario-screen-levels .general-break-option {
  height: 100%;
  min-height: 100%;
}

/* Product details own the scroll area; the surrounding deck must not clip the CTA. */
.scenario-deck-stage[data-page-key^="product-"],
.scenario-deck-stage[data-page-key="formats"] {
  overflow: hidden;
}

.scenario-deck-stage[data-page-key^="product-"] .deck-product {
  height: 100%;
  max-height: 100%;
  min-height: 0;
  padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  touch-action: pan-y;
}

.deck-product h2,
.deck-product p,
.deck-product small,
.deck-product-includes span,
.deck-product-terms span,
.deck-product-terms small,
.deck-product-actions,
.deck-product-actions .deck-action {
  min-width: 0;
  overflow-wrap: anywhere;
}

.deck-product-actions .deck-action {
  white-space: normal;
}

.deck-product-actions .deck-payment-open {
  display: grid;
  gap: 2px;
  place-content: center;
  text-align: center;
}

.deck-product-actions .deck-payment-open span {
  font-size: 8px;
  line-height: 1.15;
}

.deck-product-actions .deck-payment-open strong {
  font-size: 11px;
  line-height: 1.1;
}

/* The three comparison cards stay visible together; scrolling begins inside a chosen tariff. */
.scenario-deck-stage[data-page-key="formats"] .deck-formats {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto auto auto minmax(0, 1fr) auto;
  overflow: hidden;
}

.scenario-deck-stage[data-page-key="formats"] .deck-format-options {
  min-height: 0;
  display: grid;
  grid-template-rows: repeat(3, minmax(0, 1fr));
}

.scenario-deck-stage[data-page-key="formats"] .deck-format-jump {
  min-height: 0;
  overflow: hidden;
}

@media (max-height: 620px) {
  .scenario-deck-stage[data-page-key="formats"] {
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .scenario-deck-stage[data-page-key="formats"] .deck-formats {
    height: auto;
    min-height: 100%;
    padding: 7px;
    gap: 4px;
    grid-template-rows: auto auto auto auto auto auto;
    overflow: visible;
  }

  .scenario-deck-stage[data-page-key="formats"] .deck-formats > p {
    -webkit-line-clamp: 2;
  }

  .scenario-deck-stage[data-page-key="formats"] .deck-format-jump {
    min-height: 64px;
    padding: 4px 7px;
    overflow: visible;
  }

  .scenario-deck-stage[data-page-key="formats"] .deck-format-options {
    grid-template-rows: none;
    grid-auto-rows: minmax(64px, auto);
  }

  .scenario-deck-stage[data-page-key="formats"] .deck-format-jump strong {
    font-size: 9px;
  }

  .scenario-deck-stage[data-page-key="formats"] .deck-format-jump span,
  .scenario-deck-stage[data-page-key="formats"] .deck-format-jump small {
    font-size: 8px;
  }
}

/* Final responsive pass: steps 1–3 use the full free height without touching steps 4–5. */
.scenario-form-mode .scenario-screen-segment {
  grid-template-rows: auto auto auto minmax(0, 1fr);
}

.scenario-form-mode .scenario-screen-scenario,
.scenario-form-mode .scenario-screen-manifestation {
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
}

.scenario-form-mode .scenario-screen-segment h3,
.scenario-form-mode .scenario-screen-scenario h3,
.scenario-form-mode .scenario-screen-manifestation h3 {
  font-size: clamp(17px, 4.5vw, 21px);
}

.scenario-form-mode .scenario-screen-segment .scenario-step,
.scenario-form-mode .scenario-screen-scenario .scenario-step {
  width: 100%;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.scenario-entry-inline {
  min-width: 0;
  max-width: 54%;
  overflow: hidden;
  color: var(--purple-2);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 0.02em;
  text-overflow: ellipsis;
  text-transform: none;
  white-space: nowrap;
}

.scenario-form-mode .scenario-screen-segment .scenario-hint,
.scenario-form-mode .scenario-screen-scenario .scenario-hint,
.scenario-form-mode .scenario-screen-manifestation .scenario-hint {
  font-size: clamp(12px, 3.2vw, 14px);
  line-height: 1.3;
}

.scenario-form-mode .scenario-screen-segment .scenario-options,
.scenario-form-mode .scenario-screen-scenario .scenario-options,
.scenario-form-mode .scenario-screen-manifestation .scenario-options {
  height: 100%;
  min-height: 0;
  padding-right: 5px;
  grid-auto-rows: minmax(68px, 1fr);
  align-content: stretch;
  overflow-x: hidden;
  overflow-y: auto;
}

.scenario-form-mode .scenario-screen-segment .scenario-option,
.scenario-form-mode .scenario-screen-scenario .scenario-option,
.scenario-form-mode .scenario-screen-manifestation .scenario-option {
  height: 100%;
  min-height: 68px;
  padding: clamp(11px, 2.4vh, 17px) clamp(12px, 3.2vw, 18px);
  display: grid;
  align-content: center;
  border-radius: 13px;
}

.scenario-form-mode .scenario-screen-segment .scenario-option strong,
.scenario-form-mode .scenario-screen-scenario .scenario-option strong,
.scenario-form-mode .scenario-screen-manifestation .scenario-option strong {
  font-size: clamp(14px, 3.8vw, 17px);
  line-height: 1.22;
}

.scenario-form-mode .scenario-screen-segment .scenario-option span,
.scenario-form-mode .scenario-screen-scenario .scenario-option span,
.scenario-form-mode .scenario-screen-manifestation .scenario-option span {
  margin-top: 4px;
  font-size: clamp(11px, 3vw, 13px);
  line-height: 1.3;
}

/* Scroll is shown by a real gold rail only when content actually overflows. */
.deck-overview::before,
.deck-deadline::before,
.deck-audit::before,
.deck-personal-days::before,
.deck-journal::before,
.deck-conversion-final::before {
  content: none;
}

.scenario-form-mode .scenario-screen-segment .scenario-options,
.scenario-form-mode .scenario-screen-scenario .scenario-options,
.scenario-form-mode .scenario-screen-manifestation .scenario-options,
.deck-overview,
.deck-deadline,
.deck-audit,
.deck-personal-days,
.deck-journal,
.deck-conversion-final,
.deck-webinar,
.deck-program-scroll,
.deck-product,
.deck-my-summary,
#practiceDiagnosticResult {
  scrollbar-color: rgba(255, 196, 0, 0.82) rgba(255, 255, 255, 0.06);
  scrollbar-width: thin;
  scrollbar-gutter: stable;
}

.scenario-form-mode .scenario-screen-segment .scenario-options::-webkit-scrollbar,
.scenario-form-mode .scenario-screen-scenario .scenario-options::-webkit-scrollbar,
.scenario-form-mode .scenario-screen-manifestation .scenario-options::-webkit-scrollbar,
.deck-overview::-webkit-scrollbar,
.deck-deadline::-webkit-scrollbar,
.deck-audit::-webkit-scrollbar,
.deck-personal-days::-webkit-scrollbar,
.deck-journal::-webkit-scrollbar,
.deck-conversion-final::-webkit-scrollbar,
.deck-webinar::-webkit-scrollbar,
.deck-program-scroll::-webkit-scrollbar,
.deck-product::-webkit-scrollbar,
.deck-my-summary::-webkit-scrollbar,
#practiceDiagnosticResult::-webkit-scrollbar {
  width: 6px;
}

.scenario-form-mode .scenario-screen-segment .scenario-options::-webkit-scrollbar-thumb,
.scenario-form-mode .scenario-screen-scenario .scenario-options::-webkit-scrollbar-thumb,
.scenario-form-mode .scenario-screen-manifestation .scenario-options::-webkit-scrollbar-thumb,
.deck-overview::-webkit-scrollbar-thumb,
.deck-deadline::-webkit-scrollbar-thumb,
.deck-audit::-webkit-scrollbar-thumb,
.deck-personal-days::-webkit-scrollbar-thumb,
.deck-journal::-webkit-scrollbar-thumb,
.deck-conversion-final::-webkit-scrollbar-thumb,
.deck-webinar::-webkit-scrollbar-thumb,
.deck-program-scroll::-webkit-scrollbar-thumb,
.deck-product::-webkit-scrollbar-thumb,
.deck-my-summary::-webkit-scrollbar-thumb,
#practiceDiagnosticResult::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(255, 196, 0, 0.82);
}

.practice-route-back,
.practice-screen-mode .practice-route-back {
  width: fit-content;
  max-width: 100%;
  min-height: 32px;
  margin: 0;
  padding: 6px 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: start;
  border-radius: 999px;
  font-size: 10px;
  line-height: 1.15;
  white-space: normal;
}

.practice-sequence-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.practice-sequence-copy strong {
  color: var(--soft);
}

.practice-sequence-copy small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.3;
}

.deck-webinar-keyboard-hide {
  display: none;
}

.scenario-deck.keyboard-open .deck-webinar-keyboard-hide {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.deck-action-status a {
  color: var(--gold-2);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.3;
  text-decoration: none;
}

.deck-summary-audit-time {
  border-color: rgba(255, 196, 0, 0.42);
}

.deck-personal-days {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 9px;
  overflow-x: hidden;
  overflow-y: auto;
}

.deck-personal-days > *,
.deck-personal-days .deck-support,
.deck-personal-days .deck-personal-day-list {
  min-height: max-content;
  flex: 0 0 auto;
}

.deck-personal-days .deck-support > div {
  grid-template-columns: minmax(0, 1fr);
  gap: 4px;
}

.deck-personal-days .deck-support small {
  overflow-wrap: anywhere;
  line-height: 1.32;
}

@media (max-height: 610px) {
  .scenario-form-mode .scenario-screen-segment .scenario-options,
  .scenario-form-mode .scenario-screen-scenario .scenario-options,
  .scenario-form-mode .scenario-screen-manifestation .scenario-options {
    grid-auto-rows: minmax(58px, 1fr);
  }

  .scenario-form-mode .scenario-screen-segment .scenario-option,
  .scenario-form-mode .scenario-screen-scenario .scenario-option,
  .scenario-form-mode .scenario-screen-manifestation .scenario-option {
    min-height: 58px;
    padding-block: 8px;
  }
}

/* Final test layout: keep choices inside their own area and controls unobstructed. */
.scenario-form-mode .scenario-screen-levels {
  overflow: hidden;
}

.scenario-form-mode .scenario-screen-levels .multi-options {
  height: 100%;
  min-height: 0;
  padding-right: 5px;
  grid-auto-rows: minmax(72px, 1fr);
  align-content: stretch;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-color: rgba(255, 196, 0, 0.82) rgba(255, 255, 255, 0.06);
  scrollbar-width: thin;
  scrollbar-gutter: stable;
}

.scenario-form-mode .scenario-screen-levels .scenario-option,
.scenario-form-mode .scenario-screen-levels .general-break-option {
  height: auto;
  min-height: 72px;
}

.scenario-form-mode .scenario-screen-clarification {
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  overflow: hidden;
}

.scenario-form-mode .scenario-screen-clarification .scenario-options {
  height: 100%;
  min-height: 0;
  padding-right: 5px;
  grid-auto-rows: minmax(76px, 1fr);
  align-content: stretch;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-color: rgba(255, 196, 0, 0.82) rgba(255, 255, 255, 0.06);
  scrollbar-width: thin;
  scrollbar-gutter: stable;
}

.scenario-form-mode .scenario-screen-clarification .scenario-option {
  height: 100%;
  min-height: 76px;
  display: grid;
  align-content: center;
  padding: 12px 14px;
}

.scenario-form-mode .scenario-screen-levels .multi-options::-webkit-scrollbar,
.scenario-form-mode .scenario-screen-clarification .scenario-options::-webkit-scrollbar {
  width: 6px;
}

.scenario-form-mode .scenario-screen-levels .multi-options::-webkit-scrollbar-thumb,
.scenario-form-mode .scenario-screen-clarification .scenario-options::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(255, 196, 0, 0.82);
}

.deck-webinar {
  padding-bottom: max(16px, env(safe-area-inset-bottom, 0px));
}

.deck-webinar-code-status {
  min-height: 24px;
  margin: 0 0 4px;
  padding: 5px 8px;
  border-radius: 8px;
  background: rgba(255, 196, 0, 0.06);
  line-height: 1.25;
}

.deck-summary-practices {
  display: grid;
  gap: 6px;
}

.deck-summary-practices > span {
  color: var(--gold-2);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.deck-summary-practices > div {
  min-width: 0;
  padding: 8px 9px;
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.035);
}

.deck-summary-practices > div.primary {
  border-color: rgba(255, 196, 0, 0.38);
  background: rgba(255, 196, 0, 0.07);
}

.deck-summary-practices b {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #17120a;
  background: linear-gradient(135deg, var(--gold), #fff2a8);
  font-size: 10px;
}

.deck-summary-practices strong,
.deck-summary-practices small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

/* Personal progress: diagnosis profile, webinar practice and observations. */
.scenario-deck-stage[data-page-key="journal"] {
  overflow: hidden;
}

.deck-journal {
  width: 100%;
  max-width: 620px;
  padding-bottom: max(18px, env(safe-area-inset-bottom, 0px));
  align-content: start;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.progress-profile-card,
.progress-selection-profile,
.scenario-practice-card,
.progress-observations,
.deck-webinar-progress-prompt {
  padding: 12px;
  display: grid;
  gap: 10px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.035);
}

.progress-profile-card {
  border-color: rgba(215, 124, 255, 0.28);
  background:
    radial-gradient(circle at 100% 0%, rgba(155, 44, 255, 0.13), transparent 42%),
    rgba(255, 255, 255, 0.035);
}

.progress-selection-profile {
  padding: 12px;
  display: grid;
  gap: 10px;
  border: 1px solid rgba(255, 196, 0, 0.3);
  border-radius: 14px;
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 196, 0, 0.11), transparent 42%),
    rgba(255, 255, 255, 0.035);
}

.progress-selection-primary,
.progress-format-result {
  padding: 11px;
  display: grid;
  gap: 5px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
}

.progress-selection-primary > span,
.progress-format-result > span {
  color: var(--gold-2);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.progress-selection-primary h3,
.progress-format-result h3 {
  margin: 0;
  color: #fff;
  font-size: 16px;
  line-height: 1.25;
}

.progress-selection-primary p,
.progress-format-result p,
.progress-format-result small {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.4;
}

.profile-practice-list,
.profile-practice-sequence,
.profile-reason-list {
  display: grid;
  gap: 7px;
}

.profile-practice-list > div,
.profile-practice-sequence > div {
  min-width: 0;
  padding: 8px 9px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.045);
}

.profile-practice-list strong,
.profile-practice-list span,
.profile-practice-sequence strong,
.profile-practice-sequence small {
  display: block;
  overflow-wrap: anywhere;
}

.profile-practice-list strong,
.profile-practice-sequence strong {
  color: #fff;
  font-size: 11px;
}

.profile-practice-list span,
.profile-practice-sequence small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
}

.profile-practice-sequence > div {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 8px;
}

.profile-practice-sequence b {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--gold-2);
  background: rgba(255, 196, 0, 0.1);
  font-size: 9px;
}

.profile-practice-sequence > div.primary {
  border: 1px solid rgba(255, 196, 0, 0.3);
  background: rgba(255, 196, 0, 0.07);
}

.profile-saved-choice {
  color: #bcefc2;
  font-size: 11px;
}

.profile-reason-list p {
  padding-left: 11px;
  position: relative;
}

.profile-reason-list p::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--gold);
}

.progress-profile-head,
.scenario-practice-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.progress-profile-head h2,
.scenario-practice-head h2,
.progress-observations h2,
.scenario-practice-summary h2 {
  margin: 4px 0 0;
}

.progress-profile-head > strong,
.scenario-practice-head > strong {
  flex: 0 0 auto;
  padding: 5px 8px;
  border-radius: 999px;
  color: var(--gold-2);
  background: rgba(255, 196, 0, 0.09);
  font-size: 10px;
}

.progress-profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.progress-profile-grid > div,
.scenario-insight-grid > div {
  min-width: 0;
  padding: 8px 9px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.045);
}

.progress-profile-grid span,
.progress-profile-grid strong,
.scenario-insight-grid span,
.scenario-insight-grid strong {
  display: block;
  overflow-wrap: anywhere;
}

.progress-profile-grid span,
.scenario-insight-grid span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.progress-profile-grid strong,
.scenario-insight-grid strong {
  margin-top: 3px;
  color: #fff;
  font-size: 11px;
  line-height: 1.3;
}

.progress-selection-card {
  padding: 10px;
  display: grid;
  gap: 4px;
  border: 1px solid rgba(255, 196, 0, 0.28);
  border-radius: 11px;
  background: rgba(255, 196, 0, 0.065);
}

.progress-selection-card span,
.progress-selection-card strong,
.progress-selection-card p {
  overflow-wrap: anywhere;
}

.progress-selection-card span {
  color: var(--gold-2);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.progress-selection-card strong {
  color: #fff;
  font-size: 12px;
  line-height: 1.3;
}

.progress-selection-card p {
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
}

.progress-status-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.progress-status-row span {
  padding: 5px 8px;
  border-radius: 999px;
  color: var(--soft);
  background: rgba(255, 255, 255, 0.06);
  font-size: 9px;
  font-weight: 800;
}

.progress-status-row span.done {
  color: #bcefc2;
  background: rgba(86, 191, 108, 0.12);
}

.progress-meter,
.scenario-practice-step-meter {
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
}

.progress-meter span,
.scenario-practice-step-meter span {
  height: 100%;
  display: block;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--purple-2), var(--gold));
  transition: width 0.2s ease;
}

.scenario-practice-card {
  border-color: rgba(255, 196, 0, 0.31);
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 196, 0, 0.1), transparent 38%),
    rgba(255, 255, 255, 0.035);
}

.scenario-practice-locked {
  align-content: center;
  text-align: center;
}

.scenario-practice-locked small {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.35;
}

.deck-post-webinar-choice {
  align-content: center;
}

.deck-choice-actions {
  display: grid;
  gap: 9px;
}

.scenario-practice-card h3 {
  margin: 1px 0 0;
  color: #fff2c8;
  font-size: 16px;
  line-height: 1.35;
}

.scenario-practice-safety,
.scenario-practice-frame {
  padding: 8px 9px;
  border-left: 3px solid var(--gold);
  border-radius: 7px;
  background: rgba(255, 196, 0, 0.07);
}

.scenario-intensity {
  padding: 9px;
  display: grid;
  gap: 7px;
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.04);
}

.scenario-intensity > span {
  color: var(--soft);
  font-size: 11px;
  font-weight: 800;
}

.scenario-intensity > div {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 7px;
}

.scenario-intensity [data-scenario-intensity] {
  min-height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 10px;
  color: #fff;
  background: rgba(255, 255, 255, 0.04);
  font: inherit;
  font-weight: 900;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

#scenarioPracticeAnswer {
  min-height: 112px;
  font-size: 16px;
  line-height: 1.45;
  scroll-margin-top: 84px;
}

.scenario-intensity [data-scenario-intensity].selected {
  border-color: rgba(255, 196, 0, 0.75);
  color: #191106;
  background: linear-gradient(135deg, var(--gold), #fff2a8);
}

.scenario-too-intense {
  width: fit-content;
  min-height: 44px;
  padding: 7px 0;
  display: inline-flex;
  align-items: center;
  border: 0;
  color: var(--muted);
  background: transparent;
  font: inherit;
  font-size: 10px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.scenario-practice-example {
  padding: 8px 9px;
  border-radius: 9px;
  background: rgba(215, 124, 255, 0.07);
  font-size: 10px !important;
}

.scenario-practice-example summary {
  color: var(--soft);
  font-weight: 800;
  cursor: pointer;
}

.scenario-practice-example p {
  margin: 7px 0 0;
}

.scenario-practice-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.scenario-practice-actions .deck-action {
  min-width: 0;
  min-height: 44px;
  padding: 8px 7px;
  white-space: normal;
}

.scenario-practice-actions .deck-action:last-child {
  grid-column: auto;
}

.scenario-practice-actions .deck-action:disabled {
  opacity: 0.4;
}

.scenario-insight-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.scenario-insight-grid .new-response {
  border: 1px solid rgba(255, 196, 0, 0.3);
  background: rgba(255, 196, 0, 0.07);
}

.scenario-map-details {
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.035);
}

.scenario-map-details summary {
  padding: 10px;
  color: var(--gold-2);
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}

.scenario-map-details > div {
  padding: 0 10px 10px;
  display: grid;
  gap: 6px;
}

.scenario-map-row {
  padding-top: 7px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.scenario-map-row span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
}

.scenario-map-row p {
  margin-top: 3px;
  color: var(--soft);
  font-size: 11px;
}

.progress-observations {
  margin-bottom: 4px;
}

.deck-webinar-progress-prompt {
  border-color: rgba(215, 124, 255, 0.25);
  background: rgba(155, 44, 255, 0.07);
}

.deck-webinar-progress-prompt > span {
  color: var(--purple-2);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.deck-webinar-progress-prompt .deck-action {
  min-height: 38px;
}

@media (max-width: 420px) {
  .progress-profile-grid,
  .scenario-insight-grid {
    grid-template-columns: 1fr;
  }

  .scenario-practice-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .scenario-practice-actions .deck-action:last-child {
    grid-column: 1 / -1;
  }
}

.deck-summary-practices strong {
  color: #fff;
  font-size: 11px;
  line-height: 1.25;
}

.deck-summary-practices small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.3;
}

@media (max-height: 760px) {
  .deck-webinar {
    padding: 9px 10px 13px;
    gap: 7px;
  }

  .deck-webinar h2 {
    font-size: 20px;
    line-height: 1.16;
  }

  .deck-webinar > p {
    font-size: 12px;
    line-height: 1.3;
  }

  .deck-webinar-points span {
    padding: 6px;
  }

  .deck-webinar .deck-action {
    min-height: 40px;
    padding-block: 8px;
  }

  .deck-webinar-code-gate {
    gap: 6px;
    margin-top: 6px;
  }

  .deck-webinar-code-gate input {
    padding: 10px 12px;
  }
}

@media (max-height: 610px) {
  .scenario-form-mode .scenario-screen-levels .multi-options {
    grid-auto-rows: minmax(62px, 1fr);
  }

  .scenario-form-mode .scenario-screen-levels .scenario-option,
  .scenario-form-mode .scenario-screen-levels .general-break-option {
    min-height: 62px;
  }

  .scenario-form-mode .scenario-screen-clarification .scenario-options {
    grid-auto-rows: minmax(66px, 1fr);
  }

  .scenario-form-mode .scenario-screen-clarification .scenario-option {
    min-height: 66px;
  }
}

/* Format questions */
.format-options {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.format-options .practice-control-option {
  width: 100%;
  text-align: left;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: var(--text);
  font-size: 14px;
  line-height: 1.4;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
}

.format-options .practice-control-option.selected {
  border-color: rgba(255, 196, 0, 0.75);
  background: rgba(255, 196, 0, 0.11);
}

/* Format recommendation block */
.format-recommendation-block {
  margin-top: 20px;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid rgba(255, 196, 0, 0.34);
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 196, 0, 0.13), transparent 38%),
    rgba(255, 255, 255, 0.04);
}

.format-recommendation-block .guide-kicker {
  display: block;
  margin-bottom: 8px;
}

.format-recommendation-block h4 {
  margin: 0 0 12px;
  font-size: 18px;
  color: #fff;
}

.format-reasons {
  margin-bottom: 12px;
}

.format-reasons-list {
  font-size: 14px;
  line-height: 1.5;
  color: var(--muted);
}

.format-reason-item {
  margin-bottom: 4px;
}

.format-confidence {
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 12px;
}

.practice-result-profile-link {
  padding: 14px;
  display: grid;
  gap: 7px;
  border: 1px solid rgba(215, 124, 255, 0.28);
  border-radius: 14px;
  background: rgba(155, 44, 255, 0.08);
}

.practice-result-profile-link strong {
  color: #fff;
  font-size: 14px;
  line-height: 1.3;
}

.practice-result-profile-link p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
}

.practice-result-profile-link .button-link {
  width: 100%;
  margin: 2px 0 0;
  text-align: center;
}

.format-actions {
  display: grid;
  gap: 8px;
}

.format-actions .button-link {
  width: 100%;
  text-align: center;
}

/* One connected result instead of four unrelated cards. */
.practice-result-ecosystem {
  width: 100%;
  min-width: 0;
  padding: 15px;
  display: grid;
  gap: 0;
  border: 1px solid rgba(255, 196, 0, 0.42);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 196, 0, 0.11), transparent 32%),
    linear-gradient(180deg, rgba(49, 14, 58, 0.98), rgba(23, 7, 32, 0.98));
  overflow: hidden;
}

.practice-result-overview {
  padding: 2px 2px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.practice-result-overview h3 {
  margin: 5px 0 7px;
  color: #fff;
  font-size: 20px;
  line-height: 1.18;
}

.practice-result-overview p {
  margin: 0;
  color: var(--soft);
  font-size: 13px;
  line-height: 1.45;
}

.practice-result-stage {
  position: relative;
  padding: 14px 0 12px 38px;
}

.practice-result-stage-number {
  position: absolute;
  top: 16px;
  left: 0;
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #1b081f;
  font-size: 13px;
  background: linear-gradient(135deg, #ed88ff, #ffc400);
  box-shadow: 0 0 0 5px rgba(255, 196, 0, 0.07);
}

.practice-result-stage .practice-primary-result,
.practice-result-stage .format-recommendation-block {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
}

.practice-result-stage .practice-primary-result h4,
.practice-result-stage .format-recommendation-block h4 {
  font-size: 19px;
  line-height: 1.2;
}

.practice-result-connector {
  height: 16px;
  margin-left: 13px;
  border-left: 2px solid rgba(255, 196, 0, 0.42);
}

.practice-result-connector span {
  display: none;
}

.practice-result-format-stage {
  padding-top: 10px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.practice-result-format-stage .practice-result-stage-number {
  top: 12px;
}

.practice-result-profile-link {
  padding: 13px 0;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: start;
  column-gap: 10px;
  border: 0;
  border-radius: 0;
  background: none;
}

.practice-result-profile-link .practice-result-saved-mark {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(137, 245, 169, 0.5);
  border-radius: 50%;
  color: #9af8b5;
  background: rgba(85, 208, 121, 0.08);
}

.practice-result-profile-link .button-link {
  grid-column: 2;
  min-height: 42px;
  margin-top: 4px;
}

.practice-result-system-note {
  padding: 10px 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.practice-result-next {
  margin-top: 13px !important;
  padding: 14px 0 0 !important;
  border: 0;
  border-top: 1px solid rgba(255, 196, 0, 0.34);
  border-radius: 0;
  background: none;
}

@media (max-width: 420px) {
  .practice-result-ecosystem {
    padding: 12px;
    border-radius: 15px;
  }

  .practice-result-overview h3 {
    font-size: 18px;
  }

  .practice-result-stage {
    padding-left: 34px;
  }

  .practice-result-stage .practice-primary-result h4,
  .practice-result-stage .format-recommendation-block h4 {
    font-size: 17px;
  }
}

/* Live/replay workspace: webinar, 12 steps and code word stay on one route screen. */
.scenario-deck-stage[data-page-key="webinar"] {
  display: block;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scroll-padding-top: 82px;
  scrollbar-color: rgba(255, 196, 0, 0.82) rgba(255, 255, 255, 0.06);
  scrollbar-width: thin;
}

.scenario-deck-stage[data-page-key="webinar"]::-webkit-scrollbar {
  width: 6px;
}

.scenario-deck-stage[data-page-key="webinar"]::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(255, 196, 0, 0.82);
}

.scenario-deck-stage[data-page-key="webinar"] .deck-webinar-workspace {
  height: auto;
  min-height: 100%;
  padding-bottom: max(20px, env(safe-area-inset-bottom, 0px));
  overflow: visible;
}

.deck-webinar-watchbar {
  position: sticky;
  top: 0;
  z-index: 8;
  padding: 9px;
  display: grid;
  gap: 5px;
  border: 1px solid rgba(255, 196, 0, 0.36);
  border-radius: 13px;
  background: rgba(24, 10, 33, 0.96);
  box-shadow: 0 10px 24px rgba(5, 0, 13, 0.3);
  backdrop-filter: blur(14px);
}

.deck-youtube-test {
  display: grid;
  gap: 10px;
  margin: 16px 0;
}

.deck-youtube-test iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 1px solid rgba(255, 205, 41, 0.42);
  border-radius: 18px;
  background: #09040d;
}

.deck-youtube-test p {
  margin: 0;
  color: #cdb8d7;
  font-size: 13px;
  line-height: 1.45;
}

.deck-webinar-watchbar .deck-action {
  min-height: 48px;
  margin: 0;
  font-size: 13px;
}

.deck-webinar-watchbar small {
  padding-inline: 4px;
  color: var(--muted);
  text-align: center;
}

.deck-webinar-direct-link {
  min-height: 30px;
  display: grid;
  place-items: center;
  color: var(--gold-2);
  font-size: 10px;
  font-weight: 800;
  text-align: center;
  text-underline-offset: 3px;
}

/* Profile has exactly one scroll owner: the stage. */
.scenario-deck-stage[data-page-key="journal"] {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-color: rgba(255, 196, 0, 0.82) rgba(255, 255, 255, 0.06);
  scrollbar-width: thin;
  scrollbar-gutter: stable;
}

.scenario-deck-stage[data-page-key="journal"] > .deck-journal {
  min-height: 100%;
  overflow: visible !important;
  scrollbar-gutter: auto;
}

.scenario-deck-stage[data-page-key="journal"]::-webkit-scrollbar {
  width: 6px;
}

.scenario-deck-stage[data-page-key="journal"]::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(255, 196, 0, 0.82);
}

.deck-webinar-practice-heading {
  padding: 12px;
  display: grid;
  gap: 6px;
  border: 1px solid rgba(215, 124, 255, 0.28);
  border-radius: 14px;
  background: rgba(155, 44, 255, 0.08);
}

.deck-webinar-practice-heading > span {
  color: var(--purple-2);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.deck-webinar-practice-heading h3 {
  margin: 0;
  color: #fff2c8;
  font-size: clamp(16px, 4.5vw, 20px);
  line-height: 1.25;
}

.deck-webinar-workspace .scenario-practice-card {
  flex: 0 0 auto;
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 196, 0, 0.12), transparent 38%),
    rgba(8, 0, 18, 0.46);
}

.deck-webinar-route-back {
  min-height: 44px;
  padding: 8px 4px;
  border: 0;
  color: var(--muted);
  background: transparent;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.scenario-practice-progress-result {
  order: -1;
  border-color: rgba(255, 196, 0, 0.38);
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 196, 0, 0.12), transparent 42%),
    rgba(255, 196, 0, 0.045);
}

.scenario-practice-progress-result .deck-action {
  margin: 0;
}

@media (max-height: 760px) {
  .deck-webinar-watchbar {
    padding: 7px;
  }

  .deck-webinar-watchbar .deck-action {
    min-height: 44px;
  }

  .deck-webinar-practice-heading {
    padding: 9px;
  }
}
#adminRrCatalog > section,
#adminRrOrders > section {
  margin: 16px 0;
  padding: 16px;
  border: 1px solid rgba(127, 127, 127, .24);
  border-radius: 14px;
}
#adminRrPanel .deck-action {
  margin: 4px;
  width: auto;
  min-height: 44px;
  padding: 10px 14px;
  color: #33291f;
  background: #fff;
  border: 1px solid #c7bba9;
  font-size: 14px;
  font-weight: 650;
}
#adminRrPanel .deck-action:hover { background: #f2e9dc; }
#adminRrPanel .deck-action:disabled { opacity: .55; }
#adminRrPanel h3 { margin: 0 0 12px; }
#adminRrPanel p { line-height: 1.5; }

/* Commercial, Audit and owner workspace cohesion. */
.deck-payment-wide {
  grid-column: 1 / -1;
  width: 100%;
  min-height: 76px;
}

.profile-audit-card,
.profile-series-card {
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid rgba(255, 205, 55, .28);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(48, 19, 61, .96), rgba(24, 14, 39, .98));
}

.profile-audit-card h2,
.profile-audit-card p,
.profile-series-card h2,
.profile-series-card p { margin: 0; }
.profile-series-card.review { border-color: rgba(229, 108, 91, .65); }
.profile-entitlement-note { display: grid; gap: 4px; padding: 12px; border-radius: 14px; background: rgba(111, 221, 161, .12); }
.profile-audit-notice { display: grid; gap: 5px; padding: 13px; border: 1px solid rgba(111, 221, 161, .34); border-radius: 14px; background: rgba(111, 221, 161, .12); }
.profile-audit-notice strong { color: #b9f3cf; }
.profile-audit-notice span { color: #eadff0; line-height: 1.45; }
.profile-audit-result {
  display: grid;
  gap: 8px;
  padding: 6px 0 0;
  border: 0;
  background: transparent;
}
.profile-audit-result > strong { color: #fff1bf; font-size: 14px; }
.profile-audit-result ul { margin: 0; padding-left: 18px; display: grid; gap: 5px; }
.profile-audit-result li { color: #eadff0; font-size: 13px; line-height: 1.42; }
.profile-audit-result small { color: rgba(255, 255, 255, .58); font-size: 11px; line-height: 1.4; }

.scenario-deck-stage[data-page-key="journal"] > .profile-audit-card {
  width: 100%;
  min-height: 100%;
  align-content: start;
  box-sizing: border-box;
}
.profile-audit-outcome {
  display: grid;
  gap: 10px;
  padding: 15px;
  border: 1px solid rgba(245, 211, 40, .34);
  border-radius: 16px;
  background: rgba(245, 211, 40, .06);
}
.profile-audit-outcome > span {
  color: #f5d328;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.profile-audit-outcome p { display: grid; gap: 4px; color: rgba(255, 255, 255, .8); font-size: 14px; line-height: 1.45; }
.profile-audit-outcome p > strong { color: #fff; }
.profile-audit-outcome p > small { color: rgba(255, 255, 255, .58); line-height: 1.4; }
.profile-series-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.profile-series-list li { display: grid; gap: 3px; padding: 11px 12px; border-radius: 13px; background: rgba(255, 255, 255, .06); }
.profile-series-list span { color: #d7c6e1; font-size: 13px; }

.deck-contact-series {
  gap: 14px;
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 202, 45, .14), transparent 38%),
    linear-gradient(150deg, rgba(49, 18, 61, .98), rgba(25, 12, 37, .99));
}
.deck-contact-series.review { border-color: rgba(229, 108, 91, .58); }
.deck-series-sessions { display: grid; gap: 8px; }
.deck-series-sessions > div {
  min-height: 58px;
  padding: 10px 11px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 14px;
  background: rgba(255, 255, 255, .055);
}
.deck-series-sessions > div.available {
  border-color: rgba(111, 221, 161, .48);
  background: rgba(111, 221, 161, .09);
}
.deck-series-sessions b {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #241328;
  background: linear-gradient(135deg, #dfa1f1, #ffd84e);
}
.deck-series-sessions span { display: grid; gap: 3px; }
.deck-series-sessions .deck-series-actions {
  grid-column: 2;
  justify-self: start;
}
.deck-series-sessions strong { color: #fff7d2; line-height: 1.2; }
.deck-series-sessions small { color: #d7c6e1; }
.deck-series-sessions a {
  min-height: 40px;
  padding: 9px 11px;
  display: inline-flex;
  align-items: center;
  border-radius: 11px;
  color: #201123;
  background: #ffe17d;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

.audit-slot-days { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.audit-slot-day { padding: 12px; border: 1px solid rgba(91, 65, 38, .14); border-radius: 16px; background: #fff; }
.audit-slot-day h3 { min-height: 38px; color: #34291e; line-height: 1.25; }
.audit-slot-buttons { display: grid; grid-template-columns: 1fr; }
.audit-slot-button { width: 100%; min-height: 44px; background: #fffaf1; color: #31261d; font-weight: 750; }
.audit-slot-button.selected { border-color: #553617; background: #553617; color: #fff; }

.workspace-form label:has(input[type="checkbox"]),
.audit-booking-rules label {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
}
.workspace-form input[type="checkbox"],
.audit-booking-rules input[type="checkbox"] {
  width: 22px;
  height: 22px;
  margin: 2px 0 0;
}
.workspace-form a,
.audit-booking-rules a { color: #5d348e; overflow-wrap: anywhere; text-underline-offset: 3px; }

.admin-workspace-panel,
.admin-calendar-settings form,
.crm-client-card,
.admin-questionnaire-card { color: #34291e; }
.admin-workspace-tabs button,
.admin-calendar-toolbar button,
.admin-questionnaires-toolbar button { color: #3e2d1e; background: #fff; }
.admin-workspace-tabs button.active { color: #fff; background: #53371f; }
.workspace-form select,
.admin-questionnaires-toolbar select,
.admin-questionnaire-actions input,
.crm-toolbar input,
.crm-filters select { min-height: 46px; color: #34291e; background: #fff; }
.crm-owner-actions { display: grid; gap: 12px; margin: 16px 0; padding: 14px; border: 1px solid rgba(83, 55, 31, .16); border-radius: 18px; background: #f7f1e8; }
.crm-owner-actions h4 { margin: 0; color: #38291d; font-size: 18px; }
.crm-action-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(140px, .7fr); gap: 8px; padding: 12px; border-radius: 14px; background: #fff; }
.crm-action-card strong { grid-column: 1 / -1; }
.crm-action-card input,
.crm-action-card select,
.crm-action-card textarea { width: 100%; min-height: 44px; box-sizing: border-box; border: 1px solid rgba(72, 57, 41, .2); border-radius: 10px; padding: 10px; background: #fff; color: #2f281f; font: inherit; }
.crm-action-card textarea,
.crm-action-card button { grid-column: 1 / -1; }

.crm-action-note {
  display: block;
  color: #4f4033;
  line-height: 1.45;
  background: #fff8e8;
  border: 1px solid #e5c97c;
}

.deck-audit-offer-summary {
  display: grid;
  gap: 12px;
}

.deck-audit-offer-summary > span {
  color: #f2a5ff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.deck-audit-price-stack {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 208, 62, .62);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255, 196, 0, .16), rgba(191, 78, 232, .10));
}

.deck-audit-price-stack small {
  color: #f0dca1;
  font-size: 13px;
  font-weight: 750;
}

.deck-audit-price-stack b {
  color: #fff4bf;
  font-size: clamp(22px, 6vw, 32px);
  line-height: 1.08;
}

.deck-audit-phase-copy,
.deck-audit-intro {
  margin: 0;
  color: #eadcf0;
  line-height: 1.5;
}

.profile-audit-proposal {
  display: grid;
  gap: 4px;
  padding: 13px 14px;
  border: 1px solid rgba(190, 111, 232, .55);
  border-radius: 14px;
  color: #fff4bf;
  background: rgba(126, 57, 154, .25);
}

.profile-audit-proposal span { color: #e5c8ed; font-size: 13px; }

.intensive-meetings-summary,
.intensive-media-shell {
  display: grid;
  gap: 11px;
  margin-top: 16px;
  padding: 15px;
  border: 1px solid rgba(255, 196, 0, .32);
  border-radius: 17px;
  background: rgba(255, 255, 255, .055);
}

.intensive-meetings-summary > p,
.intensive-media-shell > p,
.intensive-media-shell > small { margin: 0; color: #ddcfe4; line-height: 1.45; }

.intensive-meeting-list { display: grid; gap: 8px; }
.intensive-meeting-list > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 10px;
  padding: 11px 12px;
  border-radius: 13px;
  background: rgba(255, 255, 255, .06);
}
.intensive-meeting-list span { color: #f7eef9; font-weight: 750; }
.intensive-meeting-list strong { color: #ffe584; }
.intensive-meeting-list small { grid-column: 1 / -1; color: #cbb8d4; }
.intensive-meeting-list .deck-action,
.intensive-meeting-state { grid-column: 1 / -1; }
.intensive-meeting-state { margin: 4px 0 0; color: #dfd1e6; font-size: 13px; line-height: 1.4; }
.intensive-meeting-state b { color: #fff4bf; }
.intensive-meeting-picker {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(190, 111, 232, .55);
  border-radius: 15px;
  background: rgba(39, 16, 47, .94);
}
.intensive-meeting-picker > p { margin: 0; color: #e5d7eb; line-height: 1.45; }
.intensive-meeting-picker-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #fff4bf; }
.intensive-meeting-picker-head .deck-action {
  width: auto;
  min-width: 88px;
  min-height: 44px;
  flex: 0 0 auto;
  padding: 8px 12px;
  white-space: nowrap;
}
.intensive-meeting-dates { display: grid; gap: 10px; }
.intensive-meeting-dates article { display: grid; gap: 8px; padding: 11px; border-radius: 13px; background: rgba(255,255,255,.06); }
.intensive-meeting-dates h4 { margin: 0; color: #fff; text-transform: capitalize; }
.intensive-meeting-dates article > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.intensive-meeting-dates button { min-height: 46px; border: 1px solid rgba(255,225,120,.45); border-radius: 11px; color: #fff6cb; background: rgba(255,225,120,.08); font-weight: 800; }
@media (max-width: 390px) { .intensive-meeting-dates article > div { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.scenario-deck-stage .intensive-day-list { display: grid; gap: 9px; margin-top: 18px; }
.scenario-deck-stage .intensive-day-row {
  min-height: 64px;
  border-color: rgba(255, 255, 255, .14);
  color: #f8f1fa;
  background: rgba(255, 255, 255, .055);
}
.scenario-deck-stage .intensive-day-row.available { border-color: rgba(255, 205, 51, .40); }
.scenario-deck-stage .intensive-day-row.done { border-color: rgba(111, 221, 161, .54); background: rgba(111, 221, 161, .10); }
.scenario-deck-stage .intensive-day-row:disabled { opacity: .68; color: #c9bace; }
.scenario-deck-stage .intensive-day-row small { color: #c9bace; }
.scenario-deck-stage .intensive-day-number {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: #201026;
  background: #ffe178;
}

.intensive-media-player { display: block; width: 100%; max-height: 58vh; border-radius: 14px; background: #08050b; }
audio.intensive-media-player { min-height: 54px; background: transparent; }
.intensive-media-controls { display: grid; grid-template-columns: minmax(130px, .65fr) minmax(0, 1fr); gap: 9px; align-items: end; }
.intensive-media-controls label { display: grid; gap: 5px; color: #d8c7e0; font-size: 13px; }
.intensive-media-controls select {
  min-height: 46px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 12px;
  padding: 9px 12px;
  color: #fff;
  background: #281530;
  font: inherit;
}
.intensive-media-controls .deck-action { width: 100%; margin: 0; }

@media (max-width: 640px) {
  .workspace-form .doc-links { grid-template-columns: 1fr; }
  .audit-slot-days { grid-template-columns: 1fr; }
  .audit-slot-buttons { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .audit-slot-button { padding: 10px 6px; font-size: 13px; }
  .crm-action-card { grid-template-columns: 1fr; }
  .crm-action-card > * { grid-column: 1; }
  .intensive-media-controls { grid-template-columns: 1fr; }
}
.rr-order-reference { font-size: 12px; opacity: .72; overflow-wrap: anywhere; }

/* Unified Audit wizard: one calm step at a time, without stacked forms. */
.audit-questionnaire-progress {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  padding: 1px 4px 0;
  user-select: none;
}
.audit-questionnaire-progress::before {
  content: '';
  position: absolute;
  z-index: 0;
  top: 15px;
  right: 12.5%;
  left: 12.5%;
  height: 2px;
  background: #ded2c3;
}
.audit-questionnaire-progress span {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: 30px auto;
  place-items: center;
  gap: 5px;
  min-width: 0;
  border: 0;
  color: #6d6256;
  background: transparent;
  cursor: default;
  pointer-events: none;
  font-size: 11px;
  font-weight: 850;
}
.audit-questionnaire-progress span b {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  box-sizing: border-box;
  border: 2px solid #d8c9b7;
  border-radius: 50%;
  color: #6d6256;
  background: #fbf8f2;
  font-size: 12px;
}
.audit-questionnaire-progress span small {
  color: #7b7065;
  font-size: 10px;
  font-weight: 760;
  line-height: 1.1;
  text-align: center;
}
.audit-questionnaire-progress span.active b {
  border-color: #67431f;
  color: #fff;
  background: #67431f;
}
.audit-questionnaire-progress span.active small {
  color: #4f351b;
}
.audit-questionnaire-progress span.complete b {
  border-color: #71a97f;
  color: #205d31;
  background: #edf8ef;
}
.audit-questionnaire-progress span.complete small {
  color: #367348;
}
.audit-questionnaire-step { display: grid; gap: 16px; min-width: 0; }
.audit-questionnaire-step > label { display: grid; gap: 8px; font-weight: 720; }
.audit-field-counter { justify-self: end; color: #9b3d32 !important; }
.audit-field-counter.ready { color: #25703a !important; }
.audit-questionnaire-navigation {
  display: grid;
  grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr);
  gap: 9px;
}
.audit-questionnaire-navigation > :only-child,
.audit-questionnaire-navigation > .deck-action:not(.hidden):first-child:last-child { grid-column: 1 / -1; }
.audit-questionnaire-navigation .deck-action { margin: 0; }

/* Disabled controls stay readable but cannot be mistaken for active actions. */
.scenario-deck-stage .deck-action:disabled,
.scenario-app-nav button:disabled {
  border-color: rgba(209, 187, 221, .22);
  color: #a999b1;
  background: rgba(74, 57, 81, .42);
  opacity: 1;
}

.academy-settings-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (max-width: 640px) {
  .academy-settings-grid.three { grid-template-columns: 1fr; }
  .audit-questionnaire-navigation { grid-template-columns: 1fr; }
}

/* journey_v3: native scrolling is the source of truth; decorative rails caused
   a second, motionless thumb and made the result look broken. */
.screen-scroll-marker,
.deck-overview::before,
.deck-deadline::before,
.deck-audit::before,
.deck-personal-days::before,
.deck-journal::before,
.deck-conversion-final::before {
  display: none !important;
}

.scenario-deck-stage[data-page-key="overview"],
.scenario-deck-stage[data-page-key="practice-value"],
.scenario-deck-stage[data-page-key="decision"] {
  overflow: hidden !important;
  scrollbar-gutter: auto;
}

.scenario-deck-stage[data-page-key="overview"] > .deck-result-screen,
.scenario-deck-stage[data-page-key="practice-value"] > .deck-result-screen,
.scenario-deck-stage[data-page-key="decision"] > .deck-result-screen {
  min-height: 100% !important;
  max-height: 100% !important;
  overflow: hidden !important;
}

.deck-practice-value {
  align-content: center;
}

.deck-value-grid {
  display: grid;
  gap: 10px;
}

.deck-value-grid > div {
  padding: 12px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 4px 10px;
  border: 1px solid rgba(255, 196, 0, .24);
  border-radius: 13px;
  background: rgba(255, 255, 255, .04);
}

.deck-value-grid span {
  grid-row: 1 / 3;
  color: var(--gold-2);
  font-weight: 900;
}

.deck-value-grid strong { color: #fff2c8; }
.deck-value-grid p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.4; }

.scenario-intensity [data-scenario-intensity] {
  touch-action: manipulation;
  user-select: none;
}

/* Profile commerce is separate from the Audit status and keeps one clear next action. */
.profile-payment-card,
.profile-upgrade-card,
.profile-series-card {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(255, 196, 0, .28);
  border-radius: 17px;
  background: rgba(255, 255, 255, .045);
}

.profile-payment-card > h2,
.profile-payment-card > p,
.profile-upgrade-card > h2,
.profile-upgrade-card > p,
.profile-series-card > h2,
.profile-series-card > p { margin: 0; }

.profile-payment-card > p,
.profile-upgrade-card > p,
.profile-series-card > p { color: #ddcfe4; line-height: 1.48; }

.profile-payment-card.success,
.profile-upgrade-card.success { border-color: rgba(111, 221, 161, .48); }
.profile-upgrade-card.pending { border-color: rgba(255, 196, 0, .48); }
.profile-upgrade-card.closed { border-color: rgba(166, 151, 174, .42); }
.profile-payment-card.review,
.profile-upgrade-card.review,
.profile-series-card.review { border-color: rgba(237, 91, 91, .55); }

.profile-remainder-grid {
  display: grid;
  gap: 10px;
}

.profile-remainder-grid > div {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 14px;
  background: rgba(255, 255, 255, .04);
}

.profile-remainder-grid > div > strong { color: #fff2c8; }
.profile-remainder-grid .deck-action { width: 100%; margin: 0; }

.profile-upgrade-options {
  display: grid;
  gap: 10px;
}

.profile-upgrade-option {
  width: 100%;
  min-height: 76px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(255, 196, 0, .48);
  border-radius: 14px;
  color: #fff8df;
  background: linear-gradient(135deg, rgba(91, 34, 126, .72), rgba(45, 13, 67, .88));
  font: inherit;
  text-align: left;
  touch-action: manipulation;
}

button.profile-upgrade-option { cursor: pointer; }
button.profile-upgrade-option:active { transform: translateY(1px); }
.profile-upgrade-option > span { font-weight: 850; line-height: 1.3; }
.profile-upgrade-option > strong { color: #ffe184; white-space: nowrap; }
.profile-upgrade-option > small {
  grid-column: 1 / -1;
  color: #d9c8df;
  line-height: 1.35;
}

.profile-upgrade-option.unavailable {
  border-color: rgba(255, 255, 255, .13);
  color: #d8cedd;
  background: rgba(255, 255, 255, .055);
}

.profile-upgrade-option.unavailable > strong { color: #d7c9dc; }
.profile-upgrade-deadline {
  padding: 9px 11px;
  border-radius: 11px;
  color: #fff0b2;
  background: rgba(255, 196, 0, .11);
  font-size: 12px;
  font-weight: 800;
}

.profile-series-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.profile-series-list li {
  display: grid;
  gap: 5px;
  padding: 12px;
  border-radius: 13px;
  background: rgba(255, 255, 255, .055);
}

.profile-series-list li > span,
.profile-series-list li > small { color: #cdbbd5; }

.profile-series-actions,
.deck-series-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.profile-series-actions a,
.deck-series-actions a {
  display: inline-grid;
  place-items: center;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid rgba(255, 214, 86, .48);
  border-radius: 11px;
  color: #fff2bd;
  background: rgba(255, 196, 0, .08);
  font-weight: 800;
  text-decoration: none;
}

.deck-series-sessions em {
  display: block;
  margin-top: 4px;
  color: #d8c7e0;
  font-size: 12px;
  font-style: normal;
}

.scenario-practice-privacy {
  border: 1px solid rgba(188, 110, 232, .42);
  border-radius: 14px;
  background: rgba(129, 63, 163, .10);
}

.scenario-practice-privacy.compact { padding: 10px 12px; }
.scenario-practice-privacy.compact summary { color: #f4d8ff; font-weight: 800; cursor: pointer; }
.scenario-practice-privacy.compact p { margin: 9px 0; color: #cdbbd5; font-size: 13px; }
.scenario-practice-privacy.compact > div,
.scenario-practice-privacy-options { display: grid; gap: 9px; }

.scenario-practice-privacy.compact button,
.scenario-practice-privacy-options button {
  min-height: 46px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 12px;
  padding: 10px 12px;
  color: #f8eefb;
  background: rgba(255, 255, 255, .055);
  text-align: left;
  touch-action: manipulation;
}

.scenario-practice-privacy.compact button.selected,
.scenario-practice-privacy-options button.selected {
  border-color: rgba(255, 211, 72, .72);
  color: #fff1ae;
  background: rgba(255, 196, 0, .11);
}

.scenario-practice-privacy.required { align-content: center; min-height: 100%; }
.scenario-practice-privacy.required > h2,
.scenario-practice-privacy.required > p { margin: 0; }
.scenario-practice-privacy-options button { display: grid; gap: 4px; }
.scenario-practice-privacy-options button strong { font-size: 15px; }
.scenario-practice-privacy-options button span { color: #cdbbd5; font-size: 13px; line-height: 1.4; }

/* Live workspace: video, Academy chat and one focused action surface. */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.scenario-deck-stage[data-page-key="webinar"],
.scenario-deck-stage[data-page-key="decision"] {
  min-height: 0;
}

.deck-webinar-live-shell {
  display: grid;
  grid-template-rows: auto minmax(170px, 1fr) auto;
  gap: 10px;
  height: clamp(480px, calc(100dvh - 252px), 690px);
  min-height: 0;
  overflow: hidden !important;
  padding: 12px !important;
}

.deck-live-video {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  min-height: 68px;
  border: 1px solid rgba(255, 210, 76, .32);
  border-radius: 14px;
  overflow: hidden;
  background: #09030f;
}

.deck-live-video iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: 156px;
  border: 0;
  background: #000;
}

.deck-live-video-placeholder {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 9px;
  align-items: center;
  padding: 11px 13px;
  color: #fff4c7;
}

.deck-live-video-placeholder > span {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  color: #1c0b20;
  background: linear-gradient(135deg, #ffbf13, #fff0a1);
}

.deck-live-video-placeholder small { color: #cbbbd1; font-size: 11px; }
.deck-live-video > a {
  min-height: 44px;
  margin-right: 8px;
  padding: 7px 10px;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 229, 139, .28);
  border-radius: 10px;
  background: rgba(255, 229, 139, .06);
  color: #ffe58b;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
}

@media (max-width: 350px) {
  .deck-live-video {
    grid-template-columns: minmax(0, 1fr);
  }

  .deck-live-video > a {
    width: auto;
    margin: 0 10px 10px;
  }
}

/* Post-Audit route: one purpose per screen, with its own safe scroll area. */
.scenario-deck-stage[data-page-key="after-audit"],
.scenario-deck-stage[data-page-key="after-audit-contact"] {
  overflow: hidden;
}

.scenario-deck-stage[data-page-key="after-audit"] > .deck-after-audit,
.scenario-deck-stage[data-page-key="after-audit-contact"] > .contact-self-offer {
  width: 100%;
  height: auto;
  min-height: 0;
  align-self: start;
  max-width: 560px;
  max-height: 100%;
  margin: 0 auto;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.scenario-deck-stage[data-page-key="formats"] .deck-after-audit-formats {
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  gap: 8px;
}

.deck-after-audit-formats .deck-format-options {
  gap: 8px;
}

.deck-after-audit-formats .deck-format-jump {
  width: 100%;
  font: inherit;
  cursor: pointer;
  overflow: hidden;
}

.deck-after-audit-formats .deck-format-jump strong,
.deck-after-audit-formats .deck-format-jump small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.after-audit-payment-actions {
  display: grid;
  gap: 9px;
  padding: 12px;
  border: 1px solid rgba(245, 211, 40, .34);
  border-radius: 14px;
  background: rgba(245, 211, 40, .06);
}

@media (max-height: 700px), (max-width: 350px) {
  .scenario-deck-stage[data-page-key="formats"] .deck-after-audit-formats {
    min-height: 100%;
    height: auto;
    grid-template-rows: auto auto auto auto auto;
    overflow-y: auto;
  }

  .scenario-deck-stage[data-page-key="formats"] .deck-after-audit-formats .deck-format-options {
    grid-template-rows: repeat(3, auto);
  }
}

@media (max-height: 720px) {
  .audit-screen .workspace-modal-panel {
    padding-top: max(10px, env(safe-area-inset-top));
    padding-bottom: max(12px, env(safe-area-inset-bottom));
  }

  .audit-screen .workspace-modal-head h2 {
    margin-top: 3px;
    font-size: 24px;
    line-height: 1.08;
  }

  .audit-screen .workspace-modal-intro {
    margin-bottom: 10px;
    font-size: 13px;
    line-height: 1.4;
  }

  .audit-screen .workspace-form {
    gap: 11px;
    padding-bottom: 8px;
  }

  .audit-screen[data-audit-step="4"] .workspace-consent {
    padding: 8px 10px;
    font-size: 10px;
    line-height: 1.32;
  }

  .audit-screen .workspace-status {
    min-height: 16px;
    font-size: 11px;
  }

  .audit-screen[data-audit-step="4"] .workspace-status.success {
    position: absolute;
    width: 1px;
    height: 1px;
    min-height: 0;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .audit-screen .audit-questionnaire-navigation {
    gap: 7px;
    padding-block: 6px;
  }

  .audit-screen .workspace-modal-panel .deck-action {
    min-height: 44px;
    font-size: 14px;
  }
}

.deck-live-link-pending { padding: 10px; color: #cbbbd1; font-size: 12px; }

.academy-live-chat {
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(167, 93, 212, .42);
  border-radius: 15px;
  background: rgba(12, 3, 22, .76);
}

.academy-chat-placeholder,
.academy-chat-rules {
  display: grid;
  align-content: center;
  gap: 8px;
  min-height: 100%;
  padding: 18px;
  color: #f8effb;
  text-align: center;
}

.academy-chat-placeholder span,
.academy-chat-rules li { color: #cdbbd5; font-size: 13px; line-height: 1.4; }
.academy-chat-rules { text-align: left; overflow: auto; }
.academy-chat-rules h3 { margin: 0; }
.academy-chat-rules ul { display: grid; gap: 7px; margin: 0; padding-left: 18px; }

.academy-chat-shell {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  height: 100%;
  min-height: 0;
}

.academy-chat-shell.read-only { grid-template-rows: auto minmax(0, 1fr) auto; }
.academy-chat-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 9px 11px;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.academy-chat-head > span { display: grid; gap: 1px; }
.academy-chat-head strong { color: #fff4d0; font-size: 13px; }
.academy-chat-head small { color: #b9a9c0; font-size: 10px; }
.academy-chat-head i { width: 8px; height: 8px; border-radius: 50%; background: #48c979; box-shadow: 0 0 0 3px rgba(72, 201, 121, .12); }

.academy-chat-messages {
  display: grid;
  align-content: start;
  gap: 9px;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 10px;
  scrollbar-color: rgba(255, 207, 61, .7) transparent;
}

.academy-chat-message {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 8px;
  max-width: 92%;
}
.academy-chat-message.mine { justify-self: end; grid-template-columns: minmax(0, 1fr); }
.academy-chat-message.mine > img,
.academy-chat-message.mine > .academy-chat-avatar { display: none; }
.academy-chat-message > img,
.academy-chat-avatar { width: 30px; height: 30px; border-radius: 50%; object-fit: cover; }
.academy-chat-avatar { display: grid; place-items: center; color: #2b1032; background: #f2ca4e; font-weight: 900; }
.academy-chat-message > div {
  min-width: 0;
  padding: 7px 9px;
  border-radius: 5px 13px 13px;
  background: rgba(255, 255, 255, .075);
}
.academy-chat-message.mine > div { border-radius: 13px 5px 13px 13px; background: rgba(123, 55, 159, .34); }
.academy-chat-message header { display: flex; justify-content: space-between; gap: 10px; }
.academy-chat-message header strong { overflow: hidden; color: #f4d8ff; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.academy-chat-message time { color: #9e8ba8; font-size: 9px; }
.academy-chat-message p { margin: 3px 0 0; color: #faf5fb; font-size: 13px; line-height: 1.35; white-space: pre-wrap; overflow-wrap: anywhere; }
.academy-chat-message.deleted p { color: #9e8ba8; font-style: italic; }
.academy-chat-delete {
  min-height: 28px;
  margin-top: 3px;
  padding: 0;
  border: 0;
  color: #cbbbd1;
  background: transparent;
  font-size: 10px;
  text-decoration: underline;
}
.academy-chat-older {
  min-height: 34px;
  border: 1px solid rgba(255, 210, 76, .25);
  border-radius: 10px;
  color: #ffe58b;
  background: transparent;
  font-size: 11px;
}
.academy-chat-empty { align-self: center; margin: 16px; color: #9e8ba8; font-size: 12px; text-align: center; }

.academy-chat-compose {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  gap: 7px;
  padding: 8px 9px 16px;
  border-top: 1px solid rgba(255, 255, 255, .08);
  background: #16091e;
}
.academy-chat-compose textarea {
  min-height: 44px;
  max-height: 88px;
  resize: none;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 12px;
  padding: 10px 11px;
  color: #fff;
  background: #09040d;
  font-size: 16px;
}
.academy-chat-compose button {
  min-width: 44px;
  min-height: 44px;
  border: 0;
  border-radius: 12px;
  color: #241026;
  background: linear-gradient(135deg, #ffbd16, #fff0a0);
  font-size: 22px;
  font-weight: 900;
}
.academy-chat-compose small { position: absolute; right: 61px; bottom: 2px; color: #917f99; font-size: 9px; }
.academy-chat-error { margin: 0; padding: 5px 10px; color: #ffd1d1; background: rgba(185, 37, 58, .22); font-size: 11px; }

.deck-live-actions { display: grid; gap: 7px; }
.deck-live-actions .deck-action { min-height: 44px; margin: 0; }
.deck-webinar-code-gate.compact { display: grid; gap: 5px; padding: 8px; }
.deck-webinar-code-gate.compact > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
.deck-webinar-code-gate.compact input { min-height: 44px; font-size: 16px; }
.deck-webinar-code-gate.compact button { min-height: 44px; border: 0; border-radius: 11px; padding: 0 13px; color: #241026; background: #f2ca4e; font-weight: 900; }
.deck-webinar-code-gate.compact .deck-note { margin: 0; font-size: 10px; }

.scenario-live-practice-screen {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 10px;
  height: clamp(480px, calc(100dvh - 252px), 690px);
  min-height: 0;
  overflow: hidden !important;
  padding: 10px !important;
}
.scenario-live-mini-player {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 46px;
  border: 1px solid rgba(255, 210, 76, .3);
  border-radius: 12px;
  overflow: hidden;
  background: #09030f;
}
.scenario-live-mini-player iframe { width: min(42%, 220px); aspect-ratio: 16 / 9; border: 0; }
.scenario-live-mini-player > span { display: flex; align-items: center; gap: 8px; padding-left: 12px; color: #fff0b0; }
.scenario-live-mini-player i { width: 8px; height: 8px; border-radius: 50%; background: #e75454; box-shadow: 0 0 0 4px rgba(231, 84, 84, .12); }
.scenario-live-mini-player a { padding: 10px 12px; color: #ffe58b; font-size: 11px; font-weight: 800; text-decoration: none; }
.scenario-live-practice-screen #scenarioWebinarPracticeSurface { min-height: 0; overflow: hidden; }
.scenario-live-practice-screen .scenario-practice-card { height: 100%; min-height: 0; overflow: hidden; }
.scenario-live-practice-screen .scenario-practice-step-card {
  padding: 9px;
  gap: 6px;
}
.scenario-live-practice-screen .scenario-practice-hint {
  margin: 0;
  font-size: 11px;
  line-height: 1.32;
}
.scenario-live-practice-screen .scenario-intensity {
  padding: 5px 7px;
  gap: 4px;
}
.scenario-live-practice-screen .scenario-intensity > div { gap: 5px; }
.scenario-live-practice-screen .scenario-intensity [data-scenario-intensity] { min-height: 44px; }
.scenario-live-practice-screen .scenario-too-intense { min-height: 26px; padding: 2px 0; }
.scenario-live-practice-screen .scenario-practice-card textarea {
  min-height: 76px;
  max-height: 108px;
  overflow-y: auto;
  font-size: 16px;
}
.scenario-live-practice-screen .scenario-practice-example { padding: 6px 8px; }
.scenario-live-practice-screen .scenario-practice-actions.two-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.scenario-live-practice-screen .scenario-practice-actions.three-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.scenario-live-practice-screen .scenario-practice-actions #scenarioPracticeNextBtn {
  grid-column: auto;
  grid-row: auto;
}
.scenario-live-practice-screen .scenario-practice-actions .deck-action:last-child { grid-column: auto; }
.scenario-live-practice-screen .scenario-practice-actions .deck-action {
  min-height: 44px;
  padding: 6px 5px;
  font-size: 10px;
}
.scenario-live-practice-back {
  min-height: 44px;
  border: 1px solid rgba(188, 110, 232, .42);
  border-radius: 12px;
  color: #f4d8ff;
  background: rgba(129, 63, 163, .1);
  font-weight: 800;
}

@media (max-height: 720px) {
  .deck-webinar-live-shell,
  .scenario-live-practice-screen { height: calc(100dvh - 220px); }
  .deck-live-video iframe { max-height: 112px; }
  .academy-chat-head small { display: none; }
  .deck-live-actions .deck-action { min-height: 40px; font-size: 12px; }
}

/* Keep every remaining compact selector legible inside Telegram instead of
   inheriting the platform's dark native control chrome. */
select {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 40px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='m5 7 4 4 4-4' fill='none' stroke='%23533a26' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 18px 18px !important;
}

.intensive-media-controls select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='m5 7 4 4 4-4' fill='none' stroke='%23ffe58b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

/* Pre-webinar result: one readable composition on every supported viewport. */
.deck-practice-on-air {
  display: grid;
  gap: 7px;
}

.deck-practice-on-air > span {
  width: fit-content;
  padding: 4px 8px;
  border-radius: 999px;
  color: #ffdfff;
  background: rgba(193, 91, 233, .15);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.deck-practice-slot { margin-top: 1px !important; }

.scenario-deck-stage[data-page-key="decision"] > .deck-audit-preview {
  align-content: start;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable;
}

.deck-audit-preview .deck-lead {
  font-size: 12px;
  line-height: 1.38;
}

.deck-audit-preview .deck-value-grid {
  gap: 7px;
}

.deck-audit-preview .deck-value-grid > div {
  padding: 9px 10px;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 2px 8px;
}

.scenario-deck-stage[data-page-key="webinar"] .deck-webinar-waiting .deck-route-progress {
  grid-template-columns: 1fr !important;
}

.deck-route-progress span {
  min-height: 0;
  place-items: start;
  gap: 3px;
  padding: 9px 10px;
  text-align: left;
}

.deck-route-progress strong,
.deck-route-progress small {
  display: block;
}

.deck-route-progress strong {
  color: #fff2c8;
  font-size: 11px;
}

.deck-route-progress small {
  font-size: 9px;
  line-height: 1.3;
}

.deck-route-progress .route-done {
  border-color: rgba(99, 214, 155, .34);
  background: rgba(99, 214, 155, .08);
}

.deck-route-progress .route-done strong { color: #a9f1c8; }

.deck-route-progress .route-current {
  border-color: rgba(255, 196, 0, .42);
  background: rgba(255, 196, 0, .1);
}

.deck-webinar-preparation {
  padding: 9px 10px;
  display: grid;
  gap: 4px;
  border: 1px solid rgba(215, 124, 255, .24);
  border-radius: 11px;
  background: rgba(155, 44, 255, .08);
}

.deck-webinar-preparation strong {
  color: #ffdfff;
  font-size: 11px;
}

.deck-webinar-preparation p {
  font-size: 10px;
  line-height: 1.3;
}

@media (max-width: 350px), (max-width: 380px) and (max-height: 700px) {
  .scenario-deck-stage[data-page-key="practice-value"] > .deck-practice-value,
  .scenario-deck-stage[data-page-key="decision"] > .deck-deadline {
    padding: 7px !important;
    gap: 5px !important;
    align-content: start;
  }

  .scenario-deck-stage[data-page-key="practice-value"] .deck-practice-on-air {
    gap: 4px;
  }

  .scenario-deck-stage[data-page-key="practice-value"] .deck-practice-on-air > span {
    padding: 3px 7px;
    font-size: 7px;
  }

  .scenario-deck-stage[data-page-key="practice-value"] .deck-practice-on-air p {
    font-size: 10px;
    line-height: 1.25;
  }

  .scenario-deck-stage[data-page-key="practice-value"] .deck-value-grid {
    gap: 5px;
  }

  .scenario-deck-stage[data-page-key="practice-value"] .deck-value-grid > div {
    min-height: 52px;
    padding: 6px 7px;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 1px 5px;
    border-radius: 9px;
  }

  .scenario-deck-stage[data-page-key="practice-value"] .deck-value-grid span,
  .scenario-deck-stage[data-page-key="practice-value"] .deck-value-grid strong {
    font-size: 11px;
    line-height: 1.16;
  }

  .scenario-deck-stage[data-page-key="practice-value"] .deck-value-grid p {
    font-size: 9px;
    line-height: 1.22;
  }

  .scenario-deck-stage[data-page-key="practice-value"] .deck-practice-slot {
    padding: 5px 7px;
    font-size: 9px;
    line-height: 1.18;
  }

  .scenario-deck-stage[data-page-key="decision"] .deck-audit-offer-summary {
    gap: 5px;
  }

  .scenario-deck-stage[data-page-key="decision"] .deck-audit-offer-summary > span {
    font-size: 8px;
    letter-spacing: .08em;
  }

  .scenario-deck-stage[data-page-key="decision"] .deck-audit-offer-summary h2 {
    font-size: 16px;
  }

  .scenario-deck-stage[data-page-key="decision"] .deck-audit-price-stack {
    gap: 2px;
    padding: 8px 10px;
    border-radius: 11px;
  }

  .scenario-deck-stage[data-page-key="decision"] .deck-audit-price-stack small {
    font-size: 10px;
  }

  .scenario-deck-stage[data-page-key="decision"] .deck-audit-price-stack b {
    font-size: 20px;
  }

  .scenario-deck-stage[data-page-key="decision"] .deck-audit-offer-summary p,
  .scenario-deck-stage[data-page-key="decision"] .deck-audit-intro {
    font-size: 10px;
    line-height: 1.25;
  }

  .scenario-deck-stage[data-page-key="decision"] .deck-audit-more {
    display: none;
  }

  .scenario-deck-stage[data-page-key="decision"] .deck-note {
    padding: 5px 7px;
    font-size: 9px;
    line-height: 1.18;
  }

  .scenario-deck-stage[data-page-key="decision"] .deck-action {
    min-height: 42px;
    margin: 0;
    padding: 7px 9px;
    font-size: 11px;
  }

  .scenario-deck-stage[data-page-key="decision"] .deck-audit-preview h2 {
    font-size: 16px;
  }

  .scenario-deck-stage[data-page-key="decision"] .deck-audit-preview .deck-lead,
  .scenario-deck-stage[data-page-key="decision"] .deck-audit-preview .deck-value-grid p {
    font-size: 9px;
    line-height: 1.2;
  }

  .scenario-deck-stage[data-page-key="decision"] .deck-audit-preview .deck-value-grid {
    gap: 5px;
  }

  .scenario-deck-stage[data-page-key="decision"] .deck-audit-preview .deck-value-grid > div {
    padding: 6px 7px;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 1px 5px;
  }

  .scenario-deck-stage[data-page-key="decision"] .deck-audit-preview .deck-value-grid span,
  .scenario-deck-stage[data-page-key="decision"] .deck-audit-preview .deck-value-grid strong {
    font-size: 10px;
    line-height: 1.16;
  }

  .scenario-deck-stage[data-page-key="decision"] .deck-audit-preview .deck-action-status {
    margin-top: 0;
    padding: 6px 7px;
  }
}

@media (min-width: 381px) and (max-height: 620px) {
  .scenario-deck-stage[data-page-key="practice-value"] > .deck-practice-value,
  .scenario-deck-stage[data-page-key="decision"] > .deck-deadline {
    padding: 9px !important;
    gap: 6px !important;
    align-content: start;
  }

  .scenario-deck-stage[data-page-key="practice-value"] .deck-practice-on-air,
  .scenario-deck-stage[data-page-key="practice-value"] .deck-value-grid {
    gap: 5px;
  }

  .scenario-deck-stage[data-page-key="practice-value"] .deck-practice-on-air p,
  .scenario-deck-stage[data-page-key="decision"] .deck-audit-offer-summary p,
  .scenario-deck-stage[data-page-key="decision"] .deck-audit-intro {
    font-size: 11px;
    line-height: 1.25;
  }

  .scenario-deck-stage[data-page-key="practice-value"] .deck-value-grid > div {
    min-height: 50px;
    padding: 7px 9px;
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 2px 7px;
  }

  .scenario-deck-stage[data-page-key="practice-value"] .deck-value-grid span,
  .scenario-deck-stage[data-page-key="practice-value"] .deck-value-grid strong {
    font-size: 12px;
  }

  .scenario-deck-stage[data-page-key="practice-value"] .deck-value-grid p,
  .scenario-deck-stage[data-page-key="practice-value"] .deck-practice-slot,
  .scenario-deck-stage[data-page-key="decision"] .deck-note {
    font-size: 10px !important;
    line-height: 1.2;
  }

  .scenario-deck-stage[data-page-key="decision"] .deck-audit-price-stack {
    padding: 8px 10px;
  }

  .scenario-deck-stage[data-page-key="decision"] .deck-audit-more {
    display: none;
  }

  .scenario-deck-stage[data-page-key="decision"] .deck-action {
    min-height: 42px;
    margin: 0;
  }
}

/* Landscape is a constrained fallback: keep navigation fixed and let only the
   result card use native scrolling when the available height is too small. */
@media (orientation: landscape) and (max-height: 480px) {
  .scenario-deck-stage[data-page-key="overview"],
  .scenario-deck-stage[data-page-key="practice-value"],
  .scenario-deck-stage[data-page-key="decision"] {
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .scenario-deck-stage[data-page-key="overview"] > .deck-result-screen,
  .scenario-deck-stage[data-page-key="practice-value"] > .deck-result-screen,
  .scenario-deck-stage[data-page-key="decision"] > .deck-result-screen {
    height: auto !important;
    min-height: max-content !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

/* Result cards occupy the real Mini App viewport. If a device is too short,
   the stage becomes the only scroll owner instead of clipping the card. */
.scenario-deck-mode .scenario-deck {
  height: 100%;
  min-height: 0;
  max-height: 100%;
}

.scenario-deck-stage[data-page-key="overview"],
.scenario-deck-stage[data-page-key="practice-value"],
.scenario-deck-stage[data-page-key="decision"] {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.scenario-deck-stage[data-page-key="overview"] > .deck-result-screen,
.scenario-deck-stage[data-page-key="practice-value"] > .deck-result-screen,
.scenario-deck-stage[data-page-key="decision"] > .deck-result-screen {
  width: 100%;
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
  display: grid !important;
  align-content: stretch !important;
  overflow: visible !important;
}

.scenario-deck-stage[data-page-key="overview"] > .deck-result-screen {
  grid-template-rows: max-content max-content minmax(max-content, 1fr) max-content;
}

.scenario-deck-stage[data-page-key="practice-value"] > .deck-result-screen {
  grid-template-rows: max-content minmax(max-content, 1fr) max-content;
}

.scenario-deck-stage[data-page-key="decision"] > .deck-audit-preview {
  grid-template-rows: max-content minmax(max-content, 1fr) max-content max-content;
}

.deck-result-intro,
.deck-audit-preview-head {
  display: grid;
  align-content: start;
  gap: 8px;
}

.deck-entry-highlight {
  position: relative;
  padding: 12px 13px 12px 16px;
  display: grid;
  align-content: center;
  gap: 4px;
  min-height: max-content;
  overflow: hidden;
  border: 1px solid rgba(215, 124, 255, .42);
  border-radius: 13px;
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 196, 0, .15), transparent 45%),
    linear-gradient(135deg, rgba(155, 44, 255, .18), rgba(255, 196, 0, .06));
}

.deck-entry-highlight::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--purple-2), var(--gold));
}

.deck-entry-highlight span {
  color: var(--purple-2);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.deck-entry-highlight strong {
  color: #fff2c8;
  font-size: clamp(17px, 4.8vw, 22px);
  line-height: 1.12;
}

.deck-entry-highlight p {
  color: var(--soft);
  font-size: 11px;
  line-height: 1.32;
}

.scenario-deck-stage[data-page-key="overview"] .deck-result-map {
  height: 100%;
  min-height: max-content;
  grid-template-rows: repeat(2, minmax(max-content, 1fr));
  align-items: stretch;
}

.scenario-deck-stage[data-page-key="overview"] .deck-result-map > div,
.scenario-deck-stage[data-page-key="practice-value"] .deck-value-grid > div,
.scenario-deck-stage[data-page-key="decision"] .deck-value-grid > div {
  height: 100%;
  display: grid;
  align-content: center;
}

.scenario-deck-stage[data-page-key="practice-value"] .deck-value-grid,
.scenario-deck-stage[data-page-key="decision"] .deck-value-grid {
  height: 100%;
  min-height: max-content;
  grid-template-rows: repeat(3, minmax(max-content, 1fr));
  align-items: stretch;
}

@media (max-width: 350px), (max-height: 620px) {
  .scenario-deck-stage[data-page-key="overview"] > .deck-result-screen,
  .scenario-deck-stage[data-page-key="practice-value"] > .deck-result-screen,
  .scenario-deck-stage[data-page-key="decision"] > .deck-result-screen {
    gap: 7px !important;
  }

  .deck-result-intro,
  .deck-audit-preview-head {
    gap: 5px;
  }

  .deck-entry-highlight {
    padding: 9px 10px 9px 13px;
  }
}

/* Final v4 layout override: content-sized rows prevent the Audit action from
   being squeezed by the fixed Mini App viewport. */
.scenario-deck-stage[data-page-key="overview"] > .v4-result-page,
.scenario-deck-stage[data-page-key="scenario-mechanics"] > .v4-result-page {
  height: auto !important;
  min-height: 100% !important;
  display: grid !important;
  grid-template-rows: none !important;
  grid-auto-rows: max-content;
  align-content: start !important;
  overflow: visible !important;
}

.v4-result-page .v4-audit-cta {
  min-height: max-content;
  align-self: start;
  overflow: visible;
}

.scenario-deck-stage[data-page-key="overview"] .v4-result-page .deck-result-map {
  height: auto;
  min-height: 0;
  grid-template-rows: none;
}

@media (max-width: 699px) {
  .v4-overview .deck-result-intro .deck-lead {
    display: none;
  }

  .v4-overview .deck-cycle-note {
    white-space: normal;
  }
}

@media (max-height: 620px) {
  .v4-mechanics-head {
    gap: 2px;
  }

  .v4-mechanics .v4-audit-cta {
    padding: 7px 8px;
  }

  .v4-mechanics .v4-audit-window > span {
    display: none;
  }

  .v4-mechanics .v4-audit-window {
    justify-content: flex-end;
  }

  .v4-mechanics-card summary {
    min-height: 38px;
    padding-top: 6px;
    padding-bottom: 6px;
  }
}

/* The Audit is one dedicated screen, not a sheet over another card. Keep the
   document scrollable when iOS reduces the visual viewport for its keyboard. */
.workspace-modal.audit-screen {
  display: block;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
  background: #1d1029;
  backdrop-filter: none;
  height: var(--audit-viewport-height, 100dvh);
  max-height: var(--audit-viewport-height, 100dvh);
  -webkit-overflow-scrolling: touch;
}
.workspace-modal.audit-screen.hidden { display: none; }
.audit-screen .workspace-modal-panel {
  width: min(720px, 100%);
  min-height: 100%;
  max-height: none;
  margin: 0 auto;
  padding: max(18px, env(safe-area-inset-top)) 16px max(30px, env(safe-area-inset-bottom));
  overflow: visible;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.audit-screen .workspace-form { padding-bottom: 24px; }
.audit-screen input[type="email"],
.audit-screen input[type="tel"] { width: 100%; min-height: 48px; font-size: 16px; }
.audit-screen textarea { min-height: 110px; font-size: 16px; }
.audit-screen .audit-questionnaire-navigation {
  position: sticky;
  bottom: 0;
  z-index: 2;
  padding: 10px 0 max(10px, env(safe-area-inset-bottom));
  background: #fbf8f2;
}
.audit-screen:not([data-audit-step="2"]) .audit-questionnaire-navigation {
  position: static;
}
.audit-screen .audit-slot-days { max-height: none; overflow: visible; }
.audit-screen .audit-slot-navigation { justify-content: space-between; }

/* Step four: choices have their own bounded scroll area; actions never cover
   the last answer, including on iPhone 11 Pro and larger system text. */
.scenario-form-mode .scenario-screen-levels {
  min-height: 0;
  overflow: hidden;
}
.scenario-form-mode .scenario-screen-levels .multi-options {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  grid-auto-rows: max-content;
  align-content: start;
  padding-bottom: 12px;
}
.scenario-form-mode .scenario-screen-levels .scenario-actions {
  position: relative;
  z-index: 2;
  background: var(--panel);
}
@media (max-width: 430px) {
  .scenario-form-mode .scenario-screen-levels .multi-options { grid-template-columns: 1fr; }
  .scenario-form-mode .scenario-screen-levels .scenario-option,
  .scenario-form-mode .scenario-screen-levels .general-break-option { min-height: 58px; padding: 7px 10px; }
  .scenario-form-mode .scenario-screen-levels .scenario-option span { font-size: 10px; line-height: 1.2; }
  .scenario-deck-nav { grid-template-columns: auto minmax(0, 1fr) minmax(120px, 1.4fr); }
  .scenario-deck-stage { scroll-padding-bottom: 14px; }
}

/* Final mobile result polish: one scroll owner, one open mechanics row and a
   full-width forward action. */
.scenario-deck-stage[data-page-key="overview"],
.scenario-deck-stage[data-page-key="scenario-mechanics"] {
  display: block !important;
}

.scenario-deck-stage[data-page-key="overview"] > .v4-result-page,
.scenario-deck-stage[data-page-key="scenario-mechanics"] > .v4-result-page {
  height: max-content !important;
  min-height: 100% !important;
  overflow: hidden !important;
}

.scenario-deck-nav.scenario-overview-forward {
  grid-template-columns: minmax(0, 1fr) !important;
}

.scenario-deck-nav.scenario-overview-forward .scenario-deck-nav-btn.secondary,
.scenario-deck-nav.scenario-overview-forward .scenario-deck-dots {
  display: none;
}

.scenario-deck-nav.scenario-overview-forward .scenario-deck-nav-btn.primary {
  width: 100%;
  min-height: 50px;
  padding-inline: 14px;
  font-size: clamp(11px, 3.2vw, 14px);
}

.v4-audit-window {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 4px;
}

.v4-audit-window > span {
  text-align: center;
}

.v4-audit-window .deck-countdown {
  width: 100%;
  min-width: 0;
  padding: 7px 9px;
  white-space: normal;
  font-size: 13px !important;
  line-height: 1.35;
}

.viewport-app .top-floating-timer {
  width: min(430px, calc(100vw - 20px));
  max-width: calc(100vw - 20px);
  min-height: 36px;
  padding: 7px 11px;
  white-space: normal;
  text-align: center;
  line-height: 1.25;
}

.viewport-app .top-floating-timer > span {
  min-width: 0;
}

/* «Следующий шаг» is one informative surface rather than a tall empty frame. */
.scenario-deck-stage[data-page-key="journal"] > .profile-audit-card.direct-audit-profile {
  min-height: auto !important;
  height: auto;
  align-self: start;
  align-content: start;
  gap: 14px;
  padding: clamp(16px, 4vw, 22px);
}

.direct-audit-profile .profile-audit-intro {
  display: grid;
  gap: 7px;
}

.direct-audit-profile .profile-audit-intro h2 {
  color: #fff3c9;
  font-size: clamp(24px, 6.7vw, 34px);
  line-height: 1.05;
}

.direct-audit-profile .profile-audit-intro p {
  color: #e6daeb;
  font-size: clamp(13px, 3.5vw, 16px);
  line-height: 1.42;
}

.profile-audit-plan {
  display: grid;
}

.profile-audit-details {
  border-top: 1px solid rgba(255, 255, 255, .14);
  border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.profile-audit-details > summary {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  list-style: none;
  cursor: pointer;
  color: #fff3c9;
  font-size: 15px;
  font-weight: 750;
}

.profile-audit-details > summary::-webkit-details-marker {
  display: none;
}

.profile-audit-details > summary::after {
  content: '+';
  font-size: 24px;
  line-height: 1;
  color: #f0b7ff;
}

.profile-audit-details[open] > summary::after {
  content: '−';
}

.profile-audit-plan > div {
  padding: 11px 0;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
}

.profile-audit-plan > div + div {
  border-top: 1px solid rgba(255, 255, 255, .08);
}

.profile-audit-plan b {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  color: #230b2f;
  background: linear-gradient(135deg, #f0b7ff, #ffd449);
  font-size: 11px;
}

.profile-audit-plan p {
  display: grid;
  gap: 3px;
}

.profile-audit-plan strong {
  color: #fff5d0;
  font-size: clamp(14px, 3.6vw, 16px);
}

.profile-audit-plan span {
  color: #e0d4e5;
  font-size: clamp(13px, 3.4vw, 15px);
  line-height: 1.38;
}

.profile-audit-result-summary,
.profile-audit-status,
.profile-audit-continuation {
  display: grid;
  gap: 5px;
}

.profile-audit-result-summary strong,
.profile-audit-status strong,
.profile-audit-continuation strong {
  color: #ffe997;
  font-size: 13px;
}

.profile-audit-result-summary span,
.profile-audit-status span,
.profile-audit-continuation p {
  color: #d8ccdd;
  font-size: 13px;
  line-height: 1.4;
}

.profile-audit-status b {
  color: #fff;
  font-size: 14px;
}

.profile-audit-main-action {
  width: 100%;
  min-height: 50px;
  margin: 0;
  font-size: clamp(12px, 3.4vw, 15px);
}

.profile-audit-window-copy,
.profile-audit-soft-note {
  color: #e0d4e5 !important;
  font-size: 13px !important;
  line-height: 1.4;
  text-align: center;
}

/* One adaptive product shelf: Audit while the free window is open, Contact
   with Self after it closes, and the Intensive after full access is granted. */
.scenario-deck-stage[data-page-key="journal"] > .profile-program-card {
  width: 100%;
  height: auto;
  min-height: 0;
  align-self: start;
  box-sizing: border-box;
}

.profile-program-card {
  display: grid;
  gap: 14px;
  padding: clamp(15px, 4vw, 21px);
  overflow: hidden;
  border: 1px solid rgba(255, 196, 0, .38);
  border-radius: 20px;
  background:
    radial-gradient(circle at 100% 0%, rgba(246, 193, 63, .14), transparent 38%),
    linear-gradient(145deg, rgba(52, 18, 61, .98), rgba(20, 8, 31, .99));
}

.profile-program-card > h2,
.profile-program-card > p,
.profile-program-hero > h2,
.profile-program-hero > p,
.profile-program-path p,
.profile-program-footnote { margin: 0; }

.profile-program-hero {
  display: grid;
  gap: 7px;
}

.profile-program-hero h2 {
  color: #fff3c9;
  font-size: clamp(24px, 6.7vw, 34px);
  line-height: 1.04;
}

.profile-program-hero p,
.profile-program-card > p {
  color: #e2d5e7;
  font-size: clamp(12px, 3.35vw, 15px);
  line-height: 1.43;
}

.profile-program-guide {
  padding: 9px 11px;
  border: 1px dashed rgba(240, 183, 255, .34);
  border-radius: 12px;
  color: #e8c9f1 !important;
  background: rgba(215, 124, 255, .07);
  font-size: 11px !important;
  font-weight: 750;
  line-height: 1.35 !important;
  text-align: center;
}

.profile-program-path {
  display: grid;
  gap: 8px;
}

.profile-program-step {
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 15px;
  background: rgba(255, 255, 255, .045);
  overflow: hidden;
}

.profile-program-step[open] {
  border-color: rgba(215, 124, 255, .36);
  background: rgba(215, 124, 255, .065);
}

.profile-program-step.is-audit {
  border-color: rgba(255, 196, 0, .42);
  background: linear-gradient(135deg, rgba(255, 196, 0, .11), rgba(222, 126, 255, .07));
}

.profile-program-step > summary {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) 26px;
  gap: 10px;
  align-items: center;
  min-height: 64px;
  padding: 11px 12px;
  cursor: pointer;
  list-style: none;
  -webkit-tap-highlight-color: transparent;
}

.profile-program-step > summary::-webkit-details-marker { display: none; }

.profile-program-step > summary::after {
  content: '+';
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  color: #ffe78c;
  background: rgba(255, 196, 0, .1);
  font-size: 18px;
  font-weight: 850;
  line-height: 1;
}

.profile-program-step[open] > summary::after { content: '−'; }

.profile-program-step > summary > b {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  color: #25092e;
  background: linear-gradient(135deg, #f0b7ff, #ffd449);
  font-size: 12px;
}

.profile-program-step > summary > span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.profile-program-step > summary strong {
  color: #fff1bd;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.25;
}

.profile-program-step > summary small {
  color: #cfc1d5;
  font-size: 10px;
  line-height: 1.3;
}

.profile-program-step-panel {
  display: grid;
  gap: 10px;
  padding: 0 12px 13px 52px;
  color: #d8cbdd;
  font-size: 11px;
  line-height: 1.45;
}

.profile-program-step-panel p,
.profile-program-step-panel ul { margin: 0; }
.profile-program-step-panel ul { padding-left: 17px; }
.profile-program-step-panel li + li { margin-top: 4px; }
.profile-program-step-panel .deck-action { width: 100%; margin: 2px 0 0; }

.contact-self-materials {
  display: grid;
  gap: 6px;
}

.contact-self-material-pair {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 10px;
  background: rgba(10, 2, 18, .28);
}

.contact-self-material-pair > b {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 50%;
  color: #25092e;
  background: #ffd449;
  font-size: 10px;
}

.contact-self-material-pair > span { display: grid; gap: 2px; min-width: 0; }
.contact-self-material-pair strong { color: #fff1bd; font-size: 11px; }
.contact-self-material-pair small { color: #cfc1d5; font-size: 9.5px; line-height: 1.3; }

.profile-program-included {
  display: grid;
  gap: 6px;
  padding: 11px 12px;
  border-radius: 13px;
  color: #d8cbdd;
  background: rgba(255, 196, 0, .065);
  font-size: 11px;
  line-height: 1.4;
}

.profile-program-included > strong { color: #fff1bd; }
.profile-program-included ul { margin: 0; padding-left: 17px; }
.profile-program-included li + li { margin-top: 4px; }

.rr-checkout-methods {
  display: grid;
  gap: 5px;
}

.rr-checkout-methods > small {
  color: #aa9bb1;
  font-size: 9.5px;
  line-height: 1.35;
  text-align: center;
}

.profile-intensive-stages .profile-program-step-panel {
  padding-left: 10px;
}

.profile-intensive-stages .deck-program-days {
  align-content: start;
}

.profile-program-audit-note {
  display: grid;
  gap: 6px;
  padding: 12px;
  border-radius: 15px;
  color: #dcd0e1;
  background: rgba(215, 124, 255, .08);
}

.profile-program-audit-note strong { color: #f3cfff; font-size: 13px; }
.profile-program-audit-note span { font-size: 11px; line-height: 1.4; }
.profile-program-audit-note .deck-action { width: 100%; margin: 3px 0 0; }

.profile-program-main-action {
  width: 100%;
  min-height: 52px;
  margin: 0;
  padding-inline: 12px;
  font-size: clamp(11px, 3.2vw, 14px);
}

.profile-program-footnote {
  color: #aa9bb1;
  font-size: 10px;
  line-height: 1.42;
  text-align: center;
}

.intensive-program-profile {
  align-content: start;
}

.program-loading {
  align-content: center;
  min-height: 220px !important;
  text-align: center;
}

@media (max-height: 720px) {
  .profile-program-card { gap: 10px; padding: 13px 15px; }
  .profile-program-hero { gap: 4px; }
  .profile-program-hero h2 { font-size: 23px; }
  .profile-program-hero p { font-size: 11px; line-height: 1.34; }
  .profile-program-path { gap: 6px; }
  .profile-program-step > summary { min-height: 56px; padding: 9px 10px; }
  .profile-program-step-panel { padding: 0 10px 11px 48px; }
  .profile-program-main-action { min-height: 46px; }
}

@media (max-height: 720px) {
  .scenario-deck-stage[data-page-key="journal"] > .profile-audit-card.direct-audit-profile {
    gap: 9px;
    padding: 13px 15px;
  }

  .direct-audit-profile .profile-audit-intro {
    gap: 4px;
  }

  .direct-audit-profile .profile-audit-intro h2 {
    font-size: 23px;
  }

  .direct-audit-profile .profile-audit-intro p {
    font-size: 13px;
    line-height: 1.4;
  }

  .profile-audit-plan > div {
    padding: 7px 0;
  }

  .profile-audit-plan strong {
    font-size: 14px;
  }

  .profile-audit-plan span {
    font-size: 13px;
    line-height: 1.35;
  }

  .profile-audit-main-action {
    min-height: 48px;
  }

  .profile-audit-soft-note {
    display: none;
  }
}

/* Four calm questionnaire screens. The document links remain compact enough
   for the final confirmation screen on a narrow phone. */
.audit-screen .audit-questionnaire-step:not(.hidden) {
  display: grid;
  align-content: start;
}

.audit-screen .doc-links {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 5px 10px;
}

.audit-screen .doc-links::before {
  content: 'Документы:';
  color: #756a5e;
  font-size: 10px;
  font-weight: 800;
}

.audit-screen .doc-links a {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 10px;
  line-height: 1.25;
}

.audit-screen[data-audit-step="4"] .workspace-consent {
  gap: 8px;
  padding: 10px 11px;
  font-size: 11px;
  line-height: 1.4;
}

@media (max-width: 350px) {
  .audit-questionnaire-progress {
    gap: 4px;
    padding-inline: 0;
  }

  .audit-questionnaire-progress span small {
    font-size: 9px;
  }

  .audit-screen .doc-links a {
    padding-inline: 7px;
    font-size: 9px;
  }
}

/* Post-Audit offer: a readable recommendation and two server-permitted actions. */
.deck-after-audit {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 15px;
}

.deck-after-audit > p {
  font-size: clamp(12px, 3.35vw, 15px);
}

.after-audit-recommendation {
  display: grid;
  gap: 9px;
  padding: 15px;
  border: 1px solid rgba(255, 212, 73, .62);
  border-radius: 17px;
  background: linear-gradient(135deg, rgba(92, 38, 103, .88), rgba(50, 28, 47, .95));
  box-shadow: 0 14px 32px rgba(0, 0, 0, .18);
}

.after-audit-recommendation > span {
  color: #ffe58b;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.after-audit-recommendation h3 {
  margin: 0;
  color: #fff8df;
  font-size: clamp(18px, 5.2vw, 25px);
  line-height: 1.1;
}

.after-audit-recommendation-price {
  color: #ffdc57;
  font-size: clamp(25px, 7vw, 34px);
  line-height: 1;
}

.after-audit-recommendation ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding-left: 18px;
  color: #f2eaf2;
  font-size: clamp(12px, 3.2vw, 14px);
  line-height: 1.32;
}

.after-audit-route-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.after-audit-route-actions .deck-action {
  min-height: 48px;
  margin: 0;
  padding: 8px;
  font-size: clamp(11px, 3vw, 13px);
  line-height: 1.2;
}

.post-audit-payment-actions {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.post-audit-payment-actions .deck-payment-open {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 51px;
  margin: 0;
  padding: 8px 11px;
  text-align: left;
}

.post-audit-payment-actions .deck-payment-open span {
  font-size: clamp(11px, 3vw, 13px);
  font-weight: 850;
  line-height: 1.2;
}

.post-audit-payment-actions .deck-payment-open strong {
  white-space: nowrap;
  font-size: clamp(13px, 3.5vw, 16px);
}

.post-audit-payment-help {
  color: #cfc2d1 !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
}

.post-audit-payment-help a { color: #ffe58b; }

.scenario-deck-stage[data-page-key="formats"] .deck-after-audit-formats {
  height: 100%;
  min-height: 0;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  gap: 8px;
}

.deck-after-audit-formats .deck-format-options {
  height: 100%;
  grid-template-rows: repeat(3, minmax(0, 1fr));
}

.deck-after-audit-formats .deck-format-jump {
  display: grid;
  align-content: center;
  gap: 3px;
  min-height: 0;
  padding: 10px 13px;
}

.deck-after-audit-formats .deck-format-jump strong {
  font-size: clamp(13px, 3.65vw, 17px);
  line-height: 1.16;
}

.deck-after-audit-formats .deck-format-jump small {
  font-size: clamp(10px, 2.8vw, 12px);
  line-height: 1.2;
}

.scenario-deck-stage[data-page-key^="product-"] {
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.scenario-deck-stage[data-page-key^="product-"] .deck-product-after-audit {
  display: grid;
  align-content: start;
  grid-auto-rows: max-content;
  gap: 8px;
  height: auto;
  min-height: 100%;
  max-height: none;
  padding: 12px 13px calc(13px + env(safe-area-inset-bottom, 0px));
  overflow: visible;
}

.deck-product-after-audit > h2 {
  font-size: clamp(17px, 4.85vw, 22px);
  line-height: 1.1;
}

.deck-product-after-audit .deck-product-price {
  font-size: clamp(26px, 7vw, 32px);
  line-height: 1;
}

.deck-product-after-audit .deck-product-includes { gap: 5px; }

.deck-product-after-audit .deck-product-includes > div {
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 7px;
  padding: 6px 8px;
}

.deck-product-after-audit .deck-product-includes b {
  width: 21px;
  height: 21px;
  font-size: 11px;
}

.deck-product-after-audit .deck-product-includes span {
  font-size: clamp(11px, 3vw, 13px);
  line-height: 1.22;
}

.post-audit-tariff-more {
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, .17);
  border-radius: 11px;
  color: #f4d9fb;
  background: rgba(255, 255, 255, .035);
}

.post-audit-tariff-more summary {
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
}

.post-audit-tariff-more ul {
  margin: 9px 0 2px;
  padding-left: 18px;
  font-size: 11px;
  line-height: 1.4;
}

.post-audit-tariff-more li + li { margin-top: 4px; }

.intensive-program-profile.is-preview .profile-program-step.is-contact-stage {
  border-color: rgba(255, 212, 73, .65);
  background: linear-gradient(135deg, rgba(255, 196, 0, .14), rgba(215, 124, 255, .08));
}

.profile-program-audit-complete {
  padding: 9px 11px;
  border-radius: 11px;
  color: #ffe9a6 !important;
  background: rgba(255, 196, 0, .09);
}

.profile-program-material-details {
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 10px;
}

.profile-program-material-details summary {
  cursor: pointer;
  color: #ffe9a6;
  font-weight: 800;
}

.profile-program-material-details > .contact-self-materials,
.profile-program-material-details > .deck-program-days { margin-top: 8px; }

@media (max-width: 350px), (max-height: 620px) {
  .scenario-deck-stage[data-page-key="formats"] { overflow-y: auto; }
  .scenario-deck-stage[data-page-key="formats"] .deck-after-audit-formats {
    height: auto;
    min-height: 100%;
    grid-template-rows: auto auto auto auto auto;
    overflow: visible;
  }
  .deck-after-audit-formats .deck-format-options {
    height: auto;
    grid-template-rows: repeat(3, minmax(88px, auto));
  }
  .deck-after-audit-formats .deck-format-jump strong { font-size: 13px; }
  .deck-after-audit-formats .deck-format-jump small { font-size: 10px; }
  .after-audit-route-actions { grid-template-columns: 1fr; }
}
