
/* StomaDent CRM v5.7 — one-time first-login welcome */

html.crm-first-welcome-lock,
body.crm-first-welcome-lock{
  overflow:hidden!important;
}

.crm-first-welcome{
  position:fixed;
  z-index:999999;
  inset:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#000;
  color:#fff;
  opacity:1;
  visibility:visible;
  transition:opacity .95s ease,visibility .95s ease;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.crm-first-welcome::before{
  content:"";
  position:absolute;
  inset:-25%;
  background:
    radial-gradient(circle at 50% 48%,rgba(50,82,255,.20),transparent 22%),
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.055),transparent 38%);
  transform:scale(.82);
  opacity:0;
  animation:crmWelcomeGlow 2.8s ease forwards;
}

.crm-first-welcome::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.15;
  background:
    repeating-linear-gradient(
      180deg,
      rgba(255,255,255,.025) 0,
      rgba(255,255,255,.025) 1px,
      transparent 1px,
      transparent 4px
    );
}

.crm-first-welcome.is-leaving{
  opacity:0;
  visibility:hidden;
}

.crm-first-welcome__content{
  position:relative;
  z-index:2;
  width:min(92vw,1100px);
  padding:40px 24px;
  text-align:center;
}

.crm-first-welcome__eyebrow{
  min-height:18px;
  margin-bottom:23px;
  color:rgba(255,255,255,.42);
  font-size:11px;
  font-weight:800;
  letter-spacing:.38em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .7s ease,transform .7s ease;
}

.crm-first-welcome.is-complete .crm-first-welcome__eyebrow{
  opacity:1;
  transform:translateY(0);
}

.crm-first-welcome__line{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:1.35em;
  max-width:100%;
  color:#fff;
  font-size:clamp(34px,6.5vw,94px);
  font-weight:720;
  line-height:1.18;
  letter-spacing:-.045em;
  text-shadow:
    0 0 28px rgba(255,255,255,.11),
    0 0 60px rgba(54,84,255,.15);
}

.crm-first-welcome__text{
  white-space:pre-wrap;
}

.crm-first-welcome__caret{
  display:inline-block;
  width:3px;
  height:.9em;
  margin-left:8px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 0 15px rgba(255,255,255,.6);
  animation:crmWelcomeCaret .72s steps(1,end) infinite;
}

.crm-first-welcome.is-complete .crm-first-welcome__caret{
  animation-duration:1.05s;
}

.crm-first-welcome__subline{
  min-height:18px;
  margin-top:24px;
  color:rgba(255,255,255,.45);
  font-size:11px;
  font-weight:650;
  letter-spacing:.12em;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .7s ease .15s,transform .7s ease .15s;
}

.crm-first-welcome.is-complete .crm-first-welcome__subline{
  opacity:1;
  transform:translateY(0);
}

@keyframes crmWelcomeGlow{
  0%{opacity:0;transform:scale(.82)}
  100%{opacity:1;transform:scale(1)}
}

@keyframes crmWelcomeCaret{
  0%,48%{opacity:1}
  49%,100%{opacity:0}
}

@media(max-width:640px){
  .crm-first-welcome__content{
    padding:30px 18px;
  }

  .crm-first-welcome__eyebrow{
    margin-bottom:17px;
    font-size:9px;
    letter-spacing:.25em;
  }

  .crm-first-welcome__line{
    font-size:clamp(31px,11vw,52px);
  }

  .crm-first-welcome__subline{
    margin-top:18px;
    font-size:9px;
  }
}

@media(prefers-reduced-motion:reduce){
  .crm-first-welcome,
  .crm-first-welcome::before,
  .crm-first-welcome__eyebrow,
  .crm-first-welcome__subline{
    animation:none!important;
    transition-duration:.01ms!important;
  }
}
