:root {
        --navy: #1B3A6B;
        --navy-d: #122849;
        --teal: #00C9A7;
        --sky: #4FC3F7;
        --red: #EF5350;
        --bg: #EEF3FB;
        --card: #fff;
        --border: #D4E0F2;
        --text: #1a2a45;
        --muted: #6e86a8;
        --mono: 'DM Mono', monospace;
        --display: 'Inter', system-ui, -apple-system, sans-serif
      }

      * {
        box-sizing: border-box;
        margin: 0;
        padding: 0
      }

      body {
        font-family: var(--display);
        background: var(--bg);
        min-height: 100vh;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        overflow: hidden
      }

      .bg-left {
        position: fixed;
        left: 0;
        top: 0;
        bottom: 0;
        width: 46%;
        background: linear-gradient(160deg, var(--navy-d) 0%, var(--navy) 50%, #1a4a8a 100%);
        z-index: 0
      }

      .bg-deco {
        position: fixed;
        left: 0;
        top: 0;
        bottom: 0;
        width: 46%;
        z-index: 1;
        pointer-events: none;
        overflow: hidden
      }

      .deco-circle {
        position: absolute;
        border-radius: 50%;
        background: radial-gradient(circle, rgba(0, 201, 167, .18), transparent 70%)
      }

      .deco-c1 {
        width: 400px;
        height: 400px;
        top: -80px;
        left: -80px;
        animation: dc 12s ease-in-out infinite alternate
      }

      .deco-c2 {
        width: 300px;
        height: 300px;
        bottom: 40px;
        left: 60px;
        background: radial-gradient(circle, rgba(79, 195, 247, .14), transparent 70%);
        animation: dc 16s ease-in-out infinite alternate-reverse
      }

    .client-logo {
        max-width: 160px;
        max-height: 48px;
        object-fit: contain;
        filter: brightness(0) invert(1);
        opacity: .9;
    }      

      @keyframes dc {
        0% {
          transform: scale(1) translate(0, 0)
        }

        100% {
          transform: scale(1.2) translate(30px, 20px)
        }
      }

      .brand-side {
        position: fixed;
        left: 0;
        top: 0;
        bottom: 0;
        width: 46%;
        z-index: 2;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        color: #fff;
        padding: 40px
      }

      .brand-logo {
        width: 64px;
        height: 64px;
        border-radius: 18px;
        background: linear-gradient(135deg, var(--teal), var(--sky));
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 30px;
        margin-bottom: 20px;
        box-shadow: 0 8px 32px rgba(0, 201, 167, .45);
        animation: logoPulse 3s ease-in-out infinite
      }

      @keyframes logoPulse {

        0%,
        100% {
          box-shadow: 0 8px 32px rgba(0, 201, 167, .45)
        }

        50% {
          box-shadow: 0 8px 48px rgba(0, 201, 167, .7)
        }
      }

      .brand-name {
        font-size: 32px;
        font-weight: 800;
        letter-spacing: -.5px
      }

      .brand-name span {
        color: var(--teal)
      }

      .brand-tagline {
        font-size: 13px;
        color: rgba(255, 255, 255, .5);
        font-family: var(--mono);
        text-transform: uppercase;
        letter-spacing: 1.5px;
        margin-top: 6px
      }

      .brand-stats {
        display: flex;
        gap: 32px;
        margin-top: 48px
      }

      .bs-item {
        text-align: center
      }

      .bs-val {
        font-size: 28px;
        font-weight: 800;
        font-family: var(--mono)
      }

      .bs-lbl {
        font-size: 10px;
        color: rgba(255, 255, 255, .45);
        font-family: var(--mono);
        text-transform: uppercase;
        letter-spacing: 1px;
        margin-top: 3px
      }

      .brand-quote {
        margin-top: 48px;
        padding: 20px 24px;
        background: rgba(255, 255, 255, .06);
        border-radius: 14px;
        border: 1px solid rgba(255, 255, 255, .1);
        max-width: 320px;
        text-align: center
      }

      .brand-quote p {
        font-size: 13px;
        color: rgba(255, 255, 255, .7);
        font-family: var(--mono);
        line-height: 1.7
      }

      /* Right form side */
      .form-side {
        margin-left: 46%;
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 40px;
        z-index: 3;
        position: relative
      }

      .auth-card {
        background: var(--card);
        border-radius: 24px;
        padding: 44px 40px;
        width: 100%;
        max-width: 440px;
        box-shadow: 0 20px 60px rgba(27, 58, 107, .12);
        border: 1.5px solid var(--border)
      }

      .auth-title {
        font-size: 24px;
        font-weight: 800;
        color: var(--text);
        margin-bottom: 4px
      }

      .auth-sub {
        font-size: 13px;
        color: var(--muted);
        font-family: var(--mono);
        margin-bottom: 32px
      }

      .form-label {
        font-size: 10.5px;
        font-family: var(--mono);
        color: var(--muted);
        text-transform: uppercase;
        letter-spacing: .8px;
        display: block;
        margin-bottom: 6px
      }

      .form-field {
        position: relative;
        margin-bottom: 18px
      }

      .form-field > i {
        position: absolute;
        left: 13px;
        top: 67%;
        transform: translateY(-50%);
        color: var(--muted);
        font-size: 15px;
        pointer-events: none
      }

      .form-input {
        width: 100%;
        border: 1.5px solid var(--border);
        border-radius: 10px;
        padding: 11px 13px 11px 40px;
        font-family: var(--mono);
        font-size: 13px;
        color: var(--text);
        background: var(--bg);
        outline: none;
        transition: border-color .2s, background .2s
      }

      .form-field:has(.eye-btn) .form-input {
        padding-right: 40px
      }

      .form-input:focus {
        border-color: var(--navy);
        background: #fff
      }

      .form-input::placeholder {
        color: #b0c0d8
      }

      .eye-btn {
        position: absolute;
        right: 12px;
        top: 67%;
        transform: translateY(-50%);
        z-index: 2;
        background: none;
        border: none;
        color: var(--muted);
        cursor: pointer;
        font-size: 15px;
        padding: 4px;
        line-height: 1;
        transition: color .2s
      }

      .eye-btn:hover {
        color: var(--navy)
      }

      .forgot-row {
        display: flex;
        justify-content: flex-end;
        margin-bottom: 22px
      }

      .forgot-link {
        font-size: 12px;
        font-family: var(--mono);
        color: var(--navy);
        text-decoration: none;
        font-weight: 600;
        transition: color .2s
      }

      .forgot-link:hover {
        color: var(--teal)
      }

      .btn-primary-auth {
        width: 100%;
        background: linear-gradient(135deg, var(--navy), #254e8f);
        color: #fff;
        border: none;
        border-radius: 10px;
        padding: 13px;
        font-size: 14px;
        font-family: var(--display);
        font-weight: 700;
        cursor: pointer;
        transition: all .2s;
        letter-spacing: .3px
      }

      .btn-primary-auth:hover {
        background: linear-gradient(135deg, #254e8f, var(--navy));
        transform: translateY(-1px);
        box-shadow: 0 8px 24px rgba(27, 58, 107, .3)
      }

      .divider {
        display: flex;
        align-items: center;
        gap: 12px;
        margin: 22px 0;
        color: var(--muted);
        font-size: 11px;
        font-family: var(--mono)
      }

      .divider::before,
      .divider::after {
        content: '';
        flex: 1;
        height: 1px;
        background: var(--border)
      }

      .auth-footer {
        text-align: center;
        margin-top: 20px;
        font-size: 12.5px;
        color: var(--muted);
        font-family: var(--mono)
      }

      .auth-footer a {
        color: var(--navy);
        text-decoration: none;
        font-weight: 700
      }

      .auth-footer a:hover {
        color: var(--teal)
      }

      .alert-err {
        background: rgba(239, 83, 80, .08);
        border: 1px solid rgba(239, 83, 80, .2);
        border-radius: 9px;
        padding: 10px 14px;
        font-size: 12px;
        font-family: var(--mono);
        color: var(--red);
        margin-bottom: 16px;
        display: none;
        align-items: center;
        gap: 8px
      }

      .alert-err.show {
        display: flex
      }

      .auth-step-hidden {
        display: none !important
      }

      .login-2fa-code {
        letter-spacing: .2em;
        text-align: center;
        font-size: 15px
      }

      .btn-link-2fa {
        display: block;
        width: 100%;
        margin: 4px 0 18px;
        padding: 0;
        border: none;
        background: none;
        color: var(--navy);
        font-family: var(--mono);
        font-size: 12px;
        font-weight: 600;
        cursor: pointer;
        text-align: center;
        transition: color .2s
      }

      .btn-link-2fa:hover {
        color: var(--teal)
      }

      .btn-secondary-auth {
        width: 100%;
        margin-top: 10px;
        background: transparent;
        color: var(--muted);
        border: 1.5px solid var(--border);
        border-radius: 10px;
        padding: 11px;
        font-family: var(--mono);
        font-size: 13px;
        font-weight: 600;
        cursor: pointer;
        transition: border-color .2s, color .2s
      }

      .btn-secondary-auth:hover {
        border-color: var(--navy);
        color: var(--navy)
      }

      @media(max-width:768px) {

        .bg-left,
        .brand-side,
        .bg-deco {
          display: none
        }

        .form-side {
          margin-left: 0;
          padding: 20px
        }

        .auth-card {
          padding: 28px 22px
        }
      }
