/* ============================================================
   共享布局样式 - sidebar + topbar
   ============================================================ */
.layout-wrapper { display:flex; min-height:100vh; }

.sidebar { width:220px; min-height:100vh; background:#12141c; border-right:1px solid #2a2d38; display:flex; flex-direction:column; flex-shrink:0; }
.sidebar-logo { padding:16px; border-bottom:1px solid #2a2d38; display:flex; align-items:center; height:80px; box-sizing:border-box; gap:10px; }
.sidebar-logo img { width:48px; height:48px; border-radius:10px; object-fit:cover; flex-shrink:0; }
.sidebar-logo-text { flex:1; }
.sidebar-logo-text h2 { font-size:14px; font-weight:700; color:#fff; line-height:1.2; }
.sidebar-logo-text p { font-size:11px; color:#555; margin-top:2px; }
.sidebar-nav { flex:1; padding:12px 8px; }
.nav-item { display:flex; align-items:center; gap:10px; padding:11px 14px; border-radius:8px; font-size:13px; color:#888; cursor:pointer; transition:all .15s; user-select:none; margin-bottom:4px; text-decoration:none; }
.nav-item:hover { background:#1a1d27; color:#ccc; }
.nav-item.active { background:rgba(45,90,240,0.15); color:#93b4ff; font-weight:600; }
.nav-section-label { font-size:10px; color:#444; padding:12px 14px 4px; text-transform:uppercase; letter-spacing:.5px; }

.main { flex:1; display:flex; flex-direction:column; min-width:0; overflow:hidden; }
.topbar { height:56px; background:#12141c; border-bottom:1px solid #2a2d38; display:flex; align-items:center; justify-content:flex-end; padding:0 20px; gap:12px; position:relative; }
.topbar-user { display:flex; align-items:center; gap:8px; cursor:pointer; padding:6px 12px; border-radius:8px; transition:background .15s; user-select:none; position:relative; }
.topbar-user:hover { background:#1a1d27; }
.user-avatar { width:28px; height:28px; border-radius:50%; background:#2d5af0; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; color:#fff; }
.user-name { font-size:13px; color:#ccc; }
.user-role { font-size:10px; padding:1px 6px; border-radius:10px; background:rgba(45,90,240,0.2); color:#93b4ff; }
.user-role.admin { background:rgba(245,158,11,0.2); color:#fcd34d; }
.dropdown-arrow { color:#555; font-size:10px; }
.dropdown-menu { position:absolute; top:calc(100% + 4px); right:0; background:#1a1d27; border:1px solid #2a2d38; border-radius:10px; padding:6px; min-width:160px; box-shadow:0 8px 24px rgba(0,0,0,0.4); display:none; z-index:100; }
.dropdown-menu.show { display:block; }
.dropdown-item { display:flex; align-items:center; gap:8px; padding:9px 12px; border-radius:6px; font-size:13px; color:#ccc; cursor:pointer; transition:background .1s; }
.dropdown-item:hover { background:#252830; }
.dropdown-item.danger { color:#f87171; }
.dropdown-item.danger:hover { background:rgba(239,68,68,0.1); }
.dropdown-divider { height:1px; background:#2a2d38; margin:4px 0; }

.content { flex:1; overflow-y:auto; }
.content::-webkit-scrollbar { width:6px; }
.content::-webkit-scrollbar-thumb { background:#333; border-radius:3px; }
