/* ============================================================================
   BAMSCORE · "Night Combine" theme (UI Rev)
   Loaded LAST in _Layout so it re-skins the whole app (chrome + Bootstrap
   components) to the dark brand look. Page-specific layouts (report, landing)
   layer their own components on top of these tokens.
   ============================================================================ */
:root{
  --nc-o:#ff8d00; --nc-r:#f71f00; --nc-y:#ffce07;
  --nc-bg:#0a0d14; --nc-bg2:#0d1220; --nc-card:#121723; --nc-card2:#0e1322;
  --nc-line:#222c40; --nc-mut:#8a98b4; --nc-txt:#eef2fb;
  --nc-grad:linear-gradient(135deg,var(--nc-o),var(--nc-r));
}

html,body{ background:var(--nc-bg) !important; color:var(--nc-txt) !important;
  font-family:'Inter',system-ui,sans-serif; }
body{ min-height:100vh; }
.container,.container-fluid{ color:var(--nc-txt); }
#bam-main{ color:var(--nc-txt); }

h1,h2,h3,h4,h5,h6,.h1,.h2,.h3{ font-family:'Oswald',sans-serif; letter-spacing:.4px; color:var(--nc-txt); }
.text-muted,.text-secondary,small,.small{ color:var(--nc-mut) !important; }
a{ color:var(--nc-o); text-decoration:none; }
a:hover{ color:var(--nc-y); }
hr{ border-color:var(--nc-line); }

/* ── Top navbar (override headerblue.css → dark) ─────────────────────────── */
.header-blue,#bamNav,.main-nav,.navbar.main-nav{
  background:linear-gradient(180deg,var(--nc-bg2),var(--nc-bg)) !important;
  border-bottom:1px solid var(--nc-line) !important; box-shadow:none !important; }
#bamNav.scrolled{ background:rgba(10,13,20,.92) !important; backdrop-filter:blur(8px); }
.navbar-brand img{ height:44px !important; width:auto !important; }
.main-nav .nav-link,.header-blue .nav-link{ color:var(--nc-mut) !important; font-weight:600; }
.main-nav .nav-link:hover,.header-blue .nav-link:hover,.main-nav .nav-link.active{ color:#fff !important; }
.main-nav .nav-link i{ color:var(--nc-o); }
.navbar-toggler{ border-color:var(--nc-line) !important; }
.navbar-toggler .icon-bar{ background:var(--nc-o) !important; }

/* ── Buttons ─────────────────────────────────────────────────────────────── */
.btn{ border-radius:24px; font-weight:600; }
.btn-primary,.btn-orange,.btn-danger,.btn-warning{ background:var(--nc-grad) !important;
  border:0 !important; color:#fff !important; box-shadow:0 6px 18px rgba(247,31,0,.22); }
.btn-primary:hover,.btn-orange:hover{ filter:brightness(1.06); color:#fff; }
.btn-success{ background:linear-gradient(135deg,#3fae46,#1f7a32) !important; border:0 !important; color:#fff !important; }
.btn-secondary,.btn-light,.btn-outline-secondary{ background:#1b2336 !important; border:1px solid var(--nc-line) !important; color:var(--nc-txt) !important; }
.btn-outline-primary,.btn-outline-orange{ background:transparent !important; border:1.5px solid var(--nc-o) !important; color:var(--nc-o) !important; }
.btn-outline-primary:hover{ background:var(--nc-grad) !important; color:#fff !important; border-color:transparent !important; }

/* ── Cards / panels ──────────────────────────────────────────────────────── */
.card,.panel,.list-group-item{ background:var(--nc-card) !important; border:1px solid var(--nc-line) !important;
  color:var(--nc-txt) !important; border-radius:16px; }
.card-header{ background:var(--nc-card2) !important; border-bottom:1px solid var(--nc-line) !important; color:var(--nc-txt) !important; }
.card-footer{ background:var(--nc-card2) !important; border-top:1px solid var(--nc-line) !important; }
.card-body{ color:var(--nc-txt); }
.bg-white,.bg-light{ background:var(--nc-card) !important; color:var(--nc-txt) !important; }
.shadow,.shadow-sm,.shadow-lg{ box-shadow:0 8px 28px rgba(0,0,0,.4) !important; }
.border{ border-color:var(--nc-line) !important; }

/* ── Forms ───────────────────────────────────────────────────────────────── */
.form-control,.form-select,textarea,input[type=text],input[type=email],input[type=password],input[type=number],input[type=search]{
  background:var(--nc-card2) !important; border:1px solid var(--nc-line) !important; color:var(--nc-txt) !important; border-radius:10px; }
.form-control:focus,.form-select:focus{ border-color:var(--nc-o) !important; box-shadow:0 0 0 .2rem rgba(255,141,0,.18) !important; background:var(--nc-card2) !important; color:var(--nc-txt) !important; }
.form-control::placeholder{ color:#5d6b88 !important; }
.form-label,label{ color:#c7d2ea; font-weight:600; }
.input-group-text{ background:#1b2336 !important; border:1px solid var(--nc-line) !important; color:var(--nc-mut) !important; }

/* ── Tables ──────────────────────────────────────────────────────────────── */
.table{ color:var(--nc-txt) !important; }
.table>:not(caption)>*>*{ background:transparent !important; color:var(--nc-txt); border-color:var(--nc-line) !important; }
.table thead th{ color:var(--nc-mut) !important; text-transform:uppercase; letter-spacing:.5px; font-size:.72rem; border-color:var(--nc-line) !important; }
.table-hover>tbody>tr:hover>*{ background:rgba(255,141,0,.06) !important; }
.table-striped>tbody>tr:nth-of-type(odd)>*{ background:rgba(255,255,255,.02) !important; }

/* ── Badges / pills / chips ──────────────────────────────────────────────── */
.badge.bg-primary,.badge.bg-warning{ background:var(--nc-grad) !important; color:#fff !important; }
.badge.bg-secondary{ background:#1b2336 !important; color:#c7d2ea !important; }
.badge.bg-success{ background:#1f7a32 !important; }

/* ── Misc Bootstrap surfaces ─────────────────────────────────────────────── */
.modal-content,.offcanvas,.dropdown-menu{ background:var(--nc-card) !important; color:var(--nc-txt) !important; border:1px solid var(--nc-line) !important; }
.dropdown-item{ color:var(--nc-txt) !important; }
.dropdown-item:hover{ background:var(--nc-card2) !important; color:var(--nc-y) !important; }
.alert{ border-radius:12px; border:1px solid var(--nc-line); }
.alert-info{ background:#10233a !important; color:#bcd4f5 !important; }
.alert-success{ background:#10261a !important; color:#bdf0c9 !important; border-color:#23502f; }
.alert-warning{ background:#2a2110 !important; color:#ffe49a !important; border-color:#4a3a16; }
.alert-danger{ background:#2a1010 !important; color:#ffb3a8 !important; border-color:#4a1c16; }
.nav-tabs .nav-link{ color:var(--nc-mut); border:0; }
.nav-tabs .nav-link.active{ color:#fff; background:transparent; border-bottom:2px solid var(--nc-o); }
.breadcrumb{ background:transparent; } .breadcrumb-item,.breadcrumb-item a{ color:var(--nc-mut); }
.page-link{ background:var(--nc-card) !important; border-color:var(--nc-line) !important; color:var(--nc-txt) !important; }
.page-item.active .page-link{ background:var(--nc-grad) !important; border-color:transparent !important; }

/* ── Footer (override the light footer styles in _Layout) ────────────────── */
.site-footer{ background:var(--nc-bg2) !important; color:var(--nc-mut) !important; border-top:1px solid var(--nc-line) !important; }
.footer-title{ color:var(--nc-o) !important; }
.footer-subtitle{ color:#fff !important; }
.footer-description,.footer-links a,.copyright,.footer-legal a,.contact-item span{ color:var(--nc-mut) !important; }
.footer-links a:hover,.footer-legal a:hover{ color:var(--nc-y) !important; }
.footer-divider{ border-color:var(--nc-line) !important; }
.social-link{ background:var(--nc-grad) !important; }

/* ── Reusable Night Combine components (for content pages) ───────────────── */
.nc-page{ max-width:1200px; margin:0 auto; padding:8px 4px 40px; }
.nc-h{ font-family:'Oswald',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.5px; }
.nc-lbl{ font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--nc-mut); }
.nc-card{ background:var(--nc-card); border:1px solid var(--nc-line); border-radius:18px; padding:20px; }
.nc-chip{ display:inline-block; background:#1b2741; border:1px solid #2a3a5c; color:#b9c6e6; font-size:11px; font-weight:600; padding:4px 10px; border-radius:20px; text-transform:uppercase; letter-spacing:.5px; }
.nc-btn{ display:inline-block; background:var(--nc-grad); color:#fff; font-weight:700; padding:11px 22px; border-radius:24px; text-decoration:none; }
.nc-btn:hover{ color:#fff; filter:brightness(1.06); }
.nc-gradtext{ background:linear-gradient(135deg,var(--nc-y),var(--nc-o),var(--nc-r)); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* ── Auth pages (Register/Login/Forgot/Reset) — dark override of their inline
   .bam-auth-* styles (!important beats the page's non-important inline rules) ── */
.bam-auth-card{ background:var(--nc-card) !important; border:1px solid var(--nc-line) !important; box-shadow:0 16px 48px rgba(0,0,0,.5) !important; }
.bam-auth-title{ color:var(--nc-txt) !important; }
.bam-auth-sub,.bam-auth-foot{ color:var(--nc-mut) !important; }
.bam-input{ background:var(--nc-card2) !important; border-color:var(--nc-line) !important; color:var(--nc-txt) !important; }
.bam-input:focus{ background:var(--nc-card2) !important; border-color:var(--nc-o) !important; box-shadow:0 0 0 3px rgba(255,141,0,.18) !important; }
.bam-input::placeholder{ color:#5d6b88 !important; }
.bam-verify-note{ background:#2a2110 !important; border-color:#4a3a16 !important; color:#ffe49a !important; }
.bam-auth-foot a{ color:var(--nc-o) !important; }
.bam-auth-foot a:hover{ color:var(--nc-y) !important; }
