
:root{
  --panel-bg:#0b1220;
  --panel-sidebar:#0f172a;
  --panel-sidebar-border:rgba(255,255,255,.06);
  --panel-card:#111827;
  --panel-card-border:rgba(148,163,184,.14);
  --panel-topbar:#0f172a;
  --panel-accent:var(--nxt-panel-accent,#8ea0b8);
  --panel-accent-soft:rgba(59,130,246,.18);
  --panel-text:#e5edf8;
  --panel-muted:#94a3b8;
}

body{
  background:linear-gradient(180deg,#09111f 0%, #0b1220 100%);
  color:var(--panel-text);
}

.page{
  min-height:100vh;
}

.panel-sidebar{
  background:var(--panel-sidebar) !important;
  border-right:1px solid var(--panel-sidebar-border);
  box-shadow:inset -1px 0 0 rgba(255,255,255,.02);
}

.panel-sidebar .navbar-brand a{
  display:flex;
  align-items:center;
  gap:.85rem;
  text-decoration:none;
}

.brand-mark{
  width:2.25rem;
  height:2.25rem;
  border-radius:.9rem;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--nxt-panel-accent,currentColor),var(--nxt-panel-accent-2,var(--nxt-panel-accent,currentColor)));
  color:#fff;
  font-weight:800;
  box-shadow:0 10px 30px color-mix(in srgb,var(--nxt-panel-accent,#8ea0b8) 22%,transparent);
}

.brand-text{
  display:flex;
  flex-direction:column;
  line-height:1.05;
}

.brand-title{
  color:#fff;
  font-weight:700;
  letter-spacing:.02em;
}

.brand-subtitle{
  color:var(--panel-muted);
  font-size:.73rem;
}

.panel-sidebar .nav-link{
  color:#cbd5e1;
  border-radius:.85rem;
  margin:.18rem .45rem;
  padding:.8rem .9rem;
  transition:all .18s ease;
}

.panel-sidebar .nav-link:hover{
  background:transparent;
  color:#fff;
}

.panel-sidebar .nav-item.active > .nav-link{
  background:linear-gradient(90deg, var(--panel-accent-soft), color-mix(in srgb,var(--nxt-panel-accent,#8ea0b8) 5%,transparent));
  color:#fff;
  box-shadow:none;
}

.panel-sidebar .nav-link-icon{
  color:var(--nxt-panel-accent-2,#b6c2d2);
}

.upgrade-box{
  border:1px solid color-mix(in srgb, var(--nxt-panel-accent,currentColor) 14%, transparent);
  border-radius:1rem;
  background:linear-gradient(180deg,color-mix(in srgb,var(--nxt-panel-accent,#8ea0b8) 15%,transparent),color-mix(in srgb,var(--nxt-panel-accent,#8ea0b8) 5%,transparent));
  padding:.95rem;
}

.upgrade-label{
  color:var(--nxt-panel-accent-2,#b6c2d2);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:.25rem;
}

.upgrade-value{
  color:#fff;
  font-size:1rem;
  font-weight:700;
}

.upgrade-meta{
  color:#cbd5e1;
  font-size:.78rem;
}

.page-wrapper{
  background:transparent;
}

.panel-topbar{
  background:transparent;
  border-bottom:1px solid rgba(255,255,255,.05);
  padding-top:1rem;
  padding-bottom:1rem;
}

.page-pretitle{
  color:var(--panel-muted);
}

.page-title{
  color:#fff;
  font-weight:700;
}

.panel-avatar{
  background:linear-gradient(135deg,var(--nxt-panel-accent,currentColor),var(--nxt-panel-accent-2,var(--nxt-panel-accent,currentColor)));
  color:#fff;
  font-weight:700;
}

.status-chip{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  border:1px solid rgba(34,197,94,.18);
  background:rgba(34,197,94,.1);
  color:#dcfce7;
  border-radius:999px;
  padding:.45rem .8rem;
  font-size:.8rem;
}

.status-dot{
  width:.5rem;
  height:.5rem;
  border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.12);
}

.card{
  background:var(--panel-card);
  border:1px solid var(--panel-card-border);
  border-radius:1.15rem;
  box-shadow:0 18px 40px rgba(2,6,23,.26);
}

.stat-card{
  min-height:144px;
}

.stat-value{
  font-size:1.9rem;
  font-weight:800;
  line-height:1.05;
  color:#fff;
  margin-top:.3rem;
}

.stat-meta{
  color:var(--panel-muted);
  font-size:.82rem;
  margin-top:.45rem;
}

.stat-icon{
  width:3rem;
  height:3rem;
  border-radius:1rem;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, rgba(59,130,246,.18), rgba(96,165,250,.08));
  color:var(--nxt-panel-accent-2,#b6c2d2);
  font-size:1.25rem;
  border:1px solid color-mix(in srgb, var(--nxt-panel-accent,currentColor) 8%, transparent);
}

.badgersclaw-card .card-header{
  border-bottom:1px solid rgba(255,255,255,.05);
  min-height:4rem;
}

.card-title{
  color:#fff;
  font-weight:700;
}

.table thead th{
  color:#94a3b8;
  border-bottom-color:transparent;
}

.table tbody td{
  color:#dbe6f3;
  border-bottom-color:transparent;
}

.btn-primary{
  background:linear-gradient(135deg,var(--nxt-panel-accent,currentColor),var(--nxt-panel-accent-2,var(--nxt-panel-accent,currentColor)));
  border-color:color-mix(in srgb,var(--nxt-panel-accent,#8ea0b8) 55%,var(--nxt-panel-border,rgba(255,255,255,.12)));
}

.btn-outline-primary{
  color:var(--nxt-panel-accent-2,#b6c2d2);
  border-color:color-mix(in srgb, var(--nxt-panel-accent,currentColor) 16%, transparent);
}

.btn-outline-primary:hover{
  background:color-mix(in srgb,var(--nxt-panel-accent,#8ea0b8) 12%,transparent);
  border-color:color-mix(in srgb, var(--nxt-panel-accent,currentColor) 22%, transparent);
  color:#fff;
}

.progress{
  background:rgba(255,255,255,.025);
}

.progress-bar{
  background:linear-gradient(90deg,var(--nxt-panel-accent,currentColor),var(--nxt-panel-accent-2,var(--nxt-panel-accent,currentColor)));
}

.footer{
  margin-top:1.5rem;
  padding-bottom:1.5rem;
}

.text-secondary{
  color:var(--panel-muted) !important;
}

@media (max-width: 991.98px){
  .panel-topbar{
    padding-top:.5rem;
  }
}


/* ---- Legacy BadgersClaw compatibility bridge ---- */
:root{
  --tblr-body-bg: #0b1220;
  --tblr-body-color: #e5edf8;
  --tblr-card-bg: #111827;
  --tblr-border-color: rgba(148,163,184,.14);
}
html, body{min-height:100%;}
body{background:linear-gradient(180deg,#09111f 0%, #0b1220 100%) !important; color:var(--panel-text);}
a{color:var(--nxt-panel-accent-2,#b6c2d2);}
a:hover{color:color-mix(in srgb,var(--nxt-panel-accent-2,#b6c2d2) 75%,#fff 25%);}
#layout-wrapper{min-height:100vh; padding-left:18rem;}
.main-content{min-height:100vh; display:flex; flex-direction:column; width:100%; min-width:0;}
.page-content{padding:1.25rem 1.25rem 0 1.25rem; flex:1; min-width:0;}
.container-fluid{max-width:100%;}
.vertical-menu{display:none !important;}
.panel-sidebar{position:fixed; inset:0 auto 0 0; width:18rem; z-index:1030; overflow-y:auto;}
.panel-topbar{position:sticky; top:0; z-index:1020; backdrop-filter:blur(8px);}
.panel-topbar .container-fluid,.panel-footer .container-fluid{padding-left:1.25rem; padding-right:1.25rem;}
#page-topbar{display:none !important;}
.footer{background:transparent; border-top:1px solid rgba(255,255,255,.05); padding:1rem 0 1.25rem;}
.card,.modal-content,.dropdown-menu,.list-group-item{background:var(--panel-card) !important; border-color:var(--panel-card-border) !important; color:var(--panel-text);}
.card-title,.page-title-box h4,.form-label,label,.col-form-label,h1,h2,h3,h4,h5,h6{color:#fff !important;}
.page-title-box{margin-bottom:1rem; padding:.35rem .15rem 1rem .15rem; border-bottom:1px solid rgba(255,255,255,.05);}
.breadcrumb-item,.breadcrumb-item a,.text-muted,.form-text,small,small.text-muted,span.text-muted,p.text-muted{color:#94a3b8 !important;}
.table{color:#dbe6f3;}
.table td,.table th{border-color:transparent !important;}
.form-control,.form-select,textarea,select,input[type=text],input[type=password],input[type=url]{background:#0f172a !important; color:#e5edf8 !important; border:1px solid rgba(148,163,184,.18) !important; border-radius:.8rem !important;}
.form-control:focus,.form-select:focus,textarea:focus{border-color:color-mix(in srgb,var(--nxt-panel-accent,#8ea0b8) 50%,transparent) !important; box-shadow:0 0 0 .2rem color-mix(in srgb,var(--nxt-panel-accent,#8ea0b8) 15%,transparent) !important;}
.btn-primary,.btn-success{background:linear-gradient(135deg,var(--nxt-panel-accent,currentColor),var(--nxt-panel-accent-2,var(--nxt-panel-accent,currentColor))) !important; border-color:color-mix(in srgb,var(--nxt-panel-accent,#8ea0b8) 55%,var(--nxt-panel-border,rgba(255,255,255,.12))) !important;}
.btn-secondary,.btn-light{background:#1e293b !important; border-color:#334155 !important; color:#e5edf8 !important;}
.btn-danger{background:linear-gradient(135deg,#dc2626,#ef4444) !important; border-color:#dc2626 !important;}
.auth-body-bg,.authentication-page-content,.authentication-bg{background:none !important;}
.auth-shell{min-height:100vh; display:flex; align-items:stretch; background:linear-gradient(180deg,#09111f 0%, #0b1220 100%);}
.auth-panel{max-width:480px; width:100%; background:rgba(15,23,42,.78); border-right:1px solid rgba(255,255,255,.06); backdrop-filter: blur(8px);}
.auth-hero{flex:1; background-size:cover; background-position:center; position:relative;}
.auth-hero::before{content:""; position:absolute; inset:0; background:radial-gradient(circle at 20% 20%, color-mix(in srgb,var(--nxt-panel-accent,#8ea0b8) 25%,transparent), transparent 30%), linear-gradient(180deg, rgba(2,6,23,.25), rgba(2,6,23,.7));}
.auth-card{background:#111827; border:1px solid rgba(148,163,184,.14); border-radius:1.25rem; box-shadow:0 18px 40px rgba(2,6,23,.26);}
.brand-logo-wrap{width:2.4rem;height:2.4rem;border-radius:.8rem;display:grid;place-items:center;background:rgba(255,255,255,.025);overflow:hidden;flex:none;}
.brand-logo-img{max-width:100%;max-height:100%;object-fit:contain;}
#side-menu{list-style:none; margin:0; padding:1rem 0 0;}
#side-menu .menu-title{color:var(--nxt-panel-accent-2,#b6c2d2); text-transform:uppercase; letter-spacing:.08em; font-size:.72rem; padding:.75rem 1rem; opacity:.95;}
#side-menu li>a{display:flex; align-items:center; gap:.6rem; color:#cbd5e1; text-decoration:none; border-radius:.85rem; margin:.18rem .45rem; padding:.78rem .9rem; transition:all .18s ease;}
#side-menu li>a:hover{background:transparent; color:#fff;}
#side-menu li.mm-active>a, #side-menu li>a[aria-expanded="true"]{background:linear-gradient(90deg, rgba(59,130,246,.18), rgba(59,130,246,.05)); color:#fff; box-shadow:none;}
#side-menu ul.sub-menu{list-style:none; margin:0; padding:0 0 .25rem .65rem;}
#side-menu ul.sub-menu li>a{font-size:.93rem; padding:.65rem .9rem;}
#preloader,#right-bar,.right-bar,.rightbar-overlay{display:none !important;}
@media (max-width: 991.98px){
  #layout-wrapper{padding-left:0;}
  .panel-sidebar{position:fixed; transform:translateX(-100%); transition:transform .2s ease; width:18rem;}
  .panel-sidebar.show, .panel-sidebar:has(.navbar-collapse.show){transform:translateX(0);}
  .main-content, .panel-topbar, .footer{width:100%;}
  .page-content{padding-top:1rem;}
}


/* ===== Rebuilt native Tabler sidebar ===== */
.panel-sidebar .container-fluid{
  align-items:stretch;
}

.panel-sidebar-scroll{
  max-height:calc(100vh - 110px);
  overflow:auto;
  padding-right:.2rem;
}

.brand-logo-wrap{
  width:2.4rem;
  height:2.4rem;
  border-radius:.9rem;
  display:grid;
  place-items:center;
  background:transparent;
  overflow:hidden;
  flex-shrink:0;
}

.brand-logo-img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.panel-sidebar .navbar-nav{
  gap:.2rem;
}

.panel-sidebar .nav-link{
  display:flex;
  align-items:center;
  gap:.75rem;
  font-weight:600;
}

.panel-sidebar .nav-link-title{
  flex:1;
  min-width:0;
}

.panel-sidebar .dropdown-toggle::after{
  margin-left:auto;
  transform:rotate(-90deg);
  transition:transform .18s ease;
  opacity:.8;
}

.panel-sidebar .dropdown-toggle[aria-expanded="true"]::after{
  transform:rotate(0deg);
}

.dropdown-group > .nav-link{
  border:1px solid transparent;
}

.dropdown-group.active > .nav-link,
.dropdown-group > .nav-link[aria-expanded="true"]{
  background:rgba(255,255,255,.05);
  border-color:rgba(96,165,250,.14);
  color:#fff;
}

.panel-subnav{
  padding:.25rem 0 .4rem 0;
  margin:.15rem .25rem .2rem 2.4rem;
  border-left:1px solid rgba(148,163,184,.16);
}

.panel-subnav .nav-link{
  font-weight:500;
  color:#aebed3;
  margin:.08rem .2rem .08rem .85rem;
  padding:.55rem .8rem;
  border-radius:.8rem;
}

.panel-subnav .nav-link:hover{
  background:transparent;
  color:#fff;
}

.panel-subnav .nav-link.active{
  background:rgba(59,130,246,.16);
  color:#fff;
  box-shadow:none;
}

.sub-dropdown > .nav-link{
  font-weight:600;
}

.panel-subnav-nested{
  margin-left:1rem;
  border-left:1px dashed rgba(148,163,184,.14);
}

.panel-subnav-nested .nav-link{
  padding:.48rem .75rem;
}

.panel-topbar{
  backdrop-filter:blur(12px);
}

.panel-mini-stat{
  display:flex;
  flex-direction:column;
  padding:.35rem .8rem;
  border:1px solid rgba(255,255,255,.06);
  border-radius:.95rem;
  background:transparent;
  line-height:1.1;
}

.panel-mini-stat__label{
  font-size:.7rem;
  color:var(--panel-muted);
  text-transform:uppercase;
  letter-spacing:.06em;
}

.panel-mini-stat__value{
  color:#fff;
  font-weight:700;
}

.panel-footer{
  border-top:1px solid rgba(255,255,255,.05);
}

@media (max-width: 991.98px){
  .panel-sidebar-scroll{
    max-height:none;
    overflow:visible;
    padding-right:0;
  }

  .panel-subnav{
    margin-left:1.15rem;
  }
}

/* ---- Dashboard refresh ---- */
.dashboard-page{
  padding-top: 1.25rem;
}

.dashboard-hero{
  background:
    radial-gradient(circle at top right, rgba(96,165,250,.22), transparent 34%),
    linear-gradient(135deg, rgba(37,99,235,.28), rgba(15,23,42,.92));
  border:1px solid color-mix(in srgb, var(--nxt-panel-accent,currentColor) 14%, transparent);
  overflow:hidden;
}

.dashboard-kicker{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.45rem .8rem;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:color-mix(in srgb,var(--nxt-panel-accent-2,#b6c2d2) 75%,#fff 25%);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:1rem;
}

.dashboard-hero-title{
  color:#fff;
  font-size:clamp(1.75rem, 2vw, 2.6rem);
  line-height:1.05;
  margin-bottom:.85rem;
  font-weight:800;
}

.dashboard-hero-text,
.hero-side-meta,
.dashboard-feed-meta,
.dashboard-feed-body p{
  color:#cbd5e1;
}

.dashboard-hero-side{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(2,6,23,.34);
  border-radius:1.25rem;
  padding:1.1rem;
  backdrop-filter: blur(8px);
}

.hero-side-label{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--nxt-panel-accent-2,#b6c2d2);
}

.hero-side-value{
  color:#fff;
  font-size:1.8rem;
  font-weight:800;
  margin:.25rem 0;
}

.dashboard-status-card .list-group-item{
  border-color:rgba(255,255,255,.06);
}

.quick-action-card{
  display:flex;
  align-items:center;
  gap:1rem;
  width:100%;
  text-decoration:none;
  padding:1rem 1rem;
  border-radius:1rem;
  border:1px solid rgba(148,163,184,.12);
  background:transparent;
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}

.quick-action-card:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb, var(--nxt-panel-accent,currentColor) 16%, transparent);
  background:rgba(59,130,246,.08);
}

.quick-action-icon,
.quick-action-arrow{
  flex:0 0 auto;
  display:grid;
  place-items:center;
}

.quick-action-icon{
  width:2.8rem;
  height:2.8rem;
  border-radius:.95rem;
  background:linear-gradient(135deg, rgba(59,130,246,.18), rgba(96,165,250,.08));
  color:var(--nxt-panel-accent-2,#b6c2d2);
  font-size:1.15rem;
  border:1px solid color-mix(in srgb, var(--nxt-panel-accent,currentColor) 14%, transparent);
}

.quick-action-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.quick-action-copy strong{
  color:#fff;
}

.quick-action-copy span,
.module-family-block .text-secondary,
.timeline-simple-item p{
  color:#94a3b8 !important;
}

.quick-action-arrow{
  margin-left:auto;
  color:var(--nxt-panel-accent-2,#b6c2d2);
}

.module-family-block{
  border:1px solid rgba(148,163,184,.12);
  border-radius:1rem;
  padding:1rem;
  background:transparent;
}

.module-family-title,
.dashboard-feed-title{
  color:#fff;
  font-weight:700;
}

.dashboard-feed-item{
  border:1px solid rgba(148,163,184,.12);
  border-radius:1.1rem;
  padding:1.15rem;
  background:transparent;
}

.dashboard-feed-avatar{
  width:3rem;
  height:3rem;
  object-fit:cover;
  border:2px solid rgba(96,165,250,.18);
}

.dashboard-feed-body a{
  color:var(--nxt-panel-accent-2,#b6c2d2);
}

.timeline-simple{
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.timeline-simple-item{
  display:flex;
  align-items:flex-start;
  gap:.9rem;
}

.timeline-dot{
  width:.85rem;
  height:.85rem;
  margin-top:.25rem;
  border-radius:999px;
  background:linear-gradient(135deg,var(--nxt-panel-accent,#8ea0b8),var(--nxt-panel-accent-2,#b6c2d2));
  box-shadow:0 0 0 5px color-mix(in srgb,var(--nxt-panel-accent,#8ea0b8) 12%,transparent);
  flex:0 0 auto;
}

.alert{
  border-radius:1rem;
}

.panel-sidebar, .panel-topbar, .main-content{box-sizing:border-box;}
.main-content > .page-content{position:relative; z-index:1;}


/* ---- Dashboard organization pass ---- */
.dashboard-shell{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}

.dashboard-top-row,
.dashboard-stats-row,
.dashboard-content-grid,
.dashboard-bottom-grid{
  margin-top:0;
}

.dashboard-top-row > [class*="col-"],
.dashboard-stats-row > [class*="col-"],
.dashboard-content-grid > [class*="col-"],
.dashboard-bottom-grid > [class*="col-"]{
  display:flex;
}

.dashboard-page .card{
  width:100%;
}

.dashboard-hero .card-body,
.dashboard-status-card .card-body,
.feed-stack,
.control-lanes-stack,
.dashboard-side-stack{
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.dashboard-checklist-grid,
.mini-summary-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.9rem;
}

.dashboard-check-item,
.mini-summary-item{
  padding:1rem;
  border:1px solid rgba(148,163,184,.12);
  border-radius:1rem;
  background:transparent;
}

.dashboard-check-label,
.mini-summary-item span{
  display:block;
  font-size:.78rem;
  color:var(--panel-muted);
  margin-bottom:.35rem;
}

.dashboard-check-item strong,
.mini-summary-item strong{
  color:#fff;
  font-size:1rem;
}

.hero-side-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.75rem;
}

.hero-side-grid > div{
  border:1px solid rgba(255,255,255,.08);
  border-radius:1rem;
  padding:.8rem .9rem;
  background:transparent;
}

.hero-side-grid span{
  display:block;
  font-size:.72rem;
  color:var(--nxt-panel-accent-2,#b6c2d2);
  text-transform:uppercase;
  letter-spacing:.06em;
}

.hero-side-grid strong{
  color:#fff;
  font-size:1rem;
}

.quick-actions-grid > [class*="col-"]{
  display:flex;
}

.quick-action-card{
  min-height:100%;
}

.stat-copy{min-width:0;}

.control-lanes-stack .module-family-block{
  margin:0;
}

.feed-stack{
  gap:1rem;
}

.feed-item-layout{align-items:flex-start;}

.dashboard-feed-item{
  overflow:hidden;
}

.dashboard-feed-body,
.dashboard-feed-body *{
  max-width:100%;
}

.dashboard-feed-body img,
.dashboard-feed-body iframe,
.dashboard-feed-body table,
.dashboard-feed-body pre,
.dashboard-feed-body code{
  max-width:100%;
}

.dashboard-feed-body table,
.dashboard-feed-body pre{
  display:block;
  overflow:auto;
}

.dashboard-feed-body p:last-child{
  margin-bottom:0;
}

.dashboard-side-stack{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}

@media (max-width: 1399.98px){
  .dashboard-checklist-grid,
  .mini-summary-grid,
  .hero-side-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 767.98px){
  .dashboard-hero-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .feed-item-layout{
    flex-direction:column;
  }

  .dashboard-feed-avatar{
    width:2.75rem;
    height:2.75rem;
  }

  .dashboard-checklist-grid,
  .mini-summary-grid,
  .hero-side-grid{
    grid-template-columns:1fr;
  }
}

/* ---- Reference dashboard alignment pass ---- */
.dashboard-shell--reference{
  max-width:1440px;
  padding-top:.25rem;
  padding-bottom:2rem;
}

.panel-topbar .container-fluid,
.dashboard-shell--reference{
  padding-left:1.25rem;
  padding-right:1.25rem;
}

.panel-topbar{
  padding-top:.8rem;
  padding-bottom:1rem;
  margin-bottom:.2rem;
}

.dashboard-ref-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}

.dashboard-ref-kicker,
.dashboard-card-eyebrow{
  display:inline-block;
  color:#f59e0b;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.68rem;
  font-weight:700;
  margin-bottom:.45rem;
}

.dashboard-ref-heading h1{
  color:#fff;
  font-size:1.6rem;
  line-height:1.1;
  margin:0;
  font-weight:800;
}

.dashboard-ref-heading p{
  margin:.35rem 0 0;
  color:#9ca3af;
}

.dashboard-ref-sidebadge{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  border:1px solid rgba(245,158,11,.22);
  background:rgba(245,158,11,.08);
  color:#f8d389;
  border-radius:999px;
  padding:.55rem .9rem;
  white-space:nowrap;
  font-size:.8rem;
}

.badge-dot{
  width:.45rem;
  height:.45rem;
  border-radius:50%;
  background:#f59e0b;
  box-shadow:0 0 0 4px rgba(245,158,11,.12);
}

.dashboard-ref-panel,
.dashboard-ref-stat{
  background:linear-gradient(180deg, rgba(17,24,39,.96), rgba(15,23,42,.98));
  border-color:rgba(245,158,11,.14);
  box-shadow:0 16px 36px rgba(0,0,0,.32), inset 0 0 0 1px rgba(245,158,11,.04);
}

.dashboard-ref-stat .card-body{
  padding:1rem 1rem .9rem;
}

.dashboard-ref-stat-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.75rem;
}

.dashboard-ref-label{
  display:block;
  font-size:.7rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#9ca3af;
  margin-bottom:.45rem;
}

.dashboard-ref-value{
  color:#fff;
  font-size:1.55rem;
  font-weight:800;
  line-height:1;
}

.dashboard-ref-meta{
  margin-top:.6rem;
  color:#94a3b8;
  font-size:.82rem;
}

.dashboard-ref-icon{
  width:2.4rem;
  height:2.4rem;
  border-radius:.8rem;
  display:grid;
  place-items:center;
  color:#f59e0b;
  background:rgba(245,158,11,.12);
  border:1px solid rgba(245,158,11,.16);
  font-size:1.1rem;
}

.dashboard-ref-cardhead{
  padding:1rem 1rem .85rem;
  border-bottom:1px solid rgba(245,158,11,.12) !important;
}

.dashboard-overview-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:.9rem;
}

.dashboard-metric-box{
  border:1px solid rgba(245,158,11,.14);
  background:transparent;
  border-radius:1rem;
  padding:1rem;
}

.dashboard-metric-box--wide{
  grid-column:1 / -1;
}

.dashboard-metric-box span{
  display:block;
  color:#9ca3af;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.68rem;
  margin-bottom:.4rem;
}

.dashboard-metric-box strong{
  display:block;
  color:#fff;
  font-size:1.08rem;
  margin-bottom:.3rem;
}

.dashboard-metric-box small{
  display:block;
  color:#94a3b8;
  font-size:.82rem;
}

.dashboard-progress-block{
  margin-top:1rem;
  padding-top:1rem;
  border-top:1px solid rgba(245,158,11,.1);
}

.dashboard-launch-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:.9rem;
}

.dashboard-launch-card{
  border:1px solid rgba(245,158,11,.14);
  border-radius:1rem;
  padding:1rem;
  background:transparent;
  text-decoration:none;
  transition:all .18s ease;
}

.dashboard-launch-card:hover{
  transform:translateY(-1px);
  border-color:rgba(245,158,11,.25);
  background:rgba(245,158,11,.05);
}

.dashboard-launch-card strong{
  display:block;
  color:#fff;
  margin-top:.7rem;
  margin-bottom:.35rem;
}

.dashboard-launch-card small{
  display:block;
  color:#94a3b8;
}

.dashboard-launch-icon{
  width:2.3rem;
  height:2.3rem;
  border-radius:.8rem;
  display:grid;
  place-items:center;
  color:#f59e0b;
  border:1px solid rgba(245,158,11,.16);
  background:rgba(245,158,11,.09);
}

.dashboard-module-stack{
  display:grid;
  gap:.85rem;
}

.dashboard-module-row{
  border:1px solid rgba(245,158,11,.14);
  border-radius:1rem;
  padding:1rem;
  background:transparent;
}

.dashboard-module-title{
  color:#fff;
  font-size:1rem;
  font-weight:700;
  margin:0 0 .2rem;
}

.dashboard-module-count{
  border:1px solid rgba(245,158,11,.16);
  background:rgba(245,158,11,.08);
  color:#f4d08b;
  border-radius:999px;
  padding:.3rem .65rem;
  font-size:.74rem;
  white-space:nowrap;
}

.dashboard-module-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:.85rem;
}

.dashboard-checklist-grid--tight{
  gap:.65rem;
}

.dashboard-check-item{
  border:1px solid rgba(245,158,11,.1);
  background:transparent;
}

.dashboard-todo-list{
  display:grid;
  gap:.7rem;
}

.dashboard-todo-item{
  position:relative;
  padding-left:1.2rem;
  color:#d6deea;
}

.dashboard-todo-item span{
  position:absolute;
  left:0;
  top:.42rem;
  width:.45rem;
  height:.45rem;
  border-radius:50%;
  background:#f59e0b;
  box-shadow:0 0 0 4px rgba(245,158,11,.1);
}

.dashboard-ref-table thead th{
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#93a0b4;
}

.dashboard-ref-table tbody tr:hover{
  background:rgba(245,158,11,.035);
}

.dashboard-status-pill{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(34,197,94,.15);
  background:rgba(34,197,94,.1);
  color:#bef3c9;
  padding:.28rem .55rem;
  border-radius:999px;
  font-size:.72rem;
  font-weight:700;
}

.dashboard-feed-compact{
  display:grid;
  gap:.85rem;
}

.dashboard-feed-compact-item{
  border:1px solid rgba(245,158,11,.12);
  border-radius:1rem;
  background:transparent;
  padding:1rem;
}

.dashboard-feed-title{
  color:#fff;
  font-size:.95rem;
  font-weight:700;
}

.dashboard-feed-body--compact{
  max-height:180px;
  overflow:auto;
  color:#d6deea;
}

.dashboard-feed-body--compact p:last-child{
  margin-bottom:0;
}

.dashboard-feed-meta{
  color:#94a3b8;
  font-size:.8rem;
}

@media (max-width: 1199.98px){
  .dashboard-ref-header{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media (max-width: 767.98px){
  .dashboard-overview-grid,
  .dashboard-launch-grid{
    grid-template-columns:1fr;
  }

  .dashboard-shell--reference,
  .panel-topbar .container-fluid{
    padding-left:.9rem;
    padding-right:.9rem;
  }
}

/* Module Creator admin dropdown visibility fix */
.dropdown-menu,
.dropdown-menu-end,
.admin-dropdown-menu {
    min-width: 230px !important;
    max-height: 80vh !important;
    overflow-y: auto !important;
    z-index: 99999 !important;
}

.bc-module-creator-link {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    white-space: nowrap !important;
}


/* BB9 Phase 10.15 ghost widget shell cleanup */
/*
  Removes large phantom wrapper boxes while keeping real cards visible.
  The goal is the cleaner open background shown in the reference screenshot.
*/
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) .dashboard-widget-shell,
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) .dashboard-widget-wrap,
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) .dashboard-section-shell,
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) .dashboard-section-wrap,
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) .dashboard-row-shell,
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) .dashboard-panel-shell,
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) .dashboard-ref-shell,
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) .hud-shell,
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) .hud-panel-shell,
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) .nxt-ghost-shell {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
}

body[class*="nxt-theme-"]:not(.nxt-theme-disabled) .dashboard-ref-panel:not(.card),
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) .dashboard-ref-section:not(.card),
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) .dashboard-panel-status-card:not(.card) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Soften oversized widget container outlines, but keep individual cards intact */
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) .row > [class*="col"] > .border,
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) .row > [class*="col"] > [class*="border-"] {
  border-color: transparent !important;
}

/* Theme-safe card style: only real cards retain a subtle edge */
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) .card {
  border-color: color-mix(in srgb, var(--nxt-panel-accent,currentColor) 18%, rgba(255,255,255,.06)) !important;
}

/* Remove faint empty boxes created by dashed/upload wrappers unless actively used */
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) .dashboard-empty-shell,
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) .dashboard-placeholder-shell {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}


/* BB9 Phase 10.17 True Ghost Box Purge
   Removes phantom wrapper/shell frames while preserving actual cards.
*/

/* 1) Remove broad wrapper/shell/container visual frames */
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) :is(
  .dashboard-widget-shell,
  .dashboard-widget-wrap,
  .dashboard-section-shell,
  .dashboard-section-wrap,
  .dashboard-row-shell,
  .dashboard-panel-shell,
  .dashboard-ref-shell,
  .dashboard-ghost-shell,
  .dashboard-frame-shell,
  .dashboard-widget-frame,
  .dashboard-empty-shell,
  .dashboard-placeholder-shell,
  .hud-shell,
  .hud-panel-shell,
  .nxt-ghost-shell,
  .nxt-panel-shell,
  .nxt-content-shell,
  .nxt-section-shell,
  .nxt-widget-shell,
  .nxt-widget-wrapper,
  .nxt-widget-outer,
  .nxt-panel-block,
  .nxt-panel-section,
  .nxt-content-wrap,
  .nxt-content-wrapper,
  .module-shell,
  .module-wrapper,
  .module-container,
  .module-section,
  .module-box,
  .utility-shell,
  .utility-wrapper,
  .utility-module-panel,
  .utility-option5-toolbar,
  .utility-option5-hero,
  .tool-shell,
  .tool-wrapper,
  .api-shell,
  .api-wrapper
) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* 2) Prevent panel-wide theme layer from turning non-card wrappers into cards */
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) :is(
  .dashboard-ref-panel,
  .dashboard-ref-section,
  .dashboard-panel-status-card,
  .dashboard-widget-area,
  .dashboard-widget-region,
  .dashboard-grid-shell,
  .dashboard-grid-wrap,
  .hud-widget-area,
  .hud-grid-shell
):not(.card):not(.stat-card):not(.metric-card):not(.dashboard-ref-stat) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* 3) Remove giant row/column ghost borders only when they are not real cards */
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) .row > [class*="col"] > :is(
  .border,
  [class*="border-"],
  [class*="shell"],
  [class*="wrapper"],
  [class*="wrap"]
):not(.card):not(.stat-card):not(.metric-card) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* 4) Kill inset 1px shell illusion on wrappers, but not inputs/cards/buttons */
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) :is(
  [class*="shell"],
  [class*="wrapper"],
  [class*="widget-wrap"],
  [class*="section-wrap"],
  [class*="panel-wrap"],
  [class*="content-wrap"],
  [class*="outer"]
):not(.card):not(.btn):not(button):not(input):not(textarea):not(select):not(.form-control):not(.form-select) {
  box-shadow: none !important;
  outline: 0 !important;
}

/* 5) Preserve actual content cards with subtle theme-safe styling */
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) :is(
  .card,
  .stat-card,
  .metric-card,
  .dashboard-ref-stat,
  .quick-action-card,
  .shortcut-card,
  .tool-card,
  .utility-card,
  .nxt-api-row,
  .nxt-api-endpoint-item
) {
  border-color: color-mix(in srgb, var(--nxt-panel-accent,currentColor) 18%, rgba(255,255,255,.06)) !important;
}

/* 6) Remove extra outer glow from cards if nested inside ghost-prone wrappers */
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) :is(
  .dashboard-widget-shell,
  .dashboard-widget-wrap,
  .dashboard-section-shell,
  .dashboard-panel-shell,
  .hud-shell,
  .nxt-widget-wrapper,
  .nxt-panel-shell
) :is(.card, .stat-card, .metric-card, .dashboard-ref-stat) {
  box-shadow: 0 12px 28px rgba(0,0,0,.24) !important;
}

/* 7) Clean full-width decorative ghost panels like the screenshot reference */
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) :is(
  .dashboard-hero,
  .page-hero,
  .tool-hero,
  .utility-hero,
  .header-card
):not(.card) {
  border-color: transparent !important;
  box-shadow: none !important;
}

/* 8) Keep hero background ambience, but no rectangular outline */
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) :is(
  .dashboard-hero,
  .page-hero,
  .tool-hero,
  .utility-hero
):not(.card) {
  outline: 0 !important;
}

/* 9) Remove dashed ghost upload/placeholder outlines unless actively focused/dragging */
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) :is(
  .upload-dropzone,
  .dropzone,
  .dashboard-upload-shell,
  .dashboard-apk-shell
):not(:hover):not(:focus-within) {
  border-color: transparent !important;
  box-shadow: none !important;
}

/* 10) Final narrow cleanup for empty-looking wrappers */
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) div[class*="shell"]:empty,
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) div[class*="wrapper"]:empty,
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) div[class*="wrap"]:empty {
  display: none !important;
}


/* BB9 Phase 10.19 Fade Overlay Purge
   Removes ambient glass/fade overlays creating ghost rectangles.
*/

/* Disable glass pseudo overlays from Badger HUD theme and similar card overlays */
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) :is(
  .card,
  .module-card,
  .dashboard-ref-stat,
  .stat-card,
  .metric-card,
  .utility-card,
  .tool-card,
  .quick-action-card,
  .shortcut-card,
  .dashboard-card,
  .modal-content,
  .dropdown-menu,
  .alert
)::before,
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) :is(
  .card,
  .module-card,
  .dashboard-ref-stat,
  .stat-card,
  .metric-card,
  .utility-card,
  .tool-card,
  .quick-action-card,
  .shortcut-card,
  .dashboard-card,
  .modal-content,
  .dropdown-menu,
  .alert
)::after {
  content: none !important;
  display: none !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Remove large background wash layers from shells/wrappers */
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) :is(
  .dashboard-hero,
  .dashboard-widget-area,
  .dashboard-widget-region,
  .dashboard-grid-shell,
  .dashboard-grid-wrap,
  .dashboard-section-shell,
  .dashboard-section-wrap,
  .dashboard-panel-shell,
  .dashboard-ref-shell,
  .dashboard-frame-shell,
  .hud-shell,
  .hud-panel-shell,
  .nxt-panel-shell,
  .nxt-content-shell,
  .nxt-section-shell,
  .nxt-widget-shell,
  .nxt-widget-wrapper,
  .nxt-widget-outer,
  .module-shell,
  .module-wrapper,
  .utility-shell,
  .utility-wrapper,
  .tool-shell,
  .tool-wrapper,
  .page-hero,
  .tool-hero,
  .utility-hero,
  .header-card
):not(.card):not(.stat-card):not(.metric-card):not(.dashboard-ref-stat) {
  background-image: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border-color: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Keep real cards clean, not glassy/foggy */
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) :is(
  .card,
  .dashboard-ref-stat,
  .stat-card,
  .metric-card,
  .quick-action-card,
  .shortcut-card
) {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background-image: none !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.22) !important;
}

/* Kill absolute overlay washes inside dashboard widgets */
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) :is(
  .dashboard-apk-dropzone,
  .dashboard-widget,
  .dashboard-card,
  .dashboard-ref-stat,
  .stat-card,
  .metric-card,
  .card
) > :is(.overlay, .fade, .wash, .glow, .ambient, .backdrop, .ghost, .veil, .halo) {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Remove decorative absolute pseudo overlay blocks where they cause the ghost/fade rectangle */
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) :is(
  .dashboard-apk-dropzone,
  .dashboard-widget,
  .dashboard-card,
  .dashboard-ref-stat,
  .stat-card,
  .metric-card
)::before,
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) :is(
  .dashboard-apk-dropzone,
  .dashboard-widget,
  .dashboard-card,
  .dashboard-ref-stat,
  .stat-card,
  .metric-card
)::after {
  content: none !important;
  display: none !important;
}

/* Do not let full-width rows/sections paint a glass rectangle */
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) .row:has(> [class*="col"] > .card),
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) .row:has(> [class*="col"] > .dashboard-ref-stat) {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

/* Preserve button and form focus usability */
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) :is(.btn, button, input, textarea, select, .form-control, .form-select)::before,
body[class*="nxt-theme-"]:not(.nxt-theme-disabled) :is(.btn, button, input, textarea, select, .form-control, .form-select)::after {
  content: initial;
}

/* BB9 Phase 10.19.1 Overview Center cleanup */
@import url('nxt-dashboard-overview-cleanup.css');
