.admin-page{max-width:1440px}.admin-toolbar{display:flex;align-items:center;gap:20px}.admin-toolbar .test-banner{flex:1}.admin-toolbar .secondary{margin:0}.admin-tabs{display:flex;gap:8px;margin:10px 0 24px;border-bottom:1px solid #44493d;padding-bottom:14px}.admin-tabs button{background:transparent;color:#9eaa9e}.admin-tabs button.active{background:#293b31;color:#e1ca98;box-shadow:inset 0 0 0 1px #6d7154}.management-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.65fr);gap:24px;align-items:start}.directory .section-title{margin:0 0 20px}.directory-member{width:100%;display:flex;align-items:center;text-align:left;gap:12px;background:transparent;color:#dfe4da;border-radius:8px;padding:13px 8px;border-bottom:1px solid #333b30}.directory-member.selected{background:#24372c;box-shadow:inset 3px 0 #c9b477}.directory-member>span{min-width:0;flex:1}.directory-member strong,.directory-member small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.directory-member small{font-size:10px;margin-top:6px}.directory-member b{font-size:14px}.directory-member .avatar{width:36px;height:36px}.detail-heading{display:flex;align-items:center;gap:14px}.detail-heading>div{min-width:0;flex:1}.detail-heading h2{margin:0 0 7px;overflow-wrap:anywhere}.detail-heading strong{font-size:24px;color:#dcc695;white-space:nowrap}.member-id{font-size:11px;overflow-wrap:anywhere}.member-preview{display:inline-block;margin-top:20px;font-size:13px}.hint{font-size:12px;color:#9ca89b;line-height:1.6}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field-row label{min-width:0}.member-detail form{border-bottom:1px solid #3b4336;padding-bottom:24px}.voucher-list{max-height:380px;overflow:auto}.voucher-admin small{display:block;margin-top:6px}.voucher-admin strong{overflow-wrap:anywhere}.audit-list{margin:20px 0 36px}.audit-list article{padding:16px 0;border-bottom:1px solid #343b31;overflow-wrap:anywhere}.audit-list b{font-size:13px;color:#d5c395}.audit-list p{margin:10px 0;font-size:14px}.audit-list time{font-size:11px;color:#99a593}.inline-check{display:flex;align-items:center;gap:10px}.inline-check input{width:auto;margin:0}.custom-poster{position:relative;overflow:hidden;background:#111d16;isolation:isolate}.custom-poster .promo-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.custom-poster:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#000b,#0002);z-index:-1}.custom-poster h2,.custom-poster p,.custom-poster small{overflow-wrap:anywhere}.admin-page #promotion-form button{margin-right:10px;margin-top:12px}.admin-page #promo-preview .poster{min-height:245px}.member-page .code b{overflow-wrap:anywhere;min-width:0;font-size:14px;letter-spacing:.6px}.member-page .large-code{overflow-wrap:anywhere}.member-page .wallet:empty:after{content:'暂无可用卡券';color:#999;font-size:13px}.member-page .person{min-width:0}.member-page .person>div{min-width:0}.member-page .person small{max-width:125px;overflow:hidden;text-overflow:ellipsis}.large-code{overflow-wrap:anywhere;font-size:24px}.directory #member-results{max-height:670px;overflow:auto}@media(max-width:800px){.management-grid{grid-template-columns:1fr}.admin-toolbar{flex-wrap:wrap;gap:12px}.admin-toolbar .test-banner{flex-basis:100%}.admin-page{padding:20px}.field-row{grid-template-columns:1fr;gap:0}.directory #member-results{max-height:240px}.detail-heading strong{font-size:20px}}
.member-page .code{gap:10px}.member-page .code>span{white-space:nowrap;flex-shrink:0}.profile>div{min-width:0}.profile h1{overflow-wrap:anywhere}.profile .avatar{flex-shrink:0}.profile .member-badge{flex-shrink:0}
.member-page .wallet{grid-template-columns:repeat(3,minmax(0,1fr))}.member-page .ticket{min-width:0;overflow-wrap:anywhere}.member-page .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.member-page .stats strong{font-size:clamp(18px,6vw,30px);overflow-wrap:anywhere}.member-page .stats>div+div{padding-left:12px}
.voucher-qr{display:block;width:240px;max-width:100%;height:auto;margin:18px auto;border-radius:8px}.redeem-code{font:600 18px monospace;letter-spacing:1px;text-align:center;user-select:all}#scan-video{width:100%;max-height:240px;border-radius:8px;margin-top:12px}#scan-result{margin-top:15px;overflow-wrap:anywhere}.scan-confirm{border-top:1px solid #6c624b;padding-top:15px}dialog{max-height:90vh;overflow:auto}#scan-voucher{margin:4px 0 10px}#scan-result h3{color:#c7dab5}
