/* SWAT ACADEMY 1.2.0p — Mobile UX Pro */
:root{--swat-mobile-vh:100dvh;--swat-safe-top:env(safe-area-inset-top,0px);--swat-safe-bottom:env(safe-area-inset-bottom,0px);--swat-mobile-surface:#071219;--swat-mobile-surface-2:#0a1820;--swat-mobile-border:#173946;--swat-mobile-text:#e9f7fd;--swat-mobile-muted:#7898a7;--swat-mobile-accent:#18aef6}
@media(max-width:767px){
  html.swat-responsive-mobile,html.swat-responsive-mobile body{max-width:100%;overflow-x:hidden}
  body.swat-mobile-filter-lock{overflow:hidden!important;touch-action:none}
  main,.layout>main{min-width:0!important;max-width:100%!important}
  .panel,.card,.stat,.v11Stat{min-width:0;max-width:100%}
  .swat-mobile-scroll-zone{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}

  /* -------- Barre d'actions : compacte, 2 colonnes plutôt qu'une longue pile -------- */
  .headerActions,.pageHead .actions,.pageHeader .actions,.sectionHeadInline>.row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;align-items:stretch!important}
  .headerActions>*,.pageHead .actions>*,.pageHeader .actions>*,.sectionHeadInline>.row>*{width:100%!important;min-width:0!important}
  .headerActions>.primary:only-child{grid-column:1/-1}
  button,.button,[role=button]{min-height:40px}

  /* -------- Panneau Trier / Filtrer -------- */
  .swat-mobile-filter-trigger{width:100%;display:flex!important;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;padding:11px 13px;border:1px solid #1a4759;border-radius:13px;background:linear-gradient(135deg,#0b202b,#07131a);color:#e9f8ff;font-weight:900;box-shadow:0 10px 30px #0004}
  .swat-mobile-filter-trigger span{display:flex;align-items:center;gap:8px}.swat-mobile-filter-trigger span b{font-size:15px;color:#42c4ff}.swat-mobile-filter-trigger i{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#138ed1;color:#fff;font-style:normal;font-size:11px}
  .swat-mobile-filter-backdrop{display:none!important}.swat-mobile-filter-sheet{position:fixed!important;z-index:10020!important;left:auto!important;right:0!important;top:0!important;bottom:0!important;width:min(92vw,430px)!important;height:var(--swat-mobile-vh)!important;max-height:var(--swat-mobile-vh)!important;margin:0!important;padding:calc(72px + var(--swat-safe-top)) 14px calc(92px + var(--swat-safe-bottom))!important;border:0!important;border-left:1px solid #1a4352!important;border-radius:22px 0 0 22px!important;background:linear-gradient(180deg,#07141c,#040a0e)!important;box-shadow:-24px 0 70px #000b!important;overflow-y:auto!important;overflow-x:hidden!important;transform:translateX(105%);transition:transform .22s cubic-bezier(.2,.8,.2,1);pointer-events:none}
  .swat-mobile-filter-sheet.swat-mobile-filter-open{transform:translateX(0);pointer-events:auto}
  .swat-mobile-filter-sheet.swat-mobile-filter-open~*{}
  .swat-mobile-filter-backdrop:has(+.swat-mobile-filter-sheet.swat-mobile-filter-open){display:block!important;position:fixed!important;z-index:10019!important;inset:0!important;width:100vw!important;height:var(--swat-mobile-vh)!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#0009!important;backdrop-filter:blur(3px);min-height:0!important}
  .swat-mobile-filter-head{position:absolute;z-index:3;left:0;right:0;top:0;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px;padding:calc(12px + var(--swat-safe-top)) 14px 12px;border-bottom:1px solid #163744;background:#07141cf2;backdrop-filter:blur(14px)}
  .swat-mobile-filter-head div{display:grid;gap:2px}.swat-mobile-filter-head small{color:#5f8597;font-size:8px;font-weight:900;letter-spacing:.12em}.swat-mobile-filter-head strong{font-size:15px;color:#eefaff}.swat-mobile-filter-head button{width:40px!important;min-width:40px!important;height:40px!important;padding:0!important;border-radius:12px!important}
  .swat-mobile-filter-actions{position:absolute;z-index:3;left:0;right:0;bottom:0;display:grid!important;grid-template-columns:.78fr 1.22fr!important;gap:8px;padding:10px 14px calc(10px + var(--swat-safe-bottom));border-top:1px solid #163744;background:#07141cf5;backdrop-filter:blur(14px)}
  .swat-mobile-filter-actions button{width:100%!important;min-height:45px!important}
  .swat-mobile-filter-sheet .memberFilterGrid,.swat-mobile-filter-sheet.formGrid,.swat-mobile-filter-sheet .formGrid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin:0!important}
  .swat-mobile-filter-sheet .memberSearchRow,.swat-mobile-filter-sheet.v119bFilter,.swat-mobile-filter-sheet.v119bCompetitorFilters,.swat-mobile-filter-sheet.v11FilterPanel,.swat-mobile-filter-sheet.v115ShopFilters{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;align-items:stretch!important}
  .swat-mobile-filter-sheet input,.swat-mobile-filter-sheet select{width:100%!important;min-width:0!important;font-size:16px!important;min-height:45px!important}
  .swat-mobile-filter-sheet .memberFilterFooter{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.swat-mobile-filter-sheet .memberFilterFooter>div{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
  .swat-mobile-filter-sheet .v119bSportAdd{display:grid!important;grid-template-columns:1fr 48px!important;gap:8px!important}.swat-mobile-filter-sheet .v119bSportAdd button{width:48px!important}

  /* -------- KPI / Statistiques / Rapports / Impact / Bilan / Subventions -------- */
  .cards,.v11Kpis,.v118GrantStats,.v119bTeamKpis,.v119bCompetitionKpis,.v119bCompetitorKpis,.v119bPartnerKpis,.v119cRhKpis,.automationPreviewKpis,.impactHero,.v118MemberKpis{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin-bottom:10px!important}
  .stat,.v11Stat,.impactHero>div,.v118GrantStats>span,.v118Kpi,.automationPreviewKpis>div,.v119cRhSummaryGrid>div{min-height:0!important;height:auto!important;padding:10px 11px!important;border-radius:12px!important;justify-content:flex-start!important;overflow:hidden}
  .stat span,.v11Stat span,.impactHero span,.v118GrantStats span,.v118Kpi span,.automationPreviewKpis span,.v119cRhSummaryGrid span{font-size:8px!important;line-height:1.2!important;letter-spacing:.06em!important;overflow-wrap:anywhere}
  .stat strong,.v11Stat strong,.impactHero b,.v118GrantStats b,.v118Kpi strong,.automationPreviewKpis strong,.v119cRhSummaryGrid b{margin-top:5px!important;font-size:clamp(16px,5vw,22px)!important;line-height:1.05!important;overflow-wrap:anywhere;word-break:break-word;font-variant-numeric:tabular-nums}
  .swat-kpi-long strong,.swat-kpi-long b{font-size:clamp(14px,4vw,18px)!important}.swat-kpi-xlong strong,.swat-kpi-xlong b{font-size:clamp(12px,3.5vw,16px)!important}.swat-kpi-label-long span,.swat-kpi-label-long small{font-size:7px!important}
  .stat small,.v11Stat small{margin-top:4px!important;font-size:9px!important;line-height:1.25!important}
  .impactHero>div{display:grid!important;gap:2px!important}.impactHero b{order:2}.impactHero span{order:1}
  .v118GrantGrid{grid-template-columns:1fr!important;gap:9px!important}.v118GrantCard{padding:12px!important;border-radius:14px!important}
  .reportRow{padding:7px 0!important;gap:8px!important}.reportRow strong{font-size:15px!important}.reportRow small{font-size:9px!important}.reportBar{height:6px!important;margin-top:4px!important}

  /* -------- Communications : parcours mobile en rubriques, sans nested scroll -------- */
  body.swat-page-communications .v119fMobileCommsTabs{position:sticky!important;top:0!important;z-index:45!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;width:100%!important;margin:0 0 10px!important;padding:8px!important;border:1px solid #153845;border-radius:14px;background:#040c11f2!important;backdrop-filter:blur(12px);overflow:visible!important}
  body.swat-page-communications .v119fMobileCommsTabs button{min-width:0!important;min-height:38px!important;padding:7px 5px!important;border-radius:9px!important;font-size:10px!important;line-height:1.15!important;white-space:normal!important}
  body.swat-page-communications .v119fMobileCommsTabs button.active{box-shadow:0 0 0 1px #23b6f85c,0 6px 18px #0d8fd02a!important}
  body.swat-page-communications .v11CommsLayout{display:block!important}.v119fCommSection.mobileActive{display:block!important;padding:12px!important;border-radius:15px!important;margin:0!important}
  body.swat-page-communications .v11Tabs{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;overflow:visible!important}.v11Tabs button{white-space:normal!important}
  body.swat-page-communications .bulkToolbar{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}.bulkToolbar .grow{grid-column:1/-1!important}.bulkToolbar button{width:100%!important}
  body.swat-page-communications .v11RecipientList{max-height:none!important;overflow:visible!important;padding:0!important;gap:6px!important}.v11RecipientList label{grid-template-columns:22px 38px minmax(0,1fr)!important;padding:8px!important;border-radius:11px!important}.v11RecipientList small{white-space:normal!important;font-size:9px!important;line-height:1.25!important}.v11RecipientPreview{padding:9px!important;font-size:10px!important}
  body.swat-page-communications textarea{min-height:160px!important}.v116AttachmentBox{padding:9px!important}.v116AttachmentList>span{max-width:100%;overflow-wrap:anywhere}
  .v119dHistoryRow{grid-template-columns:1fr!important;gap:7px!important;padding:10px!important}.v119dHistoryRow b{white-space:normal!important}.v119dHistoryRow>button{width:100%!important}.v119dDeliveryList,.v119dMessagePreview{max-height:none!important;overflow:visible!important}.v119eQueueList>article{padding:11px!important;gap:9px!important}.v119fQueueTools{grid-template-columns:1fr 1fr!important}

  /* -------- Adhérents / Compétiteurs / Compétitions -------- */
  body.swat-page-members .memberDirectoryFilters,body.swat-page-competitors .v119bCompetitorFilters,body.swat-page-competitions .v119bFilter{margin-bottom:0!important}
  .memberDirectoryCard,.v119bCompetitorCard,.v119bCompetitionCard{border-radius:15px!important;padding:12px!important;box-shadow:0 10px 30px #0003!important}
  .competitorGrid,.competitionGrid,.v11BookGrid{grid-template-columns:1fr!important;gap:9px!important}.v119bCompetitionKpis,.v119bCompetitorKpis{margin-bottom:10px!important}.v119bCompCounts{gap:6px!important}.v119bCompCounts span{padding:6px 8px!important;font-size:9px!important}
  .memberDirectoryActions{gap:6px!important}.memberDirectoryActions button{min-height:38px!important}

  /* -------- Équipe & RH : navigation dense, cartes et listes natives -------- */
  body.swat-page-rh .v119cRhKpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  body.swat-page-rh .v119cRhTabs{position:sticky!important;top:0!important;z-index:42!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;margin:0 0 10px!important;padding:7px!important;border:1px solid #163946;border-radius:14px;background:#040c11f2!important;backdrop-filter:blur(12px);overflow:visible!important}
  body.swat-page-rh .v119cRhTabs button{width:100%!important;min-width:0!important;min-height:38px!important;padding:6px 4px!important;font-size:9px!important;line-height:1.1!important;white-space:normal!important;border-radius:9px!important}
  .v119cRhDashboard{grid-template-columns:1fr!important;gap:9px!important}.v119cRhDashboard>.wide{grid-column:auto!important}.v119cRhSummaryGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .v119cDeadlineList{gap:5px!important}.v119cDeadlineList button{padding:9px 10px!important;border-radius:10px!important}.v119cDeadlineList button b{font-size:11px!important}.v119cDeadlineList button small{font-size:9px!important}
  .v119cTimeSummary{gap:7px!important}.v119cTimeSummary>div{display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px 8px!important;padding:9px 10px!important;border:1px solid #153744!important;border-radius:11px!important;background:#07141b!important}.v119cTimeSummary>div>span:first-child{grid-column:1/-1!important}.v119cTimeSummary>div strong{font-size:15px!important}.v119cTimeSummary>div span{font-size:9px!important}
  .v119bStaffGrid{grid-template-columns:1fr!important;gap:8px!important}.v119bStaffGrid article{padding:12px!important;border-radius:14px!important;gap:6px!important}.v119bStaffGrid h2{font-size:17px!important}.v119bStaffGrid p{margin:0!important}.v119bStaffGrid small{font-size:9px!important;overflow-wrap:anywhere}.v119bStaffHead{align-items:flex-start!important}.v119cDataWarning,.v119cDataOk{padding:7px 8px!important;font-size:9px!important}
  .v119cTimesheet{gap:7px!important}.v119cTimesheet article{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;padding:10px!important}.v119cTimesheet article>span:first-child{grid-column:1/-1!important}.v119cTimesheet article>div{padding:7px!important;border-radius:9px!important;background:#061118!important}.v119cTimesheet article small{font-size:8px!important}.v119cTimesheet article b{font-size:13px!important}
  .v119cWorkLog>div{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:6px 8px!important;padding:8px 0!important}.v119cWorkLog>div>span{grid-column:1/-1!important}.v119cWorkLog>div button{grid-column:1/-1!important;width:100%!important}.v119cWorkLog strong{font-size:13px!important}
  .v119cPayrollTable{min-width:0!important;width:100%!important;display:grid!important;gap:8px!important}.v119cPayrollTable>.head{display:none!important}.v119cPayrollTable>div:not(.head){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding:10px!important;border:1px solid #173a47!important;border-radius:13px!important;background:#07141b!important}.v119cPayrollTable>div:not(.head)>span:first-child{grid-column:1/-1!important;padding-bottom:6px!important;border-bottom:1px solid #15313c!important}.v119cPayrollTable>div:not(.head)>span,.v119cPayrollTable>div:not(.head)>strong{display:grid!important;align-content:start;gap:3px;min-width:0;font-size:12px!important}.v119cPayrollTable>div:not(.head)>span:nth-child(2)::before{content:'Brut';}.v119cPayrollTable>div:not(.head)>span:nth-child(3)::before{content:'Charges';}.v119cPayrollTable>div:not(.head)>span:nth-child(4)::before{content:'Avantages';}.v119cPayrollTable>div:not(.head)>strong:nth-child(5)::before{content:'Coût estimé';}.v119cPayrollTable>div:not(.head)>span:nth-child(6)::before{content:'Compta';}.v119cPayrollTable>div:not(.head)>span:nth-child(n+2)::before,.v119cPayrollTable>div:not(.head)>strong::before{color:#6e91a1;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.v119cPayrollTable button{min-height:36px!important}
  .v119cLeaveForm,.v119cExpenseForm,.v119cShiftForm{grid-template-columns:1fr!important;gap:8px!important}.v119cAbsenceList article{grid-template-columns:1fr!important;padding:10px!important}.v119cComplianceGrid{grid-template-columns:1fr!important}
  .panel:has(.v119cRhCalendar){overflow-x:auto!important;-webkit-overflow-scrolling:touch}.v119cCalendarWeek,.v119cRhCalendar{min-width:700px!important}.v119cRhDay{min-height:105px!important}

  /* -------- Modules présentant les mêmes défauts : formulaires, cartes, tableaux -------- */
  .formGrid,.automationGrid,.automationReportGrid,.v119bFormSections,.v119cRhFormSections,.documentsGrid,.mappingGrid,.shopProductForm,.purchaseForm,.fightForm{grid-template-columns:1fr!important}
  .toolbar,.agendaToolbar,.v11MemberToolbar,.v115ShopFilters,.v116TemplateToolbar,.inventoryScanner{gap:7px!important;min-width:0!important}.toolbar>*,.agendaToolbar>*,.v11MemberToolbar>*{min-width:0!important;max-width:100%!important}
  .tableWrap{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}.tableWrap table{min-width:620px}
  .modalBack{overflow-y:auto!important;-webkit-overflow-scrolling:touch}.modal,.largeModal,.xlargeModal,.v119cRhModal{max-height:var(--swat-mobile-vh)!important;overflow-y:auto!important;overscroll-behavior:contain}
}
@media(min-width:520px) and (max-width:767px){.cards,.v11Kpis,.v118GrantStats,.v119bTeamKpis,.v119bCompetitionKpis,.v119bCompetitorKpis,.v119bPartnerKpis,.v119cRhKpis,.automationPreviewKpis,.impactHero,.v118MemberKpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:390px){body.swat-page-rh .v119cRhTabs{grid-template-columns:repeat(3,minmax(0,1fr))!important}.swat-mobile-filter-sheet{width:95vw!important}.v119fMobileCommsTabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(hover:none) and (pointer:coarse){button,.button,[role=button],a,input,select{touch-action:manipulation}.swat-mobile-scroll-zone{scrollbar-width:none}.swat-mobile-scroll-zone::-webkit-scrollbar{display:none}}

/* R18 — éléments injectés uniquement utiles sous 768 px */
@media(min-width:768px){
  .swat-mobile-filter-trigger,.swat-mobile-filter-backdrop,.swat-mobile-filter-head,.swat-mobile-filter-actions{display:none!important}
}
