/**
 * 全站布局/风格标准（消费 BIGMODEL_UI_LAYOUT_SETTINGS 注入的 CSS 变量）。
 * SSOT：docs/UI_LAYOUT_SETTINGS.md；动态变量见 /bigmodel/public/ui-layout.css。
 * 须在 admin-iframe-page.css、bh-usercenter-iframe-page.css 之后加载。
 */

/* 页标题 + 帮助文档按钮：字体栈与色调（全站 iframe 统一；页内勿再写死 font-size/family） */
body.admin-iframe-page {
    --bh-page-ui-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
    --bh-page-title-font: var(--bh-page-ui-font);
    --bh-page-title-weight: 600;
    --bh-page-title-letter-spacing: -0.02em;
    --bh-page-title-line-height: 1.35;
    --bh-page-title-color: var(--text, #1e293b);
    --bh-help-doc-font-size: 0.8125rem;
    --bh-help-doc-font-weight: 500;
    --bh-help-doc-color: var(--text-muted, #64748b);
    --bh-help-doc-hover-color: var(--primary, #2563eb);
    --bh-help-doc-icon-size: 18px;
    font-family: var(--bh-page-ui-font);
}

/* 壳内 embed：iframe 内层与 fluid-wrap 外边距为 0，留白仅 index .admin-main（--bh-shell-main-pad） */
body.admin-iframe-page.bm-index-embed .admin-iframe-scroll > .admin-iframe-inner,
body.admin-iframe-page.bm-index-embed > .admin-iframe-inner,
body.admin-iframe-page.bm-index-embed .admin-iframe-inner .bm-page-fluid-wrap {
    padding: 0;
}

/* 控制台模型中心平铺页：壳内仅保留底部分隔，禁止叠水平外边距 */
body.admin-iframe-page.bm-index-embed .admin-iframe-inner.plaza-surface {
    padding-bottom: 28px;
}

html.admin-iframe-page-html body.admin-iframe-page:not(.bm-index-embed) .admin-iframe-inner.admin-iframe-inner--readable {
    max-width: var(--bh-readable-max);
}

/* 单独打开：非用户中心 bm-page-fluid-wrap */
body.admin-iframe-page:not(.bm-index-embed) .admin-iframe-inner .bm-page-fluid-wrap {
    padding: var(--bh-fluid-pad-block-start) var(--bh-fluid-pad-inline) var(--bh-fluid-pad-block-end);
}

/* 单独打开：bh-uc-page inner 外边距（壳内不生效，见上方 embed 规则） */
body.admin-iframe-page.bh-uc-page:not(.bm-index-embed) .admin-iframe-scroll > .admin-iframe-inner,
body.admin-iframe-page.bh-uc-page:not(.bm-index-embed) > .admin-iframe-inner {
    padding: var(--bh-uc-pad-block-start) var(--bh-uc-pad-inline-standalone) var(--bh-uc-pad-block-end);
}

body.admin-iframe-page.bh-uc-page:not(.bm-index-embed) .admin-iframe-inner.bm-page-fluid-wrap {
    padding: var(--bh-uc-pad-block-start) var(--bh-uc-pad-inline-standalone) var(--bh-uc-pad-block-end);
}

/*
 * 页级 h1 强制统一（压过页内 .page-header h1 { font-size: 1.5rem } 等写死值）。
 * 字号唯一源：--bh-page-title-size（BIGMODEL_UI_LAYOUT_SETTINGS.pageTitleFontRemBp，默认 1.25rem）。
 */
body.admin-iframe-page .admin-iframe-inner .page-header h1,
body.admin-iframe-page .admin-iframe-inner .page-head h1,
body.admin-iframe-page .admin-iframe-inner .bh-page-help-head > h1,
body.admin-iframe-page .admin-iframe-inner .bh-page-help-head-main h1,
body.admin-iframe-page .admin-iframe-inner .bh-page-help-head-main .page-header h1,
body.admin-iframe-page .admin-iframe-inner .bh-page-help-tabbar h1,
body.admin-iframe-page .admin-iframe-inner .bh-tiu-help-head > h1,
body.admin-iframe-page .admin-iframe-inner .mm-page-header-title h1,
body.admin-iframe-page .admin-iframe-inner .cpa-top .page-header h1,
body.admin-iframe-page .admin-iframe-inner .dash-title-block h1,
body.admin-iframe-page .admin-iframe-inner .ss-page-head-main h1,
body.admin-iframe-page .admin-iframe-inner .bh-help-article .page-header h1,
body.admin-iframe-page.bh-uc-page .admin-iframe-inner .page-header h1,
/* 无 admin-iframe-inner 骨架的管理页 / 专用顶栏类名 */
body.admin-iframe-page .bh-page-help-head-main h1,
body.admin-iframe-page .bh-page-help-head > h1,
body.admin-iframe-page .lh-page-head-text h1,
body.admin-iframe-page h1.tr-page-head-title,
body.admin-iframe-page .tr-page-head-title,
body.admin-iframe-page h1.title {
    font-family: var(--bh-page-title-font) !important;
    font-size: var(--bh-page-title-size, 1.25rem) !important;
    font-weight: var(--bh-page-title-weight) !important;
    letter-spacing: var(--bh-page-title-letter-spacing) !important;
    line-height: var(--bh-page-title-line-height) !important;
    color: var(--bh-page-title-color);
    margin-top: 0;
}

/* 页级「帮助文档」按钮：字号/字重/色调全站一致 */
body.admin-iframe-page .bh-help-doc-btn {
    font-family: var(--bh-page-ui-font) !important;
    font-size: var(--bh-help-doc-font-size) !important;
    font-weight: var(--bh-help-doc-font-weight) !important;
    color: var(--bh-help-doc-color) !important;
    line-height: 1.3;
}
body.admin-iframe-page .bh-help-doc-btn:hover {
    color: var(--bh-help-doc-hover-color) !important;
}
body.admin-iframe-page .bh-help-doc-icon {
    width: var(--bh-help-doc-icon-size);
    height: var(--bh-help-doc-icon-size);
    font-family: var(--bh-page-ui-font);
    font-size: 0.65rem;
    font-weight: 700;
}

/* 线路健康 pill — 模型管理 / 模型选择 / 算力接入共用（表格列两字紧凑态） */
.bh-line-health-pill { display: inline-flex; align-items: center; justify-content: center; gap: 0; padding: 2px 5px; border-radius: 999px; font-size: 0.72rem; font-weight: 600; line-height: 1.2; white-space: nowrap; letter-spacing: 0; background: color-mix(in srgb, var(--success, #16a34a) 14%, var(--card, #fff)); color: var(--success, #16a34a); }
.bh-line-health-pill--compact { min-width: 2em; box-sizing: border-box; }
.bh-line-health-pill--warn { background: color-mix(in srgb, #f59e0b 16%, var(--card, #fff)); color: #b45309; }
.bh-line-health-pill--bad { background: color-mix(in srgb, #ef4444 14%, var(--card, #fff)); color: #b91c1c; }
.bh-line-health-probe { margin-left: 0; padding: 2px 6px; font-size: 0.68rem; }
.bh-line-health-probe-row { padding-top: 2px; }
.bh-line-health-anchor { display: inline-flex; align-items: center; flex-wrap: nowrap; gap: 0; max-width: 100%; }
.th-health, .td-health, .th-line-status, .td-line-status {
    width: 2.75rem; min-width: 2.75rem; max-width: 3.25rem;
    text-align: center; vertical-align: middle; white-space: nowrap;
    padding-left: 4px; padding-right: 4px; box-sizing: border-box;
}

/* 悬停浮层 — 线路健康 / 能力说明等共用（BhHoverFloat） */
.mm-hover-float-anchor { display: inline-block; max-width: 100%; vertical-align: middle; cursor: default; outline: none; }
.mm-hover-float-anchor:focus-visible { box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary, #2563eb) 35%, transparent); border-radius: 4px; }
.mm-hover-float-anchor > .mm-pub-icons-pop.mm-hover-float-src { display: none !important; }
.mm-pub-icons-pop { min-width: 13rem; max-width: min(22rem, 92vw); padding: 10px 10px 8px; border: 1px solid var(--border, #e2e8f0); border-radius: 8px; background: var(--card, #fff); box-shadow: 0 10px 28px rgba(15, 23, 42, 0.16); }
[data-theme="dark"] .mm-pub-icons-pop { box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45); }
.bh-hover-float.mm-pub-icons-pop--float {
    position: fixed;
    margin: 0;
    left: 0;
    top: 0;
    z-index: 9000;
    max-height: min(72vh, 440px);
    overflow-y: auto;
    overflow-x: hidden;
    box-sizing: border-box;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
}
.mm-pub-icons-pop__row { display: flex; align-items: flex-start; gap: 8px; font-size: 0.78rem; line-height: 1.4; padding: 5px 0; border-bottom: 1px solid var(--border, #e2e8f0); }
.mm-pub-icons-pop__row:first-child { padding-top: 2px; }
.mm-pub-icons-pop__row:last-child { border-bottom: none; padding-bottom: 2px; }
.mm-pub-icons-pop__ico { width: 22px; height: 22px; flex-shrink: 0; color: var(--text-muted, #64748b); }
.mm-pub-icons-pop__body { flex: 1; min-width: 0; }
.mm-pub-icons-pop__lbl { font-weight: 600; color: var(--text, #1e293b); margin-bottom: 2px; }
.mm-pub-icons-pop__txt { color: var(--text, #1e293b); word-break: break-word; overflow-wrap: anywhere; }
