/* components.css - reusable UI components */

/* ===== DOC PAGES (terms / disclaimer) ===== */
.doc-header{margin-bottom:36px;padding-bottom:24px;border-bottom:2px solid var(--bdr);}
.doc-header h1{font-size:26px;font-weight:700;color:var(--text);margin-bottom:8px;}
.doc-meta{font-size:var(--fs-sm);color:var(--hint);}
.doc-section{margin-bottom:32px;}
.doc-section h2{font-size:var(--fs-xl);font-weight:var(--fw-strong);color:var(--text);margin-bottom:12px;padding-left:12px;border-left:3px solid var(--org);}
.doc-section p{font-size:var(--fs-md);color:var(--sub);margin-bottom:10px;line-height:1.9;}
.doc-section p:last-child{margin-bottom:0;}
.doc-section ol,.doc-section ul{padding-left:20px;margin-bottom:10px;}
.doc-section li{font-size:var(--fs-md);color:var(--sub);margin-bottom:6px;line-height:1.8;}
.note-box{background:var(--org-ll);border:1px solid rgba(232,119,34,0.20);border-radius:var(--r);padding:14px 18px;margin-bottom:20px;}
.note-box p{font-size:var(--fs-md);color:var(--sub);margin:0;line-height:1.8;}

/* ===== MEMBER SIDEBAR ===== */
.member-zone{background:rgba(255,249,240,0.40);position:relative;z-index:1;}
.member-wrap{max-width:var(--page-wide);margin:0 auto;padding:32px var(--page-pad-x) var(--page-pad-bottom);display:grid;grid-template-columns:220px 1fr;gap:24px;}
.member-zone-badge{font-size:var(--fs-xs);font-weight:var(--fw-strong);color:#8A5E00;background:linear-gradient(135deg,rgba(249,168,37,0.16),rgba(232,165,32,0.08));border:1px solid rgba(249,168,37,0.42);border-radius:16px;padding:4px 11px;white-space:nowrap;letter-spacing:0;}
.btn-user{display:flex;align-items:center;gap:6px;font-size:var(--fs-md);color:var(--org);border:1.5px solid var(--org);border-radius:24px;padding:7px 16px;cursor:pointer;background:transparent;transition:all .2s;max-width:180px;}
a.btn-user{text-decoration:none;}
.btn-user:hover{background:var(--org);color:#fff;}
.btn-user svg,.btn-user i{width:14px;height:14px;flex-shrink:0;}
.btn-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
.btn-cart-badge{position:absolute;top:-4px;right:-5px;background:linear-gradient(135deg,var(--org),var(--org2));color:#fff;font-size:10px;font-weight:var(--fw-strong);width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.sidebar{background:var(--card);border:1px solid var(--bdr);border-radius:var(--rl);backdrop-filter:blur(16px);box-shadow:var(--shadow);padding:24px 0;align-self:start;position:sticky;top:88px;}
.sb-avatar{display:flex;flex-direction:column;align-items:center;padding:0 20px 20px;border-bottom:1px solid var(--bdr);margin-bottom:8px;}
.sb-avatar-meta{display:flex;flex-direction:column;align-items:center;}
.avatar-circle{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--org),var(--org2));display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff;margin-bottom:10px;}
.sb-name{font-size:var(--fs-md);font-weight:var(--fw-strong);color:var(--text);margin-bottom:6px;}
.vip-tag{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);font-weight:var(--fw-strong);background:linear-gradient(135deg,#F9A825,#FFC107);color:#3E2000;padding:3px 12px;border-radius:12px;}
.sb-icon{width:16px;height:16px;flex-shrink:0;transition:opacity .15s;}
.sb-item .sb-icon{opacity:0.60;}
.sb-item:hover .sb-icon,.sb-item.on .sb-icon{opacity:1;}
.sb-item.logout .sb-icon{opacity:0.75;}
.sb-menu{padding:8px 12px;}
.sb-item{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;font-size:var(--fs-md);color:var(--sub);transition:all .2s;text-decoration:none;margin-bottom:2px;}
.sb-item:hover{background:rgba(232,119,34,0.10);color:var(--text);}
.sb-item.on{background:rgba(232,119,34,0.18);color:var(--org);font-weight:600;}
.sb-sep{height:1px;background:var(--bdr);margin:10px 12px;}
.sb-item.logout{color:#EF5350;}
.sb-item.logout:hover{background:rgba(239,83,80,0.10);color:#EF5350;}
/* 桌面：更多按鈕／遮罩隱藏，extra 當一般選單 */
.sb-more-btn,.sb-more-backdrop,.sb-more-head{display:none;}
.sb-menu-extra{display:block;}
.card{background:var(--card);border:1px solid var(--bdr);border-radius:var(--rl);backdrop-filter:blur(16px);box-shadow:var(--shadow);padding:24px;margin-bottom:20px;}
.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.card-title{font-size:var(--fs-xl);font-weight:var(--fw-strong);color:var(--text);display:flex;align-items:center;gap:8px;margin-bottom:18px;}
.card-title::before{content:'';display:block;width:4px;height:18px;background:linear-gradient(180deg,var(--org),var(--org2));border-radius:2px;}
.card-header .card-title{margin-bottom:0;}
.btn-edit{display:flex;align-items:center;gap:5px;font-size:var(--fs-sm);font-weight:var(--fw-normal);color:var(--sub);border:1.5px solid var(--bdr);border-radius:8px;padding:5px 12px;background:transparent;cursor:pointer;transition:all .2s;}
.btn-edit:hover{border-color:var(--org);color:var(--org);}
.btn-edit svg{width:13px;height:13px;}
.info-input{width:100%;border:1.5px solid var(--bdr);border-radius:8px;padding:8px 11px;font-size:var(--fs-md);color:var(--text);background:#fff;outline:none;transition:border .2s;}
.info-input:focus{border-color:var(--org);}
.info-input:disabled{background:#F5F6F8;color:var(--hint);cursor:not-allowed;}
.edit-actions{display:flex;gap:8px;}
.btn-save{font-size:var(--fs-md);font-weight:var(--fw-strong);color:#fff;background:linear-gradient(135deg,var(--org),var(--org2));border:none;border-radius:8px;padding:8px 22px;cursor:pointer;transition:opacity .15s;}
.btn-save:hover{opacity:0.88;}
.btn-cancel{font-size:var(--fs-md);color:var(--sub);border:1.5px solid var(--bdr);border-radius:8px;padding:8px 18px;background:transparent;cursor:pointer;transition:all .15s;}
.btn-cancel:hover{border-color:var(--sub);color:var(--text);}

/* ===== MEMBER CONTENT ===== */
.member-wrap main{min-width:0;}
.card-sub{font-size:var(--fs-md);color:var(--hint);margin-bottom:20px;}
.data-table tr:hover td{background:rgba(232,119,34,0.04);}
.empty-hint{text-align:center;padding:32px;color:var(--hint);font-size:var(--fs-md);}
.amount-in{color:#2E7D32;font-weight:var(--fw-strong);}
.amount-out{color:#C62828;font-weight:var(--fw-strong);}
.info-edit{display:none;}
.card.editing .info-edit{display:block;}
.card.editing .info-view{display:none;}
.card.editing .btn-edit{display:none;}
.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;}
.edit-field label{display:block;font-size:var(--fs-xs);color:var(--hint);margin-bottom:5px;font-weight:var(--fw-normal);}
.welcome-msg{font-size:22px;font-weight:var(--fw-strong);color:var(--text);margin-bottom:12px;}
.daily-quote{background:rgba(255,243,200,0.80);border:1px solid rgba(249,168,37,0.30);border-radius:10px;padding:12px 16px;font-size:var(--fs-md);color:#B45309;margin-bottom:24px;display:flex;align-items:center;gap:8px;}
.daily-quote svg{flex-shrink:0;}
.quote-link{margin-left:auto;flex-shrink:0;font-size:var(--fs-md);font-weight:var(--fw-strong);color:#92680A;border:1px solid rgba(181,118,12,0.35);border-radius:8px;padding:2px 10px;transition:all .15s;}
.quote-link:hover{background:rgba(181,118,12,0.10);}
.info-view{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.info-cell{background:rgba(255,255,255,0.70);border:1px solid var(--bdr);border-radius:10px;padding:14px;}
.info-label,.info-lbl{font-size:var(--fs-xs);color:var(--hint);margin-bottom:4px;}
.info-value,.info-val{font-size:var(--fs-md);font-weight:var(--fw-strong);color:var(--text);}
.vip-card,.wallet-balance{background:var(--card);border:1px solid var(--bdr);border-left:4px solid var(--accent);border-radius:var(--rl);backdrop-filter:blur(16px);box-shadow:var(--shadow);padding:26px 28px;margin-bottom:20px;}
.vip-card{--accent:#E87722;--accent-soft:rgba(232,119,34,0.10);}
.vip-top{display:flex;align-items:center;gap:14px;margin-bottom:22px;}
.vip-num{width:48px;height:48px;border-radius:12px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:var(--fw-strong);color:var(--accent);}
.vip-name{font-size:20px;font-weight:var(--fw-strong);color:var(--text);}
.vip-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px;}
.vip-stat{background:rgba(255,255,255,0.70);border:1px solid var(--bdr);border-radius:12px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;}
.vip-stat-lbl{font-size:var(--fs-md);color:var(--hint);display:flex;align-items:center;gap:5px;}
.vip-stat-val{font-size:var(--fs-xl);font-weight:var(--fw-strong);color:var(--text);}
.vip-progress{position:relative;}
.vip-prog-meta{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;}
.vip-prog-need{font-size:var(--fs-md);color:var(--sub);}
.vip-prog-amt{font-size:18px;font-weight:var(--fw-strong);color:var(--accent);}
.vip-bar-bg{height:10px;background:var(--accent-soft);border-radius:5px;overflow:hidden;}
.vip-bar-fill{height:100%;width:4%;background:var(--org);border-radius:5px;transition:width .8s ease;}
.vip-bar-ends{display:flex;justify-content:space-between;font-size:var(--fs-xs);color:var(--hint);margin-top:6px;}
.vip-table{width:100%;border-collapse:collapse;font-size:var(--fs-md);}
.vip-table th{padding:10px 14px;text-align:left;color:var(--hint);font-weight:var(--fw-normal);border-bottom:1px solid var(--bdr);font-size:var(--fs-sm);}
.vip-table td{padding:11px 14px;border-bottom:1px solid var(--bdr);}
.vip-table tr:last-child td{border-bottom:none;}
.vip-table tr.cur{background:rgba(181,118,12,0.10);}
.vip-table tr.cur td{color:#9A6008;font-weight:var(--fw-strong);}
.order-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap;}
.otab{font-size:var(--fs-md);padding:7px 16px;border-radius:20px;border:1.5px solid rgba(232,119,34,0.18);color:var(--sub);cursor:pointer;transition:all .2s;background:rgba(255,255,255,0.82);backdrop-filter:blur(6px);}
.otab:hover{border-color:var(--org);color:var(--org);}
.otab.on{background:linear-gradient(135deg,var(--org),var(--org2));border-color:transparent;color:#fff;font-weight:var(--fw-normal);}
.order-card{background:var(--card);border:1px solid var(--bdr);border-radius:var(--r);padding:18px 20px;margin-bottom:14px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;box-shadow:var(--shadow);}
.order-card:hover{background:var(--card-hov);}
.order-game-img{width:56px;height:56px;border-radius:10px;background:var(--org-ll);overflow:hidden;flex-shrink:0;}
.order-game-img img{width:100%;height:100%;object-fit:cover;display:block;}
.order-name{font-size:var(--fs-md);font-weight:var(--fw-strong);color:var(--text);margin-bottom:4px;}
.order-meta{font-size:var(--fs-md);color:var(--hint);line-height:1.6;}
.order-meta span{margin-right:12px;}
.order-lines{margin-top:10px;display:grid;gap:6px;}
.order-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:13px;line-height:1.45;}
.order-line-name{color:var(--text);font-weight:600;min-width:0;}
.order-line-provision{
  color:var(--sub);
  background:rgba(232,119,34,0.08);
  border:1px solid rgba(232,119,34,0.18);
  border-radius:999px;
  padding:1px 8px;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
.order-line-qty{color:var(--hint);white-space:nowrap;}
.order-right{text-align:right;flex-shrink:0;}
.order-amount{font-size:var(--fs-xl);font-weight:var(--fw-strong);color:var(--org);margin-bottom:8px;}
.order-status-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;align-items:center;margin-bottom:8px;}
.order-status{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);font-weight:600;padding:4px 10px;border-radius:10px;margin-bottom:0;}
.order-ops-tag{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);font-weight:700;padding:4px 10px;border-radius:10px;background:rgba(21,101,192,0.10);color:var(--blu);border:1px solid rgba(21,101,192,0.25);}
.status-done,.badge-done{background:rgba(46,125,50,0.12);color:#2E7D32;border:1px solid rgba(46,125,50,0.25);}
.status-processing{background:rgba(232,119,34,0.12);color:var(--org);border:1px solid rgba(232,119,34,0.25);}
.status-cancelled{background:rgba(100,100,100,0.10);color:var(--hint);border:1px solid rgba(100,100,100,0.18);}
.btn-detail{font-size:var(--fs-md);color:var(--org);border:1.5px solid var(--org);border-radius:14px;padding:5px 14px;cursor:pointer;background:transparent;transition:all .2s;text-decoration:none;display:inline-block;}
.btn-detail:hover{background:var(--org);color:#fff;}
.order-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center;margin-top:4px;}
.order-reorder-form{display:inline;margin:0;padding:0;}
.btn-reorder{font-size:var(--fs-md);color:var(--sub);border:1.5px solid var(--bdr);border-radius:14px;padding:5px 14px;cursor:pointer;background:rgba(255,255,255,0.85);transition:all .2s;font-family:inherit;line-height:1.2;}
.btn-reorder:hover{border-color:var(--org);color:var(--org);background:#fff;}
.wallet-balance{--accent:#2E7D32;--accent-soft:rgba(46,125,50,0.10);display:flex;align-items:center;gap:22px;}
.wallet-ico{width:62px;height:62px;flex-shrink:0;border-radius:16px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;color:var(--accent);}
.wallet-ico svg{width:30px;height:30px;}
.wallet-info{flex:1;min-width:0;}
.wallet-lbl{font-size:var(--fs-md);color:var(--hint);margin-bottom:4px;}
.wallet-amount{font-size:38px;font-weight:var(--fw-strong);color:var(--accent);line-height:1.1;margin-bottom:4px;}
.wallet-hint{font-size:var(--fs-md);color:var(--hint);}
.wallet-rules{background:rgba(255,255,255,0.70);border:1px solid var(--bdr);border-radius:var(--r);padding:16px;margin-bottom:20px;}
.wallet-rules-title{font-size:var(--fs-md);font-weight:600;color:var(--sub);margin-bottom:10px;}
.wallet-rule{font-size:var(--fs-md);color:var(--hint);margin-bottom:6px;padding-left:14px;position:relative;}
.wallet-rule::before{content:'*';position:absolute;left:0;color:var(--org);}
.wallet-ledger-list{display:flex;flex-direction:column;gap:12px;}
.wallet-ledger-item{background:var(--card);border:1px solid var(--bdr);border-radius:var(--r);padding:16px 18px;display:grid;grid-template-columns:auto 1fr auto;gap:14px 16px;align-items:center;box-shadow:var(--shadow);transition:background .2s,box-shadow .2s;}
.wallet-ledger-item:hover{background:var(--card-hov);box-shadow:0 4px 18px rgba(232,119,34,0.10);}
.wallet-ledger-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.wallet-ledger-icon svg{width:20px;height:20px;}
.wallet-ledger-icon.is-credit{background:rgba(46,125,50,0.12);color:#2E7D32;}
.wallet-ledger-icon.is-debit{background:rgba(198,40,40,0.10);color:#C62828;}
.wallet-ledger-main{min-width:0;}
.wallet-ledger-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px;}
.wallet-type-badge{display:inline-flex;align-items:center;font-size:var(--fs-xs);font-weight:600;padding:4px 10px;border-radius:10px;line-height:1.3;}
.wallet-type-badge.is-credit{background:rgba(46,125,50,0.12);color:#2E7D32;border:1px solid rgba(46,125,50,0.22);}
.wallet-type-badge.is-debit{background:rgba(198,40,40,0.10);color:#C62828;border:1px solid rgba(198,40,40,0.20);}
.wallet-ledger-time{font-size:var(--fs-xs);color:var(--hint);}
.wallet-ledger-remark{font-size:var(--fs-md);color:var(--sub);line-height:1.5;word-break:break-word;}
.wallet-ledger-right{text-align:right;flex-shrink:0;}
.wallet-ledger-delta{font-size:var(--fs-xl);font-weight:var(--fw-strong);line-height:1.2;margin-bottom:4px;}
.wallet-ledger-delta.is-credit{color:#2E7D32;}
.wallet-ledger-delta.is-debit{color:#C62828;}
.wallet-ledger-balance{font-size:var(--fs-xs);color:var(--hint);}
.wallet-ledger-empty{text-align:center;padding:36px 20px 28px;color:var(--hint);}
.wallet-ledger-empty-ico{width:56px;height:56px;margin:0 auto 14px;border-radius:16px;background:rgba(46,125,50,0.08);color:#2E7D32;display:flex;align-items:center;justify-content:center;}
.wallet-ledger-empty-ico svg{width:28px;height:28px;}
.wallet-ledger-empty p{font-size:var(--fs-md);font-weight:var(--fw-strong);color:var(--sub);margin:0 0 6px;}
.wallet-ledger-empty span{font-size:var(--fs-md);line-height:1.6;}
.agency-header{--accent:#1565C0;--accent-soft:rgba(21,101,192,0.08);background:var(--card);border:1px solid var(--bdr);border-left:4px solid var(--accent);border-radius:var(--rl);backdrop-filter:blur(16px);box-shadow:var(--shadow);padding:22px 24px;margin-bottom:20px;display:grid;grid-template-columns:1fr 1fr auto;gap:20px;align-items:center;}
.agency-field-lbl{font-size:var(--fs-xs);color:var(--hint);margin-bottom:4px;}
.agency-field-val{font-size:var(--fs-xl);font-weight:var(--fw-strong);color:var(--text);}
.agency-field-val.fail{color:#C62828;}
.agency-field-val.pass{color:#2E7D32;}
.btn-upload{font-size:var(--fs-md);color:var(--accent);background:var(--accent-soft);border:1px solid rgba(21,101,192,0.30);border-radius:10px;padding:6px 14px;cursor:pointer;transition:all .2s;margin-top:6px;}
.btn-upload:hover{background:rgba(21,101,192,0.16);}
.agency-code{text-align:right;background:var(--accent-soft);border:1px dashed rgba(21,101,192,0.35);border-radius:12px;padding:12px 18px;}
.agency-code-lbl{font-size:var(--fs-xs);color:var(--sub);margin-bottom:6px;}
.agency-code-val{font-size:26px;font-weight:var(--fw-strong);color:var(--accent);letter-spacing:3px;}
.agency-code-hint{font-size:var(--fs-xs);color:var(--hint);margin-top:4px;}
.agency-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;}
.astat{background:rgba(255,255,255,0.70);border:1px solid var(--bdr);border-radius:var(--r);padding:16px;text-align:center;}
.astat-lbl{font-size:var(--fs-xs);color:var(--hint);margin-bottom:6px;}
.astat-val{font-size:22px;font-weight:var(--fw-strong);color:var(--text);}
.astat-val.warn{color:var(--org2);}
.lottery-hero{--accent:#E87722;--accent-soft:rgba(232,119,34,0.10);background:var(--card);border:1px solid var(--bdr);border-top:4px solid var(--accent);border-radius:var(--rl);backdrop-filter:blur(16px);box-shadow:var(--shadow);padding:36px 28px;text-align:center;margin-bottom:20px;}
.lottery-ico{display:flex;justify-content:center;margin-bottom:14px;}
.lottery-ico-wrap{width:72px;height:72px;border-radius:20px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;color:var(--accent);}
.lottery-ico-wrap svg{width:38px;height:38px;}
.lottery-title{font-size:22px;font-weight:var(--fw-strong);color:var(--text);margin-bottom:6px;}
.lottery-sub{font-size:var(--fs-md);color:var(--sub);margin-bottom:24px;}
.lottery-tickets{display:inline-flex;align-items:baseline;gap:8px;background:var(--accent-soft);border:1px solid rgba(232,119,34,0.20);border-radius:20px;padding:8px 22px;margin-bottom:24px;}
.lottery-tickets-num{font-size:26px;font-weight:var(--fw-strong);color:var(--accent);}
.lottery-tickets-lbl{font-size:var(--fs-md);color:var(--sub);}
.btn-lottery{font-size:var(--fs-xl);font-weight:var(--fw-strong);color:#fff;background:var(--org);border:none;border-radius:28px;padding:14px 40px;cursor:pointer;box-shadow:0 6px 20px rgba(232,119,34,0.30);transition:all .2s;}
.btn-lottery:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(232,119,34,0.50);}
.btn-lottery:disabled{opacity:0.5;cursor:not-allowed;transform:none;}
.prizes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.prize-item{background:rgba(255,255,255,0.70);border:1px solid var(--bdr);border-radius:var(--r);padding:16px;text-align:center;}
.prize-ico{font-size:28px;margin-bottom:8px;}
.prize-name{font-size:var(--fs-md);font-weight:600;color:var(--text);margin-bottom:4px;}
.prize-desc{font-size:var(--fs-xs);color:var(--hint);}
.prize-rate{font-size:var(--fs-xs);color:var(--org);margin-top:6px;}
.lottery-campaign-list{display:flex;flex-direction:column;gap:14px;}
.lottery-campaign-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--bdr);border-radius:var(--r);background:rgba(255,255,255,0.55);}
.lottery-campaign-name{font-size:var(--fs-lg);font-weight:var(--fw-strong);color:var(--text);margin-bottom:4px;}
.lottery-campaign-meta,.lottery-campaign-rule{font-size:var(--fs-sm);color:var(--sub);line-height:1.6;}
.lottery-event-page{max-width:1100px;margin:0 auto;padding:20px 16px 48px;}
.lottery-stage{
  position:relative;
  border-radius:24px;
  overflow:hidden;
  margin-bottom:20px;
  box-shadow:0 16px 40px rgba(15,40,80,0.12);
}
.lottery-stage-bg{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 80% 60% at 50% 40%,rgba(255,255,255,0.55) 0%,rgba(255,255,255,0.08) 55%,transparent 75%),
    radial-gradient(circle at 12% 20%,rgba(232,119,34,0.22),transparent 42%),
    radial-gradient(circle at 88% 75%,rgba(59,130,246,0.18),transparent 45%),
    linear-gradient(160deg,rgba(255,248,240,0.72) 0%,rgba(232,244,255,0.55) 48%,rgba(255,236,220,0.50) 100%);
}
.lottery-stage-bg::after{
  content:'';
  position:absolute;
  inset:0;
  opacity:0.35;
  background-image:
    linear-gradient(rgba(255,255,255,0.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,0.04) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,#000 20%,transparent 75%);
}
.lottery-stage-inner{position:relative;z-index:1;padding:18px 16px 22px;}
.lottery-hero--compact{
  padding:14px 18px;
  margin-bottom:14px;
  background:rgba(255,255,255,0.78);
  border:1px solid rgba(255,255,255,0.65);
  backdrop-filter:blur(14px);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:10px 16px;
}
.lottery-hero--compact .lottery-title{margin-bottom:0;}
.lottery-ends-pill{
  font-size:12px;
  font-weight:600;
  color:#9a5b12;
  background:rgba(232,119,34,0.12);
  border:1px solid rgba(232,119,34,0.22);
  border-radius:999px;
  padding:4px 12px;
}
.lottery-board-wrap{display:flex;justify-content:center;margin:0;width:100%;}
.lottery-board{display:grid;gap:8px;}
.lottery-board--ring{
  --lottery-cols:10;
  --lottery-rows:5;
  width:100%;
  max-width:1000px;
  grid-template-columns:repeat(var(--lottery-cols),minmax(0,1fr));
  grid-template-rows:repeat(var(--lottery-rows),minmax(72px,1fr));
  aspect-ratio:2 / 1;
  padding:6px;
  border-radius:18px;
  background:rgba(255,255,255,0.22);
  border:1px solid rgba(255,255,255,0.45);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.55);
}
.lottery-board-cell{
  background:rgba(255,255,255,0.92);
  border:2px solid rgba(255,255,255,0.8);
  border-radius:10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:6px 4px;
  text-align:center;
  min-width:0;
  box-shadow:0 2px 8px rgba(30,60,100,0.06);
  transition:border-color .12s,box-shadow .12s,transform .12s,background .12s;
}
.lottery-board-cell.is-blank{
  background:rgba(255,255,255,0.14);
  border-style:dashed;
  border-color:rgba(255,255,255,0.35);
  box-shadow:none;
}
.lottery-board-cell.is-wallet{
  border-color:rgba(232,119,34,0.45);
  background:linear-gradient(165deg,rgba(255,248,240,0.98),rgba(255,255,255,0.95));
}
.lottery-board-cell.is-display{
  border-color:rgba(124,58,237,0.35);
  background:linear-gradient(165deg,rgba(245,243,255,0.98),rgba(255,255,255,0.95));
}
.lottery-board-cell.is-active{
  border-color:var(--org);
  border-style:solid;
  box-shadow:0 0 0 3px rgba(232,119,34,0.35),0 8px 20px rgba(232,119,34,0.25);
  transform:scale(1.06);
  z-index:2;
  background:#fff;
}
.lottery-board-cell-name{font-size:11px;font-weight:600;color:var(--text);word-break:break-word;line-height:1.25;max-height:2.5em;overflow:hidden;}
.lottery-board-cell-img{width:28px;height:28px;object-fit:contain;margin-bottom:2px;border-radius:4px;}
.lottery-board-center{
  grid-column:2 / var(--lottery-cols);
  grid-row:2 / var(--lottery-rows);
  background:rgba(255,255,255,0.88);
  border:1px solid rgba(255,255,255,0.75);
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px 18px;
  text-align:center;
  box-shadow:0 10px 28px rgba(30,60,100,0.10);
  backdrop-filter:blur(18px);
  z-index:1;
  min-width:0;
}
.lottery-prizes-card{
  background:rgba(255,255,255,0.82);
  backdrop-filter:blur(14px);
}
.lottery-center-idle,
.lottery-center-spinning,
.lottery-center-result{width:100%;max-width:420px;}
.lottery-center-idle[hidden],
.lottery-center-spinning[hidden],
.lottery-center-result[hidden]{display:none!important;}
.lottery-center-desc{font-size:var(--fs-md);color:var(--text);font-weight:600;margin-bottom:8px;line-height:1.5;}
.lottery-center-rule{font-size:var(--fs-sm);color:var(--sub);margin-bottom:14px;line-height:1.55;}
.lottery-center-status{font-size:var(--fs-md);color:var(--sub);margin:8px 0 12px;}
.lottery-board-center .lottery-tickets{margin-bottom:14px;}
.lottery-center-result-label{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--org);text-transform:uppercase;margin-bottom:6px;}
.lottery-center-result-title{font-size:22px;font-weight:var(--fw-strong);color:var(--text);margin-bottom:6px;}
.lottery-center-result-desc{font-size:var(--fs-md);color:var(--sub);margin-bottom:8px;line-height:1.55;}
.lottery-center-result-msg{font-size:var(--fs-md);color:var(--org);margin-bottom:14px;line-height:1.55;}
.prize-thumb{width:48px;height:48px;object-fit:contain;margin:0 auto 8px;display:block;border-radius:8px;}
.earn-hint{display:flex;align-items:flex-start;gap:8px;background:rgba(232,119,34,0.08);border:1px solid rgba(232,119,34,0.18);border-radius:10px;padding:14px 16px;font-size:var(--fs-md);color:var(--sub);margin-top:20px;line-height:1.8;}
.earn-hint svg{flex-shrink:0;margin-top:2px;color:var(--org);}
.od-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.od-back{font-size:var(--fs-md);color:var(--sub);display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border:1px solid var(--bdr);border-radius:20px;transition:all .2s;}
.od-back:hover{color:var(--org);border-color:var(--org);}
.od-id{font-size:var(--fs-md);color:var(--hint);}
.member-wrap > main > .info-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;}
.status-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px;}
.status-cell{background:var(--card);border:1px solid var(--bdr);border-radius:var(--r);padding:18px;text-align:center;backdrop-filter:blur(12px);}
.status-ico{font-size:26px;margin-bottom:6px;}
.status-lbl{font-size:var(--fs-md);color:var(--hint);margin-bottom:4px;}
.status-val{font-size:var(--fs-md);font-weight:var(--fw-strong);}
.s-paid,.s-done{color:#2E7D32;}
.s-pending{color:#E65100;}
.s-processing{color:var(--blu);}
.od-table{width:100%;border-collapse:collapse;font-size:var(--fs-md);}
.od-table th{font-size:var(--fs-xs);color:var(--hint);font-weight:var(--fw-normal);padding:8px 14px;text-align:left;border-bottom:1px solid var(--bdr);}
.od-table td{padding:14px;border-bottom:1px solid rgba(255,255,255,0.05);vertical-align:middle;}
.od-table tr:last-child td{border-bottom:none;}
.od-game-cell{display:flex;align-items:center;gap:10px;}
.od-game-img{width:40px;height:40px;border-radius:8px;object-fit:cover;background:rgba(232,119,34,0.15);flex-shrink:0;}
.od-game-name{font-size:var(--fs-md);font-weight:var(--fw-strong);color:var(--text);}
.od-game-pkg{font-size:var(--fs-xs);color:var(--hint);}
.od-provision{font-size:var(--fs-xs);color:var(--sub);white-space:nowrap;}
.od-acct{font-size:var(--fs-xs);color:var(--sub);line-height:1.8;}
.od-acct b,.od-acct-lbl{color:var(--text);}
.od-acct-list{display:grid;gap:4px;}
.od-acct-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;line-height:1.55;}
.od-acct-lbl{font-weight:var(--fw-strong);flex:0 0 auto;}
.od-acct-val{flex:1 1 auto;min-width:0;word-break:break-word;}
.od-acct-empty{color:var(--hint);}
.od-price{font-size:var(--fs-md);font-weight:var(--fw-strong);color:var(--org);}
.od-status-badge{font-size:var(--fs-xs);font-weight:var(--fw-strong);padding:3px 10px;border-radius:12px;display:inline-block;}
.badge-proc{background:rgba(21,101,192,0.10);color:var(--blu);border:1px solid rgba(21,101,192,0.25);}
.badge-wait{background:rgba(230,81,0,0.10);color:#E65100;border:1px solid rgba(230,81,0,0.25);}
.badge-cancel{background:rgba(153,27,27,0.10);color:#991B1B;border:1px solid rgba(153,27,27,0.25);}
.payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.pay-item{display:flex;justify-content:space-between;font-size:var(--fs-md);padding:5px 0;border-bottom:1px solid rgba(255,255,255,0.05);}
.pay-item:last-child{border-bottom:none;}
.pay-l{color:var(--sub);}
.pay-v{font-weight:var(--fw-strong);color:var(--text);}
.pay-v.total{color:var(--org);font-size:var(--fs-xl);}
.comm-area{display:flex;flex-direction:column;gap:14px;}
.msg-bubble{display:flex;gap:10px;align-items:flex-start;}
.msg-bubble:not(.staff){flex-direction:row-reverse;}
.msg-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--fs-md);font-weight:var(--fw-strong);flex-shrink:0;}
.av-user{background:linear-gradient(135deg,var(--org),var(--org2));color:#fff;}
.av-staff{background:linear-gradient(135deg,var(--blu),var(--blu2));color:#fff;}
.msg-body{max-width:70%;}
.msg-name{font-size:var(--fs-xs);color:var(--hint);margin-bottom:4px;}
.msg-bubble:not(.staff) .msg-name{text-align:right;}
.msg-text{font-size:var(--fs-md);background:rgba(21,101,192,0.08);border:1px solid rgba(21,101,192,0.18);border-radius:12px 12px 12px 2px;padding:10px 14px;color:var(--text);line-height:1.7;}
.msg-bubble:not(.staff) .msg-text{border-radius:12px 12px 2px 12px;background:rgba(255,255,255,0.85);border-color:var(--bdr);}
.msg-time{font-size:var(--fs-xs);color:var(--hint);margin-top:4px;}
.comm-input-area{border-top:1px solid var(--bdr);padding-top:16px;}
.comm-textarea{width:100%;background:rgba(255,255,255,0.80);border:1.5px solid var(--bdr);border-radius:var(--r);padding:12px 14px;font-size:var(--fs-md);color:var(--text);resize:vertical;min-height:80px;outline:none;transition:border .2s;}
.comm-textarea:focus{border-color:var(--org);}
.comm-textarea::placeholder{color:var(--hint);}
.comm-row{display:flex;gap:10px;margin-top:10px;align-items:center;}
.comm-file{font-size:var(--fs-md);color:var(--sub);cursor:pointer;padding:8px 14px;border:1px solid var(--bdr);border-radius:var(--r);transition:all .2s;}
.comm-file:hover{border-color:var(--org);color:var(--org);}
.comm-send{font-size:var(--fs-md);font-weight:var(--fw-strong);color:#fff;background:linear-gradient(135deg,var(--org),var(--org2));border:none;border-radius:var(--r);padding:10px 24px;cursor:pointer;margin-left:auto;}
.comm-send:hover{opacity:0.90;}
