/* =========================================================
   UNIPAY PHASE 9 — FINALISATION DROITS DE PUBLICATION
   Couche non destructive. Elle n'agit que sur les écrans Phase 9.
========================================================= */
:root{
  --phase9-cyan:#00f6ff;
  --phase9-blue:#45a3ff;
  --phase9-green:#22ff9c;
  --phase9-red:#ff4d7d;
  --phase9-amber:#ffcc66;
  --phase9-bg:rgba(3,10,22,.92);
  --phase9-card:rgba(5,18,38,.84);
  --phase9-line:rgba(0,246,255,.28);
  --phase9-muted:#9fb2cd;
  --phase9-text:#f4fbff;
}
.phase9-final-shell,
.phase9-final-shell *{box-sizing:border-box;}
.phase9-final-shell{color:var(--phase9-text);font-family:Rajdhani,Orbitron,system-ui,sans-serif;display:grid;gap:14px;}
.phase9-final-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;border-bottom:1px solid rgba(0,246,255,.22);padding-bottom:10px;}
.phase9-final-title h3,.phase9-final-title h2{margin:0;color:var(--phase9-cyan);letter-spacing:.12em;text-transform:uppercase;font-family:Orbitron,system-ui,sans-serif;font-size:clamp(1rem,2.2vw,1.35rem);}
.phase9-final-title p{margin:4px 0 0;color:var(--phase9-muted);line-height:1.35;max-width:760px;}
.phase9-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--phase9-line);border-radius:999px;padding:6px 10px;background:rgba(0,246,255,.08);color:var(--phase9-cyan);font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;}
.phase9-pill.good{border-color:rgba(34,255,156,.45);color:var(--phase9-green);background:rgba(34,255,156,.1)}
.phase9-pill.warn{border-color:rgba(255,204,102,.48);color:var(--phase9-amber);background:rgba(255,204,102,.1)}
.phase9-pill.danger{border-color:rgba(255,77,125,.55);color:var(--phase9-red);background:rgba(255,77,125,.1)}
.phase9-final-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;align-items:stretch;}
.phase9-final-card{position:relative;overflow:hidden;border:1px solid var(--phase9-line);border-radius:16px;background:linear-gradient(135deg,rgba(6,20,42,.9),rgba(2,8,20,.88));box-shadow:0 0 18px rgba(0,246,255,.07) inset,0 0 24px rgba(0,0,0,.22);padding:14px;display:grid;gap:10px;min-width:0;}
.phase9-final-card:before{content:"";position:absolute;inset:-40% auto auto -40%;width:150px;height:150px;background:radial-gradient(circle,rgba(0,246,255,.15),transparent 62%);pointer-events:none;}
.phase9-final-card h4{margin:0;color:var(--phase9-cyan);letter-spacing:.14em;text-transform:uppercase;font-size:.82rem;font-family:Orbitron,system-ui,sans-serif;}
.phase9-final-card p{margin:0;color:var(--phase9-muted);line-height:1.35;}
.phase9-final-card strong{color:#fff;}
.phase9-final-field{display:grid;gap:6px;min-width:0;}
.phase9-final-field label{color:var(--phase9-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;}
.phase9-final-input,.phase9-final-select,.phase9-final-textarea{width:100%;min-height:42px;border:1px solid rgba(0,246,255,.35);border-radius:12px;background:rgba(2,8,18,.82);color:#f5fbff;padding:10px 12px;font:600 .95rem Rajdhani,system-ui,sans-serif;outline:none;box-shadow:0 0 0 rgba(0,0,0,0);}
.phase9-final-input[readonly]{border-style:dashed;color:#bcecff;background:rgba(0,246,255,.055);}
.phase9-final-textarea{min-height:92px;resize:vertical;line-height:1.35;}
.phase9-final-input:focus,.phase9-final-select:focus,.phase9-final-textarea:focus{border-color:var(--phase9-cyan);box-shadow:0 0 0 2px rgba(0,246,255,.12);}
.phase9-final-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.phase9-final-btn{border:1px solid rgba(0,246,255,.5);border-radius:12px;background:linear-gradient(135deg,rgba(0,246,255,.18),rgba(69,163,255,.12));color:#eaffff;padding:10px 14px;font:900 .82rem Orbitron,Rajdhani,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;}
.phase9-final-btn:hover{transform:translateY(-1px);filter:brightness(1.1);box-shadow:0 0 18px rgba(0,246,255,.18);}
.phase9-final-btn.good{border-color:rgba(34,255,156,.6);background:linear-gradient(135deg,rgba(34,255,156,.2),rgba(0,246,255,.08));}
.phase9-final-btn.warn{border-color:rgba(255,204,102,.65);background:linear-gradient(135deg,rgba(255,204,102,.2),rgba(0,246,255,.07));}
.phase9-final-btn.danger{border-color:rgba(255,77,125,.65);background:linear-gradient(135deg,rgba(255,77,125,.2),rgba(0,246,255,.07));}
.phase9-final-btn:disabled{opacity:.48;cursor:not-allowed;transform:none;filter:grayscale(.3);}
.phase9-final-message{border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 12px;background:rgba(255,255,255,.04);color:var(--phase9-muted);line-height:1.35;}
.phase9-final-message.good{border-color:rgba(34,255,156,.38);color:#c9ffe8;background:rgba(34,255,156,.08);}
.phase9-final-message.warn{border-color:rgba(255,204,102,.4);color:#ffe8b0;background:rgba(255,204,102,.08);}
.phase9-final-message.danger{border-color:rgba(255,77,125,.4);color:#ffd4df;background:rgba(255,77,125,.08);}
.phase9-score-bars{display:grid;gap:8px;}
.phase9-score-row{display:grid;grid-template-columns:minmax(96px,1fr) 3fr 48px;gap:8px;align-items:center;font-size:.82rem;color:var(--phase9-muted);}
.phase9-score-track{height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;border:1px solid rgba(255,255,255,.08);}
.phase9-score-fill{height:100%;width:0;background:linear-gradient(90deg,var(--phase9-green),var(--phase9-cyan),var(--phase9-amber));box-shadow:0 0 12px rgba(0,246,255,.35);}
.phase9-doc-list{display:grid;gap:7px;}
.phase9-doc-item{display:flex;gap:8px;align-items:flex-start;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.035);padding:8px;color:#dceaff;font-size:.84rem;line-height:1.25;}
.phase9-doc-item input{margin-top:2px;accent-color:var(--phase9-cyan);}
.phase9-request-list{display:grid;gap:10px;}
.phase9-request-card{border:1px solid rgba(0,246,255,.25);border-radius:14px;padding:12px;background:rgba(3,12,26,.82);display:grid;gap:8px;}
.phase9-request-card header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap;}
.phase9-request-card small{color:var(--phase9-muted);}
.phase9-ledger-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;}
.phase9-ledger-kpi{border:1px solid rgba(0,246,255,.25);border-radius:14px;padding:12px;background:rgba(0,246,255,.055);}
.phase9-ledger-kpi span{display:block;color:var(--phase9-muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;}
.phase9-ledger-kpi strong{display:block;margin-top:4px;color:#fff;font-size:1.25rem;}
.phase9-admin-layout{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(280px,1.1fr) minmax(230px,.8fr);gap:12px;align-items:start;}
.phase9-admin-thread{min-height:220px;max-height:420px;overflow:auto;display:grid;align-content:start;gap:8px;padding-right:4px;}
.phase9-bubble{border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:9px;background:rgba(255,255,255,.045);}
.phase9-bubble.admin{border-color:rgba(0,246,255,.28);background:rgba(0,246,255,.07);}
.phase9-bubble.user{border-color:rgba(34,255,156,.25);background:rgba(34,255,156,.06);}
.phase9-bubble small{display:block;margin-bottom:4px;color:var(--phase9-muted);}
.phase9-hidden{display:none !important;}
.phase9-final-shell.compact .phase9-final-card{padding:11px;border-radius:13px;}
.phase9-final-shell.compact .phase9-final-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;}
.phase9-final-shell.compact .phase9-final-input,.phase9-final-shell.compact .phase9-final-select{min-height:38px;padding:8px 10px;}
#phase9PublicationRightsModal .phase9-final-shell{max-width:min(960px,92vw);max-height:min(86vh,860px);overflow:auto;padding-right:4px;}
#phase9PublicationRightsModal .pro-account-card{max-width:min(980px,94vw);width:min(980px,94vw);}
.phase9-rights-modal .modal-box{max-width:min(1080px,94vw)!important;width:min(1080px,94vw)!important;max-height:min(90vh,920px);overflow:auto;}
@media (max-width:780px){
  .phase9-admin-layout{grid-template-columns:1fr;}
  .phase9-score-row{grid-template-columns:1fr;gap:5px;}
  .phase9-final-actions{gap:8px;}
  .phase9-final-btn{padding:9px 11px;font-size:.72rem;}
  .phase9-rights-modal .modal-box{width:94vw!important;}
}

/* =========================================================
   PHASE 9 — Chat modal enrichie: dossier complet certification
   Ajout non destructif ciblé sur #phase9PublicationRightsModal.
========================================================= */
#phase9PublicationRightsModal .phase9-chat-card{
  max-width:min(1220px,96vw);
  width:min(1220px,96vw);
  max-height:min(92vh,980px);
  overflow:hidden;
  background:linear-gradient(145deg,rgba(3,10,25,.96),rgba(2,6,14,.98));
  border:1px solid rgba(0,246,255,.32);
  box-shadow:0 0 38px rgba(0,246,255,.13), inset 0 0 32px rgba(0,246,255,.045);
}
#phase9PublicationRightsModal .phase9-chat-rich{
  max-width:100%;
  max-height:calc(min(92vh,980px) - 34px);
  overflow:auto;
  padding:4px 8px 10px 0;
  scroll-behavior:smooth;
}
.phase9-chat-rich .phase9-chat-kpis{
  grid-template-columns:repeat(auto-fit,minmax(132px,1fr));
}
.phase9-chat-rich .phase9-chat-grid-wide{
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
}
.phase9-form-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:8px;
}
.phase9-form-grid.two{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
}
.phase9-form-grid label,
.phase9-upload-label{
  display:grid;
  gap:6px;
  color:var(--phase9-muted);
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
}
.phase9-money-chain{
  border-color:rgba(34,255,156,.32);
}
.phase9-flow-line{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  padding:10px;
  border:1px dashed rgba(34,255,156,.34);
  border-radius:14px;
  background:rgba(34,255,156,.055);
}
.phase9-flow-line span{
  color:#dffff1;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.035);
  border-radius:999px;
  padding:6px 9px;
  font-weight:800;
  font-size:.78rem;
}
.phase9-flow-line b{color:var(--phase9-green);}
.phase9-category-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:8px;
}
.phase9-mini-category{
  display:grid;
  gap:4px;
  min-height:86px;
  border:1px solid rgba(0,246,255,.22);
  border-radius:12px;
  padding:10px;
  background:linear-gradient(135deg,rgba(0,246,255,.075),rgba(255,255,255,.025));
}
.phase9-mini-category strong{
  color:#fff;
  font-size:.82rem;
  line-height:1.15;
}
.phase9-mini-category span{
  color:var(--phase9-cyan);
  font-weight:900;
}
.phase9-mini-category small{
  color:var(--phase9-muted);
  line-height:1.2;
}
.phase9-mini-category.danger{
  border-color:rgba(255,77,125,.38);
  background:linear-gradient(135deg,rgba(255,77,125,.105),rgba(255,255,255,.025));
}
.phase9-mini-category.danger span{color:var(--phase9-red);}
.phase9-step-grid{
  counter-reset:phase9step;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:7px;
  margin:0;
  padding:0;
  list-style:none;
}
.phase9-step-grid li{
  border:1px solid rgba(0,246,255,.18);
  background:rgba(0,246,255,.045);
  border-radius:10px;
  padding:8px;
  color:#d8f7ff;
  line-height:1.2;
  font-size:.78rem;
}
.phase9-doc-columns{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:8px;
}
.phase9-doc-columns h5{
  margin:0 0 6px;
  color:var(--phase9-cyan);
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.phase9-doc-item.small{
  display:block;
  margin-bottom:6px;
  font-size:.78rem;
}
.phase9-commitment{
  display:flex;
  align-items:flex-start;
  gap:8px;
  color:#dff8ff;
  font-size:.86rem;
  text-transform:none;
  letter-spacing:0;
}
.phase9-commitment input{margin-top:3px;accent-color:var(--phase9-cyan);}
#phase9PublicationRightsModal .phase9-final-textarea{
  min-height:118px;
}
#phase9PublicationRightsModal .phase9-final-actions{
  position:sticky;
  bottom:0;
  z-index:4;
  padding:10px 0 2px;
  background:linear-gradient(180deg,rgba(3,10,25,0),rgba(3,10,25,.96) 28%,rgba(3,10,25,.98));
}
@media (max-width:780px){
  #phase9PublicationRightsModal .phase9-chat-card{
    width:96vw;
    max-width:96vw;
    max-height:90vh;
  }
  #phase9PublicationRightsModal .phase9-chat-rich{
    max-height:calc(90vh - 28px);
    padding-right:3px;
  }
  .phase9-chat-rich .phase9-chat-grid-wide,
  .phase9-form-grid.two{
    grid-template-columns:1fr;
  }
  .phase9-flow-line span{font-size:.7rem;padding:5px 7px;}
  .phase9-step-grid{grid-template-columns:1fr;}
}

/* =========================================================
   PHASE 9 — Vérification classes modale chat
   Correction ciblée: classes utilisées par #phase9PublicationRightsModal
   qui n'avaient pas encore de règle dédiée dans le fichier Phase 9.
========================================================= */
#phase9PublicationRightsModal.pro-account-modal{
  position:fixed;
  inset:0;
  z-index:2147483500;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(10px,2.5vw,24px);
  background:radial-gradient(circle at 18% 12%,rgba(0,246,255,.16),transparent 32%),rgba(0,0,0,.68);
  /* Le contenu de Chat reste net derrière l'overlay. */
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
#phase9PublicationRightsModal.pro-account-modal.hidden,
#phase9PublicationRightsModal.hidden{
  display:none !important;
}
#phase9PublicationRightsModal .pro-close{
  position:fixed;
  top:calc(8px + env(safe-area-inset-top, 0px));
  right:calc(10px + env(safe-area-inset-right, 0px));
  z-index:2147483647;
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid rgba(0,246,255,.42);
  background:rgba(3,10,22,.88);
  color:#eaffff;
  font-size:26px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 0 18px rgba(0,246,255,.14), inset 0 0 12px rgba(0,246,255,.08);
}
#phase9PublicationRightsModal .pro-close:hover{
  filter:brightness(1.18);
  transform:translateY(-1px);
}
#phase9PublicationRightsModal .phase9-right-price{
  border:1px solid rgba(0,246,255,.32);
  background:linear-gradient(135deg,rgba(0,246,255,.12),rgba(34,255,156,.055));
  color:#bfffff;
  border-radius:12px;
  padding:10px 12px;
  font-weight:900;
  letter-spacing:.04em;
  box-shadow:inset 0 0 16px rgba(0,246,255,.06);
}
#phase9PublicationRightsModal .phase9-right-price small{
  display:block;
  margin-top:4px;
  color:var(--phase9-muted);
  font-weight:700;
  letter-spacing:0;
}
#phase9PublicationRightsModal .good{--phase9-state-color:var(--phase9-green);}
#phase9PublicationRightsModal .warn{--phase9-state-color:var(--phase9-amber);}
#phase9PublicationRightsModal .danger{--phase9-state-color:var(--phase9-red);}
#phase9PublicationRightsModal .compact{--phase9-density:.88;}
#phase9PublicationRightsModal .two{--phase9-columns:2;}
@media (max-width:780px){
  #phase9PublicationRightsModal.pro-account-modal{
    align-items:flex-start;
    padding:10px 6px max(10px,env(safe-area-inset-bottom));
  }
  #phase9PublicationRightsModal .pro-close{
    width:34px;
    height:34px;
    font-size:22px;
  }
  #phase9PublicationRightsModal .phase9-chat-card{
    width:100%;
    max-width:100%;
    max-height:calc(100dvh - 20px);
    margin-top:42px;
  }
  #phase9PublicationRightsModal .phase9-chat-rich{
    max-height:calc(100dvh - 72px);
  }
}

/* Une modale ouverte possède le focus visuel et bloque seulement les shells
   de navigation. Aucun flou global n'est appliqué à la page. */
body.unipay-modal-open{overflow:hidden !important;}
html body.unipay-modal-open > .page-scope > header,
html body.unipay-modal-open #unipay-shell-brand,
html body.unipay-modal-open #unipay-menu-up,
html body.unipay-modal-open #unipayImmersiveToggle.unipay-immersive-toggle,
html body.unipay-modal-open #unipayClientSettingsTrigger,
html body.unipay-modal-open #fut-bottombar,
html body.unipay-modal-open .fut-bottombar{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* === PHASE 9 — PONT MESSAGERIE NORMALE ADMIN/DEV ↔ UTILISATEUR === */
.phase9-conversation-panel{border-color:rgba(0,246,255,.38);box-shadow:0 0 22px rgba(0,246,255,.09) inset;}
.phase9-final-message.compact{padding:7px 9px;font-size:.82rem;margin-top:6px;}
.phase9-bubble.developer{border-color:rgba(180,112,255,.34);background:rgba(180,112,255,.08);}
.phase9-bubble.admin small,.phase9-bubble.developer small{color:#d9fbff;font-weight:800;letter-spacing:.04em;}
.phase9-bubble.user{margin-left:22px;}
.phase9-bubble.admin,.phase9-bubble.developer{margin-right:22px;}
.phase9-admin-thread .phase9-final-message{align-self:start;}
#phase9chat-thread-detail{display:grid;gap:12px;margin-top:12px;}
#phase9adminmsg-thread{scrollbar-width:thin;}
