/* LogiMission V3.1.7 — tablette tactile / formats intermédiaires.
   La maquette n'est pas un calque : on conserve les cartes, contrôles et droits réels.
   Corrige le problème iPad 768-1366 px : infos en pleine largeur et boutons sous le ticket. */

/* Même sur les tablettes qui se déclarent comme des Mac (iPadOS), le CSS fonctionne
   avec la largeur disponible. Un indicateur JS précise les appareils tactiles. */
@media screen and (min-width:761px) and (max-width:1440px){
  /* La barre latérale reste la vraie navigation, mais ne dévore pas l'espace tablette. */
  :root[data-theme] .app{grid-template-columns:clamp(190px,19.5vw,228px) minmax(0,1fr)!important}
  :root[data-theme] .app .main{min-width:0;padding-left:clamp(12px,1.55vw,22px)!important;padding-right:clamp(12px,1.55vw,22px)!important}
  :root[data-theme] .app .sidebar{min-width:0;padding-left:9px;padding-right:9px}

  /* Pages Interventions / Mes tickets : UNE carte par ligne, pas une grille à trois colonnes. */
  :root[data-theme] .v308-subpage .main .ticket-list>.ticket.lm-ticket-layout:not(.v3-compact-ticket){
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    grid-template-areas:'ref' 'content' 'action'!important;
    align-items:start!important;
    gap:10px!important;
    padding:17px!important;
    height:auto!important;min-width:0!important;max-width:100%!important;
    border-radius:14px;
  }
  :root[data-theme] .v308-subpage .main .ticket.lm-ticket-layout>.ticket-code{
    grid-area:ref!important;justify-self:start!important;align-self:start!important;
    width:auto!important;max-width:100%!important;min-width:90px;
    padding:7px 12px;line-height:1.35;white-space:normal;
  }
  :root[data-theme] .v308-subpage .main .ticket.lm-ticket-layout>.lm-ticket-content{
    grid-area:content!important;grid-column:1/-1!important;
    display:block!important;width:100%!important;min-width:0!important;max-width:none!important;
    overflow-wrap:break-word;word-break:normal;
  }
  :root[data-theme] .v308-subpage .main .ticket.lm-ticket-layout .ticket-name{
    font-size:clamp(15px,1.55vw,18px)!important;line-height:1.4!important;
    font-weight:800;white-space:normal!important;overflow-wrap:break-word;margin:0 0 8px;
  }
  :root[data-theme] .v308-subpage .main .ticket.lm-ticket-layout .ticket-desc{
    display:flex!important;flex-wrap:wrap!important;align-items:center!important;
    gap:8px 18px!important;min-width:0!important;width:100%!important;
    font-size:12.5px!important;line-height:1.55!important;white-space:normal!important;
  }
  :root[data-theme] .v308-subpage .main .ticket.lm-ticket-layout .ticket-desc>span{
    display:inline-flex!important;flex:0 1 auto;min-width:0!important;max-width:100%;
    align-items:center;flex-wrap:wrap;gap:5px;white-space:normal!important;overflow-wrap:break-word;
  }
  :root[data-theme] .v308-subpage .main .ticket.lm-ticket-layout .ticket-actors,
  :root[data-theme] .v308-subpage .main .ticket.lm-ticket-layout .v25-participants,
  :root[data-theme] .v308-subpage .main .ticket.lm-ticket-layout .mini-line{
    display:block;max-width:100%;min-width:0;line-height:1.55;white-space:normal!important;overflow-wrap:break-word;
  }
  /* Le contact est dans les actions tactiles et non coincé entre les mots du demandeur. */
  :root[data-theme] .v308-subpage .main .ticket.lm-ticket-layout .ticket-desc .contact-info-btn{display:none!important}
  :root[data-theme] .v308-subpage .main .ticket.lm-ticket-layout .lm-ticket-actionbar .mobile-contact-btn{
    display:inline-flex!important;background:#e4f0ff;color:#164b91;border:1px solid #b7d3f7;
  }
  /* Zone d'actions horizontale indépendante du texte, boutons assez grands au doigt. */
  :root[data-theme] .v308-subpage .main .ticket.lm-ticket-layout>.lm-ticket-actionbar{
    grid-area:action!important;grid-column:1/-1!important;
    display:flex!important;flex-direction:column!important;align-items:stretch!important;
    justify-content:flex-start!important;gap:12px!important;
    width:100%!important;min-width:0!important;max-width:100%!important;
    padding:15px 0 0!important;margin:4px 0 0!important;
    border-top:1px solid var(--v3-border,#d3dce8)!important;
    background:transparent!important;
    position:static!important;inset:auto!important;transform:none!important;
  }
  :root[data-theme] .v308-subpage .main .ticket.lm-ticket-layout .lm-ticket-actionbar>.lm-ticket-main-actions,
  :root[data-theme] .v308-subpage .main .ticket.lm-ticket-layout .lm-ticket-actionbar>.lm-ticket-manage-actions{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;align-items:stretch!important;
    min-width:0!important;width:100%!important;
    margin:0!important;padding:0!important;
  }
  :root[data-theme] .v308-subpage .main .ticket.lm-ticket-layout .lm-ticket-actionbar>.lm-ticket-manage-actions{
    padding-top:12px!important;border-top:1px dashed var(--v3-border,#d3dce8)!important;
  }
  :root[data-theme] .v308-subpage .main .ticket.lm-ticket-layout .lm-ticket-actionbar .btn{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    position:static!important;transform:none!important;
    width:100%!important;min-width:0!important;max-width:none!important;
    min-height:49px!important;height:auto!important;
    margin:0!important;padding:11px 13px!important;
    font-size:13px!important;line-height:1.25!important;
    white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;
    text-align:center!important;border-radius:10px!important;
  }
  :root[data-theme] .v308-subpage .main .ticket.lm-ticket-layout .lm-ticket-actionbar .lm-ticket-primary{
    grid-column:1/-1!important;min-height:53px!important;font-size:14px!important;
    font-weight:850!important;letter-spacing:.01em;
  }
  :root[data-theme] .v308-subpage .main .ticket.lm-ticket-layout .lm-ticket-actionbar>.lm-ticket-danger-actions{
    display:flex!important;align-items:stretch!important;justify-content:flex-end!important;
    width:100%!important;margin:0!important;padding:12px 0 0!important;
    border-top:1px dashed #bf77849a!important;
  }
  :root[data-theme] .v308-subpage .main .ticket.lm-ticket-layout .lm-ticket-danger-actions .btn{
    width:min(210px,100%)!important;min-height:48px!important;
  }
  /* Demandes publiques, validation, formulaires et panneaux d'action. */
  :root[data-theme] .v308-subpage .main .lm-request-decision-actions{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;align-items:stretch!important;
  }
  :root[data-theme] .v308-subpage .main .lm-request-decision-actions .btn{
    min-width:0!important;width:100%!important;min-height:48px!important;
    white-space:normal!important;text-align:center!important;
  }
  :root[data-theme] .v308-subpage .main .card-head{flex-wrap:wrap;gap:12px}
  :root[data-theme] .v308-subpage .main .card-head .actions{flex-wrap:wrap;max-width:100%}
  :root[data-theme] .modal-wrap .modal-footer{display:flex;flex-wrap:wrap;gap:10px}
  :root[data-theme] .modal-wrap .modal-footer .btn{min-height:46px;white-space:normal}
  :root[data-theme] .v308-subpage .main .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

  /* Tableau de bord classique V2.9 : les mini-tickets ne forcent plus une 3e colonne
     minuscule pour les actions. */
  :root[data-theme] .v3-day-widget .ticket.lm-ticket-layout.v3-compact-ticket{
    grid-template-columns:72px minmax(0,1fr)!important;
    grid-template-areas:'ref content' 'action action'!important;
    align-items:start!important;gap:8px 11px!important;
  }
  :root[data-theme] .v3-day-widget .ticket.lm-ticket-layout.v3-compact-ticket>.lm-ticket-actionbar{
    display:flex!important;grid-area:action!important;grid-column:1/-1!important;
    flex-direction:column!important;align-items:stretch!important;
    width:100%!important;margin:5px 0 0!important;padding:10px 0 0!important;
    border-top:1px solid var(--v3-border,#d3dce8);
  }
  :root[data-theme] .v3-day-widget .ticket.lm-ticket-layout.v3-compact-ticket .lm-ticket-main-actions{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;gap:8px!important;
  }
  :root[data-theme] .v3-day-widget .ticket.lm-ticket-layout.v3-compact-ticket .lm-ticket-main-actions>.btn{
    display:inline-flex!important;max-width:none!important;width:100%!important;
    min-width:0!important;min-height:43px!important;font-size:11.5px!important;
    line-height:1.25!important;white-space:normal!important;padding:8px 9px!important;
  }
  :root[data-theme="noel"] .v3-day-widget .ticket.lm-ticket-layout.v3-compact-ticket .lm-ticket-main-actions>.btn[data-action="details"]{display:inline-flex!important;min-height:43px!important}
}
/* Tablette portrait : un menu légèrement plus compact pour laisser respirer les tickets. */
@media screen and (min-width:761px) and (max-width:980px){
  :root[data-theme] .app{grid-template-columns:192px minmax(0,1fr)!important}
  :root[data-theme] .v308-subpage .main .card.pad{padding:14px!important}
  :root[data-theme] .v308-subpage .main .ticket.lm-ticket-layout .lm-ticket-actionbar>.lm-ticket-main-actions,
  :root[data-theme] .v308-subpage .main .ticket.lm-ticket-layout .lm-ticket-actionbar>.lm-ticket-manage-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  :root[data-theme] .v308-subpage .topbar{min-height:108px}
}
/* Appareils tactiles plus larges, tels que certains iPad Pro en paysage. */
@media screen and (min-width:1441px) and (max-width:1600px){
  :root[data-device="tablet"][data-theme] .v308-subpage .main .ticket-list>.ticket.lm-ticket-layout:not(.v3-compact-ticket){
    grid-template-columns:minmax(0,1fr)!important;grid-template-areas:'ref' 'content' 'action'!important;
  }
  :root[data-device="tablet"][data-theme] .v308-subpage .main .ticket.lm-ticket-layout>.lm-ticket-actionbar{
    grid-area:action!important;grid-column:1/-1!important;flex-wrap:wrap!important;
    width:100%!important;
  }
}
@media screen and (max-width:760px){
  /* Conserve la version téléphone V3.1.6 et protège les titres longs. */
  :root[data-theme] .ticket.lm-ticket-layout>.lm-ticket-content{width:100%;min-width:0!important;overflow-wrap:break-word}
  :root[data-theme] .ticket.lm-ticket-layout .ticket-name{white-space:normal!important;overflow-wrap:break-word!important}
}
