/* VC 中台装修 v5：深色左侧边栏 + 浅色标题条（按同事给的参考截图，2026-09-29） */
.shell { display: flex; align-items: stretch; min-height: 100vh; }
.side { flex: 0 0 234px; width: 234px; position: sticky; top: 0; height: 100vh; overflow-y: auto;
  background: linear-gradient(180deg, #151b2d 0%, #101626 100%); color: #c3cddd;
  display: flex; flex-direction: column; padding: 14px 10px 10px; }
.brandbox { display: flex; align-items: center; gap: 10px; padding: 2px 8px 16px; }
.brandbox .lg { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center;
  background: linear-gradient(135deg, #22c55e, #0ea5a4); color: #05271c; font-weight: 800; font-size: 14px; }
.brandbox .bt b { display: block; color: #f3f6fb; font-size: 14px; letter-spacing: .4px; }
.brandbox .bt i { font-style: normal; font-size: 11px; color: #7d8aa3; }
.side .tabs { display: flex; flex-direction: column; gap: 2px; padding: 0; border: 0; flex: 1 1 auto; }
.side .tab { display: flex; align-items: center; gap: 9px; width: 100%; text-align: left; padding: 9px 10px;
  background: transparent; border: 0; border-radius: 8px; color: #b6c1d4; font-size: 13px; cursor: pointer; }
.side .tab:hover { background: rgba(255, 255, 255, .07); color: #fff; }
.side .tab.on { background: rgba(34, 197, 94, .15); color: #fff; font-weight: 600; box-shadow: inset 3px 0 0 #22c55e; }
.side .tab .ti { width: 20px; text-align: center; font-size: 15px; }
.side .tab .tt { flex: 1 1 auto; }
.side .tab .tn { background: rgba(255, 255, 255, .1); color: #cbd5e1; border-radius: 9px; padding: 0 6px; font-size: 11px; margin-left: 4px; }
.side .tab.on .tn { background: rgba(34, 197, 94, .28); color: #d6ffe6; }
.sidefoot { border-top: 1px solid rgba(255, 255, 255, .09); margin-top: 10px; padding: 10px 8px 0; font-size: 11.5px; color: #8c99b1; }
.sidefoot .sf { padding: 2px 0; }
.sidefoot .sf b { color: #e6ecf6; font-weight: 600; }
.sbtn { width: 100%; margin: 6px 0; padding: 6px 8px; border-radius: 7px; cursor: pointer;
  background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .13); color: #dbe3ef; font-size: 12px; }
.sbtn:hover { background: rgba(255, 255, 255, .15); color: #fff; }
.content { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.topbar { background: #fff; color: var(--ink); border-bottom: 1px solid var(--line); padding: 10px 18px; }
.topbar .brand { display: none; }
.tbtitle h1 { font-size: 17px; letter-spacing: .3px; }
.tbtitle p { margin: 2px 0 0; font-size: 12px; color: var(--dim); }
.topbar .tbtn { background: #fff; border-color: var(--line); color: var(--ink2); }
.topbar .tbtn:hover { background: var(--line2); border-color: #c9d0db; color: var(--ink); }
