/* ЛАЙК МЕД — цвета из фирменного стиля клиники: синий #0067CE, красный #D60000, белый фон.
   Тёплая семейная подача: мягкие скругления, светло-голубые подложки, живое фото клиники. */
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 200 800; font-display: swap; src: url("/fonts/manrope-cyrillic-wght-normal.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 200 800; font-display: swap; src: url("/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+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
:root {
  --blue: #0067CE; --blue-700: #0052A5; --blue-800: #003F80; --blue-50: #EEF5FD; --blue-100: #DCEBFB;
  --red: #D60000; --red-50: #FDEEEE;
  --ink: #0E1A28; --muted: #44566B; --line: #D8E2EC; --soft: #F5F8FC; --bg: #FFFFFF;
  --ok: #0B7A3E; --ok-50: #E8F6EE; --warn: #8A5300; --warn-50: #FFF4E0; --gift: #7A2DB8; --gift-50: #F4EBFC;
  --radius: 22px; --radius-s: 14px;
  --shadow: 0 1px 2px rgba(0, 63, 128, .05), 0 10px 30px rgba(0, 63, 128, .08);
  --font: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --sky: #F2F7FE; --sky-2: #E3EFFD; --sun: #FFF7EA; --sun-2: #FCE8C8;
  --tap: 52px;
  color-scheme: light;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 90px; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 18px/1.5 var(--font); }
img { max-width: 100%; }
a { color: var(--blue); text-underline-offset: 3px; }
h1, h2, h3, h4 { line-height: 1.2; margin: 0 0 .5em; letter-spacing: -.01em; }
h1 { font-size: clamp(30px, 5vw, 44px); font-weight: 800; }
h2 { font-size: clamp(22px, 3vw, 28px); font-weight: 750; }
h3, .h3 { font-size: 20px; font-weight: 700; }
h4 { font-size: 16px; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
p { margin: 0 0 .6em; }
h1:focus, h2:focus, main:focus, .staff-content:focus { outline: none; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; border-radius: 6px; }
.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -9999px; top: 8px; background: var(--ink); color: #fff; padding: 10px 16px; border-radius: 10px; z-index: 100; }
.skip:focus { left: 12px; }
.wrap { max-width: 1180px; margin: 0 auto; padding: 0 20px; }
.pad { padding-top: 28px; padding-bottom: 40px; }
.narrow { max-width: 760px; }
.muted { color: var(--muted); } .small { font-size: 15px; } .center { text-align: center; }
.lead { font-size: 20px; color: var(--muted); }
.row { display: flex; align-items: center; } .between { justify-content: space-between; } .end { justify-content: flex-end; }
.gap { gap: 10px; } .wrap-row { flex-wrap: wrap; } .grow { flex: 1; min-width: 0; }
.stack { display: grid; gap: 14px; } .stack-s { display: grid; gap: 8px; } .mt { margin-top: 28px; }
.grid2 { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.grid3 { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.split { display: grid; gap: 24px; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: start; }
.ic { display: inline-flex; flex: none; } .ic svg { display: block; }

/* Кнопки */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: var(--tap); padding: 12px 22px; border-radius: 14px; border: 2px solid transparent; font: 600 18px/1.2 var(--font); text-decoration: none; cursor: pointer; background: var(--blue-50); color: var(--blue-800); transition: background .15s, border-color .15s, transform .05s; }
.btn:active { transform: translateY(1px); }
.btn.primary { background: var(--blue); color: #fff; }
.btn.primary:hover { background: var(--blue-700); }
.btn.ghost { background: #fff; border-color: var(--line); color: var(--blue-800); }
.btn.ghost:hover { border-color: var(--blue); }
.btn.white { background: #fff; color: var(--blue-800); }
.btn.danger { background: var(--red); color: #fff; }
.btn.danger-ghost { background: #fff; border-color: #F2C4C4; color: #B00000; }
.btn.link { background: none; border: 0; padding: 8px 4px; min-height: 44px; color: var(--blue); text-decoration: underline; }
.btn.small { min-height: 44px; padding: 8px 14px; font-size: 16px; }
.btn.big { min-height: 60px; font-size: 19px; padding: 14px 26px; }
.btn.wide { width: 100%; }
.btn[disabled] { opacity: .6; cursor: default; }
.icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 12px; border: 2px solid var(--line); background: #fff; color: var(--ink); cursor: pointer; }
.back { margin-bottom: 8px; text-decoration: none; padding-left: 0; }
.spinner { width: 20px; height: 20px; border: 3px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: spin .8s linear infinite; display: inline-block; }
@keyframes spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { * { animation-duration: .01ms !important; transition: none !important; } }
.loading { display: flex; align-items: center; gap: 12px; padding: 40px 0; color: var(--muted); justify-content: center; }

/* Формы */
.field { display: grid; gap: 6px; margin: 0 0 16px; border: 0; padding: 0; min-width: 0; }
.field label, .field legend { font-weight: 650; font-size: 17px; padding: 0; }
.hint { font-size: 15px; color: var(--muted); }
input, select, textarea { font: 18px/1.4 var(--font); color: var(--ink); background: #fff; border: 2px solid var(--line); border-radius: 12px; padding: 12px 14px; min-height: var(--tap); width: 100%; }
textarea { resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--blue); outline: 3px solid var(--blue-100); outline-offset: 0; }
input[type=checkbox], input[type=radio] { width: 24px; height: 24px; min-height: 0; accent-color: var(--blue); flex: none; margin: 0; }
.check { display: flex; gap: 12px; align-items: flex-start; margin: 10px 0 16px; cursor: pointer; font-size: 17px; }
.small-check { margin: 0; align-items: center; }
.checks { display: grid; gap: 4px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.checks .check { margin: 4px 0; }
.form-grid { display: grid; gap: 0 16px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.span2 { grid-column: 1 / -1; }
.code-input { font-family: ui-monospace, Menlo, Consolas, monospace; letter-spacing: .08em; text-transform: uppercase; max-width: 260px; }
.wide-code { max-width: 340px; flex: 1; }
.search-box { display: flex; align-items: center; gap: 10px; border: 2px solid var(--line); border-radius: 16px; padding: 0 14px; background: #fff; margin-bottom: 14px; }
.search-box:focus-within { border-color: var(--blue); outline: 3px solid var(--blue-100); }
.search-box .ic { color: var(--muted); }
.search-box input { border: 0; outline: 0; padding-left: 0; }
.search-input { font-size: 19px; }

/* Сообщения */
.alert { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 14px; margin: 0 0 16px; font-size: 17px; }
.alert.error { background: var(--red-50); color: #8F0000; border: 1px solid #F3C7C7; }
.alert.info { background: var(--blue-50); color: var(--blue-800); }
.alert.warn { background: var(--warn-50); color: var(--warn); }
.alert.demo { background: #FFF8D6; color: #5C4A00; border: 1px dashed #D9B800; }
.badge { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; font-size: 14px; font-weight: 650; background: var(--soft); color: var(--muted); white-space: nowrap; }
.badge.ok { background: var(--ok-50); color: var(--ok); } .badge.warn { background: var(--warn-50); color: var(--warn); }
.badge.info { background: var(--blue-50); color: var(--blue-800); } .badge.muted { background: #EEF1F5; color: #4A5A6C; }
.badge.gift { background: var(--gift-50); color: var(--gift); } .badge.demo { background: #FFF2B3; color: #5C4A00; }
.toast { position: fixed; left: 50%; bottom: 96px; transform: translate(-50%, 30px); opacity: 0; pointer-events: none; display: flex; gap: 10px; align-items: center; background: var(--ink); color: #fff; padding: 14px 20px; border-radius: 14px; box-shadow: var(--shadow); z-index: 60; transition: .2s; max-width: calc(100vw - 32px); font-size: 17px; }
.toast.show { opacity: 1; transform: translate(-50%, 0); }
.toast.err { background: #8F0000; }
.empty { text-align: center; padding: 36px 16px; color: var(--muted); display: grid; justify-items: center; gap: 10px; }

/* Карточки */
.card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; box-shadow: var(--shadow); }
.card.soft { background: var(--soft); box-shadow: none; border-color: transparent; }
.warn-card { border-color: #F0D08A; background: var(--warn-50); box-shadow: none; }
.card h3 .ic { vertical-align: -4px; margin-right: 6px; color: var(--blue); }

/* Шапка */
.site-head { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 30; background: rgba(255, 255, 255, .96); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); }
.head-row { display: flex; align-items: center; gap: 24px; min-height: 76px; }
.logo img { display: block; height: 56px; width: auto; }
.top-nav { display: flex; gap: 4px; flex: 1; }
.top-nav a { padding: 10px 12px; border-radius: 10px; text-decoration: none; color: var(--ink); font-weight: 600; font-size: 17px; }
.top-nav a:hover, .top-nav a[aria-current=page] { background: var(--blue-50); color: var(--blue-800); }
.head-actions { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.head-phone { display: inline-flex; gap: 6px; align-items: center; font-weight: 700; text-decoration: none; color: var(--ink); white-space: nowrap; }
.demo-bar { background: #FFF2B3; color: #4A3B00; font-size: 15px; border-bottom: 1px solid #E8D27A; }
.demo-bar .wrap { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; padding-top: 6px; padding-bottom: 6px; }
.demo-bar a, .demo-bar button { color: #4A3B00; font: inherit; font-weight: 700; background: none; border: 0; padding: 6px 2px; cursor: pointer; text-decoration: underline; min-height: 36px; }

/* Главная */
.hero { background: linear-gradient(180deg, var(--blue-50), #fff 85%); }
.hero-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: center; padding-top: 44px; padding-bottom: 36px; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; color: var(--blue-800); font-size: 16px; text-transform: uppercase; letter-spacing: .06em; }
.cross { width: 16px; height: 16px; background: linear-gradient(var(--red), var(--red)) center/16px 5px no-repeat, linear-gradient(var(--red), var(--red)) center/5px 16px no-repeat; }
.hero h1 .accent { color: var(--blue); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.hero-card { background: #fff; border-radius: 22px; box-shadow: var(--shadow); padding: 22px; border: 1px solid var(--line); }
.hc-title { display: flex; gap: 8px; align-items: center; font-weight: 750; font-size: 20px; margin-bottom: 8px; color: var(--blue-800); }
.hc-row { display: flex; justify-content: space-between; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.hc-row > div { display: grid; } .hc-row span { color: var(--muted); font-size: 16px; }
.hc-hours { font-weight: 800; color: var(--ink) !important; font-size: 20px !important; white-space: nowrap; }
.hc-foot { display: flex; gap: 8px; align-items: center; margin-top: 14px; color: var(--ok); font-weight: 650; font-size: 16px; }
.tiles-sec { margin-top: -6px; }
.tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.tile { display: grid; gap: 4px; padding: 20px; border-radius: 20px; text-decoration: none; color: var(--ink); background: #fff; border: 2px solid var(--line); min-height: 150px; align-content: start; transition: border-color .15s, box-shadow .15s; }
.tile:hover { border-color: var(--blue); box-shadow: var(--shadow); }
.tile-ic { width: 56px; height: 56px; border-radius: 16px; background: var(--blue-50); color: var(--blue); display: grid; place-items: center; margin-bottom: 8px; }
.tile-t { font-size: 21px; font-weight: 750; } .tile-s { color: var(--muted); font-size: 16px; }
.tile.primary { background: var(--blue); border-color: var(--blue); color: #fff; }
.tile.primary .tile-ic { background: rgba(255, 255, 255, .18); color: #fff; } .tile.primary .tile-s { color: #DCEBFB; }
.sec { margin-top: 48px; }
.sec-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.more { display: inline-flex; gap: 4px; align-items: center; font-weight: 650; text-decoration: none; }
.dirs { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.dir { display: grid; gap: 4px; padding: 16px; border-radius: 16px; background: var(--soft); text-decoration: none; color: var(--ink); font-weight: 650; }
.dir .ic { color: var(--blue); } .dir small { color: var(--muted); font-weight: 500; font-size: 15px; }
.dir:hover { background: var(--blue-50); }
.branch p { display: flex; gap: 10px; align-items: flex-start; }
.branch p .ic { color: var(--blue); margin-top: 3px; }
.branch h3 { display: flex; gap: 8px; align-items: center; }
.review p { font-size: 17px; }
.stars { display: inline-flex; gap: 2px; } .stars .on { color: #E7A300; } .stars .on svg { fill: #F5B800; } .stars .off { color: #C9D3DE; }
.promo { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; padding: 28px; border-radius: 22px; color: #fff; background: linear-gradient(120deg, var(--blue), var(--blue-800)); }
.promo p { color: #DCEBFB; margin: 0; max-width: 560px; }

/* Каталог */
.filters { display: grid; gap: 12px; margin-bottom: 18px; }
.chips { display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 6px; scrollbar-width: thin; }
.chip { flex: none; min-height: 44px; padding: 8px 16px; border-radius: 999px; border: 2px solid var(--line); background: #fff; font: 600 16px var(--font); color: var(--ink); cursor: pointer; }
.chip.on { background: var(--blue); border-color: var(--blue); color: #fff; }
.seg { display: inline-flex; gap: 6px; }
.filters select { width: auto; min-width: 200px; }
.count { margin: 6px 0 12px; }
.svc { display: flex; flex-direction: column; gap: 8px; }
.svc-top { display: flex; justify-content: space-between; gap: 8px; }
.svc-dir { display: inline-flex; gap: 6px; align-items: center; color: var(--blue-800); font-weight: 650; font-size: 15px; }
.svc h3 { margin: 0; }
.svc-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; color: var(--muted); font-size: 15px; }
.svc-meta span { display: inline-flex; gap: 5px; align-items: center; }
.svc-foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: auto; padding-top: 10px; flex-wrap: wrap; }
.price { font-size: 24px; font-weight: 800; }

/* Запись */
.stepper { list-style: none; padding: 0; margin: 4px 0 20px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.stepper li { display: flex; flex-direction: column; gap: 6px; font-size: 15px; color: var(--muted); }
.stepper li::before { content: ""; height: 6px; border-radius: 6px; background: var(--line); }
.stepper li.done::before, .stepper li.on::before { background: var(--blue); }
.stepper li.on { color: var(--ink); font-weight: 700; }
.stepper .num { display: none; }
.summary { display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 14px 16px; background: var(--soft); border-radius: 14px; margin-bottom: 18px; font-size: 16px; }
.summary > div { display: inline-flex; gap: 6px; align-items: center; }
.summary > div:first-child { display: grid; gap: 0; flex-basis: 100%; }
.summary strong { font-size: 18px; } .summary .ic { color: var(--blue); }
.pick-list { display: grid; gap: 10px; }
.pick-group h3 { margin: 18px 0 8px; font-size: 17px; color: var(--muted); }
.pick-group { display: grid; gap: 8px; }
.pick { display: flex; align-items: center; gap: 14px; width: 100%; text-align: left; min-height: 64px; padding: 12px 16px; border: 2px solid var(--line); border-radius: 16px; background: #fff; color: var(--ink); font: inherit; cursor: pointer; }
.pick:hover { border-color: var(--blue); }
.pick.on { border-color: var(--blue); background: var(--blue-50); }
.pick.big { min-height: 80px; } .pick > .ic:first-child { color: var(--blue); }
.pick-main { display: grid; flex: 1; min-width: 0; } .pick-main small { color: var(--muted); font-size: 15px; }
.pick-price { font-weight: 750; white-space: nowrap; }
.avatar { width: 44px; height: 44px; border-radius: 50%; background: var(--blue-50); color: var(--blue-800); display: grid; place-items: center; font-weight: 800; flex: none; }
.days { display: flex; gap: 8px; overflow-x: auto; padding: 4px 2px 10px; scroll-snap-type: x proximity; }
.day { flex: none; scroll-snap-align: center; width: 72px; min-height: 84px; display: grid; justify-items: center; align-content: center; gap: 0; border: 2px solid var(--line); border-radius: 16px; background: #fff; font: inherit; color: var(--ink); cursor: pointer; }
.day strong { font-size: 24px; } .day small { font-size: 14px; color: var(--muted); }
.day.on { background: var(--blue); border-color: var(--blue); color: #fff; } .day.on small { color: #DCEBFB; }
.day.none { opacity: .45; cursor: not-allowed; }
.date-title { margin: 14px 0 6px; font-size: 20px; }
.time-group { margin: 10px 0 14px; }
.times { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 8px; }
.time { min-height: 56px; border-radius: 12px; border: 2px solid var(--blue-100); background: var(--blue-50); color: var(--blue-800); font: 700 19px var(--font); cursor: pointer; display: grid; place-items: center; padding: 6px; }
.time small { font-size: 13px; font-weight: 500; color: var(--muted); }
.time:hover { background: var(--blue); color: #fff; border-color: var(--blue); } .time:hover small { color: #fff; }
.radio-cards { display: grid; gap: 8px; }
.radio-card { display: flex; gap: 12px; align-items: center; padding: 14px 16px; border: 2px solid var(--line); border-radius: 14px; cursor: pointer; }
.radio-card.on { border-color: var(--blue); background: var(--blue-50); }
.radio-card span { display: grid; } .radio-card small { color: var(--muted); }
.bill { margin: 18px 0; display: grid; gap: 6px; }
.bill > div { display: flex; justify-content: space-between; gap: 10px; font-size: 18px; }
.bill dt { color: var(--muted); } .bill dd { margin: 0; font-weight: 650; }
.bill .total { border-top: 2px solid var(--line); padding-top: 10px; font-size: 22px; }
.bill .total dt { color: var(--ink); font-weight: 700; } .bill .total dd { font-weight: 850; }
.done { text-align: center; display: grid; justify-items: center; gap: 12px; }
.done-ic { width: 76px; height: 76px; border-radius: 50%; background: var(--ok-50); color: var(--ok); display: grid; place-items: center; }
.ticket { text-align: left; width: 100%; max-width: 520px; }
.ticket p { display: flex; gap: 6px; align-items: center; }
.big-time { font-size: 24px; font-weight: 800; color: var(--blue-800); }
.cert-card { margin-top: 12px; border-radius: 18px; padding: 18px; color: #fff; background: linear-gradient(130deg, var(--blue) 0%, var(--blue-800) 70%); display: grid; gap: 8px; }
.cert-card.off { background: linear-gradient(130deg, #7A8796, #4A5A6C); }
.cert-top { display: flex; gap: 10px; align-items: center; font-weight: 650; flex-wrap: wrap; }
.cert-top code { margin-left: auto; background: rgba(255, 255, 255, .16); padding: 4px 10px; border-radius: 8px; letter-spacing: .06em; }
.cert-sum small { display: block; color: #DCEBFB; } .cert-sum strong { font-size: 32px; }
.cert-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 15px; color: #E7F1FD; }
.steps-list { padding-left: 22px; } .steps-list li { margin-bottom: 6px; }
.star-input { display: flex; gap: 4px; }
.star-opt { cursor: pointer; color: #C9D3DE; padding: 4px; border-radius: 10px; }
.star-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.star-opt.on { color: #E7A300; } .star-opt.on svg { fill: #F5B800; }
.star-opt:focus-within { outline: 3px solid var(--blue); }

/* Кабинет */
.login-card { max-width: 520px; }
.code-input:not(.wide-code) { font-size: 24px; }
.cab-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.tabs { display: flex; gap: 6px; overflow-x: auto; border-bottom: 2px solid var(--line); margin: 10px 0 20px; padding-bottom: 0; }
.tab { flex: none; display: inline-flex; gap: 8px; align-items: center; padding: 12px 14px; text-decoration: none; color: var(--muted); font-weight: 650; border-bottom: 3px solid transparent; margin-bottom: -2px; min-height: 52px; }
.tab.on { color: var(--blue-800); border-color: var(--blue); }
.count-pill { background: var(--blue); color: #fff; border-radius: 999px; padding: 0 8px; font-size: 13px; }
.appt { display: flex; gap: 16px; }
.appt-date { flex: none; width: 76px; border-radius: 14px; background: var(--blue-50); display: grid; justify-items: center; align-content: center; padding: 10px 0; color: var(--blue-800); }
.appt-date strong { font-size: 28px; line-height: 1; } .appt-date small { font-size: 14px; } .appt-date span { font-weight: 800; margin-top: 4px; }
.appt h3 { margin: 0; }
.appt p { margin: 2px 0; }
.result { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.res-ic { width: 52px; height: 52px; border-radius: 14px; background: var(--soft); color: var(--muted); display: grid; place-items: center; }
.result.ready .res-ic { background: var(--ok-50); color: var(--ok); }
.result h3 { margin: 0; }
.res-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.pdf { width: 100%; height: min(70vh, 720px); border: 1px solid var(--line); border-radius: 12px; margin-bottom: 12px; background: var(--soft); }

/* Окна */
.dlg { border: 0; border-radius: 22px; padding: 0; width: min(560px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); box-shadow: 0 20px 60px rgba(0, 0, 0, .25); color: var(--ink); }
.dlg.wide { width: min(860px, calc(100vw - 24px)); }
.dlg::backdrop { background: rgba(14, 26, 40, .45); }
.dlg-head { position: sticky; top: 0; background: #fff; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--line); z-index: 1; }
.dlg-head h2 { margin: 0; font-size: 22px; }
.dlg-body { padding: 20px; display: grid; gap: 12px; }
.kv { display: grid; gap: 8px; margin: 0; }
.kv > div { display: grid; grid-template-columns: 170px 1fr; gap: 12px; }
.kv dt { color: var(--muted); } .kv dd { margin: 0; }
details summary { cursor: pointer; font-weight: 650; min-height: 44px; display: flex; align-items: center; }
.hist { margin: 6px 0 0; padding-left: 20px; font-size: 15px; color: var(--muted); }
.big-code { font: 800 30px ui-monospace, Menlo, monospace; letter-spacing: .08em; color: var(--blue-800); }

/* Подвал и нижнее меню */
.site-foot { margin-top: 56px; background: var(--soft); border-top: 1px solid var(--line); padding: 32px 0 120px; font-size: 16px; color: var(--muted); }
.foot-grid { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.foot-grid strong { color: var(--ink); }
.foot-legal { grid-column: 1 / -1; border-top: 1px solid var(--line); padding-top: 14px; font-size: 14px; }
.demo-line { color: #6B5600; font-weight: 650; }
.bottom-nav { display: none; }

/* Раздел сотрудников */
.staff { display: grid; grid-template-columns: 270px 1fr; min-height: 100vh; background: var(--soft); }
.side { position: sticky; top: 0; height: 100vh; overflow-y: auto; background: #fff; border-right: 1px solid var(--line); padding: 16px 12px; display: flex; flex-direction: column; gap: 14px; }
.side-logo { display: flex; gap: 10px; align-items: center; padding: 0 6px; }
.side-logo img { height: 46px; width: auto; } .side-logo span { font-weight: 750; color: var(--blue-800); font-size: 16px; }
.side-nav, .sheet-nav { display: grid; gap: 2px; }
.side-nav a, .sheet-nav a { display: flex; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 12px; color: var(--ink); text-decoration: none; font-weight: 600; font-size: 16px; min-height: 46px; }
.side-nav a .ic, .sheet-nav a .ic { color: var(--muted); }
.side-nav a:hover, .sheet-nav a:hover { background: var(--soft); }
.side-nav a.on, .sheet-nav a.on { background: var(--blue-50); color: var(--blue-800); } .side-nav a.on .ic, .sheet-nav a.on .ic { color: var(--blue); }
.sheet-nav a { font-size: 18px; min-height: 54px; }
.side-user { margin-top: auto; display: grid; gap: 4px; padding: 12px; border-radius: 14px; background: var(--soft); font-size: 15px; }
.side-user small { color: var(--muted); } .side-user .btn { margin-top: 6px; }
.staff-main { min-width: 0; }
.staff-top { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; display: flex; align-items: center; gap: 14px; padding: 14px 24px; background: rgba(255, 255, 255, .96); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); }
.staff-top h1 { font-size: 24px; margin: 0; flex: 1; }
.branch-sel { width: auto; min-width: 170px; }
.menu-btn { display: none; }
.staff-content { padding: 20px 24px 60px; display: grid; gap: 14px; align-content: start; }
.toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.toolbar .search-box { margin: 0; }
.date-nav { display: flex; gap: 6px; align-items: center; }
.date-nav input { width: auto; }
.stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.stat { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 12px 16px; display: grid; }
.stat strong { font-size: 28px; } .stat span { color: var(--muted); font-size: 15px; }
.board { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; align-items: start; }
.col { background: #fff; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.col header { padding: 12px 14px; background: var(--blue-50); display: grid; }
.col header small { color: var(--muted); font-size: 14px; }
.pad-s { padding: 12px 14px; margin: 0; }
.appt-row { display: grid; grid-template-columns: 58px 1fr; gap: 4px 10px; width: 100%; text-align: left; background: #fff; border: 0; border-top: 1px solid var(--line); padding: 10px 14px; font: inherit; color: var(--ink); cursor: pointer; }
.appt-row:hover { background: var(--soft); }
.ar-time { font-weight: 800; font-size: 18px; } .ar-main { display: grid; min-width: 0; } .ar-main small { color: var(--muted); font-size: 15px; }
.ar-tags { grid-column: 2; display: flex; gap: 6px; flex-wrap: wrap; }
.appt-row.cancelled { opacity: .55; } .appt-row.cancelled .ar-main strong { text-decoration: line-through; }
.appt-row.completed .ar-time { color: var(--ok); }
.table-list { display: grid; gap: 0; background: #fff; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.tl-row { display: grid; grid-template-columns: minmax(180px, 2fr) repeat(3, minmax(100px, 1fr)) auto; gap: 6px 14px; align-items: center; padding: 12px 16px; border: 0; border-bottom: 1px solid var(--line); background: #fff; text-align: left; font: inherit; color: var(--ink); cursor: pointer; font-size: 16px; }
.tl-row:last-child { border-bottom: 0; }
.tl-row:hover:not(.static) { background: var(--soft); }
.tl-row.static { cursor: default; }
.tl-row.log { grid-template-columns: 180px 1.2fr 1fr 1.6fr; }
.mini-row { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 16px; }
.login-page { min-height: 100vh; display: grid; place-items: center; padding: 20px; background: linear-gradient(180deg, var(--blue-50), #fff); }
.login-logo { display: block; margin: 0 auto 10px; height: 90px; width: auto; }
.login-page h1 { font-size: 28px; text-align: center; }
.demo-accounts { margin-top: 20px; display: grid; gap: 8px; }
.demo-accounts h2 { font-size: 18px; margin: 0; }
.big-stars { color: #E7A300; font-size: 22px; letter-spacing: 2px; }

/* Телефон */
@media (max-width: 960px) {
  .top-nav { display: none; }
  .hero-grid { grid-template-columns: 1fr; gap: 20px; padding-top: 24px; }
  .tiles { grid-template-columns: 1fr 1fr; }
  .split { grid-template-columns: 1fr; }
  .staff { grid-template-columns: 1fr; }
  .side { display: none; }
  .menu-btn { display: inline-flex; }
  .staff-top { padding: 10px 16px; flex-wrap: wrap; }
  .staff-top h1 { font-size: 20px; }
  .staff-content { padding: 16px; }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tl-row, .tl-row.log { grid-template-columns: 1fr; gap: 2px; }
}
@media (max-width: 720px) {
  body { font-size: 18px; }
  .wrap { padding: 0 16px; }
  .head-row { min-height: 64px; gap: 10px; }
  .logo img { height: 46px; }
  .head-phone .hp-t { display: none; }
  .head-phone { width: 48px; height: 48px; justify-content: center; border-radius: 12px; border: 2px solid var(--line); }
  .hero-actions .btn { width: 100%; }
  .tile { min-height: 132px; padding: 16px; }
  .tile-t { font-size: 19px; }
  .dirs { grid-template-columns: 1fr 1fr; }
  .dir { padding: 14px; font-size: 16px; }
  .bottom-nav { display: grid; grid-template-columns: repeat(5, 1fr); position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: #fff; border-top: 1px solid var(--line); padding: 4px 4px calc(4px + env(safe-area-inset-bottom)); box-shadow: 0 -4px 20px rgba(14, 26, 40, .06); }
  .bottom-nav a { display: grid; justify-items: center; gap: 2px; padding: 6px 0; min-height: 58px; text-decoration: none; color: var(--muted); font-size: 13px; font-weight: 650; border-radius: 12px; }
  .bottom-nav a.on { color: var(--blue); background: var(--blue-50); }
  .stepper li { font-size: 13px; }
  .kv > div { grid-template-columns: 1fr; gap: 0; }
  .filters select { width: 100%; }
  .seg { flex-wrap: wrap; }
  .appt { flex-direction: column; } .appt-date { width: auto; grid-auto-flow: column; justify-content: start; gap: 8px; padding: 8px 12px; align-items: baseline; }
  .appt-date span { margin: 0; }
  .cab-head h1 { font-size: 28px; }
  .dlg { width: calc(100vw - 16px); border-radius: 18px; }
  .dlg-body { padding: 16px; }
  .toast { bottom: 90px; }
  .date-nav { width: 100%; } .date-nav input { flex: 1; }
  .toolbar > .btn { width: 100%; }
}
.pdf-pages { display: grid; gap: 10px; background: var(--soft); border: 1px solid var(--line); border-radius: 12px; padding: 10px; max-height: min(70vh, 760px); overflow-y: auto; }
.pdf-page { width: 100%; height: auto; background: #fff; box-shadow: var(--shadow); border-radius: 4px; }
@media (max-width: 720px) {
  .tabs { flex-wrap: wrap; border-bottom: 0; gap: 8px; }
  .tab { border: 2px solid var(--line); border-radius: 999px; margin: 0; min-height: 46px; padding: 8px 14px; }
  .tab.on { background: var(--blue-50); }
}
.ticket p.pay-line { display: block; }
@media (max-width: 960px) {
  .staff { grid-template-columns: minmax(0, 1fr); }
  .board { grid-template-columns: minmax(0, 1fr); }
  .date-nav { flex-wrap: wrap; }
  .date-nav input { flex: 1; min-width: 0; }
  .staff-top .branch-sel { flex: 1; }
}

/* ── Тёплый дизайн 2.0 ── */
h1 { font-weight: 800; letter-spacing: -.02em; }
h2 { font-weight: 800; letter-spacing: -.015em; }
.btn { border-radius: 16px; font-weight: 700; }
.btn.primary { box-shadow: 0 6px 16px rgba(0, 103, 206, .25); }
.card { border-color: #E4ECF5; }
.hero { background: radial-gradient(1200px 500px at 85% -10%, var(--sky-2), transparent 60%), linear-gradient(180deg, var(--sky), #fff 90%); }
.hero-grid { grid-template-columns: 1.05fr 1fr; padding-top: 48px; padding-bottom: 56px; }
.hero h1 { font-size: clamp(34px, 5.2vw, 54px); line-height: 1.08; }
.hero-text .lead { max-width: 34em; }
.trust { list-style: none; padding: 0; margin: 22px 0 0; display: flex; flex-wrap: wrap; gap: 8px 10px; }
.trust li { display: inline-flex; gap: 8px; align-items: center; background: #fff; border: 1px solid #E4ECF5; border-radius: 999px; padding: 8px 14px; font-size: 16px; font-weight: 650; color: var(--blue-800); }
.trust .ic { color: var(--blue); }
.hero-media { position: relative; }
.hero-photo { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 30%; border-radius: 32px; box-shadow: 0 24px 60px rgba(0, 63, 128, .18); }
.hero-media .hero-card { position: absolute; left: -28px; bottom: -28px; width: min(300px, 80%); padding: 16px 18px; border-radius: 22px; }
.hero-media .hc-row { padding: 8px 0; align-items: baseline; }
.hero-media .hc-row strong { font-size: 17px; }
.hero-media .hc-hours { font-size: 18px !important; }
.hc-title { font-size: 17px; }
.tiles-sec { margin-top: 12px; position: relative; z-index: 2; }
.tile { border-radius: 24px; border-color: #E4ECF5; box-shadow: var(--shadow); }
.tile-ic { border-radius: 18px; }
.mission { display: grid; grid-template-columns: auto 1fr; gap: 24px; align-items: start; padding: 32px; border-radius: 28px; background: linear-gradient(135deg, var(--sky), var(--sky-2)); }
.mission h2 { font-size: clamp(26px, 3.4vw, 36px); color: var(--blue-800); margin-bottom: 10px; }
.mission-text { font-size: 20px; line-height: 1.6; max-width: 46em; color: var(--ink); margin: 0; }
.mission-mark { width: 72px; height: 72px; border-radius: 22px; background: #fff; display: grid; place-items: center; box-shadow: var(--shadow); }
.big-cross { width: 30px; height: 30px; background: linear-gradient(var(--red), var(--red)) center/30px 10px no-repeat, linear-gradient(var(--red), var(--red)) center/10px 30px no-repeat; }
.cover { width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: var(--sky); }
.cover svg { width: 100%; height: 100%; display: block; }
.dirs { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.dir { padding: 0; overflow: hidden; border-radius: 22px; background: #fff; border: 1px solid #E4ECF5; box-shadow: var(--shadow); gap: 0; transition: transform .15s, box-shadow .15s; }
.dir:hover { transform: translateY(-2px); background: #fff; }
.dir-body { display: grid; gap: 2px; padding: 14px 16px 16px; }
.dir-body strong { font-size: 18px; }
.kids { display: grid; grid-template-columns: minmax(0, 340px) 1fr; gap: 28px; align-items: center; padding: 28px; border-radius: 28px; background: linear-gradient(135deg, var(--sun), #fff); border: 1px solid var(--sun-2); }
.kids-art .cover { border-radius: 22px; }
.kids p { font-size: 19px; color: var(--muted); max-width: 36em; }
.bonus-banner { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; padding: 24px 28px; border-radius: 28px; background: #fff; border: 2px dashed #F5B800; }
.bonus-banner h2 { margin-bottom: 4px; } .bonus-banner p { margin: 0; color: var(--muted); }
.bonus-ic { width: 64px; height: 64px; border-radius: 20px; background: #FFF4CC; color: #B07A00; display: grid; place-items: center; flex: none; }
.bonus-ic svg { fill: #F5B800; }
.bonus-note { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 18px; background: #FFF8DB; border: 1px solid #F2DC8C; color: #5A4500; margin-bottom: 14px; }
.bonus-note > div { display: grid; gap: 6px; } .bonus-note .btn { justify-self: start; margin-top: 4px; }
.svc { padding: 0; overflow: hidden; gap: 0; }
.svc > :not(.svc-media) { margin-left: 20px; margin-right: 20px; }
.svc-media { margin-bottom: 14px; aspect-ratio: 16 / 9; overflow: hidden; background: var(--sky); }
.svc-media .cover, .svc-media .photo { width: 100%; height: 100%; object-fit: cover; display: block; }
.svc .svc-foot { margin-bottom: 18px; } .svc h3 { margin: 6px 0 2px; } .svc p { margin-bottom: 6px; }
.photo.missing { width: 100%; height: 100%; background: var(--sky); }
.photo-edit { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.photo-thumb { width: 180px; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 14px; background: var(--sky); }
.photo-thumb.empty { display: grid; place-items: center; color: var(--muted); font-size: 15px; border: 2px dashed var(--line); }
.promo { border-radius: 28px; background: linear-gradient(120deg, var(--blue), var(--blue-800)); position: relative; overflow: hidden; }
.site-foot { background: var(--sky); }
@media (max-width: 960px) {
  .hero-grid { grid-template-columns: 1fr; gap: 36px; padding-bottom: 48px; }
  .hero-media .hero-card { left: 12px; bottom: -24px; }
  .kids { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .hero h1 { font-size: 34px; }
  .hero-photo { border-radius: 24px; aspect-ratio: 16 / 11; }
  .hero-media .hero-card { position: relative; left: auto; bottom: auto; width: auto; margin: -36px 12px 0; }
  .trust li { font-size: 15px; padding: 7px 12px; }
  .mission { grid-template-columns: 1fr; padding: 22px; gap: 14px; }
  .mission-mark { width: 56px; height: 56px; border-radius: 18px; }
  .mission-text { font-size: 18px; }
  .dirs { grid-template-columns: 1fr 1fr; gap: 12px; }
  .dir-body { padding: 10px 12px 12px; } .dir-body strong { font-size: 16px; }
  .kids { padding: 20px; }
  .bonus-banner { padding: 20px; }
}

/* ── Касса, обращения, деньги ── */
.between-row { justify-content: space-between; }
.between-row > :last-child { text-align: right; white-space: nowrap; }
.warn-text { color: var(--warn); }
.chips.wrap { flex-wrap: wrap; overflow: visible; }
.stack-s { display: grid; gap: 8px; }
.wrap-row { flex-wrap: wrap; }
.bars { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(10px, 1fr); gap: 4px; align-items: end; height: 130px; margin: 12px 0 4px; padding: 0 2px; }
.bar { display: grid; grid-template-rows: 1fr auto; height: 100%; align-items: end; text-align: center; }
.bar span { display: block; background: var(--blue); border-radius: 6px 6px 2px 2px; min-height: 2px; }
.bar small { font-size: 11px; color: var(--muted); margin-top: 4px; }
.card h3 { margin-top: 0; }

/* ── Врачи, «скоро», документы ── */
.doc { display: flex; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line); }
.doc:last-of-type { border-bottom: 0; }
.doc-main { display: grid; min-width: 0; }
.doc-main small { color: var(--muted); font-size: 15px; }
.doc-main .doc-dates { color: var(--blue-800); font-weight: 650; }
.walkin h3, .visiting h3, .doc-item h3, .branch h3 { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.walkin { border-top: 4px solid var(--ok); }
.visiting { background: linear-gradient(180deg, var(--sky), #fff); }
.soon { display: grid; grid-template-columns: 1.1fr 1fr; gap: 20px; align-items: center; padding: 28px; border-radius: 28px; background: var(--sun); border: 1px solid var(--sun-2); }
.soon h2 { margin: 4px 0 8px; }
.soon .eyebrow { display: inline-flex; gap: 6px; align-items: center; color: #8A5300; }
.soon-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.soon-list li { display: flex; gap: 8px; align-items: center; background: #fff; border-radius: 16px; padding: 12px 14px; font-weight: 700; }
.soon-list .ic { color: #B07A00; }
.soon-card { border-style: dashed; }
.pharm { display: flex; gap: 8px; align-items: center; color: #00635E; font-weight: 650; }
.pharm-dot { width: 12px; height: 12px; border-radius: 4px; background: #00847D; flex: none; }
.foot-links a { color: inherit; }
.narrow-wide { max-width: 980px; }
.doc-item { display: grid; gap: 8px; align-content: start; }
.doc-item .badge, .doc-item .btn { justify-self: start; }
@media (max-width: 720px) {
  .soon { grid-template-columns: 1fr; padding: 20px; }
  .soon-list { grid-template-columns: 1fr; }
}
.install-card { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; padding: 16px 18px; margin: 0 0 18px; border-radius: 20px; background: var(--sky); border: 1px solid var(--sky-2); }
.install-ic { width: 52px; height: 52px; border-radius: 16px; background: #fff; color: var(--blue); display: grid; place-items: center; flex: none; }
.install-card p { margin: 2px 0 0; }
.toolbar > .chips { flex: 1 1 100%; min-width: 0; max-width: 100%; }
.staff-content { min-width: 0; }
.staff-main { min-width: 0; } .staff-content > * { min-width: 0; max-width: 100%; }
/* исправление: на телефоне текст баннера «Скидка за отзыв» сжимался в узкую колонку */
.bonus-banner .grow { flex: 1 1 240px; }

/* ── Рабочее место сотрудника: главное меню роли ── */
.staff-bottom { display: none; }
.side-more { margin: 6px 12px 0; }
.side-more summary { cursor: pointer; padding: 10px 12px; color: var(--muted); font-weight: 700; list-style: none; }
.side-more summary::-webkit-details-marker { display: none; }
.side-more summary::before { content: '▸ '; } .side-more[open] summary::before { content: '▾ '; }
.side-more .side-nav { padding: 0; }
@media (max-width: 960px) {
  .staff-bottom { display: grid; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: #fff; border-top: 1px solid var(--line); padding-bottom: env(safe-area-inset-bottom, 0); box-shadow: 0 -6px 20px rgba(0, 63, 128, .06); }
  .staff-bottom a, .staff-bottom button { display: grid; justify-items: center; gap: 2px; padding: 8px 2px; min-height: 62px; text-decoration: none; color: var(--muted); font: 650 13px var(--font); background: none; border: 0; cursor: pointer; }
  .staff-bottom .on { color: var(--blue); background: var(--blue-50); }
  .staff-content { padding-bottom: 96px; }
  .staff-top h1 { font-size: 22px; }
}

/* ── «Мой день» ── */
.hello { display: grid; gap: 2px; }
.hello h2 { margin: 0; font-size: clamp(24px, 4vw, 32px); }
.hello p { margin: 0; color: var(--muted); }
.big-actions { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.big-act { display: grid; gap: 8px; align-content: start; min-height: 104px; padding: 16px; border-radius: 20px; border: 1px solid #E4ECF5; background: #fff; box-shadow: var(--shadow); text-align: left; font: 700 18px/1.25 var(--font); color: var(--ink); cursor: pointer; text-decoration: none; }
.big-act .ic { color: var(--blue); }
.big-act small { font-weight: 600; font-size: 14px; color: var(--muted); }
.big-act.primary { background: var(--blue); color: #fff; border-color: var(--blue); }
.big-act.primary .ic, .big-act.primary small { color: #fff; }
.today-card { display: grid; gap: 4px; }
.today-card h3 { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin: 0 0 6px; }
.patient-card { display: grid; gap: 10px; padding: 14px 16px; border-radius: 18px; background: #fff; border: 1px solid var(--line); }
.patient-card.arrived { border-color: #F0C36D; background: #FFFBF2; }
.patient-card.completed { opacity: .7; }
.pc-head { display: grid; grid-template-columns: 64px 1fr auto; gap: 10px; align-items: center; }
.pc-time { font-size: 22px; font-weight: 800; }
.pc-main { display: grid; min-width: 0; } .pc-main small { color: var(--muted); font-size: 15px; }
.pc-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.pc-actions .btn { flex: 1 1 140px; }
.branch-today { display: grid; gap: 8px; }
.attention li { margin: 6px 0; }
@media (max-width: 720px) { .head-book { display: none; } }

/* ── Администратор: заявки, кабинеты, «пациент пришёл» ── */
.big-actions.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lead-grid, .room-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.lead-card { display: grid; gap: 6px; padding: 14px; border-radius: 18px; border: 1px solid var(--line); background: #fff; }
.lead-card p { margin: 0; }
.lc-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.room-card { display: grid; gap: 6px; padding: 14px; border-radius: 18px; border: 2px solid var(--line); background: #fff; }
.room-card.busy { border-color: #C9A7EA; } .room-card.queue { border-color: #F0C36D; background: #FFFBF2; } .room-card.free { border-color: #BFE3CD; }
.rc-head { display: grid; } .rc-head small { color: var(--muted); }
.rc-line { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; font-weight: 700; }
.rc-wait, .rc-next { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding-top: 6px; border-top: 1px dashed var(--line); }
.come-row { display: grid; grid-template-columns: 58px 1fr auto; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line); }
.come-row:last-child { border-bottom: 0; }
.step { display: grid; gap: 10px; padding: 14px 0; border-top: 1px solid var(--line); }
.step h3 { display: flex; gap: 10px; align-items: center; margin: 0; }
.step-n { width: 30px; height: 30px; border-radius: 50%; background: var(--blue); color: #fff; display: grid; place-items: center; font-size: 16px; flex: none; }
.btn.big { min-height: 60px; font-size: 19px; }
.done-box { display: grid; gap: 6px; justify-items: center; text-align: center; padding: 10px 0 16px; }
.done-box .ic { color: var(--ok); }
.done-box h3 { margin: 6px 0 0; }
.big-room { font-size: 28px; font-weight: 800; color: var(--blue-800); margin: 4px 0; }
.review-issue summary { cursor: pointer; font-weight: 700; color: var(--blue-800); padding: 8px 0; }
.pc-name { font-size: 19px; }
.mt-s { margin-top: 10px; }
@media (max-width: 720px) { .big-actions.three { grid-template-columns: 1fr; } .big-actions.three .big-act { min-height: 72px; grid-template-columns: auto 1fr; align-items: center; } .big-actions.three .big-act small { grid-column: 2; } }
.pc-head { grid-template-columns: 64px 1fr; }
.pc-head > .badge { grid-column: 2; justify-self: start; }

/* ── Кабинет врача-направителя ── */
.partner { min-height: 100vh; background: linear-gradient(180deg, var(--blue-50), #fff 340px); }
.partner-head { display: flex; align-items: center; gap: 10px; padding: 12px 16px; max-width: 760px; margin: 0 auto; }
.partner-head span { font-weight: 800; color: var(--blue-800); flex: 1; }
.partner-main { max-width: 760px; margin: 0 auto; padding: 8px 16px 60px; display: grid; gap: 16px; }
.piggy { display: grid; grid-template-columns: auto 1fr; gap: 6px 16px; align-items: center; padding: 22px; border-radius: 26px; background: linear-gradient(135deg, var(--blue), var(--blue-800)); color: #fff; box-shadow: 0 14px 30px rgba(0, 63, 128, .25); }
.piggy-ic { width: 60px; height: 60px; border-radius: 18px; background: rgba(255,255,255,.16); display: grid; place-items: center; }
.piggy small { opacity: .85; font-size: 15px; }
.piggy-sum { display: block; font-size: 40px; line-height: 1.1; font-weight: 800; }
.piggy-meta { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 15px; opacity: .92; margin-top: 6px; }
.piggy-note { grid-column: 1 / -1; margin: 4px 0 0; font-size: 13px; opacity: .8; }
.ref-item { display: grid; gap: 6px; padding: 14px 16px; border-radius: 18px; background: #fff; border: 1px solid var(--line); }
.ref-item.new { border-color: var(--ok); box-shadow: 0 0 0 3px var(--ok-50); }
.ref-item.off { opacity: .6; }
.ri-top { display: flex; gap: 8px; align-items: center; }
.ri-top strong { font-size: 18px; }
.ri-fee { margin-left: auto; font-weight: 800; color: var(--ok); font-size: 18px; white-space: nowrap; }
.ref-steps { list-style: none; margin: 4px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }
.ref-steps li { display: grid; justify-items: center; gap: 4px; text-align: center; color: var(--muted); position: relative; }
.ref-steps li small { font-size: 12px; line-height: 1.2; }
.ref-steps .dot { width: 24px; height: 24px; border-radius: 50%; border: 2px solid var(--line); background: #fff; display: grid; place-items: center; }
.ref-steps li.done { color: var(--ok); } .ref-steps li.done .dot { background: var(--ok); border-color: var(--ok); color: #fff; }
.ref-from { color: #8A5300; font-weight: 700; }
.center { text-align: center; }

/* ── Планы и кошелёк ── */
.pbar { height: 12px; border-radius: 99px; background: #E6EDF5; overflow: hidden; }
.pbar span { display: block; height: 100%; border-radius: 99px; background: var(--blue); }
.pbar span.full { background: var(--ok); }
.plan-teaser { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; width: 100%; text-align: left; padding: 14px 16px; border-radius: 20px; border: 1px solid #E4ECF5; background: #fff; box-shadow: var(--shadow); font: inherit; color: inherit; cursor: pointer; }
.pt-ic { width: 46px; height: 46px; border-radius: 14px; background: #FFF4CC; color: #B07A00; display: grid; place-items: center; }
.pt-main { display: grid; gap: 6px; min-width: 0; } .pt-main small { color: var(--muted); font-size: 14px; }
.pt-wallet { display: grid; text-align: right; } .pt-wallet small { color: var(--muted); font-size: 13px; } .pt-wallet strong { font-size: 20px; color: var(--ok); }
.plan-card { display: grid; gap: 8px; padding: 14px 16px; border-radius: 18px; background: #fff; border: 1px solid var(--line); }
.plan-card.done { border-color: #BFE3CD; }
.plc-top { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; } .plc-top strong { font-size: 18px; }
.plc-pct { font-size: 22px; font-weight: 800; color: var(--blue-800); } .plan-card.done .plc-pct { color: var(--ok); }
.plc-meta { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 15px; color: var(--muted); }
.plc-tags { display: flex; gap: 6px; flex-wrap: wrap; }
.pc-input { max-width: 140px; }
.piggy.wallet { background: linear-gradient(135deg, #0B7A3E, #075C2E); }
.piggy-hist { grid-column: 1 / -1; display: grid; gap: 2px; font-size: 14px; opacity: .9; border-top: 1px solid rgba(255,255,255,.25); padding-top: 8px; margin-top: 4px; }
.person-plans { display: grid; gap: 10px; } .person-plans h3 { margin: 0; }
.big-pct { font-size: 30px; font-weight: 800; color: var(--blue-800); min-width: 70px; }
.review-row { display: grid; grid-template-columns: 1fr 140px; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line); }
.rr-amount { display: grid; gap: 2px; font-size: 13px; color: var(--muted); }
.hbar { display: grid; grid-template-columns: minmax(90px, 30%) 1fr auto; gap: 10px; align-items: center; padding: 6px 0; }
.hb-l { font-weight: 650; } .hb-t { height: 14px; background: #E6EDF5; border-radius: 99px; overflow: hidden; } .hb-t span { display: block; height: 100%; background: var(--blue); border-radius: 99px; }
.hb-n { font-weight: 800; white-space: nowrap; } .hb-n small { font-weight: 500; color: var(--muted); }
@media (max-width: 720px) { .hbar { grid-template-columns: 1fr auto; } .hb-t { grid-column: 1 / -1; grid-row: 2; } .review-row { grid-template-columns: 1fr; } .plan-teaser { grid-template-columns: auto 1fr; } .pt-wallet { grid-column: 1 / -1; text-align: left; display: flex; gap: 8px; align-items: baseline; } }

/* ═════════ Новый вид раздела сотрудников (по макету Codex, 04.10.2026) ═════════ */
.staff { background: #F5F8FC; }
.side { padding: 20px 14px; gap: 10px; }
.side-logo { padding: 0 6px 6px; }
.side-logo img { height: 52px; width: auto; max-width: 100%; object-fit: contain; }
.side-logo img.wide { height: auto; width: 100%; max-width: 200px; }
.side-label { padding: 10px 12px 2px; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #6A7B8F; }
.side-nav a { border-left: 3px solid transparent; }
.side-nav a.on { background: var(--blue-50); color: var(--blue-800); border-left-color: var(--red); font-weight: 750; }
.side-care { margin-top: auto; display: grid; gap: 4px; padding: 14px; border-radius: 16px; background: var(--blue-50); color: var(--muted); font-size: 14px; line-height: 1.4; }
.side-care strong { color: var(--blue-800); font-size: 15px; }
.side-care + .side-user { margin-top: 0; }
.staff-top { justify-content: space-between; padding: 12px 24px; }
.top-branch { display: flex; align-items: center; gap: 8px; min-width: 0; font-size: 18px; }
.top-branch .ic { color: var(--ink); }
.top-branch .branch-sel { width: auto; min-height: 40px; padding: 6px 34px 6px 10px; font-weight: 700; border-color: transparent; background-color: var(--soft); }
.top-br { font-weight: 700; } .top-br::before { content: '· '; }
.top-user { display: flex; align-items: center; gap: 12px; }
.role-pill { padding: 8px 14px; border-radius: 12px; background: #fff; border: 1px solid var(--line); box-shadow: 0 1px 2px rgba(0, 63, 128, .06); color: var(--blue-800); font-weight: 750; font-size: 15px; white-space: nowrap; }
.top-logo { height: 34px; width: auto; }
.page-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px 16px; padding: 22px 24px 0; }
.ph-text { min-width: 0; }
.crumb { color: var(--muted); font-size: 15px; margin-bottom: 4px; }
.page-head h1 { font-size: clamp(26px, 3.2vw, 34px); margin: 0; letter-spacing: -.02em; }
.page-act { display: flex; flex-wrap: wrap; gap: 10px; }
.page-act:empty { display: none; }
.page-act .btn { min-height: 48px; }
.staff-content { padding-top: 18px; }

/* Карточки с цифрами */
.kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.kpi { display: grid; gap: 4px; align-content: start; padding: 16px 18px; border-radius: 18px; background: #fff; border: 1px solid #E2EAF3; box-shadow: var(--shadow); text-align: left; font: inherit; color: var(--ink); }
.kpi-t { display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 15px; font-weight: 600; }
.kpi strong { font-size: 32px; line-height: 1.1; font-weight: 800; }
.kpi small { color: var(--muted); font-size: 14px; }
.kpi.warn strong { color: var(--warn); } .kpi.bad strong { color: #B42318; }
.kpi.plan { cursor: pointer; color: #fff; border: 0; border-bottom: 4px solid var(--red); background: linear-gradient(135deg, #1D6FD8, #0B4FA8); }
.kpi.plan .kpi-t, .kpi.plan small { color: #DCEBFB; } .kpi.plan .kpi-t .ic { color: #fff; }
.kpi.plan .pbar { background: rgba(255, 255, 255, .25); } .kpi.plan .pbar span { background: #fff; }

/* Расписание: сетка врачи × время */
.sched-card { display: grid; gap: 14px; padding: 20px; }
.sc-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 10px 16px; }
.sc-head h2 { margin: 0; font-size: 22px; } .sc-head p { margin: 2px 0 0; }
.sched-card .toolbar { gap: 10px 16px; }
.pay-legend { display: flex; flex-wrap: wrap; white-space: nowrap; gap: 6px 14px; font-size: 14px; color: var(--muted); }
.pay-legend .lg { display: inline-flex; align-items: center; gap: 6px; }
.pay-legend .lg::before { content: ''; flex: none; width: 9px; height: 9px; border-radius: 50%; }
.lg.lg-wait::before { background: #D64545; } .lg.lg-done::before { background: #2F6FDB; } .lg.lg-paid::before { background: #2E9B57; }
.seg { display: inline-flex; padding: 3px; border-radius: 12px; background: var(--soft); border: 1px solid var(--line); }
.seg button { border: 0; background: none; font: 650 15px var(--font); color: var(--muted); padding: 8px 14px; border-radius: 9px; cursor: pointer; min-height: 40px; }
.seg button.on { background: #fff; color: var(--blue-800); box-shadow: 0 1px 3px rgba(0, 63, 128, .15); }
.grid-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid #E6EDF5; border-radius: 16px; background: #fff; }
.sgrid { display: grid; min-width: min-content; }
.sg-corner { border-bottom: 1px solid var(--line); }
.sg-doc { display: flex; gap: 10px; align-items: center; padding: 12px 10px; border-bottom: 1px solid var(--line); border-left: 1px solid #EEF2F7; min-width: 0; }
.sg-doc > span:last-child { display: grid; min-width: 0; }
.sg-doc strong { font-size: 16px; line-height: 1.2; } .sg-doc small { color: var(--muted); font-size: 13px; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.avatar.sm { width: 36px; height: 36px; font-size: 13px; border-radius: 10px; }
.sg-times { position: relative; }
.sg-times span { position: absolute; left: 8px; transform: translateY(-50%); font-size: 13px; color: var(--muted); font-variant-numeric: tabular-nums; }
.sg-times span:first-child { transform: translateY(2px); }
.sg-col { position: relative; border-left: 1px solid #EEF2F7; }
.sg-line { position: absolute; left: 0; right: 0; border-top: 1px solid #EEF2F7; }
.sg-off { position: absolute; left: 0; right: 0; background: repeating-linear-gradient(135deg, #F6F8FB 0 6px, #EFF3F8 6px 12px); }
.sg-off.brk::after { content: 'перерыв'; position: absolute; left: 8px; top: 2px; font-size: 12px; color: #8A97A8; }
.sg-now { position: absolute; left: 0; right: 0; height: 2px; background: var(--red); z-index: 3; pointer-events: none; }
.sg-now::before { content: ''; position: absolute; left: -4px; top: -3px; width: 8px; height: 8px; border-radius: 50%; background: var(--red); }
.g-appt { position: absolute; left: 5px; right: 5px; z-index: 2; display: block; padding: 5px 9px; border: 1px solid; border-left-width: 4px; border-radius: 10px; text-align: left; font: 500 13px/1.3 var(--font); color: var(--ink); overflow: hidden; cursor: pointer; box-shadow: 0 1px 2px rgba(14, 26, 40, .06); }
.g-appt:hover { box-shadow: 0 4px 14px rgba(14, 26, 40, .14); z-index: 4; }
.g-appt > * { display: block; }
.g-appt strong { font-size: 15px; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.g-appt .ga-top { font-weight: 750; font-size: 12px; }
.g-appt .ga-svc, .g-appt .ga-src { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.g-appt .ga-src { font-size: 12px; opacity: .8; }
.g-appt.pay-wait { background: #FDF0F0; border-color: #F3CFCF; border-left-color: #D64545; } .g-appt.pay-wait .ga-top { color: #A12A2A; }
.g-appt.pay-done { background: #EEF4FE; border-color: #CFE0FA; border-left-color: #2F6FDB; } .g-appt.pay-done .ga-top { color: #1F55B5; }
.g-appt.pay-paid { background: #ECF7F0; border-color: #CBE9D6; border-left-color: #2E9B57; } .g-appt.pay-paid .ga-top { color: #1E7A42; }
.g-appt.pay-off { background: #F3F4F6; border-color: #E2E5EA; border-left-color: #9AA3AF; opacity: .75; } .g-appt.pay-off strong { text-decoration: line-through; }
.g-appt.st-in_room { box-shadow: 0 0 0 2px #C9A7EA; }
.g-free { position: absolute; left: 6px; right: 6px; z-index: 1; border: 1.5px dashed #D3DCE7; border-radius: 10px; background: transparent; color: #6A7B8F; font: 600 14px var(--font); cursor: pointer; opacity: .75; }
.g-free:hover, .g-free:focus-visible { opacity: 1; border-color: var(--blue); color: var(--blue-800); background: var(--blue-50); }
.time.want { border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-100); }

/* Список: цветная полоска слева — тот же смысл, что в сетке */
.appt-row { border-left: 4px solid transparent; }
.appt-row.pay-wait { border-left-color: #D64545; } .appt-row.pay-done { border-left-color: #2F6FDB; } .appt-row.pay-paid { border-left-color: #2E9B57; } .appt-row.pay-off { border-left-color: #C3CAD3; }
.pay-tag { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; font-size: 14px; font-weight: 700; white-space: nowrap; }
.pay-tag::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.pay-tag.pay-wait { background: #FDEEEE; color: #A12A2A; } .pay-tag.pay-done { background: #EAF1FE; color: #1F55B5; } .pay-tag.pay-paid { background: #E8F6EE; color: #1E7A42; } .pay-tag.pay-off { background: #EEF1F5; color: #5B6878; }

/* Монетки при отметке оплаты */
.coins { position: fixed; left: 50%; bottom: 140px; z-index: 70; pointer-events: none; }
.coins span { position: absolute; left: 0; top: 0; width: 30px; height: 30px; margin-left: -15px; border-radius: 50%; display: grid; place-items: center; font: 800 15px var(--font); color: #7A5200; background: radial-gradient(circle at 35% 30%, #FFF3B0, #F5C842 55%, #D9A21B); box-shadow: 0 2px 6px rgba(120, 80, 0, .35); opacity: 0; animation: coin 1.1s cubic-bezier(.2, .7, .3, 1) var(--d) forwards; }
@keyframes coin { 0% { transform: translate(0, 20px) scale(.6); opacity: 0; } 20% { opacity: 1; } 70% { opacity: 1; } 100% { transform: translate(var(--x), -150px) scale(1); opacity: 0; } }

/* Лиды: цвета статусов */
.ls-all { --lc: #0067CE; --lb: #EEF5FD; --lt: #003F80; }
.ls-new { --lc: #8A94A3; --lb: #EEF1F5; --lt: #3D4A5A; }
.ls-in_work { --lc: #5AA9E6; --lb: #E8F4FD; --lt: #1D5E8E; }
.ls-thinking { --lc: #E0B32E; --lb: #FFF6D9; --lt: #6E5200; }
.ls-hot { --lc: #EE8A3C; --lb: #FFEFE2; --lt: #8F4308; }
.ls-booked { --lc: #4CAF6E; --lb: #E8F6EC; --lt: #1F6B3A; }
.ls-done { --lc: #1F5E3A; --lb: #DAEAE0; --lt: #164A2D; }
.ls-urgent { --lc: #E04848; --lb: #FDECEC; --lt: #A11D1D; }
.ls-lost, .ls-consulted_lost { --lc: #4A4F57; --lb: #E6E7EA; --lt: #2F3338; }
.ls-vip { --lc: #8B5CF6; --lb: #F1EAFE; --lt: #6B32C9; }
.lead-badge { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 8px; background: var(--lb); color: var(--lt); font-size: 13px; font-weight: 750; white-space: nowrap; }
.lead-badge::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--lc); }
.vip-tag { justify-self: start; display: inline-flex; padding: 2px 10px; border-radius: 8px; background: #F1EAFE; color: #6B32C9; font-size: 13px; font-weight: 750; }
.lchips { display: flex; flex-wrap: wrap; gap: 8px; }
.lchip { min-height: 40px; padding: 6px 14px; border-radius: 10px; border: 2px solid transparent; background: var(--lb); color: var(--lt); font: 650 15px var(--font); cursor: pointer; }
.lchips.static .lchip { cursor: default; }
.lchip.on { border-color: var(--lc); box-shadow: 0 1px 4px rgba(0, 0, 0, .08); }
.leads-card { display: grid; gap: 16px; padding: 20px; }
.leads-card h2, .legend-card h2 { margin: 0; font-size: 22px; }
.lgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; }
.lcard { display: grid; align-content: start; gap: 6px; padding: 14px 16px; min-height: 160px; text-align: left; background: #fff; border: 1px solid #E2E8F0; border-top: 4px solid var(--lc); border-radius: 14px; font: inherit; color: var(--ink); cursor: pointer; }
.lcard:hover { box-shadow: var(--shadow); }
.lcard .lc-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.lc-name { font-size: 18px; }
.lc-q { color: var(--muted); font-size: 15px; }
.lc-foot { margin-top: auto; padding-top: 8px; border-top: 1px solid #EEF2F7; color: var(--muted); font-size: 14px; }
.lc-foot .cb { display: inline-flex; align-items: center; gap: 4px; color: #6E5200; font-weight: 650; }
.lead-card { border-top: 4px solid var(--lc, var(--line)); }
.legend-card { display: grid; gap: 6px; padding: 20px; }
.legend-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 20px; margin-top: 8px; }
.legend-grid p { margin: 6px 0 0; font-size: 14px; color: var(--muted); }
.legend-grid p strong { color: var(--ink); }
.tip { display: grid; gap: 2px; padding: 16px 18px; border-radius: 16px; background: var(--blue-50); border-left: 4px solid var(--blue); color: var(--muted); font-size: 15px; }
.tip strong { color: var(--ink); font-size: 16px; }

@media (max-width: 1100px) { .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .legend-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 960px) {
  .staff-top { padding: 10px 16px; }
  .role-pill { display: none; }
  .page-head { padding: 16px 16px 0; }
  .page-act { width: 100%; } .page-act .btn { flex: 1 1 auto; }
}
@media (max-width: 720px) {
  .kpis { gap: 10px; }
  .kpi { padding: 12px 14px; } .kpi strong { font-size: 26px; } .kpi-t { font-size: 14px; } .kpi small { font-size: 13px; }
  .sched-card, .leads-card, .legend-card { padding: 14px; }
  .legend-grid { grid-template-columns: 1fr; }
  .lgrid { grid-template-columns: 1fr; }
  .lcard { min-height: 0; }
  .top-branch { font-size: 16px; }
  .top-logo { height: 28px; }
}

.lead-card .pc-actions .btn { min-height: 44px; font-size: 16px; padding: 8px 12px; }
.lead-card .pc-actions .btn.link { flex-basis: 100%; }
.g-appt.short .ga-src { display: none; }
.seg { flex: none; flex-wrap: nowrap; }
.sc-head > .row { flex-wrap: wrap; align-items: center; }
@media (max-width: 720px) { .sc-head > .row { width: 100%; justify-content: space-between; } .pay-legend { gap: 4px 10px; font-size: 13px; } }
.g-free { display: grid; place-content: center; gap: 0; line-height: 1.2; } .g-free small { font-size: 12px; font-weight: 500; }

/* ── Лента как в Клиентиксе ── */
.line-box { display: grid; gap: 12px; min-width: 0; }
.line-bar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.dept-sel { width: auto; min-height: 44px; padding: 6px 34px 6px 12px; font-size: 16px; }
.line-wrap { overflow: auto; max-height: 78vh; border: 1px solid #E6EDF5; border-radius: 16px; background: #fff; -webkit-overflow-scrolling: touch; }
.ln-grid { display: grid; width: max-content; }
.ln-head { position: sticky; top: 0; z-index: 6; background: #F7FAFD; border-bottom: 1px solid var(--line); }
.ln-corner { left: 0; z-index: 8; padding: 10px 12px; display: flex; align-items: flex-end; border-right: 1px solid var(--line); }
.ln-corner small { color: var(--muted); font-size: 12px; line-height: 1.3; }
.ln-day { border-left: 2px solid #D5DFEA; padding: 8px 0 0; }
.ln-day strong { display: block; padding: 0 10px 4px; font-size: 15px; position: sticky; left: calc(var(--lbl, 220px) + 10px); width: max-content; }
.ln-day.today strong { color: var(--blue-800); }
.ln-hours { position: relative; height: 22px; }
.ln-hours span { position: absolute; top: 0; transform: translateX(4px); font-size: 13px; color: var(--muted); font-variant-numeric: tabular-nums; }
.ln-group { position: sticky; left: 0; z-index: 5; padding: 6px 12px; background: #EEF3F9; font-size: 12px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; color: #5A6B80; border-right: 1px solid var(--line); }
.ln-group-fill { background: #EEF3F9; border-left: 2px solid #D5DFEA; }
.ln-label { position: sticky; left: 0; z-index: 5; display: flex; gap: 10px; align-items: center; padding: 8px 12px; background: #fff; border-right: 1px solid var(--line); border-bottom: 1px solid #EEF2F7; min-height: 64px; }
.ln-label > span:last-child { display: grid; min-width: 0; }
.ln-label strong { font-size: 15px; line-height: 1.2; }
.ln-label small { color: var(--muted); font-size: 12px; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.avatar.room { background: #FFF4E6; color: #B4610A; }
.ln-lane { position: relative; height: 64px; border-left: 2px solid #D5DFEA; border-bottom: 1px solid #EEF2F7; }
.ln-lane.clickable { cursor: copy; }
.ln-lane.clickable:hover { background: #FAFCFF; }
.ln-tick { position: absolute; top: 0; bottom: 0; border-left: 1px solid #EEF2F7; pointer-events: none; }
.ln-off { position: absolute; top: 0; bottom: 0; background: repeating-linear-gradient(135deg, #F6F8FB 0 6px, #EFF3F8 6px 12px); pointer-events: none; }
.ln-now { position: absolute; top: 0; bottom: 0; width: 2px; background: var(--red); z-index: 3; pointer-events: none; }
.ln-appt { position: absolute; top: 5px; bottom: 5px; z-index: 2; display: block; padding: 3px 7px; border: 1px solid; border-left-width: 4px; border-radius: 9px; text-align: left; font: 500 12px/1.25 var(--font); color: var(--ink); overflow: hidden; cursor: pointer; white-space: nowrap; }
.ln-appt > * { display: block; overflow: hidden; text-overflow: ellipsis; }
.ln-appt strong { font-size: 13px; }
.ln-appt .la-top { font-weight: 750; font-size: 11px; }
.ln-appt:hover { z-index: 4; box-shadow: 0 4px 14px rgba(14, 26, 40, .16); }
.ln-appt.pay-wait { background: #FDF0F0; border-color: #F3CFCF; border-left-color: #D64545; } .ln-appt.pay-wait .la-top { color: #A12A2A; }
.ln-appt.pay-done { background: #EEF4FE; border-color: #CFE0FA; border-left-color: #2F6FDB; } .ln-appt.pay-done .la-top { color: #1F55B5; }
.ln-appt.pay-paid { background: #ECF7F0; border-color: #CBE9D6; border-left-color: #2E9B57; } .ln-appt.pay-paid .la-top { color: #1E7A42; }
.ln-appt.pay-off { background: #F3F4F6; border-color: #E2E5EA; border-left-color: #9AA3AF; opacity: .75; }
/* Месяц */
.month { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.mw { text-align: center; font-size: 13px; color: var(--muted); font-weight: 700; text-transform: uppercase; }
.mc { display: grid; align-content: start; gap: 2px; min-height: 96px; padding: 8px 10px; border-radius: 12px; border: 1px solid #E2E8F0; background: #fff; text-align: left; font: inherit; color: var(--ink); cursor: pointer; }
.mc:hover { border-color: var(--blue); }
.mc.empty { visibility: hidden; }
.mc.off { background: #F6F8FB; color: var(--muted); }
.mc.today { border: 2px solid var(--blue); } .mc.sel { background: var(--blue-50); }
.mc-d { font-weight: 800; font-size: 18px; }
.mc strong { font-size: 14px; } .mc small { font-size: 12px; line-height: 1.3; color: var(--muted); }
@media (max-width: 720px) {
  .line-wrap { --lbl: 132px; }
  .ln-label { padding: 6px 8px; gap: 6px; } .ln-label .avatar { display: none; }
  .mc { min-height: 70px; padding: 6px; } .mc strong { font-size: 12px; } .mc small.muted { display: none; }
}

/* ── Записать клиента (как в Клиентиксе) ── */
.step-h { display: flex; align-items: center; gap: 10px; margin: 6px 0 4px; font-size: 19px; }
.step-n { width: 30px; height: 30px; border-radius: 50%; background: var(--blue); color: #fff; display: grid; place-items: center; font-size: 15px; font-weight: 800; }
.cl-list, .svc-results { display: grid; gap: 6px; }
.svc-results { max-height: 46vh; overflow-y: auto; padding-right: 2px; }
.cl-row { min-height: 60px; }
.cl-groups { display: flex; gap: 4px; flex-wrap: wrap; }
.svc-row { display: grid; grid-template-columns: 1fr auto auto; gap: 2px 14px; align-items: center; width: 100%; text-align: left; padding: 10px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; font: inherit; color: var(--ink); cursor: pointer; }
.svc-row:hover, .svc-row:focus-visible { border-color: var(--blue); background: var(--blue-50); }
.sr-name { font-weight: 650; font-size: 16px; }
.sr-price { font-size: 16px; white-space: nowrap; } .sr-dur { color: var(--muted); font-size: 15px; white-space: nowrap; }
.sr-dir { grid-column: 1 / -1; font-size: 13px; }
.svc-chosen { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
.svc-chosen > div { display: grid; }
.sc-total { text-align: right; } .sc-total strong { font-size: 22px; }
.more-box { border-top: 1px solid var(--line); padding-top: 8px; }
.more-box summary { cursor: pointer; font-weight: 650; color: var(--blue-800); padding: 6px 0; }
.chip.add { border-style: dashed; color: var(--blue-800); }
/* Карточка клиента */
.cc-grid { display: grid; grid-template-columns: 190px 1fr; gap: 10px 16px; align-items: center; }
.cc-label { font-weight: 650; color: var(--muted); font-size: 15px; }
.cc-fio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.cc-static { color: var(--muted); font-size: 15px; padding: 6px 0; }
/* Выбор времени на ленте */
.pick-bar { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 14px; background: #FFF7E0; border: 2px solid #F0C36D; color: #5C4300; }
.pick-bar > div { display: grid; flex: 1; min-width: 0; } .pick-bar span { font-size: 14px; }
.line-wrap.picking .ln-lane.pick-ok { cursor: crosshair; }
.line-wrap.picking .ln-lane.pick-ok:hover { background: #FFFBEF; }
.ln-lane.dim, .ln-label.dim { opacity: .45; }
.zoom { display: flex; gap: 6px; } .zoom .icon-btn { width: 44px; height: 44px; font-size: 22px; font-weight: 700; }
.zoom .icon-btn:disabled { opacity: .4; cursor: default; }
@media (max-width: 720px) {
  .cc-grid { grid-template-columns: 1fr; gap: 4px; } .cc-label { margin-top: 8px; }
  .cc-fio { grid-template-columns: 1fr; }
  .svc-row { grid-template-columns: 1fr auto; } .sr-dur { grid-column: 2; }
}
@media (max-width: 720px) { .sc-total { text-align: left; } }

/* ── Статьи врачей ── */
.art-card { display: grid; gap: 8px; align-content: start; text-decoration: none; color: var(--ink); transition: border-color .15s, box-shadow .15s; }
.art-card:hover { border-color: var(--blue); }
.art-dir { display: inline-flex; gap: 6px; align-items: center; color: var(--blue-800); font-size: 14px; font-weight: 700; }
.art-title { font-size: 20px; line-height: 1.25; }
.art-lead { color: var(--muted); font-size: 16px; }
.art-meta { display: flex; gap: 10px; align-items: center; margin-top: 6px; } .art-meta > span:last-child { display: grid; } .art-meta b { font-size: 15px; } .art-meta small { color: var(--muted); font-size: 13px; }
.article-page { max-width: 760px; display: grid; gap: 14px; }
.article-page.in-dialog { max-width: none; }
.article-page h1 { font-size: clamp(28px, 4vw, 40px); margin: 0; }
.article-page .back { justify-self: start; padding-left: 0; }
.ar-author { display: flex; gap: 12px; align-items: center; } .ar-author > span:last-child { display: grid; } .ar-author small { color: var(--muted); }
.article-body { font-size: 19px; line-height: 1.65; }
.article-body p { margin: 0 0 14px; }
.article-body h2 { font-size: 24px; margin: 22px 0 8px; }
.article-body ul { margin: 0 0 14px; padding-left: 24px; } .article-body li { margin: 4px 0; }
.art-cta { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; align-items: center; padding: 18px 20px; border-radius: 18px; background: var(--blue-50); }
.art-cta > div { display: grid; }
.doc-arts { display: inline-flex; gap: 6px; align-items: center; font-weight: 650; font-size: 15px; }
.ar-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 12px; }
.ar-card { display: grid; gap: 8px; align-content: start; }
.ar-card h3 { margin: 0; font-size: 19px; }
.ar-card p { margin: 0; }
.ar-text { font-size: 17px; line-height: 1.55; min-height: 280px; }
@media (max-width: 720px) { .article-body { font-size: 18px; } .ar-grid { grid-template-columns: 1fr; } }
.ar-card .btn { min-height: 44px; padding: 8px 14px; font-size: 16px; }

/* ── Протоколы приёма ── */
.lib-row { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; padding: 14px 16px; }
.lib-row p { margin: 4px 0 0; }
.sec-edit { display: grid; gap: 8px; } .sec-edit .row input { flex: 1; }
.pull { display: grid; gap: 6px; } .pull .search-box { margin: 0; }
.pull-res { display: grid; gap: 4px; max-height: 260px; overflow-y: auto; }
.pull-res:empty { display: none; }
.pull-row { display: grid; gap: 2px; text-align: left; padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; font: inherit; color: var(--ink); cursor: pointer; }
.pull-row:hover, .pull-row:focus-visible { border-color: var(--blue); background: var(--blue-50); }
.pull-row strong { color: var(--blue-800); font-size: 15px; } .pull-row small { color: var(--muted); font-size: 13px; }
.pull-row.own strong { color: var(--ink); }
.proto-ta { min-height: 64px; }
.rx-list { display: grid; gap: 6px; }
.rx-row { display: grid; grid-template-columns: 28px 2fr 1fr 1.6fr 1fr auto; gap: 6px; align-items: center; }
.rx-row input { min-height: 44px; padding: 8px 10px; font-size: 16px; }
.rx-n { font-weight: 800; color: var(--muted); text-align: center; }
.rx-patient li { margin: 6px 0; }
@media (max-width: 720px) { .rx-row { grid-template-columns: 24px 1fr auto; } .rx-row input:not(:first-of-type) { grid-column: 2; } .lib-row { flex-direction: column; } }

/* ── Фото филиалов (со старого сайта) ── */
.card.branch { overflow: hidden; }
.br-photos { margin: -4px -4px 6px; display: grid; gap: 8px; }
.br-main-wrap { position: relative; border-radius: 14px; overflow: hidden; background: var(--soft); aspect-ratio: 3 / 2; }
.br-main { width: 100%; height: 100%; object-fit: cover; display: block; }
.br-cap { position: absolute; left: 10px; bottom: 10px; background: rgba(255,255,255,.92); color: var(--ink); font-size: 14px; font-weight: 600; padding: 4px 10px; border-radius: 999px; }
.br-thumbs { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 2px; }
.br-th { flex: 0 0 auto; width: 72px; height: 52px; padding: 0; border: 2px solid transparent; border-radius: 10px; overflow: hidden; background: none; cursor: pointer; }
.br-th img { width: 100%; height: 100%; object-fit: cover; display: block; }
.br-th.on { border-color: var(--blue); }
.br-th:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }
.hero-photo { object-fit: cover; }

/* ── Акции месяца (сайт) ── */
.card.pcard { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.promo-media { position: relative; aspect-ratio: 16 / 9; background: var(--soft); }
.promo-media img, .promo-media .photo { width: 100%; height: 100%; object-fit: cover; display: block; }
.promo-cover { width: 100%; height: 100%; display: grid; place-items: center; background: linear-gradient(135deg, #e8f1ff 0%, #cfe0fb 100%); color: var(--blue); }
.promo-disc { position: absolute; left: 14px; bottom: 14px; background: #e3262b; color: #fff; font-weight: 800; font-size: 22px; padding: 6px 14px; border-radius: 12px; box-shadow: 0 6px 16px rgba(227,38,43,.3); }
.promo-body { padding: 16px 18px 18px; display: grid; gap: 10px; flex: 1; align-content: start; }
.promo-body h3 { margin: 0; }
.promo-body p { margin: 0; }
.promo-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 15px; color: var(--ink); }
.promo-meta .ic { color: var(--blue); }
.promo-meta .dot-sep { color: var(--muted); margin: 0 2px; }
/* ── Раздел маркетолога «Врачи и акции на сайте» ── */
.site-group { margin-top: 18px; }
.site-group h2 { font-size: 18px; margin: 0 0 10px; }
.promo-admin { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); }
.pa-card { display: grid; gap: 10px; align-content: start; }
.pa-card h3 { margin: 0; }
.pa-card p { margin: 0; }
.pa-card.off { opacity: .65; }
.pa-disc { color: #e3262b; font-size: 20px; }
.vd-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.vd-list li { display: flex; justify-content: space-between; align-items: center; gap: 8px; background: var(--soft); border-radius: 10px; padding: 8px 10px; font-size: 15px; }
.inline-f { display: inline-flex; align-items: center; gap: 6px; }
.inline-f input { width: auto; }
.mt-s { margin-top: 8px; }
.prev-grid { margin-bottom: 14px; }
.top-nav a { white-space: nowrap; }
.pcard .promo-media { aspect-ratio: 2 / 1; }
.pcard .badge { justify-self: start; }
@media (max-width: 1120px) and (min-width: 961px) { .head-phone .hp-t { display: none; } .top-nav a { padding: 10px 8px; font-size: 16px; } }
/* Знак клиники из логотипа */
.logo-sign { display: inline-block; object-fit: contain; flex: none; }
.sign-sm { width: 22px; height: 24px; vertical-align: -5px; margin-right: 2px; }
.sign-lg { width: 64px; height: 72px; }
.eyebrow .logo-sign { margin-right: 6px; }

/* ── Главная по макету Codex (октябрь 2026) ── */
.serif, .hero2 h1 { font-family: Georgia, 'PT Serif', 'Noto Serif', 'Times New Roman', serif; font-weight: 700; letter-spacing: -.01em; }
.logo img.wide { height: 48px; width: auto; }
.hero2 { position: relative; overflow: hidden; background: #eaf2fb; min-height: 520px; display: flex; align-items: center; }
.hero2-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% 35%; }
.hero2::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.92) 34%, rgba(255,255,255,.55) 55%, rgba(255,255,255,0) 75%); }
.hero2-in { position: relative; z-index: 1; width: 100%; padding-top: 56px; padding-bottom: 64px; }
.hero2-text { max-width: 560px; }
.hero2 h1 { font-size: clamp(42px, 6.4vw, 76px); line-height: 1.02; margin: 10px 0 12px; color: #0b1b33; }
.hero2-sub { font-size: clamp(19px, 2.2vw, 26px); color: var(--ink); margin: 0 0 8px; }
.hero2 .hero-actions .btn.primary { box-shadow: 0 12px 28px rgba(0, 103, 206, .32); }
.hero2-res { background: rgba(255,255,255,.9); }
.hero2-hours { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 18px; color: var(--muted); font-size: 15px; }
.hero2-hours .ic { color: var(--blue); }
.tiles2-sec { margin-top: -48px; position: relative; z-index: 2; }
.tiles2 { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; background: #fff; padding: 14px; border-radius: 26px; box-shadow: 0 18px 50px rgba(0, 63, 128, .12); }
.tile2 { display: grid; justify-items: center; gap: 10px; padding: 18px 8px 16px; border-radius: 18px; border: 1px solid #E4ECF5; text-decoration: none; color: var(--ink); font-weight: 700; font-size: 17px; text-align: center; transition: border-color .15s, box-shadow .15s, transform .15s; }
.tile2:hover { border-color: var(--blue); box-shadow: var(--shadow); transform: translateY(-2px); }
.tile2-ic { width: 62px; height: 62px; border-radius: 50%; background: var(--blue-50); color: var(--blue); display: grid; place-items: center; }
.docs4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.doc4 { display: grid; border-radius: 20px; overflow: hidden; background: #fff; border: 1px solid #E4ECF5; text-decoration: none; color: var(--ink); box-shadow: var(--shadow); transition: transform .15s; }
.doc4:hover { transform: translateY(-2px); }
.doc4-ph { aspect-ratio: 1 / 1; display: grid; place-items: center; font-size: 46px; font-weight: 800; color: var(--blue); background: radial-gradient(circle at 50% 35%, #fff 0%, #e6f0fb 55%, #cfe0f5 100%); }
.doc4-body { display: grid; gap: 4px; padding: 12px 14px 14px; }
.doc4-body strong { font-size: 16px; } .doc4-body small { color: var(--muted); }
.doc4-more { display: inline-flex; align-items: center; gap: 4px; margin-top: 6px; color: var(--blue); font-weight: 700; font-size: 14px; }
.gift-banner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; border-radius: 26px; overflow: hidden; text-decoration: none; color: var(--ink); background: linear-gradient(90deg, #f4f8fd, #e8f1fb); box-shadow: var(--shadow); min-height: 200px; }
.gb-media { position: relative; height: 100%; min-height: 200px; }
.gb-media .gb-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gb-logo { position: absolute; left: 22%; top: 38%; width: 24%; height: auto; transform: rotate(-4deg); opacity: .95; }
.gb-text { display: grid; gap: 8px; padding: 26px 30px; position: relative; }
.gb-text strong { font-size: clamp(24px, 3vw, 34px); line-height: 1.1; }
.gb-text > span:not(.gb-go) { color: var(--muted); font-size: 17px; }
.gb-go { justify-self: start; width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--blue); box-shadow: var(--shadow); margin-top: 6px; }
.gift-banner:hover .gb-go { background: var(--blue); color: #fff; }
@media (max-width: 960px) {
  .tiles2 { grid-template-columns: repeat(3, 1fr); }
  .docs4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .hero2 { min-height: 0; display: block; }
  .hero2-bg { position: relative; height: 230px; object-position: 50% 30%; }
  .hero2::after { background: linear-gradient(180deg, rgba(255,255,255,0) 0, rgba(255,255,255,0) 150px, #fff 230px); height: 230px; bottom: auto; }
  .hero2-in { padding-top: 18px; padding-bottom: 60px; }
  .hero2 h1 { font-size: 42px; }
  .hero2 .hero-actions { display: grid; }
  .tiles2-sec { margin-top: -40px; }
  .tiles2 { gap: 8px; padding: 10px; border-radius: 22px; }
  .tile2 { font-size: 15px; padding: 14px 4px 12px; gap: 8px; }
  .tile2-ic { width: 52px; height: 52px; }
  .doc4-ph { font-size: 34px; }
  .gift-banner { grid-template-columns: 1fr; }
  .gb-media { min-height: 170px; }
  .gb-text { padding: 18px 20px 22px; }
  .logo img.wide { height: 38px; }
}
.promo-media .logo-sign { width: 64px; height: 72px; object-fit: contain; }
.gb-media { align-self: stretch; }
.hero2-text { max-width: 640px; }
@media (max-width: 720px) { .hero2 { background: linear-gradient(180deg, #fff 0, #f2f7fd 100%); } .hero2-hours { display: block; } .hero2-hours .ic { vertical-align: -3px; margin-right: 4px; } }

/* ── Вход сотрудников по макету Codex ── */
.login-page { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: stretch; place-items: stretch; min-height: 100vh; padding: 24px; background: #f5f8fc; }
.lp-side { position: relative; overflow: hidden; border-radius: 28px; padding: 40px 42px 34px; color: #fff; background: radial-gradient(700px 500px at 110% 40%, rgba(255,255,255,.10), transparent 60%), linear-gradient(160deg, #2f6cc8 0%, #1f4fa3 55%, #1a3f86 100%); display: flex; flex-direction: column; gap: 14px; }
.lp-side::after { content: ''; position: absolute; width: 520px; height: 520px; right: -180px; top: 120px; border-radius: 50%; border: 60px solid rgba(255,255,255,.05); pointer-events: none; }
.lp-logo { align-self: flex-start; background: #fff; border-radius: 16px; padding: 12px 18px; box-shadow: 0 10px 30px rgba(0,0,0,.12); }
.lp-logo img { display: block; height: 46px; width: auto; }
.lp-eyebrow { margin: 18px 0 0; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: rgba(255,255,255,.75); }
.lp-title { margin: 0; font-size: clamp(32px, 3.6vw, 46px); line-height: 1.08; color: #fff; font-weight: 800; letter-spacing: -.02em; }
.lp-text { margin: 0; color: rgba(255,255,255,.85); max-width: 26em; font-size: 17px; }
.lp-mock { position: relative; z-index: 1; margin: 18px 0 6px; max-width: 440px; width: 92%; background: #fff; color: var(--ink); border-radius: 18px; padding: 14px 16px 16px; box-shadow: 0 24px 60px rgba(0,0,0,.25); transform: rotate(-3deg); align-self: center; }
.lp-mock-top { display: flex; justify-content: space-between; align-items: center; font-size: 13px; color: var(--blue); }
.lp-dots { display: flex; gap: 4px; } .lp-dots i { width: 7px; height: 7px; border-radius: 50%; background: #c9d6e6; }
.lp-mock-head { display: flex; justify-content: space-between; align-items: baseline; margin: 10px 0 8px; } .lp-mock-head strong { font-size: 16px; } .lp-mock-head small { color: var(--muted); }
.lp-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.lp-col { background: #f3f6fa; border-radius: 10px; padding: 8px; display: grid; gap: 6px; align-content: start; } .lp-col small { color: var(--muted); font-size: 11px; }
.lp-slot { font-size: 11px; padding: 7px 6px; border-radius: 6px; border-left: 3px solid; background: #fff; }
.lp-slot.paid { border-color: #2e9e5b; background: #eaf7ef; } .lp-slot.done { border-color: #2f6cc8; background: #eaf2fd; } .lp-slot.wait { border-color: #d94848; background: #fdeeee; }
.lp-mock-foot { margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--line); font-size: 12px; color: var(--muted); }
.lp-badge { position: absolute; right: -18px; bottom: -22px; display: flex; gap: 10px; align-items: center; background: #fff; border-radius: 14px; padding: 10px 14px; font-size: 13px; box-shadow: 0 12px 30px rgba(0,0,0,.18); transform: rotate(3deg); }
.lp-check { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: #eaf7ef; color: #2e9e5b; }
.lp-care { margin: auto 0 0; display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.85); font-size: 15px; position: relative; z-index: 1; }
.lp-heart { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.14); }
.lp-main { display: flex; align-items: center; justify-content: center; padding: 24px 8px; }
.lp-form { width: 100%; max-width: 400px; }
.lp-for { margin: 0 0 6px; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--blue); font-weight: 800; }
.lp-form h1 { text-align: left; font-size: clamp(28px, 3vw, 34px); margin: 0 0 8px; }
.lg-form { margin-top: 18px; display: grid; gap: 4px; }
.lg-pw-head { display: flex; justify-content: space-between; align-items: baseline; }
.lg-pw-head .btn.link { padding: 0; min-height: 0; font-size: 14px; }
.lg-pw { position: relative; }
.lg-pw input { padding-right: 104px; }
.lg-show { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); border: 0; background: #eef3f9; color: var(--ink); border-radius: 10px; padding: 8px 12px; font: inherit; font-size: 14px; cursor: pointer; }
.lg-roles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.lg-role { border: 1px solid #dbe4ef; background: #fff; border-radius: 12px; padding: 10px 6px; font: inherit; font-size: 14px; font-weight: 600; color: var(--ink); cursor: pointer; }
.lg-role.on { border-color: var(--blue); background: var(--blue-50); color: var(--blue-800); box-shadow: inset 0 0 0 1px var(--blue); }
.lg-go { justify-content: space-between; margin-top: 8px; min-height: 54px; }
.lg-note { text-align: center; color: var(--muted); font-size: 13px; margin: 10px 0 0; }
.lp-help { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); text-align: center; font-size: 14px; color: var(--muted); }
.lp-help a { font-weight: 700; }
.lp-foot { text-align: center; color: var(--muted); font-size: 12px; margin-top: 8px; }
@media (max-width: 900px) {
  .login-page { grid-template-columns: 1fr; gap: 0; padding: 0; background: #fff; }
  .lp-side { border-radius: 0 0 26px 26px; padding: 22px 20px 24px; gap: 8px; }
  .lp-side::after, .lp-mock, .lp-care { display: none; }
  .lp-logo img { height: 36px; } .lp-eyebrow { margin-top: 8px; }
  .lp-title { font-size: 28px; } .lp-text { font-size: 15px; }
  .lp-main { padding: 22px 16px 32px; }
  .lg-roles { grid-template-columns: repeat(2, 1fr); }
}
.plan-tasks > summary { cursor: pointer; display: flex; align-items: center; gap: 10px; font-weight: 700; padding: 10px 14px; border-radius: 12px; background: var(--blue-50); color: var(--blue-800); list-style: none; }
.plan-tasks > summary::-webkit-details-marker { display: none; }
.plan-tasks > summary::before { content: '▸'; transition: transform .15s; }
.plan-tasks[open] > summary::before { transform: rotate(90deg); }
.plan-tasks .pt-hint { margin-left: auto; font-weight: 500; font-size: 14px; color: var(--muted); }
.plan-tasks[open] .pt-hint { display: none; }
.plan-tasks[open] > summary { margin-bottom: 10px; }

/* ── Кабинет врача-направителя по макету Codex ── */
.pshell { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 20px; padding: 20px; min-height: 100vh; background: #f3f7fc; }
.pside { background: #fff; border-radius: 22px; padding: 22px 14px; display: flex; flex-direction: column; gap: 6px; box-shadow: var(--shadow); position: sticky; top: 20px; height: calc(100vh - 40px); }
.pside-logo img { height: 50px; width: auto; display: block; margin: 0 8px 14px; }
.pn { display: grid; gap: 4px; }
.pn-item { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 0; border-radius: 14px; background: none; font: inherit; font-size: 16px; color: var(--ink); cursor: pointer; text-align: left; border-left: 3px solid transparent; }
.pn-item:hover { background: #f3f7fc; }
.pn-item.on { background: var(--blue-50); color: var(--blue-800); font-weight: 700; border-left-color: #e3262b; }
.pn-item .ic { color: var(--blue); }
.pside-out { margin-top: auto; }
.pmain { display: grid; gap: 18px; align-content: start; min-width: 0; }
.ptop { display: flex; align-items: center; gap: 14px; background: #fff; border-radius: 18px; padding: 14px 20px; box-shadow: var(--shadow); }
.ptop-t { display: flex; align-items: center; gap: 10px; flex: 1; font-size: 18px; min-width: 0; }
.ptop-u { display: flex; align-items: center; gap: 10px; padding-left: 16px; border-left: 1px solid var(--line); }
.ptop-u > span:last-child { display: grid; } .ptop-u small { color: var(--muted); }
.ptop-out { display: none; }
.pcontent { display: grid; gap: 18px; min-width: 0; }
.phead { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.phead h1 { margin: 0; font-size: clamp(30px, 4vw, 48px); letter-spacing: -.02em; }
.phead p { margin: 4px 0 0; font-size: 18px; }
.phero { position: relative; overflow: hidden; border-radius: 22px; min-height: 340px; display: flex; align-items: center; background: #e9f2fc; }
.phero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% 35%; }
.phero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(240,246,253,.98) 0, rgba(240,246,253,.95) 52%, rgba(240,246,253,.35) 78%, rgba(240,246,253,.05) 100%); }
.phero-t { position: relative; z-index: 1; padding: 36px 40px; max-width: 600px; display: grid; gap: 14px; }
.phero-t h1 { margin: 0; font-size: clamp(30px, 4vw, 48px); line-height: 1.05; letter-spacing: -.02em; }
.phero-t p { margin: 0; font-size: 19px; color: var(--muted); }
.pdirs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.pdir { display: flex; align-items: center; gap: 14px; padding: 18px; border-radius: 18px; border: 1px solid #e4ecf5; background: linear-gradient(120deg, #fff 55%, #eef5fd); font: inherit; color: var(--ink); cursor: pointer; text-align: left; box-shadow: var(--shadow); }
.pdir.heart { background: linear-gradient(120deg, #fff 55%, #fdeeee); } .pdir.heart .pdir-ic { color: #d6363b; }
.pdir-ic { width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; color: var(--blue); background: #fff; box-shadow: 0 6px 16px rgba(0,63,128,.1); flex: none; }
.pdir strong { display: block; font-size: 17px; } .pdir small { color: var(--blue); display: inline-flex; align-items: center; gap: 4px; margin-top: 4px; }
.pgrid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.pcol { display: grid; gap: 18px; }
.pcard-list h2 { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ptable { display: grid; }
.pt-row { display: grid; grid-template-columns: 1.3fr 1.2fr 1.2fr 28px; gap: 12px; align-items: center; padding: 12px 14px; border: 0; border-bottom: 1px solid var(--line); background: none; font: inherit; color: var(--ink); text-align: left; cursor: pointer; }
button.pt-row:hover { background: #f6f9fd; }
.pt-row.new { background: #f0f9f3; }
.pt-head { background: #f3f6fa; border-radius: 10px; color: var(--muted); font-size: 14px; cursor: default; border-bottom: 0; }
.pt-row > span { display: grid; gap: 2px; min-width: 0; } .pt-row small { color: var(--muted); font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pt-no { grid-template-columns: auto 1fr; column-gap: 8px; align-items: center; } .pt-no .ic { grid-row: span 2; color: var(--muted); }
.pt-go { color: var(--muted); }
.pt-fee { color: #1e7a45 !important; font-weight: 700; }
.pstage { display: inline-flex; align-items: center; gap: 8px; justify-self: start; padding: 6px 12px; border-radius: 999px; font-size: 14px; font-weight: 600; }
.pstage i { width: 9px; height: 9px; border-radius: 50%; background: currentColor; }
.pstage.ok { background: #e9f8ee; color: #1f9d55; } .pstage.done { background: #e2f3e8; color: #0f6b38; } .pstage.bad { background: #fdecec; color: #d13a3a; } .pstage.info { background: #eaf2fd; color: #1f62c8; }
.ppiggy { display: grid; gap: 4px; background: linear-gradient(135deg, #0f7a45, #0b5e35); color: #fff; } .ppiggy small, .ppiggy .muted { color: rgba(255,255,255,.85) !important; } .ppiggy strong { font-size: 34px; }
.pcontact { display: grid; gap: 12px; } .pcontact h2 { margin: 0; } .pcontact p { margin: 0; }
.pmgr { display: flex; align-items: center; gap: 12px; } .pmgr .avatar { width: 52px; height: 52px; font-size: 18px; } .pmgr > span:last-child { display: grid; } .pmgr small { color: var(--muted); }
.prefbar { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding: 16px 20px; }
.prefbar-no { display: flex; align-items: center; gap: 10px; font-size: 18px; } .prefbar-req { padding-left: 16px; border-left: 1px solid var(--line); font-weight: 600; } .prefbar-who { color: var(--muted); }
.prefbar .pstage { margin-left: auto; } .prefbar-sel { width: auto; min-height: 40px; }
.jsteps { list-style: none; display: grid; grid-template-columns: repeat(6, 1fr); padding: 34px 0 6px; margin: 0; }
.jsteps li { position: relative; display: grid; justify-items: center; text-align: center; gap: 4px; padding: 0 6px; }
.jsteps li::before { content: ''; position: absolute; top: 24px; left: -50%; width: 100%; border-top: 2px dashed #c8d6e6; z-index: 0; }
.jsteps li:first-child::before { display: none; }
.jsteps li.done::before, .jsteps li.cur::before { border-top: 3px solid var(--blue); }
.js-dot { position: relative; z-index: 1; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; border: 2px solid #9fb6d1; background: #fff; color: #456; font-weight: 700; font-size: 18px; }
.jsteps li.done .js-dot { background: var(--blue); border-color: var(--blue); color: #fff; }
.jsteps li.cur .js-dot { border: 0; background: #1f9d55; box-shadow: 0 0 0 8px #e3f5ea; } .jsteps li.cur .js-dot i { width: 16px; height: 16px; border-radius: 50%; background: #fff; }
.jsteps li.bad .js-dot { background: #d13a3a; border-color: #d13a3a; color: #fff; }
.js-now { position: absolute; top: -32px; padding: 3px 10px; border-radius: 999px; background: #e3f5ea; color: #1f7a45; font-size: 13px; font-weight: 600; }
.js-n { color: var(--blue); font-weight: 700; margin-top: 6px; } .jsteps strong { font-size: 15px; } .jsteps small { color: var(--muted); font-size: 13px; }
.jsteps li.bad small { color: #d13a3a; }
.jhist { list-style: none; margin: 8px 0 0; padding: 0; display: grid; }
.jhist li { position: relative; display: grid; grid-template-columns: 160px 1fr; gap: 12px; padding: 12px 0 12px 26px; border-bottom: 1px solid var(--line); }
.jhist li::before { content: ''; position: absolute; left: 5px; top: 17px; width: 12px; height: 12px; border-radius: 50%; background: var(--blue); }
.jhist li.last::before { background: #1f9d55; } .jhist li.bad::before { background: #d13a3a; }
.jhist li::after { content: ''; position: absolute; left: 10px; top: 32px; bottom: -14px; border-left: 2px solid #dbe5f1; }
.jhist li:last-child::after { display: none; }
.jhist small { color: var(--muted); }
.jnext .jn-body { display: flex; gap: 18px; align-items: flex-start; }
.jn-ic { width: 76px; height: 76px; border-radius: 50%; background: var(--blue-50); color: var(--blue); display: grid; place-items: center; flex: none; }
.jn-t { font-size: 20px; } .jnext p { display: flex; align-items: center; gap: 8px; margin: 8px 0; } .jnext p .ic { color: var(--muted); }
.phelp { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; } .phelp strong { font-size: 20px; } .phelp p { margin: 4px 0 0; }
.phelp-ic { width: 64px; height: 64px; border-radius: 50%; background: var(--blue-50); color: var(--blue); display: grid; place-items: center; }
.plegend { display: flex; gap: 22px; flex-wrap: wrap; font-size: 14px; color: var(--muted); margin: 0; }
.plegend span { display: inline-flex; align-items: center; gap: 8px; } .plegend i { width: 10px; height: 10px; border-radius: 50%; }
.plegend i.ok { background: #1f9d55; } .plegend i.done { background: #0f6b38; } .plegend i.bad { background: #d13a3a; }
.pspec { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.pbottom { display: none; }
@media (max-width: 1100px) { .pdirs { grid-template-columns: repeat(2, 1fr); } .pgrid { grid-template-columns: 1fr; } }
@media (max-width: 860px) {
  .pshell { grid-template-columns: minmax(0, 1fr); padding: 0 0 86px; gap: 0; background: #f3f7fc; }
  .pside { display: none; }
  .ptop { border-radius: 0; padding: 12px 16px; box-shadow: none; border-bottom: 1px solid var(--line); }
  .ptop-t strong { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .ptop-u { display: none; } .ptop-out { display: grid; }
  .pcontent { padding: 16px; gap: 14px; }
  .phero { min-height: 0; display: block; } .phero-img { position: relative; height: 170px; }
  .phero::after { display: none; } .phero-t { padding: 18px; } .phero-t p { font-size: 16px; }
  .phero-t .btn { width: 100%; }
  .pdir { padding: 12px; gap: 10px; } .pdir-ic { width: 44px; height: 44px; }
  .pt-row { grid-template-columns: 1fr auto; } .pt-row > span:nth-child(2) { display: none; } .pt-head { display: none; } .pt-go { display: none; }
  .jsteps { grid-template-columns: 1fr; padding: 6px 0; gap: 0; }
  .jsteps li { grid-template-columns: 44px 1fr; justify-items: start; text-align: left; column-gap: 12px; padding: 8px 0; }
  .jsteps li::before { display: none; }
  .jsteps li .js-dot { grid-row: span 2; width: 40px; height: 40px; font-size: 15px; } .jsteps li.cur .js-dot { box-shadow: 0 0 0 5px #e3f5ea; }
  .js-n { display: none; } .js-now { position: static; grid-column: 2; justify-self: start; }
  .jhist li { grid-template-columns: 1fr; gap: 2px; }
  .prefbar .pstage { margin-left: 0; } .prefbar-req { padding-left: 0; border-left: 0; }
  .pbottom { display: grid; grid-template-columns: repeat(5, 1fr); position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: #fff; border-top: 1px solid var(--line); padding: 4px 4px calc(4px + env(safe-area-inset-bottom)); }
  .pbottom button { display: grid; justify-items: center; gap: 2px; padding: 6px 0; min-height: 58px; border: 0; background: none; font: inherit; font-size: 12px; font-weight: 650; color: var(--muted); border-radius: 12px; }
  .pbottom button.on { color: var(--blue); background: var(--blue-50); }
  .pbottom button.send .ic { background: var(--blue); color: #fff; border-radius: 50%; padding: 4px; width: 30px; height: 30px; }
}
.ptop-t strong { min-width: 0; }
.pmain { grid-template-columns: minmax(0, 1fr); }
.doc4-img { width: 100%; object-fit: cover; object-position: 50% 20%; display: block; }
.avatar.av-img { object-fit: cover; padding: 0; flex: none; }
/* Маркетолог: фото на сайте */
.file-btn { cursor: pointer; position: relative; }
.file-btn:focus-within { outline: 3px solid var(--blue); outline-offset: 2px; }
.ss-media, .hs-media { border-radius: 14px; overflow: hidden; background: var(--soft); aspect-ratio: 16 / 9; }
.ss-media img, .hs-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ss-empty { height: 100%; display: grid; place-items: center; align-content: center; gap: 6px; color: var(--muted); text-align: center; padding: 12px; }
.br-admin { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; }
.bra-item { margin: 0; display: grid; gap: 4px; }
.bra-item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; display: block; border: 2px solid transparent; }
.bra-item.main img { border-color: var(--blue); }
.bra-item figcaption { display: flex; justify-content: space-between; gap: 6px; align-items: center; flex-wrap: wrap; font-size: 13px; }
.bra-item .btn.link { padding: 0; min-height: 0; font-size: 13px; }
.home-site { max-width: 720px; }
.site-seg { display: flex; flex-wrap: nowrap; overflow-x: auto; max-width: 100%; scrollbar-width: none; }
.site-seg::-webkit-scrollbar { display: none; }
.site-seg button { flex: none; white-space: nowrap; }
/* Направить пациента: услуги и печатное направление */
.ref-two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 20px; align-items: start; }
.rs-list { display: grid; gap: 4px; max-height: 300px; overflow-y: auto; margin-top: 8px; padding-right: 2px; }
.rs-row { display: grid; grid-template-columns: 26px 1fr auto; gap: 10px; align-items: center; padding: 10px 12px; border: 1px solid #e4ecf5; border-radius: 12px; background: #fff; font: inherit; color: var(--ink); text-align: left; cursor: pointer; }
.rs-row:hover { border-color: var(--blue); }
.rs-row.on { border-color: var(--blue); background: var(--blue-50); }
.rs-check { width: 22px; height: 22px; border-radius: 6px; border: 2px solid #9fb6d1; display: grid; place-items: center; color: #fff; }
.rs-row.on .rs-check { background: var(--blue); border-color: var(--blue); }
.rs-name { display: grid; } .rs-name small { color: var(--muted); font-size: 13px; }
.rs-chosen { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 10px; padding: 12px; border-radius: 14px; background: #f3f7fc; }
.rs-chosen > strong { width: 100%; } .rs-chosen p { width: 100%; margin: 4px 0 0; }
.rs-chosen .chip { display: inline-flex; align-items: center; gap: 6px; }
.rs-x { border: 0; background: none; color: inherit; padding: 0; display: grid; cursor: pointer; }
.ref-done { display: grid; justify-items: center; text-align: center; gap: 6px; padding: 10px 0 14px; }
.ref-done h3 { margin: 6px 0 0; font-size: 22px; }
.rd-ic { width: 72px; height: 72px; border-radius: 50%; display: grid; place-items: center; background: #e3f5ea; color: #1f9d55; }
@media (max-width: 760px) { .ref-two { grid-template-columns: 1fr; } .rs-list { max-height: 260px; } }
.ref-two fieldset { padding: 0; margin: 0 0 14px; border: 0; } .ref-two fieldset .chips { margin-top: 6px; }
/* Additions retain the original clinic design and all existing sections. */
.promotion-hero {padding:28px;border:1px solid #CBDEF4;border-radius:22px;background:linear-gradient(115deg,#E6F1FF,#F5F9FF);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:4px solid #E64545}
.promotion-hero h2{font-size:28px;line-height:1.25;margin:6px 0 12px;color:#003F80}.promotion-hero p{margin:0;max-width:680px;color:#44566B}.promotion-hero .eyebrow{color:#2566A6;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.channel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.channel-card{display:flex;flex-direction:column;gap:10px}.channel-card h3,.channel-card p{margin:0}.channel-card .row:last-of-type{margin-top:auto}.channel-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#EAF3FE;color:#005DAF;font-weight:800;font-size:23px}.channel-url{font-size:12px;color:#536C86;overflow-wrap:anywhere}
.outreach-list{display:grid;gap:14px}.outreach-meta{display:grid;gap:8px;font-size:14px;margin:12px 0 16px;color:#536C86}.text-danger{color:#B42318}.outreach-card details{margin-top:14px}.plan-checklist{display:grid;gap:12px;border-top:1px solid #DDE8F4;padding-top:16px}.plan-step{border-radius:12px;background:#F5F9FF;padding:12px}.plan-step .check{margin:0;align-items:flex-start}.plan-step input{flex-shrink:0;margin-top:4px;width:20px;height:20px}.step-proof{font-size:13px;overflow-wrap:anywhere;margin:8px 0 0 32px;color:#536C86}.plan-due{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.data-table{overflow-x:auto;background:white;border:1px solid #DDE8F4;border-radius:16px}.data-table table{width:100%;border-collapse:collapse;min-width:580px}.data-table th,.data-table td{padding:14px;text-align:left;border-bottom:1px solid #E2EAF3}.data-table td small{display:block}.data-table th{background:#EFF6FF;color:#315A84;font-size:13px}.data-preview{max-height:380px;overflow:auto}.data-preview-row{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;padding:10px;border-bottom:1px solid #E2EAF3}.proto-tabs{display:flex;gap:8px;flex-wrap:wrap;position:sticky;top:0;background:white;padding:10px 0;z-index:2}.proto-actions{position:sticky;bottom:0;background:white;padding:14px 0;border-top:1px solid #DEE8F2}
@media(max-width:1100px){.channel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.promotion-hero{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.channel-grid{grid-template-columns:1fr}.promotion-hero{padding:20px;gap:16px}.promotion-hero h2{font-size:24px}.proto-actions .btn{flex:1;white-space:normal}}
.script-hint{padding:16px 18px;background:#EFF6FF;border:1px solid #CBDFF6;border-left:4px solid #1D6FD8;border-radius:12px;margin:10px 0}.script-hint strong{font-size:13px;color:#005DAF}.script-hint p{font-size:14px;line-height:1.6;margin:6px 0 0;color:#3D5773;white-space:pre-wrap}

/* ── Горячая линия: контроль руководителя и карточки звонков ── */
.hl-ctl { display: grid; gap: 16px; }
.hl-ctl h2 { margin: 4px 0 0; } .hl-ctl h3 { margin: 0 0 6px; font-size: 18px; }
.hl-ctl .seg { flex-wrap: wrap; }
.hl-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
.hl-ctl.compact .hl-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hl-kpi { border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; display: grid; gap: 2px; background: #fff; }
.hl-kpi strong { font-size: 24px; line-height: 1.15; color: var(--ink, #13235F); }
.hl-kpi span { color: var(--muted); font-size: 14px; }
.hl-kpi.ok strong { color: var(--ok); } .hl-kpi.warn strong { color: var(--warn); } .hl-kpi.bad { background: var(--red-50); border-color: #F3C7C7; } .hl-kpi.bad strong { color: #B4161B; }
.hl-alert { background: var(--red-50); border: 1px solid #F3C7C7; color: #8F0000; border-radius: 14px; padding: 12px 14px; }
.hl-alert ul { margin: 6px 0 0; padding-left: 20px; display: grid; gap: 2px; }
.hl-okline { background: var(--ok-50); color: var(--ok); border-radius: 14px; padding: 10px 14px; font-weight: 650; }
.hl-table { display: grid; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.hl-tr { display: grid; grid-template-columns: 1.6fr repeat(5, 1fr); gap: 8px; padding: 10px 14px; border-top: 1px solid var(--line); align-items: center; font-size: 15px; }
.hl-tr:first-child { border-top: 0; } .hl-tr.th { background: var(--soft); color: var(--muted); font-size: 13px; font-weight: 700; }
.hl-tr .bad { color: #B4161B; font-weight: 700; }
@media (max-width: 640px) {
  .hl-tr { grid-template-columns: 1fr 1fr; } .hl-tr.th { display: none; }
  .hl-tr span:first-child { grid-column: 1 / -1; }
  .hl-tr span[data-l]::before { content: attr(data-l) ': '; color: var(--muted); font-size: 13px; }
}
.hl-filter { flex-wrap: wrap; }
.hl-card.late { border-color: #F3C7C7; box-shadow: inset 4px 0 0 var(--red); }
.badge.late { background: var(--red-50); color: #B4161B; }
.hl-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.hl-actions .btn { min-height: 44px; padding: 10px 12px; width: 100%; justify-content: center; }
.hl-actions .btn.primary, .hl-actions .btn.wide { grid-column: 1 / -1; }
@media (min-width: 900px) { .hl-actions { grid-template-columns: repeat(4, max-content); } .hl-actions .btn.primary, .hl-actions .btn.wide { grid-column: auto; } }
.hl-results { display: grid; gap: 8px; }
.stat.warn strong { color: var(--warn); }
.check-row { display: flex; gap: 10px; align-items: center; font-weight: 600; }
.check-row input { width: 22px; height: 22px; }

/* Переключатели разделов не вылезают за край телефона */
.staff-content > .seg { flex-wrap: wrap; max-width: 100%; }

/* ── «Что вас беспокоит?» на главной для пациентов ── */
.worry-lead { margin: -6px 0 14px; }
.worry { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 10px; }
@media (max-width: 560px) { .worry-i { padding: 10px 12px; min-height: 56px; } .worry-ic { width: 38px; height: 38px; } }
.worry-i { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 14px 16px; border-radius: 18px; background: #fff; border: 1px solid #E4ECF5; text-decoration: none; color: var(--ink); min-height: 64px; transition: border-color .15s, box-shadow .15s; }
.worry-i:hover, .worry-i:focus-visible { border-color: var(--blue); box-shadow: 0 6px 18px rgba(0, 63, 128, .1); }
.worry-ic { width: 44px; height: 44px; border-radius: 14px; background: var(--blue-50); color: var(--blue); display: grid; place-items: center; }
.worry-t { display: grid; gap: 2px; } .worry-t strong { font-size: 16.5px; line-height: 1.3; } .worry-t small { color: var(--muted); font-size: 14px; }
.worry-i > .ic:last-child { color: var(--muted); }
/* Акция без фото: обложка ниже, чтобы на телефоне сразу было видно предложение */
.promo-media:has(.promo-cover) { aspect-ratio: 16 / 6; }
.promo-media:has(.promo-cover) .logo-sign { width: 44px; height: 50px; }

/* ── Кабинет пациента: карточка ближайшего приёма ── */
.nv2 { margin: 14px 0 16px; border-radius: 22px; padding: 18px; color: #fff; background: linear-gradient(135deg, #2F62E8, #1847C2); box-shadow: 0 12px 28px rgba(31, 77, 210, .25); display: grid; gap: 14px; }
.nv2-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 15px; }
.nv2-ok { background: rgba(255, 255, 255, .18); padding: 6px 10px; border-radius: 10px; font-weight: 700; }
.nv2-mid { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: center; }
.nv2-d { display: grid; justify-items: center; padding: 10px 12px; border-radius: 16px; border: 1px solid rgba(255, 255, 255, .3); background: rgba(255, 255, 255, .1); min-width: 86px; }
.nv2-d b { font-size: 36px; line-height: 1; } .nv2-d span { font-size: 14px; font-weight: 700; } .nv2-d small { font-size: 14px; opacity: .9; }
.nv2-i { display: grid; gap: 3px; min-width: 0; } .nv2-i strong { font-size: 19px; line-height: 1.25; } .nv2-i span { font-size: 15px; opacity: .92; }
.nv2-b { display: flex; flex-wrap: wrap; gap: 8px; border-top: 1px solid rgba(255, 255, 255, .22); padding-top: 12px; }
.nv2 .nv2-w { background: #fff; color: #1847C2; border: 0; }
.nv2 .nv2-l { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .6); border: 0; }
.nv2-note { margin: 0; font-size: 14px; opacity: .9; }

/* ── Кабинет: лекарства и напоминания ── */
.med-strip { display: flex; gap: 12px; align-items: center; margin: 0 0 14px; padding: 12px 14px; border-radius: 16px; background: #fff; border: 1px solid var(--line); text-decoration: none; color: var(--ink); }
.med-strip strong { display: block; } .med-strip small { color: var(--muted); font-size: 14px; }
.med-ic { width: 42px; height: 42px; border-radius: 12px; background: var(--ok-50); color: var(--ok); display: grid; place-items: center; flex: none; }
.med-today { display: grid; gap: 8px; }
.med-slot { display: flex; gap: 12px; align-items: center; width: 100%; text-align: left; background: #fff; border: 1.5px solid var(--line); border-radius: 14px; padding: 12px; cursor: pointer; font: inherit; color: inherit; min-height: 64px; }
.med-slot strong { display: block; } .med-slot small { color: var(--muted); font-size: 14px; }
.med-time { font-weight: 800; font-size: 18px; color: var(--blue-800); min-width: 54px; }
.med-check { display: inline-flex; gap: 4px; align-items: center; font-weight: 700; font-size: 14px; padding: 8px 12px; border-radius: 10px; background: var(--blue-50); color: var(--blue-800); white-space: nowrap; }
.med-slot.taken { border-color: #BFE3CD; background: var(--ok-50); } .med-slot.taken .med-check { background: var(--ok); color: #fff; }
.med-slot.late { border-color: #F3C7C7; } .med-slot.late .med-check { background: var(--red-50); color: #B4161B; }
.med-plan { display: grid; gap: 8px; }
.med-bar { height: 8px; border-radius: 99px; background: var(--soft); overflow: hidden; } .med-bar i { display: block; height: 100%; background: var(--ok); border-radius: 99px; }
.med-offer { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.med-rx { display: grid; gap: 2px; padding: 12px 14px; background: var(--soft); border-radius: 14px; }
.med-times { display: flex; flex-wrap: wrap; gap: 8px; }
.med-tin { display: inline-flex; align-items: center; gap: 2px; } .med-tin input { width: 120px; }
.grid2.tight { gap: 10px; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }

/* ── Помощник для пациентов ── */
.helper-fab { position: fixed; right: 16px; bottom: 24px; z-index: 60; display: inline-flex; align-items: center; gap: 8px; padding: 12px 16px; border: 0; border-radius: 999px; background: var(--blue); color: #fff; font: 700 15px var(--font); box-shadow: 0 10px 26px rgba(0, 63, 128, .3); cursor: pointer; min-height: 52px; }
@media (max-width: 860px) { .helper-fab { bottom: calc(84px + env(safe-area-inset-bottom, 0px)); right: 12px; padding: 12px; } .helper-fab span { display: none; } }
.helper-panel { position: fixed; z-index: 70; right: 16px; bottom: 16px; width: min(400px, calc(100vw - 32px)); height: min(640px, calc(100vh - 32px)); display: grid; grid-template-rows: auto 1fr auto auto auto; background: #fff; border-radius: 22px; box-shadow: 0 20px 60px rgba(0, 30, 80, .3); overflow: hidden; }
@media (max-width: 560px) { .helper-panel { inset: auto 0 0 0; width: 100%; height: 86vh; border-radius: 22px 22px 0 0; } }
.helper-head { display: flex; gap: 10px; align-items: center; padding: 12px 14px; background: var(--blue); color: #fff; }
.helper-head strong { display: block; } .helper-head small { opacity: .85; font-size: 13px; }
.helper-av { width: 38px; height: 38px; border-radius: 50%; background: rgba(255, 255, 255, .18); display: grid; place-items: center; }
.helper-x { border: 0; background: rgba(255, 255, 255, .15); color: #fff; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; }
.helper-list { overflow-y: auto; padding: 14px; display: grid; gap: 10px; align-content: start; background: var(--soft); }
.hm { max-width: 88%; display: grid; gap: 8px; } .hm p { margin: 0; padding: 10px 12px; border-radius: 16px; font-size: 15.5px; line-height: 1.45; }
.hm.bot p { background: #fff; border: 1px solid var(--line); border-top-left-radius: 4px; } .hm.me { justify-self: end; } .hm.me p { background: var(--blue); color: #fff; border-top-right-radius: 4px; }
.hm-acts { display: flex; flex-wrap: wrap; gap: 6px; } .hm-acts .btn { min-height: 38px; font-size: 14px; background: #fff; }
.helper-chips { display: flex; gap: 6px; overflow-x: auto; padding: 8px 12px; border-top: 1px solid var(--line); scrollbar-width: none; }
.helper-chips .chip { flex: none; white-space: nowrap; }
.helper-in { display: flex; gap: 8px; padding: 10px 12px; border-top: 1px solid var(--line); } .helper-in input { flex: 1; min-width: 0; font: 16px var(--font); padding: 10px 12px; border: 1.5px solid var(--line); border-radius: 12px; } .helper-in .btn { min-height: 44px; padding: 0 14px; }
.helper-foot { margin: 0; padding: 0 12px 10px; font-size: 12.5px; color: var(--muted); }
.grid2.tight > * { min-width: 0; } .grid2.tight input { width: 100%; min-width: 0; }
@media (max-width: 560px) { .med-slot { gap: 10px; padding: 10px; } .med-time { min-width: 46px; font-size: 17px; } .med-check { padding: 6px 8px; font-size: 13px; } .med-slot strong { font-size: 15.5px; line-height: 1.3; } }

.hl-src { display: flex; flex-wrap: wrap; gap: 6px; }
.hl-src .chip { min-height: 38px; padding: 6px 12px; font-size: 14.5px; }

/* ── Рост: девиз маркетолога, сегодня против вчера, Instagram ── */
.motto { background: linear-gradient(135deg, #0B6FE0, #0A4FB0); color: #fff; border: 0; display: grid; gap: 10px; }
.motto h2 { color: #fff; margin: 0; font-size: clamp(24px, 4vw, 32px); }
.motto-k { font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; opacity: .85; }
.motto-l { font-size: 18px; font-weight: 700; margin: 0; }
.motto-steps { margin: 0; padding-left: 22px; display: grid; gap: 6px; } .motto-steps b { color: #fff; }
.motto-q { margin: 0; padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, .14); font-size: 15px; }
.gr-today { display: grid; gap: 12px; }
.gr-cells { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
@media (max-width: 640px) { .gr-cells { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.gr-cell { border: 1px solid var(--line); border-radius: 14px; padding: 12px; display: grid; gap: 2px; background: #fff; }
.gr-cell strong { font-size: 26px; line-height: 1.1; } .gr-cell span { color: var(--muted); font-size: 14px; } .gr-cell small { color: var(--muted); font-size: 13px; }
.gr-up { color: var(--ok); font-weight: 700; font-size: 13px; } .gr-down { color: #B4161B; font-weight: 700; font-size: 13px; } .gr-eq { color: var(--muted); font-size: 13px; }
.gr-miss { color: var(--warn); }
.gr-accs { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; margin-top: 10px; }
.gr-acc { border: 1px solid var(--line); border-radius: 16px; padding: 14px; display: grid; gap: 6px; background: #fff; }
.gr-acc strong { display: block; } .gr-num b { font-size: 30px; color: var(--ink, #13235F); } .gr-num span { color: var(--muted); margin-left: 6px; }
.gr-deltas { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 14px; color: var(--muted); }
.gr-spark { width: 100%; height: 48px; color: var(--blue); }
.gr-funnel { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
@media (max-width: 760px) { .gr-funnel { grid-template-columns: 1fr; } }
.gr-step { border-radius: 14px; padding: 12px; background: var(--blue-50); display: grid; gap: 2px; position: relative; }
.gr-step strong { font-size: 26px; color: var(--blue-800); } .gr-step span { font-weight: 700; } .gr-step small { color: var(--muted); font-size: 13px; }
.gr-step.ok { background: var(--ok-50); } .gr-step.ok strong { color: var(--ok); }

/* ── Кошелёк и срочные задачи ── */
.home-strips { display: grid; gap: 8px; margin: 10px 0 4px; }
.strip { display: flex; gap: 12px; align-items: center; width: 100%; text-align: left; border: 1px solid var(--line); background: #fff; border-radius: 16px; padding: 12px 14px; cursor: pointer; font: inherit; color: inherit; }
.strip strong { display: block; font-size: 20px; line-height: 1.2; } .strip small { display: block; color: var(--muted); font-size: 13.5px; }
.strip-ic { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; flex: none; background: var(--ok-50); color: var(--ok); }
.task-strip .strip-ic { background: var(--blue-50); color: var(--blue); } .task-strip strong { font-size: 16.5px; }
.task-strip.hot { border-color: #F3C7C7; } .task-strip.hot .strip-ic { background: var(--red-50); color: #B4161B; }
.w-hero { border-radius: 22px; padding: 20px; color: #fff; background: linear-gradient(135deg, #0B7A3E, #0A5C30); display: grid; gap: 4px; box-shadow: 0 12px 28px rgba(11, 122, 62, .25); margin: 10px 0 14px; }
.w-hero small { opacity: .85; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: 12.5px; }
.w-hero > strong { font-size: clamp(34px, 8vw, 46px); line-height: 1.05; } .w-hero > span { opacity: .9; }
.w-today { display: flex; justify-content: space-between; margin-top: 8px; padding: 10px 12px; border-radius: 12px; background: rgba(255, 255, 255, .15); font-size: 16px; }
.w-goal { margin-top: 6px; padding: 10px 12px; border-radius: 12px; background: #FFE9A8; color: #5C4A00; font-weight: 600; }
.w-list { display: grid; gap: 4px; }
.w-row { display: flex; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line); }
.w-row strong { display: block; } .w-row small { display: block; color: var(--muted); font-size: 13.5px; } .w-row b { font-size: 18px; white-space: nowrap; }
.w-ic { width: 40px; height: 40px; border-radius: 12px; background: var(--soft); color: var(--blue-800); display: grid; place-items: center; flex: none; }
.w-row.plan .w-ic { background: #FFF2CC; color: #8A5300; }
.w-row.total { border-bottom: 0; padding-top: 12px; } .w-row.total b { font-size: 22px; color: var(--ok); }
.w-paid { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px; padding: 10px 12px; border-radius: 12px; background: var(--soft); font-size: 15px; }
.w-plan { display: grid; gap: 4px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.w-pbar { height: 8px; border-radius: 99px; background: var(--soft); overflow: hidden; } .w-pbar i { display: block; height: 100%; background: var(--blue); }
.w-bars { display: flex; align-items: flex-end; gap: 3px; height: 120px; padding-top: 6px; }
.w-bar { flex: 1; display: grid; grid-template-rows: 1fr auto; height: 100%; min-width: 0; }
.w-bar span { align-self: end; background: var(--ok); border-radius: 4px 4px 0 0; } .w-bar small { font-size: 10px; color: var(--muted); text-align: center; }
.w-team { display: grid; gap: 8px; } .w-person { display: grid; gap: 6px; }
.w-mini { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 14px; color: var(--muted); } .w-mini .warn { color: var(--warn); font-weight: 700; }
.tk-list { display: grid; gap: 8px; margin: 8px 0; }
.tk { display: flex; gap: 12px; align-items: flex-start; padding: 12px; border-radius: 14px; background: #fff; border: 1px solid var(--line); }
.tk strong { display: block; } .tk small { display: block; color: var(--muted); font-size: 13.5px; }
.tk.urg { border-left: 4px solid var(--warn); } .tk.over { border-left: 4px solid #B4161B; background: #FFF8F8; } .tk.done { opacity: .6; } .tk.done strong { text-decoration: line-through; }
.tk-check { width: 30px; height: 30px; border-radius: 9px; border: 2px solid var(--line); background: #fff; display: grid; place-items: center; cursor: pointer; flex: none; color: #fff; }
.tk.done .tk-check { background: var(--ok); border-color: var(--ok); }
.tk-team { display: grid; gap: 8px; } .tk-person summary { cursor: pointer; list-style: none; } .tk-person summary::-webkit-details-marker { display: none; }

/* ── Настоящие врачи и приезды ── */
.rd-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; margin-top: 12px; }
.rd-card { display: grid; gap: 10px; align-content: start; }
.rd-top { display: grid; grid-template-columns: 96px 1fr; gap: 14px; align-items: start; }
.rd-ph { width: 96px; height: 120px; border-radius: 16px; object-fit: cover; background: var(--blue-50); }
.rd-ini { display: grid; place-items: center; color: var(--blue); font-weight: 800; font-size: 28px; }
.rd-main { display: grid; gap: 4px; } .rd-main h3 { margin: 0; font-size: 18px; line-height: 1.25; }
.rd-tags { display: flex; gap: 4px; flex-wrap: wrap; }
.rd-spec { color: var(--blue-800); font-weight: 700; font-size: 15px; }
.rd-about { margin: 0; color: var(--ink); }
.rd-visits { display: flex; gap: 10px; padding: 10px 12px; border-radius: 12px; background: #FFF1E6; color: #9A3D00; } .rd-visits div { display: grid; gap: 2px; font-weight: 700; } .rd-visits b { font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
.rd-sched { margin: 0; padding: 8px 12px; border-radius: 12px; background: var(--soft); font-size: 15px; }
.btn.wa { background: #1F9D55; color: #fff; border: 0; }
.rd-priezd { padding: 18px; border-radius: 22px; background: #FFF4EA; border: 1.5px solid #FFD9B8; margin: 6px 0 22px; display: grid; gap: 8px; }
.rd-priezd h2 { margin: 0; }
.rd-plist { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 10px; }
.rd-pi { display: grid; grid-template-columns: 72px 1fr; gap: 12px; background: #fff; border-radius: 16px; padding: 12px; }
.rd-pph { width: 72px; height: 90px; border-radius: 12px; object-fit: cover; background: var(--blue-50); }
.rd-pt { display: grid; gap: 3px; } .rd-pdate { font-weight: 800; color: #9A3D00; font-size: 15px; }
.rd-pt .row { margin-top: 6px; }
.rd-walk { display: flex; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--line); }
.rd-walk span { display: grid; } .rd-walk small { color: var(--muted); font-size: 14px; }
.rd-wph { width: 44px; height: 54px; border-radius: 10px; object-fit: cover; background: var(--blue-50); flex: none; }
.rd-wph.rd-ini { font-size: 16px; }
@media (max-width: 560px) { .rd-grid, .rd-plist { grid-template-columns: 1fr; } }

/* Simplified patient interface, existing functions retained. */
:root{--blue:#087d88;--blue-700:#06636c;--blue-800:#054e56;--blue-50:#edf8f7;--blue-100:#d5edeb;--ink:#18383c;--muted:#546e73;--line:#e0ebed;--soft:#f5f9fa;--shadow:0 6px 26px #18383c0a}
body{background:#f7fafb;font-size:16px}h1,h2,h3,.serif,.hero2 h1{font-family:var(--font);letter-spacing:-.025em}h1{font-size:clamp(30px,4vw,44px)}.site-head{background:#ffffffed;border-bottom:1px solid var(--line)}.top-nav{display:none}.head-row{min-height:76px}.head-actions{margin-left:auto}.wrap{max-width:1120px}.hero2{margin:24px auto 0;border-radius:30px;max-width:1088px;min-height:360px;background:#eaf5f4}.hero2-bg{width:45%;left:auto;right:0;border-radius:0 30px 30px 0;opacity:.65}.hero2:after{background:linear-gradient(90deg,#eaf5f4 0%,#eaf5f4 52%,#eaf5f440 100%)}.hero2-in{padding:38px}.hero2-text{max-width:590px}.hero2 h1{font-size:clamp(30px,4vw,46px);line-height:1.15}.hero2-sub{font-size:18px;line-height:1.65;max-width:44ch}.hero2 .hero2-hours{font-size:13px}.hero2 .hero2-hours:last-child{display:none}.hero-actions{margin-top:24px}.btn{border-radius:14px;min-height:48px;transition:background .2s,transform .2s}.hero-actions .btn.primary{background:var(--blue);box-shadow:0 8px 22px #087d8820}.hero-actions .hero2-res{display:none}.tiles2-sec{margin-top:22px}.tiles2{grid-template-columns:repeat(4,1fr);padding:0;background:transparent;box-shadow:none;gap:14px}.tile2{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px 16px;box-shadow:var(--shadow);font-size:16px;gap:12px}.tile2-ic{background:#edf8f7;color:var(--blue)}.home-extra{margin-block:28px 42px}.home-extra>summary{cursor:pointer;background:#fff;padding:23px;border-radius:20px;border:1px solid var(--line);font-weight:700;list-style:none;display:flex;align-items:center;justify-content:space-between}.home-extra>summary:after{content:'+';font-size:26px;color:var(--blue)}.home-extra[open]>summary:after{content:'−'}.home-extra-body>.wrap{padding-inline:0}.easy-help{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:30px}.easy-help p{margin:6px 0 0;color:var(--muted)}.easy-next{margin-block:24px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}.easy-next h2{font-size:24px}.easy-menu{margin-top:28px}.easy-menu h2{font-size:20px;margin-bottom:14px}.easy-menu-link{display:flex;align-items:center;gap:16px;background:#fff;padding:19px;border:1px solid var(--line);text-decoration:none;border-radius:16px;margin-bottom:10px;color:var(--ink)}.easy-menu-link>span{flex:1;display:grid;gap:4px}.easy-menu-link small{color:var(--muted);font-size:14px}.easy-menu-link>.ic{color:var(--blue);flex-shrink:0}.site-foot{font-size:13px;background:#edf4f5}.site-foot .foot-grid>div:not(:first-child):not(.foot-legal){display:none}.stepper{background:#fff;padding:16px;border:1px solid var(--line);border-radius:18px}.pick{border-radius:18px}.tabs{gap:8px}.tab{border-radius:14px;min-height:48px}.cab-head h1{font-size:30px}.card{box-shadow:var(--shadow);border-color:var(--line)}.helper-fab{background:var(--blue);box-shadow:0 6px 20px #087d8820}.helper-fab span{display:none}.helper-fab{padding:13px;border-radius:50%;min-width:50px}.bottom-nav a.on{background:var(--blue-50);color:var(--blue)}
@keyframes patient-enter{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){#main>div,#main>.hero2{animation:patient-enter .3s ease both}}
@media(hover:hover){.tile2:hover,.easy-menu-link:hover{border-color:var(--blue);background:#f8fdfc}.btn:hover{transform:translateY(-1px)}}
@media(max-width:760px){.hero2{margin:16px 16px 0;border-radius:24px;min-height:0}.hero2-bg{display:none}.hero2:after{display:none}.hero2-in{padding:24px}.hero2-text{max-width:none}.hero2 h1{font-size:32px;margin-top:12px}.hero2-sub{font-size:16px}.hero2 .hero-actions{margin-top:20px}.hero-actions .btn.primary{width:100%;justify-content:space-between;padding:16px 20px}.hero2 .eyebrow{font-size:11px;letter-spacing:.03em}.hero2 .hero2-hours{font-size:12px;line-height:1.6}.tiles2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile2{padding:20px 12px;font-size:15px;min-height:130px}.tiles2-sec{margin-top:16px}.easy-help{display:block;padding-top:24px;padding-bottom:0}.easy-help>.btn{margin-top:14px;width:100%}.home-extra{margin-top:20px}.home-extra>summary{padding:18px;font-size:15px;gap:12px}.bottom-nav a{font-size:11px;padding:8px 0}.bottom-nav{padding-inline:8px}.site-foot{margin-bottom:78px}.helper-fab{bottom:calc(86px + env(safe-area-inset-bottom));right:16px}.head-book,.head-phone{display:none!important}.head-row{min-height:66px}.head-actions .btn{font-size:13px}.head-row .logo img{max-width:155px}.pad{padding-block:26px}.cab-head{gap:12px}.cab-head h1{font-size:25px}.nv2-mid{gap:14px}.stepper .t{font-size:11px}.easy-next{width:calc(100% - 32px);padding:20px}.easy-menu-link{padding:16px}.home-extra-body .sec{padding-block:28px}.helper-panel{max-height:calc(100dvh - 90px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.helper-fab .ic{display:inline-flex!important;color:#fff}.easy-demo{text-align:center;padding:8px 14px;font-size:12px;color:#546e73;background:#edf4f5}.desktop-more{display:inline-flex}@media(max-width:860px){.desktop-more{display:none}}

/* Motion and dedicated chat screen. */
.hero2{isolation:isolate}.hero2-in{z-index:2}.hero2:before{content:"";position:absolute;z-index:1;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,#b5e4df88,transparent 68%);right:20%;top:-120px;pointer-events:none}
.tile2,.easy-menu-link,.doc4,.pick,.card{transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s}.btn{transition:transform .25s,box-shadow .25s,background .25s}.btn:active,.tile2:active{transform:scale(.97)}
.chat-entry{display:flex;align-items:center;gap:18px;margin-top:24px;border:1px solid #cfe8e5;border-radius:24px;padding:24px;background:linear-gradient(110deg,#e6f5f2,#f7fcfb);text-decoration:none;color:var(--ink);position:relative;overflow:hidden}.chat-entry-text{display:grid;gap:6px;flex:1}.chat-entry-text strong{font-size:21px}.chat-entry-text small{font-size:15px;color:var(--muted)}.chat-entry-go{display:flex;align-items:center;gap:10px;color:var(--blue);font-weight:750;white-space:nowrap}.chat-robot{width:70px;height:70px;border-radius:23px;background:linear-gradient(140deg,#fff,#d4eeeb);display:flex;align-items:center;justify-content:center;color:var(--blue);box-shadow:inset 0 0 0 1px #ffffff,0 8px 18px #087d8814;flex-shrink:0}
.chat-screen{max-width:950px;padding-block:28px 40px}.chat-intro{display:flex;align-items:center;gap:20px;margin-bottom:24px}.chat-intro h1{font-size:32px;margin:0 0 8px}.chat-intro p{margin:0;color:var(--muted)}.helper-page{position:static}.helper-page .helper-panel{position:static;inset:auto;width:100%;max-width:none;height:620px;max-height:none;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:26px;box-shadow:0 16px 40px #18383c09;overflow:hidden}.helper-page .helper-head{position:static;flex-shrink:0;padding:18px 22px;background:#fff;border-bottom:1px solid var(--line)}.helper-page .helper-list{flex:1;min-height:0;overflow:auto;padding:24px;background:linear-gradient(#f6fbfa,#eef7f6);overscroll-behavior:contain}.helper-page .hm{max-width:82%;border-radius:20px}.helper-page .hm.bot{background:white;box-shadow:0 4px 15px #18383c05}.helper-page .hm.me{background:var(--blue);color:white}.helper-page .helper-chips{flex-shrink:0;display:flex;flex-wrap:wrap;gap:8px;padding:14px 20px;background:#fff;border-top:1px solid var(--line)}.helper-page .chip{font-size:13px;border:1px solid #cfe8e5;background:#f4fbf9;min-height:40px}.helper-page .helper-in{flex-shrink:0;padding:14px 20px;background:#fff;gap:10px}.helper-page .helper-in input{min-width:0;font-size:16px;background:#f6f9fa;border:1px solid var(--line);border-radius:16px;min-height:50px}.helper-page .helper-in .btn{border-radius:16px;min-width:50px}.helper-page .helper-foot{margin:0;padding:0 20px 12px;background:#fff;font-size:11px;flex-shrink:0}.helper-page .helper-av{background:var(--blue-50);color:var(--blue)}
@keyframes patient-rise{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@keyframes patient-halo{0%{transform:translate(0,0) scale(.9)}50%{transform:translate(-50px,40px) scale(1.1)}100%{transform:translate(0,0) scale(1)}}
@keyframes patient-wave{0%,100%{transform:rotate(0)}35%{transform:rotate(-7deg)}70%{transform:rotate(5deg)}}
@keyframes patient-message{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){.hero2:before{animation:patient-halo 4s ease-in-out both}.hero2-text>*{animation:patient-rise .65s cubic-bezier(.2,.7,.3,1) both}.hero2-text>*:nth-child(2){animation-delay:.07s}.hero2-text>*:nth-child(3){animation-delay:.14s}.hero2-text>*:nth-child(4){animation-delay:.21s}.tiles2 .tile2{animation:patient-rise .65s cubic-bezier(.2,.7,.3,1) both}.tiles2 .tile2:nth-child(2){animation-delay:.08s}.tiles2 .tile2:nth-child(3){animation-delay:.16s}.tiles2 .tile2:nth-child(4){animation-delay:.24s}.chat-robot .ic{animation:patient-wave 1.8s ease-in-out both}.helper-page .hm:last-child{animation:patient-message .3s ease both}.bottom-nav .on .ic{animation:patient-rise .3s ease both}.chat-entry{animation:patient-rise .65s .2s ease both}}
@media(hover:hover){.tile2:hover,.doc4:hover{transform:translateY(-6px);box-shadow:0 14px 30px #087d8818}.tile2:hover .tile2-ic{transform:rotate(-6deg) scale(1.1)}.tile2-ic{transition:transform .3s}.chat-entry:hover .chat-robot{transform:rotate(-4deg) translateY(-3px)}.chat-robot{transition:transform .3s}.btn:hover{box-shadow:0 8px 20px #087d8819;transform:translateY(-2px)}}
@media(max-width:760px){.chat-entry{margin-inline:16px;padding:18px;width:calc(100% - 32px);gap:12px;flex-wrap:wrap}.chat-entry .chat-robot{width:56px;height:56px;border-radius:18px}.chat-entry-text{min-width:180px}.chat-entry-text strong{font-size:18px}.chat-entry-text small{font-size:13px}.chat-entry-go{margin-left:68px;font-size:14px}.chat-screen{padding:18px 12px 18px}.chat-intro{gap:14px;margin:0 4px 16px}.chat-intro .chat-robot{width:55px;height:55px;border-radius:18px}.chat-intro h1{font-size:24px}.chat-intro p{font-size:13px;line-height:1.5}.helper-page .helper-panel{height:calc(100dvh - 355px);min-height:340px;border-radius:22px}.helper-page .helper-head{padding:13px 14px}.helper-page .helper-list{padding:16px}.helper-page .helper-chips{padding:10px 12px;gap:6px;max-height:116px;overflow:auto}.helper-page .chip{font-size:12px;min-height:36px;padding:7px 10px}.helper-page .helper-in{padding:10px 12px}.helper-page .helper-foot{padding:0 12px 10px}.helper-page .hm{max-width:94%;font-size:14px}.helper-page .helper-head small{font-size:10px}.helper-page .helper-head strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.reminder-guide{display:flex;gap:18px;align-items:center;border:1px solid #cfe8e5;background:linear-gradient(120deg,#eaf6f2,#f8fcfb);border-radius:22px;padding:24px}.reminder-guide h3{margin:0 0 8px}.reminder-guide p{margin:0;color:var(--muted);line-height:1.6}.home-reminder{display:flex;gap:18px;align-items:center;padding:24px;margin-top:18px;margin-bottom:18px;border-radius:24px;background:#fff9ed;border:1px solid #efdfc1;text-decoration:none;color:var(--ink)}.home-reminder .grow{display:grid;gap:5px}.home-reminder strong{font-size:22px}.home-reminder small{font-size:13px;color:var(--muted)}.med-time small{display:block;font-size:10px;line-height:1.3;font-weight:500}.med-slot .med-check{min-width:95px;white-space:normal;text-align:center}.med-slot.taken{background:#eaf6f0;border-color:#c9e8d8}.med-bar i{transition:width .5s ease}.med-slot:active{transform:scale(.98)}.med-time{white-space:normal}.med-plan{border-radius:22px}.med-plan .btn{min-height:44px}@media(max-width:760px){.home-reminder{width:calc(100% - 32px);margin-inline:16px;padding:18px;gap:12px}.home-reminder .chat-robot{width:50px;height:50px;border-radius:16px}.home-reminder strong{font-size:18px}.home-reminder .grow{min-width:0}.home-reminder> .ic{flex-shrink:0}.reminder-guide{padding:18px;align-items:flex-start;gap:12px}.reminder-guide .chat-robot{width:46px;height:46px}.reminder-guide h3{font-size:18px}.reminder-guide p{font-size:14px}.med-slot{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px}.med-slot .med-check{grid-column:2;justify-self:start;min-width:0;font-size:12px;padding:5px 10px;border-radius:999px;background:#edf5f5}.med-slot.taken .med-check{background:#d6efe2}}

.helper-page .helper-head{color:var(--ink)}.helper-page .helper-head small{color:var(--muted)}.helper-page .helper-x{color:var(--blue);background:var(--blue-50)}

.tiles2{grid-template-columns:repeat(5,minmax(0,1fr))}.tile2[data-nav="/apteka"]{background:#edf8f0;border-color:#d1e9d8}.pharmacy-hero{padding:32px;background:linear-gradient(135deg,#e5f5ed,#f7fcf8);border:1px solid #d1e9d8;border-radius:28px;display:grid;gap:18px;margin-bottom:22px}.pharmacy-hero h1{margin:0}.pharmacy-hero .lead{font-size:18px;line-height:1.65;margin:0}.pharmacy-rx{margin-bottom:18px;padding:24px}.pharmacy-rx h2{font-size:22px}.pharmacy-rx p{color:var(--muted);line-height:1.6}.pharmacy-staff{margin:24px 0}.pharmacy-staff summary{cursor:pointer;color:var(--muted);font-size:14px;padding:16px;border-top:1px solid var(--line)}.pharmacy-staff>p{font-size:14px}.pharmacy-hero .chat-robot{background:#fff;color:#297b4f}@media(max-width:760px){.tiles2{grid-template-columns:repeat(2,minmax(0,1fr))}.tile2[data-nav="/apteka"]{grid-column:1/-1;min-height:88px;display:flex;flex-direction:row;justify-content:center;gap:16px;padding:16px}.pharmacy-hero{padding:24px}.pharmacy-hero h1{font-size:30px}.pharmacy-hero .lead{font-size:16px}.pharmacy-rx{padding:20px}.pharmacy-rx .btn{width:100%}}

/* Правки Claude 11.10.2026: плитка «Аптека» по центру, темы чата видны после каждого ответа */
@media(max-width:760px){.tile2[data-nav="/apteka"]{align-items:center}.tile2[data-nav="/apteka"]>span:last-child{line-height:1}}
.helper-chips-more{border-top:1px solid var(--line)}
/* Employee workspace: calm styling and finite motion, role permissions unchanged. */
:root{--blue:#087d88;--blue-700:#06636c;--blue-800:#054e56;--blue-50:#edf8f7;--blue-100:#d5edeb;--ink:#18383c;--muted:#546e73;--line:#e0ebed;--soft:#f5f9fa;--shadow:0 8px 30px #18383c09}body{background:#f6f9fa}.staff{background:#f6f9fa}.staff-main{background:radial-gradient(ellipse at top right,#e4f3f180,transparent 65%)}.side{background:#fff;border-right:1px solid var(--line)}.side-logo{padding-bottom:12px}.side-label{letter-spacing:.12em;font-size:11px;color:var(--muted)}.side-nav{gap:6px}.side-nav a{border:1px solid transparent;border-radius:14px;min-height:50px;padding:12px 14px;transition:background .2s,transform .2s,border-color .2s}.side-nav a.on{background:var(--blue-50);color:var(--blue);border:1px solid #cee7e3;box-shadow:0 4px 14px #087d8808}.side-nav a.on .ic{color:var(--blue)}.side-more summary{font-weight:700;color:var(--muted);padding:16px 12px}.side-care{background:linear-gradient(140deg,#e9f7f3,#f4fbfa);border-radius:18px}.staff-find{width:100%;justify-content:flex-start;margin-bottom:18px;background:#f7fafb;border-radius:14px}.staff-top{background:#ffffffeb;backdrop-filter:blur(14px);box-shadow:0 3px 18px #18383c04}.staff-top-find{color:var(--blue);background:var(--blue-50);border-radius:14px}.role-pill{background:#edf6f5;color:var(--blue);border:1px solid #d9eae7}.page-head{padding:26px 28px 20px}.page-head h1{font-size:clamp(27px,3vw,38px);letter-spacing:-.03em}.crumb{font-size:12px;color:var(--muted)}.staff-content{padding-inline:28px}.staff-content .card{border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.btn{border-radius:13px;min-height:46px;transition:transform .22s,box-shadow .22s,background .22s}.btn:active{transform:scale(.98)}.btn.primary{background:var(--blue);box-shadow:0 6px 16px #087d8814}.btn.ghost{background:#fff;border-color:var(--line)}.kpi{border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s}.kpi strong{letter-spacing:-.035em}.big-act{border-radius:20px;border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s}.seg{border-radius:14px;background:#eef4f5;padding:4px;gap:4px}.seg button{border-radius:11px;min-height:40px}.room-card,.lead-card{border-radius:20px;box-shadow:0 4px 20px #18383c05}.staff-bottom{background:#ffffffed;backdrop-filter:blur(12px);box-shadow:0 -3px 22px #18383c08}.staff-bottom a.on,.staff-bottom button.on{background:var(--blue-50);color:var(--blue);border-radius:13px}.sheet-nav a{border:1px solid var(--line);background:#fff;margin-bottom:6px;min-height:52px;border-radius:14px}.sheet-nav a.on{background:var(--blue-50)}.staff-search-results{max-height:55dvh;overflow-y:auto;padding:2px;overscroll-behavior:contain}.staff-search-results a{font-size:15px}.staff-search-results+.muted{padding:16px}.login-page{background:radial-gradient(ellipse at top left,#d8eee9,#f5f9fa 60%)}.lg-card,.login-card{border-radius:26px;box-shadow:0 20px 60px #18383c12}.lg-role{border-radius:14px;transition:transform .25s,border-color .25s}.lg-role.on{background:var(--blue-50);border-color:var(--blue)}.empty{border-radius:20px}input,select,textarea{border-radius:12px}dialog{border-radius:24px;box-shadow:0 25px 90px #18383c25}dialog::backdrop{background:#102e3b55;backdrop-filter:blur(3px)}
@keyframes staff-screen{from{opacity:.1;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes staff-card{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@keyframes staff-pop{from{opacity:.3;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:no-preference){.staff-content{animation:staff-screen .35s ease both}.kpis>.kpi,.big-actions>.big-act{animation:staff-card .55s cubic-bezier(.2,.7,.3,1) both}.kpis>:nth-child(2),.big-actions>:nth-child(2){animation-delay:.06s}.kpis>:nth-child(3),.big-actions>:nth-child(3){animation-delay:.12s}.kpis>:nth-child(4){animation-delay:.18s}.side-nav .on .ic,.staff-bottom .on .ic{animation:staff-pop .3s ease both}dialog[open]{animation:staff-pop .25s ease both}.login-page .lg-role{animation:staff-card .45s ease both}}
@media(hover:hover){.side-nav a:hover{transform:translateX(3px);background:#f1f8f7}.kpi:hover,.big-act:hover{transform:translateY(-4px);box-shadow:0 14px 26px #087d8810}.btn:hover{transform:translateY(-2px)}.lg-role:hover{transform:translateY(-3px)}}
@media(max-width:860px){.staff-top{padding:12px 16px}.page-head{padding:22px 16px 16px}.page-head h1{font-size:28px}.staff-content{padding-inline:16px;padding-bottom:100px}.staff-top .top-branch{min-width:0}.top-user{gap:8px}.staff-top-find{width:40px;height:40px}.staff-bottom a,.staff-bottom button{font-size:11px;min-height:62px}.page-act{gap:8px;flex-wrap:wrap}.page-act .btn{font-size:13px}.card.sched-card{padding:16px}.kpis{gap:10px}.kpi{padding:17px}.kpi strong{font-size:28px}.big-actions{gap:10px}.staff-content .big-act{min-height:100px;padding:16px}.role-pill{font-size:11px}.staff-search-results{max-height:50dvh}.staff-content h2{font-size:22px}.login-page{padding-bottom:30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Codex: кабинет направителей, 11.10.2026 */
.partner-workspace { --blue:#087d88; --blue-800:#075d65; --blue-50:#e9f6f4; --ink:#193538; --line:#e1ebea; background:#f4f8f8; }
.partner-workspace .pshell { background:radial-gradient(ellipse at top right,#e5f4ef,transparent 55%),#f4f8f8; }
.partner-workspace .pside,.partner-workspace .ptop,.partner-workspace .card { box-shadow:0 8px 28px #183c3910; border:1px solid #e3ece9; }
.partner-workspace .pn-item.on { border-left-color:#087d88; }
.partner-workspace .pn-item,.partner-workspace .btn,.partner-workspace .pdir,.partner-workspace .pt-row { transition:background .18s,transform .18s,box-shadow .18s; }
.partner-workspace .btn.primary { background:#087d88; border-color:#087d88; box-shadow:0 5px 14px #087d8824; }
.partner-workspace .btn.primary:hover { background:#066772; }
.partner-workspace .btn,.partner-workspace input,.partner-workspace select { min-height:46px; border-radius:14px; }
.partner-workspace .phero { min-height:290px; border:1px solid #e1eeea; box-shadow:0 10px 32px #183c3910; }
.partner-workspace .phero::after { background:linear-gradient(90deg,#edf7f5 0,#edf7f5f0 52%,#edf7f550 85%,transparent); }
.partner-workspace .phero-t { max-width:650px; }
.partner-workspace .phero-t h1 { font-size:clamp(30px,3.5vw,44px); line-height:1.15; }
.partner-workspace .partner-overview { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px; }
.partner-workspace .partner-stat { display:grid; gap:6px; text-align:left; padding:20px; border:1px solid #dce9e5; border-radius:20px; background:#fff; font:inherit; color:var(--ink); cursor:pointer; transition:transform .18s,box-shadow .18s; }
.partner-workspace .partner-stat strong { font-size:32px; color:#087d88; }
.partner-workspace .partner-stat small { color:var(--muted); }
.partner-workspace .pcontent > * { animation:partner-arrive .45s both; }
.partner-workspace .pcontent > :nth-child(2) { animation-delay:.06s; }
.partner-workspace .pcontent > :nth-child(3) { animation-delay:.12s; }
.partner-workspace .pcontent > :nth-child(4) { animation-delay:.18s; }
.partner-workspace .dialog,.partner-workspace .login-card { animation:partner-arrive .3s both; }
.partner-workspace .pbottom button { transition:background .18s,color .18s; }
.partner-workspace .pbottom button.on .ic { animation:partner-pop .25s both; }
@keyframes partner-arrive { from {opacity:0;transform:translateY(12px)} to {opacity:1;transform:translateY(0)} }
@keyframes partner-pop { from {transform:scale(.85)} to {transform:scale(1)} }
@media (hover:hover) { .partner-workspace .partner-stat:hover,.partner-workspace .pdir:hover { transform:translateY(-3px); box-shadow:0 8px 22px #183c3918; } }
@media(max-width:760px) {
 .partner-workspace .phero { min-height:0; }
 .partner-workspace .phero-img { height:130px; }
 .partner-workspace .phero-t { padding:20px; }
 .partner-workspace .partner-overview { gap:8px; }
 .partner-workspace .partner-stat { padding:12px 9px; border-radius:16px; }
 .partner-workspace .partner-stat span { font-size:12px; min-height:36px; }
 .partner-workspace .partner-stat strong {font-size:26px;}
 .partner-workspace .partner-stat small {font-size:10px;}
 .partner-workspace .ptop-t {font-size:14px;}
 .partner-workspace .pbottom { box-shadow:0 -5px 24px #183c3910; }
}
@media(prefers-reduced-motion:reduce) { .partner-workspace *, .partner-workspace *::before,.partner-workspace *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;} }

/* Правки Claude 11.10.2026: кабинет направителя на телефоне — имя пациента видно, стрелка в той же строке */
.pt-row .pt-who{color:var(--ink);font-size:14px;font-weight:600}
@media(max-width:760px){.pt-row{grid-template-columns:minmax(0,1fr) auto 18px}.pt-row>span:nth-child(2){display:none}}

/* Правки Claude 11.10.2026: раздел сотрудников на телефоне — шапка в одну строку, поле даты не обрезается */
input[type=date]{min-width:150px}
@media(max-width:760px){.staff-top{flex-wrap:nowrap;gap:10px}.staff-top .top-logo,.staff-top .role-pill{display:none}.staff-top .top-branch{min-width:0;flex:1}.staff-top .branch-sel{min-width:0}}

/* ── Склад и заказ лекарств (связь с аптекой ЛАЙК ФАРМ) ── */
.ph-search { display: flex; align-items: center; gap: 10px; border: 2px solid var(--line); border-radius: 14px; padding: 0 14px; background: #fff; min-height: 52px; }
.ph-search input { border: 0; outline: 0; flex: 1; min-width: 0; font: 500 17px var(--font); background: transparent; padding: 12px 0; }
.ph-search:focus-within { border-color: var(--blue); }
.ph-list { display: grid; gap: 8px; margin-top: 10px; }
.ph-row { display: grid; grid-template-columns: minmax(0, 1fr) auto 40px; align-items: center; gap: 10px; text-align: left; width: 100%; padding: 12px 14px; border: 2px solid var(--line); border-radius: 14px; background: #fff; font: inherit; color: var(--ink); cursor: pointer; min-height: var(--tap, 48px); }
.ph-row.static { grid-template-columns: minmax(0, 1fr) auto; cursor: default; }
.ph-row.on { border-color: var(--blue); background: var(--sky); }
.ph-name { display: grid; gap: 2px; min-width: 0; }
.ph-name strong { font-weight: 700; overflow-wrap: anywhere; }
.ph-name small { color: #5b6b80; font-size: 14px; overflow-wrap: anywhere; }
.ph-have { font-size: 14px; color: var(--ok); font-weight: 600; white-space: nowrap; }
.ph-have.none { color: #8a96a8; font-weight: 500; }
.ph-add { width: 40px; height: 40px; border-radius: 50%; background: var(--blue); color: #fff; display: grid; place-items: center; font-weight: 800; }
.ph-qty { font-weight: 800; white-space: nowrap; }
.ph-qty.low { color: var(--red); }
.ph-lines { display: grid; gap: 10px; }
.ph-line { display: grid; gap: 8px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.ph-step { display: flex; align-items: center; gap: 8px; }
.ph-step input { width: 76px; min-height: 44px; text-align: center; font: 700 18px var(--font); border: 2px solid var(--line); border-radius: 12px; }
.ph-sq { width: 44px; height: 44px; border-radius: 12px; border: 2px solid var(--line); background: #fff; font: 800 22px var(--font); color: var(--ink); display: grid; place-items: center; cursor: pointer; }
.ph-del { margin-left: auto; color: var(--red); }
.ph-warn { color: #b25b00 !important; font-weight: 600; }
.ph-req { display: grid; gap: 8px; }
.ph-req-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.ph-items { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.ph-items li { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px dashed var(--line); }
.ph-items li span { min-width: 0; overflow-wrap: anywhere; }
.ph-items li b, .ph-items li em { white-space: nowrap; }
.ph-items li em { color: #b25b00; font-style: normal; font-size: 14px; }
.ph-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.ph-stat { background: #fff; border: 2px solid var(--line); border-radius: 16px; padding: 12px; display: grid; gap: 2px; }
.ph-stat b { font-size: 26px; color: var(--blue); }
.ph-stat span { font-size: 14px; color: #5b6b80; }
@media (max-width: 640px) { .ph-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ph-row { grid-template-columns: minmax(0, 1fr) 40px; } .ph-row .ph-have { grid-column: 1; grid-row: 2; } .ph-row .ph-add { grid-column: 2; grid-row: 1 / span 2; } }
.ph-chips { flex-wrap: wrap; overflow: visible; }
.ph-chips .chip { white-space: normal; text-align: left; }
.ph-flag { color: var(--red) !important; font-weight: 700; }
.invite-text { white-space: pre-wrap; font: 500 15px/1.5 var(--font); background: var(--soft, #f5f8fc); border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; margin: 0; overflow-wrap: anywhere; }
.btn.disabled { opacity: .45; pointer-events: auto; cursor: not-allowed; }
.ref-rows { display: grid; gap: 10px; margin-top: 10px; }
.ref-row { border: 2px solid var(--line); border-radius: 16px; padding: 12px 14px; display: grid; gap: 8px; background: #fff; }
.ref-row.top { border-color: var(--ok); background: var(--ok-50, #E8F6EE); }
.ref-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ref-head strong { overflow-wrap: anywhere; }
.ref-rank { width: 28px; height: 28px; border-radius: 50%; background: var(--blue); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 14px; flex: none; }
.ref-nums { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.ref-nums span { display: grid; gap: 2px; }
.ref-nums small { color: var(--muted); font-size: 13px; }
.warn-text { color: var(--warn, #8A5300); }
@media (max-width: 640px) { .ref-nums { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ptariff { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 4px; font-size: 15px; }
.ptariff li { display: flex; justify-content: space-between; gap: 10px; border-bottom: 1px dashed var(--line); padding: 4px 0; }

/* Голосовой черновик */
.voice-draft{margin:16px 0;padding:14px 18px}.voice-draft>summary{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:700;min-height:32px}.voice-body{display:grid;gap:12px;padding-top:12px}.voice-body textarea{width:100%;min-height:88px;resize:vertical;box-sizing:border-box}.voice-status{margin:0;font-size:14px}.voice-body .btn[aria-pressed="true"]{background:#ffe8df;color:#8d311c;border-color:#e9a78a}.time.want{outline:3px solid #209576;outline-offset:2px}.voice-draft p{overflow-wrap:anywhere}@media(max-width:480px){.voice-draft{padding:12px}.voice-body .row .btn{flex:1;justify-content:center;min-height:44px}}


/* ═════ Восстановлено 12.10.2026 из версии 10.10.2026: чек-апы, лекарства (отметки, пропуски, крупный шрифт, голос), аптека, семья и близкие, звонок из чата, обращения из ИИ-чата, поиск врачей, частые вопросы, вакансии. Не удалять. ═════ */
html.big-font body{zoom: 1.15;}
.comfort{margin: -4px 0 4px;}
.comfort .aa{font-weight: 800; font-size: 18px; letter-spacing: -.02em;}
.med-today2{display: grid; gap: 12px;}
.med-slot2{background: #fff; border: 1px solid var(--line); border-left: 6px solid var(--blue); border-radius: 18px; padding: 14px 16px; display: grid; gap: 6px; box-shadow: var(--shadow);}
.med-slot2.taken{border-left-color: var(--ok); background: var(--ok-50); box-shadow: none;}
.med-slot2.missed{border-left-color: var(--warn);}
.med-slot2 .med-time{font-size: 26px; font-weight: 800; color: var(--blue-800);}
.med-slot2 .med-name{font-size: 20px;}
.med-slot2 p{margin: 0;}
.btn.big-tap{min-height: 56px; font-size: 18px; flex: 1 1 220px; justify-content: center;}
.med-missed{background: var(--warn-50); border-radius: 14px; padding: 12px 14px; display: grid; gap: 6px; font-size: 16px;}
.med-missed .btn{justify-self: start;}
.warn-t{color: var(--warn); font-weight: 700;}
.pharm-card{border-top: 4px solid #12A4A0;}
.pharm-card h3{color: #0B6E6B;}
.fam-card .btn{margin: 4px 6px 4px 0;}
.helper-callbar{padding: 6px 12px 0; display: flex; justify-content: center;}
.cf{padding: 12px 14px; overflow-y: auto; display: grid; gap: 10px; align-content: start; flex: 1;}
.cf-head{display: flex; align-items: center; gap: 8px; justify-content: space-between;}
.cf h4{margin: 6px 0 0; font-size: 13px;}
.cf p{margin: 0;}
.cf textarea, .cf input[type=tel], .cf input[inputmode]{width: 100%; font: inherit; font-size: 16px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px;}
.cf-branch{display: grid; text-align: left; gap: 2px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; background: #fff; font: inherit; cursor: pointer; color: var(--ink);}
.cf-branch:hover{border-color: var(--blue); background: var(--blue-50);}
.cf-branch small{color: var(--muted); font-size: 14px;}
.cf-branch.off{opacity: .55; cursor: default; background: var(--soft);}
.cf-ok{background: var(--ok-50); color: var(--ok); padding: 10px 12px; border-radius: 12px; font-weight: 600;}
.cf-err{background: var(--red-50); color: var(--red); padding: 10px 12px; border-radius: 12px; font-weight: 600;}
.cf-q{background: var(--soft); padding: 10px 12px; border-radius: 12px;}
.cf .btn{justify-content: center;}
.ai-card{display: grid; gap: 10px; margin-bottom: 12px;}
.ai-card.fresh{border-left: 6px solid var(--warn);}
.ai-grid{display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 6px 16px;}
.ai-row{display: grid; font-size: 15px;}
.ai-row .muted{font-size: 13px;}
.ai-q{background: var(--blue-50); border-radius: 14px; padding: 10px 14px;}
.ai-q p{margin: 4px 0 0; font-size: 17px; font-weight: 600;}
.adh{margin-top: 14px;}
.lmh-ben{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 12px;}
.lmh-ben-i{display: flex; gap: 10px; align-items: flex-start; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 12px;}
.lmh-ben-i strong{display: block; font-size: 15px; line-height: 1.25;}
.lmh-ben-i small{display: block; color: var(--muted); font-size: 13px; line-height: 1.35; margin-top: 2px;}
.lmh-ben-ic{flex: none; width: 40px; height: 40px; border-radius: 12px; background: var(--blue-50); color: var(--blue); display: grid; place-items: center;}
.lmh-ben-i:last-child{grid-column: 1 / -1;}
.lmh-svc{display: grid; grid-auto-flow: column; grid-auto-columns: 78%; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; scrollbar-width: none;}
.lmh-svc::-webkit-scrollbar{display: none;}
.lmh-svc-c{scroll-snap-align: start; display: grid; grid-template-columns: minmax(0, 1fr) 46%; min-height: 128px; border-radius: 18px; overflow: hidden; background: #fff; border: 1px solid var(--line); text-decoration: none; color: var(--ink); box-shadow: var(--shadow);}
.lmh-svc-t{padding: 14px; display: grid; align-content: start; gap: 4px;}
.lmh-svc-t strong{font-size: 17px; color: var(--blue-800);}
.lmh-svc-t small{font-size: 13.5px; color: var(--muted); line-height: 1.35;}
.lmh-go{margin-top: 6px; width: 30px; height: 30px; border-radius: 50%; background: var(--blue-50); color: var(--blue); display: grid; place-items: center;}
.lmh-svc-c img{width: 100%; height: 100%; object-fit: cover;}
.lmh-ben + .tiles2-sec{margin-top: 14px !important; position: relative;}
.lmh-ben-i small{overflow-wrap: anywhere;}
.lmh-faq .lmh-q{background: #fff; border: 1px solid var(--line); border-radius: 16px; margin-bottom: 8px;}
.lmh-q summary{cursor: pointer; padding: 14px 44px 14px 16px; font-weight: 700; font-size: 16.5px; list-style: none; position: relative; color: var(--blue-800);}
.lmh-q summary::-webkit-details-marker{display: none;}
.lmh-q summary::after{content: '+'; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-size: 24px; color: var(--blue); font-weight: 400;}
.lmh-q[open] summary::after{content: '−';}
.lmh-q p{margin: 0; padding: 0 16px 14px; color: var(--ink); font-size: 16px;}
.lmh-jobs{display: flex; flex-wrap: wrap; gap: 14px; align-items: center; background: var(--blue-50); border: 1px solid var(--blue-100); border-radius: 20px; padding: 16px 18px;}
.lmh-jobs strong{font-size: 18px; color: var(--blue-800); display: block;}
.lmh-jobs p{margin: 4px 0 0; color: var(--muted); font-size: 15px;}
.lmh-jobs .grow{flex: 1 1 240px; min-width: 0;}
.lmh-jobs-ic{width: 50px; height: 50px; border-radius: 16px; background: #fff; color: var(--blue); display: grid; place-items: center; flex: none;}
.lmh-jobs .btn{flex: 1 1 100%; justify-content: center;}
.ck3-price{display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap;}
.ck3-price b{font-size: 26px; font-weight: 800; color: var(--ink); letter-spacing: -.01em;}
.ck3-price b.ask{font-size: 17px; color: var(--blue-800);}
.ck3-price s{color: var(--muted); font-size: 15px;}
.ck3-save{background: var(--red-50); color: var(--red); font-weight: 700; font-size: 13px; border-radius: 8px; padding: 2px 8px;}
.ck3-btns{display: flex; gap: 8px; margin-top: auto; padding-top: 6px;}
.ck3-btns .btn{flex: 1; justify-content: center; min-height: 46px;}
.ck3-warn{margin: 4px 0 0; font-size: 11.5px; color: var(--muted); line-height: 1.35;}
.ck3-dsub{color: var(--blue-700); font-weight: 700; margin: 0;}
.ck3-hook{font-weight: 700;}
.ck3-items{padding-left: 18px; display: grid; gap: 6px;}
.ck3-note, .ck3-small{font-size: 14px; color: var(--muted);}
.ck3-why{margin: 2px 0 0; font-size: 14.5px; line-height: 1.4; color: var(--ink);}
.ck3-btns .btn{padding: 0 10px; font-size: 15px; min-width: 0; white-space: nowrap;}
.lmh-banner-sec{margin-top: 12px;}
.lmh-banner{position: relative; display: flex; align-items: center; min-height: 110px; border-radius: 20px; overflow: hidden; text-decoration: none; color: #fff; background: var(--blue-800);}
.lmh-banner img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .55;}
.lmh-banner::before{content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,63,128,.92) 0%, rgba(0,82,165,.6) 55%, rgba(0,82,165,.15) 100%);}
.lmh-banner-t{position: relative; padding: 18px; display: grid; gap: 2px;}
.lmh-banner-t strong{font-size: 20px;}
.lmh-banner-t span{font-size: 17px; opacity: .92;}
.lmh-banner-go{position: absolute; right: 14px; width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,.22); display: grid; place-items: center;}
.lmh-banner img{opacity: .35; object-position: 100% 50%;}
.ck4-list{display: grid; gap: 16px; margin-top: 12px;}
.ck4{background: #fff; border: 1px solid var(--line); border-radius: 22px; overflow: hidden; box-shadow: 0 2px 12px rgba(0, 40, 90, .08); display: flex; flex-direction: column; scroll-margin-top: 80px;}
.ck4-ban{display: block; border: 0; padding: 0; margin: 0; background: none; text-align: left; font: inherit; color: inherit; cursor: pointer; width: 100%;}
.ck4-body{padding: 12px 14px 14px; display: grid; gap: 8px;}
.ck4-body .ck3-btns{display: grid; grid-template-columns: 1fr 1fr; gap: 8px;}
.ck4-body .ck3-btns .btn.ghost{grid-column: 1 / -1;}
.ck3-tag2{width: max-content; max-width: 100%; background: var(--blue-50); color: var(--blue-800); font-weight: 700; font-size: 13px; border-radius: 10px; padding: 4px 10px;}
.ckb{position: relative; overflow: hidden; background: linear-gradient(160deg, #F4F9FF 0%, #E3EFFD 100%); color: var(--ink);}
.ckb-ph{position: absolute; right: 0; top: 0; width: 46%; height: 150px; object-fit: cover; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 35%); mask-image: linear-gradient(90deg, transparent 0%, #000 35%);}
.ckb-in{position: relative; padding: 12px 14px 10px; display: grid; gap: 6px;}
.ckb-head{display: grid; gap: 4px; justify-items: start;}
.ckb-logo{height: 30px; width: auto;}
.ckb-spec{font-size: 10.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--blue-800);}
.ckb-title{display: inline-block; width: max-content; max-width: 100%; background: var(--red); color: #fff; font-weight: 800; font-size: 16px; line-height: 1.2; border-radius: 10px; padding: 5px 10px; margin-top: 4px;}
.ckb-sub{margin: 0; font-weight: 800; color: var(--blue-800); font-size: 14.5px; line-height: 1.25; max-width: 62%;}
.ckb-list{list-style: none; margin: 4px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 4px 10px; font-size: 12.5px; font-weight: 600; color: var(--blue-800);}
.ckb-list li{display: flex; gap: 5px; align-items: flex-start; line-height: 1.25;}
.ckb-list svg{flex: none; width: 15px; height: 15px; padding: 2px; border-radius: 50%; background: var(--blue); color: #fff; margin-top: 1px;}
.ckb-box{display: grid; grid-template-columns: 1fr 1fr; gap: 6px; align-items: center; background: #fff; border-radius: 16px; padding: 10px 12px; margin-top: 6px; box-shadow: 0 4px 14px rgba(0, 40, 90, .1);}
.ckb-was{font-size: 13px; font-weight: 700; color: var(--muted); text-transform: uppercase;}
.ckb-was s{display: block; font-size: 20px; text-decoration-color: var(--red); text-decoration-thickness: 2px;}
.ckb-now{display: grid; text-align: right;}
.ckb-now small{font-size: 13px; font-weight: 800; color: var(--blue); text-transform: uppercase;}
.ckb-now b{font-size: 28px; font-weight: 800; color: var(--red); line-height: 1;}
.ckb-off, .ckb-save{text-align: center; font-weight: 800; font-size: 13.5px; color: #fff; border-radius: 999px; padding: 6px 8px;}
.ckb-off{background: var(--red);}
.ckb-save{background: var(--blue);}
.ckb-off:only-of-type{grid-column: auto;}
.ckb-warn{font-size: 10.5px; font-weight: 600; color: var(--blue-800); opacity: .85; text-align: center; margin-top: 2px;}
.dr-search{display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 0 14px; margin: 6px 0 10px; box-shadow: 0 2px 10px rgba(0, 40, 90, .05);}
.dr-search svg{color: var(--muted); flex: none;}
.dr-search input{flex: 1; min-width: 0; border: 0; outline: 0; font: inherit; font-size: 16px; padding: 14px 0; background: transparent;}
.dr-chips{display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 2px 0 12px;}
.dr-chips::-webkit-scrollbar{display: none;}
.dr-chips .chip{flex: none;}
.ds-top{display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 14px; align-items: start;}
.ds-head{display: grid; gap: 4px;}
.ds-dates{display: flex; flex-wrap: wrap; gap: 8px;}
.ds-date{display: inline-flex; align-items: center; gap: 6px; background: var(--blue-50); color: var(--blue-800); font-weight: 700; font-size: 14px; border-radius: 12px; padding: 8px 12px;}
.ds-btns{display: grid; gap: 8px; margin-top: 10px;}
.ds-btns .btn{justify-content: center;}
.btn.pharm-btn{background: #12A4A0; border-color: #12A4A0; color: #fff; justify-content: center;}
.btn.pharm-btn:hover{background: #0B6E6B;}
.pharm-staff{border-top: 4px solid #12A4A0; display: grid; gap: 10px;}
.pharm-staff h2{color: #0B6E6B;}
#filialy .br-main{aspect-ratio: 16 / 9; object-fit: cover;}
.soon-card .br-main{aspect-ratio: auto; object-fit: contain; background: #10161f;}
#filialy .soon-card .br-main{aspect-ratio: auto; object-fit: contain; background: #10161f;}
.ds-ph{width: 120px; height: 150px; border-radius: 18px; object-fit: cover; object-position: 50% 12%;}
@media (min-width: 900px) {
  .lmh-ben{grid-template-columns: repeat(5, minmax(0, 1fr));}
  .lmh-ben-i:last-child{grid-column: auto;}
}
@media (min-width: 700px) {
  .lmh-svc{grid-auto-columns: 46%;}
  .lmh-jobs .btn{flex: none;}
}
@media (min-width: 1100px) {
  .lmh-svc{grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible;}
}
@media (min-width: 1000px) {
  .ck4-list{grid-template-columns: repeat(3, minmax(0, 1fr));}
}
@media (min-width: 721px) { .rx-row { grid-template-columns: 28px 2fr 1fr 1.6fr 1fr 1.6fr auto; } }

/* Приём пациентов и «Добавить услугу к визиту» (12.10.2026) */
.add-svc-list { max-height: 46vh; overflow-y: auto; padding-right: 2px; }
.add-svc-list .pick { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.add-svc-list .pick b { white-space: nowrap; font-variant-numeric: tabular-nums; }
.staff .priem-tabs { display: flex; flex-direction: row; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; overflow-x: visible; scrollbar-width: none; padding-bottom: 2px; }
.staff .priem-tabs::-webkit-scrollbar { display: none; }
.staff .priem-tabs .chip { display: inline-flex; align-items: center; gap: 6px; flex: none; white-space: nowrap; width: auto; }
@media (min-width: 900px) { .staff .priem-tabs { flex-wrap: wrap; overflow: visible; } }

/* Codex 12.10.2026: спокойный интерфейс пациента и единое оформление в «Приёме». */
.patient-workspace .care-hero { min-height:420px; background:linear-gradient(115deg,#edf8f5,#e4f1f1); margin-top:22px; }
.patient-workspace .care-hero.has-doctor .hero2-bg { display:none; }
.patient-workspace .care-hero:after { display:none; }
.patient-workspace .care-hero .hero2-in { padding:40px; }
.patient-workspace .care-hero .hero2-text { width:57%; max-width:560px; }
.patient-workspace .care-hero h1 { font-size:clamp(34px,4vw,52px); line-height:1.14; max-width:15ch; margin:18px 0; }
.patient-workspace .care-accent { color:#238b84; display:block; }
.patient-workspace .care-hero .hero2-sub { max-width:32ch; font-size:17px; line-height:1.6; }
.patient-workspace .care-doctor { position:absolute; right:0; top:0; bottom:0; width:40%; z-index:1; overflow:hidden; border-radius:0 30px 30px 0; background:#fff; }
.patient-workspace .care-doctor:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#e6f3f2,transparent 28%),linear-gradient(0deg,#e6f3f2,transparent 40%); pointer-events:none; }
.patient-workspace .care-doctor-photo { width:100%; height:100%; object-fit:cover; object-position:center 18%; }
.patient-workspace .care-doctor-caption { position:absolute; bottom:30px; left:32px; right:24px; z-index:1; display:grid; gap:5px; font-size:14px; }
.patient-workspace .care-doctor-caption small { color:var(--muted); }
.patient-workspace .care-book { display:flex; gap:14px; text-align:left; padding:16px 20px; width:min(390px,100%); background:#fff!important; color:var(--ink)!important; border:1px solid #d2e7e3; box-shadow:0 12px 25px #1d625915!important; }
.patient-workspace .care-book>span { display:grid; gap:4px; flex:1; min-width:0; }
.patient-workspace .care-book strong { font-size:16px; }
.patient-workspace .care-book small { font-size:12px; font-weight:500; color:var(--muted); }
.patient-workspace .care-book>.ic { color:#238b84; flex:none; }
.patient-workspace .tiles2 { gap:12px; }
.patient-workspace .tile2 { padding:18px 12px; border-radius:20px; font-size:14px; min-height:110px; gap:10px; }
.patient-workspace .tile2-ic { width:48px; height:48px; border-radius:15px; background:#eef8f5; }
.patient-workspace .care-branches { margin-top:24px; margin-bottom:28px; }
.patient-workspace .care-branches h2 { font-size:24px; }
.patient-workspace .care-branch-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.patient-workspace .care-branch { display:flex; align-items:center; gap:16px; padding:14px; border-radius:20px; background:#fff; border:1px solid var(--line); color:var(--ink); text-decoration:none; }
.patient-workspace .care-branch>img { width:88px; height:88px; border-radius:14px; object-fit:cover; flex:none; }
.patient-workspace .care-branch>span { display:grid; gap:5px; flex:1; min-width:0; }
.patient-workspace .care-branch small { color:var(--muted); font-size:12px; }
.patient-workspace .care-branch>.ic { color:var(--blue); flex:none; }
.patient-workspace .care-categories { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 22px; }
.patient-workspace .care-categories .chip { width:auto; min-height:44px; white-space:normal; }
.patient-workspace .care-booking .pick { padding:18px; gap:12px; min-height:76px; border:1px solid var(--line); background:#fff; }
.patient-workspace .care-booking .pick-main strong { font-size:16px; }
.patient-workspace .care-booking .stepper { margin-block:18px 24px; }
.patient-workspace .care-booking .stepper .on .num { box-shadow:0 0 0 5px #d9efeb; }
.patient-workspace .bottom-nav a { position:relative; border-radius:16px; }
.patient-workspace .bottom-nav a.on:before { content:''; position:absolute; top:0; width:20px; height:3px; border-radius:3px; background:var(--blue); }
.patient-workspace .cab-head { padding:22px; border-radius:24px; background:linear-gradient(120deg,#eaf6f3,#f8fcfb); border:1px solid #dbece8; margin-bottom:20px; }
.patient-workspace .tabs .tab { transition:background .2s,box-shadow .2s; }
.patient-workspace .tabs .tab.on { box-shadow:0 4px 12px #1b635a12; }
.staff .intake-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; background:linear-gradient(115deg,#eaf6f2,#f7fbfa); border:1px solid #d7e9e3; border-radius:24px; padding:24px; margin-bottom:18px; }
.staff .intake-intro h2 { font-size:26px; margin:8px 0; }
.staff .intake-intro p { margin-bottom:0; }
.staff .intake-counts { display:flex; gap:18px; flex:none; }
.staff .intake-counts>span { display:grid; gap:5px; text-align:center; color:var(--muted); font-size:12px; }
.staff .intake-counts b { color:var(--ink); font-size:30px; font-weight:750; }
.staff .intake-search { margin-bottom:18px; padding:22px; }
.staff .intake-search h3,.staff .intake-search p { margin:0; }
.staff .intake-search .search-box { margin-top:10px; }
.staff .intake-actions { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:22px; }
.staff .intake-actions .big-act { min-height:104px; }
.staff .intake-history { border:1px solid var(--line); padding:18px; border-radius:20px; background:#fff; margin-top:18px; }
.staff .intake-history>summary { cursor:pointer; font-weight:700; min-height:30px; }
.intake-next { display:grid; gap:12px; }
.intake-next .big-act { width:100%; min-height:90px; }
@media(hover:hover) {
  .patient-workspace .tile2:hover,.patient-workspace .care-branch:hover { transform:translateY(-3px); box-shadow:0 10px 24px #1b635a12; }
  .patient-workspace .care-book:hover { border-color:#238b84; }
}
.patient-workspace .tile2,.patient-workspace .care-branch { transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.patient-workspace .btn:active,.patient-workspace .pick:active,.staff .intake-actions .big-act:active { transform:scale(.98); }
@keyframes care-appear { from { opacity:.4; transform:translateY(10px); } to { opacity:1; transform:none; } }
@keyframes care-photo { from { opacity:.5; transform:scale(1.04); } to { opacity:1; transform:scale(1); } }
@media(prefers-reduced-motion:no-preference) {
  .patient-workspace .care-doctor-photo { animation:care-photo .85s ease-out both; }
  .patient-workspace .pick-group,.patient-workspace .cab-body,.staff .intake-intro,.staff .intake-search { animation:care-appear .35s ease-out both; }
  .patient-workspace .care-branch { animation:care-appear .5s ease-out both; }
  .patient-workspace .care-branch:nth-child(2) { animation-delay:.08s; }
  dialog[open]:has(.intake-next) { animation:care-appear .25s ease-out both; }
}
@media(max-width:760px) {
  .patient-workspace .care-hero { margin:16px 16px 0; border-radius:26px; min-height:310px; }
  .patient-workspace .care-hero .hero2-in { padding:24px 20px 20px; }
  .patient-workspace .care-hero .hero2-text { width:100%; }
  .patient-workspace .care-hero .eyebrow { max-width:58%; font-size:10px; line-height:1.6; margin:0; }
  .patient-workspace .care-hero h1 { font-size:clamp(25px,6.7vw,34px); max-width:57%; margin:18px 0 12px; }
  .patient-workspace .care-hero .hero2-sub { max-width:57%; font-size:13px; line-height:1.6; margin:0; }
  .patient-workspace .care-doctor { width:44%; height:265px; border-radius:0 26px 0 0; bottom:auto; }
  .patient-workspace .care-doctor-caption { display:none; }
  .patient-workspace .care-doctor:after { background:linear-gradient(90deg,#e9f5f2,transparent 40%),linear-gradient(0deg,#e9f5f2,transparent 38%); }
  .patient-workspace .care-book { width:100%; position:relative; z-index:3; padding:15px; }
  .patient-workspace .care-hero .hero-actions { margin-top:22px; }
  .patient-workspace .care-hero .hero2-hours { font-size:11px; margin:12px 0 0; }
  .patient-workspace .tiles2 { grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; }
  .patient-workspace .tile2 { padding:10px 2px; min-height:84px; font-size:10px; gap:8px; border-radius:14px; box-shadow:none; }
  .patient-workspace .tile2-ic { width:36px; height:36px; border-radius:11px; }
  .patient-workspace .tile2-ic .ic { width:22px; height:22px; }
  .patient-workspace .tile2[data-nav='/apteka'] { grid-column:auto; display:flex; flex-direction:column; padding:10px 2px; gap:8px; }
  .patient-workspace .care-branch-grid { grid-template-columns:1fr; gap:10px; }
  .patient-workspace .care-branch { padding:12px; gap:12px; }
  .patient-workspace .care-branch>img { width:66px; height:66px; }
  .patient-workspace .care-branches h2 { font-size:21px; }
  .patient-workspace .care-booking .pick { padding:14px; }
  .patient-workspace .care-booking .pick-main strong { font-size:15px; }
  .patient-workspace .care-categories { gap:6px; }
  .patient-workspace .care-categories .chip { font-size:12px; padding:9px 12px; }
  .patient-workspace .cab-head { padding:18px; gap:12px; align-items:flex-start; }
  .patient-workspace .cab-head h1 { font-size:24px; }
  .staff .intake-intro { display:block; padding:20px; }
  .staff .intake-intro h2 { font-size:23px; }
  .staff .intake-intro .eyebrow { font-size:10px; }
  .staff .intake-counts { justify-content:space-between; margin-top:20px; padding-top:14px; border-top:1px solid #d7e9e3; }
  .staff .intake-counts b { font-size:25px; }
  .staff .intake-search { padding:18px; }
  .staff .intake-actions { gap:10px; }
  .staff .intake-actions .big-act { min-height:120px; padding:16px 12px; flex-direction:column; align-items:flex-start; }
  .staff .intake-actions .big-act strong { font-size:14px; }
  .staff .intake-actions .big-act small { font-size:11px; }
  .staff .intake-workspace .come-row { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) {
  .patient-workspace *, .patient-workspace *:before,.patient-workspace *:after,.intake-workspace *,dialog:has(.intake-next) { animation:none!important; transition:none!important; }
}
.patient-workspace .care-checkup-head { width:100%; display:grid; gap:9px; padding:20px; background:linear-gradient(145deg,#edf8f5,#fff); border:0; text-align:left; font:inherit; color:var(--ink); cursor:pointer; }
.patient-workspace .care-checkup-head>strong { font-size:20px; line-height:1.3; }
.patient-workspace .care-checkup-head>small { font-size:13px; line-height:1.4; color:var(--muted); }
.patient-workspace .care-checkup-icon { width:44px; height:44px; display:grid; place-items:center; background:#d9eeea; color:var(--blue); border-radius:14px; }
.patient-workspace .care-checkup-price { display:flex; gap:10px; align-items:baseline; }
.patient-workspace .care-checkup-price b { font-size:25px; }
.patient-workspace .care-checkup-price s { color:var(--muted); font-size:14px; }
.patient-workspace .care-checkup-poster>summary { min-height:44px; padding:12px 20px; font-size:13px; cursor:pointer; color:var(--blue); font-weight:650; }
.patient-workspace .ck4 .ck3-why { font-size:13px; line-height:1.5; }
@media(max-width:760px) {
  .patient-workspace .ck4-list { display:flex; overflow-x:auto; gap:12px; padding-bottom:14px; scroll-snap-type:x mandatory; }
  .patient-workspace .ck4 { flex:0 0 87%; scroll-snap-align:start; }
  .patient-workspace .ck4-body .ck3-btns .btn { font-size:13px; }
  .staff .intake-actions.big-actions.three .big-act { display:grid; grid-template-columns:1fr; }
  .staff .intake-actions.big-actions.three .big-act small { grid-column:1; }
  .staff .intake-actions .big-act>span { font-size:14px; }
}
.intake-card-guide,.intake-card-extra { border:1px solid var(--line); border-radius:16px; padding:14px 16px; }
.intake-card-guide>summary,.intake-card-extra>summary { cursor:pointer; min-height:28px; font-size:14px; font-weight:650; color:var(--blue); }
.intake-card-extra .cc-grid { margin-top:18px; }
@media(max-width:760px) { .intake-card-extra { padding:14px; } }
@media(max-width:760px) {
  .patient-workspace .care-hero:not(.has-doctor) h1,.patient-workspace .care-hero:not(.has-doctor) .hero2-sub,.patient-workspace .care-hero:not(.has-doctor) .eyebrow { max-width:100%; }
}
@media(max-width:760px) {
  .staff .intake-intro { padding:16px; }
  .staff .intake-intro h2 { font-size:21px; margin:6px 0; }
  .staff .intake-intro p.muted { font-size:14px; line-height:1.45; }
  .staff .intake-counts { margin-top:12px; padding-top:10px; }
  .staff .intake-search { padding:16px; }
  .staff .intake-search h3 { font-size:16px; }
  .staff .intake-new { font-size:12px; padding-inline:10px; gap:5px; min-height:44px; flex:none; }
}
@media(max-width:760px) {
  .patient-workspace .tile2 { font-size:11px; }
}
@media(max-width:360px) {
  .patient-workspace .tiles2 { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .patient-workspace .tile2 { font-size:12px; }
  .patient-workspace .care-book strong { font-size:15px; }
  .staff .intake-search>.row { flex-wrap:wrap; }
}
/* 12.10.2026: фасад главного офиса вместо портрета, без изменения настроек. */
.patient-workspace .care-facade { position:absolute; right:30px; top:50%; transform:translateY(-50%); width:42%; overflow:hidden; border-radius:24px; background:#fff; box-shadow:0 14px 32px #18383c12; }
.patient-workspace .care-facade-photo { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; object-position:center; }
.patient-workspace .care-facade-caption { display:flex; align-items:center; gap:10px; padding:15px 18px; }
.patient-workspace .care-facade-caption>.ic { color:var(--blue); flex:none; }
.patient-workspace .care-facade-caption>span { display:grid; gap:4px; }
.patient-workspace .care-facade-caption strong { font-size:14px; }
.patient-workspace .care-facade-caption small { font-size:12px; color:var(--muted); }
.patient-workspace .care-hero.has-facade .hero2-text { width:53%; }
@media(prefers-reduced-motion:no-preference) { .patient-workspace .care-facade-photo { animation:care-photo .85s ease-out both; } }
@media(max-width:760px) {
  .patient-workspace .care-hero.has-facade { min-height:0; }
  .patient-workspace .care-facade { position:relative; right:auto; top:auto; transform:none; width:100%; border-radius:0; box-shadow:none; }
  .patient-workspace .care-facade-photo { height:auto; aspect-ratio:3/2; }
  .patient-workspace .care-facade-caption { padding:12px 20px; background:#ffffffb3; }
  .patient-workspace .care-hero.has-facade .hero2-in { padding:22px 20px; }
  .patient-workspace .care-hero.has-facade .hero2-text { width:100%; }
  .patient-workspace .care-hero.has-facade h1 { font-size:30px; max-width:100%; margin:14px 0 12px; }
  .patient-workspace .care-hero.has-facade .hero2-sub { max-width:100%; font-size:14px; }
  .patient-workspace .care-hero.has-facade .eyebrow { max-width:100%; }
}
@media(max-width:760px) {
  .patient-workspace .care-facade-photo { height:clamp(160px,46vw,180px); aspect-ratio:auto; object-position:center top; }
}

/* ═══ 12.10.2026 (Claude): галочки плана, обращения к директору ═══ */
.plan-tick { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 8px 14px; border: 2px solid var(--line); border-radius: 14px; font-weight: 600; cursor: pointer; background: var(--soft); }
.plan-tick input { width: 26px; height: 26px; accent-color: var(--ok); }
.plan-tick.on { border-color: var(--ok); background: var(--ok-50); color: var(--ok); }
p.plan-tick { cursor: default; }
.plan-who { margin-bottom: 8px; }
.dm-card { display: grid; gap: 8px; }
.dm-card.dm-new { border-left: 5px solid var(--warn); }
.dm-text { white-space: pre-wrap; font-size: 17px; margin: 4px 0; }

/* ═══ 12.10.2026 (Claude): функции из МедТочки ═══ */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.wl-card, .wl-staff { display: grid; gap: 8px; }
.wl-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; padding: 10px 0; border-top: 1px solid var(--line); }
.wl-row:first-of-type { border-top: 0; }
.wl-free { color: var(--ok); font-weight: 600; margin: 4px 0; }
.fav-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 6px 12px; border-radius: 12px; border: 2px solid var(--line); background: #fff; color: var(--muted); font: 600 15px/1.2 var(--font); cursor: pointer; }
.fav-btn.on { border-color: #E3A008; color: #8A5300; background: #FFF8E6; }
.diary { display: grid; gap: 10px; }
.diary-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.diary-list li { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 10px; background: var(--soft); }
.diary-list li.alert { background: var(--warn-50); border-left: 4px solid var(--warn); }
.diary-mini { padding: 12px; }
.doc-text { max-height: 50vh; overflow: auto; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--soft); font-size: 16px; }
.doc-sign { display: grid; gap: 8px; }
.dq { padding: 10px 12px; border-radius: 12px; background: var(--soft); }
.dq-a { margin: 6px 0 0; padding-left: 10px; border-left: 3px solid var(--blue); }
.prep-q { white-space: pre-wrap; padding: 10px 12px; border-radius: 12px; background: var(--blue-50); }
.prep-flag { border-color: var(--blue); }

/* ═══ 12.10.2026 (Claude): функции из МедЛок ═══ */
.print-frame { position: fixed; width: 0; height: 0; border: 0; right: 0; bottom: 0; visibility: hidden; }
.pm-box { display: grid; gap: 10px; margin: 12px 0; }
.pm-head { display: flex; flex-wrap: wrap; gap: 10px; }
.pm-head > div { flex: 1 1 90px; display: grid; gap: 2px; padding: 10px 12px; border-radius: var(--radius-s); background: #fff; border: 1px solid var(--line); }
.pm-head strong { font-size: 20px; color: var(--blue-800); }
.tp-row { display: grid; gap: 4px; padding: 10px 12px; border-radius: var(--radius-s); background: #fff; border: 1px solid var(--line); }
.tp-bar { height: 8px; border-radius: 99px; background: var(--blue-50); overflow: hidden; }
.tp-bar > span { display: block; height: 100%; border-radius: 99px; background: var(--blue); transition: width .3s; }
.tp-bar.hot > span { background: var(--ok); }
.tp-bar.low > span { background: #E3A008; }
.tp-item { display: grid; grid-template-columns: 1fr 76px auto; gap: 8px; align-items: center; }
.tp-item select, .tp-item input { min-width: 0; }
.rp-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin: 12px 0; }
.rp-tile { display: grid; gap: 2px; padding: 12px 14px; border-radius: var(--radius-s); background: var(--sky); border: 1px solid var(--sky-2); }
.rp-tile strong { font-size: 22px; color: var(--blue-800); }
.rp-tile small { color: var(--muted); }
.rp-row { display: grid; gap: 4px; padding: 6px 0; border-top: 1px solid var(--line); }
.rp-row:first-child { border-top: 0; }
.lo-card { display: grid; gap: 6px; }
.cm-row { padding: 8px 0; border-top: 1px solid var(--line); }
.cm-row:first-child { border-top: 0; }
.bl-url { word-break: break-all; }
.call-bar { position: fixed; z-index: 60; bottom: 16px; left: 50%; transform: translateX(-50%); width: min(560px, calc(100% - 24px)); display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 18px; background: var(--ok); color: #fff; box-shadow: var(--shadow); animation: callIn .3s ease; }
.call-bar[hidden] { display: none; }
.call-bar > div { flex: 1; display: grid; min-width: 0; }
.call-bar small { opacity: .9; overflow: hidden; text-overflow: ellipsis; }
.call-bar .btn { background: #fff; color: var(--ok); border-color: #fff; }
.call-bar .icon-btn { color: #fff; background: transparent; border: 2px solid rgba(255,255,255,.6); }
@keyframes callIn { from { transform: translate(-50%, 20px); opacity: 0; } to { transform: translate(-50%, 0); opacity: 1; } }
.nb-bell { position: relative; }
.nb-bell .count-pill { margin-left: 4px; }
.nb-item.nb-new { border-left: 4px solid var(--blue); }
.money-card { display: grid; gap: 10px; }
.oauth-box { margin-top: 14px; display: grid; gap: 8px; }
.oauth-or { text-align: center; margin: 0; }
@media (max-width: 960px) { .call-bar { bottom: calc(86px + env(safe-area-inset-bottom)); } }
@media (max-width: 520px) { .nb-bell .nb-label { display: none; } .tp-item { grid-template-columns: 1fr 64px auto; } }
@media (prefers-reduced-motion: reduce) { .call-bar { animation: none; } .tp-bar > span { transition: none; } }
.lo-tests .chip { white-space: normal; text-align: left; max-width: 100%; height: auto; min-height: 40px; }

/* 12.10.2026 (Claude): исправления после проверки */
body.has-call .staff-content { padding-bottom: 120px; }
dialog .call-bar { position: fixed; z-index: 5; }
.rb-up { border: 2px solid var(--blue-100); background: var(--sky); display: grid; gap: 8px; }
@media (max-width: 520px) { .come-row { grid-template-columns: 52px 1fr; } .come-row > :last-child { grid-column: 1 / -1; } .come-row .ar-main { min-width: 0; overflow-wrap: anywhere; } }
.nb-bell { min-width: 44px; min-height: 44px; justify-content: center; }
.cab-logout { min-height: 44px; color: var(--muted); }
.diary-list button, .plan-tick input[type=checkbox], .done-tick input[type=checkbox] { min-width: 44px; min-height: 44px; }
@media (max-width: 520px) { .staff .priem-tabs .chip { padding: 8px 12px; font-size: 15px; min-height: 44px; } }
/* Врач → его услуги; карточка услуги (12.10.2026) */
.ds-svcs{display:grid;gap:10px;margin:6px 0 14px}
.ds-svc{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:#fff}
.ds-svc-main{flex:1;min-width:0;display:grid;gap:2px;text-align:left;background:none;border:0;padding:4px 0;font:inherit;color:var(--ink);cursor:pointer;min-height:44px}
.ds-svc-main strong{font-size:16px;line-height:1.3}
.ds-svc-main small{color:var(--muted);font-size:14px}
.ds-svc-main small:after{content:' · подробнее';color:var(--blue)}
.ds-svc .btn{flex-shrink:0}
.ss-meta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-bottom:10px;color:var(--muted);font-size:15px}
.ss-meta .price{font-size:22px;color:var(--ink)}
.ss-prep{background:var(--warn-50);border-radius:14px;padding:12px 14px;color:#5C4300}
.ss-docs{display:grid;gap:8px;margin-bottom:14px}
.ss-doc{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:#fff;font:inherit;color:var(--ink);text-align:left;cursor:pointer;min-height:56px}
.ss-doc span{display:grid;gap:2px}.ss-doc small{color:var(--muted)}
.mq-card .tp-row{border-top:1px solid var(--line);padding:10px 0}
.dq-a{background:var(--blue-50);border-radius:12px;padding:10px 12px;margin:6px 0}

/* Блок К: стили только новых экранов и контролов. */
.ck-wrap{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.ck-wrap>*{max-width:100%;min-width:0}.ck-wrap .btn{white-space:normal;text-align:left}.ck-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px}.ck-grid>*{min-width:0;overflow-wrap:anywhere}.ck-signature{display:block;width:100%;height:auto;aspect-ratio:2.8;border:1px solid #94a3b8;border-radius:12px;touch-action:none;background:#fff}.ck-photo{max-width:100%;max-height:70vh;object-fit:contain}.ck-alert{border-color:#bd2635!important}.ck-danger{color:#a11627}.ck-day .card{min-width:0;overflow-wrap:anywhere}.ck-day .btn{white-space:normal}.dialog input[type=file]{max-width:100%;min-width:0}

/* 15.10.2026: оформление только сайта и приложения пациентов. Skiper — визуальный ориентир; Orbs — MIT. */
.patient-workspace.care-polished{--ink:#142d41;--muted:#526778;--line:#dce9ef;--blue:#0067ce;--radius:24px;--shadow:0 2px 3px #244e6710,0 14px 40px #244e670a;background:linear-gradient(180deg,#f5faff,#fbfdfd 1100px);min-height:100vh}
.patient-workspace.care-polished .site-head{background:#ffffffed;border-bottom:1px solid #deebf2;box-shadow:0 3px 24px #17587506;backdrop-filter:blur(18px)}
.patient-workspace.care-polished .head-row{min-height:86px;gap:22px}
.patient-workspace.care-polished .head-actions{gap:8px}
.patient-workspace.care-polished .top-nav a{font-size:14px;font-weight:650}
.patient-workspace.care-polished .btn{border-radius:16px;min-height:46px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.patient-workspace.care-polished .btn.primary{box-shadow:0 6px 16px #0067ce19}
.patient-workspace.care-polished .care-hero{max-width:1200px;margin:24px auto 0;border:1px solid #d9eaf0;border-radius:36px;background:radial-gradient(ellipse at 65% 5%,#d8f2ef88,transparent 58%),linear-gradient(120deg,#edf7fc,#f0faf7);min-height:510px;box-shadow:0 20px 70px #1b66860c;isolation:isolate}
.patient-workspace.care-polished .care-hero .hero2-in{padding:48px}
.patient-workspace.care-polished .care-hero.has-facade .hero2-text{width:53%;max-width:560px}
.patient-workspace.care-polished .care-hero h1{font-family:var(--font);font-size:clamp(36px,4.2vw,54px);font-weight:750;letter-spacing:-.045em;line-height:1.1;max-width:16ch;margin:22px 0 18px}
.patient-workspace.care-polished .care-accent{color:#117c91}
.patient-workspace.care-polished .care-hero .hero2-sub{font-size:17px;color:#496475;max-width:33ch}
.patient-workspace.care-polished .care-hero .eyebrow{letter-spacing:.12em;font-size:11px;color:#32647d}
.patient-workspace.care-polished .care-book{background:#0067ce!important;color:white!important;border-color:#0067ce;box-shadow:0 12px 28px #0067ce26!important;min-height:78px;width:min(390px,100%);border-radius:20px}
.patient-workspace.care-polished .care-book>.ic,.patient-workspace.care-polished .care-book small{color:#fff}
.patient-workspace.care-polished .care-book small{opacity:.88}
.patient-workspace.care-polished .hero2-res{font-size:14px;background:#ffffffd9;border:1px solid #d6e7ef}
.patient-workspace.care-polished .care-facade{right:32px;width:40%;border:7px solid #fff;border-radius:28px;box-shadow:0 24px 50px #1b536c17;transform:translateY(-50%) rotate(1deg)}
.patient-workspace.care-polished .care-facade-photo{border-radius:20px 20px 0 0}
.patient-workspace.care-polished .care-facade-caption{padding:17px 12px}
.patient-workspace.care-polished .care-section-intro{margin:0 0 20px}
.patient-workspace.care-polished .care-section-intro .eyebrow{font-size:10px;letter-spacing:.15em;color:#527b8e;margin:0 0 7px}
.patient-workspace.care-polished .care-section-intro h2{font-size:clamp(23px,2.5vw,31px);font-weight:750;letter-spacing:-.035em;margin:0}
.patient-workspace.care-polished .tiles2-sec{padding-top:34px;padding-bottom:24px}
.patient-workspace.care-polished .tiles2{gap:14px}
.patient-workspace.care-polished .tile2{border:1px solid #dfebf0;background:#fff;min-height:125px;box-shadow:0 8px 28px #28617607;border-radius:23px;font-weight:700}
.patient-workspace.care-polished .tile2-ic{background:linear-gradient(140deg,#eaf4fe,#eaf9f4);color:#0c718d;border:1px solid #deedf3;border-radius:17px}
.patient-workspace.care-polished .chat-entry{position:relative;isolation:isolate;overflow:hidden;border:1px solid #cfe5ed;border-radius:27px;background:linear-gradient(105deg,#eaf6fc,#edf9f4);box-shadow:0 12px 40px #1f708510;padding:26px 30px;gap:20px;min-height:140px;margin-top:10px;margin-bottom:38px}
.patient-workspace.care-polished .chat-entry-text{position:relative;z-index:1;max-width:50%}
.patient-workspace.care-polished .chat-entry-text strong{font-size:24px;letter-spacing:-.035em}
.patient-workspace.care-polished .chat-entry-text small{color:#496778;font-size:14px;line-height:1.6}
.patient-workspace.care-polished .chat-entry-go{position:relative;z-index:1;min-height:46px;display:flex;align-items:center;gap:8px;border-radius:15px;background:#fff;border:1px solid #d8e9ef;padding:10px 15px;color:#0b617c;font-size:14px;font-weight:750}
.patient-workspace.care-polished .care-brand-art{position:absolute;right:60px;top:50%;transform:translateY(-50%);width:310px;height:207px;object-fit:cover;opacity:.28;mix-blend-mode:multiply;pointer-events:none;z-index:0;mask-image:linear-gradient(90deg,transparent,black 35%,black 80%,transparent)}
.patient-workspace.care-polished .has-care-orb{position:relative;display:grid;place-items:center;flex-shrink:0}
.patient-workspace.care-polished .has-care-orb>.ic{position:absolute;opacity:0;pointer-events:none}
.patient-workspace.care-polished .chat-entry .chat-robot,.patient-workspace.care-polished .chat-intro .chat-robot{width:78px;height:78px;background:#ffffffc9;border:1px solid #fff;border-radius:24px;box-shadow:0 6px 20px #477b9110}
.patient-workspace.care-polished .care-orb{display:block;pointer-events:none}
.patient-workspace.care-polished .ck4{border-radius:25px;border:1px solid #deebf0;box-shadow:0 10px 28px #285b7107;overflow:hidden;background:#fff}
.patient-workspace.care-polished .care-checkup-head{background:radial-gradient(circle at 95% 0,#d8f1f1 0,transparent 55%),#f5faff;padding:23px}
.patient-workspace.care-polished .care-checkup-head>strong{letter-spacing:-.025em;font-size:22px}
.patient-workspace.care-polished .care-checkup-price b{font-size:28px;color:#155a78}
.patient-workspace.care-polished .care-checkup-icon{background:#e2f0f6;color:#086c91;border:1px solid #d1e8ee}
.patient-workspace.care-polished .care-visit-path{margin-top:30px;margin-bottom:30px}
.patient-workspace.care-polished .care-path-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.patient-workspace.care-polished .care-path-grid li{display:flex;gap:15px;align-items:flex-start;padding:22px;border:1px solid #dfeaf0;border-radius:23px;background:#fff}
.patient-workspace.care-polished .care-path-number{font-size:13px;line-height:36px;font-weight:750;width:36px;height:36px;text-align:center;border-radius:12px;background:#eaf5fc;color:#086799;flex:none}
.patient-workspace.care-polished .care-path-grid strong{font-size:16px}
.patient-workspace.care-polished .care-path-grid p{font-size:14px;color:var(--muted);line-height:1.6;margin:6px 0 0}
.patient-workspace.care-polished .care-branch{border:1px solid #deebef;border-radius:24px;padding:17px;background:#fff;box-shadow:0 8px 24px #245c7305}
.patient-workspace.care-polished .care-branch>img{border-radius:18px}
.patient-workspace.care-polished .easy-help{border:1px solid #dbeaf0;background:#edf6fc;border-radius:24px;padding:25px}
.patient-workspace.care-polished .doc4{border-radius:24px;overflow:hidden;box-shadow:var(--shadow);border:1px solid #dce9ef}
.patient-workspace.care-polished .cab-head{border:1px solid #d5e8f0;background:linear-gradient(115deg,#e9f4fc,#eef9f5);border-radius:27px;padding:28px;margin-bottom:17px;box-shadow:0 12px 35px #27677e08}
.patient-workspace.care-polished .cab-head h1{font-weight:750;letter-spacing:-.035em}
.patient-workspace.care-polished .care-account-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}
.patient-workspace.care-polished .care-account-action{display:flex;align-items:center;gap:12px;padding:18px;background:#fff;border:1px solid #dceaf0;border-radius:20px;text-decoration:none;color:var(--ink);box-shadow:0 6px 22px #25587006}
.patient-workspace.care-polished .care-account-action>span{display:grid;place-items:center;width:40px;height:40px;background:#edf6fc;color:#0975a5;border-radius:13px;flex:none}
.patient-workspace.care-polished .care-account-action strong{font-size:14px;flex:1}
.patient-workspace.care-polished .nv2{border-radius:26px;background:linear-gradient(125deg,#0c557e,#137b94);box-shadow:0 16px 35px #145b7c20}
.patient-workspace.care-polished .tabs{padding:7px;border:1px solid #dfebf0;border-radius:20px;background:#f0f7fb;gap:4px}
.patient-workspace.care-polished .tab{border-radius:14px;font-size:14px;min-height:46px;white-space:nowrap}
.patient-workspace.care-polished .tab.on{background:#fff;color:#095e8e;box-shadow:0 3px 12px #24678212}
.patient-workspace.care-polished .care-booking{max-width:820px;padding-top:38px}
.patient-workspace.care-polished .care-booking>h1{font-weight:750;letter-spacing:-.045em;margin-bottom:26px}
.patient-workspace.care-polished .care-booking .stepper{background:#eef6fb;padding:14px;border:1px solid #dbeaf2;border-radius:22px;margin-bottom:24px}
.patient-workspace.care-polished .care-booking .stepper .num{border-radius:13px}
.patient-workspace.care-polished .care-booking .pick{border-radius:20px;border:1px solid #dce9ef;box-shadow:0 4px 18px #245c7405;background:#fff}
.patient-workspace.care-polished .care-booking .time{border-radius:13px;min-height:46px}
.patient-workspace.care-polished .voice-draft{border:1px solid #d9eaf2;border-radius:20px;background:linear-gradient(115deg,#f0f8fd,#f2faf7)}
.patient-workspace.care-polished .voice-draft>summary.has-care-orb{display:flex;gap:8px;justify-content:flex-start;min-height:52px;flex-wrap:wrap}
.patient-workspace.care-polished .voice-draft>summary .care-orb{margin-left:auto}
.patient-workspace.care-polished .chat-intro{border:1px solid #d9eaf1;border-radius:27px;background:linear-gradient(110deg,#ecf7fc,#eff9f5);padding:25px;margin-bottom:20px}
.patient-workspace.care-polished .helper-panel{border:1px solid #d7e7ef;border-radius:25px;box-shadow:0 14px 40px #18577710}
.patient-workspace.care-polished .helper-head{background:#edf6fb;color:var(--ink);border-bottom:1px solid #dceaf1}
.patient-workspace.care-polished .helper-head small{color:#526d7f}
.patient-workspace.care-polished .helper-av{width:44px;height:44px;border-radius:15px;background:#fff;border:1px solid #deebf1}
.patient-workspace.care-polished .hm.bot{background:#f0f7fb;border:1px solid #e0edf3;border-radius:19px 19px 19px 6px}
.patient-workspace.care-polished .hm.me{border-radius:19px 19px 6px 19px}
.patient-workspace.care-polished .helper-in{background:#fff;border-top:1px solid #e1edf2;padding:15px}
.patient-workspace.care-polished .helper-in input{min-height:48px;background:#f7fbfd;border-radius:15px}
.patient-workspace.care-polished .site-foot{background:#eff6fa;border-top:1px solid #dfeaf1;margin-top:35px}
.patient-workspace.care-polished .care-calm-control{display:flex;align-items:center;gap:12px;grid-column:1/-1;padding:18px 0 0;border-top:1px solid #d7e7ee;cursor:pointer}
.patient-workspace.care-polished .care-calm-control input{width:42px;height:24px;accent-color:#0067ce;flex:none}
.patient-workspace.care-polished .care-calm-control>span{display:grid;gap:2px}
.patient-workspace.care-polished .care-calm-control strong{font-size:14px}
.patient-workspace.care-polished .care-calm-control small{font-size:12px;color:var(--muted)}
.patient-workspace.care-polished .bottom-nav{background:#fffffff2;border-top:1px solid #dbeaf2;box-shadow:0 -8px 30px #28617c07;backdrop-filter:blur(18px)}
.patient-workspace.care-polished .bottom-nav a.on{background:#e9f4fc;color:#075c96;border-radius:15px}
.patient-workspace.care-polished :is(a,button,input,select,textarea,summary,[role=switch]):focus-visible{outline:3px solid #0b75ce;outline-offset:4px}
@media(hover:hover) and (pointer:fine){.patient-workspace.care-polished[data-care-motion=full] :is(.tile2,.care-branch,.doc4,.care-account-action,.care-booking .pick){transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.patient-workspace.care-polished[data-care-motion=full] :is(.tile2,.care-branch,.doc4,.care-account-action,.care-booking .pick):hover{transform:translateY(-4px);box-shadow:0 17px 30px #245e7912;border-color:#9dcbdc}.patient-workspace.care-polished[data-care-motion=full] .btn:hover{transform:translateY(-1px)}}
.patient-workspace.care-polished[data-care-motion=reduced] *,.patient-workspace.care-polished[data-care-motion=reduced] *:before,.patient-workspace.care-polished[data-care-motion=reduced] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:1240px){.patient-workspace.care-polished .care-hero{margin-left:20px;margin-right:20px}.patient-workspace.care-polished .head-row{gap:12px}.patient-workspace.care-polished .head-actions .btn{padding-left:12px;padding-right:12px}}
@media(max-width:800px){.patient-workspace.care-polished .head-row{min-height:70px}.patient-workspace.care-polished .care-hero.has-facade{display:flex;flex-direction:column;margin:16px 16px 0;border-radius:28px;min-height:0}.patient-workspace.care-polished .care-hero.has-facade .hero2-in{order:0;padding:26px 23px 20px}.patient-workspace.care-polished .care-hero.has-facade .hero2-text{width:100%;max-width:none}.patient-workspace.care-polished .care-hero.has-facade h1{font-size:clamp(30px,8.2vw,42px);max-width:17ch;margin:16px 0 14px;line-height:1.12}.patient-workspace.care-polished .care-hero.has-facade .hero2-sub{max-width:34ch;font-size:15px;line-height:1.6}.patient-workspace.care-polished .care-hero .hero-actions{margin-top:20px;gap:10px}.patient-workspace.care-polished .care-book{min-height:70px;padding:14px 16px}.patient-workspace.care-polished .care-hero .hero2-hours{font-size:11px;line-height:1.6;margin-top:13px}.patient-workspace.care-polished .care-facade{order:1;position:relative;right:auto;top:auto;transform:none;width:calc(100% - 28px);margin:0 14px 14px;border:5px solid #fff;border-radius:22px;box-shadow:0 6px 20px #2d63740c}.patient-workspace.care-polished .care-facade-photo{height:180px;aspect-ratio:auto;border-radius:16px 16px 0 0;object-position:center}.patient-workspace.care-polished .care-facade-caption{padding:12px 10px}.patient-workspace.care-polished .care-facade-caption strong{font-size:12px}.patient-workspace.care-polished .care-facade-caption small{font-size:11px}.patient-workspace.care-polished .tiles2-sec{padding-top:28px}.patient-workspace.care-polished .tiles2{gap:8px}.patient-workspace.care-polished .tile2{min-height:98px;padding:12px 3px;font-size:11px;gap:8px;border-radius:18px}.patient-workspace.care-polished .tile2-ic{width:40px;height:40px;border-radius:13px}.patient-workspace.care-polished .chat-entry{margin-top:6px;margin-bottom:30px;padding:19px;gap:14px;display:grid;grid-template-columns:64px minmax(0,1fr)}.patient-workspace.care-polished .chat-entry .chat-robot{width:64px;height:64px;border-radius:20px}.patient-workspace.care-polished .chat-entry-text{max-width:100%}.patient-workspace.care-polished .chat-entry-text strong{font-size:20px}.patient-workspace.care-polished .chat-entry-text small{font-size:13px}.patient-workspace.care-polished .chat-entry-go{grid-column:2;justify-self:start;min-height:44px;font-size:13px}.patient-workspace.care-polished .care-brand-art{right:-55px;top:65%;width:200px;height:140px;opacity:.17}.patient-workspace.care-polished .care-path-grid{grid-template-columns:1fr;gap:10px}.patient-workspace.care-polished .care-path-grid li{padding:18px}.patient-workspace.care-polished .care-visit-path{margin-top:26px}.patient-workspace.care-polished .care-account-shortcuts{gap:7px;margin-bottom:20px}.patient-workspace.care-polished .care-account-action{display:flex;flex-direction:column;align-items:flex-start;padding:12px;gap:10px;border-radius:18px}.patient-workspace.care-polished .care-account-action>span{width:35px;height:35px;border-radius:11px}.patient-workspace.care-polished .care-account-action strong{font-size:12px;line-height:1.5}.patient-workspace.care-polished .care-account-action>.ic{display:none}.patient-workspace.care-polished .cab-head{padding:22px 18px}.patient-workspace.care-polished .care-booking{padding-top:25px}.patient-workspace.care-polished .care-booking>h1{font-size:31px;margin-bottom:20px}.patient-workspace.care-polished .care-booking .stepper{padding:12px 8px;border-radius:19px}.patient-workspace.care-polished .chat-intro{padding:20px;gap:15px}.patient-workspace.care-polished .chat-intro .chat-robot{width:64px;height:64px;border-radius:20px}.patient-workspace.care-polished .chat-intro h1{font-size:27px}.patient-workspace.care-polished .chat-intro p{font-size:14px}.patient-workspace.care-polished .helper-in{padding:12px}.patient-workspace.care-polished .care-branch{padding:15px}.patient-workspace.care-polished .easy-help{padding:21px}}
@media(max-width:360px){.patient-workspace.care-polished .tiles2{grid-template-columns:repeat(3,minmax(0,1fr))}.patient-workspace.care-polished .care-hero.has-facade .hero2-in{padding:23px 18px 18px}.patient-workspace.care-polished .care-book strong{font-size:14px}.patient-workspace.care-polished .care-account-action{padding:9px}.patient-workspace.care-polished .care-account-action strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){.patient-workspace.care-polished *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Все три действия помощника видны без обрезки текста. */
.patient-workspace.care-polished .helper-callbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;flex-shrink:0;padding:10px 12px;background:#fff}
.patient-workspace.care-polished .helper-callbar .btn{white-space:normal;min-width:0;padding:9px 8px;line-height:1.4;font-size:12px;gap:6px}
@media(max-width:520px){.patient-workspace.care-polished .helper-callbar{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-workspace.care-polished .helper-callbar>.btn:last-child{grid-column:1/-1}}
/* Содержимое видно с первого кадра; движение не задерживает чтение и запись. */
@keyframes care-arrive{from{transform:translateY(5px)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.patient-workspace.care-polished[data-care-motion=full] :is(#main>div,#main>.hero2,.hero2-text>*,.tiles2 .tile2,.chat-entry,.care-facade-photo,.care-branch,.pick-group,.cab-body){animation:care-arrive .4s ease-out both;animation-delay:0s}}
@media(max-width:520px){.patient-workspace.care-polished .cab-head{display:grid;grid-template-columns:minmax(0,1fr)}.patient-workspace.care-polished .cab-head-act{display:flex;flex-wrap:wrap;justify-content:space-between;min-width:0;width:100%}}

/* 28.10.2026 (Claude): только добавлено, прежние правила не изменены.
   1) График «по дням» (Деньги, Маркетинг): в конце месяца 31 столбик не помещался в экран 390 px — теперь листается внутри карточки. */
.bars { overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
/* 2) Списки «название — значение» (тариф направителям, позиции аптеки): длинное значение переносится по словам, а не уходит за край экрана. */
.ph-items { grid-template-columns: minmax(0, 1fr); }
.ph-items li span { flex: 1 1 40%; }
.ph-items li b { white-space: normal; overflow-wrap: anywhere; text-align: right; flex: 0 1 auto; max-width: 62%; }
