/* Страница проекта и «Новый проект» (Figma «15 · Проект — обзор, вкладки и создание»).
   Шкала текста как на странице 14: 32 заголовок, 20 карточка, 17 справка, 15 строка,
   14 поле, 13 мета. Кнопки, статусы, вкладки, Select, меню «⋯» и аватар — общие
   компоненты (.btn, .status, .lf-tabs, .lf-select, .team-menu, .team-avatar);
   здесь только раскладка: колонка 736 + справка 320, карточки и строки. */
.wp-columns { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; align-items: start; }
.wp-columns.hidden { display: none; }
.wp-main, .wp-aside { display: grid; gap: 16px; min-width: 0; align-content: start; }
.wp-card { display: grid; gap: 14px; padding: 24px; background: var(--color-bg-card); border: 1px solid var(--color-border); border-radius: var(--radius-card); min-width: 0; color: var(--color-text); font-family: var(--font-sans); }
.wp-card h2, .wp-card h3, .wp-card p, .wp-card dl, .wp-card dd { margin: 0; }
.wp-card h2 { font-size: 20px; font-weight: 700; line-height: 1.3; font-family: var(--font-sans); }
.wp-card--aside { gap: 12px; padding: 20px; }
.wp-card--aside h3 { font-size: 17px; font-weight: 600; line-height: 1.3; }
.wp-card svg { flex: none; }
.wp-card__head { display: flex; align-items: center; gap: 12px; min-width: 0; }
.wp-card__head > h2, .wp-card__head > h3 { flex: 1; min-width: 0; }
.wp-card__head .btn { margin: 0; flex: none; }
.wp-card__head--aside { align-items: flex-start; }
.wp-card__intro { display: grid; gap: 4px; }
.wp-card__action { justify-self: start; margin: 0 0 0 -12px; }
.wp-note { font-size: 13px; line-height: 18px; color: var(--color-text-muted); }
.wp-note:empty { display: none; }
.wp-text { font-size: 14px; line-height: 1.55; color: var(--color-text-secondary); overflow-wrap: anywhere; }
.wp-empty { padding-top: 14px; border-top: 1px solid var(--color-border); font-size: var(--text-lg); line-height: 1.55; color: var(--color-text-muted); }
.wp-hint { margin: 0; font-size: 13px; line-height: 18px; color: var(--color-text-muted); }
.wp-hint[hidden] { display: none; }
.wp-label, .wp-field > label, label.wp-field { font-size: 14px; font-weight: 600; line-height: 1.4; color: var(--color-text); }
.wp-field { display: grid; gap: 8px; min-width: 0; }
.wp-input { box-sizing: border-box; width: 100%; min-height: 44px; padding: 10px 14px; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-bg-card); color: var(--color-text); font: inherit; font-size: var(--text-lg); font-weight: 400; line-height: 1.45; }
textarea.wp-input { resize: vertical; min-height: 104px; }
.wp-input:focus-visible { outline: none; border-color: var(--color-brand-text); box-shadow: 0 0 0 1px var(--color-brand-text); }
.wp-input[aria-invalid="true"] { border-color: var(--color-error); }
.wp-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.wp-actions .btn { margin: 0; }
.wp-tools { display: flex; align-items: center; gap: 8px; flex: none; }
.wp-tools .btn { margin: 0; }
.wp-tools .lf-select { width: 180px; }

/* Строки списков: текст, метка Status, действия; подробности — во всю ширину. */
.wp-rows { list-style: none; margin: 0; padding: 0; }
.wp-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 12px 0; border-top: 1px solid var(--color-border); min-width: 0; }
.wp-rows > li:not(.wp-row) { border-top: 1px solid var(--color-border); }
.wp-row__text { display: grid; gap: 2px; flex: 1 1 0; min-width: 0; overflow-wrap: anywhere; text-align: left; }
.wp-row__title { font-size: var(--text-lg); line-height: 1.55; color: var(--color-text); }
.wp-row__meta { font-size: 13px; line-height: 18px; color: var(--color-text-muted); }
.wp-row > .btn, .wp-row > .status, .wp-row > .team-menu { margin: 0; flex: none; }
.wp-row__main, .wp-row--link { display: flex; align-items: center; gap: 14px; flex: 1 1 0; min-width: 0; margin: 0; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; text-decoration: none; cursor: pointer; border-radius: 8px; }
.wp-row--link { width: 100%; padding: 12px 0; }
.wp-row__main:hover .wp-row__title, .wp-row--link:hover .wp-row__title { color: var(--color-brand-text); }
.wp-row__main:focus-visible, .wp-row--link:focus-visible, .wp-link:focus-visible { outline: 3px solid var(--btn-focus-ring); outline-offset: 2px; }
.wp-row__details { flex: 1 0 100%; display: grid; gap: 8px; min-width: 0; }
.wp-row__details pre { margin: 0; padding: 12px 14px; max-height: 360px; overflow: auto; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-bg-subtle); font-family: var(--font-sans); font-size: 14px; line-height: 1.55; color: var(--color-text-secondary); white-space: pre-wrap; overflow-wrap: anywhere; }
.wp-row--cabinet > svg, .wp-row--cabinet > .wp-brand { width: 20px; height: 20px; color: var(--color-text); }
.wp-row--editing { display: block; }
.wp-link { margin: 0; padding: 0; border: 0; background: none; font: inherit; color: inherit; text-align: left; cursor: pointer; border-radius: 4px; }
.wp-link:hover { color: var(--color-brand-text); text-decoration: underline; }
.wp-log { margin: 0; padding-left: 18px; display: grid; gap: 4px; font-size: 13px; line-height: 18px; color: var(--color-text-secondary); }
.wp-brand { display: block; width: 20px; height: 20px; border-radius: 5px; object-fit: contain; }

/* Справка справа: иконка 20 и две строки текста. */
.wp-points { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.wp-points li { display: flex; align-items: flex-start; gap: 10px; min-width: 0; }
.wp-points li > svg, .wp-points li > .wp-brand { width: 20px; height: 20px; margin-top: 2px; color: var(--color-text); }
.wp-points li > div { display: grid; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.wp-points strong { font-size: var(--text-lg); font-weight: 600; line-height: 1.55; }
.wp-points small { font-size: 13px; line-height: 18px; color: var(--color-text-muted); }
.wp-points small a { color: inherit; text-decoration: none; }
.wp-points small a:hover { color: var(--color-brand-text); text-decoration: underline; }
.wp-points span { font-size: var(--text-lg); line-height: 1.55; }
.wp-points--checks .is-ok svg { color: var(--status-success-fg); }
.wp-points--checks .is-missing svg { color: var(--color-text-muted); }
.wp-points--checks .is-missing span { color: var(--color-text-secondary); }

/* «Спросите ИИ о проекте»: поле на рамке Select / Field, отправка — Button / Icon Filled S. */
.wp-ask__form { display: flex; align-items: center; gap: 12px; padding: 8px 8px 8px 16px; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-bg-card); }
.wp-ask__form:focus-within { border-color: var(--color-brand-text); box-shadow: 0 0 0 1px var(--color-brand-text); }
.wp-ask__form input { flex: 1; min-width: 0; padding: 4px 0; border: 0; background: none; color: var(--color-text); font: inherit; font-size: var(--text-lg); line-height: 1.55; }
.wp-ask__form input:focus { outline: none; }
.wp-ask__form .btn { margin: 0; flex: none; }
.wp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.wp-chips .btn { margin: 0; }

/* «С чего начать»: кружок с номером шага на Success / Background. */
.wp-steps { list-style: none; margin: 0; padding: 0; }
.wp-step { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 14px 0; border-top: 1px solid var(--color-border); }
.wp-step .btn, .wp-step .status { margin: 0; flex: none; }
.wp-step__n { display: grid; place-items: center; flex: none; width: 24px; height: 24px; border-radius: 50%; background: var(--status-success-bg); color: var(--color-forest); font-size: 12px; font-weight: 600; line-height: 1; }

/* «Память»: слои описания и правил внутри «Что ИИ знает всегда». */
.wp-block { display: grid; gap: 10px; padding-top: 14px; border-top: 1px solid var(--color-border); min-width: 0; }
.wp-block__head { display: flex; align-items: center; gap: 12px; }
.wp-block__head h3 { flex: 1; min-width: 0; margin: 0; font-size: var(--text-lg); font-weight: 600; line-height: 1.55; }
.wp-block__head .btn { margin: 0; flex: none; }
.wp-block .wp-rows > .wp-row:first-child { border-top: 0; padding-top: 4px; }
.wp-clamp { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: var(--text-lg); line-height: 1.55; color: var(--color-text); white-space: pre-line; overflow-wrap: anywhere; }
.wp-editor { display: grid; gap: 10px; min-width: 0; }
.wp-editor textarea { box-sizing: border-box; width: 100%; min-height: 72px; padding: 10px 14px; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-bg-card); color: var(--color-text); font: inherit; font-size: var(--text-lg); line-height: 1.55; resize: vertical; }
.wp-editor textarea:focus-visible { outline: none; border-color: var(--color-brand-text); box-shadow: 0 0 0 1px var(--color-brand-text); }

/* «Настройки»: реквизиты короткой таблицей, ID проекта справа. */
.wp-facts > div { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 16px; padding: 12px 0; border-top: 1px solid var(--color-border); font-size: 14px; }
.wp-facts dt { font-weight: 600; line-height: 1.4; }
.wp-facts dd { line-height: 1.55; color: var(--color-text-secondary); overflow-wrap: anywhere; }
.wp-facts.hidden, .wp-form.hidden { display: none; }
.wp-form { margin: 0; padding: 0; border: 0; background: none; }
.wp-form fieldset { display: grid; gap: 14px; margin: 0; padding: 0; border: 0; min-width: 0; }
.wp-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.wp-id { display: flex; align-items: center; gap: 8px; min-width: 0; }
.wp-id code { flex: 1; min-width: 0; font-family: var(--font-sans); font-size: var(--text-lg); color: var(--color-text); overflow-wrap: anywhere; background: none; padding: 0; }
.wp-id .btn { margin: 0; flex: none; }
#workspace-settings-cabinets .workspace-inline-picker { display: grid; gap: 12px; padding-top: 14px; border-top: 1px solid var(--color-border); }
#workspace-settings-cabinets .workspace-inline-picker.hidden { display: none; }
#workspace-settings-cabinets .workspace-provider-links-controls { margin: 0; padding: 0; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
#workspace-settings-people .team-person:first-child { border-top: 0; }

/* Шапка проекта: строка о проекте — ссылки во вкладки; роль — только у участника. */
#workspace-client-role[hidden] { display: none; }
#workspace-project-header .workspace-project-back { margin: 0 0 12px -12px; color: var(--btn-plain-fg); }
.wp-counts { margin: 6px 0 0; font-size: var(--text-lg); line-height: 1.55; color: var(--color-text-muted); }
.wp-counts a { color: inherit; text-decoration: none; }
.wp-counts a:hover { color: var(--color-brand-text); text-decoration: underline; }
.wp-subpage-title { margin: 0 0 16px; font-size: 20px; font-weight: 700; line-height: 1.3; }

/* «Новый проект». */
#workspace-page-client-form .workspace-create-form { gap: 20px; }
#workspace-page-client-form .workspace-create-form .lf-select { width: 100%; }
#workspace-page-client-form .workspace-create-sources { display: grid; gap: 12px; min-width: 0; }

/* Select с поиском и несколькими отметками (lidfly-ui-multiselect.js): логотип кабинета слева. */
.lf-select--multiple .lf-select__option.has-icon { grid-template-columns: 20px minmax(0, 1fr) auto; }
.lf-select__option-icon { display: inline-flex; width: 20px; height: 20px; margin-top: 1px; color: var(--color-text); }
.lf-select__option-icon svg, .lf-select__option-icon img { width: 20px; height: 20px; }
.lf-select--multiple .lf-select__value { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 1100px) {
  .wp-columns { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .wp-card { padding: 16px; }
  .wp-card--aside { padding: 16px; }
  .wp-card__head { flex-wrap: wrap; }
  .wp-tools { flex-wrap: wrap; width: 100%; }
  .wp-tools .lf-select { flex: 1 1 140px; width: auto; }
  .wp-facts > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .wp-form-grid { grid-template-columns: minmax(0, 1fr); }
  #workspace-settings-cabinets .workspace-provider-links-controls { grid-template-columns: minmax(0, 1fr); }
  .wp-row > .status, .wp-row > .btn { margin-left: 0; }
}
