/* docflow.css — раздел «Документооборот» (blox75 #14). Префикс .dfl-.
   Телефон первым (375px): один столбец, палец 44px, поля 16px (--fs-input — заслон от зума iOS).
   Цвета — только роль-токены; зелёной и красной заливок нет (реестры GREEN_OK/RED_OK в tools/check.js):
   состояние документа — тинт чипа, «Платёж получен» — .btn--accept из общего движка кнопок. */

.dfl{max-width:680px;margin:0 auto;padding-bottom:var(--sp-7)}
.dfl [hidden]{display:none}
.dfl .btn--sm{min-height:44px}
.dfl-head{margin:var(--sp-2) 0 var(--sp-3)}
.dfl-head h2{margin:0 0 var(--sp-1)}
.dfl-sub{font-size:var(--fs-sm);color:var(--muted);overflow-wrap:anywhere}
.dfl-chip{margin-top:var(--sp-2);min-height:44px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--card);
  color:var(--anchor-ink);font-weight:700;font-size:var(--fs-sm);padding:0 var(--sp-3);cursor:pointer;font-family:inherit;box-shadow:var(--sheet-1)}
.dfl-tabs{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-3)}
.dfl-tab{flex:1 1 0;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--card);
  color:var(--anchor-ink);font-weight:700;font-size:var(--fs-sm);cursor:pointer;font-family:inherit;box-shadow:var(--sheet-1)}
.dfl-tab.on{background:var(--primary);color:var(--on-dark);border-color:transparent}
.dfl-note{border:1px solid var(--line);background:var(--accent-tint);color:var(--ink);border-radius:var(--r-md);
  padding:var(--sp-3);font-size:var(--fs-sm);margin-bottom:var(--sp-3)}
.dfl-list{display:flex;flex-direction:column;gap:var(--sp-3)}
.dfl-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);padding:var(--sp-3);box-shadow:var(--sheet-1);
  display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}
.dfl-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-2)}
.dfl-title{font-weight:800;font-size:var(--fs-lg);color:var(--ink-strong);overflow-wrap:anywhere;min-width:0}
.dfl-amount{font-weight:800;white-space:nowrap}
.dfl-kind{font-size:var(--fs-sm);color:var(--muted)}
.dfl-chipst{align-self:flex-start;font-size:var(--fs-sm);font-weight:700;border-radius:var(--r-pill);padding:4px 10px;border:1px solid var(--line)}
.dfl-chipst.ok{background:var(--ok-tint);color:var(--ok-ink);border-color:var(--ok-line)}
.dfl-chipst.wait{background:var(--accent-tint);color:var(--ink)}
.dfl-chipst.bad{background:var(--alert-tint);color:var(--alert-ink);border-color:var(--alert-line)}
.dfl-chipst.off{color:var(--muted)}
.dfl-signs{margin:0;padding-left:var(--sp-4);font-size:var(--fs-sm);overflow-wrap:anywhere}
.dfl-signs li{margin:2px 0}
.dfl-muted{color:var(--muted);font-size:var(--fs-sm);margin:0;overflow-wrap:anywhere}
.dfl-fp{font-size:var(--fs-xs)}
.dfl-reason{margin:0;font-size:var(--fs-sm);overflow-wrap:anywhere}
.dfl-hint{color:var(--muted);font-size:var(--fs-sm);margin:0}
.dfl-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.dfl-file{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm)}
.dfl-link{background:none;border:none;padding:6px 0;min-height:44px;color:var(--anchor-ink);font:inherit;text-align:left;
  cursor:pointer;text-decoration:underline;overflow-wrap:anywhere}

/* формы — раскрывашка с кнопкой-заголовком; поля во всю ширину, шрифт 16px против зума iOS */
.dfl-form{margin-bottom:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2)}
.dfl-form>summary{list-style:none;display:inline-flex;cursor:pointer}
.dfl-form>summary::-webkit-details-marker{display:none}
.dfl-form[open]{border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);padding:var(--sp-3);box-shadow:var(--sheet-1)}
.dfl-form[open]>summary{margin-bottom:var(--sp-2)}
.dfl-f{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-sm);color:var(--muted);margin-bottom:var(--sp-2)}
.dfl-f input,.dfl-f select,.dfl-f textarea{font-size:var(--fs-input);font-family:inherit;color:var(--ink);background:var(--card);
  border:1px solid var(--line);border-radius:var(--r-sm);padding:10px;min-height:44px;width:100%;box-sizing:border-box}
.dfl-f textarea{resize:vertical}

/* QR держит место ДО загрузки байтов (width/height в разметке + aspect-ratio): иначе каждая
   перерисовка на миг укорачивает страницу и экран прыгает (lingo-ui §1) */
.dfl-qr img{display:block;width:100%;max-width:280px;height:auto;aspect-ratio:1;background:var(--card);border-radius:var(--r-sm)}
.dfl-req summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:var(--fs-sm);color:var(--anchor-ink)}
.dfl-req dl{display:grid;grid-template-columns:auto 1fr auto;gap:6px var(--sp-2);align-items:center;margin:0;font-size:var(--fs-sm)}
.dfl-req dt{color:var(--muted)}
.dfl-req dd{margin:0;overflow-wrap:anywhere;min-width:0}

/* окно подписи: целиком в экране по высоте (§3, G1v) — страницы листаются ВНУТРИ, низ с кнопкой
   «Подписываю» всегда на экране */
.dfl-ov{display:flex;align-items:center;justify-content:center;padding:var(--sp-2)}
.dfl-signbox{background:var(--card);border-radius:var(--r-md);width:min(760px,100%);max-height:calc(100dvh - 16px);
  display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--sheet-3)}
.dfl-signbox .sheethead{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);
  border-bottom:1px solid var(--line)}
.dfl-signbox .sheethead b{overflow-wrap:anywhere;min-width:0}
/* окно просмотра PDF (blox76 #3): длинное название не съедает экран телефона — две строки, целиком оно на карточке */
.dfl-viewbox .sheethead b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.dfl-headr{display:flex;align-items:center;gap:var(--sp-2);flex:0 0 auto}
.dfl-x{flex:0 0 auto;width:44px;height:44px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--card);
  color:var(--ink);font-size:var(--fs-lg);cursor:pointer}
.dfl-pages{flex:1 1 auto;overflow:auto;padding:var(--sp-2);background:var(--bg);display:flex;flex-direction:column;gap:var(--sp-2);min-height:0}
.dfl-pages img{display:block;width:100%;height:auto;background:var(--card);box-shadow:var(--sheet-1)}
.dfl-signfoot{padding:var(--sp-3);border-top:1px solid var(--line);display:flex;flex-direction:column;gap:var(--sp-2)}

/* окно «Отправить подтверждение» (blox75 #15): та же коробка, что у подписи, — в экран по высоте,
   середина листается внутри, кнопки внизу всегда видны */
.dfl-confirm-body{flex:1 1 auto;overflow:auto;min-height:0;padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2)}
.dfl-confirm-body p{margin:0}
.dfl-letter{display:grid;grid-template-columns:auto 1fr auto;gap:var(--sp-1) var(--sp-2);align-items:start;margin:0}
.dfl-letter dt{color:var(--muted);padding-top:6px}
.dfl-letter dd{margin:0;padding-top:6px;overflow-wrap:anywhere;min-width:0;font-weight:600}
.dfl-letter dd .dfl-muted{display:block;font-weight:400;font-size:var(--fs-sm)}
.dfl-letter-h{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);color:var(--muted)}
.dfl-letter-body{margin:0;padding:var(--sp-2);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);
  white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:var(--fs-sm)}
.dfl-actions a.btn{text-decoration:none}
