:root{color:#162333;background:#f3f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--blue: #0d4f78;--blue-dark: #083751;--cyan: #19a7b8;--coral: #eb6a58;--lime: #b4d334;--ink: #162333;--muted: #687785;--line: #d9e1e7;--surface: #ffffff;--surface-soft: #f8fafb;--shadow: 0 10px 30px rgb(20 44 64 / 8%)}*{box-sizing:border-box}html{min-width:320px;background:#f3f6f8}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid rgb(25 167 184 / 28%);outline-offset:2px}h1,h2,p{margin-top:0}a{color:var(--blue)}.center-screen{display:grid;min-height:100vh;place-items:center;padding:24px}.access-card{display:grid;width:min(100%,390px);gap:18px;padding:32px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.access-card img{margin-bottom:2px}.access-card h1{margin:0;color:var(--blue-dark);font-size:clamp(1.5rem,5vw,2rem);letter-spacing:-.035em}.access-card p{margin:-8px 0 0;color:var(--muted);line-height:1.55}.access-card label,.admin-form label,.manual-form>label{display:grid;gap:7px;color:#40505e;font-size:.84rem;font-weight:700}input[type=text],input[type=password],input[type=number],input[type=search],.access-card input,.admin-form input,.manual-form input{width:100%;min-height:42px;padding:9px 11px;border:1px solid #cbd6de;border-radius:9px;color:var(--ink);background:#fff}.button,.planner-actions button,.row-actions button,.row-actions a,.history-list button,.text-button,.event-card-heading button,.icon-button,.quick-add,.order-actions button,.age-tabs button{border:0;border-radius:8px;cursor:pointer;text-decoration:none}.button{min-height:42px;padding:10px 16px;font-weight:750}.button.primary{color:#fff;background:var(--blue)}.button.primary:hover{background:var(--blue-dark)}.button.secondary{border:1px solid var(--line);background:#fff}button:disabled{cursor:not-allowed;opacity:.48}.text-link{width:fit-content;color:var(--muted);font-size:.86rem}.form-error{margin:0!important;color:#a62d22!important;font-size:.86rem;font-weight:650}.spinner{width:28px;height:28px;border:3px solid #d6e0e7;border-top-color:var(--cyan);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.kicker{display:block;margin-bottom:4px;color:var(--cyan);font-size:.69rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.admin-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:28px 0 70px}.simple-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.simple-header h1{margin:0;color:var(--blue-dark);font-size:2rem}.text-button{padding:8px 10px;color:var(--muted);background:transparent}.admin-grid{display:grid;grid-template-columns:minmax(280px,370px) minmax(0,1fr);gap:22px;align-items:start}.admin-sidebar{display:grid;gap:14px}.admin-form,.competition-list{border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow)}.admin-form{display:grid;gap:17px;padding:24px}.password-form{box-shadow:none}.admin-form h2,.competition-list h2{margin:0;color:var(--blue-dark);font-size:1.06rem}.admin-form small{color:var(--muted);font-weight:450;line-height:1.4}.competition-list{overflow:hidden}.section-title-row{display:flex;min-height:62px;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line)}.inline-notice{color:#217055;font-size:.78rem;font-weight:700}.empty-copy{margin:0;padding:28px 18px;color:var(--muted)}.competition-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(190px,auto) auto;gap:16px;align-items:center;padding:16px 18px;border-bottom:1px solid #e8edf1}.competition-row:last-child{border-bottom:0}.competition-row.archived{opacity:.57}.competition-row>div:first-child{display:grid;gap:4px}.competition-row strong{color:var(--ink)}.competition-row span,.competition-row code{color:var(--muted);font-size:.79rem}.competition-row code{overflow:hidden;text-overflow:ellipsis}.row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.row-actions button,.row-actions a{padding:7px 9px;color:var(--blue);background:#edf4f7;font-size:.78rem;font-weight:700}.planner-shell{min-height:100vh}.planner-header{position:sticky;z-index:20;top:0;display:grid;grid-template-columns:minmax(210px,1fr) auto minmax(440px,1fr);gap:18px;align-items:center;min-height:68px;padding:10px 22px;border-bottom:1px solid var(--line);background:#fffffff5;box-shadow:0 4px 18px #112d400d;backdrop-filter:blur(12px)}.competition-title{display:flex;min-width:0;align-items:center;gap:11px}.competition-title img{flex:0 0 auto}.competition-title div{min-width:0}.competition-title h1{overflow:hidden;margin:0 0 1px;color:var(--blue-dark);font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.competition-title span{color:var(--muted);font-size:.72rem}.save-state{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.75rem;font-weight:700;white-space:nowrap}.status-dot{width:7px;height:7px;border-radius:50%;background:#8da0ae}.save-state.saved .status-dot{background:#39a477}.save-state.saving .status-dot{background:#e0a727;animation:pulse 1s ease-in-out infinite}.save-state.offline .status-dot{background:var(--coral)}.save-state.conflict .status-dot{background:var(--cyan)}@keyframes pulse{50%{opacity:.4}}.planner-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.planner-actions button{min-height:34px;padding:7px 10px;color:var(--blue);background:#edf4f7;font-size:.76rem;font-weight:750}.planner-actions button:hover{background:#e0edf2}.planner-actions .muted-action{color:var(--muted);background:transparent}.history-navigation{display:flex;gap:2px;padding:2px;border:1px solid #d9e6eb;border-radius:9px;background:#f7fafb}.planner-actions .history-navigation button{min-width:31px;min-height:28px;padding:3px 7px;font-size:1rem;line-height:1}.age-tabs{position:sticky;z-index:15;top:68px;display:flex;gap:4px;overflow-x:auto;padding:9px 22px;border-bottom:1px solid var(--line);background:#f3f6f8;scrollbar-width:none}.age-tabs::-webkit-scrollbar{display:none}.age-tabs button{flex:0 0 auto;padding:8px 12px;color:#536371;background:transparent;font-size:.78rem;font-weight:750}.age-tabs button.active{color:#fff;background:var(--blue)}.planner-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;padding:16px 22px 50px}.athlete-panel{position:sticky;top:121px;display:flex;flex-direction:column;max-height:calc(100vh - 139px);overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 9px}.panel-heading h2{margin:0;color:var(--blue-dark);font-size:.98rem}.candidate-count{display:grid;min-width:29px;height:29px;place-items:center;border-radius:50%;color:var(--blue);background:#eaf4f6;font-size:.75rem;font-weight:850}.search-control{padding:0 12px 8px}.search-control input{min-height:37px;font-size:.82rem}.younger-toggle{display:flex;align-items:center;gap:7px;padding:0 14px 10px;color:var(--muted);font-size:.73rem;cursor:pointer}.younger-toggle input{accent-color:var(--blue)}.participation-legend{display:flex;flex-wrap:wrap;gap:5px 9px;padding:0 14px 10px;color:#778792;font-size:.63rem;font-weight:650}.empty-roster{display:grid;gap:12px;justify-items:start;padding:24px 14px;color:var(--muted);font-size:.82rem;line-height:1.45}.empty-roster p{margin:0}.empty-roster small{color:#7d8b96}.athlete-list{display:grid;gap:6px;overflow-y:auto;padding:2px 9px 12px}.athlete-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;align-items:center;min-height:51px;padding:7px 7px 7px 11px;border:1px solid #dce5ea;border-left:4px solid var(--cyan);border-radius:9px;background:#fff;cursor:grab;user-select:none}.athlete-card.status-confirmed{border-color:#b9ddc7;background:#f0faf4}.athlete-card.status-unavailable{border-color:#efc5bf;border-left-color:var(--coral);background:#fff5f3;cursor:default}.athlete-card.status-confirmed:hover,.athlete-card.status-confirmed:focus-visible{background:#e9f7ef}.athlete-card.status-unavailable:hover,.athlete-card.status-unavailable:focus-visible{background:#ffefec}.athlete-card.male{border-left-color:var(--blue)}.athlete-card:active{cursor:grabbing}.athlete-card:hover,.athlete-card:focus-visible{border-color:#a9c7d3;background:#fbfdfe}.athlete-copy{display:grid;min-width:0;gap:2px}.athlete-copy strong{overflow:hidden;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.athlete-copy span{color:var(--muted);font-size:.69rem}.usage-badge{padding:3px 5px;border-radius:10px;color:#6b7621;background:#f0f6d5;font-size:.66rem;font-weight:850}.participation-status-button{display:grid;width:27px;height:27px;place-items:center;padding:0;border:0;border-radius:50%;color:#768590;background:#eef2f4;font-size:.83rem;font-weight:900;cursor:pointer}.participation-status-button.confirmed{color:#197049;background:#d9f0e3}.participation-status-button.unavailable{color:#aa4034;background:#f9deda}.quick-add{display:grid;width:29px;height:29px;place-items:center;color:var(--blue);background:#edf4f7;font-size:1.05rem}.athlete-card.status-unavailable .quick-add{color:#ad766f;background:#f5e7e4}.relay-board{display:grid;min-width:0;gap:22px}.age-section{min-width:0}.age-section-heading{display:flex;align-items:baseline;gap:9px;margin-bottom:9px}.age-section-heading h2{margin:0;color:var(--blue-dark);font-size:1.05rem}.age-section-heading span{color:var(--muted);font-size:.72rem}.event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.event-grid.compact{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}.event-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 5px 18px #142c400d}.event-card.active{border-color:var(--cyan);box-shadow:0 0 0 2px #19a7b81f}.event-card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:6px 7px 6px 12px;border-bottom:1px solid #e7edf1;background:var(--surface-soft)}.event-card-heading>button:first-child{overflow:hidden;padding:4px 0;color:var(--blue-dark);background:transparent;font-size:.82rem;font-weight:850;text-align:left;text-overflow:ellipsis;white-space:nowrap}.event-card-heading .add-team-button{flex:0 0 auto;padding:6px 8px;color:var(--blue);background:#e8f1f4;font-size:.69rem;font-weight:750}.event-teams{display:grid;gap:11px;padding:10px}.team-lane{overflow:hidden;border:1px solid #dce5ea;border-radius:9px}.team-lane-heading{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;border-bottom:1px solid #e7edf1;background:#fbfcfd}.team-name-input{min-width:0;height:36px;padding:6px 9px;border:0;color:var(--ink);background:transparent;font-size:.76rem;font-weight:750}.team-count{color:var(--muted);font-size:.68rem;font-weight:750}.team-count.complete{color:#267556}.icon-button{display:grid;width:34px;height:34px;place-items:center;background:transparent;font-size:1.3rem}.icon-button.subtle{color:#8c9aa5;font-size:1.05rem}.leg-list{display:grid;margin:0;padding:0;list-style:none}.leg-slot{display:grid;grid-template-columns:26px minmax(0,1fr);min-height:39px;align-items:stretch;border-bottom:1px solid #edf1f4;background:#fff}.leg-slot:last-child{border-bottom:0}.leg-slot:not(.filled):hover{background:#f3fafb}.leg-slot.status-confirmed,.reserve-list li.status-confirmed{background:#edf9f1}.leg-slot.status-unavailable,.reserve-list li.status-unavailable{background:#fff1ef}.leg-slot.status-confirmed .leg-number,.reserve-list li.status-confirmed .reserve-number{color:#267556;background:#e0f2e7}.leg-slot.status-unavailable .leg-number,.reserve-list li.status-unavailable .reserve-number{color:#a64a3e;background:#f9dfdb}.leg-number{display:grid;place-items:center;color:#8795a0;background:#f7f9fa;font-size:.66rem;font-weight:800}.drop-hint{align-self:center;padding-left:9px;color:#a1adb6;font-size:.69rem}.assigned-athlete{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:5px;align-items:center;min-width:0;padding:3px 4px 3px 7px;cursor:grab}.drag-handle{color:#a3afb7;font-size:.78rem}.assigned-name{flex:1 1 auto;min-width:0;overflow:hidden;font-size:.75rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.assigned-name-with-status{display:flex;min-width:0;align-items:center;gap:5px}.participation-mark{display:grid;flex:0 0 auto;width:17px;height:17px;place-items:center;border-radius:50%;font-size:.66rem;font-weight:900}.participation-mark.confirmed{color:#176d46;background:#d4eddf}.participation-mark.unavailable{color:#a33e32;background:#f7d8d4}.order-actions{display:flex;gap:2px}.order-actions button{display:grid;width:24px;height:24px;place-items:center;color:#657582;background:#eef3f5;font-size:.7rem}.reserve-area{border-top:1px solid #dfe8ed;background:#f7fafb}.reserve-area:has(.reserve-empty){transition:background .12s ease}.reserve-area:has(.reserve-empty):hover{background:#eef8f9}.reserve-heading{display:flex;min-height:34px;align-items:center;justify-content:space-between;gap:8px;padding:4px 7px 4px 10px}.reserve-heading>span{color:#536775;font-size:.68rem;font-weight:800;letter-spacing:.02em}.reserve-heading button{min-height:26px;padding:4px 7px;border:0;border-radius:7px;color:var(--blue);background:#e5f1f4;font-size:.67rem;font-weight:800;cursor:pointer}.reserve-empty{display:block;padding:0 10px 8px;color:#91a0aa;font-size:.66rem}.reserve-list{display:grid;margin:0;padding:0;border-top:1px solid #e7edf1;list-style:none}.reserve-list li{display:grid;grid-template-columns:26px minmax(0,1fr);min-height:36px;border-bottom:1px solid #e7edf1;background:#fff}.reserve-list li:last-child{border-bottom:0}.reserve-number{display:grid;place-items:center;color:#71838f;background:#edf4f6;font-size:.63rem;font-weight:850}.reserve-athlete{min-height:35px}.remove-reserve{display:grid;width:24px;height:24px;place-items:center;border:0;border-radius:8px;color:#657582;background:#e9f0f3;font-size:.8rem;cursor:pointer}.modal-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;overflow-y:auto;padding:24px;background:#0619257a;backdrop-filter:blur(3px)}.modal-card,.history-panel{width:min(100%,480px);overflow:hidden;border-radius:16px;background:var(--surface);box-shadow:0 24px 70px #0417233d}.history-panel{width:min(100%,620px);max-height:min(760px,calc(100vh - 48px))}.modal-card>header,.history-panel>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px 13px;border-bottom:1px solid var(--line)}.modal-card h2,.history-panel h2{margin:0;color:var(--blue-dark);font-size:1.1rem}.manual-form{display:grid;gap:16px;padding:20px}.manual-form fieldset{display:flex;gap:16px;margin:0;padding:0;border:0}.manual-form legend{width:100%;margin-bottom:9px;color:#40505e;font-size:.84rem;font-weight:700}.gender-choice{display:flex;align-items:center;gap:6px;color:#4f5e6a;font-size:.82rem}.gender-choice input{width:auto;min-height:0;accent-color:var(--blue)}.manual-form footer{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.participation-choices{display:grid;gap:8px;padding:16px}.participation-choices button{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:center;min-height:58px;padding:9px 12px;border:1px solid #dce5ea;border-radius:10px;color:var(--ink);background:#fff;text-align:left;cursor:pointer}.participation-choices button>span:first-child{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;color:#758590;background:#eef2f4;font-size:1.05rem;font-weight:900}.participation-choices button>span:last-child{display:grid;gap:2px}.participation-choices strong{font-size:.84rem}.participation-choices small{color:var(--muted);font-size:.71rem;line-height:1.35}.participation-choices button.confirmed>span:first-child{color:#176d46;background:#d9f0e3}.participation-choices button.unavailable>span:first-child{color:#a33e32;background:#f9deda}.participation-choices button.active{border-color:var(--cyan);box-shadow:0 0 0 2px #19a7b81f}.participation-choices button.confirmed.active{border-color:#79bd94;background:#f0faf4;box-shadow:0 0 0 2px #3d9e651a}.participation-choices button.unavailable.active{border-color:#dd968d;background:#fff5f3;box-shadow:0 0 0 2px #d763541a}.modal-card.reserve-picker{display:flex;max-height:min(720px,calc(100vh - 48px));flex-direction:column}.reserve-picker-content{min-height:0;padding-top:12px}.reserve-picker-content .search-control{display:block;padding:0 16px 12px}.reserve-picker-list{display:grid;max-height:min(470px,calc(100vh - 260px));overflow-y:auto;padding:0 10px 10px}.reserve-picker-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:50px;padding:8px 10px;border:0;border-top:1px solid #e8eef2;color:var(--ink);background:#fff;text-align:left;cursor:pointer}.reserve-picker-list button:first-child{border-top:0}.reserve-picker-list button:hover,.reserve-picker-list button:focus-visible{background:#f1f8fa}.reserve-picker-list button>span:first-child{display:grid;gap:2px}.reserve-picker-list strong{font-size:.82rem}.reserve-picker-list small{color:var(--muted);font-size:.7rem}.reserve-picker-list button>span:last-child{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;color:var(--blue);background:#e9f3f6;font-size:1rem;font-weight:800}.reserve-picker-empty{margin:0;padding:22px 12px;color:var(--muted);font-size:.8rem}.replacement-help{margin:0;padding:13px 16px;color:var(--muted);background:#f8fafb;font-size:.8rem;line-height:1.45}.replacement-picker-list{padding-top:4px}.replacement-picker-list .create-team-choice{margin-bottom:5px;border:1px solid #cfe1e7;border-radius:9px;color:var(--blue-dark);background:#edf6f8}.replacement-picker-list .create-team-choice:hover,.replacement-picker-list .create-team-choice:focus-visible{background:#e2f0f3}.replacement-footer>span{overflow:hidden;color:var(--blue-dark);text-overflow:ellipsis;white-space:nowrap}.reserve-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border-top:1px solid var(--line);background:#f8fafb}.reserve-picker-footer>span{color:var(--muted);font-size:.76rem;font-weight:750}.history-help{margin:0;padding:13px 20px;color:var(--muted);background:#f8fafb;font-size:.78rem;line-height:1.45}.history-loading{display:grid;min-height:180px;place-items:center}.history-list{max-height:min(560px,calc(100vh - 220px));overflow-y:auto;margin:0;padding:0;list-style:none}.history-list li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:11px;align-items:center;min-height:62px;padding:9px 18px;border-top:1px solid #edf1f4}.revision-mark{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;color:var(--blue);background:#eaf3f6;font-size:.7rem;font-weight:850}.history-list li>div:nth-child(2){display:grid;gap:3px}.history-list strong{font-size:.79rem}.history-list span{color:var(--muted);font-size:.69rem}.history-list button{padding:7px 9px;color:var(--blue);background:#eaf3f6;font-size:.72rem;font-weight:750}.history-list .current-badge{padding:5px 7px;border-radius:8px;color:#267556;background:#e8f5ee;font-size:.67rem;font-weight:800}.toast{position:fixed;z-index:150;right:18px;bottom:18px;max-width:min(420px,calc(100% - 36px));padding:11px 14px;border-radius:9px;color:#fff;background:#173b4e;box-shadow:0 12px 34px #081d2a3d;font-size:.8rem;font-weight:650;pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .16s ease,transform .16s ease}.toast.visible{opacity:1;transform:translateY(0)}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;clip-path:inset(50%)!important}@media(max-width:980px){.planner-header{grid-template-columns:minmax(180px,1fr) auto}.planner-actions{grid-column:1 / -1;justify-content:flex-start}.age-tabs{top:109px}.athlete-panel{top:162px;max-height:calc(100vh - 180px)}.competition-row{grid-template-columns:1fr auto}.competition-row code{display:none}}@media(max-width:720px){html{font-size:17px}.admin-shell{width:min(100% - 24px,600px);padding-top:18px}.admin-grid,.competition-row{grid-template-columns:1fr}.row-actions{justify-content:flex-start}.planner-header{position:relative;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:9px 12px}.competition-title img{width:36px;height:36px}.competition-title h1{font-size:1.04rem}.competition-title span{font-size:.78rem}.save-state{justify-self:end;font-size:.8rem}.planner-actions{overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;scrollbar-width:none}.planner-actions button{flex:0 0 auto;min-height:40px;padding-inline:11px;font-size:.82rem}.history-navigation{flex:0 0 auto;gap:6px;padding:0;border:0;background:transparent}.planner-actions .history-navigation button{width:40px;min-width:40px;height:40px;min-height:40px;padding:0;border-radius:10px;background:#edf4f7;font-size:1.18rem}.age-tabs{top:0;padding:7px 12px}.age-tabs button{min-height:40px;padding-inline:13px;font-size:.85rem}.planner-layout{grid-template-columns:1fr;padding:12px 12px 42px}.athlete-panel{position:relative;top:auto;max-height:390px}.kicker{font-size:.74rem}.panel-heading h2{font-size:1.06rem}.candidate-count{min-width:32px;height:32px;font-size:.8rem}.search-control input{min-height:44px;font-size:1rem}.younger-toggle{font-size:.82rem}.participation-legend{font-size:.71rem}.athlete-card{min-height:56px;padding-block:8px}.athlete-copy strong{font-size:.9rem}.athlete-copy span{font-size:.77rem}.usage-badge{font-size:.72rem}.participation-status-button{width:34px;height:34px;font-size:.95rem}.quick-add{width:34px;height:34px;font-size:1.15rem}.age-section-heading h2{font-size:1.14rem}.age-section-heading span{font-size:.79rem}.event-card-heading>button:first-child{font-size:.9rem}.event-card-heading .add-team-button{min-height:36px;font-size:.76rem}.team-name-input{height:42px;font-size:.85rem}.team-count{font-size:.74rem}.leg-slot{min-height:44px}.leg-number{font-size:.73rem}.drop-hint{font-size:.76rem}.assigned-name{font-size:.84rem}.order-actions button{width:30px;height:30px;font-size:.78rem}.reserve-heading{min-height:40px}.reserve-heading>span,.reserve-empty{font-size:.76rem}.reserve-heading button{min-height:32px;font-size:.75rem}.reserve-list li,.reserve-athlete{min-height:42px}.reserve-number{font-size:.7rem}.remove-reserve{width:30px;height:30px}.reserve-picker-list button{min-height:58px}.reserve-picker-list strong{font-size:.9rem}.reserve-picker-list small{font-size:.77rem}.event-grid,.event-grid.compact{grid-template-columns:1fr}.modal-backdrop{padding:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
