/* ==========================================================================
   HostElevate layer — loaded after nexum.css.

   Direction: pure white surfaces, thin borders, ink text. The brand colour
   (--nx-primary, set in Addons > HostElevate Theme > Styles) is kept for
   primary buttons, the active menu item and focus rings — nothing else.

   1. Base           6. Dashboard          11. Neutral heroes
   2. Buttons        7. Cards & rows       12. Footer & tab bar
   3. Icon rail      8. Pills              13. Dark mode
   4. Top bar        9. Banners            14. Phones
   5. Page head     10. Forms
   ========================================================================== */

/* 1. Base ------------------------------------------------------------------ */
html body.nx-theme {
    background: var(--nx-bg);
    color: var(--nx-text);
    font-family: var(--nx-font-family);
    font-size: var(--nx-font-size);
    -webkit-font-smoothing: antialiased;
}
body.nx-theme h1, body.nx-theme h2, body.nx-theme h3, body.nx-theme h4, body.nx-theme h5 {
    font-family: var(--nx-heading-font-family);
    letter-spacing: var(--he-heading-tracking, 0);
    color: var(--nx-text);
}
body.nx-theme a { color: var(--nx-link); }
body.nx-theme a:hover { color: var(--nx-primary-hover); }
body.nx-theme .nx-app-layout,
body.nx-theme .nx-main-area,
body.nx-theme .nx-content-wrapper { background: var(--nx-bg); }
body.nx-theme .nx-content-wrapper { padding: 28px var(--nx-content-padding) 40px; }
body.nx-theme .text-muted { color: var(--nx-muted) !important; }
body.nx-theme ::selection { background: rgba(var(--nx-primary-rgb), .14); }
body.nx-theme :focus-visible { outline: 2px solid rgba(var(--nx-primary-rgb), .45); outline-offset: 2px; }

/* Cards everywhere: white, 1px border, no heavy shadow. */
body.nx-theme .card,
body.nx-theme .nx-card,
body.nx-theme .nx-ca-card,
body.nx-theme .nx-hp-panel,
body.nx-theme .nx-ca-stat-tile,
body.nx-theme .nx-stat-tile {
    background: var(--nx-card-bg);
    border: 1px solid var(--nx-border);
    border-radius: var(--nx-radius-card);
    box-shadow: var(--nx-shadow);
}
body.nx-theme .nx-lift:hover { transform: none; box-shadow: var(--nx-shadow); }
body.nx-theme.nx-hover-lift .nx-lift:hover { transform: translateY(-2px); }

/* Icon tiles: neutral grey, ink icon. */
body.nx-theme .nx-ico-tile,
body.nx-theme .nx-ico-tile-lg,
body.nx-theme .nx-u-tint-tile,
body.nx-theme .nx-tl-dept-ico,
body.nx-theme .nx-card-icon-wrapper,
body.nx-theme .nx-card-title-ico {
    background: var(--nx-primary-light) !important;
    color: var(--nx-text) !important;
    box-shadow: none !important;
}
body.nx-theme .nx-ico-tile .material-symbols-rounded,
body.nx-theme .nx-u-tint-tile .material-symbols-rounded,
body.nx-theme .nx-tl-dept-ico .material-symbols-rounded { color: var(--nx-text) !important; }

/* Logo mark fallback (no logo uploaded yet): flat brand square. */
body.nx-theme .nx-logo-mark { background: var(--nx-primary); box-shadow: none; }

/* 2. Buttons — normal shape, brand colour only on the primary action ------ */
body.nx-theme .btn {
    border-radius: var(--nx-radius-button);
    font-weight: var(--nx-weight-button);
    box-shadow: none !important;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
body.nx-theme .btn-primary,
body.nx-theme .btn-success,
body.nx-theme .nx-btn-primary,
body.nx-theme .btn-primary:not(:disabled):not(.disabled):active {
    background: var(--nx-btn-primary) !important;
    border-color: var(--nx-btn-primary) !important;
    color: var(--nx-btn-primary-text) !important;
    background-image: none !important;
}
body.nx-theme .btn-primary:hover,
body.nx-theme .btn-success:hover,
body.nx-theme .nx-btn-primary:hover,
body.nx-theme .btn-primary:focus {
    background: var(--nx-btn-primary-hover) !important;
    border-color: var(--nx-btn-primary-hover) !important;
    color: var(--nx-btn-primary-text) !important;
}
body.nx-theme.nx-buttons-outline .btn-primary,
body.nx-theme.nx-buttons-outline .nx-btn-primary {
    background: transparent !important;
    color: var(--nx-primary) !important;
    border-color: var(--nx-primary) !important;
}
body.nx-theme.nx-buttons-outline .btn-primary:hover,
body.nx-theme.nx-buttons-outline .nx-btn-primary:hover {
    background: var(--nx-primary) !important;
    color: var(--nx-btn-primary-text) !important;
}
body.nx-theme.nx-buttons-soft .btn-primary,
body.nx-theme.nx-buttons-soft .nx-btn-primary {
    background: rgba(var(--nx-primary-rgb), .1) !important;
    color: var(--nx-primary) !important;
    border-color: transparent !important;
}
body.nx-theme .btn-default,
body.nx-theme .btn-secondary,
body.nx-theme .btn-outline-primary,
body.nx-theme .btn-outline-secondary,
body.nx-theme .nx-btn-outline,
body.nx-theme .btn-light {
    background: var(--nx-card-bg) !important;
    border: 1px solid var(--nx-border) !important;
    color: var(--nx-text) !important;
}
body.nx-theme .btn-default:hover,
body.nx-theme .btn-secondary:hover,
body.nx-theme .btn-outline-primary:hover,
body.nx-theme .btn-outline-secondary:hover,
body.nx-theme .nx-btn-outline:hover,
body.nx-theme .btn-light:hover {
    background: var(--he-hover) !important;
    border-color: color-mix(in srgb, var(--nx-border) 60%, var(--nx-text)) !important;
    color: var(--nx-text) !important;
}
body.nx-theme .btn-link { color: var(--nx-link); }
body.nx-theme .btn .material-symbols-rounded { font-size: 18px; vertical-align: -4px; }
body.nx-theme .he-btn-sm { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 6px 12px; font-size: 13px; line-height: 1.4; }
body.nx-theme .he-btn-sm .material-symbols-rounded { font-size: 17px; vertical-align: 0; }
body.nx-theme .he-btn-quiet { color: var(--nx-muted) !important; text-decoration: none; }
body.nx-theme .he-btn-quiet:hover { color: var(--nx-text) !important; }

/* 3. Icon rail (UltaHost-style: icon with its label underneath) ------------ */
body.he-rail { --he-rail-w: 92px; }
body.he-rail .nx-sidebar {
    width: var(--he-rail-w) !important;
    flex: 0 0 var(--he-rail-w) !important;
    padding: 14px 0 12px !important;
    align-items: stretch !important;
    background: var(--nx-sidebar-bg);
    border-right: 1px solid var(--nx-border);
}
body.he-rail .nx-sidebar-top { display: flex; flex-direction: column; align-items: stretch; }
body.he-rail .nx-sidebar-logo { height: 52px; margin: 0 0 8px; justify-content: center !important; padding: 0 !important; }
body.he-rail .nx-sidebar-logo .nx-logo-mark { width: 40px; height: 40px; border-radius: 10px; }
body.he-rail .nx-sidebar-nav { align-items: stretch !important; gap: 2px; margin-top: 4px !important; }
body.he-rail .nx-sidebar .nx-nav-item {
    width: 100% !important;
    margin: 0 !important;
    padding: 11px 6px 10px !important;
    gap: 5px !important;
    border-radius: 0 !important;
    flex-direction: column !important;
    color: var(--nx-muted);
    position: relative;
    background: transparent;
}
body.he-rail .nx-sidebar .nx-nav-icon-wrapper {
    width: 28px; height: 28px; border-radius: 0; background: transparent !important; color: inherit !important; box-shadow: none !important;
}
body.he-rail .nx-sidebar .nx-nav-icon-wrapper .material-symbols-rounded { font-size: 23px; color: inherit; font-variation-settings: 'FILL' 0, 'wght' 400; }
body.he-rail .nx-sidebar .nx-nav-label {
    display: block !important;
    font-size: 11.5px;
    line-height: 1.25;
    font-weight: 500;
    text-align: center;
    white-space: normal;
    max-width: 82px;
    color: inherit;
}
body.he-rail .nx-sidebar .nx-nav-item:hover,
body.he-rail .nx-sidebar .nx-nav-dropdown-wrapper:hover > .nx-nav-item { background: var(--he-hover); color: var(--nx-text); }
body.he-rail .nx-sidebar .nx-nav-item.active,
body.he-rail .nx-sidebar .nx-nav-item.active:hover {
    background: var(--nx-primary-light) !important;
    color: var(--he-active-text) !important;
}
body.he-rail .nx-sidebar .nx-nav-item.active .nx-nav-icon-wrapper .material-symbols-rounded { font-variation-settings: 'FILL' 1, 'wght' 500; }
body.he-rail .nx-sidebar .nx-nav-item .nx-nav-badge {
    position: absolute; top: 7px; left: calc(50% + 7px); margin: 0;
    min-width: 17px; height: 17px; padding: 0 5px; border-radius: 9px;
    background: var(--nx-danger); color: #fff; font-size: 10.5px; line-height: 17px; font-weight: 600;
}
body.he-rail .nx-sidebar .nx-nav-item::after { display: none !important; }
body.he-rail .nx-sidebar .dropdown-toggle::after { display: none !important; }

/* Flyout sub-menus beside the rail */
body.he-rail .nx-sidebar .nx-nav-dropdown-wrapper > .dropdown-menu,
body.he-rail .nx-sidebar .nx-sh-flyout-menu {
    left: 100% !important;
    top: 0 !important;
    margin: 0 0 0 6px !important;
    padding: 8px !important;
    min-width: 230px;
    border-radius: 12px !important;
    border: 1px solid var(--nx-border) !important;
    background: var(--nx-card-bg) !important;
    box-shadow: 0 12px 32px rgba(16, 24, 20, .10) !important;
}
body.he-rail .nx-sidebar .nx-sh-flyout-menu::before { left: -10px !important; width: 10px !important; }
body.he-rail.he-flyout-click .nx-sidebar .nx-nav-dropdown-wrapper:hover > .dropdown-menu,
body.he-rail.he-flyout-click .nx-sidebar .nx-nav-dropdown-wrapper:focus-within > .dropdown-menu { display: none; }
body.he-rail.he-flyout-click .nx-sidebar .nx-nav-dropdown-wrapper > .dropdown-menu.show { display: block !important; }
body.he-rail .nx-sh-flyout-head {
    font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em;
    color: var(--nx-muted); padding: 6px 10px 8px; margin: 0; border: 0;
}
body.he-rail .nx-sh-flyout-menu .dropdown-item,
body.nx-theme .nx-sh-flyout-menu .dropdown-item {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 10px; border-radius: 8px;
    font-size: 13.5px; color: var(--nx-text); background: transparent;
}
body.nx-theme .nx-sh-flyout-menu .dropdown-item .material-symbols-rounded { font-size: 19px; color: var(--nx-muted) !important; }
body.nx-theme .nx-sh-flyout-menu .dropdown-item:hover,
body.nx-theme .nx-sh-flyout-menu .dropdown-item.active { background: var(--he-hover); color: var(--nx-text); }
body.nx-theme .nx-sh-flyout-menu .dropdown-item:hover .material-symbols-rounded { color: var(--nx-text) !important; }
body.nx-theme .nx-sh-flyout-menu .dropdown-divider { margin: 6px 4px; border-color: var(--nx-border); }

/* Bottom of the rail: Open Ticket and the account button */
body.he-rail .nx-sidebar-store-wrapper,
body.he-rail .nx-sh-openticket-cmp { padding: 0 !important; display: flex; justify-content: center; }
body.he-rail .nx-sh-openticket-cmp > .btn,
body.he-rail .nx-sidebar .nx-sh-openticket-btn {
    width: 44px; height: 44px; padding: 0; border-radius: 12px !important;
    display: inline-flex; align-items: center; justify-content: center;
}
body.he-rail .nx-sidebar-footer-wrapper { display: flex; flex-direction: column; align-items: center; gap: 8px; padding-top: 10px; border-top: 1px solid var(--nx-border); margin: 10px 12px 0; }
body.he-rail .nx-sh-avatar-btn { padding: 0; background: transparent !important; border: 0 !important; }

/* Full sidebar (layout "sidebar"): flatter items */
body.he-sidebar .nx-sidebar .nx-nav-item.active,
body.he-sidebar .nx-sidebar .nx-nav-item:hover { background: var(--nx-primary-light); color: var(--he-active-text); }
body.he-sidebar .nx-sidebar .nx-nav-icon-wrapper { background: transparent; }

/* 4. Top bar ----------------------------------------------------------------- */
body.nx-theme .nx-topbar {
    height: 60px;
    background: var(--nx-header-bg);
    border-bottom: 1px solid var(--nx-border);
    box-shadow: none;
}
body.nx-theme.nx-header-sticky .nx-topbar { position: sticky; top: 0; }
body.nx-theme .nx-topbar .nx-topbar-link,
body.nx-theme .nx-topbar .nx-sh-tb-btn,
body.nx-theme .nx-topbar .nx-sh-acct-btn-g4 {
    display: inline-flex; align-items: center; gap: 7px;
    height: 38px; padding: 0 10px; border-radius: 8px;
    color: var(--nx-text); font-size: 13.5px; font-weight: 500;
    background: transparent; border: 0;
}
body.nx-theme .nx-topbar .nx-topbar-link:hover,
body.nx-theme .nx-topbar .nx-sh-tb-btn:hover,
body.nx-theme .nx-topbar .nx-sh-acct-btn-g4:hover { background: var(--he-hover); color: var(--nx-text); }
body.nx-theme .nx-topbar .material-symbols-rounded { color: var(--nx-text); }
body.nx-theme .he-tb-label { white-space: nowrap; }
body.he-topbar-text .nx-topbar .he-tb-ico { display: none; }
body.nx-theme .nx-topbar .nx-sh-count-badge {
    background: var(--nx-danger) !important; color: #fff; font-size: 10px; min-width: 16px; height: 16px; line-height: 16px; padding: 0 4px;
}
body.nx-theme .nx-topbar-right { gap: 4px; }
body.nx-theme .nx-topbar .nx-user-avatar { background: var(--nx-primary-light); color: var(--nx-text); }
body.nx-theme .he-tb-name { max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Light / dark switch as a plain icon button */
body.nx-theme .nx-topbar-mode-toggle {
    width: 38px; height: 38px; border-radius: 8px; border: 0; background: transparent;
    display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0;
}
body.nx-theme .nx-topbar-mode-toggle:hover { background: var(--he-hover); }
body.nx-theme .nx-topbar-mode-toggle .nx-toggle-thumb {
    position: static; width: auto; height: auto; background: transparent !important; box-shadow: none !important; transform: none !important;
    display: inline-flex; align-items: center; justify-content: center;
}
body.nx-theme .nx-topbar-mode-toggle .material-symbols-rounded { font-size: 20px; color: var(--nx-text) !important; opacity: 1 !important; position: static !important; transform: none !important; }
body.nx-theme .nx-topbar-mode-toggle .nx-toggle-ico-dark { display: none !important; }
html.nx-dark body.nx-theme .nx-topbar-mode-toggle .nx-toggle-ico-dark { display: inline-block !important; }
html.nx-dark body.nx-theme .nx-topbar-mode-toggle .nx-toggle-ico-light { display: none !important; }

/* Dropdown menus (account, notifications) */
body.nx-theme .dropdown-menu {
    border: 1px solid var(--nx-border);
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(16, 24, 20, .10);
    background: var(--nx-card-bg);
}
body.nx-theme .dropdown-item { color: var(--nx-text); border-radius: 8px; }
body.nx-theme .dropdown-item:hover,
body.nx-theme .dropdown-item:focus { background: var(--he-hover); color: var(--nx-text); }
body.nx-theme .nx-sh-topnav-item-ico { color: var(--nx-muted) !important; }

/* 5. Page head ---------------------------------------------------------------- */
body.nx-theme .nx-page-head { margin: 4px 0 24px; }
body.nx-theme .he-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; }
body.nx-theme .nx-page-title {
    font-size: var(--nx-font-size-h1);
    font-weight: var(--nx-weight-page-title);
    letter-spacing: -0.02em;
    line-height: 1.15;
    color: var(--nx-text);
    margin: 0 0 6px;
}
body.nx-theme .nx-crumbs { margin: 0; padding: 0; background: transparent; font-size: 12.5px; }
body.nx-theme .nx-crumbs .nx-crumb,
body.nx-theme .nx-crumbs .nx-crumb-link { color: var(--nx-muted); }
body.nx-theme .nx-crumbs .nx-crumb.is-current { color: var(--nx-text); }
body.nx-theme .nx-crumbs .nx-crumb-link:hover { color: var(--nx-text); }
body.nx-theme .nx-u-crumb-sep { margin: 0 6px; color: var(--nx-border); color: color-mix(in srgb, var(--nx-muted) 50%, transparent); }
body.nx-theme .he-dash-greeting { margin: 0 0 4px; color: var(--nx-muted); font-size: 14px; }

/* 6. Dashboard ------------------------------------------------------------------ */
.he-dash { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 24px; align-items: start; }
.he-dash-side, .he-dash-main { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.he-card {
    background: var(--nx-card-bg);
    border: 1px solid var(--nx-border);
    border-radius: var(--nx-radius-card);
    box-shadow: var(--nx-shadow);
    padding: var(--nx-card-padding);
}
.he-card-flush { padding: 0; overflow: hidden; }
.he-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px var(--nx-card-padding); border-bottom: 1px solid var(--nx-border); }
body.nx-theme .he-card-title { font-size: 15px; font-weight: var(--nx-weight-card-title); margin: 0 0 12px; color: var(--nx-text); letter-spacing: -0.005em; }
body.nx-theme .he-card-head .he-card-title { margin: 0; }
body.nx-theme .he-card-link { font-size: 13px; font-weight: 500; color: var(--nx-muted); white-space: nowrap; }
body.nx-theme .he-card-link:hover { color: var(--nx-text); }
.he-muted { color: var(--nx-muted); }

/* Profile */
.he-profile-top { display: flex; align-items: center; gap: 12px; }
body.nx-theme .he-profile-avatar {
    width: 48px; height: 48px; flex: 0 0 48px; border-radius: 50%;
    background: var(--nx-primary-light) !important; color: var(--nx-text) !important;
    display: inline-flex; align-items: center; justify-content: center; font-weight: 600; font-size: 16px; overflow: hidden; position: relative;
}
body.nx-theme .he-profile-avatar .nx-user-avatar-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: none; }
.he-profile-id { min-width: 0; }
.he-profile-name { font-weight: 600; font-size: 15.5px; color: var(--nx-text); line-height: 1.3; overflow: hidden; text-overflow: ellipsis; }
.he-profile-sub { font-size: 12.5px; color: var(--nx-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.he-profile-addr { margin: 14px 0 0; padding-top: 14px; border-top: 1px solid var(--nx-border); font-style: normal; font-size: 13px; line-height: 1.6; color: var(--nx-muted); }
.he-profile-actions { display: flex; gap: 8px; margin-top: 14px; }

/* Security rows */
.he-sec-list, .he-link-list, .he-rows { list-style: none; margin: 0; padding: 0; }
.he-sec-row { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--nx-border); }
.he-sec-row:first-child { border-top: 0; padding-top: 0; }
.he-sec-row:last-child { padding-bottom: 0; }
.he-sec-ico { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 9px; background: var(--nx-primary-light); display: inline-flex; align-items: center; justify-content: center; color: var(--nx-text); }
.he-sec-ico .material-symbols-rounded { font-size: 19px; }
.he-sec-ico.is-ok { color: var(--nx-success); }
.he-sec-ico.is-warn { color: var(--nx-warning); }
.he-sec-text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.he-sec-name { font-size: 13.5px; font-weight: 500; color: var(--nx-text); }
.he-sec-meta { font-size: 12px; color: var(--nx-muted); }
body.nx-theme .he-sec-action { font-size: 12.5px; font-weight: 600; color: var(--nx-link); white-space: nowrap; }

/* Link lists (contacts, shortcuts) */
.he-link-list { margin: -4px 0 12px; }
.he-card > .he-link-list:last-child { margin-bottom: -4px; }
body.nx-theme .he-link-row,
.he-link-empty {
    display: flex; align-items: center; gap: 10px;
    padding: 7px 8px; margin: 0 -8px; border-radius: 8px;
    font-size: 13.5px; color: var(--nx-text); text-decoration: none;
}
.he-link-empty { color: var(--nx-muted); }
body.nx-theme .he-link-row:hover { background: var(--he-hover); color: var(--nx-text); text-decoration: none; }
.he-link-row .material-symbols-rounded, .he-link-empty .material-symbols-rounded { font-size: 19px; color: var(--nx-muted); }

/* Counters */
.he-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
body.nx-theme .he-stat {
    display: flex; flex-direction: column; gap: 2px;
    padding: 18px 18px 16px;
    background: var(--nx-card-bg); border: 1px solid var(--nx-border); border-radius: var(--nx-radius-card);
    color: var(--nx-text); text-decoration: none; min-width: 0;
    transition: border-color .15s ease, background-color .15s ease;
}
body.nx-theme .he-stat:hover { border-color: color-mix(in srgb, var(--nx-border) 55%, var(--nx-text)); color: var(--nx-text); text-decoration: none; }
.he-stat-ico { width: 36px; height: 36px; border-radius: 10px; background: var(--nx-primary-light); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 12px; color: var(--nx-text); }
.he-stat-ico .material-symbols-rounded { font-size: 20px; }
.he-stat-label { font-size: 12.5px; color: var(--nx-muted); }
.he-stat-num { font-size: 28px; font-weight: 600; line-height: 1.15; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.he-stat-note { font-size: 12px; color: var(--nx-muted); margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.he-stat.is-attention .he-stat-ico { color: var(--nx-danger); }

/* Rows (products, tickets) */
.he-row { display: flex; align-items: center; gap: 14px; padding: 14px var(--nx-card-padding); border-top: 1px solid var(--nx-border); }
.he-row:first-child { border-top: 0; }
.he-row-ico { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 10px; background: var(--nx-primary-light); display: inline-flex; align-items: center; justify-content: center; color: var(--nx-text); }
.he-row-ico .material-symbols-rounded { font-size: 20px; }
.he-row-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
body.nx-theme .he-row-title { font-size: 14px; font-weight: 600; color: var(--nx-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.nx-theme .he-row-title:hover { color: var(--nx-text); text-decoration: underline; text-underline-offset: 3px; }
.he-row-meta { font-size: 12.5px; color: var(--nx-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.he-row-due { color: var(--he-due, var(--nx-muted)); margin-left: 6px; font-weight: 500; }
.he-row-due::before { content: "·"; margin-right: 6px; color: var(--nx-muted); }
.he-row-btn { flex: 0 0 auto; }

/* Empty states */
.he-empty { padding: 34px 20px; text-align: center; }
.he-empty p { margin: 10px 0 14px; color: var(--nx-muted); font-size: 14px; }
.he-empty-ico { width: 52px; height: 52px; border-radius: 14px; background: var(--nx-primary-light); display: inline-flex; align-items: center; justify-content: center; color: var(--nx-text); }
.he-empty-ico .material-symbols-rounded { font-size: 26px; }

/* Domain search card */
.he-domain-card { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
body.nx-theme .he-domain-card .he-card-title { margin-bottom: 2px; }
.he-domain-copy p { margin: 0; font-size: 13.5px; }
.he-domain-form { display: flex; gap: 10px; flex-wrap: wrap; }
.he-input-ico { position: relative; flex: 1 1 260px; display: flex; }
.he-input-ico > .material-symbols-rounded { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); font-size: 20px; color: var(--nx-muted); pointer-events: none; }
body.nx-theme .he-input-ico .form-control { padding-left: 40px; height: 42px; }
body.nx-theme .he-domain-form .btn { height: 42px; padding: 0 18px; }

/* WHMCS panels under the widgets */
.he-panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.he-panel { min-width: 0; }
.he-panel.is-wide { grid-column: 1 / -1; }
.he-panel > * { margin-bottom: 0 !important; height: 100%; }

/* 7. WHMCS homepage panels ------------------------------------------------------ */
body.nx-theme .nx-hp-panel { overflow: hidden; }
body.nx-theme .nx-hp-panel-head,
body.nx-theme .nx-hp-panel .nx-hp-head { background: transparent; border-bottom: 1px solid var(--nx-border); }
body.nx-theme .nx-hp-panel-title,
body.nx-theme .nx-hp-panel h3 { font-size: 15px; font-weight: var(--nx-weight-card-title); color: var(--nx-text); }
body.nx-theme .nx-hp-panel-link { color: var(--nx-muted); font-size: 13px; }
body.nx-theme .nx-hp-panel-ico,
body.nx-theme .nx-hp-prod-ico,
body.nx-theme .nx-hp-sec-ico { --nx-hp-ico-bg: var(--nx-primary-light) !important; background: var(--nx-primary-light) !important; color: var(--nx-text) !important; }

/* 8. Status pills ------------------------------------------------------------------ */
.he-pill, body.nx-theme .nx-hp-prod-status {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 3px 10px; border-radius: var(--nx-radius-badge);
    font-size: 12px; font-weight: 500; line-height: 1.5; white-space: nowrap;
    background: var(--nx-pill-closed-bg); color: var(--nx-pill-closed-text);
}
.he-pill::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.he-pill.is-active { background: var(--nx-pill-active-bg); color: var(--nx-pill-active-text); }
.he-pill.is-pending { background: var(--nx-pill-pending-bg); color: var(--nx-pill-pending-text); }
.he-pill.is-cancelled { background: var(--nx-pill-cancelled-bg); color: var(--nx-pill-cancelled-text); }

/* 9. Promotion banners --------------------------------------------------------------- */
body.nx-theme .he-banners {
    position: relative; overflow: hidden;
    border: 1px solid var(--nx-border); border-radius: var(--nx-radius-card);
    background: var(--nx-card-bg); box-shadow: var(--nx-shadow);
}
body.nx-theme .he-banners .nx-banner-track { position: relative; }
body.nx-theme .he-banner {
    display: none; align-items: center; gap: 24px;
    padding: var(--he-banner-pt, 28px) 32px var(--he-banner-pb, 28px);
    background: linear-gradient(120deg, var(--he-b-start, #fff), var(--he-b-end, #fff));
    color: var(--he-b-text, var(--nx-text));
    min-height: 170px;
}
body.nx-theme .he-banner.active { display: flex; }
.he-banner-copy { flex: 1 1 auto; min-width: 0; max-width: 560px; }
body.nx-theme .he-banner-badge {
    display: inline-block; margin-bottom: 10px; padding: 3px 10px; border-radius: 999px;
    font-size: 11.5px; font-weight: 600; letter-spacing: .02em;
    background: rgba(var(--nx-accent-rgb), .14); color: color-mix(in srgb, var(--nx-accent) 55%, #3a2200);
}
body.nx-theme .he-banner-title { font-size: 22px; font-weight: 700; line-height: 1.25; margin: 0; color: inherit; letter-spacing: -0.015em; }
body.nx-theme .he-banner-sub { margin: 8px 0 0; font-size: 14px; color: inherit; opacity: .75; }
body.nx-theme .he-banner-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; font-size: 13.5px; font-weight: 600; color: inherit; }
body.nx-theme .he-banner-link .material-symbols-rounded { font-size: 18px; transition: transform .15s ease; }
body.nx-theme .he-banner-link:hover { color: inherit; }
body.nx-theme .he-banner-link:hover .material-symbols-rounded { transform: translateX(3px); }
.he-banner-art { flex: 0 0 auto; max-width: 42%; align-self: stretch; display: flex; align-items: center; justify-content: flex-end; }
.he-banner-art img { max-width: 100%; max-height: 180px; object-fit: contain; }
body.nx-theme .he-banners .nx-banner-close {
    position: absolute; top: 10px; right: 10px; z-index: 3;
    width: 30px; height: 30px; border-radius: 8px; border: 0; background: transparent; color: var(--nx-muted);
    display: inline-flex; align-items: center; justify-content: center;
}
body.nx-theme .he-banners .nx-banner-close:hover { background: var(--he-hover); color: var(--nx-text); }
body.nx-theme .he-banners .nx-banner-close .material-symbols-rounded { font-size: 18px; }
body.nx-theme .he-banner-dots { position: absolute; left: 32px; top: 14px; display: flex; gap: 6px; z-index: 2; }
body.nx-theme .he-banner-dots .nx-banner-dot { width: 6px; height: 6px; padding: 0; border-radius: 3px; border: 0; background: color-mix(in srgb, var(--nx-muted) 35%, transparent); transition: width .2s ease; }
body.nx-theme .he-banner-dots .nx-banner-dot.active { width: 18px; background: var(--nx-text); }
body.nx-theme .he-banners .nx-banner-arrow { display: none; }

/* 10. Forms --------------------------------------------------------------------------- */
body.nx-theme .form-control,
body.nx-theme .custom-select,
body.nx-theme select.form-control {
    border: 1px solid var(--nx-border);
    border-radius: var(--nx-radius-input);
    background-color: var(--nx-card-bg);
    color: var(--nx-text);
    box-shadow: none;
}
body.nx-theme .form-control:focus,
body.nx-theme .custom-select:focus {
    border-color: color-mix(in srgb, var(--nx-primary) 55%, var(--nx-border));
    box-shadow: 0 0 0 3px rgba(var(--nx-primary-rgb), .10);
}
body.nx-theme .form-control::placeholder { color: color-mix(in srgb, var(--nx-muted) 75%, transparent); }

/* 11. Neutral heroes — blocks that used a brand gradient become white cards,
   except the ones the 2026 look marks with .he-grad-art (see he-ui.css) ---------- */
html body.nx-theme :is(.nx-tl-banner, .nx-doms-banner, .nx-pd-banner, .nx-dd-hero, .nx-hp-domain-banner, .nx-kb-hero,
    .nx-inv-due, .nx-vi-due-card, .nx-inv-tile-danger, .nx-stat-tile.nx-stat-accent, .nx-ca-profile):not(.he-grad-art) {
    background: var(--nx-card-bg) !important;
    background-image: none !important;
    color: var(--nx-text) !important;
    border: 1px solid var(--nx-border) !important;
    box-shadow: none !important;
}
html body.nx-theme :is(.nx-tl-banner, .nx-doms-banner, .nx-pd-banner, .nx-dd-hero, .nx-hp-domain-banner, .nx-kb-hero,
    .nx-inv-due, .nx-vi-due-card, .nx-inv-tile-danger, .nx-stat-tile.nx-stat-accent, .nx-ca-profile):not(.he-grad-art)
    :is(h1, h2, h3, h4, h5, h6, p, span, div, small, strong, b, label, li, dt, dd, a:not(.btn):not([class*="-btn"])) {
    color: inherit;
}
html body.nx-theme :is(.nx-tl-banner, .nx-doms-banner, .nx-pd-banner, .nx-dd-hero, .nx-hp-domain-banner, .nx-kb-hero,
    .nx-inv-due, .nx-vi-due-card, .nx-inv-tile-danger, .nx-stat-tile.nx-stat-accent, .nx-ca-profile):not(.he-grad-art)
    :is([class*="-sub"], [class*="-eyebrow"], [class*="-label"], [class*="-meta"], [class*="-note"], [class*="-hint"], [class*="-addr"]) {
    color: var(--nx-muted) !important;
}
html body.nx-theme :is(.nx-tl-banner, .nx-doms-banner, .nx-pd-banner, .nx-dd-hero, .nx-hp-domain-banner, .nx-kb-hero,
    .nx-inv-due, .nx-vi-due-card, .nx-inv-tile-danger, .nx-stat-tile.nx-stat-accent, .nx-ca-profile):not(.he-grad-art)
    :is([class*="-title"], [class*="-name"], [class*="-value"], [class*="-domain"], [class*="-amount"], [class*="-num"]) {
    color: var(--nx-text) !important;
}
html body.nx-theme :is(.nx-tl-banner, .nx-doms-banner, .nx-pd-banner, .nx-dd-hero, .nx-hp-domain-banner, .nx-kb-hero,
    .nx-inv-due, .nx-vi-due-card, .nx-inv-tile-danger, .nx-stat-tile.nx-stat-accent):not(.he-grad-art)
    :is([class$="-icon"], [class*="-icon "], [class*="-globe"], [class$="-ico"]) {
    background: var(--nx-primary-light) !important;
    color: var(--nx-text) !important;
}
html body.nx-theme :is(.nx-tl-banner, .nx-doms-banner, .nx-pd-banner, .nx-dd-hero, .nx-hp-domain-banner, .nx-kb-hero,
    .nx-inv-due, .nx-vi-due-card, .nx-inv-tile-danger):not(.he-grad-art) .material-symbols-rounded { color: inherit !important; }
html body.nx-theme :is(.nx-tl-banner, .nx-doms-banner, .nx-pd-banner, .nx-dd-hero, .nx-hp-domain-banner, .nx-kb-hero,
    .nx-inv-due, .nx-vi-due-card, .nx-inv-tile-danger):not(.he-grad-art) :is([class*="-row"], [class*="-foot"], [class*="-top"]) {
    border-color: var(--nx-border) !important;
}
html body.nx-theme :is(.nx-tl-banner, .nx-doms-banner, .nx-pd-banner, .nx-dd-hero, .nx-hp-domain-banner, .nx-kb-hero,
    .nx-inv-due, .nx-vi-due-card, .nx-inv-tile-danger, .nx-ca-profile):not(.he-grad-art)::before,
html body.nx-theme :is(.nx-tl-banner, .nx-doms-banner, .nx-pd-banner, .nx-dd-hero, .nx-hp-domain-banner, .nx-kb-hero,
    .nx-inv-due, .nx-vi-due-card, .nx-inv-tile-danger, .nx-ca-profile):not(.he-grad-art)::after,
html body.nx-theme :is(.nx-pd-banner, .nx-dd-hero, .nx-inv-due, .nx-ca-profile):not(.he-grad-art) [class*="-deco"] { display: none !important; }
html body.nx-theme :is(.nx-tl-banner, .nx-doms-banner, .nx-hp-domain-banner, .nx-kb-hero, .nx-inv-due):not(.he-grad-art) :is(.nx-tl-banner-btn, [class*="-btn"]:not(.btn-default):not(.btn-link)) {
    background: var(--nx-btn-primary) !important;
    color: var(--nx-btn-primary-text) !important;
    border-color: var(--nx-btn-primary) !important;
}

/* Domain search band: white panel with a bordered search field */
html body.nx-theme .nx-dband {
    background: var(--nx-card-bg) !important;
    background-image: none !important;
    border: 1px solid var(--nx-border) !important;
    box-shadow: none !important;
    color: var(--nx-text) !important;
}
html body.nx-theme .nx-dband::before, html body.nx-theme .nx-dband::after { display: none !important; }
html body.nx-theme .nx-dband :is(.nx-dband-title, h2) { color: var(--nx-text) !important; }
html body.nx-theme .nx-dband :is(.nx-dband-sub, .nx-eyebrow, .nx-dband-note, .nx-dband-links, .nx-dband-links a) { color: var(--nx-muted) !important; }
html body.nx-theme .nx-dband .nx-dband-input { background: var(--nx-card-bg) !important; border: 1px solid var(--nx-border) !important; box-shadow: none !important; }
html body.nx-theme .nx-dband .nx-dband-input:focus-within { border-color: color-mix(in srgb, var(--nx-primary) 55%, var(--nx-border)) !important; box-shadow: 0 0 0 3px rgba(var(--nx-primary-rgb), .1) !important; }
html body.nx-theme .nx-dband .nx-dband-input input { color: var(--nx-text) !important; }
html body.nx-theme .nx-dband :is(.btn, button[type="submit"]):not(.nx-dfilters-toggle):not(.nx-dfilters-row) {
    background: var(--nx-btn-primary) !important; color: var(--nx-btn-primary-text) !important; border-color: var(--nx-btn-primary) !important;
}
html body.nx-theme .nx-dband .nx-dband-tld { background: var(--nx-bg) !important; border: 1px solid var(--nx-border) !important; color: var(--nx-text) !important; }
html body.nx-theme .nx-dband .nx-dband-tld-price { color: var(--nx-muted) !important; }
html body.nx-theme .nx-dband-dot { background: var(--nx-border) !important; }

/* 12. Footer & mobile tab bar ------------------------------------------------------------ */
body.nx-theme .nx-footer { background: var(--nx-bg); border-top: 0; }
body.nx-theme .nx-footer-card { background: transparent; border: 0; box-shadow: none; }
body.nx-theme .he-footer-min {
    display: flex; align-items: center; justify-content: space-between; gap: 10px 24px; flex-wrap: wrap;
    padding: 18px 0 22px; border-top: 1px solid var(--nx-border);
    font-size: 13px; color: var(--nx-muted);
}
body.nx-theme .he-footer-min a { color: var(--nx-muted); }
body.nx-theme .he-footer-min a:hover { color: var(--nx-text); }
.he-footer-links { display: flex; align-items: center; gap: 4px 18px; flex-wrap: wrap; }
.he-totop {
    width: 34px; height: 34px; border-radius: 8px; border: 1px solid var(--nx-border); background: var(--nx-card-bg);
    display: inline-flex; align-items: center; justify-content: center; color: var(--nx-muted); cursor: pointer;
}
.he-totop:hover { color: var(--nx-text); background: var(--he-hover); }
.he-totop .material-symbols-rounded { font-size: 18px; }
.he-tabbar { display: none; }

/* 13. Dark mode ------------------------------------------------------------------------- */
html.nx-dark body.nx-theme .dropdown-menu { box-shadow: 0 12px 32px rgba(0, 0, 0, .45); }
html.nx-dark body.nx-theme .nx-sh-flyout-menu { box-shadow: 0 12px 32px rgba(0, 0, 0, .45) !important; }
html.nx-dark body.nx-theme .he-banner { background: var(--nx-card-bg); color: var(--nx-text); }
html.nx-dark body.nx-theme .he-banner-badge { color: var(--nx-accent); }

/* 14. Phones and tablets ------------------------------------------------------------------ */
@media (max-width: 1199.98px) {
    .he-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .he-dash { grid-template-columns: 260px minmax(0, 1fr); }
}
@media (max-width: 991.98px) {
    .he-dash { grid-template-columns: minmax(0, 1fr); }
    .he-dash-side { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
    .he-panels { grid-template-columns: minmax(0, 1fr); }
    body.nx-theme .he-tb-label { display: none; }
}
@media (max-width: 767.98px) {
    body.nx-theme .nx-content-wrapper { padding: 18px 16px 28px; }
    body.nx-theme .nx-page-title { font-size: calc(var(--nx-font-size-h1) * .8); }
    .he-dash-side { grid-template-columns: minmax(0, 1fr); }
    .he-stats { gap: 12px; }
    body.nx-theme .he-stat { padding: 14px; }
    .he-stat-num { font-size: 24px; }
    .he-row { padding: 12px 16px; gap: 12px; flex-wrap: wrap; }
    .he-row-main { flex-basis: calc(100% - 52px); }
    .he-row .he-pill { margin-left: 50px; }
    .he-row-btn { margin-left: auto; }
    body.nx-theme .he-banner { padding: 40px 20px 22px; min-height: 0; flex-direction: column; align-items: flex-start; }
    .he-banner-art { display: none; }
    body.nx-theme .he-banner-dots { left: 20px; }
    body.nx-theme .he-banner-title { font-size: 19px; }
    body.nx-theme .he-domain-form .btn { flex: 1 1 auto; }

    /* Bottom tab bar */
    body.he-mobile-tabs.he-has-tabs { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
    body.he-mobile-tabs .he-tabbar {
        position: fixed; left: 0; right: 0; bottom: 0; z-index: 1035;
        display: grid; grid-template-columns: repeat(5, 1fr);
        height: calc(62px + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom);
        background: var(--nx-card-bg); border-top: 1px solid var(--nx-border);
    }
    body.he-mobile-tabs .he-tab {
        display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
        color: var(--nx-muted); font-size: 10.5px; font-weight: 500; text-decoration: none; position: relative;
    }
    body.he-mobile-tabs .he-tab .material-symbols-rounded { font-size: 23px; }
    body.he-mobile-tabs .he-tab.is-active { color: var(--he-active-text); }
    body.he-mobile-tabs .he-tab.is-active .material-symbols-rounded { font-variation-settings: 'FILL' 1; }
    body.he-mobile-tabs .he-tab-badge {
        position: absolute; top: 7px; left: calc(50% + 6px); min-width: 16px; height: 16px; padding: 0 4px; border-radius: 8px;
        background: var(--nx-danger); color: #fff; font-size: 10px; line-height: 16px; text-align: center; font-weight: 600;
    }
    body.he-mobile-tabs.he-has-tabs .nx-sidebar-collapse { display: none; }
}
@media print {
    .he-tabbar, .nx-sidebar, .nx-topbar { display: none !important; }
}

/* Rail bottom: neutral avatar and Open Ticket button */
body.nx-theme .nx-sidebar .nx-user-avatar,
body.nx-theme .nx-sidebar-profile-card .nx-user-avatar,
body.nx-theme .nx-sh-menu-head-avatar,
body.nx-theme .nx-topbar .nx-user-avatar {
    background: var(--nx-primary-light) !important;
    background-image: none !important;
    color: var(--nx-text) !important;
    box-shadow: none !important;
}
body.nx-theme .nx-user-avatar-initials { color: var(--nx-text); font-weight: 600; }
body.he-rail .nx-sidebar .nx-sh-openticket-btn-cmp .material-symbols-rounded,
body.he-rail .nx-sidebar .nx-sh-openticket-btn-cmp i { color: var(--nx-text) !important; }
body.he-rail .nx-sidebar .nx-plus-badge { display: none !important; }
body.nx-theme .he-page-head-text { min-width: 0; }
body.nx-theme .he-page-head .he-dash-greeting { margin: -2px 0 8px; }
body.nx-theme .nx-logo-mark .material-symbols-rounded { color: var(--nx-on-primary) !important; }
body.nx-theme .nx-topbar-hamburger { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; color: var(--nx-text); }
body.nx-theme .nx-topbar-hamburger:hover { background: var(--he-hover); }
@media (max-width: 991.98px) {
    .he-dash-main { order: 1; }
    .he-dash-side { order: 2; }
}
@media (max-width: 767.98px) {
    body.nx-theme .nx-footer .nx-content-container { padding-left: 16px; padding-right: 16px; }
    body.nx-theme .he-footer-min { justify-content: center; text-align: center; }
    body.nx-theme .he-footer-links { justify-content: center; }
}

/* Filter tabs (services, domains, invoices, tickets): neutral pills, the chosen one in ink */
html body.nx-theme .nx-status-tab,
html body.nx-theme .nx-prods-tab,
html body.nx-theme .nx-doms-tab {
    background: var(--nx-card-bg) !important;
    border: 1px solid var(--nx-border) !important;
    color: var(--nx-muted) !important;
    border-radius: 999px !important;
    padding: 6px 14px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
}
html body.nx-theme .nx-status-tab:hover { color: var(--nx-text) !important; background: var(--he-hover) !important; }
html body.nx-theme .nx-prods-tab-active,
html body.nx-theme .nx-doms-tab-on {
    background: var(--nx-text) !important;
    border-color: var(--nx-text) !important;
    color: var(--nx-card-bg) !important;
}

/* Counter tiles on list pages: neutral icons and ink numbers */
html body.nx-theme :is(.nx-ca-stat-ico-primary, .nx-ca-stat-ico-secondary, .nx-ca-stat-ico-danger, .nx-ca-stat-ico-green, .nx-ca-stat-ico-warning) {
    background: var(--nx-primary-light) !important;
    color: var(--nx-text) !important;
}
html body.nx-theme :is(.nx-ca-stat-num-primary, .nx-ca-stat-num-secondary, .nx-ca-stat-num-green, .nx-ca-stat-num-warning) { color: var(--nx-text) !important; }
html body.nx-theme .nx-ca-stat-num-danger { color: var(--nx-text) !important; }

/* Product details hero */
html body.nx-theme .nx-pd-hero {
    background: var(--nx-card-bg) !important;
    background-image: none !important;
    border: 1px solid var(--nx-border) !important;
    box-shadow: none !important;
    color: var(--nx-text) !important;
}
html body.nx-theme .nx-pd-hero::before, html body.nx-theme .nx-pd-hero::after { display: none !important; }
html body.nx-theme .nx-pd-hero-icon { background: var(--nx-primary-light) !important; }
html body.nx-theme .nx-pd-hero-icon .material-symbols-rounded { color: var(--nx-text) !important; }
html body.nx-theme .nx-pd-hero-eyebrow { color: var(--nx-muted) !important; }
html body.nx-theme .nx-pd-hero-title { color: var(--nx-text) !important; }
html body.nx-theme .nx-pd-hero-foot { color: var(--nx-text) !important; background: var(--nx-bg) !important; border-top: 1px solid var(--nx-border) !important; }
html body.nx-theme .nx-pd-hero-foot:hover { background: var(--he-hover) !important; color: var(--nx-text) !important; }

/* Login / register side panel: soft grey instead of a green block */
html body.nx-theme .nx-auth-aside {
    background: var(--nx-primary-light) !important;
    color: var(--nx-text) !important;
    border-left: 1px solid var(--nx-border);
}
html body.nx-theme .nx-auth-aside::before { background-image: radial-gradient(color-mix(in srgb, var(--nx-text) 14%, transparent) 1px, transparent 1px); opacity: .6; }
html body.nx-theme .nx-auth-aside-ico { background: var(--nx-card-bg) !important; border: 1px solid var(--nx-border) !important; }
html body.nx-theme .nx-auth-aside-ico .material-symbols-rounded { color: var(--nx-text) !important; }
html body.nx-theme .nx-auth-aside-copy h2, html body.nx-theme .nx-auth-aside h2 { color: var(--nx-text) !important; }
html body.nx-theme .nx-auth-aside-copy p, html body.nx-theme .nx-auth-aside p { color: var(--nx-muted) !important; }
html body.nx-theme .nx-auth-aside :is(.nx-auth-aside-eyebrow, .nx-auth-aside-date) { color: var(--nx-muted) !important; }
html body.nx-theme .nx-auth-dot { background: color-mix(in srgb, var(--nx-muted) 35%, transparent) !important; }
html body.nx-theme .nx-auth-dot.is-active { background: var(--nx-text) !important; }
html body.nx-theme .nx-auth-shell { background: var(--nx-bg); }
html body.nx-theme .nx-auth-shell .card { border: 1px solid var(--nx-border); box-shadow: none !important; }
html body.nx-theme .nx-login-eyebrow, html body.nx-theme .nx-auth-eyebrow { color: var(--nx-muted) !important; }

/* Rail labels never split inside a word */
body.he-rail .nx-sidebar .nx-nav-label { word-break: normal !important; overflow-wrap: normal !important; hyphens: manual; max-width: 88px; font-size: 11px; }
/* Homepage strips and product cards */
html body.nx-theme .nx-strip::before { display: none !important; }
html body.nx-theme .nx-strip { border: 1px solid var(--nx-border); }
html body.nx-theme .nx-strip .nx-ico-tile-lg { background: var(--nx-primary-light) !important; color: var(--nx-text) !important; }
html body.nx-theme .nx-eyebrow { color: var(--nx-muted); letter-spacing: .08em; }
html body.nx-theme .nx-hero-main { border: 1px solid var(--nx-border); }
html body.nx-theme .nx-hero-badge { background: rgba(var(--nx-accent-rgb), .12); color: color-mix(in srgb, var(--nx-accent) 55%, #3a2200); }
/* Mobile drawer: neutral icons */
body.nx-theme .nx-mobile-navbar .material-symbols-rounded,
body.nx-theme .nx-mobile-navbar i { color: var(--nx-muted) !important; }
body.nx-theme .nx-mobile-navbar .active .material-symbols-rounded { color: var(--he-active-text) !important; }
/* Top navigation layout: the menu needs the room, so top bar items show icons only */
body.he-top .nx-topbar .he-tb-label { display: none; }
body.he-top .nx-topbar .nx-topbar-nav-middle { min-width: 0; }
@media (max-width: 1279.98px) {
    body.he-top .nx-topbar .nx-navbar-link > span:not(.material-symbols-rounded) { font-size: 13px; }
}
