/* User Profile Styles */ .user-container { max-width: 800px; margin: 0 auto; padding: 2rem; } .user-profile { background: #ffffff; border-radius: 8px; padding: 2rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); border: 1px solid #e0e0e0; } .user-profile h2 { margin-bottom: 1.5rem; color: #333; border-bottom: 2px solid #007bff; padding-bottom: 0.5rem; } .profile-info { display: flex; flex-direction: column; gap: 1rem; } .profile-info .form-group { display: flex; align-items: center; padding: 0.75rem 0; border-bottom: 1px solid #f0f0f0; } .profile-info .form-group:last-child { border-bottom: none; } .profile-info label { font-weight: 600; color: #555; min-width: 100px; margin-right: 1rem; } .profile-info span { color: #333; flex: 1; } /* Users Admin Table Styles (for admin panel) */ .users-admin-container { display: grid; grid-template-columns: 1fr 2fr; gap: 2rem; margin-top: 1rem; } .user-form, .users-list { background: #ffffff; border-radius: 8px; padding: 1.5rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); border: 1px solid #e0e0e0; } .user-form h3, .users-list h3 { margin-bottom: 1rem; color: #333; border-bottom: 2px solid #007bff; padding-bottom: 0.5rem; } .users-table { width: 100%; border-collapse: collapse; margin-top: 1rem; } .users-table th, .users-table td { padding: 0.75rem; text-align: left; border-bottom: 1px solid #e0e0e0; } .users-table th { background-color: #f8f9fa; font-weight: 600; color: #555; } .users-table tbody tr:hover { background-color: #f8f9fa; } .user-role { padding: 0.25rem 0.5rem; border-radius: 4px; font-size: 0.8rem; font-weight: 600; } .user-role.admin { background-color: #dc3545; color: white; } .user-role.user { background-color: #28a745; color: white; } .user-actions { display: flex; gap: 0.5rem; } .user-actions .btn { padding: 0.25rem 0.5rem; font-size: 0.8rem; } .btn-danger { background-color: #dc3545; color: white; border: 1px solid #dc3545; } .btn-danger:hover { background-color: #c82333; border-color: #c82333; } .loading-message, .empty-message { text-align: center; padding: 2rem; color: #666; font-style: italic; } /* Form styles specific to user creation */ .user-form .form-group label { display: block; margin-bottom: 0.5rem; font-weight: 600; color: #333; } .user-form .form-group label input[type="checkbox"] { margin-right: 0.5rem; } .user-form input[type="email"], .user-form input[type="password"], .user-form input[type="text"] { width: 100%; padding: 0.75rem; border: 1px solid #ddd; border-radius: 4px; font-size: 1rem; } .user-form input:focus { outline: none; border-color: #007bff; box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25); } /* Responsive design */ @media (max-width: 768px) { .users-admin-container { grid-template-columns: 1fr; gap: 1rem; } .users-table { font-size: 0.9rem; } .users-table th, .users-table td { padding: 0.5rem; } .user-container { padding: 1rem; } /* Header mobile adjustments */ .header { padding: 10px 15px; } .header h1 { font-size: 20px; } .header .header-actions { display: flex !important; gap: 8px; flex-wrap: wrap; } .header .header-actions .btn { padding: 6px 10px; font-size: 13px; } .user-info { font-size: 12px; } /* User profile mobile */ .user-profile { padding: 1.5rem; } .profile-info .form-group { padding: 0.5rem 0; flex-direction: column; align-items: flex-start; gap: 0.25rem; } .profile-info label { min-width: auto; margin-right: 0; font-size: 14px; } .profile-info span { font-size: 14px; } /* Ensure all buttons are touch-friendly */ .btn { min-height: 44px; padding: 12px 16px; font-size: 14px; } .btn-sm { min-height: 36px; padding: 8px 12px; font-size: 13px; } /* Better spacing for form elements */ .form-group { margin-bottom: 20px; } /* Improve input focus visibility */ input:focus, select:focus, textarea:focus { outline: 2px solid #007bff; outline-offset: 2px; } } @media (max-width: 480px) { .users-table { font-size: 0.8rem; } .user-actions { flex-direction: column; gap: 0.25rem; } .user-actions .btn { font-size: 0.7rem; } .user-container { padding: 0.5rem; } /* Very small screen adjustments */ .header .header-actions .btn { padding: 5px 8px; font-size: 12px; min-height: 36px; } .user-info { display: none; /* Hide on very small screens to save space */ } .user-profile { padding: 1rem; } .user-profile h2 { font-size: 18px; margin-bottom: 1rem; } .profile-info .form-group { padding: 0.4rem 0; } .profile-info label { font-size: 13px; font-weight: 500; } .profile-info span { font-size: 13px; } /* Touch-friendly logout button */ #logout-btn { min-height: 44px; padding: 10px 16px; } }