/* ACS OPS UI READABILITY V15
   Fixes washed-out white text on internal app hero/banner sections.
   Keeps billing dark hero readable and keeps bottom nav icon-only.
*/

:root{
  --acs-ink:#07111f;
  --acs-muted:#435166;
  --acs-red:#c81920;
  --acs-red-dark:#991b1f;
  --acs-panel:#ffffff;
  --acs-border:rgba(7,17,31,.12);
}

/* Main internal app readable text defaults */
body{
  color:var(--acs-ink) !important;
}

main,
.app-main,
.page-wrap,
.page-shell,
.content,
.container,
.card,
.panel,
.stat-card,
.form-card{
  color:var(--acs-ink) !important;
}

/* Force all light/red hero banners to readable black text */
.app-hero,
.owner-hero,
.dashboard-hero,
.command-hero,
.page-hero,
.page-hero-card,
.hero-card,
.hero-panel,
.hero-banner,
.hero-shell,
.hero-wrap,
.v12-hero,
.ui-hero,
.jobs-hero,
.job-hero,
.payroll-hero,
.receipts-hero,
.receipt-hero,
.calendar-hero,
.profit-hero,
.budget-hero,
.employee-hero,
.staff-hero,
.admin-hero,
.section-hero,
.top-card,
.title-card,
.header-card,
.command-card{
  color:var(--acs-ink) !important;
  text-shadow:none !important;
}

/* Everything inside those banners should be readable too */
.app-hero *,
.owner-hero *,
.dashboard-hero *,
.command-hero *,
.page-hero *,
.page-hero-card *,
.hero-card *,
.hero-panel *,
.hero-banner *,
.hero-shell *,
.hero-wrap *,
.v12-hero *,
.ui-hero *,
.jobs-hero *,
.job-hero *,
.payroll-hero *,
.receipts-hero *,
.receipt-hero *,
.calendar-hero *,
.profit-hero *,
.budget-hero *,
.employee-hero *,
.staff-hero *,
.admin-hero *,
.section-hero *,
.top-card *,
.title-card *,
.header-card *,
.command-card *{
  color:var(--acs-ink) !important;
  text-shadow:none !important;
  opacity:1 !important;
}

/* Big page titles that were white/washed out */
h1,
.page-title,
.hero-title,
.command-title,
.dashboard-title,
.payroll-title,
.receipts-title,
.calendar-title,
.jobs-title,
.profit-title,
.budget-title{
  color:var(--acs-ink) !important;
  text-shadow:none !important;
  opacity:1 !important;
}

/* Eyebrow/kicker labels stay red, not white */
.eyebrow,
.kicker,
.hero-kicker,
.section-kicker,
.page-kicker,
.owner-label,
.page-label,
.mini-label{
  color:var(--acs-red-dark) !important;
  text-shadow:none !important;
  opacity:1 !important;
  letter-spacing:.12em;
}

/* Paragraph/subtitle text in banners */
.hero-subtitle,
.page-subtitle,
.dashboard-subtitle,
.command-subtitle,
.lead,
.muted,
.text-muted,
small{
  color:var(--acs-muted) !important;
  text-shadow:none !important;
  opacity:1 !important;
}

/* Make red gradient banners less washed out while keeping the premium look */
.app-hero,
.owner-hero,
.dashboard-hero,
.command-hero,
.page-hero-card,
.hero-card,
.hero-panel,
.hero-banner,
.v12-hero,
.ui-hero,
.jobs-hero,
.payroll-hero,
.receipts-hero,
.calendar-hero,
.profit-hero,
.budget-hero,
.employee-hero,
.staff-hero,
.admin-hero,
.section-hero,
.top-card,
.title-card,
.header-card,
.command-card{
  background:
    radial-gradient(circle at 78% 25%, rgba(220,38,38,.32), transparent 36%),
    linear-gradient(135deg, #ffffff 0%, #f8fafc 48%, #fee2e2 100%) !important;
  border:1px solid rgba(7,17,31,.10) !important;
}

/* Buttons should keep strong readable colors */
.btn,
.button,
a.btn,
button,
input[type="submit"]{
  text-shadow:none !important;
}

.btn-danger,
.btn-primary,
.button-primary,
button.primary,
input[type="submit"],
.hero-actions .btn:first-child{
  background:linear-gradient(135deg, #ef2329, #a90f15) !important;
  color:#fff !important;
  border-color:rgba(120,0,0,.20) !important;
}

.btn-danger *,
.btn-primary *,
.button-primary *,
button.primary *,
input[type="submit"] *{
  color:#fff !important;
}

/* White/secondary buttons */
.btn-light,
.btn-secondary,
.button-secondary,
.hero-actions .btn:not(:first-child),
a[href*="backup"],
a[href*="profit"],
a[href*="jobs"]{
  color:var(--acs-ink) !important;
  text-shadow:none !important;
}

/* Billing snapshot dark hero stays dark and readable */
.billing-hero,
.billing-header,
.billing-snapshot-hero{
  background:
    radial-gradient(circle at 88% 20%, rgba(200,25,32,.35), transparent 38%),
    linear-gradient(135deg, #07111f 0%, #111827 62%, #3a0b13 100%) !important;
}

.billing-hero *,
.billing-header *,
.billing-snapshot-hero *{
  color:#ffffff !important;
  text-shadow:none !important;
  opacity:1 !important;
}

.billing-hero .btn,
.billing-header .btn,
.billing-snapshot-hero .btn{
  color:var(--acs-ink) !important;
  background:#ffffff !important;
}

/* Bottom nav: icon-only, no ghost/double text */
.bottom-tabs,
.bottom-nav,
.mobile-tabs,
.mobile-bottom-nav{
  background:rgba(12,15,22,.96) !important;
  border-top:1px solid rgba(255,255,255,.10) !important;
}

.bottom-tabs a,
.bottom-nav a,
.mobile-tabs a,
.mobile-bottom-nav a,
.bottom-tabs .tab,
.bottom-nav .tab,
.mobile-tabs .tab,
.mobile-bottom-nav .tab{
  color:transparent !important;
  font-size:0 !important;
  text-shadow:none !important;
  overflow:hidden !important;
}

.bottom-tabs a::before,
.bottom-nav a::before,
.mobile-tabs a::before,
.mobile-bottom-nav a::before,
.bottom-tabs svg,
.bottom-nav svg,
.mobile-tabs svg,
.mobile-bottom-nav svg,
.bottom-tabs i,
.bottom-nav i,
.mobile-tabs i,
.mobile-bottom-nav i,
.bottom-tabs .icon,
.bottom-nav .icon,
.mobile-tabs .icon,
.mobile-bottom-nav .icon{
  color:#f8fafc !important;
  font-size:16px !important;
  opacity:1 !important;
  text-shadow:none !important;
}

.bottom-tabs a.active,
.bottom-nav a.active,
.mobile-tabs a.active,
.mobile-bottom-nav a.active,
.bottom-tabs .active,
.bottom-nav .active,
.mobile-tabs .active,
.mobile-bottom-nav .active{
  background:linear-gradient(135deg, #ef2329, #a90f15) !important;
}

/* Hide any accidental floating duplicate backup button */
body > a[href*="backup"],
body > .download-backup,
body > .floating-backup,
body > .backup-float,
body > .backup-download-floating,
.fixed-backup,
.floating-download-backup{
  display:none !important;
}

/* Form readability */
label,
.form-label,
.card-title,
.stat-label,
.table th{
  color:var(--acs-ink) !important;
  opacity:1 !important;
}

input,
select,
textarea{
  color:var(--acs-ink) !important;
  background:#fff !important;
  border-color:rgba(7,17,31,.16) !important;
}

input::placeholder,
textarea::placeholder{
  color:#6b7280 !important;
  opacity:1 !important;
}
