/* ==========================================================================
   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;
}
.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%; }
.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:4px; }
.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-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:1fr; gap:20px; align-items:start; }
.aafe-settings-content { display:flex; flex-direction:column; gap:16px; }
.aafe-settings-nav {
	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-settings-nav-title {
	padding:12px 18px; font-size:10.5px; font-weight:700; color:var(--t3);
	text-transform:uppercase; letter-spacing:.08em;
	border-bottom:1px solid var(--b2);
}
.aafe-settings-nav-item {
	display:flex; align-items:center; gap:10px; padding:11px 18px;
	font-size:13px; font-weight:500; color:var(--t2); cursor:pointer;
	transition:background .12s, color .12s;
	border-bottom:1px solid var(--b2); text-decoration:none;
	border-left:2px solid transparent;
}
.aafe-settings-nav-item:last-child { border-bottom:none; }
.aafe-settings-nav-item .dashicons { font-size:15px; width:15px; height:15px; color:var(--t3); flex-shrink:0; }
.aafe-settings-nav-item:hover,
.aafe-settings-nav-item.is-active  { background:var(--p-light); color:var(--p-dark); border-left-color:var(--p); }
.aafe-settings-nav-item:hover .dashicons,
.aafe-settings-nav-item.is-active .dashicons { color:var(--p); }

.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:12px;
}
.aafe-settings-panel-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-settings-panel-icon .dashicons { font-size:15px; width:15px; height:15px; color:#fff; }
.aafe-settings-panel-title    { font-size:14px !important; font-weight:700 !important; color:var(--t1) !important; }
.aafe-settings-panel-subtitle { font-size:12px; color:var(--t3); margin-top:2px; }

.aafe-setting-row {
	display:grid; grid-template-columns:1fr auto;
	align-items:start; gap:24px;
	padding:20px 22px; border-bottom:1px solid var(--b2); transition:background .1s;
}
.aafe-setting-row:last-of-type { border-bottom:none; }
.aafe-setting-row:hover { background:#FAFAFF; }
.aafe-setting-label { font-size:13px !important; font-weight:600 !important; color:var(--t1) !important; display:block; margin-bottom:3px; }
.aafe-setting-desc  { font-size:12px; color:var(--t3); line-height:1.65; }
.aafe-setting-control { display:flex; align-items:center; padding-top:2px; flex-shrink:0; }
.aafe-settings-save-bar {
	padding:16px 22px; border-top:1px solid var(--b);
	background:var(--raised); 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;
}

/* 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:12px 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:12px; color:var(--t3); font-weight:500; }
.aafe-sysinfo__value { font-size:12px; font-weight:700; color:var(--t1); }

/* ════════════════════════════════════════════════════════════════════
   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; }
}