
/* ACS OPS UI V15 — icons only bottom nav, readable banners, remove floating backup */

:root{
  --acs-red:#c8191f;
  --acs-red-dark:#991b1f;
  --acs-ink:#07111f;
  --acs-muted:#4b5563;
  --acs-line:rgba(15,23,42,.12);
}

/* Remove the floating backup button completely */
.admin-backup-download-btn{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* Keep the normal dashboard backup button clean */
.dashboard-backup-btn,
a[href="/admin/download-backup"]:not(.admin-backup-download-btn){
  background:linear-gradient(135deg,var(--acs-red),var(--acs-red-dark)) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 14px 28px rgba(200,25,31,.22) !important;
}

/* Fix washed-out app banners/heroes */
body:not(.billing-page) .page-hero,
body:not(.billing-page) .admin-hero,
body:not(.billing-page) .dashboard-hero,
body:not(.billing-page) .hero-card,
body:not(.billing-page) .hero-panel,
body:not(.billing-page) .content-hero,
body:not(.billing-page) .app-hero,
body:not(.billing-page) [class*="hero"],
body:not(.billing-page) [class*="Hero"]{
  background:
    linear-gradient(135deg, #ffffff 0%, #ffffff 58%, #f9d0d2 100%) !important;
  color:var(--acs-ink) !important;
  border:1px solid var(--acs-line) !important;
  box-shadow:0 18px 44px rgba(15,23,42,.14) !important;
}

body:not(.billing-page) .page-hero h1,
body:not(.billing-page) .admin-hero h1,
body:not(.billing-page) .dashboard-hero h1,
body:not(.billing-page) .hero-card h1,
body:not(.billing-page) .hero-panel h1,
body:not(.billing-page) .content-hero h1,
body:not(.billing-page) .app-hero h1,
body:not(.billing-page) [class*="hero"] h1,
body:not(.billing-page) [class*="Hero"] h1{
  color:var(--acs-ink) !important;
  -webkit-text-fill-color:var(--acs-ink) !important;
  text-shadow:none !important;
  opacity:1 !important;
}

body:not(.billing-page) .page-hero p,
body:not(.billing-page) .admin-hero p,
body:not(.billing-page) .dashboard-hero p,
body:not(.billing-page) .hero-card p,
body:not(.billing-page) .hero-panel p,
body:not(.billing-page) .content-hero p,
body:not(.billing-page) .app-hero p,
body:not(.billing-page) [class*="hero"] p,
body:not(.billing-page) [class*="Hero"] p{
  color:var(--acs-muted) !important;
  opacity:1 !important;
}

/* Red action boxes/buttons in banners */
body:not(.billing-page) [class*="hero"] .btn,
body:not(.billing-page) [class*="Hero"] .btn,
body:not(.billing-page) .page-hero .btn,
body:not(.billing-page) .admin-hero .btn,
body:not(.billing-page) .dashboard-hero .btn,
body:not(.billing-page) .hero-card .btn,
body:not(.billing-page) .hero-panel .btn,
body:not(.billing-page) .content-hero .btn,
body:not(.billing-page) .app-hero .btn{
  background:linear-gradient(135deg,var(--acs-red),var(--acs-red-dark)) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 14px 30px rgba(200,25,31,.22) !important;
}

body:not(.billing-page) [class*="hero"] .btn-secondary,
body:not(.billing-page) [class*="Hero"] .btn-secondary,
body:not(.billing-page) .page-hero .btn-secondary,
body:not(.billing-page) .admin-hero .btn-secondary,
body:not(.billing-page) .dashboard-hero .btn-secondary{
  background:#fff !important;
  color:var(--acs-ink) !important;
  border:1px solid var(--acs-line) !important;
}

/* ============================================================
   Bottom nav: icons only, no text, no old gray label bubble
   ============================================================ */

body{
  padding-bottom:84px !important;
}

.bottombar,
.acs-bottom-nav,
.billing-bottom-tabs{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  z-index:99999 !important;
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:8px !important;
  padding:9px 12px calc(9px + env(safe-area-inset-bottom)) !important;
  background:rgba(16,18,24,.98) !important;
  border-top:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 -18px 40px rgba(0,0,0,.32) !important;
  backdrop-filter:blur(16px) !important;
}

/* Hide all text/old bubbles inside nav links */
.bottombar .navitem,
.acs-bottom-nav .navitem,
.billing-bottom-tabs a{
  height:50px !important;
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  color:#e5e7eb !important;
  text-decoration:none !important;
  overflow:hidden !important;
  font-size:0 !important;
  line-height:0 !important;
}

.bottombar .navitem *,
.acs-bottom-nav .navitem *,
.billing-bottom-tabs a *{
  display:none !important;
}

.bottombar .navitem::after,
.acs-bottom-nav .navitem::after,
.billing-bottom-tabs a::after{
  content:none !important;
  display:none !important;
}

/* Icon bubble */
.bottombar .navitem::before,
.acs-bottom-nav .navitem::before,
.billing-bottom-tabs a::before{
  width:34px !important;
  height:34px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(255,255,255,.09) !important;
  color:#f8fafc !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:950 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* Icons by route */
.bottombar .navitem[href="/admin"]::before,
.acs-bottom-nav .navitem[href="/admin"]::before,
.billing-bottom-tabs a[href="/admin"]::before,
.bottombar .navitem[href="/app"]::before,
.acs-bottom-nav .navitem[href="/app"]::before{
  content:"⌂" !important;
}

.bottombar .navitem[href*="/jobs"]::before,
.acs-bottom-nav .navitem[href*="/jobs"]::before,
.billing-bottom-tabs a[href*="/jobs"]::before{
  content:"▣" !important;
}

.bottombar .navitem[href*="/calendar"]::before,
.acs-bottom-nav .navitem[href*="/calendar"]::before,
.billing-bottom-tabs a[href*="/calendar"]::before{
  content:"◴" !important;
}

.bottombar .navitem[href*="/payroll"]::before,
.acs-bottom-nav .navitem[href*="/payroll"]::before,
.billing-bottom-tabs a[href*="/payroll"]::before{
  content:"$" !important;
}

.bottombar .navitem[href*="/receipts"]::before,
.acs-bottom-nav .navitem[href*="/receipts"]::before,
.billing-bottom-tabs a[href*="/receipts"]::before{
  content:"▤" !important;
}

/* Active tab */
.bottombar .navitem.active,
.acs-bottom-nav .navitem.active,
.billing-bottom-tabs a.active{
  background:linear-gradient(135deg,var(--acs-red),var(--acs-red-dark)) !important;
  border-color:rgba(255,255,255,.18) !important;
  box-shadow:0 12px 28px rgba(200,25,31,.28) !important;
}

.bottombar .navitem.active::before,
.acs-bottom-nav .navitem.active::before,
.billing-bottom-tabs a.active::before{
  background:rgba(255,255,255,.16) !important;
  color:#fff !important;
}

/* Desktop centered icons */
@media(min-width:900px){
  .bottombar,
  .acs-bottom-nav,
  .billing-bottom-tabs{
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .bottombar .navitem,
  .acs-bottom-nav .navitem,
  .billing-bottom-tabs a{
    height:52px !important;
  }
}

/* Phone compact */
@media(max-width:760px){
  body{
    padding-bottom:76px !important;
  }

  .bottombar,
  .acs-bottom-nav,
  .billing-bottom-tabs{
    gap:5px !important;
    padding-left:6px !important;
    padding-right:6px !important;
  }

  .bottombar .navitem,
  .acs-bottom-nav .navitem,
  .billing-bottom-tabs a{
    height:44px !important;
    border-radius:14px !important;
  }

  .bottombar .navitem::before,
  .acs-bottom-nav .navitem::before,
  .billing-bottom-tabs a::before{
    width:30px !important;
    height:30px !important;
    font-size:16px !important;
  }
}

@media(print){
  .bottombar,
  .acs-bottom-nav,
  .billing-bottom-tabs,
  .admin-backup-download-btn{
    display:none !important;
  }

  body{
    padding-bottom:0 !important;
  }
}
