:root{--blue:#173b57;--gold:#c6923c;--bg:#f5f3ee;--text:#24313b;--muted:#6f7880;--white:#fff;--danger:#a12a2a}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(160deg,#e7eef2,#f8f3e8)}.login-card{width:min(420px,100%);background:#fff;padding:30px;border-radius:22px;box-shadow:0 18px 50px rgba(23,59,87,.15)}.logo{width:52px;height:52px;border-radius:16px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:28px;font-weight:800}h1{margin:14px 0 8px;color:var(--blue)}.muted{color:var(--muted);margin-bottom:24px}label{display:block;font-weight:700;font-size:14px;margin:14px 0 6px}input{width:100%;padding:13px;border:1px solid #cbd1d5;border-radius:11px;font-size:16px}button{width:100%;margin-top:20px;padding:14px;border:0;border-radius:11px;background:var(--blue);color:white;font-size:16px;font-weight:800}.alert{background:#fff0f0;color:var(--danger);padding:11px;border-radius:10px}.topbar{height:70px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #e3e0d8}.topbar strong,.topbar small{display:block}.topbar small{font-size:12px;color:var(--muted);margin-top:3px}.logout{color:var(--blue);text-decoration:none;font-size:14px}.content{max-width:980px;margin:auto;padding:28px 18px 92px}.hero{background:var(--blue);color:#fff;padding:28px;border-radius:20px}.hero h1{color:#fff;margin:8px 0}.hero p{margin:0;opacity:.85}.eyebrow{font-size:12px;letter-spacing:.12em;color:#f2d29b}.empty,.card{background:#fff;border-radius:16px;padding:22px;margin-top:18px;box-shadow:0 5px 18px rgba(0,0,0,.05)}.empty h2,.card h2{margin:0 0 8px;color:var(--blue)}.cards{display:grid;gap:14px}.status{font-size:12px;background:#eef3f6;color:var(--blue);padding:5px 9px;border-radius:20px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #ddd;display:flex;justify-content:space-around;padding:10px 4px calc(10px + env(safe-area-inset-bottom))}.bottom-nav a{font-size:12px;text-decoration:none;color:#747d84;padding:5px}.bottom-nav a.active{color:var(--blue);font-weight:800}@media(min-width:700px){.cards{grid-template-columns:repeat(2,1fr)}}
.header-actions{display:flex;align-items:center;gap:12px}.admin-link{display:inline-block;text-decoration:none;background:#c6923c;color:#fff;padding:8px 12px;border-radius:9px;font-size:14px;font-weight:800}.panel{background:#fff;border-radius:18px;padding:22px;margin-top:18px;box-shadow:0 5px 18px rgba(0,0,0,.05)}.panel h1,.panel h2{color:#173b57}.app-form label{display:block;font-weight:700;margin:14px 0 6px}.app-form input,.app-form textarea{width:100%;box-sizing:border-box;border:1px solid #b7c0c8;border-radius:10px;padding:12px;font:inherit;background:#fff}.app-form textarea{resize:vertical}.app-form button{width:100%;border:0;border-radius:10px;background:#173b57;color:#fff;padding:13px;margin-top:18px;font-size:16px;font-weight:800}.form-grid{display:grid;grid-template-columns:1fr;gap:12px}.card-link{display:block;text-decoration:none;color:inherit}.card-link:hover{transform:translateY(-1px)}.eyebrow.dark{color:#9b6c22}.hero-subtitle{margin:0 0 10px;font-weight:500;color:#dce7ee}.hero-description{margin-top:18px!important;line-height:1.5}.success-box{margin-top:18px;padding:14px;border-radius:12px;background:#ecfdf5;border:1px solid #6ee7b7}.empty-inline{background:#f7f8f9;border-radius:12px;padding:16px}.alert{padding:12px;background:#fef2f2;border:1px solid #fca5a5;border-radius:10px;margin:12px 0}@media(min-width:700px){.form-grid{grid-template-columns:1fr 1fr}}
.lang-switch{display:flex;gap:3px;background:rgba(255,255,255,.14);padding:3px;border-radius:9px}.lang-switch a{color:#fff;text-decoration:none;font-weight:800;font-size:12px;padding:5px 7px;border-radius:6px;opacity:.7}.lang-switch a.active{background:#fff;color:#173b57;opacity:1}@media(max-width:620px){.topbar{align-items:flex-start}.header-actions{flex-wrap:wrap;justify-content:flex-end}.lang-switch{order:-1}}

/* Header identity */
.brand-block{display:flex;align-items:center;gap:11px}
.logo-small{width:38px;height:38px;border-radius:11px;font-size:20px;flex:0 0 auto}

/* Flag language selector */
.lang-switch{display:flex;align-items:center;gap:7px;background:transparent;padding:0}
.lang-switch a{display:grid;place-items:center;width:38px;height:32px;padding:0;border-radius:9px;font-size:22px;line-height:1;text-decoration:none;opacity:.62;filter:grayscale(.25);transition:.15s ease}
.lang-switch a:hover{opacity:1;transform:translateY(-1px)}
.lang-switch a.active{background:#fff;opacity:1;filter:none;box-shadow:0 4px 13px rgba(23,59,87,.28);outline:1px solid rgba(23,59,87,.08)}

/* Home settings administration */
.settings-columns{display:grid;grid-template-columns:1fr;gap:18px}
.settings-language{border:1px solid #d8dde1;border-radius:14px;padding:18px;margin:0}
.settings-language legend{font-weight:800;color:var(--blue);padding:0 8px}
@media(min-width:820px){.settings-columns{grid-template-columns:1fr 1fr}}
@media(max-width:620px){
  .topbar{height:auto;min-height:70px;padding:10px 14px;align-items:center}
  .header-actions{gap:8px}
  .brand-block small{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

.participant-list{display:grid;gap:14px}.participant-card{background:#f8f9fa;border:1px solid #e1e5e8;border-radius:14px;padding:16px}.participant-card h3{margin:0 0 5px;color:var(--blue)}.participant-card p{margin:0 0 10px;color:var(--muted)}.participant-card details{margin-top:14px}.participant-card summary{cursor:pointer;font-weight:800;color:var(--blue)}.checkbox-line{display:flex!important;align-items:center;gap:10px;font-weight:500!important;margin:9px 0!important}.checkbox-line input{width:auto}.participant-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.participant-actions form{margin:0}.participant-actions button{width:auto;margin:0;padding:9px 12px}.secondary-button{background:#667580}.danger-button{background:var(--danger)}.compact-form button{width:auto}


/* Unified Admin / Preview controls */
.preview-link,.admin-link{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:36px;text-decoration:none;background:var(--gold);color:#fff;
  padding:8px 12px;border-radius:9px;font-size:14px;font-weight:800;
  box-shadow:none;transition:.15s ease;white-space:nowrap;
}
.preview-link:hover,.admin-link:hover{transform:translateY(-1px)}
.preview-link.active{box-shadow:0 5px 15px rgba(23,59,87,.28);outline:2px solid rgba(198,146,60,.25)}
.icon-button{width:38px;padding:8px;font-size:17px}
.password-field{display:flex;align-items:stretch;gap:8px}
.password-field input{flex:1}
.password-toggle{width:48px;margin:0;padding:0;border-radius:11px;background:#eef3f6;color:var(--blue);font-size:20px}

.hero-editable,.stage-card,.trip-card{position:relative}.floating-pencil{position:absolute;top:14px;right:14px;width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--gold);color:#fff;text-decoration:none;font-size:17px;box-shadow:0 4px 12px rgba(0,0,0,.16);z-index:2}.hero-editable .floating-pencil{background:#fff;color:var(--blue)}.card-pencil{top:12px;right:12px}.stage-card,.trip-card{padding-top:24px}.trip-card .card-link{display:block}.delete-form{display:flex;justify-content:flex-end;margin-top:18px}.delete-form .danger-button{width:auto;margin:0;padding:9px 13px}.compact-admin-panel{padding:14px 18px}.panel-actions{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.stage-editor{flex:1;min-width:min(100%,420px)}.stage-editor>summary{list-style:none;cursor:pointer;width:max-content}.stage-editor>summary::-webkit-details-marker{display:none}.collapsible-form{margin-top:16px;padding-top:14px;border-top:1px solid #e1e5e8}.stage-editor:not([open]) .collapsible-form{display:none}@media(max-width:620px){.panel-actions{flex-direction:column}.panel-actions>.admin-link,.stage-editor>summary{width:100%}}


/* Ajustements ergonomiques */
.panel-actions{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.stage-editor{
  flex:0 0 auto;
  min-width:0;
}

.stage-editor>summary,
.panel-actions>.admin-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:190px;
  min-height:42px;
  margin:0;
  text-align:center;
}

.password-field{
  display:grid;
  grid-template-columns:minmax(0,1fr) 42px;
  align-items:center;
  gap:8px;
  width:100%;
}

.password-field input{
  width:100%;
  min-width:0;
}

.password-toggle{
  width:42px!important;
  height:42px;
  min-width:42px;
  margin:0!important;
  padding:0!important;
  border-radius:10px;
  display:grid;
  place-items:center;
  font-size:17px!important;
  line-height:1;
}

@media(max-width:620px){
  .panel-actions{
    align-items:stretch;
  }

  .stage-editor,
  .stage-editor>summary,
  .panel-actions>.admin-link{
    width:100%;
  }
}


/* Administration simplifiée */
.brand-admin-wrap{position:relative;display:flex;align-items:center;gap:5px;flex:0 0 auto}
.brand-pencil{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#fff;text-decoration:none;font-size:13px;box-shadow:0 3px 10px rgba(23,59,87,.20);transform:translateY(-12px);margin-left:-7px}
.preview-link.active{display:inline-flex;align-items:center;gap:7px}
.preview-close{font-size:18px;line-height:1;font-weight:900}
.participants-create-panel{display:flex;justify-content:center}
.participant-create-editor{width:100%}
.participant-create-editor>summary{display:flex;justify-content:center;align-items:center;width:min(260px,100%);min-height:42px;margin:0 auto;list-style:none;cursor:pointer}
.participant-create-editor>summary::-webkit-details-marker{display:none}
.participant-create-editor[open]>summary{margin-bottom:18px}
@media(max-width:620px){.brand-pencil{transform:translateY(-10px)}.participant-create-editor>summary{width:100%}}

/* En-tête fixe et homogène */
.topbar{position:sticky;top:0;z-index:1000;height:70px;flex-shrink:0;box-shadow:0 3px 12px rgba(23,59,87,.06)}
.brand-block{min-width:0}.brand-block strong{white-space:nowrap}.brand-block small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-create-trip{display:flex;justify-content:center;margin:16px 0 4px}.create-trip-button{min-width:200px}.hero-editable{position:relative}


/* Logo image */
.logo-image{overflow:hidden;background:#fff;border:1px solid #e2e6e9}
.logo-image img{width:100%;height:100%;display:block;object-fit:cover}

/* Main home actions */
.home-main-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0 4px}
.home-action-button{display:inline-flex;align-items:center;justify-content:center;width:220px;min-height:44px;text-align:center}

/* Trip cards and actions */
.trip-card{position:relative}
.trip-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.trip-card-header h2{margin-top:10px}
.trip-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.icon-action{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:10px;text-decoration:none;background:#eef3f6;box-shadow:0 3px 10px rgba(23,59,87,.12);font-size:18px}
.manage-stages-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;margin:0}

/* Manage trip tabs */
.manage-trip-heading h1{margin-bottom:0}
.manage-tabs{display:flex;gap:8px;margin-top:18px;background:#fff;border-radius:14px;padding:6px;box-shadow:0 5px 18px rgba(0,0,0,.05)}
.manage-tabs a{flex:1;text-align:center;text-decoration:none;color:var(--blue);font-weight:800;padding:12px;border-radius:10px}
.manage-tabs a.active{background:var(--blue);color:#fff}
.stage-form{margin-top:18px}
.stage-admin-list{display:grid;gap:14px}
.stage-admin-card{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;background:#f8f9fa;border:1px solid #e1e5e8;border-radius:14px;padding:16px}
.stage-admin-content h3{margin:0 0 7px;color:var(--blue)}
.stage-admin-content p{margin:6px 0}
.stage-admin-actions{display:flex;align-items:center;gap:9px;flex-shrink:0}
.stage-admin-actions form{margin:0}
.compact-danger{width:auto!important;margin:0!important;padding:10px 12px!important}

@media(max-width:620px){
  .trip-card-header,.stage-admin-card{flex-direction:column}
  .trip-card-actions,.stage-admin-actions{width:100%;justify-content:flex-end}
  .home-action-button{width:100%}
}


/* Final alignment adjustments */
.stage-editor-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
}

.stage-editor{
  width:100%;
}

.stage-editor>summary.stage-editor-button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:220px;
  min-height:44px;
  margin:0 auto;
  list-style:none;
  cursor:pointer;
}

.stage-editor>summary.stage-editor-button::-webkit-details-marker{
  display:none;
}

.stage-editor[open]>summary.stage-editor-button{
  margin-bottom:18px;
}

.account-badges{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}

/* Fiche détaillée des étapes */
.stage-form h3{margin:26px 0 8px;color:var(--blue);border-bottom:1px solid #e3e8eb;padding-bottom:8px}
.stage-form select{width:100%;min-height:46px;border:1px solid #ccd5da;border-radius:10px;padding:10px;background:#fff;font:inherit}
.stage-image-preview{display:block;width:100%;max-width:520px;max-height:280px;object-fit:cover;border-radius:14px;margin-top:12px}
.stage-card-image{width:150px;height:110px;object-fit:cover;border-radius:12px;flex-shrink:0}
@media(max-width:620px){.stage-card-image{width:100%;height:180px}}


/* Photo principale du voyage */
.home-trip-image{
  display:block;
  width:calc(100% + 32px);
  height:210px;
  object-fit:cover;
  margin:-16px -16px 16px;
  border-radius:16px 16px 0 0;
}
.trip-image-preview{
  display:block;
  width:100%;
  max-width:620px;
  max-height:340px;
  object-fit:cover;
  border-radius:14px;
  margin-top:12px;
}
.manage-trip-heading{
  display:flex;
  align-items:center;
  gap:20px;
}
.manage-trip-image{
  width:180px;
  height:120px;
  object-fit:cover;
  border-radius:14px;
  flex-shrink:0;
}
@media(max-width:620px){
  .home-trip-image{height:180px}
  .manage-trip-heading{flex-direction:column;align-items:flex-start}
  .manage-trip-image{width:100%;height:190px}
}

/* Accueil : actions par voyage */
.trip-title-area{min-width:0}
.trip-title-row{display:flex;align-items:center;gap:7px}
.trip-title-row h2{margin:10px 0 0}
.trip-title-pencil{display:inline-grid;place-items:center;width:25px;height:25px;margin-top:10px;border-radius:7px;background:#eef3f6;text-decoration:none;font-size:12px;line-height:1;box-shadow:0 2px 7px rgba(23,59,87,.10)}
.trip-management-buttons{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid #e7ebee}
.trip-management-button{display:inline-flex;align-items:center;justify-content:center;width:205px;min-height:42px;margin:0;text-align:center}
.secondary-action{background:#eef3f6!important;color:var(--blue)!important}
/* Pages séparées */
.centered-primary-action{display:flex;justify-content:center}
.event-create-button{display:inline-flex;align-items:center;justify-content:center;width:220px;min-height:44px}
.event-admin-list{display:grid;gap:12px}.event-admin-card{padding:16px;border:1px solid #e1e5e8;border-radius:14px;background:#f8f9fa}.event-admin-card h3{margin:9px 0 6px;color:var(--blue)}.event-admin-card p{margin:5px 0}
@media(max-width:620px){.trip-management-button{width:100%}}

.four-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.centered-summary{display:flex!important;justify-content:center;max-width:260px;margin:0 auto;list-style:none;cursor:pointer}.centered-summary::-webkit-details-marker{display:none}.inline-association{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}.inline-association select{flex:1;min-width:200px}.inline-association button{width:auto;margin:0}.compact-form{margin-top:12px}.stage-admin-content details{margin:10px 0}.stage-admin-content summary{font-weight:800;cursor:pointer;color:var(--blue)}@media(max-width:620px){.four-actions{grid-template-columns:1fr!important}}


/* Page de gestion des étapes */
.stages-page-heading{text-align:center}
.stages-page-heading h1{margin:0;color:var(--blue);font-size:clamp(1.35rem,3vw,2rem);letter-spacing:.02em}
.stages-page-heading h1 span{font-weight:500;text-transform:none;letter-spacing:0}
.stages-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.stages-section-heading h2{margin:0;color:var(--blue)}
.stage-add-details{flex-shrink:0}
.stage-add-plus{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--blue);color:#fff;font-size:28px;font-weight:500;line-height:1;cursor:pointer;list-style:none;box-shadow:0 4px 12px rgba(23,59,87,.18)}
.stage-add-plus::-webkit-details-marker{display:none}
.stage-add-details[open]{width:100%}
.stage-add-details[open] .stage-add-plus{margin-left:auto}
.stage-add-form{margin-top:18px;padding-top:18px;border-top:1px solid #e3e8eb}
@media(max-width:620px){.stages-page-heading h1 span{display:block;margin-top:5px}.stages-section-heading{align-items:center}}


/* Ajustement visuel final de la page Étapes */
.stages-page-heading{
  background:var(--blue);
  color:#fff;
  padding:26px 22px;
  margin-top:18px;
  border-radius:20px;
  text-align:center;
  box-shadow:0 5px 18px rgba(0,0,0,.05);
}
.stages-page-heading h1{
  margin:0;
  color:#fff;
  font-size:clamp(1.35rem,3vw,2rem);
  letter-spacing:.04em;
}
.stages-page-heading p{
  margin:8px 0 0;
  font-size:clamp(1rem,2.3vw,1.25rem);
  font-weight:700;
}
.stages-page-heading .voyage-label{color:var(--gold);}
.stages-page-heading .voyage-title{color:#fff;}
.stage-add-plus{
  background:var(--gold)!important;
  color:#fff!important;
}

/* Étapes : marqueur voyage et accordéons */
.stages-page-heading{text-align:left!important;padding:26px 24px!important}
.stages-page-heading .eyebrow{display:block;margin:0 0 7px;color:var(--gold);font-size:.78rem;font-weight:900;letter-spacing:.13em}
.stages-page-heading h1{margin:0;color:#fff;font-size:clamp(1.75rem,5vw,2.65rem);line-height:1.08;letter-spacing:0;text-transform:none}
.stages-list-panel{margin-top:18px}.stage-add-plus{background:var(--gold)!important}
.stage-accordion-list{display:grid;gap:14px}.stage-accordion{overflow:hidden;border:1px solid #dfe6ea;border-radius:16px;background:#fff;box-shadow:0 4px 14px rgba(23,59,87,.06)}
.stage-accordion-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:74px;padding:16px 18px;cursor:pointer;list-style:none;background:#f7f9fa}.stage-accordion-summary::-webkit-details-marker{display:none}
.stage-summary-main{display:flex;flex-direction:column;gap:4px;min-width:0}.stage-summary-main strong{color:var(--blue);font-size:1.12rem}.stage-summary-main span{color:#66747d;font-size:.93rem}
.stage-summary-chevron{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:50%;color:var(--blue);background:#eaf0f3;font-size:1.25rem;transition:transform .2s ease}.stage-accordion[open] .stage-summary-chevron{transform:rotate(180deg)}.stage-accordion[open] .stage-accordion-summary{border-bottom:1px solid #e2e8eb}
.stage-accordion-body{padding:18px}.stage-inner-section{padding:4px 0 22px}.stage-inner-section+.stage-inner-section{border-top:1px solid #e5eaed;padding-top:22px}.stage-inner-section h3{margin:0 0 14px;color:var(--blue)}.stage-inner-title{display:flex;align-items:center;gap:8px;margin-bottom:14px}.stage-inner-title h3{margin:0}.small-pencil{font-size:12px}.compact-stage-form{margin:0}
.association-list{display:grid;gap:8px;margin-bottom:12px}.association-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;background:#f4f7f8}.association-item form{margin:0}.association-event-item small{display:block;margin-top:3px;color:#687680}
.association-remove{display:grid!important;place-items:center;width:30px!important;height:30px!important;min-width:30px!important;margin:0!important;padding:0!important;border-radius:50%!important;background:#fff!important;color:#9d3b35!important;box-shadow:0 2px 7px rgba(23,59,87,.10)!important;font-size:18px!important}
.stage-delete-zone{display:flex;justify-content:flex-end;padding-top:4px}.stage-delete-zone form{margin:0}
@media(max-width:620px){.stages-page-heading{padding:22px 18px!important}.stage-accordion-summary{padding:14px}.stage-accordion-body{padding:14px}.inline-association{align-items:stretch}.inline-association select,.inline-association button{width:100%}.stage-delete-zone,.stage-delete-zone form,.stage-delete-zone button{width:100%!important}}

/* Planning visuel de l'étape */
.stage-events-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.stage-events-heading h3{margin:0}.stage-planning-button{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:38px;margin:0;padding:8px 14px}
.planning-help p{margin:0}.planning-status{margin-top:8px;color:var(--blue);font-weight:700}.planning-board{display:grid;gap:18px;margin-top:18px}.planning-day{overflow:hidden;border:1px solid #dfe6ea;border-radius:16px;background:#fff}.planning-day-title{padding:14px 16px;background:var(--blue);color:#fff;font-weight:900}.planning-grid{display:grid;grid-template-columns:64px 1fr;min-height:900px}.planning-hours,.planning-slots{display:grid;grid-template-rows:repeat(36,25px)}.planning-hours{border-right:1px solid #dfe6ea;background:#f7f9fa}.planning-hours span{align-self:start;padding:3px 7px;color:#6d7880;font-size:.75rem}.planning-slots{position:relative}.planning-slot{grid-column:1;border-bottom:1px solid #edf0f2}.planning-slot:nth-child(2n){border-bottom-color:#dfe6ea}.planning-slot.drop-target{background:rgba(201,132,47,.18)}.planning-event{z-index:2;grid-column:1;margin:2px 7px;padding:7px 9px;overflow:hidden;border-left:4px solid var(--gold);border-radius:8px;background:#eef3f6;color:var(--blue);cursor:grab;box-shadow:0 2px 7px rgba(23,59,87,.12)}.planning-event:active{cursor:grabbing}.planning-event.dragging{opacity:.45}.planning-event strong,.planning-event small{display:block}.planning-event small{margin-top:2px;color:#66747d;font-size:.78rem}
@media(max-width:620px){.stage-events-heading{align-items:stretch;flex-direction:column}.stage-planning-button{width:100%}.planning-grid{grid-template-columns:52px 1fr}.planning-event{font-size:.85rem}}


/* Étapes — synthèse opérationnelle */
.stage-management-list{display:grid;gap:16px}
.stage-management-card{border:1px solid #dfe6ea;border-radius:16px;background:#fff;padding:18px;box-shadow:0 4px 14px rgba(23,59,87,.06)}
.stage-primary-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.stage-name-block{min-width:0}.stage-name-block p{margin:5px 0 0;color:#687680}
.stage-name-line{display:flex;align-items:center;gap:8px}.stage-name-line h3{margin:0;color:var(--blue);font-size:1.18rem}
.inline-editor{position:relative}.tiny-pencil{display:grid;place-items:center;width:27px;height:27px;border-radius:7px;background:#eef3f6;cursor:pointer;list-style:none;font-size:12px}.tiny-pencil::-webkit-details-marker{display:none}
.inline-editor-panel{position:absolute;z-index:20;top:36px;left:-160px;width:min(620px,calc(100vw - 48px));padding:18px;border:1px solid #dfe6ea;border-radius:14px;background:#fff;box-shadow:0 12px 30px rgba(23,59,87,.18)}
.stage-delete-form{margin:0}.stage-delete-form button{margin:0!important}
.stage-planning-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding:13px 0;border-top:1px solid #e5eaed;border-bottom:1px solid #e5eaed}
.stage-date-display{display:flex;align-items:center;gap:9px;color:var(--blue)}.stage-calendar-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#eef3f6;color:var(--blue)}
.planning-action{width:auto!important;min-width:120px;margin:0!important}
.stage-association-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.association-details{min-width:0}.association-count-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin:0;list-style:none;cursor:pointer;text-align:center}.association-count-button::-webkit-details-marker{display:none}
.association-panel{grid-column:1/-1;margin-top:10px;padding:15px;border:1px solid #e1e7ea;border-radius:12px;background:#f8fafb}
.association-details[open]{grid-column:1/-1}.association-details[open] .association-count-button{max-width:320px}
.association-item small{display:block;margin-top:3px;color:#687680}
.compact-association-form{margin-top:14px}
@media(max-width:620px){.stage-primary-row,.stage-planning-row{align-items:stretch;flex-direction:column}.stage-delete-form,.stage-delete-form button,.planning-action{width:100%!important}.stage-association-buttons{grid-template-columns:1fr}.inline-editor-panel{position:fixed;left:16px;right:16px;top:90px;width:auto;max-height:calc(100vh - 120px);overflow:auto}.stage-date-display{align-items:flex-start}}

/* Ergonomie finale des cartes d'étape */
.stage-primary-row{align-items:center}
.stage-name-line{flex-wrap:wrap}
.stage-delete-form{display:inline-flex;margin:0}
.tiny-trash{
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  min-width:27px;
  margin:0!important;
  padding:0!important;
  border:0;
  border-radius:7px;
  background:#eef3f6!important;
  color:#9d3b35!important;
  cursor:pointer;
  font-size:12px!important;
  line-height:1;
  box-shadow:none!important;
}
.stage-date-display{
  margin-top:15px;
  color:#687680;
}
.stage-date-text{
  color:#7a858c;
  font-size:.92rem;
  font-weight:400;
}
.three-stage-actions{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.three-stage-actions>.planning-action{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%!important;
  min-width:0;
  min-height:44px;
  margin:0!important;
}
@media(max-width:720px){
  .three-stage-actions{grid-template-columns:1fr}
  .stage-delete-form,.stage-delete-form button{width:27px!important}
}


/* Accordéons compacts : planning, hébergements et événements */
.stage-primary-row{align-items:center}
.stage-date-text{font-size:.88rem;font-weight:400;color:#7a858c;white-space:nowrap}
.stage-mini-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
.stage-action-details{min-width:0}
.stage-action-details[open]{grid-column:1/-1}
.stage-mini-button{display:flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border-radius:9px;background:var(--blue);color:#fff;font-size:.84rem;font-weight:700;text-align:center;cursor:pointer;list-style:none}
.stage-mini-button::-webkit-details-marker{display:none}
.stage-action-details[open]>.stage-mini-button{max-width:210px}
.stage-action-panel{margin-top:10px;padding:14px;border:1px solid #e1e7ea;border-radius:12px;background:#f8fafb}
.association-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.association-panel-heading strong{color:var(--blue)}
.association-add-details{position:relative;flex-shrink:0}
.tiny-plus{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#eef3f6;color:var(--blue);font-size:20px;font-weight:600;line-height:1;text-decoration:none;cursor:pointer;list-style:none}
.tiny-plus::-webkit-details-marker{display:none}
.association-add-form{position:absolute;z-index:30;right:0;top:36px;width:min(520px,calc(100vw - 56px));padding:14px;border:1px solid #dfe6ea;border-radius:12px;background:#fff;box-shadow:0 12px 28px rgba(23,59,87,.18)}
.association-add-form select{width:100%}
.association-add-form>button{margin-top:10px}
.event-association-form{max-height:70vh;overflow:auto}
.association-item form{margin:0}
.association-trash{width:27px!important;height:27px!important;min-width:27px!important;font-size:11px!important}
.compact-open-planning{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:36px;margin-top:10px;padding:8px 12px;font-size:.86rem}
@media(max-width:680px){
 .stage-primary-row{align-items:flex-start;flex-direction:column}
 .stage-date-text{white-space:normal}
 .stage-mini-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 .stage-mini-button{padding:7px 5px;font-size:.75rem}
 .association-add-form{position:fixed;left:16px;right:16px;top:90px;width:auto;max-height:calc(100vh - 120px);overflow:auto}
}


/* Ajustements ergonomiques : boutons fixes et accordéons uniformes */
.stage-mini-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:14px;
}
.stage-mini-button{
  width:100%;
  min-height:34px;
  margin:0!important;
  padding:7px 10px!important;
  border:0;
  border-radius:9px;
  background:var(--gold)!important;
  color:#fff!important;
  font-size:.84rem!important;
  font-weight:700;
  text-align:center;
  cursor:pointer;
  box-shadow:none!important;
}
.stage-mini-button[aria-expanded="true"]{
  filter:brightness(.92);
}
.stage-toggle-panel{
  margin-top:10px;
  padding:14px;
  border:1px solid #e1e7ea;
  border-radius:12px;
  background:#f8fafb;
}
.stage-toggle-panel[hidden]{display:none!important}

/* Le + des étapes suit la logique du crayon et de la poubelle */
.stage-add-plus{
  display:grid!important;
  place-items:center;
  width:27px!important;
  height:27px!important;
  min-width:27px;
  margin:0!important;
  padding:0!important;
  border-radius:7px!important;
  background:#eef3f6!important;
  color:var(--blue)!important;
  font-size:20px!important;
  font-weight:600;
  line-height:1;
  box-shadow:none!important;
}
@media(max-width:680px){
  .stage-mini-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .stage-mini-button{padding:7px 4px!important;font-size:.74rem!important}
}

/* Planning : saisie des horaires puis visualisation */
.planning-edit-list{display:grid;gap:12px}
.planning-edit-row{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(120px,1fr)) auto;gap:10px;align-items:end;padding:14px;border:1px solid #e2e6e9;border-radius:12px;background:#f8fafb}
.planning-edit-row label{margin:0;font-size:.9rem}
.planning-edit-title{align-self:center}
.native-date-wrap{display:flex;width:100%;min-width:0;margin-top:5px;border:1px solid #ccd5dc;border-radius:9px;background:#fff;padding:9px 10px}
.native-date-wrap input{display:block;width:100%;min-width:0;border:0;background:transparent;padding:0;font:inherit}
.planning-save-button{width:auto!important;margin:0!important;min-height:40px;padding:9px 14px!important}
.visual-day{margin-top:18px}
.visual-day h3{margin:0 0 9px;color:var(--blue)}
.visual-events-stack{display:grid;gap:8px}
.visual-event-card{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;padding:11px 13px;border-left:4px solid var(--orange);border-radius:9px;background:#f5f7f8}
.visual-event-time{font-weight:700;color:var(--blue)}
.visual-event-title{font-weight:600}
@media(max-width:760px){.planning-edit-row{grid-template-columns:1fr 1fr}.planning-edit-title{grid-column:1/-1}.planning-save-button{grid-column:1/-1;width:100%!important}.visual-event-card{grid-template-columns:1fr}.visual-event-time{font-size:.9rem}}


/* Icône d’ouverture du planning visuel */
.planning-eye-button{
  margin-top:12px;
  text-decoration:none;
}


/* Réparation du formulaire de modification d'une étape */
.inline-editor{
  position:static;
}
.inline-editor-panel{
  position:static;
  width:100%;
  max-width:none;
  max-height:none;
  overflow:visible;
  margin-top:12px;
  padding:16px;
  border:1px solid #dfe6ea;
  border-radius:12px;
  background:#f8fafb;
  box-shadow:none;
}
.inline-editor[open]{
  display:block;
  width:100%;
}
.inline-editor[open] .tiny-pencil{
  background:var(--gold);
  color:#fff;
}
.inline-editor-panel .app-form{
  width:100%;
}
.inline-editor-panel textarea{
  min-height:120px;
  resize:vertical;
  overflow:auto;
}
.inline-editor-panel button[type="submit"],
.inline-editor-panel form>button:last-child{
  width:auto;
  min-width:180px;
  margin:16px auto 0;
  display:block;
}
@media(max-width:620px){
  .inline-editor-panel{
    position:static;
    left:auto;
    right:auto;
    top:auto;
    width:100%;
    max-height:none;
    overflow:visible;
  }
}


/* Photos et documents des étapes */
.stage-main-photo{display:block;width:100%;max-height:360px;object-fit:cover;border-radius:12px;margin-top:10px}
.stage-list-thumbnail{display:block;width:110px;height:72px;object-fit:cover;border-radius:9px;margin-top:8px}
.compact-inline-form{display:flex;justify-content:flex-end;margin:8px 0 0}
.stage-documents-section{margin-top:22px;padding-top:18px;border-top:1px solid #dfe6ea}
.document-list{display:grid;gap:12px}
.document-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;padding:12px;border:1px solid #dfe6ea;border-radius:11px;background:#fff}
.document-info{display:flex;flex-direction:column;gap:3px;min-width:0}.document-info small{color:#76828a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.document-actions{display:flex;align-items:center;gap:7px}.document-actions form{margin:0}.document-view{width:28px;height:28px;font-size:13px}
.document-preview-image{grid-column:1/-1;width:100%;max-height:340px;object-fit:contain;border-radius:8px;background:#f2f4f5}
.document-preview-details{grid-column:1/-1}.document-preview-details summary{cursor:pointer;color:var(--blue);font-weight:600}.document-preview-details iframe{width:100%;height:420px;border:1px solid #dfe6ea;border-radius:8px;margin-top:8px;background:#fff}
.document-add-form input[type=file]{width:100%}
@media(max-width:620px){.document-preview-details iframe{height:300px}.document-card{grid-template-columns:minmax(0,1fr) auto}}


/* Visibilité des documents et statut d’accès au voyage */
.document-visibility-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-top:6px;
  padding:4px 8px;
  border-radius:999px;
  background:#eef3f6;
  color:#40566a;
  font-size:.76rem;
  font-weight:700;
}
.document-recipient-field[hidden]{display:none!important}
.voyage-access-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(150px,210px);
  gap:12px;
  align-items:center;
  padding:9px 0;
  border-bottom:1px solid #edf0f2;
}
.voyage-access-row select{margin:0}
@media(max-width:620px){
  .voyage-access-row{grid-template-columns:1fr}
}


/* Documents : formulaire intégré et liste compacte */
.document-add-details{
  position:static;
}
.document-add-details[open]{
  width:100%;
}
.document-add-inline-form{
  position:static!important;
  width:100%!important;
  max-width:none!important;
  max-height:none!important;
  overflow:visible!important;
  margin-top:12px;
  padding:14px;
  border:1px solid #dfe6ea;
  border-radius:12px;
  background:#f8fafb;
  box-shadow:none!important;
}
.document-list{
  display:grid;
  gap:8px;
}
.document-card.document-list-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border:1px solid #dfe6ea;
  border-radius:10px;
  background:#fff;
}
.document-card.document-list-row .document-info{
  flex:1;
  min-width:0;
}
.document-card.document-list-row .document-info strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.document-card.document-list-row .document-actions{
  flex-shrink:0;
}
.document-preview-image,
.document-preview-details{
  display:none!important;
}
@media(max-width:620px){
  .document-card.document-list-row{align-items:flex-start}
}


/* Modification en ligne du titre des documents */
.document-title-editor{min-width:0}
.document-title-editor>summary{display:flex;align-items:center;gap:7px;min-width:0;list-style:none;cursor:pointer}
.document-title-editor>summary::-webkit-details-marker{display:none}
.document-title-editor>summary strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.document-title-pencil{display:inline-grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:7px;background:#eef3f6;font-size:12px}
.document-title-form{display:grid;grid-template-columns:minmax(0,1fr) 30px 30px;gap:6px;align-items:center;margin-top:7px}
.document-title-form input{width:100%;min-width:0;margin:0;padding:7px 9px;border:1px solid #ccd7de;border-radius:8px;font:inherit}
.document-title-save,.document-title-cancel{display:grid;place-items:center;width:30px;height:30px;margin:0;padding:0;border:0;border-radius:8px;cursor:pointer;font-size:16px;font-weight:800}
.document-title-save{background:var(--blue);color:#fff}
.document-title-cancel{background:#eef3f6;color:#425568}


/* Photo(s) et Document(s) dans la fiche étape */
.stage-photo-section{margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid #e3e8eb}
.stage-photo-heading-actions{display:flex;align-items:center;gap:7px}
.stage-photo-heading-actions form{margin:0}
.stage-photo-edit-details{position:relative}
.stage-photo-edit-form{position:absolute;right:0;top:38px;z-index:20;width:min(420px,calc(100vw - 48px));padding:14px;border:1px solid #dfe6ea;border-radius:12px;background:#fff;box-shadow:0 10px 28px rgba(23,59,87,.16)}
.stage-photo-block{margin-top:12px}
.stage-main-photo{display:block;width:100%;max-height:360px;object-fit:cover;aspect-ratio:16/9;border-radius:12px}
.stage-information-section{margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid #e3e8eb}

/* Une ligne alignée par document : titre, visibilité, crayon, œil, poubelle */
.document-card.document-list-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,auto) auto;align-items:center;gap:12px}
.document-title-cell{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0}
.document-title-cell>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.document-title-editor{position:relative;min-width:auto}
.document-title-editor>summary{display:grid!important;place-items:center;width:30px;height:30px;list-style:none;cursor:pointer}
.document-title-editor>summary::-webkit-details-marker{display:none}
.document-title-editor .document-title-form{position:absolute;right:0;top:36px;z-index:25;width:min(430px,calc(100vw - 48px));padding:10px;background:#fff;border:1px solid #dfe6ea;border-radius:10px;box-shadow:0 10px 24px rgba(23,59,87,.15)}
.document-actions{display:flex;align-items:center;gap:7px}
.document-actions form{margin:0}
@media(max-width:620px){
  .document-card.document-list-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .document-visibility-badge{grid-column:1/2;grid-row:2}
  .document-actions{grid-column:2;grid-row:1/3}
  .stage-photo-edit-form{position:static;margin-top:10px;width:100%}
}


/* Page dédiée à la modification d'une seule étape */
.stage-edit-page{display:grid;gap:18px}
.stage-edit-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid #dfe6ea}
.stage-edit-page-heading h2{margin:5px 0 0;color:var(--blue)}
.secondary-link{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;border-radius:9px;background:#eef3f6;color:var(--blue);font-weight:700;text-decoration:none}
.stage-edit-block{margin:0!important;padding:18px!important;border:1px solid #dfe6ea!important;border-radius:14px;background:#fff}
.stage-edit-block+.stage-edit-block{margin-top:0!important}
.stage-edit-block .association-panel-heading{margin-bottom:12px}
.stage-edit-block .association-panel-heading>strong{font-size:1.05rem;color:var(--blue)}

/* Tous les crayons utilisent la même présentation bleue */
a.tiny-pencil,
summary.tiny-pencil,
.document-title-editor>summary.tiny-pencil,
.stage-photo-edit-details>summary.tiny-pencil{
  display:inline-grid!important;
  place-items:center;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:8px!important;
  background:var(--blue)!important;
  color:#fff!important;
  text-decoration:none!important;
  box-shadow:none!important;
  cursor:pointer;
  line-height:1;
}

/* Le formulaire de photo reste dans son bloc, sans fenêtre flottante */
.stage-photo-edit-details{position:static}
.stage-photo-edit-form{position:static!important;width:100%!important;max-width:none!important;margin-top:12px;box-shadow:none!important}

@media(max-width:620px){
  .stage-edit-page-heading{flex-direction:column}
  .secondary-link{width:100%}
  .stage-edit-block{padding:14px!important}
}


/* Modèle standard des pages de modification */
.stage-context-line{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.22);
  color:#fff;
  font-size:1rem;
  font-weight:700;
}
.stage-context-line span{
  color:var(--gold);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.current-process-title{
  margin:24px auto 18px;
  text-align:center;
  color:var(--blue);
  font-size:1.2rem;
  letter-spacing:.04em;
}

/* Tous les crayons reprennent le graphisme du crayon de la page d’accueil */
a.tiny-pencil,
summary.tiny-pencil,
.document-title-editor>summary.tiny-pencil,
.stage-photo-edit-details>summary.tiny-pencil,
.trip-title-pencil{
  display:inline-grid!important;
  place-items:center!important;
  width:25px!important;
  height:25px!important;
  min-width:25px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:7px!important;
  background:#eef3f6!important;
  color:var(--blue)!important;
  text-decoration:none!important;
  font-size:12px!important;
  line-height:1!important;
  box-shadow:0 2px 7px rgba(23,59,87,.10)!important;
  cursor:pointer;
}

.stage-edit-page{padding-top:0}
.stage-edit-page-heading{display:none!important}

@media(max-width:620px){
  .current-process-title{font-size:1.05rem;margin-top:18px}
  .stage-context-line{font-size:.95rem}
}


/* Page de modification : suppression du grand fond blanc extérieur */
.stages-edit-wrapper{
  padding:0;
  margin:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}


/* Documents: row order and complete inline editing */
.document-card{position:relative}
.document-list-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(120px,auto) auto!important;align-items:center!important;gap:12px!important}
.document-row-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.document-actions{display:flex!important;align-items:center!important;gap:7px!important;justify-content:flex-end}
.document-actions form{margin:0}
.document-full-edit-form{position:relative;margin-top:12px;padding:16px 14px 14px;border-top:1px solid #dfe6ea;display:grid;gap:10px}
.document-full-edit-form[hidden]{display:none!important}
.document-full-edit-form label{font-weight:700}
.document-full-edit-form input,.document-full-edit-form select{width:100%;box-sizing:border-box}
.inline-panel-close{position:absolute;left:8px;top:8px;display:grid;place-items:center;width:28px!important;height:28px!important;min-height:0!important;padding:0!important;margin:0!important;border:0;border-radius:7px;background:#173b57!important;color:#fff!important;font-size:20px;line-height:1;cursor:pointer}
.document-full-edit-form>.inline-panel-close{position:static;justify-self:start;margin-bottom:2px!important}
.stage-photo-edit-form{position:relative!important;padding-top:48px!important}
.stage-photo-edit-form>.inline-panel-close{left:10px;top:10px}
@media(max-width:650px){.document-list-row{grid-template-columns:minmax(0,1fr) auto!important}.document-visibility-badge{grid-column:1/2}.document-actions{grid-column:2;grid-row:1/3}}

/* Documents et photo : statut isolé, titre central et actions contenues */
.document-list-row,
.photo-list-row{
  display:grid!important;
  grid-template-columns:minmax(110px,auto) minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  width:100%;
  box-sizing:border-box;
}
.document-card{overflow:visible}
.document-visibility-badge{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:5px 9px;
  border-radius:7px;
  background:#e8eef2;
  color:var(--blue);
  font-size:.78rem;
  font-weight:800;
  line-height:1.2;
  white-space:normal;
}
.photo-type-badge{background:#f4ead6;color:#9a641c}
.document-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  min-width:max-content;
  position:static!important;
}
.document-actions button,
.document-actions a{flex:0 0 auto}
.document-actions form{display:flex;margin:0}
.document-access-box{
  margin:4px 0 8px;
  padding:12px;
  border:1px solid #dfe6ea;
  border-radius:12px;
  display:grid;
  gap:9px;
}
.document-access-box legend{padding:0 6px;font-weight:800;color:var(--blue)}
.document-access-box label{display:flex;align-items:center;gap:8px;font-weight:600}
.document-access-main{color:var(--blue)}
.document-people-picker{margin-top:2px;border-top:1px solid #e4e9ec;padding-top:8px}
.document-people-picker summary{cursor:pointer;font-weight:700;color:var(--blue)}
.document-people-list{display:grid;gap:7px;margin-top:9px;padding-left:4px}
.document-people-list small{margin-left:auto;color:#667984;font-weight:500}
.stage-photo-edit-details{position:relative}
.stage-photo-edit-details[open] .stage-photo-edit-form{
  position:absolute!important;
  right:0;
  top:36px;
  z-index:20;
  width:min(430px,calc(100vw - 48px))!important;
  background:#fff;
  border:1px solid #dfe6ea;
  border-radius:12px;
  padding:48px 14px 14px!important;
  box-shadow:0 10px 28px rgba(23,59,87,.16)!important;
}
@media(max-width:650px){
  .document-list-row,.photo-list-row{grid-template-columns:1fr auto!important}
  .document-visibility-badge{grid-column:1/2;grid-row:1}
  .document-row-title{grid-column:1/2;grid-row:2}
  .document-actions{grid-column:2;grid-row:1/3}
}


/* Correction finale de la ligne des documents */
.document-card{
  overflow:hidden!important;
}
.document-list-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  column-gap:12px!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  padding:14px 16px!important;
}
.document-row-title{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.document-visibility-badge{
  justify-self:end!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  background:#d8e7ef!important;
  border:1px solid #b8cfdb!important;
  color:#173b57!important;
  font-size:.72rem!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.document-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  min-width:0!important;
  max-width:100%!important;
  position:static!important;
  overflow:visible!important;
}
.document-actions .tiny-pencil,
.document-actions .tiny-trash,
.document-actions .icon-action{
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
}
.document-actions form{
  flex:0 0 auto!important;
  margin:0!important;
}
@media(max-width:700px){
  .document-list-row{
    grid-template-columns:minmax(0,1fr) auto!important;
    row-gap:10px!important;
  }
  .document-row-title{grid-column:1;grid-row:1}
  .document-visibility-badge{grid-column:1;grid-row:2;justify-self:start!important}
  .document-actions{grid-column:2;grid-row:1/3}
}


/* Correction définitive : ligne document contenue et actions alignées */
.stage-documents-section .document-card{
  width:100%;
  min-width:0;
  overflow:hidden!important;
  box-sizing:border-box;
}

.stage-documents-section .document-list-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto 104px!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  padding:14px!important;
  box-sizing:border-box!important;
}

.stage-documents-section .document-row-title{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.stage-documents-section .document-visibility-badge{
  justify-self:end!important;
  max-width:220px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap!important;
}

.stage-documents-section .document-actions{
  display:grid!important;
  grid-template-columns:repeat(3,30px)!important;
  align-items:center!important;
  justify-content:end!important;
  gap:6px!important;
  width:104px!important;
  min-width:104px!important;
  max-width:104px!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  box-sizing:border-box!important;
}

.stage-documents-section .document-actions form{
  display:block!important;
  width:30px!important;
  height:30px!important;
  margin:0!important;
}

.stage-documents-section .document-actions .tiny-pencil,
.stage-documents-section .document-actions .tiny-trash,
.stage-documents-section .document-actions .icon-action{
  display:grid!important;
  place-items:center!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  max-width:30px!important;
  max-height:30px!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  border-radius:7px!important;
  line-height:1!important;
  overflow:hidden!important;
}

/* Zones de texte adaptées automatiquement au contenu */
.stage-information-section textarea,
.stage-add-form textarea{
  width:100%;
  min-height:96px;
  height:auto;
  overflow:hidden;
  resize:none;
  box-sizing:border-box;
  line-height:1.45;
}

@media(max-width:700px){
  .stage-documents-section .document-list-row{
    grid-template-columns:minmax(0,1fr) 104px!important;
    row-gap:8px!important;
  }

  .stage-documents-section .document-row-title{
    grid-column:1;
    grid-row:1;
  }

  .stage-documents-section .document-visibility-badge{
    grid-column:1;
    grid-row:2;
    justify-self:start!important;
    max-width:100%;
  }

  .stage-documents-section .document-actions{
    grid-column:2;
    grid-row:1 / span 2;
  }
}

/* Correction de l'ouverture du formulaire "Créer une étape" */
.stages-section-heading{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  width:100%!important;
  min-width:0!important;
}

.stages-section-heading>h2{
  flex:1 1 auto!important;
  min-width:0!important;
  margin:0!important;
}

.stages-section-heading>.stage-add-details{
  flex:0 0 auto!important;
  min-width:0!important;
}

.stages-section-heading>.stage-add-details[open]{
  flex:0 0 100%!important;
  width:100%!important;
  min-width:0!important;
  display:block!important;
}

.stages-section-heading>.stage-add-details[open]>.stage-add-plus{
  margin-left:auto!important;
}

.stages-section-heading .stage-add-form{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:18px 0 0!important;
  padding:18px 0 0!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}

.stages-section-heading .stage-add-form input,
.stages-section-heading .stage-add-form textarea,
.stages-section-heading .stage-add-form select,
.stages-section-heading .stage-add-form button{
  max-width:100%!important;
  box-sizing:border-box!important;
}

.stages-section-heading .stage-add-form .form-grid{
  width:100%!important;
  min-width:0!important;
}

@media(max-width:700px){
  .stages-section-heading .stage-add-form .form-grid{
    grid-template-columns:1fr!important;
  }
}
/* Fiche hébergement structurée */
.accommodation-form{display:grid;gap:18px}
.accommodation-block{background:#fff;border:1px solid #dce5ea;border-radius:18px;padding:20px;box-sizing:border-box}
.accommodation-block h2{margin:0 0 18px;color:var(--blue)}
.accommodation-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:14px}
.accommodation-gallery figure{position:relative;margin:0;border-radius:14px;overflow:hidden;aspect-ratio:16/9;background:#eef2f4}
.accommodation-gallery img{width:100%;height:100%;object-fit:cover;display:block}
.accommodation-gallery form{position:absolute;top:8px;right:8px;margin:0}
.address-map-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.map-button{width:auto!important;min-width:135px;margin:0!important;align-self:stretch}
.accommodation-block textarea{overflow:hidden;resize:none}
@media(max-width:640px){.address-map-row{grid-template-columns:1fr}.map-button{width:100%!important}.accommodation-block{padding:16px}}


/* Page Hébergements alignée sur la page Étapes */
.accommodations-list-panel{display:block}
.accommodations-section-heading{margin-bottom:22px}
.accommodation-management-list{display:grid;gap:18px}
.accommodation-management-card{background:#fff;border:1px solid #d8e2e8;border-radius:18px;padding:22px 26px;box-sizing:border-box;box-shadow:0 3px 12px rgba(23,59,87,.04)}
.accommodation-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.accommodation-title-row h3{margin:0;color:var(--blue);font-size:1.4rem}
.accommodation-title-row form{margin:0;display:inline-flex}
.accommodation-meta,.accommodation-dates,.accommodation-address{margin:10px 0 0;color:#687681}
.accommodation-dates{font-weight:500;color:#465a68}
.accommodation-form{display:grid;gap:18px;margin-top:18px}
.accommodation-block h3{margin:0 0 18px;color:var(--blue);font-size:1.22rem}
.accommodation-add-details[open]{width:100%}
.accommodation-add-details[open]>.stage-add-plus{margin-left:auto}
@media(max-width:700px){
  .accommodation-management-card{padding:18px}
  .accommodation-title-row h3{font-size:1.2rem}
}


/* Modèle standard des pages d'administration */
.admin-process-heading{
  text-align:center;
  margin:28px 0 24px;
}
.admin-process-heading .current-process-title{
  margin:0;
}
.current-process-subtitle{
  margin:8px 0 0;
  font-size:1.15rem;
  font-weight:400;
  color:#6f7b85;
}
.stage-final-save{
  display:flex;
  justify-content:center;
  margin:8px 0 30px;
}
.stage-final-save-button{
  width:min(100%, 560px);
  min-height:52px;
  margin:0;
}


/* Modèle standard des pages d’administration */
.admin-process-heading{
  text-align:center;
  margin:28px 0 22px;
}
.current-process-title{
  margin:0;
  text-align:center;
}
.current-process-subtitle{
  margin:10px 0 0;
  text-align:center!important;
  font-size:1.15rem;
  font-weight:400!important;
  color:#34495a;
}

/* Étape : un seul intitulé pour la photo principale */
.stage-photo-section .association-panel-heading{
  margin-bottom:14px;
}
.photo-main-actions-row{
  justify-content:flex-end;
  min-height:40px;
}

/* Hébergement : blocs séparés avec la même charte que les étapes */
.accommodation-edit-form{
  display:grid;
  gap:22px;
}
.accommodation-edit-form .stage-edit-block{
  margin:0;
}
.accommodation-edit-form label{
  display:block;
  margin:14px 0 6px;
  font-weight:700;
}
.accommodation-edit-form input,
.accommodation-edit-form select,
.accommodation-edit-form textarea{
  width:100%;
  box-sizing:border-box;
}
.accommodation-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:14px;
  margin-top:16px;
}
.accommodation-gallery figure{
  position:relative;
  margin:0;
}
.accommodation-gallery img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:14px;
}
.accommodation-gallery figure form{
  position:absolute;
  top:8px;
  right:8px;
}
.address-map-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
}
.map-button{
  width:auto!important;
  min-width:150px;
  margin:0!important;
}
.admin-bottom-save{
  display:flex;
  justify-content:center;
  margin:4px 0 24px;
}
.admin-bottom-save button{
  width:min(100%,720px);
}
.accommodation-create-form{
  margin-top:18px;
}

@media(max-width:700px){
  .address-map-row{grid-template-columns:1fr;}
  .map-button{width:100%!important;}
}


/* Validation immédiate des images d’hébergement */
.upload-feedback{
  margin-top:8px;
  padding:10px 12px;
  border-radius:10px;
  background:#eef3f6;
  color:#687680;
  font-size:.92rem;
}
.upload-feedback.is-valid{
  background:#e7f5eb;
  color:#28623a;
  border:1px solid #b9dfc4;
}
.upload-feedback.is-error{
  background:#fdeceb;
  color:#9a2f2a;
  border:1px solid #efc0bd;
}


/* Correctif final — fiche hébergement complète et non tronquée */
body:has(.accommodation-edit-form){
  min-height:100vh!important;
  height:auto!important;
  overflow-y:auto!important;
}

body:has(.accommodation-edit-form) .content{
  display:block!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  padding-bottom:140px!important;
}

.accommodation-edit-form{
  display:flex!important;
  flex-direction:column!important;
  gap:22px!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  position:relative!important;
}

.accommodation-edit-form > .accommodation-block,
.accommodation-edit-form > .stage-edit-block{
  display:block!important;
  flex:0 0 auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  visibility:visible!important;
  opacity:1!important;
}

.accommodation-edit-form .form-grid{
  width:100%!important;
  min-width:0!important;
}

.accommodation-edit-form input,
.accommodation-edit-form select,
.accommodation-edit-form textarea{
  display:block!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

.accommodation-edit-form textarea{
  min-height:110px!important;
  height:auto!important;
  max-height:none!important;
  overflow:hidden!important;
}

.accommodation-edit-form .admin-bottom-save{
  display:flex!important;
  flex:0 0 auto!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
  min-height:64px!important;
  margin:12px 0 48px!important;
  padding:0!important;
  position:relative!important;
  visibility:visible!important;
  opacity:1!important;
  overflow:visible!important;
}

.accommodation-edit-form .admin-bottom-save button{
  display:inline-flex!important;
  width:min(100%,720px)!important;
  min-height:52px!important;
  margin:0!important;
  visibility:visible!important;
  opacity:1!important;
}

@media(max-width:700px){
  .accommodation-edit-form .form-grid{
    grid-template-columns:1fr!important;
  }
}


/* Nouvelle architecture : logements généraux et réservations par étape */
.three-actions{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.compact-stage-accommodation-link{
  width:auto;
  min-height:34px;
  padding:7px 11px;
  font-size:.82rem;
}
.stage-context-line{
  color:#fff!important;
}
@media(max-width:700px){
  .three-actions{grid-template-columns:1fr!important;}
  .compact-stage-accommodation-link{width:100%;}
}


/* Correction des trois boutons de gestion sur les cartes de voyage */
.trip-management-buttons.three-actions{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;
  gap:8px!important;
}
.trip-management-buttons.three-actions .trip-management-button{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  padding:9px 8px!important;
  white-space:normal!important;
  line-height:1.2!important;
  box-sizing:border-box!important;
}

/* Hébergements directement dans l'étape */
.stage-accommodation-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.stage-accommodation-info{
  min-width:0;
}
.stage-accommodation-actions{
  display:flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
}
.stage-accommodation-actions form{
  margin:0;
}
.stage-accommodation-create-form{
  width:min(520px,calc(100vw - 56px));
}
@media(max-width:700px){
  .trip-management-buttons.three-actions{
    grid-template-columns:1fr!important;
  }
  .stage-accommodation-row{
    align-items:flex-start;
  }
}


/* Formulaire d'ajout d'un hébergement : toujours visible à l'écran */
.stage-accommodation-create-form{
  position:fixed!important;
  z-index:3000!important;
  top:50%!important;
  left:50%!important;
  right:auto!important;
  transform:translate(-50%,-50%)!important;
  width:min(560px,calc(100vw - 32px))!important;
  max-height:calc(100vh - 40px)!important;
  overflow-y:auto!important;
  margin:0!important;
  padding:18px!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 24px 70px rgba(23,59,87,.32)!important;
}

.stage-accommodation-create-form::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  background:rgba(23,59,87,.28);
}

@media(max-width:700px){
  .stage-accommodation-create-form{
    top:20px!important;
    bottom:20px!important;
    transform:translateX(-50%)!important;
    max-height:none!important;
  }
}


/* Photo du logement dans la liste des hébergements de l'étape */
.stage-accommodation-row{
  display:grid!important;
  grid-template-columns:92px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:14px!important;
}
.stage-accommodation-thumbnail{
  display:block;
  width:92px;
  height:68px;
  object-fit:cover;
  border-radius:10px;
  background:#e8eef2;
}
.stage-accommodation-thumbnail-placeholder{
  display:grid;
  place-items:center;
  font-size:26px;
}
.stage-accommodation-info strong,
.stage-accommodation-info small{
  display:block;
}
.stage-accommodation-info small{
  margin-top:5px;
  color:#687680;
}


@media(max-width:700px){
  .stage-accommodation-row{
    grid-template-columns:74px minmax(0,1fr) auto!important;
    gap:10px!important;
  }
  .stage-accommodation-thumbnail{
    width:74px;
    height:58px;
  }
}


/* Hébergements : marron foncé uniquement lorsque l’accordéon est ouvert */
.stage-mini-actions .stage-mini-button[data-panel-target^="hotels-"]{
  background:var(--gold)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.stage-mini-actions .stage-mini-button[data-panel-target^="hotels-"][aria-expanded="true"]{
  background:#8a5a20!important;
  color:#fff!important;
  filter:none!important;
  box-shadow:0 4px 12px rgba(138,90,32,.22)!important;
}


/* Planning, Hébergements et Événements : marron foncé uniquement à l'ouverture */
.stage-mini-actions .stage-mini-button{
  background:var(--gold)!important;
  color:#fff!important;
  box-shadow:none!important;
  filter:none!important;
}

.stage-mini-actions .stage-mini-button[aria-expanded="true"]{
  background:#8a5a20!important;
  color:#fff!important;
  filter:none!important;
  box-shadow:0 4px 12px rgba(138,90,32,.22)!important;
}


/* Période de l'étape calculée depuis l'hébergement */
.stage-period-text{
  color:#173b57!important;
  font-weight:700!important;
}


/* Accueil : navigation générale et actions propres au voyage */
.home-global-actions{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px!important;
}
.home-global-actions .home-action-button{
  width:100%!important;
  min-width:0!important;
}
.home-create-voyage-row{
  display:flex;
  justify-content:center;
  margin:10px 0 4px;
}
.home-create-voyage-button{
  min-width:210px;
}
.trip-management-buttons.two-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.trip-management-buttons.two-actions .trip-management-button{
  width:100%!important;
}
@media(max-width:760px){
  .home-global-actions{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:520px){
  .home-global-actions{grid-template-columns:1fr;}
  .trip-management-buttons.two-actions{grid-template-columns:1fr!important;}
}

/* Gestion des liaisons */
.liaison-edit-form{
  display:grid;
  gap:18px;
}
.liaison-points-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.liaison-point-box{
  padding:14px;
  border:1px solid #dce5ea;
  border-radius:13px;
  background:#f8fafb;
}
.liaison-point-box select{
  width:100%;
  min-height:46px;
  padding:11px 12px;
  border:1px solid #b7c0c8;
  border-radius:10px;
  background:#fff;
  font:inherit;
}
.liaison-point-box [hidden]{display:none!important}
.liaison-list{
  display:grid;
  gap:14px;
}
.liaison-card{
  padding:18px 20px;
  border:1px solid #dce5ea;
  border-radius:15px;
  background:#fff;
}
.liaison-title-row{
  display:flex;
  align-items:center;
  gap:8px;
}
.liaison-title-row h3{
  margin:0;
  color:var(--blue);
  flex:1;
}
.liaison-title-row form{margin:0}
.liaison-route{
  margin:10px 0 0;
  color:#8a5a20;
  font-weight:800;
}
.liaison-dates,.liaison-meta{
  margin:7px 0 0;
  color:#687680;
}
.liaison-documents-block{
  margin-top:18px!important;
}
.liaison-document-form{
  width:min(520px,calc(100vw - 56px));
}
@media(max-width:700px){
  .liaison-points-grid{grid-template-columns:1fr;}
}


/* Ajustements liaisons */
.liaison-auto-title-note{
  margin:0 0 14px;
  padding:10px 12px;
  border-radius:10px;
  background:#eef3f6;
  color:#40566a;
  font-weight:700;
}
.liaison-create-document-block{
  margin-top:18px;
  padding:14px;
  border:1px solid #dce5ea;
  border-radius:12px;
  background:#f8fafb;
}


/* Liaisons rattachées aux étapes */
.trip-management-buttons.one-action{display:flex!important;justify-content:center!important}
.trip-management-buttons.one-action .trip-management-button{width:min(100%,320px)!important}
.stage-mini-actions.four-stage-actions{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.stage-liaison-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.stage-liaison-actions{display:flex;align-items:center;gap:7px}.stage-liaison-actions form{margin:0}
.stage-liaison-add-form select,.stage-participant-liaison-form select{width:100%;min-height:46px;padding:11px 12px;border:1px solid #b7c0c8;border-radius:10px;background:#fff;font:inherit}
.stage-participant-liaison-form{display:grid;gap:18px}.liaison-direction-block[hidden],.liaison-documents-section[hidden]{display:none!important}
.liaison-documents-section{margin-top:18px!important}
.liaison-document-title-form{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:7px;align-items:center;min-width:0}.liaison-document-title-form input{min-width:0}.liaison-document-title-form .document-title-save{width:32px!important;height:32px!important;margin:0!important;padding:0!important}
@media(max-width:760px){.stage-mini-actions.four-stage-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

.admin-files-link{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 11px;border-radius:9px;background:#173b57;color:#fff;text-decoration:none;font-size:13px;font-weight:800;white-space:nowrap}.file-admin-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.file-admin-summary>div{display:flex;flex-direction:column;padding:18px;border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(0,0,0,.05)}.file-admin-summary strong{color:#173b57;font-size:1.7rem}.file-admin-summary span{margin-top:4px;color:#687680}.file-admin-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px) auto;gap:10px;align-items:end}.file-admin-filters input,.file-admin-filters select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #cbd1d5;border-radius:10px;background:#fff;font:inherit}.file-admin-filters button{width:auto;min-height:44px;margin:0;padding:10px 18px;background:#c6923c}.file-admin-list{display:grid;gap:12px}.file-admin-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px;border:1px solid #dce5ea;border-radius:13px;background:#fff}.file-admin-card.is-missing{border-color:#e7b3b0;background:#fff8f7}.file-admin-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.file-admin-main p{margin:6px 0;color:#465a68}.file-admin-main code{display:block;margin-top:8px;padding:7px 9px;overflow-wrap:anywhere;border-radius:8px;background:#f3f6f8;color:#536775;font-size:.78rem}.file-admin-meta{display:flex;gap:7px 12px;flex-wrap:wrap;color:#72808a;font-size:.82rem}.file-status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:.72rem;font-weight:800}.file-status-error{background:#fdeceb;color:#9a2f2a}.file-status-warning{background:#fff2d9;color:#8a5a20}.file-admin-actions{display:flex;align-items:center;gap:7px}.file-admin-actions form{margin:0}@media(max-width:720px){.file-admin-summary{grid-template-columns:1fr}.file-admin-filters{grid-template-columns:1fr}.file-admin-filters button{width:100%}.admin-files-link{font-size:0;width:38px;padding:8px}.admin-files-link::before{content:'📁';font-size:16px}}

/* Événements standardisés */
.event-standard-form{max-width:980px;margin:0 auto}.event-date-grid{grid-template-columns:1.2fr 1fr 1fr}.event-provider-fields{margin:18px 0;padding:16px;border:1px solid #d9e1e5;border-radius:12px}.event-provider-fields legend{padding:0 8px;font-weight:800;color:#173b57}.event-participant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin:8px 0 18px}.participant-check{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #d9e1e5;border-radius:10px;background:#fff}.participant-check input{width:auto}.event-conditional-fields{margin-top:12px}.event-create-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.association-event-item .stage-admin-actions{display:flex;align-items:center;gap:6px}.association-event-item .stage-admin-actions form{margin:0}@media(max-width:700px){.event-date-grid{grid-template-columns:1fr}.event-provider-fields .form-grid{grid-template-columns:1fr}}


/* Événements : coût et documents avant enregistrement */
.event-cost-fields{margin-top:18px}.event-cost-mode{display:grid;gap:8px;margin:8px 0 14px}.event-cost-mode label{display:flex;align-items:center;gap:8px;font-weight:600}.event-cost-mode input{width:auto}.event-documents-before-save{margin-top:16px}.association-event-item>div:first-child{display:grid;gap:4px}.association-event-item small{display:block}


/* Participants et coût des événements */
.event-participant-costs{margin-top:18px;padding:16px;border:1px solid #d9e1e5;border-radius:12px}.event-participant-cost-header,.event-participant-cost-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:12px;align-items:center}.event-participant-cost-header{padding:0 4px 8px;color:#687680;font-size:.82rem;font-weight:800}.event-participant-cost-row{padding:8px 4px;border-top:1px solid #edf1f3}.event-participant-cost-row input[type=text]{width:100%;margin:0}.event-participant-currency{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:12px;align-items:end;margin-top:12px}.event-participant-currency input{width:100%;margin:0}@media(max-width:620px){.event-participant-cost-header,.event-participant-cost-row,.event-participant-currency{grid-template-columns:minmax(0,1fr) 105px}}


/* Ajout progressif de documents dans les événements */
.document-add-toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:0;border-radius:12px;background:#edf3f6;color:#173f5d;font-size:28px;font-weight:800;line-height:1;cursor:pointer}.event-document-add-panel{margin-top:16px;padding-top:16px;border-top:1px solid #dce5ea}.event-document-add-panel[hidden]{display:none!important}


/* Evenements : description auto-ajustable et bouton + minimal */
.event-standard-form textarea.auto-grow{
  min-height:96px;
  overflow:hidden;
  resize:none;
}
.event-documents-before-save .association-panel-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.event-documents-before-save .document-add-toggle{
  width:auto;
  height:auto;
  min-width:0;
  margin-left:auto;
  padding:0 2px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#173f5d;
  font-size:30px;
  font-weight:500;
  line-height:1;
}
.event-documents-before-save .document-add-toggle:hover,
.event-documents-before-save .document-add-toggle:focus{
  background:transparent;
  box-shadow:none;
}

.event-period-warning{display:block;margin-top:6px;color:#9a4f16;font-weight:800;}
.event-stage-period-note{margin-top:8px;}

/* Hébergement : participants et coûts individuels */
.equal-split-option{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:4px 0 14px;
  padding:11px 12px;
  border:1px solid #d8e0e5;
  border-radius:10px;
  background:#f7f9fa;
  font-weight:700;
}
.equal-split-option input{width:auto;margin-top:2px}
.accommodation-participant-costs{display:grid;gap:9px}
.accommodation-participant-cost-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(130px,190px);
  gap:14px;
  align-items:center;
  padding:10px 12px;
  border:1px solid #dce4e8;
  border-radius:10px;
  background:#fff;
}
.participant-choice{display:flex;align-items:center;gap:9px;margin:0;font-weight:700}
.participant-choice input{width:auto}
.participant-cost-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin:0}
.participant-cost-field span{font-size:.84rem;color:#647681}
.participant-cost-field input{margin:0}
.participant-cost-field input:read-only{background:#eef3f5;color:#465a65}
@media(max-width:640px){
  .accommodation-participant-cost-row{grid-template-columns:1fr}
  .participant-cost-field{grid-template-columns:55px minmax(0,1fr)}
}

/* Documents des hébergements */
.accommodation-documents-block{display:grid;gap:12px}
.accommodation-document-source{display:grid;gap:6px}
.accommodation-drop-zone{
  display:flex;
  min-height:132px;
  padding:22px;
  border:2px dashed #b8c3ca;
  border-radius:12px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:6px;
  text-align:center;
  cursor:pointer;
  background:#fafbfc;
  transition:border-color .15s ease,background .15s ease;
}
.accommodation-drop-zone:hover,.accommodation-drop-zone.is-dragging{border-color:#91652c;background:#fffaf2}
.accommodation-drop-zone input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
.drop-zone-title{font-weight:800;color:#263d4b}
.drop-zone-files{display:block;margin-top:5px;color:#91652c;font-size:.86rem;font-weight:700;overflow-wrap:anywhere}


/* Résumés : statut et durée sur une seule ligne */
.entity-summary-head{
  display:flex!important;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  margin:5px 0 3px;
  color:#394d5c;
}
.entity-summary-head strong{display:inline!important;margin:0!important;}

/* Rubrique Actions */
.entity-actions-block{margin-top:18px;}
.entity-actions-list{display:grid;gap:9px;margin:12px 0 16px;}
.entity-action-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid #dbe4e9;border-radius:11px;background:#fff;}
.entity-action-row.is-done{opacity:.68;background:#f3f6f7;}
.entity-action-row.is-done .entity-action-content strong{text-decoration:line-through;}
.entity-action-row form{margin:0;}
.action-status-toggle{width:32px;height:32px;padding:0;border:0;background:transparent;color:#173f5c;font-size:1.35rem;box-shadow:none;}
.entity-action-content{display:flex;flex-direction:column;gap:3px;}
.entity-action-content small{color:#6b7b86;}
.entity-action-add-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px) auto;gap:10px;align-items:end;}
.entity-action-add-form label{display:block;margin-bottom:5px;}
.entity-action-add-form input,.entity-action-add-form select{width:100%;min-height:42px;}
.entity-action-add-form button{width:auto;min-height:42px;margin:0;padding:9px 18px;}
@media(max-width:720px){.entity-action-add-form{grid-template-columns:1fr}.entity-action-add-form button{width:100%;}}

/* Bouton Enregistrer final, commun aux hébergements, événements et liaisons */
.stage-final-save{margin-top:24px;margin-bottom:24px;}
.stage-final-save-button,
.stage-final-save button,
button.stage-final-save-button{
  width:100% !important;
  min-height:58px;
  margin:0 !important;
  border:0;
  border-radius:14px;
  background:#95611f !important;
  color:#fff !important;
  font-size:1.12rem;
  font-weight:800;
  cursor:pointer;
}
.stage-final-save-button:hover,
.stage-final-save button:hover{background:#784b16 !important;}

/* Actions détaillées */
.entity-action-detailed-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid #e0e5e8}
.entity-action-detailed-form .action-field-full{grid-column:1/-1}
.entity-action-detailed-form textarea{width:100%;resize:vertical}
.entity-action-card{padding:14px;border:1px solid #dce3e7;border-radius:12px;background:#fff}
.entity-action-card+.entity-action-card{margin-top:10px}
.entity-action-card.is-done{opacity:.72;background:#f5f7f6}
.entity-action-card.is-urgent{border-left:4px solid #b34b3d}
.entity-action-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.entity-action-card-head form{margin:0}
.entity-action-description{margin:8px 0;color:#4b5d68}
.entity-action-details{display:flex;flex-wrap:wrap;gap:8px 20px;margin:8px 0;color:#657581;font-size:.88rem}
.entity-action-update-form{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) auto;gap:10px;align-items:end;margin-top:10px}
.entity-action-update-form label{margin:0}
.entity-action-update-form select{width:100%}
.action-small-save{width:auto!important;min-height:42px!important;margin:0!important;padding:9px 14px!important;background:#8a5a2b!important}
@media(max-width:720px){.entity-action-detailed-form,.entity-action-update-form{grid-template-columns:1fr}.entity-action-detailed-form .action-field-full{grid-column:auto}.action-small-save{width:100%!important}}

/* Bouton d'ajout d'une action */
.action-add-toggle{
  margin-left:auto;
  padding:0;
  border:0;
  background:transparent;
  color:#8a5b2d;
  font-size:1.65rem;
  font-weight:700;
  line-height:1;
  cursor:pointer;
}
.action-add-toggle:hover{color:#5f3b1d;background:transparent}
.entity-action-add-form[hidden]{display:none!important}

/* Badges vifs dans les récapitulatifs */
.entity-summary-head{
  display:flex!important;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:6px;
}
.summary-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:4px 9px;
  border-radius:999px;
  color:#fff;
  font-weight:800;
  line-height:1.2;
}
.summary-duration{display:inline-flex;align-items:center;gap:4px;}
.status-idee{background:#1877d2;}
.status-reserve{background:#f28c18;}
.status-paye{background:#159447;}
.status-annule{background:#d9363e;}
.status-realise{background:#7a3fc2;}
.action-badge.has-todo{background:#e12635;}
.action-badge.all-done{background:#159447;}

/* Harmonisation visuelle : formulaires événements et bloc Actions */
.event-edit-form{
  display:flex!important;
  flex-direction:column!important;
  gap:22px!important;
  width:100%!important;
  margin-top:18px!important;
}

.event-edit-form > .event-form-block,
.entity-actions-block{
  background:#fff!important;
  border:1px solid #dce5ea!important;
  border-radius:18px!important;
  padding:20px!important;
  box-sizing:border-box!important;
}

.event-edit-form .event-form-block > .association-panel-heading,
.entity-actions-block > .association-panel-heading{
  margin:-20px -20px 18px!important;
  padding:14px 18px!important;
  border-radius:17px 17px 0 0!important;
  background:#173b57!important;
  border-bottom:4px solid #c6923c!important;
}

.event-edit-form .event-form-block > .association-panel-heading strong,
.entity-actions-block > .association-panel-heading strong{
  color:#fff!important;
  font-size:1.08rem!important;
  letter-spacing:.02em!important;
}

.event-edit-form .form-grid,
.event-edit-form .event-top-status-grid,
.event-edit-form .event-type-grid,
.event-edit-form .event-date-grid{
  display:grid!important;
  gap:16px!important;
}

.event-edit-form .event-top-status-grid,
.event-edit-form .event-type-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

.event-edit-form .event-date-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

.event-edit-form textarea.auto-grow{
  min-height:110px!important;
  resize:none!important;
  overflow:hidden!important;
}

.event-edit-form .document-add-toggle{
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  padding:0 2px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff!important;
  font-size:32px!important;
  font-weight:500!important;
  line-height:1!important;
}

.event-edit-form .document-add-toggle:hover,
.event-edit-form .document-add-toggle:focus{
  background:transparent!important;
  box-shadow:none!important;
  color:#fff!important;
}

.event-edit-form .event-document-add-panel{
  margin-top:16px!important;
  padding-top:16px!important;
  border-top:1px solid #dce5ea!important;
}

.event-edit-form .event-total-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px;
  gap:12px;
  align-items:end;
  margin-top:12px;
}

.event-edit-form .event-total-row label{
  margin:0;
}

.event-edit-form .event-total-row input{
  width:100%;
  margin:0;
}

.entity-actions-block{
  margin-top:0!important;
}

.entity-actions-list{
  margin:12px 0 16px!important;
}

.entity-action-card{
  border-radius:14px!important;
}

.entity-action-update-form,
.entity-action-detailed-form{
  gap:12px!important;
}

@media(max-width:700px){
  .event-edit-form .event-top-status-grid,
  .event-edit-form .event-type-grid,
  .event-edit-form .event-date-grid,
  .event-edit-form .form-grid,
  .event-edit-form .event-total-row{
    grid-template-columns:1fr!important;
  }
}

/* Correctif d'harmonisation Hébergement / Événement / Liaison */
.status-engage{background:#00a6a6!important;color:#fff!important;}

.entity-voyage-header{
  margin:24px 0 0;
  overflow:hidden;
  border-radius:22px;
  box-shadow:0 4px 14px rgba(23,59,87,.08);
}
.entity-voyage-main{
  padding:22px 30px;
  background:#173b57;
  color:#fff;
}
.entity-voyage-main>span{
  display:block;
  margin-bottom:8px;
  color:#f2d49b;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.18em;
}
.entity-voyage-main h1{
  margin:0;
  color:#fff;
}
.entity-stage-subheader{
  padding:13px 30px;
  background:#315d7b;
  color:#fff;
  font-size:1.02rem;
}
.entity-process-heading{
  padding:24px 0 8px;
  background:#fff;
}
.entity-title-preview-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:8px;
}
.entity-title-preview-row .current-process-subtitle{
  margin:0!important;
}
.entity-title-eye,
.entity-preview-eye{
  display:inline-grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#173b57!important;
  font-size:19px!important;
  line-height:1!important;
  opacity:.72!important;
  cursor:not-allowed!important;
}
.entity-card-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
}
.entity-card-actions form{margin:0!important;}
.entity-card-actions .tiny-pencil,
.entity-card-actions .tiny-trash,
.entity-card-actions .icon-action,
.entity-card-actions .entity-preview-eye{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
}

.entity-status-strip{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  padding:18px 20px;
  border:1px solid #dce5ea;
  border-radius:18px;
  background:#fff;
}
.entity-status-strip label{
  display:block;
  margin:0 0 6px;
  font-weight:800;
  color:#173b57;
}
.entity-status-strip select{width:100%;}

.liaison-edit-form{
  display:flex!important;
  flex-direction:column!important;
  gap:22px!important;
  margin-top:18px!important;
}
.liaison-form-block{
  background:#fff!important;
  border:1px solid #dce5ea!important;
  border-radius:18px!important;
  padding:20px!important;
  box-sizing:border-box!important;
}
.liaison-form-block>.association-panel-heading,
.entity-actions-block>.association-panel-heading{
  margin:-20px -20px 18px!important;
  padding:14px 18px!important;
  border-radius:17px 17px 0 0!important;
  background:#173b57!important;
  border-bottom:4px solid #c6923c!important;
}
.liaison-form-block>.association-panel-heading strong,
.entity-actions-block>.association-panel-heading strong{
  color:#fff!important;
  font-size:1.08rem!important;
}
.entity-actions-block>.association-panel-heading{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
}
.entity-actions-block .action-add-toggle{
  margin-left:auto!important;
  color:#fff!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  font-size:30px!important;
  line-height:1!important;
}
.entity-actions-block .action-add-toggle:hover,
.entity-actions-block .action-add-toggle:focus{
  color:#fff!important;
  background:transparent!important;
}

.action-badge.urgency-done{background:#159447!important;color:#fff!important;}
.action-badge.urgency-faible{background:#f4c542!important;color:#3b3210!important;}
.action-badge.urgency-normal{background:#f28c18!important;color:#fff!important;}
.action-badge.urgency-urgent{background:#e12635!important;color:#fff!important;}

@media(max-width:700px){
  .entity-voyage-main,.entity-stage-subheader{padding-left:18px;padding-right:18px;}
  .entity-status-strip{grid-template-columns:1fr;}
  .entity-title-preview-row{align-items:flex-start;}
}

/* Actions : titre de liste et bouton + sous le bandeau */
.actions-list-heading{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  margin:2px 0 12px;
  color:#173b57;
}
.actions-list-heading .action-add-toggle{
  margin:0;
  padding:0;
  width:auto;
  height:auto;
  min-width:0;
  border:0;
  background:transparent;
  color:#173b57;
  box-shadow:none;
  font-size:1.7rem;
  line-height:1;
}
.actions-list-heading .action-add-toggle:hover,
.actions-list-heading .action-add-toggle:focus{
  background:transparent;
  color:#8a5a20;
  box-shadow:none;
}

/* Séparateurs dans les récapitulatifs */
.stage-panel-content .association-list > .association-item{
  border-bottom:1px solid #d7e1e7;
  border-radius:0;
  padding-top:16px;
  padding-bottom:16px;
  margin:0;
}
.stage-panel-content .association-list > .association-item:last-child{
  border-bottom:0;
}

/* Correctif : bouton + des Documents toujours visible */
.event-documents-before-save .document-add-toggle,
.accommodation-documents-block .document-add-toggle,
.liaison-form-block .document-add-toggle,
.documents-block .document-add-toggle,
.association-panel-heading .document-add-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  margin-left:auto!important;
  padding:0 2px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#c6923c!important;
  font-size:32px!important;
  font-weight:800!important;
  line-height:1!important;
  opacity:1!important;
  visibility:visible!important;
}
.event-documents-before-save .document-add-toggle:hover,
.event-documents-before-save .document-add-toggle:focus,
.accommodation-documents-block .document-add-toggle:hover,
.accommodation-documents-block .document-add-toggle:focus,
.liaison-form-block .document-add-toggle:hover,
.liaison-form-block .document-add-toggle:focus,
.documents-block .document-add-toggle:hover,
.documents-block .document-add-toggle:focus,
.association-panel-heading .document-add-toggle:hover,
.association-panel-heading .document-add-toggle:focus{
  color:#f0b955!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Harmonisation finale : bouton + des Documents identique à celui des Actions */
.event-documents-before-save .document-add-toggle,
.accommodation-documents-block .document-add-toggle,
.liaison-form-block .document-add-toggle,
.documents-block .document-add-toggle,
.association-panel-heading .document-add-toggle,
.event-documents-before-save .tiny-plus,
.accommodation-documents-block .tiny-plus,
.liaison-form-block .tiny-plus,
.documents-block .tiny-plus,
.association-panel-heading .tiny-plus{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  margin-left:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff!important;
  font-size:30px!important;
  font-weight:800!important;
  line-height:1!important;
  opacity:1!important;
  visibility:visible!important;
  text-decoration:none!important;
}
.event-documents-before-save .document-add-toggle:hover,
.event-documents-before-save .document-add-toggle:focus,
.accommodation-documents-block .document-add-toggle:hover,
.accommodation-documents-block .document-add-toggle:focus,
.liaison-form-block .document-add-toggle:hover,
.liaison-form-block .document-add-toggle:focus,
.documents-block .document-add-toggle:hover,
.documents-block .document-add-toggle:focus,
.association-panel-heading .document-add-toggle:hover,
.association-panel-heading .document-add-toggle:focus,
.event-documents-before-save .tiny-plus:hover,
.event-documents-before-save .tiny-plus:focus,
.accommodation-documents-block .tiny-plus:hover,
.accommodation-documents-block .tiny-plus:focus,
.liaison-form-block .tiny-plus:hover,
.liaison-form-block .tiny-plus:focus,
.documents-block .tiny-plus:hover,
.documents-block .tiny-plus:focus,
.association-panel-heading .tiny-plus:hover,
.association-panel-heading .tiny-plus:focus{
  color:#fff!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Correctif définitif : + Documents et + Actions identiques, blancs et alignés à droite */
.event-documents-before-save > .association-panel-heading,
.accommodation-documents-block > .association-panel-heading,
.liaison-form-block > .association-panel-heading,
.documents-block > .association-panel-heading,
.entity-actions-block > .association-panel-heading{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  box-sizing:border-box!important;
}

.event-documents-before-save > .association-panel-heading .document-add-toggle,
.accommodation-documents-block > .association-panel-heading .document-add-toggle,
.liaison-form-block > .association-panel-heading .document-add-toggle,
.documents-block > .association-panel-heading .document-add-toggle,
.event-documents-before-save > .association-panel-heading .tiny-plus,
.accommodation-documents-block > .association-panel-heading .tiny-plus,
.liaison-form-block > .association-panel-heading .tiny-plus,
.documents-block > .association-panel-heading .tiny-plus,
.entity-actions-block > .association-panel-heading .action-add-toggle{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  float:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0 0 0 auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff!important;
  font-size:30px!important;
  font-weight:800!important;
  line-height:1!important;
  opacity:1!important;
  visibility:visible!important;
  text-decoration:none!important;
}

.event-documents-before-save > .association-panel-heading .document-add-toggle:hover,
.event-documents-before-save > .association-panel-heading .document-add-toggle:focus,
.accommodation-documents-block > .association-panel-heading .document-add-toggle:hover,
.accommodation-documents-block > .association-panel-heading .document-add-toggle:focus,
.liaison-form-block > .association-panel-heading .document-add-toggle:hover,
.liaison-form-block > .association-panel-heading .document-add-toggle:focus,
.documents-block > .association-panel-heading .document-add-toggle:hover,
.documents-block > .association-panel-heading .document-add-toggle:focus,
.event-documents-before-save > .association-panel-heading .tiny-plus:hover,
.event-documents-before-save > .association-panel-heading .tiny-plus:focus,
.accommodation-documents-block > .association-panel-heading .tiny-plus:hover,
.accommodation-documents-block > .association-panel-heading .tiny-plus:focus,
.liaison-form-block > .association-panel-heading .tiny-plus:hover,
.liaison-form-block > .association-panel-heading .tiny-plus:focus,
.documents-block > .association-panel-heading .tiny-plus:hover,
.documents-block > .association-panel-heading .tiny-plus:focus,
.entity-actions-block > .association-panel-heading .action-add-toggle:hover,
.entity-actions-block > .association-panel-heading .action-add-toggle:focus{
  color:#fff!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}


/* Correction ciblée : Documents uniquement. Ne modifie pas Actions. */
.event-documents-before-save > .association-panel-heading,
.liaison-form-block > .association-panel-heading,
.documents-block > .association-panel-heading,
.accommodation-documents-block > .association-panel-heading{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
}
.event-documents-before-save > .association-panel-heading .document-plus-visible,
.liaison-form-block > .association-panel-heading .document-plus-visible,
.documents-block > .association-panel-heading .document-plus-visible,
.accommodation-documents-block > .association-panel-heading .document-plus-visible{
  margin-left:auto!important;
  color:#fff!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  font-size:30px!important;
  font-weight:800!important;
  line-height:1!important;
}

/* REPARATION URGENCE - conserver la feuille complete et aligner uniquement les boutons + */
.event-documents-before-save > .association-panel-heading,
.accommodation-documents-block > .association-panel-heading,
.liaison-documents-block > .association-panel-heading,
.entity-actions-block > .association-panel-heading {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.event-documents-before-save > .association-panel-heading .document-add-toggle,
.accommodation-documents-block > .association-panel-heading .document-add-toggle,
.accommodation-documents-block > .association-panel-heading .tiny-plus,
.liaison-documents-block > .association-panel-heading .document-add-toggle,
.liaison-documents-block > .association-panel-heading .tiny-plus,
.entity-actions-block > .association-panel-heading .action-add-toggle {
  margin-left: auto !important;
  margin-right: 0 !important;
  position: static !important;
  transform: none !important;
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff !important;
  font-size: 32px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

/* Actions : crayon et poubelle strictement harmonisés */
.entity-action-card-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
}
.entity-action-card-head>strong{
  min-width:0!important;
  flex:1 1 auto!important;
}
.entity-action-head-buttons{
  display:flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  margin-left:auto!important;
}
.entity-action-head-buttons form{
  display:block!important;
  width:38px!important;
  height:38px!important;
  margin:0!important;
}
.entity-action-head-buttons .action-edit-toggle,
.entity-action-head-buttons .tiny-trash{
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  max-width:38px!important;
  max-height:38px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:10px!important;
  background:#eef3f6!important;
  box-shadow:none!important;
  color:#173b57!important;
  font-size:15px!important;
  line-height:1!important;
  cursor:pointer!important;
}
.entity-action-head-buttons .action-edit-toggle:hover,
.entity-action-head-buttons .action-edit-toggle:focus,
.entity-action-head-buttons .tiny-trash:hover,
.entity-action-head-buttons .tiny-trash:focus{
  background:#e3ebef!important;
  transform:none!important;
}


/* Boutons + des listes d'étape : hébergements, événements et liaisons */
.stage-action-panel > .association-panel-heading{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  width:100%!important;
}
.stage-action-panel > .association-panel-heading .stage-list-add-plus{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  float:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  margin:0 0 0 auto!important;
  padding:0!important;
  border:0!important;
  border-radius:10px!important;
  background:#edf3f6!important;
  box-shadow:none!important;
  color:#173b57!important;
  font-size:30px!important;
  font-weight:800!important;
  line-height:1!important;
  text-decoration:none!important;
  opacity:1!important;
  visibility:visible!important;
  cursor:pointer!important;
}
.stage-action-panel > .association-panel-heading .stage-list-add-plus:hover,
.stage-action-panel > .association-panel-heading .stage-list-add-plus:focus{
  background:#dfe9ee!important;
  color:#173b57!important;
}
.stage-action-panel > .association-panel-heading details.association-add-details{
  flex:0 0 auto!important;
  margin-left:auto!important;
}


/* Bouton Dupliquer dans les récapitulatifs */
.entity-card-actions form{margin:0;}
.entity-duplicate-button{
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #d4dde2!important;
  border-radius:8px!important;
  background:#f4f7f8!important;
  color:#173b57!important;
  box-shadow:none!important;
  font-size:18px!important;
  font-weight:800!important;
  line-height:1!important;
  cursor:pointer!important;
}
.entity-duplicate-button:hover{background:#e9eff2!important;}

/* Catalogue Prestations et liaison avec les événements */
.prestations-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:24px;align-items:start}
.prestation-list-item{display:flex;flex-direction:column;gap:4px;padding:13px 0;border-bottom:1px solid #e2e8eb;color:inherit;text-decoration:none}
.prestation-list-item:hover strong{text-decoration:underline}
.prestation-list-item small{color:#60717c}
.prestation-mode-options{display:flex;flex-wrap:wrap;gap:12px}
.prestation-mode-options label,.catalogue-add-option{display:flex;align-items:center;gap:9px;padding:12px 14px;border:1px solid #d7e0e5;border-radius:10px;background:#f7f9fa;cursor:pointer}
.linked-prestation-summary{margin-top:14px;padding:12px 14px;border-radius:10px;background:#f4f7f8}
.linked-prestation-summary p{margin:5px 0;white-space:pre-line}
#free-prestation-block[hidden],#linked-prestation-block[hidden]{display:none!important}
@media(max-width:850px){.prestations-layout{grid-template-columns:1fr}.prestation-mode-options{flex-direction:column}}

/* Correctif affichage du choix Événement libre / lié à une prestation */
.event-edit-form .prestation-mode-options{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
}
.event-edit-form .prestation-mode-options label{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
  min-height:72px!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:16px 18px!important;
  border:1px solid #cbd8df!important;
  border-radius:12px!important;
  background:#f7f9fa!important;
  cursor:pointer!important;
}
.event-edit-form .prestation-mode-options input[type="radio"]{
  flex:0 0 auto!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  margin:0!important;
  padding:0!important;
}
.event-edit-form .prestation-mode-options label span{
  display:block!important;
  min-width:0!important;
  color:#172d3f!important;
  font-weight:700!important;
  line-height:1.25!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:700px){
  .event-edit-form .prestation-mode-options{
    grid-template-columns:1fr!important;
  }
}

/* Structure Prestation / Événement */
.prestation-master-block .prestation-type-first{margin-bottom:18px}
.prestation-master-block .form-help{margin:7px 0 0;color:#667985;font-size:.92rem}
.prestation-master-block .prestation-mode-options label span{display:flex!important;flex-direction:column;gap:4px}
.prestation-master-block .prestation-mode-options label span small{font-weight:400;color:#60717c;line-height:1.35}
.prestation-choice-panel{margin-top:20px;padding:18px;border:1px solid #d7e0e5;border-radius:12px;background:#fbfcfc}
.subsection-title{margin:-18px -18px 18px;padding:12px 16px;border-bottom:1px solid #d7e0e5;background:#eef3f5;border-radius:12px 12px 0 0;font-weight:800;color:#173b57}
.type-specific-prestation-block{margin-bottom:12px}
.event-status-inside{margin:0 0 18px;padding:0;background:transparent;border:0}
.event-occurrence-specific{margin:16px 0}
@media(max-width:700px){.prestation-choice-panel{padding:14px}.subsection-title{margin:-14px -14px 14px}}

/* Événements : type en tête et cartouches repliables */
.event-type-top{
  padding:18px 20px;
  border:1px solid #dce5ea;
  border-radius:18px;
  background:#fff;
}
.event-type-top label{
  margin:0 0 8px;
  color:var(--blue);
  font-size:1.05rem;
}
.event-type-top select{
  width:100%;
  min-height:46px;
  padding:10px 12px;
  border:1px solid #b7c0c8;
  border-radius:10px;
  background:#fff;
  font:inherit;
}
.event-form-block.is-collapsed > :not(.association-panel-heading),
.entity-actions-block.is-collapsed > :not(.association-panel-heading){
  display:none!important;
}
.event-form-block.is-collapsed,
.entity-actions-block.is-collapsed{
  padding-bottom:0!important;
}
.cartouche-collapse-toggle{
  position:static!important;
  flex:0 0 34px!important;
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  margin:0 0 0 8px!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.48)!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:23px!important;
  font-weight:500!important;
  line-height:1!important;
  cursor:pointer!important;
}
.cartouche-collapse-toggle:hover,
.cartouche-collapse-toggle:focus{
  background:rgba(255,255,255,.12)!important;
  transform:none!important;
}
.event-documents-before-save > .association-panel-heading .cartouche-collapse-toggle,
.entity-actions-block > .association-panel-heading .cartouche-collapse-toggle{
  margin-left:8px!important;
}


/* Choix du mode d'événement placé avant le cartouche principal */
.event-mode-top{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
  margin:0!important;
}
.event-mode-top label{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-height:72px!important;
  margin:0!important;
  padding:16px 18px!important;
  border:1px solid #cbd8df!important;
  border-radius:12px!important;
  background:#fff!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
}
.event-mode-top input[type="radio"]{
  flex:0 0 auto!important;
  width:20px!important;
  height:20px!important;
  margin:0!important;
}
.event-mode-top span{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important;}
.event-mode-top small{font-weight:400!important;color:#60717c!important;line-height:1.35!important;}
@media(max-width:700px){.event-mode-top{grid-template-columns:1fr!important;}}


/* Événements : éviter le chevauchement avant les documents de l’événement */
.event-edit-form .prestation-documents-block{
  margin-top:24px!important;
  padding-top:18px!important;
  clear:both!important;
}
.event-edit-form select[name="condition_annulation"]{
  margin-bottom:8px!important;
}


/* Événements : dates de début et de fin sur une même ligne */
.event-datetime-block{display:grid;gap:14px}
.event-date-pair,.event-time-pair{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media(max-width:620px){.event-date-pair,.event-time-pair{grid-template-columns:1fr!important}}

/* Correctif Liaison : formulaire d'ajout de document intégré dans le flux */
.liaison-documents-block .association-add-details,
.liaison-documents-section .association-add-details,
.liaison-form-block .association-add-details{
  position:static!important;
  width:100%!important;
  margin:0!important;
}

.liaison-documents-block .association-add-details[open],
.liaison-documents-section .association-add-details[open],
.liaison-form-block .association-add-details[open]{
  display:block!important;
  width:100%!important;
}

.liaison-documents-block .association-add-form,
.liaison-documents-section .association-add-form,
.liaison-form-block .liaison-document-form,
.liaison-form-block .association-add-form{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  float:none!important;
  z-index:auto!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:14px 0 0!important;
  padding:16px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
  border:1px solid #dce5ea!important;
  border-radius:12px!important;
  background:#f8fafb!important;
  box-shadow:none!important;
}

.liaison-documents-block .association-add-form input,
.liaison-documents-block .association-add-form select,
.liaison-documents-block .association-add-form textarea,
.liaison-documents-section .association-add-form input,
.liaison-documents-section .association-add-form select,
.liaison-documents-section .association-add-form textarea,
.liaison-form-block .liaison-document-form input,
.liaison-form-block .liaison-document-form select,
.liaison-form-block .liaison-document-form textarea{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

@media(max-width:680px){
  .liaison-documents-block .association-add-form,
  .liaison-documents-section .association-add-form,
  .liaison-form-block .liaison-document-form,
  .liaison-form-block .association-add-form{
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    width:100%!important;
    max-height:none!important;
    overflow:visible!important;
  }
}


/* Formulaire événement : boutons Enregistrer compacts en haut et en bas */
.event-save-actions{
  justify-content:flex-end;
  margin:12px 0 16px;
}
.event-save-actions .stage-final-save-button{
  width:auto !important;
  min-width:150px;
  min-height:40px;
  padding:8px 18px;
  border-radius:10px;
  font-size:.98rem;
}
.event-save-actions-top{
  margin-top:0;
}
@media(max-width:720px){
  .event-save-actions .stage-final-save-button{
    width:100% !important;
  }
}


/* Chef de voyage et référent de journée */
.trip-leader-choice{display:flex!important;align-items:center;gap:8px;margin-top:10px}
.trip-leader-choice input{width:auto!important}
.voyage-person-row.is-trip-leader{border-color:#d6a22e}
.voyage-person-identity{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.voyage-person-identity>span:last-child{flex-basis:100%}
.trip-leader-badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:#fff2c7;color:#775500;font-size:.82rem;font-weight:700}
.voyage-person-actions{display:flex;align-items:center;gap:8px}
.compact-button{width:auto!important;min-height:34px!important;padding:6px 11px!important;font-size:.88rem!important}
.event-day-summary-title-wrap{display:flex;flex-direction:column;gap:5px;min-width:0}
.day-referent-display{font-size:.9rem;color:#57606a;font-weight:400}
.day-referent-display small{font-weight:400}
.day-referent-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}
.day-referent-form select{width:auto;min-width:240px;padding:7px 9px}
.voyage-management-heading{display:flex;align-items:center;justify-content:space-between}
.voyage-create-plus{display:inline-flex;text-decoration:none;align-items:center;justify-content:center}
.voyage-management-list{display:grid;gap:14px}
.voyage-management-row{display:flex;align-items:center;justify-content:space-between;gap:18px}
.voyage-management-main{display:flex;align-items:center;gap:16px;min-width:0}
.voyage-management-main img{width:110px;height:74px;object-fit:cover;border-radius:12px}
.voyage-management-main div{display:flex;flex-direction:column;gap:4px}
@media(max-width:700px){.day-referent-form{align-items:stretch}.day-referent-form select{width:100%;min-width:0}.voyage-person-actions{flex-wrap:wrap}.voyage-management-main img{width:82px;height:62px}}


/* Repli manuel d'une étape : l'en-tête et les boutons restent visibles. */
.stage-header-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}
.stage-collapse-toggle {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 42px;
  border: 0;
  border-radius: 12px;
  background: #f1f6f9;
  color: #233444;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}
.stage-collapse-toggle:hover,
.stage-collapse-toggle:focus-visible {
  background: #e6eef3;
}
.stage-management-card.stage-is-collapsed [data-stage-detail] {
  display: none !important;
}
@media (max-width: 700px) {
  .stage-header-right {
    width: 100%;
    justify-content: space-between;
  }
}


/* Navigation directe vers les étapes depuis le cartouche du voyage */
.trip-management-buttons.trip-stage-navigation{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  align-items:stretch;
  gap:10px;
}
.trip-stage-navigation .trip-stage-button{
  width:100%!important;
  min-height:54px;
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  text-align:center;
  line-height:1.2;
}
.trip-stage-navigation .trip-stage-button small{
  display:block;
  font-size:.76rem;
  font-weight:500;
  opacity:.78;
}
.stage-management-card[id]{
  scroll-margin-top:18px;
}
@media (max-width:640px){
  .trip-management-buttons.trip-stage-navigation{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:420px){
  .trip-management-buttons.trip-stage-navigation{
    grid-template-columns:1fr;
  }
}

/* Page d'une étape : la flèche replie aussi la barre d'actions,
   afin que le changement soit immédiatement visible même si aucun panneau n'est ouvert. */
.stage-management-card.stage-is-collapsed [data-stage-panels],
.stage-management-card.stage-is-collapsed [data-stage-detail] {
  display: none !important;
}
