/* COBAT PTE V2.4.86 — navigation mobile harmonisée */
:root{
  --pte-mobile-blue:#0B5CAD;
  --pte-mobile-blue-deep:#073763;
  --pte-mobile-blue-soft:#D8ECFF;
  --pte-mobile-bordeaux:#7A1720;
  --pte-mobile-bordeaux-soft:#F7C8CF;
  --pte-mobile-line:#dbe5ec;
  --pte-mobile-bg:#f4f7f9;
  --pte-mobile-text:#183349;
}

.pteMobileDock,.pteMobileCheckMeta,.pteMobilePlanClose,.pteMobileScopeNote{display:none}

@media(max-width:760px){
  /* V2.4.81 — reset strict du décalage hérité du layout PC */
  html,body.module-pte{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:clip!important}
  body.module-pte main.box{
    width:100%!important;max-width:100%!important;min-width:0!important;
    margin-left:0!important;margin-right:0!important;
    box-sizing:border-box!important;
    transform:none!important;left:auto!important;right:auto!important;
  }
  body.module-pte main.box>*{max-width:100%;box-sizing:border-box}
  html{scroll-padding-bottom:112px}
  body.module-pte{overflow-x:hidden;background:var(--pte-mobile-bg)}
  body.module-pte main.box{padding:66px 10px calc(92px + env(safe-area-inset-bottom))!important;max-width:100%!important;width:100%!important}

  /* Menu latéral : bouton compact, plus de bande permanente à gauche */
  body.module-pte .pteDrawerTab,
  body.module-pte .side-handle,
  body.module-pte .drawerTab,
  body.module-pte .menuTab{
    position:fixed!important;
    top:10px!important;
    left:10px!important;
    right:auto!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    border-radius:13px!important;
    background:var(--pte-mobile-blue)!important;
    box-shadow:0 7px 18px rgba(7,55,99,.24)!important;
    z-index:9020!important;
  }
  body.module-pte .pteDrawerTab span,
  body.module-pte .side-handle span,
  body.module-pte .drawerTab span,
  body.module-pte .menuTab span{font-size:0!important;transform:none!important;writing-mode:initial!important}
  body.module-pte .pteDrawerTab span:after,
  body.module-pte .side-handle span:after,
  body.module-pte .drawerTab span:after,
  body.module-pte .menuTab span:after{content:'☰';font-size:23px!important;line-height:1;color:#fff}
  body.module-pte .cobatPteDrawer{width:min(300px,88vw)!important;min-width:0!important;z-index:9010!important}

  /* Navigation mobile terrain */
  .pteMobileDock{
    position:fixed;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));z-index:8800;
    display:grid;grid-template-columns:repeat(5,1fr);gap:3px;
    padding:5px;border:1px solid rgba(210,222,231,.94);border-radius:17px;
    background:rgba(255,255,255,.96);box-shadow:0 12px 34px rgba(24,51,73,.18);backdrop-filter:blur(12px)
  }
  .pteMobileDock button{min-width:0;min-height:54px;border:0;border-radius:12px;background:transparent;color:#617687;padding:5px 3px;display:grid;place-items:center;align-content:center;gap:3px;font:inherit;cursor:pointer}
  .pteMobileDock button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .pteMobileDock button span{font-size:8px;line-height:1.1;font-weight:750;white-space:nowrap}
  .pteMobileDock button.active{background:#eaf4fd;color:var(--pte-mobile-blue)}
  .pteMobileDock button[data-mobile-section="corrections"].active{background:#fff1f2;color:var(--pte-mobile-bordeaux)}
  body.pte-mobile-check-active .pteMobileDock{display:none}

  /* Périmètre mobile strict : le reste du workflow PTE reste PC uniquement */
  body.pte-mobile-terrain .pte-mobile-pc-only{display:none!important}
  body.pte-mobile-terrain #methods,
  body.pte-mobile-terrain #preparation,
  body.pte-mobile-terrain #plansPte,
  body.pte-mobile-terrain #qse{display:none!important}
  .pteMobileScopeNote{display:flex;flex-direction:column;gap:4px;margin:10px 0 12px;padding:11px 12px;border:1px solid #bfd5e6;border-radius:13px;background:#eef7ff;color:#28485f}
  .pteMobileScopeNote span{font-size:8px;letter-spacing:.1em;font-weight:850;color:var(--pte-mobile-blue)}
  .pteMobileScopeNote p{margin:0;font-size:9px;line-height:1.45}
  #infos .pteReportPrepSteps{display:none!important}
  #infos .pteReportPrepPlanFooter .plan-open-btn{display:none!important}

  /* Écrans généraux */
  #home,#introMise,#infos,#check,#summary,#sign,#plansPte,#library,#report,#daily,#corrections,#methods,#modifications,#preparation{width:100%!important;max-width:none!important;margin:0!important;box-sizing:border-box}
  .pteWorkflowHead,.pteDashTopbar,.pteDailyV268Head{margin-top:0}
  .pteWorkflowHead h1,.pteDashTitle h1,.pteDailyV268Head h1{font-size:21px!important;line-height:1.16!important}
  .pteWorkflowHead p,.pteDashTitle p,.pteDailyV268Head p{font-size:10px!important}
  button,.primary,.secondary,.pteMiniBtn,.pteDashBtn{touch-action:manipulation}
  .primary,.secondary,.pteMiniBtn,.pteDashBtn{min-height:44px}
  input,select,textarea{font-size:16px!important}

  /* Accueil : cartes plus compactes pour lecture chantier */
  .pteHomeKpis{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .pteHomeKpi{min-height:76px!important;padding:11px!important}
  .pteHomeKpiIcon{width:36px!important;height:36px!important}
  .pteHomeKpiValue{font-size:20px!important}
  .pteHomeMainGrid{grid-template-columns:1fr!important;gap:10px!important}
  .pteHomeQuickGrid{grid-template-columns:1fr!important}
  .pteHomePanelHead{padding:12px!important}
  .pteHomePanelBody{padding:11px 12px!important}
  .pteHomeQuickCard{min-height:88px!important;padding:11px!important}

  /* Contrôle PTE : en-tête compact */
  #check{padding-bottom:100px!important}
  #check .pteCheckTopbar{display:grid!important;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center;padding:9px 10px!important;margin:0 0 9px!important;border-radius:14px!important;position:relative}
  #check .pteCheckTopbar>.secondary{width:44px;height:44px;min-height:44px;margin:0!important;padding:0!important;font-size:0!important;border-radius:12px!important;display:grid;place-items:center}
  #check .pteCheckTopbar>.secondary:after{content:'←';font-size:22px;line-height:1;color:currentColor}
  #check .pteCheckTopTitle h1{text-align:left!important;font-size:18px!important;margin:0!important;line-height:1.12}
  #check .pteCheckTopTitle p{display:none!important}
  #check .pteCheckTopMetrics{display:flex!important;gap:5px!important;margin-top:6px!important;overflow-x:auto;scrollbar-width:none;padding-bottom:1px}
  #check .pteCheckTopMetrics::-webkit-scrollbar{display:none}
  #check .pteCheckMetric{font-size:8px!important;padding:5px 7px!important;white-space:nowrap!important}
  #check .pteCheckMetric:nth-child(2){display:none!important}

  /* Identité de la PTE */
  #check .pteCheckIdentityPanel{padding:10px!important;margin-bottom:9px!important;border-radius:14px!important;box-shadow:none!important}
  #check .pteCheckIdentityGrid{grid-template-columns:1fr 1fr!important;gap:7px!important}
  #check .pteCheckSelectField{grid-column:1/-1!important}
  #check .pteCheckIdentityGrid .field label{font-size:9px;color:#6f8392}
  #check .pteCheckIdentityGrid input,#check .pteCheckIdentityGrid select{min-height:44px!important;height:44px!important;border-radius:10px!important;padding-left:10px!important}
  #check .pteCheckGeneralPhoto{margin:9px 0 0!important;padding:10px!important;border-radius:11px!important}
  #check .pteCheckGeneralPhoto>label{font-size:11px!important}
  #check .pteCheckGeneralPhoto .pte-photo-capture-hint{display:none}

  .pteMobileCheckMeta{display:flex;gap:7px;margin-top:9px}
  .pteMobileCheckMeta button{flex:1;min-height:44px;border:1px solid #c7d9e6;border-radius:11px;background:#f7fbff;color:var(--pte-mobile-blue);font-size:11px;font-weight:780;padding:7px 10px}
  .pteMobileCheckMeta .pteMobilePlanButton:before{content:'⌖';font-size:16px;margin-right:6px}

  /* Bande progression toujours visible au-dessus du point courant */
  #check .mobile-progress{display:block!important;position:sticky;top:7px;z-index:35;margin:8px 0 9px!important;padding:9px 10px;background:rgba(255,255,255,.97);border:1px solid var(--pte-mobile-line);border-radius:13px;box-shadow:0 7px 20px rgba(24,51,73,.10);backdrop-filter:blur(8px)}
  #check .mobile-progress-track{height:7px!important;background:#e7edf2!important}
  #check .mobile-progress-bar{background:var(--pte-mobile-blue)!important}
  #check .mobile-progress-label{margin-top:6px!important;font-size:10px!important;text-align:left!important;color:#526a7d!important;font-weight:750}
  #pteMobileGroupLabel{float:right;color:#80909c;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-top:-13px;max-width:58%;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  /* Un seul point à la fois, sans titres de groupes PC qui coupent le flux */
  #check .pteCheckGroupTitle{display:none!important}
  #check .check-card[data-check]{display:none!important}
  #check .check-card[data-check].mobile-active:not(.hidden){display:block!important}
  #check .pteCheckMain .check-card{margin:0!important;padding:13px!important;border-radius:14px!important;box-shadow:none!important;border:1px solid var(--pte-mobile-line)!important}
  #check .pteCheckMain .check-title{font-size:17px!important;line-height:1.35!important;color:var(--pte-mobile-text)!important;margin-bottom:13px!important}

  /* Réponses tactiles */
  #check .radios{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;margin-bottom:10px!important}
  #check .radio{min-height:54px!important;margin:0!important;padding:7px!important;border:1px solid #d3dee6!important;border-radius:11px!important;background:#f9fbfc!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px;text-align:center!important;font-size:12px!important;font-weight:780!important;line-height:1.15!important}
  #check .radio:nth-child(3){grid-column:1/-1;min-height:46px!important}
  #check .radio input{width:18px!important;height:18px!important;min-height:0!important;accent-color:var(--pte-mobile-blue)}
  #check .radio:has(input[value="CONFORME"]:checked){border-color:#6daf8b!important;background:#eaf7f0!important;color:#176b49!important;box-shadow:inset 0 0 0 1px #6daf8b}
  #check .radio:has(input[value="NON CONFORME"]:checked){border-color:#b84a54!important;background:#fff0f1!important;color:#8e1d27!important;box-shadow:inset 0 0 0 1px #b84a54}
  #check .radio:has(input[value="NON APPLICABLE"]:checked){border-color:#8ea4b4!important;background:#eef3f6!important;color:#405b6e!important}
  #check .check-card textarea{min-height:78px!important;border-radius:10px!important;padding:10px!important;line-height:1.4}
  #check .check-card .photo-control{padding:9px!important;border-radius:11px!important;margin-top:9px!important}
  #check .check-card .pte-photo-capture-hint{display:none}
  #check .photo-required{font-size:9px!important;margin-top:5px!important}

  /* Recontrôle ciblé : correction immédiatement visible et lisible */
  #check .pteControlModeBanner{font-size:10px!important;line-height:1.45!important;padding:9px 10px!important;border-radius:11px!important;margin-bottom:8px!important}
  #check .pteCorrectionPanel{padding:11px!important;border-radius:13px!important;margin-bottom:9px!important}
  #check .pteCorrectionPanel h3{font-size:15px!important}
  #check .pteCorrectionIssue{font-size:10px!important;line-height:1.5!important}
  #check .pteCorrectionPanel .pteFormGrid{grid-template-columns:1fr!important}
  #check .pteModificationTrigger{padding:10px!important;border-radius:12px!important;margin-bottom:9px!important}
  #check .pteModificationTrigger strong{font-size:11px!important}
  #check .pteModificationTrigger small{font-size:8px!important}

  /* Barre d'action fixe, utilisable à une main */
  #check .mobile-step-actions{position:fixed!important;left:8px!important;right:8px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;z-index:8900!important;display:grid!important;grid-template-columns:minmax(92px,.34fr) minmax(0,1fr)!important;gap:7px!important;margin:0!important;padding:6px!important;background:rgba(255,255,255,.97)!important;border:1px solid #d4e0e8!important;border-radius:16px!important;box-shadow:0 12px 34px rgba(24,51,73,.20)!important;backdrop-filter:blur(12px)}
  #check .mobile-step-actions button{min-height:52px!important;border-radius:11px!important;padding:8px 10px!important;font-size:12px!important}
  #check .mobile-step-actions #mobilePrev{grid-column:1}
  #check .mobile-step-actions #mobileNext,#check .mobile-step-actions #mobileFinish{grid-column:2}
  #check .mobile-step-actions .hidden{display:none!important}

  /* Plan en bottom-sheet sur téléphone */
  #check .pteCheckPlanSidebar{display:none!important}
  #check .pteCheckPlanSidebar.pte-mobile-plan-open{position:fixed!important;inset:0!important;z-index:100220!important;display:flex!important;align-items:flex-end!important;padding:10px!important;background:rgba(8,24,36,.68)!important;overflow:auto!important}
  #check .pteCheckPlanSidebar.pte-mobile-plan-open .pteCheckPlanCard{width:100%!important;max-height:91vh!important;overflow:auto!important;border-radius:20px 20px 14px 14px!important;box-shadow:0 22px 70px rgba(0,0,0,.32)!important}
  #check .pteCheckPlanHead{position:sticky;top:0;z-index:2;background:#fff;padding:13px 14px!important}
  .pteMobilePlanClose{display:grid;width:40px;height:40px;min-height:40px;border:0;border-radius:11px;background:#eef3f6;color:#405b6e;place-items:center;font-size:24px;line-height:1;cursor:pointer;margin-left:auto}
  #check .pteCheckPlanViewer{min-height:45vh!important;margin:9px!important;border-radius:11px!important}
  #check .pteCheckPlanViewer canvas{min-height:45vh!important}
  #check .pteCheckPlanInfo{padding:0 9px 9px!important;gap:6px!important}
  #check .pteCheckPlanInfo>div{padding:8px!important}
  #check .pteCheckPlanTools{padding:0 9px 8px!important}
  #check .pteCheckPlanTools .pteMiniBtn{min-width:44px!important;min-height:44px!important}
  #check .pteCheckPlanHint{margin:0 9px 9px!important}
  #check .pteCheckOpenPlan{width:calc(100% - 18px)!important;margin:0 9px 10px!important;min-height:46px!important}
  body.pte-plan-sheet-open{overflow:hidden!important}

  /* Quotidien / corrections : priorité aux actions terrain */
  .pteDailyV268Groups{gap:8px!important}
  .pteDailyV268GroupCard{padding:12px!important;border-radius:14px!important}
  .pteDailyV268GroupFoot{align-items:stretch!important;flex-direction:column!important}
  .pteDailyV268GroupFoot button{width:100%!important;min-height:46px!important}
  .pteDailyV268EditorHead{padding:13px!important;align-items:flex-start!important;flex-direction:column!important}
  .pteDailyV268Point{padding:12px!important}
  .pteDailyV268Aside{padding:13px!important}
  .pteDailyV268Save{position:sticky;bottom:72px;z-index:5;padding:7px;background:rgba(251,252,253,.97);border:1px solid #dbe5ec;border-radius:12px;box-shadow:0 8px 20px rgba(24,51,73,.10)}
  .pteCorrectionCard{padding:12px!important;border-radius:13px!important}
  .pteCorrectionCard .pteInlineActions{display:grid!important;grid-template-columns:1fr!important}
  .pteCorrectionCard .pteInlineActions .pteMiniBtn{width:100%!important;min-height:46px!important}

  /* Bibliothèque : actions pleine largeur au pouce */
  .pte-report-library-card,.library-card{border-radius:14px!important}
  .library-actions{display:grid!important;grid-template-columns:1fr 1fr!important}
  .library-actions button{min-height:44px!important}

  /* Modales photo : pleine largeur utile */
  #photoAnnotator{padding:6px!important;align-items:flex-end!important}
  #photoAnnotator .annotator-card{width:100%!important;max-height:94vh!important;border-radius:18px 18px 10px 10px!important;padding:9px!important}
  #photoAnnotator .annotator-actions{display:grid!important;grid-template-columns:1fr 1fr!important}
  #photoAnnotator .annotator-actions button{min-height:46px!important}

  .pte-toast{bottom:calc(78px + env(safe-area-inset-bottom))!important;max-width:calc(100vw - 24px);text-align:center}
  body.pte-mobile-check-active .pte-toast{bottom:calc(82px + env(safe-area-inset-bottom))!important}
}

@media(max-width:390px){
  body.module-pte main.box{padding-left:8px!important;padding-right:8px!important}
  .pteMobileDock{left:5px;right:5px}
  .pteMobileDock button span{font-size:7.5px}
  #check .pteCheckIdentityGrid{grid-template-columns:1fr!important}
  #check .pteCheckSelectField{grid-column:auto!important}
  #check .pteCheckTopMetrics .pteCheckMetric:nth-child(3){display:none!important}
  .pteHomeKpis{grid-template-columns:1fr!important}
}

/* ======================================================================
   COBAT PTE V2.4.79 — interface téléphone compacte terrain
   Refonte mobile complète pour petits écrans (360 px et +)
   ====================================================================== */
.pteMobileTopbar,.pteMobileCompactContext,.pteMobileDetailsToggle,.pteMobileFormToggle,.pteMobileFilterToggle{display:none}

@media(max-width:760px){
  :root{--pte-m-top:46px;--pte-m-dock:58px;--pte-m-gap:7px;--pte-m-radius:10px}
  html{scroll-padding-top:54px;scroll-padding-bottom:72px;background:#f2f5f7}
  body.module-pte{padding:0!important;background:#f2f5f7!important;color:#1d3548}
  body.module-pte main.box{padding:calc(var(--pte-m-top) + 7px) 7px calc(var(--pte-m-dock) + 15px + env(safe-area-inset-bottom))!important;background:transparent!important;min-height:100vh!important}
  body.module-pte .footer{display:none!important}

  /* Coque mobile dédiée */
  .pteMobileTopbar{position:fixed;display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:7px;top:0;left:0;right:0;height:var(--pte-m-top);padding:0 max(7px,env(safe-area-inset-right)) 0 max(7px,env(safe-area-inset-left));background:rgba(255,255,255,.97);border-bottom:1px solid #dbe4ea;box-shadow:0 3px 12px rgba(24,51,73,.07);backdrop-filter:blur(12px);z-index:9050;box-sizing:border-box}
  .pteMobileTopbar button{width:36px;height:36px;min-height:36px;border:0;border-radius:9px;background:#eef4f8;color:#0B5CAD;display:grid;place-items:center;padding:0;font-size:20px}
  .pteMobileTopbarTitle{min-width:0;text-align:left;line-height:1.05}
  .pteMobileTopbarTitle strong{display:block;font-size:12px;font-weight:800;color:#183349;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pteMobileTopbarTitle small{display:block;margin-top:2px;font-size:7.5px;color:#748694;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pteMobileTopbarHome svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .pteMobileTopbarPortal{background:#eef4f8!important;color:var(--pte-mobile-blue-deep)!important;border:1px solid #d5e2eb!important;box-shadow:none!important}
  .pteMobileTopbarPortal:active{background:#dfeef9!important;transform:scale(.96)}

  /* L'ancien onglet vertical n'est plus nécessaire */
  body.module-pte .pteDrawerTab,body.module-pte .side-handle,body.module-pte .drawerTab,body.module-pte .menuTab{display:none!important}
  body.module-pte .cobatPteDrawer{top:0!important;bottom:0!important;width:min(278px,84vw)!important;padding-top:max(8px,env(safe-area-inset-top))!important;z-index:9100!important;box-shadow:18px 0 45px rgba(12,39,59,.22)!important}
  body.module-pte .cobatUnifiedDrawerBrand{padding:12px!important}
  body.module-pte .cobatUnifiedDrawerLogoBox{max-height:42px!important}
  body.module-pte .cobatUnifiedDrawerContext{font-size:8px!important}
  body.module-pte .pteDrawerNavBtn{min-height:42px!important;padding:7px 10px!important;font-size:10px!important}
  body.module-pte .pteDrawerIcon{width:27px!important;height:27px!important}

  /* Navigation inférieure plus basse et plus compacte */
  .pteMobileDock{left:5px;right:5px;bottom:max(5px,env(safe-area-inset-bottom));height:var(--pte-m-dock);padding:3px 4px;border-radius:14px;gap:1px;box-sizing:border-box}
  .pteMobileDock button{min-height:48px!important;height:48px;padding:3px 1px!important;border-radius:10px!important;gap:1px!important}
  .pteMobileDock button svg{width:17px!important;height:17px!important}
  .pteMobileDock button span{font-size:7px!important;line-height:1!important;letter-spacing:-.02em}
  body.pte-mobile-check-active .pteMobileDock{display:none!important}

  /* Éléments globaux compacts */
  #home,#introMise,#infos,#check,#summary,#sign,#library,#report,#daily,#corrections,#modifications{padding:0!important}
  #home h1,#infos h1,#daily h1,#modifications h1,#corrections h1,#library h1,#summary h1,#sign h1,#report>h1{font-size:17px!important;line-height:1.15!important;letter-spacing:-.2px!important}
  .pteWorkflowHead,.pteDailyV268Head,.pte-report-library-head,.pteReportPrepHead{border-radius:11px!important;box-shadow:none!important}
  .primary,.secondary,.pteMiniBtn,.pteDashBtn{min-height:40px!important;border-radius:9px!important;font-size:10px!important;padding:7px 10px!important}
  input,select,textarea{font-size:16px!important;border-radius:8px!important}
  .field{margin-bottom:7px!important}.field label{font-size:8.5px!important;margin-bottom:4px!important}
  .field input,.field select{height:40px!important;min-height:40px!important;padding:0 9px!important}.field textarea{min-height:64px!important;padding:8px 9px!important}
  .notice,.warning{font-size:9px!important;line-height:1.4!important;padding:9px!important;border-radius:9px!important;margin:7px 0!important}

  /* Accueil = tableau terrain ultra compact */
  #home .pteHomeHeader{display:none!important}
  #home .pteMobileScopeNote{display:none!important}
  #home .pteHomeContext{margin:0 0 7px!important;padding:7px 9px!important;border-radius:10px!important;min-height:38px!important;align-items:center!important}
  #home .pteHomeContextMain{gap:7px!important;min-width:0}
  #home .pteHomeContextMain strong{font-size:10px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
  #home .pteHomeContextMain small{font-size:7.5px!important}
  #home .pteHomeContextLabel{display:none!important}
  #home .pteHomeKpis{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;margin-bottom:7px!important}
  #home .pteHomeKpi{display:block!important;min-height:58px!important;padding:7px 4px!important;border-radius:9px!important;text-align:center!important;box-shadow:none!important}
  #home .pteHomeKpiIcon,#home .pteHomeKpiArrow{display:none!important}
  #home .pteHomeKpiValue{font-size:17px!important;line-height:1!important;margin-bottom:4px!important}
  #home .pteHomeKpiLabel{font-size:6.8px!important;line-height:1.1!important;min-height:15px}
  #home .pteHomeMainColumn{display:none!important}
  #home .pteHomeSideColumn{display:block!important}
  #home .pteHomeSideColumn>.pteHomePanel:not(.pteHomeTodoPanel){display:none!important}
  #home .pteHomeTodoPanel{border-radius:10px!important;box-shadow:none!important;margin:0!important}
  #home .pteHomeTodoPanel .pteHomePanelHead{padding:7px 9px!important}
  #home .pteHomeTodoPanel .pteHomePanelHead h2{font-size:11px!important}
  #home .pteHomeTodoPanel .pteHomePanelHead p{display:none!important}
  #home .pteHomeTodoList button{min-height:39px!important;padding:7px 9px!important;grid-template-columns:6px 1fr auto!important;gap:7px!important}
  #home .pteHomeTodoList button:nth-child(4){display:none!important}
  #home .pteHomeTodoList b{font-size:9px!important}#home .pteHomeTodoList small{font-size:7px!important;margin-top:1px}#home .pteHomeTodoList strong{font-size:10px!important}
  #home .pteHomeSafety{margin:7px 0 0!important;padding:7px 9px!important;border-radius:9px!important;font-size:7.5px!important;line-height:1.25!important}
  #home .pteHomeSafety span{font-size:10px!important}

  /* Démarrage autocontrôle : formulaire utile uniquement */
  #infos{padding-bottom:66px!important}
  #infos .pteReportPrepHead{display:block!important;margin:0 0 6px!important;padding:0!important;background:transparent!important;border:0!important}
  #infos .pteReportPrepBack,#infos .pteReportPrepSteps{display:none!important}
  #infos .pteReportPrepTitle .pteReportPrepEyebrow{font-size:7.5px!important}
  #infos .pteReportPrepTitle h1{font-size:16px!important;margin:2px 0 0!important}
  #infos .pteReportPrepTitle p{display:none!important}
  #infos .pteReportPrepLayout{display:block!important}
  #infos .pteReportPrepMain{gap:6px!important}
  #infos .pteReportPrepCard{border-radius:10px!important;box-shadow:none!important}
  #infos .pteReportPrepCardHead{padding:7px 9px!important;gap:7px!important}
  #infos .pteReportPrepCardIndex{width:22px!important;height:22px!important;border-radius:6px!important;font-size:7px!important}
  #infos .pteReportPrepCardHead h2{font-size:10px!important}#infos .pteReportPrepCardHead p{display:none!important}
  #infos .pteReportPrepCardBody{padding:8px!important}
  #infos .pteReportPrepFormGrid,#infos .pteReportPrepPlanGrid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
  #infos .pteReportPrepFormGrid>.field:first-child{display:none!important}
  #infos .pteReportPrepFormGrid>.field:nth-child(2){grid-column:1/-1}
  #infos .pteReportPrepPlanGrid>.field{grid-column:1/-1}
  #infos .pteReportPrepSelectedPlan{margin-top:6px!important;padding:7px 8px!important;border-radius:8px!important;font-size:8px!important;min-height:30px!important}
  #infos .pteReportPrepPlanFooter{display:none!important}
  #infos .pteReportPrepSide{position:fixed!important;left:6px!important;right:6px!important;bottom:calc(var(--pte-m-dock) + 7px + env(safe-area-inset-bottom))!important;z-index:8700!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:5px!important;align-items:center!important;padding:5px!important;background:rgba(255,255,255,.97)!important;border:1px solid #d4e0e8!important;border-radius:12px!important;box-shadow:0 9px 26px rgba(24,51,73,.16)!important;backdrop-filter:blur(12px)}
  #infos .pteReportPrepSummaryCard{display:contents!important}
  #infos .pteReportPrepSummaryHead,#infos .pteReportPrepSummaryBody,#infos .pteReportPrepRuleCard{display:none!important}
  #infos .pteReportPrepReady{margin:0!important;padding:6px 8px!important;border-radius:8px!important;font-size:7.5px!important;min-width:0!important;line-height:1.2!important}
  #infos .pteReportPrepStart{width:auto!important;margin:0!important;min-height:40px!important;white-space:nowrap!important;font-size:9px!important;padding:7px 11px!important}

  /* Contrôle : maximum d'information dans une hauteur minimale */
  #check{padding-bottom:58px!important}
  #check .pteCheckTopbar{display:none!important}
  #check .pteCheckDesktopLayout{display:block!important}
  #check .pteCheckAssetRail{display:none!important}
  #check .pteCheckMain{width:100%!important}
  #check .pteCheckIdentityPanel{padding:7px!important;margin:0 0 5px!important;border-radius:10px!important}
  #check .pteCheckIdentityGrid{display:block!important}
  #check .pteCheckIdentityGrid>.field:not(.pteCheckSelectField){display:none!important}
  #check .pteCheckSelectField{margin:0!important}
  #check .pteCheckSelectField label{display:none!important}
  #check #ptePreparedSelect{height:40px!important;min-height:40px!important;font-size:16px!important;padding:0 8px!important}
  #check .pteCheckGeneralPhoto{display:inline-flex!important;align-items:center!important;vertical-align:top;margin:5px 3px 0 0!important;padding:0!important;border:0!important;background:transparent!important;width:auto!important}
  #check .pteCheckGeneralPhoto>label,#check .pteCheckGeneralPhoto>.photo-required,#check .pteCheckGeneralPhoto>.pte-photo-capture-hint{display:none!important}
  #check .pteCheckGeneralPhoto .pte-camera-btn{min-height:34px!important;height:34px!important;padding:0 9px!important;border-radius:8px!important;font-size:8px!important}
  #check .pteCheckGeneralPhoto .pte-camera-btn svg{width:14px!important;height:14px!important}
  #check .pteCheckGeneralPhoto .photo-preview{display:flex!important;gap:3px!important;margin:0 0 0 4px!important;max-width:74px!important;overflow:hidden!important}
  #check .pteCheckGeneralPhoto .photo-preview img{width:32px!important;height:32px!important;object-fit:cover!important;border-radius:6px!important}
  #check .pteMobileCheckMeta{display:inline-flex!important;margin:5px 0 0!important;gap:3px!important;vertical-align:top;width:auto!important}
  #check .pteMobileCheckMeta button{min-height:34px!important;height:34px!important;flex:none!important;padding:0 9px!important;border-radius:8px!important;font-size:8px!important}
  #check .pteMobileCheckMeta .pteMobilePlanButton:before{font-size:12px!important;margin-right:4px!important}
  #check .pteControlModeBanner{padding:6px 8px!important;margin:5px 0!important;border-radius:8px!important;font-size:8px!important;line-height:1.25!important}
  #check .pteCorrectionPanel{padding:8px!important;margin:5px 0!important;border-radius:9px!important}
  #check .pteCorrectionPanel h3{font-size:11px!important;margin:2px 0!important}.pteCorrectionIssue{font-size:8px!important;line-height:1.25!important}
  #check .pteCorrectionPanel textarea{min-height:55px!important}
  #check .pteModificationTrigger{padding:6px 8px!important;margin:5px 0!important;border-radius:8px!important;min-height:38px!important}
  #check .pteModificationTrigger .pteCheckEyebrow,#check .pteModificationTrigger small{display:none!important}
  #check .pteModificationTrigger strong{font-size:8.5px!important;line-height:1.15!important}
  #check .pteSwitch{transform:scale(.8);transform-origin:right center}
  #check .mobile-progress{position:sticky!important;top:calc(var(--pte-m-top) + 4px)!important;margin:5px 0!important;padding:6px 8px!important;border-radius:9px!important;box-shadow:0 4px 13px rgba(24,51,73,.08)!important}
  #check .mobile-progress-track{height:4px!important}
  #check .mobile-progress-label{font-size:8px!important;margin-top:4px!important}
  #pteMobileGroupLabel{font-size:6.8px!important;margin-top:-10px!important;max-width:55%!important}
  #check .pteCheckMain .check-card{padding:9px!important;border-radius:10px!important;min-height:0!important}
  #check .pteCheckMain .check-title{font-size:13px!important;line-height:1.25!important;margin:0 0 8px!important;font-weight:760!important}
  #check .radios{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important;margin:0!important}
  #check .radio,#check .radio:nth-child(3){grid-column:auto!important;min-height:44px!important;height:44px!important;padding:4px 2px!important;border-radius:8px!important;font-size:8.5px!important;gap:3px!important;line-height:1!important}
  #check .radio input{width:15px!important;height:15px!important}
  #check .check-card textarea,#check .check-card>.photo-control{display:none!important}
  #check .check-card.pte-mobile-details-open textarea,#check .check-card.pte-mobile-details-open>.photo-control{display:block!important}
  #check .check-card.pte-mobile-details-open textarea{min-height:54px!important;margin-top:6px!important}
  #check .check-card.pte-mobile-details-open>.photo-control{margin-top:5px!important;padding:6px!important;border-radius:8px!important}
  #check .check-card.pte-mobile-details-open .pte-camera-btn{min-height:36px!important;height:36px!important;font-size:8px!important}
  #check .check-card.pte-mobile-details-open .photo-required{font-size:7px!important}
  .pteMobileDetailsToggle{display:block!important;width:100%;height:31px;min-height:31px;margin-top:5px;border:0;border-radius:7px;background:#f1f5f8;color:#536f82;font-size:8px;font-weight:800;text-align:center}
  #check .check-card.pte-mobile-details-open .pteMobileDetailsToggle{background:#eaf4fd;color:#0B5CAD}
  #check .mobile-step-actions{left:5px!important;right:5px!important;bottom:max(5px,env(safe-area-inset-bottom))!important;padding:4px!important;border-radius:12px!important;grid-template-columns:44px minmax(0,1fr)!important;gap:4px!important}
  #check .mobile-step-actions button{min-height:46px!important;height:46px!important;border-radius:9px!important;font-size:10px!important;padding:5px!important}
  #check .mobile-step-actions #mobilePrev{font-size:0!important}#check .mobile-step-actions #mobilePrev:after{content:'←';font-size:18px!important}

  /* Plan : feuille presque plein écran, contrôles resserrés */
  #check .pteCheckPlanSidebar.pte-mobile-plan-open{padding:5px!important}
  #check .pteCheckPlanSidebar.pte-mobile-plan-open .pteCheckPlanCard{max-height:95vh!important;border-radius:14px!important}
  #check .pteCheckPlanHead{padding:8px 9px!important}#check .pteCheckPlanHead h2{font-size:12px!important;margin:2px 0!important}
  .pteMobilePlanClose{width:34px!important;height:34px!important;min-height:34px!important;border-radius:8px!important}
  #check .pteCheckPlanViewer,#check .pteCheckPlanViewer canvas{min-height:52vh!important}
  #check .pteCheckPlanInfo{grid-template-columns:1fr 1fr!important;padding:0 6px 6px!important}
  #check .pteCheckPlanInfo>div{padding:6px!important}#check .pteCheckPlanInfo span{font-size:7px!important}#check .pteCheckPlanInfo strong{font-size:8.5px!important}

  /* Modifications : liste d'abord, formulaire dépliable */
  #modifications .pteWorkflowHead,#corrections .pteWorkflowHead{display:block!important;padding:0!important;margin:0 0 6px!important;background:transparent!important;border:0!important;box-shadow:none!important}
  #modifications .pteWorkflowHead h1,#corrections .pteWorkflowHead h1{font-size:15px!important;margin:0!important}#modifications .pteWorkflowHead p,#corrections .pteWorkflowHead p{display:none!important}
  #modifications .pteWorkflowHead>.secondary,#corrections .pteWorkflowHead>.secondary{display:none!important}
  #modifications .pteWorkflowGrid{display:flex!important;flex-direction:column!important;gap:6px!important}
  #modifications .pteWorkflowGrid>.pteWorkflowCard:first-child{order:2}
  #modifications .pteWorkflowGrid>.pteWorkflowCard:nth-child(2){order:1}
  #modifications>.pteWorkflowCard{margin-top:6px!important}
  .pteWorkflowCard{border-radius:10px!important;box-shadow:none!important}
  .pteWorkflowCardHead{padding:8px 9px!important}.pteWorkflowCardHead h2{font-size:10.5px!important}.pteWorkflowCardHead p{display:none!important}
  .pteWorkflowCardBody{padding:8px!important}
  #modifications .pteFormGrid{grid-template-columns:1fr!important;gap:5px!important}
  #modifications .pteWorkflowGrid>.pteWorkflowCard:first-child.pte-mobile-collapsed .pteWorkflowCardBody{display:none!important}
  .pteMobileFormToggle{display:block!important;width:100%;min-height:38px;border:1px dashed #a9c3d6;border-radius:8px;background:#f4f9fd;color:#0B5CAD;font-size:9px;font-weight:800;margin-top:6px}
  .pteWorkflowList{display:grid!important;gap:5px!important}
  .pteWorkflowList>*{border-radius:8px!important}

  /* Recontrôles */
  #corrections .pteWorkflowCardBody{padding:6px!important}
  #corrections .pteCorrectionCard{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:6px!important;padding:8px!important;border-radius:9px!important}
  #corrections .pteCorrectionCard b{font-size:9.5px!important}#corrections .pteCorrectionCard small{font-size:7.5px!important;line-height:1.25!important}
  #corrections .pteCorrectionCard .pteInlineActions{grid-column:1/-1!important;display:flex!important;gap:4px!important;overflow-x:auto!important}
  #corrections .pteCorrectionCard .pteMiniBtn{width:auto!important;min-width:max-content!important;min-height:36px!important;font-size:8px!important}

  /* Quotidien : tableau et cartes très courts */
  #daily .pteDailyV268Head{display:block!important;margin:0 0 5px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
  #daily .pteDailyV268Head h1{font-size:15px!important;margin:0!important}#daily .pteDailyV268Head p,#daily .pteDailyV268Kicker{display:none!important}
  #daily .pteDailyV268HeadActions{display:none!important}
  #daily .pteDailyV268Kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;margin-bottom:6px!important}
  #daily .pteDailyV268Kpi{min-height:52px!important;padding:6px 4px!important;border-radius:8px!important;text-align:center!important}
  #daily .pteDailyV268Kpi span{font-size:5.8px!important;line-height:1.05!important;letter-spacing:.02em!important}#daily .pteDailyV268Kpi strong{font-size:16px!important;margin:3px 0 0!important}#daily .pteDailyV268Kpi small{display:none!important}
  #daily .pteDailyV268Alert{padding:6px 8px!important;margin-bottom:5px!important;border-radius:8px!important;font-size:7.5px!important}
  #daily .pteDailyV268ListHead{margin:6px 1px 5px!important}.pteDailyV268ListHead span,.pteDailyV268ListHead p{display:none!important}.pteDailyV268ListHead h2{font-size:10.5px!important;margin:0!important}
  #daily .pteDailyV268Groups{gap:5px!important}
  #daily .pteDailyV268GroupCard{padding:8px!important;border-radius:9px!important;gap:6px!important;box-shadow:none!important}
  #daily .pteDailyV268GroupTop{gap:6px!important;align-items:start!important}.pteDailyV268GroupTop h3{font-size:10px!important;margin:0 0 2px!important}.pteDailyV268GroupTop small{font-size:7px!important}.pteDailyV268GroupCount{font-size:7px!important;padding:4px 6px!important}
  #daily .pteDailyV268GroupPtes{flex-wrap:nowrap!important;overflow-x:auto!important;gap:3px!important;padding-bottom:1px!important;scrollbar-width:none}
  #daily .pteDailyV268GroupPtes::-webkit-scrollbar{display:none}.pteDailyV268PteChip{min-height:22px!important;padding:3px 6px!important;font-size:7.5px!important;white-space:nowrap!important}
  #daily .pteDailyV268GroupFoot{padding-top:5px!important}.pteDailyV268Badge{font-size:7px!important;padding:4px 6px!important}.pteDailyV268GroupFoot button{min-height:34px!important;font-size:8px!important}
  #daily .pteDailyV268Editor{margin:6px 0 0!important;border-radius:10px!important;box-shadow:none!important}
  #daily .pteDailyV268EditorHead{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;padding:7px 8px!important;gap:5px!important}.pteDailyV268EditorHead .pteDailyV268EditorEyebrow{display:none!important}.pteDailyV268EditorHead h2{font-size:11px!important;margin:0!important}.pteDailyV268EditorHead p{font-size:7px!important;margin-top:2px!important}.pteDailyV268EditorHead button{min-height:32px!important;height:32px!important;font-size:8px!important}
  #daily .pteDailyV268EditorPtes{padding:5px 8px!important;flex-wrap:nowrap!important;overflow-x:auto!important}
  #daily .pteDailyV268ChecklistHead{padding:7px 8px!important}.pteDailyV268ChecklistHead span{font-size:6px!important}.pteDailyV268ChecklistHead h3{font-size:10px!important;margin:1px 0 0!important}.pteDailyV268AllOk{padding:6px 7px!important;font-size:7.5px!important}
  #daily .pteDailyV268Point{padding:7px 8px!important}.pteDailyV268PointTop{grid-template-columns:22px minmax(0,1fr)!important;gap:6px!important}.pteDailyV268PointNo{width:22px!important;height:22px!important;font-size:7px!important;border-radius:6px!important}.pteDailyV268PointLabel{font-size:9px!important;line-height:1.2!important}.pteDailyV268Choices{grid-column:1/-1!important;gap:4px!important}.pteDailyV268Choice{min-height:38px!important;height:38px!important;padding:4px!important;font-size:8px!important}
  #daily .pteDailyV268NcDetail{padding:7px!important;margin-top:6px!important;gap:6px!important;border-radius:8px!important}.pteDailyV268NcTitle{font-size:7px!important}.pteDailyV268AffectedBtn{min-height:28px!important;padding:4px 6px!important;font-size:7px!important}
  #daily .pteDailyV268Aside{padding:7px 8px calc(58px + env(safe-area-inset-bottom))!important;gap:6px!important}.pteDailyV268AsideLabel{display:none!important}.pteDailyV268Status{font-size:7.5px!important;padding:4px 6px!important}.pteDailyV268Stats{grid-template-columns:1fr 1fr!important;gap:4px!important}.pteDailyV268Stats>div{padding:5px!important;border:1px solid #e5ebef!important;border-radius:7px!important}.pteDailyV268Stats span{font-size:6.8px!important}.pteDailyV268Stats strong{font-size:8px!important}.pteDailyV268AffectedSummary{font-size:7.5px!important;padding:6px!important;border-radius:7px!important}.pteDailyV268Comment textarea{min-height:52px!important}
  #daily .pteDailyV268Save{position:fixed!important;left:5px!important;right:5px!important;bottom:max(5px,env(safe-area-inset-bottom))!important;z-index:8900!important;grid-template-columns:44px minmax(0,1fr)!important;gap:4px!important;padding:4px!important;background:rgba(255,255,255,.97)!important;border:1px solid #d4e0e8!important;border-radius:12px!important;box-shadow:0 9px 24px rgba(24,51,73,.17)!important}.pteDailyV268Save button{height:46px!important;min-height:46px!important;font-size:9px!important}.pteDailyV268Save .secondary{font-size:0!important}.pteDailyV268Save .secondary:after{content:'×';font-size:18px!important}

  /* Bibliothèque : recherche immédiate, filtres repliables */
  #library .pte-report-library-head{display:block!important;padding:0!important;margin:0 0 5px!important;border:0!important}.pte-report-library-title{text-align:left!important}.pte-report-library-title .pte-report-library-kicker{display:none!important}.pte-report-library-title h1{font-size:15px!important;margin:0!important}.pte-report-library-title p,.pte-report-back,.pte-report-refresh{display:none!important}
  #library .pte-report-library-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;margin:0 0 6px!important}.pte-report-stat{min-height:50px!important;padding:6px 3px!important;border-radius:8px!important;text-align:center!important}.pte-report-stat span{font-size:6px!important}.pte-report-stat strong{font-size:16px!important}.pte-report-stat small{display:none!important}
  #library .pte-report-library-toolbar{display:grid!important;grid-template-columns:1fr!important;gap:4px!important;padding:6px!important;border-radius:9px!important}.pte-report-library-toolbar>div:not(.pte-report-search-wrap),.pte-report-library-toolbar>.pte-report-clear{display:none!important}.pte-report-library-toolbar.pte-mobile-filters-open>div,.pte-report-library-toolbar.pte-mobile-filters-open>.pte-report-clear{display:block!important}.pte-report-library-toolbar input,.pte-report-library-toolbar select{height:38px!important;min-height:38px!important}.pte-report-library-toolbar label{font-size:7px!important;margin-bottom:3px!important}
  .pteMobileFilterToggle{display:block!important;width:100%;min-height:34px;border:1px solid #d3e0e8;border-radius:8px;background:#fff;color:#48667a;font-size:8px;font-weight:800}
  #library .pte-report-library-meta{margin:5px 2px!important;font-size:7.5px!important;display:block!important}.pte-report-library-meta>span:last-child{display:none!important}
  #library .pte-report-library-grid{gap:5px!important}.pte-report-library-card,.library-card{border-radius:9px!important;box-shadow:none!important}.pte-report-card-head,.library-card-head{padding:8px!important}.pte-report-card-body,.library-card-body{padding:8px!important;font-size:8px!important}.library-actions{gap:4px!important}.library-actions button{min-height:36px!important;font-size:8px!important}

  /* Rapport consulté */
  #report>button,#report>h1{display:none!important}
  #report #reportContent{font-size:9px!important}
  #report .actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px!important;margin-top:7px!important}
  #report .actions>*{min-height:38px!important;font-size:8px!important;text-align:center!important;display:flex!important;align-items:center!important;justify-content:center!important}

  /* Résumé et signature */
  #summary>button,#summary>h1,#sign>button,#sign>h1{display:none!important}
  #summary .summary{padding:8px!important;border-radius:9px!important;font-size:8px!important;margin-bottom:6px!important}
  #summary .list{display:grid!important;gap:5px!important}
  #summary .actions,#sign .actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px!important;position:sticky!important;bottom:calc(var(--pte-m-dock) + 7px + env(safe-area-inset-bottom))!important;background:rgba(242,245,247,.96)!important;padding:5px 0!important;z-index:10!important}
  #sign .identity-card{padding:7px!important;margin-bottom:6px!important}.identity-avatar{width:34px!important;height:34px!important}.identity-name{font-size:10px!important}.identity-sub{font-size:7px!important}
  #sign #sig{height:130px!important;max-height:130px!important;border-radius:9px!important}.archive-state{font-size:8px!important;padding:7px!important}

  /* Modales adaptées au petit écran */
  #pteModificationModal,.pteModificationModal{padding:5px!important;align-items:flex-end!important}.pteModificationModalCard{width:100%!important;max-height:94vh!important;overflow:auto!important;border-radius:14px 14px 8px 8px!important;padding:9px!important}.pteModificationModalHead h2{font-size:13px!important}.pteModificationModalHead p{display:none!important}
  #photoAnnotator .annotator-card{max-height:96vh!important;border-radius:14px!important}

  .pte-toast{bottom:calc(var(--pte-m-dock) + 9px + env(safe-area-inset-bottom))!important;font-size:8px!important;padding:7px 9px!important;border-radius:8px!important}
  body.pte-mobile-check-active .pte-toast{bottom:calc(56px + env(safe-area-inset-bottom))!important}
}

@media(max-width:390px){
  body.module-pte main.box{padding-left:5px!important;padding-right:5px!important}
  #home .pteHomeKpiLabel{font-size:6.3px!important}
  #check .pteCheckMain .check-title{font-size:12.5px!important}
  #check .radio,#check .radio:nth-child(3){font-size:8px!important}
  #infos .pteReportPrepFormGrid,#infos .pteReportPrepPlanGrid{grid-template-columns:1fr!important}
  #infos .pteReportPrepFormGrid>.field:nth-child(2){grid-column:auto!important}
}

/* ======================================================================
   COBAT PTE V2.4.80 — annotations photo + pop-up mobile plein écran
   ====================================================================== */
@media (max-width:760px){
  body.pte-mobile-modal-open{overflow:hidden!important}

  /* Annotation photo : vrai atelier plein écran mobile */
  #photoAnnotator{
    padding:0!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    background:#0e1821!important;
    overscroll-behavior:contain!important;
  }
  #photoAnnotator .annotator-card{
    width:100vw!important;
    height:100dvh!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    overflow:hidden!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
    background:#111c25!important;
    box-shadow:none!important;
  }
  #photoAnnotator .annotator-head{
    min-height:54px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 40px!important;
    align-items:center!important;
    gap:8px!important;
    padding:7px 8px 7px 10px!important;
    padding-top:max(7px,env(safe-area-inset-top))!important;
    background:#fff!important;
    border-bottom:1px solid #dce5ec!important;
    z-index:2!important;
  }
  #photoAnnotator .annotator-head>div{min-width:0!important}
  #photoAnnotator .annotator-head span{display:none!important}
  #photoAnnotator .annotator-head h2{
    margin:0!important;
    text-align:left!important;
    font-size:13px!important;
    line-height:1.15!important;
    color:#183349!important;
  }
  #photoAnnotator .annotator-head p{
    margin:2px 0 0!important;
    font-size:7.5px!important;
    line-height:1.25!important;
    color:#718392!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #photoAnnotator .annotator-close{
    width:38px!important;height:38px!important;min-height:38px!important;
    border:0!important;border-radius:9px!important;background:#eef2f5!important;
    color:#526b7d!important;font-size:22px!important;line-height:1!important;padding:0!important;
  }
  #photoAnnotator .annotator-canvas-wrap{
    min-height:0!important;
    margin:0!important;
    padding:6px!important;
    border-radius:0!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#111c25!important;
    touch-action:none!important;
  }
  #photoAnnotator .annotator-canvas{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    border-radius:4px!important;
    box-shadow:0 0 0 1px rgba(255,255,255,.12)!important;
    touch-action:none!important;
  }
  #photoAnnotator .annotator-actions{
    margin:0!important;
    display:grid!important;
    grid-template-columns:78px 66px minmax(0,1fr)!important;
    gap:5px!important;
    padding:6px!important;
    padding-bottom:max(6px,env(safe-area-inset-bottom))!important;
    background:#fff!important;
    border-top:1px solid #dce5ec!important;
    z-index:2!important;
  }
  #photoAnnotator .annotator-actions button{
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    height:44px!important;
    margin:0!important;
    padding:0 7px!important;
    border-radius:9px!important;
    font-size:8.5px!important;
    line-height:1!important;
    font-weight:800!important;
    white-space:nowrap!important;
  }
  #photoAnnotator .annotator-save{font-size:9.5px!important}

  /* Pop-up modification : structure fixe haut / contenu / actions */
  #pteModificationModal,.pteModificationModal{
    padding:0!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    background:rgba(9,23,34,.86)!important;
    overscroll-behavior:contain!important;
  }
  .pteModificationModalCard{
    width:100vw!important;
    height:100dvh!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    border-radius:0!important;
    overflow:hidden!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
    background:#f4f7f9!important;
    box-shadow:none!important;
  }
  .pteModificationModalHead{
    margin:0!important;
    padding:8px 8px 8px 10px!important;
    padding-top:max(8px,env(safe-area-inset-top))!important;
    min-height:52px!important;
    align-items:center!important;
    gap:7px!important;
    background:#fff!important;
    border-bottom:1px solid #dce5ec!important;
  }
  .pteModificationModalHead .pteCheckEyebrow,.pteModificationModalHead p{display:none!important}
  .pteModificationModalHead h2{margin:0!important;font-size:13px!important;line-height:1.2!important}
  .pteModificationModalHead .pteModalClose{width:38px!important;height:38px!important;min-height:38px!important;border-radius:9px!important;flex:none!important}
  .pteModificationModalCard>.pteFormGrid{
    min-height:0!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    align-content:start!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    padding:8px!important;
    padding-bottom:12px!important;
  }
  .pteModificationModalCard>.pteFormGrid>.pteFull{grid-column:1/-1!important}
  .pteModificationModalCard .field{margin:0!important}
  .pteModificationModalCard .field label{font-size:7.5px!important;margin-bottom:3px!important}
  .pteModificationModalCard input,.pteModificationModalCard select{min-height:38px!important;height:38px!important;font-size:9px!important;border-radius:8px!important}
  .pteModificationModalCard textarea{min-height:64px!important;font-size:9px!important;border-radius:8px!important;padding:7px!important}
  .pteModificationModalCard .photo-control{padding:7px!important;margin-top:3px!important;border-radius:9px!important}
  .pteModificationModalCard .pte-photo-capture-hint,.pteModificationModalCard .pteRequiredNote{font-size:7px!important;line-height:1.25!important}
  .pteModificationModalCard .pte-camera-btn{width:100%!important;height:40px!important;min-height:40px!important;font-size:9px!important;border-radius:8px!important}
  .pteModificationModalCard .photo-preview{display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;gap:6px!important;margin-top:5px!important;align-items:start!important}
  .pteModificationModalCard .photo-preview img{width:58px!important;height:58px!important;max-height:58px!important;object-fit:cover!important;border-radius:7px!important}
  .pteModificationModalCard .photo-preview .photo-meta{min-width:0!important;font-size:7px!important;margin:0!important}
  .pteModificationModalCard .photo-preview .photo-mini-btn{width:auto!important;min-height:30px!important;padding:4px 6px!important;font-size:7px!important;margin:2px 3px 0 0!important}
  .pteModificationModalCard>.pteModalActions{
    margin:0!important;
    padding:6px!important;
    padding-bottom:max(6px,env(safe-area-inset-bottom))!important;
    display:grid!important;
    grid-template-columns:76px minmax(0,1fr)!important;
    gap:5px!important;
    background:#fff!important;
    border-top:1px solid #dce5ec!important;
  }
  .pteModificationModalCard>.pteModalActions button{width:100%!important;min-height:44px!important;height:44px!important;margin:0!important;font-size:8.5px!important;border-radius:9px!important}

  /* Fenêtres de confirmation / suppression éventuelles */
  .ptePlanDeleteModal{padding:0!important;align-items:flex-end!important}
  .ptePlanDeleteCard{
    width:100%!important;
    max-height:92dvh!important;
    margin:0!important;
    padding:0!important;
    border-radius:15px 15px 0 0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }
  .ptePlanDeleteHead{
    position:sticky!important;top:0!important;z-index:2!important;
    padding:9px 9px 8px!important;background:#fff!important;border-bottom:1px solid #e3e9ee!important;
  }
  .ptePlanDeleteHead h2{font-size:13px!important;margin:0!important}.ptePlanDeleteHead p,.ptePlanDeleteEyebrow{display:none!important}
  .ptePlanDeleteClose{width:36px!important;height:36px!important;min-height:36px!important;border-radius:9px!important}
  .ptePlanDeleteSummary{grid-template-columns:repeat(3,1fr)!important;gap:4px!important;margin:7px!important}.ptePlanDeleteStat{padding:6px!important;border-radius:8px!important;text-align:center!important}.ptePlanDeleteStat span{font-size:6px!important}.ptePlanDeleteStat b{font-size:14px!important}
  .ptePlanDeleteWarning,.ptePlanDeleteKeep{margin:6px 7px!important;padding:7px!important;border-radius:8px!important;font-size:7.5px!important}
  .ptePlanDeleteActions{position:sticky!important;bottom:0!important;z-index:2!important;margin:0!important;padding:6px!important;padding-bottom:max(6px,env(safe-area-inset-bottom))!important;background:#fff!important;border-top:1px solid #e3e9ee!important;grid-template-columns:1fr!important;gap:4px!important}
  .ptePlanDeleteActions button{min-height:42px!important;height:42px!important;font-size:8px!important;border-radius:8px!important}

  /* Portail / message d'accès : ne déborde plus */
  .cobatPortalGate{padding:8px!important;align-items:flex-end!important}
  .cobatPortalGateCard{width:100%!important;max-height:88dvh!important;overflow:auto!important;padding:12px!important;border-radius:15px 15px 8px 8px!important}
  .cobatPortalGateBrand{font-size:8px!important}.cobatPortalGateTitle{font-size:16px!important}.cobatPortalGateText{font-size:9px!important;line-height:1.4!important}.cobatPortalGateActions{display:grid!important;grid-template-columns:1fr!important;gap:5px!important}.cobatPortalGateActions button{width:100%!important;min-height:44px!important}

  /* Petites fenêtres / aperçus photo */
  .photo-preview .photo-mini-btn{min-height:34px!important;padding:5px 7px!important;font-size:7.5px!important;border-radius:7px!important}
}

@media (max-width:390px){
  #photoAnnotator .annotator-actions{grid-template-columns:68px 60px minmax(0,1fr)!important}
  #photoAnnotator .annotator-actions button{font-size:7.5px!important}
  .pteModificationModalCard>.pteFormGrid{grid-template-columns:1fr!important}
  .pteModificationModalCard>.pteFormGrid>.pteFull{grid-column:auto!important}
}

/* ======================================================================
   COBAT PTE V2.4.82 — autocontrôle mobile en progression verticale
   Les points traités restent visibles et le point suivant se révèle dessous.
   ====================================================================== */
@media(max-width:760px){
  /* Le wizard mobile devient une pile progressive, plus un écran unique. */
  #check .check-card[data-check]{display:none!important}
  #check .check-card[data-check].pte-mobile-revealed:not(.hidden){
    display:block!important;
    margin:0 0 5px!important;
    transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
  }
  #check .check-card[data-check].pte-mobile-completed:not(.pte-mobile-current){
    background:#fbfcfd!important;
    border-color:#dce5eb!important;
  }
  #check .check-card[data-check].pte-mobile-current{
    border-color:#8bbde2!important;
    box-shadow:0 0 0 2px rgba(11,92,173,.08)!important;
    background:#fff!important;
  }
  #check .check-card[data-check].pte-mobile-completed:not(.pte-mobile-current) .check-title{
    font-size:10.5px!important;
    line-height:1.22!important;
    margin-bottom:5px!important;
    color:#385469!important;
  }
  #check .check-card[data-check].pte-mobile-completed:not(.pte-mobile-current) .radio{
    min-height:32px!important;
    height:32px!important;
    font-size:7.5px!important;
  }
  #check .check-card[data-check].pte-mobile-completed:not(.pte-mobile-current) .pteMobileDetailsToggle{
    height:27px!important;
    min-height:27px!important;
    font-size:7px!important;
  }
  #check .check-card[data-check].pte-mobile-current .check-title{
    color:#183349!important;
  }

  /* Plus de navigation Précédent / Suivant : la progression est automatique. */
  #check .mobile-step-actions{
    display:none!important;
  }
  #check .mobile-step-actions.pte-mobile-ready-to-finish{
    position:fixed!important;
    left:5px!important;
    right:5px!important;
    bottom:max(5px,env(safe-area-inset-bottom))!important;
    z-index:8900!important;
    display:block!important;
    margin:0!important;
    padding:4px!important;
    background:rgba(255,255,255,.97)!important;
    border:1px solid #d4e0e8!important;
    border-radius:12px!important;
    box-shadow:0 9px 24px rgba(24,51,73,.17)!important;
    backdrop-filter:blur(12px);
  }
  #check .mobile-step-actions #mobilePrev,
  #check .mobile-step-actions #mobileNext{display:none!important}
  #check .mobile-step-actions #mobileFinish{
    display:block!important;
    width:100%!important;
    min-height:46px!important;
    height:46px!important;
    margin:0!important;
    border-radius:9px!important;
    font-size:10px!important;
  }

  /* La progression indique le nombre réellement renseigné. */
  #check .mobile-progress{margin-bottom:5px!important}
  #check .mobile-progress-label{font-size:8.5px!important}
  #check.pte-mobile-stack-complete{padding-bottom:58px!important}
}

/* ======================================================================
   COBAT PTE V2.4.83 — photo générale compacte + accès plan permanent
   ====================================================================== */
@media (max-width:760px){
  /* Photo générale : après capture, une seule bande compacte. */
  #check .pteCheckGeneralPhoto:has(#photoPreviewGen:not(:empty)){
    display:block!important;
    width:100%!important;
    margin:5px 0 0!important;
    padding:4px!important;
    border:1px solid #d8e3eb!important;
    border-radius:9px!important;
    background:#f8fbfd!important;
  }
  #check .pteCheckGeneralPhoto:has(#photoPreviewGen:not(:empty)) .pte-photo-capture-actions{
    display:none!important;
  }
  #check .pteCheckGeneralPhoto #photoPreviewGen:not(:empty){
    display:grid!important;
    grid-template-columns:38px repeat(3,minmax(0,1fr))!important;
    grid-template-rows:auto 30px!important;
    gap:3px!important;
    align-items:center!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    overflow:visible!important;
  }
  #check .pteCheckGeneralPhoto #photoPreviewGen:not(:empty)>img{
    grid-column:1!important;
    grid-row:1 / 3!important;
    width:38px!important;
    height:38px!important;
    max-height:38px!important;
    border-radius:7px!important;
    object-fit:cover!important;
    margin:0!important;
  }
  #check .pteCheckGeneralPhoto #photoPreviewGen:not(:empty)>.photo-meta{
    grid-column:2 / 5!important;
    grid-row:1!important;
    min-width:0!important;
    margin:0!important;
    font-size:6.8px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    color:#61788a!important;
  }
  #check .pteCheckGeneralPhoto #photoPreviewGen:not(:empty)>.photo-meta br{display:none!important}
  #check .pteCheckGeneralPhoto #photoPreviewGen:not(:empty)>.photo-mini-btn{
    width:100%!important;
    min-width:0!important;
    min-height:30px!important;
    height:30px!important;
    margin:0!important;
    padding:0 3px!important;
    border-radius:6px!important;
    font-size:7.2px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  #check .pteCheckGeneralPhoto #photoPreviewGen:not(:empty)>.photo-mini-btn:nth-of-type(1){grid-column:2!important;grid-row:2!important}
  #check .pteCheckGeneralPhoto #photoPreviewGen:not(:empty)>.photo-mini-btn:nth-of-type(2){grid-column:3!important;grid-row:2!important}
  #check .pteCheckGeneralPhoto #photoPreviewGen:not(:empty)>.photo-mini-btn:nth-of-type(3){grid-column:4!important;grid-row:2!important;color:#8f2530!important;border-color:#e1b8bd!important;background:#fffafa!important}

  /* La barre de progression devient la commande terrain permanente. */
  #check .mobile-progress{
    display:grid!important;
    grid-template-columns:auto minmax(55px,1fr) auto!important;
    grid-template-rows:28px auto!important;
    align-items:center!important;
    column-gap:7px!important;
    row-gap:2px!important;
    padding:4px 5px!important;
  }
  #check .mobile-progress-label{
    grid-column:1!important;
    grid-row:1!important;
    margin:0!important;
    min-width:34px!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:850!important;
    color:#183b55!important;
    text-align:left!important;
    white-space:nowrap!important;
  }
  #check .mobile-progress-track{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    margin:0!important;
  }
  #check .pteMobileQuickPlan{
    grid-column:3!important;
    grid-row:1!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    min-width:58px!important;
    width:auto!important;
    height:28px!important;
    min-height:28px!important;
    padding:0 7px!important;
    margin:0!important;
    border:1px solid #a9c7df!important;
    border-radius:7px!important;
    background:#edf6fd!important;
    color:#0B5CAD!important;
    font-size:7.8px!important;
    font-weight:850!important;
    white-space:nowrap!important;
  }
  #check .pteMobileQuickPlan svg{width:13px!important;height:13px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important}
  #pteMobileGroupLabel{
    grid-column:1 / 4!important;
    grid-row:2!important;
    margin:0!important;
    max-width:none!important;
    font-size:6.5px!important;
    line-height:1.05!important;
    color:#6f8290!important;
    text-align:left!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  /* Le bouton plan sous l'identité n'est plus nécessaire : il est dans la barre sticky. */
  #check .pteMobileCheckMeta{display:none!important}
}
