:root{
  --bg:#F7F7F5; --panel:#FFFFFF; --sub:#FAFAF9; --line:#E7E6E3; --line2:#EFEEEB;
  --text:#1D1E21; --mut:#6B6E76; --faint:#9A9CA3;
  --acc:#5B5BD6; --acc-bg:#EEEEFC; --acc-d:#4747C2;
  --red:#D93F3F; --red-bg:#FDEEEE; --amber:#C77A0A; --amber-bg:#FDF4E3;
  --green:#1F8A4C; --green-bg:#E8F6EE; --blue:#2F6FEB; --blue-bg:#EAF1FE;
  --r:8px; --sh:0 1px 2px rgba(16,17,20,.05); --sh2:0 12px 40px -12px rgba(16,17,20,.25);
  --font:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:var(--font);font-size:13.5px;line-height:1.45;color:var(--text);background:var(--bg);
  -webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--acc);text-decoration:none}
[hidden]{display:none!important}
kbd{font-family:var(--font);font-size:11px;padding:1px 5px;border:1px solid rgba(255,255,255,.35);border-radius:4px;opacity:.8}

/* кнопки и поля */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border-radius:7px;
  border:1px solid var(--line);background:var(--panel);cursor:pointer;font-weight:500;white-space:nowrap;box-shadow:var(--sh);
  transition:background .12s,border-color .12s}
.btn:hover{background:var(--sub);border-color:#D9D8D4}
.btn--primary{background:var(--acc);border-color:var(--acc);color:#fff}
.btn--primary:hover{background:var(--acc-d);border-color:var(--acc-d)}
.btn--ghost{border-color:transparent;background:transparent;box-shadow:none}
.btn--ghost:hover{background:#EFEFEC}
.btn--sm{height:26px;padding:0 9px;font-size:12.5px;border-radius:6px}
.btn--danger{color:var(--red)}
.btn[disabled]{opacity:.5;cursor:default}
.inp,select.inp,textarea.inp{width:100%;height:32px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:var(--panel);outline:none}
textarea.inp{height:auto;padding:8px 10px;resize:vertical;line-height:1.45}
.inp:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-bg)}
.lbl{display:block;font-size:12px;color:var(--mut);margin:0 0 4px;font-weight:500}

/* вход */
.login{min-height:100vh;display:grid;place-items:center;padding:16px}
.login__box{width:min(360px,100%);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:28px;display:grid;gap:14px;box-shadow:var(--sh2)}
.login__box label{display:grid;gap:5px;font-size:12.5px;color:var(--mut);font-weight:500}
.login__box input{height:36px;padding:0 10px;border:1px solid var(--line);border-radius:7px;outline:none;color:var(--text)}
.login__box input:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-bg)}
.login__box .btn{height:36px}
.login__err{margin:0;color:var(--red);min-height:18px;font-size:12.5px}

/* каркас */
.app{display:grid;grid-template-columns:216px 1fr;height:100vh}
.side{background:var(--sub);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:14px 10px;gap:14px}
.logo{display:flex;align-items:center;gap:9px;font-weight:700;font-size:13.5px;letter-spacing:.02em;padding:2px 6px}
.logo__mark{width:24px;height:24px;border-radius:6px;background:var(--acc);color:#fff;display:grid;place-items:center;font-size:13px}
.nav{display:grid;gap:1px}
.nav a{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:6px;color:var(--text);font-weight:500}
.nav a svg{width:15px;height:15px;fill:currentColor;color:var(--mut);flex:0 0 auto}
.nav a:hover{background:#EDEDEA}
.nav a.on{background:#E9E9FB;color:var(--acc-d)}
.nav a.on svg{color:var(--acc)}
.nav__badge{margin-left:auto;background:var(--red);color:#fff;font-size:11px;min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center;padding:0 5px}
.side__new{margin-top:auto;height:34px}
.side__clock{font-size:12px;color:var(--mut);padding:0 6px;line-height:1.5}
.side__me{font-size:12px;color:var(--mut);padding:8px 6px 0;line-height:1.45;border-top:1px solid var(--line2);margin-top:6px}
.side__me b{color:var(--text);font-weight:600}
.side__me button{background:none;border:0;padding:0;color:var(--acc);cursor:pointer;font:inherit}
.cb-who-op{font-weight:600;color:var(--acc-d)}
.side__clock b{color:var(--text);font-weight:600}
.main{overflow:auto;min-width:0;display:flex;flex-direction:column}

.top{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:0;z-index:5;flex-wrap:wrap}
.top h1{font-size:15px;margin:0 8px 0 0;font-weight:600}
.top__search{width:260px;max-width:100%}
.top__sp{flex:1}
.chips{display:flex;gap:4px;flex-wrap:wrap}
.chip{height:26px;padding:0 10px;border-radius:13px;border:1px solid var(--line);background:var(--panel);cursor:pointer;font-size:12.5px;color:var(--mut);font-weight:500}
.chip.on{background:var(--text);border-color:var(--text);color:#fff}

/* канбан */
.board{display:flex;gap:10px;padding:14px 20px 20px;overflow-x:auto;flex:1;align-items:flex-start;min-height:0}
.col{flex:0 0 272px;background:#F0F0ED;border-radius:10px;display:flex;flex-direction:column;max-height:calc(100vh - 92px)}
.col__head{display:flex;align-items:center;gap:7px;padding:10px 12px 8px;font-weight:600;font-size:12.5px}
.col__head .n{color:var(--mut);font-weight:500}
.col__head .sum{margin-left:auto;color:var(--mut);font-weight:500;font-size:12px}
.dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:var(--faint)}
.col__body{padding:2px 8px 10px;overflow-y:auto;display:grid;gap:7px;align-content:start;min-height:60px;border-radius:0 0 10px 10px;transition:background .12s}
.col.drop .col__body{background:#E4E4F8}
.col__empty{color:var(--faint);font-size:12px;text-align:center;padding:14px 0}

.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px 11px;cursor:pointer;box-shadow:var(--sh);display:grid;gap:5px;position:relative}
.card:hover{border-color:#D3D2CE}
.card.dragging{opacity:.4}
.card.hot{border-color:#F2B4B4;box-shadow:0 0 0 3px var(--red-bg)}
.card__top{display:flex;align-items:baseline;gap:8px}
.card__name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card__time{margin-left:auto;color:var(--faint);font-size:12px;white-space:nowrap}
.card__contact{color:var(--mut);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card__task{color:var(--mut);font-size:12.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card__foot{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:2px}
.card__amount{margin-left:auto;font-weight:600;font-size:12.5px}
.tag{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border-radius:5px;background:#F1F1EE;color:var(--mut);font-size:11.5px;font-weight:500;white-space:nowrap}
.tag--direct{background:#FFF4D6;color:#8A5A00}
.tag--search{background:var(--blue-bg);color:var(--blue)}
.tag--telegram{background:#E6F4FB;color:#1C7DB1}
.tag--red{background:var(--red-bg);color:var(--red)}
.tag--amber{background:var(--amber-bg);color:var(--amber)}
.tag--green{background:var(--green-bg);color:var(--green)}
.tag--acc{background:var(--acc-bg);color:var(--acc-d)}

.dropbar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:10px;z-index:30}
.dropbar div{padding:14px 26px;border-radius:10px;border:2px dashed #C9C8C3;background:var(--panel);font-weight:600;color:var(--mut);box-shadow:var(--sh2)}
.dropbar div.drop{border-color:var(--red);color:var(--red);background:var(--red-bg)}

/* списки */
.page{padding:18px 20px 40px;display:grid;gap:18px;max-width:1180px;width:100%}
.sect h2{font-size:13px;margin:0 0 8px;font-weight:600;display:flex;align-items:center;gap:8px}
.sect h2 .n{color:var(--mut);font-weight:500}
.list{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.row{display:grid;grid-template-columns:92px minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.6fr) auto;gap:12px;align-items:center;padding:10px 14px;border-top:1px solid var(--line2);cursor:pointer}
.row:first-child{border-top:0}
.row:hover{background:var(--sub)}
.row__when{font-weight:600;font-variant-numeric:tabular-nums}
.row__when.late{color:var(--red)}
.row__name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row__mut{color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.empty{padding:22px;text-align:center;color:var(--faint);background:var(--panel);border:1px dashed var(--line);border-radius:10px}

/* карточка заявки */
.drawer{position:fixed;inset:0;z-index:40}
.drawer__shade{position:absolute;inset:0;background:rgba(20,20,24,.28)}
.drawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(1120px,100vw);background:var(--panel);box-shadow:var(--sh2);
  display:grid;grid-template-columns:minmax(0,1fr) 400px;animation:slide .16s ease-out}
@keyframes slide{from{transform:translateX(24px);opacity:.6}}
.lead{overflow-y:auto;display:flex;flex-direction:column;min-width:0}
.lead__head{padding:16px 20px 12px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:3}
.lead__row1{display:flex;align-items:center;gap:10px}
.lead__name{font-size:18px;font-weight:650;border:1px solid transparent;border-radius:6px;padding:2px 6px;margin-left:-7px;outline:none;min-width:0;flex:1;background:transparent}
.lead__name:hover{border-color:var(--line)}
.lead__name:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-bg)}
.lead__meta{color:var(--mut);font-size:12.5px;margin-top:4px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.stage-sel{height:30px;border-radius:15px;padding:0 28px 0 12px;font-weight:600;font-size:12.5px;border:1px solid var(--line);background:var(--sub);cursor:pointer;
  appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236B6E76' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center}
.lead__body{padding:16px 20px 30px;display:grid;gap:18px}
.contact{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.contact__phone{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;margin-right:4px}
.box{border:1px solid var(--line);border-radius:10px;padding:14px;display:grid;gap:10px}
.box--call{background:linear-gradient(180deg,#FAFAFF,#fff);border-color:#DDDDF6}
.box h3{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);font-weight:600;display:flex;align-items:center;gap:8px}
.outcomes{display:flex;flex-wrap:wrap;gap:6px}
.outcomes .btn{height:30px}
.o-ok{color:var(--green)} .o-no{color:var(--amber)} .o-cb{color:var(--acc-d)} .o-wr{color:var(--red)}
.warn{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 12px;border-radius:8px;background:var(--amber-bg);color:#7A4B05;font-size:12.5px}
.cbline{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:9px 12px;border-radius:8px;background:var(--acc-bg);color:var(--acc-d);font-weight:500}
.cbline.late{background:var(--red-bg);color:var(--red)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.grid2 .full{grid-column:1/-1}
.src{display:grid;grid-template-columns:130px 1fr;gap:5px 10px;font-size:12.5px}
.src dt{color:var(--mut)} .src dd{margin:0;word-break:break-word}
.tl{display:grid;gap:0}
.ev{display:grid;grid-template-columns:22px 1fr;gap:8px;padding:8px 0;border-top:1px solid var(--line2)}
.ev:first-child{border-top:0}
.ev__ico{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;background:#F0F0ED;color:var(--mut)}
.ev__head{font-size:12.5px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.ev__head b{font-weight:600}
.ev__at{color:var(--faint);font-size:12px;margin-left:auto}
.ev__text{white-space:pre-wrap;margin-top:3px;font-size:13px}
.ev__del{opacity:0;border:0;background:none;color:var(--faint);cursor:pointer;font-size:12px}
.ev:hover .ev__del{opacity:1}

/* ИИ */
.ai{border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0;background:var(--sub)}
.ai__head{padding:14px 16px 10px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}
.ai__head b{font-size:13px}
.ai__head .btn{margin-left:auto}
.ai__actions{display:flex;flex-wrap:wrap;gap:5px;padding:10px 16px;border-bottom:1px solid var(--line)}
.ai__msgs{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.msg{max-width:92%;padding:9px 12px;border-radius:10px;font-size:13px;line-height:1.5;word-wrap:break-word}
.msg--user{align-self:flex-end;background:var(--acc);color:#fff;border-bottom-right-radius:3px;white-space:pre-wrap}
.msg--ai{align-self:flex-start;background:var(--panel);border:1px solid var(--line);border-bottom-left-radius:3px}
.msg--ai p{margin:0 0 7px} .msg--ai p:last-child{margin:0}
.msg--ai ul{margin:0 0 7px;padding-left:18px} .msg--ai li{margin:2px 0}
.msg--err{align-self:flex-start;background:var(--red-bg);color:var(--red)}
.msg__tools{display:flex;gap:4px;margin-top:6px}
.prop{align-self:stretch;background:var(--panel);border:1px solid #CFCFF3;border-radius:10px;padding:10px 12px;font-size:12.5px;display:grid;gap:8px}
.prop dl{display:grid;grid-template-columns:110px 1fr;gap:4px 10px;margin:0}
.prop dt{color:var(--mut)} .prop dd{margin:0;white-space:pre-wrap}
.ai__hint{color:var(--faint);font-size:12.5px;text-align:center;margin:auto 10px}
.ai__form{padding:10px 12px 12px;border-top:1px solid var(--line);display:grid;gap:6px;background:var(--panel)}
.ai__form textarea{min-height:64px;max-height:220px}
.ai__form small{color:var(--faint);font-size:11.5px}
.typing{display:inline-flex;gap:3px}
.typing i{width:5px;height:5px;border-radius:50%;background:var(--faint);animation:bl 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes bl{50%{opacity:.25}}
.tabs{display:none}

/* модалки, поповеры */
.modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px}
.modal__shade{position:absolute;inset:0;background:rgba(20,20,24,.32)}
.modal__box{position:relative;width:min(480px,100%);max-height:92vh;overflow:auto;background:var(--panel);border-radius:12px;box-shadow:var(--sh2);padding:20px;display:grid;gap:12px}
.modal__box h2{margin:0;font-size:15px;font-weight:600}
.modal__foot{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}
.quick{display:flex;flex-wrap:wrap;gap:6px}
.radios{display:grid;gap:6px}
.radios label{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;cursor:pointer}
.radios label:has(input:checked){border-color:var(--acc);background:var(--acc-bg)}
.dupnote{padding:9px 12px;border-radius:8px;background:var(--amber-bg);color:#7A4B05;font-size:12.5px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#1D1E21;color:#fff;padding:10px 16px;border-radius:8px;z-index:80;font-weight:500;box-shadow:var(--sh2);max-width:calc(100vw - 32px)}

/* статистика */
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.kpi span{display:block;color:var(--mut);font-size:12px;font-weight:500}
.kpi b{display:block;font-size:21px;font-weight:650;margin-top:3px;font-variant-numeric:tabular-nums}
.kpi small{color:var(--faint);font-size:11.5px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px}
.panel h3{margin:0 0 12px;font-size:13px;font-weight:600}
.bar{display:grid;grid-template-columns:150px 1fr 70px;gap:10px;align-items:center;margin:7px 0;font-size:12.5px}
.bar__track{height:20px;background:#F1F1EE;border-radius:5px;overflow:hidden}
.bar__fill{height:100%;background:var(--acc);border-radius:5px;min-width:2px}
.bar b{text-align:right;font-variant-numeric:tabular-nums}
table.t{width:100%;border-collapse:collapse;font-size:12.5px}
table.t th{text-align:left;color:var(--mut);font-weight:500;padding:6px 8px;border-bottom:1px solid var(--line)}
table.t td{padding:8px;border-bottom:1px solid var(--line2);font-variant-numeric:tabular-nums}
table.t td.num,table.t th.num{text-align:right}
.spark{display:flex;align-items:flex-end;gap:3px;height:90px}
.spark div{flex:1;background:var(--acc);border-radius:3px 3px 0 0;min-height:2px;position:relative}
.spark div:hover{background:var(--acc-d)}
.expform{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;align-items:end}
.note{color:var(--mut);font-size:12.5px;margin:0}
.form-grid{display:grid;gap:12px;max-width:560px}

/* уведомления */
.notif{position:fixed;left:224px;bottom:16px;width:380px;max-height:70vh;overflow:auto;background:var(--panel);border:1px solid var(--line);
  border-radius:12px;box-shadow:var(--sh2);z-index:50}
.notif__head{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel)}
.notif__head b{font-size:13px}
.notif__item{display:grid;grid-template-columns:22px 1fr;gap:8px;padding:10px 14px;border-top:1px solid var(--line2);cursor:pointer}
.notif__item:hover{background:var(--sub)}
.notif__item.unread{background:#F6F6FE}
.notif__item small{color:var(--faint);font-size:11.5px;display:block;margin-top:2px}
.notif__item p{margin:2px 0 0;color:var(--mut);font-size:12.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.notif__empty{padding:22px;text-align:center;color:var(--faint)}
.rem{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line2)}
.rem:first-child{border-top:0}
.rem input[type=checkbox]{width:16px;height:16px;flex:0 0 auto;accent-color:var(--acc)}
.rem__when{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12.5px}
.rem__when.late{color:var(--red)}
.rem__text{flex:1;min-width:0}
.rem.done .rem__text,.rem.done .rem__when{color:var(--faint);text-decoration:line-through}
.doc{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--line2)}
.doc:first-child{border-top:0}
.doc b{font-weight:600}
.modal__box.wide{width:min(860px,100%)}
.ed{display:grid;gap:12px}
.ed h4{margin:6px 0 0;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}
.ed-row{display:grid;grid-template-columns:1fr 1.6fr 120px 30px;gap:6px;align-items:start}
.ed-row.st{grid-template-columns:1.2fr 130px 1.6fr 30px}
.ed-total{display:flex;align-items:center;gap:10px;font-weight:600}
@media (max-width:1100px){
  .drawer__panel{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .tabs{display:flex;gap:4px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--panel)}
  .drawer__panel[data-tab=card] .ai{display:none}
  .drawer__panel[data-tab=ai] .lead{display:none}
  .ai{border-left:0}
}
@media (max-width:820px){
  .app{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .side{flex-direction:row;align-items:center;padding:8px 10px;overflow-x:auto;gap:8px;border-right:0;border-bottom:1px solid var(--line)}
  .side .logo span:last-child,.side__clock,.nav a span{display:none}
  .nav{display:flex}
  .nav a{padding:8px 10px}
  .side__new{margin:0 0 0 auto;height:32px}
  .side__new kbd{display:none}
  .col{flex-basis:84vw;max-height:none}
  .board{padding:12px}
  .top{padding:10px 12px}
  .top__search{width:100%}
  .page{padding:14px 12px 40px}
  .row{grid-template-columns:70px 1fr;gap:4px 10px}
  .row>*:nth-child(n+3){grid-column:2}
  .two{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
  .lead__head,.lead__body{padding-left:14px;padding-right:14px}
  .expform{grid-template-columns:1fr 1fr}
  .bar{grid-template-columns:100px 1fr 54px}
  .notif{left:8px;right:8px;width:auto;top:56px;bottom:auto}
  .ed-row,.ed-row.st{grid-template-columns:1fr}
}
.modal__box{overflow-x:hidden}
.modal__box .inp{min-width:0}
.ed-total{flex-wrap:wrap}

/* план дня */
.plan-sum{display:flex;gap:10px;flex-wrap:wrap}
.plan-sum>div{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px;display:grid;gap:2px}
.plan-sum b{font-size:17px;font-weight:650;font-variant-numeric:tabular-nums}
.plan-sum span{color:var(--mut);font-size:12px}
.plan-sum .plan-warn{background:var(--amber-bg);border-color:#F1D9A8;color:#7A4B05;font-weight:500;display:flex;align-items:center}
.plan-row{display:grid;grid-template-columns:64px 118px minmax(0,1fr) 150px 96px;gap:12px;align-items:center;padding:10px 14px;border-top:1px solid var(--line2);cursor:pointer}
.plan-row:first-child{border-top:0}
.plan-row:hover{background:var(--sub)}
.plan-row.after{opacity:.6}
.plan-time{font-weight:650;font-variant-numeric:tabular-nums;font-size:14px;line-height:1.2}
.plan-time small{display:block;color:var(--faint);font-weight:500;font-size:11.5px}
.plan-main{min-width:0;display:grid}
.plan-main b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plan-main span{color:var(--mut);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plan-now{position:relative;height:0;border-top:2px solid var(--red)}
.plan-now span{position:absolute;left:10px;top:-10px;background:var(--red);color:#fff;font-size:11px;font-weight:600;padding:1px 6px;border-radius:4px}
@media (max-width:820px){.plan-row{grid-template-columns:52px 1fr;gap:4px 10px}.plan-row>*:nth-child(n+3){grid-column:2}}

/* ассистент */
.side__asst{margin-top:auto;height:34px;justify-content:flex-start;gap:8px;font-weight:600;color:var(--acc-d);border-color:#DADAF5;background:#F6F6FE}
.side__asst kbd{margin-left:auto;color:var(--mut);border-color:var(--line)}
.side__asst:hover{background:#EEEEFC}
.asst{position:fixed;left:224px;bottom:16px;width:400px;height:min(560px,calc(100vh - 32px));background:var(--panel);border:1px solid var(--line);
  border-radius:14px;box-shadow:var(--sh2);z-index:55;display:flex;flex-direction:column;overflow:hidden}
.asst__head{display:flex;align-items:center;gap:8px;padding:11px 12px 10px 14px;border-bottom:1px solid var(--line)}
.asst__head .note{font-size:12px}
.asst__msgs{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:8px;background:var(--sub)}
.asst__form{display:flex;gap:8px;align-items:flex-end;padding:10px 12px;border-top:1px solid var(--line)}
.asst__form textarea{resize:none;min-height:40px;max-height:140px}
.asst__steps{align-self:flex-start;color:var(--mut);font-size:12.5px;display:grid;gap:3px}
.asst__choices{display:flex;flex-wrap:wrap;gap:6px;align-self:stretch}
.asst__choices .btn{height:auto;min-height:30px;padding:5px 10px;white-space:normal;text-align:left;justify-content:flex-start}
.asst__hint{color:var(--faint);font-size:12.5px;display:grid;gap:6px;margin:auto 0}
.asst__hint button{justify-content:flex-start}
@media (max-width:820px){.side__asst{margin:0;height:32px}.side__asst kbd{display:none}.asst{left:8px;right:8px;width:auto;bottom:8px;height:70vh}}
.asst__acts{align-self:flex-start;display:grid;gap:3px;padding:7px 10px;border-radius:8px;background:var(--green-bg);color:var(--green);font-size:12.5px;font-weight:500}
.asst__acts .bad{color:var(--red)}
.asst__head b{white-space:nowrap}.asst__head .note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}

/* звонок прямо сейчас */
.callbar{position:fixed;left:12px;bottom:12px;z-index:70;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  width:min(380px,calc(100vw - 24px));padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh2)}
.callbar.ringing{border-color:#9FD7B2;box-shadow:0 0 0 4px var(--green-bg),var(--sh2);animation:cbpulse 1.2s infinite}
.callbar.talking{border-color:#9FD7B2}
@keyframes cbpulse{50%{box-shadow:0 0 0 8px rgba(31,138,76,.12),var(--sh2)}}
.cb-ico{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--green-bg);font-size:17px;flex:0 0 auto}
.callbar.ended .cb-ico{background:#F1F1EE;color:var(--mut)}
.cb-main{flex:1;min-width:0;font-size:12.5px;color:var(--mut)}
.cb-main b{color:var(--text)}
.cb-ring{color:var(--green)!important}
.cb-talk{color:var(--green)!important;font-variant-numeric:tabular-nums}
.cb-who{font-size:15px;font-weight:600;color:var(--text);display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:2px 0}
.cb-info{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.contact__info{display:block;font-size:12px;font-weight:500;color:var(--mut);letter-spacing:0}

/* звонок внутри открытой карточки - полоса над номером, ничего не перекрывает */
.callstrip{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;background:var(--green-bg);border:1px solid #BFE3CC}
.callstrip.ringing{animation:cbpulse 1.2s infinite}
.callstrip.ended{background:#F4F4F1;border-color:var(--line)}
.callstrip .cb-ico{background:#fff}
.callbar .cb-main{flex:1 1 200px}

.ev__tr{margin-top:6px;font-size:12.5px;color:var(--mut)}
.ev__tr summary{cursor:pointer;color:var(--acc-d);font-weight:500}
.ev__tr div{white-space:pre-wrap;margin-top:6px;padding:8px 10px;background:var(--sub);border-radius:8px;max-height:260px;overflow:auto;line-height:1.5}

/* оценка сделки ИИ */
.msg__tools a.btn{color:inherit;text-decoration:none}
.ai__head b{white-space:nowrap}
.tag--cold{background:#EEF1F5;color:#51607A}
.tag--stale{background:#F4EFE6;color:#7A6333}
.card__next{font-size:12px;color:var(--acc-d);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.insight{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;background:#F6F6FE;border:1px solid #E1E1F7}
.insight>.tag{flex:0 0 auto;margin-top:1px}
.insight__main{flex:1;min-width:0;font-size:13.5px;line-height:1.45}
.insight__when{color:var(--acc-d);font-weight:600;white-space:nowrap}
.insight__why{color:var(--mut);font-size:12.5px;margin-top:3px}
.insight__why summary{cursor:pointer;color:var(--faint);list-style:none;width:max-content}
.insight__why summary::-webkit-details-marker{display:none}
.insight__why summary::after{content:' ▾'}
.insight__why[open] summary{margin-bottom:2px}
.insight__risk{color:var(--red)}
.insight__acts{display:flex;gap:4px;flex:0 0 auto}

/* телефон: доска столбиком, пустые этапы скрыты, карточка не шире экрана */
.lead__body>*,.box,.grid2>*{min-width:0}
.src dd{overflow-wrap:anywhere}
@media (max-width:820px){
  .board{flex-direction:column;align-items:stretch;overflow-x:visible;padding:10px 10px 90px}
  .col{flex:0 0 auto;width:auto;max-height:none}
  .col--empty{display:none}
  .side__asst span,.side__new span{display:none}
  .side__asst,.side__new{flex:0 0 auto;padding:0 12px}
  .rem{flex-wrap:wrap;row-gap:4px}
  .rem__text{flex-basis:calc(100% - 30px);order:3;padding-left:26px}
  .insight{flex-wrap:wrap}
  .insight__main{flex-basis:calc(100% - 90px)}
  .tabs{position:sticky;top:0;z-index:5}
  .ai__head .note{display:none}
}

/* переписка в Telegram */
.tg__list{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.tg__more summary{cursor:pointer;color:var(--mut);font-size:12.5px;margin:2px 0 4px}
.tg__more .tg__list{max-height:360px;overflow-y:auto;padding-right:4px;margin-bottom:6px}
.tgm{max-width:86%;align-self:flex-start}
.tgm--out{align-self:flex-end}
.tgm__b{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13.5px;line-height:1.45;padding:7px 10px;border-radius:10px;background:var(--sub);border:1px solid var(--line)}
.tgm--out .tgm__b{background:#EAF1FE;border-color:#D6E3FC}
.tgm__t{font-size:11px;color:var(--faint);margin:2px 4px 0}
.tgm--out .tgm__t{text-align:right}

/* 29.09: переписка с вложениями и звонками, справка, оценка звонков, ТЗ, парсер */
.tg__chat{display:flex;flex-direction:column;gap:6px;max-height:560px;overflow-y:auto;padding:4px 4px 4px 0;scroll-behavior:auto}
.tg__day{align-self:center;font-size:11px;color:var(--faint);background:var(--sub);border:1px solid var(--line2);border-radius:10px;padding:1px 9px;margin:6px 0 2px}
.tgf{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px}
.tgf__wait{font-size:12px;color:var(--faint)}
.tgf__img{display:block;max-width:260px;max-height:260px;border-radius:8px;margin:-2px -4px 4px;cursor:zoom-in;background:var(--line2)}
.tgf__vid{display:block;max-width:300px;border-radius:8px}
.tgf__round{display:block;width:180px;height:180px;object-fit:cover;border-radius:50%}
.tgm audio,.tgcall audio{display:block;width:260px;max-width:100%;height:32px;margin:4px 0 2px}
.tgf__tr{font-size:13px;line-height:1.45;margin-top:4px;padding:6px 8px;border-radius:7px;background:rgba(255,255,255,.7);border-left:3px solid var(--acc);white-space:pre-wrap}
.tgcall{align-self:center;max-width:92%;font-size:12.5px;color:var(--mut);background:#F4F4F2;border:1px dashed var(--line);border-radius:10px;padding:6px 10px;text-align:center}
.tgcall--tel{background:#F6F6FE;border-color:#DCDCF6;color:var(--text);text-align:left}
.tgcall__sum summary{cursor:pointer;color:var(--acc-d);font-weight:500;margin-top:4px}
.tgcall__sum div{white-space:pre-wrap;margin-top:4px;font-size:12.5px;line-height:1.45}
.tgf__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:6px}
.tgf__grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:7px;border:1px solid var(--line);display:block}
.tgf__row{font-size:13px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.rv{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;margin-top:6px;font-size:12px}
.rv__m{padding:1px 6px;border-radius:5px;background:#F1F1EE;color:var(--mut)}
.rv__m--yes{background:#E7F6EC;color:#1E7B3F}
.rv__m--partly{background:#FFF4DE;color:#95620A}
.rv__m--no{background:#FDECEC;color:#B42318}
.rv__det{flex-basis:100%}
.rv__det summary{cursor:pointer;color:var(--acc-d);font-weight:500}
.rv__body,.rv__det>div{flex-basis:100%;font-size:12.5px;line-height:1.45;display:grid;gap:6px;margin-top:4px}
.rv__fix b,.rv__good b{display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut)}
.rv__next{background:var(--acc-bg);border-radius:7px;padding:5px 8px}
.dossier{background:linear-gradient(180deg,#FBFBFF,#fff);border-color:#E1E1F7}
.dossier>summary{list-style:none;cursor:pointer}
.dossier>summary::-webkit-details-marker{display:none}
.dossier>summary h3::before{content:'▸';color:var(--faint);font-size:11px}
.dossier[open]>summary h3::before{content:'▾'}
.dossier__t{font-size:13.5px;line-height:1.5}
.dossier__t p{margin:0 0 5px}
.dossier__t ul{margin:0 0 6px;padding-left:18px}
.md-h{margin:10px 0 4px;font-size:14px}
.tz{max-height:60vh;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.5;background:var(--sub)}
.tz p{margin:0 0 5px}
.chip--tz{border-color:#D6D6F5;color:var(--acc-d);background:var(--acc-bg)}
.pf__bar{display:grid;gap:8px;margin-bottom:12px}
.pf__bar .chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.pf__city{width:auto;height:26px;padding:0 8px;font-size:12.5px;border-radius:13px}
.pf__hint{margin:0;font-size:12px}
.pf__list{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.pf{display:grid;grid-template-columns:44px minmax(0,2.2fr) minmax(0,1.3fr) minmax(0,1.1fr) auto;gap:12px;align-items:start;padding:10px 14px;border-top:1px solid var(--line2)}
.pf:first-child{border-top:0}
.pf__score .tag{min-width:34px;justify-content:center;font-weight:700}
.pf__name{font-weight:600}
.pf__why{font-size:12px;color:#95620A;margin-top:2px}
.pf__note{font-size:12px;color:var(--acc-d);margin-top:2px;white-space:pre-line;cursor:pointer}
.pf__clamp{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}
.pf__phone{font-weight:600;color:var(--text);white-space:nowrap}
.pf__contact,.pf__site{font-size:12.5px;display:grid;gap:2px}
.pf__acts{display:flex;flex-direction:column;gap:6px;align-items:flex-end;min-width:240px}
@media (max-width:900px){
  .pf{grid-template-columns:40px minmax(0,1fr);}
  .pf__contact,.pf__site,.pf__acts{grid-column:2}
  .pf__acts{justify-content:flex-start;max-width:none}
  .tgf__img{max-width:200px}
}
.pf__contact .tag,.pf__site .tag{justify-self:start;width:max-content}
.pf__city{max-width:240px}

.pf__row{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.pfs{height:26px;padding:0 10px;border-radius:13px;border:1px solid var(--line);background:var(--panel);cursor:pointer;font-size:12px;color:var(--mut);font-weight:500}
.pfs:hover{border-color:var(--acc);color:var(--acc-d)}
.pfs.on{background:var(--acc-bg);border-color:#D6D6F5;color:var(--acc-d)}
.pfs--no:hover{border-color:#F3C7C3;color:#B42318;background:#FEF3F2}
.pfl{background:none;border:0;padding:0;cursor:pointer;font-size:12.5px;color:var(--acc-d);font-weight:500}
.pfl:hover{text-decoration:underline}
@media (max-width:900px){.pf__acts{align-items:flex-start;min-width:0}.pf__row{justify-content:flex-start}}

.mail__subj{font-weight:600;margin-bottom:3px}
.mail__text{white-space:pre-wrap;max-height:260px;overflow:auto}

.pf__mail{margin:0;font-size:12.5px;background:var(--acc-bg);border:1px solid #DCDCF6;border-radius:8px;padding:6px 10px;color:var(--acc-d)}

.tr{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:14px;align-items:start}
.tr__main,.tr__side{display:grid;gap:14px}
.tr .panel{margin:0}
.tr__setup{display:grid;gap:10px}
.tr__call{display:grid;gap:10px}
.tr__bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.tr__big{height:42px;padding:0 18px;font-size:14px}
.tr__st{color:var(--mut);font-size:13px}
.tr__ptt{height:42px;user-select:none;-webkit-user-select:none}
.tr__log{display:flex;flex-direction:column;gap:6px;min-height:220px;max-height:420px;overflow-y:auto;padding:8px;border:1px solid var(--line2);border-radius:10px;background:var(--sub)}
.tr__type{display:flex;gap:6px}
.tr__review{border:1px solid #E1E1F7;background:#F6F6FE;border-radius:10px;padding:10px 12px;font-size:13.5px}
.tr__review p{margin:0 0 5px}
.tr__sess summary{cursor:pointer;padding:6px 0;font-size:13px}
.tr__sess>div{font-size:13px;padding:4px 0 8px}
.tr__rule{display:flex;align-items:flex-start;gap:6px;font-size:13px;padding:4px 0;border-top:1px solid var(--line2)}
.tr__rule span{flex:1}
@media (max-width:1000px){.tr{grid-template-columns:1fr}}

.tr__el{margin-top:12px;padding-top:10px;border-top:1px solid var(--line2);display:grid;gap:6px}

.pf__open{color:inherit;text-decoration:none}.pf__open:hover{color:var(--acc);text-decoration:underline}
.pf__filters{margin-top:8px;align-items:center}.pf__hours{font-size:12px;color:var(--mut);margin-top:2px}.pf__hours.on{color:#15803D}
.sec-lbl{display:flex;align-items:center;gap:10px;margin:12px 0 -2px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.sec-lbl::after{content:"";flex:1;height:1px;background:var(--line)}
.lead__body>.sec-lbl:first-of-type{margin-top:0}
details.box--fold>summary{cursor:pointer;list-style:none}
details.box--fold>summary::-webkit-details-marker{display:none}
details.box--fold>summary h3::after{content:"▸";margin-left:auto;font-size:12px}
details.box--fold[open]>summary h3::after{content:"▾"}
details.box--fold:not([open]){gap:0}
.rem-done>summary{cursor:pointer;font-size:12px;color:var(--mut);padding:2px 0}.rem-done .rem{opacity:.7}
.plan-people{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.plan-who{width:auto;height:28px;padding:0 6px;font-size:12.5px;max-width:130px}
.plan-who.none{border-color:#D97706;color:#B45309}
.plan-row.conflict{box-shadow:inset 3px 0 0 #DC2626;background:rgba(220,38,38,.05)}
.plan-row{grid-template-columns:58px 108px minmax(150px,1fr) 128px auto 118px}
@media (max-width:820px){.plan-row{grid-template-columns:52px 1fr}}
