/* =========================================================
   APPERTAX WHMCS THEME — PHASE 01
   Premium foundation, global shell, homepage and auth flows
   ========================================================= */

:root {
    --apx-gold: #996515;
    --apx-gold-dark: #754b0f;
    --apx-gold-soft: #f6efe2;
    --apx-black: #000000;
    --apx-ink: #151515;
    --apx-muted: #6d6d6d;
    --apx-canvas: #f2f2f2;
    --apx-white: #ffffff;
    --apx-border: #e7e4df;
    --apx-success: #1f7a4c;
    --apx-danger: #b64242;
    --apx-shadow: 0 8px 24px rgba(0,0,0,.055);
    --apx-shadow-soft: 0 8px 24px rgba(0,0,0,.055);
    --apx-radius: 14px;
    --apx-radius-sm: 10px;
}

html { scroll-behavior: smooth; }
body.apx-theme,
body.apx-theme input,
body.apx-theme button,
body.apx-theme select,
body.apx-theme textarea {
    font-family: "Montserrat", Arial, sans-serif;
    color: var(--apx-ink);
}
body.apx-theme {
    background: var(--apx-canvas);
    font-size: 14px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}
body.apx-theme h1,
body.apx-theme h2,
body.apx-theme h3,
body.apx-theme h4,
body.apx-theme h5,
body.apx-theme h6 {
    font-family: "Montserrat", Arial, sans-serif;
    color: var(--apx-black);
    font-weight: 600;
    letter-spacing: -.025em;
}
body.apx-theme a { color: var(--apx-gold); transition: all .22s ease; }
body.apx-theme a:hover,
body.apx-theme a:focus { color: var(--apx-gold-dark); text-decoration: none; }
body.apx-theme .container { max-width: 1240px; width: calc(100% - 40px); }
body.apx-theme .main-content { min-height: 480px; }

/* Header */
.apx-header {
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid rgba(0,0,0,.055);
    position: relative;
    z-index: 1031;
    transition: box-shadow .2s ease;
}
.apx-header.apx-scrolled { box-shadow: 0 8px 28px rgba(0,0,0,.06); }
.apx-header-inner {
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.apx-brand-wrap { display: flex; align-items: center; min-width: 0; }
.apx-logo { display: inline-flex; align-items: center; min-height: 42px; }
.apx-logo img { display: block; max-height: 46px; max-width: 170px; width: auto; }
.apx-logo-text { color: var(--apx-black)!important; font-weight: 800; font-size: 22px; }
.apx-brand-divider { width: 1px; height: 28px; background: #dedede; margin: 0 17px; }
.apx-brand-label { color: #8a8a8a; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
.apx-utility-nav { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 8px; }
.apx-utility-nav > li { position: relative; }
.apx-utility-link { display: inline-flex; align-items: center; gap: 7px; padding: 10px 11px; color: #555!important; font-size: 12px; font-weight: 600; }
.apx-utility-link:hover { color: var(--apx-black)!important; }
.apx-notification-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--apx-gold); position: absolute; right: 6px; top: 7px; box-shadow: 0 0 0 3px #fff; }

/* Navigation */
.apx-main-menu { position: relative; z-index: 1030; }
.navbar-main {
    margin: 0;
    min-height: 52px;
    border: 0;
    border-radius: 0;
    background: var(--apx-black);
    font-size: 13px;
}
.navbar-main .navbar-nav > li > a {
    color: rgba(255,255,255,.82);
    font-weight: 600;
    padding: 16px 17px;
    line-height: 20px;
}
.navbar-main .navbar-nav > li > a:hover,
.navbar-main .navbar-nav > li > a:focus,
.navbar-main .navbar-nav > .active > a,
.navbar-main .navbar-nav > .active > a:hover,
.navbar-main .navbar-nav > .open > a,
.navbar-main .navbar-nav > .open > a:hover,
.navbar-main li.account {
    background: #171717!important;
    color: #fff;
}
.navbar-main .dropdown-menu {
    border: 0;
    border-radius: 12px;
    padding: 8px;
    min-width: 215px;
    margin-top: 5px!important;
    box-shadow: 0 18px 45px rgba(0,0,0,.15);
}
.navbar-main .dropdown-menu > li > a { border-radius: 8px; padding: 9px 11px; font-size: 12px; color: #333; }
.navbar-main .dropdown-menu > li > a:hover,
.navbar-main .dropdown-menu > li > a:focus,
.navbar-main .dropdown-menu > .active > a { background: var(--apx-gold-soft); color: var(--apx-gold-dark); }
.apx-mobile-nav-label { color: #fff; font-weight: 700; padding: 16px 0 0 15px; }
.navbar-main .navbar-toggle { border-color: rgba(255,255,255,.25); margin-top: 9px; margin-bottom: 9px; }
.navbar-main .navbar-toggle .icon-bar { background: #fff; }

/* Main page foundation */
.apx-main-body { background: var(--apx-canvas); }
.apx-main-body > .container { padding-top: 34px; padding-bottom: 60px; }
.apx-main-body > .container-fluid { padding-top: 0; padding-bottom: 0; }
.apx-home-row { margin-left: 0; margin-right: 0; }
.apx-home-content { padding-left: 0!important; padding-right: 0!important; }
.header-lined { margin: 0 0 24px; padding: 0 0 18px; border-bottom: 1px solid var(--apx-border); }
.header-lined h1 { margin: 0 0 8px; font-size: 30px; font-weight: 700; color: var(--apx-black); }
.header-lined h1 small { display: block; margin-top: 8px; color: #777; font-size: 13px; font-weight: 500; letter-spacing: 0; }
.breadcrumb { background: transparent; padding: 0; margin: 0; font-size: 12px; }
.breadcrumb > li + li:before { color: #aaa; }

/* Buttons */
.apx-btn,
body.apx-theme .btn-primary,
body.apx-theme .btn-success {
    border-radius: 10px;
    min-height: 42px;
    padding: 10px 18px;
    font-weight: 600;
    font-size: 12px;
    line-height: 20px;
    border: 1px solid transparent;
    box-shadow: none;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.apx-btn:hover,
body.apx-theme .btn-primary:hover,
body.apx-theme .btn-success:hover { transform: translateY(-1px); }
.apx-btn-primary,
body.apx-theme .btn-primary { background: var(--apx-gold); border-color: var(--apx-gold); color: #fff!important; }
.apx-btn-primary:hover,
body.apx-theme .btn-primary:hover { background: var(--apx-gold-dark); border-color: var(--apx-gold-dark); box-shadow: 0 10px 24px rgba(153,101,21,.22); }
.apx-btn-dark { background: var(--apx-black); border-color: var(--apx-black); color: #fff!important; }
.apx-btn-dark:hover { background: #1f1f1f; color: #fff!important; box-shadow: 0 10px 24px rgba(0,0,0,.15); }
.apx-btn-light,
body.apx-theme .btn-default { background: #fff; border-color: #ddd8d0; color: #222!important; }
.apx-btn-light:hover,
body.apx-theme .btn-default:hover { border-color: #c9b690; background: #fffdf9; color: var(--apx-gold-dark)!important; }
.apx-btn-outline { background: transparent; border-color: #d8d8d8; color: #333!important; }
.apx-btn-outline:hover { border-color: var(--apx-gold); color: var(--apx-gold)!important; }
.apx-btn-ghost-light { background: transparent; border-color: rgba(255,255,255,.35); color: #fff!important; }
.apx-btn-ghost-light:hover { background: rgba(255,255,255,.08); border-color: #fff; color: #fff!important; }
.apx-btn-sm { min-height: 38px; padding: 8px 13px; }
.apx-btn-lg { min-height: 50px; padding: 14px 24px; font-size: 13px; }
.apx-btn-block { display: block; width: 100%; }

/* Forms */
body.apx-theme .form-control {
    height: 46px;
    border: 1px solid #ddd9d2;
    border-radius: 10px;
    box-shadow: none;
    background: #fff;
    color: #161616;
    font-size: 13px;
    padding: 10px 13px;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
body.apx-theme textarea.form-control { height: auto; min-height: 120px; }
body.apx-theme .form-control:focus { border-color: var(--apx-gold); box-shadow: 0 0 0 3px rgba(153,101,21,.10); }
.apx-form-group label { color: #222; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; font-weight: 600; margin-bottom: 7px; }
.apx-input-icon-wrap { position: relative; }
.apx-input-icon-wrap > i { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: #8a8a8a; z-index: 2; width: 16px; text-align: center; pointer-events: none; }
body.apx-theme .apx-input-icon-wrap .form-control { padding-left: 46px; }
.apx-password-wrap { position: relative; }
body.apx-theme .apx-password-wrap .form-control { padding-right: 50px; }
.apx-password-toggle { position: absolute; right: 7px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; width: 36px; height: 36px; color: #7b7b7b; z-index: 3; border-radius: 8px; }
.apx-password-toggle:hover { background: #f4f1ec; color: var(--apx-gold); }
.apx-label-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.apx-inline-link { font-size: 12px; font-weight: 600; }
.apx-check-label { display: flex; align-items: flex-start; gap: 9px; cursor: pointer; font-weight: 500; margin: 0; }
.apx-check-label input { margin-top: 3px; accent-color: var(--apx-gold); }
.apx-check-label small { display: block; color: #777; margin-top: 3px; line-height: 1.5; }
.apx-captcha-wrap { margin: 18px 0; }
.apx-form-intro { color: #707070; margin-bottom: 20px; }
.apx-optional { color: #999; text-transform: none; letter-spacing: 0; font-weight: 500; }

/* Panels / tables / common WHMCS components */
body.apx-theme .panel { border: 0; border-radius: 14px; box-shadow: var(--apx-shadow-soft); overflow: hidden; background: #fff; }
body.apx-theme .panel-heading { border: 0; background: #fff; padding: 15px 17px; }
body.apx-theme .panel-title { font-size: 13px; font-weight: 700; }
body.apx-theme .panel-body { padding: 16px 17px; }
body.apx-theme .panel-footer { background: #fafafa; border-top: 1px solid #eee; }
body.apx-theme .list-group-item { padding: 10px 15px; border-color: #f0f0f0; color: #444; }
body.apx-theme a.list-group-item.active,
body.apx-theme a.list-group-item.active:hover,
body.apx-theme a.list-group-item.active:focus { background: var(--apx-black); border-color: var(--apx-black); color: #fff; }
body.apx-theme .sidebar .panel-sidebar .panel-heading { background: var(--apx-black); color: #fff; }
body.apx-theme .sidebar .panel-sidebar .panel-title { color: #fff; }
body.apx-theme .sidebar .panel-sidebar { box-shadow: var(--apx-shadow-soft); margin-bottom: 18px; }
body.apx-theme .sidebar .list-group-item.active { background: var(--apx-gold); border-color: var(--apx-gold); }
body.apx-theme .table { background: #fff; }
body.apx-theme .table > thead > tr > th { border-bottom: 1px solid #e9e6e1; color: #6a6a6a; font-size: 12px; text-transform: uppercase; letter-spacing: .07em; font-weight: 700; }
body.apx-theme .table > tbody > tr > td { border-top: 1px solid #f0efed; vertical-align: middle; }
body.apx-theme .alert { border: 0; border-radius: 12px; padding: 13px 16px; font-size: 12px; }
body.apx-theme .alert-info { background: #f3f5f7; color: #3c4752; }
body.apx-theme .alert-success { background: #edf8f2; color: #246344; }
body.apx-theme .alert-danger { background: #fff0f0; color: #8d3636; }
body.apx-theme .alert-warning { background: #fff8e9; color: #7a5a18; }
body.apx-theme .label { border-radius: 20px; padding: .35em .7em; font-weight: 600; }
body.apx-theme .pagination > .active > a,
body.apx-theme .pagination > .active > span { background: var(--apx-gold); border-color: var(--apx-gold); }

/* Eyebrows and headings */
.apx-eyebrow,
.apx-section-kicker { display: inline-flex; align-items: center; gap: 10px; color: var(--apx-gold); font-size: 12px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.apx-eyebrow span { width: 30px; height: 1px; background: currentColor; }
.apx-eyebrow-light,
.apx-kicker-light { color: #d8b269; }
.apx-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.apx-section-heading h2 { margin: 8px 0 0; font-size: 34px; line-height: 1.2; }
.apx-arrow-link { font-weight: 700; color: #232323!important; font-size: 12px; white-space: nowrap; }
.apx-arrow-link i { margin-left: 6px; transition: transform .2s ease; }
.apx-arrow-link:hover { color: var(--apx-gold)!important; }
.apx-arrow-link:hover i { transform: translateX(3px); }

/* Homepage hero */
.apx-home-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 80% 15%, rgba(153,101,21,.13), transparent 28%),
        linear-gradient(135deg, #0b0b0b 0%, #151515 58%, #201a12 100%);
    color: #fff;
    min-height: 610px;
    display: flex;
    align-items: center;
    padding: 72px 0;
}
.apx-home-hero:after { content: ""; position: absolute; right: -160px; top: -220px; width: 500px; height: 500px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: 0 0 0 75px rgba(255,255,255,.018), 0 0 0 150px rgba(255,255,255,.012); }
.apx-home-hero .container { position: relative; z-index: 2; }
.apx-hero-grid { display: flex; align-items: center; }
.apx-home-hero h1 { color: #fff; font-size: 53px; line-height: 1.08; margin: 17px 0 20px; max-width: 770px; font-weight: 800; }
.apx-home-hero h1 span { color: #d6ad63; }
.apx-hero-copy { color: rgba(255,255,255,.67); font-size: 15px; line-height: 1.8; max-width: 680px; margin-bottom: 27px; }
.apx-domain-search-card { background: #fff; border-radius: 16px; padding: 18px; max-width: 740px; box-shadow: 0 24px 60px rgba(0,0,0,.25); }
.apx-domain-search-heading { display: flex; justify-content: space-between; align-items: center; color: #111; margin-bottom: 13px; }
.apx-domain-search-heading strong { display: block; font-size: 13px; }
.apx-domain-search-heading span { display: block; color: #868686; font-size: 12px; margin-top: 2px; }
.apx-domain-search-heading > i { color: var(--apx-gold); font-size: 24px; }
.apx-domain-input-wrap { display: flex; align-items: center; position: relative; gap: 9px; }
.apx-domain-input-wrap > i { position: absolute; left: 15px; color: #8c8c8c; z-index: 2; }
body.apx-theme .apx-domain-input-wrap .form-control { height: 50px; padding-left: 43px; flex: 1; border-color: #dedad4; }
.apx-domain-input-wrap .apx-btn { height: 50px; min-width: 142px; }
.apx-text-button { border: 0; background: transparent; padding: 11px 0 0; color: #777; font-size: 12px; }
.apx-text-button strong { color: var(--apx-gold); }
.apx-trust-row { display: flex; flex-wrap: wrap; gap: 26px; margin-top: 24px; }
.apx-trust-row > div { display: flex; align-items: center; gap: 9px; color: rgba(255,255,255,.58); font-size: 12px; }
.apx-trust-row i { color: #d2a75b; }
.apx-trust-row strong { color: #fff; }

/* Homepage visual */
.apx-hero-visual { position: relative; height: 430px; margin-left: 25px; }
.apx-visual-main-card { position: absolute; left: 55px; top: 55px; width: 355px; min-height: 300px; background: rgba(255,255,255,.97); border-radius: 22px; padding: 20px; color: #111; box-shadow: 0 30px 70px rgba(0,0,0,.28); transform: rotate(2deg); }
.apx-visual-card-top { display: flex; align-items: center; gap: 8px; color: #656565; font-size: 12px; font-weight: 700; }
.apx-visual-card-top .fa-ellipsis-h { margin-left: auto; }
.apx-status-dot { width: 8px; height: 8px; background: var(--apx-success); border-radius: 50%; }
.apx-visual-stat { margin-top: 34px; }
.apx-visual-stat span { display: block; color: #8b8b8b; font-size: 12px; }
.apx-visual-stat strong { display: block; color: #111; font-size: 34px; line-height: 1.2; margin-top: 5px; }
.apx-visual-bars { height: 90px; display: flex; align-items: flex-end; gap: 8px; margin-top: 17px; padding-bottom: 10px; border-bottom: 1px solid #eee; }
.apx-visual-bars span { flex: 1; border-radius: 6px 6px 2px 2px; background: linear-gradient(#c99b4e, #996515); opacity: .85; }
.apx-visual-mini-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 15px; }
.apx-visual-mini-grid > div { padding: 10px 8px; border-radius: 10px; background: #f5f3ef; text-align: center; color: #444; font-size: 12px; }
.apx-visual-mini-grid i { display: block; color: var(--apx-gold); margin-bottom: 5px; }
.apx-floating-card { position: absolute; display: flex; align-items: center; gap: 9px; padding: 12px 15px; background: #fff; color: #222; border-radius: 12px; box-shadow: 0 18px 38px rgba(0,0,0,.20); font-size: 12px; font-weight: 700; animation: apxFloat 4.5s ease-in-out infinite; }
.apx-floating-card i { color: var(--apx-gold); }
.apx-floating-card-one { left: 7px; top: 126px; }
.apx-floating-card-two { right: -2px; bottom: 53px; animation-delay: -1.7s; }
.apx-visual-orbit { position: absolute; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; }
.apx-orbit-one { width: 310px; height: 310px; left: 15px; top: 25px; }
.apx-orbit-two { width: 410px; height: 410px; right: -40px; top: 10px; }
@keyframes apxFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }

/* Homepage sections */
.apx-home-section { padding: 78px 0; }
.apx-product-section { background: #fff; }
.apx-product-grid > div { margin-bottom: 20px; }
.apx-product-card { display: block; min-height: 315px; height: 100%; background: #faf9f7; border: 1px solid #eeebe6; border-radius: 17px; padding: 25px; color: #222!important; position: relative; overflow: hidden; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.apx-product-card:after { content: ""; position: absolute; width: 120px; height: 120px; border-radius: 50%; background: var(--apx-gold-soft); right: -70px; top: -70px; transition: transform .3s ease; }
.apx-product-card:hover { transform: translateY(-5px); box-shadow: 0 20px 45px rgba(0,0,0,.08); border-color: #dbc9a8; }
.apx-product-card:hover:after { transform: scale(1.3); }
.apx-product-icon { width: 46px; height: 46px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: var(--apx-gold-soft); color: var(--apx-gold); font-size: 18px; margin-bottom: 28px; position: relative; z-index: 1; }
.apx-product-tag { color: #999; font-size: 12px; font-weight: 800; letter-spacing: .14em; }
.apx-product-card h3 { margin: 7px 0 11px; font-size: 18px; }
.apx-product-card p { color: #707070; font-size: 12px; line-height: 1.75; margin-bottom: 27px; }
.apx-product-action { color: var(--apx-gold); font-size: 12px; font-weight: 800; position: absolute; bottom: 24px; left: 25px; }
.apx-product-action i { margin-left: 5px; transition: transform .18s ease; }
.apx-product-card:hover .apx-product-action i,
.apx-news-card:hover .apx-product-action i { transform: translateX(4px); }
.apx-services-section { background: var(--apx-canvas); }
.apx-service-intro { display: flex; align-items: center; }
.apx-service-intro h2 { font-size: 38px; line-height: 1.2; margin: 10px 0 16px; }
.apx-service-intro > .col-md-5 > p { color: #6f6f6f; font-size: 12px; line-height: 1.9; margin-bottom: 24px; max-width: 470px; }
.apx-service-list { background: #fff; border-radius: 20px; box-shadow: var(--apx-shadow-soft); overflow: hidden; }
.apx-service-row { display: grid; grid-template-columns: 50px 1fr 30px; align-items: center; gap: 18px; padding: 22px 24px; color: #222!important; border-bottom: 1px solid #eee; }
.apx-service-row:last-child { border-bottom: 0; }
.apx-service-row:hover { background: #fbf8f2; }
.apx-service-number { color: var(--apx-gold); font-size: 12px; font-weight: 800; }
.apx-service-row h3 { font-size: 15px; margin: 0 0 5px; }
.apx-service-row p { margin: 0; color: #777; font-size: 12px; line-height: 1.6; }
.apx-diagonal-arrow { transform: rotate(45deg); color: #999; transition: transform .2s ease, color .2s ease; }
.apx-service-row:hover .apx-diagonal-arrow { transform: rotate(45deg) translateY(-3px); color: var(--apx-gold); }
.apx-portal-section { background: #fff; }
.apx-portal-card { padding: 48px 52px; border-radius: 22px; background: linear-gradient(120deg, #070707 0%, #15110c 66%, #2a1b09 100%); color: #fff; position: relative; overflow: hidden; }
.apx-portal-card:after { content:""; position:absolute; width:280px; height:280px; right:-90px; top:-120px; border-radius:50%; border:1px solid rgba(255,255,255,.09); box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.015); }
.apx-portal-card h2 { color: #fff; font-size: 35px; line-height: 1.2; margin: 9px 0 14px; }
.apx-portal-card p { color: rgba(255,255,255,.62); max-width: 650px; font-size: 12px; line-height: 1.8; }
.apx-portal-actions { display: flex; gap: 10px; margin-top: 22px; }
.apx-portal-features { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 6px; }
.apx-portal-features > div { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.08); border-radius: 13px; padding: 17px; min-height: 105px; }
.apx-portal-features i { display: block; color: #d6aa5e; font-size: 18px; margin-bottom: 20px; }
.apx-portal-features span { color: rgba(255,255,255,.8); font-size: 12px; font-weight: 600; }
.apx-confidence-section { background: var(--apx-canvas); }
.apx-confidence-card { background: #fff; border-radius: 17px; padding: 27px; min-height: 230px; box-shadow: var(--apx-shadow-soft); margin-bottom: 20px; }
.apx-confidence-card > i { width: 44px; height: 44px; display: flex; align-items:center; justify-content:center; border-radius: 12px; background: var(--apx-gold-soft); color: var(--apx-gold); font-size: 17px; margin-bottom: 27px; }
.apx-confidence-card h3 { font-size: 16px; margin-bottom: 10px; }
.apx-confidence-card p { color: #737373; font-size: 12px; line-height: 1.8; }
.apx-news-section { background: #fff; }
.apx-news-card { display: block; background: #faf9f7; border-radius: 17px; padding: 28px; min-height: 220px; color: #222!important; position: relative; margin-bottom: 20px; }
.apx-news-card:hover { transform: translateY(-3px); box-shadow: var(--apx-shadow-soft); }
.apx-news-date { color: var(--apx-gold); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.apx-news-card h3 { font-size: 19px; margin: 10px 0; }
.apx-news-card p { color: #777; font-size: 12px; line-height: 1.75; }
.apx-home-cta { padding: 65px 0; background: var(--apx-canvas); }
.apx-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; background: #fff; border-radius: 20px; padding: 38px 42px; box-shadow: var(--apx-shadow-soft); }
.apx-cta-inner h2 { margin: 7px 0 0; font-size: 29px; }
.apx-cta-actions { display: flex; gap: 9px; }

/* Authentication */
body.apx-page-login .apx-main-body,
body.apx-page-password-reset-container .apx-main-body,
body.apx-page-pwreset .apx-main-body { background: #eceae7; }
body.apx-page-login .apx-main-body > .container,
body.apx-page-password-reset-container .apx-main-body > .container,
body.apx-page-pwreset .apx-main-body > .container { padding-top: 46px; padding-bottom: 60px; }
.apx-auth-shell { max-width: 1100px; margin: 0 auto; border-radius: 24px; overflow: hidden; background: #fff; box-shadow: 0 25px 65px rgba(0,0,0,.10); }
.apx-auth-row { display: flex; margin: 0; min-height: 590px; }
.apx-auth-row > div { float: none; }
.apx-auth-brand-panel { background: linear-gradient(145deg, #070707, #1a140b); color: #fff; padding: 0; position: relative; overflow: hidden; }
.apx-auth-brand-panel:after { content:""; position:absolute; width:360px; height:360px; border-radius:50%; border:1px solid rgba(255,255,255,.08); right:-160px; bottom:-100px; box-shadow:0 0 0 65px rgba(255,255,255,.02),0 0 0 130px rgba(255,255,255,.012); }
.apx-auth-brand-inner { padding: 55px 48px; position: relative; z-index: 2; height: 100%; }
body.apx-theme .apx-auth-brand-inner h1 { color: #fff; font-size: 37px; line-height: 1.17; margin: 18px 0 15px; font-weight: 600; letter-spacing: -.02em; }
.apx-auth-brand-inner > p { color: rgba(255,255,255,.62); font-size: 12px; line-height: 1.8; max-width: 470px; }
.apx-auth-benefits { margin-top: 42px; display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.apx-auth-benefits > div { display: flex; gap: 12px; align-items: flex-start; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.06); border-radius: 12px; padding: 14px; }
.apx-auth-benefits i { color: #d4aa61; margin-top: 3px; }
.apx-auth-benefits strong { color: #fff; display: block; font-size: 12px; font-weight: 600; }
.apx-auth-benefits small { display: block; color: rgba(255,255,255,.48); font-size: 12px; margin-top: 3px; line-height: 1.45; }
.apx-auth-brand-foot { position: absolute; bottom: 42px; left: 48px; display: flex; gap: 20px; color: rgba(255,255,255,.48); font-size: 12px; }
.apx-auth-brand-foot i { color: #c99b4e; margin-right: 5px; }
.apx-auth-form-panel { padding: 0; background: #fff; }
.apx-auth-form-wrap { max-width: 430px; margin: 0 auto; padding: 62px 40px 44px; }
body.apx-theme .apx-auth-heading h2 { font-size: 31px; margin: 8px 0 9px; font-weight: 600; }
.apx-auth-heading > p { color: #777; font-size: 12px; line-height: 1.7; margin-bottom: 28px; }
.apx-login-options { display: flex; justify-content: space-between; margin: 2px 0 20px; color: #555; font-size: 12px; }
.apx-auth-divider { margin: 27px 0 20px; height: 1px; background: #ece9e4; position: relative; text-align: center; }
.apx-auth-divider span { position: relative; top: -10px; background: #fff; color: #a1a1a1; font-size: 12px; padding: 0 12px; }
.apx-auth-help { margin-top: 25px; padding-top: 20px; border-top: 1px solid #efefef; }
.apx-auth-help p { color: #858585; font-size: 12px; margin: 5px 0; }
.apx-auth-help a { font-weight: 600; }
.apx-auth-shell-compact { max-width: 560px; background: transparent; overflow: visible; box-shadow: none; }
.apx-auth-compact-card { background: #fff; border-radius: 20px; padding: 42px; box-shadow: var(--apx-shadow); }
.apx-auth-icon { margin: 0 auto 20px; width: 58px; height: 58px; display:flex; align-items:center; justify-content:center; border-radius: 17px; background: var(--apx-gold-soft); color: var(--apx-gold); font-size: 20px; }
.apx-message-copy { color: #6f6f6f; font-size: 12px; }

/* Registration / account forms */
.apx-registration-shell { max-width: 1040px; margin: 0 auto; }
.apx-registration-intro { max-width: 720px; margin-bottom: 28px; }
.apx-registration-intro h1 { font-size: 36px; line-height: 1.2; margin: 9px 0 10px; }
.apx-registration-intro p { color: #777; font-size: 12px; line-height: 1.75; }
.apx-register-disabled { background: #fff; border-radius: 20px; padding: 55px 40px; text-align: center; box-shadow: var(--apx-shadow-soft); }
.apx-empty-icon { margin: 0 auto 18px; width: 56px; height: 56px; border-radius: 16px; display:flex; align-items:center; justify-content:center; background: var(--apx-gold-soft); color: var(--apx-gold); font-size: 20px; }
.apx-register-disabled h3 { font-size: 21px; }
.apx-register-disabled p { color: #737373; max-width: 520px; margin: 0 auto 20px; font-size: 12px; }
.apx-form-card { background: #fff; border-radius: 18px; padding: 27px; margin-bottom: 18px; box-shadow: var(--apx-shadow-soft); }
.apx-form-card-compact { padding: 20px 24px; }
.apx-form-card-heading { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 23px; padding-bottom: 17px; border-bottom: 1px solid #efefef; }
.apx-step-number { width: 36px; height: 36px; border-radius: 10px; background: var(--apx-gold-soft); color: var(--apx-gold); display:flex; align-items:center; justify-content:center; font-size: 12px; font-weight: 800; flex: 0 0 auto; }
.apx-form-card-heading h3 { font-size: 16px; margin: 0 0 3px; }
.apx-form-card-heading p { margin: 0; color: #888; font-size: 12px; }
.apx-security-question-row { margin-top: 18px; padding-top: 18px; border-top: 1px solid #eee; }
.apx-password-strength-wrap .progress { height: 7px; border-radius: 10px; background: #eee; box-shadow: none; margin: 6px 0; }
.apx-password-strength-wrap p { font-size: 12px; margin: 0; }
.apx-marketing-optin > span { font-size: 12px; }
.apx-terms-card { background: #fffaf1; border: 1px solid #efe0c0; border-radius: 13px; padding: 17px 18px; margin-bottom: 20px; font-size: 12px; }
.apx-register-submit { text-align: center; padding: 7px 0 10px; }
.apx-register-submit p { color: #888; font-size: 12px; margin-top: 12px; }
.apx-profile-card { background: #fff; border-radius: 18px; box-shadow: var(--apx-shadow-soft); overflow: hidden; }
.apx-profile-card-header { padding: 28px 30px; border-bottom: 1px solid #eee; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.apx-profile-card-header h2 { margin: 6px 0 5px; font-size: 25px; }
.apx-profile-card-header p { margin: 0; color: #777; font-size: 12px; }
.apx-profile-icon { width: 52px; height: 52px; border-radius: 15px; background: var(--apx-gold-soft); color: var(--apx-gold); display:flex; align-items:center; justify-content:center; font-size: 19px; flex: 0 0 auto; }
.apx-profile-form { padding: 28px 30px 31px; }
.apx-form-section { margin-bottom: 23px; }
.apx-form-section > h3 { font-size: 14px; margin: 0 0 17px; padding-bottom: 10px; border-bottom: 1px solid #eee; }
.apx-account-preferences { margin-top: 8px; padding-top: 23px; border-top: 1px solid #eaeaea; }
.apx-form-actions { display: flex; gap: 9px; padding-top: 4px; }

/* Footer */
.apx-footer { background: #0b0b0b; color: rgba(255,255,255,.58); padding: 54px 0 0; }
.apx-footer-main { padding-bottom: 38px; }
.apx-footer-brand { color: #fff; font-size: 22px; font-weight: 800; letter-spacing: -.03em; margin-bottom: 10px; }
.apx-footer-copy { font-size: 12px; line-height: 1.8; max-width: 420px; }
.apx-footer h4 { color: #fff; font-size: 12px; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 15px; }
.apx-footer ul { list-style: none; margin: 0; padding: 0; }
.apx-footer li { margin-bottom: 8px; }
.apx-footer a { color: rgba(255,255,255,.58)!important; font-size: 12px; }
.apx-footer a:hover { color: #d1a45a!important; }
.apx-footer-bottom { border-top: 1px solid rgba(255,255,255,.09); padding: 18px 0; display: flex; align-items: center; justify-content: space-between; }
.apx-footer-bottom p { margin: 0; font-size: 12px; }
.apx-back-to-top { width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.16); border-radius: 9px; display:flex!important; align-items:center; justify-content:center; position: static!important; }

/* Reveal interaction */
.apx-reveal { opacity: 0; transform: translateY(14px); transition: opacity .55s ease, transform .55s ease; }
.apx-reveal.apx-visible { opacity: 1; transform: translateY(0); }
.no-js .apx-reveal { opacity: 1; transform: none; }

/* Modal */
body.apx-theme .modal-content { border: 0; border-radius: 18px; overflow: hidden; box-shadow: 0 25px 70px rgba(0,0,0,.22); }
body.apx-theme .modal-header.panel-heading { background: var(--apx-black); color: #fff; }
body.apx-theme .modal-header .modal-title { color: #fff; }

/* Responsive */
@media (max-width: 1199px) {
    .apx-home-hero h1 { font-size: 46px; }
    .apx-visual-main-card { left: 25px; width: 320px; }
    .apx-floating-card-two { right: -15px; }
}
@media (max-width: 991px) {
    body.apx-theme .container { width: calc(100% - 30px); }
    .apx-header-inner { min-height: 72px; }
    .navbar-main .navbar-collapse { background: #0b0b0b; border-top: 1px solid rgba(255,255,255,.10); box-shadow: none; }
    .navbar-main .navbar-nav { margin: 0; }
    .navbar-main .navbar-nav > li > a { padding: 12px 5px; }
    .navbar-main .dropdown-menu { box-shadow: none; background: #151515; }
    .navbar-main .navbar-nav .open .dropdown-menu > li > a { color: rgba(255,255,255,.72); padding-left: 18px; }
    .apx-hero-grid,
    .apx-service-intro { display: block; }
    .apx-home-hero { min-height: auto; padding: 65px 0; }
    .apx-home-hero h1 { font-size: 44px; max-width: 720px; }
    .apx-service-list { margin-top: 36px; }
    .apx-portal-features { margin-top: 35px; }
    .apx-auth-row { display: block; min-height: 0; }
    .apx-auth-form-wrap { max-width: 520px; }
    .apx-cta-inner { align-items: flex-start; flex-direction: column; }
    .apx-cta-actions { width: 100%; }
    .apx-cta-actions .btn { flex: 1; }
}
@media (max-width: 767px) {
    body.apx-theme { font-size: 13px; }
    body.apx-theme .container { width: calc(100% - 24px); }
    .apx-header-inner { min-height: 66px; }
    .apx-logo img { max-height: 38px; max-width: 140px; }
    .apx-utility-nav { gap: 2px; }
    .apx-utility-link { padding: 8px; }
    .apx-home-hero { padding: 52px 0; }
    .apx-home-hero h1 { font-size: 35px; }
    .apx-hero-copy { font-size: 13px; }
    .apx-domain-search-card { padding: 14px; }
    .apx-domain-input-wrap { display: block; }
    .apx-domain-input-wrap .apx-btn { width: 100%; margin-top: 9px; }
    .apx-trust-row { gap: 14px 20px; }
    .apx-home-section { padding: 56px 0; }
    .apx-section-heading { display: block; }
    .apx-section-heading h2 { font-size: 29px; margin-bottom: 13px; }
    .apx-service-intro h2 { font-size: 31px; }
    .apx-service-row { grid-template-columns: 34px 1fr 20px; gap: 10px; padding: 18px; }
    .apx-portal-card { padding: 34px 25px; }
    .apx-portal-card h2 { font-size: 29px; }
    .apx-portal-features { grid-template-columns: 1fr; }
    .apx-portal-actions { display: block; }
    .apx-portal-actions .btn { width: 100%; margin-bottom: 9px; }
    .apx-cta-inner { padding: 29px 24px; }
    .apx-cta-inner h2 { font-size: 25px; }
    .apx-cta-actions { display: block; }
    .apx-cta-actions .btn { width: 100%; margin-top: 8px; }
    .apx-auth-shell { border-radius: 18px; }
    .apx-auth-form-wrap { padding: 38px 24px 34px; }
    body.apx-theme .apx-auth-heading h2 { font-size: 27px; }
    .apx-auth-compact-card { padding: 32px 23px; }
    .apx-registration-intro h1 { font-size: 29px; }
    .apx-form-card { padding: 21px 18px; }
    .apx-profile-card-header { padding: 23px 20px; }
    .apx-profile-form { padding: 22px 20px; }
    .apx-profile-icon { display: none; }
    .apx-footer { padding-top: 42px; }
    .apx-footer-main > div { margin-bottom: 22px; }
}
@media (max-width: 480px) {
    .apx-home-hero h1 { font-size: 31px; }
    .apx-section-heading h2 { font-size: 26px; }
    .apx-trust-row { display: grid; grid-template-columns: 1fr 1fr; }
    .apx-product-card { min-height: 290px; }
    .apx-form-actions { display: block; }
    .apx-form-actions .btn { width: 100%; margin-bottom: 8px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *:before, *:after { scroll-behavior: auto!important; animation-duration: .01ms!important; animation-iteration-count: 1!important; transition-duration: .01ms!important; }
    .apx-reveal { opacity: 1; transform: none; }
}

/* Testimonials */
.apx-testimonials-section { background: #111; }
.apx-testimonials-section .apx-section-heading h2 { color: #fff; }
.apx-testimonial-card { position: relative; min-height: 270px; padding: 29px; border-radius: 18px; background: #1a1a1a; border: 1px solid rgba(255,255,255,.07); margin-bottom: 20px; }
.apx-quote-mark { color: #c99b4e; font-size: 56px; line-height: .8; font-family: Georgia, serif; margin-bottom: 20px; }
.apx-testimonial-card > p { color: rgba(255,255,255,.68); font-size: 12px; line-height: 1.9; }
.apx-testimonial-person { position: absolute; left: 29px; right: 29px; bottom: 27px; border-top: 1px solid rgba(255,255,255,.08); padding-top: 15px; }
.apx-testimonial-person strong { display: block; color: #fff; font-size: 12px; }
.apx-testimonial-person span { display: block; color: #b58a44; font-size: 12px; margin-top: 3px; }

/* Security and account state pages */
.apx-two-factor-challenge { margin: 22px 0; text-align: center; }
.apx-two-factor-challenge input { max-width: 280px; margin: 0 auto; }
.apx-backup-code-title { font-size: 15px; margin: 22px 0 13px; }
.apx-state-card { max-width: 720px; margin: 18px auto; padding: 48px 38px; background: #fff; border-radius: 20px; box-shadow: var(--apx-shadow-soft); }
.apx-state-icon { width: 60px; height: 60px; margin: 0 auto 19px; border-radius: 17px; display:flex; align-items:center; justify-content:center; background: var(--apx-gold-soft); color: var(--apx-gold); font-size: 20px; }
.apx-state-success { background: #edf8f2; color: var(--apx-success); }
.apx-state-warning { background: #fff6e2; color: #9b6a14; }
.apx-state-danger { background: #fff0f0; color: var(--apx-danger); }
.apx-state-card h1 { font-size: 30px; margin: 8px 0 10px; }
.apx-state-card > p { color: #747474; font-size: 12px; max-width: 560px; margin: 0 auto 18px; }
.apx-permissions-box { max-width: 480px; margin: 20px auto; padding: 18px 21px; border-radius: 12px; background: #f7f6f4; color: #555; font-size: 12px; }
.apx-permissions-box ul { margin: 10px 0 0 18px; padding: 0; }
.apx-state-actions { display: flex; justify-content: center; gap: 8px; margin-top: 20px; }
@media(max-width:600px){.apx-state-actions{display:block}.apx-state-actions .btn{width:100%;margin-bottom:8px}}

/* ============================================================
   Phase 02 — Client Dashboard + Services
   ============================================================ */
.apx-client-dashboard { padding: 6px 0 26px; }
.apx-dashboard-welcome {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 30px 32px;
    margin-bottom: 20px;
    border-radius: 20px;
    background:
        radial-gradient(circle at 92% 10%, rgba(153,101,21,.17), transparent 28%),
        linear-gradient(135deg, #101010 0%, #171513 100%);
    color: #fff;
    overflow: hidden;
    position: relative;
}
.apx-dashboard-welcome:after {
    content: "";
    position: absolute;
    right: -95px;
    bottom: -145px;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.06);
    box-shadow: 0 0 0 42px rgba(255,255,255,.015), 0 0 0 84px rgba(255,255,255,.01);
    pointer-events: none;
}
.apx-dashboard-welcome-copy,
.apx-dashboard-welcome-actions { position: relative; z-index: 1; }
.apx-dashboard-welcome-copy { max-width: 650px; }
.apx-dashboard-welcome h1 { color: #fff; font-size: 30px; line-height: 1.2; font-weight: 600; margin: 8px 0 9px; }
.apx-dashboard-welcome p { margin: 0; max-width: 620px; color: rgba(255,255,255,.66); font-size: 12px; line-height: 1.75; }
.apx-dashboard-welcome-actions { display: flex; gap: 8px; flex-shrink: 0; }
.apx-dashboard-welcome-actions .apx-btn-outline { color: #fff!important; border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.03); }
.apx-dashboard-welcome-actions .apx-btn-outline:hover { background: #fff; border-color: #fff; color: #111!important; }

.apx-dashboard-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 20px; }
.apx-dashboard-stat {
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 92px;
    padding: 17px;
    background: #fff;
    border: 1px solid #ece9e4;
    border-radius: 16px;
    color: #222!important;
    box-shadow: 0 8px 28px rgba(25,20,13,.035);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.apx-dashboard-stat:hover { transform: translateY(-2px); border-color: rgba(153,101,21,.32); box-shadow: 0 14px 34px rgba(25,20,13,.075); color: #222!important; }
.apx-dashboard-stat-icon { width: 42px; height: 42px; border-radius: 12px; background: #f6f1e8; color: var(--apx-gold); display: flex; align-items: center; justify-content: center; font-size: 15px; flex: 0 0 42px; }
.apx-dashboard-stat-copy { display: flex; flex-direction: column; min-width: 0; }
.apx-dashboard-stat-copy strong { font-size: 24px; line-height: 1.05; font-weight: 600; color: #111; }
.apx-dashboard-stat-copy span { margin-top: 5px; color: #777; font-size: 12px; }
.apx-dashboard-stat-arrow { margin-left: auto; color: #bbb; font-size: 12px; transition: transform .2s ease, color .2s ease; }
.apx-dashboard-stat:hover .apx-dashboard-stat-arrow { color: var(--apx-gold); transform: translateX(2px); }

.apx-dashboard-grid { margin-bottom: 6px; }
.apx-dashboard-card {
    height: calc(100% - 20px);
    min-height: 315px;
    margin-bottom: 20px;
    padding: 24px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #ece9e4;
    box-shadow: 0 8px 28px rgba(25,20,13,.035);
}
.apx-dashboard-card-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 18px; }
.apx-dashboard-card h2 { font-size: 20px; line-height: 1.3; font-weight: 600; margin: 6px 0 0; color: #171717; }
.apx-quick-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.apx-quick-action {
    display: grid;
    grid-template-columns: 38px minmax(0,1fr) 14px;
    align-items: center;
    gap: 11px;
    min-height: 86px;
    padding: 13px 14px;
    border-radius: 13px;
    background: #faf9f7;
    border: 1px solid #efede9;
    color: #222!important;
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.apx-quick-action:hover { background: #fff; border-color: rgba(153,101,21,.35); transform: translateY(-1px); color: #222!important; }
.apx-quick-action-icon { width: 38px; height: 38px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: #fff; color: var(--apx-gold); border: 1px solid #eee9df; }
.apx-quick-action strong { display: block; margin-bottom: 3px; color: #222; font-size: 12px; font-weight: 600; }
.apx-quick-action small { display: block; color: #838383; font-size: 12px; line-height: 1.45; }
.apx-quick-action > i { color: #bdbdbd; font-size: 12px; }

.apx-dashboard-help { background: #f4efe7; border-color: #eee2cf; }
.apx-dashboard-help-icon { display: flex; width: 42px; height: 42px; border-radius: 12px; align-items: center; justify-content: center; margin-bottom: 18px; background: #fff; color: var(--apx-gold); box-shadow: 0 5px 15px rgba(92,61,12,.06); }
.apx-dashboard-help p { color: #6f685e; font-size: 12px; line-height: 1.7; margin: 8px 0 16px; }
.apx-dashboard-search-wrap { position: relative; display: flex; align-items: center; padding: 5px; border-radius: 12px; background: #fff; border: 1px solid #e4d9c9; }
.apx-dashboard-search-wrap > i { position: absolute; left: 16px; color: #999; z-index: 2; }
body.apx-theme .apx-dashboard-search-wrap .form-control { height: 40px; padding-left: 37px; padding-right: 8px; border: 0; box-shadow: none; background: transparent; }
.apx-dashboard-search-wrap .apx-btn { min-width: 40px; width: 40px; height: 40px; min-height: 40px; padding: 0; border-radius: 9px; }
.apx-dashboard-text-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; color: #54493a!important; font-size: 12px; font-weight: 500; }
.apx-dashboard-text-link:hover { color: var(--apx-gold)!important; }

.apx-dashboard-addon { margin: 0 0 20px; }
.apx-client-home-panels { margin-top: 2px; }
.apx-dashboard-panel {
    overflow: hidden;
    margin-bottom: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid #ece9e4;
    box-shadow: 0 7px 25px rgba(25,20,13,.03);
}
.apx-dashboard-panel-heading { min-height: 62px; padding: 15px 17px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid #f0eeeb; }
.apx-dashboard-panel-title { display: flex; align-items: center; gap: 9px; min-width: 0; }
.apx-dashboard-panel-title h3 { margin: 0; color: #1b1b1b; font-size: 12px; line-height: 1.35; font-weight: 600; }
.apx-dashboard-panel-icon { display: flex; width: 30px; height: 30px; align-items: center; justify-content: center; border-radius: 9px; background: #f6f1e8; color: var(--apx-gold); font-size: 12px; }
.apx-dashboard-panel-link { flex-shrink: 0; color: var(--apx-gold)!important; font-size: 12px; font-weight: 600; }
.apx-dashboard-panel-body { padding: 16px 17px; color: #686868; font-size: 12px; line-height: 1.7; }
.apx-dashboard-panel-list { display: block; }
.apx-dashboard-panel-item { min-height: 52px; padding: 12px 16px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-top: 1px solid #f1f0ee; color: #4c4c4c!important; font-size: 12px; transition: background .18s ease, color .18s ease; }
.apx-dashboard-panel-item:hover { background: #faf8f5; color: #181818!important; }
.apx-dashboard-panel-item-main { display: flex; align-items: center; gap: 9px; min-width: 0; }
.apx-dashboard-panel-item-main > i { width: 16px; color: #a6a6a6; text-align: center; }
.apx-dashboard-panel-item-end { display: flex; align-items: center; gap: 9px; }
.apx-dashboard-panel-item-end > i { color: #c5c5c5; font-size: 12px; }
.apx-dashboard-panel-footer { padding: 11px 16px; border-top: 1px solid #f1f0ee; background: #fafafa; color: #777; font-size: 12px; }
.apx-dashboard-panel .badge { background: #eee7dc; color: #75501b; font-weight: 600; }

/* Services list */
.apx-page-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin: 4px 0 20px; padding: 0 2px; }
.apx-page-intro > div { max-width: 680px; }
.apx-page-intro h2 { margin: 5px 0 6px; color: #181818; font-size: 27px; line-height: 1.25; font-weight: 600; }
.apx-page-intro p { margin: 0; color: #777; font-size: 12px; line-height: 1.7; }
.apx-table-card { overflow: hidden; border-radius: 17px; background: #fff; border: 1px solid #ece9e4; box-shadow: 0 8px 28px rgba(25,20,13,.035); }
.apx-table-card-heading { padding: 18px 20px 15px; border-bottom: 1px solid #efeeeb; }
.apx-table-card-heading h3 { margin: 0 0 3px; color: #1d1d1d; font-size: 13px; font-weight: 600; }
.apx-table-card-heading p { margin: 0; color: #868686; font-size: 12px; }
.apx-table-card .table-container { padding: 0; }
body.apx-theme .apx-services-table { margin: 0; }
body.apx-theme .apx-services-table > thead > tr > th { padding: 12px 14px; background: #faf9f7; font-size: 12px; font-weight: 600; }
body.apx-theme .apx-services-table > tbody > tr > td { padding: 15px 14px; border-top: 1px solid #f0eeeb; }
.apx-service-table-row { cursor: pointer; transition: background .16s ease; }
.apx-service-table-row:hover { background: #fcfaf7; }
.apx-service-security-col { width: 56px; }
.apx-service-security img { max-width: 25px; max-height: 25px; }
.apx-service-default-icon { display: inline-flex; width: 31px; height: 31px; align-items: center; justify-content: center; border-radius: 9px; background: #f5f1ea; color: var(--apx-gold); }
.apx-service-name-cell strong { display: block; color: #222; font-size: 12px; font-weight: 600; }
.apx-service-name-cell a { display: inline-block; margin-top: 4px; color: #8a6a3b!important; font-size: 12px; }
.apx-service-name-cell a i { margin-right: 3px; font-size: 12px; }
.apx-service-billing-cell strong { display: block; color: #252525; font-size: 12px; font-weight: 600; }
.apx-service-billing-cell span { display: block; margin-top: 2px; color: #999; font-size: 12px; }
.apx-service-due-date { color: #555; font-size: 12px; }
body.apx-theme .apx-services-table .status { display: inline-block; min-width: 72px; padding: 5px 9px; border-radius: 20px; font-size: 12px; letter-spacing: .02em; text-transform: none; }
.apx-table-loading { padding: 28px; color: #888; font-size: 12px; }
.apx-table-card .dataTables_wrapper { padding: 15px 18px 5px; }
.apx-table-card .dataTables_wrapper .dataTables_filter input,
.apx-table-card .dataTables_wrapper .dataTables_length select { border: 1px solid #dfdcd7; border-radius: 9px; background: #fff; padding: 6px 9px; height: 34px; font-size: 12px; }
.apx-table-card .dataTables_wrapper .dataTables_filter label,
.apx-table-card .dataTables_wrapper .dataTables_length label,
.apx-table-card .dataTables_wrapper .dataTables_info { color: #777; font-size: 12px; font-weight: 500; }
.apx-empty-state { padding: 62px 25px; text-align: center; border-radius: 18px; background: #fff; border: 1px solid #ece9e4; box-shadow: 0 8px 28px rgba(25,20,13,.035); }
.apx-empty-state-icon { display: flex; width: 58px; height: 58px; align-items: center; justify-content: center; margin: 0 auto 17px; border-radius: 16px; background: #f5f0e8; color: var(--apx-gold); font-size: 19px; }
.apx-empty-state h3 { margin: 0 0 7px; color: #1d1d1d; font-size: 18px; font-weight: 600; }
.apx-empty-state p { max-width: 480px; margin: 0 auto 18px; color: #777; font-size: 12px; line-height: 1.7; }

/* Active-service widgets used by WHMCS dashboard panels */
.apx-active-service-item { display: grid!important; grid-template-columns: 36px minmax(0,1fr) auto auto; align-items: center; gap: 11px; min-height: 67px; padding: 12px 14px!important; border-bottom: 1px solid #f0eeeb!important; background: #fff; }
.apx-active-service-item:last-child { border-bottom: 0!important; }
.apx-active-service-icon { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: #f6f1e8; color: var(--apx-gold); }
.apx-active-service-name { min-width: 0; }
.apx-active-service-product { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #292929; font-size: 12px; font-weight: 600; }
.apx-active-service-name .text-domain { display: block; margin-top: 3px; color: #999; font-size: 12px; }
.apx-active-service-status .label { font-size: 12px; }
.apx-active-service-buttons { display: flex; align-items: center; gap: 5px; }
.apx-active-service-buttons .btn { border-radius: 8px; font-size: 12px; }
.apx-service-view-button { display: inline-flex!important; align-items: center; gap: 6px; }

/* Product/service details */
.apx-page-clientareaproductdetails .product-details { padding: 0; margin-bottom: 20px; background: transparent; border: 0; }
.apx-page-clientareaproductdetails .product-details > .row { display: flex; align-items: stretch; margin-left: -7px; margin-right: -7px; }
.apx-page-clientareaproductdetails .product-details > .row > [class*="col-"] { padding-left: 7px; padding-right: 7px; }
.apx-page-clientareaproductdetails .product-status { min-height: 230px; height: 100%; border: 1px solid #ece8e2; border-radius: 18px; background: #fff; box-shadow: 0 8px 28px rgba(25,20,13,.035); overflow: hidden; }
.apx-page-clientareaproductdetails .product-status .product-icon { padding: 35px 22px 25px; }
.apx-page-clientareaproductdetails .product-status .fa-stack { color: var(--apx-gold); }
.apx-page-clientareaproductdetails .product-status h3 { margin: 14px 0 4px; color: #171717; font-size: 20px; font-weight: 600; }
.apx-page-clientareaproductdetails .product-status h4 { margin: 0; color: #888; font-size: 12px; font-weight: 500; }
.apx-page-clientareaproductdetails .product-status-text { padding: 9px 12px; font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.apx-page-clientareaproductdetails .product-details > .row > .col-md-6.text-center { min-height: 230px; padding: 24px!important; text-align: left!important; border: 1px solid #ece8e2; border-radius: 18px; background: #fff; box-shadow: 0 8px 28px rgba(25,20,13,.035); column-count: 2; column-gap: 28px; }
.apx-page-clientareaproductdetails .product-details > .row > .col-md-6.text-center h4 { break-after: avoid; margin: 0 0 4px; color: #999; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .07em; }
.apx-page-clientareaproductdetails .product-details > .row > .col-md-6.text-center h4:not(:first-child) { margin-top: 16px; }
.apx-page-clientareaproductdetails .product-details .btn-success { background: var(--apx-gold); border-color: var(--apx-gold); }
.apx-page-clientareaproductdetails .product-details .btn-danger,
.apx-btn-danger { background: #fff; border: 1px solid #d7b3b3; color: #8f3f3f!important; }
.apx-page-clientareaproductdetails .product-details .btn-danger:hover,
.apx-btn-danger:hover { background: #8f3f3f; border-color: #8f3f3f; color: #fff!important; }
.apx-page-clientareaproductdetails .nav-tabs-overflow { margin-top: 8px; padding: 5px; border: 1px solid #eae6df; border-radius: 13px; background: #f7f5f1; }
.apx-page-clientareaproductdetails .nav-tabs > li { margin: 0 3px 0 0; }
.apx-page-clientareaproductdetails .nav-tabs > li > a { border: 0!important; border-radius: 9px; color: #696969; font-size: 12px; font-weight: 500; padding: 9px 12px; }
.apx-page-clientareaproductdetails .nav-tabs > li.active > a,
.apx-page-clientareaproductdetails .nav-tabs > li.active > a:hover { background: #fff; color: #1e1e1e; box-shadow: 0 3px 11px rgba(0,0,0,.055); }
.apx-page-clientareaproductdetails .product-details-tab-container { margin-top: 12px; padding: 24px; border: 1px solid #ece8e2; border-radius: 17px; background: #fff; box-shadow: 0 8px 28px rgba(25,20,13,.03); }
.apx-page-clientareaproductdetails .product-details-tab-container .row { padding: 7px 0; border-bottom: 1px solid #f1f0ed; }
.apx-page-clientareaproductdetails .product-details-tab-container .row:last-child { border-bottom: 0; }
.apx-page-clientareaproductdetails .product-details-tab-container strong { color: #4f4f4f; font-size: 12px; font-weight: 600; }
.apx-page-clientareaproductdetails .module-client-area { padding: 3px; }
.apx-page-clientareaproductdetails #tabDownloads > h3 { font-size: 18px; font-weight: 600; }

/* Usage billing */
.apx-usage-intro { margin-bottom: 12px; }
.apx-usage-intro p { margin: 5px 0 0; color: #777; font-size: 12px; line-height: 1.7; }
.apx-usage-card { box-shadow: none; }
body.apx-theme .apx-usage-table { margin: 0; }
body.apx-theme .apx-usage-table th { padding: 12px 14px; background: #faf9f7; font-size: 12px; font-weight: 600; }
body.apx-theme .apx-usage-table td { padding: 14px; font-size: 12px; }
.apx-metric-name { color: #333; font-weight: 600; }
.apx-metric-value { color: var(--apx-gold); font-size: 12px; font-weight: 600; }
.apx-muted-inline { color: #8d8d8d; font-size: 12px; }

/* Cancellation */
.apx-cancel-page { max-width: 820px; margin: 0 auto; }
.apx-cancel-card { overflow: hidden; margin-top: 4px; border-radius: 18px; background: #fff; border: 1px solid #ece9e4; box-shadow: 0 8px 28px rgba(25,20,13,.035); }
.apx-cancel-service-summary { display: flex; align-items: center; gap: 12px; padding: 18px 20px; background: #faf8f5; border-bottom: 1px solid #ece9e4; }
.apx-cancel-service-icon { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; flex: 0 0 40px; border-radius: 11px; background: #fff; color: var(--apx-gold); border: 1px solid #eee6da; }
.apx-cancel-service-summary span:not(.apx-cancel-service-icon) { display: block; margin-bottom: 2px; color: #9a9a9a; font-size: 12px; text-transform: uppercase; letter-spacing: .07em; }
.apx-cancel-service-summary strong { display: block; color: #242424; font-size: 12px; font-weight: 600; }
.apx-cancel-service-summary small { display: block; margin-top: 2px; color: #888; font-size: 12px; }
.apx-cancel-form { padding: 22px 20px; }
.apx-cancel-domain-box { margin: 16px 0; padding: 16px; border: 1px solid #e9e4dc; border-radius: 13px; background: #fbfaf8; }
.apx-cancel-domain-copy { display: flex; gap: 12px; margin-bottom: 13px; }
.apx-cancel-domain-copy > i { color: var(--apx-gold); margin-top: 2px; }
.apx-cancel-domain-copy strong { font-size: 12px; font-weight: 600; color: #333; }
.apx-cancel-domain-copy p { margin: 4px 0 0; color: #777; font-size: 12px; line-height: 1.65; }
.apx-cancel-warning { display: flex; gap: 9px; align-items: flex-start; margin: 18px 0; padding: 12px 13px; border-radius: 11px; background: #fff8ea; color: #765822; font-size: 12px; line-height: 1.6; }
.apx-cancel-warning i { margin-top: 2px; }
.apx-cancel-actions { justify-content: flex-end; }
.apx-cancel-state { max-width: 650px; }

/* Upgrade flow — preserves WHMCS logic while modernising the existing markup */
.apx-page-upgrade .main-content > p,
.apx-page-upgrade-configure .main-content > p,
.apx-page-upgradesummary .main-content > p { color: #707070; font-size: 12px; line-height: 1.7; }
.apx-page-upgrade .main-content > .table,
.apx-page-upgradesummary .main-content > .table,
.apx-page-upgrade-configure .main-content > form,
.apx-page-upgrade .main-content > form { border-radius: 16px; overflow: hidden; background: #fff; border: 1px solid #ebe8e3; box-shadow: 0 8px 28px rgba(25,20,13,.03); }
.apx-page-upgrade .main-content > .table td,
.apx-page-upgradesummary .main-content > .table td { padding: 15px; }
.apx-page-upgrade .main-content > .table strong,
.apx-page-upgradesummary .main-content > .table strong { font-weight: 600; }
.apx-page-upgrade .products .product,
.apx-page-upgrade .products .product header,
.apx-page-upgrade .products .product .footer { border-color: #e8e4de; }
.apx-page-upgrade .products .product { border-radius: 15px; overflow: hidden; box-shadow: 0 8px 25px rgba(25,20,13,.035); }
.apx-page-upgrade .products .product header h4 { font-weight: 600; }
.apx-page-upgrade .products .product .btn { background: var(--apx-gold); border-color: var(--apx-gold); color: #fff; border-radius: 9px; }
.apx-page-upgradesummary .masspay-total td { background: #faf8f5; font-weight: 600; }

@media (max-width: 991px) {
    .apx-dashboard-welcome { align-items: flex-start; }
    .apx-dashboard-welcome-actions { flex-direction: column; min-width: 165px; }
    .apx-dashboard-stats { grid-template-columns: 1fr 1fr; }
    .apx-dashboard-card { min-height: 0; }
    .apx-page-clientareaproductdetails .product-details > .row { display: block; }
    .apx-page-clientareaproductdetails .product-details > .row > .col-md-6 { margin-bottom: 12px; }
}
@media (max-width: 767px) {
    .apx-dashboard-welcome { display: block; padding: 24px 20px; }
    .apx-dashboard-welcome h1 { font-size: 25px; }
    .apx-dashboard-welcome-actions { display: flex; flex-direction: row; margin-top: 18px; min-width: 0; }
    .apx-dashboard-welcome-actions .btn { flex: 1; }
    .apx-dashboard-stats { grid-template-columns: 1fr 1fr; gap: 10px; }
    .apx-dashboard-stat { min-height: 82px; padding: 13px; }
    .apx-dashboard-stat-icon { width: 36px; height: 36px; flex-basis: 36px; }
    .apx-dashboard-stat-copy strong { font-size: 20px; }
    .apx-quick-actions { grid-template-columns: 1fr; }
    .apx-page-intro { display: block; }
    .apx-page-intro .btn { margin-top: 14px; }
    .apx-page-intro h2 { font-size: 23px; }
    .apx-active-service-item { grid-template-columns: 36px minmax(0,1fr) auto; }
    .apx-active-service-status { grid-column: 2; }
    .apx-active-service-buttons { grid-column: 2 / 4; justify-content: flex-start; }
    .apx-page-clientareaproductdetails .product-details > .row > .col-md-6.text-center { column-count: 1; }
    .apx-cancel-actions { display: flex; }
}
@media (max-width: 520px) {
    .apx-dashboard-welcome-actions { display: block; }
    .apx-dashboard-welcome-actions .btn { width: 100%; margin-bottom: 8px; }
    .apx-dashboard-stats { grid-template-columns: 1fr; }
    .apx-dashboard-stat { min-height: 72px; }
    .apx-dashboard-card { padding: 19px; }
    .apx-active-service-item { grid-template-columns: 34px minmax(0,1fr); }
    .apx-active-service-status,
    .apx-active-service-buttons { grid-column: 2; }
    .apx-cancel-actions { display: block; }
    .apx-cancel-actions .btn,
    .apx-cancel-actions input { width: 100%; margin-bottom: 8px; }
}

/* ==========================================================
   PHASE 03 — DOMAINS
   ========================================================== */
.apx-domain-intro { align-items: center; }
.apx-domain-intro-actions { display: flex; gap: 9px; flex: 0 0 auto; }
.apx-domain-tools { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 18px; }
.apx-domain-tool {
    min-height: 84px;
    display: grid;
    grid-template-columns: 38px minmax(0,1fr) 12px;
    align-items: center;
    gap: 11px;
    padding: 14px 15px;
    color: #242424!important;
    background: #fff;
    border: 1px solid #ece9e4;
    border-radius: 14px;
    box-shadow: 0 7px 24px rgba(25,20,13,.03);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.apx-domain-tool:hover { transform: translateY(-2px); border-color: rgba(153,101,21,.34); box-shadow: 0 12px 30px rgba(25,20,13,.065); color: #242424!important; }
.apx-domain-tool-icon { width: 38px; height: 38px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: #f5f0e8; color: var(--apx-gold); }
.apx-domain-tool strong { display: block; color: #222; font-size: 12px; line-height: 1.35; font-weight: 600; }
.apx-domain-tool small { display: block; margin-top: 3px; color: #858585; font-size: 12px; line-height: 1.5; font-weight: 400; }
.apx-domain-tool > i { color: #c3c3c3; font-size: 12px; }
.apx-domain-table-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.apx-domain-count { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 20px; background: #f5f0e8; color: #71501d; font-size: 12px; font-weight: 500; white-space: nowrap; }
body.apx-theme .apx-domains-table { margin: 0; }
body.apx-theme .apx-domains-table > thead > tr > th { padding: 11px 12px; background: #faf9f7; border-bottom: 1px solid #ece9e4; color: #737373; font-size: 12px; font-weight: 600; }
body.apx-theme .apx-domains-table > tbody > tr > td { padding: 14px 12px; border-top: 1px solid #f0eeeb; vertical-align: middle; color: #555; font-size: 12px; }
.apx-domain-row { cursor: pointer; transition: background .16s ease; }
.apx-domain-row:hover { background: #fcfaf7; }
.apx-domain-ssl img { max-width: 23px; max-height: 23px; }
.apx-domain-globe { width: 29px; height: 29px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; background: #f5f0e8; color: var(--apx-gold); }
.apx-domain-name-cell a { display: block; color: #222!important; font-size: 12px; font-weight: 600; word-break: break-word; }
.apx-domain-name-cell small { display: block; margin-top: 3px; color: #999; font-size: 12px; font-weight: 400; }
.apx-domain-date { color: #555; }
.apx-domain-renew { display: inline-flex; align-items: center; gap: 5px; color: #767676; font-size: 12px; white-space: nowrap; }
.apx-domain-renew.is-on i { color: #52825f; }
.apx-domain-renew.is-off i { color: #aaa; }
.apx-domain-actions { width: 66px; }
body.apx-theme .apx-domain-actions > .btn { width: 33px; padding-left: 0; padding-right: 0; border-color: #e4e0da; background: #fff; color: #555; }
body.apx-theme .apx-domain-actions > .btn:hover { border-color: rgba(153,101,21,.36); color: var(--apx-gold); }
.apx-domain-actions .dropdown-menu li a i { width: 16px; color: #a17c45; }
.apx-domain-bulkbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 16px; border-top: 1px solid #efeeeb; background: #faf9f7; }
.apx-domain-bulkbar > span { display: flex; align-items: center; gap: 7px; color: #757575; font-size: 12px; }
.apx-domain-bulkbar > span i { color: var(--apx-gold); }

/* Domain detail hero + overview */
.apx-domain-hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 2px 0 18px; padding: 22px 23px; border: 1px solid #e9e5df; border-radius: 18px; background: linear-gradient(135deg,#fff 0%,#fbf8f3 100%); box-shadow: 0 9px 28px rgba(25,20,13,.04); }
.apx-domain-hero-main { display: flex; align-items: center; gap: 14px; min-width: 0; }
.apx-domain-hero-icon { width: 48px; height: 48px; flex: 0 0 48px; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: #15120d; color: #c69445; font-size: 17px; }
.apx-domain-hero h2 { margin: 4px 0 5px; color: #181818; font-size: 24px; line-height: 1.2; font-weight: 600; word-break: break-word; }
.apx-domain-hero-meta { display: flex; flex-wrap: wrap; gap: 11px 16px; color: #777; font-size: 12px; }
.apx-domain-hero-meta span { display: inline-flex; align-items: center; gap: 5px; }
.apx-domain-hero-meta i { color: #a77a36; }
.apx-domain-hero-actions { display: flex; gap: 8px; flex-shrink: 0; }
.apx-domain-tab-content > .tab-pane { padding-top: 2px; }
.apx-domain-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin: 18px 0 12px; }
.apx-domain-section-heading h3 { margin: 4px 0 0; color: #202020; font-size: 16px; line-height: 1.3; font-weight: 600; }
.apx-domain-status-dot { display: inline-flex; align-items: center; gap: 5px; color: #777; font-size: 12px; }
.apx-domain-status-dot i { color: #b2b2b2; font-size: 12px; }
.apx-domain-status-dot.is-active i { color: #4e9d62; }
.apx-domain-meta-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; }
.apx-domain-meta-card { min-height: 88px; display: flex; align-items: center; gap: 11px; padding: 14px; border: 1px solid #ece8e2; border-radius: 14px; background: #fff; box-shadow: 0 6px 20px rgba(25,20,13,.025); }
.apx-domain-meta-icon { width: 36px; height: 36px; flex: 0 0 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: #f5f0e8; color: var(--apx-gold); font-size: 12px; }
.apx-domain-meta-card small { display: block; color: #969696; font-size: 12px; line-height: 1.3; text-transform: uppercase; letter-spacing: .055em; }
.apx-domain-meta-card strong { display: block; margin-top: 4px; color: #292929; font-size: 12px; line-height: 1.35; font-weight: 600; }
.apx-domain-meta-card > div > span { display: block; margin-top: 2px; color: #929292; font-size: 12px; }
.apx-domain-ssl-card { margin-top: 12px; padding: 17px; border: 1px solid #e6e1da; border-radius: 15px; background: #fff; }
.apx-domain-ssl-heading { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 11px; }
.apx-domain-ssl-icon { width: 38px; height: 38px; border-radius: 11px; display: flex; align-items: center; justify-content: center; background: #edf7f0; color: #4d8259; }
.apx-domain-ssl-card.is-inactive .apx-domain-ssl-icon { background: #f7eeee; color: #a26060; }
.apx-domain-ssl-heading h3 { margin: 3px 0 0; color: #222; font-size: 13px; font-weight: 600; }
.apx-domain-ssl-status { display: flex; align-items: center; gap: 6px; color: #555; font-size: 12px; }
.apx-domain-ssl-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-top: 14px; padding-top: 13px; border-top: 1px solid #f0eeea; }
.apx-domain-ssl-grid small { display: block; color: #999; font-size: 12px; }
.apx-domain-ssl-grid strong { display: block; margin-top: 3px; color: #333; font-size: 12px; font-weight: 500; }
.apx-domain-module-output, .apx-domain-hook-output { margin-top: 12px; padding: 14px; border: 1px solid #ece9e4; border-radius: 13px; background: #fff; }
.apx-domain-actions-heading { margin-top: 22px; }
.apx-domain-action-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.apx-domain-action-card { display: grid; grid-template-columns: 38px minmax(0,1fr) 12px; align-items: center; gap: 11px; min-height: 82px; padding: 13px 14px; border: 1px solid #ece8e2; border-radius: 13px; background: #fff; color: #222!important; transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.apx-domain-action-card:hover { transform: translateY(-1px); border-color: rgba(153,101,21,.34); background: #fdfbf8; color: #222!important; }
.apx-domain-action-card > span { width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: #f5f0e8; color: var(--apx-gold); }
.apx-domain-action-card strong { display: block; color: #292929; font-size: 12px; font-weight: 600; }
.apx-domain-action-card small { display: block; margin-top: 3px; color: #8c8c8c; font-size: 12px; line-height: 1.45; font-weight: 400; }
.apx-domain-action-card > i { color: #c8c8c8; font-size: 12px; }

/* Settings tabs */
.apx-domain-settings-pane { padding: 6px 0 0; }
.apx-domain-setting-card { padding: 20px; border: 1px solid #eae6df; border-radius: 17px; background: #fff; box-shadow: 0 8px 26px rgba(25,20,13,.03); }
.apx-domain-setting-heading { display: flex; align-items: flex-start; gap: 11px; margin-bottom: 16px; }
.apx-domain-setting-heading > span { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: #f5f0e8; color: var(--apx-gold); }
.apx-domain-setting-heading h3 { margin: 0; color: #222; font-size: 14px; line-height: 1.35; font-weight: 600; }
.apx-domain-setting-heading p { margin: 4px 0 0; color: #808080; font-size: 12px; line-height: 1.55; font-weight: 400; }
.apx-domain-toggle-state { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 15px; padding: 14px; border: 1px solid #eeeae4; border-radius: 12px; background: #faf9f7; }
.apx-domain-toggle-state small { color: #777; font-size: 12px; }
.apx-state-pill { display: inline-flex; align-items: center; gap: 5px; padding: 6px 9px; border-radius: 20px; font-size: 12px; font-weight: 500; }
.apx-state-pill.is-on { background: #edf6ef; color: #477754; }
.apx-state-pill.is-off { background: #f5eded; color: #8b5555; }
.apx-domain-setting-actions, .apx-domain-form-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 15px; }
.apx-domain-choice-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin: 14px 0; }
.apx-domain-choice-row label { display: flex; align-items: center; gap: 8px; margin: 0; padding: 11px 12px; border: 1px solid #e9e5df; border-radius: 10px; background: #fbfaf8; color: #555; font-size: 12px; font-weight: 400; cursor: pointer; }
.apx-domain-choice-row label input { margin: 0; }
.apx-domain-fields { max-width: 680px; margin: 18px auto 0; }
.apx-domain-form .control-label { padding-top: 9px; color: #5f5f5f; font-size: 12px; font-weight: 500; }
.apx-domain-addon-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.apx-domain-addon-card { display: flex; gap: 12px; padding: 15px; border: 1px solid #ece8e2; border-radius: 13px; background: #fbfaf8; }
.apx-domain-addon-icon { width: 38px; height: 38px; flex: 0 0 38px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: #fff; color: var(--apx-gold); border: 1px solid #eee8de; }
.apx-domain-addon-card h4 { margin: 0 0 5px; color: #2d2d2d; font-size: 12px; font-weight: 600; }
.apx-domain-addon-card p { margin: 0 0 10px; color: #7f7f7f; font-size: 12px; line-height: 1.55; font-weight: 400; }
.apx-domain-addon-card form { margin: 0; }

/* Domain tool subpages */
.apx-domain-subpage { margin-top: 3px; }
.apx-domain-subpage-heading { display: flex; align-items: flex-start; gap: 13px; margin: 3px 0 18px; padding: 20px; border: 1px solid #e9e5df; border-radius: 17px; background: linear-gradient(135deg,#fff,#fbf8f3); box-shadow: 0 8px 26px rgba(25,20,13,.03); }
.apx-domain-subpage-icon { width: 44px; height: 44px; flex: 0 0 44px; display: flex; align-items: center; justify-content: center; border-radius: 12px; background: #15120d; color: #c69445; font-size: 14px; }
.apx-domain-subpage-heading h2 { margin: 4px 0 5px; color: #202020; font-size: 21px; line-height: 1.25; font-weight: 600; }
.apx-domain-subpage-heading p { margin: 0; max-width: 680px; color: #777; font-size: 12px; line-height: 1.65; font-weight: 400; }
.apx-domain-data-form { overflow: hidden; margin-top: 14px; border: 1px solid #e9e6e1; border-radius: 15px; background: #fff; box-shadow: 0 7px 24px rgba(25,20,13,.025); }
.apx-domain-data-table-wrap { overflow-x: auto; }
body.apx-theme .apx-domain-data-table { margin: 0; min-width: 640px; }
body.apx-theme .apx-domain-data-table th { padding: 11px 12px; border: 0; background: #faf9f7; color: #777; font-size: 12px; font-weight: 600; }
body.apx-theme .apx-domain-data-table td { padding: 10px 12px; border-top: 1px solid #f0eeea; vertical-align: middle; font-size: 12px; }
body.apx-theme .apx-domain-data-table .form-control { height: 34px; border-radius: 8px; font-size: 12px; }
.apx-domain-new-record { background: #fdfbf8; }
.apx-domain-na { color: #aaa; font-size: 12px; }
.apx-domain-data-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 14px; border-top: 1px solid #efede9; background: #faf9f7; }
.apx-domain-data-form-footer > span { color: #888; font-size: 12px; }
.apx-domain-data-form-footer > span i { margin-right: 4px; color: var(--apx-gold); }
.apx-domain-data-form-footer-end { justify-content: flex-end; }
.apx-domain-external-tool { margin-top: 14px; padding: 20px; border: 1px solid #e9e5df; border-radius: 15px; background: #fff; text-align: center; }
.apx-forward-arrow { white-space: nowrap; color: #888; font-size: 12px; }
.apx-forward-arrow span { margin-right: 6px; }
.apx-forward-arrow i { color: #b18a50; }

/* EPP */
.apx-epp-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 14px; padding: 17px 18px; border: 1px solid #e4ddd2; border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(25,20,13,.03); }
.apx-epp-copy span { display: block; margin-bottom: 5px; color: #929292; font-size: 12px; letter-spacing: .055em; text-transform: uppercase; }
.apx-epp-copy code { display: block; color: #262626; background: transparent; font-size: 13px; font-family: Consolas, monospace; word-break: break-all; }
.apx-domain-security-note { display: flex; align-items: flex-start; gap: 9px; margin-top: 10px; padding: 12px 13px; border-radius: 11px; background: #fff8ea; color: #735a2c; font-size: 12px; line-height: 1.55; }
.apx-domain-security-note i { margin-top: 2px; color: #a8772d; }
.apx-copy-success { background: #15120d!important; border-color: #15120d!important; }

/* Child nameservers */
.apx-ns-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.apx-ns-card { box-shadow: none; }
.apx-ns-delete-card { grid-column: 1 / -1; }
.apx-ns-card .form-group { margin: 0 0 12px; }
.apx-ns-card .form-group > label, .apx-domain-inline-domain-field > label { display: block; margin-bottom: 5px; color: #666; font-size: 12px; font-weight: 500; }
.apx-domain-inline-domain-field { margin-bottom: 12px; }
.apx-domain-inline-domain-field > div { display: flex; align-items: center; }
.apx-domain-inline-domain-field input { border-radius: 9px 0 0 9px!important; }
.apx-domain-inline-domain-field span { height: 38px; display: flex; align-items: center; padding: 0 11px; border: 1px solid #ddd8d0; border-left: 0; border-radius: 0 9px 9px 0; background: #faf9f7; color: #777; font-size: 12px; white-space: nowrap; }

/* Domain add-on confirmation */
.apx-domain-addon-confirm-form { max-width: 760px; margin: 0 auto; }
.apx-domain-addon-confirm-card { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px 18px; padding: 18px; border: 1px solid #e9e5df; border-radius: 14px; background: #fff; }
.apx-domain-addon-confirm-card > span { grid-column: 1; color: #969696; font-size: 12px; text-transform: uppercase; letter-spacing: .055em; }
.apx-domain-addon-confirm-card > strong { grid-column: 1; color: #252525; font-size: 12px; font-weight: 600; }
.apx-domain-addon-confirm-card > .btn { grid-column: 2; grid-row: 1 / 3; }
.apx-domain-addon-confirm-card > p { grid-column: 1; margin: 6px 0 0; color: #777; font-size: 12px; }
.apx-domain-addon-confirm-card.is-danger { border-color: #ead8d8; background: #fffafa; }
.apx-domain-back-row { margin-top: 12px; }

/* Contact information */
.apx-domain-contact-grid { display: flex; flex-wrap: wrap; }
.apx-domain-contact-grid > [class*="col-"] { display: flex; }
.apx-contact-card { width: 100%; margin-bottom: 14px; padding: 17px; border: 1px solid #e9e5df; border-radius: 15px; background: #fff; box-shadow: 0 6px 20px rgba(25,20,13,.025); }
.apx-contact-card-heading { display: flex; align-items: center; gap: 10px; padding-bottom: 12px; margin-bottom: 12px; border-bottom: 1px solid #efede9; }
.apx-contact-card-heading > span { width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; border-radius: 9px; background: #f5f0e8; color: var(--apx-gold); }
.apx-contact-card-heading small { display: block; color: #a1a1a1; font-size: 12px; letter-spacing: .06em; }
.apx-contact-card-heading h3 { margin: 2px 0 0; color: #292929; font-size: 12px; font-weight: 600; }
.apx-contact-choice { margin-bottom: 11px; }
.apx-contact-choice > label { display: flex; align-items: flex-start; gap: 8px; margin: 0; color: #555; font-weight: 400; cursor: pointer; }
.apx-contact-choice > label input { margin-top: 2px; }
.apx-contact-choice > label strong { display: block; color: #444; font-size: 12px; font-weight: 500; }
.apx-contact-choice > label small { display: block; margin-top: 2px; color: #969696; font-size: 12px; line-height: 1.45; font-weight: 400; }
.apx-contact-existing-select { margin: 8px 0 0 23px; }
.apx-contact-existing-select label, .apx-contact-fields label { color: #686868; font-size: 12px; font-weight: 500; }
.apx-contact-fields { padding-top: 4px; }
.apx-contact-fields .form-group { margin-bottom: 10px; }
.apx-contact-form-actions { padding: 13px 0 0; border-top: 1px solid #efede9; }
.apx-irtp-modal { border-radius: 15px; overflow: hidden; border: 0!important; }

/* Domain pricing */
.apx-domain-pricing-hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 2px 0 20px; padding: 24px; border-radius: 18px; background: #15120d; color: #fff; overflow: hidden; position: relative; }
.apx-domain-pricing-hero:after { content:""; position:absolute; width:210px; height:210px; border:1px solid rgba(198,148,69,.22); border-radius:50%; right:-85px; top:-80px; }
.apx-domain-pricing-hero > div { position: relative; z-index: 1; }
.apx-domain-pricing-hero .apx-eyebrow { color: #c69445; }
.apx-domain-pricing-hero h2 { margin: 5px 0 7px; color: #fff; font-size: 25px; line-height: 1.24; font-weight: 600; }
.apx-domain-pricing-hero p { max-width: 650px; margin: 0; color: rgba(255,255,255,.65); font-size: 12px; line-height: 1.7; }
.apx-domain-pricing-actions { display: flex; gap: 8px; flex-shrink: 0; }
.apx-domain-pricing-hero .apx-btn-outline { border-color: rgba(255,255,255,.22)!important; color: #fff!important; background: rgba(255,255,255,.04)!important; }
.apx-featured-tlds { margin-bottom: 18px; }
.apx-featured-tld { min-height: 130px; margin-bottom: 12px; padding: 15px; border: 1px solid #eae6df; border-radius: 14px; background: #fff; box-shadow: 0 6px 20px rgba(25,20,13,.025); text-align: left; transition: transform .18s ease,border-color .18s ease; }
.apx-featured-tld:hover { transform: translateY(-2px); border-color: rgba(153,101,21,.32); }
.apx-featured-tld .img-container { height: 34px; margin-bottom: 14px; text-align: left; }
.apx-featured-tld .img-container img { max-height: 32px; max-width: 95px; }
.apx-featured-tld-label { display: block; color: #999; font-size: 12px; }
.apx-featured-tld .price { margin-top: 4px; color: #262626; font-size: 12px; font-weight: 600; }
.apx-domain-pricing-card { padding: 18px; border: 1px solid #e9e5df; border-radius: 17px; background: #fff; box-shadow: 0 8px 26px rgba(25,20,13,.03); }
.apx-domain-pricing-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 13px; }
.apx-domain-pricing-toolbar h3 { margin: 4px 0 3px; color: #252525; font-size: 15px; font-weight: 600; }
.apx-domain-pricing-toolbar p { margin: 0; color: #858585; font-size: 12px; }
.apx-domain-currency-form { width: 180px; }
.apx-tld-filters { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 14px; }
body.apx-theme .apx-tld-filters .label { display: inline-flex; align-items: center; gap: 5px; padding: 7px 9px; border-radius: 18px; background: #f3f1ed; color: #686868; font-size: 12px; font-weight: 500; }
body.apx-theme .apx-tld-filters .label span { color: #aaa; }
body.apx-theme .apx-tld-filters .label.label-success { background: #15120d; color: #fff; }
.apx-domain-pricing-card .dataTables_wrapper { padding: 0 0 10px; }
.apx-domain-pricing-table-wrap { overflow-x: auto; }
body.apx-theme .apx-domain-pricing-table { min-width: 780px; margin: 0; }
body.apx-theme .apx-domain-pricing-table th { padding: 11px 10px; background: #faf9f7; color: #777; border-bottom: 1px solid #ebe8e3; font-size: 12px; font-weight: 600; }
body.apx-theme .apx-domain-pricing-table td { padding: 12px 10px; border-top: 1px solid #f0eeea; color: #5c5c5c; font-size: 12px; vertical-align: middle; }
.apx-domain-pricing-table td strong { display: inline-block; color: #2d2d2d; font-size: 12px; font-weight: 600; }
.apx-domain-pricing-table td small { display: block; margin-top: 2px; color: #999; font-size: 12px; }
.apx-tld-name strong { font-size: 12px!important; }
.apx-tld-category { display: inline-flex; padding: 4px 7px; border-radius: 14px; background: #f3f1ed; color: #777; }

/* Bulk domain management */
.apx-bulk-domain-form { padding: 2px 0 8px; }
.apx-bulk-domain-heading { margin-bottom: 14px; }
.apx-bulk-domain-form > p { color: #707070; font-size: 12px; line-height: 1.65; }
.apx-bulk-domain-list { margin: 12px 0; padding: 12px 14px; border-left: 3px solid #b27d2d; border-radius: 0 10px 10px 0; background: #faf8f4; color: #555; font-size: 12px; line-height: 1.7; }
.apx-bulk-domain-form fieldset, .apx-bulk-domain-form .onecol { margin: 12px 0; padding: 16px; border: 1px solid #e9e5df; border-radius: 13px; background: #fff; }
.apx-bulk-domain-form .control-group { margin-bottom: 10px; }
.apx-bulk-domain-form .control-label { display: block; margin-bottom: 4px; color: #636363; font-size: 12px; font-weight: 500; }
.apx-bulk-domain-form input[type="text"], .apx-bulk-domain-form select { width: 100%; max-width: 520px; height: 36px; padding: 7px 10px; border: 1px solid #ddd8d0; border-radius: 8px; background: #fff; color: #333; font-size: 12px; }
.apx-bulk-domain-form h3 { margin: 18px 0 10px; color: #292929; font-size: 13px; font-weight: 600; }

@media (max-width: 991px) {
    .apx-domain-tools { grid-template-columns: 1fr; }
    .apx-domain-meta-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .apx-domain-pricing-hero { align-items: flex-start; }
    .apx-domain-pricing-actions { flex-direction: column; min-width: 170px; }
}
@media (max-width: 767px) {
    .apx-domain-intro-actions { margin-top: 14px; }
    .apx-domain-intro-actions .btn { flex: 1; }
    .apx-domain-table-heading { align-items: flex-start; }
    .apx-domain-hero { display: block; }
    .apx-domain-hero-actions { margin-top: 16px; }
    .apx-domain-hero-actions .btn { flex: 1; }
    .apx-domain-action-grid, .apx-domain-addon-grid, .apx-ns-grid { grid-template-columns: 1fr; }
    .apx-ns-delete-card { grid-column: auto; }
    .apx-domain-ssl-grid { grid-template-columns: 1fr; }
    .apx-domain-pricing-hero { display: block; }
    .apx-domain-pricing-actions { flex-direction: row; margin-top: 16px; min-width: 0; }
    .apx-domain-pricing-actions .btn { flex: 1; }
    .apx-domain-pricing-toolbar { display: block; }
    .apx-domain-currency-form { width: 100%; margin-top: 12px; }
    .apx-epp-card { align-items: flex-start; flex-direction: column; }
    .apx-domain-contact-grid { display: block; }
    .apx-domain-data-form-footer { align-items: flex-start; flex-direction: column; }
    .apx-domain-data-form-footer-end { align-items: flex-end; }
}
@media (max-width: 520px) {
    .apx-domain-intro-actions, .apx-domain-hero-actions, .apx-domain-pricing-actions { display: block; }
    .apx-domain-intro-actions .btn, .apx-domain-hero-actions .btn, .apx-domain-pricing-actions .btn { width: 100%; margin-bottom: 7px; }
    .apx-domain-meta-grid { grid-template-columns: 1fr; }
    .apx-domain-ssl-heading { grid-template-columns: 38px minmax(0,1fr); }
    .apx-domain-ssl-status { grid-column: 2; }
    .apx-domain-choice-row { grid-template-columns: 1fr; }
    .apx-domain-subpage-heading { padding: 16px; }
    .apx-domain-subpage-heading h2 { font-size: 19px; }
    .apx-domain-addon-confirm-card { display: block; }
    .apx-domain-addon-confirm-card > .btn { width: 100%; margin-top: 12px; }
    .apx-domain-bulkbar { align-items: flex-start; flex-direction: column; }
}


/* ==========================================================================\n   APPERTAX PHASE 04 — BILLING, PAYMENTS, ACCOUNT & SECURITY\n   ========================================================================== */
.apx-phase4-shell { margin: 0 0 24px; }
.apx-phase4-content { margin-top: 14px; }
.apx-context-card { display: flex; align-items: center; gap: 15px; margin: 2px 0 16px; padding: 18px 20px; border: 1px solid #e9e4dc; border-radius: 17px; background: linear-gradient(135deg,#fff 0%,#fbf8f3 100%); box-shadow: 0 9px 28px rgba(25,20,13,.035); }
.apx-context-card-compact { padding: 15px 17px; }
.apx-context-icon { width: 44px; height: 44px; flex: 0 0 44px; display: flex; align-items: center; justify-content: center; border-radius: 12px; background: #15120d; color: #c89443; font-size: 14px; }
.apx-context-copy { min-width: 0; flex: 1; }
.apx-context-kicker { display: block; margin-bottom: 3px; color: #a36d1c; font-size: 12px; line-height: 1.2; font-weight: 600; letter-spacing: .095em; text-transform: uppercase; }
.apx-context-copy h3 { margin: 0; color: #1f1f1f; font-size: 18px; line-height: 1.3; font-weight: 600; }
.apx-context-copy p { margin: 4px 0 0; max-width: 720px; color: #777; font-size: 12px; line-height: 1.55; font-weight: 400; }
.apx-context-actions { margin-left: auto; flex-shrink: 0; }
.apx-context-actions .btn { white-space: nowrap; }

.apx-data-card, .apx-form-card { overflow: hidden; border: 1px solid #e9e5df; border-radius: 16px; background: #fff; box-shadow: 0 8px 26px rgba(25,20,13,.03); }
.apx-data-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 16px; border-bottom: 1px solid #efede9; background: #fcfbf9; }
.apx-data-card-heading span { display: block; color: #a47631; font-size: 12px; text-transform: uppercase; letter-spacing: .075em; font-weight: 600; }
.apx-data-card-heading strong { display: block; margin-top: 3px; color: #272727; font-size: 12px; font-weight: 600; }
.apx-data-card-heading small { color: #909090; font-size: 12px; font-weight: 400; }
.apx-data-card-heading small i { margin-right: 4px; color: #b38440; }
.apx-table-wrap { margin: 0!important; }
body.apx-theme .apx-premium-table { margin: 0; }
body.apx-theme .apx-premium-table thead th { padding: 11px 13px; border: 0; border-bottom: 1px solid #e9e6e1; background: #f8f7f5; color: #777; font-size: 12px; font-weight: 600; }
body.apx-theme .apx-premium-table tbody td { padding: 12px 13px; border-top: 1px solid #f0eeea; color: #606060; vertical-align: middle; font-size: 12px; font-weight: 400; }
body.apx-theme .apx-premium-table tbody tr { cursor: pointer; transition: background .18s ease; }
body.apx-theme .apx-premium-table tbody tr:hover { background: #fdfbf8; }
.apx-table-primary { color: #2c2c2c; font-weight: 600; }
.apx-money-value { color: #252525; font-weight: 500; }
.apx-table-loading { padding: 26px; color: #8d8d8d; }

/* DataTables inside Phase 04 */
.apx-phase4-shell .dataTables_wrapper { padding: 13px 15px 14px; }
.apx-phase4-shell .dataTables_wrapper .dataTables_length label,
.apx-phase4-shell .dataTables_wrapper .dataTables_filter label { color: #777; font-size: 12px; font-weight: 400; }
.apx-phase4-shell .dataTables_wrapper .form-control,
.apx-phase4-shell .dataTables_wrapper select,
.apx-phase4-shell .dataTables_wrapper input[type="search"] { height: 32px; padding: 6px 9px; border: 1px solid #ddd8d0; border-radius: 8px; background: #fff; color: #333; font-size: 12px; box-shadow: none; }
.apx-phase4-shell .dataTables_info { color: #929292; font-size: 12px; }
.apx-phase4-shell .pagination > li > a,
.apx-phase4-shell .pagination > li > span { border-color: #e5e1da; color: #555; font-size: 12px; }
.apx-phase4-shell .pagination > .active > a,
.apx-phase4-shell .pagination > .active > span { border-color: #996515; background: #996515; color: #fff; }

/* Generic form and account surfaces */
.apx-phase4-content > form,
.apx-phase4-content > .panel,
.apx-phase4-content > .row > [class*="col-"] > .panel { border: 1px solid #e9e5df; border-radius: 15px; background: #fff; box-shadow: 0 7px 23px rgba(25,20,13,.025); }
.apx-account-shell .apx-phase4-content > form,
.apx-security-shell .apx-phase4-content > form,
.apx-payment-shell .apx-phase4-content > form { padding: 18px; }
.apx-phase4-content h2 { margin: 18px 0 10px; color: #252525; font-size: 16px; font-weight: 600; }
.apx-phase4-content h3 { margin: 16px 0 9px; color: #303030; font-size: 12px; font-weight: 600; }
.apx-phase4-content p { color: #727272; font-size: 12px; line-height: 1.6; font-weight: 400; }
.apx-phase4-content label, .apx-phase4-content .control-label { color: #575757; font-size: 12px; font-weight: 500; }
.apx-phase4-content .form-control { min-height: 36px; border: 1px solid #ddd8d0; border-radius: 9px; background: #fff; color: #2e2e2e; font-size: 12px; box-shadow: none; transition: border-color .18s ease, box-shadow .18s ease; }
.apx-phase4-content .form-control:focus { border-color: rgba(153,101,21,.6); box-shadow: 0 0 0 3px rgba(153,101,21,.08); }
.apx-phase4-content textarea.form-control { min-height: 100px; }
.apx-phase4-content .checkbox label, .apx-phase4-content .radio label, .apx-phase4-content .checkbox-inline, .apx-phase4-content .radio-inline { font-weight: 400; }
.apx-phase4-content .btn { border-radius: 8px; font-size: 12px; font-weight: 500; }
.apx-phase4-content .btn-primary { border-color: #996515; background: #996515; color: #fff; }
.apx-phase4-content .btn-primary:hover, .apx-phase4-content .btn-primary:focus { border-color: #7c5010; background: #7c5010; color: #fff; }
.apx-phase4-content .btn-default { border-color: #ded9d1; background: #fff; color: #444; }
.apx-phase4-content .btn-default:hover { border-color: #c9b48f; background: #faf7f2; color: #2f2f2f; }
.apx-phase4-content .alert { border: 1px solid transparent; border-radius: 11px; box-shadow: none; font-size: 12px; }

/* Account tables, users and payment methods */
.apx-phase4-content > table.table,
.apx-phase4-content #payMethodList { overflow: hidden; margin-top: 13px; border: 1px solid #e8e4de; border-radius: 13px; border-collapse: separate; border-spacing: 0; background: #fff; }
.apx-phase4-content > table.table th,
.apx-phase4-content #payMethodList th { padding: 10px 12px; border: 0; border-bottom: 1px solid #e9e6e1; background: #f8f7f5; color: #777; font-size: 12px; font-weight: 600; }
.apx-phase4-content > table.table td,
.apx-phase4-content #payMethodList td { padding: 12px; border-top: 1px solid #f0eeea; color: #5e5e5e; font-size: 12px; vertical-align: middle; }
.apx-phase4-content #payMethodList td:first-child i { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; background: #f6f1e9; color: #996515; font-size: 13px; }
.apx-phase4-content .label { padding: 5px 7px; border-radius: 12px; font-size: 12px; font-weight: 500; }

/* Contact selector */
.apx-account-shell .alert-block.alert-info { padding: 14px 15px; border: 1px solid #e5ded3; border-radius: 12px; background: #faf7f2; color: #4f4f4f; }
.apx-account-shell .alert-block.alert-info form { margin: 0; }
.apx-account-shell .alert-block.alert-info .form-control { background: #fff; }

/* Permissions */
.apx-page-account-user-permissions .apx-phase4-content form { padding: 18px; }
.apx-page-account-user-permissions .checkbox-inline { display: block; margin: 0 0 7px!important; padding: 11px 12px 11px 34px; border: 1px solid #ece8e2; border-radius: 10px; background: #fbfaf8; line-height: 1.45; }
.apx-page-account-user-permissions .checkbox-inline:hover { border-color: #d8c6aa; background: #fdfbf7; }

/* Add funds */
.apx-funds-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 14px; align-items: start; }
.apx-fund-limits { padding: 8px 15px 14px; }
.apx-fund-limits > div { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 0; border-bottom: 1px solid #f0eeea; }
.apx-fund-limits > div:last-child { border-bottom: 0; }
.apx-fund-limits span { color: #777; font-size: 12px; }
.apx-fund-limits strong { color: #292929; font-size: 12px; font-weight: 600; }
.apx-form-card { padding: 18px; }
.apx-form-card-heading { display: flex; align-items: center; gap: 11px; margin-bottom: 16px; }
.apx-mini-icon { width: 36px; height: 36px; flex: 0 0 36px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: #15120d; color: #c89341; }
.apx-form-card-heading strong { display: block; color: #2b2b2b; font-size: 12px; font-weight: 600; }
.apx-form-card-heading small { display: block; margin-top: 2px; color: #8b8b8b; font-size: 12px; }
.apx-form-note { margin: 14px -18px -18px; padding: 11px 18px; border-top: 1px solid #eeeae4; background: #faf9f7; color: #838383; font-size: 12px; line-height: 1.5; }
.apx-form-note i { margin-right: 5px; color: #a87830; }

/* Mass pay */
.apx-page-masspay .apx-phase4-content form { padding: 0; border: 0; box-shadow: none; }
.apx-page-masspay .apx-phase4-content form > table { overflow: hidden; border: 1px solid #e7e2db; border-radius: 14px; border-collapse: separate; border-spacing: 0; background: #fff; }
.apx-page-masspay .bg-info { background: #f8f4ed!important; color: #5e4a2b; }
.apx-page-masspay .masspay-total td { background: #faf9f7; font-weight: 500; }
.apx-page-masspay .panel { overflow: hidden; border: 1px solid #e7e2db; border-radius: 14px; box-shadow: 0 7px 22px rgba(25,20,13,.025); }
.apx-page-masspay .panel-heading { border: 0; border-bottom: 1px solid #ece8e2; background: #faf9f7; }
.apx-page-masspay .panel-title { font-size: 12px; font-weight: 600; }

/* Two-factor/security state */
.apx-security-shell .twofa-config-link { display: inline-flex; align-items: center; margin: 0 8px 10px 0; padding: 7px 10px; border: 1px solid #e7e3dd; border-radius: 20px; background: #faf9f7; color: #555; font-size: 12px; }
.apx-security-shell .twofa-config-link strong { margin-left: 3px; font-weight: 600; }
.apx-security-shell .btn-success { border-color: #507f5d; background: #507f5d; }
.apx-security-shell .btn-danger { border-color: #9d5b5b; background: #9d5b5b; }

/* Payment manage page */
.apx-page-account-paymentmethods-manage .apx-phase4-content > h3 { display: none; }
.apx-page-account-paymentmethods-manage #frmManagePaymentMethod { padding: 20px; border: 1px solid #e8e4de; border-radius: 15px; background: #fff; box-shadow: 0 8px 25px rgba(25,20,13,.03); }
.apx-page-account-paymentmethods-manage #frmManagePaymentMethod .form-horizontal .control-label,
.apx-page-account-paymentmethods-manage #frmManagePaymentMethod .control-label { padding-top: 9px; }
.apx-page-account-paymentmethods-manage #inputDescription { max-width: 100%!important; width: 100%!important; }
.apx-page-account-paymentmethods-manage .cc-details { padding: 14px; border: 1px solid #ece8e2; border-radius: 12px; background: #fbfaf8; }

/* Switch account */
.apx-page-user-switch-account .apx-phase4-content,
.apx-page-user-switch-account-forced .apx-phase4-content { padding: 4px 0; }

/* Standalone invoice */
body.apx-invoice-page { background: #f2f2f2!important; color: #333; }
.apx-invoice-document { border: 0!important; border-radius: 18px!important; box-shadow: 0 16px 45px rgba(20,16,10,.08)!important; }
.apx-invoice-document .invoice-status { font-weight: 600!important; letter-spacing: .02em; }
.apx-invoice-document .payment-btn-container .btn,
.apx-invoice-document .payment-btn-container input[type="submit"] { border-color: #996515!important; border-radius: 8px!important; background: #996515!important; color: #fff!important; }
.apx-invoice-document table th { background: #f7f4ef!important; color: #555!important; }
.apx-invoice-document td.total-row { background: #faf8f5!important; }

@media (max-width: 991px) {
    .apx-funds-grid { grid-template-columns: 1fr; }
    .apx-context-card { align-items: flex-start; }
}
@media (max-width: 767px) {
    .apx-context-card { display: block; padding: 16px; }
    .apx-context-icon { margin-bottom: 11px; }
    .apx-context-actions { margin: 13px 0 0; }
    .apx-context-actions .btn { width: 100%; }
    .apx-data-card-heading { align-items: flex-start; flex-direction: column; }
    .apx-table-wrap { overflow-x: auto; }
    body.apx-theme .apx-premium-table { min-width: 650px; }
    .apx-phase4-content > table.table, .apx-phase4-content #payMethodList { display: block; overflow-x: auto; white-space: nowrap; }
    .apx-account-shell .apx-phase4-content > form,
    .apx-security-shell .apx-phase4-content > form,
    .apx-payment-shell .apx-phase4-content > form { padding: 14px; }
}

.apx-phase4-shell .form-control.apx-field-attention { border-color: #a45f5f!important; box-shadow: 0 0 0 3px rgba(164,95,95,.08)!important; }

/* Phase 04 pages use their own contextual headings while retaining WHMCS side navigation where present. */
body.apx-page-clientareainvoices .main-content > .header-lined,
body.apx-page-clientareaquotes .main-content > .header-lined,
body.apx-page-clientareaaddfunds .main-content > .header-lined,
body.apx-page-masspay .main-content > .header-lined,
body.apx-page-account-paymentmethods .main-content > .header-lined,
body.apx-page-account-paymentmethods-manage .main-content > .header-lined,
body.apx-page-account-paymentmethods-billing-contacts .main-content > .header-lined,
body.apx-page-clientareadetails .main-content > .header-lined,
body.apx-page-clientareasecurity .main-content > .header-lined,
body.apx-page-user-profile .main-content > .header-lined,
body.apx-page-user-password .main-content > .header-lined,
body.apx-page-user-security .main-content > .header-lined,
body.apx-page-account-contacts-new .main-content > .header-lined,
body.apx-page-account-contacts-manage .main-content > .header-lined,
body.apx-page-account-user-management .main-content > .header-lined,
body.apx-page-account-user-permissions .main-content > .header-lined,
body.apx-page-user-switch-account .main-content > .header-lined,
body.apx-page-user-switch-account-forced .main-content > .header-lined,
body.apx-page-invoice-payment .main-content > .header-lined { display: none; }
