/* Шрифт — Golos Text, файлы свои. Остальное — с холста Claude Design (project/new.css), источник правды там */
@font-face{font-family:'Golos Text';font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/fonts/golos-text-cyrillic-wght-normal.woff2) format('woff2-variations'),url(/assets/fonts/golos-text-cyrillic-wght-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116,U+20BD}
@font-face{font-family:'Golos Text';font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/fonts/golos-text-latin-wght-normal.woff2) format('woff2-variations'),url(/assets/fonts/golos-text-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* geo-doc · редизайн 2026-11 · «каталог»
   Направление: справочник врачей и клиник, как zoon.ru и страницы врача ЕМЦ — плотная информация, фото, рейтинг,
   цены и запись на виду; белые карточки с тонкой рамкой на светло-сером фоне; без градиентов, свечения и огромных заголовков.
   От geo-doc остаются: логотип, кобальт #2B4FD8 (ведёт: ссылки, кнопки, активное), коралл #E8612C с тёмно-синим текстом —
   только «Записаться», шрифт Golos Text. */
:root{
  --n-bg:#F4F6FA; --n-surface:#FFFFFF; --n-line:#E2E6EE; --n-line-2:#EEF1F6;
  --n-ink:#18202F; --n-text:#394254; --n-muted:#646C7E; --n-faint:#9AA1B0;
  --n-blue:#2B4FD8; --n-blue-hover:#2442BC; --n-blue-ink:#1E3BA6; --n-blue-soft:#EEF2FD; --n-blue-line:#C9D4F6;
  --n-coral:#E8612C; --n-coral-hover:#F0733F; --n-coral-ink:#101D47; --n-coral-soft:#FDEEE6;
  --n-star:#F5A524; --n-star-off:#DCE0E8;
  --n-green:#1F8A5D; --n-green-soft:#E7F5EE; --n-warn:#B4610A; --n-warn-soft:#FDF1E3; --n-red:#C4511D; --n-red-soft:#FBF0EC;
  --n-font:'Golos Text',-apple-system,'Segoe UI',Arial,sans-serif;
  --n-r-s:8px; --n-r-m:12px; --n-r-l:16px;
  --n-sh-hover:0 6px 20px rgba(24,32,47,.08);
  --n-focus:0 0 0 3px rgba(43,79,216,.3);
}
.n{font-family:var(--n-font);font-size:15px;line-height:1.5;color:var(--n-text);background:var(--n-bg);-webkit-font-smoothing:antialiased}
.n *{box-sizing:border-box}
.n h1,.n h2,.n h3,.n h4,.n p,.n ul,.n ol,.n figure,.n blockquote{margin:0}
/* ссылки: нулевая специфичность, чтобы кнопки, чипы и плитки-ссылки держали свой цвет */
:where(.n a){color:var(--n-blue);text-decoration:none}
:where(.n a:hover){color:var(--n-blue-hover);text-decoration:underline;text-underline-offset:3px}
.gd-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.n :focus-visible{outline:none;box-shadow:var(--n-focus);border-radius:6px}
.n-wrap{max-width:1200px;margin:0 auto;padding-inline:24px}
.n-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.n-grow{flex:1 1 auto}
.n-muted{color:var(--n-muted)}
.n-small{font-size:13px;line-height:18px}
.n-nowrap{white-space:nowrap}
.n-num{font-variant-numeric:tabular-nums}

/* типографика: спокойная, без капса и разрядки */
.n-h1{font-size:32px;line-height:40px;font-weight:700;letter-spacing:-.01em;color:var(--n-ink);text-wrap:balance}
.n-h2{font-size:24px;line-height:32px;font-weight:700;color:var(--n-ink);text-wrap:balance}
.n-h3{font-size:18px;line-height:24px;font-weight:600;color:var(--n-ink)}
.n-h4{font-size:16px;line-height:22px;font-weight:600;color:var(--n-ink)}
.n-lead{font-size:17px;line-height:26px;color:var(--n-text)}
.n-sec{display:flex;flex-direction:column;gap:16px}
.n-sec__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px}

/* шапка: логотип, поиск с городом, ссылки — как у справочников */
.n-hdr{background:var(--n-surface);border-bottom:1px solid var(--n-line)}
.n-hdr__row{display:flex;align-items:center;gap:20px;min-height:68px}
.n-logo{display:inline-flex;align-items:center;color:var(--n-blue)}
.n-logo svg{display:block;height:28px;width:auto;fill:currentColor}
.n-logo:hover{color:var(--n-blue)}
.n-hdr__links{display:flex;align-items:center;gap:20px;margin-left:auto;font-size:14px;font-weight:500;white-space:nowrap}
.n-hdr__links a{color:var(--n-text)}
.n-hdr__links a:hover{color:var(--n-blue);text-decoration:none}
.n-subnav{display:flex;flex-wrap:wrap;gap:4px 24px;min-height:44px;align-items:center;font-size:14px;border-top:1px solid var(--n-line-2)}
.n-subnav a{color:var(--n-text);padding:11px 0;border-bottom:2px solid transparent}
.n-subnav a:hover{color:var(--n-blue);text-decoration:none}
.n-subnav a.is-on{color:var(--n-ink);font-weight:600;border-bottom-color:var(--n-blue)}

/* поиск */
.n-search{display:flex;align-items:stretch;flex:1 1 520px;max-width:640px;min-height:44px;border:1.5px solid var(--n-line);border-radius:var(--n-r-m);background:var(--n-surface);overflow:hidden}
.n-search:focus-within{border-color:var(--n-blue);box-shadow:var(--n-focus)}
.n-search__q{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0;padding:0 14px;color:var(--n-faint)}
.n-search__q input{flex:1 1 auto;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:15px;color:var(--n-ink)}
.n-search__q input::placeholder{color:var(--n-faint)}
.n-search__city{display:flex;align-items:center;gap:8px;flex:none;padding:0 14px;border:0;border-left:1px solid var(--n-line);background:transparent;font:inherit;font-size:14px;font-weight:500;color:var(--n-ink);cursor:pointer;white-space:nowrap}
.n-search__city svg{color:var(--n-muted)}
.n-search__go{flex:none;border:0;padding:0 22px;background:var(--n-blue);color:#fff;font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.n-search__go:hover{background:var(--n-blue-hover)}
.n-search--lg{flex:0 0 auto;min-height:56px;max-width:none;border-radius:14px}
.n-search--lg .n-search__q input{font-size:17px}
.n-search--lg .n-search__go{padding:0 32px;font-size:16px}

/* кнопки */
.n-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border:0;border-radius:var(--n-r-s);font:inherit;font-size:15px;font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer;text-decoration:none}
.n-btn:hover{text-decoration:none}
.n-btn--book{background:var(--n-coral);color:var(--n-coral-ink)}
.n-btn--book:hover{background:var(--n-coral-hover);color:var(--n-coral-ink)}
.n-btn--blue{background:var(--n-blue);color:#fff}
.n-btn--blue:hover{background:var(--n-blue-hover);color:#fff}
.n-btn--line{background:var(--n-surface);color:var(--n-blue-ink);box-shadow:inset 0 0 0 1.5px var(--n-blue-line)}
.n-btn--line:hover{box-shadow:inset 0 0 0 1.5px var(--n-blue);color:var(--n-blue-ink)}
.n-btn--ghost{background:var(--n-blue-soft);color:var(--n-blue-ink)}
.n-btn--ghost:hover{background:#E2E9FC;color:var(--n-blue-ink)}
.n-btn--sm{min-height:36px;padding:0 14px;font-size:14px}
.n-btn--lg{min-height:50px;padding:0 26px;font-size:16px}
.n-btn--block{width:100%}
.n-btn[disabled]{opacity:.5;cursor:not-allowed}

/* чипы-фильтры и метки */
.n-chips{display:flex;flex-wrap:wrap;gap:8px}
.n-chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 14px;border:1px solid var(--n-line);border-radius:999px;background:var(--n-surface);font:inherit;font-size:14px;color:var(--n-ink);cursor:pointer;white-space:nowrap}
.n-chip:hover{border-color:var(--n-blue);color:var(--n-ink);text-decoration:none}
.n-chip.is-on{background:var(--n-blue);border-color:var(--n-blue);color:#fff}
.n-chip small{font-size:12px;color:var(--n-muted)}
.n-chip.is-on small{color:#DCE4FF}
.n-tag{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:6px;font-size:12px;line-height:18px;font-weight:500;background:var(--n-line-2);color:var(--n-text);white-space:nowrap}
.n-tag--ok{background:var(--n-green-soft);color:#176B48}
.n-tag--blue{background:var(--n-blue-soft);color:var(--n-blue-ink)}
.n-tag--coral{background:var(--n-coral-soft);color:#A8401A}
.n-tag--warn{background:var(--n-warn-soft);color:#7A4A15}

/* рейтинг */
.n-rate{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--n-muted);white-space:nowrap}
.n-rate b{font-size:15px;font-weight:700;color:var(--n-ink)}
.n-stars{display:inline-flex;gap:1px;color:var(--n-star);font-size:15px;letter-spacing:0;line-height:1}
.n-stars i{font-style:normal;color:var(--n-star-off)}
.n-stars--lg{font-size:22px}

/* карточки */
.n-card{background:var(--n-surface);border:1px solid var(--n-line);border-radius:var(--n-r-m);padding:20px;display:flex;flex-direction:column;gap:12px;min-width:0}
.n-card--hover:hover{box-shadow:var(--n-sh-hover)}
.n-card--flat{background:var(--n-bg);border-color:transparent}

/* фото врача: пока нет снимка — инициалы на светлом */
.n-photo{flex:none;display:grid;place-items:center;width:120px;height:150px;border-radius:10px;background:linear-gradient(180deg,#E9EEFB,#DCE4F8);color:#5C74C9;font-size:34px;font-weight:600;letter-spacing:.02em;overflow:hidden}
.n-photo--sm{width:64px;height:80px;font-size:20px;border-radius:8px}
.n-photo--xs{width:44px;height:44px;font-size:15px;border-radius:50%}
.n-photo--lg{width:260px;height:320px;font-size:64px;border-radius:14px}
.n-logo-ph{flex:none;display:grid;place-items:center;width:88px;height:88px;border-radius:12px;background:var(--n-line-2);color:var(--n-muted);font-size:26px;font-weight:700}

/* карточка врача в списке (как в каталогах: слева фото, в центре всё о враче, справа запись) */
.n-doc{display:grid;grid-template-columns:120px minmax(0,1fr) 340px;gap:20px;padding:20px;background:var(--n-surface);border:1px solid var(--n-line);border-radius:var(--n-r-m)}
.n-doc__main{display:flex;flex-direction:column;gap:8px;min-width:0}
.n-doc__name{font-size:19px;line-height:25px;font-weight:600;color:var(--n-ink)}
a.n-doc__name:hover{color:var(--n-blue)}
.n-doc__spec{font-size:15px;color:var(--n-text)}
.n-doc__meta{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:14px;color:var(--n-muted)}
.n-doc__meta b{color:var(--n-ink);font-weight:600}
.n-doc__quote{position:relative;margin-top:4px;padding:10px 12px;border-radius:10px;background:var(--n-bg);font-size:14px;line-height:20px;color:var(--n-text)}
.n-doc__quote b{display:block;margin-bottom:2px;font-size:13px;font-weight:600;color:var(--n-ink)}
.n-doc__place{display:flex;gap:8px;font-size:14px;line-height:20px;color:var(--n-text)}
.n-doc__place svg{flex:none;margin-top:2px;color:var(--n-muted)}
.n-doc__side{display:flex;flex-direction:column;gap:12px;padding-left:20px;border-left:1px solid var(--n-line-2)}
.n-price{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:14px;color:var(--n-muted)}
.n-price b{font-size:18px;font-weight:700;color:var(--n-ink);white-space:nowrap}

/* запись: дни и время */
.n-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.n-day{display:flex;flex-direction:column;align-items:center;gap:1px;min-height:48px;padding:6px 2px;border:1px solid var(--n-line);border-radius:8px;background:var(--n-surface);font:inherit;cursor:pointer}
.n-day b{font-size:13px;font-weight:600;color:var(--n-ink)}
.n-day span{font-size:11px;color:var(--n-muted)}
.n-day.is-on{border-color:var(--n-blue);background:var(--n-blue-soft)}
.n-day.is-none span{color:var(--n-faint)}
.n-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.n-slot{min-height:34px;border:0;border-radius:8px;background:var(--n-green-soft);font:inherit;font-size:14px;font-weight:600;color:#176B48;cursor:pointer;font-variant-numeric:tabular-nums}
.n-slot:hover{background:#D4EEDF}
.n-slot.is-on{background:var(--n-green);color:#fff}
.n-slot--more{background:transparent;border:1px dashed var(--n-line);color:var(--n-muted);font-weight:500}
.n-noslots{padding:12px;border-radius:10px;background:var(--n-bg);font-size:14px;color:var(--n-muted)}

/* отзыв */
.n-rv{display:flex;flex-direction:column;gap:10px;padding:20px 0;border-top:1px solid var(--n-line-2)}
.n-rv:first-child{border-top:0;padding-top:0}
.n-rv__head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.n-rv__who{font-weight:600;color:var(--n-ink)}
.n-rv__date{font-size:13px;color:var(--n-muted)}
.n-rv__text{font-size:15px;line-height:23px;color:var(--n-text);white-space:pre-line}
.n-rv__pm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.n-rv__pm div{display:flex;flex-direction:column;gap:2px;font-size:14px;line-height:20px}
.n-rv__pm b{font-size:13px;font-weight:600}
.n-rv__pm .is-plus b{color:#176B48}
.n-rv__pm .is-minus b{color:var(--n-red)}
.n-rv__reply{margin-left:20px;padding:12px 14px;border-left:3px solid var(--n-blue-line);background:var(--n-bg);border-radius:0 10px 10px 0;font-size:14px;line-height:21px}
.n-rv__reply b{display:block;margin-bottom:2px;font-size:13px;color:var(--n-ink)}
.n-rv__foot{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--n-muted)}
.n-rvcard{display:flex;flex-direction:column;gap:10px;padding:18px;background:var(--n-surface);border:1px solid var(--n-line);border-radius:var(--n-r-m);min-width:0}
.n-rvcard__doc{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--n-line-2)}
.n-rvcard__doc b{display:block;font-size:14px;line-height:19px;color:var(--n-ink)}
.n-rvcard__doc span{font-size:13px;color:var(--n-muted)}
.n-rvcard__text{font-size:14px;line-height:21px;color:var(--n-text);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}

/* сводка оценок */
.n-score{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:center}
.n-score__big{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.n-score__big b{font-size:48px;line-height:1;font-weight:700;color:var(--n-ink)}
.n-bars{display:flex;flex-direction:column;gap:6px}
.n-bar{display:grid;grid-template-columns:68px minmax(0,1fr) 28px;white-space:nowrap;align-items:center;gap:10px;font-size:13px;color:var(--n-muted)}
.n-bar__t{height:8px;border-radius:4px;background:var(--n-line-2);overflow:hidden}
.n-bar__t span{display:block;height:100%;border-radius:4px;background:var(--n-star)}

/* таблица цен */
.n-prices{width:100%;border-collapse:collapse;font-size:15px}
.n-prices td{padding:12px 0;border-bottom:1px solid var(--n-line-2);vertical-align:top}
.n-prices td+td{padding-left:16px;text-align:right;white-space:nowrap;font-weight:600;color:var(--n-ink)}
.n-prices tr:last-child td{border-bottom:0}

/* хлебные крошки, вкладки-якоря */
.n-crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--n-muted)}
.n-crumbs a{color:var(--n-muted)}
.n-tabs{display:flex;flex-wrap:wrap;gap:4px 24px;border-bottom:1px solid var(--n-line)}
.n-tabs a{padding:12px 0;margin-bottom:-1px;border-bottom:2px solid transparent;font-size:15px;font-weight:500;color:var(--n-text)}
.n-tabs a:hover{text-decoration:none;color:var(--n-blue)}
.n-tabs a.is-on{color:var(--n-ink);font-weight:600;border-bottom-color:var(--n-blue)}
.n-tabs a small{font-size:13px;color:var(--n-muted);font-weight:400}

/* факты (стаж, цена) — плитки как у страницы врача клиники */
.n-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.n-fact{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:10px;background:var(--n-bg)}
.n-fact span{font-size:13px;color:var(--n-muted)}
.n-fact b{font-size:17px;font-weight:600;color:var(--n-ink)}

/* клиника */
.n-clinic{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:16px;align-items:start}
.n-place{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--n-line);border-radius:10px;background:var(--n-surface)}
.n-place b{font-size:15px;color:var(--n-ink)}
.n-place span{font-size:14px;color:var(--n-muted)}

/* боковые фильтры */
.n-filters{display:flex;flex-direction:column;gap:20px;padding:20px;background:var(--n-surface);border:1px solid var(--n-line);border-radius:var(--n-r-m)}
.n-filter{display:flex;flex-direction:column;gap:10px}
.n-filter>b{font-size:14px;font-weight:600;color:var(--n-ink)}
.n-check{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--n-text);cursor:pointer}
.n-check input{width:18px;height:18px;margin:0;accent-color:var(--n-blue)}
.n-check small{margin-left:auto;font-size:13px;color:var(--n-faint)}
.n-select{width:100%;min-height:40px;padding:0 12px;border:1px solid var(--n-line);border-radius:8px;background:var(--n-surface);font:inherit;font-size:14px;color:var(--n-ink)}

/* поля формы */
.n-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.n-label{font-size:14px;font-weight:600;color:var(--n-ink)}
.n-label small{font-weight:400;color:var(--n-muted)}
.n-input,.n-textarea{width:100%;min-height:46px;padding:11px 14px;border:1.5px solid var(--n-line);border-radius:10px;background:var(--n-surface);font:inherit;font-size:16px;line-height:22px;color:var(--n-ink)}
.n-textarea{min-height:120px;resize:vertical}
.n-input:focus,.n-textarea:focus{outline:none;border-color:var(--n-blue);box-shadow:var(--n-focus)}
.n-hint{font-size:13px;color:var(--n-muted)}
.n-field.is-err .n-input{border-color:var(--n-red);background:var(--n-red-soft)}
.n-field.is-err .n-hint{color:var(--n-red);font-weight:500}

/* оценка звёздами в форме */
.n-grade{display:flex;gap:4px}
.n-grade button{width:44px;height:44px;border:0;border-radius:8px;background:transparent;font-size:34px;line-height:1;color:var(--n-star-off);cursor:pointer}
.n-grade button.is-on{color:var(--n-star)}

/* плашки-сообщения */
.n-note{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:10px;font-size:14px;line-height:21px}
.n-note--info{background:var(--n-blue-soft);color:var(--n-blue-ink)}
.n-note--ok{background:var(--n-green-soft);color:#14543A}
.n-note--warn{background:var(--n-warn-soft);color:#7A4A15}
.n-note--err{background:var(--n-red-soft);color:#7A3520}

/* плитки категорий (как категории у zoon) */
.n-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.n-tile{display:flex;flex-direction:column;gap:10px;padding:16px;min-height:112px;background:var(--n-surface);border:1px solid var(--n-line);border-radius:var(--n-r-m);color:var(--n-ink);font-size:15px;font-weight:600;line-height:20px}
.n-tile:hover{border-color:var(--n-blue);text-decoration:none;color:var(--n-ink)}
.n-tile svg{color:var(--n-blue)}
.n-tile small{margin-top:auto;font-size:13px;font-weight:400;color:var(--n-muted)}

/* подвал */
.n-foot{background:var(--n-surface);border-top:1px solid var(--n-line);font-size:14px}
.n-foot__cols{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:24px;padding-block:36px 28px}
.n-foot__col{display:flex;flex-direction:column;gap:10px}
.n-foot__col b{font-size:14px;color:var(--n-ink)}
.n-foot__col a{color:var(--n-text)}
.n-foot__legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-block:16px 24px;border-top:1px solid var(--n-line-2);font-size:12px;line-height:18px;color:var(--n-muted)}

/* кабинет и админка в новом стиле: боковое меню слева */
.n-app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100%;background:var(--n-bg)}
.n-side{display:flex;flex-direction:column;gap:2px;padding:18px 12px;background:var(--n-surface);border-right:1px solid var(--n-line)}
.n-side__logo{padding:4px 10px 18px}
.n-side__org{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:10px;border:1px solid var(--n-line);border-radius:10px;font-size:14px;font-weight:600;color:var(--n-ink)}
.n-side__org small{display:block;font-size:12px;font-weight:400;color:var(--n-muted)}
.n-side__a{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 10px;border-radius:8px;font-size:14px;font-weight:500;color:var(--n-text)}
.n-side__a svg{flex:none;color:var(--n-muted)}
.n-side__a:hover{background:var(--n-bg);color:var(--n-ink);text-decoration:none}
.n-side__a.is-on{background:var(--n-blue-soft);color:var(--n-blue-ink);font-weight:600}
.n-side__a.is-on svg{color:var(--n-blue)}
.n-side__a em{margin-left:auto;min-width:22px;padding:0 7px;border-radius:11px;background:var(--n-coral);color:var(--n-coral-ink);font-style:normal;font-size:12px;font-weight:700;line-height:20px;text-align:center}
.n-side__sep{height:1px;margin:10px 4px;background:var(--n-line-2)}
.n-side__label{padding:12px 10px 4px;font-size:12px;color:var(--n-faint)}
.n-main{display:flex;flex-direction:column;min-width:0}
.n-top{display:flex;align-items:center;gap:16px;min-height:64px;padding:0 28px;background:var(--n-surface);border-bottom:1px solid var(--n-line)}
.n-page{display:flex;flex-direction:column;gap:20px;padding:24px 28px 48px;max-width:1240px;width:100%}
.n-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.n-kpi{display:flex;flex-direction:column;gap:4px;padding:16px 18px;background:var(--n-surface);border:1px solid var(--n-line);border-radius:var(--n-r-m)}
.n-kpi span{font-size:13px;color:var(--n-muted)}
.n-kpi b{font-size:26px;line-height:32px;font-weight:700;color:var(--n-ink);font-variant-numeric:tabular-nums}
.n-kpi small{font-size:13px;color:var(--n-muted)}
.n-kpi small.is-up{color:#176B48}
.n-kpi small.is-down{color:var(--n-red)}
.n-table{width:100%;border-collapse:collapse;font-size:14px;line-height:20px}
.n-table th{padding:10px 14px;text-align:left;font-size:13px;font-weight:500;color:var(--n-muted);border-bottom:1px solid var(--n-line);white-space:nowrap}
.n-table td{padding:12px 14px;border-bottom:1px solid var(--n-line-2);color:var(--n-ink);vertical-align:middle}
.n-table tr:last-child td{border-bottom:0}
.n-table tbody tr:hover td{background:#FAFBFD}
.n-table .num{text-align:right;font-variant-numeric:tabular-nums}
.n-table .sub{display:block;font-size:13px;color:var(--n-muted)}
.n-box{background:var(--n-surface);border:1px solid var(--n-line);border-radius:var(--n-r-m);overflow:hidden}
.n-box__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:16px 18px;border-bottom:1px solid var(--n-line-2)}
.n-box__body{padding:18px}
.n-dot{display:inline-flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}
.n-dot::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--n-faint)}
.n-dot--ok::before{background:var(--n-green)}
.n-dot--warn::before{background:#D9821F}
.n-dot--err{color:var(--n-red);font-weight:500}
.n-dot--err::before{background:var(--n-red)}
.n-dot--blue::before{background:var(--n-blue)}
.n-switch{appearance:none;width:38px;height:22px;margin:0;border-radius:11px;background:#CDD2DC;position:relative;cursor:pointer;flex:none}
.n-switch::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.n-switch:checked{background:var(--n-blue)}
.n-switch:checked::after{left:19px}
.n-seg{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:var(--n-line-2)}
.n-seg button{min-height:32px;padding:0 12px;border:0;border-radius:8px;background:transparent;font:inherit;font-size:14px;color:var(--n-text);cursor:pointer}
.n-seg button.is-on{background:var(--n-surface);color:var(--n-ink);font-weight:600;box-shadow:0 1px 2px rgba(24,32,47,.08)}
.n-avatar{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--n-blue-soft);color:var(--n-blue-ink);font-size:13px;font-weight:600;flex:none}
.n-chart{display:flex;align-items:flex-end;gap:4px;height:160px;padding-top:8px;border-bottom:1px solid var(--n-line)}
.n-chart i{flex:1 1 0;min-width:0;border-radius:4px 4px 0 0;background:var(--n-blue)}
.n-chart i.is-low{background:#C5D1F5}
.n-modal-bg{position:absolute;inset:0;background:rgba(16,24,48,.45);display:flex;align-items:center;justify-content:center;padding:24px}
.n-modal{width:min(520px,100%);display:flex;flex-direction:column;gap:16px;padding:24px;background:var(--n-surface);border-radius:var(--n-r-l);box-shadow:0 24px 64px rgba(16,24,48,.3)}

/* телефон */
@media (max-width:720px){
  .n-wrap{padding-inline:16px}
  .n-h1{font-size:24px;line-height:31px}
  .n-h2{font-size:20px;line-height:27px}
  .n-hdr__row{flex-wrap:wrap;gap:10px 12px;padding-block:10px}
  .n-hdr__row .n-search{order:3;flex:1 1 100%;max-width:none}
  .n-hdr__links{gap:14px}
  .n-hdr__links .n-hide-m{display:none}
  .n-subnav{flex-wrap:nowrap;overflow-x:auto;gap:20px}
  .n-subnav a{flex:none}
  .n-search--lg{flex-direction:column;min-height:0}
  .n-search--lg .n-search__q{min-height:52px}
  .n-search--lg .n-search__city{min-height:46px;border-left:0;border-top:1px solid var(--n-line)}
  .n-search--lg .n-search__go{min-height:48px}
  .n-doc{grid-template-columns:80px minmax(0,1fr);gap:12px 14px;padding:16px}
  .n-doc .n-photo{width:80px;height:100px;font-size:24px}
  .n-doc__side{grid-column:1/-1;padding-left:0;border-left:0;padding-top:12px;border-top:1px solid var(--n-line-2)}
  .n-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .n-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .n-foot__cols{grid-template-columns:1fr 1fr}
  .n-score{grid-template-columns:1fr}
  .n-rv__pm{grid-template-columns:1fr}
  .n-hide-m{display:none!important}
  .n-app{grid-template-columns:1fr}
  .n-side{display:none}
  .n-page{padding:16px 16px 40px}
  .n-top{padding:0 16px}
  .n-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:721px){.n-show-m{display:none!important}}

/* ================= Правки после критика №1 =================
   Белый фон у публичных страниц, меньше рамок, без инициалов, спокойнее заголовки, без «призрачных» кнопок. */
:root{--n-r-m:10px}
.n--site{background:#fff}
.n-section{display:flex;flex-direction:column;gap:20px;padding-top:32px;border-top:1px solid var(--n-line)}
.n-h1{font-size:36px;line-height:44px;font-weight:600;letter-spacing:-.02em}
.n-h1--xl{font-size:40px;line-height:48px}
.n-h2{font-size:22px;line-height:28px;font-weight:600}
.n-doc__name{font-size:18px;line-height:24px}
.n-price b,.n-rate b,.n-kpi b{font-weight:700}
.n-price b{font-size:20px}
/* фото: серый силуэт вместо инициалов */
.n-photo{background:#ECEFF3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 150'%3E%3Ccircle cx='60' cy='58' r='26' fill='%23C3C9D4'/%3E%3Cpath d='M10 150c0-34 22-52 50-52s50 18 50 52z' fill='%23C3C9D4'/%3E%3C/svg%3E") center bottom/100% auto no-repeat;color:transparent;font-size:0!important}
.n-photo--xs{background-size:120% auto}
.n-rv__head .n-photo{display:none}
/* «призрачная» кнопка = обычная с рамкой */
.n-btn--ghost{background:var(--n-surface);color:var(--n-blue-ink);box-shadow:inset 0 0 0 1.5px var(--n-blue-line)}
.n-btn--ghost:hover{background:var(--n-surface);box-shadow:inset 0 0 0 1.5px var(--n-blue)}
/* подтверждённый визит — зелёный текст с галочкой, без плашки */
.n-rv__head .n-tag--ok,.n-feed .n-tag--ok{padding:0;background:none;color:#176B48}
.n-rv__head .n-tag--ok::before,.n-feed .n-tag--ok::before{content:"✓";font-weight:700}
/* факты одной строкой */
.n-facts{display:flex;flex-wrap:wrap;gap:12px 36px}
.n-fact{padding:0;background:none}
.n-fact b{font-size:20px;line-height:26px}
/* дни записи компактнее, пустые — бледные */
.n-day b{font-size:12px}
.n-day.is-none{opacity:.45;pointer-events:none}
/* плотный список специальностей, как «Организации» у zoon */
.n-speclist{columns:4;column-gap:32px;margin:0;padding:0;list-style:none}
.n-speclist li{break-inside:avoid}
.n-speclist a{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--n-line-2);color:var(--n-ink);font-size:15px}
.n-speclist a span{color:var(--n-faint);font-variant-numeric:tabular-nums}
.n-speclist a:hover{color:var(--n-blue);text-decoration:none}
/* «Часто ищут» строкой */
.n-often{font-size:14px;color:var(--n-muted)}
.n-often a{color:var(--n-text);border-bottom:1px solid var(--n-line)}
.n-often a:hover{color:var(--n-blue);text-decoration:none;border-bottom-color:var(--n-blue)}
/* лента отзывов в одной панели */
.n-feed{border:1px solid var(--n-line);border-radius:var(--n-r-m);background:var(--n-surface)}
.n-feed__row{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;padding:16px 20px;border-top:1px solid var(--n-line-2)}
.n-feed__row:first-child{border-top:0}
.n-feed__doc{display:flex;gap:12px;align-items:flex-start;min-width:0}
.n-feed__doc b{display:block;font-size:15px;line-height:20px;color:var(--n-ink)}
.n-feed__doc span{font-size:13px;color:var(--n-muted)}
.n-feed__body{display:flex;flex-direction:column;gap:6px;min-width:0}
.n-feed__text{font-size:15px;line-height:23px;color:var(--n-text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* полоса для клиник */
.n-strip{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:20px 24px;border:1px solid var(--n-line);border-radius:8px;background:var(--n-surface)}
.n-strip p{flex:1 1 360px;font-size:16px;color:var(--n-ink)}
/* списки с синим тире, как у страницы врача клиники */
.n-dash{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 32px;margin:0;padding:0;list-style:none}
.n-dash li{position:relative;padding-left:20px;font-size:15px;line-height:22px}
.n-dash li::before{content:"";position:absolute;left:0;top:11px;width:10px;height:2px;background:var(--n-blue)}
/* цены с отточием */
.n-dots{display:flex;flex-direction:column}
.n-dots a,.n-dots div{display:flex;align-items:baseline;gap:8px;padding:9px 0;color:var(--n-text);font-size:15px}
.n-dots i{flex:1 1 auto;border-bottom:1px dotted #C3C9D4;transform:translateY(-4px)}
.n-dots b{white-space:nowrap;color:var(--n-ink);font-weight:600}
/* выбор филиала радиокнопками */
.n-radio{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--n-line);border-radius:8px;font-size:14px;line-height:20px;cursor:pointer}
.n-radio input{margin:3px 0 0;accent-color:var(--n-blue)}
.n-radio b{display:block;color:var(--n-ink);font-weight:600}
.n-radio span{color:var(--n-muted)}
.n-radio.is-on{border-color:var(--n-blue);background:var(--n-blue-soft)}
.n-open{color:#176B48;font-size:13px}
.n-sticky{position:sticky;top:16px}
@media (max-width:720px){
  .n-h1,.n-h1--xl{font-size:26px;line-height:32px}
  .n-speclist{columns:2}
  .n-feed__row{grid-template-columns:1fr;gap:10px}
  .n-dash{grid-template-columns:1fr}
}
/* телефон: любые сетки, заданные в разметке, — в одну колонку; ряды чипов прокручиваются вбок */
@media (max-width:720px){
  .n [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
  .n [style*="flex-wrap: nowrap"].n-chips,.n-chips{flex-wrap:nowrap!important;overflow-x:auto;padding-bottom:4px}
  .n-chip{flex:none}
  .n-sticky{position:static}
  .n-photo[style*="width: 240px"]{width:160px!important;height:200px!important}
  .n-hdr__links a:not(.n-btn){display:none}
  .n-feed__row{padding:14px 16px}
  .n-strip{padding:16px}
}

/* ================= Правки после критика №2 =================
   Списки — строками с линией, а не карточками; один вес у заголовков; коралл только на «Записаться»; меньше объяснений. */
:root{--n-red:#D0302F;--n-red-soft:#FCEDEC}
.n-h1,.n-h2{font-weight:700}
.n-label,.n-chip,.n-slot{font-weight:500}
.n-section{border-top:0;padding-top:0}
.n-section--rule{padding-top:32px;border-top:1px solid var(--n-line)}
/* врач в списке — строка, как у справочников */
.n-doc{border:0;border-radius:0;border-bottom:1px solid var(--n-line);padding:24px 0;grid-template-columns:120px minmax(0,1fr) 260px;gap:24px;background:transparent}
.n-doc:first-child{padding-top:8px}
.n-doc__side{border-left:0;padding-left:0}
.n-doc__side .n-btn--book{width:auto;min-height:40px;align-self:flex-start}
.n-doc__quote{background:none;border-radius:0;padding:0 0 0 12px;border-left:2px solid var(--n-line);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.n-doc__quote b{display:inline;margin-right:6px}
/* фильтры без рамки */
.n-filters{border:0;padding:0;border-radius:0;background:transparent}
.n-filter+.n-filter{padding-top:16px;border-top:1px solid var(--n-line-2)}
/* «где принимает» — строки */
.n-place{border:0;border-radius:0;padding:10px 0;border-bottom:1px solid var(--n-line-2);background:transparent}
.n-place .n-open,.n-place .n-nowrap{white-space:nowrap}
/* строка врача (компактная) */
.n-docrow{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--n-line-2)}
.n-docrow .n-photo{width:64px;height:80px;border-radius:8px}
.n-docrow b{display:block;font-size:16px;font-weight:600;color:var(--n-ink)}
.n-docrow span{font-size:14px;color:var(--n-muted)}
/* «ещё…» одинаково везде */
.n-more{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:500;color:var(--n-blue)}
.n-more::after{content:"";width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px)}
/* постраничная навигация */
.n-pager{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:15px}
.n-pager a,.n-pager span{display:inline-grid;place-items:center;min-width:36px;height:36px;padding:0 8px;border-radius:8px;color:var(--n-text)}
.n-pager a:hover{background:var(--n-bg);text-decoration:none}
.n-pager .is-on{background:var(--n-ink);color:#fff;font-weight:600}
.n-ok{color:#176B48}
/* ответ клиники — без цветной полоски */
.n-rv__reply{border-left:0;border-radius:10px;margin-left:0}
/* кабинет: счётчики серые, мелкие кнопки, строки списков */
.n-side__a em{background:var(--n-line-2);color:var(--n-ink)}
.n-side__a.is-on em{background:#fff;color:var(--n-blue-ink)}
.n-btn--xs{min-height:28px;padding:0 10px;font-size:13px;border-radius:6px}
.n-list{display:flex;flex-direction:column}
.n-list__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;align-items:center;padding:12px 18px;border-top:1px solid var(--n-line-2);color:var(--n-ink);text-decoration:none}
.n-list__row:first-child{border-top:0}
a.n-list__row:hover{background:#FAFBFD;text-decoration:none;color:var(--n-ink)}
.n-list__row b{font-size:14px;font-weight:500}
.n-list__row small{display:block;font-size:13px;color:var(--n-muted)}
.n-list__head{padding:14px 18px 6px;font-size:13px;font-weight:600;color:var(--n-muted)}
@media (max-width:720px){
  .n-doc{grid-template-columns:80px minmax(0,1fr);padding:18px 0}
  .n-doc__side .n-btn--book{width:100%}
}

/* финальная проверка: активная страница — кобальтом */
.n-pager .is-on{background:var(--n-blue);color:#fff}
/* финальная проверка сайта: последние рамки, стрелка «перейти», выбранное время — кобальтом */
.n-feed{border:0;border-radius:0;background:none}
.n-feed__row{padding:16px 0;border-top:1px solid var(--n-line-2)}
.n-feed__row:first-child{border-top:0}
.n-strip{border:0;border-radius:0;border-top:1px solid var(--n-line);padding:24px 0 0;background:none}
.n-more--go::after{transform:rotate(-45deg) translate(-1px,1px)}
.n-slot.is-on{background:var(--n-blue);color:#fff}
.n-logo-ph{background:var(--n-blue-soft);color:var(--n-blue-ink);font-size:30px}
.n-docrow .n-stars{color:var(--n-star)}
/* кабинет и админка на телефоне: боковое меню — строкой разделов сверху */
@media (max-width:720px){
  .n-app{grid-template-columns:minmax(0,1fr)!important}
  .n-side{display:flex!important;flex-direction:row;align-items:center;gap:4px;padding:8px 12px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--n-line);min-height:0!important;height:auto!important;position:static!important}
  .n-side nav{display:flex;flex-direction:row;gap:4px}
  .n-side__a{flex:none;min-height:36px;white-space:nowrap}
  .n-side__a svg{display:none}
  .n-top{flex-wrap:wrap;gap:8px;padding:10px 16px;min-height:0;height:auto!important}
  .n-table{display:block;overflow-x:auto;white-space:nowrap}
}
@media (max-width:720px){
  .n table{display:block;max-width:100%;overflow-x:auto}
  .n-box,.n-main,.n-page>*{max-width:100%;min-width:0}
  .n-top>*{min-width:0;flex-wrap:wrap}
  .n-list__row{grid-template-columns:minmax(0,1fr)}
  .n-list__row [style*="nowrap"]{white-space:normal!important}
  .n-filters,.n-check{min-width:0;max-width:100%}
  .n-check{flex-wrap:wrap}
}
@media (max-width:720px){
  .n-side>*{display:flex!important}
  .n-side>div{position:static!important;height:auto!important;flex-direction:row!important;align-items:center;gap:4px!important;min-width:0}
  .n-side__logo,.n-side__org,.n-side__sep,.n-side>div>div:last-child{display:none!important}
  .n-side nav{flex-direction:row!important;gap:4px!important;flex-wrap:nowrap}
}
@media (max-width:720px){
  .n-tabs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;flex:1 1 100%}
  .n-tabs a,.n-tabs button{flex:none;white-space:nowrap}
  .n-page [style*="display: flex"]:not([style*="column"]),.n-top [style*="display: flex"]:not([style*="column"]){flex-wrap:wrap!important}
  .n-page input,.n-page select{max-width:100%}
}
@media (max-width:720px){
  .n-page [style*="display:flex"]:not([style*="column"]){flex-wrap:wrap!important}
  .n-page [style*="white-space: nowrap"],.n-page [style*="white-space:nowrap"]{white-space:normal!important}
  .n-main,.n-wrap{overflow-x:clip}
  .n-side{max-width:100vw}
}
@media (max-width:720px){.n-app,.n{overflow-x:clip;max-width:100vw}}

/* ================= Тёмная тема кабинета и админки =================
   Включается атрибутом data-theme="dark" на корне (или любом предке) .n. Публичные страницы — только светлые. */
[data-theme="dark"] .n,[data-theme="dark"].n{
  --n-bg:#0F141D; --n-surface:#161D29; --n-line:#283245; --n-line-2:#1E2636;
  --n-ink:#E8ECF4; --n-text:#C3CAD8; --n-muted:#97A0B4; --n-faint:#6A7387;
  --n-blue:#4466EE; --n-blue-hover:#5878F2; --n-blue-ink:#B3C3FF; --n-blue-soft:#1B2547; --n-blue-line:#34447A;
  --n-coral-soft:#3A2219; --n-star-off:#3A4458;
  --n-green:#2E9E6C; --n-green-soft:#14301F; --n-warn:#E09A4A; --n-warn-soft:#33260F; --n-red:#F0675A; --n-red-soft:#3A1C1A;
  --n-sh-hover:0 6px 20px rgba(0,0,0,.4); --n-focus:0 0 0 3px rgba(110,140,255,.45);
  color-scheme:dark;background:var(--n-bg);color:var(--n-text)
}
[data-theme="dark"] .n-slot{color:#7FD8AE}
[data-theme="dark"] .n-slot:hover{background:#1B3E2A}
[data-theme="dark"] .n-slot.is-on{color:#fff}
[data-theme="dark"] .n-tag--ok,[data-theme="dark"] .n-ok,[data-theme="dark"] .n-open,[data-theme="dark"] .n-rv__pm .is-plus b,[data-theme="dark"] .n-kpi small.is-up{color:#7FD8AE}
[data-theme="dark"] .n-tag--ok{background:#14301F}
[data-theme="dark"] .n-tag--warn,[data-theme="dark"] .n-note--warn{color:#F2BE7E}
[data-theme="dark"] .n-tag--coral{color:#FF9A70}
[data-theme="dark"] .n-note--info{color:#B3C3FF}
[data-theme="dark"] .n-note--ok{background:#14301F;color:#7FD8AE}
[data-theme="dark"] .n-note--err{color:#FFB3A8}
[data-theme="dark"] .n-photo{background-color:#232C3C;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 150'%3E%3Ccircle cx='60' cy='58' r='26' fill='%233A4458'/%3E%3Cpath d='M10 150c0-34 22-52 50-52s50 18 50 52z' fill='%233A4458'/%3E%3C/svg%3E")}
[data-theme="dark"] .n-table tbody tr:hover td,[data-theme="dark"] a.n-list__row:hover{background:#1A2231}
[data-theme="dark"] .n-seg button.is-on{background:#26304A;box-shadow:none}
[data-theme="dark"] .n-switch{background:#3A4458}
[data-theme="dark"] .n-switch:checked{background:var(--n-blue)}
[data-theme="dark"] .n-chart i.is-low{background:#34447A}
[data-theme="dark"] .n-modal{box-shadow:0 0 0 1px var(--n-line),0 24px 64px rgba(0,0,0,.6)}
[data-theme="dark"] .n-modal-bg{background:rgba(3,6,14,.7)}
[data-theme="dark"] .n-btn--line{background:transparent}
[data-theme="dark"] .n-input,[data-theme="dark"] .n-textarea,[data-theme="dark"] .n-select{background:#10161F;border-color:#2F3A50}
[data-theme="dark"] .n-side__a.is-on em{background:var(--n-blue);color:#fff}

/* ================= Реализация на сайте (перенесено из site/assets/new.css основной сессией, 11.11) =================
   То, чего нет в макетах: настоящие фото, ссылка города в поиске, скрытые строки «ещё…», кнопка фильтров без скриптов. */
.n [hidden]{display:none!important}
img.n-photo{object-fit:cover;object-position:center top;background-image:none;background-color:#ECEFF3}
a.n-search__city,a.n-search__city:hover{color:var(--n-ink);text-decoration:none}
.n-rv__date,.n-rv__date:hover{color:var(--n-muted)}
button.n-more{border:0;background:none;padding:0;font-family:inherit;cursor:pointer;align-self:flex-start}
.n-seg button{font-family:inherit}

/* ================= Окна, меню, уведомления ================= */
.n-btn--danger{background:var(--n-red);color:#fff}
.n-btn--danger:hover{background:#B82726;color:#fff}
.n-menu{display:flex;flex-direction:column;min-width:240px;padding:6px;background:var(--n-surface);border-radius:10px;box-shadow:0 0 0 1px var(--n-line),0 12px 32px rgba(24,32,47,.16)}
.n-menu__i{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;padding:0 10px;border:0;border-radius:6px;background:none;font:inherit;font-size:14px;color:var(--n-ink);text-align:left;text-decoration:none;cursor:pointer}
.n-menu__i:hover{background:var(--n-bg);color:var(--n-ink);text-decoration:none}
.n-menu__i.is-on{font-weight:600}
.n-menu__i--danger{color:var(--n-red)}
.n-menu__sep{height:1px;margin:4px 0;background:var(--n-line-2)}
.n-toast{display:flex;align-items:center;gap:12px 16px;padding:10px 10px 10px 16px;border-radius:10px;background:#18202F;color:#fff;font-size:14px;line-height:20px;box-shadow:0 12px 32px rgba(24,32,47,.24)}
.n-toast__b{min-height:32px;padding:0 12px;border:0;border-radius:6px;background:rgba(255,255,255,.14);color:#fff;font:inherit;font-weight:600;cursor:pointer}
.n-toast--err{background:#8A2A22}
.n-imp{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 16px;padding:8px 16px;background:#18202F;color:#fff;font-size:14px}
[data-theme="dark"] .n-menu{box-shadow:0 0 0 1px var(--n-line),0 12px 32px rgba(0,0,0,.5)}
[data-theme="dark"] .n-toast,[data-theme="dark"] .n-imp{background:#2A3550}
:where([data-theme="dark"] .n a){color:#8FA6FF}
[data-theme="dark"] .n-btn--danger:hover{background:#D9483B}
/* тёмная тема: контраст после проверки кабинета */
[data-theme="dark"] .n,[data-theme="dark"].n{--n-line:#2F3A50}
[data-theme="dark"] .n-seg button.is-on{background:#34405E;box-shadow:inset 0 0 0 1px #4466EE;color:var(--n-ink)}
[data-theme="dark"] .n-switch{background:#4A5570}
[data-theme="dark"] .n-more{color:#8FA6FF}
[data-theme="dark"] .n-logo{color:#E8ECF4}
[data-theme="dark"] .n-side__a.is-on svg{color:#8FA6FF}
[data-theme="dark"] .n-side__a.is-on em{background:#2A3550;color:var(--n-ink)}
[data-theme="dark"] .n-chart i.is-low{background:#2A3550}
/* телефон: скрытые подписи (gd-sr) в прокручиваемых таблицах и меню не растягивают страницу вбок */
@media (max-width:720px){.n table,.n-side,.n-tabs{position:relative}}
/* телефон: окна, полоса меню, сетки внутри форм */
@media (max-width:720px){
  .n-app{grid-template-rows:auto 1fr}
  .n-modal-bg{align-items:flex-start;overflow-y:auto;padding:12px}
  .n-modal{padding:18px 16px;gap:14px}
  .n-modal form[style*="max-height"]{max-height:none!important}
  .n [style*="grid-column: span"]{grid-column:1/-1!important}
  .n [style*="grid-template-columns: 34px"]{grid-template-columns:28px minmax(0,1fr) 8px minmax(0,1fr)!important}
  .n [style*="border-left: 1px solid var(--n-line-2)"][style*="padding-left"]{padding-left:0!important;border-left:0!important;padding-top:16px;border-top:1px solid var(--n-line-2)}
}
/* блоки страницы кабинета и админки не сжимаются по высоте (иначе n-box с overflow:hidden прячет строки) */
.n-main>*,.n-page>*{flex-shrink:0}
/* телефон: вкладки в колонке страницы — по высоте содержимого (flex-basis 100% тянул их вниз) */
@media (max-width:720px){.n-page>.n-tabs,.n-box>.n-tabs,.n [style*="column"]>.n-tabs{flex:0 0 auto}}
/* телефон: галочка рядом с подписью, шаги мастера — прокруткой, переключатель — переносом */
@media (max-width:720px){
  .n-check{flex-wrap:nowrap;align-items:flex-start}
  .n-check>input{flex:none;margin-top:1px}
  .n-page>ol[style*="display: flex"]{flex-wrap:nowrap!important;overflow-x:auto}
  .n-page>ol[style*="display: flex"]>li{flex:none!important}
  .n-seg{flex-wrap:wrap;max-width:100%}
  .n-seg button{flex:1 1 auto}
}
/* телефон: строки с иконкой или галочкой в первой узкой колонке остаются строками; подписи галочек не переносятся под них */
@media (max-width:720px){
  .n [style*="grid-template-columns: 18px"]{grid-template-columns:18px minmax(0,1fr)!important}
  .n [style*="grid-template-columns: 20px"]{grid-template-columns:20px minmax(0,1fr)!important}
  .n [style*="grid-template-columns: 24px"]{grid-template-columns:24px minmax(0,1fr)!important}
  .n [style*="grid-template-columns: 22px"]{grid-template-columns:22px minmax(0,1fr) auto!important}
  .n [style*="grid-template-columns: 44px"]{grid-template-columns:44px minmax(0,1fr) auto!important}
  .n .n-page label[style*="display: flex"],.n .n-modal label[style*="display: flex"]{flex-wrap:nowrap!important}
}
/* телефон: боковая панель (aside-диалог) — на всю ширину экрана */
@media (max-width:720px){.n aside[role="dialog"][style*="right: 0"]{width:100%!important;left:0!important;border-left:0!important}}

/* ================= Реализация на сайте, шаг 2 (форма отзыва, правила) ================= */
.n-linkbtn{border:0;background:none;padding:0;font:inherit;color:var(--n-blue);cursor:pointer}
.n-linkbtn:hover{color:var(--n-blue-hover);text-decoration:underline;text-underline-offset:3px}
.n-btn--ya{background:#000;color:#fff;gap:10px}
.n-btn--ya:hover{background:#1C1C1C;color:#fff}
.n-btn--ya__mark{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#FC3F1D;color:#fff;font-size:15px;font-weight:700;line-height:1}
.n-match{font-size:40px;line-height:1;font-weight:700;letter-spacing:.12em;color:var(--n-ink);font-variant-numeric:tabular-nums}
.n-doclist{padding-left:22px;display:flex;flex-direction:column;gap:10px}

/* ================= Реализация на сайте, шаг 3 (главная, «Для клиник») ================= */
[x-cloak]{display:none!important}
a.n-feed__doc,a.n-feed__doc:hover{text-decoration:none}
.n .gd-cookie .gd-btn{min-height:36px;padding:0 14px;border:0;border-radius:8px;background:var(--n-surface);box-shadow:inset 0 0 0 1.5px var(--n-blue-line);font:inherit;font-size:14px;font-weight:600;color:var(--n-blue-ink);cursor:pointer}

/* ================= Реализация на сайте, шаг 4 (клиники) ================= */
.n-seg a{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:8px;font-size:14px;color:var(--n-text)}
.n-seg a:hover{text-decoration:none;color:var(--n-ink)}
.n-seg a.is-on{background:var(--n-surface);color:var(--n-ink);font-weight:600;box-shadow:0 1px 2px rgba(24,32,47,.08)}
.n-docrow a b{color:var(--n-ink)}
.n-docrow a:hover b{color:var(--n-blue)}
.n-place a{font-size:14px}

/* ================= Реализация на сайте, шаг 5 (вход для клиник) ================= */
.n-otp{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;max-width:340px;cursor:text}
.n-otp__input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;padding:0;border:0;background:transparent;color:transparent;caret-color:transparent;font-size:16px;opacity:0;cursor:text}
.n-otp__cell{display:flex;align-items:center;justify-content:center;height:58px;border:1.5px solid var(--n-line);border-radius:10px;background:var(--n-surface);font-size:26px;font-weight:700;color:var(--n-ink);font-variant-numeric:tabular-nums}
.n-otp__cell.is-filled{border-color:var(--n-blue-line);background:var(--n-blue-soft)}
.n-otp__cell.is-active{border-color:var(--n-blue);box-shadow:var(--n-focus)}
.n-otp.is-error .n-otp__cell{border-color:var(--n-red)}
@media (max-width:400px){.n-otp{gap:6px}.n-otp__cell{height:52px;font-size:23px}}
