form .input {
    position: relative;
}

form .action {
    margin-left: 0.5rem;
    color: var(--icad-color-primary);
    cursor: pointer;
}

/* Form User Password Edit */
form#user_password .input .action {
    width: 15px;
    height: 15px;
    top: 10px;
    right: 10px;
    background: none;
    border: none;
    margin-left: -25px;
}

/* Form Password Strength */
#password.wrong-password,
#password:focus-visible.weak-password {
    border-color: var(--icad-color-danger);
    outline: var(--icad-color-danger);
}

#password.strong-password,
#password:focus-visible.strong-password {
    border-color: green;
    outline: green;
}

#password-strength-status {
    margin-bottom: 1rem;
    color: grey;
}

#password-strength-status .wrong-password {
    color: var(--icad-color-danger);
}

#password-strength-status .strong-password {
    color: green;
}

.form-section {
    border: 1px solid var(--bs-gray-500);
    background-color: var(--bs-gray-100);
    border-radius: 10px;
    padding: 1rem;
}

.form-section>*:not(:first-child){
    margin-top: 0.5rem;
}

.form-label {
    margin-bottom: .5rem;
}

.form-control {
    display: block;
    border-radius: 3px;
    padding: 4px 3px;
    border: 1px solid darkgray;
    /* 2 x border de 1px + 2 x padding 3px = 8px */
    width: calc(100% - 8px);
    background-color: white;
    transition: border 250ms ease-in-out;
}

.form-control:focus {
    border-color: var(--icad-color-secondary-light);
    outline: 0;
    box-shadow: 0 0 0 .15rem var(--icar-color-secondary-translucent);
}

.form-select {
    display: block;
    border-radius: 3px;
    padding: 4px 3px;
    border: 1px solid darkgray;
    /* 2 x border de 1px + 2 x padding 3px = 8px */
    width: 100%;
    height: 25px;
    background-color: white;
    transition: border 250ms ease-in-out;
}

.form-select:focus {
    border-color: var(--icad-color-secondary-light);
}

.form-control:invalid,
.form-select:invalid,
.form-control.is-invalid,
.form-select.is-invalid {
    border-color: var(--icad-color-primary);
    outline: 0;
}

.form-control:invalid:focus,
.form-select:invalid:focus,
.form-control.is-invalid:focus,
.form-select.is-invalid:focus {
    box-shadow: 0 0 0 .15rem var(--icar-color-primary-translucent);
}

.form-control:read-only,
.form-select:read-only {
    --icar-color-secondary-translucent: rgba(149, 156, 177, 0.2);
    --icad-color-secondary-light: rgb(134, 135, 141);
}

input[type="checkbox"], input[type="radio"] {
    transform: scale(1.50) !important;
}

.form-error {
    color: var(--icad-color-primary);
    list-style: none;
    padding: .25rem 0 0 .25rem;
    margin: 0;
}

.form-row>.form-control,
.form-row>.form-select
{
    margin-bottom: .5rem;
}