/* Рабочие формы и карточка заявки. Значения — из общей шкалы tokens.css. */
.body > .nav,.body > .content{width:100%; max-width:var(--content-width); margin-inline:auto}
.nav-back,.nav-act{min-height:var(--control-size)}
.sec{font-size:var(--text-caption); text-transform:none; letter-spacing:0; color:var(--ink-2)}
.item .t,.item .s,.item .val{overflow-wrap:anywhere}
.item .txt{min-width:0}
.sheet-heading{display:flex; align-items:center; padding-right:var(--space-2)}
.sheet-heading .sheet-h{flex:1; min-width:0; padding-block:var(--space-4); line-height:1.25}
.sheet-close{flex:none; width:var(--control-size); height:var(--control-size); border:0;
  border-radius:var(--r-card); background:transparent; color:var(--ink-2); cursor:pointer; display:grid; place-items:center}
.sheet-close svg{width:var(--space-6); height:var(--space-6)}
.sheet-b .group{margin:0 0 var(--space-3)}
.sheet-b .rounded{margin-bottom:var(--space-4)}
.sheet-b .hint{margin:var(--space-3) 0; color:var(--ink-2)}
.sheet-note{color:var(--ink-2)}
.sheet .fld{padding:var(--space-3) var(--space-4)}
.sheet .fld label{color:var(--ink-2); font-size:var(--text-caption); margin-bottom:var(--space-2)}
.sheet .fld input,.sheet .fld textarea,.sheet .fld select{font-size:var(--text-body); min-height:var(--space-8)}
.sheet .opt{width:100%; min-height:calc(var(--control-size) + var(--space-2)); border:0;
  text-align:left; color:var(--ink); font:inherit; font-size:var(--text-body)}
.sheet .opt.on{background:var(--go-tint)}
.sheet .opt .tick{flex:none; width:var(--space-5)}
.sheet .option-detail{display:block; font-size:var(--text-caption); color:var(--ink-2); margin-top:var(--space-1)}
.sheet .act:disabled{opacity:.6; cursor:wait}
.sheet-err{color:var(--stop); font-size:var(--text-body); line-height:1.4}
.sheet-b{scrollbar-gutter:stable; scroll-padding-block:var(--space-4)}
button:focus-visible,[role="button"]:focus-visible,a:focus-visible,summary:focus-visible{
  outline:2px solid var(--go-text); outline-offset:2px}
.sheet .fld:focus-within{box-shadow:inset 0 0 0 2px var(--go-text)}
input::placeholder,textarea::placeholder{color:var(--ink-3); opacity:1}
.visually-hidden{position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap}

/* Полная последовательность читается на телефоне; только текущий шаг выделен. */
.deal-screen .hd{padding:var(--space-2) var(--space-5) 0}
.deal-screen .hd .nm{min-height:var(--control-size); align-items:center}
.deal-screen .hd .sub{gap:var(--space-2); color:var(--ink-2)}
.deal-progress{margin:var(--space-5) var(--gap) 0; padding:var(--space-4);
  background:var(--group); border-radius:var(--r-card)}
.progress-heading{display:flex; justify-content:space-between; gap:var(--space-3);
  font-size:var(--text-caption); color:var(--ink-2)}
.progress-heading span:first-child{font-weight:600; color:var(--ink)}
.deal-steps{list-style:none; display:grid; grid-template-columns:repeat(5,minmax(0,1fr));
  padding:0; margin:var(--space-4) 0; gap:var(--space-1)}
.deal-steps li{min-width:0; position:relative; display:flex; align-items:center;
  flex-direction:column; gap:var(--space-2); color:var(--ink-2)}
.deal-steps li:not(:last-child)::after{content:""; position:absolute; top:calc(var(--step-size) / 2);
  left:calc(50% + var(--step-size) / 2 + var(--space-1)); width:calc(100% - var(--step-size) - var(--space-1));
  height:1px; background:var(--sep-solid)}
.step-marker{width:var(--step-size); height:var(--step-size); border-radius:50%; display:grid;
  place-items:center; background:var(--sep-solid); font-size:var(--text-caption); font-weight:600}
.step-marker svg{width:var(--space-4); height:var(--space-4)}
.step-label{font-size:var(--text-caption); text-align:center; line-height:1.2}
.deal-steps .is-complete{color:var(--ink-2)}
.deal-steps .is-current{color:var(--go-text); font-weight:600}
.deal-steps .is-current .step-marker{background:var(--go); color:var(--go-ink)}
.progress-hint{font-size:var(--text-caption); line-height:1.5; color:var(--ink-2); margin:0;
  padding-top:var(--space-3); border-top:1px solid var(--sep)}
.deal-screen .card{margin-inline:var(--gap); background:var(--group); border-radius:var(--r-card); overflow:hidden}
.deal-screen .card.plain{overflow:visible}
.deal-screen .sec{padding:var(--space-6) var(--space-5) var(--space-2); font-size:var(--text-body); font-weight:600}
.deal-screen .sum{padding:var(--space-4)}
.deal-screen .sum .big{gap:var(--space-2)}
.deal-screen .sum .v{font-size:var(--text-title)}
.deal-screen .sum .foot{color:var(--ink-2)}
.deal-screen .mv{padding:var(--space-3) var(--space-4); align-items:flex-start}
.deal-screen .mv .t1{font-size:var(--text-caption); color:var(--ink); font-weight:600}
.deal-screen .mv .t2{font-size:var(--text-caption); white-space:normal; overflow-wrap:anywhere;
  line-height:1.5; color:var(--ink-2); margin-top:var(--space-1)}
.deal-screen .mv .st{padding-top:var(--space-1); font-size:var(--text-caption)}
.deal-screen .mv .ic.wait{background:var(--sep-solid); color:var(--ink-2)}
.deal-screen .mv .st.wt{color:var(--ink-2)}
.deal-screen .own{padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4)}
.deal-screen .own .nm{font-size:var(--text-body)}
.deal-screen .own .rl{color:var(--ink-2); font-size:var(--text-caption)}
.deal-screen .tagb,.deal-screen .tagx,.deal-screen .allb{min-height:var(--control-size);
  font-size:var(--text-caption); text-transform:none; letter-spacing:0}
.deal-screen .sec-r{padding-block:var(--space-3) 0; align-items:center}
.deal-screen .allb{color:var(--go-text)}
.deal-screen .ev .tm,.deal-screen .cm .tm{color:var(--ink-3); font-size:var(--text-caption)}
.deal-screen .ev .hl,.deal-screen .cm .hl{flex-wrap:wrap; gap:var(--space-1) var(--space-2)}
.deal-screen .ev .ttl{font-size:var(--text-body)}
.deal-screen .ev .tx,.deal-screen .cm .tx{overflow-wrap:anywhere; color:var(--ink-2)}
.deal-screen .file-t{cursor:default; flex-wrap:wrap; padding:var(--space-3)}
.deal-screen .file-t .fs{flex-basis:100%; font-size:var(--text-caption); color:var(--ink-2); overflow-wrap:anywhere}
.deal-screen .file-t .fn{white-space:normal}
.deal-screen .wr textarea{font-size:var(--text-body); max-height:var(--dock-space); overflow-y:auto}
.deal-screen .wr .snd{width:var(--control-size); height:var(--control-size)}
.deal-screen .wr textarea::placeholder{color:var(--ink-3)}
.note-visibility{margin:var(--space-2) var(--space-5) 0; color:var(--ink-2); font-size:var(--text-caption)}
.deal-error{margin:var(--space-3) var(--gap); padding:var(--space-3); background:var(--stop-tint);
  color:var(--stop); border-radius:var(--r-card); font-size:var(--text-caption)}
.deal-screen .body{padding-bottom:calc(var(--tabbar-height) + var(--dock-space))}
.deal-screen .dock{bottom:var(--tabbar-height); padding:var(--space-3) var(--gap)}
.deal-screen .acts{max-width:calc(var(--content-width) - var(--gap) * 2); margin-inline:auto}
.deal-screen .acts button{padding:var(--space-3); font-size:var(--text-body); min-height:var(--control-size)}
.deal-screen .acts .ghost{flex:0 1 auto; min-width:calc(var(--control-size) * 2); color:var(--ink-2)}
.dock-status{flex:1; align-self:center; text-align:right; color:var(--ink-2); font-size:var(--text-caption)}
@media (hover:hover){
  .sheet-close:hover,.sheet .opt:hover,.deal-screen .mv[role="button"]:hover{background:var(--sep-solid)}
  .act:hover,.chip:hover{transform:none}
}
@media (min-width:900px){
  .sheet{left:auto; width:var(--form-width); max-height:calc(100% - var(--space-6));
    border-radius:var(--r-sheet) 0 0 0}
}
