*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:linear-gradient(135deg,#1a1a2e,#16213e);min-height:100vh;color:#fff}.app{max-width:900px;margin:0 auto;padding:20px}.header{text-align:center;padding:30px 20px;margin-bottom:20px}.header h1{font-size:2rem;font-weight:700;color:gold;margin-bottom:8px}.header h2{font-size:1.2rem;font-weight:400;color:#e0e0e0;margin-bottom:12px}.current-time{font-size:.9rem;color:#888;text-transform:capitalize}.simulation-badge{display:inline-block;margin-top:8px;padding:4px 12px;background:#ff6b35;color:#fff;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.time-filter{display:flex;gap:10px;justify-content:center;margin-bottom:24px;flex-wrap:wrap}.time-filter button{padding:10px 20px;border:2px solid #ffd700;background:transparent;color:gold;border-radius:25px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease}.time-filter button:hover{background:#ffd7001a}.time-filter button.active{background:gold;color:#1a1a2e}.events-list{display:flex;flex-direction:column;gap:16px}.no-events{text-align:center;color:#888;padding:40px;font-size:1.1rem}.event-card{background:#ffffff0d;border-radius:12px;padding:20px;border-left:4px solid #4a90a4;transition:all .3s ease}.event-card:hover{background:#ffffff14;transform:translate(4px)}.event-card.ongoing{border-left-color:#ff6b35;background:#ff6b351a}.event-card.past{opacity:.5;border-left-color:#666}.event-header{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}.event-time{font-size:.95rem;font-weight:600;color:gold;font-family:Monaco,Menlo,monospace}.badge-ongoing{background:#ff6b35;color:#fff;padding:4px 10px;border-radius:12px;font-size:.7rem;font-weight:700;text-transform:uppercase;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.badge-past{background:#666;color:#ccc;padding:4px 10px;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase}.event-name{font-size:1.1rem;font-weight:600;color:#fff;margin-bottom:8px;line-height:1.4}.event-location{font-size:.85rem;color:#4a90a4;margin-bottom:10px;display:flex;align-items:center;gap:6px}.event-location:before{content:"📍";font-size:.9rem}.event-description{font-size:.9rem;color:#b0b0b0;line-height:1.6}.footer{text-align:center;padding:30px 20px;margin-top:40px;color:#666;font-size:.8rem}@media(max-width:600px){.app{padding:12px}.header h1{font-size:1.5rem}.header h2{font-size:1rem}.time-filter{gap:8px}.time-filter button{padding:8px 14px;font-size:.8rem}.event-card{padding:16px}.event-name{font-size:1rem}.event-description{font-size:.85rem}}.user-section{margin-top:12px}.firstname-button{padding:6px 14px;border:1px solid rgba(255,255,255,.3);background:#ffffff0d;color:#e0e0e0;border-radius:15px;cursor:pointer;font-size:.85rem;transition:all .3s ease}.firstname-button:hover{background:#ffffff1a}.presence-section{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.presence-button{padding:8px 16px;border:2px solid #4a90a4;background:transparent;color:#4a90a4;border-radius:20px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .3s ease}.presence-button:hover:not(:disabled){background:#4a90a41a}.presence-button.active{background:#4a90a4;color:#fff}.presence-button:disabled{opacity:.5;cursor:not-allowed}.attendees{margin-top:10px}.attendees-count{font-size:.8rem;color:#888}.attendees-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.attendee-badge{background:#ffd70033;color:gold;padding:2px 8px;border-radius:10px;font-size:.75rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#1a1a2e;padding:24px;border-radius:12px;min-width:300px;max-width:90%;border:1px solid rgba(255,255,255,.1)}.modal h3{margin-bottom:16px;color:gold}.modal input{width:100%;padding:10px;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:#fff;border-radius:8px;font-size:1rem;margin-bottom:16px}.modal input:focus{outline:none;border-color:gold}.modal-buttons{display:flex;gap:10px}.modal-cancel{flex:1;padding:10px;background:transparent;color:#888;border:1px solid #888;border-radius:8px;cursor:pointer;transition:all .3s}.modal-cancel:hover{color:#fff;border-color:#fff}.modal-submit{flex:1;padding:10px;background:gold;color:#1a1a2e;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:opacity .3s}.modal-submit:hover{opacity:.9}
