    :root {
      --vc-primary: #0f4c81;
      --vc-primary-dark: #0b3d68;
      --vc-bg: #f4f6fb;
      --vc-text: #111827;
      --vc-muted: #6b7280;
      --vc-border: #e5e7eb;
    }

    * {
      box-sizing: border-box;
    }

    body {
      min-height: 100vh;
      margin: 0;
      font-family: 'Poppins', Arial, sans-serif;
      color: var(--vc-text);
      background-image: url('../img/background2.png');
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      background-attachment: fixed;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 24px;
    }

    .validate-wrap {
      width: 100%;
      max-width: 560px;
    }

    .validate-card {
      background: #fff;
      border: 1px solid var(--vc-border);
      border-radius: 24px;
      padding: 38px 34px;
      box-shadow: 0 22px 55px rgba(15, 23, 42, 0.13);
    }

    .brand-box {
      display: flex;
      align-items: center;
      gap: 14px;
      margin-bottom: 24px;
    }

    .brand-icon {
    width: 120px;
    height: auto;
    margin: 0 auto 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    }

    .brand-icon img {
    max-width: 100%;
    max-height: 90px;
    object-fit: contain;
    display: block;
    }

    .brand-title {
      margin: 0;
      font-size: 25px;
      line-height: 1.2;
      font-weight: 700;
    }

    .brand-subtitle {
      margin: 5px 0 0;
      color: var(--vc-muted);
      font-size: 14px;
      line-height: 1.5;
    }

    .form-label {
      font-weight: 600;
      color: #374151;
    }

    .form-control {
      border-radius: 14px;
      padding: 14px 16px;
      font-size: 17px;
      letter-spacing: 1px;
      text-transform: uppercase;
    }

    .form-control:focus {
      border-color: var(--vc-primary);
      box-shadow: 0 0 0 .25rem rgba(15, 76, 129, .15);
    }

    .btn-validate {
      width: 100%;
      border: none;
      border-radius: 14px;
      padding: 14px 18px;
      background: #005740;
      color: #fff;
      font-weight: 700;
      transition: background .2s ease, transform .2s ease;
    }

    .btn-validate:hover,
    .btn-validate:focus {
      background: black;
      color: #fff;
      transform: translateY(-1px);
    }

    .alert {
      border-radius: 14px;
      font-size: 14px;
    }

    .help-text {
      margin: 18px 0 0;
      color: var(--vc-muted);
      font-size: 13px;
      line-height: 1.6;
      text-align: center;
    }

    @media (max-width: 520px) {
      .validate-card {
        padding: 28px 22px;
      }

      .brand-box {
        align-items: flex-start;
      }

      .brand-title {
        font-size: 22px;
      }
    }