/* ===== 样板主题 v2：数据门户实用风（portal）
   类型分级（Type Scale）：
   H1 页面标题 20/700 · H2 区块标题 16/700 · 表头/正文 13-14 · 元信息 12 · KPI数值 18
   对齐规则：文字列左对齐，数值列右对齐，编号/日期/状态类标记列居中（模板用 .c 标注）。
*/
:root{
  --p-bg:#f5f6f8; --p-panel:#fff; --p-line:#dde1e6; --p-line-soft:#e9ebee;
  --p-text:#1c2430; --p-muted:#69717c; --p-nav:#15273c; --p-nav-text:#cdd9e6;
  --p-link:#155da8; --p-up:#d81e06; --p-down:#0a9d5c;
  --fs-h1:20px; --fs-h2:16px; --fs-h3:15px; --fs-body:14px; --fs-cell:13px;
  --fs-meta:12px; --fs-kpi:18px;
  --lh:1.6; --lh-tight:1.4;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--p-bg);color:var(--p-text);
     font-family:"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
     font-size:var(--fs-body);line-height:var(--lh)}
h1,h2,h3,h4,h5,h6{margin:0;font-weight:700;line-height:var(--lh-tight)}
h1{font-size:var(--fs-h1)} h2{font-size:var(--fs-h2)} h3{font-size:var(--fs-h3)}
p{margin:0 0 8px}
a{color:var(--p-link);text-decoration:none}
a:hover{text-decoration:underline}
code{font-family:Consolas,Menlo,monospace;font-size:.92em;background:#f1f3f5;padding:0 4px;border-radius:2px}

/* 对齐工具 */
.t-l{text-align:left} .t-r{text-align:right} .t-c{text-align:center}
.v-mid{vertical-align:middle}

/* 顶部通栏（垂直居中统一） */
.portal-top{background:var(--p-nav);color:var(--p-nav-text);font-size:13px}
.portal-top .inner{max-width:1240px;margin:0 auto;padding:0 16px;height:44px;
     display:flex;align-items:center;gap:20px}
.portal-brand{color:#fff;font-weight:700;font-size:15px;white-space:nowrap;line-height:1}
.portal-top nav{display:flex;align-items:center;gap:0}
.portal-top nav a{color:var(--p-nav-text);padding:0 11px;line-height:44px;border-left:1px solid rgba(255,255,255,.10)}
.portal-top nav a:hover{color:#fff;background:rgba(255,255,255,.06);text-decoration:none}
.portal-top .market{margin-left:auto;font-size:12px;color:#93a8c0}

/* 数据条 */
.portal-strip{background:#fff;border-bottom:1px solid var(--p-line);font-size:13px}
.portal-strip .inner{max-width:1240px;margin:0 auto;padding:7px 16px;
     display:flex;align-items:center;gap:8px 28px;flex-wrap:wrap;line-height:1.5}
.portal-strip .lbl{color:var(--p-muted);margin-right:6px}
.portal-strip b{font-weight:700;font-variant-numeric:tabular-nums}

.container-p{max-width:1240px;margin:0 auto;padding:12px 16px 26px}

/* 页面标题：字号分级 + 垂直居中基线 */
.p-head{display:flex;align-items:center;gap:10px;margin:2px 0 8px;flex-wrap:wrap;min-height:28px}
.p-head h1{font-size:var(--fs-h1);line-height:1.3}
.p-head .sub{color:var(--p-muted);font-size:var(--fs-meta)}
.p-head .code{font-size:var(--fs-meta);font-weight:400}

/* 区块标题：统一层级 */
.p-sec{display:flex;align-items:center;gap:8px;font-size:var(--fs-h2);
       font-weight:700;color:var(--p-text);border-bottom:1px solid var(--p-nav);
       padding-bottom:5px;margin:20px 0 8px}
.p-sec small{font-size:var(--fs-meta);color:var(--p-muted);font-weight:400}
.p-sec .more{margin-left:auto;font-size:var(--fs-meta);font-weight:400}

/* 表：header 与单元格对齐规则 */
.panel{background:var(--p-panel);border:1px solid var(--p-line)}
.p-table{width:100%;border-collapse:collapse;font-size:var(--fs-cell);line-height:1.5}
.p-table th{background:#eef1f4;color:#3d4754;font-size:var(--fs-cell);font-weight:600;
     padding:6px 10px;border-bottom:1px solid var(--p-line);white-space:nowrap}
.p-table th:first-child{text-align:left}
.p-table th:not(:first-child){text-align:right}
.p-table td{padding:6px 10px;border-bottom:1px solid var(--p-line-soft);white-space:nowrap}
.p-table td:first-child{text-align:left}
.p-table td:not(:first-child){text-align:right}
.p-table td.num,.p-table th.num{font-variant-numeric:tabular-nums}
.p-table .c, .p-table th.c{text-align:center}
.p-table tbody tr:hover td{background:#f8fafc}
.up{color:var(--p-up)} .down{color:var(--p-down)}
.code{color:var(--p-muted);font-size:var(--fs-meta)}

/* 指标块：标题/数值居中对齐、层级清晰 */
.p-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
.p-kpi{background:#fff;border:1px solid var(--p-line);padding:8px 6px;text-align:center}
.p-kpi .k{font-size:var(--fs-meta);color:var(--p-muted);line-height:1.3}
.p-kpi .v{font-size:var(--fs-kpi);font-weight:700;font-variant-numeric:tabular-nums;
     line-height:1.35;margin:2px 0 1px}
.p-kpi .d{font-size:11px;color:var(--p-muted);line-height:1.2}

/* 两栏 */
.p-grid2{display:grid;grid-template-columns:1.6fr 1fr;gap:12px;align-items:start}
.p-grid2-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;align-items:start}
@media(max-width:980px){.p-grid2,.p-grid2-3{grid-template-columns:1fr}}

.tag{display:inline-block;font-size:var(--fs-meta);line-height:1.4;padding:0 7px;
     border:1px solid var(--p-line);border-radius:3px;color:#3d4754;background:#fff}
.tag.red{color:var(--p-up);border-color:#f0c1bb;background:#fff5f4}
.tag.green{color:var(--p-down);border-color:#bfe4d2;background:#f0faf5}

/* 提示/免责 */
.p-note{font-size:var(--fs-meta);color:var(--p-muted)}
.p-warn{background:#fff8e6;border:1px solid #f0d894;color:#7a5b00;
     font-size:var(--fs-meta);padding:7px 12px;margin:8px 0;line-height:1.6}

/* 后台样板 */
.a-side{background:var(--p-nav);color:#c7d4e2;min-height:100vh;padding:10px 0;font-size:13px}
.a-side .a-brand{color:#fff;font-weight:700;font-size:15px;padding:6px 16px 14px}
.a-side a{display:block;color:#c7d4e2;padding:8px 16px;border-left:3px solid transparent;line-height:1.4}
.a-side a.on,.a-side a:hover{background:#0e1f31;color:#fff;border-left-color:#3d7edb;text-decoration:none}
.a-side .grp{font-size:11px;color:#7d93ab;padding:14px 16px 4px}
.a-main{background:#fff;min-height:100vh;padding:14px 20px}
.a-main .a-bar{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--p-line);
     padding-bottom:10px;margin-bottom:12px}
.footer-p{color:var(--p-muted);font-size:var(--fs-meta);padding:12px 16px 24px;
     max-width:1240px;margin:0 auto;text-align:left}

/* ========== 全站覆盖（迁移样板到正式页；保留 Bootstrap 工具类） ========== */
body.front-page,.front-page body{background:var(--p-bg)}

/* 内容容器宽度统一 */
.container{max-width:1240px}
.py-4{padding-top:14px!important;padding-bottom:18px!important}
.mt-4{margin-top:18px!important}.mb-3{margin-bottom:10px!important}.mb-4{margin-bottom:14px!important}

/* 卡片去圆角阴影，贴近门户面板 */
.card{border:1px solid var(--p-line);border-radius:2px;box-shadow:none}
.card-title-bank{font-size:15px;font-weight:700;color:var(--p-text);
   border-bottom:2px solid var(--p-nav);padding-bottom:4px;margin-bottom:10px;border-left:none}
.card-body{padding:12px 14px}

/* 表格：门户密度 */
.table{font-size:13px;color:var(--p-text);margin-bottom:0}
.table>:not(caption)>*>*{padding:6px 10px;border-bottom-color:var(--p-line-soft)}
.table thead th{background:#eef1f4;color:#3d4754;font-weight:600;border-bottom:1px solid var(--p-line);white-space:nowrap}
.table tbody tr:hover{background:#f8fafc}
.table td,.table th{vertical-align:middle}
.table-responsive{border:0}

/* 徽标/按钮/提示：小而紧 */
.badge{font-weight:500;font-size:12px;border-radius:3px}
.btn{border-radius:3px;font-size:13px}
.btn-sm{font-size:12px}
.alert{border-radius:3px;font-size:13px;padding:8px 12px}
.list-group-item{border-color:var(--p-line-soft);padding:8px 12px;font-size:13px}
.list-group-item:first-child{border-top:0}

/* 首页旧 hero 元素 -> 门户数据条观感 */
.hero-bank{background:#fff;border-bottom:1px solid var(--p-line);color:var(--p-text);padding:18px 0 12px;margin-bottom:8px}
.hero-bank h1{font-size:var(--fs-h1)}
.hero-bank p{color:var(--p-muted)}
.hero-bank .gold{color:var(--p-link);font-weight:600}
.hero-bank .stat b{font-size:22px;font-weight:700;color:var(--p-nav);font-variant-numeric:tabular-nums}
.hero-bank .stat span{color:var(--p-muted);font-size:12px}

/* 前台链接颜色与行内代码 */
.text-muted{color:var(--p-muted)!important}
.code{color:var(--p-muted);font-size:12px}
.p-warn{margin-top:8px}

/* 分页/提示性旧类兜底 */
.page-note,.note{color:var(--p-muted)}

/* 表单控件紧凑 */
.form-control,.form-select{font-size:13px;border-radius:3px}

/* 银行比较：固定首列 + 高亮列 */
.cmp-table{min-width:720px}
.cmp-table th:first-child,.cmp-table td:first-child{position:sticky;left:0;background:#fff;z-index:1}
.cmp-table thead th:first-child{background:#eef1f4;z-index:2}
.cmp-table td.hl-col{background:#fff7df!important}
.cmp-table th.hl-col{background:#ffe9a8!important}
.cmp-warn{color:var(--p-warn-text,#7a5b00);font-size:12px}

/* ============ 全站文字/间距统一规范（置于最后，优先级最高） ============ */
:root{
  --fs-h1:22px; --fs-h2:18px; --fs-h3:16px; --fs-h4:15px; --fs-h5:14px; --fs-h6:13px;
  --fs-body:14px; --fs-table:13px; --fs-meta:12px;
  --lh-base:1.6; --lh-title:1.4;
}
html{font-size:14px}
body{font-size:var(--fs-body);line-height:var(--lh-base)}
h1{font-size:var(--fs-h1)!important;font-weight:700!important;line-height:var(--lh-title)!important;margin:0 0 14px!important}
h2{font-size:var(--fs-h2)!important;font-weight:700!important;line-height:var(--lh-title)!important;margin:0 0 12px!important}
h3{font-size:var(--fs-h3)!important;font-weight:700!important;line-height:var(--lh-title)!important;margin:0 0 10px!important}
h4{font-size:var(--fs-h4)!important;font-weight:700!important;line-height:var(--lh-title)!important;margin:0 0 10px!important}
h5{font-size:var(--fs-h5)!important;font-weight:700!important;line-height:var(--lh-title)!important;margin:0 0 8px!important}
h6{font-size:var(--fs-h6)!important;font-weight:700!important;line-height:var(--lh-title)!important;margin:0 0 8px!important}
p{margin:0 0 10px}
ul,ol{margin:0 0 10px;padding-left:20px}

/* 标题按“角色”统一（不随标签漂移） */
/* 板块标题（带下划线小标题） */
.p-sec{font-size:16px!important;font-weight:700!important}
.card-title-bank{font-size:16px!important;font-weight:700!important;
  border-bottom:2px solid var(--p-nav);padding-bottom:4px;margin-bottom:10px!important}
/* 页面标题（h4 型历史写法统一放大为 20px） */
h4.card-title-bank{font-size:22px!important;border-bottom:none!important;padding-bottom:0}
h4.mb-0{font-size:22px!important}
 .a-main h4.mb-3{font-size:22px!important;margin-bottom:12px!important}
.a-main h4{font-size:16px!important}   /* 其它 h4 按板块标题 */
/* 卡片内块标题（如 .fw-bold 小标题）统一 15px 粗体 */
.card-body .fw-bold{font-size:15px!important}
.p-head h1{font-size:var(--fs-h1)!important;margin:0!important}

/* 表格与行距微调 */
.table,.p-table{font-size:var(--fs-table)!important;line-height:1.55!important}
.table>:not(caption)>*>*{padding:7px 10px!important}
.p-table th,.p-table td{padding:7px 10px!important}
.card-body{padding:14px 16px!important}
.form-control,.form-select{font-size:13px!important}
.text-muted,.p-note,.code,.small,.badge{font-size:12px!important}
.btn{font-size:13px!important;line-height:1.5!important}
.btn-sm{font-size:12px!important}
