/* Login Page Styles - helloRobert Brand Design */

/* Brand Colors */
:root {
    --primary: #5B7C99;
    --primary-hover: #4A6A85;
    --accent: #9B86BD;
    --accent-hover: #8A75AC;
    --charcoal: #4A4A4A;
    --pastel-blue: #C4D0E0;
    --pastel-lavender: #D4C8E3;
}

/* Login page body */
body.login-page {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
    min-height: 100vh;
}

/* Login container */
.login-page .login-container {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    padding: 20px;
    background: transparent;
}

/* Login box */
.login-page .login-box {
    background: white;
    padding: 48px 40px;
    border-radius: 16px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    width: 100%;
    max-width: 420px;
    text-align: center;
}

/* Logo */
.login-logo {
    margin-bottom: 16px;
}

.login-logo img {
    max-width: 200px;
    height: auto;
}

/* Subtitle */
.login-page .subtitle {
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: #666;
    margin-bottom: 32px;
    font-size: 15px;
    letter-spacing: 0.5px;
}

/* Form styles */
.login-page .form-group {
    margin-bottom: 20px;
    text-align: left;
}

.login-page .form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: var(--charcoal);
    font-size: 14px;
}

.login-page .form-group input {
    width: 100%;
    padding: 14px 16px;
    border: 2px solid #e0e0e0;
    border-radius: 10px;
    font-size: 15px;
    font-family: 'Roboto', sans-serif;
    transition: border-color 0.3s, box-shadow 0.3s;
    background: #fafafa;
}

.login-page .form-group input::placeholder {
    color: #999;
}

.login-page .form-group input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 4px rgba(91, 124, 153, 0.15);
    background: white;
}

/* Error message */
.login-page .error-message {
    color: #e74c3c;
    font-size: 14px;
    margin: 16px 0;
    padding: 12px;
    background: #fef2f2;
    border-radius: 8px;
    display: none;
    text-align: left;
}

.login-page .error-message.show {
    display: block;
}

/* Primary button */
.login-page .btn-primary {
    width: 100%;
    padding: 14px;
    background: var(--primary);
    color: white;
    border: none;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 500;
    font-family: 'Plus Jakarta Sans', sans-serif;
    cursor: pointer;
    transition: background 0.3s, transform 0.2s, box-shadow 0.3s;
    margin-top: 8px;
}

.login-page .btn-primary:hover {
    background: var(--primary-hover);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(91, 124, 153, 0.3);
}

.login-page .btn-primary:active {
    transform: translateY(0);
}

/* Mobile responsive */
@media (max-width: 480px) {
    .login-page .login-box {
        padding: 32px 24px;
        margin: 10px;
    }

    .login-logo img {
        max-width: 160px;
    }

    .login-page .subtitle {
        font-size: 14px;
        margin-bottom: 24px;
    }

    .login-page .form-group input {
        padding: 12px 14px;
        font-size: 16px; /* Prevents zoom on iOS */
    }
}
