/* form-sheet.css — опросный лист «AI Эксперт» (ТЗ TZ_FORM_ANALYST_2026-10-01, T1.3).
   Образец — карточка уточнения чата .clarify-card (style.css ~2123): без фона и рамки у карточки,
   варианты — активный текст с пунктиром (решение владельца 24.09), отмеченный — галочка и заливка,
   радиусы ≤ 7px, без вложенных заливок, акцент #1f1f1f только на акцентах. Всё — под .form-sheet. */

.form-sheet {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: #1f1f1f;
    font-size: 14px;
    line-height: 1.45;
    max-width: 860px;
}
.form-sheet [hidden] { display: none !important; }

/* шапка — как .clarify-card-header */
.form-sheet .fs-header {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 12px;
    margin-bottom: 4px;
}
.form-sheet .fs-title { font-size: 17px; font-weight: 500; }
.form-sheet .fs-meta,
.form-sheet .fs-progress {
    font-size: 12px;
    font-weight: 500;
    color: rgba(31,31,31,0.62);
}
.form-sheet .fs-progress { margin-left: auto; font-variant-numeric: tabular-nums; }
.form-sheet .fs-intro { font-size: 13px; color: rgba(31,31,31,0.62); margin-bottom: 14px; }

/* разделы и пояснения */
.form-sheet .fs-section { margin: 22px 0 6px; padding-top: 14px; border-top: 1px solid rgba(31,31,31,0.1); }
.form-sheet .fs-section-title { font-size: 15px; font-weight: 500; }
.form-sheet .fs-note { font-size: 13px; color: rgba(31,31,31,0.62); margin: 8px 0; }

/* вопрос */
.form-sheet .fs-item { padding: 12px 0; border-bottom: 1px solid rgba(31,31,31,0.06); }
.form-sheet .fs-q { display: flex; align-items: flex-start; gap: 8px; }
.form-sheet .fs-label { flex: 1; font-size: 15px; line-height: 1.5; margin-bottom: 6px; }
.form-sheet .fs-req { color: #1f1f1f; }
.form-sheet .fs-hint {
    font-size: 11px;
    line-height: 1.3;
    color: rgba(31,31,31,0.45);
    margin: -2px 0 6px;
}
.form-sheet .fs-body { margin-top: 2px; }
/* T4.1: ответ подставлен из документа rBase */
.form-sheet .fs-prefill { font-size: 11px; color: #1f1f1f; margin: -2px 0 6px; }
.form-sheet .fs-col { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.form-sheet .fs-inline { display: flex; align-items: center; gap: 6px; }
.form-sheet .fs-wrap { flex-wrap: wrap; }
.form-sheet .fs-unit { font-size: 13px; color: rgba(31,31,31,0.62); white-space: nowrap; }

/* значок «Убрать вопрос» — вполсилы, разгорается под курсором */
.form-sheet .fs-icon {
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 7px;
    background: transparent;
    color: rgba(31,31,31,0.45);
    font: 500 14px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    cursor: pointer;
    opacity: 0.55;
    transition: opacity 150ms ease, color 150ms ease, background 150ms ease;
}
.form-sheet .fs-icon:hover,
.form-sheet .fs-icon:focus-visible { opacity: 1; color: #1f1f1f; background: rgba(31,31,31,0.05); }
.form-sheet .fs-icon:disabled { opacity: 0.2; cursor: default; background: transparent; }
.form-sheet .fs-item:hover .fs-remove { opacity: 0.8; }

/* вариант — активный текст (как .clarify-option) */
.form-sheet .fs-options { display: flex; flex-wrap: wrap; gap: 6px; }
.form-sheet .fs-options-tight { gap: 2px; flex-wrap: nowrap; }
.form-sheet .fs-option {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 8px;
    border-radius: 7px;
    color: #1f1f1f;
    font: 500 13px/1.35 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    cursor: pointer;
    border-bottom: 1px dashed rgba(31,31,31,0.35);
    transition: background 150ms ease, color 150ms ease;
    user-select: none;
    white-space: nowrap;
}
.form-sheet .fs-option:hover { color: #1f1f1f; background: rgba(31,31,31,0.05); border-bottom-color: #1f1f1f; }
.form-sheet .fs-option.is-picked { color: #1f1f1f; background: rgba(31,31,31,0.084); border-bottom-color: transparent; }
.form-sheet .fs-option.is-picked::before { content: '✓'; font-size: 12px; line-height: 1; color: #1f1f1f; }
.form-sheet .fs-option:focus-visible,
.form-sheet .fs-link:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(31,31,31,0.18); }
/* в ячейках таблиц галочка не нужна — места нет, отметку несёт заливка */
.form-sheet .fs-options-tight .fs-option { padding: 3px 6px; }
.form-sheet .fs-options-tight .fs-option.is-picked::before,
.form-sheet .fs-cell.is-picked::before { content: none; }
.form-sheet .fs-cell.is-picked,
.form-sheet .fs-options-tight .fs-option.is-picked { background: rgba(31,31,31,0.132); font-weight: 500; }

/* поле ввода — как .clarify-card-input */
.form-sheet .fs-input {
    min-width: 0;
    height: 34px;
    padding: 0 12px;
    border-radius: 7px;
    border: 1px solid rgba(31,31,31,0.1);
    background: transparent;
    color: #1f1f1f;
    font: 400 14px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    outline: none;
    transition: border-color 150ms ease, box-shadow 150ms ease;
    width: 100%;
    max-width: 520px;
}
.form-sheet .fs-input::placeholder { color: rgba(31,31,31,0.45); }
.form-sheet .fs-input:focus { border-color: #9b9b9b; box-shadow: none; }
.form-sheet .fs-textarea { height: auto; min-height: 72px; padding: 8px 12px; resize: vertical; }
.form-sheet .fs-num { width: 140px; text-align: right; font-variant-numeric: tabular-nums; }
.form-sheet .fs-input.is-bad { border-color: #b42318; box-shadow: 0 0 0 3px rgba(180,35,24,0.14); }
.form-sheet .fs-num-s { width: 92px; height: 30px; padding: 0 8px; }
.form-sheet .fs-date { width: 160px; }
.form-sheet .fs-period { width: 170px; }
.form-sheet .fs-select { height: 30px; padding: 0 6px; }
.form-sheet .fs-file { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.form-sheet .fs-or { align-self: center; font-size: 12px; color: rgba(31,31,31,0.45); padding: 0 2px; }
/* уверенность — часть своего вопроса: без черты между ними */
.form-sheet .fs-item:has(+ .fs-type-confidence) { border-bottom: none; padding-bottom: 0; }
.form-sheet .fs-type-confidence .fs-conf { margin-top: 0; }

/* ссылка-действие («+ строка», «Вернуть», «Порядок верный») */
.form-sheet .fs-link {
    color: #1f1f1f;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border-bottom: 1px dashed rgba(31,31,31,0.27);
    border-radius: 2px;
    width: fit-content;
}
.form-sheet .fs-link:hover { color: #1f1f1f; }

/* шкала с подписями краёв */
.form-sheet .fs-scale { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.form-sheet .fs-edge { font-size: 12px; color: rgba(31,31,31,0.62); }

/* таблицы: matrix, importance_score, table_input, allocate, grid */
.form-sheet .fs-scroll { overflow-x: auto; max-width: 100%; }
.form-sheet .fs-table { border-collapse: collapse; }
.form-sheet .fs-table th {
    font-size: 11px;
    font-weight: 500;
    color: rgba(31,31,31,0.62);
    text-align: left;
    padding: 4px 6px;
    white-space: nowrap;
}
.form-sheet .fs-table td { padding: 3px 6px; border-top: 1px solid rgba(31,31,31,0.06); vertical-align: middle; }
.form-sheet .fs-th-c, .form-sheet .fs-td-c { text-align: center; }
.form-sheet .fs-th-num, .form-sheet .fs-td-num { text-align: right; }
.form-sheet .fs-td-label { font-size: 13px; padding-right: 14px; min-width: 140px; }
.form-sheet .fs-td-x, .form-sheet .fs-th-x { width: 30px; }
.form-sheet .fs-total { color: rgba(31,31,31,0.62); font-variant-numeric: tabular-nums; font-size: 13px; }
.form-sheet .fs-tinput .fs-input { max-width: 220px; height: 30px; padding: 0 8px; }
.form-sheet .fs-tinput .fs-cell-other { margin-top: 4px; display: block; }

/* allocate: живая сумма */
.form-sheet .fs-alloc-left { font-size: 12px; font-weight: 500; color: rgba(31,31,31,0.62); font-variant-numeric: tabular-nums; }
.form-sheet .fs-alloc-left.is-bad { color: #b42318; }

/* rank */
.form-sheet .fs-rank { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; min-width: 280px; }
.form-sheet .fs-rank-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 3px 4px 3px 8px;
    border-radius: 7px;
    border: 1px solid rgba(31,31,31,0.1);
    cursor: grab;
    background: transparent;
}
.form-sheet .fs-rank-n { width: 18px; font-size: 12px; color: rgba(31,31,31,0.45); font-variant-numeric: tabular-nums; }
.form-sheet .fs-rank-label { flex: 1; font-size: 13px; }

/* pairwise */
.form-sheet .fs-pairs { gap: 4px; }

/* уверенность — три мелких варианта */
.form-sheet .fs-conf { display: flex; align-items: center; gap: 6px; margin-top: 6px; flex-wrap: wrap; }
.form-sheet .fs-conf-label { font-size: 12px; color: rgba(31,31,31,0.62); }
.form-sheet .fs-conf .fs-option { font-size: 12px; padding: 2px 6px; }
.form-sheet .fs-type-confidence { padding-top: 0; }

/* удаление вопроса */
.form-sheet .fs-reasons { display: flex; flex-direction: column; gap: 6px; margin: 4px 0 8px; }
.form-sheet .fs-reason-comment { max-width: 360px; }
.form-sheet .fs-item.is-removed { padding: 8px 0; }
.form-sheet .fs-removed-line { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; font-size: 13px; }
.form-sheet .fs-removed-label { color: rgba(31,31,31,0.45); text-decoration: line-through; }
.form-sheet .fs-removed-why { color: rgba(31,31,31,0.62); }

/* подвал — кнопка отправки как .clarify-card-send */
/* T6.2: своё поле листа — отделено от вопросов лёгкой подложкой, не похоже на вопрос */
.form-sheet .fs-own { margin-top: 18px; padding: 12px 14px; border-radius: 7px; background: rgba(31,31,31,0.03); border: 1px solid rgba(31,31,31,0.096); }
.form-sheet .fs-own-title { font-size: 14px; font-weight: 500; margin-bottom: 2px; }
.form-sheet .fs-own .fs-own-input { width: 100%; max-width: none; box-sizing: border-box; margin-top: 6px; background: #fff; }
.form-sheet .fs-own-count { font-size: 11px; color: rgba(31,31,31,0.5); text-align: right; margin-top: 2px; font-variant-numeric: tabular-nums; }
.form-sheet .fs-own-text { font-size: 13px; white-space: pre-wrap; margin-top: 4px; }
.form-sheet .fs-footer { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-top: 16px; flex-wrap: wrap; }
.form-sheet .fs-footer-hint { flex: 1; font-size: 12px; color: rgba(31,31,31,0.62); min-width: 200px; }
.form-sheet .fs-send,
.form-sheet .fs-secondary {
    height: 34px;
    padding: 0 12px;
    border-radius: 7px;
    background: transparent;
    color: #1f1f1f;
    border: none;
    font: 500 13px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    cursor: pointer;
    transition: background 150ms ease, color 150ms ease, transform 150ms ease, opacity 150ms ease;
}
.form-sheet .fs-secondary { color: rgba(31,31,31,0.62); }
/* Главное действие — чёрная кнопка, как основная кнопка приложения (12.10):
   в монохроме текстовая кнопка не отличалась бы от подписи рядом */
.form-sheet .fs-send { background: #1f1f1f; color: #ffffff; padding: 0 14px; }
.form-sheet .fs-send:hover { background: #000000; color: #ffffff; }
.form-sheet .fs-secondary:hover { background: rgba(31,31,31,0.048); color: #1f1f1f; }
.form-sheet .fs-send:active { background: #000000; transform: scale(0.97); }
.form-sheet .fs-send:focus-visible,
.form-sheet .fs-secondary:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(31,31,31,0.18); }
/* приглушена, пока есть препятствия: щелчок не шлёт, а подводит к первому */
.form-sheet .fs-send.is-blocked { opacity: 0.45; }
.form-sheet .fs-send:disabled { opacity: 0.45; cursor: default; }
.form-sheet .fs-send-s { height: 30px; }
