/* Bayān 12.9 — audit responsive complet + nettoyage des contrôles contextuels */
[hidden]{display:none!important}

/* Les panneaux d'analyse ne doivent jamais imposer une largeur au viewport. */
#analyticsView,
#analyticsView .analytics-tab-panel,
#bayaanIntelligenceMount,
#bayaanExploration12Mount,
#bayaanDataVizMount,
#advancedResearchLabMount,
#structuralExplorerMount{
  width:100%;
  min-width:0;
  max-width:100%;
}

/* Les contrôles globaux ne servent qu'aux anciens outils qui les consomment réellement. */
#analyticsGlobalControls[hidden]{display:none!important}
#analyticsGlobalControls .analytics-context-field[hidden]{display:none!important}

/* Tout contenu dynamique doit pouvoir rétrécir. */
#analyticsView :where(section,article,div,form,fieldset,label,header,nav,main,aside){min-width:0}
#analyticsView :where(input,select,textarea){max-width:100%;min-width:0}
#analyticsView :where(p,h1,h2,h3,h4,small,strong,span){overflow-wrap:anywhere}

/* Exploration 12 : aucune grille desktop ne doit survivre sur téléphone. */
.e12-shell,.e12-panel,.e12-card,.e12-grid,.e12-field,.e12-result,.e12-project-item{width:100%;max-width:100%;min-width:0}
.e12-note,.e12-heading,.e12-heading>*,.e12-result p,.e12-project-item>*{max-width:100%;white-space:normal}
.e12-table-wrap,.e12-timeline,.e12-network,.e12-context-matrix{
  width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;
  -webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;
}
.e12-timeline>svg,.e12-network>svg{max-width:none}

/* DataViz : le canevas large défile localement, jamais la page entière. */
#bayaanDataVizMount,.bi-builder,.bi-builder-section,.bi-visual-card,.bi-chart-shell,.bi-table-card,.bi-dashboard-card,.bi-insights,.bi-drill{min-width:0;max-width:100%}
.bi-table-wrap,.bi-chart-shell{max-width:100%;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}

/* Outils historiques : les tableaux larges restent dans leur propre zone de scroll. */
:where(.appearance-table-wrap,.analysis-table-wrap,.signature-table-wrap,.bayaan-table-scroll,.v90-matrix-wrap,.v1040-studio table){max-width:100%}

@media (max-width:900px){
  #analyticsView{overflow-x:clip}
  #analyticsView .analytics-tabs{width:100%;max-width:100%;margin-inline:0;padding-inline:4px}
  #analyticsView .analytics-tabs button{max-width:none}
}

@media (max-width:760px){
  /* Le contexte d'analyse devient une vraie pile mobile, sans bouton redondant. */
  #analyticsGlobalControls{width:100%!important;max-width:100%!important;margin:12px 0 16px!important;padding:13px!important;grid-template-columns:minmax(0,1fr)!important}
  #analyticsGlobalControls>*{width:100%;min-width:0;max-width:100%;grid-column:auto!important}

  .analytics-tab-panel{overflow-x:clip}

  /* Exploration 12 */
  .e12-shell{gap:12px;overflow-x:hidden}
  .e12-hero{width:100%;padding:15px 13px;border-radius:17px;display:grid;grid-template-columns:minmax(0,1fr)}
  .e12-hero>*{min-width:0;max-width:100%}
  .e12-hero h2{font-size:clamp(1.25rem,6.2vw,1.7rem);line-height:1.16}
  .e12-badge{white-space:normal;justify-self:start;max-width:100%}
  .e12-mobile-select{position:static;top:auto;width:100%}
  .e12-card{padding:13px 11px;border-radius:16px;overflow:hidden}
  .e12-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
  .e12-proof{justify-self:start;white-space:normal}
  .e12-grid,.e12-grid.two,.e12-grid.three{grid-template-columns:minmax(0,1fr)!important;gap:10px}
  .e12-grid>*{grid-column:auto!important;min-width:0!important;max-width:100%!important}
  .e12-field{grid-template-columns:minmax(0,1fr)}
  .e12-field input,.e12-field select,.e12-field textarea{width:100%!important;max-width:100%!important}
  .e12-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%;gap:8px}
  .e12-actions>*{width:100%!important;min-width:0!important;max-width:100%!important;white-space:normal!important}
  .e12-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .e12-term-row,.e12-clause{grid-template-columns:minmax(0,1fr)!important;padding:9px!important}
  .e12-term-row>*,.e12-clause>*{grid-column:auto!important;min-width:0!important;max-width:100%!important;width:100%}
  .e12-term-label{width:34px!important;justify-self:start}
  .e12-result header{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
  .e12-project-item{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
  .e12-table{min-width:600px}
  .e12-timeline svg{width:700px!important;min-width:700px!important}
  .e12-network svg{width:760px!important;min-width:760px!important}
  .e12-context-row{min-width:620px}

  /* Notes / actions : sur mobile, le bloc Actions d'une note doit rester centré
     et le panneau associé ne doit jamais sortir de l'écran. */
  #researchWorkView .v7-note-editor-header{grid-template-columns:minmax(0,1fr)!important;justify-items:stretch!important}
  #researchWorkView .v7-note-title-wrap{width:100%!important;min-width:0!important}
  #researchWorkView .v7-note-head-actions{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    margin-inline:auto!important;
    overflow:visible!important;
  }
  #researchWorkView .v7-note-head-actions>*{min-width:0!important;max-width:100%!important}
  #researchWorkView .v7-note-head-actions>#v7PinNote{justify-self:start!important}
  #researchWorkView .v7-note-head-actions>.v89-note-options,
  #researchWorkView .v7-note-head-actions>.v89-options{width:100%!important;min-width:0!important}
  #researchWorkView .v7-note-head-actions>.v89-note-options>summary,
  #researchWorkView .v7-note-head-actions>.v89-options>summary{
    width:100%!important;
    max-width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
  }
  #researchWorkView .v89-note-options{position:relative!important}
  /* Le vrai correctif : la liste déroulante ouverte est détachée du flux local
     et recentrée dans le viewport pour ne jamais sortir de l'écran. */
  #researchWorkView .v89-note-options[open]>.v89-note-options-panel{
    position:fixed!important;
    left:50%!important;
    right:auto!important;
    top:50%!important;
    bottom:auto!important;
    transform:translate(-50%,-50%)!important;
    width:min(320px,calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;
    max-height:min(70vh,420px)!important;
    overflow:auto!important;
    z-index:9999!important;
    box-sizing:border-box!important;
  }
  #researchWorkView .v89-note-options[open]>.v89-note-options-panel button{
    white-space:normal!important;
    word-break:break-word!important;
  }


  /* DataViz BI */
  .bi-head{padding:15px 13px!important;border-radius:17px!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important}
  .bi-head-actions,.bi-export-actions,.bi-drill-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%}
  .bi-head-actions>*,.bi-export-actions>*,.bi-drill-actions>*{width:100%;min-width:0}
  .bi-builder{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  .bi-builder-section{padding:13px 11px!important;border-radius:16px!important}
  .bi-control-grid{grid-template-columns:minmax(0,1fr)!important}
  .bi-inline{grid-template-columns:minmax(0,1fr)!important}
  .bi-series-card{grid-template-columns:10px minmax(0,1fr) 32px!important}
  .bi-series-card>*{min-width:0;max-width:100%}
  .bi-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .bi-dashboard,.bi-insights #biInsights{grid-template-columns:minmax(0,1fr)!important}
  .bi-drill-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .bi-visual-card,.bi-table-card,.bi-dashboard-card,.bi-insights,.bi-drill{padding:13px 11px!important;border-radius:16px!important}
  #biChart{width:700px!important;min-width:700px!important;max-width:none!important}
  .bi-chart-shell{overflow-x:auto!important;overflow-y:hidden!important}

  /* Structures / Intelligence / Research Lab / Studio : garde-fous communs. */
  #structuralExplorerMount :where(.s114-grid,.s114-two,.s114-form-grid,.s114-discovery-grid,.s114-mini-grid),
  #advancedResearchLabMount :where(.v90-lab-scope,.v90-form-grid,.v90-two-col,.v90-query-rules,.v90-pair-gap),
  #bayaanIntelligenceMount :where(.i11-grid,.i11-two,.i11-scope-row,.i11-term-row){grid-template-columns:minmax(0,1fr)!important}
  #structuralExplorerMount :where(input,select,textarea,button),
  #advancedResearchLabMount :where(input,select,textarea,button),
  #bayaanIntelligenceMount :where(input,select,textarea,button){max-width:100%;min-width:0}
}

@media (max-width:480px){
  #analyticsView .page-header{width:calc(100% - 12px)!important;margin-inline:auto}
  #analyticsView .analytics-tabs{border-radius:14px;margin-block:12px 16px}
  .e12-card,.bi-builder-section,.bi-visual-card,.bi-table-card,.bi-dashboard-card,.bi-insights,.bi-drill{padding:11px 9px!important}
  .e12-metrics,.bi-metrics,.bi-drill-grid{grid-template-columns:minmax(0,1fr)!important}
  .e12-note{font-size:.86rem;line-height:1.5}
  .e12-table{min-width:560px}
  .e12-context-row{min-width:560px}
  .bi-drill-ar{font-size:1.35rem}
}

@media (max-width:360px){
  .e12-card,.bi-builder-section,.bi-visual-card,.bi-table-card,.bi-dashboard-card,.bi-insights,.bi-drill{padding-inline:8px!important}
  #analyticsView .analytics-tabs button{padding:9px 10px}
}

/* Respect strict des composants natifs repliables : un details fermé ne doit jamais garder
   un panneau en display:grid/flex à cause d'une règle d'auteur. */
details:not([open]) > :not(summary){display:none!important}

/* Les garde-fous width:100% sur les formulaires ne doivent jamais transformer
   checkbox/radio en blocs de plusieurs centaines de pixels. */
input[type="checkbox"],input[type="radio"]{width:auto!important;min-width:auto!important;max-width:none!important;inline-size:auto!important}

@media (max-width:420px){
  #researchWorkView .v7-note-head-actions{grid-template-columns:minmax(0,1fr)!important}
  #researchWorkView .v7-note-head-actions>#v7PinNote{justify-self:center!important}
}
