/* ORBIT - écran de paramétrage des accès (/parametres).
 * Réutilise le shell (topbar2/sidebar/content de home.css) ; styles propres
 * à la gestion des accès ci-dessous. */

.prm { padding: 8px 4px 40px; }
.prm-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.prm-title { font-size: 1.6rem; font-weight: 700; margin: 0 0 4px; color: #0f172a; }
.prm-lead { margin: 0; color: #64748b; font-size: .95rem; }

.prm-hint { margin: 0 0 14px; padding: 10px 14px; border-radius: 10px; background: #eef2ff; color: #3730a3; font-size: .9rem; }
.prm-hint.is-error { background: #fef2f2; color: #991b1b; }
.prm-hint.is-ok { background: #ecfdf5; color: #065f46; }

.prm-layout { display: grid; grid-template-columns: 1fr; gap: 18px; }
@media (min-width: 1080px) { .prm-layout.has-panel { grid-template-columns: 1fr 380px; } }

.prm-tablewrap { background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; overflow: hidden; }
.prm-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.prm-table th { text-align: left; padding: 12px 16px; background: #f8fafc; color: #64748b; font-weight: 600; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; }
.prm-table td { padding: 12px 16px; border-top: 1px solid #eef2f6; vertical-align: middle; }
.prm-row { cursor: pointer; }
.prm-row:hover { background: #f8fafc; }
.prm-row.is-selected { background: #eef2ff; }
.prm-empty { text-align: center; color: #94a3b8; padding: 28px 0; }

.prm-user-id { display: flex; flex-direction: column; }
.prm-user-name { font-weight: 600; color: #0f172a; }
.prm-user-email { color: #94a3b8; font-size: .82rem; }

.prm-badge { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: .76rem; font-weight: 600; }
.prm-badge-admin { background: #fef3c7; color: #92400e; }
.prm-badge-user { background: #e0e7ff; color: #3730a3; }
.prm-badge-active { background: #dcfce7; color: #166534; }
.prm-badge-disabled { background: #f1f5f9; color: #64748b; }

.prm-apps { display: flex; flex-wrap: wrap; gap: 5px; }
.prm-chip { font-size: .74rem; padding: 2px 8px; border-radius: 6px; background: #f1f5f9; color: #475569; }
.prm-chip.n-shield { background: #fdf3d7; color: #9a7b1a; }
.prm-chip.n-pulse { background: #dcfce7; color: #166534; }
.prm-chip.n-pilot { background: #fee2e2; color: #991b1b; }
.prm-chip.n-alive { background: #dbeafe; color: #1e40af; }
.prm-chip-none { color: #cbd5e1; }

/* Barre d'outils (filtre organisation + recherche + compteur) */
.prm-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.prm-toolbar-left { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; }
.prm-filter { flex: none; min-width: 200px; max-width: 240px; }
.prm-search { position: relative; flex: 1; max-width: 380px; }

/* Menu déroulant custom (liste arrondie + ombre, cohérent SHIELD/PULSE/PILOT ;
   un <select> natif ne permet pas de styler la liste d'options). */
.prm-dropdown { position: relative; }
.prm-dropdown-trigger { display: flex; align-items: center; gap: 8px; width: 100%; position: relative;
  padding: 9px 32px 9px 11px; border: 1px solid #cbd5e1; border-radius: 9px; background: #fff;
  font: inherit; font-size: .9rem; color: #0f172a; cursor: pointer; text-align: left; transition: border-color .12s; }
.prm-dropdown-trigger:hover { border-color: #94a3b8; }
.prm-dropdown.is-open .prm-dropdown-trigger { outline: 2px solid #c7d2fe; border-color: #6366f1; }
.prm-dropdown-val { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.prm-dropdown-chev { position: absolute; right: 11px; top: 50%; transform: translateY(-50%); width: 14px; height: 14px;
  fill: none; stroke: #94a3b8; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; transition: transform .15s; }
.prm-dropdown.is-open .prm-dropdown-chev { transform: translateY(-50%) rotate(180deg); }
.prm-dropdown-menu { position: absolute; top: calc(100% + 6px); left: 0; z-index: 30; min-width: 100%;
  list-style: none; margin: 0; padding: 6px; background: #fff; border: 1px solid #e2e8f0; border-radius: 12px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .12), 0 2px 6px rgba(15, 23, 42, .05);
  display: flex; flex-direction: column; gap: 1px; max-height: 320px; overflow-y: auto; }
.prm-dropdown-menu[hidden] { display: none; }
.prm-dropdown-opt { padding: 8px 10px; border-radius: 8px; font-size: .88rem; color: #334155; cursor: pointer; white-space: nowrap; }
.prm-dropdown-opt:hover { background: #f1f5f9; }
.prm-dropdown-opt.is-sel { background: #eef2ff; color: #4338ca; font-weight: 600; }
.prm-dropdown.is-disabled { opacity: .5; }
.prm-dropdown.is-disabled .prm-dropdown-trigger { cursor: not-allowed; background: #f8fafc; }
.prm-search-ic { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; fill: none; stroke: #94a3b8; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.prm-search-input { width: 100%; padding: 8px 12px 8px 34px; border: 1px solid #cbd5e1; border-radius: 9px; font: inherit; font-size: .9rem; background: #fff; color: #0f172a; }
.prm-search-input:focus { outline: 2px solid #c7d2fe; border-color: #6366f1; }
.prm-count { margin: 0; color: #94a3b8; font-size: .8rem; font-weight: 600; white-space: nowrap; }

/* Avatar (cellule de table + tête de panneau) */
.prm-avatar { width: 38px; height: 38px; border-radius: 50%; background: #1e293b; color: #fff; font-size: .8rem; font-weight: 700; display: inline-grid; place-items: center; flex: none; letter-spacing: .02em; }
.prm-avatar-sm { width: 30px; height: 30px; font-size: .72rem; }
.prm-user-cell { display: flex; align-items: center; gap: 10px; }

/* Panneau latéral */
.prm-panel { background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; padding: 18px; align-self: start; position: sticky; top: 14px; }
.prm-panel-head { display: flex; align-items: center; gap: 11px; margin-bottom: 16px; }
.prm-panel-id { min-width: 0; flex: 1; }
.prm-panel-name { font-weight: 700; color: #0f172a; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.prm-panel-email { color: #94a3b8; font-size: .84rem; margin: 2px 0 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.prm-x { border: none; background: none; font-size: 1.4rem; line-height: 1; color: #94a3b8; cursor: pointer; margin-left: auto; flex: none; }
.prm-x:hover { color: #475569; }

/* Bloc clé-valeur (info compte, lecture seule) */
.prm-kv { margin: 0 0 4px; padding: 0; }
.prm-kv-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 7px 0; border-bottom: 1px solid #f1f5f9; font-size: .85rem; }
.prm-kv-row:last-child { border-bottom: none; }
.prm-kv-row dt { color: #64748b; margin: 0; }
.prm-kv-row dd { margin: 0; color: #0f172a; font-weight: 600; text-align: right; }

.prm-field { margin-bottom: 14px; display: flex; flex-direction: column; gap: 5px; }
.prm-field label { font-size: .82rem; font-weight: 600; color: #475569; }
.prm-input, .prm-select { padding: 9px 11px; border: 1px solid #cbd5e1; border-radius: 9px; font-size: .9rem; background: #fff; color: #0f172a; }
.prm-input:focus, .prm-select:focus { outline: 2px solid #c7d2fe; border-color: #6366f1; }
/* Chevron SVG uniforme sur les menus déroulants (cohérent SHIELD/PULSE/PILOT,
   plutôt que le chevron natif du navigateur). */
.prm-select { appearance: none; -webkit-appearance: none; padding-right: 32px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 11px center; }

.prm-sub { font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: #94a3b8; font-weight: 600; margin: 18px 0 8px; }

.prm-matrix { display: flex; flex-direction: column; gap: 8px; }
.prm-matrix-row { display: grid; grid-template-columns: 22px 1fr 130px; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid #eef2f6; border-radius: 10px; }
.prm-matrix-row.is-on { border-color: #c7d2fe; background: #f5f7ff; }
.prm-matrix-app { font-weight: 600; color: #334155; text-transform: capitalize; }
.prm-matrix-row select:disabled { opacity: .4; }
.prm-sku { padding: 7px 9px; font-size: .82rem; }
.prm-sku:disabled { opacity: .4; }

/* Ligne d'outil enrichie : case + logo + nom + menu (accès aux outils / licences). */
.prm-toolrow { grid-template-columns: 22px 32px 1fr 132px; }
.prm-tool-logo { width: 32px; height: 32px; border-radius: 8px; object-fit: contain; background: #f8fafc; padding: 3px; }

.prm-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.prm-btn { display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; border-radius: 9px; border: 1px solid #cbd5e1; background: #fff; color: #334155; font-weight: 600; font-size: .88rem; cursor: pointer; }
.prm-btn:hover { background: #f8fafc; }
.prm-btn-primary { background: #4f46e5; border-color: #4f46e5; color: #fff; }
.prm-btn-primary:hover { background: #4338ca; }
.prm-btn-danger { border-color: #fecaca; color: #b91c1c; }
.prm-btn-danger:hover { background: #fef2f2; }
.prm-btn-sm { padding: 5px 10px; font-size: .8rem; }
.prm-btn .ic { width: 16px; height: 16px; }

.prm-creds { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.prm-cred { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 11px; border: 1px solid #eef2f6; border-radius: 9px; font-size: .82rem; color: #475569; }
.prm-cred code { font-size: .78rem; color: #94a3b8; }
.prm-cred-none { color: #cbd5e1; font-size: .85rem; }
.prm-creds-label { margin: 0 0 8px; font-size: .8rem; color: #94a3b8; }

/* Accordéon du panneau utilisateur (sections repliables, une seule ouverte) */
.prm-acc { display: flex; flex-direction: column; gap: 10px; }
/* Pas d'overflow:hidden : les menus déroulants internes doivent pouvoir déborder.
   Les coins sont arrondis via l'en-tête (fermé) et l'en-tête + le corps (ouvert). */
.prm-acc-item { border: 1px solid #e2e8f0; border-radius: 12px; background: #fff; }
.prm-acc-item.is-open { border-color: #c7d2fe; }
.prm-acc-head { display: flex; align-items: center; gap: 11px; width: 100%; padding: 12px 14px; background: #f8fafc; border: none; border-radius: 12px; cursor: pointer; font: inherit; text-align: left; }
.prm-acc-head:hover { background: #f1f5f9; }
.prm-acc-item.is-open .prm-acc-head { background: #fff; border-radius: 12px 12px 0 0; }
.prm-acc-ic { flex: none; width: 30px; height: 30px; border-radius: 8px; background: #eef2ff; color: #4f46e5; display: grid; place-items: center; }
.prm-acc-ic svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.prm-acc-title { flex: 1; min-width: 0; font-size: .9rem; font-weight: 600; color: #0f172a; }
.prm-acc-badge { flex: none; background: #e0e7ff; color: #4338ca; border-radius: 999px; padding: 1px 9px; font-size: .74rem; font-weight: 700; }
.prm-acc-chevron { flex: none; width: 16px; height: 16px; fill: none; stroke: #94a3b8; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s; }
.prm-acc-item.is-open .prm-acc-chevron { transform: rotate(180deg); }
.prm-acc-body { display: none; padding: 6px 14px 16px; }
.prm-acc-item.is-open .prm-acc-body { display: block; border-radius: 0 0 12px 12px; }
.prm-acc-body .prm-field:last-child { margin-bottom: 0; }
/* Section statique (Informations générales) : toujours ouverte, en-tête non cliquable. */
.prm-acc-standalone { margin-bottom: 10px; }
.prm-acc-head-static { cursor: default; }
.prm-req { color: #e5484d; font-weight: 600; }
/* Quand l'identité éditable précède les métadonnées, on aère un peu. */
.prm-acc-body .prm-kv { margin-top: 6px; }

/* Pied du panneau : actions du compte (hors accordéon) */
.prm-panel-foot { margin-top: 18px; padding-top: 16px; border-top: 1px solid #eef2f6; display: flex; flex-direction: column; gap: 10px; }
.prm-btn-block { width: 100%; justify-content: center; padding: 11px 14px; }
.prm-foot-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.prm-foot-row .prm-btn { justify-content: center; }
.prm-panel-foot .prm-btn-danger { margin-top: 2px; }

/* Onglets horizontaux (patron SHIELD : soulignement de l'onglet actif) */
.settings-tabs { display: flex; gap: 0; border-bottom: 1px solid #e2e8f0; margin: 0 0 24px; }
.settings-tab { padding: 10px 20px; background: none; border: none; border-bottom: 3px solid transparent; margin-bottom: -1px; cursor: pointer; font: inherit; font-size: .9rem; font-weight: 500; color: #64748b; white-space: nowrap; transition: color .12s, border-color .12s; }
.settings-tab:hover { color: #0f172a; }
.settings-tab.active { color: #0f172a; border-bottom-color: #4f46e5; font-weight: 600; }

/* Formulaire inline (remplace les anciennes modales Inviter / Nouvelle organisation) */
.prm-inline { background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; padding: 18px; margin-bottom: 18px; max-width: 640px; }
.prm-inline-title { font-size: 1rem; font-weight: 700; color: #0f172a; margin: 0 0 14px; }
.prm-inline-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 640px) { .prm-inline-row { grid-template-columns: 1fr; } }
.prm-invite-result { background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 10px; padding: 12px; font-size: .85rem; color: #475569; margin: 14px 0 0; }
.prm-invite-result code { display: block; margin: 8px 0; word-break: break-all; color: #4338ca; font-size: .82rem; }

/* Modale « Nouvelle organisation » (création tenant) */
.prm-modal { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; padding: 24px; }
.prm-modal[hidden] { display: none; }
.prm-modal-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .45); }
.prm-modal-card { position: relative; width: 100%; max-width: 920px; max-height: calc(100vh - 48px); overflow-y: auto; background: #fff; border-radius: 16px; box-shadow: 0 24px 60px rgba(15, 23, 42, .28); }
.prm-modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 22px 28px 18px; border-bottom: 1px solid #eef2f6; }
.prm-modal-title { font-size: 1.4rem; font-weight: 700; color: #0f172a; margin: 0; }
.prm-modal-sub { margin: 4px 0 0; color: #64748b; font-size: .9rem; }
.prm-modal-head .prm-x { margin-top: -2px; }

.prm-modal-body { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; padding: 24px 28px; }
@media (max-width: 760px) { .prm-modal-body { grid-template-columns: 1fr; gap: 24px; } }
/* Variante 1 colonne (modale de confirmation d'invitation) + carte étroite. */
.prm-modal-body-1col { grid-template-columns: 1fr; }
.prm-modal-card-sm { max-width: 520px; }
.prm-modal-coltitle { font-size: 1.02rem; font-weight: 700; color: #0f172a; margin: 0 0 14px; }
.prm-modal-colsub { font-size: .85rem; color: #64748b; margin: -8px 0 14px; }
.prm-req { color: #e5484d; }

.prm-modal-note { display: flex; gap: 10px; align-items: flex-start; margin-top: 16px; padding: 12px 14px; background: #eef2ff; border-radius: 10px; }
.prm-modal-note p { margin: 0; font-size: .82rem; color: #4338ca; line-height: 1.45; }
.prm-modal-note-ic { flex: none; width: 18px; height: 18px; margin-top: 1px; fill: none; stroke: #6366f1; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* Lignes « Licences par outil » dans la modale */
.prm-lic-grid { display: flex; flex-direction: column; gap: 10px; }
.prm-lic-row { display: grid; grid-template-columns: 22px 38px 1fr 140px; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid #e2e8f0; border-radius: 12px; transition: border-color .12s, background .12s; }
.prm-lic-row.is-on { border-color: #c7d2fe; background: #f5f7ff; }
.prm-lic-cb { width: 17px; height: 17px; accent-color: #4f46e5; cursor: pointer; }
.prm-lic-logo { width: 38px; height: 38px; border-radius: 10px; object-fit: contain; background: #f8fafc; padding: 4px; }
.prm-lic-text { min-width: 0; }
.prm-lic-text-nm { display: block; font-weight: 600; color: #0f172a; font-size: .92rem; }
.prm-lic-text-ds { display: block; font-size: .78rem; color: #64748b; margin-top: 1px; }
/* Le palier (.prm-lic-tier / .prm-app-tier) est un .prm-dropdown : son style (cadre,
   padding, fond) vient du composant ; pas de règle dédiée pour éviter un double cadre. */

.prm-modal-foot { display: flex; justify-content: flex-end; gap: 10px; padding: 16px 28px 22px; border-top: 1px solid #eef2f6; }

/* Application — coque master-détail (patron SHIELD, accent indigo ORBIT) */
.appset { display: grid; grid-template-columns: 240px 1fr; border: 1px solid #e2e8f0; border-radius: 14px; overflow: hidden; background: #fff; min-height: 420px; }
.appset-nav { border-right: 1px solid #e2e8f0; background: #f8fafc; padding: 16px 12px; display: flex; flex-direction: column; gap: 2px; }
.appset-nav-head { display: flex; gap: 10px; align-items: center; padding: 4px 8px 14px; }
.appset-nav-head-ic { flex: none; width: 34px; height: 34px; border-radius: 9px; background: #eef2ff; color: #4f46e5; display: flex; align-items: center; justify-content: center; }
.appset-nav-head strong { display: block; font-size: .9rem; color: #0f172a; }
.appset-nav-head span { font-size: .72rem; color: #94a3b8; }
.appset-nav-list { display: flex; flex-direction: column; gap: 2px; }
.appset-nav-item { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border: none; background: none; border-radius: 8px; font: inherit; font-size: .84rem; color: #64748b; cursor: pointer; text-align: left; width: 100%; transition: background .12s, color .12s; }
.appset-nav-item:hover { background: #eef2ff; color: #0f172a; }
.appset-nav-item.active { background: #eef2ff; color: #4f46e5; font-weight: 600; }
.appset-nav-ic { flex: none; display: inline-flex; }

.appset-main { display: flex; flex-direction: column; min-width: 0; }
.appset-head { display: flex; align-items: center; gap: 14px; padding: 20px 24px; border-bottom: 1px solid #e2e8f0; }
.appset-head-ic { flex: none; width: 42px; height: 42px; border-radius: 12px; background: #eef2ff; color: #4f46e5; display: flex; align-items: center; justify-content: center; }
.appset-head-txt { flex: 1; min-width: 0; }
.appset-head-txt h3 { font-size: 1.15rem; font-weight: 700; margin: 0; color: #0f172a; }
.appset-head-txt p { font-size: .85rem; color: #64748b; margin: 2px 0 0; }
.appset-body { padding: 24px; overflow-y: auto; }
@media (max-width: 900px) { .appset { grid-template-columns: 1fr; } .appset-nav { border-right: none; border-bottom: 1px solid #e2e8f0; } }

/* Tableau Licences */
.prm-app-dot { width: 12px; height: 12px; border-radius: 50%; flex: none; }
.prm-lic-app { display: inline-flex; align-items: center; gap: 9px; }
.prm-lic-name { font-weight: 600; color: #0f172a; letter-spacing: .03em; }
.prm-lic-link { color: #4f46e5; font-weight: 600; text-decoration: none; }
.prm-lic-link:hover { text-decoration: underline; }

/* Codes de récupération */
.prm-section-gap { margin-top: 26px; }
.prm-subtitle { font-size: 1.2rem; }
.prm-codes { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; margin: 12px 0; }
.prm-code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .92rem; letter-spacing: .02em; background: #f1f5f9; border: 1px solid #e2e8f0; border-radius: 8px; padding: 8px 10px; text-align: center; color: #0f172a; }
.prm-codes-warn { color: #92400e; background: #fef3c7; border-radius: 8px; padding: 8px 12px; font-size: .85rem; margin: 4px 0 0; }

/* ───────── Mise en service (#150) : check-list tenant + go-live plateforme ───────── */

/* Barre d'avancement (inline dans la table + en tête du panneau) */
.prm-progress { display: flex; align-items: center; gap: 8px; }
.prm-progress-inline { max-width: 160px; }
.prm-progress-track { flex: 1; height: 6px; background: #e2e8f0; border-radius: 3px; overflow: hidden; min-width: 60px; }
.prm-progress-fill { height: 100%; background: linear-gradient(90deg, #4f46e5, #6366f1); border-radius: 3px; transition: width .3s ease; }
.prm-progress-text { font-size: .72rem; font-weight: 600; color: #64748b; min-width: 28px; text-align: right; white-space: nowrap; }

/* Check-list (étapes auto en lecture seule + étapes manuelles) */
.prm-onboarding { display: flex; flex-direction: column; gap: 12px; margin-top: 4px; }
.prm-checklist { display: flex; flex-direction: column; gap: 8px; }
.prm-checklist-item { display: grid; grid-template-columns: 20px 1fr auto; align-items: start; column-gap: 10px; padding: 9px 11px; border: 1px solid #eef2f6; border-radius: 10px; }
.prm-checklist-item.is-auto { background: #f8fafc; border-color: #e2e8f0; }
.prm-checklist-item.is-manual { background: #f5f7ff; border-color: #c7d2fe; }
.prm-checklist-item input[type="checkbox"] { margin-top: 3px; }
.prm-checklist-item.is-auto input[type="checkbox"] { accent-color: #16a34a; }
.prm-checklist-label { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.prm-checklist-item.is-manual .prm-checklist-label { cursor: pointer; }
.prm-checklist-item.is-auto .prm-checklist-label { cursor: default; }
.prm-checklist-title { font-size: .86rem; font-weight: 600; color: #0f172a; }
.prm-checklist-desc { font-size: .77rem; color: #64748b; line-height: 1.4; }
.prm-checklist-meta { font-size: .72rem; color: #94a3b8; font-style: italic; margin-top: 2px; }
.prm-checklist-link { align-self: center; font-size: .74rem; font-weight: 600; color: #4f46e5; text-decoration: none; background: #eef2ff; border-radius: 6px; padding: 4px 9px; white-space: nowrap; }
.prm-checklist-link:hover { background: #e0e7ff; }

/* Notes libres */
.prm-notes-field { margin-top: 12px; }
.prm-notes { min-height: 72px; max-height: 240px; resize: vertical; line-height: 1.5; }

/* Carte Go-live plateforme (globale) */
.prm-golive { margin-top: 28px; background: #f5f7ff; border: 1px solid #c7d2fe; border-radius: 14px; padding: 20px; }
.prm-golive-head { margin-bottom: 16px; }
.prm-golive-head .prm-subtitle { font-size: 1.05rem; font-weight: 700; color: #0f172a; margin: 0; }
.prm-golive-head .prm-lead { margin: 4px 0 0; }
.prm-golive-list { gap: 12px; }
.prm-golive .prm-checklist-item { background: #fff; }
.prm-golive-strict { grid-template-columns: 20px 1fr; }

/* Snippet copiable (commande TENANT_STRICT) */
.prm-snippet-box { grid-column: 1 / -1; margin-top: 10px; padding: 12px; background: #fff; border: 1px solid #e2e8f0; border-left: 3px solid #4f46e5; border-radius: 8px; }
.prm-snippet-label { font-size: .72rem; font-weight: 600; color: #475569; margin: 0 0 8px; text-transform: uppercase; letter-spacing: .04em; }
.prm-snippet { margin: 0 0 8px; padding: 10px 12px; background: #1e293b; color: #e2e8f0; border-radius: 6px; font-size: .78rem; line-height: 1.5; overflow-x: auto; }
.prm-snippet code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; color: #e2e8f0; white-space: pre; }

/* ───────── Opérateur de plateforme (#170) : bannière de contexte + entrée ───────── */

/* Bannière « vous opérez dans le tenant X » (ambre : maintient l'opérateur en
   alerte sur le contexte d'impersonation). */
.prm-imp-bar { display: flex; align-items: center; gap: 12px; padding: 12px 16px; margin: 0 0 18px; background: #fef3c7; border: 1px solid #fcd34d; border-radius: 12px; color: #92400e; }
.prm-imp-bar[hidden] { display: none; }
.prm-imp-ic { flex: none; width: 20px; height: 20px; fill: none; stroke: #b45309; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.prm-imp-txt { flex: 1; font-size: .9rem; }
.prm-imp-txt strong { font-weight: 700; }
.prm-imp-exit { background: #fff; border-color: #fcd34d; color: #92400e; }
.prm-imp-exit:hover { background: #fffbeb; }

/* Bouton « Entrer dans ce tenant » (pied du panneau tenant, accent indigo ORBIT). */
.prm-btn-enter { justify-content: center; margin-top: 2px; border-color: #c7d2fe; background: #eef2ff; color: #4338ca; }
.prm-btn-enter:hover { background: #e0e7ff; }
.prm-btn-enter[hidden] { display: none; }
