/* =====================================================================
   Insider Hosting — WHMCS client area theme
   Child of Twenty-One. Loaded after theme.min.css (and before order form
   CSS, which is why cart rules are scoped with body.ih for specificity).
   Design tokens are copied 1:1 from www.insiderhosting.com.
   ===================================================================== */

:root {
  --bg: #0b1118;
  --bg2: #0f1720;
  --panel: #141e2a;
  --panel2: #182433;
  --line: #223043;
  --line2: #2e4058;
  --text: #e6edf3;
  --muted: #9aa9bc;
  --dim: #8596ab;
  --green: #3fd07a;
  --amber: #f2b84b;
  --red: #ff6b6b;
  --accent: #4aa3ff;
  --accent2: #7c5cff;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --radius: 12px;
  --field: #0f1822;
}

/* ---------------------------------------------------------------------
   Base
   --------------------------------------------------------------------- */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; color-scheme: dark; }
body.ih,
body.ih.primary-bg-color {
  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
  overflow-x: hidden;
}
body.ih, body.ih .tooltip, body.ih .popover { font-family: var(--sans); }
body.ih h1, body.ih h2, body.ih h3, body.ih h4, body.ih h5, body.ih h6,
body.ih .h1, body.ih .h2, body.ih .h3, body.ih .h4, body.ih .h5, body.ih .h6 { color: var(--text); letter-spacing: -.3px; }
body.ih a { color: var(--accent); }
body.ih a:hover { color: #7cbcff; text-decoration: none; }
body.ih :focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
body.ih hr { border-top-color: var(--line); }
body.ih .text-muted, body.ih small.text-muted, body.ih .small.text-muted { color: var(--muted) !important; }
body.ih .text-dark, body.ih .text-black { color: var(--text) !important; }
body.ih .text-primary { color: var(--accent) !important; }
body.ih .text-success { color: var(--green) !important; }
body.ih .text-warning { color: var(--amber) !important; }
body.ih .text-danger { color: var(--red) !important; }
body.ih .text-info { color: #6ec3ff !important; }
body.ih .bg-white, body.ih .bg-light { background-color: var(--panel) !important; color: var(--text); }
body.ih .border, body.ih .border-top, body.ih .border-bottom,
body.ih .border-left, body.ih .border-right { border-color: var(--line) !important; }
body.ih code, body.ih pre { color: #c9d4e0; font-family: var(--mono); }
body.ih pre { background: var(--bg2); border: 1px solid var(--line); border-radius: 10px; padding: 14px; }
body.ih mark, body.ih .mark { background: rgba(242,184,75,.2); color: var(--text); }
body.ih .img-thumbnail { background: var(--panel); border-color: var(--line2); }
body.ih .close, body.ih .close:hover { color: var(--text); text-shadow: none; opacity: .7; }
body.ih .ih-mono { font-family: var(--mono); }

.ih-skip { position: absolute; left: -9999px; top: 8px; z-index: 2000; background: var(--accent); color: #fff !important; padding: 10px 16px; border-radius: 8px; font-weight: 600; }
.ih-skip:focus { left: 12px; }

/* ---------------------------------------------------------------------
   Header: top bar
   --------------------------------------------------------------------- */
body.ih header.header { background: transparent; }
body.ih header.header .topbar.ih-topbar {
  margin: 0; padding: 0;
  background: #091017; border-bottom: 1px solid var(--line);
  color: var(--muted); font-size: 12.5px;
}
.ih-topbar .container { display: flex; justify-content: space-between; align-items: center; min-height: 36px; gap: 12px; }
.ih-status-pill { display: inline-flex; align-items: center; gap: 8px; font-family: var(--mono); white-space: nowrap; }
.ih-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); animation: ih-pulse 2s infinite; }
@keyframes ih-pulse { 0% { box-shadow: 0 0 0 0 rgba(63,208,122,.55); } 70% { box-shadow: 0 0 0 8px rgba(63,208,122,0); } 100% { box-shadow: 0 0 0 0 rgba(63,208,122,0); } }
.ih-topbar-right { display: flex; align-items: center; gap: 18px; min-width: 0; }
.ih-topbar-links { display: flex; gap: 18px; }
body.ih .ih-topbar a { color: var(--muted); }
body.ih .ih-topbar a:hover { color: var(--text); }
body.ih header.header .topbar .btn.ih-tb-btn {
  display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px; border-radius: 999px;
  font-size: 12.5px; line-height: 1.4; color: var(--muted); background: transparent; border: 1px solid var(--line2);
}
body.ih header.header .topbar .btn.ih-tb-btn:hover { color: var(--text); border-color: #42577a; }
.ih-alert-count { font-family: var(--mono); color: var(--amber); font-weight: 700; }
.ih-active-client { display: flex; align-items: center; gap: 8px; min-width: 0; }
.ih-tb-label { color: var(--dim); }
body.ih .ih-active-client .btn-active-client { color: var(--text); font-weight: 600; max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.ih .ih-active-client .btn-active-client span { border-bottom: 1px dashed var(--line2); }
.ih-tb-icon { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 6px; }
body.ih .ih-tb-icon:hover { background: var(--panel); }
body.ih .ih-tb-admin { color: var(--amber) !important; display: inline-flex; align-items: center; gap: 6px; }

/* ---------------------------------------------------------------------
   Header: site navigation (sticky, frosted — same as site)
   --------------------------------------------------------------------- */
.ih-nav {
  position: sticky; top: 0; z-index: 1030;
  background: rgba(11,17,24,.82);
  -webkit-backdrop-filter: saturate(160%) blur(12px); backdrop-filter: saturate(160%) blur(12px);
  border-bottom: 1px solid var(--line);
}
/* position:sticky needs the sticky element's parent to scroll with the page */
body.ih header.header { position: sticky; top: -37px; z-index: 1030; }
body.ih.ih-loggedin header.header { top: -37px; }
body.ih header.header .ih-nav { position: relative; top: auto; }
.ih-nav .container { display: flex; align-items: center; justify-content: space-between; height: 68px; gap: 16px; }
.ih-logo { display: flex; align-items: center; flex: none; }
.ih-logo img { display: block; height: 34px; width: auto; }
.ih-sitenav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; }
body.ih .ih-sitenav a.ih-link {
  display: block; padding: 8px 14px; border-radius: 8px; color: var(--muted);
  font-size: 15px; font-weight: 500; line-height: 1.6; transition: color .15s, background .15s;
}
body.ih .ih-sitenav a.ih-link:hover { color: var(--text); background: var(--panel); }
.ih-nav-cta { display: flex; gap: 10px; align-items: center; }

/* Site buttons (exact copy of .btn from insiderhosting.com) */
body.ih .ih-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 11px 20px; border-radius: 9px; font-weight: 600; font-size: 15px; line-height: 1.6;
  border: 1px solid var(--line2); color: var(--text); background: transparent;
  transition: transform .15s, background .15s, border-color .15s, box-shadow .15s; cursor: pointer; white-space: nowrap;
}
body.ih .ih-btn:hover { transform: translateY(-2px); border-color: #42577a; background: var(--panel); color: var(--text); }
body.ih .ih-btn.ih-btn-primary { background: var(--accent); border-color: var(--accent); color: #fff; box-shadow: 0 8px 24px -8px rgba(74,163,255,.6); }
body.ih .ih-btn.ih-btn-primary:hover { background: #3690f0; }
body.ih .ih-btn.ih-btn-sm { padding: 8px 14px; font-size: 14px; }
body.ih .ih-btn.ih-btn-icon { position: relative; padding: 8px 11px; }
body.ih .ih-btn.cart-btn .badge {
  position: absolute; top: -7px; right: -7px; min-width: 19px; height: 19px; padding: 0 5px;
  border-radius: 999px; font: 700 11px/19px var(--mono); background: var(--accent); color: #fff; border: 2px solid var(--bg);
}
body.ih .ih-btn.cart-btn .badge:empty, body.ih .ih-btn.cart-btn .badge[data-count="0"] { display: none; }

.ih-menu-toggle { display: none; background: none; border: 1px solid var(--line2); color: var(--text); border-radius: 8px; width: 42px; height: 40px; cursor: pointer; padding: 0; }
.ih-menu-toggle span { display: block; width: 18px; height: 2px; background: currentColor; margin: 4px auto; border-radius: 2px; transition: transform .2s, opacity .2s; }
.ih-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.ih-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.ih-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* ---------------------------------------------------------------------
   Header: client area menu bar (WHMCS primary + secondary navbar)
   NOTE: core JS auto-collapses #nav items into "More" once #nav is >= 30px
   tall, so link boxes are kept at 28px.
   --------------------------------------------------------------------- */
body.ih header.header .main-navbar-wrapper.ih-appbar {
  padding: 0; background: var(--bg2); border-bottom: 1px solid var(--line);
}
body.ih header.header .main-navbar-wrapper .navbar-collapse { padding: 9px 0; gap: 10px; }
.ih-appbar-label {
  align-items: center; gap: 6px; margin-right: 12px; padding-right: 14px; border-right: 1px solid var(--line2);
  font-family: var(--mono); font-size: 12.5px; color: var(--dim); white-space: nowrap; line-height: 28px;
}
.ih-prompt { color: var(--green); }
body.ih header.header .navbar a { color: var(--muted); }
body.ih header.header .ih-appbar .navbar-nav > li > a {
  display: block; padding: 4px 12px !important; border-radius: 7px; font-size: 14.5px; font-weight: 500;
  line-height: 20px; color: var(--muted); transition: color .15s, background .15s; white-space: nowrap;
}
body.ih header.header .ih-appbar .navbar-nav > li > a:hover,
body.ih header.header .ih-appbar .navbar-nav > li.show > a { color: var(--text); background: var(--panel); }
body.ih header.header .ih-appbar .navbar-nav > li.active > a,
body.ih header.header .ih-appbar .navbar-nav > li > a.active { color: var(--text); background: var(--panel2); box-shadow: inset 0 -2px 0 var(--accent); }
body.ih header.header .ih-appbar .navbar-nav i { color: var(--dim); }
body.ih header.header .ih-appbar .badge { background: rgba(74,163,255,.16); color: var(--accent); font-family: var(--mono); font-weight: 600; border-radius: 999px; }
body.ih header.header .ih-appbar .dropdown-toggle::after { border-top-color: var(--dim); vertical-align: .2em; margin-left: .4em; }
.ih-appbar-search { margin: 0 4px; }
body.ih header.header .ih-appbar .search { width: 240px; border: 1px solid var(--line2); border-radius: 8px; background: var(--field); overflow: hidden; }
body.ih header.header .ih-appbar .search:focus-within { border-color: var(--accent); }
body.ih header.header .ih-appbar .search .btn,
body.ih header.header .ih-appbar .search .form-control { border: 0; background: transparent; color: var(--text); height: 30px; font-size: 13.5px; box-shadow: none; }
body.ih header.header .ih-appbar .search .btn { color: var(--dim); padding: 0 4px 0 10px; }
.ih-mobile-sitenav { display: none; }

/* Dropdown menus (navbar + everywhere) */
body.ih .dropdown-menu {
  background: var(--panel); border: 1px solid var(--line2); border-radius: 12px; padding: 6px;
  box-shadow: 0 24px 60px -20px rgba(0,0,0,.75); color: var(--text); font-size: 14.5px; min-width: 13rem;
}

body.ih .dropdown-menu .dropdown-item,
body.ih header.header .dropdown-menu a.dropdown-item {
  color: var(--muted); border-radius: 7px; padding: 7px 10px !important; line-height: 1.4; white-space: nowrap;
}
body.ih .dropdown-menu .dropdown-item:hover,
body.ih .dropdown-menu .dropdown-item:focus,
body.ih header.header .dropdown-item.active,
body.ih header.header .dropdown-item:active { background: var(--panel2); color: var(--text); }
body.ih .dropdown-menu li.dropdown-item { padding: 0 !important; background: none !important; border-radius: 0; }
body.ih .dropdown-menu li.dropdown-item > a.dropdown-item { display: block; }
body.ih .dropdown-divider { border-top-color: var(--line); margin: 6px 4px; }
body.ih .dropdown-header { color: var(--dim); font-family: var(--mono); font-size: 11.5px; text-transform: uppercase; letter-spacing: .6px; }

/* ---------------------------------------------------------------------
   Page hero + breadcrumb
   --------------------------------------------------------------------- */
.ih-page-hero { position: relative; overflow: hidden; padding: 30px 0 28px; border-bottom: 1px solid var(--line); }
.ih-page-hero::before {
  content: ""; position: absolute; inset: 0;
  background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 48px 48px; opacity: .3;
  -webkit-mask-image: radial-gradient(ellipse 60% 90% at 50% 0%, #000 20%, transparent 75%);
          mask-image: radial-gradient(ellipse 60% 90% at 50% 0%, #000 20%, transparent 75%);
  pointer-events: none;
}
.ih-page-hero::after {
  content: ""; position: absolute; width: 640px; height: 640px; left: 50%; top: -470px; transform: translateX(-50%);
  background: radial-gradient(circle, rgba(74,163,255,.22), rgba(124,92,255,.1) 45%, transparent 70%); pointer-events: none;
}
.ih-page-hero .container { position: relative; z-index: 1; }
body.ih .master-breadcrumb { background: transparent; }
body.ih .master-breadcrumb .breadcrumb {
  margin: 0; padding: 0; background: transparent; border-radius: 0;
  font-family: var(--mono); font-size: 12.5px; color: var(--muted);
}
body.ih .breadcrumb-item a { color: var(--muted); }
body.ih .breadcrumb-item a:hover { color: var(--text); }
body.ih .breadcrumb-item.active { color: var(--text); }
body.ih .breadcrumb-item + .breadcrumb-item::before { content: "/"; color: var(--dim); }
.ih-page-title {
  margin: 10px 0 0; font-size: clamp(28px, 4vw, 40px); line-height: 1.1; letter-spacing: -1.2px !important; font-weight: 800;
}
.ih-page-hero-auth { border-bottom: 0; padding-bottom: 0; }
.ih-page-hero-auth .master-breadcrumb { display: none; }

/* ---------------------------------------------------------------------
   Layout
   --------------------------------------------------------------------- */
body.ih section#main-body { padding: 34px 0 80px; background: transparent; }
body.ih .primary-content h2, body.ih .primary-content h3 { letter-spacing: -.4px; }
body.ih .primary-content .card-title { font-size: 20px; font-weight: 700; letter-spacing: -.3px; }
body.ih .header-lined { border-bottom: 1px solid var(--line); margin-bottom: 22px; }
body.ih .header-lined h1, body.ih .header-lined h2 { font-weight: 800; letter-spacing: -1px; }

/* ---------------------------------------------------------------------
   Cards / panels
   --------------------------------------------------------------------- */
body.ih .card, body.ih .mc-promo-manage, body.ih .mc-promo-login, body.ih .panel {
  background: var(--panel); border: 1px solid var(--line); border-radius: 14px; color: var(--text);
}
body.ih .card-header, body.ih .panel-heading {
  background: transparent; border-bottom: 1px solid var(--line); color: var(--text); padding: 14px 20px;
}
body.ih .card-header:first-child { border-radius: 13px 13px 0 0; }
body.ih .card-footer, body.ih .panel-footer { background: var(--bg2); border-top: 1px solid var(--line); color: var(--muted); }
body.ih .card-footer:last-child { border-radius: 0 0 13px 13px; }
body.ih .card .card { background: var(--panel2); border-color: var(--line2); }
body.ih .card-accent-blue, body.ih .card-accent-teal, body.ih .card-accent-green, body.ih .card-accent-red,
body.ih .card-accent-gold, body.ih .card-accent-midnight-blue, body.ih .card-accent-asbestos,
body.ih .card-accent-pomegranate, body.ih .card-accent-emerald, body.ih .card-accent-sun-flower,
body.ih .card-accent-amethyst, body.ih .card-accent-orange, body.ih .card-accent-silver, body.ih .card-accent-turquoise {
  border-top-width: 1px; border-top-color: var(--line);
  box-shadow: inset 0 2px 0 var(--accent);
}
body.ih .card-accent-green, body.ih .card-accent-emerald, body.ih .card-accent-turquoise, body.ih .card-accent-teal { box-shadow: inset 0 2px 0 var(--green); }
body.ih .card-accent-red, body.ih .card-accent-pomegranate { box-shadow: inset 0 2px 0 var(--red); }
body.ih .card-accent-gold, body.ih .card-accent-sun-flower, body.ih .card-accent-orange { box-shadow: inset 0 2px 0 var(--amber); }
body.ih .card-accent-amethyst, body.ih .card-accent-midnight-blue { box-shadow: inset 0 2px 0 var(--accent2); }
body.ih .jumbotron { background: var(--panel); border: 1px solid var(--line); border-radius: 16px; }

/* ---------------------------------------------------------------------
   Sidebar
   --------------------------------------------------------------------- */
body.ih .sidebar .card-sidebar, body.ih .sidebar .card { background: var(--panel); border-color: var(--line); overflow: hidden; }
body.ih .card-sidebar .card-header { padding: 13px 16px; background: transparent; }
body.ih .card-sidebar .card-title, body.ih .card-sidebar .panel-title, body.ih .sidebar .card-title { font-family: var(--mono); font-size: 12px !important; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: var(--accent); margin: 0; }
body.ih .card-sidebar .card-title i:not(.card-minimise), body.ih .card-sidebar .panel-title i:not(.card-minimise) { color: var(--accent); }
body.ih .card-sidebar .card-minimise { color: var(--dim); font-size: 11px; margin-top: 3px; }
body.ih .card-sidebar .list-group { padding: 6px; }
body.ih .card-sidebar .list-group-item {
  background: transparent; border: 0; border-radius: 8px !important; color: var(--muted);
  padding: 8px 10px; font-size: 14.5px; line-height: 1.4; margin: 1px 0;
}
body.ih .card-sidebar .list-group-item:hover, body.ih .card-sidebar .list-group-item:focus { background: var(--panel2); color: var(--text); }
body.ih .card-sidebar .list-group-item.active, body.ih .card-sidebar .list-group-item.active:hover {
  background: var(--panel2); color: var(--text); box-shadow: inset 2px 0 0 var(--accent);
}
body.ih .sidebar .list-group-item.disabled { color: var(--dim); opacity: .6; }
body.ih .sidebar .sidebar-menu-item-icon, body.ih .sidebar .list-group-item i { color: var(--dim); }
body.ih .sidebar .list-group-item.active i, body.ih .sidebar .list-group-item:hover i { color: var(--accent); }
body.ih .sidebar .list-group-item .badge, body.ih .sidebar .badge {
  background: var(--bg2); border: 1px solid var(--line2); color: var(--muted); font-family: var(--mono); font-weight: 600; border-radius: 999px;
}
body.ih .sidebar .card-body { color: var(--muted); font-size: 14.5px; }
body.ih .sidebar .card-footer { background: transparent; }
body.ih .sidebar .card-footer .btn { width: 100%; }

/* ---------------------------------------------------------------------
   Dashboard tiles + home cards
   --------------------------------------------------------------------- */
body.ih .tiles { border-radius: 16px; overflow: hidden; border: 1px solid var(--line); background: var(--line); }
body.ih .tiles .row { gap: 0; margin: 0 -1px -1px 0; }
body.ih .tiles .tile {
  background: var(--bg2); border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line);
  padding: 20px 22px 18px; color: var(--text); transition: background .2s;
}
body.ih .tiles .tile:hover { background: var(--panel); }
body.ih .tiles .tile .stat { font-size: 38px; font-weight: 800; letter-spacing: -1.5px; color: var(--text); margin-top: 6px; }
body.ih .tiles .tile .title { color: var(--muted); font-family: var(--mono); font-weight: 500; font-size: 12px; letter-spacing: .8px; }
body.ih .tiles .tile i {
  top: 20px; right: 20px; left: auto; font-size: 18px; width: 40px; height: 40px; border-radius: 10px;
  display: grid; place-items: center; background: rgba(74,163,255,.1); color: var(--accent);
}
body.ih .tiles .col-6:nth-child(2) .tile i { background: rgba(63,208,122,.12); color: var(--green); }
body.ih .tiles .col-6:nth-child(3) .tile i { background: rgba(124,92,255,.12); color: #a08bff; }
body.ih .tiles .col-6:nth-child(4) .tile i { background: rgba(242,184,75,.12); color: var(--amber); }
body.ih .tiles .tile .stat { padding-left: 0; }
body.ih .tiles .tile .highlight { height: 2px; margin-top: 10px; opacity: .9; }
body.ih .tiles .tile:hover i { color: inherit; }

body.ih .client-home-cards .card { font-size: 15px; }
body.ih .client-home-cards .card-header { background: transparent; border-bottom: 1px solid var(--line); }
body.ih .client-home-cards .card-title { font-size: 16px !important; margin: 0; }
body.ih .client-home-cards .card-title i { color: var(--accent); }
body.ih .client-home-cards .card-header .btn { color: #fff; border-radius: 8px; }
body.ih .client-home-cards .card-header .btn:hover { color: #fff; filter: brightness(1.1); }
body.ih .client-home-cards .list-group { border-top: 0 !important; border-bottom: 0 !important; }
body.ih .client-home-cards .list-group .list-group-item { border: 0 !important; border-bottom: 1px solid var(--line) !important; padding: 10px 18px; }
body.ih .client-home-cards .list-group .list-group-item:last-child { border-bottom: 0 !important; }
body.ih .client-home-cards small { color: var(--muted); }
body.ih .client-home-cards .card-footer { background: transparent; border-top: 0; padding: 6px 18px; }
body.ih .btn-xs, body.ih .client-home-cards .card-header .btn { font-size: 12.5px; padding: 3px 10px; line-height: 1.5; border-radius: 7px; border: 0; }

/* Color utility backgrounds used by Twenty-One (tile highlights, card buttons) */
body.ih .bg-color-blue, body.ih .bg-color-midnight-blue { background-color: var(--accent) !important; }
body.ih .bg-color-green, body.ih .bg-color-emerald, body.ih .bg-color-teal, body.ih .bg-color-turquoise { background-color: #22a85a !important; }
body.ih .bg-color-red, body.ih .bg-color-pomegranate { background-color: #e0525a !important; }
body.ih .bg-color-gold, body.ih .bg-color-sun-flower, body.ih .bg-color-orange { background-color: #d99a2b !important; }
body.ih .bg-color-amethyst { background-color: var(--accent2) !important; }
body.ih .bg-color-asbestos, body.ih .bg-color-silver { background-color: var(--line2) !important; }

/* ---------------------------------------------------------------------
   List groups
   --------------------------------------------------------------------- */
body.ih .list-group-item { background: transparent; border-color: var(--line); color: var(--text); }
body.ih .list-group-item-action { color: var(--text); }
body.ih .list-group-item-action:hover, body.ih .list-group-item-action:focus { background: var(--panel2); color: var(--text); }
body.ih .list-group-item.active { background: var(--panel2); border-color: var(--line2); color: var(--text); }
body.ih .list-group-item.disabled, body.ih .list-group-item:disabled { background: transparent; color: var(--dim); }

/* ---------------------------------------------------------------------
   Buttons (Bootstrap) — styled like the site's .btn
   --------------------------------------------------------------------- */
body.ih .btn {
  border-radius: 9px; font-weight: 600; font-size: 15px;
  transition: transform .15s, background .15s, border-color .15s, box-shadow .15s, color .15s;
}
body.ih .btn:focus, body.ih .btn.focus { box-shadow: 0 0 0 3px rgba(74,163,255,.3); }
body.ih .btn-sm, body.ih .btn-group-sm > .btn { font-size: 13.5px; border-radius: 7px; }
body.ih .btn-lg, body.ih .btn-group-lg > .btn { font-size: 17px; border-radius: 10px; padding: 12px 24px; }
body.ih .btn-primary, body.ih .btn-info {
  background: var(--accent); border-color: var(--accent); color: #fff; box-shadow: 0 8px 24px -10px rgba(74,163,255,.6);
}
body.ih .btn-primary:hover, body.ih .btn-primary:focus, body.ih .btn-primary:not(:disabled):not(.disabled):active,
body.ih .btn-info:hover, body.ih .btn-info:focus, body.ih .btn-info:not(:disabled):not(.disabled):active {
  background: #3690f0; border-color: #3690f0; color: #fff;
}
body.ih .btn-default, body.ih .btn-secondary, body.ih .btn-light, body.ih .btn-outline-secondary, body.ih .btn-outline-default {
  background: transparent; border: 1px solid var(--line2); color: var(--text);
}
body.ih .btn-default:hover, body.ih .btn-secondary:hover, body.ih .btn-light:hover,
body.ih .btn-outline-secondary:hover, body.ih .btn-outline-default:hover,
body.ih .btn-default:focus, body.ih .btn-secondary:focus, body.ih .btn-light:focus,
body.ih .btn-default:not(:disabled):not(.disabled):active, body.ih .btn-default.active,
body.ih .btn-secondary:not(:disabled):not(.disabled):active, body.ih .btn-secondary.active {
  background: var(--panel2); border-color: #42577a; color: var(--text);
}
body.ih .btn-success { background: #22a85a; border-color: #22a85a; color: #fff; }
body.ih .btn-success:hover, body.ih .btn-success:focus { background: #1d944f; border-color: #1d944f; color: #fff; }
body.ih .btn-warning { background: var(--amber); border-color: var(--amber); color: #1a1406; }
body.ih .btn-warning:hover, body.ih .btn-warning:focus { background: #e3a733; border-color: #e3a733; color: #1a1406; }
body.ih .btn-danger { background: #e0525a; border-color: #e0525a; color: #fff; }
body.ih .btn-danger:hover, body.ih .btn-danger:focus { background: #cb4149; border-color: #cb4149; color: #fff; }
body.ih .btn-dark { background: var(--bg2); border-color: var(--line2); color: var(--text); }
body.ih .btn-outline-primary, body.ih .btn-outline-info { color: var(--accent); border-color: rgba(74,163,255,.55); background: transparent; }
body.ih .btn-outline-primary:hover, body.ih .btn-outline-info:hover,
body.ih .btn-outline-primary.active, body.ih .btn-outline-primary:not(:disabled):not(.disabled):active { background: rgba(74,163,255,.12); color: #fff; border-color: var(--accent); }
body.ih .btn-outline-success { color: var(--green); border-color: rgba(63,208,122,.5); }
body.ih .btn-outline-success:hover { background: rgba(63,208,122,.12); color: #fff; border-color: var(--green); }
body.ih .btn-outline-danger { color: var(--red); border-color: rgba(255,107,107,.5); }
body.ih .btn-outline-danger:hover { background: rgba(255,107,107,.12); color: #fff; border-color: var(--red); }
body.ih .btn-outline-warning { color: var(--amber); border-color: rgba(242,184,75,.5); }
body.ih .btn-outline-warning:hover { background: rgba(242,184,75,.12); color: #fff; border-color: var(--amber); }
body.ih .btn-link { color: var(--accent); box-shadow: none; }
body.ih .btn-link:hover { color: #7cbcff; }
body.ih .btn.disabled, body.ih .btn:disabled { opacity: .5; }
@media (hover: hover) {
  body.ih .btn-primary:hover, body.ih .btn-default:hover, body.ih .btn-success:hover, body.ih .btn-info:hover { transform: translateY(-1px); }
  body.ih .input-group .btn:hover, body.ih .btn-group .btn:hover, body.ih .btn-group-toggle .btn:hover { transform: none; }
}

/* ---------------------------------------------------------------------
   Forms
   --------------------------------------------------------------------- */
body.ih label, body.ih .form-control-label, body.ih .col-form-label { color: var(--text); font-weight: 600; font-size: 14.5px; }
body.ih .form-text, body.ih .field-help-text { color: var(--muted) !important; }
body.ih .form-control, body.ih .custom-select, body.ih select.form-control,
body.ih textarea.form-control, body.ih .custom-file-label,
body.ih input[type="text"], body.ih input[type="email"], body.ih input[type="password"],
body.ih input[type="tel"], body.ih input[type="number"], body.ih input[type="url"], body.ih input[type="search"] {
  background-color: var(--field); border: 1px solid var(--line2); color: var(--text); border-radius: 9px;
}
body.ih input[type="checkbox"], body.ih input[type="radio"] { accent-color: var(--accent); }
body.ih .form-control::placeholder { color: #5f7086; opacity: 1; }
body.ih .form-control:focus-visible, body.ih .custom-select:focus-visible { outline: none; }
body.ih .form-control:focus, body.ih .custom-select:focus {
  background-color: var(--field); border-color: var(--accent); color: var(--text);
  box-shadow: 0 0 0 3px rgba(74,163,255,.18);
}
body.ih .form-control:disabled, body.ih .form-control[readonly], body.ih .custom-select:disabled {
  background-color: var(--bg2); color: var(--muted); border-color: var(--line);
}
body.ih select.form-control option, body.ih .custom-select option { background: var(--panel); color: var(--text); }
body.ih .custom-select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3e%3cpath fill='none' stroke='%239aa9bc' stroke-width='1.5' d='M1 1l4 4 4-4'/%3e%3c/svg%3e");
  background-repeat: no-repeat; background-position: right 12px center; background-size: 10px 6px;
}
body.ih .input-group-text {
  background: var(--bg2); border: 1px solid var(--line2); color: var(--dim); border-radius: 9px;
}
body.ih .input-group > .form-control:not(:last-child), body.ih .input-group > .custom-select:not(:last-child),
body.ih .input-group > .input-group-prepend > .input-group-text, body.ih .input-group > .input-group-prepend > .btn { border-top-right-radius: 0; border-bottom-right-radius: 0; }
body.ih .input-group > .form-control:not(:first-child), body.ih .input-group > .custom-select:not(:first-child),
body.ih .input-group > .input-group-append > .input-group-text, body.ih .input-group > .input-group-append > .btn { border-top-left-radius: 0; border-bottom-left-radius: 0; }
body.ih .input-group-merge .input-group-prepend .input-group-text { border-right: 0; }
body.ih .input-group-merge .form-control:not(:first-child) { border-left: 0; padding-left: 4px; }
body.ih .input-group-merge .form-control:not(:last-child) { border-right: 0; }
body.ih .input-group-merge .input-group-append .btn { border-left: 0; border-color: var(--line2); }
body.ih .input-group-merge:focus-within .input-group-text,
body.ih .input-group-merge:focus-within .form-control,
body.ih .input-group-merge:focus-within .input-group-append .btn { border-color: var(--accent); }
body.ih .input-group-merge:focus-within .form-control { box-shadow: none; }
body.ih .input-group-merge:focus-within { box-shadow: 0 0 0 3px rgba(74,163,255,.18); border-radius: 9px; }
body.ih .custom-control-label::before { background: var(--field); border-color: var(--line2); }
body.ih .custom-control-input:checked ~ .custom-control-label::before { background: var(--accent); border-color: var(--accent); }
body.ih .custom-switch .custom-control-label::after { background: var(--muted); }
body.ih .custom-switch .custom-control-input:checked ~ .custom-control-label::after { background: #fff; }
body.ih .custom-file-label::after { background: var(--panel2); color: var(--text); border-left-color: var(--line2); }
body.ih .is-invalid, body.ih .form-control.is-invalid, body.ih .has-error .form-control { border-color: var(--red) !important; }
body.ih .invalid-feedback, body.ih .has-error .help-block { color: var(--red); }
body.ih .is-valid, body.ih .form-control.is-valid { border-color: var(--green) !important; }
body.ih fieldset, body.ih legend { color: var(--text); border-color: var(--line); }
body.ih .bootstrap-switch { border-color: var(--line2); background: var(--field); border-radius: 999px; }
body.ih .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default,
body.ih .bootstrap-switch .bootstrap-switch-label { background: var(--panel2); color: var(--text); }
body.ih .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary,
body.ih .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success { background: var(--accent); }
body.ih .iti__country-list { background: var(--panel); border-color: var(--line2); color: var(--text); }
body.ih .iti__country.iti__highlight { background: var(--panel2); }
body.ih .iti__dial-code { color: var(--muted); }
body.ih .password-strength-meter .progress, body.ih .progress { background: var(--bg2); border-radius: 999px; }
body.ih .progress-bar { background: var(--accent); }
body.ih .progress-bar.bg-success { background: var(--green) !important; }
body.ih .progress-bar.bg-warning { background: var(--amber) !important; }
body.ih .progress-bar.bg-danger { background: var(--red) !important; }

/* ---------------------------------------------------------------------
   Tables + DataTables
   --------------------------------------------------------------------- */
body.ih .table { color: var(--text); }
body.ih .table td, body.ih .table th { border-color: var(--line); background-color: transparent; vertical-align: middle; }
body.ih .table thead th, body.ih .table .thead-light th {
  background: var(--bg2); color: var(--muted); border-bottom: 1px solid var(--line2); border-top: 0;
  font-family: var(--mono); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .7px;
}
body.ih .table-striped tbody tr:nth-of-type(odd) { background-color: rgba(255,255,255,.015); }
body.ih .table-hover tbody tr:hover, body.ih .table-list tbody tr:hover { background-color: var(--panel2); color: var(--text); }
body.ih .table-bordered, body.ih .table-bordered td, body.ih .table-bordered th { border-color: var(--line); }
body.ih .table-container, body.ih .table-responsive { border-radius: 14px; }
body.ih .table-container { background: var(--panel); border: 1px solid var(--line); padding: 4px 0 0; overflow: hidden; }
body.ih .table-list { background: transparent; border-collapse: collapse; }
body.ih .table-list > thead > tr > th { padding: 12px 14px; }
body.ih .table-list > tbody > tr > td { padding: 12px 14px; border-top: 1px solid var(--line); background: transparent; }
body.ih .table-list > tbody > tr { cursor: pointer; }
body.ih .dataTables_wrapper table.table-list { border: 0; border-radius: 0; background: transparent; }
body.ih .dataTables_wrapper table.table-list thead th,
body.ih .dataTables_wrapper table.table-list thead th.sorting_asc,
body.ih .dataTables_wrapper table.table-list thead th.sorting_desc,
body.ih table.table-list thead th { background: var(--bg2); color: var(--muted); border-bottom: 1px solid var(--line2); border-radius: 0; }
body.ih .dataTables_wrapper table.table-list thead th.sorting_asc,
body.ih .dataTables_wrapper table.table-list thead th.sorting_desc { color: var(--text); }
body.ih .dataTables_wrapper table.table-list tbody td { background: transparent; border-color: var(--line); }
body.ih .table-list .text-domain, body.ih .text-domain { color: var(--accent); }
body.ih .dataTables_wrapper .dataTables_info, body.ih .dataTables_wrapper .dataTables_length,
body.ih .dataTables_wrapper .dataTables_filter { color: var(--muted); font-size: 14px; padding: 10px 14px; }
body.ih .dataTables_wrapper .dataTables_filter input,
body.ih .dataTables_wrapper .dataTables_length select { background: var(--field); border: 1px solid var(--line2); color: var(--text); border-radius: 8px; }
body.ih .dataTables_wrapper .dataTables_paginate { padding: 8px 14px; }
body.ih .table-container .dataTables_wrapper > .listtable { border: 0; }
body.ih table.dataTable thead .sorting::after, body.ih table.dataTable thead .sorting_asc::after,
body.ih table.dataTable thead .sorting_desc::after { color: var(--dim); opacity: .7; }
body.ih .view-filter-btns a, body.ih .view-filter-btns .btn { color: var(--muted); }
body.ih .view-filter-btns a.active, body.ih .view-filter-btns .btn.active { color: var(--text); }

/* Pagination */
body.ih .pagination .page-link {
  background: var(--panel); border-color: var(--line2); color: var(--muted); font-family: var(--mono); font-size: 13px;
}
body.ih .pagination .page-link:hover { background: var(--panel2); color: var(--text); border-color: var(--line2); }
body.ih .pagination .page-item.active .page-link { background: var(--accent); border-color: var(--accent); color: #fff; }
body.ih .pagination .page-item.disabled .page-link { background: var(--bg2); border-color: var(--line); color: var(--dim); }
body.ih .pagination .page-item:first-child .page-link { border-radius: 8px 0 0 8px; }
body.ih .pagination .page-item:last-child .page-link { border-radius: 0 8px 8px 0; }

/* ---------------------------------------------------------------------
   Status labels / badges
   --------------------------------------------------------------------- */
body.ih .badge { font-weight: 600; border-radius: 999px; padding: .32em .7em; }
body.ih .badge-primary, body.ih .badge-info { background: rgba(74,163,255,.16); color: var(--accent); }
body.ih .badge-success { background: rgba(63,208,122,.14); color: var(--green); }
body.ih .badge-warning { background: rgba(242,184,75,.16); color: var(--amber); }
body.ih .badge-danger { background: rgba(255,107,107,.15); color: var(--red); }
body.ih .badge-secondary, body.ih .badge-light, body.ih .badge-dark, body.ih .badge-default { background: var(--panel2); color: var(--muted); }
body.ih .label, body.ih span.status {
  display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px;
  font-family: var(--mono); font-size: 11.5px; font-weight: 600; letter-spacing: .3px; text-transform: uppercase;
  background: var(--panel2); color: var(--muted); border: 1px solid var(--line2); line-height: 1.5; text-shadow: none;
}
body.ih .label::before, body.ih span.status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: none; }
body.ih .label-success, body.ih .status-active, body.ih .status-completed, body.ih .status-paid, body.ih .status-open,
body.ih .status-accepted, body.ih .status-delivered {
  color: var(--green); background: rgba(63,208,122,.1); border-color: rgba(63,208,122,.3);
}
body.ih .label-warning, body.ih .status-pending, body.ih .status-pending-transfer, body.ih .status-pending-registration,
body.ih .status-suspended, body.ih .status-customer-reply, body.ih .status-unpaid, body.ih .status-draft,
body.ih .status-grace, body.ih .status-redemption, body.ih .status-onhold, body.ih .status-on-hold, body.ih .status-in-progress {
  color: var(--amber); background: rgba(242,184,75,.1); border-color: rgba(242,184,75,.3);
}
body.ih .label-danger, body.ih .status-terminated, body.ih .status-cancelled, body.ih .status-expired,
body.ih .status-fraud, body.ih .status-overdue, body.ih .status-collections, body.ih .status-dead {
  color: var(--red); background: rgba(255,107,107,.09); border-color: rgba(255,107,107,.3);
}
body.ih .label-info, body.ih .status-answered, body.ih .status-refunded, body.ih .status-transferred-away {
  color: var(--accent); background: rgba(74,163,255,.1); border-color: rgba(74,163,255,.3);
}
body.ih .status-closed, body.ih .status-inactive, body.ih .label-default { color: var(--muted); }
body.ih .requestor-type-operator, body.ih .requestor-type-owner, body.ih .requestor-type-registereduser,
body.ih .requestor-type-subaccount, body.ih .requestor-type-guest {
  background: var(--panel2); color: var(--muted); border: 1px solid var(--line2);
}
body.ih .requestor-type-operator { color: var(--accent); border-color: rgba(74,163,255,.35); }

/* ---------------------------------------------------------------------
   Alerts
   --------------------------------------------------------------------- */
body.ih .alert { border-radius: 12px; border: 1px solid var(--line2); background: var(--panel); color: var(--text); }
body.ih .alert a:not(.btn), body.ih .alert .alert-link { color: inherit; text-decoration: underline; font-weight: 600; }
body.ih .alert-success { background: rgba(63,208,122,.08); border-color: rgba(63,208,122,.35); color: #b9f0cf; }
body.ih .alert-info, body.ih .alert-primary { background: rgba(74,163,255,.08); border-color: rgba(74,163,255,.35); color: #c6e2ff; }
body.ih .alert-warning { background: rgba(242,184,75,.08); border-color: rgba(242,184,75,.38); color: #f8dfab; }
body.ih .alert-danger { background: rgba(255,107,107,.08); border-color: rgba(255,107,107,.38); color: #ffc9c9; }
body.ih .alert-secondary, body.ih .alert-light, body.ih .alert-dark { background: var(--panel); border-color: var(--line2); color: var(--muted); }
body.ih .alert i { opacity: .9; }
body.ih .verification-banner { background: var(--panel2); border-bottom: 1px solid var(--line); color: var(--text); }
body.ih .verification-banner .btn { background: transparent; border: 1px solid var(--line2); color: var(--text); }
body.ih .verification-banner.email-verification { background: rgba(242,184,75,.08); border-color: rgba(242,184,75,.3); }
body.ih .verification-banner.user-validation { background: rgba(74,163,255,.08); }

/* ---------------------------------------------------------------------
   Tabs / pills
   --------------------------------------------------------------------- */
body.ih .nav-tabs { border-bottom-color: var(--line); }
body.ih .nav-tabs .nav-link { color: var(--muted); border: 0; border-bottom: 2px solid transparent; border-radius: 0; font-weight: 500; }
body.ih .nav-tabs .nav-link:hover { color: var(--text); border-bottom-color: var(--line2); }
body.ih .nav-tabs .nav-link.active, body.ih .nav-tabs .nav-item.show .nav-link {
  background: transparent; color: var(--text); border-bottom-color: var(--accent);
}
body.ih .nav-pills .nav-link { color: var(--muted); border-radius: 8px; }
body.ih .nav-pills .nav-link.active, body.ih .nav-pills .show > .nav-link { background: var(--accent); color: #fff; }
body.ih .responsive-tabs-sm { background: transparent; border-color: var(--line); }
body.ih .responsive-tabs-sm .nav-item a { color: var(--muted); }
body.ih .responsive-tabs-sm .nav-item a:hover { background: var(--panel2); color: var(--text); }
body.ih .responsive-tabs-sm .nav-item a.active { background: var(--panel); color: var(--text); border-color: var(--line2) var(--line2) var(--panel); }
body.ih .tab-content { color: var(--text); }
body.ih .product-details-tab-container, body.ih div.product-details-tab-container { background: var(--panel); border: 1px solid var(--line); border-top: 0; border-radius: 0 0 14px 14px; }

/* ---------------------------------------------------------------------
   Modals, popovers, tooltips
   --------------------------------------------------------------------- */
body.ih .modal-backdrop.show { opacity: .7; background: #04080c; }
body.ih .modal-content { background: var(--panel); border: 1px solid var(--line2); border-radius: 16px; color: var(--text); box-shadow: 0 40px 100px -30px rgba(0,0,0,.85); }
body.ih .modal-header { border-bottom-color: var(--line); }
body.ih .modal-footer { border-top-color: var(--line); background: var(--bg2); border-radius: 0 0 16px 16px; }
body.ih .modal-title { font-weight: 700; }
body.ih .modal-localisation .modal-content { background: var(--panel); }
body.ih .modal-localisation .item-selector .item { color: var(--muted); border-radius: 8px; border: 1px solid transparent; }
body.ih .modal-localisation .item-selector .item:hover { background: var(--panel2); color: var(--text); }
body.ih .modal-localisation .item-selector .item.active { background: rgba(74,163,255,.12); border-color: rgba(74,163,255,.4); color: var(--text); }
body.ih .popover, .popover { background: var(--panel); border: 1px solid var(--line2); border-radius: 12px; box-shadow: 0 24px 60px -20px rgba(0,0,0,.75); color: var(--text); }
.popover .popover-header { background: var(--panel2); border-bottom-color: var(--line); color: var(--text); }
.popover .popover-body { color: var(--text); }
.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after { border-bottom-color: var(--panel); }
.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before { border-bottom-color: var(--line2); }
.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after { border-top-color: var(--panel); }
.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before { border-top-color: var(--line2); }
.popover-user-notifications { max-width: 380px; }
.popover-user-notifications ul.client-alerts { padding: 4px; margin: 0; list-style: none; }
.popover-user-notifications ul li a { color: var(--muted) !important; border-radius: 8px; border-bottom: 1px solid var(--line) !important; display: flex; gap: 10px; padding: 10px; }
.popover-user-notifications ul li a:hover { background: var(--panel2) !important; color: var(--text) !important; }
.popover-user-notifications ul li .message { color: inherit; }
.popover-user-notifications ul li.none { color: var(--muted); padding: 10px; }
.tooltip-inner { background: #04080c; border: 1px solid var(--line2); border-radius: 7px; font-size: 12.5px; color: var(--text); }
.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { border-bottom-color: var(--line2); }
.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { border-top-color: var(--line2); }

body.ih #fullpage-overlay { background: rgba(4,8,12,.75); }
body.ih #fullpage-overlay .msg { color: var(--text); }

/* ---------------------------------------------------------------------
   Page-specific bits from Twenty-One
   --------------------------------------------------------------------- */
/* Product details */
body.ih div.product-details div.product-icon { background: var(--panel2); border: 1px solid var(--line2); border-radius: 14px; color: var(--accent); }
body.ih div.product-details div.product-icon h3, body.ih div.product-details div.product-icon h4 { color: var(--text); }
body.ih .product-status-active { background-color: rgba(63,208,122,.15) !important; color: var(--green); }
body.ih .product-status-pending { background-color: rgba(242,184,75,.15) !important; color: var(--amber); }
body.ih .product-status-suspended { background-color: rgba(242,184,75,.15) !important; color: var(--amber); }
body.ih .product-status-terminated, body.ih .product-status-cancelled, body.ih .product-status-fraud { background-color: rgba(255,107,107,.15) !important; color: var(--red); }
body.ih .product-status-text { color: inherit; font-family: var(--mono); }

/* Tickets */
body.ih .view-ticket .posted-by { background: var(--panel2); border-bottom: 1px solid var(--line); color: var(--muted); border-radius: 13px 13px 0 0; }
body.ih .view-ticket .card.staff, body.ih .view-ticket .ticket-reply.staff { border-color: rgba(74,163,255,.4); }
body.ih .view-ticket .attachment-list li figure { background: var(--bg2); border-color: var(--line2); }
body.ih .md-editor, body.ih .md-editor > textarea.markdown-editor, body.ih .md-editor > .md-preview {
  background: var(--field) !important; color: var(--text) !important; border-color: var(--line2) !important;
}
body.ih .md-editor .btn-toolbar { background: var(--bg2); border-color: var(--line2); }
body.ih .md-editor .btn-toolbar .btn { color: var(--muted); background: transparent; border: 0; }
body.ih .md-editor .md-footer, body.ih .md-editor .md-header { background: var(--bg2) !important; border-color: var(--line2) !important; color: var(--muted); }
body.ih .markdown-content, body.ih .md-preview { color: #cdd6e1; }
body.ih .md-preview table > thead > tr > th, body.ih .markdown-content table > thead > tr > th,
body.ih .md-preview table, body.ih .markdown-content table { background: var(--bg2); border-color: var(--line2); }
body.ih .ticketfeedbackstaffcont, body.ih .ticketf { background: var(--panel); border-color: var(--line); }

/* Knowledgebase / announcements / downloads */
body.ih .kb-category a:hover, body.ih .kb-article-item:hover { background: var(--panel2); }
body.ih .kb-article-item, body.ih .kb-category a { color: var(--text); border-radius: 10px; }
body.ih .announcements .announcement article { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; }
body.ih .announcements .announcement h1 a, body.ih .announcements .announcement h2 a { color: var(--text); }

/* Invoices / billing */
body.ih .invoice-summary-table td.total-row, body.ih tr.masspay-total td { background: var(--panel2) !important; color: var(--text); }
body.ih div.credit-card { background: linear-gradient(135deg, #1b2c44, #20194a); border: 1px solid var(--line2); color: var(--text); }
body.ih .paymethod-info, body.ih .paymethods .table td { color: var(--text); }

/* Home (logged out) domain search + misc */
body.ih .home-domain-search { background: transparent; }
body.ih .home-domain-search .input-group-wrapper { background: var(--panel); border: 1px solid var(--line2); border-radius: 14px; }
body.ih .home-domain-search .form-control { background: transparent; border: 0; }
body.ih .home-domain-search .tld-logos li { color: var(--muted); }
body.ih .action-icon-btns a { background: var(--panel); border-color: var(--line); color: var(--text); border-radius: 14px; }
body.ih .action-icon-btns a:hover { background: var(--panel2); border-color: var(--line2); }
body.ih .action-icon-btns .ico-container { color: var(--accent); }
body.ih .twofa-setup .backup-code { background: var(--bg2); border: 1px dashed var(--line2); color: var(--green); font-family: var(--mono); }
body.ih .select-account a { color: var(--text); border-color: var(--line); border-radius: 10px; }
body.ih .select-account a:hover { background: var(--panel2); }
body.ih .continue-container { background: var(--panel2); border-color: var(--line); }
body.ih .invite-box { background: var(--panel); border-color: var(--line); }
body.ih .promo-banner { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; color: var(--text); }
body.ih .upgrade .product-to-be-upgraded, body.ih .upgrade .products .product { background: var(--panel); border-color: var(--line); }
body.ih .featured-tld { background: var(--panel); border-color: var(--line); }
body.ih .domain-pricing .tld-row.highlighted { background: var(--panel2); }
body.ih .domain-pricing .tld-pricing-header div { background: var(--panel2) !important; color: var(--text); }
body.ih .store-order-container .store-domain-tabs li a { background: var(--panel); border-color: var(--line); color: var(--muted); }
body.ih .store-order-container .store-domain-tabs li.active a { background: var(--panel2); color: var(--text); }
body.ih .server-status .table td, body.ih .serverstatus .table td { color: var(--text); }

/* ---------------------------------------------------------------------
   Auth pages (login, password reset, 2FA) — centered card on grid glow
   --------------------------------------------------------------------- */
body.ih.ih-auth section#main-body { position: relative; padding: 24px 0 90px; }
body.ih.ih-auth section#main-body::before {
  content: ""; position: absolute; inset: -80px 0 auto 0; height: 560px;
  background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 48px 48px; opacity: .28; pointer-events: none;
  -webkit-mask-image: radial-gradient(ellipse 55% 70% at 50% 20%, #000 20%, transparent 75%);
          mask-image: radial-gradient(ellipse 55% 70% at 50% 20%, #000 20%, transparent 75%);
}
body.ih.ih-auth section#main-body::after {
  content: ""; position: absolute; width: 680px; height: 680px; left: 50%; top: -360px; transform: translateX(-50%);
  background: radial-gradient(circle, rgba(74,163,255,.2), rgba(124,92,255,.1) 45%, transparent 70%); pointer-events: none;
}
body.ih.ih-auth section#main-body > .container { position: relative; z-index: 1; }
body.ih.ih-auth .primary-content .card.mw-540,
body.ih.ih-auth .primary-content .card {
  background: linear-gradient(180deg, #172539, var(--panel) 55%);
  border-color: rgba(74,163,255,.45); border-radius: 18px;
  box-shadow: 0 0 0 1px rgba(74,163,255,.2), 0 40px 90px -36px rgba(74,163,255,.45);
}
body.ih.ih-auth .primary-content .card-footer { background: rgba(9,16,23,.55); text-align: center; }
body.ih.ih-auth .login-form .h3, body.ih.ih-auth .primary-content h6.h3 { font-size: 30px; font-weight: 800; letter-spacing: -1px; margin-bottom: 4px; }
body.ih.ih-auth .login-form .mb-4:first-child::before {
  content: "// client area"; display: block; margin-bottom: 10px;
  font-family: var(--mono); font-size: 12.5px; color: var(--accent); letter-spacing: 1px; text-transform: uppercase;
}
body.ih.ih-auth .login-form .form-control, body.ih.ih-auth .login-form .input-group-text,
body.ih.ih-auth .login-form .btn-reveal-pw { height: 46px; }
body.ih.ih-auth .login-form #login, body.ih.ih-auth .login-form .btn-primary { padding: 11px 26px; }
body.ih.ih-auth .login-form .form-check-input { position: static; margin: 0 6px 0 0; vertical-align: -2px; }
body.ih.ih-auth .login-form .text-right label { font-weight: 500; color: var(--muted); }
body.ih .providerLinkingFeedback .alert, body.ih .social-signin-btns { margin-top: 12px; }
body.ih .sub-heading { border-top-color: var(--line); }
body.ih .sub-heading span, body.ih #registration .sub-heading span {
  background: var(--panel); color: var(--accent); font-family: var(--mono); font-size: 12.5px; letter-spacing: 1px; text-transform: uppercase;
}
body.ih #registration .field, body.ih #registration .form-control { background-color: var(--field); border-color: var(--line2); color: var(--text); }
body.ih #registration .field[disabled], body.ih #registration .field[readonly],
body.ih #registration .form-control[disabled], body.ih #registration .form-control[readonly] { background-color: var(--bg2); }
body.ih #registration .field-icon i, body.ih .prepend-icon .field-icon i { color: var(--dim); }

/* ---------------------------------------------------------------------
   Footer (same as site)
   --------------------------------------------------------------------- */
body.ih footer.footer.ih-footer {
  margin: 0; border-top: 1px solid var(--line); background: #091017;
  padding: 60px 0 30px; color: var(--muted); font-size: 14.5px;
}
.ih-foot-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 44px; }
.ih-foot-grid h4 { color: var(--text); font-size: 14px; margin: 0 0 14px; font-weight: 700; letter-spacing: 0; }
.ih-foot-grid ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 9px; }
body.ih .ih-footer a { color: var(--muted); }
body.ih .ih-footer a:hover { color: var(--text); }
.ih-foot-about p { margin: 14px 0 0; max-width: 320px; }
.ih-foot-about address { font-style: normal; margin: 14px 0 0; }
.ih-foot-bottom { border-top: 1px solid var(--line); padding-top: 24px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 13px; color: var(--dim); }
.ih-foot-tools { margin: 0; padding: 0; display: flex; align-items: center; gap: 8px; }
.ih-foot-tools:empty { display: none; }
body.ih footer.footer .btn, body.ih footer.footer .btn.ih-locale-btn {
  background: var(--panel); border: 1px solid var(--line2); color: var(--muted);
  font-size: 13px; font-weight: 500; line-height: 1.75rem; padding: 0 10px; border-radius: 8px;
}
body.ih footer.footer .btn:hover { color: var(--text); border-color: #42577a; }
body.ih footer.footer .btn-icon { width: 1.9rem; height: 1.9rem; padding: 0; display: inline-grid; place-items: center; }

/* ---------------------------------------------------------------------
   Order form (standard_cart) — scoped with body.ih to beat its id selectors
   --------------------------------------------------------------------- */
body.ih #order-standard_cart { color: var(--text); }
body.ih #order-standard_cart label, body.ih #order-standard_cart p.domain-renewal-desc { color: var(--text); }
body.ih #order-standard_cart .header-lined h1 { font-size: clamp(28px, 4vw, 40px); font-weight: 800; letter-spacing: -1.2px; color: var(--text); }
body.ih #order-standard_cart .header-lined p { color: var(--muted); }
body.ih #order-standard_cart .sub-heading, body.ih #order-standard_cart .sub-heading-borderless { border-top-color: var(--line); }
body.ih #order-standard_cart .sub-heading span, body.ih #order-standard_cart .sub-heading-borderless span {
  background: var(--bg); color: var(--accent); font-family: var(--mono); font-size: 12.5px; letter-spacing: 1px; text-transform: uppercase;
}
body.ih #order-standard_cart .products .product {
  background: var(--panel); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; transition: transform .2s, border-color .2s, box-shadow .2s;
}
body.ih #order-standard_cart .products .product:hover { transform: translateY(-4px); border-color: var(--line2); box-shadow: 0 24px 60px -24px rgba(0,0,0,.7); }
body.ih #order-standard_cart .products .product header { background: transparent; border-bottom: 1px solid var(--line); padding: 18px 20px 14px; }
body.ih #order-standard_cart .products .product header span { color: var(--text); font-weight: 700; font-size: 20px; }
body.ih #order-standard_cart .products .product header .qty { color: var(--muted); font-family: var(--mono); font-size: 12px; }
body.ih #order-standard_cart .products .product div.product-desc { color: var(--muted); font-size: 14.5px; }
body.ih #order-standard_cart .products .product div.product-desc ul li { border-bottom: 1px dashed var(--line); }
body.ih #order-standard_cart .products .product div.product-desc ul li span.feature-value { color: var(--text); }
body.ih #order-standard_cart .products .product footer { border-top: 1px solid var(--line); }
body.ih #order-standard_cart .products .product .price { color: var(--text); font-weight: 800; letter-spacing: -.5px; font-size: 24px; }
body.ih #order-standard_cart .btn-success, body.ih #order-standard_cart .btn-order-now {
  background: var(--accent); border-color: var(--accent); color: #fff; box-shadow: 0 8px 24px -10px rgba(74,163,255,.6);
}
body.ih #order-standard_cart .btn-success:hover, body.ih #order-standard_cart .btn-order-now:hover { background: #3690f0; border-color: #3690f0; }
body.ih #order-standard_cart .products .product .product-pricing { color: var(--muted); }
body.ih #order-standard_cart .product-info { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; color: var(--muted); }
body.ih #order-standard_cart .product-info .product-title { color: var(--text); font-weight: 700; }
body.ih #order-standard_cart .field, body.ih #order-standard_cart .form-control {
  background-color: var(--field); border: 1px solid var(--line2); color: var(--text); border-radius: 9px; box-shadow: none;
}
body.ih #order-standard_cart .form-control:focus, body.ih #order-standard_cart .field:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(74,163,255,.18); }
body.ih #order-standard_cart .field[disabled], body.ih #order-standard_cart .field[readonly],
body.ih #order-standard_cart .form-control[disabled], body.ih #order-standard_cart .form-control[readonly] { background-color: var(--bg2); }
body.ih #order-standard_cart .field-icon i { color: var(--dim); }
body.ih #order-standard_cart .field-help-text { color: var(--muted); }

/* Summary */
body.ih #order-standard_cart .order-summary {
  background: var(--panel); border: 1px solid rgba(74,163,255,.45); border-radius: 16px; overflow: hidden;
  box-shadow: 0 0 0 1px rgba(74,163,255,.2), 0 30px 70px -30px rgba(74,163,255,.45);
}
body.ih #order-standard_cart .order-summary h2 {
  color: var(--text); background: linear-gradient(180deg, #172539, var(--panel)); border-bottom: 1px solid var(--line);
  font-size: 15px; font-family: var(--mono); text-transform: uppercase; letter-spacing: 1px; padding: 14px 18px; margin: 0;
}
body.ih #order-standard_cart .summary-container { background: transparent; color: var(--text); }
body.ih #order-standard_cart .order-summary .summary-totals,
body.ih #order-standard_cart .order-summary .subtotal,
body.ih #order-standard_cart .order-summary .bordered-totals { border-color: var(--line) !important; }
body.ih #order-standard_cart .order-summary .total-due-today .amt, body.ih #order-standard_cart .total-due-today .amt {
  color: var(--text); font-weight: 800; letter-spacing: -1px;
}
body.ih #order-standard_cart .order-summary .total-due-today span:not(.amt) { color: var(--muted); }
body.ih #order-standard_cart .order-summary .recurring-charges { color: var(--muted); }
body.ih #order-standard_cart .order-summary .btn-continue-shopping { color: var(--muted); }
body.ih #order-standard_cart .order-summary .btn-continue-shopping:hover { color: var(--text); }
body.ih #order-standard_cart .order-summary .loader { color: var(--dim); }
body.ih #order-standard_cart .btn-checkout, body.ih #order-standard_cart #checkout { padding: 12px 22px; font-size: 16px; }

/* View cart */
body.ih #order-standard_cart .view-cart-items-header {
  background: var(--bg2); color: var(--muted); border: 1px solid var(--line); border-bottom: 0; border-radius: 14px 14px 0 0;
  font-family: var(--mono); font-size: 12px; text-transform: uppercase; letter-spacing: .7px;
}
body.ih #order-standard_cart .view-cart-items { border: 1px solid var(--line); border-top: 0; border-radius: 0 0 14px 14px; overflow: hidden; border-bottom: 1px solid var(--line); }
body.ih #order-standard_cart .view-cart-items .item { background: var(--panel); border-top: 1px solid var(--line); }
body.ih #order-standard_cart .view-cart-items .item:nth-child(even) { background: #121b26; }
body.ih #order-standard_cart .view-cart-items .item-title { color: var(--text); font-weight: 600; }
body.ih #order-standard_cart .view-cart-items .item-group, body.ih #order-standard_cart .view-cart-items .item-domain { color: var(--accent); }
body.ih #order-standard_cart .view-cart-items .item-price span, body.ih #order-standard_cart .view-cart-items .cycle { color: var(--muted); }
body.ih #order-standard_cart .btn-remove-from-cart { color: var(--dim); }
body.ih #order-standard_cart .btn-remove-from-cart:hover { color: var(--red); }
body.ih #order-standard_cart .empty-cart .btn { background: transparent; color: var(--muted); border: 1px solid var(--line2); }
body.ih #order-standard_cart .empty-cart .btn:hover { color: var(--red); border-color: rgba(255,107,107,.5); }
body.ih #order-standard_cart .view-cart-tabs .nav-tabs a,
body.ih #order-standard_cart .view-cart-tabs .nav-tabs a[aria-selected="true"] { background: transparent; border-color: transparent; color: var(--muted); }
body.ih #order-standard_cart .view-cart-tabs .nav-tabs a[aria-selected="true"],
body.ih #order-standard_cart .view-cart-tabs .nav-tabs a.active { background: var(--panel); border-color: var(--line) var(--line) var(--panel); color: var(--text); border-radius: 10px 10px 0 0; }
body.ih #order-standard_cart .view-cart-tabs .tab-content { background: var(--panel); border: 1px solid var(--line); border-top: 0; border-radius: 0 0 14px 14px; }
body.ih #order-standard_cart .view-cart-promotion-code { background: var(--bg2); border: 1px dashed var(--line2); color: var(--text); border-radius: 10px; }
body.ih #order-standard_cart .view-cart-gateway-checkout { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; }

/* Addons / domain options / checkout */
body.ih #order-standard_cart .panel-addon { background: var(--panel); border-color: var(--line); border-radius: 14px; overflow: hidden; }
body.ih #order-standard_cart .panel-addon .panel-body label { color: var(--text); }
body.ih #order-standard_cart .panel-addon .panel-price { background: var(--bg2); color: var(--text); }
body.ih #order-standard_cart .panel-addon .panel-add, body.ih #order-standard_cart .panel-addon-selected .panel-add { background: var(--accent); }
body.ih #order-standard_cart .panel-addon-selected { border-color: var(--accent); }
body.ih #order-standard_cart .domain-selection-options .option { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; }
body.ih #order-standard_cart .domain-selection-options .option-selected { background: var(--panel2); border-color: rgba(74,163,255,.45); }
body.ih #order-standard_cart .domain-checker-available, body.ih .domain-checker-available { color: var(--green); }
body.ih #order-standard_cart .domain-checker-unavailable, body.ih #order-standard_cart .domain-checker-invalid,
body.ih .domain-checker-unavailable, body.ih .domain-checker-invalid { color: var(--red); }
body.ih #order-standard_cart .transfer-eligible { color: var(--green); background: rgba(63,208,122,.08); border-color: rgba(63,208,122,.3); }
body.ih #order-standard_cart .transfer-not-eligible { color: var(--muted); background: var(--panel); border-color: var(--line); }
body.ih #order-standard_cart .apply-credit-container { background: var(--panel2); border-radius: 12px; color: var(--text); }
body.ih #order-standard_cart .cc-input-container { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; }
body.ih #order-standard_cart .cc-input-container .existing-cc-grid { color: var(--muted); }
body.ih #order-standard_cart .account-select-container { border-right-color: var(--line); }
body.ih #order-standard_cart .account-select-container div.account { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; }
body.ih #order-standard_cart .account-select-container div.account.active { background: var(--panel2); border-color: rgba(74,163,255,.45); }
body.ih #order-standard_cart .mc-promo { background: var(--panel); border-color: var(--line2); border-radius: 14px; }
body.ih #order-standard_cart .mc-promo .body { background: var(--bg2); border-top-color: var(--line); }
body.ih #order-standard_cart .default-captcha { background: var(--panel); border-color: var(--line); color: var(--muted); }
body.ih #order-standard_cart .alert-warning.info-text-sm, body.ih #order-standard_cart .marketing-email-optin { background: var(--panel); border-color: var(--line); color: var(--muted); }

/* Domain checker / spotlight / suggestions */
body.ih .domain-checker-container {
  background: radial-gradient(ellipse at top, rgba(74,163,255,.25), transparent 60%), linear-gradient(135deg, #142338, #1a1838) !important;
  border: 1px solid rgba(74,163,255,.35); border-radius: 18px;
}
body.ih .domain-checker-container .input-group-box { background: var(--panel); border: 1px solid var(--line2); border-radius: 12px; }
body.ih .domain-checker-bg { background-image: none !important; }
body.ih .spotlight-tlds { background: transparent; }
body.ih .spotlight-tld { background: var(--panel); border: 1px solid var(--line); color: var(--text); border-radius: 12px; }
body.ih .spotlight-tld .btn:not(.domain-contact-support), body.ih .suggested-domains .btn:not(.domain-contact-support) { background: var(--accent); border-color: var(--accent); color: #fff; }
body.ih .spotlight-tld .unavailable, body.ih .spotlight-tld .invalid { background: var(--bg2); border-color: var(--line); color: var(--dim); }
body.ih .suggested-domains .card-header, body.ih #DomainSearchResults .primary-domain-header { border-bottom-color: var(--green); }
body.ih .suggested-domains .domain-lookup-suggestions-message, body.ih .suggested-domains .domain-lookup-suggestions-loader { background: var(--bg2); color: var(--muted); }
body.ih .domain-promo-box { background: var(--panel); border-color: var(--line); color: var(--text); border-radius: 14px; }
body.ih .domain-promo-box .small { color: var(--muted); }
body.ih div.domainresults div:not(.btn-group) span { color: var(--muted); }
body.ih .domain-renewals, body.ih .service-renewals, body.ih .addon-renewals .service-renewal { background: var(--panel); border-color: var(--line); }
body.ih .domain-renewals .domain-renewal, body.ih .service-renewals .service-renewal { border-bottom-color: var(--line); }
body.ih .domain-renewals .domain-renewal:nth-child(even), body.ih .service-renewals .service-renewal:nth-child(even) { background: #121b26; }
body.ih .form-control.domain-renewals-filter, body.ih .form-control.service-renewals-filter { background-color: var(--field) !important; }

/* Cart sidebar (categories) */
body.ih.ih-cart .cart-sidebar .card, body.ih .sidebar-collapsed .card { background: var(--panel); border-color: var(--line); }
body.ih .sidebar-collapsed { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; }

/* ---------------------------------------------------------------------
   Responsive
   --------------------------------------------------------------------- */
body.ih .container { padding-left: 20px; padding-right: 20px; }
@media (min-width: 1400px) {
  body.ih .container { max-width: 1240px; }
}
@media (max-width: 1199.98px) {
  .ih-sitenav a.ih-link { padding: 8px 10px !important; }
}
@media (max-width: 991.98px) {
  .ih-sitenav { display: none; }
  .ih-menu-toggle { display: block; }
  .ih-foot-grid { grid-template-columns: 1fr 1fr; }
  .ih-appbar-label { display: none !important; }

  /* Mobile menu: the WHMCS collapse becomes the site's drop-down sheet */
  body.ih header.header .main-navbar-wrapper.ih-appbar { border-bottom: 0; background: transparent; }
  body.ih header.header .main-navbar-wrapper .navbar-collapse { padding: 0; }
  body.ih header.header .main-navbar-wrapper .navbar-collapse.show,
  body.ih header.header .main-navbar-wrapper .navbar-collapse.collapsing {
    background: var(--bg); border-bottom: 1px solid var(--line); padding: 10px 0 18px;
    max-height: calc(100vh - 68px); overflow-y: auto;
  }
  body.ih header.header .main-navbar-wrapper.ih-appbar { position: absolute; left: 0; right: 0; }
  .ih-mobile-sitenav { display: block; list-style: none; margin: 0 0 8px; padding: 0; }
  .ih-mobile-sitenav a { display: block; padding: 11px 14px; border-radius: 8px; color: var(--muted) !important; font-size: 16px; font-weight: 500; }
  .ih-mobile-sitenav a:hover { background: var(--panel); color: var(--text) !important; }
  .ih-mobile-heading { font-family: var(--mono); font-size: 11.5px; color: var(--accent); text-transform: uppercase; letter-spacing: 1px; padding: 12px 14px 6px; }
  body.ih header.header .ih-appbar .navbar-nav > li > a { padding: 11px 14px !important; font-size: 16px; line-height: 1.4; }
  body.ih header.header .ih-appbar .navbar-nav .dropdown-menu { background: var(--bg2); box-shadow: none; margin: 2px 0 6px 10px; border-color: var(--line); }
  body.ih header.header .ih-appbar .search { width: 100%; }
  body.ih header.header .ih-appbar .search .btn, body.ih header.header .ih-appbar .search .form-control { height: 42px; font-size: 15px; }
}
@media (max-width: 820px) {
  .ih-topbar-links { display: none; }
}
@media (max-width: 767.98px) {
  body.ih .ih-hide-sm { display: none !important; }
  body.ih section#main-body { padding: 24px 0 64px; }
  .ih-page-hero { padding: 22px 0 20px; }
  .ih-tb-label { display: none; }
  body.ih .ih-active-client .btn-active-client { max-width: 140px; }
}
@media (max-width: 560px) {
  body.ih .ih-hide-xs { display: none !important; }
  .ih-foot-grid { grid-template-columns: 1fr; }
  body.ih.ih-loggedin .ih-status-pill { font-size: 0; gap: 0; }
  .ih-status-pill .ih-dot { margin-right: 0; }
  body.ih.ih-auth .primary-content .card-body { padding: 28px 22px !important; }
}
@media (max-width: 400px) {
  body.ih .container { padding-left: 16px; padding-right: 16px; }
}
@media (hover: none) {
  body.ih .ih-btn:hover, body.ih #order-standard_cart .products .product:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  body.ih *, body.ih *::before, body.ih *::after { animation: none !important; transition: none !important; }
}
@media print {
  body.ih { background: #fff; color: #000; }
  .ih-topbar, .ih-nav, .ih-appbar, .ih-page-hero, footer.ih-footer, .sidebar { display: none !important; }
}
