/* Workflow v1.3 */
.process-phases{display:grid;gap:9px;margin:18px 0}
.process-phase{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff}
.process-phase .phase-icon{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:800;border:1px solid var(--line)}
.process-phase div{display:flex;flex-direction:column;gap:3px}.process-phase small{color:var(--muted)}
.process-phase.running{border-color:var(--orange);background:#fffaf0}.process-phase.running .phase-icon{background:var(--orange);color:#111}
.process-phase.success{border-color:#bbf7d0;background:#f0fdf4}.process-phase.success .phase-icon{background:#16a34a;color:#fff;border-color:#16a34a}
.process-phase.skipped{background:#f8fafc}.process-phase.skipped .phase-icon{background:#e2e8f0}
.process-phase.error{border-color:#fecaca;background:#fef2f2}.process-phase.error .phase-icon{background:#dc2626;color:white}
.progress-bar{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden;flex:1}.progress-bar>div{height:100%;width:0;background:var(--orange);transition:width .25s}
.progress-bar.large{height:12px;margin-top:16px}.upload-progress{display:flex;gap:10px;align-items:center;margin-top:14px}
.demo-warning,.draft-banner,.validation-warning,.success-banner{padding:14px 16px;border-radius:10px;margin:14px 0}
.demo-warning{background:#fff7ed;border:1px solid #fed7aa}.draft-banner{background:#fff7ed;border:1px solid #fdba74}
.validation-warning{background:#fef3c7;border:1px solid #f59e0b}.success-banner{background:#dcfce7;border:1px solid #86efac}
.error-text{color:#b91c1c}.wizard-steps.compact{margin-bottom:16px}.wizard-dot.static{cursor:default}
.manual-preview-frame{background:#e9eef5;border-radius:14px;padding:20px}.embedded-manual{margin:0 auto}
.manual-status{float:right}.status-ok,.status-draft{padding:6px 10px;border-radius:999px;font-weight:700;font-size:12px}
.status-ok{background:#dcfce7;color:#166534}.status-draft{background:#fff7ed;color:#9a3412}
.manual-step-heading{display:flex;gap:12px;align-items:center}.manual-step-number{width:38px;height:38px;background:var(--navy);color:#fff;border-radius:50%;display:grid;place-items:center;font-weight:800}
.manual-step-heading h2{margin:0}.manual-step-heading small{color:var(--muted)}
.pending-item,.pending-media{outline:2px dashed #f59e0b;outline-offset:-2px}.pending-label{display:inline-block;margin-left:6px;color:#9a3412;background:#ffedd5;padding:3px 7px;border-radius:999px;font-size:11px}
.sticky-actions{position:sticky;bottom:0;background:rgba(244,246,249,.96);padding:14px 0;z-index:10}
.muted-notice{background:#f8fafc;border-left-color:#94a3b8}
@media print{
  .pending-media,.pending-item{display:none!important}
  .draft-banner,.validation-warning,.success-banner{display:none!important}
}


/* Validation des médias v1.4 */
.preview-media-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px}
.preview-image-wrap{position:relative}
.preview-image-wrap img{display:block;width:100%;cursor:zoom-in;border-radius:8px}
.main-image-badge{position:absolute;top:8px;left:8px;background:var(--orange);color:#111;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}
.preview-media-actions{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);display:grid;gap:10px}
.preview-validate{display:flex;flex-direction:row;align-items:center;gap:8px;padding:9px 10px;background:#f8fafc;border:1px solid var(--line);border-radius:9px}
.preview-validate input{width:auto}
.preview-action-buttons{display:flex;gap:7px;flex-wrap:wrap}
.preview-action-buttons .button,.preview-action-buttons button{font-size:12px;padding:7px 9px}
.danger-outline{border-color:#fecaca!important;color:#b91c1c!important;background:#fff!important}
.validated-label{display:inline-block;margin-left:6px;color:#166534;background:#dcfce7;padding:3px 7px;border-radius:999px;font-size:11px}
.no-media-warning{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;background:#fff7ed;border:1px dashed #fb923c;border-radius:10px;margin:10px 0}
.button.mini{margin-left:auto;font-size:12px;padding:7px 9px}
@media(max-width:650px){
  .preview-action-buttons{display:grid;grid-template-columns:1fr 1fr}
  .preview-action-buttons .button,.preview-action-buttons button{text-align:center}
  .no-media-warning{align-items:stretch;flex-direction:column}
}
@media print{
  .preview-media-card{border:0;padding:0}
}


/* IA réelle v1.5 */
.ai-connected,.ai-missing,.ai-data-note{padding:13px 15px;border-radius:10px;margin:12px 0}
.ai-connected{background:#ecfdf5;border:1px solid #86efac;color:#166534}
.ai-missing{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}
.ai-data-note{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;font-size:13px}
.manual-objective,.manual-prerequisites{margin-top:10px;padding:10px 12px;background:#f8fafc;border-radius:8px}


/* ===== FastManu v1.6 : ressources + images HD ===== */
.manual-resource{display:grid;gap:7px}
.resource-display-line{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.resource-quantity{font-weight:700;color:var(--navy)}
.resource-source{display:block;color:var(--muted);font-style:italic;line-height:1.35}
.resource-status{font-size:12px}
.resource-actions{display:flex;gap:7px;flex-wrap:wrap}
.resource-actions button{padding:6px 9px;font-size:12px}
.resource-inline-editor{border-top:1px solid var(--line);padding-top:10px;display:grid;gap:8px}
.resource-inline-editor[hidden]{display:none!important}
.resource-inline-editor label{display:grid;gap:4px;font-size:12px}
.resource-inline-editor input{width:100%}
.resource-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.resource-editor-actions{display:flex;gap:7px}

.preparation-photo-block{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.preparation-photo-block h3{margin-bottom:6px}
.preparation-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px}
.prep-thumb{margin:0;padding:7px;border:1px solid var(--line);border-radius:10px;background:#fff}
.prep-thumb img{display:block;width:100%;height:auto;border-radius:7px;cursor:zoom-in}

#procedureVideo{
  image-rendering:auto;
  background:#050505;
}
#procedureVideo:fullscreen{
  width:100vw;
  height:100vh;
  object-fit:contain;
  background:#000;
}
#videoFullscreenBtn{margin-left:7px}

.manual-images{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
}
.preview-image-wrap img{
  width:100%;
  height:auto;
  object-fit:contain;
}

@media(max-width:650px){
  .resource-display-line{display:grid}
  .resource-edit-grid{grid-template-columns:1fr}
  .preparation-photo-grid{grid-template-columns:1fr 1fr}
}


/* ===== FastManu v1.7 ===== */

/* Upload */
.upload-progress{margin-top:10px}
.upload-progress .progress-bar{overflow:hidden}

/* Ressources : confirmation réversible */
.resource-confirm-btn,
.preview-confirm-btn,
.media-confirm-btn{
  border:0;
  color:#fff;
  font-weight:700;
  border-radius:8px;
  cursor:pointer;
}
.resource-confirm-btn.confirmed,
.preview-confirm-btn.confirmed,
.media-confirm-btn.confirmed{
  background:#17803d;
}
.resource-confirm-btn.unconfirmed,
.preview-confirm-btn.unconfirmed,
.media-confirm-btn.unconfirmed{
  background:#c9362b;
}
.confirmed-text{color:#147a39;font-weight:700}
.pending-text{color:#b42318;font-weight:700}

/* Ressources dans l'éditeur : léger alinéa vers la droite après ouverture */
.resource-accordion > summary{
  cursor:pointer;
}
.indented-resource-list{
  margin-left:22px;
  padding-left:12px;
  border-left:2px solid #e8edf4;
  margin-top:8px;
}
.editor-resource-row{
  display:block;
  padding:10px 8px;
  border-bottom:1px solid var(--line);
}
.editor-resource-main{
  display:grid;
  grid-template-columns:minmax(150px,2fr) minmax(90px,1fr) minmax(70px,1fr);
  gap:10px;
  align-items:center;
}
.editor-resource-row .resource-actions{
  margin-top:8px;
}

/* Images : ordre de validation */
.ordered-media-grid{
  grid-template-columns:repeat(3,minmax(130px,1fr));
}
.confirmed-media{
  border-color:#38a169!important;
  box-shadow:0 0 0 1px rgba(56,161,105,.15);
}
.pending-media{
  border-color:#e05c52!important;
}
.media-confirm-btn,
.preview-confirm-btn{
  width:100%;
  margin-top:8px;
  padding:8px 10px;
}
.main-image-badge{
  background:#f59e0b;
  color:#111827;
}

/* Pas de bouton Agrandir : l'image elle-même ouvre la vue agrandie */
.preview-image-wrap img,
.media-card img,
.prep-thumb img{
  cursor:zoom-in;
}

@media(max-width:780px){
  .ordered-media-grid{grid-template-columns:1fr 1fr}
  .editor-resource-main{grid-template-columns:1fr}
  .indented-resource-list{margin-left:12px;padding-left:8px}
}


/* ===== FastManu v1.8 ===== */

/* Téléversement : la barre vidéo est verte pendant tout le transfert. */
.upload-progress .progress-bar > div{
  background:#16a34a !important;
}
.upload-progress.upload-complete #uploadProgressText{
  color:#166534;
  font-weight:700;
}

/* Checkboxes alignées à gauche de leur libellé. */
.check-row{
  display:flex !important;
  flex-direction:row !important;
  align-items:center;
  justify-content:flex-start;
  gap:9px;
  width:100%;
}
.check-row input[type="checkbox"]{
  width:18px !important;
  height:18px;
  flex:0 0 18px;
  margin:0;
}

/* Ressources machine */
.machine-detail-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:18px;
}
.validated-procedure-cards{
  display:grid;
  gap:10px;
}
.validated-procedure-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:10px;
  text-decoration:none;
}
.validated-procedure-card:hover{
  border-color:var(--orange);
  background:#fffaf0;
}
.validated-procedure-card small{
  display:block;
  color:var(--muted);
  margin-top:4px;
}
.machine-resource-group{
  border:1px solid var(--line);
  border-radius:10px;
  margin-bottom:8px;
  padding:9px 11px;
}
.machine-resource-group summary{
  cursor:pointer;
  font-weight:700;
}
.machine-resource-group summary span{
  float:right;
  color:var(--muted);
}
.machine-resource-list{
  margin-top:8px;
  padding-left:18px;
  border-left:2px solid #e5e7eb;
}
.machine-resource-item{
  display:grid;
  grid-template-columns:1.5fr .7fr 1fr;
  gap:10px;
  padding:8px 0;
  border-bottom:1px solid var(--line);
}
.empty-state{
  padding:18px;
  border:1px dashed var(--line);
  border-radius:10px;
  color:var(--muted);
}
.breadcrumb{
  margin:0 0 4px;
  color:var(--muted);
}

/* Liste procédures */
.badge-validated{
  background:#dcfce7 !important;
  color:#166534 !important;
  border-color:#86efac !important;
}
.badge-draft{
  background:#fff7e5 !important;
  color:#a16207 !important;
}
.procedure-actions{
  white-space:nowrap;
}
.action-link{
  margin-right:7px;
}
.view-link{
  color:#166534;
  font-weight:700;
}
.inline-form{
  display:inline;
}
.link-button{
  border:0;
  background:none;
  padding:0;
  font:inherit;
  text-decoration:underline;
  cursor:pointer;
}
.danger-link{
  color:#b42318;
}

/* Machines */
.machine-add-details{
  position:relative;
}
.machine-add-details > summary{
  list-style:none;
  cursor:pointer;
}
.machine-add-details > summary::-webkit-details-marker{
  display:none;
}
.machine-add-form{
  margin-top:12px;
  min-width:min(760px,80vw);
}
.machine-card-link{
  text-decoration:none;
  color:inherit;
}
.machine-card-link .machine-card{
  height:100%;
  transition:transform .12s ease,border-color .12s ease;
}
.machine-card-link:hover .machine-card{
  transform:translateY(-2px);
  border-color:var(--orange);
}
.machine-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.machine-card-head h3{
  margin:0;
}

/* Menu machines dans la barre latérale. */
.sidebar-machine-menu{
  border-radius:10px;
}
.sidebar-machine-menu > summary{
  cursor:pointer;
  list-style:none;
  padding:12px;
  border-radius:10px;
}
.sidebar-machine-menu > summary::-webkit-details-marker{
  display:none;
}
.sidebar-machine-menu > summary:hover{
  background:var(--orange);
  color:#111;
}
.sidebar-machine-submenu{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin:2px 0 6px 18px;
  padding-left:8px;
  border-left:1px solid rgba(255,255,255,.25);
}
.sidebar nav .sidebar-machine-submenu a{
  padding:7px 9px;
  font-size:13px;
}
.sidebar-all-machines{
  font-weight:700;
}

/* Actions du manuel en bas également. */
.manual > + .manual-actions{
  margin-top:14px;
}

/* Le bouton rouge/vert reste lisible. */
.resource-confirm-btn.unconfirmed,
.preview-confirm-btn.unconfirmed,
.media-confirm-btn.unconfirmed{
  background:#c9342b !important;
}
.resource-confirm-btn.confirmed,
.preview-confirm-btn.confirmed,
.media-confirm-btn.confirmed{
  background:#15803d !important;
}

@media(max-width:900px){
  .machine-detail-grid{grid-template-columns:1fr}
  .machine-add-form{min-width:0}
  .machine-resource-item{grid-template-columns:1fr}
}


/* ===== FastManu v1.8.2 ===== */
.stat-link{display:block;text-decoration:none;color:inherit;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.stat-link:hover{transform:translateY(-2px);border-color:var(--orange);box-shadow:0 5px 14px rgba(15,23,42,.08)}
.clickable-row{cursor:pointer}.clickable-row:hover{background:#fffaf0}.row-main-link{font-weight:650;text-decoration:none}.row-main-link:hover{text-decoration:underline}
.badge-danger{background:#fee2e2!important;color:#991b1b!important}.danger-button{background:#fff;color:#b42318;border-color:#f3b4ae}.danger-button:hover{background:#fee2e2}.mini{padding:6px 9px;font-size:12px}
.sidebar-machine-main{display:grid;grid-template-columns:1fr 34px;align-items:center;gap:2px}.sidebar nav .sidebar-machine-main .sidebar-machine-link{padding:12px}.sidebar-machine-toggle{height:34px;width:34px;padding:0;border:0;background:transparent;color:white;font-size:18px}.sidebar-machine-toggle:hover{background:rgba(255,255,255,.12);color:white}.sidebar-machine-submenu[hidden]{display:none!important}
.machine-page-header{align-items:flex-start}.machine-admin-column{width:190px;display:flex;flex-direction:column;gap:10px;align-items:stretch}.machine-status-form label{font-size:12px;color:var(--muted)}.machine-status-form select{font-weight:700}.qr-card{border:1px solid var(--line);background:white;border-radius:12px;padding:10px;text-align:center}.qr-card img{display:block;width:120px;height:120px;margin:6px auto}.with-qr{padding:0!important;overflow:hidden}.procedure-card-main{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;text-decoration:none}.procedure-qr{width:118px;padding:10px;border-left:1px solid var(--line);background:#f8fafc;text-align:center}.procedure-qr img{width:88px;height:88px;display:block;margin:auto}.qr-print-button{display:block;margin-top:6px;padding:6px 5px;font-size:11px}
.procedure-filter-links{display:flex;gap:8px;margin:-8px 0 12px}.procedure-table-panel{padding:12px}.procedures-table{min-width:1100px}.date-cell{white-space:nowrap;font-variant-numeric:tabular-nums}.user-cell small{display:block;white-space:nowrap}.procedure-actions{min-width:210px}
.public-page{max-width:1100px;margin:0 auto;padding:24px}.public-brand{font-size:22px;color:#172b4d;margin-bottom:18px}.public-brand span{color:#f59e0b}.public-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.public-manual-page .manual{max-width:900px}.card-arrow{font-size:22px;color:var(--muted)}
@media(max-width:900px){.machine-admin-column{width:100%;display:grid;grid-template-columns:1fr 150px;align-items:start}.machine-admin-column form:last-child{grid-column:1/-1}.procedures-table{min-width:980px}}
@media(max-width:600px){.machine-admin-column{display:flex}.procedure-qr{width:100px}.procedure-qr img{width:74px;height:74px}.public-page{padding:12px}}


/* ===== FastManu v1.8.4 : vidéo d'origine dans le manuel ===== */
.manual-source-video{
  padding:20px 0 22px;
  border-bottom:1px solid var(--line);
}
.manual-source-video-title{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
  margin-bottom:10px;
}
.manual-source-video-title h2{margin:0;font-size:20px}
.manual-source-video-title span{font-size:12px;color:var(--muted)}
.manual-source-video video{
  display:block;
  width:100%;
  max-height:520px;
  background:#111;
  border-radius:10px;
  object-fit:contain;
}
@media (max-width:700px){
  .manual-source-video-title{display:block}
  .manual-source-video-title span{display:block;margin-top:4px}
}
@media print{
  .no-print-video{display:none!important}
}

/* ===== v1.8.7 - structure des étapes dans l'éditeur ===== */
.step-header-row{
  display:flex;
  align-items:stretch;
  gap:8px;
  background:#fff;
}
.step-header-main{
  flex:1;
  min-width:0;
}
.step-header-actions{
  display:flex;
  align-items:center;
  gap:6px;
  padding:8px 10px 8px 0;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.step-header-actions .step-status{
  white-space:nowrap;
}
.step-split-btn,
.step-delete-btn{
  padding:6px 8px;
  font-size:11px;
  white-space:nowrap;
}
.step-delete-btn{
  border-color:#fecaca;
  color:#b91c1c;
  background:#fff5f5;
}
.step-insert-row{
  display:flex;
  justify-content:center;
  margin:-5px 0 -5px;
  position:relative;
  z-index:1;
}
.step-insert-row button{
  border:1px dashed #f59e0b;
  background:#fffbeb;
  color:#92400e;
  font-size:11px;
  padding:5px 11px;
  border-radius:999px;
  opacity:.72;
}
.step-insert-row button:hover,
.step-insert-row button:focus{
  opacity:1;
}
.step-modal[hidden]{display:none!important}
.step-modal{
  position:fixed;
  inset:0;
  z-index:2000;
  display:grid;
  place-items:center;
  padding:20px;
}
.step-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.48);
}
.step-modal-dialog{
  position:relative;
  width:min(640px,96vw);
  max-height:90vh;
  overflow:auto;
  background:white;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:0 24px 70px rgba(15,23,42,.25);
  padding:20px;
}
.step-modal-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}
.step-modal-header h2{margin:0}
.step-modal-close{
  width:34px;
  height:34px;
  border-radius:50%;
  padding:0;
  font-size:22px;
}
.step-modal-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
}
.step-modal-spacer{flex:1}
body.modal-open{overflow:hidden}

@media(max-width:760px){
  .step-header-row{flex-direction:column;gap:0}
  .step-header-actions{padding:0 12px 10px;justify-content:flex-start}
  .step-modal-actions .step-modal-spacer{display:none}
}


/* ===== FastManu v1.9 — responsive GSM manuel ===== */
@media(max-width:650px){
  .manual-step-heading{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
  }
  .manual-step-number{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    flex:0 0 42px!important;
    border-radius:50%!important;
    font-size:15px!important;
    line-height:1!important;
  }
  .manual-step-heading>div{min-width:0!important}
  .manual-step-heading h2{
    font-size:18px!important;
    line-height:1.22!important;
    overflow-wrap:anywhere!important;
  }
}


/* FastManu v1.9.2d — sous-menu Utilisateurs */
.sidebar-account-menu{margin:0}
.sidebar-account-submenu[hidden]{display:none!important}
.sidebar nav .sidebar-account-submenu a{
  font-size:12px;
  opacity:.92;
}
