/* ==========================================================================
   Addronix Addons for Elementor — Admin Panel (v2 Premium Redesign)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400&family=Inter+Tight:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,700&display=swap');

/* ── Font Aliases ───────────────────────────────────────────────────────── */
/* Headings  → Inter Tight (condensed, sharp, premium) */
/* Body/Desc → Inter       (clean, readable, modern)  */

/* ── Design Tokens — Logo Brand Colors ──────────────────────────────────── */
/* Logo gradient: #04c6fa → #fe9400 → #fe0385 → #8a02fb | Dark navy: #00002a */
:root {
	/* Primary accent = logo's purple end */
	--aafe-purple:       #8a02fb;
	--aafe-purple-dark:  #6300c0;
	--aafe-purple-light: #f3e8ff;
	--aafe-purple-glow:  rgba(138,2,251,0.15);

	/* Brand gradient exact from logo */
	--aafe-grad:         linear-gradient(90deg, #04c6fa 0%, #fe9400 33%, #fe0385 66%, #8a02fb 100%);
	--aafe-grad-135:     linear-gradient(135deg, #04c6fa 0%, #fe9400 33%, #fe0385 66%, #8a02fb 100%);

	/* Logo accent shades */
	--aafe-cyan:         #04c6fa;
	--aafe-cyan-light:   #e0f8ff;
	--aafe-orange:       #fe9400;
	--aafe-orange-light: #fff3e0;
	--aafe-pink:         #fe0385;
	--aafe-pink-light:   #ffe0f3;

	/* Semantic */
	--aafe-success:      #10b981;
	--aafe-success-bg:   #ecfdf5;
	--aafe-warning:      #f59e0b;
	--aafe-warning-bg:   #fffbeb;
	--aafe-danger:       #ef4444;
	--aafe-danger-bg:    #fef2f2;

	/* Surfaces */
	--aafe-navy:         #00002a;
	--aafe-bg:           #f5f6fa;
	--aafe-surface:      #ffffff;
	--aafe-surface-2:    #fafbfc;
	--aafe-border:       #e4e6eb;
	--aafe-border-light: #f0f1f5;

	/* Text */
	--aafe-text-1:       #0f1117;
	--aafe-text-2:       #374151;
	--aafe-text-3:       #6b7280;
	--aafe-text-4:       #9ca3af;

	/* Shadows */
	--aafe-shadow-xs:    0 1px 2px rgba(0,0,0,0.05);
	--aafe-shadow-sm:    0 2px 8px rgba(0,0,0,0.07);
	--aafe-shadow-md:    0 4px 20px rgba(0,0,0,0.09);
	--aafe-shadow-lg:    0 12px 40px rgba(0,0,0,0.12);
	--aafe-shadow-xl:    0 20px 60px rgba(0,0,0,0.15);

	/* Radii */
	--aafe-r-xs:  4px;
	--aafe-r-sm:  8px;
	--aafe-r-md:  12px;
	--aafe-r-lg:  16px;
	--aafe-r-xl:  20px;
	--aafe-r-2xl: 24px;

	/* Easing */
	--aafe-ease:   cubic-bezier(0.4, 0, 0.2, 1);
	--aafe-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ── WP Canvas Reset ────────────────────────────────────────────────────── */
body:has(.aafe-admin-wrap) .wrap { margin: 0 !important; padding: 0 !important; }
body:has(.aafe-admin-wrap) #wpcontent { background: var(--aafe-bg) !important; padding-left: 0 !important; }
body:has(.aafe-admin-wrap) #wpbody-content { padding-bottom: 0 !important; }

/* ── Base ───────────────────────────────────────────────────────────────── */
.aafe-admin-wrap {
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
	font-size: 13px;
	color: var(--aafe-text-2);
	background: var(--aafe-bg);
	margin-top: -10px;
	min-height: calc(100vh - 32px);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.aafe-admin-wrap * { box-sizing: border-box; }

/* All heading tags → Inter Tight */
.aafe-admin-wrap h1,
.aafe-admin-wrap h2,
.aafe-admin-wrap h3,
.aafe-admin-wrap h4,
.aafe-admin-wrap h5 {
	font-family: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
	margin: 0;
	line-height: 1.25;
}
.aafe-admin-wrap p { margin: 0; font-family: 'Inter', sans-serif; }
.aafe-admin-wrap ul,
.aafe-admin-wrap ol { margin: 0; padding: 0; list-style: none; }
.aafe-admin-wrap a { transition: color 0.15s var(--aafe-ease); }
.aafe-admin-wrap svg { display: inline-block !important; overflow: visible !important; }

/* ── HEADER ─────────────────────────────────────────────────────────────── */
.aafe-topbar {
	background: var(--aafe-surface);
	border-bottom: 1px solid var(--aafe-border);
	padding: 0 24px 0 0;
	display: flex;
	align-items: center;
	gap: 0;
	position: sticky;
	top: 32px;
	z-index: 100;
	box-shadow: 0 1px 4px rgba(0,0,0,0.06);
	min-height: 64px;
}

/* Logo / Brand area */
.aafe-topbar-brand {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	padding: 0 24px 0 0;
	margin-right: 0;
	border-right: 1px solid var(--aafe-border);
}

.aafe-topbar-logo-link {
	display: flex;
	align-items: center;
	text-decoration: none;
	padding: 10px 20px;
}

.aafe-topbar-logo-img {
	height: 40px;
	width: auto;
	display: block;
	/* keep original colours — no filter */
}

/* ── Nav Tabs ───────────────────────────────────────────────────────────── */
.aafe-nav-tabs {
	display: flex;
	align-items: stretch;
	flex: 1;
	padding: 0 8px;
	margin: 0;
	overflow-x: auto;
	height: 100%;
}

.aafe-nav-tab {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 0 18px;
	min-height: 64px;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 500;
	color: var(--aafe-text-3);
	text-decoration: none;
	border-bottom: 2.5px solid transparent;
	border-top: 2.5px solid transparent;
	transition: color 0.15s var(--aafe-ease), border-color 0.15s var(--aafe-ease), background 0.15s var(--aafe-ease);
	white-space: nowrap;
	position: relative;
}
.aafe-nav-tab .dashicons {
	font-size: 15px;
	width: 15px;
	height: 15px;
	line-height: 1;
}
.aafe-nav-tab:hover {
	color: var(--aafe-text-1);
	background: rgba(0,0,0,0.025);
}
.aafe-nav-tab--active {
	color: var(--aafe-purple) !important;
	border-bottom-color: var(--aafe-purple) !important;
	font-weight: 700;
	background: transparent;
}
.aafe-nav-tab--active .dashicons {
	color: var(--aafe-purple);
}
.aafe-nav-tab:focus,
.aafe-nav-tab:focus-visible {
	outline: none !important;
	box-shadow: none !important;
}

/* ── Hero Section ─────────────────────────────────────────────────────── */
.aafe-hero {
	background: var(--aafe-navy);           /* #00002a – logo dark bg */
	padding: 52px 40px;
	position: relative;
	overflow: hidden;
}

/* Glow spots – logo's 4 brand colors */
.aafe-hero-glow {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	filter: blur(60px);
}
.aafe-hero-glow--cyan   { width: 340px; height: 260px; background: rgba(4,198,250,0.18);  top: -40px;  left: -60px; }
.aafe-hero-glow--orange { width: 280px; height: 220px; background: rgba(254,148,0,0.14);  top: 10px;   left: 30%;   }
.aafe-hero-glow--pink   { width: 300px; height: 240px; background: rgba(254,3,133,0.16);  bottom: 0;   left: 55%;   }
.aafe-hero-glow--purple { width: 360px; height: 280px; background: rgba(138,2,251,0.22);  top: -20px;  right: -40px;}

/* Gradient top-border accent */
.aafe-hero::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: linear-gradient(90deg, #04c6fa 0%, #fe9400 33%, #fe0385 66%, #8a02fb 100%);
}

/* Wave shape at bottom (Hidden per request) */
.aafe-hero-wave {
	display: none;
}

/* Hero inner layout */
.aafe-hero-inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	max-width: 1400px;
}

.aafe-hero-left { flex: 1; min-width: 0; }

/* Eyebrow label */
.aafe-hero-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.5);
	margin-bottom: 12px;
}
.aafe-hero-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: linear-gradient(135deg, #04c6fa, #8a02fb);
	flex-shrink: 0;
	box-shadow: 0 0 8px rgba(4,198,250,0.6);
	animation: aafe-pulse 2s ease-in-out infinite;
}
@keyframes aafe-pulse {
	0%, 100% { transform: scale(1); opacity: 1; }
	50%       { transform: scale(1.3); opacity: 0.7; }
}

.aafe-hero-title {
	font-family: 'Inter Tight', 'Inter', sans-serif !important;
	font-size: 36px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	letter-spacing: -0.04em;
	line-height: 1.05 !important;
	margin-bottom: 12px !important;
}

.aafe-hero-desc {
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 400;
	color: rgba(255,255,255,0.55);
	line-height: 1.75;
	max-width: 540px;
}

/* Right side pills & badge */
.aafe-hero-right {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	flex-shrink: 0;
}
.aafe-hero-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(255,255,255,0.08);
	border: 1px solid rgba(255,255,255,0.15);
	backdrop-filter: blur(12px);
	color: #ffffff;
	font-size: 12px;
	font-weight: 700;
	padding: 8px 16px;
	border-radius: 999px;
}
.aafe-hero-badge .dashicons { font-size: 14px; width: 14px; height: 14px; }

.aafe-hero-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	border: 1px solid rgba(255,255,255,0.1);
	backdrop-filter: blur(12px);
}
.aafe-hero-pill span {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: -0.04em;
}
.aafe-hero-pill--total  { background: rgba(4,198,250,0.12); color: #7ee8ff; }
.aafe-hero-pill--active { background: rgba(16,185,129,0.15); color: #6ee7b7; }

/* ── Page Body ───────────────────────────────────────────────────────── */
.aafe-admin-body {
	padding: 32px 40px 60px;
	display: flex;
	flex-direction: column;
	gap: 32px;
	max-width: 1400px;
	margin: 0 auto;
}

/* ── Section Layout ──────────────────────────────────────────────────── */
.aafe-section { display: flex; flex-direction: column; gap: 16px; }

.aafe-section-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}
.aafe-section-header-left {
	flex: 1;
	display: flex;
	align-items: flex-start;
	gap: 14px;
}
.aafe-section-header-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.aafe-section-title {
	font-family: 'Inter Tight', 'Inter', sans-serif !important;
	font-size: 19px !important;
	font-weight: 700 !important;
	color: var(--aafe-text-1) !important;
	letter-spacing: -0.03em;
}
.aafe-section-title-icon {
	width: 36px;
	height: 36px;
	border-radius: var(--aafe-r-sm);
	background: var(--aafe-grad-135);
	display: grid;
	place-items: center;
	flex-shrink: 0;
	margin-top: 2px; /* slight visual alignment */
}
.aafe-section-title-icon .dashicons {
	font-size: 18px;
	width: 18px;
	height: 18px;
	color: #ffffff;
}
.aafe-section-subtitle {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	color: var(--aafe-text-3);
	margin-top: 4px;
	line-height: 1.65;
	font-weight: 400;
}

/* ── Stat Cards ──────────────────────────────────────────────────────── */
.aafe-stats-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}
.aafe-stat-card {
	background: var(--aafe-surface);
	border: 1px solid var(--aafe-border);
	border-radius: var(--aafe-r-xl);
	padding: 22px 24px 18px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	box-shadow: var(--aafe-shadow-sm);
	transition: transform 0.2s var(--aafe-spring), box-shadow 0.2s var(--aafe-ease);
	position: relative;
	overflow: hidden;
}
.aafe-stat-card::after {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
}
.aafe-stat-card--total::after  { background: var(--aafe-grad); }
.aafe-stat-card--active::after { background: linear-gradient(90deg, #10b981, #059669); }
.aafe-stat-card--inactive::after { background: linear-gradient(90deg, #9ca3af, #6b7280); }
.aafe-stat-card--pro::after    { background: linear-gradient(90deg, #fe9400, #f59e0b); }

.aafe-stat-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--aafe-shadow-lg);
}
.aafe-stat-card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}
.aafe-stat-label {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 700;
	color: var(--aafe-text-3);
	text-transform: uppercase;
	letter-spacing: 0.07em;
}
.aafe-stat-icon {
	width: 38px;
	height: 38px;
	border-radius: var(--aafe-r-md);
	display: grid;
	place-items: center;
	flex-shrink: 0;
}
.aafe-stat-icon .dashicons { font-size: 18px; width: 18px; height: 18px; }
.aafe-stat-card--total   .aafe-stat-icon { background: var(--aafe-purple-light); color: var(--aafe-purple); }
.aafe-stat-card--active  .aafe-stat-icon { background: var(--aafe-success-bg); color: var(--aafe-success); }
.aafe-stat-card--inactive .aafe-stat-icon { background: #f3f4f6; color: #6b7280; }
.aafe-stat-card--pro     .aafe-stat-icon { background: var(--aafe-orange-light); color: var(--aafe-orange); }

.aafe-stat-number {
	font-family: 'Inter Tight', 'Inter', sans-serif;
	font-size: 42px;
	font-weight: 700;
	color: var(--aafe-text-1);
	letter-spacing: -0.06em;
	line-height: 1;
}
.aafe-stat-trend {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	color: var(--aafe-text-4);
	font-weight: 400;
}

/* Mini progress bar inside stat card */
.aafe-stat-bar {
	height: 3px;
	background: #f0f1f5;
	border-radius: 999px;
	overflow: hidden;
	margin-top: 4px;
}
@keyframes aafe-fill-bar { 0% { width: 0; } }
.aafe-stat-bar-fill { height: 100%; border-radius: 999px; background: var(--aafe-grad); animation: aafe-fill-bar 1s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; }
.aafe-stat-bar--green .aafe-stat-bar-fill  { background: linear-gradient(90deg, #10b981, #059669); }
.aafe-stat-bar--gray  .aafe-stat-bar-fill  { background: linear-gradient(90deg, #9ca3af, #6b7280); }
.aafe-stat-bar--orange .aafe-stat-bar-fill { background: linear-gradient(90deg, #fe9400, #f59e0b); }

/* ── Pro Extensions Grid ─────────────────────────────────────────────── */
.aafe-ext-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 16px;
}
.aafe-ext-card {
	background: var(--aafe-surface);
	border: 1px solid var(--aafe-border);
	border-radius: var(--aafe-r-lg);
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	box-shadow: var(--aafe-shadow-xs);
	transition: transform 0.2s var(--aafe-spring), box-shadow 0.2s var(--aafe-ease), border-color 0.2s;
}
.aafe-ext-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--aafe-shadow-md);
	border-color: var(--aafe-purple);
}
.aafe-ext-card-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}
.aafe-ext-icon-wrap {
	width: 48px;
	height: 48px;
	border-radius: var(--aafe-r-md);
	display: grid;
	place-items: center;
	flex-shrink: 0;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.aafe-ext-icon-wrap .dashicons { font-size: 24px; width: 24px; height: 24px; color: #fff; }
.aafe-ext-card-body {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.aafe-ext-name {
	font-family: 'Inter Tight', 'Inter', sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: var(--aafe-text-1);
	display: block;
	letter-spacing: -0.01em;
	line-height: 1.3;
}
.aafe-ext-desc {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	color: var(--aafe-text-3);
	line-height: 1.6;
	display: block;
}
.aafe-ext-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}
.aafe-ext-status {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 11px;
	font-weight: 600;
	color: #10b981;
	background: transparent;
	border: 1px solid rgba(16,185,129,0.3);
	padding: 3px 9px;
	border-radius: 999px;
}
.aafe-ext-status::before {
	content: '';
	width: 5px; height: 5px;
	background: #10b981;
	border-radius: 50%;
}
.aafe-ext-status--inactive {
	color: #6b7280;
	border-color: rgba(107,114,128,0.3);
}
.aafe-ext-status--inactive::before {
	background: #6b7280;
}

/* ── Widget Panel ─────────────────────────────────────────────────────── */
.aafe-widget-bulk-actions {
	display: flex;
	gap: 8px;
	flex-shrink: 0;
}
.aafe-widget-panel {
	background: var(--aafe-surface);
	border: 1px solid var(--aafe-border);
	border-radius: var(--aafe-r-xl);
	box-shadow: var(--aafe-shadow-sm);
	overflow: hidden;
}
.aafe-widget-panel-header {
	padding: 18px 24px;
	border-bottom: 1px solid var(--aafe-border-light);
	background: var(--aafe-surface-2);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}
.aafe-widget-panel-info { display: flex; align-items: center; gap: 10px; }
.aafe-widget-count-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	background: var(--aafe-grad-135);
	color: #ffffff;
	font-size: 15px;
	font-weight: 700;
	border-radius: var(--aafe-r-sm);
	letter-spacing: -0.03em;
	padding: 0 8px;
}
.aafe-topbar-name {
	font-family: 'Inter Tight', 'Inter', sans-serif;
	font-size: 15px;
	font-weight: 700;
	color: var(--aafe-text-1);
	letter-spacing: -0.02em;
	white-space: nowrap;
}
.aafe-topbar-version {
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 500;
	color: var(--aafe-text-4);
	text-transform: uppercase;
	letter-spacing: 0.07em;
	margin-top: 2px;
}
.aafe-widget-panel-label {
	font-size: 13px;
	font-weight: 600;
	color: var(--aafe-text-2);
}
.aafe-widget-panel-progress {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}
.aafe-widget-progress-bar {
	width: 120px;
	height: 6px;
	background: var(--aafe-border);
	border-radius: 999px;
	overflow: hidden;
}
.aafe-widget-progress-fill {
	height: 100%;
	background: var(--aafe-grad);
	border-radius: 999px;
	transition: width 0.4s var(--aafe-ease);
}
.aafe-widget-progress-text {
	font-size: 12px;
	font-weight: 600;
	color: var(--aafe-text-3);
	white-space: nowrap;
}

/* Search Bar */
.aafe-search-wrap {
	padding: 12px 24px;
	border-bottom: 1px solid var(--aafe-border-light);
	display: flex;
	align-items: center;
	gap: 10px;
}
.aafe-search-wrap .dashicons { font-size: 16px; width: 16px; height: 16px; color: var(--aafe-text-4); flex-shrink: 0; }
#wpbody-content .aafe-search-wrap input[type="text"].aafe-search-input {
	flex: 1;
	border: none !important;
	background: transparent !important;
	outline: none !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 13px !important;
	color: var(--aafe-text-1) !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	height: 26px !important;
	min-height: 26px !important;
	line-height: 26px !important;
	width: 100% !important;
}
#wpbody-content .aafe-search-wrap input[type="text"].aafe-search-input::placeholder { color: var(--aafe-text-4) !important; }
#wpbody-content .aafe-search-wrap input[type="text"].aafe-search-input:focus { border: none !important; box-shadow: none !important; outline: none !important; }
.aafe-search-shortcut {
	font-size: 10px;
	font-weight: 600;
	color: var(--aafe-text-4);
	background: #f3f4f6;
	border: 1px solid #d1d5db;
	border-radius: 4px;
	padding: 2px 7px;
	white-space: nowrap;
	flex-shrink: 0;
}

/* Table Wrapper — horizontal scroll on small screens */
.aafe-table-wrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* Table */
.aafe-table { width: 100%; border-collapse: collapse; min-width: 520px; }
.aafe-table thead tr { background: #f9fafb; border-bottom: 1px solid var(--aafe-border); }
.aafe-table th {
	padding: 11px 14px;
	font-size: 11px;
	font-weight: 700;
	color: var(--aafe-text-3);
	text-transform: uppercase;
	letter-spacing: 0.07em;
	text-align: left;
	white-space: nowrap;
}
.aafe-table th.col-icon { width: 52px; }
.aafe-table th.col-toggle { width: 70px; text-align: center; }
.aafe-table th.col-status { width: 90px; }
.aafe-table th.col-cat { width: 110px; }

.aafe-table td { padding: 13px 14px; font-size: 13px; color: var(--aafe-text-2); vertical-align: middle; border-bottom: 1px solid var(--aafe-border-light); }
.aafe-table td.col-toggle { text-align: center; }
.aafe-table tbody tr:last-child td { border-bottom: none; }
.aafe-table tbody tr { transition: background 0.12s var(--aafe-ease); }
.aafe-table tbody tr:hover { background: rgba(138,2,251,0.02); }
.aafe-table tbody tr.is-disabled { opacity: 0.4; }

.aafe-widget-icon-cell {
	width: 38px; height: 38px;
	border-radius: var(--aafe-r-md);
	background: var(--aafe-purple-light);
	border: 1px solid rgba(138,2,251,0.1);
	display: grid;
	place-items: center;
}
.aafe-widget-icon-cell .eicon,
.aafe-widget-icon-cell i {
	font-size: 18px;
	color: var(--aafe-purple);
	line-height: 1;
}
.aafe-widget-name {
	font-family: 'Inter Tight', 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: var(--aafe-text-1);
	display: block;
	letter-spacing: -0.01em;
}
.aafe-widget-slug {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	color: var(--aafe-text-4);
	font-family: 'SFMono-Regular', Consolas, monospace;
	margin-top: 2px;
	display: block;
}
.aafe-cat-tag {
	display: inline-flex;
	align-items: center;
	background: var(--aafe-purple-light);
	color: var(--aafe-purple);
	font-size: 11px;
	font-weight: 600;
	padding: 3px 10px;
	border-radius: 999px;
}

.aafe-table-footer {
	padding: 14px 24px;
	background: #f9fafb;
	border-top: 1px solid var(--aafe-border);
}
.aafe-table-footer-text {
	font-size: 13px;
	color: var(--aafe-text-3);
}

/* ── Status Pills ───────────────────────────────────────────────────────── */
.aafe-pill {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	white-space: nowrap;
}
.aafe-pill--active   { background: var(--aafe-success-bg); color: #065f46; }
.aafe-pill--inactive { background: #f3f4f6; color: #6b7280; }
.aafe-pill--active::before {
	content: '';
	width: 6px;
	height: 6px;
	background: var(--aafe-success);
	border-radius: 50%;
}

/* ── Toggle ─────────────────────────────────────────────────────────────── */
.aafe-toggle {
	display: inline-block;
	position: relative;
	width: 44px;
	height: 24px;
	flex-shrink: 0;
	cursor: pointer;
}
.aafe-toggle__input {
	opacity: 0 !important;
	width: 0 !important;
	height: 0 !important;
	position: absolute !important;
	margin: 0 !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}
.aafe-toggle__track {
	position: absolute;
	inset: 0;
	border-radius: 999px;
	background: #d1d5db;
	transition: background 0.2s var(--aafe-ease);
}
.aafe-toggle__thumb {
	position: absolute;
	width: 18px;
	height: 18px;
	background: #ffffff;
	border-radius: 50%;
	top: 3px;
	left: 3px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.25);
	transition: transform 0.2s var(--aafe-spring);
	z-index: 1;
}
.aafe-toggle:has(.aafe-toggle__input:checked) .aafe-toggle__track { background: var(--aafe-grad); }
.aafe-toggle:has(.aafe-toggle__input:checked) .aafe-toggle__thumb { transform: translateX(20px); }
.aafe-toggle__input:checked + .aafe-toggle__track { background: var(--aafe-grad); }

/* ── Buttons ────────────────────────────────────────────────────────────── */
.aafe-admin-wrap .aafe-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 7px !important;
	padding: 9px 18px !important;
	border-radius: var(--aafe-r-sm) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	font-family: 'Inter', sans-serif !important;
	cursor: pointer !important;
	text-decoration: none !important;
	transition: all 0.17s var(--aafe-ease) !important;
	line-height: 1 !important;
	height: auto !important;
	white-space: nowrap !important;
	border: 1.5px solid transparent !important;
}
.aafe-admin-wrap .aafe-btn .dashicons {
	font-size: 15px !important;
	width: 15px !important;
	height: 15px !important;
	line-height: 1 !important;
	margin: 0 !important;
}
.aafe-admin-wrap .aafe-btn--primary {
	background: var(--aafe-grad-135) !important;
	color: #ffffff !important;
	border-color: var(--aafe-purple) !important;
	box-shadow: 0 2px 10px rgba(138,2,251,0.3) !important;
}
.aafe-admin-wrap .aafe-btn--primary:hover {
	background: linear-gradient(135deg, #03a5d4 0%, #d47b00 33%, #d40270 66%, #6300c0 100%) !important;
	box-shadow: 0 4px 20px rgba(138,2,251,0.45) !important;
	transform: translateY(-1px);
	color: #ffffff !important;
}
.aafe-admin-wrap .aafe-btn--ghost {
	background: transparent !important;
	color: var(--aafe-text-2) !important;
	border-color: var(--aafe-border) !important;
}
.aafe-admin-wrap .aafe-btn--ghost:hover {
	background: var(--aafe-bg) !important;
	color: var(--aafe-text-1) !important;
	border-color: #c9cad0 !important;
}
.aafe-admin-wrap .aafe-btn--outline {
	background: transparent !important;
	color: var(--aafe-purple) !important;
	border-color: var(--aafe-purple) !important;
}
.aafe-admin-wrap .aafe-btn--outline:hover {
	background: var(--aafe-purple-light) !important;
	color: var(--aafe-purple) !important;
}
.aafe-admin-wrap .aafe-btn--sm {
	padding: 6px 13px !important;
	font-size: 12px !important;
}
.aafe-admin-wrap .aafe-btn--danger {
	background: var(--aafe-danger-bg) !important;
	color: var(--aafe-danger) !important;
	border-color: #fecaca !important;
}
.aafe-admin-wrap .aafe-btn--danger:hover {
	background: var(--aafe-danger) !important;
	color: #ffffff !important;
	border-color: var(--aafe-danger) !important;
}

/* ── Settings Page ──────────────────────────────────────────────────────── */
.aafe-settings-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	align-items: start;
}

.aafe-settings-nav {
	background: var(--aafe-surface);
	border: 1px solid var(--aafe-border);
	border-radius: var(--aafe-r-xl);
	box-shadow: var(--aafe-shadow-xs);
	overflow: hidden;
	position: sticky;
	top: calc(32px + 57px + 20px);
}
.aafe-settings-nav-title {
	padding: 16px 20px;
	font-size: 11px;
	font-weight: 700;
	color: var(--aafe-text-4);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	border-bottom: 1px solid var(--aafe-border-light);
}
.aafe-settings-nav-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 20px;
	font-size: 13px;
	font-weight: 500;
	color: var(--aafe-text-2);
	cursor: pointer;
	transition: background 0.12s, color 0.12s;
	border-bottom: 1px solid var(--aafe-border-light);
	text-decoration: none;
}
.aafe-settings-nav-item:last-child { border-bottom: none; }
.aafe-settings-nav-item .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
	color: var(--aafe-text-4);
	flex-shrink: 0;
}
.aafe-settings-nav-item:hover,
.aafe-settings-nav-item.is-active {
	background: linear-gradient(90deg, rgba(138,2,251,0.06) 0%, transparent 100%);
	color: var(--aafe-purple);
	border-left: 3px solid var(--aafe-purple);
}
.aafe-settings-nav-item {
	border-left: 3px solid transparent;
}
.aafe-settings-nav-item:hover .dashicons,
.aafe-settings-nav-item.is-active .dashicons {
	color: var(--aafe-purple);
}

/* Settings Content */
.aafe-settings-content {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.aafe-settings-panel {
	background: var(--aafe-surface);
	border: 1px solid var(--aafe-border);
	border-radius: var(--aafe-r-xl);
	box-shadow: var(--aafe-shadow-xs);
	overflow: hidden;
}
.aafe-settings-panel-header {
	padding: 20px 28px;
	border-bottom: 1px solid var(--aafe-border-light);
	background: var(--aafe-surface-2);
	display: flex;
	align-items: center;
	gap: 14px;
}
.aafe-settings-panel-icon {
	width: 38px;
	height: 38px;
	border-radius: var(--aafe-r-sm);
	background: var(--aafe-grad-135);
	display: grid;
	place-items: center;
	flex-shrink: 0;
}
.aafe-settings-panel-icon .dashicons {
	font-size: 18px;
	width: 18px;
	height: 18px;
	color: #ffffff;
}
.aafe-settings-panel-title {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: var(--aafe-text-1) !important;
}
.aafe-settings-panel-subtitle {
	font-size: 12px;
	color: var(--aafe-text-3);
	margin-top: 2px;
}

/* Setting Row */
.aafe-setting-row {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: start;
	gap: 24px;
	padding: 22px 28px;
	border-bottom: 1px solid var(--aafe-border-light);
	transition: background 0.12s;
}
.aafe-setting-row:last-of-type { border-bottom: none; }
.aafe-setting-row:hover { background: #fdfdfe; }

.aafe-setting-label {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--aafe-text-1) !important;
	display: block;
	margin-bottom: 4px;
}
.aafe-setting-desc {
	font-size: 12px;
	color: var(--aafe-text-3);
	line-height: 1.6;
}
.aafe-setting-control {
	display: flex;
	align-items: center;
	padding-top: 2px;
	flex-shrink: 0;
}

/* Save Footer */
.aafe-settings-save-bar {
	padding: 18px 28px;
	border-top: 1px solid var(--aafe-border);
	background: var(--aafe-surface-2);
	display: flex;
	align-items: center;
	gap: 14px;
}
.aafe-save-hint {
	font-size: 12px;
	color: var(--aafe-text-4);
}
kbd {
	display: inline-block;
	padding: 1px 5px;
	background: #f3f4f6;
	border: 1px solid #d1d5db;
	border-radius: 4px;
	font-size: 10px;
	font-family: 'SFMono-Regular', monospace;
	color: var(--aafe-text-2);
	line-height: 1.6;
}

/* ── System Info ─────────────────────────────────────────────────────────── */
.aafe-sysinfo {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
.aafe-sysinfo__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 28px;
	border-bottom: 1px solid var(--aafe-border-light);
	border-right: 1px solid var(--aafe-border-light);
	transition: background 0.1s;
}
.aafe-sysinfo__row:nth-child(2n) { border-right: none; }
.aafe-sysinfo__row:nth-last-child(-n+2) { border-bottom: none; }
.aafe-sysinfo__row:hover { background: #fafbfc; }
.aafe-sysinfo__label {
	font-size: 12px;
	color: var(--aafe-text-3);
	font-weight: 500;
}
.aafe-sysinfo__value {
	font-size: 12px;
	font-weight: 700;
	color: var(--aafe-text-1);
}

/* ── Notices ─────────────────────────────────────────────────────────────── */
.aafe-notice {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	border-radius: var(--aafe-r-sm);
	font-size: 13px;
	font-weight: 500;
}
.aafe-notice--success { background: var(--aafe-success-bg); color: #065f46; border: 1px solid #a7f3d0; }
.aafe-notice--error   { background: var(--aafe-danger-bg); color: #991b1b; border: 1px solid #fecaca; }
.aafe-notice .dashicons { font-size: 17px; width: 17px; height: 17px; flex-shrink: 0; }

/* ── About Page ──────────────────────────────────────────────────────────── */
.aafe-about-layout {
	display: grid;
	grid-template-columns: 320px 1fr;
	gap: 24px;
	align-items: start;
}

/* Profile Card */
.aafe-profile-card {
	background: var(--aafe-surface);
	border: 1px solid var(--aafe-border);
	border-radius: var(--aafe-r-2xl);
	box-shadow: var(--aafe-shadow-sm);
	overflow: hidden;
	position: sticky;
	top: calc(32px + 57px + 20px);
}
.aafe-profile-hero {
	background: linear-gradient(135deg, #00002a 0%, #04c6fa 30%, #fe0385 65%, #8a02fb 100%);
	padding: 32px 24px 20px;
	text-align: center;
	position: relative;
}

.aafe-profile-logo {
	width: 72px;
	height: 72px;
	background: rgba(255,255,255,0.15);
	border: 2px solid rgba(255,255,255,0.3);
	backdrop-filter: blur(10px);
	border-radius: var(--aafe-r-xl);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 14px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.2);
}
.aafe-profile-logo svg {
	width: 36px !important;
	height: 28px !important;
	display: block !important;
}
.aafe-profile-name {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	letter-spacing: -0.02em;
}
.aafe-profile-tagline {
	font-size: 12px;
	color: rgba(255,255,255,0.7);
	margin-top: 4px;
}

.aafe-profile-body {
	padding: 24px;
}
.aafe-profile-version {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: var(--aafe-grad-135);
	color: #ffffff;
	font-size: 12px;
	font-weight: 700;
	padding: 8px 16px;
	border-radius: var(--aafe-r-sm);
	margin-bottom: 20px;
}
.aafe-profile-version .dashicons {
	font-size: 14px;
	width: 14px;
	height: 14px;
}

.aafe-profile-desc {
	font-size: 13px;
	color: var(--aafe-text-3);
	line-height: 1.7;
	margin-bottom: 20px;
}

.aafe-profile-actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 24px;
}
.aafe-profile-actions .aafe-btn {
	width: 100%;
	justify-content: center;
}

.aafe-profile-meta {
	border-top: 1px solid var(--aafe-border-light);
	padding-top: 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.aafe-profile-meta-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 12px;
}
.aafe-profile-meta-key {
	color: var(--aafe-text-3);
	font-weight: 500;
	display: flex;
	align-items: center;
	gap: 6px;
}
.aafe-profile-meta-key .dashicons {
	font-size: 13px;
	width: 13px;
	height: 13px;
	color: var(--aafe-pink);
}
.aafe-profile-meta-val {
	color: var(--aafe-text-1);
	font-weight: 600;
}

/* About Right Column */
.aafe-about-right {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.aafe-feature-panel {
	background: var(--aafe-surface);
	border: 1px solid var(--aafe-border);
	border-radius: var(--aafe-r-xl);
	box-shadow: var(--aafe-shadow-xs);
	overflow: hidden;
}
.aafe-feature-panel-header {
	padding: 18px 24px;
	border-bottom: 1px solid var(--aafe-border-light);
	display: flex;
	align-items: center;
	gap: 10px;
}
.aafe-feature-panel-title {
	font-family: 'Inter Tight', 'Inter', sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: var(--aafe-text-1) !important;
	display: flex;
	align-items: center;
	gap: 8px;
}
.aafe-feature-panel-title .dashicons {
	font-size: 17px;
	width: 17px;
	height: 17px;
	color: var(--aafe-purple);
}
.aafe-feature-panel-header {
	background: linear-gradient(90deg, rgba(138,2,251,0.03) 0%, transparent 100%);
}
.aafe-feature-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.aafe-feature-list li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 18px 24px;
	border-bottom: 1px solid var(--aafe-border-light);
	transition: background 0.12s;
}
.aafe-feature-list li:last-child { border-bottom: none; }
.aafe-feature-list li:hover { background: #fafbfc; }
.aafe-feature-check {
	width: 22px;
	height: 22px;
	background: var(--aafe-success-bg);
	border-radius: 50%;
	display: grid;
	place-items: center;
	flex-shrink: 0;
	margin-top: 1px;
}
.aafe-feature-check .dashicons {
	font-size: 13px;
	width: 13px;
	height: 13px;
	color: var(--aafe-success);
}
.aafe-feature-list li strong {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: var(--aafe-text-1);
	margin-bottom: 3px;
}
.aafe-feature-list li p {
	font-size: 12px;
	color: var(--aafe-text-3);
	line-height: 1.65;
}

/* ── Footer ──────────────────────────────────────────────────────────────── */
.aafe-admin-footer {
	padding: 20px 40px 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	border-top: 1px solid var(--aafe-border);
	font-size: 12px;
	color: var(--aafe-text-3);
}
.aafe-admin-footer a {
	background: var(--aafe-grad);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-decoration: none;
	font-weight: 600;
}
.aafe-admin-footer a:hover { text-decoration: underline; -webkit-text-fill-color: transparent; }
.aafe-footer-links {
	display: flex;
	align-items: center;
	gap: 16px;
}

/* ── Toast ───────────────────────────────────────────────────────────────── */
#aafe-toast {
	position: fixed;
	bottom: 28px;
	right: 28px;
	padding: 13px 20px;
	border-radius: var(--aafe-r-md);
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 500;
	z-index: 999999;
	display: flex;
	align-items: center;
	gap: 10px;
	opacity: 0;
	transform: translateY(12px) scale(0.97);
	transition: opacity 0.25s var(--aafe-ease), transform 0.25s var(--aafe-spring);
	pointer-events: none;
	box-shadow: var(--aafe-shadow-xl);
}
#aafe-toast.show { opacity: 1; transform: translateY(0) scale(1); }
#aafe-toast.aafe-toast--success { background: var(--aafe-success-bg); color: #065f46; border: 1px solid #a7f3d0; }
#aafe-toast.aafe-toast--info    { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; }
#aafe-toast.aafe-toast--error   { background: var(--aafe-danger-bg); color: #991b1b; border: 1px solid #fecaca; }
#aafe-toast .dashicons { font-size: 16px; width: 16px; height: 16px; }

/* ── Empty State ─────────────────────────────────────────────────────────── */
.aafe-empty-state {
	padding: 80px 24px;
	text-align: center;
}
.aafe-empty-state .dashicons {
	font-size: 48px;
	width: 48px;
	height: 48px;
	color: var(--aafe-text-4);
	display: block;
	margin: 0 auto 16px;
}
.aafe-empty-state h3 {
	font-size: 16px;
	font-weight: 700;
	color: var(--aafe-text-1);
	margin-bottom: 8px;
}
.aafe-empty-state p {
	font-size: 13px;
	color: var(--aafe-text-3);
	max-width: 360px;
	margin: 0 auto;
	line-height: 1.7;
}

/* ── WP Input Overrides ──────────────────────────────────────────────────── */
.aafe-admin-wrap input[type="text"],
.aafe-admin-wrap input[type="email"],
.aafe-admin-wrap input[type="url"],
.aafe-admin-wrap input[type="number"],
.aafe-admin-wrap select {
	font-family: 'Inter', sans-serif !important;
	background: #ffffff !important;
	color: var(--aafe-text-1) !important;
	border: 1.5px solid var(--aafe-border) !important;
	border-radius: var(--aafe-r-sm) !important;
	box-shadow: none !important;
	margin: 0 !important;
}
.aafe-admin-wrap input:focus,
.aafe-admin-wrap select:focus {
	border-color: var(--aafe-purple) !important;
	box-shadow: 0 0 0 3px var(--aafe-purple-glow) !important;
	outline: none !important;
}

/* ── Spinner ─────────────────────────────────────────────────────────────── */
@keyframes aafe-spin { to { transform: rotate(360deg); } }
.aafe-spinner {
	display: inline-block;
	width: 14px; height: 14px;
	border: 2px solid rgba(255,255,255,0.4);
	border-top-color: #fff;
	border-radius: 50%;
	animation: aafe-spin 0.7s linear infinite;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */

/* 1280px — 3-col stats → 2-col */
@media (max-width: 1280px) {
	.aafe-stats-row { grid-template-columns: repeat(2, 1fr); }
	.aafe-hero { padding: 44px 32px; }
	.aafe-admin-body { padding: 28px 32px 50px; }
}

/* 960px — stack everything */
@media (max-width: 960px) {
	/* Topbar */
	.aafe-topbar { padding: 0; }
	.aafe-topbar-brand { padding: 0 16px; }
	.aafe-topbar-logo-img { height: 32px; }
	.aafe-nav-tab { padding: 0 13px; font-size: 12px; min-height: 56px; }
	.aafe-nav-tab .dashicons { display: none; } /* hide icons on mid screens to save space */

	/* Hero */
	.aafe-hero { padding: 36px 24px; }
	.aafe-hero-title { font-size: 26px !important; }
	.aafe-hero-glow--cyan   { width: 200px; height: 160px; }
	.aafe-hero-glow--orange { display: none; }
	.aafe-hero-glow--purple { width: 220px; height: 180px; }

	/* Body */
	.aafe-admin-body { padding: 22px 20px 40px; }
	.aafe-admin-footer { padding: 16px 20px 20px; }

	/* Stats */
	.aafe-stats-row { grid-template-columns: repeat(2, 1fr); gap: 14px; }
	.aafe-stat-number { font-size: 32px; }

	/* Extensions */
	.aafe-ext-grid { grid-template-columns: 1fr; }
	.aafe-section-header { flex-direction: column; align-items: flex-start; gap: 12px; }

	/* Widget panel */
	.aafe-widget-panel-header { flex-direction: column; align-items: flex-start; }
	.aafe-widget-panel-progress { display: none; }
	.aafe-widget-bulk-actions { align-self: flex-end; }



	/* About */
	.aafe-about-layout { grid-template-columns: 1fr; }
	.aafe-profile-card { position: static; }
}

/* 700px — further compact */
@media (max-width: 700px) {
	/* Topbar — hide nav text, show only icons */
	.aafe-topbar-logo-img { height: 28px; }
	.aafe-nav-tab { padding: 0 10px; gap: 0; }
	.aafe-nav-tab .dashicons { display: block !important; } /* show icons again */
	.aafe-nav-tab .dashicons + * { display: none; } /* hide text */

	/* Hero */
	.aafe-hero { padding: 28px 18px; }
	.aafe-hero-title { font-size: 22px !important; }
	.aafe-hero-right { flex-wrap: wrap; gap: 8px; }
	.aafe-hero-desc { font-size: 13px; }

	/* Stats */
	.aafe-stats-row { grid-template-columns: 1fr 1fr; gap: 12px; }
	.aafe-stat-card { padding: 16px 18px 14px; }
	.aafe-stat-number { font-size: 28px; }

	/* Body */
	.aafe-admin-body { padding: 16px 16px 40px; gap: 22px; }

	/* Widget search */
	.aafe-search-shortcut { display: none; }

	/* Settings form */
	.aafe-setting-row { grid-template-columns: 1fr; }
	.aafe-sysinfo { grid-template-columns: 1fr; }
	.aafe-sysinfo__row { border-right: none; }
	.aafe-sysinfo__row:nth-last-child(-n+2) { border-bottom: 1px solid var(--aafe-border-light); }
	.aafe-sysinfo__row:last-child { border-bottom: none; }
}

/* 480px — single column everything */
@media (max-width: 480px) {
	.aafe-stats-row { grid-template-columns: 1fr; gap: 10px; }
	.aafe-hero-title { font-size: 20px !important; }
	.aafe-topbar-brand { border-right: none; padding-right: 8px; }
	.aafe-widget-bulk-actions { width: 100%; justify-content: flex-end; }
}

