/*
 * EARONTECH — REPÈRES DE MAINTENANCE
 * Écrans : Fournisseur en consultation/modification : onglets, produits, imports et documents.
 * Chargement : private/view.php.
 * Interactions : public/supplier-editor-modal.js.
 * Les couleurs et tailles paramétrables utilisent les variables --app-* / --product-*.
 * Les blocs @media adaptent la même interface à la largeur de l’écran.
 * Conserver l’ordre des règles : les ajustements spécialisés suivent le socle commun.
 */

/* Dimensions et défilement propres à la fiche fournisseur. */
html.supplier-modal-open  {
  overflow: hidden;
}

dialog.supplier-editor-modal  {
  width: 60vw;
  max-width: 96vw;
  height: 85vh;
  max-height: 92vh;
  padding: 12px;
  box-sizing: border-box;
  border: 1px solid var(--app-primary-border, #c8dae2);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}

dialog.supplier-editor-modal[open]  {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.supplier-editor-modal::backdrop  {
  background: #142c4866;
}

.supplier-modal-fallback  {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.supplier-modal-fallback[hidden], .supplier-editor-modal iframe[hidden]  {
  display: none;
}

.supplier-editor-modal > p  {
  margin: 0;
}

.supplier-editor-modal > p:empty, .supplier-editor-status:empty  {
  display: none;
}

.supplier-editor-modal iframe  {
  border: 0;
  width: 100%;
  flex: 1 1 0;
  min-height: 0;
}

.supplier-pagehead h1  {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.supplier-heading-actions  {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: 6px;
}

.supplier-options  {
  position: relative;
}

.supplier-options > summary  {
  cursor: pointer;
  list-style: none;
  font-size: calc(11px * var(--app-buttons-scale, 1));
  padding: 5px 9px;
  line-height: 1.2;
}

.supplier-options > div  {
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 100;
  display: grid;
  gap: 5px;
  min-width: 240px;
  padding: 8px;
  background: #fff;
  border: 1px solid var(--app-primary-border, #c8dae2);
  border-radius: 7px;
  box-shadow: 0 5px 20px #0002;
}

.supplier-options > div > *  {
  width: 100%;
  text-align: left;
  box-sizing: border-box;
}

.supplier-editor > form > .form-body > fieldset  {
  border: 0;
  box-shadow: none;
  margin: 0;
  min-width: 0;
}

.supplier-editor #f-FR_NOTE  {
  height: calc(90px * var(--app-font-scale, 1) + 16px);
  min-height: calc(90px * var(--app-font-scale, 1) + 16px);
  field-sizing: fixed;
}

.supplier-editor-root  {
  height: 100%;
}

body.supplier-editor-embedded  {
  display: block;
  min-width: 0;
  min-height: 0;
  margin: 0;
  background: #fff!important;
}

.supplier-editor-embedded > main  {
  margin: 0!important;
  width: 100%!important;
  padding: 0;
}

.supplier-editor-embedded > main > .content  {
  max-width: none;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 0 4px;
}

body.supplier-editor-ready  {
  height: 100vh;
  overflow: hidden;
}

.supplier-editor-ready > main, .supplier-editor-ready > main > .content  {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

.supplier-editor-ready .supplier-pagehead  {
  flex-shrink: 0;
  margin: 0 0 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.supplier-editor-ready .supplier-pagehead h1  {
  font-size: calc(1.15rem * var(--app-titles-scale, 1));
}

.supplier-editor-ready .supplier-editor, .supplier-editor-ready .supplier-editor > form, .supplier-editor-ready .supplier-editor .form-body  {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  min-height: 0;
  overflow: hidden;
  margin: 0;
}

.supplier-editor-ready .supplier-editor  {
  padding: 0;
  border: 0;
  box-shadow: none;
}

.supplier-editor-ready .supplier-editor .form-body  {
  padding: 0;
}

.supplier-editor-ready .supplier-editor .tabs  {
  flex-shrink: 0;
  flex-wrap: wrap;
  margin: 0;
  gap: 4px;
}

.supplier-editor-ready .supplier-editor .form-body > fieldset  {
  flex: 1 1 0;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 10px 5px;
  scrollbar-gutter: stable;
}

.supplier-editor-ready [data-field-group][hidden]  {
  display: none!important;
}

.supplier-editor-ready .supplier-editor .form-footer  {
  display: none;
}

.supplier-editor-ready .supplier-secondary-actions  {
  flex-shrink: 0;
  margin: 5px 0 0;
  padding: 0;
}

.supplier-editor-status  {
  margin: 3px 0;
  flex-shrink: 0;
}

.supplier-editor-ready .app-flash  {
  flex-shrink: 0;
}

.supplier-editor-embedded dialog  {
  max-width: 96vw;
  max-height: 92vh;
}

.supplier-editor-embedded > .product-drawer-tabs, .supplier-editor-embedded > .basket-panel, .supplier-editor-embedded > .project-products-panel  {
  display: none!important;
}

@media (max-width: 800px)  {
  dialog.supplier-editor-modal  {
    width: 94vw;
    height: 85vh;
    max-height: 92vh;
  }

  .supplier-editor-ready .supplier-pagehead  {
    flex-wrap: wrap;
  }

}

/* Même disposition dans la galerie et les lignes du catalogue fournisseurs. */
body.platform-appearance .supplier-catalog-actions  {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.supplier-action-icons  {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 5px;
}

body.platform-appearance .supplier-action-icons > .supplier-icon-action  {
  width: var(--app-control-height, 26px);
  min-width: var(--app-control-height, 26px);
  padding-inline: 4px!important;
}

.supplier-action-icons svg  {
  width: 17px;
  height: 17px;
  flex-shrink: 0;
}

body.platform-appearance .supplier-catalog-actions .supplier-product-summary  {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  min-width: 0;
  margin-left: auto;
  text-align: right;
  gap: 4px;
}

body.platform-appearance .supplier-catalog-actions .supplier-products  {
  max-width: 100%;
}

.supplier-catalog-actions .supplier-no-products  {
  font-size: calc(11px * var(--app-text-scale, 1));
}

.supplier-table .supplier-catalog-actions  {
  min-width: 360px;
}

/* Consultation : valeurs en texte simple, sans aspect de champs de saisie. */
.supplier-consultation .readonly-value  {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  min-height: 0;
  height: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.supplier-consultation .field  {
  margin-bottom: 12px;
  gap: 3px;
}

.supplier-consultation .supplier-field-pair:empty, .supplier-consultation .supplier-website:empty  {
  display: none;
}

.pagehead.supplier-catalog-header  {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.supplier-catalog-header h1  {
  margin: 0;
}

.supplier-catalog-header .supplier-view-switch  {
  margin: 0;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 6px;
}

.supplier-catalog-header .supplier-view-switch a  {
  width: var(--app-control-height, 26px);
  padding-inline: 4px!important;
}

.supplier-catalog-header .supplier-view-switch svg  {
  width: 18px;
  height: 18px;
}

.supplier-catalog-options  {
  justify-self: end;
}

.supplier-catalog-options .supplier-options > div  {
  min-width: 230px;
}

.supplier-catalog-options .supplier-options > div a  {
  white-space: normal;
  height: auto!important;
  max-height: none!important;
  min-height: var(--app-control-height, 26px);
  padding-block: 5px!important;
}

@media (max-width: 600px)  {
  .pagehead.supplier-catalog-header  {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .supplier-catalog-header h1  {
    grid-column: 1 / -1;
  }

  .supplier-catalog-header .supplier-view-switch  {
    justify-self: start;
  }

}

/* Couleurs de lecture demandées, indépendantes de la couleur des libellés du thème. */
body.platform-appearance .supplier-consultation .field > span, body.platform-appearance .supplier-consultation .field > label  {
  color: var(--app-consultation-label-color,#6b7280)!important;
}

body.platform-appearance .supplier-consultation .readonly-value, body.platform-appearance .supplier-consultation .readonly-value a  {
  color: var(--app-consultation-content-color,#000)!important;
  font-size: var(--app-consultation-content-size,12px)!important;
  font-weight: var(--app-consultation-content-weight,400)!important;
}

body.platform-appearance .supplier-consultation .field > span, body.platform-appearance .supplier-consultation .field > label  {
  font-size: var(--app-consultation-label-size,12px)!important;
  font-weight: var(--app-consultation-label-weight,600)!important;
}

/* Fiche fournisseur : deux colonnes d'informations et galeries compactes. */
.supplier-editor .supplier-information-columns  {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.supplier-editor .supplier-field-pair  {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  align-items:start;
}

.supplier-editor .supplier-field-full  {
  grid-template-columns:1fr;
}

.supplier-editor .supplier-information-columns .field  {
  min-width:0;
}

.supplier-editor .supplier-product-grid, .supplier-editor .project-grid, .supplier-editor .operations-grid, .supplier-editor .supplier-event-grid, .supplier-editor .news-grid  {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  align-items:stretch;
}

.supplier-editor :is(.security-browser-card,.project-card,.operations-card,.supplier-event-card,.news-card)  {
  min-width:0;
  width:auto;
  grid-column:auto;
}

.supplier-editor .supplier-product-grid .product-card-layout  {
  width:100%;
}

.supplier-editor .supplier-product-grid [data-card-part]  {
  position:static;
  width:100%;
}

.supplier-editor .supplier-product-grid [data-card-part=actions]  {
  margin-top:auto;
}

.supplier-editor .supplier-product-grid .product-catalogue-actions  {
  flex-wrap:wrap;
}

.supplier-editor .supplier-products-columns  {
  grid-template-columns:minmax(0,4fr) minmax(140px,1fr);
}

.supplier-editor .supplier-products-single  {
  grid-template-columns:1fr;
}

.supplier-editor #supplier-group-11 .project-list-panel>.pagehead, .supplier-editor #supplier-group-10 .operations-toolbar>a, .supplier-editor #supplier-group-4 [data-supplier-dialog="supplier-document-add"]  {
  display:none;
}

.supplier-editor .supplier-documents-layout  {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
  height:100%;
  min-height:0;
}

.supplier-documents-list  {
  overflow:auto;
  min-width:0;
  min-height:0;
}

.supplier-document-preview  {
  display:flex;
  flex-direction:column;
  min-height:0;
  min-width:0;
  overflow:hidden;
  background:#fff;
}

.supplier-document-preview [data-preview-caption]  {
  margin:0 0 6px;
}

.supplier-document-preview [data-document-preview]  {
  display:flex;
  flex-direction:column;
  flex:1;
  min-height:0;
}

.supplier-document-preview .pdf-sheet  {
  flex:1;
  min-height:0;
  max-height:none;
  background:#fff;
}

.supplier-editor .document-list .is-current-document  {
  background:var(--app-primary-soft,#eaf3f7);
  outline:1px solid var(--app-primary-border,#c8dae2);
  border-radius:6px;
}

@media(max-width:600px)  {
  /* Présentation commune à ces éléments ; mêmes propriétés et même contexte d’écran. */
  .supplier-editor .supplier-information-columns, .supplier-editor .supplier-documents-layout, .supplier-editor .supplier-product-grid, .supplier-editor .project-grid, .supplier-editor .operations-grid, .supplier-editor .supplier-event-grid, .supplier-editor .news-grid  {
    grid-template-columns:1fr;
  }

}

.supplier-document-preview .pdf-page-layout  {
  height:auto;
  max-height:none;
  grid-template-columns:70px minmax(0,1fr);
  gap:6px;
}

.supplier-document-preview .pdf-controls  {
  flex-wrap:wrap;
  flex-shrink:0;
  gap:4px;
}

.supplier-document-preview .pdf-thumbnail  {
  min-height:65px;
}

.supplier-documents-list .document-list  {
  margin:0;
  padding:0;
}

.supplier-documents-list .document-list li  {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  padding:8px 0;
}

.supplier-documents-list .attachment-name  {
  flex:1;
  min-width:100px;
  overflow-wrap:anywhere;
}

.supplier-documents-list .document-row-actions  {
  display:flex;
  gap:4px;
  flex-wrap:wrap;
}

@media(max-width:600px)  {
  .supplier-editor .supplier-documents-layout  {
    grid-template-rows:minmax(70px,30%) minmax(0,1fr);
  }

}

/* Les produits et les résultats IA défilent séparément dans l'onglet. */
.supplier-editor-ready #supplier-group-3  {
  overflow:hidden;
}

.supplier-editor-ready #supplier-group-3 .supplier-products-columns  {
  height:100%;
  min-height:0;
  overflow:hidden;
  grid-template-rows:minmax(0,1fr);
  align-items:stretch;
}

.supplier-editor-ready #supplier-group-3 .supplier-products-columns>section  {
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  padding-right:4px;
}

/* Le viewport imbriqué est déjà celui de la fiche fournisseur : ne pas le réduire à nouveau à 60 %. */
body.supplier-editor-embedded dialog.product-editor-modal  {
  width:calc(100% - 16px);
  max-width:calc(100% - 16px);
  box-sizing:border-box;
}

@media(max-width:600px)  {
  .supplier-editor-ready #supplier-group-3 .supplier-products-columns  {
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:repeat(2,minmax(0,1fr));
  }

  .supplier-editor-ready #supplier-group-3 .supplier-products-single  {
    grid-template-rows:minmax(0,1fr);
  }

}

/* Fiche fournisseur, Produits associés : ne pas hériter du style du titre de technologie. */
body.platform-appearance .supplier-editor .supplier-product-grid .security-browser-card.product-card-custom .supplier-product-commercial-name {
  display:block;
  margin-top:3px;
  color:#959595 !important;
  font-size:13px !important;
  font-weight:700;
  line-height:1.35;
  overflow-wrap:anywhere;
}

/* Fiche fournisseur : ouvrir le site à droite de l’adresse, y compris en consultation. */
.supplier-field-pair .supplier-website{min-width:0}.supplier-field-pair .supplier-website [data-address-action]{display:block}.supplier-website .readonly-value{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.supplier-site-button{display:inline-flex;vertical-align:middle;margin-left:.4rem;flex-shrink:0}
