/* =====================================================================
   NewNeuro — Дизайн-система разделов «Врачи» и «Команда центра»
   stage_01_design_system · ФУНДАМЕНТ (токены + базовые компоненты)
   Шрифт: Merriweather (как на сайте). Цвета: brand_colors.txt.
   ===================================================================== */

.nn-profile{
  /* ---- Бренд (из лого) ---- */
  --brand:#0996DE;            /* лазурь нейрона — акценты, иконки, теги, активные состояния */
  --ink:#111418;              /* чёрный текста лого — заголовки, основной текст */

  /* ---- Primary / CTA (глубже бренд-синего, белый текст проходит AA) ---- */
  --primary:#0B5FA5;
  --primary-hover:#094E8C;
  --primary-disabled:#9DC4E0;

  /* ---- Акценты и голубые фоны ---- */
  --blue-50:#E8F2FB;          /* плашка */
  --blue-25:#F2F8FD;          /* фон секции */

  /* ---- Нейтральные ---- */
  --white:#FFFFFF;
  --gray-50:#F5F7FA;          /* светло-серый фон секции */
  --line:#E2E8F0;             /* линии, границы */
  --text-2:#5A6677;           /* вторичный текст */
  --text-3:#8A95A5;           /* приглушённый текст */

  /* ---- Статусные (спокойные, медицинские) ---- */
  --success:#2E9E6B;
  --error:#D64545;
  --warning:#E0A100;

  /* ---- Радиусы ---- */
  --r-sm:8px; --r:12px; --r-lg:16px; --r-xl:22px; --pill:999px;

  /* ---- Тени (мягкие, без «лоска») ---- */
  --sh-sm:0 1px 2px rgba(17,20,24,.04), 0 1px 3px rgba(17,20,24,.05);
  --sh:0 6px 22px rgba(17,20,24,.06), 0 1px 3px rgba(17,20,24,.04);
  --sh-md:0 14px 40px rgba(17,20,24,.10), 0 2px 6px rgba(17,20,24,.05);

  --maxw:1240px;            /* v2: расширен для читаемой контентной колонки ~840px */
  --fz-body:16px;
}

.nn-profile *{box-sizing:border-box;}
.nn-profile{-webkit-text-size-adjust:100%;}
.nn-profile{
  margin:0;
  font-family:'Merriweather', Georgia, 'Times New Roman', serif;
  color:var(--ink);
  background:#FFFFFF;          /* базовый фон — белый, как на основном сайте NewNeuro */
  font-size:var(--fz-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.nn-profile img{max-width:100%;display:block;}
.nn-profile a{color:var(--primary);}

/* ======================= КАРКАС БОРДА ======================= */
.nn-profile .board{max-width:var(--maxw);margin:0 auto;padding:0 24px 120px;}
.nn-profile .board__head{padding:56px 0 28px;display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.nn-profile .board__logo{height:54px;width:auto;}
.nn-profile .board__head h1{font-size:30px;line-height:1.25;font-weight:900;margin:0 0 6px;letter-spacing:-.01em;}
.nn-profile .board__head p{margin:0;color:var(--text-2);font-size:15px;max-width:640px;}
.nn-profile .board__stamp{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);
  font-weight:700;background:var(--blue-50);padding:7px 14px;border-radius:var(--pill);white-space:nowrap;}

/* Секция-панель */
.nn-profile .panel{background:var(--white);border:1px solid var(--line);border-radius:var(--r-xl);
  box-shadow:var(--sh);padding:36px 38px 40px;margin-top:26px;}
.nn-profile .panel--soft{background:var(--blue-25);}
.nn-profile .sec-no{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--brand);text-transform:uppercase;}
.nn-profile .sec-title{font-size:24px;font-weight:900;margin:6px 0 4px;letter-spacing:-.01em;}
.nn-profile .sec-desc{color:var(--text-2);font-size:14.5px;margin:0 0 26px;max-width:760px;}
.nn-profile .sub{font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--text-3);margin:30px 0 14px;}
.nn-profile .divider{height:1px;background:var(--line);border:0;margin:34px 0;}

/* Подпись состояния под демо */
.nn-profile .cap{font-size:12.5px;color:var(--text-3);margin-top:9px;font-style:italic;}

/* ======================= ЦВЕТ ======================= */
.nn-profile .swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(174px,1fr));gap:14px;}
.nn-profile .sw{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--white);}
.nn-profile .sw__chip{height:78px;display:flex;align-items:flex-start;justify-content:flex-end;padding:9px;}
.nn-profile .sw__body{padding:11px 13px 14px;}
.nn-profile .sw__name{font-size:13.5px;font-weight:700;line-height:1.3;}
.nn-profile .sw__hex{font-size:12.5px;color:var(--text-2);letter-spacing:.04em;margin-top:2px;font-variant-numeric:tabular-nums;}
.nn-profile .sw__role{font-size:11.5px;color:var(--text-3);margin-top:7px;line-height:1.45;}
.nn-profile .sw__chk{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:var(--pill);background:rgba(255,255,255,.85);color:var(--success);}
.nn-profile .sw__chk--dark{background:rgba(17,20,24,.55);color:#fff;}
.nn-profile .group-label{font-size:13px;font-weight:700;color:var(--ink);margin:26px 0 12px;display:flex;align-items:center;gap:10px;}
.nn-profile .group-label::after{content:"";flex:1;height:1px;background:var(--line);}

/* ======================= ТИПОГРАФИКА ======================= */
.nn-profile .type-row{display:grid;grid-template-columns:128px 1fr;gap:26px;align-items:baseline;
  padding:16px 0;border-bottom:1px solid var(--line);}
.nn-profile .type-row:last-child{border-bottom:0;}
.nn-profile .type-meta{font-size:12px;color:var(--text-3);line-height:1.55;}
.nn-profile .type-meta b{display:block;color:var(--ink);font-size:12.5px;letter-spacing:.02em;}
.nn-profile .t-display{font-size:52px;line-height:1.08;font-weight:900;letter-spacing:-.02em;}
.nn-profile .t-h1{font-size:38px;line-height:1.15;font-weight:900;letter-spacing:-.015em;}
.nn-profile .t-h2{font-size:28px;line-height:1.2;font-weight:700;letter-spacing:-.01em;}
.nn-profile .t-h3{font-size:21px;line-height:1.3;font-weight:700;}
.nn-profile .t-lead{font-size:19px;line-height:1.55;font-weight:400;color:var(--text-2);}
.nn-profile .t-body{font-size:16px;line-height:1.6;font-weight:400;}
.nn-profile .t-small{font-size:14px;line-height:1.55;color:var(--text-2);}
.nn-profile .t-cap{font-size:12.5px;line-height:1.5;color:var(--text-3);}
.nn-profile .t-over{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--brand);}
.nn-profile .t-link{font-size:16px;color:var(--primary);text-decoration:underline;text-underline-offset:3px;font-weight:700;}

/* ======================= СЕТКА ======================= */
.nn-profile .grid-demo{border:1px dashed var(--brand);border-radius:var(--r);padding:14px;background:var(--blue-25);}
.nn-profile .grid-cols{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;}
.nn-profile .grid-cols span{height:62px;background:var(--blue-50);border:1px solid #cfe4f6;border-radius:6px;
  display:flex;align-items:center;justify-content:center;color:var(--brand);font-size:12px;font-weight:700;}
.nn-profile .grid-mob{display:grid;grid-template-columns:1fr;gap:12px;max-width:300px;}
.nn-profile .grid-mob span{height:46px;background:var(--blue-50);border:1px solid #cfe4f6;border-radius:6px;
  display:flex;align-items:center;justify-content:center;color:var(--brand);font-size:12px;font-weight:700;}

/* ======================= КНОПКИ ======================= */
.nn-profile .btn{font-family:inherit;font-weight:700;font-size:15px;border:1.5px solid transparent;border-radius:var(--r-sm);
  padding:13px 24px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;
  cursor:pointer;transition:.16s ease;line-height:1;text-decoration:none;}
.nn-profile .btn--primary{background:var(--primary);color:#fff;}
.nn-profile .btn--primary:hover{background:var(--primary-hover);box-shadow:0 6px 16px rgba(11,95,165,.28);}
.nn-profile .btn--primary.is-disabled, .nn-profile .btn--primary:disabled{background:var(--primary-disabled);cursor:not-allowed;box-shadow:none;}
.nn-profile .btn--secondary{background:#fff;color:var(--primary);border-color:var(--primary);}
.nn-profile .btn--secondary:hover{background:var(--blue-25);}
.nn-profile .btn--secondary.is-disabled{color:var(--primary-disabled);border-color:var(--primary-disabled);cursor:not-allowed;}
.nn-profile .btn--light{background:var(--blue-50);color:var(--primary);}
.nn-profile .btn--light:hover{background:#d8eafa;}
.nn-profile .btn--ghost{background:transparent;color:var(--text-2);}
.nn-profile .btn--ghost:hover{color:var(--ink);background:var(--gray-50);}
.nn-profile .btn--sm{min-height:40px;padding:10px 18px;font-size:14px;}
.nn-profile .btn--block{display:flex;width:100%;}
.nn-profile .btn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px 18px;align-items:start;}
.nn-profile .btn-cell{display:flex;flex-direction:column;gap:10px;align-items:flex-start;}

/* ======================= ЧИПЫ / ТЕГИ / БЕЙДЖИ ======================= */
.nn-profile .chips{display:flex;flex-wrap:wrap;gap:10px;}
.nn-profile .chip{font-family:inherit;font-size:14px;font-weight:700;padding:8px 15px;border-radius:var(--pill);
  border:1.5px solid var(--line);background:#fff;color:var(--text-2);cursor:pointer;transition:.15s;line-height:1.2;}
.nn-profile .chip:hover{border-color:var(--brand);color:var(--brand);}
.nn-profile .chip--active{background:var(--brand);border-color:var(--brand);color:#fff;}
.nn-profile .chip--ghost{background:var(--gray-50);border-color:transparent;cursor:default;}
/* Бейдж — НЕ кликабельный, признак карточки */
.nn-profile .badges{display:flex;flex-wrap:wrap;gap:8px;}
.nn-profile .badge{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;
  padding:5px 11px;border-radius:var(--pill);background:var(--blue-50);color:var(--primary);line-height:1.2;}
.nn-profile .badge--soft{background:var(--gray-50);color:var(--text-2);}
.nn-profile .badge--online{background:#e4f3ec;color:var(--success);}
.nn-profile .badge--dot::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;}
.nn-profile .badge--rating{background:#fdf3df;color:#9a7400;}

/* ======================= ПОЛЯ ФОРМ ======================= */
.nn-profile .field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;}
.nn-profile .field>label{font-size:13px;font-weight:700;color:var(--ink);}
.nn-profile .field .hint{font-size:12px;color:var(--text-3);}
.nn-profile .input{font-family:inherit;font-size:16px;color:var(--ink);background:#fff;border:1.5px solid var(--line);
  border-radius:var(--r-sm);padding:13px 15px;min-height:48px;width:100%;transition:.15s;}
.nn-profile .input::placeholder{color:var(--text-3);}
.nn-profile .input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(9,150,222,.16);}
.nn-profile .input.is-focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(9,150,222,.16);}
.nn-profile .input.is-error{border-color:var(--error);box-shadow:0 0 0 3px rgba(214,69,69,.14);}
.nn-profile .input.is-disabled{background:var(--gray-50);color:var(--text-3);cursor:not-allowed;}
.nn-profile textarea.input{min-height:96px;resize:vertical;line-height:1.55;}
.nn-profile .err-msg{font-size:12.5px;color:var(--error);font-weight:700;}
.nn-profile .consent{display:flex;gap:11px;align-items:flex-start;font-size:13px;color:var(--text-2);line-height:1.5;}
.nn-profile .consent input{width:20px;height:20px;margin-top:1px;accent-color:var(--primary);flex:none;}
.nn-profile .form-demo{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px;}

/* ======================= КАРТОЧКИ ======================= */
.nn-profile .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;}
.nn-profile .card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--sh-sm);transition:.18s;display:flex;flex-direction:column;}
.nn-profile .card:hover{box-shadow:var(--sh-md);transform:translateY(-2px);}
.nn-profile .card__media{position:relative;aspect-ratio:4/3;background:linear-gradient(160deg,#eef5fb,#dfeefb);overflow:hidden;}
.nn-profile .card__media img{width:100%;height:100%;object-fit:cover;object-position:top center;}
.nn-profile .card__role-tag{position:absolute;top:12px;left:12px;font-size:11.5px;font-weight:700;padding:5px 11px;
  border-radius:var(--pill);background:rgba(255,255,255,.92);color:var(--primary);backdrop-filter:blur(4px);}
.nn-profile .card__role-tag--spec{color:#7a4dd0;}
.nn-profile .card__role-tag--team{color:var(--text-2);}
.nn-profile .card__body{padding:16px 17px 18px;display:flex;flex-direction:column;gap:11px;flex:1;}
.nn-profile .card__name{font-size:17.5px;font-weight:700;line-height:1.25;}
.nn-profile .card__role{font-size:13.5px;color:var(--text-2);margin-top:-5px;}
.nn-profile .card__meta{display:flex;flex-wrap:wrap;gap:7px;}
.nn-profile .card__dx{font-size:12px;color:var(--text-2);line-height:1.5;}
.nn-profile .card__price{font-size:15px;font-weight:700;}
.nn-profile .card__price span{font-size:12.5px;font-weight:400;color:var(--text-3);}
.nn-profile .card__foot{margin-top:auto;display:flex;flex-direction:column;gap:9px;padding-top:4px;}
.nn-profile .card__more{font-size:13px;color:var(--primary);font-weight:700;text-decoration:underline;text-underline-offset:3px;align-self:center;}
.nn-profile .placeholder-photo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:#a9c6e0;font-size:13px;font-weight:700;gap:8px;flex-direction:column;}
.nn-profile .placeholder-photo svg{width:46px;height:46px;opacity:.55;}

/* ======================= ОТЗЫВ + ДОВЕРИЕ ======================= */
.nn-profile .review{border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px;background:#fff;}
.nn-profile .stars{color:var(--warning);font-size:16px;letter-spacing:2px;}
.nn-profile .review__top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;}
.nn-profile .review__name{font-weight:700;font-size:15.5px;}
.nn-profile .review__geo{font-size:13px;color:var(--text-2);}
.nn-profile .review__date{font-size:12.5px;color:var(--text-3);font-variant-numeric:tabular-nums;}
.nn-profile .review__text{font-size:14.5px;line-height:1.6;color:var(--ink);margin:12px 0;}
.nn-profile .review__tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;}
.nn-profile .review__clinic{font-size:12.5px;color:var(--primary);background:var(--blue-50);padding:6px 11px;border-radius:var(--r-sm);display:inline-block;margin-top:10px;}
.nn-profile .review__video{margin-top:13px;border-radius:var(--r);overflow:hidden;position:relative;aspect-ratio:16/10;
  background:linear-gradient(135deg,#0b5fa5,#0996de);display:flex;align-items:center;justify-content:center;}
.nn-profile .review__video .play{width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.92);
  display:flex;align-items:center;justify-content:center;}
.nn-profile .review__video .play::before{content:"";border-left:16px solid var(--primary);border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px;}
.nn-profile .review__vlabel{position:absolute;left:14px;bottom:12px;color:#fff;font-weight:900;font-size:14px;text-shadow:0 1px 6px rgba(0,0,0,.3);}
.nn-profile .trust{display:flex;align-items:center;gap:20px;flex-wrap:wrap;border:1px solid var(--line);
  border-radius:var(--r-lg);padding:18px 22px;background:var(--blue-25);}
.nn-profile .trust__score{font-size:40px;font-weight:900;line-height:1;color:var(--primary);}
.nn-profile .trust__meta{font-size:13.5px;color:var(--text-2);line-height:1.5;}
.nn-profile .trust__sources{font-size:12px;color:var(--text-3);}
.nn-profile .trust-empty{border:1px dashed var(--brand);border-radius:var(--r-lg);padding:20px 22px;background:var(--blue-25);}
.nn-profile .trust-empty h4{margin:0 0 8px;font-size:16px;}
.nn-profile .trust-empty ul{margin:0;padding-left:18px;color:var(--text-2);font-size:13.5px;line-height:1.8;}

/* ======================= ДОКУМЕНТЫ ======================= */
.nn-profile .docgroup{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-bottom:12px;}
.nn-profile .docgroup__head{padding:14px 18px;background:var(--gray-50);display:flex;justify-content:space-between;
  align-items:center;font-weight:700;font-size:14.5px;cursor:pointer;}
.nn-profile .docgroup__count{font-size:12px;color:var(--text-3);font-weight:400;}
.nn-profile .docgroup__body{padding:14px 18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;}
.nn-profile .doc-thumb{aspect-ratio:3/4;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--blue-25);
  display:flex;align-items:flex-end;padding:9px;font-size:11px;color:var(--text-2);line-height:1.4;}

/* ======================= СЛОТ ЗАПИСИ ======================= */
.nn-profile .slotbox{border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px;background:#fff;max-width:420px;}
.nn-profile .slotbox__date{font-size:13px;font-weight:700;color:var(--text-2);margin-bottom:12px;}
.nn-profile .slots{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;}
.nn-profile .slot{font-family:inherit;text-align:center;font-size:14px;font-weight:700;padding:11px 0;border-radius:var(--r-sm);
  border:1.5px solid var(--line);background:#fff;color:var(--primary);cursor:pointer;transition:.15s;font-variant-numeric:tabular-nums;}
.nn-profile .slot:hover{border-color:var(--brand);background:var(--blue-25);}
.nn-profile .slot--active{background:var(--primary);border-color:var(--primary);color:#fff;}
.nn-profile .slot--off{color:var(--text-3);background:var(--gray-50);border-color:transparent;cursor:not-allowed;}
.nn-profile .noslots{border:1px dashed var(--line);border-radius:var(--r-lg);padding:20px;text-align:center;background:var(--gray-50);max-width:420px;}
.nn-profile .noslots p{margin:0 0 14px;color:var(--text-2);font-size:14px;}

/* ======================= ОБОЛОЧКИ: модалка / bottom sheet / слайдер ======================= */
.nn-profile .shellrow{display:grid;grid-template-columns:1fr 360px;gap:34px;align-items:start;}
.nn-profile .modal-mock{border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-md);background:#fff;overflow:hidden;}
.nn-profile .modal-mock__head{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;}
.nn-profile .modal-mock__head h4{margin:0;font-size:17px;font-weight:700;}
.nn-profile .modal-mock__x{width:34px;height:34px;border-radius:50%;background:var(--gray-50);display:flex;align-items:center;justify-content:center;color:var(--text-2);cursor:pointer;font-size:18px;}
.nn-profile .modal-mock__body{padding:22px;}
.nn-profile .modal-prefill{display:flex;gap:13px;align-items:center;background:var(--blue-25);border-radius:var(--r);padding:13px 15px;margin-bottom:18px;}
.nn-profile .modal-prefill__ava{width:46px;height:46px;border-radius:50%;background:linear-gradient(160deg,#eef5fb,#dfeefb);flex:none;}
.nn-profile .modal-prefill__t b{font-size:14.5px;}
.nn-profile .modal-prefill__t span{display:block;font-size:12.5px;color:var(--text-2);}

/* Телефон-рамка для mobile-демо */
.nn-profile .phone{width:320px;border:9px solid #1b2330;border-radius:34px;overflow:hidden;background:#fff;
  box-shadow:var(--sh-md);position:relative;}
.nn-profile .phone__bar{height:30px;background:#fff;display:flex;align-items:center;justify-content:center;}
.nn-profile .phone__bar::after{content:"";width:96px;height:6px;border-radius:6px;background:#dfe5ec;}
.nn-profile .phone__screen{min-height:420px;background:var(--gray-50);position:relative;overflow:hidden;}
.nn-profile .sheet{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:20px 20px 0 0;
  box-shadow:0 -10px 30px rgba(17,20,24,.12);padding:8px 18px 20px;}
.nn-profile .sheet__grab{width:42px;height:5px;border-radius:5px;background:#d4dbe4;margin:8px auto 14px;}
.nn-profile .sheet h4{margin:0 0 14px;font-size:16px;font-weight:700;}
.nn-profile .sticky-cta{position:absolute;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);
  padding:11px 14px;display:flex;gap:10px;box-shadow:0 -6px 18px rgba(17,20,24,.07);}
.nn-profile .anchor-tabs{display:flex;gap:8px;overflow-x:auto;padding:11px 14px;background:#fff;border-bottom:1px solid var(--line);}
.nn-profile .anchor-tabs span{flex:none;font-size:13px;font-weight:700;padding:7px 13px;border-radius:var(--pill);background:var(--gray-50);color:var(--text-2);white-space:nowrap;}
.nn-profile .anchor-tabs span.on{background:var(--blue-50);color:var(--primary);}

.nn-profile .slider-mock{border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;background:var(--gray-50);position:relative;}
.nn-profile .slider-track{display:flex;gap:16px;overflow:hidden;}
.nn-profile .slider-track>*{flex:0 0 240px;}
.nn-profile .slider-arrow{position:absolute;top:50%;width:42px;height:42px;border-radius:50%;background:#fff;
  border:1px solid var(--line);box-shadow:var(--sh-sm);display:flex;align-items:center;justify-content:center;
  color:var(--primary);font-size:18px;transform:translateY(-50%);cursor:pointer;}
.nn-profile .slider-arrow.l{left:-6px;} .nn-profile .slider-arrow.r{right:-6px;}
.nn-profile .dots{display:flex;gap:7px;justify-content:center;margin-top:16px;}
.nn-profile .dots i{width:7px;height:7px;border-radius:50%;background:#cdd6e0;display:block;}
.nn-profile .dots i.on{background:var(--brand);width:22px;border-radius:7px;}

/* ======================= EDGE-СОСТОЯНИЯ ======================= */
.nn-profile .states-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:18px;}
.nn-profile .state{border:1px solid var(--line);border-radius:var(--r);padding:16px;background:#fff;min-height:120px;display:flex;flex-direction:column;gap:9px;}
.nn-profile .state__lbl{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand);}
.nn-profile .state__body{font-size:13.5px;color:var(--text-2);line-height:1.5;flex:1;display:flex;flex-direction:column;justify-content:center;gap:8px;}
.nn-profile .pill-note{display:inline-block;font-size:12px;font-weight:700;padding:5px 11px;border-radius:var(--pill);
  background:var(--blue-50);color:var(--primary);align-self:flex-start;}
.nn-profile .pill-note--warn{background:#fdf3df;color:#9a7400;}
.nn-profile .pill-note--muted{background:var(--gray-50);color:var(--text-3);}

/* Утилиты раскладки */
.nn-profile .two{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start;}
.nn-profile .flex{display:flex;} .nn-profile .wrap{flex-wrap:wrap;} .nn-profile .gap16{gap:16px;} .nn-profile .gap24{gap:24px;}
.nn-profile .mt8{margin-top:8px;} .nn-profile .mt16{margin-top:16px;} .nn-profile .mt24{margin-top:24px;}
.nn-profile .colhead{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.nn-profile .colhead .tag{font-size:11px;font-weight:700;color:var(--text-3);background:var(--gray-50);padding:3px 9px;border-radius:var(--pill);text-transform:uppercase;letter-spacing:.05em;}

/* ======================= НОВАЯ КАРТОЧКА СЛАЙДЕРА (референс «нравится») ======================= */
.nn-profile .scard{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--sh-sm);transition:.2s ease;display:flex;flex-direction:column;}
.nn-profile .scard:hover{box-shadow:var(--sh-md);transform:translateY(-3px);}
.nn-profile .scard__photo{position:relative;aspect-ratio:1/1;margin:12px 12px 0;border-radius:var(--r);overflow:hidden;
  background:linear-gradient(160deg,#eef5fb,#dcecfa);}
.nn-profile .scard__photo img{width:100%;height:100%;object-fit:cover;object-position:top center;}
.nn-profile .scard__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(11,40,70,.42),transparent 42%);}
.nn-profile .scard__play{position:absolute;top:11px;right:11px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.94);
  display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(17,20,24,.18);cursor:pointer;z-index:2;transition:.15s;}
.nn-profile .scard__play:hover{transform:scale(1.08);}
.nn-profile .scard__play svg{width:15px;height:15px;color:var(--brand);margin-left:2px;}
.nn-profile .scard__rating{position:absolute;left:11px;bottom:11px;z-index:2;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
  background:rgba(255,255,255,.95);border-radius:var(--pill);padding:5px 11px;font-size:12.5px;font-weight:700;color:var(--ink);
  box-shadow:0 2px 8px rgba(17,20,24,.14);}
.nn-profile .scard__rating .star{color:#F2A100;font-size:13px;}
.nn-profile .scard__rating .rev{color:var(--text-2);font-weight:400;}
.nn-profile .scard__rolechip{position:absolute;left:11px;top:11px;z-index:2;font-size:11px;font-weight:700;letter-spacing:.02em;
  padding:4px 10px;border-radius:var(--pill);background:rgba(255,255,255,.94);color:var(--primary);box-shadow:0 2px 8px rgba(17,20,24,.12);}
.nn-profile .scard__rolechip--spec{color:#7a4dd0;}
.nn-profile .scard__rolechip--team{color:var(--text-2);}
.nn-profile .scard__body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px;flex:1;}
.nn-profile .scard__name{font-size:17px;font-weight:700;line-height:1.25;}
.nn-profile .scard__role{font-size:13px;color:var(--text-2);line-height:1.4;min-height:2.5em;}
.nn-profile .scard__facts{display:flex;gap:24px;margin:12px 0 14px;}
.nn-profile .scard__fact{display:flex;flex-direction:column;gap:2px;}
.nn-profile .scard__fact .k{font-size:11.5px;color:var(--text-3);}
.nn-profile .scard__fact .v{font-size:14.5px;font-weight:700;color:var(--ink);}
.nn-profile .scard__cta{margin-top:auto;}
/* облегчённая карточка медперсонала/админа — без рейтинга/цены/записи */
.nn-profile .scard--lite .scard__photo::after{display:none;}
.nn-profile .scard--lite .scard__body{gap:5px;}
.nn-profile .scard__fn{font-size:13px;color:var(--text-2);line-height:1.45;margin:4px 0 12px;}

/* ======================= ПЕРЕКЛЮЧАТЕЛЬ ГОРОДА (segmented) ======================= */
.nn-profile .citytoggle{display:inline-flex;background:var(--gray-50);border:1px solid var(--line);border-radius:var(--pill);padding:4px;gap:3px;}
.nn-profile .citytoggle button{font-family:inherit;font-size:13.5px;font-weight:700;border:0;background:transparent;color:var(--text-2);
  padding:8px 18px;border-radius:var(--pill);cursor:pointer;transition:.15s;min-height:36px;}
.nn-profile .citytoggle button.on{background:var(--primary);color:#fff;box-shadow:var(--sh-sm);}

/* фильтр-вкладки команды = чипы DS (.chip), активный — .chip--active */
.nn-profile .teambar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin-bottom:22px;}
.nn-profile .teambar__tabs{display:flex;flex-wrap:wrap;gap:9px;}
.nn-profile .teambar__count{font-size:13px;color:var(--text-3);}
.nn-profile .teambar__count b{color:var(--ink);}

/* сетка команды (режим A — desktop) */
.nn-profile .teamgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:18px;}
.nn-profile .team-empty{grid-column:1/-1;padding:34px;text-align:center;color:var(--text-3);font-size:14px;
  border:1px dashed var(--line);border-radius:var(--r-lg);background:var(--gray-50);}
.nn-profile [data-hidden]{display:none !important;}

/* ======================= НАВИГАЦИЯ ПРОФИЛЯ — ЯКОРЯ + SCROLL-SPY ======================= */
.nn-profile .spy{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff;box-shadow:var(--sh-sm);}
.nn-profile .spy__bar{position:sticky;top:0;z-index:5;display:flex;gap:8px;overflow-x:auto;padding:12px 16px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);scrollbar-width:none;}
.nn-profile .spy__bar::-webkit-scrollbar{display:none;}
.nn-profile .spy__bar a{flex:none;font-size:13.5px;font-weight:700;text-decoration:none;color:var(--text-2);
  padding:8px 14px;border-radius:var(--pill);transition:.15s;white-space:nowrap;}
.nn-profile .spy__bar a:hover{color:var(--primary);background:var(--blue-25);}
.nn-profile .spy__bar a.on{background:var(--blue-50);color:var(--primary);}
.nn-profile .spy__scroll{max-height:430px;overflow-y:auto;scroll-behavior:smooth;}
.nn-profile .spy__sec{padding:24px 26px;border-bottom:1px solid var(--line);}
.nn-profile .spy__sec:last-child{border-bottom:0;}
.nn-profile .spy__sec h4{margin:0 0 6px;font-size:18px;font-weight:700;}
.nn-profile .spy__sec p{margin:0;color:var(--text-2);font-size:14px;line-height:1.6;}
.nn-profile .spy__hero{background:linear-gradient(160deg,#eef5fb,#dfeefb);}
.nn-profile .spy__chiprow{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;}

/* ======================= НЕДЕЛЬНОЕ РАСПИСАНИЕ (референс — текущая страница) ======================= */
.nn-profile .sched{border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;padding:22px 24px 24px;box-shadow:var(--sh-sm);}
.nn-profile .sched__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:14px;}
.nn-profile .sched__head h3{margin:0;font-size:21px;font-weight:700;}
.nn-profile .sched__nav{display:flex;gap:8px;}
.nn-profile .sched__nav button{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--line);background:#fff;
  color:var(--primary);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s;}
.nn-profile .sched__nav button:hover{border-color:var(--brand);background:var(--blue-25);}
.nn-profile .sched__days{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-bottom:18px;}
.nn-profile .day{border:1.5px solid var(--line);border-radius:var(--r);padding:12px 6px;text-align:center;cursor:pointer;transition:.15s;background:#fff;}
.nn-profile .day:hover{border-color:var(--brand);}
.nn-profile .day .dow{font-size:12px;color:var(--text-3);}
.nn-profile .day .dnum{font-size:22px;font-weight:900;line-height:1.1;margin:3px 0;}
.nn-profile .day .dmon{font-size:11px;color:var(--text-3);}
.nn-profile .day--on{background:var(--primary);border-color:var(--primary);}
.nn-profile .day--on .dow, .nn-profile .day--on .dnum, .nn-profile .day--on .dmon{color:#fff;}
.nn-profile .day--off{opacity:.4;cursor:not-allowed;}
.nn-profile .sched__slots{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;}
.nn-profile .tslot{font-family:inherit;font-size:14.5px;font-weight:700;padding:11px 20px;border-radius:var(--r-sm);
  border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:.15s;font-variant-numeric:tabular-nums;}
.nn-profile .tslot:hover{border-color:var(--brand);background:var(--blue-25);color:var(--primary);}
.nn-profile .tslot--on{background:var(--blue-50);border-color:var(--brand);color:var(--primary);}
.nn-profile .sched__note{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-3);margin-bottom:16px;}
.nn-profile .sched__note svg{width:15px;height:15px;flex:none;color:var(--brand);}

/* Заглушка внешнего виджета Clientix — НЕ рисуем сам виджет */
.nn-profile .clientix{border:1.5px dashed var(--brand);border-radius:var(--r-lg);background:repeating-linear-gradient(135deg,#f2f8fd,#f2f8fd 14px,#eaf4fc 14px,#eaf4fc 28px);
  padding:34px 26px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;}
.nn-profile .clientix__badge{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);
  background:#fff;border:1px solid #cfe4f6;border-radius:var(--pill);padding:5px 13px;}
.nn-profile .clientix__t{font-size:16px;font-weight:700;color:var(--ink);max-width:340px;line-height:1.45;}
.nn-profile .clientix__s{font-size:13px;color:var(--text-2);max-width:360px;line-height:1.5;}
.nn-profile .clientix svg{width:34px;height:34px;color:var(--brand);opacity:.8;}

@media (max-width:900px){
  .nn-profile .two, .nn-profile .shellrow, .nn-profile .form-demo{grid-template-columns:1fr;}
  .nn-profile .type-row{grid-template-columns:1fr;gap:6px;}
  .nn-profile .panel{padding:26px 20px 30px;}
  .nn-profile .t-display{font-size:40px;} .nn-profile .t-h1{font-size:30px;}
  .nn-profile .grid-cols{grid-template-columns:repeat(6,1fr);}
  .nn-profile .sched__days{grid-template-columns:repeat(4,1fr);}
  .nn-profile .sched{padding:18px 16px 20px;}
}

/* Карточка слайдера: прижать блок «Стаж/Приём» и кнопку к низу, чтобы строка фактов была на одной линии у всех карточек */
.nn-profile .scard__tags{flex:1;}
