/* ============================================================
   ForCar — ui.css · КАНОН КОМПОНЕНТОВ (единый источник UI)
   Неймспейс .fc-* — не пересекается со старыми .ed-*/legacy.
   Токены берутся из base.css (:root). НЕ дублировать здесь.
   Правило: новый UI собирается ТОЛЬКО из этих классов
   (или через хелперы inc/ui.php). Ничего не колхозить с нуля.
   Эталон всех компонентов — страница /ui.
   ============================================================ */

/* дополнительные токены поверх base.css (дилерский акцент + единый шаг) */
:root{
  --fc-dealer:#7c3aed;      /* дилерский сиреневый (как admin-badge/тарифы) */
  --fc-dealer-2:#a78bfa;    /* светлый дилерский акцент */
  --fc-dealer-3:#8b5cf6;    /* ховер */
  --fc-sp:8px;              /* единый шаг отступов */
  --fc-line:var(--line2);   /* рамка контролов */
  --fc-star:#f5b301;        /* звёзды рейтинга (амбер — конвенция) */
}

/* ─────────────────────────── КНОПКИ ─────────────────────────── */
.fc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--sans);font-weight:800;font-size:13px;letter-spacing:.02em;line-height:1;padding:10px 18px;border:1px solid transparent;background:none;color:#fff;cursor:pointer;border-radius:0;transition:background .13s,border-color .13s,color .13s;text-decoration:none;white-space:nowrap}
.fc-btn:disabled,.fc-btn.is-disabled{opacity:.5;pointer-events:none}
.fc-btn .fc-ic{width:16px;height:16px;fill:currentColor;flex:0 0 16px}
.fc-btn--primary{background:var(--red);color:#fff}
.fc-btn--primary:hover{background:var(--red2)}
.fc-btn--ghost{background:transparent;border-color:var(--line2);color:#d7d7dd}
.fc-btn--ghost:hover{border-color:#fff;color:#fff}
.fc-btn--dealer{background:var(--fc-dealer,#7c3aed);color:#fff}
.fc-btn--dealer:hover{background:var(--fc-dealer-3,#8b5cf6)}
.fc-btn--dealer.fc-btn--ghost{background:transparent;border-color:rgba(124,58,237,.45);color:var(--fc-dealer-2,#a78bfa)}
.fc-btn--dealer.fc-btn--ghost:hover{border-color:var(--fc-dealer,#7c3aed);color:#fff}
/* размеры: sm · (дефолт=pillbtn) · lg · xl — совпадают со шкалой сайта */
.fc-btn--sm{padding:7px 12px;font-size:11.5px}
.fc-btn--lg{padding:13px 24px;font-size:14px}
.fc-btn--xl{padding:17px 30px;font-size:15px;letter-spacing:.03em}
.fc-btn--block{width:100%}
/* иконка-кнопка (квадрат: × удалить, ↺ reset, + добавить) */
.fc-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--line2);background:var(--panel);color:#c9c9d0;cursor:pointer;border-radius:0;transition:background .12s,border-color .12s,color .12s}
.fc-iconbtn:hover{border-color:var(--red);color:#fff;background:rgba(209,19,59,.12)}
.fc-iconbtn svg{width:14px;height:14px;fill:currentColor}
/* мелкая reset/inline-кнопка со значком */
.fc-linkbtn{display:inline-flex;align-items:center;gap:5px;font-family:var(--sans);font-weight:700;font-size:11.5px;color:#8a8a90;background:none;border:none;cursor:pointer;padding:0}
.fc-linkbtn:hover{color:#d7d7dd}
.fc-linkbtn svg{width:13px;height:13px;fill:currentColor}

/* ─────────────────────────── ПОЛЯ ─────────────────────────── */
.fc-field{display:flex;flex-direction:column;gap:6px}
.fc-field>label{font-family:var(--sans);font-weight:800;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.fc-input{width:100%;box-sizing:border-box;padding:11px 12px;background:#0a0a0b;border:1px solid var(--line2);color:#fff;font-family:var(--sans);font-size:14px;line-height:1.3;border-radius:0}
.fc-input:focus{outline:none;border-color:#fff}
.fc-input::placeholder{color:var(--muted)}
textarea.fc-input{resize:vertical;min-height:64px}
/* date/time инпуты: тёмная схема → нативная иконка видна + попап-календарь в нашей теме */
input[type=date],input[type=time],input[type=datetime-local],input[type=month]{color-scheme:dark}
input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{opacity:.7;cursor:pointer;transition:opacity .12s,filter .12s}
input[type=date]:hover::-webkit-calendar-picker-indicator,input[type=time]:hover::-webkit-calendar-picker-indicator{opacity:1;filter:brightness(0) saturate(100%) invert(17%) sepia(89%) saturate(4900%) hue-rotate(338deg) brightness(92%) contrast(96%)}
.fc-field-row{display:grid;grid-template-columns:repeat(var(--cols,2),1fr);gap:12px}

/* число со степпером (канон из base.css .numfield/.nstep — квадрат, стрелки справа) */
.fc-numfield{display:flex;align-items:stretch;width:100%;box-sizing:border-box;border:1px solid var(--line2);background:#0a0a0b}
.fc-numfield:focus-within{border-color:#fff}
.fc-numfield .fc-pfx{display:flex;align-items:center;padding:0 1px 0 12px;color:var(--muted);font-family:var(--mono);font-size:14px}
.fc-numfield input[type=number]{flex:1 1 auto;width:auto;min-width:0;padding:11px 10px;background:transparent;border:none;color:#fff;font-family:var(--mono);font-size:14px;-moz-appearance:textfield;appearance:textfield}
.fc-numfield input[type=number]:focus{outline:none}
.fc-numfield input::-webkit-outer-spin-button,.fc-numfield input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.fc-nstep{display:flex;flex-direction:column;flex:0 0 auto;margin-left:auto;border-left:1px solid var(--line2)}
.fc-nstep button{flex:1;width:30px;background:var(--panel);border:none;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .12s,color .12s}
.fc-nstep button:first-child{border-bottom:1px solid var(--line2)}
.fc-nstep button:hover{background:var(--red);color:#fff}
.fc-nstep svg{width:9px;height:7px;fill:currentColor;display:block}

/* ─────────────────────────── ЧЕКБОКС ─────────────────────────── */
.fc-check{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-weight:600;font-size:12.5px;color:#d7d7dd;cursor:pointer;user-select:none}
.fc-check input{position:absolute;opacity:0;width:0;height:0}
.fc-check-box{flex:0 0 18px;width:18px;height:18px;border:1.5px solid #4a4a50;background:#0e0e10;position:relative;transition:background .12s,border-color .12s}
.fc-check input:checked+.fc-check-box{background:var(--red);border-color:var(--red)}
.fc-check input:checked+.fc-check-box::after{content:"";position:absolute;left:50%;top:47%;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:translate(-50%,-50%) rotate(45deg)}
.fc-check input:focus-visible+.fc-check-box{outline:2px solid var(--red);outline-offset:2px}
.fc-check--dealer input:checked+.fc-check-box{background:var(--fc-dealer,#7c3aed);border-color:var(--fc-dealer,#7c3aed)}
.fc-check--dealer input:focus-visible+.fc-check-box{outline-color:var(--fc-dealer,#7c3aed)}

/* ─────────────────────────── ТУМБЛЕР (switch) ─────────────────────────── */
.fc-toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none;font-family:var(--sans);font-weight:600;font-size:12.5px;color:#d7d7dd}
.fc-toggle input{position:absolute;opacity:0;width:0;height:0}
.fc-toggle-track{flex:0 0 auto;width:36px;height:20px;background:#26262b;border:1px solid #3a3a42;position:relative;transition:background .14s,border-color .14s}
.fc-toggle-track::after{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;background:#8a8a90;transition:transform .14s,background .14s}
.fc-toggle input:checked+.fc-toggle-track{background:var(--red);border-color:var(--red)}
.fc-toggle input:checked+.fc-toggle-track::after{transform:translateX(16px);background:#fff}
.fc-toggle input:focus-visible+.fc-toggle-track{outline:2px solid var(--red);outline-offset:2px}
.fc-toggle--dealer input:checked+.fc-toggle-track{background:var(--fc-dealer,#7c3aed);border-color:var(--fc-dealer,#7c3aed)}

/* ─────────────────────────── СЕГМЕНТ ─────────────────────────── */
.fc-seg{display:inline-flex;border:1px solid var(--line2);background:#0e0e10}
.fc-seg button{flex:1;background:none;border:none;border-right:1px solid var(--line2);color:#b7b7bf;font-family:var(--sans);font-weight:800;font-size:11.5px;letter-spacing:.02em;padding:8px 14px;cursor:pointer;transition:background .12s,color .12s}
.fc-seg button:last-child{border-right:none}
.fc-seg button:hover{color:#fff}
.fc-seg button.on{background:var(--red);color:#fff}
.fc-seg--dealer button.on{background:var(--fc-dealer,#7c3aed)}

/* ─────────────────────────── ПОЛЗУНОК ─────────────────────────── */
.fc-range{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:#26262b;border:none;border-radius:0;cursor:pointer}
.fc-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--red);border:none;border-radius:0;cursor:pointer}
.fc-range::-moz-range-thumb{width:16px;height:16px;background:var(--red);border:none;border-radius:0;cursor:pointer}
.fc-range::-moz-range-track{height:6px;background:#26262b}
.fc-range:focus{outline:none}
.fc-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 3px rgba(209,19,59,.35)}
.fc-range--dealer::-webkit-slider-thumb{background:var(--fc-dealer,#7c3aed)}
.fc-range--dealer::-moz-range-thumb{background:var(--fc-dealer,#7c3aed)}
.fc-rangeval{flex:0 0 auto;min-width:22px;text-align:center;font-family:var(--sans);font-weight:900;font-size:14px;color:#fff;background:rgba(209,19,59,.16);border:1px solid rgba(209,19,59,.4);padding:2px 6px}

/* ─────────────────────────── ЦВЕТ ─────────────────────────── */
.fc-swatch{width:48px;height:30px;padding:0;border:1px solid #4a4a50;background:none;cursor:pointer;border-radius:0}

/* ─────────────────────────── ЗАГРУЗКА + ПРЕВЬЮ ─────────────────────────── */
.fc-upload{display:flex;align-items:center;gap:9px;width:100%;min-height:40px;padding:0 12px;border:1px dashed #3a3a42;background:#0e0e10;color:#b7b7bf;font-family:var(--sans);font-weight:700;font-size:12px;cursor:pointer;box-sizing:border-box}
.fc-upload:hover{border-color:var(--red);color:#fff}
.fc-upload.fc-dragover{border-color:var(--red);border-style:solid;background:rgba(209,19,59,.10);color:#fff}   /* подсветка при drag&drop */
.fc-upload .fc-ic{width:16px;height:16px;fill:currentColor;flex:0 0 16px}
.fc-prev{display:flex;align-items:center;gap:10px;margin-top:7px;padding:7px 10px;border:1px solid var(--line);background:#0e0e10}
.fc-prev img{height:32px;max-width:90px;object-fit:contain;background:#fff;padding:2px;flex:0 0 auto}
.fc-prev-t{font-family:var(--sans);font-weight:700;font-size:11.5px;color:#b7b7bf}
.fc-prev-rm{margin-left:auto;display:flex;align-items:center;gap:5px;font-family:var(--sans);font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:#c9c9d0;background:none;border:1px solid var(--line2);padding:5px 10px;cursor:pointer}
.fc-prev-rm svg{width:13px;height:13px;fill:currentColor}
.fc-prev-rm:hover{border-color:var(--red);color:#fff;background:rgba(209,19,59,.12)}

/* ─────────────────────────── КАРТОЧКА / ГРУППА ─────────────────────────── */
.fc-card{border:1px solid var(--line);background:var(--panel);padding:16px}
.fc-card+.fc-card{margin-top:12px}
.fc-card-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.fc-card-t{font-family:var(--sans);font-weight:800;font-size:12px;letter-spacing:.02em;color:#e7e7ea}
.fc-panel-h{font-family:var(--sans);font-weight:900;font-size:15px;text-transform:uppercase;letter-spacing:.05em;color:#fff;margin:0 0 16px;padding-bottom:11px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px}
/* строка «лейбл слева · контрол справа» */
.fc-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 0}
.fc-row+.fc-row{border-top:1px solid rgba(255,255,255,.05)}
.fc-row-l{min-width:0;flex:1 1 auto}
.fc-row-lbl{font-family:var(--sans);font-weight:700;font-size:12.5px;color:#e7e7ea}
.fc-row-sub{font-size:11px;color:var(--muted);margin-top:2px}
.fc-row-c{flex:0 0 auto;display:flex;align-items:center;gap:10px}

/* ─────────────────────────── STAT / МЕТРИКА ─────────────────────────── */
.fc-stats{display:inline-flex;align-items:stretch;flex-wrap:wrap}
.fc-stat{padding:7px 15px;border-right:1px solid var(--line2);min-width:70px}
.fc-stat:last-child{border-right:0}
.fc-stat b{display:block;font-size:20px;font-weight:900;line-height:1.05;letter-spacing:-.02em;color:#fff}
.fc-stat span{font-size:9.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}

/* ─────────────────────────── БЕЙДЖ ─────────────────────────── */
.fc-badge{display:inline-flex;align-items:center;font-family:var(--sans);font-weight:900;font-size:9px;letter-spacing:.05em;text-transform:uppercase;padding:2px 6px;line-height:1.5;background:#56565e;color:#fff;border-radius:0}
.fc-badge--pro{background:var(--red);color:#fff}
.fc-badge--dealer{background:var(--fc-dealer,#7c3aed);color:#fff}
.fc-badge--muted{background:#26262b;color:#aaa}
.fc-badge--danger{background:var(--red);color:#fff}
.fc-badge--ok{background:#123a24;color:#4ade80}
.fc-badge--warn{background:#3a2e12;color:#e0b552}

/* ─────────────────────────── NOTE / ПОДСКАЗКА ─────────────────────────── */
.fc-note{font-family:var(--sans);font-size:11px;line-height:1.4;color:var(--muted);margin-top:6px}
.fc-note b{color:#c9c9d0;font-weight:700}

/* ─────────────────────────── ЛОАДЕР (квадратные бары-эквалайзер, наш стиль) ─────────────────────────── */
.fc-loader{display:inline-flex;align-items:center;gap:10px;color:var(--muted);font-family:var(--mono);font-size:13px}
.fc-bars{display:inline-flex;align-items:center;gap:3px;height:15px;flex:0 0 auto}
.fc-bars i{width:3px;height:100%;background:var(--red);transform-origin:center;animation:fc-bars 1s ease-in-out infinite}
.fc-bars i:nth-child(2){animation-delay:.12s}
.fc-bars i:nth-child(3){animation-delay:.24s}
.fc-bars i:nth-child(4){animation-delay:.36s}
.fc-bars--dealer i{background:var(--fc-dealer,#7c3aed)}
@keyframes fc-bars{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
/* индетерминантная полоса-прогресс (для линий/блоков) */
.fc-loadbar{position:relative;width:100%;height:3px;background:#26262b;overflow:hidden}
.fc-loadbar::after{content:"";position:absolute;top:0;left:-40%;height:100%;width:40%;background:var(--red);animation:fc-sweep 1.1s ease-in-out infinite}
@keyframes fc-sweep{0%{left:-40%}100%{left:100%}}

/* ─────────────────────────── МОДАЛКА ─────────────────────────── */
.fc-modal{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.66);backdrop-filter:blur(3px)}
.fc-modal.open{display:flex}
.fc-modal-box{width:100%;max-width:460px;max-height:88vh;overflow-y:auto;background:var(--panel);border:1px solid var(--line2);box-shadow:0 24px 60px rgba(0,0,0,.6)}
.fc-modal-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.fc-modal-t{font-family:var(--sans);font-weight:900;font-size:16px;letter-spacing:.01em;color:#fff}
.fc-modal-x{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--muted);cursor:pointer}
.fc-modal-x:hover{color:#fff}
.fc-modal-x svg{width:16px;height:16px;fill:currentColor}
.fc-modal-b{padding:18px}
.fc-modal-f{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--line)}

/* ─────────────────────────── ТОСТ (новый, наш стиль) ─────────────────────────── */
.fc-toast-wrap{position:fixed;right:18px;bottom:18px;left:auto;z-index:3000;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none;max-width:calc(100vw - 28px)}
.fc-toast{--fc-acc:var(--red);position:relative;overflow:hidden;display:flex;align-items:center;gap:11px;min-width:240px;max-width:420px;padding:13px 14px 13px 15px;
  background:rgba(28,28,34,.55);
  -webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);
  border:1px solid rgba(255,255,255,.14);box-shadow:0 16px 42px rgba(0,0,0,.5);
  color:#fff;font-family:var(--sans);font-weight:600;font-size:13px;line-height:1.35;
  pointer-events:auto;transform:translateX(20px);opacity:0;transition:transform .24s ease,opacity .24s ease}
.fc-toast.in{transform:translateX(0);opacity:1}
.fc-toast-ic{flex:0 0 18px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--fc-acc)}
.fc-toast-ic svg{width:18px;height:18px;fill:currentColor}
.fc-toast-tx{flex:1 1 auto}
.fc-toast-x{flex:0 0 auto;width:22px;height:22px;display:flex;align-items:center;justify-content:center;margin-left:4px;background:none;border:none;color:rgba(255,255,255,.55);cursor:pointer;transition:color .12s}
.fc-toast-x:hover{color:#fff}
.fc-toast-x svg{width:13px;height:13px;fill:currentColor}
.fc-toast-bar{position:absolute;left:0;bottom:0;height:3px;width:100%;transform-origin:left center;background:var(--fc-acc);animation:fc-toastbar linear forwards}
.fc-toast:hover .fc-toast-bar{animation-play-state:paused}
@keyframes fc-toastbar{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.fc-toast--success{--fc-acc:#12b76a;background:rgba(18,183,106,.22);border-color:rgba(18,183,106,.42)}
.fc-toast--error{--fc-acc:var(--red2);background:rgba(245,50,92,.22);border-color:rgba(245,50,92,.44)}
.fc-toast--info{--fc-acc:#a78bfa;background:rgba(167,139,250,.22);border-color:rgba(167,139,250,.44)}

/* ─────────────────────────── POPOVER (дропдаун-карточка под кнопкой) ─────────────────────────── */
.fc-popover{position:absolute;right:0;top:calc(100% + 6px);z-index:1200;min-width:212px;background:var(--panel);border:1px solid var(--line2);box-shadow:0 14px 34px rgba(0,0,0,.55);padding:14px}
.fc-popover-h{font-family:var(--sans);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#56565e;margin-bottom:10px}
.fc-popover .fc-check{display:flex;padding:5px 0;font-weight:600;font-size:13px;color:var(--txt)}

/* ─────────────────────────── TOOLTIP ─────────────────────────── */
.fc-tip{position:relative;display:inline-flex;align-items:center}
.fc-tip::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 9px);left:50%;transform:translateX(-50%) translateY(4px);background:#0a0a0b;border:1px solid var(--line2);color:#fff;font-family:var(--sans);font-weight:600;font-size:11px;line-height:1.3;white-space:nowrap;max-width:260px;padding:7px 10px;opacity:0;pointer-events:none;transition:opacity .14s,transform .14s;z-index:1500;box-shadow:0 10px 26px rgba(0,0,0,.5)}
.fc-tip::before{content:"";position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--line2);opacity:0;transition:opacity .14s;z-index:1500}
.fc-tip:hover::after,.fc-tip:focus-visible::after{opacity:1;transform:translateX(-50%) translateY(0)}
.fc-tip:hover::before,.fc-tip:focus-visible::before{opacity:1}

/* адаптив-хелперы: скрыть на мобиле / на десктопе */
.fc-hide-sm{}
@media(max-width:600px){.fc-hide-sm{display:none!important}}
@media(min-width:601px){.fc-hide-lg{display:none!important}}

/* ─────────────────────────── ТАБЛИЦА ─────────────────────────── */
.fc-table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:13px}
@media(max-width:600px){.fc-table th,.fc-table td{padding:10px 10px}}
.fc-table th{text-align:left;font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);padding:9px 12px;border-bottom:1px solid var(--line2)}
.fc-table td{padding:10px 12px;border-bottom:1px solid var(--line);color:#e7e7ea}
.fc-table tr:last-child td{border-bottom:none}
.fc-table tbody tr:hover{background:rgba(255,255,255,.03)}
.fc-table .r{text-align:right}
.fc-table .num{font-family:var(--mono)}

/* ─────────────────────────── ТАБЫ ─────────────────────────── */
.fc-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line2)}
.fc-tab{padding:10px 16px;background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font-family:var(--sans);font-weight:800;font-size:12.5px;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;margin-bottom:-1px;transition:color .12s,border-color .12s}
.fc-tab:hover{color:#e7e7ea}
.fc-tab.on{color:#fff;border-bottom-color:var(--red)}
.fc-tabs--dealer .fc-tab.on{border-bottom-color:var(--fc-dealer,#7c3aed)}
.fc-tabpanel{display:none}
.fc-tabpanel.on{display:block}

/* ─────────────────────────── ALERT / ИНЛАЙН-БАННЕР ─────────────────────────── */
/* шлейф как у answer-first (base.css .answer): цветная полоса слева + градиент в прозрачность */
.fc-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--line);border-left:3px solid var(--red);background:linear-gradient(90deg,rgba(209,19,59,.10),transparent);font-family:var(--sans);font-size:13px;line-height:1.45;color:#e7e7ea}
.fc-alert-ic{flex:0 0 18px;width:18px;height:18px;color:var(--red);margin-top:1px}
.fc-alert-ic svg{width:18px;height:18px;fill:currentColor}
.fc-alert b{color:#fff}
.fc-alert--success{border-left-color:#12b76a;background:linear-gradient(90deg,rgba(18,183,106,.11),transparent)}.fc-alert--success .fc-alert-ic{color:#12b76a}
.fc-alert--error{border-left-color:var(--red2);background:linear-gradient(90deg,rgba(245,50,92,.11),transparent)}.fc-alert--error .fc-alert-ic{color:var(--red2)}
.fc-alert--info{border-left-color:#a78bfa;background:linear-gradient(90deg,rgba(167,139,250,.12),transparent)}.fc-alert--info .fc-alert-ic{color:#a78bfa}

/* ─────────────────────────── EMPTY STATE ─────────────────────────── */
.fc-empty{text-align:center;padding:36px 22px;border:1px dashed var(--line2);background:rgba(255,255,255,.01)}
.fc-empty-ic{width:34px;height:34px;margin:0 auto 12px;color:#4a4a52}
.fc-empty-ic svg{width:34px;height:34px;fill:currentColor}
.fc-empty-t{font-family:var(--sans);font-weight:800;font-size:14px;color:#e7e7ea;margin-bottom:5px}
.fc-empty-s{font-family:var(--sans);font-size:12.5px;color:var(--muted);line-height:1.45}

/* ─────────────────────────── PROGRESS (определённый) ─────────────────────────── */
.fc-progress{width:100%;height:6px;background:#26262b;overflow:hidden}
.fc-progress-fill{height:100%;background:var(--red);transition:width .3s ease}
.fc-progress--dealer .fc-progress-fill{background:var(--fc-dealer,#7c3aed)}

/* ─────────────────────────── CHIP / ТЕГ ─────────────────────────── */
.fc-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--panel2);border:1px solid var(--line2);color:#e7e7ea;font-family:var(--sans);font-weight:700;font-size:11.5px;line-height:1.4}
.fc-chip-x{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;background:none;border:none;color:#8a8a90;cursor:pointer}
.fc-chip-x:hover{color:#fff}
.fc-chip-x svg{width:11px;height:11px;fill:currentColor}
.fc-chip--dealer{border-color:rgba(124,58,237,.4);color:var(--fc-dealer-2,#a78bfa)}

/* ─────────────────────────── RATING (звёзды) ─────────────────────────── */
/* показ (дробные — заливка по ширине %) */
.fc-rating{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans)}
.fc-stars{position:relative;display:inline-block;line-height:1;color:#3a3a42;white-space:nowrap;font-size:15px}
.fc-stars::before{content:"★★★★★";letter-spacing:3px}
.fc-stars i{position:absolute;top:0;left:0;overflow:hidden;white-space:nowrap;color:var(--fc-star,#f5b301)}
.fc-stars i::before{content:"★★★★★";letter-spacing:3px}
.fc-rating--lg .fc-stars{font-size:22px}
.fc-rating-n{font-weight:800;font-size:13px;color:#e7e7ea}
.fc-rating-c{font-size:12px;color:var(--muted)}
/* интерактивный ввод (клик = оценка, ховер = подсветка) */
.fc-rate-input{display:inline-flex;gap:3px}
.fc-rate-input button{background:none;border:none;padding:0 1px;font-size:26px;line-height:1;color:#3a3a42;cursor:pointer;transition:color .1s}
.fc-rate-input button.on{color:var(--fc-star,#f5b301)}

/* ─────────────────────────── INLINE-ТУЛБАР (форматирование редактируемого текста) ─────────────────────────── */
.fc-inline-bar{position:fixed;z-index:2500;display:none;align-items:center;gap:1px;padding:3px;background:rgba(28,28,34,.94);-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4);border:1px solid rgba(255,255,255,.16);box-shadow:0 4px 12px rgba(0,0,0,.3)}
.fc-inline-bar.on{display:flex}
.fc-inline-bar button{display:flex;align-items:center;justify-content:center;min-width:27px;height:26px;padding:0 6px;background:none;border:none;color:#d7d7dd;font-family:var(--sans);font-weight:800;font-size:13px;line-height:1;cursor:pointer;border-radius:0;transition:background .1s,color .1s}
.fc-inline-bar button:hover{background:rgba(255,255,255,.12);color:#fff}
.fc-inline-bar button.on{background:var(--red);color:#fff}
.fc-inline-bar button[data-ib="bold"]{font-weight:900;font-size:14px}
.fc-inline-bar button[data-ib="italic"]{font-style:italic;font-family:var(--serif,Georgia,serif);font-size:15px}
.fc-inline-bar button[data-ib="underline"]{text-decoration:underline;font-size:14px}
.fc-inline-bar .fc-ib-sep{width:1px;height:15px;background:rgba(255,255,255,.16);margin:0 3px;flex:0 0 auto}
.fc-inline-bar svg{width:14px;height:14px;fill:currentColor;display:block}
