/* Десктопный слой EcoConcept. Телефон и планшет он не затрагивает: обёртки ниже там прозрачны,
   а все правила раскладки включаются только от 1100px. */
.task-board,.task-group,.deal-cols,.deal-work,.deal-info{display:contents}

@media (min-width:1100px){
  /* Страница занимает всё рабочее поле, а не колонку телефонной ширины */
  .page,.page.home,.page.crm-page{max-width:1640px;padding:28px 36px 56px}
  .page.narrow{max-width:880px;padding:28px 36px 56px}
  html[data-route="tasks"] .page.narrow,
  html[data-route="leads"] .page.narrow,
  html[data-route="expenses"] .page.narrow,
  html[data-route="docs"] .page.narrow,
  html[data-route="learn"] .page.narrow,
  html[data-route="crm/id"] .page.narrow,
  html[data-route="kp/new"] .page.narrow:has(>.pick){max-width:1640px}
  .page>.head{margin-bottom:18px}

  /* Сегментные переключатели по содержимому, а не на всю ширину */
  .page>.seg{width:fit-content;min-width:360px}
  .page>.seg button{flex:1 0 auto;padding:6px 22px}

  /* Задачи: строка постановки во всю ширину и доска колонками */
  html[data-route="tasks"] .card.quick{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;padding:8px 12px}
  html[data-route="tasks"] .card.quick>*{grid-column:1/-1}
  html[data-route="tasks"] .card.quick>.qa-row{grid-column:1;grid-row:1}
  html[data-route="tasks"] .card.quick>.qa-actions{grid-column:2;grid-row:1;border-top:0;margin:0;padding:0}
  html[data-route="tasks"] .card.quick>.chips{margin:0 0 4px;padding:0 4px}
  html[data-route="tasks"] .qa-row textarea{min-height:42px}
  .task-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;align-items:start}
  .task-group{display:block;min-width:0}
  .task-board>div>.subhead,.task-group>.subhead{margin-top:0}
  html[data-route="tasks"] .card.empty{padding:96px 20px}
  html[data-route="tasks"] .page>.subnav{margin-bottom:16px}

  /* Главная: заголовок и действия одной строкой, показатели в ряд, блоки колонками */
  .page.home{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;column-gap:12px}
  .page.home>*{grid-column:1/-1;min-width:0}
  .page.home>.head{grid-column:1;grid-row:1;margin-bottom:0}
  .page.home>.home-as{grid-column:2;grid-row:1;margin:0}
  .page.home>.home-actions{grid-column:3;grid-row:1;margin:0;display:flex}
  .page.home>.home-kpis{margin-top:20px}
  .page.home>.home-grid{display:block;columns:2;column-gap:20px;margin-top:24px}
  .page.home>.home-grid>section{break-inside:avoid;margin-bottom:22px}
  .page.home>.home-grid>section>.subhead{margin-top:0}

  /* Сделки: каждая сделка одной строкой, как в таблице */
  .crm-list li{padding:10px 18px;min-height:0}
  .crm-list li .nm{display:grid;grid-template-columns:minmax(170px,1fr) minmax(0,1.5fr) minmax(0,1.3fr);align-items:center;column-gap:18px}
  .crm-list li .nm>*{min-width:0;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .crm-list .crm-end{flex-direction:row;align-items:center;gap:12px}
  .crm-list .crm-end .stage-pill{min-width:112px;justify-content:center}
  .crm-list .crm-icons{width:124px;justify-content:flex-end}
  .crm-list .crm-icons .ci{flex:none}

  /* Заявки с сайта: имя и описание в одну строку */
  html[data-route="leads"] .lines li{padding:11px 18px;min-height:0}
  html[data-route="leads"] .lines li .nm{display:grid;grid-template-columns:260px minmax(0,1fr);align-items:center;column-gap:18px}
  html[data-route="leads"] .lines li .nm>*{margin:0;min-width:0}

  /* Списки короткими карточками в несколько колонок */
  .lines.docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr))}
  html[data-route="learn"] .page>.lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}

  html[data-route="learn"] .page>.btn.primary{width:auto;min-width:280px}

  /* Новое КП: выбор типа в ряд */
  html[data-route="kp/new"] .page.narrow:has(>.pick){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:12px;align-items:stretch}
  html[data-route="kp/new"] .page.narrow:has(>.pick)>:not(.pick){grid-column:1/-1}

  /* Карточка сделки: слева работа со сделкой, справа данные клиента и история */
  .deal-cols{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,1fr);gap:28px;align-items:start;margin-top:4px}
  .deal-work,.deal-info{display:block;min-width:0}
  .deal-info>.spec:first-child{margin-top:0!important}

  /* Сотрудники: карточки сеткой */
  html[data-route="people"] .page>div:has(>.card){display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:12px;align-items:start}
  html[data-route="people"] .page>div:has(>.card)>.card{margin:0}
}

@media (min-width:1280px){
  html[data-route="tasks"] .card.quick{grid-template-columns:minmax(0,1fr) auto auto}
  html[data-route="tasks"] .card.quick>.chips{grid-column:2;grid-row:1;margin:0;padding:0;flex-wrap:nowrap}
  html[data-route="tasks"] .card.quick>.qa-actions{grid-column:3}
}

@media (min-width:1400px){
  .lines.calls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .page.home>.home-grid{columns:3}
  .home-kpis:has(>.kpi:nth-child(6)){grid-template-columns:repeat(6,minmax(0,1fr))}
  .home-kpis:has(>.kpi:nth-child(6)) .k-value{font-size:22px;line-height:28px}
}
