/* /admin/doctor_lk_redisign.css (v2) */
/* Токены */
:root{
  --lk-hero-bg: var(--ni-primary, #1E3E8E);
  --lk-hero-fg: #fff;

  --lk-aside-w: 260px;
  --lk-gap: 32px;

  --lk-border: #E5E7EB;
  --lk-muted: #64748B;
  --lk-text: #222;

  --lk-card: #FFFFFF;
  --lk-panel: #F9F8F8; /* светлое полотно как в макете */
  --lk-verify-bg: #F9F8F8;

  --lk-dash: #0E285D;
}

body {
  background: #fff; 
}

/* Отступ под липкий header */
.lk-root{ margin-top:40px; color:var(--lk-text); }

/* УЗКАЯ ПЛАШКА */
.lk-hero{
  background: var(--lk-hero-bg);
  color: var(--lk-hero-fg);
  padding: 18px 0 22px;
}
.lk-hero__inner{
  text-align:center;
  flex-direction: column;

}
.lk-hero__title{
  font-family: var(--ni-head, "Unbounded", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif);
  font-weight: 800;
  font-size: clamp(22px, 2.8vw, 40px);
  margin: 0;
}
.lk-hero__subtitle{
  margin: 2px 0 0;
  opacity:.9;
  font-size: 20px;
}

/* ЛЕЙАУТ */
.lk-layout{
  display:grid;
  grid-template-columns: var(--lk-aside-w) 1fr;
  gap: var(--lk-gap);
  padding: 28px 0 52px;
  align-items: start;
}

/* САЙДБАР */
.lk-aside{
  position: sticky; top:120px; align-self:start;
  padding-right: 14px;
  border-right:1px solid var(--lk-border);
}
.lk-menu{ display:flex; flex-direction:column; gap:14px; padding-top: 15px;}
.lk-menu__item{
  display:flex; align-items:center; gap:10px;
  text-decoration:none; color:var(--lk-text);
  padding:6px 2px 6px 0;
  border-left:3px solid transparent;
}
/* размеры иконок перенесены из разметки сюда */
.lk-menu__icon{ display:block; flex:0 0 auto; width:22px; height:22px; }
/* уникальный размер для пункта "Список пациентов" (4-й элемент меню) */
.lk-menu__item:nth-child(4) .lk-menu__icon{ width:22px; height:18px; }
.lk-menu__item:nth-child(5) .lk-menu__icon{ width:22px; height:22px; }

.lk-menu__text{ font-weight:500; }
.lk-menu__item:hover{ color:var(--ni-primary, #1E3E8E); }
.lk-menu__item.is-active{
  border-bottom: solid 1px;
  border-bottom-color: var(--ni-primary, #1E3E8E);
  color: var(--ni-primary, #1E3E8E);
}

/* КОНТЕНТ */
.lk-content{ display:grid; gap:22px; }
.lk-section{ display:block; }

.lk-h2{
  font-family: var(--ni-head, "Unbounded", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif);
  font-size: clamp(20px, 2.2vw, 28px);
  font-weight:800;
  margin: 0 0 12px;
  color: var(--ni-text);
}
.lk-h3{ font-size: 20px; font-weight:800; margin:0 0 10px; color: #153983;}

/* ПАНЕЛЬ ПРОФИЛЯ (светлая, без сильной тени) */
.lk-panel{
  background: var(--lk-panel);
  padding: 18px 22px;
}
.lk-row{ display:grid; grid-template-columns: 1fr 1fr; gap:18px; }
.lk-col{ display:block; }

.lk-field {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    flex-direction: column;
}
.lk-label{ color:var(--lk-muted); font-size:20px; }

/* Линейка с пунктиром */
.lk-leader{ display:flex; align-items:center; gap:8px; }
.lk-leader__value{ font-weight:500; font-size: 18px;}

.lk-leader__value--password {
  letter-spacing: 2px;
}

.lk-leader__dots{
  flex:1 1 auto; border-bottom:2px dotted #CBD5E1; height:1px;
}

/* КАРТОЧКА ВЕРИФИКАЦИИ */
.lk-card{ background:var(--lk-card); padding: 18px; }
.lk-card--verify{ background: var(--lk-verify-bg); }

.lk-verify{ display:grid; grid-template-columns: 84px 1fr; gap:18px; align-items:center; }
.lk-verify__icon{
  width:84px; height:84px; border-radius:22px; background:#E8EEFF; display:grid; place-items:center;
  box-shadow: inset 0 0 0 1px #DDE5FF;
}
.lk-verify__face{
  background-image:url("/images/icons/verify-face.png");
  background-size:cover;
  background-position:center;
}

.lk-verify__rail{ display:flex; align-items:center; gap:8px; margin: 6px 0 8px; }
/* размеры иконок линии верификации перенесены из разметки сюда */
.lk-verify__rail img{ width:18px; height:18px; }

.lk-verify__dash{
  width: 40%;
  height: 2px;
  background: repeating-linear-gradient(
    to right,
    var(--lk-dash) 0 5px,    /* длина штриха */
    transparent 10px 18px     /* длина пробела */
  );
  border-radius: 0;
}


.lk-verify__text{ margin: 10px 0 14px; color:#334155; }
.lk-link{ color: var(--ni-primary, #1E3E8E); text-decoration: underline; text-underline-offset:2px; }

/* Синяя кнопка как в макете */
.ni-btn--brand {
    background: var(--ni-primary, #1E3E8E);
    color: #fff;
    height: auto;
    border-radius: 28px;
    padding: 10px 24px;
    border: 1px solid var(--ni-primary, #1E3E8E);
    font-weight: 700;
    cursor: pointer;
    font-size: 14px;
}
.ni-btn--brand:hover{ filter:brightness(.95); }
.ni-btn--brand:active{ transform: translateY(1px); }

/* Служебно: гарантированное скрытие секций с атрибутом hidden */
.lk-section[hidden] { display: none !important; }

/* Дашборд: сетка карточек со счетчиками */
.lk-stats-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 20px;
}

/* Карточка показателя */
.lk-stat-card{
  background: var(--lk-panel, #F9F8F8);
  border-radius: 16px;
  padding: 18px 20px;
}
.lk-stat__title{
  font-size: 16px;
  color: var(--lk-muted, #64748B);
  margin-bottom: 8px;
}
.lk-stat__value{
  font-size: 40px;
  line-height: 1;
  font-weight: 600;
  color: var(--ni-primary, #1E3E8E);
}
.lk-stat__unit{ font-size: 24px; font-weight: 500; }

/* Карточка с графиком */
.lk-chart-card{
  background: var(--lk-panel, #F9F8F8);
  border-radius: 16px;
  padding: 16px 20px 12px;
}
.lk-card__title{
  font-size: 16px;
  color: var(--lk-text, #222);
  margin-bottom: 8px;
}
.lk-chart{
  width: 100%;
  height: 260px;
  display: block;
  color: var(--ni-primary, #1E3E8E); /* цвет осей и линии */
}












/* ==== ПАЦИЕНТЫ: панель инструментов ==== */
.lk-patients__toolbar{
  display:grid;
  grid-template-columns: 1fr auto;
  gap:20px;
  align-items:center;
  margin-bottom:20px;
}

/* Поисковая строка с иконкой слева */
.lk-search{ position:relative; display:block; }
.lk-search__icon{
  position:absolute;
  left:18px;
  top:50%;
  transform:translateY(-50%);
  width:28px; height:28px;
  background-image:url('/images/icons/search.png');
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  pointer-events:none;
}
.lk-search__input{
  width:100%;
  height:56px;
  padding:0 20px 0 60px; /* отступ под иконку */
  border:none;
  outline:none;
  border-radius:16px;
  background:#F9F8F8;
  font-size:20px;
  color:var(--lk-text, #222);
}

/* Кнопка "Добавить пациента" — пилюля с плюсом справа */
.lk-add{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:12px 18px 12px 20px;
  border-radius:999px;
}
.lk-add__text{ font-weight:600; }
.lk-add__plus{
  width:20px; height:20px;
  background-image:url('/images/icons/plus.png');
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  display:inline-block;
}

/* ==== ПАЦИЕНТЫ: список/карточки ==== */
.lk-patients__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:16px;
}

/* Карточка-строка пациента */
.lk-patient{
  display:grid;
  grid-template-columns: 56px 1.6fr 1fr 1.2fr 48px;
  gap:16px;
  align-items:center;
  background:#F9F8F8;
  border-radius:16px;
  padding:20px;
}

/* Аватар с инициалом */
.lk-patient__avatar{
  width:56px; height:56px;
  border-radius:50%;
  background:#1E3E8E;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  text-transform:lowercase;
  font-size:22px;
}

/* Колонки и подписи */
.lk-patient__label{
  font-size:16px;
  color:var(--lk-muted, #64748B);
  margin-bottom:4px;
}
.lk-patient__value{
  font-size:18px;
  color:var(--lk-text, #222);
}
.lk-patient__muted{
  color:var(--lk-muted, #64748B);
  font-weight:400;
  font-size:16px;
}


.lk-patient__go:hover{ opacity:.92; }

.lk-patient__go{
  width:40px; height:40px;
  border-radius:999px;
  background-color:#1E3E8E;
  background-image:url('/images/icon-arrow-right.png'); /* ← вот это заменить */
  background-repeat:no-repeat;
  background-position:center;
  background-size:20px 20px;
  justify-self:end;
}






/* ====== ФИНАНСЫ: макет ====== */
.lk-finance-grid{
  display:grid;
  grid-template-columns: 2fr 1fr;
  gap:20px;
}
.lk-finance-left{ display:block; }
.lk-finance-right{ display:block; }

/* Метрики (4 карточки) */
.lk-finance-stats{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:16px;
  margin-bottom:20px;
}
.lk-fin-stat{
  background: var(--lk-panel, #F9F8F8);
  border-radius:16px;
  padding:18px 20px;
}
.lk-fin-stat__title{
  font-size:16px;
  color: var(--lk-muted, #64748B);
  margin-bottom:8px;
}
.lk-fin-stat__value{
  font-size:40px;
  line-height:1;
  font-weight:600;
  color: var(--ni-primary, #1E3E8E);
}
.lk-fin-unit{ font-size:24px; font-weight:500; }

/* История операций */
.lk-fin-history{ padding:16px 20px 20px; border-radius:16px; background: var(--lk-panel, #F9F8F8); }
.lk-fin-h2{ font-size:18px; margin-bottom:10px; color: var(--lk-text,#222); }

.lk-table--finance{
  display:block;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}
.lk-table__head{
  display:grid;
  grid-template-columns: 1.2fr 1.4fr 0.8fr 0.9fr;
  gap:0;
  padding:12px 16px;
  color:#222;
  font-weight:600;
  font-size:14px;
}
.lk-table__body{ display:block; }
.lk-table__row{
  display:grid;
  grid-template-columns: 1.2fr 1.4fr 0.8fr 0.9fr;
  padding:14px 16px;
  border-top:1px solid #E2E8F0;
  font-size:15px;
  color:#222;
  background:#fff;
}
.lk-table__row.is-empty{
  grid-template-columns: 1fr;
  text-align:left;
  color: var(--lk-muted, #64748B);
}

/* Форма заявки на вывод */
.lk-withdraw{
  background: var(--lk-panel, #F9F8F8);
  border-radius:16px;
  padding:16px 16px 18px;
}
.lk-input{
  width:100%;
  height:48px;
  border:none;
  outline:none;
  background:#fff;
  border-radius:12px;
  padding:10px 12px;
  font-size:16px;
}
.lk-withdraw__label{
  margin:10px 0 8px;
  font-size:14px;
  color: var(--lk-muted, #64748B);
}
.lk-withdraw__btn{
  width:100%;
  margin-top:14px;
}

/* Банковская карта (пример) */
.bank-card{
  position:relative;
  background: linear-gradient(135deg, #1E3E8E 0%, #3C67D1 100%);
  color:#fff;
  border-radius:14px;
  padding:16px 18px;
  min-height:130px;
  box-shadow: 0 6px 14px rgba(30,62,142,0.2);
}
.bank-card::after{
  content:"";
  position:absolute; right:-18px; top:-18px;
  width:140px; height:140px;
  border-radius:50%;
  background: rgba(255,255,255,0.08);
}
.bank-card__bank{ font-weight:700; letter-spacing:0.3px; }
.bank-card__pan{ margin:12px 0 10px; font-weight:600; letter-spacing:2px; }
.bank-card__row{ display:flex; justify-content:space-between; align-items:flex-end; gap:18px; }
.bank-card__caption{ font-size:12px; opacity:0.9; }
.bank-card__value{ font-weight:700; margin-top:2px; }




/* ===== Документооборот ===== */
.lk-docs{
  background: var(--lk-panel, #F9F8F8);
  border-radius: 16px;
  padding: 16px 20px;
}
.lk-docs__table{ display:block; }

/* Заголовок таблицы */
.lk-docs__head{
  display:grid;
  grid-template-columns: 1.6fr 1fr 0.6fr;
  gap:0;
  padding: 8px 0 12px;
  color:#222;
  font-weight:600;
  font-size:16px;
}

/* Строка */
.lk-docs__row{
  display:grid;
  grid-template-columns: 1.6fr 1fr 0.6fr;
  align-items:center;
  padding: 14px 0;
  text-decoration:none;
  color: inherit;
  border-bottom: 2px dotted rgba(30,62,142,.35); /* пунктирная линия как на макете */
}
.lk-docs__row:last-child{ border-bottom:none; }
.lk-docs__row:hover{ background: rgba(30,62,142,.03); }

/* Ячейки */
.lk-docs__filename{
  color: var(--ni-primary, #1E3E8E);
  border-bottom: 1px dotted currentColor;
}
.lk-docs__status{ color:#222; }
.lk-docs__status.is-wait{ color: var(--ni-primary, #1E3E8E); }
.lk-docs__date{
  color: var(--ni-primary, #1E3E8E);
  border-bottom: 1px dotted currentColor;
  justify-self:start;
}

/* ===== ЧАТ С МЕНЕДЖЕРОМ ===== */

/* Карточка чата */
.lk-chat{
  background: var(--lk-panel, #F9F8F8);
  border-radius: 16px;
  padding: 16px;
}

/* Лента сообщений */
.lk-chat__messages{
  height: 440px;                /* визуально как на макете */
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 8px;
}

/* Пузырьки */
.lk-bubble{
  max-width: min(70%, 780px);
  padding: 12px 16px;
  border-radius: 16px;
  line-height: 1.35;
  font-size: 18px;
  box-shadow: 0 1px 0 rgba(0,0,0,0.02);
}

/* Менеджер (слева, светлый) */
.lk-bubble.is-manager{
  align-self: flex-start;
  background: #FFFFFF;
  color: var(--lk-text, #222);
  border-top-left-radius: 8px;
}

/* Пользователь (справа, синий) */
.lk-bubble.is-user{
  align-self: flex-end;
  background: var(--ni-primary, #1E3E8E);
  color: #FFFFFF;
  border-top-right-radius: 8px;
}

/* Панель ввода */
.lk-chat__composer{
  margin-top: 18px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
}

.lk-chat__field{ display:block; }

.lk-chat__input{
  width: 100%;
  height: 56px;
  background: #FFFFFF;
  border: none;
  outline: none;
  border-radius: 999px;
  padding: 0 18px;
  font-size: 18px;
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.06);
  color: var(--lk-text, #222);
}

.lk-chat__send{
  height: 56px;
  border-radius: 999px;
  padding: 0 26px;
  font-weight: 600;
}

/* ===== КОНСТРУКТОР ЗАКАЗОВ ===== */

/* подзаголовок под H2 */
.lk-subtitle{
  margin: -6px 0 14px;
  color: var(--lk-muted,#64748B);
  font-size: 16px;
}

/* сетка 2 колонки */
.lk-ctor-grid{
  margin-top: 12px;
  display: grid;
  grid-template-columns: 1.2fr 1fr; /* левая шире */
  gap: 24px;
}

/* заголовки колонок */
.lk-ctor-head{
  font-weight: 700;
  color: var(--ni-primary,#1E3E8E);
  margin: 18px 0 10px;
  font-size: 20px;
}

/* блок списка */
.lk-ctor-list{
  background: var(--lk-panel,#F9F8F8);
  border-radius: 16px;
  padding: 8px 0;
}
.lk-ctor-item{
  display: grid;
  grid-template-columns: 56px 1.5fr 1fr;
  align-items: center;
  gap: 16px;
  padding: 14px 18px;
  background: transparent;
}
.lk-ctor-item + .lk-ctor-item{
  border-top: 2px dotted rgba(30,62,142,.35); /* пунктир между строками */
}
.lk-ctor-item:hover {
  cursor: pointer;
}

/* аватар с первой буквой */
.lk-ctor-avatar{
  width: 56px; height: 56px;
  border-radius: 50%;
  background: #1E3E8E;
  color: #fff;
  display:flex; align-items:center; justify-content:center;
  font-weight: 700; font-size: 22px;
  text-transform: lowercase;
}

/* колонки внутри строки */
.lk-ctor-name{ font-size: 18px; color: var(--lk-text,#222); }
.lk-ctor-code{ font-size: 14px; color: var(--lk-muted,#64748B); margin-top: 2px; }
.lk-ctor-label{ font-size: 14px; color: var(--lk-muted,#64748B); margin-bottom: 4px; }
.lk-ctor-value{ font-size: 16px; color: var(--lk-text,#222); word-break: break-word; }

/* индикатор (круг со стрелкой вниз) */
.lk-ctor-scroll{
  width: 44px; height: 44px;
  margin: 14px auto 0;
  border-radius: 999px;
  border: 2px solid var(--ni-primary,#1E3E8E);
  background: #fff url('/images/icons/arrow-down.png') center/18px 18px no-repeat;
  box-shadow: 0 3px 8px rgba(30,62,142,.12);
}

/* правая колонка (форма) */
.lk-ctor-form{
  background: var(--lk-panel,#F9F8F8);
  border-radius: 16px;
  padding: 16px;
}
.lk-ctor-form .lk-field + .lk-field{ margin-top: 10px; }
.lk-ctor-submit{ width: 100%; margin-top: 14px; }

/* ===== Заказ для пациента ===== */
.lk-order-head{
  display:grid;
  grid-template-columns: 56px 1.4fr 1fr;
  align-items:center;
  gap:16px;
  background: var(--lk-panel,#F9F8F8);
  border-radius:16px;
  padding:14px 18px;
  margin-bottom: 14px;
}
.lk-order-avatar{
  width:56px; height:56px; border-radius:50%;
  background:#1E3E8E; color:#fff; display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:22px; text-transform:lowercase;
}
.lk-order-name{ font-size:18px; color:var(--lk-text,#222); }
.lk-order-code{ font-size:14px; color:var(--lk-muted,#64748B); margin-top:2px; }
.lk-order-label{ font-size:14px; color:var(--lk-muted,#64748B); margin-bottom:2px; }
.lk-order-email{ font-size:16px; color:var(--lk-text,#222); word-break: break-word; }

/* табы "Готовые / Индивидуальные" */
.lk-order-tabs{ display:flex; gap:12px; margin: 12px 0 10px; }
.lk-otab{
  height:40px; padding:0 16px; border-radius:10px; border:2px solid #1E3E8E; background:#fff;
  color:#1E3E8E; font-weight:700; cursor:default;
}
.lk-otab.is-active{ background:#1E3E8E; color:#fff; }

.lk-otab:hover {
  cursor: pointer;
}
/* заголовок каталога */
.lk-order-cattitle{ margin:16px 0 8px; }


/* Панели внутри "Заказ для пациента" */
.lk-order-pane{ display:none; }
.lk-order-pane.is-active{ display:block; }
/* Сетка плиток форм (индивидуальный заказ) — ЧУТЬ УМЕНЬШЕНА */
.lk-forms-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr); /* оставляем 3 колонки */
  gap:22px;                               /* чуть меньше расстояние между плитками */
  max-width:980px;                         /* <— сузили общую ширину грIDA */
  margin:10px auto 0 0;                    /* прижали к левому краю */
}

.form-tile{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-decoration:none; color:inherit;
  padding:18px;                            /* слегка меньше «воздуха» внутри */
  border:1px solid transparent;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;

}

.form-tile__icon{
  width:180px; height:180px;               /* немного компактнее иконка */
  object-fit:contain; display:block;
}

.form-tile__title{
  margin-top:10px;
  font-weight:700;
  color: var(--ni-primary,#1E3E8E);
  text-align:center;
  font-size:20px;                          /* на 1 шаг компактнее */
}

.form-tile:hover{
  transform: translateY(-2px);
  border-color: rgba(30,62,142,.35);
  box-shadow: 0 8px 18px rgba(30,62,142,.12);
}


/* ===== Мастер индивидуального заказа (constructor-custom) ===== */

/* Поиск */
.ff-search{ position:relative; display:block; margin:10px 0 16px; }
.ff-search__icon{
  position:absolute; left:16px; top:50%; transform:translateY(-50%);
  width:28px; height:28px; background:url('/images/icons/search.png') center/contain no-repeat;
  pointer-events:none;
}
.ff-search__input{
  width:100%; height:56px; background:#F6F7FA; border:none; outline:none;
  border-radius:12px; padding:0 16px 0 56px; font-size:18px;
}

/* Сетка шагов */
.ff-steps-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:20px;
}

/* Карточка шага */
.ff-step{
  background:#F6F7FA;
  border-radius:12px;
  padding:12px;
}

/* Шапка шага */
.ff-step__head{
  display:flex; align-items:center; justify-content:space-between;
  padding:8px 12px; margin-bottom:10px;
}
.ff-step__l{ display:flex; align-items:center; gap:10px; }
.ff-step__num{
  width:26px; height:26px; border-radius:999px;
  display:flex; align-items:center; justify-content:center;
  background:#1E3E8E; color:#fff; font-weight:700; font-size:14px;
}
.ff-step__title{ font-weight:700; color:#222; }
.ff-step__chev{
  width:18px; height:18px;
  background:url('/images/icons/arrow-right-black.png') center/contain no-repeat;
}

/* Список элементов */
.ff-step__list{ display:flex; flex-direction:column; gap:10px; }
.ff-item{
  display:block; width:100%; text-align:left;
  background:#F6F7FA; border:1px solid #153983;
  border-radius:10px; padding:12px 14px;
  font-size:16px; color:#153983;
}
.ff-item:hover{ border-color:#C7D2FE; box-shadow:0 3px 8px rgba(30,62,142,.08); }
.ff-item.is-active{
  background:#1E3E8E; color:#fff; border-color:#1E3E8E;
}





/* ===== Расчёт молекул ===== */
.mol-grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:24px;
}
/* css/doctor_lk_redisign.css (строка ~431) */
.mol-card {
  position: relative;
  background-color: var(--ni-bg-alt, #FFFFFF);
  border-radius: 16px;
  border: 1px solid var(--lk-border, #E5E7EB);
  padding: 24px;
  box-shadow: 0 4px 12px rgba(30, 62, 142, 0.04);
  /* --- Добавьте эти две строки --- */
  display: flex;
  flex-direction: column;
}

.mol-close{
  position:absolute; right:16px; top:16px;
  width:32px; height:32px; border-radius:999px;
  display:grid; place-items:center;
  background:#fff; border:1px solid #D0D7E2;
}
.mol-close:hover{ box-shadow:0 4px 10px rgba(30,62,142,.12); }

.mol-title{
  color:var(--ni-primary,#1E3E8E);
  font-weight:800;
  font-size:44px;          /* визуально как на макете */
  line-height:1;
  margin-bottom:10px;
}

.mol-sub{ font-size:22px; color:#222; margin:0 0 14px; }
.mol-sub__range{ color:#64748B; font-size:20px; }

/* одна линия: бегунок + контролы */
.mol-controls{
  display: flex;
  align-items: center;
  gap: 16px;          /* расстояние между бегунком и кнопками */
  margin: 8px 0 12px; /* общий отступ сверху/снизу */
}


.mol-slider{
  flex: 1 1 auto;   /* слайдер занимает всю доступную ширину */
  margin: 0;        /* отступ теперь на .mol-controls */
}

.mol-range{
  width:100%;
  -webkit-appearance:none; appearance:none;
  height:8px; border-radius:999px; outline:none;
  background:linear-gradient(90deg, #1E3E8E 0% 31%, #D1D5DB 31% 100%); /* перерисуем скриптом */
}
.mol-range:hover {
  cursor: pointer;
}
.mol-range::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none;
  width:24px; height:24px; border-radius:50%;
  background:#1E3E8E; border:3px solid #fff;
  box-shadow:0 2px 6px rgba(30,62,142,.25);
}
.mol-range::-moz-range-thumb{
  width:24px; height:24px; border-radius:50%;
  background:#1E3E8E; border:3px solid #fff;
  box-shadow:0 2px 6px rgba(30,62,142,.25);
}

.mol-ctrl{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;           /* отступ перенесён на .mol-controls */
  flex: 0 0 auto;      /* фиксированная ширина справа от слайдера */
}

.mol-btn{
  width:36px; height:36px; border-radius:999px;
  display:grid; place-items:center;
  background:#1E3E8E; color:#fff; font-weight:700; font-size:20px;
  border:none;
}
.mol-val{
  min-width:56px; padding:6px 12px; text-align:center;
  border-radius:999px; background:#fff; color:#222; font-weight:700;

}


/* css/doctor_lk_redisign.css (строка ~504) */
.mol-band {
  display: inline-block;
  padding: 10px 16px;
  border-radius: 999px;
  background: #E9F6E9;
  color: #2E7D32;
  border: 2px solid #B6E3B6;
  font-weight: 600;
  width: 100%;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  /* --- Добавьте эту строку --- */
  margin-top: auto;
}


/* === Курс/итог === */
.ff-course{ margin-top: 24px; }
.ff-course__box{
  background: #F6F7FA;
  border-radius: 12px;
  padding: 18px 20px;
}

.ff-course__pills{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom: 12px; }
.ff-pill{ position:relative; display:inline-block; }
.ff-pill input:hover {
  cursor: pointer;
}
.ff-pill input{ position:absolute; inset:0; opacity:0; }
.ff-pill span{
  display:inline-block; padding:8px 14px;
  border-radius:999px; background:#fff; color:#153983; font-weight:700;
  box-shadow: inset 0 0 0 2px #1E3E8E, 0 2px 6px rgba(30,62,142,.08);
}
.ff-pill input:checked + span{ background:#1E3E8E; color:#fff; box-shadow:none; }

.ff-dosebar{ margin: 6px 0 0; }

/* уже есть: .mol-controls, .mol-slider, .mol-ctrl, .mol-range, .mol-btn, .mol-val */
/* (из нашего предыдущего шага) — ничего тут менять не нужно */

.ff-course__note{
  margin-top: 14px;
  border: 2px solid #1E3E8E;
  border-radius: 12px;
  padding: 10px 12px;
  background:#fff;
  color:#153983;
  font-weight: 600;
}

.ff-total{
  display:grid;
  grid-template-columns: 1fr auto;
  align-items:center;
  gap:12px;
  background:#F9F8F8;
  border-radius:16px;
  padding: 22px 20px;
  margin-top: 22px;
}
.ff-total__label{
  color:#153983;
  font-size: clamp(18px, 2vw, 28px);
  font-weight: 800;
}
.ff-total__value{
  font-size: clamp(18px, 2vw, 28px);
  font-weight: 800;
}

/* зелёная кнопка "Добавить в корзину" как на макете */
.ff-add{
  display:block;
  width: 360px;
  max-width: 100%;
  margin: 18px auto 0;
  background:#B7D53F;
  border-color:#B7D53F;
  color:#fff;
  font-weight:800;
  height:56px;
  border-radius:999px;
}
.ff-add:hover{ filter:brightness(.98); }







/* Стили для неактивных пунктов меню */
.lk-menu__item.is-disabled {
  color: var(--lk-muted, #64748B);
  pointer-events: none;
  opacity: 0.6;
}

/* Стили для модального окна (адаптировано из style_redisign.css) */
.ni-modal {
  position: fixed; inset: 0; z-index: 1010;
  display: none;
  padding: 6vh 16px;
  align-items: center;
  justify-content: center;
}
.ni-modal.is-open {
  display: flex;
}
.ni-modal__overlay {
  position: fixed; inset: 0; 
  background: rgba(15,31,58,.42); 
  backdrop-filter: blur(2px);
}
.ni-modal__dialog {
  position: relative; width: min(560px, 92vw);
  max-height: 88vh; overflow: auto;
  background: #fff; border-radius: 16px;
  box-shadow: 0 20px 60px rgba(15,31,58,.25);
  padding: 20px 24px 22px; color: var(--lk-text, #0F1F3A);
}
.ni-modal__close {
  position: absolute; right: 10px; top: 10px;
  width: 36px; height: 36px; border-radius: 999px;
  border: 1px solid #E2E8F0; background: #fff;
  font-size: 22px; line-height: 1; cursor: pointer;
}
.ni-modal__title {
  font-family: var(--ni-head, "Unbounded", system-ui, sans-serif);
  font-weight: 800; color: #153983; font-size: 24px;
  margin: 4px 0 16px;
}
.ni-form { display: grid; gap: 14px; }
.ni-field { display: grid; gap: 6px; }
.ni-label { color: #64748B; font-size: 14px; font-weight: 500; }
.ni-input {
  width: 100%; height: 48px; border: 1px solid #D6DAE1;
  background: #F9FAFB; outline: none; border-radius: 12px;
  padding: 10px 12px; font-size: 16px; color: #0F1F3A;
}
.ni-input[type="file"] { padding: 10px; }
.ni-input:focus { border-color: #153983; box-shadow: 0 0 0 3px rgba(21,57,131,.12); }
.ni-btn--full { width: 100%; border-radius: 999px; height: 50px; font-weight: 800; }
.ni-form__msg { min-height: 20px; font-size: 14px; color: #153983; margin-top: 4px; text-align: center; }
.ni-form__msg.is-error { color: #b91c1c; }
.ni-form__msg.is-success { color: #166534; }



/* ... existing styles ... */

/* Стили для неактивных пунктов меню */
.lk-menu__item.is-disabled {
  color: var(--lk-muted, #64748B);
  pointer-events: none;
  opacity: 0.6;
}

/* Стили для модального окна (адаптировано из style_redisign.css) */
.ni-modal {
  position: fixed; inset: 0; z-index: 1010;
  display: none;
  padding: 6vh 16px;
  align-items: center;
  justify-content: center;
}
.ni-modal.is-open {
  display: flex;
}
.ni-modal__overlay {
  position: fixed; inset: 0; 
  background: rgba(15,31,58,.42); 
  backdrop-filter: blur(2px);
}
.ni-modal__dialog {
  position: relative; width: min(560px, 92vw);
  max-height: 88vh; overflow: auto;
  background: #fff; border-radius: 16px;
  box-shadow: 0 20px 60px rgba(15,31,58,.25);
  padding: 20px 24px 22px; color: var(--lk-text, #0F1F3A);
}
.ni-modal__close {
  position: absolute; right: 10px; top: 10px;
  width: 36px; height: 36px; border-radius: 999px;
  border: 1px solid #E2E8F0; background: #fff;
  font-size: 22px; line-height: 1; cursor: pointer;
}
.ni-modal__title {
  font-family: var(--ni-head, "Unbounded", system-ui, sans-serif);
  font-weight: 800; color: #153983; font-size: 24px;
  margin: 4px 0 16px;
}
.ni-form { display: grid; gap: 14px; }
.ni-field { display: grid; gap: 6px; }
.ni-label { color: #64748B; font-size: 14px; font-weight: 500; }
.ni-input {
  width: 100%; height: 48px; border: 1px solid #D6DAE1;
  background: #F9FAFB; outline: none; border-radius: 12px;
  padding: 10px 12px; font-size: 16px; color: #0F1F3A;
}
.ni-input[type="file"] { padding: 10px; }
.ni-input:focus { border-color: #153983; box-shadow: 0 0 0 3px rgba(21,57,131,.12); }
.ni-btn--full { width: 100%; border-radius: 999px; height: 50px; font-weight: 800; }
.ni-form__msg { min-height: 20px; font-size: 14px; color: #153983; margin-top: 4px; text-align: center; }
.ni-form__msg.is-error { color: #b91c1c; }
.ni-form__msg.is-success { color: #166534; }
.is-hidden {
  display: none;
}

/* ... existing styles ... */

.lk-chart-card {
  position: relative;
  min-height: 250px;
}
.lk-chart-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
  color: var(--lk-muted, #64748B);
  font-size: 16px;
  text-align: center;
}
.lk-chart polyline {
  transition: all 0.3s ease-in-out;
}

/* /css/doctor_lk_redisign.css */

/* Назначение: (ИСПРАВЛЕНО v7) Добавлены стили для кнопки "Сменить пациента"
   и корректировка макета шапки заказа. */

/* Макет шапки заказа с кнопкой */
.lk-order-head {
    display: grid;
    grid-template-columns: 56px 1.4fr 1fr auto; /* 4 колонки: аватар, имя, email, кнопка */
    align-items: center;
    gap: 16px;
    background: var(--lk-panel, #F9F8F8);
    border-radius: 16px;
    padding: 14px 18px;
    margin-bottom: 14px;
}
.lk-order-col--action {
    justify-self: end; /* Прижимает кнопку к правому краю */
}

/* /css/doctor_lk_redisign.css */

/* /css/doctor_lk_redisign.css */

/* Стили для интегрированного каталога в ЛК */
.lk-order-pane[data-pane="ready"] .cat__content {
  padding-left: 0;
}

.lk-catalog__controls {
  position: static;
  display: grid;
  grid-template-areas:
    "search search"
    "button meta"
    "chips chips";
  grid-template-columns: auto 1fr;
  gap: 12px;
  margin-bottom: 20px; /* Отступ до сетки товаров */
}

.lk-catalog__controls .cat__search { grid-area: search; }
.lk-catalog__controls .cat__mobile-filter-btn { grid-area: button; display: inline-flex; }
.lk-catalog__controls .cat__meta { grid-area: meta; justify-content: flex-end; }
.lk-catalog__controls .cat__chips { grid-area: chips; margin: 0; }
.lk-catalog__controls .cat__reset { margin-left: 0; }

.lk-order-pane[data-pane="ready"] .cat__grid {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

@media (max-width: 576px) {
  .lk-catalog__controls {
     grid-template-areas:
      "search"
      "button"
      "meta"
      "chips";
    grid-template-columns: 1fr;
  }
   .lk-catalog__controls .cat__meta { justify-content: space-between; }
}

/* /css/doctor_lk_redisign.css */

/* Стили для глобального поиска в конструкторе */
.ff-search-wrapper {
  position: relative;
  margin-bottom: 24px;
}

.ff-search-results {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid var(--lk-border, #E5E7EB);
  border-radius: 12px;
  margin-top: 6px;
  box-shadow: 0 8px 20px rgba(30, 62, 142, 0.12);
  z-index: 10;
  max-height: 320px;
  overflow-y: auto;
}

.ff-result-item {
  display: block;
  padding: 12px 16px;
  cursor: pointer;
  border-bottom: 1px solid var(--lk-border, #E5E7EB);
}
.ff-result-item:last-child {
  border-bottom: none;
}
.ff-result-item:hover {
  background: #f4f6fa;
}

.ff-result-name {
  font-weight: 600;
  color: var(--ni-primary, #1E3E8E);
}
.ff-result-path {
  display: block;
  font-size: 13px;
  color: var(--lk-muted, #64748B);
  margin-top: 4px;
}

.ff-no-results {
  padding: 16px;
  text-align: center;
  color: var(--lk-muted, #64748B);
}

/* Субклинический диапазон (синий) */
.mol-band.is-subclinical {
  background-color: #EFF6FF; /* bg-blue-50 */
  color: #1D4ED8;            /* text-blue-700 */
  border-color: #BFDBFE;      /* border-blue-200 */
}

/* Терапевтический диапазон (оранжевый) */
.mol-band.is-therapeutic {
  background-color: #FFF7ED; /* bg-orange-50 */
  color: #C2410C;            /* text-orange-700 */
  border-color: #FED7AA;      /* border-orange-200 */
}

/* Высоко-терапевтический диапазон (красный) */
.mol-band.is-high-therapeutic {
  background-color: #FEF2F2; /* bg-red-50 */
  color: #B91C1C;            /* text-red-700 */
  border-color: #FECACA;      /* border-red-200 */
}

/* /css/doctor_lk_redisign.css */

/* Стили для редактируемого поля дозировки */
.mol-ctrl {
  background: #fff;
  border-radius: 999px;
  border: 2px solid #1E3E8E;
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 150px; /* Чтобы кнопки не слипались */
  justify-content: space-between;
}

.mol-val-input {
  border: none;
  background: none;
  text-align: center;
  font-weight: 700;
  color: #222;
  font-size: 16px;
  width: 60px; /* Ширина поля для ввода */
  -moz-appearance: textfield; /* Убрать стрелки в Firefox */
}
.mol-val-input::-webkit-outer-spin-button,
.mol-val-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.mol-unit {
  font-weight: 700;
  color: #222;
  font-size: 16px;
  margin-right: 4px;
}

/* /css/doctor_lk_redisign.css */

/* Стили для дисплея дней в конструкторе */
#ff-days-val {
    min-width: 90px; /* Достаточная ширина для "XX дней" */
    padding: 6px 10px;
    white-space: nowrap; /* Запрещаем перенос текста */
}



/* /css/doctor_lk_redisign.css */
/* В самый конец файла добавьте эти стили */

/* --- Стили для блока "Текущий заказ" (Новое) --- */
.lk-current-order {
  background: #F0F5FA;
  border-radius: 16px;
  border: 1px solid #DDE4EE;
  margin-bottom: 14px;
}

.lk-current-order__summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;
  cursor: pointer;
  list-style: none; /* Убрать маркер */
}
.lk-current-order__summary::-webkit-details-marker {
  display: none; /* Убрать маркер в Chrome */
}

.lk-current-order__title {
  font-weight: 700;
  color: var(--ni-primary, #1E3E8E);
  font-size: 18px;
}

.lk-current-order__total {
  font-size: 16px;
  color: var(--lk-text, #222);
}
.lk-current-order__total strong {
  font-weight: 800;
  color: var(--ni-primary, #1E3E8E);
}

.lk-current-order__content {
  padding: 0 18px 16px;
  border-top: 1px solid #DDE4EE;
}

.lk-current-order__list {
  display: grid;
  gap: 12px;
  margin: 12px 0;
}

.lk-current-order__empty {
  color: var(--lk-muted, #64748B);
  text-align: center;
  padding: 16px 0;
}

.lk-order-item {
  display: grid;
  grid-template-columns: 50px 1fr auto;
  gap: 12px;
  align-items: center;
  background: #fff;
  padding: 8px;
  border-radius: 8px;
}
.lk-order-item__img {
  width: 50px;
  height: 50px;
  object-fit: contain;
  border-radius: 6px;
  background: #f1f5f9;
}
.lk-order-item__name {
  font-weight: 600;
  color: var(--lk-text, #222);
}
.lk-order-item__details {
  font-size: 13px;
  color: var(--lk-muted, #64748B);
  margin-top: 4px;
}
.lk-order-item__price {
  font-weight: 700;
  font-size: 15px;
  white-space: nowrap;
}
.lk-order-item__remove {
  font-size: 20px;
  color: var(--lk-muted);
  width: 28px;
  height: 28px;
  line-height: 1;
  background: none;
  border: none;
  cursor: pointer;
}
.lk-order-item__remove:hover { color: #d32f2f; }

.lk-current-order__actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid #DDE4EE;
}

/* /css/doctor_lk_redisign.css */
/* Стили для обертки блока заказа и выравнивания кнопок */
.lk-current-order-wrapper {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: flex-start;
}

/* Изменения для самого блока <details> */
.lk-current-order {
  grid-column: 1 / -1; /* Растягиваем на всю ширину сетки */
}

.lk-current-order[open] {
  padding-bottom: 12px;
}

/* Заголовок теперь с флекс-контейнером для иконки и текста */
.lk-current-order__title-wrapper {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Стили для стрелки-индикатора */
.lk-current-order__arrow {
  width: 12px;
  height: 12px;
  border-left: 2px solid var(--ni-primary, #1E3E8E);
  border-bottom: 2px solid var(--ni-primary, #1E3E8E);
  transform: rotate(-45deg);
  transition: transform 0.2s ease-in-out;
  flex-shrink: 0;
}

.lk-current-order[open] > .lk-current-order__summary .lk-current-order__arrow {
  transform: rotate(135deg);
  margin-top: -4px;
}

/* Кнопки теперь всегда видимы */
.lk-current-order__actions {
  grid-column: 1 / -1; /* Также на всю ширину под блоком заказа */
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 0;
  border-top: none;
}

/* /css/doctor_lk_redisign.css */
/* Стили для обертки блока заказа и выравнивания кнопок */
.lk-current-order-wrapper {
  display: grid;
  grid-template-columns: 1fr auto; /* Левая часть (заказ) | правая часть (кнопка в корзину) */
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 14px;
}

/* Блок <details> занимает первую колонку */
.lk-current-order {
  grid-column: 1 / 2; 
}

.lk-current-order[open] {
  padding-bottom: 12px;
}

/* Заголовок с флекс-контейнером для иконки и текста */
.lk-current-order__title-wrapper {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Стили для стрелки-индикатора */
.lk-current-order__arrow {
  width: 12px;
  height: 12px;
  border-left: 2px solid var(--ni-primary, #1E3E8E);
  border-bottom: 2px solid var(--ni-primary, #1E3E8E);
  transform: rotate(-45deg);
  transition: transform 0.2s ease-in-out;
  flex-shrink: 0;
}

.lk-current-order[open] > .lk-current-order__summary .lk-current-order__arrow {
  transform: rotate(135deg);
  margin-top: -4px;
}

/* Контейнер для кнопки "Очистить заказ" внутри раскрывающегося блока */
.lk-current-order__actions--inside {
  display: flex;
  justify-content: flex-start; /* Кнопка слева */
  padding-top: 16px;
  border-top: 1px solid #DDE4EE;
  margin-top: 16px;
}

/* Контейнер для всегда видимой кнопки "Перейти в корзину" */
.lk-current-order__actions--outside {
  grid-column: 2 / 3; /* Занимает вторую колонку */
  align-self: center; /* Выравниваем по центру summary */
}

/* /css/doctor_lk_redisign.css */
/* Стили для обертки блока заказа и выравнивания кнопок */
.lk-current-order-wrapper {
  margin-bottom: 14px;
}

/* Блок <details> занимает всю доступную ширину */
.lk-current-order {
  width: 100%;
}

.lk-current-order[open] {
  padding-bottom: 12px;
}

/* Заголовок с флекс-контейнером для иконки и текста */
.lk-current-order__title-wrapper {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Стили для стрелки-индикатора */
.lk-current-order__arrow {
  width: 12px;
  height: 12px;
  border-left: 2px solid var(--ni-primary, #1E3E8E);
  border-bottom: 2px solid var(--ni-primary, #1E3E8E);
  transform: rotate(-45deg);
  transition: transform 0.2s ease-in-out;
  flex-shrink: 0;
}

.lk-current-order[open] > .lk-current-order__summary .lk-current-order__arrow {
  transform: rotate(135deg);
  margin-top: -4px;
}

/* Контейнер для кнопки "Очистить заказ" внутри раскрывающегося блока */
.lk-current-order__actions--inside {
  display: flex;
  justify-content: center; /* Центрируем кнопку "Очистить" */
  padding-top: 16px;
  border-top: 1px solid #DDE4EE;
  margin-top: 16px;
}

/* Контейнер для всегда видимой кнопки "Перейти в корзину" */
.lk-current-order__actions--outside {
  display: flex;
  justify-content: center; /* Центрируем кнопку "Перейти в корзину" */
}

.lk-current-order__actions--outside {
    align-self: center; /* Выравниваем кнопку по вертикали */
}

#goToCartBtn {
    height: 50px;
    padding: 0 24px;
    font-weight: 700;
    font-size: 16px;
}

/* ===== Оплата товаров (constructor-payment) ===== */
.lk-payment__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.lk-payment-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 24px;
  align-items: flex-start;
}

.lk-payment-form {
  background: var(--lk-panel, #F9F8F8);
  border-radius: 16px;
  padding: 24px;
}

.lk-payment__subtitle {
  font-size: 20px;
  font-weight: 700;
  color: var(--ni-text);
  margin: 0 0 18px;
}

#paymentForm {
  display: grid;
  gap: 16px;
}

#paymentForm .ni-input {
  background: #fff;
  border: 1px solid var(--lk-border, #E5E7EB);
}

.lk-payment__submit {
  width: 100%;
  height: 52px;
  font-size: 18px;
  font-weight: 700;
  margin-top: 8px;
  gap: 10px;
}

.lk-payment-summary {
  background: #fff;
  border-radius: 16px;
  padding: 24px;
  border: 1px solid var(--lk-border, #E5E7EB);
}

.lk-payment__items {
  display: grid;
  gap: 16px;
  margin-bottom: 24px;
}

.lk-payment-item {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 16px;
  align-items: flex-start;
}

.lk-payment-item__img {
  width: 80px;
  height: 80px;
  object-fit: contain;
  border-radius: 8px;
  background: var(--lk-panel, #F9F8F8);
}

.lk-payment-item__name {
  font-weight: 700;
  font-size: 18px;
  color: var(--ni-primary, #1E3E8E);
  margin-bottom: 4px;
}

.lk-payment-item__meta,
.lk-payment-item__composition {
  font-size: 14px;
  color: var(--lk-muted, #64748B);
  line-height: 1.4;
}

.lk-payment-item__composition {
  margin-top: 6px;
  word-break: break-word;
}

.lk-payment__total {
  border-top: 1px solid var(--lk-border, #E5E7EB);
  padding-top: 16px;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 18px;
  font-weight: 600;
}

.lk-payment__total strong {
  font-size: 24px;
  font-weight: 800;
  color: var(--ni-primary, #1E3E8E);
}

/* /css/doctor_lk_redisign.css (в самый конец) */

/* Стили для модального окна со ссылкой на оплату */
#paymentLinkInput {
    background-color: #f3f4f6;
    border-color: #d1d5db;
    color: #4b5563;
    font-size: 14px;
    cursor: text;
}


.lk-cart__actions .ni-btn {
  font-size: 21px;
}

/* Делает карточку пациента в списке кликабельной */
.lk-patient.is-clickable {
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
}
.lk-patient.is-clickable:hover {
    background-color: #f0f4fa;
    transform: translateY(-2px);
}
.lk-patient.is-clickable .lk-patient__go {
    transition: transform 0.2s ease;
}
.lk-patient.is-clickable:hover .lk-patient__go {
    transform: translateX(3px);
}
.lk-patient__go {
    cursor: pointer;
}

/* Стили для заголовка карточки пациента */
.lk-card__header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 0;
}

/* Стили для таблицы заказов */
.lk-table--orders .lk-table__head,
.lk-table--orders .lk-table__row {
    grid-template-columns: 0.6fr 1.2fr 1fr 1fr 1.2fr;
    align-items: center;
}
.lk-table__row.is-empty, .lk-table__row.is-loading {
    grid-template-columns: 1fr;
    text-align: center;
    color: var(--lk-muted, #64748B);
    padding: 20px;
}

/* Стили для бейджей статусов */
.lk-status-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    text-align: center;
}
.lk-status-badge[data-status="paid"],
.lk-status-badge[data-status="paid_by_doctor"] {
    background-color: #dcfce7;
    color: #166534;
}
.lk-status-badge[data-status="awaiting_patient_payment"],
.lk-status-badge[data-status="awaiting_confirmation"],
.lk-status-badge[data-status="awaiting_manual_confirmation"] {
    background-color: #fef9c3;
    color: #854d0e;
}
.lk-status-badge[data-status="rejected"] {
    background-color: #fee2e2;
    color: #991b1b;
}
.lk-status-badge[data-status="pending"] {
    background-color: #e0e7ff;
    color: #3730a3;
}
.lk-status-badge[data-status="shipped"] {
    background-color: #cffafe;
    color: #0e7490;
}
.lk-status-badge[data-status="delivered"] {
    background-color: #ede9fe;
    color: #5b21b6;
}

/* Заглушка для разделов в разработке */
.lk-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 250px;
  background: var(--lk-panel, #F9F8F8);
  border-radius: 16px;
  color: var(--lk-muted, #64748B);
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  padding: 20px;
  border: 1px solid var(--lk-border, #E5E7EB);
}

/* Button to toggle mobile navigation */
.lk-mobile-nav-toggle {
    display: none; /* Hidden by default on desktop */
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 12px 16px;
    font-size: 18px;
    font-weight: 700;
    color: var(--ni-primary, #1E3E8E);
    background-color: var(--lk-panel, #F9F8F8);
    border: 1px solid var(--lk-border, #E5E7EB);
    border-radius: 12px;
    cursor: pointer;
}
.lk-mobile-nav-toggle__icon {
    width: 24px;
    height: 24px;
    stroke-width: 2;
    transition: transform 0.2s ease-in-out;
}
.lk-mobile-nav-toggle[aria-expanded="true"] .lk-mobile-nav-toggle__icon {
    transform: rotate(90deg);
}


/* ===== ADAPTIVE for LK (max-width: 992px) ===== */
@media (max-width: 992px) {
    .lk-layout {
        grid-template-columns: 1fr; /* Single column layout */
        gap: 0; /* No gap between aside and content */
        padding-top: 20px;
    }

    .lk-aside {
        position: static; /* Unstick the sidebar */
        border-right: none;
        padding-right: 0;
        margin-bottom: var(--lk-gap); /* Add gap below the nav area */
    }

    .lk-mobile-nav-toggle {
        display: flex; /* Show the toggle button */
    }

    .lk-menu {
        display: none; /* Hide the menu by default */
        flex-direction: row;
        flex-wrap: wrap;
        gap: 8px;
        padding-top: 0;
        border: 1px solid var(--lk-border, #E5E7EB);
        border-radius: 12px;
        padding: 12px;
        background: var(--lk-panel, #F9F8F8);
    }
    
    .lk-menu.is-open {
        display: flex; /* Show the menu when toggled */
    }

    .lk-menu__item {
        border-left: none;
        padding: 8px 12px;
        border-radius: 8px;
        border-bottom: 2px solid transparent;
    }
    .lk-menu__item.is-active {
        background-color: #E8EEFF;
        border-bottom-color: var(--ni-primary, #1E3E8E);
        border-left-color: transparent;
    }
    
    .lk-stats-grid {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    }

    .lk-ctor-grid {
        grid-template-columns: 1fr;
    }
    .lk-patients__toolbar {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
    }
    .lk-patient.is-clickable {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
    }
    .lk-ctor-item {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
    }
    .lk-order-head {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
    }
    .lk-current-order-wrapper {
      display: flex;
      flex-direction: column;
    }
    .lk-order-item {
      display: flex;
      flex-direction: column;
    }
    .lk-forms-grid {
          grid-template-columns: repeat(3, 1fr);
    }

}
@media (max-width: 768px) {
  .ff-steps-grid {
    display: flex;
    flex-direction: column;

  }
  .ff-add {
    width: 290px;
  }
  .ff-total {
    display: flex;
    flex-direction: column;
  }
  .mol-grid {
    display: flex;
    flex-direction: column;
  }

}
@media (max-width: 480px) {
  .lk-forms-grid {
        grid-template-columns: repeat(1, 1fr);
  }

}


/* Styles for promo notification */
.lk-promo-notification {
    background-color: #E6F7FF; /* Light blue background */
    border: 1px solid #91D5FF; /* Blue border */
    color: #00529B; /* Dark blue text */
    padding: 15px 20px;
    border-radius: 8px;
    margin-bottom: 20px;
    font-size: 15px;
    line-height: 1.5;
    text-align: center;
}

.lk-promo-notification strong {
    font-weight: 600;
}

/* --- Стили для блока промокода --- */
.lk-promo-form {
    display: grid;
    gap: 12px;
    align-items: start;
    grid-template-columns: 1fr auto; /* Поле ввода | Кнопка */
}

.lk-promo-form .lk-field {
    grid-column: 1 / 2;
}

.lk-promo-form .ni-btn {
    grid-column: 2 / 3;
    align-self: center; /* Выравниваем кнопку по центру инпута */
    margin-top: 15px; /* Небольшой отступ сверху для выравнивания */
}

.lk-field-hint {
    font-size: 13px;
    color: var(--lk-muted, #64748B);
    margin-top: -8px; /* Ближе к инпуту */
}

.lk-leader .lk-input {
    flex: 1 1 auto;
    height: 40px;
    background: #fff;
    border: 1px solid var(--lk-border, #E5E7EB);
}

.ni-btn--small {
    height: 40px;
    padding: 0 18px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 20px;
}

/* --- Фиксы для раздела Финансы --- */
.lk-finance-grid--no-aside {
    grid-template-columns: 1fr; /* Убираем вторую колонку */
}
.lk-table--finance .lk-table__head,
.lk-table--finance .lk-table__row {
    grid-template-columns: 1.2fr 2.2fr 1fr; /* Адаптируем колонки таблицы */
}

/* Стили для оверлея выбора пациента в корзине */
.patient-selection-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(241, 245, 249, 0.8);
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    backdrop-filter: blur(4px);
}

.patient-selection-content {
    max-width: 500px;
    width: 100%;
    padding: 24px;
    text-align: center;
}

.patient-selection-content h3 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 8px;
}

.patient-selection-content p {
    margin-bottom: 16px;
    color: #475569;
}

.patient-selection-list {
    max-height: 300px;
    overflow-y: auto;
    margin-top: 16px;
    text-align: left;
}

.patient-selection-list .lk-ctor-item {
    cursor: pointer;
}

.patient-selection-list .lk-ctor-item:hover {
    background-color: #f1f5f9;
}

.lk-cart-item.is-readonly .lk-cart-item__remove {
  display: none;
}