/**
 * Finlyzer — Modern Chic Fintech Design System
 *
 * Visual Strategy:
 *  - Deep obsidian and slate dark-mode palette (#080C14 / #0E1420 / #141C2C)
 *  - High-contrast precision typography with tabular figures for numbers
 *  - Glowing severity signals (amber/rust for leakage, emerald for optimal)
 *  - Polished micro-interactions and smooth hardware-accelerated animations
 *  - Zero third-party web font calls for instant loading, privacy, and GDPR safety
 */

:root {
	--fl-bg-base: #090D16;
	--fl-bg-surface: #101623;
	--fl-bg-elevated: #161F30;
	--fl-bg-hover: #1C263B;

	--fl-border-subtle: rgba(255, 255, 255, 0.07);
	--fl-border-medium: rgba(255, 255, 255, 0.12);
	--fl-border-highlight: rgba(255, 255, 255, 0.20);

	--fl-text-primary: #F3F5F8;
	--fl-text-secondary: #94A3B8;
	--fl-text-muted: #64748B;

	/* Semantic Accents */
	--fl-loss-primary: #F43F5E;
	--fl-loss-glow: rgba(244, 63, 94, 0.18);
	--fl-loss-bg: rgba(244, 63, 94, 0.08);

	--fl-warn-primary: #F59E0B;
	--fl-warn-glow: rgba(245, 158, 11, 0.20);
	--fl-warn-bg: rgba(245, 158, 11, 0.08);

	--fl-success-primary: #10B981;
	--fl-success-glow: rgba(16, 185, 129, 0.18);
	--fl-success-bg: rgba(16, 185, 129, 0.08);

	--fl-accent-cyan: #06B6D4;
	--fl-accent-purple: #8B5CF6;
	--fl-accent-indigo: #6366F1;

	/* Fluent 2 Design Tokens (Subtle modern rounded rectangles, no circular pills) */
	--fl-radius-xs: 2px;
	--fl-radius-badge: 4px; /* Fluent 2 badges, chips & status tags */
	--fl-radius-sm: 4px;    /* Fluent 2 buttons & form controls */
	--fl-radius-md: 6px;    /* Fluent 2 cards, panels & dropdowns */
	--fl-radius-lg: 8px;    /* Fluent 2 major container boundaries */
	--fl-radius-full: 4px;  /* Deprecated circular pill replaced with Fluent 2 subtle 4px */

	--fl-font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Inter", Helvetica, Arial, sans-serif;
	--fl-font-mono: ui-monospace, "SF Mono", "Cascadia Code", "Roboto Mono", Menlo, Consolas, monospace;

	--fl-shadow-card: 0 10px 25px -5px rgba(0, 0, 0, 0.45), 0 8px 10px -6px rgba(0, 0, 0, 0.40);
	--fl-shadow-glow: 0 0 24px -4px var(--fl-warn-glow);
}

/* Base Wrapper */
#finlyzer-app,
.finlyzer-app {
	max-width: 1440px;
	width: calc(100% - 24px);
	margin: 20px auto 48px auto;
	padding: 28px;
	background: var(--fl-bg-base);
	border: 1px solid var(--fl-border-subtle);
	border-radius: var(--fl-radius-lg);
	box-shadow: var(--fl-shadow-card);
	font-family: var(--fl-font-ui);
	color: var(--fl-text-primary);
	line-height: 1.5;
	box-sizing: border-box;
}

#finlyzer-app *,
.finlyzer-app * {
	box-sizing: border-box;
}

@media (max-width: 768px) {
	#finlyzer-app,
	.finlyzer-app {
		width: 100%;
		margin: 12px 0 24px 0;
		padding: 16px;
		border-radius: var(--fl-radius-md);
	}
}

/* Main Responsive Dashboard Layout (Horizontal Desktop, Vertical Mobile) */
.finlyzer-main-layout {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin-bottom: 28px;
}

.finlyzer-main-layout__primary {
	container-type: inline-size;
	container-name: primary;
	min-width: 0;
}

.finlyzer-main-layout__sidebar {
	min-width: 0;
}

@media (min-width: 1024px) {
	.finlyzer-main-layout {
		display: grid;
		grid-template-columns: minmax(0, 1.65fr) minmax(360px, 1fr);
		gap: 28px;
		align-items: start;
	}

	.finlyzer-main-layout__sidebar {
		position: sticky;
		top: 24px;
	}
}

@media (min-width: 1400px) {
	.finlyzer-main-layout {
		grid-template-columns: minmax(0, 1.75fr) minmax(420px, 1fr);
		gap: 32px;
	}
}

/* Header & Brand Section */
/* Header & Brand Section */
.finlyzer-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--fl-border-subtle);
	margin-bottom: 24px;
}

.finlyzer-header__brand {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.finlyzer-header__identity {
	display: flex;
	align-items: center;
	gap: 12px;
}

.finlyzer-header__logo {
	width: 38px;
	height: 38px;
	flex-shrink: 0;
	border-radius: 9px;
	filter: drop-shadow(0 2px 8px rgba(29, 165, 234, 0.28));
	transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), filter 0.2s ease;
}

.finlyzer-header__logo:hover {
	transform: scale(1.06);
	filter: drop-shadow(0 4px 14px rgba(29, 165, 234, 0.45));
}

.finlyzer-header__controls {
	display: flex;
	align-items: center;
	gap: 12px;
}

.finlyzer-header__title {
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: -0.03em;
	margin: 0;
	color: #FFFFFF;
}

/* WordPress Admin Menu Icon polish */
#adminmenu .toplevel_page_finlyzer .wp-menu-image.svg {
	background-size: 19px 19px;
	background-position: center center;
	transition: transform 0.15s ease;
}

#adminmenu .toplevel_page_finlyzer:hover .wp-menu-image.svg {
	transform: scale(1.08);
}

.finlyzer-header__sub {
	margin: 0;
	font-size: 0.92rem;
	color: var(--fl-text-secondary);
	max-width: 58ch;
}

/* Timeframe Selector Controls */
.finlyzer-range-group {
	display: flex;
	background: var(--fl-bg-surface);
	border: 1px solid var(--fl-border-medium);
	border-radius: var(--fl-radius-md);
	padding: 4px;
	gap: 4px;
}

.finlyzer-range-btn {
	appearance: none;
	background: transparent;
	border: none;
	border-radius: var(--fl-radius-sm);
	padding: 8px 16px;
	font-family: var(--fl-font-mono);
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--fl-text-secondary);
	cursor: pointer;
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.finlyzer-range-btn:hover {
	color: #FFFFFF;
	background: var(--fl-bg-hover);
}

.finlyzer-range-btn:focus-visible {
	outline: 2px solid var(--fl-warn-primary);
	outline-offset: 1px;
}

.finlyzer-range-btn.is-active {
	background: #FFFFFF;
	color: #080C14;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

/* KPI & Overview Grid */
.finlyzer-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 20px;
	margin-bottom: 24px;
}

@container primary (max-width: 680px) {
	.finlyzer-grid {
		grid-template-columns: 1fr;
	}
}

.finlyzer-card {
	background: var(--fl-bg-surface);
	border: 1px solid var(--fl-border-subtle);
	border-radius: var(--fl-radius-md);
	padding: 24px;
	position: relative;
	overflow: hidden;
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.finlyzer-card:hover {
	border-color: var(--fl-border-medium);
}

/* Hero Metric Card */
.finlyzer-card--hero {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 200px;
	background: radial-gradient(circle at top right, rgba(244, 63, 94, 0.08), transparent 60%), var(--fl-bg-surface);
}

.finlyzer-card--hero.finlyzer-severity--optimal {
	background: radial-gradient(circle at top right, rgba(16, 185, 129, 0.08), transparent 60%), var(--fl-bg-surface);
}

.finlyzer-hero__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}

.finlyzer-card__eyebrow {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--fl-text-muted);
	text-transform: uppercase;
}

/* Severity Indicator Badges */
.finlyzer-severity-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 3px 8px;
	border-radius: var(--fl-radius-badge);
	font-family: var(--fl-font-ui);
	font-size: 0.70rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.finlyzer-pill-indicator {
	width: 6px;
	height: 6px;
	border-radius: 50%;
}

.finlyzer-severity-pill--critical {
	background: rgba(244, 63, 94, 0.15);
	border: 1px solid rgba(244, 63, 94, 0.35);
	color: #FB7185;
}
.finlyzer-severity-pill--critical .finlyzer-pill-indicator {
	background: #F43F5E;
	box-shadow: 0 0 6px #F43F5E;
}

.finlyzer-severity-pill--warning {
	background: rgba(245, 158, 11, 0.15);
	border: 1px solid rgba(245, 158, 11, 0.35);
	color: #FBBF24;
}
.finlyzer-severity-pill--warning .finlyzer-pill-indicator {
	background: #F59E0B;
	box-shadow: 0 0 6px #F59E0B;
}

.finlyzer-severity-pill--moderate {
	background: rgba(217, 119, 6, 0.15);
	border: 1px solid rgba(217, 119, 6, 0.3);
	color: #FCD34D;
}
.finlyzer-severity-pill--moderate .finlyzer-pill-indicator {
	background: #D97706;
}

.finlyzer-severity-pill--optimal {
	background: rgba(16, 185, 129, 0.15);
	border: 1px solid rgba(16, 185, 129, 0.35);
	color: #34D399;
}
.finlyzer-severity-pill--optimal .finlyzer-pill-indicator {
	background: #10B981;
}

.finlyzer-hero__figure {
	font-family: var(--fl-font-mono);
	font-size: clamp(2.25rem, 5vw, 3.25rem);
	font-weight: 700;
	color: #FFFFFF;
	line-height: 1.05;
	letter-spacing: -0.03em;
	font-variant-numeric: tabular-nums;
	margin: 8px 0;
	text-shadow: 0 2px 12px rgba(244, 63, 94, 0.25);
}

.finlyzer-severity--optimal .finlyzer-hero__figure {
	color: #34D399;
	text-shadow: 0 2px 12px rgba(16, 185, 129, 0.25);
}

.finlyzer-hero__context {
	font-size: 0.88rem;
	color: var(--fl-text-secondary);
}

/* KPI Secondary Stack (2x2 Responsive Grid) */
.finlyzer-kpi-stack {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

@media (max-width: 540px) {
	.finlyzer-kpi-stack {
		grid-template-columns: 1fr;
	}
}

.finlyzer-kpi-card {
	padding: 16px 18px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.finlyzer-kpi-label {
	font-size: 0.70rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: var(--fl-text-muted);
	margin-bottom: 4px;
}

.finlyzer-kpi-val {
	font-family: var(--fl-font-mono);
	font-size: 1.45rem;
	font-weight: 700;
	color: #FFFFFF;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.02em;
	margin-bottom: 2px;
}

.finlyzer-kpi-val.finlyzer-val--loss {
	color: #FDA4AF;
}

.finlyzer-kpi-sub {
	font-size: 0.75rem;
	color: var(--fl-text-muted);
}

/* Distribution Bar */
.finlyzer-distribution {
	background: var(--fl-bg-surface);
	border: 1px solid var(--fl-border-subtle);
	border-radius: var(--fl-radius-md);
	padding: 18px 20px;
	margin-bottom: 24px;
}

.finlyzer-distribution__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 12px;
}

.finlyzer-distribution__title {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--fl-text-secondary);
}

.finlyzer-distribution__legend {
	display: flex;
	gap: 14px;
	font-size: 0.76rem;
	color: var(--fl-text-secondary);
	font-family: var(--fl-font-mono);
}

.finlyzer-legend-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.finlyzer-legend-swatch {
	width: 8px;
	height: 8px;
	border-radius: 2px;
}

.finlyzer-distribution-bar {
	display: flex;
	height: 10px;
	border-radius: var(--fl-radius-full);
	overflow: hidden;
	background: rgba(255, 255, 255, 0.05);
}

.finlyzer-bar-segment {
	height: 100%;
	transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Distinct Currency Swatches */
.curr-eur { background: #38BDF8; }
.curr-gbp { background: #F59E0B; }
.curr-usd { background: #10B981; }
.curr-cad { background: #A855F7; }
.curr-aud { background: #EC4899; }
.curr-jpy { background: #E11D48; }
.curr-chf { background: #F97316; }

/* Detailed Ledger Table */
.finlyzer-ledger-card {
	background: var(--fl-bg-surface);
	border: 1px solid var(--fl-border-subtle);
	border-radius: var(--fl-radius-md);
	overflow: hidden;
	margin-bottom: 24px;
}

.finlyzer-ledger-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 20px;
	border-bottom: 1px solid var(--fl-border-subtle);
}

.finlyzer-ledger-title {
	font-size: 0.94rem;
	font-weight: 700;
	margin: 0;
	color: #FFFFFF;
}

.finlyzer-ledger-caption {
	font-size: 0.78rem;
	color: var(--fl-text-muted);
}

.finlyzer-ledger {
	width: 100%;
}

.finlyzer-ledger__row {
	display: grid;
	grid-template-columns: 1fr 1fr 1.5fr 1.2fr;
	align-items: center;
	padding: 14px 20px;
	border-top: 1px solid var(--fl-border-subtle);
	font-size: 0.88rem;
	transition: background 0.15s ease;
}

.finlyzer-ledger__row:first-child {
	border-top: none;
}

.finlyzer-ledger__row:not(.finlyzer-ledger__row--head):hover {
	background: var(--fl-bg-hover);
}

.finlyzer-ledger__row--head {
	background: rgba(255, 255, 255, 0.02);
	color: var(--fl-text-muted);
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.finlyzer-curr-badge {
	font-family: var(--fl-font-mono);
	font-size: 0.80rem;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: var(--fl-radius-sm);
	background: rgba(255, 255, 255, 0.08);
	color: #FFFFFF;
	letter-spacing: 0.02em;
}

.finlyzer-ledger__orders {
	font-family: var(--fl-font-mono);
	color: var(--fl-text-secondary);
}

.finlyzer-ledger__share {
	display: flex;
	align-items: center;
	gap: 10px;
}

.finlyzer-mini-bar {
	flex: 1;
	height: 6px;
	background: rgba(255, 255, 255, 0.06);
	border-radius: var(--fl-radius-full);
	overflow: hidden;
	max-width: 90px;
}

.finlyzer-mini-bar-fill {
	height: 100%;
	background: var(--fl-warn-primary);
	border-radius: var(--fl-radius-full);
}

.finlyzer-share-text {
	font-family: var(--fl-font-mono);
	font-size: 0.78rem;
	color: var(--fl-text-muted);
}

.finlyzer-ledger__loss {
	font-family: var(--fl-font-mono);
	font-weight: 600;
	color: #FDA4AF;
	font-variant-numeric: tabular-nums;
}

.finlyzer-text-right {
	text-align: right;
	justify-self: end;
}

.finlyzer-ledger__empty {
	grid-template-columns: 1fr;
	padding: 32px 20px;
	text-align: center;
	color: var(--fl-text-muted);
}

.finlyzer-empty-icon {
	color: var(--fl-success-primary);
	margin-right: 8px;
}

/* Margin Risk Sentinel Box (Fluent 2 Style) */
.finlyzer-sentinel-box {
	background: radial-gradient(circle at top left, rgba(245, 158, 11, 0.10), transparent 50%), #121824;
	border: 1px solid rgba(245, 158, 11, 0.30);
	border-radius: var(--fl-radius-md);
	padding: 22px 24px;
	margin-bottom: 24px;
	box-shadow: 0 8px 24px -6px rgba(0, 0, 0, 0.5);
	position: relative;
}

.finlyzer-sentinel-box--optimal {
	background: radial-gradient(circle at top left, rgba(16, 185, 129, 0.08), transparent 50%), #121824;
	border-color: rgba(16, 185, 129, 0.28);
}

.finlyzer-sentinel-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 14px;
}

.finlyzer-sentinel-title-wrap {
	display: flex;
	align-items: center;
	gap: 12px;
}

.finlyzer-sentinel-icon-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: var(--fl-radius-sm);
	background: rgba(245, 158, 11, 0.12);
	color: var(--fl-warn-primary);
	border: 1px solid rgba(245, 158, 11, 0.25);
}

.finlyzer-sentinel-box--optimal .finlyzer-sentinel-icon-wrap {
	background: rgba(16, 185, 129, 0.12);
	color: #10B981;
	border-color: rgba(16, 185, 129, 0.25);
}

.finlyzer-sentinel-title {
	font-size: 0.98rem;
	font-weight: 700;
	margin: 0;
	color: #FFFFFF;
}

.finlyzer-sentinel-subtitle {
	font-size: 0.76rem;
	color: var(--fl-text-muted);
	display: block;
}

.finlyzer-sentinel-tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(245, 158, 11, 0.10);
	border: 1px solid rgba(245, 158, 11, 0.25);
	padding: 3px 8px;
	border-radius: var(--fl-radius-badge);
	font-family: var(--fl-font-ui);
	font-size: 0.70rem;
	font-weight: 600;
	color: var(--fl-warn-primary);
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.finlyzer-sentinel-tag--optimal {
	background: rgba(16, 185, 129, 0.10);
	border-color: rgba(16, 185, 129, 0.25);
	color: #34D399;
}

.finlyzer-sentinel-pulse {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--fl-warn-primary);
	box-shadow: 0 0 6px var(--fl-warn-primary);
	animation: fl-pulse 1.8s infinite ease-in-out;
}

.finlyzer-sentinel-tag--optimal .finlyzer-sentinel-pulse {
	background: #10B981;
	box-shadow: 0 0 6px #10B981;
}

.finlyzer-sentinel-box--optimal .finlyzer-action-label {
	color: #34D399;
}

.finlyzer-sentinel-body {
	margin-bottom: 16px;
}

.finlyzer-sentinel-text {
	font-size: 0.94rem;
	line-height: 1.6;
	color: #E2E8F0;
	margin: 0;
	max-width: 78ch;
}

.finlyzer-sentinel-text--muted {
	color: var(--fl-text-secondary);
}

.finlyzer-sentinel-action {
	display: flex;
	align-items: baseline;
	gap: 8px;
	padding-top: 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	font-size: 0.82rem;
}

.finlyzer-action-label {
	font-weight: 700;
	color: var(--fl-warn-primary);
	text-transform: uppercase;
	letter-spacing: 0.03em;
	font-size: 0.74rem;
}

.finlyzer-action-text {
	color: var(--fl-text-secondary);
}

/* Skeletons */
.finlyzer-skeleton {
	border-radius: var(--fl-radius-md);
	background: linear-gradient(90deg, #121824 25%, #1A2334 37%, #121824 63%);
	background-size: 400% 100%;
	animation: fl-shimmer 1.4s ease infinite;
}

.finlyzer-skeleton--hero {
	height: 200px;
	margin-bottom: 20px;
}

.finlyzer-skeleton--ledger {
	height: 140px;
	margin-bottom: 20px;
}

.finlyzer-skeleton--insight {
	height: 120px;
}

/* Footer */
.finlyzer-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 20px;
	border-top: 1px solid var(--fl-border-subtle);
	font-size: 0.78rem;
	color: var(--fl-text-muted);
}

.finlyzer-footer__left {
	display: flex;
	align-items: center;
	gap: 8px;
}

.finlyzer-footer p {
	margin: 0;
}

.finlyzer-version-tag {
	font-family: var(--fl-font-mono);
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--fl-border-subtle);
	padding: 2px 8px;
	border-radius: var(--fl-radius-sm);
	font-size: 0.72rem;
}

/* Animations */
@keyframes fl-pulse {
	0%, 100% { transform: scale(1); opacity: 1; }
	50% { transform: scale(1.3); opacity: 0.6; }
}

@keyframes fl-shimmer {
	0% { background-position: 100% 50%; }
	100% { background-position: 0 50%; }
}

@media (prefers-reduced-motion: reduce) {
	.finlyzer-skeleton,
	.finlyzer-badge__dot,
	.finlyzer-sentinel-pulse {
		animation: none !important;
	}
}

/* Responsive Breakpoints */
@media (max-width: 768px) {
	.finlyzer-grid {
		grid-template-columns: 1fr;
	}

	.finlyzer-header {
		flex-direction: column;
		align-items: flex-start;
	}

	.finlyzer-distribution__header {
		flex-direction: column;
		align-items: flex-start;
	}

	.finlyzer-ledger__row {
		grid-template-columns: 1fr 1fr;
		row-gap: 6px;
	}

	.finlyzer-ledger__row--head {
		display: none;
	}

	.finlyzer-ledger__share {
		grid-column: span 2;
	}
}

/* ==========================================================================
   API Connection Lifecycle & Status System (v1.13.0)
   ========================================================================== */
.finlyzer-connection-status {
	margin-bottom: 24px;
	border-radius: var(--fl-radius-md);
	border: 1px solid var(--fl-border-subtle);
	background: var(--fl-bg-surface);
	transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
	overflow: hidden;
}

.finlyzer-connection-status__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 18px;
	gap: 16px;
	flex-wrap: wrap;
}

.finlyzer-connection-status__left {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 0.88rem;
	color: var(--fl-text-secondary);
}

.finlyzer-connection-status--connecting {
	border-color: rgba(56, 189, 248, 0.35);
	background: linear-gradient(90deg, rgba(56, 189, 248, 0.08), transparent 70%), var(--fl-bg-surface);
}

.finlyzer-connection-status--connecting .finlyzer-connection-status__text {
	color: #E2E8F0;
	font-weight: 500;
}

.finlyzer-connection-status--connected {
	opacity: 0;
	pointer-events: none;
	transform: translateY(-4px);
}

.finlyzer-connection-status--lost {
	border-color: rgba(239, 68, 68, 0.45);
	background: linear-gradient(90deg, rgba(239, 68, 68, 0.12), transparent 70%), var(--fl-bg-surface);
}

.finlyzer-connection-status--lost .finlyzer-connection-status__text {
	color: #FCA5A5;
	font-weight: 500;
}

.finlyzer-connection-spinner {
	display: inline-block;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(56, 189, 248, 0.25);
	border-top-color: #38BDF8;
	border-radius: 50%;
	animation: fl-spin 0.8s linear infinite;
	flex-shrink: 0;
}

.finlyzer-connection-icon {
	font-size: 1rem;
	line-height: 1;
	flex-shrink: 0;
}

.finlyzer-resync-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	appearance: none;
	background: rgba(245, 158, 11, 0.16);
	border: 1px solid rgba(245, 158, 11, 0.45);
	color: #FEF3C7;
	padding: 6px 14px;
	border-radius: var(--fl-radius-sm);
	font-size: 0.80rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
	margin-right: 8px;
}

.finlyzer-resync-btn:hover {
	background: rgba(245, 158, 11, 0.28);
	border-color: #F59E0B;
	color: #FFFFFF;
	transform: translateY(-1px);
	box-shadow: 0 2px 8px rgba(245, 158, 11, 0.25);
}

.finlyzer-resync-btn:active {
	transform: translateY(0);
}

.finlyzer-resync-btn svg {
	transition: transform 0.3s ease;
}

.finlyzer-resync-btn:hover svg {
	transform: rotate(180deg);
}

.finlyzer-resync-btn--loading svg {
	animation: fl-spin 1s linear infinite;
}

.finlyzer-retry-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	appearance: none;
	background: rgba(239, 68, 68, 0.16);
	border: 1px solid rgba(239, 68, 68, 0.45);
	color: #FEE2E2;
	padding: 6px 14px;
	border-radius: var(--fl-radius-sm);
	font-size: 0.80rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.finlyzer-retry-btn:hover {
	background: rgba(239, 68, 68, 0.28);
	border-color: #EF4444;
	color: #FFFFFF;
	transform: translateY(-1px);
	box-shadow: 0 2px 8px rgba(239, 68, 68, 0.25);
}

.finlyzer-retry-btn:active {
	transform: translateY(0);
}

.finlyzer-retry-btn svg {
	transition: transform 0.3s ease;
}

.finlyzer-retry-btn:hover svg {
	transform: rotate(90deg);
}

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

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

/* Live Error Diagnostics & Unmasked Telemetry Breakdown */
.finlyzer-dev-error-box,
.finlyzer-error-debug-box {
	margin: 10px 18px 16px 18px;
	padding: 12px 16px;
	background: rgba(10, 15, 29, 0.98);
	border: 1px dashed rgba(239, 68, 68, 0.65);
	border-radius: var(--fl-radius-md);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 11px;
	color: #FCA5A5;
	text-align: left;
	line-height: 1.6;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}

.finlyzer-error-debug-box pre {
	margin: 4px 0;
	max-height: 140px;
	overflow-y: auto;
	background: rgba(0, 0, 0, 0.55);
	padding: 6px 10px;
	border-radius: 4px;
	color: #FCA5A5;
	white-space: pre-wrap;
	word-break: break-all;
	font-size: 11px;
	border: 1px solid rgba(239, 68, 68, 0.2);
}

/* ==========================================================================
   Market Timing & Active Currency Markets Design System (v1.6.0)
   ========================================================================== */

/* KPI Card Header & Badge Accents (Fluent 2 Style) */
.finlyzer-kpi-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 6px;
}

.finlyzer-kpi-header .finlyzer-kpi-label {
	margin-bottom: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.finlyzer-badge-market,
.finlyzer-badge-ecb {
	font-family: var(--fl-font-ui);
	font-size: 0.68rem;
	font-weight: 600;
	white-space: nowrap;
	flex-shrink: 0;
	padding: 2px 7px;
	border-radius: var(--fl-radius-badge);
	background: rgba(6, 182, 212, 0.12);
	border: 1px solid rgba(6, 182, 212, 0.30);
	color: #22D3EE;
	letter-spacing: 0.02em;
	line-height: 1.3;
}

.finlyzer-badge-total {
	font-family: var(--fl-font-ui);
	font-size: 0.68rem;
	font-weight: 600;
	white-space: nowrap;
	flex-shrink: 0;
	padding: 2px 7px;
	border-radius: var(--fl-radius-badge);
	background: rgba(244, 63, 94, 0.12);
	border: 1px solid rgba(244, 63, 94, 0.30);
	color: #FB7185;
	letter-spacing: 0.02em;
	line-height: 1.3;
}

.finlyzer-card--timing {
	background: radial-gradient(circle at top right, rgba(245, 158, 11, 0.07), transparent 70%), var(--fl-bg-surface);
}

.finlyzer-card--drag {
	background: radial-gradient(circle at top right, rgba(244, 63, 94, 0.07), transparent 70%), var(--fl-bg-surface);
}

.finlyzer-kpi-val.finlyzer-val--timing {
	color: #FBBF24;
}

/* Active Currency Markets Table Layout */
.finlyzer-timing-card {
	margin-top: 24px;
	border-color: rgba(6, 182, 212, 0.20);
	background: linear-gradient(180deg, rgba(6, 182, 212, 0.03) 0%, transparent 120px), var(--fl-bg-surface);
}

.finlyzer-timing-card .finlyzer-ledger-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
}

.finlyzer-ledger-subtitle {
	margin: 4px 0 0 0;
	font-size: 0.82rem;
	color: var(--fl-text-secondary);
	max-width: 65ch;
	line-height: 1.4;
}

.finlyzer-title-badge {
	display: inline-block;
	font-family: var(--fl-font-mono);
	font-size: 0.68rem;
	font-weight: 700;
	padding: 2px 6px;
	border-radius: var(--fl-radius-sm);
	background: #0891B2;
	color: #FFFFFF;
	vertical-align: middle;
	margin-right: 6px;
}

.finlyzer-badge-filter-notice {
	font-family: var(--fl-font-ui);
	font-size: 0.72rem;
	font-weight: 600;
	color: #38BDF8;
	background: rgba(14, 165, 233, 0.12);
	border: 1px solid rgba(14, 165, 233, 0.30);
	padding: 3px 8px;
	border-radius: var(--fl-radius-badge);
	white-space: nowrap;
}

.finlyzer-offline-badge {
	display: inline-flex;
	align-items: center;
	font-size: 0.68rem;
	font-weight: 500;
	color: var(--fl-text-secondary);
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--fl-border-subtle);
	padding: 2px 6px;
	border-radius: var(--fl-radius-badge);
	vertical-align: middle;
}

.finlyzer-live-badge {
	display: inline-flex;
	align-items: center;
	font-size: 0.68rem;
	font-weight: 500;
	color: #10B981;
	background: rgba(16, 185, 129, 0.10);
	border: 1px solid rgba(16, 185, 129, 0.28);
	padding: 2px 6px;
	border-radius: var(--fl-radius-badge);
	vertical-align: middle;
}

.finlyzer-timing-table .finlyzer-ledger__row {
	display: grid;
	grid-template-columns: 2fr 1.2fr 1.2fr 1.2fr;
	align-items: center;
	gap: 16px;
}

/* Market & Flag Cell */
.finlyzer-market-cell {
	display: flex;
	align-items: center;
	gap: 12px;
}

.finlyzer-country-flag {
	font-size: 1.45rem;
	line-height: 1;
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4));
}

.finlyzer-market-info {
	display: flex;
	flex-direction: column;
	gap: 1px;
}

.finlyzer-country-name {
	font-size: 0.90rem;
	font-weight: 600;
	color: #FFFFFF;
}

.finlyzer-curr-sub {
	font-size: 0.72rem;
	color: var(--fl-text-muted);
	font-family: var(--fl-font-mono);
}

/* Timing Volatility Pill */
.finlyzer-timing-tag {
	display: inline-block;
	font-family: var(--fl-font-mono);
	font-size: 0.82rem;
	font-weight: 600;
	padding: 3px 8px;
	border-radius: var(--fl-radius-sm);
}

.finlyzer-timing-tag--loss {
	background: rgba(244, 63, 94, 0.12);
	border: 1px solid rgba(244, 63, 94, 0.28);
	color: #FB7185;
}

.finlyzer-timing-tag--neutral {
	background: rgba(16, 185, 129, 0.10);
	border: 1px solid rgba(16, 185, 129, 0.25);
	color: #34D399;
	font-size: 0.74rem;
}

.finlyzer-spread-cell {
	font-family: var(--fl-font-mono);
	font-size: 0.88rem;
	color: var(--fl-text-secondary);
}

.finlyzer-drag-cell {
	font-family: var(--fl-font-mono);
	font-size: 0.96rem;
	color: #FFFFFF;
}

@media (max-width: 768px) {
	.finlyzer-timing-table .finlyzer-ledger__row {
		grid-template-columns: 1fr 1fr;
		gap: 12px;
	}

	.finlyzer-timing-table .finlyzer-ledger__row--head {
		display: none;
	}

	.finlyzer-market-cell {
		grid-column: span 2;
	}

	.finlyzer-drag-cell {
		grid-column: span 2;
		text-align: left;
		padding-top: 6px;
		border-top: 1px solid var(--fl-border-subtle);
	}
}

/* ==========================================================================
   Payment Gateway FX Recognition Matrix & Product-Level Attribution
   ========================================================================== */

.finlyzer-title-badge--gateway {
	background: rgba(99, 102, 241, 0.18);
	border-color: rgba(99, 102, 241, 0.4);
	color: #A5B4FC;
}

.finlyzer-title-badge--products {
	background: rgba(16, 185, 129, 0.18);
	border-color: rgba(16, 185, 129, 0.4);
	color: #6EE7B7;
}

/* Gateway Recognition Cards Grid */
.finlyzer-gateway-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 16px;
	padding: 20px;
}

.finlyzer-gw-card {
	background: rgba(255, 255, 255, 0.02);
	border: 1px solid var(--fl-border-subtle);
	border-left: 3px solid var(--gw-accent, #6366F1);
	border-radius: var(--fl-radius-md);
	padding: 18px 20px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.finlyzer-gw-card:hover {
	background: rgba(255, 255, 255, 0.04);
	border-color: rgba(255, 255, 255, 0.12);
	transform: translateY(-2px);
	box-shadow: 0 8px 20px -6px rgba(0, 0, 0, 0.4);
}

.finlyzer-gw-card__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.finlyzer-gw-card__identity {
	display: flex;
	align-items: center;
	gap: 10px;
}

.finlyzer-gw-card__dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: var(--gw-accent, #6366F1);
	box-shadow: 0 0 8px var(--gw-accent, #6366F1);
	flex-shrink: 0;
}

.finlyzer-gw-card__name {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	color: #FFFFFF;
	line-height: 1.2;
}

.finlyzer-gw-card__type {
	font-size: 0.76rem;
	color: var(--fl-text-muted);
}

.finlyzer-gw-card__tags {
	display: flex;
	gap: 6px;
	align-items: center;
	flex-wrap: wrap;
}

.finlyzer-gw-tag {
	font-family: var(--fl-font-mono);
	font-size: 0.70rem;
	font-weight: 700;
	padding: 2px 7px;
	border-radius: var(--fl-radius-sm);
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.finlyzer-gw-tag--fx {
	background: rgba(16, 185, 129, 0.12);
	border: 1px solid rgba(16, 185, 129, 0.3);
	color: #34D399;
}

.finlyzer-gw-tag--spread {
	background: rgba(245, 158, 11, 0.12);
	border: 1px solid rgba(245, 158, 11, 0.3);
	color: #FBBF24;
}

.finlyzer-gw-tag--domestic {
	background: rgba(148, 163, 184, 0.10);
	border: 1px solid rgba(148, 163, 184, 0.25);
	color: #94A3B8;
}

.finlyzer-gw-card__metrics {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	background: rgba(0, 0, 0, 0.25);
	border-radius: var(--fl-radius-sm);
	padding: 10px 12px;
}

.finlyzer-gw-metric {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.finlyzer-gw-metric__label {
	font-size: 0.68rem;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--fl-text-muted);
	letter-spacing: 0.04em;
}

.finlyzer-gw-metric__val {
	font-family: var(--fl-font-mono);
	font-size: 0.88rem;
	font-weight: 700;
	color: #FFFFFF;
}

.finlyzer-gw-metric__val--loss {
	color: #FDA4AF;
}

.finlyzer-gw-card__share {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.finlyzer-gw-share-bar {
	height: 5px;
	background: rgba(255, 255, 255, 0.08);
	border-radius: var(--fl-radius-full);
	overflow: hidden;
}

.finlyzer-gw-share-bar__fill {
	height: 100%;
	background: var(--gw-accent, #6366F1);
	border-radius: var(--fl-radius-full);
	transition: width 0.4s ease;
}

.finlyzer-gw-share-label {
	font-family: var(--fl-font-mono);
	font-size: 0.72rem;
	color: var(--fl-text-muted);
}

.finlyzer-gw-card__desc {
	display: flex;
	gap: 6px;
	font-size: 0.74rem;
	color: var(--fl-text-secondary);
	line-height: 1.4;
	border-top: 1px dashed rgba(255, 255, 255, 0.06);
	padding-top: 8px;
}

.finlyzer-gw-desc-icon {
	color: var(--fl-text-muted);
	flex-shrink: 0;
}

/* Gateway Filter Bar for Products */
.finlyzer-gw-filter-bar {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.finlyzer-gw-tab {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--fl-border-subtle);
	border-radius: var(--fl-radius-sm);
	padding: 5px 12px;
	font-family: var(--fl-font-ui);
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--fl-text-secondary);
	cursor: pointer;
	transition: all 0.15s ease;
}

.finlyzer-gw-tab:hover {
	background: rgba(255, 255, 255, 0.08);
	color: #FFFFFF;
}

.finlyzer-gw-tab--active {
	background: rgba(99, 102, 241, 0.2);
	border-color: rgba(99, 102, 241, 0.6);
	color: #EEF2FF;
}

/* Purchased Products by Gateway Ledger Table */
.finlyzer-products-table .finlyzer-ledger__row {
	grid-template-columns: 2.2fr 1.2fr 0.8fr 1.2fr 1.2fr 1.2fr;
	align-items: center;
}

.finlyzer-product-cell {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.finlyzer-product-name {
	font-size: 0.88rem;
	font-weight: 600;
	color: #FFFFFF;
	line-height: 1.3;
}

.finlyzer-product-id {
	font-family: var(--fl-font-mono);
	font-size: 0.72rem;
	color: var(--fl-text-muted);
}

.finlyzer-product-gw-cell {
	display: flex;
	align-items: center;
}

.finlyzer-gw-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 3px 9px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-left-width: 3px;
	border-radius: var(--fl-radius-sm);
	font-size: 0.76rem;
	font-weight: 600;
	color: #FFFFFF;
}

.finlyzer-gw-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	flex-shrink: 0;
}

.finlyzer-units-cell {
	font-family: var(--fl-font-mono);
	font-size: 0.86rem;
	color: var(--fl-text-secondary);
}

.finlyzer-rev-cell {
	font-family: var(--fl-font-mono);
	font-size: 0.86rem;
	color: var(--fl-text-secondary);
}

.finlyzer-product-loss-cell {
	font-family: var(--fl-font-mono);
	font-size: 0.92rem;
	color: #FDA4AF;
}

@media (max-width: 900px) {
	.finlyzer-products-table .finlyzer-ledger__row {
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}

	.finlyzer-products-table .finlyzer-ledger__row--head {
		display: none;
	}

	.finlyzer-product-cell {
		grid-column: span 2;
	}

	.finlyzer-product-loss-cell {
		grid-column: span 2;
		text-align: left;
		padding-top: 6px;
		border-top: 1px solid var(--fl-border-subtle);
	}
}

/* -------------------------------------------------------------
   ABOUT NAVIGATION BUTTON (HEADER)
------------------------------------------------------------- */
.finlyzer-about-nav-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	background: var(--fl-bg-surface);
	color: var(--fl-text-secondary);
	border: 1px solid var(--fl-border-medium);
	border-radius: var(--fl-radius-sm);
	font-size: 0.84rem;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
	line-height: 1.4;
	margin-left: 8px;
}

.finlyzer-about-nav-btn:hover {
	background: var(--fl-bg-elevated);
	color: var(--fl-text-primary);
	border-color: var(--fl-border-highlight);
	box-shadow: 0 0 12px rgba(99, 102, 241, 0.15);
	transform: translateY(-1px);
}

.finlyzer-about-nav-btn svg {
	color: var(--fl-accent-indigo);
	flex-shrink: 0;
}

/* -------------------------------------------------------------
   PROGRESSIVE DISCLOSURE: DEEP FINANCIAL BREAKDOWN CONTROLLER
------------------------------------------------------------- */
.finlyzer-deep-breakdown-wrapper {
	margin-top: 24px;
	border: 1px solid var(--fl-border-medium);
	border-radius: var(--fl-radius-md);
	background: var(--fl-bg-surface);
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.finlyzer-deep-breakdown-wrapper:hover {
	border-color: var(--fl-border-highlight);
}

.finlyzer-breakdown-toggle-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	padding: 20px 24px;
	background: linear-gradient(180deg, rgba(22, 31, 48, 0.4) 0%, rgba(16, 22, 35, 0.8) 100%);
}

.finlyzer-breakdown-toggle-info {
	flex: 1;
	min-width: 280px;
}

.finlyzer-breakdown-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 3px 8px;
	background: rgba(99, 102, 241, 0.12);
	border: 1px solid rgba(99, 102, 241, 0.25);
	border-radius: var(--fl-radius-badge);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #A5B4FC;
	margin-bottom: 8px;
}

.finlyzer-breakdown-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #6366F1;
	box-shadow: 0 0 6px #6366F1;
}

.finlyzer-breakdown-toggle-title {
	margin: 0 0 4px 0;
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--fl-text-primary);
}

.finlyzer-breakdown-toggle-desc {
	margin: 0;
	font-size: 0.84rem;
	color: var(--fl-text-secondary);
	line-height: 1.45;
}

.finlyzer-breakdown-toggle-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 18px;
	background: var(--fl-bg-elevated);
	border: 1px solid var(--fl-border-medium);
	border-radius: var(--fl-radius-sm);
	color: var(--fl-text-primary);
	font-size: 0.88rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
}

.finlyzer-breakdown-toggle-btn:hover {
	background: var(--fl-bg-hover);
	border-color: var(--fl-border-highlight);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}

.finlyzer-breakdown-toggle-btn svg {
	transition: transform 0.25s ease;
	flex-shrink: 0;
}

.finlyzer-breakdown-drawer {
	padding: 24px;
	border-top: 1px solid var(--fl-border-subtle);
	background: var(--fl-bg-base);
}

/* Subtab Navigation Switcher */
.finlyzer-breakdown-tabs {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	padding-bottom: 20px;
	margin-bottom: 24px;
	border-bottom: 1px solid var(--fl-border-subtle);
}

.finlyzer-subtab {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	background: var(--fl-bg-surface);
	color: var(--fl-text-secondary);
	border: 1px solid var(--fl-border-subtle);
	border-radius: var(--fl-radius-sm);
	font-size: 0.82rem;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.15s ease;
}

.finlyzer-subtab:hover {
	color: var(--fl-text-primary);
	background: var(--fl-bg-elevated);
	border-color: var(--fl-border-medium);
}

.finlyzer-subtab.is-active {
	background: rgba(99, 102, 241, 0.18);
	color: #EEF2FF;
	border-color: rgba(99, 102, 241, 0.45);
	font-weight: 600;
	box-shadow: 0 0 10px rgba(99, 102, 241, 0.20);
}

.finlyzer-breakdown-panel {
	display: block;
	animation: finlyzerFadeIn 0.25s ease forwards;
}

.finlyzer-breakdown-panel[hidden] {
	display: none !important;
}

/* -------------------------------------------------------------
   ABOUT FINLYZER & DEVELOPER PROFILE SECTION
------------------------------------------------------------- */
.finlyzer-about-section {
	margin-top: 36px;
	margin-bottom: 24px;
	width: 100%;
	box-sizing: border-box;
}

.finlyzer-about-card {
	background: linear-gradient(135deg, rgba(16, 22, 35, 0.95) 0%, rgba(14, 18, 30, 0.98) 100%);
	border: 1px solid var(--fl-border-medium);
	border-radius: var(--fl-radius-lg);
	padding: 28px 32px;
	box-shadow: var(--fl-shadow-card);
	position: relative;
	overflow: hidden;
	width: 100%;
	box-sizing: border-box;
}

.finlyzer-about-card::before {
	content: "";
	position: absolute;
	top: -60px;
	right: -60px;
	width: 240px;
	height: 240px;
	background: radial-gradient(circle, rgba(99, 102, 241, 0.12) 0%, transparent 70%);
	pointer-events: none;
}

.finlyzer-about-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
}

@media (min-width: 960px) {
	.finlyzer-about-grid {
		grid-template-columns: minmax(0, 1.45fr) minmax(320px, 1fr);
		align-items: center;
		gap: 32px;
	}
}

@media (min-width: 1400px) {
	.finlyzer-about-grid {
		grid-template-columns: minmax(0, 1.6fr) minmax(360px, 1fr);
		gap: 40px;
	}
}

@media (max-width: 768px) {
	.finlyzer-about-card {
		padding: 20px;
	}
}

.finlyzer-about-col--info {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.finlyzer-about-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	background: rgba(16, 185, 129, 0.1);
	border: 1px solid rgba(16, 185, 129, 0.25);
	border-radius: var(--fl-radius-badge);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #6EE7B7;
	width: fit-content;
}

.finlyzer-about-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #10B981;
	box-shadow: 0 0 6px #10B981;
}

.finlyzer-about-title {
	margin: 0;
	font-size: 1.45rem;
	font-weight: 700;
	color: var(--fl-text-primary);
	letter-spacing: -0.02em;
}

.finlyzer-about-lead {
	margin: 0;
	font-size: 0.98rem;
	color: #CBD5E1;
	line-height: 1.6;
}

.finlyzer-about-body {
	margin: 0;
	font-size: 0.88rem;
	color: var(--fl-text-secondary);
	line-height: 1.6;
}

.finlyzer-about-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 8px;
}

.finlyzer-spec-chip {
	padding: 4px 10px;
	background: var(--fl-bg-elevated);
	border: 1px solid var(--fl-border-subtle);
	border-radius: var(--fl-radius-badge);
	font-size: 0.76rem;
	font-weight: 500;
	color: var(--fl-text-secondary);
	font-family: var(--fl-font-mono);
}

.finlyzer-author-box {
	background: rgba(22, 31, 48, 0.6);
	border: 1px solid var(--fl-border-medium);
	border-radius: var(--fl-radius-md);
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
	max-width: 520px;
	width: 100%;
	margin-left: auto;
	box-sizing: border-box;
}

@media (max-width: 959px) {
	.finlyzer-author-box {
		margin-left: 0;
		max-width: 100%;
	}
}

.finlyzer-author-profile {
	display: flex;
	align-items: center;
	gap: 14px;
}

.finlyzer-author-avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFFFFF;
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: 0.05em;
	box-shadow: 0 4px 12px rgba(79, 70, 229, 0.35);
	flex-shrink: 0;
}

.finlyzer-author-meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.finlyzer-author-name {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	color: #F8FAFC;
}

.finlyzer-author-role {
	font-size: 0.8rem;
	color: #94A3B8;
}

.finlyzer-author-tagline {
	margin: 0;
	font-size: 0.85rem;
	color: #94A3B8;
	line-height: 1.5;
}

.finlyzer-author-links {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 4px;
}

.finlyzer-social-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: var(--fl-radius-sm);
	font-size: 0.82rem;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
	border: 1px solid transparent;
}

.finlyzer-social-btn--github {
	background: #1E293B;
	color: #F1F5F9;
	border-color: rgba(255, 255, 255, 0.12);
}

.finlyzer-social-btn--github:hover {
	background: #334155;
	color: #FFFFFF;
	border-color: rgba(255, 255, 255, 0.25);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
	transform: translateY(-1px);
}

.finlyzer-social-btn--linkedin {
	background: rgba(10, 102, 194, 0.18);
	color: #38BDF8;
	border-color: rgba(56, 189, 248, 0.3);
}

.finlyzer-social-btn--linkedin:hover {
	background: rgba(10, 102, 194, 0.32);
	color: #7DD3FC;
	border-color: rgba(56, 189, 248, 0.5);
	box-shadow: 0 2px 12px rgba(14, 165, 233, 0.25);
	transform: translateY(-1px);
}

.finlyzer-social-btn svg {
	flex-shrink: 0;
}

/* ==========================================================================
   Finlyzer Security & Worker Settings Modal (v1.27.0)
   ========================================================================== */

.finlyzer-settings-nav-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	background: var(--fl-bg-elevated);
	border: 1px solid var(--fl-border-medium);
	border-radius: var(--fl-radius-sm);
	color: var(--fl-text-secondary);
	font-size: 0.8rem;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.2s ease;
}

.finlyzer-settings-nav-btn:hover {
	background: var(--fl-bg-hover);
	color: var(--fl-text-primary);
	border-color: var(--fl-border-highlight);
	box-shadow: 0 0 12px rgba(255, 255, 255, 0.06);
}

.finlyzer-settings-nav-btn svg {
	flex-shrink: 0;
	stroke: var(--fl-text-secondary);
	transition: stroke 0.2s ease, transform 0.3s ease;
}

.finlyzer-settings-nav-btn:hover svg {
	stroke: var(--fl-accent-cyan);
	transform: rotate(30deg);
}

/* Modal Backdrop */
.finlyzer-modal-backdrop {
	position: fixed;
	inset: 0;
	z-index: 99999;
	background: rgba(4, 7, 13, 0.82);
	backdrop-filter: blur(6px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	animation: finlyzerFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes finlyzerFadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

/* Modal Card */
.finlyzer-modal-card {
	background: var(--fl-bg-surface);
	border: 1px solid var(--fl-border-medium);
	border-radius: var(--fl-radius-lg);
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.7), 0 0 30px rgba(6, 182, 212, 0.08);
	width: 100%;
	max-width: 640px;
	max-height: 90vh;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	animation: finlyzerSlideUp 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes finlyzerSlideUp {
	from { transform: translateY(16px) scale(0.98); opacity: 0; }
	to { transform: translateY(0) scale(1); opacity: 1; }
}

/* Modal Header */
.finlyzer-modal-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	padding: 20px 24px 16px 24px;
	border-bottom: 1px solid var(--fl-border-subtle);
}

.finlyzer-modal-header__brand {
	display: flex;
	align-items: center;
	gap: 14px;
}

.finlyzer-modal-icon {
	width: 40px;
	height: 40px;
	border-radius: var(--fl-radius-md);
	background: rgba(6, 182, 212, 0.12);
	border: 1px solid rgba(6, 182, 212, 0.25);
	color: var(--fl-accent-cyan);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.finlyzer-modal-title {
	margin: 0;
	font-size: 1.12rem;
	font-weight: 700;
	color: var(--fl-text-primary);
	letter-spacing: -0.01em;
}

.finlyzer-modal-subtitle {
	margin: 2px 0 0 0;
	font-size: 0.8rem;
	color: var(--fl-text-secondary);
}

.finlyzer-modal-close {
	background: transparent;
	border: none;
	color: var(--fl-text-muted);
	cursor: pointer;
	padding: 6px;
	border-radius: var(--fl-radius-sm);
	transition: all 0.2s ease;
	line-height: 0;
}

.finlyzer-modal-close:hover {
	color: var(--fl-text-primary);
	background: var(--fl-bg-elevated);
}

/* Status Bar */
.finlyzer-modal-status-bar {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	padding: 12px 24px;
	background: rgba(0, 0, 0, 0.2);
	border-bottom: 1px solid var(--fl-border-subtle);
}

.finlyzer-status-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 3px 8px;
	border-radius: var(--fl-radius-badge);
	font-size: 0.74rem;
	font-weight: 600;
}

.finlyzer-status-pill--active {
	background: var(--fl-success-bg);
	border: 1px solid rgba(16, 185, 129, 0.3);
	color: #6EE7B7;
}

.finlyzer-status-pill--warn {
	background: var(--fl-warn-bg);
	border: 1px solid rgba(245, 158, 11, 0.3);
	color: #FCD34D;
}

.finlyzer-status-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 6px currentColor;
}

/* Modal Body */
.finlyzer-modal-body {
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* Form Controls */
.finlyzer-form-group {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.finlyzer-form-label-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.finlyzer-form-label {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--fl-text-primary);
}

.finlyzer-source-tag {
	font-size: 0.72rem;
	color: var(--fl-text-muted);
	font-family: var(--fl-font-mono);
}

.finlyzer-input-row {
	display: flex;
	gap: 8px;
	width: 100%;
}

.finlyzer-form-input {
	flex: 1;
	background: var(--fl-bg-elevated);
	border: 1px solid var(--fl-border-medium);
	border-radius: var(--fl-radius-sm);
	color: var(--fl-text-primary);
	padding: 8px 12px;
	font-size: 0.85rem;
	transition: all 0.2s ease;
	outline: none;
}

.finlyzer-form-input:focus {
	border-color: var(--fl-accent-cyan);
	box-shadow: 0 0 0 2px rgba(6, 182, 212, 0.2);
}

.finlyzer-form-input--mono {
	font-family: var(--fl-font-mono);
	letter-spacing: 0.04em;
	font-size: 0.82rem;
}

.finlyzer-form-input--readonly,
.finlyzer-form-input:disabled {
	opacity: 0.75;
	background: rgba(0, 0, 0, 0.25);
	cursor: not-allowed;
	border-color: var(--fl-border-subtle);
}

.finlyzer-form-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 4px;
}

.finlyzer-form-hint {
	font-size: 0.75rem;
	color: var(--fl-text-muted);
	line-height: 1.4;
}

/* Modal Buttons */
.finlyzer-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	border-radius: var(--fl-radius-sm);
	font-size: 0.82rem;
	font-weight: 600;
	cursor: pointer;
	border: 1px solid transparent;
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
	white-space: nowrap;
}

.finlyzer-btn--primary {
	background: linear-gradient(135deg, #0284C7 0%, #0369A1 100%);
	color: #FFFFFF;
	border-color: rgba(255, 255, 255, 0.15);
	box-shadow: 0 2px 8px rgba(2, 132, 199, 0.3);
}

.finlyzer-btn--primary:hover {
	background: linear-gradient(135deg, #0EA5E9 0%, #0284C7 100%);
	box-shadow: 0 4px 14px rgba(2, 132, 199, 0.45);
	transform: translateY(-1px);
}

.finlyzer-btn--secondary {
	background: var(--fl-bg-elevated);
	border-color: var(--fl-border-medium);
	color: var(--fl-text-primary);
}

.finlyzer-btn--secondary:hover {
	background: var(--fl-bg-hover);
	border-color: var(--fl-border-highlight);
	color: #FFFFFF;
}

.finlyzer-btn--accent {
	background: rgba(16, 185, 129, 0.15);
	border-color: rgba(16, 185, 129, 0.35);
	color: #34D399;
}

.finlyzer-btn--accent:hover {
	background: rgba(16, 185, 129, 0.25);
	border-color: rgba(16, 185, 129, 0.6);
	color: #6EE7B7;
	box-shadow: 0 0 12px rgba(16, 185, 129, 0.25);
}

.finlyzer-btn--danger {
	background: rgba(244, 63, 94, 0.12);
	border-color: rgba(244, 63, 94, 0.25);
	color: #FDA4AF;
}

.finlyzer-btn--danger:hover {
	background: rgba(244, 63, 94, 0.22);
	color: #FFFFFF;
	border-color: rgba(244, 63, 94, 0.5);
}

/* Alert Banner */
.finlyzer-alert-banner {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px 14px;
	border-radius: var(--fl-radius-sm);
	font-size: 0.8rem;
	line-height: 1.4;
}

.finlyzer-alert-banner p {
	margin: 2px 0 0 0;
	color: var(--fl-text-secondary);
}

.finlyzer-alert-banner--info {
	background: rgba(6, 182, 212, 0.08);
	border: 1px solid rgba(6, 182, 212, 0.25);
	color: var(--fl-accent-cyan);
}

.finlyzer-alert-banner--success {
	background: var(--fl-success-bg);
	border: 1px solid rgba(16, 185, 129, 0.3);
	color: #6EE7B7;
}

.finlyzer-alert-banner--error {
	background: var(--fl-loss-bg);
	border: 1px solid rgba(244, 63, 94, 0.3);
	color: #FDA4AF;
}

/* Verify Box */
.finlyzer-verify-box {
	background: var(--fl-bg-base);
	border: 1px solid var(--fl-border-subtle);
	border-radius: var(--fl-radius-md);
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.finlyzer-verify-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.finlyzer-verify-title {
	margin: 0;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--fl-text-primary);
}

.finlyzer-verify-sub {
	margin: 2px 0 0 0;
	font-size: 0.75rem;
	color: var(--fl-text-muted);
}

.finlyzer-verify-result {
	padding: 10px 14px;
	border-radius: var(--fl-radius-sm);
	font-size: 0.8rem;
	line-height: 1.4;
	font-family: var(--fl-font-mono);
	animation: finlyzerFadeIn 0.2s ease;
}

.finlyzer-verify-result--success {
	background: rgba(16, 185, 129, 0.1);
	border: 1px solid rgba(16, 185, 129, 0.3);
	color: #34D399;
}

.finlyzer-verify-result--error {
	background: rgba(244, 63, 94, 0.1);
	border: 1px solid rgba(244, 63, 94, 0.3);
	color: #F43F5E;
}

.finlyzer-verify-result--loading {
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid var(--fl-border-medium);
	color: var(--fl-text-secondary);
}

/* Guide Box */
.finlyzer-guide-box {
	background: rgba(0, 0, 0, 0.25);
	border: 1px solid var(--fl-border-subtle);
	border-radius: var(--fl-radius-md);
	padding: 14px 18px;
}

.finlyzer-guide-title {
	margin: 0 0 8px 0;
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--fl-text-secondary);
}

.finlyzer-guide-list {
	margin: 0;
	padding-left: 18px;
	font-size: 0.78rem;
	color: var(--fl-text-muted);
	line-height: 1.6;
}

.finlyzer-guide-list li {
	margin-bottom: 6px;
}

.finlyzer-guide-list code {
	display: block;
	margin-top: 4px;
	background: #020617;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--fl-radius-xs);
	padding: 4px 8px;
	font-family: var(--fl-font-mono);
	font-size: 0.75rem;
	color: #38BDF8;
	word-break: break-all;
}

/* Cloud Sentinel Grid & Cards */
.finlyzer-sentinel-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}

.finlyzer-sentinel-grid--single {
	grid-template-columns: 1fr;
}

@media (max-width: 600px) {
	.finlyzer-sentinel-grid {
		grid-template-columns: 1fr;
	}
}

.finlyzer-sentinel-card {
	background: var(--fl-bg-base);
	border: 1px solid var(--fl-border-subtle);
	border-radius: var(--fl-radius-md);
	padding: 14px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	transition: border-color 0.2s ease;
}

.finlyzer-sentinel-card:hover {
	border-color: var(--fl-border-medium);
}

.finlyzer-sentinel-card__label {
	font-size: 0.72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--fl-text-muted);
}

.finlyzer-sentinel-card__val {
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--fl-text-primary);
}

.finlyzer-sentinel-card__val--mono {
	font-family: var(--fl-font-mono);
	color: var(--fl-accent-cyan);
}

.finlyzer-sentinel-card__desc {
	font-size: 0.72rem;
	color: var(--fl-text-secondary);
	margin-top: 2px;
}

/* Information Notice Box */
.finlyzer-notice-box {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px 14px;
	background: rgba(6, 182, 212, 0.06);
	border: 1px solid rgba(6, 182, 212, 0.2);
	border-radius: var(--fl-radius-md);
}

.finlyzer-notice-icon {
	color: var(--fl-accent-cyan);
	flex-shrink: 0;
	margin-top: 1px;
}

.finlyzer-notice-text {
	margin: 0;
	font-size: 0.78rem;
	line-height: 1.5;
	color: var(--fl-text-secondary);
}

/* Header Nav Button Indicator Dot */
.finlyzer-nav-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #10B981;
	box-shadow: 0 0 6px rgba(16, 185, 129, 0.8);
	display: inline-block;
	flex-shrink: 0;
}

/* =============================================================
   PRE-ANALYSIS USER-INITIATED STATE & CTAS (v1.9.1)
   ============================================================= */

/* Header Start Analysis CTA Button */
.finlyzer-header-cta {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: linear-gradient(135deg, #0284C7 0%, #0369A1 100%);
	color: #FFFFFF !important;
	border: 1px solid rgba(56, 189, 248, 0.4);
	border-radius: var(--fl-radius-sm);
	padding: 6px 14px;
	font-size: 0.82rem;
	font-weight: 600;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(2, 132, 199, 0.35);
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.finlyzer-header-cta:hover {
	background: linear-gradient(135deg, #0369A1 0%, #0284C7 100%);
	border-color: rgba(56, 189, 248, 0.7);
	box-shadow: 0 4px 12px rgba(2, 132, 199, 0.5);
	transform: translateY(-1px);
}

.finlyzer-header-cta:active {
	transform: translateY(0);
}

/* Pre-Analysis Hero Section */
.finlyzer-pre-analysis-hero {
	width: 100%;
}

.finlyzer-pre-analysis-card {
	background: linear-gradient(145deg, rgba(15, 23, 42, 0.85) 0%, rgba(2, 6, 23, 0.95) 100%);
	border: 1px solid rgba(56, 189, 248, 0.2);
	border-radius: var(--fl-radius-lg, 12px);
	padding: 44px 36px;
	box-shadow: 0 12px 36px rgba(0, 0, 0, 0.4);
	backdrop-filter: blur(16px);
	position: relative;
	overflow: hidden;
}

.finlyzer-pre-analysis-card::before {
	content: '';
	position: absolute;
	top: -50%;
	right: -20%;
	width: 400px;
	height: 400px;
	background: radial-gradient(circle, rgba(14, 165, 233, 0.08) 0%, transparent 70%);
	pointer-events: none;
}

.finlyzer-pre-analysis-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(16, 185, 129, 0.12);
	border: 1px solid rgba(16, 185, 129, 0.35);
	border-radius: 9999px;
	padding: 5px 12px;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #34D399;
	margin-bottom: 18px;
}

.finlyzer-pre-analysis-title {
	font-size: 1.65rem;
	font-weight: 800;
	color: #F8FAFC;
	line-height: 1.25;
	margin: 0 0 14px 0;
	letter-spacing: -0.02em;
}

.finlyzer-pre-analysis-desc {
	font-size: 0.94rem;
	line-height: 1.6;
	color: #94A3B8;
	max-width: 680px;
	margin: 0 0 28px 0;
}

.finlyzer-pre-analysis-actions {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 32px;
}

.finlyzer-btn--lg {
	padding: 12px 28px;
	font-size: 0.95rem;
	font-weight: 700;
	border-radius: 8px;
	box-shadow: 0 4px 16px rgba(14, 165, 233, 0.4);
	display: inline-flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	transition: all 0.2s ease;
}

.finlyzer-btn--lg:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(14, 165, 233, 0.55);
}

.finlyzer-pre-analysis-features {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	padding-top: 24px;
}

@media (max-width: 768px) {
	.finlyzer-pre-analysis-features {
		grid-template-columns: 1fr;
		gap: 12px;
	}
	.finlyzer-pre-analysis-card {
		padding: 28px 20px;
	}
	.finlyzer-pre-analysis-title {
		font-size: 1.3rem;
	}
}

.finlyzer-pre-feature {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 0.8rem;
	font-weight: 500;
	color: #CBD5E1;
}

.finlyzer-pre-feature svg {
	color: #38BDF8;
	flex-shrink: 0;
}

/* Pre-Analysis Sidebar Column */
.finlyzer-pre-analysis-sidebar {
	width: 100%;
}

.finlyzer-pre-sidebar-card {
	background: rgba(15, 23, 42, 0.7);
	border: 1px dashed rgba(255, 255, 255, 0.12);
	border-radius: var(--fl-radius-lg, 12px);
	padding: 30px 24px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}

.finlyzer-sidebar-icon {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: rgba(56, 189, 248, 0.1);
	border: 1px solid rgba(56, 189, 248, 0.25);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #38BDF8;
	margin-bottom: 4px;
}

.finlyzer-pre-sidebar-title {
	font-size: 1.05rem;
	font-weight: 700;
	color: #F8FAFC;
	margin: 0;
}

.finlyzer-pre-sidebar-text {
	font-size: 0.82rem;
	color: #94A3B8;
	line-height: 1.55;
	margin: 0;
}

/* Loading button spinner state */
.finlyzer-btn--loading {
	opacity: 0.8;
	pointer-events: none;
	position: relative;
}

/* Server Sync Box & Actions */
.finlyzer-server-sync-box {
	background: var(--fl-bg-base, #0F172A);
	border: 1px solid var(--fl-border-subtle, rgba(255, 255, 255, 0.08));
	border-radius: var(--fl-radius-md, 8px);
	padding: 16px 18px;
}

.finlyzer-server-sync-box .finlyzer-verify-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}

.finlyzer-server-sync-box .finlyzer-optin-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}



