  .crm-onboarding-layer { position: fixed; z-index: 420; inset: 0; display: none; pointer-events: none; }
  .crm-onboarding-layer.open { display: block; }
  body.crm-onboarding-open { overflow: hidden; }
  .crm-onboarding-spotlight { position: fixed; z-index: 1; border: 2px solid #62d3c4; border-radius: 14px; background: rgba(67,183,168,.06); box-shadow: 0 0 0 9999px rgba(9,12,18,.68), 0 0 0 6px rgba(67,183,168,.15), 0 12px 34px rgba(0,0,0,.3); transition: left .22s ease, top .22s ease, width .22s ease, height .22s ease; pointer-events: none; }
  .crm-onboarding-spotlight[hidden] { display: none; }
  .crm-onboarding-hand { position: absolute; z-index: 3; left: 50%; top: 50%; display: block; width: 30px; height: 36px; color: #fff; filter: drop-shadow(0 5px 8px rgba(0,0,0,.42)); transform-origin: 50% 16%; animation: crm-onboarding-hand-tap 2.35s cubic-bezier(.2,.75,.3,1) infinite; }
  .crm-onboarding-hand svg { display: block; width: 100%; height: 100%; overflow: visible; }
  .crm-onboarding-hand path { fill: #fff; stroke: #27313a; stroke-width: 1.35; stroke-linejoin: round; }
  .crm-onboarding-ripple { position: absolute; z-index: 2; left: 50%; top: 50%; width: 12px; height: 12px; border: 2px solid rgba(98,211,196,.94); border-radius: 50%; opacity: 0; transform: translate(-50%,-50%) scale(.4); animation: crm-onboarding-ripple 2.35s ease-out infinite; }
  .crm-onboarding-ripple-two { animation-delay: .18s; }
  .crm-onboarding-annotations { position: fixed; z-index: 3; inset: 0; pointer-events: none; }
  .crm-onboarding-annotation-ring { position: fixed; border: 4px solid #ffc34f; border-radius: 50%; background: rgba(255,195,79,.14); box-shadow: 0 0 0 8px rgba(255,189,69,.18), 0 0 38px rgba(255,189,69,.76); animation: crm-onboarding-annotation-pulse 1.65s ease-in-out infinite; }
  .crm-onboarding-annotation-line { position: fixed; height: 4px; border-radius: 4px; background: linear-gradient(90deg,#ffbd45,#ffdc83); box-shadow: 0 0 13px rgba(255,189,69,.62); transform-origin: 0 50%; }
  .crm-onboarding-annotation-line::after { content: ''; position: absolute; top: 50%; right: -1px; width: 9px; height: 9px; border-top: 3px solid #ffdc83; border-right: 3px solid #ffdc83; transform: translateY(-50%) rotate(45deg); }
  .crm-onboarding-annotation-label { position: fixed; display: flex; width: 310px; flex-direction: column; gap: 7px; padding: 16px 18px; border: 3px solid #ffbd45; border-radius: 15px; background: #fff3c6; color: #5c3a00; box-shadow: 0 16px 38px rgba(15,12,4,.3), 0 0 0 6px rgba(255,189,69,.15); font-size: 14px; font-weight: 700; line-height: 1.42; }
  .crm-onboarding-annotation-label strong { color: #8a4e00; font-size: 18px; font-weight: 850; line-height: 1.18; }
  .crm-onboarding-annotation-label.is-major { width: 360px; padding: 18px 20px; border-width: 4px; }
  .crm-onboarding-annotation-label.is-major strong { font-size: 21px; line-height: 1.14; }
  .crm-onboarding-callout { position: fixed; z-index: 4; width: min(340px,calc(100vw - 24px)); padding: 20px; border: 1px solid #dfe3e8; border-radius: 17px; background: #fff; color: #20242b; box-shadow: 0 24px 70px rgba(6,10,18,.34); pointer-events: auto; }
  .crm-onboarding-callout.is-prominent { width: min(390px,calc(100vw - 24px)); padding: 24px; }
  .crm-onboarding-callout.is-readable { width: min(490px,calc(100vw - 24px)); padding: 28px; }
  .crm-onboarding-callout.is-complete { width: min(390px,calc(100vw - 24px)); text-align: center; transform: translate(-50%,-50%); }
  .crm-onboarding-close { position: absolute; top: 10px; right: 10px; display: grid; width: 30px; height: 30px; place-items: center; border: 0; border-radius: 8px; background: transparent; color: #949aa5; font: inherit; font-size: 21px; line-height: 1; cursor: pointer; }
  .crm-onboarding-close:hover { background: #f0f2f5; color: #343840; }
  .crm-onboarding-close:focus-visible,
  .crm-onboarding-skip-step:focus-visible,
  .crm-onboarding-skip:focus-visible,
  .crm-onboarding-done:focus-visible { outline: 2px solid rgba(67,183,168,.55); outline-offset: 2px; }
  .crm-onboarding-step { padding-right: 28px; color: #279b8c; font-size: 10px; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
  .crm-onboarding-title { margin-top: 8px; padding-right: 22px; font-size: 20px; font-weight: 760; line-height: 1.2; }
  .crm-onboarding-callout.is-prominent .crm-onboarding-title { font-size: 28px; line-height: 1.08; }
  .crm-onboarding-callout.is-readable .crm-onboarding-title { margin-top: 10px; font-size: 28px; font-weight: 820; line-height: 1.12; }
  .crm-onboarding-copy { margin-top: 9px; color: #69707b; font-size: 12px; line-height: 1.55; }
  .crm-onboarding-callout.is-readable .crm-onboarding-copy { margin-top: 13px; color: #565e69; font-size: 17px; line-height: 1.55; }
  .crm-onboarding-hint { display: flex; align-items: center; gap: 8px; margin-top: 15px; padding: 10px 11px; border: 1px solid rgba(67,183,168,.28); border-radius: 10px; background: rgba(67,183,168,.08); color: #287c71; font-size: 11px; font-weight: 720; line-height: 1.35; }
  .crm-onboarding-hint-dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #43b7a8; box-shadow: 0 0 0 4px rgba(67,183,168,.14); animation: crm-onboarding-hint-pulse 1.5s ease-in-out infinite; }
  .crm-onboarding-actions { display: flex; flex-direction: column; align-items: stretch; gap: 6px; margin-top: 15px; }
  .crm-onboarding-navigation { display: none; grid-template-columns: minmax(0,1fr) minmax(0,1.4fr); gap: 9px; }
  .crm-onboarding-callout.is-manual .crm-onboarding-navigation { display: grid; }
  .crm-onboarding-previous,.crm-onboarding-next { min-height: 46px; padding: 10px 16px; border-radius: 10px; font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; }
  .crm-onboarding-previous { border: 1px solid #d8dde2; background: #f3f5f6; color: #5f6670; }
  .crm-onboarding-next { border: 1px solid #43b7a8; background: #43b7a8; color: #071714; }
  .crm-onboarding-previous:hover { border-color: #c8ced5; background: #e9ecef; color: #343940; }
  .crm-onboarding-next:hover { background: #55c4b5; }
  .crm-onboarding-previous:disabled { cursor: default; opacity: .42; }
  .crm-onboarding-skip-step,
  .crm-onboarding-skip { min-height: 36px; padding: 9px 14px; border: 1px solid #e0e3e7; border-radius: 9px; background: #f0f2f4; color: #737985; font: inherit; font-size: 11px; font-weight: 720; cursor: pointer; }
  .crm-onboarding-skip-step:hover,
  .crm-onboarding-skip:hover { border-color: #d5d9de; background: #e7e9ec; color: #4e545d; }
  .crm-onboarding-done { display: none; min-width: 110px; padding: 10px 16px; border: 0; border-radius: 9px; background: #43b7a8; color: #071411; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
  .crm-onboarding-done:hover { background: #55c4b5; }
  .crm-onboarding-callout.is-complete .crm-onboarding-close,
  .crm-onboarding-callout.is-complete .crm-onboarding-navigation,
  .crm-onboarding-callout.is-complete .crm-onboarding-skip-step,
  .crm-onboarding-callout.is-complete .crm-onboarding-skip { display: none; }
  .crm-onboarding-callout.is-complete .crm-onboarding-title { padding-right: 0; }
  .crm-onboarding-callout.is-complete .crm-onboarding-hint { justify-content: center; }
  .crm-onboarding-callout.is-complete .crm-onboarding-actions { align-items: center; justify-content: center; }
  .crm-onboarding-callout.is-complete .crm-onboarding-done { display: inline-flex; align-items: center; justify-content: center; }
  .crm-onboarding-spotlight.is-hover-gesture .crm-onboarding-ripple { display: none; }
  .crm-onboarding-spotlight.is-hover-gesture .crm-onboarding-hand { left: 58%; animation: crm-onboarding-hand-hover-left 2.2s ease-in-out infinite; }
  .crm-onboarding-spotlight.is-passive-gesture .crm-onboarding-ripple,
  .crm-onboarding-spotlight.is-passive-gesture .crm-onboarding-hand { display: none; }
  body.sidebar-navigation-editing #crm-sidebar .crm-onboarding-active-action { color: #c66d00 !important; background: transparent !important; box-shadow: none !important; filter: brightness(1.22) drop-shadow(0 0 5px rgba(255,189,69,.95)); text-shadow: 0 0 8px rgba(255,189,69,.9); opacity: 1 !important; }

  html[data-theme="dark"] .crm-onboarding-annotation-label { border-color: #ffc85f; background: #2d2413; color: #ffe5a9; box-shadow: 0 14px 34px rgba(0,0,0,.5), 0 0 0 4px rgba(255,189,69,.13); }
  html[data-theme="dark"] .crm-onboarding-annotation-label strong { color: #ffd06f; }
  html[data-theme="dark"] .crm-onboarding-callout.is-readable .crm-onboarding-copy { color: #bec3cc; }
  html[data-theme="dark"] .crm-onboarding-previous { border-color: #3a3e48; background: #252830; color: #c2c6ce; }
  html[data-theme="dark"] .crm-onboarding-previous:hover { border-color: #484d58; background: #2d3039; color: #f2f3f6; }
  html[data-theme="dark"] body.sidebar-navigation-editing #crm-sidebar .crm-onboarding-active-action { color: #ffe39a !important; background: transparent !important; box-shadow: none !important; filter: brightness(1.28) drop-shadow(0 0 6px rgba(255,195,79,1)); text-shadow: 0 0 9px rgba(255,195,79,.95); }

  @keyframes crm-onboarding-hand-tap {
    0%,18% { opacity: 0; transform: translate(24px,22px) rotate(-9deg) scale(.92); }
    34%,56% { opacity: 1; transform: translate(-5px,-5px) rotate(-9deg) scale(1); }
    62% { opacity: 1; transform: translate(-5px,-1px) rotate(-9deg) scale(.92); }
    70%,84% { opacity: 1; transform: translate(-5px,-5px) rotate(-9deg) scale(1); }
    100% { opacity: 0; transform: translate(11px,9px) rotate(-9deg) scale(.96); }
  }
  @keyframes crm-onboarding-ripple {
    0%,55% { opacity: 0; transform: translate(-50%,-50%) scale(.4); }
    61% { opacity: .95; }
    82%,100% { opacity: 0; transform: translate(-50%,-50%) scale(4.2); }
  }
  @keyframes crm-onboarding-hand-hover-left {
    0%,14% { opacity: 0; transform: translate(28px,-5px) rotate(-12deg) scale(.96); }
    30%,66% { opacity: 1; transform: translate(-14px,-5px) rotate(-12deg) scale(1); }
    78%,100% { opacity: 0; transform: translate(-20px,-5px) rotate(-12deg) scale(.98); }
  }
  @keyframes crm-onboarding-hint-pulse {
    0%,100% { box-shadow: 0 0 0 4px rgba(67,183,168,.12); }
    50% { box-shadow: 0 0 0 7px rgba(67,183,168,.03); }
  }
  @keyframes crm-onboarding-annotation-pulse {
    0%,100% { box-shadow: 0 0 0 5px rgba(255,189,69,.15), 0 0 24px rgba(255,189,69,.42); }
    50% { box-shadow: 0 0 0 9px rgba(255,189,69,.04), 0 0 34px rgba(255,189,69,.7); }
  }

  @media (prefers-reduced-motion: reduce) {
    .crm-onboarding-spotlight { transition: none; }
    .crm-onboarding-hand { animation: none; opacity: 1; transform: translate(-5px,-5px) rotate(-9deg); }
    .crm-onboarding-spotlight.is-hover-gesture .crm-onboarding-hand { animation: none; transform: translate(-14px,-5px) rotate(-12deg); }
    .crm-onboarding-ripple,
    .crm-onboarding-hint-dot,
    .crm-onboarding-annotation-ring { animation: none; }
    .crm-onboarding-ripple { display: none; }
  }
