/* «Уточнёнки 2026» — вкладка карточки клиента (ТЗ Жоогазын 26.10.2026, refile-card.js): цепочка статусов, метод учёта,
   анкета, данные, сверки, «было → стало», сообщение клиенту, оплата, годовые суммы, авансы, флаги и история */

.rfc { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.rfc .card { margin: 0; min-width: 0; }
.rfc .c-warn, .rfc-msg .c-warn { color: var(--warn-deep); font-weight: 700; }
.rfc .c-err, .rfc-msg .c-err { color: var(--err-deep); font-weight: 700; }
.rfc .c-accent { color: var(--accent-2); font-weight: 700; }

/* ═══ Шапка проекта ═══ */
.rfc-head { padding: 15px 18px 14px; }
.rfc-top { display: flex; align-items: center; gap: 10px 14px; flex-wrap: wrap; }
.rfc-top-t { display: flex; align-items: center; gap: 10px; min-width: 0; flex: 1 1 340px; }
.rfc-top-t > svg { color: var(--accent); }
.rfc-top-t b { display: block; font-size: 16px; font-weight: 800; letter-spacing: -.2px; color: var(--text); }
.rfc-top-t span { display: block; font-size: 12.3px; color: var(--muted); margin-top: 1px; }
.rfc-top-r { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-left: auto; }
.rfc-stat { display: inline-flex; align-items: center; padding: 5px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 750;
    background: var(--accent-soft); color: var(--accent-2); white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.rfc-stat.s0 { background: #eef0f4; color: #6b7686; }
.rfc-stat.s9 { background: var(--ok-soft); color: var(--ok-deep); }
.rfc-reload.spin svg { animation: rfcSpin .8s linear infinite; }
@keyframes rfcSpin { to { transform: rotate(360deg); } }

/* цепочка статусов 1–9 */
.rfc-steps { display: flex; align-items: flex-start; margin: 16px 0 10px; }
.rfc-step { flex: 1 1 0; min-width: 0; position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px;
    border: 0; background: none; padding: 0 2px; font: inherit; color: var(--muted); cursor: pointer; }
.rfc-step::before { content: ''; position: absolute; top: 13px; right: calc(50% + 16px); left: calc(-50% + 16px); height: 2px; border-radius: 2px; background: #e4e7ee; }
.rfc-step:first-child::before { display: none; }
.rfc-step.done::before { background: #9fdcc3; }
.rfc-step-dot { position: relative; z-index: 1; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-size: 12px; font-weight: 800; background: #eef0f4; color: var(--faint); border: 2px solid transparent; transition: transform .14s, box-shadow .14s; }
.rfc-step:hover .rfc-step-dot { transform: scale(1.08); }
.rfc-step-l { max-width: 100%; font-size: 11.5px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rfc-step.done .rfc-step-dot { background: var(--ok-soft); color: var(--ok-deep); }
.rfc-step.done .rfc-step-l { color: var(--ok-deep); }
.rfc-step.cur .rfc-step-dot { background: var(--ok); color: #fff; box-shadow: 0 0 0 4px rgba(16, 185, 129, .18); }
.rfc-step.cur .rfc-step-l { color: var(--text); font-weight: 800; }
.rfc-step.next .rfc-step-dot { background: #fff; border-color: var(--accent); color: var(--accent); box-shadow: 0 0 0 4px rgba(59, 100, 244, .12); }
.rfc-step.next .rfc-step-l { color: var(--accent-2); font-weight: 800; }
.rfc-step.ahead .rfc-step-dot { background: #fff; border: 2px dashed #9fdcc3; color: var(--ok-deep); }

.rfc-next { display: flex; align-items: center; gap: 4px 7px; flex-wrap: wrap; padding: 9px 12px; border-radius: 10px; background: #f5f8ff; border: 1px solid #dbe6ff;
    font-size: 12.8px; color: var(--text-2); line-height: 1.4; }
.rfc-next > svg { color: var(--accent); }
.rfc-next-l { font-weight: 650; color: var(--muted); }
.rfc-next b { color: var(--text); }
.rfc-next-x { min-width: 0; overflow-wrap: anywhere; }
.rfc-next .mini-link { margin-left: 4px; font-size: 12.5px; }
.rfc-next.ok { background: #f3fbf7; border-color: #cdeedd; }
.rfc-next.ok > svg { color: var(--ok); }

.rfc-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-top: 12px; }
.rfc-facts.three { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); margin-top: 0; }
.rfc-facts.six { grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); }
.rfc-fact { min-width: 0; padding: 9px 12px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
.rfc-fact .l { display: flex; align-items: center; gap: 6px; font-size: 10.8px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.rfc-fact .v { margin-top: 4px; font-size: 15px; font-weight: 800; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
.rfc-fact .s { margin-top: 2px; font-size: 11.5px; color: var(--muted); line-height: 1.35; }
.rfc-fact.up .v { color: var(--err-deep); }
.rfc-fact.down .v { color: var(--accent-2); }
.rfc-fact.ok .v { color: var(--ok-deep); }
.rfc-fv { font-size: 12px; font-weight: 650; color: var(--muted); }
.rfc-fact-edit { display: inline-flex; margin-left: auto; padding: 3px; border: 0; border-radius: 6px; background: none; color: var(--muted); cursor: pointer; }
.rfc-fact-edit:hover { background: var(--accent-soft); color: var(--accent); }
.rfc-prio { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 7px;
    font-size: 13px; font-weight: 800; vertical-align: 1px; background: #eef0f4; color: #4b5566; }
.rfc-prio.p1 { background: var(--err-soft); color: var(--err-deep); }
.rfc-prio.p2 { background: var(--warn-soft); color: var(--warn-deep); }
.rfc-prio.p3 { background: var(--accent-soft); color: var(--accent-2); }

.rfc-flags { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 12px; font-size: 12.3px; font-weight: 650; color: var(--muted); }
.rfc-flags > svg { color: var(--err); }
.rfc-flag { display: inline-flex; align-items: center; padding: 3px 10px; border: 1px solid #f3c9c9; border-radius: 999px; background: var(--err-soft);
    color: var(--err-deep); font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.rfc-flag:hover { border-color: var(--err); }
.rfc-flag.none { border-color: transparent; background: var(--ok-soft); color: var(--ok-deep); cursor: default; }

/* ═══ Блоки ═══ */
.rfc-sec { padding: 0; overflow: hidden; }
.rfc-sec-h { display: flex; align-items: center; gap: 9px; width: 100%; min-width: 0; padding: 12px 16px; border: 0; background: none;
    font: inherit; color: var(--text); text-align: left; cursor: pointer; transition: background .12s; }
.rfc-sec-h:hover { background: #f8faff; }
.rfc-sec-h:focus-visible { outline: none; box-shadow: inset 0 0 0 2px rgba(59, 100, 244, .35); }
.rfc-chev { display: flex; flex: 0 0 auto; color: var(--faint); transition: transform .15s, color .15s; }
.rfc-sec.open .rfc-chev { transform: rotate(90deg); color: var(--accent); }
.rfc-sec-ic { display: flex; flex: 0 0 auto; color: var(--accent); }
.rfc-sec-t { display: flex; align-items: center; gap: 7px; flex: 0 0 auto; font-size: 14.5px; font-weight: 800; letter-spacing: -.1px; white-space: nowrap; }
.rfc-tz { padding: 1px 6px; border-radius: 6px; background: #f1f3f7; color: var(--muted); font-size: 10.5px; font-weight: 700; letter-spacing: .02em; white-space: nowrap; }
.rfc-sec-sum { flex: 1 1 auto; min-width: 0; font-size: 12.5px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rfc-sec-b { padding: 14px 16px 16px; border-top: 1px solid var(--border-soft); animation: rfcIn .16s ease-out; }
@keyframes rfcIn { from { opacity: 0; transform: translateY(-3px); } to { opacity: 1; transform: none; } }
.rfc-sec.rfc-flash { animation: rfcFlash 1.6s ease-out; }
@keyframes rfcFlash { 0%, 30% { box-shadow: 0 0 0 3px rgba(59, 100, 244, .35); } 100% { box-shadow: var(--shadow-1); } }

/* состояние — точка и подпись */
.rfc-st { display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto; padding: 2px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 750; white-space: nowrap; }
.rfc-st i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.rfc-st.st-ok { background: var(--ok-soft); color: var(--ok-deep); }
.rfc-st.st-warn { background: var(--warn-soft); color: var(--warn-deep); }
.rfc-st.st-bad { background: var(--err-soft); color: var(--err-deep); }
.rfc-st.st-blue { background: var(--accent-soft); color: var(--accent-2); }
.rfc-st.st-mute { background: #eef0f4; color: #6b7686; }

.rfc-note { display: flex; align-items: flex-start; gap: 9px; margin-top: 10px; padding: 9px 12px; border: 1px solid var(--border); border-radius: 10px;
    background: #f5f7fc; font-size: 12.5px; line-height: 1.45; color: var(--text-2); }
.rfc-note > svg { flex: 0 0 auto; margin-top: 1px; color: var(--accent); }
.rfc-note.warn { background: #fff8e8; border-color: #f3e0b0; color: #6b4e00; }
.rfc-note.warn > svg { color: var(--warn-deep); }
.rfc-note.rfc-note-top { margin: 0 0 12px; }
.rfc-line { display: flex; align-items: flex-start; gap: 8px; padding: 9px 12px; border-radius: 10px; font-size: 13px; font-weight: 650; line-height: 1.4; }
.rfc-sec-b > * + .rfc-line, .rfc-sec-b > .rfc-line + * { margin-top: 10px; }
.rfc-line > svg { flex: 0 0 auto; margin-top: 1px; }
.rfc-line.ok { background: #f3fbf7; color: var(--ok-deep); }
.rfc-line.warn { background: #fff8e8; color: #7c5600; }
.rfc-line.blue { background: #f5f8ff; color: var(--accent-2); }
.rfc-line.mute { background: #f6f7fa; color: var(--muted); }
.rfc-hint-s { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--muted); line-height: 1.4; }
.rfc-sec-b > .rfc-hint-s { display: flex; margin-top: 8px; }
.rfc-sub-h { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; margin: 16px 0 8px; font-size: 13px; font-weight: 800; color: var(--text); }
.rfc-sub-h > svg { color: var(--accent); }
.rfc-sub-h .muted { font-size: 12px; font-weight: 500; }
.rfc-btns { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.rfc-btns > .btn { flex: 0 0 auto; }
.rfc-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 16px; align-items: start; }
.rfc-col { min-width: 0; }
.rfc-man { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 10px; padding: 8px 12px; border-radius: 10px; background: #fffbf2;
    border: 1px dashed #efd9a6; font-size: 12.5px; color: #6b4e00; }
.rfc-man > span { flex: 1 1 260px; min-width: 0; overflow-wrap: anywhere; }
.rfc-man-i { display: inline-flex; align-items: center; gap: 5px; font-size: 12.3px; color: #6b4e00; }

/* сообщение в «Рассылке» — что с ним */
.rfc-bc { display: inline-flex; align-items: center; gap: 6px; min-width: 0; max-width: 100%; padding: 4px 10px; border-radius: 8px; background: #f3f5f9;
    color: var(--text-2); font-size: 12px; text-decoration: none; }
.rfc-bc span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rfc-bc:hover { background: #eaeef6; color: var(--accent-2); }
.rfc-bc.st-sent { background: var(--ok-soft); color: var(--ok-deep); }
.rfc-bc.st-error { background: var(--err-soft); color: var(--err-deep); }
.rfc-bc.st-approval, .rfc-bc.st-planned, .rfc-bc.st-waiting_channel { background: var(--accent-soft); color: var(--accent-2); }

/* ═══ Метод учёта ═══ */
.rfc-mval { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 12px; background: #f9fafc; }
.rfc-mval.cash { background: #f3fbf7; border-color: #cdeedd; }
.rfc-mval.accrual { background: #f5f8ff; border-color: #d4e0fd; }
.rfc-mval.none { background: #fff7f7; border-color: #f3d2d2; }
.rfc-mval.wait { background: #fffbf2; border-color: #f1e2bd; }
.rfc-mval.wait .rfc-mletter { background: #e8c27a; }
.rfc-mletter { display: flex; align-items: center; justify-content: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 11px;
    background: #98a2b3; color: #fff; font-size: 17px; font-weight: 850; }
.rfc-mval.cash .rfc-mletter, .rfc-mletter.cash { background: var(--ok); }
.rfc-mval.accrual .rfc-mletter, .rfc-mletter.accrual { background: var(--accent); }
.rfc-mval.none .rfc-mletter { background: #e9a7a7; }
.rfc-mletter.sm { flex-basis: 22px; width: 22px; height: 22px; border-radius: 7px; font-size: 11.5px; }
.rfc-mval-m { min-width: 0; }
.rfc-mval-t { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 15px; font-weight: 800; color: var(--text); }
.rfc-mval-s { margin-top: 3px; font-size: 12.3px; color: var(--muted); line-height: 1.4; }
.rfc-kv { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 6px 14px; margin: 12px 2px 0; font-size: 12.8px; }
.rfc-kv dt { color: var(--muted); }
.rfc-kv dd { margin: 0; font-weight: 650; color: var(--text); overflow-wrap: anywhere; }
.rfc-quote { margin-top: 12px; padding: 10px 12px; border: 1px solid #cdeedd; border-radius: 10px; background: #f3fbf7; }
.rfc-quote-h { display: flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 750; color: var(--ok-deep); }
.rfc-quote-t { display: block; margin-top: 4px; font-size: 14px; font-weight: 700; color: var(--text); white-space: pre-wrap; overflow-wrap: anywhere; }
.rfc-quote-m { margin-top: 3px; font-size: 11.8px; color: var(--muted); }
.rfc-doc { display: flex; align-items: center; gap: 10px; margin-top: 10px; padding: 9px 12px; border: 1px solid var(--border); border-radius: 10px;
    color: var(--text); text-decoration: none; transition: border-color .14s, background .14s; }
.rfc-doc:hover { border-color: #c6d2f5; background: #f8faff; }
.rfc-doc > svg:first-child { color: var(--accent); }
.rfc-doc > svg:last-child { margin-left: auto; color: var(--muted); }
.rfc-doc span { display: flex; flex-direction: column; min-width: 0; }
.rfc-doc b { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rfc-doc i { font-style: normal; font-size: 11.8px; color: var(--muted); }
.rfc-suggest { margin-top: 12px; padding: 11px 12px; border: 1px solid #c9d6fb; border-radius: 10px; background: #f3f6ff; }
.rfc-suggest-h { display: flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 800; color: var(--accent-2); }
.rfc-suggest .rfc-btns { margin-top: 10px; }
.rfc-ref { padding: 10px 12px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
.rfc-ref + .rfc-ref { margin-top: 10px; }
.rfc-ref-h { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; margin-bottom: 7px; font-size: 12.5px; font-weight: 800; color: var(--text); }
.rfc-ref-h > svg { color: var(--accent); }
.rfc-ref-h .muted { font-weight: 500; font-size: 11.8px; }
.rfc-ref-v { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 650; color: var(--text); }
.rfc-ref-s { margin-top: 4px; font-size: 12px; color: var(--muted); }
.rfc-hint { background: #fffbf2; border-color: #f1e2bd; }
.rfc-hint .rfc-ref-h > svg { color: var(--warn-deep); }
.rfc-flow { display: flex; flex-direction: column; gap: 5px; }
.rfc-flow > div { display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 8px; font-size: 12.5px; line-height: 1.35; }
.rfc-flow span { color: #8a6d2b; }
.rfc-flow b { font-weight: 700; color: var(--text); }
.rfc-hint-n { display: flex; align-items: center; gap: 6px; margin-top: 8px; padding-top: 7px; border-top: 1px dashed #ecdcb0; font-size: 12px; font-weight: 650; color: #7c5600; }
.rfc-alt { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.rfc-alt-c { position: relative; min-width: 0; padding: 8px 10px; border: 1px solid var(--border); border-radius: 10px; }
.rfc-alt-c.cur { border-color: var(--accent); background: #f7f9ff; }
.rfc-alt-c span { font-size: 11.5px; font-weight: 700; color: var(--muted); }
.rfc-alt-c em { position: absolute; top: 7px; right: 9px; font-style: normal; font-size: 10.5px; font-weight: 800; color: var(--accent-2); }
.rfc-alt-c b { display: block; font-size: 15px; font-weight: 800; font-variant-numeric: tabular-nums; }
.rfc-alt-c i { font-style: normal; font-size: 11.5px; color: var(--muted); }
.rfc-alt-d { margin-top: 7px; font-size: 12.3px; color: var(--text-2); }
.rfc-adv { display: flex; align-items: center; gap: 10px 16px; flex-wrap: wrap; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--border-soft); }
.rfc-adv-h { display: flex; align-items: center; gap: 4px 8px; flex-wrap: wrap; flex: 1 1 320px; min-width: 0; font-size: 12.3px; color: var(--muted); }
.rfc-adv-h > svg { color: var(--accent); }
.rfc-adv-h b { font-size: 13px; color: var(--text); }
.rfc-seg { flex-wrap: wrap; max-width: 100%; }
.rfc-seg button { white-space: nowrap; }

/* ═══ Анкета ═══ */
.rfc-ank { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 8px; }
.rfc-ank-i { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; gap: 9px; align-items: start; padding: 9px 10px 9px 12px; border: 1px solid var(--border); border-radius: 10px; }
.rfc-ank-i.no { background: #fafbfc; }
.rfc-ank-ic { display: flex; padding-top: 1px; color: var(--faint); }
.rfc-ank-i.ok .rfc-ank-ic { color: var(--ok); }
.rfc-ank-l { font-size: 12.8px; font-weight: 700; color: var(--text); line-height: 1.35; }
.rfc-ank-t { margin-top: 2px; font-size: 12px; color: var(--muted); line-height: 1.35; overflow-wrap: anywhere; }
.rfc-ank-man { display: flex; align-items: center; gap: 5px; margin-top: 4px; font-size: 11.8px; color: #7c5600; overflow-wrap: anywhere; }
.rfc-ank-r { display: flex; align-items: center; gap: 6px; }
.rfc-ank-r .icon-btn { padding: 5px; }
.rfc-yn { padding: 2px 8px; border-radius: 7px; font-size: 11.5px; font-weight: 750; }
.rfc-yn.ok { background: var(--ok-soft); color: var(--ok-deep); }
.rfc-yn.no { background: #eef0f4; color: #6b7686; }

/* ═══ Данные собраны ═══ */
.rfc-miss { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.rfc-miss li { display: flex; align-items: flex-start; gap: 8px; padding: 8px 12px; border: 1px solid #f3d2d2; border-radius: 10px; background: #fff8f8;
    font-size: 12.8px; color: var(--err-deep); line-height: 1.4; }
.rfc-miss li > svg { flex: 0 0 auto; margin-top: 1px; }
.rfc-miss li span { min-width: 0; overflow-wrap: anywhere; }
.rfc-mchips { display: flex; flex-wrap: wrap; gap: 8px; }
.rfc-mchip { display: inline-flex; align-items: center; gap: 8px; padding: 5px 6px 5px 12px; border: 1px solid #f0e2bf; border-radius: 10px; background: #fffaf0; font-size: 12.5px; }
.rfc-mchip b { font-weight: 750; color: var(--text); }
.rfc-mchip.ok { border-color: #cdeedd; background: #f3fbf7; }
.rfc-mchip.ok span { display: inline-flex; align-items: center; gap: 5px; color: var(--ok-deep); font-weight: 650; }
.rfc-mchip .icon-btn { padding: 5px; }

/* ═══ Сверки ═══ */
.rfc-tol { display: flex; align-items: center; gap: 7px; margin-bottom: 10px; font-size: 12.5px; color: var(--text-2); }
.rfc-tol > svg { flex: 0 0 auto; color: var(--accent); }
.rfc-ctl { display: flex; flex-direction: column; gap: 8px; }
.rfc-ctl-i { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; }
.rfc-ctl-i.st-bad { border-color: #f3c9c9; background: #fff8f8; }
.rfc-ctl-i.st-expl { border-color: #f3e0b0; background: #fffbf2; }
.rfc-ctl-ic { display: flex; padding-top: 1px; color: var(--ok); }
.rfc-ctl-i.st-bad .rfc-ctl-ic { color: var(--err); }
.rfc-ctl-i.st-expl .rfc-ctl-ic { color: var(--warn-deep); }
.rfc-ctl-t { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; font-weight: 750; color: var(--text); line-height: 1.35; }
.rfc-ctl-x { margin-top: 3px; font-size: 12.3px; color: var(--text-2); line-height: 1.45; overflow-wrap: anywhere; }
.rfc-ctl-i.st-bad .rfc-ctl-x { color: var(--err-deep); }
.rfc-ctl-n { display: flex; align-items: flex-start; gap: 6px; margin-top: 6px; padding: 6px 9px; border-radius: 8px; background: #fff; border: 1px dashed #efd9a6;
    font-size: 12.3px; color: #6b4e00; overflow-wrap: anywhere; }
.rfc-ctl-n > svg { flex: 0 0 auto; margin-top: 1px; }
.rfc-ctl-a { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }

/* ═══ Таблицы ═══ */
.rfc-scroll { overflow-x: auto; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
table.grid.rfc-tbl th { padding: 9px 10px; font-size: 10.5px; position: static; }
table.grid.rfc-tbl td { padding: 8px 10px; font-size: 12.8px; vertical-align: top; }
table.grid.rfc-tbl td.num { white-space: nowrap; font-variant-numeric: tabular-nums; }
table.grid.rfc-tbl tr.total-row td { font-size: 12.8px; vertical-align: top; }
.rfc-wrap { min-width: 150px; overflow-wrap: anywhere; white-space: normal; }
.rfc-nowrap { white-space: nowrap; }
.rfc-clip { max-width: 460px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
tr.rfc-dim td { color: var(--faint); }
tr.rfc-after td { background: #fbfbfc; }

/* было в 091 → стало */
.rfc-u-meta { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-bottom: 10px; font-size: 12.3px; color: var(--text-2); }
.rfc-u-meta > span { display: inline-flex; align-items: center; gap: 5px; min-width: 0; }
.rfc-u-meta > span > span { display: inline-flex; align-items: center; gap: 5px; }
.rfc-u-meta svg { flex: 0 0 auto; color: var(--accent); }
table.grid.rfc-utbl th, table.grid.rfc-utbl td { padding-left: 7px; padding-right: 7px; }
table.grid.rfc-utbl th:first-child, table.grid.rfc-utbl td:first-child { padding-left: 12px; }
table.grid.rfc-utbl th:last-child, table.grid.rfc-utbl td:last-child { padding-right: 12px; }
table.grid.rfc-utbl tr.total-row td { font-size: 12.5px; }
table.grid.rfc-utbl .cell-sub { font-size: 11.3px; }
table.grid.rfc-utbl .rfc-pen { font-size: 11px; }
table.grid.rfc-utbl .rfc-sub-wrap { white-space: normal; min-width: 92px; }
table.grid.rfc-utbl td { white-space: nowrap; font-size: 12.5px; }
table.grid.rfc-utbl td b { font-weight: 750; font-variant-numeric: tabular-nums; }
table.grid.rfc-utbl tr.g1 td { border-top: 1px solid var(--border); }
table.grid.rfc-utbl tbody tr:first-child td { border-top: 0; }
table.grid.rfc-utbl tr.gn td { border-top: 1px dashed var(--border-soft); }
table.grid.rfc-utbl td.rfc-u-per { background: #fbfcfe; border-right: 1px solid var(--border-soft); }
table.grid.rfc-utbl td.rfc-u-per .rfc-gaps { margin-top: 5px; }
table.grid.rfc-utbl td.rfc-u-place { white-space: normal; min-width: 130px; max-width: 175px; }
.rfc-dist { display: flex; align-items: center; gap: 6px; font-weight: 650; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rfc-dist + .rfc-act { margin-top: 3px; }
.rfc-code { display: inline-flex; flex: 0 0 auto; padding: 0 6px; border-radius: 6px; background: #eef1f6; color: var(--text-2); font-size: 11px; font-weight: 800; font-variant-numeric: tabular-nums; }
.rfc-act { display: flex; align-items: baseline; gap: 6px; font-size: 11.8px; line-height: 1.35; color: var(--muted); }
.rfc-act + .rfc-act { margin-top: 3px; }
.rfc-act span { min-width: 0; overflow: hidden; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.rfc-act i { flex: 0 0 auto; font-style: normal; font-size: 11.3px; font-weight: 700; color: var(--text-2); white-space: nowrap; }
.rfc-utch { display: inline-flex; padding: 0 5px; border-radius: 5px; background: #0e1526; color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .02em; vertical-align: 1px; }
.rfc-pdf { display: inline-flex; vertical-align: -2px; color: var(--muted); }
.rfc-pdf:hover { color: var(--accent); }
.rfc-diff { font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rfc-diff.up { color: var(--err-deep); }
.rfc-diff.down { color: var(--accent-2); }
.rfc-diff.zero { color: var(--muted); font-weight: 600; }
.rfc-res { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 7px; font-size: 11.8px; font-weight: 750; white-space: nowrap; }
.rfc-res.wrap { white-space: normal; max-width: 84px; line-height: 1.25; padding: 3px 8px; }
div.rfc-res { display: flex; width: fit-content; }
div.rfc-res + div.rfc-res { margin-top: 4px; }
.rfc-res.up { background: var(--err-soft); color: var(--err-deep); }
.rfc-res.down { background: var(--accent-soft); color: var(--accent-2); }
.rfc-res.ok { background: var(--ok-soft); color: var(--ok-deep); }
.rfc-res.warn { background: var(--warn-soft); color: var(--warn-deep); }
.rfc-res.blue { background: #eef3ff; color: var(--accent-2); }
.rfc-res.mute { background: #f1f3f7; color: #6b7686; }
.rfc-pen { margin-top: 4px; font-size: 11.5px; color: var(--err-deep); cursor: help; border-bottom: 1px dotted currentColor; width: fit-content; }
.rfc-gaps { display: flex; flex-wrap: wrap; gap: 3px; }
.rfc-gap { display: inline-flex; align-items: center; gap: 2px; padding: 2px 4px; border-radius: 6px; background: var(--warn-soft); color: var(--warn-deep); cursor: help; }
.rfc-gap i { font-style: normal; font-size: 10.5px; font-weight: 800; }
.rfc-u-cnt { font-size: 12px; font-weight: 650; color: var(--text-2); white-space: nowrap; }
.rfc-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 8px; font-size: 11.8px; color: var(--text-2); }
.rfc-legend span { display: inline-flex; align-items: center; gap: 5px; }
.rfc-gap-l svg { color: var(--warn-deep); }
.rfc-legend .muted { font-size: 11.5px; }
.rfc-card { display: flex; align-items: center; gap: 6px 10px; flex-wrap: wrap; margin-top: 10px; padding: 9px 12px; border-radius: 10px; background: #f6f8fb; font-size: 12.5px; }
.rfc-card-h { display: inline-flex; align-items: center; gap: 6px; font-weight: 750; color: var(--text); }
.rfc-card-h svg { color: var(--accent); }
.rfc-bal { display: inline-flex; align-items: baseline; gap: 4px; padding: 2px 9px; border-radius: 7px; background: #fff; border: 1px solid var(--border); color: var(--text-2); }
.rfc-bal b { font-variant-numeric: tabular-nums; }
.rfc-bal.over { border-color: #c9d6fb; color: var(--accent-2); }
.rfc-bal.debt { border-color: #f3c9c9; color: var(--err-deep); }

/* ═══ Сообщение о доплате / переплате и согласование ═══ */
.rfc-res-top { display: grid; grid-template-columns: minmax(200px, 280px) minmax(0, 1fr); gap: 12px; align-items: stretch; }
.rfc-res-big { display: flex; flex-direction: column; justify-content: center; padding: 11px 14px; border-radius: 12px; border: 1px solid var(--border); background: #f9fafc; }
.rfc-res-big span { font-size: 11px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.rfc-res-big b { margin-top: 3px; font-size: 17px; font-weight: 850; color: var(--text); font-variant-numeric: tabular-nums; }
.rfc-res-big i { margin-top: 2px; font-style: normal; font-size: 12px; color: var(--muted); }
.rfc-res-big.up { background: #fff6f6; border-color: #f3c9c9; }
.rfc-res-big.up b { color: var(--err-deep); }
.rfc-res-big.down { background: #f5f8ff; border-color: #d4e0fd; }
.rfc-res-big.down b { color: var(--accent-2); }
.rfc-agree { display: flex; align-items: center; gap: 10px 12px; flex-wrap: wrap; min-width: 0; padding: 11px 14px; border-radius: 12px; border: 1px solid var(--border); background: #fff; }
.rfc-agree > svg { flex: 0 0 auto; color: var(--muted); }
.rfc-agree-m { display: flex; flex-direction: column; gap: 2px; flex: 1 1 240px; min-width: 0; font-size: 12.3px; color: var(--muted); }
.rfc-agree-m b { font-size: 13.5px; color: var(--text); }
.rfc-agree-m .rfc-btns { margin-top: 8px; }
.rfc-agree.ok { background: #f3fbf7; border-color: #cdeedd; }
.rfc-agree.ok > svg { color: var(--ok); }
.rfc-agree.sug { background: #f3f6ff; border-color: #c9d6fb; }
.rfc-agree.sug > svg { color: var(--accent); }

/* ═══ Флаги и история ═══ */
.rfc-flag-now { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; }
.rfc-flag-i { display: flex; align-items: flex-start; gap: 9px; padding: 8px 12px; border: 1px solid #f3c9c9; border-radius: 10px; background: #fff8f8; }
.rfc-flag-i > svg { flex: 0 0 auto; margin-top: 1px; color: var(--err); }
.rfc-flag-i div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rfc-flag-i b { font-size: 13px; color: var(--err-deep); }
.rfc-flag-i span { font-size: 12.3px; color: var(--text-2); overflow-wrap: anywhere; }
.rfc-dot { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: #c4cbd8; vertical-align: 1px; }
.rfc-dot.bad { background: var(--err); }
.rfc-ev { display: flex; flex-direction: column; border: 1px solid var(--border); border-radius: 12px; padding: 2px 12px; background: #fff; }
.rfc-ev-i { display: grid; grid-template-columns: 118px 18px minmax(0, 1fr); gap: 8px; align-items: start; padding: 7px 0; border-top: 1px solid var(--border-soft); font-size: 12.5px; }
.rfc-ev-i:first-child { border-top: 0; }
.rfc-ev-t { color: var(--muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.rfc-ev-ic { display: flex; padding-top: 1px; color: var(--accent); }
.rfc-ev-x { color: var(--text-2); line-height: 1.4; overflow-wrap: anywhere; }
.rfc-ev-x i { font-style: normal; color: var(--muted); }
.rfc-more { margin-top: 8px; font-size: 12.5px; }

/* ═══ Окна ═══ */
.rfc-msg-bar { display: flex; align-items: center; gap: 8px 14px; flex-wrap: wrap; margin-bottom: 10px; }
.rfc-msg-to { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--text-2); }
.rfc-msg-to b { display: inline-flex; align-items: center; gap: 6px; }
.rfc-msg-parts { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-bottom: 10px; padding: 8px 12px; border-radius: 10px; background: #f6f8fb; font-size: 12.5px; color: var(--muted); }
.rfc-msg-parts b { color: var(--text); }
.rfc-msg-ta { width: 100%; min-height: 96px; max-height: 46vh; resize: vertical; font-size: 13px; line-height: 1.5; }
.rfc-msg-hint { margin-top: 6px; font-size: 11.8px; color: var(--muted); }
.form-actions .rfc-left { margin-right: auto; }
.rfc-radios { display: flex; flex-direction: column; gap: 8px; }
.rfc-radios.two { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.rfc-radio { display: grid; grid-template-columns: 16px minmax(0, 1fr); column-gap: 10px; row-gap: 2px; align-items: start; padding: 10px 12px;
    border: 1.5px solid var(--border); border-radius: 11px; cursor: pointer; transition: border-color .12s, background .12s; }
.rfc-radio:hover { border-color: #c6d2f5; }
.rfc-radio:has(input:checked) { border-color: var(--accent); background: #f7f9ff; }
.rfc-radio input { grid-row: span 2; width: 16px; height: 16px; margin: 2px 0 0; padding: 0; border: 0; box-shadow: none; accent-color: var(--accent); cursor: pointer; }
.rfc-radio b { font-size: 13.5px; font-weight: 750; color: var(--text); }
.rfc-radio span { grid-column: 2; font-size: 12px; color: var(--muted); line-height: 1.35; }
.rfc-form { margin-top: 14px; }
.rfc-form textarea, .rfc-form input:not([type]), .rfc-form input[type="text"] { width: 100%; }
.rfc-opt { font-style: normal; font-weight: 500; color: var(--faint); }
.rfc-file-row { display: flex; align-items: center; gap: 8px; min-width: 0; }
.rfc-file-row .csel, .rfc-file-row > select { flex: 1 1 auto; min-width: 0; }
.form-grid label.rfc-upl, .rfc-upl { display: inline-flex; flex-direction: row; align-items: center; gap: 6px; flex: 0 0 auto; font-size: 12.5px; color: var(--text-2); cursor: pointer; }
.rfc-upl.busy { opacity: .55; pointer-events: none; }
.rfc-mbox { display: flex; flex-direction: column; gap: 3px; margin-bottom: 12px; padding: 10px 12px; border-radius: 10px; background: #f6f8fb; font-size: 12.5px; color: var(--muted); line-height: 1.45; }
.rfc-mbox b { font-size: 13px; color: var(--text); }
