:root{--gold:#e8c95b;--gold2:#f5df8a;--red:#8d001f;--red2:#3d000d;--black:#070304;--cream:#fffaf0;--muted:#b9adb0}*{box-sizing:border-box}html{background:var(--black)}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:radial-gradient(circle at 50% -10%,#5d0017 0,#160006 36%,#050304 72%);color:#fff;min-height:100vh}.wrap{max-width:820px;margin:auto;padding:22px 18px 70px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;padding:10px 4px;font-weight:800;letter-spacing:.14em;color:var(--gold2)}header img{width:150px;height:88px;object-fit:contain;object-position:left center}.hero{position:relative;overflow:hidden;border:1px solid #d4af5a66;border-radius:28px;padding:46px 30px;margin-bottom:16px;background:linear-gradient(135deg,#120004e8,#690018e8 52%,#170006ee),radial-gradient(circle at 90% 10%,#e8c95b33,transparent 35%);box-shadow:0 20px 70px #000}.hero:after{content:"";position:absolute;inset:12px;border:1px solid #e8c95b33;border-radius:20px;pointer-events:none}.eyebrow{color:var(--gold2);font-weight:800;letter-spacing:.22em;font-size:12px}.hero h1{font-size:clamp(36px,8vw,70px);line-height:.94;margin:16px 0;color:#fff}.hero p{font-size:18px;line-height:1.5}.hero b{color:var(--gold2)}.card{background:linear-gradient(180deg,#fffaf4,#f3eadb);color:#16070a;border-radius:24px;padding:26px;box-shadow:0 20px 60px #0009}.card h2{margin-top:0}.muted{color:#65575a;line-height:1.5}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}input,select{width:100%;padding:15px;border:1px solid #c9bba6;border-radius:12px;font-size:16px;background:#fff}.grid>label{display:block}label{font-size:13px;font-weight:700}label input{margin-top:6px;font-weight:400}.check{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-weight:400}.check input{width:auto;margin:2px 0}button,.button{display:inline-block;border:1px solid #f4d66e;border-radius:12px;padding:15px 18px;background:linear-gradient(135deg,#170006,#85001d);color:#fff;font-weight:800;text-decoration:none;cursor:pointer;width:100%;margin-top:8px;letter-spacing:.03em}.success,.error{margin-top:16px;padding:16px;border-radius:14px;background:#e9f8ee;color:#126b2d}.error{background:#ffe9ec;color:#a30d25}.pass-wrap{padding:18px}.wallet{max-width:560px;margin:0 auto;border:1px solid #e8c95b88;border-radius:30px;padding:26px 24px 22px;background:radial-gradient(circle at 85% 20%,#e8c95b22,transparent 25%),linear-gradient(145deg,#180006,#650019 45%,#210009);color:#fff;box-shadow:0 20px 80px #000;min-height:720px;position:relative;overflow:hidden}.wallet:before,.wallet:after{content:"";position:absolute;pointer-events:none;border:1px solid #e8c95b2b;border-radius:50%}.wallet:before{width:330px;height:330px;right:-160px;top:150px}.wallet:after{width:430px;height:430px;left:-250px;bottom:-240px}.pass-top{display:flex;justify-content:space-between;align-items:center;gap:10px;position:relative;z-index:1}.pass-top img{width:170px;height:90px;object-fit:contain;object-position:left center}.pass-top span{font-size:11px;letter-spacing:.22em;color:var(--gold2)}.pass-title{position:relative;z-index:1;font-size:30px;font-weight:900;line-height:.95;margin:30px 0;color:var(--gold2)}.label{font-size:10px;letter-spacing:.22em;opacity:.75;margin-top:16px;position:relative;z-index:1}.name{font-size:27px;font-weight:700;position:relative;z-index:1}.id{font-size:18px;letter-spacing:.12em;position:relative;z-index:1}.qr{display:block;width:240px;height:240px;background:#fff;border-radius:15px;padding:10px;margin:34px auto 20px;position:relative;z-index:2}.offer{text-align:center;font-weight:900;letter-spacing:.12em;font-size:14px;color:var(--gold2);position:relative;z-index:1}.scan{text-align:center;letter-spacing:.2em;font-size:10px;margin-top:8px;position:relative;z-index:1}.bottom{display:flex;justify-content:space-between;gap:12px;margin-top:40px;font-size:8px;letter-spacing:.15em;position:relative;z-index:1;color:#f7e7b0}.bottom span:last-child{color:#ffd5dd}.wallet-buttons{max-width:560px;margin:16px auto}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.stats div{background:#fff;border-radius:16px;padding:18px;text-align:center}.stats b{display:block;font-size:28px}.stats span{font-size:11px;color:#777}.row{padding:15px 0;border-bottom:1px solid #eee}.row span{display:block;color:#777;font-size:13px;margin-top:4px}#reader{max-width:520px;margin:20px auto}.big{font-size:20px;text-align:center;font-weight:900}@media(max-width:560px){.grid{grid-template-columns:1fr}.wallet{min-height:650px}.qr{width:215px;height:215px}.pass-title{font-size:25px}.bottom{font-size:7px}}

.admin-card{margin-top:16px}
.admin-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px}
.admin-head h2{margin-bottom:4px}
.search{max-width:390px}
.small-button{width:auto;margin:0;white-space:nowrap;padding:12px 14px;font-size:11px}
.cities{display:grid;gap:12px}
.city-row{padding:7px 0}
.city-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px}
.city-label span{color:#777;font-size:12px}
.city-bar{height:9px;background:#eadfd2;border-radius:99px;overflow:hidden}
.city-bar i{display:block;height:100%;background:linear-gradient(90deg,#4b0010,#a00028,#e8c95b);border-radius:99px}
.member-row{padding:15px 0;border-bottom:1px solid #e8dfd5;display:flex;justify-content:space-between;gap:20px}
.member-row>div:first-child span,.member-meta span{display:block;color:#777;font-size:12px;margin-top:4px}
.member-meta{text-align:right}
@media(max-width:700px){
  .admin-head,.member-row{display:block}
  .small-button{margin-top:10px}
  .search{max-width:none;margin-top:10px}
  .member-meta{text-align:left;margin-top:8px}
}
.toolbar{display:flex;justify-content:space-between;align-items:center;margin:-8px 0 14px;color:var(--gold2);font-size:12px;letter-spacing:.08em}.auth-wrap{max-width:620px}.auth-card{margin-top:50px}.auth-card form{display:grid;gap:14px}.auth-card label{display:grid;gap:6px}.auth-card a{color:#7b001b;font-weight:800}.small-button{width:auto;margin:0;white-space:nowrap;padding:11px 14px;font-size:10px}

.stats div{cursor:pointer;transition:transform .15s,box-shadow .15s}.stats div:hover,.stats div.selected{transform:translateY(-2px);box-shadow:0 8px 24px #0002}.tab-panel[hidden]{display:none}
