/* Nexus Control — Dark Mode */

body.nc-dark #nxctl-portal {
    --nc-bg:            transparent;
    --nc-surface:       rgba(255,255,255,.06);
    --nc-surface2:      rgba(255,255,255,.09);
    --nc-surface3:      rgba(255,255,255,.04);
    --nc-sidebar-bg:    rgba(0,0,0,.5);
    --nc-topbar-bg:     rgba(0,0,0,.4);
    --nc-border:        rgba(255,255,255,.1);
    --nc-text:          #ffffff;
    --nc-text-2:        #e0e0e0;
    --nc-muted:         rgba(255,255,255,.55);
    --nc-hover:         rgba(255,255,255,.08);
    --nc-input-bg:      rgba(255,255,255,.08);
    --nc-input-border:  rgba(255,255,255,.18);
    --nc-card-border:   rgba(255,255,255,.09);
    --nc-badge-active:  rgba(34,197,94,.2);
    --nc-badge-expired: rgba(239,68,68,.2);
    --nc-badge-revoked: rgba(156,163,175,.18);
    --nc-badge-pending: rgba(234,179,8,.2);
}

/* ── Background gradient: accent glows in top-left corner, black dominates ── */
body.nc-dark #nxctl-portal::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        var(--nc-accent) 0%,
        #000000 45%
    );
    z-index: -1;
    pointer-events: none;
}

/* ── ALL text elements white in dark mode ─────────────────────────── */
body.nc-dark #nxctl-portal,
body.nc-dark #nxctl-portal p,
body.nc-dark #nxctl-portal span,
body.nc-dark #nxctl-portal div,
body.nc-dark #nxctl-portal label,
body.nc-dark #nxctl-portal td,
body.nc-dark #nxctl-portal th,
body.nc-dark #nxctl-portal li,
body.nc-dark #nxctl-portal h1,
body.nc-dark #nxctl-portal h2,
body.nc-dark #nxctl-portal h3,
body.nc-dark #nxctl-portal h4 {
    color: var(--nc-text);
}

/* Muted items keep muted colour */
body.nc-dark #nxctl-portal .nc-muted,
body.nc-dark #nxctl-portal .nc-nav__section-label,
body.nc-dark #nxctl-portal .nc-nav__item,
body.nc-dark #nxctl-portal .nc-label,
body.nc-dark #nxctl-portal .nc-stat-card__label,
body.nc-dark #nxctl-portal .nc-activity-time,
body.nc-dark #nxctl-portal .nc-empty,
body.nc-dark #nxctl-portal .nc-inbox-item__preview,
body.nc-dark #nxctl-portal .nc-inbox-item__time,
body.nc-dark #nxctl-portal .nc-card__subtitle,
body.nc-dark #nxctl-portal .nc-section-sub,
body.nc-dark #nxctl-portal .nc-list-card__meta-item {
    color: var(--nc-muted);
}

/* Active nav item keeps accent color */
body.nc-dark #nxctl-portal .nc-nav__item.active { color: var(--nc-accent); }

/* ── Select/dropdown fix — native dropdown needs explicit styling ──── */
body.nc-dark #nxctl-portal .nc-select,
body.nc-dark #nxctl-portal .nc-select option {
    background-color: #1c1c1c;
    color: #ffffff;
}
body.nc-dark #nxctl-portal .nc-select option:hover,
body.nc-dark #nxctl-portal .nc-select option:focus,
body.nc-dark #nxctl-portal .nc-select option:checked {
    background-color: var(--nc-accent);
    color: #ffffff;
}

/* ── Cards glass ──────────────────────────────────────────────────── */
body.nc-dark #nxctl-portal .nc-card {
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.09);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

body.nc-dark #nxctl-portal .nc-card__header {
    background: rgba(var(--nc-accent-rgb),.22);
    border-bottom-color: rgba(255,255,255,.07);
}
body.nc-dark #nxctl-portal .nc-card__header .nc-card__title,
body.nc-dark #nxctl-portal .nc-card__header .nc-card__subtitle { color: #fff; }

/* ── Sidebar / topbar glass ───────────────────────────────────────── */
body.nc-dark #nxctl-portal .nc-sidebar {
    background: rgba(0,0,0,.55);
    border-right-color: rgba(255,255,255,.07);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}
body.nc-dark #nxctl-portal .nc-topbar {
    background: rgba(0,0,0,.45);
    border-bottom-color: rgba(255,255,255,.07);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

/* ── Stat cards: dark tinted fills matching light palette ──────────── */
body.nc-dark #nxctl-portal .nc-stat-card {
    border: 1px solid rgba(255,255,255,.07);
}
/* Total Licenses */
body.nc-dark #nxctl-portal .nc-stat-card--licenses { background: rgba(232,76,30,.12); }
body.nc-dark #nxctl-portal .nc-stat-card--licenses .nc-stat-card__label { color: rgba(255,180,150,.7); }
body.nc-dark #nxctl-portal .nc-stat-card--licenses .nc-stat-card__value { color: #ff7a52; }
body.nc-dark #nxctl-portal .nc-stat-card--licenses .nc-stat-card__icon { background: rgba(232,76,30,.25); }
body.nc-dark #nxctl-portal .nc-stat-card--licenses .nc-stat-card__icon svg { stroke: #ff7a52; }
/* Active */
body.nc-dark #nxctl-portal .nc-stat-card--active { background: rgba(22,163,74,.12); }
body.nc-dark #nxctl-portal .nc-stat-card--active .nc-stat-card__label { color: rgba(134,239,172,.7); }
body.nc-dark #nxctl-portal .nc-stat-card--active .nc-stat-card__value { color: #4ade80; }
body.nc-dark #nxctl-portal .nc-stat-card--active .nc-stat-card__icon { background: rgba(22,163,74,.25); }
body.nc-dark #nxctl-portal .nc-stat-card--active .nc-stat-card__icon svg { stroke: #4ade80; }
/* Expired */
body.nc-dark #nxctl-portal .nc-stat-card--expired { background: rgba(239,68,68,.10); }
body.nc-dark #nxctl-portal .nc-stat-card--expired .nc-stat-card__label { color: rgba(252,165,165,.7); }
body.nc-dark #nxctl-portal .nc-stat-card--expired .nc-stat-card__value { color: #f87171; }
body.nc-dark #nxctl-portal .nc-stat-card--expired .nc-stat-card__icon { background: rgba(239,68,68,.22); }
body.nc-dark #nxctl-portal .nc-stat-card--expired .nc-stat-card__icon svg { stroke: #f87171; }
/* Customers */
body.nc-dark #nxctl-portal .nc-stat-card--customers { background: rgba(37,99,235,.12); }
body.nc-dark #nxctl-portal .nc-stat-card--customers .nc-stat-card__label { color: rgba(147,197,253,.7); }
body.nc-dark #nxctl-portal .nc-stat-card--customers .nc-stat-card__value { color: #60a5fa; }
body.nc-dark #nxctl-portal .nc-stat-card--customers .nc-stat-card__icon { background: rgba(37,99,235,.25); }
body.nc-dark #nxctl-portal .nc-stat-card--customers .nc-stat-card__icon svg { stroke: #60a5fa; }
/* Downloads */
body.nc-dark #nxctl-portal .nc-stat-card--downloads { background: rgba(168,85,247,.12); }
body.nc-dark #nxctl-portal .nc-stat-card--downloads .nc-stat-card__label { color: rgba(216,180,254,.7); }
body.nc-dark #nxctl-portal .nc-stat-card--downloads .nc-stat-card__value { color: #c084fc; }
body.nc-dark #nxctl-portal .nc-stat-card--downloads .nc-stat-card__icon { background: rgba(168,85,247,.25); }
body.nc-dark #nxctl-portal .nc-stat-card--downloads .nc-stat-card__icon svg { stroke: #c084fc; }
/* Plugins */
body.nc-dark #nxctl-portal .nc-stat-card--plugins { background: rgba(79,70,229,.12); }
body.nc-dark #nxctl-portal .nc-stat-card--plugins .nc-stat-card__label { color: rgba(165,180,252,.7); }
body.nc-dark #nxctl-portal .nc-stat-card--plugins .nc-stat-card__value { color: #818cf8; }
body.nc-dark #nxctl-portal .nc-stat-card--plugins .nc-stat-card__icon { background: rgba(79,70,229,.25); }
body.nc-dark #nxctl-portal .nc-stat-card--plugins .nc-stat-card__icon svg { stroke: #818cf8; }
/* Expiring */
body.nc-dark #nxctl-portal .nc-stat-card--expiring { background: rgba(217,119,6,.12); }
body.nc-dark #nxctl-portal .nc-stat-card--expiring .nc-stat-card__label { color: rgba(253,230,138,.7); }
body.nc-dark #nxctl-portal .nc-stat-card--expiring .nc-stat-card__value { color: #fbbf24; }
body.nc-dark #nxctl-portal .nc-stat-card--expiring .nc-stat-card__icon { background: rgba(217,119,6,.25); }
body.nc-dark #nxctl-portal .nc-stat-card--expiring .nc-stat-card__icon svg { stroke: #fbbf24; }

/* ── Inputs ───────────────────────────────────────────────────────── */
body.nc-dark #nxctl-portal .nc-input,
body.nc-dark #nxctl-portal .nc-textarea {
    background: var(--nc-input-bg);
    border-color: var(--nc-input-border);
    color: #ffffff;
}
body.nc-dark #nxctl-portal .nc-input::placeholder,
body.nc-dark #nxctl-portal .nc-textarea::placeholder { color: rgba(255,255,255,.35); }

/* ── Modal ────────────────────────────────────────────────────────── */
body.nc-dark #nxctl-portal .nc-modal { background: #1a1a1a; border-color: rgba(255,255,255,.12); }
body.nc-dark #nxctl-portal .nc-modal__body { background: #1a1a1a; }
body.nc-dark #nxctl-portal .nc-modal__footer { background: #141414; border-top-color: rgba(255,255,255,.08); }
body.nc-dark #nxctl-portal .nc-modal__title { color: #fff; }

/* ── List cards ───────────────────────────────────────────────────── */
body.nc-dark #nxctl-portal .nc-list-card {
    background: rgba(255,255,255,.055);
    border-color: rgba(255,255,255,.08);
}
body.nc-dark #nxctl-portal .nc-list-card:hover { background: rgba(255,255,255,.09); }
body.nc-dark #nxctl-portal .nc-list-card__title { color: #ffffff; }

/* ── Inbox drawer ─────────────────────────────────────────────────── */
body.nc-dark #nxctl-portal .nc-inbox-drawer {
    background: rgba(10,10,10,.95);
    backdrop-filter: blur(20px);
}
body.nc-dark #nxctl-portal .nc-inbox-item.unread { background: rgba(var(--nc-accent-rgb),.12); }

/* ── Template cards active (mailer) ─────────────────────────────── */
body.nc-dark #nxctl-portal .nc-template-card {
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.1);
}
body.nc-dark #nxctl-portal .nc-template-card:hover {
    background: rgba(255,255,255,.1);
    border-color: var(--nc-accent);
    transform: translateY(-2px);
}
body.nc-dark #nxctl-portal .nc-template-card.active {
    background: rgba(var(--nc-accent-rgb),.2);
    border-color: var(--nc-accent);
    box-shadow: 0 0 0 2px rgba(var(--nc-accent-rgb),.3);
}
body.nc-dark #nxctl-portal .nc-template-card.active .nc-template-card__name { color: var(--nc-accent); }

/* ── Tone cards ───────────────────────────────────────────────────── */
body.nc-dark #nxctl-portal .nc-tone-card { background: rgba(255,255,255,.06); color: var(--nc-muted); }
body.nc-dark #nxctl-portal .nc-tone-card.active { background: rgba(var(--nc-accent-rgb),.2); color: var(--nc-accent); border-color: var(--nc-accent); }

/* ── Secondary button ─────────────────────────────────────────────── */
body.nc-dark #nxctl-portal .nc-btn--secondary {
    background: rgba(255,255,255,.1);
    border-color: rgba(255,255,255,.15);
    color: #ffffff;
}
body.nc-dark #nxctl-portal .nc-btn--ghost { color: rgba(255,255,255,.7); }
body.nc-dark #nxctl-portal .nc-btn--ghost:hover { color: #ffffff; background: rgba(255,255,255,.08); }

/* ── Login card ───────────────────────────────────────────────────── */
body.nc-dark #nxctl-portal .nc-login-card { background: rgba(10,10,10,.85); backdrop-filter: blur(20px); }
body.nc-dark #nxctl-portal .nc-login-body { background: transparent; }
body.nc-dark #nxctl-portal .nc-role-tab.active { background: rgba(255,255,255,.12); color: #fff; }

/* ── Mailer toggle ────────────────────────────────────────────────── */
body.nc-dark #nxctl-portal .nc-mailer-toggle { background: rgba(255,255,255,.06); }
body.nc-dark #nxctl-portal .nc-mailer-toggle__title,
body.nc-dark #nxctl-portal .nc-mailer-toggle__sub { color: #fff; }
