/* VIP-only consumers of the approved global Design System. */
.nx-vip-card { background:var(--nx-surface-card); border:1px solid var(--nx-border-outer); min-width:0; }
.nx-vip-card h3,.nx-vip-card p { overflow-wrap:anywhere; }
.nx-vip-buy { display:block; text-align:center; cursor:pointer; }
.nx-vip-buy:focus-visible { outline:2px solid var(--nx-accent); outline-offset:3px; }
.nx-vip-buy:disabled { opacity:.5; cursor:not-allowed; }
.nx-vip-notice { border:1px solid var(--nx-border-outer); background:var(--nx-surface-subpanel); color:var(--nx-text-content); padding:1rem; margin:1rem 0; }
.nx-vip-admin { max-width:1100px; margin:2rem auto 3rem; padding:1rem; color:var(--nx-text-content); }
.nx-vip-admin .nx-matrix { padding:1.5rem; margin-top:1rem; }
.nx-vip-admin-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1rem; }
.nx-vip-admin label { display:block; }
.nx-vip-admin input,.nx-vip-admin textarea { width:100%; padding:.65rem; margin:.3rem 0 .75rem; }
.nx-vip-admin-table { overflow-x:auto; }
.nx-vip-admin table { width:100%; border-collapse:collapse; }
.nx-vip-admin td,.nx-vip-admin th { padding:.75rem; border-bottom:1px solid var(--nx-border-inner); text-align:left; }

.nx-vip-admin select { width:100%; padding:.65rem; margin:.3rem 0 .75rem; }
.nx-vip-admin nav { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; margin-top:1rem; }

body.avip { background:var(--nx-surface-base); color:var(--nx-text-content); }
.nx-vip-admin a:not(.nx-button) { color:var(--nx-accent); text-decoration:underline; }
