/* Clean Modern Login Page Styling */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
    height: 100%;
    width: 100%;
}

/* ============================================
   PAGE BACKGROUND
   ============================================ */

body.pagelayout-login {
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%) !important;
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
}

#page {
    width: 100% !important;
    max-width: 100% !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 20px !important;
}

#page-header {
    display: none !important;
}

#page-footer {
    display: none !important;
}

/* ============================================
   LOGIN CONTAINER
   ============================================ */

.loginform {
    background: white !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1) !important;
    padding: 60px 50px !important;
    width: 100% !important;
    max-width: 450px !important;
    margin: 0 auto !important;
    animation: slideUp 0.5s ease-out !important;
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ============================================
   LOGIN FORM TITLE
   ============================================ */

.loginform h1,
.loginform h2,
.loginform .login-title {
    text-align: center !important;
    color: #2c3e50 !important;
    font-size: 28px !important;
    font-weight: 600 !important;
    margin-bottom: 10px !important;
}

.loginform .login-subtitle {
    text-align: center !important;
    color: #7f8c8d !important;
    font-size: 14px !important;
    margin-bottom: 40px !important;
}

/* ============================================
   FORM FIELDS
   ============================================ */

.loginform .form-group {
    margin-bottom: 20px !important;
}

.loginform .form-group label {
    display: block !important;
    color: #2c3e50 !important;
    font-weight: 500 !important;
    margin-bottom: 8px !important;
    font-size: 14px !important;
}

.loginform input[type="text"],
.loginform input[type="email"],
.loginform input[type="password"],
.loginform input[type="url"] {
    width: 100% !important;
    padding: 12px 16px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    transition: all 0.3s ease !important;
    background: white !important;
    color: #2c3e50 !important;
}

.loginform input[type="text"]:focus,
.loginform input[type="email"]:focus,
.loginform input[type="password"]:focus,
.loginform input[type="url"]:focus {
    outline: none !important;
    border-color: #3498db !important;
    box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.1) !important;
}

/* ============================================
   CHECKBOX & REMEMBER ME
   ============================================ */

.loginform .rememberme {
    margin-bottom: 25px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.loginform .rememberme input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    cursor: pointer !important;
    accent-color: #3498db !important;
}

.loginform .rememberme label {
    margin-bottom: 0 !important;
    color: #555 !important;
    font-weight: 400 !important;
    cursor: pointer !important;
}

/* ============================================
   LOGIN BUTTON
   ============================================ */

.loginform button[type="submit"],
.loginform input[type="submit"] {
    width: 100% !important;
    padding: 14px 20px !important;
    background: linear-gradient(135deg, #3498db 0%, #2980b9 100%) !important;
    color: white !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin-bottom: 20px !important;
    box-shadow: 0 4px 15px rgba(52, 152, 219, 0.3) !important;
}

.loginform button[type="submit"]:hover,
.loginform input[type="submit"]:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(52, 152, 219, 0.4) !important;
}

.loginform button[type="submit"]:active,
.loginform input[type="submit"]:active {
    transform: translateY(0) !important;
}

/* ============================================
   LINKS & HELPERS
   ============================================ */

.loginform a {
    color: #3498db !important;
    text-decoration: none !important;
    font-size: 14px !important;
    transition: color 0.3s ease !important;
}

.loginform a:hover {
    color: #2980b9 !important;
    text-decoration: underline !important;
}

.loginform .forgetpassword {
    text-align: center !important;
    margin-bottom: 20px !important;
}

.loginform .forgetpassword a {
    color: #7f8c8d !important;
}

/* ============================================
   SIGNUP / GUEST LOGIN
   ============================================ */

.loginform .signup-info,
.loginform .loginguest {
    margin-top: 30px !important;
    padding-top: 20px !important;
    border-top: 1px solid #ecf0f1 !important;
    text-align: center !important;
}

.loginform .signup-info a,
.loginform .loginguest a {
    color: #3498db !important;
    font-weight: 500 !important;
}

/* ============================================
   ALERTS & ERRORS
   ============================================ */

.loginform .alert,
.loginform .alert-danger {
    background: #fee !important;
    border: 1px solid #fcc !important;
    color: #c33 !important;
    padding: 12px 16px !important;
    border-radius: 8px !important;
    margin-bottom: 20px !important;
    font-size: 14px !important;
}

.loginform .alert-success {
    background: #efe !important;
    border: 1px solid #cfc !important;
    color: #3c3 !important;
}

/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 768px) {
    .loginform {
        padding: 40px 30px !important;
        max-width: 100% !important;
        margin: 20px !important;
    }

    .loginform h1,
    .loginform h2 {
        font-size: 24px !important;
    }

    .loginform input[type="text"],
    .loginform input[type="email"],
    .loginform input[type="password"] {
        padding: 11px 14px !important;
        font-size: 16px !important;
    }

    .loginform button[type="submit"],
    .loginform input[type="submit"] {
        padding: 12px 16px !important;
        font-size: 14px !important;
    }
}

/* ============================================
   OVERRIDE MOODLE DEFAULTS
   ============================================ */

#loginform {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.langmenu {
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
}

.langmenu select {
    padding: 8px 12px !important;
    border-radius: 6px !important;
    border: 1px solid #ddd !important;
}

#userlogin {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 100vh !important;
}

#userlogin .loginbox {
    background: white !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1) !important;
    border: none !important;
    width: 100% !important;
    max-width: 450px !important;
    animation: slideUp 0.5s ease-out !important;
}

#userlogin .loginbox .loginpanel {
    padding: 60px 50px !important;
    background: transparent !important;
    border: none !important;
}

/* Hide duplicate headers */
#userlogin h1,
#userlogin .loginbox h2 {
    text-align: center !important;
    color: #2c3e50 !important;
    font-size: 28px !important;
    font-weight: 600 !important;
    margin-bottom: 10px !important;
}

/* Clean up extra spacing */
#userlogin .loginbox .loginform {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Show Password Button Inside Input */
.password-wrapper {
    position: relative !important;
}

.password-wrapper input[type="password"],
.password-wrapper input[type="text"] {
    padding-right: 44px !important;
}

.password-wrapper .toggle-password {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    color: #7f8c8d !important;
}
