/* ==========================================================================
   Addronix Addons for Elementor — Admin Panel v5 · Modern Minimal
   Brand: #834DFB Violet (logo icon + tagline) · #00002A Navy (wordmark)
   Style: Clean white · Refined typography · Surgical violet accents
   ========================================================================== */

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

/* ── DESIGN TOKENS ──────────────────────────────────────────────── */
:root {
	/* Brand */
	--p:        #834DFB;
	--p-dark:   #6B35E8;
	--p-dim:    rgba(131,77,251,.1);
	--p-border: rgba(131,77,251,.18);
	--p-light:  #F0EAFF;

	/* Navy (logo wordmark) */
	--navy: #00002A;

	/* Canvas */
	--bg:      #F4F4F8;
	--surface: #FFFFFF;
	--raised:  #FAFAFC;

	/* Borders */
	--b:  #E5E5EC;
	--b2: #EDEDF3;

	/* Text */
	--t1: #16161E;
	--t2: #52525F;
	--t3: #9898A8;

	/* Status */
	--ok:    #16A34A;
	--ok-bg: #F0FDF4;
	--ok-b:  rgba(22,163,74,.18);
	--err:   #DC2626;
	--err-bg:#FEF2F2;

	/* Radii */
	--r:  8px;
	--r2: 12px;
	--r3: 16px;
	--r4: 20px;
	--r5: 24px;

	/* Shadows */
	--s0: 0 1px 2px rgba(0,0,0,.04);
	--s1: 0 1px 4px rgba(0,0,0,.05), 0 2px 8px rgba(0,0,0,.04);
	--s2: 0 4px 16px rgba(0,0,0,.07), 0 1px 4px rgba(0,0,0,.04);
	--s3: 0 12px 40px rgba(0,0,0,.10), 0 2px 8px rgba(0,0,0,.05);
	--sv: 0 4px 18px rgba(131,77,251,.22);

	/* Legacy aliases (keep PHP/JS working) */
	--aafe-violet:        var(--p);
	--aafe-violet-dark:   var(--p-dark);
	--aafe-violet-light:  var(--p-light);
	--aafe-violet-glow:   var(--p-dim);
	--aafe-violet-border: var(--p-border);
	--aafe-violet-shadow: var(--sv);
	--aafe-violet-lighter:#FAF7FF;
	--aafe-cyan:          var(--p);
	--aafe-cyan-dark:     var(--p-dark);
	--aafe-cyan-light:    var(--p-light);
	--aafe-cyan-glow:     var(--p-dim);
	--aafe-purple:        var(--p-dark);
	--aafe-purple-light:  var(--p-light);
	--aafe-purple-glow:   var(--p-dim);
	--aafe-navy:          var(--navy);
	--aafe-bg:            var(--bg);
	--aafe-surface:       var(--surface);
	--aafe-surface-2:     var(--raised);
	--aafe-surface-3:     var(--bg);
	--aafe-border:        var(--b);
	--aafe-border-light:  var(--b2);
	--aafe-text-1:        var(--t1);
	--aafe-text-2:        var(--t2);
	--aafe-text-3:        var(--t3);
	--aafe-text-4:        var(--t3);
	--aafe-success:       var(--ok);
	--aafe-success-bg:    var(--ok-bg);
	--aafe-success-border:var(--ok-b);
	--aafe-danger:        var(--err);
	--aafe-danger-bg:     var(--err-bg);
	--aafe-grad:          linear-gradient(135deg, var(--p) 0%, var(--p-dark) 100%);
	--aafe-grad-h:        linear-gradient(90deg,  var(--p) 0%, var(--p-dark) 100%);
	--aafe-grad-135:      linear-gradient(135deg, var(--p) 0%, var(--p-dark) 100%);
	--aafe-grad-r:        linear-gradient(90deg,  var(--p-dark) 0%, var(--p) 100%);
	--aafe-shadow-xs:     var(--s0);
	--aafe-shadow-sm:     var(--s1);
	--aafe-shadow-md:     var(--s2);
	--aafe-shadow-lg:     var(--s3);
	--aafe-shadow-xl:     var(--s3);
	--aafe-r-xs:  4px;  --aafe-r-sm: var(--r);  --aafe-r-md: var(--r2);
	--aafe-r-lg:  var(--r3); --aafe-r-xl: var(--r4); --aafe-r-2xl: var(--r5);
	--aafe-r-3xl: 28px;
	--aafe-ease:   cubic-bezier(.4,0,.2,1);
	--aafe-spring: cubic-bezier(.34,1.56,.64,1);
}

/* ── WP RESETS ──────────────────────────────────────────────────── */
body:has(.aafe-admin-wrap) .wrap           { margin:0 !important; padding:0 !important; }
body:has(.aafe-admin-wrap) #wpcontent      { background:var(--bg) !important; padding-left:0 !important; }
body:has(.aafe-admin-wrap) #wpbody-content { padding-bottom:0 !important; display:flex; flex-direction:column; min-height:calc(100vh - 32px); }

/* ── BASE ──────────────────────────────────────────────────────── */
.aafe-admin-wrap {
	font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
	font-size:13px; color:var(--t2); background:var(--bg);
	margin-top:-10px; margin-bottom:0; flex:1; min-height:calc(100vh - 32px);
	padding-bottom:60px;
	-webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
	display:flex; flex-direction:column;
}
.aafe-admin-wrap * { box-sizing:border-box; }
.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',sans-serif !important;
	margin:0; line-height:1.2;
}
.aafe-admin-wrap p   { margin:0; }
.aafe-admin-wrap ul,
.aafe-admin-wrap ol  { margin:0; padding:0; list-style:none; }
.aafe-admin-wrap a   { transition:color .15s; }
.aafe-admin-wrap svg { display:inline-block !important; overflow:visible !important; }

/* ════════════════════════════════════════════════════════════════════
   TOPBAR
   ════════════════════════════════════════════════════════════════════ */
.aafe-topbar {
	display:flex; align-items:center; height:58px;
	background:var(--surface); border-bottom:1px solid var(--b);
	position:sticky; top:32px; z-index:100;
	box-shadow:0 1px 0 var(--b2), var(--s0);
	padding:0 24px 0 0;
}

/* Brand */
.aafe-topbar-brand {
	display:flex; align-items:center; flex-shrink:0; height:100%;
}
.aafe-topbar-logo-link {
	display:flex; align-items:center; height:100%;
	text-decoration:none; padding:0 22px;
	transition:opacity .15s;
	border-right:1px solid var(--b2);
}
.aafe-topbar-logo-link:hover { opacity:.72; }
.aafe-topbar-logo-img        { height:28px; width:auto; display:block; filter:none !important; }

/* Nav */
.aafe-nav-tabs {
	display:flex; align-items:center; height:100%;
	gap:2px; padding:0 12px; flex:1;
}
.aafe-nav-tab {
	display:inline-flex; align-items:center; gap:6px;
	height:100%; padding:0 14px;
	font-family:'Inter',sans-serif; font-size:13px; font-weight:500;
	color:var(--t3); text-decoration:none;
	border-bottom:2px solid transparent;
	border-top:2px solid transparent;
	transition:color .15s, border-color .15s, background .15s;
	white-space:nowrap; position:relative;
	border-radius:0;
}
.aafe-nav-tab .dashicons { font-size:15px; width:15px; height:15px; line-height:1; }
.aafe-nav-tab:hover      { color:var(--t2); background:var(--bg); }
.aafe-nav-tab--active    { color:var(--p) !important; border-bottom-color:var(--p) !important; font-weight:600; }
.aafe-nav-tab--active .dashicons { color:var(--p); }
.aafe-nav-tab:focus,
.aafe-nav-tab:focus-visible { outline:none !important; box-shadow:none !important; }

/* End: version badge */
.aafe-topbar-end,
.aafe-topbar-name,
.aafe-topbar-version { display:none; } /* not in header.php by default */

/* ════════════════════════════════════════════════════════════════════
   HERO (hidden — replaced by .aafe-page-hd inside body)
   ════════════════════════════════════════════════════════════════════ */
.aafe-hero,
.aafe-hero-glow,
.aafe-hero::before,
.aafe-hero::after,
.aafe-hero-wave { display:none !important; }

/* ════════════════════════════════════════════════════════════════════
   PAGE BODY
   ════════════════════════════════════════════════════════════════════ */
.aafe-admin-body {
	padding:28px 32px 60px;
	display:flex; flex-direction:column; gap:28px;
	width:100%; margin:0 auto; flex:1;
}

/* ── Page Header (Banner) ── */
.aafe-page-hd {
	display:flex; align-items:center;
	justify-content:space-between; gap:20px;
	padding:36px 40px; margin-bottom:4px;
	background: linear-gradient(135deg, #4A1D96 0%, var(--p) 100%);
	border-radius: var(--r3); box-shadow: var(--s2), var(--sv);
	position: relative; overflow: hidden;
}
.aafe-page-hd::before {
	content: ''; position: absolute; inset: 0;
	background-image: radial-gradient(circle, rgba(255,255,255,0.12) 1px, transparent 1px);
	background-size: 24px 24px;
}
.aafe-page-hd::after {
	content: ''; position: absolute; right:-5%; top:-20%;
	width:300px; height:300px; border-radius:50%;
	background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
}
.aafe-page-hd-text { display:flex; flex-direction:column; gap:6px; position:relative; z-index:2; }
.aafe-page-title {
	font-family:'Inter Tight','Inter',sans-serif !important;
	font-size:28px !important; font-weight:600 !important;
	color:#fff !important; letter-spacing:-.04em;
}
.aafe-page-desc {
	font-size:14px; color:rgba(255,255,255,.8); font-weight:400; line-height:1.5;
	display:flex; align-items:center; gap:8px;
}
.aafe-page-desc-dot {
	width:6px; height:6px; border-radius:50%;
	background:#22D3EE; display:inline-block; flex-shrink:0;
	box-shadow:0 0 8px rgba(34, 211, 238, 0.6);
}
.aafe-page-hd-meta {
	display:flex; align-items:center; gap:8px; flex-wrap:wrap; flex-shrink:0;
	position:relative; z-index:2;
}
.aafe-page-hd-meta .aafe-tag {
	background:rgba(255,255,255,.15); color:#fff; border:1px solid rgba(255,255,255,.25);
	backdrop-filter:blur(10px);
}
.aafe-tag {
	display:inline-flex; align-items:center; gap:5px;
	height:26px; padding:0 10px;
	font-size:11.5px; font-weight:600; border-radius:999px;
	white-space:nowrap; border:1px solid;
}
body .aafe-page-hd .aafe-btn--primary,
.aafe-admin-wrap .aafe-page-hd .aafe-btn--primary {
	background: #ffffff !important;
	color: var(--p) !important;
	border: none !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}
body .aafe-page-hd .aafe-btn--primary .dashicons,
.aafe-admin-wrap .aafe-page-hd .aafe-btn--primary .dashicons {
	color: var(--p) !important;
}
body .aafe-page-hd .aafe-btn--primary:hover,
.aafe-admin-wrap .aafe-page-hd .aafe-btn--primary:hover {
	background: var(--p) !important;
	color: #ffffff !important;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2) !important;
	transform: translateY(-2px) !important;
}
body .aafe-page-hd .aafe-btn--primary:hover .dashicons,
.aafe-admin-wrap .aafe-page-hd .aafe-btn--primary:hover .dashicons {
	color: #ffffff !important;
}
.aafe-tag--violet { background:var(--p-light); color:var(--p-dark); border-color:var(--p-border); }
.aafe-tag--green  { background:var(--ok-bg);   color:var(--ok);     border-color:var(--ok-b); }
.aafe-tag--gray   { background:var(--raised);  color:var(--t2);     border-color:var(--b); }
.aafe-tag .dashicons { font-size:13px; width:13px; height:13px; }

/* ════════════════════════════════════════════════════════════════════
   STAT CARDS
   ════════════════════════════════════════════════════════════════════ */
.aafe-stats-row {
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:20px;
}
.aafe-stat-card {
	background:var(--surface); border:1px solid var(--b);
	border-radius:var(--r3); padding:24px;
	display:flex; flex-direction:column; gap:0;
	box-shadow:var(--s0);
	transition:transform .2s var(--aafe-spring), box-shadow .2s, border-color .2s;
	position:relative; overflow:hidden;
	cursor:default;
}
.aafe-stat-card:hover {
	transform:translateY(-4px);
	box-shadow:var(--s2); border-color:var(--p-border);
}

/* Remove old stripes and bars */
.aafe-stat-card::after, .aafe-stat-bar { display:none !important; }

.aafe-stat-card-top {
	display:flex; align-items:center;
	justify-content:flex-start; gap:14px;
	margin-bottom:18px;
}
.aafe-stat-label {
	order:2; font-size:14px; font-weight:600; color:var(--t2);
	text-transform:none; letter-spacing:0;
}
.aafe-stat-icon {
	order:1; width:46px; height:46px; border-radius:14px;
	display:grid; place-items:center; flex-shrink:0;
	transition:transform .2s var(--aafe-spring);
}
.aafe-stat-card:hover .aafe-stat-icon { transform:scale(1.08); }
.aafe-stat-icon .dashicons { font-size:22px; width:22px; height:22px; }

.aafe-stat-card--total    .aafe-stat-icon { background:rgba(131,77,251,.12); color:var(--p); }
.aafe-stat-card--active   .aafe-stat-icon { background:rgba(22,163,74,.12);   color:var(--ok); }
.aafe-stat-card--inactive .aafe-stat-icon { background:#F3F4F6;              color:#6B7280; }
.aafe-stat-card--pro      .aafe-stat-icon { background:linear-gradient(135deg, #4A1D96 0%, var(--p) 100%); color:#fff; box-shadow:var(--sv); }

.aafe-stat-number {
	font-family:'Inter Tight','Inter',sans-serif;
	font-size:38px; font-weight:800;
	color:var(--t1); letter-spacing:-.05em; line-height:1;
	margin-bottom:8px;
}
.aafe-stat-trend {
	font-size:13px; color:var(--t3); font-weight:400;
}

/* ════════════════════════════════════════════════════════════════════
   SECTIONS
   ════════════════════════════════════════════════════════════════════ */
.aafe-section { display:flex; flex-direction:column; gap:14px; }
.aafe-section-header {
	display:flex; align-items:center;
	justify-content:space-between; gap:16px; flex-wrap:wrap;
}
.aafe-section-header-left { flex:1; display:flex; align-items:center; gap:12px; }
.aafe-section-header-text { display:flex; flex-direction:column; gap:3px; }
.aafe-section-title {
	font-family:'Inter Tight','Inter',sans-serif !important;
	font-size:15px !important; font-weight:700 !important;
	color:var(--t1) !important; letter-spacing:-.02em;
}
.aafe-section-title-icon {
	width:32px; height:32px; border-radius:var(--r);
	background:var(--aafe-grad); display:grid; place-items:center;
	flex-shrink:0; box-shadow:var(--sv);
}
.aafe-section-title-icon .dashicons { font-size:15px; width:15px; height:15px; color:#fff; }
.aafe-section-subtitle {
	font-size:12.5px; color:var(--t3); line-height:1.6; font-weight:400;
}

/* ════════════════════════════════════════════════════════════════════
   EXTENSION CARDS
   ════════════════════════════════════════════════════════════════════ */
.aafe-ext-grid {
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(240px,1fr));
	gap:12px;
}
.aafe-ext-card {
	background:var(--surface); border:1px solid var(--b);
	border-radius:var(--r3); padding:18px 18px 16px;
	display:flex; flex-direction:column; gap:14px;
	box-shadow:var(--s1);
	transition:transform .18s var(--aafe-spring), box-shadow .18s, border-color .18s;
	position:relative; overflow:hidden;
}
.aafe-ext-card::before {
	content:''; position:absolute; inset:0; border-radius:var(--r3);
	box-shadow:inset 0 0 0 1px var(--p-border);
	opacity:0; transition:opacity .18s;
	pointer-events:none !important;
}
.aafe-ext-card:hover { transform:translateY(-2px); box-shadow:var(--s2); }
.aafe-ext-card:hover::before { opacity:1; }

.aafe-ext-card-header {
	display:flex; align-items:center; justify-content:space-between; width:100%;
	position:relative; z-index:2;
}
.aafe-ext-icon-wrap {
	width:42px; height:42px; border-radius:var(--r2);
	display:grid; place-items:center; flex-shrink:0;
	box-shadow:0 2px 8px rgba(0,0,0,.15);
}
.aafe-ext-icon-wrap .dashicons { font-size:20px; width:20px; height:20px; color:#fff; }
.aafe-ext-card-body {
	display:flex; flex-direction:column; gap:5px;
	position:relative; z-index:2;
}
.aafe-ext-name {
	font-family:'Inter Tight','Inter',sans-serif;
	font-size:14px; font-weight:700; color:var(--t1);
	display:block; letter-spacing:-.02em; line-height:1.3;
}
.aafe-ext-desc {
	font-size:12px; color:var(--t3); line-height:1.65; display:block;
}
.aafe-ext-configure-btn,
.aafe-ext-configure-link {
	display:inline-flex;
	align-items:center;
	gap:5px;
	font-size:11px;
	font-weight:600;
	color:var(--p) !important;
	background:var(--p-light);
	border:1px solid var(--p-border);
	padding:4px 9px;
	border-radius:6px;
	text-decoration:none !important;
	margin-top:6px;
	width:fit-content;
	cursor:pointer !important;
	position:relative;
	z-index:3;
	line-height:1.3;
	transition:all .18s ease;
}
.aafe-ext-configure-btn:hover,
.aafe-ext-configure-link:hover {
	background:var(--p) !important;
	color:#fff !important;
	border-color:var(--p) !important;
	box-shadow:0 2px 8px rgba(131,77,251,.28);
	transform:translateY(-1px);
}
.aafe-ext-configure-btn .dashicons,
.aafe-ext-configure-link .dashicons {
	font-size:12px;
	width:12px;
	height:12px;
	line-height:1;
	color:inherit;
}
.aafe-ext-card-footer {
	position:relative;
	z-index:2;
}
.aafe-ext-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.aafe-ext-status {
	display:inline-flex; align-items:center; gap:4px;
	font-size:11px; font-weight:600; color:var(--ok);
	background:var(--ok-bg); border:1px solid var(--ok-b);
	padding:2px 8px; border-radius:999px;
}
.aafe-ext-status::before { content:''; width:5px; height:5px; background:var(--ok); border-radius:50%; }
.aafe-ext-status--inactive { color:var(--t3); background:var(--raised); border-color:var(--b); }
.aafe-ext-status--inactive::before { background:var(--t3); }

/* ════════════════════════════════════════════════════════════════════
   WIDGET PANEL
   ════════════════════════════════════════════════════════════════════ */
.aafe-widget-bulk-actions { display:flex; gap:8px; flex-shrink:0; }
.aafe-widget-panel {
	background:var(--surface); border:1px solid var(--b);
	border-radius:var(--r3); box-shadow:var(--s1); overflow:hidden;
}
.aafe-widget-panel-header {
	padding:14px 20px;
	border-bottom:1px solid var(--b2); background:var(--raised);
	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:30px; height:30px;
	background:var(--aafe-grad); color:#fff;
	font-size:13px; font-weight:800;
	border-radius:var(--r); letter-spacing:-.04em;
	padding:0 8px; box-shadow:var(--sv);
}
.aafe-widget-panel-label   { font-size:13px; font-weight:600; color:var(--t2); }
.aafe-widget-panel-progress { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.aafe-widget-progress-bar  { width:100px; height:4px; background:var(--b); border-radius:999px; overflow:hidden; }
.aafe-widget-progress-fill { height:100%; background:var(--aafe-grad); border-radius:999px; transition:width .4s; }
.aafe-widget-progress-text { font-size:12px; font-weight:600; color:var(--t3); white-space:nowrap; }

/* Search */
.aafe-search-wrap {
	padding:10px 20px;
	border-bottom:1px solid var(--b2);
	display:flex; align-items:center; gap:10px;
	background:var(--surface);
}
.aafe-search-wrap .dashicons { font-size:15px; width:15px; height:15px; color:var(--t3); 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(--t1) !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(--t3) !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(--t3);
	background:var(--bg); border:1px solid var(--b);
	border-radius:4px; padding:2px 6px; white-space:nowrap; flex-shrink:0;
}

/* Widget Grid */
.aafe-widget-grid {
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(260px,1fr));
	gap:16px; padding:20px;
	background:var(--bg); border-top:1px solid var(--b2);
}
.aafe-widget-card {
	background:var(--surface); border:1px solid var(--b);
	border-radius:var(--r2); padding:16px;
	display:flex; flex-direction:column; gap:14px;
	box-shadow:var(--s0); transition:all .2s var(--aafe-spring);
	position:relative;
}
.aafe-widget-card.is-disabled { opacity:0.6; filter:grayscale(0.5); }
.aafe-widget-card:hover { transform:translateY(-2px); box-shadow:var(--s2); border-color:var(--p-border); opacity:1; filter:none; z-index:2; }

.aafe-widget-card-header { display:flex; align-items:flex-start; justify-content:space-between; width:100%; }
.aafe-widget-icon-cell {
	width:40px; height:40px; border-radius:var(--r);
	background:var(--p-light); border:1px solid var(--p-border);
	display:grid; place-items:center;
}
.aafe-widget-icon-cell .eicon,
.aafe-widget-icon-cell i { font-size:18px; color:var(--p); line-height:1; }

.aafe-widget-name {
	font-family:'Inter Tight','Inter',sans-serif;
	font-size:14px; font-weight:700; color:var(--t1);
	display:block; letter-spacing:-.01em; margin-bottom:2px;
}
.aafe-widget-slug {
	font-family:'SFMono-Regular',Consolas,monospace;
	font-size:11px; color:var(--t3); display:block;
}

.aafe-widget-card-footer, .aafe-ext-card-footer {
	display:flex; align-items:center; justify-content:space-between;
	padding-top:12px; border-top:1px dashed var(--b2); margin-top:auto;
}

.aafe-cat-tag {
	display:inline-flex; align-items:center;
	background:var(--raised); color:var(--t2); border:1px solid var(--b);
	font-size:10.5px; font-weight:700;
	padding:3px 9px; border-radius:999px;
}
.aafe-widget-card-footer .aafe-pill { padding:3px 8px; font-size:10.5px; }
.aafe-table-footer { padding:12px 20px; background:var(--raised); border-top:1px solid var(--b); }
.aafe-table-footer-text { font-size:12px; color:var(--t3); }

/* Pills */
.aafe-pill { display:inline-flex; align-items:center; gap:4px; padding:3px 9px; border-radius:999px; font-size:11px; font-weight:600; white-space:nowrap; }
.aafe-pill--active   { background:var(--ok-bg); color:#166534; }
.aafe-pill--inactive { background:var(--raised); color:var(--t3); }
.aafe-pill--active::before { content:''; width:5px; height:5px; background:var(--ok); border-radius:50%; }

/* ════════════════════════════════════════════════════════════════════
   TOGGLE
   ════════════════════════════════════════════════════════════════════ */
.aafe-toggle { display:inline-block; position:relative; width:40px; height:22px; 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:#D4D4DE; transition:background .18s;
}
.aafe-toggle__thumb {
	position:absolute; width:16px; height:16px; background:#fff;
	border-radius:50%; top:3px; left:3px;
	box-shadow:0 1px 4px rgba(0,0,0,.2);
	transition:transform .2s var(--aafe-spring); z-index:1;
}
.aafe-toggle:has(.aafe-toggle__input:checked) .aafe-toggle__track { background:var(--p); }
.aafe-toggle:has(.aafe-toggle__input:checked) .aafe-toggle__thumb { transform:translateX(18px); }
.aafe-toggle__input:checked + .aafe-toggle__track { background:var(--p); }

/* ════════════════════════════════════════════════════════════════════
   BUTTONS
   ════════════════════════════════════════════════════════════════════ */
.aafe-admin-wrap .aafe-btn {
	display:inline-flex !important; align-items:center !important; gap:8px !important;
	padding:10px 22px !important; border-radius:10px !important;
	font-size:14px !important; font-weight:600 !important;
	font-family:'Inter',sans-serif !important;
	cursor:pointer !important; text-decoration:none !important;
	transition:all .15s !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:16px !important; width:16px !important; height:16px !important; line-height:1 !important; margin:0 !important; }

.aafe-admin-wrap .aafe-btn--primary {
	background:var(--p) !important; color:#fff !important;
	border-color:var(--p-dark) !important; box-shadow:var(--sv) !important;
}
.aafe-admin-wrap .aafe-btn--primary:hover {
	background:var(--p-dark) !important; color:#fff !important;
	box-shadow:0 6px 22px rgba(131,77,251,.3) !important;
	transform:translateY(-1px);
}
.aafe-admin-wrap .aafe-btn--ghost {
	background:var(--surface) !important; color:var(--t2) !important;
	border-color:var(--b) !important; box-shadow:var(--s0) !important;
}
.aafe-admin-wrap .aafe-btn--ghost:hover {
	background:var(--bg) !important; color:var(--t1) !important;
	border-color:#C8C8D2 !important;
}
.aafe-admin-wrap .aafe-btn--outline {
	background:transparent !important; color:var(--p) !important;
	border-color:var(--p-border) !important;
}
.aafe-admin-wrap .aafe-btn--outline:hover { background:var(--p-light) !important; }
.aafe-admin-wrap .aafe-btn--sm { padding:8px 16px !important; font-size:13px !important; border-radius:8px !important; }
.aafe-admin-wrap .aafe-btn--danger {
	background:var(--err-bg) !important; color:var(--err) !important; border-color:#FECACA !important;
}
.aafe-admin-wrap .aafe-btn--danger:hover {
	background:var(--err) !important; color:#fff !important; border-color:var(--err) !important;
}

/* ════════════════════════════════════════════════════════════════════
   SETTINGS PAGE
   ════════════════════════════════════════════════════════════════════ */
.aafe-settings-layout {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 24px;
	align-items: start;
}
.aafe-settings-sidebar {
	display: flex;
	flex-direction: column;
	gap: 16px;
	position: sticky;
	top: calc(32px + 58px + 16px);
}
.aafe-settings-nav {
	background: var(--surface);
	border: 1px solid var(--b);
	border-radius: var(--r3);
	box-shadow: var(--s1);
	overflow: hidden;
}
.aafe-settings-nav-title {
	padding: 12px 18px;
	font-size: 11px;
	font-weight: 700;
	color: var(--t3);
	text-transform: uppercase;
	letter-spacing: .08em;
	border-bottom: 1px solid var(--b2);
	background: var(--raised);
}
.aafe-settings-nav-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 13px 18px;
	font-size: 13.5px;
	font-weight: 500;
	color: var(--t2);
	cursor: pointer;
	border-bottom: 1px solid var(--b2);
	text-decoration: none;
	border-left: 3px solid transparent;
	outline: none !important;
	box-shadow: none !important;
	transition: background-color 0.25s ease,
	            color 0.25s ease,
	            border-color 0.25s ease;
}
.aafe-settings-nav-item:last-child {
	border-bottom: none;
}
.aafe-settings-nav-item .dashicons {
	font-size: 17px;
	width: 17px;
	height: 17px;
	color: var(--t3);
	flex-shrink: 0;
	transition: color 0.25s ease;
}
.aafe-settings-nav-text {
	flex: 1;
}

/* Smooth Hover & Remove Focus Outline */
.aafe-settings-nav-item:hover {
	background-color: #F8F5FF;
	color: var(--p-dark);
	border-left-color: rgba(131, 77, 251, 0.35);
}
.aafe-settings-nav-item:hover .dashicons {
	color: var(--p);
}

/* Remove any focus / focus-visible outline or shadow (WordPress admin overrides) */
#wpbody a.aafe-settings-nav-item:focus,
#wpbody a.aafe-settings-nav-item:focus-visible,
#wpbody a.aafe-settings-nav-item:active,
.aafe-settings-nav-item:focus,
.aafe-settings-nav-item:focus-visible,
.aafe-settings-nav-item:active {
	outline: none !important;
	box-shadow: none !important;
	text-decoration: none !important;
}

/* Active State */
.aafe-settings-nav-item.is-active,
.aafe-settings-nav-item.is-active:hover {
	background-color: var(--p-light) !important;
	color: var(--p-dark) !important;
	font-weight: 700;
	border-left-color: var(--p) !important;
	outline: none !important;
	box-shadow: none !important;
}
.aafe-settings-nav-item.is-active .dashicons,
.aafe-settings-nav-item.is-active:hover .dashicons {
	color: var(--p) !important;
}

/* Danger Item (Reset to Defaults) */
#wpbody a.aafe-settings-nav-item--danger:focus,
#wpbody a.aafe-settings-nav-item--danger:focus-visible,
#wpbody a.aafe-settings-nav-item--danger:active,
.aafe-settings-nav-item--danger:focus,
.aafe-settings-nav-item--danger:focus-visible,
.aafe-settings-nav-item--danger:active {
	outline: none !important;
	box-shadow: none !important;
}
.aafe-settings-nav-item--danger:hover {
	background-color: #FFF1F2;
	color: #E11D48;
	border-left-color: rgba(225, 29, 72, 0.35);
}
.aafe-settings-nav-item--danger:hover .dashicons {
	color: #E11D48;
}
.aafe-settings-nav-item--danger.is-active,
.aafe-settings-nav-item--danger.is-active:hover {
	background-color: #FFF1F2 !important;
	color: #E11D48 !important;
	border-left-color: #E11D48 !important;
	outline: none !important;
	box-shadow: none !important;
}
.aafe-settings-nav-item--danger.is-active .dashicons,
.aafe-settings-nav-item--danger.is-active:hover .dashicons {
	color: #E11D48 !important;
}
.aafe-nav-badge {
	font-size: 10px;
	font-weight: 700;
	padding: 2px 7px;
	border-radius: 999px;
	line-height: 1.3;
	transition: background 0.2s ease, color 0.2s ease;
}
.aafe-nav-badge--speed {
	background: #DCFCE7;
	color: #15803D;
}
.aafe-nav-badge--count {
	background: #F1F5F9;
	color: #475569;
}
.aafe-settings-sidebar-card {
	background: var(--surface);
	border: 1px solid var(--b);
	border-radius: var(--r3);
	padding: 18px;
	box-shadow: var(--s1);
}
.aafe-sidebar-card-icon {
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: var(--p-light);
	color: var(--p);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 12px;
}
.aafe-sidebar-card-icon .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
}
.aafe-settings-sidebar-card h4 {
	font-size: 13px;
	font-weight: 700;
	color: var(--t1);
	margin: 0 0 6px;
}
.aafe-settings-sidebar-card p {
	font-size: 11.5px;
	color: var(--t3);
	line-height: 1.5;
	margin: 0 0 12px;
}
.aafe-sidebar-card-link {
	font-size: 12px;
	font-weight: 600;
	color: var(--p);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	transition: gap .15s;
}
.aafe-sidebar-card-link:hover {
	color: var(--p-dark);
	gap: 6px;
}

/* Settings Content & Tab Panes */
.aafe-settings-content {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.aafe-tab-pane {
	display: none;
}
.aafe-tab-pane.is-active {
	display: flex;
	flex-direction: column;
	gap: 20px;
	animation: aafeTabFade .2s cubic-bezier(.4,0,.2,1);
}
@keyframes aafeTabFade {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: translateY(0); }
}

.aafe-settings-panel {
	background: var(--surface);
	border: 1px solid var(--b);
	border-radius: var(--r3);
	box-shadow: var(--s1);
	overflow: hidden;
}
.aafe-settings-panel-header {
	padding: 18px 22px;
	border-bottom: 1px solid var(--b2);
	background: var(--raised);
	display: flex;
	align-items: center;
	gap: 14px;
}
.aafe-settings-panel-icon {
	width: 36px;
	height: 36px;
	border-radius: var(--r);
	background: var(--aafe-grad);
	display: grid;
	place-items: center;
	flex-shrink: 0;
	box-shadow: var(--sv);
}
.aafe-settings-panel-icon .dashicons {
	font-size: 18px;
	width: 18px;
	height: 18px;
	color: #fff;
}
.aafe-settings-panel-title    { font-size: 15px !important; font-weight: 800 !important; color: var(--t1) !important; margin: 0 !important; }
.aafe-settings-panel-subtitle { font-size: 12.5px; color: var(--t3); margin: 3px 0 0 !important; }

.aafe-setting-row {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: start;
	gap: 24px;
	padding: 20px 24px;
	border-bottom: 1px solid var(--b2);
	transition: background .12s ease;
}
.aafe-setting-row:last-of-type { border-bottom: none; }
.aafe-setting-row:hover { background: #FAFAFF; }
.aafe-setting-label {
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: var(--t1) !important;
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 4px;
}
.aafe-setting-desc  {
	font-size: 12.5px;
	color: var(--t3);
	line-height: 1.65;
	display: block;
}
.aafe-setting-control {
	display: flex;
	align-items: center;
	padding-top: 2px;
	flex-shrink: 0;
}

/* Save Bar */
.aafe-settings-save-bar {
	padding: 16px 22px;
	border: 1px solid var(--b);
	border-radius: var(--r2);
	background: var(--surface);
	display: flex;
	align-items: center;
	justify-content: space-between;
	box-shadow: var(--s1);
	position: sticky;
	bottom: 20px;
	z-index: 20;
}
.aafe-save-bar-left {
	display: flex;
	align-items: center;
	gap: 12px;
}
.aafe-save-hint { font-size: 12px; color: var(--t3); }
kbd {
	display: inline-block;
	padding: 1px 5px;
	background: var(--bg);
	border: 1px solid var(--b);
	border-radius: 4px;
	font-size: 10px;
	font-family: 'SFMono-Regular', monospace;
	color: var(--t2);
	line-height: 1.6;
}

/* Unsaved Changes Indicator */
.aafe-unsaved-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: #FEF3C7;
	color: #92400E;
	border: 1px solid #FCD34D;
	border-radius: 999px;
	padding: 4px 10px;
	font-size: 11.5px;
	font-weight: 700;
}
.aafe-unsaved-badge .dashicons {
	font-size: 13px;
	width: 13px;
	height: 13px;
}

/* Performance Banner */
.aafe-perf-banner {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 22px;
	background: linear-gradient(135deg, #FAF7FF 0%, #F0EAFF 100%);
	border-bottom: 1px solid #E9D5FF;
}
.aafe-perf-banner-icon {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var(--aafe-grad);
	color: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-shadow: var(--sv);
}
.aafe-perf-banner-icon .dashicons {
	font-size: 20px;
	width: 20px;
	height: 20px;
}
.aafe-perf-banner h3 {
	font-size: 14.5px;
	font-weight: 800;
	color: #2E1065;
	margin: 0 0 3px;
}
.aafe-perf-banner p {
	font-size: 12.5px;
	color: #6B21A8;
	margin: 0;
	line-height: 1.5;
}

/* Feature mini stats cards */
.aafe-overview-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 14px;
	padding: 18px 22px;
	background: #F8FAFC;
	border-top: 1px solid var(--b2);
}
.aafe-overview-stat {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	background: #FFFFFF;
	border: 1px solid var(--b);
	border-radius: var(--r);
	box-shadow: var(--s0);
}
.aafe-overview-stat-icon {
	width: 32px;
	height: 32px;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.aafe-overview-stat-val {
	font-size: 14px;
	font-weight: 800;
	color: var(--t1);
	display: block;
}
.aafe-overview-stat-label {
	font-size: 11px;
	color: var(--t3);
	display: block;
}

/* Role Manager in Settings */
.aafe-role-card {
	background: #ffffff;
	border-radius: var(--r2);
	border: 1px solid var(--b);
	box-shadow: var(--s0);
	margin-bottom: 16px;
	overflow: hidden;
	transition: border-color .15s, box-shadow .15s;
}
.aafe-role-card:last-child {
	margin-bottom: 0;
}
.aafe-role-card:hover {
	border-color: #CBD5E1;
	box-shadow: var(--s1);
}
.aafe-role-card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 20px;
	background: #F8FAFC;
	border-bottom: 1px solid var(--b2);
}
.aafe-role-card-body {
	padding: 16px 20px;
}
.aafe-role-toggle-all {
	font-size: 11.5px;
	font-weight: 700;
	color: var(--p);
	background: none;
	border: none;
	padding: 4px 8px;
	cursor: pointer;
	border-radius: 4px;
	transition: background .12s, color .12s;
}
.aafe-role-toggle-all:hover {
	background: var(--p-light);
	color: var(--p-dark);
}
.aafe-role-perms-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 12px;
}
.aafe-role-perm-box {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px 16px;
	background: #F8FAFC;
	border: 1.5px solid var(--b);
	border-radius: var(--r2);
	cursor: pointer;
	transition: all .15s ease;
	position: relative;
}
.aafe-role-perm-box:hover {
	border-color: #C4B5FD !important;
	background: #FFFFFF !important;
}
.aafe-role-perm-box.is-permitted,
.aafe-role-perm-box:has(input[type="checkbox"]:checked) {
	border-color: var(--p) !important;
	background: #FAF7FF !important;
	box-shadow: 0 2px 8px rgba(131,77,251,0.08) !important;
}
.aafe-role-perm-box input[type="checkbox"] {
	margin-top: 3px;
	accent-color: var(--p);
}
.aafe-role-perm-label {
	font-size: 13px;
	font-weight: 700;
	color: var(--t1);
	display: block;
	margin-bottom: 3px;
}
.aafe-role-perm-box.is-permitted .aafe-role-perm-label,
.aafe-role-perm-box:has(input[type="checkbox"]:checked) .aafe-role-perm-label {
	color: var(--p-dark) !important;
}
.aafe-role-perm-desc {
	font-size: 11.5px;
	color: var(--t3);
	line-height: 1.45;
	display: block;
}

/* System Info */
.aafe-sysinfo-chips {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 12px;
	padding: 18px 22px;
	background: #F8FAFC;
	border-bottom: 1px solid var(--b2);
}
.aafe-sysinfo-chip {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	background: #FFFFFF;
	border: 1px solid var(--b);
	border-radius: var(--r);
	box-shadow: var(--s0);
}
.aafe-sysinfo-chip-dot {
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: var(--ok);
	box-shadow: 0 0 0 3px rgba(22,163,74,0.15);
	flex-shrink: 0;
}
.aafe-sysinfo-chip-label {
	font-size: 11px;
	color: var(--t3);
	display: block;
	font-weight: 500;
}
.aafe-sysinfo-chip-val {
	font-size: 13px;
	font-weight: 700;
	color: var(--t1);
	display: block;
}
.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 22px; border-bottom: 1px solid var(--b2);
	border-right: 1px solid var(--b2); transition: background .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: #FAFAFF; }
.aafe-sysinfo__label { font-size: 12.5px; color: var(--t3); font-weight: 500; }
.aafe-sysinfo__value { font-size: 12.5px; font-weight: 700; color: var(--t1); }

/* Danger Zone Callout */
.aafe-danger-breakdown {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	padding: 20px 22px;
	background: #FFF1F2;
	border-bottom: 1px solid #FFE4E6;
}
.aafe-danger-box {
	background: #FFFFFF;
	border: 1px solid #FECDD3;
	border-radius: var(--r);
	padding: 14px 16px;
}
.aafe-danger-box--safe {
	border-color: #A7F3D0;
	background: #F0FDF4;
}
.aafe-danger-box-title {
	font-size: 12.5px;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 8px;
}
.aafe-danger-box--safe .aafe-danger-box-title {
	color: #065F46;
}
.aafe-danger-box--warn .aafe-danger-box-title {
	color: #9F1239;
}
.aafe-danger-box ul {
	margin: 0;
	padding-left: 18px;
	font-size: 11.5px;
	color: #475569;
	line-height: 1.6;
}

/* Mobile Responsiveness for Settings */
@media (max-width: 900px) {
	.aafe-settings-layout {
		grid-template-columns: 1fr;
	}
	.aafe-settings-sidebar {
		position: static;
	}
	.aafe-settings-nav {
		display: flex;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		white-space: nowrap;
	}
	.aafe-settings-nav-title {
		display: none;
	}
	.aafe-settings-nav-item {
		border-bottom: none;
		border-left: none;
		border-bottom: 3px solid transparent;
		padding: 12px 16px;
	}
	.aafe-settings-nav-item.is-active {
		border-left-color: transparent;
		border-bottom-color: var(--p);
	}
	.aafe-settings-sidebar-card {
		display: none;
	}
	.aafe-sysinfo {
		grid-template-columns: 1fr;
	}
	.aafe-sysinfo__row {
		border-right: none;
	}
	.aafe-danger-breakdown {
		grid-template-columns: 1fr;
	}
}

/* ════════════════════════════════════════════════════════════════════
   NOTICES
   ════════════════════════════════════════════════════════════════════ */
.aafe-notice { display:flex; align-items:center; gap:10px; padding:12px 16px; border-radius:var(--r); font-size:13px; font-weight:500; }
.aafe-notice--success { background:var(--ok-bg);  color:#166534; border:1px solid rgba(22,163,74,.2); }
.aafe-notice--error   { background:var(--err-bg); color:#991B1B; border:1px solid #FECACA; }
.aafe-notice .dashicons { font-size:16px; width:16px; height:16px; flex-shrink:0; }

/* ════════════════════════════════════════════════════════════════════
   ABOUT PAGE
   ════════════════════════════════════════════════════════════════════ */
.aafe-about-layout {
	display:grid; grid-template-columns:280px 1fr;
	gap:20px; align-items:start;
}
.aafe-profile-card {
	background:var(--surface); border:1px solid var(--b);
	border-radius:var(--r3); box-shadow:var(--s1); overflow:hidden;
	position:sticky; top:calc(32px + 58px + 20px);
}
.aafe-profile-hero {
	background:linear-gradient(135deg, #2D1A63 0%, #0F0924 100%);
	padding:36px 20px 24px; text-align:center; position:relative; overflow:hidden;
}
.aafe-profile-hero::before {
	content:''; position:absolute; inset:0;
	background-image:radial-gradient(circle, rgba(255,255,255,.04) 1px, transparent 1px);
	background-size:16px 16px;
}
.aafe-profile-logo {
	width:64px; height:64px;
	background:linear-gradient(135deg, #834DFB 0%, #4A1D96 100%); border:2px solid rgba(255,255,255,.1);
	border-radius:18px; display:flex; align-items:center; justify-content:center;
	margin:0 auto 16px; box-shadow:0 8px 24px rgba(0,0,0,.4);
	position:relative; z-index:1;
}
.aafe-profile-logo svg { width:32px !important; height:26px !important; display:block !important; }
.aafe-profile-name    { font-size:16px !important; font-weight:700 !important; color:#fff !important; letter-spacing:-.03em; position:relative; z-index:1; }
.aafe-profile-tagline { font-size:11px; color:rgba(255,255,255,.6); margin-top:3px; position:relative; z-index:1; }
.aafe-profile-body    { padding:24px; }
.aafe-profile-version {
	display:inline-flex; align-items:center; justify-content:center; gap:6px;
	background:var(--p-light); color:var(--p-dark);
	border:1px solid var(--p-border);
	font-size:11px; font-weight:600; padding:6px 12px;
	border-radius:var(--r); margin:0 auto 16px; letter-spacing:.02em;
	width:100%;
}
.aafe-profile-version .dashicons { font-size:12px; width:12px; height:12px; }
.aafe-profile-desc    { font-size:13px; color:var(--t2); line-height:1.6; margin-bottom:24px !important; text-align:center; }
.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 dashed var(--b2); padding-top:20px; display:flex; flex-direction:column; gap:12px; }
.aafe-profile-meta-row { display:flex; align-items:center; justify-content:space-between; font-size:12.5px; }
.aafe-profile-meta-key { color:var(--t3); font-weight:500; display:flex; align-items:center; gap:8px; }
.aafe-profile-meta-key .dashicons { font-size:14px; width:14px; height:14px; color:var(--p); opacity:0.8; }
.aafe-profile-meta-val { color:var(--t1); font-weight:600; }

.aafe-about-right { display:flex; flex-direction:column; gap:16px; }
.aafe-feature-panel { background:var(--surface); border:1px solid var(--b); border-radius:var(--r3); box-shadow:var(--s1); overflow:hidden; }
.aafe-feature-panel-header {
	padding:14px 18px; border-bottom:1px solid var(--b2);
	display:flex; align-items:center; gap:10px;
	background:linear-gradient(90deg, #F9F7FF 0%, var(--raised) 100%);
}
.aafe-feature-panel-title {
	font-family:'Inter Tight','Inter',sans-serif !important;
	font-size:14px !important; font-weight:600 !important;
	color:var(--t1) !important; display:flex; align-items:center; gap:7px;
}
.aafe-feature-panel-title .dashicons { font-size:16px; width:16px; height:16px; color:var(--p); }
.aafe-feature-grid {
	display:grid; grid-template-columns:1fr 1fr; gap:20px;
	padding:24px;
}
.aafe-feature-card {
	background:var(--bg); border:1px solid var(--b2);
	border-radius:var(--r2); padding:20px;
	display:flex; flex-direction:column; gap:14px;
	transition:all .2s var(--aafe-ease);
}
.aafe-feature-card:hover {
	background:var(--surface); border-color:var(--p-border);
	box-shadow:var(--s2); transform:translateY(-2px);
}
.aafe-feature-icon {
	width:44px; height:44px; background:var(--p-light);
	border:1px solid var(--p-border); border-radius:var(--r);
	display:grid; place-items:center; flex-shrink:0;
}
.aafe-feature-icon .dashicons { font-size:22px; width:22px; height:22px; color:var(--p); }
.aafe-feature-content strong { display:block; font-size:14px; font-weight:600; color:var(--t1); margin-bottom:6px; letter-spacing:-0.01em; }
.aafe-feature-content p      { font-size:13px; color:var(--t3); line-height:1.6; }

/* ════════════════════════════════════════════════════════════════════
   FOOTER
   ════════════════════════════════════════════════════════════════════ */
.aafe-admin-footer {
	padding:16px 32px 20px;
	display:flex; align-items:center; justify-content:space-between;
	gap:12px; flex-wrap:wrap;
	border-top:1px solid var(--b); font-size:12px; color:var(--t3);
	background:var(--surface); margin-top:auto;
	position:fixed; bottom:0; right:0; left:160px; z-index:99;
	transition:left 0.2s;
}
body.folded .aafe-admin-footer { left:36px; }
@media (max-width:782px) { .aafe-admin-footer { left:0 !important; } }
.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:700;
}
.aafe-admin-footer a:hover  { text-decoration:underline; }
.aafe-footer-links { display:flex; align-items:center; gap:16px; }

/* ════════════════════════════════════════════════════════════════════
   TOAST
   ════════════════════════════════════════════════════════════════════ */
#aafe-toast {
	position:fixed; bottom:24px; right:24px; padding:12px 18px;
	border-radius:var(--r2); 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(8px) scale(.97);
	transition:opacity .22s, transform .22s var(--aafe-spring);
	pointer-events:none; box-shadow:var(--s3);
}
#aafe-toast.show              { opacity:1; transform:translateY(0) scale(1); }
#aafe-toast.aafe-toast--success { background:var(--ok-bg);  color:#166534; border:1px solid rgba(22,163,74,.2); }
#aafe-toast.aafe-toast--info    { background:var(--p-light); color:var(--p-dark); border:1px solid var(--p-border); }
#aafe-toast.aafe-toast--error   { background:var(--err-bg); color:#991B1B; border:1px solid #FECACA; }
#aafe-toast .dashicons          { font-size:15px; width:15px; height:15px; }

/* ════════════════════════════════════════════════════════════════════
   EMPTY STATE
   ════════════════════════════════════════════════════════════════════ */
.aafe-empty-state            { padding:72px 24px; text-align:center; }
.aafe-empty-state .dashicons { font-size:44px; width:44px; height:44px; color:var(--t3); display:block; margin:0 auto 14px; }
.aafe-empty-state h3         { font-size:15px; font-weight:700; color:var(--t1); margin-bottom:6px; }
.aafe-empty-state p          { font-size:13px; color:var(--t3); max-width:340px; margin:0 auto; line-height:1.7; }

/* ════════════════════════════════════════════════════════════════════
   PULSE DOT ANIMATION
   ════════════════════════════════════════════════════════════════════ */
@keyframes aafe-pulse { 0%,100% { transform:scale(1); opacity:1; } 50% { transform:scale(1.4); opacity:.5; } }
@keyframes aafe-spin   { to { transform:rotate(360deg); } }

.aafe-spinner { display:inline-block; width:13px; height:13px; border:2px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%; animation:aafe-spin .7s linear infinite; }

/* 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:#fff !important;
	color:var(--t1) !important; border:1.5px solid var(--b) !important;
	border-radius:var(--r) !important; box-shadow:none !important; margin:0 !important;
}
.aafe-admin-wrap input:focus,
.aafe-admin-wrap select:focus {
	border-color:var(--p) !important;
	box-shadow:0 0 0 3px var(--p-dim) !important; outline:none !important;
}

/* ════════════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════════════ */
@media (max-width:1280px) {
	.aafe-stats-row { grid-template-columns:repeat(2,1fr); }
	.aafe-admin-body { padding:24px 24px 50px; }
}
@media (max-width:960px) {
	.aafe-topbar         { padding:0; }
	.aafe-topbar-logo-img{ height:24px; }
	.aafe-nav-tab        { padding:0 12px; font-size:12px; }
	.aafe-nav-tab .dashicons { display:none; }
	.aafe-admin-body     { padding:18px 16px 40px; }
	.aafe-admin-footer   { padding:14px 16px 18px; }
	.aafe-stats-row      { gap:10px; }
	.aafe-stat-number    { font-size:34px; }
	.aafe-ext-grid       { grid-template-columns:1fr; }
	.aafe-section-header { flex-direction:column; align-items:flex-start; }
	.aafe-widget-panel-header { flex-direction:column; align-items:flex-start; }
	.aafe-widget-panel-progress { display:none; }
	.aafe-about-layout   { grid-template-columns:1fr; }
	.aafe-profile-card   { position:static; }
	.aafe-page-hd        { flex-direction:column; gap:14px; }
}
@media (max-width:700px) {
	.aafe-topbar-logo-img             { height:22px; }
	.aafe-nav-tab                     { padding:0 10px; gap:0; }
	.aafe-nav-tab .dashicons          { display:block !important; }
	.aafe-nav-tab .dashicons + *      { display:none; }
	.aafe-stats-row                   { grid-template-columns:1fr 1fr; gap:10px; }
	.aafe-stat-card                   { padding:16px 16px 14px; }
	.aafe-stat-number                 { font-size:30px; }
	.aafe-admin-body                  { padding:14px 12px 40px; gap:20px; }
	.aafe-search-shortcut             { display:none; }
	.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(--b2); }
	.aafe-sysinfo__row:last-child     { border-bottom:none; }
}
@media (max-width:480px) {
	.aafe-stats-row           { grid-template-columns:1fr; }
	.aafe-topbar-brand        { border-right:none; }
	.aafe-widget-bulk-actions { width:100%; justify-content:flex-end; }
}

/* ════════════════════════════════════════════════════════════════════
   WIDGET USAGE TRACKER & FILTER PILLS
   ════════════════════════════════════════════════════════════════════ */
.aafe-widget-usage-slot {
	display:flex; align-items:center; margin-left:auto;
}
.aafe-usage-badge {
	display:inline-flex; align-items:center; gap:4px;
	padding:3px 8px; border-radius:6px; font-size:11px;
	font-weight:700; line-height:1.2; letter-spacing:0.2px;
	border:1px solid transparent; transition:all .2s ease;
}
.aafe-usage-badge .dashicons {
	font-size:12px; width:12px; height:12px; line-height:1; vertical-align:middle;
}
.aafe-usage-badge--used {
	background:#ecfdf5; color:#059669; border-color:#a7f3d0;
}
.aafe-usage-badge--unused {
	background:#f1f5f9; color:#64748b; border-color:#e2e8f0;
}
.aafe-usage-badge--unscanned {
	background:#faf5ff; color:#7c3aed; border-color:#e9d5ff;
}

.aafe-filter-pill {
	display:inline-flex; align-items:center; gap:4px;
	padding:5px 12px; border-radius:8px; font-size:12px;
	font-weight:600; font-family:'Inter',sans-serif;
	color:#475569; background:#ffffff; border:1.5px solid #e2e8f0;
	cursor:pointer; transition:all .2s ease; white-space:nowrap;
}
.aafe-filter-pill:hover {
	background:#f8fafc; border-color:#cbd5e1; color:#0f172a;
}
.aafe-filter-pill.active {
	background:var(--p, #7c3aed); border-color:var(--p, #7c3aed);
	color:#ffffff; font-weight:700; box-shadow:0 2px 8px rgba(124,58,237,0.25);
}
.aafe-filter-pill.active .dashicons { color:#ffffff !important; }

/* ════════════════════════════════════════════════════════════════════
   ROLE MANAGER & MODAL OVERLAY STYLES
   ════════════════════════════════════════════════════════════════════ */
.aafe-role-perm-box:hover {
	border-color:#c4b5fd !important; background:#ffffff !important;
	box-shadow:0 4px 14px rgba(124,58,237,0.08) !important;
}
.aafe-role-perm-box input[type="checkbox"]:checked + div span:first-child {
	color:#7c3aed !important;
}

/* Modals */
.aafe-modal-overlay {
	position:fixed; top:0; left:0; width:100%; height:100%;
	background:rgba(15,9,36,.82); backdrop-filter:blur(6px);
	z-index:99999; display:flex; align-items:center; justify-content:center;
	opacity:0; visibility:hidden; transition:all .3s ease;
}
.aafe-modal-overlay.active { opacity:1; visibility:visible; }
.aafe-modal-box {
	background:#fff; width:440px; max-width:92vw; border-radius:20px;
	border:1px solid #e8ecf0; box-shadow:0 30px 60px -12px rgba(0,0,0,0.45);
	position:relative; transform:translateY(24px) scale(.98);
	transition:all .3s cubic-bezier(.4,0,.2,1); overflow:hidden;
	box-sizing:border-box;
}
.aafe-modal-overlay.active .aafe-modal-box { transform:translateY(0) scale(1); }