    .kyc-main {
      --font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      --color-primary: #EA580C;
      --color-primary-hover: #C2410C;
      --color-primary-light: #FFF1EB;
      --color-primary-glow: rgba(234, 88, 12, 0.25);
      --color-dark: #0F172A;
      --color-text: #1E293B;
      --color-muted: #64748B;
      --color-border: #E2E8F0;
      --color-success: #16A34A;
      --color-success-bg: #DCFCE7;
      --color-success-border: #86EFAC;
      --color-card-bg: #FFFFFF;
      --radius-modal: 24px;
      --radius-card: 16px;
      --radius-pill: 50px;
      font-family: var(--font-family);
      color: var(--color-text);
      -webkit-font-smoothing: antialiased;
    }

    body.kyc-main,
    .kyc-main-page {
      background: linear-gradient(135deg, #F8FAFC 0%, #F1F5F9 100%);
      min-height: 100vh;
    }

    /* Trigger Button */
    .kyc-main .btn-start-kyc {
      background: linear-gradient(135deg, #EA580C 0%, #D94615 100%);
      color: #FFFFFF;
      font-size: 1.05rem;
      font-weight: 700;
      padding: 0.875rem 2rem;
      border-radius: var(--radius-pill);
      border: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.6rem;
      box-shadow: 0 4px 16px rgba(234, 88, 12, 0.35);
      transition: all 0.2s ease;
      cursor: pointer;
    }

    .kyc-main .btn-start-kyc:hover {
      background: linear-gradient(135deg, #D94615 0%, #C2410C 100%);
      color: #FFFFFF;
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(234, 88, 12, 0.4);
    }

    /* ==========================================================================
       KYC Stepper Modal (Desktop & Mobile Responsive)
       ========================================================================== */
    .kyc-main .kyc-modal-dialog {
      max-width: 460px;
      margin: 1.5rem auto;
    }

    @media (max-width: 575.98px) {
      .kyc-main .kyc-modal-dialog {
        max-width: 100%;
        margin: 0;
        min-height: 100vh;
      }
      .kyc-main .kyc-modal-content {
        min-height: 100vh;
        border-radius: 0 !important;
      }
    }

    .kyc-main .kyc-modal-content {
      background: #FFFFFF;
      border-radius: 28px;
      border: 1px solid #E2E8F0;
      box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.25);
      position: relative;
      overflow: hidden;
      padding: 1.5rem 1.35rem 1.75rem 1.35rem;
    }

    /* Modal Header Bar */
    .kyc-main .kyc-header-bar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 1.25rem;
      padding-bottom: 0.25rem;
    }

    .kyc-main .kyc-btn-icon {
      background: transparent;
      border: none;
      cursor: pointer;
      color: #1E293B;
      font-size: 1.35rem;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0.25rem;
      border-radius: 8px;
      transition: all 0.15s ease;
    }

    .kyc-main .kyc-btn-icon:hover {
      background: #F1F5F9;
      color: #0F172A;
    }

    .kyc-main .kyc-header-title {
      font-size: 1.0625rem;
      font-weight: 700;
      color: #0F172A;
      margin: 0;
      letter-spacing: -0.01em;
    }

    /* Stepper Component */
    .kyc-main .stepper-wrap {
      display: flex;
      align-items: center;
      justify-content: space-between;
      position: relative;
      margin-bottom: 1.5rem;
      padding: 0 0.5rem;
    }

    .kyc-main .step-item {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.35rem;
      position: relative;
      z-index: 2;
    }

    .kyc-main .step-circle {
      width: 34px;
      height: 34px;
      border-radius: 50%;
      background: #FFFFFF;
      border: 1.5px solid #CBD5E1;
      color: #94A3B8;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.875rem;
      font-weight: 700;
      transition: all 0.25s ease;
    }

    .kyc-main .step-label {
      font-size: 0.75rem;
      font-weight: 600;
      color: #94A3B8;
      transition: all 0.25s ease;
    }

    /* Active Step */
    .kyc-main .step-item.active .step-circle {
      border-color: #EA580C;
      color: #EA580C;
      background: #FFF1EB;
      box-shadow: 0 0 0 4px rgba(234, 88, 12, 0.15);
    }

    .kyc-main .step-item.active .step-label {
      color: #0F172A;
      font-weight: 700;
    }

    /* Completed Step */
    .kyc-main .step-item.completed .step-circle {
      background: #EA580C;
      border-color: #EA580C;
      color: #FFFFFF;
    }

    .kyc-main .step-item.completed .step-label {
      color: #EA580C;
      font-weight: 700;
    }

    /* Stepper Connector Bar */
    .kyc-main .stepper-line {
      position: absolute;
      top: 17px;
      left: 12%;
      right: 12%;
      height: 2px;
      background: #E2E8F0;
      z-index: 1;
    }

    .kyc-main .stepper-line-progress {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 0%;
      background: #EA580C;
      transition: width 0.35s ease;
    }

    /* Step Wise Frame Container (Wraps Authority Card + Input Fields) */
    .kyc-main .kyc-step-frame {
      background: #FFFFFF;
      border: 1px solid #EEF2F6;
      border-radius: 20px;
      padding: 1.25rem;
      margin-bottom: 1.25rem;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
      transition: all 0.2s ease;
    }

    .kyc-main .kyc-step-frame:hover {
      border-color: #E2E8F0;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
    }

    /* Step-wise Frame Classes */
    .kyc-main .step-1-frame,
    .kyc-main .step-2-frame,
    .kyc-main .step-3-frame,
    .kyc-main .step-4-frame,
    .kyc-main .step-5-frame {
      position: relative;
    }

    /* Step-wise Pane Transition Animation */
    .kyc-main .step-1-pane,
    .kyc-main .step-2-pane,
    .kyc-main .step-3-pane,
    .kyc-main .step-4-pane,
    .kyc-main .step-5-pane {
      animation: fadeInStep 0.25s ease;
    }

    @keyframes fadeInStep {
      from { opacity: 0; transform: translateY(6px); }
      to { opacity: 1; transform: translateY(0); }
    }

    /* Authority Logos Container (Mockup media_1790671298959.png) */
    .kyc-main .authority-logos-card {
      background: #FFFFFF;
      border: 1.5px solid #E2E8F0;
      border-radius: 16px;
      padding: 0.85rem 1.25rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 1.25rem;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
    }

    .kyc-main .authority-logos-card.is-disabled-card {
      background: #F8FAFC;
      border-color: #EEF2F6;
      opacity: 0.75;
    }

    .kyc-main .authority-logos-left {
      display: flex;
      align-items: center;
      gap: 0.75rem;
    }

    /* NSDL Badge */
    .kyc-main .nsdl-logo-wrap {
      display: inline-flex;
      align-items: center;
      gap: 0.45rem;
      font-weight: 800;
      font-size: 1.125rem;
      color: #003366;
      letter-spacing: -0.01em;
    }

    .kyc-main .nsdl-circle-dot {
      width: 11px;
      height: 11px;
      background-color: #EA580C;
      border-radius: 50%;
      flex-shrink: 0;
    }

    /* Govt of India Ashoka Lion Badge */
    .kyc-main .govt-india-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      text-align: right;
    }

    .kyc-main .govt-lion-symbol {
      width: 24px;
      height: 28px;
      object-fit: contain;
      flex-shrink: 0;
    }

    .kyc-main .govt-india-text {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      line-height: 1.2;
    }

    .kyc-main .govt-hindi {
      font-size: 0.75rem;
      font-weight: 700;
      color: #1E293B;
    }

    .kyc-main .govt-english {
      font-size: 0.8125rem;
      font-weight: 800;
      color: #0F172A;
      letter-spacing: 0.02em;
    }

    /* Aadhaar Authority Header */
    .kyc-main .aadhaar-logos-card {
      background: #FFFFFF;
      border: 1.5px solid #E2E8F0;
      border-radius: 16px;
      padding: 0.85rem 1.25rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 1.25rem;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
    }

    .kyc-main .aadhaar-tricolor-strip {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.2rem;
    }

    .kyc-main .tricolor-bar {
      width: 84px;
      height: 4px;
      border-radius: 2px;
      background: linear-gradient(90deg, #FF9933 0%, #FFFFFF 50%, #138808 100%);
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    }

    .kyc-main .aadhaar-gov-text {
      font-size: 0.625rem;
      font-weight: 700;
      color: #334155;
    }

    .kyc-main .aadhaar-emblem-icon {
      width: 28px;
      height: 28px;
      color: #EA580C;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    /* Form Input Group inside Frame */
    .kyc-main .kyc-input-group {
      margin-bottom: 0.5rem;
    }

    .kyc-main .kyc-input-label {
      font-size: 0.9375rem;
      font-weight: 700;
      color: #1E293B;
      margin-bottom: 0.5rem;
      display: block;
    }

    .kyc-main .kyc-text-input {
      width: 100%;
      height: 54px;
      padding: 0.75rem 1.25rem;
      font-size: 1.125rem;
      font-weight: 700;
      color: #0F172A;
      background-color: #FFFFFF;
      border: 1.5px solid #CBD5E1;
      border-radius: 16px;
      outline: none;
      transition: all 0.15s ease;
      letter-spacing: 0.05em;
    }

    .kyc-main .kyc-text-input:focus {
      border-color: #EA580C;
      box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.15);
    }

    .kyc-main .kyc-text-input:disabled,
    .kyc-main .kyc-text-input.is-readonly {
      background-color: #F8FAFC;
      border-color: #E2E8F0;
      color: #64748B;
      cursor: not-allowed;
    }

    .kyc-main .kyc-text-input.is-invalid {
      border-color: #EF4444 !important;
      background-color: #FEF2F2 !important;
      box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.18) !important;
    }

    /* Checkbox Disclaimer */
    .kyc-main .kyc-checkbox-wrap {
      display: flex;
      align-items: flex-start;
      gap: 0.6rem;
      margin-top: 1.5rem;
      margin-bottom: 1.5rem;
    }

    .kyc-main .kyc-checkbox {
      width: 18px;
      height: 18px;
      accent-color: #EA580C;
      cursor: pointer;
      margin-top: 0.15rem;
      flex-shrink: 0;
    }

    .kyc-main .kyc-checkbox-label {
      font-size: 0.75rem;
      color: #475569;
      line-height: 1.4;
      cursor: pointer;
      font-weight: 500;
    }

    /* Action Buttons */
    .kyc-main .btn-kyc-action {
      background: linear-gradient(135deg, #EA580C 0%, #D94615 100%);
      color: #FFFFFF;
      font-size: 0.9375rem;
      font-weight: 700;
      padding: 0.85rem 1.5rem;
      border-radius: var(--radius-pill);
      border: none;
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      box-shadow: 0 4px 14px rgba(234, 88, 12, 0.3);
      transition: all 0.2s ease;
      cursor: pointer;
      text-decoration: none;
    }

    .kyc-main .btn-kyc-action:hover:not(:disabled) {
      background: linear-gradient(135deg, #D94615 0%, #C2410C 100%);
      color: #FFFFFF;
      transform: translateY(-1px);
      box-shadow: 0 6px 18px rgba(234, 88, 12, 0.35);
    }

    .kyc-main .btn-kyc-action:disabled,
    .kyc-main .btn-kyc-action.disabled,
    .kyc-main .btn-kyc-action.is-loading {
      opacity: 0.45;
      cursor: not-allowed;
      box-shadow: none;
      transform: none;
      pointer-events: none;
    }

    .kyc-main .btn-kyc-action:not(:disabled):not(.disabled) {
      opacity: 1;
      cursor: pointer;
      pointer-events: auto;
    }

    /* Screen 2: Animated Loader Dots */
    .kyc-main .loader-dots-wrap {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      padding: 1.25rem 0;
    }

    .kyc-main .loader-dot {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background-color: #EA580C;
      animation: bounceDot 1.4s infinite ease-in-out both;
    }

    .kyc-main .loader-dot:nth-child(1) { animation-delay: -0.32s; }
    .kyc-main .loader-dot:nth-child(2) { animation-delay: -0.16s; }
    .kyc-main .loader-dot:nth-child(3) { animation-delay: 0s; }

    @keyframes bounceDot {
      0%, 80%, 100% {
        transform: scale(0.6);
        opacity: 0.4;
      }
      40% {
        transform: scale(1.15);
        opacity: 1;
      }
    }

    /* Screen 2: PAN Verified Success Card & Banner */
    .kyc-main .pan-verified-success-box {
      background: #F0FDF4;
      border: 1.5px solid #86EFAC;
      box-shadow: 0 4px 14px rgba(22, 163, 74, 0.08);
      animation: fadeInStep 0.3s ease;
    }

    .kyc-main .pan-success-icon-wrap {
      width: 56px;
      height: 56px;
      background: #DCFCE7;
      color: #16A34A;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.85rem;
    }

    .kyc-main .pan-verified-strip {
      background: #F0FDF4;
      border: 1.5px solid #BBF7D0;
      border-radius: 12px;
      padding: 0.65rem 1rem;
      animation: fadeInStep 0.25s ease;
    }

    /* Screen 4: 6-Digit OTP Grid */
    .kyc-main .otp-subtitle {
      font-size: 0.78125rem;
      color: #64748B;
      line-height: 1.35;
      margin-bottom: 0.875rem;
    }

    .kyc-main .digit-input-grid {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      gap: 0.45rem;
      margin-bottom: 0.875rem;
    }

    .kyc-main .digit-box {
      width: 100%;
      aspect-ratio: 1 / 1;
      border: 1.5px solid #CBD5E1;
      border-radius: 10px;
      font-size: 1.25rem;
      font-weight: 800;
      text-align: center;
      color: #0F172A;
      background: #FFFFFF;
      outline: none;
      transition: all 0.15s ease;
      caret-color: #EA580C;
    }

    .kyc-main .digit-box:focus {
      border-color: #EA580C;
      background: #FFF1EB;
      box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.18);
    }

    .kyc-main .digit-box.filled {
      border-color: #EA580C;
      background-color: #FFF1EB;
    }

    .kyc-main .digit-box.is-invalid {
      border-color: #EF4444 !important;
      background-color: #FEF2F2 !important;
      box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2) !important;
    }

    .kyc-main .otp-timer-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 0.75rem;
    }

    .kyc-main .otp-timer {
      font-size: 0.8125rem;
      font-weight: 700;
      color: #1E293B;
      display: flex;
      align-items: center;
      gap: 0.35rem;
    }

    .kyc-main .btn-resend-text {
      background: transparent;
      border: none;
      padding: 0;
      font-size: 0.8125rem;
      font-weight: 600;
      color: #EA580C;
      cursor: pointer;
      transition: color 0.15s ease;
    }

    .kyc-main .btn-resend-text:hover:not(:disabled) {
      color: #C2410C;
      text-decoration: underline;
    }

    .kyc-main .btn-resend-text:disabled {
      color: #94A3B8;
      cursor: not-allowed;
      text-decoration: none;
    }

    .kyc-main .change-number-link {
      font-size: 0.75rem;
      color: #64748B;
      margin-bottom: 1rem;
    }

    .kyc-main .change-number-link a {
      color: #0F172A;
      font-weight: 700;
      text-decoration: underline;
      cursor: pointer;
    }

    /* Screen 5: KYC Completed View */
    .kyc-main .success-badge-icon {
      width: 68px;
      height: 68px;
      border-radius: 50%;
      background: #DCFCE7;
      color: #16A34A;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 2.5rem;
      margin: 0.5rem auto 1rem auto;
      box-shadow: 0 0 0 8px rgba(22, 163, 74, 0.12);
      animation: pulseGreen 2.2s infinite;
    }

    @keyframes pulseGreen {
      0% { box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.35); }
      70% { box-shadow: 0 0 0 14px rgba(22, 163, 74, 0); }
      100% { box-shadow: 0 0 0 0 rgba(22, 163, 74, 0); }
    }

    .kyc-main .success-main-title {
      font-size: 1.25rem;
      font-weight: 800;
      color: #0F172A;
      margin-bottom: 0.25rem;
    }

    .kyc-main .success-main-desc {
      font-size: 0.78125rem;
      color: #64748B;
      line-height: 1.45;
      margin-bottom: 1.5rem;
    }

    .kyc-main .verified-doc-card {
      background: #FFFFFF;
      border: 1px solid #E2E8F0;
      border-radius: 14px;
      padding: 1rem;
      margin-bottom: 0.875rem;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
      text-align: left;
    }

    .kyc-main .verified-doc-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 0.75rem;
      padding-bottom: 0.5rem;
      border-bottom: 1px dashed #E2E8F0;
    }

    .kyc-main .doc-type-title {
      font-size: 0.75rem;
      font-weight: 700;
      color: #64748B;
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }

    .kyc-main .doc-number-label {
      font-size: 0.6875rem;
      color: #64748B;
      margin-bottom: 0.15rem;
    }

    .kyc-main .doc-number-val {
      font-size: 0.9375rem;
      font-weight: 800;
      color: #0F172A;
      letter-spacing: 0.05em;
    }

    /* Screen 6: Vibrant Success Bootstrap 5.3 Modal */
    .kyc-main .kyc-success-modal-dialog {
      max-width: 440px;
      margin: 1.5rem auto;
    }

    .kyc-main .kyc-success-modal-content {
      background: linear-gradient(135deg, #FF6B4A 0%, #351C4D 100%);
      border-radius: 26px;
      color: #FFFFFF;
      border: 1px solid rgba(255, 255, 255, 0.2);
      box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.45);
      overflow: hidden;
    }

    .kyc-main .success-dialog-icon {
      width: 64px;
      height: 64px;
      border-radius: 50%;
      background: #10B981;
      color: #FFFFFF;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 2.2rem;
      margin: 0 auto 1.25rem auto;
      box-shadow: 0 0 0 8px rgba(16, 185, 129, 0.35);
    }

    .kyc-main .success-dialog-title {
      font-size: 1.35rem;
      font-weight: 800;
      margin-bottom: 0.5rem;
      letter-spacing: -0.01em;
      color: #FFFFFF;
    }

    .kyc-main .success-dialog-desc {
      font-size: 0.8125rem;
      opacity: 0.92;
      line-height: 1.45;
      margin-bottom: 1.5rem;
      color: #FFFFFF;
    }

    .kyc-main .btn-dialog-notnow {
      background: rgba(255, 255, 255, 0.15);
      border: 1px solid rgba(255, 255, 255, 0.4);
      color: #FFFFFF;
      font-size: 0.875rem;
      font-weight: 700;
      padding: 0.65rem 1.25rem;
      border-radius: 50px;
      transition: all 0.15s ease;
      cursor: pointer;
    }

    .kyc-main .btn-dialog-notnow:hover {
      background: rgba(255, 255, 255, 0.25);
      color: #FFFFFF;
    }

    .kyc-main .btn-dialog-bank {
      background: #EA580C;
      border: 1px solid #EA580C;
      color: #FFFFFF;
      font-size: 0.875rem;
      font-weight: 700;
      padding: 0.65rem 1.5rem;
      border-radius: 50px;
      box-shadow: 0 4px 12px rgba(234, 88, 12, 0.4);
      transition: all 0.15s ease;
      cursor: pointer;
      text-decoration: none;
      display: inline-block;
    }

    .kyc-main .btn-dialog-bank:hover {
      background: #D94615;
      color: #FFFFFF;
      transform: translateY(-1px);
    }

    /* Inline Validation Alerts */
    .kyc-main .validation-alert {
      background: #FEF2F2;
      border: 1px solid #FECACA;
      color: #DC2626;
      font-size: 0.75rem;
      font-weight: 600;
      border-radius: 8px;
      padding: 0.45rem 0.75rem;
      margin-top: 0.5rem;
      display: flex;
      align-items: center;
      gap: 0.4rem;
      animation: shakeX 0.4s ease;
    }

    @keyframes shakeX {
      0%, 100% { transform: translateX(0); }
      20%, 60% { transform: translateX(-4px); }
      40%, 80% { transform: translateX(4px); }
    }