*{box-sizing:border-box}
body{margin:0;font-family:Arial,Tahoma,sans-serif;background:#f5f7fb;color:#172033}
.topbar{height:70px;background:#fff;border-bottom:1px solid #e8ebf2;display:flex;align-items:center;justify-content:space-between;padding:0 6%;position:sticky;top:0;z-index:5}
.logo{font-size:21px;font-weight:800}
.container{width:min(920px,92%);margin:35px auto}
.hero{text-align:center;background:linear-gradient(135deg,#6d5dfc,#8b7cff);color:#fff;padding:55px 25px;border-radius:24px;box-shadow:0 15px 40px #5547d326}
.hero h1{font-size:38px;margin:15px 0 10px}.hero p{font-size:17px;opacity:.93}
.badge{display:inline-block;background:#ffffff22;border:1px solid #ffffff44;padding:7px 13px;border-radius:99px}
.btn{border:0;border-radius:12px;padding:12px 19px;font-size:15px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}
.primary{background:#fff;color:#5a4bf4}.hero .primary{margin-top:15px}
.secondary{background:#eef0ff;color:#5144d8}.outline{background:#fff;border:1px solid #dfe3ee;color:#333}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}
.card,.panel{background:#fff;border:1px solid #e8ebf2;border-radius:18px;padding:22px;box-shadow:0 8px 25px #1b27400a}
.card span,.card small{display:block;color:#6b7280}.card strong{font-size:34px;display:inline-block;margin:7px 5px 0 0}
.panel{margin:18px 0}.panel h2{margin-top:0}.actions{display:flex;gap:10px;flex-wrap:wrap}
.task{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid #eee}
.task:last-child{border-bottom:0}.task p{margin:5px 0 0;color:#707889;font-size:13px}
.points-pill{background:#eefbf3;color:#16834a;padding:7px 11px;border-radius:10px;font-weight:700}
.disabled{opacity:.55}.note{display:block;color:#777;margin-top:14px;line-height:1.7}
.hidden{display:none}.btn:disabled{cursor:not-allowed;opacity:.55}
.target{margin:15px 0;padding:15px;border:1px solid #e8ebf2;border-radius:14px;background:#fafbff}
.target b{display:block;font-size:18px}.target span{font-size:13px;color:#777}
.message{margin-top:12px;padding:10px;border-radius:10px;display:none}
.message.show{display:block;background:#fff8e6;color:#795b00}
.account-head{display:flex;align-items:center;justify-content:space-between}
footer{text-align:center;color:#8a91a1;padding:25px}
@media(max-width:600px){.hero h1{font-size:29px}.stats{grid-template-columns:1fr}.topbar{padding:0 4%}}
