/* Шрифты: свои файлы, без Google Fonts (OFL, см. assets/fonts) */
@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}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/fonts/manrope-cyrillic-wght-normal.woff2) format('woff2-variations'),url(/assets/fonts/manrope-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:'Manrope';font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/fonts/manrope-latin-wght-normal.woff2) format('woff2-variations'),url(/assets/fonts/manrope-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 UI · 0.2 · 15.10.2026
   Правила, шкалы и компоненты — по MEDEXPERT UI 1.0 (стайлгайд
   сети «Медэксперт»), цвет свой:
     кобальт ведёт (вместо бирюзы), коралл действует (вместо
     оранжевого), белый дышит. Пропорция: воздух 60% · кобальт 25%
     · коралл ≤10% · графит 5%. Одна коралловая кнопка на экран.
   Два режима, как у MEDEXPERT UI и фид-админки:
     .gd           — сайт и страницы для пациентов (база стайлгайда)
     .gd.gd-panel  — кабинеты и админка (плоская версия «Предложения»:
                     рамка 1 px вместо теней, статус — точка с текстом,
                     одно главное действие — кобальтовое)
   Шрифты: Golos Text 400–900 (текст и заголовки), Manrope 500–800 (цифры).
   ============================================================ */

:root{
  /* — цвет: бренд — */
  --gd-blue:#2B4FD8; --gd-blue-deep:#1E3BA6; --gd-blue-ink:#152760;
  --gd-blue-tint:#E8EDFC; --gd-blue-soft:#F4F6FE;
  --gd-coral:#E8612C; --gd-coral-deep:#CC4E1C; --gd-coral-tint:#FDEEE6;
  --gd-graphite:#454A59; --gd-ink:#1B2130; --gd-gray:#A9AEBB;
  --gd-line:#DFE4EE; --gd-off:#F6F7FA; --gd-white:#FFFFFF;
  --gd-grad-blue:linear-gradient(130deg,#1E3BA6 0%,#2B4FD8 48%,#4A6CF0 100%);
  --gd-grad-coral:linear-gradient(120deg,#E8612C 0%,#F28555 100%);
  /* — цвет: семантика (как в MEDEXPERT UI) — */
  --gd-success:#1F8A5D; --gd-success-ink:#176B48; --gd-success-tint:#E8F5EE;
  --gd-warn:#C2690A; --gd-warn-ink:#7A4A15; --gd-warn-tint:#FDF1E3;
  --gd-error:#C4511D; --gd-error-tint:#FBF3F1;
  /* — подписи панели — */
  --gd-label:#5A6173;  /* 5,9:1 на белом — подписи, шапки колонок */
  --gd-label-3:#8A90A0;/* только неактивное */
  --gd-grid:#EEF1F6; --gd-fill:rgba(27,33,48,.05);
  --gd-grid-line:rgba(43,79,216,.07);
  /* — шрифт — */
  --gd-font:'Golos Text',-apple-system,'Segoe UI',Arial,sans-serif;
  --gd-font-num:'Manrope','Golos Text',Arial,sans-serif;
  --gd-mono:ui-monospace,'Cascadia Mono',Consolas,monospace;
  /* — геометрия: шкала 4–8–16–24–40–64, радиусы 8 / 12 / 16 / 18 / pill — */
  --gd-r-s:8px; --gd-r-m:12px; --gd-r-l:16px; --gd-r-xl:18px; --gd-r-pill:999px;
  --gd-sp-xs:4px; --gd-sp-s:8px; --gd-sp-m:16px; --gd-sp-l:24px; --gd-sp-xl:40px; --gd-sp-xxl:64px;
  /* — тени и движение — */
  --gd-sh-raise:0 1px 2px rgba(21,39,96,.05),0 6px 18px rgba(21,39,96,.07),0 22px 48px rgba(21,39,96,.10);
  --gd-sh-float:0 2px 4px rgba(21,39,96,.06),0 14px 34px rgba(21,39,96,.12),0 38px 80px rgba(21,39,96,.16);
  --gd-focus:0 0 0 3px rgba(43,79,216,.35);
  --gd-ease:cubic-bezier(.22,.7,.25,1); --gd-t-fast:150ms; --gd-t-base:350ms;
}

/* ================= БАЗА · сайт ================= */
.gd{font-family:var(--gd-font);color:var(--gd-ink);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
.gd *{box-sizing:border-box}
.gd h1,.gd h2,.gd h3,.gd h4,.gd p,.gd ul,.gd ol{margin:0}
.gd a:not([class]){color:var(--gd-blue);text-decoration:underline;text-underline-offset:3px;transition:color var(--gd-t-fast) var(--gd-ease)}
.gd a:not([class]):hover{color:var(--gd-blue-deep)}
.gd :focus-visible{outline:none;box-shadow:var(--gd-focus);border-radius:var(--gd-r-s)}

/* — типографика: H1 48/900, H2 36/800, H3 24/800, H4 18/700, лид 18, текст 16 — */
.gd-h1{font-size:48px;line-height:1.08;font-weight:900;letter-spacing:-.02em;color:var(--gd-blue-ink);text-wrap:balance}
.gd-h2{font-size:36px;line-height:1.15;font-weight:800;color:var(--gd-blue-ink);text-wrap:balance}
.gd-h3{font-size:24px;line-height:1.25;font-weight:800;color:var(--gd-blue-ink)}
.gd-h4{font-size:18px;line-height:1.35;font-weight:700;color:var(--gd-blue-ink)}
.gd-kicker{font-family:var(--gd-font-num);font-size:12px;line-height:16px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--gd-blue)}
.gd-kicker--coral{color:var(--gd-coral-deep)}
.gd-lead{font-size:18px;line-height:1.55;color:var(--gd-graphite);text-wrap:pretty}
.gd-text{font-size:16px;line-height:1.6;color:var(--gd-graphite);text-wrap:pretty}
.gd-small{font-size:13px;line-height:1.5;color:var(--gd-graphite)}
.gd-caption{font-size:12px;line-height:16px;font-weight:500;color:var(--gd-label)}
.gd-stat{font-family:var(--gd-font-num);font-weight:800;font-size:40px;line-height:1;letter-spacing:-.02em;color:var(--gd-blue)}
.gd-stat small{font-size:.5em;font-weight:700;color:var(--gd-label);letter-spacing:0}
.gd-n{font-family:var(--gd-font-num);font-variant-numeric:tabular-nums}
.gd-mono{font-family:var(--gd-mono);font-size:12px}
.gd-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gd-ph{background:#FFF4CC;color:#5E4700;border-radius:4px;padding:0 4px}

/* — кнопки: главная (коралл, одна на экран), вторая (кобальт), третья (контур) — */
.gd-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 26px;border:0;border-radius:var(--gd-r-m);
  font-family:var(--gd-font-num);font-size:15px;font-weight:800;letter-spacing:.04em;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;
  transition:box-shadow var(--gd-t-base) var(--gd-ease),background var(--gd-t-fast),opacity var(--gd-t-fast)}
.gd-btn--sm{min-height:36px;padding:0 18px;font-size:13px}
.gd-btn--lg{min-height:54px;padding:0 34px;font-size:17px}
.gd-btn--primary{background:var(--gd-grad-coral);color:#fff;box-shadow:0 10px 26px rgba(232,97,44,.32)}
.gd-btn--primary:hover{box-shadow:0 12px 30px rgba(232,97,44,.4);color:#fff}
.gd-btn--secondary{background:var(--gd-blue);color:#fff}
.gd-btn--secondary:hover{background:var(--gd-blue-deep);color:#fff}
.gd-btn--ghost{background:transparent;color:var(--gd-blue-deep);box-shadow:inset 0 0 0 1.5px var(--gd-blue)}
.gd-btn--ghost:hover{background:var(--gd-blue-tint);color:var(--gd-blue-deep)}
.gd-btn--danger{background:#fff;color:var(--gd-error);box-shadow:inset 0 0 0 1.5px var(--gd-error)}
.gd-btn--danger:hover{background:var(--gd-error-tint);color:var(--gd-error)}
.gd-btn[disabled]{opacity:.55;cursor:not-allowed}
.gd-link{display:inline-flex;align-items:center;min-height:36px;padding:0 4px;border:0;background:none;font-family:var(--gd-font);font-size:15px;font-weight:600;color:var(--gd-blue);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.gd-link:hover{color:var(--gd-blue-deep)}

/* — поля: высота 48, радиус 12, фокус — кобальтовое кольцо — */
.gd-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.gd-label{font-size:13px;line-height:18px;font-weight:700;color:var(--gd-blue-ink)}
.gd-input,.gd-select,.gd-textarea{width:100%;font-family:var(--gd-font);font-size:16px;line-height:22px;color:var(--gd-ink);background:#fff;border:1.5px solid var(--gd-line);border-radius:var(--gd-r-m);min-height:48px;padding:12px 16px;
  transition:border-color var(--gd-t-fast) var(--gd-ease),box-shadow var(--gd-t-fast) var(--gd-ease)}
.gd-input:hover{border-color:var(--gd-gray)}
.gd-input:focus,.gd-select:focus,.gd-textarea:focus{outline:none;border-color:var(--gd-blue);box-shadow:var(--gd-focus)}
.gd-hint{font-size:12px;line-height:16px;color:var(--gd-label)}
.gd-field--error .gd-input{border-color:var(--gd-error);background:var(--gd-error-tint)}
.gd-field--error .gd-hint{color:var(--gd-error);font-weight:600}

/* — карточки: радиус 16 + тень raise; тонированная; плита с фирменным градиентом — */
.gd-card{background:#fff;border:1px solid #E4E8F1;border-radius:var(--gd-r-l);padding:var(--gd-sp-l);box-shadow:var(--gd-sh-raise);display:flex;flex-direction:column;gap:12px;min-width:0;
  transition:transform var(--gd-t-base) var(--gd-ease),box-shadow var(--gd-t-base) var(--gd-ease)}
.gd-card--hover:hover{box-shadow:var(--gd-sh-float)}
.gd-card--tint{background:var(--gd-blue-soft);border-color:#D7DFF8;box-shadow:none}
.gd-card--float{box-shadow:var(--gd-sh-float)}
.gd-plate{background:var(--gd-grad-blue);color:#fff;border-radius:var(--gd-r-xl);padding:var(--gd-sp-l);box-shadow:var(--gd-sh-float)}

/* — чипы и бейджи — */
.gd-chip{display:inline-flex;align-items:center;gap:6px;border-radius:var(--gd-r-pill);padding:6px 14px;font-size:13px;font-weight:600;line-height:18px;background:var(--gd-blue-tint);color:var(--gd-blue-deep);white-space:nowrap}
.gd-chip--coral{background:var(--gd-coral-tint);color:var(--gd-coral-deep)}
.gd-badge{display:inline-block;border-radius:6px;padding:2px 9px;font-family:var(--gd-font-num);font-size:11px;line-height:16px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:var(--gd-blue-tint);color:var(--gd-blue-deep);white-space:nowrap}
.gd-badge--coral{background:var(--gd-coral-tint);color:var(--gd-coral-deep)}

/* — сообщения — */
.gd-alert{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;border-radius:var(--gd-r-m);padding:14px 18px;font-size:14px;line-height:1.5}
.gd-alert--info{background:var(--gd-blue-tint);color:var(--gd-blue-ink)}
.gd-alert--success{background:var(--gd-success-tint);color:#14543A}
.gd-alert--warning{background:var(--gd-warn-tint);color:var(--gd-warn-ink)}
.gd-alert--error{background:var(--gd-error-tint);color:#7A3520}

/* — статус: точка и текст — */
.gd-st{display:inline-flex;align-items:center;gap:6px;font-size:13px;line-height:18px;color:var(--gd-ink);white-space:nowrap}
.gd-st>i{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none;background:var(--gd-label-3);font-style:normal}
.gd-st--ok>i{background:var(--gd-success)}
.gd-st--warn>i{background:var(--gd-warn)}
.gd-st--err{color:var(--gd-error);font-weight:600}
.gd-st--err>i{width:12px;height:12px;background:var(--gd-error);display:inline-flex;align-items:center;justify-content:center}
.gd-st--err>i::before{content:"!";font:700 9px/1 var(--gd-font);color:#fff}
.gd-st--off{color:var(--gd-label)}
.gd-st--off>i{background:transparent;box-shadow:inset 0 0 0 1.5px var(--gd-label-3)}
.gd-st--lg{font-size:15px;line-height:22px}
.gd-st--wrap{white-space:normal;align-items:flex-start}
.gd-st--wrap>i{margin-top:5px}
.gd-st--wrap.gd-st--err>i{margin-top:3px}

/* — метки-счётчики — */
.gd-tag{display:inline-flex;align-items:center;gap:4px;border-radius:6px;padding:2px 8px;font-size:12px;line-height:16px;font-weight:600;background:var(--gd-fill);color:var(--gd-ink);white-space:nowrap}
.gd-tag--blue{background:var(--gd-blue-tint);color:var(--gd-blue-deep)}
.gd-tag--ok{background:var(--gd-success-tint);color:var(--gd-success-ink)}
.gd-tag--warn{background:var(--gd-warn-tint);color:var(--gd-warn-ink)}
.gd-tag--err{background:var(--gd-error-tint);color:var(--gd-error)}
.gd-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--gd-ink);color:#fff;font-family:var(--gd-font-num);font-size:12px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}

/* — таблица (сайт): шапка капсом с кобальтовой линией — */
.gd-table{width:100%;border-collapse:collapse;font-size:14px;line-height:20px}
.gd-table th{font-family:var(--gd-font-num);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gd-label);text-align:left;padding:0 14px 10px;border-bottom:2px solid var(--gd-blue);white-space:nowrap}
.gd-table td{padding:12px 14px;border-bottom:1px solid var(--gd-line);vertical-align:top;color:var(--gd-graphite)}
.gd-table .num{text-align:right;font-family:var(--gd-font-num);font-variant-numeric:tabular-nums;white-space:nowrap}

/* — табы — */
.gd-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;background:var(--gd-off);border-radius:var(--gd-r-m);padding:4px}
.gd-tab{border:0;background:transparent;cursor:pointer;font-family:var(--gd-font-num);font-weight:700;font-size:14px;color:var(--gd-graphite);border-radius:var(--gd-r-s);padding:9px 18px;text-decoration:none;transition:all var(--gd-t-fast) var(--gd-ease)}
.gd-tab:hover{color:var(--gd-blue-deep)}
.gd-tab.is-on{background:#fff;color:var(--gd-blue-deep);box-shadow:var(--gd-sh-raise)}

/* — прочее — */
.gd-logo{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--gd-blue);font-family:var(--gd-font-num);font-weight:800;font-size:24px;line-height:28px;letter-spacing:-.045em}
.gd-logo:hover{color:var(--gd-blue)}
.gd-ava{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--gd-blue-tint);color:var(--gd-blue-deep);font-family:var(--gd-font-num);font-weight:700;font-size:13px;flex:none}
.gd-ava--lg{width:96px;height:120px;border-radius:var(--gd-r-m);font-size:28px}
.gd-ic{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--gd-r-m);background:var(--gd-blue-tint);color:var(--gd-blue-deep);flex:none}
.gd-stepn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--gd-blue);color:#fff;font-family:var(--gd-font-num);font-weight:800;font-size:16px;flex:none}
.gd-arc{height:4px;width:96px;border-radius:4px;background:var(--gd-grad-coral)}
.gd-grow{flex:1 1 auto}
.gd-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}

/* — сайт: каркас — */
.gd-wrap{max-width:1200px;margin:0 auto;padding-inline:24px}
.gd-section{padding-block:var(--gd-sp-xxl)}
.gd-section--tint{background:var(--gd-off);border-block:1px solid var(--gd-line)}
.gd-hero{background-color:var(--gd-blue-soft);background-image:linear-gradient(var(--gd-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--gd-grid-line) 1px,transparent 1px);background-size:48px 48px;border-bottom:1px solid var(--gd-line)}
.gd-topnav__a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:var(--gd-r-s);font-size:15px;font-weight:600;color:var(--gd-graphite);text-decoration:none}
.gd-topnav__a:hover{background:var(--gd-blue-soft);color:var(--gd-blue-deep)}
.gd-faq{border-top:1px solid var(--gd-line)}
.gd-faq>summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;cursor:pointer;list-style:none;font-size:18px;line-height:1.35;font-weight:700;color:var(--gd-blue-ink)}
.gd-faq>summary::-webkit-details-marker{display:none}
.gd-faq>summary::after{content:"+";font:500 26px/1 var(--gd-font-num);color:var(--gd-blue)}
.gd-faq[open]>summary::after{content:"–"}
.gd-mini{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--gd-line);font-size:14px;line-height:20px}

/* ================= ПАНЕЛЬ · кабинеты и админка ================= */
.gd.gd-panel{font-size:14px;line-height:20px;background:var(--gd-off)}
.gd-panel .gd-page{max-width:1280px;margin:0 auto;padding:24px 24px 64px;display:flex;flex-direction:column;gap:20px}
.gd-panel .gd-title{margin:0;font-family:var(--gd-font-num);font-size:28px;line-height:34px;font-weight:700;letter-spacing:-.01em;color:var(--gd-blue-ink)}
.gd-panel .gd-h4{font-family:var(--gd-font);font-size:17px;line-height:24px;font-weight:600;color:var(--gd-ink)}
.gd-panel .gd-h5{font-size:15px;line-height:22px;font-weight:600;color:var(--gd-ink)}
.gd-panel .gd-lead{font-size:15px;line-height:22px;color:var(--gd-label)}
.gd-panel .gd-small{font-size:13px;line-height:18px;color:var(--gd-label)}
.gd-panel .gd-card{border:1px solid var(--gd-line);border-radius:12px;padding:20px;box-shadow:none}
.gd-panel .gd-card:hover{transform:none}
.gd-panel .gd-sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:4px 24px}
.gd-panel .gd-cols{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}
.gd-panel .gd-cols>*{flex:1 1 440px;min-width:0}
/* кнопки панели: плоские, главная — кобальт */
.gd-panel .gd-btn{font-family:var(--gd-font);font-weight:600;font-size:14px;letter-spacing:0;min-height:40px;padding:0 16px;border-radius:8px;transition:background var(--gd-t-fast) var(--gd-ease),box-shadow var(--gd-t-fast) var(--gd-ease)}
.gd-panel .gd-btn--primary{background:var(--gd-blue);color:#fff;box-shadow:none}
.gd-panel .gd-btn--primary:hover{background:var(--gd-blue-deep);color:#fff;transform:none;box-shadow:none}
.gd-panel .gd-btn--secondary,.gd-panel .gd-btn--ghost{background:#fff;color:var(--gd-blue-deep);box-shadow:inset 0 0 0 1px var(--gd-line)}
.gd-panel .gd-btn--secondary:hover,.gd-panel .gd-btn--ghost:hover{background:var(--gd-blue-soft);color:var(--gd-blue-deep);box-shadow:inset 0 0 0 1px var(--gd-blue);transform:none}
.gd-panel .gd-btn--danger{box-shadow:inset 0 0 0 1px var(--gd-line)}
.gd-panel .gd-btn--danger:hover{box-shadow:inset 0 0 0 1px var(--gd-error)}
.gd-panel .gd-btn--sm{min-height:36px;padding:0 12px;font-size:13px}
.gd-panel .gd-link{font-size:14px;font-weight:500}
/* поля панели */
.gd-panel .gd-label{font-weight:500;color:var(--gd-ink)}
.gd-panel .gd-input,.gd-panel .gd-select,.gd-panel .gd-textarea{font-size:14px;line-height:20px;min-height:40px;padding:9px 12px;border-width:1px;border-radius:8px}
.gd-panel .gd-field{gap:4px}
.gd-switch{appearance:none;-webkit-appearance:none;width:40px;height:24px;margin:0;border-radius:12px;background:#C5CBD8;position:relative;cursor:pointer;flex:none;transition:background var(--gd-t-fast)}
.gd-switch::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:left var(--gd-t-fast)}
.gd-switch:checked{background:var(--gd-blue)}
.gd-switch:checked::after{left:19px}
.gd-check{width:18px;height:18px;margin:0;accent-color:var(--gd-blue)}
/* сегменты */
.gd-seg{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border-radius:10px;background:var(--gd-fill)}
.gd-seg__b{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border:0;border-radius:8px;background:transparent;font-family:var(--gd-font);font-size:14px;font-weight:500;color:var(--gd-ink);cursor:pointer;text-decoration:none}
.gd-seg__b:hover{background:rgba(255,255,255,.7);color:var(--gd-ink)}
.gd-seg__b.is-on{background:#fff;font-weight:600;box-shadow:0 0 0 1px var(--gd-line)}
/* вкладки внутри страницы */
.gd-ptabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--gd-line)}
.gd-ptabs__b{min-height:40px;padding:0 14px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;font-family:var(--gd-font);font-size:14px;font-weight:500;color:var(--gd-label);cursor:pointer}
.gd-ptabs__b:hover{color:var(--gd-ink)}
.gd-ptabs__b.is-on{color:var(--gd-blue-deep);font-weight:600;border-bottom-color:var(--gd-blue)}
/* шапка панели */
.gd-hdr{background:#fff;border-bottom:1px solid var(--gd-line)}
.gd-hdr--dark{background:var(--gd-blue-ink);border-bottom:0}
.gd-hdr__in{max-width:1280px;margin:0 auto;padding:0 24px}
.gd-hdr__row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;min-height:56px}
.gd-hdr__row+.gd-hdr__row{border-top:1px solid var(--gd-grid);padding:8px 0}
.gd-nav{display:flex;flex-wrap:wrap;gap:2px}
.gd-nav__a{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:8px;font-family:var(--gd-font);font-size:14px;font-weight:500;color:var(--gd-ink);text-decoration:none}
.gd-nav__a:hover{background:var(--gd-fill);color:var(--gd-ink)}
.gd-nav__a.is-active{background:var(--gd-blue-tint);color:var(--gd-blue-deep);font-weight:600}
.gd-hdr--dark .gd-logo{color:#fff}
.gd-hdr--dark .gd-nav__a{color:#DCE3FB}
.gd-hdr--dark .gd-nav__a:hover{background:rgba(255,255,255,.08);color:#fff}
.gd-hdr--dark .gd-nav__a.is-active{background:rgba(255,255,255,.16);color:#fff}
.gd-chipbtn{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 10px 0 12px;border:1px solid var(--gd-line);border-radius:8px;background:#fff;font-family:var(--gd-font);font-size:14px;font-weight:600;color:var(--gd-ink);cursor:pointer;text-decoration:none}
.gd-chipbtn:hover{border-color:var(--gd-blue);color:var(--gd-ink)}
.gd-menu{position:absolute;top:calc(100% + 6px);z-index:30;display:flex;flex-direction:column;min-width:260px;padding:6px;background:#fff;border-radius:10px;box-shadow:0 0 0 1px var(--gd-line),0 12px 32px rgba(21,39,96,.16)}
.gd-menu__i{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:0 10px;border:0;border-radius:6px;background:none;font-family:var(--gd-font);font-size:14px;color:var(--gd-ink);text-align:left;text-decoration:none;cursor:pointer}
.gd-menu__i:hover{background:var(--gd-fill);color:var(--gd-ink)}
.gd-menu__sep{height:1px;margin:4px 0;background:var(--gd-line)}
/* KPI */
.gd-kgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:12px}
.gd-k{display:flex;flex-direction:column;gap:4px;min-width:0;padding:16px;background:#fff;border:1px solid var(--gd-line);border-radius:12px;color:var(--gd-ink);text-decoration:none}
a.gd-k:hover{border-color:var(--gd-blue);color:var(--gd-ink)}
.gd-k__label{font-size:13px;line-height:18px;color:var(--gd-label)}
.gd-k__value{font-family:var(--gd-font-num);font-size:28px;line-height:32px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap}
.gd-k__value small{margin-left:3px;font-size:17px;font-weight:500;color:var(--gd-label);letter-spacing:0}
.gd-dl{font-size:13px;line-height:18px;color:var(--gd-label);font-variant-numeric:tabular-nums}
.gd-dl b{font-weight:600;color:var(--gd-ink)}
.gd-dl--good b{color:var(--gd-success-ink)}
.gd-dl--bad b{color:var(--gd-error)}
/* графики без библиотек */
.gd-bars{position:relative;display:flex;align-items:flex-end;gap:3px;height:150px;border-bottom:1px solid var(--gd-line)}
.gd-bars__b{flex:1 1 0;min-width:0;background:var(--gd-blue);border-radius:3px 3px 0 0}
.gd-bars__b.is-low{background:#B9C6F2}
.gd-bars__b.is-na{background:var(--gd-grid)}
.gd-bars__axis{display:flex;justify-content:space-between;font-size:12px;line-height:16px;color:var(--gd-label)}
.gd-key{display:inline-flex;align-items:center;gap:6px;font-size:13px;line-height:18px}
.gd-key>i{width:10px;height:10px;border-radius:2px;background:var(--gd-blue);flex:none}
.gd-key>i.is-low{background:#B9C6F2}
.gd-hbar{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr) 56px;align-items:center;gap:12px;min-height:36px;border-top:1px solid var(--gd-line)}
.gd-hbar:first-child{border-top:0}
.gd-hbar__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gd-hbar__track{position:relative;height:10px}
.gd-hbar__fill{position:absolute;left:0;top:0;bottom:0;background:var(--gd-blue);border-radius:0 3px 3px 0}
.gd-hbar__val{text-align:right;font-family:var(--gd-font-num);font-weight:600;font-variant-numeric:tabular-nums}
.gd-meter{height:8px;border-radius:4px;background:var(--gd-fill);overflow:hidden}
.gd-meter>span{display:block;height:100%;background:var(--gd-blue);border-radius:4px}
/* списки-группы */
.gd-list{display:flex;flex-direction:column;background:#fff;border:1px solid var(--gd-line);border-radius:12px}
.gd-li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 16px;min-height:48px;padding:10px 16px;border-top:1px solid var(--gd-line);color:var(--gd-ink);text-decoration:none}
.gd-li:first-child{border-top:0}
a.gd-li:hover{background:var(--gd-fill);color:var(--gd-ink)}
/* таблицы панели: шапка обычным регистром */
.gd-scroll{overflow-x:auto;border:1px solid var(--gd-line);border-radius:12px;background:#fff}
.gd-panel .gd-table{border-collapse:separate;border-spacing:0}
.gd-panel .gd-table th{padding:10px 12px;font-family:var(--gd-font);font-size:12px;line-height:16px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--gd-label);border-bottom:1px solid var(--gd-line);background:#fff}
.gd-panel .gd-table td{padding:10px 12px;vertical-align:middle;color:var(--gd-ink);border-bottom:1px solid var(--gd-line)}
.gd-panel .gd-table tbody tr:last-child td{border-bottom:0}
.gd-panel .gd-table tbody tr:hover td{background:var(--gd-fill)}
.gd-panel .gd-table .num{font-weight:500}
.gd-panel .gd-table th.num{font-family:var(--gd-font)}
.gd-table .sub{display:block;margin-top:2px;font-size:13px;line-height:18px;color:var(--gd-label)}
.gd-table tr.is-off td{color:var(--gd-label)}
.gd-table tr.is-sel td{background:var(--gd-blue-soft)}
.gd-rowlink{color:var(--gd-ink);font-weight:600;text-decoration:none}
.gd-rowlink:hover{color:var(--gd-blue-deep);text-decoration:underline;text-underline-offset:3px}
/* баннер, уведомление, лист подтверждения */
.gd-banner{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 16px;border-radius:12px;background:#fff;border:1px solid var(--gd-line)}
.gd-banner--warn{background:var(--gd-warn-tint);border-color:#F1D3AC}
.gd-banner--info{background:var(--gd-blue-soft);border-color:#D3DCFA}
.gd-banner--err{background:var(--gd-error-tint);border-color:#F2CDBF}
.gd-toast{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px 8px 8px 16px;border-radius:10px;background:var(--gd-ink);color:#fff;font-size:14px;line-height:20px}
.gd-toast__b{min-height:36px;padding:0 12px;border:0;border-radius:6px;background:rgba(255,255,255,.14);color:#fff;font-family:var(--gd-font);font-size:14px;font-weight:600;cursor:pointer}
.gd-toast__b:hover{background:rgba(255,255,255,.24)}
.gd-sheet{display:flex;flex-direction:column;gap:12px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 0 0 1px var(--gd-line),0 12px 32px rgba(21,39,96,.14)}
details.gd-tech>summary{display:flex;align-items:center;gap:6px;min-height:36px;cursor:pointer;font-size:13px;font-weight:500;color:var(--gd-label);list-style:none}
details.gd-tech>summary::-webkit-details-marker{display:none}
details.gd-tech>summary::before{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);margin-right:4px}
details.gd-tech[open]>summary::before{transform:rotate(45deg)}

/* ---------- узкий экран ---------- */
@media (max-width:720px){
  .gd-wrap,.gd-hdr__in{padding-inline:16px}
  .gd-panel .gd-page{padding:16px 16px 48px}
  .gd-panel .gd-title{font-size:24px;line-height:30px}
  .gd-h1{font-size:34px}
  .gd-h2{font-size:28px}
  .gd-h3{font-size:21px}
  .gd-section{padding-block:var(--gd-sp-xl)}
  .gd-hbar{grid-template-columns:minmax(0,1fr) 56px}
  .gd-hbar__track{grid-column:1/-1;grid-row:2}
}
@media (prefers-reduced-motion:reduce){.gd *,.gd-btn,.gd-card{transition:none!important;animation:none!important}}

/* ---------- сайт на сервере ---------- */
html{-webkit-text-size-adjust:100%}
body{margin:0}
[x-cloak]{display:none!important}

/* ---------- 3D-карточка врача (главная) ---------- */
.gd-deck{position:relative;perspective:1700px;perspective-origin:50% 30%;min-height:700px}
.gd-deck__stage{position:relative;width:min(410px,100%);height:690px;margin:0 auto;transform-style:preserve-3d;transform:rotateX(14deg) rotateY(-24deg) rotateZ(2deg);transition:transform .6s cubic-bezier(.2,.7,.2,1);will-change:transform}
.gd-deck.is-closed .gd-deck__stage{transform:rotateX(6deg) rotateY(-12deg)}
.gd-layer{position:absolute;left:0;right:0;bottom:0;height:218px;display:flex;flex-direction:column;gap:8px;padding:16px 18px;background:#fff;border:1px solid #E4E8F1;border-radius:16px;box-shadow:0 1px 2px rgba(21,39,96,.05),0 10px 24px rgba(21,39,96,.08);transform:translate3d(0,calc(var(--i) * -78px),calc(var(--i) * -64px));transition:transform .5s cubic-bezier(.2,.7,.2,1),opacity .3s ease;will-change:transform;backface-visibility:hidden;contain:layout style;cursor:pointer;text-align:left;font:inherit;color:inherit}
.gd-deck.is-closed .gd-layer{transform:translate3d(0,0,calc(var(--i) * -2px))}
.gd-deck.is-closed .gd-layer:not(.is-front){opacity:.0}
.gd-layer.is-active{outline:2px solid var(--gd-blue);outline-offset:-1px}
.gd-deck:not(.is-closed) .gd-layer.is-active:not(.is-front){transform:translate3d(-32%,calc(var(--i) * -78px - 12px),90px)}
.gd-deck:not(.is-closed) .gd-layer.is-front.is-active{transform:translate3d(0,0,24px)}
.gd-layer__who{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;line-height:16px;font-weight:600;color:var(--gd-label)}
.gd-layer__title{font-size:15px;line-height:20px;font-weight:700;color:var(--gd-blue-ink)}
.gd-layer__body{font-size:13px;line-height:19px;color:var(--gd-graphite)}
.gd-slotchip{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid var(--gd-line);border-radius:8px;background:#fff;font-family:var(--gd-font-num);font-size:12px;font-weight:700;color:var(--gd-graphite);white-space:nowrap}
.gd-slotchip.is-on{border-color:var(--gd-blue);background:var(--gd-blue-tint);color:var(--gd-blue-deep)}
.gd-legend{display:flex;flex-direction:column;border-top:1px solid var(--gd-line)}
.gd-legend__b{display:grid;grid-template-columns:28px minmax(0,1fr);gap:4px 12px;align-items:start;padding:12px 4px;border:0;border-bottom:1px solid var(--gd-line);background:none;text-align:left;font:inherit;color:inherit;cursor:pointer}
.gd-legend__b:hover{background:var(--gd-blue-soft)}
.gd-legend__b.is-active{background:var(--gd-blue-tint)}
.gd-legend__n{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:var(--gd-fill);font-family:var(--gd-font-num);font-size:12px;font-weight:800;color:var(--gd-ink)}
.gd-legend__b.is-active .gd-legend__n{background:var(--gd-blue);color:#fff}
.gd-media{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;min-height:220px;padding:16px;border:1.5px dashed #C9D2E8;border-radius:16px;background:repeating-linear-gradient(135deg,#F7F8FC 0 14px,#F1F4FB 14px 28px);color:var(--gd-label);font-size:13px;line-height:18px}
.gd-media b{color:var(--gd-ink)}
@media (max-width:860px){
  .gd-deck{perspective:none;min-height:0}
  .gd-deck__stage{height:auto;transform:none!important;display:flex;flex-direction:column;gap:10px}
  .gd-layer{position:relative;height:auto;transform:none!important;opacity:1!important}
}
@media (prefers-reduced-motion:reduce){.gd-deck__stage,.gd-layer{transition:none!important}}

/* Ошибка формы */
.gd-err{margin:0;color:var(--gd-error);font-weight:600;font-size:14px;line-height:20px}

/* Кабинет: режим «от имени», сообщения, диалоги, пустые состояния */
.gd-imp{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 16px;padding:8px 16px;background:var(--gd-coral,#E8612C);color:#fff;font-size:14px;line-height:20px;text-align:center}
.gd-imp__b{min-height:32px;padding:0 12px;border:0;border-radius:6px;background:rgba(255,255,255,.2);color:#fff;font:inherit;font-weight:600;cursor:pointer}
.gd-imp__b:hover{background:rgba(255,255,255,.32)}
.gd-toasts{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:70;display:flex;flex-direction:column;gap:8px;width:min(560px,calc(100% - 32px));pointer-events:none}
.gd-toasts .gd-toast{pointer-events:auto;box-shadow:0 12px 32px rgba(21,39,96,.24)}
.gd-toast--err{background:#7A3520}
.gd-dialog{width:min(560px,calc(100% - 32px));max-height:calc(100% - 32px);padding:0;border:0;border-radius:14px;box-shadow:0 24px 64px rgba(21,39,96,.28);color:var(--gd-ink)}
.gd-dialog::backdrop{background:rgba(16,24,48,.45)}
.gd-dialog__in{display:flex;flex-direction:column;gap:16px;padding:22px}
.gd-dialog__foot{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.gd-empty{padding:28px 16px;text-align:center;color:var(--gd-label);font-size:14px;line-height:20px}
.gd-skel{min-height:120px;border-radius:12px;background:linear-gradient(90deg,var(--gd-fill) 0,#fff 50%,var(--gd-fill) 100%);background-size:200% 100%;animation:gd-skel 1.2s linear infinite}
@keyframes gd-skel{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.gd-skel{animation:none}}
.gd-pager{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.gd-photo{width:96px;height:96px;border-radius:14px;object-fit:cover;background:var(--gd-blue-tint)}
.gd-bars.is-dense{gap:1px}
.gd-panel .gd-btn[disabled],.gd-panel .gd-btn:disabled{opacity:.5;cursor:not-allowed}
.gd-link:disabled{color:var(--gd-label);cursor:not-allowed;text-decoration:none}
.gd-kgrid{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}
/* Запись пациента */
button.gd-chip{border:1px solid transparent;cursor:pointer;font-family:var(--gd-font)}
button.gd-chip:not(.is-on){background:#fff;color:var(--gd-ink);border-color:var(--gd-line)}
button.gd-chip.is-on{background:var(--gd-blue);color:#fff}
button.gd-slotchip{min-height:36px;padding:0 12px;font-size:13px}
button.gd-slotchip:hover{border-color:var(--gd-blue);background:var(--gd-blue-tint);color:var(--gd-blue-deep)}

/* Шапка кабинета на телефоне: разделы в одну прокручиваемую строку, у пользователя только аватар */
@media (max-width:640px){
.gd-hdr__in{padding:0 16px}
.gd-panel .gd-page{padding:16px 16px 48px}
.gd-hdr__row{gap:8px 10px}
.gd-hdr .gd-nav{order:5;flex:1 1 100%;flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:0 16px 4px;scrollbar-width:none}
.gd-hdr .gd-nav::-webkit-scrollbar{display:none}
.gd-hdr .gd-nav__a{flex:none}
.gd-hdr__user{display:none!important}
.gd-hdr .gd-chipbtn{max-width:calc(100vw - 250px)}
.gd-hdr .gd-chipbtn>span:not(.gd-ava){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#cab-filial{min-width:0!important;width:100%!important}
.gd-hdr__row>span:has(#cab-filial){flex:1 1 100%}
}
/* Без горизонтальной прокрутки страницы на телефонах */
html,body{overflow-x:clip}
.gd-scroll{contain:paint}
@media (max-width:640px){.gd-kgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gd-k{padding:12px}.gd-k__value{font-size:22px;line-height:28px}}
/* На телефоне карточка без разборки на слои: только то, что видит пациент */
@media (max-width:860px){.gd-layer:not(.is-front){display:none}.gd-deck-toggle{display:none}}
/* Кнопки не сдвигаются при нажатии и наведении */
.gd-btn:active,.gd-btn:focus,.gd-btn:hover{transform:none}

/* Главная на телефоне */
.gd-swipe-hint{display:none}
@media (max-width:640px){
  .gd-sitehdr .gd-wrap{min-height:60px!important;flex-wrap:nowrap!important}
  .gd-sitenav{display:none!important}
  .gd-logo{font-size:22px}
  .gd-sec>.gd-wrap{padding-block:36px!important;gap:20px!important}
  .gd .gd-h1{font-size:30px;line-height:36px;letter-spacing:-.02em}
  .gd .gd-h2{font-size:24px;line-height:30px}
  .gd .gd-lead{font-size:16px;line-height:24px}
  .gd-hero2>.gd-wrap{padding-block:28px 32px!important;gap:24px!important}
  .gd-hero2__cta{width:100%}
  .gd-compare .gd-card{padding:16px!important;gap:12px!important}
  .gd-compare .gd-card img{width:64px!important;height:80px!important}
  .gd-compare .gd-card{flex-wrap:nowrap!important}
  .gd-compare .gd-card>div{flex:1 1 0!important}
  .gd-compare h3{font-size:17px!important;line-height:22px!important}
  .gd-compare .gd-st--lg{font-size:14px;line-height:20px}
  .gd-swipe-hint{display:block;margin-top:-8px}
  .gd-reasons{flex-direction:row!important;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;border-top:0!important;margin:0 -16px;padding:0 16px 8px;scrollbar-width:none}
  .gd-reasons::-webkit-scrollbar{display:none}
  .gd-reason{flex:0 0 86%!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important;padding:16px!important;border:1px solid var(--gd-line)!important;border-radius:14px;background:#fff;scroll-snap-align:start}
  .gd-reason>div{flex:none!important;max-width:none!important}
  .gd-price2__case{font-size:17px!important}
  .gd-lead2 form .gd-field{flex:1 1 100%!important}
  .gd-lead2__consent{order:3}
  .gd-lead2__err{order:4}
  .gd-lead2__btn{order:5;width:100%}
  .gd-lead2 h2{font-size:24px!important}
  footer .gd-topnav__a{font-size:14px;font-weight:500;min-height:36px}
}

/* display для элементов с x-show — классом, а не инлайн-стилем (Alpine снимает инлайн display) */
.gd-d-flex{display:flex}.gd-d-grid{display:grid}.gd-d-iflex{display:inline-flex}.gd-d-iblock{display:inline-block}.gd-d-block{display:block}
.gd-lead2 form.gd-d-flex{display:flex}

/* Строгий деловой стиль публичных страниц (главная, вход): нейтральные цвета, тонкие линии, тёмная кнопка */
.gd-strict{--s-ink:#0F172A;--s-ink-2:#273246;--s-muted:#5B6474;--s-line:#E6E8EE;--s-soft:#F7F8FA;background:#fff!important;color:var(--s-ink)}
.gd-strict .gd-sitehdr,.gd-strict>header{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--s-line)}
.gd-strict .gd-h1{font-family:var(--gd-font-num);font-weight:700;font-size:56px;line-height:1.05;letter-spacing:-.04em;color:var(--s-ink)}
.gd-strict .gd-h2{font-family:var(--gd-font-num);font-weight:700;font-size:40px;line-height:1.1;letter-spacing:-.035em;color:var(--s-ink)}
.gd-strict .gd-h3,.gd-strict .gd-h4,.gd-strict h3{font-family:var(--gd-font-num);font-weight:700;letter-spacing:-.015em;color:var(--s-ink)!important}
.gd-strict .gd-lead{font-size:19px;line-height:1.55;color:var(--s-muted)}
.gd-strict .gd-text,.gd-strict .gd-small,.gd-strict .gd-caption{color:var(--s-muted)}
.gd-strict .gd-btn{font-family:var(--gd-font);font-weight:600;letter-spacing:0;border-radius:10px}
.gd-strict .gd-btn--primary{background:var(--s-ink);color:#fff;box-shadow:0 1px 2px rgba(15,23,42,.18)}
.gd-strict .gd-btn--primary:hover{background:var(--s-ink-2);color:#fff;box-shadow:0 1px 2px rgba(15,23,42,.18)}
.gd-strict .gd-btn--ghost,.gd-strict .gd-btn--secondary{background:#fff;color:var(--s-ink);box-shadow:inset 0 0 0 1px var(--s-line)}
.gd-strict .gd-btn--ghost:hover,.gd-strict .gd-btn--secondary:hover{background:var(--s-soft);color:var(--s-ink)}
.gd-strict .gd-btn--lg{min-height:50px;padding:0 24px;font-size:16px}
.gd-strict main>section:not(#form){background:#fff!important;border-color:var(--s-line)!important}
.gd-strict main>section+section:not(#form){border-top:1px solid var(--s-line)!important}
.gd-strict .gd-card{border-color:var(--s-line);border-radius:14px;box-shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.06)}
.gd-strict .gd-badge{background:#F1F3F7;color:var(--s-ink);letter-spacing:.04em}
.gd-strict .gd-slotchip{border-color:var(--s-line);color:var(--s-ink)}
.gd-strict .gd-slotchip.is-on{background:var(--s-ink);border-color:var(--s-ink);color:#fff}
.gd-strict .gd-layer{border-color:var(--s-line);box-shadow:0 1px 2px rgba(15,23,42,.04),0 10px 28px rgba(15,23,42,.08)}
.gd-strict .gd-layer__title{color:var(--s-ink)}
.gd-strict .gd-layer.is-active{outline-color:var(--s-ink)}
.gd-strict .gd-link{color:var(--s-ink);text-decoration-color:var(--s-line);text-decoration-thickness:2px}
.gd-strict .gd-link:hover{text-decoration-color:var(--s-ink)}
.gd-strict .gd-sitenav a{color:var(--s-muted);text-decoration:none;font-weight:500}
.gd-strict .gd-sitenav a:hover{color:var(--s-ink)}
.gd-strict #form{background:var(--s-ink)!important}
.gd-strict #form .gd-btn--primary{background:#fff;color:var(--s-ink);box-shadow:none}
.gd-strict #form .gd-btn--primary:hover{background:#E9ECF2;color:var(--s-ink)}
.gd-strict #form .gd-input{border-color:transparent}
.gd-strict #form .gd-field--error .gd-input{border-color:#FF9B7A;box-shadow:0 0 0 2px rgba(232,97,44,.5)}
.gd-strict .gd-seg__b.is-on{box-shadow:0 0 0 1px var(--s-line),0 1px 2px rgba(15,23,42,.06)}
.gd-strict .gd-input{border-radius:10px}
.gd-strict .gd-input:focus{border-color:var(--s-ink);box-shadow:0 0 0 3px rgba(15,23,42,.12)}
.gd-strict footer{background:#fff!important}
@media (max-width:640px){
  .gd-strict .gd-h1{font-size:34px;line-height:1.08}
  .gd-strict .gd-h2{font-size:26px;line-height:1.15}
  .gd-strict .gd-lead{font-size:16px}
}
.gd-strict .gd-layer.is-active{outline:2px solid var(--gd-blue);outline-offset:-1px}
@media (min-width:861px){.gd-strict .gd-hero2>.gd-wrap{align-items:flex-start!important}.gd-strict .gd-hero2>.gd-wrap>div:first-child{padding-top:72px}}

/* Первый экран «Кобальт»: синяя плоскость, белая типографика, карточка «Что видит пациент» */
.gd-cob{background:var(--gd-blue);color:#fff}
.gd-cob__hdr{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px;border-bottom:1px solid rgba(255,255,255,.35)}
.gd-cob .gd-logo{color:#fff}
.gd-cob__nav{display:flex;align-items:center;gap:28px;font-size:14px}
.gd-cob__nav a{color:#fff;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.gd-cob__nav a:hover{text-decoration:underline;text-underline-offset:4px}
.gd-cob__login{border:1px solid rgba(255,255,255,.6);border-radius:10px;padding:0 16px}
.gd-cob__login:hover{background:rgba(255,255,255,.1);text-decoration:none!important}
.gd-cob__hero{display:grid;grid-template-columns:1.05fr 1fr;column-gap:64px;padding-top:48px}
.gd-cob__copy{padding-bottom:56px}
.gd-cob__hero h1{margin:0;font-family:var(--gd-font);font-size:58px;line-height:1.08;font-weight:500;letter-spacing:-.045em;color:#fff}
.gd-cob__hero h1 span{color:#D4DEFF}
.gd-cob__lead{margin:28px 0 0;max-width:490px;font-size:17px;line-height:1.55;color:#EFF2FF}
.gd-cob__btn{display:inline-flex;align-items:center;gap:24px;margin-top:28px;min-height:52px;padding:0 24px;border-radius:12px;background:var(--gd-coral);color:#101D47;font-size:16px;font-weight:600;text-decoration:none;transition:background var(--gd-t-fast)}
.gd-cob__btn:hover{background:#F17A4C;color:#101D47}
.gd-cob__note{margin:16px 0 0;font-size:12px;color:#E8EDFF}
.gd-cob__visual{display:flex;flex-direction:column;justify-content:flex-end;min-height:520px}
.gd-cob__band{background:var(--gd-blue-ink);color:#fff}
.gd-cob__band .gd-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:68px;padding-block:16px}
.gd-cob__band strong{font-size:18px;font-weight:500;letter-spacing:-.01em}
.gd-cob__band span{font-size:13px;color:#D8E1FB}
.gd-strict main>section.gd-cob:not(#form){background:var(--gd-blue)!important;border:0!important}
.gd-strict main>.gd-cob__band+section{border-top:0!important}
@media (max-width:1150px) and (min-width:901px){.gd-cob__hero{column-gap:40px}.gd-cob__hero h1{font-size:48px}}
@media (max-width:900px){
  .gd-cob__hdr{min-height:68px}
  .gd-cob__nav a:not(.gd-cob__login){display:none}
  .gd-cob__hero{display:block;padding-top:32px}
  .gd-cob__copy{padding-bottom:36px}
  .gd-cob__hero h1{font-size:38px;letter-spacing:-.04em}
  .gd-cob__lead{font-size:16px;margin-top:20px}
  .gd-cob__btn{display:flex;justify-content:center;width:100%}
  .gd-cob__visual{min-height:0}
  .gd-cob__band .gd-wrap{display:block}
  .gd-cob__band strong{display:block;font-size:16px}
  .gd-cob__band span{display:block;margin-top:4px}
}
.gd .gd-cob__nav a{color:#fff;text-decoration:none}
.gd .gd-cob__lead{margin:28px 0 0}
.gd .gd-cob__note{margin:16px 0 0}
@media (max-width:900px){.gd .gd-cob__lead{margin-top:20px}}

/* «Как идут данные» на главной: на всю ширину, крупнее подписи */
.gd-sec .gd-anim-path{max-width:none;min-height:0;padding:36px 24px 32px;border-radius:16px}
.gd-sec .gd-anim-path .gd-anim-path__txt b{font-size:18px;line-height:24px;color:#0F172A}
.gd-sec .gd-anim-path .gd-anim-path__txt span{font-size:14px;line-height:20px;color:#5B6474}
.gd-sec .gd-anim-path .gd-anim-path__node{gap:12px}
@media (max-width:640px){.gd-sec .gd-anim-path{padding:20px 16px}.gd-sec .gd-anim-path .gd-anim-path__txt b{font-size:16px;line-height:22px}}

/* Результат: реальные цифры клиники вместо отзыва */
.gd-result__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px 64px;align-items:end;padding-block:56px}
.gd-result__head{display:flex;flex-direction:column;gap:8px}
.gd-result__tag{font-size:13px;font-weight:600;color:var(--gd-blue)}
.gd .gd-result__nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}
.gd-result__nums>div{display:flex;flex-direction:column;gap:10px;padding-top:16px;border-top:2px solid var(--gd-blue)}
.gd-result__nums dt{font-family:var(--gd-font-num);font-size:64px;line-height:.95;font-weight:600;letter-spacing:-.05em;color:var(--gd-blue)}
.gd-result__nums dt small{font-size:22px;letter-spacing:-.02em;color:#5B6474}
.gd .gd-result__nums dd{margin:0;font-size:15px;line-height:1.45;color:#5B6474}
@media (max-width:900px){
  .gd-result__in{grid-template-columns:1fr;padding-block:36px}
  .gd .gd-result__nums{grid-template-columns:1fr;gap:18px}
  .gd-result__nums dt{font-size:48px}
}

/* Движение: плавные переходы у всех кнопок и ссылок, появление блоков при прокрутке */
.gd-btn,.gd-cob__btn,.gd-cob__login,.gd-link,.gd-chipbtn,.gd-nav__a,.gd-seg__b,.gd-ptabs__b,.gd-menu__i,.gd-slotchip,.gd-legend__b,.gd-k,.gd-li,.gd-switch,.gd-check,.gd-input,.gd-select,.gd-textarea{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,filter .15s ease}
.gd-btn:active,.gd-cob__btn:active,.gd-chipbtn:active,.gd-seg__b:active{filter:brightness(.93)}
.gd-cob__btn span{display:inline-block;transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.gd-cob__btn:hover span{transform:translate(3px,-3px)}
.gd-slotchip{transition:background-color .35s ease,color .35s ease,border-color .35s ease}
.js-reveal [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1) var(--d,0s),transform .7s cubic-bezier(.2,.7,.2,1) var(--d,0s)}
.js-reveal [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js-reveal [data-reveal]{opacity:1;transform:none;transition:none}}

/* Карточка врача в выдаче с geo-doc: дни, свободное время, запись */
.gd-sc{display:flex;flex-direction:column;gap:14px;padding:22px 22px 18px;border-radius:16px;background:#fff;color:var(--gd-ink);box-shadow:0 1px 2px rgba(16,29,71,.08),0 18px 40px rgba(16,29,71,.18);text-align:left}
.gd-sc__head{display:flex;align-items:center;gap:14px}
.gd-sc__photo{display:block;width:64px;height:64px;border-radius:14px;object-fit:cover}
.gd-sc__ghost{display:grid;place-items:center;flex:none;width:64px;height:64px;border-radius:14px;background:#E6E8EE;color:#C1C6D0}
.gd-sc__who{display:flex;flex-direction:column;gap:3px;min-width:0}
.gd-sc__who b{font-size:18px;line-height:1.25;font-weight:600;letter-spacing:-.01em;color:var(--gd-blue-ink)}
.gd-sc__who span{font-size:13px;line-height:1.35;color:#5B6474}
.gd .gd-sc__rate i{font-style:normal;color:#F2A93B}
.gd-sc__meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:12px;border-top:1px solid #E6E9F0;font-size:13px;color:#5B6474}
.gd-sc__meta b{font-size:16px;font-weight:600;color:var(--gd-blue-ink);white-space:nowrap}
.gd-sc__days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.gd-sc__days button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:50px;padding:6px 2px;border:1px solid #E1E5EE;border-radius:10px;background:#fff;font:inherit;color:var(--gd-blue-ink);cursor:pointer;transition:background-color .25s ease,border-color .25s ease,color .25s ease}
.gd-sc__days button:hover{border-color:#B9C6F3}
.gd-sc__days b{font-size:13px;line-height:1.2;font-weight:600;white-space:nowrap}
.gd-sc__days span{font-size:11px;line-height:1.2;color:#5B6474;white-space:nowrap}
.gd-sc__days button[aria-pressed=true]{border-color:var(--gd-blue);background:var(--gd-blue-tint)}
.gd-sc__days button[aria-pressed=true] span{color:var(--gd-blue-deep)}
.gd-sc__slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,36px);gap:6px}
.gd-sc__slot{min-height:36px;padding:0;border:0;border-radius:8px;background:#EEF2FE;font-family:var(--gd-font-num);font-size:13px;font-weight:700;color:var(--gd-blue-deep);cursor:pointer;transition:background-color .25s ease,color .25s ease;animation:gd-sc-in .4s var(--gd-ease) both;animation-delay:calc(var(--i,0) * 35ms)}
.gd-sc__slot:hover{background:#DCE4FC}
.gd-sc__slot[aria-pressed=true]{background:var(--gd-blue);color:#fff}
.gd-sc__more{display:flex;align-items:center;justify-content:center;border:1px dashed #BCC8F2;border-radius:8px;font-size:12px;font-weight:600;color:var(--gd-blue-deep);white-space:nowrap}
@keyframes gd-sc-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.gd-sc__book{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:12px;background:var(--gd-coral);color:#101D47;font-size:15px;font-weight:600}
.gd-sc__live{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.3;color:#5B6474}
.gd-sc__live i{flex:none;width:8px;height:8px;border-radius:50%;background:#22A06B;animation:gd-sc-pulse 2.2s ease-out infinite}
@keyframes gd-sc-pulse{0%{box-shadow:0 0 0 0 rgba(34,160,107,.45)}70%,100%{box-shadow:0 0 0 7px rgba(34,160,107,0)}}
@media (max-width:420px){.gd-sc{padding:18px 16px 16px}.gd-sc__who b{font-size:17px}.gd-sc__days b{font-size:12px}}
@media (prefers-reduced-motion:reduce){.gd-sc__slot,.gd-sc__live i{animation:none}}

/* Первый экран: выдача поиска, врач клиники со временем и записью среди серых карточек */
.gd-cob__visual--sc{justify-content:center;padding-bottom:56px}
@media (min-width:901px){.gd-cob__hero:has(.gd-cob__visual--sc) .gd-cob__copy{align-self:center;padding-bottom:56px}}
.gd-serp{display:flex;flex-direction:column;gap:10px;width:100%;max-width:460px;margin-left:auto;padding:14px;border-radius:20px;background:rgba(255,255,255,.14)}
.gd-serp__q{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 16px;border-radius:12px;background:#fff;color:var(--gd-blue-ink);font-size:15px}
.gd-serp__q svg{flex:none;color:#8A90A0}
.gd .gd-serp__found{margin:0;padding:2px 4px 0;font-size:12px;color:#D4DEFF}
.gd-serp .gd-sc{padding:18px 18px 16px;gap:12px}
.gd-serp__row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:#F1F2F5;color:#8A90A0}
.gd-serp__row .gd-sc__ghost{width:44px;height:44px;border-radius:10px}
.gd-serp__row>div{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.gd-serp__row b{font-size:14px;font-weight:600;color:#666C7D}
.gd-serp__row span{font-size:12px;line-height:1.35}
.gd .gd-serp__row em{flex:none;padding:7px 10px;border:1px solid #C9CED9;border-radius:8px;font-style:normal;font-size:12px;color:#666C7D;white-space:nowrap}

@media (max-width:900px){
  .gd-cob__visual--sc{padding-bottom:36px}
  .gd-serp{max-width:none;margin-left:0}
  .gd .gd-serp__row em{display:none}
}

/* Публичные страницы на всю высоту экрана: подвал прижат к низу, короткая страница не обрывается посередине */
body.gd-fill{min-height:100vh;display:flex;flex-direction:column}
body.gd-fill>main{flex:1 0 auto;width:100%}
body.gd-fill>header,body.gd-fill>footer,body.gd-fill>div{flex:none}
/* Вход: карточка по центру экрана */
.gd-loginpage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:48px 16px;background:var(--s-soft)}
.gd-login{width:100%;max-width:440px;padding:36px 36px 32px;border:1px solid var(--s-line);border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04),0 12px 32px rgba(15,23,42,.06)}
.gd .gd-login__new{margin:0;max-width:440px;text-align:center;font-size:14px;line-height:1.5;color:var(--s-muted)}
.gd-login form button[type=submit]{width:100%}
@media (max-width:640px){.gd-loginpage{padding:32px 16px 40px}.gd-login{padding:24px 20px}}
.gd-login .gd-input[aria-invalid=true]{border-color:var(--gd-error);box-shadow:0 0 0 3px rgba(196,81,29,.12)}
.gd .gd-login__err{margin:8px 0 0;font-weight:500}

/* Отзыв клиники: цитата, кто говорит, логотип клиники */
.gd-review__in{display:flex;flex-direction:column;gap:36px;padding-block:56px 64px}
.gd .gd-review__card{position:relative;margin:0;padding:44px 48px 32px;border:1px solid var(--s-line);border-radius:20px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04),0 18px 48px rgba(21,39,96,.08)}
.gd-review__mark{position:absolute;top:-30px;left:40px;font-family:Georgia,serif;font-size:112px;line-height:1;color:var(--gd-blue)}
.gd .gd-review__q{margin:0}
.gd .gd-review__q p{margin:0;max-width:880px;font-size:24px;line-height:1.5;font-weight:500;letter-spacing:-.01em;color:var(--s-ink)}
.gd-review__q em{font-style:normal;color:var(--gd-blue)}
.gd-review__who{display:flex;align-items:center;flex-wrap:wrap;gap:14px 16px;margin-top:28px;padding-top:24px;border-top:1px solid var(--s-line)}
.gd-review__ava{flex:none;display:grid;place-items:center;width:56px;height:56px;border:1px solid var(--s-line);border-radius:50%;background:#fff;overflow:hidden}
.gd-review__ava img{display:block;width:40px;height:40px;object-fit:contain}
.gd-review__name{display:flex;flex-direction:column;gap:2px;min-width:0}
.gd-review__name b{font-size:17px;color:var(--s-ink)}
.gd-review__name span{font-size:14px;color:var(--s-muted)}
.gd-review__logo{display:block;width:200px;height:auto;margin-left:auto}
@media (max-width:640px){
  .gd-review__in{padding-block:36px 44px}
  .gd .gd-review__card{padding:36px 20px 22px;border-radius:16px}
  .gd-review__mark{top:-26px;left:18px;font-size:92px}
  .gd .gd-review__q p{font-size:18px}
  .gd-review__logo{width:160px;margin-left:0}
}

.gd-strict main>section.gd-review:not(#form){background:var(--s-soft)!important}
/* Логотип: знак-облачко и надпись, цвет берётся от ссылки (синий на белом, белый на синем) */
.gd-logo__svg{display:block;width:auto;height:30px;fill:currentColor}
@media (max-width:640px){.gd-logo__svg{height:27px}}
.gd-login__remember{display:flex;align-items:flex-start;gap:10px;cursor:pointer}
.gd-login__remember .gd-check{margin-top:2px;flex:none}
.gd-login__remember>span{display:flex;flex-direction:column;gap:2px}
.gd-login__remember b{font-size:14px;line-height:20px;font-weight:600;color:var(--s-ink)}
.gd-login__remember span span{font-size:13px;line-height:18px;color:var(--s-muted)}

/* Админка: заявки — список слева, карточка справа; на узком экране карточка открывается вместо списка */
.gd-leads__bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}
.gd-leads__search{flex:1 1 260px;min-width:0;max-width:380px}
.gd-leads{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:16px;align-items:start}
.gd-leads__list{display:flex;flex-direction:column;gap:8px;min-width:0}
.gd-panel .gd-leads__detail{position:sticky;top:16px;gap:18px;max-height:calc(100vh - 32px);overflow:auto;overscroll-behavior:contain}
.gd-leads__back{display:none;align-self:flex-start}
.gd-lrow{display:flex;flex-direction:column;gap:5px;width:100%;padding:12px 14px;border:1px solid var(--gd-line);border-radius:12px;background:#fff;font-family:var(--gd-font);text-align:left;color:var(--gd-ink);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}
.gd-lrow:hover{border-color:var(--gd-blue)}
.gd-lrow:focus-visible{outline:none;box-shadow:var(--gd-focus)}
.gd-lrow.is-on{border-color:var(--gd-blue);box-shadow:inset 0 0 0 1px var(--gd-blue);background:var(--gd-blue-soft)}
.gd-lrow>span{display:block;min-width:0}
.gd-lrow__top{display:flex!important;align-items:center;gap:8px;font-size:13px;line-height:18px}
.gd-lrow__title{font-size:15px;line-height:21px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gd-lrow__sub{font-size:13px;line-height:18px;color:var(--gd-label);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gd-lrow__meta{display:flex!important;flex-wrap:wrap;gap:2px 12px;font-size:12px;line-height:16px;color:var(--gd-label)}
.gd-late{color:var(--gd-error)!important;font-weight:600}
.gd-ldl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:12px 24px;margin:0}
.gd-ldl>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.gd-ldl dd{margin:0;overflow-wrap:anywhere}
.gd-lnote{margin:0;padding:10px 14px;border-radius:10px;background:var(--gd-off);font-size:14px;line-height:21px;white-space:pre-wrap;overflow-wrap:anywhere}
.gd-lwork{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:14px 20px;padding:14px 16px;border-radius:12px;background:var(--gd-blue-soft)}
.gd-lchips{display:flex;flex-wrap:wrap;gap:6px}
.gd-lchip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 11px;border:1px solid var(--gd-line);border-radius:999px;background:#fff;font-family:var(--gd-font);font-size:12px;line-height:16px;font-weight:600;color:var(--gd-blue-deep);cursor:pointer;white-space:nowrap;transition:border-color .2s ease,background-color .2s ease,color .2s ease}
.gd-lchip:hover{border-color:var(--gd-blue)}
.gd-lchip:disabled{opacity:.5;cursor:default}
.gd-lchip--late[aria-pressed="true"]{background:var(--gd-error-tint);border-color:var(--gd-error);color:var(--gd-error)}
.gd-lchip--late:not([aria-pressed="true"]) b{color:var(--gd-error)}
.gd-lhist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.gd-lhist li{display:grid;grid-template-columns:8px minmax(0,1fr);gap:10px}
.gd-lhist li>i{width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--gd-gray)}
.gd-lhist li.is-comment>i{background:var(--gd-blue)}
.gd-lhist li.is-err>i{background:var(--gd-error)}
.gd-lhist__who{font-size:12px;line-height:16px;color:var(--gd-label)}
.gd-lhist__txt{font-size:14px;line-height:20px;overflow-wrap:anywhere}
.gd-lhist li.is-comment .gd-lhist__txt{white-space:pre-wrap;margin-top:4px;padding:8px 12px;border-radius:10px;background:var(--gd-off)}
.gd-lhist li.is-out>i{background:var(--gd-blue)}
.gd-lhist li.is-in>i{background:var(--gd-coral)}
.gd-lmail{display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px solid var(--gd-line)}
.gd-lmsg{display:flex;flex-direction:column;gap:4px;margin-top:4px;padding:10px 12px;border:1px solid var(--gd-line);border-radius:10px;background:var(--gd-white)}
.gd-lmsg.is-out{border-color:var(--gd-blue-tint);background:var(--gd-blue-soft)}
.gd-lmsg.is-in{border-color:var(--gd-coral-tint)}
.gd-lmsg__head{font-size:12px;line-height:16px;font-weight:600;color:var(--gd-label);overflow-wrap:anywhere}
.gd-lmsg__body{font-size:14px;line-height:20px;white-space:pre-wrap;overflow-wrap:anywhere}
.gd-lres{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;border:0}
.gd-lres label{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 12px;border:1px solid var(--gd-line);border-radius:8px;cursor:pointer;font-size:14px;line-height:20px}
.gd-lres label:has(input:checked){border-color:var(--gd-blue);background:var(--gd-blue-soft)}
.gd-lres input{accent-color:var(--gd-blue);margin:0}
@media (max-width:1023px){
  .gd-leads{grid-template-columns:minmax(0,1fr)}
  .gd-panel .gd-leads__detail{position:static;max-height:none;overflow:visible}
  .gd-leads.is-open .gd-leads__list,.gd-leads__empty{display:none!important}
  .gd-leads__back{display:inline-flex}
  .gd-leads__search{max-width:none;flex-basis:100%}
}
/* Кабинет и админка: место под полосу прокрутки всегда занято — страница не сдвигается вбок, когда содержимое становится короче экрана */
html:has(body.gd-panel){scrollbar-gutter:stable}

/* ============================================================
   Тёмная тема кабинета и админки. Тему ставит assets/theme.js: data-theme на <html> до первой отрисовки
   (выбор в шапке, без выбора — как в системе). Всё под .gd-panel — публичные страницы не меняются.
   Поверхности тёмно-синие, бренд-цвета те же; ссылки и текст на подложках светлее — контраст не ниже WCAG AA.
   ============================================================ */
.gd-panel{--gd-surface:#fff;--gd-line-blue:#C9D2E8}
.gd-count--blue{background:var(--gd-blue)}
/* Переключатель темы в шапке — вместе с блоком пользователя, переносятся на новую строку вместе */
.gd-hdr__end{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%;margin-left:auto}
.gd-theme{position:relative;flex:none}
.gd-theme__b{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--gd-line);border-radius:8px;background:var(--gd-surface);color:var(--gd-graphite);cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.gd-theme__b:hover{border-color:var(--gd-blue);color:var(--gd-ink)}
.gd-theme__b>svg{display:none}
[data-theme-mode="light"] .gd-theme__b>[data-m="light"],[data-theme-mode="dark"] .gd-theme__b>[data-m="dark"],[data-theme-mode="auto"] .gd-theme__b>[data-m="auto"]{display:block}
.gd-hdr--dark .gd-theme__b{border-color:rgba(255,255,255,.22);background:transparent;color:#DCE3FB}
.gd-hdr--dark .gd-theme__b:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.08);color:#fff}
.gd-theme .gd-menu{right:0;min-width:210px}
.gd-theme .gd-menu.is-left{left:0;right:auto}
.gd-theme__opt{display:inline-flex;align-items:center;gap:10px}
.gd-theme__opt>svg{flex:none;color:var(--gd-label)}
.gd-theme .gd-menu__i[aria-checked="true"]{font-weight:600}
.gd-theme__chk{flex:none;color:var(--gd-blue-deep)}
/* На телефоне в шапке кабинета места нет (название клиники) — тема выбирается в меню пользователя */
.gd-menu__theme{display:none;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:0 4px 0 10px;font-size:14px;color:var(--gd-ink)}
.gd-menu__theme .gd-seg__b{min-height:32px;padding:0 9px}
@media (max-width:640px){.gd-theme--wide{display:none}.gd-menu__theme{display:flex}}
/* Смена темы — без анимации цвета */
html.gd-notr *,html.gd-notr *::before,html.gd-notr *::after{transition:none!important}

/* — тёмные токены — */
html[data-theme="dark"]:has(>body.gd-panel){color-scheme:dark;background:#0D1322;scrollbar-color:#3A4563 transparent}
[data-theme="dark"] .gd-panel{
  --gd-surface:#141C30; --gd-surface-2:#1A2440; --gd-field:#0F1628; --gd-off:#0D1322;
  --gd-line:#27324F; --gd-line-blue:#33447A; --gd-grid:#1E2842; --gd-fill:rgba(150,172,255,.08);
  --gd-ink:#E7EBF5; --gd-graphite:#C2C9DA; --gd-label:#98A2BC; --gd-label-3:#66708C; --gd-gray:#4A5576;
  --gd-blue:#3B5CE8; --gd-blue-deep:#A8BAFF; --gd-blue-ink:#E3E9FF; --gd-blue-tint:#1E2B55; --gd-blue-soft:#19244A; --gd-blue-text:#8EA6FF;
  --gd-coral-deep:#FF9A70; --gd-coral-tint:#3A2219;
  --gd-success:#2E9E6C; --gd-success-ink:#6FD3A5; --gd-success-tint:#13301F;
  --gd-warn:#E39A4A; --gd-warn-ink:#F2BE7E; --gd-warn-tint:#33260F;
  --gd-error:#F2784A; --gd-error-tint:#3A1F17;
  --gd-grid-line:rgba(120,150,255,.06);
  --gd-sh-raise:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.25);
  --gd-sh-float:0 2px 4px rgba(0,0,0,.3),0 14px 34px rgba(0,0,0,.4);
  --gd-focus:0 0 0 3px rgba(110,140,255,.5)
}
/* — поверхности: белое становится тёмно-синим — */
[data-theme="dark"] .gd-panel :is(.gd-card,.gd-k,.gd-list,.gd-scroll,.gd-banner,.gd-hdr,.gd-lrow,.gd-lchip,.gd-lmsg,.gd-btn--danger,.gd-btn--secondary,.gd-btn--ghost){background:var(--gd-surface)}
[data-theme="dark"] .gd-panel .gd-table th{background:var(--gd-surface)}
[data-theme="dark"] .gd-panel .gd-card--tint{background:var(--gd-blue-soft);border-color:var(--gd-line-blue)}
[data-theme="dark"] .gd-panel .gd-banner--warn{background:var(--gd-warn-tint);border-color:#5C4220}
[data-theme="dark"] .gd-panel .gd-banner--info{background:var(--gd-blue-soft);border-color:#2E3F7C}
[data-theme="dark"] .gd-panel .gd-banner--err{background:var(--gd-error-tint);border-color:#5E2E1E}
[data-theme="dark"] .gd-panel .gd-lrow.is-on,[data-theme="dark"] .gd-panel .gd-lmsg.is-out{background:var(--gd-blue-soft)}
[data-theme="dark"] .gd-panel .gd-lchip--late[aria-pressed="true"]{background:var(--gd-error-tint)}
[data-theme="dark"] .gd-panel :is(.gd-menu,.gd-sheet){background:var(--gd-surface-2);box-shadow:0 0 0 1px var(--gd-line),0 12px 32px rgba(0,0,0,.45)}
[data-theme="dark"] .gd-panel .gd-dialog{background:var(--gd-surface-2);color:var(--gd-ink);box-shadow:0 0 0 1px var(--gd-line),0 24px 64px rgba(0,0,0,.55)}
[data-theme="dark"] .gd-panel .gd-dialog::backdrop{background:rgba(3,6,16,.66)}
[data-theme="dark"] .gd-panel .gd-skel{background-image:linear-gradient(90deg,var(--gd-fill) 0,rgba(150,172,255,.12) 50%,var(--gd-fill) 100%)}
/* — шапки: у кабинета тёмная поверхность, у админки остаётся фирменная синяя — */
[data-theme="dark"] .gd-panel .gd-hdr--dark{background:#152760;border-bottom:1px solid rgba(255,255,255,.06)}
[data-theme="dark"] .gd-panel .gd-logo{color:#F2F5FF}
[data-theme="dark"] .gd-panel .gd-chipbtn{background:transparent}
[data-theme="dark"] .gd-panel .gd-chipbtn:hover{border-color:var(--gd-blue)}
/* — кнопки и ссылки — */
[data-theme="dark"] .gd-panel .gd-btn--primary:hover{background:#4463EC}
[data-theme="dark"] .gd-panel :is(.gd-btn--secondary,.gd-btn--ghost):hover{background:var(--gd-blue-soft)}
[data-theme="dark"] .gd-panel .gd-btn--danger:hover{background:var(--gd-error-tint)}
[data-theme="dark"] .gd-panel :is(.gd-link,.gd-kicker,.gd-stat,a:not([class])){color:var(--gd-blue-text)}
[data-theme="dark"] .gd-panel :is(.gd-link,a:not([class])):hover{color:#B4C4FF}
[data-theme="dark"] .gd-panel .gd-link:disabled{color:var(--gd-label)}
/* — поля, переключатели, сегменты — */
[data-theme="dark"] .gd-panel :is(.gd-input,.gd-select,.gd-textarea){background:var(--gd-field);border-color:#2F3B5C}
[data-theme="dark"] .gd-panel .gd-input:hover{border-color:var(--gd-gray)}
[data-theme="dark"] .gd-panel :is(.gd-input,.gd-select,.gd-textarea):focus{border-color:var(--gd-blue)}
[data-theme="dark"] .gd-panel .gd-field--error .gd-input{border-color:var(--gd-error);background:var(--gd-error-tint)}
[data-theme="dark"] .gd-panel :is(.gd-input,.gd-textarea)::placeholder{color:#6E7893}
[data-theme="dark"] .gd-panel :is(.gd-input,.gd-select,.gd-textarea):disabled{color:var(--gd-label);background:var(--gd-off)}
[data-theme="dark"] .gd-panel .gd-switch{background:#3A4563}
[data-theme="dark"] .gd-panel .gd-switch:checked{background:var(--gd-blue)}
[data-theme="dark"] .gd-panel .gd-seg__b:hover{background:rgba(255,255,255,.06)}
[data-theme="dark"] .gd-panel .gd-seg__b.is-on{background:#26325A;box-shadow:0 0 0 1px #34416A}
[data-theme="dark"] .gd-panel .gd-tab.is-on{background:var(--gd-surface-2)}
[data-theme="dark"] .gd-panel :is(.gd-slotchip,button.gd-chip:not(.is-on)){background:var(--gd-surface)}
[data-theme="dark"] .gd-panel :is(.gd-slotchip.is-on,button.gd-slotchip:hover){background:var(--gd-blue-tint)}
/* — метки, статусы, графики, сообщения — */
[data-theme="dark"] .gd-panel .gd-count{color:#0D1322}
[data-theme="dark"] .gd-panel .gd-count--blue{color:#fff}
[data-theme="dark"] .gd-panel .gd-st--err>i::before{color:#0D1322}
[data-theme="dark"] .gd-panel :is(.gd-bars__b,.gd-key>i).is-low{background:#34468A}
[data-theme="dark"] .gd-panel .gd-toast{background:#26325A;color:var(--gd-ink)}
[data-theme="dark"] .gd-panel .gd-toasts .gd-toast{box-shadow:0 0 0 1px rgba(255,255,255,.08),0 12px 32px rgba(0,0,0,.5)}
[data-theme="dark"] .gd-panel .gd-toast--err{background:#6B2A18;color:#FFE3D8}
[data-theme="dark"] .gd-panel .gd-alert--success{color:var(--gd-success-ink)}
[data-theme="dark"] .gd-panel .gd-alert--error{color:#FFB59A}
[data-theme="dark"] .gd-panel .gd-ph{background:#3D3412;color:#FFE08A}
/* Всплывающие сообщения: плавно появляются и уходят, повтор — счётчиком */
.gd-toasts .gd-toast{animation:gd-toast-in .25s cubic-bezier(.22,.7,.25,1) both;transition:opacity .25s ease,transform .25s ease}
.gd-toasts .gd-toast.is-out{opacity:0;transform:translateY(8px)}
@keyframes gd-toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.gd-toast__n{display:inline-block;margin-left:8px;padding:0 7px;border-radius:999px;background:rgba(255,255,255,.18);font-size:12px;line-height:18px;font-weight:700;vertical-align:1px}
@media (prefers-reduced-motion:reduce){.gd-toasts .gd-toast{animation:none;transition:none}}


/* Шапка кабинета и админки на компьютере — строго в одну строку: если разделов больше, чем помещается,
   меню прокручивается вбок, а блок пользователя не переносится; на средней ширине вместо имени — аватар */
@media (min-width:641px){
  .gd-hdr__row:first-child{flex-wrap:nowrap}
  .gd-hdr__row:first-child>*{flex:none}
  .gd-hdr .gd-nav{flex:0 1 auto;min-width:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .gd-hdr .gd-nav::-webkit-scrollbar{display:none}
  .gd-hdr .gd-nav__a{flex:none;padding:0 10px}
  .gd-hdr__row:first-child>.gd-grow{flex:1 1 0;min-width:0}
  .gd-hdr .gd-logo__svg{height:26px}
}
@media (min-width:641px) and (max-width:1480px){
  .gd-hdr__user{display:none!important}
  .gd-hdr .gd-chipbtn{max-width:220px}
  .gd-hdr .gd-chipbtn>span:not(.gd-ava){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media (min-width:641px) and (max-width:1100px){
  .gd-hdr .gd-nav__a{padding:0 8px;font-size:13px}
  .gd-hdr--dark .gd-logo+span{display:none}
}
/* Меню не влезло: справа плавное затухание, пока не докручено до конца */
/* Обёртка меню (создаёт app.js): стрелки ‹ › поверх краёв, затухание там, где есть скрытые разделы */
.gd-navwrap{position:relative;display:flex;align-items:center;min-width:0}
.gd-navwrap>.gd-nav{flex:1 1 auto;min-width:0}
.gd-hdr__row:first-child>.gd-navwrap{flex:0 1 auto;min-width:0}
.gd-navwrap.can-right>.gd-nav{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 56px),transparent)}
.gd-navwrap.can-left>.gd-nav{-webkit-mask-image:linear-gradient(to right,transparent,#000 56px);mask-image:linear-gradient(to right,transparent,#000 56px)}
.gd-navwrap.can-left.can-right>.gd-nav{-webkit-mask-image:linear-gradient(to right,transparent,#000 56px,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(to right,transparent,#000 56px,#000 calc(100% - 56px),transparent)}
.gd-navarr{position:absolute;top:50%;z-index:2;display:none;align-items:center;justify-content:center;width:30px;height:30px;margin-top:-15px;padding:0;border:1px solid var(--gd-line);border-radius:50%;background:var(--gd-surface,#fff);color:var(--gd-ink);box-shadow:0 2px 8px rgba(21,39,96,.18);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}
.gd-navarr:hover{border-color:var(--gd-blue);color:var(--gd-blue)}
.gd-navarr--l{left:0}
.gd-navarr--r{right:0}
.gd-navwrap.can-left>.gd-navarr--l,.gd-navwrap.can-right>.gd-navarr--r{display:inline-flex}
.gd-hdr--dark .gd-navarr{border-color:rgba(255,255,255,.28);background:#24357E;color:#fff;box-shadow:0 2px 10px rgba(0,0,0,.3)}
.gd-hdr--dark .gd-navarr:hover{border-color:#fff;background:#2E43A0;color:#fff}
@media (pointer:coarse){.gd-navarr{display:none!important}}
@media (max-width:640px){.gd-hdr__row>.gd-navwrap{order:5;flex:1 1 100%}}


/* Админка на телефоне: шапка в две строки (логотип с кнопками и меню разделов), таблицы — карточки с подписями полей */
@media (max-width:640px){
  .gd-hdr--dark .gd-logo+span{display:none}
  .gd-hdr--dark .gd-hdr__end>span>span:not(.gd-ava){display:none!important}
  .gd-hdr--dark .gd-hdr__row:first-child{flex-wrap:wrap;min-height:52px;padding-top:6px}
  .gd-hdr--dark .gd-hdr__end{gap:8px}
  .gd-hdr--dark .gd-nav{padding-bottom:8px}
  body:has(.gd-hdr--dark) .gd-scroll:has(>.gd-table){overflow:visible;border:0;border-radius:0;background:none}
  body:has(.gd-hdr--dark) .gd-scroll>.gd-table{display:block;min-width:0!important}
  body:has(.gd-hdr--dark) .gd-scroll>.gd-table thead{display:none}
  body:has(.gd-hdr--dark) .gd-scroll>.gd-table tbody{display:flex;flex-direction:column;gap:10px}
  body:has(.gd-hdr--dark) .gd-scroll>.gd-table tr{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;padding:12px 14px;border:1px solid var(--gd-line);border-radius:12px;background:var(--gd-surface,#fff)}
  body:has(.gd-hdr--dark) .gd-scroll>.gd-table td:first-child,body:has(.gd-hdr--dark) .gd-scroll>.gd-table td[data-wide],body:has(.gd-hdr--dark) .gd-scroll>.gd-table td[colspan]{grid-column:1/-1}
  body:has(.gd-hdr--dark) .gd-scroll>.gd-table td{display:block;width:auto!important;min-width:0!important;padding:0!important;border:0!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere}
  body:has(.gd-hdr--dark) .gd-scroll>.gd-table td:empty{display:none}
  body:has(.gd-hdr--dark) .gd-scroll>.gd-table td[data-label]:not(:first-child)::before{content:attr(data-label);display:block;margin-bottom:1px;font-size:12px;line-height:16px;font-weight:500;color:var(--gd-label)}
  body:has(.gd-hdr--dark) .gd-scroll>.gd-table td:first-child{font-weight:600}
  body:has(.gd-hdr--dark) .gd-scroll>.gd-table td select,body:has(.gd-hdr--dark) .gd-scroll>.gd-table td .gd-select{width:100%;max-width:none}
}
/* Код из письма — шесть клеток, как в письме: одно настоящее поле поверх клеток (вставка, автозаполнение, телефон) */
.gd-otp{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;max-width:340px;cursor:text}
.gd-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}
.gd-otp__cell{display:flex;align-items:center;justify-content:center;height:58px;border:1px solid var(--s-line,#E6E8EE);border-radius:12px;background:#fff;font-family:var(--gd-font-num);font-size:26px;font-weight:700;color:var(--gd-blue-deep);transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}
.gd-otp__cell.is-filled{border-color:#C9D4FA;background:#EEF2FE}
.gd-otp__cell.is-active{border-color:var(--gd-blue);box-shadow:0 0 0 3px rgba(43,79,216,.16)}
.gd-otp.is-error .gd-otp__cell{border-color:var(--gd-error)}
@media (max-width:400px){.gd-otp{gap:6px}.gd-otp__cell{height:52px;font-size:23px}}
/* Вход: «Не пришёл код?» — короткая подсказка, что проверить */
.gd-login__links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px}
.gd-nocode{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:16px 18px;border:1px solid var(--s-line,#E6E8EE);border-radius:14px;background:var(--s-soft,#F7F8FA)}
.gd .gd-nocode__t{margin:0;font-size:14px;line-height:20px;font-weight:600;color:var(--s-ink,#0F172A)}
.gd .gd-nocode__list{display:flex;flex-direction:column;gap:10px;margin:0;padding-left:20px;font-size:14px;line-height:21px;color:var(--s-muted,#5B6474)}
.gd-nocode__list b{color:var(--s-ink,#0F172A);font-weight:600}
.gd-nocode__list .gd-link{padding:0;font-size:inherit}
.gd .gd-nocode__s{margin:0;font-size:13px;line-height:19px;color:var(--s-muted,#5B6474)}

.gd-nowrap{white-space:nowrap}
/* Админка: разделов много — имя и роль не показываем в строке, они во всплывающей подсказке у аватара */
.gd-hdr--dark .gd-hdr__end>span>span:not(.gd-ava){display:none!important}

/* Мастер подключения, шаг «Справочники»: формат, источники, таблицы для правки, предпросмотр «что пришло / что увидит geo-doc», API МИС */
.gd-ob code{font-family:var(--gd-mono);font-size:12px;padding:1px 4px;border-radius:4px;background:var(--gd-fill)}
.gd-ob-doc,.gd-ob-src{display:flex;flex-direction:column;gap:12px;padding:14px 16px;border:1px solid var(--gd-line);border-radius:12px;background:var(--gd-surface,#fff);min-width:0}
.gd-ob-doc>summary,.gd-ob-sub>summary,.gd-ob-map>summary,.gd-ob-msgs>summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;cursor:pointer;font-weight:600;font-size:14px;line-height:20px;list-style:none}
.gd-ob-doc>summary::-webkit-details-marker,.gd-ob-sub>summary::-webkit-details-marker,.gd-ob-map>summary::-webkit-details-marker,.gd-ob-msgs>summary::-webkit-details-marker{display:none}
.gd-ob-doc>summary::before,.gd-ob-sub>summary::before,.gd-ob-map>summary::before,.gd-ob-msgs>summary::before{content:"▸";display:inline-block;width:12px;color:var(--gd-label);transition:transform .15s ease}
.gd-ob-doc[open]>summary::before,.gd-ob-sub[open]>summary::before,.gd-ob-map[open]>summary::before,.gd-ob-msgs[open]>summary::before{transform:rotate(90deg)}
.gd-ob-sub>summary,.gd-ob-map>summary{font-weight:500}
.gd-ob-map{padding-top:10px;border-top:1px solid var(--gd-line)}
.gd-ob-prose{display:flex;flex-direction:column;gap:8px;max-width:860px}
.gd-ob-prose b{color:var(--gd-ink)}
.gd-ob-pre{margin:0;max-height:420px;overflow:auto;padding:12px;border:1px solid var(--gd-line);border-radius:10px;background:var(--gd-off);font-family:var(--gd-mono);font-size:12px;line-height:18px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--gd-ink)}
.gd-ob-drop{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px dashed var(--gd-line-blue);border-radius:12px;background:var(--gd-blue-soft);transition:border-color .2s ease,background-color .2s ease}
.gd-ob-drop.is-over{border-color:var(--gd-blue);background:var(--gd-blue-tint)}
.gd-ob-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px 16px}
.gd-ob .gd-seg__b .gd-tag{padding:0 6px;font-size:11px}
.gd-ob .gd-seg__b:disabled{opacity:.45;cursor:default}
/* Таблица для правки: поля без рамки, рамка — у ячейки в фокусе */
.gd-panel .gd-ob-etable td{padding:2px 4px}
.gd-panel .gd-ob-etable td:first-child{padding-left:12px;color:var(--gd-label);white-space:nowrap}
.gd-panel .gd-ob-etable tbody tr:hover td{background:transparent}
.gd-ob-cell{width:100%;min-width:0;height:34px;padding:6px 8px;border:1px solid transparent;border-radius:6px;background:transparent;font-family:var(--gd-font);font-size:13px;line-height:20px;color:var(--gd-ink)}
.gd-ob-cell:hover{border-color:var(--gd-line)}
.gd-ob-cell:focus{outline:none;border-color:var(--gd-blue);background:var(--gd-surface,#fff);box-shadow:var(--gd-focus)}
.gd-ob-cell::placeholder{color:var(--gd-label-3,#9AA1B2)}
.gd-ob-del{width:30px;height:30px;border:0;border-radius:6px;background:transparent;color:var(--gd-label);font-size:18px;line-height:1;cursor:pointer}
.gd-ob-del:hover{background:var(--gd-error-tint);color:var(--gd-error)}
/* Предпросмотр: две колонки рядом, на узком экране — одна под другой */
.gd-ob-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:16px;align-items:start}
.gd-ob-pane{display:flex;flex-direction:column;gap:12px;min-width:0;padding:16px;border:1px solid var(--gd-line);border-radius:12px;background:var(--gd-off)}
.gd-ob-pane__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}
.gd-ob-counts{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;line-height:18px;color:var(--gd-label)}
.gd-ob-counts b{font-family:var(--gd-font-num);font-weight:700;color:var(--gd-ink)}
.gd-ob-msgs{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:10px;background:var(--gd-surface,#fff);border:1px solid var(--gd-line);font-size:13px;line-height:18px}
.gd-ob-msgs ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:3px;max-height:280px;overflow:auto;overflow-wrap:anywhere}
.gd-ob-msgs--err{background:var(--gd-error-tint);border-color:transparent;color:var(--gd-ink)}
.gd-ob-msgs--err>b{color:var(--gd-error)}
.gd-ob-msgs--warn{background:var(--gd-warn-tint);border-color:transparent}
.gd-ob-msgs--warn>b{color:var(--gd-warn-ink)}
.gd-ob-raw{max-height:420px;overflow:auto;border:1px solid var(--gd-line);border-radius:10px;background:var(--gd-surface,#fff)}
.gd-ob-raw table{border-collapse:collapse;font-size:12px;line-height:16px}
.gd-ob-raw th,.gd-ob-raw td{padding:5px 8px;border-bottom:1px solid var(--gd-line);border-right:1px solid var(--gd-line);text-align:left;vertical-align:top;max-width:260px;overflow-wrap:anywhere;color:var(--gd-ink)}
.gd-ob-raw th{position:sticky;left:0;background:var(--gd-off);color:var(--gd-label);font-weight:500}
/* JSON-дерево */
.gd-ob-tree{max-height:520px;overflow:auto;padding:10px 12px;border:1px solid var(--gd-line);border-radius:10px;background:var(--gd-surface,#fff);font-family:var(--gd-mono);font-size:12px;line-height:19px;color:var(--gd-ink)}
.gd-jt__n>summary{cursor:pointer;list-style:none;white-space:nowrap;border-radius:4px}
.gd-jt__n>summary::-webkit-details-marker{display:none}
.gd-jt__n>summary::before{content:"▸";display:inline-block;width:14px;color:var(--gd-label)}
.gd-jt__n[open]>summary::before{content:"▾"}
.gd-jt__n>summary:hover{background:var(--gd-fill)}
.gd-jt__c{margin-left:5px;padding-left:12px;border-left:1px dashed var(--gd-line)}
.gd-jt__l{padding-left:14px;overflow-wrap:anywhere}
.gd-jt__k{color:var(--gd-blue-deep)}
.gd-jt__s{color:var(--gd-success-ink)}
.gd-jt__num{color:var(--gd-warn-ink)}
.gd-jt__b,.gd-jt__null{color:#7C3AED}
.gd-jt__p,.gd-jt__meta{color:var(--gd-label)}
.gd-jt__hint{font-family:var(--gd-font);color:var(--gd-success-ink);font-weight:600}
.gd-jt__more{min-height:28px;font-size:12px}
[data-theme="dark"] .gd-jt__b,[data-theme="dark"] .gd-jt__null{color:#C4A5FF}
/* Карточки врачей — как их увидит geo-doc */
.gd-ob-fils{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.gd-ob-fils li{display:flex;flex-direction:column;gap:1px;font-size:14px;line-height:20px}
.gd-ob-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:10px}
.gd-ob-card{display:flex;flex-direction:column;gap:8px;min-width:0;padding:12px 14px;border:1px solid var(--gd-line);border-radius:12px;background:var(--gd-surface,#fff);font-size:14px;line-height:20px}
.gd-ob-card__top{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:start}
.gd-ob-ava{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--gd-blue-tint);color:var(--gd-blue-deep);font-family:var(--gd-font-num);font-size:14px;font-weight:700}
.gd-ob-price{font-family:var(--gd-font-num);font-weight:700;white-space:nowrap;color:var(--gd-ink)}
.gd-ob-price.is-none{font-family:var(--gd-font);font-weight:500;font-size:12px;color:var(--gd-warn-ink)}
.gd-ob-card__fil{display:flex;flex-direction:column;gap:1px;padding-top:8px;border-top:1px solid var(--gd-line);overflow-wrap:anywhere}
@media (max-width:640px){
  .gd-ob-doc,.gd-ob-src{padding:12px}
  .gd-ob-pane{padding:12px}
  .gd-ob-card__top{grid-template-columns:36px minmax(0,1fr)}
  .gd-ob-ava{width:36px;height:36px;font-size:13px}
  .gd-ob-price{grid-column:2}
  .gd-ob-cell{height:40px;font-size:16px;border-color:var(--gd-line)}
}
/* Мастер подключения: анализ данных «по полочкам» — готово к загрузке, нужно решить, ошибки */
.gd-ob-an{display:flex;flex-direction:column;gap:12px;min-width:0}
.gd-ob-an__head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.gd-ob-an__head .gd-st{white-space:normal}
.gd-ob-shelves{display:flex;flex-direction:column;gap:12px}
.gd-ob-shelf{display:flex;flex-direction:column;gap:10px;min-width:0;padding:14px 16px;border:1px solid var(--gd-line);border-left-width:4px;border-radius:12px;background:var(--gd-surface,#fff)}
.gd-ob-shelf--ok{border-left-color:var(--gd-success)}
.gd-ob-shelf--ask{border-left-color:var(--gd-warn)}
.gd-ob-shelf--err{border-left-color:var(--gd-error)}
.gd-ob-shelf__head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:15px;line-height:22px}
.gd-ob-shelf__n{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 7px;border-radius:13px;font-family:var(--gd-font-num);font-size:13px;font-weight:700;color:#fff;background:var(--gd-success)}
.gd-ob-shelf--ask .gd-ob-shelf__n{background:var(--gd-warn)}
.gd-ob-shelf--err .gd-ob-shelf__n{background:var(--gd-error)}
.gd-ob-big{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;line-height:20px;color:var(--gd-label)}
.gd-ob-big b{font-family:var(--gd-font-num);font-size:20px;line-height:26px;font-weight:700;color:var(--gd-ink)}
.gd-ob-issues{display:flex;flex-direction:column;gap:8px}
.gd-ob-issue{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid var(--gd-line);border-radius:10px;background:var(--gd-off)}
.gd-ob-issue__rows{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:2px;font-size:14px;line-height:20px;overflow-wrap:anywhere}
.gd-ob-errlist{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:3px;max-height:320px;overflow:auto;font-size:13px;line-height:18px;overflow-wrap:anywhere;color:var(--gd-ink)}
.gd-ob-next{font-size:13px;line-height:18px;font-weight:600;color:var(--gd-success-ink)}
.gd-ob-next.is-none{color:var(--gd-warn-ink)}
.gd-ob-card .gd-ob-next{grid-column:2}
@media (max-width:640px){.gd-ob-shelf{padding:12px}.gd-ob-big b{font-size:18px}}
/* Шапка админки: кнопка «Документация для клиник» — как кнопка оформления, но иконка видна всегда */
.gd-theme__b.gd-hdr__doc>svg{display:block}
.gd-ob-msgs>summary{flex-wrap:nowrap;align-items:flex-start}
/* Мастер подключения: сверка новых данных с базой работающей клиники */
.gd-ob-drow.is-on{border-color:var(--gd-blue);background:var(--gd-blue-soft)}
.gd-ob-drow__pick{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--gd-ink);cursor:pointer}
.gd-ob-drow__pick input{width:18px;height:18px;accent-color:var(--gd-blue)}
.gd-ob-changes{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:14px;line-height:20px}
.gd-ob-changes li{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);gap:4px 10px;align-items:baseline;overflow-wrap:anywhere}
.gd-ob-ft{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:4px 10px;align-items:baseline}
.gd-ob-listch{display:flex;flex-direction:column;gap:2px}
.gd-ob-rm{color:var(--gd-label)}
.gd-ob-rm.is-on{color:var(--gd-error);font-weight:600}
.gd-ob-drow__pick--rm{color:var(--gd-error)}
.gd-ob-from{color:var(--gd-label);text-decoration:line-through;text-decoration-color:var(--gd-label-3,#9AA1B2)}
.gd-ob-to{color:var(--gd-ink);font-weight:600}
@media (max-width:640px){.gd-ob-changes li{grid-template-columns:minmax(0,1fr)}}
