/* Остаток траты, выбор бюджета и подсказки в раскладке (public/allocation-editor.js).
   Отдельный файл: style.css уже в бюджете размера (scripts/check-file-size.js).
   Базовые стили строк раскладки остаются в style.css (.allocation-row, .allocation-remainder,
   .expense-allocation-*); здесь только то, что добавляет бюджетная часть. */

/* «не закрывает бюджет» — не ошибка, а состояние: приглушённая метка, а не тревожный цвет. */
.alloc-unlinked{padding:1px 8px;border:1px dashed var(--line);border-radius:99px;color:var(--muted);font-size:.68rem;font-style:normal;font-weight:600;white-space:nowrap}

/* Пояснение вместо выбора бюджета: трата не учитывается в бюджете или сама себе бюджет. */
.alloc-note{margin:8px 0 0;color:var(--muted);font-size:.74rem;line-height:1.4}

/* Действия над остатком. Кнопки и список переносятся по строкам: названия бюджетов длинные, а экран — 320. */
.alloc-remainder-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.alloc-remainder-actions[hidden]{display:none}
.alloc-remainder-actions .alloc-action{flex:0 1 auto;min-height:36px;max-width:100%;padding:7px 12px;border-color:var(--tap-border);border-radius:99px;white-space:normal;text-align:left;overflow-wrap:anywhere}
.alloc-remainder-actions .ui-select{flex:1 1 200px;width:auto}

/* Подсказка «Похоже: …» — предложение, а не действие: пунктир, пока человек не нажал. */
.alloc-suggest{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.alloc-suggest:empty{display:none;margin:0}
.alloc-chip{max-width:100%;min-height:32px;padding:6px 12px;border:1px dashed var(--accent);border-radius:99px;background:transparent;color:var(--accent);font:600 .72rem Manrope,Arial,sans-serif;text-align:left;white-space:normal;overflow-wrap:anywhere}
.alloc-chip:hover,.alloc-chip:focus-visible{background:var(--tap-bg-hover);outline:none}

/* Строки чека: сумма и состав только читаются, у каждой — свой выбор бюджета. */
.alloc-receipt-item{display:grid;gap:0}
.alloc-budget-line{display:grid;gap:0;margin-top:6px}
.alloc-budget-line .ui-select{min-width:0}
.alloc-receipt-item.is-unlinked .ui-select-trigger{color:var(--muted)}
.alloc-budget-line .alloc-suggest{margin-top:6px}

/* Бюджет под суммой в шторке траты (features/expense-budget-top.js, position-card.js): строка «поставлено само», метка купленной
   позиции, карточка позиции 2A и подпись «Готово». Всё переносится по строкам: на 320 px названия бюджетов длинные. */
.budget-top{display:grid;gap:8px;min-width:0;margin-top:-4px}
.budget-top[hidden]{display:none}
.auto-budget,.budget-marked{margin:0;padding:8px 12px;border:1px dashed var(--tap-border);border-radius:8px;background:var(--tap-bg);color:var(--ink);font-size:.74rem;line-height:1.5;overflow-wrap:anywhere}
.auto-budget[hidden],.budget-marked[hidden],.budget-done-note[hidden],.position-card[hidden]{display:none}
.auto-budget .quiet,.budget-marked .quiet{display:inline;min-height:32px;padding:4px 6px;margin:-4px 0;border-radius:6px;font-size:.74rem;font-weight:600;text-decoration:underline;text-underline-offset:2px;white-space:normal}
.pc-card{display:grid;gap:8px;min-width:0;padding:12px 14px;border:1px solid var(--tap-border);border-radius:10px;background:var(--tap-bg)}
.pc-title{margin:0;font-size:.82rem;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
.pc-caption,.pc-line-sub,.pc-line-note{margin:0;color:var(--muted);font-size:.72rem;line-height:1.45;overflow-wrap:anywhere}
.pc-chips,.pc-variants{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.pc-chip{max-width:100%;min-height:36px;padding:7px 12px;border:1px solid var(--tap-border);border-radius:99px;background:var(--paper);color:var(--ink);font:600 .72rem Manrope,Arial,sans-serif;text-align:left;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.pc-chip:hover,.pc-chip:focus-visible{background:var(--tap-bg-hover);outline:none}
.pc-chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.pc-chip[aria-pressed="true"]{border-color:var(--deep);background:var(--deep);color:#fff}
.pc-line{display:grid;gap:6px;min-width:0;padding-top:8px;border-top:1px solid var(--line)}
.pc-line-text{margin:0;font-size:.78rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.pc-variants .pc-chip{min-height:32px;padding:5px 10px;font-weight:500}
.budget-done-note{margin:0;padding-left:12px;border-left:2px solid var(--accent);color:var(--muted);font-size:.72rem;line-height:1.45;overflow-wrap:anywhere}

/* Строка чека: «поставлено само» и подстрока позиции внутри своей категории (position-card.js). */
.alloc-auto{margin:6px 0 0;padding:6px 10px;border:1px dashed var(--tap-border);border-radius:8px;background:var(--tap-bg);color:var(--ink);font-size:.72rem;line-height:1.5;overflow-wrap:anywhere}
.alloc-auto .quiet{display:inline;min-height:32px;padding:4px 6px;margin:-4px 0;border-radius:6px;font-size:.72rem;font-weight:600;text-decoration:underline;text-underline-offset:2px;white-space:normal}
.alloc-position{display:grid;gap:6px;min-width:0;margin-top:6px;padding:8px 10px;border-left:2px solid var(--accent)}
.alloc-position[hidden]{display:none}
.pc-row-text{margin:0;font-size:.74rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.pc-row-rest{margin:0;color:var(--muted);font-size:.7rem;line-height:1.4;overflow-wrap:anywhere}

/* Режим «Личное — только я» (features/expense-personal-mode.js): чипы над полями и скрытие всего, что личной трате не нужно
   (люди, плательщик, деление, кошелёк, приватность, бюджет, отметки чека). Класс стоит на сетке шторки; остаются название,
   сумма, валюта, дата, категория, чек, комментарий и возврат. */
.personal-mode{display:grid;gap:8px;min-width:0}
.personal-mode[hidden]{display:none}
.pm-chips{display:flex;flex-wrap:wrap;gap:6px}
.pm-hint,.pm-total,.pm-leave,.pm-refusal{margin:0;color:var(--muted);font-size:.72rem;line-height:1.45;overflow-wrap:anywhere}
.pm-leave,.pm-refusal{color:var(--warn)}
.pc-chip[disabled]{opacity:.5;cursor:default}
.personal-category-hint{display:none;margin:-8px 0 0;color:var(--muted);font-size:.7rem}
.sheet-grid.is-personal .personal-category-hint{display:block}
.sheet-grid.is-personal :is(.sheet-people-block,.payer-field,.split-field,.sheet-weights,.sheet-shares,.personal-shares,.sheet-money,.privacy-toggle,.hide-from-owner,.sheet-private-hint,.budget-mode,.plan-target,.sheet-budget-hint,.budget-suggest,.estimate-plan,.expense-allocation,.budget-top,.receipt-controls .sheet-check){display:none!important}
