/* 布局层：页面骨架、侧边导航、顶栏、主内容栅格 */

/* ---------- 顶栏 ---------- */
.top{height:60px;background:#fff;border-bottom:1px solid var(--line);display:flex;
  align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:20}
.brand{font-size:18px;font-weight:700;display:flex;align-items:center;gap:10px}
.logo{width:32px;height:32px;border-radius:9px;background:var(--grad-br);
  color:#fff;display:grid;place-items:center;font-size:15px}
.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

.wrap{max-width:1900px;margin:auto;padding:18px 22px 40px}
.title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:15px;gap:12px;flex-wrap:wrap}
.title h1{margin:0 0 4px;font-size:22px}

/* ---------- KPI ---------- */
.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:14px}
.kpis5{grid-template-columns:repeat(5,1fr)}

/* ---------- 面板 & 图表 ---------- */
.grid2{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;margin-bottom:14px}
.side-foot .umenu{top:auto;bottom:calc(100% + 8px);left:0;right:0;min-width:0}
.side{position:fixed;left:0;top:0;bottom:0;width:214px;background:#fff;
  border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:25}
.side-brand{height:60px;display:flex;align-items:center;gap:10px;padding:0 16px;
  border-bottom:1px solid var(--line);flex:none}
.side-brand .logo-img{height:26px;width:auto;max-width:150px;flex:none;
  display:block;object-fit:contain}
.side-brand .logo{width:32px;height:32px;flex:none}
.side-bn{display:flex;flex-direction:column;line-height:1.25;overflow:hidden}
.side-bn b{font-size:14px;font-weight:700;white-space:nowrap}
.side-bn span{font-size:9.5px;color:var(--muted);letter-spacing:.7px}
.side-nav{flex:1;overflow-y:auto;padding:12px 10px}
.nav-lab{font-size:10.5px;color:#9aa7b8;font-weight:600;letter-spacing:.6px;
  padding:12px 8px 6px}
.nav-lab:first-child{padding-top:2px}
.nav{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;
  height:38px;border-radius:8px;padding:0 10px;color:#41506b;font-size:13px;
  text-align:left;margin-bottom:2px;transition:background .15s}
.nav:hover{background:#f4f7fc}
/* 导航图标：线性 SVG，24 网格，未选中中性灰 / 选中品牌渐变 */
.nav .ic{width:18px;height:18px;flex:none;display:block}
.nav .ic svg{display:block;width:18px;height:18px;fill:none;
  stroke:#93a0b4;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;
  transition:stroke .15s}
.nav:hover .ic svg{stroke:#6b7a94}
.nav .tx{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav.on{background:#f2f1fd;
  color:#5b45d6;font-weight:600;position:relative}
.nav.on::before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;
  border-radius:0 3px 3px 0;background:var(--grad-br)}
.nav.on .ic svg,.nav.on:hover .ic svg{stroke:url(#nvGrad);stroke-width:1.7}
.side-foot{flex:none;border-top:1px solid var(--line);padding:10px}
.side-foot .user{width:100%}
.side-foot .userbtn{width:100%;justify-content:flex-start}
.side-foot .umenu{bottom:calc(100% + 6px);top:auto;left:10px;right:10px}

/* 顶栏：精简为面包屑 + 操作 */
.top{height:60px;padding:0 22px;justify-content:space-between}
.top .crumb{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.top .crumb b{font-size:16px;font-weight:700}
.top .crumb .muted{font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top .actions{gap:9px;flex-wrap:nowrap}
.top .actions .muted{font-size:11.5px}

/* 首页卡片 */
.home-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:14px;margin-top:14px}
/* ---------- 体验增强样式 ---------- */
.gsearch{flex:1;min-width:150px;max-width:340px}
.gsearch input{width:100%;height:34px;font-size:13px}
