@font-face{font-family:Open Sans;src:url(/fonts/open-sans-latin.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:Chilanka;src:url(/fonts/chilanka-latin.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{font-family:Open Sans,sans-serif;color:#173438;background:#f6faf9;font-synthesis:none;line-height:1.6;--brand:#266e77;--ink:#173438;--muted:#486368;--line:#cbdedc;--soft:#e6f2f0;--error:#8d2929;--focus:#ac600b}*{box-sizing:border-box}body{margin:0;min-width:320px}h1,h2,p{margin:0}h1,h2{color:var(--ink);text-wrap:balance}h1{font-family:Chilanka,Open Sans,sans-serif;font-size:clamp(2rem,4vw,2.7rem);line-height:1.18;font-weight:400;margin-bottom:1rem}h2{font-size:1.12rem;font-weight:700;line-height:1.35;margin-bottom:.65rem}p{max-width:70ch;margin-bottom:1rem}a{color:var(--brand);text-underline-offset:.2em}button{font:inherit;font-weight:700;cursor:pointer;min-height:44px;border:1px solid transparent;border-radius:8px;padding:.7rem 1.25rem;transition:background-color .14s ease-out,color .14s ease-out}button:disabled{cursor:wait;opacity:.65}.primary{background:var(--brand);color:#fff}.primary:hover:enabled{background:#1a5259}.secondary{background:#fff;border-color:#91b6b6;color:var(--ink)}.secondary:hover:enabled{background:var(--soft)}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}::selection{color:#102e32;background:#b3dadf}input,textarea{caret-color:var(--brand)}*{scrollbar-color:#80aaa9 #edf5f3;scrollbar-width:thin}.lead{color:var(--muted);font-size:1.08rem;line-height:1.7;margin-bottom:2rem}.help{font-size:.875rem;color:var(--muted);margin-top:.65rem}.message{padding:.9rem 1rem;border-radius:8px;max-width:70ch}.error{background:#fff0ee;color:var(--error);border:1px solid #d7adab}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-block:1.75rem}.startup{max-width:46rem;margin:10vh auto;padding:2rem}.auth-page{min-height:100svh;display:flex;flex-direction:column}.auth-brand{text-align:center;background:var(--brand);padding:1.4rem 1.5rem;margin-bottom:2rem}.auth-brand img{display:block;margin:auto;object-fit:contain;width:150px;height:125px}.auth-content{width:min(100% - 3rem,31rem);margin:0 auto;flex:1;padding-bottom:2rem}.auth-content>h1{text-align:center}.auth-content>.lead{text-align:center}.signin-section{padding-bottom:2rem;border-bottom:1px solid var(--line)}.signin-section>.primary{width:100%;margin-top:.25rem}.registration-section{padding-top:1.8rem}.registration-section .secondary{min-width:10rem}.back-link{display:inline-block;margin-top:1.8rem;font-size:.9rem}.auth-footer,.app-footer{color:var(--muted);font-size:.8rem;text-align:center;padding:1.5rem}.skip-link{position:absolute;left:1rem;top:-6rem;background:#fff;padding:.8rem;z-index:10}.skip-link:focus{top:1rem}.app-header{background:var(--brand);color:#fff}.header-inner{max-width:72rem;margin:auto;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand{display:flex;align-items:center;gap:.8rem;color:#fff;text-decoration:none;font-size:.85rem;line-height:1.4}.brand img{object-fit:contain}.brand strong{font-size:1.1rem}.account{display:flex;align-items:center;gap:1rem;font-size:.875rem}.account>span{max-width:25ch;overflow-wrap:anywhere}.header-button{background:transparent;border-color:#a0c8cb;color:#fff;font-size:.875rem;padding:.5rem .9rem}.header-button:hover{background:#1c5b63}.app-nav{background:#fff;border-bottom:1px solid var(--line)}.nav-inner{max-width:72rem;margin:auto;display:flex;gap:1.7rem;padding-inline:2rem;flex-wrap:wrap}.app-nav a{padding:.9rem 0 .75rem;color:var(--muted);text-decoration:none;border-bottom:3px solid transparent;font-size:.95rem}.app-nav a:hover{color:var(--ink)}.app-nav a.active{color:var(--brand);font-weight:700;border-bottom-color:var(--brand)}.app-main{max-width:72rem;min-height:65vh;margin:auto;padding:3rem 2rem 4rem}.task-list{max-width:50rem;border-top:1px solid var(--line);margin-top:2.3rem}.task-list>a{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.5rem .35rem;border-bottom:1px solid var(--line);text-decoration:none;transition:background-color .14s ease-out}.task-list>a:hover{background:var(--soft)}.task-list strong{display:block;color:var(--ink);font-size:1.15rem;margin-bottom:.2rem}.task-list a>span>span{color:var(--muted);font-size:.95rem}.link-arrow{font-size:.875rem;font-weight:700}.app-footer{border-top:1px solid var(--line)}@media(max-width:600px){.auth-brand{padding-top:1.6rem}.auth-brand img{width:148px;height:135px}.auth-content{width:calc(100% - 2.5rem)}.header-inner{padding:.8rem 1.2rem}.brand{gap:.5rem}.brand img{width:46px;height:46px}.brand strong{font-size:.95rem}.account>span{display:none}.nav-inner{padding-inline:1.2rem;gap:1.2rem}.app-nav a{font-size:.875rem}.app-main{padding:2.2rem 1.2rem 3rem}.task-list>a{gap:1rem}.task-list a>span>span{font-size:.875rem}.actions>button{flex:1}.lead{font-size:1rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.app-header :focus-visible{outline-color:#fff}.riding-intro{color:var(--muted);margin-bottom:1.7rem}.riding-navigation{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.7rem}.week-navigation{display:flex;align-items:center;gap:1rem}.week-navigation h2{margin:0;font-size:1.1rem}.week-link{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:#fff;flex-shrink:0}.week-link:hover{background:var(--soft)}.day-note{color:var(--muted);font-size:.9rem}.riding-slot{margin-top:2.5rem}.slot-heading{display:flex;align-items:baseline;gap:1rem;border-bottom:2px solid var(--brand);padding-bottom:.65rem}.slot-heading h2{font-size:1.25rem;margin:0;font-variant-numeric:tabular-nums}.slot-heading>span{font-size:.875rem;color:var(--muted)}.position-row{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}.position-number{color:var(--muted);font-size:.875rem;font-variant-numeric:tabular-nums;padding-top:2rem;text-align:center}.position-fields{display:grid;grid-template-columns:minmax(0,1fr) 8rem;gap:1.2rem;align-items:start}.position-fields.with-pony{grid-template-columns:minmax(8rem,1fr) minmax(10rem,2fr) 8rem}.position-field{display:flex;flex-direction:column;min-width:0;gap:.35rem}.position-field label{font-size:.8rem;font-weight:700;color:var(--muted)}.position-field input{font:inherit;color:var(--ink);background:#fff;border:1px solid #91b6b6;border-radius:6px;min-height:44px;width:100%;padding:.5rem .65rem}.position-field input:disabled{background:var(--soft);color:var(--ink);opacity:1}.position-field input[type=checkbox]{width:24px;height:24px;min-height:24px;accent-color:var(--brand);margin:10px 0}.field-paid label{cursor:pointer}.save-status{font-size:.75rem;line-height:1.5;color:var(--muted);min-height:1.15rem}.save-saved{color:#265c45}.save-error,.save-conflict{color:var(--error)}.retry-save{font-size:.8rem;background:#fff;color:var(--error);border-color:#d7adab;padding:.4rem .6rem;align-self:flex-start}.position-conflict-message{grid-column:2;background:#fff0ee;color:var(--error);padding:1rem;border-radius:8px}.position-conflict-message p{font-size:.9rem;margin-bottom:.75rem}.position-conflict-message button{font-size:.875rem}@media(max-width:650px){.week-navigation{width:100%;gap:.5rem;justify-content:space-between}.week-navigation h2{text-align:center;font-size:1rem;max-width:22ch}.riding-navigation{gap:.8rem}.position-row{grid-template-columns:1.4rem minmax(0,1fr);gap:.65rem}.position-fields,.position-fields.with-pony{grid-template-columns:minmax(0,1fr) 6.7rem;gap:.8rem}.position-fields.with-pony .field-pony{grid-column:1/-1}.position-field input{font-size:1rem}.position-number{padding-top:2rem}.position-conflict-message{grid-column:1/-1}.riding-slot{margin-top:2rem}}.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}.shirt-prices{display:flex;flex-wrap:wrap;gap:1rem 2.5rem;padding:.85rem 1.1rem;background:var(--soft);margin-bottom:1.5rem;width:fit-content;border-radius:8px}.shirt-prices p{margin:0;font-variant-numeric:tabular-nums;font-weight:700}.shirts-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.shirts-toolbar p{margin:0;color:var(--muted);max-width:60ch}.add-order{display:flex;align-items:center;justify-content:center;gap:.55rem}.shirts-table-wrap{overflow-x:auto;border-block:1px solid var(--line)}.shirts-table{border-collapse:collapse;min-width:1540px;width:100%;font-size:.9rem}.shirts-table th{text-align:left;background:var(--soft);padding:.8rem .65rem;font-size:.85rem;white-space:nowrap}.shirt-cell{padding:1rem .65rem;vertical-align:top;border-bottom:1px solid var(--line);min-width:130px}.shirt-name,.shirt-label{min-width:170px}.shirt-notes{min-width:220px}.shirt-phone{min-width:150px}.shirt-type{min-width:180px}.shirt-paid{min-width:100px}.shirt-field-label{display:none}.shirt-cell input,.shirt-cell select,.shirt-cell textarea{font:inherit;color:var(--ink);background:#fff;border:1px solid #91b6b6;border-radius:6px;width:100%;min-height:44px;padding:.5rem .6rem}.shirt-cell select{padding-right:1.4rem}.shirt-cell textarea{resize:vertical;min-height:65px}.shirt-cell input:disabled,.shirt-cell select:disabled,.shirt-cell textarea:disabled{background:var(--soft);color:var(--ink);opacity:1}.shirt-cell input[type=checkbox]{width:24px;height:24px;min-height:24px;margin:10px 0;accent-color:var(--brand)}.shirt-cell .save-status{display:block;margin-top:.35rem}.shirt-delete{padding:1rem .65rem;vertical-align:top;border-bottom:1px solid var(--line)}.delete-order{color:var(--error);border-color:#d7adab;background:#fff;font-size:.85rem;white-space:nowrap}.delete-order:hover:enabled{background:#fff0ee}.shirt-feedback-row>td{padding:0}.shirt-feedback-row .message{max-width:none;margin:.7rem 0}.shirt-feedback-row[hidden]{display:none}.delete-dialog{width:min(30rem,calc(100vw - 2.5rem));border:0;border-radius:12px;padding:1.7rem;color:var(--ink);background:#f6faf9;box-shadow:0 14px 48px #17343833}.delete-dialog::backdrop{background:#102e3280}.delete-dialog h2{font-size:1.3rem;line-height:1.4;margin-bottom:1rem}.delete-dialog .actions{margin-bottom:0;justify-content:flex-end}.danger{background:var(--error);color:#fff}.danger:hover:enabled{background:#702020}@media(max-width:1050px){.shirts-table{min-width:0;display:block}.shirts-table caption,.shirts-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.shirts-table tbody{display:block}.shirt-order{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1rem;padding:1.4rem 0;border-bottom:1px solid var(--line)}.shirt-cell,.shirt-name,.shirt-label,.shirt-notes,.shirt-phone,.shirt-type,.shirt-paid{display:block;min-width:0;padding:0;border:0}.shirt-field-label{display:block;font-size:.8rem;font-weight:700;color:var(--muted);margin-bottom:.35rem}.shirt-notes{grid-column:1/-1}.shirt-delete{display:flex;justify-content:flex-end;align-items:center;padding:0;border:0}.shirt-feedback-row,.shirt-feedback-row>td{display:block}.shirts-table-wrap{border-top:0}.shirt-feedback-row[hidden]{display:none}}@media(max-width:420px){.shirt-order{gap:.9rem .75rem}.shirt-cell input,.shirt-cell select,.shirt-cell textarea{font-size:1rem}.shirt-prices{gap:.5rem 1.4rem}.add-order{width:100%}.delete-dialog{padding:1.3rem}}.shirt-scroll-hint{font-size:.8rem;color:var(--muted);margin-bottom:.6rem}.shirt-color{min-width:150px}.shirt-type{min-width:200px}.shirt-name,.shirts-table th:first-child{position:sticky;left:0;z-index:1;background:#f6faf9}.shirt-delete,.shirts-table th:last-child{position:sticky;right:0;z-index:1;background:#f6faf9;border-left:1px solid var(--line)}.shirts-table th:first-child,.shirts-table th:last-child{background:var(--soft);z-index:2}.shirt-feedback-row .message{position:sticky;left:0;max-width:min(68rem,calc(100vw - 4rem))}@media(max-width:1050px){.shirt-scroll-hint{display:none}.shirt-name,.shirt-delete{position:static;z-index:auto;background:transparent;border-left:0}.shirt-color,.shirt-type{min-width:0}.shirt-feedback-row .message{position:static;max-width:none}}.admin-section{padding-block:2rem;border-top:1px solid var(--line);margin-top:1.5rem}.admin-section>h2,.admin-section-heading h2{font-size:1.4rem;margin-bottom:1rem}.admin-section-heading{display:flex;align-items:center;justify-content:space-between;gap:1.3rem;flex-wrap:wrap;margin-bottom:1rem}.admin-section-heading h2{margin:0}.registration-state{font-weight:700;color:var(--ink);margin-bottom:1.2rem}.registration-open{color:#265c45}.registration-controls{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}.days-field{display:grid;grid-template-columns:auto 6rem;align-items:center;gap:.2rem .7rem;margin-right:.7rem}.days-field label{font-weight:700;font-size:.9rem}.days-field input{width:6rem;min-height:44px;font:inherit;color:var(--ink);background:#fff;border:1px solid #91b6b6;border-radius:6px;padding:.45rem .6rem;font-variant-numeric:tabular-nums}.days-field .help{grid-column:2;font-size:.75rem;margin:0}.admin-users{margin-top:.3rem}.admin-user{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.3rem 0;border-bottom:1px solid var(--line)}.admin-user-details{min-width:0;overflow-wrap:anywhere}.admin-user h3{font-size:1rem;margin:0 0 .25rem}.admin-user p{margin:0;color:var(--muted);font-size:.9rem}.admin-user .help{font-size:.8rem;margin-top:.35rem}.account-note{display:block;color:var(--muted);font-size:.8rem;margin-top:.4rem}.admin-user-actions{display:flex;gap:.7rem;flex-wrap:wrap;flex-shrink:0}.admin-user-actions button{font-size:.875rem}.admin-subheading{font-size:1.1rem;margin:2rem 0 .7rem}.empty-list{color:var(--muted);margin-top:.7rem}.admin-section .message{margin-top:1rem}@media(max-width:600px){.admin-section{padding-block:1.5rem}.admin-user{align-items:flex-start;flex-direction:column;gap:.9rem}.admin-user-actions{width:100%}.admin-user-actions button{flex:1}.admin-section-heading>button{width:100%}.registration-controls{gap:.7rem}.days-field{width:100%;justify-content:start;margin-bottom:.25rem}.registration-controls>button{flex:1}}
