/* ══════════════════════════════════════════════════
   CAwise — Shared Auth Split Layout
   Primary: #0891b2  Dark bg: #020d14
══════════════════════════════════════════════════ */

/* ── Reset outer theme wrappers ── */
html, body {
  height: 100%; margin: 0 !important; padding: 0 !important;
  background: #020d14 !important; overflow-x: hidden;
}
.container-xxl {
  max-width: 100% !important; width: 100% !important;
  padding: 0 !important; margin: 0 !important;
}
.authentication-wrapper {
  padding: 0 !important; margin: 0 !important;
  min-height: 100vh; width: 100% !important;
  display: block !important;
  align-items: unset !important; justify-content: unset !important;
}
.authentication-inner {
  width: 100% !important; max-width: 100% !important;
  min-height: 100vh; padding: 0 !important; margin: 0 !important;
}

/* ── Split wrapper ── */
.cw-auth-wrap {
  display: flex;
  min-height: 100vh;
  font-family: 'Public Sans', sans-serif;
}

/* ══════════════════════════════════════
   LEFT PANEL
══════════════════════════════════════ */
.cw-left {
  flex: 0 0 52%;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 3rem 3.5rem;
  background: linear-gradient(135deg, #020d14 0%, #051e2e 45%, #073347 100%);
}

/* ── particle canvas ── */
#cw-particle-canvas {
  position: absolute; inset: 0; width: 100%; height: 100%;
  pointer-events: none; z-index: 0;
}

/* animated gradient orbs */
.cw-orb {
  position: absolute; border-radius: 50%;
  filter: blur(90px); pointer-events: none;
  animation: cw-orb-drift 14s ease-in-out infinite alternate;
}
.cw-orb-1 { width: 480px; height: 480px; top: -160px; left: -120px; background: radial-gradient(circle, rgba(8,145,178,0.55), transparent); animation-delay: 0s; }
.cw-orb-2 { width: 340px; height: 340px; bottom: -80px; right: -60px; background: radial-gradient(circle, rgba(6,182,212,0.4), transparent); animation-delay: -5s; }
.cw-orb-3 { width: 240px; height: 240px; top: 40%; left: 50%; background: radial-gradient(circle, rgba(14,116,144,0.45), transparent); animation-delay: -9s; }

@keyframes cw-orb-drift {
  0%   { transform: translate(0, 0) scale(1); }
  100% { transform: translate(28px, 18px) scale(1.1); }
}

/* dot grid */
.cw-grid {
  position: absolute; inset: 0; pointer-events: none; z-index: 1;
  background-image: radial-gradient(circle, rgba(255,255,255,0.045) 1px, transparent 1px);
  background-size: 32px 32px;
}

/* ── Brand ── */
.cw-brand { position: relative; z-index: 2; margin-bottom: 2.5rem; }
.cw-brand img { height: 44px; }
.cw-brand .ai-chip {
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: 12px; padding: 4px 12px; border-radius: 999px;
  background: rgba(8,145,178,0.18);
  border: 1px solid rgba(8,145,178,0.45);
  color: #67e8f9; font-size: 0.7rem; font-weight: 600;
  letter-spacing: 0.06em; text-transform: uppercase;
  animation: cw-pulse-border 3s ease-in-out infinite;
}
.cw-brand .ai-chip .dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: #0891b2; box-shadow: 0 0 10px #0891b2;
  animation: cw-blink 1.4s ease-in-out infinite;
}
@keyframes cw-blink { 0%,100%{opacity:1} 50%{opacity:.25} }
@keyframes cw-pulse-border {
  0%,100% { box-shadow: 0 0 0 0 rgba(8,145,178,0); }
  50%      { box-shadow: 0 0 0 5px rgba(8,145,178,0.18); }
}

/* ── Headline ── */
.cw-headline { position: relative; z-index: 2; margin-bottom: 2.5rem; }
.cw-headline h1 {
  font-size: 2.4rem; font-weight: 700; line-height: 1.2;
  color: #fff; margin: 0 0 0.75rem;
}
.cw-headline h1 .gradient-text {
  background: linear-gradient(90deg, #22d3ee 0%, #ffffff 35%, #0891b2 60%, #67e8f9 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text; background-size: 250% auto;
  animation: cw-shimmer 3.5s linear infinite;
  display: inline-block;
}
@keyframes cw-shimmer { 0% { background-position: 0% center; } 100% { background-position: 250% center; } }
.cw-headline p { color: rgba(255,255,255,0.5); font-size: 0.95rem; margin: 0; line-height: 1.6; }

/* ── Feature cards ── */
.cw-features { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 0.85rem; }
.cw-feature-card {
  display: flex; align-items: flex-start; gap: 0.9rem;
  padding: 0.9rem 1.1rem; border-radius: 14px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  backdrop-filter: blur(8px);
  transition: transform 0.3s, background 0.3s, border-color 0.3s;
  animation: cw-slide-in 0.6s ease both;
}
.cw-feature-card:hover {
  transform: translateX(6px);
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.13);
}
.cw-feature-card:nth-child(1) { animation-delay: 0.1s; }
.cw-feature-card:nth-child(2) { animation-delay: 0.2s; }
.cw-feature-card:nth-child(3) { animation-delay: 0.3s; }
.cw-feature-card:nth-child(4) { animation-delay: 0.4s; }
.cw-feature-card:nth-child(5) { animation-delay: 0.5s; }
@keyframes cw-slide-in {
  from { opacity: 0; transform: translateX(-24px); }
  to   { opacity: 1; transform: translateX(0); }
}
.cw-feature-icon {
  flex-shrink: 0; width: 38px; height: 38px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center; font-size: 1.1rem;
}
/* ── distinct icon colours ── */
.cw-fi-teal   { background: rgba(8,145,178,0.25);  color: #22d3ee; }   /* AI Scan   – primary teal  */
.cw-fi-violet { background: rgba(139,92,246,0.25); color: #a78bfa; }   /* Ask AI    – violet        */
.cw-fi-amber  { background: rgba(245,158,11,0.22); color: #fbbf24; }   /* ITR/GST   – amber         */
.cw-fi-rose   { background: rgba(244,63,94,0.22);  color: #fb7185; }   /* Task dash – rose          */
.cw-fi-green  { background: rgba(34,197,94,0.22);  color: #4ade80; }   /* Mobile app– green         */

.cw-feature-text h6 { color: #e2e8f0; font-size: 0.85rem; font-weight: 600; margin: 0 0 2px; }
.cw-feature-text p  { color: rgba(255,255,255,0.42); font-size: 0.75rem; margin: 0; line-height: 1.4; }
.cw-ai-badge {
  display: inline-flex; align-items: center;
  padding: 1px 7px; border-radius: 6px; font-size: 0.62rem; font-weight: 700;
  background: rgba(139,92,246,0.25); color: #c4b5fd;
  border: 1px solid rgba(139,92,246,0.4);
  text-transform: uppercase; letter-spacing: 0.04em;
  margin-left: 6px; vertical-align: middle;
}

/* ══════════════════════════════════════
   RIGHT PANEL
══════════════════════════════════════ */
.cw-right {
  flex: 1; display: flex;
  align-items: center; justify-content: center;
  padding: 2.5rem 2rem;
  background: #f8faff;
  position: relative; overflow: hidden;
}
.cw-right::before {
  content: '';
  position: absolute; top: -220px; right: -220px;
  width: 520px; height: 520px; border-radius: 50%;
  background: radial-gradient(circle, rgba(8,145,178,0.06), transparent 70%);
  pointer-events: none;
}
.cw-right::after {
  content: '';
  position: absolute; bottom: -150px; left: -150px;
  width: 380px; height: 380px; border-radius: 50%;
  background: radial-gradient(circle, rgba(8,145,178,0.04), transparent 70%);
  pointer-events: none;
}

.cw-form-wrap {
  width: 100%; max-width: 420px;
  position: relative; z-index: 1;
  animation: cw-fade-up 0.55s ease both;
}
@keyframes cw-fade-up {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Right-side logo ── */
.cw-right-logo {
  display: flex; justify-content: center; margin-bottom: 1.6rem;
}
.cw-right-logo img { height: 56px; opacity: 0.9; }

/* ── Form header ── */
.cw-form-header { margin-bottom: 1.75rem; text-align: center; }
.cw-form-header h2 { font-size: 1.55rem; font-weight: 700; color: #0c2233; margin: 0 0 0.35rem; }
.cw-form-header p  { color: #64748b; font-size: 0.88rem; margin: 0; }
.cw-steps { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 14px; }
.cw-steps span { height: 4px; border-radius: 99px; background: #e2e8f0; transition: all 0.3s; width: 14px; }
.cw-steps span.active { background: #0891b2; width: 28px; }

/* ── Alert ── */
.cw-alert {
  background: #fef2f2; border: 1px solid #fecaca;
  border-radius: 10px; padding: 0.75rem 1rem;
  margin-bottom: 1.25rem; font-size: 0.82rem; color: #b91c1c;
}
.cw-alert-success {
  background: #f0fdf4; border: 1px solid #bbf7d0;
  border-radius: 10px; padding: 0.75rem 1rem;
  margin-bottom: 1.25rem; font-size: 0.82rem; color: #15803d;
}

/* ── Fields ── */
.cw-field { margin-bottom: 1.1rem; }
.cw-field label { display: block; font-size: 0.8rem; font-weight: 600; color: #374151; margin-bottom: 6px; }
.cw-field label .opt { font-weight: 400; color: #9ca3af; font-size: 0.75rem; }
.cw-field .field-wrap { position: relative; }
.cw-field .field-icon {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  color: #94a3b8; font-size: 1rem; pointer-events: none; transition: color 0.2s;
}
.cw-input {
  width: 100%; padding: 0.62rem 0.75rem 0.62rem 2.5rem;
  border: 1.5px solid #e2e8f0; border-radius: 10px;
  font-size: 0.88rem; color: #0c2233; background: #fff; outline: none;
  transition: border-color 0.25s, box-shadow 0.25s;
  font-family: 'Public Sans', sans-serif; box-sizing: border-box;
}
.cw-input::placeholder { color: #c4c9d4; }
.cw-input:focus {
  border-color: #0891b2;
  box-shadow: 0 0 0 3.5px rgba(8,145,178,0.13);
}
.cw-field .field-wrap:focus-within .field-icon { color: #0891b2; }
.cw-input.is-invalid { border-color: #ef4444; }
.cw-input.is-invalid:focus { box-shadow: 0 0 0 3.5px rgba(239,68,68,0.12); }
.cw-invalid-msg { color: #ef4444; font-size: 0.76rem; margin-top: 4px; }

/* password toggle */
.cw-pass-wrap { position: relative; }
.cw-pass-wrap .cw-input { padding-right: 2.5rem; }
.cw-pass-toggle {
  position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
  cursor: pointer; color: #94a3b8; font-size: 1rem;
  background: none; border: none; padding: 0; transition: color 0.2s;
}
.cw-pass-toggle:hover { color: #0891b2; }

/* two-col row */
.cw-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }

/* ── Terms ── */
.cw-terms { display: flex; align-items: flex-start; gap: 9px; margin: 1rem 0 1.25rem; }
.cw-terms input[type=checkbox] { width: 16px; height: 16px; accent-color: #0891b2; flex-shrink: 0; margin-top: 1px; cursor: pointer; }
.cw-terms label { font-size: 0.8rem; color: #64748b; cursor: pointer; line-height: 1.5; }
.cw-terms a { color: #0891b2; text-decoration: none; font-weight: 500; }
.cw-terms a:hover { text-decoration: underline; }

/* ── Remember + forgot row ── */
.cw-remember-row {
  display: flex; align-items: center; justify-content: space-between;
  margin: 0.5rem 0 1.25rem; font-size: 0.82rem;
}
.cw-remember-row label { color: #64748b; cursor: pointer; display: flex; align-items: center; gap: 7px; }
.cw-remember-row input[type=checkbox] { width: 15px; height: 15px; accent-color: #0891b2; cursor: pointer; }
.cw-remember-row a { color: #0891b2; text-decoration: none; font-weight: 500; }
.cw-remember-row a:hover { text-decoration: underline; }

/* ── CTA button ── */
.cw-btn {
  width: 100%; padding: 0.75rem;
  background: linear-gradient(135deg, #0891b2, #0e7490);
  color: #fff; font-size: 0.92rem; font-weight: 600;
  border: none; border-radius: 10px; cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s, filter 0.2s;
  position: relative; overflow: hidden;
  font-family: 'Public Sans', sans-serif;
}
.cw-btn::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.15), transparent);
  opacity: 0; transition: opacity 0.2s;
}
.cw-btn:hover { transform: translateY(-1px); box-shadow: 0 8px 22px rgba(8,145,178,0.38); filter: brightness(1.06); }
.cw-btn:hover::after { opacity: 1; }
.cw-btn:active { transform: translateY(0); }
.cw-btn:disabled { opacity: 0.7; cursor: not-allowed; transform: none; }

/* ── Footer ── */
.cw-foot { text-align: center; margin-top: 1.25rem; font-size: 0.84rem; color: #64748b; }
.cw-foot a { color: #0891b2; font-weight: 600; text-decoration: none; }
.cw-foot a:hover { text-decoration: underline; }
.cw-back-link {
  display: inline-flex; align-items: center; gap: 4px;
  color: #0891b2; font-size: 0.84rem; font-weight: 500;
  text-decoration: none; margin-top: 1rem;
}
.cw-back-link:hover { text-decoration: underline; }

/* ── Trust row ── */
.cw-trust {
  display: flex; align-items: center; justify-content: center;
  gap: 1.5rem; margin-top: 1.5rem; padding-top: 1.25rem;
  border-top: 1px solid #f1f5f9;
}
.cw-trust-item { display: flex; align-items: center; gap: 5px; color: #94a3b8; font-size: 0.73rem; }
.cw-trust-item i { font-size: 0.85rem; color: #0891b2; }

/* ── Responsive ── */
@media (max-width: 900px) {
  .cw-left { display: none; }
  .cw-right { background: linear-gradient(135deg, #020d14, #051e2e); align-items: flex-start; padding-top: 3rem; }
  .cw-form-wrap { background: #fff; border-radius: 20px; padding: 2rem; box-shadow: 0 20px 60px rgba(0,0,0,0.3); }
  .cw-form-header h2 { color: #0c2233; }
  .cw-row { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .cw-right { padding: 1.25rem 1rem; }
  .cw-form-wrap { padding: 1.5rem; }
  .cw-trust { flex-wrap: wrap; gap: 0.75rem; }
}
