:root{
  --iea:#007297;--iea-deep:#07536b;--cyan:#00aeef;--ink:#17242b;--muted:#68777d;
  --paper:#f6f8f7;--white:#fff;--line:#dce5e5;--soft:#edf3f3;--sand:#f2ede4;
  --orange:#d97959;--danger:#a21b2d;--shadow:0 14px 40px rgba(25,52,60,.08);
  --radius:18px;--radius-sm:12px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
a{color:inherit}.topbar{position:sticky;top:0;z-index:20;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 clamp(20px,5vw,72px);background:rgba(255,255,255,.94);border-bottom:1px solid rgba(13,84,105,.12);backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}.brand img{height:46px;max-width:110px;object-fit:contain}.brand-mark{width:42px;height:42px;border-radius:50% 50% 46% 54%/46% 52% 48% 54%;display:grid;place-items:center;background:var(--iea);color:white;font-family:Georgia,serif;font-size:1.55rem;font-style:italic;font-weight:700;transform:rotate(-5deg)}.brand-copy{display:flex;flex-direction:column;min-width:0}.brand-copy strong{font-family:Georgia,"Times New Roman",serif;font-size:1.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-copy small{font-size:.69rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:800}
.main-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.main-nav>a,.nav-signout{display:block;border:0;background:transparent;padding:9px 11px;text-decoration:none;font:inherit;font-size:.9rem;font-weight:750;color:#33454c;border-radius:10px;cursor:pointer}.main-nav>a:hover,.nav-signout:hover{background:var(--soft);color:var(--iea)}.main-nav form{margin:0}
.container{width:min(1180px,92vw);margin:34px auto 76px}.eyebrow{font-size:.7rem;font-weight:900;letter-spacing:.18em;color:var(--iea);text-transform:uppercase}.eyebrow.light{color:#bfeeff}.hero,.show-hero{position:relative;overflow:hidden;background:linear-gradient(118deg,var(--iea-deep),var(--iea));color:white;border-radius:28px;padding:clamp(28px,5vw,52px);box-shadow:var(--shadow)}.hero:after,.show-hero:after{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(255,255,255,.14);border-radius:47% 53% 59% 41%/44% 43% 57% 56%;right:-120px;top:-160px;transform:rotate(18deg)}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.hero-copy{max-width:760px}.hero h1,.show-hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(2.35rem,5vw,4.7rem);line-height:.98;letter-spacing:-.035em;margin:.18em 0 .22em}.hero p,.show-hero p{max-width:650px;color:rgba(255,255,255,.82);font-size:1.06rem;margin:0}.actions{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:2}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:43px;padding:10px 16px;border:1px solid transparent;border-radius:12px;background:var(--iea);color:#fff;text-decoration:none;font:inherit;font-weight:800;cursor:pointer;transition:.15s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,114,151,.18)}.light-btn{background:#fff;color:var(--iea)}.ghost-btn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.26);color:#fff}.wide{width:100%}.text-link{color:var(--iea);text-decoration:none;font-weight:800}.text-link:hover{text-decoration:underline}
.metric-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:22px 0 38px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden}.metric-row article{background:white;padding:20px 22px}.metric-label{display:block;font-size:.69rem;letter-spacing:.13em;text-transform:uppercase;font-weight:900;color:var(--muted)}.metric-row strong{display:block;font-family:Georgia,serif;font-size:2.4rem;line-height:1;color:var(--iea);font-weight:500;margin:7px 0 3px}.metric-row small{color:var(--muted)}
.content-section{margin-top:38px}.section-head,.page-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 16px}.section-head h2,.page-title h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.025em;margin:.1em 0}.section-head h2{font-size:2rem}.page-title h1{font-size:clamp(2.2rem,4vw,3.8rem)}.page-title p{color:var(--muted);margin:.3em 0 0;max-width:620px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:28px}.card,.form-card,.auth-card,.class-card,.empty-state{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 6px 18px rgba(29,55,63,.035)}.card{padding:22px}.empty-state{padding:26px;color:var(--muted)}.announcement{margin-bottom:12px;position:relative}.announcement:before{content:"";position:absolute;left:0;top:20px;bottom:20px;width:3px;border-radius:3px;background:var(--cyan)}.announcement.important:before{background:var(--orange)}.announcement.urgent:before{background:var(--danger)}.announcement small,.event-row small{font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--iea)}.announcement h3,.event-row h3{margin:.25em 0}.announcement p,.event-row p{margin:.3em 0;color:#43555c}
.event-row{display:flex;gap:15px;padding:16px 0;border-bottom:1px solid var(--line)}.event-row:last-child{border-bottom:0}.datebox,.show-date{flex:0 0 auto;min-width:58px;text-align:center;border-radius:13px;overflow:hidden;background:var(--soft)}.datebox strong,.show-date span{display:block;background:var(--iea);color:white;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;padding:4px}.datebox span,.show-date strong{display:block;font-family:Georgia,serif;font-size:1.6rem;font-weight:500;padding:5px}
.show-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.show-mini{display:flex;gap:14px;min-height:142px;padding:17px;background:white;border:1px solid var(--line);border-radius:16px;text-decoration:none;transition:.15s ease}.show-mini:hover,.show-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#bfd3d7}.show-mini h3{font-size:1rem;margin:.45em 0 .25em}.show-mini p{font-size:.88rem;color:var(--muted);margin:0}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;background:#eaf4f5;color:var(--iea-deep);font-size:.63rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.status-complete{background:#e9f5ee;color:#2f6e4c}.status-cancelled{background:#f5e9eb;color:#8b2d3d}.status-registration{background:#e8f4fb;color:#006c90}.status-entered{background:#f4efe4;color:#7d622d}
.show-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.show-card{display:grid;grid-template-columns:90px 1fr;background:white;border:1px solid var(--line);border-radius:20px;overflow:hidden;text-decoration:none;transition:.15s ease}.show-card-date{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--soft);border-right:1px solid var(--line);padding:18px 10px}.show-card-date span{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:900;color:var(--iea)}.show-card-date strong{font-family:Georgia,serif;font-size:2.6rem;line-height:1.05;font-weight:500}.show-card-date small{color:var(--muted)}.show-card-main{padding:20px}.show-card-main h3{font-family:Georgia,serif;font-size:1.35rem;font-weight:500;margin:.45em 0 .2em}.show-card-main p{color:var(--muted);margin:0 0 8px}.past-list{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:white}.past-list a{display:grid;grid-template-columns:130px 1fr 160px;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line);text-decoration:none}.past-list a:last-child{border-bottom:0}.past-list a:hover{background:#fbfcfc}.past-list span{color:var(--muted)}
.show-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}.show-hero-date{position:relative;z-index:2;width:102px;min-height:116px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:white;color:var(--ink);border-radius:18px}.show-hero-date span{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--iea)}.show-hero-date strong{font-family:Georgia,serif;font-size:3.1rem;line-height:1;font-weight:500}.show-hero-date small{color:var(--muted)}.show-hero-copy{position:relative;z-index:2}.show-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:18px;font-size:.83rem;color:rgba(255,255,255,.84)}.show-hero .status-pill{background:white;color:var(--iea)}.detail-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:18px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}.detail-band>div{background:white;padding:17px 20px}.detail-band small{display:block;text-transform:uppercase;letter-spacing:.1em;font-weight:900;font-size:.66rem;color:var(--muted);margin-bottom:4px}.detail-band p{margin:0}.wide-detail{grid-column:auto}
.class-card{margin-bottom:16px;overflow:hidden}.class-card>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 22px;background:#fbfcfc;border-bottom:1px solid var(--line)}.class-card h3{font-family:Georgia,serif;font-size:1.35rem;font-weight:500;margin:.1em 0}.class-card header p{margin:0;color:var(--muted);font-size:.9rem}.class-number{font-size:.65rem;font-weight:900;letter-spacing:.12em;color:var(--iea)}.entry-table-wrap{overflow:auto}.entry-table{width:100%;border-collapse:collapse;font-size:.89rem}.entry-table th,.entry-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.entry-table th{background:#fff;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.64rem}.entry-table tbody tr:last-child td{border-bottom:0}.entry-table a{color:var(--iea);font-weight:750;text-decoration:none}.point-badge{display:inline-block;border-radius:999px;padding:3px 7px;background:#f4efe4;color:#7d622d;font-size:.62rem;font-weight:900;letter-spacing:.07em}
.rider-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:16px}.rider-card{position:relative;background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;transition:.15s ease}.rider-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.rider-card img,.avatar{width:100%;height:220px;object-fit:cover}.rider-card>div:last-child{padding:17px}.rider-card h3,.rider-card p{margin:.2em 0}.rider-card h3{font-family:Georgia,serif;font-size:1.3rem;font-weight:500}.rider-card p{color:var(--muted);font-size:.9rem}.avatar{display:grid;place-items:center;background:linear-gradient(135deg,#e1f0f1,#eef3ee);color:var(--iea);font-family:Georgia,serif;font-size:3.4rem}.profile{display:grid;grid-template-columns:280px 1fr;gap:30px}.profile-photo{width:100%;height:320px;object-fit:cover;border-radius:14px}.profile-photo.avatar{display:grid}.lead{font-size:1.08rem;color:var(--muted)}
.form-card{max-width:760px;margin:40px auto;padding:clamp(24px,5vw,42px)}.form-card h1,.auth-card h2{font-family:Georgia,serif;font-weight:500;font-size:2.2rem;margin:.15em 0 .5em}.form-card form>p{margin:0 0 16px}.form-card label,.field-wrap label{display:block;font-size:.78rem;font-weight:850;color:#40525a;margin-bottom:6px}.form-card input,.form-card select,.form-card textarea,.auth-card input{width:100%;padding:11px 12px;border:1px solid #bdcbcf;border-radius:10px;background:#fff;font:inherit;color:var(--ink);outline:none}.form-card input:focus,.form-card select:focus,.form-card textarea:focus,.auth-card input:focus{border-color:var(--iea);box-shadow:0 0 0 3px rgba(0,114,151,.1)}.form-card input[type=checkbox]{width:auto}.form-card textarea{min-height:110px;resize:vertical}.helptext{display:block;color:var(--muted);font-size:.78rem;margin-top:5px}
.auth-shell{min-height:100vh;background:linear-gradient(120deg,#07536b 0,#007297 52%,#eaf2f0 52%,#f6f8f7 100%)}.auth-shell .topbar{background:transparent;border-bottom-color:rgba(255,255,255,.18);color:white;backdrop-filter:none}.auth-shell .brand-copy strong{color:white}.auth-shell footer{color:#64767c}.login-layout{min-height:calc(100vh - 190px);display:grid;grid-template-columns:1fr 440px;gap:9vw;align-items:center;padding:48px 0}.login-intro{color:white;max-width:620px}.login-intro h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(3rem,6vw,6.2rem);line-height:.9;letter-spacing:-.045em;margin:.18em 0 .3em}.login-intro p{font-size:1.12rem;max-width:540px;color:rgba(255,255,255,.82)}.rail-line{width:170px;height:9px;border-top:1px solid rgba(255,255,255,.45);border-bottom:1px solid rgba(255,255,255,.25);margin-top:42px;transform:skewX(-28deg)}.auth-card{padding:34px}.auth-card p{margin-top:0}.stack-form{display:grid;gap:15px}.field-error,.form-error{color:var(--danger);font-size:.82rem}.form-error ul{padding-left:18px}.flash{background:#e8f5ee;border:1px solid #bddfc9;padding:12px 15px;border-radius:12px;margin-bottom:16px}.muted{color:var(--muted)}footer{display:flex;justify-content:center;gap:8px;color:var(--muted);font-size:.8rem;padding:28px}.footer-dot{color:var(--cyan)}
@media(max-width:940px){.topbar{align-items:flex-start;flex-direction:column;padding:14px 4vw}.main-nav{width:100%}.container{width:min(94vw,1180px);margin-top:24px}.metric-row,.show-strip{grid-template-columns:repeat(2,1fr)}.show-hero{grid-template-columns:auto 1fr}.show-hero .actions{grid-column:1/-1}.login-layout{grid-template-columns:1fr;gap:30px}.auth-shell{background:linear-gradient(180deg,var(--iea-deep),var(--iea) 44%,var(--paper) 44%)}.login-intro{padding-top:20px}.auth-card{max-width:520px;width:100%;justify-self:center}}
@media(max-width:700px){.hero{align-items:flex-start;flex-direction:column}.grid2,.show-grid,.metric-row,.detail-band,.profile{grid-template-columns:1fr}.show-strip{grid-template-columns:1fr}.show-hero{grid-template-columns:1fr;padding:28px}.show-hero-date{width:86px;min-height:98px}.show-hero .actions{grid-column:auto}.past-list a{grid-template-columns:1fr;gap:3px}.page-title,.section-head{align-items:flex-start}.page-title{flex-direction:column}.profile-photo{max-width:300px}.footer-dot{display:none}footer{flex-direction:column;align-items:center;gap:2px}.main-nav>a,.nav-signout{padding:8px}.brand-copy strong{max-width:72vw}}
/* v1.2 roster, season and family details */
.btn.secondary{background:white;color:var(--iea);border-color:#bfd3d7}.btn.secondary:hover{background:var(--soft)}
.roster-section{margin-top:38px}.upper-roster{padding-top:34px;border-top:1px solid var(--line)}.roster-count{font-size:.74rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:7px 10px;background:var(--soft);border-radius:999px}.rider-card small{display:block;margin-top:8px;color:var(--iea);overflow:hidden;text-overflow:ellipsis}
.contact-strip{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 22px}.contact-strip>span{display:flex;flex-direction:column;padding:10px 13px;border:1px solid var(--line);border-radius:12px;background:#fbfcfc;min-width:160px}.contact-strip small{font-size:.63rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);font-weight:900}.contact-strip a{text-decoration:none;color:var(--iea);font-weight:750}.season-membership-card{display:grid;grid-template-columns:minmax(190px,.7fr) 1fr auto;gap:22px;align-items:center;margin-bottom:12px}.season-membership-card h3{font-family:Georgia,serif;font-size:1.35rem;font-weight:500;margin:.15em 0}.season-membership-card p{margin:0;color:var(--muted)}.class-chip-list{display:flex;flex-wrap:wrap;gap:7px}.class-chip{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e9f3f4;color:var(--iea-deep);font-size:.72rem;font-weight:800}.class-chip.compact{font-size:.64rem;padding:3px 6px;margin:1px}
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.contact-card{display:flex;gap:14px;padding:18px;background:white;border:1px solid var(--line);border-radius:16px}.contact-avatar{flex:0 0 48px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--soft);font-family:Georgia,serif;font-size:1.15rem;color:var(--iea)}.contact-card h3{font-family:Georgia,serif;font-weight:500;font-size:1.2rem;margin:0}.contact-card p{margin:2px 0 7px;color:var(--muted);font-size:.86rem}.contact-card a{display:block;color:var(--iea);text-decoration:none;font-size:.88rem}
.team-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.team-panel{position:relative;background:white;border:1px solid var(--line);border-radius:22px;padding:24px;overflow:hidden}.team-panel:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--iea)}.upper-panel:before{background:var(--iea-deep)}.team-panel h2{font-family:Georgia,serif;font-size:2rem;font-weight:500;margin:.2em 0 1em}.season-class-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.season-class-row strong,.season-class-row small{display:block}.season-class-row small{color:var(--muted);margin-top:2px}
@media(max-width:700px){.season-membership-card,.team-split-grid{grid-template-columns:1fr}.contact-strip>span{width:100%}}
.parent-directory-card{min-height:150px}.family-riders{padding-top:9px;margin-top:10px!important;border-top:1px solid var(--line)}.family-riders a{display:inline;font-weight:750}
.class-actions{display:flex;align-items:center;gap:9px}.contact-edit{margin-top:8px;font-size:.8rem!important}
/* v1.3 workflow controls */
.filter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 26px}.filter-tabs a{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:white;color:var(--muted);text-decoration:none;font-size:.76rem;font-weight:850;letter-spacing:.04em}.filter-tabs a:hover,.filter-tabs a.active{border-color:var(--iea);color:var(--iea);background:var(--soft)}
.class-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.table-actions{display:flex;gap:10px;align-items:center}.danger-link{color:var(--danger)!important}.danger-btn{background:var(--danger);border-color:var(--danger)}.danger-card{border-top:5px solid var(--danger)}.event-title-link{color:inherit;text-decoration:none}.event-title-link:hover{color:var(--iea)}
@media(max-width:700px){.class-card>header{align-items:flex-start;flex-direction:column}.class-header-actions{justify-content:flex-start}.table-actions{flex-direction:column;align-items:flex-start;gap:4px}}
/* v1.4 points, qualification and standings */
.page-intro{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}.page-intro h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.3rem,4vw,4rem);font-weight:500;letter-spacing:-.035em;margin:.1em 0}.page-intro p{max-width:720px;color:var(--muted);margin:.25em 0 0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:16px 0}.stat-card{background:white;border:1px solid var(--line);border-radius:18px;padding:20px}.stat-card small{display:block;color:var(--muted);font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.stat-card>strong{display:block;font-family:Georgia,serif;font-size:3rem;font-weight:500;color:var(--iea);line-height:1;margin:8px 0}.stat-card>span{color:var(--muted);font-size:.82rem}.entry-table progress{width:150px;accent-color:var(--iea)}.inline-form{display:inline;margin:0}.link-button{border:0;background:none;padding:0;color:var(--iea);font:inherit;font-weight:800;cursor:pointer}.link-button:hover{text-decoration:underline}
@media(max-width:700px){.page-intro{align-items:flex-start;flex-direction:column}.entry-table progress{width:110px}}

/* v1.4.1 visual refinement */
:root{
  --iea:#075a78;
  --iea-deep:#063f52;
  --cyan:#009bc9;
  --ink:#142229;
  --muted:#5f7077;
  --paper:#f1f4f3;
  --line:#d1dcdd;
  --soft:#e5eded;
  --sand:#ece6dc;
  --shadow:0 10px 28px rgba(16,45,56,.09);
  --radius:15px;
  --radius-sm:10px;
}
.topbar{min-height:68px;padding:0 clamp(18px,4vw,60px);gap:20px;background:rgba(250,252,251,.96);border-bottom-color:rgba(6,63,82,.16)}
.brand img{height:40px}.brand-mark{width:38px;height:38px;font-size:1.4rem;background:var(--iea-deep)}
.brand-copy strong{font-size:1.04rem}.brand-copy small{font-size:.63rem}
.main-nav>a,.nav-signout{padding:7px 9px;font-size:.84rem;border-radius:8px;color:#2c4149}
.container{width:min(1160px,92vw);margin:26px auto 60px}
.hero,.show-hero{border-radius:22px;padding:clamp(24px,4vw,42px);background:linear-gradient(118deg,#052f3e,var(--iea))}
.hero h1,.show-hero h1{font-size:clamp(2.25rem,4.6vw,4.25rem)}
.btn{min-height:39px;padding:8px 13px;border-radius:9px;font-size:.88rem}
.metric-row{margin:18px 0 30px;border-radius:14px}.metric-row article{padding:16px 18px}.metric-row strong{font-size:2.15rem}
.content-section{margin-top:30px}.section-head,.page-title{margin-bottom:12px}.section-head h2{font-size:1.8rem}
.card{padding:18px}.card,.form-card,.auth-card,.class-card,.empty-state{box-shadow:0 4px 14px rgba(16,45,56,.04)}
.show-strip,.show-grid{gap:12px}.show-mini{min-height:128px;padding:14px;border-radius:13px}.show-card{border-radius:15px}.show-card-main{padding:16px}
.show-hero{gap:22px}.show-hero-date{width:92px;min-height:104px;border-radius:14px}.show-hero-date strong{font-size:2.8rem}
.detail-band{margin-top:14px;border-radius:13px}.detail-band>div{padding:14px 16px}
.class-card{margin-bottom:12px}.class-card>header{padding:15px 18px;background:#f7f9f8}.class-card h3{font-size:1.25rem}
.entry-table{font-size:.85rem}.entry-table th,.entry-table td{padding:9px 11px}.entry-table th{font-size:.61rem}
.filter-tabs{margin:14px 0 20px}.filter-tabs a{padding:6px 10px;font-size:.72rem}
.page-intro{margin-bottom:14px}.page-intro h1{font-size:clamp(2.2rem,3.7vw,3.6rem)}
.stat-grid{gap:11px;margin:12px 0}.stat-card{border-radius:14px;padding:16px}.stat-card>strong{font-size:2.65rem}
.roster-section{margin-top:30px}.team-panel{border-radius:16px;padding:19px}.team-panel h2{font-size:1.75rem}
.rider-grid{gap:12px}.rider-card{border-radius:14px}.rider-card img,.avatar{height:200px}.rider-card>div:last-child{padding:14px}
.contact-grid{gap:11px}.contact-card{padding:15px;border-radius:13px}
.form-card{margin:30px auto;padding:clamp(22px,4vw,34px)}
footer{padding:22px;color:#687a80}.site-version{font-variant-numeric:tabular-nums;font-weight:800;color:var(--iea-deep)}
.auth-shell{background:linear-gradient(120deg,#052f3e 0,#075a78 52%,#e7ecea 52%,#f1f4f3 100%)}
@media(max-width:940px){.container{margin-top:20px}.topbar{padding:12px 4vw}}

/* v1.5 team operations */
.ops-list{display:grid;gap:10px}.ops-row{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;text-decoration:none;padding:15px 17px}.ops-row:hover{border-color:#aac2c7;box-shadow:0 8px 20px rgba(16,45,56,.07)}.ops-main h3{margin:2px 0;font-family:Georgia,serif;font-size:1.25rem;font-weight:500}.ops-main p{margin:2px 0;color:var(--muted);font-size:.86rem}.ops-main small{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;font-weight:900;color:var(--iea)}.ops-meta{text-align:right}.ops-meta strong{display:block;font-family:Georgia,serif;font-size:1.8rem;color:var(--iea)}.ops-meta small{font-size:.65rem;text-transform:uppercase;color:var(--muted);font-weight:850}.compact-list .ops-row{grid-template-columns:72px 1fr}.availability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.availability-card{display:flex;align-items:center;justify-content:space-between;gap:16px}.availability-card small{font-size:.72rem;text-transform:uppercase;font-weight:850;color:var(--muted)}.availability-card h3{font-family:Georgia,serif;font-size:1.35rem;font-weight:500;margin:.2em 0}.availability-available{color:#187047}.availability-unavailable{color:var(--danger)}.availability-conditional{color:#9a6c14}.volunteer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.volunteer-card.complete{border-top:4px solid #2b7b58}.volunteer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.volunteer-head h3{font-family:Georgia,serif;font-weight:500;font-size:1.3rem;margin:.15em 0}.volunteer-head small{color:var(--muted);font-size:.68rem;text-transform:uppercase;font-weight:850}.progress-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.progress-numbers>div{padding:10px;border-radius:10px;background:var(--soft)}.progress-numbers strong,.progress-numbers small{display:block}.progress-numbers strong{font-family:Georgia,serif;font-size:1.5rem;color:var(--iea-deep)}.progress-numbers small{font-size:.62rem;text-transform:uppercase;color:var(--muted);font-weight:850}.volunteer-card progress{width:100%;height:9px;accent-color:var(--iea)}.volunteer-approved{background:#e5f3ea;color:#236a48}.volunteer-pending{background:#fff3d8;color:#8a6417}.volunteer-rejected{background:#f8e2e5;color:var(--danger)}.attendance-present,.attendance-makeup{background:#e5f3ea;color:#236a48}.attendance-absent{background:#f8e2e5;color:var(--danger)}.attendance-excused{background:#edf0f2;color:#53666d}
@media(max-width:700px){.ops-row{grid-template-columns:auto 1fr}.ops-meta{display:none}.availability-card{align-items:flex-start;flex-direction:column}.volunteer-grid{grid-template-columns:1fr}}
.ops-alerts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.ops-alerts a{display:flex;align-items:center;gap:14px;text-decoration:none}.ops-alerts strong{font-family:Georgia,serif;font-size:2rem;color:var(--iea)}.ops-alerts span{color:var(--muted);font-weight:700}
@media print{.topbar,footer,.print-hide,.show-hero .actions{display:none!important}.container{width:100%;margin:0}.show-hero{box-shadow:none;color:#000;background:#fff;border:1px solid #bbb}.eyebrow.light,.show-hero p{color:#333}.entry-table{font-size:10pt}.entry-table th,.entry-table td{padding:7px}.card,.class-card{box-shadow:none}}

/* v1.5.5 user onboarding */
.field-row{margin-bottom:16px}.field-row>small{display:block;color:var(--muted);font-size:.76rem;margin-top:5px}.field-row ul.errorlist{margin:6px 0 0;padding-left:18px;color:var(--danger);font-size:.8rem}.table-sub{display:block;color:var(--muted);font-size:.72rem;margin-top:3px}.status-pill.warning{background:#fff0cc;color:#805a0e}.password-gate{max-width:760px;margin:7vh auto}.password-gate .form-card{margin:0}.password-gate-signout{margin-top:18px}.text-button{border:0;background:transparent;padding:0;color:var(--iea);font:inherit;font-weight:800;cursor:pointer}.text-button:hover{text-decoration:underline}

/* v1.6 communications & privacy */
.notification-nav{display:flex!important;align-items:center;gap:6px}.notification-count{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:.62rem;font-weight:900}.notification-list{display:grid;gap:10px}.notification-card{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.notification-card.unread{border-left:4px solid var(--cyan);background:#fafdfe}.notification-card h3{font-family:Georgia,serif;font-weight:500;font-size:1.35rem;margin:.2em 0}.notification-card p{margin:.35em 0 0;color:#43555c}.notification-card small{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.privacy-note{display:inline-block;padding:8px 11px;border-radius:9px;background:var(--soft);font-size:.86rem!important;color:var(--muted)!important}.summary-class{margin-bottom:10px}.summary-class>small{display:block;font-size:.68rem;color:var(--iea);font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
@media(max-width:700px){.notification-card{flex-direction:column}.notification-count{position:static}}

/* v1.6.1 committees & show planning */
.committee-grid,.planning-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px}
.committee-card{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.committee-card small,.planning-card small{font-size:.68rem;color:var(--iea);font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.committee-card h3,.planning-card h3{font-family:Georgia,serif;font-weight:500;font-size:1.35rem;margin:.25em 0}
.committee-card>div:last-child{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.planning-card.complete{opacity:.72;border-top:4px solid #2b7b58}.planning-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.planning-owner{padding:9px 11px;border-radius:9px;background:var(--soft);margin:12px 0}

/* v1.7 season history & reporting */
.archive-grid,.award-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px}
.archive-card{display:flex;justify-content:space-between;align-items:center;gap:18px}
.archive-card small,.award-card small,.history-season small{font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--iea)}
.review-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:18px 0}
.stat-card,.review-stats.compact>div{background:white;border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column}
.stat-card strong,.review-stats.compact strong{font-family:Georgia,serif;font-size:1.8rem;font-weight:500;color:var(--iea-deep)}
.stat-card span,.review-stats.compact span{font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.history-timeline{display:grid;gap:18px}.history-season{border-left:4px solid var(--iea)}
.history-season-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.development-note{background:var(--soft);border-radius:10px;padding:12px 14px;margin:8px 0}
.print-footnote{margin-top:32px;padding-top:12px;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}
@media print{nav,.site-nav,.no-print,.messages,.footer,.site-footer{display:none!important}.print-summary{max-width:none}.card,.stat-card{box-shadow:none!important}}

.inline-form{display:inline;margin:0;padding:0}
.inline-form .text-link{background:none;border:0;padding:0;font:inherit;cursor:pointer}
.danger-link{color:#9b2f2f!important}

/* v1.7.3 rider season onboarding */
.form-section{margin:28px 0 22px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.season-class-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin:10px 0 14px}
.class-option{display:flex;align-items:flex-start;gap:9px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff}
.class-option[hidden]{display:none!important}
.class-option small{color:var(--muted)}


/* v1.7.5 visual refinement */
:root{
  --iea:#08617c;
  --iea-deep:#073c4d;
  --iea-ink:#102f39;
  --cyan:#0aa7c8;
  --ink:#1b292f;
  --muted:#66777d;
  --paper:#f5f6f3;
  --white:#fff;
  --line:#d8e0de;
  --line-strong:#c8d4d2;
  --soft:#edf1ef;
  --soft-blue:#e7f0f2;
  --sand:#eee8de;
  --orange:#c86f4f;
  --danger:#92263a;
  --shadow:0 18px 46px rgba(18,48,58,.075);
  --shadow-sm:0 7px 22px rgba(18,48,58,.055);
  --radius:17px;
  --radius-sm:11px;
}

body{
  background:
    radial-gradient(circle at 8% -10%,rgba(8,97,124,.055),transparent 28rem),
    linear-gradient(180deg,#f9faf8 0,var(--paper) 220px);
  color:var(--ink);
}

/* Header and navigation */
.topbar{
  min-height:78px;
  padding:0 clamp(20px,4vw,64px);
  gap:30px;
  background:rgba(251,252,250,.96);
  border-top:3px solid var(--iea-deep);
  border-bottom:1px solid rgba(7,60,77,.13);
  box-shadow:0 5px 18px rgba(18,48,58,.035);
  backdrop-filter:blur(16px);
}
.brand{gap:13px}
.brand img{height:43px;max-width:118px}
.brand-mark{
  width:41px;height:41px;
  background:linear-gradient(145deg,var(--iea),var(--iea-deep));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 4px 12px rgba(7,60,77,.13);
}
.brand-copy strong{font-size:1.08rem;color:var(--iea-ink);letter-spacing:-.01em}
.brand-copy small{font-size:.61rem;letter-spacing:.17em;color:#73858a;margin-top:1px}

.main-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:15px;
  flex:1;
  min-width:0;
  flex-wrap:nowrap;
}
.nav-primary,.nav-utility{display:flex;align-items:center;gap:3px}
.nav-utility{
  padding-left:14px;
  border-left:1px solid var(--line);
}
.nav-primary>a,.nav-utility>a,.nav-signout,.nav-menu>summary{
  position:relative;
  display:flex;
  align-items:center;
  min-height:38px;
  padding:8px 10px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#344950;
  text-decoration:none;
  font:inherit;
  font-size:.835rem;
  font-weight:760;
  line-height:1;
  cursor:pointer;
  transition:background .15s ease,color .15s ease,transform .15s ease;
}
.nav-primary>a:hover,.nav-utility>a:hover,.nav-signout:hover,.nav-menu>summary:hover,.nav-menu[open]>summary{
  color:var(--iea-deep);
  background:rgba(8,97,124,.075);
}
.nav-signout{color:#6e5458;font-weight:700}
.nav-signout:hover{background:#f4e9e9;color:var(--danger)}
.main-nav form{margin:0}

.nav-menu{position:relative}
.nav-menu>summary{list-style:none;user-select:none}
.nav-menu>summary::-webkit-details-marker{display:none}
.nav-menu>summary::after{
  content:"";
  width:6px;height:6px;
  margin-left:8px;margin-top:-3px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);
  opacity:.62;
  transition:transform .15s ease;
}
.nav-menu[open]>summary::after{transform:translateY(3px) rotate(225deg)}
.nav-menu-panel{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  z-index:45;
  display:grid;
  gap:2px;
  min-width:218px;
  padding:9px;
  background:rgba(255,255,255,.99);
  border:1px solid rgba(7,60,77,.13);
  border-radius:14px;
  box-shadow:0 20px 48px rgba(16,47,57,.14);
}
.nav-menu-panel::before{
  content:"";
  position:absolute;
  top:-5px;left:22px;
  width:9px;height:9px;
  background:#fff;
  border-left:1px solid rgba(7,60,77,.13);
  border-top:1px solid rgba(7,60,77,.13);
  transform:rotate(45deg);
}
.nav-menu-panel-right{left:auto;right:0}
.nav-menu-panel-right::before{left:auto;right:22px}
.nav-menu-label{
  display:block;
  padding:7px 10px 6px;
  color:#809095;
  font-size:.59rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.nav-menu-panel a{
  display:flex;
  align-items:center;
  min-height:38px;
  padding:9px 11px;
  border-radius:9px;
  color:#344950;
  text-decoration:none;
  font-size:.84rem;
  font-weight:720;
  white-space:nowrap;
}
.nav-menu-panel a:hover{background:var(--soft-blue);color:var(--iea-deep)}
.notification-nav{gap:7px!important}
.notification-count{
  min-width:20px;height:20px;
  padding:0 6px;
  background:var(--danger);
  box-shadow:0 2px 7px rgba(146,38,58,.18);
}

/* More polished type hierarchy */
.container{width:min(1160px,92vw);margin:34px auto 72px}
.eyebrow{font-size:.66rem;letter-spacing:.205em;color:var(--iea);font-weight:900}
.section-head h2,.page-title h1,.form-card h1,.auth-card h2,
.card h2,.card h3,.ops-main h3,.notification-card h3,
.committee-card h3,.planning-card h3{
  text-wrap:balance;
}
.page-title h1{font-size:clamp(2.35rem,4vw,3.9rem);line-height:1.02;color:var(--iea-ink)}
.section-head h2{font-size:1.95rem;color:var(--iea-ink)}
.page-title p{font-size:.98rem;line-height:1.65}

/* Hero surfaces */
.hero,.show-hero{
  background:
    linear-gradient(118deg,rgba(5,47,62,.98),rgba(8,97,124,.96)),
    linear-gradient(var(--iea-deep),var(--iea));
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  box-shadow:0 24px 55px rgba(7,60,77,.14);
}
.hero:after,.show-hero:after{border-color:rgba(255,255,255,.11)}
.hero h1,.show-hero h1{font-weight:400;letter-spacing:-.04em}

/* Cards and data surfaces */
.card,.form-card,.auth-card,.class-card,.empty-state{
  border-color:var(--line);
  box-shadow:var(--shadow-sm);
}
.card{padding:21px}
.card,.show-mini,.show-card,.ops-row,.contact-card,.stat-card{
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.show-mini:hover,.show-card:hover,.ops-row:hover{
  border-color:#b8cbcf;
  box-shadow:0 15px 34px rgba(18,48,58,.09);
}
.metric-row{
  background:var(--line-strong);
  border-color:var(--line-strong);
  box-shadow:0 7px 24px rgba(18,48,58,.045);
}
.metric-row article{background:#fcfdfc}
.metric-row strong{color:var(--iea-deep)}
.status-pill{padding:5px 9px;letter-spacing:.09em}

/* Buttons */
.btn{
  min-height:41px;
  padding:9px 15px;
  border-radius:10px;
  background:linear-gradient(180deg,#0b7898,var(--iea));
  box-shadow:0 3px 8px rgba(8,97,124,.10);
  font-size:.86rem;
  letter-spacing:.005em;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(8,97,124,.16)}
.btn.secondary,.secondary{background:#fff;color:var(--iea-deep);border-color:var(--line-strong);box-shadow:none}
.btn.secondary:hover,.secondary:hover{background:var(--soft-blue);border-color:#b7cdd2}
.light-btn{background:#fff;color:var(--iea-deep)}
.ghost-btn{background:rgba(255,255,255,.07)}
.text-link{text-underline-offset:3px}

/* Forms */
.form-card{max-width:790px;margin:38px auto;padding:clamp(26px,5vw,44px)}
.form-card h1,.auth-card h2{color:var(--iea-ink)}
.form-card label,.field-wrap label{
  color:#354a52;
  font-size:.75rem;
  letter-spacing:.025em;
}
.form-card input,.form-card select,.form-card textarea,.auth-card input{
  min-height:43px;
  padding:11px 13px;
  border-color:#bccbc9;
  border-radius:9px;
  background:#fdfefd;
  box-shadow:inset 0 1px 2px rgba(23,52,61,.025);
}
.form-card textarea{min-height:116px}
.form-card input:hover,.form-card select:hover,.form-card textarea:hover{border-color:#aabdbc}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus,.auth-card input:focus{
  border-color:var(--iea);
  box-shadow:0 0 0 3px rgba(8,97,124,.10);
  background:#fff;
}
.form-section{
  background:linear-gradient(180deg,#f2f5f3,#edf2f0);
  border-color:#d5dfdc;
}
.class-option{border-color:#d4dfdc;box-shadow:0 2px 6px rgba(18,48,58,.025)}
.class-option:hover{border-color:#afc6c8;background:#fbfdfc}

/* Tables */
.entry-table{border-collapse:separate;border-spacing:0}
.entry-table th{
  background:#eef3f2;
  color:#5c7076;
  letter-spacing:.11em;
  border-bottom:1px solid var(--line-strong);
}
.entry-table td{border-bottom-color:#e3e9e7}
.entry-table tbody tr:hover td{background:#fafcfb}

/* Flash messages */
.flash{
  background:#eef7f2;
  border-color:#c9dfd2;
  color:#315b46;
  box-shadow:0 5px 16px rgba(29,83,58,.045);
}

footer{color:#718287;padding:30px}
.site-version{color:var(--iea-deep)}

@media(max-width:1100px){
  .topbar{align-items:flex-start;flex-direction:column;padding:14px 4vw;gap:10px}
  .main-nav{width:100%;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
  .nav-primary,.nav-utility{flex-wrap:wrap}
  .nav-utility{margin-left:auto}
}
@media(max-width:760px){
  .topbar{position:relative;border-top-width:2px}
  .brand-copy strong{max-width:74vw}
  .main-nav{display:grid;grid-template-columns:1fr;width:100%;gap:7px}
  .nav-primary,.nav-utility{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:100%}
  .nav-utility{padding:8px 0 0;margin:0;border-left:0;border-top:1px solid var(--line)}
  .nav-primary>a,.nav-utility>a,.nav-signout,.nav-menu>summary{width:100%;justify-content:space-between;padding:10px 11px}
  .main-nav form{width:100%}
  .nav-menu{position:static}
  .nav-menu-panel,.nav-menu-panel-right{
    position:static;
    grid-column:1/-1;
    min-width:0;
    margin-top:3px;
    box-shadow:none;
    border-radius:10px;
  }
  .nav-menu-panel::before{display:none}
  .nav-menu[open]{grid-column:1/-1}
  .nav-menu[open]>summary{margin-bottom:3px}
  .container{width:min(94vw,1160px);margin-top:24px}
}


/* v1.8.0 Team Hub */
.team-hub-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:30px}
.team-hub-intro p{max-width:680px}
.hub-rider-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.hub-rider-card{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit}
.hub-rider-card:hover{transform:translateY(-1px);border-color:rgba(7,90,120,.28)}
.hub-rider-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--iea-deep);color:#fff;font-family:Georgia,serif;font-weight:700;letter-spacing:.03em;flex:0 0 auto}
.hub-rider-card h3,.hub-event-card h3,.action-row h3,.attention-card h3{margin:.2rem 0}
.hub-rider-card p{margin:.15rem 0}
.hub-event-list,.action-stack{display:grid;gap:12px}
.hub-event-card{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}
.hub-event-main>p{margin:.25rem 0 .5rem}
.rsvp-block{margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}
.rsvp-riders{display:grid;gap:7px;margin-top:9px}
.rsvp-rider{display:grid;grid-template-columns:minmax(140px,1fr) auto auto;gap:10px;align-items:center;padding:7px 0}
.event-rsvp-note{margin-top:10px;padding:9px 11px;border-radius:10px;background:var(--soft)}
.action-row{display:flex;align-items:center;justify-content:space-between;gap:22px}
.action-row.is-complete{opacity:.65}
.action-copy{min-width:0}
.action-copy p{margin:.35rem 0}
.action-row-actions{flex:0 0 auto;align-items:center}
.action-row-actions form{margin:0}
.action-owner{font-size:.9rem;color:var(--muted);text-align:right}
.attention-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.attention-card{display:flex;flex-direction:column;gap:5px;text-decoration:none;color:inherit}
.attention-card>strong{font-family:Georgia,serif;font-size:2rem;color:var(--iea-deep)}
.attention-item small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}
.status-going{background:#e4f3eb;color:#245f45}
.status-maybe{background:#fff2d8;color:#775713}
.status-not_going{background:#f7e4e2;color:#813d38}
@media(max-width:720px){
  .team-hub-intro{align-items:flex-start;flex-direction:column}
  .hub-event-card{grid-template-columns:auto 1fr}
  .rsvp-rider{grid-template-columns:1fr auto}
  .rsvp-rider .text-link{grid-column:1/-1}
  .action-row{align-items:flex-start;flex-direction:column}
  .action-row-actions{width:100%;flex-wrap:wrap}
  .action-owner{text-align:left}
}

/* v1.8.5 Historical Results */
.historical-results-form{display:grid;gap:22px}
.historical-result-grid{display:grid;gap:12px}
.historical-result-row{position:relative;display:grid;grid-template-columns:2fr .7fr .8fr 1.2fr 2fr;gap:12px;align-items:end;padding-top:28px}
.historical-row-number{position:absolute;top:10px;left:14px;font-size:.72rem;font-weight:800;letter-spacing:.1em;color:var(--muted)}
.historical-result-row .field-row{margin:0}
@media(max-width:900px){.historical-result-row{grid-template-columns:1fr 1fr}.historical-result-row .field-season_class,.historical-result-row .field-notes{grid-column:1/-1}}
@media(max-width:560px){.historical-result-row{grid-template-columns:1fr}.historical-result-row .field-season_class,.historical-result-row .field-notes{grid-column:auto}}

.history-results{display:grid;gap:7px;margin:8px 0 20px}
.history-result-line{display:grid;grid-template-columns:1.6fr 1.6fr .5fr .7fr;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.55)}
.history-result-line small{display:block;color:var(--muted);margin-top:2px}
@media(max-width:720px){.history-result-line{grid-template-columns:1fr 1fr}.history-result-line>div:first-child{grid-column:1/-1}}

/* v1.8.6 class-specific rider scoring */
.class-point-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:8px 0 20px}
.class-point-total{padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.55)}
.class-point-total strong{display:block;font-size:1.4rem}
.class-point-total span{display:block;color:var(--muted);margin-top:2px}

/* v1.8.8 Record Book + Season Review standings alignment */
.stacked-metrics{display:grid;gap:5px;min-width:180px}
.stacked-metrics>div{display:flex;align-items:baseline;gap:7px}
.stacked-metrics strong{color:var(--iea);min-width:2.2em}
.stacked-metrics span{color:var(--muted);font-size:.82rem}
.record-rank{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--soft);color:var(--iea-deep);font-weight:900;font-size:.75rem}
.record-points{font-family:Georgia,serif;font-size:1.25rem;color:var(--iea)}
.record-award-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:16px}
.record-award-card h3{font-family:Georgia,serif;font-size:1.3rem;font-weight:500;margin:.55em 0 .35em}
.record-award-card p{margin:0;color:var(--muted);font-size:.9rem}
.record-book-note{margin-top:24px;font-size:.82rem}
@media(max-width:700px){.stacked-metrics{min-width:150px}}

/* v1.8.9 postseason competition tracks */
.finals-track{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:.63rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;background:var(--soft);color:var(--iea-deep)}
.finals-track-individual{background:#e8f4fb;color:#006c90}
.finals-track-team{background:#f4efe4;color:#7d622d}
.show-card-pills{display:flex;gap:6px;flex-wrap:wrap}

/* v1.8.10 historical finals entry */
.historical-result-row{grid-template-columns:1.1fr 2fr .65fr .75fr 1.1fr 1.8fr}
.historical-result-row .field-competition_track[hidden]{display:none}
@media(max-width:1050px){.historical-result-row{grid-template-columns:1fr 1.5fr 1fr}.historical-result-row .field-notes{grid-column:1/-1}}
@media(max-width:650px){.historical-result-row{grid-template-columns:1fr}.historical-result-row .field-notes{grid-column:auto}}

/* v1.8.11 elevated visual system + dark theme */
:root{
  --surface:#ffffff;
  --surface-raised:#ffffff;
  --surface-soft:#eef3f2;
  --surface-muted:#e5ecea;
  --heading:#10272d;
  --nav-text:#30464c;
  --hero-start:#102f35;
  --hero-end:#0b6f83;
  --hero-glow:rgba(255,255,255,.10);
}

body{
  background:
    radial-gradient(circle at 14% 0%,rgba(0,151,177,.055),transparent 32rem),
    linear-gradient(180deg,#f7f9f8 0,var(--paper) 36rem);
}
.topbar{
  background:rgba(250,252,251,.88);
  box-shadow:0 8px 30px rgba(24,49,55,.045);
}
.brand-copy strong,.page-title h1,.section-head h2{color:var(--heading)}
.card,.form-card,.auth-card,.class-card,.empty-state,.metric-row article,
.show-mini,.show-card,.team-panel,.contact-card,.past-list,.detail-band>div,
.stat-card{
  background:var(--surface);
}
.card,.form-card,.auth-card,.class-card,.empty-state,.show-mini,.show-card,
.team-panel,.contact-card,.past-list,.stat-card{
  box-shadow:0 10px 30px rgba(23,48,55,.055);
}
.class-card>header{background:linear-gradient(180deg,#fbfcfc,#f4f7f6)}
.entry-table th{background:#f8faf9;color:#65767c}
.entry-table tbody tr{transition:background .12s ease}
.entry-table tbody tr:hover{background:rgba(6,104,126,.035)}
.btn{box-shadow:0 4px 12px rgba(0,91,117,.08)}
.btn.secondary{background:rgba(255,255,255,.9)}
.hero,.show-hero{
  background:
    radial-gradient(circle at 82% 18%,rgba(255,255,255,.09),transparent 24rem),
    linear-gradient(118deg,var(--hero-start),var(--hero-end));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 24px 60px rgba(13,54,62,.15);
}
.dashboard-hero{min-height:270px}
.welcome-kicker{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  margin-bottom:17px;
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.19);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.82);
  font-size:.79rem;
  letter-spacing:.035em;
  backdrop-filter:blur(8px);
}
.welcome-kicker strong{color:#fff;font-weight:800}
.metric-row{
  box-shadow:0 12px 34px rgba(20,47,53,.055);
  border-radius:20px;
}
.metric-row article{padding:23px}
.content-section{margin-top:42px}
.section-head{margin-bottom:18px}
.section-head h2{letter-spacing:-.03em}
.theme-toggle{
  display:flex;
  align-items:center;
  gap:6px;
  min-height:38px;
  padding:8px 10px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--nav-text);
  font:inherit;
  font-size:.835rem;
  font-weight:760;
  cursor:pointer;
  transition:background .15s ease,color .15s ease;
}
.theme-toggle:hover{background:rgba(8,97,124,.075);color:var(--iea-deep)}
.theme-toggle-icon{font-size:1rem;line-height:1}
.theme-toggle-label{min-width:30px}
.nav-primary>a,.nav-utility>a,.nav-signout,.nav-menu>summary{color:var(--nav-text)}

/* Dark theme */
html[data-theme="dark"]{
  color-scheme:dark;
  --iea:#56b5cb;
  --iea-deep:#8dcbd8;
  --cyan:#48bce3;
  --ink:#dce8e8;
  --heading:#f0f5f4;
  --muted:#99aaad;
  --paper:#11191b;
  --white:#182224;
  --line:#2a3a3d;
  --soft:#1b292c;
  --sand:#2b2924;
  --surface:#172124;
  --surface-raised:#1a2629;
  --surface-soft:#1b292c;
  --surface-muted:#243236;
  --nav-text:#c8d6d7;
  --hero-start:#0e2429;
  --hero-end:#105f70;
  --danger:#e98998;
  --shadow:0 18px 46px rgba(0,0,0,.24);
}
html[data-theme="dark"] body{
  background:
    radial-gradient(circle at 13% 0%,rgba(40,139,159,.10),transparent 34rem),
    linear-gradient(180deg,#0f1719 0,#11191b 36rem);
  color:var(--ink);
}
html[data-theme="dark"] .topbar{
  background:rgba(16,25,27,.91);
  border-bottom-color:#26373a;
  box-shadow:0 8px 32px rgba(0,0,0,.18);
}
html[data-theme="dark"] .brand-copy small{color:#8ea2a5}
html[data-theme="dark"] .brand-mark{background:#154d59;color:#e7f7f8}
html[data-theme="dark"] .nav-primary>a:hover,
html[data-theme="dark"] .nav-utility>a:hover,
html[data-theme="dark"] .theme-toggle:hover,
html[data-theme="dark"] .nav-menu>summary:hover,
html[data-theme="dark"] .nav-menu[open]>summary{
  background:#1c3034;
  color:#9bd6e2;
}
html[data-theme="dark"] .nav-signout{color:#d5b4b9}
html[data-theme="dark"] .nav-signout:hover{background:#352326;color:#f2aab6}
html[data-theme="dark"] .nav-menu-panel{
  background:rgba(23,33,36,.99);
  border-color:#33474b;
  box-shadow:0 22px 52px rgba(0,0,0,.34);
}
html[data-theme="dark"] .nav-menu-panel::before{
  background:#172124;
  border-color:#33474b;
}
html[data-theme="dark"] .nav-menu-label{color:#80969a}
html[data-theme="dark"] .nav-menu-panel a{color:#cad8d9}
html[data-theme="dark"] .nav-menu-panel a:hover{background:#203438;color:#9bd6e2}
html[data-theme="dark"] .card,
html[data-theme="dark"] .form-card,
html[data-theme="dark"] .auth-card,
html[data-theme="dark"] .class-card,
html[data-theme="dark"] .empty-state,
html[data-theme="dark"] .metric-row article,
html[data-theme="dark"] .show-mini,
html[data-theme="dark"] .show-card,
html[data-theme="dark"] .team-panel,
html[data-theme="dark"] .contact-card,
html[data-theme="dark"] .past-list,
html[data-theme="dark"] .detail-band>div,
html[data-theme="dark"] .stat-card{
  background:var(--surface);
  border-color:var(--line);
  box-shadow:0 10px 30px rgba(0,0,0,.16);
}
html[data-theme="dark"] .class-card>header{background:linear-gradient(180deg,#1b282b,#172124)}
html[data-theme="dark"] .entry-table th{background:#142023;color:#8ea3a7}
html[data-theme="dark"] .entry-table tbody tr:hover{background:#1b292c}
html[data-theme="dark"] .btn.secondary{background:#1a282b;color:#8dd0dd;border-color:#365057}
html[data-theme="dark"] .filter-tabs a{background:#172124;border-color:#304449;color:#9eafb2}
html[data-theme="dark"] .filter-tabs a:hover,
html[data-theme="dark"] .filter-tabs a.active{background:#203438;border-color:#4a8290;color:#a8dce5}
html[data-theme="dark"] .form-card input,
html[data-theme="dark"] .form-card select,
html[data-theme="dark"] .form-card textarea,
html[data-theme="dark"] .auth-card input{
  background:#10191b;
  border-color:#3a4c50;
  color:#e3eeee;
}
html[data-theme="dark"] .form-card label,
html[data-theme="dark"] .field-wrap label{color:#b4c4c6}
html[data-theme="dark"] .flash{background:#183126;border-color:#29533c;color:#d8eadf}
html[data-theme="dark"] .event-row p,
html[data-theme="dark"] .announcement p{color:#a9b9bc}
html[data-theme="dark"] .datebox,
html[data-theme="dark"] .show-date{background:#223237}
html[data-theme="dark"] .show-card-date{background:#1b292c;border-right-color:#2b3c40}
html[data-theme="dark"] .past-list a:hover{background:#1b292c}
html[data-theme="dark"] .contact-strip>span{background:#172124}
html[data-theme="dark"] .status-pill{background:#203438;color:#a8dce5}
html[data-theme="dark"] .status-complete{background:#1e382b;color:#8fd4ab}
html[data-theme="dark"] .status-cancelled{background:#3a2428;color:#efacb6}
html[data-theme="dark"] .status-registration{background:#173641;color:#82cfe8}
html[data-theme="dark"] .status-entered{background:#383126;color:#d9c18b}
html[data-theme="dark"] .point-badge{background:#383126;color:#dec98e}
html[data-theme="dark"] progress{accent-color:#55aec2}
html[data-theme="dark"] footer{color:#82969a}

@media(max-width:940px){
  .theme-toggle-label{display:none}
  .theme-toggle{padding:8px}
}

/* v1.8.12 dark-theme surface consistency */
html[data-theme="dark"] .rider-card,
html[data-theme="dark"] .show-card-main,
html[data-theme="dark"] .parent-directory-card,
html[data-theme="dark"] .committee-card,
html[data-theme="dark"] .planning-card,
html[data-theme="dark"] .notification-card,
html[data-theme="dark"] .availability-card,
html[data-theme="dark"] .volunteer-card,
html[data-theme="dark"] .hub-rider-card,
html[data-theme="dark"] .hub-event-card,
html[data-theme="dark"] .action-row{
  background:var(--surface);
  border-color:var(--line);
  color:var(--ink);
}
html[data-theme="dark"] .rider-card{
  box-shadow:0 12px 32px rgba(0,0,0,.20);
}
html[data-theme="dark"] .rider-card:hover{
  border-color:#42636a;
  box-shadow:0 18px 42px rgba(0,0,0,.28);
}
html[data-theme="dark"] .rider-card h3,
html[data-theme="dark"] .rider-card strong,
html[data-theme="dark"] .contact-card h3,
html[data-theme="dark"] .ops-main h3{
  color:var(--heading);
}
html[data-theme="dark"] .rider-card p,
html[data-theme="dark"] .rider-card small{
  color:var(--muted);
}
html[data-theme="dark"] .avatar,
html[data-theme="dark"] .contact-avatar{
  background:linear-gradient(135deg,#203337,#17282c);
  color:#91d2df;
}
html[data-theme="dark"] .class-chip{
  background:#203438;
  color:#a5d9e3;
}
html[data-theme="dark"] .progress-numbers>div,
html[data-theme="dark"] .event-rsvp-note{
  background:#1d2c2f;
}

/* v1.8.13 premium barn-club / equestrian-program visual language */
:root{
  --club-brass:#9a7a43;
  --club-brass-soft:#d8c8a8;
  --club-cream:#f3efe6;
}
.club-hero{position:relative;overflow:hidden}
.club-hero::after{
  content:"";
  position:absolute;
  right:-70px;bottom:-165px;
  width:360px;height:360px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:50%;
  box-shadow:0 0 0 34px rgba(255,255,255,.025),0 0 0 68px rgba(255,255,255,.018);
  pointer-events:none;
}
.club-hero .hero-copy{position:relative;z-index:1;max-width:720px}
.club-hero h1{max-width:720px;font-size:clamp(2.65rem,5.4vw,5rem);line-height:.94;letter-spacing:-.055em}
.club-hero p{max-width:610px;font-size:1.04rem}
.club-summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin:-28px 24px 0;
  position:relative;
  z-index:3;
  background:rgba(255,255,255,.96);
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:0 18px 45px rgba(22,48,54,.11);
  overflow:hidden;
}
.club-summary article{padding:22px 24px;min-width:0}
.club-summary article+article{border-left:1px solid var(--line)}
.club-summary-label{
  display:block;
  margin-bottom:7px;
  color:var(--club-brass);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.club-summary strong{
  display:block;
  color:var(--heading);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.75rem;
  font-weight:500;
  line-height:1;
}
.club-summary small{
  display:block;
  margin-top:7px;
  overflow:hidden;
  color:var(--muted);
  font-size:.76rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Editorial rider roster */
.rider-grid{align-items:stretch}
.club-rider-card{
  display:block;
  padding:0;
  overflow:hidden;
  border-radius:17px;
  background:var(--surface);
  text-decoration:none;
}
.rider-card-portrait{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  background:linear-gradient(145deg,#dbe8e6,#c6d9d6);
}
.rider-card-portrait::after{
  content:"";
  position:absolute;inset:auto 0 0;
  height:40%;
  background:linear-gradient(transparent,rgba(8,32,38,.16));
  pointer-events:none;
}
.rider-card-portrait img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.club-rider-card:hover .rider-card-portrait img{transform:scale(1.025)}
.rider-card-portrait .avatar{
  width:100%;height:100%;
  display:grid;place-items:center;
  border-radius:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:2.5rem;
  letter-spacing:-.05em;
}
.rider-card-copy{padding:19px 20px 20px}
.rider-card-copy h3{
  margin:5px 0 3px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.42rem;
  font-weight:500;
  letter-spacing:-.025em;
}
.rider-card-team{margin:0;color:var(--muted);font-size:.82rem}
.rider-card-classes{display:flex;flex-wrap:wrap;gap:5px;margin-top:14px}
.rider-card-classes span{
  padding:4px 7px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--muted);
  font-size:.65rem;
  line-height:1.1;
}
.rider-card-link{
  display:block;
  margin-top:17px;
  padding-top:13px;
  border-top:1px solid var(--line);
  color:var(--iea-deep);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.055em;
  text-transform:uppercase;
}

/* Honors-board Record Book */
.record-book-intro{
  padding-bottom:26px;
  border-bottom:1px solid var(--line);
}
.record-book-intro h1{font-size:clamp(3rem,6vw,5.6rem);line-height:.92}
.record-book-deck{
  max-width:640px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.12rem!important;
  font-style:italic;
}
.honors-board{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:26px 0 44px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.honors-board article{
  padding:28px 24px;
  text-align:center;
}
.honors-board article+article{border-left:1px solid var(--line)}
.honors-board strong{
  display:block;
  color:var(--iea-deep);
  font-family:Georgia,"Times New Roman",serif;
  font-size:2.8rem;
  font-weight:400;
  line-height:1;
}
.honors-board span{
  display:block;
  margin-top:9px;
  color:var(--club-brass);
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.record-book-table tbody tr:first-child .record-rank{
  background:var(--club-brass);
  color:white;
}
.record-award-card{position:relative;overflow:hidden}
.record-award-card::before{
  content:"";
  position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--club-brass-soft);
}

/* A little less "boxed dashboard", a little more editorial rhythm */
.dashboard-grid .card,.dashboard-grid .show-card{border-radius:16px}
.content-section>.section-head{padding-bottom:10px;border-bottom:1px solid rgba(131,151,154,.18)}
.eyebrow{letter-spacing:.135em}

/* Dark club treatment */
html[data-theme="dark"]{
  --club-brass:#c3a36a;
  --club-brass-soft:#725d38;
  --club-cream:#24241f;
}
html[data-theme="dark"] .club-summary{
  background:rgba(23,33,36,.97);
  border-color:#304246;
  box-shadow:0 18px 48px rgba(0,0,0,.27);
}
html[data-theme="dark"] .club-summary article+article{border-left-color:#304246}
html[data-theme="dark"] .rider-card-portrait{background:linear-gradient(145deg,#20363a,#17272a)}
html[data-theme="dark"] .rider-card-classes span{background:#1c2b2e;border-color:#304348;color:#a7b8ba}
html[data-theme="dark"] .rider-card-link{border-top-color:#2b3c40;color:#8ed0dc}
html[data-theme="dark"] .honors-board{border-color:#304246}
html[data-theme="dark"] .honors-board article+article{border-left-color:#304246}
html[data-theme="dark"] .record-book-intro{border-bottom-color:#304246}
html[data-theme="dark"] .content-section>.section-head{border-bottom-color:#2a3b3f}

@media(max-width:800px){
  .club-summary{grid-template-columns:1fr 1fr;margin:-20px 12px 0}
  .club-summary article:nth-child(3){border-left:0;border-top:1px solid var(--line)}
  .club-summary article:nth-child(4){border-top:1px solid var(--line)}
  .honors-board{grid-template-columns:1fr}
  .honors-board article+article{border-left:0;border-top:1px solid var(--line)}
}
@media(max-width:520px){
  .club-summary{grid-template-columns:1fr;margin:-14px 8px 0}
  .club-summary article+article,.club-summary article:nth-child(3){border-left:0;border-top:1px solid var(--line)}
  .club-hero h1{font-size:2.55rem}
}

/* v1.8.14 postseason advancement */
.advancement-badge{
  display:inline-flex;align-items:center;
  padding:5px 8px;border-radius:999px;
  background:#e5f3ea;color:#276448;
  font-size:.64rem;font-weight:900;letter-spacing:.075em;text-transform:uppercase;
}
.finals-team-place{
  display:grid;grid-template-columns:1fr auto;gap:5px 12px;align-items:center;
  margin-top:15px;padding-top:13px;border-top:1px solid var(--line);
}
.finals-team-place span{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:850}
.finals-team-place b{font-family:Georgia,serif;font-size:1.5rem;color:var(--heading)}
.finals-team-place em{grid-column:1/-1;color:#276448;font-size:.72rem;font-style:normal;font-weight:850}
html[data-theme="dark"] .advancement-badge{background:#1e382b;color:#98d7b1}
html[data-theme="dark"] .finals-team-place em{color:#98d7b1}

/* v1.9.0 Team Finance */
.finance-intro{
  position:relative;
  padding-bottom:28px;
  border-bottom:1px solid var(--line);
}
.finance-intro h1{
  font-size:clamp(3rem,6vw,5.3rem);
  line-height:.94;
  letter-spacing:-.055em;
}
.finance-stat-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin:26px 0 42px;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  background:var(--surface);
  box-shadow:0 14px 36px rgba(22,48,54,.07);
}
.finance-stat{
  padding:24px;
  min-width:0;
}
.finance-stat+.finance-stat{border-left:1px solid var(--line)}
.finance-stat span{
  display:block;
  margin-bottom:9px;
  color:var(--club-brass);
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.finance-stat strong{
  display:block;
  color:var(--heading);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.55rem,3vw,2.35rem);
  font-weight:500;
  letter-spacing:-.035em;
}
.finance-account-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
}
.finance-account-card{
  padding:22px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
  box-shadow:0 10px 28px rgba(22,48,54,.055);
}
.finance-account-card small{
  color:var(--club-brass);
  font-size:.63rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.finance-account-card h3{
  margin:7px 0 14px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.35rem;
  font-weight:500;
}
.finance-account-card>strong{
  display:block;
  margin-bottom:10px;
  color:var(--heading);
  font-family:Georgia,"Times New Roman",serif;
  font-size:2rem;
  font-weight:500;
}
.finance-account-card p{color:var(--muted);font-size:.78rem}
.finance-table td small{display:block;margin-top:3px;color:var(--muted)}
.finance-amount{font-variant-numeric:tabular-nums;font-weight:800;white-space:nowrap}
.finance-income{color:#277250}
.finance-expense{color:#9a4a42}
.finance-negative{color:#9a4a42;font-weight:800}
.finance-footnote{margin-top:18px;font-size:.76rem}
html[data-theme="dark"] .finance-stat-grid,
html[data-theme="dark"] .finance-account-card{
  background:var(--surface);
  border-color:#304246;
  box-shadow:0 14px 36px rgba(0,0,0,.18);
}
html[data-theme="dark"] .finance-stat+.finance-stat{border-left-color:#304246}
html[data-theme="dark"] .finance-income{color:#93d2ac}
html[data-theme="dark"] .finance-expense,
html[data-theme="dark"] .finance-negative{color:#e2a39e}
html[data-theme="dark"] .finance-intro{border-bottom-color:#304246}
@media(max-width:800px){
  .finance-stat-grid{grid-template-columns:1fr 1fr}
  .finance-stat:nth-child(3){border-left:0;border-top:1px solid var(--line)}
  .finance-stat:nth-child(4){border-top:1px solid var(--line)}
}
@media(max-width:520px){
  .finance-stat-grid{grid-template-columns:1fr}
  .finance-stat+.finance-stat,
  .finance-stat:nth-child(3){border-left:0;border-top:1px solid var(--line)}
}

/* v1.9.1 Family receivables */
.family-charge-stack{display:grid;gap:14px}
.family-charge-card{padding:22px}
.family-charge-main{display:flex;justify-content:space-between;gap:22px;align-items:flex-start}
.family-charge-main h3{margin:.25rem 0 .35rem}
.family-charge-main p{margin:0;color:var(--muted)}
.family-charge-money{text-align:right;white-space:nowrap}
.family-charge-money strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.7rem;font-weight:500}
.family-charge-money span{display:block;margin-top:4px;color:var(--muted);font-size:.78rem}
.family-ledger-lines{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.family-ledger-lines>div{display:flex;justify-content:space-between;gap:20px;padding:6px 0;font-size:.86rem}
.family-ledger-lines small{color:var(--muted);margin-left:5px}
.compact-actions{margin-top:12px;gap:14px}
.inline-form{display:inline}
.assistance-card .assistance-claim-line{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding-top:9px;margin-top:9px;border-top:1px solid var(--line);font-size:.78rem}
.assistance-card .assistance-claim-line strong{font-family:inherit;font-size:.85rem;font-weight:800;margin:0}
html[data-theme="dark"] .family-ledger-lines,
html[data-theme="dark"] .assistance-card .assistance-claim-line{border-color:#304246}
@media(max-width:700px){
  .family-charge-main{display:block}
  .family-charge-money{text-align:left;margin-top:14px}
  .assistance-card .assistance-claim-line{grid-template-columns:1fr auto}
  .assistance-card .assistance-claim-line a{grid-column:1/-1}
}

.finance-secondary-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:-20px 0 38px}
.finance-summary-link{display:block;padding:18px 22px;border:1px solid var(--line);border-radius:15px;background:var(--surface);text-decoration:none}
.finance-summary-link span,.finance-summary-link small{display:block}
.finance-summary-link span{color:var(--club-brass);font-size:.63rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.finance-summary-link strong{display:block;margin:6px 0 4px;color:var(--heading);font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;font-weight:500}
.finance-summary-link small{color:var(--muted)}
html[data-theme="dark"] .finance-summary-link{border-color:#304246}
@media(max-width:600px){.finance-secondary-summary{grid-template-columns:1fr}}

/* v1.9.2 contextual back navigation */
.page-back-nav{
  margin:0 0 18px;
  min-height:28px;
}
.page-back-nav a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--muted);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.025em;
  text-decoration:none;
  transition:color .15s ease, transform .15s ease;
}
.page-back-nav a:hover{
  color:var(--heading);
  transform:translateX(-2px);
}
html[data-theme="dark"] .page-back-nav a{color:#9eb0b4}
html[data-theme="dark"] .page-back-nav a:hover{color:#f3eee3}

/* v1.9.2.1 navigation polish */
.mobile-nav-toggle{display:none}

@media(max-width:760px){
  .topbar{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:10px 14px;
  }
  .brand{min-width:0}
  .mobile-nav-toggle{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:40px;
    padding:8px 11px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--surface);
    color:var(--nav-text);
    font:inherit;
    font-size:.8rem;
    font-weight:800;
    cursor:pointer;
  }
  .mobile-nav-toggle-icon{
    display:grid;
    gap:3px;
    width:15px;
  }
  .mobile-nav-toggle-icon i{
    display:block;
    height:1.5px;
    border-radius:999px;
    background:currentColor;
    transition:transform .15s ease,opacity .15s ease;
  }
  .mobile-nav-toggle[aria-expanded="true"] .mobile-nav-toggle-icon i:nth-child(1){
    transform:translateY(4.5px) rotate(45deg);
  }
  .mobile-nav-toggle[aria-expanded="true"] .mobile-nav-toggle-icon i:nth-child(2){
    opacity:0;
  }
  .mobile-nav-toggle[aria-expanded="true"] .mobile-nav-toggle-icon i:nth-child(3){
    transform:translateY(-4.5px) rotate(-45deg);
  }
  .main-nav{
    display:none;
    grid-column:1/-1;
    grid-template-columns:1fr;
    gap:8px;
    width:100%;
    padding-top:6px;
  }
  .main-nav.is-open{display:grid}
  .nav-primary,.nav-utility{
    display:grid;
    grid-template-columns:1fr;
    gap:4px;
    width:100%;
  }
  .nav-utility{
    padding-top:8px;
    border-top:1px solid var(--line);
  }
  .nav-primary>a,.nav-utility>a,.nav-signout,.nav-menu>summary,.theme-toggle{
    min-height:44px;
    width:100%;
    justify-content:space-between;
    padding:11px 12px;
    border-radius:10px;
  }
  .theme-toggle{
    border:0;
    background:transparent;
    color:var(--nav-text);
  }
  .theme-toggle-label{display:inline;min-width:0}
  .nav-menu{position:static}
  .nav-menu[open]{grid-column:auto}
  .nav-menu-panel,.nav-menu-panel-right{
    position:static;
    width:100%;
    min-width:0;
    margin:2px 0 4px;
    padding:5px;
    border-radius:10px;
    box-shadow:none;
  }
  .nav-menu-panel a{
    min-height:42px;
    display:flex;
    align-items:center;
    padding:10px 12px;
  }
  .nav-menu-label{padding:8px 12px 5px}
  .main-nav form{width:100%}
}
html[data-theme="dark"] .mobile-nav-toggle{
  background:var(--surface);
  border-color:#33474b;
  color:#cad8d9;
}

/* v1.9.2.2 active navigation + mobile tables */
.nav-primary>a.is-active,
.nav-utility>a.is-active,
.nav-menu.has-active>summary,
.nav-menu-panel a.is-active{
  color:var(--iea-deep);
  background:rgba(8,97,124,.095);
}
.nav-primary>a.is-active::before,
.nav-utility>a.is-active::before{
  content:"";
  position:absolute;
  left:7px;
  right:7px;
  bottom:3px;
  height:2px;
  border-radius:999px;
  background:var(--cyan);
}
.nav-menu-panel a.is-active{
  font-weight:850;
}
html[data-theme="dark"] .nav-primary>a.is-active,
html[data-theme="dark"] .nav-utility>a.is-active,
html[data-theme="dark"] .nav-menu.has-active>summary,
html[data-theme="dark"] .nav-menu-panel a.is-active{
  background:#203438;
  color:#a8dce5;
}

.entry-table-wrap{
  position:relative;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
}
.entry-table-wrap::after{
  content:"";
  position:sticky;
  right:0;
  display:block;
  width:18px;
  height:1px;
  pointer-events:none;
}
@media(max-width:760px){
  .nav-primary>a.is-active::before,
  .nav-utility>a.is-active::before{
    top:8px;
    bottom:8px;
    left:2px;
    right:auto;
    width:3px;
    height:auto;
  }
  .entry-table{
    min-width:720px;
  }
  .entry-table th,
  .entry-table td{
    padding-left:11px;
    padding-right:11px;
    white-space:nowrap;
  }
  .entry-table td small{
    white-space:normal;
    min-width:150px;
  }
  .entry-table-wrap{
    margin-left:-2vw;
    margin-right:-2vw;
    padding:0 2vw 8px;
    scroll-padding-inline:2vw;
  }
  .entry-table-wrap::before{
    content:"Swipe table horizontally →";
    display:block;
    position:sticky;
    left:0;
    width:max-content;
    margin:0 0 7px;
    padding:5px 8px;
    border-radius:999px;
    background:var(--soft);
    color:var(--muted);
    font-size:.66rem;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
    z-index:2;
  }
}

/* v1.9.2.2 mobile action accessibility + form protection */
@media(max-width:760px){
  .mobile-sticky-actions{
    position:sticky;
    bottom:max(8px, env(safe-area-inset-bottom));
    z-index:14;
    margin-top:14px;
    padding:8px;
    border:1px solid var(--line);
    border-radius:14px;
    background:color-mix(in srgb, var(--surface) 94%, transparent);
    box-shadow:0 10px 28px rgba(17,45,54,.14);
    backdrop-filter:blur(10px);
  }
  .mobile-sticky-actions .btn{
    flex:1 1 auto;
    min-height:44px;
  }
}
html[data-theme="dark"] .mobile-sticky-actions{
  border-color:#304246;
  box-shadow:0 12px 32px rgba(0,0,0,.28);
}

/* v1.9.2.3 version documentation link */
.site-version-link{
  color:inherit;
  text-decoration:none;
  border-bottom:1px dotted currentColor;
  text-underline-offset:3px;
}
.site-version-link:hover,
.site-version-link:focus-visible{
  color:var(--cyan);
  border-bottom-style:solid;
}

/* v1.9.3 finance reporting */
.report-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}
.report-link-card{text-decoration:none;color:inherit;padding:24px}
.report-link-card small{color:var(--club-brass);font-weight:900;letter-spacing:.12em}
.report-link-card h2{margin:.3rem 0 .45rem}
.report-link-card p{color:var(--muted)}
.report-link-card span{font-weight:800;color:var(--iea-deep)}
.report-season-picker,.report-filter-bar{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.report-season-picker label,.report-filter-bar label{display:grid;gap:5px;font-size:.72rem;font-weight:800;color:var(--muted)}
.report-season-picker select,.report-filter-bar select{min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink)}
.report-season-picker-inline{margin-bottom:14px;justify-content:flex-end}
.report-filter-bar{margin:0 0 22px}
.report-net-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.report-net-summary>div{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.report-net-summary span,.report-net-summary strong{display:block}
.report-net-summary span{font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.report-net-summary strong{margin-top:5px;font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;font-weight:500}
.finance-positive{color:#2c7657}
.finance-attention-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.finance-attention-grid .attention-card-alert{border-top:3px solid #9f4f56}
.finance-attention-grid .attention-card-warn{border-top:3px solid #a17a2d}
html[data-theme="dark"] .finance-positive{color:#83c6a7}
@media(max-width:760px){
  .report-card-grid,.finance-attention-grid,.report-net-summary{grid-template-columns:1fr}
  .report-season-picker-inline{justify-content:flex-start}
  .report-filter-bar>*{flex:1 1 100%}
  .report-filter-bar .btn{width:100%}
}
@media print{
  .topbar,.page-back-nav,.actions,.report-season-picker,.report-filter-bar,footer{display:none!important}
  .container{width:100%;margin:0}
  .entry-table{min-width:0!important}
}

/* v1.9.4 show finance + funding policy */
.finance-policy-callout{display:grid;gap:4px;margin:0 0 20px;padding:16px 18px;border-left:3px solid var(--club-brass)}
.policy-chip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.policy-chip-grid>span{display:grid;gap:4px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.policy-chip-grid small{font-size:.65rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.funding-policy-summary{margin-bottom:20px}
@media(max-width:760px){.policy-chip-grid{grid-template-columns:1fr 1fr}}

/* v1.9.4.1 hardening */
.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0;padding:12px 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pagination-bar a{font-weight:800;text-decoration:none}
.pagination-bar span{font-size:.78rem;color:var(--muted);text-align:center}
@media(max-width:760px){.pagination-bar{flex-wrap:wrap;justify-content:center}.pagination-bar span{order:-1;flex-basis:100%}}

/* v1.9.4.2 multi-show allocations */
.hosted-show-pl .finance-stat strong{font-variant-numeric:tabular-nums}
.finance-table td small{display:block;margin-top:3px}

/* v1.9.5 operational & audit polish */
.finance-filter-panel{margin:18px 0 24px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.filter-grid label{display:flex;flex-direction:column;gap:6px;font-size:.82rem;font-weight:700}
.filter-grid input,.filter-grid select{width:100%}
.button-link{border:0;background:none;padding:0;font:inherit;cursor:pointer}
@media print{
  header,.site-header,.primary-nav,.page-back-nav,.actions,.no-print,footer,.site-footer{display:none!important}
  body{background:#fff!important;color:#111!important}
  main{max-width:none!important;padding:0!important}
  .content-section,.finance-stat,.entry-table-wrap{break-inside:avoid;box-shadow:none!important}
  .entry-table{font-size:10pt}
  a{color:inherit!important;text-decoration:none!important}
}

/* v1.9.6 fundraising */
.fundraising-progress{height:8px;border-radius:999px;overflow:hidden;background:var(--line);margin:.55rem 0}
.fundraising-progress span{display:block;height:100%;background:var(--cyan);border-radius:999px}
.fundraising-progress-large{height:12px;margin:0 0 1.25rem}


/* v1.9.7 prize-list / show-day schedule */
.schedule-shift-form {
  display: grid;
  gap: 1rem;
}
.schedule-shift-form label {
  display: grid;
  gap: .4rem;
  max-width: 34rem;
}
.schedule-shift-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.schedule-table input[type="time"],
.schedule-table input[type="text"],
.schedule-table input[type="number"] {
  min-width: 7.25rem;
  width: 100%;
}
.schedule-table input[type="text"] {
  min-width: 10rem;
}
.schedule-order-input {
  max-width: 5rem;
}
.schedule-table td small {
  display: block;
  margin-top: .3rem;
}
.schedule-my-class {
  box-shadow: inset 3px 0 0 rgba(0, 174, 239, .75);
}
.schedule-save-actions {
  margin-top: 1rem;
}

@media (max-width: 760px) {
  .schedule-table {
    min-width: 760px;
  }
  .schedule-shift-buttons .btn {
    flex: 1 1 28%;
  }
}

/* v1.9.7 show day dashboard */
.show-day-rider-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.show-day-rider-card{padding:1rem;border:1px solid var(--border-color,rgba(255,255,255,.12));border-radius:12px}
.show-day-rider-card>div:first-child{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}
.show-day-status-form{display:grid;grid-template-columns:1fr;gap:.5rem;margin-top:.75rem}
.show-day-attention-list{display:grid;gap:.5rem;margin:.5rem 0 0;padding-left:1.25rem}
@media (max-width:760px){.show-day-rider-grid{grid-template-columns:1fr}.show-day-rider-card .btn{width:100%}}

/* v1.9.7 My Show Day + general-use polish */
.my-show-day-hero{
  align-items:flex-end;
}
.my-show-day-actions{
  align-items:center;
}
.my-show-day-section{
  scroll-margin-top:88px;
}
.my-show-day-rider-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
}
.my-show-day-rider-heading>div{
  display:grid;
  gap:.2rem;
}
.my-show-day-class-list{
  display:grid;
  gap:.65rem;
}
.my-show-day-class{
  display:grid;
  grid-template-columns:minmax(92px,120px) 1fr;
  gap:1rem;
  align-items:start;
  padding:1rem 0;
  border-top:1px solid var(--line);
}
.my-show-day-class:first-child{
  border-top:0;
  padding-top:0;
}
.my-show-day-time{
  font-size:1.02rem;
  font-weight:850;
  font-variant-numeric:tabular-nums;
}
.my-show-day-class-main{
  display:grid;
  gap:.2rem;
}
.my-show-day-class-main>strong{
  font-size:1.02rem;
}
.my-show-day-class-main>span{
  color:var(--muted);
}
.my-show-day-job{
  display:grid;
  gap:.45rem;
}
.my-show-day-job form{
  margin-top:.35rem;
}
.my-show-day-open-jobs{
  margin-top:1rem;
  padding:.8rem 1rem;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--soft);
}
.my-show-day-update{
  display:grid;
  gap:.45rem;
}
.my-show-day-update>div{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:baseline;
}
.my-show-day-status-form select,
.my-show-day-status-form input,
.my-show-day-status-form .btn{
  min-height:44px;
}

@media(max-width:760px){
  .my-show-day-hero{
    align-items:stretch;
  }
  .my-show-day-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .my-show-day-actions .btn{
    width:100%;
    min-height:44px;
  }
  .my-show-day-class{
    grid-template-columns:88px 1fr;
    gap:.75rem;
    padding:.85rem 0;
  }
  .my-show-day-time{
    font-size:.93rem;
  }
  .my-show-day-rider-card{
    padding:1rem;
  }
  .my-show-day-status-form{
    gap:.65rem;
  }
  .my-show-day-status-form .btn{
    position:sticky;
    bottom:max(8px, env(safe-area-inset-bottom));
    z-index:4;
  }
  .my-show-day-job .btn{
    width:100%;
    min-height:44px;
  }
  .my-show-day-update>div{
    align-items:flex-start;
  }
}

/* v1.9.8 historical data & season management */
.season-history-card{
  display:grid;
  gap:1rem;
}
.season-history-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.65rem;
  margin-top:1rem;
}
.season-history-stats>span{
  display:grid;
  gap:.15rem;
  padding:.75rem;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--soft);
}
.season-history-stats strong{
  font-size:1.1rem;
  font-variant-numeric:tabular-nums;
}
.season-history-stats small{
  color:var(--muted);
}
.season-history-summary{
  margin:1rem 0 1.5rem;
}
.season-archive-callout{
  margin-bottom:1.5rem;
}
@media(max-width:760px){
  .season-history-stats{
    grid-template-columns:repeat(3,1fr);
  }
  .season-history-card .actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .season-history-card .btn{
    width:100%;
  }
}

/* v1.9.8 historical import */
.historical-import-upload{
  max-width:42rem;
}
.historical-import-table small{
  display:block;
  margin-top:.2rem;
}
.historical-import-table .import-message{
  max-width:28rem;
  white-space:normal;
  line-height:1.35;
}
.import-error{
  font-weight:750;
}
.import-warning{
  color:var(--muted);
}
.import-row-error{
  box-shadow:inset 3px 0 0 rgba(170,70,70,.75);
}
.import-row-duplicate{
  box-shadow:inset 3px 0 0 rgba(180,140,45,.7);
}
.import-row-ready{
  box-shadow:inset 3px 0 0 rgba(55,130,90,.65);
}
.historical-import-commit button[disabled]{
  opacity:.55;
  cursor:not-allowed;
}
@media(max-width:760px){
  .historical-import-upload .btn,
  .historical-import-commit .btn{
    width:100%;
    min-height:44px;
  }
  .historical-import-table{
    min-width:980px;
  }
}

/* v1.9.8 historical result correction */
.history-result-actions{
  display:flex;
  gap:.7rem;
  justify-content:flex-end;
  align-items:center;
}
.danger-link{
  color:var(--danger, #9f3a38);
}
.historical-result-edit-form{
  max-width:48rem;
}
.delete-warning-card{
  max-width:48rem;
}
@media(max-width:760px){
  .history-result-actions{
    justify-content:flex-start;
  }
  .historical-result-edit-form .actions,
  .delete-warning-card .actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .historical-result-edit-form .btn,
  .delete-warning-card .btn{
    width:100%;
    min-height:44px;
  }
}

/* v1.9.8 Preview 5 — season readiness & historical polish */
.season-status-panel{
  display:grid;
  grid-template-columns:minmax(180px,.6fr) 1.4fr;
  gap:1.25rem;
  align-items:center;
  padding:1rem 0 1.2rem;
  margin-bottom:1rem;
  border-bottom:1px solid var(--border);
}
.season-status-panel strong{
  display:block;
  margin-top:.25rem;
  font-size:1.35rem;
}
.season-status-panel p{
  margin:0;
  color:var(--muted);
}
.readiness-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.8rem;
  margin:1.2rem 0 1.6rem;
}
.readiness-card{
  min-width:0;
}
.readiness-card small{
  display:block;
  color:var(--muted);
}
.readiness-card strong{
  display:block;
  margin:.3rem 0;
  font-size:1.8rem;
}
.readiness-card p{
  margin:0;
  font-size:.9rem;
  color:var(--muted);
}
.archive-confirm-card{
  margin-top:1.4rem;
}
.historical-reconciliation{
  margin-bottom:1.25rem;
}
.reconciliation-stats{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.season-readiness-good{
  border-left:3px solid currentColor;
}
@media(max-width:900px){
  .readiness-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .reconciliation-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .season-status-panel{
    grid-template-columns:1fr;
    gap:.55rem;
  }
  .readiness-grid,
  .reconciliation-stats{
    grid-template-columns:1fr;
  }
  .archive-confirm-card .actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .archive-confirm-card .btn{
    width:100%;
    min-height:44px;
  }
}

