@use "common"; // Reset styles @use "colors" as *; // Color scheme // Basic styling for the body body { font-family: 'Arial', sans-serif; background: $add-user-background-color; display: flex; justify-content: center; // Center the form horizontally align-items: center; // Center the form vertically height: 100%; padding: 20px; // Some padding for mobile responsiveness // Container for the form .form-container { background-color: $add-user-form-background; padding: 40px; border-radius: 12px; // Rounded corners box-shadow: 0 8px 15px $add-user-form-shadow-color; width: 100%; max-width: 800px; text-align: left; 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 $input-field-border-radius: 6px; // 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; border-radius: $input-field-border-radius; background-color: $add-user-input-background; font-size: 16px; transition: border-color 0.3s, background-color 0.3s; &:focus { border-color: $add-user-input-focus-border-color; outline: none; } } &.checkbox-set { label { display: block; color: $add-user-form-title-color; font-size: 16px; margin-bottom: 5px; } .checkboxes { display: flex; gap: 10px; // Hide the checkboxes input[type="checkbox"] { display: none; } // Style the label as a button label.checkbox { cursor: pointer; padding: 12px; border: 1px solid $user-form-checkbox-button-border-color; border-radius: $input-field-border-radius; background-color: $add-user-input-background; font-size: 16px; text-align: center; width: 100%; transition: background-color 0.3s, color 0.3s, border-color 0.3s; user-select: none; &:hover, &:focus { background-color: $user-form-checkbox-button-hover-color; border-color: $user-form-checkbox-button-hover-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 &.dropdown-menu { flex: 1 1 calc(50% - 20px); // Explicitly set to half width, considering gap min-width: 250px; // Minimum width to avoid shrinking too much } &.radio-input { .radio-group { display: flex; gap: 10px; // Hide the radio buttons input[type="radio"] { display: none; } label.radio { width: 100%; height: 100%; border-radius: $input-field-border-radius; cursor: pointer; padding: 12px; border: 1px solid $add-user-input-border-color; border-radius: $input-field-border-radius; background-color: $add-user-input-background; font-size: 16px; text-align: center; width: 100%; transition: background-color 0.3s, color 0.3s, border-color 0.3s; user-select: none; // Hover & Focus &:hover, &:focus { background-color: $user-form-radio-button-hover-color; border-color: $user-form-radio-button-hover-border-color; } } // Radio 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; } } } // Range input --value: 50; $form-range-slider-height: 45px; @mixin slider_track { width: 100%; height: 100%; border-radius: $input-field-border-radius; } @mixin slider_thumb { display: none; appearance: none; width: 0; height: $form-range-slider-height; border: none; border-radius: $input-field-border-radius; background-color: $user-form-range-slider-filled; cursor: pointer; margin: 0; padding: 0; } input[type="range"] { -webkit-appearance: none; appearance: none; width: 100%; height: $form-range-slider-height; border-radius: $input-field-border-radius; background: $form-range-slider-background-gradient; border: 1px solid $add-user-input-border-color; cursor: pointer; padding: 0; box-sizing: border-box; // Style the filled portion of the track &::-webkit-slider-runnable-track { @include slider_track; } &::-moz-range-track { @include slider_track; } // Slider thumb &::-webkit-slider-thumb { -webkit-appearance: none; @include slider_thumb; } &::-moz-range-thumb { @include slider_thumb; } &:focus { outline: none; border-color: $add-user-input-focus-border-color; } } // Submit button styling &.submit-buttons { flex: 1 1 100%; // Full width of the available space display: flex; // Use flex to align the buttons justify-content: space-between; // Space between buttons margin-top: 20px; // Space above the buttons button { width: 48%; text-align: center; padding: 12px; border-radius: $input-field-border-radius; // Add styles for the clear button &.clear-button { background-color: $add-user-clear-button-color; color: $add-user-clear-button-text-color; &:hover { background-color: $add-user-clear-button-hover-color; // Hover effect color } } // Existing styles for submit button &.submit { background-color: $add-user-button-color; color: $add-user-button-text-color; border: none; &:hover { background-color: $add-user-button-hover-color; // Button hover color } } &:active { transform: translateY(2px); // Subtle press effect } } } } } } }