*{box-sizing:border-box}body{margin:0;background:#eef2f5;color:#172b38;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bc541d}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}[hidden]{display:none!important}.skip{position:absolute;top:-100px;left:1rem;background:white;padding:1rem;z-index:9}.skip:focus{top:1rem}.preview-bar{padding:9px 24px;background:#fbe9d9;color:#713518;text-align:center;font-size:.875rem;border-bottom:1px solid #edcdb6}.frame{display:grid;grid-template-columns:224px 1fr;min-height:calc(100vh - 40px)}.rail{background:#132b39;color:#e1ebf0;padding:30px 20px;display:flex;flex-direction:column}.brand{font-weight:800;letter-spacing:.04em;line-height:1.15;font-size:1.4rem}.brand span{color:#ffb075}.brand small{display:block;margin-top:10px;letter-spacing:.16em;font-size:.7rem;font-weight:500}.rail nav{margin-top:55px}.nav-label{font-size:.75rem;letter-spacing:.15em;color:#b8cbd6;margin:0 12px 14px}.current-nav{display:block;color:white;background:#294654;border-left:3px solid #ef9256;padding:12px 14px;border-radius:0 6px 6px 0;text-decoration:none;font-weight:650}.rail-note{margin-top:auto;padding-top:36px;font-size:.875rem;color:#bbcdd7}.rail-note strong{display:block;color:#fff;margin-bottom:5px}.workspace{min-width:0}.topbar{min-height:82px;background:white;border-bottom:1px solid #d7e0e5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 36px}.breadcrumb{font-size:.875rem;color:#546776}.identity{display:flex;align-items:center;gap:14px}.identity strong,.identity small{display:block}.identity small{font-size:.8rem;color:#586d79}.button{border:1px solid #b9c7d0;background:white;border-radius:7px;padding:9px 15px;min-height:44px;color:#243c4b;font-weight:650}.button.primary{background:#ad471b;border-color:#ad471b;color:white}.button.subtle{border-color:transparent;background:#edf2f5}.button:hover:not(:disabled){filter:brightness(.95)}main{max-width:1440px;margin:auto;padding:30px 36px 48px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}h1{font-size:2rem;line-height:1.2;letter-spacing:-.04em;margin:0 0 8px}p{margin:0}.muted{color:#5a6f7d}.eyebrow{font-size:.75rem;font-weight:750;letter-spacing:.13em;color:#805032;margin-bottom:8px}.filters{background:white;border:1px solid #d6e0e6;border-radius:10px;padding:20px;display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:16px;align-items:end}label{display:flex;flex-direction:column;gap:6px;font-size:.875rem;font-weight:650}input,select{width:100%;min-width:0;border:1px solid #afc0cd;border-radius:6px;background:white;color:#163445;padding:10px;min-height:44px}.coach-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.coach-field{grid-column:span 2}.hint{font-size:.8rem;color:#607582;margin-top:5px}.status{min-height:24px;margin:13px 0;color:#4f6573;font-size:.875rem}.status.error{color:#a32b25;font-weight:650}.session-panel{background:#fff;border:1px solid #d6e0e6;border-radius:10px;overflow:hidden}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 22px;border-bottom:1px solid #e1e7eb}.panel-title h2{font-size:1rem;margin:0}.panel-title span{font-size:.875rem;color:#576b78}.session-choice{padding:18px 22px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end}.pager{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pager span{font-size:.875rem}.session-detail{padding:20px 22px;border-top:1px solid #e1e7eb;background:#f9fbfc;display:flex;justify-content:space-between;gap:20px;align-items:start}.session-detail h2{font-size:1.25rem;margin:0 0 5px}.tags{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tag{font-size:.8rem;background:#e6eef3;color:#274b61;border-radius:5px;padding:4px 9px;font-weight:650}.tag.gate{background:#ede7f8;color:#654188}.tag.cancelled{background:#fce7e4;color:#912e26}.team{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.coach-chip{font-size:.875rem;border:1px solid #cfdae2;border-radius:7px;background:#fff;padding:8px 12px}.coach-chip span{font-size:.75rem;color:#5d7280;margin-left:8px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.stat{padding:17px 20px;background:white;border:1px solid #d6e0e6;border-radius:9px}.stat span{font-size:.875rem;color:#586f7d}.stat strong{display:block;font-size:1.9rem;font-weight:720;margin-top:4px}.stat:nth-child(2){border-top:3px solid #3a816d}.stat:nth-child(3){border-top:3px solid #bd672e}.table-panel{background:white;border:1px solid #d6e0e6;border-radius:10px;overflow:hidden}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;background:#f4f7f9;color:#526b7b;padding:12px 22px}td{padding:14px 22px;border-top:1px solid #e6ecf0;font-size:.875rem}td strong{display:block;font-weight:650}td small{display:block;color:#637987;margin-top:2px}.badge{display:inline-block;white-space:nowrap;padding:4px 8px;border-radius:5px;background:#eef2f5;color:#526571;font-size:.8rem}.badge.checked{background:#e1f0e9;color:#235c45}.badge.late{background:#fff0d4;color:#774a10}.badge.excused{background:#e9e5f5;color:#5d467f}.table-foot{display:flex;justify-content:space-between;gap:16px;padding:16px 22px;border-top:1px solid #e0e7eb;font-size:.875rem}.read-only{color:#7b4f2d;background:#fff5eb;padding:12px 22px;border-top:1px solid #ebd8c7;font-size:.875rem}.empty{padding:42px 24px;text-align:center;background:#fff;border:1px dashed #adbeca;border-radius:10px}.empty h2{margin-top:0}.entry{max-width:540px;margin:50px auto;padding:32px;background:white;border:1px solid #d0dde5;border-radius:12px}.entry p{margin:12px 0 22px}.entry button{margin-top:20px}.preview-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:28px;font-size:.875rem}.preview-tools label{flex-direction:row;align-items:center;font-weight:400}.preview-tools input{width:18px;min-height:18px}.preview-tools p{color:#667985}dialog{border:1px solid #c3d1dc;border-radius:12px;max-width:500px;width:calc(100% - 32px);padding:28px;color:#1e3949}dialog::backdrop{background:#132b3988}dialog h2{margin-top:0}dialog p{margin:10px 0 20px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.footer-note{font-size:.8rem;color:#647985;margin-top:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1100px){.frame{grid-template-columns:180px 1fr}.rail{padding:24px 15px}.filters{grid-template-columns:1fr 1fr}.coach-field{grid-column:span 1}.coach-controls{grid-template-columns:1fr}main{padding:24px}.topbar{padding:16px 24px}.session-choice{grid-template-columns:1fr}.brand{font-size:1.15rem}}@media(max-width:720px){.frame{display:block}.rail{padding:16px 20px;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.rail nav{margin:0}.nav-label,.rail-note,.brand small{display:none}.brand{font-size:1rem}.current-nav{font-size:.875rem;padding:8px 12px}.topbar{padding:14px 18px;flex-wrap:wrap}.breadcrumb{display:none}.identity{width:100%;justify-content:space-between}.page-heading{align-items:start;flex-direction:column;gap:10px}main{padding:22px 16px}h1{font-size:1.75rem}.filters{padding:16px;gap:12px}.coach-field{grid-column:1/-1}.coach-controls{grid-template-columns:1fr 1fr}.filters>.button{grid-column:1/-1}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:14px}.session-detail{flex-direction:column}.tags{justify-content:start}.panel-title{flex-wrap:wrap;padding:14px 16px}.session-choice,.session-detail{padding:16px}.table-foot{flex-direction:column}.preview-bar{text-align:left;padding:9px 16px}th,td{padding:12px 14px}.category-column{display:none}.preview-tools{align-items:start}.entry{padding:22px}.table-scroll table{min-width:440px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s ease}} 

.coach-riders{margin:20px 0;padding:20px;background:white;border:1px solid #d6e0e6;border-radius:10px}.coach-riders h2{margin:0 0 8px;font-size:1.2rem}.coach-riders details{margin-top:14px;border:1px solid #d6e0e6;border-radius:8px;padding:12px 16px}.coach-riders summary{cursor:pointer;font-weight:650;min-height:30px}.coach-riders ul{list-style:none;padding:0;margin:10px 0}.coach-riders li{padding:9px 0;border-top:1px solid #e3e9ed;font-size:.875rem}.coach-riders li small{display:block;color:#536d7c}.coach-riders .pager{justify-content:flex-end;margin-top:12px}
#main>form{display:flex;flex-wrap:wrap;gap:16px;align-items:end;background:#fff;border:1px solid #d6e0e6;border-radius:10px;padding:20px}#main>form label{display:grid;gap:6px;font-weight:600;flex:1 1 180px}#main section{margin:20px 0;padding:20px;background:white;border:1px solid #d6e0e6;border-radius:10px;overflow-x:auto}#main section table{width:100%;border-collapse:collapse}#main section th{text-align:left}#main section td{border-top:1px solid #d6e0e6}#main section details{padding:16px;border:1px solid #d6e0e6;border-radius:8px;margin-top:12px}#main section li small{display:block;color:#536d7c}#main section button{margin:12px}#main section summary{cursor:pointer;font-weight:700}#main section select{width:100%}
#main>section{padding:20px;background:#fff;border:1px solid #d6e0e6;border-radius:10px;margin-top:20px}#main>section label{display:grid;gap:6px;margin:12px 0}#main>section .button{margin:6px}#main>div>form{display:flex;flex-wrap:wrap;gap:16px;align-items:end;padding:20px;background:#fff}#main>div>form label{display:grid;gap:6px;flex:1 1 180px}#main>div>section{padding:20px;background:#fff;border:1px solid #d6e0e6;border-radius:10px;margin-top:20px;overflow-x:auto}
