/* Shared dark-blue portal system for remaining WHMCS pages. */
.portal-page {
    --portal-cyan: #67d4ff;
    --portal-blue: #347fff;
    --portal-deep: #050e20;
    --portal-panel: #091831;
    --portal-panel-soft: #0b1d3a;
    --portal-line: rgba(112, 177, 255, .17);
    --portal-line-soft: rgba(112, 177, 255, .1);
    --portal-text: #e7f2ff;
    --portal-muted: #8399b8;
}

.portal-page:not(.simple-home):not(.simple-store) #main-body {
    background:
        radial-gradient(circle at 82% 5%, rgba(52, 127, 255, .055), transparent 34rem),
        #061126;
    color: var(--portal-muted);
    min-height: 52vh;
    padding: 36px 0 65px;
}
.portal-page:not(.simple-home):not(.simple-store) #main-body .primary-content { min-width: 0; }

/* Shared page heading — navbar and footer are intentionally untouched. */
.portal-page:not(.simple-home):not(.simple-store) .tt-page-header {
    background:
        radial-gradient(circle at 82% -30%, rgba(65, 145, 255, .24), transparent 28rem),
        linear-gradient(145deg, #0d244b, #07142e 75%) !important;
    border-bottom: 1px solid rgba(112, 177, 255, .14);
    padding: 47px 0 !important;
    position: relative;
}
.portal-page:not(.simple-home):not(.simple-store) .tt-page-header:after { background: linear-gradient(90deg, transparent, rgba(103,212,255,.55), transparent); bottom: -1px; content: ''; height: 1px; left: 12%; position: absolute; right: 12%; }
.portal-page:not(.simple-home):not(.simple-store) .tt-page-header h1 { color: #f5f9ff !important; font-family: 'Space Grotesk', sans-serif; font-size: clamp(1.8rem, 4vw, 3.25rem) !important; font-weight: 700; letter-spacing: -.05em; }
.portal-page:not(.simple-home):not(.simple-store) .tt-page-header p { color: #8299b9; margin: 9px 0 0; }
.portal-page:not(.simple-home):not(.simple-store) .tt-breadcrumb { margin-top: 14px; }
.portal-page:not(.simple-home):not(.simple-store) .breadcrumb { background: transparent; margin: 0; padding: 0; }
.portal-page:not(.simple-home):not(.simple-store) .breadcrumb-item,
.portal-page:not(.simple-home):not(.simple-store) .breadcrumb-item a { color: #6f89ac; font-size: .64rem; font-weight: 700; }
.portal-page:not(.simple-home):not(.simple-store) .tt-triangle-right { display: none; }

/* Cards and panels */
.portal-page:not(.simple-home):not(.simple-store) #main-body .card,
.portal-page:not(.simple-home):not(.simple-store) #main-body .panel,
.portal-page:not(.simple-home):not(.simple-store) #main-body .well,
.portal-page:not(.simple-home):not(.simple-store) #main-body .tt-custom-card {
    background: linear-gradient(150deg, rgba(10, 27, 55, .99), rgba(5, 14, 31, .99)) !important;
    border: 1px solid var(--portal-line) !important;
    border-radius: 18px;
    box-shadow: 0 18px 55px rgba(0, 0, 0, .2);
    color: var(--portal-muted);
    overflow: hidden;
}
.portal-page:not(.simple-home):not(.simple-store) #main-body .card-header,
.portal-page:not(.simple-home):not(.simple-store) #main-body .panel-heading {
    background: rgba(52, 127, 255, .055) !important;
    border-bottom: 1px solid rgba(112, 177, 255, .13) !important;
    color: var(--portal-text) !important;
    padding: 17px 20px;
}
.portal-page:not(.simple-home):not(.simple-store) #main-body .card-footer,
.portal-page:not(.simple-home):not(.simple-store) #main-body .panel-footer { background: rgba(4, 13, 29, .48) !important; border-top: 1px solid var(--portal-line-soft) !important; color: var(--portal-muted); }
.portal-page:not(.simple-home):not(.simple-store) #main-body .card-title,
.portal-page:not(.simple-home):not(.simple-store) #main-body .panel-title,
.portal-page:not(.simple-home):not(.simple-store) #main-body h2,
.portal-page:not(.simple-home):not(.simple-store) #main-body h3,
.portal-page:not(.simple-home):not(.simple-store) #main-body h4,
.portal-page:not(.simple-home):not(.simple-store) #main-body h5,
.portal-page:not(.simple-home):not(.simple-store) #main-body h6 { color: var(--portal-text); }
.portal-page:not(.simple-home):not(.simple-store) #main-body .card-title,
.portal-page:not(.simple-home):not(.simple-store) #main-body .panel-title { font-family: 'Space Grotesk', sans-serif; letter-spacing: -.025em; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .bg-white,
.portal-page:not(.simple-home):not(.simple-store) #main-body .bg-gray-light,
.portal-page:not(.simple-home):not(.simple-store) #main-body .bg-default { background: var(--portal-panel) !important; }

/* Plain page forms receive a deliberate surface without changing form logic. */
.portal-page:not(.simple-home):not(.simple-store) #main-body .primary-content > form:not(.fh-ticket-form),
.portal-page.page-clientareadetails #main-body form,
.portal-page.page-user-profile #main-body form,
.portal-page.page-user-security #main-body form,
.portal-page.page-user-password #main-body form,
.portal-page.page-account-contacts-manage #main-body form,
.portal-page.page-account-contacts-new #main-body form {
    background: linear-gradient(150deg, #0a1b37, #061126);
    border: 1px solid var(--portal-line);
    border-radius: 19px;
    box-shadow: 0 20px 60px rgba(0,0,0,.2);
    padding: 26px;
}
.portal-page:not(.simple-home):not(.simple-store) #main-body label { color: #9aadc7; font-size: .65rem; font-weight: 800; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .form-control,
.portal-page:not(.simple-home):not(.simple-store) #main-body .custom-select,
.portal-page:not(.simple-home):not(.simple-store) #main-body select,
.portal-page:not(.simple-home):not(.simple-store) #main-body textarea,
.portal-page:not(.simple-home):not(.simple-store) #main-body .input-group-text,
.portal-page:not(.simple-home):not(.simple-store) #main-body .custom-file-label {
    background: var(--portal-deep) !important;
    border-color: rgba(112, 177, 255, .19) !important;
    color: #e5f1ff !important;
}
.portal-page:not(.simple-home):not(.simple-store) #main-body .form-control,
.portal-page:not(.simple-home):not(.simple-store) #main-body .custom-select,
.portal-page:not(.simple-home):not(.simple-store) #main-body select { border-radius: 9px; min-height: 43px; }
.portal-page:not(.simple-home):not(.simple-store) #main-body textarea.form-control { min-height: 145px; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .form-control:focus,
.portal-page:not(.simple-home):not(.simple-store) #main-body select:focus,
.portal-page:not(.simple-home):not(.simple-store) #main-body textarea:focus { border-color: rgba(103, 212, 255, .48) !important; box-shadow: 0 0 0 3px rgba(52, 127, 255, .11); }
.portal-page:not(.simple-home):not(.simple-store) #main-body .form-control:disabled,
.portal-page:not(.simple-home):not(.simple-store) #main-body .form-control[readonly] { color: #6d83a2 !important; opacity: .76; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .form-text,
.portal-page:not(.simple-home):not(.simple-store) #main-body .text-muted { color: #667f9f !important; }
.portal-page:not(.simple-home):not(.simple-store) #main-body hr { border-color: var(--portal-line-soft); }

/* Buttons */
.portal-page:not(.simple-home):not(.simple-store) #main-body .btn { border-radius: 9px; font-size: .68rem; font-weight: 800; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .btn-primary,
.portal-page:not(.simple-home):not(.simple-store) #main-body .btn-success { background: linear-gradient(135deg, #3f8cff, #1d61dc) !important; border-color: rgba(130, 201, 255, .4) !important; color: #fff !important; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .btn-default,
.portal-page:not(.simple-home):not(.simple-store) #main-body .btn-secondary { background: rgba(52, 127, 255, .1) !important; border-color: rgba(103, 212, 255, .19) !important; color: #dbeeff !important; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .btn-danger { background: rgba(239, 116, 112, .1) !important; border-color: rgba(239, 116, 112, .27) !important; color: #ffc2bf !important; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .btn-warning { background: rgba(241, 189, 99, .1) !important; border-color: rgba(241, 189, 99, .27) !important; color: #ffe1a9 !important; }

/* DataTables and all account lists */
.portal-page:not(.simple-home):not(.simple-store) #main-body .dataTables_wrapper,
.portal-page:not(.simple-home):not(.simple-store) #main-body .table-container {
    background: linear-gradient(150deg, #0a1b37, #061126);
    border: 1px solid var(--portal-line);
    border-radius: 18px;
    box-shadow: 0 18px 55px rgba(0,0,0,.19);
    overflow: hidden;
}
.portal-page:not(.simple-home):not(.simple-store) #main-body .dataTables_wrapper .table-container { background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .dataTables_length,
.portal-page:not(.simple-home):not(.simple-store) #main-body .dataTables_filter { color: #728aaa; padding: 14px 16px 4px; }
.portal-page:not(.simple-home):not(.simple-store) #main-body table { color: #8fa4c0; margin-bottom: 0; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .table thead th { background: rgba(52, 127, 255, .07); border-bottom: 1px solid rgba(112, 177, 255, .15); border-top: 0; color: #b8cde4; font-size: .57rem; font-weight: 900; letter-spacing: .08em; padding: 14px; text-transform: uppercase; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .table td { border-color: rgba(112, 177, 255, .09); color: #8499b8; padding: 14px; vertical-align: middle; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .table tbody tr { background: transparent; transition: background .2s ease; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .table tbody tr:hover { background: rgba(52, 127, 255, .065); }
.portal-page:not(.simple-home):not(.simple-store) #main-body .table a { color: #b8ddfa; font-weight: 700; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .dataTables_info { color: #60799b; font-size: .62rem; padding: 14px 16px; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .dataTables_paginate { padding: 9px 14px 13px; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .pagination .page-link,
.portal-page:not(.simple-home):not(.simple-store) #main-body .dataTables_paginate .paginate_button { background: rgba(52,127,255,.08) !important; border-color: rgba(112,177,255,.13) !important; color: #91a9c5 !important; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .pagination .active .page-link,
.portal-page:not(.simple-home):not(.simple-store) #main-body .dataTables_paginate .paginate_button.current { background: rgba(52,127,255,.2) !important; color: #f0f8ff !important; }

/* Statuses remain semantic while the primary visual language stays blue. */
.portal-page:not(.simple-home):not(.simple-store) #main-body .label.status,
.portal-page:not(.simple-home):not(.simple-store) #main-body .badge { background: rgba(112,177,255,.1); border: 1px solid rgba(112,177,255,.18); border-radius: 999px; color: #a9bfd9; font-size: .55rem; font-weight: 900; padding: 6px 8px; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .status-active,
.portal-page:not(.simple-home):not(.simple-store) #main-body .status-paid,
.portal-page:not(.simple-home):not(.simple-store) #main-body .status-open { background: rgba(52,127,255,.14) !important; border-color: rgba(103,212,255,.24) !important; color: #bdecff !important; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .status-cancelled,
.portal-page:not(.simple-home):not(.simple-store) #main-body .status-closed,
.portal-page:not(.simple-home):not(.simple-store) #main-body .status-terminated { background: rgba(125,141,165,.09) !important; border-color: rgba(125,141,165,.16) !important; color: #8ea0b8 !important; }

/* Tabs, lists, dropdowns and accordions */
.portal-page:not(.simple-home):not(.simple-store) #main-body .nav-tabs { border: 1px solid var(--portal-line); border-radius: 14px; gap: 4px; padding: 7px; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .nav-tabs .nav-link { border: 1px solid transparent; border-radius: 8px; color: #738cac; font-size: .65rem; font-weight: 800; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .nav-tabs .nav-link:hover { background: rgba(52,127,255,.07); color: #dcecff; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .nav-tabs .nav-link.active { background: rgba(52,127,255,.15); border-color: rgba(103,212,255,.2); color: #eef8ff; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .list-group-item { background: rgba(7, 20, 43, .78); border-color: var(--portal-line-soft); color: #849ab8; }
.portal-page:not(.simple-home):not(.simple-store) #main-body a.list-group-item:hover,
.portal-page:not(.simple-home):not(.simple-store) #main-body .list-group-item-action:hover { background: rgba(52,127,255,.08); color: #e3f1ff; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .dropdown-menu { background: #081730; border: 1px solid var(--portal-line); box-shadow: 0 18px 45px rgba(0,0,0,.32); }
.portal-page:not(.simple-home):not(.simple-store) #main-body .dropdown-item { color: #8ea5c2; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .dropdown-item:hover { background: rgba(52,127,255,.1); color: #eef7ff; }

/* Alerts and verification messages */
.portal-page:not(.simple-home):not(.simple-store) #main-body .alert { background: #0a1a35; border: 1px solid var(--portal-line); border-radius: 13px; color: #adc0d7; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .alert-success,
.portal-page:not(.simple-home):not(.simple-store) #main-body .alert-info { border-color: rgba(103,212,255,.24); }
.portal-page:not(.simple-home):not(.simple-store) #main-body .alert-warning { border-color: rgba(241,189,99,.27); color: #e2c994; }
.portal-page:not(.simple-home):not(.simple-store) #main-body .alert-danger { border-color: rgba(239,116,112,.28); color: #e9aaa7; }

/* Domain, ticket and account-specific existing structures */
.portal-page.page-clientareadomaindetails #main-body .domain-overview,
.portal-page.page-viewticket #main-body .ticket-reply,
.portal-page.page-viewticket #main-body .ticket-replies,
.portal-page.page-affiliates #main-body .affiliate-stat,
.portal-page.page-serverstatus #main-body .network-issue,
.portal-page.page-contact #main-body .tt-contact-form,
.portal-page.page-downloads #main-body .tt-rounded,
.portal-page.page-downloadscat #main-body .tt-rounded {
    background: linear-gradient(150deg, #0a1b37, #061126) !important;
    border: 1px solid var(--portal-line) !important;
    border-radius: 18px !important;
    color: var(--portal-muted);
}
.portal-page.page-viewticket #main-body .ticket-reply { padding: 20px; }
.portal-page.page-viewticket #main-body .message { color: #94a8c2; }
.portal-page.page-clientareadomaindetails #main-body .domain-header { background: rgba(52,127,255,.08) !important; border-color: var(--portal-line) !important; }
.portal-page.page-contact #main-body .tt-contact-form { padding: 28px !important; }
.portal-page.page-downloads #main-body .tt-rounded,
.portal-page.page-downloadscat #main-body .tt-rounded { padding: 24px !important; }
.portal-page.page-contact #main-body .tt-contact-info { align-items: center; background: radial-gradient(circle at 50% 20%,rgba(52,127,255,.13),transparent 17rem),linear-gradient(150deg,#0a1b37,#061126); border:1px solid var(--portal-line); border-radius:18px; display:flex; justify-content:center; min-height:100%; padding:30px; }
.portal-page.page-contact #main-body .tt-contact-info img { filter: hue-rotate(8deg) saturate(.85); max-height:340px; }
.portal-page.page-masspay #main-body .primary-content > form { background:transparent; border:0; box-shadow:none; padding:0; }

/* About page */
.fh-about { display:grid; gap:14px; }
.fh-about-intro { align-items:end; background:radial-gradient(circle at 88% 0,rgba(52,127,255,.2),transparent 23rem),linear-gradient(145deg,#0d244b,#061126 72%); border:1px solid var(--portal-line); border-radius:24px; display:grid; gap:25px; grid-template-columns:minmax(0,1fr) auto; min-height:265px; overflow:hidden; padding:39px; position:relative; }
.fh-about-intro > div:first-child > span,
.fh-about-story > div:first-child > span { color:var(--portal-cyan); display:block; font-size:.57rem; font-weight:900; letter-spacing:.15em; margin-bottom:12px; }
.fh-about-intro h2 { font-family:'Space Grotesk',sans-serif; font-size:clamp(2.3rem,5vw,4.1rem); letter-spacing:-.055em; line-height:.98; margin:0; max-width:780px; }
.fh-about-intro h2 em { color:var(--portal-cyan); font-style:normal; }
.fh-about-intro p { color:#8da3c1; line-height:1.7; margin:17px 0 0; max-width:650px; }
.fh-about-signal { align-items:center; background:rgba(4,13,29,.6); border:1px solid rgba(103,212,255,.18); border-radius:14px; display:flex; gap:11px; padding:13px 15px; }
.fh-about-signal > i { background:var(--portal-cyan); border-radius:50%; box-shadow:0 0 0 6px rgba(103,212,255,.08),0 0 20px rgba(103,212,255,.5); height:8px; width:8px; }
.fh-about-signal small,.fh-about-signal strong { display:block; }
.fh-about-signal small { color:#5f7798; font-size:.5rem; font-weight:800; letter-spacing:.11em; }
.fh-about-signal strong { color:#e7f3ff; font-size:.75rem; margin-top:2px; }
.fh-about-values { display:grid; gap:12px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.fh-about-values article { background:linear-gradient(150deg,#0a1b37,#061126); border:1px solid var(--portal-line); border-radius:18px; min-height:205px; padding:23px; position:relative; }
.fh-about-values article > span { color:#3f5c82; font-family:'Space Grotesk',sans-serif; font-size:.58rem; font-weight:800; position:absolute; right:18px; top:16px; }
.fh-about-values article > i { align-items:center; background:rgba(52,127,255,.13); border:1px solid rgba(103,212,255,.16); border-radius:11px; color:var(--portal-cyan); display:flex; height:42px; justify-content:center; width:42px; }
.fh-about-values h3 { font-family:'Space Grotesk',sans-serif; font-size:1rem; margin:22px 0 8px; }
.fh-about-values p { color:#748baa; font-size:.7rem; line-height:1.6; margin:0; }
.fh-about-story { background:rgba(4,13,29,.48); border:1px solid var(--portal-line-soft); border-radius:19px; display:grid; gap:34px; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); padding:34px; }
.fh-about-story h3 { font-family:'Space Grotesk',sans-serif; font-size:1.55rem; letter-spacing:-.035em; line-height:1.18; margin:0; }
.fh-about-story-copy p { color:#7d93b1; line-height:1.7; margin:0 0 12px; }
.fh-about-story-copy a { align-items:center; color:#bce7ff; display:inline-flex; font-size:.68rem; font-weight:800; gap:9px; margin-top:5px; }

/* Reseller page */
.fh-reseller { display:grid; gap:14px; }
.fh-reseller-hero { background:radial-gradient(circle at 88% 0,rgba(52,127,255,.2),transparent 23rem),linear-gradient(145deg,#0d244b,#061126 72%); border:1px solid var(--portal-line); border-radius:24px; display:grid; gap:34px; grid-template-columns:minmax(0,1fr) minmax(260px,.65fr); padding:39px; }
.fh-reseller-hero > div:first-child > span,
.fh-reseller-audience > div > span { color:var(--portal-cyan); display:block; font-size:.57rem; font-weight:900; letter-spacing:.15em; margin-bottom:12px; }
.fh-reseller-hero h2 { font-family:'Space Grotesk',sans-serif; font-size:clamp(2.3rem,5vw,4rem); letter-spacing:-.055em; line-height:.98; margin:0; }
.fh-reseller-hero h2 em { color:var(--portal-cyan); font-style:normal; }
.fh-reseller-hero p { color:#8da3c1; line-height:1.7; margin:17px 0 23px; max-width:640px; }
.fh-reseller-platforms { align-items:center; display:flex; flex-wrap:wrap; gap:8px; margin:-8px 0 22px; }
.fh-reseller-platforms small { color:#557093; font-size:.5rem; font-weight:900; letter-spacing:.13em; margin-right:3px; }
.fh-reseller-platforms span { align-items:center; background:rgba(52,127,255,.1); border:1px solid rgba(102,214,255,.18); border-radius:999px; color:#cfe7ff; display:inline-flex; font-size:.65rem; font-weight:800; gap:6px; padding:7px 10px; }
.fh-reseller-platforms span i { color:var(--portal-cyan); }
.fh-reseller-hero .btn { align-items:center; display:inline-flex; gap:9px; min-height:44px; padding:0 15px; }
.fh-reseller-flow { align-self:center; background:rgba(4,13,29,.55); border:1px solid rgba(112,177,255,.13); border-radius:17px; display:grid; gap:6px; padding:18px; }
.fh-reseller-flow > div { align-items:center; display:flex; gap:12px; }
.fh-reseller-flow > div > i { align-items:center; background:rgba(52,127,255,.12); border-radius:9px; color:var(--portal-cyan); display:flex; height:38px; justify-content:center; width:38px; }
.fh-reseller-flow small,.fh-reseller-flow strong { display:block; }
.fh-reseller-flow small { color:#557093; font-size:.48rem; font-weight:800; }
.fh-reseller-flow strong { color:#dbe9f8; font-size:.68rem; margin-top:2px; }
.fh-reseller-flow > b { background:rgba(112,177,255,.15); height:13px; margin-left:18px; width:1px; }
.fh-reseller-grid { display:grid; gap:12px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.fh-reseller-grid article { background:linear-gradient(150deg,#0a1b37,#061126); border:1px solid var(--portal-line); border-radius:17px; min-height:200px; padding:22px; }
.fh-reseller-grid article > i { color:var(--portal-cyan); font-size:1rem; }
.fh-reseller-grid h3 { font-family:'Space Grotesk',sans-serif; font-size:.93rem; margin:22px 0 8px; }
.fh-reseller-grid p { color:#7188a8; font-size:.67rem; line-height:1.6; margin:0; }
.fh-reseller-audience { align-items:center; background:rgba(4,13,29,.48); border:1px solid var(--portal-line-soft); border-radius:19px; display:grid; gap:35px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding:32px; }
.fh-reseller-audience h3 { font-family:'Space Grotesk',sans-serif; font-size:1.4rem; letter-spacing:-.035em; line-height:1.2; margin:0; }
.fh-reseller-audience ul { list-style:none; margin:0; padding:0; }
.fh-reseller-audience li { border-top:1px solid var(--portal-line-soft); color:#7d94b2; font-size:.68rem; padding:11px 0; }
.fh-reseller-audience li i { color:var(--portal-cyan); margin-right:8px; }

/* Reseller page v2 */
.fh-reseller-v2 { gap:18px; }
.fh-reseller-v2 .fh-reseller-hero { background:radial-gradient(circle at 82% 15%,rgba(38,132,255,.25),transparent 25rem),radial-gradient(circle at 10% 100%,rgba(57,210,255,.08),transparent 22rem),linear-gradient(145deg,#0b2146,#050e20 74%); border-color:rgba(103,212,255,.2); box-shadow:0 28px 80px rgba(0,0,0,.32); gap:46px; grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr); overflow:hidden; padding:52px; position:relative; }
.fh-reseller-v2 .fh-reseller-hero::before { background:linear-gradient(90deg,#347fff,#66d6ff,transparent 72%); content:''; height:3px; inset:0 0 auto; position:absolute; }
.fh-reseller-eyebrow { align-items:center; color:var(--portal-cyan); display:flex !important; font-size:.58rem !important; font-weight:900; gap:9px; letter-spacing:.17em !important; margin-bottom:19px !important; }
.fh-reseller-eyebrow i { background:#5edbff; border-radius:50%; box-shadow:0 0 13px rgba(94,219,255,.8); height:7px; width:7px; }
.fh-reseller-v2 .fh-reseller-hero h1 { color:#f3f8ff; font-family:'Space Grotesk',sans-serif; font-size:clamp(2.65rem,5vw,4.8rem); letter-spacing:-.065em; line-height:.94; margin:0; }
.fh-reseller-v2 .fh-reseller-hero h1 em { background:linear-gradient(90deg,#5dd6ff,#72a9ff); -webkit-background-clip:text; background-clip:text; color:transparent; font-style:normal; }
.fh-reseller-v2 .fh-reseller-hero-copy > p { color:#91a9c7; font-size:.9rem; line-height:1.75; margin:23px 0 27px; max-width:650px; }
.fh-reseller-actions { align-items:center; display:flex; flex-wrap:wrap; gap:18px; margin-bottom:27px; }
.fh-reseller-v2 .fh-reseller-hero .btn,.fh-reseller-v2 .fh-reseller-audience .btn { border-radius:11px; box-shadow:0 12px 28px rgba(33,102,230,.25); min-height:48px; padding:0 19px; }
.fh-reseller-text-link { align-items:center; color:#b8cce4; display:inline-flex; font-size:.68rem; font-weight:800; gap:8px; }
.fh-reseller-text-link:hover { color:#66d6ff; }
.fh-reseller-v2 .fh-reseller-platforms { margin:0; }

.fh-reseller-console { align-self:center; background:rgba(3,10,24,.73); border:1px solid rgba(112,177,255,.2); border-radius:19px; box-shadow:0 24px 60px rgba(0,0,0,.34); overflow:hidden; transform:perspective(900px) rotateY(-2deg); }
.fh-reseller-console-bar { align-items:center; background:rgba(13,35,71,.8); border-bottom:1px solid rgba(112,177,255,.13); display:grid; grid-template-columns:1fr auto 1fr; min-height:43px; padding:0 15px; }
.fh-reseller-console-bar > span { display:flex; gap:5px; }
.fh-reseller-console-bar > span i { background:#29466e; border-radius:50%; height:6px; width:6px; }
.fh-reseller-console-bar small { color:#6682a6; font-size:.46rem; font-weight:900; letter-spacing:.15em; }
.fh-reseller-console-bar > b { color:#6ce6b5; font-size:.46rem; justify-self:end; letter-spacing:.12em; }
.fh-reseller-console-body { padding:20px; }
.fh-reseller-console-status { align-items:center; background:linear-gradient(135deg,rgba(52,127,255,.15),rgba(102,214,255,.05)); border:1px solid rgba(102,214,255,.13); border-radius:13px; display:flex; gap:12px; margin-bottom:16px; padding:14px; }
.fh-reseller-console-status > span { align-items:center; background:rgba(68,151,255,.16); border-radius:10px; color:#66d6ff; display:flex; height:40px; justify-content:center; width:40px; }
.fh-reseller-console-status small,.fh-reseller-console-status strong { display:block; }
.fh-reseller-console-status small { color:#55769c; font-size:.43rem; font-weight:900; letter-spacing:.13em; }
.fh-reseller-console-status strong { color:#e3f0ff; font-size:.7rem; margin-top:3px; }
.fh-reseller-v2 .fh-reseller-flow { background:transparent; border:0; padding:0; }
.fh-reseller-v2 .fh-reseller-flow > div { background:rgba(8,26,54,.65); border:1px solid rgba(112,177,255,.1); border-radius:11px; padding:11px; position:relative; }
.fh-reseller-v2 .fh-reseller-flow > div > i { flex:0 0 36px; height:36px; width:36px; }
.fh-reseller-v2 .fh-reseller-flow > div > b { color:#2e5078; font-size:.54rem; margin-left:auto; }
.fh-reseller-v2 .fh-reseller-flow > i { background:linear-gradient(#347fff,#66d6ff); height:12px; margin-left:28px; opacity:.45; width:1px; }

.fh-reseller-proof { background:rgba(5,16,35,.62); border:1px solid var(--portal-line-soft); border-radius:17px; display:grid; grid-template-columns:repeat(3,1fr); padding:8px; }
.fh-reseller-proof > div { align-items:center; border-right:1px solid var(--portal-line-soft); display:flex; gap:13px; padding:15px 19px; }
.fh-reseller-proof > div:last-child { border-right:0; }
.fh-reseller-proof > div > i { align-items:center; background:rgba(52,127,255,.1); border-radius:9px; color:#66d6ff; display:flex; height:37px; justify-content:center; width:37px; }
.fh-reseller-proof strong,.fh-reseller-proof small { display:block; }
.fh-reseller-proof strong { color:#dcecff; font-size:.7rem; }
.fh-reseller-proof small { color:#6881a2; font-size:.55rem; margin-top:3px; }

.fh-reseller-benefits,.fh-reseller-integrations { padding:62px 10px 28px; }
.fh-reseller-section-heading { margin:0 auto 30px; max-width:760px; text-align:center; }
.fh-reseller-section-heading > span { color:#66d6ff; display:block; font-size:.53rem; font-weight:900; letter-spacing:.17em; margin-bottom:13px; }
.fh-reseller-section-heading h2 { color:#eef6ff; font-family:'Space Grotesk',sans-serif; font-size:clamp(1.9rem,4vw,3.1rem); letter-spacing:-.052em; line-height:1.03; margin:0; }
.fh-reseller-section-heading p { color:#748cab; font-size:.76rem; line-height:1.7; margin:15px auto 0; }
.fh-reseller-v2 .fh-reseller-grid { gap:14px; }
.fh-reseller-v2 .fh-reseller-grid article { box-shadow:0 18px 45px rgba(0,0,0,.15); min-height:230px; overflow:hidden; padding:25px; position:relative; transition:border-color .2s ease,transform .2s ease; }
.fh-reseller-v2 .fh-reseller-grid article:hover { border-color:rgba(102,214,255,.3); transform:translateY(-4px); }
.fh-reseller-v2 .fh-reseller-grid article > span { color:#294a73; font-family:'Space Grotesk',sans-serif; font-size:.65rem; font-weight:800; position:absolute; right:19px; top:17px; }
.fh-reseller-v2 .fh-reseller-grid article > i { align-items:center; background:rgba(52,127,255,.11); border:1px solid rgba(102,214,255,.13); border-radius:11px; display:flex; font-size:1rem; height:43px; justify-content:center; width:43px; }
.fh-reseller-v2 .fh-reseller-grid h3 { font-size:1rem; margin-top:28px; }
.fh-reseller-v2 .fh-reseller-grid p { font-size:.69rem; }

.fh-reseller-integrations { background:linear-gradient(145deg,rgba(8,27,57,.72),rgba(4,13,29,.72)); border:1px solid var(--portal-line-soft); border-radius:22px; padding:42px; }
.fh-reseller-integration-grid { display:grid; gap:14px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.fh-reseller-integration-grid article { align-items:center; background:rgba(5,16,35,.7); border:1px solid rgba(112,177,255,.13); border-radius:16px; display:grid; gap:16px; grid-template-columns:auto 1fr auto; padding:22px; }
.fh-reseller-platform-mark { align-items:center; background:linear-gradient(145deg,#2875ef,#123a81); border:1px solid rgba(255,255,255,.12); border-radius:12px; color:#fff; display:flex; font-family:'Space Grotesk',sans-serif; font-size:1.15rem; font-weight:800; height:52px; justify-content:center; width:52px; }
.fh-reseller-integration-grid small { color:#5d7da3; font-size:.45rem; font-weight:900; letter-spacing:.13em; }
.fh-reseller-integration-grid h3 { color:#e8f3ff; font-family:'Space Grotesk',sans-serif; font-size:1rem; margin:3px 0 5px; }
.fh-reseller-integration-grid p { color:#7189a9; font-size:.63rem; line-height:1.55; margin:0; }
.fh-reseller-integration-grid article > i { color:#65e2ae; }

.fh-reseller-v2 .fh-reseller-audience { background:radial-gradient(circle at 100% 0,rgba(52,127,255,.16),transparent 20rem),linear-gradient(145deg,#0a1e3e,#061126); border-color:rgba(102,214,255,.17); gap:55px; padding:46px; }
.fh-reseller-v2 .fh-reseller-audience h2 { color:#eef6ff; font-family:'Space Grotesk',sans-serif; font-size:clamp(1.7rem,3vw,2.5rem); letter-spacing:-.045em; line-height:1.06; margin:0; }
.fh-reseller-v2 .fh-reseller-audience p { color:#7d94b2; font-size:.72rem; line-height:1.7; margin:14px 0 0; }
.fh-reseller-audience-side .btn { margin-top:17px; }

@media (max-width:767.98px) {
    body.page-vpsresell .tt-page-header { display:none; }
    body.page-vpsresell #main-body > .container { margin-left:0; margin-right:0; max-width:none; padding-left:12px; padding-right:12px; width:100%; }
    body.page-vpsresell #main-body .primary-content { padding-left:0; padding-right:0; }
    .fh-reseller-v2 .fh-reseller-hero { gap:25px; grid-template-columns:minmax(0,1fr); padding:29px 20px 22px; }
    .fh-reseller-v2 .fh-reseller-hero h1 { font-size:clamp(2.4rem,12vw,3rem); }
    .fh-reseller-v2 .fh-reseller-hero-copy > p { font-size:.84rem; margin:18px 0 22px; }
    .fh-reseller-actions { align-items:stretch; flex-direction:column; gap:14px; margin-bottom:23px; }
    .fh-reseller-v2 .fh-reseller-hero .btn { justify-content:center; width:100%; }
    .fh-reseller-text-link { justify-content:center; }
    .fh-reseller-console { min-width:0; transform:none; width:100%; }
    .fh-reseller-console-body { padding:15px; }
    .fh-reseller-console-status strong { line-height:1.35; }
    .fh-reseller-v2 .fh-reseller-flow > div { min-width:0; }
    .fh-reseller-v2 .fh-reseller-flow > div span { min-width:0; }
    .fh-reseller-v2 .fh-reseller-flow strong { line-height:1.35; overflow-wrap:anywhere; }
    .fh-reseller-proof,.fh-reseller-integration-grid { grid-template-columns:1fr; }
    .fh-reseller-proof > div { border-bottom:1px solid var(--portal-line-soft); border-right:0; }
    .fh-reseller-proof > div:last-child { border-bottom:0; }
    .fh-reseller-benefits { padding:40px 0 22px; }
    .fh-reseller-v2 .fh-reseller-grid { grid-template-columns:1fr; }
    .fh-reseller-v2 .fh-reseller-grid article { min-height:205px; padding:22px; }
    .fh-reseller-integrations { padding:28px 16px; }
    .fh-reseller-integration-grid article { gap:13px; grid-template-columns:auto minmax(0,1fr) auto; padding:17px 14px; }
    .fh-reseller-platform-mark { height:45px; width:45px; }
    .fh-reseller-integration-grid p { font-size:.68rem; overflow-wrap:anywhere; }
    .fh-reseller-v2 .fh-reseller-audience { gap:28px; grid-template-columns:1fr; padding:29px 20px; }
    .fh-reseller-audience-side .btn { justify-content:center; width:100%; }
}

@media (min-width:768px) and (max-width:991.98px) {
    .fh-reseller-v2 .fh-reseller-hero { grid-template-columns:1fr; }
    .fh-reseller-console { transform:none; }
}

/* Modals */
.portal-page .modal-content { background: #081730; border: 1px solid var(--portal-line); border-radius: 17px; color: var(--portal-muted); }
.portal-page .modal-header,
.portal-page .modal-footer { border-color: var(--portal-line-soft); }
.portal-page .modal-title { color: var(--portal-text); }
.portal-page .close { color: #c8d8eb; text-shadow: none; }

/* Auth pages share the same dark surface. */
.portal-page #main-body.tt-auth-wrap { background: radial-gradient(circle at 50% 0,rgba(52,127,255,.11),transparent 35rem),#061126; }
.portal-page #main-body.tt-auth-wrap .card,
.portal-page #main-body.tt-auth-wrap .tt-login-wrap { background: linear-gradient(150deg,#0a1b37,#061126) !important; border-color: var(--portal-line) !important; }

@media (max-width: 767.98px) {
    .portal-page:not(.simple-home):not(.simple-store) #main-body { padding: 25px 0 48px; }
    .portal-page:not(.simple-home):not(.simple-store) .tt-page-header { padding: 35px 0 !important; }
    .portal-page:not(.simple-home):not(.simple-store) #main-body .primary-content > form:not(.fh-ticket-form),
    .portal-page.page-clientareadetails #main-body form,
    .portal-page.page-user-profile #main-body form,
    .portal-page.page-user-security #main-body form,
    .portal-page.page-user-password #main-body form { padding: 20px; }
    .portal-page:not(.simple-home):not(.simple-store) #main-body .table-container,
    .portal-page:not(.simple-home):not(.simple-store) #main-body .dataTables_wrapper { overflow-x: auto; }
    .portal-page:not(.simple-home):not(.simple-store) #main-body .table { min-width: 650px; }
    .fh-about-intro,
    .fh-about-story,
    .fh-reseller-hero,
    .fh-reseller-audience { grid-template-columns:1fr; padding:27px 22px; }
    .fh-about-signal { width:fit-content; }
    .fh-about-values,
    .fh-reseller-grid { grid-template-columns:1fr; }
}

@media (min-width:768px) and (max-width:1199.98px) {
    .fh-reseller-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
