/* CSS Custom Properties (Variables) - Update with your actual color values */
/* :root {
 --color-theme-light-gray: #d3d3d3; 
 --color-theme-dark-gray: #a9a9a9; 
 --color-theme-hover-dark-gray: #808080;
 --color-white: #ffffff; 
} */

/* Root container */
.root {
 display: flex;
 align-items: center;
 justify-content: center;
 background: var(--color-primary);
 height: 100vh;
}

/* Main container */
.container {
 width: 100%;
 max-width: 460px;
 margin: 20px;
 border-radius: 12px;
 box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
 background: var(--color-white);
}

/* Form section */
.form-section {
 width: 100%;
 background: var(--color-white);
 border-radius: 8px;
}

/* Paper (wrapper for form) */
.paper {
 width: 100%;
 background: var(--color-white);
 border-radius: 8px;
}

/* Card content (form) */
.card-content {
 border-radius: 8px;
 padding: 40px;
 display: flex;
 flex-direction: column;
 width: 100%;
 background: var(--color-white);
}

/* Logo container */
.logo-container {
 text-align: center;
}

.login-logo {
 height: 80px;
 width: auto;
 max-width: 100%;
}

/* Title */
.title {
 font-family: "Gotham-Bold";
 color: var(--color-primary);
 margin-bottom: 8px;
 font-size: 1.75rem;
 text-align: center;
 margin: 0 0 8px 0;
}

/* Subtitle */
.subtitle {
 margin-bottom: 24px;
 font-size: 1rem;
 color: var(--color-primary);
 font-family: "Gotham Medium";
 /* text-align: center; */
}

/* Input labels */
.card-content label {
 font-family: "Gotham Medium";
 margin-top: 8px;
 display: block;
 color: var(--color-secondary);
 font-size: 14px;
 font-weight: 500 !important;
}

/* Inputs */
.input {
 width: 100%;
 padding: 16px; /* Full width with padding */
 margin: 8px 0; /* Equivalent to margin="normal" */
 border: 1px solid var(--color-secondary);
 border-radius: 4px;
 font-size: 14px;
 box-sizing: border-box;
}

.input:focus {
 outline: none;
 border-color: var(--color-primary);
 box-shadow: 0 0 0 2px rgba(62, 74, 116, 0.2);
}

/* Button container */
.button-container {
 display: flex;
 gap: 16px; /* Equivalent to theme.spacing(2) */
 margin-top: 16px; /* Equivalent to theme.spacing(2) */
}

/* Primary button */
.primary-button {
 width: 100%;
 padding: 16px 24px;
 background: var(--color-primary);
 color: var(--color-white);
 text-transform: none;
 font-family: "Gotham Medium";
 border: none;
 border-radius: 8px;
 cursor: pointer;
 transition: all 0.3s ease;
 font-size: 16px;
}

.primary-button:hover {
 background: var(--color-primary-dark);
 transform: translateY(-1px);
 box-shadow: 0 8px 25px rgba(62, 74, 116, 0.3);
}

/* Responsive adjustments */
@media (max-width: 767px) {
 .root {
  padding: 16px;
  align-items: flex-start;
  padding-top: 40px;
 }
 .container {
  max-width: 100%;
  margin: 0;
 }
 .card-content {
  padding: 24px;
 }
 .title {
  font-size: 1.25rem;
 }
 .subtitle {
  font-size: 0.85rem;
 }
 .input {
  padding: 12px;
  font-size: 13px;
 }
 .primary-button {
  padding: 14px 20px;
  font-size: 14px;
 }
 .login-logo {
  height: 60px;
 }
}

@media (max-width: 480px) {
 .card-content {
  padding: 20px 16px;
 }
 .login-logo {
  height: 50px;
 }
 .subtitle {
  font-size: 0.8rem;
  margin-bottom: 16px;
 }
 .input {
  padding: 10px 12px;
 }
 .primary-button {
  padding: 12px;
  font-size: 13px;
 }
}
/* Error message styling */
.error-message {
    background-color: #fee;
    border: 1px solid #fcc;
    border-radius: 4px;
    color: #c33;
    padding: 12px;
    margin-bottom: 16px;
    font-family: "Gotham Medium";
    font-size: 14px;
    text-align: center;
}

/* Disabled button state */
.primary-button:disabled {
    background: #ccc;
    cursor: not-allowed;
    transform: none;
}

.primary-button:disabled:hover {
    background: #ccc;
    transform: none;
    box-shadow: none;
}