/* Login Page Styles - Based on ARO Digital Strategy Design */

.login-container {
    display: flex;
    width: 100vw;
    height: 100vh;
    background: #434343;
    overflow: hidden;
}

/* Left Panel - Logo Section */
.login-left-panel {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #434343;
}

.logo-container {
    display: flex;
    align-items: center;
    justify-content: center;
}

.aro-logo-svg {
    width: 100%;
    max-width: 487px;
    height: auto;
}

/* Right Panel - Login Form Section */
.login-right-panel {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}

.login-card {
    background: #FFFFFF;
    box-shadow: 0px 4px 20px 8px rgba(0, 0, 0, 0.06);
    border-radius: 6px;
    padding: 60px 80px;
    width: 100%;
    max-width: 560px;
    /* Override MudBlazor primary so email/password focus border is orange, not purple */
    --mud-palette-primary: #F69126;
    --mud-palette-primary-rgb: 246, 145, 38;
}

/* Header */
.login-header {
    text-align: center;
    margin-bottom: 40px;
}

.welcome-text {
    font-family: 'Montserrat', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-weight: 700;
    font-size: 60px;
    line-height: 73px;
    letter-spacing: 0.05em;
    color: #F69126;
    margin: 0 0 10px 0;
    text-align: center;
}

.login-text {
    font-family: 'Inter', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 29px;
    color: #000000;
    margin: 0;
    text-align: center;
}

/* Form */
.login-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.login-input {
    margin-bottom: 10px;
}

/* MudBlazor TextField Customization */
.login-input .mud-input-root {
    background: #F5F5F5;
}

.login-input .mud-input-outlined {
    border-color: #C3C3C3;
    border-radius: 2px;
}

/* Force orange focus border on email and password - override MudBlazor primary (purple) */
.login-input .mud-input-outlined:hover,
.login-input .mud-input-outlined.mud-input-outlined-adorned-end:hover {
    border-color: #C3C3C3 !important;
}

.login-input .mud-input-outlined:focus-within,
.login-input .mud-input-outlined.mud-input-focused,
.login-input .mud-input-outlined.mud-input-adorned-end:focus-within {
    border-color: #F69126 !important;
    box-shadow: 0 0 0 2px rgba(246, 145, 38, 0.25) !important;
}

.login-input .mud-input-slot::before,
.login-input .mud-input-slot::after {
    border-color: #F69126 !important;
}

.login-input input:focus {
    outline: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.login-input .mud-input-label {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: #000000;
}

.login-input input {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: #000000;
}

/* Password field wrapper - custom focusable toggle */
.password-field-wrapper {
    position: relative;
}

.password-field-wrapper .login-input .mud-input-root {
    padding-right: 48px;
}

.password-toggle-btn {
    position: absolute !important;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    color: #1C1B1F !important;
}

.password-toggle-btn:hover,
.password-toggle-btn:focus,
.password-toggle-btn:focus-visible,
.password-toggle-btn:active {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}

.password-toggle-btn svg {
    fill: #1C1B1F !important;
    color: #1C1B1F !important;
}

/* Password visibility icon (legacy - when using built-in adornment) */
.login-input .mud-input-adornment button {
    color: #1C1B1F !important;
}

.login-input .mud-input-adornment button:focus-visible {
    outline: 2px solid #F69126 !important;
    outline-offset: 2px !important;
    border-radius: 50% !important;
}

.login-input .mud-input-adornment svg {
    fill: #1C1B1F !important;
    color: #1C1B1F !important;
}

/* Remember Me */
.remember-me-container {
    margin-top: -10px;
    margin-bottom: 10px;
}

.remember-me-container .mud-checkbox-label {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: #1B1B1B;
}

/* Forgot Password */
.forgot-password-container {
    text-align: center;
    margin-top: 30px;
    margin-bottom: 30px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: #000000;
}

.forgot-password-container a {
    color: #000000;
    text-decoration: underline;
}

/* Login Button */
.login-button-container {
    display: flex;
    justify-content: center;
    margin-top: 10px;
}

.login-button {
    background: #F69126 !important;
    color: #1C1B1F !important;
    border-radius: 6px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    padding: 15px 60px !important;
    height: 50px !important;
    min-width: 190px !important;
}

.login-button:hover:not(:disabled) {
    background: #FF931E !important;
}

/* Disabled Login Button - WCAG AA compliant contrast */
.login-button:disabled,
.login-button-disabled {
    background: #E5E5E5 !important;
    color: #525252 !important; /* 4.6:1 contrast ratio with #E5E5E5 */
    cursor: not-allowed !important;
    opacity: 1 !important;
}

.login-button:disabled:hover,
.login-button-disabled:hover {
    background: #E5E5E5 !important;
}

/* Focus indicators for accessibility */
.login-input .mud-input-outlined:focus-within {
    border-color: #F69126 !important;
    box-shadow: 0 0 0 2px rgba(246, 145, 38, 0.25) !important;
}

.login-input input:focus {
    outline: none !important;
}

.login-button:focus-visible {
    outline: 2px solid #F69126 !important;
    outline-offset: 2px !important;
}

/* Checkbox focus indicator - WCAG AA compliant */
.remember-me-container .mud-button-root:focus-visible {
    outline: 2px solid #F69126 !important;
    outline-offset: 2px !important;
    border-radius: 4px !important;
}

.remember-me-container .mud-checkbox:focus-within {
    outline: 2px solid #F69126 !important;
    outline-offset: 2px !important;
    border-radius: 4px !important;
}

.forgot-password-container a:focus-visible {
    outline: 2px solid #F69126 !important;
    outline-offset: 2px !important;
}

/* Success Alert Customization */
.mud-alert-success {
    background: #D8EDD9 !important;
    color: #166719 !important;
    border-radius: 6px !important;
}

.mud-alert-success .mud-alert-icon {
    color: #166719 !important;
}

/* Mobile Logo Panel - Hidden by default, shown only on mobile */
.mobile-logo-panel {
    display: none;
    background: #434343;
    padding: 40px 20px;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.mobile-logo {
    width: 100%;
    max-width: 200px;
    height: auto;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .login-container {
        flex-direction: column;
    }

    .login-left-panel {
        display: none;
    }

    .login-right-panel {
        flex: 1;
        width: 100%;
        flex-direction: column;
        padding: 0;
    }

    .mobile-logo-panel {
        display: flex;
        padding: 50px 20px;
    }

    .mobile-logo {
        max-width: 280px;
    }

    .login-card {
        margin: 40px auto;
    }
}

@media (max-width: 768px) {
    .login-card {
        padding: 40px 30px;
    }

    .welcome-text {
        font-size: 48px;
        line-height: 58px;
    }

    .login-text {
        font-size: 20px;
        line-height: 24px;
    }
}

@media (max-width: 480px) {
    .mobile-logo-panel {
        padding: 30px 20px;
    }

    .mobile-logo {
        max-width: 180px;
    }

    .login-card {
        padding: 30px 20px;
        margin: 20px auto;
        border-radius: 0;
        box-shadow: none;
    }

    .welcome-text {
        font-size: 36px;
        line-height: 44px;
    }
}
