/* CRM БДН: поверх brand.css платформи. Лише змінні з brand.css. */
:root{ --r:10px; --gap:12px; --col:290px; --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; }
*{box-sizing:border-box}
html,body{margin:0}
body{font-size:15px; line-height:1.45; min-height:100vh}
a{color:var(--b-blue)}
button,input,select,textarea{font:inherit; color:inherit}
:focus-visible{outline:2px solid var(--b-blue); outline-offset:2px}
.btn{border:0; border-radius:var(--r); padding:10px 16px; background:var(--b-blue); color:#fff; font-weight:600; cursor:pointer}
.btn:disabled{opacity:.5; cursor:default}
.btn.dr{background:transparent; color:var(--b-blue); border:1px solid var(--b-rule)}
.inp{width:100%; border:1px solid var(--b-rule); border-radius:var(--r); padding:9px 11px; background:var(--b-card)}
textarea.inp{resize:vertical; min-height:42px}
.top{display:flex; align-items:center; gap:var(--s3); padding:var(--s3) var(--s4); background:var(--b-card); border-bottom:1px solid var(--b-rule); position:sticky; top:0; z-index:5; flex-wrap:wrap}
.top .brand{font:600 12px var(--b-mono); letter-spacing:.1em; white-space:nowrap}
.top .grow{flex:1}
.top select,.top input{max-width:240px}
.mute{color:var(--b-ink-60)}
.mono{font-family:var(--b-mono)}
.toast{position:fixed; left:50%; bottom:20px; transform:translateX(-50%); background:var(--b-ink); color:#fff; padding:10px 16px; border-radius:var(--r); z-index:50; max-width:90vw}
.toast.err{background:var(--b-stamp)}
.empty{padding:var(--s5); text-align:center; color:var(--b-ink-60)}
.skel{background:linear-gradient(90deg, var(--b-rule), transparent, var(--b-rule)); background-size:200% 100%; animation:sk 1.2s infinite; border-radius:var(--r); height:62px; margin-bottom:var(--s2); opacity:.5}
@keyframes sk{to{background-position:-200% 0}}
/* канбан */
.board{display:flex; gap:var(--gap); padding:var(--s4); overflow-x:auto; align-items:flex-start; min-height:calc(100vh - 70px); scroll-snap-type:x proximity}
.col{flex:0 0 var(--col); background:rgba(18,20,23,.04); border-radius:var(--r); display:flex; flex-direction:column; max-height:calc(100vh - 100px); scroll-snap-align:start}
.col h3{margin:0; padding:var(--s3); font-size:13px; font-weight:600; display:flex; justify-content:space-between; gap:var(--s2); border-top:4px solid var(--c, var(--b-rule)); border-radius:var(--r) var(--r) 0 0}
.col h3 .n{font-family:var(--b-mono); color:var(--b-ink-60)}
.col .list{overflow-y:auto; padding:0 var(--s2) var(--s2); min-height:40px; flex:1}
.col.over{outline:2px dashed var(--b-blue)}
.card{display:block; background:var(--b-card); border:1px solid var(--b-rule); border-radius:var(--r); padding:var(--s2) var(--s3); margin-bottom:var(--s2); text-decoration:none; color:inherit; cursor:grab; overflow-wrap:anywhere}
.card:hover{border-color:var(--b-blue)}
.card .t{font-weight:600}
.card .m{font-size:12px; color:var(--b-ink-60); display:flex; justify-content:space-between; gap:var(--s2); margin-top:2px}
.card.drag{opacity:.4}
@media (max-width:600px){ :root{--col:86vw} .board{padding:var(--s3)} .top select,.top input{max-width:none; flex:1 1 40%} }
/* картка угоди */
.wrap{max-width:1180px; margin:0 auto; padding:var(--s4); display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:var(--s5)}
@media (max-width:900px){ .wrap{grid-template-columns:1fr} }
.head h1{font-size:22px; margin:0 0 var(--s2); overflow-wrap:anywhere}
.head .row{display:flex; gap:var(--s2); flex-wrap:wrap; align-items:center}
.box{background:var(--b-card); border:1px solid var(--b-rule); border-radius:var(--r); padding:var(--s4); margin-bottom:var(--s4)}
.box h2{font-size:14px; margin:0 0 var(--s3)}
.f{margin-bottom:var(--s3)}
.f label{display:block; font-size:12.5px; color:var(--b-ink-60); margin-bottom:3px}
.f .tag{font-size:11px; font-family:var(--b-mono); color:var(--b-warn); margin-left:6px}
.f.saved .inp{border-color:var(--b-ok)}
.f.bad .inp{border-color:var(--b-stamp)}
.chk{display:flex; gap:6px; align-items:flex-start; font-size:14px; margin:3px 0}
.ev{border-top:1px solid var(--b-rule); padding:var(--s2) 0; white-space:pre-wrap; overflow-wrap:anywhere}
.ev .who{font-size:12px; color:var(--b-ink-60)}
.ev.sys{font-size:13px; color:var(--b-ink-60)}
.login{max-width:360px; margin:12vh auto; padding:var(--s4)}
.login h1{font-size:22px}
.login .f{margin-bottom:var(--s3)}
.err{color:var(--b-stamp)}
/* картка угоди у вікні над дошкою (власник 24.10.2026) */
.f.changed .inp, .f.changed [data-kilka]{border-color:var(--b-warn); box-shadow:0 0 0 1px var(--b-warn)}
.wrap .u-main, .wrap .u-side{min-width:0}
.wrap{display:grid}
.drawer-bg{position:fixed; inset:0; background:rgba(18,20,23,.35); z-index:20}
.drawer{position:fixed; top:0; right:0; bottom:0; width:min(1100px, 78vw); background:var(--b-paper); z-index:21; display:flex; flex-direction:column; box-shadow:-8px 0 30px rgba(18,20,23,.18); animation:slide .18s ease-out}
@keyframes slide{from{transform:translateX(40px); opacity:.4}}
.drawer .bar{display:flex; gap:var(--s2); align-items:center; padding:var(--s3) var(--s4); border-bottom:1px solid var(--b-rule); background:var(--b-card)}
.drawer .bar .t{flex:1; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.drawer .body{overflow-y:auto; flex:1; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:var(--s4); padding:var(--s4); align-content:start}
@media (max-width:900px){ .drawer{width:100vw} .drawer .body{grid-template-columns:1fr} }
.ev .file{display:inline-block; margin-top:4px; font-weight:600}
dialog.ask{border:0; border-radius:var(--r); padding:var(--s5); max-width:360px; box-shadow:0 10px 40px rgba(18,20,23,.3)}
dialog.ask::backdrop{background:rgba(18,20,23,.4)}
dialog.ask .row{display:flex; gap:var(--s2); flex-wrap:wrap; margin-top:var(--s4)}
/* розмова Telegram і нові повідомлення (власник 24.10.2026) */
.card.has-new{border-color:var(--b-blue); box-shadow:0 0 0 1px var(--b-blue)}
.card .new{background:var(--b-blue); color:#fff; font-size:12.5px; font-weight:600; border-radius:6px; padding:4px 8px; margin:-2px -6px 6px; overflow-wrap:anywhere}
.chatbox .u-chat{display:flex; flex-direction:column}
.chat-h{font-size:14px; margin-bottom:var(--s2); overflow-wrap:anywhere}
.lnk{background:none; border:0; color:var(--b-blue); cursor:pointer; padding:0; font-size:13px}
.msgs{max-height:55vh; min-height:120px; overflow-y:auto; display:flex; flex-direction:column; gap:6px; padding:var(--s2); background:var(--b-paper); border-radius:var(--r); border:1px solid var(--b-rule)}
.msgs .older{align-self:center; margin-bottom:6px}
.msg{max-width:85%; padding:6px 10px; border-radius:12px; overflow-wrap:anywhere; white-space:pre-wrap}
.msg.in{align-self:flex-start; background:var(--b-card); border:1px solid var(--b-rule); border-bottom-left-radius:4px}
.msg.out{align-self:flex-end; background:var(--accent-bg); border:1px solid rgba(15,79,209,.25); border-bottom-right-radius:4px}
.msg .tm{font-size:11px; color:var(--b-ink-60); margin-top:2px; text-align:right}
.msg .pic{max-width:100%; max-height:260px; border-radius:8px; display:block}
.msg audio{max-width:100%}
.reply{display:flex; gap:var(--s2); margin-top:var(--s2); align-items:flex-end}
.reply textarea{flex:1}
.sr{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0)}
.chlist{margin-top:var(--s2); max-height:320px; overflow-y:auto}
.chi{display:block; width:100%; text-align:left; background:var(--b-card); border:1px solid var(--b-rule); border-radius:8px; padding:8px 10px; margin-bottom:6px; cursor:pointer}
.chi:hover{border-color:var(--b-blue)}
/* меню ліворуч */
:root{ --side:200px }
html.menu-vuzke{ --side:56px }
body{padding-left:var(--side); transition:padding-left .15s}
.side{position:fixed; left:0; top:0; bottom:0; width:var(--side); background:var(--b-ink); color:#fff; z-index:30; display:flex; flex-direction:column; gap:2px; padding:8px; transition:width .15s; overflow:hidden}
.side-t{background:none; border:0; color:#fff; font-size:20px; text-align:left; padding:6px 10px; cursor:pointer; margin-bottom:8px}
.side a{display:flex; align-items:center; gap:10px; color:#fff; text-decoration:none; padding:9px 10px; border-radius:8px; white-space:nowrap; font-weight:500}
.side a:hover{background:rgba(255,255,255,.1)}
.side a.on{background:var(--b-blue)}
.side .i{width:20px; text-align:center; flex:0 0 20px}
.side .b:not(:empty){margin-left:auto; background:var(--b-stamp); color:#fff; border-radius:10px; font-size:11px; padding:1px 7px; font-weight:700}
html.menu-vuzke .side .l{display:none}
html.menu-vuzke .side .b:not(:empty){position:absolute; left:32px; margin-top:-16px; padding:0 5px}
.side-m{display:none; background:none; border:1px solid var(--b-rule); border-radius:8px; font-size:18px; padding:4px 10px; cursor:pointer}
.drawer-bg{left:var(--side)}
@media (max-width:700px){
  body{padding-left:0}
  .side{width:220px; transform:translateX(-100%); transition:transform .15s}
  html.menu-vidkryte .side{transform:none; box-shadow:4px 0 20px rgba(0,0,0,.3)}
  html.menu-vuzke .side .l{display:inline}
  .side-m{display:inline-block}
  .drawer-bg{left:0}
}
/* контакти */
.clist{max-width:1000px; margin:0 auto; padding:var(--s4)}
.crow{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px var(--s3); width:100%; text-align:left; background:var(--b-card); border:1px solid var(--b-rule); border-radius:var(--r); padding:10px 14px; margin-bottom:8px; cursor:pointer; color:inherit}
.crow:hover{border-color:var(--b-blue)}
.crow.has-new{border-color:var(--b-blue); box-shadow:0 0 0 1px var(--b-blue)}
.crow .nm{font-weight:600; overflow-wrap:anywhere}
.crow .lt{grid-column:1/-1; font-size:13px; color:var(--b-ink-60); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.crow .dt{font-size:12px; color:var(--b-ink-60); text-align:right}
.crow .nb{background:var(--b-blue); color:#fff; border-radius:10px; font-size:12px; font-weight:700; padding:1px 8px; margin-left:6px}
.dl{list-style:none; padding:0; margin:0}
.dl li{border-top:1px solid var(--b-rule); padding:8px 0}
/* закриті угоди одним списком */
.board.as-list{display:block; overflow:visible; min-height:0}
.ulist{max-width:1000px; margin:0 auto}
a.crow{text-decoration:none}
.reply .clip{padding:10px 12px; cursor:pointer; align-self:stretch; display:flex; align-items:center}
.att{display:flex; flex-wrap:wrap; gap:6px; margin-top:6px}
.att:empty{display:none}
.chip{background:var(--accent-bg); border:1px solid var(--b-rule); border-radius:14px; padding:3px 10px; font-size:13px; overflow-wrap:anywhere}
.chip.load{opacity:.7}

/* ── Оформлення в стилі «дашборд» (власник 24.10.2026, приклад Marketing Growth Dashboard):
   світле холодне тло, білі картки з мʼякою тінню, округлення 14, світле меню з синім активним пунктом. */
:root{
  --d-bg:#F3F5F9; --d-card:#FFFFFF; --d-line:#E6E9F0; --d-ink:#1B2333; --d-mute:#6B7487;
  --d-blue:var(--b-blue); --d-blue-soft:#EAF0FD; --d-green:#16A34A; --d-red:#DC2626; --d-amber:#D97706;
  --d-shadow:0 1px 2px rgba(16,24,40,.04), 0 4px 16px rgba(16,24,40,.06);
  --r:14px;
}
html body{background:var(--d-bg) !important; color:var(--d-ink)}
.mute{color:var(--d-mute)}
.top{background:var(--d-card); border-bottom:1px solid var(--d-line); box-shadow:0 1px 0 rgba(16,24,40,.02)}
.top .brand{color:var(--d-ink)}
.inp{border-color:var(--d-line); border-radius:10px; background:var(--d-card)}
.inp:focus{border-color:var(--d-blue); outline:none; box-shadow:0 0 0 3px var(--d-blue-soft)}
.btn{border-radius:10px}
.btn.dr{border-color:var(--d-line); background:var(--d-card)}
.box{background:var(--d-card); border:1px solid var(--d-line); border-radius:var(--r); box-shadow:var(--d-shadow)}
.box h2{font-family:var(--b-sans) !important; text-transform:none !important; font-size:15px; font-weight:700; letter-spacing:0}

/* меню — світле */
.side{background:var(--d-card); color:var(--d-ink); border-right:1px solid var(--d-line); box-shadow:none}
.side-t{color:var(--d-ink)}
.side a{color:var(--d-ink)}
.side a:hover{background:var(--d-bg)}
.side a.on{background:var(--d-blue-soft); color:var(--d-blue); font-weight:700}

/* підсумок над дошкою */
.kpi{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:var(--gap); padding:var(--s4) var(--s4) 0}
.kpi:empty{display:none}
.kpi .k{background:var(--d-card); border:1px solid var(--d-line); border-radius:var(--r); box-shadow:var(--d-shadow); padding:14px 16px; display:flex; flex-direction:column; gap:2px; min-width:0}
.kpi .kl{font-size:13px; color:var(--d-mute); font-weight:600}
.kpi b{font-size:26px; line-height:1.2; letter-spacing:-.01em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.kpi .ks{font-size:12px; color:var(--d-mute)}
.kpi .k.hot b{color:var(--d-blue)}
@media (max-width:900px){ .kpi{grid-template-columns:repeat(2, minmax(0,1fr))} .kpi b{font-size:20px} }

/* дошка */
.board{min-height:calc(100vh - 170px)}
.col{background:transparent; max-height:calc(100vh - 200px)}
.col h3{background:var(--d-card); border:1px solid var(--d-line); border-top:4px solid var(--c, var(--d-line)); border-bottom:0; border-radius:var(--r) var(--r) 0 0; font-family:var(--b-sans)}
.col .sum{background:var(--d-card); border:1px solid var(--d-line); border-top:0; border-radius:0 0 var(--r) var(--r); padding:0 var(--s3) 10px; font-weight:700; font-size:15px; margin-bottom:var(--s2); box-shadow:var(--d-shadow)}
.col .list{padding:0 2px var(--s2)}
.card{border-color:var(--d-line); border-radius:12px; box-shadow:var(--d-shadow); padding:10px 12px}
.card:hover{border-color:var(--d-blue); box-shadow:0 4px 18px rgba(15,79,209,.12)}
.card .m{color:var(--d-mute)}
.money{color:var(--d-ink); font-weight:700; font-size:13.5px}
.card .new{border-radius:8px}
.crow{border-color:var(--d-line); border-radius:12px; box-shadow:var(--d-shadow)}
.ulist{padding-top:var(--s2)}

/* вікно угоди */
.drawer{background:var(--d-bg)}
.drawer .bar{background:var(--d-card); border-bottom-color:var(--d-line)}
.head h1{font-family:var(--b-sans) !important; text-transform:none !important; font-size:22px; font-weight:700}
.changed-inp{border-color:var(--b-warn) !important; box-shadow:0 0 0 1px var(--b-warn)}
.msgs{background:var(--d-bg); border-color:var(--d-line)}
.msg.in{border-color:var(--d-line)}
.msg.out{background:var(--d-blue-soft); border-color:#C9D7F8}

/* власник 24.10.2026: плитки підсумку втричі нижчі — в один рядок; вартість у картці — справа внизу, синім */
.kpi .k{flex-direction:row; align-items:baseline; gap:8px; padding:6px 12px}
.kpi .kl{font-size:12.5px; white-space:nowrap}
.kpi b{font-size:16px; margin-left:auto}
.kpi .ks{display:none}
.kpi{padding-top:var(--s3)}
.card .money-r{display:flex; justify-content:flex-end; margin-top:4px}
.card .money{color:var(--d-blue); font-size:14px}
/* шапка угоди: підписи над значеннями, сітка */
.head .meta{margin:0 0 var(--s3); font-size:13px}
.hgrid{display:grid; grid-template-columns:minmax(0,2.4fr) minmax(0,1.1fr) minmax(0,.9fr) minmax(0,1.4fr); gap:var(--s3); align-items:end}
.hf{display:flex; flex-direction:column; gap:4px; min-width:0}
.hf label, .hf .hl{font-size:12.5px; color:var(--d-mute); font-weight:600}
.hf .hv{min-height:42px; display:flex; align-items:center; font-weight:600; overflow-wrap:anywhere}
.hf #u_suma{font-weight:700; color:var(--d-blue)}
@media (max-width:700px){ .hgrid{grid-template-columns:1fr 1fr} }

/* верхній рядок: на ~15% нижчий і контрастний — темний на світлому тлі (власник 24.10.2026) */
.top{padding:7px var(--s4); gap:10px; background:var(--d-ink); border-bottom:0; box-shadow:0 2px 10px rgba(16,24,40,.18)}
.top .brand{color:#fff}
.top .inp{padding:7px 10px; background:#fff; border-color:transparent}
.top .mute{color:rgba(255,255,255,.75)}
.top .btn{padding:8px 14px}
.top .btn.dr{background:transparent; color:#fff; border-color:rgba(255,255,255,.35)}
.top .btn.dr:hover{border-color:#fff}
.top .btn.chk{background:var(--b-marker); color:var(--d-ink); white-space:nowrap}
.top .side-m{color:#fff; border-color:rgba(255,255,255,.35)}
/* вікно «Перевірка клієнта» поверх CRM */
.pv-bg{position:fixed; inset:0; background:rgba(16,24,40,.45); z-index:40}
.pv{position:fixed; z-index:41; top:4vh; left:50%; transform:translateX(-50%); width:min(760px, 96vw); height:92vh; background:var(--d-card); border-radius:var(--r); box-shadow:0 20px 60px rgba(16,24,40,.35); display:flex; flex-direction:column; overflow:hidden}
.pv .bar{display:flex; align-items:center; gap:var(--s2); padding:10px 14px; border-bottom:1px solid var(--d-line)}
.pv .bar .t{flex:1; font-weight:700}
.pv iframe{flex:1; border:0; width:100%; background:var(--b-paper)}
@media (max-width:700px){ .pv{top:0; height:100vh; width:100vw; border-radius:0} }

/* смуга підсумків під верхнім рядком — на кілька тонів світліша за нього (власник 24.10.2026) */
:root{ --d-ink2:#2E3A52; --d-ink3:#3A4864 }
.kpi{background:var(--d-ink2); padding:8px var(--s4); gap:10px}
.kpi .k{background:var(--d-ink3); border-color:transparent; box-shadow:none}
.kpi .kl{color:rgba(255,255,255,.72)}
.kpi b{color:#fff}
.kpi .k.hot{background:var(--b-blue)}
.kpi .k.hot b{color:#fff}
/* власник 24.10.2026: смуга підсумків — ще на кілька тонів світліша */
:root{ --d-ink2:#4A5A7C; --d-ink3:#5A6B8F }
.kpi .kl{color:rgba(255,255,255,.8)}
.btn.chk{background:var(--b-marker); color:var(--d-ink)}
/* верхній рядок — в один рядок на компʼютері, поля стискаються */
@media (min-width:901px){
  .top{flex-wrap:nowrap}
  .top select.inp{flex:0 1 190px; min-width:120px}
  .top input[type=search]{flex:1 1 240px; min-width:140px; max-width:360px}
  .top .grow{flex:1 1 0}
  .top #me{white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:180px}
}
/* контакти: список ліворуч; відкритий контакт — розмова праворуч на ¾ ширини (власник 24.10.2026) */
.kwrap{display:grid; grid-template-columns:minmax(0,760px); gap:var(--s4); padding:var(--s4); align-items:start}
.kwrap .clist{max-width:none; margin:0; padding:0}
.kwrap.split{grid-template-columns:minmax(0,1fr) minmax(0,3fr)}
.kwrap.split .clist{max-height:calc(100vh - 90px); overflow-y:auto; padding-right:4px}
.kwrap.split .crow{grid-template-columns:minmax(0,1fr)}
.kwrap.split .crow .dt{text-align:left}
.crow.on{border-color:var(--d-blue); background:var(--d-blue-soft)}
.kpane{background:var(--d-card); border:1px solid var(--d-line); border-radius:var(--r); box-shadow:var(--d-shadow); display:flex; flex-direction:column; height:calc(100vh - 90px); position:sticky; top:70px; overflow:hidden}
.kbar{display:flex; gap:var(--s3); align-items:center; padding:12px 16px; border-bottom:1px solid var(--d-line)}
.kbar .kt{flex:1; min-width:0}
.kbar .kt b{font-size:16px}
.kbar .kt .mute{font-size:13px; overflow-wrap:anywhere}
.kback{display:none}
.kchat{flex:1; display:flex; flex-direction:column; padding:var(--s3) 16px 16px; min-height:0}
.kchat .msgs{flex:1; max-height:none}
@media (max-width:900px){
  .kwrap.split{grid-template-columns:1fr}
  .kwrap.split .clist{display:none}
  .kback{display:inline-block}
  .kpane{height:calc(100vh - 80px); top:60px}
}
.kchat .chat-h{display:none}   /* імʼя вже в шапці розмови */
.kbar .btn{white-space:nowrap}
.kdo{padding:10px 16px; border-bottom:1px solid var(--d-line); background:var(--d-bg)}
.kdo .row{display:flex; gap:8px; align-items:center}
.kdo .row .inp{flex:1}
.do-list{max-height:260px; overflow-y:auto; margin-top:8px}
@media (max-width:900px){ .kbar{flex-wrap:wrap} }
/* меню ⋯ на угоді */
.card, .crow{position:relative}
.dots{position:absolute; top:4px; right:4px; border:0; background:transparent; color:var(--d-mute); font-size:18px; line-height:1; padding:2px 7px; border-radius:8px; cursor:pointer; z-index:2}
.dots:hover, .dots:focus-visible{background:var(--d-bg); color:var(--d-ink)}
.card .t{padding-right:22px}
.crow .dt{padding-right:24px}
.card .new{margin-right:20px}
.menu{position:fixed; z-index:60; background:var(--d-card); border:1px solid var(--d-line); border-radius:12px; box-shadow:0 10px 30px rgba(16,24,40,.18); padding:6px; min-width:190px}
.menu button{display:block; width:100%; text-align:left; background:none; border:0; padding:9px 12px; border-radius:8px; cursor:pointer; font-size:14px}
.menu button:hover, .menu button:focus-visible{background:var(--d-bg)}
.menu .danger{color:var(--d-red)}

/* три рівні вгорі — три сходинки (власник 24.10.2026): темний рядок → смуга підсумків світліша →
   заголовки етапів ще на кілька тонів світліші й вужчі; між рівнями — чітка лінія */
:root{ --d-ink4:#7083A8 }
.top{border-bottom:2px solid #8FA0C4}
.kpi{border-bottom:2px solid #A9B7D6; padding:6px var(--s4)}
.col h3{background:var(--d-ink4); color:#fff; border:0; border-top:3px solid var(--c, transparent); border-radius:10px;
  padding:6px 10px; font-size:13px; align-items:center; gap:8px; box-shadow:none; margin-bottom:var(--s2)}
.col h3 .en{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.col h3 .n{color:rgba(255,255,255,.8); font-family:var(--b-mono)}
.col h3 .es{font-weight:700; white-space:nowrap; padding-left:8px; border-left:1px solid rgba(255,255,255,.35)}
.col .sum{display:none}
.col h3 + .list{padding-top:2px}
/* дублі */
.dlist{max-width:900px; margin:0; padding:var(--s4)}
.dg .why{font-size:13px; font-weight:700; color:var(--d-amber); margin-bottom:8px}
.du{display:flex; gap:10px; align-items:flex-start; padding:8px 0; border-top:1px solid var(--d-line); cursor:pointer}
.du input{margin-top:4px}
.dg .row{display:flex; gap:8px; flex-wrap:wrap; margin-top:10px}
/* шапка угоди: справа — сума авансу і % від гранту; контакт — посилання до розмови */
.htop{display:flex; gap:var(--s4); align-items:flex-start; justify-content:space-between; margin-bottom:var(--s3)}
.hleft{min-width:0; flex:1}
.hleft .meta{margin-bottom:4px}
.hright{display:flex; gap:var(--s3); flex:0 0 auto}
.hright .hf{width:150px}
.hright select.pct{font-weight:700; color:var(--d-blue)}
.lnk.kontakt{font-weight:600; font-size:14px; text-align:left}
.card .lnk.kontakt{font-size:13px; padding:0; color:var(--d-blue)}
@media (max-width:700px){ .htop{flex-direction:column} .hright{width:100%} .hright .hf{flex:1; width:auto} }
.hf .formula{font-size:11.5px; color:var(--d-mute); line-height:1.3}
.hf .formula .warn{color:var(--d-amber); font-weight:600}
.hf input[readonly]{background:var(--d-bg)}
