:root {
  --nf-bg: #090208;
  --nf-bg-soft: #180714;
  --nf-panel: rgba(31, 7, 25, .92);
  --nf-panel-2: rgba(55, 8, 37, .88);
  --nf-red: #ff173f;
  --nf-pink: #ff2fa8;
  --nf-hot: #ff006e;
  --nf-gold: #ffc83d;
  --nf-text: #fff5fa;
  --nf-muted: #d7a9bf;
  --nf-line: rgba(255, 76, 143, .28);
  --nf-shadow: 0 22px 60px rgba(0, 0, 0, .52), 0 0 32px rgba(255, 0, 78, .12);
}

html { color-scheme: dark; }

body {
  color: var(--nf-text) !important;
  background:
    radial-gradient(circle at 12% 8%, rgba(255, 0, 92, .22), transparent 28rem),
    radial-gradient(circle at 88% 22%, rgba(255, 48, 166, .17), transparent 30rem),
    linear-gradient(145deg, #070106 0%, #170512 46%, #080106 100%) fixed !important;
}

/* Branding belongs in page headers; remove the old floating overlay. */
body::before { content:none!important;display:none!important;background:none!important;animation:none!important; }

@keyframes nf-logo-glow {
  from { filter: drop-shadow(0 0 3px #fff) drop-shadow(0 0 8px #ff174f) drop-shadow(0 0 14px rgba(255,0,98,.62)); }
  to { filter: drop-shadow(0 0 5px #fff) drop-shadow(0 0 15px #ff174f) drop-shadow(0 0 28px rgba(255,0,128,.96)); }
}

::selection { color: #fff !important; background: var(--nf-hot) !important; }

/* Shared surfaces: visual overrides only; dimensions and behavior stay page-owned. */
.wrapper, .container, .box, .panel, .card, .content, .main-card,
.form-box, .login-box, .register-box, .policy-card, .modal-content {
  border-color: var(--nf-line) !important;
  box-shadow: var(--nf-shadow) !important;
}

.wrapper, .box, .panel, .main-card, .form-box, .login-box, .register-box,
.policy-card {
  background-color: var(--nf-panel) !important;
  background-image: linear-gradient(145deg, rgba(63, 9, 42, .94), rgba(18, 4, 16, .96)) !important;
}

.card, .content, .modal-content, .table-wrap, .section, .stat-card,
.menu-card, .admin-menu-card, .boss-card, .comment-card {
  border-color: var(--nf-line) !important;
  background-color: var(--nf-panel-2) !important;
  background-image: linear-gradient(150deg, rgba(69, 10, 45, .9), rgba(26, 5, 21, .94)) !important;
}

header, .header, .site-header.scrolled, .topbar, nav, .navbar {
  border-color: rgba(255, 70, 138, .24) !important;
}

h1, h2, h3, .title, .brand, .logo, .section-title {
  color: #fff !important;
  text-shadow: 0 0 14px rgba(255, 23, 86, .5);
}

a { accent-color: var(--nf-pink); }

button, .btn, a.btn, .back-btn, .home-btn, .nav-cta, input[type='submit'] {
  border-color: rgba(255, 112, 166, .48) !important;
  color: #fff !important;
  background: linear-gradient(135deg, #e60036, #ff087f 58%, #b50065) !important;
  box-shadow: 0 8px 22px rgba(255, 0, 82, .23) !important;
}

button:hover, .btn:hover, a.btn:hover, .back-btn:hover, .home-btn:hover,
.nav-cta:hover, input[type='submit']:hover {
  border-color: #ff9fc8 !important;
  box-shadow: 0 10px 28px rgba(255, 0, 90, .4), 0 0 15px rgba(255, 66, 155, .28) !important;
}

input, select, textarea {
  border-color: rgba(255, 83, 143, .35) !important;
  color: var(--nf-text) !important;
  background-color: rgba(18, 3, 15, .82) !important;
}

input:focus, select:focus, textarea:focus {
  border-color: var(--nf-pink) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(255, 47, 168, .15), 0 0 18px rgba(255, 0, 85, .15) !important;
}

table { border-color: var(--nf-line) !important; }
th {
  color: #fff !important;
  background: linear-gradient(135deg, #8d092e, #c20b5f) !important;
}
td { border-color: rgba(255, 94, 151, .16) !important; }
tr:nth-child(even) td { background-color: rgba(255, 42, 119, .045); }

.active, .tab.active, .tabs .active, .badge, .status-active {
  border-color: rgba(255, 146, 188, .55) !important;
  background-color: var(--nf-hot) !important;
}

/* Homepage-specific red/pink art direction. */
.site-header { background: linear-gradient(180deg, rgba(12,1,10,.88), transparent) !important; }
.brand-mark {
  width: 58px !important;
  border-radius: 14px !important;
  background: url('/img/nrofunz-shenron-home.png') center / contain no-repeat !important;
  box-shadow: 0 0 22px rgba(255, 0, 91, .65) !important;
}
.brand-mark img { opacity: 0 !important; }
.eyebrow, .hero-kicker, .accent, .highlight { color: var(--nf-pink) !important; }
.hero-glow { background: rgba(255, 0, 103, .2) !important; }
.hero-shade { background: linear-gradient(90deg, #090208 4%, rgba(20,2,15,.94) 33%, rgba(25,3,19,.47) 70%, rgba(9,2,8,.78)) !important; }

@media (max-width: 760px) {
  body::before { top: 8px; left: 10px; width: 126px; }
}

@media (prefers-reduced-motion: reduce) {
  body::before { animation: none; }
}

/* Light rose palette for the remaining pages and administration panel. */
body:not(.nroblue-page):not(.nf-marketing) {
  color: #251018 !important;
  background: linear-gradient(145deg, #fff7fa, #ffdce7 52%, #fff1f6) fixed !important;
}
body:not(.nroblue-page):not(.nf-marketing) .wrapper,
body:not(.nroblue-page):not(.nf-marketing) .box,
body:not(.nroblue-page):not(.nf-marketing) .panel,
body:not(.nroblue-page):not(.nf-marketing) .main-card,
body:not(.nroblue-page):not(.nf-marketing) .form-box,
body:not(.nroblue-page):not(.nf-marketing) .login-box,
body:not(.nroblue-page):not(.nf-marketing) .register-box,
body:not(.nroblue-page):not(.nf-marketing) .policy-card {
  color: #251018 !important;
  background: linear-gradient(145deg, rgba(255,248,251,.98), rgba(255,220,232,.96)) !important;
  border-color: rgba(219,53,105,.25) !important;
}
body:not(.nroblue-page):not(.nf-marketing) .card,
body:not(.nroblue-page):not(.nf-marketing) .content,
body:not(.nroblue-page):not(.nf-marketing) .section,
body:not(.nroblue-page):not(.nf-marketing) .comment-card {
  color: #251018 !important;
  background: rgba(255,250,252,.94) !important;
  border-color: rgba(219,53,105,.2) !important;
}
body:not(.nroblue-page):not(.nf-marketing) p,
body:not(.nroblue-page):not(.nf-marketing) label,
body:not(.nroblue-page):not(.nf-marketing) td,
body:not(.nroblue-page):not(.nf-marketing) span { color: #35151f; }
