/* ── карточки фирм: сетка мини-плиток + полная карточка (общее для firms.html и кабинета) ── */
.loading{font-family:var(--mono);font-size:12px;color:var(--dim);padding:60px 0;text-align:center;letter-spacing:.2em;text-transform:uppercase}
.firm{max-width:none;margin-bottom:26px;scroll-margin-top:90px}
.fc-logo-img{width:46px;height:46px;object-fit:contain;background:#fff;padding:5px;border:1px solid var(--line2);flex-shrink:0}
.rule-block{margin:0 24px 18px;padding:2px 22px 20px;border:1px solid var(--line2);border-radius:6px;background:rgba(255,255,255,.015)}
.rule-block .bt{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);font-weight:600;
  border-bottom:1px solid var(--line2);padding:16px 0 12px;margin-bottom:12px;display:flex;gap:10px;align-items:center}
.rule-block .bt .n{color:var(--pink);font-weight:700}
/* акцент для «опасных» блоков — чтобы не сливались с нейтральными */
.rule-block.rb-hidden{border-color:rgba(255,199,77,.4);border-left:3px solid var(--amber,#e6c93c);background:rgba(255,199,77,.035)}
.rule-block.rb-disputed{border-color:rgba(255,120,60,.4);border-left:3px solid #e8813a;background:rgba(232,129,58,.04)}
.rule-block.rb-hidden .bt,.rule-block.rb-disputed .bt{border-bottom-color:rgba(255,199,77,.25)}
/* «мелкий шрифт» = подтверждённое официально (help-центр/ToS/ответ поддержки) — зелёный акцент,
   в отличие от янтарных «скрытых по отзывам». Решение 27.07.2026 */
.rule-block.rb-fine{border-color:rgba(61,220,151,.35);border-left:3px solid var(--acc,#3ddc97);background:rgba(61,220,151,.03)}
.rule-block.rb-fine .bt{border-bottom-color:rgba(61,220,151,.22)}
.rule-block.rb-fine .crules li.hid{border-color:rgba(61,220,151,.35)}
.crules{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:7px}
.crules li{font-size:13.5px;line-height:1.6;padding:9px 13px;border:1px solid var(--line);background:rgba(0,0,0,.02)}
.crules li b{color:var(--ink)}
.crules li.hid{border-color:rgba(255,199,77,.4)}
.crules li.hid::before{content:"🔒 ";font-size:11px}
/* скрытые правила (текст) + спорные правила */
.unoff-tag{display:inline-flex;align-items:center;gap:5px;font-family:inherit;font-size:10px;font-weight:600;letter-spacing:0;text-transform:none;
  color:#8a6d05;background:rgba(240,201,58,.16);border:1px solid rgba(226,196,60,.55);border-radius:999px;padding:3px 11px;margin-left:auto;align-self:center;white-space:nowrap;line-height:1.45}
.unoff-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none;opacity:.9}
.hidnotes{display:flex;flex-direction:column;gap:8px;margin:8px 0 0}
.hidnote{font-size:13.5px;line-height:1.65;padding:11px 14px;border:1px solid rgba(255,199,77,.4);background:rgba(255,199,77,.05)}
.hidnote b{color:var(--pink)}
.unoff-src{font-family:var(--mono);font-size:10px;color:var(--dim)}
.note-conf{display:inline-flex;align-items:center;font-family:inherit;font-size:10px;font-weight:600;letter-spacing:0;color:#158a5b;border:1px solid rgba(61,220,151,.5);background:rgba(61,220,151,.15);padding:2px 9px;border-radius:999px;white-space:nowrap}
.unoff-tag.conf{color:#158a5b;background:rgba(61,220,151,.15);border-color:rgba(61,220,151,.5)}
.unoff-tag.conf::before{display:none}
/* High-impact новости в карточке */
.fr-newscal{font-size:12px;color:var(--mut);margin:8px 0 4px}
.fr-newscal a{color:var(--pink)}
.fr-news-body{margin-top:8px;display:flex;flex-direction:column;gap:5px}
.fr-nrow{font-size:12.5px;color:var(--ink);line-height:1.5;padding:6px 11px;border:1px solid var(--line);border-radius:3px;background:rgba(0,0,0,.02)}
.fr-nrow.soon{border-color:rgba(255,199,77,.5);color:var(--amber,#e6c93c)}
.fr-nrow.past{opacity:.5}
.fr-nrow b{font-family:var(--mono);font-size:11.5px}
.fr-ncc{font-family:var(--mono);font-size:10.5px;color:var(--amber,#e6c93c);font-weight:600}
.fr-nhint{font-size:10.5px;color:var(--dim);margin-top:5px;line-height:1.5}
/* контракты и плечо */
.fr-specs{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;margin-top:8px}
@media(max-width:560px){.fr-specs{grid-template-columns:1fr}}
.fr-spec-row{display:flex;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:12px;color:var(--mut);padding:5px 0;border-bottom:1px solid var(--line)}
.fr-spec-row b{color:var(--ink)}
.fr-typ{font-size:9px;color:var(--dim);letter-spacing:.05em}
.fr-nodata{color:#e8813a;font-weight:600}
/* блок «откуда данные»: источник контрактов и плеча + дата сверки. Видимый, а не сноска мелким —
   по нему юзер решает, доверять ли числу выше */
.fr-src{margin-top:10px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;
  background:var(--bg2,rgba(127,127,127,.05));font-size:11px;line-height:1.65;color:var(--mut)}
.fr-src b{color:var(--ink);font-weight:600}
.fr-src a{color:var(--acc,#22c55e);text-decoration:none;border-bottom:1px dotted currentColor}
.fr-src a:hover{opacity:.8}
.fr-src-note{color:var(--dim);font-size:10.5px}
.fr-src-warn{color:var(--yl,#e6c93c);font-weight:600;margin-top:3px}
/* калькулятор маржи */
.fr-calc{margin-top:8px}
.fr-calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
.fr-calc-grid label{display:flex;flex-direction:column;gap:5px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.fr-calc-grid input,.fr-calc-grid select{font-family:var(--sans);font-size:13px;padding:9px 11px;background:transparent;color:var(--ink);border:1px solid var(--line2);border-radius:3px}
.fr-calc-grid input:focus,.fr-calc-grid select:focus{outline:none;border-color:var(--cyan)}
.fc-out{margin-top:12px;font-size:13px;color:var(--mut);line-height:1.6;padding:11px 13px;border:1px solid var(--line2);border-left:3px solid var(--cyan);border-radius:3px;background:rgba(34,211,238,.04)}
.fc-out b{color:var(--ink)}
.fc-out b.fc-over{color:var(--red)}
.fc-mt{font-size:10.5px;color:var(--dim)}
.disps{display:flex;flex-direction:column;gap:10px;margin:8px 0 0}
.disp{border:1px solid var(--line);border-left:3px solid var(--amber,#e6c93c);background:rgba(0,0,0,.02);padding:12px 14px}
.disp-q{font-size:13.5px;color:var(--ink);font-weight:600;line-height:1.5}
.disp-ask{margin-top:10px;border:1px solid rgba(34,211,238,.35);border-left:3px solid var(--cyan);background:rgba(34,211,238,.05);border-radius:4px;padding:11px 13px}
.disp-ask .ask-lbl{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);margin-bottom:6px}
.disp-ask .ask-txt{font-size:13px;color:var(--ink);line-height:1.55}
.disp-ask .ask-copy{margin-top:9px;font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;color:var(--cyan);background:transparent;border:1px solid rgba(34,211,238,.45);border-radius:3px;padding:6px 12px;cursor:pointer}
.disp-ask .ask-copy:hover{background:rgba(34,211,238,.12)}
.disp-a{font-size:13px;color:var(--ink);line-height:1.6;margin-top:9px;border-left:2px solid var(--cyan);padding-left:10px}
.disp-a b{color:var(--cyan)}
.disp-a.conf{border-left-color:var(--green)}
.disp-a.conf b{color:var(--green)}
.disp-foot{display:flex;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap}
.disp-none{font-family:var(--mono);font-size:10px;color:var(--dim)}
/* спор закрыт первоисточником (help-центр/ToS), а не перепиской — скрин не требуется */
.disp-src-ok{font-family:var(--mono);font-size:10px;color:#158a5b}
.lev-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.lev-chip{font-family:var(--mono);font-size:11px;border:1px solid var(--line2);padding:6px 11px;color:var(--mut)}
.lev-chip b{color:var(--ink)}
.src-links{display:flex;flex-direction:column;gap:5px;margin-top:8px}
.src-links a{font-family:var(--mono);font-size:10.5px;color:var(--mut);letter-spacing:.02em;word-break:break-all}
.src-links a:hover{color:var(--pink)}
.notes-box{font-size:13px;color:var(--mut);line-height:1.7;border-left:2px solid var(--line2);padding-left:12px;margin-top:8px}
.checked-chip{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid rgba(61,220,151,.4);color:var(--green);padding:4px 11px}

/* сетка мини-плиток */
.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:26px 0 60px}
.ftile{border:1px solid var(--line2);background:var(--panel);padding:22px;cursor:pointer;transition:.2s;
  display:flex;flex-direction:column;gap:14px;position:relative}
.ftile:hover{border-color:var(--pink);transform:translateY(-3px);box-shadow:0 18px 50px -30px rgba(0,0,0,.6)}
.ftile .top{display:flex;align-items:center;gap:12px}
.ftile .top img{width:44px;height:44px;object-fit:contain;background:#fff;padding:5px;border:1px solid var(--line2)}
.ftile .ft-id{flex:1;min-width:0}
.ftile h3{font-size:17px;line-height:1.25;font-weight:700}
.ftile .ft-sub{font-family:var(--mono);font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--dim);margin-top:4px}
.ftile .ft-plans-note{font-family:var(--mono);font-size:9px;letter-spacing:.06em;color:var(--dim);margin-top:-6px}
.ftile .qr{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid var(--line);border-left:none}
.ftile .qr div{border-left:1px solid var(--line);padding:9px 6px;text-align:center}
.ftile .qr .v{font-family:var(--mono);font-size:15px;font-weight:600}
.ftile .qr .k{font-family:var(--mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-top:3px}
.ftile .risk-line{font-size:12px;color:var(--red);font-family:var(--mono);letter-spacing:.04em}
.ftile .foot{display:flex;align-items:center;gap:10px;margin-top:auto}
.ftile .foot .chk{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--green)}
.ftile .foot .go{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--pink);transition:.2s}
.ftile:hover .foot .go{transform:translateX(4px)}
.ftile .my-mark{position:absolute;top:-10px;right:14px;font-family:var(--mono);font-size:9px;letter-spacing:.14em;
  text-transform:uppercase;background:var(--pink);color:#060606;padding:3px 10px}

/* деталка */
.back-row{display:flex;align-items:center;gap:14px;margin:22px 0;flex-wrap:wrap}
.back-row .others{display:flex;gap:8px;flex-wrap:wrap}
.back-row .others a{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid var(--line2);padding:8px 14px;color:var(--mut);cursor:pointer}
.back-row .others a:hover{border-color:var(--pink);color:var(--pink)}
.back-row .others a.cur{border-color:var(--pink);color:var(--pink)}

/* пояснение правила для новичков («простыми словами») */
.fr-eli5{margin-top:6px;font-size:12.5px;line-height:1.55;color:var(--dim);border-left:3px solid var(--cyan);padding:5px 0 5px 10px}
.fr-eli5 b{color:var(--cyan);font-weight:600}
.unoff-tag.part{color:#0e8a92;background:rgba(34,211,238,.13);border-color:rgba(34,211,238,.5)}
/* табы карточки: Обзор / Официальные / Скрытые / Спорные */
.fr-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 24px 4px}
.fr-tab{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;
  color:var(--mut);background:transparent;border:1px solid var(--line2);border-radius:8px;padding:8px 15px;cursor:pointer;transition:.15s}
.fr-tab:hover{color:var(--ink);border-color:var(--mut)}
.fr-tab.on{color:var(--ink);border-color:var(--ink);background:rgba(255,255,255,.04);font-weight:600}
.fr-tab .dot{width:8px;height:8px;border-radius:50%;flex:none}
.fr-tab .dot.g{background:var(--green,#3ddc97)}
.fr-tab .dot.a{background:#9aa0a8}
.fr-tab .dot.o{background:#e8c43c}
/* заливка табов по типу — кнопки выделяются цветом */
.fr-tab.tg{background:rgba(61,220,151,.16);border-color:rgba(61,220,151,.5);color:#0f8a58}
.fr-tab.ta{background:rgba(150,156,165,.2);border-color:rgba(150,156,165,.55);color:#565c66}
.fr-tab.to{background:rgba(240,201,58,.2);border-color:rgba(226,196,60,.65);color:#8a6d05}
.fr-tab.tg:hover{background:rgba(61,220,151,.26);color:#0f8a58}
.fr-tab.ta:hover{background:rgba(150,156,165,.3);color:#565c66}
.fr-tab.to:hover{background:rgba(240,201,58,.3);color:#8a6d05}
.fr-tab.tg.on{background:#2fcf8a;border-color:#25b478;color:#04160e;font-weight:700}
.fr-tab.ta.on{background:#9aa0a8;border-color:#7f858e;color:#14171b;font-weight:700}
.fr-tab.to.on{background:#eec533;border-color:#d3ac1c;color:#3a2e00;font-weight:700}
.fr-tab.tg.on .dot,.fr-tab.ta.on .dot,.fr-tab.to.on .dot{background:currentColor}
.fr-tab .cnt{font-size:10px;color:var(--mut);font-weight:400}
/* пояснение активного таба: что в разделе и откуда инфо */
.fr-tabnote{font-size:12.5px;line-height:1.55;color:var(--mut);margin:6px 24px 2px;padding:8px 12px;border-left:3px solid var(--line2);background:rgba(255,255,255,.02);border-radius:3px}
.fr-tabnote b{color:var(--ink);font-weight:600}
.fr-tabnote.ok{border-left-color:var(--green,#3ddc97)}
.fr-tabnote.ok b{color:var(--green,#3ddc97)}
.fr-tabnote.warn{border-left-color:#9aa0a8}
.fr-tabnote.warn b{color:#565c66}
.fr-tabnote.dsp{border-left-color:#e8c43c}
.fr-tabnote.dsp b{color:#8a6d05}
/* пояснение к красному дайджесту + метки фазы у пунктов */
.fail .fail-note{font-size:12px;line-height:1.5;color:var(--mut);margin:2px 0 12px;padding:8px 11px;border-left:3px solid rgba(246,70,93,.35);background:rgba(246,70,93,.05);border-radius:3px}
.fail .fail-note b{color:var(--ink);font-weight:600}
.fail .fail-note .stage-b{margin:0 2px;vertical-align:1px}
.fail li .fail-body .stage-b{margin-right:6px;vertical-align:1px}
/* правило другого продукта фирмы (напр. FTMO 1-Step в карточке 2-Step) — приглушено и помечено */
.prod-b{display:inline-flex;align-items:center;font-size:10.5px;font-weight:700;border-radius:999px;padding:3px 9px;white-space:nowrap;margin-right:6px;vertical-align:1px;
  color:#8a6d1f;background:rgba(240,185,11,.14);border:1px solid rgba(240,185,11,.35)}
li.other-prod{opacity:.82}
/* ссылки от поддержки в спорном правиле */
.disp-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 2px}
.disp-links-lbl{font-size:11.5px;color:var(--mut)}
.disp-link{font-size:11.5px;color:var(--cyan);text-decoration:none;border:1px solid var(--line2);border-radius:6px;padding:3px 9px;word-break:break-all}
.disp-link:hover{border-color:var(--cyan);background:rgba(34,211,238,.06)}

/* ── ПЛАНЫ ФИРМЫ (05.08.2026): выбор линейки под названием, правила делятся по области ── */
.fr-plans{padding:14px 28px 4px;border-bottom:1px solid var(--line)}
.fr-plans-lbl{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:8px}
.fr-plans-row{display:flex;flex-wrap:wrap;gap:8px}
.fr-plan{font:inherit;font-size:12.5px;padding:7px 14px;border:1px solid var(--line2);border-radius:999px;background:transparent;color:var(--mut);cursor:pointer;transition:.15s}
.fr-plan:hover{border-color:var(--acc);color:var(--ink)}
.fr-plan.on{border-color:var(--acc);background:var(--acc-bg);color:var(--acc);font-weight:600}
.fr-plans-hint{font-size:10.5px;color:var(--dim);margin:9px 0 10px;line-height:1.5;max-width:760px}
/* метка области действия рядом с заголовком блока */
.fr-plan-tag{margin-left:10px;font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;
  padding:3px 9px;border-radius:999px;border:1px solid var(--acc);color:var(--acc);background:var(--acc-bg);font-weight:600}
.fr-plan-tag.all{border-color:var(--line2);color:var(--mut);background:transparent}
/* подзаголовок группы внутри блока «мелкий шрифт» */
.fr-sub{display:flex;align-items:center;gap:8px;margin:14px 0 2px;font-size:11.5px;color:var(--mut)}
.fr-sub .fr-plan-tag{margin-left:0}
.fr-otherwrap summary{cursor:pointer;list-style:none}
.fr-otherwrap summary::-webkit-details-marker{display:none}
.fr-otherwrap summary::before{content:"▸ ";color:var(--dim)}
.fr-otherwrap[open] summary::before{content:"▾ "}
/* правила, которые к выбранному плану не относятся */
.crules.dim li{opacity:.62}
.rb-excl .crules li{border-style:dashed}
.rb-other > summary{cursor:pointer;list-style:none}
.rb-other > summary::-webkit-details-marker{display:none}
