/* © 2026 VEYRO (ИП Макаров И. В.). appagent — проприетарная программа. Использование — по лицензионному договору https://appagent.ru/legal/offer/. Копирование и распространение без разрешения запрещены. */
/* Форма «Добавить проект» (классы pa-) и кнопка на экране «Проекты» (prj-add). Значения — только из tokens.css, размеры в rem.
   Подключается в index.html после projects.css. Окно — из kit (.ui-dialog), здесь ширина, поля, выбор типа, шаги и сообщения. */

/* ---------- Кнопка на экране «Проекты» ---------- */
.prj-head { align-items: end; }
.prj-add { justify-self: start; }
.prj-add .ic { width: var(--size-icon); height: var(--size-icon); }
.prj-add-msg { margin: 0 0 var(--space-4); color: var(--color-danger-text); }
.prj-add-msg[hidden] { display: none; }
@media (min-width: 48rem) {
  .prj-add { justify-self: end; }
}

/* ---------- Окно ---------- */
.ui-dialog.pa-dialog { width: min(calc(100% - var(--space-8)), 40rem); }
.ui-dialog.pa-dialog[data-busy="true"] .ui-dialog__x { display: none; }
.pa { display: grid; gap: var(--space-5); min-width: 0; color: var(--color-ink); }
.pa[aria-busy="true"] { cursor: progress; }
.pa [hidden] { display: none; }

/* ---------- Поля ---------- */
.pa-fields { display: grid; gap: var(--space-5); min-width: 0; }
.pa-field { display: grid; gap: var(--space-2); min-width: 0; }
.pa-label { color: var(--color-ink); font: var(--text-ui-strong-weight) var(--text-ui-strong-size)/var(--text-ui-strong-line) var(--font-sans); }
.pa-input {
  width: 100%; min-height: var(--size-control); padding: var(--space-3) var(--space-4); box-sizing: border-box;
  background: var(--color-panel2); color: var(--color-ink); border: 1px solid var(--color-line2); border-radius: var(--radius-md); font: inherit;
}
.pa-input.mono { font-family: var(--font-mono); }
.pa-input::placeholder { color: var(--color-ink3); }
.pa-input:focus-visible { outline: var(--size-focus-width) solid var(--color-focus); outline-offset: var(--size-focus-offset); }
.pa-input[aria-invalid="true"] { border-color: var(--color-danger); }
.pa-input:disabled { opacity: .6; }
.pa-hint { margin: 0; color: var(--color-ink2); font: var(--text-caption-weight) var(--text-caption-size)/var(--text-caption-line) var(--font-sans); overflow-wrap: anywhere; }
.pa-error { margin: 0; color: var(--color-danger-text); font: var(--text-caption-weight) var(--text-caption-size)/var(--text-caption-line) var(--font-sans); overflow-wrap: anywhere; }

/* ---------- Тип проекта ---------- */
.pa-group { display: grid; gap: var(--space-2); margin: 0; padding: 0; border: 0; min-width: 0; }
.pa-group > legend { padding: 0; margin-bottom: var(--space-2); }
.pa-opts { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
@media (min-width: 40rem) {
  .pa-opts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.pa-opt { position: relative; min-width: 0; }
.pa-radio { position: absolute; inset-inline-start: var(--space-4); inset-block-start: var(--space-4); width: var(--size-icon); height: var(--size-icon); margin: 0; accent-color: var(--color-acc); }
.pa-opt__l {
  display: grid; gap: var(--space-1); box-sizing: border-box; height: 100%; min-height: var(--size-touch-min); padding: var(--space-3) var(--space-4);
  padding-inline-start: calc(var(--space-4) * 2 + var(--size-icon)); cursor: pointer; min-width: 0;
  border: 1px solid var(--color-line); border-radius: var(--radius-md);
  transition: background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);
}
.pa-opt__l:hover { background: var(--color-panel2); }
.pa-radio:checked + .pa-opt__l { border-color: var(--color-acc); background: var(--color-acc-soft); }
.pa-radio:focus-visible + .pa-opt__l { outline: var(--size-focus-width) solid var(--color-focus); outline-offset: var(--size-focus-offset); }
.pa-radio:disabled + .pa-opt__l { opacity: .6; cursor: default; }
.pa-opt__t { color: var(--color-ink); font: var(--text-ui-strong-weight) var(--text-ui-strong-size)/var(--text-ui-strong-line) var(--font-sans); overflow-wrap: anywhere; }
.pa-opt__h { color: var(--color-ink2); font: var(--text-caption-weight) var(--text-caption-size)/var(--text-caption-line) var(--font-sans); overflow-wrap: anywhere; }
.pa-radio:checked + .pa-opt__l .pa-opt__h { color: var(--color-ink); }

/* ---------- Шаги ---------- */
.pa-steps { display: grid; gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
.pa-step { display: flex; align-items: center; gap: var(--space-3); min-width: 0; color: var(--color-ink2); }
.pa-step .ic { flex: none; width: var(--size-icon); height: var(--size-icon); }
.pa-step__t { min-width: 0; overflow-wrap: anywhere; }
.pa-step[data-state="doing"] { color: var(--color-ink); font-weight: var(--weight-medium); }
.pa-step[data-state="done"] .ic { color: var(--color-ok-text); }
.pa-step[data-state="failed"] { color: var(--color-danger-text); }
.pa-step[data-state="failed"] .ic { color: var(--color-danger-text); }

/* ---------- Сообщения и подтверждение ---------- */
.pa-msg { padding: var(--space-3) var(--space-4); border: 1px solid var(--color-line2); border-radius: var(--radius-md); background: var(--color-panel2); }
.pa-msg[data-tone="danger"] { border-color: var(--color-danger); }
.pa-msg[data-tone="ok"] { border-color: var(--color-ok-text); }
.pa-msg__t { margin: 0; color: var(--color-ink); overflow-wrap: anywhere; }
.pa-confirm { display: grid; gap: var(--space-2); padding: var(--space-3) var(--space-4); border: 1px solid var(--color-warn); border-radius: var(--radius-md); background: var(--color-panel2); }
.pa-confirm__t { margin: 0; font: var(--text-h3-weight) var(--text-h3-size)/var(--text-h3-line) var(--text-h3-family); letter-spacing: var(--text-h3-track); }
.pa-confirm__p { margin: 0; color: var(--color-ink); overflow-wrap: anywhere; }

/* ---------- Кнопки ---------- */
.pa-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-2) var(--space-3); }
@media (max-width: 47.9375rem) {
  .pa-actions { flex-direction: column-reverse; }
  .pa-actions .btn { width: 100%; }
}
