.login-wrapper {
  display: flex;
  align-items: flex-start; /* move to top instead of center */
  justify-content: center;
  min-height: 100vh;
  padding-top: 5rem; /* adjust: 3–5rem looks good */
}

.login-card {
  text-align: left;
  width: 500px;
  padding: 2rem;
  background: #ffffff;
  border-radius: 40px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1), 0 10px 25px rgba(0, 0, 0, 0.2);}

#loginbutton {
width: 150px;
height: 30px;
font-family:Arial, Helvetica, sans-serif;
    font-weight:800;            /* make text a bit bolder */
  text-transform: uppercase;   /* make text all caps */
  letter-spacing: 0.5px;       /* add some spacing */
  transition: background-color 0.3s ease;
}

#loginbutton:hover {
  background-color: #1f5b20;   /* darker shade on hover */
}

.md-filled-button#bill-confirm {
    width: 100%;
    border-radius: 12px;
    /* Use Material tokens/vars instead of hard overrides */
    --md-filled-button-container-color: #48d264; /* primary container */
    --md-filled-button-label-text-color: #ffffff;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    box-shadow: 0 14px 26px rgba(17, 40, 26, 0.28);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.md-filled-button#bill-confirm:hover:not([disabled]) {
    transform: translateY(-1px);
    box-shadow: 0 16px 30px rgba(17, 40, 26, 0.32);
}

.md-filled-button#bill-confirm:focus-visible {
    outline: 2px solid #2f783d;
    outline-offset: 2px;
}
/* Style all Material text fields inside the login-card */
.login-card md-outlined-text-field {
  width: 100%;           /* span the full width of the card */
  box-sizing: border-box; /* make padding respect the container width */
  margin-bottom: 1rem;    /* add spacing between fields */
}

.forgot-container {
  display: flex;
  justify-content: flex-end; /* align to the right */
  margin-bottom: 1rem;       /* space before the login button */
}

.forgot-link {
  color: #000000;             /* Google-style blue */
  font-size: 0.9rem;
  text-decoration: none;
  font-weight: bold;
}

.forgot-link:hover {
  text-decoration: underline;
}

.field-label {
  font-weight: 700;       /* make it bold */
  font-size: 1rem;        /* slightly larger for readability */
  color: #1C1B1F;         /* dark text for contrast */
}

.login-form {
  display: flex;
  flex-direction: column;
}

.field-error {
  color: #b3261e;
  font-size: 0.85rem;
  margin-top: -0.25rem;
  margin-bottom: 0.75rem;
}

/* Add responsive padding for small screens */
@media (max-width: 768px) {
  .login-card {
    width: 90%;          /* shrink width for smaller screens */
    padding: 1.5rem;     /* add side padding */
    margin: 0 1rem;      /* small outer margin to prevent edge clash */
    border-radius: 24px; /* slightly smaller corners if needed */
  }

  .login-wrapper {
    padding-top: 3rem;   /* reduce top spacing slightly */
  }
}