/* Phase 240 : une seule barre de defilement verticale, grilles de saisie compactes. */
html{overflow-y:auto!important;overflow-x:hidden!important;scrollbar-gutter:stable}
body{height:auto!important;min-height:100vh!important;max-height:none!important;overflow-y:visible!important;overflow-x:clip!important}
/* Les panneaux et les listes ne creent plus un second defilement vertical. */
body.admin215-layout #pane,body.client-connected .phase192-content,
body.client-connected #client-menu-163,body.admin215-layout #nav,
#main-content #pane,.admin214-panel,.phase192-content,
.tw,.scroll,.table-wrap,#pane .tw,#pane .table-wrap,
#main-content #app .workspace,#main-content #app #pane,
#main-content #app #nav{
 max-height:none!important;height:auto!important;overflow-y:visible!important;
 overscroll-behavior-y:auto!important;scrollbar-gutter:auto!important;
}
/* Un tableau large peut defiler horizontalement, jamais verticalement. */
.tw,.scroll,.table-wrap,#pane .tw,#pane .table-wrap{overflow-x:auto!important}
/* Pas de barres verticales parasites dans les cartes de rapport. */
body.admin215-layout #pane .admin214-panel{overflow-x:auto!important}
/* Les fenetres modales conservent leur defilement propre : necessaire a leur accessibilite. */
[role=dialog],dialog:modal,.dj-popup-panel,.popup230-panel{max-height:min(92dvh,950px)}
/* Grille uniforme des champs (3 ou 4 sur grand ecran), y compris les contenus injectes. */
@media(min-width:1180px){
 .fg[data-fg],.row[data-fg],.admin216-form,.formgrid,
 form .fg,form .row,form>.grid:not(.kpis):not(.stats),
 #customsSection .grid,#transportDetails200,.rg .fg{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:9px 12px!important;align-items:end!important;
 }
}
@media(min-width:760px) and (max-width:1179px){
 .fg[data-fg],.row[data-fg],.admin216-form,.formgrid,
 form .fg,form .row,form>.grid:not(.kpis):not(.stats),
 #customsSection .grid,#transportDetails200,.rg .fg{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px 12px!important;align-items:end!important;
 }
}
@media(min-width:510px) and (max-width:759px){
 .fg[data-fg],.row[data-fg],.admin216-form,.formgrid,
 form .fg,form .row,form>.grid:not(.kpis):not(.stats),
 #customsSection .grid,#transportDetails200,.rg .fg{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
}
@media(max-width:509px){
 .fg[data-fg],.row[data-fg],.admin216-form,.formgrid,
 form .fg,form .row,form>.grid:not(.kpis):not(.stats),
 #customsSection .grid,#transportDetails200,.rg .fg{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
}
/* Champs de taille constante et libelles complets, sans rogner les informations. */
.fg>*,.row>*,.formgrid>*,.admin216-form>*,form>.grid>*,#customsSection .grid>*{min-width:0!important;max-width:100%!important}
.fg label,.row label,.formgrid label,.admin216-form label,form>.grid label,#customsSection .grid label{
 overflow-wrap:anywhere!important;white-space:normal!important;line-height:1.3!important;
}
.fg input:not([type=checkbox]):not([type=radio]),.fg select,
.row input:not([type=checkbox]):not([type=radio]),.row select,
.formgrid input:not([type=checkbox]):not([type=radio]),.formgrid select,
.admin216-form input:not([type=checkbox]):not([type=radio]),.admin216-form select,
form>.grid input:not([type=checkbox]):not([type=radio]),form>.grid select,
#customsSection .grid input:not([type=checkbox]):not([type=radio]),#customsSection .grid select{
 width:100%!important;max-width:100%!important;min-width:0!important;
 min-height:36px!important;height:36px!important;padding:6px 9px!important;
 font-size:13px!important;box-sizing:border-box!important;
}
.fg textarea,.row textarea,.formgrid textarea,.admin216-form textarea,form>.grid textarea{width:100%!important;min-height:65px!important;max-width:100%!important;box-sizing:border-box!important}
.fg .actions,.fg .info,.fg .msg,.fg .full,.row .full,.formgrid .actions,.admin216-form .actions{grid-column:1/-1!important}
/* Ne jamais masquer les champs inactifs par manque de place. */
@media print{html,body,#pane,.phase192-content,.tw,.table-wrap{height:auto!important;max-height:none!important;overflow:visible!important}}
