/* SME Server Password Change Form Styles - Enhanced Version */ body { font-family: Arial, sans-serif; font-size: 12px; margin: 0; padding: 20px; background-color: #f5f5f5; color: #333; } .container { max-width: 800px; margin: 0 auto; background-color: white; padding: 0; } h1 { font-size: 18px; font-weight: bold; margin: 0 0 20px 0; padding: 0; color: #333; } .instructions { margin-bottom: 20px; line-height: 1.4; } .instructions p { margin: 0 0 10px 0; } .instructions em { font-style: italic; } /* Password Requirements Display */ .password-requirements { background-color: #e8f4f8; border: 1px solid #b8d4e0; padding: 10px; margin: 10px 0; border-radius: 4px; } .password-requirements p { margin: 0; font-size: 12px; } /* Flash Messages */ .messages { margin-bottom: 20px; } .message { padding: 10px; margin-bottom: 10px; border-radius: 4px; } .message.success { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; } .message.error { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; } /* Form Container - Green Background */ .form-container { background-color: #c8e6c8; padding: 20px; border: 1px solid #a0d0a0; margin-bottom: 20px; } .form-table { width: 100%; border-collapse: collapse; margin-bottom: 20px; } .form-table tr { height: 35px; } .label-cell { text-align: right; padding-right: 10px; width: 200px; vertical-align: middle; font-weight: normal; } .input-cell { text-align: left; vertical-align: middle; } /* Password Input Container */ .password-input-container { display: flex; align-items: center; gap: 5px; } .form-table input[type="text"], .form-table input[type="password"] { width: 200px; padding: 4px; border: 1px solid #999; font-size: 12px; font-family: Arial, sans-serif; } .form-table input[type="text"]:focus, .form-table input[type="password"]:focus { outline: none; border-color: #666; } /* Password Toggle Button */ .password-toggle { background-color: #f0f0f0; border: 1px solid #999; padding: 2px 6px; font-size: 10px; font-family: Arial, sans-serif; cursor: pointer; border-radius: 2px; min-width: 35px; height: 24px; } .password-toggle:hover { background-color: #e0e0e0; } .password-toggle:active { background-color: #d0d0d0; } .password-toggle:focus { outline: 1px dotted #666; } /* Password Strength Indicator */ .password-strength-indicator { font-size: 10px; margin-top: 3px; font-weight: bold; color: #666; } .button-container { text-align: right; padding-top: 10px; } .submit-button { background-color: #e0e0e0; border: 2px outset #e0e0e0; padding: 4px 12px; font-size: 12px; font-family: Arial, sans-serif; cursor: pointer; } .submit-button:hover { background-color: #d0d0d0; } .submit-button:active { border: 2px inset #e0e0e0; } /* Footer */ .footer { margin-top: 30px; font-size: 10px; color: #666; line-height: 1.3; } .footer p { margin: 2px 0; } /* Responsive Design */ @media (max-width: 600px) { body { padding: 10px; } .form-table { width: 100%; } .label-cell { width: auto; text-align: left; padding-right: 5px; display: block; padding-bottom: 5px; } .input-cell { display: block; padding-bottom: 15px; } .password-input-container { flex-direction: column; align-items: flex-start; gap: 3px; } .form-table input[type="text"], .form-table input[type="password"] { width: 100%; max-width: 300px; } .password-toggle { align-self: flex-start; } .form-table tr { height: auto; } .form-table td { display: block; } } /* Accessibility Improvements */ @media (prefers-reduced-motion: reduce) { * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } } /* High Contrast Mode Support */ @media (prefers-contrast: high) { .password-toggle { border: 2px solid #000; } .form-table input[type="text"], .form-table input[type="password"] { border: 2px solid #000; } .message.success { border: 2px solid #000; } .message.error { border: 2px solid #000; } }