/* Модалки, карточка объекта, мобильная версия, операционный слой. Перенесено из legacy/index.original.html, строки 241–379. */
/* Modal */
.overlay{position:fixed;inset:0;background:rgba(15,42,71,0.42);display:flex;align-items:flex-start;justify-content:center;z-index:100;padding:40px 16px;overflow-y:auto;}
.modal{background:#fff;border-radius:12px;width:100%;max-width:760px;box-shadow:0 20px 60px rgba(15,42,71,0.3);}
.modal.modal-lg{max-width:980px;}
.modal-head{padding:18px 22px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;}
.modal-head h2{margin:0;font-size:16px;font-weight:800;}
.modal-close{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--muted);}
.modal-close:hover{background:var(--bg);}
.modal-body{padding:20px 22px;max-height:72vh;overflow-y:auto;}
.modal-foot{padding:16px 22px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-grid.c3{grid-template-columns:1fr 1fr 1fr;}
.fld{display:flex;flex-direction:column;gap:4px;}
.fld label{font-size:11.5px;font-weight:700;color:var(--muted);}
.fld input,.fld select,.fld textarea{padding:9px 11px;border:1px solid var(--border);border-radius:8px;outline:none;width:100%;background:#fff;}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--teal);}
.fld textarea{resize:vertical;min-height:70px;}
.section-title{font-size:12.5px;font-weight:800;color:var(--navy);margin:18px 0 10px;padding-top:14px;border-top:1px solid #F0F3F5;}
.section-title:first-child{margin-top:0;padding-top:0;border-top:none;}

/* Object detail */
.obj-detail-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:14px;}
.obj-actions{display:flex;gap:8px;flex-wrap:wrap;}
.obj-detail-price{font-size:24px;font-weight:800;color:var(--navy);}
.obj-detail-id{font-size:11.5px;color:var(--muted);font-weight:700;}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin:16px 0 16px;flex-wrap:wrap;}
.tab{padding:9px 14px;font-size:12.5px;font-weight:700;color:var(--muted);border-bottom:2px solid transparent;cursor:pointer;}
.tab.active{color:var(--navy);border-color:var(--teal);}
.spec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px 18px;}
.spec-item .k{font-size:11px;color:var(--muted);font-weight:600;}
.spec-item .v{font-size:13px;font-weight:700;margin-top:2px;}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;}
.gallery .ph{position:relative;height:96px;border-radius:8px;overflow:hidden;background:#EFF2F4;}
.gallery .ph img{width:100%;height:100%;object-fit:cover;display:block;}
.gallery .ph .main-badge{position:absolute;bottom:5px;left:5px;background:var(--gold);color:#fff;font-size:9.5px;font-weight:800;padding:2px 6px;border-radius:5px;}
.gallery .ph .rm{position:absolute;top:4px;right:4px;background:rgba(15,42,71,0.7);color:#fff;width:19px;height:19px;border-radius:50%;font-size:12px;display:flex;align-items:center;justify-content:center;}
.gallery .dropzone{border:2px dashed var(--border);border-radius:8px;height:96px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:11px;font-weight:700;text-align:center;padding:6px;}
.gallery .dropzone.drag{border-color:var(--teal);background:var(--teal-tint);color:var(--teal);}
.timeline{position:relative;padding-left:18px;}
.timeline::before{content:'';position:absolute;left:4px;top:4px;bottom:4px;width:1.5px;background:var(--border);}
.tl-item{position:relative;padding-bottom:16px;}
.tl-item::before{content:'';position:absolute;left:-18px;top:3px;width:9px;height:9px;border-radius:50%;background:var(--teal);border:2px solid #fff;box-shadow:0 0 0 1px var(--teal);}
.tl-date{font-size:11px;color:var(--muted);font-weight:700;}
.tl-text{font-size:13px;margin-top:2px;}
.owner-box{background:var(--bg);border-radius:8px;padding:14px;}
.match-list{display:flex;flex-direction:column;gap:10px;}
.match-row{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--border);border-radius:8px;}
.match-thumb{width:56px;height:44px;border-radius:6px;background:linear-gradient(135deg,var(--navy-light),var(--navy));flex:none;}
.match-pct{font-weight:800;color:var(--teal);font-size:14px;width:52px;text-align:right;flex:none;}
.match-pct.mid{color:var(--gold);}
.match-pct.low{color:var(--muted);}
.empty{text-align:center;padding:50px 20px;color:var(--muted);}
.empty .icon{font-size:34px;margin-bottom:10px;}
.funnel-row{display:flex;align-items:center;gap:12px;margin-bottom:8px;}
.funnel-lbl{width:150px;font-size:12px;font-weight:700;flex:none;}
.funnel-bar-bg{flex:1;background:#EFF2F4;border-radius:6px;height:22px;overflow:hidden;}
.funnel-bar{height:100%;background:linear-gradient(90deg,var(--teal),var(--navy-light));border-radius:6px;}
.funnel-n{width:36px;text-align:right;font-size:12px;font-weight:800;color:var(--navy);flex:none;}
.src-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid #F0F3F5;}
.src-row:last-child{border-bottom:none;}
.academy-steps{display:flex;flex-direction:column;gap:10px;margin-bottom:22px;}
.academy-step{display:flex;gap:12px;align-items:flex-start;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;box-shadow:var(--shadow);}
.academy-step .num{width:26px;height:26px;border-radius:50%;background:var(--teal);color:#fff;font-weight:800;font-size:12.5px;display:flex;align-items:center;justify-content:center;flex:none;}
.academy-step .txt b{display:block;font-size:13px;margin-bottom:2px;}
.academy-step .txt span{font-size:12px;color:var(--muted);}
.academy-search{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:8px;margin-bottom:16px;outline:none;font-size:13px;}
.academy-search:focus{border-color:var(--teal);}
.academy-topic{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:10px;overflow:hidden;}
.academy-topic summary{
  list-style:none;cursor:pointer;padding:14px 16px;display:flex;align-items:center;gap:10px;font-weight:700;font-size:13.5px;color:var(--navy);
}
.academy-topic summary::-webkit-details-marker{display:none;}
.academy-topic summary .chev{margin-left:auto;color:var(--muted);font-size:12px;transition:transform .15s;}
.academy-topic[open] summary .chev{transform:rotate(90deg);}
.academy-topic summary .emj{font-size:16px;}
.academy-body{padding:0 16px 16px 46px;font-size:13px;line-height:1.7;color:var(--text);}
.academy-body ul{margin:6px 0;padding-left:18px;}
.academy-body li{margin-bottom:4px;}
.academy-body b{color:var(--navy);}
.toast{
  position:fixed;bottom:22px;right:22px;background:var(--navy);color:#fff;padding:12px 18px;border-radius:8px;
  font-size:13px;font-weight:600;box-shadow:0 8px 24px rgba(15,42,71,0.3);z-index:999;opacity:0;transform:translateY(8px);
  transition:opacity .2s, transform .2s;pointer-events:none;
}
.toast.show{opacity:1;transform:translateY(0);}
@media(max-width:860px){
  .sidebar{position:fixed;left:-236px;z-index:60;transition:left .18s;box-shadow:0 0 30px rgba(0,0,0,0.3);}
  .sidebar.open{left:0;}
  .menu-btn{display:flex !important;}
  .content{padding:18px 14px 60px;}
}
.sidebar-backdrop{display:none;}
@media(max-width:860px){
  .sidebar-backdrop{display:block;position:fixed;inset:0;z-index:59;background:rgba(15,42,71,0.42);opacity:0;pointer-events:none;transition:opacity .18s;}
  .sidebar-backdrop.show{opacity:1;pointer-events:auto;}
}
.menu-btn{display:none;width:36px;height:36px;border-radius:8px;border:1px solid var(--border);align-items:center;justify-content:center;background:#fff;}

/* ===== ЭТАП 1+2: operational layer ===== */
.today-row{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--border);}
.today-row:last-child{border-bottom:none;}
.urg-dot{width:10px;height:10px;border-radius:50%;flex:none;margin-top:4px;}
.urg-red .urg-dot{background:#D9453B;} .urg-yellow .urg-dot{background:#C9A227;} .urg-green .urg-dot{background:#1FA99C;}
.today-row .body{flex:1;min-width:0;}
.today-row .ttl{font-size:13px;font-weight:700;color:var(--text);}
.today-row .sub{font-size:11.5px;color:var(--muted);margin-top:2px;}
.today-row .acts{display:flex;gap:6px;flex:none;}
.na-box{background:var(--teal-tint);border:1px solid rgba(31,169,156,0.3);border-radius:10px;padding:12px 14px;margin:10px 0 16px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
.na-box.empty{background:#FBE4E1;border-color:rgba(217,69,59,0.3);}
.na-box .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;}
.na-box .txt{font-size:13.5px;font-weight:700;color:var(--navy);margin-top:2px;}
.action-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0;}
.action-row .btn{font-size:12px;padding:8px 12px;}
.bell-wrap{position:relative;}
.bell-btn{position:relative;width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;}
.bell-dot{position:absolute;top:4px;right:5px;width:8px;height:8px;border-radius:50%;background:#D9453B;}
.bell-panel{position:absolute;right:0;top:46px;width:330px;max-height:420px;overflow:auto;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 14px 36px rgba(15,42,71,0.18);z-index:80;padding:8px;}
.bell-item{padding:10px 10px;border-radius:8px;cursor:pointer;}
.bell-item:hover{background:var(--bg);}
.bell-item .t{font-size:12.5px;font-weight:700;color:var(--text);}
.bell-item .s{font-size:11px;color:var(--muted);margin-top:2px;}
.wa-tpl-item{padding:10px 12px;border:1px solid var(--border);border-radius:8px;margin-bottom:8px;cursor:pointer;}
.wa-tpl-item:hover{border-color:var(--teal);}
.wa-tpl-item .t{font-size:12.5px;font-weight:700;color:var(--navy);margin-bottom:4px;}
.wa-tpl-item .p{font-size:11.5px;color:var(--muted);line-height:1.5;}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--bg);border-radius:10px;padding:14px;margin-top:12px;}
.calc-grid .ci{font-size:11.5px;color:var(--muted);}
.calc-grid .ci b{display:block;font-size:15px;color:var(--navy);margin-top:2px;}
.stale-flag{color:#D9453B;font-weight:700;font-size:11px;}
.no-action-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--border);gap:10px;}
.no-action-row:last-child{border-bottom:none;}
.pipe{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 16px;}
.pipe-step{font-size:11px;font-weight:700;padding:6px 10px;border-radius:20px;background:var(--bg);color:var(--muted);border:1px solid var(--border);cursor:pointer;white-space:nowrap;}
.pipe-step.done{background:var(--teal-tint);color:var(--teal);border-color:rgba(31,169,156,0.3);}
.pipe-step.current{background:var(--navy);color:#fff;border-color:var(--navy);}
.na-box .acts{display:flex;gap:8px;flex:none;}
.na-box .acts .btn{font-size:11.5px;padding:7px 10px;}
.gs-results{position:absolute;top:46px;left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 14px 36px rgba(15,42,71,0.18);z-index:90;max-height:420px;overflow:auto;}
.gs-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--border);}
.gs-item:last-child{border-bottom:none;}
.gs-item:hover{background:var(--bg);}
.gs-kind{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--teal);font-weight:700;}
.gs-title{font-size:13px;font-weight:700;color:var(--text);margin-top:1px;}
.gs-sub{font-size:11.5px;color:var(--muted);margin-top:1px;}

/* Форма объекта по типу (22.10.2026): скрытые поля и поле с ошибкой сервера. */
.fld[hidden],[data-f][hidden],[data-sec][hidden]{display:none !important;}
.fld.fld-error input,.fld.fld-error select,.fld.fld-error textarea{border-color:#C9564A;background:#FFF8F7;}
.fld.fld-error label{color:#C9564A;}
/* Галочки внутри поля формы (например, «Коммуникации»): общий стиль .fld input растягивал их на всю ширину. */
.fld input[type="checkbox"],.fld input[type="radio"]{width:auto;padding:0;flex:none;}
/* Секции формы объекта обёрнуты в блок [data-sec]: их заголовок не «первый в окне», отступ и линия как у остальных. */
[data-sec] > .section-title:first-child{margin-top:18px;padding-top:14px;border-top:1px solid #F0F3F5;}

/* Фото объекта (этап 4): кнопки порядка и «главное» поверх миниатюры — в стиле крестика удаления макета. */
.gallery .ph a{display:block;width:100%;height:100%;}
.gallery .ph .ph-ctrl{position:absolute;right:4px;bottom:4px;display:flex;gap:3px;}
.gallery .ph .ph-ctrl button{width:22px;height:22px;border-radius:50%;border:none;background:rgba(15,42,71,0.7);color:#fff;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;}
.gallery .ph .ph-ctrl button .ui-ic{width:12px;height:12px;}
.gallery .ph .rm{cursor:pointer;}
/* Поле выбора файлов внутри зоны загрузки: невидимое, но не display:none — иначе iPhone может не открыть выбор. */
.file-input-hidden{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none;}
.gallery .dropzone{position:relative;cursor:pointer;}

/* Просмотр фото на весь экран (листание стрелками, свайпом) */
.lightbox{position:fixed;inset:0;z-index:500;background:rgba(10,22,38,0.96);display:flex;align-items:center;justify-content:center;padding:56px 64px;}
.lightbox .lb-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.4);user-select:none;}
.lightbox .lb-top{position:absolute;top:0;left:0;right:0;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;color:#fff;}
.lightbox .lb-count{font-size:13px;font-weight:700;opacity:.85;}
.lightbox .lb-close{background:none;border:none;color:#fff;font-size:22px;cursor:pointer;width:40px;height:40px;border-radius:50%;}
.lightbox .lb-close:hover,.lightbox .lb-nav:hover{background:rgba(255,255,255,.14);}
.lightbox .lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:none;background:rgba(255,255,255,.08);color:#fff;font-size:30px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding-bottom:4px;}
.lightbox .lb-nav[hidden]{display:none;}
.lightbox .lb-prev{left:10px;}
.lightbox .lb-next{right:10px;}
@media (max-width:640px){
  .lightbox{padding:56px 0 20px;}
  .lightbox .lb-img{border-radius:0;}
  .lightbox .lb-nav{top:auto;bottom:16px;transform:none;background:rgba(255,255,255,.14);}
  .lightbox .lb-prev{left:calc(50% - 60px);}
  .lightbox .lb-next{right:calc(50% - 60px);}
  .lightbox{padding-bottom:76px;}
}

/* Фото вверху карточки объекта: большое фото, листание, миниатюры */
.obj-hero{margin-bottom:16px;}
.obj-hero-main{position:relative;height:360px;border-radius:var(--radius);overflow:hidden;background:var(--navy);}
.obj-hero-main img{width:100%;height:100%;object-fit:contain;display:block;cursor:zoom-in;user-select:none;}
.obj-hero-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:none;background:rgba(255,255,255,.85);color:var(--navy);font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding-bottom:3px;box-shadow:0 2px 8px rgba(0,0,0,.2);}
.obj-hero-nav:hover{background:#fff;}
.obj-hero-nav.prev{left:12px;}
.obj-hero-nav.next{right:12px;}
.obj-hero-count{position:absolute;right:12px;bottom:12px;background:rgba(15,42,71,.7);color:#fff;font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px;}
.obj-hero-thumbs{display:flex;gap:8px;margin-top:8px;overflow-x:auto;padding-bottom:2px;}
.obj-hero-thumbs img{width:72px;height:54px;object-fit:cover;border-radius:8px;cursor:pointer;flex:none;opacity:.6;border:2px solid transparent;}
.obj-hero-thumbs img.active{opacity:1;border-color:var(--teal);}
.obj-hero-empty{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding:14px 16px;border:1.5px dashed var(--border);border-radius:var(--radius);font-size:12.5px;color:var(--muted);}
.obj-hero-empty svg{width:18px;height:18px;flex:none;}
@media (max-width:640px){
  .obj-hero-main{height:240px;}
  .obj-hero-nav{width:34px;height:34px;font-size:22px;}
  .obj-hero-thumbs img{width:60px;height:45px;}
}

/* ===== Телефон (до 640 px, 22.10.2026): окна на весь экран, плотная раскладка =====
   На компьютере всё как в макете. На телефоне окно занимает весь экран (без второй
   прокрутки внутри окна), вкладки — одной строкой с прокруткой вбок, характеристики
   и поля формы — в две колонки, кнопки действий — компактной сеткой. */
@media (max-width:640px){
  .overlay{padding:0;align-items:stretch;}
  .modal,.modal.modal-lg{max-width:none;border-radius:0;min-height:100%;height:100dvh;display:flex;flex-direction:column;box-shadow:none;}
  .modal-head{padding:12px 16px;flex:none;}
  .modal-body{padding:14px 16px;max-height:none;flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;}
  .modal-foot{padding:10px 16px calc(10px + env(safe-area-inset-bottom));flex:none;}
  .modal-foot .btn{flex:1;justify-content:center;}
  .obj-detail-price{font-size:21px;}

  .tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:12px 0;gap:0;}
  .modal .tabs{margin:12px -16px;padding:0 12px;}
  .tabs::-webkit-scrollbar{display:none;}
  .tab{flex:none;padding:9px 11px;white-space:nowrap;}

  .spec-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;}
  .spec-item .v{font-size:12.5px;overflow-wrap:anywhere;}

  .obj-detail-head{gap:10px;}
  .obj-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%;}
  .obj-actions .btn{justify-content:center;padding:7px 8px;font-size:12px;}
  .action-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
  .action-row .btn{justify-content:center;padding:8px 6px;font-size:12px;}
  .action-row .btn:last-child:nth-child(odd){grid-column:1 / -1;} /* кнопка без пары — на всю ширину */
  .na-box{padding:10px 12px;margin:8px 0 10px;}
  .section-title{margin:14px 0 8px;padding-top:10px;}

  .form-grid,.form-grid.c3{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .fld input,.fld select,.fld textarea{padding:8px 9px;font-size:16px;} /* 16px — iPhone не увеличивает страницу при вводе */
}
@media (max-width:360px){
  .form-grid,.form-grid.c3{grid-template-columns:1fr;}
}

/* Колокольчик (22.10.2026): число непрочитанных, панель со списком, непрочитанные выделены. */
.bell-count{position:absolute;top:-7px;right:-9px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#D9453B;color:#fff;font-size:10.5px;font-weight:800;line-height:18px;text-align:center;border:2px solid #fff;box-sizing:content-box;}
.bell-head{display:flex;justify-content:space-between;align-items:center;padding:6px 10px 8px;border-bottom:1px solid var(--border);margin-bottom:4px;font-size:13px;color:var(--navy);}
.bell-readall{border:none;background:none;color:var(--teal);font-size:12px;font-weight:700;cursor:pointer;padding:2px 0;}
.bell-item{position:relative;}
.bell-item.unread{background:var(--teal-tint);margin-bottom:2px;padding-left:22px;}
.bell-item.unread:hover{background:#DCEFEC;}
.bell-unread-dot{position:absolute;left:9px;top:15px;width:7px;height:7px;border-radius:50%;background:var(--teal);}
.bell-item .w{font-size:10.5px;color:var(--muted);margin-top:3px;}
.bell-empty{display:flex;gap:10px;align-items:flex-start;padding:14px 10px;font-size:12px;color:var(--muted);line-height:1.45;}
.bell-empty svg{width:20px;height:20px;flex:none;margin-top:2px;}
.bell-empty b{color:var(--text);}
@media (max-width:640px){ .topbar .bell-panel{max-height:70vh;} }

/* «Следующее действие»: по кому, быстрый выбор действия и даты. */
.aa-who{background:var(--bg);border-radius:10px;padding:10px 12px;font-size:13px;}
.aa-who a{color:var(--teal);font-weight:700;text-decoration:none;}
.aa-sub{font-size:11.5px;color:var(--muted);margin-top:3px;}
.aa-chips{display:flex;flex-wrap:wrap;gap:6px;}
.aa-chip{border:1px solid var(--border);background:#fff;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:700;color:var(--navy);cursor:pointer;}
.aa-chip:hover{border-color:var(--teal);}
.aa-chip.active{background:var(--teal);border-color:var(--teal);color:#fff;}
.aa-note{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-top:12px;}
.aa-note svg{width:15px;height:15px;}

/* Плавное открытие и закрытие окон (22.10.2026). На телефоне окно выезжает снизу. */
@keyframes ovIn{from{background:rgba(15,42,71,0);}to{background:rgba(15,42,71,0.42);}}
@keyframes ovOut{from{opacity:1;}to{opacity:0;}}
@keyframes modalIn{from{opacity:0;transform:translateY(14px) scale(.985);}to{opacity:1;transform:none;}}
@keyframes modalOut{from{opacity:1;transform:none;}to{opacity:0;transform:translateY(10px) scale(.985);}}
.overlay.overlay-enter{animation:ovIn .2s ease-out;}
.overlay.overlay-enter .modal{animation:modalIn .24s cubic-bezier(.2,.7,.2,1);}
.overlay.closing{animation:ovOut .17s ease-in forwards;pointer-events:none;}
.overlay.closing .modal{animation:modalOut .17s ease-in forwards;}
@media (max-width:640px){
  @keyframes modalInPhone{from{transform:translateY(40px);opacity:.6;}to{transform:none;opacity:1;}}
  @keyframes modalOutPhone{from{transform:none;opacity:1;}to{transform:translateY(40px);opacity:0;}}
  .overlay.overlay-enter .modal{animation:modalInPhone .26s cubic-bezier(.2,.7,.2,1);}
  .overlay.closing .modal{animation:modalOutPhone .17s ease-in forwards;}
}
@media (prefers-reduced-motion: reduce){ .overlay.overlay-enter,.overlay.overlay-enter .modal,.overlay.closing,.overlay.closing .modal{animation:none;} }

/* Колокольчик, компактно (22.10.2026): заголовок до двух строк, пояснение в одну, время справа. */
.bell-head-cnt{display:inline-block;min-width:18px;padding:0 6px;border-radius:9px;background:#FBE4E1;color:#C9564A;font-size:11px;line-height:18px;text-align:center;margin-left:4px;}
.bell-item{padding:8px 10px;}
.bell-item.unread{padding-left:22px;}
.bell-row{display:flex;gap:8px;align-items:flex-start;}
.bell-row .t{flex:1;min-width:0;font-size:12.5px;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.bell-row .w{flex:none;margin-top:1px;font-size:10.5px;color:var(--muted);white-space:nowrap;}
.bell-item .s{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px;}
.bell-item.read .t{font-weight:600;color:var(--muted);}
.bell-item.read .s{color:#A3AFB9;}
.bell-unread-dot{top:13px;}
.bell-more{display:block;width:100%;border:none;background:none;color:var(--teal);font-weight:700;font-size:12px;padding:8px 0 4px;cursor:pointer;}
.pipe-step.current.lost{background:#C9564A;border-color:#C9564A;color:#fff;}

/* Итог работы с клиентом: плашка — сделка состоялась (зелёная) или отказ (красная); этапы при этом скрыты. */
.outcome{display:flex;gap:12px;align-items:flex-start;border-radius:12px;padding:14px 16px;margin:18px 0 12px;}
.outcome.won{background:#E3F4E8;border:1px solid rgba(46,139,87,.25);}
.outcome.lost{background:#FBE4E1;border:1px solid rgba(201,86,74,.25);}
.outcome-ic{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;color:#fff;}
.outcome.won .outcome-ic{background:#2E8B57;}
.outcome.lost .outcome-ic{background:#C9564A;}
.outcome-ic svg{width:18px;height:18px;}
.outcome-t{font-size:14.5px;font-weight:800;}
.outcome.won .outcome-t{color:#22704A;}
.outcome.lost .outcome-t{color:#A8402F;}
.outcome-s{font-size:12.5px;color:var(--text);margin-top:3px;line-height:1.45;}

/* Клиенты (22.10.2026): причина отказа, согласие на обработку данных, последний контакт,
   показы/сделки/задачи в карточке, итог показа. Цвета — из палитры макета. */
.outcome-reason{font-size:12.5px;color:#A8402F;margin-top:6px;}
.spec-item.stale .v{color:#C9564A;}
.consent-warn{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;background:#FFF6E0;border:1px solid rgba(201,151,40,.35);border-radius:10px;padding:9px 12px;margin:12px 0 4px;font-size:12.5px;color:#8A6411;}
.consent-warn span{display:flex;align-items:center;gap:6px;}
.consent-warn svg,.consent-ok svg{width:15px;height:15px;flex:none;}
.consent-ok{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin:10px 0 2px;}
.consent-ok svg{color:#2E8B57;}
.link-btn{border:none;background:none;padding:0;color:var(--teal);font-weight:700;font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:2px;}
.reason-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.reason-opt{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:13px;font-weight:600;cursor:pointer;}
.reason-opt:has(input:checked){border-color:#C9564A;background:#FBE4E1;color:#A8402F;}
.reason-opt input{accent-color:#C9564A;}
.rel-list{display:flex;flex-direction:column;gap:6px;}
.rel-row{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:10px;padding:9px 12px;}
.rel-row.done{opacity:.6;}
.rel-ic{width:28px;height:28px;border-radius:8px;background:var(--bg);color:var(--navy);display:flex;align-items:center;justify-content:center;flex:none;}
.rel-ic svg{width:15px;height:15px;}
.rel-main{flex:1;min-width:0;}
.rel-t{font-size:12.5px;font-weight:700;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rel-s{font-size:11.5px;color:var(--muted);margin-top:1px;}
.rel-s.warn{color:#C9564A;}
.rel-side{display:flex;align-items:center;gap:8px;flex:none;}
.res-badge{font-size:10.5px;font-weight:800;padding:3px 9px;border-radius:20px;display:inline-block;white-space:nowrap;}
.res-badge.good{background:#E3F4E8;color:#2E8B57;}
.res-badge.mid{background:#FFF6E0;color:#8A6411;}
.res-badge.bad{background:#FBE4E1;color:#C9564A;}
.s-result{white-space:nowrap;}
.s-result .res-badge{margin-right:8px;}
.muted-sm{font-size:11px;color:var(--muted);}
.result-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.result-btn{display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid var(--border);background:#fff;border-radius:12px;padding:12px 6px;font:inherit;font-size:12.5px;font-weight:700;color:var(--navy);cursor:pointer;transition:background .15s,border-color .15s;}
.result-btn svg{width:20px;height:20px;}
.result-btn.good.on{background:#E3F4E8;border-color:#2E8B57;color:#22704A;}
.result-btn.mid.on{background:#FFF6E0;border-color:#C99728;color:#8A6411;}
.result-btn.bad.on{background:#FBE4E1;border-color:#C9564A;color:#A8402F;}
.stale-flag{display:flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;color:#C9564A;margin-top:3px;}
.stale-flag svg{width:12px;height:12px;}
.funnel-bar.lost{background:linear-gradient(90deg,#E08A7F,#C9564A);}
@media (max-width:640px){
  .reason-list{grid-template-columns:1fr;}
  .rel-t{white-space:normal;}
}

/* Согласие на обработку данных (22.10.2026): блок в форме клиента, плашки способа, окно с текстом. */
.consent-block{margin-top:14px;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:12px;}
.consent-block.on{background:#EEF8F6;border-color:rgba(31,169,156,.35);}
.consent-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.consent-row .chk{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;color:var(--navy);cursor:pointer;flex:1;min-width:220px;}
.consent-row .chk input{width:18px;height:18px;flex:none;accent-color:var(--teal);margin:0;}
.consent-how{margin-top:12px;}
.consent-block:not(.on) .consent-how{display:none;}
.consent-how-l{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;margin-bottom:6px;}
.seg{display:flex;flex-wrap:wrap;gap:6px;}
.seg-btn{border:1px solid var(--border);background:#fff;border-radius:20px;padding:7px 14px;font:inherit;font-size:12.5px;font-weight:700;color:var(--navy);cursor:pointer;transition:background .15s,border-color .15s,color .15s;}
.seg-btn.on{background:var(--teal);border-color:var(--teal);color:#fff;}
.foot-hint{font-size:11.5px;color:var(--muted);margin-right:auto;align-self:center;}
#saveClient:disabled{background:#C5CDD5;border-color:#C5CDD5;color:#fff;cursor:not-allowed;opacity:1;}
.consent-lead{font-size:13px;color:var(--muted);margin:0 0 14px;line-height:1.5;}
.consent-form{display:flex;flex-direction:column;gap:14px;}
.consent-form .fld input[type=date]{max-width:220px;}
.consent-doc-link{display:flex;align-items:center;gap:12px;width:100%;margin-top:16px;padding:12px 14px;border:1px dashed rgba(31,169,156,.5);background:#F4FBFA;border-radius:12px;font:inherit;text-align:left;cursor:pointer;color:var(--navy);}
.consent-doc-link svg{width:20px;height:20px;color:var(--teal);flex:none;}
.consent-doc-link b{display:block;font-size:13px;}
.consent-doc-link small{display:block;font-size:11.5px;color:var(--muted);margin-top:2px;}
.doc-overlay{position:fixed;inset:0;background:rgba(15,42,71,0.42);display:flex;align-items:flex-start;justify-content:center;z-index:150;padding:40px 16px;overflow-y:auto;animation:ovIn .18s ease-out;}
.doc-overlay .doc-modal{animation:modalIn .2s ease-out;}
.doc-overlay.closing{opacity:0;transition:opacity .17s;}
.doc-modal{max-width:720px;}
.cd-doc{border:1px solid var(--border);border-radius:12px;padding:22px 24px;background:#fff;font-size:13px;line-height:1.6;color:var(--text);}
.cd-title{font-size:16px;font-weight:800;color:var(--navy);text-align:center;margin-bottom:14px;}
.cd-doc p{margin:0 0 10px;}
.cd-sec{margin-top:12px;}
.cd-h{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--navy);font-size:13px;}
.cd-n{width:20px;height:20px;border-radius:50%;background:var(--teal-tint);color:var(--teal);font-size:11px;display:inline-flex;align-items:center;justify-content:center;flex:none;}
.cd-sec ul{margin:4px 0 0;padding-left:46px;}
.cd-sec li{margin:2px 0;}
.cd-blank{display:inline-block;border-bottom:1px solid #8A97A3;height:1em;vertical-align:baseline;}
.cd-sign{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:22px;padding-top:14px;border-top:1px solid var(--border);}
.cd-howto{margin-top:14px;padding:12px 14px;border-radius:12px;background:#FFF6E0;border:1px solid rgba(201,151,40,.3);}
.cd-howto-t{display:flex;align-items:center;gap:6px;font-weight:800;color:#8A6411;font-size:13px;}
.cd-howto-t svg{width:16px;height:16px;}
.cd-ways{display:flex;flex-direction:column;gap:6px;margin-top:8px;font-size:12.5px;line-height:1.5;}
@media (max-width:640px){
  .doc-overlay{padding:0;}
  .doc-modal{border-radius:0;min-height:100%;}
  .cd-doc{padding:16px;}
  .cd-sec ul{padding-left:30px;}
  .doc-actions{flex-wrap:wrap;}
  .doc-actions .btn{flex:1 1 40%;padding-left:8px;padding-right:8px;}
  .doc-actions .btn-primary{flex-basis:100%;}
  .modal-foot:has(.foot-hint){flex-wrap:wrap;}
  .foot-hint{flex-basis:100%;text-align:center;margin:0 0 2px;}
  .foot-hint[hidden]{display:none;}
}
@media print{
  body.printing-doc > *:not(.doc-overlay){display:none !important;}
  body.printing-doc .doc-overlay{position:static;background:none;padding:0;overflow:visible;}
  body.printing-doc .doc-modal{box-shadow:none;max-width:none;}
  body.printing-doc .modal-head,body.printing-doc .doc-actions,body.printing-doc .cd-howto{display:none !important;}
  body.printing-doc .cd-doc{border:none;padding:0;font-size:12pt;}
}

/* Окна «Новая задача» и «Назначить показ» (23.10.2026): привязка, быстрые кнопки, выбор из списка. */
.link-chip{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap;max-width:100%;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:8px 12px;font-size:12.5px;color:var(--muted);margin-bottom:12px;}
.link-chip b{color:var(--navy);font-weight:700;}
.link-chip svg{width:15px;height:15px;color:var(--teal);flex:none;}
.quick-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.quick-row.tight .seg-btn{padding:5px 11px;font-size:11.5px;}
.seg-btn:disabled{opacity:.4;cursor:not-allowed;}
.pick-sec{margin-bottom:14px;}
.pick-l{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:6px;}
.pick-search{width:100%;margin-bottom:6px;padding:9px 11px;border:1px solid var(--border);border-radius:8px;outline:none;background:#fff;font:inherit;font-size:13px;}
.pick-search:focus{border-color:var(--teal);}
@media (max-width:640px){ .pick-search{font-size:16px;} }
.pick-list{max-height:210px;overflow-y:auto;border:1px solid var(--border);border-radius:10px;padding:4px;display:flex;flex-direction:column;gap:2px;}
.pick-row{display:flex;align-items:center;gap:10px;width:100%;border:1px solid transparent;background:none;border-radius:8px;padding:8px 10px;font:inherit;text-align:left;cursor:pointer;color:var(--text);}
.pick-row:hover{background:var(--bg);}
.pick-row.on{background:var(--teal-tint);border-color:rgba(31,169,156,.45);}
.pick-row[hidden]{display:none;}
.pick-main{flex:1;min-width:0;}
.pick-main b{display:block;font-size:13px;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pick-main small{display:block;font-size:11.5px;color:var(--muted);margin-top:1px;}
.pick-id{font-size:11px;color:var(--muted);flex:none;}
.pick-empty{padding:14px;text-align:center;font-size:12.5px;color:var(--muted);}
.overlap-warn{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding:10px 12px;border-radius:10px;background:#FFF6E0;border:1px solid rgba(201,151,40,.35);font-size:12.5px;color:#8A6411;}
.overlap-warn svg{width:16px;height:16px;flex:none;}
.overlap-warn span{flex:1;min-width:200px;}
.lbl-opt{font-weight:500;color:#A3AFB9;font-size:11px;margin-left:4px;}
.pick-search[hidden],.pick-list[hidden]{display:none;}

/* История и заметки в карточке (23.10.2026). */
.sec-cnt{display:inline-block;min-width:18px;padding:0 6px;border-radius:9px;background:var(--bg);color:var(--muted);font-size:11px;line-height:18px;text-align:center;margin-left:4px;}
.note-add{display:flex;gap:8px;align-items:flex-end;margin-bottom:14px;}
.note-add textarea{flex:1;min-height:42px;resize:vertical;padding:9px 11px;border:1px solid var(--border);border-radius:8px;outline:none;font:inherit;font-size:13px;}
.note-add textarea:focus{border-color:var(--teal);}
.tl-item.note .tl-text{background:#F4FBFA;border:1px solid rgba(31,169,156,.25);border-radius:8px;padding:7px 10px;margin-top:4px;white-space:pre-line;}
.tl-badge{display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--teal);margin-right:6px;}
.tl-item.fresh .tl-text{animation:freshNote 1.6s ease-out;}
@keyframes freshNote{from{background:#D8F1EC;}}
@media (max-width:640px){
  .note-add{flex-direction:column;align-items:stretch;}
  .note-add textarea{font-size:16px;}
}
.rel-check{width:22px;height:22px;border:1.5px solid #C7D2D9;border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;flex:none;cursor:pointer;padding:0;color:#fff;margin:0 3px;}
.rel-check.on{background:var(--teal);border-color:var(--teal);}
.rel-check svg{width:13px;height:13px;}

/* Дата и время в окнах задачи и показа на телефоне (23.10.2026): в Safari на iPhone поля даты и
   времени шире колонки и наезжали на соседнюю вместе с кнопками под ними — на телефоне в одну колонку. */
.seg-btn{white-space:nowrap;line-height:1.2;}
@media (max-width:640px){
  .form-grid.dt-grid{grid-template-columns:minmax(0,1fr);}
  .fld{min-width:0;}
  .fld input[type="date"],.fld input[type="time"]{min-width:0;max-width:100%;-webkit-appearance:none;appearance:none;min-height:40px;text-align:left;}
  .quick-row{gap:8px;}
}

/* Поле выбора клиента/объекта как выпадающий список (23.10.2026). */
.pick-field{display:flex;align-items:center;gap:9px;width:100%;min-height:42px;padding:8px 11px;border:1px solid var(--border);border-radius:8px;background:#fff;font:inherit;text-align:left;cursor:pointer;color:var(--text);margin-bottom:6px;}
.pick-field:hover,.pick-field.open{border-color:var(--teal);}
.pick-field:not(.empty){background:var(--teal-tint);border-color:rgba(31,169,156,.45);}
.pick-field > svg:first-child{width:16px;height:16px;color:var(--teal);flex:none;}
.pick-field-main{flex:1;min-width:0;}
.pick-field-main b{display:block;font-size:13px;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pick-field-main small{display:block;font-size:11.5px;color:var(--muted);}
.pick-field-ph{flex:1;font-size:13px;color:#8A97A3;}
.pick-chev{width:18px;height:18px;color:var(--muted);flex:none;margin-left:auto;transition:transform .15s;}
.pick-field.open .pick-chev{transform:rotate(180deg);}
@media (max-width:640px){ .pick-field-ph,.pick-field-main b{font-size:15px;} }

/* Телефон (23.10.2026): боковая панель и колокольчик листаются пальцем.
   На iPhone 100vh выше видимой части экрана — низ меню уходил под панель Safari. 100dvh — ровно видимая часть. */
@media (max-width:860px){
  .sidebar{top:0;bottom:0;height:100vh;height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
    padding-bottom:calc(24px + env(safe-area-inset-bottom));}
}
.bell-panel{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
@media (max-width:640px){
  .topbar .bell-panel{max-height:calc(100vh - 90px);max-height:calc(100dvh - 90px);}
}

/* Колокольчик: заголовок на месте, список листается (23.10.2026). */
.bell-panel{display:flex;flex-direction:column;overflow:hidden;max-height:none;}
.bell-panel .bell-head{flex:none;}
.bell-list{max-height:318px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-behavior:smooth;
  display:flex;flex-direction:column;gap:4px;padding:2px 2px 4px;}
@media (max-width:640px){
  .topbar .bell-panel{max-height:none;}
  .bell-list{max-height:min(318px, calc(100dvh - 170px));}
}
.na-box.planned{background:#EEF3F9;border-color:rgba(42,95,168,.25);}

/* Окно «Итог» выполненного действия (23.10.2026). */
.ad-sec{margin-bottom:16px;}
.ad-l{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:var(--navy);margin-bottom:8px;}
.ad-n{width:20px;height:20px;border-radius:50%;background:var(--teal-tint);color:var(--teal);font-size:11px;display:inline-flex;align-items:center;justify-content:center;flex:none;}
.ad-sec textarea,#ad_text{width:100%;margin-top:8px;padding:9px 11px;border:1px solid var(--border);border-radius:8px;outline:none;font:inherit;font-size:13px;}
.ad-sec textarea:focus,#ad_text:focus{border-color:var(--teal);}
#ad_next_box[hidden]{display:none;}
.seg-btn.ad-none.on{background:#EEF1F4;border-color:#C5CDD5;color:var(--navy);}
.ad-stage{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;margin-bottom:10px;cursor:pointer;}
.ad-stage input{width:18px;height:18px;accent-color:var(--teal);margin:0;}
.ad-outcome{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--muted);}
@media (max-width:640px){ .ad-sec textarea,#ad_text{font-size:16px;} }
.modal-back{display:flex;align-items:center;gap:6px;width:100%;border:none;border-bottom:1px solid var(--border);background:var(--bg);padding:8px 22px;font:inherit;font-size:12.5px;font-weight:700;color:var(--teal);cursor:pointer;text-align:left;border-radius:12px 12px 0 0;}
.modal-back:hover{background:var(--teal-tint);}
.modal-back span{font-size:15px;line-height:1;}
@media (max-width:640px){ .modal-back{padding:9px 16px;border-radius:0;} }
a.tel-link{color:inherit;text-decoration:none;border-bottom:1px dashed rgba(31,169,156,.6);}
.match-row.clickable,.rel-row.clickable{cursor:pointer;}
.match-row.clickable:hover,.rel-row.clickable:hover{border-color:rgba(31,169,156,.45);background:#FAFDFC;}

/* Показы (24.10.2026): статус, карточка показа, плашки запроса и итога. */
.sh-badge{display:inline-block;font-size:10.5px;font-weight:800;padding:3px 9px;border-radius:20px;white-space:nowrap;vertical-align:middle;}
.sh-badge.sh-req{background:#FFF6E0;color:#8A6411;}
.sh-badge.sh-plan{background:#E7F0FB;color:#2A5FA8;}
.sh-badge.sh-done{background:var(--teal-tint);color:var(--teal);}
.sh-badge.sh-fail,.sh-badge.sh-late{background:#FBE4E1;color:#C9564A;}
.sh-badge.sh-off{background:#EEF1F4;color:var(--muted);}
.obj-detail-id .sh-badge{margin-left:6px;}
.sh-banner{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:var(--radius);margin-bottom:14px;font-size:13px;border:1px solid transparent;}
.sh-banner > div:first-child,.sh-banner.wait{display:flex;gap:9px;align-items:flex-start;}
.sh-banner svg{width:17px;height:17px;flex:none;margin-top:1px;}
.sh-banner.req{background:#FFF6E0;border-color:rgba(201,151,40,.35);color:#5E4510;}
.sh-banner.wait{background:#E7F0FB;border-color:rgba(42,95,168,.2);color:#22487C;}
.sh-banner.late{background:#FBE4E1;border-color:rgba(201,86,74,.3);color:#8E2F25;}
.sh-banner-acts{display:flex;gap:8px;flex-wrap:wrap;}
.sh-banner .overlap-warn{margin-top:0;}
.sh-overlap:empty{display:none;}
.sh-outcome{margin-top:16px;padding:12px 14px;border-radius:var(--radius);background:var(--teal-tint);font-size:13px;}
.sh-outcome.off{background:#F3F5F7;}
.sh-outcome-t{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--navy);}
.sh-outcome p{margin:6px 0 0;}
.sh-note{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--muted);margin:12px 0 0;line-height:1.5;}
.sh-note svg{width:15px;height:15px;flex:none;margin-top:2px;}
.sh-link{font-size:13px;text-align:left;}
.spec-item.sh-span{grid-column:1 / -1;}
.sh-mode .seg-btn{flex:1;justify-content:center;text-align:center;}
#sr_next_box{margin-top:8px;}
#sr_next_box[hidden]{display:none;}
#sr_next_text,#sr_next_date{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:8px;outline:none;font:inherit;font-size:13px;margin-bottom:6px;}
#sr_next_text:focus,#sr_next_date:focus{border-color:var(--teal);}
.sh-nego{margin-top:10px;}
.sh-nego[hidden]{display:none;}
.pick-group{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;padding:10px 12px 4px;border-top:1px solid var(--border);}
#s_request_box[hidden],#s_resp_box[hidden]{display:none;}
#s_request_box .fld{margin-top:8px;}
@media (max-width:640px){
  #sr_next_text,#sr_next_date{font-size:16px;}
  .sh-banner-acts .btn{flex:1;justify-content:center;}
}

/* Карточка сделки (24.10.2026). */
.pipe-ro .pipe-step{cursor:default;pointer-events:none;}
.dl-mine{display:flex;align-items:center;gap:7px;margin:12px 0 0;padding:10px 12px;border-radius:var(--radius);background:#FFF8E6;color:#5E4510;font-size:13px;}
.dl-mine svg{width:16px;height:16px;flex:none;}
.dl-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}

/* Форма объекта (24.10.2026): счётчик символов описания (от 200). */
.desc-count{font-size:11.5px;color:var(--muted);margin-top:4px;text-align:right;}
.desc-count.short{color:#C9564A;font-weight:700;}
/* Галочка «WhatsApp совпадает с телефоном» под полем WhatsApp */
.wa-same{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;font-weight:500;color:var(--muted);cursor:pointer}
.wa-same input{width:auto;margin:0}
/* Коллеге после подтверждённого показа открыты квартира и подъезд (A4) */
.apt-open-note{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:#2A5FA8;background:#EEF3F9;border:1px solid rgba(42,95,168,.25);border-radius:8px;padding:9px 12px;margin:12px 0 0;line-height:1.45;}
.apt-open-note svg{flex:none;width:14px;height:14px;margin-top:1px;}
/* «Продаёт сам собственник» в форме объекта */
.owner-self{display:flex;align-items:center;gap:8px;margin:12px 0 4px;font-size:13px;font-weight:600;color:var(--navy);cursor:pointer}
.owner-self input{width:auto;margin:0}
/* Кнопка «Сгенерировать описание» и счётчик под описанием */
.desc-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}
.desc-foot .desc-count{margin-top:0}
.desc-gen{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.desc-gen-left{font-size:11.5px;color:var(--muted)}
/* Описание объекта: переносы строк агента сохраняются, длинные слова и ссылки переносятся
   (иначе на телефоне страница уезжала вправо). */
.obj-desc{font-size:13px;white-space:pre-line;overflow-wrap:anywhere;}
.modal-body{overflow-x:hidden;}
.modal-body p,.tl-text,.match-row{overflow-wrap:anywhere;}
.match-row .btn{flex:none}
/* Небольшое окно (смена пароля, 26.10.2026): карточкой по центру и на телефоне. */
.modal.modal-sm{max-width:420px;}
@media (max-width:640px){
  .overlay.overlay-sm{padding:16px;align-items:center;}
  .overlay.overlay-sm .modal.modal-sm{height:auto;min-height:0;border-radius:14px;box-shadow:0 20px 60px rgba(15,42,71,0.3);}
}
