.alba105-landing,.alba105-mega{--alba-accent:#069ec2;--alba-deep:#0b2d48;font-family:inherit;color:inherit}
.alba105-landing *,.alba105-mega *{box-sizing:border-box}
.alba105-landing [hidden]{display:none!important}
.alba105-intro{text-align:center;margin:0 0 24px}
.alba105-intro h2{font-size:clamp(1.55rem,2.5vw,2.4rem);margin:0 0 8px;line-height:1.2}
.alba105-intro p{margin:0;color:#667689}
.alba105-events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:28px}
.alba105-event-card{position:relative;min-height:216px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border-radius:17px;isolation:isolate;border:2px solid transparent;background:linear-gradient(130deg,#0b4066,#049ac4);box-shadow:0 10px 30px rgba(10,43,74,.12);text-decoration:none!important;color:white!important;transition:transform .2s ease,border-color .2s,box-shadow .2s}
.alba105-event-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(0,32,59,.94),rgba(0,48,84,.14) 86%)}
.alba105-event-card .alba105-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;display:block}
.alba105-event-card .alba105-image img{width:100%;height:100%;object-fit:cover;display:block}
.alba105-event-card:hover,.alba105-event-card:focus-visible{transform:translateY(-3px);box-shadow:0 16px 36px rgba(10,43,74,.24)}
.alba105-event-card.is-active{border-color:#08aed1;box-shadow:0 0 0 3px rgba(6,158,194,.15),0 18px 36px rgba(8,62,98,.18)}
.alba105-event-copy{display:flex;flex-direction:column;padding:19px;gap:7px;position:relative}
.alba105-event-copy strong{color:white;font-size:clamp(1.05rem,1.5vw,1.4rem);line-height:1.23}
.alba105-event-copy span{color:rgba(255,255,255,.92);font-size:.88rem}
.alba105-selected-label{position:absolute;right:10px;top:10px;background:rgba(7,151,187,.94);border-radius:99px;font-size:.72rem;font-weight:700;padding:5px 10px;display:none}
.alba105-event-card.is-active .alba105-selected-label{display:block}
.alba105-race-panel>h3{font-size:1.2rem;margin:0 0 14px}
.alba105-race-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:26px}
.alba105-race-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;text-decoration:none!important;color:#26455e!important;min-height:86px;padding:12px 8px;border:1px solid #d9e7ee;border-radius:13px;background:linear-gradient(155deg,#fff,#f3f8fa);transition:transform .2s,border-color .2s,background .2s,box-shadow .2s}
.alba105-race-card strong{font-size:1.17rem;line-height:1.2}.alba105-race-card small{font-size:.73rem;line-height:1.3}
.alba105-race-card:hover,.alba105-race-card:focus-visible{border-color:#08a5c5;transform:translateY(-2px)}
.alba105-race-card.is-active{color:#fff!important;background:linear-gradient(135deg,#007ca1,#09afd1);border-color:#007ca1;box-shadow:0 8px 23px rgba(3,142,183,.23)}
.alba105-roster{padding:24px;background:#fff;border:1px solid #dbe7ee;border-radius:15px;box-shadow:0 6px 18px rgba(16,44,71,.04)}
.alba105-roster-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center}
.alba105-roster-head h4{font-size:1.1rem;margin:0}.alba105-roster-head span{color:#63798d}
.alba105-search{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:16px 0}
.alba105-search label{font-weight:600;font-size:.85rem;flex-basis:100%}.alba105-search input{min-height:42px;flex:1;min-width:140px;border-radius:8px!important}
.alba105-search button{min-height:42px;border-radius:8px;background:#098cb2;color:white;border:0;padding:0 18px}
.alba105-table-scroll{overflow-x:auto}.alba105-roster table{width:100%;border-collapse:collapse;min-width:360px}
.alba105-roster th,.alba105-roster td{padding:11px;border-bottom:1px solid #e7eef4;text-align:left}
.alba105-roster th{color:#40657c;background:#f6fafc}.alba105-pages{display:flex;gap:7px;padding-top:14px}
.alba105-pages a{border:1px solid #d4e2eb;border-radius:7px;padding:6px 11px;text-decoration:none}
.alba105-pages [aria-current=page]{background:#087ea2;color:white}
.alba105-roster-message,.alba105-empty{padding:20px;background:#f5f9fb;border-radius:12px;color:#4d6579;border:1px solid #dfe8ef}
.alba105-mega{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;width:100%}
.alba105-mega-card{min-width:0;padding:14px;background:linear-gradient(150deg,#f8fbfd,#eef5f8);border:1px solid #dbe8ed;border-radius:13px}
.alba105-mega-heading{display:block;text-decoration:none!important;color:#133f59!important}
.alba105-mega-heading>.alba105-image{display:block;overflow:hidden;width:100%;height:120px;border-radius:9px;margin-bottom:9px;background:linear-gradient(140deg,#08638e,#02a1c4)}
.alba105-mega-heading>.alba105-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s}
.alba105-mega-heading:hover>.alba105-image img{transform:scale(1.04)}
.alba105-mega-heading>span{display:flex;flex-direction:column;gap:4px}
.alba105-mega-heading strong{font-size:1.02rem}.alba105-mega-heading small{font-size:.77rem;color:#577188}
.alba105-mega ul{list-style:none;margin:12px 0 0;padding:0}
.alba105-mega li{border-top:1px solid #e0e9ee;margin:0;padding:0}
.alba105-mega li a,.alba105-mega li span{display:block;font-size:.86rem;line-height:1.45;padding:8px 3px;text-decoration:none!important;color:#315b73!important}
.alba105-mega li a:hover{color:#008cbb!important}
@media(max-width:900px){.alba105-events{grid-template-columns:repeat(2,minmax(0,1fr))}.alba105-mega{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.alba105-events,.alba105-mega{grid-template-columns:1fr}.alba105-event-card{min-height:180px}.alba105-race-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.alba105-race-card{min-height:76px}.alba105-roster{padding:13px}.alba105-mega-heading>.alba105-image{height:150px}}
@media(prefers-reduced-motion:reduce){.alba105-event-card,.alba105-race-card,.alba105-mega-heading img{transition:none!important;transform:none!important}}
