
    .login-card {
      border: 2px solid #e1bee7;
      border-radius: 2rem;
      box-shadow: 0 20px 50px -15px rgba(156, 39, 176, 0.15), 0 0 0 6px rgba(225, 190, 231, 0.2);
      background: #ffffff;
      transition: all 0.3s ease;
    }
    .login-card:hover {
      box-shadow: 0 25px 60px -15px rgba(156, 39, 176, 0.25), 0 0 0 6px rgba(225, 190, 231, 0.35);
      transform: translateY(-3px);
    }
    .card-header {
      background: linear-gradient(135deg, #ce93d8 0%, #f48fb1 100%);
      border-radius: 1.9rem 1.9rem 0 0;
      padding: 2rem 2rem 1.5rem;
      border-bottom: none;
    }
    .card-header h3 {
      font-weight: 700;
      color: #ffffff;
      letter-spacing: -0.5px;
    }
    .card-header h3 i { color: #fce4ec; }
    .card-header p { color: #f8e1ff !important; }
    .form-floating > label { color: #7b5e8a; font-weight: 500; }
    .form-control {
      background-color: #fdf9ff;
      border: 1.5px solid #e1bee7;
      color: #4a3b5c;
      border-radius: 0.75rem;
    }
    .form-control:focus {
      background-color: #ffffff;
      border-color: #ce93d8;
      box-shadow: 0 0 0 0.25rem rgba(206, 147, 216, 0.2);
      color: #4a3b5c;
    }
    .form-control::placeholder { color: #b8a5c4; }
    .form-control.with-icon { border-left: 0; }
    .input-group-text {
      background-color: #fdf9ff;
      border: 1.5px solid #e1bee7;
      border-right: none;
      color: #ce93d8;
      border-radius: 0.75rem 0 0 0.75rem;
    }
    .input-group .form-control { border-radius: 0 0.75rem 0.75rem 0; }
    .form-control.is-valid, .form-control.is-valid:focus {
      border-color: #ab47bc;
      box-shadow: 0 0 0 0.25rem rgba(171, 71, 188, 0.15);
      background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23ab47bc' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
    }
    .form-control.is-invalid, .form-control.is-invalid:focus {
      border-color: #e57373;
      box-shadow: 0 0 0 0.25rem rgba(229, 115, 115, 0.15);
    }
    .invalid-feedback { color: #e57373; }
    .password-hint { color: #9a7aaa; }
    .btn-login {
      background: linear-gradient(135deg, #ce93d8 0%, #f48fb1 100%);
      border: none;
      padding: 0.9rem;
      font-weight: 700;
      border-radius: 0.75rem;
      color: #ffffff;
      transition: all 0.25s ease;
      box-shadow: 0 4px 15px rgba(206, 147, 216, 0.3);
    }
    .btn-login:hover {
      background: linear-gradient(135deg, #d8a5e0 0%, #f8a5b8 100%);
      color: #ffffff;
      box-shadow: 0 8px 25px rgba(206, 147, 216, 0.45);
      transform: translateY(-1px);
    }
    .btn-login:disabled { background: #d4c8dc; color: #fdf9ff; box-shadow: none; }
    .login-link { color: #ab47bc; text-decoration: none; font-weight: 600; }
    .login-link:hover { text-decoration: underline; color: #ce93d8; }
    .form-check-input { background-color: #fdf9ff; border: 1.5px solid #e1bee7; }
    .form-check-input:checked { background-color: #ce93d8; border-color: #ce93d8; }
    .form-check-input:focus { border-color: #ce93d8; box-shadow: 0 0 0 0.2rem rgba(206, 147, 216, 0.2); }
    .form-check-label { color: #7b5e8a !important; }
    .alert-success { background-color: #fdf9ff; border-color: #ce93d8; color: #4a3b5c; }
    .alert-success .btn-close { filter: none; }
    .alert-danger { background-color: #fdf9ff; border-color: #e57373; color: #4a3b5c; }
    .alert-danger .btn-close { filter: none; }
    .card-body { padding: 1.5rem 2rem 2rem; }
    .form-floating > label i { color: #ce93d8; opacity: 0.7; }
    .divider {
      display: flex;
      align-items: center;
      text-align: center;
      color: #b8a5c4;
      font-size: 0.85rem;
      margin: 1.25rem 0;
    }
    .divider::before, .divider::after {
      content: '';
      flex: 1;
      border-bottom: 1px solid #e1bee7;
    }
    .divider::before { margin-right: 0.75rem; }
    .divider::after { margin-left: 0.75rem; }
    .social-btn {
      border: 1.5px solid #e1bee7;
      background: #fdf9ff;
      color: #7b5e8a;
      border-radius: 0.75rem;
      padding: 0.6rem;
      transition: all 0.2s ease;
    }
    .social-btn:hover {
      background: #f3e8ff;
      border-color: #ce93d8;
      color: #ab47bc;
    }
    .password-toggle {
      cursor: pointer;
      color: #ce93d8;
      border-left: none;
      border-radius: 0 0.75rem 0.75rem 0;
    }
    .password-toggle:hover { color: #ab47bc; }
