/* Multi-match availability and committee preparation. */
#joueur .sport-pager{color:#d6e6dd}#player-availability .rsvp-actions button[data-response=yes][aria-pressed=true]{background:#bfd34b;border-color:#bfd34b;color:#263e32}#player-availability .rsvp-actions button[data-response=no][aria-pressed=true]{background:#e1c5cf;border-color:#b78e9d;color:#6e3046}#player-availability .rsvp-actions button[data-response=pending][aria-pressed=true]{background:#d4c9df;border-color:#aa97bd;color:#513b68}@media(max-width:700px){#player-availability .rsvp-actions>div{grid-template-columns:repeat(3,minmax(0,1fr))}#player-availability .rsvp-actions button{min-height:48px;font-size:11px;line-height:1.4;padding:7px 4px;white-space:normal}}
@media(max-width:700px){#rsvp-bulk{grid-template-columns:1fr 1fr}#rsvp-bulk>b,#rsvp-bulk>[data-bulk-clear]{grid-column:1/-1}}
#joueur.has-player:has(#player-availability:not([hidden])) .rubric-welcome,#joueur.has-player:has(#player-availability:not([hidden])) .app-main>.notice:has(#club-player-summary){display:none}#player-availability .my-match-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0;padding:0;background:none;border:0;box-shadow:none}#player-availability .my-match-heading h2{font:700 25px/1.3 Arial,sans-serif;padding:0;margin:0;background:none;border:0;box-shadow:none}#player-availability>p{font-size:12px;line-height:1.5;margin:8px 0}#player-availability .rsvp-summary{padding:10px 13px;margin:10px 0}#player-availability .rsvp-card{padding:14px;gap:14px}#player-availability .rsvp-info h3{margin:6px 0}#player-availability .rsvp-actions>div{margin-top:7px}#player-availability .rsvp-actions>small{margin-top:5px}#player-availability .rsvp-pick{margin-bottom:8px}@media(max-width:700px){#player-availability .my-match-heading{display:block}#player-availability .my-match-heading h2{font-size:23px}#player-availability .my-match-heading button{font-size:11px;min-height:44px;margin-top:5px;padding:7px 10px}#player-availability .rsvp-date>b{font-size:26px}#player-availability .rsvp-summary>b{font-size:13px}#player-availability .rsvp-info h3{font-size:15px}}
.sport-response-tools{display:grid;grid-template-columns:minmax(180px,300px) minmax(0,1fr);gap:15px;align-items:end;margin:8px 0}.sport-response-tools .sport-pager{margin:0 0 12px}.sport-response-tools label{margin:0 0 10px!important}#sport-response-board>.sport-counts{margin:10px 0}#sport-response-board>.sport-counts>span{padding:8px 10px}@media(max-width:700px){.sport-response-tools{grid-template-columns:1fr;gap:5px}.sport-response-tools .sport-pager{margin:0 0 5px}}
.sport-response-filter{display:flex;flex-direction:column;gap:5px;max-width:310px;font-size:12px}.sport-response-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0}.sport-response-card{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:13px;background:#e0e8dd;color:#254d55;border:1px solid #a5baac;border-radius:10px;min-width:0}.sport-response-card>div{flex:1;min-width:135px}.sport-response-card b{display:block;font-size:14px;line-height:1.4}.sport-response-card small{display:block;font-size:11px;line-height:1.6}.sport-response-card>small{width:100%;color:#4c6570}.rsvp-state.offline{background:#d8cce2;color:#543e68}.sport-response-card .rsvp-state.yes{background:#c9df92;color:#294a38}.sport-response-card .rsvp-state.no{background:#e5c9d1;color:#743249}.sport-response-card .rsvp-state.pending{background:#e8dca9;color:#6a5122}@media(max-width:700px){.sport-response-grid{grid-template-columns:1fr}}
.sport-pager{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:10px 0;color:#244d55}.sport-pager[hidden]{display:none}.sport-pager span{font:700 12px/1.4 Arial,sans-serif;white-space:nowrap}.sport-pager button,.rsvp-page-tools button{min-height:44px;border:1px solid #ad9cc0;border-radius:8px;padding:8px 12px;background:#d6cde1;color:#513d67;font:700 12px/1.4 Arial,sans-serif;cursor:pointer;transition:transform .16s,box-shadow .16s}.sport-pager button:not(:disabled):hover,.rsvp-page-tools button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #07262d33}.sport-pager button:disabled{opacity:.45;cursor:default}.sport-pager button:focus-visible,.rsvp-page-tools button:focus-visible{outline:3px solid #c4d84a;outline-offset:2px}.rsvp-page-tools{display:flex;align-items:center;gap:12px;margin:9px 0}.rsvp-page-tools small{font-size:11px;line-height:1.5;color:#bad0cb}.rsvp-response-filter{display:flex;flex-direction:column;gap:5px;font-size:12px;min-width:190px}
#meeting-planner .meeting-heading{padding:12px 0}#meeting-planner .meeting-heading h3{font-size:21px;margin:6px 0}#meeting-planner .meeting-heading p{margin:5px 0}#meeting-planner .meeting-layout{gap:15px}#meeting-planner .meeting-player{padding:10px;gap:9px}#meeting-planner .meeting-player .ttc-photo{width:38px;height:38px}#meeting-planner .meeting-search label{margin-bottom:7px}#meeting-planner .sport-counts{margin:8px 0}#meeting-planner .sport-counts>span{padding:7px 10px}#meeting-planner .meeting-summary{padding:15px}#meeting-planner .meeting-summary h3{font-size:21px}#meeting-planner .meeting-summary label{margin-top:12px}#meeting-planner .meeting-selected-person{padding:4px 0}#meeting-planner .meeting-actions{gap:7px;margin:12px 0}#meeting-planner .meeting-warning{padding:8px;margin:7px 0}
.meeting-secondary-actions,.meeting-progress-details{border:1px solid #819a9e;border-radius:9px;background:#31565e;margin:9px 0;padding:0 10px;color:#eff2e8}.meeting-secondary-actions>summary,.meeting-progress-details>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font:700 12px/1.5 Arial,sans-serif;list-style:none}.meeting-secondary-actions>summary::after,.meeting-progress-details>summary::after{content:'⌄';margin-left:auto}.meeting-secondary-actions>button{display:block;width:100%;margin-bottom:8px}.meeting-progress-details .meeting-mail-progress{border:0;padding:0;margin:0 0 10px}.meeting-bulk:has([data-bulk-state]:disabled){position:static}
@media(max-width:700px){.sport-pager{gap:5px}.sport-pager button{font-size:11px;padding:8px}.rsvp-page-tools{align-items:stretch;flex-direction:column;gap:5px}.rsvp-page-tools small{font-size:10px}.rsvp-response-filter{min-width:0}.meeting-bulk{padding:10px;gap:6px}.meeting-bulk b{grid-column:1/-1}.meeting-bulk button{font-size:11px;padding:8px}.meeting-bulk [data-bulk-clear]{grid-column:1/-1}#meeting-planner .meeting-player-name{flex-basis:calc(100% - 75px)}#meeting-planner .meeting-player .rsvp-state{margin-left:28px}}
@media(prefers-reduced-motion:reduce){.sport-pager button,.rsvp-page-tools button{transition:none;transform:none!important}}
.rsvp-summary{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#10383c;border:1px solid #31747a;padding:16px 20px;border-radius:10px;margin:15px 0}.rsvp-summary>b{font-size:15px}.rsvp-summary>span{font-size:12px;color:#afd3d4}.rsvp-card{display:flex;align-items:center;gap:24px;padding:22px;border:1px solid #31555d;border-radius:12px;background:linear-gradient(120deg,#0c2b31,#091e24);margin:12px 0}.rsvp-date{flex-shrink:0;min-width:60px;border-right:1px solid #32636a;padding-right:20px;text-align:center}.rsvp-date>b{display:block;color:var(--mint);font-size:34px;line-height:1.1}.rsvp-date>span{display:block;font-size:10px;color:#9ec6cb;margin-top:7px;text-transform:uppercase}.rsvp-info{flex:1;min-width:0}.rsvp-info h3{font-family:Arial,sans-serif;font-size:18px;line-height:1.3;margin:12px 0}.rsvp-info p{font-size:12px;line-height:1.6;margin:0 0 7px}.rsvp-info>small{font-size:10px;color:#8caeb4}.rsvp-actions{flex-shrink:0;max-width:270px}.rsvp-actions>div{display:flex;gap:7px;margin-top:14px}.rsvp-actions button{border:1px solid #507b81;background:#0b252c;border-radius:7px;padding:10px 13px;font-size:11px;min-height:44px}.rsvp-actions button[aria-pressed=true]{background:var(--mint);border-color:var(--mint);color:#032d31;font-weight:700}.rsvp-actions>small{display:block;font-size:9px;color:#8cafb5;margin-top:10px}.rsvp-state{display:inline-block;font-size:11px;padding:5px 9px;border-radius:20px;background:#243c43;color:#c0d3d7}.rsvp-state.yes{background:#10514d;color:#8bf2d6}.rsvp-state.no{background:#54332e;color:#ffd0bd}.rsvp-state.pending{background:#49412b;color:#ebd79e}.rsvp-all{margin-top:12px}.ranking-preview{padding:24px;border:1px solid #30666d;border-radius:12px;background:linear-gradient(140deg,#15434a,#081f24);margin-top:28px}.ranking-preview h3{font-size:24px;margin:16px 0}.ranking-preview p{font-size:13px}.sync-label{display:block;font-size:10px;color:#88b1b6}.sport-settings{display:grid;grid-template-columns:280px 1fr;gap:30px;align-items:center}.sport-settings p{font-size:12px;margin:0}.sport-board{margin:20px 0}.sport-counts{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.sport-counts>span{background:#13343d;padding:10px 15px;border-radius:8px;font-size:12px}.sport-counts b{color:var(--mint);font-size:20px;padding-right:5px}.permission-editor{margin-top:24px}#permission-options{display:grid;grid-template-columns:1fr 1fr;gap:5px 20px;margin:18px 0}#permission-options label{padding:10px 0;font-size:13px}#permission-options input{width:auto;accent-color:#00ded4;margin-right:8px}#permission-summary{font-size:12px;line-height:1.7}.rsvp-actions button:focus-visible{outline:2px solid white;outline-offset:2px}
@media(max-width:1100px){.rsvp-card{flex-wrap:wrap}.rsvp-info{flex-basis:65%}.rsvp-actions{max-width:100%;width:100%;padding-left:80px}.sport-settings{grid-template-columns:1fr;gap:10px}}
@media(max-width:600px){.rsvp-summary{display:block;padding:16px}.rsvp-summary>span{display:block;margin-top:7px;font-size:11px}.rsvp-card{padding:18px;gap:14px}.rsvp-date{min-width:45px;padding-right:13px}.rsvp-date>b{font-size:30px}.rsvp-info{flex-basis:70%}.rsvp-info h3{font-size:16px}.rsvp-info>small{font-size:10px;line-height:1.5;display:block}.rsvp-actions{padding-left:0}.rsvp-actions>div{display:grid;grid-template-columns:1fr 1fr 44px}.rsvp-actions button{font-size:12px;padding:10px 6px}.rsvp-actions>small{font-size:10px}.rsvp-actions .rsvp-state{font-size:11px}.sport-counts{gap:6px}.sport-counts>span{font-size:10px;padding:8px}.sport-counts b{font-size:18px}#permission-options{grid-template-columns:1fr}.ranking-preview{padding:20px}.ranking-preview h3{font-size:22px}}
/* Rencontre : joueurs à gauche, composition et actions à droite. */
.meeting-toolbar{display:flex;gap:18px;align-items:end}.meeting-toolbar label{flex:1}.meeting-toolbar>button{min-height:44px;margin-bottom:14px}.meeting-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 0;border-top:1px solid #31555d}.meeting-heading h3{font:700 24px/1.3 Arial,sans-serif;margin:10px 0}.meeting-heading p{font-size:13px;color:#b5d3d6}.meeting-status{padding:10px 14px;border:1px solid #59b8b2;background:#15444b;color:#c4fff4;border-radius:10px;white-space:nowrap;font-size:12px}.meeting-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:24px;align-items:start}.meeting-search{display:grid;grid-template-columns:1.3fr 1fr;gap:12px}.meeting-players{display:grid;gap:10px}.meeting-player{display:flex;align-items:center;gap:12px;background:#0c2b31;border:1px solid #365d64;padding:14px;border-radius:12px;margin:0;cursor:pointer}.meeting-player.is-selected{background:#16464b;border-color:#80dfc8;box-shadow:inset 3px 0 #cafa63}.meeting-player input,.rsvp-pick input{width:20px;height:20px;flex-shrink:0;accent-color:#9cecd5;margin:0}.meeting-player .ttc-photo{width:48px;height:48px;flex-shrink:0}.meeting-player-name{flex:1;min-width:0}.meeting-player-name b{display:block;font:700 13px/1.4 Arial,sans-serif;color:#fff}.meeting-player-name small{display:block;font-size:10px;line-height:1.6;color:#aed1d4}.meeting-ranking{font-weight:800;font-size:16px;color:#d7fb75}.meeting-player .rsvp-state{white-space:nowrap;font-size:10px}.meeting-summary{padding:22px;background:linear-gradient(140deg,#153c42,#0b2229);border:1px solid #477c80;border-radius:14px;position:static}.meeting-summary h3{font-size:24px;margin:0 0 8px}.meeting-summary>small{display:block;font-size:11px;line-height:1.6;color:#b8d8db}.meeting-selected-person{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #31555d;font-size:12px}.meeting-selected-person>b{flex:1}.meeting-selected-person>span{color:#d7fb75}.meeting-selected-person>button{font-size:23px;padding:5px;min-width:44px;min-height:44px}.meeting-summary label{display:block;margin-top:22px}.meeting-warning{font-size:12px;line-height:1.6;color:#f4d998!important;background:#413928;padding:10px;border-radius:8px}.meeting-actions{display:grid;gap:10px;margin:20px 0}.meeting-actions button{min-height:44px;font-size:12px;white-space:normal}.meeting-actions button:disabled{opacity:.5;cursor:not-allowed}#meeting-feedback{font-size:13px;color:#d2fca5;line-height:1.6}.meeting-bulk{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#18474b;border:1px solid #528c8d;border-radius:12px;padding:18px;position:sticky;top:125px;z-index:3}.meeting-bulk[hidden]{display:none}.meeting-bulk b{font-size:13px}.meeting-bulk button{font-size:12px;min-height:44px}.rsvp-pick{display:grid;gap:6px;justify-items:center;margin:0 0 15px;font-size:9px;color:#b8d8db}.rsvp-pick span{font-size:9px}.meeting-player:focus-within{outline:2px solid #cafa63;outline-offset:2px}
.meeting-mail-progress{margin-top:20px;padding-top:16px;border-top:1px solid #477c80}.meeting-mail-progress[hidden]{display:none}.meeting-mail-progress h4{font:700 16px/1.4 Arial,sans-serif;margin:0 0 10px;color:#e0ffed}.meeting-mail-progress p,.meeting-mail-progress small{font-size:12px;line-height:1.6}.meeting-mail-progress small{display:block;color:#b8d8db}.meeting-mail-progress ul{list-style:none;margin:12px 0;padding:0;display:grid;gap:10px}.meeting-mail-progress li{display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;align-items:center;font-size:12px}.meeting-mail-state{font-size:11px;padding:5px 8px;border:1px solid #477c80;border-radius:6px;color:#d5e8ec}.meeting-mail-state.accepted{color:#d8ffc9;background:#194739}.meeting-mail-state.failed,.meeting-mail-state.cancelled{color:#ffdcc5;background:#4a302b}.meeting-mail-state.unreachable,.meeting-mail-state.missing{color:#f4e3b0;background:#413928}
.composition-print-dialog{width:min(1000px,96vw);max-height:94vh;padding:0;border:1px solid #477c80;border-radius:14px;background:#0b2229;color:#e0ffed}.composition-print-dialog::backdrop{background:#00181fbb}.composition-print-toolbar{display:flex;gap:12px;align-items:center;padding:16px;flex-wrap:wrap}.composition-print-toolbar>div{flex:1;min-width:180px}.composition-print-toolbar small{display:block;margin-top:5px;font-size:12px;color:#b8d8db}.composition-print-toolbar button{min-height:44px}.composition-print-dialog iframe{display:block;width:100%;height:70vh;border:0;background:#fff}
@media(max-width:1100px){.meeting-layout{grid-template-columns:1fr}.meeting-summary{position:static}.meeting-player-name b{font-size:14px}.meeting-bulk{position:static}}
@media(max-width:600px){.meeting-toolbar,.meeting-heading{display:block}.meeting-heading h3{font-size:20px}.meeting-status{display:inline-block;white-space:normal}.meeting-search{grid-template-columns:1fr;gap:0}.meeting-player{flex-wrap:wrap;gap:10px;padding:12px}.meeting-player-name{flex-basis:calc(100% - 100px)}.meeting-player .rsvp-state{margin-left:30px}.meeting-ranking{margin-left:30px}.meeting-player .meeting-ranking+.rsvp-state{margin-left:0}.meeting-summary{padding:18px}.meeting-bulk{display:grid;gap:10px}.meeting-bulk button{width:100%}}

/* Number of visible players remains a choice; compact is the default. */
.sport-response-tools{grid-template-columns:minmax(170px,1fr) minmax(150px,.7fr) minmax(280px,1.3fr)}.sport-size-filter{display:flex;flex-direction:column;gap:5px;font-size:12px;min-width:0}#meeting-planner .meeting-search{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(130px,.85fr)}
@media(max-width:1100px){.sport-response-tools{grid-template-columns:1fr 1fr}.sport-response-tools .sport-pager{grid-column:1/-1}#meeting-planner .meeting-search{grid-template-columns:1fr 1fr}#meeting-planner .meeting-search>label:first-child{grid-column:1/-1}}
@media(max-width:600px){.sport-response-tools{gap:8px}.sport-response-tools label{font-size:11px}#meeting-planner .meeting-search{grid-template-columns:1fr 1fr}#meeting-planner .meeting-search>label{min-width:0;font-size:11px}}
