
/* ACS OPS UI V14 — clean bottom nav, readable hero text, dashboard backup button */

:root{
  --acs-red:#c8191f;
  --acs-red-dark:#991b1f;
  --acs-ink:#08111f;
  --acs-muted:#536071;
  --acs-card:#ffffff;
}

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

/* Fix washed out hero/banner titles on admin, payroll, receipts, jobs */
body:not(.billing-page) [class*="hero"],
body:not(.billing-page) [class*="Hero"],
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{
  background:
    linear-gradient(135deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.95) 58%, rgba(200,25,31,.20) 100%) !important;
  color:var(--acs-ink) !important;
  border:1px solid rgba(15,23,42,.10) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.13) !important;
}

body:not(.billing-page) [class*="hero"] h1,
body:not(.billing-page) [class*="Hero"] h1,
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) [class*="hero"] .title,
body:not(.billing-page) [class*="Hero"] .title{
  color:var(--acs-ink) !important;
  -webkit-text-fill-color:var(--acs-ink) !important;
  opacity:1 !important;
  text-shadow:none !important;
}

body:not(.billing-page) [class*="hero"] p,
body:not(.billing-page) [class*="Hero"] p,
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{
  color:var(--acs-muted) !important;
  opacity:1 !important;
}

/* Top bar buttons readable */
.topbar a:not(.brand):not(.brand-link),
.topbar .btn,
.topbar button{
  color:#08111f !important;
  background:#ffffff !important;
  border:1px solid rgba(255,255,255,.22) !important;
  text-shadow:none !important;
}

.topbar a[href*="logout"],
.topbar a[href*="logout"] *{
  background:linear-gradient(135deg,var(--acs-red),var(--acs-red-dark)) !important;
  color:#fff !important;
}

/* One clean bottom nav: NO icons, NO duplicate text, NO ellipsis */
.bottombar,
.acs-bottom-nav{
  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 10px calc(9px + env(safe-area-inset-bottom)) !important;
  background:rgba(16,18,24,.97) !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;
}

.bottombar .navitem,
.acs-bottom-nav .navitem{
  height:48px !important;
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-direction:row !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.075) !important;
  color:#e5e7eb !important;
  text-decoration:none !important;
  font-size:0 !important;
  font-weight:950 !important;
  overflow:hidden !important;
}

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

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

.bottombar .nav-ico,
.acs-bottom-nav .nav-ico,
.bottombar .tab-ico,
.acs-bottom-nav .tab-ico{
  display:none !important;
}

.bottombar .nav-label,
.acs-bottom-nav .nav-label{
  display:block !important;
  width:auto !important;
  max-width:none !important;
  color:inherit !important;
  font-size:13px !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

/* Billing bottom tabs also clean */
.billing-bottom-tabs a{
  font-size:0 !important;
}

.billing-bottom-tabs a::before,
.billing-bottom-tabs a::after{
  content:none !important;
  display:none !important;
}

.billing-bottom-tabs .tab-ico{
  display:none !important;
}

.billing-bottom-tabs .tab-label{
  display:block !important;
  width:auto !important;
  max-width:none !important;
  font-size:12px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

/* Dashboard backup button */
.admin-backup-download-btn{
  position:fixed !important;
  right:20px !important;
  top:128px !important;
  z-index:99998 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:44px !important;
  padding:0 18px !important;
  border-radius:16px !important;
  background:linear-gradient(135deg,var(--acs-red),var(--acs-red-dark)) !important;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:950 !important;
  box-shadow:0 16px 34px rgba(200,25,31,.28) !important;
  border:1px solid rgba(255,255,255,.20) !important;
}

.dashboard-backup-btn{
  background:linear-gradient(135deg,var(--acs-red),var(--acs-red-dark)) !important;
  color:#fff !important;
  border:0 !important;
}

/* Desktop: keep nav nice and not huge */
@media(min-width:900px){
  .bottombar,
  .acs-bottom-nav{
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .bottombar .navitem,
  .acs-bottom-nav .navitem{
    height:50px !important;
  }

  .bottombar .nav-label,
  .acs-bottom-nav .nav-label{
    font-size:14px !important;
  }
}

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

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

  .bottombar .navitem,
  .acs-bottom-nav .navitem{
    height:44px !important;
    border-radius:13px !important;
  }

  .bottombar .nav-label,
  .acs-bottom-nav .nav-label{
    font-size:10.5px !important;
  }

  .billing-bottom-tabs .tab-label{
    font-size:9.5px !important;
  }

  .admin-backup-download-btn{
    top:104px !important;
    right:10px !important;
    min-height:38px !important;
    padding:0 12px !important;
    font-size:12px !important;
    border-radius:13px !important;
  }
}

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

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