/* Документы, волна 2: реестр договоров (ct-), кабинет юриста (lw-), конструктор КП (kpb-). Только токены ui.css. */

/* ---------- общее: панель, выбор из поиска, файлы ---------- */
.ct-bar,.lw-bar,.kpb-bar{margin-bottom:10px}
.ct-bar input[type=search],.lw-bar input[type=search]{flex:1 1 260px;width:auto}
.ct-bar select{width:auto;min-width:160px}
.ct-chips,.lw-chips{margin-bottom:12px;gap:6px}
.ct-cnt{opacity:.75;font-variant-numeric:tabular-nums}
.ct-pick{position:relative;min-width:0}
.ct-pick-dd{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;max-height:280px;overflow:auto;background:var(--card-solid);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:4px}
.ct-pick-it{display:block;width:100%;text-align:left;border:0;background:none;color:var(--ink);font:inherit;font-size:13.5px;padding:8px 10px;border-radius:8px;cursor:pointer}
.ct-pick-it:hover{background:var(--fill)}
.ct-pick-none{padding:8px 10px}
.ct-pick-on{display:flex;align-items:center;gap:6px;min-height:var(--tap);padding:4px 4px 4px 12px;border-radius:12px;background:var(--acc-soft);color:var(--acc3);font-weight:600;font-size:13.5px;min-width:0}
.ct-pick-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-file{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line-soft)}
.ct-file a{font-weight:600;word-break:break-word;min-width:0}
.ct-up{margin-top:10px;position:relative;overflow:hidden}
.ct-h,.lw-h,.kpb-h{font-size:13px;font-weight:700;color:var(--ink2);margin:18px 0 8px;text-transform:uppercase;letter-spacing:.05em}

/* ---------- реестр ---------- */
.ct-tbl td:first-child b{white-space:nowrap}
.ct-tbl td.ct-c-t{min-width:180px;max-width:420px;word-break:break-word}
.ct-form .ct-ck{align-self:end;min-height:var(--tap)}
.ct-head{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-start;justify-content:space-between;margin-bottom:10px}
.ct-head-t{min-width:0;flex:1 1 320px;word-break:break-word}
.ct-acts{gap:6px;justify-content:flex-end}
.ct-tabs{margin-top:10px}
.ct-deal{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line-soft);min-width:0}
.ct-deal a{word-break:break-word}
.ct-link{margin-top:8px;align-items:flex-start}
.ct-link-p{flex:1 1 260px;min-width:0}
textarea.ct-body{font-family:ui-serif,Georgia,"Times New Roman",serif;font-size:14.5px;line-height:1.55;min-height:420px}
.ct-terms{display:grid;gap:0 28px;grid-template-columns:repeat(auto-fill,minmax(min(100%,460px),1fr))}
.ct-term{display:grid;grid-template-columns:minmax(120px,200px) minmax(0,1fr);gap:4px 12px;align-items:start;padding:6px 0;border-bottom:1px solid var(--line-soft)}
.ct-term-l{font-size:13px;color:var(--mut);font-weight:600;padding-top:8px}
.ct-term-v{min-width:0}
.ct-term-v input[type=text]{width:100%}
.ct-term-v input[type=date],.ct-term-v select{width:auto;min-width:160px}
.ct-quote{margin-top:4px;font-size:12.5px;color:var(--mut);font-style:italic;border-left:2px solid var(--line2);padding-left:8px;word-break:break-word}
.ct-risk{padding:8px 12px;border-radius:var(--radius-sm);margin-bottom:6px;background:var(--fill);font-size:13.5px}
.ct-risk-high{background:var(--bad-soft)}.ct-risk-high b{color:var(--bad3)}
.ct-risk-mid{background:var(--warn-soft)}.ct-risk-mid b{color:var(--warn3)}
.ct-risk-low b{color:var(--ok3)}
.ct-decide textarea{margin:8px 0}
.ct-appr{padding:7px 0;border-bottom:1px solid var(--line-soft)}
.ct-users{display:flex;flex-direction:column;gap:8px;max-height:44vh;overflow:auto;margin:8px 0 12px}
.ct-log-i{padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:13.5px;word-break:break-word}
.ct-tpl-ed{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px}
.ct-tpl-ed textarea[name=body]{font-family:ui-serif,Georgia,"Times New Roman",serif;font-size:14px;min-height:460px}
.ct-tpl-side{max-height:70vh;overflow:auto;background:var(--card2);border-radius:var(--radius);padding:12px}
.ct-ph{display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;border:0;background:none;color:var(--ink);font:inherit;padding:6px 8px;border-radius:8px;cursor:pointer}
.ct-ph:hover{background:var(--fill)}
.ct-ph code{font-size:12px;color:var(--acc3);word-break:break-all}
textarea.ct-an-text{min-height:240px}

/* ---------- кабинет юриста ---------- */
.lw-list{display:flex;flex-direction:column;gap:8px}
.lw-item{display:block;width:100%;text-align:left;font:inherit;color:var(--ink);background:var(--card-solid);border:1px solid var(--line-soft);border-radius:var(--radius);padding:12px 14px;cursor:pointer;box-shadow:var(--shadow)}
.lw-item:hover{border-color:var(--acc-border)}
.lw-title{min-width:0;word-break:break-word}
.lw-q{margin:6px 0 4px;font-size:13.5px;color:var(--ink2);word-break:break-word}
.lw-head{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:flex-start;margin-bottom:12px}
.lw-head>div:first-child{min-width:0;flex:1 1 300px;word-break:break-word}
.lw-acts{gap:6px}
.lw-thread{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.lw-msg{border-radius:var(--radius);padding:10px 12px;background:var(--fill);max-width:100%}
.lw-msg.lw-answer{background:var(--ok-soft)}
.lw-msg.lw-note{background:var(--violet-soft)}
.lw-text{white-space:pre-wrap;word-break:break-word;margin-top:4px;font-size:13.5px}
.panel.lw-answer{background:var(--card)}
.lw-answer textarea{margin:8px 0}
.lw-draft{display:block;margin:8px 0}
.lw-draft .btn{margin-left:8px}
.lw-more{margin-bottom:6px}
.lw-form textarea{min-height:120px}

/* ---------- конструктор КП ---------- */
.kpb-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.kpb-card{display:flex;flex-direction:column;gap:8px;min-width:0}
.kpb-card-t{font-weight:700;font-size:15px;word-break:break-word}
.kpb-vchips{display:flex;flex-wrap:wrap;gap:4px}
.kpb-vchips .tag{white-space:normal}
.kpb-block{background:var(--card2);border-radius:var(--radius-sm);padding:8px;margin-bottom:8px}
.kpb-block .row{flex-wrap:nowrap;margin-bottom:6px}
.kpb-block input[type=text]{flex:1;min-width:0}
.kpb-var{border:1px solid var(--line);border-radius:var(--radius);padding:10px;margin-bottom:10px}
.kpb-var>.row{margin-bottom:8px}
.kpb-var input.kpb-vname{flex:0 1 200px;width:auto;min-width:120px;font-weight:700}
.kpb-var input.kpb-vnote{flex:1 1 220px;width:auto;min-width:0}
.kpb-vt{white-space:nowrap}
.kpb-lines td{padding:4px 6px}
.kpb-lines td.kpb-c-n{min-width:220px}
.kpb-lines input.kpb-n{width:72px}
.kpb-lines input.kpb-u{width:64px}
.kpb-lines input.kpb-p{width:110px}
.kpb-lines select{width:auto;min-width:96px}
.kpb-var .kpb-prod{width:auto;max-width:100%;flex:0 1 320px}
.kpb-choose{display:flex;flex-direction:column;gap:6px}
.kpb-opt{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer}
.kpb-opt>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.kpb-opt:has(input:checked){border-color:var(--acc);background:var(--acc-soft)}
.kpb-tpl-pick{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;font:inherit;color:var(--ink);background:var(--fill);border:0;border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:6px;cursor:pointer}
.kpb-tpl-pick:hover{background:var(--acc-soft)}

@media(max-width:900px){
  .ct-tpl-ed{grid-template-columns:1fr}
  .ct-tpl-side{max-height:none}
}
@media(max-width:640px){
  .ct-term{grid-template-columns:1fr}
  .ct-term-l{padding-top:0}
  .ct-acts{justify-content:flex-start}
  .ct-bar select{flex:1 1 100%}
  textarea.ct-body{min-height:300px}
}
