:root{
  --rn-bg:#0d1014; --rn-surface:#14181d; --rn-soft:rgba(255,255,255,.04);
  --rn-border:rgba(255,255,255,.10); --rn-text:#e6e8ea; --rn-muted:#9aa3ae;
  --rn-primary:#F58220; --rn-primary-2:#d96f14;
}
*{font-family:"Roboto",system-ui,-apple-system,Segoe UI,Arial,sans-serif;}
.rn-nav{background:rgba(20,24,29,.92);border-bottom:none;box-shadow:0 1px 0 rgba(255,255,255,.04);}
.rn-footer{background:rgba(20,24,29,.92);border-top:1px solid rgba(255,255,255,.06);padding:10px 0;}
.rn-main{min-height:calc(100vh - 72px - 56px);}

/* фон + анимация */
.rn-body{
  background:
    radial-gradient(1400px 700px at 75% -20%, rgba(245,130,32,.22), transparent 60%) no-repeat,
    radial-gradient(900px 560px at 12% -12%, rgba(217,111,20,.18), transparent 60%) no-repeat,
    #0d1014 !important;
  animation: rn-bg-move 10s ease-in-out infinite alternate;
}
@keyframes rn-bg-move{
  0%{background-position:75% -20%, 12% -12%;}
  100%{background-position:70% -6%, 15% -4%;}
}

/* базовые элементы */
.card.bg-soft{background:var(--rn-surface);border:1px solid var(--rn-border);border-radius:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);}
.form-control{background:#11161b;border:1px solid rgba(255,255,255,.14);color:var(--rn-text);border-radius:10px;}
.form-control::placeholder{color:#88919a;}
.btn.rn-btn-primary{background-color:var(--rn-primary);border-color:var(--rn-primary);color:#101215;}
.btn.rn-btn-primary:hover{background-color:var(--rn-primary-2);border-color:var(--rn-primary-2);color:#fff;}

/* Ограничение высоты правой карточки с таблицей */
.rn-col:last-child .card {
  max-height: 500px;   /* уменьши рамку по высоте */
  overflow-y: auto;    /* прокрутка внутри */
  margin-bottom: 32px; /* чтобы не прилипала к футеру */
}


/* Правая карточка: всегда до футера с зазором */
.rn-col:last-child .card {
  max-height: calc(100vh - 200px); /* подстраивается под экран */
  margin-bottom: 20px;             /* фиксированный отступ до футера */
  overflow-y: auto;
}


/* ==== Leads layout cap to keep 20px gap above footer ==== */
.rn-leads-card{
  /* подстройка под высоту хедера/заголовка; оставляем 20px до футера */
  max-height: calc(100vh - 240px) !important;
  margin-bottom: 20px !important;
  overflow-y: auto;
}
.rn-leads-tablewrap{
  /* внутри карточки ещё запас под заголовок + тулбар */
  max-height: calc(100vh - 320px) !important;
  overflow: auto !important;
}

/* На маленьких экранах просто даём обычный поток без жёстких ограничений */
@media (max-width: 991.98px){
  .rn-leads-card{ max-height:none !important; margin-bottom: 20px !important; }
  .rn-leads-tablewrap{ max-height:none !important; }
}

/* высота футера (примерно) */
:root{ --rn-footer-h: 64px; }

/* правая карточка: держим 20px зазор до футера, скролл внутри */
.rn-leads-card{
  /* вычитаем: хедер ~64 + заголовок/поля ~80 + футер 64 + зазор 20 */
  max-height: calc(100vh - (64px + 80px + var(--rn-footer-h) + 20px)) !important;
  margin-bottom: 20px !important;
  overflow: hidden !important;
  display: flex; flex-direction: column;
}
/* внутренняя обёртка таблицы реально скроллится */
.rn-leads-tablewrap{
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto !important;
}

/* MARK: DASH-FIX v7 */
:root{ --rn-footer-h:64px; }

/* правая карточка (таблица лидов): держим зазор 20px до фикс-футера */
.rn-grid .rn-col:last-child .card.rn-leads-card{
  margin-bottom: 20px !important;
  max-height: calc(100vh - (var(--rn-footer-h) + 200px)) !important; /* подстройка: хедер+заголовок */
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

/* внутренняя обёртка с таблицей — скроллится сама */
.rn-grid .rn-col:last-child .rn-leads-tablewrap{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: auto !important;
  max-height: calc(100vh - (var(--rn-footer-h) + 260px)) !important;
}
@media (max-width: 991.98px){
  .rn-grid .rn-col:last-child .card.rn-leads-card{ max-height:none !important; }
  .rn-grid .rn-col:last-child .rn-leads-tablewrap{ max-height:none !important; }
}

/* MARK: DASH-FIX v8 — reduce leads card bottom gap to 10px */
.rn-grid .rn-col:last-child .card.rn-leads-card{ margin-bottom:10px !important; }
/* на случай ранней версии без rn-leads-card */
.rn-col:last-child .card{ margin-bottom:10px !important; }
.table-striped > tbody > tr:nth-of-type(odd) > * { background: transparent !important; }
/* MARK: DASH-REALIGN v1 */
/* правая карточка должна начинаться на уровне карточки слева (ниже H1) */
.rn-offset-top{ margin-top: 46px; }

/* прозрачный фон таблицы (убираем серый) */
.table{ background:transparent; --bs-table-bg: transparent; }
.table thead, .table tbody, .table tr, .table td, .table th{ background:transparent; }

/* прокрутка правой таблицы и зазор до футера (как было) */
.rn-table-wrap{ max-height: calc(100vh - 230px); overflow:auto; }
\EOF
/* DASH-REALIGN */
.rn-offset-top{ margin-top:46px; }                 /* чтобы правая карточка начиналась ниже заголовка слева */
.table{ background:transparent; --bs-table-bg:transparent; }
.table thead,.table tbody,.table tr,.table td,.table th{ background:transparent; }
.rn-table-wrap{ max-height:calc(100vh - 230px); overflow:auto; }  /* таблица скроллится, а не тянет футер */

/* MARK: DASH-HEIGHT-10CM */
.rn-table-wrap{max-height:calc(100vh - 10cm - 200px);overflow:auto;}

/* MARK: TABLE-NO-BG */
.table { background: transparent !important; }

/* MARK: TABLE-NO-BG v2 */
.table{
  background: transparent !important;
  --bs-table-bg: transparent;
  --bs-table-striped-bg: transparent;
  /* границы оставляем как были */
  --bs-table-border-color: rgba(255,255,255,.08);
}
.table>:not(caption)>*>*{
  background-color: transparent !important;
}

/* MARK: TABLE-NO-BG v3 — убираем фон у самой таблицы */
.table{
  background: transparent !important;
  --bs-table-bg: transparent !important;
  --bs-table-striped-bg: transparent !important;
  --bs-table-hover-bg: transparent !important;
}
/* ячейки и заголовки */
.table>:not(caption)>*>*{
  background: transparent !important;
  background-color: transparent !important;
}
/* на всякий случай для striped */
.table.table-striped > tbody > tr:nth-of-type(odd) > *{
  --bs-table-accent-bg: transparent !important;
}
/* повышаем специфичность внутри карточки, но только для таблицы */
.card .table,
.card .table thead,
.card .table tbody,
.card .table tr,
.card .table th,
.card .table td{
  background: transparent !important;
  background-color: transparent !important;
}

/* MARK: TABLE-NO-BG v5 (scoped to rn-table-wrap) */
.rn-table-wrap table,
.rn-table-wrap table *{
  background: transparent !important;
  background-color: transparent !important;
}

/* MARK: TABLE-NO-BG v6 — именно ячейки данных */
.rn-table-wrap table tbody tr > td{
  background: transparent !important;
  background-color: transparent !important;
  --bs-table-bg: transparent !important;
  --bs-table-accent-bg: transparent !important;
}

/* Правая карточка в кабинете выравнивается по верхней границе с левой */
.row.g-4.align-items-start .col-lg-7 .card{
  margin-top: calc(1.5rem + .5rem); /* столько же, сколько h1.mb-3 слева */
}

/* MARK: ALIGN-FIX */
.rn-offset-top{ margin-top:48px !important; }


/* На десктопе слегка опускаем первую карточку в правой колонке (col-lg-7) */
@media (min-width: 992px){
    margin-top: 8px; /* при необходимости подправь 6–12px */
  }
}

/* MARK: LEFT-RESET — вернуть левую шапку и карточку вверх */
@media (min-width: 992px){
  /* заголовок слева */
  .rn-main h1{ margin-top:0 !important; }
  /* первая карточка в левой колонке */
  .rn-main .col-lg-5 > .card:first-child{ margin-top:0 !important; }
}
/* на всякий случай обнулим кастомный класс, если он где-то висит */
.rn-offset-top{ margin-top:0 !important; }

@media (min-width: 992px){
    margin-top: 14px !important; /* если будет не вровень, поменяем 14 на 12/16 */
  }
}
@media (min-width: 992px){
    margin-top: 46px !important; /* если будет чуть ниже/выше — поменяй 46 на 44/48 */
  }
}

/* === Stats tiles (enlarged 1.5x) === */
.rn-stats-grid { --rn-stat-scale: 1.5; }

.rn-stat-tile{
  display:flex; align-items:center; justify-content:space-between;
  background:#171a1f; border:1px solid #272b33; border-radius:12px;
  padding: calc(10px * var(--rn-stat-scale)) calc(12px * var(--rn-stat-scale));
  position:relative;
}

.rn-stat-left{
  display: flex;
  align-items: center;
  gap: .6rem;
}
.rn-stat-ico{
  width: calc(16px * var(--rn-stat-scale));
  height: calc(16px * var(--rn-stat-scale));
  display:inline-block;
  border-radius:4px;
  background: #ff7a00;            /* фирменный оранжевый для иконок */
  mask-size: contain; mask-repeat: no-repeat; mask-position: center;
  -webkit-mask-size: contain; -webkit-mask-repeat: no-repeat; -webkit-mask-position: center;
}

/* Простые пиктограммы: используем mask из CSS (можешь заменить на свои svg) */
.rn-ico-spark { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='%23000' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 2l1.5 4.5L19 8l-4.5 1.5L13 14l-1.5-4.5L7 8l4.5-1.5L13 2z'/%3E%3C/svg%3E"); }
.rn-ico-form  { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='%23000' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 2h12a2 2 0 012 2v16a2 2 0 01-2 2H6a2 2 0 01-2-2V4a2 2 0 012-2zm2 6h8v2H8V8zm0 4h8v2H8v-2z'/%3E%3C/svg%3E"); }
.rn-ico-doc   { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='%23000' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6zM13 9V3.5L18.5 9H13z'/%3E%3C/svg%3E"); }
.rn-ico-c2f   { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='%23000' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12l5-5v3h6v4H10v3l-5-5z'/%3E%3C/svg%3E"); }
.rn-ico-c2s   { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='%23000' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 12l6-6v4h10v4H10v4l-6-6z'/%3E%3C/svg%3E"); }
.rn-ico-f2s   { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='%23000' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 6h10v4H7V6zm0 8h10v4H7v-4z'/%3E%3C/svg%3E"); }

.rn-stat-label{ font-size: calc(12px * var(--rn-stat-scale)); color:#c2c7d0; }
.rn-stat-val  { font-weight:600; font-size: calc(16px * var(--rn-stat-scale)); }
/* значок i: рядом со значением, без absolute */
.rn-stat-help{
  position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
  width: 14px; height: 14px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.25);
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent; color: rgba(255,255,255,.8);
  font-size: .6rem; line-height: 1; cursor: help; user-select: none;
  margin:0;
}
.rn-stat-right{
  display:flex; align-items:center; gap:0;
  padding-right: 22px;   /* место под абсолютный кружок i (14px + рамка + зазор) */
}

/* Кнопка в фирменном оранжевом цвете */
.btn-primary {
  background-color: var(--rn-primary);
  border-color: var(--rn-primary);
  color: #fff;
}
.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--rn-primary-2);
  border-color: var(--rn-primary-2);
  color: #fff;
}
/* === фикс хедера === */
.rn-nav.navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  border-bottom: none;
  box-shadow: none;
  outline: none;
  border: none;
}

body {
  padding-top: 84px; /* компенсирует высоту навбара */
}

body {
  padding-bottom: 50px; /* компенсирует высоту футера */
}