:root{--pad: 8px;--gap: 10px;--radius: 12px;--bd: 1px solid #e6e6e6;--bd2: 1px solid #ddd}html,body{height:100%;margin:0;padding:0;background:#fff;overflow:hidden}.appWrap{width:100vw;height:100vh;margin:0;padding:var(--pad);overflow:hidden}.toast{position:fixed;top:12px;left:50%;transform:translate(-50%);background:#111;color:#fff;padding:10px 12px;border-radius:999px;font-weight:900;z-index:999}.topBar{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--gap);padding:4px 0}.h1{margin:0;font-size:clamp(14px,2vw,22px);font-weight:1000}.subtitle{font-size:clamp(10px,1.2vw,12px);opacity:.7}.topActions{display:flex;gap:8px;align-items:center}.hr{margin:4px 0;border:0;border-top:1px solid #eee}.panel{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:12px;box-shadow:0 2px 8px #0000000a}.subPanel{border:var(--bd);border-radius:var(--radius);padding:10px;background:#fafafa}.h2{margin:0 0 10px;font-size:18px;font-weight:1000}.subTitle{font-weight:1000;margin-bottom:6px}.muted{opacity:.75}.mutedSmall{font-size:12px;opacity:.7}.hint{font-size:12px;opacity:.75}.error{color:#b91c1c;font-weight:900}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}.gridCards{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--gap)}@media(max-width:920px){.grid2{grid-template-columns:1fr}.gridCards{grid-template-columns:repeat(2,1fr)}}.row{display:flex;gap:8px;align-items:center}.rowWrap{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.input,.select{width:100%;padding:10px;border-radius:12px;border:var(--bd2);font-weight:800}.labelBlock{display:grid;gap:6px;font-weight:900}.labelInline{display:flex;gap:10px;align-items:center;font-weight:900}.color{width:56px;height:42px;border:none;background:transparent}.check{display:flex;gap:10px;align-items:center;font-weight:900}button{border-radius:12px;border:var(--bd2);background:#fff;font-weight:1000;cursor:pointer;padding:10px 12px}button:disabled{opacity:.5;cursor:not-allowed}.btnPrimary{background:#111;color:#fff;border:1px solid #111}.btnGhost{background:#fff}.btnDanger{background:#fff;border:2px solid #b91c1c;color:#b91c1c}.card{border:var(--bd);border-radius:var(--radius);padding:10px;background:#fff}.cardLabel{font-size:12px;opacity:.7;font-weight:1000}.cardValue{font-size:22px;font-weight:1100}.stack{display:grid;gap:8px}.teamRow{display:flex;justify-content:space-between;gap:10px;align-items:center;border:var(--bd);border-radius:var(--radius);padding:10px}.teamName{font-weight:1100}.playerRow{display:flex;justify-content:space-between;gap:10px;align-items:center;border:var(--bd);border-radius:var(--radius);padding:10px}.playerRow.inactive{opacity:.55}.playerCell{display:flex;gap:10px;align-items:center}.bold{font-weight:1100}.stickyBar{background:#1f2937;color:#fff;border-radius:14px;padding:12px;box-shadow:0 4px 14px #0000002e}.stickyTopRow{display:grid;grid-template-columns:140px 1fr auto;gap:10px;align-items:center}@media(max-width:920px){.stickyTopRow{grid-template-columns:120px 1fr}}.playerToggleBtn{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%}.tableWrap{width:100%;overflow-x:auto;margin-top:10px;border:var(--bd);border-radius:var(--radius);background:#fff}.table{width:100%;min-width:1100px;border-collapse:collapse;background:#fff;font-size:13px}.table th,.table td{border:1px solid #d9d9d9;padding:8px 10px;white-space:nowrap;vertical-align:middle}.table th{background:#f5f5f5;text-align:center;font-weight:700}.table td{text-align:left}.table td.num,.table th.num,.num{text-align:center}.table tbody tr:nth-child(2n){background:#fcfcfc}.table tbody tr:hover{background:#f7f7f7}.nowrap{white-space:nowrap}.min1400{min-width:1100px}.col-joueuse{width:120px;max-width:120px}.col-matchs{width:60px;max-width:60px}.col-analyse{text-align:left;width:220px;min-width:220px;padding:8px 10px;white-space:normal;word-break:break-word}.table th.col-analyse,.table td.col-analyse{border:1px solid #d9d9d9!important;vertical-align:middle}.fileBtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;border:var(--bd2);padding:10px 12px;cursor:pointer;font-weight:1000;background:#fff}.logBox{margin-top:10px;padding:10px;border-radius:12px;border:var(--bd);background:#fafafa;min-height:60px}.logo{animation:logoEnter .8s ease-out,float 4s ease-in-out infinite;filter:drop-shadow(0 10px 20px rgba(0,0,0,.12))}@keyframes logoEnter{0%{opacity:0;transform:scale(.85) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.teamRow:hover{transform:translateY(-2px)}.pageContainer{width:100%;max-width:1400px;margin:0 auto;padding:24px;box-sizing:border-box}.matchCockpit{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(380px,1.3fr);gap:clamp(6px,1vw,12px);align-items:stretch;height:calc(100vh - clamp(50px,8vh,80px))}.matchPilotPanel{border-radius:14px;padding:clamp(8px,1.2vh,14px);background:linear-gradient(135deg,#f5f3ff,#fff);border:2px solid #8b5cf6;display:flex;flex-direction:column;gap:clamp(4px,.8vh,10px);justify-content:space-between;overflow:hidden}.matchStatsPanel{border-radius:14px;padding:clamp(8px,1.2vh,14px);background:linear-gradient(135deg,#f0fdf4,#fff);border:2px solid #bbf7d0;display:flex;flex-direction:column;gap:clamp(4px,.8vh,10px);overflow:hidden}.matchChronoQtRow{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2px}.matchChronoQt{font-size:clamp(14px,2.2vh,22px);font-weight:900;color:#1a1a2e}.matchChronoAdversaire{font-size:clamp(11px,1.5vh,14px);color:#6b7280;font-weight:600}.matchChronoTime{font-size:clamp(32px,6vh,64px);font-weight:1100;letter-spacing:-2px;font-variant-numeric:tabular-nums;line-height:1;color:#1a1a2e;text-align:center;display:block;width:100%}.matchChronoTerrain{font-size:clamp(10px,1.3vh,13px);color:#9ca3af;margin-top:2px;text-align:center}.matchChronoTerrain b{color:#16a34a;font-weight:800}.matchControls{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(4px,.6vh,8px)}.matchControls button{height:clamp(34px,4.5vh,54px);border-radius:10px;font-size:clamp(10px,1.3vh,14px);font-weight:800;border:none;cursor:pointer;transition:opacity .15s}.matchControls button:disabled{opacity:.45;cursor:not-allowed}.matchBtnStart{background:#16a34a;color:#fff}.matchBtnQt{background:#e0e7ff;color:#3730a3}.matchBtnUndo{background:#f3f4f6;color:#374151;border:1px solid #d1d5db!important}.matchBtnEnd{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5!important}.matchPressBlock{display:flex;flex-direction:column;gap:clamp(3px,.5vh,7px)}.matchBlockTitle{font-size:clamp(11px,1.4vh,15px);font-weight:900;text-transform:uppercase;letter-spacing:.06em;text-align:center;color:#7c3aed;margin-bottom:2px}.matchPressWonRow{display:grid;grid-template-columns:1fr 1fr;gap:clamp(4px,.5vh,6px)}.matchPressBtnInt{height:clamp(32px,4vh,50px);border-radius:10px;border:1px solid #86efac;background:#dcfce7;color:#166534;font-size:clamp(10px,1.3vh,13px);font-weight:800;font-family:inherit;cursor:pointer}.matchPressBtnProv{height:clamp(32px,4vh,50px);border-radius:10px;border:1px solid #93c5fd;background:#dbeafe;color:#1e40af;font-size:clamp(10px,1.3vh,13px);font-weight:800;font-family:inherit;cursor:pointer}.matchPressStats{display:flex;gap:clamp(3px,.5vh,6px)}.matchPressStat{flex:1;text-align:center;background:#fffc;border-radius:8px;padding:clamp(3px,.5vh,8px) 4px;border:.5px solid #e5e7eb}.matchPressStatVal{font-size:clamp(16px,2.5vh,24px);font-weight:900}.matchPressStatLbl{font-size:clamp(9px,1.2vh,14px);color:#9ca3af;font-weight:800;font-style:italic}.matchBancTitle{font-size:clamp(11px,1.4vh,15px);font-weight:900;text-transform:uppercase;letter-spacing:.06em;text-align:center;color:#6b7280;margin-bottom:clamp(3px,.5vh,8px)}.matchBenchCompact{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(3px,.5vh,7px)}.matchBenchTile{border-radius:10px;border:1.5px dashed #d1d5db;background:#fff;padding:clamp(4px,.7vh,10px) 4px clamp(3px,.5vh,8px);text-align:center;cursor:pointer;transition:background .12s,border-color .12s;width:100%}.matchBenchTile:hover{background:#eff6ff;border-color:#93c5fd}.matchBenchTile:disabled{opacity:.45;cursor:not-allowed}.matchBenchNum{font-size:clamp(12px,1.8vh,18px);font-weight:900;color:#1a1a2e}.matchBenchName{font-size:clamp(9px,1.1vh,12px);font-weight:700;color:#374151;margin-top:1px}.matchBenchIn{display:block;margin-top:2px;font-size:clamp(8px,1vh,11px);font-weight:700;color:#16a34a}.matchSelectedBanner{background:#1a1a2e;border-radius:10px;padding:clamp(6px,.9vh,12px) 14px;display:flex;align-items:center;justify-content:center;gap:10px}.matchSelectedDot{width:9px;height:9px;border-radius:50%;background:#4ade80;flex-shrink:0}.matchSelectedLbl{font-size:clamp(9px,1.1vh,11px);color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.matchSelectedName{font-size:clamp(13px,1.8vh,18px);font-weight:800;color:#fff}.matchSelectedNone{font-size:clamp(11px,1.5vh,14px);color:#9ca3af;font-style:italic}.matchTerrainTitle{font-size:clamp(9px,1.1vh,11px);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#374151;text-align:center;margin-bottom:clamp(3px,.5vh,8px)}.gridOnCourt{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(3px,.5vh,7px)}.matchPlayerWrap{display:flex;flex-direction:column;gap:clamp(2px,.4vh,4px)}.tileBtn{background:#f8f9fc;color:#1f2937;border:1.5px solid #e5e7eb;border-radius:12px;font-weight:900;cursor:pointer;transition:background .15s,border-color .15s;padding:clamp(4px,.7vh,8px) 4px clamp(3px,.5vh,6px);text-align:center}.tileBtn:hover{background:#f0f9ff;border-color:#93c5fd}.tileSelected{background:#dcfce7;border:2px solid #16a34a;color:#166534}.tilePlayerNum{font-size:clamp(12px,1.8vh,18px);font-weight:900}.tilePlayerName{font-size:clamp(9px,1.1vh,12px);font-weight:700;color:#374151;margin-top:1px}.tilePlayerErr{font-size:clamp(8px,1vh,11px);font-weight:700;color:#dc2626;margin-top:2px}.tilePlayerErrNone{color:#d1d5db}.matchOutBtn{width:100%;height:clamp(18px,2.5vh,26px);border-radius:7px;border:none;background:#fee2e2;color:#991b1b;font-size:clamp(9px,1.1vh,13px);font-weight:700;cursor:pointer;text-align:center;display:flex;align-items:center;justify-content:center}.matchOutBtn:disabled{opacity:.45;cursor:not-allowed}.matchActionsWrap{display:flex;flex-direction:column;gap:clamp(4px,.6vh,10px);flex:1}.matchActionGroup{text-align:center}.matchActionGroupTitle{font-size:clamp(10px,1.3vh,15px);font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:clamp(3px,.5vh,8px);text-align:center}.mag-error{color:#dc2626}.mag-pos{color:#16a34a}.mag-score{color:#1d4ed8}.mag-miss{color:#dc2626}.matchActionGrid{display:grid;gap:clamp(3px,.5vh,7px)}.mag-3{grid-template-columns:repeat(3,1fr)}.mag-4{grid-template-columns:repeat(4,1fr)}.mag-span2{grid-column:span 2}.matchActBtn{width:100%;height:clamp(36px,5vh,60px);border-radius:10px;border:1.5px solid;font-size:clamp(9px,1.2vh,12px);font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;line-height:1.2;transition:opacity .12s}.matchActBtn:disabled{opacity:.4;cursor:not-allowed}.matchActBtn .actIcon{font-size:clamp(12px,1.6vh,16px)}.mab-err{background:#fff5f5;border-color:#fca5a5;color:#991b1b}.mab-pos{background:#f0fdf4;border-color:#86efac;color:#166534}.mab-score{background:#eff6ff;border-color:#93c5fd;color:#1e40af;font-size:clamp(16px,2.5vh,22px);font-weight:900}.mab-miss{background:#fff5f5;border-color:#fca5a5;color:#991b1b;font-size:clamp(14px,2vh,22px);font-weight:900}.matchRDivider{height:.5px;background:#bbf7d0;flex-shrink:0}.matchStatusGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.matchMiniCard{background:#ffffffbf;border:1px solid #e5e7eb;border-radius:12px;padding:8px;text-align:center;font-weight:900}.matchMiniLabel{font-size:11px;opacity:.7;margin-bottom:4px}.matchMiniValue{font-size:20px;font-weight:1100}@media(orientation:portrait){.appWrap{overflow-y:auto;height:auto;min-height:100vh}.matchCockpit{grid-template-columns:1fr;height:auto}.matchControls,.matchBenchCompact{grid-template-columns:repeat(4,1fr)}.mag-3{grid-template-columns:repeat(3,1fr)}.mag-4{grid-template-columns:repeat(2,1fr)}}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;min-width:320px;min-height:100vh}body{background:#f5f7fb;color:#213547}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}button{font-family:inherit}.matchQuickActions{display:flex;flex-direction:column;gap:18px;margin-top:18px}.matchActionGroup{padding:16px;border-radius:18px;background:#fff;border:1px solid #e5e7eb}.matchActionGroupTitle{font-size:18px;font-weight:1000;margin-bottom:12px}.matchActionGroupDefense .matchActionGroupTitle,.matchActionGroupScore .matchActionGroupTitle{color:#15803d}.matchActionGroupMiss .matchActionGroupTitle{color:#dc2626}.matchActionRow{display:grid;gap:10px}.matchActionRowDefense{grid-template-columns:repeat(5,minmax(0,1fr))}.matchActionRowScore{grid-template-columns:repeat(3,minmax(0,1fr))}.matchActionRowMiss{grid-template-columns:repeat(4,minmax(0,1fr))}.matchActionRow button{min-height:64px;border-radius:14px;border:1px solid #d1d5db;background:#fff;font-size:15px;font-weight:900;cursor:pointer;text-align:center}.matchActionRowScore button{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}.matchActionRowMiss button{background:#fef2f2;color:#dc2626;border-color:#fecaca}.matchActionRow button:disabled{opacity:.45;cursor:not-allowed}.matchTechRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.matchTechRow button{min-height:64px;border-radius:14px;border:1px solid #d1d5db;background:#fff;font-size:15px;font-weight:900;cursor:pointer;text-align:center}.matchTechRow button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:900px){.matchActionRowDefense,.matchActionRowScore,.matchActionRowMiss{grid-template-columns:repeat(2,minmax(0,1fr))}}.pressBenchBlock{margin-top:18px;padding:14px;border:1px solid #e5e7eb;border-radius:16px;background:#fff}.pressBenchTitle{font-weight:1000;font-size:24px;margin-bottom:18px;text-align:center}.pressBenchWinGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pressBenchWinGrid button,.pressBenchLostBtn{min-height:58px;border:none;border-radius:14px;color:#fff;font-size:18px;font-weight:1000;cursor:pointer}.pressBenchWinGrid button{background:#16a34a}.pressBenchLostBtn{width:100%;margin-top:14px;background:#dc2626}@media print{body{background:#fff!important}button,select,input{display:none!important}table{width:100%!important;border-collapse:collapse!important;page-break-inside:auto}tr{page-break-inside:avoid;page-break-after:auto}th,td{border:1px solid #d1d5db!important;padding:6px!important;font-size:11px!important;color:#000!important}h1,h2,h3{color:#000!important}.no-print{display:none!important}@page{size:A4 portrait;margin:10mm}}
