/* NexusOS v33 - site/clientarea readability fix
   Fixes white-on-white / low contrast areas across the public theme and client area. */
:root{
  --nx-bg:#060b18;
  --nx-bg-2:#0b1020;
  --nx-card:#111a2f;
  --nx-card-2:#16213a;
  --nx-border:rgba(117,139,255,.24);
  --nx-text:#f8fbff;
  --nx-muted:#a9bbd8;
  --nx-soft:#dce8ff;
  --nx-primary:#6865ff;
  --nx-secondary:#8b5cf6;
  --nx-accent:#21d4ff;
  --nx-success:#22c55e;
  --nx-danger:#ff4d6d;
}

/* Base text contrast */
body,
.bg-colorstyle,
.wrapper,
.main-body,
.page-wrapper,
.main-content,
.inner-content{
  background-color:var(--nx-bg)!important;
  color:var(--nx-text)!important;
}

body .text-muted,
body small,
body .small,
body .help-block,
body .field-help-text,
body .description,
body .card-subtitle,
body .breadcrumb,
body .breadcrumb *{
  color:var(--nx-muted)!important;
}

body h1, body h2, body h3, body h4, body h5, body h6,
body label,
body .control-label,
body .form-label,
body .panel-title,
body .card-title,
body .section-title,
body strong{
  color:var(--nx-text)!important;
}

/* Breadcrumb / top white strips */
.breadcrumb,
.breadcrumb-nav,
.breadcrumb-container,
.breadcrumb-area,
.breadcrumb-section,
ol.breadcrumb,
.main-content > .breadcrumb,
.clientarea-breadcrumb,
.whmcs-breadcrumb,
.page-header,
.header-lined,
.page-heading,
.page-title,
#main-body .breadcrumb{
  background:rgba(12,18,35,.96)!important;
  border:1px solid var(--nx-border)!important;
  color:var(--nx-muted)!important;
  box-shadow:0 16px 40px rgba(0,0,0,.25)!important;
}
.breadcrumb a,
.breadcrumb-nav a,
.header-lined a,
.page-header a{
  color:#7fb3ff!important;
}

/* Panels/cards/tables/client sidebar */
.panel,
.card,
.tile,
.tiles .tile,
.clientarea-panel,
.clientarea-sidebar .panel,
.sidebar .panel,
.list-group,
.list-group-item,
.well,
.box,
.content-box,
.domain-checker-container,
.logincontainer,
.popover,
.dropdown-menu,
.modal-content{
  background:linear-gradient(180deg,rgba(17,26,47,.98),rgba(9,14,29,.98))!important;
  border:1px solid var(--nx-border)!important;
  color:var(--nx-text)!important;
  box-shadow:0 18px 45px rgba(0,0,0,.35)!important;
}

.panel-heading,
.card-header,
.modal-header,
.popover-title,
.popover-header,
.list-group-item-heading{
  background:rgba(18,28,52,.98)!important;
  border-color:var(--nx-border)!important;
  color:var(--nx-text)!important;
}
.panel-body,
.card-body,
.modal-body,
.popover-content,
.popover-body,
.list-group-item-text{
  color:var(--nx-soft)!important;
}

/* WHMCS client details popover/right flyout shown in screenshot */
.popover,
.popover *:not(.btn):not(.fa):not(i),
.clientarea-sidebar,
.clientarea-sidebar *,
.account-details,
.account-details *,
.user-details,
.user-details *,
#accountNotifications,
#accountNotifications *{
  color:var(--nx-text)!important;
}
.popover .text-muted,
.clientarea-sidebar .text-muted,
.account-details .text-muted,
.user-details .text-muted{
  color:var(--nx-muted)!important;
}
.popover a,
.clientarea-sidebar a,
.account-details a,
.user-details a{
  color:#7fb3ff!important;
}
.popover .btn,
.clientarea-sidebar .btn,
.account-details .btn,
.user-details .btn{
  color:#fff!important;
}

/* Tables */
table,
.table{
  color:var(--nx-text)!important;
  background:transparent!important;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tbody > tr > td,
.table > tfoot > tr > td,
.table > tfoot > tr > th{
  background:rgba(17,26,47,.82)!important;
  color:var(--nx-soft)!important;
  border-color:rgba(117,139,255,.16)!important;
}
.table-striped > tbody > tr:nth-of-type(odd) > *,
.table-striped > tbody > tr:nth-of-type(odd){
  background:rgba(22,33,58,.72)!important;
}
.table-hover > tbody > tr:hover > *,
.table-hover > tbody > tr:hover{
  background:rgba(104,101,255,.16)!important;
}

/* Forms */
input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="search"],input[type="tel"],input[type="url"],
select,textarea,.form-control,.input-group-addon,.input-group-text{
  background:#071023!important;
  color:var(--nx-text)!important;
  border:1px solid rgba(117,139,255,.32)!important;
  box-shadow:none!important;
}
input::placeholder,textarea::placeholder,.form-control::placeholder{
  color:#7f91b7!important;
  opacity:1!important;
}
select option{
  background:#071023!important;
  color:var(--nx-text)!important;
}

/* Buttons and links */
a{ color:#7fb3ff; }
a:hover{ color:#b8c7ff; }
.btn:not(.btn-danger):not(.btn-success):not(.btn-warning),
button:not(.close):not(.btn-danger):not(.btn-success):not(.btn-warning){
  border-color:rgba(117,139,255,.35)!important;
}
.btn-default,.btn-secondary,.btn-light{
  background:rgba(18,28,52,.95)!important;
  color:var(--nx-text)!important;
}
.btn-primary,
.btn-info,
.nx-btn,
.nexusos-btn{
  background:linear-gradient(135deg,var(--nx-primary),var(--nx-secondary))!important;
  border-color:transparent!important;
  color:#fff!important;
}
.btn-success{ background:#16854a!important; color:#fff!important; border-color:#22c55e!important; }
.btn-warning{ background:#8b5cf6!important; color:#fff!important; border-color:#a78bfa!important; }
.btn-danger{ background:#d9365a!important; color:#fff!important; border-color:#ff4d6d!important; }

/* Alerts */
.alert,
.alert *:not(.btn):not(a){ color:var(--nx-text)!important; }
.alert-success{ background:rgba(14,79,48,.92)!important; border-color:rgba(34,197,94,.45)!important; }
.alert-info{ background:rgba(12,57,89,.92)!important; border-color:rgba(33,212,255,.45)!important; }
.alert-warning{ background:rgba(82,54,14,.92)!important; border-color:rgba(168,85,247,.45)!important; }
.alert-danger{ background:rgba(91,20,38,.92)!important; border-color:rgba(255,77,109,.45)!important; }
.alert a{ color:#dbeafe!important; text-decoration:underline; }

/* Badges / labels */
.label,.badge{ color:#fff!important; }
.label-warning,.badge-warning,.bg-warning,.text-warning{
  background:rgba(139,92,246,.22)!important;
  color:#d8c8ff!important;
  border-color:rgba(139,92,246,.45)!important;
}

/* Clientarea standalone dashboard protection */
.nx-client-shell,
.nx-client-card,
.nx-client-block,
.nx-client-toolbar,
.nx-client-panel{
  background:linear-gradient(180deg,rgba(17,26,47,.95),rgba(9,14,29,.95))!important;
  border-color:var(--nx-border)!important;
  color:var(--nx-text)!important;
}
.nx-client-shell *,
.nx-client-card *,
.nx-client-block *,
.nx-client-panel *{
  color:inherit;
}
.nx-client-muted,.nx-client-card p,.nx-client-block p{
  color:var(--nx-muted)!important;
}

/* White dropdown/popover correction for account menu */
.dropdown-menu,
.dropdown-menu > li > a,
.dropdown-menu .dropdown-item{
  background:#0b1020!important;
  color:var(--nx-text)!important;
}
.dropdown-menu > li > a:hover,
.dropdown-menu .dropdown-item:hover{
  background:rgba(104,101,255,.18)!important;
  color:#fff!important;
}

/* Prevent legacy Antler white boxes from leaking into NexusOS pages */
.bg-white,
.white-bg,
.light-bg,
.section-white,
.body-borders .bg-white{
  background:transparent!important;
}

/* Keep actual invoice/pdf pages readable if rendered in browser */
body.invoice-page,
.invoice-container{
  background:#fff!important;
  color:#111827!important;
}
.invoice-container *{ color:inherit; }

/* NexusOS V38 - site/orderform/menu spacing and white leak cleanup */
body, .bg-colorstyle, .box-container, .content.bg-colorstyle { background:#050a16!important; color:#eaf2ff!important; }
.header + .wrapper.sec-normal, .wrapper.sec-normal { padding-top:0!important; margin-top:0!important; }
.page-wrapper, .main-body, .main-content, .inner-content { background:transparent!important; }
#main-body > .container, section#main-body > .container { padding-top:0!important; }
body .nx-hero-slider{ margin-top:0!important; padding-top:26px!important; }
body .nx-home-section:first-child{ margin-top:0!important; }
.nx-header{ z-index:999!important; }
.nx-header[data-nx-menu-mode="static"]{ position:relative!important; top:auto!important; }
.nx-header[data-nx-menu-mode="sticky"]{ position:sticky!important; top:0!important; }
.nx-header[data-nx-menu-mode="smart"]{ position:sticky!important; top:0!important; transition:transform .25s ease, background .25s ease!important; }
.nx-header.nx-smart-hidden{ transform:translateY(-100%)!important; }

.nx-dynamic-menu .has-child{ position:relative; }
.nx-dynamic-menu .nx-submenu{ display:none; position:absolute; top:100%; left:0; min-width:235px; padding:10px; margin:0; list-style:none; background:rgba(7,13,27,.98); border:1px solid rgba(118,149,255,.24); border-radius:18px; box-shadow:0 22px 70px rgba(0,0,0,.45); z-index:1002; }
.nx-dynamic-menu .has-child:hover>.nx-submenu, .nx-dynamic-menu .has-child.is-open>.nx-submenu{ display:block; }
.nx-dynamic-menu .nx-submenu li a{ display:flex!important; align-items:center; gap:8px; padding:10px 12px!important; color:#dbe8ff!important; border-radius:12px; white-space:nowrap; }
.nx-dynamic-menu .nx-submenu li a:hover{ background:linear-gradient(135deg,rgba(36,124,255,.20),rgba(135,72,255,.18)); color:#fff!important; }
.nx-child-arrow{ font-size:10px; opacity:.8; margin-left:4px; }
@media(max-width:991px){ .nx-menu{ display:none; } .nx-menu.is-open{ display:block!important; position:absolute; top:100%; left:16px; right:16px; background:rgba(7,13,27,.98); border:1px solid rgba(118,149,255,.24); border-radius:18px; padding:12px; z-index:1001;} .nx-dynamic-menu .nx-submenu{ position:static; box-shadow:none; margin-top:8px; } }

/* Domain pricing / renewal / store pages table readability */
.domain-pricing, .tld-pricing, .domain-pricing-table, .pricing-table, .renewals-table, .domain-renewals,
.table-container, .table-responsive, .dataTables_wrapper, .listtable, table.table, .table{ background:transparent!important; color:#eaf2ff!important; }
.domain-pricing table, .tld-pricing table, table.table, .table{ border-color:rgba(118,149,255,.20)!important; }
table.table thead th, .table>thead>tr>th, .domain-pricing th, .tld-pricing th{ background:linear-gradient(135deg,rgba(36,124,255,.22),rgba(135,72,255,.18))!important; color:#fff!important; border-color:rgba(118,149,255,.20)!important; font-weight:900!important; }
table.table tbody tr, .table>tbody>tr, .domain-pricing tr, .tld-pricing tr{ background:rgba(7,13,27,.90)!important; color:#eaf2ff!important; }
table.table tbody tr:nth-child(even), .table>tbody>tr:nth-child(even), .domain-pricing tr:nth-child(even), .tld-pricing tr:nth-child(even){ background:rgba(15,25,49,.92)!important; }
table.table td, .table>tbody>tr>td, .domain-pricing td, .tld-pricing td{ color:#eaf2ff!important; border-color:rgba(118,149,255,.16)!important; }
.table a, .domain-pricing a, .tld-pricing a{ color:#85a8ff!important; font-weight:800!important; }
.label, .badge, .nav-pills>li>a, .domain-pricing .label{ color:#fff!important; }

/* Store / Site Builder / MarketConnect white boxes */
.store-content, .landing-page, .sitebuilder, .marketconnect, .mc-promo, .product-details, .product-options,
.store-content .panel, .landing-page .panel, .landing-page .content-block, .store-content .well,
.landing-page .well, .store-content .card, .store-content .feature, .store-content .plan, .landing-page .plan{
  background:linear-gradient(180deg,rgba(14,23,45,.96),rgba(7,13,27,.98))!important;
  color:#dbe8ff!important; border-color:rgba(118,149,255,.22)!important;
}
.store-content *:not(.btn):not(button):not(input):not(select):not(textarea),
.landing-page *:not(.btn):not(button):not(input):not(select):not(textarea),
.sitebuilder *:not(.btn):not(button):not(input):not(select):not(textarea),
.marketconnect *:not(.btn):not(button):not(input):not(select):not(textarea){ color:#dbe8ff!important; }
.store-content h1,.store-content h2,.store-content h3,.store-content h4,.landing-page h1,.landing-page h2,.landing-page h3,.landing-page h4{ color:#fff!important; }
.store-content input,.store-content select,.store-content textarea,.landing-page input,.landing-page select,.landing-page textarea{ background:#0b1224!important; color:#fff!important; border-color:rgba(118,149,255,.28)!important; }

/* Managed homepage blocks: always card-style, no flat text */
.nx-managed-grid-v17{ display:grid!important; grid-template-columns:repeat(12,minmax(0,1fr))!important; gap:18px!important; align-items:stretch!important; }
.nx-managed-block-v17{ background:linear-gradient(180deg,rgba(18,29,55,.94),rgba(8,13,28,.98))!important; border:1px solid rgba(118,149,255,.24)!important; border-radius:22px!important; padding:22px!important; color:#dbe8ff!important; box-shadow:0 18px 50px rgba(0,0,0,.24)!important; min-height:140px; }
.nx-managed-block-v17 h3{ color:#fff!important; margin-top:6px!important; font-size:22px!important; font-weight:900!important; }
.nx-managed-block-v17 p,.nx-managed-block-v17 div{ color:#b8c7e8!important; }
.nx-managed-block-v17 .nx-managed-type{ display:inline-flex; padding:5px 10px; border-radius:999px; background:rgba(36,124,255,.12); color:#8db3ff!important; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.nx-managed-block-v17.nx-col-12{ grid-column:span 12; }
.nx-managed-block-v17.nx-col-6{ grid-column:span 6; }
.nx-managed-block-v17.nx-col-4{ grid-column:span 4; }
.nx-managed-block-v17.nx-col-3{ grid-column:span 3; }
@media(max-width:991px){ .nx-managed-block-v17.nx-col-3,.nx-managed-block-v17.nx-col-4,.nx-managed-block-v17.nx-col-6{ grid-column:span 6;} }
@media(max-width:640px){ .nx-managed-block-v17{ grid-column:span 12!important;} }

/* Any remaining light section leak */
.bg-white,.bg-light,.light-grey-bg,.panel-default>.panel-heading,.panel-footer{ background:#0f172e!important; color:#eaf2ff!important; }
.text-muted, .help-block, small{ color:#9fb8ff!important; }
