/* // 基本样式 */
body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #f8f9fa;
}

/* 登录页居中与关键样式（避免 SSR 首屏闪烁） */
.login-main { display:flex; align-items:center; justify-content:center; min-height: 100vh; }
.login-container { width: 100%; max-width: 360.750px; padding: 2rem; background-color: #fff; border-radius: 10px; box-shadow: 0 4px 12px rgba(0,0,0,.1); box-sizing: border-box; }
.login-header { text-align: center; margin-bottom: 2rem; }
.login-logo { font-size: 3rem; color: #0d6efd; margin-bottom: 1rem; }
.login-title { font-size: 1.5rem; font-weight: 600; color: #343a40; }
.login-subtitle { color: #6c757d; margin-top: .5rem; }
.login-btn { padding: .75rem; font-size: 1rem; font-weight: 500; }
.divider { text-align:center; margin:1.5rem 0; position:relative; }
.divider::before { content:""; position:absolute; top:50%; left:0; right:0; height:1px; background-color:#dee2e6; }
.divider span { background-color:#fff; padding:0 1rem; color:#6c757d; position:relative; }
.third-party-login { display:flex; flex-direction:column; gap:.75rem; }
.third-party-btn { display:flex; align-items:center; justify-content:center; gap:.5rem; padding:.75rem; border:1px solid #dee2e6; background-color:#fff; color:#343a40; text-decoration:none; border-radius:.375rem; transition:all .15s ease-in-out; }
.third-party-btn:hover { background-color:#f8f9fa; color:#343a40; }
.footer-text { text-align:center; margin-top:1.5rem; color:#6c757d; font-size:.875rem; }

/* Header 主题与布局（关键样式提前加载避免闪烁） */
.header-wrap { display:flex; align-items:center; height:56px; padding:0 16px; background:#008CFF; color:#fff; box-shadow:0 2px 8px rgba(0,0,0,.08); }
.header-wrap .brand a { color:#fff; text-decoration:none; font-weight:600; letter-spacing:.5px; }
.header-wrap .spacer { flex:1; }
.header-wrap .user-text { color:#fff; cursor:pointer; padding:0 12px; }
.el-menu-vertical { height: 100%; border-right: none; }
.side-toggle-floating { position: fixed; left: 8px; top: 50%; transform: translateY(-50%); z-index: 2000; width: 32px; height: 32px; border-radius: 16px; border: 1px solid #d1d5db; background: #fff; color: #374151; display:flex; align-items:center; justify-content:center; box-shadow: 0 2px 8px rgba(0,0,0,.08); cursor: pointer; }
