/* Gapistan Chat — bundled from assets/css/chat/ (2026-07-20) */
/* Gapistan Chat — Variables */
/* Theme tokens scoped to plugin UI only — never :root (avoids breaking site themes). */
#wpnc-chat-shell,
#wpnc-app,
.wpnc-page-wrap,
.wpnc-support-page-wrap,
.wpnc-admin-wrap,
.wpnc-inbox-frame,
.wpnc-modal-overlay,
.wpnc-root {
	--wpnc-z-shell: 2147483647;
	--wpnc-z-float: 2147483647;
	--wpnc-z-modal: 2147483647;
	--wpnc-z-overlay: 2147483647;
}

#wpnc-chat-shell[data-wpnc-theme="light"],
#wpnc-app[data-wpnc-theme="light"],
.wpnc-page-wrap[data-wpnc-theme="light"],
.wpnc-support-page-wrap[data-wpnc-theme="light"],
.wpnc-admin-wrap[data-wpnc-theme="light"],
.wpnc-modal-overlay[data-wpnc-theme="light"],
#wpnc-chat-shell[data-wpnc-theme="auto"],
#wpnc-app[data-wpnc-theme="auto"],
.wpnc-page-wrap[data-wpnc-theme="auto"],
.wpnc-support-page-wrap[data-wpnc-theme="auto"],
.wpnc-admin-wrap[data-wpnc-theme="auto"],
.wpnc-modal-overlay[data-wpnc-theme="auto"],
#wpnc-chat-shell:not([data-wpnc-theme]),
#wpnc-app:not([data-wpnc-theme]),
.wpnc-page-wrap:not([data-wpnc-theme]),
.wpnc-support-page-wrap:not([data-wpnc-theme]),
.wpnc-admin-wrap:not([data-wpnc-theme]),
.wpnc-inbox-frame:not([data-wpnc-theme]),
.wpnc-modal-overlay:not([data-wpnc-theme]) {
	--wpnc-primary: #10b981;
	--wpnc-primary-dark: #059669;
	--wpnc-primary-light: #d1fae5;
	--wpnc-accent: #6366f1;
	--wpnc-bg: #f5f6f8;
	--wpnc-surface: #ffffff;
	--wpnc-surface-elevated: #ffffff;
	--wpnc-border: #e8eaed;
	--wpnc-text: #1a1d21;
	--wpnc-text-muted: #6b7280;
	--wpnc-muted: var(--wpnc-text-muted);
	--wpnc-bubble-other: #ffffff;
	--wpnc-bubble-mine: color-mix(in srgb, var(--wpnc-primary) 12%, var(--wpnc-surface));
	--wpnc-bubble-mine-border: transparent;
	--wpnc-bubble-other-text: var(--wpnc-text);
	--wpnc-bubble-mine-text: var(--wpnc-text);
	--wpnc-sidebar-from: var(--wpnc-surface);
	--wpnc-sidebar-to: var(--wpnc-surface);
	--wpnc-sidebar-header-from: transparent;
	--wpnc-sidebar-header-to: transparent;
	--wpnc-messages-from: var(--wpnc-bg);
	--wpnc-messages-to: var(--wpnc-bg);
	--wpnc-room-hover-bg: color-mix(in srgb, var(--wpnc-primary) 6%, var(--wpnc-bg));
	--wpnc-room-active-from: color-mix(in srgb, var(--wpnc-primary) 10%, var(--wpnc-surface));
	--wpnc-room-active-to: color-mix(in srgb, var(--wpnc-primary) 10%, var(--wpnc-surface));
	--wpnc-room-active-border: transparent;
	--wpnc-input-bg: #eef0f3;
	--wpnc-input-focus-bg: var(--wpnc-surface);
	--wpnc-composer-bg: var(--wpnc-surface);
	--wpnc-shadow: 0 1px 2px rgba(0,0,0,.04);
	--wpnc-shadow-lg: 0 8px 24px rgba(15, 23, 42, .12);
	--wpnc-radius: 14px;
	--wpnc-radius-sm: 10px;
	--wpnc-sidebar-w: 300px;
	--wpnc-files-w: 280px;
	--wpnc-font: 'Vazir', Tahoma, system-ui, sans-serif;
	--wpnc-font-emoji: 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji', emoji;
	--wpnc-fast: 0.14s ease;
	--wpnc-composer-h: 64px;
	--wpnc-modal-backdrop: rgba(15, 23, 42, .55);
	color-scheme: light;
}

#wpnc-chat-shell[data-wpnc-theme="dark"],
#wpnc-app[data-wpnc-theme="dark"],
.wpnc-page-wrap[data-wpnc-theme="dark"],
.wpnc-support-page-wrap[data-wpnc-theme="dark"],
.wpnc-admin-wrap[data-wpnc-theme="dark"],
.wpnc-inbox-frame[data-wpnc-theme="dark"],
.wpnc-modal-overlay[data-wpnc-theme="dark"] {
	--wpnc-bg: #0e1621;
	--wpnc-surface: #17212b;
	--wpnc-surface-elevated: #1c2733;
	--wpnc-border: #2b3949;
	--wpnc-text: #e8edf2;
	--wpnc-text-muted: #8b9bab;
	--wpnc-muted: var(--wpnc-text-muted);
	--wpnc-bubble-other: #1e293b;
	--wpnc-bubble-mine: var(--wpnc-primary);
	--wpnc-bubble-mine-border: transparent;
	--wpnc-bubble-other-text: var(--wpnc-text);
	--wpnc-bubble-mine-text: #0f172a;
	--wpnc-on-primary: #0f172a;
	--wpnc-primary-light: color-mix(in srgb, var(--wpnc-primary) 22%, #17212b);
	--wpnc-primary-dark: color-mix(in srgb, var(--wpnc-primary) 78%, #fff);
	--wpnc-sidebar-from: #17212b;
	--wpnc-sidebar-to: #0e1621;
	--wpnc-sidebar-header-from: color-mix(in srgb, var(--wpnc-primary) 16%, #17212b);
	--wpnc-sidebar-header-to: #17212b;
	--wpnc-messages-from: #0e1621;
	--wpnc-messages-to: #121d29;
	--wpnc-room-hover-bg: #1c2733;
	--wpnc-room-active-from: color-mix(in srgb, var(--wpnc-primary) 24%, #17212b);
	--wpnc-room-active-to: #1a2634;
	--wpnc-room-active-border: color-mix(in srgb, var(--wpnc-primary) 45%, #2b3949);
	--wpnc-input-bg: #121d29;
	--wpnc-input-focus-bg: #1c2733;
	--wpnc-composer-bg: #17212b;
	--wpnc-shadow: 0 2px 16px rgba(0,0,0,.42);
	--wpnc-shadow-lg: 0 10px 32px rgba(0, 0, 0, .45);
	--wpnc-modal-backdrop: rgba(0, 0, 0, .78);
	color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
	#wpnc-chat-shell[data-wpnc-theme="auto"],
	#wpnc-app[data-wpnc-theme="auto"],
	.wpnc-page-wrap[data-wpnc-theme="auto"],
	.wpnc-support-page-wrap[data-wpnc-theme="auto"],
	.wpnc-admin-wrap[data-wpnc-theme="auto"],
	.wpnc-inbox-frame[data-wpnc-theme="auto"],
	.wpnc-modal-overlay[data-wpnc-theme="auto"] {
		--wpnc-bg: #0e1621;
		--wpnc-surface: #17212b;
		--wpnc-surface-elevated: #1c2733;
		--wpnc-border: #2b3949;
		--wpnc-text: #e8edf2;
		--wpnc-text-muted: #8b9bab;
		--wpnc-muted: var(--wpnc-text-muted);
		--wpnc-bubble-other: #1e293b;
		--wpnc-bubble-mine: var(--wpnc-primary);
		--wpnc-bubble-mine-border: transparent;
		--wpnc-bubble-other-text: var(--wpnc-text);
		--wpnc-bubble-mine-text: #0f172a;
	--wpnc-on-primary: #0f172a;
		--wpnc-primary-light: color-mix(in srgb, var(--wpnc-primary) 22%, #17212b);
		--wpnc-primary-dark: color-mix(in srgb, var(--wpnc-primary) 78%, #fff);
		--wpnc-sidebar-from: #17212b;
		--wpnc-sidebar-to: #0e1621;
		--wpnc-sidebar-header-from: color-mix(in srgb, var(--wpnc-primary) 16%, #17212b);
		--wpnc-sidebar-header-to: #17212b;
		--wpnc-messages-from: #0e1621;
		--wpnc-messages-to: #121d29;
		--wpnc-room-hover-bg: #1c2733;
		--wpnc-room-active-from: color-mix(in srgb, var(--wpnc-primary) 24%, #17212b);
		--wpnc-room-active-to: #1a2634;
		--wpnc-room-active-border: color-mix(in srgb, var(--wpnc-primary) 45%, #2b3949);
		--wpnc-input-bg: #121d29;
		--wpnc-input-focus-bg: #1c2733;
		--wpnc-composer-bg: #17212b;
		--wpnc-shadow: 0 2px 16px rgba(0,0,0,.42);
		--wpnc-modal-backdrop: rgba(0, 0, 0, .78);
		color-scheme: dark;
	}
}

/* پس‌زمینه‌های قابل انتخاب کاربر */
[data-wpnc-bg="ocean"][data-wpnc-theme="light"],
[data-wpnc-bg="ocean"]:not([data-wpnc-theme="dark"]) {
	--wpnc-bg: #e8f2fa;
	--wpnc-messages-from: #dfeaf5;
	--wpnc-sidebar-to: #e8f2fa;
}

[data-wpnc-bg="ocean"][data-wpnc-theme="dark"] {
	--wpnc-bg: #0a1219;
	--wpnc-surface: #101c28;
	--wpnc-messages-from: #0a1219;
	--wpnc-messages-to: #0f1822;
	--wpnc-sidebar-from: #101c28;
	--wpnc-sidebar-to: #0a1219;
}

@media (prefers-color-scheme: dark) {
	[data-wpnc-bg="ocean"][data-wpnc-theme="auto"] {
		--wpnc-bg: #0a1219;
		--wpnc-surface: #101c28;
		--wpnc-messages-from: #0a1219;
		--wpnc-messages-to: #0f1822;
		--wpnc-sidebar-from: #101c28;
		--wpnc-sidebar-to: #0a1219;
	}
}

[data-wpnc-bg="warm"][data-wpnc-theme="light"],
[data-wpnc-bg="warm"]:not([data-wpnc-theme="dark"]) {
	--wpnc-bg: #f5f0ea;
	--wpnc-messages-from: #efe8df;
	--wpnc-sidebar-to: #f5f0ea;
}

[data-wpnc-bg="warm"][data-wpnc-theme="dark"] {
	--wpnc-bg: #14100e;
	--wpnc-surface: #1e1814;
	--wpnc-messages-from: #14100e;
	--wpnc-messages-to: #191411;
}

@media (prefers-color-scheme: dark) {
	[data-wpnc-bg="warm"][data-wpnc-theme="auto"] {
		--wpnc-bg: #14100e;
		--wpnc-surface: #1e1814;
		--wpnc-messages-from: #14100e;
		--wpnc-messages-to: #191411;
	}
}

[data-wpnc-bg="slate"][data-wpnc-theme="light"],
[data-wpnc-bg="slate"]:not([data-wpnc-theme="dark"]) {
	--wpnc-bg: #eef1f5;
	--wpnc-bubble-other: #e4e9ef;
}

[data-wpnc-bg="slate"][data-wpnc-theme="dark"] {
	--wpnc-bg: #111318;
	--wpnc-surface: #181b22;
}

@media (prefers-color-scheme: dark) {
	[data-wpnc-bg="slate"][data-wpnc-theme="auto"] {
		--wpnc-bg: #111318;
		--wpnc-surface: #181b22;
	}
}

/* ── Accent presets ── */
[data-wpnc-accent="emerald"] { --wpnc-primary: #10b981; --wpnc-primary-dark: #059669; }
[data-wpnc-accent="teal"] { --wpnc-primary: #14b8a6; --wpnc-primary-dark: #0d9488; }
[data-wpnc-accent="blue"] { --wpnc-primary: #3b82f6; --wpnc-primary-dark: #2563eb; }
[data-wpnc-accent="violet"] { --wpnc-primary: #8b5cf6; --wpnc-primary-dark: #7c3aed; }
[data-wpnc-accent="rose"] { --wpnc-primary: #f43f5e; --wpnc-primary-dark: #e11d48; }
[data-wpnc-accent="amber"] { --wpnc-primary: #f59e0b; --wpnc-primary-dark: #d97706; }
[data-wpnc-accent="cyan"] { --wpnc-primary: #06b6d4; --wpnc-primary-dark: #0891b2; }
[data-wpnc-accent="indigo"] { --wpnc-primary: #6366f1; --wpnc-primary-dark: #4f46e5; }

/* Gapistan Chat — Soft containment (lightweight, theme-safe)
 *
 * Keep this cheap: avoid `all:revert` and avoid ID-scoped `*` selectors
 * that force expensive style recalculation on every DOM node.
 */

#wpnc-chat-shell,
#wpnc-float-wrap,
#wpnc-full-modal,
#wpnc-app,
.wpnc-page-wrap,
.wpnc-support-page-wrap,
.wpnc-admin-wrap,
.wpnc-inbox-frame,
.wpnc-modal-overlay,
.wpnc-root {
	isolation: isolate;
	box-sizing: border-box;
}

#wpnc-chat-shell *,
#wpnc-float-wrap *,
#wpnc-full-modal *,
#wpnc-app *,
.wpnc-page-wrap *,
.wpnc-support-page-wrap *,
.wpnc-admin-wrap *,
.wpnc-inbox-frame *,
.wpnc-modal-overlay *,
.wpnc-root *,
#wpnc-chat-shell *::before,
#wpnc-float-wrap *::before,
#wpnc-full-modal *::before,
#wpnc-app *::before,
.wpnc-page-wrap *::before,
.wpnc-support-page-wrap *::before,
.wpnc-admin-wrap *::before,
.wpnc-inbox-frame *::before,
.wpnc-modal-overlay *::before,
.wpnc-root *::before,
#wpnc-chat-shell *::after,
#wpnc-float-wrap *::after,
#wpnc-full-modal *::after,
#wpnc-app *::after,
.wpnc-page-wrap *::after,
.wpnc-support-page-wrap *::after,
.wpnc-admin-wrap *::after,
.wpnc-inbox-frame *::after,
.wpnc-modal-overlay *::after,
.wpnc-root *::after {
	box-sizing: border-box;
}

.wpnc-root {
	display: inline-block;
	max-width: 100%;
	vertical-align: middle;
}

/* Gapistan Chat — Base */

.wpnc-app {
	font-family: var(--wpnc-font), var(--wpnc-font-emoji);
	background: var(--wpnc-bg);
	color: var(--wpnc-text);
	height: 85vh;
	min-height: 500px;
	border-radius: var(--wpnc-radius);
	overflow: hidden;
	box-shadow: var(--wpnc-shadow);
	border: 1px solid var(--wpnc-border);
	position: relative;
	-webkit-font-smoothing: antialiased;
}

.wpnc-support-widget {
	height: 600px;
	min-height: 400px;
}

/* فرم پیش‌گفتگو / آفلاین داخل اپ — اسکرول عمودی */
.wpnc-support-widget.wpnc-app,
.wpnc-float-chat.wpnc-app,
.wpnc-modal-app.wpnc-mode-support {
	display: flex;
	flex-direction: column;
	min-height: 0;
}

.wpnc-admin-wrap .wpnc-app {
	height: calc(100vh - 180px);
	min-height: 560px;
}

/* صفحه کامل شورت‌کد */
.wpnc-page-wrap {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
}

.wpnc-page-wrap-mobile {
	-webkit-text-size-adjust: 100%;
}

.wpnc-app.wpnc-fullpage {
	width: 100%;
	max-width: 100%;
	height: calc(100dvh - 100px);
	min-height: 520px;
	border-radius: var(--wpnc-radius);
}

.wpnc-layout-full {
	grid-template-columns: minmax(260px, var(--wpnc-sidebar-w)) minmax(0, 1fr) minmax(220px, var(--wpnc-files-w));
	width: 100%;
}

.wpnc-layout-compact .wpnc-layout,
.wpnc-layout-compact {
	grid-template-columns: 1fr !important;
}

.wpnc-float-chat.wpnc-app {
	height: 100% !important;
	min-height: 0 !important;
}

/* Loading */
.wpnc-loading {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	gap: 12px;
	color: var(--wpnc-text-muted);
}

.wpnc-spinner {
	width: 36px;
	height: 36px;
	border: 3px solid var(--wpnc-border);
	border-top-color: var(--wpnc-primary);
	border-radius: 50%;
	animation: wpnc-spin .7s linear infinite;
}

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

/* Top-layer shell — full viewport anchor, no layout impact (pointer-events pass through) */
#wpnc-chat-shell {
	position: fixed;
	inset: 0;
	width: auto;
	height: auto;
	z-index: var(--wpnc-z-shell);
	pointer-events: none;
	isolation: isolate;
}

#wpnc-chat-shell > #wpnc-float-wrap,
#wpnc-chat-shell > #wpnc-full-modal {
	pointer-events: auto;
}

/* Isolate front-end chat UI from theme button/img/svg resets */
#wpnc-float-wrap,
#wpnc-full-modal {
	isolation: isolate;
}

/* Gapistan Chat — Layout */

.wpnc-layout {
	display: grid;
	grid-template-columns: var(--wpnc-sidebar-w) 1fr var(--wpnc-files-w);
	height: 100%;
	min-width: 0;
}

.wpnc-mode-support .wpnc-layout,
.wpnc-support-widget .wpnc-layout {
	grid-template-columns: 1fr;
}

.wpnc-mode-admin .wpnc-layout {
	grid-template-columns: minmax(260px, 280px) minmax(0, 1fr);
}

/* Gapistan Chat — Sidebar */

.wpnc-sidebar {
	background: var(--wpnc-surface);
	border-left: 1px solid var(--wpnc-border);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	min-width: 0;
	color: var(--wpnc-text);
}

.wpnc-sidebar-header {
	padding: 12px 14px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	border-bottom: 1px solid var(--wpnc-border);
	background: transparent;
}

.wpnc-sidebar-header h2 {
	margin: 0;
	font-size: .92rem;
	font-weight: 600;
	flex: 1;
	min-width: 0;
	letter-spacing: -.01em;
}

.wpnc-sidebar-header-actions {
	display: flex;
	align-items: center;
	gap: 4px;
	flex-shrink: 0;
}

.wpnc-icon-btn {
	width: 34px;
	height: 34px;
	border: none;
	background: transparent;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wpnc-text-muted);
	transition: background .12s, color .12s;
}

.wpnc-icon-btn:hover {
	background: var(--wpnc-bg);
	color: var(--wpnc-text);
}

#wpnc-chat-shell .wpnc-avatar,
#wpnc-float-wrap .wpnc-avatar,
#wpnc-full-modal .wpnc-avatar {
	overflow: hidden !important;
	position: relative;
}

#wpnc-chat-shell .wpnc-avatar img,
#wpnc-float-wrap .wpnc-avatar img,
#wpnc-full-modal .wpnc-avatar img {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	border-radius: 50%;
}

#wpnc-chat-shell .wpnc-avatar.is-fallback img,
#wpnc-float-wrap .wpnc-avatar.is-fallback img,
#wpnc-full-modal .wpnc-avatar.is-fallback img {
	display: none !important;
}

#wpnc-chat-shell .wpnc-avatar.is-fallback::after,
#wpnc-float-wrap .wpnc-avatar.is-fallback::after,
#wpnc-full-modal .wpnc-avatar.is-fallback::after {
	content: attr(data-initial);
	font-weight: 600;
	font-size: .82rem;
	color: var(--wpnc-primary-dark);
}

.wpnc-user-bar {
	padding: 8px 14px;
	display: flex;
	align-items: center;
	gap: 10px;
	border-bottom: 1px solid var(--wpnc-border);
	background: var(--wpnc-surface);
	color: var(--wpnc-text);
}

.wpnc-avatar {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	object-fit: cover;
	background: var(--wpnc-primary-light);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	color: var(--wpnc-primary-dark);
	font-size: .82rem;
	flex-shrink: 0;
}

.wpnc-avatar img {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	display: block;
	background: var(--wpnc-primary-light);
}

.wpnc-user-info { flex: 1; min-width: 0; }
.wpnc-user-info strong {
	display: block;
	font-size: .875rem;
	font-weight: 600;
	color: var(--wpnc-text);
}
.wpnc-user-info small {
	color: var(--wpnc-text-muted);
	font-size: .7rem;
	opacity: .85;
}

.wpnc-search {
	padding: 8px 12px;
}

.wpnc-search input {
	width: 100%;
	padding: 8px 12px 8px 34px;
	border: none;
	border-radius: 10px;
	background: var(--wpnc-input-bg);
	color: var(--wpnc-text);
	font-size: .84rem;
	outline: none;
	transition: background .12s;
}

.wpnc-search input:focus {
	background: var(--wpnc-input-focus-bg);
	box-shadow: inset 0 0 0 1px var(--wpnc-border);
}

.wpnc-search-wrap {
	position: relative;
}

.wpnc-search-wrap svg {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--wpnc-text-muted);
	pointer-events: none;
}

.wpnc-room-list-header {
	display: none;
}

.wpnc-room-list {
	flex: 1;
	overflow-y: auto;
	padding: 6px 8px 10px;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}

.wpnc-room-empty {
	padding: 28px 16px;
	text-align: center;
	color: var(--wpnc-text-muted);
	font-size: .875rem;
}

.wpnc-room-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 10px;
	border-radius: 10px;
	cursor: pointer;
	transition: background var(--wpnc-fast);
	margin-bottom: 2px;
	border: none;
	background: transparent;
	box-shadow: none;
	position: relative;
}

.wpnc-room-action {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: none;
	border-radius: 8px;
	background: transparent;
	color: var(--wpnc-text-muted);
	cursor: pointer;
	opacity: 0;
	transition: opacity var(--wpnc-fast), background var(--wpnc-fast), color var(--wpnc-fast);
}

.wpnc-room-item:hover .wpnc-room-action,
.wpnc-room-item:focus-within .wpnc-room-action {
	opacity: 1;
}

.wpnc-room-action:hover {
	background: rgba(239, 68, 68, .12);
	color: #ef4444;
}

.wpnc-conv-menu-wrap {
	position: relative;
	z-index: 40;
}

/* Default (light): dark text on white — never inherit header chrome white. */
.wpnc-conv-menu,
#wpnc-app .wpnc-chat-header .wpnc-conv-menu,
#wpnc-chat-shell .wpnc-chat-header .wpnc-conv-menu,
#wpnc-full-modal .wpnc-chat-header .wpnc-conv-menu,
.wpnc-inbox-frame .wpnc-chat-header .wpnc-conv-menu,
.wpnc-conv-menu.wpnc-conv-menu--portal {
	position: absolute;
	inset-inline-end: 0;
	top: calc(100% + 6px);
	min-width: 200px;
	background: #ffffff !important;
	color: #0f172a !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(15, 23, 42, .14);
	padding: 6px;
	z-index: 80;
	display: flex;
	flex-direction: column;
	gap: 2px;
	isolation: isolate;
}

.wpnc-conv-menu.wpnc-conv-menu--portal {
	position: fixed !important;
	inset: auto !important;
}

.wpnc-conv-menu.hidden {
	display: none !important;
}

.wpnc-conv-menu.is-open,
.wpnc-conv-menu.wpnc-conv-menu--portal.is-open,
body > .wpnc-conv-menu.is-open {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	position: fixed !important;
	z-index: 2147483646 !important;
}

.wpnc-conv-menu-item,
#wpnc-app .wpnc-chat-header .wpnc-conv-menu-item,
#wpnc-chat-shell .wpnc-chat-header .wpnc-conv-menu-item,
#wpnc-full-modal .wpnc-chat-header .wpnc-conv-menu-item,
.wpnc-inbox-frame .wpnc-chat-header .wpnc-conv-menu-item,
.wpnc-app .wpnc-conv-menu-item,
.wpnc-conv-menu--portal .wpnc-conv-menu-item {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	width: 100% !important;
	min-height: 40px !important;
	margin: 0 !important;
	border: none !important;
	background: transparent !important;
	text-align: start !important;
	padding: 10px 12px !important;
	border-radius: 8px !important;
	font: inherit !important;
	font-size: .875rem !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	color: #0f172a !important;
	-webkit-text-fill-color: #0f172a !important;
	cursor: pointer !important;
	box-shadow: none !important;
	opacity: 1 !important;
	white-space: nowrap !important;
}

.wpnc-conv-menu-item:hover,
#wpnc-app .wpnc-chat-header .wpnc-conv-menu-item:hover,
.wpnc-app .wpnc-conv-menu-item:hover,
.wpnc-conv-menu--portal .wpnc-conv-menu-item:hover {
	background: #f1f5f9 !important;
	color: #0f172a !important;
	-webkit-text-fill-color: #0f172a !important;
}

.wpnc-conv-menu-item.wpnc-conv-menu-danger,
#wpnc-app .wpnc-chat-header .wpnc-conv-menu-item.wpnc-conv-menu-danger,
.wpnc-app .wpnc-conv-menu-item.wpnc-conv-menu-danger,
.wpnc-conv-menu--portal .wpnc-conv-menu-item.wpnc-conv-menu-danger {
	color: #ef4444 !important;
	-webkit-text-fill-color: #ef4444 !important;
}

.wpnc-conv-menu-item.wpnc-conv-menu-danger:hover,
#wpnc-app .wpnc-chat-header .wpnc-conv-menu-item.wpnc-conv-menu-danger:hover,
.wpnc-app .wpnc-conv-menu-item.wpnc-conv-menu-danger:hover,
.wpnc-conv-menu--portal .wpnc-conv-menu-item.wpnc-conv-menu-danger:hover {
	background: rgba(239, 68, 68, .1) !important;
	color: #ef4444 !important;
	-webkit-text-fill-color: #ef4444 !important;
}

[data-wpnc-theme="dark"] .wpnc-conv-menu,
[data-wpnc-theme="dark"] #wpnc-app .wpnc-chat-header .wpnc-conv-menu,
[data-wpnc-theme="dark"] .wpnc-app .wpnc-conv-menu,
[data-wpnc-theme="dark"] .wpnc-conv-menu.wpnc-conv-menu--portal {
	background: #1c2733 !important;
	color: #e8edf2 !important;
	border-color: #2b3949 !important;
}

[data-wpnc-theme="dark"] .wpnc-conv-menu-item,
[data-wpnc-theme="dark"] #wpnc-app .wpnc-chat-header .wpnc-conv-menu-item,
[data-wpnc-theme="dark"] .wpnc-app .wpnc-conv-menu-item,
[data-wpnc-theme="dark"] .wpnc-conv-menu--portal .wpnc-conv-menu-item {
	color: #e8edf2 !important;
	-webkit-text-fill-color: #e8edf2 !important;
}

[data-wpnc-theme="dark"] .wpnc-conv-menu-item:hover,
[data-wpnc-theme="dark"] #wpnc-app .wpnc-chat-header .wpnc-conv-menu-item:hover,
[data-wpnc-theme="dark"] .wpnc-app .wpnc-conv-menu-item:hover,
[data-wpnc-theme="dark"] .wpnc-conv-menu--portal .wpnc-conv-menu-item:hover {
	background: #243041 !important;
	color: #e8edf2 !important;
	-webkit-text-fill-color: #e8edf2 !important;
}

[data-wpnc-theme="dark"] .wpnc-conv-menu-item.wpnc-conv-menu-danger,
[data-wpnc-theme="dark"] .wpnc-app .wpnc-conv-menu-item.wpnc-conv-menu-danger,
[data-wpnc-theme="dark"] .wpnc-conv-menu--portal .wpnc-conv-menu-item.wpnc-conv-menu-danger {
	color: #f87171 !important;
	-webkit-text-fill-color: #f87171 !important;
}

@media (prefers-color-scheme: dark) {
	[data-wpnc-theme="auto"] .wpnc-conv-menu,
	[data-wpnc-theme="auto"] #wpnc-app .wpnc-chat-header .wpnc-conv-menu,
	[data-wpnc-theme="auto"] .wpnc-conv-menu.wpnc-conv-menu--portal {
		background: #1c2733 !important;
		color: #e8edf2 !important;
		border-color: #2b3949 !important;
	}

	[data-wpnc-theme="auto"] .wpnc-conv-menu-item,
	[data-wpnc-theme="auto"] #wpnc-app .wpnc-chat-header .wpnc-conv-menu-item,
	[data-wpnc-theme="auto"] .wpnc-conv-menu--portal .wpnc-conv-menu-item {
		color: #e8edf2 !important;
		-webkit-text-fill-color: #e8edf2 !important;
	}

	[data-wpnc-theme="auto"] .wpnc-conv-menu-item.wpnc-conv-menu-danger,
	[data-wpnc-theme="auto"] .wpnc-conv-menu--portal .wpnc-conv-menu-item.wpnc-conv-menu-danger {
		color: #f87171 !important;
		-webkit-text-fill-color: #f87171 !important;
	}
}

.wpnc-room-item:hover {
	background: var(--wpnc-room-hover-bg);
	transform: none;
	box-shadow: none;
}

.wpnc-room-item.active {
	background: color-mix(in srgb, var(--wpnc-primary) 16%, var(--wpnc-surface));
	border: none;
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--wpnc-primary) 28%, transparent);
	border-right: 3px solid var(--wpnc-primary);
	color: var(--wpnc-text);
}

.wpnc-room-item.active .wpnc-room-meta-top strong,
.wpnc-room-item.active .wpnc-room-preview,
.wpnc-room-item.active .wpnc-room-time {
	color: var(--wpnc-text);
}

.wpnc-room-item.active .wpnc-room-preview {
	opacity: 0.85;
}

.wpnc-room-item.has-unread .wpnc-room-preview,
.wpnc-room-item.has-unread .wpnc-room-meta-top strong {
	color: var(--wpnc-primary);
	font-weight: 700;
}

.wpnc-room-item.has-unread {
	background: var(--wpnc-room-hover-bg);
}

.wpnc-room-item .wpnc-avatar {
	width: 36px;
	height: 36px;
	font-size: .8rem;
}

.wpnc-room-meta-end {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-shrink: 0;
}

.wpnc-room-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 999px;
	font-size: .68rem;
	font-weight: 700;
	background: var(--wpnc-primary-light);
	color: var(--wpnc-primary-dark);
}

.wpnc-room-meta { flex: 1; min-width: 0; }

.wpnc-room-meta-top {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 6px;
}

.wpnc-room-meta-top strong {
	font-size: .875rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.wpnc-room-meta-top time {
	font-size: .7rem;
	color: var(--wpnc-text-muted);
	flex-shrink: 0;
}

.wpnc-room-preview {
	font-size: .78rem;
	color: var(--wpnc-text-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	margin-top: 2px;
}

.wpnc-dept-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 8px 12px 10px;
	border-bottom: 1px solid var(--wpnc-border);
}

.wpnc-dept-filter {
	padding: 5px 12px;
	border-radius: 999px;
	border: 1px solid var(--wpnc-border);
	background: var(--wpnc-surface);
	color: var(--wpnc-muted);
	font-family: inherit;
	font-size: .74rem;
	font-weight: 700;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.wpnc-dept-filter:hover {
	border-color: var(--dept-color, var(--wpnc-primary));
	color: var(--wpnc-text);
}

.wpnc-dept-filter.is-active {
	background: color-mix(in srgb, var(--dept-color, var(--wpnc-primary)) 14%, transparent);
	border-color: color-mix(in srgb, var(--dept-color, var(--wpnc-primary)) 45%, var(--wpnc-border));
	color: var(--wpnc-text);
}

.wpnc-room-dept {
	display: inline-flex;
	align-items: center;
	padding: 2px 8px;
	border-radius: 999px;
	font-size: .65rem;
	font-weight: 700;
	background: color-mix(in srgb, var(--dept-color, var(--wpnc-primary)) 16%, transparent);
	color: var(--dept-color, var(--wpnc-primary));
	border: 1px solid color-mix(in srgb, var(--dept-color, var(--wpnc-primary)) 28%, transparent);
}

/* Gapistan Chat — Buttons (structural reset only; colors in _theme-guard / components) */

#wpnc-chat-shell .wpnc-app button.wpnc-icon-btn,
#wpnc-chat-shell .wpnc-chat-header button,
#wpnc-chat-shell .wpnc-chat-header--float button,
#wpnc-chat-shell .wpnc-composer-tools button,
#wpnc-chat-shell .wpnc-composer-row > button.wpnc-send-btn,
#wpnc-chat-shell .wpnc-composer .wpnc-reply-bar-close,
#wpnc-float-wrap .wpnc-chat-header button,
#wpnc-float-wrap .wpnc-chat-header--float button,
#wpnc-float-wrap .wpnc-composer-tools button,
#wpnc-float-wrap .wpnc-composer-row > button.wpnc-send-btn,
#wpnc-float-wrap .wpnc-composer .wpnc-reply-bar-close,
#wpnc-chat-shell .wpnc-float-close,
#wpnc-chat-shell .wpnc-msg-action,
#wpnc-full-modal button.wpnc-icon-btn,
#wpnc-full-modal .wpnc-full-modal-header button,
#wpnc-full-modal button.wpnc-float-close,
.wpnc-page-wrap .wpnc-chat-header button,
.wpnc-page-wrap .wpnc-composer-tools button,
.wpnc-page-wrap .wpnc-composer-row > button.wpnc-send-btn {
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	font: inherit !important;
	line-height: 1 !important;
	text-transform: none !important;
	box-shadow: none !important;
	background-image: none !important;
	letter-spacing: normal !important;
	float: none !important;
}

#wpnc-chat-shell .wpnc-app button.wpnc-icon-btn,
#wpnc-chat-shell .wpnc-composer button.wpnc-icon-btn,
#wpnc-float-wrap .wpnc-composer button.wpnc-icon-btn,
.wpnc-page-wrap .wpnc-composer button.wpnc-icon-btn {
	overflow: visible !important;
	background: transparent !important;
	color: var(--wpnc-text-muted) !important;
}

#wpnc-chat-shell .wpnc-app button.wpnc-send-btn,
#wpnc-chat-shell .wpnc-composer button.wpnc-send-btn,
#wpnc-float-wrap .wpnc-composer button.wpnc-send-btn,
#wpnc-float-wrap button.wpnc-float-btn,
.wpnc-page-wrap .wpnc-composer button.wpnc-send-btn {
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	font: inherit !important;
	line-height: 1 !important;
	overflow: visible !important;
	text-transform: none !important;
	box-shadow: none !important;
	background-image: none !important;
	float: none !important;
	position: relative !important;
}

#wpnc-float-wrap button.wpnc-float-btn {
	width: var(--wpnc-float-btn-size, 56px) !important;
	height: var(--wpnc-float-btn-size, 56px) !important;
	min-width: var(--wpnc-float-btn-size, 56px) !important;
	min-height: var(--wpnc-float-btn-size, 56px) !important;
	max-width: var(--wpnc-float-btn-size, 56px) !important;
	max-height: var(--wpnc-float-btn-size, 56px) !important;
}

#wpnc-chat-shell .wpnc-msg-menu-btn svg,
#wpnc-float-wrap .wpnc-msg-menu-btn svg,
#wpnc-full-modal .wpnc-msg-menu-btn svg,
.wpnc-app .wpnc-msg-menu-btn svg {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	flex-shrink: 0 !important;
	width: 14px !important;
	height: 14px !important;
	max-width: none !important;
	max-height: none !important;
	fill: currentColor !important;
	pointer-events: none !important;
}

#wpnc-chat-shell .wpnc-icon-btn svg,
#wpnc-chat-shell .wpnc-send-btn svg,
#wpnc-chat-shell .wpnc-float-close svg,
#wpnc-chat-shell .wpnc-gate-icon svg,
#wpnc-chat-shell .wpnc-gate-field-icon svg,
#wpnc-chat-shell .wpnc-gate-submit svg,
#wpnc-chat-shell .wpnc-msg-action svg,
#wpnc-chat-shell .wpnc-search-wrap svg,
#wpnc-float-wrap .wpnc-float-btn-icon svg,
#wpnc-float-wrap .wpnc-float-close svg,
#wpnc-float-wrap .wpnc-chat-header svg,
#wpnc-float-wrap .wpnc-composer svg,
#wpnc-full-modal .wpnc-icon-btn svg,
#wpnc-full-modal .wpnc-float-close svg {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	flex-shrink: 0 !important;
	width: 20px !important;
	height: 20px !important;
	max-width: none !important;
	max-height: none !important;
	pointer-events: none !important;
}

#wpnc-float-wrap .wpnc-float-btn-icon svg {
	width: calc(var(--wpnc-float-btn-size, 56px) * 0.5) !important;
	height: calc(var(--wpnc-float-btn-size, 56px) * 0.5) !important;
}

#wpnc-chat-shell svg[fill="none"],
#wpnc-float-wrap svg[fill="none"],
#wpnc-full-modal svg[fill="none"] {
	fill: none !important;
	stroke: currentColor !important;
}

#wpnc-chat-shell .wpnc-btn,
#wpnc-app .wpnc-btn,
.wpnc-page-wrap .wpnc-btn,
.wpnc-support-page-wrap .wpnc-btn,
.wpnc-inbox-frame .wpnc-btn {
	padding: 8px 18px;
	border-radius: var(--wpnc-radius-sm);
	border: none;
	cursor: pointer;
	font-size: .875rem;
	font-weight: 500;
}

#wpnc-chat-shell .wpnc-btn-primary,
#wpnc-app .wpnc-btn-primary,
.wpnc-page-wrap .wpnc-btn-primary,
.wpnc-support-page-wrap .wpnc-btn-primary,
.wpnc-inbox-frame .wpnc-btn-primary,
.wpnc-modal-overlay .wpnc-btn-primary {
	background: var(--wpnc-primary);
	color: #fff;
}

#wpnc-chat-shell .wpnc-btn-primary:hover,
#wpnc-app .wpnc-btn-primary:hover,
.wpnc-page-wrap .wpnc-btn-primary:hover,
.wpnc-support-page-wrap .wpnc-btn-primary:hover,
.wpnc-inbox-frame .wpnc-btn-primary:hover,
.wpnc-modal-overlay .wpnc-btn-primary:hover {
	background: var(--wpnc-primary-dark);
}

#wpnc-chat-shell .wpnc-btn-ghost,
#wpnc-app .wpnc-btn-ghost,
.wpnc-page-wrap .wpnc-btn-ghost,
.wpnc-support-page-wrap .wpnc-btn-ghost,
.wpnc-inbox-frame .wpnc-btn-ghost,
.wpnc-modal-overlay .wpnc-btn-ghost {
	background: var(--wpnc-bg);
	color: var(--wpnc-text);
	border: 1px solid var(--wpnc-border);
}

/* Gapistan Chat — Messages */

/* Main chat */
.wpnc-main {
	display: flex;
	flex-direction: column;
	background: var(--wpnc-surface);
	overflow: hidden;
	min-width: 0;
	width: 100%;
}

#wpnc-chat-area,
.wpnc-chat-area {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
	min-width: 0;
	width: 100%;
	overflow: hidden;
	height: 100%;
}

.wpnc-chat-header {
	padding: 10px 14px;
	border-bottom: 1px solid var(--wpnc-border);
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-shrink: 0;
	gap: 8px;
	min-height: 48px;
	background: var(--wpnc-chat-header-bg, var(--wpnc-float-header-bg, var(--wpnc-surface)));
	color: var(--wpnc-chat-header-text, var(--wpnc-text));
	position: relative;
	z-index: 6;
	overflow: visible;
}

.wpnc-chat-header h3 {
	margin: 0;
	font-size: .92rem;
	font-weight: 600;
	color: var(--wpnc-chat-header-text, var(--wpnc-text));
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	letter-spacing: -.01em;
}

.wpnc-chat-header-start,
.wpnc-chat-header-end {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.wpnc-chat-header-start {
	flex: 1;
}

.wpnc-chat-header-end {
	flex-shrink: 0;
	overflow: visible;
}

.wpnc-tabs {
	display: flex;
	gap: 2px;
}

.wpnc-tab {
	padding: 6px 10px;
	border: none;
	background: transparent;
	border-radius: 0;
	font-size: .78rem;
	cursor: pointer;
	color: var(--wpnc-text-muted);
	transition: color .12s;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
}

.wpnc-tab.active {
	background: transparent;
	color: var(--wpnc-primary);
	border-bottom-color: var(--wpnc-primary);
	font-weight: 600;
}

.wpnc-messages {
	flex: 1;
	overflow-y: auto;
	overflow-x: hidden;
	padding: 12px 14px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 6px;
	background: var(--wpnc-bg);
	background-image: var(--wpnc-bg-image, none);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 100%;
	min-width: 0;
	direction: ltr;
	-webkit-overflow-scrolling: touch;
	position: relative;
}

/* ── چیدمان استاندارد چت: ستون LTR + align-self (مشتری راست، پشتیبان چپ) ── */
#wpnc-chat-shell .wpnc-messages,
#wpnc-float-wrap .wpnc-messages,
#wpnc-full-modal .wpnc-messages,
.wpnc-app .wpnc-messages {
	direction: ltr !important;
	align-items: stretch !important;
}

#wpnc-chat-shell .wpnc-msg:not(.wpnc-msg-system),
#wpnc-float-wrap .wpnc-msg:not(.wpnc-msg-system),
#wpnc-full-modal .wpnc-msg:not(.wpnc-msg-system),
.wpnc-app .wpnc-messages > .wpnc-msg:not(.wpnc-msg-system) {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-end !important;
	gap: 8px !important;
	width: fit-content !important;
	max-width: min(78%, 360px) !important;
	flex-shrink: 0 !important;
	box-sizing: border-box !important;
	direction: ltr !important;
}

#wpnc-chat-shell .wpnc-msg-stack,
#wpnc-float-wrap .wpnc-msg-stack,
#wpnc-full-modal .wpnc-msg-stack,
.wpnc-app .wpnc-messages .wpnc-msg-stack {
	width: auto !important;
	max-width: 100% !important;
	flex: 0 0 auto !important;
	flex-shrink: 0 !important;
	min-width: auto !important;
}

#wpnc-chat-shell .wpnc-bubble,
#wpnc-float-wrap .wpnc-bubble,
#wpnc-full-modal .wpnc-bubble,
.wpnc-app .wpnc-messages .wpnc-bubble {
	width: auto !important;
	max-width: 100% !important;
	min-width: 0;
}

#wpnc-chat-shell .wpnc-msg.mine,
#wpnc-float-wrap .wpnc-msg.mine,
#wpnc-full-modal .wpnc-msg.mine,
.wpnc-app .wpnc-messages > .wpnc-msg.mine {
	align-self: flex-end !important;
	margin-left: auto !important;
	margin-right: 0 !important;
}

#wpnc-chat-shell .wpnc-msg.other,
#wpnc-float-wrap .wpnc-msg.other,
#wpnc-full-modal .wpnc-msg.other,
.wpnc-app .wpnc-messages > .wpnc-msg.other {
	align-self: flex-start !important;
	margin-right: auto !important;
	margin-left: 0 !important;
}

#wpnc-chat-shell .wpnc-msg.mine > .wpnc-avatar,
#wpnc-float-wrap .wpnc-msg.mine > .wpnc-avatar,
#wpnc-full-modal .wpnc-msg.mine > .wpnc-avatar,
.wpnc-app .wpnc-messages > .wpnc-msg.mine > .wpnc-avatar,
.wpnc-page-wrap .wpnc-msg.mine > .wpnc-avatar,
.wpnc-support-page-wrap .wpnc-msg.mine > .wpnc-avatar,
.wpnc-page-wrap .wpnc-msg.mine .wpnc-avatar,
.wpnc-support-page-wrap .wpnc-msg.mine .wpnc-avatar {
	display: none !important;
}

#wpnc-chat-shell .wpnc-msg-stack,
#wpnc-float-wrap .wpnc-msg-stack,
#wpnc-full-modal .wpnc-msg-stack,
.wpnc-app .wpnc-messages .wpnc-msg-stack,
#wpnc-chat-shell .wpnc-bubble,
#wpnc-float-wrap .wpnc-bubble,
#wpnc-full-modal .wpnc-bubble,
.wpnc-app .wpnc-messages .wpnc-bubble {
	direction: rtl;
	unicode-bidi: plaintext;
}

#wpnc-chat-shell .wpnc-msg.other > .wpnc-avatar,
#wpnc-float-wrap .wpnc-msg.other > .wpnc-avatar,
#wpnc-full-modal .wpnc-msg.other > .wpnc-avatar,
.wpnc-app .wpnc-messages > .wpnc-msg.other > .wpnc-avatar {
	flex-shrink: 0;
}

#wpnc-chat-shell .wpnc-msg-system,
#wpnc-float-wrap .wpnc-msg-system,
#wpnc-full-modal .wpnc-msg-system,
.wpnc-app .wpnc-messages > .wpnc-msg-system,
.wpnc-page-wrap .wpnc-msg-system,
.wpnc-support-page-wrap .wpnc-msg-system {
	display: flex !important;
	align-self: center !important;
	width: auto !important;
	max-width: 92% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	justify-content: center;
}

.wpnc-room-desc-pin {
	align-self: center;
	width: 100%;
	max-width: min(100%, 420px);
	margin: 0 auto 10px;
	padding: 10px 12px;
	border-radius: 12px;
	border: 1px solid color-mix(in srgb, var(--wpnc-primary) 24%, var(--wpnc-border));
	background: color-mix(in srgb, var(--wpnc-primary) 7%, var(--wpnc-surface));
	box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
	direction: rtl;
	text-align: right;
	flex-shrink: 0;
}

.wpnc-room-desc-pin-body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.wpnc-room-desc-pin-title {
	font-size: .78rem;
	font-weight: 600;
	color: var(--wpnc-primary-dark, var(--wpnc-primary));
	line-height: 1.35;
}

.wpnc-room-desc-pin-text {
	margin: 0;
	font-size: .82rem;
	color: var(--wpnc-text);
	line-height: 1.5;
	white-space: pre-wrap;
	word-break: break-word;
}

.wpnc-empty-state {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wpnc-text-muted);
	font-size: .9rem;
	text-align: center;
	padding: 16px;
}

.wpnc-msg .wpnc-avatar {
	width: 28px;
	height: 28px;
	font-size: .65rem;
	flex-shrink: 0;
}

.wpnc-msg-stack {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: auto;
	max-width: 100%;
	flex: 0 0 auto;
	flex-shrink: 0;
}

.wpnc-bubble-row {
	display: flex;
	align-items: flex-start;
	gap: 4px;
	width: auto;
	max-width: 100%;
	flex-shrink: 0;
}

.wpnc-msg.mine .wpnc-bubble-row {
	flex-direction: row-reverse;
}

.wpnc-bubble-wrap {
	position: relative;
	display: block;
	width: auto;
	max-width: 100%;
	flex: 0 1 auto;
	min-width: 0;
	flex-shrink: 0;
}

.wpnc-msg-menu-wrap {
	position: relative;
	flex: 0 0 auto;
	align-self: center;
	margin: 0;
	opacity: 0.82;
	pointer-events: auto;
	transition: opacity .15s ease;
	z-index: 5;
}

.wpnc-bubble-header .wpnc-msg-menu-wrap,
.wpnc-bubble-footer .wpnc-msg-menu-wrap {
	align-self: center;
	margin-inline-start: auto;
	margin-top: 0;
	flex-shrink: 0;
}

.wpnc-msg:hover .wpnc-msg-menu-wrap,
.wpnc-msg-menu-wrap.is-open,
.wpnc-msg-menu-wrap:focus-within {
	opacity: 1;
	z-index: 40;
}

.wpnc-msg-menu-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	min-width: 22px;
	min-height: 22px;
	padding: 0;
	border: none;
	border-radius: 6px;
	background: transparent;
	color: var(--wpnc-text-muted);
	cursor: pointer;
	transition: background .12s, color .12s;
	flex-shrink: 0;
	opacity: 1;
	visibility: visible;
}

.wpnc-msg-menu-btn svg {
	display: block !important;
	width: 14px !important;
	height: 14px !important;
	flex-shrink: 0;
	opacity: 1 !important;
	visibility: visible !important;
	fill: currentColor !important;
	color: inherit !important;
	pointer-events: none;
}

.wpnc-msg-menu-btn:hover,
.wpnc-msg-menu-wrap.is-open .wpnc-msg-menu-btn {
	background: color-mix(in srgb, var(--wpnc-primary) 12%, transparent);
	color: var(--wpnc-primary-dark);
}

.wpnc-msg-menu {
	position: absolute;
	top: calc(100% + 6px);
	inset-inline-end: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
	width: max-content;
	min-width: 0;
	max-width: none;
	background: var(--wpnc-surface);
	border: 1px solid var(--wpnc-border);
	border-radius: 10px;
	box-shadow: 0 8px 24px rgba(15, 23, 42, .18);
	padding: 4px;
	z-index: 60;
	box-sizing: border-box;
}

#wpnc-msg-menu-portal.wpnc-msg-menu--portal:not(.hidden),
.wpnc-msg-menu.is-fixed:not(.hidden),
.wpnc-msg-menu.wpnc-msg-menu--portal:not(.hidden),
body > .wpnc-msg-menu:not(.hidden) {
	position: fixed !important;
	inset-inline-start: auto !important;
	inset-inline-end: auto !important;
	bottom: auto !important;
	transform: none !important;
	z-index: 2147483646 !important;
	width: max-content !important;
	min-width: 0 !important;
	max-width: none !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
	padding: 4px !important;
	margin: 0 !important;
	background: var(--wpnc-surface, #1c2733) !important;
	border: 1px solid var(--wpnc-border, rgba(255,255,255,.15)) !important;
	border-radius: 10px !important;
	box-shadow: 0 8px 28px rgba(0, 0, 0, .35) !important;
	box-sizing: border-box !important;
	pointer-events: auto !important;
	visibility: visible !important;
	opacity: 1 !important;
}

#wpnc-msg-menu-portal.hidden,
body > .wpnc-msg-menu.hidden,
.wpnc-msg-menu.wpnc-msg-menu--portal.hidden,
.wpnc-msg-menu.hidden {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
	opacity: 0 !important;
}

.wpnc-msg-menu.is-drop-up {
	top: auto;
	bottom: calc(100% + 4px);
}

.wpnc-msg-menu.is-fixed.is-drop-up {
	top: auto;
	bottom: auto;
}

.wpnc-msg-menu.hidden {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.wpnc-msg-menu-item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: none;
	background: transparent;
	padding: 0;
	border-radius: 6px;
	color: var(--wpnc-text-muted);
	cursor: pointer;
	flex-shrink: 0;
	transition: background .12s, color .12s;
}

.wpnc-msg-menu-item svg {
	display: block;
	flex-shrink: 0;
}

.wpnc-msg-menu-item:hover {
	background: var(--wpnc-room-hover-bg);
	color: var(--wpnc-text);
}

.wpnc-msg-menu-item.wpnc-msg-menu-danger {
	color: #ef4444;
}

.wpnc-msg-menu-item.wpnc-msg-menu-danger:hover {
	background: rgba(239, 68, 68, .08);
}

.wpnc-reply-quote {
	display: block;
	width: 100%;
	margin: 0 0 6px;
	padding: 6px 8px 6px 10px;
	border: none;
	border-radius: 8px;
	background: color-mix(in srgb, var(--wpnc-primary) 10%, transparent);
	border-inline-start: 3px solid var(--wpnc-primary);
	text-align: inherit;
	cursor: pointer;
	font: inherit;
	color: inherit;
}

.wpnc-reply-quote-name {
	display: block;
	font-size: .72rem;
	font-weight: 600;
	color: var(--wpnc-primary);
	margin-bottom: 2px;
}

.wpnc-reply-quote-text {
	display: block;
	font-size: .78rem;
	color: var(--wpnc-text-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.wpnc-reactions {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-top: 4px;
}

.wpnc-reaction {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 2px 8px;
	border-radius: 999px;
	border: 1px solid var(--wpnc-border);
	background: var(--wpnc-surface);
	font-size: .78rem;
	cursor: pointer;
	line-height: 1.4;
	transition: border-color .12s, background .12s;
}

.wpnc-reaction.is-mine {
	border-color: color-mix(in srgb, var(--wpnc-primary) 45%, var(--wpnc-border));
	background: color-mix(in srgb, var(--wpnc-primary) 12%, var(--wpnc-surface));
}

.wpnc-reaction-count {
	font-size: .68rem;
	color: var(--wpnc-text-muted);
	font-weight: 600;
}

.wpnc-reaction.is-mine .wpnc-reaction-count {
	color: var(--wpnc-primary);
}

.wpnc-msg-highlight .wpnc-bubble {
	outline: 2px solid color-mix(in srgb, var(--wpnc-primary) 50%, transparent);
	outline-offset: 2px;
}

.wpnc-reply-bar {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 12px;
	border-bottom: 1px solid var(--wpnc-border);
	background: color-mix(in srgb, var(--wpnc-primary) 6%, var(--wpnc-composer-bg));
}

.wpnc-reply-bar.hidden {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
}

.wpnc-reply-bar-accent {
	width: 3px;
	align-self: stretch;
	border-radius: 999px;
	background: var(--wpnc-primary);
	flex-shrink: 0;
}

.wpnc-reply-bar-body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.wpnc-reply-bar-body strong {
	font-size: .78rem;
	color: var(--wpnc-primary);
}

.wpnc-reply-bar-body span {
	font-size: .78rem;
	color: var(--wpnc-text-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.wpnc-reply-bar-close {
	flex-shrink: 0;
}

.wpnc-quick-reactions {
	position: fixed;
	z-index: var(--wpnc-z-overlay);
	display: flex;
	gap: 4px;
	padding: 6px 8px;
	border-radius: 999px;
	background: var(--wpnc-surface);
	border: 1px solid var(--wpnc-border);
	box-shadow: 0 4px 16px rgba(0, 0, 0, .12);
}

.wpnc-quick-reactions button {
	width: 34px;
	height: 34px;
	border: none;
	border-radius: 50%;
	background: transparent;
	font-size: 1.15rem;
	cursor: pointer;
	line-height: 1;
	transition: background .12s, transform .12s;
}

.wpnc-quick-reactions button:hover {
	background: color-mix(in srgb, var(--wpnc-primary) 12%, transparent);
	transform: scale(1.08);
}

.wpnc-reaction-picker-inline {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-top: 6px;
	padding: 6px 8px;
	border-radius: 999px;
	background: var(--wpnc-surface);
	border: 1px solid var(--wpnc-border);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
	animation: wpnc-reaction-in .15s ease;
}

@keyframes wpnc-reaction-in {
	from { opacity: 0; transform: translateY(4px); }
	to { opacity: 1; transform: translateY(0); }
}

.wpnc-reaction-pick {
	width: 34px;
	height: 34px;
	border: none;
	border-radius: 50%;
	background: transparent;
	font-size: 1.15rem;
	line-height: 1;
	cursor: pointer;
	transition: background .12s, transform .12s;
}

.wpnc-reaction-pick:hover {
	background: color-mix(in srgb, var(--wpnc-primary) 14%, transparent);
	transform: scale(1.1);
}


.wpnc-bubble {
	flex: 0 1 auto;
	width: auto;
	max-width: 100%;
	min-width: 0;
	padding: 8px 12px;
	border-radius: 16px;
	font-size: .875rem;
	line-height: 1.5;
	overflow-wrap: anywhere;
	word-break: normal;
	hyphens: auto;
	font-family: var(--wpnc-font), var(--wpnc-font-emoji);
	font-variant-emoji: emoji;
}

/* Outer tails (away from each other): other/left → bottom-left, mine/right → bottom-right */
.wpnc-msg.other .wpnc-bubble {
	background: var(--wpnc-bubble-other);
	color: var(--wpnc-bubble-other-text);
	border: 1px solid color-mix(in srgb, var(--wpnc-border) 85%, transparent);
	box-shadow: var(--wpnc-shadow);
	border-radius: 16px 16px 16px 4px !important;
}

.wpnc-msg.mine .wpnc-bubble {
	background: var(--wpnc-bubble-mine);
	border: 1px solid var(--wpnc-bubble-mine-border, transparent);
	color: var(--wpnc-bubble-mine-text, var(--wpnc-on-primary, #0f172a));
	box-shadow: none;
	border-radius: 16px 16px 4px 16px !important;
}

#wpnc-chat-shell .wpnc-msg.other .wpnc-bubble,
#wpnc-float-wrap .wpnc-msg.other .wpnc-bubble,
#wpnc-full-modal .wpnc-msg.other .wpnc-bubble,
#wpnc-app .wpnc-msg.other .wpnc-bubble,
.wpnc-app .wpnc-msg.other .wpnc-bubble {
	border-radius: 16px 16px 16px 4px !important;
}

#wpnc-chat-shell .wpnc-msg.mine .wpnc-bubble,
#wpnc-float-wrap .wpnc-msg.mine .wpnc-bubble,
#wpnc-full-modal .wpnc-msg.mine .wpnc-bubble,
#wpnc-app .wpnc-msg.mine .wpnc-bubble,
.wpnc-app .wpnc-msg.mine .wpnc-bubble {
	border-radius: 16px 16px 4px 16px !important;
}

.wpnc-msg.mine .wpnc-bubble-footer .wpnc-bubble-meta,
.wpnc-msg.mine .wpnc-bubble-meta {
	color: color-mix(in srgb, var(--wpnc-bubble-mine-text, var(--wpnc-on-primary, #0f172a)) 72%, transparent);
	opacity: 1;
}

.wpnc-mode-admin .wpnc-msg.other .wpnc-bubble {
	border-color: var(--wpnc-border);
	box-shadow: 0 1px 3px rgba(15, 23, 42, .08);
}

.wpnc-mode-admin .wpnc-msg.mine .wpnc-bubble {
	border-color: color-mix(in srgb, var(--wpnc-primary) 30%, var(--wpnc-border));
	box-shadow: 0 1px 4px color-mix(in srgb, var(--wpnc-primary) 14%, transparent);
}

.wpnc-bubble-header {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 6px;
	margin-bottom: 2px;
	font-size: .68rem;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
}

.wpnc-bubble-header strong {
	color: var(--wpnc-primary);
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
}

/* Dark theme: lighten role labels so they don't disappear on dark bubbles. */
[data-wpnc-theme="dark"] .wpnc-bubble-header strong,
[data-wpnc-theme="auto"] .wpnc-bubble-header strong {
	color: color-mix(in srgb, var(--wpnc-primary) 42%, #ffffff);
}

@media (prefers-color-scheme: dark) {
	[data-wpnc-theme="auto"] .wpnc-bubble-header strong {
		color: color-mix(in srgb, var(--wpnc-primary) 42%, #ffffff);
	}
}

.wpnc-msg.mine .wpnc-bubble-header strong {
	display: none;
}

.wpnc-bubble-meta {
	display: block;
	text-align: left;
	font-size: .62rem;
	color: var(--wpnc-text-muted);
	margin-top: 0;
	opacity: .7;
}

.wpnc-bubble-footer {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
	margin-top: 3px;
	min-width: 0;
}

.wpnc-bubble-footer .wpnc-bubble-meta {
	margin-top: 0;
	flex: 1 1 auto;
	min-width: 0;
	text-align: left;
}

.wpnc-bubble-header time {
	color: var(--wpnc-text-muted);
	white-space: nowrap;
	font-size: .65rem;
	opacity: .85;
	flex: 0 0 auto;
}

.wpnc-voice-message {
	position: relative;
	min-width: min(120px, 100%);
	max-width: 100%;
}

.wpnc-voice-placeholder {
	font-size: .875rem;
	color: var(--wpnc-text-muted);
	padding: 4px 0;
}

/* Voice player — same look as landplug landing (🎤 + stripe wave + time) */
.wpnc-voice-bubble {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 120px;
}

.wpnc-voice-control {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 120px;
	padding: 0;
	margin: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	font: inherit;
	color: inherit;
	text-align: inherit;
	line-height: 1.4;
}

.wpnc-voice-control:focus-visible {
	outline: 2px solid color-mix(in srgb, var(--wpnc-primary) 55%, transparent);
	outline-offset: 2px;
	border-radius: 6px;
}

.wpnc-voice-mic {
	font-size: 1rem;
	line-height: 1;
	flex-shrink: 0;
}

.wpnc-voice-wave {
	display: inline-block;
	width: 60px;
	height: 16px;
	background: repeating-linear-gradient(90deg, var(--wpnc-primary) 0 2px, transparent 2px 4px);
	opacity: 0.6;
	border-radius: 2px;
	flex-shrink: 0;
}

.wpnc-msg.mine .wpnc-voice-wave {
	background: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.92) 0 2px, transparent 2px 4px);
	opacity: 0.75;
}

.wpnc-voice-bubble.is-playing .wpnc-voice-wave {
	opacity: 1;
	animation: wpncVoiceWaveMove 0.55s linear infinite;
}

@keyframes wpncVoiceWaveMove {
	from { background-position: 0 0; }
	to { background-position: 8px 0; }
}

.wpnc-voice-duration {
	font-size: inherit;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	opacity: 0.9;
	min-width: 2.2em;
	direction: ltr;
	text-align: left;
}

.wpnc-voice-audio {
	position: absolute;
	width: 0;
	height: 0;
	opacity: 0;
	pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
	.wpnc-voice-bubble.is-playing .wpnc-voice-wave {
		animation: none;
		opacity: 1;
	}
}

.wpnc-bubble .wpnc-file-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--wpnc-primary-dark);
	text-decoration: none;
	font-weight: 500;
}

.wpnc-bubble .wpnc-file-link:hover { text-decoration: underline; }

.wpnc-bubble img.wpnc-img-attach {
	max-width: min(100%, 280px);
	width: 100%;
	height: auto;
	max-height: 280px;
	object-fit: cover;
	border-radius: 10px;
	margin: 0;
	display: block;
}

.wpnc-bubble.is-media {
	padding: 4px;
	overflow: hidden;
}

.wpnc-bubble.is-media .wpnc-bubble-header,
.wpnc-bubble.is-media .wpnc-bubble-meta {
	padding: 2px 8px 0;
}

.wpnc-bubble.is-media .wpnc-reply-quote {
	margin: 4px 4px 6px;
	width: calc(100% - 8px);
}

.wpnc-media-message {
	display: flex;
	flex-direction: column;
	gap: 0;
	min-width: 0;
}

.wpnc-media-link {
	display: block;
	line-height: 0;
	border-radius: 10px;
	overflow: hidden;
}

.wpnc-media-caption {
	padding: 8px 10px 4px;
	font-size: .875rem;
	line-height: 1.5;
	white-space: pre-wrap;
	word-break: break-word;
}

.wpnc-attach-preview {
	padding: 8px 12px 0;
}

.wpnc-attach-preview.hidden {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
}

.wpnc-attach-preview-inner {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	border-radius: 12px;
	background: color-mix(in srgb, var(--wpnc-primary) 8%, var(--wpnc-composer-bg));
	border: 1px solid var(--wpnc-border);
}

.wpnc-attach-preview-thumb {
	width: 52px;
	height: 52px;
	object-fit: cover;
	border-radius: 8px;
	flex-shrink: 0;
}

.wpnc-attach-preview-meta {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.wpnc-attach-preview-meta strong {
	font-size: .78rem;
	color: var(--wpnc-primary);
}

.wpnc-attach-preview-meta span {
	font-size: .72rem;
	color: var(--wpnc-text-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.wpnc-attach-preview-remove {
	flex-shrink: 0;
}

.wpnc-typing {
	padding: 0 20px 6px;
	font-size: .78rem;
	color: var(--wpnc-text-muted);
	font-style: italic;
	min-height: 20px;
}

.wpnc-msg.is-pending {
	opacity: .72;
}

.wpnc-msg.is-pending .wpnc-bubble {
	position: relative;
}

/* Soft pop-in when a message is sent or received */
@keyframes wpnc-msg-enter-mine {
	from {
		opacity: 0;
		transform: translate3d(0, 14px, 0) scale(.96);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0) scale(1);
	}
}

@keyframes wpnc-msg-enter-other {
	from {
		opacity: 0;
		transform: translate3d(0, 14px, 0) scale(.96);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0) scale(1);
	}
}

@keyframes wpnc-msg-enter-system {
	from {
		opacity: 0;
		transform: translate3d(0, 8px, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@keyframes wpnc-bubble-soft {
	from {
		box-shadow: 0 0 0 rgba(16, 185, 129, 0);
	}
	40% {
		box-shadow: 0 6px 18px rgba(16, 185, 129, .18);
	}
	to {
		box-shadow: none;
	}
}

.wpnc-msg.wpnc-msg-enter {
	animation: wpnc-msg-enter-other .32s cubic-bezier(.22, 1, .36, 1) both;
	will-change: transform, opacity;
}

.wpnc-msg.mine.wpnc-msg-enter {
	animation-name: wpnc-msg-enter-mine;
}

.wpnc-msg.wpnc-msg-system.wpnc-msg-enter {
	animation-name: wpnc-msg-enter-system;
	animation-duration: .28s;
}

.wpnc-msg.wpnc-msg-enter .wpnc-bubble {
	animation: wpnc-bubble-soft .34s cubic-bezier(.22, 1, .36, 1) both;
}

@media (prefers-reduced-motion: reduce) {
	.wpnc-msg.wpnc-msg-enter,
	.wpnc-msg.wpnc-msg-enter .wpnc-bubble {
		animation: none !important;
	}
}

.wpnc-chat-header {
	background: var(--wpnc-chat-header-bg, var(--wpnc-float-header-bg, var(--wpnc-surface)));
	color: var(--wpnc-chat-header-text, var(--wpnc-text));
}

.wpnc-msg-action-danger:hover {
	color: #dc2626;
}

/* Gapistan Chat — Composer */

.wpnc-composer {
	padding: 8px 12px;
	padding-bottom: max(8px, env(safe-area-inset-bottom, 0px));
	border-top: 1px solid var(--wpnc-border);
	flex-shrink: 0;
	background: var(--wpnc-composer-bg);
	position: relative;
	z-index: 4;
}

.wpnc-composer-row {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	min-width: 0;
}

.wpnc-composer-tools {
	display: flex;
	align-items: center;
	gap: 2px;
	flex-shrink: 0;
}

.wpnc-composer-input-wrap {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 0;
	max-height: 120px;
	align-self: center;
	overflow: hidden;
}

.wpnc-composer textarea,
#wpnc-input {
	width: 100%;
	min-width: 0;
	height: 40px;
	min-height: 40px;
	max-height: 120px;
	padding: 9px 14px;
	border: none;
	border-radius: 20px;
	resize: none;
	overflow-y: auto;
	font-family: inherit;
	font-size: .875rem;
	line-height: 1.45;
	outline: none;
	transition: background .12s;
	box-sizing: border-box;
	background: var(--wpnc-input-bg);
	color: var(--wpnc-text);
	display: block;
}

.wpnc-composer textarea:focus {
	background: var(--wpnc-input-focus-bg);
	box-shadow: inset 0 0 0 1px var(--wpnc-border);
}

.wpnc-send-btn {
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	border: none;
	background: var(--wpnc-primary);
	color: #fff;
	border-radius: 50%;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: opacity var(--wpnc-fast), transform .08s ease;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
	position: relative;
	z-index: 30;
	/* Expand hit target without shifting layout (mobile soft-keyboard taps). */
	isolation: isolate;
	user-select: none;
	-webkit-user-select: none;
}

.wpnc-send-btn::before {
	content: '';
	position: absolute;
	inset: -14px;
	border-radius: 50%;
	pointer-events: auto;
}

.wpnc-send-btn svg {
	pointer-events: none;
	position: relative;
	z-index: 1;
}

.wpnc-send-btn:hover { background: var(--wpnc-primary-dark); }
.wpnc-send-btn:active { transform: scale(.94); }
.wpnc-send-btn:disabled { opacity: .5; cursor: not-allowed; }

.wpnc-recording .wpnc-icon-btn {
	color: #ef4444;
	animation: wpnc-pulse 1s infinite;
}

@keyframes wpnc-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: .5; }
}

.wpnc-composer textarea {
	color: var(--wpnc-text);
}

/* Gapistan Chat — Files */

.wpnc-files-panel {
	background: var(--wpnc-surface);
	border-right: 1px solid var(--wpnc-border);
	overflow-y: auto;
	padding: 16px;
}

.wpnc-files-panel h4 {
	margin: 0 0 14px;
	font-size: .95rem;
}

.wpnc-room-cover {
	width: 100%;
	height: 96px;
	border-radius: var(--wpnc-radius-sm);
	background: var(--wpnc-primary-light);
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.75rem;
}

.wpnc-room-info h5 {
	margin: 0 0 4px;
	font-size: .95rem;
}

.wpnc-room-info p {
	margin: 0 0 14px;
	font-size: .8rem;
	color: var(--wpnc-text-muted);
}

.wpnc-stat-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin-bottom: 16px;
}

.wpnc-mini-stat {
	background: var(--wpnc-bg);
	border-radius: var(--wpnc-radius-sm);
	padding: 10px;
	text-align: center;
}

.wpnc-mini-stat strong {
	display: block;
	font-size: 1.1rem;
	color: var(--wpnc-primary-dark);
}

.wpnc-mini-stat span {
	font-size: .7rem;
	color: var(--wpnc-text-muted);
}

.wpnc-cat-list { list-style: none; margin: 0; padding: 0; }

.wpnc-cat-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 0;
	border-bottom: 1px solid var(--wpnc-border);
	font-size: .82rem;
	cursor: pointer;
}

.wpnc-cat-item:hover { color: var(--wpnc-primary-dark); }

.wpnc-cat-item span:last-child {
	color: var(--wpnc-text-muted);
	font-size: .75rem;
}

/* Participants view */
.wpnc-participants-list {
	padding: 16px 20px;
	overflow-y: auto;
}

.wpnc-participant-row {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid var(--wpnc-border);
}

.wpnc-files-panel {
	background: var(--wpnc-surface);
	color: var(--wpnc-text);
}

/* Gapistan Chat — Modal Overlay */

/* Modal */
.wpnc-modal-overlay {
	position: fixed;
	inset: 0;
	background: var(--wpnc-modal-backdrop, rgba(15, 23, 42, .45));
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: var(--wpnc-z-overlay, 2147483647);
	padding: 20px;
	font-family: var(--wpnc-font, 'Vazir', Tahoma, system-ui, sans-serif);
	color: var(--wpnc-text, #1a1d21);
	isolation: isolate;
}

/* Dialog inside overlay — must not use .wpnc-modal (conflicts with admin.css full-screen modal) */
.wpnc-modal-overlay > .wpnc-overlay-panel {
	position: relative;
	inset: auto;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	width: 100%;
	max-width: 420px;
	margin: 0;
	padding: 24px;
	background: var(--wpnc-surface);
	border-radius: var(--wpnc-radius);
	box-shadow: 0 20px 60px rgba(0,0,0,.2);
	backdrop-filter: none;
	animation: wpncOverlayIn .2s ease;
}

.wpnc-overlay-panel h3 { margin: 0 0 16px; }

.wpnc-overlay-panel input[type="text"] {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid var(--wpnc-border);
	border-radius: var(--wpnc-radius-sm);
	margin-bottom: 12px;
	font-size: .9rem;
}

.wpnc-overlay-panel .wpnc-modal-actions {
	display: flex;
	gap: 8px;
	justify-content: flex-end;
	margin-top: 8px;
}

@keyframes wpncOverlayIn {
	from { opacity: 0; transform: translateY(10px) scale(.98); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

/* Transfer modal — pro */
.wpnc-transfer-overlay { backdrop-filter: blur(4px); }
.wpnc-transfer-modal--pro {
	width: min(100%, 480px);
	max-width: 480px;
	padding: 0;
	overflow: hidden;
	border-radius: 16px;
}
.wpnc-transfer-head {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: flex-start;
	gap: 12px;
	padding: 20px 20px 14px;
	border-bottom: 1px solid var(--wpnc-border);
}
.wpnc-transfer-icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: linear-gradient(135deg, var(--wpnc-primary), var(--wpnc-primary-dark));
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.wpnc-transfer-head h3 { margin: 0 0 4px; font-size: 1.05rem; font-weight: 800; }
.wpnc-transfer-desc {
	margin: 0;
	font-size: .84rem;
	color: var(--wpnc-muted);
	word-break: break-word;
}
.wpnc-transfer-close {
	margin: 0;
	flex-shrink: 0;
}
.wpnc-transfer-body {
	padding: 18px 20px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.wpnc-transfer-section {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.wpnc-transfer-section-label {
	display: block;
	font-size: .72rem;
	font-weight: 800;
	color: var(--wpnc-muted);
	text-transform: uppercase;
	letter-spacing: .04em;
}
.wpnc-transfer-dept-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.wpnc-transfer-dept-pill {
	padding: 9px 16px;
	border-radius: 999px;
	border: 1px solid var(--wpnc-border);
	background: var(--wpnc-surface);
	font-family: inherit;
	font-size: .82rem;
	font-weight: 700;
	cursor: pointer;
	transition: .15s ease;
	white-space: nowrap;
}
.wpnc-transfer-dept-pill:hover {
	border-color: color-mix(in srgb, var(--dept-color, var(--wpnc-primary)) 35%, var(--wpnc-border));
}
.wpnc-transfer-dept-pill.is-active {
	border-color: var(--dept-color, var(--wpnc-primary));
	background: color-mix(in srgb, var(--dept-color, var(--wpnc-primary)) 12%, transparent);
	color: var(--dept-color, var(--wpnc-primary));
}
.wpnc-transfer-op-grid {
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-height: 240px;
	overflow-y: auto;
	padding: 2px 2px 2px 4px;
	scrollbar-width: thin;
	scrollbar-color: color-mix(in srgb, var(--wpnc-text-muted) 50%, transparent) transparent;
}
.wpnc-transfer-op-grid::-webkit-scrollbar {
	width: 6px;
}
.wpnc-transfer-op-grid::-webkit-scrollbar-track {
	background: transparent;
}
.wpnc-transfer-op-grid::-webkit-scrollbar-thumb {
	background: color-mix(in srgb, var(--wpnc-text-muted) 50%, transparent);
	border-radius: 999px;
}
.wpnc-transfer-pick {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--wpnc-border);
	border-radius: 12px;
	background: var(--wpnc-surface);
	font-family: inherit;
	text-align: right;
	cursor: pointer;
	transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.wpnc-transfer-pick:hover {
	border-color: color-mix(in srgb, var(--wpnc-primary) 35%, var(--wpnc-border));
	background: color-mix(in srgb, var(--wpnc-primary) 6%, var(--wpnc-surface));
}
.wpnc-transfer-pick.is-selected {
	border-color: var(--wpnc-primary);
	background: color-mix(in srgb, var(--wpnc-primary) 12%, var(--wpnc-surface));
	box-shadow: 0 0 0 1px var(--wpnc-primary);
}
.wpnc-transfer-pick-main {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	min-width: 0;
	flex: 1;
}
.wpnc-transfer-pick-name {
	font-size: .88rem;
	font-weight: 700;
	color: var(--wpnc-text);
	line-height: 1.35;
}
.wpnc-transfer-pick-role,
.wpnc-transfer-pick-hint {
	font-size: .74rem;
	color: var(--wpnc-muted);
	line-height: 1.3;
}
.wpnc-transfer-pick--unassigned .wpnc-transfer-pick-name {
	font-weight: 600;
	color: var(--wpnc-muted);
}
.wpnc-transfer-op-dept {
	flex-shrink: 0;
	font-size: .7rem;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--wpnc-text-muted) 14%, var(--wpnc-surface));
	color: var(--wpnc-text-muted);
	white-space: nowrap;
}
.wpnc-transfer-pick.is-selected .wpnc-transfer-op-dept {
	background: color-mix(in srgb, var(--wpnc-primary) 18%, var(--wpnc-surface));
	color: var(--wpnc-primary-dark);
}
.wpnc-transfer-foot {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	padding: 14px 20px 20px;
	border-top: 1px solid var(--wpnc-border);
	background: color-mix(in srgb, var(--wpnc-surface) 88%, #f8fafc);
}

/* Gapistan Chat — Rating */

/* Satisfaction rating (customer) */
.wpnc-msg-system { justify-content: center; }
.wpnc-msg-system .wpnc-system-card {
	max-width: 92%;
	margin: 8px auto;
	padding: 14px 16px;
	border-radius: 14px;
	background: var(--wpnc-surface-elevated, #f8fafc);
	border: 1px solid var(--wpnc-border);
	text-align: center;
	font-size: .86rem;
	color: var(--wpnc-muted);
}
.wpnc-rating-card { padding: 16px 14px 14px; }
.wpnc-rating-text { margin: 0 0 6px; color: var(--wpnc-text); font-weight: 600; line-height: 1.5; }
.wpnc-rating-prompt { margin: 0 0 12px; color: var(--wpnc-text-muted); font-size: .84rem; line-height: 1.45; }
.wpnc-rating-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}
.wpnc-rating-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 8px 10px;
	min-width: 52px;
	border: 1px solid var(--wpnc-border);
	border-radius: 12px;
	background: var(--wpnc-surface);
	cursor: pointer;
	transition: transform .12s ease, border-color .12s;
}
.wpnc-rating-btn:hover:not(:disabled) { transform: translateY(-2px); border-color: var(--wpnc-primary); }
.wpnc-rating-btn:disabled { opacity: .55; cursor: default; }
.wpnc-rating-emoji { font-size: 1.5rem; line-height: 1; }
.wpnc-rating-label { font-size: .65rem; font-weight: 700; color: var(--wpnc-muted); }
.wpnc-rating-btn.is-selected {
	border-color: var(--wpnc-primary);
	background: color-mix(in srgb, var(--wpnc-primary) 12%, var(--wpnc-surface));
	box-shadow: 0 0 0 1px var(--wpnc-primary);
}
.wpnc-rating-feedback {
	display: grid;
	gap: 8px;
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--wpnc-border);
}
.wpnc-rating-feedback-label {
	font-size: .74rem;
	font-weight: 700;
	color: var(--wpnc-muted);
}
.wpnc-rating-comment {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--wpnc-border);
	border-radius: 10px;
	font-family: inherit;
	font-size: .84rem;
	resize: vertical;
	min-height: 72px;
	background: var(--wpnc-surface);
	color: var(--wpnc-text);
}
.wpnc-rating-submit { justify-self: flex-start; }
.wpnc-rating-thanks {
	margin: 0;
	font-size: .84rem;
	font-weight: 700;
	color: #0f766e;
}
.wpnc-msg-rating.is-rated .wpnc-rating-row { opacity: .7; }

/* Gapistan Chat — Gate */

#wpnc-chat-shell .wpnc-gate-submit.wpnc-btn-primary,
#wpnc-float-wrap .wpnc-gate-submit.wpnc-btn-primary,
#wpnc-full-modal .wpnc-gate-submit.wpnc-btn-primary {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	width: 100% !important;
	min-height: 40px !important;
	max-height: none !important;
	margin-top: 4px !important;
	padding: 0 16px !important;
	border: none !important;
	border-radius: 12px !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	letter-spacing: 0.01em !important;
	cursor: pointer !important;
	color: #fff !important;
	background: var(--wpnc-primary) !important;
	box-shadow: 0 6px 18px color-mix(in srgb, var(--wpnc-primary) 24%, transparent) !important;
	transition: transform var(--wpnc-fast), box-shadow var(--wpnc-fast), background var(--wpnc-fast) !important;
}

#wpnc-chat-shell .wpnc-gate-submit.wpnc-btn-primary:hover,
#wpnc-float-wrap .wpnc-gate-submit.wpnc-btn-primary:hover,
#wpnc-full-modal .wpnc-gate-submit.wpnc-btn-primary:hover {
	background: var(--wpnc-primary-dark) !important;
	transform: translateY(-1px) !important;
}

#wpnc-chat-shell .wpnc-gate-submit.wpnc-btn-primary span,
#wpnc-float-wrap .wpnc-gate-submit.wpnc-btn-primary span,
#wpnc-full-modal .wpnc-gate-submit.wpnc-btn-primary span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	min-width: 0;
}

/* Support start / gate screens (guest name, room unlock) */
.wpnc-support-start {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding: 32px;
	text-align: center;
	gap: 16px;
}

.wpnc-support-start h3 { margin: 0; }
.wpnc-support-start p { color: var(--wpnc-text-muted); margin: 0; max-width: 320px; }

.wpnc-gate-screen {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 0;
	min-height: 0;
	width: 100%;
	padding: 20px 16px;
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	touch-action: pan-y;
	background: var(--wpnc-messages-from, var(--wpnc-bg));
}

.wpnc-gate-card {
	width: min(100%, 300px);
	margin: auto;
	padding: 18px 16px 16px;
	border-radius: 16px;
	border: 1px solid var(--wpnc-border);
	background: var(--wpnc-surface);
	box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08), 0 1px 4px rgba(15, 23, 42, 0.04);
	animation: wpncGateIn 0.35s ease;
	flex-shrink: 0;
}

@keyframes wpncGateIn {
	from { opacity: 0; transform: translateY(10px) scale(0.985); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

.wpnc-gate-card.is-shake {
	animation: wpncGateShake 0.42s ease;
}

@keyframes wpncGateShake {
	0%, 100% { transform: translateX(0); }
	20% { transform: translateX(-6px); }
	40% { transform: translateX(6px); }
	60% { transform: translateX(-4px); }
	80% { transform: translateX(4px); }
}

.wpnc-gate-visual {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	margin-bottom: 10px;
}

.wpnc-gate-guest .wpnc-gate-visual {
	display: none;
}

.wpnc-gate-icon {
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 16px;
	background: linear-gradient(135deg, color-mix(in srgb, var(--wpnc-primary) 16%, var(--wpnc-surface)), color-mix(in srgb, var(--wpnc-accent, #6366f1) 10%, var(--wpnc-surface)));
	color: var(--wpnc-primary-dark);
	border: 1px solid color-mix(in srgb, var(--wpnc-primary) 18%, var(--wpnc-border));
	box-shadow: 0 8px 20px color-mix(in srgb, var(--wpnc-primary) 12%, transparent);
}

.wpnc-gate-icon svg {
	width: 28px;
	height: 28px;
}

.wpnc-gate-badge {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--wpnc-primary-dark);
	background: color-mix(in srgb, var(--wpnc-primary) 12%, var(--wpnc-surface));
	border: 1px solid color-mix(in srgb, var(--wpnc-primary) 20%, var(--wpnc-border));
}

.wpnc-gate-room-unlock .wpnc-gate-icon {
	color: #4338ca;
	background: linear-gradient(135deg, rgba(99, 102, 241, 0.14), rgba(13, 148, 136, 0.1));
	border-color: rgba(99, 102, 241, 0.2);
}

.wpnc-gate-body {
	text-align: center;
}

.wpnc-gate-title {
	margin: 0 0 6px;
	font-size: 0.88rem;
	font-weight: 700;
	line-height: 1.4;
	color: var(--wpnc-text);
	letter-spacing: -0.01em;
}

.wpnc-gate-desc {
	margin: 0 0 14px;
	font-size: 0.7rem;
	line-height: 1.65;
	font-weight: 400;
	color: var(--wpnc-text-muted);
	letter-spacing: 0.01em;
	opacity: 0.92;
}

.wpnc-gate-form {
	display: flex;
	flex-direction: column;
	gap: 8px;
	text-align: start;
}

.wpnc-gate-field {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 10px;
	border-radius: 10px;
	border: 1px solid var(--wpnc-border);
	background: var(--wpnc-input-bg);
	transition: border-color var(--wpnc-fast), background var(--wpnc-fast), box-shadow var(--wpnc-fast);
	min-height: 36px;
}

.wpnc-gate-field:focus-within {
	border-color: var(--wpnc-primary);
	background: var(--wpnc-input-focus-bg);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--wpnc-primary) 18%, transparent);
}

.wpnc-gate-field-icon {
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	margin-top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	background: var(--wpnc-surface);
	color: var(--wpnc-text-muted);
	border: 1px solid var(--wpnc-border);
}

.wpnc-gate-field:focus-within .wpnc-gate-field-icon {
	color: var(--wpnc-primary-dark);
	border-color: color-mix(in srgb, var(--wpnc-primary) 24%, var(--wpnc-border));
	background: color-mix(in srgb, var(--wpnc-primary) 8%, var(--wpnc-surface));
}

.wpnc-gate-field-icon svg {
	width: 17px;
	height: 17px;
}

.wpnc-gate-field-body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.wpnc-gate-guest .wpnc-gate-field-body {
	flex-direction: row;
	align-items: center;
	gap: 8px;
}

.wpnc-gate-field-label {
	font-size: 0.68rem;
	font-weight: 700;
	color: var(--wpnc-text-muted);
}

.wpnc-gate-guest .wpnc-gate-field-label {
	display: none;
}

.wpnc-gate-input {
	width: 100%;
	border: none;
	background: transparent;
	padding: 0;
	font: inherit;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.01em;
	color: var(--wpnc-text);
	-webkit-text-fill-color: var(--wpnc-text);
	caret-color: var(--wpnc-text);
	outline: none;
}

.wpnc-gate-input::placeholder {
	color: var(--wpnc-text-muted);
	-webkit-text-fill-color: var(--wpnc-text-muted);
	font-size: 0.72rem;
	font-weight: 400;
	letter-spacing: 0.01em;
	opacity: 0.85;
}

.wpnc-gate-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 38px;
	margin-top: 4px;
	padding: 0 14px;
	border: none;
	border-radius: 10px;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	cursor: pointer;
	box-shadow: 0 4px 14px color-mix(in srgb, var(--wpnc-primary) 20%, transparent);
	transition: transform var(--wpnc-fast), box-shadow var(--wpnc-fast), background var(--wpnc-fast);
}

.wpnc-gate-guest .wpnc-gate-submit {
	min-height: 36px;
}

.wpnc-gate-submit svg {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	transition: transform var(--wpnc-fast);
}

[dir="rtl"] .wpnc-gate-submit svg {
	transform: scaleX(-1);
}

.wpnc-gate-submit:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 22px color-mix(in srgb, var(--wpnc-primary) 30%, transparent);
}

.wpnc-gate-submit:hover svg {
	transform: translateX(2px);
}

[dir="rtl"] .wpnc-gate-submit:hover svg {
	transform: scaleX(-1) translateX(2px);
}

.wpnc-gate-error {
	margin: 0;
	padding: 10px 12px;
	border-radius: 10px;
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1.45;
	color: #b91c1c;
	background: #fef2f2;
	border: 1px solid #fecaca;
}

[data-wpnc-theme="dark"] .wpnc-gate-error {
	color: #fca5a5;
	background: rgba(127, 29, 29, 0.35);
	border-color: rgba(248, 113, 113, 0.35);
}

.wpnc-gate-error.hidden {
	display: none;
}

#wpnc-chat-area .wpnc-gate-screen,
.wpnc-main .wpnc-gate-screen,
.wpnc-app > .wpnc-gate-screen {
	min-height: 0;
	flex: 1;
}

.wpnc-app > .wpnc-gate-screen,
.wpnc-app > .wpnc-offline-form-wrap {
	position: relative;
	flex: 1 1 0;
	min-height: 0;
	width: 100%;
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	touch-action: pan-y;
}

/* زنجیره ارتفاع: پنل شناور / مودال / صفحه پشتیبانی → اسکرول فرم */
#wpnc-float-wrap .wpnc-float-panel {
	display: flex;
	flex-direction: column;
	min-height: 0;
}

#wpnc-float-wrap .wpnc-float-chat.wpnc-app,
#wpnc-full-modal .wpnc-modal-app.wpnc-mode-support,
.wpnc-support-widget.wpnc-app {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 0 !important;
	min-height: 0 !important;
	overflow: hidden !important;
}

#wpnc-full-modal .wpnc-full-modal-inner {
	display: flex;
	flex-direction: column;
	min-height: 0;
}

#wpnc-float-wrap .wpnc-float-chat > .wpnc-gate-screen,
#wpnc-float-wrap .wpnc-float-chat > .wpnc-offline-form-wrap,
#wpnc-full-modal .wpnc-modal-app > .wpnc-gate-screen,
#wpnc-full-modal .wpnc-modal-app > .wpnc-offline-form-wrap,
.wpnc-support-widget.wpnc-app > .wpnc-gate-screen,
.wpnc-support-widget.wpnc-app > .wpnc-offline-form-wrap {
	flex: 1 1 0;
	min-height: 0;
}

/* Gapistan Chat — Float */

/* ── Floating Widget ── */
.wpnc-float-wrap {
	--wpnc-float-primary: var(--wpnc-primary, #10b981);
	position: fixed;
	z-index: var(--wpnc-z-float);
	font-family: var(--wpnc-font);
	line-height: 1.5;
}

.wpnc-float-wrap.wpnc-pos-bottom-left { bottom: var(--wpnc-desktop-bottom, 28px); left: var(--wpnc-desktop-side, 28px); }
.wpnc-float-wrap.wpnc-pos-bottom-right { bottom: var(--wpnc-desktop-bottom, 28px); right: var(--wpnc-desktop-side, 28px); }

/* Launcher */
.wpnc-float-launcher {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-direction: row-reverse;
	position: relative;
}

/* Labels sit on the site page — keep dark text on light pill (never inherit header white). */
.wpnc-float-launcher .wpnc-float-btn-label,
#wpnc-float-wrap .wpnc-float-btn-label,
#wpnc-chat-shell .wpnc-float-btn-label {
	background: #ffffff !important;
	color: #0f172a !important;
	font-size: .84rem;
	font-weight: 600;
	padding: 8px 14px;
	border-radius: 10px;
	border: 1px solid #e5e7eb !important;
	box-shadow: 0 2px 10px rgba(15, 23, 42, .08);
	white-space: nowrap;
	opacity: 1 !important;
	animation: wpnc-label-in .4s ease;
}

@keyframes wpnc-label-in {
	from { opacity: 0; transform: translateX(8px); }
	to { opacity: 1; transform: translateX(0); }
}

.wpnc-float-wrap.is-open .wpnc-float-launcher .wpnc-float-btn-label {
	display: none;
}

/* Pulse rings — hidden for minimal UI */
.wpnc-float-pulse {
	display: none;
}

.wpnc-float-pulse-2 {
	animation-delay: 1.1s;
}

.wpnc-float-wrap.is-open .wpnc-float-pulse {
	display: none;
}

@keyframes wpnc-pulse-ring {
	0% { transform: scale(.85); opacity: .45; }
	70% { transform: scale(1.45); opacity: 0; }
	100% { transform: scale(1.45); opacity: 0; }
}

/* Main button */
.wpnc-float-btn {
	position: relative;
	width: var(--wpnc-float-btn-size, 56px);
	height: var(--wpnc-float-btn-size, 56px);
	padding: 0;
	border: none;
	cursor: pointer;
	background: var(--wpnc-float-primary);
	color: #fff;
	border-radius: 50%;
	box-shadow: 0 2px 10px rgba(0,0,0,.12);
	transition: opacity .15s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	overflow: visible;
}

.wpnc-float-btn:hover {
	opacity: .92;
	transform: none;
	box-shadow: 0 2px 10px rgba(0,0,0,.12);
}

.wpnc-float-btn:active {
	transform: scale(.96);
}

/* Launcher button frame (size controlled by --wpnc-float-btn-size). */
.wpnc-float-btn-wrap {
	position: relative;
	display: inline-flex;
	width: var(--wpnc-float-btn-size, 56px);
	height: var(--wpnc-float-btn-size, 56px);
	flex-shrink: 0;
	overflow: visible;
}

.wpnc-float-btn-icon {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity .2s, transform .25s;
}

.wpnc-float-btn-icon svg {
	width: calc(var(--wpnc-float-btn-size, 56px) * 0.5);
	height: calc(var(--wpnc-float-btn-size, 56px) * 0.5);
}

.wpnc-float-btn-icon img,
.wpnc-float-btn-icon .wpnc-float-custom-img {
	width: calc(var(--wpnc-float-btn-size, 56px) * 0.5);
	height: calc(var(--wpnc-float-btn-size, 56px) * 0.5);
	object-fit: contain;
	border-radius: 0;
}

/* Custom uploaded icon — fill the whole launcher circle */
.wpnc-float-btn--custom {
	background: transparent !important;
	box-shadow: 0 2px 12px rgba(0, 0, 0, .16);
	overflow: visible !important;
}

.wpnc-float-btn--custom .wpnc-float-btn-icon.wpnc-icon-open {
	inset: 0;
	border-radius: 50%;
	overflow: hidden;
}

.wpnc-float-btn--custom .wpnc-float-custom-img,
.wpnc-float-btn--custom .wpnc-icon-open img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	border-radius: 50% !important;
	display: block !important;
}

.wpnc-icon-close {
	opacity: 0;
	transform: rotate(-90deg) scale(.6);
}

.wpnc-float-wrap.is-open .wpnc-icon-open {
	opacity: 0;
	transform: rotate(90deg) scale(.6);
}

.wpnc-float-wrap.is-open .wpnc-icon-close {
	opacity: 1;
	transform: rotate(0) scale(1);
}

/* وقتی پنل باز است دکمه شناور (ضربدر) مخفی — بستن از هدر کافی است */
.wpnc-float-wrap.is-open .wpnc-float-launchers {
	display: none !important;
}

.wpnc-float-wrap.is-open .wpnc-float-panel {
	bottom: 16px;
}

/* Chat panel */
.wpnc-float-panel {
	position: absolute;
	bottom: 72px;
	width: 380px;
	max-width: calc(100vw - 40px);
	height: 560px;
	max-height: calc(100vh - 120px);
	background: var(--wpnc-surface);
	border-radius: 16px;
	border: 1px solid var(--wpnc-border);
	box-shadow: var(--wpnc-shadow);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	visibility: hidden;
	opacity: 0;
	transform: translateY(12px) scale(.98);
	transition: opacity .18s cubic-bezier(.4,0,.2,1), transform .18s cubic-bezier(.4,0,.2,1), visibility .18s;
	pointer-events: none;
}

.wpnc-float-wrap.wpnc-pos-bottom-left .wpnc-float-panel { left: 0; }
.wpnc-float-wrap.wpnc-pos-bottom-right .wpnc-float-panel { right: 0; }

.wpnc-float-panel.is-open {
	visibility: visible;
	opacity: 1;
	transform: translateY(0) scale(1);
	pointer-events: auto;
}

.wpnc-chat-header--float {
	flex-shrink: 0;
	border-bottom-color: color-mix(in srgb, var(--wpnc-chat-header-text, var(--wpnc-text)) 18%, transparent);
}

.wpnc-chat-header--float .wpnc-chat-title-wrap {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
}

.wpnc-chat-header--float .wpnc-chat-subtitle {
	display: block;
	font-size: .72rem;
	line-height: 1.35;
	color: color-mix(in srgb, var(--wpnc-chat-header-text, #fff) 90%, transparent);
	opacity: 1;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.wpnc-chat-header--float .wpnc-chat-status {
	font-size: .7rem;
}

.wpnc-chat-header--float .wpnc-icon-btn,
.wpnc-chat-header--float .wpnc-float-close {
	color: var(--wpnc-chat-header-text, var(--wpnc-text)) !important;
}

.wpnc-chat-header--float .wpnc-icon-btn:hover,
.wpnc-chat-header--float .wpnc-float-close:hover {
	background: color-mix(in srgb, var(--wpnc-chat-header-text, #fff) 14%, transparent) !important;
	color: var(--wpnc-chat-header-text, var(--wpnc-text)) !important;
}

.wpnc-float-close {
	width: 34px;
	height: 34px;
	border: none;
	background: transparent;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: background .12s, color .12s;
}

.wpnc-float-chat-body {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
	height: 100%;
	overflow: hidden;
}

.wpnc-float-chat {
	flex: 1;
	height: auto !important;
	min-height: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: var(--wpnc-bg) !important;
}

#wpnc-chat-shell .wpnc-mode-support.wpnc-app,
#wpnc-chat-shell .wpnc-support-widget,
#wpnc-float-wrap .wpnc-float-chat,
#wpnc-full-modal .wpnc-modal-app.wpnc-mode-support {
	background: var(--wpnc-bg);
}

#wpnc-float-wrap .wpnc-float-panel {
	background: var(--wpnc-surface);
}

.wpnc-float-chat .wpnc-layout {
	height: 100%;
	grid-template-columns: 200px 1fr;
}

.wpnc-float-chat .wpnc-sidebar {
	width: auto;
	min-width: 0;
}

.wpnc-float-chat .wpnc-files-panel {
	display: none !important;
}

.wpnc-float-chat .wpnc-composer {
	padding: 10px 14px;
}

.wpnc-float-chat .wpnc-messages {
	padding: 12px 10px;
	direction: ltr;
	align-items: stretch;
}

.wpnc-float-chat .wpnc-bubble {
	max-width: 100%;
}

.wpnc-float-chat .wpnc-main,
.wpnc-float-chat .wpnc-chat-area,
.wpnc-float-chat #wpnc-chat-area {
	min-width: 0;
	width: 100%;
}

/* ── Hub انتخاب حالت ── */
.wpnc-float-hub {
	padding: 20px 16px;
	overflow-y: auto;
	flex: 1;
}

.wpnc-hub-title {
	text-align: center;
	color: var(--wpnc-text-muted);
	font-size: .9rem;
	margin: 0 0 16px;
}

.wpnc-hub-actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.wpnc-hub-btn {
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	padding: 14px 16px;
	border: 1px solid var(--wpnc-border);
	border-radius: 14px;
	background: var(--wpnc-surface);
	cursor: pointer;
	text-align: right;
	transition: border-color .15s, box-shadow .15s, transform .15s;
}

.wpnc-hub-btn:hover {
	border-color: var(--wpnc-float-primary);
	box-shadow: none;
	transform: none;
}

.wpnc-hub-btn-public {
	border-color: color-mix(in srgb, var(--wpnc-float-primary) 30%, var(--wpnc-border));
}

.wpnc-hub-btn-icon {
	font-size: 1.6rem;
	line-height: 1;
	flex-shrink: 0;
}

.wpnc-hub-btn-text {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.wpnc-hub-btn-text strong {
	font-size: .92rem;
	color: var(--wpnc-text);
}

.wpnc-hub-btn-text small {
	font-size: .75rem;
	color: var(--wpnc-text-muted);
}

/* ── Dual launcher ── */
.wpnc-float-launchers {
	display: flex;
	flex-direction: column-reverse;
	align-items: flex-end;
	gap: 14px;
	position: relative;
	z-index: 1;
}

.wpnc-dual-launcher .wpnc-float-launcher {
	position: relative;
	flex: 0 0 auto;
	width: auto;
	height: auto;
}

.wpnc-launcher-rooms .wpnc-float-btn {
	background: var(--wpnc-rooms-color, #6366f1);
}

.wpnc-launcher-rooms .wpnc-float-pulse {
	background: var(--wpnc-rooms-color, #6366f1);
}

/* Gapistan Chat — Full Modal */

/* ── مودال تمام‌صفحه گفتگوی عمومی ── */
.wpnc-full-modal {
	position: fixed;
	inset: 0;
	z-index: var(--wpnc-z-modal);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	opacity: 0;
	visibility: hidden;
	transition: opacity .18s ease, visibility .18s;
}

.wpnc-full-modal.is-open {
	opacity: 1;
	visibility: visible;
}

.wpnc-full-modal-backdrop {
	position: absolute;
	inset: 0;
	background: var(--wpnc-modal-backdrop);
	backdrop-filter: blur(4px);
}

.wpnc-full-modal-inner {
	position: relative;
	z-index: 1;
	width: min(1280px, 100%);
	height: min(92vh, 880px);
	background: var(--wpnc-surface);
	border-radius: 16px;
	border: 1px solid var(--wpnc-border);
	box-shadow: var(--wpnc-shadow);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transform: scale(.98) translateY(8px);
	transition: transform .18s cubic-bezier(.4,0,.2,1);
	color: var(--wpnc-text);
}

.wpnc-full-modal.is-open .wpnc-full-modal-inner {
	transform: scale(1) translateY(0);
}

.wpnc-full-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 10px 14px;
	padding-top: max(10px, env(safe-area-inset-top, 0px));
	background: var(--wpnc-chat-header-bg, var(--wpnc-surface));
	color: var(--wpnc-chat-header-text, var(--wpnc-text));
	border-bottom: 1px solid color-mix(in srgb, var(--wpnc-chat-header-text, var(--wpnc-border)) 18%, transparent);
	flex-shrink: 0;
	min-height: 48px;
}

.wpnc-full-modal-header strong {
	font-size: .92rem;
	font-weight: 600;
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.wpnc-modal-back {
	display: none;
	background: transparent;
	color: var(--wpnc-text-muted);
	flex-shrink: 0;
}

.wpnc-modal-header-actions {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-shrink: 0;
}

.wpnc-theme-toggle .wpnc-icon-moon { display: none !important; }
.wpnc-theme-toggle.is-dark .wpnc-icon-sun { display: none !important; }
.wpnc-theme-toggle.is-dark .wpnc-icon-moon { display: block !important; }

#wpnc-chat-shell .wpnc-theme-toggle .wpnc-icon-moon,
#wpnc-float-wrap .wpnc-theme-toggle .wpnc-icon-moon,
#wpnc-full-modal .wpnc-theme-toggle .wpnc-icon-moon {
	display: none !important;
}

#wpnc-chat-shell .wpnc-theme-toggle.is-dark .wpnc-icon-sun,
#wpnc-float-wrap .wpnc-theme-toggle.is-dark .wpnc-icon-sun,
#wpnc-full-modal .wpnc-theme-toggle.is-dark .wpnc-icon-sun {
	display: none !important;
}

#wpnc-chat-shell .wpnc-theme-toggle.is-dark .wpnc-icon-moon,
#wpnc-float-wrap .wpnc-theme-toggle.is-dark .wpnc-icon-moon,
#wpnc-full-modal .wpnc-theme-toggle.is-dark .wpnc-icon-moon {
	display: block !important;
}

.wpnc-theme-toggle-inline {
	flex-shrink: 0;
}

/* Trigger button / link shortcodes */
.wpnc-open-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 20px;
	border: none;
	border-radius: 10px;
	background: var(--wpnc-primary);
	color: #fff;
	font-family: var(--wpnc-font);
	font-size: .875rem;
	font-weight: 600;
	cursor: pointer;
	box-shadow: none;
	transition: opacity .15s ease;
}

.wpnc-open-btn:hover {
	opacity: .9;
	transform: none;
	box-shadow: none;
}

.wpnc-open-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--wpnc-primary);
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px solid color-mix(in srgb, var(--wpnc-primary) 35%, transparent);
}

.wpnc-full-modal-header .wpnc-float-close,
.wpnc-full-modal-header .wpnc-icon-btn,
.wpnc-full-modal-header .wpnc-modal-back {
	background: transparent;
	color: var(--wpnc-chat-header-text, var(--wpnc-text-muted)) !important;
}

.wpnc-full-modal-header .wpnc-float-close:hover,
.wpnc-full-modal-header .wpnc-icon-btn:hover,
.wpnc-full-modal-header .wpnc-modal-back:hover {
	background: color-mix(in srgb, var(--wpnc-chat-header-text, #fff) 14%, transparent) !important;
	color: var(--wpnc-chat-header-text, var(--wpnc-text)) !important;
}

.wpnc-modal-app {
	flex: 1;
	height: auto !important;
	min-height: 0 !important;
	width: 100%;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.wpnc-modal-app .wpnc-layout-full {
	height: 100%;
}

/* ── گفتگوی عمومی: سایدبار اتاق‌ها + محتوای اصلی ── */
#wpnc-full-modal .wpnc-modal-app.wpnc-mode-public {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 0 !important;
	min-height: 0 !important;
	overflow: hidden !important;
}

.wpnc-public-rooms-shell {
	grid-template-columns: minmax(248px, 300px) minmax(0, 1fr) !important;
	position: relative;
	overflow: hidden;
	height: 100%;
	min-height: 0;
}

.wpnc-public-rooms-shell .wpnc-sidebar-rooms {
	border-left: none;
	border-inline-start: 1px solid var(--wpnc-border);
	background: linear-gradient(180deg, var(--wpnc-sidebar-from, var(--wpnc-surface)), var(--wpnc-sidebar-to, var(--wpnc-surface)));
}

.wpnc-sidebar-header-minimal {
	padding: 10px 12px;
	min-height: 44px;
}

.wpnc-sidebar-label {
	font-size: .78rem;
	font-weight: 600;
	color: var(--wpnc-text-muted);
	letter-spacing: .02em;
}

.wpnc-modal-app .wpnc-main,
.wpnc-fullpage .wpnc-main {
	display: flex;
	flex-direction: column;
	min-height: 0;
	overflow: hidden;
}

.wpnc-modal-app #wpnc-chat-area,
.wpnc-fullpage #wpnc-chat-area {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
	overflow: hidden;
}

.wpnc-modal-app #wpnc-chat-area > .wpnc-gate-screen,
.wpnc-fullpage #wpnc-chat-area > .wpnc-gate-screen {
	align-items: center;
	justify-content: center;
}

.wpnc-public-rooms-shell .wpnc-room-list {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.wpnc-public-rooms-shell .wpnc-files-panel-drawer {
	display: none !important;
}

.wpnc-public-rooms-shell .wpnc-files-panel-drawer.mobile-open {
	display: flex !important;
	flex-direction: column;
	position: absolute;
	inset-block: 0;
	inset-inline-start: 0;
	width: min(300px, 88%);
	max-width: 320px;
	z-index: 40;
	box-shadow: 8px 0 32px rgba(15, 23, 42, 0.16);
	border-inline-end: 1px solid var(--wpnc-border);
	background: var(--wpnc-surface);
}

.wpnc-chat-title-minimal {
	min-height: 0;
}

.wpnc-files-toggle-visible {
	display: none;
}

body.wpnc-modal-open {
	overflow: hidden;
}

.wpnc-float-wrap.is-modal-open .wpnc-float-panel {
	opacity: 0;
	pointer-events: none;
}

/* Gapistan Chat — Auth & Menu */

/* ── Auth gate ── */
.wpnc-auth-gate {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 32px 20px;
	text-align: center;
	min-height: 200px;
}

.wpnc-auth-gate-icon {
	font-size: 2.5rem;
	margin-bottom: 12px;
}

.wpnc-auth-gate h3 {
	margin: 0 0 8px;
	font-size: 1.1rem;
}

.wpnc-auth-gate p {
	color: var(--wpnc-muted, #64748b);
	margin: 0 0 20px;
	font-size: .9rem;
}

.wpnc-auth-gate-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	justify-content: center;
}

.wpnc-support-page-wrap {
	width: 100%;
}

.wpnc-block-wrap {
	margin: 1em 0;
	clear: both;
}

/* Nav menu modal triggers */
.wpnc-menu-trigger {
	cursor: pointer;
}

.wpnc-menu-banner-item > a,
.wpnc-menu-banner-item > .wpnc-menu-trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .45em 1.1em;
	border-radius: 999px;
	background: var(--wpnc-primary, #10b981);
	color: #fff !important;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .08);
	transition: filter .15s ease, transform .15s ease;
}

.wpnc-menu-banner-item > a:hover,
.wpnc-menu-banner-item > .wpnc-menu-trigger:hover {
	filter: brightness(1.06);
	color: #fff !important;
}

.wpnc-menu-item.wpnc-menu-banner-item {
	align-self: center;
}

/* Gapistan Chat — Emoji */

/* ── Emoji picker ── */
.wpnc-emoji-picker {
	position: absolute;
	bottom: calc(100% + 8px);
	right: 0;
	width: 320px;
	max-width: calc(100vw - 32px);
	background: var(--wpnc-surface);
	border: 1px solid var(--wpnc-border, #e2e8f0);
	border-radius: 12px;
	box-shadow: 0 8px 32px rgba(0,0,0,.12);
	z-index: 100;
	overflow: hidden;
}

#wpnc-chat-shell button.wpnc-emoji-item,
#wpnc-float-wrap button.wpnc-emoji-item,
#wpnc-full-modal button.wpnc-emoji-item,
.wpnc-support-page-wrap button.wpnc-emoji-item {
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 6px !important;
	border: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	background: transparent !important;
	background-image: none !important;
	font-size: 1.35rem !important;
	line-height: 1 !important;
	min-height: 0 !important;
	min-width: 0 !important;
	color: inherit !important;
	text-transform: none !important;
	box-shadow: none !important;
	font-family: var(--wpnc-font-emoji) !important;
	font-variant-emoji: emoji;
}

.wpnc-emoji-grid,
.wpnc-reaction-emoji,
.wpnc-reaction-pick,
.wpnc-quick-reactions button {
	font-family: var(--wpnc-font-emoji) !important;
	font-variant-emoji: emoji;
}

.wpnc-emoji-picker.hidden {
	display: none;
}

.wpnc-emoji-tabs {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	gap: 2px !important;
	padding: 8px 8px 0 !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	border-bottom: 1px solid var(--wpnc-border, #e2e8f0) !important;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}

.wpnc-emoji-tab {
	flex: 0 0 auto !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 6px 10px !important;
	border: none !important;
	border-radius: 6px 6px 0 0 !important;
	background: transparent !important;
	background-image: none !important;
	color: var(--wpnc-muted, #64748b) !important;
	font-family: inherit !important;
	font-size: .75rem !important;
	font-weight: 400 !important;
	line-height: 1.3 !important;
	white-space: nowrap !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	cursor: pointer !important;
	display: inline-block !important;
	box-shadow: none !important;
	float: none !important;
	position: relative !important;
}

.wpnc-emoji-tab.active {
	background: var(--wpnc-bg-soft, #f1f5f9) !important;
	color: var(--wpnc-primary, #10b981) !important;
	font-weight: 600 !important;
}

.wpnc-emoji-grid {
	display: grid !important;
	grid-template-columns: repeat(8, 1fr) !important;
	gap: 2px !important;
	padding: 8px !important;
	max-height: 220px !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
}

.wpnc-emoji-item {
	border: none;
	background: transparent;
	font-size: 1.35rem;
	line-height: 1;
	padding: 6px;
	cursor: pointer;
	border-radius: 6px;
	transition: background .15s;
	font-family: var(--wpnc-font-emoji);
	font-variant-emoji: emoji;
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.wpnc-emoji-img,
.wpnc-emoji-item img,
.wpnc-reaction-emoji img,
.wpnc-reaction-pick img,
.wpnc-rating-emoji img,
.wpnc-bubble .wpnc-emoji-img {
	display: inline-block !important;
	width: 22px !important;
	height: 22px !important;
	max-width: none !important;
	max-height: none !important;
	min-width: 0 !important;
	min-height: 0 !important;
	object-fit: contain !important;
	vertical-align: -0.2em;
	pointer-events: none;
	border: none !important;
	background: none !important;
	box-shadow: none !important;
}

.wpnc-reaction-emoji img,
.wpnc-rating-emoji img {
	width: 18px !important;
	height: 18px !important;
}

.wpnc-emoji-item:hover {
	background: var(--wpnc-bg);
}

/* Gapistan Chat — Appearance */

/* ── Appearance panel ── */
.wpnc-appearance-wrap {
	position: relative;
	display: inline-flex;
}

.wpnc-appearance-panel {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	z-index: 1000;
	width: min(248px, calc(100vw - 24px));
	padding: 12px;
	background: var(--wpnc-surface);
	border: 1px solid var(--wpnc-border);
	border-radius: 12px;
	box-shadow: var(--wpnc-shadow);
	display: none;
}

.wpnc-appearance-panel.is-open {
	display: block;
}

.wpnc-appearance-panel h4 {
	margin: 0 0 8px;
	font-size: .75rem;
	color: var(--wpnc-text-muted);
	font-weight: 500;
}

.wpnc-appearance-section + .wpnc-appearance-section {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid var(--wpnc-border);
}

.wpnc-theme-mode-btns,
.wpnc-accent-swatches,
.wpnc-bg-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.wpnc-theme-mode-btn,
.wpnc-swatch {
	border: 2px solid var(--wpnc-border);
	background: var(--wpnc-bg);
	color: var(--wpnc-text);
	border-radius: 10px;
	cursor: pointer;
	transition: border-color .12s, transform .12s;
}

.wpnc-theme-mode-btn {
	padding: 7px 12px;
	font-size: .78rem;
	font-family: inherit;
}

.wpnc-theme-mode-btn.is-active,
.wpnc-swatch.is-active {
	border-color: var(--wpnc-primary);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--wpnc-primary) 25%, transparent);
}

.wpnc-swatch {
	width: 28px;
	height: 28px;
	padding: 0;
	border-radius: 50%;
}

.wpnc-swatch-accent-emerald { background: #10b981; }
.wpnc-swatch-accent-blue { background: #3b82f6; }
.wpnc-swatch-accent-violet { background: #8b5cf6; }
.wpnc-swatch-accent-rose { background: #f43f5e; }
.wpnc-swatch-accent-amber { background: #f59e0b; }
.wpnc-swatch-accent-cyan { background: #06b6d4; }
.wpnc-swatch-accent-indigo { background: #6366f1; }

.wpnc-swatch-bg-default { background: linear-gradient(135deg, #f0f4f8, #fff); }
.wpnc-swatch-bg-ocean { background: linear-gradient(135deg, #dbeafe, #e0f2fe); }
.wpnc-swatch-bg-warm { background: linear-gradient(135deg, #f5e6d3, #faf5ef); }
.wpnc-swatch-bg-slate { background: linear-gradient(135deg, #e2e8f0, #f1f5f9); }

[data-wpnc-theme="dark"] .wpnc-swatch-bg-default,
[data-wpnc-theme="auto"] .wpnc-swatch-bg-default {
	background: linear-gradient(135deg, #0e1621, #17212b);
}

/* Gapistan Chat — Role Badges */

/* ── Role badges ── */
.wpnc-role-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 999px;
	font-size: .72rem;
	background: var(--wpnc-bg-soft, #f1f5f9);
	color: var(--wpnc-muted, #64748b);
}

.wpnc-role-owner, .wpnc-role-admin {
	background: color-mix(in srgb, var(--wpnc-primary, #10b981) 15%, transparent);
	color: var(--wpnc-primary, #10b981);
}

.wpnc-role-moderator {
	background: color-mix(in srgb, var(--wpnc-accent, #6366f1) 15%, transparent);
	color: var(--wpnc-accent, #6366f1);
}

/* Gapistan Chat — Presence */

/* ── Presence & typing ── */
.wpnc-chat-title-wrap {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.wpnc-chat-title-wrap h3 {
	margin: 0;
}

.wpnc-chat-title-row {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.wpnc-chat-title-row .wpnc-avatar,
.wpnc-chat-title-row .wpnc-avatar-channel {
	width: 36px;
	height: 36px;
	flex-shrink: 0;
}

.wpnc-avatar-channel {
	border-radius: 50%;
	overflow: hidden;
}

.wpnc-sidebar .wpnc-avatar-channel,
.wpnc-room-item .wpnc-avatar-channel {
	border-radius: 50%;
}

.wpnc-chat-status {
	font-size: .72rem;
	color: var(--wpnc-text-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.wpnc-chat-status.is-online {
	color: #22c55e;
}

.wpnc-chat-status.is-typing {
	color: var(--wpnc-primary);
	font-style: italic;
}

.wpnc-chat-status.is-offline {
	color: var(--wpnc-text-muted);
	opacity: 1;
}

.wpnc-guest-contact-bar,
.wpnc-room-contact,
.wpnc-participant-contact {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 6px;
	font-size: .72rem;
	line-height: 1.45;
	color: var(--wpnc-text-muted);
	margin-top: 2px;
}

.wpnc-guest-contact-link {
	color: var(--wpnc-primary-dark);
	text-decoration: none;
	font-weight: 600;
	unicode-bidi: plaintext;
}

.wpnc-guest-contact-link:hover {
	text-decoration: underline;
}

.wpnc-guest-contact-sep {
	opacity: 0.55;
	user-select: none;
}

.wpnc-room-contact {
	margin-top: 1px;
	margin-bottom: 2px;
}

.wpnc-participant-info {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.wpnc-participant-contact {
	margin-top: 2px;
}

.wpnc-user-online {
	color: #22c55e !important;
	opacity: 1 !important;
}

/* هدر چت / نوار کاربر — رنگ متن از تنظیمات هدر (شامل صندوق ادمین #wpnc-app) */
#wpnc-chat-shell .wpnc-chat-header,
#wpnc-full-modal .wpnc-chat-header,
#wpnc-float-wrap .wpnc-chat-header--float,
#wpnc-app .wpnc-chat-header,
.wpnc-inbox-frame .wpnc-chat-header,
.wpnc-page-wrap .wpnc-chat-header {
	background: var(--wpnc-chat-header-bg, var(--wpnc-float-header-bg, var(--wpnc-surface))) !important;
	color: var(--wpnc-chat-header-text, #fff) !important;
}

#wpnc-chat-shell .wpnc-chat-header h3,
#wpnc-chat-shell .wpnc-chat-title-wrap h3,
#wpnc-chat-shell .wpnc-user-bar,
#wpnc-chat-shell .wpnc-user-info strong,
#wpnc-full-modal .wpnc-chat-header h3,
#wpnc-full-modal .wpnc-chat-title-wrap h3,
#wpnc-full-modal .wpnc-user-bar,
#wpnc-full-modal .wpnc-user-info strong,
#wpnc-float-wrap .wpnc-chat-header--float h3,
#wpnc-float-wrap .wpnc-chat-header--float .wpnc-chat-title-wrap h3,
#wpnc-app .wpnc-chat-header h3,
#wpnc-app .wpnc-chat-title-wrap h3,
#wpnc-app .wpnc-user-bar,
#wpnc-app .wpnc-user-info strong,
.wpnc-inbox-frame .wpnc-chat-header h3,
.wpnc-page-wrap .wpnc-chat-header h3,
.wpnc-page-wrap .wpnc-chat-title-wrap h3 {
	color: var(--wpnc-chat-header-text, #fff) !important;
}

#wpnc-chat-shell .wpnc-chat-status,
#wpnc-chat-shell .wpnc-user-info small,
#wpnc-chat-shell .wpnc-guest-contact-bar,
#wpnc-chat-shell .wpnc-room-contact,
#wpnc-full-modal .wpnc-chat-status,
#wpnc-full-modal .wpnc-user-info small,
#wpnc-full-modal .wpnc-guest-contact-bar,
#wpnc-full-modal .wpnc-room-contact,
#wpnc-float-wrap .wpnc-chat-header--float .wpnc-chat-status,
#wpnc-float-wrap .wpnc-chat-header--float .wpnc-chat-subtitle,
#wpnc-app .wpnc-chat-status,
#wpnc-app .wpnc-user-info small,
#wpnc-app .wpnc-guest-contact-bar,
#wpnc-app .wpnc-room-contact,
.wpnc-inbox-frame .wpnc-chat-status {
	color: color-mix(in srgb, var(--wpnc-chat-header-text, #fff) 92%, transparent) !important;
	opacity: 1 !important;
}

#wpnc-chat-shell .wpnc-chat-header .wpnc-icon-btn,
#wpnc-chat-shell .wpnc-chat-header .wpnc-float-close,
#wpnc-chat-shell .wpnc-chat-header .wpnc-theme-toggle,
#wpnc-full-modal .wpnc-chat-header .wpnc-icon-btn,
#wpnc-full-modal .wpnc-chat-header .wpnc-float-close,
#wpnc-full-modal .wpnc-chat-header .wpnc-theme-toggle,
#wpnc-float-wrap .wpnc-chat-header--float .wpnc-icon-btn,
#wpnc-float-wrap .wpnc-chat-header--float .wpnc-float-close,
#wpnc-float-wrap .wpnc-chat-header--float .wpnc-theme-toggle,
#wpnc-app .wpnc-chat-header .wpnc-icon-btn,
#wpnc-app .wpnc-chat-header .wpnc-theme-toggle,
.wpnc-inbox-frame .wpnc-chat-header .wpnc-icon-btn,
.wpnc-page-wrap .wpnc-chat-header .wpnc-icon-btn {
	color: var(--wpnc-chat-header-text, #fff) !important;
	opacity: 1 !important;
}

#wpnc-chat-shell .wpnc-chat-header .wpnc-icon-btn svg,
#wpnc-chat-shell .wpnc-chat-header .wpnc-theme-toggle svg,
#wpnc-full-modal .wpnc-chat-header .wpnc-icon-btn svg,
#wpnc-full-modal .wpnc-chat-header .wpnc-theme-toggle svg,
#wpnc-float-wrap .wpnc-chat-header--float .wpnc-icon-btn svg,
#wpnc-float-wrap .wpnc-chat-header--float .wpnc-theme-toggle svg,
#wpnc-app .wpnc-chat-header .wpnc-icon-btn svg,
#wpnc-app .wpnc-chat-header .wpnc-theme-toggle svg {
	stroke: currentColor !important;
	color: currentColor !important;
	opacity: 1 !important;
}

/* Avoid green-on-green: status follows header chrome color. */
#wpnc-chat-shell .wpnc-chat-status.is-online,
#wpnc-full-modal .wpnc-chat-status.is-online,
#wpnc-float-wrap .wpnc-chat-header--float .wpnc-chat-status.is-online,
#wpnc-app .wpnc-chat-status.is-online,
.wpnc-inbox-frame .wpnc-chat-status.is-online {
	color: var(--wpnc-chat-header-text, #fff) !important;
	font-weight: 700 !important;
}

#wpnc-chat-shell .wpnc-chat-status.is-typing,
#wpnc-full-modal .wpnc-chat-status.is-typing,
#wpnc-float-wrap .wpnc-chat-header--float .wpnc-chat-status.is-typing,
#wpnc-app .wpnc-chat-status.is-typing,
.wpnc-inbox-frame .wpnc-chat-status.is-typing {
	color: var(--wpnc-chat-header-text, #fff) !important;
	opacity: 0.95 !important;
}

#wpnc-chat-shell .wpnc-chat-status.is-offline,
#wpnc-full-modal .wpnc-chat-status.is-offline,
#wpnc-float-wrap .wpnc-chat-header--float .wpnc-chat-status.is-offline,
#wpnc-app .wpnc-chat-status.is-offline,
.wpnc-inbox-frame .wpnc-chat-status.is-offline,
[data-wpnc-theme="dark"] #wpnc-chat-shell .wpnc-chat-status.is-offline,
[data-wpnc-theme="dark"] #wpnc-full-modal .wpnc-chat-status.is-offline,
[data-wpnc-theme="dark"] #wpnc-app .wpnc-chat-status.is-offline,
[data-wpnc-theme="auto"] #wpnc-chat-shell .wpnc-chat-status.is-offline,
[data-wpnc-theme="auto"] #wpnc-full-modal .wpnc-chat-status.is-offline,
[data-wpnc-theme="auto"] #wpnc-app .wpnc-chat-status.is-offline,
[data-wpnc-theme="dark"] #wpnc-float-wrap .wpnc-chat-header--float .wpnc-chat-status.is-offline,
[data-wpnc-theme="auto"] #wpnc-float-wrap .wpnc-chat-header--float .wpnc-chat-status.is-offline {
	color: color-mix(in srgb, var(--wpnc-chat-header-text, #fff) 80%, transparent) !important;
	opacity: 1 !important;
}

@media (prefers-color-scheme: dark) {
	[data-wpnc-theme="auto"] #wpnc-chat-shell .wpnc-chat-status.is-offline,
	[data-wpnc-theme="auto"] #wpnc-full-modal .wpnc-chat-status.is-offline,
	[data-wpnc-theme="auto"] #wpnc-app .wpnc-chat-status.is-offline,
	[data-wpnc-theme="auto"] #wpnc-float-wrap .wpnc-chat-header--float .wpnc-chat-status.is-offline {
		color: color-mix(in srgb, var(--wpnc-chat-header-text, #fff) 80%, transparent) !important;
	}
}

.wpnc-online-dot {
	display: inline-block;
	width: 8px;
	height: 8px;
	background: #22c55e;
	border-radius: 50%;
	vertical-align: middle;
	margin-inline-start: 4px;
	flex-shrink: 0;
}

.wpnc-participant-avatar-wrap {
	position: relative;
	flex-shrink: 0;
}

.wpnc-participant-avatar-wrap .wpnc-online-dot {
	position: absolute;
	bottom: 0;
	right: 0;
	border: 2px solid var(--wpnc-surface);
	margin: 0;
}

.wpnc-typing {
	padding: 0 14px 6px;
	font-size: .75rem;
	color: var(--wpnc-text-muted);
	min-height: 0;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: opacity .15s ease, max-height .15s ease;
}

.wpnc-typing.is-visible {
	min-height: 22px;
	max-height: 40px;
	opacity: 1;
}

.wpnc-typing-dots {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	margin-inline-end: 4px;
	vertical-align: middle;
}

.wpnc-typing-dots i {
	display: block;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--wpnc-primary);
	animation: wpnc-typing-bounce 1.2s infinite ease-in-out;
}

.wpnc-typing-dots i:nth-child(2) { animation-delay: .15s; }
.wpnc-typing-dots i:nth-child(3) { animation-delay: .3s; }

@keyframes wpnc-typing-bounce {
	0%, 60%, 100% { transform: translateY(0); opacity: .45; }
	30% { transform: translateY(-3px); opacity: 1; }
}

/* Gapistan Chat — Offline */

#wpnc-chat-shell .wpnc-offline-submit,
#wpnc-float-wrap .wpnc-offline-submit,
#wpnc-full-modal .wpnc-offline-submit {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	width: 100% !important;
	min-height: 40px !important;
	padding: 10px 14px !important;
	border: none !important;
	border-radius: 10px !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	cursor: pointer !important;
	color: #fff !important;
	background: var(--wpnc-offline-accent, var(--wpnc-primary, #10b981)) !important;
	box-shadow: none !important;
}

#wpnc-chat-shell .wpnc-offline-success-btn,
#wpnc-float-wrap .wpnc-offline-success-btn,
#wpnc-full-modal .wpnc-offline-success-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 40px !important;
	padding: 0 20px !important;
	border: none !important;
	border-radius: 10px !important;
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	cursor: pointer !important;
	color: #fff !important;
	background: var(--wpnc-primary) !important;
	box-shadow: none !important;
}

/* ── Offline contact form (minimal) ── */
.wpnc-offline-form-wrap {
	padding: 20px 16px;
	flex: 1 1 0;
	min-height: 0;
	width: 100%;
	overflow-y: auto;
	overflow-x: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	touch-action: pan-y;
	background: var(--wpnc-messages-from, var(--wpnc-bg));
}

.wpnc-offline-form-card {
	width: 100%;
	max-width: 300px;
	margin: auto;
	background: var(--wpnc-surface);
	border: 1px solid var(--wpnc-border);
	border-radius: 16px;
	box-shadow: var(--wpnc-shadow);
	padding: 16px 16px 14px;
	flex-shrink: 0;
}

.wpnc-offline-form-head {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--wpnc-border);
}

.wpnc-offline-form-dot {
	width: 8px;
	height: 8px;
	margin-top: 6px;
	border-radius: 50%;
	background: var(--wpnc-offline-accent, var(--wpnc-primary, #10b981));
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--wpnc-offline-accent, #10b981) 18%, transparent);
	flex-shrink: 0;
}

.wpnc-offline-form-title {
	margin: 0 0 2px;
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.45;
	color: var(--wpnc-text);
}

.wpnc-offline-form-desc {
	margin: 0;
	font-size: 0.72rem;
	line-height: 1.55;
	color: var(--wpnc-text-muted);
}

.wpnc-offline-form {
	display: grid;
	gap: 8px;
}

.wpnc-offline-field {
	position: relative;
	display: block;
}

.wpnc-offline-field input,
.wpnc-offline-field textarea {
	width: 100%;
	border: 1px solid var(--wpnc-border);
	border-radius: 10px;
	padding: 10px 11px 9px;
	font-size: 0.78rem;
	line-height: 1.4;
	background: var(--wpnc-input-bg);
	color: var(--wpnc-text);
	transition: background 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.wpnc-offline-field input::placeholder,
.wpnc-offline-field textarea::placeholder {
	color: var(--wpnc-text-muted);
	font-size: 0.76rem;
	opacity: 0.85;
}

.wpnc-offline-field input:focus,
.wpnc-offline-field textarea:focus {
	outline: none;
	background: var(--wpnc-input-focus-bg);
	border-color: color-mix(in srgb, var(--wpnc-offline-accent, var(--wpnc-primary)) 45%, var(--wpnc-border));
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--wpnc-offline-accent, var(--wpnc-primary)) 28%, transparent);
}

.wpnc-offline-field-line {
	display: block;
	height: 0;
}

.wpnc-offline-field textarea {
	resize: none;
	min-height: 72px;
}

.wpnc-offline-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	margin-top: 4px;
	padding: 10px 14px;
	border: none;
	border-radius: 10px;
	font-size: 0.78rem;
	font-weight: 700;
	color: #fff;
	cursor: pointer;
	background: var(--wpnc-offline-accent, var(--wpnc-primary, #10b981));
	transition: transform 0.12s ease, opacity 0.12s ease;
}

.wpnc-offline-submit:hover:not(:disabled) {
	transform: translateY(-1px);
}

.wpnc-offline-submit:disabled {
	opacity: 0.65;
	cursor: default;
}

.wpnc-offline-error {
	color: #dc2626;
	font-size: 0.72rem;
	margin: 4px 0 0;
}

[data-wpnc-theme="dark"] .wpnc-offline-error,
[data-wpnc-theme="auto"] .wpnc-offline-error {
	color: #f87171;
}

/* Offline success modal (in-chat) */
.wpnc-offline-success-overlay {
	position: absolute;
	inset: 0;
	z-index: 40;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	animation: wpncOverlayIn 0.2s ease;
}

.wpnc-offline-success-backdrop {
	position: absolute;
	inset: 0;
	background: var(--wpnc-modal-backdrop);
}

.wpnc-offline-success-dialog {
	position: relative;
	z-index: 1;
	width: min(100%, 320px);
	padding: 24px 20px 20px;
	text-align: center;
	background: var(--wpnc-surface);
	border: 1px solid var(--wpnc-border);
	border-radius: 16px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.22);
}

.wpnc-offline-success-icon {
	width: 52px;
	height: 52px;
	margin: 0 auto 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: var(--wpnc-primary);
	background: color-mix(in srgb, var(--wpnc-primary) 14%, var(--wpnc-surface));
	border: 1px solid color-mix(in srgb, var(--wpnc-primary) 22%, var(--wpnc-border));
}

.wpnc-offline-success-dialog h3 {
	margin: 0 0 8px;
	font-size: 0.95rem;
	font-weight: 800;
	color: var(--wpnc-text);
}

.wpnc-offline-success-text {
	margin: 0 0 18px;
	font-size: 0.8rem;
	line-height: 1.6;
	color: var(--wpnc-text-muted);
}

.wpnc-offline-success-btn {
	width: 100%;
	transition: transform 0.12s ease, background 0.12s ease;
}

.wpnc-handoff-card {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 8px;
	padding: 10px 12px;
	border-radius: 12px;
	border: 1px solid color-mix(in srgb, var(--wpnc-primary) 28%, var(--wpnc-border));
	background: color-mix(in srgb, var(--wpnc-primary) 8%, var(--wpnc-surface));
	box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.wpnc-handoff-footer {
	margin-top: 12px;
	max-width: min(100%, 360px);
}

.wpnc-handoff-footer .wpnc-handoff-card {
	margin-top: 0;
}

.wpnc-handoff-card-icon {
	flex-shrink: 0;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: color-mix(in srgb, var(--wpnc-primary) 16%, var(--wpnc-surface));
	color: var(--wpnc-primary-dark);
}

.wpnc-handoff-card-copy {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.wpnc-handoff-card-title {
	font-size: .78rem;
	font-weight: 600;
	color: var(--wpnc-text);
	line-height: 1.35;
}

.wpnc-handoff-card-desc {
	font-size: .7rem;
	color: var(--wpnc-text-muted);
	line-height: 1.4;
}

.wpnc-handoff-prompt {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 7px 12px;
	border: none;
	border-radius: 999px;
	background: var(--wpnc-primary);
	color: #fff;
	font: inherit;
	font-size: .72rem;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	box-shadow: 0 1px 4px color-mix(in srgb, var(--wpnc-primary) 35%, transparent);
	transition: transform .12s ease, opacity .12s ease, box-shadow .12s ease;
	white-space: nowrap;
}

.wpnc-handoff-prompt:hover:not(:disabled) {
	transform: translateY(-1px);
	box-shadow: 0 3px 10px color-mix(in srgb, var(--wpnc-primary) 28%, transparent);
}

.wpnc-handoff-prompt:disabled {
	opacity: 0.72;
	cursor: wait;
	transform: none;
}

.wpnc-handoff-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 8px 12px;
	margin-bottom: 8px;
	border-radius: 10px;
	background: color-mix(in srgb, var(--wpnc-primary) 12%, transparent);
	font-size: 0.78rem;
	color: var(--wpnc-text-muted);
}

.wpnc-handoff-bar .wpnc-btn-sm {
	padding: 4px 10px;
	font-size: 0.75rem;
	white-space: nowrap;
}

.wpnc-offline-success-btn:hover {
	transform: translateY(-1px);
	background: var(--wpnc-primary-dark) !important;
}

/* Gapistan Chat — Channels */

/* ── Channels feed + product cards ── */
.wpnc-launcher-channels .wpnc-float-btn { background: var(--wpnc-channels-color, #8b5cf6) !important; }
.wpnc-float-wrap.wpnc-dual-launcher .wpnc-launcher-channels { margin-top: 0; }

.wpnc-sidebar-channels .wpnc-room-item {
	border-radius: 14px;
	margin-bottom: 4px;
}

.wpnc-sidebar-channels .wpnc-room-preview {
	font-size: .78rem;
}

.wpnc-channel-notice {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	width: 100%;
	max-width: min(100%, 520px);
	margin: 0 auto 12px;
	padding: 12px 14px;
	border-radius: 14px;
	border: 1px solid color-mix(in srgb, var(--wpnc-primary) 22%, var(--wpnc-border));
	background: color-mix(in srgb, var(--wpnc-primary) 8%, var(--wpnc-surface));
	color: var(--wpnc-text);
	flex-shrink: 0;
	direction: rtl;
	text-align: right;
}

.wpnc-channel-notice-icon {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: color-mix(in srgb, var(--wpnc-primary) 14%, var(--wpnc-surface));
	color: var(--wpnc-primary);
}

.wpnc-channel-notice-text {
	margin: 0;
	font-size: .84rem;
	line-height: 1.55;
	white-space: pre-wrap;
	word-break: break-word;
	color: var(--wpnc-text);
}

.wpnc-channel-post { width: 100%; max-width: 100%; }
.wpnc-channel-post .wpnc-bubble-row { justify-content: stretch; }
.wpnc-channel-post .wpnc-bubble-wrap { max-width: 100%; width: 100%; }
.wpnc-channel-bubble {
	width: 100%;
	border-radius: 16px;
	background: var(--wpnc-bubble-other);
	border: 1px solid var(--wpnc-border);
	box-shadow: none;
}

.wpnc-channel-post-head {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.wpnc-channel-post-head time {
	margin-inline-start: auto;
	color: var(--wpnc-text-muted);
	font-size: .72rem;
}

.wpnc-msg.is-pinned .wpnc-channel-bubble {
	border-color: color-mix(in srgb, var(--wpnc-primary) 40%, var(--wpnc-border));
	background: color-mix(in srgb, var(--wpnc-primary) 12%, var(--wpnc-bubble-other));
}

.wpnc-msg-pin-badge {
	display: inline-flex;
	align-items: center;
	font-size: 11px;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--wpnc-primary) 16%, var(--wpnc-surface));
	color: var(--wpnc-primary);
}

.wpnc-video-attach {
	width: 100%;
	max-width: 100%;
	border-radius: 12px;
	background: #000;
}

.wpnc-product-card {
	display: flex;
	gap: 12px;
	align-items: stretch;
	text-decoration: none;
	color: inherit;
	border: 1px solid var(--wpnc-border);
	border-radius: 14px;
	overflow: hidden;
	background: var(--wpnc-surface);
	transition: transform .15s, box-shadow .15s;
}

.wpnc-product-card:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 28px color-mix(in srgb, var(--wpnc-text) 8%, transparent);
}

.wpnc-product-card-img {
	width: 96px;
	min-height: 96px;
	object-fit: cover;
	flex-shrink: 0;
}

.wpnc-product-card-body {
	padding: 12px 14px 12px 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.wpnc-product-card-body strong { font-size: 15px; color: var(--wpnc-text); }
.wpnc-product-card-price { color: var(--wpnc-primary); font-weight: 700; }
.wpnc-product-card-body p { margin: 0; color: var(--wpnc-text-muted); font-size: 13px; }

[data-wpnc-theme="dark"] .wpnc-channel-bubble,
[data-wpnc-theme="dark"] .wpnc-product-card {
	box-shadow: none;
}

[data-wpnc-theme="dark"] .wpnc-msg.is-pinned .wpnc-channel-bubble {
	background: color-mix(in srgb, var(--wpnc-primary) 18%, var(--wpnc-bubble-other));
}

/* Gapistan Chat — Theme conflict guard
 * Soft reset lives in _reset.css. This file keeps !important overrides
 * for aggressive theme rules without nuking plugin layout.
 */

:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	#wpnc-app,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap,
	.wpnc-inbox-frame,
	.wpnc-admin-wrap,
	.wpnc-modal-overlay,
	.wpnc-root
) :is(h1, h2, h3, h4, h5, h6, p, figure, blockquote, ul, ol) {
	margin: 0 !important;
	padding: 0 !important;
}

:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	#wpnc-app,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap,
	.wpnc-inbox-frame,
	.wpnc-admin-wrap,
	.wpnc-modal-overlay,
	.wpnc-root
) :is(
	button,
	input[type="button"],
	input[type="submit"],
	input[type="reset"],
	.wpnc-btn,
	.wpnc-tab,
	.wpnc-hub-btn,
	.wpnc-theme-mode-btn,
	.wpnc-swatch
) {
	box-sizing: border-box !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	box-shadow: none !important;
	text-shadow: none !important;
	font-family: inherit !important;
}

:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	#wpnc-app,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap,
	.wpnc-inbox-frame,
	.wpnc-admin-wrap,
	.wpnc-modal-overlay,
	.wpnc-root
) :is(
	button.wpnc-icon-btn,
	button.wpnc-send-btn,
	button.wpnc-float-btn,
	button.wpnc-float-close,
	button.wpnc-modal-back,
	.wpnc-chat-header button,
	.wpnc-chat-header--float button,
	.wpnc-full-modal-header button,
	.wpnc-composer-tools button,
	.wpnc-composer-row > button.wpnc-send-btn,
	.wpnc-composer .wpnc-reply-bar-close
) {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background-image: none !important;
	min-height: 0 !important;
	line-height: 1 !important;
	overflow: visible !important;
	cursor: pointer !important;
	flex-shrink: 0 !important;
}

:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	#wpnc-app,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap,
	.wpnc-inbox-frame,
	.wpnc-admin-wrap,
	.wpnc-modal-overlay,
	.wpnc-root
) :is(
	.wpnc-chat-header .wpnc-icon-btn,
	.wpnc-chat-header--float .wpnc-icon-btn,
	.wpnc-chat-header .wpnc-float-close,
	.wpnc-chat-header--float .wpnc-float-close,
	.wpnc-full-modal-header .wpnc-icon-btn,
	.wpnc-full-modal-header .wpnc-float-close,
	.wpnc-full-modal-header .wpnc-modal-back
) {
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	min-height: 34px !important;
	max-width: none !important;
	max-height: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 50% !important;
	background: transparent !important;
}

:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	#wpnc-app,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap,
	.wpnc-inbox-frame,
	.wpnc-admin-wrap,
	.wpnc-modal-overlay,
	.wpnc-root
) .wpnc-composer-tools .wpnc-icon-btn {
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	min-height: 34px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: var(--wpnc-text-muted) !important;
}

:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	#wpnc-app,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap,
	.wpnc-inbox-frame,
	.wpnc-admin-wrap,
	.wpnc-modal-overlay,
	.wpnc-root
) button.wpnc-send-btn {
	width: 40px !important;
	height: 40px !important;
	min-width: 40px !important;
	min-height: 40px !important;
	max-width: none !important;
	max-height: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 50% !important;
	background: var(--wpnc-primary) !important;
	color: var(--wpnc-on-primary, #0f172a) !important;
}

:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	#wpnc-app,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap,
	.wpnc-inbox-frame,
	.wpnc-admin-wrap,
	.wpnc-modal-overlay,
	.wpnc-root
) :is(input, textarea, select) {
	box-sizing: border-box !important;
	margin: 0 !important;
	font-family: inherit !important;
	letter-spacing: normal !important;
	box-shadow: none !important;
}

:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	#wpnc-app,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap,
	.wpnc-inbox-frame,
	.wpnc-admin-wrap,
	.wpnc-modal-overlay,
	.wpnc-root
) .wpnc-composer textarea,
:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	#wpnc-app,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap,
	.wpnc-inbox-frame,
	.wpnc-admin-wrap,
	.wpnc-modal-overlay,
	.wpnc-root
) #wpnc-input {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	height: 40px !important;
	min-height: 40px !important;
	max-height: 120px !important;
	display: block !important;
	resize: none !important;
	overflow-y: auto !important;
	border: none !important;
	outline: none !important;
	box-sizing: border-box !important;
	background: var(--wpnc-input-bg) !important;
	color: var(--wpnc-text) !important;
}

:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	#wpnc-app,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap,
	.wpnc-inbox-frame,
	.wpnc-admin-wrap,
	.wpnc-modal-overlay,
	.wpnc-root
) .wpnc-composer {
	display: block !important;
	flex-shrink: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
}

:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	#wpnc-app,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap,
	.wpnc-inbox-frame,
	.wpnc-admin-wrap,
	.wpnc-modal-overlay,
	.wpnc-root
) .wpnc-composer-row {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	width: 100% !important;
	min-width: 0 !important;
	gap: 8px !important;
}

:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	#wpnc-app,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap,
	.wpnc-inbox-frame,
	.wpnc-admin-wrap,
	.wpnc-modal-overlay,
	.wpnc-root
) .wpnc-composer-tools {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	flex-shrink: 0 !important;
	gap: 2px !important;
}

:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	#wpnc-app,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap,
	.wpnc-inbox-frame,
	.wpnc-admin-wrap,
	.wpnc-modal-overlay,
	.wpnc-root
) .wpnc-composer-input-wrap {
	flex: 1 1 0 !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: 100% !important;
}

:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	#wpnc-app,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap,
	.wpnc-inbox-frame,
	.wpnc-admin-wrap,
	.wpnc-modal-overlay,
	.wpnc-root
) .wpnc-float-panel {
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
}

:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	#wpnc-app,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap,
	.wpnc-inbox-frame,
	.wpnc-admin-wrap,
	.wpnc-modal-overlay,
	.wpnc-root
) .wpnc-float-chat,
:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	#wpnc-app,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap,
	.wpnc-inbox-frame,
	.wpnc-admin-wrap,
	.wpnc-modal-overlay,
	.wpnc-root
) .wpnc-main,
:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	#wpnc-app,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap,
	.wpnc-inbox-frame,
	.wpnc-admin-wrap,
	.wpnc-modal-overlay,
	.wpnc-root
) #wpnc-chat-area,
:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	#wpnc-app,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap,
	.wpnc-inbox-frame,
	.wpnc-admin-wrap,
	.wpnc-modal-overlay,
	.wpnc-root
) .wpnc-chat-area {
	display: flex !important;
	flex-direction: column !important;
	min-height: 0 !important;
	min-width: 0 !important;
}

:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	#wpnc-app,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap,
	.wpnc-inbox-frame,
	.wpnc-admin-wrap,
	.wpnc-modal-overlay,
	.wpnc-root
) .wpnc-bubble img.wpnc-img-attach,
:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	#wpnc-app,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap,
	.wpnc-inbox-frame,
	.wpnc-admin-wrap,
	.wpnc-modal-overlay,
	.wpnc-root
) .wpnc-attach-preview-thumb {
	display: block !important;
	max-width: min(100%, 280px) !important;
	width: auto !important;
	height: auto !important;
	object-fit: cover !important;
}

:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap
) input.wpnc-hidden,
:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap
) #wpnc-file-input {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* ── Late overrides (wins over theme + internal modules) ── */

#wpnc-chat-shell#wpnc-chat-shell button.wpnc-float-btn,
#wpnc-float-wrap#wpnc-float-wrap button.wpnc-float-btn {
	width: var(--wpnc-float-btn-size, 56px) !important;
	height: var(--wpnc-float-btn-size, 56px) !important;
	min-width: var(--wpnc-float-btn-size, 56px) !important;
	min-height: var(--wpnc-float-btn-size, 56px) !important;
	max-width: var(--wpnc-float-btn-size, 56px) !important;
	max-height: var(--wpnc-float-btn-size, 56px) !important;
	border-radius: 50% !important;
	overflow: visible !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
	flex-shrink: 0 !important;
	line-height: 1 !important;
	clip-path: none !important;
	transform: none !important;
}

#wpnc-float-wrap#wpnc-float-wrap .wpnc-float-btn-wrap,
#wpnc-chat-shell#wpnc-chat-shell .wpnc-float-btn-wrap {
	position: relative !important;
	display: inline-flex !important;
	width: var(--wpnc-float-btn-size, 56px) !important;
	height: var(--wpnc-float-btn-size, 56px) !important;
	flex-shrink: 0 !important;
	overflow: visible !important;
}

#wpnc-float-wrap#wpnc-float-wrap .wpnc-float-launchers {
	display: flex !important;
	flex-direction: column-reverse !important;
	align-items: flex-end !important;
	align-content: flex-end !important;
	justify-content: flex-end !important;
	gap: 14px !important;
	position: relative !important;
	overflow: visible !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	width: auto !important;
	height: auto !important;
}

#wpnc-float-wrap#wpnc-float-wrap .wpnc-float-launcher {
	display: flex !important;
	flex-direction: row-reverse !important;
	align-items: center !important;
	gap: 12px !important;
	position: relative !important;
	flex: 0 0 auto !important;
	width: auto !important;
	height: auto !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	float: none !important;
	clear: both !important;
	overflow: visible !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

#wpnc-float-wrap#wpnc-float-wrap .wpnc-launcher-support .wpnc-float-btn:not(.wpnc-float-btn--custom) {
	background: var(--wpnc-float-launcher-support, var(--wpnc-primary)) !important;
}

#wpnc-float-wrap#wpnc-float-wrap .wpnc-launcher-rooms .wpnc-float-btn {
	background: var(--wpnc-float-launcher-rooms, var(--wpnc-rooms-color, #6366f1)) !important;
}

#wpnc-float-wrap#wpnc-float-wrap .wpnc-launcher-channels .wpnc-float-btn {
	background: var(--wpnc-channels-color, #8b5cf6) !important;
}

#wpnc-float-wrap#wpnc-float-wrap button.wpnc-float-btn--custom {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: 0 2px 12px rgba(0, 0, 0, .16) !important;
}

#wpnc-float-wrap#wpnc-float-wrap .wpnc-float-btn--custom .wpnc-float-btn-icon.wpnc-icon-open {
	inset: 0 !important;
	border-radius: 50% !important;
	overflow: hidden !important;
}

#wpnc-float-wrap#wpnc-float-wrap .wpnc-float-btn--custom .wpnc-float-custom-img,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-float-btn--custom .wpnc-icon-open img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	min-width: 0 !important;
	min-height: 0 !important;
	object-fit: cover !important;
	border-radius: 50% !important;
	display: block !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	background: none !important;
	box-shadow: none !important;
}

#wpnc-float-wrap#wpnc-float-wrap .wpnc-float-btn-icon {
	position: absolute !important;
	inset: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	pointer-events: none !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-chat-header--float .wpnc-icon-btn,
#wpnc-chat-shell#wpnc-chat-shell .wpnc-chat-header--float .wpnc-float-close,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-chat-header--float .wpnc-icon-btn,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-chat-header--float .wpnc-float-close,
#wpnc-chat-shell#wpnc-chat-shell .wpnc-chat-header .wpnc-icon-btn,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-chat-header .wpnc-icon-btn,
#wpnc-app#wpnc-app .wpnc-chat-header .wpnc-icon-btn,
#wpnc-app#wpnc-app .wpnc-chat-header .wpnc-theme-toggle {
	color: var(--wpnc-chat-header-text, #fff) !important;
	background: transparent !important;
	background-color: transparent !important;
	opacity: 1 !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-chat-header--float .wpnc-icon-btn svg,
#wpnc-chat-shell#wpnc-chat-shell .wpnc-chat-header--float .wpnc-float-close svg,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-chat-header--float .wpnc-icon-btn svg,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-chat-header--float .wpnc-float-close svg,
#wpnc-app#wpnc-app .wpnc-chat-header .wpnc-icon-btn svg,
#wpnc-app#wpnc-app .wpnc-chat-header .wpnc-theme-toggle svg {
	stroke: currentColor !important;
	color: inherit !important;
	opacity: 1 !important;
}

/* Launcher labels: never inherit white header chrome onto the site page. */
#wpnc-float-wrap#wpnc-float-wrap .wpnc-float-btn-label,
#wpnc-chat-shell#wpnc-chat-shell .wpnc-float-btn-label {
	background: #ffffff !important;
	color: #0f172a !important;
	border-color: #e5e7eb !important;
	opacity: 1 !important;
}

/* Conversation actions menu — isolate from header chrome color. */
#wpnc-app#wpnc-app .wpnc-chat-header .wpnc-conv-menu,
#wpnc-chat-shell#wpnc-chat-shell .wpnc-chat-header .wpnc-conv-menu,
.wpnc-inbox-frame .wpnc-chat-header .wpnc-conv-menu,
.wpnc-conv-menu.wpnc-conv-menu--portal,
body > .wpnc-conv-menu.is-open {
	background: #ffffff !important;
	color: #0f172a !important;
	border: 1px solid #e5e7eb !important;
	z-index: 2147483646 !important;
}

body > .wpnc-conv-menu.is-open,
.wpnc-conv-menu.wpnc-conv-menu--portal.is-open {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	position: fixed !important;
}

#wpnc-app#wpnc-app .wpnc-chat-header .wpnc-conv-menu-item,
#wpnc-chat-shell#wpnc-chat-shell .wpnc-chat-header .wpnc-conv-menu-item,
.wpnc-inbox-frame .wpnc-chat-header .wpnc-conv-menu-item,
.wpnc-conv-menu--portal .wpnc-conv-menu-item {
	color: #0f172a !important;
	-webkit-text-fill-color: #0f172a !important;
	background: transparent !important;
	opacity: 1 !important;
}

#wpnc-app#wpnc-app .wpnc-chat-header .wpnc-conv-menu-item.wpnc-conv-menu-danger,
#wpnc-chat-shell#wpnc-chat-shell .wpnc-chat-header .wpnc-conv-menu-item.wpnc-conv-menu-danger,
.wpnc-inbox-frame .wpnc-chat-header .wpnc-conv-menu-item.wpnc-conv-menu-danger,
.wpnc-conv-menu--portal .wpnc-conv-menu-item.wpnc-conv-menu-danger {
	color: #ef4444 !important;
	-webkit-text-fill-color: #ef4444 !important;
}

[data-wpnc-theme="dark"] #wpnc-app#wpnc-app .wpnc-chat-header .wpnc-conv-menu,
[data-wpnc-theme="dark"] #wpnc-chat-shell#wpnc-chat-shell .wpnc-chat-header .wpnc-conv-menu,
[data-wpnc-theme="dark"] .wpnc-inbox-frame .wpnc-chat-header .wpnc-conv-menu,
[data-wpnc-theme="dark"] .wpnc-conv-menu.wpnc-conv-menu--portal {
	background: #1c2733 !important;
	color: #e8edf2 !important;
	border-color: #2b3949 !important;
}

[data-wpnc-theme="dark"] #wpnc-app#wpnc-app .wpnc-chat-header .wpnc-conv-menu-item,
[data-wpnc-theme="dark"] #wpnc-chat-shell#wpnc-chat-shell .wpnc-chat-header .wpnc-conv-menu-item,
[data-wpnc-theme="dark"] .wpnc-inbox-frame .wpnc-chat-header .wpnc-conv-menu-item,
[data-wpnc-theme="dark"] .wpnc-conv-menu--portal .wpnc-conv-menu-item {
	color: #e8edf2 !important;
	-webkit-text-fill-color: #e8edf2 !important;
}

[data-wpnc-theme="dark"] #wpnc-app#wpnc-app .wpnc-chat-header .wpnc-conv-menu-item.wpnc-conv-menu-danger,
[data-wpnc-theme="dark"] #wpnc-chat-shell#wpnc-chat-shell .wpnc-chat-header .wpnc-conv-menu-item.wpnc-conv-menu-danger,
[data-wpnc-theme="dark"] .wpnc-conv-menu--portal .wpnc-conv-menu-item.wpnc-conv-menu-danger {
	color: #f87171 !important;
	-webkit-text-fill-color: #f87171 !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-composer,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-composer {
	flex: 0 0 auto !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-composer-row,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-composer-row {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	align-content: center !important;
	justify-content: flex-start !important;
	width: 100% !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	gap: 8px !important;
	position: relative !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-composer-row > *,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-composer-row > * {
	float: none !important;
	clear: none !important;
	position: relative !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	transform: none !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-composer-tools,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-composer-tools {
	display: flex !important;
	flex: 0 0 auto !important;
	flex-direction: row !important;
	align-items: center !important;
	position: static !important;
	width: auto !important;
	height: auto !important;
	z-index: 2 !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-composer-input-wrap,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-composer-input-wrap {
	flex: 1 1 auto !important;
	align-self: center !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: 120px !important;
	position: relative !important;
	display: block !important;
	overflow: hidden !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-composer textarea,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-composer textarea,
#wpnc-chat-shell#wpnc-chat-shell #wpnc-input,
#wpnc-float-wrap#wpnc-float-wrap #wpnc-input {
	position: static !important;
	float: none !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 9px 14px !important;
	border: none !important;
	border-radius: 20px !important;
	background: var(--wpnc-input-bg) !important;
	background-color: var(--wpnc-input-bg) !important;
	color: var(--wpnc-text) !important;
	box-shadow: none !important;
	resize: none !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	line-height: 1.45 !important;
	font-size: .875rem !important;
	font-family: inherit !important;
	box-sizing: border-box !important;
	height: 40px !important;
	min-height: 40px !important;
	max-height: 120px !important;
	field-sizing: content;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-composer .wpnc-send-btn,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-composer .wpnc-send-btn,
#wpnc-chat-shell#wpnc-chat-shell button.wpnc-send-btn,
#wpnc-float-wrap#wpnc-float-wrap button.wpnc-send-btn {
	flex: 0 0 auto !important;
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	min-height: 44px !important;
	max-width: 44px !important;
	max-height: 44px !important;
	border-radius: 50% !important;
	background: var(--wpnc-primary) !important;
	background-color: var(--wpnc-primary) !important;
	color: var(--wpnc-on-primary, #0f172a) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
	z-index: 30 !important;
	touch-action: manipulation !important;
	pointer-events: auto !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-composer .wpnc-send-btn svg,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-composer .wpnc-send-btn svg {
	stroke: var(--wpnc-on-primary, #0f172a) !important;
	color: var(--wpnc-on-primary, #0f172a) !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-composer-tools .wpnc-icon-btn,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-composer-tools .wpnc-icon-btn {
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	min-height: 34px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: var(--wpnc-text-muted) !important;
}

/* ── Emoji picker (inside composer; must not inherit composer button reset) ── */

#wpnc-chat-shell#wpnc-chat-shell .wpnc-emoji-picker,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-emoji-picker,
#wpnc-full-modal#wpnc-full-modal .wpnc-emoji-picker {
	position: absolute !important;
	bottom: calc(100% + 8px) !important;
	inset-inline-end: 0 !important;
	inset-inline-start: auto !important;
	right: 0 !important;
	left: auto !important;
	width: 320px !important;
	max-width: calc(100vw - 32px) !important;
	background: var(--wpnc-surface) !important;
	border: 1px solid var(--wpnc-border) !important;
	border-radius: 12px !important;
	box-shadow: 0 8px 32px rgba(0, 0, 0, .12) !important;
	z-index: 200 !important;
	overflow: hidden !important;
	display: block !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-emoji-picker.hidden,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-emoji-picker.hidden {
	display: none !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-emoji-tabs,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-emoji-tabs,
#wpnc-full-modal#wpnc-full-modal .wpnc-emoji-tabs {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	gap: 2px !important;
	padding: 8px 8px 0 !important;
	margin: 0 !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	border-bottom: 1px solid var(--wpnc-border) !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

#wpnc-chat-shell#wpnc-chat-shell button.wpnc-emoji-tab,
#wpnc-float-wrap#wpnc-float-wrap button.wpnc-emoji-tab,
#wpnc-full-modal#wpnc-full-modal button.wpnc-emoji-tab {
	flex: 0 0 auto !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 6px 10px !important;
	border: none !important;
	border-radius: 6px 6px 0 0 !important;
	background: transparent !important;
	background-image: none !important;
	color: var(--wpnc-muted) !important;
	font-family: inherit !important;
	font-size: .75rem !important;
	font-weight: 400 !important;
	line-height: 1.3 !important;
	white-space: nowrap !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	cursor: pointer !important;
	display: inline-block !important;
	box-shadow: none !important;
	float: none !important;
	position: relative !important;
	overflow: visible !important;
}

#wpnc-chat-shell#wpnc-chat-shell button.wpnc-emoji-tab.active,
#wpnc-float-wrap#wpnc-float-wrap button.wpnc-emoji-tab.active,
#wpnc-full-modal#wpnc-full-modal button.wpnc-emoji-tab.active {
	background: var(--wpnc-bg-soft) !important;
	color: var(--wpnc-primary) !important;
	font-weight: 600 !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-emoji-grid,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-emoji-grid,
#wpnc-full-modal#wpnc-full-modal .wpnc-emoji-grid {
	display: grid !important;
	grid-template-columns: repeat(8, 1fr) !important;
	gap: 2px !important;
	padding: 8px !important;
	max-height: 220px !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

#wpnc-chat-shell#wpnc-chat-shell button.wpnc-emoji-item,
#wpnc-float-wrap#wpnc-float-wrap button.wpnc-emoji-item,
#wpnc-full-modal#wpnc-full-modal button.wpnc-emoji-item {
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	min-height: 34px !important;
	max-width: 34px !important;
	max-height: 34px !important;
	margin: 0 !important;
	padding: 6px !important;
	border: none !important;
	border-radius: 6px !important;
	background: transparent !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 1.35rem !important;
	line-height: 1 !important;
	cursor: pointer !important;
	box-shadow: none !important;
	float: none !important;
}

/* ── Reply bar, attach preview, message menu, quick reactions ── */

#wpnc-chat-shell#wpnc-chat-shell .wpnc-reply-bar:not(.hidden),
#wpnc-float-wrap#wpnc-float-wrap .wpnc-reply-bar:not(.hidden) {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 10px !important;
	width: 100% !important;
	padding: 8px 12px !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-reply-bar.hidden,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-reply-bar.hidden {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-attach-preview:not(.hidden),
#wpnc-float-wrap#wpnc-float-wrap .wpnc-attach-preview:not(.hidden) {
	display: block !important;
	padding: 8px 12px 0 !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-attach-preview.hidden,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-attach-preview.hidden {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-attach-preview-inner,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-attach-preview-inner {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 10px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-msg-menu:not(.hidden):not(.is-fixed),
#wpnc-float-wrap#wpnc-float-wrap .wpnc-msg-menu:not(.hidden):not(.is-fixed),
.wpnc-app .wpnc-msg-menu:not(.hidden):not(.is-fixed) {
	position: absolute !important;
	top: calc(100% + 4px) !important;
	inset-inline-end: 0 !important;
	inset-inline-start: auto !important;
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	gap: 2px !important;
	width: max-content !important;
	min-width: 0 !important;
	padding: 4px !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	background: var(--wpnc-surface) !important;
	border: 1px solid var(--wpnc-border) !important;
	border-radius: 8px !important;
	box-shadow: 0 4px 16px rgba(15, 23, 42, .14) !important;
	z-index: 50 !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-msg-menu.hidden,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-msg-menu.hidden,
.wpnc-app .wpnc-msg-menu.hidden,
body > .wpnc-msg-menu.hidden,
.wpnc-msg-menu.wpnc-msg-menu--portal.hidden,
#wpnc-msg-menu-portal.hidden {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-msg-menu.is-fixed:not(.hidden),
#wpnc-float-wrap#wpnc-float-wrap .wpnc-msg-menu.is-fixed:not(.hidden),
.wpnc-app .wpnc-msg-menu.is-fixed:not(.hidden),
body > .wpnc-msg-menu:not(.hidden),
.wpnc-msg-menu.wpnc-msg-menu--portal:not(.hidden),
#wpnc-msg-menu-portal:not(.hidden) {
	position: fixed !important;
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	gap: 2px !important;
	width: max-content !important;
	min-width: 0 !important;
	padding: 4px !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	background: var(--wpnc-surface) !important;
	border: 1px solid var(--wpnc-border) !important;
	border-radius: 8px !important;
	box-shadow: 0 4px 16px rgba(15, 23, 42, .14) !important;
	z-index: 2147483646 !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

#wpnc-chat-shell#wpnc-chat-shell button.wpnc-msg-menu-item,
#wpnc-float-wrap#wpnc-float-wrap button.wpnc-msg-menu-item,
.wpnc-app button.wpnc-msg-menu-item {
	width: 28px !important;
	height: 28px !important;
	min-width: 28px !important;
	min-height: 28px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	border-radius: 6px !important;
	background: transparent !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	cursor: pointer !important;
	box-shadow: none !important;
	float: none !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-quick-reactions,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-quick-reactions,
.wpnc-app .wpnc-quick-reactions {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 4px !important;
	padding: 6px 8px !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-quick-reactions button,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-quick-reactions button,
.wpnc-app .wpnc-quick-reactions button {
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	min-height: 34px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	border-radius: 50% !important;
	background: transparent !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	box-shadow: none !important;
	float: none !important;
}

/* ── Msg menu (always visible; theme often hides button svg) ── */

#wpnc-chat-shell#wpnc-chat-shell .wpnc-msg-menu-wrap,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-msg-menu-wrap,
.wpnc-app .wpnc-msg-menu-wrap {
	position: relative !important;
	opacity: 0.82 !important;
	pointer-events: auto !important;
	visibility: visible !important;
	align-self: center !important;
	flex: 0 0 auto !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-bubble-header .wpnc-msg-menu-wrap,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-bubble-header .wpnc-msg-menu-wrap,
#wpnc-chat-shell#wpnc-chat-shell .wpnc-bubble-footer .wpnc-msg-menu-wrap,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-bubble-footer .wpnc-msg-menu-wrap,
.wpnc-app .wpnc-bubble-header .wpnc-msg-menu-wrap,
.wpnc-app .wpnc-bubble-footer .wpnc-msg-menu-wrap {
	margin-inline-start: auto !important;
	margin-top: 0 !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-msg:hover .wpnc-msg-menu-wrap,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-msg:hover .wpnc-msg-menu-wrap,
#wpnc-chat-shell#wpnc-chat-shell .wpnc-msg-menu-wrap.is-open,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-msg-menu-wrap.is-open,
.wpnc-app .wpnc-msg:hover .wpnc-msg-menu-wrap,
.wpnc-app .wpnc-msg-menu-wrap.is-open {
	opacity: 1 !important;
}

#wpnc-chat-shell#wpnc-chat-shell button.wpnc-msg-menu-btn,
#wpnc-float-wrap#wpnc-float-wrap button.wpnc-msg-menu-btn,
.wpnc-app button.wpnc-msg-menu-btn {
	width: 22px !important;
	height: 22px !important;
	min-width: 22px !important;
	min-height: 22px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	border-radius: 6px !important;
	background: transparent !important;
	background-image: none !important;
	color: var(--wpnc-text-muted) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	opacity: 1 !important;
	visibility: visible !important;
	cursor: pointer !important;
	box-shadow: none !important;
	float: none !important;
	line-height: 1 !important;
}

#wpnc-chat-shell#wpnc-chat-shell button.wpnc-msg-menu-btn svg,
#wpnc-float-wrap#wpnc-float-wrap button.wpnc-msg-menu-btn svg,
.wpnc-app button.wpnc-msg-menu-btn svg {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 14px !important;
	height: 14px !important;
	max-width: none !important;
	max-height: none !important;
	fill: currentColor !important;
	color: inherit !important;
	stroke: none !important;
	pointer-events: none !important;
}

#wpnc-chat-shell#wpnc-chat-shell button.wpnc-msg-menu-btn svg circle,
#wpnc-float-wrap#wpnc-float-wrap button.wpnc-msg-menu-btn svg circle,
.wpnc-app button.wpnc-msg-menu-btn svg circle {
	fill: currentColor !important;
}

/* ── Gate / search inputs (theme often sets huge min-height or wrong colors) ── */

#wpnc-chat-shell#wpnc-chat-shell .wpnc-gate-input,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-gate-input,
#wpnc-full-modal#wpnc-full-modal .wpnc-gate-input,
.wpnc-app .wpnc-gate-input {
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	font-size: .75rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.01em !important;
	line-height: 1.45 !important;
	box-sizing: border-box !important;
	color: var(--wpnc-text) !important;
	-webkit-text-fill-color: var(--wpnc-text) !important;
	caret-color: var(--wpnc-text) !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-gate-input::placeholder,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-gate-input::placeholder,
#wpnc-full-modal#wpnc-full-modal .wpnc-gate-input::placeholder,
.wpnc-app .wpnc-gate-input::placeholder {
	color: var(--wpnc-text-muted) !important;
	-webkit-text-fill-color: var(--wpnc-text-muted) !important;
	font-size: .72rem !important;
	font-weight: 400 !important;
	opacity: 0.85 !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-gate-field,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-gate-field,
#wpnc-full-modal#wpnc-full-modal .wpnc-gate-field,
.wpnc-app .wpnc-gate-field {
	background: var(--wpnc-input-bg) !important;
	background-color: var(--wpnc-input-bg) !important;
	border: 1px solid var(--wpnc-border) !important;
	color: var(--wpnc-text) !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-gate-field-label,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-gate-field-label,
.wpnc-app .wpnc-gate-field-label {
	color: var(--wpnc-text-muted) !important;
}

#wpnc-chat-shell#wpnc-chat-shell .wpnc-search input,
#wpnc-float-wrap#wpnc-float-wrap .wpnc-search input,
.wpnc-app .wpnc-search input {
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 8px 12px 8px 36px !important;
	margin: 0 !important;
	border: 1px solid var(--wpnc-border) !important;
	border-radius: var(--wpnc-radius-sm) !important;
	background: var(--wpnc-input-bg) !important;
	box-sizing: border-box !important;
	font-size: .875rem !important;
	line-height: 1.4 !important;
}

/* Gapistan Chat — True Glassmorphism
 * Anatomy: vibrant bg → blur → frosted fill → border → shadow → content
 * Must load AFTER theme-guard.
 */

/* ── Tokens ── */
:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	#wpnc-app,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap,
	.wpnc-inbox-frame,
	.wpnc-admin-wrap,
	.wpnc-modal-overlay
)[data-wpnc-ui-style="glass"],
.wpnc-is-glass {
	--wpnc-glass-blur: 32px;
	--wpnc-glass-sat: 1.85;
	--wpnc-glass-fill: rgba(255, 255, 255, 0.12);
	--wpnc-glass-fill-strong: rgba(255, 255, 255, 0.22);
	--wpnc-glass-fill-soft: rgba(255, 255, 255, 0.06);
	--wpnc-glass-stroke: rgba(255, 255, 255, 0.42);
	--wpnc-glass-stroke-soft: rgba(255, 255, 255, 0.22);
	--wpnc-glass-shine: inset 0 1px 0 rgba(255, 255, 255, 0.5);
	--wpnc-glass-shadow: 0 16px 48px rgba(15, 23, 42, 0.28), 0 4px 14px rgba(15, 23, 42, 0.12);
	--wpnc-glass-tint: color-mix(in srgb, var(--wpnc-primary) 55%, #6366f1 45%);
	--wpnc-glass-tint-2: color-mix(in srgb, var(--wpnc-primary) 35%, #ec4899 65%);
	--wpnc-glass-tint-3: color-mix(in srgb, var(--wpnc-primary) 70%, #0ea5e9 30%);
	--wpnc-glass-radius: 22px;
}

:is(
	#wpnc-chat-shell,
	#wpnc-float-wrap,
	#wpnc-full-modal,
	#wpnc-app,
	.wpnc-page-wrap,
	.wpnc-support-page-wrap,
	.wpnc-inbox-frame,
	.wpnc-admin-wrap,
	.wpnc-modal-overlay
)[data-wpnc-ui-style="glass"][data-wpnc-theme="dark"],
.wpnc-is-glass[data-wpnc-theme="dark"] {
	--wpnc-glass-fill: rgba(15, 23, 42, 0.22);
	--wpnc-glass-fill-strong: rgba(15, 23, 42, 0.34);
	--wpnc-glass-fill-soft: rgba(255, 255, 255, 0.05);
	--wpnc-glass-stroke: rgba(255, 255, 255, 0.22);
	--wpnc-glass-stroke-soft: rgba(255, 255, 255, 0.12);
	--wpnc-glass-shine: inset 0 1px 0 rgba(255, 255, 255, 0.16);
	--wpnc-glass-shadow: 0 18px 52px rgba(0, 0, 0, 0.5), 0 4px 16px rgba(0, 0, 0, 0.28);
}

@media (prefers-color-scheme: dark) {
	:is(
		#wpnc-chat-shell,
		#wpnc-float-wrap,
		#wpnc-full-modal,
		#wpnc-app,
		.wpnc-page-wrap,
		.wpnc-support-page-wrap
	)[data-wpnc-ui-style="glass"][data-wpnc-theme="auto"],
	.wpnc-is-glass[data-wpnc-theme="auto"] {
		--wpnc-glass-fill: rgba(15, 23, 42, 0.22);
		--wpnc-glass-fill-strong: rgba(15, 23, 42, 0.34);
		--wpnc-glass-fill-soft: rgba(255, 255, 255, 0.05);
		--wpnc-glass-stroke: rgba(255, 255, 255, 0.22);
		--wpnc-glass-stroke-soft: rgba(255, 255, 255, 0.12);
		--wpnc-glass-shine: inset 0 1px 0 rgba(255, 255, 255, 0.16);
		--wpnc-glass-shadow: 0 18px 52px rgba(0, 0, 0, 0.5), 0 4px 16px rgba(0, 0, 0, 0.28);
	}
}

/* ── 1) Vibrant BACKGROUND (required for glass to read) ── */
.wpnc-page-wrap[data-wpnc-ui-style="glass"],
.wpnc-support-page-wrap[data-wpnc-ui-style="glass"] {
	background:
		radial-gradient(900px 520px at 8% -5%, var(--wpnc-glass-tint), transparent 58%),
		radial-gradient(780px 460px at 95% 8%, var(--wpnc-glass-tint-2), transparent 55%),
		radial-gradient(700px 420px at 50% 110%, var(--wpnc-glass-tint-3), transparent 50%),
		linear-gradient(145deg,
			color-mix(in srgb, var(--wpnc-primary) 82%, #0f172a),
			color-mix(in srgb, var(--wpnc-primary) 45%, #1e1b4b 55%),
			color-mix(in srgb, var(--wpnc-accent, #6366f1) 55%, #0f172a)
		) !important;
	background-attachment: fixed;
	padding: 16px !important;
	border-radius: 0 !important;
	min-height: 100%;
	box-sizing: border-box;
}

#wpnc-full-modal[data-wpnc-ui-style="glass"] .wpnc-full-modal-backdrop {
	background:
		radial-gradient(900px 520px at 8% -5%, var(--wpnc-glass-tint), transparent 58%),
		radial-gradient(780px 460px at 95% 8%, var(--wpnc-glass-tint-2), transparent 55%),
		linear-gradient(145deg,
			color-mix(in srgb, var(--wpnc-primary) 75%, #0f172a),
			color-mix(in srgb, var(--wpnc-primary) 40%, #1e1b4b 60%)
		) !important;
	opacity: 1 !important;
	backdrop-filter: blur(8px) saturate(1.2);
	-webkit-backdrop-filter: blur(8px) saturate(1.2);
}

/* Floating panel glass (no page-bleed glow) */
#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-float-panel,
#wpnc-float-wrap[data-wpnc-ui-style="glass"] .wpnc-float-panel {
	z-index: 1;
	background: linear-gradient(
		165deg,
		color-mix(in srgb, var(--wpnc-primary) 26%, rgba(255,255,255,.1)),
		rgba(15, 23, 42, 0.32) 48%,
		rgba(15, 23, 42, 0.22)
	) !important;
}

/* ── 2–5) Glass card: blur + frosted fill + border + shadow ── */
#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-float-panel,
#wpnc-float-wrap[data-wpnc-ui-style="glass"] .wpnc-float-panel,
#wpnc-full-modal[data-wpnc-ui-style="glass"] .wpnc-full-modal-inner,
.wpnc-page-wrap[data-wpnc-ui-style="glass"] .wpnc-app,
.wpnc-support-page-wrap[data-wpnc-ui-style="glass"] .wpnc-app,
#wpnc-app[data-wpnc-ui-style="glass"],
#wpnc-app#wpnc-app[data-wpnc-ui-style="glass"],
.wpnc-page-wrap[data-wpnc-ui-style="glass"] > .wpnc-app,
.wpnc-support-page-wrap[data-wpnc-ui-style="glass"] > .wpnc-app {
	background: linear-gradient(
		160deg,
		color-mix(in srgb, var(--wpnc-primary) 28%, var(--wpnc-glass-fill)),
		var(--wpnc-glass-fill)
	) !important;
	backdrop-filter: blur(var(--wpnc-glass-blur)) saturate(var(--wpnc-glass-sat)) !important;
	-webkit-backdrop-filter: blur(var(--wpnc-glass-blur)) saturate(var(--wpnc-glass-sat)) !important;
	border: 1px solid var(--wpnc-glass-stroke) !important;
	border-radius: var(--wpnc-glass-radius) !important;
	box-shadow: var(--wpnc-glass-shadow), var(--wpnc-glass-shine) !important;
	overflow: hidden !important;
}

#wpnc-full-modal[data-wpnc-ui-style="glass"] .wpnc-full-modal-inner {
	border-radius: 20px !important;
}

/* ── Header glass strip ── */
#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-chat-header,
#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-chat-header--float,
#wpnc-float-wrap[data-wpnc-ui-style="glass"] .wpnc-chat-header--float,
#wpnc-full-modal[data-wpnc-ui-style="glass"] .wpnc-full-modal-header,
.wpnc-page-wrap[data-wpnc-ui-style="glass"] .wpnc-chat-header,
.wpnc-support-page-wrap[data-wpnc-ui-style="glass"] .wpnc-chat-header,
#wpnc-app[data-wpnc-ui-style="glass"] .wpnc-chat-header {
	background: linear-gradient(
		135deg,
		color-mix(in srgb, var(--wpnc-primary) 72%, transparent),
		color-mix(in srgb, var(--wpnc-primary) 48%, rgba(255, 255, 255, 0.12))
	) !important;
	backdrop-filter: blur(16px) saturate(1.5) !important;
	-webkit-backdrop-filter: blur(16px) saturate(1.5) !important;
	border-bottom: 1px solid var(--wpnc-glass-stroke-soft) !important;
	box-shadow: var(--wpnc-glass-shine) !important;
	color: #fff !important;
}

#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-chat-header *,
#wpnc-float-wrap[data-wpnc-ui-style="glass"] .wpnc-chat-header--float *,
#wpnc-full-modal[data-wpnc-ui-style="glass"] .wpnc-full-modal-header *,
.wpnc-page-wrap[data-wpnc-ui-style="glass"] .wpnc-chat-header *,
#wpnc-app[data-wpnc-ui-style="glass"] .wpnc-chat-header * {
	color: inherit;
}

/* ── Sidebar / files ── */
#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-sidebar,
#wpnc-full-modal[data-wpnc-ui-style="glass"] .wpnc-sidebar,
.wpnc-page-wrap[data-wpnc-ui-style="glass"] .wpnc-sidebar,
#wpnc-app[data-wpnc-ui-style="glass"] .wpnc-sidebar,
#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-files-panel,
.wpnc-page-wrap[data-wpnc-ui-style="glass"] .wpnc-files-panel,
#wpnc-app[data-wpnc-ui-style="glass"] .wpnc-files-panel {
	background: var(--wpnc-glass-fill-soft) !important;
	backdrop-filter: blur(14px) saturate(1.4) !important;
	-webkit-backdrop-filter: blur(14px) saturate(1.4) !important;
	border-color: var(--wpnc-glass-stroke-soft) !important;
}

/* ── Messages plane ── */
#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-messages,
#wpnc-float-wrap[data-wpnc-ui-style="glass"] .wpnc-messages,
#wpnc-full-modal[data-wpnc-ui-style="glass"] .wpnc-messages,
.wpnc-page-wrap[data-wpnc-ui-style="glass"] .wpnc-messages,
#wpnc-app[data-wpnc-ui-style="glass"] .wpnc-messages,
#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-main,
.wpnc-page-wrap[data-wpnc-ui-style="glass"] .wpnc-main,
#wpnc-app[data-wpnc-ui-style="glass"] .wpnc-main {
	background:
		linear-gradient(180deg, rgba(255,255,255,.05), transparent 35%, rgba(0,0,0,.06)),
		var(--wpnc-glass-fill-soft) !important;
}

/* ── Bubbles as mini glass chips (keep opposite tails) ── */
#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-bubble,
#wpnc-float-wrap[data-wpnc-ui-style="glass"] .wpnc-bubble,
#wpnc-full-modal[data-wpnc-ui-style="glass"] .wpnc-bubble,
.wpnc-page-wrap[data-wpnc-ui-style="glass"] .wpnc-bubble,
#wpnc-app[data-wpnc-ui-style="glass"] .wpnc-bubble {
	backdrop-filter: blur(12px) saturate(1.3) !important;
	-webkit-backdrop-filter: blur(12px) saturate(1.3) !important;
	border: 1px solid var(--wpnc-glass-stroke-soft) !important;
	box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12), var(--wpnc-glass-shine) !important;
}

/* Outer tails: support/other → bottom-left, mine → bottom-right */
#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-msg.other .wpnc-bubble,
#wpnc-float-wrap[data-wpnc-ui-style="glass"] .wpnc-msg.other .wpnc-bubble,
#wpnc-full-modal[data-wpnc-ui-style="glass"] .wpnc-msg.other .wpnc-bubble,
.wpnc-page-wrap[data-wpnc-ui-style="glass"] .wpnc-msg.other .wpnc-bubble,
#wpnc-app[data-wpnc-ui-style="glass"] .wpnc-msg.other .wpnc-bubble {
	border-radius: 16px 16px 16px 4px !important;
}

#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-msg.mine .wpnc-bubble,
#wpnc-float-wrap[data-wpnc-ui-style="glass"] .wpnc-msg.mine .wpnc-bubble,
#wpnc-full-modal[data-wpnc-ui-style="glass"] .wpnc-msg.mine .wpnc-bubble,
.wpnc-page-wrap[data-wpnc-ui-style="glass"] .wpnc-msg.mine .wpnc-bubble,
#wpnc-app[data-wpnc-ui-style="glass"] .wpnc-msg.mine .wpnc-bubble {
	border-radius: 16px 16px 4px 16px !important;
}

#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-msg.mine .wpnc-bubble,
#wpnc-float-wrap[data-wpnc-ui-style="glass"] .wpnc-msg.mine .wpnc-bubble,
#wpnc-full-modal[data-wpnc-ui-style="glass"] .wpnc-msg.mine .wpnc-bubble,
.wpnc-page-wrap[data-wpnc-ui-style="glass"] .wpnc-msg.mine .wpnc-bubble,
#wpnc-app[data-wpnc-ui-style="glass"] .wpnc-msg.mine .wpnc-bubble {
	background: color-mix(in srgb, var(--wpnc-primary) 55%, rgba(255, 255, 255, 0.22)) !important;
	color: #fff !important;
	border-color: color-mix(in srgb, #fff 35%, var(--wpnc-primary)) !important;
}

#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-msg:not(.mine) .wpnc-bubble,
#wpnc-float-wrap[data-wpnc-ui-style="glass"] .wpnc-msg:not(.mine) .wpnc-bubble,
#wpnc-full-modal[data-wpnc-ui-style="glass"] .wpnc-msg:not(.mine) .wpnc-bubble,
.wpnc-page-wrap[data-wpnc-ui-style="glass"] .wpnc-msg:not(.mine) .wpnc-bubble,
#wpnc-app[data-wpnc-ui-style="glass"] .wpnc-msg:not(.mine) .wpnc-bubble {
	background: var(--wpnc-glass-fill-strong) !important;
	border-color: var(--wpnc-glass-stroke) !important;
}

/* ── Composer glass bar ── */
#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-composer,
#wpnc-float-wrap[data-wpnc-ui-style="glass"] .wpnc-composer,
#wpnc-full-modal[data-wpnc-ui-style="glass"] .wpnc-composer,
.wpnc-page-wrap[data-wpnc-ui-style="glass"] .wpnc-composer,
#wpnc-app[data-wpnc-ui-style="glass"] .wpnc-composer,
#wpnc-chat-shell#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-composer,
#wpnc-float-wrap#wpnc-float-wrap[data-wpnc-ui-style="glass"] .wpnc-composer {
	background: color-mix(in srgb, var(--wpnc-primary) 12%, var(--wpnc-glass-fill-strong)) !important;
	backdrop-filter: blur(18px) saturate(1.45) !important;
	-webkit-backdrop-filter: blur(18px) saturate(1.45) !important;
	border-top: 1px solid var(--wpnc-glass-stroke-soft) !important;
	box-shadow: var(--wpnc-glass-shine) !important;
}

#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-composer textarea,
#wpnc-float-wrap[data-wpnc-ui-style="glass"] .wpnc-composer textarea,
#wpnc-full-modal[data-wpnc-ui-style="glass"] .wpnc-composer textarea,
.wpnc-page-wrap[data-wpnc-ui-style="glass"] .wpnc-composer textarea,
#wpnc-app[data-wpnc-ui-style="glass"] #wpnc-input,
#wpnc-chat-shell#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-composer textarea,
#wpnc-float-wrap#wpnc-float-wrap[data-wpnc-ui-style="glass"] .wpnc-composer textarea {
	background: rgba(255, 255, 255, 0.22) !important;
	border: 1px solid var(--wpnc-glass-stroke) !important;
	box-shadow: var(--wpnc-glass-shine) !important;
	color: var(--wpnc-text) !important;
}

#wpnc-chat-shell[data-wpnc-ui-style="glass"][data-wpnc-theme="dark"] .wpnc-composer textarea,
#wpnc-app[data-wpnc-ui-style="glass"][data-wpnc-theme="dark"] #wpnc-input,
.wpnc-page-wrap[data-wpnc-ui-style="glass"][data-wpnc-theme="dark"] .wpnc-composer textarea {
	background: rgba(255, 255, 255, 0.08) !important;
	color: #f8fafc !important;
}

#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-send-btn,
#wpnc-float-wrap[data-wpnc-ui-style="glass"] .wpnc-send-btn,
#wpnc-full-modal[data-wpnc-ui-style="glass"] .wpnc-send-btn,
.wpnc-page-wrap[data-wpnc-ui-style="glass"] .wpnc-send-btn,
#wpnc-app[data-wpnc-ui-style="glass"] .wpnc-send-btn,
#wpnc-chat-shell#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-composer .wpnc-send-btn,
#wpnc-float-wrap#wpnc-float-wrap[data-wpnc-ui-style="glass"] .wpnc-composer .wpnc-send-btn {
	background: linear-gradient(145deg, color-mix(in srgb, var(--wpnc-primary) 88%, #fff), var(--wpnc-primary)) !important;
	box-shadow:
		0 8px 22px color-mix(in srgb, var(--wpnc-primary) 45%, transparent),
		inset 0 1px 0 rgba(255, 255, 255, 0.4) !important;
	border: 1px solid color-mix(in srgb, #fff 30%, var(--wpnc-primary)) !important;
}

#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-icon-btn,
#wpnc-float-wrap[data-wpnc-ui-style="glass"] .wpnc-icon-btn,
.wpnc-page-wrap[data-wpnc-ui-style="glass"] .wpnc-icon-btn,
#wpnc-app[data-wpnc-ui-style="glass"] .wpnc-icon-btn {
	background: rgba(255, 255, 255, 0.16) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	border: 1px solid var(--wpnc-glass-stroke-soft) !important;
	box-shadow: none !important;
	border-radius: 12px !important;
}

/* ── Room list / tabs as glass chips ── */
#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-room-item,
#wpnc-full-modal[data-wpnc-ui-style="glass"] .wpnc-room-item,
.wpnc-page-wrap[data-wpnc-ui-style="glass"] .wpnc-room-item,
#wpnc-app[data-wpnc-ui-style="glass"] .wpnc-room-item,
#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-tab,
.wpnc-page-wrap[data-wpnc-ui-style="glass"] .wpnc-tab,
#wpnc-app[data-wpnc-ui-style="glass"] .wpnc-tab {
	background: rgba(255, 255, 255, 0.12) !important;
	border: 1px solid var(--wpnc-glass-stroke-soft) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	border-radius: 14px !important;
	box-shadow: var(--wpnc-glass-shine) !important;
}

#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-room-item.is-active,
#wpnc-full-modal[data-wpnc-ui-style="glass"] .wpnc-room-item.is-active,
.wpnc-page-wrap[data-wpnc-ui-style="glass"] .wpnc-room-item.is-active,
#wpnc-app[data-wpnc-ui-style="glass"] .wpnc-room-item.is-active,
#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-tab.is-active,
.wpnc-page-wrap[data-wpnc-ui-style="glass"] .wpnc-tab.is-active,
#wpnc-app[data-wpnc-ui-style="glass"] .wpnc-tab.is-active {
	background: color-mix(in srgb, var(--wpnc-primary) 28%, rgba(255, 255, 255, 0.18)) !important;
	border-color: color-mix(in srgb, var(--wpnc-primary) 45%, #fff) !important;
}

/* ── Launchers ── */
#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-float-btn,
#wpnc-float-wrap[data-wpnc-ui-style="glass"] .wpnc-float-btn {
	backdrop-filter: blur(14px) saturate(1.4) !important;
	-webkit-backdrop-filter: blur(14px) saturate(1.4) !important;
	border: 1px solid rgba(255, 255, 255, 0.35) !important;
	box-shadow:
		0 12px 32px color-mix(in srgb, var(--wpnc-primary) 40%, transparent),
		inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
}

/* ── Gate / emoji / offline ── */
#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-gate,
#wpnc-float-wrap[data-wpnc-ui-style="glass"] .wpnc-gate,
.wpnc-page-wrap[data-wpnc-ui-style="glass"] .wpnc-gate,
#wpnc-app[data-wpnc-ui-style="glass"] .wpnc-gate,
#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-offline-form,
.wpnc-page-wrap[data-wpnc-ui-style="glass"] .wpnc-offline-form,
#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-emoji-picker,
#wpnc-float-wrap[data-wpnc-ui-style="glass"] .wpnc-emoji-picker,
#wpnc-full-modal[data-wpnc-ui-style="glass"] .wpnc-emoji-picker,
#wpnc-chat-shell#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-emoji-picker,
#wpnc-float-wrap#wpnc-float-wrap[data-wpnc-ui-style="glass"] .wpnc-emoji-picker {
	background: color-mix(in srgb, var(--wpnc-primary) 10%, var(--wpnc-glass-fill-strong)) !important;
	backdrop-filter: blur(20px) saturate(1.5) !important;
	-webkit-backdrop-filter: blur(20px) saturate(1.5) !important;
	border: 1px solid var(--wpnc-glass-stroke) !important;
	box-shadow: var(--wpnc-glass-shadow), var(--wpnc-glass-shine) !important;
	border-radius: 16px !important;
}

/* ── Fallback without backdrop-filter ── */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	#wpnc-chat-shell[data-wpnc-ui-style="glass"] .wpnc-float-panel,
	#wpnc-full-modal[data-wpnc-ui-style="glass"] .wpnc-full-modal-inner,
	.wpnc-page-wrap[data-wpnc-ui-style="glass"] .wpnc-app,
	#wpnc-app[data-wpnc-ui-style="glass"] {
		background: color-mix(in srgb, var(--wpnc-primary) 18%, rgba(255, 255, 255, 0.92)) !important;
	}
}

/* Gapistan Chat — Responsive */

/* ── Msg menu mobile ── */
@media (max-width: 768px) {
	.wpnc-msg-menu-wrap {
		opacity: 1;
		pointer-events: auto;
	}

	.wpnc-msg-menu-item {
		width: 30px;
		height: 30px;
	}
}

/* ── Gate responsive ── */
@media (max-width: 768px) {
	.wpnc-gate-screen {
		padding: 16px 12px max(28px, env(safe-area-inset-bottom, 0px));
		align-items: center;
		justify-content: center;
	}

	.wpnc-gate-card {
		padding: 16px 14px 14px;
		border-radius: 14px;
		margin: auto;
		width: min(100%, 300px);
	}

	.wpnc-gate-visual {
		margin-bottom: 10px;
		gap: 6px;
	}

	.wpnc-gate-icon {
		width: 44px;
		height: 44px;
		border-radius: 12px;
	}

	.wpnc-gate-icon svg {
		width: 22px;
		height: 22px;
	}

	.wpnc-gate-badge {
		font-size: 0.68rem;
		padding: 3px 8px;
	}

	.wpnc-gate-form {
		gap: 10px;
	}

	.wpnc-gate-field {
		gap: 8px;
	}

	.wpnc-app > .wpnc-gate-screen,
	.wpnc-app > .wpnc-offline-form-wrap {
		padding-bottom: max(32px, env(safe-area-inset-bottom, 0px));
	}

	.wpnc-gate-submit {
		font-size: 0.78rem;
		min-height: 40px;
	}

	.wpnc-gate-title {
		font-size: 0.86rem;
	}

	.wpnc-gate-desc {
		font-size: 0.68rem;
		margin-bottom: 12px;
		line-height: 1.6;
	}
}

/* ── 1024px ── */
@media (max-width: 1024px) {
	.wpnc-layout,
	.wpnc-layout-full {
		grid-template-columns: minmax(240px, 280px) minmax(0, 1fr);
	}
	.wpnc-files-panel { display: none; }
	.wpnc-mode-admin .wpnc-layout { grid-template-columns: 220px minmax(0, 1fr); }
}

/* ── 768px main responsive ── */
@media (max-width: 768px) {
	.wpnc-page-wrap,
	.wpnc-page-wrap-mobile {
		margin: 0;
		width: 100vw;
		max-width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		padding: 0;
		overflow: hidden;
	}

	.wpnc-app,
	.wpnc-app.wpnc-fullpage,
	.wpnc-support-widget {
		display: flex;
		flex-direction: column;
		width: 100% !important;
		max-width: 100% !important;
		height: 100dvh;
		min-height: 100dvh;
		max-height: 100dvh;
		border-radius: 0;
		border: none;
		box-shadow: none;
	}

	.wpnc-admin-wrap .wpnc-app {
		height: calc(100dvh - 96px);
		min-height: 360px;
		max-height: none;
	}

	.wpnc-layout,
	.wpnc-layout-full,
	.wpnc-layout-compact .wpnc-layout {
		display: flex !important;
		flex-direction: column;
		grid-template-columns: 1fr !important;
		position: relative;
		width: 100%;
		height: 100%;
		min-height: 0;
		min-width: 0;
	}

	.wpnc-sidebar {
		position: absolute;
		inset: 0;
		z-index: 30;
		width: 100%;
		max-width: 100%;
		transform: translate3d(0, 0, 0);
		transition: transform 0.16s ease, opacity 0.16s ease;
		will-change: transform;
	}

	.wpnc-sidebar.hidden-mobile {
		transform: translate3d(100%, 0, 0);
		opacity: 0;
		pointer-events: none;
	}

	.wpnc-main {
		flex: 1;
		display: flex;
		flex-direction: column;
		width: 100%;
		min-width: 0;
		min-height: 0;
		height: 100%;
		overflow: hidden;
	}

	#wpnc-chat-area,
	.wpnc-chat-area {
		flex: 1;
		display: flex;
		flex-direction: column;
		min-height: 0;
		height: auto;
		overflow: hidden;
	}

	.wpnc-chat-header {
		padding: 8px 10px;
		min-height: 50px;
		gap: 6px;
	}

	.wpnc-chat-header h3 {
		font-size: .88rem;
	}

	.wpnc-tabs {
		flex-wrap: nowrap;
		overflow-x: auto;
		max-width: 46vw;
		-webkit-overflow-scrolling: touch;
	}

	.wpnc-tabs .wpnc-tab {
		padding: 5px 9px;
		font-size: .72rem;
		white-space: nowrap;
	}

	.wpnc-messages {
		flex: 1;
		min-height: 0;
		padding: 8px 6px;
		gap: 8px;
	}

	.wpnc-bubble {
		max-width: 88%;
		font-size: .875rem;
	}

	.wpnc-composer {
		flex-shrink: 0;
		padding: 8px;
		padding-bottom: max(8px, env(safe-area-inset-bottom, 0px));
		background: var(--wpnc-surface);
		border-top: 1px solid var(--wpnc-border);
	}

	.wpnc-composer-row {
		align-items: center;
		gap: 6px;
	}

	.wpnc-composer-tools {
		flex-shrink: 0;
	}

	.wpnc-composer-input-wrap {
		flex: 1;
		min-width: 0;
	}

	.wpnc-composer textarea {
		font-size: 16px;
		min-height: 42px;
		line-height: 1.4;
		padding: 10px 14px;
		border-radius: 21px;
	}

	.wpnc-icon-btn,
	.wpnc-send-btn {
		width: 42px;
		height: 42px;
		min-width: 42px;
		min-height: 42px;
		flex-shrink: 0;
		touch-action: manipulation;
	}

	.wpnc-mobile-back {
		display: flex !important;
	}

	.wpnc-mobile-toggle-files {
		display: flex !important;
	}

	.wpnc-files-panel {
		display: none !important;
	}

	.wpnc-files-panel.mobile-open {
		display: flex !important;
		flex-direction: column;
		position: absolute;
		inset: 0;
		z-index: 35;
		width: 100%;
		padding: 12px;
		padding-bottom: max(12px, env(safe-area-inset-bottom, 0px));
	}

	.wpnc-room-item {
		padding: 12px 10px;
	}

	.wpnc-emoji-picker {
		left: 8px;
		right: 8px;
		width: auto;
		max-width: none;
	}
}

/* ── 480px ── */
@media (max-width: 480px) {
	.wpnc-composer-tools {
		max-width: min(46vw, 168px);
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.wpnc-composer-tools::-webkit-scrollbar {
		display: none;
	}

	.wpnc-bubble {
		max-width: 92%;
	}

	.wpnc-chat-header-end .wpnc-tabs {
		max-width: 38vw;
	}
}

/* ── Mobile utilities ── */
.wpnc-mobile-back {
	display: none;
}

.wpnc-mobile-toggle-files {
	display: none;
}

@media (max-width: 768px) {
	.wpnc-mobile-toggle-files { display: flex; }
}

/* ── Hidden utility ── */
#wpnc-chat-shell .hidden,
#wpnc-chat-shell .wpnc-hidden,
#wpnc-float-wrap .hidden,
#wpnc-float-wrap .wpnc-hidden,
#wpnc-full-modal .hidden,
#wpnc-full-modal .wpnc-hidden,
.wpnc-app .hidden,
.wpnc-app .wpnc-hidden,
.wpnc-page-wrap .hidden,
.wpnc-page-wrap .wpnc-hidden,
.wpnc-support-page-wrap .hidden,
.wpnc-support-page-wrap .wpnc-hidden,
.wpnc-admin-wrap .hidden,
.wpnc-admin-wrap .wpnc-hidden {
	display: none !important;
}

/* ── Float position responsive ── */
@media (min-width: 769px) {
	#wpnc-chat-shell .wpnc-float-wrap.is-open .wpnc-float-panel {
		bottom: var(--wpnc-desktop-bottom, 28px);
	}
}

@media (max-width: 768px) {
	#wpnc-chat-shell .wpnc-float-wrap.wpnc-pos-bottom-left,
	#wpnc-chat-shell .wpnc-float-wrap.wpnc-pos-bottom-right {
		bottom: var(--wpnc-mobile-bottom, 16px);
	}

	#wpnc-chat-shell.wpnc-mobile-sticky-menu .wpnc-float-wrap.wpnc-pos-bottom-left,
	#wpnc-chat-shell.wpnc-mobile-sticky-menu .wpnc-float-wrap.wpnc-pos-bottom-right {
		bottom: calc(var(--wpnc-mobile-bottom, 16px) + var(--wpnc-mobile-sticky-offset, 60px));
	}

	#wpnc-chat-shell.wpnc-mobile-sticky-menu .wpnc-float-wrap.is-open .wpnc-float-panel {
		bottom: calc(var(--wpnc-mobile-bottom, 16px) + var(--wpnc-mobile-sticky-offset, 60px));
	}

	#wpnc-chat-shell[data-wpnc-mobile-pos="bottom-right"] #wpnc-float-wrap {
		left: auto !important;
		right: var(--wpnc-mobile-side, 16px) !important;
	}

	#wpnc-chat-shell[data-wpnc-mobile-pos="bottom-left"] #wpnc-float-wrap {
		right: auto !important;
		left: var(--wpnc-mobile-side, 16px) !important;
	}
}

/* ── Float 480px responsive ── */
@media (max-width: 480px) {
	.wpnc-float-wrap.wpnc-pos-bottom-left,
	.wpnc-float-wrap.wpnc-pos-bottom-right {
		bottom: var(--wpnc-mobile-bottom, 16px);
		left: var(--wpnc-mobile-side, 16px);
		right: auto;
	}

	#wpnc-chat-shell.wpnc-mobile-sticky-menu .wpnc-float-wrap.wpnc-pos-bottom-left,
	#wpnc-chat-shell.wpnc-mobile-sticky-menu .wpnc-float-wrap.wpnc-pos-bottom-right {
		bottom: calc(var(--wpnc-mobile-bottom, 16px) + var(--wpnc-mobile-sticky-offset, 60px));
	}

	.wpnc-float-wrap.wpnc-pos-bottom-right {
		left: auto;
		right: var(--wpnc-mobile-side, 16px);
	}

	#wpnc-chat-shell[data-wpnc-mobile-pos="bottom-right"] #wpnc-float-wrap {
		left: auto !important;
		right: var(--wpnc-mobile-side, 16px) !important;
	}

	#wpnc-chat-shell[data-wpnc-mobile-pos="bottom-left"] #wpnc-float-wrap {
		right: auto !important;
		left: var(--wpnc-mobile-side, 16px) !important;
	}

	.wpnc-float-panel {
		width: calc(100vw - 32px);
		left: 0 !important;
		right: auto !important;
		height: calc(100vh - 110px);
		max-height: none;
		bottom: 76px;
	}

	#wpnc-chat-shell.wpnc-mobile-sticky-menu .wpnc-float-panel {
		bottom: calc(76px + var(--wpnc-mobile-sticky-offset, 60px));
	}

	.wpnc-float-wrap.is-open .wpnc-float-panel {
		width: 100vw;
		left: 0 !important;
		right: 0 !important;
		height: calc(100dvh - 16px);
		max-height: calc(100dvh - 16px);
		bottom: 0;
		border-radius: 16px 16px 0 0;
	}

	.wpnc-float-wrap.wpnc-pos-bottom-right .wpnc-float-panel {
		right: 0 !important;
		left: auto !important;
	}

	.wpnc-float-chat .wpnc-layout {
		grid-template-columns: 1fr;
	}

	.wpnc-float-chat .wpnc-sidebar {
		position: absolute;
		inset: 0;
		z-index: 5;
	}

	.wpnc-float-chat .wpnc-sidebar.hidden-mobile {
		transform: translateX(100%);
	}
}

/* ── Public rooms responsive ── */
@media (min-width: 769px) {
	.wpnc-public-rooms-shell .wpnc-files-toggle-visible {
		display: flex !important;
	}

	.wpnc-public-rooms-shell .wpnc-mobile-back {
		display: none !important;
	}
}

@media (max-width: 768px) {
	.wpnc-public-rooms-shell {
		grid-template-columns: 1fr !important;
	}
}

/* ── Full modal 768px ── */
@media (max-width: 768px) {
	.wpnc-app.wpnc-fullpage {
		height: 100dvh;
		min-height: 100dvh;
		max-height: 100dvh;
		border-radius: 0;
	}

	.wpnc-page-wrap {
		margin: 0;
		width: 100%;
		max-width: 100%;
	}

	.wpnc-full-modal {
		padding: 0;
	}

	.wpnc-full-modal-inner {
		width: 100%;
		height: 100dvh;
		max-height: 100dvh;
		border-radius: 0;
		transform: translate3d(100%, 0, 0);
		transition: transform .28s cubic-bezier(.32, .72, 0, 1);
		box-shadow: none;
	}

	.wpnc-full-modal.is-open .wpnc-full-modal-inner {
		transform: translate3d(0, 0, 0);
	}

	.wpnc-full-modal-header .wpnc-float-close {
		display: none;
	}

	.wpnc-modal-back {
		display: flex;
	}

	body.wpnc-modal-open .wpnc-float-launchers,
	body.wpnc-modal-open #wpnc-float-wrap {
		opacity: 0;
		pointer-events: none;
	}

	.wpnc-layout-full {
		grid-template-columns: 1fr !important;
	}
}

/* ── Handoff card 480px ── */
@media (max-width: 480px) {
	.wpnc-handoff-card {
		flex-wrap: wrap;
	}

	.wpnc-handoff-prompt {
		width: 100%;
	}
}
