:root{--batt-black:#111214;--batt-red:#d91f26;--batt-yellow:#ffd21f;--batt-bg:#f3f3f0;--batt-line:#d7d7d2;--batt-muted:#6c6c68;--batt-green:#17864a;--batt-orange:#d68600;--batt-blue:#3159b7}
#wpcontent{padding-left:0}.batt-app{font-family:Arial,Helvetica,sans-serif;background:var(--batt-bg);min-height:100vh;color:#111}.batt-app *{box-sizing:border-box}.batt-app button,.batt-app input,.batt-app select,.batt-app textarea{font:inherit}
.batt-top{background:linear-gradient(105deg,#0c0c0d 0 76%,#7e1115 76% 89%,var(--batt-red) 89%);color:#fff;border-bottom:6px solid var(--batt-yellow);padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}.batt-brand{display:flex;align-items:center;gap:14px}.batt-logo{width:58px;height:58px;border-radius:9px;background:#fff;color:#111;display:grid;place-items:center;font-weight:1000;font-size:18px}.batt-brand h1{color:#fff;margin:0;font-size:24px;text-transform:uppercase}.batt-brand small{display:block;margin-top:4px;color:#ddd}.batt-top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.batt-tabs{max-width:1750px;margin:14px auto 0;padding:0 16px;display:flex;gap:7px;flex-wrap:wrap}.batt-tabs button{background:#fff;border:1px solid #ccc;padding:10px 14px;font-weight:900;border-radius:4px;cursor:pointer}.batt-tabs button.active{background:#111;color:#fff;box-shadow:inset 0 -5px 0 var(--batt-yellow);border-color:#111}.batt-main{max-width:1750px;margin:14px auto;padding:0 16px 50px}.batt-page{display:none}.batt-page.active{display:block}
.batt-hero{background:#111;color:#fff;border-left:8px solid var(--batt-red);padding:18px 20px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:18px}.batt-hero h2{color:#fff;margin:0 0 5px}.batt-hero p{margin:0;color:#ddd;max-width:1050px;line-height:1.45}.batt-btn{border:0;border-radius:4px;padding:9px 12px;font-weight:950;cursor:pointer}.batt-btn.yellow{background:var(--batt-yellow);color:#111}.batt-btn.red{background:var(--batt-red);color:#fff}.batt-btn.dark{background:#111;color:#fff}.batt-btn.light{background:#fff;border:1px solid #ccc;color:#111}.batt-btn:disabled{opacity:.5;cursor:not-allowed}.batt-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.batt-badge,.batt-pill{display:inline-block;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:950}.batt-badge.neutral{background:#eee;color:#555}.batt-badge.green,.batt-pill.green{background:#e9f8ef;color:#0d6a39}.batt-badge.red,.batt-pill.red{background:#ffe8e8;color:#98161b}.batt-badge.yellow,.batt-pill.yellow{background:#fff4bd;color:#6c5700}.batt-badge.blue,.batt-pill.blue{background:#edf2ff;color:#3154a0}
.batt-daybar{display:grid;grid-template-columns:260px 1fr auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--batt-line);padding:13px 14px;margin-bottom:14px}.batt-field label{display:block;font-size:10px;text-transform:uppercase;font-weight:950;color:#666;margin-bottom:4px}.batt-field input,.batt-field select{width:100%;padding:9px;border:1px solid #bbb;border-radius:4px;background:#fff}.batt-day-info strong{display:block;font-size:20px}.batt-day-info span{color:#666;font-size:12px}.batt-summary{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.batt-workspace{display:grid;grid-template-columns:360px minmax(0,1fr);gap:14px;align-items:start}.batt-panel,.batt-card{background:#fff;border:1px solid var(--batt-line)}.batt-panel-head,.batt-card-head{padding:12px 14px;background:#111;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:5px solid var(--batt-yellow)}.batt-panel-head h3,.batt-card-head h3{color:#fff;margin:0}.batt-panel-body,.batt-card-body{padding:12px}.batt-card{margin-bottom:14px}.batt-card-foot{padding:12px;border-top:1px solid var(--batt-line);display:flex;gap:8px}.batt-form-grid{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:10px}.batt-search{display:grid;grid-template-columns:1fr 125px;gap:8px;margin-bottom:10px}.batt-search input,.batt-search select{padding:9px;border:1px solid #bbb;border-radius:4px;width:100%}.batt-player-list{display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 320px);overflow:auto}.batt-player{border:1px solid #ddd;background:#fff;padding:9px;display:grid;grid-template-columns:40px 1fr auto;gap:9px;align-items:center;border-left:6px solid #bbb;cursor:grab}.batt-player.valid{border-left-color:var(--batt-green)}.batt-player.warning{border-left-color:var(--batt-orange);background:#fffdf3}.batt-avatar{width:38px;height:38px;border-radius:50%;background:#111;color:var(--batt-yellow);display:grid;place-items:center;font-weight:950}.batt-player h4{margin:0;font-size:14px}.batt-meta{color:#666;font-size:11px;line-height:1.35;margin-top:3px}.batt-flags{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.batt-flag{padding:3px 6px;border-radius:999px;font-size:9px;font-weight:950}.batt-flag.ok{background:#e9f8ef;color:#0d6a39}.batt-flag.warn{background:#fff4bd;color:#6c5700}.batt-flag.info{background:#edf2ff;color:#3154a0}.batt-player-actions{display:flex;flex-direction:column;gap:4px}.batt-iconbtn{border:1px solid #ccc;background:#f7f7f5;border-radius:4px;padding:5px 7px;cursor:pointer;font-size:11px}
.batt-team-grid{display:grid;grid-template-columns:repeat(3,minmax(300px,1fr));gap:12px}.batt-team{background:#fff;border:1px solid var(--batt-line);min-height:360px;display:flex;flex-direction:column}.batt-team-head{padding:12px;background:#f0f0ed;border-bottom:1px solid var(--batt-line)}.batt-team-head-top{display:flex;justify-content:space-between;gap:10px}.batt-team h3{margin:0}.batt-team .division{font-size:11px;color:#666;margin-top:3px}.batt-matchinfo{font-size:12px;line-height:1.4;margin-top:8px}.batt-slots{padding:10px;display:flex;flex-direction:column;gap:8px;flex:1}.batt-slot{border:1px dashed #bbb;background:#fafaf8;min-height:72px;padding:8px;display:flex;align-items:center;justify-content:center;color:#999;font-size:12px}.batt-slot.dragover{background:#fff8cf;border-color:var(--batt-yellow)}.batt-slot.filled{border-style:solid;background:#fff;justify-content:space-between;color:#111}.batt-slot strong{display:block}.batt-slot small{display:block;color:#666;margin-top:3px}.batt-slot-actions{display:flex;gap:5px;align-items:center}.batt-remove{border:0;background:#f8dddd;color:#8d1212;border-radius:50%;width:28px;height:28px;cursor:pointer;font-weight:950}.batt-team-foot{padding:10px;border-top:1px solid var(--batt-line);display:flex;justify-content:space-between;gap:8px;background:#fafaf8;align-items:center}.batt-empty,.batt-empty-card{padding:24px;text-align:center;color:#777}.batt-empty-card{background:#fff;border:1px dashed #bbb}.batt-note{background:#fff8cf;border-left:5px solid var(--batt-yellow);padding:10px 12px;line-height:1.5}.batt-card textarea{width:100%;padding:9px;border:1px solid #bbb;border-radius:4px}
.batt-table-wrap{overflow:auto}.batt-table{width:100%;border-collapse:collapse;min-width:1100px}.batt-table th{background:#111;color:#fff;padding:9px;text-align:left;font-size:11px;text-transform:uppercase}.batt-table td{padding:9px;border-bottom:1px solid #e4e4df;vertical-align:middle}.batt-table input{padding:6px;border:1px solid #bbb;border-radius:4px}.batt-contact-email{width:230px}.batt-contact-phone{width:130px}
.batt-team-selector{display:grid;grid-template-columns:repeat(2,minmax(300px,1fr));gap:10px}.batt-team-option{border:1px solid #ddd;padding:11px;display:grid;grid-template-columns:auto 1fr 100px;gap:10px;align-items:center}.batt-team-option input[type=checkbox]{width:20px;height:20px}.batt-team-option h4{margin:0}.batt-team-option p{margin:3px 0 0;color:#666;font-size:11px}.batt-team-option input[type=number]{width:80px;padding:7px}.batt-rule-status{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.rule{background:#fff;border:1px solid #ddd;padding:12px}.rule b{display:block;margin-bottom:5px}.rule.warn{border-left:5px solid var(--batt-orange)}.rule.ok{border-left:5px solid var(--batt-green)}
.batt-drawer{position:fixed;top:0;right:-580px;width:min(580px,96vw);height:100vh;background:#fff;z-index:99999;box-shadow:-15px 0 40px #0003;transition:.25s;display:flex;flex-direction:column}.batt-drawer.open{right:0}.batt-drawer-head{background:#111;color:#fff;border-bottom:5px solid var(--batt-yellow);padding:14px 16px;display:flex;align-items:center;justify-content:space-between}.batt-drawer-head h3{color:#fff;margin:0}.batt-drawer-head button{border:0;background:#333;color:#fff;width:34px;height:34px;border-radius:50%;font-size:18px;cursor:pointer}.batt-drawer-body{padding:15px;overflow:auto}.batt-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.batt-profile-grid>div{border:1px solid #ddd;padding:8px}.batt-profile-grid span{display:block;font-size:10px;text-transform:uppercase;color:#777;font-weight:900}.batt-history{width:100%;border-collapse:collapse;font-size:12px}.batt-history th{background:#111;color:#fff;padding:7px;text-align:left}.batt-history td{border-bottom:1px solid #ddd;padding:7px}.batt-override{margin-top:14px;border-top:1px solid #ddd;padding-top:12px}.batt-override select,.batt-override input{width:100%;padding:9px;border:1px solid #bbb;margin-top:6px}.batt-toast{position:fixed;right:18px;bottom:18px;background:#111;color:#fff;padding:11px 14px;border-left:5px solid var(--batt-yellow);z-index:100000;box-shadow:0 10px 30px #0003}
@media(max-width:1350px){.batt-team-grid{grid-template-columns:repeat(2,1fr)}.batt-form-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1000px){.batt-workspace{grid-template-columns:1fr}.batt-player-list{max-height:none}.batt-team-grid{grid-template-columns:1fr 1fr}.batt-rule-status{grid-template-columns:1fr 1fr}.batt-team-selector{grid-template-columns:1fr}}@media(max-width:760px){.batt-team-grid{grid-template-columns:1fr}.batt-daybar{grid-template-columns:1fr}.batt-form-grid{grid-template-columns:1fr}.batt-search{grid-template-columns:1fr}.batt-top{align-items:flex-start;flex-direction:column}}
.batt-field small{display:block;margin-top:5px;color:#6c6c68;font-size:11px;line-height:1.35}
.batt-api-checklist{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:9px;border:1px solid #ddd;background:#fafaf8;font-size:11px;font-weight:800}
.batt-api-checklist span{display:block}
@media(max-width:720px){.batt-api-checklist{grid-template-columns:1fr}}
.batt-player-filters{display:grid;grid-template-columns:2fr repeat(5,minmax(130px,1fr)) 100px 100px auto;gap:8px;align-items:center;margin-bottom:10px;padding:10px;background:#f7f7f4;border:1px solid #ddd}.batt-player-filters input,.batt-player-filters select{width:100%;padding:8px;border:1px solid #bbb;border-radius:4px;background:#fff}.batt-filter-summary{margin:0 0 9px;color:#666;font-size:12px}.batt-inline-action{margin-top:5px}.batt-schedule-status{display:block;margin-top:5px;color:#666;font-size:11px;font-weight:700}.batt-team-option small{display:block;margin-top:5px;color:#777;font-size:10px}
@media(max-width:1450px){.batt-player-filters{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){.batt-player-filters{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.batt-player-filters{grid-template-columns:1fr}}

.batt-team-option{grid-template-columns:auto 1fr minmax(240px,320px)}
.batt-team-config{display:grid;grid-template-columns:1fr;gap:5px}.batt-team-config label{font-size:10px;text-transform:uppercase;font-weight:900;color:#666}.batt-team-config select{width:100%;padding:7px;border:1px solid #bbb;border-radius:4px;background:#fff}
.batt-tutorial-grid{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px}.batt-tuto-step{background:#fff;border:1px solid #ddd;border-top:6px solid #111;padding:15px;position:relative}.batt-tuto-step>span{width:34px;height:34px;border-radius:50%;background:var(--batt-yellow);display:grid;place-items:center;font-weight:1000;margin-bottom:8px}.batt-tuto-step h3{margin:0 0 7px}.batt-tuto-step p{margin:0;line-height:1.45;color:#555}
.batt-docs-public .batt-doc-list{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:10px}.batt-docs-public .batt-doc-item{border:1px solid #ddd;border-left:6px solid var(--batt-red);padding:13px;background:#fff}.batt-docs-public .batt-doc-item h3{margin:0 0 6px}.batt-docs-public .batt-doc-item p{color:#666}.batt-docs-public .button{display:inline-block;background:#111!important;color:#fff!important;border:0!important;padding:8px 11px!important;text-decoration:none;font-weight:900}
@media(max-width:1250px){.batt-tutorial-grid{grid-template-columns:repeat(2,1fr)}.batt-docs-public .batt-doc-list{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.batt-tutorial-grid,.batt-docs-public .batt-doc-list{grid-template-columns:1fr}.batt-team-option{grid-template-columns:auto 1fr}.batt-team-config{grid-column:2}}
.batt-player.blocked{border-left-color:var(--batt-red);background:#fff6f6}
.batt-slot-burn{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap;margin-top:6px;font-size:10px;color:#666;max-width:520px}
.batt-slot.burn-risk{border-left:5px solid var(--batt-orange);background:#fffdf3}
.batt-slot.burn-blocked{border-left:5px solid var(--batt-red);background:#fff5f5}
.batt-slot.burn-ok{border-left:5px solid var(--batt-green)}
.batt-team-config input[type=number]{width:100%;padding:7px;border:1px solid #bbb;border-radius:4px;background:#fff}
.batt-ignored{opacity:.58;text-decoration:line-through}

/* V0.10 - modules, calendrier, suggestions, compétitions individuelles */
.batt-module-tabs{max-width:1750px;margin:14px auto 0;padding:0 16px;display:flex;gap:10px;flex-wrap:wrap}.batt-module-tabs button{padding:13px 18px;border:1px solid #bbb;background:#fff;font-weight:950;border-radius:5px;cursor:pointer;font-size:14px}.batt-module-tabs button.active{background:#111;color:#fff;border-color:#111;box-shadow:inset 0 -5px 0 var(--batt-yellow)}.batt-utility-tabs{margin-top:7px}.batt-utility-tabs button{font-size:12px;padding:7px 10px;background:#f8f8f5}.batt-suggest-field{margin-bottom:10px;padding:10px;background:#fff8cf;border:1px solid #eadc83}.batt-compact-note{font-size:11px;padding:7px 9px;margin-bottom:9px}.batt-list-heading{font-size:11px;font-weight:950;text-transform:uppercase;color:#555;padding:8px 5px 3px;border-bottom:2px solid var(--batt-yellow);margin-top:3px}.batt-calendar-filters{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr)) auto;gap:8px;margin-bottom:10px}.batt-calendar-filters select{width:100%;padding:8px;border:1px solid #bbb;border-radius:4px;background:#fff}.batt-calendar-table{min-width:1050px}.batt-individual-families{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.batt-individual-families button{background:#fff;border:1px solid #ccc;border-top:6px solid #111;padding:14px;text-align:left;font-weight:950;cursor:pointer}.batt-individual-families button small{display:block;margin-top:5px;color:#666;font-weight:700}.batt-individual-families button.active{border-top-color:var(--batt-red);background:#fffdf2}.batt-individual-toolbar{display:flex;gap:12px;align-items:end;justify-content:space-between}.batt-individual-toolbar .batt-field{min-width:320px}.batt-indiv-summary{display:flex;gap:18px;flex-wrap:wrap;align-items:center}.batt-indiv-summary span{color:#555}.batt-note-field{margin-top:12px}.batt-note-field textarea{width:100%}.batt-checkline{display:flex;gap:7px;align-items:center;font-size:12px;font-weight:800;margin:10px 0}.batt-checkline input{width:18px;height:18px}.batt-individual-filters{display:grid;grid-template-columns:2fr 1fr 110px 110px auto;gap:8px;margin-bottom:10px}.batt-individual-filters input,.batt-individual-filters select{width:100%;padding:8px;border:1px solid #bbb;border-radius:4px}.batt-individual-table,.batt-available-table{min-width:1000px}.batt-individual-table textarea{min-width:180px}.batt-individual-table select,.batt-individual-table input{padding:6px;border:1px solid #bbb;border-radius:4px}.batt-add-levels{display:flex;flex-wrap:wrap;gap:4px}.batt-small{padding:6px 9px;font-size:11px}
@media(max-width:1050px){.batt-calendar-filters{grid-template-columns:1fr 1fr 1fr}.batt-individual-families{grid-template-columns:1fr 1fr}.batt-individual-filters{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.batt-calendar-filters,.batt-individual-families,.batt-individual-filters{grid-template-columns:1fr}.batt-individual-toolbar{display:block}.batt-individual-toolbar .batt-field{min-width:0;margin-bottom:8px}}

.batt-criterium-level-tabs{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:8px;margin:12px 0}.batt-criterium-level-tabs button{border:1px solid #bbb;background:#fff;padding:11px 12px;text-align:left;font-weight:950;border-radius:4px;cursor:pointer}.batt-criterium-level-tabs button small{display:block;color:#666;margin-top:3px;font-weight:700}.batt-criterium-level-tabs button.active{background:#111;color:#fff;border-color:#111;box-shadow:inset 0 -4px 0 var(--batt-yellow)}.batt-criterium-level-tabs button.active small{color:#ddd}.batt-crit-current{outline:2px solid var(--batt-yellow);outline-offset:1px}.batt-crit-level .batt-card-head h3 small{font-size:11px;color:#777;font-weight:700}.batt-crit-cats{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 9px}.batt-crit-cats span{background:#f0f0ed;border:1px solid #ddd;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:850}.batt-player-picker{margin-top:14px}
@media(max-width:850px){.batt-criterium-level-tabs{grid-template-columns:1fr 1fr}}@media(max-width:520px){.batt-criterium-level-tabs{grid-template-columns:1fr}}


/* V0.13 - Critérium départemental mixte + niveaux supérieurs F/M */
.batt-crit-sex-grid,.batt-crit-sex-picker{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.batt-crit-sex{border:1px solid #ddd;background:#fafaf8;min-width:0}
.batt-crit-sex>h4{margin:0;padding:9px 11px;background:#f0f0ed;border-bottom:3px solid var(--batt-yellow);display:flex;align-items:center;justify-content:space-between;gap:10px}
.batt-crit-sex>h4 span{display:inline-grid;place-items:center;min-width:28px;height:24px;padding:0 7px;border-radius:999px;background:#111;color:#fff;font-size:11px}
.batt-crit-sex .batt-table-wrap{background:#fff}
.batt-crit-unknown{margin-top:12px}
.batt-coach-standalone{margin:0;background:#f3f3f0;color:#111;font-family:Arial,Helvetica,sans-serif}
.batt-coach-standalone *{box-sizing:border-box}
.batt-coach-portal{min-height:100vh;background:#f3f3f0}
.batt-coach-head{background:linear-gradient(105deg,#0c0c0d 0 76%,#7e1115 76% 89%,#d91f26 89%);border-bottom:7px solid #ffd21f;color:#fff;padding:18px 26px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.batt-coach-head>div{display:flex;align-items:center;gap:14px}.batt-coach-head h1{margin:0;color:#fff;text-transform:uppercase;font-size:25px}.batt-coach-head p{margin:4px 0 0;color:#ddd}
.batt-coach-logo{width:62px;height:62px;border-radius:8px;background:#fff;color:#111;display:grid;place-items:center;font-weight:1000;font-size:19px}
.batt-coach-main{max-width:1250px;margin:0 auto;padding:34px 20px 60px}.batt-coach-main h2{margin:0 0 18px;font-size:25px}
.batt-coach-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:18px}
.batt-coach-card{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:16px;background:#fff;border:1px solid #d7d7d2;border-left:7px solid #d91f26;padding:22px;text-decoration:none!important;color:#111!important;box-shadow:0 8px 24px #0000000d}
.batt-coach-card:hover{transform:translateY(-1px);box-shadow:0 10px 28px #00000018}.batt-coach-card h3{margin:0 0 5px;font-size:20px;color:#111}.batt-coach-card p{margin:0;color:#666;line-height:1.45}.batt-coach-card>b{white-space:nowrap}.batt-coach-icon{width:58px;height:58px;border-radius:50%;background:#111;display:grid;place-items:center;font-size:27px}
.batt-coach-card-disabled{opacity:.62;cursor:default}.batt-coach-card-disabled:hover{transform:none}
.batt-coach-login{width:min(460px,calc(100% - 30px));margin:8vh auto;background:#fff;border-top:8px solid #111;border-bottom:6px solid #ffd21f;padding:28px;box-shadow:0 18px 50px #0002;font-family:Arial,Helvetica,sans-serif}.batt-coach-login h1{margin:18px 0 7px}.batt-coach-login p{color:#666}.batt-coach-login-brand{display:flex;align-items:center;gap:12px}.batt-coach-login-brand strong{background:#111;color:#ffd21f;padding:12px;border-radius:5px}.batt-coach-login-brand span{font-weight:950;text-transform:uppercase}
.batt-coach-login label{display:block;font-size:12px;font-weight:900;margin:12px 0 5px}.batt-coach-login input[type=text],.batt-coach-login input[type=password]{width:100%;padding:11px;border:1px solid #bbb;border-radius:4px}.batt-coach-login input[type=submit]{background:#ffd21f;color:#111;border:0;border-radius:4px;padding:11px 16px;font-weight:950;cursor:pointer}.batt-coach-login .login-remember label{display:flex;gap:7px;align-items:center;font-weight:700}.batt-coach-help{margin-bottom:0}
.batt-coach-standalone .batt-app{min-height:100vh}.batt-coach-standalone .batt-btn{text-decoration:none}
@media(max-width:1050px){.batt-crit-sex-grid,.batt-crit-sex-picker{grid-template-columns:1fr}.batt-coach-grid{grid-template-columns:1fr}}
@media(max-width:650px){.batt-coach-head{align-items:flex-start;flex-direction:column}.batt-coach-card{grid-template-columns:54px 1fr}.batt-coach-card>b{grid-column:2}.batt-coach-icon{width:48px;height:48px}}

.batt-crit-mixed{width:100%}.batt-crit-mixed h4{display:flex;justify-content:space-between;gap:12px;align-items:center}


/* V0.14 - impression configurable des sélections individuelles */
.batt-card-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.batt-modal-backdrop{position:fixed;inset:0;z-index:100000;background:#0009;display:grid;place-items:center;padding:18px}
.batt-print-modal{width:min(760px,100%);max-height:92vh;overflow:auto;background:#fff;border-top:8px solid #111;border-bottom:6px solid var(--batt-yellow);box-shadow:0 24px 70px #0007}
.batt-print-modal-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:18px 20px 12px;border-bottom:1px solid #ddd}.batt-print-modal-head h3{margin:0;font-size:21px}.batt-print-modal-head p{margin:5px 0 0;color:#666}
.batt-print-modal-body{padding:18px 20px}.batt-print-modal-foot{padding:14px 20px;border-top:1px solid #ddd;display:flex;justify-content:flex-end;gap:9px;background:#f7f7f4}
.batt-print-fields{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:8px 14px;margin:14px 0}.batt-print-fields label,.batt-print-scope label{display:flex;gap:8px;align-items:center;font-weight:800;font-size:12px;padding:8px 10px;border:1px solid #ddd;background:#fafaf8}.batt-print-fields input,.batt-print-scope input{width:18px;height:18px}
.batt-print-scope{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.batt-print-scope label:has(input:checked){border-color:#111;box-shadow:inset 0 -3px 0 var(--batt-yellow)}
@media(max-width:650px){.batt-card-head-actions{justify-content:flex-start}.batt-print-fields,.batt-print-scope{grid-template-columns:1fr}.batt-print-modal-foot{position:sticky;bottom:0}}


/* V0.15 — correctifs Espace Coach et liste de composition */
#battTeamsApp .batt-module-tabs button,
#battTeamsApp .batt-utility-tabs button,
#battTeamsApp .batt-tabs button,
#battTeamsApp [data-module-nav] button,
#battTeamsApp [data-utility-page]{
  background:#fff !important;color:#111 !important;border:1px solid #c8c8c8 !important;
}
#battTeamsApp .batt-module-tabs button:hover,
#battTeamsApp .batt-utility-tabs button:hover,
#battTeamsApp .batt-tabs button:hover,
#battTeamsApp [data-module-nav] button:hover,
#battTeamsApp [data-utility-page]:hover{
  background:#f2f2ef !important;color:#111 !important;
}
#battTeamsApp .batt-module-tabs button.active,
#battTeamsApp .batt-utility-tabs button.active,
#battTeamsApp .batt-tabs button.active,
#battTeamsApp [data-module-nav] button.active,
#battTeamsApp [data-utility-page].active{
  background:#111 !important;color:#fff !important;border-color:#111 !important;box-shadow:inset 0 -5px 0 var(--batt-yellow) !important;
}
#battTeamsApp .batt-player.disabled{opacity:.68;background:#f5f5f2;border-left-color:#aaa;cursor:not-allowed}
#battTeamsApp .batt-player.disabled .batt-avatar{background:#777}
#battTeamsApp .batt-licence-type-box{margin:12px 0;padding:12px;border:1px solid #ddd;background:#fff9d8}
#battTeamsApp .batt-licence-type-box h4{margin:0 0 5px}
#battTeamsApp .batt-licence-type-box select{padding:8px;border:1px solid #aaa;background:#fff;margin:0 7px 7px 0}

/* V0.18 — contraste PC, sélection fiable et Interclubs */
#battTeamsApp .batt-individual-families button{
  background:#fff !important;color:#111 !important;border-color:#ccc !important;border-top-color:#111 !important;
}
#battTeamsApp .batt-individual-families button small{color:#5f6368 !important}
#battTeamsApp .batt-individual-families button.active{
  background:#fffdf2 !important;color:#111 !important;border-top-color:var(--batt-red) !important;box-shadow:none !important;
}
#battTeamsApp .batt-individual-families button.active small{color:#555 !important}
#battTeamsApp .batt-add-player-btn{background:#111 !important;color:#fff !important;border-color:#111 !important;font-weight:900}
#battTeamsApp .batt-add-player-btn:hover{background:#2d2d2d !important;color:#fff !important}
#battTeamsApp .batt-interclub-workspace{margin-top:14px}
#battTeamsApp .batt-interclub-workspace .batt-team{min-height:180px}
#battTeamsApp .batt-coach-team-calendar details{border:1px solid #d9d9d9;border-left:4px solid var(--batt-yellow);padding:8px 10px;background:#fffdf2;border-radius:4px}
#battTeamsApp .batt-coach-team-calendar details>summary{cursor:pointer;font-weight:950;color:#111;list-style-position:inside}
#battTeamsApp .batt-coach-team-calendar details[open]>summary{margin-bottom:8px}
@media(min-width:701px){
  #battTeamsApp .batt-individual-families button{min-height:88px}
}


/* V0.26 — contraste actions, convocations et arbitrage */
#battTeamsApp .batt-iconbtn{
  color:#111 !important;background:#fff !important;border:1px solid #777 !important;
  font-weight:900 !important;opacity:1 !important;text-shadow:none !important;
}
#battTeamsApp .batt-iconbtn:hover{background:#fff4bd !important;border-color:#111 !important;color:#111 !important}
#battTeamsApp .batt-iconbtn.batt-strong-action{background:var(--batt-yellow) !important;border-color:#d1ab00 !important;color:#111 !important;white-space:nowrap}
#battTeamsApp .batt-iconbtn.batt-danger-action{background:#fff0f0 !important;border-color:#c74444 !important;color:#8d1212 !important;white-space:nowrap}
#battTeamsApp .batt-remove{display:inline-grid !important;place-items:center !important;flex:0 0 30px !important;width:30px !important;min-width:30px !important;max-width:30px !important;height:30px !important;min-height:30px !important;padding:0 !important;border-radius:50% !important;background:#f8dddd !important;color:#8d1212 !important;border:1px solid #e7b4b4 !important;line-height:1 !important}
#battTeamsApp .batt-team-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
#battTeamsApp .batt-convocation-btn{background:#111 !important;color:#fff !important;border:1px solid #111 !important}
#battTeamsApp .batt-officials{margin:0 10px 10px;border:1px solid #d8d8d2;border-left:5px solid var(--batt-yellow);background:#fffdf2;padding:10px}
#battTeamsApp .batt-officials-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}
#battTeamsApp .batt-officials-title small{color:#666}
#battTeamsApp .batt-official-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#battTeamsApp .batt-official-grid label{font-size:10px;text-transform:uppercase;font-weight:950;color:#555}
#battTeamsApp .batt-official-grid input{display:block;width:100%;margin-top:4px;padding:8px;border:1px solid #aaa;background:#fff;color:#111}
#battTeamsApp .batt-manual-burn-note{margin-top:10px;background:#fff3f3;border-left-color:var(--batt-red)}
@media(max-width:760px){#battTeamsApp .batt-official-grid{grid-template-columns:1fr}#battTeamsApp .batt-team-foot{align-items:flex-start;flex-direction:column}#battTeamsApp .batt-team-actions{width:100%;justify-content:stretch}#battTeamsApp .batt-team-actions .batt-btn{flex:1 1 auto}}

/* V0.27 — section Arbitrage commune Coach / Directeur sportif / Administration */
#battTeamsApp .batt-arbitration-form{display:grid;grid-template-columns:minmax(240px,2fr) auto auto minmax(220px,1.5fr) auto;gap:10px;align-items:end;margin-bottom:14px;padding:12px;background:#fff9d8;border:1px solid #eadc83}
#battTeamsApp .batt-arbitration-form label{font-size:11px;font-weight:900;color:#444}
#battTeamsApp .batt-arbitration-form select,#battTeamsApp .batt-arbitration-form input{display:block;width:100%;margin-top:5px;padding:9px;border:1px solid #aaa;background:#fff;color:#111}
#battTeamsApp .batt-arbitration-form .batt-checkline{align-self:center;margin:0;padding:9px 6px;white-space:nowrap}
#battTeamsApp .batt-arbitration-form .batt-checkline input{display:inline-block;width:18px;height:18px;margin:0}
#battTeamsApp .batt-arbitration-filters{display:grid;grid-template-columns:minmax(220px,1fr) 220px;gap:8px;margin:0 0 10px}
#battTeamsApp .batt-arbitration-filters input,#battTeamsApp .batt-arbitration-filters select{padding:9px;border:1px solid #aaa;background:#fff}
#battTeamsApp .batt-ref-history summary{cursor:pointer;font-weight:900;color:#111}
#battTeamsApp .batt-ref-history-list{margin-top:7px;display:grid;gap:6px;min-width:260px}
#battTeamsApp .batt-ref-history-list>div{border-left:3px solid var(--batt-yellow);padding:5px 8px;background:#fafaf7;display:grid;gap:2px}
#battTeamsApp .batt-ref-history-list span{font-size:11px;color:#555}
#battTeamsApp .batt-row-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
#battTeamsApp .batt-training-form .batt-wide{grid-column:1/-1}
#battTeamsApp #arbitrationStudents{min-height:150px}
#battTeamsApp .batt-training-list{display:grid;gap:10px;margin-top:16px}
#battTeamsApp .batt-training-card{border:1px solid #d6d6d1;border-left:6px solid #111;background:#fff;padding:14px}
#battTeamsApp .batt-training-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
#battTeamsApp .batt-training-head h4{margin:6px 0 3px;font-size:18px}.batt-training-head p{margin:0;color:#666}
#battTeamsApp .batt-training-meta{display:grid;grid-template-columns:1fr 2fr;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid #eee}
#battTeamsApp .batt-training-meta>div{display:flex;flex-direction:column;gap:3px}.batt-training-meta b{font-size:11px;text-transform:uppercase;color:#555}
#battTeamsApp .batt-training-meta a{color:#111;font-weight:800}.batt-training-notes{margin:10px 0 0;background:#f7f7f4;padding:8px;border-left:3px solid var(--batt-yellow)}
#battTeamsApp .batt-muted{color:#777;font-size:11px}
@media(max-width:1000px){#battTeamsApp .batt-arbitration-form{grid-template-columns:1fr 1fr}.batt-arbitration-form .batt-btn{grid-column:1/-1}#battTeamsApp .batt-training-meta{grid-template-columns:1fr}}
@media(max-width:650px){#battTeamsApp .batt-arbitration-form,#battTeamsApp .batt-arbitration-filters{grid-template-columns:1fr}#battTeamsApp .batt-training-head{flex-direction:column}}

/* V0.29 — suivi des convocations */
.batt-convocation-filters{display:grid;grid-template-columns:minmax(260px,2fr) minmax(180px,1fr);gap:10px}.batt-convocation-filters input,.batt-convocation-filters select{width:100%;padding:9px;border:1px solid #bbb;border-radius:4px;background:#fff}.batt-convocation-summary{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.batt-convocation-list{display:flex;flex-direction:column;gap:14px}.batt-convocation-card .batt-card-head small{display:block;margin-top:4px;color:#d8d8d8}.batt-conv-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.batt-conv-meta span{background:#f4f4f1;border:1px solid #ddd;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800}.batt-conv-message{margin:0 0 10px}.batt-convocation-table{min-width:980px}.batt-convocation-table td{vertical-align:middle}.batt-convocation-table select,.batt-convocation-table input[type="text"],.batt-convocation-table input:not([type]){padding:7px;border:1px solid #bbb;border-radius:4px}.batt-convocation-table [data-conv-note]{min-width:180px;width:100%;padding:7px;border:1px solid #bbb;border-radius:4px}.batt-conv-contact{display:block;color:#666;margin-top:4px;line-height:1.4}.batt-inline-check{display:inline-flex;gap:5px;align-items:center;font-size:11px;font-weight:850;margin-right:6px}.batt-seat-input{width:64px;padding:7px;border:1px solid #bbb;border-radius:4px}.batt-card-head-actions .batt-btn.light{background:#fff!important;color:#111!important;border-color:#ddd!important}
@media(max-width:750px){.batt-convocation-filters{grid-template-columns:1fr}.batt-convocation-card .batt-card-head{align-items:flex-start;flex-direction:column}.batt-convocation-card .batt-card-head-actions{width:100%;justify-content:flex-start}}

/* V0.30 — liens de réponse joueur */
.batt-conv-row-actions{display:flex;gap:6px;flex-wrap:wrap;min-width:180px}.batt-conv-row-actions .batt-btn{white-space:nowrap}

/* V0.31 — disponibilités anticipées, discussion équipe et code FFTT domicile */
.batt-score-code{margin:12px 14px;padding:12px 14px;border:2px solid #111;background:#fff8d6;border-radius:10px}.batt-score-code label{display:grid;gap:7px;font-weight:900}.batt-score-code input{width:100%;max-width:420px;padding:10px 12px;border:1px solid #999;border-radius:8px;font:inherit;background:#fff}.batt-score-code small{display:block;margin-top:7px;color:#666}
.batt-slot-unavailable{border-color:#b3261e!important;background:#fff4f3!important}.batt-slot-unavailable strong{color:#8c1d18}
.batt-availability-box{margin-top:22px;padding-top:18px;border-top:2px solid #111}.batt-original-message{white-space:pre-wrap;padding:8px 10px;background:#f7f7f7;border-left:4px solid #111;max-width:520px}
.batt-chat-overlay{position:fixed;inset:0;background:#0008;z-index:100010;display:none;align-items:center;justify-content:center;padding:18px}.batt-chat-overlay.open{display:flex}.batt-chat-modal{width:min(760px,100%);max-height:90vh;background:#fff;border-top:7px solid #111;border-bottom:6px solid var(--batt-yellow);display:flex;flex-direction:column;box-shadow:0 28px 90px #0008}.batt-chat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:16px 18px;border-bottom:1px solid #ddd}.batt-chat-head h3{margin:0 0 4px}.batt-chat-head button{border:0;background:#111;color:#fff;width:36px;height:36px;font-size:22px;cursor:pointer}.batt-chat-messages{padding:16px 18px;overflow:auto;display:grid;gap:10px;min-height:260px}.batt-chat-message{border:1px solid #ddd;border-radius:10px;padding:10px 12px;background:#fafafa}.batt-chat-message.system{background:#fff8d6;border-color:#f0cf62}.batt-chat-author{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:5px}.batt-chat-author small{color:#777}.batt-chat-body{white-space:pre-wrap}.batt-chat-compose{padding:14px 18px;border-top:1px solid #ddd;background:#f7f7f4}.batt-chat-compose textarea{width:100%;resize:vertical;border:1px solid #bbb;border-radius:8px;padding:10px;font:inherit;margin-bottom:9px}
@media(max-width:650px){.batt-chat-overlay{padding:0}.batt-chat-modal{width:100%;height:100%;max-height:none}.batt-score-code input{max-width:none}}
.batt-unavailability-message{margin-top:7px;padding:7px 9px;background:#fce8e6;border-left:4px solid #b3261e;color:#7a1a16;font-size:12px;white-space:pre-wrap}

/* V0.32 — validation / dévalidation explicite des équipes */
.batt-team-validation{margin-top:8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.batt-team-actions .batt-btn.green{background:#167a45;color:#fff;border-color:#167a45}.batt-team-actions .batt-btn.green:hover{filter:brightness(.95)}
.batt-chat-sheet{display:flex;align-items:center;justify-content:space-between;gap:14px;border:2px solid #111;background:#fff8d6;border-radius:10px;padding:12px 14px}.batt-chat-sheet b{display:block;margin-bottom:3px}.batt-chat-sheet small{display:block;color:#555}@media(max-width:650px){.batt-chat-sheet{align-items:stretch;flex-direction:column}.batt-chat-sheet .batt-btn{width:100%}}

/* V0.34 — fiche joueur enrichie */
.batt-player-message-box{margin:16px 0;border:1px solid #d7d7d7;border-radius:12px;background:#fff}.batt-player-message-box summary{cursor:pointer;font-weight:800;padding:13px 15px;background:#f7f7f7;border-radius:12px}.batt-player-message-box[open] summary{border-bottom:1px solid #e5e5e5;border-radius:12px 12px 0 0}.batt-player-message-box>p,.batt-player-message-box>.batt-form-grid,.batt-player-message-box>.batt-actions{margin-left:15px;margin-right:15px}.batt-player-message-box>.batt-actions{margin-bottom:15px}.batt-match-history-group{margin:14px 0 20px}.batt-match-history-group h5{margin:0;padding:9px 12px;background:#111;color:#fff;border-left:6px solid #ffd21f;font-size:14px}.batt-match-history-group table{margin-top:0}.batt-burn-limit{display:grid;gap:4px;padding:11px 13px;border-radius:10px;margin:10px 0;border-left:5px solid #aaa}.batt-burn-limit.ok{background:#eef8f1;border-color:#18864b}.batt-burn-limit.bad{background:#fff0f0;border-color:#c62828}.batt-burn-limit span{line-height:1.35}.batt-burn-limit small{color:#555}.batt-delete-availability{white-space:nowrap}

/* V0.35 — Centre Messages Coach */
#battTeamsApp .batt-message-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
#battTeamsApp .batt-message-tabs button{border:1px solid #bbb;background:#fff;color:#111;padding:9px 12px;border-radius:6px;font-weight:900;cursor:pointer}
#battTeamsApp .batt-message-tabs button.active{background:#111;color:#fff;border-color:#111;box-shadow:inset 0 -4px 0 var(--batt-yellow)}
#battTeamsApp .batt-message-view{display:none}
#battTeamsApp .batt-message-view.active{display:block}
#battTeamsApp .batt-message-item{border:1px solid #ddd;border-left:6px solid #aaa;border-radius:8px;padding:13px 14px;margin:0 0 10px;background:#fff}
#battTeamsApp .batt-message-item.todo{border-left-color:var(--batt-yellow);background:#fffdf3}
#battTeamsApp .batt-message-item-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:9px}
#battTeamsApp .batt-message-item-head small{display:block;color:#666;margin-top:3px}
#battTeamsApp .batt-message-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
#battTeamsApp .batt-message-interpretation{margin-top:9px;background:#f7f7f4;border:1px solid #ddd;padding:8px 10px}
#battTeamsApp .batt-message-interpretation summary{cursor:pointer;font-weight:850}
#battTeamsApp .batt-message-interpretation pre{white-space:pre-wrap;overflow:auto;font-size:11px;margin:8px 0 0}
#battTeamsApp .batt-message-conv{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 12px;border:1px solid #ddd;border-left:5px solid #111;background:#fff;margin-bottom:8px}
#battTeamsApp .batt-message-conv small{display:block;margin-top:3px;color:#666}
#battTeamsApp .batt-message-preview{display:inline-block;max-width:520px;white-space:pre-wrap;line-height:1.35}
#battTeamsApp .batt-error-inline{margin-top:5px;color:#a61919;font-size:11px;font-weight:800}
#battTeamsApp .batt-message-out-filter select{padding:7px 9px;border:1px solid #bbb;background:#fff}
#battTeamsApp .batt-message-compose-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px}
#battTeamsApp .batt-message-recipient-tools{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,2fr) minmax(160px,1fr) auto auto;gap:8px;align-items:center}
#battTeamsApp .batt-message-recipient-tools input,#battTeamsApp .batt-message-recipient-tools select{padding:9px;border:1px solid #aaa;background:#fff;min-width:0}
#battTeamsApp .batt-message-recipient-list{grid-column:1/-1;max-height:330px;overflow:auto;border:1px solid #ddd;background:#fafaf8;padding:7px}
#battTeamsApp .batt-message-recipient{display:grid;grid-template-columns:26px minmax(180px,1fr) auto;gap:9px;align-items:center;padding:9px 10px;border-bottom:1px solid #e2e2de;background:#fff;cursor:pointer}
#battTeamsApp .batt-message-recipient:last-child{border-bottom:0}
#battTeamsApp .batt-message-recipient:has(input:checked){background:#fff8d6;box-shadow:inset 4px 0 0 var(--batt-yellow)}
#battTeamsApp .batt-message-recipient input{width:18px;height:18px}
#battTeamsApp .batt-message-recipient small{display:block;color:#666;margin-top:2px}
#battTeamsApp .batt-message-body{grid-column:1/-1}
#battTeamsApp .batt-message-body textarea{width:100%;padding:10px;border:1px solid #aaa;background:#fff;font:inherit;resize:vertical}
#battTeamsApp .batt-message-match-field.required-context{background:#fff8d6;padding:8px;border:1px solid #eadc83}
#battTeamsApp .batt-ref-message{display:block;margin-top:7px}
@media(max-width:900px){#battTeamsApp .batt-message-recipient-tools{grid-template-columns:1fr 1fr}#battTeamsApp .batt-message-compose-grid{grid-template-columns:1fr}}
@media(max-width:650px){#battTeamsApp .batt-message-tabs{display:grid;grid-template-columns:1fr 1fr}#battTeamsApp .batt-message-item-head,#battTeamsApp .batt-message-conv{flex-direction:column;align-items:flex-start}#battTeamsApp .batt-message-recipient-tools{grid-template-columns:1fr}#battTeamsApp .batt-message-recipient{grid-template-columns:26px 1fr}#battTeamsApp .batt-message-recipient>span:last-child{grid-column:2}}
#battTeamsApp .batt-message-channel-tools{display:grid;grid-template-columns:minmax(240px,2fr) minmax(180px,1fr);gap:9px;margin-bottom:14px}
#battTeamsApp .batt-message-channel-tools input,#battTeamsApp .batt-message-channel-tools select{padding:9px 10px;border:1px solid #aaa;background:#fff}
#battTeamsApp .batt-message-channel-group{border:1px solid #ddd;background:#fafaf8;margin-bottom:14px}
#battTeamsApp .batt-message-channel-group-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;background:#111;color:#fff;border-bottom:4px solid var(--batt-yellow)}
#battTeamsApp .batt-message-channel-group-head h4{margin:0;color:#fff}
#battTeamsApp .batt-message-channel-group-head span{font-size:12px;font-weight:850}
#battTeamsApp .batt-message-channel-card{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:12px;border-bottom:1px solid #ddd;background:#fff}
#battTeamsApp .batt-message-channel-card:last-child{border-bottom:0}
#battTeamsApp .batt-message-channel-main{min-width:0;flex:1}
#battTeamsApp .batt-message-channel-title{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:5px}
#battTeamsApp .batt-message-channel-main>small{display:block;color:#666;margin-top:4px}
#battTeamsApp .batt-message-channel-preview{margin-top:8px;padding:8px 10px;background:#f7f7f4;border-left:4px solid var(--batt-yellow);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#battTeamsApp .batt-message-channel-preview span{color:#333}
@media(max-width:650px){#battTeamsApp .batt-message-channel-tools{grid-template-columns:1fr}#battTeamsApp .batt-message-channel-card{align-items:stretch;flex-direction:column}#battTeamsApp .batt-message-channel-card .batt-btn{width:100%}#battTeamsApp .batt-message-channel-preview{white-space:normal}}
/* V0.37 — supervision des conversations à traiter */
#battTeamsApp .batt-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:5px;border-radius:999px;background:#c62828;color:#fff;font-size:11px;font-weight:900;vertical-align:middle}
#battTeamsApp .batt-tab-count[hidden]{display:none!important}
#battTeamsApp .batt-message-channel-group.has-attention{border-color:#d8a300;box-shadow:0 0 0 2px #f3cf4930}
#battTeamsApp .batt-message-channel-card.needs-attention{background:#fff9dc;border-left:5px solid #d39f00}
#battTeamsApp .batt-message-channel-card.handled{background:#fff}
#battTeamsApp .batt-message-channel-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
#battTeamsApp .batt-badge.red{background:#b71c1c;color:#fff}
#battTeamsApp .batt-badge.green{background:#16763a;color:#fff}
#battTeamsApp .batt-message-channel-tools{grid-template-columns:minmax(240px,2fr) minmax(170px,1fr) minmax(150px,1fr)}
@media(max-width:800px){#battTeamsApp .batt-message-channel-tools{grid-template-columns:1fr 1fr}#battTeamsApp .batt-message-channel-tools input{grid-column:1/-1}}
@media(max-width:650px){#battTeamsApp .batt-message-channel-tools{grid-template-columns:1fr}#battTeamsApp .batt-message-channel-tools input{grid-column:auto}#battTeamsApp .batt-message-channel-actions{display:grid;grid-template-columns:1fr;width:100%}#battTeamsApp .batt-message-channel-actions .batt-btn{width:100%}}

/* V0.38 — actions rapides du Centre Messages Coach */
#battTeamsApp .batt-message-conv{flex-wrap:wrap}
#battTeamsApp .batt-message-conv-main{min-width:210px;flex:1}
#battTeamsApp .batt-message-conv-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
#battTeamsApp .batt-message-channel-quick{flex-basis:100%;margin-top:8px;padding:10px;background:#f7f7f4;border-top:1px solid #ddd}
#battTeamsApp .batt-message-channel-quick textarea{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid #aaa;background:#fff;resize:vertical}
#battTeamsApp .batt-message-channel-quick .batt-inline-check{display:flex;gap:7px;align-items:center;margin:8px 0;font-size:12px;color:#444}
#battTeamsApp .batt-message-channel-quick-actions{display:flex;gap:7px;flex-wrap:wrap}
@media(max-width:650px){#battTeamsApp .batt-message-conv-actions,#battTeamsApp .batt-message-channel-quick-actions{display:grid;grid-template-columns:1fr;width:100%}#battTeamsApp .batt-message-conv-actions .batt-btn,#battTeamsApp .batt-message-channel-quick-actions .batt-btn{width:100%}}

/* V0.39 — modèles de messages Coach */
.batt-message-template-chooser{grid-column:1/-1}
.batt-inline-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.batt-inline-actions select{min-width:260px;flex:1}
.batt-template-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);gap:18px;align-items:start}
.batt-template-list{display:flex;flex-direction:column;gap:10px;max-height:680px;overflow:auto}
.batt-template-item{border:1px solid #ddd;border-radius:12px;padding:12px;background:#fff;display:flex;justify-content:space-between;gap:12px;align-items:center}
.batt-template-item.is-inactive{opacity:.65;background:#f7f7f7}
.batt-template-item small{display:block;margin-top:4px;color:#666}
.batt-template-item>div:last-child{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.batt-template-editor{border:1px solid #ddd;border-radius:14px;padding:16px;background:#fafafa;display:grid;gap:12px}
.batt-template-editor .batt-field{margin:0}
.batt-btn.batt-danger{border-color:#b42318;color:#b42318}
@media(max-width:820px){.batt-template-layout{grid-template-columns:1fr}.batt-template-list{max-height:none}.batt-template-item{align-items:flex-start;flex-direction:column}.batt-template-item>div:last-child{justify-content:flex-start}}

/* V0.40 — Compétitions extérieures & planning entraîneurs */
.batt-coach-subpage{min-height:100vh;background:#f4f5f7}.batt-feature-card{background:#fff;border:1px solid #e1e4e8;border-radius:14px;padding:18px;margin:16px 0;box-shadow:0 3px 14px rgba(0,0,0,.04)}.batt-feature-card h2{margin-top:0}.batt-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.batt-feature-grid label{display:flex;flex-direction:column;gap:6px;font-weight:700}.batt-feature-grid input,.batt-feature-grid select,.batt-feature-grid textarea{width:100%;padding:10px;border:1px solid #ccd1d7;border-radius:8px;background:#fff}.batt-feature-grid .wide{grid-column:1/-1}.batt-feature-table-wrap{overflow:auto}.batt-feature-table{width:100%;border-collapse:collapse;min-width:850px}.batt-feature-table th,.batt-feature-table td{padding:10px;border-bottom:1px solid #eceff1;text-align:left;vertical-align:top}.batt-feature-table td small{display:block;color:#68707a;margin-top:4px}.batt-feature-table tr.is-past{opacity:.7}.batt-feature-notice{padding:12px 14px;background:#eef7ee;border-left:5px solid #2e7d32;margin:16px 0}.batt-feature-notice.warning{background:#fff6e5;border-left-color:#d17a00}.batt-feature-filter{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.batt-feature-filter label{display:flex;flex-direction:column;gap:5px;font-weight:700}.batt-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:16px}.batt-summary-grid article{border:1px solid #e6e8eb;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:5px}.batt-summary-grid article strong{font-size:1.05rem}.batt-summary-grid article span{color:#505862}.batt-conflict{padding:10px 12px;border:1px solid #f0c36d;background:#fff9e9;border-radius:8px;margin:8px 0}.batt-conflict span{display:block;margin-top:4px}.batt-feature-ok{font-weight:700;color:#2e7d32}@media(max-width:800px){.batt-feature-grid{grid-template-columns:1fr}.batt-feature-grid .wide{grid-column:auto}.batt-feature-card{border-radius:10px;padding:14px}.batt-coach-subpage .batt-coach-head{align-items:flex-start;gap:10px;flex-direction:column}}
.batt-inline-status{display:flex;gap:5px;align-items:center;margin-bottom:5px}.batt-inline-status select{max-width:125px;padding:6px;border:1px solid #ccd1d7;border-radius:7px}

/* V0.41.4 — BATT Assistant intégré à Composition journée */
.batt-ai-compose{margin:18px 0 22px;background:#fff;border:1px solid #dedede;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.05)}
.batt-ai-compose-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;background:#111;color:#fff;border-bottom:4px solid #ffd21f}
.batt-ai-compose-head>div:first-child{display:flex;align-items:flex-start;gap:12px;min-width:0}.batt-ai-compose-head h3{margin:0 0 3px;font-size:18px;color:#fff}.batt-ai-compose-head p{margin:0;color:#ddd;font-size:13px;line-height:1.35}.batt-ai-mark{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:#ffd21f;color:#111;font-weight:900;font-size:20px}
.batt-ai-guidance{margin:14px 16px 0;padding:12px 14px;border:1px solid #dedede;border-radius:14px;background:#fafafa}.batt-ai-guidance label{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.batt-ai-guidance label span{font-size:12px;color:#666;font-weight:600}.batt-ai-guidance textarea{width:100%;resize:vertical;min-height:64px;border:1px solid #ccc;border-radius:10px;padding:9px 10px;font:inherit;background:#fff}.batt-ai-guidance>div{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}.batt-ai-guidance small{color:#666;line-height:1.35}
.batt-ai-quick{display:flex;gap:8px;flex-wrap:wrap;padding:12px 16px 0}.batt-ai-quick button{border:1px solid #d8d8d8;background:#f7f7f7;border-radius:999px;padding:8px 12px;font-weight:700;cursor:pointer}.batt-ai-quick button:hover{border-color:#111;background:#fff}
.batt-ai-thread{margin:12px 16px;max-height:360px;overflow:auto;padding:12px;background:#f6f6f6;border-radius:14px;display:flex;flex-direction:column;gap:10px}.batt-ai-msg{max-width:88%;padding:10px 12px;border-radius:14px;line-height:1.4}.batt-ai-msg b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.batt-ai-msg p{margin:0;white-space:normal}.batt-ai-msg.bot{align-self:flex-start;background:#fff;border:1px solid #ddd}.batt-ai-msg.user{align-self:flex-end;background:#111;color:#fff}.batt-ai-msg.is-typing{opacity:.72}
.batt-ai-followup{margin-top:10px}.batt-ai-action{margin-top:10px;padding:10px;border-radius:10px;background:#fff8d8;border:1px solid #f2d24c;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.batt-ai-action strong{font-size:12px}.batt-ai-action span{flex:1;min-width:180px}.batt-ai-feedback{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px;padding-top:8px;border-top:1px solid #eceff2}.batt-ai-feedback span{font-size:10px;color:#667085;font-weight:700}.batt-ai-feedback button{appearance:none;border:1px solid #d8dde3;background:#f7f8fa;border-radius:999px;padding:4px 7px;cursor:pointer;font-size:13px;line-height:1}.batt-ai-feedback button:hover{background:#111;color:#fff;border-color:#111}.batt-ai-feedback button:disabled{opacity:.45;cursor:default}.batt-ai-form{display:flex;align-items:flex-end;gap:10px;padding:0 16px 16px}.batt-ai-form textarea{flex:1;min-height:58px;resize:vertical;border:1px solid #ccc;border-radius:12px;padding:10px 12px;font:inherit}
@media(max-width:760px){.batt-ai-guidance{margin-left:10px;margin-right:10px}.batt-ai-guidance label,.batt-ai-guidance>div{align-items:flex-start;flex-direction:column}.batt-ai-compose-head{align-items:flex-start}.batt-ai-compose-head p{display:none}.batt-ai-quick{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.batt-ai-quick button{white-space:nowrap}.batt-ai-thread{max-height:320px;margin-left:10px;margin-right:10px}.batt-ai-msg{max-width:96%}.batt-ai-form{padding-left:10px;padding-right:10px;flex-direction:column;align-items:stretch}}

/* V0.42 — workflow inscriptions Coach */
#battTeamsApp .batt-workflow-summary{margin:12px 0 16px;padding:12px 14px;border:1px solid #ddd;border-left:5px solid var(--batt-yellow);border-radius:12px;background:#fafafa}
#battTeamsApp .batt-workflow-summary .batt-flags{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
#battTeamsApp .batt-suggestion-list{margin-top:10px;padding-top:8px;border-top:1px solid #e1e1e1}
#battTeamsApp .batt-suggestion-list summary{cursor:pointer;font-weight:800}
#battTeamsApp .batt-suggestion-row{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid #ececec}
#battTeamsApp .batt-suggestion-row span{color:#666;text-align:right}
#battTeamsApp .batt-suggestion-list small{display:block;margin-top:8px;color:#666}
@media(max-width:650px){#battTeamsApp .batt-suggestion-row{flex-direction:column;gap:2px}#battTeamsApp .batt-suggestion-row span{text-align:left}}

/* V0.42.1 — continuité avec le shell logiciel Gestion BATT */
.batt-coach-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
@media(max-width:700px){.batt-coach-head-actions{width:100%}.batt-coach-head-actions .batt-btn{flex:1 1 auto}}
