*{box-sizing:border-box}body{margin:0;background:#f4f8ff;color:#0a1b3d;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}button{cursor:pointer;border:0}.topbar{height:72px;background:#071a3d;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:5}.brand{font-size:19px;font-weight:900;letter-spacing:3px}.brand2{font-size:11px;letter-spacing:4px;color:#73c9ff}.iconbtn{background:#17366e;color:white;border-radius:50%;width:40px;height:40px;font-size:18px}main{max-width:680px;margin:auto;padding:18px 16px 100px}.tab{display:none}.tab.active{display:block}h1{font-size:29px;margin:8px 0 4px}h2{font-size:19px;margin:22px 0 12px}.hero{background:linear-gradient(135deg,#071a3d,#1767a9);color:white;border-radius:25px;padding:25px;margin-bottom:14px;box-shadow:0 12px 30px #0a1b3d22}.hero h1{font-size:32px;margin:5px 0 10px}.hero p{color:#dbefff}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800}.points-card{background:white;border-radius:22px;padding:19px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 7px 25px #0a1b3d12}.points-card strong{display:block;font-size:35px;margin-top:3px}.muted{color:#71809b}.level{background:#e6f5ff;color:#08619a;padding:8px 12px;border-radius:999px;font-weight:800}.progress-wrap{background:white;padding:15px 18px;border-radius:18px;margin-top:10px}.row{display:flex;justify-content:space-between;align-items:center;gap:10px}.progress{height:9px;background:#e7edf6;border-radius:20px;overflow:hidden;margin-top:9px}.progress i{display:block;height:100%;width:0;background:#27a9e8;border-radius:20px;transition:.3s}.cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reward{background:white;border-radius:19px;padding:16px;box-shadow:0 6px 20px #0a1b3d10}.reward .emoji{font-size:30px}.reward b{display:block;margin:6px 0}.reward small{color:#71809b}.reward button{margin-top:10px;width:100%}.promo{margin-top:15px;background:#fff4df;border-radius:19px;padding:15px;display:flex;gap:12px}.promo span{font-size:29px}.promo p{margin:4px 0;color:#765c2b}.stack{display:grid;gap:11px}.item{background:white;border-radius:18px;padding:16px;box-shadow:0 5px 18px #0a1b3d0d}.item .emoji{font-size:25px}.item button{margin-top:10px}.primary{background:#087cc1;color:white;padding:13px 18px;border-radius:13px;font-weight:800;width:100%;margin-top:12px}.secondary{background:#e8f1fb;color:#0b376b;padding:12px 16px;border-radius:13px;font-weight:800;width:100%;margin-top:12px}.small{width:auto;margin:0}.danger{background:#ffe7e7;color:#a11a1a;padding:12px 16px;border-radius:13px;font-weight:800;width:100%;margin-top:18px}.qrbox{background:white;border-radius:24px;padding:25px;text-align:center;margin:20px 0;box-shadow:0 8px 25px #0a1b3d12}.qrbox #qrcode{display:flex;justify-content:center;margin-bottom:15px}.qrbox small{display:block;color:#71809b;margin-top:4px}.profile{text-align:center;background:white;border-radius:22px;padding:20px;margin:15px 0}.avatar{width:70px;height:70px;border-radius:50%;background:#e7f5ff;display:grid;place-items:center;font-size:35px;margin:auto}form{background:white;padding:18px;border-radius:20px}label{display:block;font-weight:800;margin:13px 0}input{width:100%;padding:13px;border:1px solid #d9e2ef;border-radius:12px;margin-top:7px;outline:none}input:focus{border-color:#1799dc}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.admin-card,.admin-panel{background:white;border-radius:20px;padding:18px;box-shadow:0 6px 20px #0a1b3d0c}.admin-card span{color:#71809b}.admin-card strong{display:block;font-size:28px;margin-top:5px}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.quick button{background:#e8f5ff;color:#075c91;padding:11px 5px;border-radius:11px;font-weight:800}.nav{position:fixed;bottom:0;left:0;right:0;height:76px;background:#fff;border-top:1px solid #e2e9f3;display:flex;justify-content:center;z-index:10;box-shadow:0 -8px 25px #0a1b3d10}.nav button{background:white;color:#71809b;flex:1;max-width:130px;font-size:20px;padding-top:8px}.nav button span{display:block;font-size:10px;font-weight:800;margin-top:4px}.nav button.active{color:#087cc1}@media(min-width:700px){.nav{left:50%;transform:translateX(-50%);width:680px;border-radius:20px 20px 0 0}.hero{padding:32px}.cards{grid-template-columns:repeat(3,1fr)}}