*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',sans-serif;background:#0a0e1a;color:#e6e9f2;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow-x:hidden}
.bg-glow{position:fixed;inset:0;background:radial-gradient(circle at 20% 20%,rgba(79,124,255,.25),transparent 50%),radial-gradient(circle at 80% 80%,rgba(123,77,255,.2),transparent 50%);pointer-events:none;z-index:0}
.container{position:relative;z-index:1;width:100%;max-width:480px}
.card{background:linear-gradient(135deg,rgba(20,25,40,.9),rgba(15,20,35,.95));border:1px solid rgba(79,124,255,.2);border-radius:24px;padding:36px 28px;backdrop-filter:blur(20px);box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.03)}
.logo{display:flex;justify-content:center;margin-bottom:20px}
.logo-circle{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#4F7CFF,#7B4DFF,#00C2FF);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(79,124,255,.4)}
h1{text-align:center;font-size:28px;font-weight:800;background:linear-gradient(135deg,#4F7CFF,#00C2FF);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:6px}
.subtitle{text-align:center;color:#9aa3b8;font-size:14px;margin-bottom:28px}
.form{display:flex;flex-direction:column;gap:8px}
label{font-size:13px;color:#9aa3b8;margin-top:8px;font-weight:500}
input,textarea{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px 16px;color:#e6e9f2;font-size:15px;font-family:inherit;transition:all .2s}
input:focus,textarea:focus{outline:none;border-color:#4F7CFF;background:rgba(79,124,255,.08)}
.btn-primary{background:linear-gradient(135deg,#4F7CFF,#7B4DFF);border:none;color:white;padding:16px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;margin-top:16px;transition:transform .15s,box-shadow .2s;font-family:inherit}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(79,124,255,.4)}
.btn-primary:disabled{opacity:.6;cursor:not-allowed}
.btn-secondary{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#e6e9f2;padding:12px;border-radius:10px;cursor:pointer;font-family:inherit;font-size:14px;margin-top:8px}
.btn-secondary:hover{background:rgba(255,255,255,.1)}
.min-info{text-align:center;color:#6b7390;font-size:12px;margin-top:12px}
.qr-block{margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.06);text-align:center}
.qr-block h2{font-size:18px;margin-bottom:16px;color:#e6e9f2}
.qr-block img{max-width:240px;width:100%;background:white;padding:12px;border-radius:12px;margin:0 auto 16px;display:block}
textarea#qrCopy{width:100%;min-height:80px;resize:none;font-size:11px;font-family:monospace}
.waiting{margin-top:16px;color:#9aa3b8;font-size:14px}
.approved{padding:30px 0;animation:fadeIn .4s ease}
.check{width:90px;height:90px;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);color:white;font-size:50px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;box-shadow:0 10px 40px rgba(16,185,129,.5);animation:pop .5s ease}
.approved h2{color:#10b981;font-size:24px;margin-bottom:8px}
.approved p{color:#9aa3b8;font-size:14px}
.hidden{display:none!important}
footer{text-align:center;color:#6b7390;font-size:12px;margin-top:20px}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes pop{0%{transform:scale(0)}60%{transform:scale(1.15)}100%{transform:scale(1)}}

/* Admin */
.admin-wrap{max-width:900px;margin:40px auto;padding:20px}
.admin-card{background:rgba(20,25,40,.9);border:1px solid rgba(79,124,255,.2);border-radius:16px;padding:28px;margin-bottom:20px}
.admin-card h2{margin-bottom:16px;font-size:20px;color:#e6e9f2}
.admin-nav{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}
.admin-nav a{padding:10px 18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#e6e9f2;text-decoration:none;font-size:14px}
.admin-nav a:hover,.admin-nav a.active{background:linear-gradient(135deg,#4F7CFF,#7B4DFF);border-color:transparent}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{padding:10px;text-align:left;border-bottom:1px solid rgba(255,255,255,.06)}
th{color:#9aa3b8;font-weight:600}
.status-approved{color:#10b981;font-weight:600}
.status-pending{color:#f59e0b}
.alert{padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:14px}
.alert-success{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);color:#10b981}
.alert-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#ef4444}
