/* NEXGEN_ISSUE_345_FINAL_20260830 — approved all-black public theme */
:root{color-scheme:dark}
html,body,#app{background:#000!important}

body:not(.ng26-admin) main,
body:not(.ng26-admin) .mock-home,
body:not(.ng26-admin) .mock-usecases,
body:not(.ng26-admin) .mock-inventory,
body:not(.ng26-admin) .section,
body:not(.ng26-admin) .section-white,
body:not(.ng26-admin) .metric-wrap,
body:not(.ng26-admin) .detail-layout,
body:not(.ng26-admin) .finance-layout,
body:not(.ng26-admin) .intake-shell,
body:not(.ng26-admin) [class*="page-shell"]{
  background-color:#000!important;
  background-image:none!important;
  color:#fff!important;
}

body:not(.ng26-admin) .mock-use-card,
body:not(.ng26-admin) .mock-inventory-card,
body:not(.ng26-admin) .mock-inventory-card-body,
body:not(.ng26-admin) .metric,
body:not(.ng26-admin) .container-card,
body:not(.ng26-admin) .container-card-body,
body:not(.ng26-admin) .filter-bar,
body:not(.ng26-admin) .detail-media,
body:not(.ng26-admin) .detail-copy,
body:not(.ng26-admin) .summary-card,
body:not(.ng26-admin) .form-card,
body:not(.ng26-admin) .delivery-panel,
body:not(.ng26-admin) .intake-card,
body:not(.ng26-admin) .intake-success,
body:not(.ng26-admin) .choice,
body:not(.ng26-admin) .note,
body:not(.ng26-admin) .modal{
  background:#090909!important;
  background-image:none!important;
  border-color:#303030!important;
  color:#fff!important;
  box-shadow:0 18px 50px rgba(0,0,0,.5)!important;
}

body:not(.ng26-admin) :is(
  .mock-usecases,.mock-inventory,.mock-use-card,.mock-inventory-card,
  .mock-inventory-card-body,.metric,.container-card,.container-card-body,
  .filter-bar,.detail-media,.detail-copy,.summary-card,.form-card,
  .delivery-panel,.intake-card,.intake-success,.choice,.note,.modal
) :is(h1,h2,h3,h4,h5,h6,strong,b,label,legend){color:#fff!important}

body:not(.ng26-admin) :is(
  .mock-usecases,.mock-inventory,.mock-use-card,.mock-inventory-card,
  .mock-inventory-card-body,.metric,.container-card,.container-card-body,
  .filter-bar,.detail-media,.detail-copy,.summary-card,.form-card,
  .delivery-panel,.intake-card,.intake-success,.choice,.note,.modal
) :is(p,small,span:not(.tag):not(.status):not(.mock-badge),li){color:#b9c2cc!important}

body:not(.ng26-admin) .mock-inventory-card hr,
body:not(.ng26-admin) .summary-line{border-color:#303030!important}

body:not(.ng26-admin) :is(input,textarea,select,option){
  background:#111!important;
  color:#fff!important;
  border-color:#3b3b3b!important;
}
body:not(.ng26-admin) :is(input,textarea)::placeholder{color:#8e98a3!important;opacity:1}
body:not(.ng26-admin) :is(input,textarea,select):focus{
  border-color:#ff2d8f!important;
  box-shadow:0 0 0 3px rgba(255,45,143,.22)!important;
}
body:not(.ng26-admin) .btn-light{
  background:#111!important;
  color:#fff!important;
  border-color:#4a4a4a!important;
}
body:not(.ng26-admin) .mock-view-all{
  background:#111!important;
  color:#fff!important;
  border-color:#ff2d8f!important;
}
body:not(.ng26-admin) #quoteForm.form-grid,
body:not(.ng26-admin) #quoteForm .v5-mod-choice{
  background:#090909!important;
  background-image:none!important;
  color:#fff!important;
  border-color:#303030!important;
}
body:not(.ng26-admin) #quoteForm .v5-mod-choice :is(span,strong){color:#fff!important}
body:not(.ng26-admin) #quoteForm .v5-mod-choice:has(input:checked){
  background:#21121a!important;
  border-color:#ff2d8f!important;
}

/* Later rental/designer feature layers used their own pale specificity. */
html body:not(.ng26-admin) .v5-rental-showcase-grid,
html body.v5-rentals:not(.ng26-admin) .rental-detail-grid>article,
html body:not(.ng26-admin) #rentalForm.form-card.form-grid,
html body:not(.ng26-admin) .designer-tool,
html body.nexgen-v5.v5-designer:not(.ng26-admin) .designer-summary-card .installation-note,
html body:not(.ng26-admin) #designQuoteForm.form-card.form-grid{
  background:#090909!important;
  background-image:none!important;
  color:#fff!important;
  border-color:#303030!important;
  box-shadow:none!important;
}
html body:not(.ng26-admin) :is(
  .v5-rental-showcase-grid,.designer-tool,.installation-note,
  #rentalForm,#designQuoteForm
) :is(h1,h2,h3,h4,strong,b,label,legend,span){color:#fff!important}
html body:not(.ng26-admin) :is(
  .v5-rental-showcase-grid,.designer-tool,.installation-note,
  #rentalForm,#designQuoteForm
) :is(p,small,li){color:#b9c2cc!important}
html body:not(.ng26-admin) .designer-tool.active{
  background:#21121a!important;
  border-color:#ff2d8f!important;
}

body:not(.ng26-admin) .mock-inventory-card :is(.tag,.mock-pill),
body:not(.ng26-admin) .container-card .tag{
  background:#21121a!important;
  color:#ff8fc4!important;
  border-color:#5f2140!important;
}

/* Exactly one approved logo, centered by artwork box with no counter-offsets. */
#siteFooter,
#siteFooter .ng26-footer,
#siteFooter .ng26-footer-grid,
#siteFooter .ng26-footer-bottom{background:#000!important;background-image:none!important;overflow:visible!important}
#siteFooter .ng26-footer-grid>div:first-child,
#siteFooter .footer-grid>div:first-child{
  grid-column:1 / -1!important;
  justify-self:stretch!important;
  width:100%!important;
  padding-left:0!important;
  padding-right:0!important;
  margin-left:0!important;
  margin-right:0!important;
  transform:none!important;
  rotate:0deg!important;
}
html body:not(.ng26-admin) #siteFooter img.ng26-footer-logo[data-nexgen-footer-keeper="1"]{
  display:block!important;
  width:min(100%,240px)!important;
  max-width:240px!important;
  height:auto!important;
  margin-left:auto!important;
  margin-right:auto!important;
  object-fit:contain!important;
  object-position:50% 50%!important;
  transform:none!important;
  translate:none!important;
  rotate:0deg!important;
  inset:auto!important;
}

/* Notification delivery is visible and actionable in the authenticated admin. */
.notification-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.notification-sent{background:#dff8ec;color:#08764d}
.notification-pending,.notification-processing,.notification-retry{background:#fff0d0;color:#8a5900}
.notification-failed,.notification-missing{background:#ffe2e8;color:#a51f3d}
.notification-detail{margin:18px 0;padding:18px;border:1px solid #d9e2eb;border-radius:16px;background:#f7fafc;color:#132033}
.notification-detail h3{margin:0 0 10px}

@media(max-width:768px){
  #siteFooter .ng26-footer{
    padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;
  }
  #siteFooter .ng26-footer-grid>div:first-child,
  #siteFooter .footer-grid>div:first-child{
    width:100%!important;
    min-width:0!important;
  }
  html body:not(.ng26-admin) #siteFooter img.ng26-footer-logo[data-nexgen-footer-keeper="1"]{
    width:min(76vw,240px)!important;
    max-height:none!important;
  }
}
