/* Desktop/offline only: Unbounded variable (300–700), local WOFF2. SIL OFL (Google Fonts). Not used in web source. */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('./fonts/unbounded/unbounded-cyrillic-ext.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('./fonts/unbounded/unbounded-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('./fonts/unbounded/unbounded-vietnamese.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('./fonts/unbounded/unbounded-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('./fonts/unbounded/unbounded-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --color-primary: #3498db;
  --color-success: #27ae60;
  --color-danger: #e74c3c;
  --color-warning: #f39c12;
  --color-gold: #d4af37;
  --color-white: #ffffff;
  --color-black: #000000;
  --bg-glass: rgba(255, 255, 255, 0.1);
  --bg-glass-light: rgba(255, 255, 255, 0.05);
  --bg-glass-dark: rgba(255, 255, 255, 0.08);
  --border-glass: rgba(255, 255, 255, 0.2);
  --border-glass-light: rgba(255, 255, 255, 0.3);
  --text-white: rgba(255, 255, 255, 0.9);
  --text-white-light: rgba(255, 255, 255, 0.8);
  --text-white-dim: rgba(255, 255, 255, 0.6);
  --font-family: 'Unbounded', sans-serif;
  --transition: all 0.3s;
}

html, body {
  margin: 0;
  min-height: 100%;
  background: #0d1829;
}

#presentation-app {
  font-family: var(--font-family);
  width: 100%;
  margin: 0;
  padding: 20px;
  background-image: url('./assets/ce0df36871d0b2e8.png');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
}

.top-controls-bar {
  width: 100%;
  max-width: 1200px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 50px;
  margin-bottom: 15px;
  margin-left: auto;
  margin-right: auto;
  background: var(--bg-glass-light);
  backdrop-filter: blur(10px);
  border-radius: 0;
  box-sizing: border-box;
  position: sticky;
  top: 20px;
  z-index: 200;
}

.top-controls-bar .current-date-display {
  flex: 0 0 auto;
  order: -1;
  margin-right: auto;
  z-index: 202;
  position: relative;
}

.top-controls-logo {
  position: absolute;
  left: 220px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  z-index: 201;
  pointer-events: none;
}

.top-controls-logo-gap {
  display: inline-block;
  width: 14px;
  flex-shrink: 0;
}

.top-controls-logo img {
  pointer-events: auto;
  height: 30px;
  width: auto;
  opacity: 0.9;
}

.top-controls-logo img:first-child {
  height: 20px;
}

.top-controls-logo .logo-white {
  filter: brightness(0) invert(1);
}

/* Загруженные логотипы (PNG/JPG) — без перекраски в белый */
.top-controls-logo .logo-color,
.top-controls-logo img.logo-color,
.slide-title-logo.logo-color,
.pdf-title-page-logo.logo-color {
  filter: none !important;
}

.logo-small {
  height: 30px;
  width: auto;
  opacity: 0.9;
}

.presentation-container {
  background: var(--bg-glass-dark);
  backdrop-filter: blur(20px);
  width: 100%;
  max-width: 1200px;
  height: calc(100vh - 120px);
  position: relative;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* РЁР°РїРєР° РґР»СЏ PDF - С‚РµРїРµСЂСЊ СЂРёСЃСѓРµС‚СЃСЏ РЅР°РїСЂСЏРјСѓСЋ С‡РµСЂРµР· jsPDF API, СЃС‚РёР»Рё РѕСЃС‚Р°РІР»РµРЅС‹ РґР»СЏ СЃРѕРІРјРµСЃС‚РёРјРѕСЃС‚Рё */
.pdf-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: #ffffff;
  border-bottom: 1px solid #003366;
  z-index: 1000;
  padding: 8px 10px;
  box-sizing: border-box;
  display: none;
  color: #000000;
  font-family: 'Unbounded', sans-serif;
  font-size: 9px;
  line-height: 1.4;
  font-weight: 400;
  min-height: 25px;
}

body.pdf-export .pdf-header {
  display: block !important;
  position: static !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* РўРёС‚СѓР»СЊРЅР°СЏ СЃС‚СЂР°РЅРёС†Р° PDF: РїРѕ СѓРјРѕР»С‡Р°РЅРёСЋ СЃРєСЂС‹С‚Р°, РїРѕРєР°Р·С‹РІР°РµС‚СЃСЏ С‚РѕР»СЊРєРѕ РІ СЂРµР¶РёРјРµ РїРµС‡Р°С‚Рё/PDF */
#pdf-title-page {
  display: none !important;
}

.pdf-header-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  font-family: 'Unbounded', sans-serif;
  font-size: 9px;
  color: #000000;
  line-height: 1.4;
  gap: 0;
  max-width: 100%;
}

.pdf-header-left,
.pdf-header-center,
.pdf-header-right {
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex: 1;
  min-width: 0;
}

.pdf-header-center {
  text-align: center;
  align-items: center;
}

.pdf-header-right {
  text-align: right;
  align-items: flex-end;
}

.pdf-header-line {
  color: #000000;
  font-weight: 400;
  font-family: 'Unbounded', sans-serif;
  font-size: 9px;
  opacity: 1;
  margin-bottom: 0;
  line-height: 1.4;
}

.pdf-header-line strong {
  font-weight: 700;
  color: #000000;
  font-family: 'Unbounded', sans-serif;
  font-size: 9px;
  opacity: 1;
  letter-spacing: 0.2px;
}

.current-date-display {
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  color: var(--text-white-dim);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.5px;
  text-transform: capitalize;
  display: flex !important;
  align-items: center;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative;
  z-index: 202;
  min-width: 80px;
  height: auto;
  flex-shrink: 0;
}

/* РРЅРґРёРєР°С‚РѕСЂ СЃС‚Р°С‚СѓСЃР° С„Р°Р№Р»Р° */
.file-status-indicator {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #95a5a6;
  margin-left: 10px;
  flex-shrink: 0;
  transition: background-color 0.3s ease;
}

.file-status-indicator.status-doctor {
  background-color: #9b59b6;
}

.file-status-indicator.status-patient {
  background-color: #27ae60;
}

.current-date-display {
  display: flex;
  align-items: center;
}

.current-date-display .date-text {
  display: block;
  white-space: nowrap;
  line-height: 1.2;
}

.save-load-controls {
  display: flex;
  gap: 8px;
  align-items: center;
}

.btn-save-load {
  background: var(--bg-glass);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: var(--text-white);
  padding: 6px 12px;
  cursor: pointer;
  font-size: 11px;
  font-weight: 500;
  transition: var(--transition);
  border-radius: 0;
  min-width: auto;
  height: 32px;
  min-height: 32px;
  max-height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-family);
  white-space: nowrap;
  box-sizing: border-box;
}

.btn-version-toggle {
  padding: 6px 12px;
  height: 32px;
  min-height: 32px;
  max-height: 32px;
  box-sizing: border-box;
  font-size: 11px;
}

.btn-presentation-mode {
  padding: 6px 10px;
  height: 32px;
  min-height: 32px;
  max-height: 32px;
  box-sizing: border-box;
}

.btn-presentation-mode img {
  display: block;
  filter: brightness(0) invert(1);
  opacity: 0.9;
  transition: opacity 0.3s;
  width: 18px;
  height: 18px;
}

.btn-presentation-mode:hover img {
  opacity: 1;
}

.btn-slides-visibility {
  padding: 6px 10px;
  height: 32px;
  min-height: 32px;
  max-height: 32px;
  box-sizing: border-box;
}
.btn-slides-visibility img,
.btn-slides-visibility .icon-glass-white {
  display: block;
  filter: brightness(0) invert(1);
  opacity: 0.9;
  transition: opacity 0.3s;
  width: 18px;
  height: 18px;
}
.btn-slides-visibility:hover img,
.btn-slides-visibility:hover .icon-glass-white {
  opacity: 1;
}

.slides-visibility-panel {
  position: fixed;
  top: 52px;
  right: 16px;
  z-index: 10000;
  min-width: 320px;
  max-width: 420px;
  max-height: 70vh;
  overflow: auto;
  background: rgba(30, 40, 55, 0.98);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 12px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
  padding: 12px 16px;
}
.slides-visibility-panel-title {
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.slides-visibility-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.slides-visibility-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.35;
  min-width: 0;
}
.slides-visibility-item:hover {
  color: #fff;
}
.slides-visibility-item-num {
  flex-shrink: 0;
}
.slides-visibility-item-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.slides-visibility-checkbox {
  flex-shrink: 0;
  margin-top: 2px;
  cursor: pointer;
  width: 16px;
  height: 16px;
}

.btn-save-load:hover {
  background: rgba(52, 152, 219, 0.3);
  border-color: var(--color-primary);
  color: var(--color-white);
}

.btn-save-load.btn-reset:hover {
  background: rgba(231, 76, 60, 0.3);
  border-color: #e74c3c;
}

.slide {
  display: none;
  position: relative;
  padding: 30px 50px;
  height: calc(100% - 100px);
  animation: fadeIn 0.5s ease-in-out;
  box-sizing: border-box;
  color: var(--color-white);
  overflow-y: auto;
  overflow-x: hidden;
}

.slide-visibility-toggle {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 20;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  transition: background 0.2s, border-color 0.2s;
}
.slide-visibility-toggle:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.25);
}
.slide-visibility-toggle img {
  width: 18px;
  height: 18px;
  display: block;
  filter: brightness(0) invert(1);
  opacity: 0.9;
}
.slide-visibility-toggle:hover img {
  opacity: 1;
}

/* Слайд «Диагностика» (id 4): кнопка обрезки 3:2 — слева от «скрыть слайд» */
.slide-diagnostic-crop-toggle.slide-visibility-toggle {
  right: 52px;
}

.benefits-discount-toggle {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 20;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  transition: background 0.2s, border-color 0.2s;
  font-size: 1.25em;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1;
  padding: 0;
}
.benefits-discount-toggle:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.25);
  color: #fff;
}
.benefits-discount-toggle.active {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.35);
}

.slide.active {
  display: block;
}

.slide-dark-bg {
  background: rgba(0, 0, 0, 0.35);
}
.slide-dark-bg .slide-content {
  background: rgba(0, 0, 0, 0.25);
  border-radius: 0;
}
.slide-dark-bg .treatment-table,
.slide-dark-bg .cost-calc-table {
  background: rgba(0, 0, 0, 0.2);
  padding: 16px;
  border-radius: 0;
}

/* РЎРєСЂС‹С‚РёРµ СЃР»Р°Р№РґРѕРІ РІ Р·Р°РІРёСЃРёРјРѕСЃС‚Рё РѕС‚ РІРµСЂСЃРёРё */
.slide.version-short-hidden {
  display: none !important;
}

/* Р’ РєРѕСЂРѕС‚РєРѕР№ РІРµСЂСЃРёРё РїРѕРєР°Р·С‹РІР°РµРј С‚РѕР»СЊРєРѕ Р°РєС‚РёРІРЅС‹Р№ СЃР»Р°Р№Рґ */
.slide.version-short-visible {
  display: none;
}

.slide.version-short-visible.active {
  display: block;
}

/* РўРёС‚СѓР»СЊРЅС‹Р№ СЃР»Р°Р№Рґ (РЅРµ РІ РїРµС‡Р°С‚СЊ) */
.slide.slide-title {
  display: none;
  align-items: center;
  justify-content: center;
  padding: 50px;
  text-align: center;
  height: 100%;
}
.slide.slide-title.active {
  display: flex !important;
}
.slide-title-content {
  max-width: 720px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 36px;
}
.slide-title-logo {
  width: 180px;
  height: auto;
  object-fit: contain;
}
.slide-title-heading {
  font-size: 2em;
  line-height: 1.3;
  margin: 0;
  text-align: center;
  color: var(--color-white);
  font-weight: 600;
}
.btn-start-presentation {
  background: var(--color-success);
  border: 2px solid #27ae60;
  color: var(--color-white);
  padding: 14px 32px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition);
  font-family: var(--font-family);
  border-radius: 0;
}
.btn-start-presentation:hover {
  background: #219a52;
  border-color: #219a52;
}

/* РўРёС‚СѓР»СЊРЅС‹Р№ СЃР»Р°Р№Рґ РЅРµ РїРѕРєР°Р·С‹РІР°РµС‚СЃСЏ РІ РїРµС‡Р°С‚Рё */
body.print-preview .slide.slide-no-print {
  display: none !important;
}

/* РўРёС‚СѓР»СЊРЅС‹Р№ СЃР»Р°Р№Рґ: СЃРєСЂС‹С‚СЊ С…СЌРґРµСЂ (РІРµСЂС…РЅСЋСЋ РїР°РЅРµР»СЊ) РЅР° РїСЂРёРІРµС‚СЃС‚РІРµРЅРЅРѕРј СЃР»Р°Р№РґРµ */
#presentation-app:has(#slide-0.active) #top-controls-bar,
#presentation-app:has(#slide-0.active) .top-controls-bar {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* РўРёС‚СѓР»СЊРЅС‹Р№ СЃР»Р°Р№Рґ: РїСЂРѕР·СЂР°С‡РЅС‹Р№ С„РѕРЅ, Р±РµР· РѕС‚СЃС‚СѓРїРѕРІ, РЅР° РІРµСЃСЊ СЌРєСЂР°РЅ */
#presentation-app:has(#slide-0.active) {
  padding: 0 !important;
  align-items: stretch !important;
  justify-content: stretch !important;
}
.presentation-container:has(#slide-0.active) {
  max-width: none !important;
  width: 100% !important;
  height: 100vh !important;
  min-height: 100vh !important;
  background: transparent !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}
#slide-0.slide-title.active {
  padding: 0 !important;
  margin: 0 !important;
  height: 100% !important;
  min-height: 100vh !important;
  align-items: center !important;
  justify-content: center !important;
}
#slide-0.slide-title.active .slide-title-content {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
}

/* РљР»Р°СЃСЃ slide-complaints-hidden РЅРµ РёСЃРїРѕР»СЊР·СѓРµС‚СЃСЏ: СЃР»Р°Р№Рґ 2 РІ Р»РёРЅРµР№РЅРѕРј РїРѕСЂСЏРґРєРµ */

.btn-complaints-popup {
  background: var(--bg-glass);
  border: 2px solid var(--border-glass-light);
  color: var(--color-white);
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: var(--transition);
  font-family: var(--font-family);
  margin-top: 4px;
  width: 550px;
  max-width: 550px;
  box-sizing: border-box;
}
.btn-complaints-popup:hover {
  background: rgba(52, 152, 219, 0.3);
  border-color: var(--color-primary);
}

/* РџРѕРїР°Рї В«Р–Р°Р»РѕР±С‹ РїР°С†РёРµРЅС‚Р°В» */
.popup-complaints-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(8px);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  box-sizing: border-box;
}
.popup-complaints {
  background: var(--bg-glass-dark);
  border: 2px solid var(--border-glass-light);
  padding: 30px 40px;
  max-width: 700px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  color: #ffffff;
}
.popup-complaints h2,
.popup-complaints h3,
.popup-complaints label,
.popup-complaints textarea,
.popup-complaints .content-card,
.popup-complaints .content-card h3,
.popup-complaints .content-card textarea {
  color: #ffffff !important;
}
.popup-complaints h2 {
  margin: 0 0 20px 0;
  font-size: 1.4em;
}
.popup-complaints textarea,
.popup-complaints .content-card textarea {
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
}
.popup-complaints textarea::placeholder,
.popup-complaints .content-card textarea::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.popup-complaints-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: none;
  background: rgba(255, 255, 255, 0.15);
  color: var(--color-white);
  font-size: 24px;
  cursor: pointer;
  line-height: 1;
  padding: 0;
  transition: var(--transition);
}
.popup-complaints-close:hover {
  background: var(--color-primary);
}

/* РћРєРЅРѕ СЂРµР¶РёРјР° РїСЂРµР·РµРЅС‚Р°С†РёРё: РѕРІРµСЂР»РµР№ Рё РєСЂРµСЃС‚РёРє Р·Р°РєСЂС‹С‚РёСЏ СЃРїСЂР°РІР° РѕС‚ Р±Р»РѕРєР° РїРѕ С†РµРЅС‚СЂСѓ */
.presentation-mode-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  pointer-events: none;
}
.presentation-mode-close {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border: 2px solid rgba(255, 255, 255, 0.5);
  background: rgba(0, 0, 0, 0.5);
  color: #ffffff;
  font-size: 24px;
  font-weight: 300;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  pointer-events: auto;
  z-index: 10001;
  line-height: 1;
  padding: 0;
  border-radius: 4px;
}
.presentation-mode-close:hover {
  background: rgba(231, 76, 60, 0.8);
  border-color: #e74c3c;
  transform: translateY(-50%) scale(1.05);
}
.presentation-mode-indicator {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(10px);
  color: #ffffff;
  padding: 8px 20px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 600;
  font-family: var(--font-family);
  pointer-events: auto;
}

.slide-content {
  max-width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  position: relative;
}

/* Р С™Р В°РЎРѓРЎвЂљР С•Р СР Р…РЎвЂ№Р в„– РЎРѓР С”РЎР‚Р С•Р В»Р В»Р В±Р В°РЎР‚ */
.slide::-webkit-scrollbar {
  width: 6px;
}

.slide::-webkit-scrollbar-track {
  background: var(--bg-glass);
  border-radius: 3px;
}

.slide::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 3px;
}

.slide::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.5);
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Р вЂ”Р В°Р С–Р С•Р В»Р С•Р Р†Р С•Р С” Р С‘ Р В»Р С•Р С–Р С•РЎвЂљР С‘Р С— */
.header-logo {
  text-align: center;
  margin-bottom: 20px;
}

.logo {
  height: 50px;
  margin-bottom: 8px;
}

.subtitle {
  font-size: 13px;
  color: var(--text-white-light);
  font-weight: 300;
}

.slide h1 {
  color: var(--color-white);
  font-size: 2.2em;
  text-align: center;
  margin-bottom: 30px;
  font-weight: 500;
}

.slide h1.title-two-lines {
  text-align: left;
  line-height: 1.2;
  margin-bottom: 30px;
  margin-top: 0;
}

.slide h2 {
  color: var(--color-white);
  font-size: 1.8em;
  margin-bottom: 25px;
  text-align: center;
  font-weight: 500;
}

.slide h3, .slide h4 {
  color: var(--color-white);
}

.slide p {
  color: var(--text-white);
}

.slide span {
  color: var(--text-white);
}

.slide label {
  color: var(--text-white);
}

/* Р СњР С•Р Р†РЎвЂ№Р в„– Р СР В°Р С”Р ВµРЎвЂљ Р Т‘Р В»РЎРЏ Р С—Р ВµРЎР‚Р Р†Р С•Р С–Р С• РЎРѓР В»Р В°Р в„–Р Т‘Р В° */
.input-section {
  display: flex;
  flex-wrap: nowrap;
  gap: 40px;
  margin: 0 0 30px 0;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  box-sizing: border-box;
}

/* Р Р€Р Р†Р ВµР В»Р С‘РЎвЂЎР С‘Р Р†Р В°Р ВµР С РЎР‚Р В°РЎРѓРЎРѓРЎвЂљР С•РЎРЏР Р…Р С‘Р Вµ Р СР ВµР В¶Р Т‘РЎС“ Р В±Р В»Р С•Р С”Р В°Р СР С‘ Р Р…Р В° Р С—Р ВµРЎР‚Р Р†Р С•Р С РЎРѓР В»Р В°Р в„–Р Т‘Р Вµ */
#slide-1 .input-section {
  gap: 50px;
}

@media (max-width: 1200px) {
  .input-section {
    flex-wrap: wrap;
  }
}

.input-column {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 500px;
  max-width: 500px;
  min-width: 0;
  margin-top: 0;
  padding-top: 0;
  align-self: flex-start;
}

.input-column > .input-group:first-child {
  margin-top: 0;
  padding-top: 0;
}

.input-column > .input-group:first-child label {
  margin-top: 0;
  padding-top: 0;
}

.input-row {
  display: flex;
  gap: 15px;
  align-items: flex-end;
  width: 100%;
  max-width: 550px;
  flex-wrap: nowrap;
  box-sizing: border-box;
}

.input-row .input-group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1;
  min-width: 0;
}

.input-row .input-group label {
  margin-bottom: 8px;
  height: auto;
  line-height: 1.2;
}

.input-row .input-group:first-child {
  flex: 0 0 calc((550px - 15px) / 2);
  width: calc((550px - 15px) / 2);
  min-width: 0;
}

.input-row .input-group-age {
  flex: 0 0 calc((550px - 15px) / 2);
  width: calc((550px - 15px) / 2);
  min-width: 120px;
}

.input-group-gender {
  display: flex;
  flex-direction: column;
  margin-left: 0;
  width: 100%;
  align-items: center;
}

.input-group-gender label {
  margin-bottom: 8px;
  height: auto;
  line-height: 1.2;
  align-self: flex-start;
  width: 100%;
}

.input-group-gender .gender-checkbox-group {
  margin-top: 0;
  display: flex;
  flex-direction: row;
  gap: 0;
  align-items: stretch;
  height: 48px;
  flex-shrink: 0;
  border: 2px solid var(--border-glass-light);
  background: var(--bg-glass);
  padding: 0;
  box-sizing: border-box;
}

.input-group-gender .gender-checkbox-group .gender-checkbox-label {
  border: none;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
  margin: 0;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-left: 15px;
}

.input-group-gender .gender-checkbox-group .gender-checkbox-label:last-child {
  border-right: none;
}

.photo-column {
  flex: 1 1 460px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  padding-left: 30px;
  padding-right: 0;
  padding-top: 0;
  width: auto;
  max-width: 600px;
  min-width: 460px;
  align-self: flex-start;
  margin-top: 0;
  margin-left: 0;
  margin-bottom: 0;
  padding-bottom: 0;
  box-sizing: border-box;
}

/* Р вЂќР В»РЎРЏ Р С—Р ВµРЎР‚Р Р†Р С•Р С–Р С• РЎРѓР В»Р В°Р в„–Р Т‘Р В° - Р С—Р С•Р Т‘Р Р…Р С‘Р СР В°Р ВµР С Р В±Р В»Р С•Р С” РЎвЂћР С•РЎвЂљР С• Р Р†Р Р†Р ВµРЎР‚РЎвЂ¦ */
#slide-1 .slide-content {
  position: relative;
}

#slide-1 .input-section {
  position: relative;
}

#slide-1 .photo-column {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  z-index: 10 !important;
  margin: 0 !important;
  padding: 0 !important;
  padding-left: 30px !important;
  align-self: flex-start;
  transform: translateY(-30px) !important;
}

.photo-upload-large {
  width: 100%;
  max-width: 580px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin: 0;
  padding: 0;
  align-self: flex-start;
}

.photo-upload-large > label {
  display: block;
  width: 100%;
  cursor: pointer;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  align-self: flex-start;
}

.upload-preview-large {
  width: 100%;
  max-width: 580px;
  min-height: 480px;
  border: 3px dashed rgba(255, 255, 255, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  margin-top: 0;
  padding: 0;
  padding-top: 0;
  cursor: pointer;
  transition: var(--transition);
  background: rgba(255, 255, 255, 0.05);
  box-sizing: border-box;
  overflow: hidden;
}

/* Р В¤Р С‘Р С”РЎРѓР С‘РЎР‚Р С•Р Р†Р В°Р Р…Р Р…РЎвЂ№Р Вµ РЎР‚Р В°Р В·Р СР ВµРЎР‚РЎвЂ№ Р Т‘Р В»РЎРЏ Р В±Р В»Р С•Р С”Р В° РЎвЂћР С•РЎвЂљР С• Р Р…Р В° Р С—Р ВµРЎР‚Р Р†Р С•Р С РЎРѓР В»Р В°Р в„–Р Т‘Р Вµ */
#slide-1 .photo-column {
  padding-left: 0 !important;
}

#slide-1 .photo-upload-large {
  width: 460px;
  max-width: 460px;
  min-width: 200px;
  flex-shrink: 1;
}

#slide-1 .upload-preview-large {
  width: 460px;
  height: 480px;
  max-width: 460px;
  max-height: 480px;
  min-height: 300px;
  min-width: 200px;
  overflow: hidden;
  flex-shrink: 1;
}

/* Р С’Р Т‘Р В°Р С—РЎвЂљР В°РЎвЂ Р С‘РЎРЏ Р В±Р В»Р С•Р С”Р В° РЎвЂћР С•РЎвЂљР С• Р С—РЎР‚Р С‘ РЎРѓРЎС“Р В¶Р ВµР Р…Р С‘Р С‘ Р В±РЎР‚Р В°РЎС“Р В·Р ВµРЎР‚Р В° (Р Т‘Р С• 1200px) */
@media (max-width: 1400px) {
  #slide-1 .photo-upload-large {
    width: calc(100% - 50px);
    max-width: 420px;
  }
  
  #slide-1 .upload-preview-large {
    width: calc(100% - 50px);
    max-width: 420px;
    height: 450px;
  }
}

@media (max-width: 1300px) {
  #slide-1 .photo-upload-large {
    max-width: 380px;
  }
  
  #slide-1 .upload-preview-large {
    max-width: 380px;
    height: 420px;
  }
}

/* Р С’Р Т‘Р В°Р С—РЎвЂљР С‘Р Р†Р Р…Р С•РЎРѓРЎвЂљРЎРЉ Р Т‘Р В»РЎРЏ Р В±Р В»Р С•Р С”Р В° РЎвЂћР С•РЎвЂљР С• Р С—РЎР‚Р С‘ РЎРѓРЎС“Р В¶Р ВµР Р…Р С‘Р С‘ Р В±РЎР‚Р В°РЎС“Р В·Р ВµРЎР‚Р В° */
@media (max-width: 1200px) {
  #slide-1 .photo-column {
    position: relative !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    margin-top: 20px;
  }
  
  #slide-1 .photo-upload-large {
    width: 100%;
    max-width: 100%;
    min-width: 200px;
  }
  
  #slide-1 .upload-preview-large {
    width: 100%;
    max-width: 100%;
    min-width: 200px;
    height: 400px;
    min-height: 300px;
  }
}

@media (max-width: 900px) {
  #slide-1 .upload-preview-large {
    height: 350px;
    min-height: 250px;
  }
}

.input-group {
  min-width: 200px;
}

.input-group-gender {
  width: 550px;
  max-width: 550px;
}

.input-group-name {
  width: 550px;
  max-width: 550px;
  margin-top: 0;
  padding-top: 0;
}

.input-group-clinic {
  width: 550px;
  max-width: 550px;
}

.input-group-coordinator {
  width: 550px;
  max-width: 550px;
}

.input-group-contact {
  width: 550px;
  max-width: 550px;
}

.input-group label {
  display: block;
  margin-top: 0;
  margin-bottom: 8px;
  padding-top: 0;
  color: var(--text-white);
  font-weight: 500;
  font-size: 14px;
}

.input-group input, .input-group select {
  width: 100%;
  padding: 12px 15px;
  border: 2px solid var(--border-glass-light);
  font-size: 14px;
  transition: var(--transition);
  background: var(--bg-glass);
  box-sizing: border-box;
  color: var(--color-white);
  font-family: var(--font-family);
  height: 48px;
  min-height: 48px;
  max-height: 48px;
  line-height: 1.5;
  margin: 0;
}

.input-group input:focus, .input-group select:focus {
  outline: none;
  border-color: var(--color-primary);
  background: rgba(255, 255, 255, 0.2);
}

.input-group input::placeholder {
  color: var(--text-white-dim);
}

.input-group input[readonly] {
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.7);
}

.input-group-age input {
  padding: 12px 15px;
  text-align: left;
  font-size: 14px;
}

.input-group select option {
  background: #2c3e50;
  color: var(--color-white);
}

/* Р вЂ™РЎвЂ№Р В±Р С•РЎР‚ Р С—Р С•Р В»Р В° */
.gender-checkbox-group {
  display: flex;
  flex-direction: row;
  gap: 8px;
  margin-top: 0;
  width: 100%;
}

.gender-checkbox-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  cursor: pointer;
  user-select: none;
  padding: 12px 8px;
  border: none;
  border-radius: 0;
  background: transparent;
  transition: var(--transition);
  flex: 1;
  box-sizing: border-box;
  height: 48px;
  font-family: var(--font-family);
  min-height: 48px;
  max-height: 48px;
}

.input-group-gender .gender-checkbox-group .gender-checkbox-label:hover {
  background: rgba(255, 255, 255, 0.15);
}

.gender-checkbox-label input[type="radio"] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  width: 0;
  height: 0;
}

.gender-checkbox-checkmark {
  display: none;
  color: var(--color-white);
  font-size: 18px;
  font-weight: bold;
  margin-right: 6px;
}

.gender-checkbox-label:has(input[type="radio"]:checked) .gender-checkbox-checkmark {
  display: inline-block;
}

.gender-checkbox-text {
  color: var(--text-white);
  font-size: 14px;
  font-weight: 400;
  font-family: var(--font-family);
  text-align: left;
}

.gender-checkbox-label input[type="radio"]:checked + .gender-checkbox-text {
  color: var(--color-white);
}

.gender-checkbox-label:has(input[type="radio"]:checked) {
  background: rgba(52, 152, 219, 0.3);
}

/* Р вЂР С•Р В»РЎРЉРЎв‚¬Р С•Р Вµ РЎвЂћР С•РЎвЂљР С• Р Т‘Р В»РЎРЏ Р С—Р ВµРЎР‚Р Р†Р С•Р С–Р С• РЎРѓР В»Р В°Р в„–Р Т‘Р В° - РЎРѓРЎвЂљР С‘Р В»Р С‘ РЎС“Р В¶Р Вµ Р С•Р С—РЎР‚Р ВµР Т‘Р ВµР В»Р ВµР Р…РЎвЂ№ Р Р†РЎвЂ№РЎв‚¬Р Вµ */

.upload-preview-large:hover {
  border-color: var(--color-primary);
  background: var(--bg-glass);
}

.upload-preview-large img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  max-height: 100%;
}

.upload-placeholder {
  color: var(--text-white-dim);
  font-size: 14px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.photo-add-tile {
  border: 2px dashed rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-white-light);
  font-size: 13px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  padding: 20px;
  width: 100%;
  min-height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.25s ease;
  font-family: var(--font-family);
  margin-top: 12px;
  border-radius: 0;
  outline: none;
  opacity: 1 !important;
  visibility: visible !important;
}

.photo-add-tile[style*="display: none"] {
  display: none !important;
}

.photo-add-tile span {
  pointer-events: none;
}

.photo-add-tile:hover {
  border-color: var(--color-primary);
  color: #ffffff;
  background: rgba(52, 152, 219, 0.2);
}

.state-photo-preview .photo-add-tile:not(.photo-add-tile-compact),
.upload-preview-large .photo-add-tile:not(.photo-add-tile-compact) {
  min-height: 320px;
  margin-top: 0;
}

.state-photo-preview .photo-add-tile.photo-add-tile-compact,
.upload-preview-large .photo-add-tile.photo-add-tile-compact {
  min-height: 160px;
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.upload-preview .photo-add-tile {
  min-height: 140px;
  margin-top: 0;
}

/* Р вЂ”Р В°Р С–РЎР‚РЎС“Р В·Р С”Р В° РЎвЂћР С•РЎвЂљР С• Р Т‘Р В»РЎРЏ Р С•РЎРѓРЎвЂљР В°Р В»РЎРЉР Р…РЎвЂ№РЎвЂ¦ РЎРѓР В»Р В°Р в„–Р Т‘Р С•Р Р† */
.photo-upload {
  margin: 15px 0;
  text-align: center;
}

.photo-upload label {
  display: block;
  margin-bottom: 8px;
  color: var(--text-white);
  font-weight: 500;
  font-size: 14px;
}

.file-input-wrapper {
  position: relative;
  margin-bottom: 8px;
}

.file-input-wrapper input[type="file"] {
  position: absolute;
  left: -9999px;
}

.file-select-btn {
  background: linear-gradient(135deg, rgba(52, 152, 219, 0.9) 0%, rgba(52, 152, 219, 0.7) 100%);
  color: var(--color-white);
  border: 2px solid rgba(52, 152, 219, 0.5);
  padding: 12px 24px;
  cursor: pointer;
  font-family: var(--font-family);
  font-size: 13px;
  font-weight: 500;
  transition: all 0.3s ease;
  pointer-events: auto !important;
  position: relative;
  z-index: 10;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(52, 152, 219, 0.3);
  letter-spacing: 0.5px;
}

.file-select-btn:hover {
  background: linear-gradient(135deg, rgba(52, 152, 219, 1) 0%, rgba(41, 128, 185, 0.9) 100%);
  border-color: var(--color-primary);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(52, 152, 219, 0.4);
}

.file-select-btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(52, 152, 219, 0.3);
}

.upload-preview {
  margin-top: 15px;
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  align-items: flex-start;
}

.upload-preview img {
  max-width: 180px;
  max-height: 120px;
  border: 2px solid var(--border-glass-light);
}

.photo-upload-left {
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.photo-upload-left .file-input-wrapper {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.photo-upload-left .upload-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.photo-upload-left .upload-preview img {
  max-width: 140px;
  max-height: 100px;
}

/* Р СџР ВµРЎР‚Р ВµР С•Р С—РЎР‚Р ВµР Т‘Р ВµР В»РЎРЏР ВµР С Р Т‘Р В»РЎРЏ inspection РЎвЂћР С•РЎвЂљР С• РЎРѓ Р С—Р ВµРЎР‚Р ВµРЎвЂљР В°РЎРѓР С”Р С‘Р Р†Р В°Р Р…Р С‘Р ВµР С */
#inspection-photo-preview img {
  max-width: 100% !important;
  max-height: 100% !important;
}

/* Р СћР ВµР С”РЎРѓРЎвЂљР С•Р Р†РЎвЂ№Р Вµ Р С•Р В±Р В»Р В°РЎРѓРЎвЂљР С‘ */
textarea {
  width: 100%;
  min-height: 80px;
  padding: 12px;
  border: 2px solid var(--border-glass-light);
  font-family: var(--font-family);
  font-size: 13px;
  resize: vertical;
  box-sizing: border-box;
  background: var(--bg-glass);
  color: var(--color-white);
  margin: 0;
  line-height: 1.5;
}

textarea:focus {
  outline: none;
  border-color: var(--color-primary);
}

textarea::placeholder {
  color: var(--text-white-dim);
}

/* Р С™Р Р…Р С•Р С—Р С”Р С‘ */
.btn-generate {
  background: var(--color-success);
  color: var(--color-white);
  border: none;
  padding: 15px 30px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition);
  display: block;
  margin: 30px auto;
  min-width: 220px;
}

.btn-generate:hover {
  background: #219a52;
}

/* Р СњР С‘Р В¶Р Р…РЎРЏРЎРЏ Р С—Р В°Р Р…Р ВµР В»РЎРЉ */
/* Р СњР В°Р Р†Р С‘Р С–Р В°РЎвЂ Р С‘РЎРЏ - Р В·Р В°Р С”РЎР‚Р ВµР С—Р В»Р ВµР Р…Р В° Р С—Р С• Р Р…Р С‘Р В·РЎС“ */
.navigation {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 15px 50px 20px 50px;
  background: var(--bg-glass);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  box-sizing: border-box;
  flex-shrink: 0;
  position: sticky;
  bottom: 0;
  z-index: 100;
  margin-top: auto;
  width: 100%;
}

/* РЈРїСЂР°РІР»РµРЅРёРµ РІРёРґРёРјРѕСЃС‚СЊСЋ С‚Р°Р±Р±Р°СЂРѕРІ: РЅР° РїСЂРёРІРµС‚СЃС‚РІРµРЅРЅРѕРј СЌРєСЂР°РЅРµ СЃРєСЂС‹РІР°РµРј С‚РѕР»СЊРєРѕ РЅРёР¶РЅСЋСЋ РЅР°РІРёРіР°С†РёСЋ; РІРµСЂС…РЅСЏСЏ РїР°РЅРµР»СЊ (РЎРѕС…СЂР°РЅРёС‚СЊ/Р—Р°РіСЂСѓР·РёС‚СЊ/РЎР±СЂРѕСЃ/Р РµР¶РёРј РїСЂРµР·РµРЅС‚Р°С†РёРё) РІСЃРµРіРґР° РІРёРґРЅР° */
#presentation-app.tabbars-hidden-ctx .navigation {
  display: none !important;
}
#top-controls-bar.tabbars-hidden,
#bottom-navigation.tabbars-hidden,
.top-controls-bar.tabbars-hidden,
.navigation.tabbars-hidden {
  display: none !important;
}
#top-controls-bar.tabbars-visible,
#bottom-navigation.tabbars-visible,
.top-controls-bar.tabbars-visible,
.navigation.tabbars-visible {
  display: flex !important;
  visibility: visible !important;
}

.nav-main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.btn-nav {
  background: var(--bg-glass);
  color: var(--color-white);
  border: 2px solid var(--border-glass-light);
  padding: 10px 20px;
  cursor: pointer;
  transition: var(--transition);
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 500;
  font-family: var(--font-family);
  font-size: 13px;
}

.btn-nav:hover:not(:disabled) {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
}

.btn-nav.btn-nav-generate {
  background: var(--color-success);
  border-color: #27ae60;
  color: var(--color-white);
}

.btn-nav.btn-nav-generate:hover {
  background: #219150;
  border-color: #219150;
}

.btn-nav:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.slide-indicator {
  font-weight: 600;
  color: var(--color-white);
  font-size: 14px;
}

/* Р СџРЎР‚Р С•Р С–РЎР‚Р ВµРЎРѓРЎРѓ Р В±Р В°РЎР‚ */
.progress-bar-container {
  width: 100%;
  padding: 0;
  box-sizing: border-box;
}

.progress-bar {
  width: 100%;
  height: 5px;
  background: rgba(255, 255, 255, 0.3);
  overflow: hidden;
}

.progress {
  height: 100%;
  background: var(--color-primary);
  transition: width 0.3s ease;
}

/* РћРІРµСЂР»РµР№ Рё РѕРєРЅР° РјРѕРґР°Р»РѕРє В«Р”РѕР±Р°РІРёС‚СЊ РїРµСЂРёРѕРґВ» Рё В«Р Р°Р·Р±РёС‚СЊ РЅР° РїРµСЂРёРѕРґВ» вЂ” РїРѕРІРµСЂС… РІСЃРµРіРѕ, РїРѕ С†РµРЅС‚СЂСѓ */
.period-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.65);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 10500;
}

.period-modal-overlay.show {
  display: flex !important;
}

.period-modal {
  width: min(420px, 90vw);
  background: #0d1523;
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 25px 25px 20px 25px;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-sizing: border-box;
}

.period-modal h3 {
  margin: 0 0 10px 0;
  font-size: 1.2em;
  text-align: left;
  color: #ffffff !important;
}

.period-modal label {
  font-size: 0.85em;
  letter-spacing: 0.3px;
  color: var(--text-white-light);
}

.period-modal select,
.period-modal input[type="number"],
.period-modal input[type="range"] {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.25);
  background: rgba(255, 255, 255, 0.05);
  color: #ffffff !important;
  padding: 10px 12px;
  font-family: var(--font-family);
  box-sizing: border-box;
}

.period-modal select {
  background: rgba(20, 30, 50, 0.95) !important;
  color: #ffffff !important;
  cursor: pointer;
}

.period-modal select:focus,
.period-modal input:focus {
  outline: 2px solid rgba(52, 152, 219, 0.5);
  outline-offset: 2px;
}

.period-modal input[type="range"] {
  padding: 0;
  accent-color: #27ae60;
}

.period-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 10px;
}

.period-modal-close {
  position: absolute;
  top: 10px;
  right: 10px;
  background: transparent;
  border: none;
  color: var(--color-white);
  font-size: 20px;
  cursor: pointer;
  line-height: 1;
  padding: 4px;
}

.btn-modal-secondary,
.btn-modal-primary {
  border: none;
  padding: 10px 18px;
  font-family: var(--font-family);
  cursor: pointer;
  font-size: 0.85em;
  border-radius: 0;
}

.btn-modal-secondary {
  background: var(--bg-glass);
  color: var(--color-white);
}

.btn-modal-primary {
  background: var(--color-success);
  color: var(--color-white);
}

/* Р С™Р В°РЎР‚РЎвЂљР С•РЎвЂЎР С”Р С‘ Р С”Р С•Р Р…РЎвЂљР ВµР Р…РЎвЂљР В° */
.content-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin: 20px 0;
  width: 100%;
  box-sizing: border-box;
}

.content-card {
  background: var(--bg-glass);
  padding: 20px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.content-card h3 {
  color: var(--color-white);
  margin-bottom: 12px;
  font-size: 16px;
}

/* Р вЂќР С‘Р В°Р С–Р Р…Р С•РЎРѓРЎвЂљР С‘Р С”Р В° */
.diagnostic-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin: 20px 0;
  width: 100%;
  box-sizing: border-box;
}

.diagnostic-item {
  text-align: center;
  padding: 20px 15px;
  background: var(--bg-glass);
  border: 2px solid var(--border-glass);
  transition: transform 0.3s;
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
}

.diagnostic-item:hover {
  transform: translateY(-3px);
}

.diag-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 14px auto;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--color-primary);
  border-radius: 0;
  box-shadow: none;
}

.diag-icon img {
  width: 34px;
  height: 34px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.diagnostic-item h4 {
  color: var(--color-white);
  margin-bottom: 8px;
  font-size: 15px;
}

.diagnostic-item textarea {
  min-height: 70px;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
}

.diagnostic-results-single {
  width: 100%;
  margin: 20px 0;
}
.diagnostic-results-single textarea {
  width: 100%;
  min-height: 80px;
  padding: 14px 16px;
  border: 2px solid var(--border-glass-light);
  background: var(--bg-glass);
  color: var(--color-white);
  font-family: var(--font-family);
  font-size: 14px;
  resize: vertical;
  box-sizing: border-box;
}
.diagnostic-results-single textarea::placeholder {
  color: var(--text-white-dim);
}

/* Р§РµРєР»РёСЃС‚ В«Р”РёР°РіРЅРѕСЃС‚РёРєР°: С‡С‚Рѕ РјС‹ СѓРІРёРґРµР»РёВ» (СЃР»Р°Р№Рґ 4) вЂ” 2 РєРѕР»РѕРЅРєРё, РєРѕРјРїР°РєС‚РЅРѕ */
.diagnostic-checklist-wrap {
  width: 100%;
  margin-bottom: 16px;
}
.diagnostic-checklist-rows {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 16px;
  padding-right: 4px;
}
/* РљСЂРµСЃС‚РёРє С‚РѕР»СЊРєРѕ Сѓ РЅРѕРІС‹С… (РґРѕР±Р°РІР»РµРЅРЅС‹С…) СЃС‚СЂРѕРє */
.diagnostic-checklist-row-default .diagnostic-checklist-delete {
  display: none !important;
}
.diagnostic-checklist-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 8px;
  position: relative;
  min-height: 44px;
  box-sizing: border-box;
}
.diagnostic-checklist-label {
  flex-shrink: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  margin: 0;
}
.diagnostic-checklist-cb {
  width: 20px;
  height: 20px;
  margin: 0;
  cursor: pointer;
  accent-color: var(--color-primary, #3498db);
}
.diagnostic-checklist-input {
  flex: 1;
  min-width: 0;
  padding: 6px 10px;
  border: none;
  background: transparent;
  color: var(--color-white, #fff);
  font-family: var(--font-family);
  font-size: 14px;
  outline: none;
  box-sizing: border-box;
}
.diagnostic-checklist-input::placeholder {
  color: rgba(255, 255, 255, 0.45);
}
.diagnostic-checklist-delete {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  min-width: 28px;
  min-height: 28px;
  border: none;
  border-radius: 50%;
  background: rgba(231, 76, 60, 0.9);
  color: #fff;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  padding: 0;
}
.diagnostic-checklist-delete:hover {
  background: rgba(192, 57, 43, 1);
  transform: scale(1.08);
}
.btn-add-diagnostic {
  margin-top: 10px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.08);
  color: var(--color-white);
  font-size: 24px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
  padding: 0;
}
.btn-add-diagnostic:hover {
  background: rgba(52, 152, 219, 0.35);
  border-color: var(--color-primary);
}
.btn-add-diagnostic span {
  line-height: 1;
}

.diagnostic-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr;
  gap: 16px;
  width: 100%;
  margin-top: 24px;
  min-height: 720px;
}
/* РЎР»Р°Р№Рґ 4 В«Р”РёР°РіРЅРѕСЃС‚РёРєР°: С‡С‚Рѕ РјС‹ СѓРІРёРґРµР»РёВ»: 6 РѕРґРёРЅР°РєРѕРІС‹С… С„РѕС‚Рѕ, 3 РІ СЂСЏРґ Г— 2 СЂСЏРґР°; Р±Р»РѕРє РіР°Р»РµСЂРµРё Р±Р»РёР¶Рµ Рє РїСѓРЅРєС‚Р°Рј */
#slide-4 .diagnostic-checklist-wrap { margin-bottom: 4px !important; }
#slide-4 .diagnostic-gallery {
  grid-template-rows: 1fr 1fr;
  margin-top: 6px !important;
  min-height: 360px;
}
#slide-4 .dg-pos-1 { grid-column: 1; grid-row: 1; }
#slide-4 .dg-pos-2 { grid-column: 2; grid-row: 1; }
#slide-4 .dg-pos-3 { grid-column: 3; grid-row: 1; }
#slide-4 .dg-pos-4 { grid-column: 1; grid-row: 2; }
#slide-4 .dg-pos-5 { grid-column: 2; grid-row: 2; }
#slide-4 .dg-pos-6 { grid-column: 3; grid-row: 2; }
.dg-cell {
  position: relative;
  border: 2px dashed rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.05);
  overflow: hidden;
  cursor: pointer;
  transition: var(--transition);
}
.dg-cell:hover { border-color: var(--color-primary); background: var(--bg-glass); }
.dg-cell-inner { display: block; width: 100%; height: 100%; cursor: pointer; }
.dg-preview {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 80px;
}
/* РЎР»Р°Р№Рґ 2 Р”РёР°РіРЅРѕСЃС‚РёРєР°: 1 Р±РѕР»СЊС€РѕР№ Р±Р»РѕРє (2x2), 5 РјР°Р»С‹С… РѕРґРёРЅР°РєРѕРІРѕРіРѕ СЂР°Р·РјРµСЂР° (1x1); РІС‹СЃРѕС‚С‹ СѓРІРµР»РёС‡РµРЅС‹ РІ 2 СЂР°Р·Р° */
.dg-pos-1 { grid-column: 1 / 3; grid-row: 1 / 3; }
.dg-pos-2 { grid-column: 3; grid-row: 1; }
.dg-pos-3 { grid-column: 3; grid-row: 2; }
.dg-pos-4 { grid-column: 1; grid-row: 3; }
.dg-pos-5 { grid-column: 2; grid-row: 3; }
.dg-pos-6 { grid-column: 3; grid-row: 3; }
.dg-preview .upload-placeholder { color: var(--text-white-dim); font-size: 14px; }
.dg-preview img { width: 100%; height: 100%; object-fit: cover; }

/* РЎР»Р°Р№Рґ 4 В«Р”РёР°РіРЅРѕСЃС‚РёРєР°: С‡С‚Рѕ РјС‹ СѓРІРёРґРµР»РёВ»: СЂР°РјРєР° РїР»РµР№СЃС…РѕР»РґРµСЂР° СЃРєСЂС‹РІР°РµС‚СЃСЏ РїСЂРё РґРѕР±Р°РІР»РµРЅРёРё С„РѕС‚Рѕ, СЃРЅРѕРІР° РїРѕСЏРІР»СЏРµС‚СЃСЏ РїСЂРё СѓРґР°Р»РµРЅРёРё */
#slide-4 .dg-cell:has(.dg-preview img),
#slide-4 .dg-cell:has(.dg-preview .photo-thumbnail-wrapper) { border: none !important; background: transparent !important; }
#slide-4 .dg-preview:has(img) .upload-placeholder,
#slide-4 .dg-preview:has(.photo-thumbnail-wrapper) .upload-placeholder { display: none !important; visibility: hidden !important; }
#slide-4 .dg-preview:not(:has(img)):not(:has(.photo-thumbnail-wrapper)) .upload-placeholder { display: flex !important; visibility: visible !important; align-items: center; justify-content: center; }

.scan3d-gallery { display: flex; flex-direction: column; gap: 16px; width: 100%; margin-top: 24px; }
.scan3d-row { display: flex; gap: 16px; flex: 1; }
.scan3d-cell {
  flex: 1; position: relative; border: 2px dashed rgba(255,255,255,0.3); background: rgba(255,255,255,0.05);
  overflow: hidden; cursor: pointer; transition: var(--transition); aspect-ratio: 1.5805 / 1;
}
.scan3d-cell:hover { border-color: var(--color-primary); background: var(--bg-glass); }
.scan3d-cell-inner { display: block; width: 100%; height: 100%; cursor: pointer; }
.scan3d-preview { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; min-height: 80px; }
.scan3d-preview .upload-placeholder { color: var(--text-white-dim); font-size: 14px; }
.scan3d-preview img { width: 100%; height: 100%; object-fit: cover; }

/* Слайд 24 (3D-сканирование): скруглённая «маска» у ячейки и превью с загруженным фото */
#slide-24 .scan3d-cell:has(.photo-thumbnail-wrapper),
#slide-24 .scan3d-cell:has(.scan3d-preview img) {
  border-radius: 12px;
}
#slide-24 .scan3d-preview:has(.photo-thumbnail-wrapper),
#slide-24 .scan3d-preview:has(img) {
  border-radius: 12px;
  overflow: hidden;
  box-sizing: border-box;
}

/* РџСЂРѕРїРѕСЂС†РёСЏ 1.7:1 РґР»СЏ Р±Р»РѕРєРѕРІ С„РѕС‚Рѕ (РµСЃР»Рё РёСЃРїРѕР»СЊР·СѓРµС‚СЃСЏ) */
.state-photo-upload.state-photo-17 { width: 100%; }
.state-photo-upload.state-photo-17 .state-photo-preview { aspect-ratio: 1.7 / 1; width: 100%; min-height: 120px; }

/* РџСЂРѕРїРѕСЂС†РёСЏ 3:2 РґР»СЏ Р±Р»РѕРєРѕРІ С„РѕС‚Рѕ РЅР° СЃР»Р°Р№РґР°С… 5, 9, 10, 11, 12 (РўРµРєСѓС‰РµРµ/Р‘СѓРґСѓС‰РµРµ СЃРѕСЃС‚РѕСЏРЅРёРµ, РІРёСЂС‚СѓР°Р»СЊРЅРѕРµ РїР»Р°РЅРёСЂРѕРІР°РЅРёРµ, С€Р°Р±Р»РѕРЅ, РєРѕРЅСЃС‚СЂСѓРєС†РёРё) */
.state-photo-upload.state-photo-32 { width: 100%; }
.state-photo-upload.state-photo-32 .state-photo-preview,
.state-photo-upload.state-photo-32 .upload-preview-large { aspect-ratio: 3 / 2; width: 100%; min-height: 120px; }

/* РЎР»Р°Р№Рґ 9 (Р’РёСЂС‚СѓР°Р»СЊРЅРѕРµ РїР»Р°РЅРёСЂРѕРІР°РЅРёРµ): РїСЂРѕРїРѕСЂС†РёСЏ Р±Р»РѕРєР° С„РѕС‚Рѕ 800Г—400 (2:1) */
#slide-9 .state-photo-upload .state-photo-preview,
#slide-9 .state-photo-upload .upload-preview-large {
  width: 100%;
  max-width: 580px;
  aspect-ratio: 2 / 1;
  min-height: 120px;
  box-sizing: border-box;
}

/* РЎР»Р°Р№Рґ 3 (Р”РёР°РіРЅРѕРєР°С‚): С„РѕС‚Рѕ РЅРµ РѕР±СЂРµР·Р°С‚СЊ РїРѕ РІС‹СЃРѕС‚Рµ, С€РёСЂРёРЅР° Р°РІС‚РѕРјР°С‚РёС‡РµСЃРєРё, С†РµРЅС‚СЂРёСЂРѕРІР°С‚СЊ РїРѕ РіРѕСЂРёР·РѕРЅС‚Р°Р»Рё */
#slide-3 .state-photo-upload {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
#slide-3 .state-photo-upload .state-photo-preview,
#slide-3 .state-photo-upload .upload-preview-large {
  width: 100%;
  max-width: 580px;
  min-height: 120px;
  max-height: none;
  aspect-ratio: auto;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* РџР»РµР№СЃС…РѕР»РґРµСЂ В«+ РґРѕР±Р°РІРёС‚СЊ С„РѕС‚РѕВ» РІРёРґРµРЅ С‚РѕР»СЊРєРѕ РєРѕРіРґР° С„РѕС‚Рѕ РµС‰С‘ РЅРµС‚; РїРѕСЃР»Рµ РґРѕР±Р°РІР»РµРЅРёСЏ С„РѕС‚Рѕ вЂ” СЃРєСЂС‹С‚СЊ */
#diagnokat-photo-preview:not(:has(.photo-thumbnail-wrapper)):not(:has(img)) .upload-placeholder {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-height: 120px !important;
  flex: 1 1 auto;
  color: var(--text-white-dim) !important;
  font-size: 14px !important;
  text-align: center;
  padding: 24px;
  box-sizing: border-box;
}

/* Скругление у всех автоматически подставляемых фото/превью в режиме презентации */
body.presentation-mode-active .photo-thumbnail-wrapper {
  border-radius: 18px !important;
  overflow: hidden !important;
}
body.presentation-mode-active .photo-thumbnail-wrapper img {
  border-radius: 18px !important;
}
/* Слайды 1 и 3: скругление на самом img задаёт JS (applyRoundedContainImage), не глобальные 18px */
body.presentation-mode-active #slide-1 .photo-thumbnail-wrapper,
body.presentation-mode-active #slide-3 .photo-thumbnail-wrapper {
  border-radius: 12px !important; /* fallback для презентации */
  overflow: hidden !important;
}
body.presentation-mode-active #slide-1 .upload-preview-large,
body.presentation-mode-active #slide-3 .upload-preview-large,
body.presentation-mode-active #slide-3 .state-photo-preview {
  border-radius: 0 !important;
  overflow: visible !important;
}
body.presentation-mode-active #slide-1 .photo-thumbnail-wrapper img,
body.presentation-mode-active #slide-3 .photo-thumbnail-wrapper img {
  border-radius: 12px !important; /* fallback, если JS ещё не успел/не сработал */
  clip-path: none !important;
}
/* Слайд 24 (3D-сканирование): маска с тем же радиусом, что и в updateScan3dPhotoRounding / applyRoundedContainImage */
body.presentation-mode-active #slide-24 .scan3d-cell:has(.photo-thumbnail-wrapper),
body.presentation-mode-active #slide-24 .scan3d-cell:has(.scan3d-preview img) {
  border-radius: 12px !important;
}
body.presentation-mode-active #slide-24 .scan3d-preview {
  border-radius: 12px !important;
  overflow: hidden !important;
  clip-path: inset(0 round 12px) !important;
}
body.presentation-mode-active #slide-24 .photo-thumbnail-wrapper {
  border-radius: 12px !important;
  overflow: hidden !important;
}
body.presentation-mode-active #slide-24 .scan3d-preview img,
body.presentation-mode-active #slide-24 .photo-thumbnail-wrapper img {
  border-radius: 12px !important;
}
body.presentation-mode-active .upload-preview-large,
body.presentation-mode-active .state-photo-preview,
body.presentation-mode-active .dg-preview,
body.presentation-mode-active .scan3d-preview,
body.presentation-mode-active .s13-preview {
  border-radius: 18px !important;
  overflow: hidden !important;
}
body.presentation-mode-active .state-photo-preview img,
body.presentation-mode-active .upload-preview-large img,
body.presentation-mode-active .dg-preview img,
body.presentation-mode-active .scan3d-preview img,
body.presentation-mode-active .s13-preview img {
  border-radius: 18px !important;
}
#diagnokat-photo-preview:has(.photo-thumbnail-wrapper) .upload-placeholder,
#diagnokat-photo-preview:has(img) .upload-placeholder {
  display: none !important;
  visibility: hidden !important;
}
#slide-3 .state-photo-upload .state-photo-preview:not(:has(.photo-thumbnail-wrapper)):not(:has(img)) .upload-placeholder {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-height: 120px !important;
  flex: 1 1 auto;
  color: var(--text-white-dim) !important;
  font-size: 14px !important;
  text-align: center;
  padding: 24px;
  box-sizing: border-box;
}
#slide-3 .state-photo-upload .state-photo-preview:has(.photo-thumbnail-wrapper) .upload-placeholder,
#slide-3 .state-photo-upload .state-photo-preview:has(img) .upload-placeholder {
  display: none !important;
  visibility: hidden !important;
}
#slide-3 .state-photo-upload .photo-thumbnail-wrapper {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  flex: 1 1 100%;
  overflow: visible;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  box-sizing: border-box;
}
/* Слайд 3 (Диагнокат): размеры и скругление img — applyRoundedContainImage */
#slide-3 .state-photo-upload .photo-thumbnail-wrapper img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center;
  clip-path: none !important;
  display: block;
  margin-left: auto;
  margin-right: auto;
  border-radius: 12px !important; /* fallback: если JS-скругление еще не применилось */
}
/* РЎР»Р°Р№РґС‹ 9, 10: С„РёРєСЃРёСЂРѕРІР°РЅРЅРѕРµ С„РѕС‚Рѕ РёР· С€Р°Р±Р»РѕРЅР° вЂ” Р·Р°РјРµРЅРёС‚СЊ РёР»Рё СѓРґР°Р»РёС‚СЊ РЅРµР»СЊР·СЏ */
.state-photo-fixed .state-photo-preview { display: flex; align-items: center; justify-content: center; cursor: default; }
.state-photo-fixed .state-photo-fixed-img { width: 100%; height: 100%; object-fit: contain; }
/* РЎР»Р°Р№РґС‹ 10вЂ“11 (С…РёСЂСѓСЂРіРёС‡РµСЃРєРёР№ С€Р°Р±Р»РѕРЅ, РІСЂРµРјРµРЅРЅР°СЏ РєРѕРЅСЃС‚СЂСѓРєС†РёСЏ): РѕС‚СЃС‚СѓРї Р·Р°РіРѕР»РѕРІРѕРє в†’ С„РѕС‚Рѕ РІ 2 СЂР°Р·Р° РјРµРЅСЊС€Рµ (3px) */
#slide-10 .slide-content > h2,
#slide-11 .slide-content > h2,
.slide:has(#surgical-template-photo-preview) .slide-content > h2,
.slide:has(#temporary-example-photo-preview) .slide-content > h2 { margin-bottom: 3px !important; }
#slide-10 .state-photo-upload,
#slide-11 .state-photo-upload,
.slide:has(#surgical-template-photo-preview) .state-photo-upload,
.slide:has(#temporary-example-photo-preview) .state-photo-upload { margin-top: -12px !important; margin-bottom: 30px !important; }
/* РЎР»Р°Р№РґС‹ 11, 12: РІС‹Р±РѕСЂ РІР°СЂРёР°РЅС‚Р° РїСЂРёРјРµСЂР° РґР»СЏ Р°РІС‚РѕР·Р°РїРѕР»РЅРµРЅРёСЏ */
.construction-variants-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 12px; position: relative; z-index: 10; pointer-events: auto; }
.construction-variants-label { font-size: 0.95em; color: var(--text-white-dim); margin-right: 8px; }
.construction-variant-btn { padding: 8px 16px; border: 1px solid rgba(255,255,255,0.4); background: rgba(255,255,255,0.08); color: #fff; border-radius: 6px; cursor: pointer; font-size: 14px; transition: var(--transition); position: relative; z-index: 11; pointer-events: auto; }
.construction-variant-btn:hover { background: var(--color-primary); border-color: var(--color-primary); }
.construction-variant-btn.active { background: var(--color-primary); border-color: var(--color-primary); }
/* РЎР»Р°Р№Рґ 11: РєРЅРѕРїРєРё РїСЂРёРјРµСЂРѕРІ РѕРїСѓСЃС‚РёС‚СЊ РЅРёР¶Рµ РѕС‚ Р·Р°РіРѕР»РѕРІРєР° */
#slide-10 .construction-variants-row { margin-top: 14px; }
#slide-11 .construction-variants-row { margin-top: 14px; }
/* РЎР»Р°Р№РґС‹ 11вЂ“12: Р±РµР· РєРЅРѕРїРєРё РґРѕР±Р°РІР»РµРЅРёСЏ С„РѕС‚Рѕ, Р±РµР· СЂР°РјРєРё, С„РѕС‚Рѕ РЅР° РІСЃСЋ РѕР±Р»Р°СЃС‚СЊ */
#slide-11 .photo-add-tile,
#slide-12 .photo-add-tile { display: none !important; }
body.presentation-mode-active #slide-11 .state-photo-preview .photo-thumbnail-wrapper,
body.presentation-mode-active #slide-12 .state-photo-preview .photo-thumbnail-wrapper {
  border: none !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: none !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.presentation-mode-active #slide-11 .state-photo-preview .photo-thumbnail-wrapper img,
body.presentation-mode-active #slide-12 .state-photo-preview .photo-thumbnail-wrapper img {
  border: none !important;
  border-radius: 18px !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  max-height: none !important;
}
/* РЎР»Р°Р№Рґ 12: стабильное положение фото при переключении вариантов */
#slide-12 .construction-variants-row { margin-bottom: 12px; }
#slide-12 .state-photo-upload { margin-top: 0 !important; position: relative; }
#slide-12 .state-photo-preview { padding-top: 0; box-sizing: border-box; }
/* Р РµР¶РёРј РїСЂРµР·РµРЅС‚Р°С†РёРё: РЅР° СЃР»Р°Р№РґРµ 11 СЃРєСЂС‹С‚СЊ РїРѕРґРїРёСЃСЊ В«Р’С‹Р±РµСЂРёС‚Рµ РїСЂРёРјРµСЂ:В» */
body.presentation-mode-active #slide-11 .construction-variants-label { display: none !important; }
/* Р РµР¶РёРј РїСЂРµР·РµРЅС‚Р°С†РёРё: РЅР° СЃР»Р°Р№РґРµ 10 СЃРєСЂС‹С‚СЊ РїРѕРґРїРёСЃСЊ В«Р’С‹Р±РµСЂРёС‚Рµ РїСЂРёРјРµСЂ:В» */
body.presentation-mode-active #slide-10 .construction-variants-label { display: none !important; }
/* РЎР»Р°Р№Рґ 13: 4 Р±Р»РѕРєР° вЂ” РѕРґРёРЅ 2.7023:1, С‚СЂРё 0.8257:1 */
.slide13-title { margin-bottom: 16px; }
.slide13-gallery { display: flex; flex-direction: column; gap: 16px; width: 100%; margin-top: 0; }
.s13-row { display: flex; gap: 16px; align-items: stretch; width: 100%; }
.s13-row-1 { justify-content: stretch; }
.s13-row-2 { justify-content: stretch; }
.s13-cell { position: relative; border: 2px dashed rgba(255, 255, 255, 0.3); background: rgba(255, 255, 255, 0.05); overflow: hidden; cursor: pointer; transition: var(--transition); }
.s13-cell:hover { border-color: var(--color-primary); background: var(--bg-glass); }
.s13-cell-inner { display: block; width: 100%; height: 100%; cursor: pointer; min-height: 80px; }
.s13-preview { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; min-height: 80px; }
.s13-cell[data-ratio="2.7023"] { aspect-ratio: 2.7023 / 1; flex: 1 1 100%; }
.s13-row-2 .s13-cell[data-ratio="0.8257"] { aspect-ratio: 0.8257 / 1; flex: 1 1 0; min-width: 0; }
.s13-preview .upload-placeholder { color: var(--text-white-dim); font-size: 14px; }
.s13-preview img { width: 100%; height: 100%; object-fit: cover; }
.state-comparison {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
  margin: 25px 0;
}
.state {
  padding: 20px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  background: var(--bg-glass);
}
.state-input {
  display: flex;
  gap: 8px;
  margin-bottom: 15px;
}
.state-input input {
  flex: 1;
  padding: 8px 12px;
  border: 2px solid var(--border-glass-light);
  box-sizing: border-box;
  background: var(--bg-glass);
  color: var(--color-white);
  font-size: 13px;
}
.state-input input::placeholder {
  color: var(--text-white-dim);
}
.state-input button {
  background: var(--color-primary);
  color: var(--color-white);
  border: none;
  padding: 8px 12px;
  cursor: pointer;
  white-space: nowrap;
  font-size: 13px;
}
.state-item {
  padding: 10px;
  margin-bottom: 8px;
  background: var(--bg-glass);
  border: 1px solid rgba(255, 255, 255, 0.2);
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--color-white);
  font-size: 13px;
}
.state-item button {
  background: var(--color-danger);
  color: var(--color-white);
  border: none;
  padding: 4px 8px;
  cursor: pointer;
  font-size: 12px;
}
/* Р РЋРЎвЂ¦Р ВµР СР В° Р В·РЎС“Р В±Р С•Р Р† */
.dental-scheme-section {
  margin: 25px 0;
}
.dental-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
  flex-wrap: wrap;
  gap: 8px;
}
.tooth-status-selector {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.status-option {
  padding: 6px 14px;
  color: var(--status-color, rgba(255, 255, 255, 0.85));
  cursor: pointer;
  font-size: 11px;
  transition: var(--transition);
  border: 2px solid var(--status-color, rgba(255, 255, 255, 0.6));
  background: rgba(0, 0, 0, 0.35);
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  position: relative;
  letter-spacing: 0.3px;
}
.status-option.active {
  background: var(--status-color, #ffffff);
  color: #ffffff;
  border-color: var(--status-color, #ffffff);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
  mix-blend-mode: normal;
}
.status-option:not(.active) {
  background: rgba(0, 0, 0, 0.35);
  color: var(--status-color, rgba(255, 255, 255, 0.95));
  border-color: var(--status-color, rgba(255, 255, 255, 0.6));
}
.status-option:hover:not(.active) {
  color: var(--status-color, #ffffff);
  border-color: var(--status-color, #ffffff);
}
.dental-scheme {
  background: var(--bg-glass);
  padding: 20px;
  border: 2px solid rgba(255, 255, 255, 0.2);
}
/* РЎР»Р°Р№Рґ 5: Р±Р»РѕРє В«РўРµРєСѓС‰РµРµ СЃРѕСЃС‚РѕСЏРЅРёРµВ» вЂ” РµС‰С‘ С‚РµРјРЅРµРµ С„РѕРЅ РґР»СЏ Р±РѕР»СЊС€РµР№ РєРѕРЅС‚СЂР°СЃС‚РЅРѕСЃС‚Рё Р·СѓР±РѕРІ */
#slide-5 .dental-scheme-current {
  background: rgba(0, 0, 0, 0.62);
  border-color: rgba(255, 255, 255, 0.12);
  border-radius: 18px;
  overflow: hidden;
}
/* РЎР»Р°Р№Рґ 5: Р±Р»РѕРє В«Р‘СѓРґСѓС‰РµРµ СЃРѕСЃС‚РѕСЏРЅРёРµВ» вЂ” С‚Р°РєРѕР№ Р¶Рµ С„РѕРЅ РєР°Рє Сѓ С‚РµРєСѓС‰РµРіРѕ */
#slide-5 .dental-scheme-future {
  background: rgba(0, 0, 0, 0.62);
  border-color: rgba(255, 255, 255, 0.12);
  border-radius: 18px;
  overflow: hidden;
}
/* Р›РµРіРµРЅРґР° В«21 вЂ” РєР°СЂРёРµСЃ, 40 вЂ” РќРµС‚ Р·СѓР±Р°вЂ¦В» С‚РѕР»СЊРєРѕ РІ СЂРµР¶РёРјРµ РїРµС‡Р°С‚Рё/PDF */
#slide-5 .state-formula-legend {
  display: none;
}
/* РћР±С‘СЂС‚РєР° СЃС…РµРјС‹ Р·СѓР±РѕРІ: РІРµСЂС…РЅСЏСЏ Рё РЅРёР¶РЅСЏСЏ С‡РµР»СЋСЃС‚СЊ СЃ Р±Р»РѕРєР°РјРё РґРµСЃРЅС‹ */
.teeth-scheme-wrapper {
  display: flex;
  flex-direction: column;
  gap: 52px;
  width: 100%;
}
.jaw-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.jaw-section.jaw-upper {
  flex-direction: column;
}
.jaw-section.jaw-lower {
  flex-direction: column;
}
/* РљР°Рє Сѓ С‡РµР»РѕРІРµРєР°: РІРµСЂС…РЅСЏСЏ РґРµСЃРЅР° РЅР°Рґ Р·СѓР±Р°РјРё (Р·СѓР±С‹ СЂР°СЃС‚СѓС‚ РІРЅРёР·), РЅРёР¶РЅСЏСЏ вЂ” РїРѕРґ Р·СѓР±Р°РјРё (Р·СѓР±С‹ СЂР°СЃС‚СѓС‚ РІРІРµСЂС…) */
.jaw-gum {
  width: 100%;
  height: 72px;
  flex-shrink: 0;
  align-self: stretch;
}
/* Р’РµСЂС…РЅСЏСЏ С‡РµР»СЋСЃС‚СЊ: РґРµСЃРЅР° СЃРІРµСЂС…Сѓ, Р»С‘РіРєРѕРµ СЃРєСЂСѓРіР»РµРЅРёРµ СЃРЅРёР·Сѓ; РѕС‚СЃС‚СѓРї РґРѕ Р·СѓР±РѕРІ -46px; РїРѕРІС‹С€РµРЅРЅР°СЏ РїСЂРѕР·СЂР°С‡РЅРѕСЃС‚СЊ */
.jaw-gum-upper {
  border-radius: 0 0 10px 10px;
  background: linear-gradient(180deg, rgba(180, 100, 90, 0.2) 0%, rgba(140, 75, 70, 0.2) 35%, rgba(120, 60, 55, 0.2) 100%);
  margin-bottom: -46px;
}
/* РќРёР¶РЅСЏСЏ С‡РµР»СЋСЃС‚СЊ: Р·СѓР±С‹ СЃРІРµСЂС…Сѓ, РґРµСЃРЅР° СЃРЅРёР·Сѓ; Р»С‘РіРєРѕРµ СЃРєСЂСѓРіР»РµРЅРёРµ РІРІРµСЂС…; РѕС‚СЃС‚СѓРї РґРѕ РґРµСЃРЅС‹ -46px; РїРѕРІС‹С€РµРЅРЅР°СЏ РїСЂРѕР·СЂР°С‡РЅРѕСЃС‚СЊ */
.jaw-gum-lower {
  border-radius: 10px 10px 0 0;
  background: linear-gradient(0deg, rgba(180, 100, 90, 0.2) 0%, rgba(140, 75, 70, 0.2) 35%, rgba(120, 60, 55, 0.2) 100%);
  margin-top: -46px;
}
#slide-5 .jaw-gum-upper {
  background: linear-gradient(180deg, rgba(200, 120, 110, 0.2) 0%, rgba(160, 90, 85, 0.2) 40%, rgba(130, 70, 65, 0.2) 100%);
}
#slide-5 .jaw-gum-lower {
  background: linear-gradient(0deg, rgba(200, 120, 110, 0.2) 0%, rgba(160, 90, 85, 0.2) 40%, rgba(130, 70, 65, 0.2) 100%);
}
.teeth-blocks-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin: 15px 0;
  width: 100%;
  box-sizing: border-box;
  align-items: center;
  justify-items: center;
}
/* РЎР»Р°Р№Рґ 5: Р±РѕР»СЊС€Рµ СЂР°СЃСЃС‚РѕСЏРЅРёРµ РјРµР¶РґСѓ РІРµСЂС…РЅРёРј Рё РЅРёР¶РЅРёРј СЂСЏРґРѕРј Р·СѓР±РѕРІ, С‡С‚РѕР±С‹ РЅСѓРјРµСЂР°С†РёСЏ РЅРµ Р·Р°С…РѕРґРёР»Р° РґСЂСѓРі РЅР° РґСЂСѓРіР° */
#slide-5 .teeth-blocks-grid {
  row-gap: 72px;
}
.teeth-block {
  display: flex;
  justify-content: center;
  align-items: center;
}
.teeth-row {
  display: flex;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
  width: 100%;
  align-items: center;
  box-sizing: border-box;
}
/* Р РЋРЎвЂљР С‘Р В»Р С‘ Р Т‘Р В»РЎРЏ РЎвЂЎР ВµРЎвЂљР Р†Р ВµРЎР‚РЎвЂљР С•Р С–Р С• РЎРѓР В»Р В°Р в„–Р Т‘Р В° */
.diagnokat-title {
  color: var(--color-white);
  font-size: 1.6em;
  margin-bottom: 10px;
  text-align: center;
  font-weight: 600;
  letter-spacing: 0.5px;
}
.diagnokat-subtitle {
  color: rgba(255, 255, 255, 0.95);
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 25px;
  text-align: center;
  letter-spacing: 0.3px;
}
/* РќР° СЃР»Р°Р№РґРµ Р”РёР°РіРЅРѕРєР°С‚ СЃС…РµРјСѓ Р·СѓР±РѕРІ РЅРµ РїРѕРєР°Р·С‹РІР°РµРј вЂ” С‚РѕР»СЊРєРѕ Р±Р»РѕРє В«+ РґРѕР±Р°РІРёС‚СЊ С„РѕС‚РѕВ» */
#slide-4 .diagnokat-scheme-hidden {
  display: none !important;
}
.patient-info-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 25px 0;
  width: 100%;
  box-sizing: border-box;
  align-items: start;
}
.info-column {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.info-row {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  box-sizing: border-box;
  min-height: 40px;
}
.info-row label {
  color: var(--text-white);
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  min-width: 120px;
}
.info-row input {
  flex: 1;
  padding: 8px 12px;
  border: 2px solid var(--border-glass-light);
  background: var(--bg-glass);
  color: var(--color-white);
  font-size: 13px;
  font-family: var(--font-family);
  box-sizing: border-box;
  min-height: 40px;
  height: 40px;
  line-height: 1.5;
  margin: 0;
}
.info-row input:focus {
  outline: none;
  border-color: var(--color-primary);
  background: rgba(255, 255, 255, 0.2);
}
.info-row input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.info-column-compact {
  max-width: 200px;
}
.info-input-compact {
  max-width: 100px;
  min-width: 80px;
  flex: 0 0 auto;
}
.tooth {
  width: 45px;
  height: 45px;
  min-width: 45px;
  min-height: 45px;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: relative;
  transition: var(--transition);
  box-sizing: border-box;
  background: transparent;
  flex-shrink: 0;
}
.tooth-icon-empty,
.tooth-icon-filled,
.tooth-icon-missing {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}
.tooth-number {
  position: absolute;
  font-size: 10px;
  font-weight: bold;
  color: var(--color-white);
  z-index: 2;
  pointer-events: none;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  top: 30%;
  transform: translateY(-50%);
}
/* РЎР»Р°Р№Рґ 5 С‚РµРєСѓС‰РµРµ СЃРѕСЃС‚РѕСЏРЅРёРµ: РІРµСЂС…РЅРёР№ СЂСЏРґ вЂ” РЅРѕРјРµСЂ СЃРЅРёР·Сѓ РїРѕРґ РёРєРѕРЅРєРѕР№ (РЅРµ РїРѕ С†РµРЅС‚СЂСѓ) */
#slide-5 .tooth-current.tooth-upper .tooth-number,
#slide-5 .tooth-future.tooth-upper .tooth-number {
  top: auto !important;
  bottom: -16px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
}
/* РЎР»Р°Р№Рґ 5 С‚РµРєСѓС‰РµРµ СЃРѕСЃС‚РѕСЏРЅРёРµ: РЅРёР¶РЅРёР№ СЂСЏРґ вЂ” РЅРѕРјРµСЂ СЃРІРµСЂС…Сѓ РЅР°Рґ РёРєРѕРЅРєРѕР№ */
#slide-5 .tooth-current.tooth-lower .tooth-number,
#slide-5 .tooth-future.tooth-lower .tooth-number {
  top: -14px !important;
  bottom: auto !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
}
#slide-5 .tooth-current .tooth-icon-current,
#slide-5 .tooth-future .tooth-icon-current {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  display: block;
}
#slide-5 .tooth-upper .tooth-icon-current {
  transform: rotate(180deg);
}
#slide-5 .tooth-current,
#slide-5 .tooth-future,
#slide-5 .teeth-row {
  overflow: visible;
}
/* Р вЂќР В»РЎРЏ PDF - Р Р…Р С•Р СР ВµРЎР‚Р В° Р В·РЎС“Р В±Р С•Р Р† Р Т‘Р С•Р В»Р В¶Р Р…РЎвЂ№ Р В±РЎвЂ№РЎвЂљРЎРЉ Р Р†Р С‘Р Т‘Р Р…РЎвЂ№ */
.pdf-header ~ * .tooth-number,
.presentation-container .tooth-number {
  color: var(--color-white);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}
.tooth.healthy .tooth-icon-filled {
  filter: brightness(0) saturate(100%) invert(58%) sepia(95%) saturate(400%) hue-rotate(90deg) brightness(95%) contrast(85%);
}
.tooth.treated .tooth-icon-filled {
  filter: brightness(0) saturate(100%) invert(48%) sepia(95%) saturate(2000%) hue-rotate(200deg) brightness(95%) contrast(95%);
}
.tooth.problem .tooth-icon-filled {
  filter: brightness(0) saturate(100%) invert(25%) sepia(95%) saturate(5000%) hue-rotate(340deg) brightness(90%) contrast(90%);
}
.tooth.missing .tooth-icon-filled {
  filter: brightness(0) saturate(100%) invert(60%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(90%) contrast(90%);
}
.tooth.healthy .tooth-icon-empty,
.tooth.treated .tooth-icon-empty,
.tooth.problem .tooth-icon-empty,
.tooth.missing .tooth-icon-empty {
  display: none;
}
.tooth.healthy .tooth-icon-filled,
.tooth.treated .tooth-icon-filled,
.tooth.problem .tooth-icon-filled {
  display: block;
}
.tooth.missing .tooth-icon-filled {
  display: none;
}
.tooth.missing .tooth-icon-missing {
  display: block;
}
.tooth.healthy .tooth-icon-missing,
.tooth.treated .tooth-icon-missing,
.tooth.problem .tooth-icon-missing {
  display: none;
}
/* РЎР»Р°Р№Рґ 4: РўРµРєСѓС‰РµРµ Рё Р±СѓРґСѓС‰РµРµ СЃРѕСЃС‚РѕСЏРЅРёРµ (РґРІРµ С„РѕСЂРјСѓР»С‹) */
.state-formulas-title {
  color: var(--color-white);
  font-size: 1.5em;
  margin-bottom: 20px;
  text-align: center;
  font-weight: 600;
}
.state-formula-block {
  margin-bottom: 28px;
}
.state-formula-block:last-of-type {
  margin-bottom: 16px;
}
.state-formula-divider {
  height: 0;
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.35);
  margin: 40px 0;
  width: 100%;
}
.state-formula-heading-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin: 0 0 8px 0;
  flex-wrap: wrap;
}
.state-formula-heading {
  color: rgba(255, 255, 255, 0.95);
  font-size: 1.15em;
  margin: 0;
  font-weight: 600;
}
.btn-clear-current-scheme {
  padding: 6px 14px;
  font-size: 12px;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: var(--color-white);
  border-radius: 6px;
  white-space: nowrap;
}
.btn-clear-current-scheme:hover {
  background: rgba(255, 255, 255, 0.22);
  border-color: rgba(255, 255, 255, 0.5);
}
.btn-clear-future-scheme {
  padding: 6px 14px;
  font-size: 12px;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: var(--color-white);
  border-radius: 6px;
  white-space: nowrap;
}
.btn-clear-future-scheme:hover {
  background: rgba(255, 255, 255, 0.22);
  border-color: rgba(255, 255, 255, 0.5);
}
.state-formula-hint {
  color: rgba(255, 255, 255, 0.7);
  font-size: 12px;
  margin: 0 0 12px 0;
}
.state-formulas-actions {
  margin: 16px 0;
  text-align: center;
}
.state-formulas-actions .btn-clear-scheme {
  padding: 8px 20px;
  font-size: 13px;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.15);
  border: 2px solid rgba(255, 255, 255, 0.4);
  color: var(--color-white);
  border-radius: 6px;
}
.state-formulas-actions .btn-clear-scheme:hover {
  background: rgba(255, 255, 255, 0.25);
  border-color: rgba(255, 255, 255, 0.6);
}
.tooth-status-popover {
  position: fixed;
  z-index: 10000;
  background: var(--bg-glass);
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 8px;
  padding: 8px;
  min-width: 200px;
  max-width: 260px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.tooth-status-popover-btn {
  padding: 8px 12px;
  text-align: left;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: var(--color-white);
  cursor: pointer;
  font-size: 13px;
  border-radius: 4px;
  transition: background 0.15s;
}
.tooth-status-popover-btn:hover {
  background: rgba(255, 255, 255, 0.25);
}
/* РљСЂСѓРіР»РѕРµ РјРµРЅСЋ РІРѕРєСЂСѓРі Р·СѓР±Р° (СЃР»Р°Р№Рґ 5) вЂ” РєСЂСѓРїРЅРµРµ, РЅРµРїСЂРѕР·СЂР°С‡РЅРѕРµ, РёРіСЂРѕРІРѕР№ СЃС‚РёР»СЊ */
.tooth-status-popover-round {
  width: 340px;
  height: 340px;
  border-radius: 50%;
  padding: 0;
  min-width: 0;
  max-width: none;
  display: block;
  position: fixed;
  margin-left: -170px;
  margin-top: -170px;
  background: linear-gradient(165deg, #1a1d2e 0%, #252a3d 45%, #1e2233 100%);
  border: 3px solid rgba(100, 180, 255, 0.6);
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.5),
    0 0 24px 4px rgba(100, 180, 255, 0.25),
    inset 0 0 60px rgba(0, 0, 0, 0.4);
  animation: tooth-menu-appear 0.2s ease-out;
  overflow: visible;
}
.tooth-status-popover-round::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 72px;
  height: 72px;
  margin-left: -36px;
  margin-top: -36px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #2a3045, #15182a);
  border: 2px solid rgba(100, 180, 255, 0.35);
  box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.6);
}
@keyframes tooth-menu-appear {
  from { opacity: 0; transform: scale(0.85); }
  to { opacity: 1; transform: scale(1); }
}
.tooth-status-popover-round .tooth-status-popover-btn {
  z-index: 1;
  min-width: 110px;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: 999px;
  border: 2px solid var(--status-color, rgba(255,255,255,0.5));
  color: #fff;
  background: rgba(0, 0, 0, 0.5);
  box-shadow:
    0 2px 0 rgba(0, 0, 0, 0.4),
    0 0 12px -2px var(--status-color);
  transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}
.tooth-status-popover-round .tooth-status-popover-btn:hover {
  background: color-mix(in srgb, var(--status-color) 35%, transparent);
  transform: translate(-50%, -50%) scale(1.08);
  box-shadow:
    0 2px 0 rgba(0, 0, 0, 0.3),
    0 0 20px 2px var(--status-color),
    0 0 30px -4px var(--status-color);
}
.tooth-status-popover-round .tooth-status-popover-btn:active {
  transform: translate(-50%, -50%) scale(1.02);
}
/* Р Р°РґРёР°Р»СЊРЅРѕРµ РјРµРЅСЋ СЃР»Р°Р№РґР° 5 вЂ” 8 СЃРµРєС‚РѕСЂРѕРІ, С€СЂРёС„С‚ Unbounded */
.tooth-status-popover-radial {
  width: 320px;
  height: 320px;
  border-radius: 50%;
  position: fixed;
  margin-left: -160px;
  margin-top: -160px;
  background: linear-gradient(165deg, #1a1d2e 0%, #252a3d 45%, #1e2233 100%);
  border: 3px solid rgba(100, 180, 255, 0.5);
  box-shadow: 0 0 24px 4px rgba(0, 0, 0, 0.4), inset 0 0 60px rgba(0, 0, 0, 0.3);
  animation: tooth-menu-appear 0.2s ease-out;
  overflow: visible;
  padding: 0;
  min-width: 0;
  max-width: none;
  font-family: 'Unbounded', sans-serif;
}
/* Р¦РµРЅС‚СЂ СЂР°РґРёР°Р»СЊРЅРѕРіРѕ РјРµРЅСЋ РїРѕ СЂРµС„РµСЂРµРЅСЃСѓ: РёРєРѕРЅРєР° Р·СѓР±Р° СЃРІРµСЂС…Сѓ, РЅРѕРјРµСЂ СЃРЅРёР·Сѓ, С‚С‘РјРЅС‹Р№ РєСЂСѓРі СЃ Р±РµР»РѕР№ РѕР±РІРѕРґРєРѕР№ */
.tooth-status-popover-radial .tooth-status-central-item {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 72px;
  height: 72px;
  margin-left: -36px;
  margin-top: -36px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #2a3045, #15182a);
  border: 2px solid rgba(255, 255, 255, 0.5);
  box-shadow: inset 0 0 16px rgba(0, 0, 0, 0.5);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  z-index: 2;
  pointer-events: none;
}
.tooth-status-popover-radial .tooth-status-central-icon {
  width: 28px;
  height: 28px;
  object-fit: contain;
  display: block;
  flex-shrink: 0;
}
.tooth-status-popover-radial .tooth-status-central-number {
  font-family: 'Unbounded', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  line-height: 1;
}
.tooth-status-popover-radial .tooth-status-segment {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
  margin: 0;
  transition: filter 0.2s ease;
  -webkit-tap-highlight-color: transparent;
}
/* РљСЂСѓРіР»Р°СЏ РїРѕРґСЃРІРµС‚РєР° РїСЂРё РЅР°РІРµРґРµРЅРёРё (СЃРІРµС‚Р»Рѕ-РіРѕР»СѓР±Р°СЏ), РїРѕ С„РѕСЂРјРµ РєСЂСѓРіР°, РЅРµ СѓРіР»РѕРІР°С‚Р°СЏ */
.tooth-status-segment-glow {
  position: absolute;
  width: 80px;
  height: 80px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(circle at center, rgba(173, 216, 230, 0.28) 0%, rgba(173, 216, 230, 0.1) 40%, rgba(173, 216, 230, 0.04) 65%, transparent 85%);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.25s ease;
}
.tooth-status-popover-radial-hover .tooth-status-segment:hover .tooth-status-segment-glow {
  opacity: 1;
}
.tooth-status-popover-radial-hover .tooth-status-segment:hover {
  filter: brightness(1.05);
}
/* Р’ РјРµРЅСЋ С‚РµРєСѓС‰РµРіРѕ СЃРѕСЃС‚РѕСЏРЅРёСЏ (8 СЃРµРєС‚РѕСЂРѕРІ) РїРѕРґРїРёСЃРё СЃРєСЂС‹С‚С‹, РїРѕРґСЃРєР°Р·РєР° РїСЂРё РЅР°РІРµРґРµРЅРёРё (title) РѕСЃС‚Р°С‘С‚СЃСЏ */
.tooth-status-popover-radial-current .tooth-status-segment-label {
  display: none;
}
.tooth-status-popover-radial .tooth-status-segment-label {
  position: absolute;
  font-size: 10px;
  font-weight: 600;
  color: var(--color-white);
  white-space: nowrap;
  pointer-events: none;
  max-width: 70px;
  text-align: center;
}
/* РРєРѕРЅРєР° РІ СЃРµРєС‚РѕСЂРµ: РєСЂСѓРїРЅРµРµ, РїРѕ С†РµРЅС‚СЂСѓ РїРѕР»РѕРІРёРЅРєРё */
.tooth-status-popover-radial .tooth-status-segment-icon {
  position: absolute;
  width: 38px;
  height: 38px;
  object-fit: contain;
  pointer-events: none;
}
/* Р¦РІРµС‚Р° СЃРѕСЃС‚РѕСЏРЅРёР№ Р·СѓР±РѕРІ (С‚РµРєСѓС‰РµРµ) */
#slide-4 .tooth.caries .tooth-icon-filled { filter: brightness(0) saturate(100%) invert(45%) sepia(90%) saturate(500%) hue-rotate(350deg) brightness(0.9) contrast(90%); }
#slide-4 .tooth.pulpitis .tooth-icon-filled { filter: brightness(0) saturate(100%) invert(20%) sepia(95%) saturate(5000%) hue-rotate(350deg) brightness(0.85) contrast(95%); }
#slide-4 .tooth.periodontitis .tooth-icon-filled { filter: brightness(0) saturate(100%) invert(25%) sepia(90%) saturate(4000%) hue-rotate(340deg) brightness(0.9) contrast(90%); }
#slide-4 .tooth.plaque .tooth-icon-filled { filter: brightness(0) saturate(100%) invert(70%) sepia(20%) saturate(500%) hue-rotate(80deg) brightness(0.95) contrast(85%); }
#slide-4 .tooth.destroyed50 .tooth-icon-filled,
#slide-4 .tooth.destroyed70 .tooth-icon-filled { filter: brightness(0) saturate(100%) invert(50%) sepia(60%) saturate(800%) hue-rotate(10deg) brightness(0.9) contrast(90%); }
#slide-4 .tooth.periodontitis_gum .tooth-icon-filled { filter: brightness(0) saturate(100%) invert(35%) sepia(80%) saturate(600%) hue-rotate(320deg) brightness(0.9) contrast(90%); }
/* Р‘СѓРґСѓС‰РµРµ вЂ” РѕС‚С‚РµРЅРєРё (РёРјРїР»Р°РЅС‚/РєРѕСЂРѕРЅРєРё/Р±Р°Р»РєРё) */
#slide-4 .tooth.implant .tooth-icon-filled,
#slide-4 .tooth.crown_implant .tooth-icon-filled { filter: brightness(0) saturate(100%) invert(55%) sepia(50%) saturate(400%) hue-rotate(180deg) brightness(0.95) contrast(90%); }
#slide-4 .tooth.crown_own .tooth-icon-filled { filter: brightness(0) saturate(100%) invert(60%) sepia(30%) saturate(500%) hue-rotate(160deg) brightness(0.95) contrast(85%); }
#slide-4 .tooth.beam4 .tooth-icon-filled,
#slide-4 .tooth.beam6 .tooth-icon-filled,
#slide-4 .tooth.beam8 .tooth-icon-filled { filter: brightness(0) saturate(100%) invert(70%) sepia(25%) saturate(600%) hue-rotate(190deg) brightness(0.95) contrast(88%); }
/* РЎР»Р°Р№Рґ 5: РїРѕ СѓРјРѕР»С‡Р°РЅРёСЋ С‚РѕР»СЊРєРѕ С†РёС„СЂС‹, РёРєРѕРЅРєРё СЃРєСЂС‹С‚С‹ */
#slide-5 .tooth .tooth-icon-empty,
#slide-5 .tooth .tooth-icon-filled,
#slide-5 .tooth .tooth-icon-missing {
  display: none !important;
}
#slide-5 .tooth[data-status] .tooth-icon-empty { display: none !important; }
#slide-5 .tooth[data-status]:not(.missing) .tooth-icon-filled { display: block !important; }
#slide-5 .tooth[data-status].missing .tooth-icon-filled { display: none !important; }
#slide-5 .tooth[data-status].missing .tooth-icon-missing { display: block !important; }
#slide-5 .tooth[data-status]:not(.missing) .tooth-icon-missing { display: none !important; }
/* РЎР»Р°Р№Рґ 5 В«РўРµРєСѓС‰РµРµ Рё Р±СѓРґСѓС‰РµРµ СЃРѕСЃС‚РѕСЏРЅРёРµВ» вЂ” РєР»РёРєР°Р±РµР»СЊРЅРѕСЃС‚СЊ Рё С†РІРµС‚Р° СЃРѕСЃС‚РѕСЏРЅРёР№ */
#slide-5,
#slide-5 .slide-content,
#slide-5 .state-formula-block,
#slide-5 .dental-scheme,
#slide-5 .teeth-blocks-grid,
#slide-5 .tooth,
#slide-5 .state-formulas-actions,
#slide-5 .btn-clear-scheme {
  pointer-events: auto !important;
}
#slide-5 .tooth,
#slide-5 .btn-clear-scheme {
  cursor: pointer;
}
#slide-5 .tooth.tooth-multi-selected {
  outline: 2px solid rgba(52, 152, 219, 0.95);
  outline-offset: 1px;
  border-radius: 4px;
}
#slide-5 .tooth.healthy .tooth-icon-filled { filter: brightness(0) saturate(100%) invert(65%) sepia(40%) saturate(600%) hue-rotate(90deg) brightness(0.95) contrast(90%); }
#slide-5 .tooth.caries .tooth-icon-filled { filter: brightness(0) saturate(100%) invert(45%) sepia(90%) saturate(500%) hue-rotate(350deg) brightness(0.9) contrast(90%); }
#slide-5 .tooth.pulpitis .tooth-icon-filled { filter: brightness(0) saturate(100%) invert(20%) sepia(95%) saturate(5000%) hue-rotate(350deg) brightness(0.85) contrast(95%); }
#slide-5 .tooth.periodontitis .tooth-icon-filled { filter: brightness(0) saturate(100%) invert(25%) sepia(90%) saturate(4000%) hue-rotate(340deg) brightness(0.9) contrast(90%); }
#slide-5 .tooth.plaque .tooth-icon-filled { filter: brightness(0) saturate(100%) invert(70%) sepia(20%) saturate(500%) hue-rotate(80deg) brightness(0.95) contrast(85%); }
#slide-5 .tooth.destroyed50 .tooth-icon-filled,
#slide-5 .tooth.destroyed70 .tooth-icon-filled { filter: brightness(0) saturate(100%) invert(50%) sepia(60%) saturate(800%) hue-rotate(10deg) brightness(0.9) contrast(90%); }
#slide-5 .tooth.periodontitis_gum .tooth-icon-filled { filter: brightness(0) saturate(100%) invert(35%) sepia(80%) saturate(600%) hue-rotate(320deg) brightness(0.9) contrast(90%); }
#slide-5 .tooth.implant .tooth-icon-filled,
#slide-5 .tooth.crown_implant .tooth-icon-filled { filter: brightness(0) saturate(100%) invert(55%) sepia(50%) saturate(400%) hue-rotate(180deg) brightness(0.95) contrast(90%); }
#slide-5 .tooth.crown_own .tooth-icon-filled { filter: brightness(0) saturate(100%) invert(60%) sepia(30%) saturate(500%) hue-rotate(160deg) brightness(0.95) contrast(85%); }
#slide-5 .tooth.beam4 .tooth-icon-filled,
#slide-5 .tooth.beam6 .tooth-icon-filled,
#slide-5 .tooth.beam8 .tooth-icon-filled { filter: brightness(0) saturate(100%) invert(70%) sepia(25%) saturate(600%) hue-rotate(190deg) brightness(0.95) contrast(88%); }
/* Р”РёР°РіРЅРѕСЃС‚РёРєР°: РѕРґРЅРѕ С„РѕС‚Рѕ СЃРЅРёРјРєР° вЂ” СЂР°Р·РјРµСЂ Р±Р»РѕРєР° РєР°Рє РЅР° СЃР»Р°Р№РґРµ 3 (Р”РёР°РіРЅРѕРєР°С‚) */
.diagnostic-snapshot-upload {
  margin-top: 20px;
  width: 100%;
}
.diagnostic-snapshot-upload .diagnostic-snapshot-preview,
.diagnostic-snapshot-upload .upload-preview-large {
  aspect-ratio: 3 / 2;
  min-height: 120px;
  width: 100%;
  max-width: none;
}
.diagnostic-snapshot-label {
  display: block;
  cursor: pointer;
}
/* Р СћР В°Р В±Р В»Р С‘РЎвЂ Р В° РЎР‚Р С‘РЎРѓР С”Р С•Р Р† */
.risks-table {
  border: 2px solid rgba(255, 255, 255, 0.2);
  margin: 20px 0;
}
.table-header, .table-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.table-cell {
  padding: 12px;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  box-sizing: border-box;
  color: var(--color-white);
  font-size: 13px;
  min-height: 48px;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.table-cell:last-child {
  border-right: none;
}
.table-header .table-cell {
  background: var(--bg-glass);
  font-weight: 600;
}
.risk-select {
  width: 100%;
  padding: 12px 15px;
  border: 2px solid var(--border-glass-light);
  font-family: var(--font-family);
  font-weight: 300;
  box-sizing: border-box;
  background: var(--bg-glass);
  color: var(--color-white);
  font-size: 14px;
  transition: var(--transition);
  cursor: pointer;
  height: 48px;
  min-height: 48px;
  line-height: 1.5;
  margin: 0;
}
.risk-select:focus {
  outline: none;
  border-color: var(--color-primary);
  background: rgba(255, 255, 255, 0.2);
}
.risk-select option {
  background: #2c3e50;
  color: var(--color-white);
}
.risk-select.high { background: #e74c3c; color: white; }
.risk-select.medium { background: #f39c12; color: white; }
.risk-select.normal { background: #27ae60; color: white; }
.risk-select.critical { background: #e74c3c; color: white; }
.risk-select.moderate { background: #f39c12; color: white; }
.risk-select.favorable { background: #27ae60; color: white; }
/* Р СџР В»Р В°Р Р…Р С‘РЎР‚Р С•Р Р†Р В°Р Р…Р С‘Р Вµ */
.planning-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 25px 0;
}
.step {
  text-align: center;
  padding: 20px 15px;
  background: var(--bg-glass);
  border: 2px solid var(--border-glass);
  position: relative;
}
.step-number {
  width: 40px;
  height: 40px;
  background: var(--color-primary);
  color: var(--color-white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2em;
  font-weight: bold;
  margin: 0 auto 15px;
}
/* Р СњР С•Р Р†Р В°РЎРЏ Р Р†РЎР‚Р ВµР СР ВµР Р…Р Р…Р В°РЎРЏ РЎв‚¬Р С”Р В°Р В»Р В° */
.timeline-new {
  margin: 25px 0;
}
.months-row {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
  margin-bottom: 30px;
}
.month {
  padding: 12px;
  background: var(--color-primary);
  color: var(--color-white);
  text-align: center;
  font-weight: 600;
  font-size: 13px;
}
.procedures {
  position: relative;
  min-height: 150px;
}
.procedure {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  position: relative;
}
.procedure-line {
  width: 100%;
  height: 2px;
  background: var(--color-primary);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.procedure-content {
  background: var(--bg-glass);
  padding: 15px;
  border: 2px solid #3498db;
  position: relative;
  z-index: 2;
  margin-left: 0;
  max-width: 250px;
}
.procedure[data-months="0"] .procedure-content { margin-left: 0; }
.procedure[data-months="3.5"] .procedure-content { margin-left: 50%; }
.procedure[data-months="5.5"] .procedure-content { margin-left: 78.5%; }
.procedure[data-months="6"] .procedure-content { margin-left: 85.7%; }
.procedure-content h4 {
  font-size: 13px;
  margin: 0;
}
.rehabilitation-period {
  background: rgba(44, 62, 80, 0.8);
  color: var(--color-white);
  padding: 15px;
  text-align: center;
  font-weight: 600;
  font-size: 1em;
  margin-top: 20px;
}
/* Р В¦Р ВµР Р…РЎвЂ№ */
.pricing-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 25px 0;
}
.pricing-card {
  background: var(--bg-glass);
  padding: 20px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  text-align: center;
  position: relative;
  cursor: pointer;
  transition: var(--transition);
}
.pricing-card:hover {
  border-color: var(--color-primary);
}
.pricing-card.selected {
  border-color: var(--color-primary);
  background: rgba(255, 255, 255, 0.2);
}
.pricing-card.recommended {
  border-color: var(--color-primary);
}
.badge {
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--color-primary);
  color: var(--color-white);
  padding: 4px 12px;
  font-size: 0.7em;
  font-weight: bold;
}
.price {
  font-size: 1.5em;
  font-weight: bold;
  color: var(--color-white);
  margin: 15px 0;
}
.pricing-card ul {
  list-style: none;
  padding: 0;
  text-align: left;
}
.pricing-card li {
  padding: 6px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  color: var(--text-white);
  font-size: 12px;
}
.pricing-card li:last-child {
  border-bottom: none;
}
.selected-plan-info {
  background: var(--bg-glass);
  padding: 15px;
  border: 2px solid #3498db;
  margin-top: 15px;
  text-align: center;
}
.selected-plan-info h4 {
  margin: 0 0 8px 0;
  font-size: 15px;
}
.final-price {
  font-size: 1.2em;
  font-weight: bold;
  color: var(--color-white);
  margin-top: 8px;
}
/* Р С›РЎРѓРЎвЂљР В°Р В»РЎРЉР Р…РЎвЂ№Р Вµ РЎРѓРЎвЂљР С‘Р В»Р С‘ Р Т‘Р В»РЎРЏ РЎРѓР С—Р ВµРЎвЂ Р С‘РЎвЂћР С‘РЎвЂЎР ВµРЎРѓР С”Р С‘РЎвЂ¦ РЎРЊР В»Р ВµР СР ВµР Р…РЎвЂљР С•Р Р† */
.template-info,
.temporary-info,
.construction-features,
.guarantee-cards,
.treatment-plan,
.final-cost {
  margin: 20px 0;
}
/* РџР»Р°С€РєР° РЅР° СЃР»Р°Р№РґРµ 15: РєР»РёРЅРёРєР° РїРѕ С†РµРЅС‚СЂСѓ, Р»РёРЅРёСЏ СЃРїСЂР°РІР° СЃРєСЂС‹С‚Р° */
.team-slide-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 16px 20px;
  padding: 18px 24px;
  margin-bottom: 28px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.04) 100%);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}
.team-banner-clinic {
  font-weight: 700;
  font-size: 1.1em;
  color: rgba(255, 255, 255, 0.98);
  letter-spacing: 0.3px;
  text-align: center;
  width: 100%;
}
#slide-15 .team-slide-banner .team-banner-divider { display: none !important; }
.team-banner-divider {
  width: 1px;
  height: 32px;
  background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 0.4), transparent);
  flex-shrink: 0;
}
.team-banner-coordinator {
  display: flex;
  align-items: center;
  gap: 14px;
}
/* РљРѕРЅС‚РµР№РЅРµСЂ С„РѕС‚Рѕ РєРѕРѕСЂРґРёРЅР°С‚РѕСЂР° вЂ” РєР°Рє Сѓ РІСЂР°С‡РµР№/С‚РµС…РЅРёРєРѕРІ: С„РѕРЅ, РѕР±СЂРµР·РєР° РїРѕ СЂР°РјРєРµ, РїРѕР·РёС†РёРѕРЅРёСЂРѕРІР°РЅРёРµ РїРѕ РІРµСЂС…Сѓ */
.team-banner-coordinator-photo-wrap {
  flex-shrink: 0;
  width: 104px;
  height: 104px;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  background: rgba(255, 255, 255, 0.06);
  border: 2px dashed rgba(255, 255, 255, 0.25);
  transition: border-color 0.25s, box-shadow 0.25s;
}
.team-banner-coordinator:hover .team-banner-coordinator-photo-wrap {
  border-color: rgba(255, 255, 255, 0.4);
  box-shadow: 0 0 0 1px rgba(52, 152, 219, 0.3);
}
.team-banner-coordinator-photo-wrap .team-banner-coordinator-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  border: none;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.team-banner-coordinator-photo[src=""],
.team-banner-coordinator-photo:not([src]) { display: none !important; }
.team-banner-coordinator-info {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 20px;
  align-items: start;
  min-width: 0;
  flex: 1 1 auto;
}
.team-banner-coordinator-col-fio { display: flex; flex-direction: column; gap: 10px; grid-column: 1; grid-row: 1; }
.team-banner-coordinator-col-desc { display: flex; flex-direction: column; grid-column: 2; grid-row: 1; }
.team-banner-coordinator-phone { grid-column: 2; grid-row: 2; }
/* Р’ РѕР±С‹С‡РЅРѕРј СЂРµР¶РёРјРµ Сѓ Р±Р»РѕРєР° РєРѕРѕСЂРґРёРЅР°С‚РѕСЂР° СЃРєСЂС‹С‚СЊ РїР»Р°С€РєСѓ В«Р’Р°С€ РєРѕРѕСЂРґРёРЅР°С‚РѕСЂ Р»РµС‡РµРЅРёСЏВ» */
#slide-15 .team-section-coordinator .team-section-title { display: none !important; }
#slide-15 #team-banner-coordinator-badge { display: none !important; }
/* Р РµР¶РёРј РїСЂРµР·РµРЅС‚Р°С†РёРё, СЃР»Р°Р№Рґ 15: Р±Р»РѕРє РєРѕРѕСЂРґРёРЅР°С‚РѕСЂР° РѕРґРёРЅ вЂ” РїСЂРѕР·СЂР°С‡РЅР°СЏ РїР»Р°С€РєР° РЅР° РІСЃСЋ С€РёСЂРёРЅСѓ (РєР°Рє Сѓ Р·СѓР±РЅРѕРіРѕ С‚РµС…РЅРёРєР°), РЅРµ РґРµР»РёРј РЅР° 2 РєРѕР»РѕРЅРєРё */
body.presentation-mode-active #slide-15 .team-grid-coordinator,
body.presentation-mode-active #slide-15 #team-grid-coordinator { display: grid !important; grid-template-columns: 1fr !important; gap: 0 !important; width: 100% !important; max-width: 100% !important; }
body.presentation-mode-active #slide-15 #team-banner-coordinator { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; }
/* РљРѕР»РѕРЅРєРё РїРѕ РєРѕРЅС‚РµРЅС‚Сѓ РІРЅСѓС‚СЂРё РєР°СЂС‚РѕС‡РєРё: С„РѕС‚Рѕ | Р¤РРћ + РґРѕР»Р¶РЅРѕСЃС‚СЊ | РѕРїРёСЃР°РЅРёРµ | С‚РµР»РµС„РѕРЅ РЅР° РѕСЃС‚Р°С‚РѕРє */
body.presentation-mode-active #slide-15 #team-banner-coordinator #team-banner-coordinator-info { display: grid !important; grid-template-columns: auto auto minmax(min-content, 1fr) !important; grid-template-rows: auto !important; gap: 12px 20px !important; align-items: start !important; min-width: 0 !important; flex: 1 1 auto !important; }
body.presentation-mode-active #slide-15 #team-banner-coordinator .team-banner-coordinator-col-fio {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: min-content !important;
  align-items: center !important;
  text-align: center !important;
  padding-left: 0 !important;
}
body.presentation-mode-active #slide-15 #team-banner-coordinator .team-banner-coordinator-col-desc { display: flex !important; flex-direction: column !important; grid-column: 2 !important; grid-row: 1 !important; min-width: min-content !important; }
body.presentation-mode-active #slide-15 #team-banner-coordinator .team-banner-coordinator-phone { grid-column: 3 !important; grid-row: 1 !important; min-width: 0 !important; }
/* Р¤РРћ Рё РѕРїРёСЃР°РЅРёРµ вЂ” РєРѕР»РѕРЅРєРё auto, РїРѕ РєРѕРЅС‚РµРЅС‚Сѓ (РёРјСЏ РІ 3 СЃС‚СЂРѕРєРё Рё РѕРїРёСЃР°РЅРёРµ РІ 2 Р·Р°РґР°СЋС‚СЃСЏ РєРѕРЅС‚РµРЅС‚РѕРј/РїРµСЂРµРЅРѕСЃР°РјРё); РїСЂРё РЅРµС…РІР°С‚РєРµ РјРµСЃС‚Р° РєРѕР»РѕРЅРєР° РЅРµ СЃР¶РёРјР°РµС‚СЃСЏ РЅРёР¶Рµ min-content */
body.presentation-mode-active #slide-15 #team-banner-coordinator #team-banner-coordinator-badge { position: absolute !important; left: -9999px !important; width: 0 !important; height: 0 !important; overflow: hidden !important; pointer-events: none !important; }
/* Р РµР¶РёРј РїСЂРµР·РµРЅС‚Р°С†РёРё (СЃР»Р°Р№Рґ В«РљРѕРјР°РЅРґР°В»): РµРґРёРЅР°СЏ Р»РѕРіРёРєР° РєР°Рє Сѓ РєРѕРѕСЂРґРёРЅР°С‚РѕСЂР° РІ РѕР±С‹С‡РЅРѕРј СЂРµР¶РёРјРµ вЂ” РєРІР°РґСЂР°С‚ СЃ С„РѕРЅРѕРј, С„РѕС‚Рѕ РїСЂРёРІСЏР·Р°РЅРѕ Рє Р’Р•Р РҐРЈ, РѕР±СЂРµР·РєР° С‚РѕР»СЊРєРѕ СЃРЅРёР·Сѓ */
body.presentation-mode-active #slide-14 .team-banner-coordinator-photo-wrap,
body.presentation-mode-active #slide-15 .team-banner-coordinator-photo-wrap,
body.presentation-mode-active #slide-14 .team-photo-box,
body.presentation-mode-active #slide-15 .team-photo-box {
  overflow: hidden !important;
  background: rgba(255, 255, 255, 0.06) !important;
  align-items: flex-start !important;
  justify-content: center !important;
}
body.presentation-mode-active #slide-14 .team-photo-preview,
body.presentation-mode-active #slide-15 .team-photo-preview { align-items: flex-start !important; justify-content: center !important; }
/* Р’СЃРµ С„РѕС‚Рѕ РєРѕРјР°РЅРґС‹: Р·Р°РїРѕР»РЅСЏСЋС‚ РєРѕРЅС‚РµР№РЅРµСЂ, РєРѕРЅС‚РµРЅС‚ вЂ” Рє РІРµСЂС…Сѓ (РіРѕР»РѕРІР° РЅРµ СЃСЂРµР·Р°РµС‚СЃСЏ) */
body.presentation-mode-active #slide-14 .team-banner-coordinator-photo-wrap .team-banner-coordinator-photo,
body.presentation-mode-active #slide-15 .team-banner-coordinator-photo-wrap .team-banner-coordinator-photo,
body.presentation-mode-active #slide-14 .team-banner-coordinator-photo,
body.presentation-mode-active #slide-15 .team-banner-coordinator-photo,
body.presentation-mode-active #slide-14 .team-photo-box img,
body.presentation-mode-active #slide-15 .team-photo-box img,
body.presentation-mode-active #slide-14 .team-photo-preview img,
body.presentation-mode-active #slide-15 .team-photo-preview img {
  object-fit: cover !important;
  object-position: top center !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  display: block !important;
}
/* РџСЂРµР·РµРЅС‚Р°С†РёСЏ: РµРґРёРЅС‹Р№ СЂР°Р·РјРµСЂ Р¤РРћ 0.58em Сѓ Р’РЎР•РҐ РєР°СЂС‚РѕС‡РµРє СЃР»Р°Р№РґР° 15 (РєРѕРѕСЂРґРёРЅР°С‚РѕСЂ, РІСЂР°С‡Рё, С‚РµС…РЅРёРє, РґРѕРї.) вЂ” РїРµСЂРµР±РёРІР°РµС‚ Р»СЋР±С‹Рµ РґСЂСѓРіРёРµ font-size */
body.presentation-mode-active #slide-15 #team-banner-coordinator-name,
body.presentation-mode-active #slide-15 #team-banner-coordinator .team-banner-coordinator-name,
body.presentation-mode-active #slide-15 .team-member .team-fio,
body.presentation-mode-active #slide-15 .team-member .team-fio .team-fio-line,
body.presentation-mode-active #slide-15 .team-member h4.team-fio { font-size: 0.78em !important; }
/* Р РµР¶РёРј РїСЂРµР·РµРЅС‚Р°С†РёРё: СЃР»Р°Р№Рґ 2 вЂ” СѓРІРµР»РёС‡РёС‚СЊ С€СЂРёС„С‚ Р¶Р°Р»РѕР± Рё Р°РЅР°РјРЅРµР·Р° */
body.presentation-mode-active #slide-2 .content-card h3 {
  font-size: 22px !important;
  color: #b7bec7 !important;
}
body.presentation-mode-active #slide-2 textarea { font-size: 16px !important; }
body.presentation-mode-active #slide-2 #complaints-text,
body.presentation-mode-active #slide-2 #anamnesis-text,
body.presentation-mode-active #popup-complaints-overlay #complaints-text-popup,
body.presentation-mode-active #popup-complaints-overlay #anamnesis-text-popup { font-size: 20px !important; }
/* Р РµР¶РёРј РїСЂРµР·РµРЅС‚Р°С†РёРё: СЃР»Р°Р№Рґ 15 вЂ” Р±РѕР»СЊС€РѕР№ С„РѕС‚Рѕ Р±РµР· СЂР°РјРѕРє, С‚РѕР»СЊРєРѕ Р¤РРћ Рё РґРѕР»Р¶РЅРѕСЃС‚СЊ */
body.presentation-mode-active #slide-15 .team-section-title,
body.presentation-mode-active #slide-15 .team-section-toggle,
body.presentation-mode-active #slide-15 .team-section-hint { display: none !important; }
body.presentation-mode-active #slide-15 .team-banner-coordinator {
  flex-direction: column !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
body.presentation-mode-active #slide-15 #team-banner-coordinator #team-banner-coordinator-info { grid-template-columns: 1fr !important; }
body.presentation-mode-active #slide-15 #team-banner-coordinator .team-banner-coordinator-col-desc { display: none !important; }
body.presentation-mode-active #slide-15 #team-banner-coordinator-phone,
body.presentation-mode-active #slide-15 .team-banner-coordinator-phone { display: none !important; }
body.presentation-mode-active #slide-15 .team-grid-doctors,
body.presentation-mode-active #slide-15 .team-grid-technicians,
body.presentation-mode-active #slide-15 .team-grid-custom { grid-template-columns: 1fr !important; gap: 14px !important; }
body.presentation-mode-active #slide-15 .team-member {
  flex-direction: column !important;
  align-items: center !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  gap: 14px !important;
}
body.presentation-mode-active #slide-15 .team-member::before { display: none !important; }
body.presentation-mode-active #slide-15 .team-member:hover {
  transform: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border-color: transparent !important;
}
body.presentation-mode-active #slide-15 .team-member-left { margin-left: 0 !important; }
body.presentation-mode-active #slide-15 .team-photo-box,
body.presentation-mode-active #slide-15 .team-banner-coordinator-photo-wrap {
  width: 240px !important;
  height: 240px !important;
  min-width: 240px !important;
  min-height: 240px !important;
  aspect-ratio: 1 / 1 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.presentation-mode-active #slide-15 .team-member-col-fio {
  align-items: center !important;
  text-align: center !important;
  padding-left: 0 !important;
}
body.presentation-mode-active #slide-15 .team-role { font-size: 0.9em !important; }
body.presentation-mode-active #slide-15 .team-member-col-desc,
body.presentation-mode-active #slide-15 .team-desc,
body.presentation-mode-active #slide-15 .team-banner-coordinator-col-desc { display: none !important; }

/* ===== Р­С‚Р°Р»РѕРЅРЅС‹Р№ РјР°РєРµС‚: РЎР»Р°Р№Рґ 15 В«РљРѕРјР°РЅРґР°В» РІ СЂРµР¶РёРјРµ РїСЂРµР·РµРЅС‚Р°С†РёРё =====
   4 РєР°СЂС‚РѕС‡РєРё РїРѕ СѓРіР»Р°Рј: РєРѕРѕСЂРґРёРЅР°С‚РѕСЂ (СЃРІРµСЂС…Сѓ СЃР»РµРІР°), РґРѕРєС‚РѕСЂ1 (СЃРІРµСЂС…Сѓ СЃРїСЂР°РІР°), РґРѕРєС‚РѕСЂ2 (СЃРЅРёР·Сѓ СЃРїСЂР°РІР°),
   С‚РµС…РЅРёРє (СЃРЅРёР·Сѓ СЃР»РµРІР°) + С‚РѕРЅРєРёРµ Р»РёРЅРёРё РїРѕ С†РµРЅС‚СЂСѓ.
*/
body.presentation-mode-active #presentation-app #slide-15 {
  --team-photo-size: 220px;
}
body.presentation-mode-active #presentation-app #slide-15 .team-slide-banner { display: none !important; }
body.presentation-mode-active #presentation-app #slide-15 .team-section-title,
body.presentation-mode-active #presentation-app #slide-15 .team-section-toggle,
body.presentation-mode-active #presentation-app #slide-15 .team-section-hint { display: none !important; }
body.presentation-mode-active #presentation-app #slide-15 .team-section-custom { display: none !important; }
body.presentation-mode-active #presentation-app #slide-15 .team-member-col-desc,
body.presentation-mode-active #presentation-app #slide-15 .team-desc { display: none !important; }
body.presentation-mode-active #presentation-app #slide-15 .team-member:not(.team-member--selected) { display: none !important; }
body.presentation-mode-active #presentation-app #slide-15 .slide-content { padding-bottom: 0 !important; }
body.presentation-mode-active #presentation-app #slide-15 .team-sections-wrap {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: 1fr 1fr !important;
  gap: 0 !important;
  padding: 8px 8px 10px 8px !important;
  overflow: hidden !important;
}
body.presentation-mode-active #presentation-app #slide-15 .team-sections-wrap::before,
body.presentation-mode-active #presentation-app #slide-15 .team-sections-wrap::after {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background: rgba(255, 255, 255, 0.22) !important;
}
body.presentation-mode-active #presentation-app #slide-15 .team-sections-wrap::before {
  width: 1px !important;
  height: 100% !important;
  left: 50% !important;
  transform: translateX(-0.5px) !important;
  background: rgba(255, 255, 255, 0.22) !important;
  opacity: 1 !important;
}
body.presentation-mode-active #presentation-app #slide-15 .team-sections-wrap::after {
  height: 1px !important;
  width: 100% !important;
  top: 50% !important;
  transform: translateY(-0.5px) !important;
  background: rgba(255, 255, 255, 0.22) !important;
  opacity: 1 !important;
}
body.presentation-mode-active #presentation-app #slide-15 .team-section {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  min-height: 0 !important;
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
}
body.presentation-mode-active #presentation-app #slide-15 .team-section-coordinator {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-items: flex-start !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}
body.presentation-mode-active #presentation-app #slide-15 .team-section-coordinator .team-section-title,
body.presentation-mode-active #presentation-app #slide-15 .team-section-coordinator .team-section-toggle,
body.presentation-mode-active #presentation-app #slide-15 .team-section-coordinator .team-section-hint {
  display: none !important;
}
body.presentation-mode-active #presentation-app #slide-15 .team-section-technicians {
  grid-column: 1 !important;
  grid-row: 2 !important;
  align-items: flex-end !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}
body.presentation-mode-active #presentation-app #slide-15 .team-section-doctors {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  align-items: stretch !important;
  justify-content: center !important;
  flex-direction: column !important;
}
/* РљРѕРјРїРѕРЅРѕРІРєР° РІСЂР°С‡РµР№ СЃРїСЂР°РІР°: РІРµСЂС…РЅРёР№ РґРѕРєС‚РѕСЂ1 / РЅРёР¶РЅРёР№ РґРѕРєС‚РѕСЂ2 */
body.presentation-mode-active #presentation-app #slide-15 #team-grid-doctors {
  width: 100% !important;
  height: 100% !important;
  display: grid !important;
  grid-template-rows: 1fr 1fr !important;
  gap: 0 !important;
  align-items: center !important;
  justify-items: center !important;
}
body.presentation-mode-active #presentation-app #slide-15 #team-grid-doctors .team-member.team-slot-doctor-1 { grid-row: 1 !important; }
body.presentation-mode-active #presentation-app #slide-15 #team-grid-doctors .team-member.team-slot-doctor-2 { grid-row: 2 !important; }
/* РљР°СЂС‚РѕС‡РєРё РїРµСЂСЃРѕРЅР°Р»Р°: С„РѕС‚Рѕ СЃР»РµРІР°, Р¤РРћ+РґРѕР»Р¶РЅРѕСЃС‚СЊ СЃРїСЂР°РІР°, Р±РµР· СЂР°РјРѕРє */
body.presentation-mode-active #presentation-app #slide-15 .team-member {
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 18px !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  transform: none !important;
}
body.presentation-mode-active #presentation-app #slide-15 .team-member::before { display: none !important; }
body.presentation-mode-active #presentation-app #slide-15 .team-member--selected {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
body.presentation-mode-active #presentation-app #slide-15 .team-member-left { margin-left: 0 !important; }
body.presentation-mode-active #presentation-app #slide-15 .team-photo-box,
body.presentation-mode-active #presentation-app #slide-15 .team-banner-coordinator-photo-wrap {
  width: var(--team-photo-size) !important;
  height: var(--team-photo-size) !important;
  min-width: var(--team-photo-size) !important;
  min-height: var(--team-photo-size) !important;
  aspect-ratio: 1 / 1 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
body.presentation-mode-active #presentation-app #slide-14 .team-photo-preview img,
body.presentation-mode-active #presentation-app #slide-15 .team-photo-preview img,
body.presentation-mode-active #presentation-app #slide-14 .team-banner-coordinator-photo,
body.presentation-mode-active #presentation-app #slide-15 .team-banner-coordinator-photo {
  object-fit: contain !important;
  object-position: top center !important;
}
body.presentation-mode-active #presentation-app #slide-15 .team-member-col-fio {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding-left: 4px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
  gap: 8px !important;
}
body.presentation-mode-active #presentation-app #slide-15 .team-fio {
  color: var(--color-primary) !important;
  font-size: 1.12em !important;
  line-height: 1.15 !important;
}
body.presentation-mode-active #presentation-app #slide-15 .team-role {
  color: var(--color-primary) !important;
  font-size: 0.98em !important;
  font-weight: 600 !important;
}
/* РљРѕРѕСЂРґРёРЅР°С‚РѕСЂ вЂ” С‚Р°РєР°СЏ Р¶Рµ Р»РѕРіРёРєР° РєР°Рє Сѓ РєР°СЂС‚РѕС‡РµРє (С„РѕС‚Рѕ СЃР»РµРІР°, С‚РµРєСЃС‚ СЃРїСЂР°РІР°) */
body.presentation-mode-active #presentation-app #slide-15 #team-banner-coordinator {
  width: 100% !important;
}
body.presentation-mode-active #presentation-app #slide-15 #team-banner-coordinator {
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 18px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
body.presentation-mode-active #presentation-app #slide-15 #team-banner-coordinator-info,
body.presentation-mode-active #presentation-app #slide-15 #team-banner-coordinator #team-banner-coordinator-info {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 8px !important;
  min-width: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
body.presentation-mode-active #presentation-app #slide-15 #team-banner-coordinator .team-banner-coordinator-col-fio {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  padding-left: 4px !important;
  gap: 8px !important;
}
body.presentation-mode-active #presentation-app #slide-15 #team-banner-coordinator .team-banner-coordinator-col-desc,
body.presentation-mode-active #presentation-app #slide-15 #team-banner-coordinator-phone,
body.presentation-mode-active #presentation-app #slide-15 .team-banner-coordinator-phone { display: none !important; }
body.presentation-mode-active #presentation-app #slide-15 #team-banner-coordinator-position,
body.presentation-mode-active #presentation-app #slide-15 .team-banner-coordinator-position {
  display: block !important;
  color: var(--color-primary) !important;
  font-size: 0.92em !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}
body.presentation-mode-active #presentation-app #slide-15 #team-banner-coordinator-name {
  color: var(--color-primary) !important;
  font-size: 1.02em !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}
/* Единая типографика всех карточек (координатор/врачи/техник) в presentation-app */
body.presentation-mode-active #presentation-app #slide-15 .team-member .team-fio,
body.presentation-mode-active #presentation-app #slide-15 .team-member .team-fio .team-fio-line,
body.presentation-mode-active #presentation-app #slide-15 #team-banner-coordinator-name,
body.presentation-mode-active #presentation-app #slide-15 .team-banner-coordinator-name {
  font-size: 1.02em !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}
body.presentation-mode-active #presentation-app #slide-15 .team-member .team-role,
body.presentation-mode-active #presentation-app #slide-15 #team-banner-coordinator-position,
body.presentation-mode-active #presentation-app #slide-15 .team-banner-coordinator-position {
  font-size: 0.92em !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}
/* РўРµС…РЅРёРє СЃР»РµРІР° СЃРЅРёР·Сѓ: СЂР°СЃРїРѕР»Р°РіР°РµРј РІС‹Р±СЂР°РЅРЅСѓСЋ РєР°СЂС‚РѕС‡РєСѓ РІ С†РµРЅС‚СЂ */
body.presentation-mode-active #presentation-app #slide-15 .team-grid-technicians {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0 !important;
}
/* Р РµР¶РёРј РїСЂРµР·РµРЅС‚Р°С†РёРё: СЃР»Р°Р№Рґ 25 В«РЎС‡Р°СЃС‚Р»РёРІР°СЏ СѓР»С‹Р±РєР°В» вЂ” СЏС‡РµР№РєР° В«Р§С‚Рѕ РІС…РѕРґРёС‚В» РґСЂСѓРіРёРј С„РѕРЅРѕРј, РІС‹СЂР°РІРЅРёРІР°РЅРёРµ РІ СЏС‡РµР№РєРµ, РјРµР»СЊС‡Рµ С€СЂРёС„С‚ */
body.presentation-mode-active #slide-25 .happy-smile-list-col .happy-smile-list-title-item,
body.presentation-mode-active #slide-25 .happy-smile-list-col .happy-smile-list-item { display: flex !important; align-items: center !important; min-height: 28px !important; padding: 8px 10px !important; box-sizing: border-box !important; }
body.presentation-mode-active #slide-25 .happy-smile-list-title-item { background: rgba(52, 152, 219, 0.55) !important; border-color: rgba(52, 152, 219, 0.7) !important; color: #fff !important; font-size: 0.6em !important; }
body.presentation-mode-active #slide-25 .happy-smile-list-item { background: rgba(255, 255, 255, 0.04) !important; font-size: 0.6em !important; }
body.presentation-mode-active #slide-25 .happy-smile-list-item .happy-smile-list-icon { font-size: 1.5em !important; }
body.presentation-mode-active #slide-25 .happy-smile-list { margin-top: 20px !important; padding: 14px 18px !important; }
body.presentation-mode-active #slide-25 .happy-smile-list-title { margin-bottom: 12px !important; padding: 8px 14px 10px !important; }
body.presentation-mode-active #slide-25 .happy-smile-list-cols { gap: 6px !important; }
body.presentation-mode-active #slide-25 .happy-smile-list-col { gap: 6px !important; }
/* Презентация: «Расчётная стоимость» (в разметке #slide-21) — мельче таблица, колонка «Рекомендуем» без вертикальных щелей, как план лечения */
body.presentation-mode-active #slide-21 .slide-content h2,
body.presentation-mode-active #presentation-app #slide-21 .slide-content h2 { font-size: 1.3em !important; margin-bottom: 2px !important; padding-bottom: 6px !important; }
body.presentation-mode-active #slide-21 .cost-calc-table,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-table {
  margin-top: 16px !important;
  box-sizing: border-box !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  -webkit-clip-path: inset(0 round 12px);
  clip-path: inset(0 round 12px);
  contain: paint;
}
body.presentation-mode-active #slide-21 .cost-calc-header div,
body.presentation-mode-active #slide-21 .cost-calc-label,
body.presentation-mode-active #slide-21 .cost-calc-value,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-header div,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-label,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-value { font-size: 9px !important; line-height: 1.35 !important; }
body.presentation-mode-active #slide-21 .cost-calc-row .cost-calc-label,
body.presentation-mode-active #slide-21 .cost-calc-row .cost-calc-value:not(.highlight-column),
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-row .cost-calc-label,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-row .cost-calc-value:not(.highlight-column) { font-weight: 300 !important; }
body.presentation-mode-active #slide-21 .cost-calc-row .cost-calc-value.highlight-column,
body.presentation-mode-active #slide-21 .cost-calc-header .highlight-column,
body.presentation-mode-active #slide-21 .cost-calc-row-total .cost-calc-label,
body.presentation-mode-active #slide-21 .cost-calc-row-total .cost-calc-value,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-row .cost-calc-value.highlight-column,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-header .highlight-column,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-row-total .cost-calc-label,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-row-total .cost-calc-value { font-weight: 700 !important; }
body.presentation-mode-active #slide-21 .cost-calc-header > div.system-header-3line.highlight-column::after,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-header > div.system-header-3line.highlight-column::after {
  display: block !important;
  content: 'Рекомендуем' !important;
  font-size: 0.55em !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  color: rgba(255, 255, 255, 0.95) !important;
  background: rgba(255, 255, 255, 0.2) !important;
  padding: 3px 10px !important;
  border-radius: 0 !important;
  margin-top: 2px !important;
}
/* без псевдо-мостов — сплошная заливка за счёт нулевых отступов строк и растягивания ячеек */
body.presentation-mode-active #slide-21 .cost-calc-row .cost-calc-value.highlight-column::before,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-row .cost-calc-value.highlight-column::before,
body.presentation-mode-active #slide-21 .cost-calc-header > .highlight-column::before,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-header > .highlight-column::before,
body.presentation-mode-active #slide-21 .cost-calc-row-total .cost-calc-value.highlight-column::before,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-row-total .cost-calc-value.highlight-column::before {
  content: none !important;
  display: none !important;
}
body.presentation-mode-active #slide-21 .cost-calc-header,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-header {
  padding: 0 !important;
  margin-bottom: 0 !important;
  border-bottom: none !important;
  align-items: stretch !important;
}
body.presentation-mode-active #slide-21 .cost-calc-header > div:not(.highlight-column),
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-header > div:not(.highlight-column) {
  padding: 8px 6px !important;
  box-sizing: border-box !important;
}
body.presentation-mode-active #slide-21 .cost-calc-row,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-row,
body.presentation-mode-active #slide-21 .cost-calc-row-total,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-row-total {
  padding: 0 !important;
  align-items: stretch !important;
}
body.presentation-mode-active #slide-21 .cost-calc-label,
body.presentation-mode-active #slide-21 .cost-calc-value,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-label,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-value {
  padding: 10px 10px !important;
  min-height: 0 !important;
}
/* Первая строка данных: доп. отступ сверху в ячейках (после общего padding), чтобы заливка рекомендуемого столбца была сплошной */
body.presentation-mode-active #slide-21 .cost-calc-rows > .cost-calc-row:first-child:not(.cost-calc-row-total) .cost-calc-label,
body.presentation-mode-active #slide-21 .cost-calc-rows > .cost-calc-row:first-child:not(.cost-calc-row-total) .cost-calc-value,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-rows > .cost-calc-row:first-child:not(.cost-calc-row-total) .cost-calc-label,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-rows > .cost-calc-row:first-child:not(.cost-calc-row-total) .cost-calc-value {
  padding-top: 24px !important;
  padding-right: 10px !important;
  padding-bottom: 10px !important;
  padding-left: 10px !important;
}
body.presentation-mode-active #slide-21 .cost-calc-row .cost-calc-value.highlight-column,
body.presentation-mode-active #slide-21 .cost-calc-row-total .cost-calc-value.highlight-column,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-row .cost-calc-value.highlight-column,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-row-total .cost-calc-value.highlight-column {
  position: static !important;
  z-index: auto !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  isolation: auto !important;
  box-shadow: none !important;
  filter: none !important;
  align-self: stretch !important;
  justify-content: center !important;
  background: linear-gradient(135deg, rgba(52, 152, 219, 0.35) 0%, rgba(52, 152, 219, 0.2) 100%) !important;
}
/* Ячейка «Рекомендуем» в шапке — как #slide-20 .treatment-header .highlight-column (план лечения, верхняя челюсть) */
body.presentation-mode-active #slide-21 .cost-calc-header .highlight-column,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-header .highlight-column {
  position: static !important;
  z-index: auto !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  isolation: auto !important;
  box-shadow: none !important;
  filter: none !important;
  padding: 8px 8px !important;
  margin: 0 !important;
  gap: 6px !important;
  border: none !important;
  align-self: stretch !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, rgba(52, 152, 219, 0.45) 0%, rgba(52, 152, 219, 0.3) 100%) !important;
}
body.presentation-mode-active #slide-21 .cost-calc-header > div.system-header-3line.highlight-column,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-header > div.system-header-3line.highlight-column {
  padding: 8px 8px !important;
  gap: 2px !important;
}
/* Плашка «Рекомендуем» — те же стили, что #slide-20 .treatment-table .treatment-header .highlight-column::after (+ 0.55em в презентации как у плана) */
body.presentation-mode-active #slide-21 .cost-calc-header .highlight-column::after,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-header .highlight-column::after {
  display: block !important;
  content: 'Рекомендуем' !important;
  font-size: 0.55em !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  color: rgba(255, 255, 255, 0.95) !important;
  background: rgba(255, 255, 255, 0.2) !important;
  padding: 3px 10px !important;
  border-radius: 0 !important;
  margin-top: 2px !important;
}
body.presentation-mode-active #slide-21 .cost-calc-header + .cost-calc-row,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-header + .cost-calc-row {
  border-top: none !important;
}
/* Презентация slide-21: без «невидимой» колонки справа — кнопка × и пустой угол шапки вне сетки */
body.presentation-mode-active #slide-21 .cost-calc-row .cost-calc-row-delete,
body.presentation-mode-active #slide-21 .cost-calc-row-total .cost-calc-row-delete,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-row .cost-calc-row-delete,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-row-total .cost-calc-row-delete {
  display: none !important;
}
body.presentation-mode-active #slide-21 .cost-calc-header > div:last-child:empty,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-header > div:last-child:empty {
  display: none !important;
}
/* Пока нет implant-pick-count-* на body — сетка без дорожки 36px под удаление */
body.presentation-mode-active #slide-21 .cost-calc-header,
body.presentation-mode-active #slide-21 .cost-calc-row,
body.presentation-mode-active #slide-21 .cost-calc-row-total,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-header,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-row,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-row-total {
  grid-template-columns: minmax(200px, 1.5fr) repeat(3, minmax(120px, 1fr)) !important;
}
/* Р РµР¶РёРј РїСЂРµР·РµРЅС‚Р°С†РёРё: СЃР»Р°Р№Рґ 4 В«Р”РёР°РіРЅРѕСЃС‚РёРєР°: С‡С‚Рѕ РјС‹ СѓРІРёРґРµР»РёВ» вЂ” РєРѕРјРїР°РєС‚РЅС‹Р№ РјР°РєРµС‚ Р±РµР· РєРЅРѕРїРєРё В«+В», Р±Р»РѕРє С„РѕС‚Рѕ РІРїР»РѕС‚РЅСѓСЋ Рє РїСѓРЅРєС‚Р°Рј */
body.presentation-mode-active #slide-4 { padding-top: 10px !important; }
body.presentation-mode-active #slide-4 .slide-content h2 { margin-top: -28px !important; margin-bottom: 14px !important; padding-bottom: 0 !important; }
body.presentation-mode-active #slide-4.active { overflow: hidden !important; display: flex !important; flex-direction: column !important; min-height: 0 !important; }
body.presentation-mode-active #slide-4 .slide-content {
  height: 100% !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
}
body.presentation-mode-active #slide-4 .diagnostic-checklist-wrap {
  flex: 0 0 auto !important;
}
/* РљРЅРѕРїРєР° В«+В»: РїРѕР»РЅРѕСЃС‚СЊСЋ СѓР±СЂР°С‚СЊ РёР· РїРѕС‚РѕРєР° Рё РѕР±РЅСѓР»РёС‚СЊ РјРµСЃС‚Рѕ (display:none + РЅСѓР»РµРІРѕР№ СЂР°Р·РјРµСЂ РЅР° СЃР»СѓС‡Р°Р№, РµСЃР»Рё РіРґРµ-С‚Рѕ РїРµСЂРµРѕРїСЂРµРґРµР»СЏСЋС‚) */
body.presentation-mode-active #slide-4 .diagnostic-checklist-wrap { display: flex !important; flex-direction: column !important; margin-top: -8px !important; margin-bottom: 0 !important; padding-bottom: 0 !important; }
body.presentation-mode-active #slide-4 .btn-add-diagnostic { display: none !important; flex: 0 0 0 !important; width: 0 !important; height: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; visibility: hidden !important; pointer-events: none !important; line-height: 0 !important; font-size: 0 !important; }
body.presentation-mode-active #slide-4 .diagnostic-gallery { margin-top: 16px !important; }
body.presentation-mode-active #slide-4 .diagnostic-checklist-rows { gap: 2px 8px !important; padding-right: 4px !important; }
body.presentation-mode-active #slide-4 .diagnostic-checklist-row {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
  padding: 2px 6px !important;
  min-height: 22px !important;
}
/* Р’РµСЂС‚РёРєР°Р»СЊРЅС‹Р№ СЂР°Р·РґРµР»РёС‚РµР»СЊ РјРµР¶РґСѓ РєРѕР»РѕРЅРєР°РјРё (РЅРµС‡С‘С‚РЅС‹Рµ СЃС‚СЂРѕРєРё вЂ” РїРµСЂРІР°СЏ РєРѕР»РѕРЅРєР°) */
body.presentation-mode-active #slide-4 .diagnostic-checklist-row:nth-child(odd) {
  border-right: 1px solid rgba(255, 255, 255, 0.18) !important;
}
body.presentation-mode-active #slide-4 .diagnostic-checklist-input {
  font-size: 10px !important;
  font-weight: 300 !important;
}
body.presentation-mode-active #slide-4 .diagnostic-checklist-cb {
  width: 12px !important;
  height: 12px !important;
}
body.presentation-mode-active #slide-4 .diagnostic-checklist-wrap.diag-pres-selected-only .diagnostic-checklist-row.diag-pres-row-hidden { display: none !important; }
/* Р РµР¶РёРј РїСЂРµР·РµРЅС‚Р°С†РёРё: СЃР»Р°Р№Рґ 17 В«РРјРїР»Р°РЅС‚Р°С‚С‹В» вЂ” С‡СѓС‚СЊ СѓРјРµРЅСЊС€РёС‚СЊ С‚РµРєСЃС‚ РІ РѕСЃРѕР±РµРЅРЅРѕСЃС‚СЏС… СЃРёСЃС‚РµРјС‹ (РџРѕРІРµСЂС…РЅРѕСЃС‚СЊ, РЎСЂРѕРє РїСЂРёР¶РёРІР»РµРЅРёСЏ Рё РѕРїРёСЃР°РЅРёРµ) */
body.presentation-mode-active #slide-17 .implant-meta h5,
body.presentation-mode-active #slide-17 .implant-meta p { font-size: 0.82em !important; }
body.presentation-mode-active #slide-17 .implant-meta-header { margin-bottom: 6px !important; }
/* Р‘Р»РѕРє В«Р“Р°СЂР°РЅС‚РёСЏВ» вЂ” СѓРјРµРЅСЊС€РёС‚СЊ С‚РµРєСЃС‚ Рё РёРєРѕРЅРєСѓ */
body.presentation-mode-active #slide-17 .implant-guarantee { font-size: 0.82em !important; padding: 8px 12px !important; gap: 10px !important; }
body.presentation-mode-active #slide-17 .implant-guarantee strong,
body.presentation-mode-active #slide-17 .implant-guarantee span { font-size: inherit !important; }
body.presentation-mode-active #slide-17 .implant-guarantee img { width: 26px !important; height: 26px !important; }
/* Р¤РѕС‚Рѕ РёРјРїР»Р°РЅС‚Р°С‚Р° вЂ” СѓРјРµРЅСЊС€РёС‚СЊ */
body.presentation-mode-active #slide-17 .implant-visual { padding: 12px !important; }
body.presentation-mode-active #slide-17 .implant-visual img { max-width: 160px !important; }
/* ===== Р РµР¶РёРј РїСЂРµР·РµРЅС‚Р°С†РёРё: СЃР»Р°Р№РґС‹ 20 Рё 23 В«РџР»Р°РЅ Р»РµС‡РµРЅРёСЏВ» вЂ” РёРґРµР°Р»СЊРЅРѕРµ РѕС‚РѕР±СЂР°Р¶РµРЅРёРµ С‚Р°Р±Р»РёС† ===== */
/* РЎРєСЂС‹С‚СЊ СЌР»РµРјРµРЅС‚С‹ СЂРµРґР°РєС‚РёСЂРѕРІР°РЅРёСЏ */
body.presentation-mode-active #slide-20 .treatment-table .table-add-row,
body.presentation-mode-active #slide-23 .treatment-table .table-add-row,
body.presentation-mode-active #slide-20 .treatment-row-delete,
body.presentation-mode-active #slide-23 .treatment-row-delete,
body.presentation-mode-active #slide-20 .treatment-plan-slide-options,
body.presentation-mode-active #slide-23 .treatment-plan-slide-options {
  display: none !important;
}
/* Р—Р°РіРѕР»РѕРІРѕРє СЃР»Р°Р№РґР° вЂ” РєРѕРјРїР°РєС‚РЅРµРµ */
body.presentation-mode-active #slide-20 .treatment-plan-title,
body.presentation-mode-active #slide-23 .treatment-plan-title {
  font-size: 1em !important;
  margin-bottom: 8px !important;
}
/* Таблица плана лечения: скругление контейнера (clip-path + contain — надёжнее overflow на flex), отступ, flex-колонка */
body.presentation-mode-active #slide-20 .treatment-table,
body.presentation-mode-active #slide-23 .treatment-table,
body.presentation-mode-active #presentation-app #slide-20 .treatment-table,
body.presentation-mode-active #presentation-app #slide-23 .treatment-table {
  display: flex !important;
  flex-direction: column !important;
  font-size: 10px !important;
  margin-top: 16px !important;
  padding: 14px 18px !important;
  box-sizing: border-box !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  -webkit-clip-path: inset(0 round 12px);
  clip-path: inset(0 round 12px);
  contain: paint;
}
body.presentation-mode-active #slide-20 .treatment-header,
body.presentation-mode-active #slide-23 .treatment-header,
body.presentation-mode-active #presentation-app #slide-20 .treatment-header,
body.presentation-mode-active #presentation-app #slide-23 .treatment-header {
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  min-height: min-content !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  border-bottom: none !important;
  overflow: hidden !important;
  border-top-left-radius: 10px !important;
  border-top-right-radius: 10px !important;
}
/* Первая строка: без линии под шапкой — колонка «рекомендуем» визуально сомкнута с шапкой */
body.presentation-mode-active #slide-20 .treatment-rows .treatment-row:first-of-type,
body.presentation-mode-active #slide-23 .treatment-rows .treatment-row:first-of-type,
body.presentation-mode-active #presentation-app #slide-20 .treatment-rows .treatment-row:first-of-type,
body.presentation-mode-active #presentation-app #slide-23 .treatment-rows .treatment-row:first-of-type {
  border-top: none !important;
}
body.presentation-mode-active #slide-20 .treatment-header div,
body.presentation-mode-active #slide-23 .treatment-header div {
  padding: 8px 8px !important;
  min-height: auto !important;
}
/* РњРµР»РєРёР№ С€СЂРёС„С‚ Сѓ РІСЃРµС… СЃС‚СЂРѕРє С‚Р°Р±Р»РёС†С‹ */
body.presentation-mode-active #slide-20 .treatment-header div,
body.presentation-mode-active #slide-23 .treatment-header div,
body.presentation-mode-active #slide-20 .treatment-period,
body.presentation-mode-active #slide-23 .treatment-period,
body.presentation-mode-active #slide-20 .treatment-services textarea,
body.presentation-mode-active #slide-23 .treatment-services textarea,
body.presentation-mode-active #slide-20 .treatment-row .treatment-value,
body.presentation-mode-active #slide-23 .treatment-row .treatment-value,
body.presentation-mode-active #slide-20 .treatment-summary .summary-label,
body.presentation-mode-active #slide-23 .treatment-summary .summary-label,
body.presentation-mode-active #slide-20 .treatment-summary.grand .summary-label,
body.presentation-mode-active #slide-23 .treatment-summary.grand .summary-label,
body.presentation-mode-active #slide-20 .treatment-summary .summary-values span,
body.presentation-mode-active #slide-23 .treatment-summary .summary-values span,
body.presentation-mode-active #slide-20 .treatment-summary.grand .summary-values span,
body.presentation-mode-active #slide-23 .treatment-summary.grand .summary-values span {
  font-size: 10px !important;
  line-height: 1.25 !important;
}
/* Р‘РµР№РґР¶ В«Р РµРєРѕРјРµРЅРґСѓРµРјВ» РІ С€Р°РїРєРµ */
body.presentation-mode-active #slide-20 .treatment-table .treatment-header .highlight-column::after,
body.presentation-mode-active #slide-23 .treatment-table .treatment-header .highlight-column::after {
  font-size: 0.55em !important;
}
/* Страна в скобках — меньше и легче, отступы по вертикали (презентация + #presentation-app) */
body.presentation-mode-active #slide-20 .treatment-header .system-header-country,
body.presentation-mode-active #slide-23 .treatment-header .system-header-country,
body.presentation-mode-active #slide-21 .cost-calc-header .system-header-country,
body.presentation-mode-active #presentation-app #slide-20 .treatment-header .system-header-country,
body.presentation-mode-active #presentation-app #slide-23 .treatment-header .system-header-country,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-header .system-header-country {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  text-align: center;
  font-size: 0.72em !important;
  font-weight: 300 !important;
  line-height: 1.35 !important;
  margin-top: 4px !important;
  margin-bottom: 3px !important;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.88);
}
/* Слайды плана лечения: сплошная заливка рекомендуемой колонки через зазор под шапкой */
#slide-20 .treatment-header > .highlight-column,
#slide-23 .treatment-header > .highlight-column {
  position: relative !important;
  z-index: 2;
  border-radius: 0 !important;
  overflow: visible !important;
  isolation: isolate;
}
#slide-20 .treatment-header > .highlight-column::before,
#slide-23 .treatment-header > .highlight-column::before {
  content: '' !important;
  display: block !important;
  position: absolute;
  left: 0;
  right: 0;
  top: -14px;
  bottom: -14px;
  background: inherit !important;
  pointer-events: none;
  z-index: -1;
}
body.presentation-mode-active #slide-20 .treatment-header > .highlight-column::before,
body.presentation-mode-active #slide-23 .treatment-header > .highlight-column::before,
body.presentation-mode-active #presentation-app #slide-20 .treatment-header > .highlight-column::before,
body.presentation-mode-active #presentation-app #slide-23 .treatment-header > .highlight-column::before {
  content: none !important;
  display: none !important;
}
/* Шапка «рекомендуем»: без свечения и без overflow — иначе синий «глоу» и фон визуально заходят на 1-ю строку */
body.presentation-mode-active #slide-20 .treatment-table .treatment-header > .highlight-column,
body.presentation-mode-active #slide-23 .treatment-table .treatment-header > .highlight-column,
body.presentation-mode-active #presentation-app #slide-20 .treatment-table .treatment-header > .highlight-column,
body.presentation-mode-active #presentation-app #slide-23 .treatment-table .treatment-header > .highlight-column {
  box-shadow: none !important;
  overflow: hidden !important;
  filter: none !important;
}
/* РЎС‚СЂРѕРєРё С‚Р°Р±Р»РёС†С‹: РІС‹СЃРѕС‚Р° СЃС‚СЂРѕРіРѕ РїРѕ СЃРѕРґРµСЂР¶РёРјРѕРјСѓ, Р±РµР· СЂР°РІРЅРѕРіРѕ СЂР°СЃРїСЂРµРґРµР»РµРЅРёСЏ */
body.presentation-mode-active #slide-20 .treatment-rows,
body.presentation-mode-active #slide-23 .treatment-rows {
  display: block !important;
  flex: 0 0 auto !important;
}
body.presentation-mode-active #slide-20 .treatment-row,
body.presentation-mode-active #slide-23 .treatment-row {
  min-height: 0 !important;
  height: auto !important;
  align-items: start !important;
  grid-auto-rows: min-content !important;
}
body.presentation-mode-active #slide-20 .treatment-row .treatment-period,
body.presentation-mode-active #slide-23 .treatment-row .treatment-period,
body.presentation-mode-active #slide-20 .treatment-row .treatment-services,
body.presentation-mode-active #slide-23 .treatment-row .treatment-services {
  min-height: 0 !important;
  height: auto !important;
  align-self: stretch !important;
}
/* РЇС‡РµР№РєРё СЃС‚РѕРёРјРѕСЃС‚Рё вЂ” С‚РѕР»СЊРєРѕ min-height 0, СЂР°СЃС‚СЏРіРёРІР°СЋС‚СЃСЏ РїРѕ РІС‹СЃРѕС‚Рµ СЃС‚СЂРѕРєРё */
body.presentation-mode-active #slide-20 .treatment-row .treatment-value,
body.presentation-mode-active #slide-23 .treatment-row .treatment-value {
  min-height: 0 !important;
  align-self: stretch !important;
}
/* Textarea: РЅРµ РїРµСЂРµРѕРїСЂРµРґРµР»СЏС‚СЊ height (JS Р·Р°РґР°С‘С‚), Р±РµР· СЃРєСЂРѕР»Р»Р° РІРЅСѓС‚СЂРё */
body.presentation-mode-active #slide-20 .treatment-row .treatment-services textarea,
body.presentation-mode-active #slide-23 .treatment-row .treatment-services textarea {
  min-height: 0 !important;
  overflow: hidden !important;
  resize: none !important;
  line-height: 1.25 !important;
  white-space: pre-line !important;
}
/* Первая строка плана: доп. отступ сверху в ячейках (не у строки) — заливка рекомендуемого столбца без разрыва под шапкой */
body.presentation-mode-active #slide-20 .treatment-rows > .treatment-row:first-of-type .treatment-period,
body.presentation-mode-active #slide-23 .treatment-rows > .treatment-row:first-of-type .treatment-period,
body.presentation-mode-active #presentation-app #slide-20 .treatment-rows > .treatment-row:first-of-type .treatment-period,
body.presentation-mode-active #presentation-app #slide-23 .treatment-rows > .treatment-row:first-of-type .treatment-period {
  padding-top: 24px !important;
  padding-right: 10px !important;
  padding-bottom: 10px !important;
  padding-left: 10px !important;
}
body.presentation-mode-active #slide-20 .treatment-rows > .treatment-row:first-of-type .treatment-services textarea,
body.presentation-mode-active #slide-23 .treatment-rows > .treatment-row:first-of-type .treatment-services textarea,
body.presentation-mode-active #presentation-app #slide-20 .treatment-rows > .treatment-row:first-of-type .treatment-services textarea,
body.presentation-mode-active #presentation-app #slide-23 .treatment-rows > .treatment-row:first-of-type .treatment-services textarea {
  padding-top: 24px !important;
  padding-right: 10px !important;
  padding-bottom: 10px !important;
  padding-left: 10px !important;
}
body.presentation-mode-active #slide-20 .treatment-rows > .treatment-row:first-of-type .treatment-value,
body.presentation-mode-active #slide-23 .treatment-rows > .treatment-row:first-of-type .treatment-value,
body.presentation-mode-active #presentation-app #slide-20 .treatment-rows > .treatment-row:first-of-type .treatment-value,
body.presentation-mode-active #presentation-app #slide-23 .treatment-rows > .treatment-row:first-of-type .treatment-value {
  padding-top: 24px !important;
  padding-right: 10px !important;
  padding-bottom: 10px !important;
  padding-left: 10px !important;
}
/* РС‚РѕРіРѕРІС‹Рµ СЃС‚СЂРѕРєРё вЂ” РєРѕРјРїР°РєС‚РЅРµРµ */
body.presentation-mode-active #slide-20 .treatment-summary,
body.presentation-mode-active #slide-23 .treatment-summary,
body.presentation-mode-active #slide-20 .treatment-summary.grand,
body.presentation-mode-active #slide-23 .treatment-summary.grand {
  min-height: 0 !important;
  padding: 8px 0 !important;
}
body.presentation-mode-active #slide-20 .treatment-summary .summary-values,
body.presentation-mode-active #slide-23 .treatment-summary .summary-values,
body.presentation-mode-active #slide-20 .treatment-summary.grand .summary-values,
body.presentation-mode-active #slide-23 .treatment-summary.grand .summary-values {
  min-height: 0 !important;
}
body.presentation-mode-active #slide-20 .treatment-summary .summary-values span,
body.presentation-mode-active #slide-23 .treatment-summary .summary-values span,
body.presentation-mode-active #slide-20 .treatment-summary.grand .summary-values span,
body.presentation-mode-active #slide-23 .treatment-summary.grand .summary-values span {
  min-height: 0 !important;
  padding: 8px 6px !important;
}
/* Слайды "План лечения" в презентации: итоговые строки всегда идут в потоке
   и не слипаются при появлении вертикального скролла */
body.presentation-mode-active #slide-20 .treatment-table > .treatment-summary,
body.presentation-mode-active #slide-23 .treatment-table > .treatment-summary,
body.presentation-mode-active #slide-20 .treatment-table > .treatment-summary.grand,
body.presentation-mode-active #slide-23 .treatment-table > .treatment-summary.grand {
  display: grid !important;
  grid-template-columns: 140px 320px 1fr 1fr 1fr !important;
  gap: 10px !important;
  position: static !important;
  top: auto !important;
  bottom: auto !important;
  flex: 0 0 auto !important;
  margin-top: 6px !important;
  z-index: auto !important;
}
body.presentation-mode-active #slide-20 .treatment-table > .treatment-summary .summary-label,
body.presentation-mode-active #slide-23 .treatment-table > .treatment-summary .summary-label,
body.presentation-mode-active #slide-20 .treatment-table > .treatment-summary.grand .summary-label,
body.presentation-mode-active #slide-23 .treatment-table > .treatment-summary.grand .summary-label {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}
.team-banner-coordinator-badge {
  display: none;
  font-size: 0.7em;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0.5px;
  color: var(--color-primary);
  margin-bottom: 4px;
  padding: 2px 8px;
  background: rgba(52, 152, 219, 0.2);
  border-radius: 6px;
  align-self: flex-start;
}
.team-banner-coordinator--filled .team-banner-coordinator-badge { display: inline-block; }
.team-banner-coordinator--filled {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  margin-left: 0;
  box-shadow: none;
}
.team-banner-coordinator--filled .team-banner-coordinator-name { color: #fff; font-size: 1.05em; }
.team-banner-coordinator-name { font-weight: 700; font-size: 1em; color: rgba(255, 255, 255, 0.98); }
.team-banner-coordinator-position { font-size: 0.9em; font-weight: 500; color: var(--color-primary); }
.team-banner-coordinator-desc { font-size: 0.85em; color: var(--text-white-light); }
.team-banner-coordinator-phone {
  display: none;
  font-size: 0.85em;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.98);
  margin-top: -22px;
  padding: 6px 12px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 8px;
  align-self: flex-start;
}
.team-banner-coordinator--filled .team-banner-coordinator-phone[style*="inline-block"] { display: inline-block !important; }
/* РЎРµРєС†РёРё: Р’СЂР°С‡Рё, Р—СѓР±РЅС‹Рµ С‚РµС…РЅРёРєРё, Р”РѕРїРѕР»РЅРёС‚РµР»СЊРЅС‹Рµ */
.team-sections-wrap {
  width: 100%;
  box-sizing: border-box;
}
.team-section {
  margin-bottom: 32px;
}
.team-section:last-of-type { margin-bottom: 20px; }
.team-section-title {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
  position: relative;
  margin: 0 0 16px 0;
  font-size: 1.15em;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.95);
  letter-spacing: 0.5px;
  padding-bottom: 10px;
  border-bottom: 2px solid rgba(52, 152, 219, 0.5);
}
.team-section-toggle {
  background: transparent;
  border: none;
  padding: 0;
  margin: 0 8px 0 0;
  cursor: pointer;
  color: var(--color-primary);
  font-size: 0.9em;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  transition: all 0.2s ease;
  flex-shrink: 0;
  opacity: 0.7;
}
.team-section-toggle:hover {
  background: rgba(52, 152, 219, 0.15);
  color: #3498db;
  opacity: 1;
}
.team-section-doctors .team-section-toggle:hover {
  background: rgba(52, 152, 219, 0.15);
}
.team-section-technicians .team-section-toggle {
  color: #9b59b6;
}
.team-section-technicians .team-section-toggle:hover {
  background: rgba(155, 89, 182, 0.15);
  color: #9b59b6;
}
.team-section-coordinator .team-section-toggle { color: #f39c12; }
.team-section-coordinator .team-section-toggle:hover {
  background: rgba(243, 156, 18, 0.15);
  color: #f39c12;
}
.team-section-toggle-icon {
  display: inline-block;
  transition: transform 0.3s ease;
  font-size: 0.7em;
  line-height: 1;
  font-weight: bold;
}
.team-section.collapsed .team-section-toggle-icon {
  transform: rotate(-90deg);
}
.team-section.collapsed .team-grid {
  max-height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  transition: opacity 0.3s ease, max-height 0.3s ease, margin 0.3s ease, padding 0.3s ease;
  pointer-events: none;
}
.team-section .team-grid {
  display: grid;
  transition: opacity 0.3s ease, max-height 0.3s ease, margin 0.3s ease, padding 0.3s ease;
  opacity: 1;
  max-height: 5000px;
  overflow: visible;
}
.team-section-icon {
  color: var(--color-primary);
  font-size: 0.75em;
}
.team-section-hint {
  font-size: 0.75em;
  font-weight: normal;
  color: rgba(255, 255, 255, 0.6);
  margin-left: 0.35em;
}
.team-section-doctors .team-section-title { border-bottom-color: rgba(52, 152, 219, 0.55); }
.team-section-technicians .team-section-title { border-bottom-color: rgba(155, 89, 182, 0.5); }
.team-section-coordinator .team-section-title { border-bottom-color: rgba(243, 156, 18, 0.55); }
.team-section-custom .team-section-title { border-bottom-color: rgba(46, 204, 113, 0.5); }
.team-section-custom:has(.team-grid-custom:empty) { display: none; }
.team-section-title-support { display: none !important; }
.team-grid {
  display: grid;
  gap: 20px;
  width: 100%;
  align-items: stretch;
  box-sizing: border-box;
}
/* РЎРµС‚РєРё РІСЂР°С‡РµР№/С‚РµС…РЅРёРєРѕРІ/РєР°СЃС‚РѕРј вЂ” РїРѕ 2 РєР°СЂС‚РѕС‡РєРё РІ СЂСЏРґ; РєРѕРѕСЂРґРёРЅР°С‚РѕСЂ РІСЃРµРіРґР° РѕРґРЅР° РєРѕР»РѕРЅРєР° РЅР° РІСЃСЋ С€РёСЂРёРЅСѓ */
.team-grid:not(.team-grid-coordinator) { grid-template-columns: repeat(2, 1fr); }
.team-grid-coordinator { grid-template-columns: 1fr; max-width: 100%; }
.team-section .team-grid { margin: 0; }
/* Р С›РЎвЂљРЎРѓРЎвЂљРЎС“Р С— РЎРѓР Р…Р С‘Р В·РЎС“ Р С•РЎвЂљ Р В±Р В»Р С•Р С”Р С•Р Р† Р Т‘Р С• Р Р…Р В°Р Р†Р С‘Р С–Р В°РЎвЂ Р С‘Р С‘ Р Р…Р В° РЎРѓР В»Р В°Р в„–Р Т‘Р Вµ 15 */
#slide-15 .slide-content {
  padding-bottom: 60px;
}
.template-feature,
.temp-benefit,
.feature-card,
.guarantee-card,
.plan-phase {
  background: var(--bg-glass);
  padding: 15px;
  margin: 10px 0;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.team-member {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.03) 100%);
  padding: 18px;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  transition: all 0.3s ease;
  text-align: left;
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  overflow: hidden;
}
.team-member::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(to bottom, var(--color-primary), rgba(52, 152, 219, 0.5));
  opacity: 0.8;
  border-radius: 12px 0 0 12px;
}
.team-section-technicians .team-member::before {
  background: linear-gradient(to bottom, #9b59b6, rgba(155, 89, 182, 0.5));
}
.team-section-custom .team-member::before {
  background: linear-gradient(to bottom, #2ecc71, rgba(46, 204, 113, 0.5));
}
.team-member:hover {
  border-color: rgba(255, 255, 255, 0.4);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.06) 100%);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  transform: translateY(-2px);
}
.team-member-card-delete {
  position: absolute; top: 10px; right: 10px;
  width: 30px; height: 30px; padding: 0; border: none; border-radius: 8px;
  background: rgba(231, 76, 60, 0.9); color: #fff; font-size: 18px; line-height: 1;
  cursor: pointer; z-index: 5; opacity: 0; transition: opacity 0.2s, background 0.2s;
  display: flex; align-items: center; justify-content: center;
}
.team-member-card-delete:hover { background: rgba(231, 76, 60, 1); }
.team-member:hover .team-member-card-delete { opacity: 1; }
.team-member-left { flex: 0 0 auto; margin-left: 4px; }
#slide-15 .team-member-col-fio { padding-left: 0; text-align: left; align-items: flex-start; }
#slide-15 .team-member .team-fio,
#slide-15 .team-member .team-role { text-align: left; }
.team-photo-box {
  position: relative; width: 120px; aspect-ratio: 0.8257 / 1;
  background: rgba(255, 255, 255, 0.06); border: 2px dashed rgba(255, 255, 255, 0.25);
  border-radius: 10px;
  overflow: hidden; display: flex; align-items: center; justify-content: center;
  transition: border-color 0.25s, box-shadow 0.25s;
}
.team-member:hover .team-photo-box {
  border-color: rgba(255, 255, 255, 0.4);
  box-shadow: 0 0 0 1px rgba(52, 152, 219, 0.3);
}
.team-photo-label { display: block; width: 100%; height: 100%; cursor: pointer; }
.team-photo-preview { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.team-photo-preview img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.team-photo-preview .upload-placeholder { font-size: 0.85em; color: var(--text-white-dim); }
.team-photo-delete {
  position: absolute; top: 6px; right: 6px;
  width: 26px; height: 26px; padding: 0; border: none; border-radius: 6px;
  background: rgba(231, 76, 60, 0.9); color: #fff; font-size: 16px; line-height: 1;
  cursor: pointer; z-index: 3; opacity: 0; transition: opacity 0.2s;
  display: flex; align-items: center; justify-content: center;
}
.team-photo-box:hover .team-photo-delete { opacity: 1; }
.team-member-right { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; padding-left: 4px; }
.team-member-col-fio { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; padding-left: 4px; align-items: flex-start; text-align: left; }
.team-member-col-desc { flex: 1; min-width: 0; padding-left: 8px; display: flex; flex-direction: column; }
.team-fio { margin: 0; font-size: 1.08em; font-weight: 700; color: rgba(255, 255, 255, 0.98); outline: none; letter-spacing: 0.2px; }
.team-fio-line { display: block; }
.team-role { font-size: 0.9em; font-weight: 600; color: var(--color-primary); outline: none; }
.team-desc { font-size: 0.85em; line-height: 1.55; color: var(--text-white-light); outline: none; flex-grow: 1; }
/* РљР°СЂС‚РѕС‡РєРё РІСЂР°С‡РµР№ Рё С‚РµС…РЅРёРєРѕРІ вЂ” РєР»РёРєР°Р±РµР»СЊРЅС‹ РґР»СЏ РІС‹Р±РѕСЂР° */
#slide-15 .team-member[data-selectable="1"] {
  cursor: pointer;
}
/* РЎРєСЂС‹С‚РёРµ РЅРµРІС‹Р±СЂР°РЅРЅС‹С… РїСЂРё РґРѕСЃС‚РёР¶РµРЅРёРё Р»РёРјРёС‚Р° (2 РІСЂР°С‡Р° / 1 С‚РµС…РЅРёРє) */
#slide-15 .team-member--hidden-by-limit {
  display: none !important;
}
/* РЎР»Р°Р№Рґ 15: Сѓ РІСЂР°С‡РµР№ Рё С‚РµС…РЅРёРєРѕРІ РЅРµ РїРѕРєР°Р·С‹РІР°С‚СЊ РєРЅРѕРїРєСѓ СѓРґР°Р»РµРЅРёСЏ РєР°СЂС‚РѕС‡РєРё */
#slide-15 .team-section-doctors .team-member-card-delete,
#slide-15 .team-section-technicians .team-member-card-delete {
  display: none !important;
}
/* РќРµРЅР°РІСЏР·С‡РёРІРѕРµ РіРѕР»СѓР±РѕРµ РІС‹РґРµР»РµРЅРёРµ РІС‹Р±СЂР°РЅРЅРѕР№ РєР°СЂС‚РѕС‡РєРё */
.team-member--selected {
  border-color: rgba(52, 152, 219, 0.55) !important;
  border-width: 2px !important;
  box-shadow: 0 0 0 2px rgba(52, 152, 219, 0.25), 0 6px 24px rgba(52, 152, 219, 0.12) !important;
  transform: translateY(-2px);
  background: linear-gradient(135deg, rgba(52, 152, 219, 0.08) 0%, rgba(52, 152, 219, 0.03) 100%);
}
.team-member--selected::after {
  display: none !important;
}
.team-section-doctors .team-member--selected.team-member::before,
.team-section-technicians .team-member--selected.team-member::before {
  opacity: 1;
  width: 5px;
  background: linear-gradient(to bottom, rgba(52, 152, 219, 0.9), rgba(52, 152, 219, 0.5));
  border-radius: 12px 0 0 12px;
}
.team-member h4.team-fio { margin: 0 0 4px 0; }
.btn-add-team-member {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 24px;
  min-height: 48px;
  border: 2px dashed rgba(46, 204, 113, 0.5);
  border-radius: 12px;
  background: rgba(46, 204, 113, 0.08);
  color: rgba(46, 204, 113, 0.95);
  font-size: 15px;
  font-weight: 600;
  font-family: var(--font-family);
  cursor: pointer;
  transition: all 0.25s;
  margin-top: 8px;
  box-sizing: border-box;
}
.btn-add-team-member span { font-size: 20px; line-height: 1; }
.btn-add-team-member:hover {
  border-color: var(--color-success);
  color: var(--color-success);
  background: rgba(46, 204, 113, 0.18);
  box-shadow: 0 4px 12px rgba(46, 204, 113, 0.2);
}
.team-member h4 {
  margin: 0 0 12px 0;
  padding: 0 4px;
  font-size: 1.2em;
  font-weight: 600;
  text-align: left;
  color: rgba(255, 255, 255, 0.95);
}
.team-member p {
  margin: 0 0 12px 0;
  padding: 0 4px;
  font-weight: 500;
  color: var(--text-white);
  text-align: left;
}
.team-member span {
  display: block;
  margin: 0;
  padding: 0 4px;
  font-size: 0.9em;
  line-height: 1.6;
  color: var(--text-white-light);
  text-align: left;
  flex-grow: 1; /* Р В Р В°РЎРѓРЎвЂљРЎРЏР С–Р С‘Р Р†Р В°Р ВµРЎвЂљРЎРѓРЎРЏ Р Т‘Р В»РЎРЏ Р В·Р В°Р С—Р С•Р В»Р Р…Р ВµР Р…Р С‘РЎРЏ Р С—РЎР‚Р С•РЎРѓРЎвЂљРЎР‚Р В°Р Р…РЎРѓРЎвЂљР Р†Р В° */
}
/* Режим презентации: на выбранных слайдах при отсутствии фото показываем пустую область
   (без текста "+ добавить фото" и без визуала плейсхолдера). */
body.presentation-mode-active #slide-1 .upload-placeholder,
body.presentation-mode-active #slide-3 .upload-placeholder,
body.presentation-mode-active #slide-4 .upload-placeholder,
body.presentation-mode-active #slide-24 .upload-placeholder,
body.presentation-mode-active #slide-13 .upload-placeholder,
body.presentation-mode-active #slide-14 .upload-placeholder,
body.presentation-mode-active #slide-1 .photo-add-tile,
body.presentation-mode-active #slide-3 .photo-add-tile,
body.presentation-mode-active #slide-4 .photo-add-tile,
body.presentation-mode-active #slide-24 .photo-add-tile,
body.presentation-mode-active #slide-13 .photo-add-tile,
body.presentation-mode-active #slide-14 .photo-add-tile {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
body.presentation-mode-active #slide-1 .upload-preview-large,
body.presentation-mode-active #slide-3 .state-photo-preview,
body.presentation-mode-active #slide-3 .upload-preview-large,
body.presentation-mode-active #slide-4 .dg-cell,
body.presentation-mode-active #slide-24 .scan3d-cell,
body.presentation-mode-active #slide-13 .s13-cell,
body.presentation-mode-active #slide-14 .before-after-photo-block .state-photo-preview,
body.presentation-mode-active #slide-14 .before-after-photo-block .upload-preview-large {
  border-color: transparent !important;
  background: transparent !important;
}
/* Слайд 4 (Диагностика): адаптивная раскладка фото в режиме презентации по числу загруженных */
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-layout {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 6px !important;
  flex: 1 1 0 !important;
  min-height: 0 !important;
  align-self: stretch !important;
}
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-layout .dg-cell {
  display: none !important;
  min-height: 0 !important;
  border: none !important;
  background: transparent !important;
}
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-layout .dg-cell.dg-pres-item {
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
}
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-layout .dg-cell-inner {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  align-self: stretch !important;
  width: 100% !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
}
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-layout .dg-cell.dg-pres-hidden {
  display: none !important;
}
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-layout .dg-preview,
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-layout .photo-thumbnail-wrapper {
  width: 100% !important;
  flex: 1 1 auto !important;
  height: auto !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-layout .dg-preview img,
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-layout .photo-thumbnail-wrapper img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 18px !important;
}
/* 3–6 фото: увеличенный вертикальный зазор между верхним и нижним рядом */
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-layout.dg-pres-count-3,
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-layout.dg-pres-count-4,
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-layout.dg-pres-count-5,
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-layout.dg-pres-count-6 {
  row-gap: 14px !important;
  column-gap: 10px !important;
}
/* 1 фото: максимально в пределах зоны */
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-count-1 .dg-pres-item-1 { grid-column: 1 / 7 !important; grid-row: 1 / 5 !important; }
/* 2 фото: в ряд по центру */
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-count-2 .dg-pres-item-1 { grid-column: 1 / 4 !important; grid-row: 1 / 5 !important; }
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-count-2 .dg-pres-item-2 { grid-column: 4 / 7 !important; grid-row: 1 / 5 !important; }
/* 3 фото: 2 сверху, 1 снизу по центру */
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-count-3 .dg-pres-item-1 { grid-column: 1 / 4 !important; grid-row: 1 / 3 !important; }
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-count-3 .dg-pres-item-2 { grid-column: 4 / 7 !important; grid-row: 1 / 3 !important; }
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-count-3 .dg-pres-item-3 { grid-column: 2 / 6 !important; grid-row: 3 / 5 !important; }
/* 4 фото: 2 сверху, 2 снизу */
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-count-4 .dg-pres-item-1 { grid-column: 1 / 4 !important; grid-row: 1 / 3 !important; }
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-count-4 .dg-pres-item-2 { grid-column: 4 / 7 !important; grid-row: 1 / 3 !important; }
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-count-4 .dg-pres-item-3 { grid-column: 1 / 4 !important; grid-row: 3 / 5 !important; }
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-count-4 .dg-pres-item-4 { grid-column: 4 / 7 !important; grid-row: 3 / 5 !important; }
/* 5 фото: 3 сверху, 2 снизу по центру */
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-count-5 .dg-pres-item-1 { grid-column: 1 / 3 !important; grid-row: 1 / 3 !important; }
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-count-5 .dg-pres-item-2 { grid-column: 3 / 5 !important; grid-row: 1 / 3 !important; }
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-count-5 .dg-pres-item-3 { grid-column: 5 / 7 !important; grid-row: 1 / 3 !important; }
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-count-5 .dg-pres-item-4 { grid-column: 2 / 4 !important; grid-row: 3 / 5 !important; }
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-count-5 .dg-pres-item-5 { grid-column: 4 / 6 !important; grid-row: 3 / 5 !important; }
/* 6 фото: как текущая сетка 3x2 */
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-count-6 .dg-pres-item-1 { grid-column: 1 / 3 !important; grid-row: 1 / 3 !important; }
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-count-6 .dg-pres-item-2 { grid-column: 3 / 5 !important; grid-row: 1 / 3 !important; }
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-count-6 .dg-pres-item-3 { grid-column: 5 / 7 !important; grid-row: 1 / 3 !important; }
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-count-6 .dg-pres-item-4 { grid-column: 1 / 3 !important; grid-row: 3 / 5 !important; }
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-count-6 .dg-pres-item-5 { grid-column: 3 / 5 !important; grid-row: 3 / 5 !important; }
body.presentation-mode-active #slide-4 .diagnostic-gallery.dg-pres-count-6 .dg-pres-item-6 { grid-column: 5 / 7 !important; grid-row: 3 / 5 !important; }
/* Слайд 24 (3D-сканирование): адаптивная раскладка фото 1-4 в режиме презентации */
/* Слайд 24: штатная кнопка удаления видна только когда фото загружено */
#slide-24 .scan3d-preview .photo-thumbnail-wrapper .photo-delete-btn {
  display: none !important;
}
#slide-24 .scan3d-cell .scan3d-remove-btn {
  display: flex;
  position: absolute;
  top: 8px;
  right: 8px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: none;
  background: rgba(231, 76, 60, 0.9);
  color: #fff;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  z-index: 1000;
  padding: 0;
}
#slide-24 .scan3d-cell:not(:has(.photo-thumbnail-wrapper)):not(:has(.scan3d-preview img)) .scan3d-remove-btn {
  display: none;
}
body.presentation-mode-active #slide-24 .scan3d-remove-btn {
  display: none !important;
}
body.presentation-mode-active #slide-24 .scan3d-gallery.scan3d-pres-layout {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  height: var(--scan3d-pres-height, 360px) !important;
  min-height: 0 !important;
  max-height: 100% !important;
  margin-top: 12px !important;
  align-content: stretch !important;
  overflow: hidden !important;
}
body.presentation-mode-active #slide-24 .scan3d-gallery.scan3d-pres-layout .scan3d-row {
  display: contents !important;
}
body.presentation-mode-active #slide-24 .scan3d-gallery.scan3d-pres-layout .scan3d-cell {
  display: none !important;
  min-height: 0 !important;
  overflow: hidden !important;
  aspect-ratio: auto !important;
}
body.presentation-mode-active #slide-24 .scan3d-gallery.scan3d-pres-layout .scan3d-cell.scan3d-pres-item {
  display: block !important;
  border-radius: 12px !important;
}
body.presentation-mode-active #slide-24 .scan3d-gallery.scan3d-pres-layout .scan3d-cell-inner {
  border-radius: 12px !important;
  overflow: hidden !important;
}
body.presentation-mode-active #slide-24 .scan3d-gallery.scan3d-pres-layout .scan3d-cell.scan3d-pres-hidden {
  display: none !important;
}
body.presentation-mode-active #slide-24 .scan3d-gallery.scan3d-pres-layout .scan3d-preview,
body.presentation-mode-active #slide-24 .scan3d-gallery.scan3d-pres-layout .photo-thumbnail-wrapper {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  clip-path: inset(0 round 12px) !important;
}
body.presentation-mode-active #slide-24 .scan3d-gallery.scan3d-pres-layout .scan3d-preview img,
body.presentation-mode-active #slide-24 .scan3d-gallery.scan3d-pres-layout .photo-thumbnail-wrapper img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 12px !important;
  clip-path: inset(0 round 12px) !important;
}
body.presentation-mode-active #slide-24 .scan3d-gallery.scan3d-pres-count-1 .scan3d-pres-item-1 { grid-column: 1 / 7 !important; grid-row: 1 / 5 !important; }
body.presentation-mode-active #slide-24 .scan3d-gallery.scan3d-pres-count-2 .scan3d-pres-item-1 { grid-column: 1 / 4 !important; grid-row: 1 / 5 !important; }
body.presentation-mode-active #slide-24 .scan3d-gallery.scan3d-pres-count-2 .scan3d-pres-item-2 { grid-column: 4 / 7 !important; grid-row: 1 / 5 !important; }
body.presentation-mode-active #slide-24 .scan3d-gallery.scan3d-pres-count-3 .scan3d-pres-item-1 { grid-column: 1 / 4 !important; grid-row: 1 / 3 !important; }
body.presentation-mode-active #slide-24 .scan3d-gallery.scan3d-pres-count-3 .scan3d-pres-item-2 { grid-column: 4 / 7 !important; grid-row: 1 / 3 !important; }
body.presentation-mode-active #slide-24 .scan3d-gallery.scan3d-pres-count-3 .scan3d-pres-item-3 { grid-column: 2 / 6 !important; grid-row: 3 / 5 !important; }
body.presentation-mode-active #slide-24 .scan3d-gallery.scan3d-pres-count-4 .scan3d-pres-item-1 { grid-column: 1 / 4 !important; grid-row: 1 / 3 !important; }
body.presentation-mode-active #slide-24 .scan3d-gallery.scan3d-pres-count-4 .scan3d-pres-item-2 { grid-column: 4 / 7 !important; grid-row: 1 / 3 !important; }
body.presentation-mode-active #slide-24 .scan3d-gallery.scan3d-pres-count-4 .scan3d-pres-item-3 { grid-column: 1 / 4 !important; grid-row: 3 / 5 !important; }
body.presentation-mode-active #slide-24 .scan3d-gallery.scan3d-pres-count-4 .scan3d-pres-item-4 { grid-column: 4 / 7 !important; grid-row: 3 / 5 !important; }
/* Legacy slide-15 presentation lock removed.
   Single source of truth: slide15-presentation-lock.css */
/* Presentation: план лечения — как в обычном режиме: ширина столбцов систем как при 3 системах, лишнее в «Описание этапа»; итоги ровно под колонками */
body.presentation-mode-active.implant-pick-count-1 #slide-20 .treatment-table,
body.presentation-mode-active.implant-pick-count-1 #slide-23 .treatment-table,
body.presentation-mode-active.implant-pick-count-2 #slide-20 .treatment-table,
body.presentation-mode-active.implant-pick-count-2 #slide-23 .treatment-table,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-20 .treatment-table,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-23 .treatment-table,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-20 .treatment-table,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-23 .treatment-table,
body.presentation-mode-active.implant-pick-count-1 #slide-21 .cost-calc-table,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-21 .cost-calc-table,
body.presentation-mode-active.implant-pick-count-2 #slide-21 .cost-calc-table,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-21 .cost-calc-table {
  --plan-col-w-pres: calc((100% - 140px - 320px - 40px) / 3);
}
/* Презентация, слайд 21: сетка как у плана лечения — 140 + 320 + системы (без колонки 36px под × в презентации) */
body.presentation-mode-active.implant-pick-count-3 #slide-21 .cost-calc-header,
body.presentation-mode-active.implant-pick-count-3 #slide-21 .cost-calc-row,
body.presentation-mode-active.implant-pick-count-3 #slide-21 .cost-calc-row-total,
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-21 .cost-calc-header,
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-21 .cost-calc-row,
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-21 .cost-calc-row-total {
  grid-template-columns: 140px 320px minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 10px !important;
}
body.presentation-mode-active.implant-pick-count-3 #slide-21 .cost-calc-row .cost-calc-label,
body.presentation-mode-active.implant-pick-count-3 #slide-21 .cost-calc-row-total .cost-calc-label,
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-21 .cost-calc-row .cost-calc-label,
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-21 .cost-calc-row-total .cost-calc-label {
  grid-column: 1 / span 2 !important;
}
body.presentation-mode-active.implant-pick-count-2 #slide-21 .cost-calc-header,
body.presentation-mode-active.implant-pick-count-2 #slide-21 .cost-calc-row,
body.presentation-mode-active.implant-pick-count-2 #slide-21 .cost-calc-row-total,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-21 .cost-calc-header,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-21 .cost-calc-row,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-21 .cost-calc-row-total {
  grid-template-columns: 140px calc(320px + var(--plan-col-w-pres) + 10px) var(--plan-col-w-pres) var(--plan-col-w-pres) !important;
  gap: 10px !important;
}
body.presentation-mode-active.implant-pick-count-2 #slide-21 .cost-calc-row .cost-calc-label,
body.presentation-mode-active.implant-pick-count-2 #slide-21 .cost-calc-row-total .cost-calc-label,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-21 .cost-calc-row .cost-calc-label,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-21 .cost-calc-row-total .cost-calc-label {
  grid-column: 1 / span 2 !important;
}
body.presentation-mode-active.implant-pick-count-1 #slide-21 .cost-calc-header,
body.presentation-mode-active.implant-pick-count-1 #slide-21 .cost-calc-row,
body.presentation-mode-active.implant-pick-count-1 #slide-21 .cost-calc-row-total,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-21 .cost-calc-header,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-21 .cost-calc-row,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-21 .cost-calc-row-total {
  grid-template-columns: 140px calc(320px + (2 * var(--plan-col-w-pres)) + 20px) var(--plan-col-w-pres) !important;
  gap: 10px !important;
}
body.presentation-mode-active.implant-pick-count-1 #slide-21 .cost-calc-row .cost-calc-label,
body.presentation-mode-active.implant-pick-count-1 #slide-21 .cost-calc-row-total .cost-calc-label,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-21 .cost-calc-row .cost-calc-label,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-21 .cost-calc-row-total .cost-calc-label {
  grid-column: 1 / span 2 !important;
}
/* Шапка: первый пустой угол на две колонки как у строк с подписью; последний пустой — скрыт выше */
body.presentation-mode-active.implant-pick-count-3 #slide-21 .cost-calc-header > div:nth-child(1),
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-21 .cost-calc-header > div:nth-child(1) { grid-column: 1 / span 2 !important; }
body.presentation-mode-active.implant-pick-count-3 #slide-21 .cost-calc-header > div:nth-child(2),
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-21 .cost-calc-header > div:nth-child(2) { grid-column: 3 !important; }
body.presentation-mode-active.implant-pick-count-3 #slide-21 .cost-calc-header > div:nth-child(3),
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-21 .cost-calc-header > div:nth-child(3) { grid-column: 4 !important; }
body.presentation-mode-active.implant-pick-count-3 #slide-21 .cost-calc-header > div:nth-child(4),
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-21 .cost-calc-header > div:nth-child(4) { grid-column: 5 !important; }
body.presentation-mode-active.implant-pick-count-3 #slide-21 .cost-calc-row .cost-calc-value[data-plan="alternative"],
body.presentation-mode-active.implant-pick-count-3 #slide-21 .cost-calc-row-total .cost-calc-value[data-plan="alternative"],
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-21 .cost-calc-row .cost-calc-value[data-plan="alternative"],
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-21 .cost-calc-row-total .cost-calc-value[data-plan="alternative"] { grid-column: 3 !important; }
body.presentation-mode-active.implant-pick-count-3 #slide-21 .cost-calc-row .cost-calc-value[data-plan="rational"],
body.presentation-mode-active.implant-pick-count-3 #slide-21 .cost-calc-row-total .cost-calc-value[data-plan="rational"],
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-21 .cost-calc-row .cost-calc-value[data-plan="rational"],
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-21 .cost-calc-row-total .cost-calc-value[data-plan="rational"] { grid-column: 4 !important; }
body.presentation-mode-active.implant-pick-count-3 #slide-21 .cost-calc-row .cost-calc-value[data-plan="premium"],
body.presentation-mode-active.implant-pick-count-3 #slide-21 .cost-calc-row-total .cost-calc-value[data-plan="premium"],
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-21 .cost-calc-row .cost-calc-value[data-plan="premium"],
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-21 .cost-calc-row-total .cost-calc-value[data-plan="premium"] { grid-column: 5 !important; }
body.presentation-mode-active.implant-pick-count-2 #slide-21 .cost-calc-header > div:nth-child(1),
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-21 .cost-calc-header > div:nth-child(1) { grid-column: 1 / span 2 !important; }
body.presentation-mode-active.implant-pick-count-2 #slide-21 .cost-calc-header > div:nth-child(2),
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-21 .cost-calc-header > div:nth-child(2) { grid-column: 3 !important; }
body.presentation-mode-active.implant-pick-count-2 #slide-21 .cost-calc-header > div:nth-child(3),
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-21 .cost-calc-header > div:nth-child(3) { grid-column: 4 !important; }
body.presentation-mode-active.implant-pick-count-2 #slide-21 .cost-calc-row .cost-calc-value[data-plan="alternative"],
body.presentation-mode-active.implant-pick-count-2 #slide-21 .cost-calc-row-total .cost-calc-value[data-plan="alternative"],
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-21 .cost-calc-row .cost-calc-value[data-plan="alternative"],
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-21 .cost-calc-row-total .cost-calc-value[data-plan="alternative"] { grid-column: 3 !important; }
body.presentation-mode-active.implant-pick-count-2 #slide-21 .cost-calc-row .cost-calc-value[data-plan="rational"],
body.presentation-mode-active.implant-pick-count-2 #slide-21 .cost-calc-row-total .cost-calc-value[data-plan="rational"],
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-21 .cost-calc-row .cost-calc-value[data-plan="rational"],
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-21 .cost-calc-row-total .cost-calc-value[data-plan="rational"] { grid-column: 4 !important; }
body.presentation-mode-active.implant-pick-count-1 #slide-21 .cost-calc-header > div:nth-child(1),
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-21 .cost-calc-header > div:nth-child(1) { grid-column: 1 / span 2 !important; }
body.presentation-mode-active.implant-pick-count-1 #slide-21 .cost-calc-header > div:nth-child(2),
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-21 .cost-calc-header > div:nth-child(2) { grid-column: 3 !important; }
body.presentation-mode-active.implant-pick-count-1 #slide-21 .cost-calc-row .cost-calc-value[data-plan="alternative"],
body.presentation-mode-active.implant-pick-count-1 #slide-21 .cost-calc-row-total .cost-calc-value[data-plan="alternative"],
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-21 .cost-calc-row .cost-calc-value[data-plan="alternative"],
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-21 .cost-calc-row-total .cost-calc-value[data-plan="alternative"] { grid-column: 3 !important; }
body.presentation-mode-active.implant-pick-count-1 #slide-20 .treatment-header,
body.presentation-mode-active.implant-pick-count-1 #slide-20 .treatment-row,
body.presentation-mode-active.implant-pick-count-1 #slide-23 .treatment-header,
body.presentation-mode-active.implant-pick-count-1 #slide-23 .treatment-row,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-20 .treatment-table .treatment-header,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-20 .treatment-table .treatment-row,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-23 .treatment-table .treatment-header,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-23 .treatment-table .treatment-row {
  grid-template-columns: 140px calc(320px + (2 * var(--plan-col-w-pres)) + 20px) var(--plan-col-w-pres) !important;
  gap: 10px !important;
}
body.presentation-mode-active.implant-pick-count-2 #slide-20 .treatment-header,
body.presentation-mode-active.implant-pick-count-2 #slide-20 .treatment-row,
body.presentation-mode-active.implant-pick-count-2 #slide-23 .treatment-header,
body.presentation-mode-active.implant-pick-count-2 #slide-23 .treatment-row,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-20 .treatment-table .treatment-header,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-20 .treatment-table .treatment-row,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-23 .treatment-table .treatment-header,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-23 .treatment-table .treatment-row {
  grid-template-columns: 140px calc(320px + var(--plan-col-w-pres) + 10px) var(--plan-col-w-pres) var(--plan-col-w-pres) !important;
  gap: 10px !important;
}
body.presentation-mode-active.implant-pick-count-1 #slide-20 .treatment-summary,
body.presentation-mode-active.implant-pick-count-1 #slide-20 .treatment-summary.treatment-summary-fsp,
body.presentation-mode-active.implant-pick-count-1 #slide-20 .treatment-summary.grand,
body.presentation-mode-active.implant-pick-count-1 #slide-23 .treatment-summary,
body.presentation-mode-active.implant-pick-count-1 #slide-23 .treatment-summary.treatment-summary-fsp,
body.presentation-mode-active.implant-pick-count-1 #slide-23 .treatment-summary.grand,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-20 .treatment-table .treatment-summary,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-20 .treatment-table .treatment-summary.treatment-summary-fsp,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-20 .treatment-table .treatment-summary.grand,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-23 .treatment-table .treatment-summary,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-23 .treatment-table .treatment-summary.treatment-summary-fsp,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-23 .treatment-table .treatment-summary.grand {
  grid-template-columns: 140px calc(320px + (2 * var(--plan-col-w-pres)) + 20px) var(--plan-col-w-pres) !important;
  gap: 10px !important;
}
body.presentation-mode-active.implant-pick-count-2 #slide-20 .treatment-summary,
body.presentation-mode-active.implant-pick-count-2 #slide-20 .treatment-summary.treatment-summary-fsp,
body.presentation-mode-active.implant-pick-count-2 #slide-20 .treatment-summary.grand,
body.presentation-mode-active.implant-pick-count-2 #slide-23 .treatment-summary,
body.presentation-mode-active.implant-pick-count-2 #slide-23 .treatment-summary.treatment-summary-fsp,
body.presentation-mode-active.implant-pick-count-2 #slide-23 .treatment-summary.grand,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-20 .treatment-table .treatment-summary,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-20 .treatment-table .treatment-summary.treatment-summary-fsp,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-20 .treatment-table .treatment-summary.grand,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-23 .treatment-table .treatment-summary,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-23 .treatment-table .treatment-summary.treatment-summary-fsp,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-23 .treatment-table .treatment-summary.grand {
  grid-template-columns: 140px calc(320px + var(--plan-col-w-pres) + 10px) var(--plan-col-w-pres) var(--plan-col-w-pres) !important;
  gap: 10px !important;
}
body.presentation-mode-active.implant-pick-count-1 #slide-20 .treatment-summary .summary-values,
body.presentation-mode-active.implant-pick-count-1 #slide-20 .treatment-summary.grand .summary-values,
body.presentation-mode-active.implant-pick-count-1 #slide-20 .treatment-summary.treatment-summary-fsp .summary-values,
body.presentation-mode-active.implant-pick-count-1 #slide-23 .treatment-summary .summary-values,
body.presentation-mode-active.implant-pick-count-1 #slide-23 .treatment-summary.grand .summary-values,
body.presentation-mode-active.implant-pick-count-1 #slide-23 .treatment-summary.treatment-summary-fsp .summary-values,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-20 .treatment-table .treatment-summary .summary-values,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-20 .treatment-table .treatment-summary.grand .summary-values,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-20 .treatment-table .treatment-summary.treatment-summary-fsp .summary-values,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-23 .treatment-table .treatment-summary .summary-values,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-23 .treatment-table .treatment-summary.grand .summary-values,
body.presentation-mode-active.implant-pick-count-1 #presentation-app #slide-23 .treatment-table .treatment-summary.treatment-summary-fsp .summary-values {
  grid-column: 3 / 4 !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}
body.presentation-mode-active.implant-pick-count-2 #slide-20 .treatment-summary .summary-values,
body.presentation-mode-active.implant-pick-count-2 #slide-20 .treatment-summary.grand .summary-values,
body.presentation-mode-active.implant-pick-count-2 #slide-20 .treatment-summary.treatment-summary-fsp .summary-values,
body.presentation-mode-active.implant-pick-count-2 #slide-23 .treatment-summary .summary-values,
body.presentation-mode-active.implant-pick-count-2 #slide-23 .treatment-summary.grand .summary-values,
body.presentation-mode-active.implant-pick-count-2 #slide-23 .treatment-summary.treatment-summary-fsp .summary-values,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-20 .treatment-table .treatment-summary .summary-values,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-20 .treatment-table .treatment-summary.grand .summary-values,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-20 .treatment-table .treatment-summary.treatment-summary-fsp .summary-values,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-23 .treatment-table .treatment-summary .summary-values,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-23 .treatment-table .treatment-summary.grand .summary-values,
body.presentation-mode-active.implant-pick-count-2 #presentation-app #slide-23 .treatment-table .treatment-summary.treatment-summary-fsp .summary-values {
  grid-column: 3 / 5 !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}
body.presentation-mode-active.implant-pick-count-1 #slide-20 .treatment-header > div:nth-child(4),
body.presentation-mode-active.implant-pick-count-1 #slide-20 .treatment-header > div:nth-child(5),
body.presentation-mode-active.implant-pick-count-1 #slide-20 .treatment-row .treatment-value[data-plan="rational"],
body.presentation-mode-active.implant-pick-count-1 #slide-20 .treatment-row .treatment-value[data-plan="premium"],
body.presentation-mode-active.implant-pick-count-1 #slide-23 .treatment-header > div:nth-child(4),
body.presentation-mode-active.implant-pick-count-1 #slide-23 .treatment-header > div:nth-child(5),
body.presentation-mode-active.implant-pick-count-1 #slide-23 .treatment-row .treatment-value[data-plan="rational"],
body.presentation-mode-active.implant-pick-count-1 #slide-23 .treatment-row .treatment-value[data-plan="premium"] {
  display: none !important;
}
body.presentation-mode-active.implant-pick-count-2 #slide-20 .treatment-header > div:nth-child(5),
body.presentation-mode-active.implant-pick-count-2 #slide-20 .treatment-row .treatment-value[data-plan="premium"],
body.presentation-mode-active.implant-pick-count-2 #slide-23 .treatment-header > div:nth-child(5),
body.presentation-mode-active.implant-pick-count-2 #slide-23 .treatment-row .treatment-value[data-plan="premium"] {
  display: none !important;
}
/* Fallback для presentation: скрытие лишних колонок по позиции,
   даже если у ячейки нет ожидаемого data-plan */
body.presentation-mode-active.implant-pick-count-1 #slide-20 .treatment-row > :nth-child(4),
body.presentation-mode-active.implant-pick-count-1 #slide-20 .treatment-row > :nth-child(5),
body.presentation-mode-active.implant-pick-count-1 #slide-23 .treatment-row > :nth-child(4),
body.presentation-mode-active.implant-pick-count-1 #slide-23 .treatment-row > :nth-child(5) {
  display: none !important;
}
body.presentation-mode-active.implant-pick-count-2 #slide-20 .treatment-row > :nth-child(5),
body.presentation-mode-active.implant-pick-count-2 #slide-23 .treatment-row > :nth-child(5) {
  display: none !important;
}
/* Final override: слайд 21 — плашка «Рекомендуем» = как на плане лечения (слайд 20) */
body.presentation-mode-active #slide-21 .cost-calc-header .highlight-column::after,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-header .highlight-column::after {
  display: block !important;
  content: 'Рекомендуем' !important;
  font-size: 0.55em !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  color: rgba(255, 255, 255, 0.95) !important;
  background: rgba(255, 255, 255, 0.2) !important;
  padding: 3px 10px !important;
  border-radius: 10px !important;
  margin-top: 2px !important;
}
body.presentation-mode-active #slide-21 .cost-calc-header .highlight-column .system-header-recommend,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-header .highlight-column .system-header-recommend {
  display: block !important;
}
/* Презентация, 3 системы: та же сетка 140 + 320 + три колонки, итоги совпадают с шапкой */
body.presentation-mode-active.implant-pick-count-3 #slide-20 .treatment-table .treatment-header,
body.presentation-mode-active.implant-pick-count-3 #slide-20 .treatment-table .treatment-row,
body.presentation-mode-active.implant-pick-count-3 #slide-23 .treatment-table .treatment-header,
body.presentation-mode-active.implant-pick-count-3 #slide-23 .treatment-table .treatment-row,
body.presentation-mode-active.implant-pick-count-3 #slide-20 .treatment-header,
body.presentation-mode-active.implant-pick-count-3 #slide-20 .treatment-row,
body.presentation-mode-active.implant-pick-count-3 #slide-23 .treatment-header,
body.presentation-mode-active.implant-pick-count-3 #slide-23 .treatment-row,
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-20 .treatment-table .treatment-header,
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-20 .treatment-table .treatment-row,
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-23 .treatment-table .treatment-header,
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-23 .treatment-table .treatment-row {
  grid-template-columns: 140px 320px 1fr 1fr 1fr !important;
  gap: 10px !important;
}
body.presentation-mode-active.implant-pick-count-3 #slide-20 .treatment-table .treatment-summary,
body.presentation-mode-active.implant-pick-count-3 #slide-20 .treatment-table .treatment-summary.treatment-summary-fsp,
body.presentation-mode-active.implant-pick-count-3 #slide-20 .treatment-table .treatment-summary.grand,
body.presentation-mode-active.implant-pick-count-3 #slide-23 .treatment-table .treatment-summary,
body.presentation-mode-active.implant-pick-count-3 #slide-23 .treatment-table .treatment-summary.treatment-summary-fsp,
body.presentation-mode-active.implant-pick-count-3 #slide-23 .treatment-table .treatment-summary.grand,
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-20 .treatment-table .treatment-summary,
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-20 .treatment-table .treatment-summary.treatment-summary-fsp,
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-20 .treatment-table .treatment-summary.grand,
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-23 .treatment-table .treatment-summary,
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-23 .treatment-table .treatment-summary.treatment-summary-fsp,
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-23 .treatment-table .treatment-summary.grand {
  grid-template-columns: 140px 320px 1fr 1fr 1fr !important;
  gap: 10px !important;
}
body.presentation-mode-active.implant-pick-count-3 #slide-20 .treatment-summary .summary-values,
body.presentation-mode-active.implant-pick-count-3 #slide-20 .treatment-summary.grand .summary-values,
body.presentation-mode-active.implant-pick-count-3 #slide-20 .treatment-summary.treatment-summary-fsp .summary-values,
body.presentation-mode-active.implant-pick-count-3 #slide-23 .treatment-summary .summary-values,
body.presentation-mode-active.implant-pick-count-3 #slide-23 .treatment-summary.grand .summary-values,
body.presentation-mode-active.implant-pick-count-3 #slide-23 .treatment-summary.treatment-summary-fsp .summary-values,
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-20 .treatment-table .treatment-summary .summary-values,
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-20 .treatment-table .treatment-summary.grand .summary-values,
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-20 .treatment-table .treatment-summary.treatment-summary-fsp .summary-values,
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-23 .treatment-table .treatment-summary .summary-values,
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-23 .treatment-table .treatment-summary.grand .summary-values,
body.presentation-mode-active.implant-pick-count-3 #presentation-app #slide-23 .treatment-table .treatment-summary.treatment-summary-fsp .summary-values {
  grid-column: 3 / -1 !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 10px !important;
}

/* Финальное закрепление скругления таблиц в презентации (после всех implant-сеток) */
body.presentation-mode-active #slide-20 .treatment-table,
body.presentation-mode-active #slide-23 .treatment-table,
body.presentation-mode-active #presentation-app #slide-20 .treatment-table,
body.presentation-mode-active #presentation-app #slide-23 .treatment-table,
body.presentation-mode-active #slide-21 .cost-calc-table,
body.presentation-mode-active #presentation-app #slide-21 .cost-calc-table {
  border-radius: 12px !important;
  overflow: hidden !important;
  -webkit-clip-path: inset(0 round 12px) !important;
  clip-path: inset(0 round 12px) !important;
  contain: paint !important;
}