:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#252528;background:#f5f6f8;font-size:15px;letter-spacing:0}*{box-sizing:border-box}body{margin:0}header{background:#fff;border-bottom:1px solid #d9dce2;min-height:72px;padding:16px 32px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}header strong{font-size:24px}header strong span{font-size:15px;color:#666}header form{margin-left:auto}.environment{color:#9b361e;font-size:12px}nav{display:flex;gap:8px;padding:12px 24px;background:#fff;border-bottom:1px solid #d9dce2;flex-wrap:wrap}a{color:#215c7b;text-decoration:none}nav a{padding:10px 12px;color:#525660;border-bottom:3px solid transparent}nav a[aria-current]{color:#ad1827;border-bottom-color:#ad1827}main{max-width:1400px;margin:auto;padding:28px 32px;min-height:70vh}h1{font-size:24px;margin:0 0 28px}button,input{font:inherit;border:1px solid #b9bdc5;border-radius:5px;padding:10px 14px}button{cursor:pointer;background:white;color:#27272b}button:hover{background:#f0f1f3}.primary{background:#af1525;color:white;border-color:#af1525}.primary:hover{background:#911220}.signin{max-width:380px;margin:60px auto}.signin label{display:block;margin:20px 0 0}.signin input{display:block;width:100%;margin-top:8px}.signin button{width:100%;margin-top:26px}[role=alert]{color:#ac1825}.table{overflow-x:auto}table{width:100%;border-collapse:collapse;background:white}th,td{text-align:left;padding:16px;border-bottom:1px solid #e0e2e7}th{font-size:13px;color:#5a5f69}.empty{padding:48px 16px;color:#6b7079}.setting{border-bottom:1px solid #d9dce2;padding:18px 0;max-width:640px}.setting a{display:flex;justify-content:space-between}dl{display:grid;grid-template-columns:160px 1fr;gap:20px;margin-top:32px}dd{margin:0;color:#6b7079}footer{padding:24px 32px;color:#70747c;font-size:12px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #2695bf;outline-offset:3px}@media(max-width:600px){header{padding:16px}main{padding:24px 16px}nav{padding:8px}nav a{padding:10px 8px}th,td{padding:12px}.signin{margin:30px auto}}
:root{--rule:#d9dce2}.account{padding:24px 0;border-bottom:1px solid var(--rule)}h2{font-size:18px;overflow-wrap:anywhere}.account-form{display:flex;align-items:end;flex-wrap:wrap;gap:16px;margin:16px 0}.account-form label{display:flex;flex-direction:column;gap:8px;max-width:100%}.account-form label:has([type=checkbox]){flex-direction:row;align-self:center}.account-form input:not([type=checkbox]),select{max-width:100%;font:inherit;padding:10px;border:1px solid #b9bdc5;border-radius:5px;background:white}summary{cursor:pointer;color:#215c7b}main>a+h1{margin-top:22px}[role=status]{color:#206048}
.cost-trigger{display:block;border:0;background:transparent;padding:6px 0;color:#215c7b;font-size:13px}.cost-popover{position:fixed;inset:0;margin:auto;width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #c9cdd4;border-radius:8px;padding:20px;background:white;color:#252528;box-shadow:0 12px 48px #0003}.cost-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.cost-heading h2{margin:0}.cost-heading button{width:36px;height:36px;padding:0;font-size:24px;flex-shrink:0}.cost-popover p{color:#656b74;font-size:13px}.cost-popover ul{list-style:none;padding:0;margin:20px 0}.cost-popover li,.cost-total{display:flex;justify-content:space-between;gap:24px;padding:12px 0;border-bottom:1px solid #e0e2e7}.cost-popover li span{overflow-wrap:anywhere}.cost-popover strong{white-space:nowrap}.cost-total{border-bottom:0}
.catalog-actions{display:flex;gap:24px;align-items:center;margin:20px 0}.product-form{max-width:850px}.product-form label{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.product-form input,.product-form textarea,.product-form select{width:100%;min-width:0;font:inherit;border:1px solid #b9bdc5;border-radius:5px;padding:10px;background:white}.component-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.component-grid label{flex-direction:row;align-items:center;justify-content:space-between;border-bottom:1px solid #d9dce2;padding-bottom:12px}.component-grid input{width:80px;flex-shrink:0}@media(max-width:600px){.form-grid,.component-grid{grid-template-columns:1fr}}
.page-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.event-select{display:flex;align-items:end;gap:12px;margin-bottom:28px}.event-select label{display:flex;flex-direction:column;gap:8px;min-width:0}.event-select select{max-width:100%}.row-actions{display:flex;gap:14px;align-items:center}.row-actions form{display:flex;gap:8px}.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:32px}.report-grid article{background:white;border:1px solid #e0e2e7;border-radius:6px;padding:18px}.report-grid span{display:block;font-size:13px;color:#636973}.report-grid strong{display:block;font-size:22px;margin-top:12px}.product-form fieldset{border:0;border-top:1px solid #ddd;padding:18px 0;margin:20px 0}.product-form .check-label{display:flex;flex-direction:row;align-items:center;gap:10px}.product-form .check-label input{width:18px;height:18px;flex-shrink:0}@media(max-width:600px){.page-heading{flex-wrap:wrap}.row-actions{flex-wrap:wrap}.event-select select{width:100%}}
[hidden]{display:none!important}p,td,label{overflow-wrap:anywhere}details{margin:16px 0}details[open]>summary{margin-bottom:16px}
.roster-table td{vertical-align:top}.roster-action{display:block;width:fit-content;margin-top:12px;font-size:13px;text-decoration:underline;text-underline-offset:3px}
.orders-table td{vertical-align:top}.order-name{display:block;font-weight:600}.order-secondary{display:block;color:#646a73;font-size:13px;margin-top:5px}.order-product{display:block;margin-bottom:5px}.order-athlete+.order-athlete{margin-top:14px}.order-family-heading th{background:#edf2ef;border-top:2px solid #cbd4ce;padding:16px;text-align:left}.order-family-heading .order-secondary{font-weight:400}
.athlete-editor{width:min(700px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #c9cdd4;border-radius:8px;padding:24px;background:#fff;color:#252528}.athlete-editor::backdrop{background:#11182766}.athlete-editor h2{margin:0 0 24px}.editor-actions{position:sticky;bottom:-24px;display:flex;justify-content:flex-end;align-items:center;gap:24px;padding:16px 0;background:#fff;border-top:1px solid #d9dce2}
.order-panel{width:min(900px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #c9cdd4;border-radius:8px;padding:0 24px 24px;background:white;color:#252528}.order-panel::backdrop{background:#11182766}.order-panel-heading{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:16px;background:white;border-bottom:1px solid #d9dce2;padding:16px 0;z-index:1}.order-panel-heading h2{margin:0}.order-panel-heading button{width:36px;height:36px;padding:0;font-size:24px}.order-panel .page-heading{margin-top:16px;flex-wrap:wrap}
button,.button{font:inherit;line-height:1.25;border:1px solid #b9bdc5;border-radius:5px;padding:10px 14px;background:#fff;color:#27272b;cursor:pointer;vertical-align:middle}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;text-decoration:none;max-width:100%;overflow-wrap:anywhere}
.button:hover,button:hover{background:#f0f1f3}.button:focus-visible{outline:3px solid #2695bf;outline-offset:3px}
button.primary,.button.primary{background:#af1525;color:#fff;border-color:#af1525}button.primary:hover,.button.primary:hover{background:#911220}
button:disabled{opacity:.5;cursor:not-allowed}.button.roster-action{font-size:13px;margin-top:12px;padding:8px 12px;text-decoration:none}
.cost-trigger{display:block;margin-top:8px;padding:8px 12px;border:1px solid #b9bdc5;background:#fff;color:#27272b;font-size:13px}
button+.button,.button+button,.button+.button{margin-left:10px}.catalog-actions,.row-actions{flex-wrap:wrap}
.catalog-actions>.button,.row-actions>.button,.editor-actions>.button,.editor-actions>button{margin-left:0}
.action-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}.action-bar>.button,.action-bar>button{margin-left:0}.action-bar form{margin:0}
.product-form input.order-quantity{width:80px}.pending-change{border-top:2px solid #ac7220;border-bottom:1px solid #d9dce2;padding:12px 0;margin:20px 0}
.payment-due{font-size:32px;font-weight:700;margin:20px 0}
.roster-person{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:150px}
.roster-contact{display:flex;flex-direction:column;gap:5px;line-height:1.4}
.roster-person-actions{display:flex;flex-wrap:wrap;gap:8px}
.roster-person-actions .button.roster-action{margin:0;min-height:44px}
#add-order-athlete{display:block;margin:0 0 24px}
.parent-mode{margin-bottom:12px}
button,.button{min-height:44px}
.order-panel-heading button,.cost-heading button{width:44px;height:44px;flex-shrink:0}
.editor-actions{flex-wrap:wrap}
.receipt-dialog{box-sizing:border-box;width:min(640px,calc(100% - 32px));max-height:90vh;overflow:auto;border:1px solid #c8cdd6;border-radius:8px;padding:24px}
.receipt-dialog::backdrop{background:rgba(0,0,0,.35)}
.receipt-dialog .product-form{max-width:100%}
.orders-table .order-family-gap td{height:20px;padding:0;border:0;background:#f4f6f8}
.orders-table .order-family-heading th{background:#e4ebe7;border-top:3px solid #667b70;border-bottom:1px solid #bac8bf;padding:18px 16px}
.orders-table .order-family-heading .order-name{font-size:16px;font-weight:700;color:#24382d}
.order-live-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;padding:18px 0;margin:12px 0;border-top:2px solid #667b70;border-bottom:1px solid #cbd4ce}
.order-live-total strong{font-size:24px;color:#24382d}.order-live-total [data-quote-error]:not(:empty){flex-basis:100%}
.action-bar .check-label{flex-basis:100%;display:flex;align-items:center;gap:10px}

/* Let shared form and action layouts shrink inside both pages and dialogs. */
h1,h3,li,dt,dd,th,legend,summary{overflow-wrap:anywhere}
input,select,textarea,button,.button{max-width:100%;min-width:0}
button,.button{white-space:normal;overflow-wrap:anywhere}
textarea{font:inherit;display:block;width:100%;padding:10px;border:1px solid #b9bdc5;border-radius:5px;resize:vertical}
select,textarea{min-height:44px}
select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #2695bf;outline-offset:3px}
.page-heading,.event-select,.row-actions form{flex-wrap:wrap}
.page-heading>*{min-width:0;max-width:100%}
.page-heading{margin-bottom:20px}
.page-heading h1,.page-heading h2{margin-bottom:0}
.event-select label{max-width:100%}
.account-form label,.form-grid>*,.component-grid>*,.action-bar>*,.row-actions>*,.catalog-actions>*{min-width:0;max-width:100%}
.account-form input:not([type=checkbox]){min-width:0;width:100%}
.product-form fieldset{min-width:0}
.component-grid label{gap:12px}
.action-bar input[type=checkbox]{flex:none;width:18px;height:18px}
.row-actions form>.button,.row-actions form>button,.catalog-actions>button{margin-left:0}
.action-bar+h1{margin-top:24px}
.product-form>.button+label{margin-top:20px}
.table{max-width:100%;min-width:0;margin-bottom:20px}
/* Preserve readable columns; narrow screens scroll the table, not its text. */
.table>table{min-width:640px}
.table>table.orders-table,.table>table.roster-table{min-width:720px}
.table thead th{white-space:nowrap;overflow-wrap:normal}
.table td{overflow-wrap:break-word}
.table button,.table .button{white-space:nowrap;overflow-wrap:normal;flex-shrink:0;max-width:none}
dl{grid-template-columns:minmax(0,160px) minmax(0,1fr)}
.report-grid{grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr))}
.report-grid article{min-width:0;overflow-wrap:anywhere}
.setting a{gap:12px;overflow-wrap:anywhere}
.setting a span{flex:none}
.order-panel,.athlete-editor,.receipt-dialog{scroll-padding-block:80px 100px}
@media(max-width:600px){
  dl{grid-template-columns:1fr;gap:8px;margin-block:24px}
  dd{margin-bottom:12px}
  .account-form{align-items:stretch}
  .account-form label:not(:has([type=checkbox])){flex-basis:100%}
  .editor-actions{position:static;gap:12px}
  .order-panel{padding:0 16px 16px}
  .athlete-editor,.receipt-dialog{padding:16px}
}
form[action$="/reedy-receipts"]{margin-bottom:24px}
@media(max-width:1024px){
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px;min-height:44px}
  button,.button{min-height:44px}
  nav a{min-height:44px;display:inline-flex;align-items:center}
}
form[action$="/reedy-receipts"] input[type="file"]{max-width:100%;min-width:0}
.organization-logo-editor{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #d5d8dc}
.organization-logo-preview{width:180px;height:140px;object-fit:contain;margin-bottom:16px}
.quantity-stepper{display:grid;grid-template-columns:48px minmax(48px,72px) 48px;gap:8px;align-items:center;margin-top:8px}
.quantity-stepper button{width:48px;height:48px;min-height:48px;padding:0;font-size:26px;line-height:1;touch-action:manipulation}
.quantity-stepper input[type="number"]{width:100%;min-width:0;height:48px;margin:0;padding:4px;text-align:center;appearance:textfield;-moz-appearance:textfield}
.quantity-stepper input::-webkit-inner-spin-button,.quantity-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.orders-heading{align-items:center;gap:12px;margin-bottom:16px}
.orders-heading h1{margin:0}
.orders-heading .row-actions{gap:8px;justify-content:flex-end}
.orders-session-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:16px}
.orders-session-toolbar .event-select{margin:0;flex:0 1 auto}
.orders-session-toolbar .event-select label{flex-direction:row;align-items:center;gap:12px;margin:0}
.orders-session-toolbar .event-select select{width:340px;max-width:100%;min-width:0;margin:0}
.orders-session-toolbar .row-actions{gap:8px}
.orders-session-toolbar [aria-current="page"]{border-color:#ae1730;color:#ae1730}
.orders-search-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0}
.orders-search-bar input{flex:1 1 260px;max-width:560px;min-width:0;margin:0}
.orders-search-bar button{width:42px;height:42px;padding:0;font-size:24px}
.orders-search-bar [hidden],.orders-table tr[hidden]{display:none!important}
.orders-search-bar [role="status"]{font-size:14px;color:#636973}
.financial-section{border-top:1px solid #d7dbe0;padding:20px 0;margin-top:20px}
.financial-section h2{font-size:20px;margin:0 0 14px}
.financial-lines{display:block;max-width:100%;margin:0}
.financial-lines>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:10px 0;border-bottom:1px solid #e4e6e9}
.financial-lines dt{overflow-wrap:anywhere}
.financial-lines dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.control-help{display:inline-block;position:relative;margin-left:6px;vertical-align:middle}
.control-help summary{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #747b84;border-radius:50%;cursor:pointer;list-style:none;font-weight:600}
.control-help[open]{display:block;flex-basis:100%;max-width:100%;margin:8px 0}
.control-help p{box-sizing:border-box;width:360px;max-width:100%;padding:12px;background:#fff;color:#222;border:1px solid #b5bac2;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.control-help summary::-webkit-details-marker{display:none}
.control-help summary:focus-visible{outline:2px solid #ae1730;outline-offset:3px}
@media(max-width:600px){.orders-heading .row-actions{justify-content:flex-start}.orders-session-toolbar .event-select{width:100%}.orders-session-toolbar .event-select label{width:100%}.orders-session-toolbar .event-select select{flex:1}}
