/* 概览独立样式：不改变业务列表与登录页，日期组件、公告继续沿用共用机制。 */
/* 概览顶栏按效果图留出清晰导航层级，其他业务列表继续沿用紧凑布局。 */
.layout:has(.概览工具栏) .topbar { height:60px; min-height:60px; gap:20px; }
.layout:has(.概览工具栏) .topbar .brand { height:60px; gap:10px; }
.layout:has(.概览工具栏) .topbar .brand-mark { width:38px; height:38px; flex-basis:38px; font-size:19px; }
.layout:has(.概览工具栏) .topbar .品牌标题行 strong { font-size:18px; }
.layout:has(.概览工具栏) .topbar .project-version { font-size:11px; padding:3px 6px; }
.layout:has(.概览工具栏) .topbar #menu > button { height:60px; font-size:14px; }
.layout:has(.概览工具栏) > main > .常用菜单 { min-height:56px; padding:8px 24px; gap:12px; }
.layout:has(.概览工具栏) > main > .常用菜单 button { height:36px; padding:0 14px; border-radius:7px; font-size:13px; }
.layout .content:has(.概览工具栏) { background:#f2f6fc; padding:20px 24px 24px; }
.概览工具栏 { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-bottom:18px; }
.概览标题 { display:flex; align-items:center; flex-wrap:wrap; gap:10px 20px; }
.概览标题 h1 { margin:0; color:#152b50; font-size:28px; font-weight:700; letter-spacing:-.7px; line-height:1.4; }
.概览标题 p { margin:0; color:#627a9d; font-size:13px; }
.概览工具栏 .控制台日期筛选 { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0; }
.概览工具栏 .控制台日期筛选 > label { display:none; }
.概览工具栏 .btn { height:40px; padding:0 18px; border:1px solid #dce5f3; border-radius:8px; color:#3b5376; background:#fff; font-size:13px; box-shadow:none; }
.概览工具栏 .btn-primary { color:#fff; background:#1677ff; border-color:#1677ff; box-shadow:0 3px 8px #1677ff20; }
.概览工具栏 .btn:hover { border-color:#1677ff; color:#1677ff; }
.概览工具栏 .btn-primary:hover { color:#fff; background:#0968e8; }
.概览工具栏 .概览刷新 { width:40px; padding:10px; color:#1677ff; }
.概览刷新 svg { width:18px; height:18px; display:block; }
.概览工具栏 .date-range-display { height:40px; box-sizing:border-box; border-color:#dce5f3; border-radius:8px; color:#263f63; background:#fff; }
.概览工具栏 .date-range-picker { min-width:265px; }
.dash { gap:18px; color:#172f54; }
.dash .dash-panel { border:1px solid #eaf0f8; border-radius:10px; padding:18px; background:#fff; box-shadow:0 4px 20px #23508e03; }
.dash .dash-panel-title { display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; padding:0; margin:0 4px 14px; color:#172f54; }
.dash-panel-title h2 { margin:0; font-size:17px; font-weight:650; line-height:1.5; }
.dash-panel-title span { font-size:12px; color:#627a9d; font-weight:400; }
.dash-panel-title .概览统计日期 { color:#263f63; }
.dash .dash-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.dash .dash-stat-card { display:flex; align-items:center; gap:22px; min-width:0; margin:0; padding:20px; border:1px solid #e1eaf7; border-radius:7px; box-shadow:none; background:#fff; }
.dash .dash-stat-icon { display:flex; justify-content:center; align-items:center; flex:0 0 58px; width:58px; height:58px; border-radius:50%; color:#1677ff; background:#e9f3ff; }
.dash-stat-icon svg { width:28px; height:28px; }
.dash .dash-stat-info { min-width:0; }
.dash .dash-stat-label { font-size:14px; color:#7b889f; margin-bottom:7px; line-height:1.5; }
.dash .dash-stat-value { color:#152b50; font-size:28px; line-height:1.2; font-weight:650; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
/* 待办用浅橙图标区分；零值保持正常文字颜色，不产生虚假的告警感。 */
.dash .dash-pending { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; padding:0; }
.dash .dash-pending-item { border:0; border-radius:0; padding:6px 22px; text-align:left; }
.dash .dash-pending-item + .dash-pending-item { border-left:1px solid #e1eaf7; }
.dash .dash-pending-item .dash-stat-icon { background:#fff5e6; color:#f59a0a; }
.content:has(.概览工具栏) #控制台更新记录 { margin-top:18px; }
.content:has(.概览工具栏) #控制台更新记录 .公告卡片 { padding:18px 24px; border:1px solid #eaf0f8; border-radius:10px; box-shadow:none; }
.content:has(.概览工具栏) #控制台更新记录 h2 { color:#172f54; }
.content:has(.概览工具栏) #控制台更新记录 .公告关闭 { color:#1677ff; padding:8px 14px; border-color:#dce5f3; }
.content:has(.概览工具栏) #控制台更新记录 .公告版本行 { margin:14px 0 8px; }
.content:has(.概览工具栏) #控制台更新记录 .公告分类 { gap:12px; margin-top:4px; }
@media(min-width:1800px) {
  .概览标题 h1 { font-size:30px; }
  .dash .dash-stat-card { padding:24px; }
}
@media(max-width:1150px) {
  .概览工具栏 { align-items:flex-start; }
  .dash .dash-stat-card { gap:14px; padding:16px; }
  .dash .dash-stat-icon { flex-basis:46px; width:46px; height:46px; }
  .dash .dash-row { gap:12px; }
  .dash .dash-pending-item { padding:6px 14px; }
}
@media(max-width:850px) {
  .dash .dash-row,.dash .dash-pending { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .dash .dash-pending-item + .dash-pending-item { border-left:0; }
  .dash .dash-pending-item { padding:12px; border:1px solid #edf0f5; border-radius:7px; }
}
@media(max-width:768px) {
  .layout:has(.概览工具栏) .topbar { height:84px; min-height:84px; gap:0; }
  .layout:has(.概览工具栏) .topbar .brand { height:48px; }
  .layout:has(.概览工具栏) .topbar .brand-mark { width:32px; height:32px; flex-basis:32px; font-size:16px; }
  .layout:has(.概览工具栏) .topbar #menu > button { height:36px; font-size:13px; }
  .layout:has(.概览工具栏) > main > .常用菜单 { min-height:42px; padding:5px 12px; gap:6px; }
  .layout:has(.概览工具栏) > main > .常用菜单 button { height:30px; padding:0 8px; font-size:12px; }
}
@media(max-width:600px) {
  .layout .content:has(.概览工具栏) { padding:16px 12px 22px; }
  .概览标题 { gap:4px; flex-direction:column; align-items:flex-start; }
  .概览标题 h1 { font-size:24px; }
  .概览工具栏,.概览工具栏 .控制台日期筛选 { width:100%; gap:8px; }
  .概览工具栏 .控制台日期筛选 { flex-direction:row; align-items:center; }
  .概览工具栏 .date-range-picker { flex:0 0 100%; min-width:0; }
  .概览工具栏 .btn { padding:0 14px; }
  .dash { gap:12px; }
  .dash .dash-panel { padding:14px 12px; }
  .dash .dash-panel-title { margin:0 0 12px; gap:4px 12px; }
  .dash-panel-title h2 { font-size:16px; }
  .dash .dash-row,.dash .dash-pending { gap:8px; }
  .dash .dash-stat-card { padding:14px 10px; gap:10px; }
  .dash .dash-stat-icon { flex-basis:36px; width:36px; height:36px; }
  .dash-stat-icon svg { width:21px; height:21px; }
  .dash .dash-stat-label { font-size:11px; margin-bottom:5px; }
  .dash .dash-stat-value { font-size:23px; }
  .content:has(.概览工具栏) #控制台更新记录 .公告卡片 { padding:16px; }
}
@media(max-width:360px) {
  .dash .dash-stat-card { gap:8px; padding:12px 8px; }
  .dash .dash-stat-icon { flex-basis:28px; width:28px; height:28px; }
  .dash .dash-stat-value { font-size:21px; }
  .概览工具栏 .btn { padding:0 12px; }
}
