/* Plugins */
#nxctl-portal .nc-plugin-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--nc-space-4); }
#nxctl-portal .nc-plugin-card { position:relative;cursor:pointer; }
#nxctl-portal .nc-plugin-card__version { font-family:var(--nc-font-mono);font-size:var(--nc-fs-xs); }
#nxctl-portal .nc-version-list { display:flex;flex-direction:column;gap:var(--nc-space-2); }
#nxctl-portal .nc-version-row { display:flex;align-items:center;gap:var(--nc-space-3);padding:var(--nc-space-3) var(--nc-space-4);background:var(--nc-surface2);border-radius:var(--nc-radius);border:1px solid var(--nc-border); }
#nxctl-portal .nc-version-row__num { font-family:var(--nc-font-mono);font-size:var(--nc-fs-sm);font-weight:700;color:var(--nc-accent);flex-shrink:0; }
#nxctl-portal .nc-version-row__notes { flex:1;font-size:var(--nc-fs-xs);color:var(--nc-muted); }

/* Plugin card header actions — proper spacing */
#nxctl-portal .nc-plugin-card .nc-card__actions {
    gap: var(--nc-space-2);
    flex-shrink: 0;
    padding-right: 2px;
}
#nxctl-portal .nc-plugin-card .nc-card__actions .nc-btn {
    flex-shrink: 0;
    white-space: nowrap;
}
/* Ensure card header doesn't overflow */
#nxctl-portal .nc-plugin-card .nc-card__header {
    padding-right: var(--nc-space-4);
    flex-wrap: wrap;
    gap: var(--nc-space-2);
}

/* ── Plugin download analytics panel ──────────────────────────────────── */
#nxctl-portal .nc-stats-row {
    display: flex;
    align-items: flex-start;
    gap: var(--nc-space-4);
    flex-wrap: wrap;
}
#nxctl-portal .nc-stats-row--detail {
    gap: var(--nc-space-3);
}
#nxctl-portal .nc-stats-kpi {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 64px;
}
#nxctl-portal .nc-stats-kpi__num {
    font-size: 24px;
    font-weight: 700;
    color: var(--nc-text);
    line-height: 1;
}
#nxctl-portal .nc-stats-kpi__label {
    font-size: 10px;
    font-weight: 600;
    color: var(--nc-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
}
#nxctl-portal .nc-stats-sparkline {
    margin-left: auto;
    display: flex;
    align-items: flex-end;
}
#nxctl-portal .nc-stats-divider {
    height: 1px;
    background: var(--nc-border);
    margin: var(--nc-space-4) 0;
}
#nxctl-portal .nc-stats-panel {
    flex: 1;
    min-width: 160px;
    background: var(--nc-surface2);
    border: 1px solid var(--nc-border);
    border-radius: var(--nc-radius-lg);
    padding: var(--nc-space-3) var(--nc-space-4);
}
#nxctl-portal .nc-stats-panel__title {
    font-size: 10px;
    font-weight: 700;
    color: var(--nc-muted);
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 2px;
}
