*{box-sizing:border-box;margin:0;padding:0}body{color:#e0e0e0;background:#0d0d14;min-height:100vh;font-family:Segoe UI,Arial,sans-serif}#root{min-height:100vh}.app{flex-direction:column;min-height:100vh;display:flex}.layout{flex:1;gap:24px;width:100%;max-width:1400px;margin:0 auto;padding:0 16px;display:flex}header{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border-bottom:2px solid #cc151540;padding:16px 20px}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:1400px;margin:0 auto;display:flex}.header-logo{object-fit:cover;border-radius:8px;flex-shrink:0;width:auto;height:72px}.logo{color:#fff;font-size:1.5rem;font-weight:800}.tagline{color:#888;font-size:.85rem}.header-actions{align-items:center;gap:12px;display:flex}.btn-register{color:#fff;cursor:pointer;background:#cc1515;border:none;border-radius:8px;padding:9px 18px;font-size:.9rem;font-weight:600;transition:background .2s}.btn-register:hover{background:#a80f0f}.user-pill{color:#ff7070;background:#1a1a2e;border:1px solid #cc151550;border-radius:8px;align-items:center;gap:8px;padding:7px 14px;font-size:.85rem;display:flex}.user-pill button{color:#555;cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem}.user-pill button:hover{color:#ef4444}.sidebar{flex-shrink:0;width:220px;padding:24px 0}.sidebar-title{color:#555;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;padding:0 4px;font-size:.7rem;font-weight:700}.sidebar-item{color:#aaa;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;width:100%;margin-bottom:2px;padding:9px 12px;font-size:.88rem;transition:all .15s;display:flex}.sidebar-item:hover{color:#fff;background:#1a1a2e}.sidebar-item.active{color:#ff7070;background:#cc151520;font-weight:600}.sidebar-count{color:#666;text-align:center;background:#ffffff10;border-radius:10px;min-width:24px;padding:2px 7px;font-size:.7rem}.sidebar-item.active .sidebar-count{color:#ff7070;background:#cc151530}.sidebar-divider{border:none;border-top:1px solid #ffffff08;margin:12px 0}.main{flex:1;min-width:0;padding:24px 0}.search-bar{gap:10px;margin-bottom:16px;display:flex}.search{color:#fff;background:#1a1a2e;border:1px solid #ffffff15;border-radius:10px;outline:none;flex:1;padding:10px 16px;font-size:.95rem}.search:focus{border-color:#cc1515}.status-filters{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.filter-btn{color:#888;cursor:pointer;background:0 0;border:1px solid #ffffff15;border-radius:20px;padding:6px 14px;font-size:.82rem;transition:all .2s}.filter-btn:hover{color:#fff;border-color:#cc1515}.filter-btn.active{color:#fff;background:#cc1515;border-color:#cc1515}.results-info{color:#444;margin-bottom:16px;font-size:.8rem}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;display:grid}.card{color:inherit;background:#1a1a2e;border:1px solid #ffffff08;border-radius:14px;flex-direction:column;text-decoration:none;transition:transform .2s,border-color .2s;display:flex;overflow:hidden}.card:hover{border-color:#cc151530;transform:translateY(-2px)}.card-img{aspect-ratio:16/9;background:#111;position:relative;overflow:hidden}.card-img img{object-fit:cover;width:100%;height:100%}.img-placeholder{background:#16213e;justify-content:center;align-items:center;width:100%;height:100%;font-size:2.5rem;display:flex}.badge{color:#fff;border-radius:20px;padding:3px 9px;font-size:.7rem;font-weight:700;position:absolute;top:10px;right:10px}.card-body{flex:1;padding:12px 14px 14px}.card-top{justify-content:space-between;align-items:flex-start;margin-bottom:4px;display:flex}.code{color:#cc1515;letter-spacing:1px;text-transform:uppercase;font-size:.65rem;font-weight:700}.continent-tag{color:#444;font-size:.65rem}.card-body h3{color:#fff;margin-bottom:6px;font-size:.88rem;line-height:1.3}.date{color:#666;margin-bottom:10px;font-size:.75rem}.card-actions{gap:8px;display:flex}.btn-notify{color:#ff7070;cursor:pointer;text-align:center;background:0 0;border:1px solid #cc151550;border-radius:7px;flex:1;padding:7px 0;font-size:.78rem;transition:all .2s}.btn-notify:hover{background:#cc151520}.btn-notify.subscribed{color:#fff;background:#cc1515;border-color:#cc1515}.btn-event{color:#888;cursor:pointer;text-align:center;background:0 0;border:1px solid #ffffff10;border-radius:7px;flex:1;padding:7px 0;font-size:.78rem;text-decoration:none;transition:all .2s;display:block}.btn-event:hover{color:#fff;background:#ffffff08}.loading,.empty{text-align:center;color:#444;padding:60px 20px}.modal-overlay{z-index:100;background:#000c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:#1a1a2e;border:1px solid #ffffff15;border-radius:16px;width:100%;max-width:500px;max-height:90vh;padding:28px;position:relative;overflow-y:auto}.modal h2{color:#fff;margin-bottom:6px;font-size:1.2rem}.modal-sub{color:#666;margin-bottom:24px;font-size:.85rem}.modal-close{color:#555;cursor:pointer;background:0 0;border:none;font-size:1.2rem;position:absolute;top:16px;right:16px}.modal-close:hover{color:#fff}.form-row{gap:12px;display:flex}.form-row .form-group{flex:1}.form-group{margin-bottom:14px}.form-group label{color:#888;margin-bottom:5px;font-size:.8rem;display:block}.form-group input,.form-group select{color:#fff;background:#0d0d14;border:1px solid #ffffff15;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-size:.9rem}.form-group input:focus,.form-group select:focus{border-color:#cc1515}.form-group select option{background:#1a1a2e}.notify-toggle{cursor:pointer;background:#0d0d14;border:1px solid #ffffff10;border-radius:10px;align-items:center;gap:10px;margin-bottom:20px;padding:12px;display:flex}.notify-toggle input{accent-color:#cc1515;cursor:pointer;width:18px;height:18px}.notify-toggle span{color:#ccc;font-size:.88rem}.events-selector{margin-bottom:20px}.events-selector-title{color:#888;margin-bottom:8px;font-size:.8rem}.events-list{border:1px solid #ffffff10;border-radius:8px;max-height:200px;overflow-y:auto}.event-option{cursor:pointer;border-bottom:1px solid #ffffff08;align-items:center;gap:10px;padding:9px 12px;transition:background .15s;display:flex}.event-option:last-child{border-bottom:none}.event-option:hover{background:#ffffff05}.event-option input{accent-color:#cc1515;cursor:pointer;width:15px;height:15px}.event-option-name{color:#ccc;flex:1;font-size:.82rem}.event-option-status{border-radius:10px;padding:2px 8px;font-size:.68rem;font-weight:600}.btn-submit{color:#fff;cursor:pointer;background:#cc1515;border:none;border-radius:10px;width:100%;padding:12px;font-size:1rem;font-weight:600;transition:background .2s}.btn-submit:hover{background:#a80f0f}.btn-submit:disabled{color:#666;cursor:default;background:#333}.form-error{color:#ef4444;margin-bottom:12px;font-size:.82rem}.form-success{color:#22c55e;text-align:center;padding:16px 0;font-size:.88rem}.race-detail-modal{max-width:540px;padding:0;overflow-y:auto}.race-detail-modal .modal-close{z-index:2;color:#fff;background:#000a;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex;top:12px;right:12px}.detail-img{aspect-ratio:16/9;background:#111;position:relative}.detail-img img{object-fit:cover;width:100%;height:100%}.detail-img-placeholder{justify-content:center;align-items:center;width:100%;height:100%;font-size:3rem;display:flex}.detail-badge{color:#fff;border-radius:20px;padding:4px 12px;font-size:.75rem;font-weight:700;position:absolute;bottom:12px;left:12px}.detail-header{padding:20px 24px 0}.detail-meta{align-items:center;gap:10px;margin-bottom:8px;display:flex}.detail-code{color:#cc1515;letter-spacing:1.5px;text-transform:uppercase;font-size:.7rem;font-weight:700}.detail-continent{color:#555;font-size:.7rem}.detail-title{color:#fff;margin-bottom:6px;font-size:1.25rem;font-weight:800;line-height:1.3}.detail-date{color:#888;font-size:.85rem}.detail-actions{gap:10px;padding:20px 24px 0;display:flex}.btn-detail-ticket{color:#fff;cursor:pointer;text-align:center;background:#cc1515;border:none;border-radius:10px;flex:1;padding:13px;font-size:.95rem;font-weight:700;text-decoration:none;transition:background .2s}.btn-detail-ticket:hover{background:#a80f0f}.btn-detail-official{color:#ccc;cursor:pointer;text-align:center;background:0 0;border:1px solid #ffffff20;border-radius:10px;flex:1;padding:13px;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s}.btn-detail-official:hover{color:#fff;background:#ffffff10}.btn-detail-notify{color:#ff7070;cursor:pointer;text-align:center;background:0 0;border:1px solid #cc151550;border-radius:10px;flex:1;padding:13px;font-size:.88rem;font-weight:600;transition:all .2s}.btn-detail-notify:hover{background:#cc151520}.btn-detail-notify.subscribed{color:#fff;background:#cc1515;border-color:#cc1515}.btn-detail-official-link{text-align:center;color:#555;padding:10px 24px 0;font-size:.78rem;text-decoration:none;transition:color .2s;display:block}.btn-detail-official-link:hover{color:#aaa}.detail-info-grid{background:#ffffff08;border-radius:10px;grid-template-columns:1fr 1fr;gap:1px;margin:20px 24px 0;display:grid;overflow:hidden}.detail-info-item{background:#0d0d14;padding:12px 14px}.detail-info-item--full{grid-column:1/-1}.detail-info-label{color:#555;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:.68rem;display:block}.detail-info-value{color:#ccc;font-size:.85rem;font-weight:500}.venue-value{font-size:.78rem;line-height:1.4}.categories-section{margin:16px 24px 0}.categories-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.btn-brl{color:#ff7070;cursor:pointer;background:#1a1a2e;border:1px solid #cc151540;border-radius:20px;padding:4px 10px;font-size:.72rem;font-weight:700;transition:all .2s}.btn-brl:hover{background:#cc151520;border-color:#cc1515}.btn-brl.active{color:#fff;background:#cc151520;border-color:#cc1515}.btn-brl:disabled{opacity:.5;cursor:default}.categories-table{border-collapse:collapse;width:100%}.categories-table tr{border-bottom:1px solid #ffffff08}.categories-table tr:last-child{border-bottom:none}.cat-name{color:#ccc;padding:8px 10px 8px 0;font-size:.85rem}.cat-price{text-align:right;padding:8px 0;font-size:.85rem}.cat-price-orig{color:#555;margin-right:6px;font-size:.75rem}.cat-price-brl{color:#22c55e;font-size:.88rem;font-weight:700}.cat-price .cat-price-orig:only-child,.cat-price>span:only-child{color:#ff7070;font-weight:600}.detail-alert-box{color:#ff7070;background:#cc151515;border:1px solid #cc151530;border-radius:10px;margin:16px 24px 24px;padding:12px 14px;font-size:.82rem;line-height:1.5}.detail-alert-box.on-sale{color:#22c55e;background:#22c55e15;border-color:#22c55e30}.detail-tabs{border-bottom:1px solid #ffffff08;gap:0;margin-top:16px;padding:0 24px;display:flex}.detail-tab{color:#555;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 18px;font-size:.85rem;font-weight:600;transition:all .15s}.detail-tab:hover{color:#aaa}.detail-tab.active{color:#ff7070;border-bottom-color:#cc1515}.detail-body{padding:20px 24px 24px}.detail-section-intro{color:#666;margin-bottom:16px;font-size:.83rem;line-height:1.5}.detail-tip{color:#555;margin-top:16px;font-size:.78rem;font-style:italic;line-height:1.5}.venue-address-tag{color:#ff7070;background:#cc151515;border:1px solid #cc151530;border-radius:8px;margin-bottom:12px;padding:8px 12px;font-size:.78rem}.guide-section-label{color:#444;text-transform:uppercase;letter-spacing:.5px;margin:16px 0 10px;font-size:.72rem;font-weight:700}.guide-section-label:first-child{margin-top:0}.guide-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.guide-card{cursor:pointer;background:#0d0d14;border:1px solid #ffffff08;border-radius:10px;flex-direction:column;gap:3px;padding:12px 14px;text-decoration:none;transition:all .15s;display:flex}.guide-card:hover{background:#cc151508;border-color:#cc151540}.guide-card-primary{border-color:#cc151530}.guide-icon{font-size:1.3rem}.guide-label{color:#ddd;font-size:.82rem;font-weight:600}.guide-sub{color:#555;font-size:.7rem}.btn-login{color:#ff7070;cursor:pointer;background:0 0;border:1px solid #cc151550;border-radius:8px;padding:9px 16px;font-size:.9rem;font-weight:600;transition:all .2s}.btn-login:hover{background:#cc151515;border-color:#cc1515}.btn-pill-action{color:#cc1515;cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem}.btn-pill-action:hover{color:#ff7070}.btn-pill-logout:hover{color:#ef4444!important}.ranking-section{background:#1a1a2e;border:1px solid #ffffff08;border-radius:14px;margin-bottom:20px;padding:16px}.ranking-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.ranking-title{color:#fff;font-size:.95rem;font-weight:700}.ranking-count{color:#555;font-size:.75rem}.ranking-table-wrap{overflow-x:auto}.ranking-table{border-collapse:collapse;width:100%;font-size:.82rem}.ranking-table th{text-align:left;color:#555;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #ffffff08;padding:6px 8px;font-size:.7rem;font-weight:600}.ranking-table td{border-bottom:1px solid #ffffff05;padding:8px}.ranking-table tbody tr:last-child td{border-bottom:none}.ranking-table tbody tr:hover{background:#ffffff04}.ranking-table tr.ranking-me td{color:#ff7070}.rank-pos{color:#555;width:28px;font-size:.78rem;font-weight:700}.rank-name{color:#ddd;font-weight:500}.rank-city{color:#555;font-size:.75rem}.rank-cat{color:#666;font-size:.75rem}.rank-event{color:#555;max-width:160px;font-size:.75rem}.rank-time{color:#22c55e;font-family:monospace;font-size:.85rem;font-weight:700}.ranking-me .rank-time{color:#ff7070}.ranking-more{color:#cc1515;cursor:pointer;text-align:center;background:0 0;border:none;width:100%;padding:8px 0 0;font-size:.78rem}.ranking-more:hover{color:#ff7070}.profile-tabs{background:#0d0d14;border-radius:10px;gap:4px;margin-bottom:20px;padding:4px;display:flex}.profile-tab{color:#666;cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;padding:8px;font-size:.85rem;font-weight:600;transition:all .15s}.profile-tab:hover{color:#aaa}.profile-tab.active{color:#ff7070;background:#1a1a2e}.phone-wrap{background:#0d0d14;border:1px solid #ffffff15;border-radius:8px;display:flex;overflow:hidden}.phone-wrap:focus-within{border-color:#cc1515}.phone-prefix{color:#ff7070;white-space:nowrap;-webkit-user-select:none;user-select:none;background:#ffffff08;border-right:1px solid #ffffff10;align-items:center;padding:10px 12px;font-size:.9rem;font-weight:600;display:flex}.phone-local{color:#fff;flex:1;width:100%;padding:10px 12px;font-size:.9rem;background:0 0!important;border:none!important;outline:none!important}.phone-hint{color:#444;margin-top:5px;font-size:.72rem}.profile-section-label{color:#555;text-transform:uppercase;letter-spacing:.5px;border-top:1px solid #ffffff08;margin:4px 0 14px;padding-top:4px;font-size:.78rem;font-weight:700}footer{text-align:center;color:#333;border-top:1px solid #ffffff05;padding:20px;font-size:.72rem}.sidebar-toggle{color:#aaa;cursor:pointer;background:#1a1a2e;border:1px solid #ffffff15;border-radius:8px;margin-bottom:12px;padding:8px 14px;font-size:.85rem;display:none}.mobile-sidebar-overlay{z-index:50;background:#000a;display:none;position:fixed;inset:0}.mobile-sidebar{z-index:51;background:#1a1a2e;border-right:1px solid #ffffff10;width:260px;padding:24px 16px;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}@media (width<=768px){.sidebar{display:none}.layout{padding:0 12px}.sidebar-toggle{display:block}.grid{grid-template-columns:1fr}.form-row{flex-direction:column;gap:0}}
