﻿
/* ==========================================================
   FariHost Modern WHMCS Template
   Premium web-hosting design layer for WHMCS Six
   ========================================================== */

:root {
    --fh-navy: #06113f;
    --fh-navy-2: #071a68;
    --fh-blue: #155dfc;
    --fh-blue-2: #2563eb;
    --fh-purple: #6d28d9;
    --fh-purple-2: #8b5cf6;
    --fh-teal: #14b8a6;
    --fh-cyan: #22d3ee;
    --fh-orange: #ff7a18;
    --fh-orange-2: #ff9f1c;
    --fh-green: #22c55e;
    --fh-red: #ef4444;
    --fh-bg: #f7f9ff;
    --fh-card: #ffffff;
    --fh-text: #07133f;
    --fh-muted: #64748b;
    --fh-border: #e5eaf5;
    --fh-shadow: 0 18px 45px rgba(15, 23, 42, .10);
    --fh-shadow-soft: 0 10px 26px rgba(15, 23, 42, .08);
    --fh-radius: 18px;
}

html {
    scroll-behavior: smooth;
}

body.fh-template {
    background: var(--fh-bg);
    color: var(--fh-text);
    font-family: "Open Sans", Arial, sans-serif;
    line-height: 1.6;
}

body.fh-template a {
    color: var(--fh-blue);
    transition: all .2s ease;
}

body.fh-template a:hover {
    color: var(--fh-purple);
    text-decoration: none;
}

body.fh-template .btn,
.fh-btn {
    border: 0;
    border-radius: 10px;
    font-weight: 800;
    letter-spacing: .01em;
    padding: 12px 22px;
    transition: all .25s ease;
    box-shadow: none;
}

.fh-btn:hover,
body.fh-template .btn:hover {
    transform: translateY(-1px);
}

.fh-btn-orange {
    color: #fff !important;
    background: linear-gradient(135deg, var(--fh-orange), var(--fh-orange-2)) !important;
    box-shadow: 0 12px 22px rgba(255, 122, 24, .28) !important;
}

.fh-btn-purple {
    color: #fff !important;
    background: linear-gradient(135deg, #4f46e5, var(--fh-purple-2)) !important;
    box-shadow: 0 12px 22px rgba(109, 40, 217, .25) !important;
}

.fh-btn-teal {
    color: #fff !important;
    background: linear-gradient(135deg, #059669, var(--fh-teal)) !important;
    box-shadow: 0 12px 22px rgba(20, 184, 166, .23) !important;
}

.fh-btn-soft {
    color: var(--fh-blue) !important;
    background: #edf4ff !important;
}

.fh-btn-glass,
.fh-btn-outline-light {
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.36) !important;
    background: rgba(255,255,255,.08) !important;
    backdrop-filter: blur(12px);
}

.fh-btn-outline-light:hover,
.fh-btn-glass:hover {
    background: rgba(255,255,255,.16) !important;
}

/* Header */
.fh-site-header {
    position: relative;
    z-index: 50;
    background: linear-gradient(135deg, #05113d 0%, #071b69 50%, #13003f 100%);
    color: #fff;
    box-shadow: 0 8px 28px rgba(2, 6, 23, .18);
}

.fh-offer-bar {
    min-height: 34px;
    font-size: 12px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    background: rgba(1, 6, 30, .35);
}

.fh-offer-bar .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 34px;
}

.fh-offer-left,
.fh-offer-right {
    display: flex;
    align-items: center;
    gap: 16px;
}

.fh-offer-left strong {
    color: var(--fh-orange-2);
}

.fh-offer-left i {
    color: var(--fh-orange-2);
}

.fh-offer-bar a {
    color: rgba(255,255,255,.9);
}

.fh-offer-bar a:hover {
    color: #fff;
}

.fh-mini-cart {
    padding: 5px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
}

.fh-navbar.navbar {
    margin: 0;
    border: 0;
    border-radius: 0;
    min-height: 72px;
    background: transparent;
}

.fh-navbar .container {
    position: relative;
}

.fh-brand {
    display: inline-flex !important;
    align-items: center;
    gap: 12px;
    min-height: 72px;
    color: #fff !important;
    font-size: 27px;
    font-weight: 900;
    letter-spacing: -.04em;
}

.fh-brand img {
    max-height: 42px;
    max-width: 230px;
}

.fh-brand-mark {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    color: #fff;
    background: linear-gradient(135deg, #38bdf8, #4f46e5 60%, #8b5cf6);
    box-shadow: 0 12px 25px rgba(37,99,235,.35), inset 0 1px 0 rgba(255,255,255,.25);
}

.fh-brand-text {
    color: #fff;
}

/* Logo ↔ menu spacing */
@media (min-width: 992px) {
    .fh-navbar .fh-brand-wrap.navbar-header {
        margin-right: 52px;
        padding-right: 4px;
    }

    .fh-navbar .navbar-collapse .fh-primary-menu {
        margin-left: 12px;
    }

    .fh-navbar .fh-primary-menu > li:first-child > a {
        padding-left: 18px !important;
    }
}

@media (min-width: 1200px) {
    .fh-navbar .fh-brand-wrap.navbar-header {
        margin-right: 64px;
    }

    .fh-navbar .navbar-collapse .fh-primary-menu {
        margin-left: 16px;
    }
}

.fh-primary-menu > li > a,
.fh-action-menu > li > a {
    color: rgba(255,255,255,.92) !important;
    font-weight: 800;
    padding: 26px 13px !important;
    background: transparent !important;
}

.fh-primary-menu > li > a i {
    display: none;
}

.fh-primary-menu > li > a:hover,
.fh-action-menu > li > a:hover {
    color: #fff !important;
    background: rgba(255,255,255,.06) !important;
}

.fh-nav-cta {
    margin-top: 15px;
    padding: 11px 20px !important;
    border-radius: 10px;
    color: #fff !important;
    background: linear-gradient(135deg, var(--fh-orange), var(--fh-orange-2)) !important;
    box-shadow: 0 10px 20px rgba(255,122,24,.25);
}

.fh-login-link {
    opacity: .95;
}

.fh-toggle {
    margin-top: 19px;
    border-color: rgba(255,255,255,.25) !important;
}

.fh-toggle .icon-bar {
    background: #fff !important;
}

/* Main body and global WHMCS panels */
.fh-main-body {
    background: var(--fh-bg);
}

.fh-main-body > .container,
.fh-main-body > .container-fluid {
    padding-top: 34px;
    padding-bottom: 34px;
}

body.fh-page-homepage .fh-main-body > .container-fluid {
    padding: 0;
}

body.fh-page-homepage .fh-main-body .row {
    margin-left: 0;
    margin-right: 0;
}

body.fh-page-homepage .main-content {
    padding-left: 0;
    padding-right: 0;
}

.fh-page-header {
    margin: 0 0 24px;
    padding: 26px 28px;
    border: 1px solid var(--fh-border);
    border-radius: var(--fh-radius);
    background: #fff;
    box-shadow: var(--fh-shadow-soft);
}

.fh-page-header h1 {
    margin: 0;
    color: var(--fh-text);
    font-weight: 900;
    letter-spacing: -.03em;
}

.fh-page-header h1 small {
    display: block;
    margin-top: 7px;
    color: var(--fh-muted);
    font-size: 14px;
    font-weight: 600;
}

.fh-template .breadcrumb {
    margin: 14px 0 0;
    padding: 0;
    background: transparent;
}

/* Homepage */
.fh-homepage {
    background: #fff;
}

.fh-hero {
    position: relative;
    overflow: hidden;
    min-height: 530px;
    padding: 82px 0 138px;
    color: #fff;
    background:
        radial-gradient(circle at 78% 35%, rgba(34, 211, 238, .30), transparent 23%),
        radial-gradient(circle at 90% 18%, rgba(139, 92, 246, .26), transparent 25%),
        linear-gradient(135deg, #05113d 0%, #061b6a 45%, #150146 100%);
}

.fh-hero::before,
.fh-hero::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.fh-hero::before {
    width: 820px;
    height: 150px;
    right: -120px;
    top: 230px;
    background: linear-gradient(90deg, transparent, rgba(34,211,238,.55), rgba(139,92,246,.45), transparent);
    filter: blur(14px);
    transform: rotate(-8deg);
}

.fh-hero::after {
    width: 760px;
    height: 760px;
    right: -260px;
    top: -260px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.08);
    background: radial-gradient(circle, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 18px 18px;
    opacity: .55;
}

.fh-hero-row {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
}

.fh-pill,
.fh-mini-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    padding: 7px 12px;
    border-radius: 999px;
    color: #dbeafe;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.14);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.fh-hero h1 {
    margin: 0 0 20px;
    font-size: 52px;
    line-height: 1.05;
    font-weight: 950;
    letter-spacing: -.055em;
    color: #fff;
}

.fh-hero-subtitle {
    max-width: 560px;
    margin: 0 0 20px;
    color: rgba(255,255,255,.84);
    font-size: 16px;
}

.fh-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin: 20px 0 25px;
    color: #e0f2fe;
    font-weight: 800;
}

.fh-hero-badges i {
    color: var(--fh-cyan);
    margin-right: 6px;
}

.fh-hero-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.fh-hero-visual {
    min-height: 340px;
}

.fh-server-scene {
    position: relative;
    min-height: 380px;
}

.fh-server-rack {
    position: absolute;
    width: 190px;
    min-height: 280px;
    padding: 28px 20px;
    border-radius: 22px;
    background: linear-gradient(145deg, #0a174f, #101b5d 60%, #16134f);
    border: 1px solid rgba(125, 211, 252, .20);
    box-shadow: 0 28px 70px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08);
}

.fh-rack-one {
    top: 28px;
    right: 220px;
    z-index: 2;
}

.fh-rack-two {
    top: 70px;
    right: 60px;
    opacity: .84;
}

.fh-server-rack span {
    display: block;
    height: 36px;
    margin-bottom: 14px;
    border-radius: 9px;
    background: linear-gradient(90deg, rgba(255,255,255,.08), rgba(59,130,246,.25));
    border: 1px solid rgba(125,211,252,.12);
    position: relative;
}

.fh-server-rack span::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 13px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--fh-orange);
    box-shadow: 24px 0 0 var(--fh-blue), 48px 0 0 var(--fh-cyan);
}

.fh-uptime-card {
    position: absolute;
    top: 90px;
    left: 30px;
    width: 170px;
    padding: 20px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 18px;
    background: rgba(37,99,235,.24);
    backdrop-filter: blur(18px);
    box-shadow: 0 18px 38px rgba(2, 6, 23, .23);
}

.fh-uptime-card strong {
    display: block;
    font-size: 30px;
    line-height: 1;
}

.fh-uptime-card small {
    display: block;
    margin: 5px 0 10px;
    color: #dbeafe;
}

.fh-uptime-card i {
    color: var(--fh-cyan);
    font-size: 32px;
}

.fh-shield-card {
    position: absolute;
    right: 176px;
    bottom: 50px;
    display: flex;
    width: 76px;
    height: 76px;
    align-items: center;
    justify-content: center;
    color: #67e8f9;
    border-radius: 24px;
    background: rgba(34, 211, 238, .10);
    border: 1px solid rgba(103,232,249,.22);
    box-shadow: 0 18px 38px rgba(34, 211, 238, .16);
    font-size: 34px;
}

/* Domain strip */
.fh-domain-strip {
    margin-top: -78px;
    position: relative;
    z-index: 5;
}

.fh-domain-card {
    overflow: hidden;
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--fh-shadow);
    border: 1px solid var(--fh-border);
}

.fh-domain-title {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 18px 28px;
}

.fh-domain-title i {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(135deg, var(--fh-blue), var(--fh-purple-2));
}

.fh-domain-title h3 {
    margin: 0;
    font-size: 17px;
    font-weight: 900;
    color: var(--fh-text);
}

.fh-domain-title p {
    margin: 2px 0 0;
    color: var(--fh-muted);
    font-size: 12px;
}

.fh-domain-form {
    display: flex;
    gap: 10px;
    align-items: stretch;
    padding: 0 28px 18px;
}

.fh-domain-form .form-control {
    height: 50px;
    border-color: var(--fh-border);
    box-shadow: none;
}

.fh-domain-form input.form-control {
    flex: 1;
}

.fh-tld-select {
    width: 110px !important;
}

.fh-domain-prices {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    border-top: 1px solid var(--fh-border);
}

.fh-domain-prices span {
    padding: 12px;
    text-align: center;
    color: var(--fh-text);
    font-weight: 900;
    border-right: 1px solid var(--fh-border);
}

.fh-domain-prices span:last-child {
    border-right: 0;
}

.fh-domain-prices strong {
    color: var(--fh-blue);
    margin-left: 6px;
}

/* Sections */
.fh-plans-section,
.fh-stats-testimonials {
    padding: 72px 0;
    background: #fff;
}

.fh-section-heading {
    max-width: 720px;
    margin: 0 auto 35px;
    text-align: center;
}

.fh-section-heading.compact {
    margin-top: 30px;
    margin-bottom: 22px;
}

.fh-section-heading .fh-mini-label {
    color: var(--fh-blue);
    background: #eef4ff;
    border-color: #dbeafe;
}

.fh-section-heading h2 {
    margin: 0 0 10px;
    color: var(--fh-text);
    font-size: 34px;
    font-weight: 950;
    letter-spacing: -.04em;
}

.fh-section-heading p {
    color: var(--fh-muted);
    margin: 0;
}

.fh-plan-grid {
    display: flex;
    flex-wrap: wrap;
}

.fh-plan-grid > [class*="col-"] {
    display: flex;
    margin-bottom: 24px;
}

.fh-plan-card {
    position: relative;
    width: 100%;
    padding: 25px;
    border: 1px solid var(--fh-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--fh-shadow-soft);
    transition: all .25s ease;
}

.fh-plan-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--fh-shadow);
}

.fh-plan-card.popular {
    border-color: rgba(20, 184, 166, .38);
    box-shadow: 0 20px 55px rgba(20, 184, 166, .15);
}

.fh-popular {
    position: absolute;
    top: -14px;
    right: 24px;
    padding: 6px 12px;
    color: #fff;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--fh-teal), #10b981);
    font-size: 11px;
    font-weight: 900;
}

.fh-plan-icon {
    display: flex;
    width: 62px;
    height: 62px;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    font-size: 26px;
    margin-bottom: 18px;
}

.fh-plan-icon.blue { color: var(--fh-blue); background: #eef4ff; }
.fh-plan-icon.teal { color: var(--fh-teal); background: #e8fffb; }
.fh-plan-icon.purple { color: var(--fh-purple); background: #f4efff; }
.fh-plan-icon.orange { color: var(--fh-orange); background: #fff4e8; }

.fh-plan-card h3 {
    margin: 0 0 8px;
    color: var(--fh-text);
    font-size: 19px;
    font-weight: 950;
}

.fh-plan-card p {
    min-height: 72px;
    color: var(--fh-muted);
    font-size: 13px;
}

.fh-price {
    margin: 18px 0;
}

.fh-price small {
    display: block;
    color: var(--fh-muted);
    font-weight: 700;
}

.fh-price strong {
    color: var(--fh-blue);
    font-size: 30px;
    font-weight: 950;
    letter-spacing: -.04em;
}

.fh-price span {
    color: var(--fh-muted);
    font-weight: 800;
}

.fh-plan-card ul {
    padding: 0;
    margin: 0 0 20px;
    list-style: none;
}

.fh-plan-card li {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 0;
    color: #334155;
    font-size: 13px;
    font-weight: 700;
}

.fh-plan-card li i {
    color: var(--fh-green);
}

.fh-feature-strip {
    padding: 0 0 40px;
    background: #fff;
}

.fh-feature-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    border: 1px solid var(--fh-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--fh-shadow-soft);
    overflow: hidden;
}

.fh-feature-grid > div {
    padding: 22px 18px;
    border-right: 1px solid var(--fh-border);
}

.fh-feature-grid > div:last-child {
    border-right: 0;
}

.fh-feature-grid i {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    color: var(--fh-blue);
    border-radius: 15px;
    background: #eef4ff;
    font-size: 20px;
}

.fh-feature-grid h4 {
    margin: 0 0 6px;
    font-size: 14px;
    font-weight: 950;
}

.fh-feature-grid p {
    margin: 0;
    color: var(--fh-muted);
    font-size: 12px;
}

.fh-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
    margin-bottom: 54px;
}

.fh-stats-grid > div {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 24px;
    border: 1px solid var(--fh-border);
    border-radius: 18px;
    background: linear-gradient(135deg, #fff, #f8fbff);
    box-shadow: var(--fh-shadow-soft);
}

.fh-stats-grid i {
    width: 54px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 54px;
    color: var(--fh-blue);
    border-radius: 17px;
    background: #eef4ff;
    font-size: 22px;
}

.fh-stats-grid strong {
    display: block;
    color: var(--fh-blue);
    font-size: 24px;
    font-weight: 950;
}

.fh-stats-grid span {
    color: var(--fh-muted);
    font-size: 12px;
    font-weight: 700;
}

.fh-testimonial-card {
    min-height: 190px;
    padding: 25px;
    border: 1px solid var(--fh-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--fh-shadow-soft);
}

.fh-testimonial-card p {
    color: #334155;
    min-height: 70px;
}

.fh-stars {
    color: #f59e0b;
    letter-spacing: 2px;
    margin-bottom: 8px;
}

.fh-testimonial-card strong {
    display: block;
    color: var(--fh-text);
}

.fh-testimonial-card span {
    display: block;
    color: var(--fh-muted);
    font-size: 12px;
}

/* Footer */
.fh-footer {
    color: rgba(255,255,255,.83);
    background: #06113f;
}

.fh-footer-cta {
    background: linear-gradient(135deg, #075ef2, #551bc9 72%, #2a0b62);
}

.fh-footer-cta .container {
    min-height: 98px;
    display: flex;
    align-items: center;
    gap: 22px;
}

.fh-footer-cta-icon {
    width: 64px;
    height: 64px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    color: #fff;
    background: rgba(255,255,255,.12);
    font-size: 27px;
}

.fh-footer-cta h3 {
    margin: 0 0 4px;
    color: #fff;
    font-weight: 950;
    letter-spacing: -.03em;
}

.fh-footer-cta p {
    margin: 0;
    color: rgba(255,255,255,.84);
}

.fh-footer-cta-actions {
    margin-left: auto;
    display: flex;
    gap: 12px;
}

.fh-footer-main {
    padding: 42px 0 24px;
    background:
        radial-gradient(circle at 20% 0, rgba(37,99,235,.25), transparent 32%),
        linear-gradient(180deg, #07184f, #05113d);
}

.fh-footer-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff !important;
    font-size: 24px;
    font-weight: 950;
    letter-spacing: -.04em;
    margin-bottom: 12px;
}

.fh-footer-brand-col p {
    color: rgba(255,255,255,.68);
    max-width: 260px;
}

.fh-footer h4 {
    color: #fff;
    font-size: 14px;
    font-weight: 950;
    margin: 10px 0 14px;
}

.fh-footer-main a:not(.fh-footer-brand) {
    display: block;
    margin: 8px 0;
    color: rgba(255,255,255,.68);
    font-size: 13px;
}

.fh-footer-main a:hover {
    color: #fff;
}

.fh-social {
    display: flex;
    gap: 9px;
}

.fh-social a {
    display: inline-flex !important;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255,255,255,.09);
}

.fh-contact-line {
    color: rgba(255,255,255,.75);
}

.fh-payments {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 14px;
}

.fh-payments span {
    display: inline-flex;
    height: 25px;
    align-items: center;
    padding: 0 8px;
    border-radius: 5px;
    background: rgba(255,255,255,.12);
    color: #fff;
    font-size: 10px;
    font-weight: 900;
}

.fh-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.08);
    color: rgba(255,255,255,.58);
    font-size: 12px;
}

.fh-footer-bottom a {
    display: inline !important;
    margin-left: 16px !important;
}

/* Client area dashboard */
.fh-client-dashboard {
    padding-bottom: 30px;
}

.fh-client-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 24px;
}

.fh-client-hero h2 {
    margin: 0 0 3px;
    color: var(--fh-text);
    font-size: 30px;
    font-weight: 950;
    letter-spacing: -.04em;
}

.fh-client-hero p {
    margin: 0;
    color: var(--fh-muted);
}

.fh-client-search {
    position: relative;
    width: 380px;
    max-width: 100%;
}

.fh-client-search i {
    position: absolute;
    left: 15px;
    top: 14px;
    color: #94a3b8;
}

.fh-client-search input {
    height: 46px;
    padding-left: 42px;
    border: 1px solid var(--fh-border);
    border-radius: 14px;
    box-shadow: var(--fh-shadow-soft);
}

.fh-client-stats {
    margin-bottom: 18px;
}

.fh-stat-card {
    min-height: 136px;
    display: block;
    position: relative;
    padding: 24px 24px 20px;
    border-radius: 18px;
    color: #fff !important;
    overflow: hidden;
    box-shadow: var(--fh-shadow-soft);
    margin-bottom: 20px;
}

.fh-stat-card::after {
    content: "";
    position: absolute;
    right: -35px;
    top: -45px;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    background: rgba(255,255,255,.14);
}

.fh-stat-card.blue { background: linear-gradient(135deg, #155dfc, #2563eb); }
.fh-stat-card.purple { background: linear-gradient(135deg, #7c3aed, #a855f7); }
.fh-stat-card.teal { background: linear-gradient(135deg, #14b8a6, #2dd4bf); }
.fh-stat-card.orange { background: linear-gradient(135deg, #f97316, #f59e0b); }

.fh-stat-card span {
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: rgba(255,255,255,.18);
    font-size: 22px;
    margin-right: 12px;
    vertical-align: middle;
}

.fh-stat-card strong {
    display: inline-block;
    vertical-align: middle;
    font-size: 32px;
    line-height: 1;
    font-weight: 950;
}

.fh-stat-card small {
    display: block;
    margin-top: 12px;
    color: rgba(255,255,255,.95);
    font-size: 16px;
    font-weight: 800;
}

.fh-stat-card em {
    display: block;
    margin-top: 6px;
    color: rgba(255,255,255,.86);
    font-style: normal;
    font-size: 12px;
    font-weight: 700;
}

.fh-dashboard-panel {
    border: 1px solid var(--fh-border) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: var(--fh-shadow-soft);
    overflow: hidden;
    margin-bottom: 22px;
}

body.fh-ca-shell .fh-ca-app-dashboard .fh-dashboard-panel {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    margin-bottom: 14px;
}

.fh-panel-title,
.fh-dashboard-panel > .panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 19px 22px !important;
    background: #fff !important;
    border-bottom: 1px solid var(--fh-border) !important;
}

body.fh-ca-shell .fh-ca-app-dashboard .fh-dashboard-panel > .panel-heading {
    padding: 0 0 12px !important;
    background: transparent !important;
    border: none !important;
}

.fh-panel-title h3,
.fh-dashboard-panel .panel-title {
    margin: 0;
    color: var(--fh-text) !important;
    font-size: 17px;
    font-weight: 950;
}

body.fh-ca-shell .fh-ca-app-dashboard .fh-dashboard-panel .panel-title {
    color: #ffffff !important;
}

.fh-panel-title a {
    font-size: 12px;
    font-weight: 900;
}

.fh-overview-list a {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 17px 22px;
    border-bottom: 1px solid var(--fh-border);
}

.fh-overview-list a:last-child {
    border-bottom: 0;
}

.fh-overview-list a:hover {
    background: #f8fbff;
}

.fh-overview-icon {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 46px;
    border-radius: 15px;
}

.fh-overview-icon.blue { color: var(--fh-blue); background: #eef4ff; }
.fh-overview-icon.purple { color: var(--fh-purple); background: #f4efff; }
.fh-overview-icon.teal { color: var(--fh-teal); background: #e8fffb; }
.fh-overview-icon.orange { color: var(--fh-orange); background: #fff4e8; }

.fh-overview-list strong {
    display: block;
    color: var(--fh-text);
}

.fh-overview-list small {
    display: block;
    color: var(--fh-muted);
}

.fh-overview-list .label {
    margin-left: auto;
    border-radius: 999px;
    padding: 6px 10px;
}

.fh-quick-actions > a {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 13px 18px;
    border-bottom: 1px solid var(--fh-border);
}

.fh-quick-actions > a:last-child {
    border-bottom: 0;
}

.fh-quick-actions > a > i {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--fh-blue);
    border-radius: 13px;
    background: #eef4ff;
}

.fh-quick-actions strong {
    display: block;
    color: var(--fh-text);
}

.fh-quick-actions small {
    display: block;
    color: var(--fh-muted);
}

.fh-quick-actions span {
    margin-left: auto;
    color: #94a3b8;
}

.fh-client-panels .panel-body,
.fh-client-panels .panel-footer {
    padding: 18px 22px;
}

.fh-client-panels .list-group-item {
    border-color: var(--fh-border);
}

.fh-dashboard-boost {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: 6px;
    padding: 22px;
    border-radius: 18px;
    color: #fff;
    background: linear-gradient(135deg, #071b69, #4f1bb7);
    box-shadow: var(--fh-shadow-soft);
}

.fh-dashboard-boost div {
    display: flex;
    align-items: center;
    gap: 11px;
}

.fh-dashboard-boost i {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: rgba(255,255,255,.12);
}

.fh-dashboard-boost strong {
    display: block;
    white-space: nowrap;
}

.fh-dashboard-boost span {
    display: block;
    color: rgba(255,255,255,.75);
    font-size: 12px;
}

.fh-dashboard-boost .btn {
    margin-left: auto;
    white-space: nowrap;
}

/* Sidebars and WHMCS tables */
.fh-template .sidebar .panel-sidebar,
.fh-template .panel,
.fh-template .table-container,
.fh-template .logincontainer,
.fh-template .domain-checker-container {
    border: 1px solid var(--fh-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--fh-shadow-soft);
    overflow: hidden;
}

.fh-template .panel-sidebar > .panel-heading,
.fh-template .panel-default > .panel-heading {
    border-bottom: 1px solid var(--fh-border);
    background: #fff;
}

.fh-template .panel-title {
    color: var(--fh-text);
    font-weight: 900;
}

.fh-template .list-group-item {
    border-color: var(--fh-border);
}

.fh-template .list-group-item.active,
.fh-template .list-group-item.active:hover,
.fh-template .list-group-item.active:focus {
    background: linear-gradient(135deg, var(--fh-blue), var(--fh-purple));
    border-color: transparent;
}

.fh-template .table-container {
    padding: 0;
    margin-bottom: 22px;
}

.fh-template table.table-list thead th,
.fh-template .dataTables_wrapper table.table-list thead th {
    background: #f8fbff;
    color: var(--fh-text);
    border-bottom: 1px solid var(--fh-border);
    font-weight: 900;
}

.fh-template .table > tbody > tr > td {
    border-top: 1px solid var(--fh-border);
    vertical-align: middle;
}

.fh-template .status,
.fh-template .label.status {
    border-radius: 999px;
    padding: 6px 11px;
    font-weight: 900;
}

.fh-template .status-active,
.fh-template .status-paid {
    color: #047857;
    background: #dcfce7;
}

.fh-template .status-pending,
.fh-template .status-unpaid {
    color: #b45309;
    background: #fef3c7;
}

.fh-template .status-cancelled,
.fh-template .status-terminated,
.fh-template .status-open {
    color: #b91c1c;
    background: #fee2e2;
}

/* Domain pricing page */
.fh-domain-page {
    max-width: 1180px;
    margin: 0 auto;
}

.fh-domain-hero {
    position: relative;
    margin: -34px -15px 28px;
    padding: 75px 20px 86px;
    text-align: center;
    color: #fff;
    border-radius: 0 0 34px 34px;
    overflow: hidden;
    background:
        radial-gradient(circle at 82% 20%, rgba(34,211,238,.26), transparent 25%),
        radial-gradient(circle at 0 72%, rgba(139,92,246,.32), transparent 26%),
        linear-gradient(135deg, #05113d, #071b69 50%, #3b0e85);
}

.fh-domain-hero::after {
    content: "";
    position: absolute;
    right: -140px;
    top: -160px;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,255,255,.12) 1px, transparent 1px);
    background-size: 16px 16px;
    opacity: .4;
}

.fh-domain-hero .container {
    position: relative;
    z-index: 2;
}

.fh-domain-hero h1 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 44px;
    font-weight: 950;
    letter-spacing: -.04em;
}

.fh-domain-hero h1 span,
.fh-domain-hero h1 strong {
    color: var(--fh-cyan);
}

.fh-domain-hero p {
    margin: 0 0 24px;
    color: rgba(255,255,255,.82);
}

.fh-domain-page-search {
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: 760px;
    margin: 0 auto 18px;
    padding: 10px;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 20px 55px rgba(2,6,23,.22);
}

.fh-domain-page-search > i {
    color: var(--fh-blue);
    font-size: 22px;
    margin-left: 12px;
}

.fh-domain-page-search .form-control {
    height: 48px;
    border: 0;
    box-shadow: none;
    font-size: 15px;
}

.fh-domain-benefits {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 22px;
    color: rgba(255,255,255,.86);
    font-weight: 800;
}

.fh-domain-benefits i {
    color: #a7f3d0;
    margin-right: 7px;
}

.fh-featured-tlds {
    margin-bottom: 28px;
}

.fh-featured-tlds .featured-tld {
    min-height: 160px;
    padding: 24px;
    border: 1px solid var(--fh-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--fh-shadow-soft);
    text-align: center;
    margin-bottom: 18px;
}

.fh-featured-tlds .featured-tld img {
    max-height: 44px;
    max-width: 100%;
}

.fh-featured-tlds .price {
    margin: 14px 0;
    color: var(--fh-text);
    font-size: 18px;
    font-weight: 950;
}

.fh-tld-filters {
    text-align: center;
    margin-bottom: 18px;
}

.fh-tld-filters .label {
    display: inline-block;
    margin: 4px;
    padding: 8px 12px;
    border-radius: 999px;
    background: #eef4ff;
    color: var(--fh-blue);
    font-size: 12px;
}

.fh-tld-filters .label-success {
    color: #fff;
    background: linear-gradient(135deg, var(--fh-blue), var(--fh-purple));
}

.fh-table-card {
    border-radius: 18px !important;
    overflow: hidden;
}

.fh-domain-support {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 28px 0 10px;
    padding: 26px;
    color: #fff;
    border-radius: 18px;
    background: linear-gradient(135deg, #06113f, #4318a9);
    box-shadow: var(--fh-shadow-soft);
}

.fh-domain-support h3 {
    margin: 0 0 5px;
    color: #fff;
    font-weight: 950;
}

.fh-domain-support p {
    margin: 0;
    color: rgba(255,255,255,.78);
}

.fh-domain-phone {
    color: #fff !important;
    font-weight: 900;
    white-space: nowrap;
}

/* WHMCS forms */
.fh-template .form-control {
    border-color: var(--fh-border);
    border-radius: 10px;
    box-shadow: none;
}

.fh-template .form-control:focus {
    border-color: var(--fh-blue);
    box-shadow: 0 0 0 3px rgba(37,99,235,.12);
}

.fh-template .btn-primary,
.fh-template .btn-success {
    border-color: transparent !important;
    background: linear-gradient(135deg, var(--fh-blue), var(--fh-purple)) !important;
}

/* Responsive */
@media (max-width: 991px) {
    .fh-offer-bar .container,
    .fh-footer-cta .container,
    .fh-client-hero,
    .fh-domain-support,
    .fh-dashboard-boost {
        flex-direction: column;
        align-items: flex-start;
    }

    .fh-offer-right {
        flex-wrap: wrap;
    }

    .fh-primary-menu > li > a,
    .fh-action-menu > li > a {
        padding: 13px 15px !important;
    }

    .fh-nav-cta {
        margin: 8px 15px 15px;
        display: inline-block !important;
    }

    .fh-hero-row {
        display: block;
    }

    .fh-hero {
        padding-bottom: 118px;
    }

    .fh-hero h1 {
        font-size: 39px;
    }

    .fh-hero-visual {
        display: none;
    }

    .fh-domain-form,
    .fh-domain-page-search {
        flex-direction: column;
        align-items: stretch;
    }

    .fh-tld-select {
        width: 100% !important;
    }

    .fh-domain-prices,
    .fh-feature-grid,
    .fh-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .fh-feature-grid > div {
        border-bottom: 1px solid var(--fh-border);
    }

    .fh-footer-cta-actions {
        margin-left: 0;
    }

    .fh-dashboard-boost .btn {
        margin-left: 0;
    }
}

@media (max-width: 640px) {
    .fh-domain-prices,
    .fh-feature-grid,
    .fh-stats-grid {
        grid-template-columns: 1fr;
    }

    .fh-hero h1,
    .fh-domain-hero h1 {
        font-size: 32px;
    }

    .fh-domain-title {
        align-items: flex-start;
    }

    .fh-footer-bottom {
        flex-direction: column;
    }

    .fh-client-search {
        width: 100%;
    }
}


/* FariHost real-site content additions */
.fh-dropdown-menu {
    border: 0;
    border-radius: 16px;
    padding: 10px;
    box-shadow: 0 18px 45px rgba(2, 6, 23, .2);
    background: rgba(255,255,255,.98);
}
.fh-dropdown-menu > li > a {
    border-radius: 10px;
    padding: 10px 14px;
    color: var(--fh-text) !important;
    font-weight: 700;
}
.fh-dropdown-menu > li > a:hover {
    color: var(--fh-blue) !important;
    background: #eef4ff !important;
}
.fh-linux-package-panel {
    margin-top: 34px;
    padding: 30px;
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    border: 1px solid var(--fh-border);
    box-shadow: var(--fh-shadow-soft);
}
.fh-real-plan {
    min-height: 230px;
    padding: 22px;
    border: 1px solid var(--fh-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 26px rgba(15,23,42,.06);
}
.fh-real-plan span {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--fh-blue);
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 900;
    letter-spacing: .08em;
}
.fh-real-plan h4 {
    margin: 0 0 10px;
    font-weight: 900;
}
.fh-real-plan strong {
    display: block;
    color: var(--fh-orange);
    font-size: 21px;
    line-height: 1.2;
}
.fh-real-plan small {
    display: block;
    color: var(--fh-muted);
    margin: 4px 0 12px;
    font-weight: 800;
}
.fh-real-plan.featured {
    border-color: rgba(109,40,217,.35);
    box-shadow: 0 18px 40px rgba(109,40,217,.14);
}
.fh-about-steps {
    margin-top: 34px;
    margin-bottom: 34px;
}
.fh-about-card,
.fh-steps-card {
    height: 100%;
    padding: 30px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid var(--fh-border);
    box-shadow: var(--fh-shadow-soft);
}
.fh-about-card h2,
.fh-steps-card h2 {
    margin-top: 8px;
    font-weight: 900;
    letter-spacing: -.03em;
}
.fh-steps-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 18px;
}
.fh-steps-grid > div {
    padding: 18px;
    border-radius: 16px;
    background: #f7faff;
    border: 1px solid #e6edfb;
}
.fh-steps-grid b {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(135deg, var(--fh-blue), var(--fh-purple));
}
.fh-steps-grid h4 {
    font-weight: 900;
    margin: 0 0 6px;
}
.fh-steps-grid p {
    margin: 0;
    color: var(--fh-muted);
    font-size: 13px;
}
.fh-footer-subtitle {
    margin-top: 18px !important;
}
.fh-page-homepage .fh-main-body > .container-fluid.without-padding,
body.fh-page-homepage .fh-main-body > .container-fluid.without-padding {
    padding-left: 0;
    padding-right: 0;
}
@media (max-width: 767px) {
    .fh-steps-grid { grid-template-columns: 1fr; }
    .fh-linux-package-panel { padding: 18px; }
}


/* ==========================================================
   FariHost phase 2 overrides: all-pages polish
   ========================================================== */

body.fh-page-homepage .fh-main-body,
body.fh-page-homepage .fh-main-body > .container-fluid,
body.fh-page-homepage .fh-main-body > .container-fluid > .row,
body.fh-page-homepage .fh-main-body .main-content {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

body.fh-page-homepage .fh-main-body { background: #fff !important; }
body.fh-page-homepage .main-content > *:first-child { margin-top: 0 !important; }

.fh-navbar .navbar-collapse { border-top: 0; box-shadow: none; }
.fh-brand,
.fh-footer-brand {
    position: relative;
}

.fh-brand img,
.fh-footer-brand img {
    display: block;
    max-height: 46px;
    width: auto;
    padding: 8px 12px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.07));
    border: 1px solid rgba(255,255,255,.14);
    box-shadow: 0 12px 30px rgba(0,0,0,.15);
}

.fh-footer-brand img { max-height: 44px; }

.fh-dropdown-menu {
    padding: 10px;
    border: 1px solid rgba(13,31,90,.08);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 24px 54px rgba(2,6,23,.15);
}

.fh-dropdown-menu > li > a {
    padding: 10px 14px;
    border-radius: 12px;
    color: var(--fh-text);
    font-weight: 700;
}

.fh-dropdown-menu > li > a:hover {
    color: var(--fh-blue-2);
    background: rgba(37,99,235,.07);
}

/* Navbar dropdowns — ensure menus open above content */
.fh-navbar .dropdown-menu {
    z-index: 9999 !important;
}

.fh-navbar .dropdown.open > .dropdown-menu,
.fh-navbar .dropdown.open > .fh-dropdown-menu {
    display: block !important;
}

.fh-site-header .navbar-collapse {
    overflow: visible !important;
}

.fh-primary-menu .dropdown {
    position: relative;
}

/* Global cards, panels, and content shells */
.fh-template .panel,
.fh-template .card,
.fh-template .well,
.fh-template .list-group,
.fh-template .domainchecker-sidebar,
.fh-template .logincontainer,
.fh-template .announcement-single,
.fh-template .knowledgebase-article,
.fh-template .ticket-reply,
.fh-template .product-details,
.fh-template .support-ticket,
.fh-template .store .featured-offer,
.fh-template .store-order-container,
.fh-template .affiliate-stat,
.fh-template .masspay-container,
.fh-template .view-ticket-container {
    border: 1px solid var(--fh-border);
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--fh-shadow-soft);
}

.fh-template .panel,
.fh-template .card,
.fh-template .well,
.fh-template .ticket-reply,
.fh-template .support-ticket,
.fh-template .store-order-container,
.fh-template .view-ticket-container {
    overflow: hidden;
}

.fh-template .panel-heading,
.fh-template .card-header,
.fh-template .modal-header,
.fh-template .section-heading {
    border-bottom: 1px solid rgba(14, 24, 48, .08) !important;
    background: linear-gradient(180deg, #fbfdff, #f3f8ff) !important;
}

.fh-template .panel-body,
.fh-template .card-body,
.fh-template .panel-footer,
.fh-template .modal-body,
.fh-template .modal-footer {
    background: #fff;
}

.fh-template .panel-title,
.fh-template h2,
.fh-template h3,



.fh-template .table-container,
.fh-template .dataTables_wrapper,
.fh-template .table-responsive {
    border-radius: 18px;
    color: #000000;
}

.fh-template table.table,
.fh-template .table-list {
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
}

.fh-template table.table thead tr,
.fh-template .table-list thead tr {
    background: #f6f9ff;
}

.fh-template table.table thead th,
.fh-template table.table thead td,
.fh-template .table-list thead th,
.fh-template .table-list thead td {
    color: var(--fh-text);
    font-weight: 800;
    border-bottom: 1px solid rgba(14,24,48,.08);
}

.fh-template table.table tbody td,
.fh-template .table-list tbody td {
    vertical-align: middle;
    border-top: 1px solid rgba(14,24,48,.06);
}

.fh-template .table-list tbody tr,
.fh-template table.table tbody tr {
    transition: .2s ease;
}

.fh-template .table-list tbody tr:hover,
.fh-template table.table tbody tr:hover {
    background: rgba(37,99,235,.03);
}

.fh-template .table-container {
    padding: 0;
    border: 1px solid rgba(14,24,48,.08);
    border-radius: 20px;
    background: #fff;
    overflow: hidden;
}

.fh-template .label,
.fh-template .status,
.fh-template .badge {
    border-radius: 999px;
    font-weight: 800;
    letter-spacing: .01em;
}

.fh-template .status.status-paid,
.fh-template .status.status-active,
.fh-template .label-success,
.fh-template .badge-success {
    background: rgba(16, 185, 129, .12) !important;
    color: #059669 !important;
    border: 1px solid rgba(16,185,129,.18);
}

.fh-template .status.status-unpaid,
.fh-template .status.status-pending,
.fh-template .status.status-pendingtransfer,
.fh-template .label-warning,
.fh-template .badge-warning {
    background: rgba(245, 158, 11, .14) !important;
    color: #b45309 !important;
    border: 1px solid rgba(245,158,11,.18);
}

.fh-template .status.status-overdue,
.fh-template .status.status-cancelled,
.fh-template .status.status-fraud,
.fh-template .label-danger,
.fh-template .badge-danger {
    background: rgba(239, 68, 68, .12) !important;
    color: #dc2626 !important;
    border: 1px solid rgba(239,68,68,.15);
}

.fh-template .btn,
.fh-template button,
.fh-template input[type="submit"] {
    border-radius: 12px;
    font-weight: 800;
    letter-spacing: -.01em;
}

.fh-template .btn-primary,
.fh-template .btn-success,
.fh-template .btn-info {
    border-color: transparent;
    background: linear-gradient(135deg, var(--fh-blue-2), var(--fh-purple-2));
    box-shadow: 0 10px 24px rgba(79,70,229,.18);
}

.fh-template .btn-primary:hover,
.fh-template .btn-success:hover,
.fh-template .btn-info:hover {
    transform: translateY(-1px);
    filter: brightness(1.03);
}

.fh-template .btn-default,
.fh-template .btn-secondary {
    color: var(--fh-text);
    border-color: rgba(14,24,48,.12);
    background: #fff;
}

.fh-template .form-control,
.fh-template select,
.fh-template textarea,
.fh-template input[type="text"],
.fh-template input[type="email"],
.fh-template input[type="password"],
.fh-template input[type="number"],
.fh-template input[type="tel"] {
    min-height: 46px;
    border-color: rgba(14,24,48,.12);
    border-radius: 14px;
    color: var(--fh-text);
    box-shadow: none;
}

.fh-template textarea.form-control,
.fh-template textarea { min-height: 120px; }

.fh-template .form-control:focus,
.fh-template select:focus,
.fh-template textarea:focus,
.fh-template input:focus {
    border-color: rgba(37,99,235,.35);
    box-shadow: 0 0 0 4px rgba(37,99,235,.10);
}

.fh-template .alert {
    border: 1px solid rgba(14,24,48,.08);
    border-radius: 16px;
}

.fh-template .nav-tabs {
    border-bottom: 1px solid rgba(14,24,48,.08);
}
.fh-template .nav-tabs > li > a {
    margin-right: 8px;
    border: 1px solid transparent;
    border-radius: 12px 12px 0 0;
    color: var(--fh-text);
    font-weight: 800;
}
.fh-template .nav-tabs > li.active > a,
.fh-template .nav-tabs > li.active > a:hover,
.fh-template .nav-tabs > li.active > a:focus {
    border-color: rgba(37,99,235,.12);
    background: #fff;
    color: var(--fh-blue-2);
}

/* Sidebars */
.fh-template .sidebar .panel-sidebar,
.fh-template .sidebar .panel {
    border-radius: 20px;
    border: 1px solid var(--fh-border);
    background: #fff;
    box-shadow: var(--fh-shadow-soft);
}

.fh-template .sidebar .panel-sidebar a.list-group-item,
.fh-template .sidebar .panel .list-group-item {
    border: 0;
    border-top: 1px solid rgba(14,24,48,.06);
    color: var(--fh-text);
    font-weight: 700;
}

.fh-template .sidebar .panel-sidebar a.list-group-item:hover,
.fh-template .sidebar .panel .list-group-item:hover,
.fh-template .sidebar .panel-sidebar a.list-group-item.active,
.fh-template .sidebar .panel .list-group-item.active {
    color: var(--fh-blue-2);
    background: rgba(37,99,235,.06);
}

/* Auth, client area and dashboard */
.fh-auth-page {
    max-width: 1080px;
    margin: 0 auto;
}

.fh-auth-card,
.fh-data-card {
    padding: 18px;
    border: 1px solid var(--fh-border);
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--fh-shadow-soft);
}

.fh-auth-card-alt { min-height: 100%; }
.fh-panel-desc { color: var(--fh-muted); font-weight: 500; }

.fh-template .client-home-panels .panel,
.fh-template .client-home-panels .panel-body,
.fh-template .client-home-panels .panel-heading {
    border-radius: 20px;
}

.fh-template .client-home-panels .panel-heading,
.fh-template .dashboard-panels .panel-heading {
    padding: 18px 20px;
}

.fh-template .domain-status,
.fh-template .ticket-number,
.fh-template .product-status {
    font-weight: 800;
}

/* Payment and invoices */
.fh-payment-page {
    padding: 6px 0;
}

.fh-payment-page #frmPayment,
.fh-payment-page #frmRemoteCardProcess {
    padding: 24px;
    border: 1px solid var(--fh-border);
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--fh-shadow-soft);
}

.fh-payment-page .cc-payment-form {
    padding: 18px;
    border: 1px solid rgba(14,24,48,.08);
    border-radius: 20px;
    background: #f9fbff;
}

.fh-payment-page .submit-container {
    margin-top: 24px;
}

.fh-template .invoice-summary,
.fh-template .invoice-summary .panel,
.fh-template .invoice-summary .panel-body {
    border-radius: 20px;
}

/* Store / order page */
.fh-store-page .store-order-container {
    padding: 22px;
}

.fh-store-page .store-domain-tabs > li > a {
    border-radius: 12px 12px 0 0;
    font-weight: 800;
}

.fh-store-page .store-domain-tab-content {
    margin-bottom: 22px;
    padding: 20px;
    border: 1px solid rgba(14,24,48,.08);
    border-radius: 0 20px 20px 20px;
    background: #fff;
}

.fh-store-page .payment-term,
.fh-store-page .domain-validation,
.fh-store-page .upsell-banner,
.fh-store-page .subdomain-validation {
    border-radius: 16px;
}

.fh-store-page .domain-validation.ok,
.fh-store-page .subdomain-validation.ok {
    color: #059669;
    background: rgba(16,185,129,.10);
    padding: 12px 14px;
}

/* Knowledgebase, tickets, announcements */
.fh-template .kb-article-item,
.fh-template .ticket-reply,
.fh-template .announcement-single,
.fh-template .view-ticket-message,
.fh-template .supporttickets .ticket-item {
    padding: 18px;
    border-radius: 20px;
    border: 1px solid rgba(14,24,48,.08);
    background: #fff;
    box-shadow: var(--fh-shadow-soft);
}

.fh-template .ticket-reply.staff-reply {
    background: linear-gradient(180deg, #fcfdff, #f5f8ff);
}

/* Footer polish */
.fh-footer-cta {
    background: linear-gradient(135deg, #0f2cb2 0%, #3729d0 40%, #4f1fd4 100%);
}

.fh-footer-main {
    background: linear-gradient(180deg, #06113f, #070f35);
}

.fh-footer-bottom a { color: #dbeafe; }

/* Mobile */
@media (max-width: 991px) {
    .fh-offer-bar .container,
    .fh-offer-left,
    .fh-offer-right { flex-wrap: wrap; }

    .fh-brand img,
    .fh-footer-brand img {
        max-width: 220px;
        max-height: 42px;
    }

    .fh-auth-card,
    .fh-data-card,
    .fh-store-page .store-order-container,
    .fh-payment-page #frmPayment { padding: 16px; }
}

.fh-list-page-header { margin-bottom: 16px; }
.fh-list-page-header h3 { margin: 0 0 6px; font-size: 24px; font-weight: 900; }
.fh-list-page-header p { margin: 0; color: var(--fh-muted); }
.fh-list-page-card { padding: 22px; }


/* ==========================================================
   FariHost v3: hard fixes for header utility colors + widths
   ========================================================== */

.fh-site-header .fh-offer-bar,
.fh-site-header .fh-offer-bar * {
    color: #eaf2ff !important;
}

.fh-site-header .fh-offer-bar a,
.fh-site-header .fh-offer-bar a i,
.fh-site-header .fh-offer-bar .fh-offer-right a,
.fh-site-header .fh-offer-bar .choose-language,
.fh-site-header .fh-offer-bar #languageChooser,
.fh-site-header .fh-offer-bar #accountNotifications,
.fh-site-header .fh-offer-bar .fh-mini-cart {
    color: #eaf2ff !important;
    text-decoration: none !important;
}

.fh-site-header .fh-offer-bar a:hover,
.fh-site-header .fh-offer-bar a:hover i,
.fh-site-header .fh-offer-bar .fh-mini-cart:hover {
    color: #ffffff !important;
    background: rgba(255,255,255,.12) !important;
}

.fh-site-header .fh-offer-left i,
.fh-site-header .fh-offer-left strong {
    color: #ff9f1c !important;
}

.fh-site-header .fh-offer-bar .label,
.fh-site-header .fh-offer-bar .badge {
    color: #06113f !important;
    background: #ffffff !important;
}

.fh-site-header .fh-mini-cart {
    border: 1px solid rgba(255,255,255,.14) !important;
    background: rgba(255,255,255,.10) !important;
}

.fh-brand img,
.fh-footer-brand img {
    background: rgba(255,255,255,.95) !important;
    border-color: rgba(255,255,255,.35) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.24) !important;
}

.fh-navbar .container,
.fh-offer-bar .container {
    max-width: 1240px !important;
}

.fh-primary-menu > li > a,
.fh-action-menu > li > a {
    font-size: 14px !important;
}

.fh-shopping-cart .fh-main-body {
    background:
        radial-gradient(circle at 80% 6%, rgba(124,58,237,.08), transparent 24%),
        radial-gradient(circle at 12% 12%, rgba(37,99,235,.08), transparent 22%),
        #f7f9ff !important;
}

.fh-shopping-cart .fh-main-body > .container,
.fh-shopping-cart .fh-main-body > .container-fluid {
    width: 100% !important;
    max-width: none !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.fh-shopping-cart .fh-main-body > .container > .row,
.fh-shopping-cart .fh-main-body > .container-fluid > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.fh-shopping-cart .fh-main-body .main-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: none !important;
}

.fh-shopping-cart .fh-main-body > .container,
.fh-shopping-cart .fh-main-body > .container-fluid {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

@media (max-width: 991px) {
    .fh-site-header .fh-offer-bar .container {
        display: block !important;
    }

    .fh-site-header .fh-offer-left,
    .fh-site-header .fh-offer-right {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
    }

    .fh-site-header .fh-offer-right a {
        margin: 3px 5px !important;
    }
}

@media (max-width: 767px) {
    .fh-site-header .fh-offer-right {
        gap: 4px !important;
    }

    .fh-site-header .fh-offer-bar a,
    .fh-site-header .fh-offer-left span {
        font-size: 11px !important;
    }
}


/* ==========================================================
   FariHost Client Area v1 - Full Dark Dashboard UI
   Applies to all logged-in client area pages
   ========================================================== */

:root {
    --fh-ca-bg: #020b22;
    --fh-ca-bg2: #061a42;
    --fh-ca-card: rgba(6, 26, 66, .82);
    --fh-ca-card2: rgba(9, 34, 84, .74);
    --fh-ca-line: rgba(148, 163, 184, .14);
    --fh-ca-text: #eaf2ff;
    --fh-ca-muted: #8ea4c8;
    --fh-ca-blue: #2f8cff;
    --fh-ca-purple: #7c3aed;
    --fh-ca-cyan: #22d3ee;
    --fh-ca-green: #10b981;
    --fh-ca-orange: #fb923c;
    --fh-ca-red: #f43f5e;
    --fh-ca-shadow: 0 24px 60px rgba(0, 0, 0, .26);
}

/* Portal shell background/layout — handled by clientarea.css (light workspace) */

body.fh-ca-shell .fh-main-body {
    background: transparent !important;
    padding-top: 24px;
    padding-bottom: 32px;
}

body.fh-ca-shell .fh-main-body > .container {
    max-width: 1500px;
    width: 100%;
}

body.fh-ca-shell .fh-footer {
    display: none !important;
}

/* Header adapts to the client dashboard */
body.fh-ca-shell .fh-site-header {
    box-shadow: 0 12px 36px rgba(0,0,0,.18);
}

body.fh-ca-shell .fh-navbar,
body.fh-ca-shell .fh-offer-bar {
    background: rgba(2, 10, 34, .90) !important;
    backdrop-filter: blur(16px);
}

body.fh-ca-shell .fh-navbar .container,
body.fh-ca-shell .fh-offer-bar .container {
    max-width: 1500px !important;
    width: 100% !important;
}

/* Client area layout columns */
body.fh-ca-shell .sidebar {
    padding-left: 12px;
    padding-right: 12px;
}

body.fh-ca-shell .main-content {
    padding-left: 12px;
    padding-right: 12px;
    color: var(--fh-ca-text);
}

body.fh-ca-shell .sidebar .panel-sidebar,
body.fh-ca-shell .sidebar .panel {
    border: 1px solid var(--fh-ca-line) !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, rgba(8, 28, 73, .94), rgba(4, 17, 47, .90)) !important;
    box-shadow: var(--fh-ca-shadow) !important;
    overflow: hidden;
}

body.fh-ca-shell .sidebar .panel-heading,
body.fh-ca-shell .sidebar .panel-sidebar > .panel-heading {
    padding: 16px 18px !important;
    border-bottom: 1px solid var(--fh-ca-line) !important;
    background: rgba(255,255,255,.03) !important;
    color: var(--fh-ca-text) !important;
}

body.fh-ca-shell .sidebar .panel-title {
    color: var(--fh-ca-text) !important;
    font-weight: 900;
}

body.fh-ca-shell .sidebar .list-group-item {
    border-color: var(--fh-ca-line) !important;
    background: transparent !important;
    color: var(--fh-ca-muted) !important;
    font-weight: 750;
    transition: .18s ease;
}

body.fh-ca-shell .sidebar .list-group-item:hover,
body.fh-ca-shell .sidebar .list-group-item.active {
    background: linear-gradient(135deg, rgba(47,140,255,.18), rgba(124,58,237,.20)) !important;
    color: #fff !important;
}

body.fh-ca-shell .sidebar .list-group-item i,
body.fh-ca-shell .sidebar-menu-item-icon {
    color: var(--fh-ca-cyan) !important;
}

/* Default page header */
body.fh-ca-shell .fh-page-header {
    padding: 22px 24px;
    margin-bottom: 18px;
    border: 1px solid var(--fh-ca-line);
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(6, 26, 66, .88), rgba(11, 34, 87, .72)) !important;
    box-shadow: var(--fh-ca-shadow);
}

body.fh-ca-shell .fh-page-header h1 {
    margin: 0;
    color: #fff;
    font-weight: 950;
    letter-spacing: -.035em;
}

body.fh-ca-shell .fh-page-header small,
body.fh-ca-shell .breadcrumb,
body.fh-ca-shell .breadcrumb a {
    color: var(--fh-ca-muted) !important;
}

/* App dashboard */
.fh-ca-app-dashboard {
    color: var(--fh-ca-text);
}

.fh-ca-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.fh-ca-search {
    flex: 1;
    max-width: 560px;
    position: relative;
}

.fh-ca-search i {
    position: absolute;
    left: 17px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--fh-ca-muted);
    z-index: 2;
}

.fh-ca-search .form-control {
    height: 48px;
    padding-left: 46px;
    padding-right: 68px;
    border-radius: 16px;
    border: 1px solid var(--fh-ca-line);
    background: rgba(2, 13, 38, .72);
    color: var(--fh-ca-text);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.fh-ca-search .form-control::placeholder {
    color: #7890b8;
}

.fh-ca-key {
    position: absolute;
    right: 12px;
    top: 9px;
    padding: 6px 10px;
    border-radius: 10px;
    color: #a9b8d5;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.06);
    font-weight: 800;
    font-size: 12px;
}

.fh-ca-top-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.fh-ca-top-btn,
.fh-ca-icon-btn,
.fh-ca-profile-pill {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 10px 14px;
    border: 1px solid var(--fh-ca-line);
    border-radius: 15px;
    background: rgba(7, 23, 62, .80);
    color: var(--fh-ca-text) !important;
    text-decoration: none !important;
    font-weight: 850;
    box-shadow: 0 10px 24px rgba(0,0,0,.10);
}

.fh-ca-icon-btn {
    width: 46px;
    justify-content: center;
    position: relative;
    padding: 0;
}

.fh-ca-icon-btn span {
    position: absolute;
    right: -5px;
    top: -6px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--fh-ca-red);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
}

.fh-ca-profile-pill span,
.fh-ca-account-user > span {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #2563eb, #7c3aed);
    color: #fff;
    font-weight: 950;
}

.fh-ca-hero {
    position: relative;
    min-height: 210px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 34px 34px;
    margin-bottom: 18px;
    border: 1px solid rgba(148,163,184,.18);
    border-radius: 24px;
    background:
        radial-gradient(circle at 15% 28%, rgba(34,211,238,.25), transparent 24%),
        radial-gradient(circle at 75% 18%, rgba(124,58,237,.36), transparent 30%),
        linear-gradient(135deg, #0572fb 0%, #112b8d 47%, #5d21d7 100%);
    overflow: hidden;
    box-shadow: var(--fh-ca-shadow);
}

.fh-ca-hero:after {
    content: "";
    position: absolute;
    right: 24%;
    top: -160px;
    width: 460px;
    height: 460px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,255,255,.18) 1px, transparent 1px);
    background-size: 18px 18px;
    opacity: .45;
}

.fh-ca-hero-copy {
    position: relative;
    z-index: 2;
    max-width: 520px;
}

.fh-ca-hero-copy span {
    display: block;
    color: rgba(255,255,255,.82);
    font-size: 15px;
    margin-bottom: 4px;
}

.fh-ca-hero-copy h2 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 34px;
    line-height: 1.05;
    font-weight: 950;
    letter-spacing: -.04em;
}

.fh-ca-hero-copy p {
    margin: 0;
    color: rgba(255,255,255,.84);
    line-height: 1.7;
}

.fh-ca-hero-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 22px;
}

.fh-ca-btn-light {
    color: #063078 !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 13px !important;
    font-weight: 900 !important;
    box-shadow: 0 12px 28px rgba(255,255,255,.20);
}

.fh-ca-btn-outline {
    color: #eaf2ff !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 13px !important;
    font-weight: 900 !important;
}

.fh-ca-hero-art {
    position: relative;
    z-index: 2;
    flex: 1;
    min-height: 165px;
}

.fh-ca-server-stack {
    position: absolute;
    right: 210px;
    top: 14px;
    transform: perspective(600px) rotateX(54deg) rotateZ(-29deg);
    width: 190px;
}

.fh-ca-server-stack span {
    display: block;
    height: 48px;
    margin-bottom: 8px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(6,26,66,.88), rgba(71,85,225,.88));
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 18px 34px rgba(0,0,0,.24);
}

.fh-ca-shield {
    position: absolute;
    right: 165px;
    top: 54px;
    width: 76px;
    height: 96px;
    display: grid;
    place-items: center;
    font-size: 42px;
    color: #eaf2ff;
    background: rgba(255,255,255,.11);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 22px;
    box-shadow: 0 20px 44px rgba(0,0,0,.18);
}

.fh-ca-plan-box {
    position: absolute;
    right: 0;
    top: 26px;
    width: 190px;
    padding: 18px;
    border-radius: 20px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.16);
    box-shadow: 0 18px 44px rgba(0,0,0,.16);
}

.fh-ca-plan-box small,
.fh-ca-plan-box em {
    display: block;
    color: rgba(255,255,255,.62);
    font-style: normal;
    font-size: 12px;
}

.fh-ca-plan-box strong,
.fh-ca-plan-box b {
    display: block;
    margin: 5px 0 12px;
    color: #fff;
    font-weight: 900;
}

/* Metric cards */
.fh-ca-metric-row {
    margin-bottom: 18px;
}

.fh-ca-metric {
    min-height: 92px;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px;
    margin-bottom: 16px;
    border-radius: 18px;
    text-decoration: none !important;
    color: var(--fh-ca-text) !important;
    border: 1px solid var(--fh-ca-line);
    background: linear-gradient(180deg, rgba(6, 26, 66, .82), rgba(5, 20, 54, .74));
    box-shadow: 0 18px 42px rgba(0,0,0,.18);
    overflow: hidden;
    position: relative;
}

.fh-ca-metric:before {
    content: "";
    position: absolute;
    inset: auto -20px -40px auto;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    opacity: .18;
    background: currentColor;
}

.fh-ca-metric span {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: #fff;
    font-size: 24px;
    background: rgba(255,255,255,.10);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.fh-ca-metric small {
    display: block;
    color: var(--fh-ca-muted);
    font-weight: 750;
}

.fh-ca-metric strong {
    display: block;
    margin: 2px 0;
    color: #fff;
    font-size: 26px;
    font-weight: 950;
    line-height: 1;
}

.fh-ca-metric em {
    display: block;
    font-style: normal;
    color: #b8c7e6;
    font-size: 12px;
}

.fh-ca-metric.blue { color: #2f8cff !important; }
.fh-ca-metric.purple { color: #8b5cf6 !important; }
.fh-ca-metric.orange { color: #fb923c !important; }
.fh-ca-metric.green { color: #10b981 !important; }

/* Cards and panels */
.fh-ca-card,
body.fh-ca-shell .panel,
body.fh-ca-shell .card,
body.fh-ca-shell .well,
body.fh-ca-shell .table-container,
body.fh-ca-shell .product-details,
body.fh-ca-shell .view-ticket-container,
body.fh-ca-shell .ticket-reply,
body.fh-ca-shell .domain-checker-container,
body.fh-ca-shell .logincontainer {
    border: 1px solid var(--fh-ca-line) !important;
    border-radius: 20px !important;
    background: linear-gradient(180deg, rgba(6, 26, 66, .86), rgba(4, 18, 50, .78)) !important;
    box-shadow: var(--fh-ca-shadow) !important;
    color: var(--fh-ca-text);
    overflow: hidden;
}

.fh-ca-card {
    padding: 18px;
    margin-bottom: 18px;
}

.fh-ca-card-head,
.fh-panel-title,
body.fh-ca-shell .panel-heading,
body.fh-ca-shell .card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-color: var(--fh-ca-line) !important;
    background: rgba(255,255,255,.025) !important;
}

.fh-ca-card-head {
    margin-bottom: 14px;
}

.fh-ca-card-head h3,
.fh-panel-title h3,
body.fh-ca-shell .panel-title,
body.fh-ca-shell .card-title {
    margin: 0;
    color: #fff !important;
    font-weight: 950;
    letter-spacing: -.02em;
}

.fh-ca-card-head a,
.fh-panel-title a {
    color: #93c5fd !important;
    text-decoration: none !important;
    font-weight: 850;
    font-size: 13px;
}

.fh-ca-main-grid > [class*="col-"] {
    margin-bottom: 16px;
}

.fh-ca-service-list {
    display: grid;
    gap: 12px;
}

.fh-ca-service-list a {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px;
    border: 1px solid rgba(148,163,184,.10);
    border-radius: 16px;
    background: rgba(255,255,255,.035);
    color: var(--fh-ca-text) !important;
    text-decoration: none !important;
}

.fh-ca-service-icon,
.fh-overview-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    flex: 0 0 48px;
    border-radius: 14px;
    color: #fff;
}

.fh-ca-service-icon.blue { background: linear-gradient(135deg, #0ea5e9, #2563eb); }
.fh-ca-service-icon.purple { background: linear-gradient(135deg, #7c3aed, #4f46e5); }
.fh-ca-service-icon.orange { background: linear-gradient(135deg, #fb923c, #f97316); }
.fh-ca-service-icon.green { background: linear-gradient(135deg, #10b981, #059669); }

.fh-ca-service-list strong {
    display: block;
    color: #fff;
}

.fh-ca-service-list small {
    display: block;
    color: var(--fh-ca-muted);
}

.fh-ca-status {
    margin-left: auto;
    padding: 6px 10px;
    border-radius: 999px;
    font-style: normal;
    font-size: 12px;
    font-weight: 900;
}

.fh-ca-status.active { color: #86efac; background: rgba(16,185,129,.15); }
.fh-ca-status.pending { color: #fed7aa; background: rgba(251,146,60,.15); }
.fh-ca-status.open { color: #93c5fd; background: rgba(47,140,255,.15); }

/* Right cards */
.fh-ca-account-user {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px;
    border-radius: 16px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.06);
}

.fh-ca-account-user strong {
    display: block;
    color: #fff;
}

.fh-ca-account-user small {
    display: block;
    color: var(--fh-ca-muted);
    max-width: 170px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fh-ca-account-user em {
    margin-left: auto;
    padding: 5px 9px;
    border-radius: 999px;
    color: #86efac;
    background: rgba(16,185,129,.14);
    font-style: normal;
    font-size: 11px;
    font-weight: 900;
}

.fh-ca-account-meta {
    margin: 16px 0 0;
}

.fh-ca-account-meta dt,
.fh-ca-account-meta dd {
    display: inline-block;
    width: 50%;
    margin: 0 0 10px;
    vertical-align: top;
}

.fh-ca-account-meta dt {
    color: var(--fh-ca-muted);
    font-weight: 700;
}

.fh-ca-account-meta dd {
    color: #dbeafe;
    text-align: right;
    font-weight: 850;
}

.fh-ca-quick-card a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(148,163,184,.10);
    color: var(--fh-ca-text) !important;
    text-decoration: none !important;
    font-weight: 800;
}

.fh-ca-quick-card a:last-child {
    border-bottom: 0;
}

.fh-ca-quick-card a i {
    color: var(--fh-ca-cyan);
}

.fh-ca-quick-card a span {
    margin-left: auto;
    color: var(--fh-ca-muted);
    font-size: 20px;
}

.fh-ca-rings {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.fh-ca-rings div {
    flex: 1;
    text-align: center;
}

.fh-ca-rings span {
    width: 72px;
    height: 72px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    font-weight: 950;
    background:
        radial-gradient(circle at center, rgba(6, 26, 66, 1) 56%, transparent 57%),
        conic-gradient(#7c3aed calc(var(--p) * 1%), rgba(255,255,255,.12) 0);
}

.fh-ca-rings small {
    display: block;
    margin-top: 8px;
    color: var(--fh-ca-muted);
    font-weight: 750;
}

.fh-ca-help-bubble {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(47,140,255,.22), rgba(124,58,237,.22));
    border: 1px solid var(--fh-ca-line);
    box-shadow: var(--fh-ca-shadow);
}

.fh-ca-help-bubble > i {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: linear-gradient(135deg, #2563eb, #7c3aed);
}

.fh-ca-help-bubble strong {
    display: block;
    color: #fff;
}

.fh-ca-help-bubble small {
    color: var(--fh-ca-muted);
}

.fh-ca-help-bubble a {
    margin-left: auto;
    padding: 9px 12px;
    border-radius: 12px;
    background: #fff;
    color: #063078 !important;
    font-weight: 900;
    text-decoration: none !important;
}

/* Inner page shell */
.fh-ca-page-shell {
    color: var(--fh-ca-text);
}

.fh-ca-page-hero {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 22px 24px;
    margin-bottom: 18px;
    border: 1px solid var(--fh-ca-line);
    border-radius: 22px;
    background:
        radial-gradient(circle at 85% 15%, rgba(124,58,237,.22), transparent 26%),
        linear-gradient(135deg, rgba(7, 28, 73, .90), rgba(5, 19, 52, .82));
    box-shadow: var(--fh-ca-shadow);
}

.fh-ca-page-hero > span {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    flex: 0 0 58px;
    border-radius: 18px;
    color: #fff;
    font-size: 24px;
    background: linear-gradient(135deg, #2563eb, #7c3aed);
}

.fh-ca-page-hero h2 {
    margin: 0 0 5px;
    color: #fff;
    font-size: 28px;
    font-weight: 950;
    letter-spacing: -.035em;
}

.fh-ca-page-hero p {
    margin: 0;
    color: var(--fh-ca-muted);
    line-height: 1.6;
}

.fh-ca-page-content {
    color: #000000;
}

/* Tables */
body.fh-ca-shell .table-container {
    padding: 0 !important;
}

body.fh-ca-shell table.table,
body.fh-ca-shell .table-list {
    color: var(--fh-ca-text);
    background: transparent !important;
}

body.fh-ca-shell .table > thead > tr > th,
body.fh-ca-shell .table-list > thead > tr > th,
body.fh-ca-shell table.dataTable thead th {
    background: rgba(255,255,255,.045) !important;
    border-color: var(--fh-ca-line) !important;
    color: #c7d2fe !important;
    font-weight: 900 !important;
}

body.fh-ca-shell .table > tbody > tr > td,
body.fh-ca-shell .table-list > tbody > tr > td {
    border-color: rgba(148,163,184,.10) !important;
    color: #dbeafe !important;
    background: transparent !important;
    vertical-align: middle;
}

body.fh-ca-shell table.table tbody tr:hover,
body.fh-ca-shell .table-list tbody tr:hover {
    background: rgba(47,140,255,.08) !important;
}

body.fh-ca-shell table a {
    color: #93c5fd !important;
    font-weight: 800;
}

body.fh-ca-shell .dataTables_wrapper .dataTables_filter input,
body.fh-ca-shell .dataTables_wrapper .dataTables_length select {
    border: 1px solid var(--fh-ca-line) !important;
    border-radius: 12px !important;
    background: rgba(2,13,38,.78) !important;
    color: #fff !important;
}

/* Forms */
body.fh-ca-shell .form-control,
body.fh-ca-shell select,
body.fh-ca-shell textarea,
body.fh-ca-shell input[type="text"],
body.fh-ca-shell input[type="email"],
body.fh-ca-shell input[type="password"],
body.fh-ca-shell input[type="tel"],
body.fh-ca-shell input[type="number"] {
    border: 1px solid var(--fh-ca-line) !important;
    border-radius: 13px !important;
    background: rgba(2,13,38,.72) !important;
    color: #fff !important;
    box-shadow: none !important;
}

body.fh-ca-shell .form-control:focus,
body.fh-ca-shell select:focus,
body.fh-ca-shell textarea:focus,
body.fh-ca-shell input:focus {
    border-color: rgba(47,140,255,.55) !important;
    box-shadow: 0 0 0 4px rgba(47,140,255,.12) !important;
}

body.fh-ca-shell label,
body.fh-ca-shell .control-label {
    color: #c7d2fe !important;
    font-weight: 850;
}

/* Buttons and statuses */
body.fh-ca-shell .btn-primary,
body.fh-ca-shell .btn-success,
body.fh-ca-shell .btn-info {
    border-color: transparent !important;
    background: linear-gradient(135deg, #2563eb, #7c3aed) !important;
    color: #fff !important;
    box-shadow: 0 14px 28px rgba(79,70,229,.22) !important;
}

body.fh-ca-shell .btn-default,
body.fh-ca-shell .btn-secondary {
    border-color: var(--fh-ca-line) !important;
    background: rgba(255,255,255,.06) !important;
    color: #eaf2ff !important;
}

body.fh-ca-shell .label,
body.fh-ca-shell .badge,
body.fh-ca-shell .status {
    border-radius: 999px !important;
    padding: 6px 10px;
    font-weight: 900 !important;
}

body.fh-ca-shell .status-active,
body.fh-ca-shell .label-success,
body.fh-ca-shell .badge-success {
    color: #86efac !important;
    background: rgba(16,185,129,.16) !important;
    border: 1px solid rgba(16,185,129,.18);
}

body.fh-ca-shell .status-pending,
body.fh-ca-shell .status-unpaid,
body.fh-ca-shell .label-warning {
    color: #fed7aa !important;
    background: rgba(251,146,60,.16) !important;
    border: 1px solid rgba(251,146,60,.18);
}

body.fh-ca-shell .status-cancelled,
body.fh-ca-shell .status-terminated,
body.fh-ca-shell .label-danger {
    color: #fecdd3 !important;
    background: rgba(244,63,94,.16) !important;
    border: 1px solid rgba(244,63,94,.18);
}

/* Product details */
body.fh-ca-shell .product-details {
    padding: 22px !important;
}

body.fh-ca-shell .product-status {
    border-radius: 20px !important;
    background: linear-gradient(135deg, rgba(37,99,235,.18), rgba(124,58,237,.18)) !important;
    color: #fff !important;
    border: 1px solid var(--fh-ca-line);
}

body.fh-ca-shell .nav-tabs {
    border-bottom: 1px solid var(--fh-ca-line) !important;
}

body.fh-ca-shell .nav-tabs > li > a {
    color: var(--fh-ca-muted) !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 12px 12px 0 0 !important;
    font-weight: 850;
}

body.fh-ca-shell .nav-tabs > li.active > a,
body.fh-ca-shell .nav-tabs > li.active > a:hover,
body.fh-ca-shell .nav-tabs > li.active > a:focus {
    color: #fff !important;
    background: rgba(47,140,255,.12) !important;
    border-color: var(--fh-ca-line) !important;
}

/* Downloads, KB, tickets */
body.fh-ca-shell .list-group-item,
body.fh-ca-shell .ticket-reply,
body.fh-ca-shell .view-ticket-message {
    border-color: var(--fh-ca-line) !important;
    background: rgba(255,255,255,.035) !important;
    color: var(--fh-ca-text) !important;
}

body.fh-ca-shell .list-group-item:hover {
    background: rgba(47,140,255,.08) !important;
}

body.fh-ca-shell .alert {
    border-radius: 16px !important;
    border: 1px solid var(--fh-ca-line) !important;
    background: rgba(255,255,255,.06) !important;
    color: #eaf2ff !important;
}

/* Responsive */
@media (max-width: 1199px) {
    .fh-ca-hero {
        display: block;
    }

    .fh-ca-hero-art {
        min-height: 170px;
        margin-top: 22px;
    }

    .fh-ca-server-stack {
        right: 250px;
    }
}

@media (max-width: 991px) {
    body.fh-ca-shell .sidebar {
        margin-bottom: 18px;
    }

    .fh-ca-topbar,
    .fh-ca-top-actions {
        display: block;
    }

    .fh-ca-search {
        max-width: none;
        margin-bottom: 12px;
    }

    .fh-ca-top-actions > * {
        margin: 0 8px 8px 0;
    }

    .fh-ca-hero-copy h2 {
        font-size: 30px;
    }

    .fh-ca-hero-art {
        display: none;
    }
}

@media (max-width: 767px) {
    body.fh-ca-shell .fh-main-body {
        padding-top: 14px;
    }

    .fh-ca-hero,
    .fh-ca-page-hero,
    .fh-ca-card {
        border-radius: 18px;
        padding: 18px;
    }

    .fh-ca-hero-copy h2,
    .fh-ca-page-hero h2 {
        font-size: 26px;
    }

    .fh-ca-page-hero {
        align-items: flex-start;
    }

    .fh-ca-page-hero > span {
        width: 48px;
        height: 48px;
        flex-basis: 48px;
    }

    .fh-ca-service-list a {
        display: block;
    }

    .fh-ca-status {
        display: inline-block;
        margin-top: 12px;
        margin-left: 0;
    }

    .fh-ca-account-meta dt,
    .fh-ca-account-meta dd {
        width: 100%;
        text-align: left;
    }
}


/* ==========================================================
   FariHost Client Area v2 - Typography + Color Fix
   Fix text size, contrast, table readability, and page headers
   ========================================================== */

body.fh-ca-shell {
    color: #eaf2ff !important;
}

body.fh-ca-shell .main-content,
body.fh-ca-shell .main-content p,
body.fh-ca-shell .main-content li,
body.fh-ca-shell .main-content div,
body.fh-ca-shell .main-content span:not(.badge):not(.label):not(.status) {
    color: #dce8ff;
}

/* Better default page header text */
body.fh-ca-shell .fh-page-header {
    padding: 26px 24px !important;
    background: linear-gradient(135deg, rgba(21, 46, 98, .94), rgba(38, 63, 118, .86)) !important;
}

body.fh-ca-shell .fh-page-header h1 {
    font-size: 34px !important;
    line-height: 1.1 !important;
    font-weight: 950 !important;
    color: #ffffff !important;
    letter-spacing: -.03em !important;
}

body.fh-ca-shell .fh-page-header small {
    font-size: 15px !important;
    color: #b9c9ea !important;
    font-weight: 600;
}

/* Breadcrumb readability */
body.fh-ca-shell .breadcrumb {
    margin-top: 8px !important;
    font-size: 14px !important;
    color: #b9c9ea !important;
}

body.fh-ca-shell .breadcrumb > li,
body.fh-ca-shell .breadcrumb > li.active,
body.fh-ca-shell .breadcrumb a {
    color: #c4d4f4 !important;
    font-weight: 700 !important;
}

body.fh-ca-shell .breadcrumb > li + li:before {
    color: #8ea4c8 !important;
}

/* Inner custom page hero readability */
.fh-ca-page-hero {
    padding: 24px 26px !important;
}

.fh-ca-page-hero h2 {
    font-size: 32px !important;
    line-height: 1.08 !important;
    color: #ffffff !important;
}

.fh-ca-page-hero p {
    font-size: 15px !important;
    line-height: 1.7 !important;
    color: #b9cae8 !important;
}

body.fh-ca-shell .fh-ca-app-dashboard .fh-ca-page-content,
body.fh-ca-shell .fh-ca-app-dashboard .fh-ca-page-content p,
body.fh-ca-shell .fh-ca-app-dashboard .fh-ca-page-content li,
body.fh-ca-shell .fh-ca-app-dashboard .fh-ca-page-content .help-block {
    font-size: 15px !important;
    line-height: 1.7 !important;
    color: #dce8ff !important;
}

/* Panel headings and section titles */
body.fh-ca-shell .panel-heading,
body.fh-ca-shell .card-header,
.fh-ca-card-head {
    padding: 16px 18px !important;
}

body.fh-ca-shell .panel-title,
body.fh-ca-shell .card-title,
.fh-ca-card-head h3 {
    font-size: 20px !important;
    line-height: 1.2 !important;
    color: #ffffff !important;
    font-weight: 900 !important;
}

.fh-ca-card-head a,
body.fh-ca-shell .panel-heading a,
body.fh-ca-shell .card-header a {
    font-size: 14px !important;
    color: #9ec5ff !important;
    font-weight: 800 !important;
}

/* Table readability */
body.fh-ca-shell .table-container {
    border-radius: 22px !important;
}

body.fh-ca-shell table.table,
body.fh-ca-shell .table-list,
body.fh-ca-shell table.dataTable {
    font-size: 15px !important;
}

body.fh-ca-shell .table > thead > tr > th,
body.fh-ca-shell .table-list > thead > tr > th,
body.fh-ca-shell table.dataTable thead th {
    padding: 16px 14px !important;
    font-size: 14px !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
    color: #d4e2ff !important;
    background: rgba(255,255,255,.08) !important;
    white-space: nowrap;
}

body.fh-ca-shell .table > tbody > tr > td,
body.fh-ca-shell .table-list > tbody > tr > td,
body.fh-ca-shell table.dataTable tbody td {
    padding: 16px 14px !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    color: #000000 !important;
    background: rgba(255,255,255,.02) !important;
}

body.fh-ca-shell table.table tbody tr:nth-child(even),
body.fh-ca-shell .table-list tbody tr:nth-child(even),
body.fh-ca-shell table.dataTable tbody tr:nth-child(even) {
    background: rgba(255,255,255,.025) !important;
}

body.fh-ca-shell table.table strong,
body.fh-ca-shell table.table td .title,
body.fh-ca-shell .table-list strong {
    color: #ff0202 !important;
    font-weight: 850 !important;
}

body.fh-ca-shell table.table small,
body.fh-ca-shell .table-list small {
    color: #a9bddf !important;
    font-size: 13px !important;
}

/* Services page filter/action blocks */
body.fh-ca-shell .nav-tabs,
body.fh-ca-shell .nav-pills {
    margin-bottom: 16px !important;
}

body.fh-ca-shell .btn,
body.fh-ca-shell button,
body.fh-ca-shell input[type="submit"] {
    font-size: 14px !important;
    font-weight: 850 !important;
}

body.fh-ca-shell .btn-group .btn,
body.fh-ca-shell .nav-pills > li > a,
body.fh-ca-shell .nav-tabs > li > a {
    font-size: 14px !important;
    line-height: 1.3 !important;
}

body.fh-ca-shell .nav-pills > li > a,
body.fh-ca-shell .nav-tabs > li > a {
    color: #d7e4fc !important;
}

/* Summary blocks / well / notices */
body.fh-ca-shell .well,
body.fh-ca-shell .alert,
body.fh-ca-shell .notice,
body.fh-ca-shell .domain-renewal {
    font-size: 15px !important;
    line-height: 1.65 !important;
    color: #e7f0ff !important;
}

body.fh-ca-shell .alert-success {
    color: #08a153 !important;
}

body.fh-ca-shell .alert-danger {
    color: #ffe4e6 !important;
}

body.fh-ca-shell .alert-warning {
    color: #a97b3d !important;
}

/* Forms */
body.fh-ca-shell label,
body.fh-ca-shell .control-label,
body.fh-ca-shell .fieldlabel {
    font-size: 14px !important;
    color: #d6e5ff !important;
    font-weight: 850 !important;
}

body.fh-ca-shell .form-control,
body.fh-ca-shell select,
body.fh-ca-shell textarea {
    font-size: 15px !important;
    color: #ffffff !important;
}

body.fh-ca-shell .help-block,
body.fh-ca-shell .text-muted,
body.fh-ca-shell .description {
    color: #a9bddf !important;
    font-size: 13px !important;
}

/* Sidebar readability */
body.fh-ca-shell .sidebar .list-group-item {
    font-size: 15px !important;
    color: #d7e4fc !important;
}

body.fh-ca-shell .sidebar .panel-title {
    font-size: 18px !important;
}

/* Datatables controls */
body.fh-ca-shell .dataTables_wrapper .dataTables_info,
body.fh-ca-shell .dataTables_wrapper .dataTables_length,
body.fh-ca-shell .dataTables_wrapper .dataTables_filter,
body.fh-ca-shell .dataTables_wrapper .dataTables_paginate {
    font-size: 14px !important;
    color: #c5d6f5 !important;
}

body.fh-ca-shell .pagination > li > a,
body.fh-ca-shell .pagination > li > span {
    color: #dbeafe !important;
    background: rgba(255,255,255,.05) !important;
    border-color: rgba(148,163,184,.14) !important;
}

/* Responsive */
@media (max-width: 767px) {
    body.fh-ca-shell .fh-page-header h1,
    .fh-ca-page-hero h2 {
        font-size: 26px !important;
    }

    body.fh-ca-shell .table > thead > tr > th,
    body.fh-ca-shell .table > tbody > tr > td,
    body.fh-ca-shell table.dataTable thead th,
    body.fh-ca-shell table.dataTable tbody td {
        font-size: 14px !important;
        padding: 13px 10px !important;
    }
}


/* ==========================================================
   FariHost Client Area v3 - Strong Table/Card Text Color Fix
   Fixes remaining white panels, pale table headings, filters,
   domain/service/invoice/ticket tables, pagination and search.
   ========================================================== */

body.fh-ca-shell .main-content {
    background: transparent !important;
}

/* List pages — white data cards with dark readable text */
body.fh-ca-shell .fh-data-card,
body.fh-ca-shell .fh-list-page-card,
body.fh-ca-shell .fh-ca-page-shell .fh-data-card {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: rgba(15, 23, 42, .08) !important;
}

body.fh-ca-shell .fh-data-card .table-container,
body.fh-ca-shell .fh-list-page-card .table-container {
    background: #ffffff !important;
}

body.fh-ca-shell .fh-data-card .table-list,
body.fh-ca-shell .fh-list-page-card .table-list,
body.fh-ca-shell .fh-data-card table.dataTable {
    background: #ffffff !important;
    color: #0f172a !important;
}

body.fh-ca-shell .fh-data-card .table-list thead th,
body.fh-ca-shell .fh-list-page-card .table-list thead th {
    background: #f1f5f9 !important;
    color: #334155 !important;
}

body.fh-ca-shell .fh-data-card .table-list tbody td,
body.fh-ca-shell .fh-list-page-card .table-list tbody td {
    background: #ffffff !important;
    color: #0f172a !important;
}

body.fh-ca-shell .fh-data-card .table-list tbody td a,
body.fh-ca-shell .fh-list-page-card .table-list tbody td a {
    color: #0061ff !important;
}

body.fh-ca-shell .fh-data-card .dataTables_wrapper,
body.fh-ca-shell .fh-list-page-card .dataTables_wrapper,
body.fh-ca-shell .fh-data-card .dataTables_wrapper label,
body.fh-ca-shell .fh-data-card .dataTables_wrapper .dataTables_info,
body.fh-ca-shell .fh-data-card .dataTables_wrapper .dataTables_paginate {
    color: #64748b !important;
}

body.fh-ca-shell .fh-data-card .dataTables_wrapper input,
body.fh-ca-shell .fh-data-card .dataTables_wrapper select {
    background: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid #e2e8f0 !important;
}

/* Dashboard — dark themed panels and tiles */
body.fh-ca-shell .fh-ca-app-dashboard .panel,
body.fh-ca-shell .fh-ca-app-dashboard .panel-body,
body.fh-ca-shell .fh-ca-app-dashboard .card,
body.fh-ca-shell .fh-ca-app-dashboard .well,
body.fh-ca-shell .fh-ca-app-dashboard .client-home-panels .panel,
body.fh-ca-shell .fh-ca-app-dashboard .tiles,
body.fh-ca-shell .fh-ca-app-dashboard .tile,
body.fh-ca-shell .fh-ca-app-dashboard .fh-ca-card {
    background: linear-gradient(180deg, rgba(6, 26, 66, .92), rgba(4, 18, 50, .86)) !important;
    border-color: rgba(148, 163, 184, .16) !important;
    color: #eaf2ff !important;
}

body.fh-ca-shell .fh-ca-app-dashboard .tile .title {
    color: #93c5fd !important;
}

body.fh-ca-shell .fh-ca-app-dashboard .tile .stat {
    color: #ffffff !important;
}

body.fh-ca-shell .main-content .section,
body.fh-ca-shell .main-content .content-block,
body.fh-ca-shell .main-content .domain-renewal,
body.fh-ca-shell .main-content .masspay-invoice,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) {
    background: linear-gradient(180deg, rgba(6, 26, 66, .92), rgba(4, 18, 50, .86)) !important;
    border-color: rgba(148, 163, 184, .16) !important;
    color: #eaf2ff !important;
}

/* Dashboard filter/toolbar text */
body.fh-ca-shell .fh-ca-app-dashboard .panel-body > .row,
body.fh-ca-shell .fh-ca-app-dashboard .card-body > .row,
body.fh-ca-shell .fh-ca-toolbar,
body.fh-ca-shell .fh-ca-toolbar .actions,
body.fh-ca-shell .fh-ca-toolbar .filters,
body.fh-ca-shell .fh-ca-toolbar .view-filter-btns,
body.fh-ca-shell .fh-ca-toolbar .overview-tab {
    color: #000000 !important;
}

body.fh-ca-shell .fh-ca-app-dashboard h1,
body.fh-ca-shell .fh-ca-app-dashboard h2,
body.fh-ca-shell .fh-ca-app-dashboard h3,
body.fh-ca-shell .fh-ca-app-dashboard h4,
body.fh-ca-shell .fh-ca-app-dashboard h5,
body.fh-ca-shell .fh-ca-app-dashboard h6 {
    color: #ffffff !important;
}

body.fh-ca-shell .fh-ca-app-dashboard p,
body.fh-ca-shell .fh-ca-app-dashboard .fh-ca-card small,
body.fh-ca-shell .fh-ca-app-dashboard .fh-ca-card li,
body.fh-ca-shell .fh-ca-app-dashboard .panel-body,
body.fh-ca-shell .fh-ca-app-dashboard .list-group-item {
    color: #dbeafe !important;
}

body.fh-ca-shell .fh-ca-app-dashboard .text-muted,
body.fh-ca-shell .fh-ca-app-dashboard .help-block,
body.fh-ca-shell .fh-ca-app-dashboard .description {
    color: #a9bddf !important;
}

/* List pages — dark text on white cards */
body.fh-ca-shell .fh-ca-page-shell h2,
body.fh-ca-shell .fh-ca-page-hero h2 {
    color: #ffffff !important;
}

body.fh-ca-shell .fh-ca-page-shell .fh-ca-page-content {
    color: #0f172a !important;
}

body.fh-ca-shell .fh-ca-page-hero,
body.fh-ca-shell .fh-ca-page-hero h2,
body.fh-ca-shell .fh-ca-page-hero p,
body.fh-logged-in .fh-ca-page-hero,
body.fh-logged-in .fh-ca-page-hero h2,
body.fh-logged-in .fh-ca-page-hero p {
    color: #ffffff !important;
}

body.fh-logged-in .fh-ca-page-hero p {
    color: rgba(255, 255, 255, .88) !important;
}

/* Datatables dark reset — dashboard/toolbar only (list tables use white cards) */
body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper,
body.fh-ca-shell .fh-ca-toolbar .dataTables_wrapper,
body.fh-ca-shell .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .dataTables_wrapper,
body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper .row,
body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper .dataTables_scroll,
body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper .dataTables_scrollHead,
body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper .dataTables_scrollHeadInner,
body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper .dataTables_scrollBody,
body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper .dataTables_scrollFoot,
body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper .dataTables_length,
body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper .dataTables_filter,
body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper .dataTables_info,
body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper .dataTables_paginate {
    background: transparent !important;
    color: #dbeafe !important;
}

/* Table wrapper and all known WHMCS tables */
body.fh-ca-shell .fh-ca-app-dashboard table,
body.fh-ca-shell .fh-ca-app-dashboard table.table,
body.fh-ca-shell .fh-ca-app-dashboard table.dataTable,
body.fh-ca-shell .fh-ca-app-dashboard .table-list,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.table,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.dataTable,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .table-list {
    width: 100% !important;
    background: rgba(4, 18, 50, .92) !important;
    color: #eaf2ff !important;
    border-color: rgba(148, 163, 184, .16) !important;
}

/* Table heading row: high contrast — dark tables only */
body.fh-ca-shell .fh-ca-app-dashboard table thead,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table thead,
body.fh-ca-shell .fh-ca-app-dashboard table.table thead,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.table thead,
body.fh-ca-shell .fh-ca-app-dashboard table.dataTable thead,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.dataTable thead,
body.fh-ca-shell .fh-ca-app-dashboard .table-list thead,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .table-list thead {
    background: #0b1f4d !important;
}

body.fh-ca-shell .fh-ca-app-dashboard table thead tr,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table thead tr,
body.fh-ca-shell .fh-ca-app-dashboard table.table thead tr,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.table thead tr,
body.fh-ca-shell .fh-ca-app-dashboard table.dataTable thead tr,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.dataTable thead tr,
body.fh-ca-shell .fh-ca-app-dashboard .table-list thead tr,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .table-list thead tr {
    background: #0b1f4d !important;
}

body.fh-ca-shell .fh-ca-app-dashboard table thead th,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table thead th,
body.fh-ca-shell .fh-ca-app-dashboard table.table thead th,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.table thead th,
body.fh-ca-shell .fh-ca-app-dashboard table.dataTable thead th,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.dataTable thead th,
body.fh-ca-shell .fh-ca-app-dashboard .table-list thead th,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .table-list thead th,
body.fh-ca-shell .fh-ca-app-dashboard .dataTables_scrollHead table thead th,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .dataTables_scrollHead table thead th {
    background: #0b1f4d !important;
    color: #ffffff !important;
    border-color: rgba(148, 163, 184, .18) !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    opacity: 1 !important;
}

/* Sort icons should not wash out heading text */
body.fh-ca-shell .fh-ca-app-dashboard table.dataTable thead .sorting:after,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.dataTable thead .sorting:after,
body.fh-ca-shell .fh-ca-app-dashboard table.dataTable thead .sorting_asc:after,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.dataTable thead .sorting_asc:after,
body.fh-ca-shell .fh-ca-app-dashboard table.dataTable thead .sorting_desc:after,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.dataTable thead .sorting_desc:after,
body.fh-ca-shell .fh-ca-app-dashboard table.dataTable thead .sorting:before,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.dataTable thead .sorting:before,
body.fh-ca-shell .fh-ca-app-dashboard table.dataTable thead .sorting_asc:before,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.dataTable thead .sorting_asc:before,
body.fh-ca-shell .fh-ca-app-dashboard table.dataTable thead .sorting_desc:before,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.dataTable thead .sorting_desc:before {
    color: #93c5fd !important;
    opacity: .95 !important;
}

/* Table body rows — dark tables only */
body.fh-ca-shell .fh-ca-app-dashboard table tbody,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table tbody,
body.fh-ca-shell .fh-ca-app-dashboard table.table tbody,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.table tbody,
body.fh-ca-shell .fh-ca-app-dashboard table.dataTable tbody,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.dataTable tbody,
body.fh-ca-shell .fh-ca-app-dashboard .table-list tbody,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .table-list tbody {
    background: rgba(4, 18, 50, .92) !important;
}

body.fh-ca-shell .fh-ca-app-dashboard table tbody tr,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table tbody tr,
body.fh-ca-shell .fh-ca-app-dashboard table.table tbody tr,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.table tbody tr,
body.fh-ca-shell .fh-ca-app-dashboard table.dataTable tbody tr,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.dataTable tbody tr,
body.fh-ca-shell .fh-ca-app-dashboard .table-list tbody tr,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .table-list tbody tr {
    background: rgba(8, 26, 62, .82) !important;
}

body.fh-ca-shell .fh-ca-app-dashboard table tbody tr:nth-child(even),
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table tbody tr:nth-child(even),
body.fh-ca-shell .fh-ca-app-dashboard table.table tbody tr:nth-child(even),
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.table tbody tr:nth-child(even),
body.fh-ca-shell .fh-ca-app-dashboard table.dataTable tbody tr:nth-child(even),
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.dataTable tbody tr:nth-child(even),
body.fh-ca-shell .fh-ca-app-dashboard .table-list tbody tr:nth-child(even),
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .table-list tbody tr:nth-child(even) {
    background: rgba(10, 31, 76, .82) !important;
}

body.fh-ca-shell .fh-ca-app-dashboard table tbody tr:hover,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table tbody tr:hover,
body.fh-ca-shell .fh-ca-app-dashboard table.table tbody tr:hover,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.table tbody tr:hover,
body.fh-ca-shell .fh-ca-app-dashboard table.dataTable tbody tr:hover,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.dataTable tbody tr:hover,
body.fh-ca-shell .fh-ca-app-dashboard .table-list tbody tr:hover,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .table-list tbody tr:hover {
    background: rgba(37, 99, 235, .18) !important;
}

body.fh-ca-shell .fh-ca-app-dashboard table tbody td,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table tbody td,
body.fh-ca-shell .fh-ca-app-dashboard table.table tbody td,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.table tbody td,
body.fh-ca-shell .fh-ca-app-dashboard table.dataTable tbody td,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.dataTable tbody td,
body.fh-ca-shell .fh-ca-app-dashboard .table-list tbody td,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .table-list tbody td {
    background: transparent !important;
    color: #edf4ff !important;
    border-color: rgba(148, 163, 184, .14) !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    opacity: 1 !important;
}

/* Table links and domain/service names — dark tables only */
body.fh-ca-shell .fh-ca-app-dashboard table tbody td a,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table tbody td a,
body.fh-ca-shell .fh-ca-app-dashboard table.table tbody td a,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.table tbody td a,
body.fh-ca-shell .fh-ca-app-dashboard table.dataTable tbody td a,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.dataTable tbody td a,
body.fh-ca-shell .fh-ca-app-dashboard .table-list tbody td a,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .table-list tbody td a {
    color: #93c5fd !important;
    font-weight: 900 !important;
    opacity: 1 !important;
}

body.fh-ca-shell .fh-ca-app-dashboard table tbody td strong,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table tbody td strong,
body.fh-ca-shell .fh-ca-app-dashboard table tbody td b,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table tbody td b {
    color: #ffffff !important;
}

/* DataTables top and footer controls — dark tables only */
body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper .dataTables_length label,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .dataTables_wrapper .dataTables_length label,
body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper .dataTables_filter label,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .dataTables_wrapper .dataTables_filter label,
body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper .dataTables_info,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .dataTables_wrapper .dataTables_info {
    color: #dbeafe !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper input[type="search"],
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .dataTables_wrapper input[type="search"],
body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper select,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .dataTables_wrapper select {
    background: #081a3e !important;
    border: 1px solid rgba(148, 163, 184, .20) !important;
    color: #ffffff !important;
    border-radius: 12px !important;
    min-height: 40px !important;
}

body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper input[type="search"]::placeholder,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .dataTables_wrapper input[type="search"]::placeholder {
    color: #90a6c8 !important;
}

/* Pagination */
body.fh-ca-shell .pagination > li > a,
body.fh-ca-shell .pagination > li > span,
body.fh-ca-shell .dataTables_paginate .paginate_button {
    background: #081a3e !important;
    border-color: rgba(148, 163, 184, .18) !important;
    color: #dbeafe !important;
    font-weight: 800 !important;
}

body.fh-ca-shell .pagination > .active > a,
body.fh-ca-shell .pagination > .active > span,
body.fh-ca-shell .dataTables_paginate .paginate_button.current {
    background: linear-gradient(135deg, #2563eb, #7c3aed) !important;
    border-color: transparent !important;
    color: #ffffff !important;
}

/* Status badges */
body.fh-ca-shell .status-active,
body.fh-ca-shell .label-success,
body.fh-ca-shell .badge-success,
body.fh-ca-shell .status {
    opacity: 1 !important;
}

body.fh-ca-shell .status-active {
    background: rgba(16, 185, 129, .24) !important;
    color: #bbf7d0 !important;
}

/* Dropdown/action buttons inside dark tables only */
body.fh-ca-shell .fh-ca-app-dashboard table .btn,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table .btn,
body.fh-ca-shell .fh-ca-app-dashboard table .dropdown-toggle,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table .dropdown-toggle,
body.fh-ca-shell .fh-ca-app-dashboard .btn-group .btn,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .btn-group .btn {
    color: #ffffff !important;
    background: rgba(255,255,255,.08) !important;
    border-color: rgba(148, 163, 184, .18) !important;
}

body.fh-ca-shell .fh-ca-app-dashboard .dropdown-menu,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .dropdown-menu {
    background: #061a42 !important;
    border: 1px solid rgba(148, 163, 184, .18) !important;
    box-shadow: 0 20px 50px rgba(0,0,0,.35) !important;
}

body.fh-ca-shell .fh-ca-app-dashboard .dropdown-menu > li > a,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .dropdown-menu > li > a {
    color: #eaf2ff !important;
    font-weight: 750 !important;
}

body.fh-ca-shell .fh-ca-app-dashboard .dropdown-menu > li > a:hover,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .dropdown-menu > li > a:hover {
    background: rgba(37, 99, 235, .18) !important;
    color: #ffffff !important;
}

/* Checkboxes and icons */
body.fh-ca-shell input[type="checkbox"],
body.fh-ca-shell input[type="radio"] {
    accent-color: #2563eb;
}

body.fh-ca-shell table i,
body.fh-ca-shell .table-list i {
    color: #93c5fd !important;
}

/* Fix any white text appearing on white button backgrounds */
body.fh-ca-shell .btn-default,
body.fh-ca-shell .btn.btn-default,
body.fh-ca-shell .btn-secondary {
    color: #ffffff !important;
    background: #b24949eb !important;
}

/* Header search bar area remains readable */
body.fh-ca-shell .fh-ca-topbar {
    color: #eaf2ff !important;
}

body.fh-ca-shell .fh-ca-search .form-control {
    color: #ffffff !important;
    background: rgba(8, 26, 62, .92) !important;
}

/* If WHMCS produces light cards with text-primary, force visible */
body.fh-ca-shell .text-primary,
body.fh-ca-shell .text-info {
    color: #93c5fd !important;
}

body.fh-ca-shell .text-success {
    color: #86efac !important;
}

body.fh-ca-shell .text-warning {
    color: #fdba74 !important;
}

body.fh-ca-shell .text-danger {
    color: #fda4af !important;
}


/* ==========================================================
   FariHost Client Area v4 - Final Contrast Patch
   Fixes pale description text and mixed white/dark blocks even
   when WHMCS/clientarea body classes differ.
   ========================================================== */

/* Main client-area shell must stay readable */
body.fh-ca-shell .fh-ca-page-shell,
body.fh-ca-shell .fh-ca-page-content,
body.fh-ca-shell .fh-ca-app-dashboard {
    color: #eaf2ff !important;
}

/* Fix the exact low-contrast subtitle/description text shown on invoices/domains/services */
.fh-ca-page-content > p,
.fh-ca-page-content .description,
.fh-ca-page-content .text-muted,
.fh-ca-page-content .help-block,
.fh-ca-page-content .table-container + p,
.fh-ca-page-content p.text-muted,
.fh-ca-page-shell p,
.fh-ca-page-shell small,
.main-content .fh-ca-page-content > p,
.main-content .fh-ca-page-content .text-muted,
.main-content .fh-ca-page-content .help-block {
    color: #4f6488 !important;
    opacity: 1 !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1.65 !important;
}

/* For white cards, use dark readable text */
.fh-ca-page-content > .panel,
.fh-ca-page-content > .card,
.fh-ca-page-content > .well,
.fh-ca-page-content > .table-container,
.fh-ca-page-content .panel,
.fh-ca-page-content .card,
.fh-ca-page-content .well {
    color: #0f172a !important;
}

.fh-ca-page-content > .panel h1,
.fh-ca-page-content > .panel h2,
.fh-ca-page-content > .panel h3,
.fh-ca-page-content > .panel h4,
.fh-ca-page-content > .card h1,
.fh-ca-page-content > .card h2,
.fh-ca-page-content > .card h3,
.fh-ca-page-content > .card h4,
.fh-ca-page-content > .well h1,
.fh-ca-page-content > .well h2,
.fh-ca-page-content > .well h3,
.fh-ca-page-content > .well h4 {
    color: #06113f !important;
    opacity: 1 !important;
}

/* Stronger readable descriptions inside light panels */
.fh-ca-page-content > .panel p,
.fh-ca-page-content > .card p,
.fh-ca-page-content > .well p,
.fh-ca-page-content > .table-container p,
.fh-ca-page-content > .panel .text-muted,
.fh-ca-page-content > .card .text-muted,
.fh-ca-page-content > .well .text-muted,
.fh-ca-page-content > .table-container .text-muted,
.fh-ca-page-content .panel-body > p,
.fh-ca-page-content .card-body > p {
    color: #4b5f82 !important;
    opacity: 1 !important;
    font-weight: 650 !important;
}

/* Keep the major data table dark and high contrast — shell list cards stay light */
body.fh-ca-shell .fh-ca-page-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table,
body.fh-ca-shell .fh-ca-page-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.table,
body.fh-ca-shell .fh-ca-page-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.dataTable,
body.fh-ca-shell .fh-ca-page-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .table-list {
    background: #071b42 !important;
    color: #ffffff !important;
}

body.fh-ca-shell .fh-ca-page-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table thead th,
body.fh-ca-shell .fh-ca-page-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .table-list thead th {
    background: #081f50 !important;
    color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

body.fh-ca-shell .fh-ca-page-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table tbody td,
body.fh-ca-shell .fh-ca-page-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .table-list tbody td {
    color: #f4f8ff !important;
    opacity: 1 !important;
}

body.fh-ca-shell .fh-ca-page-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table tbody td a,
body.fh-ca-shell .fh-ca-page-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .table-list tbody td a {
    color: #9ec5ff !important;
    font-weight: 900 !important;
}

/* DataTables top and bottom bars — dark tables only (white cards styled in clientarea.css) */
body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper .dataTables_info,
body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper .dataTables_length,
body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper .dataTables_filter,
body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper .dataTables_paginate,
body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper label,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .dataTables_wrapper .dataTables_info,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .dataTables_wrapper .dataTables_length,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .dataTables_wrapper .dataTables_filter,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .dataTables_wrapper .dataTables_paginate,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .dataTables_wrapper label {
    color: #eaf2ff !important;
    opacity: 1 !important;
}

body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper input[type="search"],
body.fh-ca-shell .fh-ca-app-dashboard .dataTables_wrapper select,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .dataTables_wrapper input[type="search"],
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .dataTables_wrapper select {
    background: #0b1f4d !important;
    color: #ffffff !important;
    border: 1px solid rgba(148, 163, 184, .24) !important;
}

/* Cards with mixed white backgrounds: make title and paragraph readable */
body.fh-ca-shell .main-content .panel:not(.panel-sidebar) .panel-body,
body.fh-ca-shell .main-content .card .card-body,
body.fh-ca-shell .main-content .well,
body.fh-ca-shell .main-content .table-container {
    color: #0f172a !important;
}

body.fh-ca-shell .main-content .panel:not(.panel-sidebar) .panel-body h1,
body.fh-ca-shell .main-content .panel:not(.panel-sidebar) .panel-body h2,
body.fh-ca-shell .main-content .panel:not(.panel-sidebar) .panel-body h3,
body.fh-ca-shell .main-content .panel:not(.panel-sidebar) .panel-body h4,
body.fh-ca-shell .main-content .card .card-body h1,
body.fh-ca-shell .main-content .card .card-body h2,
body.fh-ca-shell .main-content .card .card-body h3,
body.fh-ca-shell .main-content .card .card-body h4 {
    color: #06113f !important;
}

body.fh-ca-shell .main-content .panel:not(.panel-sidebar) .panel-body p,
body.fh-ca-shell .main-content .card .card-body p,
body.fh-ca-shell .main-content .well p {
    color: #4b5f82 !important;
}

/* Dark table blocks only — white list cards keep dark text via clientarea.css */
body.fh-ca-shell .fh-ca-app-dashboard .table-container,
body.fh-ca-shell .fh-ca-app-dashboard .table-container *,
body.fh-ca-shell .fh-ca-app-dashboard table.dataTable,
body.fh-ca-shell .fh-ca-app-dashboard table.dataTable *,
body.fh-ca-shell .fh-ca-app-dashboard .table-list,
body.fh-ca-shell .fh-ca-app-dashboard .table-list *,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container),
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) *,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.dataTable,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) table.dataTable *,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .table-list,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) .table-list * {
    color: #edf4ff !important;
}

body.fh-ca-shell .fh-ca-app-dashboard .table-container h1,
body.fh-ca-shell .fh-ca-app-dashboard .table-container h2,
body.fh-ca-shell .fh-ca-app-dashboard .table-container h3,
body.fh-ca-shell .fh-ca-app-dashboard .table-container h4,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) h1,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) h2,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) h3,
body.fh-ca-shell .main-content .table-container:not(.fh-data-card .table-container):not(.fh-list-page-card .table-container) h4 {
    color: #ffffff !important;
}

/* Page overview title/subtitle block before table */
.fh-ca-page-content > h1,
.fh-ca-page-content > h2,
.fh-ca-page-content > h3,
.fh-ca-page-content > h4,
.main-content .fh-ca-page-content > h1,
.main-content .fh-ca-page-content > h2,
.main-content .fh-ca-page-content > h3,
.main-content .fh-ca-page-content > h4 {
    color: #07113f !important;
    font-weight: 950 !important;
    opacity: 1 !important;
}

.fh-ca-page-content > h1 + p,
.fh-ca-page-content > h2 + p,
.fh-ca-page-content > h3 + p,
.fh-ca-page-content > h4 + p,
.main-content .fh-ca-page-content > h1 + p,
.main-content .fh-ca-page-content > h2 + p,
.main-content .fh-ca-page-content > h3 + p,
.main-content .fh-ca-page-content > h4 + p {
    color: #516789 !important;
    opacity: 1 !important;
    font-size: 15px !important;
    font-weight: 650 !important;
}

/* WHMCS generated pages sometimes use .text-light; stop invisible text on white */
body.fh-ca-shell .main-content .text-light,
body.fh-ca-shell .fh-ca-page-content .text-light {
    color: #516789 !important;
}

/* On dark table/search areas, .text-light should remain light */
body.fh-ca-shell .main-content .table-container .text-light,
body.fh-ca-shell .fh-ca-page-content .table-container .text-light {
    color: #eaf2ff !important;
}

/* Filter/action cards title colors */
body.fh-ca-shell .main-content .panel-title,
body.fh-ca-shell .main-content .card-title,
body.fh-ca-shell .main-content .panel-heading,
body.fh-ca-shell .main-content .card-header {
    color: #06113f !important;
}

body.fh-ca-shell .main-content .panel-heading *,
body.fh-ca-shell .main-content .card-header * {
    color: inherit !important;
}

/* Sidebar remains dark/light contrast */
body.fh-ca-shell .sidebar .panel-sidebar,
body.fh-ca-shell .sidebar .panel-sidebar *,
body.fh-ca-shell .sidebar .list-group-item {
    color: #dbeafe !important;
}

/* Status labels stay visible */
body.fh-ca-shell .main-content .status,
body.fh-ca-shell .main-content .label,
body.fh-ca-shell .main-content .badge {
    opacity: 1 !important;
    font-weight: 900 !important;
}

/* Unpaid badge specifically */
body.fh-ca-shell .main-content .status-unpaid,
body.fh-ca-shell .main-content .label-unpaid,
body.fh-ca-shell .main-content .status-Unpaid {
    color: #fed7aa !important;
    background: rgba(251, 146, 60, .18) !important;
    border: 1px solid rgba(251, 146, 60, .25) !important;
}

/* More exact invoice/domain/services overview subtitle selector */
body.fh-ca-shell .main-content h3 + p,
body.fh-ca-shell .main-content h2 + p,
body.fh-ca-shell .main-content .panel-body h3 + p,
body.fh-ca-shell .main-content .card-body h3 + p {
    color: #516789 !important;
    opacity: 1 !important;
}

/* Do not make table body subtitles dark */
body.fh-ca-shell .main-content .table-container h3 + p,
body.fh-ca-shell .main-content table h3 + p {
    color: #dbeafe !important;
}

/* ==========================================================
   Marketing pages — keep readable when user is logged in
   ========================================================== */
body.fh-logged-in:not(.fh-ca-shell):not(.fh-shopping-cart) {
    background: var(--fh-bg) !important;
    color: var(--fh-text) !important;
}

body.fh-logged-in:not(.fh-ca-shell) .main-content,
body.fh-logged-in:not(.fh-ca-shell) .main-content p,
body.fh-logged-in:not(.fh-ca-shell) .main-content li,
body.fh-logged-in:not(.fh-ca-shell) .main-content div,
body.fh-logged-in:not(.fh-ca-shell) .main-content span:not(.badge):not(.label):not(.status),
body.fh-logged-in:not(.fh-ca-shell) .main-content h1,
body.fh-logged-in:not(.fh-ca-shell) .main-content h2,
body.fh-logged-in:not(.fh-ca-shell) .main-content h3,
body.fh-logged-in:not(.fh-ca-shell) .main-content h4 {
    
}

body.fh-logged-in:not(.fh-ca-shell) .fh-page-wrap {
    color: #0f172a !important;
}

body.fh-logged-in:not(.fh-ca-shell) .fh-heading h2,
body.fh-logged-in:not(.fh-ca-shell) .fh-section h2,
body.fh-logged-in:not(.fh-ca-shell) .fh-card h3 {
    color: #0f172a !important;
}

body.fh-logged-in:not(.fh-ca-shell) .fh-heading p,
body.fh-logged-in:not(.fh-ca-shell) .fh-section p,
body.fh-logged-in:not(.fh-ca-shell) .fh-card p,
body.fh-logged-in:not(.fh-ca-shell) .fh-feature p,
body.fh-logged-in:not(.fh-ca-shell) .fh-stat-item span,
body.fh-logged-in:not(.fh-ca-shell) .fh-stat-item small {
    color: #64748b !important;
}

body.fh-logged-in:not(.fh-ca-shell) .fh-stat-item strong,
body.fh-logged-in:not(.fh-ca-shell) .fh-stat-grid .fh-stat-card strong {
    color: #0f172a !important;
}

body.fh-logged-in:not(.fh-ca-shell) .fh-stat-grid .fh-stat-card span {
    color: #64748b !important;
}

body.fh-logged-in:not(.fh-ca-shell) .fh-included-item p,
body.fh-logged-in:not(.fh-ca-shell) .fh-included-item h3 {
    color: inherit !important;
}

body.fh-logged-in:not(.fh-ca-shell) .fh-included-item h3 {
    color: #0f172a !important;
}

body.fh-logged-in:not(.fh-ca-shell) .fh-included-item p {
    color: #64748b !important;
}

