@charset "UTF-8";
/* ==========================================================
   UI CHECKS — чекбоксы и радиокнопки
   ========================================================== */

/* ----------------------------------------------------------
   Базовый сброс
   ---------------------------------------------------------- */

input[type="checkbox"],
input[type="radio"] {
    -webkit-appearance:  none;
    -moz-appearance:     none;
    appearance:          none;
    display:             inline-block;
    width:               16px;
    height:              16px;
    min-width:           16px;
    border:              1.5px solid var(--c-border);
    background-color:    var(--c-bg);
    background-repeat:   no-repeat;
    background-position: center;
    vertical-align:      -3px;
    cursor:              pointer;
    flex-shrink:         0;
    transition:
        border-color     0.15s ease,
        background-color 0.15s ease,
        box-shadow       0.15s ease;
}


/* ----------------------------------------------------------
   Checkbox
   ---------------------------------------------------------- */

input[type="checkbox"] {
    border-radius: 4px;
}

input[type="checkbox"]:hover:not(:disabled) {
    border-color: var(--c-primary);
}

input[type="checkbox"]:focus {
    outline:      none;
    border-color: var(--c-primary);
    box-shadow:   0 0 0 3px var(--c-primary-ring);
}

input[type="checkbox"]:checked {
    background-color: var(--c-primary);
    border-color:     var(--c-primary);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M2.5 8l3.5 3.5 7-7'/%3E%3C/svg%3E");
    background-size:  11px;
}

input[type="checkbox"]:indeterminate {
    background-color: var(--c-primary);
    border-color:     var(--c-primary);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cline x1='3' y1='8' x2='13' y2='8' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
    background-size:  11px;
}


/* ----------------------------------------------------------
   Radio
   ---------------------------------------------------------- */

input[type="radio"] {
    border-radius: 50%;
}

input[type="radio"]:hover:not(:disabled) {
    border-color: var(--c-primary);
}

input[type="radio"]:focus {
    outline:      none;
    border-color: var(--c-primary);
    box-shadow:   0 0 0 3px var(--c-primary-ring);
}

input[type="radio"]:checked {
    background-color: #ffffff;
    border-color:     var(--c-primary);
    border-width:     2px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3.5' fill='%233b7eed'/%3E%3C/svg%3E");
    background-size:  16px;
}


/* ----------------------------------------------------------
   Disabled
   ---------------------------------------------------------- */

input[type="checkbox"]:disabled,
input[type="radio"]:disabled {
    opacity:          0.45;
    cursor:           not-allowed;
    background-color: #f1f5f9;
}

input[type="checkbox"]:checked:disabled {
    background-color: #94a3b8;
    border-color:     #94a3b8;
}

input[type="radio"]:checked:disabled {
    border-color:     #94a3b8;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3.5' fill='%2394a3b8'/%3E%3C/svg%3E");
}


/* ----------------------------------------------------------
   .form-check (Bootstrap 4)
   ---------------------------------------------------------- */

.form-check {
    display:      flex;
    align-items:  center;
    gap:          0.5rem;
    padding-left: 0;
    min-height:   1.5rem;
    margin-bottom: 0.4rem;
}

.form-check .form-check-input {
    position:    static;
    margin-top:  0;
    margin-left: 0;
    float:       none;
}

.form-check-label {
    font-size:     0.875rem;
    font-weight:   400;
    color:         var(--c-text);
    cursor:        pointer;
    user-select:   none;
    margin-bottom: 0;
    line-height:   1.5;
}

/* Inline вариант */
.form-check-inline {
    display:      inline-flex;
    align-items:  center;
    gap:          0.45rem;
    margin-right: 1rem;
    padding-left: 0;
}

.form-check-inline .form-check-input {
    position: static;
    margin:   0;
    float:    none;
    display:  inline-block;
}


/* ----------------------------------------------------------
   .icheck-primary (логин и другие места)
   ---------------------------------------------------------- */

.icheck-primary {
    display:     flex;
    align-items: center;
    gap:         0.5rem;
}

.icheck-primary label {
    font-size:     0.875rem;
    color:         var(--c-text);
    cursor:        pointer;
    user-select:   none;
    margin-bottom: 0;
    line-height:   1.5;
}


/* ----------------------------------------------------------
   Тёмная тема
   ---------------------------------------------------------- */

.dark-mode input[type="checkbox"],
.dark-mode input[type="radio"] {
    background-color: #1e2a3a;
    border-color:     var(--c-border);
}

.dark-mode input[type="checkbox"]:checked {
    background-color: #4a8ef8;
    border-color:     #4a8ef8;
}

.dark-mode input[type="radio"]:checked {
    background-color: #1e2a3a;
    border-color:     #63a4f4;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3.5' fill='%2363a4f4'/%3E%3C/svg%3E");
}

.dark-mode input[type="checkbox"]:disabled,
.dark-mode input[type="radio"]:disabled {
    background-color: #151f2e;
}

.dark-mode .form-check-label,
.dark-mode .icheck-primary label {
    color: var(--c-text);
}
