:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}}body{margin:0;display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:14px}#root{width:100%}.container{width:100%;max-width:500px;padding:20px}.card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:40px;box-shadow:0 10px 40px #0000004d;color:#fff}h1{margin:0 0 10px;font-size:32px;text-align:center}.subtitle{text-align:center;opacity:.9;margin:0 0 30px}.form-group{margin-bottom:20px}label{display:block;margin-bottom:8px;font-weight:500}input{width:100%;padding:12px;border:none;border-radius:6px;font-size:14px;box-sizing:border-box;background:#ffffffe6;color:#213547}input:focus{outline:none;background:#fff;box-shadow:0 0 0 3px #ffffff4d}.btn-primary{width:100%;padding:12px;background:#fff;color:#667eea;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:16px;transition:transform .2s}.btn-primary:hover:not(:disabled){transform:translateY(-2px)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.btn-secondary{width:100%;padding:12px;background:#fff3;color:#fff;border:2px solid white;border-radius:6px;font-weight:600;cursor:pointer;font-size:16px;transition:background .2s}.btn-secondary:hover{background:#ffffff4d}.error{margin-top:15px;padding:12px;background:#f003;border:1px solid rgba(255,0,0,.5);border-radius:6px;color:#fcc;font-size:14px}.success{text-align:center}.success h2{margin:0 0 20px}.info{background:#ffffff1a;border-radius:6px;padding:20px;margin-bottom:20px;text-align:left}.info p{margin:10px 0;word-break:break-all}strong{font-weight:600}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.login-card{background:#fff;padding:40px;border-radius:10px;box-shadow:0 10px 25px #0003;width:100%;max-width:400px}.login-card h1{text-align:center;color:#333;margin-bottom:30px;font-size:28px}.login-card form{display:flex;flex-direction:column;gap:15px}.login-card input{padding:12px;border:2px solid #ddd;border-radius:5px;font-size:16px;transition:border-color .3s}.login-card input:focus{outline:none;border-color:#667eea}.login-card input:disabled{background:#f5f5f5;cursor:not-allowed}.login-card button{padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:5px;font-size:16px;font-weight:700;cursor:pointer;transition:transform .2s}.login-card button:hover:not(:disabled){transform:scale(1.02)}.login-card button:disabled{opacity:.7;cursor:not-allowed}.error{color:#d32f2f;text-align:center;margin-top:10px;font-size:14px}.success-message{text-align:center;color:#333}.success-message h2{color:#4caf50;margin-bottom:20px;font-size:24px}.success-message p{margin:10px 0;font-size:14px;color:#666;word-break:break-all}.success-message .message{color:#667eea;font-weight:700;margin-top:15px;font-size:16px}.screen-2a{max-width:1000px;margin:0 auto;padding:20px}.header{text-align:center;margin-bottom:30px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;border-radius:10px}.header h1{margin:0 0 10px;font-size:28px}.header p{margin:0 0 15px;opacity:.9}.logout-btn{background:#fff;color:#667eea;border:none;padding:8px 20px;border-radius:5px;cursor:pointer;font-weight:700}.tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid #eee}.tab{background:none;border:none;padding:12px 20px;cursor:pointer;font-size:16px;border-bottom:3px solid transparent;transition:all .3s}.tab.active{border-bottom-color:#667eea;color:#667eea;font-weight:700}.content h2{margin-top:30px;color:#333}.enrolled-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;margin-bottom:30px}.campaign-card{border:1px solid #ddd;border-radius:10px;overflow:hidden;transition:transform .3s}.campaign-card:hover{transform:translateY(-5px)}.campaign-card img{width:100%;height:150px;object-fit:cover}.campaign-card h3{margin:10px;font-size:16px}.campaign-card p{margin:0 10px;font-size:14px;color:#666}.badge{display:inline-block;background:#4caf50;color:#fff;padding:4px 8px;border-radius:4px;margin:10px;font-size:12px}.empty-message{color:#999;text-align:center;padding:40px}.loading{text-align:center;padding:40px;font-size:18px;color:#667eea}
