*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;background:#f5f5f5;color:#333;font-size:14px;line-height:1.5;padding-bottom:20px}
.container{max-width:750px;margin:0 auto;padding:15px}
.header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:20px 15px;text-align:center;margin-bottom:15px}
.header h1{font-size:20px;font-weight:600}
.card{background:#fff;border-radius:12px;padding:15px;margin-bottom:12px;box-shadow:0 2px 8px rgba(0,0,0,0.06)}
.btn{display:inline-block;padding:10px 20px;border-radius:8px;border:none;cursor:pointer;font-size:14px;text-align:center;text-decoration:none;transition:all .2s}
.btn-primary{background:#667eea;color:#fff}.btn-primary:hover{background:#5a6fd6}
.btn-success{background:#52c41a;color:#fff}.btn-danger{background:#ff4d4f;color:#fff}
.btn-warning{background:#faad14;color:#fff}.btn-default{background:#f0f0f0;color:#333}
.btn-block{display:block;width:100%}.btn-sm{padding:6px 12px;font-size:12px}
.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#333}
.form-control{width:100%;padding:10px 12px;border:1px solid #d9d9d9;border-radius:8px;font-size:14px;transition:border-color .2s}
.form-control:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,0.1)}
textarea.form-control{resize:vertical;min-height:80px}
.activity-cover{width:100%;height:180px;object-fit:cover;border-radius:12px;margin-bottom:12px;background:#f0f0f0}
.activity-title{font-size:18px;font-weight:600;margin-bottom:8px;color:#333}
.activity-meta{color:#666;font-size:13px;margin-bottom:8px}
.activity-meta .item{display:flex;align-items:center;margin-bottom:4px}
.status-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:500}
.status-pending{background:#fff7e6;color:#fa8c16}
.status-approved{background:#f6ffed;color:#52c41a}
.status-rejected{background:#fff1f0;color:#ff4d4f}
.status-checked{background:#e6f7ff;color:#1890ff}
.nav-tabs{display:flex;background:#fff;border-radius:12px;padding:5px;margin-bottom:15px}
.nav-tab{flex:1;padding:10px;text-align:center;border-radius:8px;cursor:pointer;font-size:14px;color:#666;text-decoration:none}
.nav-tab.active{background:#667eea;color:#fff}
.empty{text-align:center;padding:40px 20px;color:#999}
.empty-icon{font-size:48px;margin-bottom:10px}
.qr-code{text-align:center;padding:20px;background:#fff;border-radius:12px}
.qr-code img{max-width:200px;height:auto;border:8px solid #fff;box-shadow:0 2px 12px rgba(0,0,0,0.1)}
.alert{padding:12px 15px;border-radius:8px;margin-bottom:15px;font-size:14px}
.alert-success{background:#f6ffed;border:1px solid #b7eb8f;color:#52c41a}
.alert-error{background:#fff1f0;border:1px solid #ffa39e;color:#ff4d4f}
.alert-info{background:#e6f7ff;border:1px solid #91d5ff;color:#1890ff}
.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center}
.flex-1{flex:1}.mt-10{margin-top:10px}.mt-15{margin-top:15px}
.mb-10{margin-bottom:10px}.mb-15{margin-bottom:15px}
.text-center{text-align:center}.text-right{text-align:right}
.text-muted{color:#999}.text-sm{font-size:12px}
.list-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}
.list-item:last-child{border-bottom:none}
.login-box{max-width:400px;margin:50px auto;padding:30px 25px;background:#fff;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,0.08)}
.login-box h2{text-align:center;margin-bottom:25px;color:#333}
.topbar{background:#fff;padding:12px 15px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px rgba(0,0,0,0.06);position:sticky;top:0;z-index:100}
.topbar .title{font-size:16px;font-weight:600}
.topbar .actions{display:flex;gap:10px}
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:15px}
.stat-card{background:#fff;border-radius:12px;padding:18px 15px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,0.06)}
.stat-card .num{font-size:28px;font-weight:600;color:#667eea;margin-bottom:4px}
.stat-card .label{font-size:12px;color:#999}
.description{white-space:pre-wrap;word-wrap:break-word;color:#555;line-height:1.7}
.back-btn{color:#667eea;text-decoration:none;font-size:14px}
.divider{height:1px;background:#f0f0f0;margin:15px 0}
.action-buttons{display:flex;gap:8px;flex-wrap:wrap}
