/* RÉDAC 2000 V7 — lot éditorial.
   Règle : mise en page uniquement, sans modifier les contrats métier. */
:root{
  --editorial-v7-purple:#490154;
  --editorial-v7-purple-deep:#31013a;
  --editorial-v7-red:#ed001c;
  --editorial-v7-text:#171124;
  --editorial-v7-muted:#716a78;
  --editorial-v7-border:#e3dce6;
  --editorial-v7-canvas:#faf8fb;
  --editorial-v7-shadow:0 10px 28px rgba(44,18,50,.07);
}

/* Production : les composants historiques restent en place, seul leur flux change. */
#reportageWorkspace,
#briefWorkspace,
#radioBriefWorkspace{
  width:100%;
  max-width:1540px;
  margin:0 auto;
}
#reportageWorkspace>.workspace-header,
#briefWorkspace>.workspace-header,
#radioBriefWorkspace>.workspace-header{
  margin-bottom:22px;
}

/* BOCIR reste raccordé dans le DOM pour une réactivation ultérieure. */
#reportageWorkspace>.experimental-integration-card,
#briefWorkspace>.experimental-integration-card{
  display:none;
}
#reportageWorkspace>.workspace-header h1,
#briefWorkspace>.workspace-header h1,
#radioBriefWorkspace>.workspace-header h1{
  color:var(--editorial-v7-purple)!important;
  font-size:clamp(38px,3.4vw,52px)!important;
  line-height:1.08;
}
.editorial-flow-grid{
  display:grid;
  gap:18px;
  align-items:start;
  width:100%;
}
#radioBriefWorkspace .editorial-flow-grid--radio{
  width:min(100%,980px);
  max-width:100%;
  justify-content:start;
  margin-inline:0 auto;
}
#radioBriefWorkspace .editorial-flow-grid--radio>.card{
  width:100%;
  max-width:980px;
  min-width:0;
  justify-self:stretch;
  text-align:left;
}
.editorial-flow-grid--reportage{
  grid-template-columns:minmax(245px,.76fr) minmax(300px,1fr) minmax(350px,1.18fr);
}
.editorial-flow-grid--brief,
.editorial-flow-grid--radio{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.editorial-flow-grid>.card{
  min-width:0;
  margin:0;
  padding:22px;
  border:1px solid var(--editorial-v7-border);
  border-radius:14px;
  background:#fff;
  box-shadow:var(--editorial-v7-shadow);
}
.editorial-flow-grid>.card h2{
  margin:0 0 14px;
  color:var(--editorial-v7-purple);
  font-size:20px;
}
.editorial-flow-grid label{
  color:var(--editorial-v7-text);
  font-weight:750;
}
.editorial-flow-grid :is(input,select,textarea){
  border-color:var(--editorial-v7-border);
  border-radius:8px;
  background:#fff;
}
.editorial-flow-grid :is(input,select,textarea):focus{
  border-color:var(--editorial-v7-purple);
  box-shadow:0 0 0 3px rgba(73,1,84,.1);
}
#reportageWorkspace #transcription{min-height:310px;max-height:430px}
#reportageWorkspace #article{min-height:260px}
#briefWorkspace #brief{min-height:245px}
#briefWorkspace #briefArticle{min-height:245px}
#radioBriefWorkspace #radioBriefSource,
#radioBriefWorkspace #radioBriefResult{min-height:330px}
.editorial-flow-grid .audio-drop{
  min-height:190px;
  display:grid;
  place-items:center;
  border:1px dashed #cfc2d2;
  border-radius:12px;
  background:var(--editorial-v7-canvas);
}
.editorial-flow-grid :is(#transcribeBtn,#generateBtn,#saveBtn,#generateBriefBtn,#saveBriefBtn,#saveRadioBriefBtn){
  background:var(--editorial-v7-red);
  border-color:var(--editorial-v7-red);
  color:#fff;
}
.editorial-flow-grid .secondary{
  background:var(--editorial-v7-purple);
  border-color:var(--editorial-v7-purple);
  color:#fff;
  box-shadow:none;
}
.editorial-flow-grid .secondary:hover:not(:disabled){
  background:var(--editorial-v7-purple-deep);
  border-color:var(--editorial-v7-purple-deep);
  color:#fff;
}

/* Rappels : espace historique distinct de l'Agenda éditorial. */
#agendaWorkspace{
  width:100%;
  max-width:1500px;
  margin:0 auto;
}
#agendaWorkspace .reminders-v7-grid{
  display:grid;
  grid-template-columns:minmax(310px,.72fr) minmax(0,1.55fr);
  gap:20px;
  align-items:start;
}
#agendaWorkspace .reminders-v7-grid>.card{
  min-width:0;
  margin:0;
  padding:22px;
  border:1px solid var(--editorial-v7-border);
  border-radius:14px;
  box-shadow:var(--editorial-v7-shadow);
}
#agendaWorkspace .reminders-v7-grid h2::after{
  display:none;
  content:none;
}
#agendaWorkspace .reminders-v7-grid>.card:first-child{
  position:sticky;
  top:18px;
}
#agendaWorkspace .reminders-v7-grid>.card:first-child>label{
  margin-top:13px;
  color:var(--editorial-v7-text);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
}
#agendaWorkspace .reminders-v7-grid :is(input,select,textarea){
  border-color:var(--editorial-v7-border);
  border-radius:8px;
}
#agendaWorkspace #reminderSource{min-height:180px}
#agendaWorkspace #addReminderBtn{
  width:100%;
  background:var(--editorial-v7-red);
  border-color:var(--editorial-v7-red);
}
#agendaWorkspace .planning-tabs{
  display:flex;
  gap:10px;
  margin:14px 0 18px;
  overflow-x:auto;
}
#agendaWorkspace .agenda-filter{
  flex:0 0 auto;
  min-height:42px;
  margin:0;
  border-color:#cdbdd0;
  background:#fff;
  color:var(--editorial-v7-purple);
  box-shadow:none;
}
#agendaWorkspace .agenda-filter:not(.secondary){
  background:var(--editorial-v7-purple);
  color:#fff;
}
#agendaWorkspace .reminder-card{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:17px 18px;
  border:1px solid var(--editorial-v7-border);
  border-left:5px solid var(--editorial-v7-purple);
  border-radius:11px;
  background:#fff;
}
#agendaWorkspace .reminder-card+.reminder-card{margin-top:11px}
#agendaWorkspace .reminder-card strong{display:block;margin:6px 0;color:var(--editorial-v7-text);font-size:17px}
#agendaWorkspace .reminder-region{
  display:inline-flex;
  padding:4px 8px;
  border-radius:999px;
  background:#efe7f0;
  color:var(--editorial-v7-purple);
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
}
#agendaWorkspace .reminder-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
#agendaWorkspace .reminder-actions button{margin:0}
#agendaWorkspace .reminder-done{opacity:.65}

/* Agenda éditorial déjà existant : aucune création ni activation depuis ce lot. */
#editorialAgendaWorkspace{
  width:100%;
  max-width:1500px;
  margin:0 auto;
}
#editorialAgendaWorkspace :is(.editorial-agenda-form-card,.editorial-agenda-calendar-card,.editorial-agenda-list-card){
  border:1px solid var(--editorial-v7-border);
  border-radius:14px;
  box-shadow:var(--editorial-v7-shadow);
}
#editorialAgendaWorkspace .editorial-agenda-form-card{padding:22px}
#editorialAgendaWorkspace .editorial-agenda-calendar-card{padding:18px}
#editorialAgendaWorkspace .editorial-agenda-day{min-height:112px}
#editorialAgendaWorkspace .editorial-agenda-calendar-event{border-left-color:var(--agenda-region,var(--editorial-v7-purple))}

/* Veille : filtres horizontaux et fiches en deux colonnes sur grand écran. */
#veilleWorkspace{
  width:100%;
  max-width:1500px;
  margin:0 auto;
}
#veilleWorkspace :is(.veille-add-card,.veille-search-card){
  border:1px solid var(--editorial-v7-border);
  border-radius:14px;
  box-shadow:var(--editorial-v7-shadow);
}
#veilleWorkspace .veille-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
#veilleWorkspace .veille-item{
  display:block;
  min-width:0;
  padding:18px;
  border-color:var(--editorial-v7-border);
  border-radius:13px;
  box-shadow:0 7px 22px rgba(44,18,50,.055);
}
#veilleWorkspace .veille-item h2{color:var(--editorial-v7-text)}
#veilleWorkspace .veille-region{background:#e9f0f7;color:#255f96}
#veilleWorkspace .veille-actions .secondary{
  background:var(--editorial-v7-purple);
  border-color:var(--editorial-v7-purple);
  color:#fff;
  box-shadow:none;
}
#veilleWorkspace .veille-actions .secondary:hover:not(:disabled){
  background:var(--editorial-v7-purple-deep);
  border-color:var(--editorial-v7-purple-deep);
  color:#fff;
}
#veilleWorkspace .veille-delete{
  color:var(--editorial-v7-red);
  border-color:#ef9ba5;
}

/* Suivi des heures : les zéros restent lisibles sans envahir le récapitulatif. */
#overtimeWorkspace .overtime-no-hours{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  border:1px dashed #d8cedb;
  border-radius:10px;
  background:#fff;
  color:var(--editorial-v7-muted);
  font-size:14px;
  font-weight:700;
  text-align:center;
}
#overtimeWorkspace .overtime-metric strong{color:var(--editorial-v7-purple)}

@media(max-width:1180px){
  .editorial-flow-grid--reportage{grid-template-columns:repeat(2,minmax(0,1fr))}
  .editorial-flow-grid--reportage>.card:last-child{grid-column:1/-1}
  #veilleWorkspace .veille-list{grid-template-columns:1fr}
}
@media(max-width:900px){
  .editorial-flow-grid--reportage,
  .editorial-flow-grid--brief,
  .editorial-flow-grid--radio,
  #agendaWorkspace .reminders-v7-grid{grid-template-columns:1fr}
  #radioBriefWorkspace .editorial-flow-grid--radio{grid-template-columns:minmax(0,1fr)}
  .editorial-flow-grid--reportage>.card:last-child{grid-column:auto}
  #agendaWorkspace .reminders-v7-grid>.card:first-child{position:static}
}
@media(max-width:760px){
  #reportageWorkspace>.workspace-header h1,
  #briefWorkspace>.workspace-header h1,
  #radioBriefWorkspace>.workspace-header h1{font-size:38px!important}
  .editorial-flow-grid{gap:13px}
  .editorial-flow-grid>.card,
  #agendaWorkspace .reminders-v7-grid>.card{padding:16px}
  #reportageWorkspace #transcription,
  #reportageWorkspace #article,
  #briefWorkspace #brief,
  #briefWorkspace #briefArticle,
  #radioBriefWorkspace #radioBriefSource,
  #radioBriefWorkspace #radioBriefResult{min-height:230px}
  #agendaWorkspace .admin-head{align-items:stretch;flex-direction:column}
  #agendaWorkspace #requestNotifBtn{width:100%}
  #agendaWorkspace .reminder-card{grid-template-columns:1fr}
  #agendaWorkspace .reminder-actions{justify-content:stretch}
  #agendaWorkspace .reminder-actions button{flex:1 1 150px}
}

/* Hiérarchie desktop : le contenu produit prime sur les étapes de préparation. */
@media(min-width:901px){
  #reportageWorkspace>.workspace-header,
  #briefWorkspace>.workspace-header,
  #radioBriefWorkspace>.workspace-header{
    display:block;
    text-align:left;
  }
  #reportageWorkspace>.workspace-header>div,
  #briefWorkspace>.workspace-header>div,
  #radioBriefWorkspace>.workspace-header>div{width:100%}
  #reportageWorkspace>.workspace-header p,
  #briefWorkspace>.workspace-header p,
  #radioBriefWorkspace>.workspace-header p{
    max-width:900px;
    margin-top:7px;
  }

  .editorial-flow-grid--reportage{grid-template-columns:minmax(0,1fr)}
  .editorial-flow-grid--brief{
    grid-template-columns:minmax(320px,.55fr) minmax(0,1.45fr);
  }
  .editorial-flow-grid--radio{grid-template-columns:minmax(0,980px);justify-content:start}
  .editorial-flow-card--source,
  .editorial-flow-card--verification,
  .editorial-flow-card--result{min-width:0}

  /* Reportage : les trois étapes restent dans l'ordre, en pleine largeur, pour
     laisser un véritable espace de travail à la transcription et à l'article. */
  #reportageWorkspace .editorial-flow-card--source{
    display:grid;
    grid-template-columns:minmax(190px,auto) minmax(0,1fr) auto;
    gap:16px;
    align-items:center;
    padding:14px 18px;
  }
  #reportageWorkspace .editorial-flow-card--source>h2{margin:0}
  #reportageWorkspace .editorial-flow-card--source .audio-upload{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    gap:3px 12px;
    align-items:center;
    min-height:0;
    padding:9px 12px;
    border:1px dashed #cfc2d2;
    border-radius:10px;
    background:var(--editorial-v7-canvas);
  }
  #reportageWorkspace .audio-upload-icon{
    grid-row:1/3;
    align-self:center;
  }
  #reportageWorkspace .audio-upload-content{
    min-width:0;
    display:flex;
    gap:4px 10px;
    align-items:baseline;
    flex-wrap:wrap;
  }
  #reportageWorkspace .audio-upload-content span{
    color:var(--editorial-v7-muted);
    font-size:13px;
  }
  #reportageWorkspace .audio-file-name{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--editorial-v7-muted);
    font-size:12px;
  }
  #reportageWorkspace .audio-upload-button{
    grid-column:3;
    grid-row:1/3;
    margin:0;
    white-space:nowrap;
  }
  #reportageWorkspace #transcribeBtn{
    width:auto;
    min-width:168px;
    margin:0;
    white-space:nowrap;
  }
  #reportageWorkspace .editorial-flow-card--verification #transcription{min-height:500px}
  #reportageWorkspace .editorial-flow-card--result #article{min-height:500px}
  #reportageWorkspace .editorial-flow-card--result #chapo{min-height:135px}

  /* Brève : la source reste confortable, mais l'article final domine nettement. */
  #briefWorkspace .editorial-flow-card--source #brief{min-height:330px}
  #briefWorkspace .editorial-flow-card--result #briefArticle{min-height:500px}
  #briefWorkspace .editorial-flow-card--result #briefChapo{min-height:135px}
  #radioBriefWorkspace #radioBriefResult{min-height:420px}

  .editorial-flow-grid--radio:has(>#radioBriefResultCard[style*="display: none"])>.editorial-flow-card--source{
    width:100%;
  }

  #agendaWorkspace .reminders-v7-grid{
    grid-template-columns:minmax(315px,.48fr) minmax(0,1.72fr);
  }
  #agendaWorkspace .reminders-v7-list{min-width:0}
  #agendaWorkspace .reminder-card{
    grid-template-columns:minmax(0,1fr);
  }
  #agendaWorkspace .reminder-card>div:first-child{min-width:0}
  #agendaWorkspace .reminder-card p{
    max-width:none;
    line-height:1.55;
    overflow-wrap:anywhere;
  }
  #agendaWorkspace .reminder-source{
    max-width:none;
    margin-top:9px;
    white-space:pre-wrap;
    line-height:1.55;
    overflow-wrap:anywhere;
  }
}

@media(min-width:901px) and (max-width:1120px){
  .editorial-flow-grid--reportage{grid-template-columns:minmax(0,1fr)}
  #reportageWorkspace .editorial-flow-card--source{
    grid-template-columns:minmax(170px,auto) minmax(0,1fr);
  }
  #reportageWorkspace .editorial-flow-card--source .audio-upload{grid-column:2}
  #reportageWorkspace #transcribeBtn{
    grid-column:2;
    justify-self:end;
  }
  .editorial-flow-grid--brief{
    grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr);
  }
  .editorial-flow-grid--radio{grid-template-columns:minmax(0,900px)}
}
