.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}.carousel{margin:30px 0}.carousel-container{display:flex;align-items:center;gap:20px;background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 10px #0000001a}.nav-btn{background:#667eea;color:#fff;border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:20px;transition:background .3s}.nav-btn:hover{background:#764ba2}.campaign-slide{flex:1;display:flex;gap:20px}.campaign-slide img{width:200px;height:200px;object-fit:cover;border-radius:10px}.slide-content{flex:1}.slide-content h3{margin:0 0 10px;font-size:22px}.slide-content p{color:#666;margin-bottom:15px}.campaign-meta{display:flex;gap:15px;margin-bottom:15px;font-size:14px}.category{background:#f0f0f0;padding:4px 12px;border-radius:20px;text-transform:capitalize}.enrollments{color:#666}.enroll-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 24px;border-radius:5px;cursor:pointer;font-weight:700;transition:transform .2s}.enroll-btn:hover:not(:disabled){transform:scale(1.05)}.enroll-btn:disabled{opacity:.7}.message{margin-top:10px;padding:8px 12px;border-radius:5px;font-size:14px}.carousel-indicators{display:flex;justify-content:center;gap:8px;margin-top:15px}.indicator{width:10px;height:10px;border-radius:50%;background:#ddd;cursor:pointer;transition:background .3s}.indicator.active{background:#667eea}.booking-screen{background:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 10px #0000001a}.booking-screen h3{margin-top:0;color:#333}.booking-section{margin:20px 0}.booking-section label{display:block;margin-bottom:10px;font-weight:700;color:#333}.booking-section input[type=date]{width:100%;max-width:300px;padding:10px;border:1px solid #ddd;border-radius:5px;font-size:16px}.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.slot{padding:10px;border:2px solid #ddd;background:#fff;border-radius:5px;cursor:pointer;transition:all .3s;font-size:14px}.slot:hover{border-color:#667eea;background:#f5f5f5}.slot.selected{background:#667eea;color:#fff;border-color:#667eea}.book-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 30px;border-radius:5px;cursor:pointer;font-weight:700;font-size:16px;margin-top:20px;transition:transform .2s}.book-btn:hover:not(:disabled){transform:scale(1.05)}.book-btn:disabled{opacity:.7;cursor:not-allowed}.message{margin-top:15px;padding:10px 12px;border-radius:5px;font-size:14px}.message.success{background:#d4edda;color:#155724}.message.error{background:#f8d7da;color:#721c24}.upcoming-bookings{margin-top:30px;padding:20px;background:#f9f9f9;border-radius:5px}.upcoming-bookings h4{margin-top:0;color:#333}.upcoming-bookings ul{list-style:none;padding:0;margin:0}.upcoming-bookings li{padding:10px;background:#fff;margin-bottom:10px;border-radius:5px;border-left:4px solid #667eea;font-size:14px}: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%}
