/* лёгкие твики поверх bootstrap */
.card { border-radius: 14px; }
.table td, .table th { padding: .55rem .75rem; }

/* чтобы контент не прятался под нижним плеером */
main.container { padding-bottom: 92px; }

/* calls table */
.calls-table { table-layout: fixed; width: 100%; }
.calls-table-card { overflow: visible; }
.table-responsive { overflow-x: auto !important; overflow-y: visible !important; position: relative; }
.calls-table-wrap { overflow: visible !important; }
.calls-table-wrap .dropdown-menu { z-index: 3000; }
.calls-table-wrap table { overflow: visible; }
.calls-table-wrap thead { position: sticky; top: 0; z-index: 2; }
.calls-table-wrap tbody { position: relative; z-index: 1; }
.calls-table thead { position: relative; z-index: 2; }
.calls-table tbody { position: relative; z-index: 1; }
.calls-table .dropdown-menu { z-index: 2000; }

/* колонки (оставляем как было, если нужно — потом подстроим) */
.calls-col-admin { width: 130px; }
.calls-col-play { width: 56px; }
.calls-col-date { width: 120px; }
.calls-col-time { width: 90px; }
.calls-col-phone {
  width: 130px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.calls-col-dir { width: 90px; text-align: center; }
.calls-col-type { width: 140px; }
.calls-col-booking { width: 120px; }
.calls-col-lead { width: 100px; }
.calls-col-audit { width: 120px; white-space: nowrap; }
.calls-col-snippet {
  width: auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ссылка сниппета */
.snippet-link {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-decoration: none;
}
.snippet-link:hover { text-decoration: none; }

/* --- ШАПКА: высота ×2, единый шрифт, никаких "наездов" --- */
.calls-table thead th{
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  vertical-align: middle;
}

.calls-th-toggle,
.calls-th-static{
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  min-height: 44px;  /* визуально почти x2 */
}

.calls-th-toggle{
  border: 0;
  background: transparent;
  text-align: left;
  padding: 0;
  color: inherit;      /* одинаковый цвет как у прочих заголовков */
  cursor: pointer;
}

.th-title-row{
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.th-sub{
  font-size: 12px;
  font-weight: 400;
  color: #6b7280;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; /* главное: выбранное значение не лезет в соседние колонки */
}

.th-caret{
  font-size: 12px;
  opacity: .7;
  flex: 0 0 auto;
}

/* нижняя панель плеера */
.audio-bar{
  position: fixed;
  left: 0; right: 0; bottom: 0;
  background: #fff;
  border-top: 1px solid rgba(0,0,0,.1);
  z-index: 1030;
}
.audio-bar audio { width: min(640px, 100%); }

/* --- Компактнее текст в таблице (tbody) --- */
.calls-table tbody td{
  font-size: 13px;
  line-height: 1.2;
  padding-top: .45rem;
  padding-bottom: .45rem;
}

/* чтобы не переносились слова и не "ломали" строки */
.calls-col-dir,
.calls-col-type,
.calls-col-booking,
.calls-col-lead,
.calls-col-audit{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* --- cases table --- */
.cases-col-admin { width: 120px; white-space: nowrap; overflow:hidden; text-overflow:ellipsis; }

.cases-table { table-layout: fixed; width: 100%; }
.cases-table tbody td{ font-size: 13px; line-height: 1.2; padding-top: .45rem; padding-bottom: .45rem; }

.cases-col-created { width: 120px; white-space: nowrap; }
.cases-col-status  { width: 160px; white-space: nowrap; overflow:hidden; text-overflow:ellipsis; }
.cases-col-phone   { width: 140px; white-space: nowrap; }
.cases-col-updated { width: 120px; white-space: nowrap; }
.cases-col-result  { width: 140px; white-space: nowrap; overflow:hidden; text-overflow:ellipsis; }
.cases-col-lead    { width: 120px; white-space: nowrap; overflow:hidden; text-overflow:ellipsis; }
.cases-col-count   { width: 90px;  white-space: nowrap; text-align:center; }
.cases-col-snippet { width: auto;  white-space: nowrap; overflow:hidden; text-overflow:ellipsis; }

.case-calls-table td{ font-size: 13px; }

/* settings tabs */
.settings-tabs .tab-pill{
  display: inline-flex;
  align-items: center;
  padding: .35rem .75rem;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.04);
  color: inherit;
  text-decoration: none;
  transition: background .12s ease, border-color .12s ease, opacity .12s ease;
}
.settings-tabs .tab-pill:hover{
  background: rgba(0,0,0,.07);
}
.settings-tabs .tab-pill.active{
  background: rgba(13,110,253,.12);
  border-color: rgba(13,110,253,.35);
  color: #0d6efd;
}
.settings-tabs .tab-pill.disabled{
  opacity: .5;
  pointer-events: none;
}

/* manual overrides */
.call-manual td{
  background: #e7f7ea;
}

.call-field{
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.call-edit-display{
  border: 1px dashed transparent;
  background: transparent;
  border-radius: 8px;
  padding: 0 6px;
  font-size: 13px;
}
.call-edit-display:hover{
  border-color: rgba(0,0,0,.18);
  background: rgba(0,0,0,.03);
}

/* --- typography cleanup: only headings bold, no underlines --- */
a, a:hover, a:focus { text-decoration: none; }
summary { text-decoration: none; font-weight: 400; }
.fw-bold, .fw-semibold { font-weight: 400 !important; }
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.navbar-brand,
.th-title-row {
  font-weight: 600;
}
main b, main strong { font-weight: 400 !important; }
main u, main ins { text-decoration: none !important; }
main .vm-html *, main .js-ai-content * { text-decoration: none !important; font-weight: 400 !important; }
.vm-html b, .vm-html strong { font-weight: 400; }

.manual-override-value{
  background: #d8f5db;
  border-color: #b7e8c0;
}
body {
  font-family: "Ubuntu", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
