/* RISC-GTI — Charte professionnelle issue de la maquette validée.
   Habillage uniquement : aucune structure métier/API n'est modifiée. */
:root{
  --risc-pro-bg:#f5f1e8;
  --risc-pro-panel:rgba(255,255,255,.82);
  --risc-pro-panel-strong:rgba(255,255,255,.92);
  --risc-pro-line:rgba(191,165,106,.24);
  --risc-pro-text:#5c503b;
  --risc-pro-muted:#8c7d65;
  --risc-pro-gold:#bfa56a;
  --risc-pro-gold-dark:#a88e54;
  --risc-pro-gold-soft:#f4edde;
  --risc-pro-success:#4e8962;
  --risc-pro-success-bg:#edf8f0;
  --risc-pro-danger:#b35b57;
  --risc-pro-danger-bg:#fff0ef;
  --risc-pro-shadow:0 20px 50px rgba(77,60,29,.16);
  --risc-pro-radius:22px;
  --risc-pro-radius-sm:16px;
}
html{background:var(--risc-pro-bg)}
body{
  color:var(--risc-pro-text)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.78)),
    url("../images/professional-bg-desktop.jpg") center/cover no-repeat fixed!important;
}
body,button,input,select,textarea{font-family:Inter,Arial,Helvetica,sans-serif}
h1,h2,h3,h4,h5,h6{color:#584b37}
p,.subtitle,.helper,.muted,small{color:var(--risc-pro-muted)}

/* Surfaces principales existantes : mêmes volumes, nouvel habillage. */
:is(
  .desktop-topbar,.topbar,.users-header,.users-band,
  .gti-body-block,.gti-card,.card,.panel,.workspace,
  .desktop-card,.app-shell>section,.users-list,.users-detail,
  .conversation-list,.conversation,.email-mode-panel,.week-panel,
  .kpis article,.toolbar,.filters,.modal-card,.dialog,.drawer-panel
){
  border-color:var(--risc-pro-line)!important;
}
:is(
  .desktop-topbar,.topbar,.users-header,
  .gti-body-block,.gti-card,.card,.panel,.desktop-card,
  .users-band,.users-list,.users-detail,
  .email-mode-panel,.week-panel,.kpis article
){
  background:var(--risc-pro-panel)!important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:var(--risc-pro-shadow);
}
:is(.desktop-topbar,.users-header,.gti-body-block,.gti-card,.card,.panel,.desktop-card,.users-band,.users-list,.users-detail){
  border-radius:var(--risc-pro-radius)!important;
}

/* Champs */
:is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  border:1px solid #e6ddcf!important;
  border-radius:15px!important;
  background:#fff!important;
  color:var(--risc-pro-text)!important;
}
:is(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus{
  border-color:rgba(191,165,106,.65)!important;
  box-shadow:0 0 0 4px rgba(191,165,106,.14)!important;
  outline:none!important;
}

/* Boutons : conserve les dimensions/classes métier, harmonise la matière. */
:is(button,.btn,.gti-btn,.users-btn,.primary-btn,.secondary-btn,.ghost-btn,.square-btn){
  border-radius:15px;
}
:is(
  .btn-primary,.btn--primary,.primary-btn,
  button.primary,.gti-btn-primary,.users-btn:not(.secondary)
){
  color:#fff!important;
  border-color:transparent!important;
  background:linear-gradient(180deg,var(--risc-pro-gold),var(--risc-pro-gold-dark))!important;
  box-shadow:0 14px 28px rgba(168,142,84,.28)!important;
}
:is(
  .btn-secondary,.secondary-btn,.ghost-btn,
  .users-btn.secondary,.square-btn
){
  background:#fff!important;
  color:var(--risc-pro-text)!important;
  border-color:#e8decd!important;
}
:is(.btn-danger,.danger,.is-danger,[data-action*="delete"],[data-action*="suppr"]){
  color:var(--risc-pro-danger);
  border-color:#efd5d4;
}

/* Badges / états */
:is(.badge,.chip,.desktop-chip,.counter,.status-pill,.filter,.users-tab){
  border-color:#eadfcd!important;
}
:is(.badge,.chip,.desktop-chip,.counter){
  background:var(--risc-pro-gold-soft)!important;
  color:#7a6948!important;
}
:is(.status-ok,.is-success,.success){
  background:var(--risc-pro-success-bg)!important;
  color:var(--risc-pro-success)!important;
}
:is(.status-critical,.status-error,.is-error,.error){
  background:var(--risc-pro-danger-bg)!important;
  color:var(--risc-pro-danger)!important;
}

/* Tableaux */
table{background:rgba(255,255,255,.38)}
th{
  color:#6e614b!important;
  border-color:#eee4d2!important;
}
td{border-color:#eee4d2!important}

/* Hamburger commun : icône RISC-GTI, pas de caractère typographique. */
.risc-common-menu-toggle{
  font-size:0!important;
  border-color:#eadfcd!important;
  background:#fff url("../icons/navigation/menu.png") center/26px 26px no-repeat!important;
  box-shadow:0 8px 20px rgba(77,60,29,.12)!important;
}
.risc-common-menu{
  border-color:var(--risc-pro-line)!important;
  border-radius:18px!important;
  box-shadow:var(--risc-pro-shadow)!important;
}
.risc-common-menu a:hover{background:var(--risc-pro-gold-soft)!important}

/* Scrollbars discrètes. */
*{scrollbar-color:#cdb98b rgba(255,255,255,.45);scrollbar-width:thin}

@media(max-width:640px){
  body{
    background:
      linear-gradient(180deg,rgba(255,255,255,.56),rgba(255,255,255,.76)),
      url("../images/professional-bg-mobile.jpg") center/cover no-repeat fixed!important;
  }
}


/* Correctif positionnement hamburger/menu.
   Le menu est ancré au bouton dans la topbar et doit survoler le contenu,
   sans créer ni hériter d'une surface de type carte. */
.risc-common-topbar-left{
  position:relative!important;
  z-index:10020!important;
  align-self:center!important;
}
.risc-common-menu-wrap{
  position:relative!important;
  z-index:10021!important;
}
.risc-common-menu{
  position:absolute!important;
  top:calc(100% + 10px)!important;
  left:0!important;
  right:auto!important;
  margin:0!important;
  width:min(300px,calc(100vw - 32px))!important;
  z-index:10022!important;
  background:var(--risc-pro-panel-strong)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  border:1px solid var(--risc-pro-line)!important;
  border-radius:18px!important;
  box-shadow:var(--risc-pro-shadow)!important;
  transform:none!important;
}
.risc-common-menu-section{
  position:static!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:6px!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.risc-common-menu-section + .risc-common-menu-section{
  margin-top:6px!important;
  padding-top:12px!important;
  border-top:1px solid var(--risc-pro-line)!important;
}
.risc-common-menu-title{
  position:static!important;
  margin:0 0 6px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
@media(max-width:700px){
  .risc-common-menu{
    position:fixed!important;
    top:72px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
  }
}
/* =========================================================
   ESPACES DE TRAVAIL PC — PLEINE LARGEUR
   ========================================================= */
@media (min-width: 901px){
  :is(
    .gti-production-page,
    .app,
    .app-shell,
    .users-shell
  ){
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:20px!important;
    padding-right:20px!important;
  }

  :is(
    .gti-production-body,
    .workspace,
    .users-main,
    .week-list
  ){
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  :is(
    .desktop-topbar,
    .topbar,
    .users-header,
    .users-band
  ){
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* =========================================================
   ACCORDÉONS / BLOCS PROGRESSIFS — UN SEUL OUVERT
   ========================================================= */
[data-risc-single-open] details[open]{
  scroll-margin-top:92px;
}

/* Location : identité compacte après sélection. */
.location-client-identity-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  padding:12px 14px;
  margin:0 0 12px;
  border:1px solid var(--risc-pro-line);
  border-radius:16px;
  background:var(--risc-pro-panel-strong);
  box-shadow:0 8px 22px rgba(77,60,29,.08);
}
.location-client-identity-summary[hidden]{display:none!important}
.location-client-identity-summary__main{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.location-client-identity-summary__name{
  font-weight:800;
  color:#584b37;
}
.location-client-identity-summary__meta{
  color:var(--risc-pro-muted);
  font-size:13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.location-client-identity-summary__action{
  flex:0 0 auto;
  border:1px solid #e8decd;
  background:#fff;
  color:var(--risc-pro-text);
  border-radius:13px;
  padding:8px 12px;
  cursor:pointer;
  font-weight:700;
}
/* =========================================================
   RÈGLE UX CANONIQUE — PROCESSUS À ÉTAPES MULTIPLES
   Étape active = écran de traitement.
   Étape quittée = résumé compact modifiable.
   ========================================================= */
.risc-step-resume{
  width:100%;
  min-height:58px;
  margin:0 0 12px;
  padding:10px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border:1px solid var(--risc-pro-line);
  border-radius:16px;
  background:var(--risc-pro-panel-strong);
  color:var(--risc-pro-text);
  box-shadow:0 8px 22px rgba(77,60,29,.08);
  text-align:left;
  cursor:pointer;
}
.risc-step-resume[hidden]{display:none!important}
.risc-step-resume__content{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.risc-step-resume__title{
  color:#584b37;
  font-size:14px;
  font-weight:800;
}
.risc-step-resume__values{
  color:var(--risc-pro-muted);
  font-size:13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.risc-step-resume__edit{
  flex:0 0 auto;
  padding:7px 10px;
  border:1px solid #e8decd;
  border-radius:12px;
  background:#fff;
  color:var(--risc-pro-text);
  font-size:12px;
  font-weight:800;
}
[data-risc-multistep] details[open]{
  scroll-margin-top:92px;
}
/* =========================================================
   LOCATION — WORKFLOW PROGRESSIF CANONIQUE
   L'étape active reste ouverte. Les précédentes sont repliées.
   Le dossier existant sert de résumé compact, sans composant doublon.
   ========================================================= */
body[data-risc-gti-ui="location"].loc-has-contact.loc-has-progressed
.gti-toggle[data-step="selection"][data-risc-workflow-step]:not([open]){
  display:none!important;
}

body[data-risc-gti-ui="location"]
.gti-toggle[data-risc-workflow-step][open]{
  display:block!important;
}

body[data-risc-gti-ui="location"]
.gti-toggle[data-risc-workflow-step]:not([open]){
  margin-bottom:0!important;
}

/* Le résumé client du dossier reste cliquable pour rouvrir l'étape client. */
body[data-risc-gti-ui="location"] .loc-status[data-open-step="client"],
body[data-risc-gti-ui="location"] [data-location-correction="contact-edit"]{
  cursor:pointer;
}
/* Location — progression d'étape explicite */
.loc-next{
  align-items:center;
  gap:14px;
}
.loc-next>div{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.loc-next-error{
  color:var(--risc-pro-danger);
  font-size:13px;
  font-weight:700;
}
.loc-next-error[hidden]{display:none!important}
.location-step-continue{
  margin-top:18px!important;
  padding-top:14px!important;
  border-top:1px solid var(--risc-pro-line);
}
.location-step-continue .gti-note{
  color:var(--risc-pro-danger);
}
/* Location — résumés complets de workflow */
.loc-status-grid--workflow{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
.loc-status-grid--workflow .loc-status{
  min-width:0;
}
.loc-status-grid--workflow .loc-status span{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body[data-risc-gti-ui="location"] #locationContactSearchBlock.is-closed{
  display:none!important;
}
@media(max-width:1200px){
  .loc-status-grid--workflow{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:700px){
  .loc-status-grid--workflow{
    grid-template-columns:1fr!important;
  }
}


/* Aide caméra — tous boutons/actions photo */
.camera-help{
  margin:6px 0 0;
  max-width:38rem;
  font-size:12px;
  line-height:1.35;
  color:inherit;
  opacity:.78;
}
.camera-help summary{
  cursor:pointer;
  font-weight:600;
}
.camera-help p{
  margin:5px 0 0;
}


/* Aide caméra — centrage */
.camera-help{
  margin:6px auto 0;
  text-align:center;
}
.camera-help summary{
  text-align:center;
  list-style-position:inside;
}
.camera-help p{
  text-align:center;
}
