/* 后台登录页与主导航：保持业务页面内部样式不变 */
.login-view {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 24px;
  background: radial-gradient(circle at 18% 16%, rgba(18,128,90,.10), transparent 30%), radial-gradient(circle at 84% 82%, rgba(84,185,196,.10), transparent 28%), #f3f7f5;
}
.login-panel {
  display: flex;
  width: min(430px, 100%);
  padding: 42px 42px 34px;
  border: 1px solid #e0e8e4;
  border-radius: 18px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 22px 60px rgba(34,65,52,.11);
  flex-direction: column;
  justify-content: flex-start;
}
.login-panel > .brand-mark { align-self: center; width: 54px; height: 54px; border: 0; border-radius: 16px; box-shadow: 0 8px 22px rgba(18,128,90,.20); }
.login-copy { margin-top: 22px; text-align: center; }
.login-copy p { margin-bottom: 8px; font-size: 11px; letter-spacing: 1.8px; }
.login-copy h1 { color: #1b2d25; font-size: 25px; line-height: 1.35; }
.login-copy > span { margin-top: 8px; color: #7b8981; font-size: 13px; }
.login-form { gap: 16px; margin-top: 30px; }
.login-form label { gap: 8px; color: #425149; font-size: 13px; }
.login-form input { height: 48px; padding: 0 14px; border-color: #d8e2dd; border-radius: 10px; background: #fbfcfc; font-size: 14px; }
.login-form input::placeholder { color: #adb7b2; }
.login-form .primary-button { height: 48px; margin-top: 2px; border-radius: 10px; font-size: 15px; }
.login-security { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 20px 0 0; color: #98a39d; font-size: 11px; }
.login-security i { width: 7px; height: 7px; border-radius: 50%; background: #37b882; box-shadow: 0 0 0 3px #e8f7f0; }

.sidebar { flex-basis: 224px; width: 224px; padding: 18px 13px 15px; border-right: 1px solid #e1e8e4; background: #fff; color: #24342c; box-shadow: 5px 0 22px rgba(37,60,49,.035); }
.sidebar-brand { gap: 11px; padding: 2px 8px 19px; border-bottom: 1px solid #edf1ef; }
.sidebar-brand .brand-mark.small { width: 38px; height: 38px; flex-basis: 38px; border: 0; border-radius: 11px; box-shadow: 0 5px 13px rgba(18,128,90,.16); }
.sidebar-brand strong { color: #21332a; font-size: 16px; }
.sidebar-brand span { margin-top: 3px; color: #8b9690; font-size: 11px; }
.sidebar-section-label { padding: 18px 11px 7px; color: #a1aaa5; font-size: 10px; font-weight: 700; letter-spacing: 1.2px; }
.main-nav { gap: 4px; margin-top: 0; }
.main-nav button { position: relative; height: 44px; padding: 0 12px; border-radius: 9px; color: #637069; font-size: 13px; }
.main-nav button:hover { background: #f4f7f5; color: #224d3d; }
.main-nav button.active { background: #eaf5f0; color: #117853; font-weight: 700; }
.main-nav button.active::before { position: absolute; top: 11px; bottom: 11px; left: 0; width: 3px; border-radius: 0 3px 3px 0; background: #16845e; content: ''; }
.main-nav button > span { margin-left: 12px; }
.main-nav button b { background: #f05a55; box-shadow: 0 2px 6px rgba(240,90,85,.18); }
.nav-icon { opacity: .82; }
.sidebar-foot { margin: auto 2px 0; padding: 12px; border: 1px solid #e3ebe7; border-radius: 10px; background: #f7faf8; }
.sidebar-foot > span { color: #98a39d; font-size: 10px; }
.sidebar-foot strong { margin-top: 7px; color: #39745d; font-size: 12px; }
.sidebar-foot i { background: #25bb7d; box-shadow: 0 0 0 3px #ddf5ea; }

@media (max-width: 900px) {
  .login-view { padding: 16px; }
  .login-panel { padding: 34px 25px 28px; }
  .sidebar { position: fixed; z-index: 20; top: 0; bottom: 0; left: -224px; transition: left .2s ease; }
  .sidebar.open { left: 0; }
}
