/* legal.css - модуль «Юридическая помощь» и кабинет адвоката (lw-*). Только токены дизайна v4 (style.css),
   шрифт наследуется (Manrope). Адаптив как в handoff 06: ≤1050 планшет, ≤740 телефон. Подключается после platform.css. */

.lw-root{display:block;min-width:0}
.lw-loading{display:flex;gap:10px;align-items:center;justify-content:center;padding:48px 20px;color:var(--muted);font-size:14px;background:var(--white);border:1px dashed var(--line);border-radius:22px}
.lw-root .pf-heading-actions .tag{font-size:12px;padding:7px 12px}
.lw-root .pf-stat-grid{margin-bottom:18px}

/* Сетка: форма или входящие слева, дело справа (как в макетах WorkerLawyer / Lawyer) */
.lw-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start}
.lw-grid-lawyer{grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr)}
.lw-grid>div{min-width:0}
.lw-grid #lw-side:empty{display:none}

/* Форма обращения */
.lw-form{display:flex;flex-direction:column;gap:20px;margin:0}
.lw-form-head h2,.lw-panel-head h2{font-size:20px;letter-spacing:-.02em;margin:0}
.lw-form-head p{color:var(--muted);font-size:13px;margin-top:6px;line-height:1.5}
.lw-fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.lw-fieldset legend{padding:0;margin-bottom:10px}
.lw-topics{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}
.lw-topic{padding:14px;border-radius:16px;gap:4px}
.lw-topic b{font-size:14px}
.lw-topic small{font-size:12px}
.lw-topic.selected{background:var(--paper)}
.lw-chips{display:flex;gap:8px;flex-wrap:wrap}
.lw-chip{cursor:pointer;font:inherit;font-size:12px;font-weight:650;padding:9px 14px;white-space:normal;text-align:left;max-width:100%;color:var(--ink)}
.lw-chip.active{color:var(--white)}
.lw-chip-add{border-style:dashed}
.lw-chip-add:hover{color:var(--white)}
.lw-form-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.lw-form-actions span{color:var(--muted);font-size:12.5px;line-height:1.5;flex:1 1 220px}

/* Дело: шапка, участник, описание */
.lw-picker .pf-tabs{margin-bottom:12px}
.lw-case{display:flex;flex-direction:column;gap:16px;margin:0}
.lw-case-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.lw-case-head>div{min-width:0}
.lw-case-head .section-label{margin:0}
.lw-case-head h2{font-size:20px;letter-spacing:-.02em;margin:6px 0 4px;line-height:1.25;overflow-wrap:anywhere}
.lw-case-meta{color:var(--muted);font-size:13px;line-height:1.5}
.lw-case-head .tag{flex:none}
.lw-person{display:flex;gap:12px;align-items:center}
.lw-person b{display:block;font-size:14px}
.lw-person small{display:block;color:var(--muted);font-size:12px;margin-top:2px;line-height:1.4}
.lw-person .avatar{width:38px;height:38px}
.lw-desc{font-size:14px;line-height:1.6;background:var(--paper);border-radius:16px;padding:14px 16px;overflow-wrap:anywhere}
.lw-case .pf-note{margin:0}

/* Переписка */
.lw-chat{display:flex;flex-direction:column;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px;max-height:420px;overflow:auto}
.lw-chat-empty p{color:var(--muted);font-size:13px;line-height:1.5;text-align:center;margin:12px 0}
.lw-msg{display:flex;flex-direction:column;align-items:flex-start;gap:4px;max-width:88%}
.lw-msg.mine{align-self:flex-end;align-items:flex-end}
.lw-msg-author{font-size:11px;font-weight:700;color:var(--muted);padding:0 4px}
.lw-bubble{background:var(--white);border:1px solid var(--line);border-radius:16px 16px 16px 6px;padding:10px 14px;font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.lw-msg.mine .lw-bubble{background:var(--ink);color:var(--white);border-color:var(--ink);border-radius:16px 16px 6px 16px}
.lw-bubble-files{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px}
.lw-msg.mine .lw-bubble .lw-file{color:var(--white)}
.lw-msg time{font-size:10.5px;color:var(--muted);padding:0 4px}
.lw-send{display:flex;gap:10px;align-items:stretch}
.lw-send input{flex:1;min-width:0;border-radius:100px;padding:13px 18px;font:inherit;font-size:14px}
.lw-send .button{min-height:48px;padding:12px 20px}
.lw-chat-wrap{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--line);padding-top:16px}
.lw-sub{font-size:15px;letter-spacing:-.01em;margin:0}

/* Документы и условия дела */
.lw-kvs{display:flex;flex-direction:column}
.lw-kv{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line);font-size:13.5px}
.lw-kv:last-child{border-bottom:1px solid var(--line)}
.lw-kv-label{min-width:0}
.lw-kv-label b{display:block;font-weight:650;overflow-wrap:anywhere}
.lw-kv-label small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}
.lw-kv-value{display:flex;gap:6px 14px;align-items:center;flex-wrap:wrap;justify-content:flex-end;flex:none;max-width:60%}
.lw-file{font-size:12.5px;gap:5px;padding:2px 0;color:var(--blue)}
.lw-files{display:flex;gap:4px 12px;flex-wrap:wrap}
.lw-convert{background:none;border:0;padding:2px 0;font:inherit;font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.lw-convert:hover{color:var(--blue)}

/* Решение адвоката */
.lw-decision{display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:18px;background:var(--paper);border:1px solid var(--line)}
.lw-decision-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
.lw-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.lw-decision .lw-actions .button{min-height:48px;padding:13px 20px}

/* Входящие адвоката */
.lw-inbox-panel{margin:0}
.lw-panel-head{margin-bottom:14px}
.lw-inbox-panel .pf-tabs{width:auto;margin-bottom:14px;gap:2px}
.lw-inbox-panel .pf-tabs button{padding:8px 10px;gap:6px}
.lw-inbox{display:flex;flex-direction:column;gap:6px}
.lw-inbox-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;width:100%;text-align:left;font:inherit;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:16px;padding:13px 14px;cursor:pointer;transition:border-color .15s,background .15s}
.lw-inbox-row:hover{border-color:color-mix(in srgb,var(--ink) 18%,var(--line))}
.lw-inbox-row.active{border-color:var(--ink);background:var(--paper);box-shadow:inset 0 0 0 1px var(--ink)}
.lw-inbox-body{min-width:0;display:flex;flex-direction:column;gap:2px}
.lw-inbox-body b{font-size:14px}
.lw-inbox-body small{font-size:12.5px;color:var(--ink);line-height:1.4;overflow-wrap:anywhere}
.lw-inbox-body .lw-inbox-meta{color:var(--muted);font-size:11.5px;margin-top:2px}
.lw-inbox-row .tag{flex:none}

/* Таблицы экранов адвоката */
.lw-cell{display:block;min-width:0}
.lw-cell b{display:block;font-weight:700}
.lw-cell small{display:block;color:var(--muted);font-size:12px;margin-top:2px;line-height:1.45}
.lw-cell .tag{margin-top:6px}
.lw-table tr.lw-overdue td{background:color-mix(in srgb,var(--red) 5%,var(--white))}
.lw-table tbody tr.lw-overdue:hover td{background:color-mix(in srgb,var(--red) 9%,var(--white))}
.lw-root #lw-main>.pf-note{margin:0 0 16px}

/* Диалоги */
.lw-dialog p{margin-bottom:4px;line-height:1.5}
.lw-dialog form{margin-top:16px}
.lw-dialog .pf-form-grid{grid-template-columns:1fr}

@media (max-width:1050px){
  .lw-grid,.lw-grid-lawyer{grid-template-columns:1fr}
  .lw-chat{max-height:360px}
}
@media (max-width:740px){
  .lw-topics{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* QA 07.11 BUG-110: плитки показателей - той же сеткой, что у других ролей (одна колонка на телефоне) */
  .lw-case-head{flex-direction:column-reverse;gap:8px}
  .lw-kv{flex-direction:column;align-items:flex-start;gap:6px}
  .lw-kv-value{justify-content:flex-start;max-width:none}
  .lw-decision{padding:14px}
  .lw-decision-grid{grid-template-columns:1fr}
  .lw-actions .button{width:100%}
  .lw-send{flex-direction:column}
  .lw-send .button{width:100%}
  .lw-msg{max-width:94%}
  .lw-form-actions .button{width:100%}
  .lw-inbox-panel .pf-tabs{width:100%}
}

/* ссылки на файлы PDF/DOCX - тач-цель не меньше 44 px на телефоне (QA BUG-057) */
@media (max-width:740px){.lw-file{display:inline-flex;align-items:center;min-height:44px;padding:0 8px}}

/* QA 07.11 BUG-126: вкладки «Активные / Новые / Завершённые / Все» в узкой колонке - одной строкой с прокруткой */
.lw-inbox-panel .pf-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;max-width:100%}
.lw-inbox-panel .pf-tabs::-webkit-scrollbar{display:none}
.lw-inbox-panel .pf-tabs button{flex:none;white-space:nowrap}
@media (min-width:1051px){.lw-inbox-panel .pf-tabs{gap:0}.lw-inbox-panel .pf-tabs button{padding:7px 7px;gap:5px;font-size:12.5px}}
