/* static/premium.css */
/* === THEME TOKENS (shared across all pages) =========================== */

:root {
  --font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji",
    "Segoe UI Emoji";

  /* Brand */
  --accent: #13b6c6;
  --accent-2: #0f8f9b;
  --pulse-green: #2fbf78;
  --pulse-amber: #f1b23a;
  --pulse-red: #e35b5b;

  /* Radius & shadow */
  --radius-lg: 18px;
  --radius-md: 14px;

  /* Typography */
  --text-strong-weight: 650; /* heavier, premium */
  --text-title-weight: 760;
  --text-body-weight: 450;
  --letter-tight: -0.02em;

  /* Tile sizing */
  --tile-min-height: 170px;
  --tile-padding: 16px;
  --tile-radius: 18px;
  --tile-gap: 16px;

  /* Pro layout + summary tiles */
  --pro-wrap-max: 1320px;
  --pro-wrap-pad: 24px;
  --pro-container-max: 1400px;
  --pro-container-pad: 24px;
  --summary-gap: 18px;
  --summary-min-col: 240px;
  --summary-row-max: 1360px;
  --tile-border: rgba(15, 23, 42, 0.10);
  --tile-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
  --tile-pad: 16px;
  --tile-min-h: 150px;
  --dash-h1-size: 56px;
  --dash-h1-lh: 1.05;
}

/* Default theme: DARK */
html[data-theme="dark"] {
  --bg: #07090c;
  --bg-2: #0a0f14;
  --surface: rgba(255, 255, 255, 0.06);
  --surface-2: rgba(255, 255, 255, 0.08);
  --card: rgba(255, 255, 255, 0.055);
  --card-border: rgba(255, 255, 255, 0.10);

  --text: rgba(255, 255, 255, 0.86);
  --text-2: rgba(255, 255, 255, 0.70);
  --text-3: rgba(255, 255, 255, 0.52);

  --shadow: 0 18px 50px rgba(0, 0, 0, 0.55);
  --shadow-soft: 0 14px 40px rgba(0, 0, 0, 0.35);
}

/* LIGHT */
html[data-theme="light"] {
  --bg: #f6f8fb;
  --bg-2: #ffffff;
  --surface: rgba(0, 0, 0, 0.04);
  --surface-2: rgba(0, 0, 0, 0.06);
  --card: rgba(255, 255, 255, 0.92);
  --card-border: rgba(0, 0, 0, 0.08);

  --text: rgba(12, 18, 28, 0.90);
  --text-2: rgba(12, 18, 28, 0.70);
  --text-3: rgba(12, 18, 28, 0.52);

  --shadow: 0 18px 45px rgba(16, 24, 40, 0.14);
  --shadow-soft: 0 14px 40px rgba(16, 24, 40, 0.10);
}

/* === GLOBAL APPLICATION ============================================== */

body {
  font-family: var(--font-sans);
  background: #f6f7fb;
  background-image: none !important;
  color: var(--text);
}

body.launch-modal-open {
  overflow: hidden;
}

body.pulse-drawer-open {
  overflow: hidden;
}

h1, h2, h3 {
  color: var(--text);
  letter-spacing: var(--letter-tight);
}

h1 { font-weight: var(--text-title-weight); }
h2, h3 { font-weight: var(--text-strong-weight); }

p, li, .section-subtitle {
  color: var(--text-2);
  font-weight: var(--text-body-weight);
}

.dashboard-card {
  background: var(--card);
  border: 1px solid var(--card-border);
  box-shadow: var(--shadow);
  border-radius: var(--radius-lg);
}

.launch-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(8, 15, 24, 0.55);
  z-index: 80;
}

.launch-modal {
  position: fixed;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  width: min(1120px, 96vw);
  max-height: 90vh;
  background: var(--bg-2);
  border: 1px solid var(--card-border);
  border-radius: 22px;
  box-shadow: var(--shadow);
  padding: 24px;
  z-index: 90;
  display: grid;
  grid-template-rows: auto 1fr;
  opacity: 0;
  pointer-events: none;
}

.launch-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}

.launch-modal-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.launch-modal-attribution {
  display: inline-flex;
  margin-top: 4px;
  font-size: 12px;
  color: var(--text-2);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.launch-modal-body {
  margin-top: 18px;
  overflow-y: auto;
  padding-right: 6px;
  display: grid;
  gap: 24px;
  padding-bottom: 24px;
  position: relative;
}

.launch-role-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.launch-role-pill {
  border: 1px solid var(--card-border);
  background: rgba(255, 255, 255, 0.04);
  border-radius: 999px;
  padding: 12px 16px;
  text-align: left;
  font-weight: 600;
  cursor: pointer;
}

.launch-role-pill:hover {
  border-color: rgba(19, 182, 198, 0.5);
}

.launch-role-pill.is-selected {
  border-color: rgba(19, 182, 198, 0.8);
  box-shadow: 0 0 0 2px rgba(19, 182, 198, 0.2);
}

.launch-role-pill.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.launch-role-pill span {
  font-size: 12px;
  color: var(--text-2);
  margin-left: 6px;
}

.launch-plan-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  margin-bottom: 20px;
}

.launch-plan-meta {
  display: grid;
  gap: 10px;
  justify-items: end;
}

.launch-progress {
  display: grid;
  gap: 6px;
  justify-items: end;
  width: 160px;
}

.launch-progress-label {
  font-size: 11px;
  color: var(--text-3);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.launch-progress-bar {
  width: 100%;
  height: 6px;
  border-radius: 999px;
  background: rgba(19, 182, 198, 0.12);
  overflow: hidden;
}

.launch-progress-bar span {
  display: block;
  height: 100%;
  width: 0;
  background: rgba(19, 182, 198, 0.8);
}

.launch-progress-value {
  font-size: 12px;
  color: var(--text-2);
}

.organization-page .dashboard-hero {
  margin-bottom: 18px;
}

.org-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.org-tab.is-active {
  border-color: rgba(19, 182, 198, 0.4);
  background: rgba(19, 182, 198, 0.12);
}

.org-tab.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.org-panel {
  padding: 18px;
}

.org-panel-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.org-panel-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.org-table {
  display: grid;
  gap: 8px;
}

.org-table-header,
.org-table-row {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 0.6fr auto;
  gap: 12px;
  align-items: center;
}

.org-table-header {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--text-3);
}

.org-table-row {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
}

.org-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  color: var(--text-2);
  background: rgba(255, 255, 255, 0.06);
}

.org-list {
  display: grid;
  gap: 10px;
}

.access-panel {
  display: grid;
  gap: 16px;
}

.access-form {
  display: grid;
  gap: 16px;
}

.access-permissions {
  display: grid;
  gap: 10px;
}

.access-permissions-head,
.access-permissions-row {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 12px;
  align-items: center;
}

.access-permissions-head {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--text-2);
}

.access-actions {
  display: flex;
  justify-content: flex-end;
}

.org-panel-divider {
  height: 1px;
  background: var(--card-border);
  margin: 24px 0;
}

.access-scope-form {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
}

.access-scope-list {
  display: grid;
  gap: 10px;
}

.access-scope-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--card-border);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.02);
}

.org-list-row {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.org-empty {
  padding: 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
}

.org-permissions {
  display: grid;
  gap: 8px;
}

.org-permissions-head,
.org-permissions-row {
  display: grid;
  grid-template-columns: 1.8fr repeat(6, minmax(120px, 1fr));
  gap: 10px;
  align-items: center;
}

.org-permissions-head {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--text-3);
}

.org-permissions-row {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
}

.perm-yes {
  font-weight: 600;
  color: var(--text);
}

.perm-no {
  color: var(--text-3);
}

.launch-role-badge {
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  font-size: 12px;
  color: var(--text-2);
}

.launch-plan-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 28px;
  margin-top: 26px;
}

.launch-phase {
  border: 1px solid var(--card-border);
  border-radius: 16px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.015);
}

.launch-phase-goal {
  font-size: 12px;
  color: var(--text-2);
  margin-top: 4px;
  margin-bottom: 18px;
}

.launch-phase--foundation {
  margin-top: 18px;
  padding: 18px;
}

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

.launch-foundation-week {
  border: 1px solid var(--card-border);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.02);
  overflow: hidden;
}

.launch-foundation-summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 16px;
}

.launch-foundation-summary::-webkit-details-marker {
  display: none;
}

.launch-foundation-summary::after {
  content: "+";
  color: var(--text-3);
  font-size: 20px;
  line-height: 1;
  margin-left: auto;
}

.launch-foundation-week[open] .launch-foundation-summary::after {
  content: "−";
}

.launch-foundation-summary-main {
  display: grid;
  gap: 4px;
}

.launch-foundation-summary-main h5 {
  margin: 0;
  font-size: 14px;
}

.launch-foundation-summary-main p {
  margin: 0;
  font-size: 12px;
  color: var(--text-2);
}

.launch-foundation-summary-meta {
  display: grid;
  justify-items: end;
  gap: 6px;
}

.launch-foundation-content {
  border-top: 1px solid var(--card-border);
  padding: 12px;
  display: grid;
  gap: 10px;
}

.launch-foundation-card {
  border: 1px solid var(--card-border);
  border-radius: 12px;
  padding: 12px;
  background: rgba(255, 255, 255, 0.02);
}

.launch-foundation-card h6 {
  margin: 0 0 8px;
  font-size: 13px;
}

.launch-foundation-checklist {
  display: grid;
  gap: 8px;
}

.launch-foundation-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  color: var(--text);
}

.launch-foundation-check input {
  margin-top: 2px;
}

.launch-item-list {
  display: grid;
  gap: 16px;
  margin-top: 6px;
}

.launch-item {
  width: 100%;
  display: block;
  text-align: left;
  padding: 16px 16px 14px;
  border-radius: 16px;
  border: 1px solid var(--card-border);
  background: rgba(255, 255, 255, 0.02);
  cursor: pointer;
  font-size: 16px !important;
  line-height: 1.5;
}

.launch-item-head {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.launch-item-title {
  font-size: 16px !important;
  color: var(--text);
  padding-right: 0;
  min-width: 0;
}

.launch-item-title[contenteditable="true"] {
  border-bottom: 1px dashed rgba(19, 182, 198, 0.6);
}

.launch-item-note-indicator {
  display: inline-flex;
  margin-top: 8px;
  font-size: 12px;
  color: var(--text-3);
}

.launch-add-task {
  width: 100%;
  border: 1px dashed var(--card-border);
  border-radius: 14px;
  padding: 12px;
  background: transparent;
  color: var(--text-2);
  font-size: 13px;
  cursor: pointer;
  text-align: left;
}

.launch-add-task:hover {
  border-color: rgba(19, 182, 198, 0.4);
  color: var(--text);
}

.launch-item-status {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  font-size: 10px !important;
  padding: 2px 8px;
  color: var(--text-2);
  position: static;
  width: auto;
  height: auto;
  align-self: flex-end;
}

.launch-item-meta {
  margin-top: 8px;
  font-size: 12px;
  color: var(--text-3);
}

.launch-tile {
  display: grid;
  gap: 8px;
}

.launch-checklist-row {
  display: grid;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--card-border);
  background: rgba(255, 255, 255, 0.04);
}

.launch-checklist-label {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 14px;
  color: var(--text);
}

.launch-checklist-label input[type="text"] {
  width: 100%;
  border: 1px dashed rgba(19, 182, 198, 0.5);
  background: transparent;
  color: inherit;
  padding: 6px 8px;
  border-radius: 10px;
}

.launch-checklist-verify {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 12px;
  color: var(--text-2);
}

.launch-item-edit,
.launch-item-drag {
  border: 1px solid var(--card-border);
  background: transparent;
  color: var(--text-2);
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 999px;
  cursor: pointer;
  width: fit-content;
}

.launch-item-delete {
  border: 0;
  background: transparent;
  color: #fca5a5;
  font-size: 12px;
  cursor: pointer;
  text-align: left;
}

.launch-checklist-row.is-drag-over {
  border-color: rgba(19, 182, 198, 0.6);
  background: rgba(19, 182, 198, 0.08);
}

.launch-checklist-row.is-dragging {
  opacity: 0.6;
}

.launch-checklist-status {
  font-size: 12px;
  color: var(--text-3);
}

.launch-add-item {
  margin-top: 8px;
  border: 1px dashed var(--card-border);
  background: transparent;
  color: var(--text-2);
  border-radius: 12px;
  padding: 8px 10px;
  cursor: pointer;
  text-align: left;
}

.launch-edit-tile {
  align-self: flex-start;
  margin-bottom: 8px;
}

.launch-note-wrap {
  margin-top: 8px;
  display: grid;
  gap: 6px;
}

.launch-note-toggle {
  background: transparent;
  border: 0;
  color: var(--text-3);
  font-size: 11px;
  cursor: pointer;
  text-align: left;
}

.launch-note {
  width: 100%;
  min-height: 72px;
  border-radius: 12px;
  border: 1px solid var(--card-border);
  background: rgba(255, 255, 255, 0.03);
  color: var(--text);
  padding: 8px;
  font-size: 11px;
  resize: vertical;
}

.launch-plan-checklist {
  display: grid;
  gap: 8px;
  margin: 10px 0 0;
  padding-left: 0;
  list-style: none;
}

.launch-plan-check {
  display: flex;
  gap: 10px;
  align-items: center;
}

.launch-plan-verify {
  display: grid;
  gap: 6px;
  margin-top: 6px;
}

.launch-plan-notes {
  margin-top: 10px;
}

.launch-task-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(8, 15, 24, 0.25);
  z-index: 95;
}

.launch-task-drawer {
  position: fixed;
  top: 6vh;
  right: 24px;
  transform: translateY(0);
  width: min(520px, 92vw);
  max-height: 88vh;
  background: var(--bg-2);
  border: 1px solid var(--card-border);
  border-radius: 18px;
  box-shadow: var(--shadow);
  padding: 24px;
  z-index: 96;
  opacity: 0;
  pointer-events: none;
  margin-top: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.launch-task-drawer.is-open {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.launch-task-drawer-close {
  position: absolute;
  top: 12px;
  right: 12px;
}

.launch-task-drawer-body {
  display: grid;
  gap: 14px;
  max-height: calc(88vh - 64px);
  overflow-y: auto;
  overflow-x: visible;
  padding: 0 6px;
  padding-right: 6px;
}

.launch-task-drawer-body h3 {
  margin-top: 0;
}

.launch-task-drawer-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.launch-task-drawer .field input {
  height: 58px;
  padding: 14px 16px;
  font-size: 17px;
  line-height: 1.3;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--card-border);
  box-shadow: none;
}

.launch-task-drawer textarea {
  width: 100%;
  box-sizing: border-box;
}

.launch-task-drawer .field input:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.launch-phase[data-phase="30"] {
  padding: 22px;
}

.launch-phase[data-phase="30"] .launch-item-list {
  gap: 18px;
}

.launch-phase[data-phase="30"] .launch-item {
  padding: 18px;
}

.launch-phase[data-phase="60"] {
  padding: 18px;
}

.launch-phase[data-phase="60"] .launch-item-list {
  gap: 16px;
}

.launch-phase[data-phase="60"] .launch-item {
  padding: 15px;
}

.launch-phase[data-phase="90"] {
  padding: 16px;
}

.launch-phase[data-phase="90"] .launch-item-list {
  gap: 14px;
}

.launch-phase[data-phase="90"] .launch-item {
  padding: 12px;
}

.launch-plan-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 14px;
  flex-wrap: wrap;
  align-items: center;
}

.launch-plan-footer {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) auto;
  gap: 16px;
  align-items: center;
  margin-top: 16px;
}

.launch-assign-field {
  min-width: 220px;
  max-width: 460px;
  width: 100%;
}

.launch-assign-field select {
  width: 100%;
  box-sizing: border-box;
  height: 52px;
  padding: 12px 16px;
  font-size: 15px;
  line-height: 1.2;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--card-border);
  box-shadow: none;
  text-transform: none;
}

.launch-assign-field select:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(19, 182, 198, 0.18);
}

.launch-plan-actions .btn-primary {
  width: auto;
  min-width: 160px;
  padding: 10px 18px;
}

.launch-plan-actions .btn-secondary {
  min-width: 160px;
  padding: 10px 18px;
}

.launch-toast {
  margin-top: 12px;
  padding: 8px 12px;
  border-radius: 12px;
  background: rgba(19, 182, 198, 0.15);
  color: var(--text);
  font-size: 12px;
}

@media (max-width: 720px) {
  .launch-plan-footer {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .launch-plan-actions {
    flex-direction: column;
  }
  .launch-foundation-summary {
    flex-direction: column;
    align-items: stretch;
  }
  .launch-foundation-summary-meta {
    justify-items: start;
  }
}

@media (max-width: 760px) {
  .launch-item-head {
    display: block;
  }
  .launch-item-status {
    position: static;
    display: inline-flex;
    margin-top: 8px;
    width: auto;
    border-radius: 12px;
  }
}

/* Buttons (your existing classes keep working, this just makes them consistent) */
.btn-primary, .btn-secondary {
  background: linear-gradient(180deg, var(--accent), var(--accent-2));
  color: rgba(255,255,255,0.92);
  font-weight: 650;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.16);
}

/* Light mode button contrast fix (prevents “faded” look) */
html[data-theme="light"] .btn-primary,
html[data-theme="light"] .btn-secondary {
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 10px 22px rgba(16, 24, 40, 0.10);
}
/* ============================
   QiQ Theme Tokens (DO NOT FIGHT THESE)
   ============================ */

:root {
  --qiq-accent: #12b7c8;
  --qiq-accent-2: #0ea5b6;

  --bg: #07090d;
  --bg-soft: rgba(255,255,255,0.06);

  --text: rgba(255,255,255,0.92);
  --muted: rgba(255,255,255,0.68);
  --faint: rgba(255,255,255,0.52);

  --card: rgba(255,255,255,0.06);
  --card-strong: rgba(255,255,255,0.08);
  --border: rgba(255,255,255,0.10);

  --shadow: 0 20px 70px rgba(0,0,0,0.45);
  --shadow-soft: 0 14px 40px rgba(0,0,0,0.28);

  --h1-weight: 800;
  --h2-weight: 750;
  --h3-weight: 700;
}

/* LIGHT THEME */
:root[data-theme="light"] {
  --bg: #f6f7fb;
  --bg-soft: rgba(0,0,0,0.04);

  --text: rgba(10,12,18,0.92);
  --muted: rgba(10,12,18,0.66);
  --faint: rgba(10,12,18,0.50);

  --card: rgba(255,255,255,0.88);
  --card-strong: rgba(255,255,255,0.94);
  --border: rgba(10,12,18,0.10);

  --shadow: 0 20px 70px rgba(10,12,18,0.12);
  --shadow-soft: 0 14px 40px rgba(10,12,18,0.10);
}

/* ============================
   Apply Tokens
   ============================ */

body {
  background: var(--bg);
  color: var(--text);
}

.app-header {
  background: color-mix(in srgb, var(--bg) 78%, transparent);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--border);
}

.brand-tagline {
  color: var(--text);
  font-weight: 650;
}

.pill {
  border: 1px solid var(--border);
  color: var(--text);
  background: color-mix(in srgb, var(--bg-soft) 70%, transparent);
}

.pill--tag {
  background: color-mix(in srgb, var(--bg-soft) 85%, transparent);
}

.dashboard-hero .hero-eyebrow {
  color: var(--muted);
  font-weight: 650;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 12px;
  margin-bottom: 10px;
}

.dashboard-hero .hero-title {
  font-weight: var(--h1-weight);
  letter-spacing: -0.02em;
}

.dashboard-tagline,
.section-subtitle,
.card-sub {
  color: var(--muted);
}

.dashboard-section h2 {
  font-weight: var(--h2-weight);
  letter-spacing: -0.01em;
}

.dashboard-card {
  background: var(--card);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-soft);
}

.dashboard-card h3 {
  font-weight: var(--h3-weight);
}

.dashboard-card ul li {
  color: var(--muted);
}

.focus-list {
  margin: 12px 0 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
}

.focus-list li {
  display: grid;
  gap: 4px;
}

.focus-assign {
  margin-top: 16px;
  display: grid;
  gap: 14px;
}

.focus-choices {
  display: grid;
  gap: 10px;
}

.focus-choice {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: color-mix(in srgb, var(--card) 88%, transparent);
}

.focus-choice input {
  margin-top: 4px;
}

.focus-choice em {
  display: block;
  font-style: normal;
}

.focus-accordion {
  display: grid;
  gap: 10px;
}

.focus-accordion-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: 0;
  padding: 0;
  font: inherit;
  color: var(--text);
  cursor: pointer;
}

.focus-accordion-toggle:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--qiq-accent) 35%, transparent);
  outline-offset: 4px;
  border-radius: 8px;
}

.focus-chevron {
  transition: transform 0.2s ease;
}

.focus-accordion.is-open .focus-chevron {
  transform: rotate(180deg);
}

.focus-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 13px;
}

.leadership-focus-panel {
  display: grid;
  gap: 12px;
}

.leadership-focus-form--owner {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
  display: grid;
  gap: 12px;
}

.focus-range {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.btn-primary,
.btn-secondary {
  border: 1px solid color-mix(in srgb, var(--qiq-accent) 35%, var(--border));
}

.btn-primary {
  background: linear-gradient(180deg, var(--qiq-accent), var(--qiq-accent-2));
  color: #ffffff;
  box-shadow: 0 16px 34px rgba(18,183,200,0.22);
}

:root[data-theme="light"] .btn-primary {
  box-shadow: 0 16px 34px rgba(18,183,200,0.18);
}

.btn-secondary {
  background: color-mix(in srgb, var(--bg-soft) 86%, transparent);
  color: var(--text);
}
/* ===============================
   QiQ Global Typography System
   =============================== */

:root {
  --qiq-h1: 40px;
  --qiq-h2: 22px;
  --qiq-h3: 20px;

  --qiq-body: 18px;
  --qiq-body-muted: 17px;
  --qiq-footnote: 14px;
}

/* Headings */
h1 {
  font-size: var(--qiq-h1);
  line-height: 1.15;
  font-weight: 700;
}

h2 {
  font-size: var(--qiq-h2);
  line-height: 1.25;
  font-weight: 600;
}

h3 {
  font-size: var(--qiq-h3);
  line-height: 1.3;
  font-weight: 600;
}

/* Body text */
p,
li {
  font-size: var(--qiq-body);
  line-height: 1.55;
}

.hub-tagline,
.hub-subtitle {
  font-size: var(--qiq-body-muted);
}

/* Small text */
.pill,
.hub-footnote {
  font-size: var(--qiq-footnote);
}
/* Typography weight + crispness */
:root{
  --font-sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
}

body{
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3{
  font-weight: 650;      /* use 600–700 feel without being bulky */
  letter-spacing: -0.02em;
}

p, li{
  font-weight: 450;      /* makes body feel more “premium” than 400 */
  letter-spacing: -0.005em;
}

.app-header .brand-tagline{
  font-weight: 600;      /* keep tagline strong in the header */
}

/* === GLOBAL TYPOGRAPHY (LOCKED) === */
:root{
  --qiq-font: ui-sans-serif, system-ui, -apple-system, "SF Pro Display", "SF Pro Text",
             "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}

/* Force the same font everywhere (dark + light) */
html, body {
  font-family: var(--qiq-font) !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Make form controls + buttons match too (they often ignore body font) */
button, input, select, textarea {
  font-family: inherit !important;
}

/* Pills/toggles sometimes get styled elsewhere; lock them */
.pill, .theme-toggle, .pill--tag, .pill--toggle {
  font-family: inherit !important;
  letter-spacing: .08em; /* optional: keeps that premium capsule feel */
  text-transform: uppercase; /* optional if you like the look */
}
:root{
  --font: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", Roboto, Arial, sans-serif;
}

html, body{
  font-family: var(--font) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
*, *::before, *::after { box-sizing: border-box; }
html, body { width: 100%; }
/* =========================
   QiQ PREMIUM OVERRIDES
   ========================= */

/* Theme Tokens */
:root{
  --bg0: #05070b;
  --bg1: #071018;

  --surface: rgba(255,255,255,0.06);
  --surface2: rgba(255,255,255,0.04);
  --border: rgba(255,255,255,0.12);

  --text0: rgba(247,248,251,0.92);
  --text1: rgba(247,248,251,0.74);

  --accent: rgba(19, 197, 214, 0.95);
  --accentSoft: rgba(19, 197, 214, 0.18);

  --shadow: 0 22px 80px rgba(0,0,0,0.45);

  --s1: 8px;
  --s2: 12px;
  --s3: 16px;
  --s4: 24px;
  --s5: 32px;
  --s6: 48px;
}

/* Light mode */
html[data-theme="light"]{
  --bg0: #f6f7fb;
  --bg1: #eef2f8;

  --surface: rgba(15,18,25,0.04);
  --surface2: rgba(15,18,25,0.03);
  --border: rgba(15,18,25,0.10);

  --text0: rgba(12,14,18,0.92);
  --text1: rgba(12,14,18,0.72);

  --accent: rgba(12, 145, 160, 0.95);
  --accentSoft: rgba(12, 145, 160, 0.16);

  --shadow: 0 18px 70px rgba(20,24,40,0.10);
}

/* Global base */
body{
  color: var(--text0);
  background: var(--bg0);
  background-image: none;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, Segoe UI, Roboto, Arial, sans-serif;
}

/* Layout */
.content{
  width: min(1100px, calc(100% - 48px));
  margin: 0 auto;
  padding: var(--s6) 0;
}

.hero{
  text-align: center;
  margin: var(--s5) 0 var(--s4);
}

h1{
  font-size: clamp(34px, 4vw, 64px);
  letter-spacing: -0.03em;
  line-height: 1.05;
  margin: 0 0 var(--s2);
}

h2{
  letter-spacing: -0.02em;
  margin: 0 0 var(--s2);
}

.subhead{
  max-width: 72ch;
  margin: 0 auto var(--s4);
  color: var(--text1);
  line-height: 1.55;
}

/* Header polish (works if those classes exist; harmless if not) */
.app-header{
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* Cards */
.card{
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 22px;
  box-shadow: var(--shadow);
  padding: 26px;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.card:hover{
  transform: translateY(-2px);
  background: rgba(255,255,255,0.07);
  border-color: rgba(255,255,255,0.18);
}

html[data-theme="light"] .card:hover{
  background: rgba(15,18,25,0.05);
  border-color: rgba(15,18,25,0.16);
}

/* Buttons */
.actions{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: var(--s4);
}

.btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border-radius: 14px;
  text-decoration: none;
  font-weight: 700;
  letter-spacing: -0.01em;
  background: var(--accent);
  color: #061014;
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 14px 40px rgba(0,0,0,0.25);
  transition: transform 160ms ease, filter 160ms ease, background 160ms ease;
}

.btn:hover{
  transform: translateY(-1px);
  filter: brightness(1.02);
}

.btn.secondary{
  background: var(--surface2);
  color: var(--text0);
  border: 1px solid var(--border);
  box-shadow: none;
}

.btn.secondary:hover{
  background: var(--surface);
}

/* Pills */
.pill{
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--surface2);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.88;
}
/* =========================
   SNATCH PACK: TYPE + RHYTHM
   ========================= */

h1, h2, h3{
  letter-spacing: -0.03em;
}

.hero h1{
  font-size: clamp(36px, 4vw, 58px);
  line-height: 1.04;
  margin: 0 0 10px 0;
}

.hero .subhead{
  font-size: 16px;
  line-height: 1.55;
  opacity: 0.82;
  margin-bottom: 26px;
}

/* tighten vertical rhythm */
.content{
  padding-top: 44px !important;
  padding-bottom: 54px !important;
}

.card h2{
  font-size: 28px;
  line-height: 1.12;
  margin-bottom: 10px;
}

.card p{
  margin-top: 0;
  margin-bottom: 14px;
  color: var(--text1);
}
/* =========================
   SNATCH PACK: CARDS
   ========================= */

.card{
  background: linear-gradient(180deg, rgba(255,255,255,0.070), rgba(255,255,255,0.045)) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 24px !important;
  box-shadow: 0 28px 90px rgba(0,0,0,0.48) !important;
  padding: 28px !important;
}

.card:hover{
  transform: translateY(-3px) !important;
  border-color: rgba(255,255,255,0.20) !important;
}

/* Light mode card polish */
html[data-theme="light"] .card{
  background: linear-gradient(180deg, rgba(15,18,25,0.04), rgba(15,18,25,0.02)) !important;
  border-color: rgba(15,18,25,0.10) !important;
  box-shadow: 0 22px 70px rgba(20,24,40,0.12) !important;
}
/* =========================
   SNATCH PACK: BUTTONS
   ========================= */

.btn{
  height: 48px;
  padding: 0 18px !important;
  border-radius: 14px !important;
  font-weight: 750 !important;
  letter-spacing: -0.01em !important;
  box-shadow: 0 18px 55px rgba(0,0,0,0.32) !important;
}

.btn:hover{
  transform: translateY(-2px) !important;
  filter: brightness(1.03);
}

.btn:active{
  transform: translateY(0px) scale(0.99) !important;
}

.btn.secondary{
  box-shadow: none !important;
  background: rgba(255,255,255,0.05) !important;
}

html[data-theme="light"] .btn.secondary{
  background: rgba(15,18,25,0.04) !important;
}
.card ul{
  margin: 14px 0 0 0;
  padding-left: 18px;
  color: var(--text1);
}

.card li{
  line-height: 1.5;
  margin: 8px 0;
}

/* Toggle */
.theme-toggle{
  appearance: none;
  border: 1px solid var(--border);
  background: var(--surface2);
  color: var(--text0);
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 650;
  letter-spacing: -0.01em;
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.theme-toggle:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.20);
  background: var(--surface);
}

html[data-theme="light"] .theme-toggle:hover{
  border-color: rgba(15,18,25,0.18);
  
}
html[data-theme="light"] body{
  background: white !important;
  color: black !important;
}
h1, h2, h3, h4, .brand, .pill, .theme-toggle, .btn{
  font-family: var(--font) !important;
}
/* Toggle visibility (especially in light mode) */
.theme-toggle{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.86);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  cursor: pointer;
}

.theme-toggle:hover{
  background: rgba(255,255,255,0.10);
}

html[data-theme="light"] .theme-toggle{
  background: rgba(15,18,25,0.06);
  border-color: rgba(15,18,25,0.12);
  color: rgba(12,14,18,0.82);
}

html[data-theme="light"] .theme-toggle:hover{
  background: rgba(15,18,25,0.09);
}
/* =========================
   HEADER PILLS: SNATCHED
   ========================= */

.header-actions{
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Base pill style */
.pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.82);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .12em;
  text-transform: uppercase;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.pill--tag{ opacity: 0.9; }

/* Toggle pill (clickable) */
.pill--toggle{
  letter-spacing: -0.01em;
  text-transform: none;
  font-weight: 800;
  color: rgba(255,255,255,0.90);
  cursor: pointer;
  border-color: rgba(255,255,255,0.18);
}

.pill--toggle:hover{
  background: rgba(255,255,255,0.10);
  border-color: rgba(255,255,255,0.26);
}

/* LIGHT MODE */
html[data-theme="light"] .pill{
  background: rgba(15,18,25,0.04);
  border-color: rgba(15,18,25,0.12);
  color: rgba(12,14,18,0.68);
}

html[data-theme="light"] .pill--toggle{
  background: rgba(15,18,25,0.06);
  color: rgba(12,14,18,0.86);
  border-color: rgba(15,18,25,0.16);
}

html[data-theme="light"] .pill--toggle:hover{
  background: rgba(15,18,25,0.10);
}
/* Header layout: brand left, actions right */
.app-header{
  position: sticky;
  top: 0;
  z-index: 50;
}

.app-header .brand{
  display: flex;
  align-items: center;
  gap: 14px;
}

.app-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 34px;
}

.header-actions{
  margin-left: auto;
}

.hero h1{
  font-size: clamp(44px, 4.6vw, 64px);
  letter-spacing: -0.04em;
  line-height: 1.02;
  margin-bottom: 10px;
}

.hero p, .hero .subhead{
  font-size: 16px;
  line-height: 1.6;
  opacity: 0.78;
  max-width: 56ch;
  margin: 0 auto;
}
/* ------------------------------
   THEME TOGGLE: ALWAYS VISIBLE
-------------------------------- */

.header-actions{
  display:flex;
  gap:10px;
  align-items:center;
}

/* shared pill look */
.pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  border:1px solid rgba(255,255,255,0.16);
  background:rgba(0,0,0,0.22);
  color:rgba(255,255,255,0.86);
  backdrop-filter: blur(10px);
}

/* the toggle should not be uppercased like a tag */
.pill--toggle{
  text-transform:none;
  letter-spacing:0;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
}

/* LIGHT THEME OVERRIDES */
body.theme-light .pill{
  border:1px solid rgba(0,0,0,0.14);
  background:rgba(255,255,255,0.72);
  color:rgba(0,0,0,0.78);
}

body.theme-light .pill--toggle{
  background:rgba(255,255,255,0.9);
  border:1px solid rgba(0,0,0,0.18);
  color:rgba(0,0,0,0.85);
}

/* make sure it never disappears */
.pill--toggle,
.theme-toggle{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
.qiq-tile{
  transition: transform 180ms ease, box-shadow 180ms ease;
}
.qiq-tile:hover{
  transform: translateY(-3px);
}
/* ------------------------------
   LIGHT THEME: BACKGROUND + TEXT
-------------------------------- */
body.theme-light{
  background: #f6f7fb !important;
  color: #0b0f14 !important;
}

body.theme-light .app-shell{
  background: transparent !important;
}

body.theme-light .app-header{
  background: rgba(255,255,255,0.75) !important;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

body.theme-light .brand-tagline{
  color: rgba(0,0,0,0.82) !important;
}

/* cards in light mode */
body.theme-light .qiq-tile,
body.theme-light .experience-card,
body.theme-light .hub-card{
  background: rgba(255,255,255,0.92) !important;
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 16px 40px rgba(0,0,0,0.10);
}

body.theme-light h1,
body.theme-light h2,
body.theme-light p,
body.theme-light li{
  color: rgba(0,0,0,0.85) !important;
}
body.theme-light .pill{
  background: rgba(255,255,255,0.85) !important;
  border: 1px solid rgba(0,0,0,0.12) !important;
  color: rgba(0,0,0,0.80) !important;
}
/* ================================
   QiQ Header + Pill Font FIX
   Paste at BOTTOM of premium.css
================================ */

/* 1) Force buttons/inputs to use the SAME font as the page */
button, input, select, textarea {
  font-family: inherit !important;
  font-weight: inherit;
  letter-spacing: inherit;
}

/* 2) Keep header rail consistent + give it more presence */
.header-inner{
  max-width: 1240px !important;
  padding: 26px 34px !important;
}

/* 3) Make the logo + tagline BIGGER */
.brand img{
  height: 64px !important;  /* bump to 64px if you want even bigger */
}

.brand-tagline{
  font-size: 20px !important;   /* bump to 22–24 if you want “huge” */
  font-weight: 750 !important;
  letter-spacing: 0.2px !important;
}

/* 4) Make Early Access + Light/Dark look like siblings (same font styling) */
.pill{
  font-family: inherit !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* Theme toggle should NOT look like a different font/button system */
.pill--toggle{
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-weight: 700 !important;
}
:root {
  --card-text: #0f172a;   /* deep ink for LIGHT cards */
  --card-muted: #475569;  /* slate muted */
}

/* If you use a dark theme attribute/class, match yours here.
   Common ones are: [data-theme="dark"] or body.dark */
[data-theme="dark"] {
  --card-text: #e5e7eb;   /* light text for DARK cards */
  --card-muted: #a1a1aa;  /* muted light */
}

/* -----------------------------
   QiQ Pro – Premium facelift
   Paste at bottom of premium.css
------------------------------ */

:root{
  --qiq-font: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, Arial, sans-serif;

  --bg: #070a0f;
  --text: rgba(255,255,255,.92);
  --muted: rgba(255,255,255,.68);

  --card: rgba(16, 22, 30, .74);
  --card-border: rgba(255,255,255,.10);

  --pill-bg: rgba(255,255,255,.06);
  --pill-border: rgba(255,255,255,.14);

  --accent: #10b6c8;
  --accent-2: #0a7f8c;
  --shadow: 0 24px 70px rgba(0,0,0,.55);
}

/* light theme overrides */
body.light-theme{
  --bg: #f6f8fb;
  --text: rgba(10,14,18,.92);
  --muted: rgba(10,14,18,.62);

  --card: rgba(255,255,255,.85);
  --card-border: rgba(10,14,18,.10);

  --pill-bg: rgba(10,14,18,.05);
  --pill-border: rgba(10,14,18,.14);

  --shadow: 0 22px 55px rgba(10,14,18,.12);
}

body{
  font-family: var(--qiq-font);
  background: var(--bg);
  color: var(--text);
}

/* Header alignment + bigger brand */
.app-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 26px 38px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  background: radial-gradient(1200px 380px at 25% 10%, rgba(16,182,200,.18), transparent 55%),
              radial-gradient(900px 320px at 70% 0%, rgba(255,255,255,.08), transparent 55%);
}

.brand{
  display:flex;
  align-items:center;
  gap: 16px;
}

.brand-logo{
  height: 80px;
  width: auto;
}

.app-header .brand-logo {
  height: 80px;
}

.brand-tagline{
  font-size: 20px;
  font-weight: 650;
  letter-spacing: .2px;
  color: var(--text);
}

/* Pills: same font + consistent */
.header-actions{
  display:flex;
  align-items:center;
  gap: 10px;
}

.pill{
  font-family: var(--qiq-font);
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid var(--pill-border);
  background: var(--pill-bg);
  color: var(--text);
  white-space: nowrap;
}

.pill--toggle{
  cursor: pointer;
  transition: transform .12s ease, background .2s ease;
}

.pill--toggle:hover{
  transform: translateY(-1px);
}

/* Main */
.hub-main{
  max-width: 1180px;
  margin: 0 auto;
  padding: 44px 22px 60px;
}

.hub-hero{
  text-align:center;
  padding: 22px 0 30px;
}

.hub-hero h1{
  margin: 0;
  font-size: clamp(34px, 4vw, 52px);
  letter-spacing: -0.02em;
}

.hub-subtitle{
  margin: 10px auto 0;
  max-width: 780px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.55;
}

/* Grid */
.hub-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}

.hub-link{
  text-decoration:none;
  color: inherit;
  display:block;
}

.hub-link-wide{
  grid-column: 1 / -1;
}

.hub-card{
  background: var(--card);
  border: 1px solid var(--card-border);
  border-radius: 22px;
  padding: 22px 22px 18px;
  box-shadow: var(--shadow);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform .15s ease, border-color .2s ease;
  min-height: 210px;
}

.hub-card:hover{
  transform: translateY(-2px);
  border-color: rgba(16,182,200,.35);
}

.hub-card h2{
  margin: 0 0 8px;
  font-size: 22px;
  letter-spacing: -0.01em;
}

.hub-tagline{
  margin: 0 0 12px;
  color: var(--muted);
  line-height: 1.45;
  font-size: 14.5px;
}

.hub-list{
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  line-height: 1.7;
  font-size: 14px;
}

.hub-cta{
  margin-top: 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(16,182,200,.24), rgba(10,127,140,.18));
  border: 1px solid rgba(16,182,200,.35);
  color: var(--text);
  font-weight: 650;
  width: 92px;
}

/* Footnote */
.hub-footnote{
  margin-top: 18px;
  text-align:center;
  color: rgba(255,255,255,.42);
  font-size: 12px;
}

body.light-theme .hub-footnote{
  color: rgba(10,14,18,.45);
}

/* Responsive */
@media (max-width: 900px){
  .hub-grid{ grid-template-columns: 1fr; }
  .hub-link-wide{ grid-column: auto; }
  .app-header{ padding: 18px 18px; }
  .brand-logo{ height: 42px; }
  .brand-tagline{ font-size: 18px; }
}
/* =============================
   Global header: bigger + locked
============================= */

:root{
  --header-max: 1180px;
  --header-pad-x: 38px;
  --header-pad-y: 22px;
}

body{
  font-size: 17px; /* overall font bigger */
}

/* Sticky so it stays consistent + doesn't jump */
.app-header{
  position: sticky;
  top: 0;
  z-index: 50;
  padding: var(--header-pad-y) var(--header-pad-x);
  border-bottom: 1px solid rgba(255,255,255,.06);
  background: radial-gradient(1200px 380px at 25% 10%, rgba(16,182,200,.18), transparent 55%),
              radial-gradient(900px 320px at 70% 0%, rgba(255,255,255,.08), transparent 55%);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* This is the magic alignment lock */
.app-header-inner{
  max-width: var(--header-max);
  margin: 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 16px;
}

/* BIGGER logo + tagline */
.brand{
  display:flex;
  align-items:center;
  gap: 18px;
}

.brand-logo{
  height: 58px;   /* BIGGER everywhere */
  width: auto;
}

.brand-tagline{
  font-size: 22px;     /* BIGGER everywhere */
  font-weight: 700;
  letter-spacing: .2px;
}

/* Pills: same font, same baseline */
.header-actions{
  display:flex;
  align-items:center;
  gap: 10px;
}

.pill{
  font-family: var(--qiq-font);
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: 11px 16px;
  border-radius: 999px;
  line-height: 1;
}

/* Light theme header background */
body.light-theme .app-header{
  border-bottom: 1px solid rgba(10,14,18,.08);
  background: rgba(255,255,255,.75);
}

/* Mobile tweaks */
@media (max-width: 900px){
  .app-header{ padding: 16px 16px; }
  .brand-logo{ height: 52px; }
  .brand-tagline{ font-size: 19px; }
}
/* =========================================================
   QiQ Premium System (LOCKED HEADER + THEME VARS + TYPE)
   Paste at the very bottom of premium.css
   ========================================================= */

/* Theme variables */
:root{
  --font-sans: ui-sans-serif, system-ui, -apple-system, "SF Pro Text", "SF Pro Display", Segoe UI, Roboto, Helvetica, Arial, sans-serif;

  --bg: #070A0E;
  --bg2: #0B111A;
  --text: rgba(255,255,255,.92);
  --muted: rgba(255,255,255,.68);

  --card: rgba(14, 22, 30, .62);
  --cardBorder: rgba(255,255,255,.10);

  --pillBg: rgba(255,255,255,.06);
  --pillBorder: rgba(255,255,255,.14);
  --pillText: rgba(255,255,255,.80);

  --accent: #18B7C7;
  --accent2:#0E8EA2;

  --shadow: 0 22px 60px rgba(0,0,0,.55);
}

/* Light theme overrides */
html[data-theme="light"]{
  --bg: #F6F7FB;
  --bg2:#FFFFFF;
  --text: rgba(10,12,16,.92);
  --muted: rgba(10,12,16,.62);

  --card: rgba(255,255,255,.92);
  --cardBorder: rgba(10,12,16,.10);

  --pillBg: rgba(10,12,16,.04);
  --pillBorder: rgba(10,12,16,.14);
  --pillText: rgba(10,12,16,.78);

  --shadow: 0 18px 40px rgba(10,12,16,.10);
}

/* Global base */
html, body{
  font-family: var(--font-sans);
  background: var(--bg);
  color: var(--text);
}

.app-shell{
  min-height: 100vh;
}

/* LOCKED header layout (same everywhere) */
.app-header{
  position: sticky;
  top: 0;
  z-index: 30;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  background: linear-gradient(90deg, rgba(0,0,0,.45), rgba(0,0,0,.20));
  border-bottom: 1px solid rgba(255,255,255,.08);
}

html[data-theme="light"] .app-header{
  background: rgba(255,255,255,.75);
  border-bottom: 1px solid rgba(10,12,16,.08);
}

.app-header-inner{
  max-width: 1120px;
  margin: 0 auto;
  padding: 18px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

/* Bigger logo + tagline */
.brand{
  display: flex;
  align-items: center;
  gap: 14px;
}

.brand img{
  height: 48px;        /* bigger */
  width: auto;
  display: block;
}

.brand-tagline{
  font-weight: 650;
  letter-spacing: .2px;
  font-size: 18px;     /* bigger */
  color: var(--text);
  opacity: .95;
}

/* Right side pills */
.header-actions{
  display: flex;
  align-items: center;
  gap: 10px;
}

.pill{
  font-family: var(--font-sans);
  border-radius: 999px;
  padding: 10px 14px;
  border: 1px solid var(--pillBorder);
  background: var(--pillBg);
  color: var(--pillText);
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.pill--toggle{
  text-transform: none;
  letter-spacing: .02em;
  font-size: 12px;
  cursor: pointer;
}

.pill--toggle:hover{
  border-color: rgba(24,183,199,.35);
  box-shadow: 0 0 0 6px rgba(24,183,199,.08);
}

/* Headings + main spacing */
h1{
  font-weight: 750;
  letter-spacing: -0.02em;
}

.experience-intro h1,
.hub-intro h1{
  font-size: 44px; /* bigger hero */
}

.experience-subtitle,
.hub-subtitle{
  color: var(--muted);
  font-size: 15px;
}

/* Cards */
.qiq-tile,
.experience-card,
.hub-card{
  background: var(--card);
  border: 1px solid var(--cardBorder);
  box-shadow: var(--shadow);
}

/* Fix link “blue underlines” in Pro grid */
.hub-link,
.hub-link:visited,
.hub-link:hover{
  color: inherit;
  text-decoration: none;
  display: block;
}

/* Buttons */
.btn-primary,
.experience-btn,
.hub-btn{
  background: linear-gradient(180deg, var(--accent), var(--accent2));
  color: #fff;
  border: 0;
  border-radius: 12px;
}

/* Footer note */
.experience-footnote{
  color: var(--muted);
}
/* ================================
   QiQ — Premium Layout + Type Lock
   Paste at BOTTOM of premium.css
================================ */

/* 1) Global type + rhythm */
:root{
  --qiq-container: 1120px;
  --qiq-gutter: clamp(16px, 3vw, 28px);
  --qiq-radius: 22px;
  --qiq-gap: clamp(14px, 2.2vw, 22px);
  --qiq-card-pad: clamp(18px, 2.2vw, 24px);

  --qiq-h1: clamp(34px, 4vw, 52px);
  --qiq-h2: clamp(20px, 2.1vw, 26px);
  --qiq-body: clamp(15.5px, 1.15vw, 17px);
  --qiq-small: clamp(12.5px, 1vw, 13.5px);
  --qiq-line: 1.55;
}

body{
  font-size: var(--qiq-body);
  line-height: var(--qiq-line);
}

/* 2) Container lock (fixes “floaty” alignment) */
.app-shell{
  width: 100%;
}

.app-main{
  max-width: var(--qiq-container);
  margin: 0 auto;
  padding-left: var(--qiq-gutter);
  padding-right: var(--qiq-gutter);
}

/* 3) Header consistency (logo + buttons always same spot) */
.app-header{
  position: sticky;
  top: 0;
  z-index: 30;
  backdrop-filter: blur(14px);
}

.app-header-inner{
  max-width: var(--qiq-container);
  margin: 0 auto;
  padding: 18px var(--qiq-gutter);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

/* Make brand bigger + stable */
.brand{
  display: flex;
  align-items: center;
  gap: 14px;
}

.brand img{
  height: 44px; /* bigger */
  width: auto;
  display: block;
}

.brand-tagline{
  font-size: 18px; /* bigger */
  letter-spacing: 0.2px;
  opacity: 0.92;
  white-space: nowrap;
}

/* Pills/toggles match font everywhere */
.header-actions{
  display: flex;
  align-items: center;
  gap: 10px;
}

.pill{
  font-size: 12.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 10px 14px;
  border-radius: 999px;
}

/* 4) Hero spacing */
.hub-hero{
  text-align: center;
  padding-top: clamp(34px, 5vw, 58px);
  padding-bottom: clamp(18px, 3vw, 28px);
}

.hub-hero h1{
  font-size: var(--qiq-h1);
  line-height: 1.05;
  margin-bottom: 10px;
}

.hub-subtitle{
  font-size: clamp(14px, 1.25vw, 17px);
  opacity: 0.8;
  max-width: 60ch;
  margin: 0 auto;
}

/* 5) Grid alignment + gaps */
.hub-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--qiq-gap);
  align-items: stretch;
  padding-bottom: clamp(18px, 3vw, 26px);
}

@media (max-width: 960px){
  .hub-grid{
    grid-template-columns: 1fr;
  }
}

/* Wide card */
.hub-link-wide{
  grid-column: 1 / -1;
}

/* 6) Card polish */
.hub-card{
  border-radius: var(--qiq-radius);
  padding: var(--qiq-card-pad);
  min-height: 240px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.hub-card h2{
  font-size: var(--qiq-h2);
  margin-bottom: 8px;
}

.hub-tagline{
  font-size: clamp(14px, 1.15vw, 16px);
  opacity: 0.86;
  margin-bottom: 10px;
}

/* Bullets slightly larger + cleaner */
.hub-list{
  margin: 10px 0 0 0;
  padding-left: 18px;
}

.hub-list li{
  margin: 8px 0;
  opacity: 0.9;
}

/* 7) CTA looks like your “Continue” button family */
.hub-cta{
  margin-top: 16px;
  align-self: flex-start;
  padding: 10px 16px;
  border-radius: 12px;
  font-weight: 600;
  letter-spacing: 0.2px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0, 184, 212, 0.18);
}

/* Keep links from turning blue/purple (your underline issue) */
.hub-link{
  text-decoration: none;
  color: inherit;
  display: block;
}

.hub-link:visited{
  color: inherit;
}

.hub-link:hover .hub-card{
  transform: translateY(-1px);
  transition: transform 160ms ease;
}

/* 8) Footnote */
.hub-footnote{
  text-align: center;
  font-size: var(--qiq-small);
  opacity: 0.55;
  padding-bottom: 22px;
}

/* 9) Light mode fixes (prevents washed-out tiles + weak contrast) */
body.light .hub-card,
body.light .experience-card{
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(0,0,0,0.06);
}

body.light .hub-cta{
  border: 1px solid rgba(0,0,0,0.10);
  background: rgba(0, 184, 212, 0.14);
}

body.light .brand-tagline{
  opacity: 0.9;
}
/* ================================
   HARD OVERRIDE: BRAND SIZE + LOCK
   (forces logo & tagline size everywhere)
================================ */

/* Lock brand container */
.app-header .brand{
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
}

/* FORCE logo size */
.app-header .brand img{
  height: 64px !important;   /* <-- BIGGER */
  width: auto !important;
  max-height: none !important;
}

/* FORCE tagline size */
.app-header .brand-tagline{
  font-size: 24px !important;  /* <-- BIGGER */
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}
/* =========================================================
   QiQ Premium Overrides (GLOBAL)
   Paste at the BOTTOM of static/premium.css
   ========================================================= */

/* 1) Lock one font system everywhere (dark + light) */
:root{
  --qiq-font: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
              Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  --qiq-text-dark: rgba(255,255,255,.92);
  --qiq-muted-dark: rgba(255,255,255,.70);

  --qiq-text-light: #0b1220;
  --qiq-muted-light: rgba(11,18,32,.70);

  --qiq-card-light: #ffffff;
  --qiq-card-border-light: rgba(11,18,32,.10);

  --qiq-card-dark: rgba(18,22,28,.72);
  --qiq-card-border-dark: rgba(255,255,255,.10);
}

html, body{
  font-family: var(--qiq-font) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
}

/* 2) Make logo + tagline bigger and consistent across ALL pages */
.app-header{
  position: sticky;
  top: 0;
  z-index: 50;
}

.app-header .app-header-inner{
  max-width: 1180px;
  margin: 0 auto;
  padding: 18px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.brand{
  display: flex;
  align-items: center;
  gap: 14px;
}

.brand img{
  height: 44px;     /* <- bigger logo */
  width: auto;
  display: block;
}

.brand-tagline{
  font-size: 18px;  /* <- bigger tagline */
  letter-spacing: .2px;
  line-height: 1.2;
  white-space: nowrap;
}

/* 3) Make the header pills match font + spacing */
.header-actions{
  display: flex;
  align-items: center;
  gap: 10px;
}

.pill{
  font-family: var(--qiq-font) !important;
  font-weight: 600;
  letter-spacing: .12em; /* keeps the Apple-ish “pill label” vibe */
  text-transform: uppercase;
  font-size: 12px;
}

.pill--toggle{
  text-transform: none;     /* so "Light view" / "Dark view" reads clean */
  letter-spacing: .02em;
  font-size: 12px;
  font-weight: 700;
}

/* 4) Improve overall readability (bump body font a touch) */
.app-main{
  font-size: 16px;
}

/* =========================================================
   LIGHT MODE FIXES (THIS IS THE “titles disappearing” fix)
   Works whether theme.js uses body.light-mode OR html[data-theme="light"]
   ========================================================= */

/* Common selectors for “light mode” across different toggle scripts */
body.light-mode,
body.theme-light,
html[data-theme="light"] body,
body[data-theme="light"]{

  color: var(--qiq-text-light);
}

/* Cards */
body.light-mode .qiq-tile,
body.theme-light .qiq-tile,
html[data-theme="light"] body .qiq-tile,
body[data-theme="light"] .qiq-tile{
  background: var(--qiq-card-light) !important;
  border: 1px solid var(--qiq-card-border-light) !important;
  box-shadow: 0 14px 40px rgba(11,18,32,.08) !important;
}

/* THE IMPORTANT PART: make titles + text dark in light mode */
body.light-mode .qiq-tile h2,
body.theme-light .qiq-tile h2,
html[data-theme="light"] body .qiq-tile h2,
body[data-theme="light"] .qiq-tile h2{
  color: var(--qiq-text-light) !important;
}

body.light-mode .qiq-tile p,
body.light-mode .qiq-tile li,
body.theme-light .qiq-tile p,
body.theme-light .qiq-tile li,
html[data-theme="light"] body .qiq-tile p,
html[data-theme="light"] body .qiq-tile li,
body[data-theme="light"] .qiq-tile p,
body[data-theme="light"] .qiq-tile li{
  color: var(--qiq-muted-light) !important;
}

/* Links should not turn blue / underlined inside tiles */
body.light-mode .hub-link,
body.theme-light .hub-link,
html[data-theme="light"] body .hub-link,
body[data-theme="light"] .hub-link{
  color: inherit !important;
  text-decoration: none !important;
}

/* CTA button in tiles */
body.light-mode .hub-cta,
body.theme-light .hub-cta,
html[data-theme="light"] body .hub-cta,
body[data-theme="light"] .hub-cta{
  background: rgba(0,160,175,.14) !important;
  color: var(--qiq-text-light) !important;
  border: 1px solid rgba(0,160,175,.22) !important;
}

/* =========================================================
   DARK MODE (keeps your current premium look stable)
   ========================================================= */
body:not(.light-mode):not(.theme-light) .qiq-tile{
  background: var(--qiq-card-dark);
}
/* ==============================
   INDEX ALIGNMENT LOCK (Paste at bottom of premium.css)
   ============================== */

/* 1) Make the main area a centered column */
.experience-main{
  max-width: 1120px;
  margin: 0 auto;
  padding: 56px 24px 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* 2) Center the hero text consistently */
.experience-intro{
  text-align: center;
  width: 100%;
  margin: 0 0 28px;
}

/* 3) Center the card grid and prevent subtle misalignment */
.experience-grid{
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  justify-content: center;
  align-items: stretch;
  margin: 0 auto;
}

/* 4) Equal-height cards + button row always aligned */
.experience-card{
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* keep the button row pinned to the bottom */
.experience-actions{
  margin-top: auto;
  padding-top: 18px;
}

/* Optional: if you want the grid slightly tighter on wide screens */
@media (min-width: 1200px){
  .experience-main{ padding-top: 64px; }
}

/* Mobile stack */
@media (max-width: 900px){
  .experience-grid{ grid-template-columns: 1fr; }
}
/* --- Layout lock: header aligns with main content --- */
.app-header-inner{
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
/* --- Type scale (global) --- */
h1{
  font-size: 2.75rem;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.experience-subtitle,
.hub-subtitle{
  font-size: 1.05rem;
  opacity: 0.85;
}
/* --- Brand sizing (global) --- */
.brand img{
  height: 36px;
  width: auto;
}

.brand-tagline{
  font-size: 1.05rem;
  font-weight: 500;
}
/* ===== Global header alignment + sizing ===== */
.app-header-inner{
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.brand{
  display: flex;
  align-items: center;
  gap: 14px;
}

.brand img{
  height: 40px; /* bigger everywhere */
  width: auto;
  display: block;
}

.brand-tagline{
  font-size: 1.05rem; /* bigger everywhere */
  font-weight: 600;
  letter-spacing: 0.01em;
}

/* Make header pills match fonts (no random differences) */
.header-actions{
  display: flex;
  align-items: center;
  gap: 10px;
}

.pill{
  font: inherit; /* important: prevents “different font” look */
  letter-spacing: 0.08em;
}

/* Phone behavior: keep comfy margins + avoid crowding */
@media (max-width: 640px){
  .app-header-inner{
    padding: 0 16px;
  }
  .brand-tagline{
    display: none; /* optional: cleaner on phones */
  }
  .brand img{
    height: 36px;
  }
  .pill{
    padding: 10px 12px;
    font-size: 0.78rem;
  }
}
/* -------------------------------
   Coaching Compass (Tool pages)
-------------------------------- */
.tool-main { padding-top: 28px; }

.tool-hero {
  text-align: center;
  max-width: 900px;
  margin: 0 auto 18px;
  padding: 0 18px;
}

.tool-hero h1 {
  font-size: clamp(28px, 3vw, 44px);
  letter-spacing: -0.02em;
  margin: 0 0 8px;
}

.tool-subtitle {
  margin: 0 auto;
  max-width: 760px;
  opacity: 0.85;
  line-height: 1.45;
  font-size: 16px;
}

.tool-wrap {
  display: grid;
  place-items: center;
  padding: 10px 18px 40px;
}

.tool-card {
  width: min(880px, 100%);
  padding: 26px;
  border-radius: 22px;
}

.tool-form {
  display: grid;
  gap: 12px;
}

.tool-label {
  font-weight: 600;
  font-size: 14px;
  opacity: 0.92;
  margin-top: 6px;
}

.tool-optional { opacity: 0.65; font-weight: 500; }

.tool-input {
  width: 100%;
  border-radius: 14px;
  padding: 14px 14px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color: inherit;
  outline: none;
}

.tool-input:focus {
  border-color: rgba(0, 214, 255, 0.35);
  box-shadow: 0 0 0 4px rgba(0, 214, 255, 0.10);
}

.tool-textarea {
  min-height: 140px;
  resize: vertical;
  line-height: 1.4;
}

.tool-submit {
  margin-top: 10px;
  width: 100%;
}

.tool-result {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,0.10);
}

.tool-result-title {
  margin: 0 0 10px;
  font-size: 18px;
}

.tool-result-body {
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(0,0,0,0.18);
  padding: 14px;
}

.tool-result-pre {
  margin: 0;
  white-space: pre-wrap;
  word-wrap: break-word;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 13px;
  line-height: 1.45;
  opacity: 0.95;
}

/* Light mode fixes (so it doesn't "lose" text / look washed out) */
body.light .tool-input {
  background: rgba(0,0,0,0.03);
  border-color: rgba(0,0,0,0.10);
}

body.light .tool-result {
  border-top-color: rgba(0,0,0,0.10);
}

body.light .tool-result-body {
  background: rgba(0,0,0,0.03);
  border-color: rgba(0,0,0,0.10);
}
/* =========================================================
   QiQ Premium System (Global)
   Paste at BOTTOM of premium.css
   ========================================================= */

/* 1) Global type + spacing tokens */
:root{
  --qiq-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text",
                   "Inter", "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";

  /* Type scale (keeps home/pro/personal/coaching consistent) */
  --qiq-base: 16px;
  --qiq-h1: clamp(34px, 3.2vw, 46px);
  --qiq-h2: clamp(18px, 1.6vw, 22px);
  --qiq-body: clamp(15px, 1.1vw, 16.5px);
  --qiq-small: 13px;

  /* Layout */
  --qiq-max: 1100px;
  --qiq-gutter: clamp(16px, 3vw, 26px);
  --qiq-radius: 22px;

  /* Color tokens (dark defaults) */
  --bg: #06080c;
  --panel: rgba(16, 20, 28, 0.78);
  --panel-strong: rgba(16, 20, 28, 0.92);
  --stroke: rgba(255,255,255,0.10);

  --text: rgba(255,255,255,0.86);
  --text-strong: rgba(255,255,255,0.96);
  --text-muted: rgba(255,255,255,0.62);

  --accent: #12b7c8;     /* your QiQ teal vibe */
  --accent-2: #0e8ea2;

  --shadow: 0 22px 60px rgba(0,0,0,0.55);
  --shadow-soft: 0 14px 34px rgba(0,0,0,0.35);
}

/* 2) Light theme tokens */
html.light{
  --bg: #f7f8fb;
  --panel: rgba(255,255,255,0.88);
  --panel-strong: rgba(255,255,255,0.96);
  --stroke: rgba(10,18,30,0.10);

  --text: rgba(10,18,30,0.84);
  --text-strong: rgba(10,18,30,0.96);
  --text-muted: rgba(10,18,30,0.60);

  --shadow: 0 18px 50px rgba(12, 22, 40, 0.12);
  --shadow-soft: 0 12px 26px rgba(12, 22, 40, 0.10);
}

/* 3) Apply global font + smoothing everywhere */
html, body{
  font-family: var(--qiq-font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
  font-size: var(--qiq-base);
  background: var(--bg);
  color: var(--text);
}

/* 4) Keep header logo/tagline/buttons LOCKED in one consistent position */
.app-header{
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

html.light .app-header{
  border-bottom: 1px solid rgba(10,18,30,0.06);
}

.app-header-inner{
  max-width: var(--qiq-max);
  margin: 0 auto;
  padding: 14px var(--qiq-gutter);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

/* Brand sizing: make it BIG everywhere */
.brand{
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 220px;
}
.brand img{
  width: 48px;
  height: 48px;
  object-fit: contain;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,0.35));
}
.brand-tagline{
  font-size: clamp(18px, 1.6vw, 22px);
  font-weight: 650;
  letter-spacing: -0.02em;
  color: var(--text-strong);
}

/* Pills: same font everywhere + no weird jumps */
.header-actions{
  display: flex;
  align-items: center;
  gap: 10px;
}
.pill{
  font-family: var(--qiq-font-sans) !important;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid var(--stroke);
  background: rgba(255,255,255,0.04);
  color: var(--text-strong);
}
html.light .pill{
  background: rgba(10,18,30,0.03);
  color: var(--text-strong);
}

/* 5) Hero typography consistency */
.hub-hero h1,
.hub-intro h1{
  font-size: var(--qiq-h1);
  letter-spacing: -0.03em;
  color: var(--text-strong);
}
.hub-subtitle{
  font-size: var(--qiq-body);
  color: var(--text-muted);
  max-width: 62ch;
}

/* 6) Cards: ensure titles NEVER disappear in light mode */
.hub-card,
.qiq-tile{
  background: var(--panel);
  border: 1px solid var(--stroke);
  border-radius: var(--qiq-radius);
  box-shadow: var(--shadow-soft);
}
.hub-card h2{
  font-size: var(--qiq-h2);
  letter-spacing: -0.02em;
  color: var(--text-strong) !important;
}
.hub-tagline,
.hub-list{
  font-size: var(--qiq-body);
  color: var(--text);
}
.hub-list li{
  color: var(--text);
}

/* 7) CTA buttons */
.hub-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 14px;
  padding: 10px 18px;
  border-radius: 14px;
  font-weight: 650;
  color: rgba(255,255,255,0.95);
  background: linear-gradient(180deg, var(--accent), var(--accent-2));
  box-shadow: 0 14px 26px rgba(18,183,200,0.22);
}
html.light .hub-cta{
  color: rgba(255,255,255,0.95);
}

/* 8) Mobile header: keep centered-feel without shoving to edges */
@media (max-width: 720px){
  .brand{
    min-width: 0;
    gap: 10px;
  }
  .brand img{
    width: 44px;
    height: 44px;
  }
  .brand-tagline{
    font-size: 18px;
  }
  .pill{
    padding: 9px 12px;
  }
}
/* ================================
   QiQ Theme Tokens (Dark + Light)
   Paste at bottom of premium.css
================================== */

:root {
  --app-max: 1180px;
  --app-pad: 28px;

  --bg: #070A0E;
  --bg2: rgba(255,255,255,0.04);

  --card: rgba(18, 22, 30, 0.78);
  --card-border: rgba(255,255,255,0.10);

  --text: rgba(255,255,255,0.92);
  --muted: rgba(255,255,255,0.70);
  --soft: rgba(255,255,255,0.55);

  --pill: rgba(255,255,255,0.06);
  --pill-border: rgba(255,255,255,0.14);

  --accent: #14B7C7;      /* keep your teal vibe */
  --accent2: #0EA3B6;

  --shadow: 0 22px 60px rgba(0,0,0,0.45);
  --radius: 18px;

  --h1: clamp(34px, 3.2vw, 46px);
  --h2: 20px;
  --base: 16px;
}

/* Light theme overrides */
html[data-theme="light"] {
  --bg: #F6F7FB;
  --bg2: rgba(0,0,0,0.03);

  --card: rgba(255,255,255,0.92);
  --card-border: rgba(0,0,0,0.08);

  --text: rgba(12,14,18,0.92);
  --muted: rgba(12,14,18,0.70);
  --soft: rgba(12,14,18,0.55);

  --pill: rgba(0,0,0,0.04);
  --pill-border: rgba(0,0,0,0.12);

  --shadow: 0 18px 50px rgba(0,0,0,0.12);
}

/* Apply tokens */
body {
  background: var(--bg);
  color: var(--text);
  font-size: var(--base);
}

/* Ensure ALL headings survive light mode */
h1, h2, h3, .hub-card h2, .tool-result-title, .side-title {
  color: var(--text) !important;
}

p, li, label, .hub-tagline, .tool-subtitle {
  color: var(--muted);
}

/* Header alignment + consistency */
.app-header {
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  background: linear-gradient(to bottom, rgba(0,0,0,0.35), rgba(0,0,0,0.06));
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

html[data-theme="light"] .app-header {
  background: linear-gradient(to bottom, rgba(255,255,255,0.78), rgba(255,255,255,0.60));
  border-bottom: 1px solid rgba(0,0,0,0.06);
}

.app-header-inner {
  max-width: var(--app-max);
  margin: 0 auto;
  padding: 18px var(--app-pad);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
}

.brand-logo {
  width: 52px;   /* bigger logo */
  height: auto;
  display: block;
}

.brand-tagline {
  font-size: 18px;     /* bigger tagline */
  font-weight: 650;
  letter-spacing: 0.2px;
  color: var(--text);
}

/* Pills */
.pill {
  background: var(--pill);
  border: 1px solid var(--pill-border);
  color: var(--text);
  border-radius: 999px;
  padding: 10px 14px;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.pill--toggle {
  cursor: pointer;
}

/* Hero sizing consistency (index/pro/personal/tools) */
.hub-hero h1,
.hub-intro h1,
.tool-hero h1 {
  font-size: var(--h1);
  letter-spacing: -0.02em;
}

.hub-subtitle,
.tool-subtitle {
  max-width: 760px;
  margin: 10px auto 0;
  line-height: 1.45;
  font-size: 16px;
}

/* Cards should look premium in BOTH themes */
.qiq-tile {
  background: var(--card);
  border: 1px solid var(--card-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

/* Pro tile CTA "Open" button (matches your pro page) */
.hub-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
  padding: 10px 16px;
  border-radius: 12px;
  background: linear-gradient(180deg, var(--accent), var(--accent2));
  color: white;
  font-weight: 700;
}

/* ================================
   Coaching Compass layout
================================== */

.tool-layout {
  max-width: var(--app-max);
  margin: 0 auto;
  padding: 18px var(--app-pad) 34px;
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 18px;
  align-items: start;
}

.tool-side {
  padding: 18px;
}

.side-title {
  font-size: 18px;
  margin: 2px 0 10px;
}

.side-copy {
  margin: 0 0 14px;
  line-height: 1.5;
}

.side-stack {
  display: grid;
  gap: 10px;
}

.side-chip {
  padding: 12px 12px;
  border-radius: 14px;
  background: var(--bg2);
  border: 1px solid var(--card-border);
  color: var(--muted);
}

.tool-maincol {
  display: grid;
  gap: 16px;
}

.tool-card {
  padding: 18px;
}

.tool-label {
  display: block;
  font-weight: 650;
  margin: 14px 0 8px;
  color: var(--text);
}

.tool-optional {
  color: var(--soft);
  font-weight: 600;
  font-size: 12px;
}

.tool-input {
  width: 100%;
  border-radius: 14px;
  padding: 12px 14px;
  border: 1px solid var(--card-border);
  background: var(--bg2);
  color: var(--text);
  outline: none;
}

.tool-input::placeholder {
  color: var(--soft);
}

.tool-textarea {
  min-height: 140px;
  resize: vertical;
}

.btn-primary.tool-submit {
  width: 100%;
  margin-top: 14px;
  border: 0;
  border-radius: 14px;
  padding: 14px 16px;
  background: linear-gradient(180deg, var(--accent), var(--accent2));
  color: #fff;
  font-weight: 800;
  letter-spacing: 0.01em;
  cursor: pointer;
}

/* Suggestions card */
.tool-result-card {
  padding: 18px;
}

.tool-result-title {
  margin: 0 0 10px;
  font-size: 18px;
}

.tool-result-text {
  line-height: 1.6;
  color: var(--text);
  background: var(--bg2);
  border: 1px solid var(--card-border);
  border-radius: 14px;
  padding: 14px;
}

/* Responsive */
@media (max-width: 980px) {
  .tool-layout {
    grid-template-columns: 1fr;
  }
  .brand-logo { width: 46px; }
  .brand-tagline { font-size: 16px; }
  .app-header-inner { padding: 14px 18px; }
}

@media (max-width: 560px) {
  .header-actions { gap: 8px; }
  .pill { padding: 9px 12px; font-size: 11px; }
}
/* =========================
   QiQ Global UI + Theme Fix
   Paste at BOTTOM of premium.css
   ========================= */

:root{
  --qiq-bg: #071014;
  --qiq-bg2:#091a20;
  --qiq-text:#e9f1f4;
  --qiq-muted: rgba(233,241,244,.72);
  --qiq-card: rgba(16,24,28,.72);
  --qiq-border: rgba(255,255,255,.10);
  --qiq-shadow: 0 20px 60px rgba(0,0,0,.45);
  --qiq-accent:#18b6c3;
  --qiq-accent2:#0ea5b4;

  /* typography scale (shared across Home/Pro/Personal/Tools) */
  --t-base: 16px;
  --t-h1: clamp(34px, 4vw, 54px);
  --t-h2: 20px;
  --t-body: 16px;
  --t-small: 13px;

  --container: 1120px;
  --radius: 22px;
}

body{
  font-size: var(--t-base);
}

.app-main h1{ font-size: var(--t-h1); }
.hub-card h2,
.tool-card h2{ font-size: var(--t-h2); }

.hub-tagline,
.tool-subtitle{ font-size: var(--t-body); }

.brand img{
  width: 56px;  /* bigger logo */
  height: auto;
}

.brand-tagline{
  font-size: 20px; /* bigger tagline */
  letter-spacing: .2px;
}

.app-header{
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(12px);
}

.app-header-inner{
  max-width: var(--container);
  margin: 0 auto;
  padding: 18px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.brand{
  display:flex;
  align-items:center;
  gap: 14px;
  min-width: 260px; /* keeps logo/tagline from shifting */
}

.header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap: 10px;
  min-width: 260px; /* keeps pills aligned page-to-page */
}

.pill{
  font-size: 12px;
  letter-spacing: .12em;
}

/* Cards always readable */
.hub-card,
.tool-card{
  border-radius: var(--radius);
  border: 1px solid var(--qiq-border);
  box-shadow: var(--qiq-shadow);
}

.hub-card h2,
.hub-card .hub-tagline,
.hub-card li,
.tool-card,
.tool-card label,
.tool-card input,
.tool-card textarea,
.tool-card select{
  color: var(--qiq-text);
}

/* Tile title disappearing in LIGHT MODE fix: force title color */
.light-theme .hub-card h2,
.light-theme .hub-card .hub-tagline,
.light-theme .hub-card li{
  color: #0e1417 !important;
}

/* Global light theme surface */
.light-theme{
  --qiq-bg: #f6f8fa;
  --qiq-bg2:#ffffff;
  --qiq-text:#0e1417;
  --qiq-muted: rgba(14,20,23,.68);
  --qiq-card: rgba(255,255,255,.92);
  --qiq-border: rgba(0,0,0,.10);
  --qiq-shadow: 0 18px 50px rgba(16,24,28,.10);
}

.light-theme .app-header{
  background: rgba(255,255,255,.78);
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.light-theme .qiq-tile,
.light-theme .tool-card{
  background: rgba(255,255,255,.92) !important;
}

.light-theme .hub-tagline,
.light-theme .hub-list,
.light-theme .tool-subtitle{
  color: rgba(14,20,23,.70) !important;
}

/* Result box: show plain text nicely, no weird <br> */
.tool-result-pre{
  white-space: pre-wrap;
  word-break: break-word;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 13px;
  line-height: 1.45;
}

.light-theme .tool-result-pre{
  color: #0e1417 !important;
  background: rgba(245,247,249,.95) !important;
}

/* Buttons: consistent */
.btn-primary{
  border-radius: 14px;
  font-weight: 700;
}
/* =========================
   Coaching Compass: FORCE sane width + 2-column layout
   Paste at very bottom of premium.css
   ========================= */

/* If anything upstream is forcing a skinny container, this breaks it. */
.tool-main,
.app-main.tool-main{
  width: 100% !important;
  max-width: none !important;
}

/* Our coaching page wrapper should be allowed to be wide */
.cc-wrap{
  width: 100% !important;
  max-width: var(--container) !important;
  margin: 0 auto !important;
  padding: 44px 22px 40px !important;
}

/* Grid must actually take the width */
.cc-grid{
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(420px, 560px) minmax(380px, 520px) !important;
  gap: 22px !important;
  justify-content: center !important;
  align-items: start !important;
}

.cc-left, .cc-right{ min-width: 0 !important; }
.cc-right{ display: grid !important; gap: 18px !important; }
.cc-right > article{ width: 100% !important; }

/* Suggestions card should never collapse into a bookmark */
.cc-results{
  width: 100% !important;
}

@media (max-width: 980px){
  .cc-grid{ grid-template-columns: 1fr !important; }
  .cc-hero{ text-align: center !important; }
}
/* Coaching Compass layout */
.tool-wrap { max-width: 1080px; margin: 0 auto; padding: 0 20px 48px; }

.tool-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items: start;
}

.tool-helper { min-height: 100%; }
.tool-form-card { min-height: 100%; }

.tool-card-title {
  margin: 0 0 8px;
  font-size: 18px;
  letter-spacing: 0.2px;
}

.tool-card-note { margin: 0 0 14px; opacity: 0.85; line-height: 1.5; }

.tool-helper-list { margin: 0; padding-left: 18px; }
.tool-helper-list li { margin: 10px 0; line-height: 1.55; }

.tool-results { margin-top: 18px; }

.tool-results-title { margin: 0; font-size: 18px; }

.suggestion-text {
  white-space: pre-wrap;      /* keeps newlines and bullets */
  word-wrap: break-word;
  font-family: inherit;       /* avoids “code font” vibe */
  line-height: 1.65;
  font-size: 15px;
  opacity: 0.95;
}

/* Responsive: stack on smaller screens */
@media (max-width: 900px) {
  .scenario-lab-customerGrid {
    grid-template-columns: 1fr;
  }

  .tool-grid { grid-template-columns: 1fr; }
}
/* ---- Coaching Compass layout (fix misalignment + weird empty space) ---- */
.tool-shell{
  max-width: 1100px;
  margin: 0 auto;
  padding: clamp(22px, 4vw, 56px) 18px;
}

.tool-grid{
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 22px;
  align-items: start;
}

.tool-left .tool-hero{
  margin-bottom: 18px;
}

.tool-left .tool-subtitle{
  max-width: 52ch;
}

.tool-aside-card{
  margin-top: 18px;
}

.tool-right{
  display: grid;
  gap: 18px;
}

.tool-submit{
  width: 100%;
}

.tool-result-pre{
  white-space: pre-wrap;
  word-break: break-word;
  font-family: inherit; /* stops the “why is this font weird” feeling */
  line-height: 1.5;
}

/* Responsive */
@media (max-width: 940px){
  .tool-grid{
    grid-template-columns: 1fr;
  }
}
/* ==================================================
   TEXT COLOR OVERRIDES – READABILITY FIX (QiQ)
   Added: 2025-01-29
   ================================================== */

body:not(.dark):not(.dark-mode) {
  color: #1D1D1F;
}

body.dark,
body.dark-mode {
  color: #EDEDED;
}

.subtext,
.helper-text,
label {
  color: #6E6E73;
}

body.dark .subtext,
body.dark .helper-text,
body.dark label,
body.dark-mode .subtext,
body.dark-mode .helper-text,
body.dark-mode label {
  color: #B3B3B3;
}

::placeholder {
  color: #A1A1A6;
  opacity: 1;
}

body.dark ::placeholder,
body.dark-mode ::placeholder {
  color: #8E8E93;
}
body.dark .subtext,
body.dark label {
  color: #B3B3B3;
}
/* ==================================================
   FORM READABILITY – LIGHT MODE FIX (QiQ)
   ================================================== */

/* Labels (Relationship, Your role/title, What's going on?) */
body:not(.dark):not(.dark-mode) label,
body:not(.dark):not(.dark-mode) .field-label,
body:not(.dark):not(.dark-mode) .form-label {
  color: #1D1D1F !important;
}

/* Input / Select / Textarea typed text */
body:not(.dark):not(.dark-mode) input,
body:not(.dark):not(.dark-mode) select,
body:not(.dark):not(.dark-mode) textarea {
  color: #1D1D1F !important;
}

/* Dropdown options (some browsers need this) */
body:not(.dark):not(.dark-mode) select option {
  color: #1D1D1F !important;
}

/* Placeholder text inside inputs */
body:not(.dark):not(.dark-mode) input::placeholder,
body:not(.dark):not(.dark-mode) textarea::placeholder {
  color: #6E6E73 !important;
  opacity: 1 !important;
}

/* Helpful descriptions under fields, if you have them */
body:not(.dark):not(.dark-mode) .subtext,
body:not(.dark):not(.dark-mode) .helper-text,
body:not(.dark):not(.dark-mode) .hint,
body:not(.dark):not(.dark-mode) .form-hint {
  color: #6E6E73 !important;
}
/* ==================================================
   DARK MODE — FORM VISIBILITY FIX (QiQ)
   ================================================== */

body.dark label,
body.dark-mode label,
body.dark .field-label,
body.dark-mode .field-label,
body.dark .form-label,
body.dark-mode .form-label {
  color: rgba(247, 248, 251, 0.92) !important;
}

body.dark input,
body.dark-mode input,
body.dark select,
body.dark-mode select,
body.dark textarea,
body.dark-mode textarea {
  color: rgba(247, 248, 251, 0.92) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

body.dark input::placeholder,
body.dark-mode input::placeholder,
body.dark textarea::placeholder,
body.dark-mode textarea::placeholder {
  color: rgba(247, 248, 251, 0.55) !important;
  opacity: 1 !important;
}

body.dark input:focus,
body.dark-mode input:focus,
body.dark select:focus,
body.dark-mode select:focus,
body.dark textarea:focus,
body.dark-mode textarea:focus {
  outline: none !important;
  border-color: rgba(19, 197, 214, 0.55) !important;
  box-shadow: 0 0 0 4px rgba(19, 197, 214, 0.18) !important;
}
body.dark .card,
body.dark-mode .card,
body.dark .panel,
body.dark-mode .panel {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
}
/* ==============================
   DARK MODE TYPOGRAPHY
   ============================== */

body.dark,
body.dark-mode {
  color: var(--text-body);
}

body.dark h1,
body.dark h2,
body.dark h3,
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3 {
  color: var(--text-strong);
}

body.dark p,
body.dark li,
body.dark-mode p,
body.dark-mode li {
  color: var(--text-body);
}

body.dark label,
body.dark-mode label {
  color: var(--text-muted);
}
/* ==============================
   DARK MODE – TEXT APPLICATION
   ============================== */

body.dark,
body.dark-mode {
  color: var(--text1);
}

body.dark h1,
body.dark h2,
body.dark h3,
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3 {
  color: var(--text0);
}

body.dark p,
body.dark li,
body.dark-mode p,
body.dark-mode li {
  color: var(--text1);
}

body.dark label,
body.dark-mode label {
  color: var(--text1);
}/* ==================================================
   TOKEN OVERRIDES – FORCE LIGHT vs DARK (QiQ)
   Put at VERY bottom of premium.css
   ================================================== */

/* LIGHT MODE tokens */
body:not(.dark):not(.dark-mode),
html:not(.dark):not(.dark-mode) body,
[data-theme="light"] body {
  --text0: #1D1D1F;   /* headings */
  --text1: #6E6E73;   /* body/labels */
  --text2: #A1A1A6;   /* placeholders */
}

/* DARK MODE tokens (match your QiQ Pro page) */
body.dark,
body.dark-mode,
html.dark body,
html.dark-mode body,
[data-theme="dark"] body {
  --text0: rgba(247,248,251,0.92); /* headings */
  --text1: rgba(247,248,251,0.78); /* body */
  --text2: rgba(247,248,251,0.55); /* placeholders */
}

/* Apply tokens globally */
body {
  color: var(--text1);
}

h1, h2, h3, .title, .card-title {
  color: var(--text0);
}

p, li, .subtext, .helper-text {
  color: var(--text1);
}

label, .field-label, .form-label {
  color: var(--text1);
}

/* Inputs */
input, select, textarea {
  color: var(--text0);
}

input::placeholder,
textarea::placeholder {
  color: var(--text2);
  opacity: 1;
}
/* ==================================================
   COACHING COMPASS – DARK MODE TEXT (HARD OVERRIDE)
   ================================================== */

html[data-theme="dark"] .coaching-compass .tool-label,
html[data-theme="dark"] .coaching-compass .tool-optional {
  color: rgba(247, 248, 251, 0.74) !important;
}

html[data-theme="dark"] .coaching-compass .tool-subtitle,
html[data-theme="dark"] .coaching-compass .tool-aside-subtitle,
html[data-theme="dark"] .coaching-compass .tool-aside-list,
html[data-theme="dark"] .coaching-compass .tool-aside-list li {
  color: rgba(247, 248, 251, 0.78) !important;
}

html[data-theme="dark"] .coaching-compass .tool-input,
html[data-theme="dark"] .coaching-compass input.tool-input,
html[data-theme="dark"] .coaching-compass select.tool-input,
html[data-theme="dark"] .coaching-compass textarea.tool-input {
  color: rgba(247, 248, 251, 0.92) !important;
}

html[data-theme="dark"] .coaching-compass .tool-input::placeholder,
html[data-theme="dark"] .coaching-compass input.tool-input::placeholder,
html[data-theme="dark"] .coaching-compass textarea.tool-input::placeholder {
  color: rgba(247, 248, 251, 0.55) !important;
  opacity: 1 !important;
}
/* ==================================================
   COACHING COMPASS – SUGGESTIONS BOX (DARK MODE FIX)
   ================================================== */

html[data-theme="dark"] .coaching-compass .tool-result-title {
  color: rgba(247, 248, 251, 0.92) !important;
}

html[data-theme="dark"] .coaching-compass .tool-result-body {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
}

html[data-theme="dark"] .coaching-compass .tool-result-pre,
html[data-theme="dark"] .coaching-compass pre.tool-result-pre {
  color: rgba(247, 248, 251, 0.78) !important;
  opacity: 1 !important;
}

/* If the AI output includes lists/headings inside the <pre> */
html[data-theme="dark"] .coaching-compass .tool-result-pre * {
  color: rgba(247, 248, 251, 0.78) !important;
  opacity: 1 !important;
}
/* ==================================================
   COACHING COMPASS – SUGGESTIONS BOX (DARK MODE FIX)
   ================================================== */

html[data-theme="dark"] .coaching-compass .tool-result-title {
  color: rgba(247, 248, 251, 0.92) !important;
}

html[data-theme="dark"] .coaching-compass .tool-result-body {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
}

html[data-theme="dark"] .coaching-compass .tool-result-pre,
html[data-theme="dark"] .coaching-compass pre.tool-result-pre {
  color: rgba(247, 248, 251, 0.78) !important;
  opacity: 1 !important;
}

/* If the AI output includes lists/headings inside the <pre> */
html[data-theme="dark"] .coaching-compass .tool-result-pre * {
  color: rgba(247, 248, 251, 0.78) !important;
  opacity: 1 !important;
}
/* ===== Dashboard card typography fixes ===== */

/* Make cards define their own text colors */
.hub-card {
  color: var(--card-text);
}

/* Override global heading + paragraph colors inside cards */
.hub-card h1,
.hub-card h2,
.hub-card h3,
.hub-card p,
.hub-card .sub,
.hub-card .muted,
.hub-card span,
.hub-card a {
  color: inherit;
}

/* Optional: give secondary text its own variable */
.hub-card .sub,
.hub-card .muted {
  color: var(--card-muted);
}
/* =========================================================
   DASHBOARD TYPOGRAPHY HOTFIX (card text + size)
   Paste at VERY BOTTOM of premium.css
   ========================================================= */

/* Cover multiple possible dark-mode selectors */
:root{
  --qiq-card-title: #0b1220;
  --qiq-card-body:  #223047;
  --qiq-card-muted: #44536a;
}

/* If your app uses ANY of these, you’re covered */
html[data-theme="dark"],
body[data-theme="dark"],
body.dark,
html.dark,
.dark {
  --qiq-card-title: #f3f6fb;
  --qiq-card-body:  #d7deea;
  --qiq-card-muted: #a9b5c7;
}

/* Scope everything to the dashboard only */
.hub-main,
.hub-main * {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Bigger typography (dashboard) */
.hub-hero h1 { font-size: clamp(34px, 3.2vw, 52px) !important; letter-spacing: -0.02em; }
.hub-hero .sub { font-size: clamp(16px, 1.2vw, 18px) !important; }

.hub-main h2 { font-size: clamp(22px, 1.8vw, 28px) !important; }
.hub-main h3 { font-size: clamp(18px, 1.35vw, 22px) !important; }
.hub-main p,
.hub-main .sub,
.hub-main .muted { font-size: clamp(15px, 1.1vw, 17px) !important; line-height: 1.5 !important; }

/* FORCE readable text inside your dark tiles/cards */
.hub-main .hub-card,
.hub-main .hub-card * {
  color: var(--qiq-card-body) !important;
}

/* Titles pop */
.hub-main .hub-card h1,
.hub-main .hub-card h2,
.hub-main .hub-card h3 {
  color: var(--qiq-card-title) !important;
}

/* Secondary text */
.hub-main .hub-card .sub,
.hub-main .hub-card .muted,
.hub-main .hub-card p {
  color: var(--qiq-card-muted) !important;
}

/* Links should NOT turn default blue/purple */
.hub-main .hub-card a,
.hub-main a.hub-card {
  color: inherit !important;
  text-decoration: none !important;
}

/* Button text inside cards should be readable too */
.hub-main .hub-card .btn,
.hub-main .hub-card button {
  font-size: 15px !important;
  font-weight: 600 !important;
}
/* =========================================================
   DASHBOARD LIGHT MODE MATCH (Coaching Compass look)
   Paste at VERY BOTTOM of premium.css
   ========================================================= */

/* Target the dashboard page only */
.hub-main { 
  --panel-bg: #ffffff;
  --panel-border: rgba(15, 23, 42, 0.10);
  --panel-shadow: 0 18px 60px rgba(2, 8, 23, 0.10);
  --ink: #0b1220;
  --muted: rgba(11, 18, 32, 0.62);
}

/* LIGHT MODE: force dashboard tiles/cards to be white like Coaching Compass */
html:not([data-theme="dark"]) .hub-main .hub-card,
body:not([data-theme="dark"]) .hub-main .hub-card,
html:not(.dark) .hub-main .hub-card,
body:not(.dark) .hub-main .hub-card {
  background: var(--panel-bg) !important;
  border: 1px solid var(--panel-border) !important;
  box-shadow: var(--panel-shadow) !important;
  color: var(--ink) !important;
}

/* Make headings + text inside cards readable */
html:not([data-theme="dark"]) .hub-main .hub-card h1,
html:not([data-theme="dark"]) .hub-main .hub-card h2,
html:not([data-theme="dark"]) .hub-main .hub-card h3,
body:not([data-theme="dark"]) .hub-main .hub-card h1,
body:not([data-theme="dark"]) .hub-main .hub-card h2,
body:not([data-theme="dark"]) .hub-main .hub-card h3 {
  color: var(--ink) !important;
}

html:not([data-theme="dark"]) .hub-main .hub-card p,
html:not([data-theme="dark"]) .hub-main .hub-card .sub,
html:not([data-theme="dark"]) .hub-main .hub-card .muted,
body:not([data-theme="dark"]) .hub-main .hub-card p,
body:not([data-theme="dark"]) .hub-main .hub-card .sub,
body:not([data-theme="dark"]) .hub-main .hub-card .muted {
  color: var(--muted) !important;
}

/* Also make the big section containers match Coaching Compass */
html:not([data-theme="dark"]) .hub-main .card,
body:not([data-theme="dark"]) .hub-main .card {
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
}

/* Typography bump (dashboard only) */
.hub-hero h1 { font-size: clamp(38px, 3.4vw, 56px) !important; letter-spacing: -0.02em; }
.hub-hero .sub { font-size: clamp(16px, 1.2vw, 18px) !important; }

.hub-main h2 { font-size: clamp(22px, 1.9vw, 30px) !important; }
.hub-main h3 { font-size: clamp(18px, 1.4vw, 22px) !important; }
.hub-main p, .hub-main .sub, .hub-main .muted { font-size: clamp(15px, 1.1vw, 17px) !important; line-height: 1.55 !important; }
/* ============================
   PRO DASHBOARD FIX PACK
   Paste at VERY bottom
============================ */

/* Bigger baseline type everywhere */
:root{
  --base: 17px;              /* was 16 */
}

/* Your theme system flips text correctly in light mode,
   but some tiles were still using --panel (dark).
   Force tiles/cards to use --card universally. */
.qiq-tile,
.hub-card{
  background: var(--card) !important;
  border: 1px solid var(--card-border) !important;
}

/* Pro dashboard: consistent readable headings */
.pro-hub h2,
.pro-hub h3{
  color: var(--text) !important;
  letter-spacing: -0.02em;
}

/* Quick action pills */
.pro-quick{
  display:flex;
  justify-content:center;
  gap: 10px;
  margin-top: 18px;
  flex-wrap: wrap;
}
.btn-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 18px;
  border-radius: 999px;
  font-weight: 700;
  text-decoration:none;
  border: 1px solid rgba(0,0,0,0.06);
  background: linear-gradient(180deg, var(--accent), var(--accent2));
  color: rgba(255,255,255,0.95);
  box-shadow: 0 14px 26px rgba(18,183,200,0.18);
}
.btn-pill--ghost{
  background: transparent;
  color: var(--text);
  border: 1px solid rgba(0,0,0,0.12);
  box-shadow: none;
}
html[data-theme="dark"] .btn-pill--ghost{
  border: 1px solid rgba(255,255,255,0.16);
  color: rgba(255,255,255,0.92);
}

/* Today’s Focus block */
.pro-section{ margin-top: 26px; }
.pro-section-head{ margin-bottom: 14px; }
.pro-section-head h2{ margin: 0 0 6px; font-size: 24px; }
.pro-section-sub{ margin: 0; color: var(--muted); font-size: 15.5px; }

.pro-focus{ padding: 22px; border-radius: 22px; }
.pro-focus-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
@media (max-width: 980px){
  .pro-focus-grid{ grid-template-columns: 1fr; }
}

/* Focus cards (clean, high-contrast in BOTH themes) */
.pro-focus-card{
  border-radius: 18px;
  padding: 18px;
  border: 1px solid rgba(0,0,0,0.06);
  background: rgba(255,255,255,0.86);
  box-shadow: 0 18px 40px rgba(0,0,0,0.10);
}
html[data-theme="dark"] .pro-focus-card{
  background: rgba(18,22,30,0.72);
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 22px 60px rgba(0,0,0,0.45);
}

.pro-focus-card h3{
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 800;
}
.pro-focus-card p{
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 14.5px;
  line-height: 1.45;
}
.pro-bullets{
  margin: 0 0 14px;
  padding-left: 18px;
  color: var(--muted);
  font-size: 14px;
}
.pro-bullets li{ margin: 6px 0; }

/* Compact primary button (reuses your .btn-primary look) */
.btn-compact{
  display:inline-flex;
  padding: 10px 14px;
  border-radius: 14px;
  font-weight: 750;
  text-decoration:none;
}

/* Modules grid spacing */
.pro-section-head--loose{ margin-top: 34px; }
.pro-modules-grid .hub-card{ min-height: 240px; }
.pro-module-wide{ min-height: 210px; }
.pro-list{ font-size: 14.5px; }
.pro-list-wide{ columns: 2; column-gap: 26px; }
@media (max-width: 860px){
  .pro-list-wide{ columns: 1; }
}
/* ---------- Design tokens (THIS is where “number 3” goes) ---------- */
/* Put your theme variables here, at the top of premium.css */
:root{
  --accent: #18A7B3;
  --accent-2: #0E8791;

  --radius-xl: 22px;
  --radius-lg: 16px;
  --radius-md: 12px;

  --shadow-soft: 0 18px 60px rgba(0,0,0,.12);
  --shadow-card: 0 16px 40px rgba(0,0,0,.10);

  --font: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, Arial, sans-serif;
}

/* Light theme */
html[data-theme="light"]{
  --bg: #F6F7F8;
  --surface: rgba(255,255,255,.72);
  --card: rgba(255,255,255,.92);
  --border: rgba(10,12,14,.10);

  --text: #0B0D10;
  --muted: rgba(11,13,16,.62);

  --pill: rgba(255,255,255,.70);
  --pillBorder: rgba(10,12,14,.10);

  --btnText: #FFFFFF;
  --btnTextOnLight: #0B0D10; /* for secondary button */
}

/* Dark theme */
html[data-theme="dark"]{
  --bg: radial-gradient(1200px 700px at 50% 20%, rgba(24,167,179,.16), rgba(0,0,0,0) 55%),
        radial-gradient(900px 600px at 20% 70%, rgba(24,167,179,.10), rgba(0,0,0,0) 60%),
        #07090C;

  --surface: rgba(255,255,255,.05);
  --card: rgba(255,255,255,.06);
  --border: rgba(255,255,255,.10);

  --text: rgba(255,255,255,.92);
  --muted: rgba(255,255,255,.62);

  --pill: rgba(255,255,255,.06);
  --pillBorder: rgba(255,255,255,.14);

  --btnText: #071014;
  --btnTextOnLight: #0B0D10;
}

/* ---------- Base ---------- */
*{ box-sizing: border-box; }
html, body{ height:100%; }
body{
  margin:0;
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  letter-spacing: -0.01em;
  font-size: 17px; /* larger, more premium */
  line-height: 1.5;
}

a{ color: inherit; text-decoration: none; }
p{ margin: 0; }

.page{
  width: min(1120px, calc(100% - 48px));
  margin: 0 auto;
  padding: 28px 0 60px;
}

/* ---------- Topbar ---------- */
.topbar{
  position: sticky;
  top: 0;
  z-index: 20;
  backdrop-filter: blur(16px);
  background: linear-gradient(to bottom, rgba(0,0,0,.22), rgba(0,0,0,0));
  border-bottom: 1px solid rgba(255,255,255,.06);
}
html[data-theme="light"] .topbar{
  background: linear-gradient(to bottom, rgba(255,255,255,.78), rgba(255,255,255,0));
  border-bottom: 1px solid rgba(10,12,14,.06);
}
.topbar__inner{
  width: min(1120px, calc(100% - 48px));
  margin: 0 auto;
  padding: 16px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 16px;
}
.brand{
  display:flex;
  align-items:center;
  gap: 14px;
}
.brand__mark{
  font-weight: 800;
  color: var(--accent);
  letter-spacing: -0.03em;
}
.brand__tag{
  font-weight: 650;
  opacity: .9;
}
.topbar__actions{
  display:flex;
  align-items:center;
  gap: 10px;
}

/* ---------- Pills ---------- */
.pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 650;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.pill--ghost{
  background: var(--pill);
  border: 1px solid var(--pillBorder);
}

.pill--action{
  background: var(--surface);
  border: 1px solid var(--card-border);
  text-transform: none;
  letter-spacing: 0;
  font-size: 12px;
  padding: 6px 12px;
}

.impersonation-pill{
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* ---------- Hero ---------- */
.hero{
  padding: 26px 0 10px;
}
.hero__inner{
  text-align:center;
  padding: 18px 0 6px;
}
.hero h1{
  margin: 0;
  font-size: 56px;
  line-height: 1.05;
  letter-spacing: -0.04em;
}
.hero__kicker{
  margin-top: 12px;
  font-size: 20px;
  font-weight: 700;
}
.hero__sub{
  margin: 10px auto 18px;
  max-width: 720px;
  color: var(--muted);
  font-size: 16.5px;
}

.segmented{
  display:inline-flex;
  gap: 10px;
  padding: 8px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}
.segmented__item{
  padding: 12px 16px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 14px;
  color: var(--text);
  border: 1px solid transparent;
}
.segmented__item:hover{
  border-color: rgba(24,167,179,.35);
  background: rgba(24,167,179,.08);
}

.linkJump{
  display:inline-block;
  margin-top: 14px;
  color: var(--muted);
  font-weight: 650;
}

/* ---------- Sections ---------- */
.section{
  margin-top: 28px;
}
.section__header{
  margin-bottom: 14px;
}
.section__header h2{
  margin: 0;
  font-size: 28px;
  letter-spacing: -0.03em;
}
.section__header p{
  margin-top: 6px;
  color: var(--muted);
  font-size: 15.5px;
}

/* ---------- Grid (NO absolute positioning = no haunted overlap) ---------- */
.grid{
  display:grid;
  gap: 18px;
}
.grid--3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid--2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }

@media (max-width: 980px){
  .grid--3{ grid-template-columns: 1fr; }
  .grid--2{ grid-template-columns: 1fr; }
  .hero h1{ font-size: 44px; }
}

/* ---------- Cards ---------- */
.card{
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: 18px 18px 16px;
  box-shadow: var(--shadow-card);
}
.card--featured{
  padding: 18px;
}
.card h3{
  margin: 0;
  font-size: 20px;
  letter-spacing: -0.02em;
}
.muted{
  margin-top: 8px;
  color: var(--muted);
  font-size: 15.5px;
}

/* Bullets: “meat” without wordiness */
.bullets{
  margin: 12px 0 16px;
  padding-left: 18px;
  color: var(--muted);
}
.bullets li{
  margin: 6px 0;
  font-size: 15.5px;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 14px;
  font-weight: 800;
  font-size: 15px;
  border: 1px solid transparent;
  width: 100%;
  user-select:none;
}

.btn--primary{
  background: linear-gradient(180deg, var(--accent), var(--accent-2));
  color: var(--btnText);
  box-shadow: 0 14px 32px rgba(24,167,179,.22);
}
.btn--primary:hover{ filter: brightness(1.03); }

.btn--secondary{
  background: rgba(24,167,179,.10);
  border-color: rgba(24,167,179,.28);
  color: var(--text);
}
.btn--secondary:hover{
  background: rgba(24,167,179,.14);
}

/* ---------- Footer ---------- */
.footer{
  margin-top: 34px;
  color: var(--muted);
  text-align:center;
  font-size: 13px;
}
/* =========================================================
   QiQ PREMIUM LOCK (FINAL OVERRIDE)
   Paste this as the LAST block in premium.css
   ========================================================= */

/* 0) ONE THEME SWITCH: use html[data-theme="light"] only.
   (Your JS should toggle: document.documentElement.dataset.theme = "light"|"dark") */

:root{
  --qiq-font: ui-sans-serif, system-ui, -apple-system, "SF Pro Text", "SF Pro Display",
             "Inter", "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";

  /* Dark defaults */
  --bg: #070A0E;
  --bg2:#0B111A;

  --panel: rgba(14, 22, 30, .62);
  --stroke: rgba(255,255,255,.10);

  --text: rgba(255,255,255,.92);
  --muted: rgba(255,255,255,.68);

  --accent: #18B7C7;
  --accent2:#0E8EA2;

  --shadow: 0 22px 60px rgba(0,0,0,.55);

  /* Layout locks */
  --max: 1120px;
  --gutter: clamp(16px, 3vw, 26px);
  --radius: 22px;
}

html[data-theme="light"]{
  --bg: #F6F7FB;
  --bg2:#FFFFFF;

  --panel: rgba(255,255,255,.92);
  --stroke: rgba(10,12,16,.10);

  --text: rgba(10,12,16,.92);
  --muted: rgba(10,12,16,.62);

  --shadow: 0 18px 40px rgba(10,12,16,.10);
}

/* 1) Global base */
html, body{
  font-family: var(--qiq-font) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
  background: #f6f7fb !important;
  background-image: none !important;
  color: var(--text);
}

/* 2) Header lock */
.app-header{
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(90deg, rgba(0,0,0,.45), rgba(0,0,0,.20));
}
html[data-theme="light"] .app-header{
  background: rgba(255,255,255,.75);
  border-bottom: 1px solid rgba(10,12,16,.08);
}

.app-header-inner{
  max-width: var(--max);
  margin: 0 auto;
  padding: 18px var(--gutter);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.brand{
  display: flex;
  align-items: center;
  gap: 14px;
}
.brand img{
  height: 80px !important;
  width: auto !important;
  display: block;
}
.brand-tagline{
  font-size: 20px !important;
  font-weight: 650;
  letter-spacing: .2px;
  color: var(--text);
  opacity: .95;
  white-space: nowrap;
}

.app-nav {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: flex-end;
  padding: 10px var(--gutter);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(0, 0, 0, 0.08);
}

.app-nav-link {
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text);
  opacity: 0.7;
  text-decoration: none;
}

.app-nav-link.active {
  opacity: 1;
}

html[data-theme="light"] .app-nav {
  border-bottom: 1px solid rgba(10, 12, 16, 0.08);
  background: rgba(255, 255, 255, 0.5);
}

html[data-theme="light"] .app-nav-link {
  color: #0b1220;
}

.employees-page {
  padding-top: 12px;
}

.employees-page .employees-toolbar {
  align-items: flex-start;
  margin-top: 6px;
}

.employees-page .employees-toolbar-actions {
  gap: 10px;
  align-self: flex-start;
}

.employees-page .employees-toolbar-text .hub-subtitle {
  margin-top: 4px;
}

.employees-page .employees-list-wrapper {
  margin-top: 8px;
}

/* 3) Pills/toggle lock */
.header-actions{
  display: flex;
  align-items: center;
  gap: 10px;
}
.pill, .theme-toggle, .pill--toggle{
  font-family: var(--qiq-font) !important;
  border-radius: 999px;
  border: 1px solid var(--stroke) !important;
  background: rgba(255,255,255,.05) !important;
  color: var(--text) !important;
}
html[data-theme="light"] .pill,
html[data-theme="light"] .theme-toggle,
html[data-theme="light"] .pill--toggle{
  background: rgba(10,12,16,.04) !important;
  color: var(--text) !important;
}

.pill{
  padding: 10px 14px !important;
  font-size: 12px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}
.pill--toggle{
  text-transform: none !important;
  letter-spacing: .02em !important;
  cursor: pointer;
}

/* 4) Cards/titles: never disappear */
.qiq-tile, .hub-card, .experience-card, .card{
  background: var(--panel) !important;
  border: 1px solid var(--stroke) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow) !important;
}

.qiq-tile h2, .hub-card h2, .experience-card h2, .card h2,
.qiq-tile h1, .hub-card h1, .experience-card h1, .card h1{
  color: var(--text) !important;
}

.qiq-tile p, .hub-card p, .experience-card p, .card p,
.qiq-tile li, .hub-card li, .experience-card li, .card li{
  color: var(--muted) !important;
}

/* 5) Stop blue/purple link styling inside tiles/cards */
.hub-link, .hub-link:visited, .hub-link:hover{
  color: inherit !important;
  text-decoration: none !important;
}
/* =========================================================
   QiQ PRO – FINAL OVERRIDE (PASTE LAST IN premium.css)
   Goal: one header system, one width system, predictable theme
   ========================================================= */

/* 0) Global smoothing */
html, body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* 1) Pick ONE layout width and stick to it */
:root{
  --qiq-max: 1120px;
  --qiq-gutter: 24px;

  --qiq-radius-lg: 24px;
  --qiq-radius-md: 18px;

  --qiq-shadow-dark: 0 24px 70px rgba(0,0,0,.55);
  --qiq-shadow-light: 0 18px 60px rgba(2, 8, 23, 0.10);
}

/* 2) Make header + main align perfectly */
.app-header .app-header-inner,
.app-header-inner{
  max-width: var(--qiq-max) !important;
  margin: 0 auto !important;
  padding: 18px var(--qiq-gutter) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

/* 3) Prevent the “frosted sheet” from getting huge */
.app-header{
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* If any older rule made the header itself a flex row with big padding, neutralize it */
.app-header{
  padding: 0 !important;
}

/* 4) Main container width lock */
.app-main,
.hub-main,
.experience-main{
  max-width: var(--qiq-max) !important;
  margin: 0 auto !important;
  padding-left: var(--qiq-gutter) !important;
  padding-right: var(--qiq-gutter) !important;
}

/* 5) HERO: keep it centered and calm */
.hub-hero,
.experience-intro{
  text-align: center !important;
  margin: 34px auto 24px !important;
}

/* 6) Cards/grid: stop overlap + stop misalignment */
.experience-grid{
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
}

@media (max-width: 900px){
  .experience-grid{ grid-template-columns: 1fr !important; }
}

.experience-card,
.hub-card,
.qiq-tile{
  border-radius: var(--qiq-radius-lg) !important;
  overflow: hidden;
}

/* Equal-height behavior + button pinned */
.experience-card{
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
.experience-actions{ margin-top: auto !important; padding-top: 18px !important; }

/* 7) Theme: support BOTH toggles but avoid global nukes */
html[data-theme="light"] body,
body.theme-light,
body.light-mode{
  background: #f6f7fb !important;
  color: #0b0f14 !important;
}

html[data-theme="light"] .app-header,
body.theme-light .app-header,
body.light-mode .app-header{
  background: rgba(255,255,255,0.75) !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}

html[data-theme="light"] .hub-card,
html[data-theme="light"] .qiq-tile,
body.theme-light .hub-card,
body.theme-light .qiq-tile,
body.light-mode .hub-card,
body.light-mode .qiq-tile{
  background: #ffffff !important;
  border: 1px solid rgba(15, 23, 42, 0.10) !important;
  box-shadow: var(--qiq-shadow-light) !important;
}

html[data-theme="light"] .hub-card h1,
html[data-theme="light"] .hub-card h2,
html[data-theme="light"] .hub-card h3,
html[data-theme="light"] .qiq-tile h2,
body.theme-light .hub-card h1,
body.theme-light .hub-card h2,
body.theme-light .hub-card h3,
body.theme-light .qiq-tile h2,
body.light-mode .hub-card h1,
body.light-mode .hub-card h2,
body.light-mode .hub-card h3,
body.light-mode .qiq-tile h2{
  color: #0b1220 !important;
}

html[data-theme="light"] .hub-card p,
html[data-theme="light"] .hub-card li,
html[data-theme="light"] .qiq-tile p,
html[data-theme="light"] .qiq-tile li,
body.theme-light .hub-card p,
body.theme-light .hub-card li,
body.theme-light .qiq-tile p,
body.theme-light .qiq-tile li,
body.light-mode .hub-card p,
body.light-mode .hub-card li,
body.light-mode .qiq-tile p,
body.light-mode .qiq-tile li{
  color: rgba(11, 18, 32, 0.62) !important;
}

/* 8) Dark mode baseline stays premium */
html[data-theme="dark"] body,
body:not(.theme-light):not(.light-mode){
  background: #070a0f;
  color: rgba(255,255,255,.92);
}
/* ===== QiQ Pro Dashboard Premium Patch (paste at bottom) ===== */

/* Contain the sticky topbar so it doesn't feel like a giant blur band */
.topbar{
  background: rgba(10,12,16,.62);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* Add an inner wrapper (even if your HTML didn't have one before) */
.topbar .topbar-inner{
  max-width: 1120px;
  margin: 0 auto;
  padding: 18px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

/* Left side brand cluster */
.topbar .brand{
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 240px;
}

.topbar .brandline{
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: .2px;
  color: rgba(255,255,255,.78);
  white-space: nowrap;
}

/* Right side only: theme toggle */
.topbar .topbar-actions{
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Hero containment: center properly and keep consistent padding */
.page{
  max-width: 1120px;
  margin: 0 auto;
  padding: 46px 24px 70px;
}

/* LOCK tagline size (this is the one that got tiny) */
.hub-tagline{
  font-size: clamp(16px, 1.0vw + 10px, 20px);
  line-height: 1.25;
  letter-spacing: .2px;
  color: rgba(255,255,255,.72);
  margin-top: 10px;
}

/* Optional: if you render light theme with a class or attribute */
body.light .hub-tagline,
[data-theme="light"] .hub-tagline{
  color: rgba(15,18,22,.68);
}

/* Segmented control alignment */
.segmented{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 20px 60px rgba(0,0,0,.22);
}

.segmented a{
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 14px;
  color: rgba(255,255,255,.78);
  text-decoration: none;
}

.segmented a.active{
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.92);
}

/* Light theme segmented */
body.light .segmented,
[data-theme="light"] .segmented{
  background: rgba(15,18,22,.05);
  border-color: rgba(15,18,22,.08);
  box-shadow: 0 20px 60px rgba(15,18,22,.08);
}

body.light .segmented a,
[data-theme="light"] .segmented a{
  color: rgba(15,18,22,.75);
}

body.light .segmented a.active,
[data-theme="light"] .segmented a.active{
  background: rgba(15,18,22,.06);
  border-color: rgba(15,18,22,.10);
  color: rgba(15,18,22,.92);
}
/* ===========================
   PRO DASHBOARD OVERRIDES
   =========================== */

.page--pro .hero__sub--tagline{
  font-size: clamp(18px, 2.1vw, 22px);
  font-weight: 650;
  letter-spacing: -0.01em;
  opacity: 0.95;
}

/* Prevent pill-group from wrapping into awkward stacks */
.page--pro .pill-group{
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

/* Keep module grids consistent */
.page--pro .card-grid{
  align-items: stretch;
}
/* ================================
   PRO DASHBOARD LAYOUT RESET
   ================================ */

body .app-main {
  display: block;
}

.page--pro {
  --pro-bg-light: #f6f7fb;
  --pro-bg-dark: #0b0f16;
  --pro-card: rgba(18, 23, 32, 0.82);
  --pro-card-light: rgba(255, 255, 255, 0.86);
  --pro-card-border: rgba(255, 255, 255, 0.08);
  --pro-card-border-light: rgba(10, 18, 30, 0.10);
  --pro-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
  --pro-shadow-soft: 0 12px 30px rgba(0, 0, 0, 0.18);
}

.page--pro .app-shell {
  background: #f6f7fb !important;
  background-image: none !important;
}

html[data-theme="light"] .page--pro .app-shell,
body[data-theme="light"] .page--pro .app-shell,
body.light .page--pro .app-shell,
body.theme-light .page--pro .app-shell {
  background: var(--pro-bg-light);
}

.page--pro .dashboard-hero,
.page--pro .dashboard-section {
  max-width: 960px;
  margin: 0 auto;
  padding: 42px 24px;
}

.page--pro.pro-dashboard .dashboard-hero,
.page--pro.pro-dashboard .dashboard-section {
  max-width: var(--pro-container-max) !important;
}

.page--pro.pro-dashboard {
  --qiq-max: 1280px;
}

/* HERO */
.page--pro .dashboard-hero {
  text-align: left;
  padding-top: 64px;
  padding-bottom: 24px;
}

.page--pro .dashboard-hero h1 {
  font-size: 48px;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.page--pro .dashboard-tagline {
  font-size: var(--qiq-body-text);
  opacity: 0.82;
  margin-top: 10px;
  max-width: 60ch;
  text-align: left;
}

.page--pro .dashboard-hero .dashboard-tagline {
  margin-left: 0;
  margin-right: 0;
}

.dashboard-alert {
  margin: 24px auto 0;
  padding: 12px 16px;
  max-width: 960px;
  border-radius: 14px;
  border: 1px solid rgba(255, 184, 71, 0.6);
  background: rgba(255, 244, 229, 0.9);
  color: rgba(24, 28, 32, 0.9);
  font-size: 13px;
  text-align: center;
}

.page--pro.pro-dashboard .dashboard-alert {
  max-width: var(--pro-container-max);
}

.page--pro.pro-dashboard .dashboard-alert--demo {
  margin-top: 12px;
  border-color: rgba(14, 165, 233, 0.28);
  background: rgba(224, 242, 254, 0.88);
  color: rgba(15, 23, 42, 0.86);
  font-weight: 700;
}

.page--pro .app-shell {
  position: relative;
}

.page--pro .app-shell::before {
  content: none !important;
  display: none !important;
  background: none !important;
  opacity: 0 !important;
  mix-blend-mode: normal !important;
}

.page--pro .profile-shell::before {
  opacity: 0;
  mix-blend-mode: normal;
}

html[data-theme="light"] .page--pro .app-shell::before,
body[data-theme="light"] .page--pro .app-shell::before,
body.theme-light .page--pro .app-shell::before,
body.light .page--pro .app-shell::before {
  opacity: 0;
  mix-blend-mode: normal;
}

html[data-theme="light"] .profile-shell,
body[data-theme="light"] .profile-shell,
body.theme-light .profile-shell,
body.light .profile-shell {
  background: linear-gradient(180deg, #f7f9fc 0%, #ffffff 40%);
}

.page--pro .hero-cta {
  display: inline-flex;
  align-items: center;
  margin-top: 16px;
}

/* Pills */
.dashboard-pills {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 28px;
}

/* SECTION HEADERS */
.page--pro .dashboard-section h2 {
  font-size: 30px;
  margin-bottom: 8px;
}

html[data-theme="dark"] .page--pro .section-subtitle {
  opacity: 0.72;
  margin-bottom: 28px;
  font-size: var(--qiq-body-text);
  max-width: 60ch;
}

html[data-theme="light"] .page--pro h1,
html[data-theme="light"] .page--pro h2,
html[data-theme="light"] .page--pro h3,
body[data-theme="light"] .page--pro h1,
body[data-theme="light"] .page--pro h2,
body[data-theme="light"] .page--pro h3,
body.theme-light .page--pro h1,
body.theme-light .page--pro h2,
body.theme-light .page--pro h3,
body.light .page--pro h1,
body.light .page--pro h2,
body.light .page--pro h3 {
  color: rgba(11, 18, 32, 0.92) !important;
}

html[data-theme="light"] .page--pro .app-main p,
html[data-theme="light"] .page--pro .app-main li,
body[data-theme="light"] .page--pro .app-main p,
body[data-theme="light"] .page--pro .app-main li,
body.theme-light .page--pro .app-main p,
body.theme-light .page--pro .app-main li,
body.light .page--pro .app-main p,
body.light .page--pro .app-main li {
  color: #1f2937 !important;
}

html[data-theme="light"] .page--pro .section-subtitle,
body[data-theme="light"] .page--pro .section-subtitle,
body.theme-light .page--pro .section-subtitle,
body.light .page--pro .section-subtitle {
  color: #344054 !important;
  opacity: 1 !important;
}

html[data-theme="light"] .page--pro .profile-page .section-subtitle,
body[data-theme="light"] .page--pro .profile-page .section-subtitle,
body.theme-light .page--pro .profile-page .section-subtitle,
body.light .page--pro .profile-page .section-subtitle {
  color: #344054 !important;
  opacity: 1 !important;
}

html[data-theme="light"] .page--pro .employee-page .section-subtitle,
body[data-theme="light"] .page--pro .employee-page .section-subtitle,
body.theme-light .page--pro .employee-page .section-subtitle,
body.light .page--pro .employee-page .section-subtitle {
  color: rgba(11, 18, 32, 0.68) !important;
  opacity: 1 !important;
}

html[data-theme="light"] .page--pro .employee-page h1,
html[data-theme="light"] .page--pro .employee-page h2,
html[data-theme="light"] .page--pro .employee-page h3,
body[data-theme="light"] .page--pro .employee-page h1,
body[data-theme="light"] .page--pro .employee-page h2,
body[data-theme="light"] .page--pro .employee-page h3,
body.theme-light .page--pro .employee-page h1,
body.theme-light .page--pro .employee-page h2,
body.theme-light .page--pro .employee-page h3,
body.light .page--pro .employee-page h1,
body.light .page--pro .employee-page h2,
body.light .page--pro .employee-page h3 {
  color: #0b1220 !important;
  opacity: 1 !important;
}

html[data-theme="light"] .page--pro .employee-page p,
html[data-theme="light"] .page--pro .employee-page li,
body[data-theme="light"] .page--pro .employee-page p,
body[data-theme="light"] .page--pro .employee-page li,
body.theme-light .page--pro .employee-page p,
body.theme-light .page--pro .employee-page li,
body.light .page--pro .employee-page p,
body.light .page--pro .employee-page li {
  color: #1f2937 !important;
  opacity: 1 !important;
}

html[data-theme="light"] .page--pro .employee-page .section-subtitle,
body[data-theme="light"] .page--pro .employee-page .section-subtitle,
body.theme-light .page--pro .employee-page .section-subtitle,
body.light .page--pro .employee-page .section-subtitle {
  color: #344054 !important;
  opacity: 1 !important;
}

html[data-theme="light"] .page--pro .employee-page .employee-top,
html[data-theme="light"] .page--pro .employee-page .employee-identity,
html[data-theme="light"] .page--pro .employee-page .employee-meta,
html[data-theme="light"] .page--pro .employee-page .employee-nav,
html[data-theme="light"] .page--pro .employee-page .employee-toolbar,
html[data-theme="light"] .page--pro .employee-page .employee-summary,
html[data-theme="light"] .page--pro .employee-page .employee-hero-actions,
body[data-theme="light"] .page--pro .employee-page .employee-top,
body[data-theme="light"] .page--pro .employee-page .employee-identity,
body[data-theme="light"] .page--pro .employee-page .employee-meta,
body[data-theme="light"] .page--pro .employee-page .employee-nav,
body[data-theme="light"] .page--pro .employee-page .employee-toolbar,
body[data-theme="light"] .page--pro .employee-page .employee-summary,
body[data-theme="light"] .page--pro .employee-page .employee-hero-actions,
body.theme-light .page--pro .employee-page .employee-top,
body.theme-light .page--pro .employee-page .employee-identity,
body.theme-light .page--pro .employee-page .employee-meta,
body.theme-light .page--pro .employee-page .employee-nav,
body.theme-light .page--pro .employee-page .employee-toolbar,
body.theme-light .page--pro .employee-page .employee-summary,
body.theme-light .page--pro .employee-page .employee-hero-actions,
body.light .page--pro .employee-page .employee-top,
body.light .page--pro .employee-page .employee-identity,
body.light .page--pro .employee-page .employee-meta,
body.light .page--pro .employee-page .employee-nav,
body.light .page--pro .employee-page .employee-toolbar,
body.light .page--pro .employee-page .employee-summary,
body.light .page--pro .employee-page .employee-hero-actions {
  opacity: 1 !important;
}

html[data-theme="light"] .page--pro .employee-page .employee-title,
body[data-theme="light"] .page--pro .employee-page .employee-title,
body.theme-light .page--pro .employee-page .employee-title,
body.light .page--pro .employee-page .employee-title {
  color: #1f2937 !important;
  opacity: 1 !important;
}

html[data-theme="light"] .page--pro .employee-page .employee-details,
html[data-theme="light"] .page--pro .employee-page .employee-details span,
body[data-theme="light"] .page--pro .employee-page .employee-details,
body[data-theme="light"] .page--pro .employee-page .employee-details span,
body.theme-light .page--pro .employee-page .employee-details,
body.theme-light .page--pro .employee-page .employee-details span,
body.light .page--pro .employee-page .employee-details,
body.light .page--pro .employee-page .employee-details span {
  color: #1f2937 !important;
  opacity: 1 !important;
}

html[data-theme="light"] .page--pro .employee-page .summary-label,
body[data-theme="light"] .page--pro .employee-page .summary-label,
body.theme-light .page--pro .employee-page .summary-label,
body.light .page--pro .employee-page .summary-label {
  color: #1f2937 !important;
  opacity: 1 !important;
}

html[data-theme="light"] .page--pro .employee-page .employee-filter-label,
body[data-theme="light"] .page--pro .employee-page .employee-filter-label,
body.theme-light .page--pro .employee-page .employee-filter-label,
body.light .page--pro .employee-page .employee-filter-label {
  color: #1f2937 !important;
  opacity: 1 !important;
}

html[data-theme="light"] .page--pro .employee-page .nav-tile,
body[data-theme="light"] .page--pro .employee-page .nav-tile,
body.theme-light .page--pro .employee-page .nav-tile,
body.light .page--pro .employee-page .nav-tile {
  color: #0b1220 !important;
}

html[data-theme="light"] .page--pro .employees-list .employee-details,
html[data-theme="light"] .page--pro .employees-list .employee-details span,
body[data-theme="light"] .page--pro .employees-list .employee-details,
body[data-theme="light"] .page--pro .employees-list .employee-details span,
body.theme-light .page--pro .employees-list .employee-details,
body.theme-light .page--pro .employees-list .employee-details span,
body.light .page--pro .employees-list .employee-details,
body.light .page--pro .employees-list .employee-details span {
  color: #1f2937 !important;
}

/* CARD GRIDS */
.card-grid {
  display: grid;
  gap: 20px;
}

.card-grid.three {
  grid-template-columns: repeat(3, 1fr);
}

.card-grid.two {
  grid-template-columns: repeat(2, 1fr);
}

.card-grid.two,
.card-grid.three {
  align-items: stretch;
  justify-items: stretch;
}

.card-grid.two .span-2 {
  grid-column: 1 / -1;
}

/* CARDS */
.page--pro .dashboard-card {
  background: linear-gradient(180deg, rgba(24, 32, 44, 0.92) 0%, rgba(12, 16, 24, 0.92) 100%);
  border-radius: 20px;
  padding: 22px;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
  border: 1px solid var(--pro-card-border);
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(8px);
  box-sizing: border-box;
}

.page--pro .dashboard-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.10), transparent 40%);
  opacity: 0.6;
  pointer-events: none;
}

html[data-theme="dark"] .page--pro .dashboard-card::before,
body.dark .page--pro .dashboard-card::before,
body.dark-mode .page--pro .dashboard-card::before {
  background: linear-gradient(180deg, rgba(18, 183, 200, 0.12), transparent 45%);
  opacity: 0.9;
}

.page--pro .dashboard-section {
  position: relative;
}

.page--pro .dashboard-section > * {
  position: relative;
  z-index: 1;
}

html[data-theme="light"] .page--pro .dashboard-card,
body[data-theme="light"] .page--pro .dashboard-card,
body.light .page--pro .dashboard-card,
body.theme-light .page--pro .dashboard-card {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(230, 245, 246, 0.95) 100%);
  border-color: var(--pro-card-border-light);
  box-shadow: var(--pro-shadow-soft), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

html[data-theme="light"] .page--pro .modules-section .dashboard-card,
body[data-theme="light"] .page--pro .modules-section .dashboard-card,
body.light .page--pro .modules-section .dashboard-card,
body.theme-light .page--pro .modules-section .dashboard-card {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(230, 245, 246, 0.95) 100%) !important;
  box-shadow: var(--pro-shadow-soft), inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

html[data-theme="light"] .hub-card,
html[data-theme="light"] .qiq-tile,
body[data-theme="light"] .hub-card,
body[data-theme="light"] .qiq-tile,
body.light .hub-card,
body.light .qiq-tile,
body.theme-light .hub-card,
body.theme-light .qiq-tile {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(230, 245, 246, 0.95) 100%) !important;
  box-shadow: var(--qiq-shadow-light), inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

.page--pro .dashboard-card h3 {
  font-size: clamp(22px, 1.8vw, 26px);
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 10px;
}

.hub-card h2,
.experience-card h2,
.qiq-tile h2 {
  font-size: clamp(22px, 1.8vw, 26px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
}

.page--pro .dashboard-card ul {
  padding-left: 18px;
  margin-bottom: 14px;
}

.page--pro .dashboard-card li {
  margin-bottom: 6px;
  line-height: 1.55;
  font-size: var(--qiq-body-text);
}

.page--pro .modules-section .dashboard-card {
  padding: 20px;
  min-height: 260px;
  max-width: none;
}

.page--pro .modules-section {
  width: 100%;
}

.page--pro .modules-section .card-grid.two {
  grid-template-columns: 1fr 1fr;
  column-gap: 24px;
}

.page--pro .modules-section .dashboard-card h3 {
  margin-bottom: 8px;
}

.page--pro .modules-section .dashboard-card ul {
  margin-bottom: 14px;
}

.page--pro .modules-section .dashboard-card .btn-secondary {
  padding: 10px 16px;
  font-size: 15px;
}

.page--pro .card-grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  justify-items: stretch;
}

.page--pro .card-grid.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  justify-items: stretch;
}

.page--pro .dashboard-card,
.hub-card,
.experience-card {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.dashboard-card {
  display: flex;
  flex-direction: column;
}

.hub-grid {
  align-items: stretch;
  justify-items: stretch;
}

.hub-link {
  height: 100%;
}

.hub-card,
.experience-card,
.page--pro .dashboard-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.dashboard-card .card-actions {
  margin-top: auto;
}

.dashboard-card > .btn-primary,
.dashboard-card > .btn-secondary,
.dashboard-card > .btn-ghost,
.dashboard-card > button.btn-primary,
.dashboard-card > button.btn-secondary,
.dashboard-card > button.btn-ghost {
  margin-top: auto;
  align-self: flex-start;
}

.hub-card .hub-cta,
.experience-card .experience-actions,
.page--pro .dashboard-card .btn-primary,
.page--pro .dashboard-card .btn-secondary {
  margin-top: auto;
}

.page--pro .card-grid.two > .dashboard-card,
.page--pro .card-grid.three > .dashboard-card {
  width: 100%;
  min-width: 0;
}

.page--pro .dashboard-card-link {
  display: flex;
  color: inherit;
  text-decoration: none;
}

.page--pro .dashboard-card-link:hover,
.page--pro .dashboard-card-link:focus-visible {
  color: inherit;
  text-decoration: none;
}

.page--pro .dashboard-card-link:focus-visible {
  outline: 2px solid rgba(18, 183, 200, 0.55);
  outline-offset: 2px;
}

.page--pro .dashboard-card--disabled {
  opacity: 0.92;
}

.page--pro .dashboard-card .card-sub {
  margin: 6px 0 12px;
  opacity: 0.82;
  font-size: var(--qiq-body-text);
}

.page--pro .dashboard-card .btn-primary,
.page--pro .dashboard-card .btn-secondary {
  padding: 12px 18px;
  font-size: 18px;
  font-weight: 650;
  border-radius: 12px;
}

.page--pro .dashboard-card .btn-secondary {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.92);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

html[data-theme="light"] .page--pro .dashboard-card .btn-secondary,
body[data-theme="light"] .page--pro .dashboard-card .btn-secondary,
body.light .page--pro .dashboard-card .btn-secondary,
body.theme-light .page--pro .dashboard-card .btn-secondary {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(10, 18, 30, 0.12);
  color: rgba(10, 18, 30, 0.8);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.page--pro .dashboard-card .btn-primary {
  box-shadow: 0 12px 28px rgba(18, 183, 200, 0.25);
}

.page--pro .dashboard-card .btn-primary:hover,
.page--pro .dashboard-card .btn-secondary:hover {
  transform: translateY(-1px);
}

.page--pro .dashboard-featured {
  padding-top: 10px;
  padding-bottom: 10px;
}

.page--pro .dashboard-card.featured {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 28px 30px;
  background: var(--panel-strong, rgba(16, 20, 28, 0.9));
}

.page--pro .dashboard-card.featured ul {
  margin-bottom: 0;
}

/* ================================
   Global Premium Lock (All Pages)
   ================================ */
:root {
  --global-card-dark: #0b1018;
  --global-card-light: #ffffff;
  --global-card-border-dark: rgba(255, 255, 255, 0.08);
  --global-card-border-light: rgba(10, 18, 30, 0.10);
  --global-shadow-dark: 0 18px 48px rgba(0, 0, 0, 0.35);
  --global-shadow-light: 0 16px 42px rgba(12, 22, 40, 0.12);
}

body:not(.snapshot-page) {
  background: #0a0d13 !important;
  color: rgba(255, 255, 255, 0.9) !important;
}

html[data-theme="light"] body:not(.snapshot-page),
body[data-theme="light"]:not(.snapshot-page),
body.light:not(.snapshot-page),
body.theme-light:not(.snapshot-page) {
  background: #f6f7fb !important;
  color: #0b0f19 !important;
}

body.snapshot-page {
  background: linear-gradient(180deg, #0b0f16 0%, #0a0d13 50%, #090b12 100%) !important;
  color: rgba(255, 255, 255, 0.9) !important;
}

html[data-theme="light"] body.snapshot-page,
body.snapshot-page[data-theme="light"],
body.snapshot-page.light,
body.snapshot-page.theme-light {
  background: linear-gradient(180deg, #f7f9fc 0%, #f2f6fb 50%, #eef3f8 100%) !important;
  color: #0b0f19 !important;
}

body:not(.snapshot-page) .qiq-tile,
body:not(.snapshot-page) .hub-card,
body:not(.snapshot-page) .experience-card,
body:not(.snapshot-page) .dashboard-card,
body:not(.snapshot-page) .card,
body:not(.snapshot-page) .panel,
body:not(.snapshot-page) .module-card,
body:not(.snapshot-page) .focus-card,
body:not(.snapshot-page) .feature-card,
body:not(.snapshot-page) .tile {
  background: var(--global-card-dark) !important;
  border: 1px solid var(--global-card-border-dark) !important;
  border-radius: 20px !important;
  box-shadow: var(--global-shadow-dark) !important;
}

body:not(.snapshot-page) .qiq-tile::before,
body:not(.snapshot-page) .hub-card::before,
body:not(.snapshot-page) .experience-card::before,
body:not(.snapshot-page) .dashboard-card::before,
body:not(.snapshot-page) .card::before,
body:not(.snapshot-page) .panel::before,
body:not(.snapshot-page) .module-card::before,
body:not(.snapshot-page) .focus-card::before,
body:not(.snapshot-page) .feature-card::before,
body:not(.snapshot-page) .tile::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(18, 183, 200, 0.12), transparent 45%);
  opacity: 0.8;
  pointer-events: none;
}

html[data-theme="light"] body:not(.snapshot-page) .qiq-tile,
html[data-theme="light"] body:not(.snapshot-page) .hub-card,
html[data-theme="light"] body:not(.snapshot-page) .experience-card,
html[data-theme="light"] body:not(.snapshot-page) .dashboard-card,
html[data-theme="light"] body:not(.snapshot-page) .card,
html[data-theme="light"] body:not(.snapshot-page) .panel,
html[data-theme="light"] body:not(.snapshot-page) .module-card,
html[data-theme="light"] body:not(.snapshot-page) .focus-card,
html[data-theme="light"] body:not(.snapshot-page) .feature-card,
html[data-theme="light"] body:not(.snapshot-page) .tile,
body[data-theme="light"]:not(.snapshot-page) .qiq-tile,
body[data-theme="light"]:not(.snapshot-page) .hub-card,
body[data-theme="light"]:not(.snapshot-page) .experience-card,
body[data-theme="light"]:not(.snapshot-page) .dashboard-card,
body[data-theme="light"]:not(.snapshot-page) .card,
body[data-theme="light"]:not(.snapshot-page) .panel,
body[data-theme="light"]:not(.snapshot-page) .module-card,
body[data-theme="light"]:not(.snapshot-page) .focus-card,
body[data-theme="light"]:not(.snapshot-page) .feature-card,
body[data-theme="light"]:not(.snapshot-page) .tile,
body.light:not(.snapshot-page) .qiq-tile,
body.light:not(.snapshot-page) .hub-card,
body.light:not(.snapshot-page) .experience-card,
body.light:not(.snapshot-page) .dashboard-card,
body.light:not(.snapshot-page) .card,
body.light:not(.snapshot-page) .panel,
body.light:not(.snapshot-page) .module-card,
body.light:not(.snapshot-page) .focus-card,
body.light:not(.snapshot-page) .feature-card,
body.light:not(.snapshot-page) .tile,
body.theme-light:not(.snapshot-page) .qiq-tile,
body.theme-light:not(.snapshot-page) .hub-card,
body.theme-light:not(.snapshot-page) .experience-card,
body.theme-light:not(.snapshot-page) .dashboard-card,
body.theme-light:not(.snapshot-page) .card,
body.theme-light:not(.snapshot-page) .panel,
body.theme-light:not(.snapshot-page) .module-card,
body.theme-light:not(.snapshot-page) .focus-card,
body.theme-light:not(.snapshot-page) .feature-card,
body.theme-light:not(.snapshot-page) .tile {
  background: var(--global-card-light) !important;
  border-color: var(--global-card-border-light) !important;
  box-shadow: var(--global-shadow-light) !important;
}

html[data-theme="light"] body:not(.snapshot-page) .qiq-tile::before,
html[data-theme="light"] body:not(.snapshot-page) .hub-card::before,
html[data-theme="light"] body:not(.snapshot-page) .experience-card::before,
html[data-theme="light"] body:not(.snapshot-page) .dashboard-card::before,
html[data-theme="light"] body:not(.snapshot-page) .card::before,
html[data-theme="light"] body:not(.snapshot-page) .panel::before,
html[data-theme="light"] body:not(.snapshot-page) .module-card::before,
html[data-theme="light"] body:not(.snapshot-page) .focus-card::before,
html[data-theme="light"] body:not(.snapshot-page) .feature-card::before,
html[data-theme="light"] body:not(.snapshot-page) .tile::before,
body[data-theme="light"]:not(.snapshot-page) .qiq-tile::before,
body[data-theme="light"]:not(.snapshot-page) .hub-card::before,
body[data-theme="light"]:not(.snapshot-page) .experience-card::before,
body[data-theme="light"]:not(.snapshot-page) .dashboard-card::before,
body[data-theme="light"]:not(.snapshot-page) .card::before,
body[data-theme="light"]:not(.snapshot-page) .panel::before,
body[data-theme="light"]:not(.snapshot-page) .module-card::before,
body[data-theme="light"]:not(.snapshot-page) .focus-card::before,
body[data-theme="light"]:not(.snapshot-page) .feature-card::before,
body[data-theme="light"]:not(.snapshot-page) .tile::before,
body.light:not(.snapshot-page) .qiq-tile::before,
body.light:not(.snapshot-page) .hub-card::before,
body.light:not(.snapshot-page) .experience-card::before,
body.light:not(.snapshot-page) .dashboard-card::before,
body.light:not(.snapshot-page) .card::before,
body.light:not(.snapshot-page) .panel::before,
body.light:not(.snapshot-page) .module-card::before,
body.light:not(.snapshot-page) .focus-card::before,
body.light:not(.snapshot-page) .feature-card::before,
body.light:not(.snapshot-page) .tile::before,
body.theme-light:not(.snapshot-page) .qiq-tile::before,
body.theme-light:not(.snapshot-page) .hub-card::before,
body.theme-light:not(.snapshot-page) .experience-card::before,
body.theme-light:not(.snapshot-page) .dashboard-card::before,
body.theme-light:not(.snapshot-page) .card::before,
body.theme-light:not(.snapshot-page) .panel::before,
body.theme-light:not(.snapshot-page) .module-card::before,
body.theme-light:not(.snapshot-page) .focus-card::before,
body.theme-light:not(.snapshot-page) .feature-card::before,
body.theme-light:not(.snapshot-page) .tile::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.65), transparent 45%);
  opacity: 0.7;
}

.hub-card h2,
.experience-card h2,
.dashboard-card h3,
.card h2,
.panel h2 {
  font-size: clamp(22px, 1.8vw, 26px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
}

/* ================================
   Employee Action Plan Page
   ================================ */
.employee-page {
  padding-top: 28px;
  padding-bottom: 48px;
  background: linear-gradient(180deg, rgba(246, 247, 251, 0.9) 0%, rgba(243, 246, 251, 0.9) 100%);
}

html[data-theme="dark"] .employee-page,
body.dark .employee-page,
body.dark-mode .employee-page {
  background: linear-gradient(180deg, rgba(10, 13, 19, 0.98) 0%, rgba(8, 11, 17, 0.98) 100%);
}

.page--pro .employee-page {
  max-width: 1040px;
  margin: 0 auto;
  padding: 56px 24px 64px;
  background: transparent;
}

.employees-page {
  padding-bottom: 72px;
}

.employees-page-wide {
  max-width: 1280px;
  --qiq-container: 1280px;
  --qiq-max: 1280px;
}

.app-main.employees-page-wide,
.hub-main.employees-page-wide {
  max-width: 1280px;
}

.page--pro .employees-page-wide {
  max-width: 1280px;
}

.team-glance {
  padding: 22px 24px;
  margin: 8px 0 18px;
}

.team-glance-strip {
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}

.team-glance-primary {
  min-width: 240px;
}

.team-glance-primary .team-pulse-status {
  font-size: 32px;
}

.team-glance-primary .btn-secondary {
  align-self: flex-start;
}

.team-glance-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  opacity: 0.6;
}

.team-pulse-row {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
}

.team-pulse-status {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.team-pulse-trend {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 650;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(14, 165, 165, 0.25);
  background: rgba(14, 165, 165, 0.12);
}

.team-pulse-trend.trend-up {
  border-color: rgba(16, 185, 129, 0.4);
  color: #bbf7d0;
}

.team-pulse-trend.trend-down {
  border-color: rgba(245, 158, 11, 0.45);
  color: #fde68a;
}

html[data-theme="light"] .team-pulse-trend.trend-up,
body[data-theme="light"] .team-pulse-trend.trend-up {
  color: #065f46;
}

html[data-theme="light"] .team-pulse-trend.trend-down,
body[data-theme="light"] .team-pulse-trend.trend-down {
  color: #92400e;
}

.team-glance-sub {
  margin: 0;
  opacity: 0.7;
}

.team-glance-meta {
  display: flex;
  align-items: center;
  gap: 28px;
  flex: 1;
  flex-wrap: wrap;
}

.pulse-strip {
  display: grid;
  grid-template-columns: minmax(200px, 1fr) minmax(220px, 2fr) minmax(180px, 1fr);
  gap: 18px;
  align-items: center;
  padding: 20px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.pulse-strip-left {
  display: grid;
  gap: 6px;
}

.pulse-strip-eyebrow {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  opacity: 0.6;
}

.employees-page .pulse-strip-eyebrow {
  font-size: 12px;
}

.pulse-strip-title {
  margin: 0;
  font-size: 28px;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 10px;
}

.employees-page .pulse-strip-title {
  font-size: 32px;
}

.pulse-strip-sub {
  margin: 0;
  opacity: 0.7;
}

.employees-page .pulse-strip-sub {
  font-size: 15px;
}

.pulse-strip-sub--muted {
  opacity: 0.55;
}

.pulse-strip::before {
  background: linear-gradient(120deg, rgba(148, 163, 184, 0.18), transparent 60%);
  opacity: 0.7;
}

.pulse-strip.pulse-state--steady::before {
  background: linear-gradient(120deg, rgba(47, 191, 120, 0.18), transparent 60%);
}

.pulse-strip.pulse-state--slowing::before {
  background: linear-gradient(120deg, rgba(241, 178, 58, 0.2), transparent 60%);
}

.pulse-strip.pulse-state--strain::before {
  background: linear-gradient(120deg, rgba(227, 91, 91, 0.18), transparent 60%);
}

.pulse-strip.pulse-state--neutral::before {
  background: linear-gradient(120deg, rgba(148, 163, 184, 0.18), transparent 60%);
}

.pulse-collecting-indicator {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 6px 0 2px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.75);
  animation: pulseBreathe 2.8s ease-in-out infinite;
}

.pulse-live-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--pulse-state-color, var(--text-3));
  display: inline-block;
}

.pulse-live-dot.is-live {
  animation: pulseBeatSlow 2.2s ease-in-out infinite;
}

@keyframes pulseBreathe {
  0%,
  100% {
    opacity: 0.35;
    transform: scale(0.9);
  }
  50% {
    opacity: 0.85;
    transform: scale(1.1);
  }
}

.qdos-bleed,
.qdos-ticker-bleed {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  overflow: hidden;
  padding-left: 0;
  padding-right: 0;
}

.qdos-ticker {
  background: linear-gradient(90deg, rgba(15, 23, 42, 0.35), rgba(15, 23, 42, 0.2));
  border-top: 1px solid rgba(148, 163, 184, 0.18);
  border-bottom: 1px solid rgba(148, 163, 184, 0.18);
  width: 100%;
  margin: 0;
  overflow: hidden;
  position: relative;
}

.qdos-ticker-inner {
  width: 100%;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 12px 10px 0;
  font-size: 16px;
  color: var(--text-2);
  position: relative;
}

.qdos-ticker-label {
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 11px;
  color: var(--muted);
}

.qdos-ticker-text {
  flex: 1;
  color: var(--text);
  overflow: hidden;
  white-space: nowrap;
  position: relative;
}

.qdos-ticker-text span {
  display: inline-block;
  padding-left: 100%;
  animation: qdosMarquee var(--qdos-duration, 22s) linear infinite;
  will-change: transform;
}

.qdos-ticker-text.is-refresh span {
  animation: none;
}

@keyframes qdosMarquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

.qdos-ticker-action {
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.3);
  color: var(--text-2);
  text-decoration: none;
  margin-left: auto;
  flex: 0 0 auto;
  position: relative;
  z-index: 4;
  pointer-events: auto;
}

.qdos-ticker-action:hover {
  color: var(--text);
  border-color: rgba(19, 182, 198, 0.45);
}

html[data-theme="light"] .qdos-ticker,
body[data-theme="light"] .qdos-ticker {
  background: linear-gradient(90deg, rgba(15, 23, 42, 0.05), rgba(15, 23, 42, 0.02));
  border-top-color: rgba(15, 23, 42, 0.08);
  border-bottom-color: rgba(15, 23, 42, 0.08);
}

.profile-pulse-dot {
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 2px solid var(--card);
}

.profile-trigger {
  position: relative;
}

.pulse-dot--neutral {
  background: rgba(148, 163, 184, 0.7);
}

.pulse-dot--steady {
  background: rgba(34, 197, 94, 0.55);
}

.profile-pulse-status {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--card-border);
  font-size: 12px;
  color: var(--text-2);
}

.profile-pulse-status a {
  margin-left: auto;
  font-size: 12px;
  color: var(--text);
  text-decoration: none;
}

.pulse-strip-middle {
  display: grid;
  gap: 12px;
}

.pulse-strip-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pulse-chip {
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  font-size: 12px;
}

.employees-page .pulse-chip {
  font-size: 13px;
}

.pulse-chip.pulse-state--steady,
.pulse-chip.pulse-state--slowing,
.pulse-chip.pulse-state--strain,
.pulse-chip.pulse-state--neutral {
  border: 1px solid var(--pulse-state-color, rgba(255, 255, 255, 0.16));
  color: var(--pulse-state-color, var(--text-2));
}

.pulse-strip-mini {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pulse-mini-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  font-size: 12px;
}

.pulse-mini-arrow {
  color: var(--text-2);
  font-size: 12px;
}

.pulse-strip-right {
  display: grid;
  justify-items: start;
  gap: 8px;
}

.pulse-strip-note {
  font-size: 12px;
  color: var(--text-2);
}

.pulse-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(8, 15, 24, 0.55);
  z-index: 120;
}

.pulse-drawer {
  position: fixed;
  top: 0;
  right: -520px;
  width: min(520px, 92vw);
  height: 100vh;
  background: var(--bg-2);
  background-color: var(--bg-2);
  opacity: 1;
  isolation: isolate;
  border-left: 1px solid var(--card-border);
  box-shadow: -20px 0 60px rgba(0, 0, 0, 0.25);
  z-index: 130;
  padding: 20px;
  display: grid;
  grid-template-rows: auto 1fr;
  transition: right 0.2s ease;
}

.pulse-drawer.is-open {
  right: 0;
}

.pulse-drawer-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.pulse-drawer-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.raise-hand-trigger {
  font-size: 13px;
  padding: 8px 12px;
}

.pulse-anon-pill {
  display: inline-flex;
  margin-top: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  font-size: 12px;
  color: var(--text-2);
}

.pulse-drawer-body {
  display: grid;
  gap: 18px;
  overflow-y: auto;
  padding-right: 4px;
}

.pulse-hero {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  margin-top: 6px;
}

.pulse-hero-eyebrow {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  opacity: 0.7;
}

.pulse-hero-visual {
  display: flex;
  align-items: center;
  gap: 12px;
}

.profile-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(8, 15, 24, 0.48);
  z-index: 1200;
}

.profile-drawer {
  position: fixed;
  top: 0;
  right: -560px;
  width: min(560px, 94vw);
  height: 100vh;
  background: var(--bg-2);
  border-left: 1px solid var(--card-border);
  box-shadow: -20px 0 60px rgba(0, 0, 0, 0.22);
  z-index: 1210;
  transition: right 0.22s ease;
  overflow: hidden;
  isolation: isolate;
}

.profile-drawer.is-open {
  right: 0;
}

.profile-drawer-shell {
  height: 100%;
  position: relative;
  z-index: 1;
  background: var(--bg-2);
}

.profile-drawer-content {
  height: 100%;
  display: grid;
  grid-template-rows: auto 1fr;
  background: var(--bg-2);
}

.profile-drawer-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 24px 24px 12px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.profile-drawer-eyebrow {
  margin: 0 0 6px;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-2);
}

.profile-drawer-head h2 {
  margin: 0;
  font-size: 30px;
  line-height: 1.02;
}

.profile-drawer-subtitle {
  margin: 8px 0 0;
  color: var(--text-2);
}

.profile-drawer-close {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid var(--card-border);
  background: transparent;
  color: var(--text);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.profile-drawer-body {
  overflow-y: auto;
  padding: 18px 24px 24px;
  display: grid;
  gap: 16px;
}

.profile-drawer-section {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.72);
  padding: 18px;
  display: grid;
  gap: 14px;
}

.profile-drawer-section--identity {
  gap: 18px;
}

.profile-drawer-identity {
  display: flex;
  align-items: center;
  gap: 14px;
}

.profile-drawer-avatar {
  width: 72px;
  height: 72px;
  border-radius: 22px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(66, 190, 212, 0.15), rgba(33, 146, 169, 0.08));
  border: 1px solid rgba(15, 23, 42, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  font-weight: 700;
}

.profile-drawer-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.profile-drawer-identity-copy h3 {
  margin: 0;
  font-size: 24px;
}

.profile-drawer-identity-copy p {
  margin: 6px 0 4px;
  color: var(--text-2);
}

.profile-drawer-store {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(66, 190, 212, 0.1);
  color: var(--text);
  font-size: 13px;
}

.profile-drawer-form {
  display: grid;
  gap: 12px;
}

.profile-drawer-form--identity {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: end;
}

.profile-drawer-form .field {
  display: grid;
  gap: 6px;
}

.profile-drawer-form .field-label,
.profile-drawer-label {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-2);
  font-weight: 700;
}

.profile-drawer-form input,
.profile-drawer-form select {
  width: 100%;
}

.profile-drawer-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  grid-column: 1 / -1;
}

.profile-drawer-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.profile-drawer-section-head h3 {
  margin: 0;
  font-size: 20px;
}

.profile-drawer-link-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.profile-drawer-link-row a,
.profile-drawer-section-head a,
.profile-drawer-footer a {
  color: #1f6f85;
  text-decoration: none;
  font-weight: 650;
}

.badge-row--profile-drawer {
  gap: 10px;
}

.profile-drawer-copy {
  margin: 0;
  color: var(--text);
}

.profile-disc-bars {
  display: grid;
  gap: 10px;
}

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

.profile-disc-bar-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
}

.profile-disc-bar-track {
  height: 10px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.08);
  overflow: hidden;
}

.profile-disc-bar-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
}

.profile-disc-bar-fill--d { background: #f97316; }
.profile-disc-bar-fill--i { background: #f5c14a; }
.profile-disc-bar-fill--s { background: #57c46b; }
.profile-disc-bar-fill--c { background: #57b8dc; }

.profile-drawer-two-col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.profile-drawer-stack {
  display: grid;
  gap: 8px;
}

.profile-drawer-note {
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(15, 23, 42, 0.04);
  color: var(--text);
}

.profile-drawer-footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 6px;
}

.profile-drawer-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--text-2);
}

.profile-drawer-skeleton {
  border-radius: 14px;
  background: linear-gradient(90deg, rgba(15, 23, 42, 0.06), rgba(15, 23, 42, 0.12), rgba(15, 23, 42, 0.06));
  background-size: 200% 100%;
  animation: profileDrawerShimmer 1.3s linear infinite;
}

.profile-drawer-skeleton--title { height: 28px; width: 42%; }
.profile-drawer-skeleton--line { height: 14px; width: 100%; }
.profile-drawer-skeleton--grid { height: 120px; width: 100%; }

@keyframes profileDrawerShimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

.momentum-ring {
  width: 86px;
  height: 86px;
  border-radius: 50%;
  background: conic-gradient(var(--pulse-state-color, var(--text-3)) calc(var(--momentum) * 1%), rgba(255, 255, 255, 0.08) 0);
  display: grid;
  place-items: center;
  transition: transform 0.2s ease;
}

.momentum-ring.beat-once {
  animation: beatOnce 0.4s ease-in-out;
}

.momentum-ring-inner {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--surface);
  display: grid;
  place-items: center;
  font-weight: 700;
}

.momentum-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  font-size: 12px;
}

.pulse-attention {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.pulse-attention-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  opacity: 0.65;
}

.pulse-attention-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  font-size: 12px;
  margin-right: 6px;
}

.pulse-attention-empty {
  font-size: 13px;
  color: var(--text-2);
}

.pulse-insight {
  margin: 0;
  font-size: 14px;
  color: var(--text-2);
}

.pulse-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.pulse-actions .btn-primary {
  width: fit-content;
  min-height: 34px;
  padding: 8px 14px;
  font-size: 13px;
  border-radius: 12px;
}


.pulse-detail-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
}

.pulse-signal-card {
  border: 1px solid var(--card-border);
  background: rgba(255, 255, 255, 0.04);
  border-radius: 14px;
  padding: 12px;
  text-align: left;
  cursor: pointer;
}

.pulse-signal-card:focus-visible {
  outline: 2px solid var(--pulse-state-color, var(--accent));
  outline-offset: 2px;
}

.pulse-signal-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 600;
}

.pulse-signal-sub {
  display: block;
  color: var(--text-2);
  font-size: 12px;
  margin-top: 4px;
}

.pulse-signal-status {
  display: inline-flex;
  margin-top: 8px;
  font-size: 12px;
  color: var(--text-2);
}

.pulse-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
}

.pulse-detail-tab {
  border: 1px solid var(--card-border);
  background: transparent;
  color: inherit;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  cursor: pointer;
}

.pulse-detail-tab.is-active {
  border-color: var(--text-2);
  background: rgba(255, 255, 255, 0.08);
}

.pulse-detail-grid ul {
  margin: 0;
  padding-left: 0;
}

.pulse-detail-grid li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
  list-style: none;
  align-items: center;
}

.pulse-detail-list {
  display: grid;
  gap: 10px;
}

.pulse-detail-list > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.pulse-detail-sections {
  display: grid;
  gap: 16px;
}

.pulse-detail-section h4 {
  margin-bottom: 8px;
}

.pulse-row-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--text-2);
}

.pulse-status-text {
  font-size: 12px;
  color: var(--text-2);
}

.pulse-empty {
  padding: 12px;
  border-radius: 12px;
  border: 1px dashed var(--card-border);
  background: rgba(255, 255, 255, 0.04);
}

@keyframes pulseBeat {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.25); }
}

@keyframes pulseBeatSlow {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.18); }
}

@keyframes beatOnce {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}

@media (prefers-reduced-motion: reduce) {
  .pulse-live-dot.is-live {
    animation: none;
  }
  .momentum-ring.beat-once {
    animation: none;
  }
  .pulse-dot.is-alert {
    animation: none;
  }
}

@media (max-width: 900px) {
  .pulse-strip {
    grid-template-columns: 1fr;
  }
  .pulse-drawer {
    width: 100vw;
    right: -100vw;
  }
}

.glance-item {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.pulse-snapshot {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.pulse-snapshot-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  font-size: 12px;
}

.pulse-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
  background: var(--pulse-state-color, var(--text-3));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--pulse-state-color, var(--text-3)) 18%, transparent);
  animation: var(--pulse-dot-animation, none);
}

.pulse-dot.is-alert {
  animation: pulseDotAlert 1.4s ease-in-out infinite;
}

.pulse-dot--mini {
  width: 6px;
  height: 6px;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--pulse-state-color, var(--text-3)) 18%, transparent);
}

.pulse-state--steady {
  --pulse-state-color: var(--pulse-green);
  --pulse-dot-animation: pulseDotSlow 3s ease-in-out infinite;
}

.pulse-state--stable {
  --pulse-state-color: var(--pulse-green);
  --pulse-dot-animation: pulseDotSlow 3s ease-in-out infinite;
}

.pulse-state--improving {
  --pulse-state-color: var(--pulse-green);
  --pulse-dot-animation: pulseDotSteady 1.9s ease-in-out infinite;
}

.pulse-state--building {
  --pulse-state-color: var(--pulse-amber);
  --pulse-dot-animation: pulseDotBreathe 2.4s ease-in-out infinite;
}

.pulse-state--flat {
  --pulse-state-color: var(--text-3);
  --pulse-dot-animation: none;
  opacity: 0.7;
}

.pulse-state--slowing {
  --pulse-state-color: var(--pulse-red);
  --pulse-dot-animation: pulseDotHeavy 2.6s ease-in-out infinite;
}

.pulse-state--strain {
  --pulse-state-color: var(--pulse-red);
  --pulse-dot-animation: pulseDotHeavy 2.2s ease-in-out infinite;
}

.pulse-state--neutral {
  --pulse-state-color: var(--text-3);
  --pulse-dot-animation: none;
}

@keyframes pulseDotSteady {
  0% { box-shadow: 0 0 0 2px color-mix(in srgb, var(--pulse-state-color, var(--text-3)) 12%, transparent); }
  50% { box-shadow: 0 0 0 6px color-mix(in srgb, var(--pulse-state-color, var(--text-3)) 18%, transparent); }
  100% { box-shadow: 0 0 0 2px color-mix(in srgb, var(--pulse-state-color, var(--text-3)) 12%, transparent); }
}

@keyframes pulseDotBreathe {
  0% { box-shadow: 0 0 0 2px color-mix(in srgb, var(--pulse-state-color, var(--text-3)) 8%, transparent); }
  45% { box-shadow: 0 0 0 8px color-mix(in srgb, var(--pulse-state-color, var(--text-3)) 22%, transparent); }
  100% { box-shadow: 0 0 0 2px color-mix(in srgb, var(--pulse-state-color, var(--text-3)) 8%, transparent); }
}

@keyframes pulseDotAlert {
  0% { box-shadow: 0 0 0 2px color-mix(in srgb, var(--pulse-state-color, var(--text-3)) 18%, transparent); }
  50% { box-shadow: 0 0 0 10px color-mix(in srgb, var(--pulse-state-color, var(--text-3)) 28%, transparent); }
  100% { box-shadow: 0 0 0 2px color-mix(in srgb, var(--pulse-state-color, var(--text-3)) 18%, transparent); }
}

@keyframes pulseDotHeavy {
  0% { box-shadow: 0 0 0 3px color-mix(in srgb, var(--pulse-state-color, var(--text-3)) 20%, transparent); }
  60% { box-shadow: 0 0 0 9px color-mix(in srgb, var(--pulse-state-color, var(--text-3)) 30%, transparent); }
  100% { box-shadow: 0 0 0 3px color-mix(in srgb, var(--pulse-state-color, var(--text-3)) 20%, transparent); }
}

@keyframes pulseDotSlow {
  0% { box-shadow: 0 0 0 2px color-mix(in srgb, var(--pulse-state-color, var(--text-3)) 10%, transparent); }
  50% { box-shadow: 0 0 0 7px color-mix(in srgb, var(--pulse-state-color, var(--text-3)) 16%, transparent); }
  100% { box-shadow: 0 0 0 2px color-mix(in srgb, var(--pulse-state-color, var(--text-3)) 10%, transparent); }
}

.pulse-snapshot-arrow {
  color: var(--text-2);
  font-size: 12px;
}

.glance-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  opacity: 0.6;
}

.glance-inline {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.glance-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(14, 165, 165, 0.18);
  background: rgba(14, 165, 165, 0.08);
  text-decoration: none;
  color: inherit;
  font-weight: 600;
  font-size: 12px;
}

.glance-chip strong {
  font-weight: 700;
}

.glance-muted {
  opacity: 0.7;
}

.employees-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-bottom: 12px;
}

.employees-toolbar-text {
  max-width: 640px;
}

.employees-toolbar-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.pill-btn {
  border-radius: 999px;
  padding: 10px 16px;
  border: 1px solid rgba(14, 165, 165, 0.35);
  background: rgba(14, 165, 165, 0.12);
  color: inherit;
  font-weight: 650;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pill-btn--ghost {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(14, 165, 165, 0.2);
}

.pill-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.12);
}

.pill-btn.is-active {
  border-color: rgba(19, 182, 198, 0.45);
  background: rgba(19, 182, 198, 0.2);
}

.employees-controls {
  padding: 16px;
  margin-bottom: 14px;
  display: none;
}

.employees-controls.is-open {
  display: block;
}

.page--pro .employees-controls,
.page--pro .team-glance,
.page--pro .employee-card,
.page--pro .employees-logic {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(230, 245, 246, 0.9) 100%);
  border: 1px solid rgba(10, 18, 30, 0.1);
  box-shadow: var(--pro-shadow-soft), inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

html[data-theme="dark"] .page--pro .employees-controls,
body.dark .page--pro .employees-controls,
body.dark-mode .page--pro .employees-controls,
html[data-theme="dark"] .page--pro .team-glance,
body.dark .page--pro .team-glance,
body.dark-mode .page--pro .team-glance,
html[data-theme="dark"] .page--pro .employee-card,
body.dark .page--pro .employee-card,
body.dark-mode .page--pro .employee-card,
html[data-theme="dark"] .page--pro .employees-logic,
body.dark .page--pro .employees-logic,
body.dark-mode .page--pro .employees-logic {
  background: linear-gradient(180deg, rgba(24, 32, 44, 0.92) 0%, rgba(12, 16, 24, 0.92) 100%);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: var(--pro-shadow);
}

.employees-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  align-items: end;
}

.employees-filters .filter-field--wide {
  grid-column: span 2;
}

.employees-filters .filter-field {
  display: grid;
  gap: 6px;
}

.employees-filters label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.6;
}

.employees-filters > .pill-btn {
  justify-self: end;
  margin-top: 18px;
}

.employees-controls input,
.employees-controls select,
.employees-add input,
.employees-add select {
  width: 100%;
  padding: 10px 12px;
  border-radius: 12px;
  min-height: 44px;
  font-size: 15px;
}

.employees-add input[type="checkbox"] {
  width: 14px;
  height: 14px;
  min-height: 14px;
  padding: 0;
  border-radius: 4px;
  box-shadow: none;
  accent-color: var(--accent);
}

.employees-controls .pill-btn {
  height: 44px;
  align-self: end;
}

.employees-add {
  padding: 18px;
  margin-bottom: 14px;
  display: none;
}

.employees-add.is-open {
  display: block;
}

.employees-add-form {
  display: grid;
  gap: 8px;
}

.employees-add-form .form-row {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.add-member-card {
  display: grid;
  gap: 14px;
}

.add-member-section {
  display: grid;
  gap: 8px;
}

.add-member-section h3 {
  margin: 0;
}

.add-member-details {
  border: 1px solid var(--card-border);
  border-radius: 14px;
  padding: 12px 14px;
  background: var(--surface);
}

.add-member-details summary {
  cursor: pointer;
  font-weight: 600;
  list-style: none;
}

.add-member-details summary::-webkit-details-marker {
  display: none;
}

.form-row.two-col {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.field {
  display: grid;
  gap: 6px;
}

.field-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.7;
}

.field-required {
  color: var(--accent);
}

.field-helper {
  font-size: 12px;
  color: var(--text-2);
}

.field-error {
  font-size: 12px;
  color: var(--danger);
  display: none;
}

.field-has-error .field-error-text {
  display: block;
  color: var(--danger);
  font-size: 12px;
}

.field.field-has-error input,
.field.field-has-error select,
.field.field-has-error textarea {
  border-color: rgba(239, 68, 68, 0.6);
}

.company-accordion {
  border: 1px solid var(--card-border);
  border-radius: 14px;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.02);
}

.company-accordion + .company-accordion {
  margin-top: 12px;
}

.company-accordion summary {
  cursor: pointer;
  font-weight: 600;
}

.company-accordion-body {
  margin-top: 12px;
  display: grid;
  gap: 10px;
}

.company-modal .company-tabs {
  display: inline-flex;
  gap: 8px;
  margin-bottom: 16px;
}

.field-inline {
  display: flex;
  align-items: center;
  gap: 8px;
}

.add-member-toggles {
  display: grid;
  gap: 6px;
}

.add-member-toggles .field-inline {
  font-size: 14px;
  line-height: 1.2;
}

@media (min-width: 720px) {
  .add-member-toggles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
}

.employees-add .panel-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.employees-add .panel-head p {
  margin: 0;
}

.employees-add .filter-field label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.6;
}

.employees-add-form .form-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.employees-add .btn-primary {
  padding: 10px 18px;
  box-shadow: none;
}

.employees-list-wrapper {
  display: grid;
  gap: 16px;
}

.employees-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.employees-list--grouped {
  display: flex;
  flex-direction: column;
}

.department-group {
  padding: 16px;
}

.department-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  list-style: none;
  font-weight: 700;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.department-summary::-webkit-details-marker {
  display: none;
}

.department-name {
  font-size: 16px;
}

.department-count {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  opacity: 0.7;
}

.department-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 14px;
}

.team-overview {
  margin: 12px 0 18px;
}

.team-overview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.team-overview-head h2 {
  font-size: 26px;
}

.team-overview-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.team-stat {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(148, 163, 184, 0.1);
}

.team-stat-link {
  color: inherit;
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.team-stat-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
  border-color: rgba(148, 163, 184, 0.3);
}

.team-stat-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--muted);
}

.team-overview .team-stat-label {
  font-size: 12px;
}

.team-stat-value {
  font-weight: 600;
}

.team-overview .team-stat-value {
  font-size: 20px;
}

.team-queues {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.team-queue-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.team-queue-list li {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.employee-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 20px 24px;
  min-height: 92px;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.employee-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.1);
}

.employee-card.is-hidden {
  display: none;
}

.employee-avatar {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(14, 165, 165, 0.18), rgba(34, 200, 200, 0.24));
  border: 1px solid rgba(14, 165, 165, 0.35);
  overflow: hidden;
}

.employee-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.avatar-initials {
  font-weight: 700;
  letter-spacing: 0.02em;
}

.employee-card-body {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  flex: 1;
  min-width: 0;
}

.employee-card-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  flex: 1;
}

.employee-identity {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

.employee-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.employee-signal-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.signal-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
  border: 1px solid rgba(148, 163, 184, 0.35);
  background: rgba(148, 163, 184, 0.18);
  color: rgba(226, 232, 240, 0.9);
}

.signal-pill--moving {
  border-color: rgba(34, 197, 94, 0.4);
  background: rgba(34, 197, 94, 0.18);
  color: #bbf7d0;
}

.signal-pill--needs-attention {
  border-color: rgba(245, 158, 11, 0.4);
  background: rgba(245, 158, 11, 0.18);
  color: #fde68a;
}

.signal-pill--stalled {
  border-color: rgba(239, 68, 68, 0.35);
  background: rgba(239, 68, 68, 0.18);
  color: #fecaca;
}

html[data-theme="light"] .signal-pill,
body[data-theme="light"] .signal-pill {
  color: #475569;
  background: rgba(148, 163, 184, 0.14);
  border-color: rgba(148, 163, 184, 0.3);
}

html[data-theme="light"] .signal-pill--moving,
body[data-theme="light"] .signal-pill--moving {
  background: rgba(34, 197, 94, 0.14);
  border-color: rgba(34, 197, 94, 0.35);
  color: #166534;
}

html[data-theme="light"] .signal-pill--needs-attention,
body[data-theme="light"] .signal-pill--needs-attention {
  background: rgba(245, 158, 11, 0.14);
  border-color: rgba(245, 158, 11, 0.35);
  color: #92400e;
}

html[data-theme="light"] .signal-pill--stalled,
body[data-theme="light"] .signal-pill--stalled {
  background: rgba(239, 68, 68, 0.12);
  border-color: rgba(239, 68, 68, 0.3);
  color: #991b1b;
}

.employee-risk-flag {
  font-size: 14px;
  color: rgba(239, 68, 68, 0.7);
}

html[data-theme="light"] .employee-risk-flag,
body[data-theme="light"] .employee-risk-flag {
  color: rgba(185, 28, 28, 0.8);
}
.employee-name-link {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  color: inherit;
  text-decoration: none;
}

.employee-inline-meta {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  font-size: 13px;
}

.employee-action-preview,
.action-preview {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background: rgba(15, 23, 42, 0.08);
}

.action-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.action-preview-title {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--muted);
}

.action-preview-more {
  border: none;
  background: transparent;
  color: var(--text-2);
  font-size: 12px;
  cursor: pointer;
  padding: 2px 0;
}

.action-preview-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 13px;
}

.action-preview-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.action-preview-item {
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1.3;
}

.action-preview-item.is-hidden {
  display: none;
}

.action-preview-item input {
  accent-color: var(--accent);
}

.action-preview-text {
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}

.action-preview-text .muted {
  font-size: 12px;
}

.action-preview-meta {
  color: #64748b;
  font-weight: 600;
}

.action-preview-item-title {
  font-weight: 700;
}

.action-preview-expand {
  align-self: flex-start;
  border: 0;
  background: transparent;
  color: var(--text-2);
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  padding: 2px 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.action-preview-detail {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
  max-width: 72ch;
}

.action-preview-item.is-completed .action-preview-text {
  opacity: 0.7;
  text-decoration: line-through;
}

.action-preview-disclosure {
  border-top: 1px solid rgba(148, 163, 184, 0.2);
  padding-top: 8px;
}

.action-preview-disclosure summary {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--text-2);
}

.action-preview-disclosure summary strong {
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.action-preview-disclosure .action-preview-group {
  margin-top: 8px;
}

.action-preview-context-group {
  display: grid;
  gap: 8px;
}

.action-preview-context-group + .action-preview-context-group {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed rgba(148, 163, 184, 0.35);
}

.action-preview-context-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.action-preview-context-head strong {
  font-size: 14px;
  color: #0f172a;
}

.action-preview-context-head span {
  font-size: 12px;
  color: #64748b;
  font-weight: 700;
}

.employee-inline-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.employee-inline-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  opacity: 0.6;
}

.employee-inline-value {
  font-weight: 600;
}

.employee-open-link {
  color: inherit;
  text-decoration: none;
  font-weight: 650;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(14, 165, 165, 0.35);
  background: rgba(14, 165, 165, 0.12);
}

.employee-card-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

.employee-status-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.employee-card.is-inactive {
  opacity: 0.6;
}

.employee-plan-link {
  color: inherit;
  text-decoration: none;
  font-weight: 600;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(14, 165, 165, 0.2);
  background: rgba(14, 165, 165, 0.06);
}

.status-pill {
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border: 1px solid transparent;
  font-weight: 700;
}

.status-pill--active {
  background: rgba(34, 197, 94, 0.18);
  color: #bbf7d0;
  border-color: rgba(34, 197, 94, 0.35);
}

.status-pill--inactive {
  background: rgba(148, 163, 184, 0.18);
  color: rgba(226, 232, 240, 0.9);
  border-color: rgba(148, 163, 184, 0.35);
}

html[data-theme="light"] .status-pill--active,
body[data-theme="light"] .status-pill--active {
  background: rgba(22, 163, 74, 0.12);
  color: #166534;
  border-color: rgba(22, 163, 74, 0.3);
}

html[data-theme="light"] .status-pill--inactive,
body[data-theme="light"] .status-pill--inactive {
  background: rgba(148, 163, 184, 0.16);
  color: #475569;
  border-color: rgba(148, 163, 184, 0.3);
}

.status-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.75;
}

.status-toggle input {
  appearance: none;
  width: 36px;
  height: 20px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.25);
  border: 1px solid rgba(148, 163, 184, 0.4);
  position: relative;
  transition: background 0.2s ease, border-color 0.2s ease;
  cursor: pointer;
}

.status-toggle input::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: #ffffff;
  transition: transform 0.2s ease;
}

.status-toggle input:checked {
  background: rgba(34, 197, 94, 0.35);
  border-color: rgba(34, 197, 94, 0.55);
}

.status-toggle input:checked::after {
  transform: translateX(16px);
}

.status-toggle span {
  font-weight: 600;
}

.status-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.35);
  z-index: 999;
}

.status-modal {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  z-index: 1000;
}

.status-modal[hidden],
.status-modal-backdrop[hidden] {
  display: none !important;
}

.status-modal-card {
  width: min(420px, 90vw);
  background: rgba(15, 23, 42, 0.95);
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.35);
  border: 1px solid rgba(148, 163, 184, 0.2);
}

.status-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.status-modal-close {
  border: none;
  background: transparent;
  color: inherit;
  font-size: 20px;
  cursor: pointer;
}

.status-modal-body {
  margin: 12px 0 16px;
  color: rgba(226, 232, 240, 0.8);
}

.status-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 16px;
}

.modal-open {
  overflow: hidden;
}

html[data-theme="light"] .status-modal-card,
body[data-theme="light"] .status-modal-card {
  background: #ffffff;
  color: #0f172a;
  border-color: rgba(148, 163, 184, 0.25);
}

html[data-theme="light"] .status-modal-body,
body[data-theme="light"] .status-modal-body {
  color: rgba(15, 23, 42, 0.7);
}

.raise-hand-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.35);
  z-index: 999;
}

.raise-hand-modal {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  z-index: 1000;
}

.raise-hand-modal[hidden],
.raise-hand-backdrop[hidden] {
  display: none !important;
}

.raise-hand-card {
  width: min(520px, 92vw);
  background: rgba(15, 23, 42, 0.95);
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.35);
  border: 1px solid rgba(148, 163, 184, 0.2);
  display: grid;
  gap: 12px;
}

.raise-hand-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.raise-hand-close {
  border: none;
  background: transparent;
  color: inherit;
  font-size: 20px;
  cursor: pointer;
}

.raise-hand-form {
  display: grid;
  gap: 12px;
}

.raise-hand-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 4px;
}

.raise-hand-toast {
  margin-top: 6px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(34, 197, 94, 0.18);
  color: #bbf7d0;
  font-weight: 600;
}

.raise-hand-error {
  margin-top: 6px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(239, 68, 68, 0.16);
  color: #fecaca;
  font-weight: 600;
}

.raise-hand-compass {
  padding: 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px dashed rgba(148, 163, 184, 0.35);
}

.raise-hand-compass-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.compass-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.35);
  z-index: 999;
}

.compass-modal {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  z-index: 1000;
}

.compass-modal[hidden],
.compass-backdrop[hidden] {
  display: none !important;
}

.compass-card {
  width: min(880px, 94vw);
  max-height: 90vh;
  overflow-y: auto;
  background: rgba(15, 23, 42, 0.96);
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.35);
  border: 1px solid rgba(148, 163, 184, 0.2);
  display: grid;
  gap: 14px;
}

.compass-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.compass-privacy {
  display: inline-flex;
  margin-top: 4px;
  font-size: 12px;
  color: var(--text-2);
}

.compass-close {
  border: none;
  background: transparent;
  color: inherit;
  font-size: 20px;
  cursor: pointer;
}

.compass-steps h4 {
  margin: 0 0 8px;
}

.compass-columns {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.compass-column {
  display: grid;
  gap: 10px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(148, 163, 184, 0.2);
}

.compass-column--fixed {
  background: rgba(255, 255, 255, 0.02);
  border-style: dashed;
}

.compass-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.compass-option {
  border: 1px solid rgba(148, 163, 184, 0.35);
  background: transparent;
  color: inherit;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 13px;
  cursor: pointer;
}

.compass-option.is-selected {
  background: rgba(14, 165, 165, 0.25);
  border-color: rgba(14, 165, 165, 0.6);
}

.compass-custom {
  display: flex;
  gap: 8px;
  align-items: center;
}

.compass-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

.compass-final {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.compass-toast {
  margin-top: 6px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(34, 197, 94, 0.18);
  color: #bbf7d0;
  font-weight: 600;
}

.compass-error {
  margin-top: 6px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(239, 68, 68, 0.16);
  color: #fecaca;
  font-weight: 600;
}

.compass-share-target {
  font-size: 12px;
  color: var(--text-2);
}

html[data-theme="light"] .compass-card,
body[data-theme="light"] .compass-card {
  background: #ffffff;
  color: #0f172a;
  border-color: rgba(148, 163, 184, 0.25);
}

html[data-theme="light"] .compass-option.is-selected,
body[data-theme="light"] .compass-option.is-selected {
  background: rgba(14, 165, 165, 0.16);
}

html[data-theme="light"] .compass-toast,
body[data-theme="light"] .compass-toast {
  background: rgba(22, 163, 74, 0.12);
  color: #166534;
}

html[data-theme="light"] .compass-error,
body[data-theme="light"] .compass-error {
  background: rgba(239, 68, 68, 0.12);
  color: #991b1b;
}

html[data-theme="light"] .raise-hand-card,
body[data-theme="light"] .raise-hand-card {
  background: #ffffff;
  color: #0f172a;
  border-color: rgba(148, 163, 184, 0.25);
}

html[data-theme="light"] .raise-hand-toast,
body[data-theme="light"] .raise-hand-toast {
  background: rgba(22, 163, 74, 0.12);
  color: #166534;
}

html[data-theme="light"] .raise-hand-error,
body[data-theme="light"] .raise-hand-error {
  background: rgba(239, 68, 68, 0.12);
  color: #991b1b;
}


.status-pill.status-overloaded {
  background: rgba(239, 68, 68, 0.18);
  color: #fecaca;
  border-color: rgba(239, 68, 68, 0.35);
}

.status-pill.status-guarded {
  background: rgba(245, 158, 11, 0.18);
  color: #fde68a;
  border-color: rgba(245, 158, 11, 0.4);
}

.status-pill.status-steady {
  background: rgba(16, 185, 129, 0.18);
  color: #bbf7d0;
  border-color: rgba(16, 185, 129, 0.35);
}

.status-pill.status-disconnected {
  background: rgba(148, 163, 184, 0.18);
  color: rgba(226, 232, 240, 0.9);
  border-color: rgba(148, 163, 184, 0.35);
}

html[data-theme="light"] .status-pill.status-overloaded,
body[data-theme="light"] .status-pill.status-overloaded {
  color: #7f1d1d;
  background: rgba(239, 68, 68, 0.12);
}

html[data-theme="light"] .status-pill.status-guarded,
body[data-theme="light"] .status-pill.status-guarded {
  color: #92400e;
  background: rgba(245, 158, 11, 0.12);
}

html[data-theme="light"] .status-pill.status-steady,
body[data-theme="light"] .status-pill.status-steady {
  color: #065f46;
  background: rgba(16, 185, 129, 0.12);
}

html[data-theme="light"] .status-pill.status-disconnected,
body[data-theme="light"] .status-pill.status-disconnected {
  color: #475569;
  background: rgba(148, 163, 184, 0.12);
}

.employees-logic {
  padding: 18px;
  margin-top: 16px;
}

.employees-logic summary {
  cursor: pointer;
  list-style: none;
  font-weight: 650;
}

.employees-logic summary::-webkit-details-marker {
  display: none;
}

.employees-logic summary::after {
  content: "+";
  float: right;
  opacity: 0.6;
}

.employees-logic[open] summary::after {
  content: "-";
}

.employees-logic-body {
  margin-top: 12px;
}

@media (max-width: 900px) {
  .team-glance-strip {
    flex-direction: column;
    align-items: flex-start;
  }

  .team-glance-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .employees-toolbar {
    flex-direction: column;
    align-items: flex-start;
  }

  .employees-toolbar-actions {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .employee-card {
    flex-direction: column;
    align-items: flex-start;
  }

  .employee-card-body {
    flex-direction: column;
    align-items: flex-start;
  }

  .employee-inline-meta {
    gap: 12px;
  }

  .employee-card-actions {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .team-queues {
    grid-template-columns: 1fr;
  }
}

/* ================================
   Team Action Plan Page
   ================================ */
.plan-page {
  padding-top: 12px;
  padding-bottom: 56px;
}

.plan-header {
  margin: 6px 0 14px;
}

.plan-title {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 4px;
}

.plan-summary {
  padding: 18px;
  margin-bottom: 14px;
}

.plan-summary-top {
  display: grid;
  gap: 14px;
}

.plan-progress {
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: rgba(14, 165, 165, 0.15);
  overflow: hidden;
}

.plan-progress span {
  display: block;
  height: 100%;
  background: rgba(14, 165, 165, 0.8);
}

.plan-items {
  padding: 14px 18px;
}

.launch-plan-card {
  padding: 18px;
  margin-top: 16px;
  display: grid;
  gap: 16px;
}

.launch-plan-card-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
}

.launch-plan-card-head .launch-plan-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.launch-plan-phase-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

.launch-plan-phase {
  border: 1px solid var(--card-border);
  border-radius: 16px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.03);
}

.launch-plan-phase-head h3 {
  margin-bottom: 6px;
}

.launch-plan-items {
  list-style: none;
  padding: 0;
  margin: 12px 0 0;
  display: grid;
  gap: 12px;
}

.launch-plan-item {
  border: 1px solid var(--card-border);
  border-radius: 12px;
  padding: 10px;
  background: rgba(255, 255, 255, 0.02);
}

.launch-plan-item form {
  display: grid;
  gap: 8px;
}

.launch-plan-item-main {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.launch-plan-item-title {
  font-size: 13px;
  color: var(--text);
}

.launch-plan-item.launch-plan-tile {
  display: grid;
  gap: 8px;
}

.launch-plan-tile-toggle {
  border: 0;
  background: transparent;
  padding: 0;
  display: grid;
  gap: 6px;
  text-align: left;
  width: 100%;
  color: inherit;
  cursor: pointer;
}

.launch-plan-tile-detail {
  display: grid;
  gap: 10px;
}

.launch-plan-item select,
.launch-plan-item textarea {
  border: 1px solid var(--card-border);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.03);
  color: var(--text);
  font-size: 12px;
}

.launch-plan-item select {
  min-width: 140px;
}

.launch-plan-item textarea {
  padding: 6px 8px;
}

.clarity-card {
  margin-top: 16px;
  display: grid;
  gap: 12px;
}

.clarity-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.clarity-badge {
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
}

.clarity-badge--low-surprise-risk {
  background: rgba(105, 184, 126, 0.2);
  color: #1d6e38;
}

.clarity-badge--medium-surprise-risk {
  background: rgba(255, 196, 102, 0.2);
  color: #8a5a00;
}

.clarity-badge--high-surprise-risk {
  background: rgba(229, 115, 115, 0.2);
  color: #8c1e1e;
}

.clarity-checklist {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.clarity-checklist li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.clarity-check-label {
  font-size: 14px;
}

.clarity-check-value {
  font-weight: 600;
}

.clarity-check-meta {
  flex-basis: 100%;
  font-size: 12px;
  color: var(--text-2);
}

.clarity-warning {
  margin: 0;
  font-size: 13px;
  color: #b82828;
}

.clarity-meta {
  margin: 0;
  font-size: 12px;
  color: var(--text-2);
}

.clarity-feedback {
  margin: 0;
  font-size: 13px;
  color: var(--text-2);
}

.clarity-form {
  display: grid;
  gap: 12px;
}

.clarity-input-grid {
  display: grid;
  gap: 6px;
}

.clarity-checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--text);
}

.clarity-checkbox input {
  width: 16px;
  height: 16px;
}

.clarity-note {
  margin: 0;
}

.clarity-form textarea {
  min-height: 80px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 10px;
  background: rgba(255, 255, 255, 0.06);
  color: inherit;
}

.toleration-card {
  margin-top: 16px;
  display: grid;
  gap: 16px;
}

.toleration-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.toleration-badge {
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  background: rgba(255, 196, 102, 0.2);
  color: #8a5a00;
}

.toleration-trigger {
  margin: 0;
  font-size: 12px;
  color: var(--text-2);
}

.toleration-metrics {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.toleration-metric {
  padding: 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
}

.toleration-label {
  font-size: 12px;
  color: var(--text-2);
}

.toleration-value {
  font-size: 18px;
  font-weight: 600;
}

.toleration-insights {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.toleration-insights h3 {
  margin: 0 0 6px;
  font-size: 14px;
}

.toleration-insights ul {
  margin: 0;
  padding-left: 18px;
}

.toleration-note {
  margin: 0;
  font-size: 12px;
  color: #8a5a00;
}

.toleration-form {
  display: grid;
  gap: 10px;
}

.toleration-inputs {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.toleration-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.plan-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.guidance-tool-page .guidance-tool-card {
  display: grid;
  gap: 18px;
}

.guidance-tool-header {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.guidance-voice-toggle {
  margin-left: auto;
}

.pill-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.06);
  color: inherit;
  cursor: pointer;
  font-size: 13px;
}

.pill-toggle[aria-pressed="true"] {
  background: rgba(14, 165, 165, 0.2);
  border-color: rgba(14, 165, 165, 0.5);
}

.pill-toggle--mini {
  padding: 4px 10px;
  font-size: 12px;
}

.pill-icon {
  font-size: 13px;
}

.guidance-fields {
  display: grid;
  gap: 12px;
}

.guidance-fields textarea,
.guidance-fields input,
.guidance-fields select {
  width: 100%;
}

.guidance-mic {
  display: grid;
  gap: 8px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.06);
}

.guidance-mic-head h3 {
  margin: 0;
}

.guidance-mic-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.guidance-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.guidance-role-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.clarity-entry {
  padding: 10px 0 30px;
}

.clarity-entry-grid {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.clarity-entry-card h2 {
  margin: 0 0 10px;
  font-size: 20px;
}

.clarity-entry-card p {
  margin: 0 0 16px;
}

.clarity-entry-card {
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 8px;
  background: var(--qiq-card-light) !important;
  border: 1px solid var(--qiq-card-border-light) !important;
  box-shadow: 0 14px 40px rgba(11,18,32,.08) !important;
  border-radius: var(--qiq-radius-md);
}

.clarity-entry-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.clarity-entry-actions .btn-primary,
.clarity-entry-actions .btn-secondary {
  min-height: 42px;
  padding: 10px 18px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1.1;
  text-decoration: none;
  opacity: 1;
  background: #fff !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  border: 1px solid rgba(10, 18, 30, 0.12) !important;
  box-shadow: none !important;
}

.clarity-entry-actions .btn-secondary {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

.clarity-entry-actions .btn-primary {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

.clarity-entry-actions .btn-primary *,
.clarity-entry-actions .btn-secondary * {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
}

.clarity-entry-note {
  text-align: center;
  margin: 14px 0 0;
}

.open-reflection-form textarea {
  min-height: 220px;
  resize: vertical;
}

.wizard-helper {
  margin: -4px 0 8px;
  font-size: 13px;
}

/* Dashboard expandable pulse tiles */
.dashboard-tiles {
  padding: 10px 0 20px;
}

.dashboard-tiles-grid {
  width: 100%;
  max-width: var(--summary-row-max);
  margin-left: auto;
  margin-right: auto;
}

.dashboard-tiles-grid.has-open {
  grid-template-columns: 1fr;
}

.qiq-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(var(--summary-min-col), 1fr));
  gap: var(--summary-gap);
  align-items: stretch;
  width: 100%;
}

@media (max-width: 1200px) {
  .qiq-summary-grid {
    grid-template-columns: repeat(2, minmax(var(--summary-min-col), 1fr));
  }
}

@media (max-width: 820px) {
  .qiq-summary-grid {
    grid-template-columns: 1fr;
  }
}

.dash-tile {
  background: var(--qiq-card-light);
  border: 1px solid var(--tile-border);
  border-radius: var(--tile-radius);
  padding: var(--tile-pad);
  min-height: var(--tile-min-h);
  box-shadow: var(--tile-shadow);
  display: grid;
  gap: 10px;
  position: relative;
}

.qiq-tile {
  background: #fff;
  border: 1px solid var(--tile-border);
  border-radius: var(--tile-radius);
  box-shadow: var(--tile-shadow);
  padding: var(--tile-pad);
  outline: none;
}

.dash-tile::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  border-top-left-radius: var(--tile-radius);
  border-top-right-radius: var(--tile-radius);
  background: var(--tile-accent, transparent);
  pointer-events: none;
}

.dash-tile::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--tile-radius);
  background: radial-gradient(
    800px 140px at 20% 0%,
    color-mix(in srgb, var(--tile-accent, #94a3b8) 18%, transparent),
    transparent 55%
  );
  opacity: 0.55;
  pointer-events: none;
}

.qiq-tile:hover {
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
  border-color: rgba(15, 23, 42, 0.12);
}

.qiq-summary-tile {
  min-height: calc(var(--tile-min-h) + 10px);
}


.dash-tile--primary {
  box-shadow: 0 16px 34px rgba(11, 18, 32, 0.12);
}

.dash-tile--secondary {
  box-shadow: 0 12px 26px rgba(11, 18, 32, 0.08);
}

.dash-tile--link {
  cursor: pointer;
}

.dash-tile--link:hover {
  box-shadow: 0 18px 34px rgba(11, 18, 32, 0.14);
}

.dash-tile--link:focus-within {
  outline: 2px solid rgba(14, 165, 165, 0.45);
  outline-offset: 2px;
}

.dash-tile-toggle {
  border: none;
  background: transparent;
  padding: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  text-align: left;
}

.dash-tile .chev {
  opacity: 0.6;
  transition: transform 160ms ease;
}

.dash-tile.is-open .chev {
  transform: rotate(180deg);
  opacity: 0.9;
}

/* =========================================================
   QiQ SVG Half-Moon Gas Gauge (Premium, Blended Gradient)
   ========================================================= */
.qiq-gauge-wrap{
  flex: 0 0 auto;
  display: grid;
  justify-items: end;
}

.qiq-half-gauge{
  --gauge: 50;
  width: 170px;
  height: 96px;
  position: relative;
  isolation: isolate;
}

.qiq-half-gauge-svg{
  width: 100%;
  height: 100%;
  display: block;
  filter: drop-shadow(0 8px 14px rgba(15, 23, 42, 0.08));
}

.qiq-half-gauge-track{
  stroke: rgba(148, 163, 184, 0.26);
}

.qiq-half-gauge-progress{
  stroke-linejoin: round;
}

.qiq-half-gauge-progress-sheen{
  opacity: 0.52;
}

.qiq-half-gauge-needle{
  position: absolute;
  left: 50%;
  bottom: 16px;
  width: 5px;
  height: 62px;
  background: linear-gradient(180deg, #0f172a 0%, #475569 100%);
  transform-origin: 50% 100%;
  transform: translateX(-50%) rotate(calc((var(--gauge) * 1.8deg) - 90deg));
  border-radius: 6px;
  box-shadow:
    0 14px 20px rgba(15, 23, 42, 0.18),
    inset 0 1px 0 rgba(255,255,255,0.42);
}

.qiq-half-gauge-hub{
  position: absolute;
  left: 50%;
  bottom: 12px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 28%, #e2e8f0 0%, #1e293b 34%, #0f172a 100%);
  transform: translateX(-50%);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.35),
    0 16px 26px rgba(15, 23, 42, 0.16);
}

.qiq-half-gauge-num{
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  font-weight: 900;
  font-size: 13px;
  color: #0f172a;
  background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(241,245,249,0.96) 100%);
  padding: 3px 11px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  box-shadow:
    0 10px 20px rgba(15,23,42,0.10),
    inset 0 1px 0 rgba(255,255,255,0.78);
}

.dash-tile-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
}
.dash-tile-title-main{ min-width:0; }

.pro-dashboard .dashboard-tiles .dash-tile-title{
  display: block;
}

.pro-dashboard .dashboard-tiles .dash-tile-meta{
  margin-top: 6px;
}

.pro-dashboard .dashboard-tiles .qiq-half-gauge-num{
  font-size: 15px;
  padding: 4px 12px;
}

.dash-tile-title h3 {
  margin: 0 0 6px;
}

/* =========================
   PRO HERO (two big gauges)
   ========================= */
.pro-hero{
  margin: 12px 0 20px;
  background: rgba(15,23,42,0.02);
  border: 1px solid rgba(15,23,42,0.06);
  border-radius: 22px;
  padding: 14px;
}

.pro-hero-top{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.pro-hero-card{
  background: #fff;
  border: 1px solid rgba(15,23,42,0.08);
  border-radius: 20px;
  box-shadow: 0 20px 55px rgba(15,23,42,0.10);
  padding: 18px 18px 14px;
}

.pro-hero-title{
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 10px;
}

.pro-hero-kicker{
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(15,23,42,0.52);
}

.pro-hero-name{
  font-size: 17px;
  font-weight: 800;
  line-height: 1.25;
  color: rgba(15,23,42,0.88);
}

.hero-gauge-wrap{
  --gauge: 50;
  width: 100%;
  max-width: 420px;
  height: 186px;
  position: relative;
}

.hero-gauge{
  display: grid;
  justify-items: center;
  padding-top: 2px;
}

.hero-gauge-svg{
  width: 100%;
  height: 100%;
  display: block;
  filter: drop-shadow(0 10px 18px rgba(15,23,42,0.10));
}

.hero-needle{
  position: absolute;
  left: 50%;
  bottom: 38px;
  width: 6px;
  height: 98px;
  background: linear-gradient(180deg, rgba(15,23,42,0.95) 0%, rgba(71,85,105,0.88) 100%);
  transform-origin: 50% 100%;
  transform: translateX(-50%) rotate(calc((var(--gauge) * 1.8deg) - 90deg));
  border-radius: 999px;
  box-shadow: 0 14px 24px rgba(15,23,42,0.18), inset 0 1px 0 rgba(255,255,255,0.35);
}

.hero-hub{
  position: absolute;
  left: 50%;
  bottom: 33px;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: radial-gradient(circle at 32% 30%, #e2e8f0 0%, #1e293b 38%, #0f172a 100%);
  transform: translateX(-50%);
  box-shadow: 0 18px 30px rgba(15,23,42,0.16);
}

.hero-score{
  position: absolute;
  left: 50%;
  bottom: 12px;
  transform: translateX(-50%);
  font-weight: 950;
  font-size: 16px;
  color: rgba(15,23,42,0.78);
  background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(241,245,249,0.96) 100%);
  border: 1px solid rgba(15,23,42,0.08);
  padding: 4px 12px 3px;
  border-radius: 999px;
  box-shadow: 0 12px 24px rgba(15,23,42,0.12), inset 0 1px 0 rgba(255,255,255,0.80);
}

.hero-gauge-caption{
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  width: 100%;
  max-width: 420px;
  gap: 10px;
  margin-top: -4px;
}

.hero-chip{
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,0.08);
  background: rgba(15,23,42,0.03);
  color: rgba(15,23,42,0.75);
  text-decoration: none;
}

.hero-chip--green{ background: rgba(34,197,94,0.12); border-color: rgba(34,197,94,0.22); }
.hero-chip--yellow{ background: rgba(245,158,11,0.12); border-color: rgba(245,158,11,0.22); }
.hero-chip--red{ background: rgba(239,68,68,0.12); border-color: rgba(239,68,68,0.22); }
.hero-chip--neutral{ background: rgba(148,163,184,0.12); border-color: rgba(148,163,184,0.24); }

.hero-note{
  display: inline-block;
  font-size: 13px;
  font-weight: 800;
  color: rgba(15,23,42,0.66);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  min-width: 0;
  text-decoration: none;
}

.pro-insight{
  margin-top: 12px;
  background: rgba(15,23,42,0.035);
  border: 1px solid rgba(15,23,42,0.08);
  border-radius: 16px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.pro-insight-badge{
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(15,23,42,0.60);
  background: rgba(255,255,255,0.85);
  border: 1px solid rgba(15,23,42,0.08);
  padding: 6px 10px;
  border-radius: 999px;
}

.pro-insight-text{
  font-size: 14px;
  font-weight: 650;
  color: rgba(15,23,42,0.75);
}

.hero-mini{
  margin-top: 8px;
  width: 100%;
  max-width: 420px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.hero-mini-item{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,0.85);
  border: 1px solid rgba(15,23,42,0.08);
  box-shadow: 0 10px 22px rgba(15,23,42,0.06);
  font-size: 12px;
  font-weight: 800;
  color: rgba(15,23,42,0.70);
}

.hero-mini-ico{ font-size: 12px; opacity: 0.85; }
.hero-mini-key{ opacity: 0.55; letter-spacing: 0.06em; text-transform: uppercase; font-size: 10px; }
.hero-mini-val{ font-weight: 950; }

/* Tile micro-visuals */
.mini-bars{ margin-top: 10px; display: grid; gap: 8px; }
.mini-bar-row{ display:grid; grid-template-columns: 28px 1fr 44px; gap: 10px; align-items:center; }
.mini-bar-label{ font-size: 12px; font-weight: 800; color: rgba(15,23,42,0.55); }
.mini-bar-track{ height: 10px; border-radius: 999px; background: rgba(148,163,184,0.20); overflow:hidden; border:1px solid rgba(15,23,42,0.06); }
.mini-bar-fill{ height:100%; display:block; border-radius: 999px; background: rgba(15,23,42,0.35); }
.mini-bar-num{ font-size: 12px; font-weight: 900; color: rgba(15,23,42,0.70); text-align:right; }

.mini-dots{ display:flex; gap:6px; margin-top: 10px; flex-wrap: wrap; }
.mini-dot{ width: 10px; height: 10px; border-radius: 999px; background: rgba(148,163,184,0.22); border:1px solid rgba(15,23,42,0.06); }
.mini-dot--on{ background: rgba(15,23,42,0.45); }

.heat-mini{ margin-top: 10px; display:grid; gap: 8px; }
.heat-mini-row{ display:flex; align-items:center; gap:10px; }
.heat-dot{ width: 10px; height: 10px; border-radius: 999px; }
.heat-dot--red{ background: rgba(239,68,68,0.75); }
.heat-name{ font-size: 13px; font-weight: 800; color: rgba(15,23,42,0.72); }

.dept-top{
  display: grid;
  gap: 10px;
}

.dept-title{
  font-size: 28px;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: rgba(15,23,42,0.92);
}

.dept-pulse-line{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.dept-pulse-copy{
  font-size:13px;
  font-weight:800;
  letter-spacing:.02em;
  color:rgba(15,23,42,0.56);
}

.dept-summary-copy{
  margin:0;
  font-size:16px;
  line-height:1.45;
  color:rgba(15,23,42,0.74);
  max-width:34ch;
  min-height:2.9em;
}

.dept-pill{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 820;
  letter-spacing: 0.03em;
  text-transform: none;
  border: 1px solid rgba(15,23,42,0.08);
  background: linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(248,250,252,0.96) 100%);
  color: rgba(15,23,42,0.74);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.86);
}

.dept-pill--green{ background: linear-gradient(180deg, rgba(236,253,245,0.96) 0%, rgba(220,252,231,0.96) 100%); border-color: rgba(34,197,94,0.22); color: rgba(22,101,52,0.92); }
.dept-pill--yellow{ background: linear-gradient(180deg, rgba(255,251,235,0.96) 0%, rgba(254,243,199,0.96) 100%); border-color: rgba(245,158,11,0.22); color: rgba(146,64,14,0.92); }
.dept-pill--red{ background: linear-gradient(180deg, rgba(254,242,242,0.96) 0%, rgba(254,226,226,0.96) 100%); border-color: rgba(239,68,68,0.22); color: rgba(153,27,27,0.92); }

.dept-stat-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}

.dept-stat{
  border:1px solid rgba(15,23,42,0.07);
  border-radius:14px;
  background:rgba(255,255,255,0.78);
  padding:12px 12px 13px;
  display:grid;
  gap:5px;
  min-width:0;
}

.dept-stat-label{
  font-size:11px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(15,23,42,0.54);
}

.dept-stat-value{
  font-size:1.15rem;
  line-height:1;
  font-weight:850;
  color:rgba(15,23,42,0.88);
}

.dept-metrics{
  margin-top: 12px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.dept-metric{
  background: rgba(255,255,255,0.85);
  border: 1px solid rgba(15,23,42,0.06);
  border-radius: 14px;
  padding: 10px 10px;
}

.dept-metric--wide{
  grid-column: 1 / -1;
}

.dept-metric-label{
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(15,23,42,0.50);
  margin-bottom: 6px;
}

.dept-metric-value{
  font-size: 20px;
  font-weight: 950;
  color: rgba(15,23,42,0.82);
}

.dept-metric-sub{
  margin-top: 6px;
  font-size: 12px;
  font-weight: 800;
  color: rgba(15,23,42,0.62);
}

.dept-bar{
  height: 12px;
  border-radius: 999px;
  background: rgba(148,163,184,0.20);
  overflow: hidden;
  border: 1px solid rgba(15,23,42,0.06);
}

.dept-bar-fill{
  height: 100%;
  display: block;
  width: 60%;
  border-radius: 999px;
  background: rgba(15,23,42,0.38);
}

.dept-signals{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.sig{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  display: inline-block;
}
.sig--g{ background: rgba(34,197,94,0.85); }
.sig--y{ background: rgba(245,158,11,0.85); }
.sig--r{ background: rgba(239,68,68,0.85); }

.sig-num{
  font-size: 12px;
  font-weight: 950;
  color: rgba(15,23,42,0.70);
  margin-right: 8px;
}

.dept-open{
  margin-top: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: fit-content;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.92);
  font-weight: 950;
  color: rgba(15,23,42,0.78);
  text-decoration: none;
  box-shadow: 0 14px 28px rgba(15,23,42,0.08);
}

.dept-open:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 34px rgba(15,23,42,0.10);
}

/* Mobile */
@media (max-width: 980px){
  .pro-hero-top{ grid-template-columns: 1fr; }
  .hero-gauge-wrap{ max-width: 360px; }
}

/* --- Visual-at-a-glance enhancements for summary tiles --- */
.dash-tile-title-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
}

.dash-tile-visual {
  display: grid;
  place-items: center;
  gap: 8px;
  width: 52px;
}

.tile-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.04);
  border: 1px solid rgba(15, 23, 42, 0.08);
  font-size: 16px;
  line-height: 1;
}

.tile-ring {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: conic-gradient(
    var(--tile-accent, #94a3b8) calc(var(--ring-fill, 0.5) * 360deg),
    rgba(148, 163, 184, 0.22) 0
  );
  position: relative;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
}

.tile-ring::after {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: 999px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.06);
}

.dash-tile-title-text h3 {
  margin: 0 0 6px;
}

.tile-spark {
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    rgba(15, 23, 42, 0.06) 0%,
    rgba(15, 23, 42, 0.06) 22%,
    rgba(15, 23, 42, 0.10) 22%,
    rgba(15, 23, 42, 0.10) 34%,
    rgba(15, 23, 42, 0.06) 34%,
    rgba(15, 23, 42, 0.06) 52%,
    rgba(15, 23, 42, 0.10) 52%,
    rgba(15, 23, 42, 0.10) 66%,
    rgba(15, 23, 42, 0.06) 66%,
    rgba(15, 23, 42, 0.06) 100%
  );
  border: 1px solid rgba(15, 23, 42, 0.06);
  margin: 2px 0 10px;
  position: relative;
  overflow: hidden;
}

.pulse-accent--green .tile-spark::after,
.pulse-accent--yellow .tile-spark::after,
.pulse-accent--red .tile-spark::after,
.pulse-accent--neutral .tile-spark::after {
  content: "";
  position: absolute;
  inset: -20% -40%;
  background: radial-gradient(circle at 30% 50%, rgba(255,255,255,0.20), rgba(255,255,255,0));
  transform: translateX(-20%);
  opacity: 0.9;
  pointer-events: none;
}

.dash-tile:hover .tile-icon {
  border-color: rgba(15, 23, 42, 0.14);
  background: rgba(15, 23, 42, 0.05);
}

.dash-tile-meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-2);
}

.pulse-label {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 600;
}

.dash-tile-insight {
  margin: 0;
  font-size: 16px;
  line-height: 1.45;
}

.dash-tile-detail {
  font-size: inherit;
}

.dash-tile-insight,
.dash-tile-detail {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.dash-tile-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 220ms ease;
}

.dash-tile.is-open .dash-tile-body {
  max-height: 2400px;
}

.dash-tile-list {
  margin: 8px 0 0;
  padding-left: 18px;
}

.dash-tile-detail {
  margin: 8px 0;
}

.pulse-accent--green {
  --tile-accent: #2fbf78;
  border-top-color: #2fbf78;
  --ring-fill: 0.78;
}

.pulse-accent--yellow {
  --tile-accent: #f1b23a;
  border-top-color: #f1b23a;
  --ring-fill: 0.58;
}

.pulse-accent--red {
  --tile-accent: #e35b5b;
  border-top-color: #e35b5b;
  --ring-fill: 0.34;
}

.pulse-accent--neutral {
  --tile-accent: #94a3b8;
  border-top-color: #94a3b8;
  --ring-fill: 0.50;
}

.topbar-green {
  --tile-accent: #22c55e;
  border-top-color: #22c55e;
  --ring-fill: 0.78;
}

.topbar-yellow {
  --tile-accent: #f59e0b;
  border-top-color: #f59e0b;
  --ring-fill: 0.58;
}

.topbar-red {
  --tile-accent: #ef4444;
  border-top-color: #ef4444;
  --ring-fill: 0.34;
}

.topbar-neutral {
  --tile-accent: #94a3b8;
  border-top-color: #94a3b8;
  --ring-fill: 0.50;
}

.pulse-dot--neutral {
  background: #94a3b8;
}


@media (max-width: 900px) {
  .clarity-entry-grid {
    grid-template-columns: 1fr;
  }
}

.guidance-role-row .chip-group {
  gap: 6px;
}

.wizard-flow {
  display: grid;
  gap: 16px;
}

.wizard-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.04);
}

.wizard-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.wizard-confirm {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
}

.wizard-hint {
  font-size: 12px;
  color: var(--text-2);
}

.wizard-voice {
  display: grid;
  gap: 8px;
}

.wizard-voice-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.wizard-transcript {
  font-size: 13px;
  color: var(--text-2);
  background: rgba(255, 255, 255, 0.06);
  padding: 8px;
  border-radius: 10px;
}

.wizard-debug {
  font-size: 11px;
  color: var(--text-2);
}

.summary-pill {
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  background: rgba(255, 255, 255, 0.08);
}

.chip-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.chip {
  border: 1px solid rgba(255, 255, 255, 0.15);
  padding: 6px 12px;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.chip.is-selected {
  background: rgba(14, 165, 165, 0.2);
  border-color: rgba(14, 165, 165, 0.4);
}


.guidance-save {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}

.guidance-result {
  margin-top: 18px;
  display: grid;
  gap: 12px;
}

.guidance-result-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.guidance-result-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.guidance-reading .guidance-output {
  white-space: pre-wrap;
  font-family: "Source Serif 4", "Iowan Old Style", "Palatino", "Georgia", serif;
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  margin: 0;
}

.guidance-reading .guidance-output h3 {
  margin: 18px 0 8px;
  font-size: 16px;
}

.guidance-reading .guidance-output p {
  margin: 0 0 14px;
}

.guidance-reading .guidance-output ul {
  margin: 0 0 14px;
  padding-left: 18px;
}

.guidance-reading .guidance-output li {
  margin-bottom: 6px;
}

.plan-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: flex-start;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

html[data-theme="light"] .plan-item,
body[data-theme="light"] .plan-item {
  border-bottom-color: rgba(10, 18, 30, 0.08);
}

html[data-theme="light"] .tool-example,
body[data-theme="light"] .tool-example {
  background: rgba(10, 18, 30, 0.04);
}

.plan-item:last-child {
  border-bottom: none;
}

.plan-toggle {
  margin: 0;
}

.plan-check {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(14, 165, 165, 0.35);
  background: rgba(14, 165, 165, 0.08);
  display: grid;
  place-items: center;
  color: rgba(14, 165, 165, 0.7);
  cursor: pointer;
}

.plan-check:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.plan-checkmark {
  width: 12px;
  height: 6px;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  opacity: 0;
}

.plan-item.is-complete .plan-check {
  background: rgba(14, 165, 165, 0.2);
  border-color: rgba(14, 165, 165, 0.5);
  color: rgba(14, 165, 165, 0.95);
}

.plan-item.is-complete .plan-checkmark {
  opacity: 1;
}

.plan-item-title {
  font-weight: 650;
  margin-bottom: 4px;
}

.plan-item-note {
  font-size: 14px;
  opacity: 0.75;
  margin-bottom: 6px;
}

.plan-item-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 12px;
  opacity: 0.6;
}

.plan-empty {
  margin-top: 10px;
}

.empty-state {
  padding: 18px;
}

/* ================================
   People (Team Pulse) Module
   ================================ */
.people-page {
  padding-top: 28px;
  padding-bottom: 48px;
}

.people-hero {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 18px;
}

.people-alerts {
  min-width: 260px;
}

.alert-card {
  padding: 16px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.people-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.tab-btn {
  border-radius: 999px;
  padding: 10px 16px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.08);
  color: inherit;
  font-weight: 650;
  cursor: pointer;
}

.tab-btn.active {
  background: linear-gradient(135deg, #0ea5a5, #22c8c8);
  color: #02111b;
  border-color: transparent;
}

.tab-panel {
  display: none;
}

.tab-panel.active {
  display: block;
}

.people-panel {
  padding: 18px;
  margin-bottom: 16px;
}

.gps-controls {
  display: grid;
  gap: 6px;
  max-width: 320px;
  margin-bottom: 12px;
}

.gps-controls label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.6;
}

.gps-controls select {
  width: 100%;
  padding: 10px 12px;
  border-radius: 12px;
  min-height: 44px;
  font-size: 15px;
}

.gps-empty {
  padding: 10px 0 4px;
}

.gps-card.is-hidden,
.gps-empty.is-hidden {
  display: none;
}

/* ================================
   Coaching Compass
   ================================ */
.coaching-compass .tool-main {
  padding-top: 14px;
  padding-bottom: 56px;
}

.compass-shell {
  max-width: 1120px;
  margin: 0 auto;
}

.compass-stack {
  display: grid;
  gap: 16px;
  max-width: 760px;
  margin: 0 auto;
}

.coaching-compass .tool-hero {
  margin-top: 0;
  text-align: left;
  padding: 0;
}

.coaching-compass .tool-hero h1 {
  font-size: 40px;
  letter-spacing: -0.02em;
}

.coaching-compass .tool-subtitle {
  opacity: 1;
  font-size: 16px;
  margin-top: 0;
  max-width: 58ch;
  color: var(--text-2);
  margin-left: 0;
  margin-right: 0;
}

.tool-intent {
  margin-top: 6px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 58ch;
  color: var(--text-2);
}

.tool-hero-meta {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.7;
  margin-top: 8px;
}

.coaching-compass .tool-aside-card {
  margin-top: 6px;
  padding: 18px;
}

.coaching-compass .tool-aside-tight {
  margin-top: 8px;
}

.coaching-compass .tool-aside-list li {
  margin-bottom: 6px;
  font-weight: 500;
  line-height: 1.5;
}

.tool-example {
  margin-top: 12px;
  font-size: 13px;
  opacity: 0.7;
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
  font-style: italic;
}

.coaching-compass .tool-card {
  padding: 14px 18px 16px;
}

.tool-section-title {
  margin: 6px 0 6px;
  font-size: 16px;
}

.tool-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 6px;
}

.tool-row.tool-row-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tool-field {
  display: grid;
  gap: 6px;
}

.tool-optional-inline {
  font-size: 12px;
  opacity: 0.7;
  font-weight: 500;
}

.coaching-compass .tool-input {
  padding: 10px 12px;
  min-height: 42px;
  border-radius: 12px;
}

.coaching-compass .tool-textarea {
  min-height: 120px;
}

.tool-submit {
  width: 100%;
  margin-top: 10px;
}

.tool-submit-note {
  font-size: 11px;
  opacity: 0.72;
  margin-top: 6px;
}

.tool-result {
  margin-top: 0;
  padding: 18px;
}

.tool-result-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.tool-copy {
  padding: 8px 12px;
}

.tool-result-body {
  margin-top: 14px;
  display: grid;
  gap: 14px;
}

.talk-section h3 {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.7;
  margin-bottom: 6px;
}

.talk-section ul {
  padding-left: 18px;
}

@media (max-width: 900px) {
  .tool-row {
    grid-template-columns: 1fr;
  }
  .profile-info-grid,
  .quiz-options {
    grid-template-columns: 1fr;
  }
}

.panel-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.card-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.member-add {
  margin-bottom: 12px;
}

.member-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
}

.member-section {
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 20px;
  padding: 18px 20px 20px;
  background: rgba(255, 255, 255, 0.04);
  display: grid;
  gap: 10px;
}

.member-section-head h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.field {
  display: grid;
  gap: 6px;
}

.field-label {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-3);
}

.field input,
.field select {
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.08);
  color: inherit;
  font-size: 14px;
}

.field input:focus,
.field select:focus {
  outline: 2px solid rgba(18, 183, 200, 0.35);
  outline-offset: 2px;
}

.field-error {
  display: none;
  margin: 0;
  font-size: 12px;
  color: rgba(255, 111, 97, 0.95);
}

.field-error.is-visible {
  display: block;
}

.field-helper {
  margin: 0;
  font-size: 12px;
  color: var(--text-2);
}

.field-helper--muted {
  opacity: 0.8;
}

.member-method {
  border: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}

.member-method legend {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-3);
}

.member-method-hints {
  display: grid;
  gap: 4px;
  margin-top: 4px;
}

.segmented {
  display: inline-flex;
  gap: 6px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
}

.segmented-option {
  position: relative;
  border-radius: 999px;
  overflow: hidden;
}

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

.segmented-option span {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  cursor: pointer;
}

.segmented-option input:checked + span {
  background: rgba(18, 183, 200, 0.95);
  color: #fff;
}

.member-form-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.member-form-actions .form-error {
  color: var(--warn);
  font-size: 13px;
}

.btn-ghost {
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: transparent;
  color: inherit;
  padding: 10px 14px;
  border-radius: 12px;
}

.member-list {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.member-row {
  margin: 0;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
}

.member-row-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(140px, 1fr)) auto;
  gap: 12px 14px;
  align-items: end;
}

.member-inline-field {
  display: grid;
  gap: 6px;
}

.member-inline-label {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-3);
}

.member-row input,
.member-row select {
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.08);
  color: inherit;
  font-size: 14px;
}

.member-row-actions {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.member-row .btn-secondary,
.member-row .btn-ghost {
  min-height: 40px;
  padding: 8px 14px;
}

.pulse-grid {
  display: grid;
  gap: 12px;
}

.pulse-header,
.pulse-row {
  display: grid;
  grid-template-columns: 1.6fr repeat(5, minmax(0, 1fr));
  gap: 10px;
  align-items: center;
}

.pulse-header {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.65;
}

.pulse-name small {
  display: block;
  opacity: 0.7;
}

.pulse-slider {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pulse-slider input[type="range"] {
  width: 100%;
}

.pulse-value {
  width: 24px;
  text-align: center;
  font-weight: 700;
}

.save-confirm {
  margin-top: 10px;
  color: rgba(34, 197, 94, 0.9);
}

.filter-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.filter-row select {
  padding: 8px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
  color: inherit;
}

.risk-grid,
.gps-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.risk-card,
.gps-card {
  padding: 16px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.risk-card.high {
  border-color: rgba(239, 68, 68, 0.5);
}

.risk-card.watch {
  border-color: rgba(251, 191, 36, 0.5);
}

.risk-card.stable {
  border-color: rgba(34, 197, 94, 0.4);
}

.risk-score {
  font-weight: 700;
  margin: 8px 0;
}

.next-action {
  margin-top: 8px;
}

.gps-item strong {
  display: block;
  margin-bottom: 4px;
}

.gps-log {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}

.gps-log input {
  flex: 1;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
  color: inherit;
}

.alert-list {
  margin: 0;
  padding-left: 20px;
}

@media (max-width: 1100px) {
  .member-row-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .member-row-actions {
    justify-content: flex-start;
  }
  .pulse-header,
  .pulse-row {
    grid-template-columns: 1fr;
  }
  .risk-grid,
  .gps-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .member-row-grid {
    grid-template-columns: 1fr;
  }
  .member-row-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 900px) {
  .profile-header {
    grid-template-columns: 1fr;
    justify-items: start;
  }
  .profile-header-actions {
    justify-items: start;
  }
  .people-hero {
    flex-direction: column;
  }
  .people-alerts {
    width: 100%;
  }
}

@media (max-width: 980px) {
  .org-permissions-head,
  .org-permissions-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1200px) {
  .employees-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .employees-top {
    grid-template-columns: 1fr;
  }
  .employees-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .employees-grid {
    grid-template-columns: 1fr;
  }
}

.employee-top {
  display: grid;
  gap: 18px;
  margin-bottom: 18px;
}

.employee-identity {
  display: flex;
  align-items: center;
  gap: 22px;
}

.employee-avatar {
  width: 72px;
  height: 72px;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.25);
  background: rgba(255, 255, 255, 0.08);
  display: grid;
  place-items: center;
}

.employee-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.avatar-initials {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
}

html[data-theme="light"] .avatar-initials,
body[data-theme="light"] .avatar-initials,
body.light .avatar-initials,
body.theme-light .avatar-initials {
  color: rgba(11, 18, 32, 0.9);
}

.employee-meta h1 {
  margin: 0 0 6px;
  font-size: clamp(28px, 2.6vw, 34px);
}

.employee-title {
  margin: 0;
  opacity: 0.9;
  font-size: 16px;
}

html[data-theme="light"] .employee-title,
body[data-theme="light"] .employee-title,
body.light .employee-title,
body.theme-light .employee-title {
  color: rgba(11, 18, 32, 0.82);
  opacity: 1;
}

.employee-badges {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.employee-pills {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.profile-page .profile-card {
  padding: 18px;
}

.profile-page .section-head {
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.profile-page .section-subtitle {
  margin: 0;
  opacity: 1;
}

html[data-theme="light"] .profile-page .section-head h2,
body[data-theme="light"] .profile-page .section-head h2,
body.light .profile-page .section-head h2,
body.theme-light .profile-page .section-head h2 {
  color: rgba(11, 18, 32, 0.92);
}

html[data-theme="light"] .profile-page .section-subtitle,
body[data-theme="light"] .profile-page .section-subtitle,
body.light .profile-page .section-subtitle,
body.theme-light .profile-page .section-subtitle {
  color: #344054;
  opacity: 1;
}

html[data-theme="light"] .profile-page .muted,
body[data-theme="light"] .profile-page .muted,
body.light .profile-page .muted,
body.theme-light .profile-page .muted {
  color: #475467;
  opacity: 1;
}

.profile-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.profile-header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 16px;
  align-items: center;
}

.profile-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(19, 182, 198, 0.18);
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 18px;
  color: var(--text);
  overflow: hidden;
}

.profile-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.profile-header-main h3 {
  margin: 0 0 4px;
  font-size: 20px;
}

.profile-meta-grid {
  display: grid;
  gap: 6px;
}

.profile-header-actions {
  display: grid;
  gap: 6px;
  justify-items: end;
}

.profile-tool-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.profile-tool-row h3 {
  margin: 0 0 4px;
}

.profile-edit-form {
  margin-top: 12px;
}

.profile-edit-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.profile-guide-summary {
  display: grid;
  gap: 16px;
}

.profile-guide-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 14px;
  align-items: start;
}

.profile-guide-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.profile-guide-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

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

.profile-history-row {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(220px, 2fr);
  gap: 12px;
  align-items: start;
  padding: 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.04);
}

.guide-result {
  display: grid;
  gap: 12px;
}

.guide-result-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

.guide-result h4 {
  margin: 0 0 6px;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.coaching-profile-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
}

.coaching-profile-card,
.coaching-playbook-card,
.coaching-profile-intro {
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.045);
  border-radius: 16px;
  padding: 14px 16px;
}

.coaching-profile-card span,
.coaching-profile-intro span {
  display: block;
  margin-bottom: 6px;
  color: rgba(20, 184, 166, 0.95);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.coaching-profile-card strong,
.coaching-profile-intro strong {
  display: block;
  font-size: 1rem;
  color: inherit;
}

.coaching-profile-card p,
.coaching-profile-intro p {
  margin: 8px 0 0;
  line-height: 1.45;
}

.coaching-playbook {
  display: grid;
  gap: 14px;
  margin-top: 8px;
}

.coaching-playbook h4 {
  margin: 0 0 4px;
  font-size: 1rem;
}

.coaching-playbook-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}

.coaching-playbook-card h5 {
  margin: 0 0 8px;
  color: rgba(20, 184, 166, 0.95);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.coaching-playbook-card ul {
  margin: 0;
  padding-left: 18px;
}

.coaching-playbook-card li {
  margin-bottom: 6px;
  line-height: 1.45;
}

.coaching-profile-form {
  display: grid;
  gap: 4px;
}

.quiz-section-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 18px 0 2px;
  padding-top: 10px;
}

.quiz-section-divider span {
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 999px;
  background: rgba(20, 184, 166, 0.14);
  color: rgba(20, 184, 166, 1);
  font-size: 12px;
  font-weight: 950;
}

.quiz-section-divider h3 {
  margin: 0;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.quiz-question {
  padding: 14px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.quiz-question h3 {
  margin: 0 0 10px;
  font-size: 16px;
  font-weight: 650;
}

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

.quiz-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  cursor: pointer;
}

.quiz-option input {
  accent-color: #5dd6c0;
}

.report-section {
  display: grid;
  gap: 14px;
}

.report-narrative {
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.report-narrative h4 {
  margin: 0 0 8px;
  font-size: 1rem;
}

.report-narrative p {
  margin: 0 0 8px;
  line-height: 1.55;
}

.report-narrative p:last-child {
  margin-bottom: 0;
}

.report-accordion details {
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.report-accordion summary {
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}

.report-accordion summary::-webkit-details-marker {
  display: none;
}

.report-accordion p {
  margin: 8px 0 8px;
  line-height: 1.5;
  color: rgba(226, 232, 240, 0.88);
}

.report-subtitle {
  margin: 10px 0 6px;
  font-size: 0.9rem;
  color: rgba(226, 232, 240, 0.7);
}

.profile-guide-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.profile-guide-saved {
  margin: 12px 0 4px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(16, 185, 129, 0.12);
  color: rgba(209, 250, 229, 0.95);
  font-size: 0.92rem;
}

.retake-modal {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.4);
  display: grid;
  place-items: center;
  z-index: 80;
}

.retake-modal[hidden] {
  display: none !important;
}

.retake-modal-card {
  background: var(--surface-1, #0f172a);
  padding: 22px;
  border-radius: 16px;
  max-width: 420px;
  width: calc(100% - 32px);
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.3);
}

.retake-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 14px;
}

html[data-theme="light"] .profile-page .quiz-option,
body[data-theme="light"] .profile-page .quiz-option,
body.light .profile-page .quiz-option,
body.theme-light .profile-page .quiz-option {
  border-color: rgba(10, 12, 16, 0.14);
  background: rgba(255, 255, 255, 0.9);
}

html[data-theme="light"] .profile-page .quiz-option span,
body[data-theme="light"] .profile-page .quiz-option span,
body.light .profile-page .quiz-option span,
body.theme-light .profile-page .quiz-option span {
  color: rgba(11, 18, 32, 0.9);
}

html[data-theme="light"] .profile-page .quiz-question,
body[data-theme="light"] .profile-page .quiz-question,
body.light .profile-page .quiz-question,
body.theme-light .profile-page .quiz-question {
  border-bottom-color: rgba(10, 12, 16, 0.08);
}

html[data-theme="light"] .profile-page .quiz-question h3,
body[data-theme="light"] .profile-page .quiz-question h3,
body.light .profile-page .quiz-question h3,
body.theme-light .profile-page .quiz-question h3 {
  color: rgba(11, 18, 32, 0.92);
}

html[data-theme="light"] .profile-page,
body[data-theme="light"] .profile-page,
body.theme-light .profile-page,
body.light .profile-page {
  color: #1f2937;
}

html[data-theme="light"] .report-narrative,
body[data-theme="light"] .report-narrative,
body.theme-light .report-narrative,
body.light .report-narrative {
  background: rgba(255, 255, 255, 0.9);
  border-color: rgba(10, 12, 16, 0.08);
}

html[data-theme="light"] .coaching-profile-card,
html[data-theme="light"] .coaching-playbook-card,
html[data-theme="light"] .coaching-profile-intro,
body[data-theme="light"] .coaching-profile-card,
body[data-theme="light"] .coaching-playbook-card,
body[data-theme="light"] .coaching-profile-intro,
body.theme-light .coaching-profile-card,
body.theme-light .coaching-playbook-card,
body.theme-light .coaching-profile-intro,
body.light .coaching-profile-card,
body.light .coaching-playbook-card,
body.light .coaching-profile-intro {
  background: rgba(255, 255, 255, 0.92);
  border-color: rgba(10, 12, 16, 0.08);
}

html[data-theme="light"] .report-accordion p,
body[data-theme="light"] .report-accordion p,
body.theme-light .report-accordion p,
body.light .report-accordion p {
  color: rgba(17, 24, 39, 0.88);
}

html[data-theme="light"] .retake-modal,
body[data-theme="light"] .retake-modal,
body.theme-light .retake-modal,
body.light .retake-modal {
  background: rgba(15, 23, 42, 0.18);
}

html[data-theme="light"] .retake-modal-card,
body[data-theme="light"] .retake-modal-card,
body.theme-light .retake-modal-card,
body.light .retake-modal-card {
  background: #ffffff;
  color: #1f2937;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
}

html[data-theme="light"] .retake-modal-card .muted,
body[data-theme="light"] .retake-modal-card .muted,
body.theme-light .retake-modal-card .muted,
body.light .retake-modal-card .muted {
  color: rgba(31, 41, 55, 0.72);
}

html[data-theme="light"] .profile-guide-saved,
body[data-theme="light"] .profile-guide-saved,
body.theme-light .profile-guide-saved,
body.light .profile-guide-saved {
  background: rgba(16, 185, 129, 0.14);
  color: rgba(6, 78, 59, 0.9);
}

html[data-theme="light"] .profile-page p,
html[data-theme="light"] .profile-page li,
body[data-theme="light"] .profile-page p,
body[data-theme="light"] .profile-page li,
body.theme-light .profile-page p,
body.theme-light .profile-page li,
body.light .profile-page p,
body.light .profile-page li {
  color: #1f2937;
}

.profile-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
}

.badge-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 2.5px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.06);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.badge-pill--primary {
  font-weight: 700;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 1px 2px rgba(15, 23, 42, 0.06);
}

.badge-pill--secondary {
  font-weight: 600;
  background: rgba(255, 255, 255, 0.04);
}

.badge-pill--secondary {
  opacity: 0.8;
}

/* DISC outline colors (muted, outline only) */
:root {
  --disc-d: #b93f3f;
  --disc-i: #c08b2c;
  --disc-s: #4f8f63;
  --disc-c: #466aa6;
}

.badge-pill[data-disc="d"] { border-color: var(--disc-d) !important; }
.badge-pill[data-disc="i"] { border-color: var(--disc-i) !important; }
.badge-pill[data-disc="s"] { border-color: var(--disc-s) !important; }
.badge-pill[data-disc="c"] { border-color: var(--disc-c) !important; }

.badge-pill--primary[data-disc="d"] {
  background: rgba(185, 63, 63, 0.12);
  color: #712727;
}

.badge-pill--primary[data-disc="i"] {
  background: rgba(192, 139, 44, 0.14);
  color: #765111;
}

.badge-pill--primary[data-disc="s"] {
  background: rgba(79, 143, 99, 0.12);
  color: #28583a;
}

.badge-pill--primary[data-disc="c"] {
  background: rgba(70, 106, 166, 0.12);
  color: #28456e;
}

.badge-pill--secondary[data-disc="d"],
.badge-pill--secondary[data-disc="i"],
.badge-pill--secondary[data-disc="s"],
.badge-pill--secondary[data-disc="c"] {
  background: rgba(255, 255, 255, 0.55);
}

.card-clickable {
  cursor: pointer;
}

.card-clickable:focus-visible {
  outline: 2px solid rgba(18, 183, 200, 0.35);
  outline-offset: 3px;
}

html[data-theme="light"] .profile-page .badge-pill,
body[data-theme="light"] .profile-page .badge-pill,
body.light .profile-page .badge-pill,
body.theme-light .profile-page .badge-pill {
  background: rgba(255, 255, 255, 0.85);
  color: rgba(11, 18, 32, 0.85);
}

html[data-theme="light"] .profile-page .badge-pill:not([data-disc]),
body[data-theme="light"] .profile-page .badge-pill:not([data-disc]),
body.light .profile-page .badge-pill:not([data-disc]),
body.theme-light .profile-page .badge-pill:not([data-disc]) {
  border-color: rgba(10, 12, 16, 0.18);
}

html[data-theme="light"] .page--pro .badge-pill,
body[data-theme="light"] .page--pro .badge-pill,
body.light .page--pro .badge-pill,
body.theme-light .page--pro .badge-pill {
  background: rgba(255, 255, 255, 0.9);
  color: rgba(11, 18, 32, 0.85);
}

html[data-theme="light"] .page--pro .badge-pill:not([data-disc]),
body[data-theme="light"] .page--pro .badge-pill:not([data-disc]),
body.light .page--pro .badge-pill:not([data-disc]),
body.theme-light .page--pro .badge-pill:not([data-disc]) {
  border-color: rgba(10, 12, 16, 0.18);
}

html[data-theme="light"] .profile-page .profile-card,
body[data-theme="light"] .profile-page .profile-card,
body.light .profile-page .profile-card,
body.theme-light .profile-page .profile-card {
  border: 1px solid rgba(10, 12, 16, 0.08);
  background: rgba(255, 255, 255, 0.96);
}

.badge-guide {
  display: grid;
  gap: 16px;
}

.badge-guide-block h3 {
  margin: 0 0 8px;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.7;
}

.badge-guide-block ul {
  margin: 0;
  padding-left: 18px;
}

.employee-nav {
  display: flex;
  gap: 12px;
  flex-wrap: nowrap;
  overflow-x: auto;
  padding-bottom: 6px;
}

.nav-tile {
  border-radius: 999px;
  padding: 11px 18px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.08);
  color: inherit;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  font-size: 14px;
}

html[data-theme="light"] .nav-tile,
body[data-theme="light"] .nav-tile,
body.light .nav-tile,
body.theme-light .nav-tile {
  background: rgba(255, 255, 255, 0.96);
  border-color: rgba(10, 18, 30, 0.16);
  color: #1d1d1f;
}

.nav-tile.active {
  background: linear-gradient(135deg, #0ea5a5, #22c8c8);
  color: #02111b;
  border-color: transparent;
}

.employee-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

.employee-access-actions {
  margin-top: 10px;
}

.employee-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.summary-item {
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  text-align: center;
}

.summary-label {
  display: block;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.75;
  margin-bottom: 6px;
}

.summary-value {
  font-size: 22px;
  font-weight: 700;
}

.employee-filter-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.8;
}

.employee-filter {
  width: 100%;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
  color: inherit;
}

html[data-theme="light"] .employee-page .summary-item,
body[data-theme="light"] .employee-page .summary-item,
body.light .employee-page .summary-item,
body.theme-light .employee-page .summary-item {
  background: rgba(255, 255, 255, 0.98);
  border-color: rgba(10, 12, 16, 0.12);
}

html[data-theme="light"] .employee-page .summary-label,
body[data-theme="light"] .employee-page .summary-label,
body.light .employee-page .summary-label,
body.theme-light .employee-page .summary-label {
  color: #475467;
  opacity: 1;
}

html[data-theme="light"] .employee-page .summary-value,
body[data-theme="light"] .employee-page .summary-value,
body.light .employee-page .summary-value,
body.theme-light .employee-page .summary-value {
  color: rgba(11, 18, 32, 0.92);
}

html[data-theme="light"] .employee-page .employee-filter-label,
body[data-theme="light"] .employee-page .employee-filter-label,
body.light .employee-page .employee-filter-label,
body.theme-light .employee-page .employee-filter-label {
  color: rgba(11, 18, 32, 0.7);
  opacity: 1;
}

html[data-theme="light"] .employee-page .employee-filter,
body[data-theme="light"] .employee-page .employee-filter,
body.light .employee-page .employee-filter,
body.theme-light .employee-page .employee-filter {
  background: rgba(255, 255, 255, 0.98);
  border-color: rgba(10, 12, 16, 0.16);
  color: rgba(11, 18, 32, 0.9);
}

html[data-theme="light"] .employee-page .employee-avatar,
body[data-theme="light"] .employee-page .employee-avatar,
body.light .employee-page .employee-avatar,
body.theme-light .employee-page .employee-avatar {
  background: rgba(255, 255, 255, 0.98);
  border-color: rgba(10, 12, 16, 0.14);
  box-shadow: 0 10px 20px rgba(12, 18, 32, 0.08);
}

html[data-theme="light"] .employee-page,
body[data-theme="light"] .employee-page,
body.light .employee-page,
body.theme-light .employee-page {
  color: rgba(11, 18, 32, 0.9);
}

html[data-theme="light"] .employee-page .employee-meta h1,
body[data-theme="light"] .employee-page .employee-meta h1,
body.light .employee-page .employee-meta h1,
body.theme-light .employee-page .employee-meta h1 {
  color: rgba(11, 18, 32, 0.95);
}

html[data-theme="light"] .employee-page .employee-title,
body[data-theme="light"] .employee-page .employee-title,
body.light .employee-page .employee-title,
body.theme-light .employee-page .employee-title {
  color: rgba(11, 18, 32, 0.82);
  opacity: 1;
}

html[data-theme="light"] .employee-page .employee-details,
html[data-theme="light"] .employee-page .employee-details span,
body[data-theme="light"] .employee-page .employee-details,
body[data-theme="light"] .employee-page .employee-details span,
body.light .employee-page .employee-details,
body.light .employee-page .employee-details span,
body.theme-light .employee-page .employee-details,
body.theme-light .employee-page .employee-details span {
  color: rgba(11, 18, 32, 0.78);
}

html[data-theme="light"] .employees-list .employee-details,
html[data-theme="light"] .employees-list .employee-details span,
body[data-theme="light"] .employees-list .employee-details,
body[data-theme="light"] .employees-list .employee-details span,
body.light .employees-list .employee-details,
body.light .employees-list .employee-details span,
body.theme-light .employees-list .employee-details,
body.theme-light .employees-list .employee-details span {
  color: rgba(11, 18, 32, 0.78);
}

html[data-theme="light"] .employees-list .employee-meta-item,
body[data-theme="light"] .employees-list .employee-meta-item,
body.light .employees-list .employee-meta-item,
body.theme-light .employees-list .employee-meta-item {
  color: rgba(11, 18, 32, 0.78);
}

html[data-theme="light"] .employees-list .employee-meta-item.is-muted,
body[data-theme="light"] .employees-list .employee-meta-item.is-muted,
body.light .employees-list .employee-meta-item.is-muted,
body.theme-light .employees-list .employee-meta-item.is-muted {
  color: rgba(11, 18, 32, 0.6);
}

.employee-section {
  margin-top: 28px;
}

.section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.section-actions {
  display: flex;
  gap: 10px;
}

.plan-grid {
  display: grid;
  gap: 16px;
}

.plan-tile {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 18px;
  padding: 18px 20px;
}

.plan-tile summary {
  list-style: none;
  cursor: pointer;
}

.plan-tile summary::-webkit-details-marker { display: none; }

.plan-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.plan-meta {
  margin: 6px 0 0;
  opacity: 0.82;
}

.plan-status {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.status-pill {
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.status-pill.success {
  background: rgba(34, 197, 94, 0.18);
  color: #a7f3d0;
  border: 1px solid rgba(34, 197, 94, 0.3);
}

.status-pill.warning {
  background: rgba(251, 191, 36, 0.18);
  color: #fde68a;
  border: 1px solid rgba(251, 191, 36, 0.3);
}

.plan-body {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}

.plan-column {
  padding: 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.plan-column h4 {
  margin: 0 0 8px;
  font-size: 18px;
}

.plan-list {
  margin: 0;
  padding-left: 18px;
}

.plan-item {
  margin-bottom: 8px;
  font-size: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

.plan-item.done {
  opacity: 0.6;
  text-decoration: line-through;
}

.plan-add {
  padding: 16px 18px;
  margin-bottom: 14px;
}

.plan-add-row {
  display: grid;
  gap: 12px;
  grid-template-columns: 2fr 1fr auto;
  align-items: end;
}

.plan-add-field label {
  display: block;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.7;
  margin-bottom: 6px;
}

.plan-add-field input,
.plan-add-field select {
  width: 100%;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.08);
  color: inherit;
}

.plan-archive {
  padding: 16px 18px;
}

.plan-archive-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.plan-archive-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.plan-archive-meta {
  font-size: 13px;
  opacity: 0.7;
}

.qdos-page .dashboard-card {
  display: flex;
  flex-direction: column;
}

.qdos-page .card-grid.two {
  align-items: stretch;
}

.qdos-page .qdos-form {
  margin-top: 12px;
}

.qdos-page .qdos-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  align-items: end;
  margin-bottom: 12px;
}

.qdos-page .qdos-from {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.08);
}

.qdos-page .qdos-label {
  font-size: 12px;
  opacity: 0.7;
}

.qdos-page .qdos-from-name {
  font-size: 14px;
}

.qdos-page .qdos-badges {
  margin-bottom: 8px;
}

.qdos-page .qdos-category {
  margin: 10px 0 8px;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.7;
}

.qdos-page .qdos-badge-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 12px;
  width: 100%;
}

.qdos-page .qdos-badge-option {
  display: block;
  position: relative;
  cursor: pointer;
}

.qdos-page .qdos-badge-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.qdos-page .qdos-badge-visual {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 10px 8px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.03);
  text-align: center;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  color: inherit;
  position: relative;
}

.qdos-page {
  --qdos-badge-amber: #f4b93a;
  --qdos-badge-teal: #16a3b6;
  --qdos-badge-warm: linear-gradient(180deg, #f59e0b 0%, #f97316 100%);
  --qdos-badge-green: #2fbf78;
  --qdos-badge-purple: #7b6cd9;
  --qdos-badge-blue: linear-gradient(180deg, #6ea8ff 0%, #3b82f6 100%);
  --qdos-badge-accent: #0ea5b6;
}

.qdos-page .qdos-badge-tone {
  position: absolute;
  top: 6px;
  right: 6px;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 3px 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  color: inherit;
}

.qdos-page .qdos-suggestions {
  margin: 8px 0 12px;
}

.qdos-page .qdos-suggestions ul {
  margin: 6px 0 0;
  padding-left: 0;
  list-style: none;
}

.qdos-page .qdos-suggestions li {
  margin: 6px 0;
}

.qdos-page .plan-add-field.is-required label::after {
  content: " *";
  color: var(--qiq-accent);
}

.qdos-page .qdos-feed-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.qdos-page .qdos-tone-pill {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 3px 6px;
  border-radius: 999px;
  background: rgba(14, 165, 164, 0.18);
}

.qdos-page .btn-ghost--sm {
  padding: 4px 8px;
  font-size: 12px;
}

.qdos-page .qdos-badge-gallery-link {
  display: inline-flex;
  margin-top: 6px;
}

.qdos-toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  background: rgba(15, 23, 42, 0.92);
  color: #fff;
  padding: 10px 14px;
  border-radius: 12px;
  font-size: 13px;
  z-index: 1200;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.25);
}

.qdos-toast.is-error {
  background: rgba(220, 38, 38, 0.9);
}

html[data-theme="light"] .qdos-toast,
body[data-theme="light"] .qdos-toast {
  background: #0f172a;
}

.qdos-page .qdos-badge-option:hover .qdos-badge-visual {
  border-color: rgba(255, 255, 255, 0.35);
  transform: translateY(-1px);
}

.qdos-page .qdos-badge-option input:checked + .qdos-badge-visual {
  border-color: rgba(255, 255, 255, 0.6);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.35);
}

.qdos-page .qdos-icon,
.employee-page .qdos-icon {
  width: 40px;
  height: 40px;
  background: var(--qdos-icon-fill, var(--qiq-accent));
  -webkit-mask: var(--qdos-icon) no-repeat center / contain;
  mask: var(--qdos-icon) no-repeat center / contain;
  display: block;
  flex: 0 0 auto;
  color: var(--qdos-icon-fill, var(--qiq-accent));
}

.qdos-page .qdos-icon--sm {
  width: 24px;
  height: 24px;
}

.qdos-page .qdos-icon-fallback {
  position: absolute;
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  width: 24px;
  height: 24px;
  border-radius: 999px;
  border: 1px solid var(--qdos-icon-fill, var(--qiq-accent));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--qdos-icon-fill, var(--qiq-accent));
  background: transparent;
  opacity: 0;
  pointer-events: none;
}

.qdos-page .qdos-badge-visual[data-has-icon="0"] .qdos-icon-fallback {
  opacity: 1;
}

.qdos-page .qdos-badge-label {
  font-size: 11px;
  line-height: 1.15;
  letter-spacing: 0.02em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.qdos-page .qdos-feed {
  margin-top: 8px;
}

.qdos-page .qdos-badge-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background: rgba(15, 23, 42, 0.12);
  font-size: 13px;
  font-weight: 700;
  color: var(--text0);
}

.qdos-page .qdos-chip-label {
  line-height: 1;
}

html[data-theme="light"] .qdos-page .qdos-badge-chip,
body[data-theme="light"] .qdos-page .qdos-badge-chip,
body.light .qdos-page .qdos-badge-chip,
body.theme-light .qdos-page .qdos-badge-chip {
  background: rgba(255, 255, 255, 0.9);
  border-color: rgba(15, 23, 42, 0.12);
  color: rgba(15, 23, 42, 0.86);
}

.qdos-page .qdos-feed li {
  padding: 10px 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.qdos-page .qdos-feed li:last-child {
  border-bottom: none;
}

.rooftop-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.rooftop-switch select {
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.3);
  padding: 6px 10px;
  background: rgba(15, 23, 42, 0.2);
  color: var(--text0);
  font-size: 12px;
  font-weight: 700;
}

.qdos-badge-gallery {
  max-width: 1180px;
  margin: 16px auto 40px;
  padding: 0 24px;
}

.qdos-badge-gallery-block + .qdos-badge-gallery-block {
  margin-top: 24px;
}

.qdos-badge-gallery-block h2 {
  margin: 0 0 12px;
  font-size: 18px;
}

.qdos-badge-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 14px;
}

.qdos-badge-gallery-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: rgba(255, 255, 255, 0.9);
}

.qdos-badge-gallery-item.is-unearned {
  opacity: 0.5;
}

.qdos-badge-gallery-item .qdos-badge-visual {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  display: grid;
  place-items: center;
  padding: 0;
}

.qdos-badge-gallery-item .qdos-icon {
  width: 24px;
  height: 24px;
}

.qdos-badge-gallery-title {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 4px;
}

.qdos-badge-gallery-desc {
  font-size: 12px;
  line-height: 1.35;
}

html[data-theme="light"] .rooftop-switch select,
body[data-theme="light"] .rooftop-switch select,
body.light .rooftop-switch select,
body.theme-light .rooftop-switch select {
  background: rgba(255, 255, 255, 0.9);
  color: rgba(15, 23, 42, 0.86);
  border-color: rgba(15, 23, 42, 0.12);
}

.admin-resource-modal {
  max-width: 820px;
}

.admin-resource-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.resource-type-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.resource-type-card {
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.3);
  padding: 16px;
  background: rgba(255, 255, 255, 0.6);
  text-align: left;
  transition: transform 0.2s ease, border 0.2s ease;
}

.resource-type-card.is-selected {
  border-color: rgba(14, 165, 165, 0.5);
  transform: translateY(-1px);
}

.resource-type-title {
  font-weight: 600;
}

.resource-step-header {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.resource-inputs {
  display: grid;
  gap: 14px;
}

.resource-input span {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--muted);
}

.resource-suggestion {
  background: rgba(14, 165, 165, 0.08);
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 13px;
}

.resource-metadata {
  display: grid;
  gap: 14px;
}

.resource-tags,
.resource-visibility {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.resource-tags .label,
.resource-visibility .label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--muted);
}

.resource-plan-toggle {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.resource-plan-toggle .pill-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  background: rgba(255, 255, 255, 0.55);
}

.resource-plan-toggle input {
  margin: 0;
}

.plan-builder-grid {
  display: grid;
  gap: 12px;
}

.org-recent-resources {
  margin: 16px 0 22px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(148, 163, 184, 0.08);
}

.org-recent-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.org-recent-item {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 12px;
  font-size: 13px;
}

.org-list-divider {
  height: 1px;
  background: rgba(148, 163, 184, 0.2);
  margin: 18px 0;
}

.qdos-page .qdos-feed-main {
  display: flex;
  align-items: center;
  gap: 12px;
}

.qdos-recent {
  padding-top: 18px;
}

.qdos-recent-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.qdos-recent-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.qdos-recent-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.25);
  background: rgba(255, 255, 255, 0.55);
}

html[data-theme="dark"] .qdos-recent-item,
body.dark .qdos-recent-item,
body.dark-mode .qdos-recent-item {
  background: rgba(15, 23, 42, 0.55);
  border-color: rgba(148, 163, 184, 0.2);
}

.qdos-recent-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.qdos-recent-sub {
  font-size: 12px;
  color: var(--muted);
}

.qdos-recent-note {
  font-size: 13px;
  color: var(--text);
}

.qdo-human .qdos-icon--sm {
  box-shadow: 0 0 0 2px rgba(253, 224, 71, 0.25);
  border-radius: 999px;
}

.qdo-system .qdos-icon--sm {
  box-shadow: none;
}

.qdo-animate {
  animation: qdo-enter 420ms ease-out;
}

@keyframes qdo-enter {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.employee-page .qdos-badge-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 12px;
}

.employee-page .qdos-badge-option {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
}

.employee-page .qdos-preferences {
  margin-top: 16px;
  display: grid;
  gap: 10px;
}

.login-page .auth-card {
  background: var(--qiq-card-dark);
  border: 1px solid var(--qiq-card-border-dark);
  box-shadow: var(--qiq-shadow-dark);
}

.login-page .auth-message,
.login-page .auth-error {
  margin: 12px 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-1);
}

html[data-theme="light"] .login-page .auth-card,
body[data-theme="light"] .login-page .auth-card,
body.light .login-page .auth-card,
body.theme-light .login-page .auth-card {
  background: var(--qiq-card-light);
  border: 1px solid var(--qiq-card-border-light);
  box-shadow: var(--qiq-shadow-light);
}

.pro-dashboard .app-header-inner {
  padding: 14px var(--qiq-gutter);
}

.pro-dashboard .dashboard-tagline {
  line-height: 1.45;
  max-width: 640px;
}

.pro-dashboard .dashboard-card {
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28);
}

html[data-theme="light"] .pro-dashboard .dashboard-card,
body[data-theme="light"] .pro-dashboard .dashboard-card,
body.light .pro-dashboard .dashboard-card,
body.theme-light .pro-dashboard .dashboard-card {
  box-shadow: 0 14px 36px rgba(10, 22, 28, 0.12);
}

.pro-dashboard .dashboard-card .btn-secondary {
  padding: 10px 14px;
  min-height: 40px;
}

@media (max-width: 900px) {
  .qdos-page .qdos-form-row {
    grid-template-columns: 1fr;
  }
}

html[data-theme="light"] .qdos-page .qdos-from,
body[data-theme="light"] .qdos-page .qdos-from,
body.light .qdos-page .qdos-from,
body.theme-light .qdos-page .qdos-from {
  border-color: rgba(0, 0, 0, 0.12);
  background: rgba(0, 0, 0, 0.02);
}

html[data-theme="light"] .qdos-page .qdos-badge-visual,
body[data-theme="light"] .qdos-page .qdos-badge-visual,
body.light .qdos-page .qdos-badge-visual,
body.theme-light .qdos-page .qdos-badge-visual {
  border-color: rgba(0, 0, 0, 0.12);
  background: rgba(0, 0, 0, 0.02);
}

html[data-theme="light"] .qdos-page .qdos-badge-option:hover .qdos-badge-visual,
body[data-theme="light"] .qdos-page .qdos-badge-option:hover .qdos-badge-visual,
body.light .qdos-page .qdos-badge-option:hover .qdos-badge-visual,
body.theme-light .qdos-page .qdos-badge-option:hover .qdos-badge-visual {
  border-color: rgba(0, 0, 0, 0.3);
}

html[data-theme="light"] .qdos-page .qdos-badge-option input:checked + .qdos-badge-visual,
body[data-theme="light"] .qdos-page .qdos-badge-option input:checked + .qdos-badge-visual,
body.light .qdos-page .qdos-badge-option input:checked + .qdos-badge-visual,
body.theme-light .qdos-page .qdos-badge-option input:checked + .qdos-badge-visual {
  border-color: rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
}

@media (max-width: 900px) {
  .plan-add-row {
    grid-template-columns: 1fr;
  }
}

.pattern-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.pattern-tile {
  padding: 18px;
}

html[data-theme="light"] .employee-page .plan-tile,
body[data-theme="light"] .employee-page .plan-tile,
body.light .employee-page .plan-tile,
body.theme-light .employee-page .plan-tile {
  background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(230, 245, 246, 0.9) 100%);
  border-color: rgba(10, 18, 30, 0.1);
  box-shadow: var(--pro-shadow-soft);
}

html[data-theme="light"] .employee-page .plan-column,
body[data-theme="light"] .employee-page .plan-column,
body.light .employee-page .plan-column,
body.theme-light .employee-page .plan-column {
  background: rgba(255, 255, 255, 0.9);
  border-color: rgba(10, 18, 30, 0.08);
}

html[data-theme="light"] .employee-page .plan-item,
body[data-theme="light"] .employee-page .plan-item,
body.light .employee-page .plan-item,
body.theme-light .employee-page .plan-item {
  color: #1d1d1f;
}

html[data-theme="light"] .employee-page h1,
body[data-theme="light"] .employee-page h1,
body.light .employee-page h1,
body.theme-light .employee-page h1,
html[data-theme="light"] .employee-page h2,
body[data-theme="light"] .employee-page h2,
body.light .employee-page h2,
body.theme-light .employee-page h2,
html[data-theme="light"] .employee-page p,
body[data-theme="light"] .employee-page p,
body.light .employee-page p,
body.theme-light .employee-page p,
html[data-theme="light"] .employee-page .section-subtitle,
body[data-theme="light"] .employee-page .section-subtitle,
body.light .employee-page .section-subtitle,
body.theme-light .employee-page .section-subtitle {
  color: #1d1d1f;
}

html[data-theme="light"] .employee-page .summary-label,
body[data-theme="light"] .employee-page .summary-label,
body.light .employee-page .summary-label,
body.theme-light .employee-page .summary-label {
  color: #4b5563;
}

html[data-theme="light"] .employee-page .employee-title,
body[data-theme="light"] .employee-page .employee-title,
body.light .employee-page .employee-title,
body.theme-light .employee-page .employee-title {
  color: #4b5563;
}

html[data-theme="light"] .employee-details,
body[data-theme="light"] .employee-details,
body.light .employee-details,
body.theme-light .employee-details,
html[data-theme="light"] .employee-meta-list,
body[data-theme="light"] .employee-meta-list,
body.light .employee-meta-list,
body.theme-light .employee-meta-list {
  color: #475467;
  opacity: 1;
}

html[data-theme="light"] .employee-meta-item.is-muted,
body[data-theme="light"] .employee-meta-item.is-muted,
body.light .employee-meta-item.is-muted,
body.theme-light .employee-meta-item.is-muted {
  color: #667085;
  opacity: 1;
}

html[data-theme="light"] .employee-page,
body[data-theme="light"] .employee-page,
body.light .employee-page,
body.theme-light .employee-page {
  color: #1d1d1f;
}

html[data-theme="light"] .employee-page .muted,
body[data-theme="light"] .employee-page .muted,
body.light .employee-page .muted,
body.theme-light .employee-page .muted {
  color: #4b5563;
  opacity: 0.9;
}

html[data-theme="light"] .employee-page .nav-tile,
body[data-theme="light"] .employee-page .nav-tile,
body.light .employee-page .nav-tile,
body.theme-light .employee-page .nav-tile,
html[data-theme="light"] .employee-page .summary-value,
body[data-theme="light"] .employee-page .summary-value,
body.light .employee-page .summary-value,
body.theme-light .employee-page .summary-value,
html[data-theme="light"] .employee-page .section-head h2,
body[data-theme="light"] .employee-page .section-head h2,
body.light .employee-page .section-head h2,
body.theme-light .employee-page .section-head h2,
html[data-theme="light"] .employee-page .plan-meta,
body[data-theme="light"] .employee-page .plan-meta,
body.light .employee-page .plan-meta,
body.theme-light .employee-page .plan-meta {
  color: #1d1d1f;
}

html[data-theme="light"] .employee-page .section-subtitle,
body[data-theme="light"] .employee-page .section-subtitle,
body.light .employee-page .section-subtitle,
body.theme-light .employee-page .section-subtitle {
  color: #4b5563;
}

@media (max-width: 980px) {
  .employee-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .employee-toolbar {
    flex-direction: column;
    align-items: flex-start;
  }
  .plan-body {
    grid-template-columns: 1fr;
  }
  .pattern-grid {
    grid-template-columns: 1fr;
  }
}

.page--pro .featured-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.page--pro .feature-eyebrow {
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.65;
  margin: 0 0 8px;
}

.page--personal .hub-hero {
  text-align: left;
}

.page--personal .hub-hero .hub-subtitle {
  max-width: 60ch;
}

.hub-grid-featured {
  margin-bottom: 18px;
}

.hub-card-featured {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 28px 30px;
}

.hub-featured-actions {
  display: flex;
  align-items: center;
}

.hub-featured-actions .btn-primary {
  padding: 12px 20px;
  font-size: 16px;
  border-radius: 12px;
}

.hub-featured-eyebrow {
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.65;
  margin: 0 0 8px;
}

@media (max-width: 900px) {
  .hub-card-featured {
    flex-direction: column;
    align-items: flex-start;
  }

  .hub-featured-actions {
    width: 100%;
  }

  .hub-featured-actions .btn-primary {
    width: 100%;
    text-align: center;
  }
}

/* FOOTNOTE */
.app-footnote {
  text-align: center;
  opacity: 0.5;
  font-size: 13px;
  padding: 32px 0 48px;
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .card-grid.three,
  .card-grid.two {
    grid-template-columns: 1fr;
  }

  .dashboard-hero h1 {
    font-size: 36px;
  }
}
/* Pro dashboard: remove redundancy + tighten hierarchy */
.dashboard-jump{
  display:inline-block;
  margin-top:12px;
  font-weight:600;
  opacity:.75;
  text-decoration:none;
}
.dashboard-jump:hover{ opacity:1; }

.dashboard-hero .dashboard-tagline{
  max-width: 56ch;
  margin-left:auto;
  margin-right:auto;
  opacity:.78;
}

/* Makes headings feel more premium (heavier + tighter) */
.dashboard-hero h1{ font-weight: 750; letter-spacing: -0.02em; }
.dashboard-section h2{ font-weight: 700; letter-spacing: -0.02em; }
.dashboard-card h3{ font-weight: 700; letter-spacing: -0.01em; }

.dashboard-card .card-subtitle{
  margin: 6px 0 10px;
  opacity: .78;
}
/* --- Pro dashboard typography polish --- */

.app-main h1,
.app-main h2,
.app-main h3 {
  font-weight: 600;
  letter-spacing: -0.01em;
}

html[data-theme="dark"] .app-main p,
html[data-theme="dark"] .app-main li {
  color: rgba(255, 255, 255, 0.78);
}

html[data-theme="dark"] .section-subtitle {
  color: rgba(255, 255, 255, 0.65);
}

html[data-theme="light"] .app-main p,
html[data-theme="light"] .app-main li,
body[data-theme="light"] .app-main p,
body[data-theme="light"] .app-main li,
body.theme-light .app-main p,
body.theme-light .app-main li,
body.light .app-main p,
body.light .app-main li {
  color: #1f2937 !important;
}

html[data-theme="light"] .section-subtitle,
body[data-theme="light"] .section-subtitle,
body.theme-light .section-subtitle,
body.light .section-subtitle {
  color: #344054 !important;
  opacity: 1 !important;
}

.dashboard-card h3 {
  font-weight: 600;
  color: #ffffff;
}
/* =========================================
   LIGHT MODE FIXES (QiQ Pro)
   Paste at bottom of premium.css
========================================= */

/* Support multiple theme toggle styles */
html[data-theme="light"],
body[data-theme="light"],
body.light,
body.theme-light {
  --bg: #f6f7fb;
  --panel: #ffffff;
  --panel-2: #ffffff;

  --text: #0b0f19;         /* main text */
  --muted: #3b4252;        /* subtitles, helper text */
  --muted-2: #5a6476;      /* softer secondary */
  --border: rgba(15, 23, 42, 0.10);

  --shadow: 0 18px 40px rgba(15, 23, 42, 0.10);
}

/* Make sure base areas actually use the variables */
html[data-theme="light"] body,
body[data-theme="light"],
body.light,
body.theme-light {
  background: var(--bg) !important;
  color: var(--text) !important;
}

/* Fix “invisible” hero subtitle + section subtitles */
html[data-theme="light"] .dashboard-tagline,
html[data-theme="light"] .section-subtitle,
body[data-theme="light"] .dashboard-tagline,
body[data-theme="light"] .section-subtitle,
body.light .dashboard-tagline,
body.light .section-subtitle,
body.theme-light .dashboard-tagline,
body.theme-light .section-subtitle {
  color: var(--muted) !important;
  opacity: 1 !important;
}

/* Heavier headline weights in light mode (and generally nicer) */
.dashboard-hero h1,
.dashboard-hero h1 * {
  font-weight: 800;
  letter-spacing: -0.02em;
}

.dashboard-section h2 {
  font-weight: 800;
  letter-spacing: -0.015em;
}

.dashboard-card h3 {
  font-weight: 800;
}

/* Cards: ensure contrast doesn’t wash out */
html[data-theme="light"] .dashboard-card,
body[data-theme="light"] .dashboard-card,
body.light .dashboard-card,
body.theme-light .dashboard-card {
  background: var(--panel) !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow) !important;
}

html[data-theme="light"] .dashboard-card p,
html[data-theme="light"] .dashboard-card li,
body[data-theme="light"] .dashboard-card p,
body[data-theme="light"] .dashboard-card li,
body.light .dashboard-card p,
body.light .dashboard-card li,
body.theme-light .dashboard-card p,
body.theme-light .dashboard-card li {
  color: var(--muted) !important;
  opacity: 1 !important;
}

/* Buttons: keep the premium teal, but readable */
html[data-theme="light"] .btn-primary,
body[data-theme="light"] .btn-primary,
body.light .btn-primary,
body.theme-light .btn-primary {
  color: #fff !important;
  font-weight: 800;
}
/* === PATCH: stop Personal page cards from hard-coding white ============ */
/* Put this at the very bottom of static/premium.css */

html[data-theme="dark"] .card,
html[data-theme="dark"] .module-card,
html[data-theme="dark"] .focus-card,
html[data-theme="dark"] .feature-card,
html[data-theme="dark"] .tile,
html[data-theme="dark"] .panel {
  background: var(--card) !important;
  border: 1px solid var(--card-border) !important;
  box-shadow: var(--shadow) !important;
}

html[data-theme="light"] .card,
html[data-theme="light"] .module-card,
html[data-theme="light"] .focus-card,
html[data-theme="light"] .feature-card,
html[data-theme="light"] .tile,
html[data-theme="light"] .panel {
  background: var(--card) !important;
  border: 1px solid var(--card-border) !important;
  box-shadow: var(--shadow) !important;
}

/* Fix “invisible” text inside cards */
.card h1, .card h2, .card h3,
.module-card h1, .module-card h2, .module-card h3,
.focus-card h1, .focus-card h2, .focus-card h3,
.feature-card h1, .feature-card h2, .feature-card h3,
.tile h1, .tile h2, .tile h3,
.panel h1, .panel h2, .panel h3 {
  color: var(--text) !important;
}

.card p, .card li,
.module-card p, .module-card li,
.focus-card p, .focus-card li,
.feature-card p, .feature-card li,
.tile p, .tile li,
.panel p, .panel li {
  color: var(--text-2) !important;
}

/* Bullet markers were getting ghosted */
.card li::marker,
.module-card li::marker,
.focus-card li::marker,
.feature-card li::marker,
.tile li::marker,
.panel li::marker {
  color: var(--text-3) !important;
}

:root {
  --qiq-body-text: 20px;
  --qiq-body-line: 1.6;
}

p,
li,
label,
input,
textarea,
select,
.muted,
.subtext,
.helper-text,
.tool-result-body {
  font-size: var(--qiq-body-text) !important;
  line-height: var(--qiq-body-line) !important;
}

.experience-subtitle,
.hub-subtitle,
.tool-subtitle,
.experience-tagline,
.hub-tagline {
  font-size: var(--qiq-body-text) !important;
  line-height: var(--qiq-body-line) !important;
}

.coaching-compass .tool-hero {
  text-align: left !important;
}

.coaching-compass .tool-subtitle {
  max-width: 60ch;
}

.coaching-compass .tool-grid {
  grid-template-columns: 1.05fr 0.95fr;
  gap: 28px;
}

.coaching-compass .tool-result-body {
  background: var(--panel);
  border-color: var(--stroke);
  padding: 18px;
  box-shadow: var(--shadow-soft);
}

.coaching-compass .tool-result-pre {
  font-family: var(--qiq-font-sans) !important;
  font-size: var(--qiq-body-text) !important;
  line-height: var(--qiq-body-line) !important;
}

/* Header logo sizing (scoped: do not affect layout elsewhere) */
.app-header .logo-wrapper {
  width: 36px;
  height: 36px;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.app-header .logo-wrapper .qiq-logo {
  transform: scale(1.25);
  transform-origin: center;
}

@media (max-width: 900px) {
  .app-header .logo-wrapper .qiq-logo {
    transform: scale(1.15);
  }
}

.app-header .brand img,
.app-header .brand-logo,
.app-header .qiq-logo {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain;
}

/* Icon safety + containment */
.icon,
.icon img,
.icon svg,
.qdos-ticker-icon,
.qdos-icon,
.header-icon,
.dept-icon {
  width: 20px;
  height: 20px;
  max-width: 20px;
  max-height: 20px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.qdos-page .qdos-icon,
.employee-page .qdos-icon {
  width: 48px;
  height: 48px;
  max-width: 48px;
  max-height: 48px;
}

.qdos-page .qdos-icon--sm {
  width: 34px;
  height: 34px;
  max-width: 34px;
  max-height: 34px;
}

.qdos-ticker-icon,
.brand-logo {
  object-fit: contain;
}

svg {
  max-width: 100%;
  max-height: 100%;
  overflow: hidden;
}

.app-header .icon,
.qdos-ticker .icon,
.qdos-ticker img,
.qdos-ticker svg,
.qdos-ticker-icon {
  width: 88px;
  height: 88px;
  max-width: 88px;
  max-height: 88px;
}

.icon-wrapper {
  width: 96px;
  height: 96px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.qdos-ticker-link {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 600;
}

.qdos-ticker-link span:last-child {
  font-size: 20px;
  line-height: 1.2;
}

.qdos-ticker-icon[src*="extra-mile.png"] {
  transform: scale(0.88);
}

.qdos-ticker-icon[src*="big_brain_move.png"] {
  transform: scale(1.38);
}

.qdos-ticker-icon[src*="handled_it.png"] {
  transform: scale(0.9);
}

.qdos-ticker-icon[src*="magnet_energy.png"] {
  transform: scale(1.42);
}

.qdos-ticker-icon[src*="main-character-energy.png"] {
  transform: scale(0.94);
}

.qdos-ticker-icon[src*="on_fire.png"] {
  transform: scale(1.9);
}

.qdos-ticker-icon[src*="youre-cooking.png"] {
  transform: scale(0.96);
}

.qdos-marquee {
  overflow: hidden;
  width: auto;
  flex: 1 1 auto;
  min-width: 0;
  position: relative;
  padding-left: 0;
  padding-right: 0;
  z-index: 1;
}

.qdos-marquee::before,
.qdos-marquee::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 28px;
  pointer-events: none;
  z-index: 2;
}

.qdos-marquee::before {
  left: 0;
  background: linear-gradient(90deg, rgba(248, 250, 252, 0.95), rgba(248, 250, 252, 0));
}

.qdos-marquee::after {
  right: 0;
  background: linear-gradient(270deg, rgba(248, 250, 252, 0.95), rgba(248, 250, 252, 0));
}

html[data-theme="dark"] .qdos-marquee::before,
body[data-theme="dark"] .qdos-marquee::before {
  background: linear-gradient(90deg, rgba(15, 23, 42, 0.9), rgba(15, 23, 42, 0));
}

html[data-theme="dark"] .qdos-marquee::after,
body[data-theme="dark"] .qdos-marquee::after {
  background: linear-gradient(270deg, rgba(15, 23, 42, 0.9), rgba(15, 23, 42, 0));
}

.qdos-track {
  display: flex;
  align-items: center;
  gap: 28px;
  width: max-content;
  will-change: transform;
  --qdos-duration: 22s;
}

.qdos-marquee .qdos-track {
  animation: qdos-marquee var(--qdos-duration, 22s) linear infinite;
}

.qdos-marquee:hover .qdos-track,
.qdos-marquee:focus-within .qdos-track {
  animation-play-state: paused;
}

.qdos-marquee.ticker-off .qdos-track {
  animation: none !important;
  transform: translateX(0) !important;
}

@media (prefers-reduced-motion: reduce) {
  .qdos-track {
    animation: none !important;
    transform: translateX(0) !important;
  }
}

@keyframes qdos-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.qdos-empty {
  color: var(--muted);
  font-size: 13px;
  white-space: nowrap;
}

.qdos-marquee.is-empty .qdos-track {
  gap: 56px;
}

.card-actions--inline{
  margin: 8px 0 4px;
}


.qdos-ticker-controls {
  opacity: 0.86;
  pointer-events: auto;
  transform: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
  margin-left: 12px;
  font-size: 12px;
  color: var(--muted);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  position: relative;
  z-index: 4;
}

.qdos-ticker:hover .qdos-ticker-controls,
.qdos-ticker:focus-within .qdos-ticker-controls {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.qdos-ticker-controls button {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  color: inherit;
  padding: 3px 8px;
  cursor: pointer;
}

.qdos-ticker-controls button.is-active {
  color: var(--text);
  font-weight: 600;
  background: #fff;
  border-color: rgba(19, 182, 198, 0.35);
}

.dept-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.dept-title {
  margin: 0;
}

.hero-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.preview-persona-switch {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}

.preview-persona-switch label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  opacity: 0.7;
}

.preview-persona-switch select {
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: var(--panel);
}

.leadership-section .quiet-flag {
  font-weight: 600;
  color: var(--warn);
}

.pro-dashboard .pulse-primary {
  padding: 44px;
  min-height: 360px;
}

.pro-dashboard .leadership-pulse {
  padding: 20px;
  min-height: 220px;
}

.pro-dashboard .dashboard-section {
  margin-top: 32px;
}

.pro-dashboard .dashboard-section .card-grid.three .dashboard-card {
  padding: 16px;
}

.pulse-strip--glow {
  position: relative;
}

.pulse-strip--glow::after {
  content: "";
  position: absolute;
  inset: -12px;
  background: radial-gradient(circle at 30% 50%, rgba(14, 165, 164, 0.12), transparent 60%);
  z-index: 0;
  pointer-events: none;
}

.pulse-strip--glow {
  position: relative;
  z-index: 1;
}

.pro-dashboard .pulse-primary .status-pill {
  font-size: 13px;
  padding: 6px 12px;
}

.momentum-line {
  margin-top: 10px;
}

.momentum-up,
.momentum-down,
.momentum-flat {
  font-weight: 600;
  color: var(--muted);
}

.dashboard-section {
  margin-top: 28px;
}

.dashboard-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-soft);
}

.pulse-dot--animate::after {
  animation: pulse-dot-breathe 2.4s ease-in-out infinite;
}

@keyframes pulse-dot-breathe {
  0% { transform: scale(1); opacity: 0.55; }
  50% { transform: scale(1.25); opacity: 0.25; }
  100% { transform: scale(1); opacity: 0.55; }
}

.leadership-pulse summary {
  list-style: none;
  cursor: pointer;
}

.leadership-pulse {
  padding: 24px;
}

.leadership-pulse summary::-webkit-details-marker {
  display: none;
}

.leadership-pulse .leadership-details {
  margin-top: 16px;
}

.leadership-pulse .pill-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 16px;
}

.pro-dashboard .leadership-filter-row .chip {
  border: 1px solid var(--card-border);
  background: var(--panel);
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 12px;
  cursor: pointer;
}

.pro-dashboard .leadership-filter-row .chip.is-selected {
  background: rgba(0, 0, 0, 0.06);
}

.pro-dashboard .leadership-loading,
.pro-dashboard .leadership-error {
  margin: 0 0 10px;
  font-size: 12px;
}

.leadership-focus-form {
  margin-bottom: 16px;
}

.leadership-focus-form .focus-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: var(--panel);
  font-size: 12px;
}

.leadership-focus-form .focus-pill input {
  accent-color: var(--qiq-accent);
}

.leadership-focus-form .focus-note {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 10px;
  font-size: 12px;
}

.leadership-focus-form .focus-note input {
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: var(--panel);
}

.leadership-section .focus-row {
  margin: 10px 0 12px;
}

.leadership-section .focus-empty {
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
}

.leadership-section .focus-warning {
  font-size: 12px;
  font-weight: 600;
  color: var(--warn);
  margin-top: 6px;
}

.leadership-section .focus-divider {
  height: 1px;
  background: var(--card-border);
  margin: 12px 0;
}

.focus-pill-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-width: 100%;
}

.focus-pill-item {
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.focus-pill-wrap.is-collapsed {
  max-height: 64px;
  overflow: hidden;
}

.focus-pill-wrap.is-expanded {
  max-height: none;
}

.focus-toggle {
  margin-top: 6px;
  font-size: 12px;
}

.one-on-one-log .grid-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}

.one-on-one-log label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 13px;
}

.one-on-one-log select,
.one-on-one-log input {
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: var(--panel);
}

.metric-link {
  text-decoration: none;
  color: inherit;
}

.metric-link.is-disabled {
  pointer-events: none;
  opacity: 0.6;
}

.app-header {
  display: block;
}

.app-header-inner {
  width: 100%;
}

/* Light mode contrast lock for Profile + Team pages (override late rules). */
html[data-theme="light"] .page--pro .profile-page h2,
html[data-theme="light"] .page--pro .profile-page h3,
html[data-theme="light"] .page--pro .profile-page p,
html[data-theme="light"] .page--pro .profile-page li,
html[data-theme="light"] .page--pro .profile-page .section-subtitle,
body[data-theme="light"] .page--pro .profile-page h2,
body[data-theme="light"] .page--pro .profile-page h3,
body[data-theme="light"] .page--pro .profile-page p,
body[data-theme="light"] .page--pro .profile-page li,
body[data-theme="light"] .page--pro .profile-page .section-subtitle,
body.theme-light .page--pro .profile-page h2,
body.theme-light .page--pro .profile-page h3,
body.theme-light .page--pro .profile-page p,
body.theme-light .page--pro .profile-page li,
body.theme-light .page--pro .profile-page .section-subtitle,
body.light .page--pro .profile-page h2,
body.light .page--pro .profile-page h3,
body.light .page--pro .profile-page p,
body.light .page--pro .profile-page li,
body.light .page--pro .profile-page .section-subtitle {
  color: #1f2937 !important;
  opacity: 1 !important;
}

html[data-theme="light"] .page--pro .profile-page .section-subtitle,
body[data-theme="light"] .page--pro .profile-page .section-subtitle,
body.theme-light .page--pro .profile-page .section-subtitle,
body.light .page--pro .profile-page .section-subtitle {
  color: #344054 !important;
}

html[data-theme="light"] .page--pro .employee-page h1,
html[data-theme="light"] .page--pro .employee-page h2,
html[data-theme="light"] .page--pro .employee-page h3,
html[data-theme="light"] .page--pro .employee-page p,
html[data-theme="light"] .page--pro .employee-page li,
html[data-theme="light"] .page--pro .employee-page .section-subtitle,
html[data-theme="light"] .page--pro .employee-page .employee-title,
html[data-theme="light"] .page--pro .employee-page .employee-details,
html[data-theme="light"] .page--pro .employee-page .employee-details span,
html[data-theme="light"] .page--pro .employee-page .summary-label,
html[data-theme="light"] .page--pro .employee-page .employee-filter-label,
html[data-theme="light"] .page--pro .employee-page .nav-tile,
body[data-theme="light"] .page--pro .employee-page h1,
body[data-theme="light"] .page--pro .employee-page h2,
body[data-theme="light"] .page--pro .employee-page h3,
body[data-theme="light"] .page--pro .employee-page p,
body[data-theme="light"] .page--pro .employee-page li,
body[data-theme="light"] .page--pro .employee-page .section-subtitle,
body[data-theme="light"] .page--pro .employee-page .employee-title,
body[data-theme="light"] .page--pro .employee-page .employee-details,
body[data-theme="light"] .page--pro .employee-page .employee-details span,
body[data-theme="light"] .page--pro .employee-page .summary-label,
body[data-theme="light"] .page--pro .employee-page .employee-filter-label,
body[data-theme="light"] .page--pro .employee-page .nav-tile,
body.theme-light .page--pro .employee-page h1,
body.theme-light .page--pro .employee-page h2,
body.theme-light .page--pro .employee-page h3,
body.theme-light .page--pro .employee-page p,
body.theme-light .page--pro .employee-page li,
body.theme-light .page--pro .employee-page .section-subtitle,
body.theme-light .page--pro .employee-page .employee-title,
body.theme-light .page--pro .employee-page .employee-details,
body.theme-light .page--pro .employee-page .employee-details span,
body.theme-light .page--pro .employee-page .summary-label,
body.theme-light .page--pro .employee-page .employee-filter-label,
body.theme-light .page--pro .employee-page .nav-tile,
body.light .page--pro .employee-page h1,
body.light .page--pro .employee-page h2,
body.light .page--pro .employee-page h3,
body.light .page--pro .employee-page p,
body.light .page--pro .employee-page li,
body.light .page--pro .employee-page .section-subtitle,
body.light .page--pro .employee-page .employee-title,
body.light .page--pro .employee-page .employee-details,
body.light .page--pro .employee-page .employee-details span,
body.light .page--pro .employee-page .summary-label,
body.light .page--pro .employee-page .employee-filter-label,
body.light .page--pro .employee-page .nav-tile {
  color: #1f2937 !important;
  opacity: 1 !important;
}

html[data-theme="light"] .page--pro .employee-page .section-subtitle,
body[data-theme="light"] .page--pro .employee-page .section-subtitle,
body.theme-light .page--pro .employee-page .section-subtitle,
body.light .page--pro .employee-page .section-subtitle {
  color: #344054 !important;
}

/* Hard stop any light-mode overlays that wash out text on Pro/Profile/Team */
html[data-theme="light"] .page--pro .app-shell::before,
body[data-theme="light"] .page--pro .app-shell::before,
body.theme-light .page--pro .app-shell::before,
body.light .page--pro .app-shell::before {
  display: none !important;
}

html[data-theme="light"] .page--pro .qiq-tile::before,
html[data-theme="light"] .page--pro .hub-card::before,
html[data-theme="light"] .page--pro .experience-card::before,
html[data-theme="light"] .page--pro .dashboard-card::before,
html[data-theme="light"] .page--pro .card::before,
html[data-theme="light"] .page--pro .panel::before,
html[data-theme="light"] .page--pro .module-card::before,
html[data-theme="light"] .page--pro .feature-card::before,
body[data-theme="light"] .page--pro .qiq-tile::before,
body[data-theme="light"] .page--pro .hub-card::before,
body[data-theme="light"] .page--pro .experience-card::before,
body[data-theme="light"] .page--pro .dashboard-card::before,
body[data-theme="light"] .page--pro .card::before,
body[data-theme="light"] .page--pro .panel::before,
body[data-theme="light"] .page--pro .module-card::before,
body[data-theme="light"] .page--pro .feature-card::before,
body.theme-light .page--pro .qiq-tile::before,
body.theme-light .page--pro .hub-card::before,
body.theme-light .page--pro .experience-card::before,
body.theme-light .page--pro .dashboard-card::before,
body.theme-light .page--pro .card::before,
body.theme-light .page--pro .panel::before,
body.theme-light .page--pro .module-card::before,
body.theme-light .page--pro .feature-card::before,
body.light .page--pro .qiq-tile::before,
body.light .page--pro .hub-card::before,
body.light .page--pro .experience-card::before,
body.light .page--pro .dashboard-card::before,
body.light .page--pro .card::before,
body.light .page--pro .panel::before,
body.light .page--pro .module-card::before,
body.light .page--pro .feature-card::before {
  display: none !important;
}

.page--pro .qiq-tile::before {
  display: none !important;
  background: none !important;
}

/* --- Profile menu --- */
.profile-menu {
  position: relative;
}

.profile-menu summary {
  list-style: none;
  cursor: pointer;
}

.profile-menu summary::-webkit-details-marker {
  display: none;
}

.profile-menu summary::marker {
  content: "";
}

.admin-stealth-link {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(19, 182, 198, 0.6);
  display: inline-block;
  opacity: 0.45;
}

.admin-stealth-link:hover,
.admin-stealth-link:focus-visible {
  opacity: 0.9;
  outline: none;
}

.debug-role-switch {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px dashed rgba(19, 182, 198, 0.45);
  font-size: 12px;
  color: var(--text-2);
}

.debug-role-switch label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.debug-role-switch select {
  background: transparent;
  border: none;
  color: var(--text);
  font-weight: 600;
}

.debug-role-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 8px 12px;
  font-size: 12px;
  background: rgba(19, 182, 198, 0.12);
  color: var(--text);
  border-top: 1px solid var(--card-border);
}

.debug-permissions {
  margin: 8px 20px 0;
  padding: 8px 12px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--text-2);
}

html[data-theme="light"] .debug-permissions,
body[data-theme="light"] .debug-permissions {
  background: rgba(15, 23, 42, 0.04);
  border-color: rgba(15, 23, 42, 0.1);
  color: #475467;
}

.debug-role-meta {
  display: none;
}

.profile-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid var(--card-border);
  background: transparent;
  color: var(--text);
  font-weight: 650;
  letter-spacing: 0.02em;
  overflow: hidden;
}

.profile-trigger:focus-visible {
  outline: 2px solid rgba(17, 119, 255, 0.35);
  outline-offset: 2px;
}

.profile-trigger img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.profile-dropdown {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  min-width: 160px;
  padding: 8px;
  border-radius: 12px;
  border: 1px solid var(--card-border);
  background: var(--card);
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  gap: 6px;
  z-index: 40;
}

.profile-dropdown a {
  color: var(--text);
  text-decoration: none;
  padding: 8px 10px;
  border-radius: 10px;
}

.profile-dropdown a:hover {
  background: var(--surface);
}

details.profile-menu:not([open]) .profile-dropdown {
  display: none;
}

.pill--button {
  border: 0;
  background: transparent;
  cursor: pointer;
}

/* --- Team role view --- */
.team-role-page {
  max-width: 1100px;
}

.team-role-card {
  padding: 28px;
}

.team-role-header {
  display: flex;
  align-items: flex-start;
  gap: 28px;
}

.team-role-meta h2 {
  margin: 6px 0 6px;
}

.team-role-eyebrow {
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--text-3);
}

.team-role-sub {
  margin: 0;
  color: var(--text-2);
}

.team-role-pulse {
  margin-left: auto;
  text-align: right;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.team-role-alert {
  margin-left: auto;
  padding: 8px 16px;
  border-radius: 14px;
  border: 1px solid rgba(255, 184, 71, 0.4);
  background: rgba(255, 244, 229, 0.9);
  color: rgba(24, 28, 32, 0.85);
  font-size: 13px;
}

.team-role-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--text-3);
}

.team-role-status {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.team-role-trend {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-2);
}

@media (max-width: 900px) {
  .team-role-header {
    flex-direction: column;
  }

  .team-role-pulse {
    margin-left: 0;
    text-align: left;
  }
}

/* --- Organization + Department admin pages --- */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.admin-org-page,
.org-dept-page {
  max-width: 1100px;
}

.admin-org-header,
.org-dept-header {
  display: grid;
  gap: 16px;
}

.admin-org-eyebrow,
.org-dept-eyebrow {
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--text-3);
}

.admin-org-form,
.org-dept-form {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.admin-org-form input,
.org-dept-form input,
.org-dept-edit input {
  min-width: 240px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--card-border);
  background: var(--card);
  color: var(--text);
}

.admin-org-list,
.org-dept-list {
  margin-top: 20px;
  display: grid;
  gap: 16px;
}

.admin-org-card,
.org-dept-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.admin-org-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}

.admin-org-meta .meta-label {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-3);
}

.admin-org-meta .meta-value {
  font-weight: 600;
}

.admin-org-link {
  margin-top: 8px;
  font-size: 13px;
  text-decoration: none;
  color: var(--accent);
}

.admin-org-link:hover {
  text-decoration: underline;
}

.org-dept-edit {
  display: none;
  align-items: center;
  gap: 10px;
  width: 100%;
}

.form-error {
  color: #b42318;
  font-weight: 600;
}

.form-success {
  color: #14804a;
  font-weight: 600;
}

.org-dept-card {
  cursor: pointer;
}

.org-dept-view {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.org-dept-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.org-dept-edit-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.org-dept-card.is-editing .org-dept-view {
  display: none;
}

.org-dept-card.is-editing .org-dept-edit {
  display: flex;
}

.dept-save-status {
  font-size: 12px;
  margin-left: auto;
}

.department-detail-page {
  max-width: 1100px;
}

.department-detail-header {
  display: grid;
  gap: 16px;
}

.department-detail-eyebrow {
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--text-3);
}

.department-assign-form {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.department-assign-form select {
  min-width: 260px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--card-border);
  background: var(--card);
  color: var(--text);
}

.department-members {
  margin-top: 20px;
  display: grid;
  gap: 16px;
}

.department-member-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

/* --- Pulse page --- */
.pulse-page {
  max-width: 900px;
}

.pulse-card {
  padding: 24px;
  display: grid;
  gap: 20px;
  max-width: 720px;
  margin: 0 auto;
}

/* Pro dashboard: pulse panels must be full width and not centered */
.page--pro.pro-dashboard .pulse-card {
  max-width: 100%;
  margin: 0;
  display: block;
  gap: 0;
}

.pulse-subline {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--text-3);
}

.pulse-category-row {
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pulse-category-pill {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-2);
  font-size: 0.85rem;
  text-decoration: none;
}

.pulse-category-pill.is-active {
  border-color: rgba(94, 234, 212, 0.5);
  color: #e5fffb;
  background: rgba(94, 234, 212, 0.12);
}

html[data-theme="light"] .pulse-category-pill,
body[data-theme="light"] .pulse-category-pill,
body.theme-light .pulse-category-pill,
body.light .pulse-category-pill {
  border-color: rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.9);
  color: #111827;
}

html[data-theme="light"] .pulse-category-pill.is-active,
body[data-theme="light"] .pulse-category-pill.is-active,
body.theme-light .pulse-category-pill.is-active,
body.light .pulse-category-pill.is-active {
  border-color: rgba(20, 184, 166, 0.55);
  color: #0f766e;
  background: rgba(20, 184, 166, 0.12);
}

.pulse-header-block {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.pulse-header-block h2 {
  margin: 0;
  font-size: clamp(32px, 3vw, 36px);
  line-height: 1.2;
  font-weight: 600;
  color: var(--text);
}

.pulse-question-panel {
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(11, 18, 32, 0.08);
  background: rgba(255, 255, 255, 0.6);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
}

.pulse-confirm {
  display: grid;
  gap: 10px;
}

.pulse-confirm-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

.pulse-result-grid {
  display: grid;
  gap: 14px;
  margin-top: 10px;
}

.pulse-result-card {
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
  display: grid;
  gap: 10px;
}

.pulse-result-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.pulse-result-head h4 {
  margin: 0 0 4px;
  font-size: 1rem;
}

.pulse-status-pill {
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 0.75rem;
  color: var(--text-2);
}

.pulse-result-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.pulse-meta-chip {
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  font-size: 0.75rem;
  color: var(--text-2);
}

.pulse-result-question {
  color: var(--text-2);
  font-size: 0.9rem;
}

.pulse-result-next p {
  margin: 4px 0 0;
}

html[data-theme="light"] .pulse-result-card,
body[data-theme="light"] .pulse-result-card,
body.theme-light .pulse-result-card,
body.light .pulse-result-card {
  border-color: rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.9);
}

html[data-theme="light"] .pulse-status-pill,
body[data-theme="light"] .pulse-status-pill,
body.theme-light .pulse-status-pill,
body.light .pulse-status-pill,
html[data-theme="light"] .pulse-meta-chip,
body[data-theme="light"] .pulse-meta-chip,
body.theme-light .pulse-meta-chip,
body.light .pulse-meta-chip {
  border-color: rgba(15, 23, 42, 0.12);
  color: #111827;
}

.pulse-question-text {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
}

.pulse-eyebrow {
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--text-3);
}

.pulse-scale {
  display: grid;
  gap: 8px;
  margin: 8px 0 0;
}

.pulse-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid transparent;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, background 0.2s ease;
}

.pulse-option.is-selected {
  border-color: rgba(19, 182, 198, 0.6);
  box-shadow: 0 4px 16px rgba(19, 182, 198, 0.18);
  background: rgba(19, 182, 198, 0.08);
}

.pulse-option:hover {
  border-color: rgba(19, 182, 198, 0.35);
  transform: translateY(-1px);
  background: rgba(19, 182, 198, 0.05);
}

.pulse-option input[type="radio"] {
  accent-color: rgba(19, 182, 198, 0.8);
}

.pulse-anon-pill {
  display: inline-flex;
  align-items: center;
  margin-top: 8px;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(11, 18, 32, 0.08);
  font-size: 12px;
  color: var(--text-2);
  background: rgba(255, 255, 255, 0.8);
}

.pulse-anon-note {
  font-size: 12px;
  color: var(--text-2);
  margin: 8px 0 0;
}

.pulse-follow {
  margin-top: 20px;
  display: grid;
  gap: 6px;
}

.pulse-follow textarea {
  width: 100%;
  min-height: 110px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(11, 18, 32, 0.08);
  background: rgba(247, 250, 252, 0.8);
  color: var(--text);
}

.pulse-follow-note {
  font-size: 12px;
  color: var(--text-3);
  margin: 0;
}

.pulse-footer {
  margin-top: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.pulse-microcopy {
  margin: 0;
  font-size: 12px;
  color: var(--text-3);
}

[data-pulse-submit].is-loading {
  opacity: 0.75;
  pointer-events: none;
}

.pulse-series {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.pulse-chip {
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--card-border);
  font-size: 12px;
  color: var(--text-2);
}

.pulse-chip.pulse-state--steady,
.pulse-chip.pulse-state--slowing,
.pulse-chip.pulse-state--strain,
.pulse-chip.pulse-state--neutral {
  border-color: var(--pulse-state-color, var(--card-border));
  color: var(--pulse-state-color, var(--text-2));
}

.pulse-toast {
  align-self: flex-start;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(19, 182, 198, 0.4);
  background: rgba(19, 182, 198, 0.12);
  font-size: 12px;
  color: var(--text);
}

.pulse-cards {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.pulse-card-mini {
  padding: 18px;
  border-radius: 16px;
  border: 1px solid var(--card-border);
  background: var(--card);
  display: grid;
  gap: 12px;
}

.pulse-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.pulse-card-label {
  display: block;
  font-weight: 600;
  color: var(--text);
}

.pulse-card-subline {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: var(--text-3);
}

.pulse-status-pill {
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid var(--card-border);
  font-size: 12px;
  color: var(--text-2);
  background: var(--surface);
  white-space: nowrap;
}

.pulse-card-meta {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 12px;
  color: var(--text-2);
}

.pulse-direction,
.pulse-confidence {
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid var(--card-border);
  background: var(--surface);
}

.pulse-themes {
  margin-top: 18px;
  padding: 16px;
  border-radius: 16px;
  border: 1px dashed var(--card-border);
  background: var(--surface);
}

.pulse-themes h3 {
  margin: 0 0 12px;
  font-size: 14px;
}

.pulse-theme-list {
  display: grid;
  gap: 10px;
}

.pulse-theme-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  font-size: 14px;
  color: var(--text);
}

.pulse-theme-strength {
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid var(--card-border);
  font-size: 11px;
  color: var(--text-3);
  background: var(--card);
  white-space: nowrap;
}

.culture-summary-banner {
  margin: 16px 0;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.06);
  font-weight: 600;
}

.culture-flow {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  display: grid;
  gap: 16px;
}

.culture-flow-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.momentum-status {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  font-weight: 600;
}

.culture-flow-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}

.culture-flow-column ul,
.culture-flow-notes ul {
  margin: 0;
  padding-left: 18px;
}

.culture-flow-column li,
.culture-flow-notes li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
}

.culture-connector {
  display: grid;
  gap: 8px;
  margin: 8px 0 4px;
}

.culture-connector-label {
  font-size: 12px;
  color: var(--text-3);
  text-transform: uppercase;
  letter-spacing: 0.14em;
}

.culture-connector-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.culture-connector-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--card-border);
  background: rgba(255, 255, 255, 0.04);
  color: var(--text-2);
  font-size: 12px;
  cursor: pointer;
}

.culture-connector-chip .pulse-dot {
  width: 8px;
  height: 8px;
}

.culture-transition {
  margin: 18px 0 8px;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.trend-pill {
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 12px;
  background: rgba(255, 255, 255, 0.08);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.trend-arrow {
  font-size: 12px;
  color: var(--text-2);
}

/* --- Culture page --- */
.culture-page {
  max-width: 1000px;
}

.right-now-band {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 16px;
  border-radius: 14px;
  border: 1px solid var(--card-border);
  background: rgba(255, 255, 255, 0.05);
  margin-bottom: 14px;
}

.right-now-band::before {
  content: "";
  width: 6px;
  height: 36px;
  border-radius: 999px;
  background: var(--pulse-state-color, var(--text-3));
}

.right-now-label {
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-3);
}

.right-now-content {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.right-now-primary {
  font-weight: 600;
  color: var(--text);
}

.right-now-secondary {
  font-size: 13px;
  color: var(--text-2);
}

.culture-card {
  padding: 28px;
  display: grid;
  gap: 18px;
}

.culture-hero {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
}

.culture-hero-sub {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--text-2);
}

.culture-impact {
  margin-top: 6px;
  font-size: 12px;
  color: var(--text-3);
}

.culture-hero-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  font-size: 12px;
}

.culture-signal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
}

.culture-signal-card {
  border: 1px solid var(--card-border);
  background: rgba(255, 255, 255, 0.04);
  border-radius: 16px;
  padding: 14px;
  text-align: left;
  cursor: pointer;
}

.culture-signal-card.tile-selected {
  border-color: var(--pulse-state-color, var(--card-border));
  outline: 2px solid var(--pulse-state-color, var(--card-border));
  outline-offset: 2px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12);
}

.culture-signal-card.pulse-state--strain {
  background: rgba(240, 90, 90, 0.08);
}

.culture-signal-card.pulse-state--slowing {
  background: rgba(242, 184, 75, 0.08);
}

.culture-signal-card.is-collecting {
  background: rgba(255, 255, 255, 0.02);
  border-style: dashed;
}

.culture-signal-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 600;
}

.culture-signal-sub {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  color: var(--text-2);
}

.culture-signal-status {
  display: inline-flex;
  margin-top: 8px;
  font-size: 12px;
  color: var(--text-2);
}

.culture-arrow {
  margin-top: 10px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 48px;
  color: var(--pulse-state-color, var(--text-3));
  transition: transform 0.2s ease, opacity 0.2s ease;
  position: relative;
  gap: 6px;
}

.culture-arrow.is-collecting {
  color: var(--text-3);
}

.momentum-arrow {
  width: 48px;
  height: 24px;
  transform: rotate(var(--arrow-rotate, 0deg));
  transform-origin: center;
}

.momentum-halo {
  position: absolute;
  top: 2px;
  width: 54px;
  height: 30px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--pulse-state-color, var(--text-3)) 12%, transparent);
  filter: blur(6px);
  opacity: 0.6;
  z-index: 0;
}

.momentum-trail {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 22px;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--pulse-state-color, var(--text-3)) 20%, transparent), transparent);
  opacity: 0.45;
  z-index: 0;
  transform-origin: left center;
}

.momentum-trail--up {
  transform: rotate(-30deg);
}

.momentum-trail--down {
  transform: rotate(30deg);
}

.momentum-trail--steady {
  transform: rotate(0deg);
}

.momentum-arrow,
.momentum-label {
  position: relative;
  z-index: 1;
}

.momentum-label {
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-2);
}

.momentum-arrow--up {
  --arrow-rotate: -30deg;
}

.momentum-arrow--down {
  --arrow-rotate: 30deg;
}

.momentum-arrow--steady {
  --arrow-rotate: 0deg;
}

.culture-signal-card.is-active .momentum-halo {
  animation: haloBreath 7s ease-in-out infinite;
}

.culture-signal-card.is-active .momentum-trail {
  animation: trailShift 7s ease-in-out infinite;
}

@keyframes haloBreath {
  0%, 100% {
    opacity: 0.5;
  }
  50% {
    opacity: 0.75;
  }
}

@keyframes trailShift {
  0%, 100% {
    opacity: 0.35;
    transform: translateX(0) rotate(var(--trail-rotate, 0deg));
  }
  50% {
    opacity: 0.6;
    transform: translateX(3px) rotate(var(--trail-rotate, 0deg));
  }
}

.momentum-trail--up {
  --trail-rotate: -30deg;
}

.momentum-trail--down {
  --trail-rotate: 30deg;
}

.momentum-trail--steady {
  --trail-rotate: 0deg;
}

@media (prefers-reduced-motion: reduce) {
  .culture-signal-card.is-active .momentum-halo,
  .culture-signal-card.is-active .momentum-trail {
    animation: none;
  }
}

.culture-arrow.is-collecting .momentum-halo,
.culture-arrow.is-collecting .momentum-trail {
  opacity: 0.3;
}

.momentum-arrow--strain path {
  stroke-dasharray: 6 3;
  stroke-linecap: round;
}

.momentum-arrow--strain {
  opacity: 0.85;
}

.culture-signal-card.tile-selected .culture-arrow {
  transform: scale(1.08);
}

.culture-signal-card.tile-primary .culture-signal-head {
  font-weight: 600;
}

.pulse-row-status {
  color: var(--pulse-state-color, var(--text-2));
}

.pulse-row-status .pulse-mini-arrow,
.pulse-row-status .pulse-status-text {
  color: inherit;
}

.culture-collecting-note {
  font-size: 12px;
}

.culture-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.culture-panel {
  margin-top: 10px;
}

.culture-eyebrow {
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--text-3);
}

.culture-admin {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

/* --- Undercurrent --- */
.undercurrent-page {
  display: grid;
  gap: 18px;
}

.undercurrent-hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 12px;
}

.undercurrent-window {
  display: grid;
  gap: 4px;
  font-size: 13px;
  color: var(--text-2);
}

.undercurrent-window-label {
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 11px;
  opacity: 0.7;
}

.undercurrent-form-card {
  display: grid;
  gap: 16px;
}

.undercurrent-form-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.undercurrent-privacy {
  font-size: 12px;
  color: var(--text-2);
}

.undercurrent-admin-test {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 12px;
  border: 1px dashed var(--card-border);
  border-radius: 14px;
  background: var(--surface);
}

.undercurrent-admin {
  padding: 12px 16px;
}

.undercurrent-admin--tools {
  margin-top: 16px;
  border: 1px dashed var(--cardBorder);
  border-radius: 16px;
  background: transparent;
  box-shadow: none;
}

.undercurrent-admin--tools .undercurrent-admin-summary {
  font-weight: 500;
}

.undercurrent-admin-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  list-style: none;
  font-weight: 600;
}

.undercurrent-admin-summary::-webkit-details-marker {
  display: none;
}

.undercurrent-admin[open] .undercurrent-admin-summary {
  margin-bottom: 12px;
}

.undercurrent-admin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.undercurrent-pairing-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.undercurrent-summary-row {
  display: grid;
  grid-template-columns: minmax(180px, 1.2fr) minmax(180px, 1fr) minmax(120px, 0.6fr);
  align-items: center;
  gap: 16px;
  padding: 10px 0;
}

.undercurrent-meter {
  display: grid;
  gap: 6px;
}

.undercurrent-meter-dots {
  display: flex;
  align-items: center;
  gap: 6px;
}

.undercurrent-meter-labels {
  font-size: 11px;
  color: var(--text-2);
  letter-spacing: 0.02em;
}

.undercurrent-summary-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  justify-self: end;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--pulse-state-color, var(--text-2));
}

.undercurrent-pair-sub,
.undercurrent-result-sub {
  font-size: 12px;
  color: var(--text-2);
}

.undercurrent-result-title {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.undercurrent-pairings {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.undercurrent-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.undercurrent-tab {
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid var(--card-border);
  color: var(--text);
  text-decoration: none;
  font-size: 13px;
}

.undercurrent-tab.is-active {
  border-color: var(--accent);
  box-shadow: 0 0 0 1px rgba(19, 182, 198, 0.2);
}

.undercurrent-pair-tab {
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid var(--card-border);
  color: var(--text);
  text-decoration: none;
  font-size: 13px;
}

.undercurrent-pair-tab.is-active {
  border-color: var(--accent);
  box-shadow: 0 0 0 1px rgba(19, 182, 198, 0.2);
}

.undercurrent-question {
  display: grid;
  gap: 10px;
}

.undercurrent-scale {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.undercurrent-scale label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--card-border);
  font-size: 13px;
  cursor: pointer;
}

.undercurrent-scale input {
  accent-color: var(--accent);
}

.undercurrent-text textarea {
  width: 100%;
  border-radius: 12px;
  border: 1px solid var(--card-border);
  padding: 10px 12px;
  background: var(--surface);
  color: var(--text);
}

.undercurrent-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.undercurrent-results {
  display: grid;
  gap: 16px;
}

.undercurrent-results-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}

.undercurrent-result-card {
  border: 1px solid var(--card-border);
  border-radius: 14px;
  padding: 12px;
  background: var(--surface);
  display: grid;
  gap: 10px;
}

.undercurrent-result-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-weight: 600;
}

.undercurrent-state {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-2);
}

.undercurrent-theme-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.undercurrent-detail-toggle {
  margin-top: 8px;
}

.undercurrent-detail-summary {
  cursor: pointer;
  font-size: 12px;
  color: var(--text-2);
}

.undercurrent-detail-body {
  margin-top: 12px;
}

.undercurrent-theme {
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  font-size: 12px;
}

.undercurrent-signal {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-2);
}

.undercurrent-actions-list {
  display: grid;
  gap: 8px;
}

.undercurrent-actions-list .label {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--text-2);
}

.undercurrent-instruction {
  display: grid;
  gap: 14px;
  border-top: 1px solid var(--card-border);
  padding-top: 12px;
}

.undercurrent-instruction h4 {
  margin: 0;
}

.undercurrent-instruction-block {
  display: grid;
  gap: 8px;
}

.undercurrent-instruction-block p {
  margin: 0;
}

/* --- Manager Clarity --- */
.clarity-hero {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.clarity-hero-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.clarity-section {
  display: grid;
  gap: 16px;
}

.clarity-member-grid {
  gap: 16px;
}

.clarity-member-card {
  border: 1px solid var(--card-border);
  border-radius: 14px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  justify-content: space-between;
  background: var(--surface);
}

.clarity-form {
  display: grid;
  gap: 18px;
}

.clarity-question {
  display: grid;
  gap: 10px;
}

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

.clarity-option {
  border: 1px solid var(--card-border);
  border-radius: 12px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.clarity-actions {
  display: flex;
  justify-content: flex-end;
}

.clarity-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}

.clarity-pill {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  font-size: 13px;
}

.clarity-guidance ul {
  margin: 0;
  padding-left: 18px;
}

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

.clarity-session-card {
  border: 1px solid var(--card-border);
  border-radius: 14px;
  padding: 14px;
  display: grid;
  gap: 12px;
}

.clarity-session-meta {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.clarity-session-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: flex-start;
}

.clarity-session-actions details {
  border: 1px solid var(--card-border);
  border-radius: 12px;
  padding: 10px;
  background: var(--surface);
}

.clarity-session-actions summary {
  cursor: pointer;
  list-style: none;
}

.clarity-session-actions summary::-webkit-details-marker {
  display: none;
}


.undercurrent-lanes {
  display: grid;
  gap: 12px;
}

.undercurrent-lane {
  border: 1px solid var(--card-border);
  border-radius: 12px;
  padding: 10px;
  display: grid;
  gap: 8px;
}

.undercurrent-lane-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}

.undercurrent-lane-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.undercurrent-lane-list li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
  color: var(--text-2);
}

.undercurrent-score {
  font-weight: 600;
  color: var(--text);
}

.undercurrent-definition {
  border-top: 1px solid var(--card-border);
  padding-top: 12px;
  display: grid;
  gap: 10px;
}

.undercurrent-definition-lenses {
  display: grid;
  gap: 10px;
}

.undercurrent-definition-lenses .label,
.undercurrent-definition-questions .label {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--text-2);
  margin-bottom: 4px;
}

.undercurrent-definition-questions ul {
  margin: 6px 0 0;
  padding-left: 18px;
}

.undercurrent-summary {
  margin-top: 12px;
  display: grid;
  gap: 8px;
}

.undercurrent-summary-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  font-weight: 600;
}

.undercurrent-pair {
  color: var(--text);
}

.undercurrent-trend {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-2);
}

.undercurrent-updated {
  font-size: 12px;
  color: var(--muted);
  font-weight: 500;
}

.undercurrent-card .undercurrent-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

@media (max-width: 900px) {
  .admin-org-card,
  .org-dept-card {
    flex-direction: column;
    align-items: flex-start;
  }

  .admin-org-meta {
    align-items: flex-start;
  }

  .admin-org-form,
  .org-dept-form,
  .org-dept-edit {
    width: 100%;
  }

  .admin-org-form input,
  .org-dept-form input,
  .org-dept-edit input {
    width: 100%;
  }
}
.organization-page {
  font-size: 15px;
}

.admin-shell {
  max-width: 1180px;
  margin: 0 auto;
  padding: 28px 24px 64px;
}

.admin-header h1 {
  font-size: 44px;
  font-weight: 900;
  letter-spacing: -0.02em;
  margin: 0 0 6px;
}

.admin-subtitle {
  font-size: 17px;
  color: var(--muted);
  margin: 0;
}

.admin-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 22px 0 24px;
}

.admin-tab {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid var(--card-border);
  color: var(--text-2);
  text-decoration: none;
  font-size: 14px;
}

.admin-tab.is-active {
  background: rgba(19, 182, 198, 0.18);
  border-color: rgba(19, 182, 198, 0.45);
  color: var(--text);
}

.admin-tab.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.admin-panel {
  background: var(--card);
  border: 1px solid var(--card-border);
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 20px 40px rgba(15, 23, 42, 0.08);
}

.admin-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.admin-panel-head h2 {
  font-size: 22px;
  margin: 0 0 6px;
}

.admin-panel-actions {
  display: flex;
  gap: 10px;
}

.admin-super {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background: rgba(148, 163, 184, 0.08);
  margin-bottom: 18px;
}

.admin-super h2 {
  margin: 0;
  font-size: 20px;
}

.admin-super-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.admin-filters {
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) auto auto;
  gap: 14px;
  align-items: center;
  margin-bottom: 18px;
}

.admin-search input {
  width: 100%;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--card-border);
  background: var(--card);
  color: var(--text);
}

.admin-filter-chips {
  display: flex;
  gap: 8px;
}

.admin-count {
  color: var(--muted);
  font-size: 13px;
  justify-self: end;
}

.admin-table {
  display: grid;
  gap: 6px;
}

.admin-table-header,
.admin-table-row {
  display: grid;
  grid-template-columns: 2.2fr 1fr 1fr 0.9fr 0.9fr 1.2fr;
  gap: 12px;
  align-items: center;
}

.admin-table-header {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--muted);
  padding: 10px 12px;
}

.admin-table-row {
  padding: 12px;
  border-radius: 14px;
  border: 1px solid transparent;
  background: rgba(148, 163, 184, 0.08);
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.admin-table-row:hover {
  border-color: rgba(19, 182, 198, 0.45);
  background: rgba(19, 182, 198, 0.08);
}

.admin-person {
  display: flex;
  gap: 12px;
  align-items: center;
}

.admin-avatar {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: rgba(19, 182, 198, 0.18);
  color: #0f172a;
  font-weight: 700;
  display: grid;
  place-items: center;
}

.admin-person-name {
  font-weight: 700;
}

.admin-person-sub {
  font-size: 12px;
  color: var(--muted);
}

.admin-pill {
  display: inline-flex;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  background: rgba(148, 163, 184, 0.12);
  font-size: 12px;
  color: var(--text-2);
}

.admin-pill--ghost {
  background: transparent;
}

.admin-pill--danger {
  border-color: rgba(239, 68, 68, 0.45);
  background: rgba(239, 68, 68, 0.12);
  color: #ef4444;
}

.admin-row-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.admin-muted {
  color: var(--muted);
  font-size: 13px;
}

.admin-empty {
  padding: 40px 20px;
  text-align: center;
}

@media (max-width: 960px) {
  .admin-table-header,
  .admin-table-row {
    grid-template-columns: 2fr 1fr 1fr;
  }
  .admin-table-header span:nth-child(n+4),
  .admin-table-row > :nth-child(n+4) {
    display: none;
  }
  .admin-row-actions {
    justify-content: flex-start;
  }
  .admin-filters {
    grid-template-columns: 1fr;
  }
  .admin-count {
    justify-self: start;
  }
}

.companies-page {
  display: grid;
  gap: 18px;
}

.companies-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.companies-eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 11px;
  color: var(--muted);
}

.companies-header-actions {
  display: flex;
  gap: 10px;
}

.companies-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.companies-search {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 280px;
}

.companies-search input {
  flex: 1;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.3);
  background: rgba(255, 255, 255, 0.6);
}

.companies-filters {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.companies-list {
  display: grid;
  gap: 14px;
}

.company-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px;
  flex-wrap: wrap;
}

.company-card-title {
  display: flex;
  align-items: center;
  gap: 12px;
}

.company-card-title h3 {
  margin: 0;
  font-size: 20px;
}

.company-card-meta {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  color: var(--text-2);
  font-size: 13px;
}

.company-card-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.company-detail-page {
  display: grid;
  gap: 16px;
}

.company-detail-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.company-detail-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.company-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.company-tab {
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  text-decoration: none;
  color: inherit;
}

.company-tab.is-active {
  border-color: rgba(19, 182, 198, 0.4);
  background: rgba(19, 182, 198, 0.12);
}

.company-panel {
  padding: 20px;
}

.company-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.company-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 18px;
}

.company-overview-item {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.15);
  font-size: 14px;
}

.company-overview-label {
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 11px;
}

.company-overview-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  border: 1px dashed rgba(148, 163, 184, 0.3);
  min-height: 140px;
}

.company-overview-logo img {
  max-width: 100%;
  max-height: 120px;
  object-fit: contain;
}

.company-logo-placeholder {
  color: var(--muted);
  font-size: 13px;
}

.company-form {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

.company-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
  align-items: start;
}

.company-modal-card .member-section {
  align-content: start;
}

.company-address-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

@media (max-width: 900px) {
  .company-address-row {
    grid-template-columns: 1fr;
  }
}

.company-form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.company-admins-list,
.company-people-list,
.company-departments {
  display: grid;
  gap: 12px;
}

.company-admin-row,
.company-people-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(148, 163, 184, 0.08);
}

.company-people-row {
  align-items: stretch;
  flex-direction: column;
}

.company-person-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.company-person-main {
  min-width: 0;
}

.company-person-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-top: 2px;
}

.company-person-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.company-person-edit {
  margin-top: 8px;
}

.company-person-edit summary {
  width: max-content;
  cursor: pointer;
  color: #0f766e;
  font-weight: 850;
}

.company-person-edit form {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(160px, 1fr) minmax(160px, 1fr) auto;
  gap: 10px;
  align-items: end;
  margin-top: 10px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
}

.company-admin-add {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(148, 163, 184, 0.2);
}

.company-admin-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
  align-items: end;
  margin-bottom: 12px;
}

.company-person-add {
  display: grid;
  gap: 14px;
  margin-bottom: 18px;
  padding: 18px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 16px;
  background: rgba(248, 250, 252, 0.72);
}

.company-person-add-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.company-person-add .toggle-row {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #475569;
  font-weight: 700;
}

.company-department-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 10px;
  align-items: center;
}

.company-department-row input,
.company-department-row select,
.company-department-add input {
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.3);
  background: rgba(255, 255, 255, 0.6);
}

.company-department-add {
  display: flex;
  gap: 10px;
  margin-top: 16px;
  flex-wrap: wrap;
}

.company-settings {
  display: grid;
  gap: 12px;
  max-width: 420px;
}

.page-wrap {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  padding: 24px;
}

.company-detail-page .page-wrap > * {
  width: 100%;
}

.company-detail-page .company-detail-header {
  margin-bottom: 16px;
}

.company-detail-page .company-tabs {
  margin-bottom: 12px;
}

.company-detail-page .company-panel,
.company-detail-page .company-setup-card {
  margin-bottom: 16px;
}

.company-detail-page .company-panel:last-child,
.company-detail-page .company-setup-card:last-child {
  margin-bottom: 0;
}

.company-setup-card {
  display: grid;
  gap: 16px;
}

.company-setup-checklist {
  display: grid;
  gap: 10px;
}

.company-setup-item {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(148, 163, 184, 0.12);
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

.company-setup-item.is-complete {
  background: rgba(16, 185, 129, 0.16);
  color: #0f766e;
}

.setup-status {
  font-size: 0.85rem;
  color: var(--muted);
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.08);
}

.setup-status.is-progress {
  color: #92400e;
  background: rgba(245, 158, 11, 0.2);
}

.setup-status.is-done,
.company-setup-item.is-complete .setup-status {
  color: #0f766e;
  background: rgba(16, 185, 129, 0.18);
}

.company-setup-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.company-empty-state {
  display: grid;
  gap: 12px;
}

.company-empty-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

@media (max-width: 720px) {
  .page-wrap {
    padding: 18px;
  }
  .company-setup-actions,
  .company-empty-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .company-person-add-grid {
    grid-template-columns: 1fr;
  }
  .company-people-row {
    align-items: flex-start;
  }
  .company-person-summary,
  .company-person-edit form {
    align-items: stretch;
    flex-direction: column;
    grid-template-columns: 1fr;
  }
  .company-person-badges {
    justify-content: flex-start;
  }
  .company-setup-actions .btn-primary,
  .company-empty-actions .btn-primary {
    width: 100%;
  }
}

.company-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.35);
  z-index: 999;
}

.company-modal {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  z-index: 1000;
}

.company-modal[hidden],
.company-modal-backdrop[hidden] {
  display: none !important;
}

.company-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.company-modal-card {
  width: min(900px, 96vw);
  max-height: calc(100vh - 48px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: rgba(15, 23, 42, 0.95);
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.35);
}

.company-modal-card .modal-header {
  padding: 18px 18px 10px 18px;
  flex: 0 0 auto;
}

.company-modal-card .modal-body {
  padding: 14px 18px 16px 18px;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}

.company-modal-card .modal-footer {
  padding: 14px 18px;
  flex: 0 0 auto;
  position: sticky;
  bottom: 0;
  background: rgba(15, 23, 42, 0.96);
  border-top: 1px solid rgba(148, 163, 184, 0.25);
  box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(6px);
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.company-modal-card .field input,
.company-modal-card .field select,
.company-modal-card .field textarea {
  width: 100%;
  box-sizing: border-box;
}

.company-modal-card .field input[type="file"] {
  padding: 10px 12px;
}

.company-modal-card .field textarea {
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.08);
  color: inherit;
  font-size: 14px;
  resize: vertical;
}

html[data-theme="light"] .company-modal-card,
body[data-theme="light"] .company-modal-card {
  background: #ffffff;
  color: #0f172a;
  border-color: rgba(148, 163, 184, 0.25);
}

html[data-theme="light"] .company-modal-card .modal-footer,
body[data-theme="light"] .company-modal-card .modal-footer {
  background: rgba(255, 255, 255, 0.98);
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.06);
}

@media (max-width: 720px) {
  .company-modal {
    padding: 12px;
  }
  .company-modal-card {
    max-height: calc(100vh - 24px);
  }
  .company-modal-card .modal-footer {
    flex-direction: column;
    align-items: stretch;
  }
}

/* ============================
   F&I Onboarding Path
   ============================ */
.fi-onboarding .fi-onboarding-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: 20px;
  align-items: start;
}

.fi-onboarding .fi-phase {
  margin-bottom: 20px;
}

.fi-onboarding .fi-phase-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.fi-onboarding .fi-phase-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.fi-fast-track-panel {
  display: grid;
  gap: 14px;
}

.fi-onboarding .fi-fast-track-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  flex-wrap: wrap;
}

.fi-onboarding .fi-fast-track-progress {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.fi-onboarding .fi-fast-track-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fi-onboarding .fi-fast-track-card {
  display: grid;
  gap: 12px;
}

.fi-onboarding .fi-fast-track-task {
  display: grid;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background: rgba(255, 255, 255, 0.03);
}

.fi-onboarding .fi-fast-track-inline {
  display: grid;
  gap: 6px;
  font-size: 12px;
  color: var(--text-2);
}

.fi-onboarding .fi-fast-track-task textarea,
.fi-onboarding .fi-fast-track-task input,
.fi-onboarding .fi-fast-track-task select {
  width: 100%;
  box-sizing: border-box;
}

.fi-onboarding .fi-fast-track-metrics {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fi-process-panel {
  display: grid;
  gap: 12px;
}

.fi-onboarding .fi-process-list {
  display: grid;
  gap: 10px;
}

.fi-onboarding .fi-process-step {
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.02);
  overflow: hidden;
}

.fi-onboarding .fi-process-step summary {
  list-style: none;
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 12px 14px;
  cursor: pointer;
}

.fi-onboarding .fi-process-step summary::-webkit-details-marker {
  display: none;
}

.fi-onboarding .fi-process-step-index {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.fi-onboarding .fi-process-step-title {
  font-weight: 700;
}

.fi-onboarding .fi-process-step-body {
  border-top: 1px solid rgba(148, 163, 184, 0.15);
  padding: 10px 14px 14px;
  display: grid;
  gap: 8px;
}

.fi-onboarding .fi-process-step-body ul {
  margin: 0;
  padding-left: 16px;
}

.fi-onboarding .fi-foundation-stack {
  display: grid;
  gap: 12px;
}

.fi-onboarding .fi-foundation-week {
  padding: 0;
  overflow: hidden;
}

.fi-onboarding .fi-foundation-summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 16px 18px;
}

.fi-onboarding .fi-foundation-summary::-webkit-details-marker {
  display: none;
}

.fi-onboarding .fi-foundation-summary::after {
  content: "▾";
  font-size: 14px;
  color: var(--text-muted);
  margin-left: auto;
  transition: transform 0.18s ease;
}

.fi-onboarding .fi-foundation-week[open] .fi-foundation-summary::after {
  transform: rotate(180deg);
}

.fi-onboarding .fi-foundation-summary-main {
  display: grid;
  gap: 6px;
}

.fi-onboarding .fi-foundation-summary-main h4 {
  margin: 0;
}

.fi-onboarding .fi-foundation-summary-main p {
  margin: 0;
}

.fi-onboarding .fi-foundation-summary-meta {
  display: grid;
  gap: 6px;
  justify-items: end;
}

.fi-onboarding .fi-foundation-body {
  border-top: 1px solid rgba(148, 163, 184, 0.22);
  padding: 12px 16px 14px;
}

.fi-onboarding .fi-tile {
  text-align: left;
  display: grid;
  gap: 8px;
}

.fi-onboarding .fi-tile-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.fi-onboarding .fi-detail-panel {
  position: sticky;
  top: 86px;
  display: grid;
  gap: 16px;
}

.fi-onboarding .fi-detail-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.fi-onboarding .fi-checklist {
  display: grid;
  gap: 12px;
}

.fi-onboarding .fi-checklist-row {
  display: grid;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(148, 163, 184, 0.2);
}

.fi-onboarding .fi-checklist-label {
  display: flex;
  gap: 10px;
  align-items: center;
  font-weight: 600;
}

.fi-onboarding .fi-verify {
  display: grid;
  gap: 6px;
}

.fi-onboarding .fi-notes,
.fi-onboarding .fi-stuck,
.fi-onboarding .fi-guidance {
  display: grid;
  gap: 10px;
}

.fi-onboarding .fi-guidance-body {
  border-radius: 12px;
  padding: 12px;
  background: rgba(34, 197, 94, 0.12);
  color: #bbf7d0;
}

.fi-onboarding .fi-toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(34, 197, 94, 0.18);
  color: #bbf7d0;
  font-weight: 600;
  z-index: 999;
}

.fi-onboarding .fi-toast.is-error {
  background: rgba(239, 68, 68, 0.18);
  color: #fecaca;
}

.fi-leader-panel {
  display: grid;
  gap: 14px;
}

.fi-leader-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.fi-leader-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.fi-leader-card {
  display: grid;
  gap: 12px;
}

.fi-leader-card-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.fi-leader-metrics {
  display: grid;
  gap: 8px;
}

.fi-leader-metrics div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.fi-empty-state {
  display: grid;
  gap: 12px;
}

.fi-empty-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

@media (max-width: 980px) {
  .fi-onboarding .fi-onboarding-layout {
    grid-template-columns: 1fr;
  }
  .fi-onboarding .fi-fast-track-grid {
    grid-template-columns: 1fr;
  }
  .fi-onboarding .fi-detail-panel {
    position: static;
  }
  .fi-onboarding .fi-foundation-summary {
    flex-direction: column;
    align-items: stretch;
  }
  .fi-onboarding .fi-foundation-summary-meta {
    justify-items: start;
  }
}

.import-page {
  display: grid;
  gap: 20px;
}

.import-hero {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}

.import-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.form-error-banner {
  background: rgba(220, 38, 38, 0.08);
  border: 1px solid rgba(220, 38, 38, 0.3);
  color: #991b1b;
  padding: 12px 16px;
  border-radius: 12px;
}

.import-steps {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.import-step-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.import-upload {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.import-upload-error {
  font-size: 0.9rem;
  color: #b91c1c;
}

.import-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.import-summary-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.summary-pill {
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.06);
  font-size: 0.88rem;
}

.summary-pill--good {
  background: rgba(16, 185, 129, 0.15);
  color: #0f766e;
}

.summary-pill--warn {
  background: rgba(245, 158, 11, 0.18);
  color: #92400e;
}

.summary-pill--bad {
  background: rgba(239, 68, 68, 0.18);
  color: #991b1b;
}

.import-summary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.import-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  align-items: center;
}

.import-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.import-tab {
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  color: inherit;
  text-decoration: none;
}

.import-tab.is-active {
  background: rgba(15, 23, 42, 0.08);
  border-color: transparent;
}

.import-bulk-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.import-bulk-actions select {
  min-width: 140px;
}

.import-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92rem;
}

.import-row {
  cursor: pointer;
}

.import-table th,
.import-table td {
  padding: 10px 8px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  text-align: left;
  vertical-align: top;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
}

.status-pill--good {
  background: rgba(16, 185, 129, 0.16);
  color: #0f766e;
}

.status-pill--warn {
  background: rgba(245, 158, 11, 0.18);
  color: #92400e;
}

.status-pill--bad {
  background: rgba(239, 68, 68, 0.18);
  color: #991b1b;
}

.issue-pill {
  display: inline-flex;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.8rem;
  margin-right: 6px;
}

.issue-pill--error {
  background: rgba(220, 38, 38, 0.16);
  color: #991b1b;
}

.issue-pill--warn {
  background: rgba(245, 158, 11, 0.18);
  color: #92400e;
}

.issue-pill--ok {
  background: rgba(16, 185, 129, 0.16);
  color: #0f766e;
}

.import-issue-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.import-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.28);
  z-index: 50;
}

.import-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: min(520px, 92vw);
  height: 100vh;
  background: var(--surface-1, #fff);
  border-left: 1px solid rgba(15, 23, 42, 0.08);
  display: flex;
  flex-direction: column;
  z-index: 60;
  box-shadow: -16px 0 40px rgba(15, 23, 42, 0.12);
}

.import-drawer-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 20px 8px;
}

.import-drawer-body {
  padding: 10px 20px;
  overflow-y: auto;
  flex: 1 1 auto;
  min-height: 0;
}

.import-drawer-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.field--error input,
.field--error select {
  border-color: rgba(239, 68, 68, 0.6);
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.12);
}

.field--warn input,
.field--warn select {
  border-color: rgba(245, 158, 11, 0.6);
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.12);
}

.import-drawer-footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 20px;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  background: rgba(255, 255, 255, 0.96);
}

.icon-btn {
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: rgba(15, 23, 42, 0.02);
  border-radius: 999px;
  width: 32px;
  height: 32px;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

.drawer-open {
  overflow: hidden;
}

/* Header hard alignment override */
.app-header-inner.app-header-row {
  align-items: flex-start !important;
  justify-content: space-between !important;
}

.app-header .brand {
  flex: 0 0 auto !important;
  max-width: 520px;
}

.header-actions {
  margin-left: auto !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: auto !important;
}

.app-nav {
  justify-content: center !important;
}

/* Pulse dot (green for now) */
.pulse-dot.pulse-dot--green {
  width: 10px;
  height: 10px;
  background: var(--pulse-green);
  position: relative;
  box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.12);
  animation: pulseBeatSlow 1.8s ease-in-out infinite;
}

.pulse-dot.pulse-dot--green::after {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 999px;
  border: 1px solid rgba(34, 197, 94, 0.25);
  opacity: 0.6;
}

.pulse-dot.pulse-dot--yellow {
  width: 10px;
  height: 10px;
  background: var(--pulse-amber);
  position: relative;
  box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.16);
  animation: pulseBeatSlow 1.8s ease-in-out infinite;
}

.pulse-dot.pulse-dot--yellow::after {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 999px;
  border: 1px solid rgba(245, 158, 11, 0.32);
  opacity: 0.6;
}

.pulse-dot.pulse-dot--red {
  width: 10px;
  height: 10px;
  background: var(--pulse-red);
  position: relative;
  box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.16);
  animation: pulseBeatSlow 1.8s ease-in-out infinite;
}

.pulse-dot.pulse-dot--red::after {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 999px;
  border: 1px solid rgba(239, 68, 68, 0.3);
  opacity: 0.6;
}

.dp-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
  z-index: 2;
}

.dp-title-row h1 {
  margin: 0;
}

/* Header layout */
.app-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.app-header .brand {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 220px;
  flex: 1 1 auto;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.header-actions .pill,
.header-actions .pill-link,
.header-actions .btn-primary,
.header-actions .btn-secondary,
.header-actions .btn-ghost,
.header-actions .pill--toggle,
.header-actions select {
  height: 36px;
  display: inline-flex;
  align-items: center;
}

/* Owner + manager pulse layouts */
.card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.card-head-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.dashboard-card h3 .pulse-dot {
  margin-left: 8px;
  vertical-align: middle;
}

.pulse-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
}

.pulse-metrics .metric {
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--surface-2);
  border: 1px solid var(--hairline);
}

.metric-label {
  display: block;
  font-size: 12px;
  color: var(--text-2);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.department-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 16px 0;
}

.department-tabs .pill-link {
  border-radius: 999px;
  padding: 6px 14px;
  border: 1px solid var(--hairline);
  color: var(--text-1);
}

.department-tabs .pill-link.is-active {
  background: var(--surface-2);
  border-color: transparent;
  font-weight: 600;
}

.status-green {
  color: #22c55e;
}

.status-yellow {
  color: #eab308;
}

.status-red {
  color: #ef4444;
}

.status-no-data {
  color: var(--text-2);
}

.team-grid-section {
  margin-top: 16px;
}

.dept-personality {
  margin-top: 16px;
  display: grid;
  gap: 10px;
}

.dept-personality ul {
  margin: 0;
  padding-left: 18px;
}

.team-card .badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 12px;
}

.team-card .badge-row .pill {
  font-size: 10px;
  letter-spacing: 0.08em;
  padding: 6px 10px;
}

.team-card ul {
  margin-bottom: 8px;
}

/* Dealership pulse primary module */
.pulse-primary {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--hairline);
}

.pulse-status-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.pulse-status-head h1 {
  font-size: 20px;
  margin-bottom: 4px;
}

.pulse-status-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.pulse-strip {
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(14, 165, 164, 0.12), rgba(148, 163, 184, 0.08));
  border: 1px solid var(--hairline);
  margin: 6px 0 16px;
  position: relative;
  overflow: hidden;
}

.pulse-strip::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.18), transparent);
  transform: translateX(-100%);
  animation: pulseShimmer 6s ease-in-out infinite;
}

.pulse-primary .metric {
  padding: 8px 10px;
  min-height: 52px;
}

.pulse-primary .metric strong {
  font-size: 20px;
  font-weight: 600;
}

@keyframes pulseShimmer {
  0% { transform: translateX(-100%); opacity: 0; }
  40% { opacity: 0.4; }
  60% { opacity: 0.2; }
  100% { transform: translateX(100%); opacity: 0; }
}

/* Pro dashboard hero sizing lock (ensure Dealership Pulse dominates Leadership Pulse) */
.page--pro.pro-dashboard .pulse-primary--hero {
  padding: 40px 48px 36px !important;
  min-height: 340px !important;
  height: auto !important;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.page--pro.pro-dashboard .pulse-primary--hero .pulse-metrics {
  margin-top: 6px;
  padding-bottom: 6px;
}

.page--pro.pro-dashboard .pulse-primary--hero::after {
  content: none;
}

.page--pro.pro-dashboard .leadership-pulse--secondary {
  padding: 24px 28px !important;
  min-height: 300px !important;
  height: auto !important;
  position: relative;
  overflow: hidden;
}

.page--pro.pro-dashboard .leadership-pulse--secondary::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(20, 184, 166, 0.08), transparent 65%);
  opacity: 0.6;
  pointer-events: none;
}

.pulse-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  position: relative;
  z-index: 1;
}

.pulse-header-left {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.pulse-header-title h2 {
  margin: 0 0 4px;
}

/* Pulse headers must stay sentence case */
.pulse-header-title h2,
.pulse-status-head h1,
.leadership-pulse .leadership-summary h2 {
  text-transform: none !important;
  letter-spacing: -0.01em;
}

.pulse-header-title .muted {
  margin: 0;
  font-size: 13px;
  text-transform: none;
  letter-spacing: -0.01em;
}

.pulse-descriptor {
  text-transform: none !important;
  letter-spacing: -0.01em;
  font-size: 13px;
}

.pulse-header-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}


.leadership-pulse .pulse-metrics {
  position: relative;
  z-index: 1;
}

.leadership-pulse .pulse-metrics .metric {
  padding: 8px 10px;
  min-height: 52px;
}

/* Leadership pulse header parity (fallback for old markup) */
.leadership-pulse .leadership-summary .pulse-status-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.leadership-pulse .leadership-summary .dp-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.leadership-pulse .leadership-summary .muted {
  font-size: 13px;
  margin-top: 4px;
}

/* Pulse panels must span full content width and avoid card/grid constraints */
.page--pro.pro-dashboard .dashboard-section.pulse-section {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0;
  margin-right: 0;
  padding-top: 28px;
  padding-bottom: 28px;
}

.page--pro.pro-dashboard .dashboard-section.pulse-section .pulse-panel {
  width: 100%;
}

.page--pro.pro-dashboard .pulse-primary .pulse-strip {
  height: 10px;
  margin: 10px 0 20px;
}

.page--pro.pro-dashboard .pulse-primary .pulse-metrics {
  margin-top: 8px;
}

/* premium.css load badge removed after verification */

/* Header layout final lock (hard-left brand, up-right controls) */
.app-header {
  text-align: left;
  display: block !important;
  justify-content: flex-start !important;
}

.app-header-inner.app-header-row {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 24px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  text-align: left;
}

.brand-tagline {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.status-pill {
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.75;
}

.preview-menu {
  position: relative;
}

.preview-menu summary {
  list-style: none;
  cursor: pointer;
}

.preview-menu summary::-webkit-details-marker {
  display: none;
}

.preview-dropdown {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: var(--shadow-soft);
  padding: 12px;
  min-width: 220px;
  display: grid;
  gap: 10px;
  z-index: 20;
}

.demo-persona-menu .preview-dropdown {
  max-height: min(60vh, 420px);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding-right: 10px;
}

.demo-persona-menu .preview-dropdown::-webkit-scrollbar {
  width: 8px;
}

.demo-persona-menu .preview-dropdown::-webkit-scrollbar-thumb {
  background: rgba(15, 23, 42, 0.18);
  border-radius: 999px;
}

.preview-dropdown label {
  font-size: 12px;
  color: var(--muted);
}

.preview-dropdown select {
  width: 100%;
}

.preview-data-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  color: var(--muted);
}

.profile-theme-toggle {
  border: none;
  background: transparent;
  padding: 6px 0;
  font-size: 14px;
  color: var(--text);
  cursor: pointer;
  text-align: left;
}

.app-nav-row {
  margin-top: 14px;
}

/* Snapshot detail header consistency */
.snapshot-header {
  margin-bottom: 18px;
}
.snapshot-title {
  margin: 0 0 6px;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 600;
  color: var(--text);
}
.snapshot-subtitle {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 15.5px;
}

.app-header > * {
  width: auto !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.app-header .brand {
  margin: 0;
  text-align: left;
  align-items: center;
  justify-content: flex-start;
  flex: 1 1 auto;
}

.header-actions {
  margin-left: auto;
  align-items: flex-start;
  justify-content: flex-end;
  text-align: right;
  flex: 0 0 auto;
}

.app-nav-row {
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 24px 12px;
  text-align: left;
}

/* Shared header layout (final override) */
.app-header {
  width: 100%;
}

.app-header-inner.app-header-row {
  max-width: 1200px;
  margin: 0 auto;
  padding: 18px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.app-header .brand {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1 1 auto;
  min-width: 220px;
}

.app-header .brand-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}

.header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

.header-actions .pill,
.header-actions .pill-link,
.header-actions .btn-primary,
.header-actions .btn-secondary,
.header-actions .btn-ghost,
.header-actions .pill--toggle,
.header-actions .profile-trigger,
.header-actions select,
.header-actions input {
  height: 36px;
  display: inline-flex;
  align-items: center;
}

.app-nav-row {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 22px 12px;
}

.app-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-start;
}

@media (max-width: 900px) {
  .app-header-inner.app-header-row {
    padding: 16px 16px;
  }

  .app-nav-row {
    padding: 0 16px 12px;
  }
}

/* Header final override (force single-row brand + controls) */
.app-header .app-header-inner.app-header-row {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.app-header .app-header-inner.app-header-row .brand {
  flex: 0 0 auto !important;
  max-width: 520px !important;
}

.app-header .app-header-inner.app-header-row .header-actions {
  flex: 0 0 auto !important;
  margin-left: auto !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
}

.app-header .app-nav {
  justify-content: center !important;
}

.app-header-full {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 18px 24px !important;
}

/* Force full-width header row */
.app-header-inner.app-header-row.app-header-full {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  align-items: flex-start !important;
}

.app-header-inner.app-header-row.app-header-full .header-actions {
  align-self: flex-start !important;
}

/* ===== PRO DASHBOARD FINAL OVERRIDE (hero sizing + width lock) ===== */
.page--pro.pro-dashboard {
  --qiq-max: 1360px;
  --pro-bg-light: #f6f7fb;
  --pro-bg-dark: #f6f7fb;
  --pro-card: #ffffff;
  --pro-card-light: #ffffff;
  --pro-card-border: rgba(10, 18, 30, 0.10);
  --pro-card-border-light: rgba(10, 18, 30, 0.10);
  --pro-shadow: 0 18px 42px rgba(0, 0, 0, 0.08);
  --pro-shadow-soft: 0 12px 30px rgba(0, 0, 0, 0.08);
}

.page--pro.pro-dashboard .app-main {
  max-width: 1360px !important;
  width: 100% !important;
}

.page--pro.pro-dashboard .dashboard-section {
  max-width: 1360px !important;
  width: 100% !important;
}

.page--pro.pro-workspace .app-main {
  max-width: 1360px !important;
  width: 100% !important;
}

.page--pro.pro-workspace .dashboard-section {
  max-width: 1360px !important;
  width: 100% !important;
}

.page--pro.pro-guidance .dashboard-card {
  background: #fff !important;
  background-image: none !important;
  border-color: rgba(15, 23, 42, 0.08) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06) !important;
}

.page--pro.pro-guidance .dashboard-card::before {
  display: none !important;
  content: none !important;
  background: transparent !important;
}

.page--pro.pro-dashboard .pulse-primary--hero,
.page--pro.pro-dashboard .leadership-pulse--secondary {
  padding: 28px 36px 26px !important;
  min-height: unset !important;
  height: auto !important;
}

/* Pro dashboard title sizing (Dealership > Leadership) */
.page--pro.pro-dashboard .pulse-primary--hero .dp-title-row h1 {
  font-size: 28px !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em;
}

.page--pro.pro-dashboard .leadership-pulse--secondary .dp-title-row h2 {
  font-size: 22px !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em;
}

/* Dealership Health Score bar */
.health-bar {
  margin-top: 6px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.health-score-number {
  font-size: 26px;
  font-weight: 650;
  letter-spacing: -0.02em;
  color: rgba(20, 184, 166, 0.95);
}

.health-score-unit {
  font-size: 12px;
  color: var(--text-2);
}

.health-score-bar {
  position: relative;
  width: 100%;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  text-align: left;
}

.health-score-track {
  width: 100%;
  height: 11px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.3);
  border: 1px solid var(--hairline);
  overflow: visible;
  position: relative;
}

.health-score-fill {
  display: block;
  height: 100%;
  width: var(--score-pct, 0%);
  transition: width 1.1s ease-out;
  position: relative;
  border-radius: 999px;
}

.health-score-end {
  position: absolute;
  top: 50%;
  left: var(--score-pct, 0%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

.health-score-value {
  position: absolute;
  left: clamp(18px, var(--score-pct, 0%), calc(100% - 18px));
  top: -22px;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  pointer-events: none;
}


.health-score-bar.score-green .health-score-fill {
  background: linear-gradient(90deg, rgba(20, 184, 166, 0.45), rgba(20, 184, 166, 0.95));
}

.health-score-bar.score-yellow .health-score-fill {
  background: linear-gradient(90deg, rgba(34, 211, 238, 0.35), rgba(251, 191, 36, 0.95));
}

.health-score-bar.score-red .health-score-fill {
  background: linear-gradient(90deg, rgba(251, 191, 36, 0.45), rgba(248, 113, 113, 0.95));
}

.health-score-bar.score-green .health-score-number {
  color: rgba(20, 184, 166, 0.95);
}

.health-score-bar.score-yellow .health-score-number {
  color: rgba(251, 191, 36, 0.95);
}

.health-score-bar.score-red .health-score-number {
  color: rgba(248, 113, 113, 0.95);
}

.health-score-bar.score-empty .health-score-number {
  color: var(--text-2);
}

.health-score-bar.score-green .health-score-end {
  background: rgba(20, 184, 166, 0.9);
  border-color: rgba(20, 184, 166, 0.4);
}

.health-score-bar.score-yellow .health-score-end {
  background: rgba(251, 191, 36, 0.9);
  border-color: rgba(251, 191, 36, 0.4);
}

.health-score-bar.score-red .health-score-end {
  background: rgba(248, 113, 113, 0.9);
  border-color: rgba(248, 113, 113, 0.4);
}

/* Pulse panels (system status) */
.pulse-panel {
  width: 100%;
  background: linear-gradient(180deg, rgba(87, 212, 212, 0.06) 0%, rgba(255, 255, 255, 0.96) 55%, rgba(87, 212, 212, 0.05) 100%);
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 22px;
  box-shadow: 0 16px 46px rgba(15, 23, 42, 0.10);
}

.pulse-panel--green {
  background: linear-gradient(180deg, rgba(87, 212, 212, 0.06) 0%, rgba(255, 255, 255, 0.96) 55%, rgba(87, 212, 212, 0.05) 100%);
}

.pulse-panel--yellow {
  background: linear-gradient(180deg, rgba(251, 191, 36, 0.05) 0%, rgba(255, 255, 255, 0.97) 55%, rgba(251, 191, 36, 0.04) 100%);
}

.pulse-panel--red {
  background: linear-gradient(180deg, rgba(248, 113, 113, 0.10) 0%, rgba(255, 255, 255, 0.96) 55%, rgba(248, 113, 113, 0.08) 100%);
}

.pulse-panel--dealership {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.12);
}

.pulse-panel--dealership .pulse-header {
  background: linear-gradient(180deg, rgba(12, 24, 32, 0.06), rgba(12, 24, 32, 0.03));
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  padding: 18px 24px 14px;
  border-radius: 22px 22px 0 0;
}

.pulse-panel--dealership .pulse-title-row,
.pulse-panel--dealership .pulse-meta {
  margin-bottom: 6px;
}

.pulse-panel--dealership .pulse-body {
  background: #ffffff;
  padding: 18px 24px 22px;
  border-radius: 0 0 22px 22px;
}

.pulse-panel--leadership {
  background: #f4f7f9;
  border: 1px solid rgba(15, 23, 42, 0.10);
}

.pulse-panel--leadership .pulse-card,
.pulse-panel--leadership .leadership-summary {
  background: transparent;
}

.pulse-panel--leadership .pulse-sub {
  color: rgba(17, 24, 39, 0.68);
}

.pulse-card {
  padding: 28px 36px 26px;
}

.pulse-card-title {
  margin: 0;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

/* Pulse title tone lock (override any global heading styles) */
.page--pro .pulse-card-title,
.page--pro.pro-dashboard .pulse-card-title {
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  letter-spacing: -0.01em !important;
}

.dept-title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 6px;
}

.dept-title .pulse-meta {
  margin-bottom: 0;
}

.dept-title-text {
  font-weight: 600;
  letter-spacing: -0.01em;
}

.pulse-title-row {
  margin-bottom: 8px;
}

.pulse-status-row {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 8px;
}

.pulse-explain {
  margin: 0 0 10px;
  font-size: 15px;
  color: var(--text);
}

.pulse-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  font-size: 12.5px;
  color: var(--text-2);
  margin-bottom: 10px;
}

.pulse-header .pulse-meta {
  margin-bottom: 0;
}

.pulse-meta__label {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
}

.pulse-meta__value {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
}

.pulse-meta-label {
  text-transform: none;
  letter-spacing: 0;
  font-size: 12.5px;
  color: var(--text-2);
}

.pulse-meta-note {
  font-size: 12.5px;
  color: var(--text-2);
}

.pulse-meta-link {
  font-size: 12.5px;
  color: var(--text-2);
  margin-bottom: 16px;
}

.pulse-status-text {
  text-transform: none;
  letter-spacing: 0;
}

/* Pulse dot (premium, subtle) */
.pulse-dot {
  --c: #f2b84b;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--c);
  position: relative;
  display: inline-block;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--c) 22%, transparent);
}

.pulse-dot::after {
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: 999px;
  border: 2px solid color-mix(in srgb, var(--c) 35%, transparent);
  opacity: 0.75;
  animation: pulseRing 1.9s ease-out infinite;
}

/* Dashboard pulse dots: make the core dot solid (no haze) */
body.page--pro.pro-dashboard .pulse-dot {
  box-shadow: none;
  background: var(--c) !important;
}

body.page--pro.pro-dashboard .pulse-dot::after {
  border-color: color-mix(in srgb, var(--c) 45%, transparent);
  opacity: 0.7;
}

body.page--pro.pro-dashboard .pulse-dot--emphasis {
  width: 16px;
  height: 16px;
  box-shadow:
    0 0 0 6px color-mix(in srgb, var(--c) 18%, rgba(255,255,255,0.94)),
    0 0 18px color-mix(in srgb, var(--c) 20%, transparent);
}

body.page--pro.pro-dashboard .pulse-dot--emphasis::after {
  inset: -12px;
  border-width: 3px;
  border-color: color-mix(in srgb, var(--c) 58%, transparent);
  opacity: 0.92;
}

.pulse-dot--green { --c: #2fbf71; }
.pulse-dot--yellow { --c: #f2b84b; }
.pulse-dot--orange { --c: #f2b84b; }
.pulse-dot--red { --c: #f05a5a; }
.pulse-dot--neutral { --c: #94a3b8; }

.pulse-dot--slow::after { animation-duration: 2.2s; }
.pulse-dot--medium::after { animation-duration: 1.6s; }
.pulse-dot--fast::after { animation-duration: 1.1s; }

@keyframes pulseRing {
  0% { transform: scale(0.65); opacity: 0; }
  20% { opacity: 0.7; }
  100% { transform: scale(1.15); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .pulse-dot::after {
    animation: none;
    opacity: 0.25;
  }
}

.pulse-metrics {
  margin-top: 6px;
  display: grid;
  gap: 12px;
}

.pulse-metrics .metric {
  background: color-mix(in srgb, var(--card) 92%, transparent);
  border: 1px solid color-mix(in srgb, var(--border) 45%, transparent);
  padding: 8px 10px;
  min-height: 54px;
}

.pulse-metrics .metric-label {
  color: var(--text-2);
}

.pulse-metrics .metric strong {
  font-size: 20px;
}

.pulse-summary {
  margin: 0 0 10px;
  font-size: 16px;
  color: rgba(17, 24, 39, 0.82);
}

.pulse-sub {
  margin: 0 0 12px;
  font-size: 14px;
  color: rgba(17, 24, 39, 0.65);
}

.pulse-hero-stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}

.content-wrap {
  max-width: var(--content-max, 1100px);
  margin: 0 auto;
  padding: 0 20px;
}

.page-title {
  padding: 12px 0 4px;
}

.page-title h1 {
  margin: 0;
  font-size: 28px;
  text-align: center;
}

.page--pro.pro-dashboard .app-shell::before {
  opacity: 0 !important;
  mix-blend-mode: normal !important;
}

.pulse-row {
  width: 100%;
  padding: 8px 0 4px;
}

.page--pro.pro-dashboard .pulse-row {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
}

.pulse-pair {
  display: flex;
  justify-content: center;
  gap: 26px;
  width: 100%;
  padding: 0 24px;
  margin: 0 auto;
}

.pulse-pair > .pulse-card-xl {
  width: 560px;
  max-width: 560px;
  flex: 0 0 560px;
}

@media (max-width: 1200px) {
  .pulse-pair > .pulse-card-xl {
    width: 480px;
    max-width: 480px;
    flex: 0 0 480px;
  }
}

@media (max-width: 980px) {
  .pulse-pair {
    flex-direction: column;
    align-items: center;
  }
  .pulse-pair > .pulse-card-xl {
    width: 100%;
    max-width: 720px;
    flex: 0 1 auto;
  }
}

.pulse-card-xl {
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
  padding: 26px 28px;
  min-height: 250px;
  display: grid;
  gap: 10px;
  position: relative;
}

.page--pro.pro-dashboard .pulse-card-xl {
  background: #fff !important;
}

@media (max-width: 900px) {
  .pulse-card-xl {
    min-height: 0;
  }
}

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

.pulse-card-title {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.pulse-card-header .pulse-dot {
  margin-top: 4px;
}

.pulse-card-title h3 {
  margin: 0;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.2;
  color: #0f172a;
  opacity: 1;
}

.leadership-details-section {
  display: grid;
  gap: 16px;
}

.leadership-details-section .card {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 18px;
  padding: 22px 24px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
}

.card-header-row h3 {
  margin: 0 0 10px;
}

.pulse-summary {
  margin: 0;
  font-size: 24px;
  line-height: 1.45;
  color: #111827;
  font-weight: 600;
}

.pulse-subline {
  margin: 0;
  margin-top: 12px;
  opacity: 1;
  font-size: 19px;
  color: #111827;
  font-weight: 500;
}

.pulse-derived {
  margin-top: 14px;
  font-size: 15px;
  line-height: 1.35;
  opacity: 1;
  color: #111827;
}

.page--pro.pro-dashboard .pulse-card-xl::before {
  display: none !important;
}

.page--pro.pro-dashboard .pulse-card-xl p,
.page--pro.pro-dashboard .pulse-card-xl li,
.page--pro.pro-dashboard .pulse-card-xl h3,
.page--pro.pro-dashboard .pulse-card-xl span {
  color: #0f172a !important;
  opacity: 1 !important;
}

.page--pro.pro-dashboard .pulse-card-xl .signal-dist-text {
  color: #111827;
  opacity: 1;
  cursor: default;
}

.page--pro.pro-dashboard .pulse-card-xl .signal-text-tooltip {
  display: none !important;
}

.page--pro.pro-dashboard .dashboard-hero h1 {
  color: #0f172a;
  opacity: 1;
}

.page--pro.pro-dashboard .dashboard-hero {
  color: #0f172a;
}

.page--pro.pro-dashboard .page-title h1 {
  color: #0f172a !important;
  opacity: 1 !important;
  font-weight: 700;
}

/* Unified Pro page header */
.pro-page-header {
  width: 100%;
  padding: 22px 0 10px;
}

.pro-page-header-inner {
  max-width: var(--pro-container-max);
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}

.pro-page-header-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pro-page-title {
  margin: 0;
  font-size: var(--dash-h1-size);
  line-height: var(--dash-h1-lh);
  font-weight: 700;
  color: #0f172a;
  letter-spacing: -0.02em;
}

.pro-page-subtitle {
  margin: 6px 0 0;
  font-size: 14px;
  line-height: 1.4;
  opacity: 0.72;
  max-width: 740px;
}

.pro-page-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.pro-page-header + .pulse-row,
.pro-page-header + .dashboard-section,
.pro-page-header + section {
  margin-top: 10px;
}

@media (max-width: 900px) {
  .pro-page-header-inner {
    flex-direction: column;
    align-items: flex-start;
  }
  .pro-page-title {
    font-size: 28px;
  }
}

/* Hard stop any header fade from affecting /pro dashboard content */
.page--pro.pro-dashboard main,
.page--pro.pro-dashboard .app-main {
  max-width: var(--pro-container-max);
  background: #fff;
  opacity: 1 !important;
  filter: none !important;
}

.page--pro.pro-dashboard .content-wrap {
  max-width: var(--pro-container-max);
  background: transparent;
  opacity: 1 !important;
  filter: none !important;
}

.page--pro.pro-dashboard main::before,
.page--pro.pro-dashboard main::after,
.page--pro.pro-dashboard .content-wrap::before,
.page--pro.pro-dashboard .content-wrap::after {
  content: none !important;
  display: none !important;
}

.page--pro.pro-dashboard .app-header,
.page--pro.pro-dashboard header {
  position: relative;
  z-index: 10;
}

.page--pro.pro-dashboard main.app-main {
  position: relative;
  z-index: 20;
  background: #fff;
}

.page--pro.pro-dashboard .page-title h1,
.page--pro.pro-dashboard .pro-page-title {
  opacity: 1 !important;
  filter: none !important;
  color: #0f172a !important;
}

.page--pro.pro-dashboard .pulse-summary,
.page--pro.pro-dashboard .pulse-subline,
.page--pro.pro-dashboard .pulse-derived,
.page--pro.pro-dashboard .status-chip,
.page--pro.pro-dashboard .pro-page-title {
  color: #0b0f19 !important;
  opacity: 1 !important;
}

/* Use non-variable fonts to avoid SFNS GRAD axis light rendering */
.page--pro.pro-dashboard .pro-page-title,
.page--pro.pro-dashboard .pulse-card-xl h3,
.page--pro.pro-dashboard .pulse-summary,
.page--pro.pro-dashboard .pulse-subline,
.page--pro.pro-dashboard .pulse-derived {
  font-family: "Inter", "SF Pro Display", "Segoe UI", Arial, sans-serif !important;
  font-weight: 700 !important;
  font-variation-settings: normal !important;
  font-synthesis-weight: none !important;
  -webkit-text-fill-color: #0b0f19 !important;
}

.page--pro.pro-dashboard .pulse-row,
.page--pro.pro-dashboard .pulse-card-xl {
  opacity: 1 !important;
  filter: none !important;
}

/* Force crisp top area (no inherited opacity or blend) */
.page--pro.pro-dashboard .pro-page-header,
.page--pro.pro-dashboard .pro-page-header * {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  color: #0f172a !important;
}

.page--pro.pro-dashboard .pulse-card-xl,
.page--pro.pro-dashboard .pulse-card-xl * {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  color: #0b0f19 !important;
}

.page--pro.pro-dashboard header,
.page--pro.pro-dashboard .app-header {
  background: #ffffff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Kill any remaining wash on /pro dashboard */
body.page--pro.pro-dashboard {
  background: #f6f7fb !important;
  color: #0f172a !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-font-smoothing: auto !important;
  -moz-osx-font-smoothing: auto !important;
}

.page--pro.pro-dashboard .app-shell {
  background: #f6f7fb !important;
  opacity: 1 !important;
  filter: none !important;
}

.page--pro.pro-dashboard .app-header {
  background: #ffffff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
}

.page--pro.pro-dashboard .app-header::before,
.page--pro.pro-dashboard .app-header::after {
  content: none !important;
  display: none !important;
}

.page--pro.pro-dashboard .app-main {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

body.page--pro.pro-dashboard::before,
body.page--pro.pro-dashboard::after {
  content: none !important;
  display: none !important;
}

/* FINAL hard clamp for /pro dashboard (force full contrast) */
.page--pro.pro-dashboard,
.page--pro.pro-dashboard * {
  opacity: 1 !important;
  filter: none !important;
  text-rendering: auto !important;
  -webkit-font-smoothing: auto !important;
  -moz-osx-font-smoothing: auto !important;
}

.page--pro.pro-dashboard .app-main,
.page--pro.pro-dashboard .app-main * {
  color: #0b0f19 !important;
}

/* Force solid backgrounds at the root to kill any global gradients */
html[data-theme="light"] {
  background: #f6f7fb !important;
  background-image: none !important;
}

html[data-theme="light"] body.page--pro.pro-dashboard,
body.page--pro.pro-dashboard {
  background: #f6f7fb !important;
  background-image: none !important;
}

html[data-theme="light"] body.page--pro.pro-dashboard .app-shell,
body.page--pro.pro-dashboard .app-shell,
body.page--pro.pro-dashboard main.app-main {
  background: #f6f7fb !important;
  background-image: none !important;
}

/* Force top chrome + ticker to solid white (no gradient bleed) */
.page--pro.pro-dashboard .app-header,
.page--pro.pro-dashboard .app-header-inner,
.page--pro.pro-dashboard .app-nav,
.page--pro.pro-dashboard .app-nav * {
  background: #ffffff !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.page--pro.pro-dashboard .qdos-bleed,
.page--pro.pro-dashboard .qdos-ticker-bleed,
.page--pro.pro-dashboard .qdos-ticker {
  background: #ffffff !important;
  background-image: none !important;
}

/* Absolute override: remove any remaining root gradients (premium.css has multiple) */
html,
body {
  background: #f6f7fb !important;
  background-image: none !important;
}

.pulse-summary-row {
  display: grid;
  gap: 8px;
}

.pulse-right {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.chev {
  font-size: 14px;
  opacity: 0.6;
  transition: transform 0.15s ease;
}

.pulse-locked-note {
  font-size: 12px;
  opacity: 0.7;
  margin-top: 8px;
}

.pulse-card-clickable {
  cursor: pointer;
}

.pulse-card-clickable:focus {
  outline: 2px solid rgba(0, 0, 0, 0.08);
  outline-offset: 3px;
}

.pulse-card-clickable .chev {
  transition: transform 0.15s ease;
  opacity: 0.6;
}

.pulse-card-clickable.is-open .chev {
  transform: rotate(180deg);
  opacity: 0.8;
}

.pulse-card-clickable.is-open {
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.1);
}

.status-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: rgba(148, 163, 184, 0.16);
  color: #334155;
}


.this-week-focus,
.leadership-details,
.departments-section {
  padding: 12px 0;
}

.focus-grid {
  max-width: 1180px;
  margin: 18px auto 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  padding: 0 24px;
}

@media (max-width: 900px) {
  .focus-grid {
    grid-template-columns: 1fr;
  }
}

.focus-card {
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.07);
  padding: 22px 24px;
}

.focus-card h2 {
  margin: 0 0 12px;
  font-size: 18px;
}

.leadership-details-details {
  max-width: 1180px;
  margin: 18px auto 0;
  padding: 0 24px;
}

.leadership-details-details > summary {
  list-style: none;
  cursor: pointer;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.07);
  padding: 16px 18px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.leadership-details-details > summary::-webkit-details-marker {
  display: none;
}

.leadership-details-details .summary-title {
  font-weight: 650;
  font-size: 18px;
}

.leadership-details-details .summary-sub {
  opacity: 0.7;
  font-size: 14px;
  margin-left: 6px;
}

.leadership-details-details .chev {
  margin-left: auto;
  opacity: 0.6;
  transition: transform 0.15s ease;
}

.leadership-details-details[open] .chev {
  transform: rotate(180deg);
  opacity: 0.85;
}

.leadership-details-body {
  margin-top: 12px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.07);
  padding: 18px;
}

.focus-card {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 18px;
  padding: 18px 20px;
  display: grid;
  gap: 16px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

.focus-card h2 {
  margin: 0;
  font-size: 20px;
}

.focus-card h3 {
  margin: 0 0 6px;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(17, 24, 39, 0.55);
}

.focus-card ul {
  margin: 0;
  padding-left: 18px;
}

.focus-card p {
  margin: 0;
}

.focus-block {
  display: grid;
  gap: 6px;
}

.leadership-details .qiq-details {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 18px;
  padding: 0;
  box-shadow: 0 8px 26px rgba(15, 23, 42, 0.05);
}

.leadership-details .qiq-details summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  font-weight: 600;
}

.leadership-details .details-toggle {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(17, 24, 39, 0.55);
  margin-left: auto;
}

.leadership-details .qiq-details summary::-webkit-details-marker {
  display: none;
}

.leadership-details .qiq-details .details-body {
  padding: 0 18px 18px;
}

.leadership-details .qiq-details .chev {
  display: inline-block;
  transition: transform 160ms ease;
}

.leadership-details .qiq-details[open] .chev {
  transform: rotate(180deg);
}

.leadership-details .locked-note {
  font-weight: 400;
  font-size: 12px;
}

.pulses-stack {
  display: grid;
  gap: 22px;
  padding: 12px 0 8px;
}

.leadership-collapsible {
  border: 1px solid rgba(20, 30, 45, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.75);
}

.leadership-collapsible.pulse-card {
  padding: 0;
}

.leadership-collapsible > summary {
  cursor: pointer;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
}

.leadership-collapsible[data-locked="1"] > summary {
  cursor: default;
}

.leadership-collapsible .pulse-header-left {
  display: grid;
  gap: 6px;
}

.leadership-collapsible .pulse-header-right {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--text-2);
  font-size: 13px;
}

.leadership-collapsible .pulse-chevron {
  display: inline-block;
  transition: transform 180ms ease;
}

.leadership-collapsible[open] .pulse-chevron {
  transform: rotate(180deg);
}

.leadership-collapsible .leadership-details {
  padding: 0 20px 20px;
}

.leadership-collapsible .leadership-locked-note {
  font-size: 12px;
}

.leadership-toggle {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tooltip {
  position: relative;
  cursor: help;
  border-bottom: 1px dotted rgba(15, 23, 42, 0.35);
}

.tooltip::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 0;
  top: 120%;
  min-width: 220px;
  max-width: 280px;
  background: #111827;
  color: #f8fafc;
  font-size: 12px;
  padding: 8px 10px;
  border-radius: 10px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity 140ms ease, transform 140ms ease;
  z-index: 5;
}

.tooltip:hover::after,
.tooltip:focus-visible::after {
  opacity: 1;
  transform: translateY(0);
}

.stat-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 14px;
}

.stat {
  border: 1px solid rgba(20, 30, 45, 0.08);
  background: rgba(255, 255, 255, 0.55);
  border-radius: 14px;
  padding: 12px 12px;
}

.stat .k {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(17, 24, 39, 0.55);
}

.stat .v {
  font-size: 20px;
  font-weight: 650;
  color: rgba(17, 24, 39, 0.92);
  margin-top: 2px;
}

.leader-section-label {
  margin-top: 14px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(17, 24, 39, 0.6);
}

@media (max-width: 860px) {
  .stat-row {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Pro dashboard content container: centered + tighter desktop width */
.page--pro.pro-dashboard {
  --dashboard-content-max: 1280px;
}

.page--pro.pro-dashboard .app-main {
  display: block !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  max-width: var(--dashboard-content-max) !important;
  margin: 0 auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.page--pro.pro-dashboard .app-main > * {
  width: 100% !important;
  max-width: var(--dashboard-content-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.page--pro.pro-dashboard .dashboard-section {
  width: 100% !important;
  max-width: var(--dashboard-content-max) !important;
  margin: 0 auto !important;
  padding: 24px 0 !important;
}

.page--pro.pro-dashboard .pulse-hero-stack,
.page--pro.pro-dashboard .pulse-panel,
.page--pro.pro-dashboard .pulse-card {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

/* Safety: remove any default summary marker icons in leadership pulse */
.page--pro.pro-dashboard summary {
  list-style: none;
}

.page--pro.pro-dashboard summary::-webkit-details-marker {
  display: none;
}

.page--pro.pro-dashboard summary::marker {
  content: "";
}

.leadership-collapse {
  margin-top: 16px;
}

.leadership-collapse > summary.leadership-toggle {
  list-style: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.leadership-collapse[open] > summary.leadership-toggle {
  margin-bottom: 12px;
}

/* Legacy pulse markup cleanup (if any old pulse-primary cards still render) */
.page--pro.pro-dashboard .pulse-primary .pulse-strip,
.page--pro.pro-dashboard .pulse-primary .pulse-strip::after {
  display: none !important;
}

.page--pro.pro-dashboard .pulse-primary .status-pill,
.page--pro.pro-dashboard .leadership-pulse--secondary .status-pill,
.page--pro.pro-dashboard .leadership-pulse--secondary .pill {
  display: none !important;
}

.alignment-note {
  display: inline-flex;
  align-items: center;
  font-size: 12.5px;
  color: var(--text-2);
  text-decoration: none;
  margin: 4px 0 6px;
}

.alignment-note:hover {
  color: var(--text);
}


.hp-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
  margin-top: 6px;
}

.hp-module h3 {
  font-size: 15px;
  margin: 0 0 6px;
  font-weight: 600;
}

.hp-metric {
  display: flex;
  align-items: baseline;
  gap: 6px;
  font-size: 16px;
  margin-bottom: 6px;
}

.hp-trend {
  font-weight: 600;
}

.hp-readout {
  margin: 6px 0 0;
  font-size: 13px;
  color: var(--text-2);
}

.hp-caption {
  margin: 8px 0 4px;
  font-size: 12.5px;
  color: var(--text-2);
  display: flex;
  align-items: center;
  gap: 6px;
}

.info-tip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 1px solid rgba(148, 163, 184, 0.35);
  font-size: 10px;
  color: var(--text-2);
  position: relative;
}

.info-tip-text {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 8px);
  transform: translateX(-50%);
  background: var(--bg-2);
  border: 1px solid var(--hairline);
  border-radius: 12px;
  padding: 8px 10px;
  font-size: 11.5px;
  color: var(--text);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
  z-index: 5;
}

.info-tip:hover .info-tip-text,
.info-tip:focus-visible .info-tip-text {
  opacity: 1;
  transform: translateX(-50%) translateY(-2px);
}

.signal-dist-text {
  margin-bottom: 6px;
}

.raise-hand-inline {
  margin: 6px 0 0;
  font-size: 13px;
  color: var(--text-2);
}

.raise-hand-inline .raise-hand-link {
  background: transparent;
  border: 0;
  color: var(--text);
  font-weight: 600;
  cursor: pointer;
  padding: 0;
}

.raise-hand-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 22px;
}

.raise-hand-cta h3 {
  margin: 0 0 6px;
}

.raise-hand-cta .btn-primary {
  white-space: nowrap;
}

.workspace-page .dashboard-section {
  margin-bottom: 14px;
}

.workspace-page .workspace-people-row {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 4px;
}

.workspace-page .workspace-person-tile {
  min-width: 210px;
  display: grid;
  grid-template-columns: 36px 1fr;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--card-border);
  background: var(--panel);
  border-radius: 12px;
  padding: 10px 12px;
  text-align: left;
  cursor: pointer;
}

.workspace-page .workspace-person-tile.is-selected {
  border-color: rgba(0, 0, 0, 0.28);
  background: rgba(0, 0, 0, 0.03);
}

.workspace-page .workspace-person-avatar {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.08);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
}

.workspace-page .workspace-person-text {
  display: grid;
  gap: 2px;
}

.workspace-page .workspace-person-text small {
  color: var(--muted);
  font-size: 12px;
}

.workspace-page .workspace-team-lead .workspace-people-row {
  margin-top: 2px;
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: thin;
}

.workspace-page .workspace-team-lead .workspace-person-tile {
  min-height: 62px;
}

.workspace-page .workspace-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  display: inline-block;
  flex: 0 0 8px;
  background: #94a3b8;
}

.workspace-page .workspace-status-dot.is-red { background: #f87171; }
.workspace-page .workspace-status-dot.is-yellow { background: #fbbf24; }
.workspace-page .workspace-status-dot.is-green { background: #4ade80; }

.workspace-page .workspace-team-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.workspace-page .workspace-team-card {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.96);
  display: grid;
  gap: 14px;
}

.workspace-page .workspace-team-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.workspace-page .workspace-team-person {
  display: flex;
  align-items: center;
  gap: 12px;
}

.workspace-page .workspace-team-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(24, 182, 200, 0.12);
  color: #0f172a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
}

.workspace-page .workspace-person-avatar img,
.workspace-page .workspace-team-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: inherit;
}

.workspace-page .workspace-person-avatar,
.workspace-page .workspace-team-avatar {
  box-shadow: inset 0 0 0 1px rgba(24, 182, 200, 0.12);
}

.workspace-page .employee-avatar--workspace,
.workspace-page .employee-avatar--workspace-team {
  overflow: hidden;
}

.workspace-page .workspace-team-card-metrics {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.workspace-page .workspace-team-card .status-pill {
  font-size: 0.76rem;
}

.workspace-page .workspace-team-card strong {
  font-size: 1.08rem;
}

.workspace-page .workspace-team-priority {
  display: grid;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(248, 250, 252, 0.9);
  border: 1px solid rgba(15, 23, 42, 0.06);
}

.workspace-page .workspace-team-priority p {
  margin: 0;
}

.workspace-page .workspace-team-priority-label {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #64748b;
  font-weight: 700;
}

.workspace-page .workspace-team-open {
  justify-self: start;
}

.workspace-page .workspace-team-card ul {
  margin: 0;
  padding-left: 18px;
}

.workspace-page .workspace-team-card li + li {
  margin-top: 6px;
}

@media (max-width: 1200px) {
  .workspace-page .workspace-team-grid {
    grid-template-columns: 1fr;
  }
}

.workspace-page .workspace-command-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 14px;
}

.workspace-page .workspace-main-col {
  grid-column: span 8;
}

.workspace-page .workspace-side-col {
  grid-column: span 4;
}

.workspace-page .workspace-plan-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 10px;
}

.workspace-page .workspace-plan-rows {
  display: grid;
  gap: 10px;
}

.workspace-page .workspace-team-all-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 8px 0 10px;
  padding: 10px 12px;
  border: 1px dashed var(--card-border);
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.01);
}

.workspace-page .workspace-plan-row {
  border: 1px solid var(--card-border);
  border-radius: 12px;
  background: var(--panel);
  padding: 0;
}

.workspace-page .workspace-plan-row summary {
  list-style: none;
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  cursor: pointer;
}

.workspace-page .workspace-plan-row summary::-webkit-details-marker {
  display: none;
}

.workspace-page .workspace-plan-title {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: 600;
}

.workspace-page .workspace-plan-meta {
  color: var(--muted);
  font-size: 12px;
}

.workspace-page .workspace-plan-view {
  color: var(--muted);
  font-size: 12px;
}

.workspace-page .workspace-plan-body {
  padding: 0 12px 12px;
  display: grid;
  gap: 10px;
}

.workspace-page .dashboard-card,
.workspace-page .qiq-tile:not(.dash-tile) {
  background: #fff !important;
}

.workspace-page .dashboard-card::before {
  display: none !important;
}

@media (max-width: 1100px) {
  .workspace-page .workspace-command-grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .workspace-page .workspace-main-col,
  .workspace-page .workspace-side-col {
    grid-column: span 8;
  }
  .workspace-page .workspace-plan-row summary {
    grid-template-columns: auto 1fr;
    gap: 8px;
  }
}

@media (max-width: 720px) {
  .workspace-page .workspace-command-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .workspace-page .workspace-main-col,
  .workspace-page .workspace-side-col {
    grid-column: span 4;
  }
  .workspace-page .workspace-plan-stats {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .raise-hand-cta {
    flex-direction: column;
    align-items: flex-start;
  }
  .raise-hand-cta .btn-primary {
    width: 100%;
  }
}

@media (max-width: 900px) {
  .hp-grid {
    grid-template-columns: 1fr;
  }

  .pulse-visual {
    height: 54px;
  }
}
.momentum-line {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid rgba(148, 163, 184, 0.2);
}

.health-score-bar.score-empty .health-score-fill {
  background: rgba(148, 163, 184, 0.12);
}

.health-score-bar .health-score-fill::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  transform: translateX(-100%);
  animation: scoreSheen 1.4s ease-out 1;
  animation-fill-mode: both;
  opacity: 0.22;
}

.health-score-bar.score-empty .health-score-fill::after {
  animation: none;
  opacity: 0;
}

.health-score-bar.score-yellow .health-score-fill::after,
.health-score-bar.score-red .health-score-fill::after {
  opacity: 0.22;
}

.health-score-bar.score-empty .health-score-end {
  display: none;
}

.signal-dist-text {
  background: transparent;
  border: 0;
  padding: 0;
  color: var(--text-2);
  font-size: 13px;
  cursor: pointer;
  align-self: flex-start;
  position: relative;
}

.signal-text-tooltip {
  position: absolute;
  left: 0;
  top: -8px;
  transform: translateY(-100%);
  background: var(--bg-2);
  border: 1px solid var(--hairline);
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 12.5px;
  color: var(--text);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 220px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
  z-index: 4;
}

.signal-text-tooltip strong {
  font-size: 12.5px;
}

.signal-text-tooltip em {
  font-style: normal;
  color: var(--text-2);
  font-size: 11.5px;
  margin-top: 4px;
}

.signal-dist-text:hover .signal-text-tooltip,
.signal-dist-text:focus-visible .signal-text-tooltip {
  opacity: 1;
  transform: translateY(-108%);
}

.health-score-bar.score-empty ~ .signal-dist-text {
  color: var(--text-2);
}

@keyframes healthSheen {
  0%, 100% { opacity: 0; }
  50% { opacity: 0.22; }
}

@keyframes scoreSheen {
  0% { transform: translateX(-100%); opacity: 0; }
  40% { opacity: 0.45; }
  60% { opacity: 0.25; }
  100% { transform: translateX(100%); opacity: 0; }
}

/* Pulse cadence */
.pulse-cadence {
  margin-top: 6px;
  opacity: 0.24;
  transition: opacity 0.2s ease;
}

.signal-dist-bar:hover ~ .pulse-cadence,
.signal-dist-bar:focus-visible ~ .pulse-cadence {
  opacity: 0.42;
}

.pulse-cadence svg {
  width: 100%;
  height: 12px;
  display: block;
}

.pulse-line {
  fill: none;
  stroke: rgba(14, 165, 164, 0.5);
  stroke-width: 1.6;
  opacity: 0.35;
}

.pulse-line--active {
  stroke: rgba(14, 165, 164, 0.85);
  stroke-width: 1.8;
  stroke-dasharray: 24 160;
  animation: pulseCadence 4.5s ease-in-out infinite;
  opacity: 0.6;
}

.pulse-cadence--improving .pulse-line--active {
  animation-duration: 2.5s;
}

.pulse-cadence--stable .pulse-line--active {
  animation-duration: 4.5s;
}

.pulse-cadence--slipping .pulse-line--active {
  animation-duration: 6.5s;
  animation-timing-function: ease-in-out;
}

@keyframes pulseCadence {
  0% { stroke-dashoffset: 0; opacity: 0.25; }
  50% { opacity: 0.6; }
  100% { stroke-dashoffset: -184; opacity: 0.25; }
}

@media (prefers-reduced-motion: reduce) {
  .pulse-line--active {
    animation: none;
  }
  .pulse-wave--active {
    animation: none;
  }
}


/* Health breakdown drawer */
.health-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(8, 15, 24, 0.45);
  z-index: 120;
}

.health-drawer {
  position: fixed;
  top: 0;
  right: -520px;
  width: min(520px, 92vw);
  height: 100vh;
  background: var(--bg-2);
  border-left: 1px solid var(--hairline);
  box-shadow: -20px 0 60px rgba(0, 0, 0, 0.2);
  z-index: 130;
  padding: 20px;
  display: grid;
  grid-template-rows: auto auto 1fr;
  gap: 14px;
  transition: right 0.2s ease;
}

.health-drawer.is-open {
  right: 0;
}

.health-drawer-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.health-drawer-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.health-drawer-tabs .pill.is-active {
  border-color: rgba(14, 165, 164, 0.55);
  box-shadow: 0 0 0 2px rgba(14, 165, 164, 0.15);
}

.health-drawer-body {
  overflow-y: auto;
}

.health-panel {
  display: none;
}

.health-panel.is-active {
  display: block;
}

@media (prefers-reduced-motion: reduce) {
  .health-score-bar .health-score-fill::after {
    animation: none;
  }
}

.today-action-list {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
}

.today-action-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  padding-bottom: 14px;
  margin-bottom: 14px;
}

.today-action-header h2 {
  margin: 0 0 4px 0;
  font-size: 24px;
}

.today-action-controls {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.today-action-body {
  display: grid;
  gap: 12px;
}

.today-action-items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.today-action-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 12px;
  background: rgba(249, 250, 251, 0.9);
}

.today-action-check {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  color: rgba(15, 23, 42, 0.9);
}

.today-action-check input {
  width: 16px;
  height: 16px;
}

.today-action-title {
  font-weight: 600;
}

.today-action-badge {
  font-size: 11px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.06);
  color: rgba(15, 23, 42, 0.7);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.today-action-badge.overdue {
  background: rgba(239, 68, 68, 0.12);
  color: rgba(185, 28, 28, 0.9);
}

.today-action-badge.today {
  background: rgba(245, 158, 11, 0.14);
  color: rgba(180, 83, 9, 0.9);
}

.today-action-badge.this_week {
  background: rgba(59, 130, 246, 0.12);
  color: rgba(30, 64, 175, 0.9);
}

.today-action-completed h4 {
  margin: 0;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(15, 23, 42, 0.6);
}

.today-action-toast {
  margin-top: 10px;
  font-size: 13px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.9);
  color: #fff;
  width: fit-content;
  transition: opacity 0.2s ease, transform 0.2s ease;
  opacity: 0;
  transform: translateY(4px);
}

.today-action-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.today-action-toast.is-error {
  background: rgba(185, 28, 28, 0.95);
}

/* --- Culture leadership brief (2026) --- */
.culture-page {
  max-width: none;
  margin: 0 auto;
  padding: 0 0 60px;
}

.culture-subnav {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 6px 0 18px;
}

.culture-subnav .pill-link {
  text-transform: none;
}

.culture-callout {
  display: grid;
  gap: 8px;
  margin: 18px 0 22px;
  padding: 18px 20px;
}

.culture-callout-title {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--text-muted);
}

.culture-callout-copy {
  font-size: 15px;
  color: var(--text);
}

.dynamics-hero {
  display: grid;
  gap: 10px;
  margin: 6px 0 18px;
  padding: 20px 22px;
}

.dynamics-hero h2 {
  margin: 0;
  font-size: 24px;
}

.dynamics-summary {
  margin: 0;
  font-size: 16px;
  color: var(--text);
}

.dynamics-note {
  margin: 0;
  font-size: 12px;
  color: var(--text-muted);
}

.dynamics-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.dynamics-card {
  padding: 18px 20px;
  display: grid;
  gap: 12px;
}

.dynamics-card-title {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--text-muted);
}

.dynamics-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.dynamics-tag {
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.16);
  color: #334155;
  font-size: 12px;
  font-weight: 600;
}

.dynamics-list {
  margin: 0;
  padding-left: 16px;
  display: grid;
  gap: 6px;
  color: #1f2937;
  font-size: 14px;
}

.dynamics-composition {
  margin-top: 18px;
  padding: 16px 20px;
}

.dynamics-composition summary {
  cursor: pointer;
  font-weight: 600;
  list-style: none;
}

.dynamics-composition summary::-webkit-details-marker {
  display: none;
}

.composition-list {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.composition-row {
  display: grid;
  grid-template-columns: 140px 1fr 44px;
  gap: 10px;
  align-items: center;
}

.composition-label {
  font-size: 13px;
  color: #1f2937;
  font-weight: 600;
}

.composition-bar {
  height: 8px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.18);
  overflow: hidden;
}

.composition-bar span {
  display: block;
  height: 100%;
  background: #0f172a;
  opacity: 0.65;
}

.composition-value {
  font-size: 12px;
  color: var(--text-muted);
  text-align: right;
}

.composition-note {
  margin-top: 10px;
}

.culture-brief-card {
  display: flex;
  gap: 32px;
  justify-content: space-between;
  align-items: stretch;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 24px 28px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
  margin-top: 10px;
}

.culture-brief-left {
  display: grid;
  gap: 8px;
  flex: 1;
}

.culture-brief-eyebrow {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  font-weight: 600;
}

.culture-brief-headline {
  font-size: 24px;
  font-weight: 700;
  color: var(--text);
}

.culture-brief-subhead {
  font-size: 15px;
  color: var(--text-muted);
  max-width: 540px;
}

.culture-brief-right {
  min-width: 220px;
  display: grid;
  gap: 10px;
  align-content: start;
  justify-items: start;
}

.culture-momentum-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.4);
  background: rgba(148, 163, 184, 0.12);
  font-size: 12px;
  font-weight: 600;
  color: #334155;
}

.culture-momentum-pill[data-momentum="improving"] {
  background: rgba(47, 191, 120, 0.12);
  border-color: rgba(47, 191, 120, 0.35);
  color: #166534;
}

.culture-momentum-pill[data-momentum="at risk"] {
  background: rgba(245, 158, 11, 0.14);
  border-color: rgba(245, 158, 11, 0.35);
  color: #92400e;
}

.culture-momentum-bar {
  width: 100%;
  max-width: 220px;
  height: 6px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.2);
  overflow: hidden;
}

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

.culture-momentum-direction {
  font-size: 12px;
  color: var(--text-muted);
}

.culture-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 32px;
  margin-top: 28px;
}

.culture-left,
.culture-right {
  display: grid;
  gap: 18px;
}

.culture-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 18px 20px;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
}

.culture-primary {
  padding: 22px 24px;
  border-color: rgba(18, 183, 200, 0.25);
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12);
}

.culture-card-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 12px;
}

.culture-signal-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.culture-signal-label {
  font-size: 20px;
  font-weight: 700;
  color: var(--text);
}

.culture-signal-note {
  font-size: 14px;
  color: var(--text-muted);
  margin-top: 6px;
  max-width: 420px;
}

.culture-signal-badges {
  display: grid;
  gap: 8px;
  justify-items: end;
}

.culture-signal-prompt {
  margin-top: 14px;
  font-size: 14px;
  font-weight: 600;
  color: #0f172a;
  background: rgba(18, 183, 200, 0.08);
  border-radius: 12px;
  padding: 10px 12px;
}

.culture-supporting-grid {
  display: grid;
  gap: 12px;
}

.culture-supporting-card {
  border: 1px solid rgba(148, 163, 184, 0.3);
  border-radius: 12px;
  padding: 12px 14px;
  background: rgba(248, 250, 252, 0.7);
}

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

.culture-supporting-label {
  font-size: 15px;
  font-weight: 600;
  color: #1f2937;
}

.culture-supporting-note {
  font-size: 13px;
  color: var(--text-muted);
  margin-top: 6px;
}

.culture-supporting-badges {
  display: inline-flex;
  gap: 6px;
  flex-wrap: wrap;
}

.culture-attention-list {
  margin: 0;
  padding-left: 16px;
  color: #1f2937;
  font-size: 14px;
  display: grid;
  gap: 6px;
}

.culture-select {
  display: grid;
  gap: 6px;
  margin-bottom: 10px;
}

.culture-select span {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.culture-select select {
  border-radius: 10px;
  border: 1px solid var(--border);
  padding: 8px 10px;
  font-size: 14px;
  background: #fff;
}

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

.culture-relationship-card {
  border: 1px solid rgba(148, 163, 184, 0.3);
  border-radius: 14px;
  padding: 14px 16px;
  background: rgba(248, 250, 252, 0.8);
  display: grid;
  gap: 10px;
}

.culture-relationship-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-weight: 600;
  color: #0f172a;
}

.culture-relationship-tags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.culture-relationship-tags span {
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.18);
  color: #334155;
  font-weight: 600;
}

.culture-relationship-summary {
  font-size: 13px;
  color: var(--text-muted);
}

.culture-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  border: 1px solid transparent;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.culture-badge.status-strong {
  background: rgba(47, 191, 120, 0.14);
  color: #166534;
  border-color: rgba(47, 191, 120, 0.35);
}

.culture-badge.status-steady {
  background: rgba(148, 163, 184, 0.18);
  color: #334155;
  border-color: rgba(148, 163, 184, 0.4);
}

.culture-badge.status-fragile {
  background: rgba(245, 158, 11, 0.16);
  color: #92400e;
  border-color: rgba(245, 158, 11, 0.4);
}

.culture-badge.trend-improving {
  background: rgba(16, 185, 129, 0.15);
  color: #166534;
  border-color: rgba(16, 185, 129, 0.35);
}

.culture-badge.trend-stable {
  background: rgba(100, 116, 139, 0.16);
  color: #334155;
  border-color: rgba(100, 116, 139, 0.3);
}

.culture-badge.trend-softening,
.culture-badge.trend-slipping {
  background: rgba(248, 113, 113, 0.12);
  color: #991b1b;
  border-color: rgba(248, 113, 113, 0.35);
}

.culture-badge.state-building {
  background: rgba(47, 191, 120, 0.14);
  color: #166534;
  border-color: rgba(47, 191, 120, 0.35);
}

.culture-badge.state-flat {
  background: rgba(148, 163, 184, 0.18);
  color: #334155;
  border-color: rgba(148, 163, 184, 0.4);
}

.culture-badge.state-strained {
  background: rgba(248, 113, 113, 0.16);
  color: #991b1b;
  border-color: rgba(248, 113, 113, 0.35);
}

.culture-muted-note {
  font-size: 12px;
  color: var(--text-muted);
  margin-top: 8px;
}

/* --- My Growth --- */
.growth-page .section-head h2 {
  margin: 0;
}
.growth-page .section-head h3 {
  margin: 0;
}
.growth-page .growth-panel .section-head h2 {
  font-size: 19px;
}
.growth-page .growth-panel .section-head h3 {
  font-size: 16.5px;
}
.growth-page .growth-panel .section-head p {
  font-size: 14.5px;
}
.growth-section {
  margin: 22px 0 30px;
}

.growth-band {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
  margin-top: 20px;
}

.growth-band--full {
  grid-template-columns: 1fr;
}

@media (max-width: 980px) {
  .growth-band {
    grid-template-columns: 1fr;
  }
}

.growth-panel-stack {
  display: grid;
  gap: 22px;
}

.growth-panel-subgrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.growth-panel-subgrid .span-full {
  grid-column: 1 / -1;
}

@media (max-width: 1100px) {
  .growth-panel-subgrid {
    grid-template-columns: 1fr;
  }
}

/* --- Growth Insights --- */
.growth-insights-page .insights-band {
  margin-top: 22px;
}

.growth-insights-page .insights-band--two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
}

.growth-insights-page .insights-band--full {
  display: grid;
  grid-template-columns: 1fr;
}

@media (max-width: 980px) {
  .growth-insights-page .insights-band--two {
    grid-template-columns: 1fr;
  }
}

.growth-insights-page .insights-card {
  padding: 26px 28px;
  display: grid;
  gap: 14px;
}

.growth-insights-page .trust-list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
  color: #0f172a;
}

.growth-insights-page .insight-metric {
  display: flex;
  align-items: baseline;
  gap: 12px;
}

.growth-insights-page .insight-value {
  font-size: 32px;
  font-weight: 700;
  color: #0f172a;
}

.growth-insights-page .insight-delta {
  font-size: 14px;
  font-weight: 600;
  color: rgba(15, 23, 42, 0.6);
}

.growth-insights-page .insight-delta.is-up {
  color: #0f766e;
}

.growth-insights-page .insight-delta.is-down {
  color: #b91c1c;
}

.growth-insights-page .insights-subgrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

@media (max-width: 1100px) {
  .growth-insights-page .insights-subgrid {
    grid-template-columns: 1fr;
  }
}

.growth-insights-page .insights-subcard {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 14px;
  padding: 14px 16px;
  background: rgba(248, 250, 252, 0.9);
  display: grid;
  gap: 8px;
}

.growth-insights-page .insights-subtitle {
  font-size: 12.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--text-muted);
}

.growth-insights-page .insights-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  color: #0f172a;
}

.growth-insights-page .insights-row strong {
  font-weight: 700;
  color: #0f172a;
}

.growth-insights-page .insights-list {
  display: grid;
  gap: 12px;
}

.growth-insights-page .insights-list-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: rgba(248, 250, 252, 0.9);
}

.growth-insights-page .insights-list-title {
  font-weight: 600;
  color: #0f172a;
}

.growth-insights-page .insights-list-sub {
  font-size: 13px;
  color: rgba(15, 23, 42, 0.68);
}

.growth-insights-page .insights-pill {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.08);
  color: rgba(15, 23, 42, 0.75);
}

.growth-insights-page .insights-status-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 8px 0 10px;
}

.growth-insights-page .insights-status-label {
  font-size: 12px;
  color: rgba(15, 23, 42, 0.62);
}

.growth-insights-page .insights-pill--status {
  font-weight: 700;
}

.growth-insights-page .insights-pill--stable {
  background: rgba(22, 163, 74, 0.16);
  color: #166534;
}

.growth-insights-page .insights-pill--mixed {
  background: rgba(217, 119, 6, 0.16);
  color: #92400e;
}

.growth-insights-page .insights-pill--at_risk {
  background: rgba(220, 38, 38, 0.16);
  color: #991b1b;
}

.growth-insights-page .insights-modal {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  display: grid;
  place-items: center;
  padding: 24px;
  z-index: 80;
}

.growth-insights-page .insights-modal-card {
  max-width: 640px;
  width: 100%;
  padding: 24px;
  display: grid;
  gap: 18px;
}

.growth-insights-page .insights-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.growth-insights-page .insights-modal-body {
  display: grid;
  gap: 16px;
}

.growth-insights-page .insights-modal-section h3 {
  margin: 0 0 6px;
  font-size: 15px;
}

.growth-insights-page .insights-modal-section ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
  color: #0f172a;
}

/* --- Shared modal (Growth Insights) --- */
.qiq-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
}

.qiq-modal.is-open {
  display: block;
  pointer-events: auto;
}

.qiq-modal__backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
}

.qiq-modal__panel {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(680px, 92vw);
  padding: 24px;
  display: grid;
  gap: 16px;
  pointer-events: auto;
}

.qiq-modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.qiq-modal__header h3 {
  margin: 0;
  font-size: 16px;
}

.qiq-modal__body {
  display: grid;
  gap: 16px;
}

.modal-open {
  overflow: hidden;
}

/* --- My Growth (locked bands) --- */
.my-growth-page .my-growth-subtitle {
  margin: 10px 0 18px;
  font-size: 14.5px;
  color: var(--text-muted);
  max-width: 80ch;
}

.my-growth-page .my-growth-band {
  margin-top: 22px;
  display: grid;
  gap: 24px;
}

.my-growth-page .card-grid.two.my-growth-band {
  align-items: start;
}

.my-growth-page .my-growth-band--primary,
.my-growth-page .my-growth-band--secondary {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

.my-growth-page .my-growth-band--full {
  grid-template-columns: 1fr;
}

@media (max-width: 980px) {
  .my-growth-page .my-growth-band--primary,
  .my-growth-page .my-growth-band--secondary {
    grid-template-columns: 1fr;
  }
}

.my-growth-page .my-growth-card {
  padding: 24px 26px;
  display: grid;
  gap: 14px;
}

.my-growth-page .my-growth-card--wide {
  grid-column: 1 / -1;
}

.my-growth-page .my-growth-header__top {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.my-growth-page .my-growth-header__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.my-growth-page .my-growth-header {
  margin-bottom: 12px;
}

.my-growth-page .pro-page-header {
  margin-bottom: 12px;
}

.my-growth-page .pro-page-header p {
  max-width: 80ch;
}

.my-growth-page .mg-saved {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
}

.my-growth-page .my-growth-stack {
  display: grid;
  gap: 20px;
}

.my-growth-page .my-growth-purpose {
  margin: 6px 0 0;
  color: rgba(15, 23, 42, 0.75);
}

.my-growth-page .mg-top-row {
  align-items: stretch;
}

.my-growth-page .mg-top-row .my-growth-card {
  height: 100%;
}

.my-growth-page .mg-frame {
  display: grid;
  gap: 4px;
  margin: 6px 0 8px;
}

.my-growth-page .mg-frame-title {
  font-weight: 600;
  color: rgba(15, 23, 42, 0.9);
}

.my-growth-page .mg-frame-sub {
  color: rgba(15, 23, 42, 0.65);
  font-size: 13px;
}

.my-growth-page .pro-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
}

@media (max-width: 979px) {
  .my-growth-page .pro-grid-2 {
    grid-template-columns: 1fr;
  }
}

.my-growth-page .my-growth-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
}

@media (max-width: 979px) {
  .my-growth-page .my-growth-grid-2 {
    grid-template-columns: 1fr;
  }
}

.my-growth-page .mg-grid-2 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  align-items: start;
}

@media (min-width: 980px) {
  .my-growth-page .mg-grid-2 {
    grid-template-columns: 1fr 1fr;
  }
}


.my-growth-page .mg-section {
  display: grid;
  gap: 6px;
}

.my-growth-page .mg-kicker {
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, 0.55);
  font-weight: 600;
}

.my-growth-page .mg-intro {
  margin: 0;
  color: rgba(15, 23, 42, 0.75);
}

.my-growth-page .mg-divider {
  border: 0;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  margin: 14px 0;
}

.my-growth-page .mg-section-title {
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 4px;
}

.my-growth-page .mg-req-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 10px;
}

@media (min-width: 980px) {
  .my-growth-page .mg-req-grid {
    grid-template-columns: 1fr 1fr;
    gap: 14px 18px;
  }
}

.my-growth-page .mg-req-row {
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.6);
}

.my-growth-page .mg-req-row dt {
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.55);
  margin: 0;
}

.my-growth-page .mg-req-row dd {
  margin: 0;
  display: grid;
  gap: 4px;
  min-width: 0;
}

.my-growth-page .mg-req-row dd strong {
  font-size: 14px;
}

.my-growth-page .mg-req-row dd span {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.62);
  line-height: 1.35;
}

.my-growth-page .my-growth-req-compact {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
}

.my-growth-page .my-growth-req-item {
  display: grid;
  gap: 4px;
}

.my-growth-page .my-growth-req-item .req-title {
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
}

.my-growth-page .my-growth-req-item .req-value {
  font-weight: 700;
  font-size: 16px;
  color: #0f172a;
}

.my-growth-page .my-growth-req-item .req-note {
  font-size: 13.5px;
  color: rgba(15, 23, 42, 0.7);
}

.my-growth-page .my-growth-time-compact {
  margin: 0;
  padding-left: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.my-growth-page .my-growth-requires-panels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}

.my-growth-page .my-growth-panel {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 14px;
  padding: 14px 16px;
  background: rgba(248, 250, 252, 0.9);
  display: grid;
  gap: 8px;
  align-content: start;
}

.my-growth-page .my-growth-time-compact li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 15px;
  color: #0f172a;
}

.my-growth-page .my-growth-time-compact .time-name {
  font-weight: 600;
}

.my-growth-page .my-growth-time-model-intro {
  display: grid;
  gap: 6px;
  margin-bottom: 12px;
}

.my-growth-page .my-growth-time-model-bar {
  display: flex;
  width: 100%;
  min-height: 34px;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 14px;
  border: 1px solid rgba(15, 23, 42, 0.12);
}

.my-growth-page .my-growth-time-segment {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(15, 23, 42, 0.82);
  background: rgba(15, 23, 42, 0.06);
  border-right: 1px solid rgba(15, 23, 42, 0.1);
}

.my-growth-page .my-growth-time-segment:last-child {
  border-right: none;
}

.my-growth-page .my-growth-time-model-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.my-growth-page .my-growth-time-model-item {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 12px;
  padding: 12px;
  background: rgba(255, 255, 255, 0.72);
  display: grid;
  gap: 6px;
}

.my-growth-page .my-growth-time-model-item-title {
  font-weight: 650;
  letter-spacing: -0.01em;
}

.my-growth-page .my-growth-focus-area-btn {
  justify-self: start;
  border: 1px solid rgba(15, 23, 42, 0.18);
  background: rgba(15, 23, 42, 0.03);
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  color: rgba(15, 23, 42, 0.7);
  cursor: pointer;
}

.my-growth-page .my-growth-focus-area-btn:hover {
  background: rgba(15, 23, 42, 0.08);
}

.my-growth-page .clamp-1 {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.my-growth-page .my-growth-share-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

@media (max-width: 980px) {
  .my-growth-page .my-growth-req-compact {
    grid-template-columns: 1fr;
  }
  .my-growth-page .my-growth-share-row {
    grid-template-columns: 1fr;
  }
  .my-growth-page .my-growth-requires-panels {
    grid-template-columns: 1fr;
  }
  .my-growth-page .my-growth-time-model-grid {
    grid-template-columns: 1fr;
  }
}

.my-growth-page .my-growth-card--sub {
  padding: 16px 18px;
  border-radius: 14px;
}

.my-growth-page .my-growth-head h2,
.my-growth-page .my-growth-head h3 {
  margin: 0;
}

.my-growth-page .my-growth-head h2 {
  font-size: 20px;
  letter-spacing: -0.01em;
}

.my-growth-page .my-growth-head p {
  font-size: 15px;
}

.my-growth-page .my-growth-head--row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}

.my-growth-page .my-growth-label {
  display: block;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: var(--text-muted);
  margin-top: 10px;
}

.my-growth-page .my-growth-select {
  width: 100%;
  border-radius: 12px;
  border: 1px solid var(--border);
  padding: 13px 14px;
  font-size: 16px;
  background: #fff;
  color: #0f172a;
}

.my-growth-page .my-growth-paths {
  display: grid;
  gap: 10px;
}

.my-growth-page .my-growth-paths-head h3 {
  font-size: 16px;
  margin: 0;
}

.my-growth-page .my-growth-paths-list {
  display: grid;
  gap: 10px;
}

.my-growth-page .my-growth-path-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.my-growth-page .my-growth-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: rgba(255, 255, 255, 0.92);
  font-size: 14.5px;
  color: #0f172a;
}

.my-growth-page .my-growth-chip.is-current {
  font-weight: 700;
  background: rgba(15, 23, 42, 0.04);
}

.my-growth-page .my-growth-arrow {
  opacity: 0.45;
}

.my-growth-page .my-growth-section {
  display: grid;
  gap: 10px;
}

.my-growth-page .my-growth-section--compact {
  gap: 8px;
}

.my-growth-page .my-growth-section-label {
  font-size: 13.5px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: var(--text-muted);
}

.my-growth-page .my-growth-reality {
  margin: 0;
  font-size: 17px;
  color: #1f2937;
  line-height: 1.45;
  max-width: 60ch;
}

.my-growth-page .my-growth-divider {
  height: 1px;
  background: rgba(15, 23, 42, 0.08);
}

.my-growth-page .my-growth-req-grid {
  display: grid;
  gap: 10px;
}

.my-growth-page .my-growth-requires-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 16px;
}

.my-growth-page .my-growth-req-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.my-growth-page .my-growth-req-row {
  grid-template-columns: minmax(140px, 0.4fr) minmax(100px, 0.2fr) 1fr;
}

.my-growth-page .my-growth-requires-core {
  display: grid;
  gap: 12px;
}

.my-growth-page .my-growth-req-grid--compact .my-growth-req-row {
  grid-template-columns: minmax(140px, 0.35fr) minmax(110px, 0.2fr) 1fr;
}

.my-growth-page .my-growth-req-row {
  display: grid;
  grid-template-columns: minmax(150px, 0.35fr) minmax(120px, 0.2fr) 1fr;
  gap: 12px;
  align-items: start;
}

.my-growth-page .my-growth-req-row .req-label {
  font-weight: 600;
  color: rgba(15, 23, 42, 0.72);
  font-size: 15px;
}

.my-growth-page .my-growth-req-row .req-value {
  font-weight: 600;
  font-size: 15.5px;
  color: rgba(15, 23, 42, 0.92);
}

.my-growth-page .my-growth-req-row .req-note {
  font-size: 15px;
  color: rgba(15, 23, 42, 0.72);
  line-height: 1.45;
}

.my-growth-page .my-growth-time-list {
  display: grid;
  gap: 10px;
}

.my-growth-page .my-growth-time-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: rgba(248, 250, 252, 0.9);
}

.my-growth-page .time-label {
  font-weight: 600;
  font-size: 15.5px;
  color: #0f172a;
}

.my-growth-page .time-detail {
  font-size: 14.5px;
  color: rgba(15, 23, 42, 0.72);
  margin-top: 2px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.my-growth-page .time-pct {
  font-weight: 700;
  font-size: 15.5px;
  color: #0f172a;
  white-space: nowrap;
}

.my-growth-page .my-growth-bullets {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
  font-size: 16px;
  color: #0f172a;
}

.my-growth-page .my-growth-bullets .bullet-detail {
  margin-left: 6px;
  color: rgba(15, 23, 42, 0.7);
  font-size: 14.5px;
  display: block;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.my-growth-page .my-growth-bullets--tight {
  gap: 4px;
}

.my-growth-page .my-growth-bullets--cols {
  padding-left: 0;
  list-style: none;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 16px;
}

.my-growth-page .my-growth-bullets--cols li {
  padding-left: 14px;
  position: relative;
}

.my-growth-page .my-growth-bullets--cols li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: rgba(15, 23, 42, 0.5);
}

.my-growth-page .my-growth-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.my-growth-page .my-growth-requires-panels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.my-growth-page .my-growth-panel {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 14px;
  padding: 14px 16px;
  background: rgba(248, 250, 252, 0.9);
  display: grid;
  gap: 8px;
  align-content: start;
}

.my-growth-page .my-growth-path-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr);
  gap: 18px;
  align-items: start;
}

@media (max-width: 980px) {
  .my-growth-page .my-growth-path-grid {
    grid-template-columns: 1fr;
  }
}

.my-growth-page .my-growth-capacity {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 14px;
  padding: 14px 16px;
  background: rgba(248, 250, 252, 0.9);
  display: grid;
  gap: 8px;
}

.my-growth-page .capacity-title {
  font-weight: 700;
  color: #0f172a;
}

.my-growth-page .capacity-row {
  display: grid;
  gap: 2px;
  font-size: 13.5px;
  color: rgba(15, 23, 42, 0.7);
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.my-growth-page .capacity-row span {
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  font-weight: 700;
}

.my-growth-page .my-growth-direction {
  display: grid;
  gap: 12px;
}

.my-growth-page .my-growth-direction-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.my-growth-page .my-growth-direction-option {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 15px;
  color: var(--text);
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: #fff;
}

.my-growth-page .my-growth-share {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 14px;
  color: var(--text);
}

.my-growth-page .my-growth-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.my-growth-page .my-growth-save.is-hidden {
  display: none;
}

.my-growth-page .my-growth-details {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 12px;
  padding: 12px 14px;
  background: #fff;
}

.my-growth-page .my-growth-details summary {
  cursor: pointer;
  font-weight: 600;
  color: rgba(15, 23, 42, 0.8);
  font-size: 15px;
}

.my-growth-page .my-growth-details-body {
  margin-top: 12px;
  display: grid;
  gap: 8px;
}

.my-growth-page .my-growth-body {
  margin: 0;
  font-size: 15px;
  color: #1f2937;
}

.my-growth-page .my-growth-band-list {
  display: grid;
  gap: 8px;
}

.my-growth-page .my-growth-band-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.my-growth-page .my-growth-band-pill {
  font-size: 12px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.08);
}

.my-growth-page .my-growth-scope-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

.my-growth-page .my-growth-scope-list {
  display: grid;
  gap: 10px;
}

.my-growth-page .scope-title {
  font-weight: 600;
  color: #0f172a;
}

.my-growth-page .scope-note {
  font-size: 14px;
  color: rgba(15, 23, 42, 0.7);
}

.my-growth-page .clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (max-width: 820px) {
  .my-growth-page .my-growth-req-row {
    grid-template-columns: 1fr;
  }

  .my-growth-page .my-growth-direction-grid {
    grid-template-columns: 1fr;
  }

  .my-growth-page .my-growth-split {
    grid-template-columns: 1fr;
  }

  .my-growth-page .my-growth-bullets--cols {
    grid-template-columns: 1fr;
  }

  .my-growth-page .my-growth-requires-panels {
    grid-template-columns: 1fr;
  }

  .my-growth-page .my-growth-requires-grid {
    grid-template-columns: 1fr;
  }
}

.role-snapshot-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

@media (max-width: 1200px) {
  .role-reality-card {
    grid-column: auto;
  }

  .role-snapshot-grid {
    grid-template-columns: 1fr;
  }
}

.role-snapshot-card {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 12px;
  padding: 12px 14px;
  background: rgba(248, 250, 252, 0.9);
  display: grid;
  gap: 10px;
}

.role-snapshot-subtitle {
  margin: 0;
  font-size: 14.5px;
  color: rgba(15, 23, 42, 0.72);
}

.growth-secondary-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 26px;
  align-items: start;
  margin-top: 8px;
}

@media (max-width: 980px) {
  .growth-secondary-grid {
    grid-template-columns: 1fr;
  }
}

.preview-pill-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 6px 0 18px;
}

.preview-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: rgba(148, 163, 184, 0.18);
  color: #334155;
  border: 1px solid rgba(148, 163, 184, 0.35);
}

.preview-persona {
  font-size: 12px;
  color: var(--text-muted);
}

.growth-trust {
  margin: 10px 0 6px;
  font-size: 14.5px;
  color: var(--text-muted);
}

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

.growth-grid--map {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.growth-grid--thirds {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1100px) {
  .growth-grid--thirds {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .growth-grid--thirds {
    grid-template-columns: 1fr;
  }
}

.growth-panel {
  padding: 26px 28px;
  display: grid;
  gap: 14px;
  position: relative;
  z-index: 1;
}

.growth-card-title {
  font-size: 12.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--text-muted);
}

.growth-body {
  margin: 0;
  font-size: 15.5px;
  color: var(--text);
}

.growth-note {
  margin: 0;
  font-size: 12px;
}

.role-reality {
  display: grid;
  gap: 10px;
  margin-top: 8px;
}

.path-block {
  margin-top: 8px;
}

.path-head h3 {
  font-size: 15px;
  margin: 0 0 4px 0;
}

.path-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}

.path-chips--tight {
  margin-top: 6px;
  gap: 8px;
}

.path-rows {
  display: grid;
  gap: 12px;
}

.path-rows .path-chip {
  cursor: default;
}

.path-chip {
  border: 1px solid rgba(15, 23, 42, 0.10);
  background: rgba(255, 255, 255, 0.9);
  border-radius: 999px;
  padding: 9px 14px;
  font-size: 13.5px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.path-chip.current {
  cursor: default;
  font-weight: 700;
  background: rgba(15, 23, 42, 0.04);
}

.path-arrow {
  opacity: 0.45;
  font-size: 13px;
}

.role-asks-rows {
  display: grid;
  gap: 10px;
  margin-top: 8px;
}

.growth-role-snapshot {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: rgba(248, 250, 252, 0.9);
}

.growth-role-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  font-weight: 700;
}

.growth-role-value {
  font-size: 14px;
  font-weight: 600;
  color: #0f172a;
}

.role-select-form {
  position: relative;
  z-index: 20;
}

.growth-field-label {
  display: block;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  font-weight: 700;
  margin-top: 8px;
}

.role-reality-row {
  display: grid;
  grid-template-columns: minmax(160px, 0.35fr) minmax(120px, 0.22fr) 1fr;
  gap: 12px;
  align-items: start;
}

.role-reality-row .label {
  font-weight: 600;
  color: rgba(15, 23, 42, 0.72);
  font-size: 14px;
}

.role-reality-row .value {
  font-weight: 600;
  color: rgba(15, 23, 42, 0.92);
  font-size: 14.5px;
}

.role-reality-row .note {
  font-size: 14px;
  color: rgba(15, 23, 42, 0.72);
  line-height: 1.45;
}

.role-panel-section {
  display: grid;
  gap: 8px;
}

.role-panel-section--boxed {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 12px;
  padding: 12px 14px;
  background: rgba(248, 250, 252, 0.9);
}

.role-panel-label {
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--text-muted);
}

.role-panel-list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
  color: #1f2937;
  font-size: 14px;
}

.time-allotment-list {
  display: grid;
  gap: 10px;
}

.time-allotment-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: start;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: rgba(248, 250, 252, 0.9);
}

.time-allotment-label {
  font-weight: 600;
  color: #0f172a;
  font-size: 14.5px;
}

.time-allotment-detail {
  font-size: 14px;
  color: rgba(15, 23, 42, 0.72);
  line-height: 1.4;
  margin-top: 2px;
}

.time-allotment-pct {
  font-weight: 700;
  font-size: 14.5px;
  color: #0f172a;
  white-space: nowrap;
}

.earn-it-list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
  color: #0f172a;
  font-size: 15px;
}

.earn-it-list strong {
  font-weight: 700;
}

.earn-it-detail {
  margin-left: 6px;
  color: rgba(15, 23, 42, 0.72);
  font-size: 14px;
}

.section-head--row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}

.growth-save-btn.is-hidden {
  display: none;
}

.my-path-card {
  gap: 16px;
}

.my-path-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: 18px;
}

@media (max-width: 980px) {
  .my-path-grid {
    grid-template-columns: 1fr;
  }
}

.mini-capacity-card {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 12px;
  padding: 12px 14px;
  display: grid;
  gap: 8px;
  background: rgba(248, 250, 252, 0.9);
}

.mini-capacity-title {
  font-weight: 700;
  color: #0f172a;
}

.mini-capacity-row {
  font-size: 12.5px;
  color: rgba(15, 23, 42, 0.78);
  display: grid;
  gap: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mini-capacity-row span {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  font-weight: 700;
}

.role-reality-statement {
  margin: 0;
  color: #1f2937;
  font-size: 16px;
  line-height: 1.45;
  max-width: 52ch;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.growth-page .micro {
  font-size: 14px;
  line-height: 1.45;
}

.current-role-form select {
  width: 100%;
  border-radius: 10px;
  border: 1px solid var(--border);
  padding: 8px 10px;
  font-size: 13px;
  background: #fff;
  color: #0f172a;
}

.growth-direction-form {
  display: grid;
  gap: 12px;
}

.growth-direction-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.growth-direction-option {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 15px;
  color: var(--text);
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: #fff;
}

.growth-direction-option input {
  margin-top: 2px;
}

.growth-direction-share {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 14px;
  color: var(--text);
}

.growth-direction-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.growth-save-status {
  margin-left: 6px;
}

.growth-details {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 14px;
  padding: 12px 14px;
  background: #fff;
}

.growth-details--compact {
  padding: 8px 10px;
}

.growth-details summary {
  cursor: pointer;
  font-weight: 600;
  color: rgba(15, 23, 42, 0.8);
  font-size: 15px;
}

.growth-details-body {
  margin-top: 12px;
}

@media (max-width: 820px) {
  .role-reality-row {
    grid-template-columns: 1fr;
  }

  .growth-direction-options {
    grid-template-columns: 1fr;
  }
}

.soft-divider {
  height: 1px;
  background: rgba(15, 23, 42, 0.08);
  margin: 14px 0;
}

.commitment-check h3 {
  font-size: 14px;
  margin: 0 0 8px 0;
}

.commitment-check ul {
  margin: 0 0 10px 18px;
  color: rgba(15, 23, 42, 0.82);
}

.micro {
  font-size: 12.5px;
  line-height: 1.35;
}

.chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.chip {
  border: 1px solid rgba(15, 23, 42, 0.10);
  background: rgba(255, 255, 255, 0.9);
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 13px;
  cursor: pointer;
}

.chip:hover {
  border-color: rgba(15, 23, 42, 0.18);
}

.growth-select {
  width: 100%;
  border-radius: 10px;
  border: 1px solid var(--border);
  padding: 12px 14px;
  font-size: 15px;
  background: #fff;
  color: #0f172a;
}

.growth-band-list--inline {
  margin-top: 10px;
}

.btn-ghost--inline {
  margin-top: 8px;
  align-self: flex-start;
}

.growth-path-items {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.growth-path-item {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 10px 12px;
}

.growth-path-item-title {
  font-weight: 600;
  color: #0f172a;
}

.growth-path-item-note {
  font-size: 12px;
  color: var(--text-muted);
}

.growth-modal {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.35);
  display: grid;
  place-items: center;
  padding: 24px;
  z-index: 70;
}

.growth-modal[hidden] {
  display: none;
}

.growth-modal-card {
  width: min(720px, 100%);
  padding: 18px 20px;
  display: grid;
  gap: 16px;
}

.growth-modal-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.growth-modal-progress {
  font-size: 12px;
  color: var(--text-muted);
}

.growth-quiz-question {
  font-size: 16px;
  font-weight: 600;
  color: #0f172a;
}

.growth-quiz-scale {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.growth-quiz-option {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 12px;
  padding: 10px 0;
  background: #fff;
  font-weight: 600;
  cursor: pointer;
}

.growth-quiz-option.is-selected {
  border-color: #0f172a;
  background: rgba(15, 23, 42, 0.06);
}

.growth-quiz-scale-labels {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: var(--text-muted);
  margin-top: 6px;
}

.growth-modal-actions {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.growth-quiz-band {
  font-size: 18px;
  font-weight: 700;
  color: #0f172a;
  margin: 8px 0;
}

.growth-quiz-lever,
.growth-quiz-action {
  font-size: 14px;
  color: #0f172a;
}

.growth-quiz-actions {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.growth-share {
  display: flex;
  gap: 8px;
  font-size: 12px;
  color: var(--text-muted);
  align-items: center;
}

.path-modal-body {
  display: grid;
  gap: 16px;
}

.path-modal-track .growth-card-title {
  margin-bottom: 6px;
}

.growth-dimension-list,
.growth-role-list {
  display: grid;
  gap: 10px;
}

.growth-dimension-name,
.growth-role-name {
  font-weight: 600;
  color: #0f172a;
}

.growth-dimension-note,
.growth-role-note {
  font-size: 13px;
  color: var(--text-muted);
}

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

.growth-quiz-title {
  font-weight: 600;
}

.growth-quiz-meta {
  font-size: 12px;
  color: var(--text-muted);
  display: flex;
  gap: 6px;
  align-items: center;
}

.growth-quiz-note {
  font-size: 13px;
  color: var(--text);
}

.growth-quiz-tags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.growth-quiz-tags span {
  font-size: 11px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.16);
  color: #334155;
  font-weight: 600;
}

.growth-path-role {
  font-size: 16px;
  font-weight: 600;
  color: #0f172a;
}

.growth-path-next {
  display: grid;
  gap: 10px;
}

.growth-path-name {
  font-size: 16px;
  font-weight: 600;
  color: #0f172a;
}

.growth-path-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.growth-path-label {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  font-weight: 700;
  margin-bottom: 4px;
}

.growth-path-copy {
  font-size: 13px;
  color: var(--text);
}

.growth-band-list {
  display: grid;
  gap: 10px;
}

.growth-band-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.growth-band-name {
  font-weight: 600;
  color: #0f172a;
}

.growth-band-pill {
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 999px;
  font-weight: 700;
  border: 1px solid rgba(148, 163, 184, 0.4);
  color: #334155;
  background: rgba(148, 163, 184, 0.16);
}

.growth-band-comfortable {
  background: rgba(47, 191, 120, 0.14);
  border-color: rgba(47, 191, 120, 0.35);
  color: #166534;
}

.growth-band-stretching {
  background: rgba(245, 158, 11, 0.14);
  border-color: rgba(245, 158, 11, 0.35);
  color: #92400e;
}

.growth-band-at-capacity-edge {
  background: rgba(248, 113, 113, 0.14);
  border-color: rgba(248, 113, 113, 0.35);
  color: #991b1b;
}

.growth-band-aligned {
  background: rgba(47, 191, 120, 0.14);
  border-color: rgba(47, 191, 120, 0.35);
  color: #166534;
}

.growth-band-misaligned {
  background: rgba(248, 113, 113, 0.14);
  border-color: rgba(248, 113, 113, 0.35);
  color: #991b1b;
}

.growth-band-early {
  background: rgba(248, 113, 113, 0.14);
  border-color: rgba(248, 113, 113, 0.35);
  color: #991b1b;
}

.growth-band-developing {
  background: rgba(245, 158, 11, 0.14);
  border-color: rgba(245, 158, 11, 0.35);
  color: #92400e;
}

.growth-band-consistent {
  background: rgba(47, 191, 120, 0.14);
  border-color: rgba(47, 191, 120, 0.35);
  color: #166534;
}

.growth-fit {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

.growth-list {
  margin: 0;
  padding-left: 16px;
  display: grid;
  gap: 6px;
  color: #1f2937;
  font-size: 14px;
}

.growth-metric {
  display: grid;
  gap: 6px;
}

.growth-metric span {
  font-size: 24px;
  font-weight: 700;
  color: #0f172a;
}

.growth-metric small {
  font-size: 12px;
  color: var(--text-muted);
}

.filters-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 14px;
  margin-top: 14px;
  margin-bottom: 18px;
  align-items: end;
}

.filters-row label {
  display: grid;
  gap: 6px;
  font-size: 12px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.filters-row select {
  border-radius: 10px;
  border: 1px solid var(--border);
  padding: 8px 10px;
  font-size: 13px;
  background: #fff;
  color: #0f172a;
  text-transform: none;
  letter-spacing: normal;
}

@media (max-width: 1100px) {
  .filters-row {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
}

@media (max-width: 700px) {
  .filters-row {
    grid-template-columns: 1fr;
  }
}

.growth-callout {
  margin-top: 10px;
  font-size: 12px;
}

.growth-people-list {
  display: grid;
  gap: 10px;
}

.growth-person {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  text-align: left;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #fff;
  padding: 12px 14px;
  cursor: pointer;
}

.growth-person.is-hidden {
  display: none;
}

.growth-person:hover {
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}

.growth-person-name {
  font-weight: 600;
  color: #0f172a;
}

.growth-person-meta {
  font-size: 12px;
  color: var(--text-muted);
}

.growth-person-pills {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.growth-detail-panel {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.35);
  display: grid;
  place-items: center;
  padding: 24px;
  z-index: 60;
}

.growth-detail-panel[hidden] {
  display: none;
}

.growth-detail-card {
  width: min(720px, 100%);
  display: grid;
  gap: 16px;
  padding: 18px 20px;
}

.growth-detail-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.growth-detail-name {
  font-size: 18px;
  font-weight: 700;
  color: #0f172a;
}

.growth-detail-meta {
  font-size: 12px;
  color: var(--text-muted);
}

.growth-detail-section {
  display: grid;
  gap: 8px;
}

@media (max-width: 960px) {
  .culture-brief-card {
    flex-direction: column;
  }

  .culture-grid {
    grid-template-columns: 1fr;
  }

  .dynamics-grid {
    grid-template-columns: 1fr;
  }

  .growth-grid {
    grid-template-columns: 1fr;
  }

  .growth-path-grid {
    grid-template-columns: 1fr;
  }

  .filters-row {
    grid-template-columns: 1fr 1fr;
  }
}

@media print {
  body {
    background: #fff !important;
  }

  header,
  nav,
  .app-header,
  .app-nav,
  .pill-row,
  .top-nav,
  .app-sidebar {
    display: none !important;
  }

  .culture-page {
    padding: 0;
    max-width: 100%;
  }

  .culture-card,
  .culture-brief-card {
    box-shadow: none !important;
    background: #fff !important;
    border: 1px solid #cbd5f5 !important;
  }
}

/* --- Manager Clarity: Ownership Check --- */
.ownership-check .section-head {
  margin-bottom: 16px;
}

.ownership-fields {
  display: grid;
  gap: 12px;
  margin-top: 8px;
}

.ownership-tooltip {
  font-size: 12px;
}

.ownership-result {
  margin-top: 16px;
  display: grid;
  gap: 12px;
}

.ownership-card {
  border: 1px solid var(--card-border);
  border-radius: 14px;
  padding: 14px 16px;
  background: rgba(255, 255, 255, 0.7);
  display: grid;
  gap: 10px;
}

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

.ownership-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ownership-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.ownership-next-step {
  font-size: 13px;
  color: var(--text-2);
}

.ownership-note {
  display: grid;
  gap: 10px;
}

.ownership-note textarea {
  min-height: 90px;
}

/* --- Guidance: Undercurrents --- */
.undercurrent-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.undercurrent-card-meta {
  display: grid;
  gap: 4px;
  margin: 8px 0 14px;
}

/* --- Reports --- */
.criteria-blocks {
  display: grid;
  gap: 16px;
  margin: 16px 0 8px;
}

.criteria-block .card-header {
  padding-bottom: 0;
}

.criteria-fields {
  display: grid;
  gap: 12px;
}

.report-viewer {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(15, 18, 22, 0.6);
  z-index: 1000;
}

.report-viewer.is-open {
  display: flex;
}

.report-viewer-panel {
  width: min(1100px, 94vw);
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.2);
  padding: 18px 20px 20px;
  display: grid;
  gap: 12px;
}

.report-viewer-header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
}

.viewer-title {
  font-size: 18px;
  font-weight: 600;
}

.viewer-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.report-viewer iframe {
  width: 100%;
  height: min(70vh, 720px);
  border: 1px solid #e5e9ef;
  border-radius: 10px;
  background: #fafbfc;
}

.report-diagnostics {
  margin-top: 24px;
}

.diag-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 0;
  border-bottom: 1px solid #eef2f6;
}

.diag-row:last-child {
  border-bottom: 0;
}

/* --- Qdo Prompt --- */
.qdo-prompt {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid #e5e9ef;
  border-radius: 12px;
  background: #fbfcfe;
  margin-bottom: 12px;
}

.qdo-prompt-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

/* --- Qdos Compose --- */
.qdos-hero {
  margin: 10px 0 20px;
}

.qdos-hero h1 {
  margin: 0 0 6px;
  font-size: 26px;
}

.qdos-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr);
  gap: 24px;
}

.qdos-compose .dashboard-card {
  padding: 24px;
}

.qdos-form {
  display: grid;
  gap: 20px;
}

.qdos-step {
  display: grid;
  gap: 10px;
}

.qdos-step-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.qdos-recipient {
  display: grid;
  gap: 10px;
}

.qdos-hidden-select {
  display: none;
}

.qdos-recipient-list {
  display: grid;
  gap: 8px;
  border: 1px solid #e5e9ef;
  border-radius: 12px;
  padding: 8px;
  max-height: 220px;
  overflow: auto;
  background: #fff;
}

.qdos-recipient-option {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid transparent;
  background: #f7f9fb;
  border-radius: 10px;
  padding: 8px 10px;
  text-align: left;
}

.qdos-recipient-option:hover {
  border-color: #cfd8e3;
}

.qdos-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #e9eef4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  color: #425062;
}

.qdos-recipient-meta {
  display: grid;
}

.qdos-recipient-name {
  font-weight: 600;
}

.qdos-clusters {
  display: grid;
  gap: 10px;
}

.qdos-cluster {
  border: 1px solid #e5e9ef;
  border-radius: 12px;
  padding: 10px 12px;
  background: #fff;
}

.qdos-cluster.is-disabled {
  opacity: 0.5;
}

.qdos-cluster.is-disabled .qdos-badge-option {
  cursor: not-allowed;
}

.qdos-badge-hint {
  margin: 4px 0 0;
  font-size: 12px;
}

.qdos-cluster-toggle {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: none;
  border: none;
  font-weight: 600;
  padding: 4px 0;
}

.qdos-cluster-count {
  background: #f1f4f8;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 12px;
  color: #566373;
}

.qdos-cluster-body {
  padding-top: 10px;
  display: grid;
  gap: 10px;
}

.qdos-badge-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
}

.qdos-badge-option.is-hidden {
  display: none;
}

.qdos-badge-option input:checked + .qdos-badge-visual {
  outline: 2px solid #2c7be5;
}

.qdos-step textarea {
  min-height: 120px;
  border-radius: 12px;
  border: 1px solid #d8e0ea;
  padding: 12px;
  background: #f7faff;
}

.qdos-submit {
  border-top: 1px solid #eef2f6;
  padding-top: 12px;
}

.qdos-recent .dashboard-card {
  padding: 20px;
}

.qdos-recent-list {
  display: grid;
  gap: 12px;
  margin-top: 10px;
}

.qdos-card {
  border: 1px solid #e6ebf2;
  border-radius: 12px;
  padding: 12px;
  background: #fff;
  display: grid;
  gap: 8px;
}

.qdos-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.qdos-card-recipient {
  font-weight: 600;
}

@media (max-width: 980px) {
  .qdos-layout {
    grid-template-columns: 1fr;
  }
}

.pro-page-frame {
  padding: 24px 0 40px;
}

.team-header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin: 6px 0 18px;
}

.team-header h1 {
  margin: 0 0 6px;
  font-size: 26px;
}

.page--pro.pro-team .team-header h1.pro-page-title {
  font-size: var(--dash-h1-size);
  line-height: var(--dash-h1-lh);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.team-pulse {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}


.focus-today {
  position: sticky;
  top: 96px;
  z-index: 10;
  border: 1px solid #e6ebf2;
  border-radius: 14px;
  background: #ffffff;
  padding: 14px 16px;
  margin-bottom: 16px;
  max-height: 320px;
  overflow: hidden;
}

.focus-today-head h2 {
  margin: 0 0 6px;
  font-size: 18px;
}

.focus-today-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
  max-height: 224px;
  overflow: auto;
  padding-right: 4px;
}

.focus-today-list::-webkit-scrollbar {
  width: 8px;
}

.focus-today-list::-webkit-scrollbar-thumb {
  background: rgba(148, 163, 184, 0.35);
  border-radius: 999px;
}

.focus-row {
  display: grid;
  grid-template-columns: 140px minmax(160px, 1fr) minmax(160px, 2fr) auto;
  gap: 12px;
  align-items: center;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid #eef2f7;
  background: #f9fbfd;
  min-height: 56px;
}

.focus-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #475569;
  white-space: nowrap;
}

.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #94a3b8;
}

.status-dot--healthy {
  background: #0f766e;
}

.status-dot--inconsistent {
  background: #d97706;
}

.status-dot--tension {
  background: #dc2626;
}

.status-pill--healthy {
  background: #e6f4f1;
  color: #0f766e;
}

.status-pill--inconsistent {
  background: #fff7ed;
  color: #b45309;
}

.status-pill--tension {
  background: #fee2e2;
  color: #b91c1c;
}

.focus-main {
  display: grid;
  gap: 2px;
}

.focus-name {
  font-weight: 600;
}

.focus-role {
  font-size: 12px;
  color: #6b7280;
}

.focus-reason {
  font-size: 13px;
  color: #4b5563;
}

.focus-actions {
  display: flex;
  justify-content: flex-end;
}

.focus-today-empty {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f8fafc;
  border: 1px dashed #e2e8f0;
}

.empty-check {
  font-size: 16px;
  line-height: 1;
  color: #0f766e;
  margin-top: 2px;
}

.focus-view-all {
  font-size: 13px;
  color: #0f172a;
}

.btn-small {
  padding: 6px 10px;
  font-size: 12px;
}

.skeleton-row {
  position: relative;
  overflow: hidden;
  border-color: #eef2f7;
  background: #f1f5f9;
  min-height: 56px;
}

.skeleton-row::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.6), transparent);
  transform: translateX(-100%);
  animation: shimmer 1.6s infinite;
}

@keyframes shimmer {
  100% {
    transform: translateX(100%);
  }
}

.team-summary-band {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid #e6ebf2;
  border-radius: 12px;
  background: #ffffff;
  margin-bottom: 20px;
}

.summary-item {
  display: grid;
  gap: 6px;
}

.summary-value {
  font-size: 20px;
  font-weight: 600;
}

.summary-loading .summary-value {
  color: transparent;
  position: relative;
}

.summary-loading .summary-value::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 6px;
  background: #eef2f7;
  animation: shimmer 1.6s infinite;
}

.summary-status {
  grid-column: 1 / -1;
  font-size: 13px;
  color: #6b7280;
}

.btn-link {
  border: none;
  background: none;
  color: #0f172a;
  padding: 0;
  cursor: pointer;
  font: inherit;
  text-decoration: underline;
}

.summary-item .trend-up {
  color: #0f766e;
}

.summary-item .trend-down {
  color: #b45309;
}

.summary-item .trend-flat {
  color: #6b7280;
}

.leader-attention {
  border: 1px solid #e6ebf2;
  border-radius: 12px;
  padding: 12px 14px;
  background: #fff;
  margin-bottom: 14px;
}

.leader-attention--empty {
  border-style: dashed;
}

.leader-attention-items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

.leader-attention-item {
  border: 1px solid #f0f3f7;
  border-radius: 10px;
  padding: 8px 10px;
  display: grid;
  gap: 4px;
  background: #f9fbfd;
}

.team-snapshot .snapshot-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.snapshot-item {
  border: 1px solid #e6ebf2;
  border-radius: 10px;
  padding: 8px 10px;
  background: #fff;
  display: grid;
  gap: 4px;
}

.team-card {
  display: grid;
  gap: 8px;
  padding: 14px 14px 12px;
}

.team-card--attention {
  border: 1px solid #f4c6a2;
}

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

.team-card-identity {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.employee-avatar--team {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
}

.team-card-meta {
  display: grid;
  gap: 4px;
  font-size: 13px;
  color: #64748b;
}

.team-actions-line {
  font-size: 12px;
  color: #6b7280;
}

.card-actions--compact {
  margin-top: 4px;
}

.qdos-strip {
  margin: 20px 0;
}

.qdos-strip summary {
  cursor: pointer;
  font-weight: 600;
  list-style: none;
  margin-bottom: 8px;
}

.qdos-strip summary::-webkit-details-marker {
  display: none;
}

.qdos-strip-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  border: 1px solid #e6ebf2;
  border-radius: 12px;
  background: #fff;
}

.team-secondary {
  display: grid;
  gap: 12px;
  margin-bottom: 20px;
}

.collapse-panel {
  border: 1px solid #e6ebf2;
  border-radius: 12px;
  padding: 10px 14px;
  background: #fff;
}

.collapse-panel summary {
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}

.collapse-panel summary::-webkit-details-marker {
  display: none;
}

@media (max-width: 860px) {
  .team-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .page--pro.pro-team .team-header h1.pro-page-title {
    font-size: 28px;
  }
  .focus-today {
    position: static;
  }
  .focus-row {
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .focus-actions {
    justify-content: flex-start;
  }
}

/* --- Owner Dashboard Executive Layers --- */
.exec-snapshot {
  padding: 16px 18px;
}

.exec-snapshot-list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
}

.pulse-impact {
  margin: 6px 0 0;
  color: #6b7280;
  font-size: 13px;
}

.exec-priority {
  border: 1px solid #e5e9ef;
  background: #fbfcfe;
}

/* Final hard-stop for dashboard washout (forcefully disable overlays/gradients) */
body.page--pro.pro-dashboard::before,
body.page--pro.pro-dashboard::after,
body.page--pro.pro-dashboard .app-shell::before,
body.page--pro.pro-dashboard .app-shell::after,
body.page--pro.pro-dashboard .app-main::before,
body.page--pro.pro-dashboard .app-main::after {
  content: none !important;
  display: none !important;
  background: none !important;
  opacity: 0 !important;
  mix-blend-mode: normal !important;
  filter: none !important;
}

body.page--pro.pro-dashboard,
body.page--pro.pro-dashboard .app-shell,
body.page--pro.pro-dashboard .app-main,
body.page--pro.pro-dashboard .app-main > * {
  background: #f6f7fb !important;
  background-image: none !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

body.page--pro.pro-dashboard .pro-page-title {
  font-weight: 600 !important;
}

body.page--pro.pro-dashboard .leadership-details-summary .summary-title {
  font-size: 18px;
  font-weight: 700;
}

/* Force graded font axis off + stronger font stack for dashboard top */
body.page--pro.pro-dashboard .pro-page-title,
body.page--pro.pro-dashboard .pulse-card-xl h3,
body.page--pro.pro-dashboard .pulse-summary,
body.page--pro.pro-dashboard .pulse-subline,
body.page--pro.pro-dashboard .pulse-derived {
  font-family: "SF Pro Display","SF Pro Text",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif !important;
  font-weight: 600 !important;
  font-optical-sizing: none !important;
  font-variation-settings: normal !important;
  font-synthesis-weight: none !important;
  color: #0b0f19 !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #0b0f19 !important;
  -webkit-font-smoothing: subpixel-antialiased !important;
  text-rendering: auto !important;
}

body.page--pro.pro-dashboard .pulse-row,
body.page--pro.pro-dashboard .pulse-pair,
body.page--pro.pro-dashboard .pro-page-header {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* Darken dashboard text without changing font */
body.page--pro.pro-dashboard .pro-page-title,
body.page--pro.pro-dashboard .pulse-card-xl h3,
body.page--pro.pro-dashboard .pulse-summary,
body.page--pro.pro-dashboard .pulse-subline,
body.page--pro.pro-dashboard .pulse-derived {
  text-shadow: none !important;
}

/* Global reset: prevent washed-out text from font smoothing / text-rendering */
html, body {
  text-rendering: auto !important;
  -webkit-font-smoothing: auto !important;
  -moz-osx-font-smoothing: auto !important;
}

/* Kill any remaining pro background gradients by overriding the variables */
body.page--pro.pro-dashboard {
  --pro-bg-light: #f6f7fb !important;
  --bg: #f6f7fb !important;
  background: #f6f7fb !important;
  background-image: none !important;
}

body.page--pro.pro-dashboard .app-shell,
body.page--pro.pro-dashboard .app-main {
  background: transparent !important;
  background-image: none !important;
}

/* Remove all card overlays that add wash/gradient on the dashboard */
body.page--pro.pro-dashboard .dashboard-card::before,
body.page--pro.pro-dashboard .card::before,
body.page--pro.pro-dashboard .panel::before,
body.page--pro.pro-dashboard .module-card::before,
body.page--pro.pro-dashboard .focus-card::before,
body.page--pro.pro-dashboard .feature-card::before,
body.page--pro.pro-dashboard .hub-card::before,
body.page--pro.pro-dashboard .experience-card::before,
body.page--pro.pro-dashboard .tile::before,
body.page--pro.pro-dashboard .pulse-card-xl::before,
body.page--pro.pro-dashboard .leadership-details-details::before,
body.page--pro.pro-dashboard .leadership-details-body::before {
  content: none !important;
  display: none !important;
  background: none !important;
  opacity: 0 !important;
}

/* Check-ins */
.checkins-panel {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px 32px;
}
.checkins-list {
  display: grid;
  gap: 18px;
}
.checkin-card h3 {
  margin: 12px 0 10px;
}
.checkin-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #475569;
  font-weight: 600;
}
.checkin-scale {
  display: flex;
  gap: 8px;
  margin: 12px 0 16px;
}
.checkin-scale-btn {
  border: 1px solid rgba(15, 23, 42, 0.15);
  background: #fff;
  border-radius: 999px;
  padding: 6px 12px;
  font-weight: 600;
}
.checkin-scale-btn.is-selected {
  border-color: var(--qiq-accent);
  background: rgba(24, 182, 195, 0.08);
}
.checkin-feedback {
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(24, 182, 195, 0.08);
}
.checkin-raise {
  margin-top: 12px;
}
.checkin-raise-actions {
  display: flex;
  gap: 10px;
  margin-top: 8px;
  flex-wrap: wrap;
}

/* Focus Areas */
.focus-row {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px 36px;
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 20px;
}
@media (max-width: 980px) {
  .focus-row {
    grid-template-columns: 1fr;
  }
}
.focus-grid {
  display: grid;
  gap: 18px;
}
.focus-card h3 {
  margin: 0;
}
.focus-card-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}
.focus-timeframe {
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.12);
}
.focus-meta {
  font-size: 13px;
  color: #64748b;
  margin: 6px 0 10px;
}
.focus-compass-link {
  display: inline-block;
  margin: 8px 0;
}
.focus-actions-toggle {
  margin-top: 10px;
}
.focus-actions-items {
  margin-top: 10px;
  display: grid;
  gap: 8px;
}
.focus-action-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}
.focus-rail {
  position: sticky;
  top: 90px;
  align-self: start;
}
.focus-actions-list {
  margin-top: 12px;
  display: grid;
  gap: 8px;
}
.focus-filters {
  max-width: 1180px;
  margin: 0 auto 16px;
  padding: 0 24px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.focus-filters .chip {
  border-radius: 999px;
  padding: 6px 14px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: #fff;
  font-weight: 600;
  font-size: 13px;
}
.focus-filters .chip.is-active {
  border-color: var(--qiq-accent);
  background: rgba(24, 182, 195, 0.1);
}

/* Role Time Compass */
.compass-panel {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 24px 36px;
}
.compass-list {
  list-style: none;
  padding: 0;
  margin: 18px 0 0;
  display: grid;
  gap: 12px;
}
.compass-row {
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.08);
}
.compass-row-main {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.compass-percent {
  font-weight: 700;
  font-size: 18px;
}
.compass-name {
  font-weight: 600;
}
.compass-desc {
  color: #64748b;
  font-size: 13px;
}

/* Modal */
.modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  z-index: 1000;
}
.modal-card {
  background: #fff;
  border-radius: 18px;
  padding: 20px;
  max-width: 520px;
  width: 100%;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.2);
}
.modal-card-lg {
  max-width: 620px;
}
.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.icon-btn {
  border: none;
  background: transparent;
  font-size: 20px;
  cursor: pointer;
}
.modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 16px;
  flex-wrap: wrap;
}
.checkbox-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}
.modal-steps {
  margin-top: 12px;
}
.step-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #64748b;
  margin-bottom: 10px;
}
.focus-date-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 10px;
}

/* PageFrame: consistent top spacing + centered content */
.page-frame {
  max-width: none;
  margin: 0;
  padding: 24px 0 40px;
}

.pro-container {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  width: 100%;
}

.page-frame.pro-container {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.page-frame .page-section {
  margin-top: 18px;
}

.page-frame .dashboard-card,
.page-frame .profile-card,
.page-frame .qiq-tile:not(.dash-tile) {
  background: #fff;
  border: 1px solid rgba(10, 18, 30, 0.08);
  box-shadow: 0 12px 34px rgba(10, 18, 30, 0.08);
  border-radius: 18px;
}

.page-frame .section-head h2,
.page-frame .section-head h3 {
  margin: 0;
}

.pro-wrap {
  max-width: var(--pro-wrap-max);
  margin: 0 auto;
  padding: 0 var(--pro-wrap-pad);
  width: 100%;
}

body.page--pro .app-main {
  max-width: var(--pro-wrap-max) !important;
  margin: 0 auto !important;
  padding-left: var(--pro-wrap-pad) !important;
  padding-right: var(--pro-wrap-pad) !important;
}

/* Direction & Action */
.direction-action-explainer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.direction-action-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin-top: 20px;
}

.direction-action-split .dashboard-card {
  padding: 20px 22px;
}

.direction-list {
  display: grid;
  gap: 12px;
  margin: 12px 0 18px;
}

.direction-item {
  border: 1px solid rgba(10, 18, 30, 0.08);
  border-radius: 14px;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.9);
}

.direction-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}

.direction-action-split .action-subcard {
  border: 1px solid rgba(10, 18, 30, 0.08);
  border-radius: 14px;
  padding: 14px;
  margin-top: 16px;
  background: rgba(255, 255, 255, 0.95);
}

.direction-action-split .action-subhead h3 {
  margin: 0 0 6px;
}

.direction-action-split .stacked-form .field {
  margin-bottom: 12px;
}

.direction-action-split .stacked-form input,
.direction-action-split .stacked-form select,
.direction-action-split .stacked-form textarea {
  width: 100%;
}

@media (max-width: 980px) {
  .direction-action-explainer,
  .direction-action-split {
    grid-template-columns: 1fr;
  }
}
.growth-right-stack {
  display: grid;
  gap: 18px;
}

/* === COACHING CATALOG === */
.page--coaching .coaching-catalog {
  display: grid;
  gap: 20px;
}

.page--coaching .coaching-recommended {
  border: 1px solid var(--card-border, #e5e7eb);
  border-radius: 16px;
  padding: 14px 16px;
  background: var(--card-bg, #fff);
}

.page--coaching .coaching-recommended summary {
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}

.page--coaching .coaching-recommended summary::-webkit-details-marker {
  display: none;
}

.page--coaching .coaching-filters {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}

.page--coaching .coaching-filters .filter-field {
  display: grid;
  gap: 6px;
}

.page--coaching .coaching-filters label {
  font-size: 12px;
  font-weight: 600;
  color: rgba(15, 23, 42, 0.7);
}

.page--coaching .coaching-filters input,
.page--coaching .coaching-filters select {
  width: 100%;
}

.page--coaching .coaching-groups {
  display: grid;
  gap: 18px;
}

.page--coaching .coaching-group {
  border: 1px solid var(--card-border, #e5e7eb);
  border-radius: 16px;
  padding: 6px 0 0;
  background: var(--card-bg, #fff);
}

.page--coaching .coaching-group summary {
  font-weight: 600;
  padding: 12px 18px;
  cursor: pointer;
  list-style: none;
}

.page--coaching .coaching-group summary::-webkit-details-marker {
  display: none;
}

.page--coaching .coaching-group .card-grid {
  padding: 0 18px 18px;
}

.page--coaching .coaching-tile-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
}

.page--coaching .coaching-tile .pill--pair {
  font-size: 11px;
  padding: 4px 8px;
}

.page--coaching .dashboard-card.is-empty {
  color: rgba(15, 23, 42, 0.6);
}

.page--coaching .coaching-mode-grid .coaching-mode {
  display: grid;
  gap: 6px;
  text-decoration: none;
  cursor: pointer;
}

.page--coaching .coaching-mode .mode-arrow {
  font-weight: 600;
  color: rgba(15, 23, 42, 0.6);
}

.page--coaching .coaching-mode.active-mode {
  border-color: rgba(59, 130, 246, 0.45);
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.12);
}

.page--coaching .coaching-mode.is-inactive {
  opacity: 0.6;
}

.page--coaching .coaching-section {
  display: grid;
  gap: 16px;
}

.page--coaching .coaching-select {
  display: grid;
  gap: 6px;
  max-width: 360px;
}

.page--coaching .coaching-input {
  width: 100%;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  padding: 10px 12px;
  font-size: 14px;
}

.page--coaching .pending-list {
  display: grid;
  gap: 12px;
}

.page--coaching .pending-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.page--coaching .button-row {
  display: flex;
  gap: 8px;
  align-items: center;
}

.page--coaching .guidance-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.page--coaching .guidance-card details {
  margin-top: 8px;
}

.page--coaching .guidance-card summary {
  font-weight: 600;
  cursor: pointer;
}

.page--coaching .guidance-card .guidance-copy {
  margin-top: 8px;
  display: grid;
  gap: 6px;
}

.page--coaching .guidance-card.accent-green {
  border-left: 4px solid rgba(34, 197, 94, 0.6);
}

.page--coaching .guidance-card.accent-amber {
  border-left: 4px solid rgba(245, 158, 11, 0.6);
}

.page--coaching .guidance-card.accent-blue {
  border-left: 4px solid rgba(59, 130, 246, 0.6);
}

.page--coaching .scheduler {
  display: grid;
  gap: 10px;
}

.page--coaching .scheduler-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
}

.page--coaching .snapshot-tile-row,
.page--coaching .skill-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.page--coaching .snapshot-tile-row .snapshot-tile,
.page--coaching .skill-list .snapshot-tile {
  text-align: left;
}

.page--coaching .snapshot-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
}

.page--coaching .followup-capture {
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 12px 16px;
  background: #fff;
}

.page--coaching .followup-body {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.page--coaching .snapshot-runner {
  display: grid;
  gap: 18px;
}

.page--coaching .snapshot-header {
  display: grid;
  gap: 6px;
}

.page--coaching .snapshot-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.page--coaching .snapshot-questions {
  display: grid;
  gap: 14px;
}

.page--coaching .snapshot-question-title {
  font-weight: 600;
  margin-bottom: 8px;
}

.page--coaching .snapshot-scale {
  display: grid;
  gap: 6px;
}

.page--coaching .snapshot-choice {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 14px;
}

.page--coaching .snapshot-choice input {
  margin: 0;
}

.page--coaching .snapshot-result .snapshot-score {
  font-size: 24px;
  font-weight: 700;
}

@media (max-width: 1100px) {
  .page--coaching .coaching-filters {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .page--coaching .guidance-grid {
    grid-template-columns: 1fr;
  }
  .page--coaching .snapshot-tile-row,
  .page--coaching .skill-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .page--coaching .coaching-filters {
    grid-template-columns: 1fr;
  }
}

/* === SNAPSHOTS V2 === */
.snapshots-page .snapshots-header {
  display: grid;
  gap: 6px;
}

.snapshots-page .snapshots-demo-row {
  margin-bottom: 10px;
}

.snapshots-page .category-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.snapshots-page .category-tile {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 22px 24px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid rgba(17, 24, 39, 0.08);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
  color: inherit;
  text-decoration: none;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.snapshots-page .category-tile h3 {
  font-size: 18px;
  margin: 0 0 6px;
}

.snapshots-page .category-tile:hover {
  transform: translateY(-2px);
  border-color: rgba(17, 24, 39, 0.16);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.1);
}

.snapshots-page .filters-toggle-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 12px 0;
}

.snapshots-page .filters-drawer {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(17, 24, 39, 0.08);
  margin-bottom: 16px;
}

.snapshots-page .snapshot-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.snapshots-page .snapshot-card {
  display: grid;
  gap: 12px;
  padding: 20px 22px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(17, 24, 39, 0.08);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
  text-decoration: none;
  color: inherit;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.snapshots-page .snapshot-card h3 {
  font-size: 17px;
  margin: 0;
}

.snapshots-page .snapshot-card:hover {
  transform: translateY(-2px);
  border-color: rgba(17, 24, 39, 0.16);
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.09);
}

.snapshots-page .pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, 0.65);
  background: rgba(15, 23, 42, 0.06);
  width: fit-content;
}

.snapshots-page .muted {
  color: rgba(15, 23, 42, 0.6);
}

.snapshots-page .line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.leadership-details-details .card-grid ul,
.leadership-details-content .card-grid ul,
[data-leadership-cards] ul {
  list-style: none;
  padding-left: 0;
  margin: 8px 0 0;
}

[data-leadership-cards] li {
  display: flex;
  align-items: center;
  gap: 8px;
}

[data-leadership-cards] .pulse-dot {
  display: inline-block;
  flex: 0 0 auto;
  margin-right: 0;
}

@media (max-width: 980px) {
  .snapshots-page .category-grid,
  .snapshots-page .snapshot-grid {
    grid-template-columns: 1fr;
  }
  .snapshots-page .filters-drawer {
    grid-template-columns: 1fr;
  }
}

/* === MY GROWTH V2 OVERRIDES (MUST BE LAST) === */
.my-growth-page .my-growth-band {
  margin-top: 22px;
  display: grid;
  gap: 24px;
}

.my-growth-page .card-grid.two.my-growth-band {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start !important;
}

.my-growth-page .my-growth-card {
  padding: 24px 26px;
  display: grid;
  gap: 14px;
  height: auto !important;
  min-height: 0 !important;
  align-self: start;
}

.my-growth-page .my-growth-path-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr);
  gap: 18px;
  align-items: start;
}

@media (max-width: 980px) {
  .my-growth-page .card-grid.two.my-growth-band {
    grid-template-columns: 1fr;
  }
  .my-growth-page .my-growth-path-grid {
    grid-template-columns: 1fr;
  }
}

.demo-company-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

@media (max-width: 980px) {
  .demo-company-grid {
    grid-template-columns: 1fr;
  }
}

.demo-company-loading {
  padding: 18px 16px;
  color: rgba(15, 23, 42, 0.65);
  background: #fff;
  border-radius: 16px;
  border: 1px solid rgba(15, 23, 42, 0.08);
}

.demo-store-tile {
  width: 100%;
  text-align: left;
  padding: 0 20px 18px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08);
  cursor: pointer;
  display: grid;
  gap: 10px;
}

.demo-tile {
  transition: 0.2s ease;
}

.demo-tile:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.14);
}

.demo-store-tile:disabled {
  opacity: 0.7;
  cursor: wait;
}

.demo-store-header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  margin-top: 14px;
}

.demo-store-header h3 {
  margin: 0;
  font-size: 18px;
}

.demo-store-location {
  margin: 0;
}

.demo-store-metrics {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.demo-store-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: rgba(15, 23, 42, 0.8);
  font-weight: 700;
}

.demo-status-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid currentColor;
  font-size: 11px;
  letter-spacing: 0.02em;
}

.demo-status-band {
  height: 4px;
  border-radius: 6px 6px 0 0;
  margin: 0 -20px;
}

.ryg-green {
  color: #22C55E;
}

.ryg-yellow {
  color: #F59E0B;
}

.ryg-red {
  color: #EF4444;
}

.demo-status-band.ryg-green {
  background: #22C55E;
  box-shadow: 0 0 12px rgba(34, 197, 94, 0.25);
}

.demo-status-band.ryg-yellow {
  background: #F59E0B;
  box-shadow: 0 0 12px rgba(245, 158, 11, 0.25);
}

.demo-status-band.ryg-red {
  background: #EF4444;
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.25);
}

.demo-pulse-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #F59E0B;
  box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.18);
  animation: demoPulse 2.5s infinite ease-in-out;
}

.demo-pulse-dot.ryg-green {
  background: #22C55E;
  box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.18);
}

.demo-pulse-dot.ryg-yellow {
  background: #F59E0B;
  box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.18);
}

.demo-pulse-dot.ryg-red {
  background: #EF4444;
  box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.18);
}

@keyframes demoPulse {
  0% { opacity: .6; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.2); }
  100% { opacity: .6; transform: scale(1); }
}

.demo-chip {
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 11px;
  letter-spacing: 0.06em;
  font-weight: 700;
  border: 1px solid currentColor;
  color: currentColor;
}

.demo-chip.ryg-green {
  background: rgba(34, 197, 94, 0.08);
}

.demo-chip.ryg-yellow {
  background: rgba(245, 158, 11, 0.10);
}

.demo-chip.ryg-red {
  background: rgba(239, 68, 68, 0.08);
}

:root {
  --qiq-bg: #f6f7fb;
  --qiq-card: rgba(255, 255, 255, 0.9);
  --qiq-border: rgba(15, 23, 42, 0.08);
  --qiq-text: #0b1220;
  --qiq-muted: rgba(11, 18, 32, 0.62);
  --qiq-shadow: 0 14px 40px rgba(2, 8, 23, 0.08);
  --qiq-shadow-hover: 0 18px 55px rgba(2, 8, 23, 0.12);
  --qiq-radius: 20px;
  --qiq-accent: #22c6c6;
  --qiq-accent-soft: rgba(34, 198, 198, 0.18);
}

.qiq-page {
  background: var(--qiq-bg);
  position: relative;
  padding-bottom: 64px;
}

.qiq-page::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(900px 420px at 22% 10%, rgba(34,198,198,0.06), transparent 62%),
    radial-gradient(700px 360px at 78% 18%, rgba(99,102,241,0.05), transparent 64%);
  opacity: 1;
}

.qiq-page .page-frame,
.qiq-page .qiq-hero,
.qiq-page .qiq-split,
.qiq-page .qiq-section {
  position: relative;
  z-index: 1;
}

.qiq-page .qiq-hero {
  position: relative;
  padding: 44px 0 18px;
}

.qiq-page .qiq-hero--compact {
  padding: 38px 0 8px;
}

.qiq-page .qiq-hero__title h1 {
  font-size: 54px;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--qiq-text);
  margin: 0 0 10px;
}

.qiq-page .qiq-hero__title p {
  margin: 0;
  font-size: 18px;
  color: var(--qiq-muted);
  line-height: 1.55;
}

.qiq-page .qiq-hero__actions {
  margin-top: 14px;
}

.qiq-page .qiq-link {
  font-size: 14px;
  color: var(--qiq-text);
  text-decoration: none;
  padding-bottom: 2px;
  border-bottom: 1px solid rgba(11, 18, 32, 0.25);
}

.qiq-page .qiq-link:hover {
  border-bottom-color: rgba(34, 198, 198, 0.7);
}

.qiq-page .qiq-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
  align-items: start;
  padding-top: 18px;
}

.qiq-page .qiq-split__col h2 {
  font-size: 18px;
  letter-spacing: -0.01em;
  margin: 0 0 14px;
  color: rgba(11, 18, 32, 0.86);
}

.qiq-page .qiq-section {
  padding-top: 18px;
}

.qiq-page .qiq-section__head h2 {
  font-size: 20px;
  margin: 0 0 6px;
  letter-spacing: -0.01em;
}

.qiq-page .qiq-section__head p {
  margin: 0 0 18px;
  color: var(--qiq-muted);
}

.qiq-page .qiq-cardGrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

.qiq-page .qiq-cardGrid--tight {
  gap: 18px;
}

.qiq-page .qiq-cardGrid--bento {
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.qiq-page .qiq-card {
  position: relative;
  background: var(--qiq-card);
  border: 1px solid var(--qiq-border);
  border-radius: var(--qiq-radius);
  box-shadow: var(--qiq-shadow);
  padding: 22px 22px 18px;
  color: var(--qiq-text);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.qiq-page .qiq-card--click {
  text-decoration: none;
}

.qiq-page .qiq-card:hover,
.qiq-page .qiq-card:focus-visible {
  transform: translateY(-4px);
  box-shadow: var(--qiq-shadow-hover);
  border-color: rgba(34, 198, 198, 0.35);
  outline: none;
}

.qiq-page .qiq-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.qiq-page .qiq-card__icon {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(34, 198, 198, 0.16), rgba(34, 198, 198, 0.06));
  border: 1px solid rgba(34, 198, 198, 0.22);
  box-shadow: 0 10px 25px rgba(34, 198, 198, 0.1);
  position: relative;
}

.qiq-page .qiq-card__icon::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 18px;
  height: 18px;
  border-radius: 6px;
  border: 2px solid rgba(11, 18, 32, 0.55);
  opacity: 0.55;
}

.qiq-page .qiq-card__icon[data-icon="snapshot"]::before { border-radius: 4px; }
.qiq-page .qiq-card__icon[data-icon="skill"]::before { border-radius: 999px; border-width: 2px; }
.qiq-page .qiq-card__icon[data-icon="culture"]::before { border-radius: 999px; border-left-color: transparent; border-bottom-color: transparent; transform: rotate(35deg); }
.qiq-page .qiq-card__icon[data-icon="handoff"]::before { border-radius: 4px; border-style: dashed; }
.qiq-page .qiq-card__icon[data-icon="1to1"]::before { border-radius: 6px; border-right-color: transparent; }

.qiq-page .qiq-card__chev {
  width: 28px;
  height: 28px;
  border-radius: 10px;
  border: 1px solid rgba(11, 18, 32, 0.1);
  background: rgba(255, 255, 255, 0.6);
  position: relative;
  transition: transform 160ms ease, border-color 160ms ease;
}

.qiq-page .qiq-card__chev::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 8px;
  height: 8px;
  border-right: 2px solid rgba(11, 18, 32, 0.55);
  border-bottom: 2px solid rgba(11, 18, 32, 0.55);
  transform: rotate(-45deg);
}

.qiq-page .qiq-card:hover .qiq-card__chev,
.qiq-page .qiq-card:focus-visible .qiq-card__chev {
  transform: translateX(2px);
  border-color: rgba(34, 198, 198, 0.35);
}

.qiq-page .qiq-card h3 {
  margin: 0 0 8px;
  font-size: 22px;
  letter-spacing: -0.015em;
}

.qiq-page .qiq-card p {
  margin: 0 0 14px;
  color: var(--qiq-muted);
  line-height: 1.55;
}

.qiq-page .qiq-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.qiq-page .qiq-tag {
  display: inline-flex;
  align-items: center;
  height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(11, 18, 32, 0.1);
  background: rgba(255, 255, 255, 0.55);
  color: rgba(11, 18, 32, 0.7);
  font-size: 12px;
  letter-spacing: 0.01em;
}

.qiq-page .qiq-tag--accent {
  border-color: rgba(34, 198, 198, 0.3);
  background: rgba(34, 198, 198, 0.1);
  color: rgba(11, 18, 32, 0.78);
}

.qiq-page .qiq-card--row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 20px;
}

.qiq-page .qiq-card--row .qiq-card__top {
  margin-bottom: 10px;
}

.qiq-page .qiq-card__sub {
  margin-top: 8px;
  font-size: 13px;
  color: rgba(11, 18, 32, 0.58);
  line-height: 1.5;
}

.qiq-page .qiq-card__rowRight {
  display: flex;
  align-items: center;
  gap: 14px;
}

.qiq-page .qiq-countPill {
  min-width: 90px;
  border-radius: 16px;
  border: 1px solid rgba(11, 18, 32, 0.1);
  background: rgba(255, 255, 255, 0.7);
  padding: 10px 12px;
  text-align: center;
  box-shadow: 0 12px 30px rgba(2, 8, 23, 0.06);
}

.qiq-page .qiq-countPill__num {
  font-size: 20px;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: rgba(11, 18, 32, 0.88);
  font-weight: 700;
}

.qiq-page .qiq-countPill__lbl {
  font-size: 12px;
  color: rgba(11, 18, 32, 0.55);
  margin-top: 2px;
}

@media (max-width: 980px) {
  .qiq-page .qiq-split { grid-template-columns: 1fr; }
  .qiq-page .qiq-cardGrid--bento { grid-template-columns: 1fr; }
  .qiq-page .qiq-hero__title h1 { font-size: 42px; }
}

:root{
  --qiq-bg: #f6f7fb;
  --qiq-card: rgba(255,255,255,0.92);
  --qiq-border: rgba(15,23,42,0.10);
  --qiq-border-strong: rgba(15,23,42,0.16);
  --qiq-text: #0b1220;
  --qiq-muted: rgba(11,18,32,0.62);
  --qiq-radius: 18px;
  --qiq-shadow: 0 14px 40px rgba(2,8,23,0.08);
  --qiq-shadow-hover: 0 18px 55px rgba(2,8,23,0.12);
  --qiq-accent: #22c6c6;
}

.qiq-hero__title h1{
  font-size: 56px;
  line-height: 1.02;
  letter-spacing: -0.03em;
}
.qiq-hero__title p{
  font-size: 18px;
  color: var(--qiq-muted);
}

.qiq-card{
  background: var(--qiq-card);
  border: 1px solid var(--qiq-border);
  border-radius: var(--qiq-radius);
  box-shadow: var(--qiq-shadow);
  padding: 22px 24px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease;
  position: relative;
  overflow: hidden;
}

.qiq-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width: 2px;
  background: linear-gradient(180deg, rgba(34,198,198,0.65), rgba(34,198,198,0.00));
  opacity: 0.22;
}

.qiq-card:hover,
.qiq-card:focus-visible{
  transform: translateY(-3px);
  border-color: var(--qiq-border-strong);
  box-shadow: var(--qiq-shadow-hover);
  outline: none;
}
.qiq-card:hover::before{ opacity: 0.35; }

.qiq-card h3{
  font-size: 20px;
  letter-spacing: -0.02em;
  margin: 0 0 6px 0;
}
.qiq-card p{
  color: var(--qiq-muted);
  margin: 0 0 12px 0;
  line-height: 1.55;
}

.qiq-card__icon{
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: rgba(11,18,32,0.12);
  border: 0;
  box-shadow: none;
}
.qiq-card__icon::before{ content:none; }

.qiq-card__chev{
  width: 26px;
  height: 26px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,0.12);
  background: rgba(255,255,255,0.65);
}
.qiq-card:hover .qiq-card__chev{
  border-color: rgba(15,23,42,0.18);
  transform: translateX(2px);
}

.qiq-tag{
  height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.55);
  color: rgba(11,18,32,0.64);
  font-size: 11px;
}
.qiq-tag--accent{
  background: rgba(34,198,198,0.08);
  border-color: rgba(34,198,198,0.22);
}

.qiq-card--row{
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 22px 24px;
}

.qiq-countPill{
  min-width: auto;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  text-align: right;
}
.qiq-countPill__num{
  font-size: 18px;
  font-weight: 700;
  color: rgba(11,18,32,0.86);
  line-height: 1.1;
}
.qiq-countPill__lbl{
  font-size: 12px;
  color: rgba(11,18,32,0.52);
  margin-top: 2px;
}

.qiq-card__sub{
  font-size: 12px;
  color: rgba(11,18,32,0.52);
}

.qiq-cardGrid{ gap: 16px; }
.qiq-cardGrid--bento{ gap: 16px; }

@media (max-width: 980px){
  .qiq-hero__title h1{ font-size: 44px; }
}

.qiq-card h3 .qiq-card__icon {
  display: inline-block;
  vertical-align: middle;
  margin-right: 8px;
  transform: translateY(-1px);
}

/* ---- ICON REMOVAL: no decorative symbols on coaching cards ---- */
.qiq-card__icon { display: none !important; }

/* Tighten top row now that icon is gone */
.qiq-card__top{
  margin-bottom: 10px !important;
}

/* Slightly stronger hierarchy since icon is gone */
.qiq-card h3{
  font-size: 21px !important;
  letter-spacing: -0.022em !important;
}

/* Add a touch more breathing room between title + description */
.qiq-card p{
  margin-top: 2px !important;
}

/* Optional: make the left accent hairline a bit more intentional */
.qiq-card::before{
  opacity: 0.28 !important;
  width: 2px !important;
}

/* Make the chevron feel more “premium control”, less bubble */
.qiq-card__chev{
  border-color: rgba(15,23,42,0.14) !important;
  background: rgba(255,255,255,0.55) !important;
}
.qiq-card:hover .qiq-card__chev{
  border-color: rgba(15,23,42,0.20) !important;
}

/* ---------- PREMIUM LAYOUT CONTAINER ---------- */
.qiq-page{
  background: #f7f8fb !important;
}

.qiq-page .container,
.qiq-page .page-container,
.qiq-page main,
.qiq-page .main,
.qiq-page .content{
  /* don’t rely on whatever exists; we’ll provide a scoped container helper below */
}

.qiq-page .qiq-container{
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 28px;
}

/* If your templates already have a container class, add qiq-container to that element.
   If not, wrap the page content inside a <div class="qiq-container"> (next step). */

/* ---------- BACKGROUND: BARELY-THERE, NOT FOGGY ---------- */
.qiq-page::before{
  background:
    radial-gradient(720px 320px at 30% 8%, rgba(34,198,198,0.045), transparent 65%),
    radial-gradient(720px 320px at 70% 18%, rgba(99,102,241,0.035), transparent 66%) !important;
  opacity: 1 !important;
}

/* ---------- HERO TYPE: CRISP, EXECUTIVE ---------- */
.qiq-hero{
  padding: 54px 0 18px !important;
}
.qiq-hero--compact{
  padding: 46px 0 10px !important;
}
.qiq-hero__title h1{
  font-size: 60px !important;
  line-height: 1.00 !important;
  letter-spacing: -0.04em !important;
  margin-bottom: 12px !important;
}
.qiq-hero__title p{
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: rgba(11,18,32,0.60) !important;
}

/* Section labels should look like intentional UI labels */
.qiq-split__col h2,
.qiq-section__head h2{
  font-size: 13px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(11,18,32,0.55) !important;
  margin: 0 0 14px 0 !important;
}
.qiq-section__head p{
  color: rgba(11,18,32,0.60) !important;
  margin-bottom: 22px !important;
}

/* ---------- GRID: MORE INTENTIONAL SPACING ---------- */
.qiq-split{
  gap: 28px !important;
  padding-top: 18px !important;
}
.qiq-cardGrid{
  gap: 18px !important;
}
.qiq-cardGrid--bento{
  gap: 18px !important;
}

/* ---------- CARDS: “MACHINED GLASS” SURFACE ---------- */
.qiq-card{
  border-radius: 16px !important;
  background: rgba(255,255,255,0.88) !important;
  border: 1px solid rgba(15,23,42,0.10) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.75) inset,
    0 10px 28px rgba(2,8,23,0.06) !important;
  padding: 22px 24px !important;
  transform: translateY(0);
}

/* Kill the left “accent hairline” if it’s still there (reads gimmicky) */
.qiq-card::before{
  content: none !important;
}

.qiq-card:hover,
.qiq-card:focus-visible{
  border-color: rgba(15,23,42,0.16) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.78) inset,
    0 14px 36px rgba(2,8,23,0.08) !important;
  transform: translateY(-2px) !important;
}

/* ---------- CARD TYPOGRAPHY ---------- */
.qiq-card h3{
  font-size: 22px !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 8px 0 !important;
  color: rgba(11,18,32,0.92) !important;
}
.qiq-card p{
  font-size: 15px !important;
  margin: 0 0 0 0 !important;
  color: rgba(11,18,32,0.62) !important;
}

/* Snapshot category subtext smaller, cleaner */
.qiq-card__sub{
  margin-top: 10px !important;
  font-size: 12px !important;
  color: rgba(11,18,32,0.52) !important;
  line-height: 1.55 !important;
}

/* ---------- CHEVRON: TIGHT + HIGH-END ---------- */
.qiq-card__chev{
  width: 28px !important;
  height: 28px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(15,23,42,0.12) !important;
  background: rgba(255,255,255,0.55) !important;
}
.qiq-card__chev::before{
  border-right-color: rgba(11,18,32,0.55) !important;
  border-bottom-color: rgba(11,18,32,0.55) !important;
}
.qiq-card:hover .qiq-card__chev{
  transform: translateX(2px) !important;
  border-color: rgba(15,23,42,0.18) !important;
}

/* ---------- SNAPSHOT COUNTS: MAKE THEM A STAT, NOT A PILL ---------- */
.qiq-countPill{
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-width: auto !important;
}
.qiq-countPill__num{
  font-size: 20px !important;
  letter-spacing: -0.02em !important;
}
.qiq-countPill__lbl{
  font-size: 11px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: rgba(11,18,32,0.48) !important;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 980px){
  .qiq-hero__title h1{ font-size: 46px !important; }
}

/* --- Coaching split alignment fix --- */
.qiq-coaching .qiq-split{
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
  gap: 28px !important;
  align-items: start !important;
}

/* Make the section labels the same “block height” so cards start on same baseline */
.qiq-coaching .qiq-split__col > h2{
  min-height: 34px !important;       /* locks both columns to same header height */
  line-height: 1.15 !important;
  margin-bottom: 14px !important;
  display: flex !important;
  align-items: flex-end !important;   /* baseline-ish */
}

/* Prevent weird extra wrapping from long right label */
.qiq-coaching .qiq-split__col:last-child > h2{
  max-width: 420px !important;
}

/* Ensure cards stretch evenly within their column (no odd sizing) */
.qiq-coaching .qiq-cardGrid{
  display: grid !important;
  gap: 18px !important;
}
.qiq-coaching .qiq-card{
  width: 100% !important;
}

.coaching-subnav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 2px 0 18px;
}

.coaching-subnav .pill-link {
  border-radius: 999px;
  padding: 7px 14px;
  border: 1px solid var(--hairline);
  color: var(--text-1);
  text-decoration: none;
  font-weight: 600;
  font-size: 13px;
  line-height: 1;
  background: rgba(255, 255, 255, 0.62);
}

.coaching-subnav .pill-link.is-active {
  border-color: rgba(19, 78, 74, 0.22);
  background: rgba(13, 148, 136, 0.08);
  color: #0b3d39;
}

.skills-training-track-pill {
  cursor: default;
}

.skills-training-page {
  max-width: 1180px;
}

.page--coaching .qiq-card--feature {
  background:
    radial-gradient(circle at top right, rgba(255, 209, 102, 0.24), transparent 36%),
    linear-gradient(145deg, rgba(12, 20, 38, 0.98), rgba(20, 41, 74, 0.96));
  color: #f7f8fc;
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 28px 60px rgba(7, 13, 28, 0.32);
}

.page--coaching .qiq-card--feature p,
.page--coaching .qiq-card--feature .eyebrow {
  color: rgba(240, 245, 255, 0.8);
}

.page--coaching .qiq-card--feature h3 {
  color: #ffffff;
}

.scenario-lab-page {
  position: relative;
  overflow: hidden;
}

.page-frame.coaching-page.scenario-lab-page {
  width: 100%;
  max-width: none;
}

.scenario-lab-page::before {
  content: "";
  position: absolute;
  inset: -12rem auto auto -10rem;
  width: 22rem;
  height: 22rem;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(19, 197, 214, 0.16), transparent 70%);
  pointer-events: none;
}

.scenario-lab-page::after {
  content: "";
  position: absolute;
  inset: auto -10rem -12rem auto;
  width: 24rem;
  height: 24rem;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(89, 168, 255, 0.22), transparent 70%);
  pointer-events: none;
}

.scenario-lab-shell {
  position: relative;
  display: grid;
  gap: 1rem;
  width: 100%;
  max-width: 1640px;
  margin: 0 auto;
  padding-inline: 12px;
  box-sizing: border-box;
  z-index: 1;
  --scenario-lab-accent: #13c5d6;
  --scenario-lab-accent-strong: #0c91a0;
  --scenario-lab-accent-soft: rgba(19, 197, 214, 0.14);
  --scenario-lab-accent-softer: rgba(19, 197, 214, 0.08);
  --scenario-lab-sky-soft: rgba(89, 184, 232, 0.12);
  --scenario-lab-text: #0f172a;
  --scenario-lab-muted: rgba(15, 23, 42, 0.62);
}

.scenario-lab-storyBar {
  position: relative;
  display: grid;
  gap: 1rem;
  padding: 1rem 1.1rem;
  border-radius: 28px;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 30%, rgba(19, 197, 214, 0.12), transparent 20%),
    radial-gradient(circle at 84% 26%, rgba(89, 184, 232, 0.12), transparent 24%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(246, 251, 253, 0.9));
  border: 1px solid rgba(19, 197, 214, 0.12);
  box-shadow: 0 18px 44px rgba(19, 197, 214, 0.08);
}

.scenario-lab-storyBar__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.scenario-lab-storyBar__title {
  display: grid;
  gap: 0.4rem;
}

.scenario-lab-storyBar__eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 0.35rem 0.72rem;
  border-radius: 999px;
  border: 1px solid rgba(19, 197, 214, 0.16);
  background: rgba(255, 255, 255, 0.82);
  color: var(--scenario-lab-accent-strong);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scenario-lab-storyBar__title h2 {
  margin: 0;
  font-size: clamp(1.65rem, 2.3vw, 2.3rem);
  line-height: 1.02;
  letter-spacing: -0.04em;
  color: var(--scenario-lab-text);
}

.scenario-lab-storyBar__subcopy {
  margin: 0.2rem 0 0;
  max-width: 56rem;
  color: var(--scenario-lab-muted);
  font-size: 1rem;
  line-height: 1.5;
}

.scenario-lab-storyBar__actions {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  flex-wrap: wrap;
}

.scenario-lab-storyBar__badge {
  display: inline-flex;
  align-items: center;
  padding: 0.48rem 0.8rem;
  border-radius: 999px;
  background: rgba(19, 197, 214, 0.1);
  border: 1px solid rgba(19, 197, 214, 0.14);
  color: var(--scenario-lab-accent-strong);
  font-size: 0.8rem;
  font-weight: 700;
}

.scenario-lab-storyline {
  display: grid;
  gap: 0.35rem;
  padding: 0.95rem 1rem;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(19, 197, 214, 0.1);
}

.scenario-lab-storyline__label {
  color: var(--scenario-lab-accent-strong);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scenario-lab-storyline p {
  margin: 0;
  color: var(--scenario-lab-text);
  font-size: 1rem;
  line-height: 1.55;
}

.scenario-lab-soundToggle {
  border: 1px solid rgba(19, 197, 214, 0.16);
  background: rgba(255, 255, 255, 0.82);
  color: var(--scenario-lab-accent-strong);
  box-shadow: 0 10px 24px rgba(19, 197, 214, 0.08);
  position: relative;
  z-index: 1;
}

.scenario-lab-storyMetrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.75rem;
}

.scenario-lab-storyMetric {
  padding: 1rem 1.05rem;
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(245, 251, 252, 0.92)),
    linear-gradient(135deg, var(--scenario-lab-accent-soft), var(--scenario-lab-sky-soft));
  border: 1px solid rgba(19, 197, 214, 0.14);
  min-height: 0;
}

.scenario-lab-storyMetric span {
  display: block;
  color: var(--scenario-lab-accent-strong);
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scenario-lab-storyMetric strong {
  display: block;
  margin-top: 0.35rem;
  color: var(--scenario-lab-text);
  font-size: 1rem;
  letter-spacing: -0.03em;
}

.scenario-lab-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  align-items: start;
}

.scenario-lab-panel {
  position: relative;
  padding: 1.25rem;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 255, 0.84));
  border: 1px solid rgba(16, 24, 40, 0.08);
  box-shadow: 0 20px 48px rgba(10, 16, 32, 0.08);
}

html[data-theme="dark"] .scenario-lab-panel,
body.dark .scenario-lab-panel,
body.dark-mode .scenario-lab-panel {
  background: linear-gradient(180deg, rgba(10, 19, 34, 0.92), rgba(12, 23, 41, 0.88));
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 28px 56px rgba(0, 0, 0, 0.22);
}

.scenario-lab-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  margin-bottom: 1rem;
}

.scenario-lab-panel__head h3 {
  margin: 0;
}

.scenario-lab-panel__head p {
  margin: 0.3rem 0 0;
}

.scenario-lab-builder {
  display: grid;
  gap: 1rem;
  align-content: start;
}

.scenario-lab-previewPanel {
  display: grid;
  grid-template-columns: minmax(320px, 0.42fr) minmax(0, 1fr);
  gap: 1rem;
  align-content: start;
  position: relative;
  top: 0;
  background:
    radial-gradient(circle at top right, rgba(19, 197, 214, 0.12), transparent 28%),
    radial-gradient(circle at 82% 22%, rgba(89, 184, 232, 0.12), transparent 24%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(246, 251, 253, 0.92));
  border-color: rgba(19, 197, 214, 0.14);
  box-shadow: 0 24px 56px rgba(19, 197, 214, 0.1);
}

.scenario-lab-previewPanel h3,
.scenario-lab-previewPanel strong,
.scenario-lab-previewPanel li,
.scenario-lab-previewPanel p {
  color: var(--scenario-lab-text);
}

.scenario-lab-previewPanel .muted,
.scenario-lab-previewPanel .scenario-lab-helper,
.scenario-lab-previewPanel .scenario-lab-previewSummary__top span,
.scenario-lab-previewPanel .scenario-lab-previewList,
.scenario-lab-previewPanel .scenario-lab-previewMetric span {
  color: var(--scenario-lab-muted);
}

.scenario-lab-choiceMatrix {
  display: grid;
  grid-template-columns: 0.72fr 1.28fr 1fr;
  gap: 0.85rem;
}

.scenario-lab-fieldset {
  margin-top: 0;
  padding: 1rem;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.52);
  border: 1px solid rgba(15, 23, 42, 0.06);
}

.scenario-lab-fieldset:first-of-type {
  margin-top: 0;
}

html[data-theme="dark"] .scenario-lab-fieldset,
body.dark .scenario-lab-fieldset,
body.dark-mode .scenario-lab-fieldset {
  background: rgba(255, 255, 255, 0.025);
  border-color: rgba(255, 255, 255, 0.06);
}

.scenario-lab-labelRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.7rem;
}

.scenario-lab-labelRow h4 {
  margin: 0;
  font-size: 0.98rem;
}

.scenario-lab-helper {
  color: var(--muted);
  font-size: 0.84rem;
}

.scenario-lab-chipGrid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
}

.scenario-lab-choiceMatrix .scenario-lab-chipGrid {
  gap: 0.6rem;
}

.scenario-lab-inlineNote {
  margin: 0.8rem 0 0;
  color: var(--scenario-lab-muted);
  font-size: 0.93rem;
  line-height: 1.45;
}

.scenario-lab-choice {
  position: relative;
  display: inline-flex;
}

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

.scenario-lab-choice span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.8rem;
  padding: 0.78rem 0.95rem;
  border-radius: 18px;
  border: 1px solid rgba(17, 24, 39, 0.12);
  background: rgba(255, 255, 255, 0.8);
  color: #0f172a;
  font-weight: 700;
  font-size: 0.94rem;
  letter-spacing: -0.01em;
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.scenario-lab-choice input:checked + span {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(135deg, var(--scenario-lab-accent), var(--scenario-lab-accent-strong));
  box-shadow: 0 18px 28px rgba(19, 197, 214, 0.22);
  transform: translateY(-1px);
}

html[data-theme="dark"] .scenario-lab-choice span,
body.dark .scenario-lab-choice span,
body.dark-mode .scenario-lab-choice span {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.08);
  color: #edf2ff;
}

.scenario-lab-toggleGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
}

.scenario-lab-toggle {
  position: relative;
}

.scenario-lab-toggle input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.scenario-lab-toggle span {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-height: 2.65rem;
  padding: 0.72rem 0.85rem;
  border-radius: 16px;
  border: 1px solid rgba(17, 24, 39, 0.1);
  background: rgba(255, 255, 255, 0.62);
  font-weight: 650;
  font-size: 0.9rem;
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.scenario-lab-toggle span::before {
  content: "";
  width: 0.82rem;
  height: 0.82rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.75);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}

.scenario-lab-toggle input:checked + span {
  transform: translateY(-1px);
  border-color: rgba(19, 197, 214, 0.24);
  background: linear-gradient(135deg, rgba(19, 197, 214, 0.12), rgba(89, 184, 232, 0.08));
  box-shadow: 0 10px 18px rgba(19, 197, 214, 0.08);
}

.scenario-lab-toggle input:checked + span::before {
  background: linear-gradient(135deg, var(--scenario-lab-accent), var(--scenario-lab-accent-strong));
}

html[data-theme="dark"] .scenario-lab-toggle span,
body.dark .scenario-lab-toggle span,
body.dark-mode .scenario-lab-toggle span {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.08);
}

.scenario-lab-spinArea {
  display: grid;
  gap: 1rem;
  padding-top: 1.1rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(246, 251, 253, 0.74)),
    linear-gradient(135deg, var(--scenario-lab-accent-softer), rgba(89, 184, 232, 0.06));
}

.scenario-lab-spinDeck {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
}

.scenario-lab-wheelLauncher {
  position: relative;
  width: 190px;
  height: 190px;
  margin: 0 auto;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  background:
    conic-gradient(
      from 0deg,
      rgba(19, 197, 214, 0.94) 0deg 58deg,
      rgba(89, 184, 232, 0.92) 58deg 118deg,
      rgba(12, 145, 160, 0.92) 118deg 178deg,
      rgba(147, 228, 238, 0.95) 178deg 238deg,
      rgba(19, 197, 214, 0.88) 238deg 298deg,
      rgba(89, 184, 232, 0.92) 298deg 360deg
    );
  box-shadow: 0 24px 44px rgba(19, 197, 214, 0.18);
  transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}

.scenario-lab-wheelLauncher:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 28px 48px rgba(19, 197, 214, 0.24);
}

.scenario-lab-wheelLauncher:disabled {
  cursor: default;
  filter: saturate(0.92);
}

.scenario-lab-wheelLauncher::before {
  content: "";
  position: absolute;
  inset: 12px;
  border-radius: 999px;
  border: 10px solid rgba(255, 255, 255, 0.56);
  box-shadow: inset 0 0 0 2px rgba(12, 145, 160, 0.16);
}

.scenario-lab-wheelLauncher__pointer {
  position: absolute;
  top: -14px;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border-left: 14px solid transparent;
  border-right: 14px solid transparent;
  border-top: 0;
  border-bottom: 22px solid #0c91a0;
  filter: drop-shadow(0 8px 12px rgba(12, 145, 160, 0.24));
}

.scenario-lab-wheelLauncher__core {
  position: absolute;
  inset: 42px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 0.28rem;
  padding: 0.85rem;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(243, 250, 252, 0.95));
  color: var(--scenario-lab-text);
  text-align: center;
  box-shadow: inset 0 0 0 1px rgba(19, 197, 214, 0.1);
}

.scenario-lab-wheelLauncher__eyebrow {
  color: var(--scenario-lab-accent-strong);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scenario-lab-wheelLauncher__core strong {
  font-size: 1.32rem;
  letter-spacing: -0.04em;
}

.scenario-lab-wheelLauncher__core span:last-child {
  color: var(--scenario-lab-muted);
  font-size: 0.82rem;
  line-height: 1.2;
}

.scenario-lab-spinStory {
  display: grid;
  gap: 0.35rem;
  padding: 0.95rem 1rem;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(19, 197, 214, 0.1);
}

.scenario-lab-spinStory span {
  color: var(--scenario-lab-accent-strong);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scenario-lab-spinStory strong {
  color: var(--scenario-lab-text);
  font-size: 1rem;
  line-height: 1.45;
}

.scenario-lab-spinStory p {
  margin: 0;
  color: var(--scenario-lab-muted);
}

.scenario-lab-wheelGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0.85rem;
}

.scenario-lab-wheelCard {
  position: relative;
  min-height: 8.6rem;
  padding: 1rem;
  border-radius: 24px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(245, 247, 255, 0.78)),
    linear-gradient(135deg, rgba(19, 197, 214, 0.12), rgba(89, 184, 232, 0.08));
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

html[data-theme="dark"] .scenario-lab-wheelCard,
body.dark .scenario-lab-wheelCard,
body.dark-mode .scenario-lab-wheelCard {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.02)),
    linear-gradient(135deg, rgba(19, 197, 214, 0.12), rgba(89, 184, 232, 0.08));
  border-color: rgba(255, 255, 255, 0.08);
}

.scenario-lab-wheelCard::after {
  content: "";
  position: absolute;
  inset: auto -18% -55% auto;
  width: 8.5rem;
  height: 8.5rem;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(19, 197, 214, 0.16), transparent 70%);
  opacity: 0.9;
}

.scenario-lab-wheelCard.is-spinning {
  animation: scenarioWheelPulse 420ms ease-in-out infinite;
}

.scenario-lab-shell.is-spinning .scenario-lab-wheelLauncher {
  animation: scenarioWheelSpin 1.2s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

.scenario-lab-shell.is-spinning .scenario-lab-spinArea,
.scenario-lab-shell.is-spinning .scenario-lab-previewPanel,
.scenario-lab-shell.is-spinning .scenario-lab-storyBar {
  animation: scenarioRoomShake 300ms ease-in-out infinite;
}

.scenario-lab-wheelLabel {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scenario-lab-wheelValue {
  display: block;
  margin-top: 0.72rem;
  font-size: clamp(1.1rem, 1.7vw, 1.55rem);
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.scenario-lab-wheelMeta {
  margin-top: 0.85rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.36rem 0.7rem;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.06);
  color: var(--muted);
  font-size: 0.78rem;
}

html[data-theme="dark"] .scenario-lab-wheelMeta,
body.dark .scenario-lab-wheelMeta,
body.dark-mode .scenario-lab-wheelMeta {
  background: rgba(255, 255, 255, 0.06);
}

.scenario-lab-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  align-items: center;
  justify-content: space-between;
  padding-top: 0.15rem;
}

.scenario-lab-actions .btn-primary,
.scenario-lab-actions .btn-secondary,
.scenario-lab-actions .btn-ghost {
  min-width: 11rem;
}

.scenario-lab-status {
  min-height: 1.4rem;
  color: var(--muted);
  font-size: 0.9rem;
}

.scenario-lab-previewSummary {
  display: grid;
  gap: 0.9rem;
  padding: 1rem;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(19, 197, 214, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.scenario-lab-previewSummary__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.scenario-lab-previewSummary__top strong {
  font-size: 1rem;
}

.scenario-lab-previewPills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.scenario-lab-previewPill {
  display: inline-flex;
  align-items: center;
  padding: 0.42rem 0.72rem;
  border-radius: 999px;
  background: rgba(19, 197, 214, 0.12);
  color: var(--scenario-lab-accent-strong);
  font-size: 0.8rem;
  font-weight: 700;
}

.scenario-lab-previewList {
  margin: 0;
  padding-left: 1.1rem;
  display: grid;
  gap: 0.55rem;
}

.scenario-lab-previewList li::marker {
  color: var(--scenario-lab-accent);
}

.scenario-lab-previewCanvas {
  display: grid;
  align-content: start;
  min-height: 24rem;
}

.scenario-lab-result {
  display: grid;
  gap: 1rem;
}

.scenario-lab-resultCard {
  position: relative;
  overflow: hidden;
  padding: 1.1rem;
  border-radius: 26px;
  background:
    radial-gradient(circle at top right, rgba(19, 197, 214, 0.18), transparent 30%),
    radial-gradient(circle at 82% 18%, rgba(89, 184, 232, 0.18), transparent 24%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 251, 253, 0.96));
  border: 1px solid rgba(19, 197, 214, 0.14);
  box-shadow: 0 26px 60px rgba(19, 197, 214, 0.12);
}

.scenario-lab-resultCard h3,
.scenario-lab-resultCard h4,
.scenario-lab-resultCard p,
.scenario-lab-resultCard li,
.scenario-lab-resultCard summary,
.scenario-lab-resultCard strong {
  color: var(--scenario-lab-text);
}

.scenario-lab-resultCard p,
.scenario-lab-resultCard li {
  color: var(--scenario-lab-muted);
}

.scenario-lab-resultHeader {
  display: grid;
  gap: 0.7rem;
}

.scenario-lab-resultHeaderTop {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.scenario-lab-sourceBadge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.4rem 0.7rem;
  border-radius: 999px;
  background: rgba(19, 197, 214, 0.1);
  border: 1px solid rgba(19, 197, 214, 0.14);
  color: var(--scenario-lab-accent-strong);
  font-size: 0.76rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.scenario-lab-headline {
  margin: 0;
  font-size: clamp(1.5rem, 2.6vw, 2.35rem);
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.scenario-lab-kicker {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.scenario-lab-kicker span {
  display: inline-flex;
  align-items: center;
  padding: 0.4rem 0.7rem;
  border-radius: 999px;
  background: rgba(19, 197, 214, 0.08);
  color: var(--scenario-lab-accent-strong);
  font-size: 0.78rem;
}

.scenario-lab-customerCard {
  display: grid;
  gap: 0.9rem;
  padding: 1rem;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(19, 197, 214, 0.12);
}

.scenario-lab-customerHeader {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
}

.scenario-lab-customerHeader span,
.scenario-lab-customerGrid span,
.scenario-lab-customerClues span {
  display: block;
  margin-bottom: 0.3rem;
  color: var(--scenario-lab-accent-strong);
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scenario-lab-customerHeader strong {
  display: block;
  font-size: 1.2rem;
}

.scenario-lab-customerHeader em {
  color: var(--scenario-lab-muted);
  font-style: normal;
  font-weight: 700;
}

.scenario-lab-customerFacts {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.scenario-lab-customerFact {
  padding: 0.9rem 0.95rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid rgba(19, 197, 214, 0.1);
}

.scenario-lab-customerFact span,
.scenario-lab-customerClues span {
  display: block;
  margin-bottom: 0.3rem;
  color: var(--scenario-lab-accent-strong);
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scenario-lab-customerFact ul,
.scenario-lab-customerClues ul {
  margin: 0;
  padding-left: 1.05rem;
  display: grid;
  gap: 0.36rem;
}

.scenario-lab-customerFact li,
.scenario-lab-customerClues li {
  margin: 0;
}

.scenario-lab-opener {
  padding: 0.95rem 1rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(19, 197, 214, 0.12);
}

.scenario-lab-opener span {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--scenario-lab-accent-strong);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scenario-lab-resultDetails {
  display: grid;
  gap: 0.75rem;
}

.scenario-lab-resultDetails details {
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(19, 197, 214, 0.1);
  padding: 0.85rem 1rem;
}

.scenario-lab-resultDetails summary {
  cursor: pointer;
  list-style: none;
  font-weight: 700;
}

.scenario-lab-resultDetails summary::-webkit-details-marker {
  display: none;
}

.scenario-lab-empty {
  display: grid;
  place-items: center;
  min-height: 24rem;
  padding: 1.5rem;
  border-radius: 26px;
  border: 1px solid rgba(19, 197, 214, 0.12);
  background:
    radial-gradient(circle at 20% 18%, rgba(19, 197, 214, 0.12), transparent 24%),
    radial-gradient(circle at 82% 28%, rgba(89, 184, 232, 0.12), transparent 26%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(247, 251, 253, 0.66));
  text-align: center;
}

.scenario-lab-empty strong {
  display: block;
  font-size: 1.45rem;
  letter-spacing: -0.03em;
  color: var(--scenario-lab-text);
}

.scenario-lab-empty p {
  margin: 0.7rem auto 0;
  max-width: 26rem;
  color: var(--scenario-lab-muted);
}

.scenario-lab-empty__inner {
  display: grid;
  gap: 0.8rem;
  justify-items: center;
}

.scenario-lab-emptyBadge {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.78rem;
  border-radius: 999px;
  background: rgba(19, 197, 214, 0.1);
  border: 1px solid rgba(19, 197, 214, 0.14);
  color: var(--scenario-lab-accent-strong);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scenario-lab-emptySignals {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.55rem;
  margin-top: 0.25rem;
}

.scenario-lab-emptySignals span {
  display: inline-flex;
  align-items: center;
  padding: 0.42rem 0.72rem;
  border-radius: 999px;
  background: rgba(19, 197, 214, 0.08);
  color: var(--scenario-lab-accent-strong);
  font-size: 0.8rem;
}

@keyframes scenarioWheelPulse {
  0%,
  100% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(-2px) scale(1.015);
  }
}

@keyframes scenarioWheelSpin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes scenarioRoomShake {
  0%,
  100% {
    transform: translate3d(0, 0, 0);
  }
  25% {
    transform: translate3d(1px, -1px, 0);
  }
  50% {
    transform: translate3d(-2px, 1px, 0);
  }
  75% {
    transform: translate3d(2px, 0, 0);
  }
}

@media (max-width: 1080px) {
  .scenario-lab-shell {
    max-width: 100%;
    padding-inline: 10px;
  }

  .scenario-lab-storyMetrics,
  .scenario-lab-choiceMatrix,
  .scenario-lab-wheelGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .scenario-lab-spinDeck {
    grid-template-columns: 1fr;
  }

  .scenario-lab-previewPanel {
    grid-template-columns: 1fr;
  }

  .scenario-lab-customerFacts {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 780px) {
  .scenario-lab-shell {
    padding-inline: 8px;
  }

  .scenario-lab-storyMetrics,
  .scenario-lab-choiceMatrix,
  .scenario-lab-toggleGrid,
  .scenario-lab-wheelGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .scenario-lab-storyBar__head,
  .scenario-lab-resultHeaderTop,
  .scenario-lab-labelRow {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 620px) {
  .scenario-lab-wheelGrid,
  .scenario-lab-toggleGrid,
  .scenario-lab-choiceMatrix,
  .scenario-lab-storyMetrics {
    grid-template-columns: 1fr;
  }
}

.skills-track-card,
.skills-module-card {
  padding: 18px 20px;
}

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

.skills-track-progress {
  margin-top: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.skills-track-progress-bar {
  flex: 1;
  min-height: 8px;
  background: #e5ebf5;
  border-radius: 999px;
  overflow: hidden;
}

.skills-track-progress-bar span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #22c6c6, #59b8e8);
}

.skills-module-modal-panel {
  width: min(860px, 94vw);
}

.skills-module-modal-body {
  max-height: min(68vh, 760px);
  overflow: auto;
  padding-right: 6px;
}

.skills-module-modal-body h4 {
  margin: 0 0 8px;
  font-size: 15px;
  font-weight: 700;
}

.skills-module-modal-body p,
.skills-module-modal-body li {
  line-height: 1.62;
}

.skills-dialogue-block {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 14px;
  background: rgba(241, 245, 249, 0.66);
  padding: 12px 14px;
  display: grid;
  gap: 8px;
}

.skills-dialogue-block p {
  margin: 0;
}

.skills-highlight-box {
  border: 1px solid rgba(13, 148, 136, 0.2);
  border-radius: 14px;
  background: rgba(20, 184, 166, 0.08);
  padding: 10px 12px;
}

.skills-highlight-box ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
}

.skills-final-thought {
  color: #0f172a;
  font-weight: 600;
}

.skills-module-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

/* OPTIONAL: Make the right label shorter so it naturally stays 1 line on most screens */
@media (min-width: 1100px){
  .qiq-coaching .qiq-split__col:last-child > h2{
    white-space: nowrap !important;
  }
}

/* ---- 7-day challenge module (light /pro only) ---- */
.challenge-section .section-head {
  margin-bottom: 12px;
}

.challenge-banner {
  margin-bottom: 14px;
}

.challenge-banner-top {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 16px;
  flex-wrap: wrap;
}

.challenge-banner h3 {
  margin: 0;
  font-size: 26px;
  letter-spacing: -0.02em;
}

.challenge-banner p {
  margin: 4px 0 0;
}

.challenge-day-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.75);
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
}

.challenge-progress-track {
  margin-top: 12px;
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: #e7ecf6;
  overflow: hidden;
}

.challenge-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #22c6c6, #59b8e8);
}

.challenge-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 14px;
}

.challenge-dept-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.challenge-dept-card {
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.05);
  padding: 14px;
}

.challenge-dept-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: start;
}

.challenge-dept-card h4 {
  margin: 0;
  font-size: 16px;
}

.challenge-overall {
  font-size: 30px;
  line-height: 1;
  font-weight: 700;
  margin: 8px 0 2px;
}

.challenge-today-line {
  color: rgba(11, 18, 32, 0.64);
  font-size: 13px;
}

.challenge-trend {
  font-size: 12px;
  color: rgba(11, 18, 32, 0.58);
}

.challenge-badges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 8px 0;
}

.challenge-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.14);
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.challenge-badge-elite {
  border-color: rgba(193, 157, 63, 0.4);
  background: rgba(193, 157, 63, 0.1);
}

.challenge-badge-perfect {
  border-color: rgba(34, 197, 94, 0.35);
  background: rgba(34, 197, 94, 0.1);
}

.challenge-checkin-btn {
  margin-top: 6px;
  width: 100%;
}

.challenge-privacy-note {
  margin-top: 8px;
  color: rgba(11, 18, 32, 0.56);
  font-size: 12px;
}

.challenge-spotlight {
  margin-top: 10px;
  border-left: 3px solid #22c6c6;
}

.challenge-leaderboard h3 {
  margin-top: 0;
  margin-bottom: 10px;
}

.challenge-leaderboard-list {
  margin: 0;
  padding-left: 22px;
}

.challenge-leaderboard-list li {
  margin-bottom: 8px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.challenge-modal {
  position: fixed;
  inset: 0;
  background: rgba(2, 8, 23, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  z-index: 60;
}

.challenge-modal[hidden] {
  display: none !important;
}

.challenge-modal-card {
  width: min(520px, 100%);
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.15);
  box-shadow: 0 14px 40px rgba(2, 8, 23, 0.18);
  padding: 18px;
}

.challenge-pulse-scale {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 14px 0;
}

.challenge-pulse-btn {
  border: 1px solid rgba(15, 23, 42, 0.16);
  border-radius: 10px;
  padding: 10px;
  background: #fff;
  font-weight: 600;
}

.challenge-pulse-btn:hover {
  border-color: rgba(34, 198, 198, 0.45);
}

@media (max-width: 1100px) {
  .challenge-layout {
    grid-template-columns: 1fr;
  }
  .challenge-dept-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .challenge-dept-grid {
    grid-template-columns: 1fr;
  }
}

/* ---- Company Hub focus refresh ---- */
.company-hub-header {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  background:
    linear-gradient(160deg, rgba(34, 198, 198, 0.08), rgba(255, 255, 255, 0.95) 42%),
    #f8faff;
  box-shadow: 0 12px 30px rgba(2, 8, 23, 0.06);
  padding: 18px;
}

.company-hub-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.company-focus-panel {
  margin-top: 16px;
}

.company-focus-card {
  border-radius: 16px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  box-shadow: 0 10px 28px rgba(2, 8, 23, 0.06);
  padding: 18px 20px;
}

.company-focus-loading {
  color: rgba(11, 18, 32, 0.64);
}

.company-focus-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.company-focus-eyebrow {
  margin: 0;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(11, 18, 32, 0.56);
}

.company-focus-head h3 {
  margin: 6px 0 4px;
  font-size: 26px;
  letter-spacing: -0.02em;
}

.company-focus-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.company-focus-actions {
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.company-focus-note {
  margin-top: 8px;
  color: rgba(11, 18, 32, 0.72);
}

.company-focus-dept-list {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.company-focus-dept-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.company-focus-dept-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.company-focus-dept-pct {
  font-weight: 700;
  color: rgba(11, 18, 32, 0.84);
}

.company-modal[hidden] {
  display: none !important;
}

.company-rules-list h4 {
  margin: 10px 0 6px;
  font-size: 14px;
}

.company-rules-list ul {
  margin: 0;
  padding-left: 18px;
}

.company-launch-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.company-modal-actions {
  margin-top: 14px;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

/* ---- /pro challenge alignment fix (BDC + ELITE + CTA) ---- */
.challenge-dept-toprow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(220px, 220px);
  gap: 10px;
  align-items: center;
}

.challenge-dept-label {
  max-width: 190px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.challenge-dept-badges-inline {
  display: flex;
  gap: 8px;
  flex-wrap: nowrap;
  overflow: hidden;
  align-items: center;
}

.challenge-dept-badges-inline .challenge-badge {
  margin: 0;
}

.challenge-dept-cta {
  min-width: 220px;
  display: flex;
  justify-content: flex-end;
}

.challenge-dept-cta .challenge-checkin-btn {
  width: 220px;
  margin-top: 0;
}

.challenge-badge-elite {
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

@media (max-width: 980px) {
  .company-launch-grid {
    grid-template-columns: 1fr;
  }
  .challenge-dept-toprow {
    grid-template-columns: minmax(0, 1fr);
  }
  .challenge-dept-cta,
  .challenge-dept-cta .challenge-checkin-btn {
    min-width: 0;
    width: 100%;
  }
}

/* ---- /company compact active focus strip + per-store focus snippet ---- */
.cardsGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  align-items: start;
}

.demo-store-tile {
  width: 100%;
  display: flex;
  flex-direction: column;
  text-align: left;
  border-radius: 16px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 8px 24px rgba(2, 8, 23, 0.05);
  padding: 0 14px 14px;
  cursor: pointer;
}

.demo-store-tile.is-loading {
  opacity: 0.72;
}

.demo-store-tile:focus-visible {
  outline: 2px solid rgba(34, 198, 198, 0.45);
  outline-offset: 2px;
}

.company-focus-strip {
  margin: 14px 0 8px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 8px 24px rgba(2, 8, 23, 0.05);
  padding: 10px 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.company-focus-strip-left {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex-wrap: wrap;
}

.company-focus-strip-eyebrow {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(11, 18, 32, 0.56);
}

.company-focus-strip-right {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.company-focus-strip-subtitle {
  color: rgba(11, 18, 32, 0.6);
  font-size: 13px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.company-focus-action {
  border: 0;
  background: transparent;
  color: #0f7f9c;
  font-size: 12px;
  text-decoration: underline;
  cursor: pointer;
  padding: 0 2px;
}

.demo-focus-row {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px 12px;
}

.demo-focus-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.demo-focus-label {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(11, 18, 32, 0.56);
}

.demo-focus-name {
  font-size: 15px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.demo-focus-tagline {
  font-size: 13px;
  color: rgba(11, 18, 32, 0.58);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.demo-focus-side {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  justify-content: flex-end;
}

.demo-focus-day {
  font-size: 11px;
  border: 1px solid rgba(15, 23, 42, 0.14);
  border-radius: 999px;
  padding: 2px 8px;
  color: rgba(11, 18, 32, 0.68);
}

.demo-focus-pct {
  font-size: 15px;
  color: rgba(11, 18, 32, 0.85);
}

.demo-focus-view {
  border: 0;
  background: transparent;
  color: #0f7f9c;
  font-size: 12px;
  text-decoration: underline;
  cursor: pointer;
  padding: 0;
  position: static;
}

.demo-focus-progress {
  grid-column: 1 / -1;
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: #e6ecf7;
  overflow: hidden;
}

.demo-focus-progress span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, rgba(34, 198, 198, 0.92), rgba(89, 184, 232, 0.88));
}

/* ---- /pro challenge panel refresh (premium, balanced) ---- */
.focus-panel {
  display: grid;
  gap: 12px;
}

.challenge-focus-strip {
  padding: 14px 16px;
}

.challenge-strip-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.challenge-strip-main h3 {
  margin: 2px 0 4px;
  font-size: 24px;
  letter-spacing: -0.02em;
}

.challenge-strip-label {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(11, 18, 32, 0.56);
}

.challenge-strip-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.challenge-strip-actions {
  margin-top: 8px;
}

.challenge-link-btn {
  border: 0;
  background: transparent;
  color: #0f7f9c;
  text-decoration: underline;
  cursor: pointer;
  font-size: 12px;
  padding: 0;
}

.challenge-layout {
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
}

.challenge-left {
  display: grid;
  gap: 8px;
}

.challenge-right {
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 10px;
}

.challenge-dept-grid {
  gap: 10px;
}

.challenge-dept-card {
  display: flex;
  flex-direction: column;
  min-height: 188px;
}

.deptTileHeader {
  min-height: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.challenge-dept-header-right {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.challenge-dept-badges-inline {
  max-width: 120px;
}

.challenge-dept-cta {
  margin-top: auto;
  min-width: 0;
}

.challenge-dept-cta .challenge-checkin-btn {
  width: 100%;
}

.challenge-spotlight {
  margin-top: 0;
  padding: 10px 12px;
}

.challenge-leaderboard {
  display: flex;
  flex-direction: column;
}

.challenge-leaderboard-list li {
  padding: 4px 0;
}

@media (max-width: 1100px) {
  .challenge-strip-row {
    grid-template-columns: 1fr;
  }
  .challenge-strip-meta {
    justify-content: flex-start;
  }
}

@media (max-width: 980px) {
  .cardsGrid {
    grid-template-columns: 1fr;
  }
  .demo-focus-row {
    grid-template-columns: 1fr;
  }
  .demo-focus-side {
    justify-content: flex-start;
  }
}

.hero-gauge-wrap{
  position:relative;
  width:100%;
  max-width:420px;
  height:160px;
}

.hero-gauge-svg{
  width:100%;
  height:100%;
  display:block;
}

/* premium arc shadow */
.hero-gauge-svg path{
  filter: drop-shadow(0 10px 18px rgba(15,23,42,0.08));
}

/* needle */
.gauge-needle{
  position:absolute;
  bottom:34px;
  left:50%;
  width:4px;
  height:90px;
  background:linear-gradient(to right,
    rgba(15,23,42,0.9),
    rgba(15,23,42,0.6));
  border-radius:999px;
  transform-origin:50% 100%;
  transform:translateX(-50%) rotate(calc((var(--score-animated, var(--score)) * 1.8deg) - 90deg));
  box-shadow:
    0 14px 28px rgba(15,23,42,0.18),
    0 2px 0 rgba(255,255,255,0.18);
}

/* hub */
.gauge-hub{
  position:absolute;
  bottom:28px;
  left:50%;
  width:16px;
  height:16px;
  border-radius:50%;
  transform:translateX(-50%);
  background:radial-gradient(circle at 30% 30%,
    rgba(255,255,255,0.35),
    rgba(15,23,42,0.92) 55%);
  box-shadow:
    0 16px 32px rgba(15,23,42,0.18),
    inset 0 1px 0 rgba(255,255,255,0.20);
}

/* score pill */
.gauge-score{
  position:absolute;
  bottom:4px;
  left:50%;
  transform:translateX(-50%);
  font-weight:900;
  font-size:14px;
  background:white;
  padding:4px 12px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:
    0 18px 34px rgba(15,23,42,0.10),
    inset 0 1px 0 rgba(255,255,255,0.55);
}

/* subtle premium glow across the gauge */
.hero-gauge-wrap::after{
  content:"";
  position:absolute;
  inset:10px 20px 26px 20px;
  background:linear-gradient(110deg,
    rgba(255,255,255,0.00) 0%,
    rgba(255,255,255,0.20) 45%,
    rgba(255,255,255,0.00) 70%);
  border-radius:18px;
  pointer-events:none;
  opacity:.35;
}/* =========================================
   HERO GAUGE: Premium Instrument Treatment
   ========================================= */

/* 1) Glass panel effect inside the hero card */
.pro-hero-card{
  position: relative;
  overflow: hidden;
}

.pro-hero-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 260px at 10% 0%,
      rgba(255,255,255,0.90),
      rgba(255,255,255,0.00) 60%),
    radial-gradient(700px 240px at 90% 10%,
      rgba(255,255,255,0.55),
      rgba(255,255,255,0.00) 60%);
  pointer-events:none;
  opacity: 0.75;
}

.pro-hero-card::after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius: 20px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.65),
    inset 0 -10px 30px rgba(15,23,42,0.03);
  pointer-events:none;
}

/* 2) Make the gauge arc feel richer */
.hero-gauge-svg path{
  filter: drop-shadow(0 10px 18px rgba(15,23,42,0.08));
}

/* 3) Needle depth + hub “metal” feel */
.gauge-needle{
  background: linear-gradient(to right,
    rgba(15,23,42,0.85),
    rgba(15,23,42,0.55));
  box-shadow:
    0 14px 28px rgba(15,23,42,0.18),
    0 2px 0 rgba(255,255,255,0.18);
}

.gauge-hub{
  background: radial-gradient(circle at 30% 30%,
    rgba(255,255,255,0.35),
    rgba(15,23,42,0.92) 55%,
    rgba(15,23,42,0.98));
  box-shadow:
    0 16px 32px rgba(15,23,42,0.18),
    inset 0 1px 0 rgba(255,255,255,0.20);
}

/* 4) Score pill gets a subtle “floating” premium look */
.gauge-score{
  box-shadow:
    0 18px 34px rgba(15,23,42,0.10),
    inset 0 1px 0 rgba(255,255,255,0.55);
  backdrop-filter: blur(8px);
}

/* Optional: gentle shimmer when WATCH/RED (classy) */
.hero-chip--yellow ~ .hero-note,
.hero-chip--red ~ .hero-note{
  position: relative;
}

@keyframes qiqShimmer{
  0%   { opacity: 0.0; transform: translateX(-30%); }
  30%  { opacity: 0.25; }
  60%  { opacity: 0.0; transform: translateX(130%); }
  100% { opacity: 0.0; transform: translateX(130%); }
}

/* shimmer overlay across the gauge area only */
.hero-gauge-wrap::after{
  content:"";
  position:absolute;
  inset: 10px 20px 26px 20px;
  background: linear-gradient(110deg,
    rgba(255,255,255,0.00) 0%,
    rgba(255,255,255,0.18) 45%,
    rgba(255,255,255,0.00) 70%);
  border-radius: 18px;
  pointer-events:none;
  opacity: 0;
}

/* turn shimmer on ONLY when the parent card has a data-state */
.pro-hero-card[data-state="watch"] .hero-gauge-wrap::after,
.pro-hero-card[data-state="risk"]  .hero-gauge-wrap::after{
  opacity: 1;
  animation: qiqShimmer 3.8s ease-in-out infinite;
}

/* Nav click safety: keep top tabs above decorative overlays */
.app-nav-row,
.app-nav {
  position: relative;
  z-index: 1200;
  pointer-events: auto;
}

.app-nav-link {
  pointer-events: auto;
  cursor: pointer;
}

/* ===== Billion-dollar gauge treatment ===== */

.hero-gauge-wrap{
  position: relative;
  width: 100%;
  max-width: 520px;
  height: 210px;
}

.hero-gauge-svg{
  width: 100%;
  height: 100%;
  display: block;
}

.gauge-ticks line{
  stroke: rgba(15,23,42,0.22);
  stroke-width: 2.3;
  stroke-linecap: round;
}

.gauge-ef{
  font-size: 14px;
  font-weight: 900;
  fill: rgba(15,23,42,0.55);
  letter-spacing: 0.08em;
}

.gauge-needle{
  position: absolute;
  left: 50%;
  bottom: 44px;
  width: 5px;
  height: 108px;
  border-radius: 999px;
  transform-origin: 50% 100%;
  transform: translateX(-50%) rotate(calc((var(--score-animated, var(--score)) * 1.8deg) - 90deg));
  background: linear-gradient(to right, rgba(15,23,42,0.95), rgba(15,23,42,0.55));
  box-shadow:
    0 18px 36px rgba(15,23,42,0.20),
    0 2px 0 rgba(255,255,255,0.22);
}

.gauge-hub{
  position: absolute;
  left: 50%;
  bottom: 38px;
  width: 18px;
  height: 18px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%,
    rgba(255,255,255,0.42),
    rgba(15,23,42,0.92) 55%,
    rgba(15,23,42,0.98));
  box-shadow:
    0 20px 38px rgba(15,23,42,0.18),
    inset 0 1px 0 rgba(255,255,255,0.20);
}

.gauge-score{
  position: absolute;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  font-size: 14px;
  font-weight: 950;
  color: rgba(15,23,42,0.80);
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(15,23,42,0.10);
  padding: 6px 14px;
  border-radius: 999px;
  box-shadow:
    0 20px 38px rgba(15,23,42,0.10),
    inset 0 1px 0 rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
}

.hero-trend{
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  max-width: 520px;
  width: 100%;
}

.hero-trend-label{
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(15,23,42,0.45);
}


.pro-hero-card{
  background: rgba(255,255,255,0.96);
  border: 1px solid rgba(15,23,42,0.08);
  border-radius: 20px;
  box-shadow: 0 24px 60px rgba(15,23,42,0.10);
  padding: 14px 16px 14px;
}

.hero-gauge{
  display: grid;
  justify-items: center;
  padding-top: 4px;
}

/* ===== HERO CARD: lock the layout so nothing floats ===== */

.pro-hero-card{
  position: relative;
}

.hero-gauge{
  display: grid;
  justify-items: center;
  padding-top: 6px;
  padding-bottom: 2px;
}

/* Make the gauge slightly smaller and visually centered */
.hero-gauge-wrap{
  max-width: 430px;
  height: 190px;          /* down from 210 */
}

/* Keep the needle/hub where they belong with the new size */
.gauge-needle{
  bottom: 42px;           /* was 44 */
  height: 100px;          /* was 108 */
}

.gauge-hub{
  bottom: 36px;           /* was 38 */
}

.gauge-score{
  bottom: 10px;
}

/* ===== Trend: put it in a proper slot (bottom right) ===== */
.hero-trend{
  margin-top: 6px;
  width: 100%;
  max-width: 520px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.hero-trend-label{
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(15,23,42,0.40);
}


/* ===== Chips row: make it feel intentional ===== */
.hero-mini{
  margin-top: 6px;
  width: 100%;
  max-width: 520px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 8px;
}

.hero-mini-item{
  min-width: 0;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(15,23,42,0.08);
  box-shadow: 0 10px 20px rgba(15,23,42,0.06);
}

/* Optional: make the hero note not look orphaned */
.hero-note{
  font-weight: 900;
  color: rgba(15,23,42,0.72);
}

.hero-trend{
  margin-top: 6px;
  width: 100%;
  max-width: 520px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.hero-trend-label{
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(15,23,42,0.40);
}

.hero-trend-chip{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.92);
  box-shadow: 0 10px 20px rgba(15,23,42,0.06);
  color: rgba(15,23,42,0.75);
  white-space: nowrap;
  text-decoration: none;
}

.hero-trend-up{
  border-color: rgba(34,197,94,0.28);
  background: rgba(34,197,94,0.08);
}

.hero-trend-down{
  border-color: rgba(239,68,68,0.28);
  background: rgba(239,68,68,0.08);
}

.hero-trend-flat{
  border-color: rgba(148,163,184,0.28);
  background: rgba(148,163,184,0.10);
}

/* =========================================================
   QiQ Pulse System (subtle, premium)
   Red = fastest, Yellow = medium, Green = slow, Gray = none
   Respects prefers-reduced-motion
   ========================================================= */

@keyframes qiqPulseGlow {
  0%   { transform: scale(1);   opacity: .65; box-shadow: 0 0 0 rgba(0,0,0,0); }
  45%  { transform: scale(1.08); opacity: 1;  box-shadow: 0 0 0 10px rgba(0,0,0,0); }
  100% { transform: scale(1);   opacity: .75; box-shadow: 0 0 0 rgba(0,0,0,0); }
}

/* Attach this class to the small status dot element */
.qiq-pulse-dot{
  position: relative;
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  opacity: .9;
}

/* glow ring */
.qiq-pulse-dot::after{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:999px;
  background: currentColor;
  opacity: .10;
  filter: blur(6px);
  transform: scale(.85);
}

/* Speed tiers */
.qiq-pulse--green{ animation: qiqPulseGlow 2.6s ease-in-out infinite; }
.qiq-pulse--yellow{ animation: qiqPulseGlow 1.8s ease-in-out infinite; }
.qiq-pulse--red{ animation: qiqPulseGlow 1.15s ease-in-out infinite; }

/* Optional: pulse the pill border very softly (premium, not loud) */
@keyframes qiqPulseBorder {
  0%,100% { box-shadow: 0 0 0 0 rgba(0,0,0,0); }
  50%     { box-shadow: 0 0 0 6px rgba(15,23,42,0.00); }
}

.qiq-pulse-pill{
  position: relative;
  border-radius: 999px;
}

.qiq-pulse-pill.qiq-pulse--green{ animation: qiqPulseBorder 3.2s ease-in-out infinite; }
.qiq-pulse-pill.qiq-pulse--yellow{ animation: qiqPulseBorder 2.3s ease-in-out infinite; }
.qiq-pulse-pill.qiq-pulse--red{ animation: qiqPulseBorder 1.6s ease-in-out infinite; }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .qiq-pulse--green,
  .qiq-pulse--yellow,
  .qiq-pulse--red{
    animation: none !important;
  }

  .pro-hero-card[data-gauge-card] .hero-gauge-caption,
  .pro-hero-card[data-gauge-card] .hero-mini,
  .pro-hero-card[data-gauge-card] .hero-trend,
  .pro-hero-card[data-gauge-card] .hero-built-from {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* =========================================================
   QIQ UNIFIED CARD SYSTEM (PRO UI)
   ========================================================= */
:root {
  --qiq-card-bg: #ffffff;
  --qiq-card-border: #e6e9ee;
  --qiq-card-radius: 16px;
  --qiq-card-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 4px 12px rgba(16, 24, 40, 0.04);
  --qiq-card-shadow-hover: 0 4px 16px rgba(16, 24, 40, 0.08);
  --qiq-card-padding: 22px;
  --qiq-card-text-muted: #667085;
  --qiq-card-text-metric: #344054;
}

body.page--pro,
body.page--pro .app-shell,
body.page--pro .app-main {
  background: #f9fafb !important;
}

body.page--pro .dashboard-card,
body.page--pro .qiq-card,
body.page--pro .qiq-tile,
body.page--pro .snapshot-card,
body.page--pro .snapshot-question,
body.page--pro .hub-card,
body.page--pro .experience-card,
body.page--pro .card {
  background: var(--qiq-card-bg) !important;
  background-image: none !important;
  border: 1px solid var(--qiq-card-border) !important;
  border-radius: var(--qiq-card-radius) !important;
  box-shadow: var(--qiq-card-shadow) !important;
  padding: var(--qiq-card-padding);
  color: #101828;
}

body.page--pro .dashboard-card:hover,
body.page--pro .dashboard-card:focus-within,
body.page--pro .qiq-card:hover,
body.page--pro .qiq-card:focus-visible,
body.page--pro .qiq-tile:hover,
body.page--pro .qiq-tile:focus-within,
body.page--pro .snapshot-card:hover,
body.page--pro .snapshot-question:hover {
  box-shadow: var(--qiq-card-shadow-hover) !important;
  border-color: rgba(0, 0, 0, 0.06) !important;
  transform: translateY(-1px);
}

body.page--pro .dashboard-card h1,
body.page--pro .dashboard-card h2,
body.page--pro .dashboard-card h3,
body.page--pro .dashboard-card h4,
body.page--pro .qiq-card h1,
body.page--pro .qiq-card h2,
body.page--pro .qiq-card h3,
body.page--pro .qiq-card h4,
body.page--pro .qiq-tile h1,
body.page--pro .qiq-tile h2,
body.page--pro .qiq-tile h3,
body.page--pro .qiq-tile h4 {
  color: #101828 !important;
  font-weight: 650;
}

body.page--pro .dashboard-card p,
body.page--pro .dashboard-card li,
body.page--pro .dashboard-card .card-sub,
body.page--pro .qiq-card p,
body.page--pro .qiq-card li,
body.page--pro .qiq-card .card-sub,
body.page--pro .qiq-tile p,
body.page--pro .qiq-tile li,
body.page--pro .qiq-tile .card-sub {
  color: var(--qiq-card-text-muted) !important;
}

body.page--pro .dashboard-card .metric strong,
body.page--pro .dashboard-card .snapshot-score,
body.page--pro .dashboard-card .status-number,
body.page--pro .qiq-card .metric strong,
body.page--pro .qiq-tile .metric strong {
  color: var(--qiq-card-text-metric) !important;
}

/* Keep teal as accent only */
body.page--pro .dashboard-card::before,
body.page--pro .qiq-card::before,
body.page--pro .qiq-tile::before {
  background: linear-gradient(180deg, rgba(20, 184, 166, 0.35), rgba(20, 184, 166, 0)) !important;
}

/* Neutral status badge baseline */
body.page--pro .pill,
body.page--pro .pill--tag {
  background: #f2f4f7 !important;
  color: #344054 !important;
  border: 1px solid #e4e7ec !important;
  border-radius: 999px !important;
}

/* =========================================================
   /pro Last-20% Polish Overrides
   ========================================================= */
.pro-dashboard{
  --card-radius: 18px;
  --card-border: rgba(15,23,42,0.08);
  --card-shadow-soft: 0 14px 32px rgba(15,23,42,0.08);
  --text-muted: rgba(15,23,42,0.52);
  --section-gap: 24px;
}

.pro-dashboard .dashboard-section,
.pro-dashboard .dashboard-tiles,
.pro-dashboard .pro-hero,
.pro-dashboard .departments-section{
  margin-top: var(--section-gap);
}

.pro-dashboard .dashboard-card,
.pro-dashboard .dash-tile,
.pro-dashboard .pro-hero-card,
.pro-dashboard .pro-insight,
.pro-dashboard .dept-metric{
  border-radius: var(--card-radius);
  border-color: var(--card-border);
}

.store-state-label{
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(15,23,42,0.48);
  margin: 2px 0 8px;
}

.store-state-shell{
  background: rgba(255,255,255,0.64);
  border: 1px solid var(--card-border);
  border-radius: calc(var(--card-radius) + 2px);
  padding: 10px;
}

.store-state .pro-hero-card{
  overflow: visible;
}

.pro-hero-title{ gap: 4px; }
.pro-hero-kicker{
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.03em;
  text-transform: none;
  color: rgba(15,23,42,0.84);
}
.pro-hero-name{
  font-size: 13px;
  line-height: 1.3;
  color: rgba(15,23,42,0.50);
}

.pro-insight{
  background: rgba(15,23,42,0.05);
  border: 1px solid rgba(15,23,42,0.10);
  box-shadow: var(--card-shadow-soft);
  padding: 14px 16px;
  margin-top: 14px;
}

.pro-insight-badge{
  background: rgba(255,255,255,0.95);
  color: rgba(15,23,42,0.64);
}

.pro-insight-text{
  font-size: 16px;
  font-weight: 760;
  color: rgba(15,23,42,0.84);
}

.pro-hero-card[data-hero-card-link] {
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.pro-hero-card[data-hero-card-link]:hover,
.pro-hero-card[data-hero-card-link]:focus-within {
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(15,23,42,0.12);
  border-color: rgba(15,23,42,0.14);
}

.pro-hero-card[data-gauge-card] .hero-gauge-caption,
.pro-hero-card[data-gauge-card] .hero-mini,
.pro-hero-card[data-gauge-card] .hero-trend,
.pro-hero-card[data-gauge-card] .hero-built-from {
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 420ms ease, transform 420ms ease;
}

.pro-hero-card[data-gauge-card] .hero-gauge-caption.is-visible,
.pro-hero-card[data-gauge-card] .hero-mini.is-visible,
.pro-hero-card[data-gauge-card] .hero-trend.is-visible,
.pro-hero-card[data-gauge-card] .hero-built-from.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.hero-mini-item--link {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

.hero-mini-item--link:hover,
.hero-mini-item--link:focus-visible {
  border-color: rgba(15,23,42,0.18);
  box-shadow: 0 10px 18px rgba(15,23,42,0.10);
  transform: translateY(-1px);
}

.gauge-score{
  border: 1px solid rgba(15,23,42,0.14);
  box-shadow:
    0 10px 20px rgba(15,23,42,0.08),
    inset 0 1px 0 rgba(255,255,255,0.65);
}

.hero-gauge-svg .gauge-track,
.hero-gauge-svg path[stroke*="148,163,184"]{
  stroke: rgba(148,163,184,0.20);
}

.hero-gauge-caption{
  min-height: 34px;
  align-items: center;
}

.gauge-trend{
  position: absolute;
  right: 22px;
  bottom: 12px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.05em;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(148,163,184,0.25);
  background: rgba(255,255,255,0.90);
  color: rgba(15,23,42,0.62);
}
.gauge-trend--up{ border-color: rgba(34,197,94,0.28); background: rgba(34,197,94,0.10); }
.gauge-trend--down{ border-color: rgba(239,68,68,0.28); background: rgba(239,68,68,0.10); }
.gauge-trend--flat{ border-color: rgba(148,163,184,0.28); background: rgba(148,163,184,0.10); }

.section-head--compact{ margin-bottom: 10px; }

.dashboard-leadership-grid{
  align-items: stretch;
}

.dashboard-department-grid{
  align-items: stretch;
}

.dashboard-leader-card{
  display:grid;
  gap:12px;
  padding:18px;
  border-radius:22px;
  border:1px solid rgba(15,23,42,0.08);
  background:linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(248,250,252,0.98) 100%);
  box-shadow:0 18px 42px rgba(15,23,42,0.08);
  cursor:pointer;
  transition:transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.dashboard-leader-card:hover,
.dashboard-leader-card:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 24px 52px rgba(15,23,42,0.11);
  border-color:rgba(15,23,42,0.14);
  outline:none;
}

.dashboard-leader-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.dashboard-leader-head h3{
  margin:0;
  font-size:28px;
  line-height:1.02;
  letter-spacing:-0.03em;
  color:rgba(15,23,42,0.92);
}

.dashboard-leader-head .pulse-dot,
.dashboard-dept-head .pulse-dot{
  width:14px;
  height:14px;
  flex:0 0 auto;
  box-shadow:0 0 0 5px color-mix(in srgb, var(--c) 14%, rgba(255,255,255,0.92));
}

.dashboard-leader-head .pulse-dot::after,
.dashboard-dept-head .pulse-dot::after{
  inset:-10px;
  border-width:3px;
  opacity:0.85;
}

.dashboard-leader-dept{
  margin:0;
  font-size:15px;
}

.dashboard-leader-status{
  margin:0;
  font-size:18px;
  font-weight:800;
  line-height:1.3;
  color:rgba(15,23,42,0.82);
}

.dashboard-leader-metrics{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
}

.dashboard-leader-metrics span{
  display:grid;
  gap:2px;
  min-height:52px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,0.07);
  background:rgba(255,255,255,0.78);
  font-size:13px;
  font-weight:850;
  color:rgba(15,23,42,0.7);
}

.dashboard-leader-footer{
  padding-top:10px;
  border-top:1px solid rgba(15,23,42,0.07);
}

.dashboard-leader-link{
  font-size:14px;
  font-weight:850;
  color:#0f172a;
}

.dashboard-dept-card{
  border-radius:22px;
  border:1px solid rgba(15,23,42,0.08);
  background:linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(248,250,252,0.98) 100%);
  box-shadow:0 18px 42px rgba(15,23,42,0.08);
}

.dashboard-dept-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.dashboard-leader-head .pulse-dot--emphasis,
.dashboard-dept-head .pulse-dot--emphasis,
.dept-title .pulse-dot--emphasis{
  width:16px;
  height:16px;
  flex:0 0 auto;
}

.dept-title .pulse-dot{
  margin-right:12px;
  vertical-align:middle;
}

.dashboard-dept-eyebrow{
  font-size:11px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(15,23,42,0.44);
}

@media (max-width: 980px){
  .dashboard-leader-metrics{
    grid-template-columns:1fr;
  }
  .dashboard-leader-head h3{
    font-size:24px;
  }
}
.section-head--compact h2{
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin: 0;
}

.focus-dept-chip{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: rgba(15,23,42,0.78);
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(15,23,42,0.10);
  border-radius: 999px;
  padding: 6px 10px;
  box-shadow: 0 8px 16px rgba(15,23,42,0.06);
}

.focus-dept-chip:hover{ transform: translateY(-1px); }

.dash-tile[data-tile-id="priority"] .dash-tile-insight{ -webkit-line-clamp: 1; }
.dash-tile[data-tile-id="priority"] .dash-tile-detail{ -webkit-line-clamp: 1; margin-top: 4px; }

.dept-card{
  display: flex;
  flex-direction: column;
  padding: 18px;
  box-shadow: var(--card-shadow-soft);
}

.pro-dashboard .dept-summary-row{
  display: flex;
  justify-content:space-between;
  gap: 12px;
  margin-top: 16px;
  align-items: center;
  padding-top: 14px;
  border-top: 1px solid rgba(15,23,42,0.07);
}

.dept-signals{ gap: 10px; }
.sig{ width: 12px; height: 12px; }
.sig-num{ font-size: 13px; }

.dept-signalbar{
  margin-top: 8px;
  height: 8px;
  display: flex;
  overflow: hidden;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,0.08);
  background: rgba(148,163,184,0.16);
}
.dept-signalbar-seg{ height: 100%; display: block; }
.dept-signalbar-seg--g{ background: rgba(34,197,94,0.82); }
.dept-signalbar-seg--y{ background: rgba(245,158,11,0.82); }
.dept-signalbar-seg--r{ background: rgba(239,68,68,0.82); }

.dept-open{
  margin-top:0;
  width:auto;
  min-height:auto;
  padding:0;
  border:none;
  border-radius:0;
  background:none;
  box-shadow:none;
  font-size:14px;
  font-weight:800;
  color:#0f172a;
}

.pro-dashboard .dept-toggle{
  appearance: none;
  border: none;
  background: none;
  color: rgba(15,23,42,0.72);
  border-radius: 0;
  min-height: auto;
  padding: 0;
  font-weight: 800;
  font-size: 14px !important;
  line-height: 1.2;
  letter-spacing: 0;
  box-shadow: none;
  transition: color 160ms ease, transform 160ms ease;
}

.pro-dashboard .dept-toggle:hover,
.pro-dashboard .dept-toggle:focus-visible{
  color: rgba(15,23,42,0.92);
  transform: translateY(-1px);
  outline: none;
}

.pro-dashboard .dept-toggle[aria-expanded="true"]{
  color: #0f172a;
}

.pro-hero-kicker-row{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  column-gap: 12px;
}

.pro-hero-kicker{
  min-width: 0;
}

.pro-hero-kicker-row .measure-info{
  justify-self: end;
}

.hero-built-from{
  margin-top: 6px;
  font-size: 11px;
  color: rgba(15,23,42,0.46);
  letter-spacing: 0.02em;
}

.measure-info{
  position: relative;
}

.measure-info[open]{
  z-index: 80;
}
.measure-info > summary{
  list-style: none;
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
  color: rgba(15,23,42,0.58);
  background: rgba(255,255,255,0.88);
  border: 1px solid rgba(15,23,42,0.10);
  border-radius: 999px;
  padding: 4px 8px;
  white-space: nowrap;
}
.measure-info > summary::-webkit-details-marker{ display: none; }

.measure-panel{
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  width: min(360px, 82vw);
  background: rgba(255,255,255,0.98);
  border: 1px solid rgba(15,23,42,0.12);
  border-radius: 14px;
  box-shadow: 0 16px 36px rgba(15,23,42,0.14);
  z-index: 35;
}

.store-state .measure-panel.metric-popover{
  top: auto;
  bottom: calc(100% + 8px);
  max-height: min(68vh, 560px);
}
.metric-popover{
  width: min(460px, calc(100vw - 32px));
  max-height: min(72vh, 640px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 20px;
  min-height: 0;
}
.metric-popover__header{
  flex: 0 0 auto;
  padding: 18px 18px 12px 18px;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  background: #fff;
}
.metric-popover__body{
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 18px;
}
.metric-popover__body::after{
  content: "";
  position: sticky;
  bottom: -18px;
  display: block;
  height: 18px;
  margin-top: -18px;
  background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,0.95));
  pointer-events: none;
}
.measure-panel h4{
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 900;
  color: rgba(15,23,42,0.85);
}
.measure-panel p{
  margin: 0 0 6px;
  font-size: 12px;
  color: rgba(15,23,42,0.72);
  line-height: 1.35;
}
.measure-panel .measure-label{
  margin-top: 8px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 10px;
  font-weight: 900;
  color: rgba(15,23,42,0.50);
}
.measure-panel ul{
  margin: 0;
  padding-left: 16px;
  display: grid;
  gap: 3px;
}
.measure-panel li{
  font-size: 12px;
  color: rgba(15,23,42,0.72);
  line-height: 1.32;
}

.dept-metric-label-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
.measure-info--inline > summary{
  width: 20px;
  height: 20px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  font-size: 12px;
}
.measure-info--inline .measure-panel{
  right: 0;
  top: auto;
  bottom: calc(100% + 6px);
  width: min(330px, 78vw);
}
.measure-panel--signals p strong{
  color: rgba(15,23,42,0.84);
}

@media (max-width: 980px){
  .pro-dashboard{ --section-gap: 20px; }
  .pro-hero-kicker-row{ align-items: flex-start; }
  .measure-panel{ right: auto; left: 0; }
  .store-state .measure-panel.metric-popover{
    top: calc(100% + 8px);
    bottom: auto;
  }
}
@media (max-width: 767px){
  .measure-panel.metric-popover{
    position: fixed;
    left: 12px !important;
    right: 12px !important;
    top: auto !important;
    bottom: 12px !important;
    width: auto;
    max-height: 78vh;
    border-radius: 20px;
  }
}

/* =========================================================
   Focused UI Polish Pass (navigation + destination tiles)
   ========================================================= */

/* top bar grouping + hierarchy */
.app-header .header-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.app-header .header-cluster {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.app-header .header-cluster--environment .status-pill,
.app-header .header-cluster--environment .pill--toggle {
  font-size: 10px;
  letter-spacing: 0.11em;
  opacity: 0.82;
}

.app-header .header-cluster--context .lens-switch select {
  min-height: 36px;
  border-radius: 999px;
  padding-inline: 14px 30px;
  font-size: 13px;
  font-weight: 650;
}

.app-header .header-cluster--context .status-pill {
  opacity: 0.9;
}

.app-header .super-admin-company-context {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.app-header .super-admin-company-context .pill {
  white-space: nowrap;
}

.app-header .company-context-pill {
  max-width: 360px;
  overflow: hidden;
  text-overflow: ellipsis;
  justify-content: flex-start;
}

.app-header .company-context-pill--demo {
  border-color: rgba(18, 183, 200, 0.35);
  background: rgba(236, 254, 255, 0.9);
  color: #0f766e;
}

.app-header .company-context-pill--live {
  border-color: rgba(34, 197, 94, 0.24);
  background: rgba(240, 253, 244, 0.9);
  color: #166534;
}

.app-header .company-context-pill--setup {
  border-color: rgba(245, 158, 11, 0.28);
  background: rgba(255, 251, 235, 0.92);
  color: #92400e;
}

/* keep nav active state crisp but minimal */
.app-nav .app-nav-link.active {
  font-weight: 760;
  letter-spacing: 0.03em;
}

/* destination hub tile hierarchy + interaction */
.destination-hub .dashboard-card {
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.destination-hub .dashboard-card:hover,
.destination-hub .dashboard-card:focus-within {
  transform: translateY(-2px);
  box-shadow: 0 20px 42px rgba(15, 23, 42, 0.12);
  background: linear-gradient(158deg, rgba(255, 255, 255, 0.98), rgba(246, 250, 255, 0.96));
}

.destination-hub .hub-tile-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.62;
  margin-bottom: 6px;
}

.destination-hub .dashboard-card h3 {
  margin-bottom: 8px;
}

.destination-hub .dashboard-card .card-sub {
  margin-bottom: 14px;
}

.destination-hub .dashboard-card .card-actions--primary .btn-secondary {
  min-height: 38px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 700;
  padding: 0 14px;
}

.destination-hub .dashboard-card .card-actions--links {
  margin-top: 2px;
  gap: 10px;
}

.destination-hub .dashboard-card .hub-secondary-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: rgba(30, 64, 175, 0.9);
  font-weight: 650;
  text-decoration: none;
  transition: color 140ms ease;
}

.destination-hub .dashboard-card .hub-secondary-link:hover,
.destination-hub .dashboard-card .hub-secondary-link:focus-visible {
  color: rgba(30, 64, 175, 1);
}

/* --- My Growth progressive disclosure polish (non-destructive) --- */
.my-growth-page .pro-page-header.my-growth-header p {
  max-width: 760px;
}

.my-growth-page .my-growth-stack {
  gap: 28px;
}

.my-growth-page .my-growth-band {
  gap: 16px;
}

.my-growth-page .mg-card-primary {
  border-color: rgba(15, 23, 42, 0.14);
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
}

.my-growth-page .mg-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.my-growth-page .mg-summary-item {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.78);
  padding: 0;
  overflow: hidden;
}

.my-growth-page .mg-summary-item > summary {
  list-style: none;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  cursor: pointer;
  padding: 11px 12px;
}

.my-growth-page .mg-summary-item > summary::-webkit-details-marker {
  display: none;
}

.my-growth-page .mg-summary-item > summary span {
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 800;
  color: rgba(15, 23, 42, 0.56);
}

.my-growth-page .mg-summary-item > summary strong {
  font-size: 13px;
  font-weight: 900;
  color: rgba(15, 23, 42, 0.78);
}

.my-growth-page .mg-summary-item p {
  margin: 0;
  padding: 0 12px 11px;
  font-size: 13px;
  line-height: 1.35;
  color: rgba(15, 23, 42, 0.68);
}

.my-growth-page .mg-accordion-list {
  margin-top: 12px;
  display: grid;
  gap: 10px;
}

.my-growth-page .mg-accordion-item {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.78);
  padding: 0;
  overflow: hidden;
}

.my-growth-page .mg-accordion-item > summary {
  list-style: none;
  cursor: pointer;
  padding: 11px 12px;
  font-weight: 800;
  font-size: 13px;
  color: rgba(15, 23, 42, 0.8);
}

.my-growth-page .mg-accordion-item > summary::-webkit-details-marker {
  display: none;
}

.my-growth-page .mg-accordion-item p {
  margin: 0;
  padding: 0 12px 11px;
  font-size: 13px;
  line-height: 1.35;
}

.my-growth-page .mg-time-grid-compact {
  margin-top: 10px;
  gap: 10px;
}

.my-growth-page .mg-time-grid-compact .my-growth-time-model-item {
  padding: 0;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.78);
}

.my-growth-page .mg-time-grid-compact .my-growth-time-model-item-title {
  margin: 0;
  list-style: none;
  cursor: pointer;
  padding: 11px 12px;
  font-size: 13px;
}

.my-growth-page .mg-time-grid-compact .my-growth-time-model-item-title::-webkit-details-marker {
  display: none;
}

.my-growth-page .mg-time-grid-compact .my-growth-body,
.my-growth-page .mg-time-grid-compact .muted.micro,
.my-growth-page .mg-time-grid-compact .my-growth-focus-area-btn {
  margin-left: 12px;
  margin-right: 12px;
}

.my-growth-page .mg-time-grid-compact .my-growth-focus-area-btn {
  margin-bottom: 12px;
}

.my-growth-page .mg-assessment-card {
  display: grid;
  gap: 8px;
  align-content: start;
}

.my-growth-page .mg-assessment-more {
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  padding-top: 6px;
}

.my-growth-page .mg-assessment-more > summary {
  list-style: none;
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
  color: rgba(15, 23, 42, 0.58);
}

.my-growth-page .mg-assessment-more > summary::-webkit-details-marker {
  display: none;
}

.my-growth-page .mg-assessment-more .card-sub {
  margin: 6px 0 0;
  font-size: 13px;
  color: rgba(15, 23, 42, 0.68);
}

.my-growth-page .mg-assessment-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.my-growth-page .mg-nested-details {
  margin-top: 12px;
}

.my-growth-page .mg-nested-details > summary {
  font-size: 13px;
  font-weight: 800;
}

@media (max-width: 980px) {
  .my-growth-page .mg-summary-grid {
    grid-template-columns: 1fr;
  }
}

/* ---- 7-day challenge card alignment fix ---- */
.challenge-grid,
.challenge-dept-grid {
  align-items: stretch;
}

.challenge-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.challenge-grid > .challenge-card,
.challenge-dept-grid > .challenge-card,
.challenge-dept-grid > .challenge-dept-card {
  height: 100%;
}

.challenge-card,
.challenge-dept-card.challenge-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 220px;
}

.challenge-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

.challenge-card-header,
.deptTileHeader.challenge-card-header {
  min-height: 28px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.challenge-dept-header-right {
  min-height: 22px;
}

.challenge-dept-badges-inline {
  min-height: 20px;
  align-items: center;
}

.challenge-streak-row {
  min-height: 20px;
}

.challenge-checkin-button,
.challenge-dept-cta .challenge-checkin-btn.challenge-checkin-button {
  margin-top: auto;
}

/* ---- 7-day challenge scoreboard + expandable details ---- */
.challenge-section-head {
  cursor: pointer;
  user-select: none;
}

.challenge-section-head h2 {
  margin: 0;
}

.challenge-section-head .challenge-details-toggle {
  margin-left: auto;
}

.challenge-scoreboard-card {
  padding: 14px 16px;
}

.challenge-scoreboard-list {
  display: grid;
  gap: 10px;
}

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

.challenge-summary-row-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
}

.challenge-summary-rank {
  font-size: 14px;
  min-width: 28px;
}

.challenge-summary-label {
  font-size: 13px;
  font-weight: 750;
  color: rgba(15, 23, 42, 0.9);
}

.challenge-summary-value {
  font-size: 12px;
  font-weight: 800;
  color: rgba(15, 23, 42, 0.78);
}

.challenge-summary-bar {
  height: 8px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.22);
  overflow: hidden;
}

.challenge-summary-fill {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(34, 197, 94, 0.88), rgba(45, 212, 191, 0.82));
}

.challenge-summary-row.is-top .challenge-summary-label {
  color: rgba(2, 132, 199, 0.96);
}

.challenge-summary-row.is-top .challenge-summary-bar {
  background: rgba(20, 184, 166, 0.24);
}

.challenge-summary-row.is-top .challenge-summary-fill {
  background: linear-gradient(90deg, rgba(2, 132, 199, 0.9), rgba(34, 197, 94, 0.9));
}

.challenge-details-wrap {
  display: grid;
  gap: 10px;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transform: translateY(-4px);
  transition: max-height 220ms ease, opacity 180ms ease, transform 220ms ease;
}

.challenge-details-wrap.is-expanded {
  max-height: 2200px;
  opacity: 1;
  transform: translateY(0);
}

.challenge-left--details {
  display: grid;
  gap: 8px;
}

/* --- My Growth disclosure refinement pass --- */
.my-growth-page .mg-direction-details > summary {
  list-style: none;
  cursor: pointer;
  padding: 8px 2px;
}

.my-growth-page .mg-direction-details > summary::-webkit-details-marker {
  display: none;
}

.my-growth-page .mg-direction-summary {
  display: grid;
  gap: 4px;
}

.my-growth-page .mg-direction-pill {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  background: rgba(15, 23, 42, 0.03);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, 0.72);
}

.my-growth-page .my-growth-details > summary {
  transition: color 140ms ease;
}

.my-growth-page .my-growth-details > summary:hover {
  color: rgba(15, 23, 42, 0.92);
}

.my-growth-page .my-growth-details[open] > summary {
  margin-bottom: 8px;
}

.my-growth-page .mg-time-model-details {
  margin-top: 10px;
}

.my-growth-page .mg-time-model-details > summary {
  font-size: 13px;
  font-weight: 800;
}

/* Snapshot coaching: force-hide legacy keyword search UI */
.snapshots-page #snapshotSearch,
.snapshots-page label[for="snapshotSearch"],
.snapshots-page input[type="search"][name="q"] {
  display: none !important;
}

/* Leadership overdue interactive chip + drawer */
.hero-mini-item--button {
  appearance: none;
  -webkit-appearance: none;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.hero-mini-item--interactive:hover,
.hero-mini-item--interactive:focus-visible {
  border-color: rgba(15,23,42,0.22);
  box-shadow: 0 14px 24px rgba(15,23,42,0.10);
  transform: translateY(-1px);
}

.hero-mini-item--disabled {
  cursor: default;
  opacity: 0.72;
}

.leadership-overdue-drawer {
  position: fixed;
  inset: 0;
  z-index: 2100;
  display: grid;
  grid-template-columns: 1fr min(560px, 92vw);
}

.leadership-overdue-drawer[hidden] {
  display: none !important;
}

.leadership-overdue-backdrop {
  background: rgba(2, 6, 23, 0.36);
}

.leadership-overdue-panel {
  background: rgba(255,255,255,0.98);
  border-left: 1px solid rgba(15,23,42,0.12);
  box-shadow: -20px 0 45px rgba(15,23,42,0.16);
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.leadership-overdue-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(15,23,42,0.08);
}

.leadership-overdue-head h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 850;
}

.leadership-overdue-body {
  padding: 14px 18px 20px;
  overflow-y: auto;
  min-height: 0;
}

.leadership-overdue-count {
  margin-bottom: 4px;
  font-weight: 700;
}

.leadership-overdue-subline {
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 10px;
}

.leadership-overdue-list {
  display: grid;
  gap: 10px;
}

.leadership-overdue-item {
  border: 1px solid rgba(15,23,42,0.08);
  border-radius: 12px;
  padding: 12px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  text-decoration: none;
  color: inherit;
  background: rgba(255,255,255,0.98);
}

button.leadership-overdue-item {
  width: 100%;
  text-align: left;
  appearance: none;
  -webkit-appearance: none;
}

.leadership-overdue-item--actionable {
  cursor: pointer;
  transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.leadership-overdue-item--actionable:hover,
.leadership-overdue-item--actionable:focus-visible {
  border-color: rgba(15,23,42,0.22);
  box-shadow: 0 12px 24px rgba(15,23,42,0.10);
  transform: translateY(-1px);
}

.leadership-overdue-item.is-pending {
  border-color: rgba(15,23,42,0.28);
}

.leadership-overdue-item-main {
  min-width: 0;
}

.leadership-overdue-loading,
.leadership-overdue-error {
  display: grid;
  justify-items: center;
  gap: 10px;
  text-align: center;
}

.overdue-spinner {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 2px solid rgba(15,23,42,0.14);
  border-top-color: rgba(15,23,42,0.55);
  animation: overdueSpin 0.9s linear infinite;
}

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

.leadership-overdue-item h4 {
  margin: 0 0 7px;
  font-size: 15px;
  font-weight: 850;
  color: rgba(15,23,42,0.84);
}

.leadership-overdue-meta {
  display: grid;
  gap: 3px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(15,23,42,0.64);
}

.leadership-overdue-age {
  font-weight: 760;
}

.leadership-overdue-age.severity-warning {
  color: #a16207;
}

.leadership-overdue-age.severity-strong-warning {
  color: #b45309;
}

.leadership-overdue-age.severity-critical {
  color: #b91c1c;
}

.leadership-overdue-context {
  margin: 7px 0 0;
  font-size: 12px;
  font-weight: 520;
}

.leadership-overdue-support {
  margin: 4px 0 0;
  font-size: 11px;
  font-weight: 560;
}

.leadership-overdue-chevron {
  font-size: 20px;
  line-height: 1;
  color: rgba(15,23,42,0.36);
  margin-top: 2px;
}

@media (max-width: 900px) {
  .leadership-overdue-drawer {
    grid-template-columns: 1fr;
  }

  .leadership-overdue-panel {
    border-left: 0;
    border-top: 1px solid rgba(15,23,42,0.10);
    margin-top: auto;
    max-height: 78vh;
  }
}

/* Operational Signals intake */
.signals-intake-page {
  margin: 0;
  min-height: 100vh;
  background: radial-gradient(1200px 500px at 8% 0%, rgba(14, 165, 233, 0.10), rgba(255, 255, 255, 0) 65%),
              linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
  color: rgba(15, 23, 42, 0.88);
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}

.signals-intake-shell {
  max-width: 760px;
  margin: 0 auto;
  padding: 28px 16px 40px;
}

.signals-intake-card {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 18px;
  box-shadow: 0 24px 56px rgba(15, 23, 42, 0.10);
  padding: 18px;
  display: grid;
  gap: 14px;
}

.signals-intake-head h1 {
  margin: 4px 0;
  font-size: clamp(24px, 4vw, 32px);
  line-height: 1.1;
}

.signals-intake-head p {
  margin: 0;
  color: rgba(15, 23, 42, 0.64);
  font-size: 14px;
}

.signals-intake-kicker {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, 0.46);
}

.signals-intake-alert {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 700;
}

.signals-intake-alert--success {
  color: #166534;
  background: rgba(34, 197, 94, 0.10);
  border-color: rgba(34, 197, 94, 0.24);
}

.signals-intake-alert--error {
  color: #991b1b;
  background: rgba(239, 68, 68, 0.10);
  border-color: rgba(239, 68, 68, 0.24);
}

.signals-intake-form {
  display: grid;
  gap: 12px;
}

.signals-intake-form label > span,
.signals-direction > legend {
  display: block;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, 0.56);
  margin-bottom: 6px;
}

.signals-intake-form input[type="text"],
.signals-intake-form select,
.signals-intake-form textarea {
  width: 100%;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 14px;
  color: rgba(15, 23, 42, 0.86);
  background: #fff;
}

.signals-intake-form textarea {
  resize: vertical;
  min-height: 90px;
}

.signals-direction {
  border: 0;
  margin: 0;
  padding: 0;
}

.signals-direction-option {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-right: 14px;
  margin-bottom: 6px;
  padding: 8px 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  font-weight: 700;
  color: rgba(15, 23, 42, 0.78);
}

.signals-intake-footnote {
  margin: -2px 0 0;
  color: rgba(15, 23, 42, 0.52);
  font-size: 12px;
  font-weight: 700;
}

/* =========================================================
   Unified Card Surface Override (final precedence)
   Keeps tile/card appearance consistent across QiQ.
   ========================================================= */
body {
  background: #F9FAFB !important;
  background-image: none !important;
}

.dashboard-card,
.qiq-tile,
.hub-card,
.experience-card,
.card {
  background: #FFFFFF !important;
  background-image: none !important;
  border: 1px solid #E6E9EE !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 4px 12px rgba(16, 24, 40, 0.04) !important;
}

.dashboard-card:hover,
.qiq-tile:hover,
.hub-card:hover,
.experience-card:hover,
.card:hover,
.dashboard-card:focus-within,
.qiq-tile:focus-within,
.hub-card:focus-within,
.experience-card:focus-within,
.card:focus-within {
  box-shadow: 0 4px 16px rgba(16, 24, 40, 0.08) !important;
}

.status-pill,
.pill,
.badge,
.chip {
  border-radius: 999px;
}

.destination-summary-strip .card-grid {
  gap: 14px;
}

.destination-summary-card {
  padding: 16px 18px;
}

.destination-summary-card h3 {
  margin-top: 4px;
  margin-bottom: 6px;
}

.compliance-watch-card {
  display: grid;
  gap: 12px;
}

.compliance-watch-metrics {
  gap: 12px;
}

.compliance-watch-metric h3 {
  margin: 2px 0 0;
}

.compliance-watch-themes {
  margin: 0;
}

.pro-dashboard .pro-hero-top {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1360px) {
  .pro-dashboard .pro-hero-top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .pro-dashboard .pro-hero-top {
    grid-template-columns: 1fr;
  }
}

/* Compliance Quiz Center */
.compliance-quiz-center .compliance-quiz-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.compliance-quiz-center.page-frame {
  max-width: 1300px;
}

.compliance-quiz-center .page-header {
  margin-bottom: 10px;
}

.compliance-quiz-summary {
  margin-top: 4px;
  margin-bottom: 6px;
}

.compliance-quiz-summary-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.8);
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05);
  padding: 8px 12px;
}

.compliance-quiz-summary-strip .summary-item {
  white-space: nowrap;
  font-size: 0.85rem;
  line-height: 1.2;
}

.compliance-quiz-summary-strip .summary-label {
  font-size: 0.78rem;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 600;
}

.compliance-quiz-summary-strip strong {
  font-size: 1rem;
  font-weight: 800;
  color: #0f172a;
}

.compliance-quiz-summary-strip .summary-sep {
  color: rgba(100, 116, 139, 0.5);
  font-weight: 600;
}

.compliance-quiz-modules {
  margin-top: 0;
}

.quiz-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

.quiz-filter-chip {
  border: 1px solid rgba(148, 163, 184, 0.3);
  border-radius: 999px;
  padding: 7px 12px;
  text-decoration: none;
  color: inherit;
  font-size: 0.8rem;
  font-weight: 600;
  background: rgba(15, 23, 42, 0.05);
}

.quiz-filter-chip.is-active {
  background: rgba(15, 23, 42, 0.12);
  border-color: rgba(15, 23, 42, 0.32);
}

.compliance-quiz-card {
  padding: 14px 14px 12px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 2px 12px rgba(15, 23, 42, 0.07);
  display: grid;
  grid-template-rows: auto auto auto auto 1fr auto auto;
  gap: 8px;
}

.compliance-quiz-comprehensive-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 12px;
}

.compliance-quiz-card--comprehensive {
  grid-column: span 3;
}

.compliance-quiz-card--comprehensive .card-head h3 {
  font-size: 1.18rem;
}

.compliance-quiz-card .card-head {
  margin-bottom: 0;
  align-items: flex-start;
}

.compliance-quiz-card .card-head h3 {
  margin: 0;
  line-height: 1.25;
}

.compliance-quiz-card .card-sub {
  margin: 0;
}

.compliance-quiz-card .muted {
  margin: 0;
}

.quiz-meta-grid {
  margin-top: 4px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px 10px;
}

.quiz-metric-line {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.quiz-meta-grid strong {
  font-size: 0.9rem;
  color: #0f172a;
}

.quiz-metric-line .micro {
  font-size: 0.72rem;
  letter-spacing: 0;
  text-transform: none;
}

.quiz-status-chip {
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1px solid transparent;
}

.quiz-status-chip.status-passed,
.quiz-status-chip.status-passed {
  background: rgba(34, 197, 94, 0.12);
  border-color: rgba(34, 197, 94, 0.28);
  color: #166534;
}

.quiz-status-chip.status-in-progress {
  background: rgba(59, 130, 246, 0.12);
  border-color: rgba(59, 130, 246, 0.28);
  color: #1d4ed8;
}

.quiz-status-chip.status-needs-review,
.quiz-status-chip.status-needs-review {
  background: rgba(217, 119, 6, 0.14);
  border-color: rgba(217, 119, 6, 0.3);
  color: #92400e;
}

.quiz-status-chip.status-not-started {
  background: rgba(148, 163, 184, 0.14);
  border-color: rgba(148, 163, 184, 0.3);
  color: #334155;
}

.quiz-status-chip.status-completed {
  background: rgba(71, 85, 105, 0.12);
  border-color: rgba(71, 85, 105, 0.24);
  color: #334155;
}

@media (max-width: 1080px) {
  .compliance-quiz-center .compliance-quiz-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .compliance-quiz-comprehensive-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .compliance-quiz-card--comprehensive {
    grid-column: span 2;
  }
}

@media (max-width: 720px) {
  .compliance-quiz-center .compliance-quiz-grid {
    grid-template-columns: 1fr;
  }

  .compliance-quiz-comprehensive-row {
    grid-template-columns: 1fr;
  }

  .compliance-quiz-card--comprehensive {
    grid-column: span 1;
  }

  .compliance-quiz-summary-strip .summary-sep {
    display: none;
  }
}

.quiz-attempt-card {
  max-width: 860px;
}

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

.quiz-progress-label {
  font-size: 0.82rem;
  color: rgba(71, 85, 105, 0.9);
  font-weight: 600;
}

.quiz-progress-track {
  margin-top: 14px;
  width: 100%;
  height: 10px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(148, 163, 184, 0.2);
}

.quiz-progress-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #0ea5e9 0%, #22c55e 100%);
}

.quiz-question-prompt {
  margin: 16px 0 14px;
  font-size: 1.12rem;
}

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

.quiz-option {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  border: 1px solid rgba(148, 163, 184, 0.3);
  border-radius: 12px;
  padding: 10px 12px;
}

.quiz-nav-row {
  margin-top: 16px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.quiz-error {
  margin-top: 12px;
  color: #b91c1c;
  font-weight: 600;
}

.quiz-results-card {
  max-width: 760px;
}

@media (max-width: 900px) {
  .quiz-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .quiz-attempt-head {
    flex-direction: column;
  }
}

/* /pro + /pro/team tile size final overrides */
.pro-dashboard .dashboard-tiles .dash-tile {
  min-height: 232px;
}

.pro-dashboard .dashboard-tiles .qiq-half-gauge {
  width: 214px;
  height: 122px;
}

.pro-dashboard .dashboard-tiles .qiq-half-gauge-needle {
  height: 78px;
  bottom: 20px;
}

.pro-dashboard .dashboard-tiles .qiq-half-gauge-hub {
  width: 20px;
  height: 20px;
  bottom: 15px;
}

.pro-dashboard .dashboard-tiles .qiq-half-gauge-num {
  font-size: 20px;
  padding: 5px 15px;
  bottom: -1px;
}

.pro-team .team-dashboard-tiles .dash-tile {
  min-height: 520px;
}

.pro-team .team-dashboard-tiles .team-state-note {
  font-size: 15px;
}

@media (max-width: 980px) {
  .pro-dashboard .dashboard-tiles .dash-tile {
    min-height: 214px;
  }
  .pro-dashboard .dashboard-tiles .qiq-half-gauge {
    width: 192px;
    height: 112px;
  }
  .pro-dashboard .dashboard-tiles .qiq-half-gauge-num {
    font-size: 18px;
  }
}

/* Global type uplift */
html {
  font-size: 17px;
  zoom: 1;
}

body,
button,
input,
select,
textarea {
  font-size: 17px !important;
}

h1 {
  font-size: clamp(2rem, 3vw, 3rem) !important;
}

h2 {
  font-size: clamp(1.28rem, 1.9vw, 1.9rem) !important;
}

h3 {
  font-size: 1.08rem !important;
}

p,
li,
label,
td,
th,
.muted,
.sub,
.meta,
.field-label,
.qdos-featured-copy span,
.qdos-library-copy span,
.qdos-gallery-copy span,
.qdos-recent-note,
.qdos-recent-sub,
.dashboard-card p,
.dashboard-card li,
.dash-tile p,
.dash-tile li {
  font-size: 0.94rem !important;
  line-height: 1.45;
}

.pill,
.btn-ghost,
.btn-ghost--sm,
.btn-primary,
.btn-secondary,
.app-nav a,
.topnav a,
.nav a,
.qdos-ticker-link span:last-child,
.qdos-step-kicker,
.qdos-step-required,
.qdos-step-optional,
.qdos-section-head span,
.qdos-recent-date,
.qdos-chip-label,
.qdos-cluster-count,
.team-state-note {
  font-size: 0.86rem !important;
}

.qdos-featured-copy strong,
.qdos-library-copy strong,
.qdos-gallery-copy strong,
.qdos-recipient-name,
.dash-tile h3,
.dashboard-card h3 {
  font-size: 1.02rem !important;
}

/* Pro dashboard specific type balance */
.page--pro.pro-dashboard {
  zoom: 1 !important;
}

.page--pro.pro-dashboard .dash-tile h3,
.page--pro.pro-dashboard .dashboard-card h3,
.page--pro.pro-dashboard .dash-tile-title h3,
.page--pro.pro-dashboard .dash-tile-title-text h3 {
  font-size: 1.35rem !important;
  line-height: 1.15;
}

.page--pro.pro-dashboard .dash-tile-meta,
.page--pro.pro-dashboard .pulse-label,
.page--pro.pro-dashboard .status-chip,
.page--pro.pro-dashboard .status-key,
.page--pro.pro-dashboard .micro,
.page--pro.pro-dashboard summary,
.page--pro.pro-dashboard .team-state-note {
  font-size: 0.92rem !important;
}

.page--pro.pro-dashboard .dash-tile-insight {
  font-size: 1.28rem !important;
  line-height: 1.35;
}

.page--pro.pro-dashboard .dash-tile-detail,
.page--pro.pro-dashboard .dash-tile p,
.page--pro.pro-dashboard .dash-tile li,
.page--pro.pro-dashboard .dashboard-card p,
.page--pro.pro-dashboard .dashboard-card li {
  font-size: 1.02rem !important;
  line-height: 1.4;
}

.page--pro.pro-dashboard .qiq-half-gauge-num {
  font-size: 1.12rem !important;
  padding: 5px 14px !important;
}

.page--pro.pro-dashboard .dash-tile-toggle,
.page--pro.pro-dashboard .btn-primary,
.page--pro.pro-dashboard .btn-secondary,
.page--pro.pro-dashboard .btn-ghost,
.page--pro.pro-dashboard .btn-ghost--sm {
  font-size: 1rem !important;
}

/* Shared person card foundation */
.person-action-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.person-action-title {
  display: grid;
  gap: 4px;
}

.person-action-kicker,
.person-team-kicker {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #64748b;
  font-weight: 700;
}

.person-action-shell {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  padding: 16px;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.96), rgba(255, 255, 255, 0.98));
  display: grid;
  gap: 14px;
}

.person-action-shell .action-preview {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 14px;
  padding: 14px;
}

.person-action-shell .action-preview-group + .action-preview-group {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.person-action-shell .action-preview-group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}

.person-action-shell .action-preview-group-head strong {
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #334155;
}

.person-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.person-metric {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 14px;
  background: #fff;
  padding: 12px 14px;
  display: grid;
  gap: 6px;
}

.person-metric-label {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
  font-weight: 700;
}

.person-metric strong {
  font-size: 1.5rem;
  line-height: 1;
  color: #0f172a;
}

.person-team-shell {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  padding: 16px;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.96), rgba(255, 255, 255, 0.98));
  display: grid;
  gap: 14px;
}

.person-team-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.qiq-person-card {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;
  background: #fff;
  padding: 14px;
  display: grid;
  gap: 12px;
  color: inherit;
}

.qiq-person-card[data-href] {
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.qiq-person-card[data-href]:hover {
  border-color: rgba(24, 182, 200, 0.24);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
}

.qiq-person-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.qiq-person-card__identity {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 10px;
}

.qiq-person-card__identity h4,
.qiq-person-card__identity p {
  margin: 0;
}

.qiq-person-card__identity h4 {
  color: #0f172a;
  font-size: 1rem;
  line-height: 1.25;
}

.qiq-person-card__avatar {
  flex: 0 0 auto;
}

.qiq-person-card__action {
  flex: 0 0 auto;
}

.qiq-person-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.qiq-person-card__chips span {
  display: inline-flex;
  align-items: center;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.04);
  color: #5f6c80;
  font-size: 0.88rem;
}

.qiq-person-card__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.qiq-person-card__metric {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 14px;
  padding: 12px;
  background: rgba(248, 250, 252, 0.92);
  display: grid;
  gap: 6px;
}

.qiq-person-card__metric span {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
  font-weight: 700;
}

.qiq-person-card__metric strong {
  font-size: 1.35rem;
  line-height: 1;
  color: #0f172a;
}

html[data-theme="dark"] .qiq-person-card,
body.dark .qiq-person-card,
body.dark-mode .qiq-person-card {
  background: rgba(15, 23, 42, 0.9);
  border-color: rgba(148, 163, 184, 0.22);
}

html[data-theme="dark"] .qiq-person-card__identity h4,
body.dark .qiq-person-card__identity h4,
body.dark-mode .qiq-person-card__identity h4,
html[data-theme="dark"] .qiq-person-card__metric strong,
body.dark .qiq-person-card__metric strong,
body.dark-mode .qiq-person-card__metric strong {
  color: #f8fafc;
}

html[data-theme="dark"] .qiq-person-card__metric,
body.dark .qiq-person-card__metric,
body.dark-mode .qiq-person-card__metric,
html[data-theme="dark"] .qiq-person-card__chips span,
body.dark .qiq-person-card__chips span,
body.dark-mode .qiq-person-card__chips span {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(148, 163, 184, 0.18);
}

@media (max-width: 640px) {
  .qiq-person-card__head {
    flex-direction: column;
  }

  .person-metrics,
  .person-team-grid,
  .qiq-person-card__metrics {
    grid-template-columns: 1fr;
  }
}

.scenario-lab-roleplayLaunch {
  margin-top: 1.25rem;
  padding: 1rem 1.1rem;
  border-radius: 20px;
  border: 1px solid rgba(19, 197, 214, 0.18);
  background: linear-gradient(135deg, rgba(19, 197, 214, 0.08), rgba(89, 184, 232, 0.06));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.scenario-lab-roleplayLaunch strong,
.scenario-lab-roleplayHeader strong,
.scenario-lab-roleplayMessage span,
.scenario-lab-roleplayCoachline strong {
  color: var(--scenario-lab-text);
}

.scenario-lab-roleplayLaunch p,
.scenario-lab-roleplayHeader p,
.scenario-lab-roleplayMessage p,
.scenario-lab-roleplayComposerFoot span,
.scenario-lab-roleplayCoachline span {
  color: var(--scenario-lab-muted);
}

.scenario-lab-roleplayPanel {
  margin-top: 1rem;
  border-radius: 24px;
  border: 1px solid rgba(19, 197, 214, 0.18);
  background: rgba(255, 255, 255, 0.82);
  padding: 1rem;
  display: grid;
  gap: 1rem;
}

.scenario-lab-roleplayHeader,
.scenario-lab-roleplayComposerActions,
.scenario-lab-roleplayComposerFoot,
.scenario-lab-roleplayHeaderActions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
}

.scenario-lab-roleplayCoachline {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}

.scenario-lab-roleplayCoachline > div {
  padding: 0.9rem 1rem;
  border-radius: 18px;
  background: rgba(15, 23, 42, 0.04);
  display: grid;
  gap: 0.3rem;
}

.scenario-lab-roleplayHistory {
  display: grid;
  gap: 0.75rem;
  max-height: 420px;
  overflow-y: auto;
  padding-right: 0.2rem;
}

.scenario-lab-roleplayMessage {
  border-radius: 18px;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: #fff;
}

.scenario-lab-roleplayMessage--customer {
  background: rgba(19, 197, 214, 0.08);
}

.scenario-lab-roleplayMessage--coach {
  background: rgba(15, 23, 42, 0.06);
}

.scenario-lab-roleplayMessage--rep {
  background: rgba(89, 184, 232, 0.08);
}

.scenario-lab-roleplayMessage span {
  display: block;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.35rem;
}

.scenario-lab-roleplayMessage p {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.55;
}

.scenario-lab-roleplayComposer textarea {
  width: 100%;
  border-radius: 18px;
  border: 1px solid rgba(15, 23, 42, 0.14);
  background: #fff;
  padding: 0.95rem 1rem;
  font: inherit;
  color: var(--scenario-lab-text);
  resize: vertical;
  min-height: 108px;
}

@media (max-width: 900px) {
  .scenario-lab-roleplayLaunch,
  .scenario-lab-roleplayHeader,
  .scenario-lab-roleplayComposerActions,
  .scenario-lab-roleplayComposerFoot,
  .scenario-lab-roleplayHeaderActions {
    flex-direction: column;
    align-items: stretch;
  }

  .scenario-lab-roleplayCoachline {
    grid-template-columns: 1fr;
  }
}

/* Global shell: one quiet utility cluster
   ------------------------------------------------------------------
   The header used to lay out six different species of control -- product
   navigation, rooftop context, role preview, demo tooling, admin state and
   account -- as peer pills on one row, then force-fit them with a grid whose
   columns were sized around the widest admin case. There are now three things
   on the right: where you are, the grouped context menus, and your account.
   Sizing them needs neither a fixed grid nor !important. */
.app-header .app-header-inner.app-header-row.app-header-full {
  /* !important throughout: this file already carries several generations of
     !important header layout above, and a plain declaration here loses to all
     of them regardless of specificity. */
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 18px 28px 14px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  column-gap: 24px !important;
  row-gap: 12px !important;
}

.app-header .app-header-inner.app-header-row.app-header-full .brand {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: 760px !important;
  align-self: center !important;
}

.app-header .app-header-inner.app-header-row.app-header-full .header-actions {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  display: flex !important;
  align-items: center !important;
  align-self: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

/* Where you are: group -> rooftop, stated once and quietly. */
.app-header .header-scope {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  max-width: min(460px, 46vw);
  padding: 5px 12px 5px 4px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 700;
  color: rgba(15, 23, 42, 0.62);
}

.app-header .header-scope__group,
.app-header .header-scope__rooftop {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-header .header-scope__group {
  color: inherit;
  text-decoration: none;
}

.app-header .header-scope__group:hover {
  color: #0f766e;
}

.app-header .header-scope__sep {
  color: rgba(15, 23, 42, 0.34);
}

.app-header .header-scope__rooftop {
  color: #0f172a;
  font-weight: 800;
}

.app-header .header-scope__up {
  flex: 0 0 auto;
  margin-left: 2px;
  padding: 3px 10px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #0f766e;
  text-decoration: none;
  white-space: nowrap;
}

.app-header .header-scope__up:hover {
  border-color: rgba(20, 184, 166, 0.42);
  background: rgba(20, 184, 166, 0.08);
}

/* Context menus: demo and admin, each collapsed behind one control. */
.app-header .header-menu {
  position: relative;
  /* Above .app-nav-row, which is z-index 1200 in the same stacking context.
     The Setup menu this replaces used 70 and rendered behind the nav. */
  z-index: 1300;
  flex: 0 0 auto;
}

.app-header .header-menu > summary {
  list-style: none;
  cursor: pointer;
}

.app-header .header-menu > summary::-webkit-details-marker {
  display: none;
}

.app-header .header-menu__panel {
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  z-index: 1310;
  display: grid;
  gap: 6px;
  min-width: 248px;
  padding: 10px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 22px 55px rgba(15, 23, 42, 0.16);
}

.app-header .header-menu__panel a,
.app-header .header-menu__action {
  display: block;
  width: 100%;
  padding: 9px 12px;
  border: 0;
  border-radius: 11px;
  background: none;
  color: #0f172a;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.app-header .header-menu__panel a:hover,
.app-header .header-menu__action:hover {
  background: rgba(20, 184, 166, 0.1);
  color: #0f766e;
}

.app-header .header-menu__field {
  display: grid;
  gap: 4px;
  padding: 4px 12px 8px;
}

.app-header .header-menu__field label {
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: #64748b;
}

.app-header .header-menu__field select {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: 32px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
}

.app-header .header-menu__note {
  margin: 0;
  padding: 4px 12px 8px;
  color: #64748b;
  font-size: 12.5px;
  font-weight: 700;
}

.app-header .header-menu__group {
  display: grid;
  gap: 4px;
  padding-top: 6px;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.app-header .header-actions .pill,
.app-header .header-actions .pill--toggle {
  min-height: 32px;
  height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: 0.11em;
  white-space: nowrap;
}

.app-header .header-actions select {
  min-height: 32px;
  height: 32px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

.app-header .header-actions .header-company-switch select,
.app-header .header-actions .lens-switch select {
  width: auto;
  min-width: 150px;
  max-width: min(260px, 30vw);
}

.app-header .profile-trigger {
  width: 34px;
  height: 34px;
  min-width: 34px;
  flex: 0 0 34px;
}

/* One strip for an active context mode, with its exit beside it. */
.header-modebar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 7px 28px !important;
  border-top: 1px solid rgba(15, 23, 42, 0.06);
  background: rgba(245, 158, 11, 0.09);
  color: #78350f;
  font-size: 12px;
  font-weight: 800;
}

.header-modebar--role {
  background: rgba(99, 102, 241, 0.1);
  color: #3730a3;
}

.header-modebar form {
  display: contents;
}

.header-modebar__dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: currentColor;
}

.header-modebar__label {
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.header-modebar__detail {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: inherit;
  opacity: 0.86;
}

.header-modebar__exit {
  margin-left: auto;
  padding: 3px 11px;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: none;
  color: inherit;
  font: inherit;
  font-size: 11px;
  text-decoration: none;
  cursor: pointer;
}

.header-modebar__exit:hover {
  background: rgba(255, 255, 255, 0.5);
}

html[data-theme="dark"] .app-header .header-scope,
html.dark .app-header .header-scope {
  color: rgba(226, 232, 240, 0.66);
}

html[data-theme="dark"] .app-header .header-scope__rooftop,
html.dark .app-header .header-scope__rooftop {
  color: #e2e8f0;
}

html[data-theme="dark"] .app-header .header-menu__panel,
html.dark .app-header .header-menu__panel {
  border-color: rgba(148, 163, 184, 0.22);
  background: #101a2c;
}

html[data-theme="dark"] .app-header .header-menu__panel a,
html[data-theme="dark"] .app-header .header-menu__action,
html.dark .app-header .header-menu__panel a,
html.dark .app-header .header-menu__action {
  color: #e2e8f0;
}

/* Narrow: the utility cluster wraps under the brand and stays one row of
   controls. It must never become several rows of competing pills, and it
   must never widen the page. */
@media (max-width: 900px) {
  .app-header .app-header-inner.app-header-row.app-header-full {
    padding: 14px 18px 12px !important;
    column-gap: 12px !important;
  }

  .app-header .app-header-inner.app-header-row.app-header-full .brand {
    flex: 1 1 100% !important;
  }

  .app-header .app-header-inner.app-header-row.app-header-full .header-actions {
    flex: 1 1 100% !important;
    justify-content: flex-start !important;
    gap: 8px !important;
  }

  /* Deliberately its own row: where you are, then the controls under it.
     Half-wrapping a breadcrumb between two selects is what "several rows of
     competing pills" looks like. */
  .app-header .header-scope {
    flex: 1 1 100%;
    max-width: 100%;
    padding: 0;
  }

  /* The rooftop is the half that answers "where am I", so it keeps the room. */
  .app-header .header-scope__group {
    max-width: 38%;
  }

  .app-header .header-menu__panel {
    right: auto;
    left: 0;
    min-width: min(280px, calc(100vw - 40px));
    max-width: calc(100vw - 40px);
  }

  .app-header .header-actions .header-company-switch select,
  .app-header .header-actions .lens-switch select {
    max-width: 46vw;
  }

  .header-modebar {
    padding: 7px 18px !important;
  }

  .header-modebar__exit {
    margin-left: 0;
  }
}

/* Phone width: the rooftop and the way out of it, whole. Truncating both
   halves of the breadcrumb to fit tells the viewer neither one. */
@media (max-width: 560px) {
  .app-header .header-scope__group,
  .app-header .header-scope__sep {
    display: none;
  }
}

.module-access-page {
  display: grid;
  gap: 18px;
}

.module-access-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 26px 28px;
}

.module-access-hero h1 {
  margin: 4px 0 8px;
  font-size: clamp(2rem, 4vw, 3.2rem);
  letter-spacing: 0;
}

.module-access-actions,
.module-access-savebar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.module-access-form {
  display: grid;
  gap: 16px;
}

.module-access-group {
  padding: 22px;
}

.module-access-group-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.module-access-group-head h2 {
  margin: 0;
  font-size: 1.15rem;
  letter-spacing: 0;
}

.module-access-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.module-toggle-card {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
  padding: 16px;
  min-height: 128px;
  border: 1px solid rgba(15, 23, 42, 0.09);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.04);
  cursor: pointer;
}

.module-toggle-card input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.module-toggle-card__switch {
  position: relative;
  width: 46px;
  height: 28px;
  border-radius: 999px;
  background: #d9e1ea;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
  transition: background 160ms ease;
}

.module-toggle-card__switch::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.2);
  transition: transform 160ms ease;
}

.module-toggle-card.is-enabled,
.module-toggle-card:has(input[type="checkbox"]:checked) {
  border-color: rgba(20, 184, 166, 0.38);
  background: linear-gradient(180deg, rgba(240, 253, 250, 0.78), #fff);
}

.module-toggle-card.is-enabled .module-toggle-card__switch,
.module-toggle-card:has(input[type="checkbox"]:checked) .module-toggle-card__switch {
  background: #14b8a6;
}

.module-toggle-card.is-enabled .module-toggle-card__switch::after,
.module-toggle-card:has(input[type="checkbox"]:checked) .module-toggle-card__switch::after {
  transform: translateX(18px);
}

.module-toggle-card.is-required {
  cursor: default;
  opacity: 0.78;
}

.module-toggle-card.is-required input[type="checkbox"] {
  cursor: not-allowed;
}

.module-toggle-card.is-parent-disabled {
  opacity: 0.58;
  background: #f8fafc;
  cursor: not-allowed;
}

.module-toggle-card.is-parent-disabled .module-toggle-card__switch {
  background: #cbd5e1;
}

.module-toggle-card.is-parent-disabled .module-toggle-card__body em {
  color: #b45309;
}

.module-toggle-card__body {
  display: grid;
  gap: 6px;
}

.module-toggle-card__body strong {
  color: #0f172a;
  font-size: 1rem;
}

.module-toggle-card__body span {
  color: #64748b;
  font-size: 0.92rem;
  line-height: 1.42;
}

.module-toggle-card__body em {
  color: #0f766e;
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.module-access-savebar {
  position: sticky;
  bottom: 16px;
  z-index: 12;
  padding: 16px 18px;
  border-color: rgba(20, 184, 166, 0.18);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.12);
}

@media (max-width: 900px) {
  .module-access-hero,
  .module-access-savebar {
    align-items: stretch;
    flex-direction: column;
  }

  .module-access-grid {
    grid-template-columns: 1fr;
  }
}
