/* One Easy Fundraiser Student Rewards 0.1: isolated preview styles.
   Never define global header, nav, theme, body, footer, .view, or typography selectors. */
.oefr-app{--navy:#073867;--blue:#007cbd;--aqua:#00a9c6;--pink:#f32770;--yellow:#ffd85b;--sand:#fff2cc;--mint:#e5fbfb;--line:#bde5f2;--pale:#e4f8ff;--ink:#143e60;--muted:#456881; font:16px/1.55 'Trebuchet MS',Arial,sans-serif; color:#073867; background:#e4f8ff; overflow:hidden}
.oefr-app, .oefr-app * {box-sizing:border-box}
.oefr-app button {font:inherit;cursor:pointer}
.oefr-app a {color:inherit;text-decoration:none}
.oefr-app button:focus-visible,.oefr-app a:focus-visible{outline:3px solid #f9b82d;outline-offset:3px}
.oefr-app h1,.oefr-app h2,.oefr-app h3{line-height:1.14;margin:0 0 12px;font-weight:900}
.oefr-app h1{font-size:clamp(39px,5vw,60px)}
.oefr-app h2{font-size:clamp(27px,3vw,40px)}
.oefr-app h3{font-size:21px}
.oefr-app p{margin:0 0 13px}
.oefr-app .wrap{max-width:1200px;margin:0 auto;padding:0 22px}
/* Theme's .tropical pseudoelements may contain palm trees: never display in this module. */
.oefr-app .tropical::before,.oefr-app .tropical::after{content:none!important;display:none!important}
/* Only the rewards page view becomes visible on the approved theme's rewards route. */
body.oefr-rewards-route #page-oef-rewards.view.active{display:block!important}
.oefr-app button{font:inherit;cursor:pointer}
.oefr-app button:focus-visible,
.oefr-app a:focus-visible{outline:3px solid #f9b82d;outline-offset:3px}
.oefr-app a{text-decoration:none;color:inherit}
.oefr-app h1,
.oefr-app h2,
.oefr-app h3{line-height:1.14;margin:0 0 12px;font-weight:900}
.oefr-app h1{font-size:clamp(39px,5vw,60px)}
.oefr-app h2{font-size:clamp(27px,3vw,40px)}
.oefr-app h3{font-size:21px}
.oefr-app p{margin:0 0 13px}
.oefr-app .wrap{max-width:1200px;margin:0 auto;padding:0 22px}
.oefr-app .btn{display:inline-flex;align-items:center;justify-content:center;border:0;padding:13px 19px;border-radius:13px;background:var(--pink);color:white;font-weight:900;box-shadow:0 4px 0 #103f531a;gap:7px}
.oefr-app .btn.blue{background:var(--blue)}
.oefr-app .btn.yellow{background:#ffca38;color:var(--navy)}
.oefr-app .btn.white{background:white;color:var(--navy)}
.oefr-app .btn.outline{background:transparent;border:2px solid var(--blue);color:var(--blue)}
.oefr-app .btn.small{font-size:12px;padding:9px 12px}
.oefr-app .tropical{background:radial-gradient(circle at 11% 13%,#fffbbca0,transparent 30%),linear-gradient(180deg,#c5f0ff 0%,#f4fdff 48%,#fff0c1 100%)}
.oefr-app .hero-wrap{padding-top:35px;padding-bottom:62px}
.oefr-app .hero{background:linear-gradient(123deg,#e2f9ff 0%,#f9fdff 58%,#fff5d8 100%);border:1px solid #bde5f2;border-radius:27px;box-shadow:0 16px 38px #0a517719;display:grid;grid-template-columns:1.18fr .82fr;gap:16px;padding:39px;position:relative;overflow:hidden}
.oefr-app .eyebrow{display:inline-block;border:1px solid #cbebf4;border-radius:30px;background:white;color:var(--blue);font-weight:900;letter-spacing:1.4px;text-transform:uppercase;font-size:11px;padding:7px 12px;margin-bottom:15px}
.oefr-app .hero h1 span{color:var(--blue)}
.oefr-app .hero p{max-width:600px;font-size:18px}
.oefr-app .badges{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 22px}
.oefr-app .badges span{background:white;border:1px solid #dceaf3;border-radius:100px;padding:7px 11px;font-size:12px;font-weight:800}
.oefr-app .buttons{display:flex;flex-wrap:wrap;gap:10px}
.oefr-app .herostat{align-self:center;display:grid;gap:16px;justify-items:center;z-index:1}
.oefr-app .statcard{background:white;border-radius:22px;box-shadow:0 18px 40px #083c6524;padding:25px 30px;max-width:330px;text-align:center;transform:rotate(3deg)}
.oefr-app .statcard .emoji{font-size:37px}
.oefr-app .statcard .number{font-size:63px;font-weight:1000;line-height:1;color:var(--blue);display:block}
.oefr-app .statcard strong{display:block;font-size:16px}
.oefr-app .statcard p{font-size:12px;color:#4a6879;margin:8px 0 0}
.oefr-app .herofoot{font-size:12px;color:#557185;margin-top:16px}
.oefr-app .section{padding:57px 0}
.oefr-app .section-light{background:linear-gradient(180deg,#e4f8ff,#f6fdff)}
.oefr-app .section-white{background:#f8fcff}
.oefr-app .section-sand{background:linear-gradient(180deg,#fff9e5,#fff2cd)}
.oefr-app .section-title{text-align:center;max-width:780px;margin:0 auto 28px}
.oefr-app .overline{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;font-weight:900;color:var(--blue)}
.oefr-app .section-title p{color:#536f83}
.oefr-app .tabs{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin:16px auto 24px}
.oefr-app .tab{border-radius:100px;padding:10px 19px;border:1px solid #b8e6f2;background:white;font-weight:900;color:var(--navy)}
.oefr-app .tab[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}
.oefr-app .reward-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.oefr-app .reward-card{border:1px solid #c6e9f5;border-top:5px solid var(--blue);border-radius:17px;background:white;padding:23px;box-shadow:0 9px 21px #0b527014;display:flex;flex-direction:column;min-height:260px}
.oefr-app .reward-card:nth-child(3n/**/+2){border-top-color:var(--pink)}
.oefr-app .reward-card:nth-child(3n){border-top-color:#ffbf2e}
.oefr-app .reward-card .level{color:var(--blue);text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:1.3px}
.oefr-app .reward-card .icon{font-size:35px;margin:6px 0}
.oefr-app .reward-card h3{margin:0}
.oefr-app .reward-card .threshold{color:var(--pink);font-size:18px;font-weight:900;margin:8px 0}
.oefr-app .reward-card p{color:#456981;font-size:14px;flex:1}
.oefr-app .reward-card .cap{background:#eff9ff;padding:9px 10px;border-radius:9px;font-size:12px;font-weight:800}
.oefr-app .note{text-align:center;font-size:12px;color:#49667c;margin:22px auto 0;max-width:850px}
.oefr-app .duogrid{display:grid;grid-template-columns:1.25fr .75fr;gap:20px}
.oefr-app .card{background:white;border:1px solid #cae6f3;border-radius:19px;padding:24px;box-shadow:0 9px 28px #0b527014}
.oefr-app .card.soft{background:#f1faff}
.oefr-app .card h3{font-size:25px}
.oefr-app .stats{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.oefr-app .stat{background:#eaf7fc;border-radius:12px;padding:13px}
.oefr-app .stat strong{display:block;font-size:30px;line-height:1.2}
.oefr-app .stat span{font-size:12px;color:#4e718a}
.oefr-app .progress-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:900;margin-top:22px}
.oefr-app .bar{background:#dceef5;border-radius:20px;height:15px;overflow:hidden;margin:10px 0}
.oefr-app .fill{background:linear-gradient(90deg,var(--blue),var(--aqua));width:0;height:100%;transition:width .2s}
.oefr-app .ticks{display:flex;gap:7px;justify-content:space-between;font-size:12px;font-weight:900;color:#587588}
.oefr-app .ticks .complete{color:#008a8a}
.oefr-app .controls{display:flex;align-items:center;gap:11px;margin:15px 0}
.oefr-app .stepper{width:36px;height:36px;border-radius:10px;border:1px solid #b6deec;background:white;font-size:21px;color:var(--navy);font-weight:900}
.oefr-app .referral{display:flex;align-items:center;gap:15px;background:#f0faff;padding:15px;border:1px dashed #7ac9de;border-radius:12px;margin:15px 0}
.oefr-app .qrplaceholder{width:90px;height:90px;flex:0 0 90px;background:white;border-radius:8px;display:grid;place-items:center;border:2px solid #b1dfe9;color:#557589;font-size:10px;text-align:center;padding:8px;font-weight:900}
.oefr-app .samplelink{font-weight:900;word-break:break-all;font-size:14px}
.oefr-app .minor{font-size:12px;color:#637e90}
.oefr-app .badgecard{background:linear-gradient(130deg,#073867,#007cbd);color:white;border-radius:17px;padding:24px}
.oefr-app .badgecard .emoji{font-size:41px}
.oefr-app .badgecard p{color:#dbf0fa}
.oefr-app .badgecard .eyeline{font-weight:900;font-size:11px;letter-spacing:1.3px;text-transform:uppercase;color:#bbefff}
.oefr-app .challenge{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}
.oefr-app .group-prize{background:white;border:1px solid #f3dc96;border-top:5px solid #ffcb3c;border-radius:17px;padding:23px}
.oefr-app .group-prize .emoji{font-size:38px}
.oefr-app .group-prize h3{margin-top:9px}
.oefr-app .group-prize .caption{font-size:12px;color:#60778a}
.oefr-app .group-progress{background:linear-gradient(130deg,#0a75af,#03a7bf);color:white;padding:25px;border-radius:17px}
.oefr-app .group-progress strong{font-size:38px}
.oefr-app .group-progress .bar{background:#ffffff40}
.oefr-app .group-progress .fill{background:linear-gradient(90deg,#ffda6b,#fff1ba)}
.oefr-app .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.oefr-app .step{background:white;padding:20px;border:1px solid #cbebf4;border-radius:15px;border-top:4px solid var(--pink)}
.oefr-app .step:nth-child(2){border-top-color:var(--blue)}
.oefr-app .step:nth-child(3){border-top-color:#ffc63c}
.oefr-app .step:nth-child(4){border-top-color:#00ac8d}
.oefr-app .step b{display:grid;place-items:center;background:#ffde70;border-radius:11px;width:35px;height:35px;margin-bottom:12px}
.oefr-app .step h3{font-size:17px}
.oefr-app .step p{color:#54738a;font-size:13px}
.oefr-app .owner{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.oefr-app .mocktable{width:100%;border-collapse:collapse;font-size:13px}
.oefr-app .mocktable th{text-align:left;background:#e9f8ff;padding:11px}
.oefr-app .mocktable td{padding:11px;border-bottom:1px solid #d8edf5}
.oefr-app .tag{padding:4px 7px;border-radius:7px;background:#e3f8ec;color:#137e52;font-size:11px;font-weight:900}
.oefr-app .tag.pending{background:#fff5da;color:#a77300}
.oefr-app .disclaimer{font-size:12px;color:#517188;margin-top:15px}
@media (max-width:1050px){
.oefr-app .hero{grid-template-columns:1fr 0.8fr}
.oefr-app .wrap{padding:0 17px}
}
@media (max-width:750px){
.oefr-app .hero{grid-template-columns:1fr;padding:24px}
.oefr-app .herostat{display:none}
.oefr-app .reward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.oefr-app .duogrid,
.oefr-app .challenge,
.oefr-app .owner{grid-template-columns:1fr}
.oefr-app .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:490px){
.oefr-app .reward-grid,
.oefr-app .steps{grid-template-columns:1fr}
.oefr-app .hero h1{font-size:38px}
.oefr-app .card{padding:16px}
.oefr-app .stat strong{font-size:24px}
}
/* Version 0.4: optional entry cards within existing page content ONLY.
   All selectors start .oefr-entry-; the site header/nav are untouched. */
.oefr-entry-card{box-sizing:border-box;max-width:1120px;margin:27px auto 0;padding:21px 24px;border:1px solid #bde5f2;border-left:5px solid #00a9c6;border-radius:17px;background:linear-gradient(110deg,#fff 0%,#f2fcff 75%,#fff7e4 100%);box-shadow:0 9px 25px rgba(12,63,99,.09);display:flex;align-items:center;justify-content:space-between;gap:22px;font-family:'Trebuchet MS',Arial,sans-serif;color:#073867}
.oefr-entry-card *{box-sizing:border-box}
.oefr-entry-card .oefr-entry-text{flex:1;min-width:0}
.oefr-entry-card .oefr-entry-eyebrow{display:block;font-size:10px;letter-spacing:1.2px;font-weight:900;color:#007cbd;margin-bottom:5px}
.oefr-entry-card .oefr-entry-title{display:block;font-size:19px;line-height:1.2;font-weight:900;color:#073867;margin-bottom:7px}
.oefr-entry-card .oefr-entry-text p{font-size:13px;line-height:1.5;margin:0;color:#456881}
.oefr-entry-card a.oefr-entry-link{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;text-decoration:none;color:white!important;background:#f32770;border-radius:11px;padding:13px 16px;font-size:13px;font-weight:900;white-space:nowrap;box-shadow:0 5px 15px rgba(243,39,112,.17)}
.oefr-entry-card a.oefr-entry-link:hover{background:#d71b60}
.oefr-entry-card a.oefr-entry-link:focus-visible{outline:3px solid #ffca38;outline-offset:3px}
.oefr-entry-card--resources{margin:17px auto 24px}
@media(max-width:650px){.oefr-entry-card{flex-direction:column;align-items:stretch;padding:18px;gap:13px}.oefr-entry-card a.oefr-entry-link{white-space:normal;text-align:center}.oefr-entry-card .oefr-entry-title{font-size:18px}}
