@charset "UTF-8";
/* Copyright © Rob Art | Illustration 2026 */

/* ── Tokens ──────────────────────────────────────────────────────────────── */

:root {
    --aegra-blue:        #5184b3;
    --aegra-blue-dark:   #3f6a94;
    --aegra-chrome-text: #f5f7f9;
    --aegra-text:        #1e2327;
    --aegra-text-muted:  #6b7280;
    --aegra-bg:          #f6f7f7;
    --aegra-surface:     #ffffff;
    --aegra-border:      #e2e4e7;
    --aegra-radius:      8px;
    --aegra-shadow:      0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);
    --aegra-green:       #1cc88a;
    --aegra-red:         #e74c3c;
    --aegra-orange:      #f6a623;
}

/* ── Outer wrap ──────────────────────────────────────────────────────────── */

.aegra-wrap {
    margin: 0 -20px -10px -2px;
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 32px);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    color: var(--aegra-text);
    background: var(--aegra-bg);
    box-sizing: border-box;
    width: calc(100% + 2px);
}

/* ── Header ──────────────────────────────────────────────────────────────── */

.aegra-header {
    background: var(--aegra-blue);
    color: var(--aegra-chrome-text);
    padding: 14px 28px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.aegra-header-logo {
    height: 40px;
    width: auto;
    display: block;
    flex-shrink: 0;
}

.aegra-header-sep {
    width: 1px;
    height: 20px;
    background: rgba(255,255,255,0.3);
}

.aegra-header-title {
    font-size: 14px;
    font-weight: 600;
    opacity: 0.9;
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.aegra-header-title .aegra-icon { opacity: 0.85; width: 26px; height: 26px; }

.aegra-header-right {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 12px;
}

.aegra-header-version {
    font-size: 12px;
    opacity: 0.65;
}

.aegra-header-upgrade {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 600;
    color: #fff !important;
    background: rgba(255,255,255,0.18);
    border: 1px solid rgba(255,255,255,0.35);
    border-radius: 4px;
    padding: 4px 10px;
    text-decoration: none !important;
    transition: background 0.15s;
}
.aegra-header-upgrade:hover {
    background: rgba(255,255,255,0.28) !important;
}
.aegra-header-upgrade-lock {
    width: 13px;
    height: 13px;
    flex-shrink: 0;
    fill: currentColor;
}

/* ── Upgrade Overlay ─────────────────────────────────────────────────────── */

.aegra-overlay-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.6);
    z-index: 999990;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.22s;
}
.aegra-overlay-backdrop.aegra-overlay-visible { opacity: 1; }

.aegra-overlay {
    position: relative;
    display: flex;
    flex-direction: row;
    width: 820px;
    max-width: 96vw;
    max-height: 90vh;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,.35);
    transform: translateY(14px) scale(0.98);
    transition: transform 0.22s ease;
}
.aegra-overlay-backdrop.aegra-overlay-visible .aegra-overlay {
    transform: translateY(0) scale(1);
}

.aegra-overlay-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: none;
    background: rgba(0,0,0,.09);
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    color: #555;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
}
.aegra-overlay-close:hover { background: rgba(0,0,0,.2); color: #111; }

.aegra-overlay-left {
    flex: 0 0 55%;
    display: flex;
    flex-direction: column;
    border-right: 1px solid #e8eaed;
    overflow-y: auto;
}

.aegra-overlay-upgrade-img { width: 100%; flex-shrink: 0; overflow: hidden; }
.aegra-overlay-upgrade-img img { width: 100%; height: auto; display: block; }
.aegra-overlay-upgrade-img-placeholder {
    width: 100%;
    height: 180px;
    background: linear-gradient(135deg, var(--aegra-blue) 0%, var(--aegra-blue-dark) 100%);
    display: block;
}

.aegra-overlay-left-body { padding: 18px 22px; flex: 1; }

.aegra-overlay-left-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--aegra-text);
    margin: 0 0 6px;
}

.aegra-overlay-left-sub {
    font-size: 13px;
    color: #666;
    margin: 0 0 14px;
    line-height: 1.5;
}

.aegra-overlay-seats { display: flex; gap: 6px; margin-bottom: 14px; }

.aegra-seat-btn {
    flex: 1;
    padding: 5px 8px;
    font-size: 12px;
    font-weight: 600;
    border: 1.5px solid #dde2ea;
    border-radius: 5px;
    background: #fff;
    color: #555;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s, color 0.12s;
}
.aegra-seat-btn:hover,
.aegra-seat-btn--active {
    border-color: var(--aegra-blue);
    background: var(--aegra-blue);
    color: #fff;
}

.aegra-overlay-tiers { display: flex; gap: 10px; }

.aegra-overlay-tier {
    flex: 1;
    border: 1.5px solid #e0e4ea;
    border-radius: 8px;
    padding: 12px 14px;
}
.aegra-overlay-tier--highlight {
    border-color: var(--aegra-blue);
    background: #f4f7fb;
}

.aegra-overlay-tier-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 10px;
}

.aegra-overlay-tier-name {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--aegra-blue);
}

.aegra-overlay-tier-price { text-align: right; }

.aegra-overlay-price-main {
    display: block;
    font-size: 20px;
    font-weight: 700;
    color: var(--aegra-text);
    line-height: 1;
}
.aegra-overlay-price-period { font-size: 11px; font-weight: 400; color: #888; }
.aegra-overlay-price-alt { display: block; font-size: 11px; color: #888; margin-top: 2px; }

.aegra-overlay-features {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.aegra-overlay-features li {
    font-size: 11.5px;
    color: var(--aegra-text);
    padding-left: 16px;
    position: relative;
}
.aegra-overlay-features li::before {
    content: '\2713';
    position: absolute;
    left: 0;
    color: var(--aegra-blue);
    font-weight: 700;
}

/* Settings page — Pro licence upsell card (free build, no licence input). */
.aegra-licence-upsell {
    margin-top: 6px;
}
.aegra-licence-upsell-lead {
    font-size: 13px;
    line-height: 1.55;
    color: var( --aegra-text );
    margin: 0 0 12px;
}
.aegra-licence-upsell-list {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.aegra-licence-upsell-list li {
    position: relative;
    padding-left: 22px;
    font-size: 12.5px;
    line-height: 1.4;
    color: var( --aegra-text );
}
.aegra-licence-upsell-list li::before {
    content: '\2713';
    position: absolute;
    left: 0;
    top: 0;
    color: var( --aegra-blue );
    font-weight: 700;
}
.aegra-licence-upsell-btn {
    display: inline-block;
}

/* Upgrade overlay right column — Pro benefits copy (advert only). */
.aegra-overlay-why-lead {
    font-size: 13px;
    line-height: 1.5;
    color: var(--aegra-text);
    margin: 0 0 14px;
}
.aegra-overlay-why-close {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    color: var(--aegra-text);
    margin: 14px 0 0;
}
.aegra-overlay-why-list {
    list-style: none;
    margin: 0 0 4px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 9px;
}
.aegra-overlay-why-list li {
    font-size: 13px;
    line-height: 1.4;
    color: var(--aegra-text);
    padding-left: 22px;
    position: relative;
}
.aegra-overlay-why-list li::before {
    content: '\2713';
    position: absolute;
    left: 0;
    top: 0;
    color: var(--aegra-blue);
    font-weight: 700;
}

.aegra-overlay-right {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 28px 24px 24px;
    overflow-y: auto;
}
.aegra-overlay-right-top { display: flex; flex-direction: column; }
.aegra-overlay-right-bottom { display: flex; flex-direction: column; }

.aegra-overlay-right-heading { font-size: 15px; font-weight: 700; color: var(--aegra-text); margin: 0 0 6px; }
.aegra-overlay-right-sub { font-size: 12px; color: #666; margin: 0 0 14px; line-height: 1.5; }

.aegra-overlay-licence { display: flex; flex-direction: column; gap: 8px; }
.aegra-overlay-licence-label { font-size: 12px; font-weight: 600; color: #444; }
.aegra-overlay-licence-input {
    width: 100%;
    box-sizing: border-box;
    padding: 8px 10px;
    border: 1.5px solid #dde2ea;
    border-radius: 5px;
    font-size: 13px;
    font-family: monospace;
    outline: none;
}
.aegra-overlay-licence-input:focus {
    border-color: var(--aegra-blue);
    box-shadow: 0 0 0 2px rgba(81,132,179,.15);
}
.aegra-overlay-licence-msg { font-size: 12px; min-height: 15px; }
.aegra-overlay-licence-msg--success { color: var(--aegra-blue); }
.aegra-overlay-licence-msg--error   { color: var(--aegra-red); }
.aegra-overlay-verify-btn { width: 100%; }

.aegra-overlay-divider { border-top: 1px solid #e8eaed; margin-bottom: 18px; }

.aegra-overlay-buy-btn {
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    padding: 10px;
}

.aegra-overlay-secure {
    font-size: 11px;
    color: #888;
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 10px;
}
.aegra-lock-icon { width: 12px; height: 12px; opacity: 0.6; fill: currentColor; }

/* Pro lock overlays — the "X requires Pro" cards layered over a blurred teaser.
   The teaser wrapper uses overflow:hidden (for the rounded corners on the
   blurred table). When the teaser table is short, the centred lock badge +
   title + button stack is taller than the teaser, so overflow:hidden slices the
   lock badge off at the top. Guaranteeing a minimum height on any such wrapper
   makes the whole overlay fit inside the clipped area, so the badge shows in
   full. Targets the exact inline pattern these teasers use. */
div[style*="position:relative"][style*="overflow:hidden"] {
    min-height: 220px;
}

.aegra-btn {
    display: inline-block;
    padding: 8px 16px;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border: none;
    cursor: pointer;
    line-height: 1.4;
    transition: background 0.15s;
}
.aegra-btn-primary {
    background: var(--aegra-blue);
    color: #fff !important;
}
.aegra-btn-primary:hover { background: var(--aegra-blue-dark); }

/* ── Body ────────────────────────────────────────────────────────────────── */

.aegra-body {
    display: flex;
    flex: 1;
    gap: 24px;
    padding: 28px;
    width: 98%;
    box-sizing: border-box;
    align-items: stretch;
}

.aegra-main {
    flex: 1;
    min-width: 0;
    overflow: visible;
    width: 0;
}

/* ── Sidebar ──────────────────────────────────────────────────────────────── */

.aegra-sidebar {
    flex: 0 0 340px;
    background: var(--aegra-blue);
    border-radius: var(--aegra-radius);
    padding: 20px;
    color: var(--aegra-chrome-text);
    font-size: 13px;
    min-width: 0;
    align-self: stretch;
    box-sizing: border-box;
}

.aegra-sidebar-section { margin-bottom: 20px; }
.aegra-sidebar-section:last-child { margin-bottom: 0; }

.aegra-sidebar-heading {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.6;
    margin-bottom: 8px;
}

.aegra-sidebar-text {
    opacity: 0.85;
    line-height: 1.5;
    color: var(--aegra-chrome-text);
}

.aegra-sidebar-text a {
    color: var(--aegra-chrome-text);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.aegra-sidebar-link {
    color: var(--aegra-chrome-text);
    opacity: 0.9;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.aegra-sidebar-link:hover {
    opacity: 1;
    color: var(--aegra-chrome-text);
}

.aegra-sidebar-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.aegra-sidebar-btn {
    display: block;
    text-align: center;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    color: var(--aegra-chrome-text);
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.18);
    transition: background 0.15s;
    cursor: pointer;
}

.aegra-sidebar-btn:hover {
    background: rgba(255,255,255,0.2);
    color: var(--aegra-chrome-text);
    text-decoration: none;
}

.aegra-sidebar-btn-primary {
    background: rgba(255,255,255,0.22);
    font-weight: 600;
}

.aegra-sidebar-btn-primary:hover {
    background: rgba(255,255,255,0.32);
}

/* ── Pro promo box (free only) ─────────────────────────────────────────
   Yoast-style upsell advert shown in the sidebar of free installs where
   Pro tabs would otherwise be. Pure marketing; rendered by
   aegra_pro_promo_sidebar(). A distinct accented card so it reads as an
   advert, not as a locked feature. */
.aegra-sidebar-promo {
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.22);
    border-radius: 8px;
    padding: 18px 16px 16px;
    margin-top: 4px;
    text-align: center;
}
.aegra-sidebar-promo-logo {
    display: block;
    width: 56px;
    height: auto;
    margin: 0 auto 12px;
}
.aegra-sidebar-promo-eyebrow {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.6;
    color: var(--aegra-chrome-text);
    margin-bottom: 6px;
}
.aegra-sidebar-promo-headline {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--aegra-chrome-text);
    margin-bottom: 8px;
}
.aegra-sidebar-promo-subline {
    font-size: 12px;
    line-height: 1.45;
    color: var(--aegra-chrome-text);
    opacity: 0.82;
    margin-bottom: 14px;
}
.aegra-sidebar-promo-list {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    text-align: left;
}
.aegra-sidebar-promo-list li {
    position: relative;
    padding-left: 22px;
    margin-bottom: 7px;
    font-size: 12px;
    line-height: 1.4;
    color: var(--aegra-chrome-text);
    opacity: 0.92;
}
.aegra-sidebar-promo-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 700;
    color: #ffffff;
    opacity: 0.95;
}
.aegra-sidebar-promo-btn {
    display: block;
    text-align: center;
    padding: 10px 12px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    color: var(--aegra-blue);
    background: #ffffff;
    transition: opacity 0.15s;
}
.aegra-sidebar-promo-btn:hover {
    opacity: 0.9;
    color: var(--aegra-blue);
    text-decoration: none;
}
.aegra-sidebar-promo-tagline {
    font-style: italic;
    font-size: 12px;
    color: var(--aegra-chrome-text);
    opacity: 0.8;
    margin-top: 10px;
}
.aegra-sidebar-promo-hr {
    border: 0;
    border-top: 1px solid rgba(255,255,255,0.2);
    margin: 12px 0 10px;
}
.aegra-sidebar-promo-support {
    font-size: 12px;
    font-weight: 600;
    color: var(--aegra-chrome-text);
    opacity: 0.85;
}

.aegra-sidebar-btn-danger {
    background: rgba(231,76,60,0.3);
    border-color: rgba(231,76,60,0.5);
}

.aegra-sidebar-btn-danger:hover {
    background: rgba(231,76,60,0.5);
}

/* ── Footer ──────────────────────────────────────────────────────────────── */

.aegra-footer {
    background: var(--aegra-blue);
    color: var(--aegra-chrome-text);
    border-radius: var(--aegra-radius) var(--aegra-radius) 0 0;
    padding: 12px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
    opacity: 0.92;
    flex-shrink: 0;
    width: 98%;
    box-sizing: border-box;
}

.aegra-footer-left,
.aegra-footer-centre,
.aegra-footer-right { color: var(--aegra-chrome-text); }

/* ── Cards ───────────────────────────────────────────────────────────────── */

.aegra-card {
    background: var(--aegra-surface);
    border: 1px solid var(--aegra-border);
    border-radius: var(--aegra-radius);
    box-shadow: var(--aegra-shadow);
    margin-bottom: 20px;
    width: 100%;
    box-sizing: border-box;
}

.aegra-card:last-child { margin-bottom: 0; }

.aegra-card-warn {
    border-left: 3px solid var(--aegra-orange);
}
.aegra-card-warn .aegra-card-header {
    background: #f6c23e;
    color: #333;
}

.aegra-card-header {
    background: var(--aegra-blue);
    color: var(--aegra-chrome-text);
    padding: 11px 18px;
    border-radius: var(--aegra-radius) var(--aegra-radius) 0 0;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    font-size: 13px;
}

.aegra-card-body {
    padding: 20px 22px;
}

.aegra-card-footer {
    padding: 12px 22px;
    border-top: 1px solid var(--aegra-border);
    background: var(--aegra-bg);
    border-radius: 0 0 var(--aegra-radius) var(--aegra-radius);
    font-size: 12px;
    color: var(--aegra-text-muted);
    display: flex;
    align-items: center;
    gap: 10px;
}

/* ── Stat pills (dashboard overview) ────────────────────────────────────── */

.aegra-stats-row {
    display: flex;
    flex-wrap: nowrap;
    gap: 12px;
    margin-bottom: 24px;
}

.aegra-stats-row .aegra-stat-card,
.aegra-stats-row .aegra-stat {
    flex: 1 1 0;
    min-width: 0;
}

.aegra-stat,
.aegra-stat-card {
    background: var(--aegra-surface);
    border: 1px solid var(--aegra-border) !important;
    border-radius: var(--aegra-radius);
    box-shadow: var(--aegra-shadow);
    padding: 18px 20px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    outline: none !important;
}

.aegra-stat-card--warn  { border-color: var(--aegra-orange); }
.aegra-stat-card--muted { opacity: 0.5; }
.aegra-stat-card--link  { cursor: pointer; transition: transform 0.1s, box-shadow 0.1s; }
.aegra-stat-card--link:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.aegra-stat-arrow { font-size: 11px; opacity: 0.6; margin-left: 3px; }

.aegra-stat-value {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    color: var(--aegra-blue);
}

.aegra-stat-value.ok    { color: var(--aegra-green); }
.aegra-stat-value.warn  { color: var(--aegra-orange); }
.aegra-stat-value.error { color: var(--aegra-red); }

.aegra-stat-label {
    font-size: 12px;
    color: var(--aegra-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 500;
}

/* ── Status dot ──────────────────────────────────────────────────────────── */

.aegra-dot {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    margin-right: 5px;
    vertical-align: middle;
}

.aegra-dot.ok    { background: var(--aegra-green); }
.aegra-dot.warn  { background: var(--aegra-orange); }
.aegra-dot.error { background: var(--aegra-red); }

/* ── Table ───────────────────────────────────────────────────────────────── */

.aegra-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.aegra-table th {
    text-align: left;
    padding: 9px 12px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--aegra-text-muted);
    border-bottom: 2px solid var(--aegra-border);
}

.aegra-table td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--aegra-border);
    vertical-align: middle;
}

.aegra-table tr:last-child td { border-bottom: none; }
.aegra-table tr:hover td { background: var(--aegra-bg); }

/* ── Badge ───────────────────────────────────────────────────────────────── */

.aegra-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.6;
}

.aegra-badge-green  { background: #d4edda; color: #155724; }
.aegra-badge-red    { background: #f8d7da; color: #721c24; }
.aegra-badge-orange { background: #fff3cd; color: #856404; }
.aegra-badge-blue   { background: #d1ecf1; color: #0c5460; }
.aegra-badge-grey   { background: #e2e4e7; color: #555; }

/* ── Progress bar ────────────────────────────────────────────────────────── */

.aegra-progress {
    height: 14px;
    background: var(--aegra-border);
    border-radius: 4px;
    overflow: hidden;
    margin-top: 4px;
}

.aegra-progress-fill {
    height: 100%;
    background: var(--aegra-blue);
    border-radius: 4px;
    transition: width 0.3s;
}

/* Animated stripe overlay — while a scan is active the bar shows moving
   diagonal stripes so the user can see it is alive even when a single slow
   batch hasn't advanced the width yet. */
.aegra-progress-fill.aegra-progress-fill--active {
    background-image: linear-gradient( 45deg,
        rgba( 255, 255, 255, 0.18 ) 25%, transparent 25%,
        transparent 50%, rgba( 255, 255, 255, 0.18 ) 50%,
        rgba( 255, 255, 255, 0.18 ) 75%, transparent 75%, transparent );
    background-size: 28px 28px;
    animation: aegra-progress-stripes 1s linear infinite;
}

@keyframes aegra-progress-stripes {
    from { background-position: 0 0; }
    to   { background-position: 28px 0; }
}

/* Spinning ring indicator used on the scan button and status line. */
.aegra-spinner {
    display: inline-block;
    width: 14px;
    height: 14px;
    vertical-align: -2px;
    margin-right: 6px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: aegra-spin 0.7s linear infinite;
}

.aegra-spinner--sm {
    width: 12px;
    height: 12px;
    margin-right: 0;
    border-width: 2px;
    color: var(--aegra-blue);
}

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

/* ── Session cards (activity log) ────────────────────────────────────────── */

.aegra-session {
    border: 1px solid var(--aegra-border);
    border-radius: var(--aegra-radius);
    margin-bottom: 12px;
    background: var(--aegra-surface);
    box-shadow: var(--aegra-shadow);
}

.aegra-session:last-child { margin-bottom: 0; }

.aegra-session-header {
    padding: 11px 14px;
    background: var(--aegra-bg);
    border-bottom: 1px solid var(--aegra-border);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: var(--aegra-radius) var(--aegra-radius) 0 0;
    user-select: none;
}

.aegra-session.collapsed .aegra-session-header {
    border-bottom: none;
    border-radius: var(--aegra-radius);
}

.aegra-session-header:hover { background: #eff1f3; }

.aegra-session-user {
    font-weight: 600;
    color: var(--aegra-blue);
    font-size: 13px;
}

.aegra-session-meta {
    font-size: 11px;
    color: var(--aegra-text-muted);
    margin-top: 2px;
}

.aegra-session-count {
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 4px;
    background: var(--aegra-blue);
    color: #fff;
    font-weight: 600;
}

.aegra-session-actions {
    overflow: hidden;
    transition: max-height 0.25s ease;
}

.aegra-session.collapsed .aegra-session-actions { max-height: 0 !important; }

.aegra-action-row {
    padding: 7px 14px;
    border-bottom: 1px solid var(--aegra-border);
    font-size: 12px;
    display: flex;
    gap: 10px;
    align-items: baseline;
}

.aegra-action-row:last-child { border-bottom: none; }

.aegra-action-time {
    color: var(--aegra-text-muted);
    font-family: monospace;
    font-size: 11px;
    min-width: 55px;
    flex-shrink: 0;
}

.aegra-action-text { flex: 1; }

/* ── Broken links ────────────────────────────────────────────────────────── */

.aegra-link-status-ok   { color: var(--aegra-green); font-weight: 600; }
.aegra-link-status-warn { color: var(--aegra-orange); font-weight: 600; }
.aegra-link-status-bad  { color: var(--aegra-red); font-weight: 600; }

/* ── Filter bar ──────────────────────────────────────────────────────────── */

.aegra-filter-bar {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 18px;
}

.aegra-filter-bar input,
.aegra-filter-bar select {
    font-size: 13px;
    padding: 6px 28px 6px 10px;
    border: 1px solid var(--aegra-border);
    border-radius: 6px;
    background: var(--aegra-surface);
    color: var(--aegra-text);
    height: 34px;
    box-sizing: border-box;
    appearance: auto;
    -webkit-appearance: auto;
}

/* Global select reset for all Aegra Site Monitor inline-styled selects.
   Override WP core's chevron-SVG background-image (forms.css) so we don't
   get a double arrow alongside the native browser arrow. */
.aegra-card select,
.aegra-card-body select,
form.aegra-form select,
.aegra-filter-bar select {
    padding-right: 28px !important;
    appearance: auto !important;
    -webkit-appearance: auto !important;
    background-image: none !important;
}

.aegra-btn {
    display: inline-block;
    padding: 7px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    border: 1px solid var(--aegra-border);
    background: var(--aegra-surface);
    color: var(--aegra-text);
    cursor: pointer;
    text-decoration: none;
    line-height: 1;
    transition: background 0.12s;
}

.aegra-btn:hover { background: var(--aegra-bg); color: var(--aegra-text); text-decoration: none; }

.aegra-btn-primary {
    background: var(--aegra-blue);
    color: #fff;
    border-color: var(--aegra-blue-dark);
}

.aegra-btn-primary:hover { background: var(--aegra-blue-dark); color: #fff; }

.aegra-btn-danger {
    background: var(--aegra-red);
    color: #fff;
    border-color: #c0392b;
}

.aegra-btn-danger:hover { background: #c0392b; color: #fff; }

/* ── Admin bar lights ────────────────────────────────────────────────────── */

#wpadminbar .aegra-light {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 6px;
}

#wpadminbar .aegra-light.green { background: #2ecc71; }
#wpadminbar .aegra-light.red   { background: #e74c3c; }

/* ── Dashboard hero pills ────────────────────────────────────────────────── */

.aegra-hero-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}

.aegra-hero-pill {
    background: var(--aegra-surface);
    border: 1px solid var(--aegra-border);
    border-radius: var(--aegra-radius);
    box-shadow: var(--aegra-shadow);
    padding: 18px 20px;
    text-align: center;
}

.aegra-hero-value {
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    color: var(--aegra-blue);
    margin-bottom: 6px;
}

.aegra-hero-value.ok    { color: var(--aegra-green); }
.aegra-hero-value.warn  { color: var(--aegra-orange); }
.aegra-hero-value.error { color: var(--aegra-red); }

.aegra-hero-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--aegra-text-muted);
}

/* ── Dashboard card grid ─────────────────────────────────────────────────── */

.aegra-dash-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.aegra-dash-card {
    background: var(--aegra-surface);
    border: 1px solid var(--aegra-border);
    border-radius: var(--aegra-radius);
    box-shadow: var(--aegra-shadow);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.aegra-dash-card-header {
    background: var(--aegra-blue);
    color: var(--aegra-chrome-text);
    padding: 10px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}

.aegra-dash-card-title {
    font-size: 13px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 7px;
}

/* ── Icons ────────────────────────────────────────────────────────────────── */
.aegra-icon {
    display: inline-block;
    width: 26px;
    height: 26px;
    vertical-align: middle;
    flex-shrink: 0;
}
.aegra-icon--sm { width: 14px; height: 14px; }
.aegra-icon--md { width: 20px; height: 20px; }
.aegra-icon--lg { width: 24px; height: 24px; }
.aegra-icon--xl { width: 32px; height: 32px; }
.aegra-dash-card-title .aegra-icon { width: 26px; height: 26px; opacity: 0.9; }
.aegra-card-header .aegra-icon     { width: 26px; height: 26px; opacity: 0.8; vertical-align: middle; margin-right: 5px; filter: brightness(0) invert(1); }
.aegra-card-warn .aegra-card-header .aegra-icon { filter: brightness(0); }

.aegra-dash-card-header .aegra-dash-card-link,
.aegra-dash-card-link,
.aegra-dash-card-link:link,
.aegra-dash-card-link:visited,
.aegra-dash-card-link:focus,
.aegra-dash-card-link:active {
    font-size: 11px;
    color: rgba(255,255,255,0.75);
    text-decoration: none;
    box-shadow: none;
    transition: color 0.12s;
}

.aegra-dash-card-header .aegra-dash-card-link:hover,
.aegra-dash-card-link:hover,
.aegra-dash-card-link:focus {
    color: #fff;
    text-decoration: underline;
}

.aegra-dash-card-body {
    padding: 14px 16px;
    flex: 1;
}

/* ── Dashboard stat rows ─────────────────────────────────────────────────── */

.aegra-dash-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 7px 0;
    border-bottom: 1px solid var(--aegra-border);
    font-size: 13px;
}

.aegra-dash-row:last-child { border-bottom: none; }

.aegra-dash-row-label {
    color: var(--aegra-text-muted);
    font-size: 12px;
}

.aegra-dash-row-value {
    font-weight: 600;
    color: var(--aegra-text);
    display: flex;
    align-items: center;
    gap: 5px;
}

.aegra-dash-row-meta {
    font-size: 11px;
    color: var(--aegra-text-muted);
}

.aegra-dash-empty {
    font-size: 12px;
    color: var(--aegra-text-muted);
    margin: 8px 0;
    font-style: italic;
}

/* ── Chart wrapper ───────────────────────────────────────────────────────── */

.aegra-chart-pair {
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
    gap: 8px;
}

.aegra-chart-pair > div {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.aegra-chart-pair .aegra-chart-wrap {
    flex: 1;
    margin-bottom: 0;
}

.aegra-chart-caption {
    font-size: 10px;
    color: #9ca3af;
    text-align: center;
    margin-top: 2px;
    letter-spacing: 0.02em;
}

.aegra-chart-wrap {
    width: 100%;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ── Memory bar ──────────────────────────────────────────────────────────── */

.aegra-mem-bar-wrap {
    padding: 8px 0 4px;
    border-top: 1px solid var(--aegra-border);
    margin-top: 4px;
}
.aegra-mem-bar-labels {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: var(--aegra-text-muted);
    margin-bottom: 5px;
}
.aegra-mem-bar-track {
    position: relative;
    height: 8px;
    background: var(--aegra-border);
    border-radius: 4px;
    overflow: visible;
}
.aegra-mem-bar-fill {
    height: 100%;
    border-radius: 4px;
    transition: width 0.4s ease;
}
.aegra-mem-bar-peak {
    position: absolute;
    top: -3px;
    width: 2px;
    height: 14px;
    background: #1e2327;
    border-radius: 1px;
    transform: translateX(-50%);
}
.aegra-mem-bar-sub {
    font-size: 10px;
    color: var(--aegra-text-muted);
    margin-top: 4px;
    text-align: right;
}

.aegra-chart-wrap svg {
    display: block;
    overflow: visible;
}

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

@media (max-width: 1200px) {
    .aegra-dash-grid { grid-template-columns: repeat(2, 1fr); }
    .aegra-hero-row  { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1100px) {
    .aegra-stats-row { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
    .aegra-body      { flex-direction: column; }
    .aegra-sidebar   { flex: none; }
    .aegra-stats-row { grid-template-columns: repeat(2, 1fr); }
    .aegra-dash-grid { grid-template-columns: 1fr; }
    .aegra-hero-row  { grid-template-columns: repeat(2, 1fr); }
}

/* ── Splash & Wizard ─────────────────────────────────────────────────────── */

.aegra-splash,
.aegra-wizard-wrap {
    background: var(--aegra-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    width: 100%;
    min-height: calc(100vh - 32px);
    padding: 40px 20px;
    box-sizing: border-box;
}

.aegra-splash-card {
    background: var(--aegra-surface);
    border-radius: var(--aegra-radius);
    box-shadow: 0 4px 24px rgba(0,0,0,.08), 0 1px 4px rgba(0,0,0,.04);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 40px 44px 16px;
    width: 100%;
    max-width: 820px;
    box-sizing: border-box;
}

.aegra-wizard-card {
    max-width: 780px;
    max-height: calc(100vh - 80px);
    overflow-y: auto;
}

.aegra-splash-hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
    padding-bottom: 28px;
}

.aegra-splash-logo {
    height: 80px;
    width: auto;
    display: block;
}

.aegra-splash-tagline {
    font-size: 15px;
    font-weight: 600;
    color: var(--aegra-text);
    margin: 0;
    line-height: 1.4;
    max-width: 480px;
}

.aegra-splash-divider {
    width: 80%;
    height: 2px;
    background: var(--aegra-blue);
    margin: 0 auto 28px;
    border-radius: 2px;
    flex-shrink: 0;
}

.aegra-splash-body {
    display: grid;
    grid-template-columns: 1fr 220px;
    gap: 24px;
    margin-bottom: 24px;
}

.aegra-splash-main-col {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.aegra-splash-main-col h2 {
    font-size: 16px;
    font-weight: 600;
    color: var(--aegra-text);
    margin: 0 0 4px;
}

.aegra-splash-main-col p {
    font-size: 13px;
    color: var(--aegra-text-muted);
    margin: 0;
    line-height: 1.7;
}

.aegra-splash-workflow {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: var(--aegra-text-muted);
    letter-spacing: 0.06em;
    margin-top: 4px;
}

.aegra-splash-side-col {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.aegra-splash-side-block {
    background: var(--aegra-blue);
    border-radius: var(--aegra-radius);
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
}

.aegra-splash-side-block strong {
    font-size: 11px;
    font-weight: 700;
    color: var(--aegra-chrome-text);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    opacity: 0.75;
}

.aegra-splash-side-block span,
.aegra-splash-side-block a {
    font-size: 13px;
    color: var(--aegra-chrome-text);
    line-height: 1.5;
    text-decoration: none;
}

.aegra-splash-side-block a:hover { text-decoration: underline; }
.aegra-splash-side-block--compact { flex: 0 0 auto; }

.aegra-splash-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
    max-width: calc(100% - 220px - 24px);
}

.aegra-splash-copyright {
    font-size: 11px;
    color: var(--aegra-text-muted);
    text-align: center;
    padding: 12px 0 4px;
    border-top: 1px solid var(--aegra-border);
    margin-top: auto;
}

.aegra-checklist {
    list-style: none;
    padding: 0;
    margin: 4px 0 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.aegra-checklist li {
    font-size: 13px;
    color: var(--aegra-text);
    padding-left: 22px;
    position: relative;
    line-height: 1.5;
}

.aegra-checklist li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--aegra-blue);
    font-weight: 700;
}

.aegra-splash-btn {
    display: inline-block;
    padding: 11px 36px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: opacity .15s ease;
    letter-spacing: 0.01em;
    font-family: inherit;
}

.aegra-splash-btn:hover { opacity: 0.88; text-decoration: none; }

.aegra-splash-btn-primary {
    background: var(--aegra-blue);
    color: #ffffff !important;
}

.aegra-splash-btn-secondary {
    background: transparent;
    color: var(--aegra-text-muted) !important;
    font-size: 13px;
    padding-left: 0;
}

.aegra-splash-btn-secondary:hover {
    color: var(--aegra-text) !important;
    opacity: 1;
}

.aegra-hidden { display: none !important; }

/* Wizard steps */
.aegra-wizard-steps {
    display: flex;
    align-items: flex-start;
    padding: 20px 32px;
    border-bottom: 1px solid var(--aegra-border);
    overflow-x: auto;
    gap: 4px;
}

.aegra-wizard-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    flex: 1;
    min-width: 60px;
}

.aegra-wizard-step-num {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--aegra-border);
    color: var(--aegra-text-muted);
    font-size: 11px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s, color .2s;
}

.aegra-wizard-step-label {
    font-size: 10px;
    color: var(--aegra-text-muted);
    white-space: nowrap;
    text-align: center;
}

.aegra-wizard-step-active .aegra-wizard-step-num { background: var(--aegra-blue); color: #fff; }
.aegra-wizard-step-active .aegra-wizard-step-label { color: var(--aegra-blue); font-weight: 600; }
.aegra-wizard-step-done .aegra-wizard-step-num { background: var(--aegra-blue); color: #fff; opacity: 0.45; }

/* Wizard body */
.aegra-wizard-body { padding: 32px 44px 24px; }

.aegra-wizard-panel h2 { font-size: 17px; font-weight: 600; color: var(--aegra-text); margin: 0 0 12px; }
.aegra-wizard-panel p  { font-size: 13px; color: var(--aegra-text-muted); line-height: 1.7; margin: 0 0 16px; }

.aegra-wizard-actions { display: flex; align-items: center; gap: 16px; margin-top: 24px; }

.aegra-wizard-field { margin-bottom: 20px; }

.aegra-wizard-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--aegra-text);
    margin-bottom: 8px;
}

.aegra-wizard-hint-inline { font-weight: 400; color: var(--aegra-text-muted); font-size: 12px; }

.aegra-wizard-hint {
    font-size: 12px;
    color: var(--aegra-text-muted);
    margin: 6px 0 0;
    line-height: 1.5;
}

.aegra-wizard-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: var(--aegra-text);
    cursor: pointer;
    margin-bottom: 6px;
}

.aegra-wizard-input {
    width: 100%;
    max-width: 400px;
    padding: 8px 12px;
    border: 1px solid var(--aegra-border);
    border-radius: 6px;
    font-size: 13px;
    color: var(--aegra-text);
    box-sizing: border-box;
    font-family: inherit;
}

.aegra-wizard-input:focus {
    outline: none;
    border-color: var(--aegra-blue);
    box-shadow: 0 0 0 2px rgba(81,132,179,.15);
}

.aegra-wizard-status { margin: 12px 0 0; font-size: 13px; min-height: 20px; }

.aegra-status-ok   { color: #2a7f4f; font-weight: 500; }
.aegra-status-err  { color: #b32d2e; font-weight: 500; }
.aegra-status-info { color: var(--aegra-text-muted); }

.aegra-wizard-checks { display: flex; flex-direction: column; gap: 10px; margin-bottom: 8px; }

.aegra-wizard-check {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: var(--aegra-text);
}

.aegra-check-icon { font-size: 15px; font-weight: 700; width: 20px; text-align: center; flex-shrink: 0; }
.aegra-check-ok   .aegra-check-icon { color: #2a7f4f; }
.aegra-check-warn .aegra-check-icon { color: #b32d2e; }

/* ── System page tabs ────────────────────────────────────────────────────── */

.aegra-tabs { display:flex; gap:2px; border-bottom:2px solid var(--aegra-border); margin-bottom:20px; }
.aegra-tab { padding:8px 16px; font-size:12px; font-weight:600; color:var(--aegra-text-muted); cursor:pointer; border:none; background:none; border-bottom:2px solid transparent; margin-bottom:-2px; transition:color 0.15s,border-color 0.15s; }
.aegra-tab:hover { color:var(--aegra-text); }
.aegra-tab--active { color:var(--aegra-blue); border-bottom-color:var(--aegra-blue); }
.aegra-tab-panel { display:none; }
.aegra-tab-panel--active { display:block; }

/* ── PHP extension pills ─────────────────────────────────────────────────── */

.aegra-ext-group { margin-bottom:20px; }
.aegra-ext-group:last-child { margin-bottom:0; }
.aegra-ext-group-title { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:0.05em; color:var(--aegra-text-muted); margin-bottom:8px; }
.aegra-ext-grid { display:flex; flex-wrap:wrap; gap:6px; }
.aegra-ext-pill { font-size:11px; padding:3px 8px; background:var(--aegra-bg); border:1px solid var(--aegra-border); border-radius:4px; color:var(--aegra-text); }

/* ── Tab-aware sidebar ───────────────────────────────────────────────────── */
.aegra-tab-sidebar { display:none; }
.aegra-tab-sidebar--active { display:block; }

/* ── PHP Info ────────────────────────────────────────────────────────────── */
.aegra-phpinfo-wrap { padding:0; overflow-x:auto; }
.aegra-phpinfo-wrap table { width:100%; border-collapse:collapse; font-size:12px; }
.aegra-phpinfo-wrap tr:nth-child(odd) td  { background:var(--aegra-bg); }
.aegra-phpinfo-wrap tr:nth-child(even) td { background:#fff; }
.aegra-phpinfo-wrap td, .aegra-phpinfo-wrap th { padding:6px 12px; border:1px solid var(--aegra-border); vertical-align:top; color:var(--aegra-text); }
.aegra-phpinfo-wrap th { background:#5184b3; color:#fff; font-weight:600; text-align:left; }
.aegra-phpinfo-wrap h1, .aegra-phpinfo-wrap h2 { font-size:13px; font-weight:600; color:var(--aegra-text); padding:12px 0 6px; border-bottom:1px solid var(--aegra-border); margin:16px 0 8px; }
.aegra-phpinfo-wrap img { display:none; }

/* ── Database page ───────────────────────────────────────────────────────── */
.aegra-db-chart-row { display:flex; gap:20px; margin-bottom:20px; }
.aegra-db-chart-row .aegra-card { flex:1; min-width:0; }
.aegra-db-legend { display:flex; gap:16px; margin-top:10px; flex-wrap:wrap; }
.aegra-db-legend-item { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--aegra-text-muted); }
.aegra-db-legend-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }

/* ── Traffic & Analytics page ────────────────────────────────────────────── */
.aegra-traffic-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:20px; }
.aegra-traffic-stat { background:#fff; border:1px solid var(--aegra-border); border-radius:8px; padding:16px; text-align:center; }
.aegra-traffic-stat-value { font-size:28px; font-weight:700; color:var(--aegra-text); line-height:1; margin-bottom:4px; }
.aegra-traffic-stat-label { font-size:11px; color:var(--aegra-text-muted); text-transform:uppercase; letter-spacing:0.05em; }
/* Sub-line under a hero stat, e.g. "from 34 crawlers" beneath the blocked-request
   count — the count is REQUESTS, so the sub-line says how many bots produced them. */
.aegra-traffic-stat-sub { font-size:10.5px; color:var(--aegra-text-muted); margin-top:3px; opacity:0.85; }
.aegra-traffic-notice { background:#eef4fb; border:1px solid #b8d4ee; border-radius:8px; padding:24px; margin-bottom:20px; }
.aegra-traffic-notice-title { font-size:15px; font-weight:600; color:#2c5282; margin-bottom:8px; }
.aegra-traffic-notice-text { font-size:13px; color:#4a6fa5; line-height:1.6; margin-bottom:16px; }
.aegra-traffic-two-col { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px; align-items:stretch; }
.aegra-traffic-two-col > .aegra-card { margin-bottom:0; display:flex; flex-direction:column; }
.aegra-traffic-two-col > .aegra-card > .aegra-card-body { flex:1; }
.aegra-traffic-donut-wrap { display:flex; align-items:center; gap:20px; }
.aegra-traffic-donut-legend { display:flex; flex-direction:column; gap:6px; }
.aegra-traffic-donut-legend-item { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--aegra-text-muted); }
.aegra-traffic-donut-legend-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }

/* ── Settings page ────────────────────────────────────────────────────────── */
.aegra-settings-tab { /* same as .aegra-tab but scoped to settings so no cross-page bleed */
    background: none; border: none; padding: 8px 16px; font-size: 13px; font-weight: 500;
    color: var(--aegra-text-muted); cursor: pointer; border-bottom: 2px solid transparent;
    transition: color .15s, border-color .15s;
}
.aegra-settings-tab:hover { color: var(--aegra-text); }
.aegra-settings-tab.aegra-tab--active { color: var(--aegra-blue); border-bottom-color: var(--aegra-blue); font-weight: 600; }
.aegra-stab-panel { display: none; }
.aegra-stab-panel.aegra-tab-panel--active { display: block; }
.aegra-settings-row { display:flex; align-items:center; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--aegra-border); }
.aegra-settings-row:last-child { border-bottom:none; }
.aegra-settings-label { font-size:13px; color:var(--aegra-text); font-weight:500; }
.aegra-settings-desc { font-size:11px; color:var(--aegra-text-muted); margin-top:2px; }
.aegra-settings-control { flex-shrink:0; margin-left:20px; }

/* Toggle switch */
.aegra-toggle-switch { position:relative; display:inline-block; width:38px; height:22px; cursor:pointer; }
.aegra-toggle-switch input { opacity:0; width:0; height:0; position:absolute; }
.aegra-toggle-slider { position:absolute; inset:0; background:var(--aegra-border); border-radius:22px; transition:background 0.2s; }
.aegra-toggle-slider::before { content:''; position:absolute; width:16px; height:16px; left:3px; top:3px; background:#fff; border-radius:50%; transition:transform 0.2s; }
.aegra-toggle-switch input:checked + .aegra-toggle-slider { background:var(--aegra-green); }
.aegra-toggle-switch input:checked + .aegra-toggle-slider::before { transform:translateX(16px); }

/* MaxMind progress bar */
.aegra-mmdb-progress { margin-top:16px; display:none; }
.aegra-mmdb-progress-bar { height:6px; background:var(--aegra-border); border-radius:3px; overflow:hidden; margin-bottom:6px; }
.aegra-mmdb-progress-fill { height:100%; background:#5184b3; border-radius:3px; transition:width 0.4s ease; width:0; }
.aegra-mmdb-progress-msg { font-size:11px; color:var(--aegra-text-muted); }

/* Geo status card */
.aegra-geo-status { display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:6px; margin-bottom:20px; border:1px solid var(--aegra-border); background:var(--aegra-bg); }
.aegra-geo-status-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.aegra-geo-status-dot--ok   { background:#1cc88a; }
.aegra-geo-status-dot--warn { background:#f6a623; }
.aegra-geo-status-dot--none { background:#e2e4e7; }

.aegra-status-dot { display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:4px; vertical-align:middle; }
.aegra-status-dot--green  { background:#1cc88a; }
.aegra-status-dot--orange,
.aegra-status-dot--warn   { background:#f6c23e; }
.aegra-status-dot--red    { background:#e74a3b; }
.aegra-status-dot--grey   { background:#858796; }
.aegra-geo-status-text { font-size:13px; color:var(--aegra-text); }
.aegra-geo-status-sub  { font-size:11px; color:var(--aegra-text-muted); margin-top:2px; }

/* ── Donut legend ────────────────────────────────────────────────────────── */
/* ── Sitemap tree ────────────────────────────────────────────────────────── */
#aegra-sitemap-tree { width:100%; overflow:hidden; min-height:200px; }
#aegra-sitemap-tree svg { display:block; }
.aegra-tree-node { user-select:none; }
.aegra-tree-node:hover circle { stroke-width:3; }
.aegra-tree-link { transition:d 0.3s; }

/* ── Audit trail ─────────────────────────────────────────────────────────── */
.aegra-audit-badge { display:inline-block; font-size:11px; font-weight:600; padding:2px 8px; border-radius:20px; white-space:nowrap; letter-spacing:0.02em; }
.aegra-audit-detail { font-size:13px; }
.aegra-audit-detail strong { font-weight:600; }
.aegra-audit-detail code { font-size:12px; background:var(--aegra-bg); padding:1px 5px; border-radius:3px; }

/* ── Action links ────────────────────────────────────────────────────────── */
.aegra-action-link { font-size:12px; font-weight:500; text-decoration:none; padding:3px 8px; border-radius:3px; white-space:nowrap; }
.aegra-action-link--warn { color:#b45309; background:#fef3c7; border:1px solid #fcd34d; }
.aegra-action-link--warn:hover { background:#fde68a; color:#92400e; }
.aegra-action-link--blue { color:#1e40af; background:#eff6ff; border:1px solid #bfdbfe; }
.aegra-action-link--blue:hover { background:#dbeafe; color:#1e3a8a; }

/* ── Donut legend ────────────────────────────────────────────────────────── */
.aegra-donut-legend { display:flex; flex-direction:column; gap:10px; }
.aegra-donut-legend-item { display:flex; align-items:center; gap:8px; font-size:13px; }
.aegra-donut-legend-dot { display:inline-block; width:12px; height:12px; border-radius:50%; flex-shrink:0; }
.aegra-donut-legend-label { color:var(--aegra-text); flex:1; }
.aegra-donut-legend-val { font-weight:600; color:var(--aegra-text); white-space:nowrap; }
.aegra-donut-legend-pct { font-weight:400; color:var(--aegra-text-muted); }

/* Btn variants */
.aegra-btn { display:inline-block; padding:8px 16px; font-size:13px; font-weight:500; border-radius:5px; cursor:pointer; border:none; font-family:inherit; text-decoration:none; transition:background 0.15s,color 0.15s; }
.aegra-btn-primary   { background:var(--aegra-blue); color:#fff; }
.aegra-btn-primary:hover { background:var(--aegra-blue-dark); color:#fff; }
.aegra-btn-secondary { background:var(--aegra-bg); color:var(--aegra-text); border:1px solid var(--aegra-border); }
.aegra-btn-secondary:hover { background:var(--aegra-border); }
.aegra-phpinfo-wrap a { color:var(--aegra-blue); }

/* ── Doc modals ──────────────────────────────────────────────────────────── */
.aegra-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.5);
    z-index: 999980;
    display: flex;
    align-items: center;
    justify-content: center;
}
.aegra-modal {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 12px 40px rgba(0,0,0,.2);
    width: 700px;
    max-width: 95vw;
    max-height: 82vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.aegra-modal-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 18px;
    background: var(--aegra-blue);
    flex-shrink: 0;
}
.aegra-modal-header h3 { margin: 0; flex: 1; font-size: 14px; color: var(--aegra-chrome-text); }
.aegra-modal-close { background: none; border: none; font-size: 20px; cursor: pointer; color: var(--aegra-chrome-text); opacity: .75; line-height: 1; padding: 0 4px; }
.aegra-modal-close:hover { opacity: 1; }
.aegra-modal-body { padding: 20px 22px; overflow-y: auto; flex: 1; }
.aegra-guide-body { font-size: 13px; line-height: 1.75; color: var(--aegra-text); }
.aegra-guide-body h1 { font-size: 18px; margin: 0 0 14px; color: #1a2332; }
.aegra-guide-body h2 { font-size: 15px; margin: 22px 0 10px; color: #1a2332; border-bottom: 2px solid var(--aegra-blue); padding-bottom: 4px; }
.aegra-guide-body h3 { font-size: 13px; font-weight: 700; margin: 16px 0 6px; color: #1a2332; border-bottom: 1px solid var(--aegra-border); padding-bottom: 3px; }
.aegra-guide-body h4 { font-size: 12px; font-weight: 700; margin: 12px 0 4px; color: #3a4a58; }
.aegra-guide-body p { margin: 0 0 10px; }
.aegra-guide-body ul, .aegra-guide-body ol { padding-left: 20px; margin: 0 0 12px; }
.aegra-guide-body li { margin-bottom: 4px; }
.aegra-guide-body code { background: #f0f4f8; border: 1px solid var(--aegra-border); border-radius: 3px; padding: 1px 5px; font-family: monospace; font-size: 12px; }
.aegra-guide-body blockquote { background: #f5f8fc; border-left: 3px solid var(--aegra-blue); padding: 10px 14px; margin: 12px 0; border-radius: 0 4px 4px 0; color: #3a4a58; }
.aegra-guide-body hr { border: none; border-top: 1px solid var(--aegra-border); margin: 18px 0; }
.aegra-guide-body a { color: var(--aegra-blue); }
.aegra-guide-body a:hover { color: var(--aegra-blue-dark); }
.aegra-guide-body table { width: 100%; border-collapse: collapse; font-size: 12px; margin: 12px 0; }
.aegra-guide-body table th, .aegra-guide-body table td { padding: 7px 10px; border: 1px solid var(--aegra-border); text-align: left; }
.aegra-guide-body table th { background: #f0f4f8; font-weight: 600; }
.aegra-guide-body pre { background: #f0f4f8; border: 1px solid var(--aegra-border); border-radius: 4px; padding: 12px 14px; font-size: 11px; line-height: 1.6; overflow-x: auto; white-space: pre-wrap; word-break: break-word; }

/* ── Settings sidebar extras ─────────────────────────────────────────────── */

.aegra-sidebar-credits {
    margin: 8px 0 0;
    padding: 0 0 0 14px;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.aegra-sidebar-credits li {
    font-size: 11px;
    color: var(--aegra-chrome-text);
    opacity: 0.85;
    line-height: 1.5;
}

.aegra-sidebar-small { font-size: 11px; opacity: 0.7; }

.aegra-sidebar-btn-sm {
    margin-top: 8px;
    font-size: 11px;
    padding: 5px 10px;
    opacity: 0.85;
}

.aegra-debug-block {
    background: rgba(0,0,0,0.2);
    border-radius: 4px;
    padding: 8px 10px;
    font-family: monospace;
    font-size: 10px;
    color: rgba(255,255,255,0.75);
    white-space: pre;
    line-height: 1.6;
    overflow-x: auto;
}

/* Wizard "Go Pro" upsell step — benefit list (advert only). */
.aegra-wizard-pro-list {
    list-style: none;
    margin: 0 0 20px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 9px;
}
.aegra-wizard-pro-list li {
    position: relative;
    padding-left: 24px;
    font-size: 14px;
    line-height: 1.45;
    color: var( --aegra-text );
}
.aegra-wizard-pro-list li::before {
    content: '\2713';
    position: absolute;
    left: 0;
    top: 0;
    color: var( --aegra-blue );
    font-weight: 700;
}
