.members-list{border:1px solid var(--border2);border-radius:10px;overflow:hidden;background:var(--bg)}.members-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.member-count{font-size:12px;color:var(--text3);font-weight:500}.members-toolbar-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.history-dialog{width:480px;max-width:95%}.history-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 10px}.history-header h3{margin:0;font-size:14px;font-weight:600;color:var(--text)}.history-title{display:flex;align-items:baseline;gap:10px}.history-total{font-size:11px;color:var(--text3);font-weight:500}.history-header .md-close-btn{position:static;background:none;border:none;font-size:20px;color:var(--text3);cursor:pointer;padding:0 4px}.history-search-row{padding:4px 20px 12px}.history-search-input{width:100%;padding:7px 12px;font-size:13px;font-family:var(--font);background:var(--bg2);border:1px solid var(--border);border-radius:6px;color:var(--text);transition:border-color .12s}.history-search-input:focus{outline:none;border-color:var(--accent)}.history-body{padding:0 8px;max-height:400px;overflow-y:auto}.history-table{width:100%;border-collapse:collapse;font-size:12.5px;table-layout:fixed}.history-table th:nth-child(1),.history-table td:nth-child(1){width:40%}.history-table th:nth-child(2),.history-table td:nth-child(2){width:32%}.history-table th:nth-child(3),.history-table td:nth-child(3){width:28%}.history-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-table th{padding:8px 12px;text-align:left;font-weight:600;color:var(--text3);font-size:11px;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border2);position:sticky;top:0;background:var(--bg)}.history-table td{padding:10px 12px;transition:background .1s}.history-table tbody tr:hover td{background:var(--bg2)}.history-table .col-code{font-family:var(--mono);font-size:12px;color:var(--accent)}.history-table .col-date{color:var(--text2);font-size:11.5px;white-space:nowrap}.history-pagination{display:flex;align-items:center;justify-content:center;gap:2px;padding:10px}.history-pagination button{min-width:28px;height:28px;padding:0 8px;border:none;background:none;border-radius:5px;cursor:pointer;font-size:12px;color:var(--text2);transition:all .12s;font-weight:500}.history-pagination button:hover:not(:disabled){background:var(--bg2);color:var(--text)}.history-pagination button.active{color:var(--accent);font-weight:700;background:none}.history-pagination button:disabled{opacity:.3;cursor:not-allowed}.members-filter{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text3)}.members-filter select{padding:5px 10px;border:1px solid var(--border);border-radius:6px;font-size:12px;font-family:var(--font);color:var(--text);background:var(--bg);cursor:pointer}.members-filter select:focus{outline:none;border-color:var(--accent)}.rank-R1{background:linear-gradient(135deg,#10b98105,#10b98112 70%,#34d3991f)}.rank-R2{background:linear-gradient(135deg,#3b82f605,#3b82f614 70%,#60a5fa24)}.rank-R3{background:linear-gradient(135deg,#8b5cf605,#8b5cf614 70%,#a78bfa24)}.rank-R4{background:linear-gradient(135deg,#b48c140a,#b48c1424 60%,#dcb4323d 85%,#f5d77852)}.rank-R5{background:linear-gradient(135deg,#8b00000a,#8b000024 55%,#b2222238 80%,#cd46464d)}.mc-photo-wrap{position:relative;flex-shrink:0;width:40px;height:40px;border-radius:10px;display:grid;place-items:center}.mc-photo-wrap>.mc-photo,.mc-photo-wrap>.mc-photo-empty{grid-area:1 / 1}.mc-photo-wrap .mc-photo{width:36px;height:36px;border-radius:8px;z-index:1;object-fit:cover}.mc-photo-wrap .mc-photo.mc-photo-fade{opacity:0;transition:opacity 80ms ease-out}.mc-photo-wrap .mc-photo.mc-photo-fade.mc-photo-loaded{opacity:1}.mc-photo-wrap .mc-photo-empty{width:36px;height:36px;border-radius:8px;z-index:0}.mc-photo-wrap.lv-28,.mc-photo-wrap.lv-29,.mc-photo-wrap.lv-30{background-size:300% 300%;animation:gradientMove 4s ease infinite}.mc-photo-wrap.lv-28{background-image:linear-gradient(135deg,#15803d,#34d399,#10b981,#15803d)}.mc-photo-wrap.lv-29{background-image:linear-gradient(135deg,#8b5cf6,#06b6d4,#a855f7,#8b5cf6);animation-duration:3s}.mc-photo-wrap.lv-30{background-image:linear-gradient(135deg,#ef4444,#f97316,#eab308,#ef4444);animation-duration:2s}@keyframes gradientMove{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.mc-photo-wrap.lv-28:before,.mc-photo-wrap.lv-29:before,.mc-photo-wrap.lv-30:before,.mc-photo-wrap.lv-30:after{content:"";position:absolute;border-radius:10px;z-index:0;pointer-events:none}.mc-photo-wrap.lv-28:before{inset:-1px;background:linear-gradient(135deg,#15803d,#34d399,#10b981,#15803d);background-size:300% 300%;animation:gradientMove 4s ease infinite,haze 3s ease-in-out infinite;filter:blur(3px);opacity:.4}.mc-photo-wrap.lv-29:before{inset:-2px;background:linear-gradient(135deg,#8b5cf6,#06b6d4,#a855f7,#8b5cf6);background-size:300% 300%;animation:gradientMove 3s ease infinite,haze 2.5s ease-in-out infinite;filter:blur(4px);opacity:.45}.mc-photo-wrap.lv-30:before{inset:-2px;background:linear-gradient(135deg,#ef4444,#f97316,#eab308,#ef4444);background-size:300% 300%;animation:gradientMove 2s ease infinite,haze 2s ease-in-out infinite;filter:blur(4px);opacity:.5}.mc-photo-wrap.lv-30:after{inset:-3px;background:radial-gradient(circle,rgba(249,115,22,.3),rgba(239,68,68,.15),transparent 70%);animation:hazeOuter 3s ease-in-out infinite;filter:blur(6px);opacity:.4}@keyframes haze{0%,to{transform:scale(1);opacity:.35}50%{transform:scale(1.08);opacity:.55}}@keyframes hazeOuter{0%,to{transform:scale(1);opacity:.25}33%{transform:scale(1.12);opacity:.45}66%{transform:scale(.95);opacity:.3}}.members-thead,.member-row{display:grid;grid-template-columns:44px 1.5fr 55px 60px 50px 90px 40px;align-items:center;gap:10px;padding:10px 16px}.members-thead{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text3);border-bottom:1px solid var(--border);background:var(--bg2)}.members-thead>div:nth-child(n+3):nth-child(-n+6){text-align:center}.member-row{border-bottom:1px solid var(--border2)}.mc-rank-cell{text-align:center;font-size:13px;font-weight:600;color:var(--text)}.member-row:last-child{border-bottom:none}.mc-photo{width:36px;height:36px;border-radius:8px;object-fit:cover;flex-shrink:0}.mc-photo-empty{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,var(--accent-bg),var(--bg3));display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:var(--accent)}.mc-name{font-size:14px;font-weight:700;color:var(--text)}.mc-sub{display:none}.mc-level{text-align:center;font-size:13px;color:var(--text);font-variant-numeric:tabular-nums}.mc-power{text-align:center;font-size:13px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.mc-pos{text-align:center;font-size:12px;font-weight:700;color:var(--text2);font-variant-numeric:tabular-nums}.member-row.member-row-failed{background:linear-gradient(to right,rgba(245,158,11,.08),transparent 60%);box-shadow:inset 3px 0 #f59e0b}.mc-fail-badge{display:inline-block;margin-left:6px;color:#b45309;font-size:13px;font-weight:700;vertical-align:middle;cursor:help}.refresh-fail-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;margin:0 0 10px;background:#fff8e1;border:1px solid #f59e0b;border-radius:8px}.rfb-icon{font-size:20px;color:#b45309;line-height:1;flex-shrink:0}.rfb-text{flex:1;min-width:200px;font-size:13px;color:#78350f;line-height:1.4;word-break:keep-all}.rfb-text strong{color:#92400e;font-weight:700}.rfb-actions{display:flex;gap:6px;flex-wrap:wrap}.rfb-actions .btn{white-space:nowrap}.mc-manage-btn{width:32px;height:32px;border-radius:6px;border:none;background:none;cursor:pointer;color:var(--text2);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;transition:all .12s;letter-spacing:2px}.mc-manage-btn:hover{background:var(--bg3);color:var(--text)}.manage-dialog-overlay{display:none;position:fixed;inset:0;z-index:300;background:#0006;align-items:center;justify-content:center}.manage-dialog-overlay.open{display:flex}.manage-dialog{background:var(--bg);border-radius:10px;width:360px;box-shadow:0 4px 24px #0000001f,0 0 0 1px var(--border2);overflow:hidden;position:relative}.md-profile{display:flex;align-items:center;gap:14px;padding:24px 20px}.md-profile img,.md-profile .md-avatar-empty{width:56px;height:56px;border-radius:12px;object-fit:cover;flex-shrink:0}.md-avatar-empty{background:var(--bg3);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;color:var(--text3)}.md-profile-center{flex:1;min-width:0}.md-profile-name{font-size:16px;font-weight:600;color:var(--text);line-height:1.3}.md-profile-id{font-size:12px;color:var(--text3);margin-top:2px;line-height:1.4}.md-profile-meta{font-size:12px;color:var(--text3);line-height:1.4}.md-profile.rank-R1{background:linear-gradient(135deg,#10b98105,#34d39914);border-radius:10px 10px 0 0}.md-profile.rank-R2{background:linear-gradient(135deg,#3b82f605,#60a5fa14);border-radius:10px 10px 0 0}.md-profile.rank-R3{background:linear-gradient(135deg,#8b5cf605,#a78bfa14);border-radius:10px 10px 0 0}.md-profile.rank-R4{background:linear-gradient(135deg,#b48c1408,#f5d7782e);border-radius:10px 10px 0 0}.md-profile.rank-R5{background:linear-gradient(135deg,#8b000008,#cd464629);border-radius:10px 10px 0 0}.md-profile .md-photo-wrap{position:relative;flex-shrink:0;width:60px;height:60px;border-radius:14px;display:flex;align-items:center;justify-content:center}.md-profile .md-photo-wrap img{width:52px;height:52px;border-radius:10px;position:relative;z-index:1;object-fit:cover}.md-profile .md-photo-wrap.lv-28{background-image:linear-gradient(135deg,#15803d,#34d399,#10b981,#15803d);background-size:300% 300%;animation:gradientMove 4s ease infinite}.md-profile .md-photo-wrap.lv-29{background-image:linear-gradient(135deg,#8b5cf6,#06b6d4,#a855f7,#8b5cf6);background-size:300% 300%;animation:gradientMove 3s ease infinite}.md-profile .md-photo-wrap.lv-30{background-image:linear-gradient(135deg,#ef4444,#f97316,#eab308,#ef4444);background-size:300% 300%;animation:gradientMove 2s ease infinite}.md-profile .md-photo-wrap.lv-28:before,.md-profile .md-photo-wrap.lv-29:before,.md-profile .md-photo-wrap.lv-30:before,.md-profile .md-photo-wrap.lv-30:after{content:"";position:absolute;border-radius:14px;z-index:0;pointer-events:none}.md-profile .md-photo-wrap.lv-28:before{inset:-2px;background:linear-gradient(135deg,#15803d,#34d399,#10b981,#15803d);background-size:300% 300%;animation:gradientMove 4s ease infinite,haze 3s ease-in-out infinite;filter:blur(4px);opacity:.4}.md-profile .md-photo-wrap.lv-29:before{inset:-3px;background:linear-gradient(135deg,#8b5cf6,#06b6d4,#a855f7,#8b5cf6);background-size:300% 300%;animation:gradientMove 3s ease infinite,haze 2.5s ease-in-out infinite;filter:blur(5px);opacity:.45}.md-profile .md-photo-wrap.lv-30:before{inset:-3px;background:linear-gradient(135deg,#ef4444,#f97316,#eab308,#ef4444);background-size:300% 300%;animation:gradientMove 2s ease infinite,haze 2s ease-in-out infinite;filter:blur(5px);opacity:.5}.md-profile .md-photo-wrap.lv-30:after{inset:-5px;background:radial-gradient(circle,rgba(249,115,22,.3),rgba(239,68,68,.15),transparent 70%);animation:hazeOuter 3s ease-in-out infinite;filter:blur(7px);opacity:.4}.md-refresh-btn{padding:6px;border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--text3)}.md-refresh-btn:hover{color:var(--text)}.manage-dialog-body{padding:0}.md-form-row{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;border-top:1px solid var(--border2);font-size:13px}.md-form-row:first-child{border-top:none}.md-form-label{color:var(--text3);font-size:13px;font-weight:400}.md-form-value{display:flex;justify-content:flex-end;align-items:center;flex:1;margin-left:16px}.md-form-value input[type=text]{width:100%;padding:4px 0;border:none;font-size:13px;font-family:var(--font);color:var(--text);text-align:right;background:none}.md-form-value input[type=text]:focus{outline:none}.md-form-value input[type=text]::placeholder{color:var(--border)}.md-form-value input#md-power{width:120px;padding:3px 8px;border:1px solid var(--border2);border-radius:4px;background:var(--bg);text-align:right;font-variant-numeric:tabular-nums}.md-form-value input#md-power:focus{outline:none;border-color:var(--accent)}.md-select{padding:3px 22px 3px 8px;border:1px solid var(--border2);border-radius:4px;font-size:13px;font-family:var(--font);color:var(--text);background:var(--bg);cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='M0 0l4 5 4-5z' fill='%238b949e'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.md-select:focus{outline:none;border-color:var(--accent)}.md-toggle{position:relative;width:34px;height:18px;flex-shrink:0}.md-toggle input{opacity:0;width:0;height:0}.md-toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--border);border-radius:9px;transition:.2s}.md-toggle-slider:before{content:"";position:absolute;width:14px;height:14px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 2px #0000001f}.md-toggle input:checked+.md-toggle-slider{background:var(--accent)}.md-toggle input:checked+.md-toggle-slider:before{transform:translate(16px)}.coupon-search-input,.member-search-input{padding:5px 10px;border:1px solid var(--border2);border-radius:6px;font-size:12px;font-family:var(--font);color:var(--text);background:var(--bg);width:160px;transition:border-color .15s}.coupon-search-input:focus,.member-search-input:focus{outline:none;border-color:var(--accent)}.coupon-search-input::placeholder,.member-search-input::placeholder{color:var(--text3)}@media(max-width:720px){.coupon-search-input,.member-search-input{font-size:16px}}.coupon-card.coupon-expiring{border-color:#f59e0b;background:#f59e0b0d}.coupon-badge-expiring{display:inline-block;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600;background:#f59e0b26;color:#b45309;margin-left:4px}.coupon-card{cursor:pointer;transition:transform .1s,border-color .15s,background .15s}.coupon-card:hover{transform:translateY(-1px)}.coupon-card.coupon-selected{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 0 0 2px #0969da26}.coupon-card.coupon-selected .coupon-badge-active{background:var(--accent);color:#fff}.coupon-select-hint{flex-basis:100%;font-size:12px;color:var(--text2);margin-top:4px;padding:4px 0;line-height:1.5}.coupon-select-hint strong{color:var(--accent);font-weight:700}@keyframes giftDone{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.cp-btn-just-done{animation:giftDone .4s ease}.manage-dialog-actions{display:flex;align-items:center;gap:4px;padding:10px 20px;border-top:1px solid var(--border2)}.md-action-save{padding:5px 16px;border-radius:4px;border:none;background:var(--accent);color:#fff;font-size:13px;font-weight:500;cursor:pointer;font-family:var(--font);transition:background .12s}.md-action-save:hover{background:#0757b5}.md-action-delete-btn{padding:5px 14px;border-radius:4px;border:1px solid var(--red);background:#fff;color:var(--red);font-size:13px;font-weight:500;cursor:pointer;font-family:var(--font);transition:all .12s}.md-action-delete-btn:hover{background:var(--red);color:#fff}.md-action-close{margin-left:auto;padding:5px 14px;border-radius:4px;border:1px solid var(--border);background:var(--bg);color:var(--text2);font-size:13px;font-weight:500;cursor:pointer;font-family:var(--font);transition:all .12s}.md-action-close:hover{background:var(--bg2);color:var(--text)}.coupon-section{margin-top:8px;margin-bottom:24px}.coupon-title{font-size:.85rem;font-weight:600;margin-bottom:8px;color:var(--text2)}.coupon-list{display:flex;flex-direction:column;gap:8px}.coupon-cards{display:flex;flex-wrap:wrap;gap:8px}.coupon-card{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--border2);border-radius:8px;background:var(--bg);font-size:13px}.coupon-code{font-weight:700;color:var(--text);font-family:var(--mono);font-size:13px}.coupon-expires{font-size:11px;color:var(--text3)}.coupon-badge-active{display:inline-block;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600;background:#10b9811f;color:#059669}.coupon-account-row{display:grid;grid-template-columns:40px 1fr 80px;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border2)}.coupon-account-row:last-child{border-bottom:none}.coupon-row-actions{display:flex;gap:4px;justify-content:flex-end}.coupon-group-label{padding:8px 16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text3);background:var(--bg2);border-bottom:1px solid var(--border2)}.cp-btn{width:30px;height:30px;border-radius:6px;border:1px solid var(--border2);background:var(--bg);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text3);transition:all .12s}.cp-btn:hover{background:var(--bg2);color:var(--text);border-color:var(--border)}.cp-btn-redeem:hover{color:var(--accent);border-color:var(--accent)}.cp-btn-done{color:var(--green);border-color:var(--green-bg);background:var(--green-bg);cursor:default}.cp-btn-done:hover{color:var(--green);border-color:var(--green-bg);background:var(--green-bg)}.cp-btn-delete:hover{color:var(--red);border-color:var(--red)}.redeem-progress{padding:10px 16px;margin-bottom:8px;border:1px solid var(--border2);border-radius:8px;background:var(--bg)}.redeem-progress-text{font-size:12px;color:var(--text2);margin-bottom:6px}.redeem-progress-bar{height:4px;background:var(--bg3);border-radius:2px;overflow:hidden}.redeem-progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#ef4444);border-radius:2px;transition:width .3s ease}.redeem-progress-count{font-size:11px;color:var(--text3);margin-top:4px;text-align:right}.redeem-summary{display:flex;gap:16px;font-size:13px;font-weight:600}.redeem-summary span{display:flex;align-items:center;gap:4px}.summary-ok{color:var(--green)}.summary-warn{color:var(--text)}@media(max-width:768px){.members-thead{display:none!important}.member-row{display:flex!important;align-items:center;gap:10px;padding:12px 14px;grid-template-columns:none}.mc-photo,.mc-photo-empty{width:42px;height:42px;border-radius:10px}.mc-photo-empty{font-size:16px}.mc-name{font-size:14px}.mc-sub{display:block!important;font-size:11.5px;color:var(--text2);margin-top:2px}.mc-level,.mc-rank-cell,.mc-power,.mc-pos{display:none!important}.mc-row-body{flex:1;min-width:0}.mc-actions-cell{display:flex;gap:2px;margin-left:auto}.mc-manage-btn{width:40px;height:40px;font-size:18px}.cp-btn{min-width:40px;min-height:40px}.manage-dialog{width:92%;max-width:380px}.members-toolbar{flex-direction:column;align-items:stretch;gap:10px;padding:10px 12px;margin-bottom:10px;background:var(--bg2);border-radius:10px}.member-count{font-size:13px;color:var(--text2);font-weight:600}.members-toolbar-right{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;flex-wrap:wrap}.members-toolbar-right .coupon-search-input,.members-toolbar-right .member-search-input{flex:1 1 100%;min-width:0;order:-1}.members-filter{flex:1;min-width:0;gap:8px;font-size:13px}.members-filter label{white-space:nowrap;color:var(--text2)}.members-filter select{flex:1;min-width:0;padding:7px 10px;font-size:13px;background:var(--bg)}.members-toolbar-right .btn-sm{padding:7px 14px;font-size:12.5px;white-space:nowrap;flex-shrink:0}}@media(max-width:720px){.refresh-fail-banner{padding:10px 12px;gap:8px}.rfb-text{flex-basis:100%;min-width:0;font-size:12.5px}.rfb-actions{flex-basis:100%;justify-content:flex-end}.rfb-actions .btn{flex:1;font-size:12px}}.md-action-grant{padding:5px 14px;border-radius:4px;border:1px solid var(--accent);background:var(--accent-bg);color:var(--accent);font-size:13px;font-weight:500;cursor:pointer;font-family:var(--font);transition:all .12s}.md-action-grant:hover:not(:disabled){background:var(--accent);color:#fff}.md-action-grant:disabled{opacity:.5;cursor:not-allowed}.grant-dialog{position:fixed;inset:0 0 0 var(--left-w);margin:auto;width:380px;max-width:92vw;height:fit-content;border:none;padding:0;background:transparent;overflow:visible}.grant-dialog::backdrop{background:#0f172a73;backdrop-filter:blur(2px)}.grant-card{background:var(--bg);border-radius:10px;box-shadow:0 12px 32px #0000002e,0 0 0 1px var(--border2);overflow:hidden}.grant-head{padding:14px 18px;border-bottom:1px solid var(--border2);display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.grant-head strong{font-size:15px;font-weight:600;color:var(--text)}.grant-target{font-size:12.5px;color:var(--text2);word-break:break-all}.grant-body{padding:16px 18px;display:flex;flex-direction:column;gap:12px}.grant-field{display:flex;flex-direction:column;gap:5px}.grant-field label{font-size:12px;font-weight:500;color:var(--text2)}.grant-field input,.grant-field select,.grant-field textarea{padding:7px 10px;background:var(--bg);border:1px solid var(--border);border-radius:5px;color:var(--text);font-family:var(--font);font-size:13px;resize:vertical}.grant-field input:focus,.grant-field select:focus,.grant-field textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}.grant-field input[aria-invalid=true]{border-color:var(--red)}.grant-field input::placeholder,.grant-field textarea::placeholder{color:var(--text3)}.grant-status{font-size:12px;min-height:16px;color:var(--text2)}.grant-status[data-tone=error]{color:var(--red)}.grant-status[data-tone=success]{color:#166534}.grant-foot{padding:10px 18px;border-top:1px solid var(--border2);display:flex;justify-content:flex-end;gap:6px}.grant-btn-cancel,.grant-btn-submit{padding:5px 16px;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;font-family:var(--font);transition:all .12s}.grant-btn-cancel{background:var(--bg);border:1px solid var(--border);color:var(--text2)}.grant-btn-cancel:hover{background:var(--bg2);color:var(--text)}.grant-btn-submit{background:var(--accent);border:1px solid var(--accent);color:#fff}.grant-btn-submit:hover:not(:disabled){background:#0757b5}.grant-btn-submit:disabled{opacity:.6;cursor:not-allowed}.bl-list-wrap{overflow-x:auto;border-radius:8px;border:1px solid var(--border);background:var(--bg)}.bl-table{width:100%;border-collapse:collapse;font-size:13.5px}.bl-table thead th{text-align:left;padding:10px 12px;background:var(--bg2);color:var(--muted);font-weight:600;font-size:12px;letter-spacing:.02em;border-bottom:1px solid var(--border);white-space:nowrap}.bl-table tbody td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.bl-table tbody tr:last-child td{border-bottom:none}.bl-table tbody tr{cursor:pointer}.bl-table tbody tr:hover{background:var(--bg2)}.bl-th-avatar,.bl-td-avatar{width:56px}.bl-th-level,.bl-td-level,.bl-th-image,.bl-td-image{width:56px;text-align:center}.bl-th-kingdom,.bl-td-kingdom{width:60px}.bl-th-id,.bl-td-id{width:110px;font-family:var(--font-mono, monospace);color:var(--muted);font-size:12px}.bl-td-note{color:var(--text);max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bl-avatar{width:36px;height:36px;border-radius:50%;background:var(--bg2);display:grid;place-items:center;overflow:hidden;position:relative}.bl-avatar>*{grid-area:1 / 1}.bl-avatar-img{width:100%;height:100%;object-fit:cover}.bl-avatar-empty{font-weight:700;color:var(--muted);font-size:14px}.bl-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;background:transparent;border-radius:6px;color:var(--muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.bl-icon-btn:hover:not(:disabled){background:var(--bg2);color:var(--text);border-color:var(--border)}.bl-icon-btn:disabled{opacity:.35;cursor:not-allowed}.bl-icon-btn svg{display:block}.bl-empty{padding:40px 16px;text-align:center;color:var(--muted);font-size:14px}.modal-body input,.modal-body textarea,.modal-body select{font-size:16px}.bl-modal-body{padding:14px 16px}.bl-field{display:flex;align-items:center;gap:10px;margin-bottom:10px}.bl-field-label{flex:0 0 64px;font-size:12px;font-weight:600;color:var(--text2);text-align:right;margin:0;text-transform:none;letter-spacing:0}.bl-field-input{flex:1;display:flex;gap:6px;min-width:0}.bl-field-input input[type=text]{flex:1;min-width:0}.bl-field-input input[type=file]{flex:1;min-width:0;font-size:13px}.bl-field-input input:disabled{background:var(--bg2);color:var(--text3);cursor:not-allowed}.bl-pill{margin-left:74px;margin-bottom:10px;width:fit-content;max-width:calc(100% - 74px);display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;background:var(--bg3);border-radius:20px}.bl-pill-img{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--border2)}.bl-pill-text{font-size:12px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bl-pill-text strong{color:var(--text);font-weight:700}.bl-pill-sep{color:var(--text3);margin:0 4px}.bl-image-row{margin-left:74px;margin-bottom:8px;display:flex;align-items:center;gap:10px;padding:6px 8px;background:var(--bg2);border-radius:6px}.bl-image-thumb{width:40px;height:40px;border-radius:4px;overflow:hidden;flex-shrink:0;background:var(--bg)}.bl-image-thumb img{width:100%;height:100%;object-fit:cover}.bl-image-row-text{flex:1;font-size:12px;color:var(--text);line-height:1.4;min-width:0}.bl-image-hint{margin-left:74px;font-size:11px;color:var(--text3);line-height:1.4}#bl-modal-delete{margin-right:auto}.btn-danger{background:#b91c1c;color:#fff;border:1px solid #991b1b}.btn-danger:hover{background:#991b1b}.bl-image-dialog{position:fixed;inset:0;margin:auto;width:fit-content;height:fit-content;max-width:95vw;max-height:95vh;border:none;background:transparent;padding:0}.bl-image-dialog::backdrop{background:#000000d9}.bl-image-dialog-img{display:block;max-width:95vw;max-height:95vh;border-radius:12px;box-shadow:0 20px 60px #0009;cursor:pointer;opacity:0;transition:opacity .18s ease}.bl-image-dialog-img.loaded{opacity:1}@media(max-width:640px){.bl-th-level,.bl-td-level,.bl-th-kingdom,.bl-td-kingdom,.bl-th-id,.bl-td-id{display:none}.bl-td-note{max-width:none}.bl-icon-btn{width:40px;height:40px}}
