:root{--color-primary: #4F46E5;--color-primary-hover: #4338CA;--color-primary-light: rgba(79, 70, 229, .15);--color-accent: #FBBF24;--color-accent-hover: #F59E0B;--color-success: #10B981;--color-success-light: rgba(16, 185, 129, .15);--color-warning: #F59E0B;--color-error: #EF4444;--color-dev: #6366F1;--color-bg-base: #0F0F14;--color-bg-elevated: #1A1A24;--color-bg-surface: #242430;--color-bg-hover: #2E2E3A;--color-border: #3A3A48;--color-border-light: #2A2A36;--color-text-primary: #FFFFFF;--color-text-secondary: #A0A0B0;--color-text-tertiary: #666680;--font-family: "Pretendard", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 20px;--font-size-xl: 24px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--space-1: 8px;--space-2: 16px;--space-3: 24px;--space-4: 32px;--space-5: 40px;--radius-sm: 8px;--radius-md: 12px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 8px 32px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .5);--z-hud: 100;--z-panel: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--transition-fast: .15s ease;--transition-normal: .2s ease}*{box-sizing:border-box}.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);height:44px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);border:none;outline:none}.ds-btn:focus-visible{box-shadow:0 0 0 2px var(--color-primary)}.ds-btn:disabled{opacity:.5;cursor:not-allowed}.ds-btn-primary{background:var(--color-primary);color:var(--color-text-primary)}.ds-btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.ds-btn-secondary{background:var(--color-bg-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.ds-btn-secondary:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-light)}.ds-btn-tertiary{background:transparent;color:var(--color-text-secondary)}.ds-btn-tertiary:hover:not(:disabled){color:var(--color-text-primary);background:var(--color-bg-hover)}.ds-btn-sm{height:36px;padding:0 var(--space-1);font-size:var(--font-size-sm)}.ds-btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius-sm)}.ds-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:300;opacity:0;pointer-events:none;transition:opacity .2s ease}.ds-overlay.visible{opacity:1;pointer-events:auto}.ds-modal{position:fixed;top:80px;left:50%;transform:translate(-50%);background:linear-gradient(180deg,#1e2a3a,#162230,#111c28);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:16px;border:1px solid rgba(255,255,255,.05);box-shadow:0 25px 80px #0009,0 0 0 1px #ffffff0d;z-index:400;display:flex;flex-direction:column;max-height:calc(100vh - 80px);overflow:hidden;animation:modalEnter .3s ease-out}.ds-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-light);min-height:56px}.ds-modal-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.ds-modal-close{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-tertiary);font-size:24px;cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.ds-modal-close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.ds-modal-body{flex:1;overflow-y:auto;padding:var(--space-3);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.ds-modal-body::-webkit-scrollbar{width:4px}.ds-modal-body::-webkit-scrollbar-track{background:transparent}.ds-modal-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.ds-modal-body::-webkit-scrollbar-thumb:hover{background:#fff3}.ds-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border-light)}.ds-tabs{display:flex;gap:0;padding:0 24px;background:transparent;border-bottom:1px solid rgba(255,255,255,.06)}.ds-tab{padding:16px 24px;font-size:15px;font-weight:600;color:#6b7280;background:transparent;border:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.ds-tab:after{content:"";position:absolute;bottom:-1px;left:50%;transform:translate(-50%);width:0;height:3px;background:linear-gradient(90deg,#10b981,#06b6d4);border-radius:3px 3px 0 0;transition:width .3s cubic-bezier(.4,0,.2,1)}.ds-tab:hover{color:#9ca3af}.ds-tab.active{color:#10b981}.ds-tab.active:after{width:80%}.ds-chips{display:flex;gap:10px;padding:12px 24px 8px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(16,185,129,.3) transparent}.ds-chips::-webkit-scrollbar{height:4px}.ds-chips::-webkit-scrollbar-track{background:#ffffff05;border-radius:2px}.ds-chips::-webkit-scrollbar-thumb{background:#10b9814d;border-radius:2px}.ds-chip{padding:10px 20px;font-size:14px;font-weight:500;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#9ca3af;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.ds-chip:hover{background:#ffffff14;border-color:#ffffff1f;transform:translateY(-1px)}.ds-chip.active{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981;color:#fff;box-shadow:0 4px 12px #10b9814d}.ds-card{background:var(--color-bg-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.ds-list-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);min-height:64px;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.ds-list-item:hover{background:var(--color-bg-hover)}.ds-list-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-surface);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.ds-list-content{flex:1;min-width:0}.ds-list-title{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ds-list-meta{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.rarity-common{border-color:#94a3b899!important;background:linear-gradient(145deg,#8ca0b480,#64748b66)!important}.rarity-uncommon{border-color:#22c55e!important;border-width:2px!important;background:linear-gradient(145deg,#22c55e73,#16a34a59)!important;box-shadow:0 0 20px #22c55e66,inset 0 0 30px #22c55e4d}.rarity-rare{border-color:#3b82f6!important;border-width:2px!important;background:linear-gradient(145deg,#3b82f673,#2563eb59)!important;box-shadow:0 0 20px #3b82f666,inset 0 0 30px #3b82f64d}.rarity-epic{border-color:#a855f7!important;border-width:3px!important;background:linear-gradient(145deg,#a855f78c,#8b5cf673)!important;box-shadow:0 0 25px #a855f780,inset 0 0 35px #a855f766}.rarity-legendary{border-color:#fbbf24!important;border-width:3px!important;background:linear-gradient(145deg,#fbbf248c,#f59e0b73)!important;box-shadow:0 0 30px #fbbf2499,inset 0 0 40px #fb923c80;animation:legendaryGlow 2s ease-in-out infinite}@keyframes legendaryGlow{0%,to{box-shadow:0 0 30px #fb923c80,inset 0 0 35px #fb923c4d}50%{box-shadow:0 0 45px #fb923cb3,inset 0 0 50px #fb923c66}}.rarity-legendary:hover{box-shadow:0 10px 40px #fb923c99,inset 0 0 45px #fb923c59!important}.rarity-epic:hover{box-shadow:0 10px 35px #a855f780,inset 0 0 35px #a855f74d!important}.rarity-rare:hover{box-shadow:0 10px 30px #3b82f673,inset 0 0 30px #3b82f640!important}.ds-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.ds-badge-dev{background:var(--color-dev);color:#fff}.ds-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-5);text-align:center}.ds-empty-icon{font-size:48px;color:var(--color-text-tertiary);margin-bottom:var(--space-2)}.ds-empty-text{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.ds-toast{position:fixed;top:var(--space-3);left:50%;transform:translate(-50%);padding:var(--space-1) var(--space-3);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-sm);box-shadow:var(--shadow-md);z-index:var(--z-toast);animation:toastSlide .3s ease}.ds-toast-success{border-color:var(--color-success);background:var(--color-success-light)}.ds-toast-error{border-color:var(--color-error)}@keyframes toastSlide{0%{opacity:0;transform:translate(-50%) translateY(-16px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.ds-slot{width:48px;height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#1e263399;border:1px dashed rgba(100,116,139,.3);border-radius:var(--radius-sm);gap:2px;transition:all .2s ease}.ds-slot:hover{border-color:#94a3b866;background:#2a344199}.ds-slot.filled{border-style:solid;border-color:var(--color-success);background:#10b98126}.ds-slot-label{font-size:9px;color:#64748b}.ds-slot-value{font-size:10px;color:#e2e8f0;font-weight:var(--font-weight-medium)}.inv-grid-container{display:flex;flex-direction:column}.inv-group-label{font-size:13px;font-weight:600;color:#ffffff73;letter-spacing:.5px;padding:2px 8px 6px;margin-top:0}.inv-group-divider{height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 20%,rgba(255,255,255,.1) 80%,transparent 100%);margin:8px 0 4px}.inv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:4px}.inv-slot{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 6px;background:#1e263399;border:2px solid rgba(255,255,255,.08);border-radius:10px;position:relative;overflow:hidden;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.inv-slot.empty{opacity:.25;background:#0003;border:2px dashed rgba(255,255,255,.08)}.inv-slot.filled{background:#2a3443b3;border-color:#ffffff1f}.inv-slot.filled:hover{transform:translateY(-6px) scale(1.02);background:#343e4de6;border-color:#fff3;box-shadow:0 16px 40px #00000073}.inv-slot.selected{border-color:#10b981!important;border-width:3px!important;box-shadow:0 0 0 4px #10b98126,0 12px 32px #10b98140}.inv-slot.rarity-legendary{background:linear-gradient(180deg,#1a2535,#151e2c);border-color:#fbbf24;animation:legendaryPulse 3s ease-in-out infinite,cardFadeIn .4s ease-out both}@keyframes legendaryPulse{0%,to{box-shadow:0 0 15px #fbbf2440}50%{box-shadow:0 0 30px #fbbf2473}}.inv-slot.rarity-epic{background:linear-gradient(180deg,#1a2535,#151e2c);border-color:#a855f7;box-shadow:0 0 12px #a855f740}.inv-slot.rarity-rare{background:linear-gradient(180deg,#1a2535,#151e2c);border-color:#3b82f6;box-shadow:0 0 10px #3b82f633}.inv-slot.rarity-uncommon{background:linear-gradient(180deg,#1a2535,#151e2c);border-color:#22c55e;box-shadow:0 0 8px #22c55e33}.inv-slot.rarity-common{background:linear-gradient(180deg,#1a2535,#151e2c);border-color:#94a3b880;box-shadow:none}.inv-slot.equipped{border-color:#10b981!important;border-width:3px!important;background:linear-gradient(145deg,#10b98140,#1e2633b3 60%);box-shadow:0 0 20px #10b98133}.inv-rarity-badge{position:absolute;top:6px;left:6px;padding:2px 6px;border-radius:6px;font-size:10px;font-weight:600;color:#fff;z-index:10;opacity:.85}.inv-rarity-badge.legendary{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 2px 6px #fbbf2466}.inv-rarity-badge.epic{background:linear-gradient(135deg,#a855f7,#7c3aed);box-shadow:0 2px 6px #a855f766}.inv-rarity-badge.rare{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 6px #3b82f64d}.inv-rarity-badge.uncommon{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 2px 6px #22c55e4d}.inv-rarity-badge.common{background:linear-gradient(135deg,#94a3b8,#64748b);box-shadow:0 2px 6px #94a3b84d}.inv-slot-img{width:64px;height:64px;margin:auto;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4));transition:transform .3s}.inv-slot-img.texture-preview{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:8px;filter:none;background-size:200%;background-position:center}.inv-slot-img img{width:100%;height:100%;object-fit:contain}.inv-slot:hover .inv-slot-img{transform:scale(1.1)}.inv-slot-info{width:100%;text-align:center;margin-top:auto;padding-bottom:4px}.inv-slot-name{font-size:11px;font-weight:600;color:#e5e7eb;margin-bottom:1px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inv-slot-category{font-size:9px;color:#9ca3af}.inv-slot-eq{position:absolute;top:8px;right:8px;width:22px;height:22px;background:linear-gradient(135deg,#10b981,#059669);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;box-shadow:0 2px 8px #10b98166}.inv-slot-count{position:absolute;top:6px;right:6px;min-width:22px;padding:2px 6px;background:#10b981e6;border-radius:8px;border:1px solid rgba(255,255,255,.2);font-size:10px;font-weight:700;color:#fff;text-align:center;box-shadow:0 2px 6px #0000004d;z-index:10;opacity:.85}.ds-modal-body::-webkit-scrollbar{width:6px}.ds-modal-body::-webkit-scrollbar-track{background:#ffffff05;border-radius:10px}.ds-modal-body::-webkit-scrollbar-thumb{background:#8b5cf680;border-radius:10px}.ds-modal-body::-webkit-scrollbar-thumb:hover{background:#8b5cf6b3}@keyframes modalEnter{0%{opacity:0;transform:translate(-50%) scale(.95)}to{opacity:1;transform:translate(-50%) scale(1)}}.ds-modal-header{padding:20px 24px;background:linear-gradient(180deg,rgba(255,255,255,.05) 0%,transparent 100%);border-bottom:1px solid rgba(255,255,255,.06)}.ds-modal-title{font-size:20px;font-weight:700;color:#e2e8f0;letter-spacing:-.3px}.ds-modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:none;color:#94a3b8;font-size:20px;cursor:pointer;border-radius:8px;transition:all .2s}.ds-modal-close:hover{background:#ef444433;color:#f87171}.ds-modal-body{background:transparent}.ds-modal-footer{background:linear-gradient(0deg,rgba(0,0,0,.2) 0%,transparent 100%);border-top:1px solid rgba(255,255,255,.06);padding:16px 24px}#tab-shop{background:#fff;border-radius:12px;padding:24px}.shop-balance-bar{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:linear-gradient(135deg,#fff9e6,#fff3cc);border:1px solid #F0E6C0;border-radius:12px;margin-bottom:20px}.shop-balance-left{display:flex;align-items:center;gap:10px}.shop-balance-star{font-size:28px}.shop-balance-num{font-size:28px;font-weight:800;color:#b8860b;letter-spacing:-.02em}.shop-balance-label{font-size:14px;color:#a0855c;font-weight:500}.shop-cat-bar{display:flex;gap:10px;padding:14px 20px;margin-bottom:20px;background:linear-gradient(135deg,#f0eeff,#ebf0ff);border-radius:14px;border:1.5px solid #DDD8F3;box-shadow:0 2px 8px #8b5cf60f}.shop-cat-pill{padding:10px 22px;border-radius:24px;border:1.5px solid #E5E7EB;background:#fff;color:#64748b;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.shop-cat-pill:hover{border-color:#8b5cf6;color:#8b5cf6}.shop-cat-pill.active{background:linear-gradient(135deg,#8b5cf6,#6366f1);border-color:transparent;color:#fff;box-shadow:0 4px 12px #8b5cf64d}.shop-subfilter{display:flex;gap:8px;margin-bottom:16px;padding:0 0 14px;flex-wrap:wrap;border-bottom:2px solid #DCDEE3}.shop-subfilter-btn{padding:8px 18px;border-radius:20px;border:1.5px solid #E2E8F0;background:#fff;color:#64748b;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.shop-subfilter-btn:hover{border-color:#94a3b8;color:#334155;background:#f8fafc}.shop-subfilter-btn.active{background:#1e293b;border-color:#1e293b;color:#fff;box-shadow:0 2px 6px #1e293b33}.shop-grid-container{min-height:300px;margin-top:0;background:#ecedf1;border-radius:16px;padding:24px;border:1.5px solid #D8DBE2;box-shadow:inset 0 2px 6px #0000000a}.shop-grid-wrap{display:none}.shop-grid-wrap.active{display:block}.shop-grid-v{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:20px}.shop-empty-v{grid-column:1 / -1;text-align:center;color:#9ca3af;padding:60px 20px;font-size:15px}.shop-card-v{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:16px;overflow:hidden;transition:all .25s ease;cursor:pointer;box-shadow:0 2px 12px #0000001a}.shop-card-v:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000026}.shop-card-v.owned,.shop-card-v.owned:hover{opacity:1}.shop-card-v-preview{width:100%;height:150px;background:#f5f5f7;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border-bottom:1px solid #EEEEEE}.shop-card-v-preview img{width:100px;height:100px;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.15));transition:transform .3s ease}.shop-card-v:hover .shop-card-v-preview img{transform:scale(1.12)}.shop-card-v-rarity{position:absolute;top:8px;left:8px;padding:2px 8px;border-radius:6px;font-size:10px;font-weight:700;color:#fff;letter-spacing:.3px}.shop-card-v-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px}.shop-card-v-name{font-size:14px;font-weight:700;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shop-card-v-price{display:flex;align-items:center;gap:4px;font-size:16px;font-weight:800;color:#92400e}.shop-card-v-star{font-size:14px}.shop-card-v-qty{font-size:12px;font-weight:500;color:#10b981}.shop-card-v-type{position:absolute;bottom:8px;left:8px;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:700;color:#fff;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);letter-spacing:.3px}.shop-card-v-btn{width:100%;padding:10px 0;border-radius:10px;border:none;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s;background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;margin-top:4px;box-shadow:0 2px 8px #3b82f640}.shop-card-v-btn:hover{transform:scale(1.02);box-shadow:0 4px 12px #3b82f659;filter:brightness(1.08)}.shop-card-v-btn.disabled,.shop-card-v-btn:disabled{background:#fef2f2;color:#ef4444;border:1px solid #FECACA;cursor:not-allowed;transform:none;box-shadow:none;font-size:13px}.shop-card-v-btn.owned{background:#f0fdf4;color:#16a34a;border:1px solid #BBF7D0;cursor:default;box-shadow:none}.shop-header,.shop-categories,.shop-grid,.shop-grid.active{display:none}.hero-quick-btn-new{display:flex;align-items:center;gap:12px;padding:14px 24px 14px 18px;border-radius:14px;border:none;background:#ffffff4d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;box-shadow:0 4px 16px #0000001f;transition:all .2s ease}.hero-quick-btn-new:hover{transform:translateY(-1px);box-shadow:0 6px 20px #0003}.hero-quick-btn-new:hover svg:last-child{transform:translate(2px)}.hero-quick-btn-new svg:last-child{transition:transform .2s ease}.admin-stats-row{display:flex;gap:12px;margin-bottom:20px}.admin-stat-card{display:flex;align-items:center;gap:10px;padding:14px 20px;background:#fff;border-radius:10px;border:1px solid #e5e7eb}.admin-stat-value{font-size:22px;font-weight:700}.admin-stat-label{font-size:14px;font-weight:500;color:#64748b}.admin-stat-card.stat-pending .admin-stat-value{color:#f59e0b}.admin-stat-card.stat-teacher .admin-stat-value{color:#3b82f6}.admin-stat-card.stat-student .admin-stat-value{color:#8b5cf6}.admin-stat-card.stat-total .admin-stat-value{color:#64748b}.admin-pending-section{background:#fff;border-radius:12px;border:1px solid #e5e7eb;padding:20px;margin-bottom:20px}.admin-pending-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.pending-dot{width:8px;height:8px;border-radius:50%;background:#f59e0b}.pending-title{font-size:15px;font-weight:600;color:#1e293b}.pending-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#fafafa;border-radius:10px;margin-bottom:8px}.pending-row:last-child{margin-bottom:0}.pending-user-info{display:flex;align-items:center;gap:12px}.pending-avatar{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:600}.pending-details{display:flex;align-items:center;gap:8px}.pending-name{font-size:14px;font-weight:600;color:#1e293b}.pending-account{font-size:13px;color:#94a3b8}.pending-arrow{font-size:13px;color:#94a3b8;margin-left:4px}.pending-actions{display:flex;gap:8px}.btn-approve{padding:8px 18px;border-radius:8px;border:none;background:#22c55e;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-approve:hover{background:#16a34a}.btn-reject{padding:8px 18px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#64748b;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-reject:hover{background:#f8fafc;border-color:#cbd5e1}.admin-member-section{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.admin-member-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f1f5f9}.admin-member-title{font-size:15px;font-weight:600;color:#1e293b;margin:0}.admin-member-controls{display:flex;gap:10px}.admin-search-box{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;border:1px solid #e5e7eb;background:#fff}.admin-search-input{border:none;outline:none;font-size:13px;color:#1e293b;width:120px;background:transparent}.admin-search-input::placeholder{color:#94a3b8}.admin-member-table-wrapper{overflow:visible;min-height:400px}.admin-member-table{width:100%;border-collapse:collapse}.admin-member-table thead tr{background:#f9fafb;border-bottom:1px solid #f1f5f9}.admin-member-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.admin-member-table th.col-check{width:48px;padding-left:20px}.admin-member-table th.col-member{min-width:200px}.admin-member-table th.col-activity{min-width:120px}.admin-member-table th.col-role{width:120px}.admin-member-table th.col-actions{width:48px}.admin-member-table tbody tr{border-top:1px solid #f1f5f9;transition:background .15s ease}.admin-member-table tbody tr:hover{background:#fafafa}.admin-member-table td{padding:14px 16px;vertical-align:middle}.admin-member-table td.col-check{padding-left:20px}.member-info{display:flex;align-items:center;gap:12px}.member-avatar{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:600;flex-shrink:0}.member-details{display:flex;flex-direction:column;gap:2px}.member-name{font-size:14px;font-weight:500;color:#1e293b}.member-account{font-size:12px;color:#94a3b8}.activity-text{font-size:13px;color:#64748b}.role-text{font-size:13px;font-weight:500;color:#64748b}.role-select{padding:6px 12px;border-radius:6px;border:1px solid #e5e7eb;background:#fff;font-size:13px;color:#475569;cursor:pointer;outline:none;transition:border-color .15s}.role-select:hover{border-color:#cbd5e1}.role-select:focus{border-color:#8b5cf6}.more-btn{width:32px;height:32px;border-radius:6px;border:1px solid #e5e7eb;background:#fff;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.more-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#64748b}.more-btn svg{width:16px;height:16px}.admin-member-table input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#8b5cf6}.admin-pending-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.pending-header-left{display:flex;align-items:center;gap:10px}.pending-checkbox{width:16px;height:16px;cursor:pointer;accent-color:#f59e0b}.pending-user-checkbox{width:16px;height:16px;cursor:pointer;accent-color:#f59e0b;margin-right:4px}.pending-batch-actions{display:flex;gap:8px}.btn-batch-approve{padding:6px 14px;border-radius:6px;border:none;background:#22c55e;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-batch-approve:hover{background:#16a34a}.btn-batch-reject{padding:6px 14px;border-radius:6px;border:1px solid #fecaca;background:#fef2f2;color:#dc2626;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-batch-reject:hover{background:#fee2e2;border-color:#fca5a5}
