161 lines
4.2 KiB
CSS
161 lines
4.2 KiB
CSS
/*
|
|
File contains the styles for the login page
|
|
--> defines the layout of the login screen
|
|
*/
|
|
|
|
.login-page {
|
|
min-height: 100vh;
|
|
display: flex; /* enables flexbox layout for centering */
|
|
justify-content: center; /* horizontally centers the card */
|
|
align-items: center; /* vertically centers the card */
|
|
padding: 24px; /* space inside the page edges */
|
|
/* Layered background: two soft radial gradients for color accents, then the main background color */
|
|
background:
|
|
radial-gradient(circle at top left, rgba(59, 130, 246, 0.12), transparent 35%),
|
|
radial-gradient(circle at bottom right, rgba(236, 72, 153, 0.10), transparent 30%),
|
|
var(--bg);
|
|
}
|
|
|
|
/* Main login card container */
|
|
.login-card {
|
|
width: 100%;
|
|
max-width: 430px; /* prevents the card from getting too wide on large screens */
|
|
background: var(--card); /* uses card color from variables.css */
|
|
border-radius: 24px; /* rounded corners */
|
|
box-shadow: var(--shadow); /* soft shadow for card elevation */
|
|
padding: 40px 32px; /* inner spacing for content */
|
|
}
|
|
|
|
/* Logo area above the form */
|
|
.login-logo-wrapper {
|
|
display: flex; /* centers logo horizontally */
|
|
justify-content: center;
|
|
margin-bottom: 20px;
|
|
width: 100%;
|
|
overflow: hidden; /* hides any part of the logo that overflows the container */
|
|
}
|
|
|
|
/* Full logo styling */
|
|
.login-logo {
|
|
width: 100%;
|
|
max-width: 220px; /* logo never exceeds this width */
|
|
height: auto;
|
|
display: block;
|
|
object-fit: contain; /* keeps logo aspect ratio, prevents stretching */
|
|
}
|
|
|
|
.login-title {
|
|
font-size: 2rem;
|
|
font-weight: 700;
|
|
text-align: center;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
.login-subtitle {
|
|
text-align: center;
|
|
color: var(--text-muted);
|
|
margin-bottom: 28px;
|
|
}
|
|
|
|
/* Form layout */
|
|
.login-form {
|
|
display: flex;
|
|
flex-direction: column; /* stack form fields vertically */
|
|
gap: 18px; /* vertical space between form groups */
|
|
}
|
|
|
|
.form-group {
|
|
display: flex;
|
|
flex-direction: column; /* label above input */
|
|
gap: 8px; /* space between label and input */
|
|
}
|
|
|
|
.form-group label {
|
|
font-weight: 600;
|
|
font-size: 0.95rem;
|
|
}
|
|
|
|
.form-group input {
|
|
width: 100%;
|
|
padding: 14px 16px; /* vertical and horizontal padding for input */
|
|
border: 1px solid #dbe2ea; /* subtle border */
|
|
border-radius: 14px; /* rounded input corners */
|
|
background: #ffffff;
|
|
font-size: 1rem;
|
|
color: var(--text);
|
|
}
|
|
|
|
/* Highlight input when focused */
|
|
.form-group input:focus {
|
|
outline: none; /* removes default browser outline */
|
|
border-color: #7c3aed; /* purple border on focus */
|
|
box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.10); /* soft glow for focus state */
|
|
}
|
|
|
|
/* Password field with button inside the same row */
|
|
.password-wrapper {
|
|
display: flex; /* input and button in one row */
|
|
align-items: center; /* vertically center input and button */
|
|
gap: 10px; /* space between input and show/hide button */
|
|
}
|
|
|
|
.password-wrapper input {
|
|
flex: 1; /* input takes all available space, button stays compact */
|
|
}
|
|
|
|
.toggle-password {
|
|
border: none;
|
|
background: transparent; /* no background for button */
|
|
color: #64748b;
|
|
font-weight: 600;
|
|
cursor: pointer; /* pointer cursor for better UX */
|
|
}
|
|
|
|
/* Main login action button */
|
|
.login-button {
|
|
margin-top: 4px;
|
|
border: none;
|
|
border-radius: 14px;
|
|
padding: 14px 18px;
|
|
background: var(--gradient); /* uses a gradient background from variables */
|
|
color: white;
|
|
font-size: 1rem;
|
|
font-weight: 700;
|
|
cursor: pointer;
|
|
box-shadow: 0 8px 20px rgba(99, 102, 241, 0.22); /* blue shadow for button depth */
|
|
}
|
|
|
|
.login-button:hover {
|
|
opacity: 0.95; /* slight fade on hover for feedback */
|
|
}
|
|
|
|
.signup-text {
|
|
margin-top: 24px;
|
|
text-align: center;
|
|
color: var(--text-muted);
|
|
/* used for the 'Don't have an account?' and link below the form */
|
|
}
|
|
|
|
.signup-text a {
|
|
color: #2563eb;
|
|
text-decoration: none;
|
|
font-weight: 600;
|
|
/* blue link for sign up/login */
|
|
}
|
|
|
|
/* Smaller spacing and sizing for narrow screens */
|
|
@media (max-width: 480px) {
|
|
/* Responsive adjustments for small screens (mobile) */
|
|
.login-card {
|
|
padding: 28px 20px; /* less padding on mobile */
|
|
border-radius: 20px; /* slightly less rounded */
|
|
}
|
|
|
|
.login-title {
|
|
font-size: 1.7rem; /* smaller title on mobile */
|
|
}
|
|
|
|
.login-logo {
|
|
max-width: 170px; /* smaller logo on mobile */
|
|
}
|
|
} |