*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0a0f;--surface: #14141c;--text: #f0f0f5;--muted: #888;--border: #2a2a3a;--accent: #7c5cff}body{font-family:system-ui,sans-serif;line-height:1.6;color:var(--text);background:var(--bg)}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3{font-weight:600;line-height:1.3;margin-bottom:.75rem}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}p{color:var(--muted);margin-bottom:1rem}a{color:var(--accent);text-decoration:none}a:hover{opacity:.8;text-decoration:underline}img{max-width:100%;display:block}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer}button:hover,.btn:hover{border-color:var(--accent)}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary,.cta-button,.hero-button{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover,.cta-button:hover,.hero-button:hover{opacity:.9}.btn-secondary{background:transparent;border-color:var(--accent);color:var(--accent)}.btn-danger{background:#e53935;border-color:#e53935;color:#fff}.hero-button{padding:.625rem 1.5rem}input,select,textarea{width:100%;padding:.5rem .75rem;font-size:1rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--muted)}textarea{min-height:100px;resize:vertical}select{cursor:pointer}label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--muted);cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.input-disabled,input:disabled{background:var(--surface);color:var(--muted);cursor:not-allowed}.navbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem;background:var(--bg);border-bottom:1px solid var(--border)}.navbar-left{display:flex;align-items:center;gap:.5rem;flex:1}.navbar-logo-link{display:flex;align-items:center}.navbar-logo{width:32px;height:32px;border-radius:8px}.navbar-title{font-size:1.125rem;font-weight:700;color:var(--accent);margin:0}.navbar-title-link{text-decoration:none}.navbar-title-link:hover{opacity:.8}.navbar-links,.navbar-auth{display:flex;align-items:center;gap:.25rem}.navbar-links{justify-content:center}.navbar-auth{flex:1;justify-content:flex-end;gap:.5rem}.navbar-links a,.navbar-auth a{padding:.375rem .625rem;font-size:.8rem;color:var(--muted);border-radius:6px}.navbar-links a:hover,.navbar-auth a:hover{color:var(--text)}.navbar-links a.active,.navbar-link.active{color:var(--accent);background:#7c5cff26}.navbar-auth a.active,.navbar-auth a:last-child{background:var(--accent);color:#fff}.navbar-avatar-link{display:flex;align-items:center;padding:0}.navbar-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--border);transition:border-color .2s}.navbar-avatar:hover{border-color:var(--accent)}.main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:1.5rem 1rem}.page,.homepage{max-width:1100px;margin:0 auto;padding:0 1rem}.footer{padding:1.25rem;text-align:center;border-top:1px solid var(--border);background:var(--surface)}.footer p{font-size:.875rem;color:var(--muted);margin:0}.page-header{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.page-header h1{margin:0}.page-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}.grid,.events-grid,.explore-grid{display:grid;grid-template-columns:1fr;gap:1rem}.card,.details-card,.event-card,.explore-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;height:100%;display:flex;flex-direction:column}.card,.event-card{min-height:280px}.card:hover,.details-card:hover,.event-card:hover,.explore-card:hover{border-color:var(--accent)}.card-media,.details-card-media{height:160px;background:var(--bg)}.details-card-media{height:200px}.card-media img,.details-card-media img{width:100%;height:100%;object-fit:cover}.card-body{padding:1rem;flex:1;display:flex;flex-direction:column}.card-body-left,.card-body-left .card-title,.card-body-left .card-meta,.card-body-left .card-actions{text-align:left}.card-title{font-size:1.1rem;margin-bottom:.5rem}.card-meta{font-size:.875rem;color:var(--muted);margin-bottom:.25rem}.card-meta.event-date{font-weight:600;color:var(--accent);padding:0}.card-actions,.details-card-actions{display:flex;gap:.5rem;margin-top:auto;padding-top:.75rem}.details-card-content{padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.details-card-title{font-size:1.5rem;margin:0;text-align:center}.details-card-info,.profile-info{display:flex;flex-direction:column;gap:.5rem}.details-card-row,.profile-row{display:flex;flex-direction:column;gap:.125rem}.details-card-label,.profile-label{font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase}.details-card-value,.profile-value{color:var(--text)}.details-card-value a,.details-link{color:var(--accent)}.details-card-value a:hover,.details-link:hover{text-decoration:underline}.details-card-actions{flex-wrap:wrap;padding-top:.75rem;border-top:1px solid var(--border)}.details-image{display:block;margin:0 auto;max-width:480px;width:100%;height:auto;border-radius:10px}.details-image-small{max-width:250px;cursor:pointer;transition:opacity .2s}.details-image-small:hover{opacity:.85}.image-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000}.image-modal-content{max-width:90vw;max-height:85vh;border-radius:8px;object-fit:contain}.image-modal-close{position:absolute;top:1rem;right:1.5rem;background:transparent;border:none;color:#fff;font-size:2.5rem;cursor:pointer;line-height:1;padding:0}.image-modal-close:hover{opacity:.7}.form-card,.auth-card,.profile-card,.edit-profile-card{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.5rem}.form-card{max-width:550px;margin:0 auto}.auth-card{max-width:400px;margin:2rem auto}.profile-card,.edit-profile-card{max-width:450px}.form-card h1,.auth-card h3,.edit-profile-title{text-align:center;margin-bottom:1.25rem}.auth-card h3,.edit-profile-title{font-size:1.5rem}.edit-profile-title{margin-bottom:1rem}.form,.edit-profile-form{display:flex;flex-direction:column;gap:.75rem}.form-row{display:flex;flex-direction:column;gap:.25rem}.form-checkbox-group{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem;background:var(--bg);border-radius:8px;max-height:180px;overflow-y:auto}.form-actions,.edit-profile-actions{display:flex;gap:.5rem;margin-top:.75rem}.edit-profile-actions{flex-direction:column}.form-actions button,.edit-profile-actions .btn{flex:1}.form-footer{text-align:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.form-footer p{margin-bottom:.5rem}.form-hint{font-size:.75rem;color:var(--muted);margin-top:.25rem}.edit-profile-form label{font-size:.75rem;font-weight:600;color:var(--accent);text-transform:uppercase}.edit-profile-avatar-wrapper{display:flex;justify-content:center;margin-bottom:1.25rem}.edit-profile-avatar{width:70px;height:70px;border-radius:50%;object-fit:cover;border:2px solid var(--accent);background:var(--bg)}.edit-profile-empty,.profile-empty{text-align:center;color:var(--muted);padding:1.5rem 0}.edit-profile-empty a{color:var(--accent)}.error{padding:.5rem .75rem;font-size:.875rem;color:#ef4444;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;margin-top:.5rem}.loading{display:flex;justify-content:center;padding:2rem;color:var(--muted)}.profile-page,.edit-profile-page{display:flex;justify-content:center;padding:1rem}.profile-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.profile-avatar{width:90px;height:90px;border-radius:50%;object-fit:cover;border:2px solid var(--accent);margin-bottom:.75rem;background:var(--bg)}.profile-name{font-size:1.35rem;font-weight:600;margin:0 0 .25rem}.profile-email{font-size:.875rem;color:var(--muted);margin:0}.profile-info{margin-bottom:1.25rem;gap:.75rem}.profile-row{padding:.5rem .75rem;background:var(--bg);border-radius:8px}.profile-actions{display:flex;justify-content:center}.profile-actions .btn{min-width:140px}.hero{text-align:center;padding:2rem 1rem;margin-bottom:2rem;border-radius:10px;background:var(--surface)}.hero-logo{max-width:250px;width:100%;height:auto;margin:0 auto 1rem;display:block}.hero h1{font-size:2rem;font-weight:700;margin-bottom:.5rem;color:var(--text)}.hero-subtitle{color:var(--muted);max-width:480px;margin:0 auto 1.25rem}.latest-events,.explore-section{margin-bottom:2rem}.latest-events h2,.explore-section h2{text-align:center}.section-description{text-align:center;color:var(--muted);margin-bottom:1.25rem}.event-card{display:flex;flex-direction:column}.event-card-image{width:100%;height:150px;object-fit:cover}.event-card h3{padding:.75rem 1rem .25rem;font-size:1.1rem}.event-location{padding:.25rem 1rem;font-size:.875rem;color:var(--muted)}.event-promoter{padding:0 1rem;font-size:.75rem;color:var(--muted)}.event-card button{margin:.75rem 1rem;margin-top:auto}.explore-card{display:flex;flex-direction:column;gap:.375rem;padding:1.25rem;text-decoration:none}.explore-card h3{font-size:1.125rem;color:var(--accent);margin:0}.explore-card p{font-size:.875rem;color:var(--muted);margin:0}.text-center,.text-center h2,.text-center h3,.text-center p{text-align:center}.page-footer{display:flex;justify-content:flex-start;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.cta-section{text-align:center;padding:1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:1.5rem}.cta-section h2{margin-bottom:.5rem}.cta-section p{margin-bottom:.75rem}.cta-links,.not-found-actions{display:flex;flex-direction:column;gap:.5rem}.cta-links{align-items:stretch}.cta-links-row{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center}.not-found{display:flex;justify-content:center;align-items:center;min-height:50vh;padding:1rem}.not-found-card{max-width:420px;padding:1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;text-align:center}.not-found-emoji{font-size:3rem;display:block;margin-bottom:.75rem}.not-found-title{font-size:1.5rem;margin-bottom:.5rem}.not-found-code{font-size:1rem;color:var(--accent);font-weight:600;margin-bottom:.75rem}.not-found-message{color:var(--muted);margin-bottom:.75rem}.not-found-path{font-size:.875rem;color:var(--muted);margin-bottom:1rem}.not-found-path code{display:inline-block;background:var(--bg);padding:.25rem .5rem;border-radius:4px;color:#ef4444;font-family:monospace}@media(min-width:768px){h1{font-size:2rem}.navbar{flex-wrap:nowrap;padding:.75rem 1.5rem}.navbar-logo{width:36px;height:36px}.navbar-title{font-size:1.25rem}.navbar-links a,.navbar-auth a{font-size:.875rem;padding:.5rem .75rem}.page-actions,.edit-profile-actions{flex-direction:row}.grid,.events-grid{grid-template-columns:repeat(2,1fr)}.explore-grid{grid-template-columns:repeat(3,1fr)}.details-card{display:flex}.details-card-media{width:280px;min-height:250px;flex-shrink:0}.details-card-content{flex:1}.hero{padding:2.5rem 1.5rem}.hero h1{font-size:2.5rem}.cta-links,.not-found-actions{flex-direction:row;justify-content:center}.profile-row{flex-direction:row;justify-content:space-between;align-items:center}.profile-avatar{width:100px;height:100px}.form-card,.auth-card{padding:2rem}}@media(min-width:1024px){.grid,.events-grid{grid-template-columns:repeat(4,1fr)}}
