/* ContractIQ welcome screen — isolated front door; does not alter the app workspace. */
.ciq-welcome-gate {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
  min-height: 100dvh;
  overflow: auto;
  color: #eef7ff;
  background:
    radial-gradient(circle at 22% 25%, rgba(74, 191, 255, .14), transparent 32%),
    radial-gradient(circle at 80% 55%, rgba(182, 222, 255, .09), transparent 35%),
    linear-gradient(145deg, #020912 0%, #061827 48%, #020810 100%);
  font-family: inherit;
}
.ciq-welcome-gate[hidden] { display: none !important; }
.ciq-welcome-gate::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.014) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(to bottom, #000, transparent 85%);
}
.ciq-welcome-copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(48px, 8vw, 120px);
}
.ciq-welcome-mark {
  width: clamp(120px, 15vw, 220px);
  aspect-ratio: 1;
  object-fit: contain;
  margin: 0 0 24px -18px;
  filter: drop-shadow(0 0 22px rgba(203, 234, 255, .55));
}
.ciq-welcome-eyebrow {
  margin: 0 0 12px;
  color: #6ecfff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.ciq-welcome-copy h1 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(42px, 6vw, 78px);
  line-height: .96;
  letter-spacing: -.055em;
}
.ciq-welcome-copy h1 span {
  display: block;
  margin-top: 12px;
  color: #9fb5c7;
  font-size: .42em;
  line-height: 1.2;
  letter-spacing: -.025em;
}
.ciq-welcome-copy > p {
  max-width: 610px;
  margin: 24px 0 0;
  color: #aabccc;
  font-size: clamp(15px, 1.25vw, 19px);
  line-height: 1.65;
}
.ciq-welcome-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:32px; }
.ciq-welcome-actions button,
.ciq-onboarding-form button {
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid #48bcfb;
  border-radius: 12px;
  background: linear-gradient(135deg, #0e4f7a, #1379b7);
  color: #fff;
  font: inherit;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 12px 30px rgba(0, 99, 155, .26), inset 0 1px rgba(255,255,255,.16);
}
.ciq-welcome-actions button:hover,
.ciq-onboarding-form button:hover { transform: translateY(-1px); filter: brightness(1.08); }
.ciq-welcome-actions .ciq-secondary {
  border-color: #315a76;
  background: rgba(7, 27, 43, .72);
  color: #c9d9e6;
  box-shadow: none;
}
.ciq-welcome-visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 620px;
  overflow: hidden;
}
.ciq-welcome-visual::before {
  content: "";
  position: absolute;
  width: min(72vw, 700px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(107, 199, 255, .16), transparent 62%);
  filter: blur(10px);
}
.ciq-chrome-figure {
  position: relative;
  width: 290px;
  height: 520px;
  transform: translateX(-18px) rotate(-2deg);
  filter: drop-shadow(0 22px 38px rgba(0,0,0,.5));
}
.ciq-chrome-head,
.ciq-chrome-body,
.ciq-chrome-arm,
.ciq-chrome-leg {
  position: absolute;
  border: 1px solid rgba(255,255,255,.72);
  background: linear-gradient(115deg, #eef8ff 0%, #758da0 23%, #f8fdff 45%, #4b6274 67%, #d8ebf7 100%);
  box-shadow: inset 8px 8px 15px rgba(255,255,255,.35), inset -9px -12px 18px rgba(3,14,24,.5), 0 0 24px rgba(142,211,255,.18);
}
.ciq-chrome-head { top:25px; left:101px; width:88px; height:98px; border-radius:44% 44% 48% 48%; }
.ciq-chrome-head::before { content:""; position:absolute; left:20px; top:40px; width:48px; height:8px; border-radius:999px; background:#071522; box-shadow:0 0 10px #74d6ff; }
.ciq-chrome-body { top:116px; left:69px; width:150px; height:214px; border-radius:42% 42% 30% 30%; transform:skewX(-4deg); }
.ciq-chrome-arm { top:160px; width:52px; height:190px; border-radius:28px; }
.ciq-chrome-arm.left { left:38px; transform:rotate(-22deg); }
.ciq-chrome-arm.right { right:34px; transform:rotate(27deg); }
.ciq-chrome-arm::after { content:""; position:absolute; bottom:-8px; left:-5px; width:60px; height:46px; border-radius:50%; background:inherit; border:inherit; }
.ciq-chrome-leg { top:316px; width:64px; height:184px; border-radius:28px 28px 19px 19px; }
.ciq-chrome-leg.left { left:78px; transform:rotate(3deg); }
.ciq-chrome-leg.right { right:65px; transform:rotate(-8deg); }
.ciq-chrome-fold { position:absolute; z-index:4; top:218px; left:50px; width:190px; height:22px; border-radius:999px; background:linear-gradient(90deg,#6d879a,#f5fbff,#526b7d); transform:rotate(-5deg); box-shadow:0 0 18px rgba(156,218,255,.28); }
.ciq-onboarding {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: grid;
  place-items: center;
  padding: 28px;
  background: rgba(1, 8, 14, .72);
  backdrop-filter: blur(18px);
}
.ciq-onboarding[hidden] { display:none !important; }
.ciq-onboarding-card {
  width: min(560px, 100%);
  padding: 30px;
  border: 1px solid #2b668d;
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(9,34,53,.97), rgba(4,17,28,.98));
  box-shadow: 0 28px 70px rgba(0,0,0,.52), inset 0 1px rgba(255,255,255,.07);
}
.ciq-onboarding-card h2 { margin:0 0 7px; font-size:30px; letter-spacing:-.035em; }
.ciq-onboarding-card > p { margin:0 0 22px; color:#9eb2c2; font-size:13px; line-height:1.5; }
.ciq-onboarding-form { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.ciq-onboarding-form label { display:grid; gap:7px; color:#afc2d1; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.ciq-onboarding-form label:first-child,
.ciq-onboarding-form label:nth-child(2),
.ciq-onboarding-form .ciq-onboarding-actions { grid-column:1 / -1; }
.ciq-onboarding-form input,
.ciq-onboarding-form select {
  min-height:44px;
  width:100%;
  padding:0 12px;
  border:1px solid #315c79;
  border-radius:9px;
  background:#04131f;
  color:#eef8ff;
  font:inherit;
  text-transform:none;
  letter-spacing:normal;
}
.ciq-onboarding-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:8px; }
.ciq-onboarding-actions .ciq-back { border-color:#31566f; background:#071c2b; box-shadow:none; }
@media (max-width: 900px) {
  .ciq-welcome-gate { grid-template-columns:1fr; }
  .ciq-welcome-copy { padding:48px 30px 20px; }
  .ciq-welcome-visual { min-height:420px; }
  .ciq-chrome-figure { transform:scale(.78) translateX(-20px); transform-origin:center; }
}
@media (max-width: 560px) {
  .ciq-onboarding-form { grid-template-columns:1fr; }
  .ciq-onboarding-form label,
  .ciq-onboarding-form label:first-child,
  .ciq-onboarding-form label:nth-child(2) { grid-column:1; }
}
