/* Self-contained invitation campaign, sized for mobile and desktop. */
.reward-lock{overflow:hidden}
.reward-overlay{position:fixed;inset:0;z-index:1100;display:none;place-items:center;padding:22px;background:rgba(23,16,52,.66);backdrop-filter:blur(8px)}
.reward-overlay.is-open{display:grid}
.invite-campaign,.invite-campaign *{box-sizing:border-box}
.invite-campaign{position:relative;width:min(460px,100%);max-height:calc(100dvh - 44px);overflow:auto;border-radius:28px;color:#322542;background:linear-gradient(170deg,#4018bf 0,#7061df 340px,#ffdfb5 560px,#fff4e9 850px);box-shadow:0 28px 100px #12093166;font:14px/1.6 system-ui,"Microsoft YaHei",sans-serif;scrollbar-width:thin;isolation:isolate}
.invite-campaign button,.invite-campaign input{font:inherit}
.invite-campaign button{cursor:pointer}
.invite-campaign button:disabled{opacity:.55;cursor:not-allowed}
.invite-campaign button:focus-visible,.invite-campaign summary:focus-visible,.invite-campaign input:focus-visible{outline:3px solid #7b60eb;outline-offset:3px}
.invite-campaign .ic-close{position:absolute;right:16px;top:14px;z-index:4;display:grid;place-items:center;width:32px;height:32px;min-width:32px;min-height:32px;margin:0;padding:0;border:1px solid #ffffff66;border-radius:50%;background:#ffffff1a;color:white;line-height:1;appearance:none}
.invite-campaign .ic-close svg{display:block;width:16px;height:16px;margin:0;pointer-events:none}
.ic-hero{padding:44px 20px 25px;text-align:center;color:#fff;background:radial-gradient(ellipse at 20% 10%,#9374ff66,transparent 55%)}
.ic-eyebrow{font-size:10px;letter-spacing:2.5px;color:#e1d6ff}
.ic-hero h2{font-size:42px!important;font-weight:950;font-style:italic;line-height:1.22;margin:14px 0 10px;letter-spacing:-2px;color:white;text-shadow:0 4px 0 #27128133}
.ic-hero h2 em{color:#ffe7a3;font-style:inherit}
.ic-hero p{font-size:13px;color:#e5dcff;margin:0}
.ic-envelope{position:relative;margin:12px 30px 24px;padding-top:0;filter:drop-shadow(0 13px 15px #8e352136)}
.ic-envelope:before{content:"";position:absolute;inset:30px -9px 0;border-radius:24px;background:linear-gradient(110deg,#ffb56a,#ff7d40 50%,#ffbb69);z-index:-1}
.ic-ticket{position:relative;z-index:1;display:grid;justify-items:center;gap:5px;padding:24px 16px 55px;border:6px solid #fff1db;border-radius:30px 30px 10px 10px;background:linear-gradient(#fffefa,#fff5e8);box-shadow:inset 0 0 0 1px #f8d6b8;color:#933e19}
.ic-ticket>span{font-size:18px;font-weight:800}
.ic-ticket strong{font-size:24px;line-height:1.1;color:#ed501c}
.ic-ticket b{font-size:86px;letter-spacing:-5px;margin-right:7px}
.ic-ticket small{font-size:12px;border-radius:20px;padding:4px 12px;background:#f8e7df;color:#ac624c}
.ic-envelope-front{position:relative;z-index:2;margin-top:-33px;padding:43px 22px 20px;background:linear-gradient(130deg,#ff963b,#ff5c2d 75%);border-radius:18px 18px 24px 24px;border-top:5px solid #ffe5a3;box-shadow:inset 0 -4px 6px #ae371d24;text-align:center}
.ic-seal{position:absolute;top:-23px;left:calc(50% - 23px);display:grid;place-items:center;width:46px;height:46px;border:3px solid #ffe6aa;border-radius:50%;background:#ffc460;color:#a75224;font-weight:900;font-size:23px}
.ic-primary{width:100%;min-height:50px;border:1px solid #fff6ce;border-radius:999px;background:linear-gradient(#fffde9,#ffe1a4);box-shadow:0 5px 0 #d8462522;color:#a63816;font-weight:900!important;font-size:20px!important}
.ic-envelope-front p{font-size:11px;color:#fff1df;margin:14px 0 0}
.ic-content{padding:0 16px 22px}
.ic-box{background:#ffffffeb;border:1px solid #ffffffa6;border-radius:19px;padding:19px;margin-top:12px;box-shadow:0 7px 20px #b7632820}
.ic-box h3{margin:0;font-size:17px;font-weight:850;color:#302838}
.ic-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ic-section-title>span{font-size:11px;color:#958598}
.ic-steps{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.ic-steps li{display:grid;gap:5px}
.ic-steps b{font-size:23px;line-height:1;color:#ccbcf0;font-weight:900}
.ic-steps strong{font-size:13px;color:#41304c}
.ic-steps small{font-size:11px;color:#8e7e95}
.ic-contact{border:0;border-radius:20px;padding:7px 11px;color:#6b3713;background:#ffe59a;font-size:11px!important;font-weight:800!important}
.ic-muted{font-size:12px;color:#8f8096;margin:7px 0 16px}
.ic-refresh{float:right;background:none;border:0;color:#7855bf;font-size:12px!important}
.ic-balances{display:grid;grid-template-columns:1fr 1fr;border-radius:14px;background:#f6f3fa;padding:18px 0}
.ic-balances>div{display:grid;text-align:center;gap:3px}
.ic-balances>div+div{border-left:1px solid #e4dced}
.ic-balances strong{font-size:14px;color:#452d60}.ic-balances b{font-size:27px;font-weight:900}
.ic-balances span{color:#92829d;font-size:11px}
.ic-counts{display:flex;justify-content:space-between;color:#887693;font-size:12px;margin:14px 0 0}
.ic-counts b{color:#a25428}.ic-counts>span{margin-left:auto}
.ic-link-label{display:block;color:#92829c;font-size:12px;margin-top:10px}
.ic-link{display:block;width:100%;border:1px solid #e3d8ee;background:#faf7fd;color:#6c587d;border-radius:9px;padding:11px;margin-top:7px;font-size:11px!important}
.ic-code{font-size:11px;color:#8a7897;overflow-wrap:anywhere;margin:10px 0 0}
.ic-code b{display:block;color:#5e4678;letter-spacing:.5px}
.ic-private{font-size:11px;color:#765b8e;margin-top:12px}.ic-private summary{cursor:pointer}.ic-private code{display:block;overflow-wrap:anywhere;padding:9px;background:#f4edf9;border-radius:7px;margin-top:7px}.ic-private small{display:block;margin-top:6px;color:#ad613a}
.ic-status{font-size:11px;color:#ad613a;line-height:1.7;margin:10px 0 0}
.ic-history{list-style:none;margin:12px 0;padding:0}
.ic-history li{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:10px 0;border-top:1px solid #f0eaf5;font-size:11px;color:#9b8ba6}
.ic-history strong{font-size:11px;font-weight:600;color:#b27837}
.ic-history strong[data-status="approved"],.ic-history strong[data-status="paid"]{color:#168266}
.ic-history strong[data-status="rejected"]{color:#a26c7b}
.ic-history small{grid-column:1 / -1;color:#7a648f}
.ic-history .ic-empty{display:block;text-align:center;padding:20px 0;color:#a38db2}
.ic-pagination{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#917f9e}
.ic-pagination button{border:1px solid #e4d9ed;background:#faf6ff;color:#775d8c;padding:5px 9px;border-radius:7px}
.ic-rules{font-size:11px;color:#94819f}.ic-rules summary{cursor:pointer;font-size:13px;font-weight:700;color:#604875}
.ic-rules ol{padding-left:18px;margin:10px 0 0}.ic-rules li+li{margin-top:7px}
.reward-toast{position:fixed;bottom:30px;left:50%;z-index:1250;transform:translateX(-50%);max-width:calc(100vw - 36px);padding:12px 18px;border-radius:12px;background:#322044;color:white;font:13px/1.5 system-ui;box-shadow:0 8px 28px #14092533;display:none}
.reward-toast.is-visible{display:block}
@media(max-width:520px){.reward-overlay{padding:0}.invite-campaign{width:100%;max-height:100dvh;height:100dvh;border-radius:0;padding-bottom:env(safe-area-inset-bottom)}.ic-hero{padding-top:calc(38px + env(safe-area-inset-top))}.invite-campaign .ic-close{top:calc(12px + env(safe-area-inset-top))}}
@media(max-width:350px){.ic-hero h2{font-size:35px!important}.ic-envelope{margin-left:24px;margin-right:24px}.ic-content{padding-left:12px;padding-right:12px}.ic-box{padding:15px}.ic-ticket>span{font-size:16px}}
