  @font-face {
      font-family: 'OpenSans';
      src: url('/static/font/OpenSans-Regular.ttf') format('truetype');
    }

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

    body,
    html {
      font-family: 'OpenSans';
      height: 100%;
      background: white;
      overflow-x: hidden;
    }

    .main-section {
      display: flex;
      flex-wrap: wrap;
      height: 100vh;
      width: 100%;
      background: url("{% static 'images/main.png' %}") no-repeat center center;
      background-size: cover;
      position: relative;
    }

    .logo-container {
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .logo-img {
      width: 33px;
      height: 33px;
    }

    .logo-text {
      font-size: 28px;
      font-weight: 700;
      color: #0787A4;
      margin-left: 10px;
    }

    .right-panel {
      flex: 1;
      min-width: 300px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 2rem;
      background: #fff;
    }

    .robot-img {
      max-width: 440px;
      width: 100%;
      height: auto;
    }

    .form-box {
      background: rgba(255, 255, 255, 0.9);
      padding: 0rem;
      border-radius: 12px;
      width: 100%;
      max-width: 400px;
    }

    h2 {
      font-size: 32px;
      font-weight: 700;
      text-align: center;
      color: #282828;
      margin-top: 20px;
      justify-items: center;
    }

    .welcome-text {
      font-size: 16px;
      color: #282828;
      text-align: center;
      margin-bottom: 1.5rem;
      margin-top: 20px;
    }

    .input-group {
      position: relative;
      display: flex;
      align-items: center;
      border: 1px solid #696A6C;
      border-radius: 12px;
      padding: 0.1rem 1rem;
      background: white;
      margin-bottom: 2rem;
    }

    .input-group img {
      width: 25px;
      height: 25px;
      margin-right: 0.5rem;
    }

    .input-group input {
      flex: 1;
      border: none;
      outline: none;
      font-size: 1rem;
    }

    .form-check-label {
      font-size: 14px;
      font-weight: 500;
      color: #0787A4;
    }

    .form-control {
      height: 56px;
      border-radius: 12px;
      font-size: 16px;
    }

    .btn-primary {
      background: linear-gradient(180deg, #022456 0%, #0787A4 100%);
      border: none;
      border-radius: 12px;
      font-size: 20px;
      font-weight: 700;
      padding: 12px;
    }

    .btn-primary:hover {
      background: linear-gradient(180deg, #011a3a 0%, #056f88 100%);
    }

    a.text-primary {
      font-size: 14px;
      font-weight: 700;
      color: #0787A4 !important;
      text-decoration: none;
    }

    a.text-primary:hover {
      text-decoration: underline;
    }

    .form-control:focus {
      outline: none;
      box-shadow: none;
    }
  .messages-container {
    position: fixed;
    top: 10px;
    right: 20px;
    z-index: 1100; /* Higher than navbar */
    max-width: 400px;
    width: fit-content;
    min-width: 300px;
  }

  .message-alert {
    margin-bottom: 10px;
    padding: 12px 16px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border: none;
    position: relative;
    animation: slideInFromRight 0.5s ease-out;
  }

  .message-alert.alert-success {
    background-color: #d4edda;
    color: #155724;
    border-left: 4px solid #28a745;
  }

  .message-alert.alert-error {
    background-color: #f8d7da;
    color: #721c24;
    border-left: 4px solid #dc3545;
  }

  .message-alert.alert-warning {
    background-color: #fff3cd;
    color: #856404;
    border-left: 4px solid #ffc107;
  }

  .message-alert.alert-info {
    background-color: #cce7ff;
    color: #004085;
    border-left: 4px solid #007bff;
  }

  .message-close {
    position: absolute;
    top: 8px;
    right: 12px;
    background: none;
    border: none;
    font-size: 18px;
    cursor: pointer;
    color: inherit;
    opacity: 0.7;
  }

  .message-close:hover {
    opacity: 1;
  }
   /* Animation for message appearance */
  @keyframes slideInFromRight {
    from {
      transform: translateX(100%);
      opacity: 0;
    }
    to {
      transform: translateX(0);
      opacity: 1;
    }
  }

  /* Animation for message disappearance */
  @keyframes slideOutToRight {
    from {
      transform: translateX(0);
      opacity: 1;
    }
    to {
      transform: translateX(100%);
      opacity: 0;
    }
  }

  .message-alert.hiding {
    animation: slideOutToRight 0.3s ease-in forwards;
  }

    @media (max-width: 768px) {
      .main-section {
        flex-direction: column;
        background-position: center;
      }

      .robot-img {
        max-width: 250px;
        margin-bottom: 2rem;
      }

      .logo-text {
        font-size: 22px;
      }

      .logo-container {
        display: none;
      }

      .left-panel {
        display: none;
      }
    }