/* Scoped to the separate promotion account. Existing analysis/report pages keep their layout. */
#referralPanel { position:fixed; inset:0; z-index:10020; overflow:auto; overscroll-behavior:contain; background:#f8f5ec; color:#302f27; padding:20px 16px max(32px,env(safe-area-inset-bottom)); box-sizing:border-box; font:16px/1.65 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; }
#referralPanel *,#referralPanel *::before,#referralPanel *::after { box-sizing:border-box; }
#referralPanel .referral-shell { width:100%; max-width:580px; margin:0 auto; }
#referralPanel .referral-topbar { display:flex; align-items:center; justify-content:space-between; gap:16px; color:#677164; margin-bottom:14px; font-size:13px; }
#referralPanel button { font:inherit; min-height:48px; border-radius:10px; cursor:pointer; white-space:normal; overflow-wrap:anywhere; }
#referralPanel .referral-back { display:inline-flex; align-items:center; justify-content:center; min-width:84px; min-height:48px; padding:10px 14px; border:1px solid #d8c9bd; background:#fffdf7; color:#9e4936; text-align:left; font-size:15px; line-height:1.4; font-weight:650; transition:background-color .15s,border-color .15s; }
#referralPanel .referral-back:hover { background:#f2e9df; border-color:#9e4936; }
#referralPanel .referral-back:focus-visible { outline:3px solid #9e4936; outline-offset:3px; }
#referralPanel h2 { font-size:29px; line-height:1.3; font-weight:750; margin:0 0 24px; letter-spacing:-.03em; outline:none; }
#referralPanel h3 { font-size:18px; line-height:1.5; margin:0 0 12px; }
#referralPanel p { margin:0 0 14px; }
#referralPanel .referral-content { display:grid; gap:18px; }
#referralPanel .referral-help { color:#656a60; font-size:14px; line-height:1.65; }
#referralPanel .referral-intro { font-size:17px; }
#referralPanel .referral-form,#referralPanel .referral-card { background:#fffdf7; border:1px solid #dedbd0; padding:22px; border-radius:16px; }
#referralPanel .referral-field { margin-bottom:16px; }
#referralPanel label { display:block; font-size:15px; font-weight:600; margin-bottom:7px; }
#referralPanel input:not([type=checkbox]),#referralPanel textarea { display:block; width:100%; min-width:0; min-height:50px; border:1px solid #bfc4b9; border-radius:9px; padding:12px; background:#fff; color:#302f27; font:inherit; }
#referralPanel textarea { resize:vertical; overflow-wrap:anywhere; word-break:break-all; }
#referralPanel button:focus-visible,#referralPanel input:focus-visible,#referralPanel textarea:focus-visible { outline:3px solid #376b54; outline-offset:3px; }
#referralPanel .referral-primary,#referralPanel .referral-secondary { width:100%; display:block; padding:12px 16px; font-weight:650; border:1px solid #9e4936; }
#referralPanel .referral-primary { background:#9e4936; color:#fff; }
#referralPanel .referral-secondary { background:#fffdf7; color:#254c3d; border-color:#b9c1b4; }
#referralPanel .referral-link { border:0; background:none; color:#254c3d; text-decoration:underline; text-underline-offset:4px; padding:8px 0; text-align:left; }
#referralPanel button:disabled { cursor:wait; opacity:.6; }
#referralPanel .referral-account { display:flex; align-items:center; flex-wrap:wrap; gap:10px; overflow-wrap:anywhere; color:#254c3d; font-weight:650; }
#referralPanel .referral-badge { background:#e8eee4; padding:3px 10px; border-radius:20px; font-size:12px; font-weight:500; }
#referralPanel .referral-balance { padding:24px; border-radius:16px; background:#244d3d; color:#fffdf7; }
#referralPanel .referral-balance p { margin:0; }
#referralPanel .referral-balance strong { display:block; margin:6px 0 10px; font-size:44px; line-height:1.2; letter-spacing:-.04em; overflow-wrap:anywhere; }
#referralPanel .referral-balance .referral-help { color:#e0e9dc; }
#referralPanel .referral-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0; padding:4px 3px 8px; }
#referralPanel .referral-stats dt { font-size:13px; color:#656a60; }
#referralPanel .referral-stats dd { margin:3px 0 0; font-weight:700; font-size:18px; overflow-wrap:anywhere; }
#referralPanel .referral-consent { display:flex; align-items:flex-start; gap:10px; min-height:48px; font-weight:400; font-size:14px; margin:18px 0; }
#referralPanel input[type=checkbox] { width:21px; height:21px; flex:0 0 21px; margin:2px 0 0; accent-color:#254c3d; }
#referralPanel .referral-pending { padding:15px 18px; background:#eceee4; border-radius:12px; color:#254c3d; }
#referralPanel .referral-withdrawal { padding:16px 0; border-top:1px solid #dedbd0; }
#referralPanel .referral-withdrawal-line { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
#referralPanel .referral-withdrawal-line span { color:#656a60; font-size:14px; }
#referralPanel .referral-withdrawal p { margin:4px 0 0; }
#referralPanel .referral-controls { display:grid; gap:8px; padding-top:8px; }
#referralPanel .referral-notice { color:#803b2c; font-size:14px; margin-top:18px; overflow-wrap:anywhere; }
#referralPanel [hidden] { display:none!important; }
@media (max-width:350px) { #referralPanel { padding-left:14px; padding-right:14px; } #referralPanel h2 { font-size:27px; } #referralPanel .referral-form,#referralPanel .referral-card,#referralPanel .referral-balance { padding:18px; } }
