/* ============================================================
   用户中心 · 三套方案样式（cst-2026s 试验主题专用）
   作用域：body.cv-a / body.cv-b / body.cv-c
   ============================================================ */

/* 方案 A 与 C 去掉左侧栏，内容铺满 */
body.cv-a #main-body .row > div:has(> .sidebar),
body.cv-c #main-body .row > div:has(> .sidebar) {
    display: none;
}

body.cv-a .primary-content,
body.cv-c .primary-content {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

/* 隐藏面包屑下方多余空白 */
body.cv-a .master-breadcrumb,
body.cv-b .master-breadcrumb,
body.cv-c .master-breadcrumb {
    margin-bottom: 12px;
}

/* ---------------- 共用：面板基础 ---------------- */
body.cv-a .cv-panels,
body.cv-b .cv-panels,
body.cv-c .cv-panels {
    margin-top: 16px;
}

body.cv-a .cv-panels .card,
body.cv-b .cv-panels .card,
body.cv-c .cv-panels .card {
    margin-bottom: 0;
}

body.cv-a .cv-span,
body.cv-b .cv-span,
body.cv-c .cv-span {
    grid-column: 1 / -1;
}

/* ============================================================
   A · 卡片仪表盘
   ============================================================ */
body.cv-a {
    --a-blue: #0066ff;
    --a-ink: #0d1526;
    --a-muted: #8b98ad;
    --a-line: #eef3fb;
}

body.cv-a .cva-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    padding: 22px 26px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 2px 12px rgba(15, 47, 92, .05);
    margin-bottom: 16px;
}

body.cv-a .cva-hero__left {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

body.cv-a .cva-hero__avatar {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0066ff, #4d8ef0);
    color: #fff;
    font-size: 19px;
    font-weight: 600;
    text-transform: uppercase;
}

body.cv-a .cva-hero__hi {
    margin: 0 0 3px;
    font-size: 20px;
    font-weight: 600;
    color: var(--a-ink);
    line-height: 1.3;
}

body.cv-a .cva-hero__sub {
    margin: 0;
    font-size: 12.5px;
    color: var(--a-muted);
}

body.cv-a .cva-hero__right {
    display: flex;
    align-items: center;
    gap: 10px;
}

body.cv-a .cva-balance {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1px;
    padding-right: 16px;
    margin-right: 4px;
    border-right: 1px solid var(--a-line);
}

body.cv-a .cva-balance__lbl {
    font-size: 11px;
    color: var(--a-muted);
    letter-spacing: .02em;
}

body.cv-a .cva-balance__num {
    font-size: 22px;
    font-weight: 700;
    color: var(--a-ink);
    letter-spacing: -.02em;
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
}

body.cv-a .cva-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    padding: 0 18px;
    border-radius: 11px;
    background: var(--a-blue);
    color: #fff !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    box-shadow: 0 6px 14px rgba(0, 102, 255, .2);
    transition: background-color .15s ease;
}

body.cv-a .cva-btn:hover { background: #0052cc; }

body.cv-a .cva-btn--ghost {
    background: #f4f8ff;
    color: var(--a-blue) !important;
    box-shadow: none;
}

body.cv-a .cva-btn--ghost:hover { background: #e6f0ff; }

body.cv-a .cva-tiles {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 4px;
}

body.cv-a .cva-tile {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    gap: 2px 12px;
    align-items: center;
    padding: 18px 20px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 2px 12px rgba(15, 47, 92, .05);
    text-decoration: none !important;
    transition: transform .15s ease, box-shadow .15s ease;
}

body.cv-a .cva-tile:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(15, 47, 92, .1);
}

body.cv-a .cva-tile__ico {
    grid-row: 1 / span 2;
    width: 38px;
    height: 38px;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
}

body.cv-a .cva-tile__ico--blue { background: #eaf2ff; color: #0066ff; }
body.cv-a .cva-tile__ico--teal { background: #e6f7f4; color: #0d9488; }
body.cv-a .cva-tile__ico--violet { background: #f1ecfe; color: #7c3aed; }
body.cv-a .cva-tile__ico--amber { background: #fff4e5; color: #d97706; }

body.cv-a .cva-tile__num {
    font-size: 24px;
    font-weight: 700;
    color: var(--a-ink);
    line-height: 1.1;
    letter-spacing: -.02em;
    font-variant-numeric: tabular-nums;
}

body.cv-a .cva-tile__lbl {
    font-size: 12.5px;
    color: var(--a-muted);
}

/* A 面板：2 列圆角白卡 */
body.cv-a .cv-panels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

body.cv-a .cv-panels .card {
    background: #fff;
    border: 0 !important;
    border-radius: 18px;
    box-shadow: 0 2px 12px rgba(15, 47, 92, .05);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

body.cv-a .cv-panels .card-header {
    padding: 16px 22px;
    background: #fff !important;
    border-bottom: 1px solid var(--a-line) !important;
}

body.cv-a .cv-panels .card-title {
    font-size: 14.5px;
    font-weight: 600;
    color: var(--a-ink);
    display: flex;
    align-items: center;
    gap: 8px;
}

body.cv-a .cv-panels .card-title > i {
    color: var(--a-blue);
    font-size: 13px;
}

body.cv-a .cv-panels .card-title .float-right { margin-left: auto; }

body.cv-a .cv-panels .btn-xs {
    padding: 4px 12px;
    border: 0;
    border-radius: 8px;
    background: #f4f8ff !important;
    color: var(--a-blue) !important;
    font-size: 12px;
    font-weight: 500;
}

body.cv-a .cv-panels .list-group { border: 0; }

body.cv-a .cv-panels .list-group-item {
    padding: 13px 22px;
    border: 0;
    border-bottom: 1px solid #f5f8fd;
    background: #fff;
    font-size: 13px;
    color: #33415c;
}

body.cv-a .cv-panels .list-group-item:last-child { border-bottom: 0; }
body.cv-a .cv-panels .list-group-item:hover { background: #fafcff; }

body.cv-a .cv-panels .card-body {
    padding: 16px 22px;
    font-size: 13px;
    color: #5c6b82;
}

body.cv-a .cv-panels .card-footer {
    padding: 12px 22px;
    background: #fff !important;
    border-top: 1px solid var(--a-line) !important;
    margin-top: auto;
}

body.cv-a .cv-panels .card-footer:empty { display: none; }

/* ============================================================
   B · 侧栏工作台
   ============================================================ */
body.cv-b {
    --b-blue: #0066ff;
    --b-ink: #0d1526;
    --b-muted: #8b98ad;
    --b-line: #e9eef7;
}

body.cv-b .cvb-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding: 16px 22px;
    background: #fff;
    border: 1px solid var(--b-line);
    border-radius: 12px;
    margin-bottom: 12px;
}

body.cv-b .cvb-head__title h1 {
    margin: 0 0 2px;
    font-size: 18px;
    font-weight: 600;
    color: var(--b-ink);
}

body.cv-b .cvb-head__title p {
    margin: 0;
    font-size: 12.5px;
    color: var(--b-muted);
}

body.cv-b .cvb-head__bal {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 12px;
    color: var(--b-muted);
}

body.cv-b .cvb-head__bal b {
    font-size: 20px;
    font-weight: 700;
    color: var(--b-ink);
    font-variant-numeric: tabular-nums;
}

body.cv-b .cvb-head__bal a {
    margin-left: 6px;
    padding: 4px 12px;
    border-radius: 7px;
    background: #f4f8ff;
    color: var(--b-blue);
    font-size: 12px;
    font-weight: 500;
    text-decoration: none;
}

body.cv-b .cvb-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: #fff;
    border: 1px solid var(--b-line);
    border-radius: 12px;
    margin-bottom: 12px;
    overflow: hidden;
}

body.cv-b .cvb-strip__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1px;
    padding: 14px 8px;
    border-right: 1px solid var(--b-line);
    text-decoration: none !important;
    transition: background-color .15s ease;
}

body.cv-b .cvb-strip__item:last-child { border-right: 0; }
body.cv-b .cvb-strip__item:hover { background: #fafcff; }

body.cv-b .cvb-strip__item b {
    font-size: 20px;
    font-weight: 700;
    color: var(--b-ink);
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
}

body.cv-b .cvb-strip__item span {
    font-size: 12px;
    color: var(--b-muted);
}

/* B 面板：单列 + 左侧强调条 */
body.cv-b .cv-panels {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
}

body.cv-b .cv-panels .card {
    background: #fff;
    border: 1px solid var(--b-line) !important;
    border-left: 3px solid var(--b-blue) !important;
    border-radius: 10px;
    overflow: hidden;
}

body.cv-b .cv-panels .card-header {
    padding: 12px 18px;
    background: #f8fafd !important;
    border-bottom: 1px solid var(--b-line) !important;
}

body.cv-b .cv-panels .card-title {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--b-ink);
}

body.cv-b .cv-panels .list-group-item {
    padding: 11px 18px;
    border: 0;
    border-bottom: 1px solid #f2f6fb;
    background: #fff;
    font-size: 12.5px;
    color: #33415c;
}

body.cv-b .cv-panels .list-group-item:last-child { border-bottom: 0; }

body.cv-b .cv-panels .card-footer {
    padding: 10px 18px;
    background: #fff !important;
    border-top: 1px solid var(--b-line) !important;
}

body.cv-b .cv-panels .card-footer:empty { display: none; }

/* B 侧栏强化 */
body.cv-b .sidebar .card {
    border: 1px solid var(--b-line);
    border-radius: 12px;
    box-shadow: none;
    overflow: hidden;
    margin-bottom: 12px;
}

body.cv-b .sidebar .card-header {
    padding: 12px 16px;
    background: #fff !important;
    border-bottom: 1px solid var(--b-line) !important;
    font-size: 13px;
    font-weight: 600;
    color: var(--b-ink);
}

body.cv-b .sidebar .list-group-item {
    padding: 10px 16px;
    border: 0;
    border-bottom: 1px solid #f5f8fd;
    font-size: 12.5px;
}

body.cv-b .sidebar .list-group-item:last-child { border-bottom: 0; }

/* ============================================================
   C · 数据控制台
   ============================================================ */
body.cv-c {
    --c-blue: #0066ff;
    --c-ink: #0d1526;
    --c-muted: #8b98ad;
    --c-line: #e6ebf3;
}

body.cv-c .cvc-bar {
    display: flex;
    align-items: center;
    gap: 22px;
    flex-wrap: wrap;
    padding: 12px 18px;
    background: #fff;
    border: 1px solid var(--c-line);
    border-radius: 6px;
    margin-bottom: 14px;
}

body.cv-c .cvc-bar__who {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-right: 20px;
    border-right: 1px solid var(--c-line);
}

body.cv-c .cvc-bar__name {
    font-size: 14px;
    font-weight: 600;
    color: var(--c-ink);
}

body.cv-c .cvc-bar__tag {
    padding: 1px 7px;
    border-radius: 3px;
    background: #eef3fb;
    font-size: 10.5px;
    color: #6b7c96;
}

body.cv-c .cvc-metrics {
    display: flex;
    align-items: center;
    gap: 0;
}

body.cv-c .cvc-metric {
    display: flex;
    align-items: baseline;
    gap: 6px;
    padding: 0 18px;
    border-right: 1px solid var(--c-line);
    text-decoration: none !important;
}

body.cv-c .cvc-metric:last-child { border-right: 0; }

body.cv-c .cvc-metric__num {
    font-size: 18px;
    font-weight: 700;
    color: var(--c-blue);
    font-variant-numeric: tabular-nums;
}

body.cv-c .cvc-metric__lbl {
    font-size: 11.5px;
    color: var(--c-muted);
}

body.cv-c .cvc-balance {
    display: flex;
    align-items: baseline;
    gap: 7px;
    margin-left: auto;
    font-size: 11.5px;
    color: var(--c-muted);
}

body.cv-c .cvc-balance b {
    font-size: 16px;
    font-weight: 700;
    color: var(--c-ink);
    font-variant-numeric: tabular-nums;
}

body.cv-c .cvc-balance a {
    padding: 3px 10px;
    border: 1px solid var(--c-line);
    border-radius: 4px;
    color: var(--c-blue);
    font-size: 11.5px;
    text-decoration: none;
}

/* C 面板：2 列，表格感，无阴影 */
body.cv-c .cv-panels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

body.cv-c .cv-panels .card {
    background: #fff;
    border: 1px solid var(--c-line) !important;
    border-radius: 6px;
    box-shadow: none;
    overflow: hidden;
}

body.cv-c .cv-panels .card-header {
    padding: 10px 16px;
    background: #fafbfd !important;
    border-bottom: 1px solid var(--c-line) !important;
}

body.cv-c .cv-panels .card-title {
    font-size: 12px;
    font-weight: 600;
    color: #5c6b82;
    letter-spacing: .02em;
    display: flex;
    align-items: center;
    gap: 7px;
}

body.cv-c .cv-panels .card-title > i { color: var(--c-muted); font-size: 11px; }

body.cv-c .cv-panels .card-title .float-right { margin-left: auto; }

body.cv-c .cv-panels .btn-xs {
    padding: 2px 9px;
    border: 1px solid var(--c-line);
    border-radius: 4px;
    background: #fff !important;
    color: var(--c-blue) !important;
    font-size: 11px;
    font-weight: 500;
}

body.cv-c .cv-panels .list-group-item {
    padding: 10px 16px;
    border: 0;
    border-bottom: 1px solid #f4f7fc;
    background: #fff;
    font-size: 12.5px;
    color: #33415c;
    line-height: 1.5;
}

body.cv-c .cv-panels .list-group-item:last-child { border-bottom: 0; }
body.cv-c .cv-panels .list-group-item:hover { background: #f8fafd; }

body.cv-c .cv-panels .card-body {
    padding: 12px 16px;
    font-size: 12.5px;
    color: #5c6b82;
}

body.cv-c .cv-panels .card-footer {
    padding: 9px 16px;
    background: #fff !important;
    border-top: 1px solid var(--c-line) !important;
}

body.cv-c .cv-panels .card-footer:empty { display: none; }

/* ---------------- 响应式 ---------------- */
@media (max-width: 991.98px) {
    body.cv-a .cva-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.cv-a .cv-panels,
    body.cv-c .cv-panels { grid-template-columns: minmax(0, 1fr); }

    body.cv-a .cva-hero__right {
        width: 100%;
        justify-content: space-between;
    }

    body.cv-c .cvc-bar { gap: 14px; }
    body.cv-c .cvc-bar__who { border-right: 0; padding-right: 0; }
    body.cv-c .cvc-balance { margin-left: 0; }
}

@media (max-width: 575.98px) {
    body.cv-a .cva-tiles { grid-template-columns: minmax(0, 1fr); }
    body.cv-b .cvb-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.cv-b .cvb-strip__item:nth-child(2) { border-right: 0; }
    body.cv-b .cvb-strip__item:nth-child(-n+2) { border-bottom: 1px solid var(--b-line); }
    body.cv-c .cvc-metric { padding: 0 12px; }
}

/* ============================================================
   修正：面板头部按钮位置（DOM 里按钮在标题前，flex 下需手动后置）
   ============================================================ */
body.cv-a .cv-panels .card-title .float-right,
body.cv-b .cv-panels .card-title .float-right,
body.cv-c .cv-panels .card-title .float-right {
    order: 2;
    margin-left: auto;
    float: none !important;
}

/* 面板内“注册域名”表单：去掉主题的深蓝底与绿色按钮 */
body.cv-a .cv-panels .input-group,
body.cv-b .cv-panels .input-group,
body.cv-c .cv-panels .input-group {
    background: none !important;
    display: flex;
    gap: 8px;
    padding: 12px 16px !important;
    margin: 0 !important;
    align-items: stretch;
}

body.cv-a .cv-panels .input-group .form-control,
body.cv-b .cv-panels .input-group .form-control,
body.cv-c .cv-panels .input-group .form-control {
    height: 40px;
    border: 1px solid #e2e8f2;
    border-radius: 9px;
    font-size: 13px;
    box-shadow: none;
    background: #fff;
}

body.cv-a .cv-panels .input-group .btn,
body.cv-b .cv-panels .input-group .btn,
body.cv-c .cv-panels .input-group .btn {
    height: 40px;
    padding: 0 18px;
    border: 0 !important;
    border-radius: 9px !important;
    background: #0066ff !important;
    background-image: none !important;
    color: #fff !important;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

/* A：卡片阴影再强一点，层次更清楚 */
body.cv-a .cv-panels .card {
    box-shadow: 0 3px 16px rgba(15, 47, 92, .07);
}

/* 面板标题自身被主题刷成深蓝底，统一压回透明 */
body.cv-a .cv-panels .card-title,
body.cv-b .cv-panels .card-title,
body.cv-c .cv-panels .card-title {
    background: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

body.cv-a .cv-panels .card-title { color: #0d1526 !important; }
body.cv-b .cv-panels .card-title { color: #0d1526 !important; }
body.cv-c .cv-panels .card-title { color: #5c6b82 !important; }

/* 注册域名卡是表单，放到最后并占整行 */
body.cv-a .cv-panels > .card[menuItemName="Register a New Domain"],
body.cv-c .cv-panels > .card[menuItemName="Register a New Domain"] {
    order: 9;
    grid-column: 1 / -1;
}

body.cv-a .cv-panels > .card[menuItemName="Register a New Domain"] .card-header,
body.cv-c .cv-panels > .card[menuItemName="Register a New Domain"] .card-header {
    display: none;
}

body.cv-a .cv-panels > .card[menuItemName="Register a New Domain"] .card-body,
body.cv-c .cv-panels > .card[menuItemName="Register a New Domain"] .card-body {
    padding: 6px 0 2px;
}

/* 域名卡标题保留（用户需要知道输入框用途），只恢复常规样式 */
body.cv-a .cv-panels > .card[menuItemName="Register a New Domain"] .card-header,
body.cv-c .cv-panels > .card[menuItemName="Register a New Domain"] .card-header {
    display: block;
}

body.cv-a .cv-panels > .card[menuItemName="Register a New Domain"] .card-body,
body.cv-c .cv-panels > .card[menuItemName="Register a New Domain"] .card-body {
    padding: 0;
}

/* 输入框加占位提示色，避免空白框无法识别 */
body.cv-a .cv-panels .input-group .form-control::placeholder { color: #a8b3c4; }

/* B / C 的面板标题也需要 flex，否则按钮会被 float 挤到标题上方 */
body.cv-b .cv-panels .card-title,
body.cv-c .cv-panels .card-title {
    display: flex;
    align-items: center;
    gap: 8px;
}

body.cv-b .cv-panels .card-title > i,
body.cv-c .cv-panels .card-title > i {
    flex: 0 0 auto;
}

/* ============================================================
   服务条目（我的服务）：状态徽章 + 名称 + 操作按钮，改成一行栅格
   ============================================================ */
body.cv-a .div-service-item,
body.cv-b .div-service-item,
body.cv-c .div-service-item {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 14px;
    padding: 14px 22px;
    border-bottom: 1px solid #f2f6fb;
}

body.cv-a .div-service-item:last-child,
body.cv-b .div-service-item:last-child,
body.cv-c .div-service-item:last-child {
    border-bottom: 0;
}

body.cv-a .div-service-item .label-placeholder,
body.cv-b .div-service-item .label-placeholder,
body.cv-c .div-service-item .label-placeholder {
    display: none !important;
}

body.cv-a .div-service-item .div-service-status .label,
body.cv-b .div-service-item .div-service-status .label,
body.cv-c .div-service-item .div-service-status .label {
    display: inline-block;
    position: static !important;
    padding: 2px 8px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.6;
    white-space: nowrap;
}

body.cv-a .div-service-name,
body.cv-b .div-service-name,
body.cv-c .div-service-name {
    min-width: 0;
    font-size: 13px;
    line-height: 1.6;
}

body.cv-a .div-service-name .text-domain,
body.cv-b .div-service-name .text-domain,
body.cv-c .div-service-name .text-domain {
    display: inline-block;
    margin-left: 8px;
    font-size: 11.5px;
    color: #8b98ad;
}

body.cv-a .div-service-buttons .btn,
body.cv-b .div-service-buttons .btn,
body.cv-c .div-service-buttons .btn {
    height: 30px;
    padding: 0 12px;
    font-size: 12px;
    border-radius: 8px;
}

/* 手机端统计卡保持两列，避免四项堆成一长条 */
@media (max-width: 575.98px) {
    body.cv-a .cva-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.cv-a .cva-tile { padding: 14px 14px; gap: 2px 10px; }
    body.cv-a .cva-tile__num { font-size: 20px; }
    body.cv-a .cva-hero { padding: 18px 18px; }
    body.cv-a .cva-hero__hi { font-size: 17px; }
}

/* ============================================================
   D · 企业级云平台控制台
   蓝白配色 + 侧边导航 + 指标卡 + 图表 + 列表
   ============================================================ */
body.cv-home #main-body .row > div:has(> .sidebar) {
    display: none;
}

body.cv-home .primary-content {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

body.cv-d .cvd-shell {
    display: grid;
    grid-template-columns: 226px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

/* ---------- 侧边导航 ---------- */
body.cv-d .cvd-nav {
    position: sticky;
    top: 88px;
    padding: 14px 12px 12px;
    background: #fff;
    border: 1px solid #e8eef8;
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(15, 47, 92, .04);
}

body.cv-d .cvd-nav__brand {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 8px 14px;
    margin-bottom: 6px;
    border-bottom: 1px solid #f0f4fb;
}

body.cv-d .cvd-nav__logo {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0066ff, #4d8ef0);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
}

body.cv-d .cvd-nav__brandtxt b {
    display: block;
    font-size: 13.5px;
    font-weight: 600;
    color: #0d1526;
    line-height: 1.35;
}

body.cv-d .cvd-nav__brandtxt i {
    display: block;
    font-style: normal;
    font-size: 10.5px;
    color: #98a6bd;
}

body.cv-d .cvd-nav__grp {
    display: block;
    padding: 11px 10px 4px;
    font-size: 10px;
    color: #a3b0c4;
    letter-spacing: .08em;
}

body.cv-d .cvd-nav__item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 10px;
    border-radius: 9px;
    font-size: 13px;
    color: #41506b;
    text-decoration: none !important;
    transition: background-color .15s ease, color .15s ease;
}

body.cv-d .cvd-nav__item > i {
    flex: 0 0 15px;
    width: 15px;
    text-align: center;
    font-size: 12.5px;
    color: #7d8ca6;
}

body.cv-d .cvd-nav__item > em {
    margin-left: auto;
    padding: 0 7px;
    border-radius: 20px;
    background: #eaf2ff;
    color: #0066ff;
    font-style: normal;
    font-size: 11px;
    font-weight: 600;
    line-height: 17px;
}

body.cv-d .cvd-nav__item > em.is-warn {
    background: #fff4e5;
    color: #d97706;
}

body.cv-d .cvd-nav__item:hover {
    background: #f5f9ff;
    color: #0066ff;
}

body.cv-d .cvd-nav__item:hover > i { color: #0066ff; }

body.cv-d .cvd-nav__item.is-active {
    background: #eaf2ff;
    color: #0066ff;
    font-weight: 600;
}

body.cv-d .cvd-nav__item.is-active > i { color: #0066ff; }

body.cv-d .cvd-nav__item.is-active::before {
    content: "";
    position: absolute;
    left: -12px;
    top: 8px;
    bottom: 8px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: #0066ff;
}

body.cv-d .cvd-nav__out {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 10px;
    padding: 10px;
    border-top: 1px solid #f0f4fb;
    font-size: 12.5px;
    color: #98a6bd;
    text-decoration: none !important;
}

body.cv-d .cvd-nav__out:hover { color: #e2574c; }

/* ---------- 内容区顶部 ---------- */
body.cv-d .cvd-main { min-width: 0; }

body.cv-d .cvd-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

body.cv-d .cvd-head__txt h1 {
    margin: 0 0 4px;
    font-size: 22px;
    font-weight: 600;
    color: #0d1526;
    letter-spacing: -.01em;
    line-height: 1.25;
}

body.cv-d .cvd-head__txt p {
    margin: 0;
    font-size: 12.5px;
    color: #8b98ad;
}

body.cv-d .cvd-head__act {
    display: flex;
    gap: 10px;
}

body.cv-d .cvd-btn {
    display: inline-flex;
    align-items: center;
    height: 38px;
    padding: 0 18px;
    border-radius: 10px;
    background: #0066ff;
    color: #fff !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    box-shadow: 0 6px 14px rgba(0, 102, 255, .2);
    transition: background-color .15s ease;
}

body.cv-d .cvd-btn:hover { background: #0052cc; }

body.cv-d .cvd-btn--ghost {
    background: #fff;
    border: 1px solid #d8e5fb;
    color: #0066ff !important;
    box-shadow: none;
}

body.cv-d .cvd-btn--ghost:hover { background: #f4f8ff; }

/* ---------- 指标卡 ---------- */
body.cv-d .cvd-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}

body.cv-d .cvd-stat {
    display: block;
    padding: 15px 18px 16px;
    background: #fff;
    border: 1px solid #e8eef8;
    border-radius: 14px;
    text-decoration: none !important;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

body.cv-d .cvd-stat:hover {
    border-color: #c9dcff;
    box-shadow: 0 8px 20px rgba(15, 47, 92, .07);
    transform: translateY(-1px);
}

body.cv-d .cvd-stat__top {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #8b98ad;
}

body.cv-d .cvd-stat__top > i { font-size: 12px; }

body.cv-d .cvd-i-blue { color: #0066ff; }
body.cv-d .cvd-i-amber { color: #d97706; }
body.cv-d .cvd-i-violet { color: #7c3aed; }
body.cv-d .cvd-i-green { color: #0d9488; }

body.cv-d .cvd-stat__num {
    display: block;
    margin: 8px 0 2px;
    font-size: 26px;
    font-weight: 700;
    color: #0d1526;
    letter-spacing: -.02em;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

body.cv-d .cvd-stat__sub {
    font-size: 11.5px;
    color: #a3b0c4;
}

/* ---------- 图表区 ---------- */
body.cv-d .cvd-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    gap: 16px;
    margin-bottom: 16px;
}

body.cv-d .cvd-card {
    padding: 16px 20px 18px;
    background: #fff;
    border: 1px solid #e8eef8;
    border-radius: 14px;
}

body.cv-d .cvd-card__hd {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 14px;
}

body.cv-d .cvd-card__hd h2 {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #0d1526;
}

body.cv-d .cvd-card__hd span {
    font-size: 11.5px;
    color: #a3b0c4;
}

body.cv-d .cvd-card__foot {
    margin: 12px 0 0;
    font-size: 11.5px;
    color: #a3b0c4;
}

body.cv-d .cvd-empty {
    padding: 34px 0;
    margin: 0;
    text-align: center;
    font-size: 12.5px;
    color: #a3b0c4;
}

/* 柱状图 */
body.cv-d .cvd-bars {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    height: 168px;
} 

body.cv-d .cvd-bar {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
    gap: 6px;
}

body.cv-d .cvd-bar__val {
    font-size: 11.5px;
    font-weight: 600;
    color: #41506b;
    line-height: 1;
}

body.cv-d .cvd-bar__track {
    flex: 1 1 auto;
    width: 100%;
    max-width: 40px;
    display: flex;
    align-items: flex-end;
    background: #f2f7ff;
    border-radius: 8px;
    overflow: hidden;
}

body.cv-d .cvd-bar__track > i {
    display: block;
    width: 100%;
    min-height: 2px;
    border-radius: 8px 8px 0 0;
    background: linear-gradient(180deg, #5b97f5, #0066ff);
    transition: height .5s ease;
}

body.cv-d .cvd-bar__lbl {
    font-size: 11px;
    color: #98a6bd;
    line-height: 1;
}

/* 账单状态 */
body.cv-d .cvd-stack {
    display: flex;
    height: 10px;
    margin: 4px 0 16px;
    border-radius: 6px;
    background: #f2f7ff;
    overflow: hidden;
}

body.cv-d .cvd-stack > i {
    display: block;
    height: 100%;
}

body.cv-d .cvd-stack__paid { background: #0066ff; }
body.cv-d .cvd-stack__unpaid { background: #f0b429; }

body.cv-d .cvd-legend {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.cv-d .cvd-legend li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    color: #5c6b82;
}

body.cv-d .cvd-legend b {
    margin-left: auto;
    color: #0d1526;
    font-variant-numeric: tabular-nums;
}

body.cv-d .cvd-dot {
    width: 8px;
    height: 8px;
    border-radius: 3px;
}

body.cv-d .cvd-dot--paid { background: #0066ff; }
body.cv-d .cvd-dot--unpaid { background: #f0b429; }
body.cv-d .cvd-dot--cancel { background: #cbd5e1; }

body.cv-d .cvd-spent {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-top: 16px;
    padding-top: 13px;
    border-top: 1px solid #f0f4fb;
    font-size: 12.5px;
    color: #8b98ad;
}

body.cv-d .cvd-spent b {
    font-size: 18px;
    font-weight: 700;
    color: #0d1526;
    font-variant-numeric: tabular-nums;
}

/* ---------- 列表区 ---------- */
body.cv-d .cvd-lists .cv-panels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 0;
}

body.cv-d .cvd-lists .cv-panels--full {
    display: block;
    margin-bottom: 16px;
}

body.cv-d .cvd-lists .card {
    background: #fff;
    border: 1px solid #e8eef8 !important;
    border-radius: 14px;
    box-shadow: none;
    overflow: hidden;
}

body.cv-d .cvd-lists .card-header {
    padding: 13px 20px;
    background: #fff !important;
    border-bottom: 1px solid #f0f4fb !important;
}

body.cv-d .cvd-lists .card-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    font-weight: 600;
    color: #0d1526 !important;
    background: none !important;
    padding: 0 !important;
}

body.cv-d .cvd-lists .card-title > i {
    color: #7d8ca6;
    font-size: 12px;
}

body.cv-d .cvd-lists .card-title .float-right {
    order: 2;
    margin-left: auto;
    float: none !important;
}

body.cv-d .cvd-lists .btn-xs {
    padding: 3px 11px;
    border: 1px solid #e2ebf9;
    border-radius: 7px;
    background: #fff !important;
    color: #0066ff !important;
    font-size: 11.5px;
}

body.cv-d .cvd-lists .list-group-item {
    padding: 12px 20px;
    border: 0;
    border-bottom: 1px solid #f5f8fd;
    background: #fff;
    font-size: 12.5px;
    color: #41506b;
    line-height: 1.55;
}

body.cv-d .cvd-lists .list-group-item:last-child { border-bottom: 0; }
body.cv-d .cvd-lists .list-group-item:hover { background: #fafcff; }

body.cv-d .cvd-lists .card-body {
    padding: 14px 20px;
    font-size: 12.5px;
    color: #5c6b82;
}

body.cv-d .cvd-lists .card-footer {
    padding: 10px 20px;
    background: #fff !important;
    border-top: 1px solid #f0f4fb !important;
}

body.cv-d .cvd-lists .card-footer:empty { display: none; }

/* 服务条目（与 A/B/C 共用栅格样式，这里只补边框） */
body.cv-d .div-service-item {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 14px;
    padding: 14px 20px;
    border-bottom: 1px solid #f5f8fd;
}

body.cv-d .div-service-item:last-child { border-bottom: 0; }
body.cv-d .div-service-item .label-placeholder { display: none !important; }

body.cv-d .div-service-item .div-service-status .label {
    display: inline-block;
    position: static !important;
    padding: 2px 8px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 500;
    white-space: nowrap;
}

body.cv-d .div-service-name {
    min-width: 0;
    font-size: 13px;
    line-height: 1.6;
}

body.cv-d .div-service-name .text-domain {
    display: inline-block;
    margin-left: 8px;
    font-size: 11.5px;
    color: #8b98ad;
}

body.cv-d .div-service-buttons .btn {
    height: 30px;
    padding: 0 12px;
    border-radius: 8px;
    font-size: 12px;
}

/* 注册域名表单 */
body.cv-d .cvd-lists .input-group {
    display: flex;
    gap: 8px;
    padding: 12px 20px 14px !important;
    margin: 0 !important;
    background: none !important;
}

body.cv-d .cvd-lists .input-group .form-control {
    height: 40px;
    border: 1px solid #e2e8f2;
    border-radius: 9px;
    font-size: 13px;
    background: #fff;
    box-shadow: none;
}

body.cv-d .cvd-lists .input-group .btn {
    height: 40px;
    padding: 0 18px;
    border: 0 !important;
    border-radius: 9px !important;
    background: #0066ff !important;
    background-image: none !important;
    color: #fff !important;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

/* ---------- 响应式 ---------- */
@media (max-width: 1199.98px) {
    body.cv-d .cvd-shell { grid-template-columns: 200px minmax(0, 1fr); gap: 16px; }
}

@media (max-width: 991.98px) {
    body.cv-d .cvd-shell { grid-template-columns: minmax(0, 1fr); }

    body.cv-d .cvd-nav {
        position: static;
        padding: 10px;
    }

    body.cv-d .cvd-nav__brand { display: none; }

    body.cv-d .cvd-nav__menu {
        display: flex;
        gap: 6px;
        overflow-x: auto;
        scrollbar-width: none;
        padding-bottom: 2px;
    }

    body.cv-d .cvd-nav__menu::-webkit-scrollbar { display: none; }

    body.cv-d .cvd-nav__grp { display: none; }

    body.cv-d .cvd-nav__item {
        flex: 0 0 auto;
        padding: 7px 12px;
        border: 1px solid #eef3fb;
        white-space: nowrap;
    }

    body.cv-d .cvd-nav__item.is-active::before { display: none; }
    body.cv-d .cvd-nav__out { display: none; }

    body.cv-d .cvd-grid { grid-template-columns: minmax(0, 1fr); }
    body.cv-d .cvd-lists .cv-panels { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 767.98px) {
    body.cv-d .cvd-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.cv-d .cvd-head__txt h1 { font-size: 19px; }
    body.cv-d .cvd-bars { height: 140px; gap: 6px; }
    body.cv-d .cvd-bar__track { max-width: 30px; }
    body.cv-d .cvd-card { padding: 14px 16px 16px; }
}

/* 12 个月柱状图：列更窄，0 值不喧宾夺主 */
body.cv-d .cvd-bars {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 6px;
}

body.cv-d .cvd-bar__val.is-zero {
    color: #cdd8e6;
    font-weight: 400;
}

body.cv-d .cvd-bar__track { max-width: 34px; border-radius: 6px; }
body.cv-d .cvd-bar__lbl { font-size: 10.5px; }

@media (max-width: 767.98px) {
    body.cv-d .cvd-bars { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 3px; }
    body.cv-d .cvd-bar__lbl { font-size: 9px; transform: scale(.9); }
    body.cv-d .cvd-bar__track { max-width: 22px; }
}

/* D：13 列柱状 + 隐藏面包屑 + 域名卡整行 */
body.cv-d .cvd-bars { grid-template-columns: repeat(13, minmax(0, 1fr)); }

body.cv-home .master-breadcrumb { display: none; }

body.cv-d .cvd-lists > .cv-panels > .card[menuItemName="Register a New Domain"] {
    order: 9;
    grid-column: 1 / -1;
}

body.cv-d .cvd-stat__num { font-size: 29px; }

/* D：图表两张卡等高，账单卡内容上下分布 */
body.cv-d .cvd-grid { align-items: stretch; }

body.cv-d .cvd-card--billing {
    display: flex;
    flex-direction: column;
}

body.cv-d .cvd-card--billing .cvd-spent {
    margin-top: auto;
}

/* 柱状轨道更轻，让实心柱跳出来 */
body.cv-d .cvd-bar__track {
    background: #f7fafe;
    box-shadow: inset 0 0 0 1px #eef3fb;
}

/* 手机端：去掉页尾重复的侧栏面板（联系人/快捷链接） */
body.cv-a .sidebar-secondary,
body.cv-c .sidebar-secondary,
body.cv-home .sidebar-secondary {
    display: none;
}

/* 手机端：柱状图横向滚动，避免 13 列挤成一团 */
@media (max-width: 767.98px) {
    body.cv-d .cvd-bars {
        grid-template-columns: repeat(13, 32px);
        gap: 8px;
        overflow-x: auto;
        padding-bottom: 6px;
        scrollbar-width: thin;
    }

    body.cv-d .cvd-bar__lbl {
        font-size: 10px;
        transform: none;
    }

    body.cv-d .cvd-bar__track { max-width: 26px; }
}

/* ============================================================
   修正：面包屑（导航条）与内容的间距 + 服务状态徽章宽度
   ============================================================ */

/* D 之前把面包屑隐藏导致内容贴上导航，现恢复并给足间距 */
body.cv-d .master-breadcrumb {
    display: block;
    margin: 0 0 16px;
    padding: 11px 0 0;
    background: none;
}

body.cv-d .master-breadcrumb .breadcrumb {
    margin: 0;
    padding: 0;
    background: none;
    font-size: 12px;
}

body.cv-d .master-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    content: "/";
    color: #c3cddc;
}

body.cv-d .cvd-shell { margin-top: 0; }

/* 其他方案也统一给面包屑一点呼吸感 */
body.cv-a .master-breadcrumb,
body.cv-b .master-breadcrumb,
body.cv-c .master-breadcrumb {
    margin: 0 0 14px;
    padding: 10px 0 0;
    background: none;
}

/* 服务状态徽章：容器被压到 5px 导致「有效的」被裁掉 */
body.cv-a .div-service-item,
body.cv-b .div-service-item,
body.cv-c .div-service-item,
body.cv-d .div-service-item {
    grid-template-columns: max-content minmax(0, 1fr) auto;
}

body.cv-a .div-service-status,
body.cv-b .div-service-status,
body.cv-c .div-service-status,
body.cv-d .div-service-status {
    width: max-content;
    min-width: max-content;
}

body.cv-a .div-service-status .label,
body.cv-b .div-service-status .label,
body.cv-c .div-service-status .label,
body.cv-d .div-service-status .label {
    width: auto !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

/* ============================================================
   D：顶部区域重做（去面包屑 + 浅灰画布 + 侧栏去重复品牌）
   ============================================================ */

/* 页面底色改为浅灰蓝，白卡片才能“浮”起来，避免白上加白 */
body.cv-home #main-body,
body.cv-home #main-body.body-background-20i {
    background: #f4f7fc !important;
    padding-top: 22px;
    padding-bottom: 28px;
}

/* 用户中心首页不需要面包屑，用上边距与顶栏拉开距离 */
body.cv-home .master-breadcrumb { display: none !important; }

body.cv-d .cvd-shell { margin-top: 0; }

/* 侧栏：去掉品牌块后收紧顶部，首项与右侧标题对齐 */
body.cv-d .cvd-nav {
    padding: 8px 12px 10px;
    border-color: #e6edf8;
    box-shadow: 0 1px 3px rgba(15, 47, 92, .04);
}

body.cv-d .cvd-nav__grp:first-child {
    padding-top: 6px;
}

/* 卡片在白底变灰底后，边框再轻一点 */
body.cv-d .cvd-stat,
body.cv-d .cvd-card,
body.cv-d .cvd-lists .card {
    border-color: #e8eef8 !important;
    box-shadow: 0 1px 2px rgba(15, 47, 92, .04);
}

/* D：注册域名表单压成一行，去掉多余留白 */
body.cv-d .cvd-lists .input-group {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 10px;
    padding: 4px 20px 16px !important;
    margin: 0 !important;
    background: none !important;
}

body.cv-d .cvd-lists .input-group > .form-control {
    flex: 1 1 auto;
    min-width: 0;
    height: 42px;
}

body.cv-d .cvd-lists .input-group-btn {
    display: flex;
    flex: 0 0 auto;
    gap: 10px;
}

body.cv-d .cvd-lists .input-group-btn .btn {
    height: 42px;
    padding: 0 20px;
    border: 0 !important;
    border-radius: 9px !important;
    background: #0066ff !important;
    background-image: none !important;
    color: #fff !important;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

/* 第二个按钮（域名转移）用描边样式区分主次 */
body.cv-d .cvd-lists .input-group-btn .btn + .btn {
    background: #fff !important;
    border: 1px solid #d8e5fb !important;
    color: #0066ff !important;
}

/* ============================================================
   D v2：降低“白感”——深蓝侧栏 + 带色卡片头 + 更明确画布
   ============================================================ */

/* 画布再深一阶 */
body.cv-home #main-body,
body.cv-home #main-body.body-background-20i {
    background: #eef3fa !important;
    padding-top: 22px;
    padding-bottom: 28px;
}

/* 侧栏：深蓝渐变，形成稳定的视觉重量感 */
body.cv-d .cvd-nav {
    background: linear-gradient(180deg, #10305f 0%, #0c2549 100%);
    border: 0;
    box-shadow: 0 6px 18px rgba(11, 34, 66, .16);
}

body.cv-d .cvd-nav__grp {
    color: rgba(255, 255, 255, .42);
    letter-spacing: .1em;
}

body.cv-d .cvd-nav__item {
    color: rgba(255, 255, 255, .74);
}

body.cv-d .cvd-nav__item > i {
    color: rgba(255, 255, 255, .55);
}

body.cv-d .cvd-nav__item:hover {
    background: rgba(255, 255, 255, .08);
    color: #fff;
}

body.cv-d .cvd-nav__item:hover > i { color: #fff; }

body.cv-d .cvd-nav__item.is-active {
    background: rgba(64, 141, 255, .22);
    color: #fff;
}

body.cv-d .cvd-nav__item.is-active > i { color: #7fb4ff; }

body.cv-d .cvd-nav__item.is-active::before {
    background: #4d99ff;
    box-shadow: 0 0 10px rgba(77, 153, 255, .6);
}

body.cv-d .cvd-nav__item > em {
    background: rgba(255, 255, 255, .14);
    color: #cfe3ff;
}

body.cv-d .cvd-nav__item > em.is-warn {
    background: rgba(245, 158, 11, .22);
    color: #ffcf7a;
}

body.cv-d .cvd-nav__out {
    border-top-color: rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .5);
}

body.cv-d .cvd-nav__out:hover { color: #ff9b8f; }

/* 卡片头加一层极浅蓝底，上下分隔更清楚 */
body.cv-d .cvd-lists .card-header {
    background: #f7faff !important;
}

body.cv-d .cvd-card__hd {
    padding-bottom: 12px;
    margin-bottom: 12px;
    border-bottom: 1px solid #f0f4fb;
}

/* 指标卡：标题行加同色系浅底图标块 */
body.cv-d .cvd-stat__top {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #7c8da8;
}

body.cv-d .cvd-stat__top > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 7px;
    font-size: 11px;
}

body.cv-d .cvd-i-blue { color: #0066ff; background: #e8f1ff; }
body.cv-d .cvd-i-amber { color: #d97706; background: #fff3e0; }
body.cv-d .cvd-i-violet { color: #7c3aed; background: #f2ecfe; }
body.cv-d .cvd-i-green { color: #0d9488; background: #e4f7f4; }

/* 余额数字用主色，与其他指标区分 */
body.cv-d .cvd-stat:last-child .cvd-stat__num { color: #0066ff; }

/* 图表柱更饱和一点 */
body.cv-d .cvd-bar__track > i {
    background: linear-gradient(180deg, #3f83f0, #0057d9);
}

/* 列表区卡片标题行文字略深 */
body.cv-d .cvd-lists .card-title { color: #16233c !important; }

/* ============================================================
   D v3：顶部欢迎改为深蓝色块，形成「深侧栏 + 深顶条」框式布局
   ============================================================ */
body.cv-d .cvd-head {
    position: relative;
    align-items: center;
    margin-bottom: 16px;
    padding: 20px 24px;
    border-radius: 16px;
    background: linear-gradient(118deg, #0f3566 0%, #14508f 55%, #1a63b8 100%);
    box-shadow: 0 10px 24px rgba(15, 53, 102, .18);
    overflow: hidden;
}

/* 右上角光晕，避免纯色块死板 */
body.cv-d .cvd-head::after {
    content: "";
    position: absolute;
    right: -60px;
    top: -80px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(93, 160, 255, .35), transparent 68%);
    pointer-events: none;
}

body.cv-d .cvd-head__txt h1 {
    color: #fff;
    font-size: 21px;
}

body.cv-d .cvd-head__txt p {
    color: rgba(255, 255, 255, .74);
}

body.cv-d .cvd-head__act {
    position: relative;
    z-index: 1;
}

body.cv-d .cvd-head .cvd-btn {
    background: #fff;
    color: #0f3566 !important;
    box-shadow: 0 4px 12px rgba(6, 26, 52, .18);
}

body.cv-d .cvd-head .cvd-btn:hover { background: #eaf2ff; }

body.cv-d .cvd-head .cvd-btn--ghost {
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .34);
    color: #fff !important;
    box-shadow: none;
}

body.cv-d .cvd-head .cvd-btn--ghost:hover { background: rgba(255, 255, 255, .24); }

/* 指标卡底色微蓝，与白卡片区分 */
body.cv-d .cvd-stat {
    background: #fbfdff;
}

body.cv-d .cvd-stat:hover {
    background: #fff;
}

/* 图表卡与账单卡：头部加淡蓝条 */
body.cv-d .cvd-card--chart {
    background: linear-gradient(180deg, #f8fbff 0%, #fff 120px);
}

/* 工单多时限制列表高度，避免左右两栏高低差过大 */
body.cv-d .cvd-lists .card[menuItemName="Recent Support Tickets"] .list-group {
    max-height: 372px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #cdd8e6 transparent;
}

body.cv-d .cvd-lists .card[menuItemName="Recent Support Tickets"] .list-group::-webkit-scrollbar {
    width: 6px;
}

body.cv-d .cvd-lists .card[menuItemName="Recent Support Tickets"] .list-group::-webkit-scrollbar-thumb {
    background: #cdd8e6;
    border-radius: 3px;
}

/* 列表卡等高，避免同行左卡悬空 */
body.cv-d .cvd-lists .cv-panels {
    align-items: stretch;
}

body.cv-d .cvd-lists .cv-panels > .card {
    height: 100%;
    display: flex;
    flex-direction: column;
}

body.cv-d .cvd-lists .cv-panels > .card > .card-body,
body.cv-d .cvd-lists .cv-panels > .card > .list-group {
    flex: 1 1 auto;
}


/* ============================================================
   D：非首页（我的服务 / 账单 / 购物车 / 结账…）
   把「面包屑」做成独立的白色导航条，内容区才有画布感和边界
   ============================================================ */
body.cv-d:not(.cv-home) .master-breadcrumb {
    margin: 0 !important;
    padding: 11px 0;
    background: #fff;
    border-bottom: 1px solid #e8eef8;
}

body.cv-d:not(.cv-home) .master-breadcrumb .breadcrumb {
    margin: 0;
    padding: 0;
    background: none;
    font-size: 12.5px;
}

body.cv-d:not(.cv-home) .master-breadcrumb .breadcrumb a {
    color: #7c8da8;
}

body.cv-d:not(.cv-home) .master-breadcrumb .breadcrumb-item.active {
    color: #0d1526;
}

body.cv-d:not(.cv-home) #main-body {
    background: #eef3fa !important;
    padding-top: 26px !important;
    padding-bottom: 34px !important;
}

@media (max-width: 767.98px) {
    body.cv-d:not(.cv-home) #main-body {
        padding-top: 14px !important;
        padding-bottom: 20px !important;
    }

    body.cv-d:not(.cv-home) .master-breadcrumb {
        padding: 9px 0;
    }
}


/* 吸顶头部加一层极轻阴影：滚动时内容从下面经过也不会“粘”在一起 */
body.cv-d .cst-masthead {
    box-shadow: 0 1px 0 rgba(15, 47, 92, .06), 0 4px 14px rgba(15, 47, 92, .05);
}

/* 面包屑条的文字稍微收一点，避免夹在头部和内容之间显得挤 */
body.cv-d:not(.cv-home) .master-breadcrumb .breadcrumb {
    line-height: 1.5;
}
