/**
 * KYPHY AI Concierge — стили виджета и Паспорта кожи.
 * Mobile-first. Изоляция через корневой id #kyphy-ai-root и префикс .kyphy-ai-*.
 */

#kyphy-ai-root {
	--kyphy-ai-mobile-nav: 72px;
	--kyphy-ai-accent: #207873;
	--kyphy-ai-accent-dark: #185c58;
	--kyphy-ai-accent-glow: rgba(32, 120, 115, 0.14);
	--kyphy-ai-bg: #ffffff;
	--kyphy-ai-text: #243230;
	--kyphy-ai-muted: #7b8a87;
	--kyphy-ai-line: #e4ecea;
	--kyphy-ai-soft: #f4f8f7;
	--kyphy-ai-head: linear-gradient(135deg, #1f7a74 0%, #185c58 100%);
	--kyphy-ai-compose-h: 40px;
	position: fixed;
	right: 16px;
	bottom: 116px;
	z-index: 999999;
	pointer-events: none;
	font-family: inherit;
	font-size: 15px;
	line-height: 1.45;
	color: var(--kyphy-ai-text);
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px;
}

#kyphy-ai-root *,
#kyphy-ai-root *::before,
#kyphy-ai-root *::after {
	box-sizing: border-box;
}

/* ------------------------------- Лончер -------------------------------- */

#kyphy-ai-root .kyphy-ai-launcher {
	width: 54px;
	height: 54px;
	border: 0;
	border-radius: 50%;
	background: var(--kyphy-ai-accent);
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 22px rgba(32, 120, 115, 0.35);
	transition: transform 0.18s ease, background 0.18s ease;
	padding: 0;
	margin: 0;
	pointer-events: auto;
}

#kyphy-ai-root .kyphy-ai-launcher:hover {
	background: var(--kyphy-ai-accent-dark);
	transform: translateY(-1px);
}

#kyphy-ai-root .kyphy-ai-launcher.is-open {
	transform: scale(0.94);
}

/* Десктоп: при открытой панели кнопку чата не показываем */
@media (min-width: 1024px) {
	#kyphy-ai-root.is-panel-open .kyphy-ai-launcher {
		display: none !important;
	}
}

@keyframes kyphy-ai-launcher-pulse {
	0% { box-shadow: 0 6px 22px rgba(32, 120, 115, 0.35); transform: scale(1); }
	35% { box-shadow: 0 0 0 10px rgba(32, 120, 115, 0.18), 0 8px 28px rgba(32, 120, 115, 0.45); transform: scale(1.06); }
	100% { box-shadow: 0 6px 22px rgba(32, 120, 115, 0.35); transform: scale(1); }
}

#kyphy-ai-root .kyphy-ai-launcher.kyphy-ai-launcher--pulse,
#kyphy-ai-root .kyphy-ai-launcher.kyphy-ai-attention--pulse {
	animation: kyphy-ai-launcher-pulse 0.9s ease-out 1;
}

#kyphy-ai-root .kyphy-ai-teaser.kyphy-ai-attention--pulse,
#kyphy-ai-root .kyphy-ai-badge.kyphy-ai-attention--pulse {
	animation: kyphy-ai-launcher-pulse 0.9s ease-out 1;
}

/* Бейдж (пассивный крючок) */
#kyphy-ai-root .kyphy-ai-badge {
	position: fixed;
	right: 16px;
	bottom: calc(116px + 54px + 10px);
	z-index: 999999;
	pointer-events: auto;
	background: var(--kyphy-ai-bg);
	color: var(--kyphy-ai-text);
	border: 1px solid var(--kyphy-ai-line);
	border-radius: 18px;
	padding: 8px 14px;
	font-size: 13px;
	box-shadow: 0 4px 16px rgba(20, 40, 38, 0.12);
	cursor: pointer;
	max-width: min(230px, calc(100vw - 32px));
}

@keyframes kyphy-ai-pulse {
	0% { transform: translateY(6px); opacity: 0; }
	30% { transform: translateY(0); opacity: 1; }
	100% { transform: translateY(0); opacity: 1; }
}

/* ------------------------------- Тизер --------------------------------- */

#kyphy-ai-root .kyphy-ai-teaser {
	position: fixed;
	right: 16px;
	bottom: calc(116px + 54px + 10px);
	z-index: 999999;
	pointer-events: auto;
	background: var(--kyphy-ai-bg);
	border: 1px solid var(--kyphy-ai-line);
	border-radius: 14px;
	box-shadow: 0 8px 28px rgba(20, 40, 38, 0.16);
	padding: 12px 14px;
	max-width: min(290px, calc(100vw - 32px));
}

#kyphy-ai-root .kyphy-ai-teaser__head {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-bottom: 10px;
}

#kyphy-ai-root .kyphy-ai-teaser__text {
	margin: 0;
	flex: 1;
	min-width: 0;
	font-size: 13.5px;
	line-height: 1.4;
	padding-top: 2px;
}

#kyphy-ai-root .kyphy-ai-teaser__actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

#kyphy-ai-root .kyphy-ai-teaser__close {
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	border: 0;
	background: var(--kyphy-ai-soft);
	color: var(--kyphy-ai-muted);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	padding: 0;
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background 0.15s ease, color 0.15s ease;
}

#kyphy-ai-root .kyphy-ai-teaser__close:hover {
	background: #e8efed;
	color: var(--kyphy-ai-text);
}

/* ------------------------------- Кнопки -------------------------------- */

#kyphy-ai-root .kyphy-ai-btn,
.kyphy-ai-passport .kyphy-ai-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	border: 1px solid transparent;
	padding: 8px 14px;
	font-size: 13.5px;
	line-height: 1.2;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
	background: var(--kyphy-ai-soft, #f2f7f6);
	color: var(--kyphy-ai-text, #243230);
}

#kyphy-ai-root .kyphy-ai-btn--primary,
.kyphy-ai-passport .kyphy-ai-btn--primary {
	background: var(--kyphy-ai-accent, #207873);
	color: #fff;
}

#kyphy-ai-root .kyphy-ai-btn--primary:hover,
.kyphy-ai-passport .kyphy-ai-btn--primary:hover {
	background: var(--kyphy-ai-accent-dark, #185c58);
	color: #fff;
}

#kyphy-ai-root .kyphy-ai-btn--ghost,
.kyphy-ai-passport .kyphy-ai-btn--ghost {
	background: transparent;
	border-color: var(--kyphy-ai-line, #e4ecea);
	color: var(--kyphy-ai-muted, #7b8a87);
}

#kyphy-ai-root .kyphy-ai-btn.is-added {
	background: #e8f3ef;
	color: var(--kyphy-ai-accent);
}

#kyphy-ai-root .kyphy-ai-btn.is-loading,
.kyphy-ai-passport .kyphy-ai-btn.is-loading {
	pointer-events: none;
	cursor: wait;
	gap: 8px;
	min-width: 7.5rem;
}

#kyphy-ai-root .kyphy-ai-btn--primary.is-loading,
.kyphy-ai-passport .kyphy-ai-btn--primary.is-loading {
	background: var(--kyphy-ai-accent-dark, #185c58);
}

#kyphy-ai-root .kyphy-ai-btn__spinner,
.kyphy-ai-passport .kyphy-ai-btn__spinner {
	width: 14px;
	height: 14px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: kyphy-ai-spin 0.75s linear infinite;
	flex-shrink: 0;
}

#kyphy-ai-root .kyphy-ai-btn__label,
.kyphy-ai-passport .kyphy-ai-btn__label {
	white-space: nowrap;
}

@keyframes kyphy-ai-spin {
	to {
		transform: rotate(360deg);
	}
}

.kyphy-ai-media__item.is-analyzing,
#kyphy-ai-root .kyphy-ai-chat-media.is-analyzing {
	opacity: 0.92;
}

.kyphy-ai-media__status:not(.is-error):not([hidden]) {
	color: var(--kyphy-ai-accent, #207873);
}

/* ------------------------------- Панель -------------------------------- */

#kyphy-ai-root .kyphy-ai-panel {
	position: fixed;
	right: 0;
	left: 0;
	top: max(12px, env(safe-area-inset-top, 12px));
	bottom: 0;
	width: 100%;
	height: auto;
	max-height: none;
	background: var(--kyphy-ai-bg);
	border-radius: 18px 18px 0 0;
	box-shadow: 0 -8px 40px rgba(20, 40, 38, 0.22);
	display: none;
	flex-direction: column;
	overflow: hidden;
}

#kyphy-ai-root .kyphy-ai-panel.is-open {
	display: flex;
	pointer-events: auto;
}

/* Опционально: лёгкий отступ контента при открытой панели (десктоп) */
@media (min-width: 1024px) {
	html.kyphy-ai-chat-open {
		overflow-x: hidden;
	}
}

/* Десктоп: боковая панель на всю высоту справа */
@media (min-width: 1024px) {
	#kyphy-ai-root.is-panel-open {
		right: 0;
		bottom: 0;
		top: 0;
		left: auto;
		width: 0;
		height: 0;
		overflow: visible;
		pointer-events: none;
	}

	#kyphy-ai-root.is-panel-open .kyphy-ai-panel {
		pointer-events: auto;
	}

	#kyphy-ai-root .kyphy-ai-panel {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: auto;
		width: min(420px, 36vw);
		max-width: 440px;
		height: 100dvh;
		max-height: 100dvh;
		border-radius: 0;
		border: none;
		border-left: 1px solid var(--kyphy-ai-line);
		box-shadow: -12px 0 48px rgba(20, 40, 38, 0.18);
		z-index: 99981;
	}
}

#kyphy-ai-root .kyphy-ai-panel__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 12px 10px 14px;
	background: var(--kyphy-ai-head);
	color: #fff;
	flex-shrink: 0;
	box-shadow: 0 2px 12px rgba(24, 92, 88, 0.22);
}

#kyphy-ai-root .kyphy-ai-panel__head-info {
	display: flex;
	align-items: center;
	gap: 10px;
}

#kyphy-ai-root .kyphy-ai-avatar {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.2);
	border: 1px solid rgba(255, 255, 255, 0.28);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

#kyphy-ai-root .kyphy-ai-panel__name-wrap {
	display: flex;
	flex-direction: column;
}

#kyphy-ai-root .kyphy-ai-panel__head-actions {
	display: inline-flex;
	align-items: center;
	align-self: center;
	gap: 8px;
	flex-shrink: 0;
}

#kyphy-ai-root .kyphy-ai-panel__head-actions > .kyphy-ai-head-register,
#kyphy-ai-root .kyphy-ai-panel__head-actions > .kyphy-ai-iconbtn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	align-self: center;
	margin: 0;
	height: 36px;
	min-height: 36px;
	max-height: 36px;
}

#kyphy-ai-root .kyphy-ai-head-register {
	padding: 0 12px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.38);
	color: #fff;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	background: rgba(255, 255, 255, 0.08);
	transition: background 0.15s ease, border-color 0.15s ease;
}

#kyphy-ai-root .kyphy-ai-panel__head-actions button.kyphy-ai-iconbtn {
	width: 36px;
	min-width: 36px;
	max-width: 36px;
	padding: 0 !important;
	margin: 0 !important;
	height: 36px !important;
	min-height: 36px !important;
	max-height: 36px !important;
	line-height: 0 !important;
	font-size: 0;
	text-transform: none;
	letter-spacing: normal;
	font-weight: 400;
	-webkit-appearance: none;
	appearance: none;
}

#kyphy-ai-root .kyphy-ai-panel__head-actions .kyphy-ai-iconbtn svg {
	display: block;
	width: 18px;
	height: 18px;
	margin: 0;
	flex-shrink: 0;
}

#kyphy-ai-root .kyphy-ai-head-register:hover {
	background: rgba(255, 255, 255, 0.16);
	border-color: rgba(255, 255, 255, 0.55);
	color: #fff;
}

#kyphy-ai-root .kyphy-ai-iconbtn--help {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.22);
	opacity: 0.92;
}

#kyphy-ai-root .kyphy-ai-iconbtn--help:hover {
	background: rgba(255, 255, 255, 0.14);
	border-color: rgba(255, 255, 255, 0.38);
	opacity: 1;
}

/* ----------------------------- Справка «Что умеет» ---------------------- */

#kyphy-ai-root .kyphy-ai-help {
	position: absolute;
	inset: 0;
	z-index: 20;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding: 12px;
}

#kyphy-ai-root .kyphy-ai-help[hidden] {
	display: none !important;
}

#kyphy-ai-root .kyphy-ai-help__backdrop {
	position: absolute;
	inset: 0;
	border: 0;
	padding: 0;
	margin: 0;
	background: rgba(20, 40, 38, 0.28);
	cursor: pointer;
}

#kyphy-ai-root .kyphy-ai-help__sheet {
	position: relative;
	z-index: 1;
	width: 100%;
	max-height: min(78vh, 520px);
	display: flex;
	flex-direction: column;
	background: var(--kyphy-ai-bg);
	border-radius: 16px 16px 12px 12px;
	box-shadow: 0 -8px 40px rgba(20, 40, 38, 0.18);
	overflow: hidden;
}

#kyphy-ai-root .kyphy-ai-help__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 12px 12px 10px 16px;
	border-bottom: 1px solid var(--kyphy-ai-line);
	flex-shrink: 0;
}

#kyphy-ai-root .kyphy-ai-help__title {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	color: var(--kyphy-ai-text);
	line-height: 1.3;
}

#kyphy-ai-root .kyphy-ai-help__close {
	background: var(--kyphy-ai-soft);
	color: var(--kyphy-ai-muted);
	border-radius: 10px;
	flex-shrink: 0;
}

#kyphy-ai-root .kyphy-ai-help__close:hover {
	background: #e8efed;
	color: var(--kyphy-ai-text);
}

#kyphy-ai-root .kyphy-ai-help__body {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	padding: 12px 16px 8px;
	-webkit-overflow-scrolling: touch;
}

#kyphy-ai-root .kyphy-ai-help__intro {
	margin: 0 0 12px;
	font-size: 13.5px;
	color: var(--kyphy-ai-muted);
	line-height: 1.45;
}

#kyphy-ai-root .kyphy-ai-help__block + .kyphy-ai-help__block {
	margin-top: 12px;
}

#kyphy-ai-root .kyphy-ai-help__subtitle {
	margin: 0 0 6px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--kyphy-ai-accent-dark);
}

#kyphy-ai-root .kyphy-ai-help__list {
	margin: 0;
	padding: 0 0 0 18px;
	font-size: 13.5px;
	line-height: 1.45;
	color: var(--kyphy-ai-text);
}

#kyphy-ai-root .kyphy-ai-help__list li + li {
	margin-top: 5px;
}

#kyphy-ai-root .kyphy-ai-help__note {
	margin: 12px 0 0;
	padding-top: 10px;
	border-top: 1px solid var(--kyphy-ai-line);
	font-size: 12px;
	color: var(--kyphy-ai-muted);
	line-height: 1.4;
}

#kyphy-ai-root .kyphy-ai-help__foot {
	padding: 10px 12px 12px;
	border-top: 1px solid var(--kyphy-ai-line);
	flex-shrink: 0;
}

#kyphy-ai-root .kyphy-ai-help__ok {
	width: 100%;
	justify-content: center;
}

#kyphy-ai-root .kyphy-ai-panel__name {
	font-weight: 600;
	font-size: 14.5px;
}

#kyphy-ai-root .kyphy-ai-panel__role {
	font-size: 11.5px;
	opacity: 0.85;
}

#kyphy-ai-root .kyphy-ai-iconbtn {
	border: 0;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	cursor: pointer;
	width: 36px;
	height: 36px;
	padding: 0;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: background 0.15s ease;
}

#kyphy-ai-root .kyphy-ai-iconbtn:hover {
	background: rgba(255, 255, 255, 0.22);
}

/* ------------------------------- Вкладки -------------------------------- */

#kyphy-ai-root .kyphy-ai-tabs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 4px;
	padding: 8px 8px;
	background: var(--kyphy-ai-bg);
	border-bottom: 1px solid var(--kyphy-ai-line);
	flex-shrink: 0;
}

#kyphy-ai-root .kyphy-ai-tab__label {
	text-align: center;
}

#kyphy-ai-root .kyphy-ai-tab {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	border: 1px solid transparent;
	background: var(--kyphy-ai-soft);
	color: var(--kyphy-ai-muted);
	border-radius: 12px;
	padding: 8px 6px;
	font-size: 11.5px;
	line-height: 1.1;
	cursor: pointer;
	position: relative;
	min-height: 52px;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

#kyphy-ai-root .kyphy-ai-tab__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
}

#kyphy-ai-root .kyphy-ai-tab__label {
	font-weight: 600;
	letter-spacing: 0.01em;
}

#kyphy-ai-root .kyphy-ai-tab--chat:not([aria-selected="true"]) {
	background: #eef5f4;
	border-color: #d6e8e5;
}

#kyphy-ai-root .kyphy-ai-tab--compare:not([aria-selected="true"]) {
	background: #f0f2f7;
	border-color: #dde3ee;
}

#kyphy-ai-root .kyphy-ai-tab--passport:not([aria-selected="true"]) {
	background: #f5f1ec;
	border-color: #ebe3d8;
}

#kyphy-ai-root .kyphy-ai-tab--explore:not([aria-selected="true"]) {
	background: #eef6f1;
	border-color: #d5e8df;
}

#kyphy-ai-root .kyphy-ai-tab[aria-selected="true"] {
	color: var(--kyphy-ai-accent);
	box-shadow: 0 2px 10px var(--kyphy-ai-accent-glow);
}

#kyphy-ai-root .kyphy-ai-tab--chat[aria-selected="true"] {
	background: #f9fcfb;
	border-color: #b8d9d4;
}

#kyphy-ai-root .kyphy-ai-tab--compare[aria-selected="true"] {
	background: #f8f9fd;
	border-color: #c5cee3;
}

#kyphy-ai-root .kyphy-ai-tab--passport[aria-selected="true"] {
	background: #fcfaf7;
	border-color: #ddd2c4;
}

#kyphy-ai-root .kyphy-ai-tab--explore[aria-selected="true"] {
	background: #f7fbf9;
	border-color: #b8d9ce;
}

#kyphy-ai-root .kyphy-ai-tab__badge {
	position: absolute;
	top: 4px;
	right: 6px;
	font-size: 9px;
	font-weight: 700;
	background: var(--kyphy-ai-accent);
	color: #fff;
	border-radius: 8px;
	padding: 2px 5px;
	line-height: 1.2;
}

#kyphy-ai-root .kyphy-ai-body {
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

#kyphy-ai-root .kyphy-ai-tabpanel {
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

#kyphy-ai-root .kyphy-ai-tabpanel[hidden] {
	display: none !important;
}

/* ------------------------------ Сообщения ------------------------------ */

#kyphy-ai-root .kyphy-ai-messages {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	padding: 12px 10px;
	background:
		radial-gradient(ellipse 120% 80% at 100% 0%, rgba(32, 120, 115, 0.06), transparent 55%),
		var(--kyphy-ai-soft);
	-webkit-overflow-scrolling: touch;
}

#kyphy-ai-root .kyphy-ai-msg {
	display: flex;
	margin-bottom: 10px;
}

#kyphy-ai-root .kyphy-ai-msg--user {
	justify-content: flex-end;
}

#kyphy-ai-root .kyphy-ai-msg__bubble {
	max-width: 84%;
	padding: 9px 13px;
	border-radius: 14px;
	font-size: 14px;
	word-break: break-word;
}

#kyphy-ai-root .kyphy-ai-msg--assistant .kyphy-ai-msg__bubble {
	background: var(--kyphy-ai-bg);
	border: 1px solid var(--kyphy-ai-line);
	border-bottom-left-radius: 5px;
}

#kyphy-ai-root .kyphy-ai-msg--user .kyphy-ai-msg__bubble {
	background: var(--kyphy-ai-accent);
	color: #fff;
	border-bottom-right-radius: 5px;
	white-space: pre-wrap;
}

#kyphy-ai-root .kyphy-ai-msg__bubble p {
	margin: 0 0 8px;
}

#kyphy-ai-root .kyphy-ai-msg__bubble p:last-child {
	margin-bottom: 0;
}

#kyphy-ai-root .kyphy-ai-msg__bubble ul,
#kyphy-ai-root .kyphy-ai-msg__bubble ol {
	margin: 4px 0 8px;
	padding-left: 18px;
}

#kyphy-ai-root .kyphy-ai-msg__bubble li {
	margin-bottom: 3px;
}

#kyphy-ai-root .kyphy-ai-msg__bubble a {
	color: var(--kyphy-ai-accent);
	text-decoration: underline;
}

#kyphy-ai-root .kyphy-ai-disclaimer-note {
	font-size: 12px;
	color: var(--kyphy-ai-muted);
}

#kyphy-ai-root .kyphy-ai-note {
	text-align: center;
	font-size: 12.5px;
	color: var(--kyphy-ai-muted);
	background: rgba(32, 120, 115, 0.07);
	border-radius: 10px;
	padding: 7px 12px;
	margin: 0 14px 10px;
}

/* Индикатор печати */
#kyphy-ai-root .kyphy-ai-typing {
	display: inline-flex;
	gap: 4px;
	padding: 2px 0;
}

#kyphy-ai-root .kyphy-ai-typing i {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--kyphy-ai-muted);
	animation: kyphy-ai-blink 1.2s infinite ease-in-out;
}

#kyphy-ai-root .kyphy-ai-typing i:nth-child(2) { animation-delay: 0.18s; }
#kyphy-ai-root .kyphy-ai-typing i:nth-child(3) { animation-delay: 0.36s; }

@keyframes kyphy-ai-blink {
	0%, 70%, 100% { opacity: 0.25; transform: translateY(0); }
	35% { opacity: 1; transform: translateY(-2px); }
}

/* --------------------------- Карточки товаров --------------------------- */

#kyphy-ai-root .kyphy-ai-products-block {
	margin-top: 8px;
	max-width: 100%;
}

#kyphy-ai-root .kyphy-ai-products-cats {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 6px;
	overflow-x: auto;
	padding: 0 2px 8px;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}

#kyphy-ai-root .kyphy-ai-products-cat {
	flex: 0 0 auto;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	min-height: 28px;
	height: 28px;
	padding: 0 12px;
	border: 1px solid var(--kyphy-ai-line);
	border-radius: 999px;
	font-family: inherit;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--kyphy-ai-muted);
	background: var(--kyphy-ai-soft);
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	vertical-align: middle;
}

#kyphy-ai-root .kyphy-ai-products-cat:hover,
#kyphy-ai-root .kyphy-ai-products-cat.is-active {
	color: var(--kyphy-ai-accent);
	border-color: rgba(32, 120, 115, 0.35);
	background: rgba(32, 120, 115, 0.08);
}

#kyphy-ai-root .kyphy-ai-products {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding: 2px 2px 8px;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}

#kyphy-ai-root .kyphy-ai-card {
	flex: 0 0 132px;
	background: var(--kyphy-ai-bg);
	border: 1px solid var(--kyphy-ai-line);
	border-radius: 10px;
	padding: 8px;
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

#kyphy-ai-root .kyphy-ai-card__imgwrap {
	display: block;
	height: 88px;
	border-radius: 6px;
	overflow: hidden;
	background: var(--kyphy-ai-soft);
}

#kyphy-ai-root .kyphy-ai-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

#kyphy-ai-root .kyphy-ai-card__name {
	font-size: 11px;
	line-height: 1.25;
	color: var(--kyphy-ai-text);
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.5em;
}

#kyphy-ai-root .kyphy-ai-card__price {
	font-weight: 700;
	font-size: 11.5px;
	line-height: 1.2;
}

#kyphy-ai-root .kyphy-ai-card__actions {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	gap: 4px;
	margin-top: auto;
}

#kyphy-ai-root .kyphy-ai-card__actions .kyphy-ai-btn {
	flex: 1 1 0;
	min-width: 0;
	min-height: 26px;
	height: 26px;
	padding: 0 4px;
	font-size: 10px;
	line-height: 1;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	border-radius: 7px;
}

#kyphy-ai-root .kyphy-ai-card__stock {
	font-size: 10px;
	color: #b4543e;
}

/* ------------------------------ Сравнение ------------------------------- */

#kyphy-ai-root .kyphy-ai-compare {
	overflow-x: auto;
	margin-bottom: 10px;
	background: var(--kyphy-ai-bg);
	border: 1px solid var(--kyphy-ai-line);
	border-radius: 12px;
}

#kyphy-ai-root .kyphy-ai-compare__table {
	border-collapse: collapse;
	width: 100%;
	min-width: 420px;
	font-size: 12.5px;
}

#kyphy-ai-root .kyphy-ai-compare__table th,
#kyphy-ai-root .kyphy-ai-compare__table td {
	padding: 8px 10px;
	border-bottom: 1px solid var(--kyphy-ai-line);
	text-align: left;
	vertical-align: top;
}

#kyphy-ai-root .kyphy-ai-compare__table thead th {
	background: var(--kyphy-ai-soft);
	font-weight: 600;
}

#kyphy-ai-root .kyphy-ai-compare__table thead a {
	color: var(--kyphy-ai-accent);
	text-decoration: none;
}

#kyphy-ai-root .kyphy-ai-compare__table tbody th {
	color: var(--kyphy-ai-muted);
	font-weight: 500;
	white-space: nowrap;
}

/* ----------------------------- Вкладка «Подбор» ------------------------- */

#kyphy-ai-root .kyphy-ai-explore {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	padding: 14px 12px 16px;
	background: var(--kyphy-ai-soft);
	-webkit-overflow-scrolling: touch;
}

#kyphy-ai-root .kyphy-ai-explore__lead {
	margin: 0 0 12px;
	font-size: 13.5px;
	color: var(--kyphy-ai-muted);
	line-height: 1.4;
}

#kyphy-ai-root .kyphy-ai-explore__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}

@media (min-width: 400px) {
	#kyphy-ai-root .kyphy-ai-explore__grid {
		grid-template-columns: 1fr 1fr;
	}
}

#kyphy-ai-root .kyphy-ai-explore__card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	text-align: left;
	border: 1px solid var(--kyphy-ai-line);
	background: var(--kyphy-ai-bg);
	border-radius: 14px;
	padding: 14px 14px 12px;
	cursor: pointer;
	transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
	box-shadow: 0 2px 8px rgba(20, 40, 38, 0.04);
}

#kyphy-ai-root .kyphy-ai-explore__card--passport_start {
	background: #edf6f3;
	border-color: #d6e9e3;
}

#kyphy-ai-root .kyphy-ai-explore__card--help_pick {
	background: #f4f6ef;
	border-color: #e3e9d9;
}

#kyphy-ai-root .kyphy-ai-explore__card--aroma_search {
	background: #f3f0f6;
	border-color: #e4dde9;
}

#kyphy-ai-root .kyphy-ai-explore__card--brand_info {
	background: #eef3f7;
	border-color: #dce6ee;
}

#kyphy-ai-root .kyphy-ai-explore__card--order_help {
	background: #f7f2ec;
	border-color: #ebe2d6;
}

#kyphy-ai-root .kyphy-ai-explore__card--subscription_info {
	background: #e9f3f2;
	border-color: #d0e6e3;
}

#kyphy-ai-root .kyphy-ai-explore__card--compare_viewed {
	background: #eef3f7;
	border-color: #dce6ee;
}

#kyphy-ai-root .kyphy-ai-explore__card--compare_similar {
	background: #f3f0f6;
	border-color: #e4dde9;
}

#kyphy-ai-root .kyphy-ai-explore__card:disabled {
	opacity: 0.62;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

#kyphy-ai-root .kyphy-ai-explore__card:disabled:hover {
	border-color: inherit;
	transform: none;
	box-shadow: none;
}

#kyphy-ai-root .kyphy-ai-explore__card:hover {
	border-color: var(--kyphy-ai-accent);
	box-shadow: 0 6px 18px var(--kyphy-ai-accent-glow);
	transform: translateY(-1px);
}

#kyphy-ai-root .kyphy-ai-explore__card-title {
	font-size: 13.5px;
	font-weight: 700;
	color: var(--kyphy-ai-text);
	line-height: 1.25;
}

#kyphy-ai-root .kyphy-ai-explore__card-hint {
	font-size: 12px;
	color: var(--kyphy-ai-muted);
	line-height: 1.35;
}

/* ------------------------------- Форма ---------------------------------- */

#kyphy-ai-root .kyphy-ai-form {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	background: var(--kyphy-ai-bg);
	border-top: 1px solid var(--kyphy-ai-line);
	flex-shrink: 0;
}

#kyphy-ai-root .kyphy-ai-form.is-multiline {
	align-items: flex-end;
}

#kyphy-ai-root .kyphy-ai-input {
	flex: 1;
	width: 100%;
	min-width: 0;
	margin: 0;
	resize: none;
	overflow: hidden;
	appearance: none;
	border: 1px solid var(--kyphy-ai-line);
	border-radius: 10px;
	padding: 9px 12px;
	font-size: 14px;
	font-family: inherit;
	line-height: 20px;
	min-height: var(--kyphy-ai-compose-h);
	height: var(--kyphy-ai-compose-h);
	max-height: 72px;
	background: var(--kyphy-ai-soft);
	color: var(--kyphy-ai-text);
	vertical-align: middle;
}

#kyphy-ai-root .kyphy-ai-input:focus {
	outline: none;
	border-color: var(--kyphy-ai-accent);
	background: var(--kyphy-ai-bg);
	box-shadow: 0 0 0 3px var(--kyphy-ai-accent-glow);
}

#kyphy-ai-root .kyphy-ai-send {
	border: 0;
	margin: 0;
	padding: 0;
	background-color: var(--kyphy-ai-accent);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M2.01 21 23 12 2.01 3 2 10l15 2-15 2z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px 18px;
	color: transparent;
	font-size: 0;
	line-height: 0;
	width: var(--kyphy-ai-compose-h);
	height: var(--kyphy-ai-compose-h);
	min-width: var(--kyphy-ai-compose-h);
	min-height: var(--kyphy-ai-compose-h);
	border-radius: 10px;
	cursor: pointer;
	display: block;
	flex: 0 0 var(--kyphy-ai-compose-h);
	align-self: center;
	overflow: hidden;
}

#kyphy-ai-root .kyphy-ai-form.is-multiline .kyphy-ai-send {
	align-self: flex-end;
}

#kyphy-ai-root .kyphy-ai-send svg,
#kyphy-ai-root .kyphy-ai-send .kyphy-ai-send__icon {
	display: none !important;
}

#kyphy-ai-root .kyphy-ai-send:hover {
	background-color: var(--kyphy-ai-accent-dark);
}

#kyphy-ai-root .kyphy-ai-attach-wrap {
	flex: 0 0 var(--kyphy-ai-compose-h);
}

#kyphy-ai-root .kyphy-ai-attach {
	border: 1px solid var(--kyphy-ai-line);
	margin: 0;
	padding: 0;
	width: var(--kyphy-ai-compose-h);
	height: var(--kyphy-ai-compose-h);
	min-width: var(--kyphy-ai-compose-h);
	min-height: var(--kyphy-ai-compose-h);
	border-radius: 10px;
	background: var(--kyphy-ai-soft);
	color: var(--kyphy-ai-muted);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

#kyphy-ai-root .kyphy-ai-attach:hover {
	color: var(--kyphy-ai-accent);
	border-color: var(--kyphy-ai-accent);
	background: var(--kyphy-ai-bg);
}

#kyphy-ai-root .kyphy-ai-form.is-multiline .kyphy-ai-attach-wrap,
#kyphy-ai-root .kyphy-ai-form.is-multiline .kyphy-ai-attach {
	align-self: flex-end;
}

#kyphy-ai-root .kyphy-ai-chat-media {
	margin: 8px 12px 4px;
	padding: 10px 12px;
	border: 1px solid var(--kyphy-ai-line);
	border-radius: 12px;
	background: var(--kyphy-ai-soft);
}

#kyphy-ai-root .kyphy-ai-chat-media__text {
	margin: 0 0 8px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--kyphy-ai-text);
}

#kyphy-ai-root .kyphy-ai-chat-media__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

#kyphy-ai-root .kyphy-ai-analysis__lead {
	margin: 0 0 8px;
	font-size: 13px;
	line-height: 1.45;
}

#kyphy-ai-root .kyphy-ai-analysis__body {
	margin: 0 0 10px;
	padding: 10px 12px;
	border: 1px solid var(--kyphy-ai-line);
	border-radius: 10px;
	background: var(--kyphy-ai-soft);
	font-size: 12.5px;
	line-height: 1.45;
	color: var(--kyphy-ai-text);
	white-space: pre-wrap;
	max-height: 168px;
	overflow: hidden;
}

#kyphy-ai-root .kyphy-ai-analysis__link {
	margin: 0;
}

#kyphy-ai-root .kyphy-ai-analysis__link a,
#kyphy-ai-root .kyphy-ai-profile__notes-link {
	color: var(--kyphy-ai-accent);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
}

#kyphy-ai-root .kyphy-ai-analysis__link a:hover,
#kyphy-ai-root .kyphy-ai-profile__notes-link:hover {
	text-decoration: underline;
}

#kyphy-ai-root .kyphy-ai-profile__row--notes {
	flex-direction: column;
	align-items: stretch;
	gap: 6px;
}

#kyphy-ai-root .kyphy-ai-profile__row--notes .kyphy-ai-profile__value {
	display: block;
	color: var(--kyphy-ai-text);
	line-height: 1.4;
	white-space: pre-wrap;
}

#kyphy-ai-passport #kyphy-field-important_notes:target {
	outline: 2px solid rgba(32, 120, 115, 0.35);
	outline-offset: 4px;
	border-radius: 12px;
}

#kyphy-ai-root .kyphy-ai-compare-panel {
	flex: 1;
	min-height: 0;
	padding: 14px 12px 16px;
	overflow: auto;
	background: var(--kyphy-ai-soft);
	-webkit-overflow-scrolling: touch;
}

#kyphy-ai-root .kyphy-ai-compare-panel__lead {
	margin: 0 0 12px;
	font-size: 13.5px;
	line-height: 1.45;
	color: var(--kyphy-ai-muted);
}

#kyphy-ai-root .kyphy-ai-compare-panel__manual {
	margin-top: 14px;
	padding: 14px;
	border: 1px solid #ebe2d6;
	border-radius: 14px;
	background: #f7f2ec;
}

#kyphy-ai-root .kyphy-ai-compare-panel__label {
	display: block;
	margin-bottom: 8px;
	font-size: 13px;
	font-weight: 600;
	color: var(--kyphy-ai-text);
}

#kyphy-ai-root .kyphy-ai-compare-panel__input {
	width: 100%;
	min-height: 64px;
	margin-bottom: 10px;
	border: 1px solid var(--kyphy-ai-line);
	border-radius: 10px;
	padding: 9px 12px;
	font-size: 14px;
	font-family: inherit;
	line-height: 1.4;
	resize: vertical;
	background: var(--kyphy-ai-soft);
	color: var(--kyphy-ai-text);
}

#kyphy-ai-root .kyphy-ai-compare-panel__input:focus {
	outline: none;
	border-color: var(--kyphy-ai-accent);
	box-shadow: 0 0 0 3px var(--kyphy-ai-accent-glow);
}

#kyphy-ai-root .kyphy-ai-registerbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 8px 10px;
	background: linear-gradient(90deg, rgba(32, 120, 115, 0.08), rgba(32, 120, 115, 0.03));
	border-top: 1px solid var(--kyphy-ai-line);
	flex-shrink: 0;
}

#kyphy-ai-root .kyphy-ai-registerbar__title {
	display: block;
	font-size: 12px;
	color: var(--kyphy-ai-muted);
	line-height: 1.3;
}

#kyphy-ai-root .kyphy-ai-btn--sm {
	padding: 7px 12px;
	font-size: 12px;
	white-space: nowrap;
	flex-shrink: 0;
}

#kyphy-ai-root .kyphy-ai-profile__guest {
	background: var(--kyphy-ai-bg);
	border: 1px dashed var(--kyphy-ai-accent);
	border-radius: 14px;
	padding: 12px 14px;
	margin-bottom: 12px;
}

#kyphy-ai-root .kyphy-ai-profile__guest p {
	margin: 0 0 10px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--kyphy-ai-muted);
}

#kyphy-ai-root .kyphy-ai-foot {
	padding: 4px 10px 8px;
	font-size: 10px;
	color: var(--kyphy-ai-muted);
	text-align: center;
	background: var(--kyphy-ai-bg);
	flex-shrink: 0;
}

#kyphy-ai-root .kyphy-ai-foot a {
	color: var(--kyphy-ai-muted);
	text-decoration: underline;
}

/* --------------------------- Профиль (вкладка) -------------------------- */

#kyphy-ai-root .kyphy-ai-profile {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	background: var(--kyphy-ai-soft);
	padding: 14px 12px 16px;
	-webkit-overflow-scrolling: touch;
}

#kyphy-ai-root .kyphy-ai-profile__head {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 14px;
	padding: 12px;
	background: var(--kyphy-ai-bg);
	border: 1px solid var(--kyphy-ai-line);
	border-radius: 14px;
}

#kyphy-ai-root .kyphy-ai-profile__ring {
	position: relative;
	width: 64px;
	height: 64px;
	flex-shrink: 0;
	color: var(--kyphy-ai-accent);
}

#kyphy-ai-root .kyphy-ai-profile__ring-num {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 13px;
}

#kyphy-ai-root .kyphy-ai-profile__head-text strong {
	display: block;
	font-size: 15px;
	margin-bottom: 4px;
}

#kyphy-ai-root .kyphy-ai-profile__head-text p {
	margin: 0;
	font-size: 12.5px;
	color: var(--kyphy-ai-muted);
	line-height: 1.35;
}

#kyphy-ai-root .kyphy-ai-btn--block {
	width: 100%;
}

#kyphy-ai-root .kyphy-ai-profile__consent {
	background: var(--kyphy-ai-bg);
	border: 1px solid var(--kyphy-ai-line);
	border-radius: 14px;
	padding: 14px;
}

#kyphy-ai-root .kyphy-ai-profile__consent p {
	margin: 0 0 12px;
	font-size: 13.5px;
	line-height: 1.4;
}

#kyphy-ai-root .kyphy-ai-profile__list {
	background: var(--kyphy-ai-bg);
	border: 1px solid var(--kyphy-ai-line);
	border-radius: 14px;
	padding: 4px 12px;
	margin-bottom: 12px;
}

#kyphy-ai-root .kyphy-ai-profile__row {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 9px 0;
	border-bottom: 1px dashed var(--kyphy-ai-line);
	font-size: 13px;
}

#kyphy-ai-root .kyphy-ai-profile__row:last-child {
	border-bottom: 0;
}

#kyphy-ai-root .kyphy-ai-profile__label {
	color: var(--kyphy-ai-muted);
}

#kyphy-ai-root .kyphy-ai-profile__actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 10px;
}

#kyphy-ai-root .kyphy-ai-profile__actions .kyphy-ai-btn,
#kyphy-ai-root .kyphy-ai-profile__consent .kyphy-ai-profile__manual-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 40px;
	text-align: center;
	font-size: 13px;
	padding: 9px 12px;
	line-height: 1.25;
	appearance: none;
	-webkit-appearance: none;
}

#kyphy-ai-root .kyphy-ai-profile__manual-btn {
	margin-top: 4px;
}

#kyphy-ai-root .kyphy-ai-profile__consent .kyphy-ai-profile__manual-btn {
	width: 100%;
}

#kyphy-ai-root .kyphy-ai-profile__empty,
#kyphy-ai-root .kyphy-ai-profile__loading {
	font-size: 13px;
	color: var(--kyphy-ai-muted);
}

#kyphy-ai-root .kyphy-ai-consentbar {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	background: var(--kyphy-ai-bg);
	border: 1px solid var(--kyphy-ai-line);
	border-radius: 12px;
	padding: 10px 12px;
	font-size: 13px;
	margin-bottom: 10px;
	pointer-events: auto;
	position: relative;
	z-index: 2;
}

/* ===================== Паспорт кожи в личном кабинете ==================== */

.kyphy-ai-passport {
	--kyphy-ai-accent: #207873;
	--kyphy-ai-line: #e4ecea;
	--kyphy-ai-muted: #7b8a87;
	max-width: 760px;
}

.kyphy-ai-passport__head {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 18px;
}

.kyphy-ai-passport__progress {
	position: relative;
	width: 72px;
	height: 72px;
	flex-shrink: 0;
}

.kyphy-ai-passport__progress-num {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 15px;
	color: var(--kyphy-ai-accent);
}

.kyphy-ai-passport__intro h3 {
	margin: 0 0 6px;
}

.kyphy-ai-passport__intro p {
	margin: 0;
	color: var(--kyphy-ai-muted);
	font-size: 14px;
}

.kyphy-ai-passport__consent {
	background: #f2f7f6;
	border: 1px solid var(--kyphy-ai-line);
	border-radius: 12px;
	padding: 14px 16px;
	margin-bottom: 16px;
}

.kyphy-ai-passport__consent p {
	margin: 0 0 10px;
}

.kyphy-ai-passport__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	margin-bottom: 16px;
}

@media (min-width: 600px) {
	.kyphy-ai-passport__grid {
		grid-template-columns: 1fr 1fr;
	}
}

.kyphy-ai-passport__card {
	border: 1px solid var(--kyphy-ai-line);
	border-radius: 12px;
	padding: 12px 14px;
	position: relative;
	background: #fff;
}

.kyphy-ai-passport__card--locked {
	opacity: 0.72;
	background: #f8faf9;
}

.kyphy-ai-passport__label {
	display: block;
	font-size: 12px;
	color: var(--kyphy-ai-muted);
	margin-bottom: 6px;
}

.kyphy-ai-passport__input {
	width: 100%;
	min-height: 46px;
	height: auto;
	border: 1px solid var(--kyphy-ai-line);
	border-radius: 8px;
	padding: 11px 12px;
	font-size: 14px;
	line-height: 1.45;
	font-family: inherit;
	background: #fff;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
	overflow: visible;
}

.woocommerce-account .kyphy-ai-passport .kyphy-ai-passport__input,
.woocommerce-account .kyphy-ai-passport select.kyphy-ai-passport__input,
.woocommerce-account .kyphy-ai-passport input.kyphy-ai-passport__input {
	min-height: 46px !important;
	height: auto !important;
	line-height: 1.45 !important;
	padding-top: 11px !important;
	padding-bottom: 11px !important;
}

.kyphy-ai-passport select.kyphy-ai-passport__input {
	padding-right: 36px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%237b8a87' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 12px 8px;
}

.kyphy-ai-passport__input:focus {
	outline: none;
	border-color: var(--kyphy-ai-accent);
	box-shadow: 0 0 0 3px rgba(32, 120, 115, 0.12);
}

.kyphy-ai-passport__input:disabled {
	background: #f6f8f8;
	color: var(--kyphy-ai-muted);
	opacity: 1;
}

.kyphy-ai-passport__manual-hint {
	margin: 0 0 14px;
	font-size: 13.5px;
	line-height: 1.45;
	color: var(--kyphy-ai-muted);
}

#kyphy-ai-root .kyphy-ai-profile__manual {
	background: var(--kyphy-ai-bg);
	border: 1px solid var(--kyphy-ai-line);
	border-radius: 14px;
	padding: 12px 14px;
	margin-bottom: 12px;
}

#kyphy-ai-root .kyphy-ai-profile__manual p {
	margin: 0 0 10px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--kyphy-ai-muted);
}

.kyphy-ai-passport__saved {
	position: absolute;
	top: 10px;
	right: 12px;
	font-size: 11px;
	color: var(--kyphy-ai-accent);
}

.kyphy-ai-passport__actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 12px;
}

.kyphy-ai-passport__note {
	font-size: 12.5px;
	color: var(--kyphy-ai-muted);
}

.kyphy-ai-passport__guest {
	background: #f2f7f6;
	border: 1px dashed var(--kyphy-ai-accent, #207873);
	border-radius: 12px;
	padding: 12px 14px;
	margin-bottom: 14px;
	font-size: 13.5px;
	line-height: 1.45;
}

.kyphy-ai-passport__guest a {
	color: var(--kyphy-ai-accent, #207873);
	font-weight: 600;
}

.kyphy-ai-passport__card--wide {
	grid-column: 1 / -1;
}

.kyphy-ai-passport__textarea {
	min-height: 120px;
	resize: vertical;
	line-height: 1.45;
}

.kyphy-ai-media {
	margin: 16px 0;
	padding: 14px;
	border: 1px solid #e3ecea;
	border-radius: 12px;
	background: #fafcfc;
}

.kyphy-ai-media__title {
	margin: 0 0 6px;
	font-size: 15px;
}

.kyphy-ai-media__intro,
.kyphy-ai-media__hint,
.kyphy-ai-media__status {
	margin: 0 0 10px;
	font-size: 13px;
	line-height: 1.45;
	color: var(--kyphy-ai-muted, #5f726e);
}

.kyphy-ai-media__status.is-error {
	color: #b42318;
}

.kyphy-ai-media__list {
	list-style: none;
	margin: 0 0 10px;
	padding: 0;
}

.kyphy-ai-media__item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	padding: 10px 0;
	border-bottom: 1px solid #e7efed;
}

.kyphy-ai-media__item:last-child {
	border-bottom: none;
}

.kyphy-ai-media__name {
	flex: 1 1 140px;
	font-size: 13.5px;
	font-weight: 500;
	word-break: break-word;
}

.kyphy-ai-media__meta {
	font-size: 12px;
	color: var(--kyphy-ai-muted, #5f726e);
}

.kyphy-ai-media__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.kyphy-ai-media__quota {
	margin: 0 0 10px;
	font-size: 12.5px;
	color: var(--kyphy-ai-muted, #5f726e);
}

.kyphy-ai-media__upload {
	display: inline-block;
	cursor: pointer;
}

.kyphy-ai-profile .kyphy-ai-media {
	margin-top: 12px;
}

.kyphy-ai-media--locked {
	opacity: 0.92;
	border-style: dashed;
}

.kyphy-ai-media--locked a {
	color: var(--kyphy-ai-accent, #207873);
	font-weight: 600;
}

/* Планшет и смартфон: окно на весь экран */
@media (max-width: 1023px) {
	#kyphy-ai-root {
		right: 0;
		bottom: 0;
		left: 0;
		align-items: stretch;
		z-index: 999999;
	}

	#kyphy-ai-root .kyphy-ai-launcher {
		position: fixed;
		right: max(14px, env(safe-area-inset-right, 14px));
		bottom: calc(var(--kyphy-ai-mobile-nav) + env(safe-area-inset-bottom, 0px) + 12px);
		z-index: 999999;
	}

	#kyphy-ai-root .kyphy-ai-panel {
		position: fixed;
		z-index: 999999;
		pointer-events: auto;
		top: max(8px, env(safe-area-inset-top, 8px));
		bottom: 0;
		left: 0;
		right: 0;
		height: auto;
		max-height: none;
		border-radius: 16px 16px 0 0;
	}

	#kyphy-ai-root .kyphy-ai-teaser,
	#kyphy-ai-root .kyphy-ai-badge {
		position: fixed;
		right: max(14px, env(safe-area-inset-right, 14px));
		left: auto;
		bottom: calc(var(--kyphy-ai-mobile-nav) + env(safe-area-inset-bottom, 0px) + 12px + 54px + 10px);
		max-width: min(290px, calc(100vw - 28px));
		z-index: 1000000;
		pointer-events: auto;
	}

	#kyphy-ai-root.is-panel-open .kyphy-ai-teaser,
	#kyphy-ai-root.is-panel-open .kyphy-ai-badge {
		visibility: hidden;
		pointer-events: none;
	}

	#kyphy-ai-root:not(.is-panel-open) .kyphy-ai-teaser,
	#kyphy-ai-root:not(.is-panel-open) .kyphy-ai-badge {
		visibility: visible;
	}

	#kyphy-ai-root .kyphy-ai-panel__head {
		align-items: center;
		padding: 10px 12px 10px 14px;
	}

	#kyphy-ai-root .kyphy-ai-panel__role {
		font-size: 10px;
		line-height: 1.2;
		letter-spacing: 0.01em;
	}

	#kyphy-ai-root .kyphy-ai-panel__head-actions {
		gap: 8px;
		align-items: center;
	}

	#kyphy-ai-root .kyphy-ai-panel__head-actions > .kyphy-ai-head-register,
	#kyphy-ai-root .kyphy-ai-panel__head-actions > .kyphy-ai-iconbtn {
		height: 36px;
		min-height: 36px;
		max-height: 36px;
	}

	#kyphy-ai-root .kyphy-ai-head-register {
		padding: 0 11px;
		font-size: 11.5px;
		line-height: 1;
	}

	#kyphy-ai-root .kyphy-ai-panel__head-actions button.kyphy-ai-iconbtn {
		width: 36px !important;
		min-width: 36px !important;
		max-width: 36px !important;
		height: 36px !important;
		min-height: 36px !important;
		max-height: 36px !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	#kyphy-ai-root .kyphy-ai-registerbar {
		flex-direction: column;
		align-items: stretch;
	}

	#kyphy-ai-root .kyphy-ai-tab {
		min-height: 48px;
		padding: 7px 4px;
	}

	#kyphy-ai-root .kyphy-ai-explore__grid {
		grid-template-columns: 1fr;
	}

	.kyphy-ai-media__actions {
		width: 100%;
	}

	.kyphy-ai-media__actions .kyphy-ai-btn,
	#kyphy-ai-root .kyphy-ai-chat-media__actions .kyphy-ai-btn {
		flex: 1 1 auto;
		min-width: 0;
	}

	#kyphy-ai-root .kyphy-ai-btn.is-loading,
	.kyphy-ai-passport .kyphy-ai-btn.is-loading {
		min-width: 0;
		width: 100%;
	}

	#kyphy-ai-root.is-panel-open .kyphy-ai-launcher {
		display: none !important;
		visibility: hidden;
		pointer-events: none;
	}
}
