/*
 * Fast Panel — Obsidian / Electric Blue
 * WHMCS client theme, RTL. Single dark design system for all template pages.
 * Typography, motion and responsive behavior intentionally shared.
 */
:root {
    color-scheme: dark;
    --fp-bg: #060a12;
    --fp-bg-deep: #03060d;
    --fp-panel: #101825;
    --fp-panel-2: #141f2e;
    --fp-panel-3: #192536;
    --fp-field: #0b1422;
    --fp-line: #29384d;
    --fp-line-soft: #1b2a3b;
    --fp-blue: #357bff;
    --fp-blue-bright: #58a9ff;
    --fp-blue-soft: rgba(53,123,255,.13);
    --fp-cyan: #69d6ff;
    --fp-white: #f4f8ff;
    --fp-muted: #a5b6cd;
    --fp-subtle: #7f93af;
    --fp-success: #66dcb9;
    --fp-warning: #ffd28c;
    --fp-danger: #ff8296;
    --fp-radius: 18px;
    --fp-radius-sm: 11px;
    --fp-shadow: 0 25px 70px rgba(0,0,0,.25);
    --primary: var(--fp-blue);
    --primary-color: var(--fp-blue);
    --secondary: var(--fp-white);
    --text-dark: var(--fp-white);
    --text-gray: var(--fp-muted);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.fp-dark {
    margin: 0; min-height: 100vh; overflow-x: hidden;
    background: var(--fp-bg) !important; color: var(--fp-muted) !important;
    font-family: 'Cairo', 'Inter', sans-serif !important; direction: rtl;
    text-align: right; font-size: 14px; line-height: 1.8;
    -webkit-font-smoothing: antialiased;
}
.fp-dark * { scrollbar-color: #344663 #0a1421; }
.fp-dark h1,.fp-dark h2,.fp-dark h3,.fp-dark h4,.fp-dark h5,.fp-dark h6,
.fp-dark .h1,.fp-dark .h2,.fp-dark .h3,.fp-dark .h4,.fp-dark .h5,.fp-dark .h6 {
    color: var(--fp-white) !important; font-family: 'Cairo','Inter',sans-serif !important;
    font-weight: 800 !important; letter-spacing: -.02em; line-height: 1.4;
}
.fp-dark h1 { font-size: clamp(30px,4vw,48px); }
.fp-dark h2 { font-size: clamp(25px,3vw,38px); }
.fp-dark h3 { font-size: 21px; }
.fp-dark h4 { font-size: 17px; }
.fp-dark h5,.fp-dark h6 { font-size: 15px; }
.fp-dark p,.fp-dark li,.fp-dark label,.fp-dark small { color: inherit; }
.fp-dark a { color: var(--fp-blue-bright); text-decoration: none !important; transition: color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease; }
.fp-dark a:hover,.fp-dark a:focus { color: var(--fp-cyan); }
.fp-dark a:focus-visible,.fp-dark button:focus-visible,.fp-dark input:focus-visible,
.fp-dark select:focus-visible,.fp-dark textarea:focus-visible,.fp-dark summary:focus-visible {
    outline: 3px solid rgba(103,182,255,.8); outline-offset: 3px;
}
.fp-dark img { max-width: 100%; height: auto; }
.fp-dark ::selection { color: #fff; background: #285bd9; }
.fp-dark .container { max-width: 1200px; }
.fp-site-main { min-height: 55vh; }
.fp-skip-link { position: fixed; top: -100px; right: 15px; z-index: 10010; background: var(--fp-blue); color: white !important; padding: 9px 16px; border-radius: 8px; }
.fp-skip-link:focus { top: 8px; }
/* Navigation */
.fp-header {
    position: sticky; inset-block-start: 0; z-index: 1000;
    border-bottom: 1px solid rgba(79,108,153,.2);
    background: rgba(6,11,21,.89); -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
}
.fp-header-inner { height: 83px; display: flex; align-items: center; gap: 34px; }
.fp-brand { display: inline-flex; gap: 12px; align-items: center; flex: 0 0 auto; color: var(--fp-white) !important; text-decoration: none; white-space: nowrap; }
.fp-brand-mark { display: grid; width: 41px; height: 41px; place-items: center; border: 1px solid #4586ff; border-radius: 13px; background: linear-gradient(145deg,#2667f5,#16315f); box-shadow: 0 7px 24px rgba(38,95,240,.3); color: white; font-size: 19px; transform: rotate(-8deg); }
.fp-brand-mark i { transform: rotate(8deg); }
.fp-brand-name { font-size: 21px; font-weight: 900; letter-spacing: -.04em; }
.fp-desktop-nav { margin-inline-end: auto; min-width: 0; }
.fp-nav-list,.fp-mobile-links { margin: 0; padding: 0; list-style: none; }
.fp-nav-list { display: flex; flex-wrap: wrap; gap: 3px; align-items: center; }
.fp-nav-list > li { position: relative; }
.fp-nav-list > li > a { display: inline-flex; align-items: center; gap: 6px; padding: 10px 12px; color: #c2d0e3; font-size: 13px; font-weight: 700; border-radius: 10px; }
.fp-nav-list > li > a:hover,.fp-nav-list > li.open > a { color: #fff; background: rgba(70,128,239,.12); }
.fp-header-actions { display: flex; gap: 9px; align-items: center; }
.fp-btn {
    appearance: none; display: inline-flex; gap: 10px; justify-content: center; align-items: center;
    border-radius: var(--fp-radius-sm); padding: 10px 17px; font-size: 13px;
    font-weight: 800; cursor: pointer; white-space: nowrap; text-align: center;
    font-family: 'Cairo','Inter',sans-serif !important; line-height: 1.8; border: 1px solid transparent;
}
.fp-btn-primary,.fp-dark .btn-primary,.fp-dark .btn-success:not(.btn-xs),.fp-dark .btn-info {
    background: linear-gradient(135deg,#408aff,#2261de) !important; border-color: #4286ef !important;
    color: white !important; box-shadow: 0 7px 22px rgba(36,106,241,.17);
}
.fp-btn-primary:hover,.fp-dark .btn-primary:hover,.fp-dark .btn-info:hover { background: linear-gradient(135deg,#65a5ff,#3578f0) !important; color: #fff !important; transform: translateY(-2px); }
.fp-btn-outline,.fp-dark .btn-default { background: #111b2b !important; border: 1px solid #34445d !important; color: #e1eaff !important; }
.fp-btn-outline:hover,.fp-dark .btn-default:hover { background: #192b43 !important; border-color: #5278ab !important; }
.fp-btn-ghost { color: #d4e3f9 !important; background: transparent; }
.fp-btn-ghost:hover { background: #162238; color: #fff !important; }
.fp-btn-large { padding: 14px 23px; font-size: 14px; min-height: 53px; }
.fp-icon-btn,.fp-menu-toggle { display: grid; position: relative; width: 42px; height: 42px; border: 1px solid #33435e; background: #121c2b; border-radius: 11px; place-items: center; color: #d7e6fc !important; }
.fp-icon-btn:hover { border-color: var(--fp-blue); }
.fp-cart-count { position: absolute; top: -6px; left: -7px; display: grid; place-items: center; height: 20px; min-width: 20px; border-radius: 12px; color: #fff; background: var(--fp-blue); font-size: 10px; font-weight: 800; }
.fp-chevron { font-size: 9px; }
.fp-account-dropdown .dropdown-menu { left: 0; right: auto; min-width: 220px; text-align: right; }
.fp-menu-toggle { display: none; cursor: pointer; font-size: 17px; }
.fp-mobile-nav[hidden] { display: none !important; }
.fp-mobile-nav { display: none; border-top: 1px solid var(--fp-line-soft); padding: 12px 20px 22px; max-height: calc(100vh - 83px); overflow-y: auto; background: #09111e; }
.fp-mobile-links > li { border-bottom: 1px solid var(--fp-line-soft); }
.fp-mobile-links li a { display: block; color: #d1ddf0 !important; padding: 10px 8px; font-weight: 700; }
.fp-mobile-links .dropdown-menu { position: static; float: none; display: block; box-shadow: none; background: #111b2c; margin: 0 0 10px; padding: 0 12px; border-radius: 10px; }
/* Dropdowns and footer */
.fp-dark .dropdown-menu { background: #121e2e; border: 1px solid #34445e; border-radius: 12px; padding: 8px; box-shadow: var(--fp-shadow); }
.fp-dark .dropdown-menu > li > a { color: #d7e4f5 !important; padding: 9px 13px; border-radius: 8px; white-space: normal; }
.fp-dark .dropdown-menu > li > a:hover,.fp-dark .dropdown-menu > li > a:focus { color: #fff !important; background: #1d3555 !important; }
.fp-dark .dropdown-menu .divider { background: #33445e; }
.fp-footer { background: #080f1b; border-top: 1px solid #1e2d42; padding: 75px 0 0; }
.fp-footer-top { display: grid; grid-template-columns: 1.7fr repeat(3,1fr); gap: 60px; padding-bottom: 58px; }
.fp-footer-intro p { max-width: 320px; color: #93a5bb; line-height: 2; margin: 21px 0; font-size: 13px; }
.fp-footer-group { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }
.fp-footer-group h2 { font-size: 15px !important; margin: 2px 0 14px; }
.fp-footer-group a { color: #9cacc4; font-size: 13px; }
.fp-footer-group a:hover { transform: translateX(-3px); color: #e9f3ff; }
.fp-footer-social { display: flex; gap: 8px; }
.fp-footer-social a { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #2d4059; background: #111d2d; border-radius: 9px; }
.fp-footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 24px 0 30px; border-top: 1px solid #1c2b3e; color: #8598b1; font-size: 12px; }
.fp-footer-bottom i { color: var(--fp-blue-bright); margin-left: 5px; }
.fp-support-fab,.fp-back-top { position: fixed; z-index: 950; display: grid; place-items: center; border-radius: 17px; height: 50px; width: 50px; box-shadow: 0 12px 30px rgba(0,0,0,.35); }
.fp-support-fab { bottom: 22px; left: 24px; font-size: 24px; background: #142a30; border: 1px solid #2c8b76; color: #66edb5 !important; }
.fp-support-fab:hover { color: white !important; background: #157b5c; transform: translateY(-3px); }
.fp-back-top { bottom: 22px; right: 24px; border: 1px solid #34517b; color: #bcd9ff; background: #13243b; font-size: 14px; cursor: pointer; opacity: 0; pointer-events: none; transform: translateY(8px); transition: .2s; }
.fp-back-top.fp-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
/* Homepage */
.fp-home { overflow: hidden; }
.fp-home .container { position: relative; z-index: 2; }
.fp-home h1,.fp-home h2,.fp-home h3,.fp-home p { margin-top: 0; }
.fp-hero { position: relative; isolation: isolate; padding: 118px 0 70px; background: radial-gradient(ellipse 46% 63% at 79% 35%,rgba(19,84,179,.22),transparent 95%), radial-gradient(ellipse 60% 55% at 0% 4%,rgba(31,59,121,.12),transparent),#060b15; }
.fp-hero-grid { position: absolute; inset: 0; pointer-events: none; opacity: .28; background-image: linear-gradient(#224062 1px,transparent 1px),linear-gradient(90deg,#224062 1px,transparent 1px); background-size: 60px 60px; mask-image: linear-gradient(to bottom,black,transparent 90%); }
.fp-hero-layout { display: grid; grid-template-columns: 1.03fr .97fr; align-items: center; min-height: 410px; gap: 22px; }
.fp-eyebrow,.fp-kicker { color: var(--fp-blue-bright); display: inline-flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.fp-eyebrow { border: 1px solid #2d4e7d; padding: 7px 14px; border-radius: 100px; background: rgba(35,83,157,.12); color: #d4e5ff; letter-spacing: 0; }
.fp-pulse-dot { display: inline-block; width: 7px; height: 7px; background: #59c1ff; box-shadow: 0 0 0 5px rgba(75,154,255,.11); border-radius: 50%; }
.fp-hero h1 { font-size: clamp(37px,4.8vw,62px) !important; line-height: 1.35; letter-spacing: -.045em; margin: 24px 0; }
.fp-gradient-text { background: linear-gradient(100deg,#5fa9ff,#66d5ff); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.fp-hero-copy > p { color: #adbed4; font-size: 16px; max-width: 540px; line-height: 2.1; }
.fp-hero-actions { display: flex; gap: 12px; margin: 26px 0 24px; flex-wrap: wrap; }
.fp-hero-points { display: flex; flex-wrap: wrap; gap: 20px; font-size: 12px; color: #a4b5cb; }
.fp-hero-points i { color: #65b2ff; margin-left: 5px; }
.fp-hero-visual { position: relative; min-height: 430px; display: grid; place-items: center; }
.fp-stage-glow { position: absolute; width: 80%; height: 70%; border-radius: 50%; background: #1853b3; opacity: .2; filter: blur(75px); }
.fp-stage-ring { position: absolute; border: 1px solid rgba(84,140,229,.16); border-radius: 50%; width: 470px; height: 330px; transform: rotate(-24deg); }
.fp-stage-ring-two { width: 540px; height: 380px; transform: rotate(30deg); border-style: dashed; }
.fp-stage-dashboard { position: relative; width: min(100%,440px); border-radius: 22px; border: 1px solid #365477; background: linear-gradient(145deg,#192a44,#0a1322 57%,#0b1829); box-shadow: 0 35px 80px #0009, 0 0 0 9px #10213b44; transform: perspective(900px) rotateY(-8deg) rotateX(3deg); overflow: hidden; }
.fp-stage-top { padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #2b4058; color: #859bb7; font: 9px/1.5 Inter,sans-serif; letter-spacing: .13em; }
.fp-stage-dots { display: flex; gap: 4px; direction: ltr; }
.fp-stage-dots b { width: 7px; height: 7px; border-radius: 50%; background: #4d719e; }.fp-stage-dots b:first-child { background: #4d95f8; }
.fp-stage-body { padding: 30px 27px; }
.fp-stage-copy span { font: 10px Inter,sans-serif; color: #5ea6ff; letter-spacing: .16em; }
.fp-stage-copy strong { display: block; color: white; font: 700 26px/1.5 Inter,sans-serif; margin-top: 7px; }
.fp-stage-copy small { color: #8da8c6; font: 11px Inter,sans-serif; }
.fp-server-racks { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin: 27px 0 21px; }
.fp-server-rack { border: 1px solid #304b6b; border-radius: 9px; padding: 12px 10px; background: linear-gradient(140deg,#152c47,#0a1627); box-shadow: inset 0 1px #5079a42c; }
.fp-server-rack span { position: relative; display: block; height: 19px; margin: 5px 0; background: linear-gradient(90deg,#1c3552,#101d30); border: 1px solid #355071; border-radius: 4px; }
.fp-server-rack span::after { content: ''; position: absolute; right: 9px; top: 7px; width: 4px; height: 4px; border-radius: 50%; background: #62caff; box-shadow: 9px 0 0 #3878c8; }
.fp-stage-chart { display: flex; align-items: flex-end; gap: 5px; height: 47px; padding-top: 8px; border-bottom: 1px solid #2b4c72; }
.fp-stage-chart span { flex: 1; background: linear-gradient(#4b9cfc,#1e4a85); border-radius: 3px 3px 0 0; opacity: .8; }
.fp-floating-chip { position: absolute; z-index: 2; padding: 11px 14px; display: flex; align-items: center; gap: 8px; border: 1px solid #3b608c; border-radius: 12px; background: #12253deF; color: #e8f4ff; font: 700 10px Inter,sans-serif; box-shadow: 0 12px 25px #0006; animation: fp-float 6s ease-in-out infinite; }
.fp-floating-chip i { color: #71c6ff; font-size: 15px; }
.fp-chip-top { right: 0; top: 18%; }.fp-chip-bottom { bottom: 15%; left: -2%; animation-delay: -3s; }
@keyframes fp-float { 50% { transform: translateY(-9px); } }
.fp-domain-search { display: flex; align-items: center; gap: 16px; padding: 21px 25px; border: 1px solid #2e4769; border-radius: 19px; margin-top: 55px; background: linear-gradient(110deg,#14253d,#101b2b); box-shadow: 0 14px 46px #0005; }
.fp-domain-icon { width: 50px; height: 50px; display: grid; place-items: center; background: #20375a; color: #75baff; border-radius: 13px; font-size: 19px; }
.fp-domain-search label { color: white !important; font-size: 14px; font-weight: 800; margin: 0; min-width: 190px; }
.fp-domain-search label small { display: block; color: #90a8c5; font-size: 11px; font-weight: 500; }
.fp-domain-input-wrap { flex: 1; display: flex; align-items: center; gap: 8px; padding: 6px; border: 1px solid #324761; background: #0a1423; border-radius: 12px; }
.fp-domain-input-wrap input { flex: 1; min-width: 80px; background: transparent !important; color: #fff; border: 0 !important; outline: none !important; padding: 7px 12px; font: 14px Inter,sans-serif; text-align: left; }
.fp-domain-input-wrap button { flex: 0 0 auto; }
.fp-section { padding: 105px 0; }
.fp-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 36px; }
.fp-section-heading h2 { margin: 11px 0 0; }
.fp-section-heading > p { max-width: 390px; margin: 0; font-size: 14px; line-height: 2; }
.fp-heading-centered { text-align: center; display: block; max-width: 780px; margin: 0 auto 45px; }
.fp-heading-centered > p { max-width: 650px; margin: 15px auto 0; }
.fp-services { background: #090f1b; }
.fp-service-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.fp-service-card { position: relative; display: block; padding: 30px; overflow: hidden; background: linear-gradient(145deg,#131f31,#0e1828); border: 1px solid #283b55; border-radius: 19px; color: #acbdd3 !important; min-height: 290px; }
.fp-service-card::after { content: ''; position: absolute; left: -50px; top: -75px; width: 175px; height: 175px; border-radius: 50%; background: #2f79ec; filter: blur(80px); opacity: 0; transition: .3s; }
.fp-service-card:hover { transform: translateY(-6px); border-color: #4775ae; box-shadow: 0 20px 48px #0004; }
.fp-service-card:hover::after { opacity: .19; }
.fp-service-icon,.fp-plan-icon { display: grid; width: 53px; height: 53px; place-items: center; border-radius: 15px; background: rgba(48,113,218,.17); color: #66aeff; border: 1px solid #33547f; font-size: 22px; }
.fp-service-index { position: absolute; top: 40px; left: 30px; color: #6886a9; font: 10px Inter,sans-serif; letter-spacing: .07em; }
.fp-service-card h3 { margin: 25px 0 10px; }
.fp-service-card p { color: #9aadc5; min-height: 70px; margin-bottom: 16px; font-size: 13px; line-height: 2; }
.fp-service-link { color: #7dbaff; font-size: 12px; font-weight: 800; }
.fp-service-link i { margin-right: 8px; }
.fp-pricing-section { background: radial-gradient(circle at 50% 15%,rgba(25,74,155,.12),transparent 45%),#070c17; }
.fp-pricing-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.fp-plan { position: relative; display: flex; flex-direction: column; padding: 32px; background: #111b2a; border: 1px solid #2a3b52; border-radius: 20px; transition: .25s; }
.fp-plan:hover { transform: translateY(-6px); border-color: #4b7bb4; box-shadow: var(--fp-shadow); }
.fp-plan-featured { background: linear-gradient(150deg,#192d48,#101a2b 55%); border-color: #4787e8; box-shadow: inset 0 0 0 1px rgba(49,134,255,.14); }
.fp-plan-ribbon { position: absolute; top: -13px; left: 28px; border-radius: 20px; background: #347bf7; color: white; padding: 4px 14px; font-size: 11px; font-weight: 800; }
.fp-plan h3 { margin: 21px 0 0; }.fp-plan-caption { color: #8ba1bc; font-size: 12px; }
.fp-plan-price { padding: 17px 0 14px; }
.fp-plan-price strong { color: white; font: 700 clamp(26px,3vw,39px) Inter,Cairo,sans-serif; display: block; direction: ltr; text-align: right; }
.fp-plan-price .fp-price-contact { font: 800 20px Cairo,sans-serif; }
.fp-plan-price span { color: #879bb6; font-size: 11px; }
.fp-plan-divider { height: 1px; background: #2d3d53; margin: 6px 0 20px; }
.fp-plan-description { color: #b4c5dd; flex: 1; overflow-wrap: anywhere; font-size: 12px; line-height: 2; }
.fp-plan-description ul { margin: 0 0 20px; padding-right: 15px; }
.fp-plan-description li { margin: 7px 0; }.fp-plan-description li::marker { color: #5fa5fd; }
.fp-plan-action { width: 100%; margin-top: 23px; }
.fp-pricing-note { color: #8da0b9; font-size: 11px; text-align: center; margin: 26px 0 0; }
.fp-pricing-note i { color: #73aaff; margin-left: 6px; }
.fp-plan-empty { max-width: 530px; margin: auto; padding: 45px; text-align: center; background: #131e2f; border: 1px solid #2b4465; border-radius: 20px; }
.fp-plan-empty .fp-plan-icon { margin: 0 auto 20px; }
.fp-plan-empty p { margin: 14px 0 25px; }
.fp-experience { background: #09101b; }
.fp-experience-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 76px; align-items: center; }
.fp-experience-art { background: radial-gradient(circle at center,rgba(33,100,211,.18),transparent 64%); }
.fp-experience-art img { width: 100%; display: block; }
.fp-experience-copy h2 { margin: 14px 0 16px; }
.fp-experience-copy > p { font-size: 14px; line-height: 2.2; max-width: 490px; }
.fp-benefit-list { list-style: none; padding: 0; margin: 28px 0 30px; }
.fp-benefit-list li { display: flex; gap: 15px; margin: 19px 0; align-items: flex-start; }
.fp-benefit-list li > span { flex: 0 0 42px; height: 42px; display: grid; place-items: center; color: #6bb1ff; background: #182c46; border: 1px solid #304d72; border-radius: 12px; }
.fp-benefit-list strong { display: block; color: #ebf5ff; font-size: 13px; }
.fp-benefit-list small { display: block; margin-top: 3px; color: #93a7bf; font-size: 12px; }
.fp-text-link { font-size: 13px; font-weight: 800; }.fp-text-link i { margin-right: 8px; }
.fp-steps-section { background: #060b15; }
.fp-steps-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.fp-step { position: relative; border: 1px solid #23374f; background: #0e1827; border-radius: 17px; padding: 33px; }
.fp-step > span { color: #395879; font: 800 28px Inter,sans-serif; }
.fp-step > i { position: absolute; left: 30px; top: 35px; font-size: 23px; color: #6aafff; }
.fp-step h3 { margin: 25px 0 8px; }.fp-step p { font-size: 12px; color: #91a6c0; line-height: 2; margin: 0; }
.fp-faq-section { background: #090f1b; }
.fp-faq-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; align-items: start; }
.fp-faq-layout h2 { margin: 15px 0; }.fp-faq-layout p { font-size: 14px; line-height: 2; }
.fp-faq-layout .fp-btn { margin-top: 13px; }
.fp-faq-items details { background: #111d2d; border: 1px solid #283e58; border-radius: 12px; margin-bottom: 10px; overflow: hidden; }
.fp-faq-items summary { padding: 18px 21px; color: #eaf2ff; font-weight: 700; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.fp-faq-items summary::-webkit-details-marker { display: none; }
.fp-faq-items summary i { color: #6caeff; font-size: 12px; transition: transform .2s; }
.fp-faq-items details[open] summary i { transform: rotate(45deg); }
.fp-faq-items details p { margin: 0; padding: 0 21px 19px; color: #a3b5cd; font-size: 12px; }
.fp-final-cta { padding: 35px 0 105px; background: #090f1b; }
.fp-cta-panel { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 30px; border: 1px solid #4b88ed; border-radius: 23px; padding: 56px 63px; background: linear-gradient(110deg,#194aa3,#102a5b 75%,#0e234c); }
.fp-cta-orb { position: absolute; z-index: -1; left: 10%; top: -120px; width: 390px; height: 390px; border: 1px solid #75a8ff44; border-radius: 50%; box-shadow: 0 0 0 45px #6aa1ff0a,0 0 0 90px #6aa1ff08; }
.fp-cta-panel .fp-kicker { color: #91caff; }.fp-cta-panel h2 { margin: 11px 0; }.fp-cta-panel h2 span { color: #a7d6ff; }
.fp-cta-panel p { color: #c0d7fc; margin: 0; }
.fp-btn-light { background: #f6f9ff; color: #11489d !important; }.fp-btn-light:hover { background: #dbeaff; color: #11489d !important; transform: translateY(-2px); }
/* WHMCS shared page layout: applies to all client, order, invoice and support templates. */
.fp-inner-section { padding: 46px 0 95px; background: radial-gradient(ellipse 70% 250px at 50% 0,rgba(27,76,147,.12),transparent),var(--fp-bg); }
.fp-content-row { display: flex; flex-wrap: wrap; }
.fp-main-column { min-width: 0; float: none; }
.fp-breadcrumb { margin-bottom: 24px; }
.fp-dark .breadcrumb { padding: 12px 18px; margin: 0; border: 1px solid #24384e; background: #0f1927; border-radius: 11px; }
.fp-dark .breadcrumb > li { color: #879bb5; font-size: 12px; }.fp-dark .breadcrumb > .active { color: #dceaff; }
.fp-dark .breadcrumb > li + li::before { color: #587392; content: '/'; padding: 0 8px; }
.fp-dark .sidebar { float: none; }.fp-sidebar { margin-bottom: 30px; }
.fp-dark .main-content,.fp-dark #main-body,.fp-dark .main-content > section,.fp-dark #content { background-color: transparent !important; color: var(--fp-muted); border-color: var(--fp-line-soft); box-shadow: none; }
.fp-dark .main-content > .row,.fp-dark .main-content > .container { background-color: transparent; }
.fp-dark .page-header { border-color: #2a3d55; margin: 0 0 25px; padding-bottom: 15px; }
.fp-dark .page-header h1,.fp-dark .page-header h2 { font-size: clamp(24px,3vw,32px); }
.fp-dark .page-subheader,.fp-dark .text-muted,.fp-dark .help-block,.fp-dark .muted { color: #96aac3 !important; }
.fp-dark .text-dark { color: #e8f3ff !important; }.fp-dark .text-primary { color: #76b7ff !important; }
.fp-dark .bg-white,.fp-dark .bg-light,.fp-dark .bg-gray,.fp-dark .bg-gray-light,.fp-dark .bg-light-grey,.fp-dark .bg-offwhite { background: #111b29 !important; }
.fp-dark .text-white { color: #fff !important; }
.fp-dark .well,.fp-dark .panel,.fp-dark .card,.fp-dark .box,.fp-dark .tile,
.fp-dark .list-group-item,.fp-dark .domain-checker-container,.fp-dark .domain-pricing-table,
.fp-dark .kb-article-content,.fp-dark .ticket-reply,.fp-dark .ticket-reply-detail,
.fp-dark .client-home-panels .panel,.fp-dark .product-details,.fp-dark .service-details {
    background: #111b2a !important; color: #b2c4db !important;
    border: 1px solid #2a3d54 !important; border-radius: 14px; box-shadow: none;
}
.fp-dark .panel-heading,.fp-dark .card-header,.fp-dark .panel-footer,.fp-dark .card-footer,
.fp-dark .well .panel-heading,.fp-dark .box-header {
    background: #172435 !important; color: #e2edff !important; border-color: #2c4059 !important;
}
.fp-dark .panel-title,.fp-dark .panel-heading h3,.fp-dark .panel-heading h4 { color: #e9f3ff !important; }
.fp-dark .panel-body,.fp-dark .card-body,.fp-dark .panel-footer { color: #acbdd5; }
.fp-dark .list-group-item:hover { background: #182a42 !important; }
.fp-dark .list-group-item.active,.fp-dark .nav-pills > li.active > a { background: #1b4eab !important; color: white !important; border-color: #347af0 !important; }
.fp-dark .sidebar .panel { overflow: hidden; margin-bottom: 16px; }
.fp-dark .sidebar .panel-heading { font-weight: 800; }
.fp-dark .sidebar a { overflow-wrap: anywhere; }
.fp-dark .sidebar .list-group-item { background: transparent !important; color: #adbfda !important; border-color: #25364e !important; border-radius: 0 !important; }
.fp-dark .sidebar .list-group-item.active,.fp-dark .sidebar .list-group-item:hover { color: #fff !important; background: #1a3556 !important; }
.fp-dark .btn { font-family: 'Cairo',sans-serif !important; font-weight: 800; border-radius: 10px; }
.fp-dark .btn-warning { background: #705124; color: #fff; border-color: #bc9347; }
.fp-dark .btn-danger { background: #8b3145; color: #fff; border-color: #be4d6a; }
.fp-dark .btn-link { color: #75b3ff; }
.fp-dark .btn:disabled,.fp-dark .btn[disabled] { opacity: .55; }
.fp-dark .form-control,.fp-dark input[type="text"],.fp-dark input[type="email"],.fp-dark input[type="password"],
.fp-dark input[type="search"],.fp-dark input[type="tel"],.fp-dark input[type="number"],
.fp-dark input[type="url"],.fp-dark select,.fp-dark textarea,
.fp-dark .select2-container .select2-choice,.fp-dark .select2-container--default .select2-selection--single {
    background: var(--fp-field) !important; color: #eaf4ff !important;
    border: 1px solid #344862 !important; border-radius: 10px !important;
    box-shadow: none !important; font-family: 'Cairo',sans-serif;
}
.fp-dark .form-control { min-height: 44px; padding: 9px 13px; }
.fp-dark textarea.form-control { height: auto; min-height: 120px; }
.fp-dark select option { background: #102034; color: #e9f3ff; }
.fp-dark input::placeholder,.fp-dark textarea::placeholder { color: #6e839c !important; opacity: 1; }
.fp-dark .form-control:focus,.fp-dark input:focus,.fp-dark select:focus,.fp-dark textarea:focus {
    border-color: #478ff6 !important; box-shadow: 0 0 0 3px rgba(68,142,251,.14) !important;
}
.fp-dark label,.fp-dark .control-label,.fp-dark legend { color: #d8e5f6 !important; font-weight: 700; }
.fp-dark .input-group-addon { background: #1a2b43 !important; border-color: #344862 !important; color: #c3d6ec; }
.fp-dark input[type="checkbox"],.fp-dark input[type="radio"] { accent-color: #3985ff; }
.fp-dark .checkbox label,.fp-dark .radio label { color: #b4c5da !important; }
.fp-dark .form-group { margin-bottom: 19px; }
.fp-dark hr,.fp-dark .divider { border-color: #2a3a50; }
.fp-dark .table { border-color: #2a3b50 !important; color: #c1d0e5; background: #111a28 !important; }
.fp-dark .table th,.fp-dark .table td { border-color: #2a3d55 !important; vertical-align: middle; overflow-wrap: anywhere; }
.fp-dark .table > thead > tr > th,.fp-dark .table > thead > tr > td { background: #19283c !important; color: #e4eeff !important; font-weight: 800; }
.fp-dark .table > tbody > tr > td,.fp-dark .table > tbody > tr > th { background: #111c2c !important; color: #bacce2; }
.fp-dark .table-striped > tbody > tr:nth-of-type(odd) > td { background: #152236 !important; }
.fp-dark .table-hover > tbody > tr:hover > td { background: #1a304d !important; }
.fp-dark .table-responsive { border-color: #293c53; border-radius: 12px; }
.fp-dark .dataTables_wrapper .dataTables_filter input { min-width: 160px; }
.fp-dark .dataTables_wrapper .dataTables_info,.fp-dark .dataTables_wrapper .dataTables_length { color: #9db0c9 !important; }
.fp-dark .pagination > li > a,.fp-dark .pagination > li > span {
    color: #a7c9f7; background: #152237 !important; border-color: #354b67 !important; margin: 0 2px; border-radius: 8px;
}
.fp-dark .pagination > .active > a,.fp-dark .pagination > .active > span { color: white !important; background: #2866d4 !important; }
.fp-dark .nav-tabs { border-bottom: 1px solid #304258; }
.fp-dark .nav-tabs > li > a,.fp-dark .nav-pills > li > a { color: #aebed5 !important; background: #101b2c; border: 1px solid #2b415c; border-radius: 9px 9px 0 0; }
.fp-dark .nav-tabs > li.active > a,.fp-dark .nav-tabs > li.active > a:focus,
.fp-dark .nav-tabs > li > a:hover { background: #1c3351 !important; border-color: #4680cd !important; color: #fff !important; }
.fp-dark .tab-content { padding-top: 20px; }
.fp-dark .alert { border-radius: 12px; padding: 15px 17px; background: #182637; color: #d7e7fa !important; border: 1px solid #345477; }
.fp-dark .alert-info { background: #102947; color: #c1e1ff !important; border-color: #2d5e99; }
.fp-dark .alert-success { background: #103229; color: #a7f1da !important; border-color: #2e806c; }
.fp-dark .alert-warning { background: #342917; color: #fbe0ad !important; border-color: #7d6338; }
.fp-dark .alert-danger { background: #3a1d29; color: #ffc1c9 !important; border-color: #925063; }
.fp-dark .label,.fp-dark .badge { border-radius: 7px; padding: .25em .55em; font-weight: 700; }
.fp-dark .label-default,.fp-dark .badge { background: #2a3b53; color: #dce9fd; }
.fp-dark .label-success { background: #164c3e; color: #a3ffda; }
.fp-dark .label-warning { background: #604622; color: #ffe3aa; }
.fp-dark .label-danger { background: #663045; color: #ffd0d8; }
.fp-dark .modal-content { color: #becfe4; background: #111d2d !important; border: 1px solid #38516b !important; border-radius: 18px; box-shadow: var(--fp-shadow); }
.fp-dark .modal-header,.fp-dark .modal-footer { border-color: #2a405c; }
.fp-dark .modal-header .close { color: #e4efff; opacity: .8; }
.fp-dark .tooltip-inner { background: #25466c; color: white; }
.fp-dark .progress { background: #26364b; border-radius: 30px; }
.fp-dark .progress-bar { background: #387df4; }
.fp-dark pre,.fp-dark code,.fp-dark .well pre { background: #0b1525; color: #a6d5ff; border-color: #314663; }
.fp-dark blockquote { border-right: 3px solid #538df4; border-left: 0; background: #122138; color: #c6d5e9; padding: 18px; border-radius: 9px; }
.fp-dark .ticket-reply.staff,.fp-dark .ticket-reply.staff .ticket-reply-top { background: #15263f !important; }
.fp-dark .ticket-reply-top,.fp-dark .ticket-reply-message { color: #c9d7e9 !important; }
.fp-dark .kb-article,.fp-dark .kb-article p,.fp-dark .announcement-single,.fp-dark .knowledgebase-article { color: #b5c8dc !important; }
.fp-dark .domain-checker-bg,.fp-dark .domain-checker-container,.fp-dark .domain-search { background: #101c2b !important; }
.fp-dark .product-status,.fp-dark .invoice-status { border-radius: 9px; }
.fp-dark .invoice-container,.fp-dark .invoice,.fp-dark .invoice-header,.fp-dark .invoice-items,
.fp-dark .invoice-notes,.fp-dark .invoice-footer { background: #111b2b !important; color: #d0dff1 !important; border-color: #35465d !important; }
.fp-dark #order-standard_cart,.fp-dark #order-standard_cart .products,.fp-dark #order-standard_cart .product,
.fp-dark .cart-body,.fp-dark .cart-sidebar,.fp-dark .order-summary { background: #0d1827 !important; color: #c7d8eb !important; border-color: #293e57 !important; }
/* Dashboard */
.fp-dashboard { color: #b1c4da; }
.fp-dashboard-hero { display: flex; gap: 25px; justify-content: space-between; align-items: center; padding: 28px 31px; border: 1px solid #345476; border-radius: 20px; background: radial-gradient(circle at 5% 0,rgba(62,127,244,.23),transparent 40%),linear-gradient(120deg,#152640,#101b2d); margin-bottom: 24px; }
.fp-dashboard-hero h1 { margin: 10px 0 3px; font-size: 29px; }
.fp-dashboard-hero p { font-size: 12px; color: #98afc8; margin: 0; }
.fp-dashboard-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.fp-kpi-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 28px; }
.fp-kpi { display: block; position: relative; background: #121e2e; border: 1px solid #2a3d55; border-radius: 15px; padding: 25px; }
.fp-kpi:hover { transform: translateY(-4px); background: #182941; border-color: #4979b9; }
.fp-kpi-icon { display: grid; width: 41px; height: 41px; place-items: center; background: #213b5e; color: #70b5ff; border-radius: 12px; }
.fp-kpi-title { display: block; margin: 17px 0 4px; font-size: 12px; color: #a8bed8; }
.fp-kpi-number { display: block; font: 800 33px/1.4 Inter,Cairo,sans-serif; color: #eff7ff; }
.fp-kpi-link { display: inline-block; color: #78b5ff; font-size: 11px; margin-top: 8px; }
.fp-dashboard-panels { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.fp-dash-panel { background: #111c2b; border: 1px solid #2b3e58; border-radius: 15px; overflow: hidden; min-width: 0; }
.fp-dash-panel-head { display: flex; justify-content: space-between; gap: 15px; align-items: center; padding: 18px 22px; border-bottom: 1px solid #293f5a; background: #162538; }
.fp-dash-panel-head h2 { margin: 0; font-size: 16px; }
.fp-dash-panel-head a { font-size: 11px; }
.fp-dash-panel-content { padding: 19px 22px; overflow-wrap: anywhere; }
.fp-dash-panel-content .panel { margin-bottom: 8px; }
.fp-dash-panel-list { padding: 0; margin: 0; list-style: none; }
.fp-dash-panel-list li { padding: 13px 19px; border-bottom: 1px solid #273b52; }
.fp-dash-panel-list li:last-child { border: 0; }
.fp-dash-panel-list li a { display: flex; gap: 8px; justify-content: space-between; align-items: center; color: #c6d5e8; font-size: 12px; }
.fp-dash-panel-list li a:hover { color: #7cbbff; }
.fp-dash-panel-list li i { color: #5999e7; margin-left: 7px; }
.fp-dashboard-helper { margin-top: 27px; border: 1px solid #284361; background: #0f2034; padding: 17px 22px; border-radius: 13px; display: flex; justify-content: space-between; gap: 18px; align-items: center; }
.fp-dashboard-helper p { margin: 0; color: #bacce1; font-size: 12px; }
/* Authentication */
.fp-login { max-width: 1000px; margin: 28px auto 65px; display: grid; grid-template-columns: 1fr 1fr; background: #111b2b; border: 1px solid #2c4666; border-radius: 22px; overflow: hidden; min-height: 540px; box-shadow: var(--fp-shadow); }
.fp-login-art { position: relative; background: radial-gradient(circle at 45% 25%,#275eb6 0,#122d56 40%,#0b1b36 90%); padding: 60px 50px; display: flex; flex-direction: column; justify-content: center; overflow: hidden; }
.fp-login-art::before { content: ''; position: absolute; width: 390px; height: 390px; border: 1px solid #73b1ff36; box-shadow: 0 0 0 50px #549aff10,0 0 0 100px #549aff0c; border-radius: 50%; top: 26%; right: 25%; }
.fp-login-art > * { position: relative; z-index: 1; }
.fp-login-art-icon { display: grid; width: 70px; height: 70px; border: 1px solid #6faafa99; background: #1b477e; place-items: center; border-radius: 19px; font-size: 28px; color: #a5d9ff; margin-bottom: 35px; }
.fp-login-art h2 { font-size: 34px; line-height: 1.5; margin-bottom: 19px; }
.fp-login-art p { color: #bdcee8; font-size: 14px; line-height: 2.1; }
.fp-login-art-badges { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
.fp-login-art-badges span { border: 1px solid #5d83b2; background: #153e70a8; color: #dceeff; border-radius: 20px; padding: 5px 12px; font-size: 11px; }
.fp-login-form-section { padding: 55px 52px; }
.fp-login-form-section h1 { font-size: 29px; margin: 12px 0; }.fp-login-form-section > p { color: #93a9c4; margin-bottom: 30px; }
.fp-login-form-section .form-control { min-height: 52px; }
.fp-login-form-section label { display: block; margin-bottom: 8px; }
.fp-login-form-section .fp-login-meta { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; align-items: center; font-size: 12px; }
.fp-login-form-section .fp-login-submit { width: 100%; padding: 13px; margin: 20px 0; }
.fp-login-bottom { border-top: 1px solid #2c3e55; padding-top: 20px; font-size: 12px; }
/* Common legacy inline page styles: enforce dark for original supplemental templates. */
.fp-dark .premium-login-wrapper,.fp-dark .login-animation-box,.fp-dark .login-header,
.fp-dark .auth-footer,.fp-dark .social-login-divider span,
.fp-dark .dashboard-container,.fp-dark .exec-header,.fp-dark .section-panel,.fp-dark .panel-top,
.fp-dark .panel-body-fixed,.fp-dark .data-row,.fp-dark .kpi-card,.fp-dark .tool-btn,
.fp-dark .review-card,.fp-dark .pricing-card,.fp-dark .pricing-card-clean,
.fp-dark .feature-card,.fp-dark .feature-box,.fp-dark .hosting-plan,
.fp-dark .contact-form,.fp-dark .form-panel {
    background-color: #111c2c !important; color: #c1d2e7 !important; border-color: #293d55 !important;
}
.fp-dark .dashboard-container .panel-body-fixed * { color: inherit !important; }
.fp-dark .exec-header h1,.fp-dark .kpi-value,.fp-dark .panel-top h3,.fp-dark .login-header h1,
.fp-dark .login-form label,.fp-dark .pricing-card h3 { color: #ebf5ff !important; }
.fp-dark .tool-btn,.fp-dark .data-row { color: #c9d9eb !important; }
.fp-dark .tool-btn:hover,.fp-dark .data-row:hover { background: #213653 !important; }
.fp-dark .badge-mini { background: #293e58; color: #d5e7ff; }
.fp-dark .alert-exec { background: #301f2e; border-color: #bb6484; }
.fp-dark .alert-content { color: #ffc4d1; }
.fp-dark .infra-monitor { background: #11233b !important; border: 1px solid #34496a; }
.fp-dark .pricing-box,.fp-dark .search-box,.fp-dark .search-box-clean,.fp-dark .search-wrapper-super,
.fp-dark .cta-banner { background-color: #111f31 !important; color: #d1e0f5 !important; border-color: #355171 !important; }
.fp-dark .text-gradient,.fp-dark .text-gradient-super { background: linear-gradient(100deg,#6aaeff,#78d9ff); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.fp-dark .back-to-top { background-color: #2368d9; color: white; }
/* User profile/contact/order form refinements */
.fp-dark .form-horizontal .control-label { padding-top: 8px; }
.fp-dark .input-group-btn > .btn { min-height: 44px; }
.fp-dark .field-icon,.fp-dark .input-icon-wrapper i { color: #6eabf6; }
.fp-dark .invoice-list,.fp-dark .tickets-list,.fp-dark .products-list { border-radius: 15px; overflow: hidden; }
.fp-dark .payment-method,.fp-dark .account-user,.fp-dark .contact-details { background: #101c2b !important; color: #e0eaff !important; border-color: #29415e !important; }
.fp-dark .dataTables_wrapper .dataTables_paginate .paginate_button { color: #b6cef0 !important; }
.fp-dark .ticket-reply .message,.fp-dark .ticket-reply .user { color: #c6d7e9 !important; }
/* WHMCS MarketConnect store/add-on landing pages, which often inject store.css later. */
.fp-dark .landing-page,.fp-dark .landing-page .hero,
.fp-dark .landing-page .content-block,.fp-dark .landing-page .product-options,
.fp-dark .landing-page .light-grey-bg,.fp-dark .landing-page .gray-light-bg,
.fp-dark .landing-page .alternate-bg { background: #0b1422 !important; color: #b7c8df !important; }
.fp-dark .landing-page .product-options .item,.fp-dark .landing-page .features .feature,
.fp-dark .landing-page .tab-content,.fp-dark .landing-page .pricing-container,
.fp-dark .landing-page .pricing-box,.fp-dark .landing-page .row-pricing-table ul li,
.fp-dark .landing-page .weebly-lite-plan,.fp-dark .landing-page .feature-block,
.fp-dark .landing-page .plans-single-feature,.fp-dark .landing-page .single-backup-feature,
.fp-dark .sitebuilder-upgrade-container,.fp-dark .weebly-upgrade-container,
.fp-dark .store-order-container,.fp-dark .store-promoted-product {
    background: #132034 !important; color: #c2d2e8 !important;
    border: 1px solid #314962 !important; border-radius: 13px !important;
}
.fp-dark .landing-page .product-options p,.fp-dark .landing-page .tab-content p,
.fp-dark .landing-page .features p,.fp-dark .store-order-container p { color: #b5c7dc !important; }
.fp-dark .landing-page .product-options .icon,.fp-dark .landing-page .feature i { color: #7ab5ff !important; }
.fp-dark .landing-page .nav-tabs > li > a,.fp-dark .landing-page .navbar .navbar-nav > li.active > a,
.fp-dark .landing-page .store-domain-tabs > li > a { background: #1b304d !important; color: #d7e8fb !important; }
.fp-dark .landing-page .tab-content,.fp-dark .store-domain-tab-content { background: #111f31 !important; color: #c8daef !important; }
.fp-dark .landing-page .get-started { background: linear-gradient(125deg,#173d76,#153159) !important; color: #e7f2ff !important; }
.fp-dark .landing-page .hero h1,.fp-dark .landing-page .hero h2 { color: #f0f6ff !important; }
.fp-dark .store-order-container { padding: 26px; margin: 20px auto; }
.fp-dark .store-order-container .payment-term,.fp-dark .store-order-container .domain-validation { color: #b3cae5 !important; }
/* WHMCS invoices and PDF embeds should retain their own semantics in print */
@media (max-width: 1199px) {
    .fp-header-inner { gap: 14px; }
    .fp-nav-list > li > a { padding: 9px 8px; font-size: 12px; }
    .fp-header-actions .fp-btn { padding: 9px 11px; }
}
/* Legacy custom service card page — variables in that template use these components. */
.fp-dark .enterprise-services .ent-card,.fp-dark .enterprise-services .ent-empty {
    background: linear-gradient(145deg,#152239,#101a2b) !important;
    border-color: #304963 !important; box-shadow: none !important;
}
.fp-dark .enterprise-services .ent-card:hover { border-color: #4f89cb !important; box-shadow: 0 14px 36px #0005 !important; }
.fp-dark .enterprise-services .ent-prod-name,.fp-dark .enterprise-services .ent-title,
.fp-dark .enterprise-services .ent-metric-value { color: #eaf3ff !important; }
.fp-dark .enterprise-services .ent-metric-label,.fp-dark .enterprise-services .ent-domain { color: #99aec9 !important; }
.fp-dark .enterprise-services .ent-card-body { border-color: #2e4159 !important; }
.fp-dark .enterprise-services .ent-search input { background: #0b1727 !important; color: #fff !important; border-color: #344a65 !important; }
.fp-dark .enterprise-services .ent-prod-icon { background: #213a5e !important; color: #73b9ff !important; }
.fp-dark .enterprise-services .ent-btn { background: #20375a !important; color: #cce2ff !important; border-color: #416a9c !important; }
.fp-dark .enterprise-services .ent-btn:hover { background: #347df1 !important; color: #fff !important; }
.fp-dark .enterprise-services .ent-empty h3 { color: #f3f7ff !important; }
.fp-dark .enterprise-services .ent-empty p { color: #a8bed8 !important; }
.fp-dark .enterprise-services .ent-empty-btn { background: #347df1; color: white; }
/* Register and recovery surfaces */
.fp-dark .register-wrapper,.fp-dark .register-header,.fp-dark .account-register-wrapper,
.fp-dark .pwreset-wrapper,.fp-dark .logincontainer { background: transparent !important; color: #b5c7dc !important; }
.fp-dark .register-wrapper { padding: 20px 12px 55px; }
.fp-dark .register-header h1,.fp-dark .register-header h2 { color: #eaf4ff !important; }
.fp-dark .register-header p { color: #a1b4cc !important; }
.fp-dark .sub-heading { border-color: #2e4259 !important; }
.fp-dark .sub-heading h3 { color: #80baff !important; }
.fp-dark .btn-register-submit,.fp-dark .btn-login-submit { background: linear-gradient(130deg,#3d89ff,#2265df) !important; color: white !important; border-color: #478bff !important; }
.fp-dark .auth-footer,.fp-dark .auth-footer p,.fp-dark .login-header p { color: #a0b2c9 !important; }
.fp-dark .auth-footer a,.fp-dark .forgot-link { color: #80b9ff !important; }
.fp-dark .social-login-divider { border-color: #354862 !important; }
.fp-dark .social-login-divider span { color: #afc2db !important; }
/* Product details — native WHMCS module content remains available */
.fp-product-hero { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; padding: 29px; margin-bottom: 20px; background: radial-gradient(circle at 100% 0,rgba(58,123,220,.24),transparent 50%),#142238; border: 1px solid #35547a; border-radius: 20px; }
.fp-product-hero h1 { font-size: 29px; margin: 8px 0; }
.fp-product-hero p { color: #afc4dc; margin: 0; }
.fp-product-hero p i { color: #73afff; margin-left: 8px; }
.fp-product-status { border-radius: 100px; padding: 8px 17px; background: #1b3a48; border: 1px solid #3c777d; color: #aff3e0; font-weight: 800; font-size: 12px; }
.fp-product-status i { font-size: 7px; margin-left: 6px; }
.fp-product-overview { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.fp-product-card { background: #121e2e; padding: 27px; border: 1px solid #2e435c; border-radius: 15px; margin-bottom: 18px; overflow-wrap: anywhere; }
.fp-product-card > h2 { font-size: 17px !important; margin: 0 0 22px; }
.fp-product-card > h2 i { color: #70b3ff; margin-left: 8px; }
.fp-detail-list { margin: 0; }
.fp-detail-list > div { display: flex; gap: 16px; align-items: baseline; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid #293d56; font-size: 12px; }
.fp-detail-list > div:last-child { border-bottom: 0; }
.fp-detail-list dt { color: #90a9c6; font-weight: 700; }
.fp-detail-list dd { color: #dfedff; text-align: left; margin: 0; font-weight: 700; }
.fp-product-actions { display: flex; flex-wrap: wrap; gap: 10px; padding: 12px 0 25px; }
.fp-native-module-output { padding: 22px; margin: 20px 0; background: #111d2e; border: 1px solid #2e425d; border-radius: 15px; overflow: auto; }
.fp-resource-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.fp-resource-grid strong { color: #e4f2ff; }.fp-resource-grid p { margin: 6px 0 10px; font-size: 12px; }
.fp-product-support { background: #12243b; border: 1px solid #2b4f7b; border-radius: 13px; padding: 17px; margin-top: 20px; font-size: 12px; }
/* Standalone invoice page — override old inline light-mode CSS. */
.fp-invoice-page .main-invoice-wrapper { background: #111c2c !important; color: #d5e5f8 !important; border: 1px solid #354962 !important; border-radius: 20px !important; box-shadow: 0 30px 80px #0007 !important; }
.fp-invoice-page .inv-header,.fp-invoice-page .inv-body { background: #111c2c !important; color: #d3e1f2 !important; border-color: #2b3e56 !important; }
.fp-invoice-page .inv-header { background: #152338 !important; }
.fp-invoice-page .inv-meta h1,.fp-invoice-page .inv-brand h2,.fp-invoice-page .d-col p,
.fp-invoice-page .pay-title-bar h3,.fp-invoice-page .pc-head { color: #f0f7ff !important; }
.fp-invoice-page .inv-meta .date,.fp-invoice-page .d-col h3 { color: #a2b6d0 !important; }
.fp-invoice-page .pay-title-bar { border-color: #354d6c !important; }.fp-invoice-page .pay-title-bar i { color: #68aaff !important; }
.fp-invoice-page .pay-card-item { background: #152438 !important; border-color: #344c68 !important; border-radius: 13px !important; }
.fp-invoice-page .pay-card-item:hover { background: #1b304d !important; border-color: #4c87d5 !important; }
.fp-invoice-page .pc-row { background: #0b1627 !important; border-color: #304763 !important; }
.fp-invoice-page .pc-val { color: #d9e8ff !important; overflow-wrap: anywhere; }
.fp-invoice-page .pc-btn { color: #86c0ff !important; }
.fp-invoice-page .pc-note { color: #ffc39e !important; }
.fp-invoice-page .items-table th { color: #a5b8cf !important; border-color: #344a65 !important; text-align: right; }
.fp-invoice-page .items-table td { color: #c8d7e9 !important; border-color: #2c4159 !important; }
.fp-invoice-page .items-table .total-row td { color: #f1f8ff !important; border-color: #3b5a80 !important; }
.fp-invoice-page .st-Unpaid { background: #592b38 !important; color: #ffc0ca !important; }
.fp-invoice-page .st-Paid { background: #174739 !important; color: #bbffe3 !important; }
.fp-invoice-page .st-Cancelled { background: #26374c !important; color: #d6e0ef !important; }
.fp-invoice-page .wa-full-btn { background: #156b58 !important; border: 1px solid #379a7d !important; }
.fp-invoice-page .wa-full-btn:hover { background: #228269 !important; }
.fp-invoice-page .hidden-print.text-center { background: #152337 !important; border-color: #2b405d !important; }
.fp-invoice-page .details-row { border-bottom: 1px solid #2c415a; padding-bottom: 24px; }
@media (max-width: 640px) {
    .fp-product-overview,.fp-resource-grid { grid-template-columns: 1fr; }
    .fp-product-card { padding: 20px; }
    .fp-product-hero h1 { font-size: 23px; }
    .fp-invoice-page .inv-body { padding: 23px 18px; }
    .fp-invoice-page .inv-header { padding: 25px 20px; }
}
@media print {
    .fp-invoice-page .main-invoice-wrapper,.fp-invoice-page .inv-header,.fp-invoice-page .inv-body,
    .fp-invoice-page .pay-card-item,.fp-invoice-page .pc-row { background: white !important; color: #111 !important; box-shadow: none !important; }
    .fp-invoice-page .inv-meta h1,.fp-invoice-page .inv-brand h2,.fp-invoice-page .d-col p,
    .fp-invoice-page .items-table td,.fp-invoice-page .items-table th { color: #111 !important; }
}
@media (max-width: 991px) {
    .fp-desktop-nav,.fp-header-actions { display: none; }
    .fp-menu-toggle { display: grid; margin-right: auto; }
    .fp-header-inner { height: 70px; }
    .fp-mobile-nav:not([hidden]) { display: block; }
    .fp-footer-top { grid-template-columns: repeat(3,1fr); gap: 30px; }
    .fp-footer-intro { grid-column: 1/-1; }
    .fp-hero { padding-top: 75px; }
    .fp-hero-layout { grid-template-columns: 1fr; }
    .fp-hero-visual { min-height: 355px; }
    .fp-domain-search { flex-wrap: wrap; margin-top: 20px; }
    .fp-domain-input-wrap { flex-basis: 100%; }
    .fp-service-grid,.fp-pricing-grid,.fp-steps-grid { grid-template-columns: repeat(2,1fr); }
    .fp-experience-layout { grid-template-columns: 1fr; gap: 30px; }
    .fp-experience-art { max-width: 600px; margin: auto; }
    .fp-faq-layout { grid-template-columns: 1fr; gap: 28px; }
    .fp-dashboard-hero { align-items: flex-start; flex-direction: column; }
    .fp-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .fp-login { grid-template-columns: 1fr; max-width: 600px; }
    .fp-login-art { padding: 33px 40px; min-height: 240px; }
    .fp-login-art h2 { font-size: 25px; }.fp-login-art-icon { margin-bottom: 15px; }
    .fp-content-row { display: block; }
}
@media (max-width: 640px) {
    .fp-brand-name { font-size: 18px; }
    .fp-header-inner { height: 66px; }
    .fp-section { padding: 67px 0; }
    .fp-hero { padding-top: 58px; }
    .fp-hero h1 { font-size: 34px !important; }
    .fp-hero-copy > p { font-size: 14px; }
    .fp-hero-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .fp-hero-actions .fp-btn { white-space: normal; padding: 12px 7px; }
    .fp-hero-points { gap: 10px; }
    .fp-hero-visual { min-height: 295px; }
    .fp-stage-dashboard { width: 88%; transform: none; }
    .fp-stage-body { padding: 17px; }
    .fp-stage-copy strong { font-size: 18px; }
    .fp-server-rack { padding: 7px; }.fp-server-rack span { height: 13px; margin: 4px 0; }.fp-server-rack span::after { top: 4px; right: 5px; }
    .fp-floating-chip { padding: 7px; font-size: 8px; }.fp-chip-top { top: 5%; }.fp-chip-bottom { bottom: 7%; }
    .fp-domain-search { padding: 18px; gap: 11px; }
    .fp-domain-search label { min-width: 0; }
    .fp-domain-input-wrap { display: block; }
    .fp-domain-input-wrap input { display: block; width: 100%; margin: 0 0 7px; }
    .fp-domain-input-wrap .fp-btn { width: 100%; }
    .fp-section-heading { display: block; }
    .fp-section-heading h2 { margin-bottom: 13px; }
    .fp-service-grid,.fp-pricing-grid,.fp-steps-grid,.fp-dashboard-panels { grid-template-columns: 1fr; }
    .fp-service-card { min-height: 0; padding: 25px; }
    .fp-service-card p { min-height: 0; }
    .fp-plan { padding: 26px; }
    .fp-cta-panel { padding: 35px 25px; flex-direction: column; align-items: flex-start; }
    .fp-cta-panel h2 { font-size: 25px; }
    .fp-footer { padding-top: 52px; }
    .fp-footer-top { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 18px; }
    .fp-footer-bottom { display: block; }
    .fp-footer-bottom span { display: block; margin: 6px 0; }
    .fp-support-fab,.fp-back-top { height: 43px; width: 43px; border-radius: 12px; bottom: 14px; }
    .fp-support-fab { left: 13px; }.fp-back-top { right: 13px; }
    .fp-inner-section { padding: 27px 0 75px; }
    .fp-dashboard-hero { padding: 21px; }.fp-dashboard-hero h1 { font-size: 22px; }
    .fp-dashboard-actions { width: 100%; }.fp-dashboard-actions .fp-btn { flex: 1; font-size: 11px; }
    .fp-kpi { padding: 17px; }.fp-kpi-number { font-size: 27px; }
    .fp-login-form-section { padding: 34px 25px; }.fp-login-art { padding: 28px; }
    .fp-dark .table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
@media (max-width: 380px) {
    .fp-hero-actions { grid-template-columns: 1fr; }
    .fp-kpi-grid { gap: 9px; }.fp-kpi { padding: 14px; }
    .fp-hero h1 { font-size: 29px !important; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .fp-dark *, .fp-dark *::before,.fp-dark *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media print {
    body.fp-dark { background: white !important; color: #111 !important; }
    .fp-header,.fp-footer,.fp-support-fab,.fp-back-top,.fp-sidebar,.fp-breadcrumb { display: none !important; }
    .fp-dark .invoice-container,.fp-dark .invoice,.fp-dark .table,.fp-dark .table td,.fp-dark .table th { background: white !important; color: #111 !important; }
    .fp-inner-section { padding: 0; }
}
