/* Theme Switcher - Floating Button + Panel */
.theme-switcher { position:fixed; bottom:24px; right:24px; z-index:9999; }
.theme-toggle-btn { width:44px; height:44px; border-radius:50%; background:var(--white); border:1px solid var(--border); box-shadow:0 2px 12px rgba(0,0,0,0.12); cursor:pointer; display:flex; align-items:center; justify-content:center; color:var(--text-light); transition:all 0.3s; }
.theme-toggle-btn:hover { transform:scale(1.1); box-shadow:0 4px 16px rgba(0,0,0,0.18); }
.theme-panel { position:absolute; bottom:52px; right:0; background:var(--white); border-radius:12px; box-shadow:0 4px 20px rgba(0,0,0,0.15); padding:16px; min-width:160px; display:none; border:1px solid var(--border); }
.theme-panel.open { display:block; }
.theme-panel-title { font-size:12px; font-weight:600; color:var(--text-light); margin-bottom:12px; text-align:center; letter-spacing:1px; }
.theme-options { display:flex; flex-direction:column; gap:8px; }
.theme-option { display:flex; align-items:center; gap:10px; padding:8px 12px; border-radius:8px; cursor:pointer; transition:all 0.2s; font-size:13px; color:var(--text); }
.theme-option:hover { background:var(--gray-bg); }
.theme-option.active { background:var(--gray-bg); font-weight:600; }
.theme-preview { width:28px; height:28px; border-radius:6px; border:2px solid var(--border); flex-shrink:0; }
.theme-preview.default { background:linear-gradient(135deg,#0D47A1,#1A73E8,#00ACC1); }
.theme-preview.taobao { background:linear-gradient(135deg,#E65100,#FF6A00,#FF8F00); }
.theme-preview.jd { background:linear-gradient(135deg,#8B0000,#C91623,#E53935); }