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

/* ---------- Диалог ---------- */
.ui-dialog.aw-dialog { width: min(calc(100% - var(--space-8)), 40rem); }
.aw { display: grid; gap: var(--space-4); min-width: 0; color: var(--color-ink); }
.aw[aria-busy="true"] { cursor: progress; }
.aw [hidden] { display: none; }
.aw-progress { margin: 0; color: var(--color-ink2); }
.aw-bar { width: 100%; height: var(--space-1); appearance: none; border: 0; border-radius: var(--radius-pill); overflow: hidden; background: var(--color-line); color: var(--color-acc); }
.aw-bar::-webkit-progress-bar { background: var(--color-line); }
.aw-bar::-webkit-progress-value { background: var(--color-acc); }
.aw-bar::-moz-progress-bar { background: var(--color-acc); }
.aw-title { 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); overflow-wrap: anywhere; }
.aw-title:focus-visible { outline: var(--size-focus-width) solid var(--color-focus); outline-offset: var(--size-focus-offset); border-radius: var(--radius-xs); }
.aw-lead, .aw-p, .aw-hint { margin: 0; color: var(--color-ink2); font: var(--text-ui-weight) var(--text-ui-size)/var(--text-ui-line) var(--font-sans); overflow-wrap: anywhere; }
.aw-hint { font: var(--text-caption-weight) var(--text-caption-size)/var(--text-caption-line) var(--font-sans); }
.aw-stage { display: grid; gap: var(--space-4); min-width: 0; }
.aw-extra { display: grid; gap: var(--space-4); min-width: 0; }
.aw-extra:empty { display: none; }

/* ---------- Поля ---------- */
.aw-field { display: grid; gap: var(--space-2); min-width: 0; }
.aw-label, .aw-legend { color: var(--color-ink); font: var(--text-ui-strong-weight) var(--text-ui-strong-size)/var(--text-ui-strong-line) var(--font-sans); }
.aw-legend { padding: 0; margin-bottom: var(--space-2); }
.aw-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;
}
.aw-input::placeholder { color: var(--color-ink3); }
.aw-input:focus-visible { outline: var(--size-focus-width) solid var(--color-focus); outline-offset: var(--size-focus-offset); }
.aw-input[aria-invalid="true"] { border-color: var(--color-danger); }
.aw-input:disabled { opacity: .6; }
.aw-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; }
.aw-error:focus-visible { outline: var(--size-focus-width) solid var(--color-focus); outline-offset: var(--size-focus-offset); border-radius: var(--radius-xs); }
.aw-group { display: grid; margin: 0; padding: 0; border: 0; min-width: 0; }
.aw-opts { display: grid; gap: var(--space-2); }
.aw-opts--cards { gap: var(--space-3); }
.aw-more { display: grid; gap: var(--space-4); }
.aw-more[open] > .aw-more__s { margin-bottom: var(--space-2); }
.aw-more__s { display: flex; align-items: center; min-height: var(--size-touch-min); color: var(--color-ink2); cursor: pointer; font: var(--text-ui-weight) var(--text-ui-size)/var(--text-ui-line) var(--font-sans); }
.aw-more__s:focus-visible { outline: var(--size-focus-width) solid var(--color-focus); outline-offset: var(--size-focus-offset); border-radius: var(--radius-xs); }

/* ---------- Выбор (радио и карточки) ---------- */
.aw-opt { position: relative; min-width: 0; }
.aw-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); }
.aw-opt__l {
  display: grid; gap: var(--space-1); box-sizing: border-box; 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);
}
.aw-opt__l:hover { background: var(--color-panel2); }
.aw-radio:checked + .aw-opt__l { border-color: var(--color-acc); background: var(--color-acc-soft); }
.aw-radio:focus-visible + .aw-opt__l { outline: var(--size-focus-width) solid var(--color-focus); outline-offset: var(--size-focus-offset); }
.aw-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; }
.aw-opt__h, .aw-opt__n { color: var(--color-ink2); font: var(--text-caption-weight) var(--text-caption-size)/var(--text-caption-line) var(--font-sans); overflow-wrap: anywhere; }
.aw-radio:checked + .aw-opt__l .aw-opt__h, .aw-radio:checked + .aw-opt__l .aw-opt__n { color: var(--color-ink); }

/* ---------- Дни недели ---------- */
.aw-days { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.aw-day { position: relative; }
.aw-day__i { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.aw-day__l {
  display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-width: var(--size-touch-min); min-height: var(--size-touch-min);
  padding-inline: var(--space-3); border: 1px solid var(--color-line2); border-radius: var(--radius-pill); color: var(--color-ink);
  font: var(--text-ui-strong-weight) var(--text-ui-size)/1 var(--font-sans); cursor: pointer;
  transition: background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);
}
.aw-day__i:checked + .aw-day__l { border-color: var(--color-acc); background: var(--color-acc-soft); color: var(--color-acc-soft-text); }
.aw-day__i:focus-visible + .aw-day__l { outline: var(--size-focus-width) solid var(--color-focus); outline-offset: var(--size-focus-offset); }

/* ---------- Проверка подключения ---------- */
.aw-live { display: grid; gap: var(--space-3); min-width: 0; }
.aw-wait { margin: 0; color: var(--color-ink2); }
.aw-checks { display: grid; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.aw-check { display: flex; align-items: flex-start; gap: var(--space-3); min-width: 0; }
.aw-check__i { flex: none; width: var(--size-icon); height: var(--size-icon); }
.aw-check[data-ok="true"] .aw-check__i { color: var(--color-ok-text); }
.aw-check[data-ok="false"] .aw-check__i { color: var(--color-danger-text); }
.aw-check__t { display: grid; gap: var(--space-1); min-width: 0; }
.aw-check__l { color: var(--color-ink); font: var(--text-ui-strong-weight) var(--text-ui-strong-size)/var(--text-ui-strong-line) var(--font-sans); }
.aw-check__m, .aw-check__h { color: var(--color-ink2); font: var(--text-caption-weight) var(--text-caption-size)/var(--text-caption-line) var(--font-sans); overflow-wrap: anywhere; }
.aw-check__h { color: var(--color-warn-text); }

/* ---------- Заметки и сообщения ---------- */
.aw-notes:empty, .aw-msgbox:empty { display: none; }
.aw-notes, .aw-msgbox { display: grid; gap: var(--space-2); }
.aw-note {
  margin: 0; padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); background: var(--color-panel2); color: var(--color-ink2);
  font: var(--text-caption-weight) var(--text-caption-size)/var(--text-caption-line) var(--font-sans); overflow-wrap: anywhere;
}
.aw-note[data-tone="ok"] { background: var(--color-ok-soft); color: var(--color-ok-soft-text); }
.aw-note[data-tone="warn"] { background: var(--color-warn-soft); color: var(--color-warn-soft-text); }
.aw-note[data-tone="danger"] { background: var(--color-danger-soft); color: var(--color-danger-soft-text); }
.aw-link, .asl-link { color: var(--color-acc-text); text-decoration: underline; text-underline-offset: var(--space-1); }
.aw-link:focus-visible, .asl-link:focus-visible { outline: var(--size-focus-width) solid var(--color-focus); outline-offset: var(--size-focus-offset); border-radius: var(--radius-xs); }

/* ---------- Кнопки ---------- */
.aw-nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-2) var(--space-3); }
.aw-btn[disabled] { opacity: .6; cursor: progress; }
@media (max-width: 30rem) {
  .aw-nav { flex-direction: column-reverse; }
  .aw-nav .aw-btn { width: 100%; }
  .aw-days { gap: var(--space-1); }
}

/* ---------- Список сайтов ---------- */
.asl { display: grid; gap: var(--space-4); min-width: 0; }
.asl-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-3); }
.asl-title { 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); }
.asl-connect { display: inline-flex; align-items: center; gap: var(--space-2); }
.asl-connect .ic { width: 1rem; height: 1rem; }
.asl-limit { margin: 0; color: var(--color-ink2); }
.asl-limit[hidden], .asl-list[hidden] { display: none; }
.asl-limit[data-tone="warn"] { color: var(--color-warn-text); }
.asl-list { display: grid; gap: var(--space-3); grid-template-columns: minmax(0, 1fr); margin: 0; padding: 0; list-style: none; }
@media (min-width: 48rem) { .asl-list { grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); } }
.asl-li { min-width: 0; }
.asl-card {
  display: grid; gap: var(--space-3); align-content: start; box-sizing: border-box; height: 100%; min-width: 0; padding: var(--space-4);
  background: var(--surface-inner); border: 1px solid var(--color-line); border-radius: var(--inner-radius);
}
.asl-card[aria-busy="true"] { cursor: progress; }
.asl-card__h { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: var(--space-3); }
.asl-card__t { display: grid; gap: var(--space-1); min-width: 0; flex: 1 1 10rem; }
.asl-name { margin: 0; font: var(--text-ui-strong-weight) var(--text-ui-strong-size)/var(--text-ui-strong-line) var(--font-sans); overflow-wrap: anywhere; }
.asl-meta, .asl-last { margin: 0; color: var(--color-ink2); overflow-wrap: anywhere; }
.asl-check { margin: 0; font: var(--text-caption-weight) var(--text-caption-size)/var(--text-caption-line) var(--font-sans); overflow-wrap: anywhere; }
.asl-check[data-ok="true"] { color: var(--color-ok-text); }
.asl-check[data-ok="false"] { color: var(--color-warn-text); }
.asl-warn {
  display: flex; align-items: center; gap: var(--space-2); margin: 0; padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm);
  background: var(--color-warn-soft); color: var(--color-warn-soft-text); font: var(--text-caption-weight) var(--text-caption-size)/var(--text-caption-line) var(--font-sans);
}
.asl-warn .ic { flex: none; width: 1rem; height: 1rem; }
.asl-acts { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.asl-act { flex: 0 1 auto; }
.asl-act[disabled] { opacity: .6; cursor: progress; }
.asl-act--danger { color: var(--color-danger-text); }
.asl-empty { display: grid; gap: var(--space-3); justify-items: start; padding: var(--space-6); border: 1px dashed var(--color-line2); border-radius: var(--inner-radius); }
.asl-empty:empty { display: none; }
.asl-empty__t { margin: 0; font: var(--text-ui-strong-weight) var(--text-ui-strong-size)/var(--text-ui-strong-line) var(--font-sans); }
.asl-empty__p { margin: 0; color: var(--color-ink2); max-width: 36rem; }
@media (max-width: 30rem) {
  .asl-head .btn, .asl-empty .btn { width: 100%; }
  .asl-acts .btn { flex: 1 1 calc(50% - var(--space-2)); }
}

@media (prefers-reduced-motion: reduce) {
  .aw-opt__l, .aw-day__l { transition: none; }
}
