/* =========================================================
   CROSSFEELING IGNORE 0.8.0
   ========================================================= */


/* ---------------------------------------------------------
   Кнопка ЧС
   --------------------------------------------------------- */

#cfi-toggle {
    position: fixed !important;
    top: 60px !important;
    left: 18px !important;
    right: auto !important;
    z-index: 10000 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: var(--dark100) !important;
    color: var(--accent) !important;

    border: 0 !important;
    border-radius: 50% !important;

    box-shadow: none !important;
    transform: none !important;

    cursor: pointer;
}

#cfi-toggle::before {
    content: "";

    position: absolute;

    width: 16px;
    height: 16px;

    margin-left: 1px;

    background: currentColor;

    mask: url("https://forumstatic.ru/files/001c/11/e3/84759.svg")
        no-repeat center / contain;

    -webkit-mask: url("https://forumstatic.ru/files/001c/11/e3/84759.svg")
        no-repeat center / contain;

    pointer-events: none;
}

#cfi-toggle i {
    display: none !important;
}

#cfi-toggle:hover,
#cfi-toggle:focus,
#cfi-toggle:active {
    background: var(--dark300) !important;
    color: var(--accent) !important;

    transform: none !important;
    box-shadow: none !important;
}

#cfi-toggle.has-changes::after {
    content: "";

    position: absolute;
    top: -1px;
    right: -1px;

    width: 6px;
    height: 6px;

    background: var(--accent);

    border: 2px solid var(--dark100);
    border-radius: 50%;
}



/* ---------------------------------------------------------
   Панель
   --------------------------------------------------------- */

#cfi-panel {
    position: fixed !important;
    top: 60px !important;
    left: 50px !important;
    right: auto !important;
    z-index: 10001 !important;

    box-sizing: border-box !important;

    width: 420px !important;
    max-width: calc(100vw - 62px) !important;

    max-height: calc(100vh - 72px) !important;
    max-height: calc(100dvh - 72px) !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;

    margin: 0 !important;
    padding: 22px !important;

    background: #f7f3ed !important;
    color: #302821 !important;

    border: 1px solid #e1d8cc !important;
    border-radius: 16px !important;

    font: 400 12px/1.5 var(--font), Arial, sans-serif !important;

    text-align: left !important;
    color-scheme: light;
}

#cfi-panel[hidden] {
    display: none !important;
}

#cfi-panel * {
    box-sizing: border-box;
}


/* ---------------------------------------------------------
   Шапка
   --------------------------------------------------------- */

#cfi-panel .cfi-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    gap: 10px !important;

    margin: 0 0 2px !important;
    padding: 0 !important;
}

#cfi-panel .cfi-header h2 {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    background: none !important;
    color: #302821 !important;

    border: 0 !important;

    font: 700 13px/1.35 var(--font), Arial, sans-serif !important;

    text-transform: none !important;
}

#cfi-panel .cfi-count {
    margin: 2px 0 18px !important;
    padding: 0 !important;

    color: #74665c !important;

    font: 400 12px/1.45 var(--font), Arial, sans-serif !important;
}


/* ---------------------------------------------------------
   Список
   --------------------------------------------------------- */

#cfi-panel .cfi-list {
    display: flex !important;
    flex-direction: column !important;

    gap: 10px !important;

    max-height: 280px !important;

    margin: 0 0 18px !important;
    padding: 0 !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;
}

#cfi-panel .cfi-empty {
    margin: 0 !important;
    padding: 18px 0 !important;

    color: #74665c !important;

    font: 400 12px/1.45 var(--font), Arial, sans-serif !important;

    text-align: center;
}


/* ---------------------------------------------------------
   Карточка пользователя
   --------------------------------------------------------- */

#cfi-panel .cfi-entry {
    margin: 0 !important;
    padding: 12px 14px !important;

    background: #fffcf8 !important;

    border: 1px solid #e1d8cc !important;
    border-radius: 10px !important;
}

#cfi-panel .cfi-entry__top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    gap: 10px !important;

    margin: 0 !important;
    padding: 0 !important;
}

#cfi-panel .cfi-entry__name {
    flex: 1 1 auto;
    min-width: 0;

    color: #824d38 !important;

    font: 500 13px/1.4 var(--font), Arial, sans-serif !important;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#cfi-panel .cfi-entry__toggles {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;

    gap: 8px 20px !important;

    margin: 10px 0 0 !important;
    padding: 0 !important;
}

#cfi-panel .cfi-toggle-row {
    display: inline-flex !important;
    align-items: center !important;

    gap: 8px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #302821 !important;

    font: 400 11px/1.4 var(--font), Arial, sans-serif !important;
}


/* ---------------------------------------------------------
   Тумблеры
   Локально перебиваем форумный .switch 70px
   --------------------------------------------------------- */

#cfi-panel .cfi-toggle-row .switch {
    position: relative !important;

    display: inline-block !important;
    flex: 0 0 auto !important;

    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;

    height: 17px !important;
    min-height: 17px !important;
    max-height: 17px !important;

    margin: 0 !important;
    padding: 0 !important;
}

#cfi-panel .cfi-toggle-row .switch input {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    margin: 0 !important;
    padding: 0 !important;

    opacity: 0 !important;
}

#cfi-panel .cfi-toggle-row .slider {
    position: absolute !important;

    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    width: 28px !important;
    height: 17px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #e1d8cc !important;

    border: 1px solid #e1d8cc !important;
    border-radius: 999px !important;

    box-shadow: none !important;

    cursor: pointer;

    transition:
        background-color .18s ease,
        border-color .18s ease !important;
}

#cfi-panel .cfi-toggle-row .slider::before {
    content: "" !important;

    position: absolute !important;

    top: 2px !important;
    left: 2px !important;
    bottom: auto !important;

    width: 11px !important;
    height: 11px !important;

    margin: 0 !important;

    background: #fffcf8 !important;

    border-radius: 50% !important;

    transform: none !important;

    transition: transform .18s ease !important;
}

#cfi-panel .cfi-toggle-row input:checked + .slider {
    background: #824d38 !important;
    border-color: #824d38 !important;
}

#cfi-panel .cfi-toggle-row input:checked + .slider::before {
    background: #fff9f3 !important;

    -webkit-transform: translateX(11px) !important;
    -ms-transform: translateX(11px) !important;
    transform: translateX(11px) !important;
}


/* ---------------------------------------------------------
   Корзина
   --------------------------------------------------------- */

#cfi-panel button.cfi-icon-btn,
#cfi-panel button[type="button"].cfi-icon-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 30px !important;

    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;

    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    color: #74665c !important;

    border: 0 !important;
    border-radius: 7px !important;

    box-shadow: none !important;

    font: 400 11px/1 FontAwesome, Arial, sans-serif !important;

    transform: none !important;

    cursor: pointer;
}

#cfi-panel button.cfi-icon-btn:hover,
#cfi-panel button.cfi-icon-btn:focus,
#cfi-panel button.cfi-icon-btn:active {
    background: #f5e0d8 !important;
    color: #9a3824 !important;

    transform: none !important;
    box-shadow: none !important;
}


/* ---------------------------------------------------------
   Добавить пользователя
   --------------------------------------------------------- */

#cfi-panel .cfi-add-label {
    margin: 0 0 7px !important;
    padding: 0 !important;

    color: #74665c !important;

    font: 500 12px/1.4 var(--font), Arial, sans-serif !important;
}

#cfi-panel .cfi-add-row {
    display: flex !important;
    align-items: stretch !important;

    gap: 8px !important;

    margin: 0 !important;
    padding: 0 !important;
}

#cfi-panel .cfi-add-row input {
    flex: 1 1 auto !important;

    width: 100% !important;
    min-width: 0 !important;
    height: 38px !important;

    margin: 0 !important;
    padding: 0 11px !important;

    background: #fffcf8 !important;
    color: #302821 !important;

    border: 1px solid #e1d8cc !important;
    border-radius: 8px !important;

    box-shadow: none !important;

    font: 400 11px/38px var(--font), Arial, sans-serif !important;
}

#cfi-panel .cfi-add-row input::placeholder {
    color: #74665c !important;
    opacity: 1;
}


/* ---------------------------------------------------------
   Все обычные кнопки панели
   Изолируем от глобального button[type=button]
   --------------------------------------------------------- */

#cfi-panel button.cfi-btn,
#cfi-panel button[type="button"].cfi-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 6px !important;

    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 8px 12px !important;

    background: #fffcf8 !important;
    color: #302821 !important;

    border: 1px solid #e1d8cc !important;
    border-radius: 8px !important;

    box-shadow: none !important;

    font: 500 11px/1.4 var(--font), Arial, sans-serif !important;

    text-transform: none !important;

    transform: none !important;

    cursor: pointer;
}

#cfi-panel button.cfi-btn:hover,
#cfi-panel button.cfi-btn:focus,
#cfi-panel button.cfi-btn:active {
    background: #eee1d5 !important;
    color: #302821 !important;

    transform: none !important;
    box-shadow: none !important;
}


/* крестик закрытия */

#cfi-panel button.cfi-btn--icon-only {
    flex: 0 0 30px !important;

    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;

    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;

    padding: 0 !important;

    background: transparent !important;
    color: #74665c !important;

    border: 0 !important;
}

#cfi-panel button.cfi-btn--icon-only span {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    overflow: hidden !important;

    clip: rect(0,0,0,0) !important;
}

#cfi-panel button.cfi-btn--icon-only:hover {
    background: transparent !important;
    color: #302821 !important;
}


/* кнопка Добавить */

#cfi-panel .cfi-add-row button.cfi-btn {
    flex: 0 0 auto !important;

    height: 38px !important;
    min-height: 38px !important;

    padding: 0 12px !important;
}


/* ---------------------------------------------------------
   Дополнительно
   --------------------------------------------------------- */

#cfi-panel .cfi-advanced {
    margin: 18px 0 0 !important;
    padding: 13px 0 0 !important;

    border-top: 1px solid #e1d8cc !important;
}

#cfi-panel .cfi-advanced summary {
    margin: 0 !important;
    padding: 3px 0 !important;

    color: #74665c !important;

    font: 400 11px/1.45 var(--font), Arial, sans-serif !important;

    cursor: pointer;
}

#cfi-panel .cfi-advanced .cfi-btn--small {
    margin: 8px 6px 0 0 !important;

    padding: 6px 10px !important;

    font-size: 10px !important;
}


/* ---------------------------------------------------------
   Статус
   --------------------------------------------------------- */

#cfi-panel .cfi-status {
    margin: 12px 0 0 !important;
    padding: 0 !important;

    color: #9a3824 !important;

    font: 400 11px/1.5 var(--font), Arial, sans-serif !important;
}

#cfi-panel .cfi-status[hidden] {
    display: none !important;
}

#cfi-panel .cfi-status::before {
    content: "•";

    margin-right: 6px;

    color: currentColor;
}


/* ---------------------------------------------------------
   Сохранить
   --------------------------------------------------------- */

#cfi-panel button.cfi-btn--primary,
#cfi-panel button[type="button"].cfi-btn--primary {
    display: flex !important;

    width: 100% !important;
    min-height: 40px !important;

    margin: 10px 0 0 !important;
    padding: 10px 14px !important;

    background: #8f5037 !important;
    color: #fff9f3 !important;

    border: 1px solid #8f5037 !important;
    border-radius: 8px !important;

    font-weight: 600 !important;
}

#cfi-panel button.cfi-btn--primary:hover,
#cfi-panel button.cfi-btn--primary:focus,
#cfi-panel button.cfi-btn--primary:active {
    background: #7d442f !important;
    color: #fff9f3 !important;

    transform: none !important;
}


/* ---------------------------------------------------------
   Подпись
   --------------------------------------------------------- */

#cfi-panel .cfi-caption {
    margin: 8px 0 0 !important;
    padding: 0 !important;

    color: #74665c !important;

    font: 400 11px/1.45 var(--font), Arial, sans-serif !important;

    text-align: center !important;
}


/* ---------------------------------------------------------
   Перенос ЧС
   --------------------------------------------------------- */

#cfi-panel .cfi-transfer {
    margin: 16px 0 0 !important;
    padding: 13px 0 0 !important;

    border-top: 1px solid #e1d8cc !important;
}

#cfi-panel .cfi-transfer h3 {
    display: block !important;

    margin: 0 0 5px !important;
    padding: 0 !important;

    color: #302821 !important;

    font: 600 11px/1.45 var(--font), Arial, sans-serif !important;
}

#cfi-panel .cfi-transfer p {
    margin: 0 !important;
    padding: 0 !important;

    color: #74665c !important;

    font: 400 11px/1.5 var(--font), Arial, sans-serif !important;
}


/* ---------------------------------------------------------
   Focus
   --------------------------------------------------------- */

#cfi-panel button:focus-visible,
#cfi-panel input:focus-visible,
#cfi-panel summary:focus-visible {
    outline: 2px solid #824d38 !important;
    outline-offset: 2px !important;
}


/* ---------------------------------------------------------
   Скрытые элементы
   --------------------------------------------------------- */

.cfi-hidden {
    display: none !important;
}


/* ---------------------------------------------------------
   Мобильная версия
   --------------------------------------------------------- */

@media (max-width: 480px) {

    #cfi-toggle {
        left: 8px !important;
    }

    #cfi-panel {
        top: 102px !important;
        left: 8px !important;
        right: 8px !important;

        width: auto !important;
        max-width: none !important;

        max-height: calc(100dvh - 114px) !important;

        padding: 18px !important;

        border-radius: 14px !important;
    }

    #cfi-panel .cfi-entry__toggles {
        gap: 6px 16px !important;
    }
}

@media (max-width: 360px) {

    #cfi-panel .cfi-entry__toggles {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }
}