/* © 2026 VEYRO (ИП Макаров И. В.). appagent — проприетарная программа. Использование — по лицензионному договору https://appagent.ru/legal/offer/. Копирование и распространение без разрешения запрещены. */
/* Вкладка «Настройки» (screens/project-settings.js). Дизайн: docs/pult-design/ProjectSettings.dc.html.
   Слева разделы, справа открытый раздел; на телефоне (390) разделы идут рядом над содержимым. Только токены. */

.pjst { display: grid; gap: var(--tile-gap); min-width: 0; }
.pjst-top { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: var(--space-3) var(--space-4); min-width: 0; }
.pjst-top__t { display: grid; gap: var(--space-1); min-width: 0; flex: 1 1 18rem; }
.pjst-top__t h2, .pjst-bh h2 { margin: 0; }
.pjst-top__t p, .pjst-bh p { margin: 0; overflow-wrap: anywhere; }

.pjst-lay { display: grid; gap: var(--space-4); grid-template-columns: minmax(0, 1fr); align-items: start; min-width: 0; }
.pjst-main, .pjst-panel { display: grid; gap: var(--tile-gap); min-width: 0; }
.pjst-panel[hidden] { display: none; }

/* Разделы */
.pjst-nav { display: flex; flex-wrap: wrap; gap: var(--space-1); min-width: 0; }
.pjst-nav__a {
  display: inline-flex; align-items: center; min-height: var(--size-touch-min); padding-inline: var(--space-3);
  border-radius: var(--radius-item); color: var(--color-ink2); text-decoration: none;
  font: var(--text-ui-weight) var(--text-ui-size)/var(--text-ui-line) var(--font-sans);
}
.pjst-nav__a:hover { color: var(--color-ink); background: var(--color-panel2); }
.pjst-nav__a[aria-current="page"] { background: var(--color-panel); color: var(--color-ink); font-weight: var(--weight-medium); box-shadow: var(--shadow-ring); }

/* Плитки разделов */
.pjst-tile { display: grid; gap: var(--space-4); min-width: 0; }
.pjst-tile--foot:empty { display: none; }
.pjst-bh { display: grid; gap: var(--space-1); min-width: 0; }
.pjst-embed:empty { display: none; }
.pjst-none { margin: 0; color: var(--color-ink2); font: var(--text-ui-weight) var(--text-ui-size)/var(--text-ui-line) var(--font-sans); }

/* Строки настроек */
.pjst-list { display: grid; gap: 0; margin: 0; }
.pjst-row { display: grid; gap: var(--space-1) var(--space-6); grid-template-columns: minmax(0, 1fr); align-items: baseline; padding: var(--space-3) 0; min-width: 0; }
.pjst-row + .pjst-row { border-top: 1px solid var(--color-line); }
.pjst-row__k, .pjst-row__v { margin: 0; overflow-wrap: anywhere; }
.pjst-row__k { color: var(--color-ink2); }

/* Рекомендуемое и «только с вашего решения» */
.pjst-rec, .pjst-safe, .pjst-prof { display: grid; gap: var(--space-2); min-width: 0; }
.pjst-rec__t { margin: 0; }
.pjst-rec p, .pjst-safe p, .pjst-prof p { margin: 0; overflow-wrap: anywhere; }
.pjst-rec__l, .pjst-safe__l {
  display: grid; gap: var(--space-1); margin: 0; padding-left: var(--space-5); color: var(--color-ink);
  font: var(--text-ui-weight) var(--text-ui-size)/var(--text-ui-line) var(--font-sans);
}
.pjst-rec__l li, .pjst-safe__l li { overflow-wrap: anywhere; padding-left: var(--space-1); }
.pjst-safe__l { grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); }

/* «Вернуть рекомендуемые»: видна всегда, пояснение рядом */
.pjst-restore { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); min-width: 0; }
.pjst-restore__n { margin: 0; flex: 1 1 14rem; min-width: 0; overflow-wrap: anywhere; }
.pjst-restore .btn { min-height: var(--size-touch-min); }
.pjst-restore--top { flex: 0 1 auto; max-width: 100%; }

/* Профиль моделей */
.pjst-lvl { max-width: 24rem; }
.pjst-lvl .ui-switch__b { min-height: var(--size-touch-min); }
.pjst-lvl .ui-switch__b[aria-pressed="true"] { background: var(--color-panel); color: var(--color-ink); font-weight: var(--weight-medium); box-shadow: var(--shadow-sm); }
.pjst-lvl .ui-switch__b[aria-disabled="true"] { color: var(--color-ink3); cursor: not-allowed; }
.pjst-prof__n[hidden] { display: none; }
.pjst-prof__s:empty { display: none; }
.pjst-prof__s[data-tone="danger"] { color: var(--color-danger-text); }
.pjst-prof__s[data-tone="ok"] { color: var(--color-ok-text); }

/* Карточки моделей */
.pjst-cards { display: grid; gap: var(--space-3); grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); min-width: 0; }
.pjst-card { display: grid; gap: var(--space-1); align-content: start; padding: var(--space-3) var(--space-4); min-width: 0; }
.pjst-card p { margin: 0; overflow-wrap: anywhere; }

@media (min-width: 48rem) {
  .pjst-lay { grid-template-columns: 12.5rem minmax(0, 1fr); gap: var(--space-8); }
  .pjst-nav { flex-direction: column; flex-wrap: nowrap; position: sticky; top: var(--space-4); }
  .pjst-nav__a { min-height: var(--size-nav-item); }
  .pjst-row { grid-template-columns: minmax(10rem, 16rem) minmax(0, 1fr); }
  .pjst-restore .btn { min-height: var(--size-ctl-sm); }
  .pjst-lvl .ui-switch__b { min-height: var(--size-ctl-sm); }
}

/* Касание: на телефоне разделы не ниже 44 px; на планшете с грубым указателем колонка тоже (десктоп с мышью — прежние 36 px). */
@media (max-width: 47.9375rem) {
  .pjst-nav__a { min-height: var(--size-touch-min); }
}
@media (min-width: 48rem) and (pointer: coarse) {
  .pjst-nav__a { min-height: var(--size-touch-min); }
}

@media (max-width: 40rem) {
  .pjst-restore--top, .pjst-restore--top .btn { width: 100%; }
  .pjst-restore:not(.pjst-restore--top) .btn { width: 100%; }
}

/* Арбитр (screens/project-settings-arbiter.js): переключатель, три поля, расход сегодня, стоп-лист только для чтения */
.pjar { display: grid; gap: var(--space-5); min-width: 0; }
.pjar[aria-busy="true"] { cursor: progress; }
.pjar__note { margin: 0; }
.pjar__note[hidden], .pjar [hidden] { display: none; }
.pjar__form, .pjar__spentbox, .pjar__stopbox { display: grid; gap: var(--space-3); margin: 0; min-width: 0; }
.pjar__form h3, .pjar__spentbox h3, .pjar__stopbox h3, .pjar__stopbox p, .pjar__h, .pjar__status, .pjar__spent { margin: 0; overflow-wrap: anywhere; }
.pjar__sw { display: grid; gap: var(--space-1); min-width: 0; }
.pjar__swl { display: flex; align-items: center; gap: var(--space-3); min-height: var(--size-touch-min); cursor: pointer; color: var(--color-ink); }
.pjar__cb { flex: none; width: var(--size-icon); height: var(--size-icon); margin: 0; accent-color: var(--color-acc); cursor: pointer; }
.pjar__cb:disabled { cursor: not-allowed; }
.pjar__fields { display: grid; gap: var(--space-4); grid-template-columns: minmax(0, 1fr); min-width: 0; max-width: var(--layout-narrow); }
.pjar__f input { min-height: var(--size-touch-min); }
.pjar__act { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); min-width: 0; }
.pjar__act .btn { min-height: var(--size-touch-min); }
.pjar__act .btn[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
.pjar__status { flex: 1 1 14rem; min-width: 0; }
.pjar__status:empty { display: none; }
.pjar__status[data-tone="danger"] { color: var(--color-danger-text); }
.pjar__status[data-tone="ok"] { color: var(--color-ok-text); }
.pjar__stop {
  display: grid; gap: var(--space-1); margin: 0; padding-left: var(--space-5); color: var(--color-ink);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  font: var(--text-ui-weight) var(--text-ui-size)/var(--text-ui-line) var(--font-sans);
}
.pjar__stop li { overflow-wrap: anywhere; padding-left: var(--space-1); }
.pjar__locked { color: var(--color-ink2); }

@media (min-width: 48rem) {
  .pjar__f input { min-height: var(--size-ctl); }
  .pjar__act .btn { min-height: var(--size-ctl-sm); }
}
@media (max-width: 40rem) {
  .pjar__act .btn { width: 100%; }
}
