:root {
  /* Core semantic tokens */
  --font-family:
    -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif,
    Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
  --border-radius: 12px;
  --border-radius-lg: 20px;
  --content-padding: 1.25rem;
  --inline-spacing: 0.5rem;
  --focus-ring: 0 0 0 0.2rem var(--primary-300);
  --maskbg: rgba(0, 0, 0, 0.4);
  --mask-bg: var(--maskbg);
  --shadow-2: 0 0 5px 0 rgba(0, 0, 0, 0.1);

  /* Text */
  --text-color: #1f2a37;
  --text-color-secondary: #5f6b78;
  --text-secondary-color: var(--text-color-secondary);

  /* Primary and highlight */
  --primary-color: #3b8c79;
  --primary-color-text: #ffffff;
  --highlight-bg: #e9f7f4;
  --highlight-text-color: #0f766e;
  --primary-50: #edf9f7;
  --primary-100: #d2f0eb;
  --primary-200: #a5e1d7;
  --primary-300: #78d2c3;
  --primary-400: #4bc3af;
  --primary-500: #35b5a5;
  --primary-600: #2e9b8e;
  --primary-700: #278177;
  --primary-800: #206760;
  --primary-900: #194d48;

  /* Surfaces */
  --surface-a: #ffffff;
  --surface-b: #f8f3f2;
  --surface-c: #eee6e5;
  --surface-d: #e5dbda;
  --surface-e: #ffffff;
  --surface-f: #ffffff;
  --surface-0: #ffffff;
  --surface-50: #fcf9f8;
  --surface-100: #f7f2f1;
  --surface-200: #eee6e5;
  --surface-300: #e1d8d7;
  --surface-400: #c6bbb9;
  --surface-500: #a89d9a;
  --surface-600: #8a807e;
  --surface-700: #6d6563;
  --surface-800: #524b4a;
  --surface-900: #352f2e;
  --surface-ground: #f4ebe9;
  --surface-section: #fbf7f6;
  --surface-card: #fdfbfb;
  --surface-overlay: #283840;
  --surface-border: #e2d8d6;
  --surface-hover: #b6d68f;

  /* Status colors */
  --error-color: #ef4444;
  --warning-color: #f59e0b;
  --success-color: #16a34a;
  --info-color: #0284c7;
  --secondary-color: #64748b;
  --tertiary-color: #b6d68f;
  --quaternary-color: #cbd5e1;
  --muted-color: #a3a3a3;

  /* Neutral palette */
  --gray-50: #fcf9f8;
  --gray-100: #f7f2f1;
  --gray-200: #eee6e5;
  --gray-300: #e1d8d7;
  --gray-400: #c6bbb9;
  --gray-500: #a89d9a;
  --gray-600: #8a807e;
  --gray-700: #6d6563;
  --gray-800: #524b4a;
  --gray-900: #352f2e;
  --bluegray-50: #eef2f4;
  --bluegray-100: #d2dce2;
  --bluegray-200: #b4c3cc;
  --bluegray-300: #95a9b6;
  --bluegray-400: #7892a2;
  --bluegray-500: #5f7789;
  --bluegray-600: #4e6374;
  --bluegray-700: #3e505f;
  --bluegray-800: #2d3c49;
  --bluegray-900: #1f2c3a;

  /* Accent palettes */
  --blue-50: #eef6fb;
  --blue-100: #d2e8f4;
  --blue-200: #b4d8ec;
  --blue-300: #96c9e3;
  --blue-400: #79b9da;
  --blue-500: #5ca9d1;
  --blue-600: #4f91b2;
  --blue-700: #427894;
  --blue-800: #356075;
  --blue-900: #284856;
  --green-50: #edf9f7;
  --green-100: #d2f0eb;
  --green-200: #a5e1d7;
  --green-300: #78d2c3;
  --green-400: #4bc3af;
  --green-500: #35b5a5;
  --green-600: #2e9b8e;
  --green-700: #278177;
  --green-800: #206760;
  --green-900: #194d48;
  --yellow-50: #fefbf3;
  --yellow-100: #faedc4;
  --yellow-200: #f6de95;
  --yellow-300: #f2d066;
  --yellow-400: #eec137;
  --yellow-500: #eab308;
  --yellow-600: #c79807;
  --yellow-700: #a47d06;
  --yellow-800: #816204;
  --yellow-900: #5e4803;
  --cyan-50: #f3fbfd;
  --cyan-100: #c3edf5;
  --cyan-200: #94e0ed;
  --cyan-300: #65d2e4;
  --cyan-400: #35c4dc;
  --cyan-500: #06b6d4;
  --cyan-600: #059bb4;
  --cyan-700: #047f94;
  --cyan-800: #036475;
  --cyan-900: #024955;
  --pink-50: #fef6fa;
  --pink-100: #fad3e7;
  --pink-200: #f7b0d3;
  --pink-300: #f38ec0;
  --pink-400: #f06bac;
  --pink-500: #ec4899;
  --pink-600: #c93d82;
  --pink-700: #a5326b;
  --pink-800: #822854;
  --pink-900: #5e1d3d;
  --indigo-50: #f7f7fe;
  --indigo-100: #dadafc;
  --indigo-200: #bcbdf9;
  --indigo-300: #9ea0f6;
  --indigo-400: #8183f4;
  --indigo-500: #6366f1;
  --indigo-600: #5457cd;
  --indigo-700: #4547a9;
  --indigo-800: #363885;
  --indigo-900: #282960;
  --teal-50: #edf9f7;
  --teal-100: #d2f0eb;
  --teal-200: #a5e1d7;
  --teal-300: #78d2c3;
  --teal-400: #4bc3af;
  --teal-500: #35b5a5;
  --teal-600: #2e9b8e;
  --teal-700: #278177;
  --teal-800: #206760;
  --teal-900: #194d48;
  --orange-50: #fff8f3;
  --orange-100: #feddc7;
  --orange-200: #fcc39b;
  --orange-300: #fba86f;
  --orange-400: #fa8e42;
  --orange-500: #f97316;
  --orange-600: #d46213;
  --orange-700: #ae510f;
  --orange-800: #893f0c;
  --orange-900: #642e09;
  --purple-50: #fbf7ff;
  --purple-100: #ead6fd;
  --purple-200: #dab6fc;
  --purple-300: #c996fa;
  --purple-400: #b975f9;
  --purple-500: #a855f7;
  --purple-600: #8f48d2;
  --purple-700: #763cad;
  --purple-800: #5c2f88;
  --purple-900: #432263;
  --red-50: #fff5f5;
  --red-100: #ffd0ce;
  --red-200: #ffaca7;
  --red-300: #ff8780;
  --red-400: #ff6259;
  --red-500: #ff3d32;
  --red-600: #d9342b;
  --red-700: #b32b23;
  --red-800: #8c221c;
  --red-900: #661814;

  /* Button semantic tokens (still consumed by app SCSS, not by PrimeNG) */
  --btn-padding-y: 0.7rem;
  --btn-padding-x: 1.25rem;
  --btn-border-radius: 6px;
  --btn-primary: var(--primary-color);
  --btn-primary-hover: var(--primary-600);
  --btn-primary-active: var(--primary-700);
  --btn-primary-focus: var(--primary-300);
  --btn-primary-text: #ffffff;
  --btn-secondary: #fbf7f6;
  --btn-secondary-hover: #dddddd;
  --btn-secondary-active: #ebe3e2;
  --btn-secondary-focus: #ebe3e2;
  --btn-secondary-text: var(--text-color);
  --btn-success: #16a34a;
  --btn-success-hover: #15803d;
  --btn-success-active: #166534;
  --btn-success-focus: #4ade80;
  --btn-success-text: #ffffff;
  --btn-info: #0284c7;
  --btn-info-hover: #0369a1;
  --btn-info-active: #075985;
  --btn-info-focus: #38bdf8;
  --btn-info-text: #ffffff;
  --btn-warning: #f59e0b;
  --btn-warning-hover: #d97706;
  --btn-warning-active: #b45309;
  --btn-warning-focus: #fbbf24;
  --btn-warning-text: #1f2937;
  --btn-danger: #dc2626;
  --btn-danger-hover: #b91c1c;
  --btn-danger-active: #991b1b;
  --btn-danger-focus: #f87171;
  --btn-danger-text: #ffffff;

  /* Launcher semantic tokens */
  --launcher-hero-bg:
    radial-gradient(circle at top right, rgba(6, 182, 212, 0.14), transparent 34%),
    linear-gradient(135deg, var(--bluegray-900), var(--bluegray-800));
  --launcher-hero-text: #f8fafc;
  --launcher-hero-eyebrow: rgba(226, 232, 240, 0.78);
  --launcher-hero-subtitle: rgba(226, 232, 240, 0.86);
  --launcher-hero-panel-bg: rgba(255, 255, 255, 0.08);
  --launcher-hero-panel-border: rgba(255, 255, 255, 0.12);
  --launcher-panel-bg: var(--surface-card);
  --launcher-panel-border: var(--surface-border);
  --launcher-panel-shadow: 0 10px 30px rgba(31, 44, 58, 0.06);
  --launcher-panel-radius: var(--border-radius-lg);
  --launcher-card-bg: var(--surface-card);
  --launcher-card-readonly-bg:
    linear-gradient(180deg, rgba(252, 249, 248, 0.96), rgba(247, 242, 241, 0.96)),
    var(--surface-card);
  --launcher-card-text: var(--text-color);
  --launcher-card-border: var(--surface-border);
  --launcher-card-shadow: 0 10px 30px rgba(31, 44, 58, 0.08);
  --launcher-card-hover-shadow: 0 16px 36px rgba(31, 44, 58, 0.12);
  --launcher-card-hover-border: var(--primary-color);
  --launcher-card-radius: 1rem;
  --launcher-logo-bg: var(--primary-color);
  --launcher-logo-text: var(--primary-color-text);
  --launcher-shortcut-bg: var(--surface-ground);
  --launcher-shortcut-border: var(--surface-border);
  --launcher-status-active-bg: var(--green-100);
  --launcher-status-active-color: var(--green-800);
  --launcher-status-expired-bg: var(--red-100);
  --launcher-status-expired-color: var(--red-800);
  --launcher-status-suspended-bg: var(--yellow-100);
  --launcher-status-suspended-color: var(--yellow-800);
  --launcher-status-activating-bg: var(--blue-100);
  --launcher-status-activating-color: var(--blue-800);
  --launcher-notification-bg: var(--blue-50);
  --launcher-notification-border: var(--blue-100);
  --launcher-notification-warning-bg: var(--yellow-50);
  --launcher-notification-warning-border: var(--yellow-100);
}

.selectable-step .p-steps-item.step-completed .p-steps-number {
  background: var(--primary-color);
  border-color: var(--primary-color);
  color: #ffffff;
}

.selectable-step .p-steps-item.step-completed .p-steps-title {
  color: var(--primary-color);
}

.text-muted {
  color: var(--muted-color);
}
