@use "common"; // Reset styles @use "colors" as *; // Color scheme for Add New User page // Basic styling for the body body { font-family: 'Arial', sans-serif; background: $add-user-background-color; // Use background gradient for the page display: flex; justify-content: center; // Center the form horizontally align-items: center; // Center the form vertically height: 100%; padding: 20px; // Add some padding for mobile responsiveness // Container for the form .form-container { background-color: $add-user-form-background; // Form background color padding: 40px; border-radius: 12px; // Rounded corners for the form box-shadow: 0 8px 15px $add-user-form-shadow-color; width: 100%; max-width: 800px; // Increase the maximum width for a wider form text-align: left; // Left-align text margin: auto; // Form header h2 { color: $add-user-form-title-color; // Form title color font-size: 28px; margin-bottom: 20px; text-align: left; display: block; } // Form element form { display: flex; flex-wrap: wrap; // Allow wrapping for form groups gap: 20px; // Add consistent gap between elements margin-bottom: 20px; // Add space below the form for submit button // Form groups for each input .form-group { flex: 1 1 calc(50% - 20px); // Take up half the row, accounting for gap min-width: 250px; // Minimum width to prevent shrinking too much // Label styling label { display: block; color: $add-user-form-title-color; font-size: 16px; margin-bottom: 5px; } // Input and select styling input[type="text"], input[type="password"], input[type="email"], input[type="date"], input[type="number"], input[type="datetime-local"], input[type="tel"], select { width: 100%; // Full width of the form group padding: 12px; border: 1px solid $add-user-input-border-color; // Input field border color border-radius: 6px; background-color: $add-user-input-background; // Input background color font-size: 16px; transition: border-color 0.3s, background-color 0.3s; &:focus { border-color: $add-user-input-focus-border-color; // Focus border color outline: none; } } } .admin-access { label { display: block; color: $add-user-form-title-color; font-size: 16px; margin-bottom: 5px; } .checkbox-group { display: flex; gap: 10px; // Hide the checkboxes input[type="checkbox"] { display: none; } // Style the label as a button to match input fields label.checkbox { cursor: pointer; padding: 12px; // Match the padding with the input fields border: 1px solid $user-form-checkbox-button-border-color; // Use the same border style border-radius: 6px; // Match the border radius with other inputs background-color: $add-user-input-background; // Use the same background color font-size: 16px; // Font size consistency text-align: center; width: 100%; // Make the label full-width transition: background-color 0.3s, color 0.3s, border-color 0.3s; user-select: none; // Change background when active or focused &:hover, &:focus { background-color: $user-form-checkbox-button-hover-color; border-color: $user-form-checkbox-button-hover-border-color; // Use focus border color } } // Change styles when the checkbox is checked input[type="checkbox"]:checked + label.checkbox { background-color: $user-form-checkbox-button-active-color; color: $user-form-checkbox-button-active-text-color; border-color: $user-form-checkbox-button-active-border-color; } } } // Dropdown Menu for Admin Role .role-dropdown { flex: 1 1 calc(50% - 20px); // Explicitly set to half width, considering gap min-width: 250px; // Minimum width to avoid shrinking too much padding: 0; // Reset any padding } .radio-group { display: flex; gap: 10px; // Hide the radio buttons input[type="radio"] { display: none; } // Style the label as a button to match the checkboxes label.radio { cursor: pointer; padding: 12px; // Match the padding with the other styled elements border: 1px solid $add-user-input-border-color; border-radius: 6px; background-color: $add-user-input-background; font-size: 16px; text-align: center; width: 100%; // Make the label full-width transition: background-color 0.3s, color 0.3s, border-color 0.3s; user-select: none; // Change background when active or focused &:hover, &:focus { background-color: $user-form-radio-button-hover-color; border-color: $user-form-radio-button-hover-border-color; } } // Change styles when the radio button is checked input[type="radio"]:checked + label.radio { background-color: $user-form-radio-button-active-color; color: $user-form-radio-button-active-text-color; border-color: $user-form-radio-button-active-border-color; } } // Style the range input to match the other form inputs input[type="range"] { width: 100%; // Full width of the form group height: 45px; // Match the height of the other input fields -webkit-appearance: none; // Remove default styling appearance: none; border-radius: 6px; // Rounded corners, matching other inputs background-color: $add-user-input-background; // Same background color as other inputs border: 1px solid $add-user-input-border-color; // Input field border color cursor: pointer; // Change cursor on hover padding: 0; // Remove any default padding box-sizing: border-box; // Ensure padding is included in total width/height // Style the filled portion of the track &::-webkit-slider-runnable-track { width: 100%; height: 100%; border-radius: 6px; // Rounded corners background: linear-gradient(to right, $add-user-button-color 0%, $add-user-button-color var(--value), $add-user-input-background var(--value)); // Gradient to indicate value } &::-moz-range-track { width: 100%; height: 100%; border-radius: 6px; background: linear-gradient(to right, $add-user-button-color 0%, $add-user-button-color var(--value), $add-user-input-background var(--value)); } // Style the thumb &::-webkit-slider-thumb { -webkit-appearance: none; // Remove default appearance appearance: none; width: 45px; // Thumb size height: 45px; border-radius: 50%; // Make the thumb round background-color: $add-user-button-color; // Thumb color border: 2px solid $add-user-input-border-color; // Thumb border cursor: pointer; //margin-top: -8px; // Center the thumb vertically margin: 0; padding: 0; } &::-moz-range-thumb { width: 24px; height: 24px; border-radius: 50%; background-color: $add-user-button-color; border: 2px solid $add-user-input-border-color; cursor: pointer; margin: 0; padding: 0; } &:focus { outline: none; // Remove default focus outline border-color: $add-user-input-focus-border-color; // Change border color on focus } } // Submit button styling .submit-button { flex: 1 1 100%; // Full width for the submit button display: flex; // Use flex to center the button justify-content: center; // Center the button margin-top: 20px; // Space above the button button { width: 40%; text-align: center; padding: 12px; // Padding for button background-color: $add-user-button-color; // Primary button color color: $add-user-button-text-color; border: none; border-radius: 6px; font-size: 18px; font-weight: bold; cursor: pointer; transition: background-color 0.3s, transform 0.3s; box-shadow: 0 4px 10px $add-user-button-shadow; &:hover { background-color: $add-user-button-hover-color; // Button hover color } &:active { transform: translateY(2px); // Subtle press effect } } } } } }