/* ==========================================================================
   STUDIO ME&YOUTOO — DESIGN SYSTEM
   Police officielle : Asap. Charte : Green Blue / Sunny Yellow / Royal Blue.
   Royal Blue porte les titres, la navigation, les textes importants et les
   contours. Green Blue porte les CTA principaux et les états actifs.
   Sunny Yellow reste un accent discret (jamais du texte sur fond blanc).
   ========================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Asap:wght@400;500;600;700;800;900&display=swap");

/* Cockpit admin : contraste renforcé du titre sur le bandeau bleu. */
.admin-cockpit-hero h1 {
  color: #fff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}

:root {
  --green-blue: #007883;
  --green-blue-dark: #00636c;
  --green-blue-soft: #e6f4f5;
  --sunny-yellow: #ffc000;
  --sunny-yellow-soft: #fff6dd;
  --royal-blue: #273a64;
  --royal-blue-dark: #1b2a49;
  --royal-blue-soft: #eaeef7;
  --royal-blue-tint: #f5f7fb;
  --ink: var(--royal-blue);
  --muted: #54607e;
  --line: #e2e7f1;
  --surface: #ffffff;
  --surface-soft: #f5f7fb;
  --danger: #b42318;
  --danger-soft: #fdecec;
  --success: #0d6b3f;
  --success-soft: #e3f6ea;
  --warning: #7a4b00;
  --warning-soft: #fff1c2;
  --radius-lg: 26px;
  --radius-md: 18px;
  --radius-sm: 12px;
  --shadow-md: 0 16px 40px rgba(39, 58, 100, 0.12);
  --shadow-lg: 0 26px 60px rgba(39, 58, 100, 0.16);
  --focus: 0 0 0 4px rgba(0, 120, 131, 0.28);
  --font:
    "Asap", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* Cockpit administrateur inspiré d’Into The Shift */
.admin-cockpit-page {
  max-width: 1500px;
  margin: 0 auto;
  padding: 24px 28px 48px;
}
.admin-cockpit-hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 22px;
  margin-bottom: 20px;
  padding: 28px;
  border-radius: 28px;
  background: linear-gradient(135deg, #0d4c72, #123d59);
  color: #fff;
  box-shadow: 0 18px 44px rgba(13, 76, 114, 0.2);
}
.admin-cockpit-hero .eyebrow {
  color: #bfe6eb;
}
.admin-cockpit-hero h1 {
  margin: 4px 0 8px;
  font-size: 2rem;
}
.admin-cockpit-hero p:last-child {
  margin: 0;
  max-width: 780px;
  color: #e5f1f5;
}
.admin-cockpit-hero .button-secondary {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}
.admin-cockpit-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}
.admin-cockpit-kpis button {
  display: grid;
  gap: 6px;
  text-align: left;
  padding: 18px;
  border: 1px solid #dfe8ef;
  border-radius: 20px;
  background: #fff;
  color: var(--ink);
  box-shadow: 0 10px 28px rgba(13, 76, 114, 0.06);
  cursor: pointer;
}
.admin-cockpit-kpis span {
  font-size: 0.78rem;
  color: var(--muted);
  font-weight: 800;
}
.admin-cockpit-kpis strong {
  font-size: 1.9rem;
  color: #0d4c72;
}
.admin-cockpit-kpis small {
  color: var(--muted);
}
.admin-cockpit-tabs {
  display: flex;
  gap: 8px;
  overflow: auto;
  margin-bottom: 18px;
  padding: 7px;
  border: 1px solid #dfe8ef;
  border-radius: 18px;
  background: #fff;
}
.admin-cockpit-tabs button {
  flex: 0 0 auto;
  border: 0;
  border-radius: 12px;
  padding: 11px 14px;
  background: transparent;
  color: #536786;
  font:
    800 0.82rem Asap,
    sans-serif;
  cursor: pointer;
}
.admin-cockpit-tabs button.is-active {
  background: #eaf3f8;
  color: #0d4c72;
}
.admin-cockpit-section {
  display: none;
  padding: 20px;
  border: 1px solid #dfe8ef;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(13, 76, 114, 0.06);
}
.admin-cockpit-section.is-active {
  display: block;
}
.admin-section-title {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 16px;
}
.admin-section-title h2 {
  margin: 0 0 4px;
  color: #0d4c72;
}
.admin-section-title p {
  margin: 0;
  color: var(--muted);
}
.admin-cockpit-tools {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 13px;
  padding: 12px;
  border: 1px solid #e2ebf2;
  border-radius: 16px;
  background: #f7fafd;
}
.admin-cockpit-tools input,
.admin-cockpit-tools select {
  min-width: 210px;
  padding: 10px 12px;
  border: 1px solid #d5e1e9;
  border-radius: 12px;
  background: #fff;
  font: inherit;
  color: var(--ink);
}
.admin-overview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.admin-overview-card {
  display: flex;
  gap: 13px;
  padding: 16px;
  border: 1px solid #e2ebf2;
  border-radius: 20px;
  background: #fbfdfe;
}
.admin-overview-card > div:last-child {
  flex: 1;
}
.admin-overview-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: #eaf3f8;
  font-size: 1.25rem;
}
.admin-overview-card h3 {
  margin: 0 0 8px;
  color: #0d4c72;
}
.admin-overview-card button {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 7px 4px;
  border: 0;
  border-bottom: 1px solid #edf2f6;
  background: transparent;
  color: #60758a;
  cursor: pointer;
}
.admin-overview-card button strong {
  color: #0d4c72;
  text-decoration: underline;
}
.admin-filter-chips {
  display: flex;
  gap: 8px;
  overflow: auto;
  padding: 2px 0 14px;
}
.admin-filter-chips button {
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  padding: 8px 11px;
  border: 1px solid #dbe5ec;
  border-radius: 999px;
  background: #fff;
  color: #536786;
  font:
    800 0.76rem Asap,
    sans-serif;
  cursor: pointer;
}
.admin-filter-chips button.is-active {
  border-color: #0d4c72;
  background: #eaf3f8;
  color: #0d4c72;
}
.admin-filter-chips strong {
  padding: 2px 6px;
  border-radius: 999px;
  background: #edf2f7;
}
.admin-client-list {
  display: grid;
  gap: 16px;
}
.admin-client-card {
  overflow: hidden;
  border: 1px solid #dfe8ef;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(13, 76, 114, 0.07);
}
.admin-client-card > header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px 16px;
  background: linear-gradient(135deg, #fff, #f7fbff);
  border-bottom: 1px solid #edf2f6;
}
.admin-client-title {
  display: flex;
  gap: 13px;
}
.admin-client-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
  border-radius: 17px;
  background: linear-gradient(135deg, #0d4c72, #1f7b98);
  color: #fff;
  font-size: 1.25rem;
  font-weight: 900;
}
.admin-client-title h3 {
  margin: 1px 0 4px;
  color: #0d4c72;
  font-size: 1.25rem;
}
.admin-client-title p {
  margin: 0;
  color: #718497;
  font-size: 0.82rem;
}
.admin-health-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 9px;
}
.admin-health {
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 900;
}
.admin-health.good {
  background: #e6f7ef;
  color: #20784b;
}
.admin-health.info {
  background: #eaf3f8;
  color: #0d4c72;
}
.admin-health.warn {
  background: #fff2d8;
  color: #996700;
}
.admin-health.danger {
  background: #fff0f0;
  color: #a32b2b;
}
.admin-health.muted {
  background: #edf2f7;
  color: #60758a;
}
.admin-client-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 11px;
  padding: 17px 22px;
}
.admin-client-kpis > div {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 105px;
  padding: 13px;
  border: 1px solid #e2ebf2;
  border-radius: 18px;
  background: #f7fafd;
}
.admin-client-kpis .pack {
  background: #eef6fb;
}
.admin-client-kpis .remaining {
  background: #eefbf3;
}
.admin-client-kpis .used {
  background: #fff7ed;
}
.admin-client-kpis .activity {
  background: #f4f0ff;
}
.admin-client-kpis span {
  font-size: 0.67rem;
  color: #60758a;
  font-weight: 900;
  text-transform: uppercase;
}
.admin-client-kpis strong {
  color: #0d4c72;
  font-size: 1.25rem;
  line-height: 1.2;
}
.admin-client-kpis small {
  color: #718497;
}
.admin-client-kpis i {
  height: 7px;
  border-radius: 999px;
  background: #e1e7ec;
  overflow: hidden;
}
.admin-client-kpis i b {
  display: block;
  height: 100%;
  background: #1f7b98;
}
.admin-client-kpis i b.warning {
  background: #f59e0b;
}
.admin-client-kpis i b.critical {
  background: #e11d48;
}
.admin-pack-alert {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  margin: 0 22px 15px;
  padding: 13px 14px;
  border: 1px solid #f0c65a;
  border-radius: 15px;
  background: #fff8df;
}
.admin-pack-alert > div:first-child {
  display: grid;
  gap: 3px;
}
.admin-pack-alert span {
  color: #60758a;
  font-size: 0.78rem;
}
.admin-pack-alert > div:last-child {
  display: flex;
  gap: 10px;
}
.admin-client-details {
  margin: 0 22px 20px;
  border: 1px solid #e2ebf2;
  border-radius: 18px;
  background: #fbfdfe;
}
.admin-client-details > summary {
  padding: 13px 15px;
  color: #0d4c72;
  font-weight: 900;
  cursor: pointer;
}
.admin-client-details[open] > summary {
  border-bottom: 1px solid #e2ebf2;
}
.admin-client-detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  padding: 15px;
}
.admin-client-detail-grid > section {
  min-width: 0;
  padding: 13px;
  border: 1px solid #e6edf2;
  border-radius: 16px;
  background: #fff;
}
.admin-detail-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}
.admin-detail-head h4 {
  margin: 0;
  color: #0d4c72;
}
.admin-inline-user,
.admin-inline-campaign {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid #edf2f6;
}
.admin-inline-user:last-child,
.admin-inline-campaign:last-child {
  border-bottom: 0;
}
.admin-inline-user > div:first-child,
.admin-inline-campaign > div:first-child {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.admin-inline-user span,
.admin-inline-campaign span,
.admin-inline-user small {
  color: #718497;
  font-size: 0.73rem;
  word-break: break-word;
}
.admin-inline-user > div:last-child {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.admin-inline-user button,
.admin-inline-campaign a,
.admin-account-actions button,
.admin-team-actions button {
  padding: 6px 8px;
  border: 0;
  border-radius: 9px;
  background: #eaf3f8;
  color: #0d4c72;
  font:
    800 0.7rem Asap,
    sans-serif;
  cursor: pointer;
  text-decoration: none;
}
.admin-inline-user button.danger,
.admin-account-actions button.danger,
.admin-team-actions button.danger {
  background: #fff0f0;
  color: #a32b2b;
}
.admin-credit-editor {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  gap: 10px;
  align-items: end;
  padding: 15px;
  border-top: 1px solid #e2ebf2;
}
.admin-credit-editor label {
  display: grid;
  gap: 5px;
  color: #60758a;
  font-size: 0.7rem;
  font-weight: 900;
}
.admin-credit-editor input {
  min-width: 0;
  width: 100%;
  padding: 9px;
  border: 1px solid #d5e1e9;
  border-radius: 10px;
}
.admin-campaign-grid,
.admin-account-grid {
  display: grid;
  gap: 12px;
}
.admin-campaign-card {
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) minmax(360px, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 16px;
  border: 1px solid #e2ebf2;
  border-radius: 18px;
  background: #fbfdfe;
}
.admin-campaign-card h3 {
  margin: 7px 0 3px;
  color: #0d4c72;
}
.admin-campaign-card p {
  margin: 0;
  color: #718497;
}
.admin-campaign-card dl {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 0;
}
.admin-campaign-card dl div {
  padding: 8px;
  border-radius: 11px;
  background: #fff;
}
.admin-campaign-card dt {
  font-size: 0.62rem;
  color: #718497;
  text-transform: uppercase;
  font-weight: 900;
}
.admin-campaign-card dd {
  margin: 3px 0 0;
  font-size: 0.75rem;
  font-weight: 800;
}
.admin-account-card {
  display: grid;
  grid-template-columns: minmax(250px, 1fr) auto minmax(300px, auto);
  gap: 15px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid #e2ebf2;
  border-radius: 17px;
  background: #fbfdfe;
}
.admin-account-card > div:first-child {
  display: grid;
  gap: 3px;
}
.admin-account-card span,
.admin-account-card small {
  color: #718497;
}
.admin-account-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
}
.admin-activity-list {
  display: grid;
}
.admin-activity-list > article {
  display: grid;
  grid-template-columns: 42px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border-bottom: 1px solid #edf2f6;
}
.admin-activity-icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: #eaf3f8;
}
.admin-activity-list p {
  margin: 3px 0 0;
  color: #718497;
}
.admin-activity-list time {
  color: #60758a;
  font-size: 0.76rem;
}
.admin-empty {
  padding: 18px;
  text-align: center;
  color: #718497;
}
.admin-empty-with-action {
  display: grid;
  justify-items: center;
  gap: 8px;
}
.admin-empty-with-action strong {
  color: #17385d;
}
.admin-empty-with-action .button {
  margin-top: 4px;
}
.admin-team-list {
  display: grid;
}
.admin-team-row {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 0;
  border-bottom: 1px solid #edf2f6;
}
.admin-team-actions {
  display: flex;
  gap: 7px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}
@media (max-width: 1100px) {
  .admin-cockpit-kpis {
    grid-template-columns: 1fr 1fr;
  }
  .admin-overview-grid {
    grid-template-columns: 1fr;
  }
  .admin-client-kpis {
    grid-template-columns: 1fr 1fr;
  }
  .admin-client-detail-grid {
    grid-template-columns: 1fr;
  }
  .admin-campaign-card {
    grid-template-columns: 1fr;
  }
  .admin-account-card {
    grid-template-columns: 1fr;
  }
  .admin-account-actions {
    justify-content: flex-start;
  }
}
@media (max-width: 700px) {
  .admin-cockpit-page {
    padding: 14px;
  }
  .admin-cockpit-hero,
  .admin-section-title,
  .admin-client-card > header,
  .admin-pack-alert,
  .admin-team-row {
    display: grid;
  }
  .admin-cockpit-kpis,
  .admin-client-kpis,
  .admin-credit-editor {
    grid-template-columns: 1fr;
  }
  .admin-cockpit-tools input,
  .admin-cockpit-tools select {
    width: 100%;
    min-width: 0;
  }
  .admin-client-kpis,
  .admin-client-card > header {
    padding-left: 16px;
    padding-right: 16px;
  }
  .admin-client-details,
  .admin-pack-alert {
    margin-left: 16px;
    margin-right: 16px;
  }
  .admin-campaign-card dl {
    grid-template-columns: 1fr;
  }
  .admin-activity-list > article {
    grid-template-columns: 38px 1fr;
  }
  .admin-activity-list time {
    grid-column: 2;
  }
}

* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  font-family: var(--font);
  color: var(--ink);
  background: linear-gradient(150deg, #eef6f7 0%, #ffffff 45%, #f4f6fb 100%);
  font-size: 16px;
  line-height: 1.55;
}
img {
  max-width: 100%;
  height: auto;
  display: block;
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}
button,
a,
input,
select,
textarea {
  outline: none;
}
button {
  cursor: pointer;
}
h1,
h2,
h3,
h4 {
  font-family: var(--font);
  color: var(--royal-blue);
  letter-spacing: -0.02em;
  margin: 0;
}
p {
  margin: 0;
}
ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  box-shadow: var(--focus);
  border-radius: 10px;
  outline: 2px solid transparent;
}
.skip-link {
  position: absolute;
  left: 1rem;
  top: -5rem;
  background: var(--royal-blue);
  color: #fff;
  padding: 0.8rem 1.1rem;
  border-radius: 10px;
  z-index: 999;
  font-weight: 700;
}
.skip-link:focus {
  top: 1rem;
}
.visually-hidden {
  position: absolute;
  left: -9999px;
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}

.app-shell {
  display: grid;
  grid-template-columns: 272px minmax(0, 1fr);
  min-height: 100vh;
  max-width: 1680px;
  margin: 0 auto;
  padding: 16px;
  gap: 16px;
}
.mobile-header {
  display: none;
}
.sidebar {
  position: sticky;
  top: 16px;
  height: calc(100vh - 32px);
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 24px 18px;
  box-shadow: var(--shadow-md);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #c6d8e2 transparent;
}
.sidebar::-webkit-scrollbar {
  width: 7px;
}
.sidebar::-webkit-scrollbar-track {
  background: transparent;
}
.sidebar::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: #c6d8e2;
}
.sidebar::-webkit-scrollbar-thumb:hover {
  background: #9fbcca;
}
@media (min-width: 821px) and (max-height: 1050px) {
  .sidebar {
    padding: 15px 16px;
  }
  .brand {
    gap: 4px;
    margin-bottom: 12px;
  }
  .brand img {
    width: 102px;
  }
  .studio-pill {
    padding: 3px 8px;
    font-size: 0.6rem;
  }
  .interface-badge {
    margin: 0 0 7px;
    padding: 5px 9px;
    font-size: 0.65rem;
  }
  .nav {
    gap: 2px;
  }
  .nav a {
    gap: 10px;
    padding: 8px 11px;
    font-size: 0.88rem;
  }
  .nav a span {
    width: 23px;
    height: 23px;
  }
  .nav a svg {
    width: 16px;
    height: 16px;
  }
  .sidebar-footer {
    gap: 8px;
  }
  .help-card {
    padding: 11px 12px;
    border-radius: 14px;
  }
  .help-card strong {
    font-size: 0.86rem;
  }
  .help-card p {
    margin-bottom: 8px;
    font-size: 0.77rem;
    line-height: 1.35;
  }
  .help-card .button {
    min-height: 38px;
    padding: 8px 11px;
    font-size: 0.82rem;
  }
  .nav-secondary {
    padding-top: 7px;
    margin-top: 0;
  }
  .profile {
    gap: 9px;
    padding-top: 10px;
  }
  .avatar {
    width: 34px;
    height: 34px;
  }
  .profile-copy strong {
    font-size: 0.84rem;
  }
  .profile small,
  .sidebar-logout {
    font-size: 0.7rem;
  }
  .interface-switch {
    padding: 8px 10px;
    font-size: 0.72rem;
  }
  .admin-help-card {
    padding: 11px;
  }
  .admin-help-card p {
    font-size: 0.72rem;
  }
}
.brand {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 28px;
}
.brand img {
  width: 124px;
}
.studio-pill {
  align-self: flex-start;
  background: var(--royal-blue);
  color: #fff;
  font-weight: 800;
  letter-spacing: 0.1em;
  font-size: 0.66rem;
  padding: 4px 9px;
  border-radius: 999px;
  text-transform: uppercase;
}
.nav {
  display: grid;
  gap: 6px;
}
.nav a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 13px;
  border-radius: 14px;
  color: var(--royal-blue);
  font-weight: 700;
  font-size: 0.95rem;
}
.nav a span {
  width: 26px;
  height: 26px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  background: #f2f5fa;
  flex: 0 0 auto;
}
.nav a svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.nav a:hover {
  background: var(--royal-blue-tint);
}
.nav a[aria-current="page"] {
  background: linear-gradient(
    135deg,
    var(--green-blue-soft),
    var(--royal-blue-soft)
  );
}
.nav a[aria-current="page"] span {
  background: var(--royal-blue);
  color: #fff;
}
.sidebar-footer {
  margin-top: auto;
  display: grid;
  gap: 14px;
}
.help-card {
  background: linear-gradient(150deg, var(--sunny-yellow-soft), #fff);
  border: 1px solid #ffe7a6;
  border-radius: 18px;
  padding: 16px;
}
.help-card strong {
  display: block;
  color: var(--royal-blue);
  margin-bottom: 4px;
}
.help-card p {
  color: var(--muted);
  font-size: 0.86rem;
  margin: 0 0 12px;
}
.nav-link {
  display: block;
  font-weight: 700;
  font-size: 0.88rem;
  color: var(--royal-blue);
  padding: 6px 4px;
}
.nav-secondary {
  border-top: 1px solid var(--line);
  padding-top: 10px;
  margin-top: 2px;
}
.profile {
  display: flex;
  align-items: center;
  gap: 12px;
  border-top: 1px solid var(--line);
  padding-top: 16px;
}
.avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--royal-blue);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 800;
}
.profile small {
  display: block;
  color: var(--muted);
}
.main {
  padding: 8px 8px 40px;
  min-width: 0;
}

.topbar {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 28px 32px;
  box-shadow: 0 12px 32px rgba(39, 58, 100, 0.06);
  margin-bottom: 26px;
}
.topbar.compact-topbar {
  padding: 22px 28px;
}
.eyebrow {
  font-weight: 800;
  color: var(--green-blue-dark);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.75rem;
  margin: 0 0 8px;
}
.page-title {
  font-size: clamp(1.9rem, 3.4vw, 2.8rem);
  font-weight: 900;
  line-height: 1.08;
}
.lead {
  max-width: 680px;
  color: var(--muted);
  font-size: 1.03rem;
  margin-top: 0.6rem;
  font-weight: 500;
}
.top-illustration {
  width: 180px;
  flex: 0 0 auto;
}
.top-illustration img {
  filter: drop-shadow(0 16px 26px rgba(39, 58, 100, 0.12));
}
.top-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.icon-button {
  border: 1px solid var(--line);
  background: #fff;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  color: var(--royal-blue);
}
.icon-button:hover {
  background: var(--royal-blue-tint);
}
.icon-button svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid transparent;
  border-radius: 14px;
  padding: 12px 18px;
  min-height: 44px;
  font-weight: 800;
  font-size: 0.95rem;
}
.button-primary {
  background: var(--green-blue);
  color: #fff;
  box-shadow: 0 12px 24px rgba(0, 120, 131, 0.22);
}
.button-primary:hover {
  background: var(--green-blue-dark);
}
.button-secondary {
  background: #fff;
  color: var(--royal-blue);
  border-color: #ccd6ea;
}
.button-secondary:hover {
  background: var(--royal-blue-tint);
}
.button-ghost {
  background: transparent;
  color: var(--royal-blue);
}
.button-ghost:hover {
  background: var(--royal-blue-tint);
}
.button[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

.card,
.table-card,
.feature-panel,
.hero-panel {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}
.hero-panel {
  padding: 32px;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}
.stat-card {
  position: relative;
  overflow: hidden;
  padding: 20px;
  border-radius: 22px;
  border: 1px solid var(--line);
  background: linear-gradient(150deg, #fff, #fbfcff);
  min-height: 150px;
}
.stat-card:after {
  content: "";
  position: absolute;
  right: -30px;
  bottom: -40px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: var(--royal-blue-soft);
}
.stat-card:nth-child(2):after {
  background: var(--sunny-yellow-soft);
}
.stat-card:nth-child(3):after {
  background: var(--green-blue-soft);
}
.stat-card:nth-child(4):after {
  background: var(--royal-blue-soft);
}
.stat-card > * {
  position: relative;
  z-index: 1;
}
.stat-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  margin-bottom: 12px;
  background: var(--royal-blue-soft);
  color: var(--royal-blue);
}
.stat-card:nth-child(3) .stat-icon {
  background: var(--green-blue-soft);
  color: var(--green-blue-dark);
}
.stat-icon svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.stat-label {
  color: var(--muted);
  font-weight: 700;
  font-size: 0.92rem;
}
.stat-value {
  font-size: 2.1rem;
  font-weight: 900;
  letter-spacing: -0.03em;
  margin: 0.15rem 0;
  color: var(--royal-blue);
}
.stat-note {
  font-size: 0.85rem;
  color: var(--muted);
}
.stat-link {
  display: block;
  color: inherit;
}
.stat-link:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}

.section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  margin: 30px 0 16px;
}
.section-title {
  font-size: 1.4rem;
  font-weight: 900;
}
.section-desc {
  margin-top: 0.3rem;
  color: var(--muted);
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 11px;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 800;
}
.badge-success {
  background: var(--success-soft);
  color: var(--success);
}
.badge-warning {
  background: var(--warning-soft);
  color: var(--warning);
}
.badge-muted {
  background: var(--royal-blue-soft);
  color: var(--royal-blue);
}
.badge-info {
  background: var(--green-blue-soft);
  color: var(--green-blue-dark);
}

.progress {
  height: 8px;
  background: #edf1f5;
  border-radius: 999px;
  overflow: hidden;
  margin: 14px 0 8px;
}
.progress span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--green-blue), var(--royal-blue));
  border-radius: 999px;
}
.progress.large {
  height: 12px;
}

.expertise-banner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  background: linear-gradient(
    120deg,
    var(--royal-blue) 0%,
    var(--royal-blue-dark) 100%
  );
  color: #fff;
  border-radius: var(--radius-lg);
  padding: 30px 34px;
  margin-bottom: 28px;
  box-shadow: var(--shadow-lg);
}
.expertise-banner .stat {
  padding: 0 20px;
  border-left: 1px solid rgba(255, 255, 255, 0.18);
}
.expertise-banner .stat:first-child {
  border-left: 0;
  padding-left: 0;
}
.expertise-banner .stat strong {
  display: block;
  font-size: 2rem;
  font-weight: 900;
}
.expertise-banner .stat span {
  display: block;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.88rem;
  font-weight: 600;
  margin-top: 2px;
}

.topics-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.topic-card {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease;
}
.topic-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-lg);
}
.topic-illustration {
  aspect-ratio: 1/1;
  height: auto;
  background: linear-gradient(150deg, var(--green-blue-soft), #fff);
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 18px;
}
.topic-illustration img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.topic-card:nth-child(3n + 2) .topic-illustration {
  background: linear-gradient(150deg, var(--sunny-yellow-soft), #fff);
}
.topic-card:nth-child(3n) .topic-illustration {
  background: linear-gradient(150deg, var(--royal-blue-soft), #fff);
}
.topic-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.topic-body h3 {
  font-size: 1.08rem;
}
.topic-body p {
  color: var(--muted);
  font-size: 0.92rem;
  flex: 1;
}
.topic-business-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: -2px;
}
.topic-business-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border-radius: 999px;
  background: var(--surface-soft);
  border: 1px solid var(--line);
  color: var(--royal-blue);
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1.15;
}
.meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.meta {
  background: var(--surface-soft);
  border-radius: 999px;
  padding: 5px 10px;
  color: var(--royal-blue);
  font-size: 0.78rem;
  font-weight: 700;
}
.topic-body .button {
  align-self: flex-start;
  margin-top: 4px;
}

.topic-strip {
  display: grid;
  grid-template-columns: 1.2fr repeat(3, 1fr) 0.9fr;
  gap: 12px;
  align-items: stretch;
}
.topic-mini,
.topic-cta {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 20px;
  padding: 18px;
  min-height: 130px;
  display: flex;
  flex-direction: column;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease;
}
.topic-mini:hover,
.topic-cta:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}
.topic-mini strong {
  display: block;
  margin-top: 10px;
  color: var(--royal-blue);
}
.topic-mini span {
  display: block;
  color: var(--muted);
  font-size: 0.85rem;
  margin-top: 2px;
}
.topic-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: var(--royal-blue-soft);
  display: grid;
  place-items: center;
  color: var(--royal-blue);
  overflow: hidden;
  padding: 6px;
  flex: 0 0 auto;
}
.topic-icon svg {
  width: 24px;
  height: 24px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.topic-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.topic-cta {
  justify-content: space-between;
}
.topic-cta.hero-cta {
  background: linear-gradient(135deg, #fff, var(--sunny-yellow-soft));
  border-color: #ffe4a3;
}
.topic-cta strong {
  color: var(--royal-blue);
  font-size: 1.02rem;
}
.topic-cta span {
  color: var(--muted);
  font-size: 0.88rem;
  margin-top: 4px;
  display: block;
}

.campaign-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}
.campaign-card {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
  min-width: 0;
  height: 100%;
}
.campaign-card.with-cover {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
}
.campaign-card:not(.with-cover) > h3,
.campaign-card:not(.with-cover) > p {
  width: 100%;
}
.campaign-card:not(.with-cover) > .button,
.campaign-card:not(.with-cover) > .action-bar {
  margin-top: auto;
}
.campaign-card h3 {
  overflow-wrap: anywhere;
}
.dashboard-flow {
  margin-top: 0;
  margin-bottom: 28px;
}
#dashboard-recent-campaigns {
  grid-template-columns: 1fr;
}
.dashboard-campaign-disclosure {
  display: block;
  height: auto;
  padding: 0;
  overflow: hidden;
}
.dashboard-campaign-disclosure > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  color: var(--royal-blue);
  font-size: 1rem;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}
.dashboard-campaign-disclosure > summary::-webkit-details-marker {
  display: none;
}
.dashboard-campaign-disclosure > summary:hover {
  background: var(--royal-blue-tint);
}
.dashboard-campaign-chevron {
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.2s ease;
}
.dashboard-campaign-disclosure[open] .dashboard-campaign-chevron {
  transform: rotate(225deg);
}
.dashboard-campaign-details {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  padding: 0 20px 20px;
  border-top: 1px solid #edf1f5;
}
.dashboard-campaign-details > .badge {
  margin-top: 16px;
}
.dashboard-campaign-details > p {
  margin: 16px 0 0;
}
.dashboard-campaign-details > .button {
  margin: 16px 0 0 auto;
}
.card-bar {
  width: 6px;
  border-radius: 999px;
  background: #cbd5e1;
  align-self: stretch;
  min-height: 100%;
}
.card-bar.tone-success {
  background: var(--success);
}
.card-bar.tone-warning {
  background: var(--sunny-yellow);
}
.card-bar.tone-info {
  background: var(--green-blue);
}
.card-bar.tone-muted {
  background: #cbd5e1;
}
.campaign-cover {
  border-radius: 14px;
  object-fit: cover;
  width: 100%;
  height: 100%;
  min-height: 110px;
  background: var(--royal-blue-soft);
}
.campaign-content {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.campaign-title {
  font-size: 1.05rem;
  font-weight: 900;
  color: var(--royal-blue);
  margin: 0 0 2px;
}
.table-card {
  padding: 8px;
  overflow: auto;
}
.data-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
}
.data-table th,
.data-table td {
  text-align: left;
  padding: 16px;
  border-bottom: 1px solid var(--line);
  vertical-align: middle;
}
.data-table th {
  font-size: 0.75rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 800;
}
.data-table tr:last-child td {
  border-bottom: 0;
}

.steps {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 20px 0;
}
.step {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-weight: 800;
  font-size: 0.9rem;
}
.step-num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #eef2f6;
  display: grid;
  place-items: center;
  font-size: 0.85rem;
}
.step[aria-current="step"] {
  color: var(--royal-blue);
}
.step[aria-current="step"] .step-num {
  background: var(--royal-blue);
  color: #fff;
}
.composer {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr) 260px;
  gap: 18px;
  align-items: start;
}
.composer-side,
.composer-main,
.composer-aside {
  padding: 20px;
}
.situation-list {
  display: grid;
  gap: 12px;
}
.situation {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 16px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
}
.situation small {
  color: var(--muted);
}
.situation.custom {
  background: #f3f8fb;
  border-color: #bcdfe3;
}
.drag {
  color: #9aa5bd;
}
.aside-box {
  background: var(--surface-soft);
  border-radius: 18px;
  padding: 16px;
  margin-bottom: 14px;
}
.aside-box h3 {
  font-size: 1rem;
  margin-bottom: 6px;
}

.field {
  display: grid;
  gap: 6px;
  margin-bottom: 16px;
}
.field label {
  font-weight: 700;
  font-size: 0.92rem;
  color: var(--royal-blue);
}
.field input,
.field select,
.field textarea {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 11px 13px;
  min-height: 44px;
  background: #fff;
}
.field .hint {
  font-size: 0.82rem;
  color: var(--muted);
}
.field .error {
  font-size: 0.82rem;
  color: var(--danger);
  font-weight: 700;
}
fieldset {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 18px;
  margin: 0 0 18px;
}
legend {
  font-weight: 800;
  color: var(--royal-blue);
  padding: 0 6px;
}

.footer-flow {
  margin-top: 28px;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: var(--shadow-md);
  padding: 18px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
}
.flow-item {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.flow-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--royal-blue-soft);
  color: var(--royal-blue);
  flex: 0 0 auto;
}
.flow-item:nth-child(3) .flow-icon,
.flow-item:nth-child(6) .flow-icon {
  background: var(--sunny-yellow-soft);
  color: #7a4b00;
}
.flow-icon svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.flow-item strong {
  display: block;
  color: var(--royal-blue);
}
.flow-item span {
  display: block;
  color: var(--muted);
  font-size: 0.82rem;
}

.clean-list {
  margin: 0;
  padding-left: 1.15rem;
  color: var(--muted);
  list-style: disc;
}
.clean-list li {
  margin: 0.4rem 0;
}
.info-list {
  display: grid;
  gap: 12px;
  margin: 16px 0;
}
.info-list div {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}
.info-list dt {
  color: var(--muted);
  font-weight: 700;
}
.info-list dd {
  margin: 0;
  font-weight: 800;
  color: var(--royal-blue);
}
.account-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.account-card {
  padding: 24px;
}
.account-card h2 {
  margin: 0.25rem 0 0.5rem;
  font-size: 1.2rem;
}
.account-page .topbar {
  background: linear-gradient(135deg, #fff 20%, #edf8fa 100%);
  border: 1px solid #dcebf0;
}
.account-page .account-grid {
  gap: 20px;
}
.account-page .account-card {
  position: relative;
  overflow: hidden;
  padding: 26px;
  border: 1px solid transparent;
  box-shadow: 0 14px 32px rgba(13, 76, 114, 0.08);
}
.account-page .account-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: var(--account-accent);
}
.account-page .account-card-profile {
  --account-accent: #0d8791;
  background: linear-gradient(145deg, #fff 35%, #eaf8f8);
}
.account-page .account-card-organization {
  --account-accent: #eb6366;
  background: linear-gradient(145deg, #fff 35%, #fff1f1);
}
.account-page .account-card-credits {
  --account-accent: #f2b824;
  background: linear-gradient(145deg, #fff 35%, #fff8df);
}
.account-page .account-card-security {
  --account-accent: #5669a9;
  background: linear-gradient(145deg, #fff 35%, #f0f2fb);
}
.account-card-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.account-card-heading .eyebrow {
  margin: 0;
  color: var(--account-accent);
}
.account-card-icon,
.account-history-icon {
  display: grid;
  place-items: center;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  border-radius: 15px;
  background: var(--account-accent);
  color: #fff;
  box-shadow: 0 8px 18px
    color-mix(in srgb, var(--account-accent) 25%, transparent);
}
.account-card-icon svg,
.account-history-icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.account-page .account-card h2 {
  margin: 0 0 12px;
  color: #243b69;
  font-size: 1.55rem;
}
.account-page .info-list {
  border-top: 1px solid rgba(36, 59, 105, 0.1);
}
.account-page .info-list > div {
  padding: 12px 0;
  border-color: rgba(36, 59, 105, 0.1);
}
.account-page .clean-list li {
  margin: 6px 0;
  padding: 9px 11px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
  color: #536786;
}
.account-card-credits #credits-remaining {
  font-size: 1.75rem;
}
.account-card-credits .progress {
  height: 12px;
  background: rgba(255, 255, 255, 0.8);
  box-shadow: inset 0 0 0 1px rgba(242, 184, 36, 0.18);
}
.account-card-credits .progress span {
  background: linear-gradient(90deg, #0d8791, #f2b824);
}
.credits-meter-head {
  display: flex;
  align-items: baseline;
  gap: 7px;
  margin: 18px 0 7px;
  color: #60758a;
  font-size: 0.82rem;
}
.credits-meter-head strong {
  color: #0d8791;
  font-size: 1.15rem;
}
.account-card-credits .credits-meter {
  margin: 0;
}
.credits-meter span {
  position: relative;
  transition: width 0.7s ease;
}
.credits-meter span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 16px;
  height: 16px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #0d8791;
  box-shadow: 0 2px 8px rgba(13, 135, 145, 0.35);
  transform: translate(50%, -50%);
}
.credits-nudge {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 16px 0 10px;
  padding: 12px 13px;
  border: 1px solid #bde5db;
  border-radius: 14px;
  background: #eefaf6;
  color: #24664f;
}
.credits-nudge-icon {
  display: grid;
  place-items: center;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #2d9972;
  color: #fff;
  font-weight: 900;
}
.credits-nudge strong {
  display: block;
  font-size: 0.85rem;
}
.credits-nudge p {
  margin: 2px 0 0;
  font-size: 0.76rem;
  line-height: 1.35;
}
.credits-nudge[data-level="warning"] {
  border-color: #f1d58a;
  background: #fff8df;
  color: #805f08;
}
.credits-nudge[data-level="warning"] .credits-nudge-icon {
  background: #e3a91b;
}
.credits-nudge[data-level="danger"] {
  border-color: #f0b3b5;
  background: #fff0f0;
  color: #9b3033;
}
.credits-nudge[data-level="danger"] .credits-nudge-icon {
  background: #d94e52;
}
.account-page .account-card .button {
  margin-top: 8px;
}
.account-history {
  margin-top: 24px;
  overflow: hidden;
  border: 1px solid #dfe8ef;
  box-shadow: 0 14px 32px rgba(13, 76, 114, 0.07);
}
.account-history-heading {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 20px 22px;
  background: linear-gradient(135deg, #edf8fa, #fff);
}
.account-history-heading .eyebrow {
  margin: 0 0 3px;
  color: #0d8791;
}
.account-history-heading .section-title {
  margin: 0;
  color: #243b69;
}
.account-history-icon {
  --account-accent: #0d8791;
}
.account-history .data-table thead {
  background: #f4f8fb;
}
.account-history .data-table tbody tr:hover {
  background: #fbf7ea;
}
.credit-balance {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 16px 20px;
  box-shadow: var(--shadow-md);
  min-width: 220px;
}
.credit-balance strong {
  display: block;
  font-size: 1.9rem;
  color: var(--green-blue-dark);
  line-height: 1;
}
.credit-balance span {
  display: block;
  color: var(--muted);
  font-weight: 700;
  margin-top: 4px;
  font-size: 0.86rem;
}
.credit-balance-live {
  position: relative;
  overflow: hidden;
  min-width: 290px;
  padding: 18px 20px 16px;
  background: linear-gradient(145deg, #fff, #eef9f7);
  border-color: #cce8e2;
}
.credit-balance-live::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: #0d8791;
}
.credit-balance-live .credit-balance-label {
  margin: 0 0 8px;
  color: #0d8791;
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.credit-balance-live strong {
  font-size: 2.25rem;
  color: #243b69;
}
.credit-balance-live[data-level="warning"]::before {
  background: #e3a91b;
}
.credit-balance-live[data-level="danger"]::before {
  background: #d94e52;
}
.credit-balance-mini-progress {
  height: 7px;
  margin-top: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: #dfe9e8;
}
.credit-balance-mini-progress i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #0d8791, #56b59a);
  transition: width 0.7s ease;
}
.pack-chip-cta[aria-disabled="true"] {
  pointer-events: none;
  opacity: 0.45;
  filter: grayscale(0.3);
}

.pack-hero {
  padding: 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin-bottom: 20px;
  background: linear-gradient(135deg, #fff, var(--green-blue-soft));
}
.pack-hero h2 {
  font-size: 1.3rem;
  margin-bottom: 6px;
}
.pack-hero p {
  max-width: 720px;
  color: var(--muted);
}
.packs-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.pack-card {
  padding: 22px;
  display: flex;
  flex-direction: column;
  min-height: 340px;
}
.pack-card p {
  color: var(--muted);
  font-size: 0.9rem;
}
.pack-card .button {
  margin-top: auto;
}
.pack-card.featured {
  border: 2px solid var(--green-blue);
  box-shadow: 0 22px 54px rgba(0, 120, 131, 0.18);
  position: relative;
}
.pack-card.featured:before {
  content: "Recommandé";
  position: absolute;
  top: 16px;
  right: 16px;
  background: var(--green-blue);
  color: #fff;
  border-radius: 999px;
  padding: 5px 10px;
  font-weight: 800;
  font-size: 0.72rem;
}
.pack-card.enterprise {
  border: 2px solid var(--royal-blue);
}
.pack-volume {
  font-size: 1.9rem;
  font-weight: 900;
  color: var(--royal-blue);
  line-height: 1.1;
  margin: 0.3rem 0 0;
}
.pack-price {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--green-blue-dark);
  margin: 0.1rem 0 0.5rem;
}
.pack-unit {
  font-size: 0.78rem;
  color: var(--muted);
  font-weight: 700;
}
.order-summary {
  padding: 24px;
  margin-top: 8px;
}
.rules-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}
.rule {
  background: var(--surface-soft);
  border-radius: 18px;
  padding: 18px;
}
.rule strong {
  display: block;
  color: var(--royal-blue);
  margin-bottom: 6px;
}
.rule p {
  color: var(--muted);
  font-size: 0.88rem;
  margin: 0;
}

.pack-chip-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.pack-chip {
  position: relative;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px 12px;
  text-align: left;
  min-height: 112px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease;
}
.pack-chip:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}
.pack-chip strong {
  display: block;
  font-size: 1.15rem;
  font-weight: 900;
  color: var(--royal-blue);
  line-height: 1.05;
  margin-bottom: 3px;
}
.pack-chip em {
  display: block;
  font-style: normal;
  font-size: 0.82rem;
  font-weight: 800;
  color: var(--green-blue-dark);
  margin-bottom: 5px;
}
.pack-chip span {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.pack-chip b.tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.68rem;
  font-weight: 900;
  border-radius: 999px;
  padding: 3px 8px;
  margin-bottom: 6px;
  background: var(--sunny-yellow-soft);
  color: #7a4b00;
  border: 1px solid #ffe4a3;
  align-self: flex-start;
}
.pack-chip.popular {
  background: linear-gradient(150deg, var(--sunny-yellow-soft), #fff);
  border-color: #ffdb80;
}
.pack-chip.enterprise {
  background: linear-gradient(150deg, var(--royal-blue-soft), #fff);
  border-color: #c7d3ec;
}
.pack-chip.enterprise b.tag {
  background: #fff;
  color: var(--royal-blue);
  border-color: #c7d3ec;
}
.pack-chip.unlimited {
  background: linear-gradient(150deg, var(--royal-blue), var(--green-blue));
  border-color: transparent;
}
.pack-chip.unlimited strong,
.pack-chip.unlimited em,
.pack-chip.unlimited span {
  color: #fff;
}

.alert-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}
.alert-card {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid var(--line);
  background: #fff;
}
.alert-card .alert-icon {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  font-size: 1.05rem;
}
.alert-card.tone-danger {
  background: var(--danger-soft);
  border-color: #f6c9c4;
}
.alert-card.tone-danger .alert-icon {
  background: #fff;
  color: var(--danger);
}
.alert-card.tone-info {
  background: var(--green-blue-soft);
  border-color: #bfe3e6;
}
.alert-card.tone-info .alert-icon {
  background: #fff;
  color: var(--green-blue-dark);
}
.alert-card.tone-success {
  background: var(--success-soft);
  border-color: #bfe8cf;
}
.alert-card.tone-success .alert-icon {
  background: #fff;
  color: var(--success);
}
.alert-card strong {
  display: block;
  color: var(--royal-blue);
  font-size: 0.98rem;
}
.alert-card span {
  display: block;
  color: var(--muted);
  font-size: 0.84rem;
  margin-top: 2px;
}

.status-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 999px;
  padding: 8px 14px;
  font-weight: 800;
  font-size: 0.86rem;
  color: var(--royal-blue);
  cursor: pointer;
}
.status-pill:hover {
  background: var(--royal-blue-tint);
}
.status-pill .count {
  background: var(--royal-blue-soft);
  color: var(--royal-blue);
  border-radius: 999px;
  padding: 1px 8px;
  font-size: 0.78rem;
}
.status-pill[aria-pressed="true"] {
  background: var(--royal-blue);
  color: #fff;
  border-color: var(--royal-blue);
}
.status-pill[aria-pressed="true"] .count {
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
}
.search-field {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 14px;
  padding: 0 14px;
  min-height: 46px;
  max-width: 360px;
  margin-bottom: 22px;
}
.search-field svg {
  width: 18px;
  height: 18px;
  stroke: var(--muted);
  fill: none;
  stroke-width: 2.1;
  flex: 0 0 auto;
}
.search-field input {
  border: 0;
  min-height: 44px;
  padding: 0;
  width: 100%;
  background: transparent;
}
.search-field input:focus-visible {
  box-shadow: none;
}

.kit-shortcuts {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.kit-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 20px;
  align-items: start;
}
.kit-block {
  padding: 24px;
  margin-bottom: 18px;
}
.kit-block:last-child {
  margin-bottom: 0;
}
.kit-block .section-title {
  margin-bottom: 6px;
}
.kit-block .section-desc {
  margin-bottom: 16px;
}
.kit-url {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  background: var(--surface-soft);
  border-radius: 16px;
  padding: 14px 16px;
  margin-bottom: 10px;
}
.kit-url:last-child {
  margin-bottom: 0;
}
.kit-url-label {
  font-weight: 800;
  color: var(--royal-blue);
  font-size: 0.86rem;
  margin-bottom: 3px;
}
.kit-url-value {
  color: var(--muted);
  font-size: 0.86rem;
  word-break: break-all;
}
.qr-wrap {
  display: flex;
  gap: 24px;
  align-items: center;
  flex-wrap: wrap;
}
.qr-wrap[hidden] {
  display: none !important;
}
.qr-box {
  width: 132px;
  height: 132px;
  border-radius: 18px;
  background: repeating-conic-gradient(var(--royal-blue) 0% 25%, #fff 0% 50%) 0
    0/16px 16px;
  border: 1px solid var(--line);
  flex: 0 0 auto;
}
.timeline {
  display: grid;
  gap: 14px;
}
.time-row {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}
.time-day {
  background: var(--royal-blue-soft);
  color: var(--royal-blue);
  border-radius: 12px;
  padding: 8px 6px;
  text-align: center;
  font-weight: 900;
  font-size: 0.78rem;
}
.time-txt {
  font-weight: 800;
  color: var(--royal-blue);
}
.time-sub {
  color: var(--muted);
  font-size: 0.86rem;
  margin-top: 2px;
}
.comm-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
.comm-tab {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 999px;
  padding: 8px 14px;
  font-weight: 700;
  font-size: 0.82rem;
  color: var(--royal-blue);
  cursor: pointer;
}
.comm-tab:hover {
  background: var(--royal-blue-tint);
}
.comm-tab.on {
  background: var(--royal-blue);
  color: #fff;
  border-color: var(--royal-blue);
}
.template-card {
  background: var(--surface-soft);
  border-radius: 18px;
  padding: 20px;
}
.template-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.template-title {
  font-weight: 900;
  color: var(--royal-blue);
}
.template-meta {
  color: var(--muted);
  font-size: 0.82rem;
  margin-top: 2px;
}
.template-body {
  white-space: pre-line;
  color: #3a4a67;
  font-size: 0.92rem;
  line-height: 1.65;
}
.drop-zone {
  border: 2px dashed #c9d6e8;
  border-radius: 18px;
  padding: 26px;
  text-align: center;
  background: var(--surface-soft);
}
.drop-zone-icon {
  display: block;
  font-size: 1.6rem;
  margin-bottom: 8px;
}
.drop-zone-title {
  display: block;
  font-weight: 800;
  color: var(--royal-blue);
  margin-bottom: 10px;
}
.drop-zone-text {
  display: block;
  color: var(--muted);
  font-size: 0.84rem;
  margin-top: 8px;
}
.assets-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.asset-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
}
.asset-preview {
  height: 100px;
  background: var(--royal-blue-soft);
  display: grid;
  place-items: center;
  font-size: 1.6rem;
  color: var(--royal-blue);
}
.asset-info {
  padding: 12px;
}
.asset-name {
  font-weight: 800;
  color: var(--royal-blue);
  font-size: 0.86rem;
}
.asset-meta {
  color: var(--muted);
  font-size: 0.78rem;
  margin: 4px 0 10px;
}
.side-card {
  padding: 20px;
  margin-bottom: 16px;
}
.side-card:last-child {
  margin-bottom: 0;
}
.side-head {
  font-weight: 900;
  color: var(--royal-blue);
  margin-bottom: 12px;
}
.side-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
  font-size: 0.88rem;
}
.side-row:last-child {
  border-bottom: 0;
}
.side-row span:first-child {
  color: var(--muted);
  font-weight: 700;
}
.side-row span:last-child {
  color: var(--royal-blue);
  font-weight: 800;
  text-align: right;
}
.action-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.action-more {
  position: relative;
}
.action-more summary {
  list-style: none;
  cursor: pointer;
}
.action-more summary::-webkit-details-marker {
  display: none;
}
.action-more-panel {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow-lg);
  padding: 8px;
  min-width: 230px;
  z-index: 10;
  display: grid;
  gap: 4px;
}
.action-more-panel .button {
  width: 100%;
  justify-content: flex-start;
}
.action-bar .button,
.action-bar summary.button {
  padding: 9px 14px;
  min-height: 40px;
  font-size: 0.85rem;
  gap: 6px;
}

/* Icônes dans boutons et badges, tags thématiques, bouton tonal (variante douce) */
.button svg {
  width: 17px;
  height: 17px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.15;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: 0 0 auto;
}
.button-tonal {
  background: var(--green-blue-soft);
  color: var(--green-blue-dark);
  border-color: transparent;
}
.button-tonal:hover {
  background: #bfe3e6;
}
.badge svg {
  width: 12px;
  height: 12px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.6;
  flex: 0 0 auto;
}
.badge-danger {
  background: var(--danger-soft);
  color: var(--danger);
}
.badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
.tag-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--surface-soft);
  color: var(--royal-blue);
  border-radius: 999px;
  padding: 5px 12px;
  font-size: 0.76rem;
  font-weight: 700;
}

.bottom-nav {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 30;
  background: #fff;
  border-top: 1px solid var(--line);
  display: none;
  grid-template-columns: repeat(4, 1fr);
  padding: 8px 6px env(safe-area-inset-bottom);
  box-shadow: 0 -10px 25px rgba(39, 58, 100, 0.08);
}
.bottom-nav a {
  display: grid;
  place-items: center;
  gap: 4px;
  font-size: 0.72rem;
  font-weight: 800;
  color: var(--muted);
}
.bottom-nav a[aria-current="page"] {
  color: var(--royal-blue);
}

@media (max-width: 1200px) {
  .stats-grid,
  .topics-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .campaign-grid {
    grid-template-columns: 1fr 1fr;
  }
  .topic-strip {
    grid-template-columns: repeat(3, 1fr);
  }
  .expertise-banner {
    grid-template-columns: 1fr;
  }
  .expertise-banner .stat {
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    padding: 14px 0 0;
    margin-top: 14px;
  }
  .expertise-banner .stat:first-child {
    border-top: 0;
    margin-top: 0;
    padding-top: 0;
  }
  .composer {
    grid-template-columns: 1fr;
  }
  .footer-flow {
    grid-template-columns: repeat(3, 1fr);
  }
  .packs-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .pack-chip-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .kit-grid {
    grid-template-columns: 1fr;
  }
  .alert-strip {
    grid-template-columns: 1fr;
  }
  .assets-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 820px) {
  .app-shell {
    display: block;
    padding: 0;
  }
  .sidebar {
    display: none;
  }
  .mobile-header {
    display: flex;
    position: sticky;
    top: 0;
    z-index: 20;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: #fff;
    border-bottom: 1px solid var(--line);
  }
  .mobile-header img {
    width: 96px;
  }
  .main {
    padding: 20px 16px 100px;
  }
  .topbar {
    display: block;
    padding: 22px;
  }
  .top-illustration {
    display: none;
  }
  .top-actions {
    margin-top: 16px;
  }
  .stats-grid,
  .campaign-grid,
  .topics-grid,
  .footer-flow,
  .topic-strip,
  .packs-grid,
  .account-grid,
  .rules-grid {
    grid-template-columns: 1fr;
  }
  .campaign-card.with-cover {
    grid-template-columns: 90px minmax(0, 1fr);
  }
  .pack-hero {
    display: block;
  }
  .info-list div {
    grid-template-columns: 1fr;
  }
  .pack-chip-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .assets-grid {
    grid-template-columns: 1fr;
  }
  .qr-wrap {
    flex-direction: column;
    align-items: flex-start;
  }
  .page-title {
    font-size: 2rem;
  }
  .situation {
    grid-template-columns: 1fr;
  }
  .data-table {
    min-width: 640px;
  }
  .bottom-nav {
    display: grid;
  }
  body.sidebar-open .sidebar {
    display: flex;
    position: fixed;
    top: 12px;
    left: 12px;
    bottom: 12px;
    z-index: 60;
    width: 270px;
    max-width: 80vw;
    box-shadow: var(--shadow-lg);
  }
  body.sidebar-open {
    overflow: hidden;
  }
  body.sidebar-open:before {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(20, 25, 40, 0.45);
    z-index: 50;
  }
}

/* Pack CTA (packs.html) */
.pack-chip {
  padding-bottom: 12px;
}
.pack-chip-cta {
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.74rem;
  font-weight: 800;
  color: var(--green-blue-dark);
  text-decoration: none;
  width: fit-content;
}
.pack-chip-cta:hover {
  text-decoration: underline;
}
.pack-chip.unlimited .pack-chip-cta {
  color: #fff;
}

/* Formulaire de commande (commande.html) */
.order-recap {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 22px;
  margin-bottom: 28px;
  transition:
    background 0.2s ease,
    border-color 0.2s ease;
}
.order-recap-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: var(--green-blue-soft);
  color: var(--green-blue-dark);
  display: grid;
  place-items: center;
  font-size: 1.6rem;
  flex: 0 0 auto;
}
.order-recap-info {
  flex: 1 1 auto;
  min-width: 0;
}
.order-recap-eyebrow {
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--muted);
  margin: 0 0 2px;
}
.order-recap-volume {
  margin: 2px 0 0;
  color: var(--muted);
}
.order-recap-price {
  text-align: right;
  flex: 0 0 auto;
}
.order-recap-price strong {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 900;
  color: var(--royal-blue);
  background: var(--sunny-yellow-soft);
  padding: 7px 16px;
  border-radius: 999px;
}
.order-recap-price span {
  display: block;
  font-size: 0.8rem;
  color: var(--muted);
  margin-top: 6px;
}
.order-recap.tone-popular {
  background: linear-gradient(150deg, var(--sunny-yellow-soft), #fff);
  border-color: #ffdb80;
}
.order-recap.tone-popular .order-recap-icon {
  background: #fff;
  color: #7a4b00;
}
.order-recap.tone-enterprise {
  background: linear-gradient(150deg, var(--royal-blue-soft), #fff);
  border-color: #c7d3ec;
}
.order-recap.tone-enterprise .order-recap-icon {
  background: #fff;
  color: var(--royal-blue);
}
.order-recap.tone-unlimited {
  background: linear-gradient(150deg, var(--royal-blue), var(--green-blue));
  border-color: transparent;
}
.order-recap.tone-unlimited .order-recap-eyebrow,
.order-recap.tone-unlimited .order-recap-volume,
.order-recap.tone-unlimited #recapName {
  color: #fff;
}
.order-recap.tone-unlimited .order-recap-icon {
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
}

.form-header {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 22px;
}
.form-header-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: var(--royal-blue-soft);
  color: var(--royal-blue);
  display: grid;
  place-items: center;
  font-size: 1.2rem;
  flex: 0 0 auto;
}
.form-header .section-title {
  margin-bottom: 2px;
}

.form-subhead {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.86rem;
  font-weight: 800;
  color: var(--royal-blue);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 26px 0 14px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.form-subhead:first-of-type {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}
.tag-chip-sm {
  font-size: 0.64rem;
  padding: 2px 8px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
  margin-left: 6px;
  background: var(--surface-soft);
  vertical-align: middle;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 20px;
}
.field-full {
  grid-column: 1/-1;
}
.consent-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 6px 0 20px;
}
.consent-row input {
  margin-top: 3px;
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}
.consent-row label {
  font-size: 0.86rem;
  color: var(--muted);
}
.form-note {
  font-size: 0.82rem;
  color: var(--muted);
  margin-top: 10px;
}
.form-success {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 20px;
  border-radius: 20px;
  background: var(--success-soft);
  border: 1px solid #bfe8cf;
}
.form-success .icon {
  font-size: 1.4rem;
}
.form-success strong {
  display: block;
  color: var(--royal-blue);
  margin-bottom: 4px;
}
.form-error {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 20px;
  border-radius: 20px;
  background: var(--danger-soft);
  border: 1px solid #f6c9c4;
  margin-bottom: 20px;
}
.form-error strong {
  display: block;
  color: var(--royal-blue);
  margin-bottom: 4px;
}
.form-success[hidden],
.form-error[hidden] {
  display: none;
}
@media (max-width: 820px) {
  .form-grid {
    grid-template-columns: 1fr;
  }
  .order-recap {
    display: block;
  }
  .order-recap-icon {
    margin-bottom: 12px;
  }
  .order-recap-price {
    text-align: left;
    margin-top: 14px;
  }
}

/* Page contact (contact.html) */
.contact-hero {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 28px;
}
.contact-hero img {
  height: 44px;
}
.team-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.team-card {
  padding: 26px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
}
.team-avatar {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--royal-blue);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 1.8rem;
  font-weight: 800;
  margin-bottom: 14px;
  border: 3px solid var(--surface-soft);
}
.team-card.tone-b .team-avatar {
  background: var(--green-blue);
}
.team-card.tone-c .team-avatar {
  background: var(--sunny-yellow);
  color: var(--royal-blue);
}
.team-card h2 {
  font-size: 1.15rem;
  margin: 0;
}
.team-role {
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 700;
  margin: 2px 0 10px;
}
.team-note {
  font-size: 0.84rem;
  color: var(--muted);
  margin: 0 0 16px;
}
.team-links {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  margin-bottom: 14px;
}
.team-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--green-blue-dark);
  text-decoration: none;
}
.team-links a:hover {
  text-decoration: underline;
}
.team-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
@media (max-width: 820px) {
  .team-grid {
    grid-template-columns: 1fr;
  }
}

/* Menus d'actions compacts, inspirés de l'interface Into The Shift */
.action-more {
  position: relative;
  display: inline-block;
}
.action-more > summary {
  list-style: none;
  cursor: pointer;
  user-select: none;
}
.action-more > summary::-webkit-details-marker {
  display: none;
}
.action-more:not([open]) > .action-more-panel {
  display: none;
}
.action-more[open] > summary {
  background: var(--royal-blue-tint);
}
.action-more[open] .action-more-chevron {
  transform: rotate(180deg);
}
.action-more-chevron {
  transition: transform 0.18s ease;
}
.action-more-panel {
  top: calc(100% + 8px);
  right: 0;
  left: auto;
  z-index: 50;
}
.action-more-panel .button {
  min-height: 42px;
  border-radius: 10px;
  white-space: nowrap;
}
.campaign-action-bar {
  margin-top: auto;
  width: 100%;
}
.campaign-action-bar .action-more {
  margin-left: auto;
}
.campaign-action-bar .action-more > summary {
  white-space: nowrap;
}

@media (max-width: 700px) {
  .campaign-action-bar {
    align-items: stretch;
  }
  .campaign-action-bar > a.button {
    flex: 1 1 auto;
  }
  .campaign-action-bar .action-more {
    margin-left: 0;
  }
  .action-more-panel {
    right: auto;
    left: 0;
    max-width: min(290px, calc(100vw - 48px));
  }
}

/* Composer relié au catalogue API */
.composer-live {
  align-items: start;
}
.composer-alert {
  margin: 0 0 18px;
  padding: 12px 14px;
  border: 1px solid #efb0b0;
  background: #fff4f4;
  color: #8b1e1e;
  border-radius: 12px;
}
.composer-chapter-nav {
  display: grid;
  gap: 8px;
  margin-top: 18px;
}
.composer-chapter-button {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  text-align: left;
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 12px;
  padding: 11px 12px;
  color: var(--navy);
  cursor: pointer;
}
.composer-chapter-button span {
  display: grid;
  gap: 3px;
}
.composer-chapter-button small {
  color: var(--muted);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.composer-chapter-button.is-active {
  border-color: var(--royal-blue);
  background: var(--royal-blue-soft);
  box-shadow: 0 0 0 2px rgba(44, 83, 173, 0.08);
}
.composer-main-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}
.composer-situation-list {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}
.composer-situation {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 16px;
  background: #fff;
}
.composer-situation.is-unselected {
  opacity: 0.55;
  background: #f7f7f8;
}
.composer-situation-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}
.composer-select {
  display: flex;
  gap: 7px;
  align-items: center;
  font-size: 0.86rem;
  font-weight: 700;
  color: var(--navy);
}
.composer-origin {
  font-size: 0.78rem;
  color: var(--muted);
  background: #f3f5f9;
  border-radius: 999px;
  padding: 4px 8px;
}
.composer-situation h3 {
  font-size: 1rem;
  line-height: 1.45;
  margin: 0;
}
.composer-toggle {
  margin-top: 12px;
  border: 0;
  background: transparent;
  color: var(--royal-blue);
  font-weight: 800;
  padding: 0;
  cursor: pointer;
}
.composer-answers {
  display: grid;
  gap: 8px;
  margin-top: 13px;
  padding-top: 13px;
  border-top: 1px solid var(--border);
}
.composer-answer {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px 14px;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 10px 12px;
  background: #fafbfc;
}
.composer-answer.is-best {
  border-color: #85c69b;
  background: #effaf2;
}
.composer-score {
  font-size: 0.78rem;
  font-weight: 900;
  color: var(--navy);
  background: #edf1f7;
  border-radius: 999px;
  padding: 4px 8px;
}
.composer-best {
  grid-column: 1/-1;
  font-size: 0.77rem;
  font-weight: 900;
  color: #26763c;
}
.composer-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 14px;
}
.composer-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(10, 28, 52, 0.38);
  z-index: 80;
}
.composer-drawer {
  position: fixed;
  top: 0;
  right: -620px;
  width: min(600px, 100vw);
  height: 100dvh;
  background: #fff;
  z-index: 81;
  box-shadow: -18px 0 42px rgba(15, 34, 64, 0.18);
  transition: right 0.22s ease;
  overflow: auto;
  padding: 22px;
}
.composer-drawer.is-open {
  right: 0;
}
.composer-drawer-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  position: sticky;
  top: -22px;
  background: #fff;
  padding: 22px 0 14px;
  z-index: 2;
  border-bottom: 1px solid var(--border);
}
.composer-library-list {
  display: grid;
  gap: 12px;
  padding: 16px 0;
}
.composer-library-card {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 14px;
}
.composer-library-card h3 {
  font-size: 0.98rem;
  line-height: 1.45;
}
.composer-library-card details {
  margin: 10px 0;
}
.composer-library-card summary {
  cursor: pointer;
  color: var(--royal-blue);
  font-weight: 800;
  margin-bottom: 10px;
}
@media (max-width: 900px) {
  .composer-main-head {
    display: block;
  }
  .composer-main-head .button {
    margin-top: 12px;
  }
  .composer-answer {
    grid-template-columns: 1fr;
  }
  .composer-score {
    justify-self: start;
  }
}

/* Référentiel Excel Sexisme et verrouillage méthodologique */
.composer-lock-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  background: #eef4ff;
  color: var(--royal-blue);
  border: 1px solid #cbd8f0;
  padding: 6px 10px;
  font-size: 0.78rem;
  font-weight: 800;
}
.profile-chapter {
  margin-bottom: 32px;
}
.profile-excel-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.profile-excel-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 20px;
  box-shadow: var(--shadow-soft);
}
.profile-excel-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}
.profile-excel-head small {
  color: var(--muted);
  font-weight: 700;
}
.profile-color {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  flex: 0 0 auto;
}
.profile-method {
  background: var(--royal-blue-soft);
  border-radius: 10px;
  padding: 10px;
  font-size: 0.82rem;
  color: var(--royal-blue);
  font-weight: 700;
}
.parameter-form {
  padding: 28px;
}
.parameter-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.req {
  color: #c53030;
}
.composer-alert {
  padding: 14px 16px;
  border-radius: 12px;
  background: #fff1f1;
  border: 1px solid #f3b1b1;
  color: #9f1d1d;
  margin-bottom: 18px;
}
.parameter-form fieldset {
  border: 0;
  padding: 0 0 24px;
  margin: 0 0 24px;
  border-bottom: 1px solid var(--line);
}
.parameter-form legend {
  font-size: 1.15rem;
  font-weight: 900;
  color: var(--royal-blue);
  margin-bottom: 16px;
}
@media (max-width: 1000px) {
  .profile-excel-grid {
    grid-template-columns: 1fr;
  }
  .parameter-grid {
    grid-template-columns: 1fr;
  }
}

/* Composer v3 : bibliothèque fonctionnelle et cartes différenciées */
.composer-linked-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0.65rem 0 0.15rem;
  padding: 0.45rem 0.7rem;
  border-radius: 999px;
  background: #e8f7f7;
  color: #006b73;
  font-size: 0.84rem;
  font-weight: 800;
}
.legal-scoring-note {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
  margin: 1rem 0;
  padding: 1rem 1.1rem;
  border: 1px solid #f0c86a;
  border-left: 5px solid #e6a900;
  border-radius: 14px;
  background: #fff8df;
  color: #24365f;
}
.legal-scoring-note[hidden],
#library-button[hidden] {
  display: none !important;
}
.legal-scoring-note > span {
  font-size: 1.35rem;
  line-height: 1.2;
}
.legal-scoring-note strong {
  display: block;
  margin-bottom: 0.25rem;
}
.legal-scoring-note p {
  margin: 0;
  line-height: 1.5;
}
.button-danger-soft {
  background: #fff4f4;
  color: var(--danger);
  border-color: #f3c4c4;
}
.button-danger-soft:hover {
  background: #fdecec;
}
.composer-position-chip {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: var(--royal-blue-soft);
  color: var(--royal-blue);
  padding: 5px 10px;
  font-size: 0.78rem;
  font-weight: 900;
}
.composer-library-card {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 14px;
  position: relative;
  overflow: hidden;
  padding: 0;
  background: #fff;
}
.composer-library-card:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 6px;
  background: var(--green-blue);
}
.composer-library-card.tone-2:before {
  background: var(--sunny-yellow);
}
.composer-library-card.tone-3:before {
  background: var(--royal-blue);
}
.composer-library-card.tone-4:before {
  background: #77cd8a;
}
.composer-library-number {
  display: grid;
  place-items: center;
  align-self: stretch;
  background: var(--royal-blue-tint);
  font-size: 1.25rem;
  font-weight: 900;
  color: var(--royal-blue);
  padding: 18px 10px;
}
.composer-library-content {
  padding: 16px 16px 16px 0;
}
.composer-library-label {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 900;
  color: var(--green-blue-dark);
  margin-bottom: 6px;
}
.composer-translation-gap-badge {
  display: inline-flex;
  padding: 6px 10px;
  margin: 4px;
  border: 1px solid #be293e;
  border-radius: 20px;
  background: #fff0f2;
  color: #a51c30;
  font-size: .8rem;
  font-weight: 800;
}
.composer-translation-gap-alert {
  margin-bottom: 18px;
  padding: 18px;
  border: 2px solid #be293e;
  border-left-width: 6px;
  border-radius: 14px;
  background: #fff3f4;
  color: #822037;
}
.composer-translation-gap-alert strong { display: block; margin-bottom: 8px; }
.composer-translation-gap-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.composer-library-replacement {
  margin-top: 16px;
  min-width: 0;
}
.composer-library-replacement summary {
  cursor: pointer;
  color: var(--color-primary, #007f8b);
  font-weight: 700;
}
.composer-library-replacement label {
  display: block;
  margin: 12px 0 6px;
}
.composer-library-replacement select {
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.composer-library-replacement button:disabled {
  opacity: .5;
  cursor: not-allowed;
}
.composer-library-content h3 {
  font-size: 1rem;
  line-height: 1.5;
}
.composer-library-content .button {
  margin-top: 12px;
}
.composer-library-empty {
  padding: 24px;
  border: 1px dashed var(--line);
  border-radius: 16px;
  background: var(--surface-soft);
}
.composer-library-empty strong {
  display: block;
  margin-bottom: 4px;
}
.composer-library-empty p {
  color: var(--muted);
}
.composer-alert[data-tone="success"] {
  background: var(--success-soft);
  border-color: #bfe8cf;
  color: var(--success);
}

/* Paramétrage v3 : données socio-démographiques et niveau de vigilance */
.oblig-badge {
  display: inline-flex;
  margin-left: 8px;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--royal-blue-soft);
  font-size: 0.7rem;
  color: var(--royal-blue);
  vertical-align: middle;
}
.anonymity-guide {
  background: #eef6fb;
  border: 1px solid #d7e8f1;
  border-radius: 14px;
  padding: 16px;
  margin: 14px 0;
}
.anonymity-guide-title {
  font-weight: 900;
  color: var(--royal-blue);
  margin-bottom: 6px;
}
.anonymity-guide p {
  color: var(--muted);
  font-size: 0.9rem;
}
.anonymity-dosdonts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 12px;
}
.anonymity-dd {
  border-radius: 12px;
  padding: 12px;
  font-size: 0.84rem;
}
.anonymity-dd strong {
  display: block;
  margin-bottom: 3px;
}
.anonymity-dd.good {
  background: var(--success-soft);
  color: var(--success);
}
.anonymity-dd.warn {
  background: var(--warning-soft);
  color: var(--warning);
}
.anonymity-top-grid {
  display: grid;
  grid-template-columns: minmax(240px, 360px) minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
  margin: 16px 0;
}
.anonymity-summary-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 16px;
  background: var(--surface-soft);
}
.anonymity-summary-title {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.72rem;
  font-weight: 900;
  color: var(--muted);
}
.anonymity-level {
  font-size: 1.3rem;
  font-weight: 900;
  margin: 4px 0;
}
.anonymity-summary-text {
  font-size: 0.88rem;
  color: var(--muted);
}
.anonymity-summary-advice {
  font-size: 0.82rem;
  color: var(--muted);
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--line);
}
.anonymity-metrics {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin-top: 10px;
}
.anonymity-metric {
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 0.72rem;
  font-weight: 900;
  background: #fff;
  border: 1px solid var(--line);
  color: var(--muted);
}
.socio-card {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 16px;
  margin-bottom: 12px;
}
.socio-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.socio-card-num {
  font-size: 0.72rem;
  font-weight: 900;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.socio-delete,
.socio-delete-option {
  border: 0;
  background: #fff;
  color: var(--danger);
  border-radius: 8px;
  width: 30px;
  height: 30px;
  font-weight: 900;
}
.socio-options-head {
  display: grid;
  grid-template-columns: 1fr 130px;
  gap: 8px;
  font-size: 0.72rem;
  font-weight: 900;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0 38px 6px 0;
}
.socio-options-head span:last-child {
  text-align: center;
}
.socio-opts {
  display: grid;
  gap: 8px;
}
.socio-opt-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 130px 30px;
  gap: 8px;
}
.socio-opt-inp,
.socio-opt-count {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 9px 11px;
  background: #fff;
}
.socio-opt-count {
  font-weight: 900;
  text-align: center;
}
.socio-opt-hint {
  text-align: right;
  font-size: 0.72rem;
  font-weight: 900;
  margin: 3px 38px 0 0;
}
.socio-add-option {
  border: 0;
  background: transparent;
  color: var(--green-blue-dark);
  font-weight: 900;
  padding: 8px 0 0;
}
.profile-excel-grid {
  align-items: stretch;
}
@media (max-width: 760px) {
  .composer-library-card {
    grid-template-columns: 46px minmax(0, 1fr);
  }
  .anonymity-dosdonts,
  .anonymity-top-grid {
    grid-template-columns: 1fr;
  }
  .socio-options-head {
    display: none;
  }
  .socio-opt-row {
    grid-template-columns: 1fr 110px 30px;
  }
  .socio-opt-hint {
    margin-right: 38px;
  }
}

/* Brouillons persistés et récapitulatif de validation */
.drafts-section {
  margin-bottom: 26px;
}
.draft-campaigns-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.draft-card {
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.draft-card-main {
  min-width: 0;
}
.draft-card h3 {
  margin: 4px 0 5px;
}
.draft-card p {
  color: var(--muted);
  font-size: 0.9rem;
}
.draft-card-actions {
  flex: 0 0 auto;
}
.empty-drafts {
  padding: 24px;
}
.empty-drafts p {
  color: var(--muted);
  margin-top: 5px;
}
.validation-summary {
  padding: 24px;
}
.validation-check {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-weight: 600;
}
.validation-check input {
  margin-top: 4px;
}
.button-danger-soft {
  background: var(--danger-soft);
  color: var(--danger);
  border-color: #f6c9c4;
}
.button-danger-soft:hover {
  background: #fbd8d4;
}
.composer-alert[data-tone="success"] {
  background: var(--success-soft);
  border-color: #bfe8cf;
  color: var(--success);
}
@media (max-width: 820px) {
  .draft-campaigns-grid {
    grid-template-columns: 1fr;
  }
  .draft-card {
    align-items: flex-start;
    flex-direction: column;
  }
  .draft-card-actions,
  .draft-card-actions .button {
    width: 100%;
  }
}

/* Navigation des étapes précédentes */
.step-link {
  cursor: pointer;
  text-decoration: none;
  border-radius: 10px;
  padding: 6px 8px;
  transition:
    background 0.15s ease,
    color 0.15s ease;
}
.step-link:hover {
  background: var(--royal-blue-tint);
  color: var(--royal-blue);
}

/* Paramétrage : présentation en cartes, allégée façon Into The Shift, sans effet tableur */
.socio-card {
  background: #fff;
  border: 1px solid var(--line);
  border-left: 3px solid var(--green-blue);
  padding: 20px;
  box-shadow: 0 2px 10px rgba(39, 58, 100, 0.05);
}
.socio-card:nth-child(even) {
  border-left-color: var(--royal-blue);
}
.socio-card-head {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
}
.socio-number {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  background: var(--green-blue-soft);
  color: var(--green-blue-dark);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  font-weight: 900;
}
.socio-number small {
  font-size: 0.58rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.socio-question {
  margin: 0;
}
.socio-options-title {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px 34px;
  gap: 10px;
  margin: 14px 0 7px;
  padding: 0 2px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.socio-options-title span:nth-child(2) {
  text-align: center;
}
.socio-options {
  display: grid;
  gap: 2px;
}
.socio-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px 34px;
  gap: 10px;
  align-items: center;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  padding: 6px 2px;
}
.socio-options .socio-option:last-child {
  border-bottom: 0;
}
.socio-option input {
  border: 1px solid transparent;
  background: transparent;
  border-radius: 10px;
  padding: 9px 11px;
  min-height: 40px;
  transition:
    background 0.15s ease,
    border-color 0.15s ease;
}
.socio-option input:hover {
  background: var(--surface-soft);
}
.socio-option input:focus {
  background: #fff;
  border-color: var(--green-blue);
  box-shadow: var(--focus);
}
.socio-option input[type="number"] {
  text-align: center;
  font-weight: 700;
}
.socio-option-remove {
  border: 0;
  background: transparent;
  color: var(--muted);
  width: 30px;
  height: 30px;
  border-radius: 8px;
  font-size: 1.05rem;
  line-height: 1;
  cursor: pointer;
}
.socio-option-remove:hover:not(:disabled) {
  background: var(--danger-soft);
  color: var(--danger);
}
.socio-option-remove:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
@media (max-width: 760px) {
  .socio-card-head {
    grid-template-columns: 54px 1fr;
  }
  .socio-card-head .button {
    grid-column: 1/-1;
  }
  .socio-options-title {
    display: none;
  }
  .socio-option {
    grid-template-columns: 1fr 100px 34px;
  }
}

/* ==========================================================================
   SIDEBAR CENTRALISÉE ET RÉTRACTABLE
   Le contenu du menu et du bloc d’aide est généré uniquement par app.js.
   ========================================================================== */
.app-shell {
  transition: grid-template-columns 0.2s ease;
}
.sidebar {
  transition:
    width 0.2s ease,
    padding 0.2s ease;
  overflow-x: hidden;
  overflow-y: auto;
}
.sidebar-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.sidebar-head .brand {
  min-width: 0;
}
.sidebar-collapse {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--royal-blue);
  display: grid;
  place-items: center;
  cursor: pointer;
}
.sidebar-collapse:hover {
  background: var(--royal-blue-tint);
}
.sidebar-collapse svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 0.2s ease;
}
body.sidebar-collapsed .app-shell {
  grid-template-columns: 92px minmax(0, 1fr);
}
body.sidebar-collapsed .sidebar {
  padding: 20px 14px;
}
body.sidebar-collapsed .sidebar-head {
  display: grid;
  justify-items: center;
}
body.sidebar-collapsed .sidebar-collapse svg {
  transform: rotate(180deg);
}
body.sidebar-collapsed .brand {
  align-items: center;
  margin-bottom: 14px;
}
body.sidebar-collapsed .brand img {
  width: 54px;
}
body.sidebar-collapsed .studio-pill,
body.sidebar-collapsed .nav a:not([aria-label])::after,
body.sidebar-collapsed .nav a {
  font-size: 0;
}
body.sidebar-collapsed .nav a {
  justify-content: center;
  gap: 0;
  padding: 10px;
}
body.sidebar-collapsed .nav a span {
  width: 34px;
  height: 34px;
}
body.sidebar-collapsed .help-card {
  display: none;
}
body.sidebar-collapsed .nav-secondary {
  padding-top: 8px;
}
body.sidebar-collapsed .profile {
  justify-content: center;
  padding-top: 12px;
}
body.sidebar-collapsed .profile-copy {
  display: none;
}
body.sidebar-collapsed .avatar {
  width: 36px;
  height: 36px;
}
body.sidebar-collapsed .main {
  padding-left: 10px;
  padding-right: 10px;
}
@media (min-width: 821px) {
  body.sidebar-collapsed .nav a {
    position: relative;
  }
  body.sidebar-collapsed .nav a:hover::after,
  body.sidebar-collapsed .nav a:focus-visible::after {
    content: attr(aria-label);
  }
}
@media (max-width: 820px) {
  .sidebar-collapse {
    display: none;
  }
  body.sidebar-collapsed .app-shell {
    display: block;
  }
}

/* Authentification, cockpit admin et crédits */
.login-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}
.login-shell {
  width: min(460px, 100%);
}
.login-card {
  padding: 34px;
  display: grid;
  gap: 16px;
}
.login-card > img {
  width: 150px;
}
.login-card h1 {
  font-size: 2rem;
}
.login-card form {
  display: grid;
}
.login-card form[hidden] {
  display: none;
}
.login-help {
  color: var(--muted);
  font-size: 0.86rem;
}
.login-forgot {
  display: inline-flex;
  justify-self: start;
  color: var(--green-blue-dark);
  font-size: 0.86rem;
  font-weight: 850;
  text-decoration: none;
}
.login-forgot:hover {
  text-decoration: underline;
}
.login-connect-button {
  width: 100%;
  justify-content: center;
  text-decoration: none;
}
.login-card .composer-alert.success {
  background: #eaf8f1;
  color: #216b4a;
  border-color: #a9ddc3;
}
.login-card .composer-alert.success a {
  color: inherit;
  font-weight: 900;
}
.review-workflow {
  margin: 24px 0;
  padding: 24px;
  border-left: 6px solid var(--green-blue);
}
.review-status {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin: 16px 0;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--royal-blue-tint);
}
.review-status span {
  color: var(--muted);
  font-weight: 700;
}
.review-status strong {
  color: var(--green-blue-dark);
}
.review-edit-links {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 16px 0;
}
.review-workflow textarea {
  width: 100%;
  resize: vertical;
}
.review-ready {
  margin: 14px 0;
  padding: 14px;
  border-radius: 14px;
  background: var(--success-soft);
  color: var(--success);
  font-weight: 800;
}
.engine-file-action {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
}

.engine-file-action section {
  width: 100%;
}

.engine-file-action h3 {
  margin: 6px 0 4px;
  font-size: 1rem;
}

.engine-file-action p {
  margin: 0 0 6px;
}

.engine-file-action ul {
  margin: 0;
  padding-left: 20px;
}

.engine-file-fields {
  display: grid;
  grid-template-columns: minmax(110px, max-content) 1fr;
  gap: 4px 16px;
  margin: 6px 0;
}

.engine-file-fields dt {
  font-weight: 700;
}

.engine-file-fields dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.engine-file-rules {
  margin: 6px 0 10px;
  padding: 10px 12px;
  border-left: 3px solid currentColor;
}

.engine-file-note {
  font-size: 0.9rem;
}

.review-ready-action,
.review-client-confirmed {
  display: grid;
  gap: 8px;
  margin: 16px 0;
  padding: 18px;
  border: 1px solid #9bd8bd;
  border-radius: 16px;
  background: #edf9f3;
  color: #176044;
}
.review-ready-action .button {
  justify-self: start;
  margin-top: 5px;
}
.review-ready-action span,
.review-client-confirmed span {
  line-height: 1.5;
}
.review-status.is-adjustment,
.review-adjustment-pending {
  background: #fff4df;
  border: 1px solid #f1bf62;
  color: #7a4b00;
}
.review-adjustment-pending {
  margin: 14px 0;
  padding: 16px 18px;
  border-radius: 16px;
}
.review-adjustment-pending p {
  margin: 7px 0;
}
.review-adjustment-pending ul {
  margin: 8px 0 0;
  padding-left: 20px;
}
.adjustment-dialog {
  width: min(720px, calc(100vw - 32px));
}
.adjustment-dialog form {
  display: grid;
  gap: 16px;
}
.adjust-targets {
  display: grid;
  gap: 8px;
  max-height: 230px;
  overflow: auto;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
}
.adjust-targets label {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  padding: 8px;
  border-radius: 9px;
  background: #f7f9fb;
}
.adjust-targets label[hidden] {
  display: none;
}
.adjust-summary {
  padding: 13px 15px;
  border-radius: 13px;
  background: #f3edff;
  border-left: 4px solid #8d5bc6;
  color: #593182;
}
.review-client-decision {
  display: grid;
  gap: 12px;
  margin-top: 16px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}
.review-history {
  margin-top: 18px;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}
.review-history summary {
  font-weight: 800;
  cursor: pointer;
}
.review-history p {
  margin-top: 8px;
  color: var(--muted);
  font-size: 0.86rem;
}
.review-diff {
  margin: 18px 0;
}
.review-diff h3 {
  margin-bottom: 10px;
}
.review-diff-scroll {
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 14px;
}
.review-diff table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
}
.review-diff th,
.review-diff td {
  padding: 11px 12px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  font-size: 0.84rem;
}
.review-diff thead th {
  background: var(--royal-blue-tint);
  color: var(--royal-blue);
}
.review-diff tbody th {
  width: 22%;
  color: var(--green-blue-dark);
}
.review-no-diff {
  margin: 14px 0;
  color: var(--muted);
}
.review-diff-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 12px;
}
.review-diff-head h3 {
  margin: 0;
}
.review-diff-head p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 0.86rem;
}
.review-version-legend {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.review-version-legend span {
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 900;
}
.review-version-legend .is-client {
  background: #e9f3ff;
  color: #245b91;
}
.review-version-legend .is-meayt {
  background: #fff0ed;
  color: #a44449;
}
.review-diff .review-client-version {
  background: #f3f8ff;
  border-left: 3px solid #8ebce8;
}
.review-diff .review-meayt-version {
  background: #fff5f2;
  border-left: 3px solid #eb8d83;
}
.review-diff thead .review-client-version {
  color: #245b91;
}
.review-diff thead .review-meayt-version {
  color: #9c3f45;
}
.review-correction-mode,
.review-action-intro {
  display: grid;
  gap: 5px;
  margin: 16px 0;
  padding: 16px 18px;
  border-radius: 16px;
}
.review-correction-mode {
  border: 1px solid #f0aaa3;
  background: #fff2ef;
  color: #7f3438;
}
.review-action-intro {
  border: 1px solid #a9dfcf;
  background: #edf9f5;
  color: #17634e;
}
.review-correction-mode span,
.review-action-intro span {
  font-size: 0.86rem;
  line-height: 1.45;
}
.review-summary-copy {
  padding: 12px 14px;
  border-radius: 12px;
  background: #fff3ef;
  color: #7f3438;
}
.review-no-diff-success {
  padding: 13px 15px;
  border-radius: 13px;
  background: #edf9f5;
  color: #17634e;
  font-weight: 800;
}
@media (max-width: 620px) {
  .review-status {
    align-items: flex-start;
    flex-direction: column;
  }
  .review-workflow .top-actions {
    align-items: stretch;
  }
  .review-workflow .button {
    width: 100%;
  }
  .review-diff-head {
    align-items: flex-start;
    flex-direction: column;
  }
}
.set-password-page {
  min-height: 100svh;
  padding: 12px;
}
.set-password-page .login-shell {
  width: min(440px, 100%);
}
.set-password-page .login-card {
  padding: 22px 26px;
  gap: 10px;
}
.set-password-page .login-card > img {
  width: 120px;
}
.set-password-page .login-card h1 {
  font-size: 1.65rem;
  line-height: 1.12;
}
.set-password-page #password-intro {
  font-size: 0.92rem;
  line-height: 1.4;
}
.set-password-page .field {
  gap: 4px;
  margin-bottom: 10px;
}
.set-password-page .field input {
  min-height: 40px;
  padding: 8px 11px;
}
.set-password-page .field .hint {
  font-size: 0.76rem;
}
.set-password-page .button {
  min-height: 42px;
  padding: 9px 16px;
}
@media (max-width: 480px) {
  .set-password-page {
    padding: 8px;
  }
  .set-password-page .login-card {
    padding: 18px 20px;
  }
  .set-password-page .login-card > img {
    width: 108px;
  }
}
.sidebar-logout {
  border: 0;
  background: transparent;
  color: var(--green-blue-dark);
  padding: 4px 0;
  font-size: 0.78rem;
  font-weight: 800;
  text-align: left;
}
.admin-org-grid {
  display: grid;
  gap: 18px;
}
.admin-org-card {
  padding: 22px;
}
.admin-org-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 16px;
}
.admin-org-head p {
  color: var(--muted);
  font-size: 0.88rem;
  margin-top: 4px;
}
.admin-quota-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.admin-quota-grid label {
  display: grid;
  gap: 5px;
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--muted);
}
.admin-quota-grid input {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px;
}
.admin-quota-grid strong {
  font-size: 1.45rem;
  color: var(--green-blue-dark);
}
.admin-details {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}
.admin-details h3 {
  margin: 12px 0 6px;
}
.admin-details p {
  padding: 6px 0;
  border-bottom: 1px solid var(--line);
  font-size: 0.88rem;
}
.admin-dialog {
  position: relative;
  width: min(620px, calc(100vw - 32px));
  border: 0;
  border-radius: 22px;
  padding: 26px;
  box-shadow: var(--shadow-lg);
}
.admin-dialog::backdrop {
  background: rgba(20, 25, 40, 0.45);
}
.admin-dialog h2 {
  margin: 0 44px 8px 0;
}
.admin-dialog-intro {
  margin: 0 44px 18px 0;
  color: var(--muted);
}
.admin-dialog-close {
  position: absolute;
  top: 16px;
  right: 16px;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #f2f5f8;
  color: var(--ink);
  font:
    700 25px/1 Arial,
    sans-serif;
  cursor: pointer;
}
.admin-dialog-close:hover,
.admin-dialog-close:focus-visible {
  background: #e5edf2;
  outline: 2px solid var(--teal);
  outline-offset: 2px;
}
.admin-dialog-wide {
  width: min(920px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  overflow: auto;
}
.admin-sector-fieldset {
  margin: 18px 0 22px;
  padding: 18px;
  border: 1px solid #cfe0ea;
  border-radius: 18px;
  background: #f7fafc;
}
.admin-sector-fieldset legend {
  padding: 0 7px;
  color: #18375d;
  font-weight: 900;
}
.admin-sector-fieldset > p {
  margin: 0 0 12px;
  color: #60758a;
  font-size: 0.82rem;
}
.admin-sector-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.admin-sector-grid label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 9px 10px;
  border: 1px solid #dbe6ec;
  border-radius: 11px;
  background: #fff;
  color: #354d68;
  font-size: 0.78rem;
  font-weight: 750;
  cursor: pointer;
}
.admin-sector-grid label:has(input:checked) {
  border-color: #43a6a4;
  background: #e8f7f5;
  color: #006d70;
}
.admin-sector-grid input {
  flex: 0 0 auto;
  width: 17px;
  height: 17px;
  margin: 0;
  accent-color: #007883;
}
.admin-field-error {
  margin-top: 10px;
  padding: 9px 11px;
  border-radius: 9px;
  background: #fff0f0;
  color: #a52f2f;
  font-size: 0.8rem;
  font-weight: 850;
}
.admin-field-error[hidden] {
  display: none;
}
.admin-contacts-section {
  margin: 22px 0;
  padding: 18px;
  border: 1px solid #cfe0ea;
  border-radius: 18px;
  background: #f7fafc;
}
.admin-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.admin-section-head h3 {
  margin: 0;
  color: #18375d;
}
.admin-section-head p {
  margin: 4px 0 0;
  color: #60758a;
  font-size: 0.82rem;
}
#org-contacts {
  display: grid;
  gap: 12px;
}
.admin-contact-card {
  padding: 15px;
  border: 1px solid #d8e3ea;
  border-radius: 15px;
  background: #fff;
}
.admin-contact-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  color: #18375d;
}
.admin-contact-remove {
  border: 0;
  background: transparent;
  color: #b43d3d;
  font:
    800 0.76rem Asap,
    sans-serif;
  cursor: pointer;
}
.admin-contact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 11px;
}
.admin-contact-grid label {
  display: grid;
  gap: 5px;
  color: #536786;
  font-size: 0.75rem;
  font-weight: 850;
}
.admin-contact-grid input {
  width: 100%;
  min-height: 43px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  font: inherit;
}
.admin-invitation-note {
  margin: 12px 0 0;
  padding: 10px 12px;
  border-radius: 10px;
  background: #eaf7f7;
  color: #0d6170;
  font-size: 0.78rem;
  font-weight: 800;
}
.admin-user-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}
.admin-user-row p {
  flex: 1;
  border: 0;
  margin: 0;
}
.admin-user-row .button {
  flex: 0 0 auto;
}
@media (max-width: 760px) {
  .admin-section-head {
    display: grid;
  }
  .admin-contact-grid,
  .admin-sector-grid {
    grid-template-columns: 1fr;
  }
  .admin-dialog-wide {
    padding: 20px;
  }
}
.passation-credit-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  background: linear-gradient(135deg, var(--royal-blue), var(--green-blue));
  color: #fff;
  border-radius: 20px;
  padding: 20px;
  margin-top: 14px;
}
.passation-credit-card h3 {
  color: #fff;
  font-size: 1.05rem;
}
.passation-credit-card p {
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.88rem;
  margin-top: 4px;
}
.credit-stats {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.credit-stat {
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  padding: 9px 12px;
  min-width: 95px;
}
.credit-stat strong {
  display: block;
  font-size: 1.25rem;
}
.credit-stat span {
  font-size: 0.72rem;
  opacity: 0.82;
}
.credit-status {
  font-weight: 900;
  margin-top: 10px;
}
.passation-credit-card .button {
  background: #fff;
  color: var(--royal-blue);
}
.validation-credit {
  padding: 20px;
  margin: 20px 0;
}
.validation-credit-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 14px;
}
.validation-credit-item {
  background: var(--surface-soft);
  border-radius: 14px;
  padding: 14px;
}
.validation-credit-item span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}
.validation-credit-item strong {
  display: block;
  font-size: 1.2rem;
  margin-top: 3px;
}
@media (max-width: 820px) {
  .admin-quota-grid,
  .validation-credit-grid {
    grid-template-columns: 1fr 1fr;
  }
  .passation-credit-card {
    grid-template-columns: 1fr;
  }
  .admin-dialog {
    padding: 20px;
  }
}
@media (max-width: 520px) {
  .admin-quota-grid,
  .validation-credit-grid {
    grid-template-columns: 1fr;
  }
}

/* Modales partagées — confirmations, saisies et erreurs */
body.studio-modal-open {
  overflow: hidden;
}
.studio-modal {
  width: min(590px, calc(100vw - 32px));
  max-height: min(760px, calc(100vh - 32px));
  padding: 0;
  border: 0;
  border-radius: 24px;
  background: transparent;
  box-shadow: none;
  color: var(--ink);
  overflow: visible;
}
.studio-modal::backdrop {
  background: rgba(13, 36, 52, 0.62);
  backdrop-filter: blur(4px);
}
.studio-modal-shell {
  position: relative;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 0 18px;
  padding: 30px;
  background: #fff;
  border: 1px solid rgba(13, 76, 114, 0.12);
  border-radius: 24px;
  box-shadow: 0 28px 80px rgba(13, 36, 52, 0.28);
}
.studio-modal-icon {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: var(--royal-blue-tint);
  color: var(--royal-blue);
}
.studio-modal-icon::before {
  content: "i";
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border: 2px solid currentColor;
  border-radius: 50%;
  font:
    900 16px/1 Asap,
    sans-serif;
}
.studio-modal[data-type="danger"] .studio-modal-icon,
.studio-modal[data-type="error"] .studio-modal-icon {
  background: #fff0ef;
  color: #bc3d3d;
}
.studio-modal[data-type="danger"] .studio-modal-icon::before {
  content: "!";
}
.studio-modal[data-type="error"] .studio-modal-icon::before {
  content: "×";
  font-size: 21px;
}
.studio-modal-copy {
  min-width: 0;
  padding-right: 32px;
}
.studio-modal-copy .eyebrow {
  margin: 1px 0 6px;
  color: var(--green-blue-dark);
}
.studio-modal-copy h2 {
  margin: 0;
  font-size: 1.45rem;
  line-height: 1.2;
  color: var(--ink);
}
.studio-modal-message {
  margin: 12px 0 0;
  color: var(--muted);
  line-height: 1.6;
  white-space: pre-line;
}
.studio-modal-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--surface-soft);
  color: var(--ink);
  font:
    700 25px/1 Arial,
    sans-serif;
  cursor: pointer;
}
.studio-modal-close:hover,
.studio-modal-close:focus-visible {
  background: #e5edf2;
  outline: 2px solid var(--teal);
  outline-offset: 2px;
}
.studio-modal-field {
  grid-column: 1/-1;
  margin-top: 22px;
}
.studio-modal-field label {
  display: block;
  margin-bottom: 8px;
  font-size: 0.84rem;
  font-weight: 900;
  color: var(--ink);
}
.studio-modal-field textarea {
  width: 100%;
  resize: vertical;
  min-height: 150px;
  max-height: 330px;
  border: 1px solid var(--line);
  border-radius: 15px;
  padding: 14px 15px;
  background: #fbfcfd;
  color: var(--ink);
  font:
    500 0.96rem/1.55 Asap,
    sans-serif;
  transition:
    border-color 0.15s,
    box-shadow 0.15s;
}
.studio-modal-field textarea:focus {
  outline: 0;
  border-color: var(--teal);
  box-shadow: 0 0 0 4px rgba(25, 153, 146, 0.13);
  background: #fff;
}
.studio-modal-field textarea[aria-invalid="true"] {
  border-color: #bc3d3d;
  box-shadow: 0 0 0 4px rgba(188, 61, 61, 0.1);
}
.studio-modal-field-error {
  display: block;
  margin-top: 7px;
  color: #a93030;
  font-weight: 800;
}
.studio-modal-actions {
  grid-column: 1/-1;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 26px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.studio-modal-danger {
  background: #bc3d3d;
  color: #fff;
  border-color: #bc3d3d;
}
.studio-modal-danger:hover,
.studio-modal-danger:focus-visible {
  background: #9f2f2f;
  border-color: #9f2f2f;
}
@media (max-width: 560px) {
  .studio-modal {
    width: min(100% - 20px, 590px);
  }
  .studio-modal-shell {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 0 13px;
    padding: 22px 18px;
  }
  .studio-modal-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
  }
  .studio-modal-copy {
    padding-right: 26px;
  }
  .studio-modal-copy h2 {
    font-size: 1.2rem;
  }
  .studio-modal-close {
    top: 12px;
    right: 12px;
    width: 34px;
    height: 34px;
  }
  .studio-modal-actions {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 20px;
  }
  .studio-modal-actions .button {
    width: 100%;
  }
  .studio-modal-actions [data-modal-confirm] {
    order: -1;
  }
}

.admin-custom-credit {
  margin-top: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface-soft);
}
.admin-custom-credit[hidden] {
  display: none;
}
.admin-custom-credit label {
  font-size: 0.78rem;
  color: var(--royal-blue);
  font-weight: 800;
}
.admin-custom-credit input {
  width: 100%;
  margin-top: 6px;
}

/* Paramétrage : sous-critères socio-démographiques conditionnels (niveau 2) */
.socio-option-block {
  border-bottom: 1px solid var(--line);
}
.socio-option-block > .socio-option {
  border-bottom: 0;
}
.socio-add-sub {
  margin: 0 0 8px 12px;
  border: 0;
  background: transparent;
  color: var(--royal-blue);
  font-size: 0.78rem;
  font-weight: 800;
  cursor: pointer;
}
.socio-add-sub:hover {
  text-decoration: underline;
}
.socio-subcriterion {
  margin: 4px 8px 14px 28px;
  padding: 14px 16px;
  border: 1px solid #cfe0ef;
  border-left: 4px solid var(--royal-blue);
  border-radius: 14px;
  background: #f5f9fd;
}
.socio-sub-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}
.socio-level-badge {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  background: var(--royal-blue-soft);
  color: var(--royal-blue);
  font-size: 0.72rem;
  font-weight: 900;
}
.socio-sub-remove {
  border: 0;
  background: transparent;
  color: var(--danger);
  font-weight: 800;
  cursor: pointer;
}
.socio-subcriterion .field {
  margin-bottom: 10px;
}
.socio-sub-options {
  display: grid;
  gap: 5px;
}
.socio-sub-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px 34px;
  gap: 10px;
  align-items: center;
}
.socio-sub-option input {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 10px;
  padding: 9px 11px;
  min-height: 40px;
}
.socio-sub-option input[type="number"] {
  text-align: center;
  font-weight: 700;
}
@media (max-width: 760px) {
  .socio-option,
  .socio-sub-option {
    grid-template-columns: 1fr 100px 34px;
  }
  .socio-subcriterion {
    margin-left: 6px;
  }
  .socio-sub-head {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Paramétrage UX — crédits, dates et vigilance DSD */
.parameter-grid > .field {
  display: grid;
  grid-template-rows: minmax(42px, auto) 46px auto;
  align-content: start;
}
.parameter-grid > .field > label {
  display: flex;
  align-items: flex-end;
}
.parameter-grid > .field > input {
  height: 46px;
}
.respondent-volume-card {
  max-width: 430px;
  margin: 14px 0;
  padding: 16px 18px;
  border: 1px solid #cbddec;
  border-radius: 16px;
  background: #f5f9fd;
}
.respondent-volume-card .field {
  margin: 0;
}
.respondent-volume-card input {
  height: 48px;
  background: #fff;
  border: 2px solid var(--royal-blue);
  font-size: 1.05rem;
  font-weight: 900;
}
.respondent-volume-card .hint {
  display: block;
  margin-top: 7px;
  color: var(--royal-blue);
  font-weight: 700;
}
.credit-stat.waiting {
  min-width: 118px;
  background: rgba(255, 255, 255, 0.08);
  border-style: dashed;
}
.credit-stat.waiting strong {
  font-size: 0.9rem;
  line-height: 1.6;
}
.credit-stat.filled {
  background: rgba(255, 255, 255, 0.24);
}
.inline-packs {
  margin-top: 14px;
  padding: 18px;
  border: 1px solid #cfe4ea;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff, #f5fafc);
  box-shadow: 0 14px 35px rgba(13, 76, 114, 0.1);
}
.inline-packs[hidden] {
  display: none;
}
.inline-packs-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 14px;
}
.inline-packs-head strong {
  display: block;
  color: var(--royal-blue);
  font-size: 1.05rem;
}
.inline-packs-head span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.84rem;
}
.inline-packs-close {
  border: 0;
  background: var(--surface-soft);
  color: var(--ink);
  width: 34px;
  height: 34px;
  border-radius: 50%;
  font-size: 1.25rem;
  cursor: pointer;
}
.inline-pack-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 9px;
}
.inline-pack-grid a {
  position: relative;
  display: flex;
  min-height: 102px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 12px 8px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
  color: var(--ink);
  text-align: center;
  text-decoration: none;
  transition:
    transform 0.15s,
    border-color 0.15s,
    box-shadow 0.15s;
}
.inline-pack-grid a:hover,
.inline-pack-grid a:focus-visible {
  transform: translateY(-2px);
  border-color: var(--green-blue);
  box-shadow: 0 9px 20px rgba(13, 76, 114, 0.12);
  outline: 0;
}
.inline-pack-grid strong {
  font-size: 1.15rem;
  color: var(--royal-blue);
}
.inline-pack-grid em {
  font-style: normal;
  font-weight: 900;
  color: var(--green-blue-dark);
  font-size: 0.82rem;
  margin: 3px 0;
}
.inline-pack-grid span {
  font-size: 0.69rem;
  color: var(--muted);
}
.inline-pack-grid b {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding: 3px;
  border-radius: 12px 12px 0 0;
  background: var(--warning-soft);
  color: var(--warning);
  font-size: 0.59rem;
}
.inline-pack-grid a.popular {
  border: 2px solid var(--warning);
}
.inline-pack-grid a.enterprise {
  border: 2px solid var(--royal-blue);
}
.inline-pack-grid a.enterprise b {
  background: var(--royal-blue-soft);
  color: var(--royal-blue);
}
.inline-pack-grid a.unlimited {
  background: var(--ink);
  border-color: var(--ink);
}
.inline-pack-grid a.unlimited strong,
.inline-pack-grid a.unlimited em {
  color: #fff;
}
.inline-pack-grid a.unlimited span {
  color: rgba(255, 255, 255, 0.75);
}
.anonymity-top-grid.summary-only {
  display: block;
}
.anonymity-top-grid.summary-only .anonymity-summary-card {
  width: 100%;
  min-height: 0;
}
.socio-options-title {
  display: none;
}
.socio-option-block {
  padding: 8px 0 12px;
}
.socio-option-unit {
  min-width: 0;
}
.socio-option,
.socio-sub-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px 34px;
  gap: 12px;
  align-items: end;
  padding: 0;
  border: 0;
}
.socio-answer-field,
.socio-count-field {
  display: grid;
  gap: 5px;
}
.socio-answer-field > span,
.socio-count-field > span {
  font-size: 0.68rem;
  font-weight: 900;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.socio-answer-field input,
.socio-count-field input,
.socio-sub-option .socio-answer-field input,
.socio-sub-option .socio-count-field input {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 11px;
  background: #fff;
  color: var(--ink);
}
.socio-answer-field input:focus,
.socio-count-field input:focus {
  outline: 0;
  border-color: var(--royal-blue);
  box-shadow: 0 0 0 3px rgba(13, 76, 114, 0.1);
}
.socio-count-field input {
  text-align: center;
  font-weight: 900;
}
.socio-count-field.danger input {
  border: 2px solid #d14949;
  background: #fff4f4;
  color: #a32626;
}
.socio-count-field.warning input {
  border: 2px solid #d69b16;
  background: #fff9e9;
  color: #946400;
}
.socio-count-field.success input {
  border: 2px solid #2f8c62;
  background: #f0faf5;
  color: #216b4a;
}
.socio-option-hint {
  margin: 5px 46px 0 auto;
  width: 190px;
  font-size: 0.7rem;
  font-weight: 900;
  text-align: left;
}
.socio-option-hint.empty {
  color: var(--muted);
}
.socio-option-hint.danger {
  color: #a32626;
}
.socio-option-hint.warning {
  color: #946400;
}
.socio-option-hint.success {
  color: #216b4a;
}
.anonymity-live-alert {
  display: grid;
  gap: 4px;
  margin: 0 0 14px;
  padding: 14px 16px;
  border-radius: 13px;
}
.anonymity-live-alert[hidden] {
  display: none;
}
.anonymity-live-alert strong {
  font-size: 0.9rem;
}
.anonymity-live-alert span {
  font-size: 0.82rem;
  line-height: 1.45;
}
.anonymity-live-alert.danger {
  border: 1px solid #efaaaa;
  background: #fff1f1;
  color: #8e2020;
}
.anonymity-live-alert.warning {
  border: 1px solid #efd18b;
  background: #fff8e7;
  color: #805a08;
}
@media (max-width: 1050px) {
  .inline-pack-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .parameter-grid > .field {
    display: block;
  }
  .parameter-grid > .field > label {
    display: block;
    min-height: 0;
  }
  .parameter-grid > .field > input {
    width: 100%;
  }
  .respondent-volume-card {
    max-width: none;
  }
  .inline-pack-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .socio-option,
  .socio-sub-option {
    grid-template-columns: minmax(0, 1fr) 120px 34px;
  }
  .socio-option-hint {
    width: 120px;
  }
  .inline-packs-head {
    flex-direction: column;
  }
  .inline-packs-close {
    position: absolute;
    right: 28px;
  }
}

/* Paramétrage — cartes packs alignées sur l'expérience Into The Shift */
.inline-packs {
  margin: 16px 0 0;
  padding: 22px;
  border: 1px solid #c6e0e8;
  border-radius: 22px;
  background: #fbfdfe;
  box-shadow: none;
}
.inline-packs-head {
  margin-bottom: 18px;
  padding: 0 2px;
}
.inline-packs-head strong {
  font-size: 1.08rem;
  color: #18375d;
}
.inline-packs-head span {
  max-width: 980px;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #536786;
}
.inline-packs-head small {
  display: block;
  margin-top: 6px;
  color: #75839b;
  font-size: 0.75rem;
}
.inline-packs-close {
  flex: 0 0 auto;
  background: #eef4f7;
  color: #496079;
}
.inline-pack-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 11px;
}
.inline-pack-grid a {
  align-items: flex-start;
  justify-content: center;
  min-height: 132px;
  padding: 18px 13px;
  border: 1px solid #d7e0eb;
  border-radius: 18px;
  background: #fff;
  text-align: left;
  box-shadow: 0 7px 15px rgba(24, 55, 93, 0.045);
}
.inline-pack-grid a:hover,
.inline-pack-grid a:focus-visible {
  transform: translateY(-2px);
  border-color: #5db8c5;
  box-shadow: 0 10px 20px rgba(24, 55, 93, 0.09);
}
.inline-pack-grid strong {
  font-size: 1.42rem;
  line-height: 1;
  color: #18375d;
}
.inline-pack-grid em {
  margin: 7px 0 6px;
  color: #007883;
  font-size: 0.9rem;
  line-height: 1;
}
.inline-pack-grid span {
  color: #8b98ae;
  font-size: 0.69rem;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}
.inline-pack-grid b {
  position: static;
  display: inline-flex;
  margin: 0 0 11px;
  padding: 4px 9px;
  border: 1px solid #ecbc42;
  border-radius: 999px;
  background: #fff;
  color: #9b6b00;
  font-size: 0.61rem;
}
.inline-pack-grid a.popular {
  border: 1px solid #f1b72a;
  background: linear-gradient(135deg, #fff9df, #ffefb4);
}
.inline-pack-grid a.popular strong,
.inline-pack-grid a.popular em {
  color: #9a6300;
}
.inline-pack-grid a.enterprise {
  border: 1px solid #72c1d3;
  background: linear-gradient(135deg, #f0fbfd, #dff4f8);
}
.inline-pack-grid a.enterprise b {
  border-color: #72c1d3;
  background: #fff;
  color: #18375d;
}
.inline-pack-grid a.unlimited {
  border: 1px solid #0b6176;
  background: linear-gradient(145deg, #24416d, #007883);
  box-shadow: none;
}
.inline-pack-grid a.unlimited strong {
  font-size: 1.38rem;
}
.inline-pack-grid a.unlimited strong,
.inline-pack-grid a.unlimited em,
.inline-pack-grid a.unlimited span {
  color: #fff;
}

/* Solde du pack : carte colorée, sans double encart ni ombre superflue */
.passation-credit-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  margin-top: 14px;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 24px;
  background: linear-gradient(145deg, #236b8c 0%, #087c87 70%, #007783 100%);
  box-shadow: none;
}
.passation-credit-card::before,
.passation-credit-card::after {
  content: "";
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.09);
}
.passation-credit-card::before {
  width: 260px;
  height: 260px;
  left: -90px;
  top: -150px;
}
.passation-credit-card::after {
  width: 230px;
  height: 230px;
  right: -80px;
  top: -115px;
}
.passation-credit-card > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
}
.passation-credit-card h3 {
  order: 1;
  margin: 0 0 12px;
  font-size: 1.35rem;
}
.passation-credit-card h3::before {
  content: "🎟️  MON PACK DE PASSATIONS";
  display: block;
  margin-bottom: 5px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.05em;
}
.passation-credit-card .credit-stats {
  order: 2;
  display: grid;
  grid-template-columns: repeat(4, minmax(105px, 1fr));
  gap: 10px;
  margin: 0 0 14px;
}
.passation-credit-card .credit-stat {
  position: relative;
  min-width: 0;
  padding: 15px 12px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.13);
  text-align: center;
}
.passation-credit-card .credit-stat strong {
  font-size: 1.5rem;
  color: #fff;
}
.passation-credit-card .credit-stat span {
  font-size: 0.66rem;
  font-weight: 900;
  text-transform: uppercase;
}
.passation-credit-card .credit-stat:nth-child(1) span::before {
  content: "🎟️ ";
}
.passation-credit-card .credit-stat:nth-child(2) span::before {
  content: "✅ ";
}
.passation-credit-card .credit-stat:nth-child(3) span::before {
  content: "🚀 ";
}
.passation-credit-card .credit-stat:nth-child(4) span::before {
  content: "🎯 ";
}
.passation-credit-card p {
  order: 3;
  margin: 0 0 10px;
  padding: 12px 15px;
  border-radius: 14px;
  background: #fff;
  color: #18375d;
  font-weight: 800;
}
.passation-credit-card .credit-status {
  order: 4;
  margin: 0;
  padding: 12px 15px;
  border-radius: 14px;
  background: #fff;
  color: #18375d;
}
.passation-credit-card.warn .credit-status {
  background: #fff2d7;
  color: #8c5b00;
}
.passation-credit-card .button {
  position: relative;
  z-index: 1;
  align-self: center;
  border: 0;
  background: #ffca43;
  color: #18375d;
  box-shadow: none;
}
.passation-credit-card .button:hover {
  background: #ffd768;
  transform: translateY(-1px);
}
@media (max-width: 1100px) {
  .inline-pack-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .passation-credit-card .credit-stats {
    grid-template-columns: repeat(2, minmax(105px, 1fr));
  }
}
@media (max-width: 760px) {
  .inline-packs {
    padding: 16px;
  }
  .inline-pack-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .inline-pack-grid a {
    min-height: 120px;
  }
  .passation-credit-card {
    grid-template-columns: 1fr;
    padding: 18px;
  }
  .passation-credit-card .button {
    justify-self: stretch;
    width: 100%;
  }
}

/* Demandes de packs */
.pack-request-status {
  margin: 14px 0 0;
  padding: 12px 14px;
  border-radius: 12px;
  background: #eef6f8;
  color: #18375d;
  font-weight: 800;
}
.pack-request-status:empty,
.pack-request-status[hidden] {
  display: none;
}
.pack-request-status.success {
  background: #eaf8f1;
  color: #216b4a;
}
.pack-request-status.error {
  background: #fff1f1;
  color: #9a2929;
}
.pack-request-status.pending {
  border: 1px solid #f1d58a;
  background: #fff8df;
  color: #805f08;
}

/* Parcours Questions + Profils, inspiré du fonctionnement ITS */
.creation-editor-page {
  padding-bottom: 92px;
}
.creation-editor-page .main {
  max-width: none;
}
.creation-editor-page .composer {
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 16px;
}
.creation-editor-page .composer-side {
  position: sticky;
  top: 16px;
  max-height: calc(100vh - 120px);
  overflow: auto;
  padding: 16px;
}
.creation-editor-page .composer-main {
  min-width: 0;
  padding: 22px;
}
.creation-chapters > .eyebrow {
  margin-bottom: 3px;
}
.creation-chapter-item {
  overflow: hidden;
  border: 1px solid #dfe7ee;
  border-radius: 14px;
  background: #fff;
  transition:
    border-color 0.15s,
    box-shadow 0.15s;
}
.creation-chapter-item.is-active {
  border-color: #0d8791;
  box-shadow: 0 0 0 2px rgba(13, 135, 145, 0.08);
}
.creation-chapter-head {
  display: flex;
  width: 100%;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  padding: 11px 11px 8px;
  border: 0;
  background: transparent;
  color: #243b69;
  text-align: left;
  font:
    800 0.78rem Asap,
    sans-serif;
  line-height: 1.3;
  cursor: pointer;
}
div.creation-chapter-head {
  cursor: default;
}
.creation-chapter-head span {
  display: grid;
  gap: 3px;
}
.creation-chapter-head small {
  color: #7b8da1;
  font-size: 0.62rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.creation-chapter-head strong {
  flex: 0 0 auto;
  padding: 3px 6px;
  border-radius: 999px;
  background: #edf4f7;
  color: #0d8791;
  font-size: 0.66rem;
}
.creation-chapter-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  padding: 0 10px 10px;
}
.creation-chapter-tabs a,
.creation-chapter-tabs button {
  display: block;
  padding: 6px 8px;
  border: 1px solid #d9e3ea;
  border-radius: 999px;
  background: #fff;
  color: #60758a;
  text-align: center;
  text-decoration: none;
  font:
    800 0.68rem Asap,
    sans-serif;
  cursor: pointer;
}
.creation-chapter-tabs .is-active {
  border-color: #243b69;
  background: #243b69;
  color: #fff;
}
.creation-objective {
  display: flex;
  gap: 11px;
  margin: 18px 0 14px;
  padding: 13px 15px;
  border: 1px solid #cfe2ef;
  border-radius: 14px;
  background: #eef7fc;
  color: #35536c;
}
.creation-objective > span {
  font-size: 1.1rem;
}
.creation-objective strong {
  display: block;
  color: #0d4c72;
  font-size: 0.82rem;
}
.creation-objective p {
  margin: 3px 0 0;
  font-size: 0.78rem;
  line-height: 1.4;
}
.creation-meta-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0 0 13px;
  padding: 9px 12px;
  border-radius: 11px;
  background: #f6f8fa;
  color: #60758a;
  font-size: 0.72rem;
  font-weight: 750;
}
.creation-sticky-actions {
  position: fixed;
  z-index: 55;
  right: 16px;
  bottom: 14px;
  left: 108px;
  display: grid;
  grid-template-columns: auto minmax(180px, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid #d8e3ea;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 14px 38px rgba(13, 76, 114, 0.18);
  backdrop-filter: blur(12px);
}
.composer-context-back {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: 0 0 12px;
  padding: 8px 12px;
  border: 1px solid #d5e1ea;
  border-radius: 999px;
  background: #fff;
  color: #17355f;
  font: 800 .8rem Asap, sans-serif;
  text-decoration: none;
}
.composer-context-back:hover {
  border-color: #0d8791;
  background: #f1fbfb;
  color: #08737a;
}
.creation-sticky-progress {
  display: grid;
  justify-items: center;
  gap: 2px;
  min-width: 0;
  color: #60758a;
  font-size: 0.68rem;
}
.creation-sticky-progress strong {
  max-width: 100%;
  overflow: hidden;
  color: #243b69;
  font-size: 0.78rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.creation-profiles-workspace .profile-excel-grid {
  margin-top: 18px;
}
.creation-profiles-workspace .profile-excel-card {
  min-width: 0;
  padding: 16px;
}
.creation-profiles-workspace .profile-excel-card textarea {
  resize: vertical;
}
body:not(.sidebar-collapsed) .creation-sticky-actions {
  left: 288px;
}
@media (max-width: 1180px) {
  .creation-editor-page .profile-excel-grid {
    grid-template-columns: 1fr;
  }
  .creation-editor-page .composer {
    grid-template-columns: 220px minmax(0, 1fr);
  }
}
@media (max-width: 820px) {
  .creation-editor-page {
    padding-bottom: 150px;
  }
  .creation-editor-page .composer {
    grid-template-columns: 1fr;
  }
  .creation-editor-page .composer-side {
    position: static;
    max-height: none;
  }
  .creation-sticky-actions {
    left: 12px;
    right: 12px;
    bottom: 76px;
    grid-template-columns: 1fr 1fr;
  }
  .creation-sticky-progress {
    grid-column: 1/-1;
    grid-row: 1;
  }
  .creation-sticky-actions .button {
    justify-content: center;
  }
  .creation-editor-page .composer-main-head {
    display: block;
  }
  .creation-editor-page .composer-main-head .button,
  .creation-editor-page .composer-main-head .badge {
    margin-top: 10px;
  }
}
.pack-pending-note {
  order: 5;
  margin-top: 10px;
  padding: 12px 15px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 14px;
  background: rgba(255, 202, 67, 0.95);
  color: #18375d;
}
.admin-pack-request {
  margin: 16px 0;
  padding: 16px;
  border: 1px solid #f0c65a;
  border-radius: 16px;
  background: #fff8df;
}
.admin-pack-request-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.admin-pack-request h3 {
  margin: 0 0 5px;
  color: #18375d;
}
.admin-pack-request p {
  margin: 3px 0;
  color: #536786;
}
.admin-pack-request-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.admin-pack-request-meta span {
  padding: 5px 9px;
  border-radius: 999px;
  background: #fff;
  color: #18375d;
  font-size: 0.76rem;
  font-weight: 800;
}
.admin-pack-request > .top-actions {
  gap: 18px;
  margin-top: 16px;
}
.interface-badge {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  margin: 2px 0 12px;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.interface-badge-admin {
  background: #e9eef9;
  color: #253f75;
  border: 1px solid #c8d5ee;
}
.interface-badge-client {
  background: #e8f7f5;
  color: #00736f;
  border: 1px solid #b9e2dd;
}
.interface-switch {
  width: 100%;
  padding: 11px 12px;
  border: 1px solid #9dcbd0;
  border-radius: 12px;
  background: #fff;
  color: #0d4c72;
  font:
    900 0.8rem/1.25 Asap,
    Arial,
    sans-serif;
  cursor: pointer;
  text-align: center;
}
.interface-switch:hover,
.interface-switch:focus-visible {
  background: #eaf7f7;
  border-color: #007883;
  outline: 0;
}
.admin-help-card {
  padding: 15px;
  border: 1px solid #c8d5ee;
  border-radius: 16px;
  background: linear-gradient(145deg, #f5f7fc, #e9eef9);
  color: #253f75;
}
.admin-help-card strong {
  font-size: 0.9rem;
}
.admin-help-card p {
  margin: 6px 0 0;
  font-size: 0.78rem;
  line-height: 1.45;
  color: #536786;
}
.sidebar-admin {
  border-color: #ccd7ea;
}
.sidebar-admin .avatar {
  background: #253f75;
}
.sidebar-admin .nav a[aria-current="page"] {
  background: #e9eef9;
  color: #253f75;
}
body.sidebar-collapsed .interface-badge,
body.sidebar-collapsed .interface-switch,
body.sidebar-collapsed .admin-help-card {
  display: none;
}
@media (max-width: 760px) {
  .admin-pack-request-head {
    display: block;
  }
}

/* Centre de notifications — expérience harmonisée avec Into The Shift */
.sidebar-interface-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 2px 0 12px;
}
.sidebar-interface-row .interface-badge {
  margin: 0;
}
.sidebar-notification-root,
.admin-notification-root {
  display: flex;
  align-items: center;
  justify-content: center;
}
.notification-panel-open .sidebar {
  z-index: 10060;
}
.notification-panel-open .admin-cockpit-hero {
  position: relative;
  z-index: 10060;
}
.studio-notifications {
  position: relative;
  z-index: 10050;
  display: flex;
  align-items: center;
  font-family: Asap, Arial, sans-serif;
}
.notification-bell {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid #c8d9e3;
  border-radius: 50%;
  background: #fff;
  color: #0d4c72;
  box-shadow: 0 8px 24px rgba(13, 76, 114, 0.2);
  cursor: pointer;
  transition:
    transform 0.16s ease,
    border-color 0.16s ease,
    box-shadow 0.16s ease;
}
.notification-bell:hover,
.notification-bell[aria-expanded="true"] {
  border-color: #0d4c72;
  background: #f7fbfd;
  box-shadow: 0 10px 28px rgba(13, 76, 114, 0.26);
  transform: translateY(-1px);
}
.notification-bell:focus-visible {
  outline: 3px solid #ffca43;
  outline-offset: 3px;
}
.notification-bell-icon {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.studio-notifications.has-unread .notification-bell-icon {
  animation: notification-ring 0.7s ease-in-out 1;
}
@keyframes notification-ring {
  0%,
  100% {
    transform: rotate(0);
  }
  25% {
    transform: rotate(12deg);
  }
  50% {
    transform: rotate(-10deg);
  }
  75% {
    transform: rotate(6deg);
  }
}
.notification-count {
  position: absolute;
  right: -6px;
  top: -7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 23px;
  height: 23px;
  padding: 0 5px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #e5484d;
  color: #fff;
  font-size: 11px;
  font-weight: 950;
  line-height: 1;
  box-shadow: 0 3px 8px rgba(13, 76, 114, 0.2);
}
.notification-count[hidden] {
  display: none;
}
.notification-panel {
  position: fixed;
  isolation: isolate;
  width: min(400px, calc(100vw - 28px));
  max-height: calc(100vh - 98px);
  overflow: hidden;
  border: 1px solid #d8e0ea;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 22px 60px rgba(15, 30, 55, 0.32);
  color: #18375d;
  opacity: 1;
}
.notification-placement-sidebar .notification-panel {
  left: 258px;
  right: auto;
  top: 78px;
}
.notification-placement-admin .notification-panel {
  right: 24px;
  top: 92px;
}
.notification-panel[hidden] {
  display: none;
}
.notification-panel header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 16px;
  border-bottom: 1px solid #edf2f6;
  background: #f8fbfd;
}
.notification-panel header strong {
  font-size: 15px;
  color: #18375d;
}
.notification-panel header span {
  margin-top: 2px;
  color: #718497;
  font-size: 12px;
}
.notification-panel header > div:first-child {
  display: flex;
  align-items: baseline;
  gap: 6px;
  min-width: 0;
}
.notification-read-all {
  border: 0;
  background: transparent;
  color: #007883;
  font-family: inherit;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
  cursor: pointer;
}
.notification-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 420px;
  overflow: auto;
  padding: 10px;
  background: #f8fbfd;
  opacity: 1;
}
.notification-item {
  width: 100%;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 28px;
  gap: 10px;
  align-items: start;
  padding: 11px 10px;
  border: 1px solid #e2ebf2;
  border-radius: 15px;
  background: #fff;
  color: #18375d;
  text-align: left;
  text-decoration: none;
}
.notification-item:hover {
  background: #f6f9fb;
}
.notification-item.unread {
  border-color: #d5e7f2;
  background: #eef7fc;
  box-shadow: 0 2px 8px rgba(24, 55, 93, 0.04);
}
.notification-item.treated {
  opacity: 0.72;
}
.notification-item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid #dfe8ef;
  border-radius: 12px;
  background: #fff;
  font-size: 16px;
}
.notification-item-main {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}
.notification-item-main strong {
  display: block;
  margin: 0 0 3px;
  color: #18375d;
  font-size: 13px;
  line-height: 1.25;
}
.notification-item-main small {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: #60758a;
  font-size: 12px;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.notification-item-main time {
  display: block;
  margin-top: 4px;
  color: #94a3b8;
  font-size: 11px;
  font-weight: 800;
}
.notification-item-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
  margin-top: 4px;
  border: 1.5px solid #bfd0dc;
  border-radius: 9px;
  background: #fff;
  color: #007883;
  font-family: inherit;
  font-size: 15px;
  font-weight: 950;
  cursor: pointer;
}
.notification-item-check:hover {
  border-color: #007883;
  background: #f0f8f7;
}
.notification-item.treated .notification-item-check {
  border-color: #007883;
  background: #007883;
  color: #fff;
}
.notification-empty {
  margin: 0;
  padding: 28px 16px;
  text-align: center;
  color: #718497;
  font-size: 13px;
  line-height: 1.45;
}
body.sidebar-collapsed .notification-placement-sidebar .notification-panel {
  left: 88px;
}
body.sidebar-collapsed .sidebar-interface-row {
  justify-content: center;
}
body.sidebar-collapsed .sidebar-notification-root {
  display: flex;
}
@media (max-width: 760px) {
  .sidebar-interface-row {
    padding-right: 4px;
  }
  .notification-bell {
    width: 42px;
    height: 42px;
  }
  .notification-bell-icon {
    width: 21px;
    height: 21px;
  }
  .notification-count {
    right: -7px;
    top: -7px;
    min-width: 22px;
    height: 22px;
  }
  .notification-placement-sidebar .notification-panel,
  .notification-placement-admin .notification-panel {
    left: auto;
    right: 8px;
    top: 61px;
    width: calc(100vw - 16px);
    max-height: calc(100vh - 70px);
  }
}

/* Menu latéral compact : cette règle reste en fin de fichier pour ne pas être
   annulée par les styles généraux déclarés après la structure de la sidebar. */
@media (min-width: 821px) and (max-height: 1050px) {
  .sidebar {
    padding: 15px 16px;
  }
  .brand {
    gap: 4px;
    margin-bottom: 12px;
  }
  .brand img {
    width: 102px;
  }
  .studio-pill {
    padding: 3px 8px;
    font-size: 0.6rem;
  }
  .interface-badge {
    margin: 0 0 7px;
    padding: 5px 9px;
    font-size: 0.65rem;
  }
  .nav {
    gap: 2px;
  }
  .nav a {
    gap: 10px;
    padding: 8px 11px;
    font-size: 0.88rem;
  }
  .nav a span {
    width: 23px;
    height: 23px;
  }
  .nav a svg {
    width: 16px;
    height: 16px;
  }
  .sidebar-footer {
    gap: 8px;
  }
  .help-card {
    padding: 11px 12px;
    border-radius: 14px;
  }
  .help-card strong {
    font-size: 0.86rem;
  }
  .help-card p {
    margin-bottom: 8px;
    font-size: 0.77rem;
    line-height: 1.35;
  }
  .help-card .button {
    min-height: 38px;
    padding: 8px 11px;
    font-size: 0.82rem;
  }
  .nav-secondary {
    padding-top: 7px;
    margin-top: 0;
  }
  .profile {
    gap: 9px;
    padding-top: 10px;
  }
  .avatar {
    width: 34px;
    height: 34px;
  }
  .profile-copy strong {
    font-size: 0.84rem;
  }
  .profile small,
  .sidebar-logout {
    font-size: 0.7rem;
  }
  .interface-switch {
    padding: 8px 10px;
    font-size: 0.72rem;
  }
  .admin-help-card {
    padding: 11px;
  }
  .admin-help-card p {
    font-size: 0.72rem;
  }
}

@media (min-width: 821px) and (max-height: 900px) {
  .sidebar {
    padding: 10px 14px;
    overflow-y: hidden;
  }
  .brand {
    gap: 2px;
    margin-bottom: 6px;
  }
  .brand img {
    width: 88px;
  }
  .studio-pill {
    padding: 2px 7px;
    font-size: 0.56rem;
  }
  .interface-badge {
    margin-bottom: 4px;
    padding: 4px 8px;
    font-size: 0.6rem;
  }
  .sidebar-interface-row {
    margin: 0 0 4px;
  }
  .sidebar-interface-row .interface-badge {
    margin: 0;
  }
  .sidebar-notification-root .notification-bell {
    width: 34px;
    height: 34px;
  }
  .sidebar-notification-root .notification-bell-icon {
    width: 18px;
    height: 18px;
  }
  .sidebar-notification-root .notification-count {
    right: -6px;
    top: -6px;
    min-width: 20px;
    height: 20px;
    padding: 0 4px;
    font-size: 10px;
  }
  .nav {
    gap: 0;
  }
  .nav a {
    gap: 8px;
    padding: 5px 9px;
    font-size: 0.82rem;
    line-height: 1.15;
  }
  .nav a span {
    width: 21px;
    height: 21px;
  }
  .nav a svg {
    width: 14px;
    height: 14px;
  }
  .sidebar-footer {
    gap: 4px;
  }
  .help-card {
    padding: 8px 10px;
    border-radius: 12px;
  }
  .help-card strong {
    margin-bottom: 2px;
    font-size: 0.8rem;
  }
  .help-card p {
    margin-bottom: 5px;
    font-size: 0.7rem;
    line-height: 1.2;
  }
  .help-card .button {
    min-height: 32px;
    padding: 5px 8px;
    font-size: 0.75rem;
  }
  .nav-secondary {
    padding-top: 4px;
  }
  .nav-secondary .nav-link {
    padding: 3px 4px;
    font-size: 0.78rem;
  }
  .profile {
    gap: 7px;
    padding-top: 5px;
  }
  .avatar {
    width: 30px;
    height: 30px;
    font-size: 0.78rem;
  }
  .profile-copy strong {
    font-size: 0.78rem;
  }
  .profile small,
  .sidebar-logout {
    font-size: 0.65rem;
    line-height: 1.2;
  }
  .interface-switch {
    padding: 6px 8px;
    font-size: 0.67rem;
  }
}
.admin-team-panel {
  margin-bottom: 22px;
  padding: 22px;
}
.admin-team-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}
.admin-team-head h2 {
  margin: 2px 0 4px;
}
.admin-team-head p:last-child {
  margin: 0;
  color: var(--muted);
}
.admin-team-list {
  display: grid;
}
.admin-team-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}
.admin-team-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.admin-team-row p {
  margin: 5px 0 8px;
  color: var(--muted);
  font-size: 0.85rem;
}
.admin-team-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
@media (max-width: 760px) {
  .admin-team-head,
  .admin-team-row {
    display: grid;
  }
  .admin-team-actions {
    justify-content: flex-start;
  }
}

/* Composer — édition directe des mises en situation et réponses */
.composer-inline-field {
  display: grid;
  gap: 6px;
}
.composer-inline-field label {
  font-size: 0.8rem;
  font-weight: 800;
  color: var(--navy);
}
.composer-inline-situation,
.composer-inline-answer {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;
  color: var(--navy);
  font: inherit;
  line-height: 1.45;
  padding: 10px 12px;
  resize: vertical;
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease;
}
.composer-inline-situation {
  font-weight: 700;
  font-size: 1rem;
  min-height: 78px;
}
.composer-inline-answer {
  min-height: 58px;
}
.composer-inline-situation:focus,
.composer-inline-answer:focus {
  outline: 0;
  border-color: var(--royal-blue);
  box-shadow: 0 0 0 3px rgba(44, 83, 173, 0.12);
}
.composer-answer .composer-inline-answer {
  grid-column: 1/2;
}
.composer-inline-help {
  margin: 10px 0 0;
  font-size: 0.8rem;
  color: var(--muted);
}
.composer-situation.is-locked .composer-toggle {
  margin-top: 12px;
}

.socio-examples-visible {
  margin: 16px 0;
  padding: 16px;
  border: 1px solid #d9e6ed;
  border-radius: 16px;
  background: #f8fbfd;
}
.socio-examples-visible > strong {
  display: block;
  color: #0d4c72;
}
.socio-examples-visible > span {
  display: block;
  margin: 4px 0 12px;
  color: #60758a;
  font-size: 0.85rem;
}
.socio-example-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.socio-example-buttons button {
  padding: 9px 12px;
  border: 1px solid #c9dce6;
  border-radius: 999px;
  background: #fff;
  color: #0d4c72;
  font-weight: 700;
  cursor: pointer;
}

/* Paramétrage — critères standardisés verrouillés (Genre / Âge) */
.socio-card-locked {
  background: #f4f6f8;
  border-color: #d7dee5;
  border-left-color: #a8b4bf;
  box-shadow: none;
}
.socio-card-locked .socio-question input[readonly],
.socio-card-locked .locked-field input[readonly] {
  background: #e7ebef !important;
  border-color: #d2d9e0 !important;
  color: #52606d !important;
  cursor: not-allowed;
  box-shadow: none !important;
}
.socio-card-locked .socio-question input[readonly]:hover,
.socio-card-locked .locked-field input[readonly]:hover {
  background: #e7ebef !important;
}
.socio-lock-badge,
.socio-required-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: 8px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #e1e6ea;
  color: #52606d;
  font-size: 0.68rem;
  font-weight: 900;
  vertical-align: middle;
}
.socio-required-badge {
  margin: 4px 0 0;
  background: #dfe5e9;
  color: #42515e;
  white-space: nowrap;
}
.socio-lock-help {
  display: block;
  margin-top: 7px;
  color: #687784;
  font-size: 0.79rem;
  font-weight: 700;
  line-height: 1.35;
}
.socio-card-locked .socio-answer-field > span {
  color: #75838f;
}
.socio-option-spacer {
  display: block;
  width: 30px;
  height: 30px;
}
.socio-option-remove-visible {
  background: #fff;
  border: 1px solid #d5dce2;
  color: #687784;
}
.socio-option-remove-visible:hover {
  background: var(--danger-soft);
  border-color: #f1b9b4;
  color: var(--danger);
}
.socio-card-age .socio-lock-help {
  font-weight: 800;
}
@media (max-width: 760px) {
  .socio-required-badge {
    grid-column: 1/-1;
    justify-self: start;
  }
}

/* Composer — seuils minimum / maximum */
#composer-next.is-disabled {
  opacity: 0.48;
  filter: grayscale(0.15);
  cursor: not-allowed;
}
#library-button.is-disabled {
  opacity: 0.48;
  filter: grayscale(0.15);
  cursor: not-allowed;
}

/* Composer — consignes de contextualisation */
.composer-customization-guidance {
  display: flex;
  gap: 16px;
  margin: 0 0 18px;
  padding: 18px 20px;
  border: 1px solid #bfdbe8;
  border-left: 5px solid #0d4c72;
  border-radius: 16px;
  background: #f4f9fc;
  color: #263b49;
}
.composer-customization-guidance-icon {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #0d4c72;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 800;
}
.composer-customization-guidance strong {
  color: #0d4c72;
}
.composer-customization-guidance p {
  margin: 5px 0 0;
  line-height: 1.48;
}
.composer-library-guidance {
  margin-top: 10px !important;
  padding: 10px 12px;
  border-radius: 10px;
  background: #fff;
  color: #334d5c;
  border: 1px solid #d5e5ed;
}
.composer-customization-validation {
  margin-top: 10px !important;
  padding-top: 10px;
  border-top: 1px solid #d7e6ee;
  color: #0d4c72;
}
.composer-editor-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.composer-context-tag {
  display: inline-flex;
  padding: 4px 8px;
  border-radius: 999px;
  background: #e7f2f7;
  color: #0d4c72;
  font-size: 0.72rem;
  font-weight: 800;
}
.composer-field-guidance {
  display: block;
  margin-top: 6px;
  color: #65798a;
  font-size: 0.78rem;
  line-height: 1.4;
}
.composer-context-help {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #fff8e8;
  border: 1px solid #f0dfad;
  color: #5b5140;
}
.composer-context-help strong {
  color: #6d5a22;
}

/* Bibliothèque — situations liées visibles ensemble */
.composer-library-bundle {
  display: grid;
  grid-template-columns: 70px 1fr;
  padding: 0;
  overflow: hidden;
}
.composer-library-bundle .composer-library-number {
  display: grid;
  place-items: center;
  background: #f2f5f9;
  font-size: 1.25rem;
  font-weight: 900;
  color: #243b69;
}
.composer-library-bundle .composer-library-content {
  padding: 16px;
}
.composer-library-linked-item {
  padding: 4px 0 14px;
}
.composer-library-linked-item + .composer-library-linked-item {
  margin-top: 8px;
  padding-top: 14px;
  border-top: 1px solid #dfe7ed;
}
.composer-library-linked-title {
  margin-bottom: 6px;
  color: #0d8791;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
/* Profils — navigation verrouillée tant que la composition est incomplète */
.creation-chapter-item.is-incomplete {
  border-color: #e7c875;
  background: #fffdf6;
}
.creation-chapter-item.is-incomplete .creation-chapter-head strong {
  background: #fff2c8;
  color: #775b00;
}
.creation-chapter-tabs button.is-disabled,
#next-link.is-disabled {
  opacity: 0.45;
  filter: grayscale(0.2);
  cursor: not-allowed;
}

/* Composer — lisibilité des situations et réponses */
.composer-situation-list {
  gap: 22px;
}
.composer-situation {
  border: 1px solid #cbdce7;
  border-left: 5px solid #0d8791;
  border-radius: 18px;
  padding: 20px;
  background: #f8fbfd;
  box-shadow: 0 8px 24px rgba(19, 54, 82, 0.06);
}
.composer-situation.has-customization {
  border-left-color: #e9a91b;
  background: #fffdf8;
}
.composer-situation.is-locked {
  border-left-color: #243b69;
  background: #f7f9fc;
}
.composer-situation-head {
  margin-bottom: 14px;
}
.composer-situation-tags {
  display: flex;
  gap: 7px;
  align-items: center;
  flex-wrap: wrap;
}
.composer-library-choice-tag,
.composer-customized-tag {
  display: inline-flex;
  align-items: center;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 900;
}
.composer-library-choice-tag {
  background: #e7f6f5;
  color: #08737a;
  border: 1px solid #b9dfdc;
}
.composer-customized-tag {
  background: #fff0c9;
  color: #7a5800;
  border: 1px solid #efd07c;
}
.composer-inline-field {
  padding: 14px;
  border: 1px solid #dce7ee;
  border-radius: 14px;
  background: #fff;
}
.composer-answers {
  margin-top: 12px;
  padding: 14px;
  border: 1px solid #dce7ee;
  border-radius: 14px;
  background: #fff;
}
.composer-answers[hidden] {
  display: none !important;
}
.composer-answer {
  background: #f8fafc;
}
.theme-preview-dialog {
  width: min(920px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  padding: 0;
  border: 0;
  border-radius: 22px;
  box-shadow: 0 22px 70px rgba(13, 76, 114, 0.24);
  overflow: hidden;
  color: var(--navy);
}
.theme-preview-dialog::backdrop {
  background: rgba(10, 28, 52, 0.52);
}
.theme-preview-head {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  padding: 22px 24px 18px;
  background: #fff;
  border-bottom: 1px solid var(--border);
}
.theme-preview-head h2 {
  margin: 2px 42px 4px 0;
}
.theme-preview-close {
  position: absolute;
  top: 16px;
  right: 18px;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  background: #eef4f7;
  color: var(--navy);
  font: 700 26px/1 Arial;
  cursor: pointer;
}
.theme-preview-content {
  display: grid;
  gap: 14px;
  padding: 22px 24px;
  max-height: calc(100dvh - 230px);
  overflow: auto;
  background: #f5f8fa;
}
.theme-preview-situation {
  padding: 17px 18px;
  border: 1px solid var(--border);
  border-radius: 15px;
  background: #fff;
}
.theme-preview-situation-number {
  margin-bottom: 7px;
  color: var(--royal-blue);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.theme-preview-situation h3 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
}
.theme-preview-situation details {
  margin-top: 13px;
}
.theme-preview-situation summary {
  color: var(--royal-blue);
  font-weight: 800;
  cursor: pointer;
}
.theme-preview-answers {
  display: grid;
  gap: 8px;
  margin-top: 11px;
}
.theme-preview-answer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #f8fafc;
}
.theme-preview-answer.is-best {
  border-color: #85c69b;
  background: #effaf2;
}
.theme-preview-answer strong {
  flex: 0 0 auto;
  color: #26763c;
  font-size: 0.75rem;
}
.theme-preview-footer {
  position: sticky;
  bottom: 0;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 16px 24px;
  background: #fff;
  border-top: 1px solid var(--border);
}
.theme-preview-footer p {
  margin: 0;
  color: var(--muted);
  font-size: 0.88rem;
}
@media (max-width: 680px) {
  .theme-preview-answer,
  .theme-preview-footer {
    display: grid;
  }
  .theme-preview-dialog {
    width: calc(100vw - 18px);
    max-height: calc(100dvh - 18px);
  }
  .theme-preview-head,
  .theme-preview-content,
  .theme-preview-footer {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.nav a[aria-disabled="true"] {
  opacity: 0.55;
  cursor: not-allowed;
  background: #f2f5f7 !important;
  color: #66798b !important;
}
.nav-lock {
  margin-right: 6px;
  font-size: 0.78rem;
}
.nav-group {
  margin: 10px 13px 0;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #8a96ad;
}
.nav-separator {
  border: 0;
  border-top: 1px solid #e6eaf2;
  margin: 8px 6px;
}
.nav a.nav-featured:not([aria-current="page"]) {
  background: var(--green-blue-soft);
}
.nav a.nav-featured:not([aria-current="page"]) span {
  background: #fff;
}
.nav-plan-badge {
  margin-left: auto;
  padding: 2px 8px;
  border-radius: 999px;
  background: #fdf1d6;
  color: #7a5200;
  font-size: 0.68rem;
  font-weight: 800;
}
body.sidebar-collapsed .nav-group,
body.sidebar-collapsed .nav-plan-badge {
  display: none;
}
.button-locked {
  opacity: 0.58;
  cursor: not-allowed;
  filter: grayscale(0.25);
}
.permission-denied {
  max-width: 720px;
  margin: 40px auto;
  padding: 42px;
  text-align: center;
}
.permission-denied-icon {
  font-size: 2.4rem;
}
.permission-denied h1 {
  margin: 8px 0 10px;
}
.permission-denied p {
  color: var(--muted);
  margin-bottom: 22px;
}
.composer-answer.is-customized {
  border-color: #efd07c;
  background: #fffdf7;
}
.composer-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 13px 0 0;
  padding: 7px 0;
}
.composer-diff {
  grid-column: 1/-1;
  margin-top: 7px;
  padding: 9px 11px;
  border-radius: 10px;
  background: #f7f8fa;
  border: 1px solid #e4e8ec;
}
.composer-diff-label {
  margin-bottom: 5px;
  color: #65798a;
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.composer-diff-text {
  font-size: 0.82rem;
  line-height: 1.5;
  color: #405468;
}
.composer-diff ins {
  padding: 1px 2px;
  border-radius: 3px;
  background: #dff5e5;
  color: #176c35;
  text-decoration: none;
}
.composer-diff del {
  padding: 1px 2px;
  border-radius: 3px;
  background: #fde4e1;
  color: #9e3028;
  text-decoration: line-through;
}
.composer-diff.is-admin-correction {
  border-color: #d5b9f1;
  background: #faf5ff;
}
.composer-diff.is-admin-correction .composer-diff-label {
  color: #653493;
}
.composer-diff.is-admin-correction ins {
  background: #e8d5ff;
  color: #572482;
}
.composer-diff.is-admin-correction del {
  background: #f0e4fb;
  color: #75508f;
}
.composer-inline-situation.is-customized,
.composer-inline-answer.is-customized {
  border-color: #dfbd57;
  background: #fffef9;
}

/* Composer — auto-enregistrement */
.composer-save-row {
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}
.composer-save-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 800;
}
.composer-save-status.is-saving {
  background: #eef3f7;
  color: #5c7080;
}
.composer-save-status.is-saved {
  background: #e2f5e7;
  color: #18713a;
}
.composer-save-status.is-error {
  background: #fde8e5;
  color: #a3322a;
}
.composer-save-check {
  display: inline-grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: #2e9b55;
  color: #fff;
  font-size: 0.68rem;
}
.composer-save-status.is-saving .composer-save-check,
.composer-save-status.is-error .composer-save-check {
  display: none;
}

/* Bibliothèque — séparation visuelle des réponses */
.composer-drawer .composer-library-linked-item details {
  margin: 12px 0 16px;
}
.composer-drawer .composer-library-linked-item .composer-answer {
  margin: 0 0 10px;
  padding: 12px 14px;
  border: 1px solid #dfe7ed;
  border-radius: 12px;
  background: #fff;
}
.composer-drawer .composer-library-linked-item .composer-answer:last-child {
  margin-bottom: 0;
}
.composer-drawer .composer-library-linked-item .composer-answers,
.composer-drawer .composer-library-linked-item details > div {
  gap: 10px;
}
.composer-drawer .composer-library-linked-item summary {
  margin-bottom: 12px;
}

/* Composer — diff visible immédiatement après auto-enregistrement */
[data-live-situation-diff] .composer-diff,
[data-live-answer-diff] .composer-diff {
  animation: composerDiffReveal 0.18s ease-out;
}
@keyframes composerDiffReveal {
  from {
    opacity: 0.35;
    transform: translateY(-2px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

/* Composer — couleurs par situation / groupe lié */
.composer-situation.tone-1 {
  border-left-color: #0d8791;
  background: #f4fbfb;
}
.composer-situation.tone-2 {
  border-left-color: #d89b1d;
  background: #fffaf0;
}
.composer-situation.tone-3 {
  border-left-color: #7566c8;
  background: #f8f6ff;
}
.composer-situation.tone-4 {
  border-left-color: #d66f7e;
  background: #fff6f7;
}

/* Les états fonctionnels restent visibles sans casser la couleur du groupe */
.composer-situation.has-customization.tone-1,
.composer-situation.has-customization.tone-2,
.composer-situation.has-customization.tone-3,
.composer-situation.has-customization.tone-4 {
  box-shadow:
    0 8px 24px rgba(19, 54, 82, 0.06),
    inset 0 0 0 1px rgba(233, 169, 27, 0.28);
}
.composer-situation.is-locked {
  filter: saturate(0.88);
}

/* Paramétrage — conditions de passage */
#param-next.is-disabled {
  opacity: 0.48;
  filter: grayscale(0.15);
  cursor: not-allowed;
}
.optional-label {
  display: inline-flex;
  margin-left: 6px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #eef3f6;
  color: #6a7c89;
  font-size: 0.68rem;
  font-weight: 800;
  vertical-align: middle;
}

/* Parcours configuration → kit de communication */
.studio-process-card {
  margin: 18px 0;
  padding: 22px;
}
.studio-process-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
}
.studio-process-steps {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}
.studio-process-step {
  position: relative;
  min-height: 112px;
  padding: 14px 12px;
  border: 1px solid #dce5eb;
  border-radius: 14px;
  background: #f8fafc;
}
.studio-process-step span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin-bottom: 9px;
  border-radius: 50%;
  background: #e8eef3;
  color: #536a7b;
  font-weight: 900;
}
.studio-process-step strong,
.studio-process-step small {
  display: block;
}
.studio-process-step strong {
  color: #17355f;
  font-size: 0.84rem;
}
.studio-process-step small {
  margin-top: 4px;
  color: #718390;
  font-size: 0.72rem;
  line-height: 1.35;
}
.studio-process-step.is-done {
  border-color: #b9dfdc;
  background: #f4fbfa;
}
.studio-process-step.is-done span {
  background: #0d8791;
  color: #fff;
}
.studio-process-step.is-current {
  border-color: #e4bd55;
  background: #fff9e9;
}
.studio-process-step.is-current span {
  background: #e0a322;
  color: #fff;
}
/* Étape faite et onglet ouvert : reste verte (faite), l'onglet ouvert est signalé par un contour. */
.studio-process-step.is-done.is-current {
  border-color: #0d8791;
  background: #f4fbfa;
  box-shadow: 0 0 0 2px rgba(13, 135, 145, 0.22);
}
.studio-process-step.is-done.is-current span {
  background: #0d8791;
}
#submit-project.is-disabled {
  opacity: 0.48;
  cursor: not-allowed;
}
.validation-check input:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}
.composer-alert.is-success {
  border-color: #9bd2aa;
  background: #effaf2;
  color: #236b39;
}

.kit-real-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 20px;
  align-items: start;
}
.kit-section-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}
.kit-status-pill {
  display: inline-flex;
  padding: 7px 10px;
  border-radius: 999px;
  background: #eaf4f6;
  color: #08737a;
  font-size: 0.76rem;
  font-weight: 900;
  white-space: nowrap;
}
.kit-real-drop {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 180px;
  margin-top: 12px;
  border: 2px dashed #b7ccd8;
  border-radius: 16px;
  background: #f8fbfd;
  text-align: center;
}
.kit-selected-files {
  display: grid;
  gap: 7px;
  margin-top: 10px;
}
.kit-selected-file {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 9px 11px;
  border-radius: 10px;
  background: #f2f6f8;
}
.kit-selected-file small {
  color: #70818d;
}
.kit-selected-file button {
  border: 0;
  background: transparent;
  font-size: 1.2rem;
  cursor: pointer;
}
.kit-file-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.kit-file-row {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid #dce5eb;
  border-radius: 12px;
  background: #fff;
}
.kit-file-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: #edf3f6;
  color: #17355f;
  font-size: 0.7rem;
  font-weight: 900;
}
.kit-file-main strong,
.kit-file-main span,
.kit-file-main small {
  display: block;
}
.kit-file-main span,
.kit-file-main small {
  margin-top: 3px;
  color: #70818d;
  font-size: 0.75rem;
}
.kit-empty {
  padding: 18px;
  border: 1px dashed #d6e0e6;
  border-radius: 12px;
  color: #70818d;
  text-align: center;
  background: #fafcfd;
}
@media (max-width: 1100px) {
  .studio-process-steps {
    grid-template-columns: repeat(3, 1fr);
  }
  .kit-real-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 700px) {
  .studio-process-steps {
    grid-template-columns: 1fr 1fr;
  }
  .kit-file-row {
    grid-template-columns: 42px 1fr;
  }
  .kit-file-row .button {
    grid-column: 1/-1;
  }
}

/* Kit de communication — UX alignée ITS */
.kit-topbar {
  align-items: flex-start;
}
.kit-shortcuts {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.kit-shortcut {
  min-width: 180px;
}
.brand-request {
  background: linear-gradient(135deg, #fffaf1, #f4fbfb);
}
.brand-checklist {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}
.brand-check {
  background: #fff;
  border: 1px solid #dfe7ed;
  border-radius: 13px;
  padding: 11px;
  font-size: 0.78rem;
  color: #607480;
  line-height: 1.4;
}
.brand-check b {
  display: block;
  color: #17355f;
  margin-bottom: 3px;
}
.upload-box {
  border: 1px dashed #bdd3dd;
  background: #f8fcfc;
  border-radius: 16px;
  padding: 14px;
  margin: 14px 0;
}
.kit-real-drop {
  width: 100%;
  min-height: 150px;
  border: 2px dashed #b8d7dc;
  background: linear-gradient(135deg, #fff, #f0f9f8);
  border-radius: 18px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 9px;
  transition: 0.18s ease;
}
.kit-real-drop:hover,
.kit-real-drop.drag-over {
  border-color: #0d8791;
  box-shadow: 0 12px 26px rgba(13, 135, 145, 0.12);
  transform: translateY(-1px);
  background: linear-gradient(135deg, #fff, #eaf9f7);
}
.drop-zone-title {
  font-weight: 900;
  color: #17355f;
}
.drop-zone-text {
  font-size: 0.78rem;
  color: #6b7e8b;
}
.drop-zone-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
.file-input-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
}
.video-admin-box {
  background: #f8fcfc;
  border: 1px solid #b8dfe0;
  border-radius: 16px;
  padding: 14px;
  margin: 12px 0;
}
.video-fields {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}
.video-field {
  width: 100%;
  border: 1px solid #d8e0ea;
  border-radius: 12px;
  padding: 10px 12px;
  font: inherit;
  color: #17355f;
  background: #fff;
}
.video-card {
  background: #f0f8f7;
  border: 1px solid #b8dfe0;
  border-radius: 16px;
  padding: 14px;
}
.video-card-title {
  font-weight: 900;
  color: #17355f;
  margin-bottom: 5px;
}
.video-card-text {
  color: #5f7482;
  line-height: 1.45;
  margin-bottom: 12px;
}
.kit-side-links {
  display: grid;
  gap: 8px;
  padding: 14px;
}
.kit-side-links a {
  color: #0d8791;
  font-weight: 800;
  text-decoration: none;
}
.kit-block {
  scroll-margin-top: 24px;
}
.campaign-action-group {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
@media (max-width: 900px) {
  .brand-checklist {
    grid-template-columns: 1fr;
  }
}

/* Kit de communication — diffusion, QR, relances et messages */
.kit-admin-links {
  display: grid;
  gap: 10px;
  margin: 14px 0;
  padding: 14px;
  border: 1px dashed #b8ccd8;
  border-radius: 14px;
  background: #f8fbfd;
}
.kit-admin-links[hidden] {
  display: none !important;
}
.kit-url {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 0;
  border-top: 1px solid #e2e9ed;
}
.kit-url:first-of-type {
  margin-top: 8px;
}
.kit-url-label {
  font-size: 0.75rem;
  font-weight: 900;
  color: #657b89;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.kit-url-value {
  margin-top: 5px;
  color: #17355f;
  font-weight: 800;
  overflow-wrap: anywhere;
}
.kit-url .is-disabled {
  opacity: 0.45;
  pointer-events: none;
}
.kit-qr-image {
  width: 220px;
  height: 220px;
  border: 1px solid #dce5eb;
  border-radius: 12px;
  background: #fff;
  padding: 8px;
}
.qr-wrap {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.timeline {
  display: grid;
  gap: 0;
  margin-top: 14px;
}
.time-row {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 14px;
  padding: 14px 0;
  border-top: 1px solid #e4eaee;
}
.time-day {
  display: grid;
  place-items: center;
  align-self: start;
  min-height: 38px;
  border-radius: 10px;
  background: #eef4f6;
  color: #0d7780;
  font-weight: 900;
}
.time-txt {
  font-weight: 900;
  color: #17355f;
}
.time-txt small {
  font-weight: 700;
  color: #758794;
}
.time-sub {
  margin-top: 4px;
  color: #657785;
  line-height: 1.5;
}
.comm-tabs {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin: 14px 0;
}
.comm-tab {
  border: 1px solid #cad8e1;
  background: #fff;
  color: #17355f;
  border-radius: 999px;
  padding: 8px 11px;
  font-weight: 800;
  cursor: pointer;
}
.comm-tab.on {
  background: #17355f;
  color: #fff;
  border-color: #17355f;
}
.template-card {
  border: 1px solid #dce5eb;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
.template-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 14px;
  border-bottom: 1px solid #e2e9ed;
}
.template-title {
  font-weight: 900;
  color: #17355f;
}
.template-meta {
  margin-top: 3px;
  color: #758794;
  font-size: 0.78rem;
}
.template-body {
  margin: 0;
  padding: 18px;
  white-space: pre-wrap;
  font: inherit;
  line-height: 1.65;
  color: #243b69;
  background: #fafcfd;
}
@media (max-width: 720px) {
  .kit-url {
    grid-template-columns: 1fr;
  }
  .template-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .qr-wrap {
    align-items: flex-start;
  }
}

/* Dossier client admin — architecture ITS */
.admin-client-folder-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin: 22px 0 12px;
}
.admin-client-folder-head h3 {
  margin: 0;
  color: #123b63;
}
.admin-client-folder-head p {
  margin: 4px 0 0;
  color: #667b8a;
}
.admin-client-folder {
  border: 1px solid #dce7ef;
  border-radius: 20px;
  background: #f7fafc;
  padding: 14px;
}
.admin-ad-filterbar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 16px;
}
.admin-ad-filterbar button {
  border: 1px solid #d2e0e9;
  background: #fff;
  border-radius: 999px;
  padding: 9px 13px;
  color: #123b63;
  font-weight: 800;
  cursor: pointer;
}
.admin-ad-filterbar button.is-active {
  background: #0d5b83;
  color: #fff;
  border-color: #0d5b83;
}
.admin-ad-filterbar button strong {
  display: inline-grid;
  place-items: center;
  min-width: 22px;
  height: 22px;
  padding: 0 5px;
  border-radius: 999px;
  background: #edf4f8;
  color: #0d5b83;
  margin-left: 4px;
}
.admin-ad-filterbar button.is-active strong {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}
.admin-ad-search {
  display: flex;
  align-items: center;
  gap: 7px;
  flex: 1 1 280px;
  min-width: 240px;
  border: 1px solid #d2e0e9;
  background: #fff;
  border-radius: 999px;
  padding: 0 13px;
}
.admin-ad-search input {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 10px 0;
  outline: 0;
}
.admin-ad-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap: 16px;
}
.admin-ad-card {
  border: 1px solid #dbe6ee;
  border-radius: 20px;
  background: #fff;
  padding: 20px;
  min-height: 390px;
}
.admin-ad-card h3 {
  margin: 0 0 12px;
  color: #123b63;
  font-size: 1.15rem;
}
.admin-ad-meta {
  color: #60778a;
  margin: 5px 0;
}

.admin-ad-chapters {
  margin: 12px 0;
  padding: 12px 14px;
  border: 1px solid #d9e8ef;
  border-radius: 14px;
  background: #f7fbfd;
}
.admin-ad-chapters-head {
  color: #123b63;
  margin-bottom: 8px;
}
.admin-ad-chapter-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.admin-ad-chapter-list span {
  display: inline-flex;
  align-items: center;
  padding: 5px 9px;
  border-radius: 999px;
  border: 1px solid #cfe2ec;
  background: #fff;
  color: #355d76;
  font-size: 0.78rem;
  font-weight: 700;
}

.admin-ad-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 12px 0 18px;
}
.admin-ad-theme,
.admin-ad-status {
  display: inline-flex;
  border-radius: 999px;
  padding: 6px 10px;
  font-weight: 800;
  font-size: 0.78rem;
}
.admin-ad-theme {
  background: #edf7fb;
  color: #075f7e;
  border: 1px solid #cfe6ef;
}
.admin-ad-status {
  background: #f2f5f7;
  color: #607080;
}
.admin-ad-status.status-draft {
  background: #fff3d8;
  color: #956400;
}
.admin-ad-status.status-sent {
  background: #fff0f3;
  color: #d72655;
}
.admin-ad-status.status-published,
.admin-ad-status.status-active {
  background: #e5f8ef;
  color: #17734a;
}
.admin-ad-status.status-unpublished {
  background: #eef1f3;
  color: #667782;
}
.admin-ad-status.status-archived {
  background: #f7eee6;
  color: #95551d;
}
.admin-ad-commanditaire {
  background: #edf7fb;
  border: 1px solid #d4e8f1;
  border-radius: 14px;
  padding: 13px;
  margin: 12px 0;
}
.admin-ad-commanditaire strong,
.admin-ad-commanditaire span {
  display: block;
}
.admin-ad-commanditaire span {
  margin-top: 4px;
  color: #075f7e;
}
.admin-ad-dates {
  color: #60778a;
  line-height: 1.55;
  margin: 14px 0;
}
.admin-ad-actions {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  margin-top: 14px;
}
.admin-folder-accounts {
  margin-top: 18px;
  border-top: 1px solid #dce7ef;
  padding-top: 18px;
}
.admin-ad-highlight {
  outline: 4px solid rgba(235, 99, 102, 0.22);
  box-shadow: 0 0 0 2px #eb6366;
}
@media (max-width: 760px) {
  .admin-ad-grid {
    grid-template-columns: 1fr;
  }
  .admin-client-folder-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .admin-ad-card {
    min-height: 0;
  }
}

/* Dossier client admin — page dédiée */
.admin-client-open-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  padding-top: 16px;
  border-top: 1px solid #e1e9ef;
  margin-top: 16px;
}
.admin-client-page {
  padding-bottom: 56px;
}
.admin-client-page-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 18px;
}
.admin-back-link {
  display: inline-block;
  margin-bottom: 14px;
  color: #0d4c72;
  font-weight: 800;
  text-decoration: none;
}
.admin-client-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
}
.admin-client-summary article {
  background: #f7fafc;
  border: 1px solid #dce7ee;
  border-radius: 16px;
  padding: 16px;
}
.admin-client-summary span,
.admin-client-summary small {
  display: block;
  color: #657b89;
}
.admin-client-summary strong {
  display: block;
  margin: 5px 0;
  color: #11395c;
  font-size: 1.35rem;
}
.admin-client-folder-page,
.admin-folder-panel {
  margin-top: 18px;
  background: #fff;
  border: 1px solid #dce7ee;
  border-radius: 20px;
  padding: 20px;
}
.admin-client-folder-page .admin-ad-filterbar {
  margin: 0 0 18px;
}
.admin-folder-panel.admin-credit-editor {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  align-items: end;
  gap: 12px;
}
.admin-folder-panel.admin-credit-editor label {
  display: grid;
  gap: 6px;
  font-weight: 800;
  color: #17355f;
}
.admin-folder-panel.admin-credit-editor input {
  min-height: 42px;
  border: 1px solid #cad8e1;
  border-radius: 10px;
  padding: 0 10px;
  background: #fff;
}
.sidebar-admin a[href="client.html"]:not([aria-current="page"]) {
  display: none;
}
@media (max-width: 900px) {
  .admin-client-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .admin-folder-panel.admin-credit-editor {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 640px) {
  .admin-client-page-head {
    flex-direction: column;
  }
  .admin-client-summary,
  .admin-folder-panel.admin-credit-editor {
    grid-template-columns: 1fr;
  }
}
.campaign-sort,.admin-ad-sort{display:flex;align-items:center;gap:8px;color:#526b82;font-size:.82rem;font-weight:800;white-space:nowrap}.campaign-sort select,.admin-ad-sort select{min-height:42px;border:1px solid #d2e0e9;border-radius:12px;background:#fff;padding:0 34px 0 12px;color:#123b63;font:inherit;font-weight:800}.admin-ad-sort{margin-left:auto}.campaign-rename-dialog{width:min(560px,calc(100vw - 28px))}.campaign-rename-dialog .field{margin:20px 0}.campaign-rename-dialog input{font-size:1rem;font-weight:700}
.admin-theme-sort{margin-left:0}.campaign-theme-sort select,.admin-theme-sort select{min-width:220px}
@media(max-width:760px){.campaign-sort,.admin-ad-sort{width:100%;align-items:flex-start;flex-direction:column}.campaign-sort select,.admin-ad-sort select{width:100%}.admin-ad-sort{margin-left:0}}

/* Admin project actions / publication modal */
.admin-ad-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.admin-action-archive {
  border-color: #f2c17f !important;
  color: #9b4d0b !important;
  background: #fff8ef !important;
}
.publish-dialog {
  max-width: 640px;
}
.publish-dialog-copy {
  color: #637787;
  line-height: 1.55;
}
.publish-dialog-note {
  margin: 14px 0;
  padding: 12px 14px;
  border-radius: 12px;
  background: #eef6fb;
  color: #17355f;
  font-weight: 700;
}
.sidebar-admin nav a[data-nav-action="notifications"] {
  cursor: pointer;
}
.campaign-action-group {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

/* Administration — menu et centre de notifications */
.sidebar-admin .nav {
  gap: 8px !important;
}
.sidebar-admin .nav a {
  margin: 0 !important;
}
.sidebar-admin .nav a + a {
  margin-top: 0 !important;
}

/* Parcours de création — repères de temps et aides contextuelles inspirés d’ITS */
.step-time-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 10px 0 12px;
  padding: 8px 13px;
  border: 1px solid #b9dfe1;
  border-radius: 999px;
  background: #f3fbfa;
  color: #17355f;
  font-size: 0.86rem;
  font-weight: 900;
}
.step-time-badge span {
  font-size: 1rem;
}
.validation-summary {
  padding: 26px;
  margin: 24px 0;
  background: linear-gradient(145deg, #fff 0%, #fbfdff 100%);
}
.validation-summary-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 20px;
}
.validation-summary-head .eyebrow {
  margin-bottom: 5px;
}
.validation-summary-head .section-title {
  margin-bottom: 5px;
}
.validation-summary-head .section-desc {
  margin: 0;
}
.validation-summary-check {
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border-radius: 15px;
  background: #e9f8f3;
  color: #168264;
  font-size: 1.3rem;
  font-weight: 900;
}
.validation-overview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
}
.validation-overview-card {
  min-width: 0;
  padding: 18px;
  border: 1px solid #dbe4ee;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(25, 57, 98, 0.045);
}
.validation-overview-card-wide {
  grid-column: span 2;
}
.validation-overview-card dt {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 9px;
  color: #7787a3;
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}
.validation-overview-card dt span {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 8px;
  background: #edf8f8;
  color: #008b94;
  font-size: 0.8rem;
}
.validation-overview-card dd {
  margin: 0;
  color: var(--navy);
  font-size: 1.05rem;
  font-weight: 900;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
#validation-situations {
  font-size: 1.65rem;
  color: var(--royal-blue);
}
@media (max-width: 900px) {
  .validation-overview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .validation-overview-card-wide {
    grid-column: span 2;
  }
}
@media (max-width: 580px) {
  .validation-summary {
    padding: 20px;
  }
  .validation-summary-check {
    display: none;
  }
  .validation-overview-grid {
    grid-template-columns: 1fr;
  }
  .validation-overview-card-wide {
    grid-column: auto;
  }
}
.validation-credit {
  padding: 26px;
  margin: 24px 0;
  border-color: #f1dfcc;
  background: linear-gradient(135deg, #fffdf8 0%, #fff8f2 100%);
  box-shadow: 0 14px 34px rgba(112, 68, 36, 0.07);
}
.validation-credit-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 20px;
}
.validation-credit-head .eyebrow {
  margin-bottom: 5px;
  color: #b45155;
}
.validation-credit-head .section-title {
  margin-bottom: 5px;
}
.validation-credit-head .section-desc {
  max-width: 720px;
  margin: 0;
}
.validation-credit-grid {
  gap: 14px;
  margin-top: 0;
}
.validation-credit-item {
  display: flex;
  flex-direction: column;
  min-height: 145px;
  padding: 18px;
  border: 1px solid transparent;
  border-radius: 19px;
  box-shadow: 0 8px 20px rgba(29, 53, 88, 0.045);
}
.validation-credit-item:nth-child(1) {
  border-color: #bfe8d7;
  background: #effaf5;
}
.validation-credit-item:nth-child(2) {
  border-color: #ffd0c7;
  background: #fff3ef;
}
.validation-credit-item:nth-child(3) {
  border-color: #f1d994;
  background: #fff9e8;
}
.validation-credit-item span {
  font-size: 0.72rem;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}
.validation-credit-item:nth-child(1) span,
.validation-credit-item:nth-child(1) strong {
  color: #177257;
}
.validation-credit-item:nth-child(2) span,
.validation-credit-item:nth-child(2) strong {
  color: #b45155;
}
.validation-credit-item:nth-child(3) span,
.validation-credit-item:nth-child(3) strong {
  color: #8a650d;
}
.validation-credit-item strong {
  margin-top: auto;
  padding: 12px 0 4px;
  font-size: 1.65rem;
  line-height: 1.15;
}
.validation-credit-item:last-child strong {
  font-size: 1.12rem;
  line-height: 1.3;
}
.validation-credit-item small {
  color: #65758c;
  font-size: 0.76rem;
  font-weight: 700;
}
.validation-pack-button {
  flex: 0 0 auto;
  border: 0;
  background: #eb6366;
  color: #fff;
  box-shadow: 0 8px 18px rgba(235, 99, 102, 0.2);
}
.validation-pack-button:hover {
  background: #d95155;
  color: #fff;
  transform: translateY(-1px);
}
@media (max-width: 760px) {
  .validation-credit-head {
    display: grid;
  }
  .validation-pack-button {
    justify-self: start;
  }
  .validation-credit-grid {
    grid-template-columns: 1fr;
  }
}

/* Validation — dernières corrections avant transmission */
.validation-summary-edit-badge {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  padding: 8px 12px;
  border-radius: 999px;
  background: #fff0ed;
  color: #b45155;
  font-size: 0.74rem;
  font-weight: 900;
}
.validation-edit-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.validation-edit-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  padding: 17px;
  border: 1px solid #dbe4ee;
  border-radius: 18px;
  background: #fff;
}
.validation-edit-card-wide {
  grid-column: span 2;
}
.validation-edit-card > span,
.validation-overview-card dt {
  color: #65758c;
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}
.validation-edit-card input {
  width: 100%;
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid #cbd9e5;
  border-radius: 12px;
  background: #fbfdff;
  color: var(--navy);
  font:
    800 0.96rem Asap,
    sans-serif;
  outline: 0;
}
.validation-edit-card input:focus {
  border-color: #008b94;
  box-shadow: 0 0 0 3px rgba(0, 139, 148, 0.12);
  background: #fff;
}
.validation-edit-card input:disabled {
  border-color: transparent;
  background: #f1f4f7;
  color: #52657e;
  opacity: 1;
}
.validation-edit-card small {
  color: #7d8ca0;
  font-size: 0.75rem;
  line-height: 1.4;
}
.validation-edit-grid .validation-overview-card {
  box-shadow: none;
}
.validation-edit-grid #validation-situations {
  font-size: 1.55rem;
}
.validation-edit-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 17px;
}
#validation-save-status {
  color: #177257;
  font-size: 0.82rem;
  font-weight: 900;
}

/* Passations — encart coloré, bouton secondaire conservé */
.validation-credit {
  position: relative;
  overflow: hidden;
  padding: 28px;
  border-color: #f0d8d1;
  background: linear-gradient(135deg, #fff7f3 0%, #fffdf7 48%, #f4fbf9 100%);
  box-shadow: 0 16px 36px rgba(88, 57, 49, 0.08);
}
.validation-credit:before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 6px;
  background: linear-gradient(
    90deg,
    #eb6366 0 34%,
    #f1bd51 34% 67%,
    #3fb79a 67%
  );
}
.validation-credit-head {
  margin-bottom: 18px;
}
.validation-credit-head .eyebrow {
  color: #b45155;
}
.validation-credit-grid {
  gap: 14px;
}
.validation-credit-item {
  min-height: 125px;
  padding: 18px;
  border-radius: 18px;
  box-shadow: none;
}
.validation-credit-item:nth-child(1) {
  border-color: #a9dfcf;
  background: #eaf8f3;
}
.validation-credit-item:nth-child(2) {
  border-color: #ffc5b9;
  background: #fff0eb;
}
.validation-credit-item:nth-child(3) {
  border-color: #f1d17c;
  background: #fff7d9;
}
.validation-credit-item strong {
  padding-top: 14px;
}
.validation-credit-actions {
  margin-top: 16px;
}
.validation-credit-actions .button-secondary {
  background: #fff;
  border-color: #d9a6a0;
  color: #8c3f43;
}
.validation-credit-actions .button-secondary:hover {
  background: #fff4f2;
  border-color: #eb6366;
  color: #8c3f43;
}
.validation-pack-pending {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 16px;
  padding: 15px 17px;
  border: 1px solid #e8bf56;
  border-radius: 16px;
  background: #fff5cf;
  color: #684d09;
}
.validation-pack-pending[hidden] {
  display: none !important;
}
.validation-pack-pending > div {
  display: grid;
  gap: 4px;
}
.validation-pack-pending strong {
  color: #624608;
  font-size: 0.94rem;
}
.validation-pack-pending span {
  font-size: 0.8rem;
  line-height: 1.4;
}
.validation-pack-pending-status {
  flex: 0 0 auto;
  padding: 7px 10px;
  border-radius: 999px;
  background: #f1bd51;
  color: #533d07;
  font-weight: 900;
  white-space: nowrap;
}
@media (max-width: 900px) {
  .validation-edit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .validation-edit-card-wide {
    grid-column: span 2;
  }
}
@media (max-width: 580px) {
  .validation-summary-head {
    display: grid;
  }
  .validation-summary-edit-badge {
    justify-self: start;
  }
  .validation-edit-grid {
    grid-template-columns: 1fr;
  }
  .validation-edit-card-wide {
    grid-column: auto;
  }
  .validation-edit-actions {
    align-items: flex-start;
    flex-direction: column;
  }
  .validation-credit {
    padding: 22px;
  }
  .validation-pack-pending {
    align-items: flex-start;
    flex-direction: column;
  }
  .validation-pack-pending-status {
    white-space: normal;
  }
}
.field-help {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
  margin-left: 6px;
}
.field-help-button {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #173b67;
  color: #fff;
  font:
    900 0.78rem Asap,
    sans-serif;
  cursor: help;
}
.field-help-content {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 10px);
  z-index: 80;
  width: min(330px, 75vw);
  padding: 12px 14px;
  border-radius: 12px;
  background: #173b67;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.45;
  box-shadow: 0 14px 32px rgba(23, 59, 103, 0.22);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 5px);
  transition: 0.15s ease;
  pointer-events: none;
}
.field-help-content:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  border: 7px solid transparent;
  border-top-color: #173b67;
  transform: translateX(-50%);
}
.field-help:hover .field-help-content,
.field-help:focus-within .field-help-content {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
.slug-preview {
  background: #eef3f7 !important;
  color: #17355f !important;
  font-weight: 850;
  letter-spacing: 0.01em;
}
.slug-preview-note {
  display: block;
  margin-top: 7px;
  color: #657b89;
  font-size: 0.78rem;
  line-height: 1.45;
}
@media (max-width: 620px) {
  .field-help-content {
    left: 0;
    transform: translate(0, 5px);
  }
  .field-help:hover .field-help-content,
  .field-help:focus-within .field-help-content {
    transform: translate(0, 0);
  }
  .field-help-content:after {
    left: 12px;
  }
}
@media (min-width: 821px) and (max-height: 1050px) {
  .sidebar-admin .nav {
    gap: 7px !important;
  }
  .sidebar-admin .nav a {
    padding-top: 8px;
    padding-bottom: 8px;
  }
}
@media (min-width: 821px) and (max-height: 900px) {
  .sidebar-admin .nav {
    gap: 6px !important;
  }
  .sidebar-admin .nav a {
    padding-top: 7px;
    padding-bottom: 7px;
  }
}
.admin-accounts-divider {
  height: 1px;
  background: var(--line);
  margin: 28px 0;
}
.admin-access-admin-head {
  margin-top: 0;
}
.admin-notifications-page {
  padding-bottom: 56px;
}
.admin-notification-center {
  padding: 0;
  overflow: hidden;
}
.admin-notification-center-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 380px);
  gap: 18px;
  align-items: center;
  padding: 18px 20px;
  border-bottom: 1px solid var(--line);
  background: #f8fbfd;
}
.admin-notification-kpis {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.admin-notification-kpis button {
  display: flex;
  gap: 8px;
  align-items: center;
  border: 1px solid #d8e3ea;
  border-radius: 999px;
  background: #fff;
  color: #17355f;
  padding: 9px 13px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.admin-notification-kpis button strong {
  display: grid;
  place-items: center;
  min-width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #edf3f7;
  color: #0d4c72;
  font-size: 0.78rem;
}
.admin-notification-kpis button.is-active {
  background: #0d4c72;
  color: #fff;
  border-color: #0d4c72;
}
.admin-notification-kpis button.is-active strong {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}
.admin-notification-search {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #d8e3ea;
  border-radius: 999px;
  background: #fff;
  padding: 0 14px;
}
.admin-notification-search input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  min-height: 42px;
  font: inherit;
  color: #17355f;
}
.admin-notification-center-list {
  display: grid;
}
.admin-notification-row {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 18px 20px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.admin-notification-row:last-child {
  border-bottom: 0;
}
.admin-notification-row.is-unread {
  background: #f1f7fb;
}
.admin-notification-row.is-read {
  opacity: 0.78;
}
.admin-notification-row-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid #d8e3ea;
  border-radius: 14px;
  background: #fff;
  font-size: 1.2rem;
}
.admin-notification-row-main {
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 0;
  text-align: left;
  font: inherit;
  color: inherit;
  cursor: pointer;
}
.admin-notification-row-title {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
}
.admin-notification-row-title strong {
  color: #17355f;
  font-size: 0.98rem;
}
.admin-notification-row-title span {
  padding: 3px 8px;
  border-radius: 999px;
  background: #e93d69;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 900;
}
.admin-notification-row-main p {
  margin: 5px 0;
  color: #657b89;
  line-height: 1.45;
}
.admin-notification-row-main time {
  color: #8a9aaa;
  font-size: 0.76rem;
  font-weight: 800;
}
.admin-notification-row-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.admin-notification-row-actions .notification-item-check {
  margin: 0;
}
@media (max-width: 900px) {
  .admin-notification-center-head {
    grid-template-columns: 1fr;
  }
  .admin-notification-row {
    grid-template-columns: 44px minmax(0, 1fr);
  }
  .admin-notification-row-actions {
    grid-column: 2;
  }
}

/* Admin fixes 28/08 — notification layer + accounts action */
.notification-panel-open .sidebar {
  z-index: 10100 !important;
}
.notification-panel-open .admin-cockpit-hero {
  z-index: 1 !important;
}
.notification-panel {
  z-index: 10120 !important;
}
.notification-head-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.notification-center-link {
  font-size: 12px;
  font-weight: 800;
  color: #0d4c72;
  text-decoration: none;
  white-space: nowrap;
}
.notification-center-link:hover {
  text-decoration: underline;
}
.admin-cockpit-section[data-admin-panel="accounts"] .admin-section-title {
  align-items: center;
}

/* 2026-08-28 — Kit de communication en onglets */
.kit-workspace {
  margin-top: 18px;
}
.kit-workspace-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  padding: 10px;
  background: #f5f8fb;
  border: 1px solid #dce6ed;
  border-radius: 18px;
  margin-bottom: 16px;
  position: sticky;
  top: 10px;
  z-index: 20;
}
.kit-workspace-tab {
  appearance: none;
  border: 1px solid #cbdce5;
  background: #fff;
  color: #173b67;
  border-radius: 14px;
  padding: 12px 16px;
  font-weight: 850;
  cursor: pointer;
}
.kit-workspace-tab.is-active {
  background: #0d8791;
  color: #fff;
  border-color: #0d8791;
  box-shadow: 0 8px 20px rgba(13, 135, 145, 0.16);
}
.kit-workspace-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 18px;
  align-items: start;
}
.kit-tab-panel {
  min-width: 0;
}
.kit-tab-panel[hidden] {
  display: none !important;
}
.kit-tab-panel > .card + .card {
  margin-top: 16px;
}
.kit-tab-side {
  position: sticky;
  top: 92px;
}
.studio-process-step[type="button"] {
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.studio-process-step[type="button"]:hover {
  transform: translateY(-1px);
}
@media (max-width: 980px) {
  .kit-workspace-body {
    grid-template-columns: 1fr;
  }
  .kit-tab-side {
    position: static;
  }
  .kit-workspace-tabs {
    position: static;
  }
  .kit-workspace-tab {
    flex: 1 1 220px;
  }
}

.kit-file-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.button-danger {
  border-color: #ffc3c8 !important;
  background: #fff2f3 !important;
  color: #cf2445 !important;
}
.button-danger:hover {
  background: #ffe8eb !important;
}
@media (max-width: 720px) {
  .kit-file-actions {
    justify-content: flex-start;
  }
}

/* 2026-08-28 Kit com: suppression Studio + diffusion client/admin */
.kit-client-waiting {
  margin: 14px 0 18px;
  padding: 16px 18px;
  border: 1px solid #d6e4eb;
  border-radius: 14px;
  background: #f5f9fb;
  color: #17355f;
  display: grid;
  gap: 5px;
}
.kit-client-waiting[hidden] {
  display: none !important;
}
.kit-client-waiting strong {
  font-weight: 900;
}
.kit-client-waiting span {
  color: #667b89;
}
.kit-url {
  padding: 16px 18px !important;
  margin-top: 12px !important;
  border: 1px solid #e2e9ed !important;
  border-radius: 14px !important;
  background: #f7f9fb !important;
}
.kit-url-label {
  margin: 0 0 7px !important;
}
.kit-url-value {
  margin-top: 0 !important;
  line-height: 1.45;
  padding: 0 !important;
}
#kit-delete-modal.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: rgba(13, 35, 63, 0.48);
  display: grid;
  place-items: center;
  padding: 20px;
}
#kit-delete-modal[hidden] {
  display: none !important;
}
.kit-confirm-modal {
  position: relative;
  width: min(480px, 100%);
  padding: 30px;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(13, 35, 63, 0.25);
  text-align: center;
}
.kit-confirm-modal .modal-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 14px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #fff0f2;
  font-size: 24px;
}
.kit-confirm-modal h2 {
  margin: 0 0 10px;
  color: #17355f;
}
.kit-confirm-modal p {
  margin: 0 auto 22px;
  color: #657785;
  line-height: 1.55;
}
.kit-confirm-modal .modal-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
.kit-confirm-modal .modal-close {
  position: absolute;
  right: 16px;
  top: 12px;
  border: 0;
  background: transparent;
  font-size: 28px;
  color: #667b89;
  cursor: pointer;
}
.button-danger {
  border: 1px solid #ffc4cb;
  background: #fff0f2;
  color: #c72c48;
}

/* Mes campagnes — cartes inspirées de la vue Mes autodiagnostics ITS */
.campaign-browser {
  margin-top: 20px;
}
.campaign-watch-card {
  width: 100%;
  text-align: left;
  font: inherit;
  cursor: pointer;
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease,
    border-color 0.15s ease;
}
.campaign-watch-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(23, 53, 95, 0.08);
}
.campaign-watch-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.campaign-watch-strip .alert-card {
  min-height: 126px;
}
.campaign-watch-strip .alert-card div {
  min-width: 0;
}
.campaign-watch-strip .alert-card strong,
.campaign-watch-strip .alert-card span {
  display: block;
}
.campaign-watch-strip .alert-card span:not(.alert-icon) {
  margin-top: 6px;
  line-height: 1.4;
}
.campaign-watch-strip .alert-icon {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin: 0 !important;
  padding: 0;
  line-height: 1;
  text-align: center;
  background: #fff;
  box-sizing: border-box;
}
.alert-card.tone-warning {
  background: #fff8e8;
  border-color: #f1d79a;
}
.alert-card.tone-warning .alert-icon {
  background: #fff;
  color: #9a6500;
}
.admin-campaign-watch-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 4px 0 18px;
}
.admin-campaign-watch-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-height: 108px;
  padding: 16px;
  border: 1px solid #d7e3ec;
  border-radius: 18px;
  background: #f8fbfd;
  color: #17355f;
  text-align: left;
  font: inherit;
  cursor: pointer;
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease;
}
.admin-campaign-watch-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(23, 53, 95, 0.08);
}
.admin-campaign-watch-card.starting {
  border-color: #b9d8f6;
  background: #edf6ff;
}
.admin-campaign-watch-card.ending {
  border-color: #ffc5ae;
  background: #fff2ec;
}
.admin-campaign-watch-card.publish {
  border-color: #c8d9f7;
  background: #f0f5ff;
}
.admin-campaign-watch-card.scheduled {
  border-color: #d8cdf5;
  background: #f7f3ff;
}
.admin-campaign-watch-card.results {
  border-color: #bfe8cf;
  background: #edf9f2;
}
.admin-watch-icon {
  display: grid;
  place-items: center;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: 13px;
  background: #fff;
  font-size: 1.2rem;
}
.admin-campaign-watch-card div {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.admin-campaign-watch-card strong {
  color: #12375d;
  line-height: 1.25;
}
.admin-campaign-watch-card small {
  color: #64798b;
  line-height: 1.4;
}
.admin-ad-status.status-starting {
  background: #e7f2ff;
  color: #1c5e91;
}
.admin-ad-status.status-ending {
  background: #fff0e8;
  color: #a34621;
}
@media (max-width: 1100px) {
  .campaign-watch-strip,
  .admin-campaign-watch-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .campaign-watch-strip,
  .admin-campaign-watch-grid {
    grid-template-columns: 1fr;
  }
}
.campaign-toolbar {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  box-shadow: 0 10px 25px rgba(23, 53, 95, 0.05);
  margin-bottom: 16px;
}

.campaign-folder-bar {
  margin: 0 0 18px;
  padding: 16px 18px;
  border: 1px solid #dbe5f1;
  border-radius: 18px;
  background: #f8fbff;
}
.campaign-folder-heading,
.campaign-folder-list,
.campaign-folder-group { display: flex; align-items: center; }
.campaign-folder-heading { justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.campaign-folder-heading > div { display: grid; gap: 2px; }
.campaign-folder-heading strong { color: #102d59; font-size: 1rem; }
.campaign-folder-heading span { color: #60708b; font-size: .86rem; }
.campaign-folder-tools { display: flex; align-items: end; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.campaign-theme-filter { display: grid; gap: 3px; color: #60708b; font-size: .72rem; font-weight: 800; }
.campaign-theme-filter select { min-width: 230px; min-height: 38px; padding: 7px 34px 7px 11px; border: 1px solid #cfdaea; border-radius: 10px; background: #fff; color: #17345f; font: 750 .82rem Asap, sans-serif; }
.campaign-folder-list { flex-wrap: wrap; gap: 9px; }
.campaign-folder-group { gap: 3px; }
.campaign-folder-chip,
.campaign-folder-create,
.campaign-folder-manage {
  border: 1px solid #cfdaea;
  background: #fff;
  color: #17345f;
  cursor: pointer;
}
.campaign-folder-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 7px 12px; border-radius: 999px; font-weight: 700; }
.campaign-folder-chip strong { min-width: 22px; padding: 2px 6px; border-radius: 999px; background: #edf3fa; text-align: center; font-size: .78rem; }
.campaign-folder-chip:hover,
.campaign-folder-chip.is-active { border-color: #087f89; background: #e8f7f7; color: #006b73; }
.campaign-folder-create { padding: 8px 13px; border-radius: 10px; border-color: #078b93; color: #06737b; font-weight: 800; }
.campaign-folder-manage { width: 32px; height: 32px; border-radius: 50%; font-weight: 900; line-height: 1; }
.campaign-folder-tag { display: inline-flex; align-items: center; padding: 5px 9px; border-radius: 999px; background: #edf3fa; color: #294b75; font-size: .78rem; font-weight: 700; }
.admin-folder-bar { margin-top: 16px; }
@media (max-width: 700px) {
  .campaign-folder-heading { align-items: flex-start; flex-direction: column; }
  .campaign-folder-tools, .campaign-theme-filter, .campaign-theme-filter select { width: 100%; }
  .campaign-folder-create { width: 100%; }
}
.campaign-filter-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
}
.campaign-filter-tab {
  border: 1px solid #d8e0ea;
  background: #fff;
  color: #64748b;
  border-radius: 999px;
  padding: 8px 13px;
  font:
    800 0.82rem Asap,
    sans-serif;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.campaign-filter-tab .campaign-filter-count {
  background: #edf2f7;
  color: #17355f;
  border-radius: 999px;
  padding: 1px 7px;
  font-size: 0.72rem;
}
.campaign-filter-tab.active {
  background: #17355f;
  color: #fff;
  border-color: #17355f;
}
.campaign-filter-tab.active .campaign-filter-count {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}
.campaign-filter-icon {
  display: inline-grid;
  width: 18px;
  padding: 0;
  place-items: center;
  background: transparent;
  font-size: 0.9rem;
  line-height: 1;
}
.campaign-filter-tab.active .campaign-filter-icon {
  background: transparent;
}

/* Séparation définitive des notifications, y compris dans Mes campagnes. */
.notification-panel header > div:first-child > strong { margin-right: 8px; }
.notification-panel .notification-list {
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 10px;
  background: #f8fbfd;
}
.notification-panel .notification-list > .notification-item {
  flex: 0 0 auto;
  margin: 0;
  border: 1px solid #d9e7f0;
  background-clip: padding-box;
}
.campaign-search {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 250px;
  max-width: 390px;
  flex: 1;
  border: 1px solid #d8e0ea;
  border-radius: 11px;
  padding: 0 12px;
  background: #fff;
}
.campaign-search input {
  width: 100%;
  border: 0;
  outline: 0;
  padding: 10px 0;
  background: transparent;
  font: inherit;
  color: #17355f;
}
.campaign-list-head {
  margin: 0 0 14px;
}
.campaigns-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.campaign-project-card {
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
  border: 1px solid #d8e0ea;
  border-radius: 22px;
  padding: 18px;
  display: grid;
  grid-template-columns: 7px minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
  box-shadow: 0 14px 34px rgba(23, 53, 95, 0.07);
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease;
  min-width: 0;
}
.campaign-project-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 44px rgba(23, 53, 95, 0.11);
}
.campaign-project-card.submitted-card {
  border-color: #ffdf8a;
}
.campaign-project-card.published-card {
  border-color: #b8dfe0;
}
.campaign-project-card.validation-card {
  border-color: #efa82f;
  box-shadow: 0 12px 28px rgba(205, 133, 14, 0.12);
}
.campaign-status-bar {
  width: 7px;
  height: 100%;
  min-height: 120px;
  border-radius: 999px;
  background: #94a3b8;
}
.campaign-status-bar.draft {
  background: #94a3b8;
}
.campaign-status-bar.submitted {
  background: #ffc744;
}
.campaign-status-bar.scheduled {
  background: #6fa8dc;
}
.campaign-status-bar.published {
  background: #0d8791;
}
.campaign-status-bar.unpublished {
  background: #94a3b8;
}
.campaign-status-bar.completed {
  background: #77cd8a;
}
.campaign-status-bar.archived {
  background: #cbd5e1;
}
.campaign-status-bar.validation {
  background: #eaa323;
}
.campaign-project-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.campaign-project-title {
  font-size: 1.12rem;
  font-weight: 900;
  color: #17355f;
  margin-bottom: 7px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.campaign-project-meta {
  font-size: 0.87rem;
  color: #687d90;
  line-height: 1.55;
}
.campaign-tag-row {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin-top: 13px;
  align-items: center;
}
.campaign-topic-tag,
.campaign-status-tag,
.campaign-context-tag {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 6px 11px;
  font-size: 0.78rem;
  font-weight: 900;
  border: 1px solid #d0d8e8;
}
.campaign-topic-tag {
  background: #edf3fa;
  color: #17355f;
}
.campaign-status-tag.draft {
  background: #edf1f7;
  color: #475569;
}
.campaign-status-tag.submitted {
  background: #fff4d5;
  color: #9a6700;
  border-color: #ffdf8a;
}
.campaign-status-tag.scheduled {
  background: #eef6ff;
  color: #1f4e91;
  border-color: #cfe3ff;
}
.campaign-status-tag.published {
  background: #e5f4f5;
  color: #08737a;
  border-color: #b8dfe0;
}
.campaign-status-tag.unpublished {
  background: #eef2f6;
  color: #64748b;
}
.campaign-status-tag.completed {
  background: #e8f8ef;
  color: #22824d;
  border-color: #c7ebd5;
}
.campaign-status-tag.archived {
  background: #f1f4f8;
  color: #94a3b8;
}
.campaign-status-tag.validation {
  background: #fff0c9;
  color: #815300;
  border-color: #efa82f;
}
.campaign-context-tag.reprogrammed {
  background: #fff8ec;
  color: #9a5b00;
  border-color: #ffd9a3;
}
.campaign-context-tag.extended {
  background: #eef6ff;
  color: #1f4e91;
  border-color: #cfe3ff;
}
.campaign-row-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 17px;
  width: 100%;
}
.campaign-btn {
  border: 1px solid #d8e0ea;
  background: #fff;
  color: #17355f;
  border-radius: 11px;
  padding: 9px 13px;
  font:
    800 0.82rem Asap,
    sans-serif;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 39px;
}
.campaign-btn:hover {
  background: #f7f9fc;
}
.campaign-btn-primary {
  background: #17355f;
  color: #fff;
  border-color: #17355f;
}
.campaign-btn-primary:hover {
  background: #102b4d;
}
.campaign-btn-static {
  cursor: default;
}
.campaign-btn-static:hover {
  background: #17355f;
}
.campaign-btn-kit {
  background: #eaf6f4;
  color: #08737a;
  border-color: #b8dfe0;
}
.campaign-btn-danger {
  background: #fff4f4;
  color: #bd3344;
  border-color: #f4c6cc;
}
.campaign-more {
  position: relative;
}
.campaign-more > summary {
  list-style: none;
  border: 1px solid #d8e0ea;
  background: #fff;
  color: #17355f;
  border-radius: 11px;
  padding: 9px 13px;
  font:
    800 0.82rem Asap,
    sans-serif;
  cursor: pointer;
  min-height: 39px;
  display: flex;
  align-items: center;
}
.campaign-more > summary::-webkit-details-marker {
  display: none;
}
.campaign-more > summary::after {
  content: "▾";
  margin-left: 8px;
  font-size: 0.7rem;
}
.campaign-more-menu {
  position: absolute;
  left: 0;
  top: calc(100% + 6px);
  z-index: 25;
  min-width: 190px;
  background: #fff;
  border: 1px solid #d8e0ea;
  border-radius: 12px;
  box-shadow: 0 14px 35px rgba(23, 53, 95, 0.14);
  padding: 5px;
}
.campaign-more-menu button,
.campaign-more-menu a {
  display: block;
  width: 100%;
  border: 0;
  background: #fff;
  text-align: left;
  padding: 10px 11px;
  border-radius: 8px;
  font:
    800 0.79rem Asap,
    sans-serif;
  color: #17355f;
  cursor: pointer;
  text-decoration: none;
  box-sizing: border-box;
}
.campaign-more-menu button:hover,
.campaign-more-menu a:hover {
  background: #f7f9fc;
}
.campaign-more-menu button.danger,
.campaign-more-menu a.danger {
  color: #bd3344;
}
.campaign-empty {
  background: #fff;
  border: 1px dashed #cbd5e1;
  border-radius: 16px;
  text-align: center;
  padding: 44px 20px;
  color: #64748b;
}
@media (max-width: 980px) {
  .campaigns-card-grid {
    grid-template-columns: 1fr;
  }
  .campaign-search {
    max-width: none;
    width: 100%;
  }
}
@media (max-width: 620px) {
  .campaign-toolbar {
    align-items: stretch;
  }
  .campaign-search {
    min-width: 0;
  }
  .campaign-project-card {
    grid-template-columns: 6px minmax(0, 1fr);
    padding: 15px;
  }
  .campaign-row-actions,
  .campaign-btn,
  .campaign-more,
  .campaign-more > summary {
    width: 100%;
  }
  .campaign-more-menu {
    position: static;
    margin-top: 6px;
    width: 100%;
  }
}

/* ==========================================================================
   campagne-detail.html — icônes, encart de programmation, verrouillage du
   contenu après transmission. Scopé à .campaign-detail-page pour ne toucher
   aucune autre page du Studio.
   ========================================================================== */
.campaign-detail-page .campaign-section-title {
  display: flex;
  align-items: center;
  gap: 10px;
}
.campaign-detail-page .campaign-section-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: var(--royal-blue-soft);
  color: var(--royal-blue);
}
.campaign-detail-page .campaign-section-icon svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.campaign-detail-page .campaign-schedule-note {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 16px 18px;
  border-radius: 16px;
  background: var(--green-blue-soft);
  border: 1px solid #bfe3e6;
  color: var(--green-blue-dark);
  margin-bottom: 24px;
}
.campaign-detail-page .campaign-schedule-note svg {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  margin-top: 1px;
}
.campaign-detail-page .campaign-schedule-note p {
  margin: 0;
  font-weight: 700;
  line-height: 1.5;
}
.campaign-detail-page .campaign-lock-panel {
  padding: 18px 20px;
  border-radius: 16px;
  background: var(--royal-blue-tint);
  border: 1px solid var(--line);
  margin-bottom: 18px;
}
.campaign-detail-page .campaign-lock-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.campaign-detail-page .campaign-lock-title {
  font-weight: 900;
  color: var(--royal-blue);
}
.campaign-detail-page .campaign-lock-text {
  margin: 0;
  color: var(--muted);
}
@media (max-width: 620px) {
  .campaign-detail-page .campaign-schedule-note {
    flex-direction: column;
  }
  .campaign-detail-page .campaign-lock-head {
    flex-direction: column;
    align-items: flex-start;
  }
}
.review-word-diff ins {
  padding: 1px 3px;
  border-radius: 4px;
  background: #dff6e7;
  color: #176b3a;
  text-decoration: none;
  font-weight: 800;
}
.review-word-diff del {
  padding: 1px 3px;
  border-radius: 4px;
  background: #ffe5e2;
  color: #b42318;
  text-decoration: line-through;
  font-weight: 700;
}
.review-word-diff ins.is-admin {
  background: #eee3ff;
  color: #6f3bab;
}
.review-word-diff del.is-admin {
  background: #f1e8ff;
  color: #7343a6;
  text-decoration: line-through;
}
.review-edit-target {
  display: grid;
  gap: 5px;
  color: var(--green-blue-dark);
  text-decoration: none;
}
.review-edit-target span {
  width: max-content;
  padding: 4px 8px;
  border-radius: 999px;
  background: #e7f5f2;
  color: #086b63;
  font-size: 0.72rem;
  font-weight: 900;
}
.review-edit-target:hover span,
.review-edit-target:focus-visible span {
  background: #087f78;
  color: #fff;
}
.review-version-legend .is-removed {
  background: #ffe5e2;
  color: #b42318;
}
.review-version-legend .is-client-added {
  background: #dff6e7;
  color: #176b3a;
}
.review-direct-target {
  outline: 4px solid rgba(139, 92, 205, 0.35);
  box-shadow: 0 0 0 8px rgba(139, 92, 205, 0.1);
  animation: review-target-pulse 1.4s ease-out 1;
}
@keyframes review-target-pulse {
  0% {
    outline-color: rgba(139, 92, 205, 0.8);
  }
  100% {
    outline-color: rgba(139, 92, 205, 0.35);
  }
}

/* Légende unique et littérale de la relecture. */
.review-color-legend {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 16px 0 22px;
}
.review-color-legend span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 8px 11px;
  border: 1px solid;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
}
.review-color-legend i {
  width: 11px;
  height: 11px;
  border-radius: 3px;
}
.review-color-legend .is-removed {
  background: #ffe5e2;
  border-color: #f7b7b0;
  color: #b42318;
}
.review-color-legend .is-removed i {
  background: #b42318;
}
.review-color-legend .is-added {
  background: #dff6e7;
  border-color: #9fd9b4;
  color: #176b3a;
}
.review-color-legend .is-added i {
  background: #176b3a;
}
.review-color-legend .is-meayt,
.review-version-legend .is-meayt {
  background: #eee3ff;
  border-color: #cdb2f2;
  color: #6f3bab;
}
.review-color-legend .is-meayt i {
  background: #6f3bab;
}

/* La demande ciblée montre les deux textes avant sélection. */
.adjust-targets {
  display: grid;
  gap: 12px;
}
.adjust-target-card {
  display: grid !important;
  gap: 9px !important;
  padding: 13px !important;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}
.adjust-target-card[hidden] {
  display: none !important;
}
.adjust-target-choice {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: var(--royal-blue);
}
.adjust-target-choice input {
  margin-top: 3px;
}
.adjust-version {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 10px;
  line-height: 1.45;
}
.adjust-version small,
.adjustment-review-list small {
  display: block;
  margin-bottom: 3px;
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.adjust-version.is-client {
  background: #f2f7fd;
  border-left: 3px solid #8ebce8;
}
.adjust-version.is-client small {
  color: #245b91;
}
.adjust-version.is-meayt {
  background: #f7f1ff;
  border-left: 3px solid #9a6bd7;
}
.adjust-version.is-meayt small {
  color: #6f3bab;
}
.adjust-target-help {
  margin: 0 0 2px;
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.45;
}
.review-color-legend.is-bottom {
  margin-top: 10px;
  margin-bottom: 24px;
  padding-top: 2px;
  border-top: 1px solid var(--line);
}
.adjustment-review-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.adjustment-review-list article {
  padding: 12px 14px;
  border: 1px solid #efbd71;
  border-radius: 12px;
  background: #fff;
}
.adjustment-review-list article > strong {
  color: #7b4b00;
}
.adjustment-review-list p {
  margin: 8px 0 0;
  padding: 9px 11px;
  border-radius: 9px;
  background: #fff8e8;
}
.adjustment-review-list p:last-child {
  background: #f7f1ff;
}
.adjustment-review-list p:last-child small {
  color: #6f3bab;
}
.adjustment-pending-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.adjustment-pending-heading > div {
  display: grid;
  gap: 4px;
}
.adjustment-pending-eyebrow,
.adjustment-client-comment small {
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.adjustment-pending-eyebrow {
  color: #9a5b00;
}
.adjustment-pending-date {
  font-size: 0.82rem;
  color: #805f2c;
}
.adjustment-client-comment {
  margin: 16px 0;
  padding: 16px 18px;
  border-radius: 14px;
  background: #fff;
  border: 2px solid #e3a83d;
  box-shadow: 0 8px 22px rgba(122, 75, 0, 0.08);
}
.adjustment-client-comment small {
  color: #8a5100;
}
.adjustment-client-comment blockquote {
  margin: 8px 0 0;
  font-size: 1.08rem;
  font-weight: 800;
  line-height: 1.5;
  color: #593500;
}
.adjustment-edit-button {
  display: inline-flex;
  margin-top: 12px;
  text-decoration: none;
}
@media (max-width: 680px) {
  .adjustment-pending-heading {
    display: grid;
  }
  .adjustment-pending-date {
    order: 2;
  }
}
.review-client-request-result {
  border: 2px solid #efbd71;
  border-radius: 18px;
  background: #fffaf0;
}
.review-client-request-result .review-diff-head {
  padding: 16px 18px 0;
}
.review-client-request-result .review-diff-head h3 {
  color: #7b4b00;
}
.review-origin-badge {
  display: inline-block;
  margin: 0 0 7px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #fff0cf;
  color: #7b4b00;
  font-size: 0.7rem;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.035em;
}
.campaign-reprogram-hint,
.campaign-lifecycle-note {
  display: grid;
  gap: 5px;
  margin-top: 14px;
  padding: 13px 15px;
  border: 1px solid #9ed9d4;
  border-radius: 14px;
  background: #edf9f7;
  color: var(--green-blue-dark);
}
.campaign-reprogram-hint span,
.campaign-lifecycle-note span {
  color: var(--text-muted);
  line-height: 1.45;
}
.campaign-lifecycle-dialog {
  width: min(620px, calc(100vw - 28px));
}
.campaign-lifecycle-dialog .field strong {
  padding: 12px 14px;
  border-radius: 10px;
  background: var(--surface-soft);
}

/* Demande d'ajustement : lecture confortable et regroupement par chapitre. */
.admin-dialog.adjustment-dialog {
  width: min(1040px, calc(100vw - 40px));
  max-height: calc(100vh - 32px);
  overflow: auto;
}
.adjustment-dialog .adjust-targets {
  max-height: 48vh;
  padding: 18px;
}
.adjust-target-group {
  position: sticky;
  top: -18px;
  z-index: 2;
  margin: 8px -4px 2px;
  padding: 12px 10px 9px;
  border-bottom: 2px solid #bfe3e6;
  background: #fff;
  color: var(--green-blue-dark);
  font-size: 0.92rem;
}
.adjust-target-group[hidden] {
  display: none;
}
.adjust-target-group:first-of-type {
  margin-top: 0;
}
@media (max-width: 760px) {
  .admin-dialog.adjustment-dialog {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
    padding: 20px;
  }
  .adjustment-dialog .adjust-targets {
    max-height: 44vh;
    padding: 12px;
  }
  .adjust-target-group {
    top: -12px;
  }
}
.review-waiting-client {
  display: grid;
  gap: 6px;
  margin-top: 18px;
  padding: 17px 19px;
  border: 1px solid #f1d17c;
  border-radius: 16px;
  background: #fff7d9;
  color: #73550b;
}
.review-waiting-client strong {
  font-size: 1rem;
}
.review-waiting-client span {
  line-height: 1.5;
}
.adjust-version.is-reference {
  background: #f4f6f9;
  border-left: 3px solid #8090a5;
}
.adjust-version.is-reference small {
  color: #526176;
}
.adjust-version.is-client-change {
  background: #eaf8ef;
  border-left: 3px solid #38a166;
}
.adjust-version.is-client-change small {
  color: #176b3a;
}
.adjust-category-group {
  border: 1px solid #cfe0e4;
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}
.adjust-category-group[hidden] {
  display: none;
}
.adjust-category-group > summary {
  padding: 14px 16px;
  background: #edf7f7;
  color: var(--green-blue-dark);
  font-weight: 900;
  cursor: pointer;
  list-style-position: inside;
}
.adjust-category-group[open] > summary {
  border-bottom: 1px solid #cfe0e4;
}
.adjust-group-content {
  display: grid;
  gap: 13px;
  padding: 14px;
}
.adjust-situation-block {
  display: grid;
  gap: 9px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fbfcfd;
}
.adjust-situation-block h4 {
  margin: 0;
  color: var(--royal-blue);
}
.adjust-response-list,
.adjust-profile-block {
  border: 1px solid #dce4ee;
  border-radius: 11px;
  background: #fff;
}
.adjust-response-list > summary,
.adjust-profile-block > summary {
  padding: 11px 13px;
  color: #405675;
  font-weight: 850;
  cursor: pointer;
}
.adjust-response-list > div,
.adjust-profile-block > div {
  display: grid;
  gap: 10px;
  padding: 0 11px 11px;
}
.adjust-situation-block > .adjust-target-card {
  margin: 0;
}
.adjust-profile-block + .adjust-profile-block {
  margin-top: 2px;
}
.adjust-details[hidden],
.adjust-targets[hidden],
#adjust-send[hidden] {
  display: none !important;
}
.admin-dialog.adjustment-dialog {
  overflow: hidden;
}
.adjustment-dialog.has-selection {
  height: min(900px, calc(100vh - 32px));
}
.adjustment-dialog.has-selection form {
  display: flex;
  height: 100%;
  min-height: 0;
  flex-direction: column;
}
.adjustment-dialog .adjust-details {
  display: grid;
  min-height: 0;
  flex: 1;
  grid-template-rows: minmax(180px, 1fr) auto auto;
  gap: 14px;
  overflow: hidden;
}
.adjustment-dialog .adjust-targets {
  min-height: 0;
  max-height: none;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.adjustment-dialog .adjust-details > .field {
  margin: 0;
}
.adjustment-dialog .adjust-details textarea {
  max-height: 120px;
}
.adjustment-dialog > .top-actions {
  flex: 0 0 auto;
}
@media (max-width: 760px) {
  .adjustment-dialog.has-selection {
    height: calc(100vh - 20px);
  }
  .adjustment-dialog .adjust-details {
    grid-template-rows: minmax(150px, 1fr) auto auto;
  }
  .adjustment-dialog .adjust-details textarea {
    max-height: 96px;
  }
}

/* Correctif de défilement : les accordéons gardent leur hauteur et leurs clics. */
.admin-dialog.adjustment-dialog,
.adjustment-dialog.has-selection {
  height: auto;
  max-height: calc(100vh - 24px);
  overflow-y: auto;
}
.adjustment-dialog.has-selection form {
  display: grid;
  height: auto;
  min-height: 0;
}
.adjustment-dialog .adjust-details {
  display: grid;
  min-height: 0;
  grid-template-rows: auto auto auto;
  overflow: visible;
}
.adjustment-dialog .adjust-targets {
  display: grid;
  grid-auto-rows: max-content;
  align-content: start;
  max-height: min(52vh, 560px);
  overflow-x: hidden;
  overflow-y: scroll;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
}
.adjustment-dialog .adjust-category-group {
  min-height: 54px;
  flex: none;
}
.adjustment-dialog .adjust-category-group > summary {
  min-height: 54px;
  box-sizing: border-box;
}
.adjustment-dialog .adjust-category-group[open] {
  overflow: visible;
}
.adjustment-dialog .adjust-target-card {
  position: relative;
  z-index: 1;
  pointer-events: auto;
}
.adjustment-dialog .adjust-target-card input {
  position: relative;
  z-index: 2;
  pointer-events: auto;
}
@media (max-width: 760px) {
  .admin-dialog.adjustment-dialog,
  .adjustment-dialog.has-selection {
    height: auto;
    max-height: calc(100vh - 12px);
  }
  .adjustment-dialog .adjust-targets {
    max-height: 46vh;
  }
}
.review-row-decision {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(111, 59, 171, 0.2);
}
.review-row-decision.is-approved > strong {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #dff6e7;
  color: #176b3a;
}
.review-row-decision .button-small {
  min-height: 36px;
  padding: 7px 11px;
  font-size: 0.76rem;
}
.review-progress-copy {
  display: inline-flex;
  margin: 10px 0 4px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #edf7f7;
  color: var(--green-blue-dark);
}
.review-client-decision button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
  box-shadow: none;
}
.adjust-target-card.is-locked {
  background: #f3f5f7;
  opacity: 0.78;
}
.adjust-target-card.is-locked .adjust-target-choice {
  align-items: center;
}
.adjust-target-card.is-locked em {
  margin-left: auto;
  padding: 4px 7px;
  border-radius: 999px;
  background: #e2e7ec;
  color: #586778;
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 900;
}
.adjust-target-card.is-locked input {
  cursor: not-allowed;
}
.access-rights {
  margin: 14px 0;
  padding: 15px;
  border: 1px solid #dce7ef;
  border-radius: 16px;
}
.access-rights legend {
  padding: 0 7px;
  color: #123b63;
  font-weight: 900;
}
.access-rights-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 10px;
}
.access-rights-grid label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 10px;
  border-radius: 11px;
  background: #f5f9fb;
  color: #405675;
  font-size: 0.82rem;
  font-weight: 700;
}
.access-rights-grid input {
  margin-top: 2px;
}
.access-level-badge {
  display: inline-flex;
  padding: 3px 7px;
  border-radius: 999px;
  background: #e9f5f7;
  color: #07646f;
  font-size: 0.68rem;
}
.account-access-manager {
  margin-top: 20px;
}
.access-user-list {
  display: grid;
}
.access-user-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 15px 18px;
  border-top: 1px solid #e6edf2;
}
.access-user-row > div:first-child {
  display: grid;
  gap: 4px;
}
.access-user-row span,
.access-user-row small {
  color: #60778a;
}
.access-user-row > div:last-child {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.access-dialog {
  max-width: 760px;
}
@media (max-width: 700px) {
  .access-rights-grid {
    grid-template-columns: 1fr;
  }
  .access-user-row {
    align-items: flex-start;
    flex-direction: column;
  }
  .access-user-row > div:last-child {
    width: 100%;
  }
}
.kit-campaign-context .side-row {
  display: grid;
  gap: 4px;
}
.kit-campaign-context .side-row strong,
.kit-campaign-context .side-row small {
  overflow-wrap: anywhere;
}
.kit-campaign-context .side-row small {
  color: #60778a;
  font-size: 0.72rem;
  line-height: 1.35;
}

/* Compteur de notifications dans la navigation client. */
.nav a .nav-notification-count {
  min-width: 24px;
  height: 24px;
  margin-left: auto;
  padding: 0 7px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: #e94376;
  color: #fff;
  font-size: 0.72rem;
  line-height: 1;
  font-weight: 900;
}
.nav a .nav-notification-count[hidden] {
  display: none;
}
body.sidebar-collapsed .nav a .nav-notification-count {
  position: absolute;
  top: 4px;
  right: 4px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  font-size: 0.58rem;
}
body.sidebar-collapsed .nav a {
  position: relative;
}
/* Aperçu répondant */
#rp-modal{position:fixed;inset:0;z-index:10000;background:rgba(10,34,55,.7);padding:22px;display:flex;align-items:center;justify-content:center}#rp-modal[hidden]{display:none}.rp-window{width:min(960px,96vw);height:min(900px,94vh);background:#fff;border-radius:24px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 28px 80px rgba(0,0,0,.3)}.rp-window>header{padding:12px 18px;border-bottom:1px solid #dfe8ef;display:flex;justify-content:space-between;align-items:center}.rp-window>header div{display:flex;flex-direction:column}.rp-window>header b{color:#0d4c72}.rp-window>header span{font-size:12px;color:#718497}.rp-window>header button{border:0;background:#edf4f8;color:#0d4c72;border-radius:50%;width:38px;height:38px;font-size:24px}.rp-window iframe{width:100%;height:100%;border:0}.rp-open{overflow:hidden}.rp-trigger{margin-top:12px}.rp-page{margin:0;background:#f3f7fa;font-family:Asap,Arial,sans-serif;color:#18375d}.rp-head{height:74px;background:#fff;border-bottom:1px solid #dfe8ef;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.rp-head img{width:130px}.rp-head div{display:flex;flex-direction:column;text-align:right}.rp-head span{font-size:12px;color:#718497}.rp-card{width:min(720px,calc(100% - 36px));margin:38px auto;background:#fff;border:1px solid #dfe8ef;border-radius:24px;padding:34px;box-sizing:border-box;box-shadow:0 16px 45px rgba(13,76,114,.08)}.rp-card h1{font-size:28px;line-height:1.25;color:#0d4c72}.rp-card>small{font-weight:800;color:#eb6366;text-transform:uppercase}.rp-intro{text-align:center}.rp-intro em{display:inline-block;background:#eaf3f8;color:#0d4c72;border-radius:999px;padding:7px 12px;font-style:normal;font-weight:800}.rp-intro aside{margin:22px 0;background:#fff5f4;border-radius:14px;padding:14px;color:#7c4142}.rp-opts{display:grid;gap:10px;margin:20px 0}.rp-opts button{font:inherit;text-align:left;border:1px solid #d7e2e9;background:#fff;border-radius:14px;padding:15px;cursor:pointer;color:#18375d}.rp-opts button:hover,.rp-opts button.on{border-color:#0d4c72;background:#eaf3f8}.rp-bar{height:7px;background:#e8eef2;border-radius:99px;overflow:hidden;margin-bottom:25px}.rp-bar i{display:block;height:100%;background:#eb6366}.rp-socio{padding:16px 0;border-bottom:1px solid #e7edf1}.rp-card .button[disabled]{opacity:.45;cursor:not-allowed}@media(max-width:650px){#rp-modal{padding:0}.rp-window{width:100%;height:100%;border-radius:0}.rp-head{padding:0 16px}.rp-card{padding:22px;margin:20px auto}.rp-card h1{font-size:23px}}

/* Aperçu répondant — parcours scoré */
.rp-kicker{font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#008b95;margin-bottom:8px}.rp-kicker-neutral{color:#0d4c72}.rp-intro-copy{white-space:pre-line;line-height:1.65;color:#536b7f;text-align:justify;text-justify:inter-word}.rp-help{font-size:14px;line-height:1.55;color:#63788a;margin:8px 0 20px}.rp-socio-list{display:grid;gap:18px;margin-top:18px}.rp-socio{border:0;padding:0;margin:0}.rp-socio legend{font-size:16px;font-weight:800;color:#18375d;margin-bottom:10px}.rp-socio legend span{color:#008b95}.rp-socio-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.rp-choice{font:inherit;text-align:left;border:1.5px solid #d7e2e9;background:#fff;color:#18375d;border-radius:12px;padding:13px 14px;cursor:pointer}.rp-choice:hover,.rp-choice.selected{border-color:#008b95;background:#edf8f8}.rp-choice.selected{box-shadow:inset 0 0 0 1px #008b95;font-weight:800}.rp-progress-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px;font-size:12px;color:#6d8293}.rp-progress-row>div{display:flex;flex-direction:column;gap:4px}.rp-chapter-title{color:#0d4c72;font-size:15px}.rp-bar i{background:#008b95}.rp-answers{display:grid;gap:10px;margin:22px 0}.rp-answer{font:inherit;display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;border:1.5px solid #d7e2e9;background:#fff;border-radius:14px;padding:14px;color:#18375d;cursor:pointer;line-height:1.4}.rp-answer>span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;height:30px;border-radius:9px;background:#edf4f8;color:#0d4c72;font-weight:900}.rp-answer:hover,.rp-answer.selected{border-color:#008b95;background:#edf8f8}.rp-answer.selected>span{background:#008b95;color:#fff}.rp-scale{margin:22px 0 10px}.rp-scale-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.rp-scale-option{font:inherit;display:flex;align-items:center;justify-content:center;min-height:72px;width:100%;border:2px solid #d7e2e9;background:#fff;border-radius:14px;color:#18375d;cursor:pointer;font-weight:800;font-size:22px}.rp-scale-option:hover,.rp-scale-option.selected{border-color:#008b95;background:#edf8f8}.rp-scale-option.selected{box-shadow:inset 0 0 0 1px #008b95;color:#0d4c72}.rp-scale-legend{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;align-items:start;margin-top:12px}.rp-scale-legend-item{color:#8a9aac;font-size:12px;line-height:1.35}.rp-scale-legend-item small{font-size:12px;color:#8a9aac}.rp-scale-legend-1{grid-column:1/span 1;text-align:left}.rp-scale-legend-3{grid-column:3/span 1;text-align:center}.rp-scale-legend-5{grid-column:5/span 1;text-align:right}.rp-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.rp-profile{border-left:6px solid #0d4c72}.rp-profile.positive,.rp-final-profile.positive{border-left-color:#77cd8a}.rp-profile.mid,.rp-final-profile.mid{border-left-color:#ffc744}.rp-profile.alert,.rp-final-profile.alert{border-left-color:#ff847e}.rp-profile-chapter{font-size:14px;font-weight:800;color:#0d4c72;margin:4px 0 18px}.rp-profile-summary{font-size:16px;font-weight:700;color:#344f67;line-height:1.55}.rp-profile-content{white-space:pre-line;margin-top:18px;padding-top:18px;border-top:1px solid #e4ebef;font-size:14px;line-height:1.65;color:#526a7e}.rp-score-note{margin-top:18px;font-size:12px;color:#718497}.rp-final>h1{margin-bottom:5px}.rp-final-list{display:grid;gap:12px;margin-top:24px}.rp-final-profile{border:1px solid #e0e8ed;border-left:6px solid #0d4c72;border-radius:14px;padding:17px 18px}.rp-final-profile>div{display:flex;flex-direction:column;gap:3px;font-size:11px;color:#718497}.rp-final-profile>div strong{color:#0d4c72;font-size:14px}.rp-final-profile h2{font-size:18px;color:#18375d;margin:12px 0 7px}.rp-final-profile p{font-size:13px;line-height:1.5;color:#607587;margin:0}.rp-final-profile small{display:block;margin-top:9px;color:#718497}.rp-radar-wrap{margin:24px 0 8px;padding:20px;border:1px solid #e0e8ed;border-radius:18px;background:#f9fbfc;text-align:center}.rp-radar-wrap h2{font-size:18px;color:#0d4c72;margin:0 0 4px}.rp-radar-wrap p{font-size:12px;color:#718497;margin:0}.rp-radar{width:min(100%,430px);height:auto;margin:10px auto 0;overflow:visible}.rp-radar-ring{fill:none;stroke:#dbe5eb;stroke-width:1}.rp-radar-axis{stroke:#e2e9ee;stroke-width:1}.rp-radar-data{fill:rgba(0,139,149,.16);stroke:#008b95;stroke-width:2}.rp-radar-dot{fill:#008b95}.rp-radar-label{font:700 10px Asap,Arial,sans-serif;fill:#536b7f}.rp-card>small{color:#008b95}
@media(max-width:650px){.rp-socio-options{grid-template-columns:1fr}.rp-progress-row{flex-direction:column}.rp-actions{flex-direction:column-reverse}.rp-actions .button{width:100%}.rp-radar-label{font-size:9px}}

/* Paramétrage — ressources de fin de questionnaire */
.result-resources-help{display:flex;gap:10px;align-items:flex-start;margin:12px 0 16px;padding:13px 15px;border:1px solid #d9e6ec;border-radius:14px;background:#f6fafc;color:#5e7486;font-size:.82rem;line-height:1.45}.result-resources-help strong{color:#0d4c72;white-space:nowrap}.result-resources-help a{color:#0d6670;font-weight:800}.result-resources-list{display:grid;gap:10px;margin-bottom:12px}.result-resource-empty{padding:16px;border:1px dashed #cfdde5;border-radius:14px;background:#fbfdfe;color:#718497;font-size:.85rem}.result-resource-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px 16px;border:1px solid #dfe8ed;border-radius:16px;background:#fff}.result-resource-copy{min-width:0;display:grid;gap:5px}.result-resource-copy strong{color:#18375d}.result-resource-copy a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#61798c;font-size:.8rem}.result-resource-actions{display:flex;gap:8px;flex:0 0 auto}.result-resource-delete{color:#9a3d3d}.result-resource-modal .studio-modal-shell{max-height:min(760px,calc(100vh - 32px));overflow:auto}.result-resource-modal-fields{grid-column:1/-1;display:grid;gap:14px;margin-top:22px}.result-resource-modal-fields .field{margin:0}.result-resource-modal-fields input{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px 14px;background:#fbfcfd;color:var(--ink);font:500 .95rem Asap,sans-serif}.result-resource-modal-fields input:focus{outline:0;border-color:var(--teal);box-shadow:0 0 0 4px rgba(25,153,146,.13);background:#fff}.result-resource-examples{display:grid;gap:4px;margin-top:-4px;color:#718497;font-size:.75rem;line-height:1.45}.result-resource-examples span{font-weight:800;color:#536b7f}.result-resource-modal-error{margin:0;color:#a93030;font-weight:800;font-size:.82rem}

/* Aperçu répondant — progression par partie, restitution et ressources */
.rp-profile-summary,.rp-profile-content{text-align:justify;text-justify:inter-word;hyphens:auto}.rp-score-note{display:none!important}.rp-final-profile-head{display:flex!important;flex-direction:column;gap:3px;font-size:11px;color:#718497}.rp-final-profile-head strong{color:#0d4c72;font-size:14px}.rp-final-profile>p{text-align:justify;text-justify:inter-word;hyphens:auto}.rp-colleague-wrap{margin-top:18px;border-top:1px solid #e4ebef;padding-top:14px}.rp-colleague-toggle,.rp-resource-toggle{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #cfdde5;border-radius:10px;background:#fff;color:#536b7f;padding:10px 14px;font:800 13px Asap,Arial,sans-serif;cursor:pointer}.rp-colleague-toggle:hover,.rp-resource-toggle:hover{border-color:#008b95;color:#0d4c72}.rp-colleague-toggle span:last-child,.rp-resource-toggle span:last-child{margin-left:auto}.rp-colleague-body{margin-top:14px;padding:14px;border-radius:14px;background:#f7fafc}.rp-colleague-own{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:12px;border-radius:12px;background:#fff;margin-bottom:10px}.rp-colleague-own strong{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap;font-size:34px;line-height:1;color:#0d4c72}.rp-colleague-own strong small{display:inline!important;margin:0!important;font-size:13px;line-height:1;color:#0d4c72}.rp-colleague-own span{font-size:13px;line-height:1.4;color:#536b7f}.rp-colleague-dist{display:grid;gap:8px}.rp-colleague-row{display:grid;grid-template-columns:10px 42px minmax(0,1fr);gap:9px;align-items:center;font-size:12px;color:#536b7f}.rp-colleague-row>strong{color:#18375d}.rp-colleague-row div{display:flex;gap:8px;align-items:center;min-width:0}.rp-colleague-row b{font-weight:700}.rp-colleague-row em{font-style:normal;font-size:10px;font-weight:900;text-transform:uppercase;color:#008b95}.rp-colleague-dot{width:9px;height:9px;border-radius:50%;background:#0d4c72}.rp-colleague-dot.positive{background:#77cd8a}.rp-colleague-dot.mid{background:#ffc744}.rp-colleague-dot.alert{background:#ff847e}.rp-fictive-note{margin:12px 0 0!important;font-size:10px!important;color:#8798a6!important;text-align:left!important}.rp-resources{margin-top:24px;border:1px solid #dbe6eb;border-radius:16px;overflow:hidden;background:#fff}.rp-resource-toggle{border:0;border-radius:0;padding:16px 18px;color:#0d6670;font-size:16px}.rp-resource-body{border-top:1px solid #e4ebef}.rp-resource-link{display:flex;gap:10px;align-items:center;padding:14px 18px;border-bottom:1px solid #e8eef2;color:#18375d;text-decoration:none;font-weight:700}.rp-resource-link:last-child{border-bottom:0}.rp-resource-link:hover{background:#f1f8f8;color:#007f89}.rp-resource-link>span{color:#008b95;font-weight:900}.rp-radar-wrap>p{font-size:12px;color:#718497}
@media(max-width:700px){.result-resource-row{align-items:stretch;flex-direction:column}.result-resource-actions{justify-content:flex-end}.rp-colleague-row{grid-template-columns:10px 40px 1fr}.rp-colleague-row div{align-items:flex-start;flex-direction:column;gap:2px}}


/* Aperçu répondant — actions finales type restitution réelle */
.rp-final-tools{margin-top:24px;padding:18px;border:1px solid #e1e9ed;border-radius:16px;background:#fff}
.rp-report-download{width:100%;border:0;border-bottom:6px solid #084d57;border-radius:11px;background:#0d6a73;color:#fff;padding:16px 20px;font:800 17px Asap,Arial,sans-serif;cursor:pointer}
.rp-report-download:hover{background:#0b6069}
.rp-report-preview-note{margin:8px 0 0!important;text-align:center!important;color:#718497!important;font-size:11px!important}
.rp-final-tools .rp-resources{margin-top:14px}
.rp-resource-link-demo{width:100%;border:0;background:#fff;text-align:center;font:700 14px Asap,Arial,sans-serif;cursor:default}
.rp-resource-link-demo:hover{background:#f8fbfc;color:#18375d}
@media(max-width:700px){
  .rp-colleague-own{grid-template-columns:minmax(72px,auto) 1fr}
  .rp-colleague-own strong{font-size:30px}
}


/* Aperçu campagne — accès persistant dans le parcours */
.creation-sticky-actions .rp-trigger-sticky{white-space:nowrap}
#settings-form .top-actions .rp-trigger-bottom{margin-left:auto}
.result-resources-preview-card{margin-top:18px;padding:18px;border:1px solid #dbe6eb;border-radius:16px;background:#f8fbfc}
.result-resources-preview-card .eyebrow{margin:0 0 12px}
.result-preview-report{width:100%;padding:14px 18px;border:0;border-bottom:5px solid #084d57;border-radius:10px;background:#0d6a73;color:#fff;font:800 16px Asap,Arial,sans-serif;opacity:1}
.result-preview-knowledge{margin-top:14px;border:1px solid #cfdde5;border-radius:12px;background:#fff;overflow:hidden}
.result-preview-knowledge-head{width:100%;display:flex;justify-content:center;align-items:center;gap:12px;padding:14px 16px;border:0;background:#fff;color:#0d6670;font:800 16px Asap,Arial,sans-serif;cursor:pointer}
.result-preview-knowledge-head span{margin-left:auto}
.result-resources-preview{border-top:1px solid #e4ebef}
.result-preview-resource{display:block;width:100%;padding:13px 16px;border:0;border-bottom:1px solid #e8eef2;background:#fff;color:#18375d;text-align:center;font:700 14px Asap,Arial,sans-serif;opacity:1}
.result-preview-resource:last-child{border-bottom:0}
.result-preview-empty{padding:14px 16px;color:#8798a6;text-align:center;font-size:12px}
@media(max-width:900px){
  .creation-sticky-actions .rp-trigger-sticky{order:3;width:100%}
  #settings-form .top-actions .rp-trigger-bottom{margin-left:0}
}

/* Aperçu sticky : uniquement dernière partie de Personnalisation */
body.rp-sticky-preview-enabled .creation-sticky-actions{grid-template-columns:auto minmax(180px,1fr) auto auto}
body.rp-sticky-preview-enabled .creation-sticky-actions .rp-trigger-sticky{grid-column:3;white-space:nowrap}
body.rp-sticky-preview-enabled .creation-sticky-actions #next-link{grid-column:4;white-space:nowrap}
@media(max-width:900px){body.rp-sticky-preview-enabled .creation-sticky-actions{grid-template-columns:1fr 1fr}body.rp-sticky-preview-enabled .creation-sticky-actions .creation-sticky-progress{grid-column:1/-1}body.rp-sticky-preview-enabled .creation-sticky-actions .rp-trigger-sticky{grid-column:1;order:3;width:100%}body.rp-sticky-preview-enabled .creation-sticky-actions #next-link{grid-column:2;order:4;width:100%}}

/* Dossier client admin — contacts, gestion du pack et cockpit */
.admin-client-contacts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 12px;
}
.admin-contact-card {
  display: grid;
  gap: 5px;
  min-height: 150px;
  padding: 16px;
  border: 1px solid #dce7ee;
  border-radius: 16px;
  background: #f8fbfd;
}
.admin-contact-card.principal {
  background: #eef6fb;
  border-color: #cfe2ee;
}
.admin-contact-card strong {
  color: #17355f;
  font-size: 1.05rem;
}
.admin-contact-card > span,
.admin-contact-card small {
  color: #61798a;
}
.admin-contact-card a {
  color: #0d4c72;
  font-weight: 800;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.admin-contact-kicker {
  color: #eb6366 !important;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.admin-folder-panel.admin-credit-editor {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.admin-pack-heading {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  padding-bottom: 12px;
  border-bottom: 1px solid #e2ebf0;
}
.admin-pack-heading h2 {
  margin: 3px 0 4px;
}
.admin-pack-heading p {
  margin: 0;
  color: #657b89;
}
.admin-pack-status {
  flex: 0 0 auto;
  padding: 7px 11px;
  border-radius: 999px;
  background: #edf6f1;
  color: #247653;
  font-size: .82rem;
  font-weight: 900;
}
.admin-pack-status.is-unlimited {
  background: #eef3fb;
  color: #17355f;
}
.admin-credit-editor input[readonly] {
  background: #f3f6f8 !important;
  color: #647888;
}
.admin-pack-unlimited {
  grid-column: 1 / 2;
  display: flex !important;
  grid-template-columns: none !important;
  flex-direction: row;
  align-items: center;
  gap: 9px !important;
  min-height: 42px;
  padding: 0 10px;
  border: 1px solid #cad8e1;
  border-radius: 10px;
  background: #f8fbfd;
}
.admin-pack-unlimited input {
  min-height: auto !important;
  width: 18px;
  height: 18px;
  padding: 0 !important;
}
.admin-client-management-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.admin-client-management-note {
  margin: 14px 0 0;
  padding: 11px 13px;
  border-radius: 12px;
  background: #fff8ec;
  color: #81531b;
  font-size: .88rem;
  line-height: 1.45;
}
@media (max-width: 900px) {
  .admin-folder-panel.admin-credit-editor {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .admin-folder-panel.admin-credit-editor {
    grid-template-columns: 1fr;
  }
  .admin-pack-heading {
    flex-direction: column;
  }
  .admin-pack-unlimited {
    grid-column: auto;
  }
}

/* Cockpit clients enrichi — gestion directement depuis l'administration */
.admin-cockpit-page .admin-cockpit-tools {
  grid-template-columns: minmax(220px, 1.5fr) repeat(3, minmax(180px, .8fr));
}
.admin-client-card-rich .admin-client-title > div {
  min-width: 0;
}
.admin-theme-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}
.admin-theme-tags span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 9px;
  border-radius: 999px;
  border: 1px solid #d9cff8;
  background: #f5f0ff;
  color: #6942aa;
  font-size: 12px;
  font-weight: 700;
}
.admin-theme-tags span.is-empty {
  border-color: #dfe6ed;
  background: #f7f9fb;
  color: #738394;
  font-weight: 600;
}
.admin-client-management {
  display: grid;
  grid-template-columns: minmax(280px, .8fr) minmax(420px, 1.35fr);
  gap: 14px;
  padding: 16px;
  border-top: 1px solid #e6edf3;
}
.admin-client-contact-block,
.admin-client-pack-manager {
  border: 1px solid #dce7ef;
  border-radius: 16px;
  padding: 16px;
  background: #fbfdff;
}
.admin-client-contact-block h4,
.admin-client-pack-manager h4 {
  margin: 0 0 9px;
  color: #173f64;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.admin-client-contact-block > strong,
.admin-client-contact-block > span,
.admin-client-contact-block > a {
  display: block;
  margin-bottom: 4px;
}
.admin-client-contact-block > a {
  color: #0b6689;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.admin-client-contact-block h4:nth-of-type(2) {
  margin-top: 18px;
}
.admin-linked-users {
  display: grid;
  gap: 7px;
}
.admin-linked-users > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #e5ebf0;
}
.admin-linked-users span {
  font-weight: 700;
  color: #173f64;
}
.admin-linked-users p {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  margin: 0;
}
.admin-linked-users select {
  min-height: 36px;
  max-width: 190px;
  padding: 4px 8px;
  border: 1px solid #cfdbe4;
  border-radius: 10px;
  background: #fff;
  font: inherit;
  font-size: .85rem;
  color: #173f64;
}
.admin-linked-users small {
  overflow-wrap: anywhere;
  color: #687b8d;
}
.admin-linked-users em {
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  color: #4b667d;
}
.admin-pack-manager-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.admin-pack-manager-head h4 {
  margin-bottom: 3px;
}
.admin-pack-manager-head p {
  margin: 0;
  color: #687b8d;
  font-size: 12px;
}
.admin-pack-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}
.admin-pack-form-grid label {
  display: grid;
  gap: 5px;
  color: #4e657a;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.admin-pack-form-grid input,
.admin-pack-form-grid select {
  width: 100%;
  min-height: 42px;
  border: 1px solid #cfdce7;
  border-radius: 10px;
  padding: 8px 10px;
  background: #fff;
  color: #173f64;
  font: inherit;
  text-transform: none;
  letter-spacing: normal;
}
.admin-pack-form-grid input:disabled {
  background: #eef3f7;
  color: #82909c;
}
.admin-pack-unlimited-inline {
  display: flex !important;
  align-items: center;
  align-self: end;
  min-height: 42px;
  padding: 8px 10px;
  border-radius: 10px;
  background: #f2f7fb;
  border: 1px solid #dce7ef;
  text-transform: none !important;
}
.admin-pack-unlimited-inline input {
  width: auto;
  min-height: 0;
  margin: 0 7px 0 0;
}
.admin-client-pack-manager > .button {
  width: 100%;
}
.admin-client-card-rich .admin-client-open-row {
  flex-wrap: wrap;
}
@media (max-width: 1180px) {
  .admin-cockpit-page .admin-cockpit-tools {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .admin-client-management {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 720px) {
  .admin-cockpit-page .admin-cockpit-tools,
  .admin-pack-form-grid {
    grid-template-columns: 1fr;
  }
  .admin-client-management {
    padding: 12px;
  }
  .admin-linked-users > div {
    grid-template-columns: 1fr;
  }
}

/* Cockpit clients — synthèse de pilotage et finitions de présentation */
.admin-client-pilot-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin: 2px 0 18px;
}
.admin-client-pilot-kpi {
  min-width: 0;
  min-height: 112px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 16px;
  border: 1px solid rgba(13, 76, 114, .08);
  border-radius: 20px;
  box-shadow: 0 10px 26px rgba(13, 76, 114, .055);
}
.admin-client-pilot-kpi > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.admin-client-pilot-kpi strong {
  color: #173f64;
  font-size: 1.75rem;
  line-height: 1;
  font-weight: 900;
}
.admin-client-pilot-kpi > div > span {
  color: #526b7f;
  font-size: .78rem;
  line-height: 1.25;
  font-weight: 800;
}
.admin-client-pilot-icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border-radius: 13px;
  background: rgba(255, 255, 255, .78);
  font-size: 1rem;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(23, 63, 100, .06);
}
.admin-client-pilot-kpi.is-active { background: #edf8f2; }
.admin-client-pilot-kpi.is-active .admin-client-pilot-icon { color: #2f805d; }
.admin-client-pilot-kpi.is-publish { background: #fff4e9; }
.admin-client-pilot-kpi.is-publish .admin-client-pilot-icon { color: #c5702d; }
.admin-client-pilot-kpi.is-live { background: #eaf7f8; }
.admin-client-pilot-kpi.is-live .admin-client-pilot-icon { color: #0d7d86; }
.admin-client-pilot-kpi.is-low { background: #fff0f1; }
.admin-client-pilot-kpi.is-low .admin-client-pilot-icon { color: #c84d58; }
.admin-client-pilot-kpi.is-request { background: #eef3fb; }
.admin-client-pilot-kpi.is-request .admin-client-pilot-icon { color: #476ea4; }
.admin-client-pilot-kpi.is-trial { background: #eef8f1; }
.admin-client-pilot-kpi.is-trial .admin-client-pilot-icon { color: #2f7d4f; }
.admin-client-pilot-kpi.is-underused { background: #f4effb; }
.admin-client-pilot-kpi.is-underused .admin-client-pilot-icon { color: #7655a6; }

/* Le badge de statut ne doit jamais être étiré par le header flex. */
.admin-client-card-rich > header > .badge {
  flex: 0 0 auto;
  align-self: flex-start;
  width: auto;
  min-width: 0;
  min-height: 0;
  padding: 6px 10px;
  border-radius: 10px;
  white-space: nowrap;
  line-height: 1.15;
}

/* Zone d'actions distincte et respirante sous la fiche client. */
.admin-client-card-rich .admin-client-open-row {
  margin-top: 0;
  padding: 20px 22px 22px;
  border-top: 1px solid #e1e9ef;
  align-items: center;
}

@media (max-width: 1280px) {
  .admin-client-pilot-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .admin-client-pilot-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-client-card-rich .admin-client-open-row { padding: 18px 16px 20px; }
}
@media (max-width: 480px) {
  .admin-client-pilot-kpis { grid-template-columns: 1fr; }
  .admin-client-pilot-kpi { min-height: 92px; }
}

/* Administration de la bibliothèque Me&YouToo */
.admin-library-note{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;margin:0 0 18px;border-radius:14px;background:#f4f8fb;color:#244b64}.admin-library-note strong{white-space:nowrap}.admin-library-note span{font-size:.92rem}.admin-library-manager{display:grid;gap:18px}.admin-library-theme{border:1px solid #dce6ec;border-radius:18px;background:#fff;overflow:hidden}.admin-library-theme.is-inactive{opacity:.78}.admin-library-theme>header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:20px;border-bottom:1px solid #e8eef2}.admin-library-theme-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-library-theme-title h3{margin:0;color:#0d4c72;font-size:1.2rem}.admin-library-theme header p{margin:5px 0;color:#566d7d}.admin-library-theme header small{color:#788c99}.admin-library-actions,.admin-library-chapter-head>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.admin-library-chapters{padding:14px 20px 20px;display:grid;gap:12px}.admin-library-chapter{border:1px solid #e6edf1;border-radius:14px;overflow:hidden}.admin-library-chapter-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;background:#fbfcfd}.admin-library-chapter-head>div:first-child{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.admin-library-chapter-head small{width:100%;color:#788c99}.admin-library-lock{font-size:.78rem;border-radius:999px;padding:3px 8px;background:#fff0f0;color:#9f3f46}.admin-library-situations{display:grid}.admin-library-situation{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:14px 16px;border-top:1px solid #edf2f5}.admin-library-situation:first-child{border-top:0}.admin-library-situation.is-inactive{background:#fafafa;opacity:.7}.admin-library-situation p{margin:0 0 7px;line-height:1.45}.admin-library-situation-meta{display:flex;gap:7px;flex-wrap:wrap}.admin-library-situation-meta span{font-size:.75rem;padding:3px 7px;border-radius:999px;background:#eef5f8;color:#456273}.admin-library-empty,.admin-library-loading{padding:28px;text-align:center;border:1px dashed #cad8df;border-radius:16px;background:#fff}.admin-library-empty-line{padding:14px 16px;margin:0;color:#71838e;font-style:italic}.admin-library-toggle{display:flex;gap:9px;align-items:center;margin:12px 0}.admin-library-answer-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:18px}.admin-library-answer-head h3{margin:0}.admin-library-answer-head p{margin:3px 0 0;color:#71838e;font-size:.9rem}.admin-library-answer-list{display:grid;gap:9px;margin:12px 0 18px}.admin-library-answer-row{display:grid;grid-template-columns:minmax(0,1fr) 110px auto 42px;gap:8px;align-items:center}.admin-library-answer-row input[type=text],.admin-library-answer-row input:not([type]){min-width:0}.admin-library-answer-row label{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:.85rem}.button-small{padding:7px 10px!important;font-size:.82rem!important}@media(max-width:800px){.admin-library-theme>header,.admin-library-chapter-head,.admin-library-answer-head{flex-direction:column;align-items:stretch}.admin-library-answer-row{grid-template-columns:1fr 90px}.admin-library-answer-row label,.admin-library-answer-row button{justify-self:start}.admin-library-situation{flex-direction:column}.admin-library-note{flex-direction:column}}
.admin-library-profile-list{display:grid;gap:14px;margin:14px 0 18px}.admin-library-profile-row{border:1px solid #e3eaef;border-radius:14px;padding:14px;display:grid;gap:10px}.admin-library-profile-row>strong{color:#0d4c72}.admin-library-profile-row label{display:grid;gap:5px;font-size:.86rem;font-weight:600}.admin-library-profile-scores{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media(max-width:700px){.admin-library-profile-scores{grid-template-columns:1fr}}

/* Classement administratif des clients */
.admin-client-classification {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 20px;
  border-top: 1px solid #e5edf6;
  background: #fbfdff;
}
.admin-client-classification > span { color: #4b6382; font-weight: 700; }
.admin-client-classification > div { display: flex; gap: 8px; flex-wrap: wrap; }
.admin-folder-bar { margin: 18px 0; }
.admin-folder-bar .campaign-folder-list { align-items: center; }
@media (max-width: 700px) {
  .admin-client-classification { align-items: flex-start; flex-direction: column; }
  .admin-client-classification > div,
  .admin-client-classification .button { width: 100%; }
}

/* Bibliothèque admin — navigation par thématique + édition inline */
.admin-library-home-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:4px 0 18px}.admin-library-home-head h3{margin:0 0 4px;color:#173b67;font-size:1.25rem}.admin-library-home-head p{margin:0;color:#6c7f8d}.admin-library-home-head>span{flex:none;padding:7px 11px;border-radius:999px;background:#eef6f8;color:#0d4c72;font-size:.82rem;font-weight:700}.admin-library-theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.admin-library-theme-card{position:relative;display:flex;min-height:245px;flex-direction:column;padding:20px;border:1px solid #dce6ec;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(13,76,114,.055);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.admin-library-theme-card:hover,.admin-library-theme-card:focus-visible{transform:translateY(-2px);border-color:#9dcad3;box-shadow:0 14px 32px rgba(13,76,114,.1);outline:none}.admin-library-theme-card.is-inactive{background:#fbfcfd}.admin-library-theme-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.admin-library-theme-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eef7f4;font-size:1.25rem}.admin-library-theme-card h3{margin:0 0 8px;color:#173b67;font-size:1.14rem}.admin-library-theme-card p{display:-webkit-box;overflow:hidden;margin:0 0 17px;color:#667c8b;line-height:1.45;-webkit-line-clamp:3;-webkit-box-orient:vertical}.admin-library-theme-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.admin-library-theme-stats span{padding:6px 9px;border-radius:10px;background:#f4f8fa;color:#637887;font-size:.76rem}.admin-library-theme-stats strong{color:#0d4c72}.admin-library-theme-enter{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid #edf2f5;color:#0d4c72;font-size:.86rem;font-weight:700}.admin-library-theme-enter span{font-size:1.1rem}.admin-library-detail-head{margin-bottom:18px}.admin-library-back{margin:0 0 12px;padding-left:0!important}.admin-library-detail-title{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:20px;border:1px solid #dce6ec;border-radius:18px;background:#fff}.admin-library-detail-title h3{font-size:1.35rem}.admin-library-detail-title p{max-width:760px;margin:6px 0;color:#607685}.admin-library-detail-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.admin-library-detail-stats span{padding:5px 9px;border-radius:999px;background:#eef5f8;color:#486577;font-size:.76rem}.admin-library-chapters-detail{padding:0}.admin-library-chapter-accordion{border-radius:16px;background:#fff}.admin-library-chapter-accordion .admin-library-chapter-head{cursor:pointer;padding:16px 18px}.admin-library-chapter-accordion .admin-library-chapter-head:hover{background:#f7fafb}.admin-library-chapter-main{display:flex!important;align-items:center!important;gap:11px!important}.admin-library-chapter-main>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-library-chapter-main small{width:100%;margin-top:2px}.admin-library-chevron{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;background:#eef5f8;color:#0d4c72;font-size:1.35rem;line-height:1;transition:transform .18s ease}.admin-library-chapter-accordion.is-expanded .admin-library-chevron{transform:rotate(90deg)}.admin-library-chapter-actions{display:flex;gap:8px}.admin-library-chapter-body{padding:0 18px 18px;border-top:1px solid #edf2f5}.admin-library-profiles-inline{margin:16px 0;border:1px solid #dfe9ee;border-radius:14px;background:#fbfcfd;overflow:hidden}.admin-library-profiles-inline>summary,.admin-library-situation-row>summary,.admin-library-profile-inline-card summary{list-style:none}.admin-library-profiles-inline>summary::-webkit-details-marker,.admin-library-situation-row>summary::-webkit-details-marker,.admin-library-profile-inline-card summary::-webkit-details-marker{display:none}.admin-library-profiles-inline>summary{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;cursor:pointer}.admin-library-profiles-inline>summary span:first-child{display:grid;gap:2px}.admin-library-profiles-inline>summary small{color:#748894;font-size:.79rem;font-weight:400}.admin-library-summary-action{flex:none;color:#0d4c72;font-size:.78rem;font-weight:700}.admin-library-inline-form{padding:16px;border-top:1px solid #e5edf1;background:#fff}.admin-library-profile-list{margin:0}.admin-library-profile-inline-card{border:1px solid #e3eaef;border-radius:13px;background:#fff;overflow:hidden}.admin-library-profile-inline-card+ .admin-library-profile-inline-card{margin-top:10px}.admin-library-profile-inline-card summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;background:#fbfcfd}.admin-library-profile-inline-card summary>span:first-child{display:flex;align-items:baseline;gap:10px}.admin-library-profile-inline-card summary small{color:#748894;font-weight:400}.admin-library-profile-color{width:15px;height:15px;border:2px solid #fff;border-radius:50%;background:var(--profile-color);box-shadow:0 0 0 1px #dbe4e9}.admin-library-profile-inline-body{display:grid;gap:11px;padding:14px;border-top:1px solid #edf2f5}.admin-library-profile-inline-body>label,.admin-library-wide-label{display:grid;gap:6px;font-size:.86rem;font-weight:700;color:#263e57}.admin-library-profile-inline-body textarea,.admin-library-profile-inline-body input,.admin-library-situation-form textarea,.admin-library-situation-form input:not([type=checkbox]){font-weight:400}.admin-library-situations-inline{margin-top:18px}.admin-library-subhead{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 10px}.admin-library-subhead h4{margin:0 0 3px;color:#173b67;font-size:1rem}.admin-library-subhead p{margin:0;color:#738793;font-size:.82rem}.admin-library-situation-row{border:1px solid #e4ebef;border-radius:13px;background:#fff;overflow:hidden}.admin-library-situation-row+ .admin-library-situation-row{margin-top:8px}.admin-library-situation-row.is-inactive{opacity:.72;background:#fbfbfb}.admin-library-situation-row>summary{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:13px 15px;cursor:pointer}.admin-library-situation-row[open]>summary{background:#f8fbfc;border-bottom:1px solid #e8eef2}.admin-library-situation-summary{min-width:0}.admin-library-situation-summary p{margin:0 0 7px;color:#263d50;line-height:1.42}.admin-library-situation-form{display:grid;gap:14px}.admin-library-inline-toggles{display:flex;gap:22px;flex-wrap:wrap}.admin-library-inline-toggles label{display:flex;align-items:center;gap:7px;color:#344e61;font-size:.85rem}.admin-library-inline-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:4px}.admin-library-new-situation{margin:0 0 10px;border:1px solid #9fcfd1;border-radius:14px;background:#fbfefe;box-shadow:0 8px 22px rgba(13,76,114,.06)}.admin-library-new-badge{justify-self:start;padding:5px 9px;border-radius:999px;background:#e4f4f1;color:#087f81;font-size:.76rem;font-weight:700}.admin-library-answer-head h4{margin:0;color:#173b67}.admin-library-answer-list{margin-bottom:4px}
@media(max-width:1100px){.admin-library-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.admin-library-theme-grid{grid-template-columns:1fr}.admin-library-detail-title,.admin-library-home-head,.admin-library-subhead{align-items:stretch;flex-direction:column}.admin-library-detail-title .admin-library-actions,.admin-library-chapter-actions{width:100%}.admin-library-chapter-head{align-items:stretch!important}.admin-library-chapter-actions{padding-left:36px}.admin-library-situation-row>summary{flex-direction:column}.admin-library-summary-action{align-self:flex-start}.admin-library-inline-actions{justify-content:stretch}.admin-library-inline-actions .button{flex:1}.admin-library-profile-inline-card summary>span:first-child{align-items:flex-start;flex-direction:column;gap:2px}}

/* Bibliothèque admin — finition visuelle situations / réponses */
.admin-library-availability-note{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px;padding:11px 14px;
  border:1px solid #dce9ee;border-radius:13px;background:#f7fbfc;color:#5c7382;font-size:.78rem;
}
.admin-library-availability-note strong{color:#173b67;margin-right:4px}.admin-library-availability-note span{padding:5px 8px;border-radius:999px;background:#fff;border:1px solid #e2edf1}.admin-library-availability-note b{color:#0d4c72}
.admin-library-situation-meta .is-available{background:#e7f7ed;color:#207341}.admin-library-situation-meta .is-hidden{background:#f2f3f5;color:#6d7780}
.admin-library-situation-row{border:1px solid #dbe7ec;border-radius:16px;box-shadow:0 5px 16px rgba(13,76,114,.035)}
.admin-library-situation-row>summary{align-items:center;padding:15px 17px;background:#fff;transition:background .16s ease}
.admin-library-situation-row>summary:hover{background:#f8fbfc}.admin-library-situation-row[open]>summary{background:#f3f9fa;border-bottom:1px solid #dfeaed}
.admin-library-summary-action{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:6px 9px;border-radius:999px;background:#eef6f8;color:#0d4c72}
.admin-library-situation-chevron{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#fff;font-size:1rem;line-height:1;transition:transform .18s ease}
.admin-library-situation-row[open] .admin-library-situation-chevron{transform:rotate(180deg)}
.admin-library-inline-form.admin-library-situation-form{gap:18px;padding:20px;background:#f7fafb}
.admin-library-editor-section{padding:18px;border:1px solid #dfe9ee;border-radius:16px;background:#fff;box-shadow:0 4px 12px rgba(13,76,114,.03)}
.admin-library-editor-section-title{display:flex;align-items:flex-start;gap:10px}.admin-library-editor-section-title h4{margin:0;color:#173b67;font-size:1rem}.admin-library-editor-section-title p{margin:3px 0 0;color:#748894;font-size:.8rem;font-weight:400}.admin-library-editor-icon{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:9px;background:#eaf5f4;color:#087f81;font-weight:800}
.admin-library-content-field{margin-top:15px}.admin-library-content-field>span{font-size:.78rem;color:#617987}.admin-library-content-field textarea{padding:13px 14px!important;border:1px solid #cfdde4!important;border-radius:12px!important;background:#fbfdfe!important;line-height:1.5;resize:vertical}.admin-library-content-field textarea:focus{background:#fff!important;border-color:#72b9c0!important;box-shadow:0 0 0 3px rgba(114,185,192,.12)!important}
.admin-library-inline-toggles{margin-top:13px;padding-top:13px;border-top:1px solid #edf2f5}
.admin-library-answer-head{margin:0 0 14px;align-items:center}.admin-library-answer-head>.admin-library-editor-section-title{flex:1}.admin-library-answer-list{gap:10px;margin:0}
.admin-library-answer-row{display:grid;grid-template-columns:34px minmax(0,1fr) 110px auto 34px;gap:10px;align-items:end;padding:12px;border:1px solid #e0e9ee;border-radius:13px;background:#fbfdfe}
.admin-library-answer-number{display:grid;place-items:center;width:28px;height:28px;margin-bottom:4px;border-radius:9px;background:#eaf4f7;color:#0d4c72;font-size:.78rem;font-weight:800}
.admin-library-answer-content,.admin-library-answer-score{display:grid!important;gap:5px!important;min-width:0}.admin-library-answer-content>span,.admin-library-answer-score>span{color:#6f8290;font-size:.72rem;font-weight:700}.admin-library-answer-content input,.admin-library-answer-score input{height:40px;padding:0 11px!important;border:1px solid #d2dfe5!important;border-radius:10px!important;background:#fff!important}.admin-library-answer-content input:focus,.admin-library-answer-score input:focus{border-color:#72b9c0!important;box-shadow:0 0 0 3px rgba(114,185,192,.12)!important}
.admin-library-best-answer{display:flex!important;align-items:center!important;gap:7px!important;height:40px;margin:0;padding:0 10px;border-radius:10px;background:#fff;border:1px solid #e1e9ed;color:#40596a!important;font-size:.76rem!important;font-weight:700!important;white-space:nowrap}
.admin-library-best-answer:has(input:checked){background:#eaf7ef;border-color:#bfe1ca;color:#207341!important}.admin-library-answer-remove{display:grid;place-items:center;width:30px;height:30px;margin-bottom:5px;border:0;border-radius:9px;background:transparent;color:#7b8b95;font-size:1.15rem;cursor:pointer}.admin-library-answer-remove:hover{background:#fff0f0;color:#b33b3b}
.admin-library-inline-actions{padding-top:2px}.admin-library-inline-actions .button{min-width:145px}
@media(max-width:900px){.admin-library-answer-row{grid-template-columns:32px minmax(0,1fr) 95px}.admin-library-best-answer{grid-column:2/3}.admin-library-answer-remove{grid-column:3/4;grid-row:2}}
@media(max-width:650px){.admin-library-answer-row{grid-template-columns:30px 1fr}.admin-library-answer-score{grid-column:2}.admin-library-best-answer{grid-column:2}.admin-library-answer-remove{grid-column:1;grid-row:3}.admin-library-availability-note{align-items:flex-start;flex-direction:column}.admin-library-summary-action{align-self:flex-start}.admin-library-inline-form.admin-library-situation-form{padding:12px}.admin-library-editor-section{padding:14px}}

/* Bibliothèque admin — profils accordéon + clarification des statuts */
.admin-library-profiles-panel{margin:16px 0 22px;padding:16px;border:1px solid #dfe9ee;border-radius:18px;background:#fbfcfd}
.admin-library-profiles-head{margin-bottom:12px}.admin-library-profiles-form{display:grid;gap:12px}.admin-library-profiles-actions{padding-top:2px}
.admin-library-profile-inline-card{border:1px solid #dbe7ec;border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(13,76,114,.035);overflow:hidden}
.admin-library-profile-inline-card+.admin-library-profile-inline-card{margin-top:10px}
.admin-library-profile-inline-card summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;background:#fff;cursor:pointer;transition:background .16s ease}
.admin-library-profile-inline-card summary:hover{background:#f8fbfc}.admin-library-profile-inline-card details[open]>summary{background:#f3f9fa;border-bottom:1px solid #dfeaed}
.admin-library-profile-summary{display:flex;align-items:center;gap:12px;min-width:0}.admin-library-profile-summary>div{display:grid;gap:4px;min-width:0}.admin-library-profile-summary strong{color:#173b67;font-size:.94rem}.admin-library-profile-summary small{color:#748894;font-size:.78rem;font-weight:400}
.admin-library-profile-index{flex:none;padding:5px 9px;border-radius:999px;background:#eef5f8;color:#0d4c72;font-size:.76rem;font-weight:800}
.admin-library-profile-summary-right{display:flex;align-items:center;gap:10px;flex:none}.admin-library-profile-color{width:16px;height:16px;border:2px solid #fff;border-radius:50%;background:var(--profile-color);box-shadow:0 0 0 1px #dbe4e9}
.admin-library-profile-chevron{display:inline-block;font-size:.9rem;transition:transform .18s ease}.admin-library-profile-inline-card details[open] .admin-library-profile-chevron{transform:rotate(180deg)}
.admin-library-profile-inline-body{display:grid;gap:14px;padding:16px;background:#fff}.admin-library-profile-inline-body .admin-library-editor-section{margin:0}.admin-library-profile-editor>label{display:grid;gap:6px;font-size:.86rem;font-weight:700;color:#263e57}.admin-library-profile-editor textarea,.admin-library-profile-editor input{font-weight:400}
.admin-library-situation-meta .is-hidden{background:#f2f3f5!important;color:#6f7880!important}.admin-library-situation-meta .is-available{background:#eaf8ef!important;color:#167444!important}
@media(max-width:800px){.admin-library-profile-inline-card summary{align-items:flex-start;flex-direction:column}.admin-library-profile-summary-right{width:100%;justify-content:space-between}.admin-library-profile-summary{align-items:flex-start}.admin-library-profiles-panel{padding:12px}}

/* Bibliothèque admin — archivage et suppression */
.admin-library-content-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.admin-library-action-spacer{flex:1 1 auto}
.admin-library-delete-button{opacity:.82}
.admin-library-archives{margin-top:18px;border:1px dashed #cbd9e3;border-radius:16px;background:#f8fafb}
.admin-library-archives>summary{cursor:pointer;padding:14px 16px;font-weight:700;color:#587083;list-style:none}
.admin-library-archives>summary::-webkit-details-marker{display:none}
.admin-library-archives>summary span{display:inline-flex;margin-left:6px;min-width:24px;height:24px;align-items:center;justify-content:center;border-radius:999px;background:#e9eef2;font-size:12px}
.admin-library-archives-list{padding:0 12px 12px}
.admin-library-situation-row.is-archived{opacity:.82;background:#f7f8f9}
.admin-library-situation-meta .is-archived{background:#eceff2;color:#667786}


/* Bibliothèque admin — typologie, filtres et corbeille */
.admin-library-situation-filters{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 16px;
  padding:10px 12px;border:1px solid #e1ebef;border-radius:15px;background:#f8fbfc;
}
.admin-library-filter-chip{
  appearance:none;border:1px solid #d8e5ea;background:#fff;color:#426074;border-radius:999px;
  padding:7px 10px;display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:.78rem;font-weight:700;
  cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
.admin-library-filter-chip:hover{transform:translateY(-1px);border-color:#a9c8d1}
.admin-library-filter-chip b{
  display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:#eef4f6;
  color:#5d7180;font-size:.72rem;
}
.admin-library-filter-chip.is-selected{border-color:#0d4c72;box-shadow:0 0 0 2px rgba(13,76,114,.07)}
.admin-library-filter-chip.is-base{color:#267144}.admin-library-filter-chip.is-base.is-selected{background:#e9f7ee;border-color:#9fd4b2}
.admin-library-filter-chip.is-base b{background:#dff2e7;color:#267144}
.admin-library-filter-chip.is-library{color:#245f98}.admin-library-filter-chip.is-library.is-selected{background:#edf5fd;border-color:#aacbea}
.admin-library-filter-chip.is-library b{background:#e2effb;color:#245f98}
.admin-library-filter-chip.is-archived{color:#916018}.admin-library-filter-chip.is-archived.is-selected{background:#fff6e8;border-color:#e6c486}
.admin-library-filter-chip.is-archived b{background:#faecd2;color:#916018}
.admin-library-filter-chip.is-deleted{color:#9b4141}.admin-library-filter-chip.is-deleted.is-selected{background:#fff0f0;border-color:#e6b1b1}
.admin-library-filter-chip.is-deleted b{background:#f8dddd;color:#9b4141}

.admin-library-type-tag{font-weight:700!important;border:1px solid transparent}
.admin-library-situation-meta .admin-library-type-tag.is-base{background:#e7f7ed;color:#207341;border-color:#c5e9d1}
.admin-library-situation-meta .admin-library-type-tag.is-library{background:#eaf4ff;color:#25669f;border-color:#cfe4f7}
.admin-library-situation-meta .admin-library-type-tag.is-archived{background:#fff3df;color:#8b5d1e;border-color:#f1dbb5}
.admin-library-situation-meta .admin-library-type-tag.is-deleted{background:#fdecec;color:#9b4141;border-color:#efcaca}
.admin-library-situation-row.is-deleted{opacity:.78;background:#fbf8f8}
.admin-library-situation-row.is-deleted>summary{background:#fffafa}
.admin-library-filtered-list{display:grid;gap:8px}
.admin-library-filtered-list .admin-library-situation-row+.admin-library-situation-row{margin-top:0}

@media(max-width:700px){
  .admin-library-situation-filters{align-items:stretch}
  .admin-library-filter-chip{justify-content:space-between;flex:1 1 calc(50% - 8px)}
}


/* Bibliothèque admin — médias vidéo */
.admin-library-media-panel{margin:18px 0;padding:18px;border:1px solid #d9e7ed;border-radius:18px;background:#fbfdfe}
.admin-library-media-list{display:grid;gap:10px;margin-top:14px}
.admin-library-media-card{border:1px solid #d9e7ed;border-radius:14px;background:#fff;overflow:hidden}
.admin-library-media-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px}
.admin-library-media-card-head>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.admin-library-media-tag{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:#eaf7f8;color:#087786;font-size:.76rem;font-weight:700}
.admin-library-media-tag.is-off{background:#f1f3f5;color:#788893}
.admin-library-media-form{padding:16px;border-top:1px solid #e2edf1;background:#f8fbfc}
.admin-library-media-new{margin-top:12px;border:1px solid #a9dfe3;border-radius:16px}
.admin-library-media-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.admin-library-media-grid label{display:flex;flex-direction:column;gap:6px;font-weight:700;color:#173d61}
.admin-library-media-grid label:nth-child(2){grid-column:1/-1}
.admin-library-media-grid input,.admin-library-media-grid select{width:100%;min-height:43px;padding:9px 11px;border:1px solid #cbdde5;border-radius:10px;background:#fff}
.admin-library-media-grid small{font-weight:400;color:#6e8495}
.admin-library-media-active{justify-content:flex-end;flex-direction:row!important;align-items:center;gap:8px!important}
.admin-library-media-active input{width:auto;min-height:auto}

/* Aperçu répondant — vidéos catalogue */
.rp-video-block{margin:22px 0;padding:18px;border:1px solid #dbe7ec;border-radius:18px;background:#f8fbfc}
.rp-video-block h2,.rp-video-block h3{margin:0 0 12px;color:#0d4c72}
.rp-video-player{display:block;width:100%;max-height:520px;border-radius:14px;background:#0b2233}
.rp-video-note{margin:10px 0 0;color:#718392;font-size:.88rem}
.rp-video-interstitial .rp-actions{margin-top:18px}
@media(max-width:760px){.admin-library-media-grid{grid-template-columns:1fr}.admin-library-media-grid label:nth-child(2){grid-column:auto}}


.admin-library-profile-video{
  background:#f8fcfd;
  border-color:#cfe7eb;
}
.admin-library-profile-video .admin-library-editor-icon{
  background:#e7f6f7;
  color:#087f8c;
}
.admin-library-optional{
  display:inline-flex;
  margin-left:8px;
  padding:3px 8px;
  border-radius:999px;
  background:#eef3f6;
  color:#6c7f8d;
  font-size:11px;
  font-weight:700;
  vertical-align:middle;
}
.admin-library-profile-video-grid{
  display:grid;
  grid-template-columns:minmax(220px,.65fr) minmax(320px,1.35fr);
  gap:16px;
  align-items:start;
}
.admin-library-profile-video-grid label{
  display:flex;
  flex-direction:column;
  gap:7px;
  font-weight:700;
}
.admin-library-profile-video-grid input{
  width:100%;
}
.admin-library-profile-video-grid small{
  color:#70889a;
  font-weight:400;
}
.admin-library-video-present{
  display:inline-flex;
  margin-top:12px;
  padding:5px 10px;
  border-radius:999px;
  background:#eaf7f0;
  color:#23734b;
  font-size:12px;
  font-weight:700;
}
@media(max-width:760px){
  .admin-library-profile-video-grid{grid-template-columns:1fr;}
}


/* Admin media library */
.admin-media-library-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:18px;
}
.admin-media-library-card{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:230px;
  padding:20px;
  background:#fff;
  border:1px solid #d9e7ee;
  border-radius:20px;
  box-shadow:0 10px 28px rgba(13,76,114,.06);
}
.admin-media-library-card.is-inactive{opacity:.68;background:#f7f9fa;}
.admin-media-library-card-head{display:flex;align-items:flex-start;gap:12px;}
.admin-media-library-play{
  display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:14px;
  background:#e8f6f6;color:#058997;font-weight:900;
}
.admin-media-library-card h3{margin:0 0 7px;color:#0d4c72;font-size:17px;}
.admin-media-library-card p{margin:0;color:#607b8e;line-height:1.45;}
.admin-media-library-tags{display:flex;gap:7px;flex-wrap:wrap;}
.admin-media-library-tags span{padding:4px 8px;border-radius:999px;background:#edf3f6;color:#587181;font-size:11px;font-weight:700;}
.admin-media-library-tags .is-on{background:#e9f8ef;color:#247a4c;}
.admin-media-library-tags .is-off{background:#f2f2f2;color:#7d858a;}
.admin-media-library-url{display:flex;flex-direction:column;gap:6px;margin-top:auto;}
.admin-media-library-url span{font-size:11px;font-weight:800;text-transform:uppercase;color:#6c8190;}
.admin-media-library-url code{display:block;max-width:100%;padding:8px 10px;border-radius:10px;background:#f5f8fa;color:#476273;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.admin-media-library-card-actions{display:flex;gap:8px;margin-top:4px;}
.admin-media-library-card-actions button[disabled]{opacity:.4;cursor:not-allowed;}
#admin-media-library-form-slot:not(:empty){margin:18px 0;}
.admin-media-library-form{
  padding:22px;background:#f8fcfd;border:1px solid #cfe7eb;border-radius:20px;
}
.admin-media-library-form-grid{
  display:grid;grid-template-columns:1fr 1.35fr;gap:16px;margin-top:18px;
}
.admin-media-library-form-grid label{display:flex;flex-direction:column;gap:7px;font-weight:700;}
.admin-media-library-description{grid-column:1/-1;}
.admin-media-library-active{grid-column:1/-1;display:flex!important;flex-direction:row!important;align-items:center;gap:9px!important;}
.admin-library-video-select{display:flex;flex-direction:column;gap:8px;font-weight:700;}
.admin-library-video-select select,
.admin-library-media-grid select{width:100%;min-height:44px;}
.admin-library-video-help{display:block;margin-top:8px;color:#718897;}
@media(max-width:1100px){.admin-media-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:720px){
  .admin-media-library-grid{grid-template-columns:1fr;}
  .admin-media-library-form-grid{grid-template-columns:1fr;}
  .admin-media-library-description,.admin-media-library-active{grid-column:auto;}
}


.admin-media-library-themes,
.admin-media-library-tags-field{grid-column:1/-1;}
.admin-media-library-themes{
  margin:0;padding:15px;border:1px solid #d9e7ee;border-radius:14px;background:#fff;
}
.admin-media-library-themes legend{padding:0 6px;font-weight:800;color:#0d4c72;}
.admin-media-library-themes p{margin:0 0 10px;color:#6f8798;font-size:12px;}
.admin-media-theme-choices{display:flex;gap:8px;flex-wrap:wrap;}
.admin-media-theme-choice{
  display:inline-flex!important;flex-direction:row!important;align-items:center;gap:7px!important;
  padding:7px 10px;border:1px solid #d6e5eb;border-radius:999px;background:#f8fbfc;font-size:12px;
}
.admin-media-theme-choice:has(input:checked){background:#e9f8ef;border-color:#bfe7cf;color:#24734c;}
.admin-media-library-tags-field small{color:#718897;font-weight:400;}
.admin-media-classification{display:flex;gap:7px;flex-wrap:wrap;min-height:24px;}
.admin-media-theme-tag,.admin-media-free-tag{
  display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;
}
.admin-media-theme-tag{background:#eaf7ef;color:#26754d;border:1px solid #caead7;}
.admin-media-free-tag{background:#eaf3fb;color:#245f89;border:1px solid #cadff0;}
.admin-media-tools{grid-template-columns:minmax(220px,1fr) repeat(3,minmax(170px,.55fr));}
@media(max-width:980px){.admin-media-tools{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.admin-media-tools{grid-template-columns:1fr;}}


/* Médiathèque — formulaire éditorial, non tableur */
.admin-media-library-form-v2{
  display:flex;
  flex-direction:column;
  gap:18px;
  padding:0;
  background:transparent;
  border:0;
}
.admin-media-form-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:4px 2px 2px;
}
.admin-media-form-title{
  display:flex;
  align-items:center;
  gap:14px;
}
.admin-media-form-title h3{
  margin:0 0 4px;
  color:#0d4c72;
  font-size:20px;
}
.admin-media-form-title p{
  margin:0;
  color:#6e8494;
}
.admin-media-form-card{
  padding:20px;
  border:1px solid #d9e7ee;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 22px rgba(13,76,114,.045);
}
.admin-media-form-card-head{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:18px;
}
.admin-media-form-step{
  display:grid;
  place-items:center;
  flex:0 0 30px;
  height:30px;
  border-radius:10px;
  background:#e8f6f6;
  color:#087f8c;
  font-weight:900;
}
.admin-media-form-card-head h4{
  margin:1px 0 3px;
  color:#0d4c72;
  font-size:16px;
}
.admin-media-form-card-head p{
  margin:0;
  color:#6f8798;
  font-size:13px;
}
.admin-media-info-grid{
  display:grid;
  grid-template-columns:minmax(220px,.8fr) minmax(360px,1.2fr);
  gap:16px;
}
.admin-media-info-grid label{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.admin-media-info-grid label>span{
  font-size:12px;
  font-weight:800;
  color:#385b72;
}
.admin-media-info-grid input,
.admin-media-info-grid textarea{
  width:100%;
  border:1px solid #ccdce5;
  border-radius:12px;
  background:#fbfdfe;
  padding:12px 13px;
}
.admin-media-info-grid input:focus,
.admin-media-info-grid textarea:focus,
.admin-media-tag-entry input:focus{
  outline:3px solid rgba(16,151,163,.12);
  border-color:#55b6bf;
  background:#fff;
}
.admin-media-info-grid small{
  color:#718897;
}
.admin-media-library-description{
  grid-column:1/-1;
}
.admin-media-theme-choices{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.admin-media-theme-choice{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center;
  gap:7px!important;
  padding:8px 11px;
  border:1px solid #d6e5eb;
  border-radius:999px;
  background:#f8fbfc;
  font-size:12px;
  cursor:pointer;
}
.admin-media-theme-choice:has(input:checked){
  background:#eaf8ef;
  border-color:#bfe6cf;
  color:#24734c;
}
.admin-media-tag-editor{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.admin-media-tag-entry{
  display:flex;
  align-items:center;
  gap:10px;
  max-width:680px;
}
.admin-media-tag-entry input{
  flex:1;
  min-height:44px;
  padding:11px 13px;
  border:1px solid #ccdce5;
  border-radius:12px;
  background:#fbfdfe;
}
.admin-media-tag-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  min-height:34px;
}
.admin-media-edit-tag{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid #c8def0;
  border-radius:999px;
  padding:7px 9px 7px 11px;
  background:#eaf3fb;
  color:#245f89;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.admin-media-edit-tag b{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:rgba(36,95,137,.1);
  font-size:14px;
}
.admin-media-edit-tag:hover{
  background:#deedf8;
}
.admin-media-tag-suggestions{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.admin-media-tag-suggestions>span{
  color:#718897;
  font-size:12px;
}
.admin-media-tag-suggestions button{
  border:1px dashed #cbdce6;
  border-radius:999px;
  padding:5px 9px;
  background:#fff;
  color:#5e7484;
  font-size:11px;
  cursor:pointer;
}
.admin-media-tag-suggestions button:hover{
  border-style:solid;
  background:#f3f8fa;
}
.admin-media-tag-editor>small{
  color:#718897;
}
.admin-media-status-card{
  background:#f8fcfd;
}
.admin-media-status-toggle{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start;
  gap:11px!important;
  padding:12px 14px;
  border-radius:14px;
  background:#fff;
  border:1px solid #d9e7ee;
  cursor:pointer;
}
.admin-media-status-toggle span{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.admin-media-status-toggle strong{
  color:#0d4c72;
}
.admin-media-status-toggle small{
  color:#718897;
  font-weight:400;
}
.admin-media-form-actions{
  justify-content:flex-end;
  padding:4px 0 0;
}
@media(max-width:820px){
  .admin-media-info-grid{grid-template-columns:1fr;}
  .admin-media-library-description{grid-column:auto;}
  .admin-media-tag-entry{max-width:none;}
}


/* Bibliothèque admin — profils : édition éditoriale */
.admin-profile-card-v2{
  border-radius:18px;
  overflow:hidden;
  border:1px solid #d7e5ec;
  background:#fff;
}
.admin-profile-card-v2>details>summary{
  padding:16px 18px;
  background:linear-gradient(180deg,#fbfdfe 0%,#f5fafc 100%);
  border:0;
}
.admin-profile-card-v2>details[open]>summary{
  background:#edf7f8;
  border-bottom:1px solid #d8e8ed;
}
.admin-profile-summary-copy{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.admin-profile-editor-v2{
  display:flex;
  flex-direction:column;
  gap:16px;
  padding:18px;
  background:#f7fafc;
}
.admin-profile-editor-card{
  padding:20px;
  border:1px solid #dbe8ee;
  border-radius:18px;
  background:#fff;
  box-shadow:0 7px 20px rgba(13,76,114,.035);
}
.admin-profile-editor-card-head{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:17px;
}
.admin-profile-editor-card-icon{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  height:34px;
  border-radius:11px;
  background:#e7f6f7;
  color:#087f8c;
  font-weight:900;
}
.admin-profile-editor-card-head h4{
  margin:1px 0 3px;
  color:#0d4c72;
  font-size:15px;
}
.admin-profile-editor-card-head p{
  margin:0;
  color:#718897;
  font-size:12px;
}
.admin-profile-identity-fields{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(190px,.42fr);
  gap:16px;
}
.admin-profile-identity-fields label,
.admin-profile-copy-fields label,
.admin-profile-video-select{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.admin-profile-identity-fields label>span,
.admin-profile-copy-fields label>span,
.admin-profile-video-select>span{
  color:#365b72;
  font-size:12px;
  font-weight:800;
}
.admin-profile-identity-fields input,
.admin-profile-copy-fields textarea,
.admin-profile-video-select select{
  width:100%;
  border:1px solid #cbdde6;
  border-radius:13px;
  background:#fbfdfe;
  padding:12px 13px;
}
.admin-profile-identity-fields input:focus,
.admin-profile-copy-fields textarea:focus,
.admin-profile-video-select select:focus,
.admin-profile-score-pills input:focus{
  outline:3px solid rgba(14,151,163,.12);
  border-color:#55b6bf;
  background:#fff;
}
.admin-profile-color-input{
  display:flex;
  align-items:center;
  gap:9px;
}
.admin-profile-color-input i{
  flex:0 0 32px;
  height:32px;
  border-radius:10px;
  background:var(--profile-current-color,#dce6ec);
  border:3px solid #fff;
  box-shadow:0 0 0 1px #cbdde6;
}
.admin-profile-copy-fields{
  display:grid;
  grid-template-columns:1.45fr .75fr;
  gap:16px;
}
.admin-profile-copy-fields textarea{
  min-height:150px;
  resize:vertical;
  line-height:1.55;
}
.admin-profile-summary-copy textarea{
  min-height:150px;
  background:#f8fbfd;
}
.admin-profile-score-pills{
  display:flex;
  align-items:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.admin-profile-score-pills label{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:145px;
}
.admin-profile-score-pills label span{
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:#6b8292;
}
.admin-profile-score-pills input{
  width:145px;
  min-height:46px;
  border:1px solid #cbdde6;
  border-radius:14px;
  background:#f8fbfd;
  padding:10px 12px;
  color:#0d4c72;
  font-size:17px;
  font-weight:800;
  text-align:center;
}
.admin-profile-score-arrow{
  align-self:center;
  margin-top:20px;
  color:#8ca0ad;
  font-weight:900;
}
.admin-profile-top-score{
  margin-left:auto;
}
.admin-profile-video-card{
  background:#f8fcfd;
  border-color:#cfe7eb;
}
.admin-profile-video-select{
  max-width:560px;
}
.admin-profile-video-card .admin-library-video-present{
  margin-top:12px;
}
@media(max-width:850px){
  .admin-profile-identity-fields,
  .admin-profile-copy-fields{grid-template-columns:1fr;}
  .admin-profile-top-score{margin-left:0;}
  .admin-profile-score-arrow{display:none;}
  .admin-profile-score-pills label,
  .admin-profile-score-pills input{width:100%;min-width:0;}
}


/* Aperçu répondant — vidéo de restitution : ratio naturel et cadre plus compact */
.rp-profile .rp-video-block{
  margin:16px 0 22px;
  padding:14px;
  max-width:720px;
  border-radius:16px;
}
.rp-profile .rp-video-block h2,
.rp-profile .rp-video-block h3{
  margin:0 0 10px;
  font-size:1.05rem;
}
.rp-profile .rp-video-player{
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  max-height:360px;
  object-fit:contain;
  border-radius:12px;
  background:#111;
}
.rp-profile .rp-video-note{
  margin-top:8px;
  font-size:.82rem;
}


/* Page thématique — mise en avant des vidéos intégrées */
.theme-video-showcase{
  margin-top:24px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(145deg,#fff 0%,#f6fbfc 100%);
  box-shadow:0 14px 36px rgba(13,76,114,.06);
}
.theme-video-showcase-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
  margin-bottom:20px;
}
.theme-video-showcase-head .section-title{margin:4px 0 6px;}
.theme-video-count{
  flex:0 0 auto;
  padding:7px 11px;
  border-radius:999px;
  background:#e8f6f6;
  color:#087f8c;
  font-size:12px;
  font-weight:800;
}
.theme-video-showcase-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.theme-video-card{
  overflow:hidden;
  border:1px solid #d8e7ed;
  border-radius:18px;
  background:#fff;
}
.theme-video-card-visual{
  min-height:92px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:18px;
  background:linear-gradient(135deg,#e8f6f6,#f3f8fb);
  color:#087f8c;
  font-weight:800;
}
.theme-video-play{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 6px 18px rgba(13,76,114,.12);
}
.theme-video-card-body{padding:18px;}
.theme-video-chapter-tag{
  display:inline-flex;
  padding:5px 9px;
  border-radius:999px;
  background:#eef3fb;
  color:#345b82;
  font-size:11px;
  font-weight:800;
}
.theme-video-card h3{margin:11px 0 5px;color:#0d4c72;font-size:17px;}
.theme-video-card p{margin:0;color:#6c8292;}
.theme-video-card-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid #e4edf1;
}
.theme-video-card-footer>span{
  color:#6d8494;
  font-size:11px;
  font-weight:700;
}
.theme-video-dialog{
  width:min(820px,calc(100vw - 32px));
  max-height:calc(100vh - 48px);
  padding:0;
  border:0;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(4,35,55,.28);
}
.theme-video-dialog::backdrop{background:rgba(12,35,52,.58);}
.theme-video-dialog-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  padding:22px 24px;
  border-bottom:1px solid #e1ebef;
}
.theme-video-dialog-head h2{margin:3px 0 4px;color:#0d4c72;}
.theme-video-dialog-body{padding:22px 24px 26px;}
.theme-video-player-shell{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:16px;
  background:#111;
}
.theme-video-player-shell video{width:100%;height:100%;object-fit:contain;background:#111;}
.theme-video-loading{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  background:#f3f7f9;
  color:#607989;
  font-weight:700;
}
.theme-video-loading[hidden]{display:none;}
.theme-video-loading.is-error{color:#a54444;}
.theme-video-dialog-note{margin:12px 0 0;color:#6c8292;font-size:12px;}
@media(max-width:760px){
  .theme-video-showcase-grid{grid-template-columns:1fr;}
  .theme-video-showcase-head,.theme-video-card-footer{align-items:flex-start;flex-direction:column;}
}

.account-identity-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 10px;
}
.account-identity-row h2 { margin-bottom: 4px !important; }
.account-photo {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(36,59,105,.14);
  color: #6a7891;
  font-weight: 800;
}
.account-photo-person { width: 72px; height: 72px; border-radius: 50%; }
.account-photo-logo { width: 104px; height: 72px; border-radius: 14px; padding: 8px; }
.account-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.account-photo-logo img { object-fit: contain; }
.account-media-help { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.35; }
.account-media-actions { display: flex; gap: 8px; flex-wrap: wrap; margin: 8px 0 12px; }
.account-media-actions .button { min-height: 38px; }
.avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; display: block; }
.sidebar-client-logo { max-width: 92px; max-height: 34px; object-fit: contain; margin-left: auto; border-radius: 7px; background: #fff; padding: 3px 5px; border: 1px solid var(--line); }
@media (max-width: 620px) {
  .account-identity-row { align-items: flex-start; }
  .account-photo-logo { width: 88px; }
}

/* Branding client : le logo d’organisation accompagne désormais le contact connecté. */
.profile-company-logo {
  width: 46px;
  height: 38px;
  flex: 0 0 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #fff;
}
.profile-company-logo img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
body.sidebar-collapsed .profile-company-logo { display: none; }


/* Sidebar client : identité du contact et de l’entreprise hiérarchisée sous l’aide. */
.sidebar-footer .help-card { margin-bottom: 6px; }
.profile {
  display: grid;
  align-items: stretch;
  gap: 8px;
}
.profile-person {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.profile-person-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--royal-blue);
}
.profile-copy {
  display: grid;
  gap: 5px;
  padding-left: 48px;
}
.profile-company-logo {
  width: 58px;
  height: 40px;
  margin: 1px 0 2px;
}
.profile-copy .sidebar-logout {
  justify-self: start;
}
body.sidebar-collapsed .profile {
  display: flex;
  justify-content: center;
}
body.sidebar-collapsed .profile-person-name,
body.sidebar-collapsed .profile-copy {
  display: none;
}

/* Aperçu répondant public : extrait court, distinct du diagnostic complet. */
.rp-public-excerpt .rp-excerpt-note{
  margin:0 0 20px;
  padding:12px 14px;
  border:1px solid #d7e7eb;
  border-radius:13px;
  background:#f4fafb;
  color:#536b7f;
  font-size:13px;
  line-height:1.55;
}
.rp-excerpt-steps{
  display:flex;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  margin:18px 0 6px;
  color:#0d4c72;
  font-size:13px;
}
.rp-public-cta{
  margin-top:26px;
  padding:20px;
  border-radius:18px;
  background:#eef8f8;
  border:1px solid #d2e8e9;
}
.rp-public-cta b{color:#0d4c72;font-size:17px;}
.rp-public-cta p{margin:7px 0 0;color:#5d7284;line-height:1.55;}
.rp-public-cta-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}
.rp-public-cta-actions .button{text-decoration:none;}
@media(max-width:650px){
  .rp-public-cta-actions{flex-direction:column;}
  .rp-public-cta-actions .button{width:100%;}
}

/* Aperçu répondant — densité desktop : une situation standard (jusqu'à 5 réponses)
   doit rester visible à 100 % sur un écran 1080p sans tasser la typographie. */
@media (min-width: 651px) {
  .rp-page .rp-head { height: 62px; }
  .rp-page .rp-card:has(.rp-answers) { margin: 18px auto; padding: 24px 30px; }
  .rp-page .rp-card:has(.rp-answers) .rp-progress-row { margin-bottom: 9px; }
  .rp-page .rp-card:has(.rp-answers) .rp-bar { margin-bottom: 15px; }
  .rp-page .rp-card:has(.rp-answers) h1 { margin: 10px 0 8px; }
  .rp-page .rp-card:has(.rp-answers) .rp-help { margin: 6px 0 12px; }
  .rp-page .rp-card:has(.rp-answers) .rp-answers { gap: 7px; margin: 12px 0; }
  .rp-page .rp-card:has(.rp-answers) .rp-answer { padding: 9px 12px; align-items: center; }
  .rp-page .rp-card:has(.rp-answers) .rp-answer > span { flex-basis: 28px; height: 28px; }
  .rp-page .rp-card:has(.rp-answers) .rp-actions { margin-top: 14px; }
}

/* ==========================================================================\n   RESSOURCES — flux éditorial Me&YouToo / HubSpot\n   ========================================================================== */
.resources-page .main{max-width:1500px;margin:0 auto;padding:8px 8px 56px;}
.resources-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:32px;padding:34px 38px;margin-bottom:20px;border-radius:28px;background:linear-gradient(135deg,#273a64 0%,#1b2a49 68%,#123f59 100%);box-shadow:0 20px 44px rgba(39,58,100,.18);color:#fff;}
.resources-hero:after{content:"";position:absolute;right:-70px;bottom:-110px;width:280px;height:280px;border-radius:50%;background:rgba(0,120,131,.22);}
.resources-hero-copy{position:relative;z-index:1;}
.resources-hero .eyebrow{color:#9de1e5;}
.resources-hero .page-title{max-width:800px;color:#fff;margin:0;}
.resources-hero .lead{max-width:760px;color:rgba(255,255,255,.82);}
.resources-hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:22px;}
.resources-live-label{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.82);font-size:.86rem;font-weight:700;}
.resources-live-label>span{width:9px;height:9px;border-radius:50%;background:#ffc000;box-shadow:0 0 0 5px rgba(255,192,0,.12);}
.resources-hero-visual{position:relative;z-index:1;display:grid;place-items:center;min-height:190px;}
.resources-hero-visual img{display:block;max-width:250px;max-height:210px;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(0,0,0,.22));}
.resources-toolbar{display:flex;align-items:flex-end;gap:14px;padding:15px;margin-bottom:26px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(39,58,100,.05);}
.resources-search-wrap{position:relative;flex:1;min-width:240px;}
.resources-search-wrap svg{position:absolute;left:15px;top:50%;width:20px;height:20px;transform:translateY(-50%);fill:none;stroke:#66728c;stroke-width:2;stroke-linecap:round;pointer-events:none;}
.resources-search-wrap input,.resources-filter-wrap select{width:100%;height:46px;border:1px solid #d5ddeb;border-radius:13px;background:#fff;color:var(--royal-blue);font:700 .94rem var(--font);outline:none;transition:border-color .15s,box-shadow .15s;}
.resources-search-wrap input{padding:0 16px 0 46px;}
.resources-search-wrap input::placeholder{color:#8993aa;font-weight:500;}
.resources-search-wrap input:focus,.resources-filter-wrap select:focus{border-color:var(--green-blue);box-shadow:var(--focus);}
.resources-filter-wrap{display:grid;gap:5px;min-width:230px;}
.resources-filter-wrap label{padding-left:3px;color:#66728c;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;}
.resources-filter-wrap select{padding:0 38px 0 13px;}
.resources-status-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 2px 15px;}
.resources-status-row .eyebrow{margin-bottom:5px;}
.resources-status-row .section-title{margin:0;}
.resources-count{margin:0;padding:7px 11px;border-radius:999px;background:var(--royal-blue-soft);color:var(--royal-blue);font-size:.78rem;font-weight:800;}
.resources-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.resource-card{overflow:hidden;display:flex;flex-direction:column;min-height:100%;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(39,58,100,.08);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.resource-card:hover{transform:translateY(-3px);border-color:#cdd8e8;box-shadow:0 18px 38px rgba(39,58,100,.13);}
.resource-card-media{position:relative;display:block;overflow:hidden;aspect-ratio:1.85/1;background:linear-gradient(135deg,var(--royal-blue-soft),var(--green-blue-soft));}
.resource-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .28s ease;}
.resource-card:hover .resource-card-media img{transform:scale(1.025);}
.resource-card-media.is-image-error,.resource-card-media-fallback{display:grid;place-items:center;background:linear-gradient(135deg,#273a64,#0d4c72);}
.resource-card-media-fallback>span{color:#fff;font-size:1.35rem;font-weight:900;letter-spacing:-.04em;}
.resource-card-media-fallback>span>span{color:#ffc000;}
.resource-card-body{display:flex;flex-direction:column;flex:1;padding:18px 19px 17px;}
.resource-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:28px;margin-bottom:10px;}
.resource-category{display:inline-flex;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 9px;border-radius:999px;background:var(--green-blue-soft);color:var(--green-blue-dark);font-size:.72rem;font-weight:800;}
.resource-date{color:#778198;font-size:.75rem;font-weight:700;white-space:nowrap;}
.resource-card-title{margin:0 0 9px;font-size:1.08rem;line-height:1.28;color:var(--royal-blue);}
.resource-card-title a{color:inherit;text-decoration:none;}
.resource-card-excerpt{display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 16px;color:var(--muted);font-size:.88rem;line-height:1.53;}
.resource-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:13px;border-top:1px solid #edf0f5;}
.resource-author{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7a8499;font-size:.74rem;font-weight:700;}
.resource-read-link{flex:0 0 auto;color:var(--green-blue-dark);font-size:.79rem;font-weight:900;text-decoration:none;}
.resource-read-link:hover{text-decoration:underline;}
.resources-empty{max-width:760px;margin:28px auto 0;padding:36px;text-align:center;box-shadow:0 12px 34px rgba(39,58,100,.08);}
.resources-empty-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 13px;border-radius:16px;background:var(--royal-blue-soft);color:var(--royal-blue);font-size:1.6rem;font-weight:900;}
.resources-empty h2{margin:0 0 8px;font-size:1.25rem;}
.resources-empty p{margin:0 0 18px;color:var(--muted);}
.resources-empty-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;}
.resources-skeleton-grid{pointer-events:none;}
.resource-skeleton{height:390px;background:linear-gradient(100deg,#f3f5f9 25%,#fafbfc 38%,#f3f5f9 52%);background-size:200% 100%;animation:resourceShimmer 1.15s infinite linear;}
@keyframes resourceShimmer{to{background-position-x:-200%;}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
@media(max-width:1050px){.resources-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.resources-hero{grid-template-columns:minmax(0,1fr) 210px;}.resources-hero-visual img{max-width:200px;}}
@media(max-width:720px){.resources-page .main{padding:8px 4px 84px;}.resources-hero{grid-template-columns:1fr;padding:25px 22px;}.resources-hero-visual{display:none;}.resources-toolbar{align-items:stretch;flex-direction:column;padding:12px;}.resources-filter-wrap{min-width:0;}.resources-grid{grid-template-columns:1fr;}.resources-status-row{align-items:flex-start;}.resources-count{margin-top:3px;}.resource-card-media{aspect-ratio:1.95/1;}.resources-hero-actions{align-items:flex-start;flex-direction:column;gap:13px;}}


/* Ressources — visibilité des états (évite que display:grid neutralise l’attribut hidden) */
.resources-page [hidden]{display:none!important;}

/* Ressources — pagination */
.resources-pagination{display:flex;justify-content:center;align-items:center;gap:10px;margin:30px 0 8px;flex-wrap:wrap}
.resources-page-button{min-width:42px;height:42px;padding:0 12px;border:1px solid #d7e0e5;border-radius:10px;background:#fff;color:#123b54;font:inherit;font-weight:700;cursor:pointer}
.resources-page-button:hover:not(:disabled){border-color:#007883;background:#f2fbfb}
.resources-page-button.is-current{background:#007883;border-color:#007883;color:#fff}
.resources-page-button:disabled{opacity:.35;cursor:not-allowed}
@media(max-width:640px){.resources-pagination{gap:6px}.resources-page-button{min-width:38px;height:38px;padding:0 9px}}

/* Ressources clients DiverStory — 2026-09-10 */
.resources-source-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.resources-source-tab{border:1px solid #d5ddeb;background:#fff;color:#536b7f;border-radius:999px;padding:9px 14px;font:800 .84rem var(--font);cursor:pointer}.resources-source-tab:hover{border-color:#007883}.resources-source-tab.is-current{background:#273a64;border-color:#273a64;color:#fff}.resource-client-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;background:#fff3c4;color:#695300;font-size:.72rem;font-weight:900}.resource-card-private{border-color:#e5d897}.resource-card-private .resource-card-media:after{content:"CLIENT";position:absolute;right:10px;top:10px;padding:5px 8px;border-radius:999px;background:rgba(39,58,100,.92);color:#fff;font-size:.64rem;font-weight:900;letter-spacing:.04em}.resource-card-media{position:relative}.private-resource-page .main{max-width:1120px}.private-resource-back{display:inline-flex;margin:8px 0 18px;color:#0d6670;font-weight:800;text-decoration:none}.private-resource-article{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 14px 36px rgba(39,58,100,.08)}.private-resource-header{padding:34px 38px 26px;background:linear-gradient(180deg,#f7fbfc,#fff)}.private-resource-header h1{margin:14px 0 8px;color:#273a64;font-size:clamp(2rem,4vw,3.2rem);line-height:1.08}.private-resource-meta{color:#718497;font-weight:700}.private-resource-header .lead{max-width:850px}.private-resource-body{padding:8px 38px 42px;color:#2f4455;line-height:1.7;font-size:1rem}.private-resource-body img{max-width:100%;height:auto;border-radius:14px}.private-resource-body a{color:#007883;font-weight:700}.private-resource-body h2,.private-resource-body h3{color:#273a64;margin-top:1.7em}.private-resource-embed{position:relative;width:100%;padding-bottom:56.25%;margin:24px 0;border-radius:18px;overflow:hidden;background:#eef4f6}.private-resource-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.private-resource-state{padding:32px}.resource-lock{font-size:.75em}@media(max-width:720px){.private-resource-header,.private-resource-body{padding-left:20px;padding-right:20px}.resources-source-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.resources-source-tab{white-space:nowrap}}


/* Abonnement Studio — accès restreint */
.studio-subscription-banner{display:flex;gap:20px;align-items:center;justify-content:space-between;margin:0 0 22px;padding:18px 20px;border:1px solid #d6a82f;border-radius:16px;background:#fff8df;box-shadow:0 8px 24px rgba(13,76,114,.08)}
.studio-subscription-banner strong{display:block;font-size:1.05rem;color:#0d4c72}.studio-subscription-banner p{margin:6px 0 0;max-width:820px;line-height:1.5}.subscription-disabled,[aria-disabled="true"].subscription-disabled{opacity:.5;cursor:not-allowed!important;pointer-events:auto!important}.studio-subscription-readonly input:disabled,.studio-subscription-readonly textarea:disabled,.studio-subscription-readonly select:disabled{background:#f4f6f7;color:#60707a;cursor:not-allowed}.admin-subscription-card{display:grid;gap:3px;margin:14px 0;padding:12px 14px;border-radius:12px;background:#eef7fb;border:1px solid #c9e2ee}.admin-subscription-card>span{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#60707a}.admin-subscription-card>strong{color:#0d4c72}.admin-subscription-card>small{color:#60707a}.admin-subscription-card.is-expired,.admin-subscription-card.is-cancelled{background:#fff5e8;border-color:#f0c58d}@media(max-width:760px){.studio-subscription-banner{align-items:flex-start;flex-direction:column}}

/* Migration-ready admin — 2026-09-11 */
.admin-migration-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.admin-migration-kpis article{background:#fff;border:1px solid #dbe6ed;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:4px}.admin-migration-kpis strong{font-size:1.6rem;color:#0d4c72}.admin-migration-kpis span{color:#5d6d77;font-size:.9rem}.admin-migration-list{display:grid;gap:12px;margin:16px 0 28px}.admin-migration-card{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#fff;border:1px solid #dbe6ed;border-radius:14px;padding:16px 18px}.admin-migration-card h3{margin:5px 0}.admin-migration-card p{margin:0;color:#64747d}.admin-migration-scope{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#0d4c72}.admin-migration-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.admin-migration-status{display:inline-flex;padding:6px 9px;border-radius:999px;background:#eef4f7;font-size:.8rem;font-weight:700;white-space:nowrap}.admin-migration-status.is-dry_run_ready,.admin-migration-status.is-pending{background:#fff4d8}.admin-migration-status.is-approved,.admin-migration-status.is-completed{background:#e7f7ed}.admin-migration-status.is-failed,.admin-migration-status.is-rejected{background:#fde9e9}.admin-migration-promotion-head{margin-top:30px}@media(max-width:900px){.admin-migration-kpis{grid-template-columns:repeat(2,1fr)}.admin-migration-card{align-items:flex-start;flex-direction:column}.admin-migration-actions{justify-content:flex-start}}

/* Migration historique — import protégé / revue admin */
.admin-migration-summary{display:block;margin-top:.45rem;color:#5f7380;font-weight:600}
.admin-migration-status.is-review_ready{background:#fff4d6;color:#7a5200}
.migration-review-list{display:grid;gap:.65rem;max-height:58vh;overflow:auto;margin:1rem 0;padding-right:.25rem}
.migration-review-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,290px);gap:1rem;align-items:center;padding:.9rem 1rem;border:1px solid #d8e4ea;border-radius:14px;background:#fff}
.migration-review-row>div{min-width:0;display:grid;gap:.3rem}.migration-review-row strong{color:#0d4c72;line-height:1.35}.migration-review-row small{color:#6a7b85}.migration-review-row select{width:100%;min-height:42px;border:1px solid #bfd1d9;border-radius:10px;background:#fff;padding:.55rem .65rem}
@media(max-width:760px){.migration-review-row{grid-template-columns:1fr}}


/* Migration batches: open / archive / delete */
.admin-migration-card{cursor:pointer;transition:box-shadow .18s ease,transform .18s ease,opacity .18s ease}
.admin-migration-card:hover{box-shadow:0 12px 28px rgba(13,76,114,.10);transform:translateY(-1px)}
.admin-migration-card:focus-visible{outline:3px solid rgba(0,132,145,.25);outline-offset:2px}
.admin-migration-card.is-archived{opacity:.72;background:#f7f9fa}
.admin-migration-card.is-archived:hover{opacity:1}
.admin-migration-status.is-archived{background:#eef1f3;color:#54616a}
.admin-migration-archives{margin-top:18px;border:1px solid #dfe8ed;border-radius:16px;background:#fafcfd}
.admin-migration-archives>summary{cursor:pointer;padding:16px 18px;font-weight:700;color:#0d4c72;list-style:none;display:flex;gap:8px;align-items:center}
.admin-migration-archives>summary::-webkit-details-marker{display:none}
.admin-migration-archive-list{padding:0 14px 14px;display:grid;gap:12px}
.admin-migration-archive-list .admin-migration-card{margin:0}

/* Migration detail — full admin review screen */
.migration-detail-dialog{width:min(1180px,96vw);max-width:none;height:min(92vh,980px);padding:0;border:0;border-radius:24px;overflow:hidden;background:#fff}
.migration-detail-dialog::backdrop{background:rgba(9,31,48,.52);backdrop-filter:blur(2px)}
.migration-detail-shell{display:flex;flex-direction:column;height:100%;position:relative}
.migration-detail-header{padding:28px 34px 18px;border-bottom:1px solid #e2eaef;background:#fff}
.migration-detail-header h2{margin:4px 0 6px;color:#0d4c72;font-size:1.75rem}
.migration-detail-content{padding:24px 34px 110px;overflow:auto;background:#f8fbfc;flex:1}
.migration-detail-actions{position:absolute;left:0;right:0;bottom:0;margin:0;padding:16px 34px;background:rgba(255,255,255,.97);border-top:1px solid #dfe8ed;box-shadow:0 -10px 24px rgba(13,76,114,.06);justify-content:flex-end;z-index:4}
.migration-detail-security{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:#eaf6f7;border:1px solid #c8e5e8;color:#164f5a;margin-bottom:18px}.migration-detail-security strong{white-space:nowrap;color:#087d87}.migration-detail-security span{line-height:1.45}
.migration-detail-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.migration-detail-kpis article{background:#fff;border:1px solid #dce7ed;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.migration-detail-kpis strong{font-size:1.45rem;color:#0d4c72}.migration-detail-kpis span{font-weight:700;color:#243d51}.migration-detail-kpis small{color:#647780;line-height:1.35}
.migration-detail-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px}.migration-detail-overview>div{background:#fff;border:1px solid #dce7ed;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.migration-detail-overview span{font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:#6c7e89;font-weight:700}.migration-detail-overview strong{color:#0d4c72}
.migration-detail-theme{margin-bottom:20px}.migration-detail-section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin:4px 0 14px}.migration-detail-section-head h3{margin:0;color:#0d4c72;font-size:1.25rem}.migration-detail-section-head p{margin:4px 0 0;color:#687984}
.migration-chapter-block{background:#fff;border:1px solid #d8e5eb;border-radius:16px;margin:12px 0;overflow:hidden}.migration-chapter-block>summary{list-style:none;cursor:pointer;padding:16px 18px;display:flex;justify-content:space-between;gap:16px;align-items:center;background:#fff}.migration-chapter-block>summary::-webkit-details-marker{display:none}.migration-chapter-block>summary strong{display:block;color:#173a52}.migration-chapter-block>summary span:not(.migration-compare-badge){display:block;margin-top:3px;color:#6b7b84;font-size:.88rem}.migration-chapter-content{border-top:1px solid #e5ecef;padding:12px;background:#fbfdfe}
.migration-detail-item{background:#fff;border:1px solid #e1e9ed;border-left:5px solid #d6e0e5;border-radius:12px;padding:13px 14px;margin:9px 0}.migration-detail-item.is-exact{border-left-color:#45a56b}.migration-detail-item.is-variant{border-left-color:#e5a73b}.migration-detail-item.is-new{border-left-color:#4c91b9}.migration-detail-item-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.migration-detail-item-head strong{display:block;color:#243d51;line-height:1.4;margin-top:2px}.migration-detail-item-head small{display:block;color:#73828a;margin-top:3px}.migration-detail-kind{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#6b7d87;font-weight:800}.migration-detail-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.migration-compare-badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:.74rem;font-weight:800;white-space:nowrap;background:#eef3f6;color:#546674}.migration-compare-badge.is-exact{background:#e7f7ed;color:#2c7045}.migration-compare-badge.is-variant{background:#fff3d8;color:#8a5d05}.migration-compare-badge.is-new{background:#e8f3f9;color:#2d6889}.migration-lang-badge{display:inline-flex;align-items:center;justify-content:center;min-width:30px;padding:4px 6px;border-radius:7px;background:#f0f4f6;color:#45606f;font-size:.69rem;font-weight:800}.migration-detail-meta{display:block;margin-top:8px;color:#647780}
.migration-side-by-side{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.migration-side-by-side>div{border:1px solid #e2e9ed;border-radius:10px;padding:10px 12px;background:#fafcfd}.migration-side-by-side span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#75848c;font-weight:800;margin-bottom:4px}.migration-side-by-side p{margin:0;color:#324a5a;line-height:1.45}
.migration-detail-children,.migration-profile-group{margin-top:10px;border-top:1px dashed #dfe7eb;padding-top:8px}.migration-detail-children>summary,.migration-profile-group>summary{cursor:pointer;color:#0d4c72;font-size:.85rem;font-weight:800;list-style:none}.migration-detail-children>summary::-webkit-details-marker,.migration-profile-group>summary::-webkit-details-marker{display:none}.migration-detail-children>summary::before,.migration-profile-group>summary::before{content:'▸';display:inline-block;margin-right:6px;transition:transform .15s}.migration-detail-children[open]>summary::before,.migration-profile-group[open]>summary::before{transform:rotate(90deg)}
.migration-profile-group{background:#f5f9fb;border-radius:12px;padding:10px 12px;border-top:0}.migration-profile-group>.migration-detail-item{margin-left:0}
@media(max-width:820px){.migration-detail-dialog{width:98vw;height:96vh}.migration-detail-header,.migration-detail-content,.migration-detail-actions{padding-left:18px;padding-right:18px}.migration-detail-kpis,.migration-detail-overview{grid-template-columns:1fr}.migration-detail-item-head{flex-direction:column}.migration-detail-badges{justify-content:flex-start}.migration-side-by-side{grid-template-columns:1fr}}

/* Migration dry-run: interactive languages, scoring and fold controls */
.migration-lang-badge{appearance:none;border:1px solid rgba(13,76,114,.18);background:#f4f8fb;color:#0d4c72;border-radius:999px;padding:.28rem .55rem;font:inherit;font-size:.75rem;font-weight:800;cursor:pointer;line-height:1}
.migration-lang-badge:hover,.migration-lang-badge.is-active{background:#0d4c72;color:#fff;border-color:#0d4c72}
.migration-score-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.28rem .55rem;background:#fff4d7;color:#775500;border:1px solid #efd78e;font-size:.75rem;font-weight:800;white-space:nowrap}
.migration-score-badge.is-range{background:#eef7f4;color:#17644f;border-color:#b9dfd3}
.migration-lang-panel{margin:.7rem 0 0;padding:.85rem 1rem;border:1px solid #dbe7ee;border-radius:12px;background:#f8fbfd;display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem}
.migration-lang-panel[hidden]{display:none}
.migration-lang-panel>div>span{display:block;margin-bottom:.35rem;color:#557080;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.migration-lang-panel p{margin:0;white-space:pre-wrap}
.migration-fold-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}
.migration-chapter-block>summary{cursor:pointer}
@media(min-width:900px){.migration-lang-panel:has(>div+div){grid-template-columns:1fr 1fr}}

/* Migration review — languages, country scope and collapsible chapters */
.migration-lang-switch{display:inline-flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}
.migration-lang-badge{min-width:72px;padding:.42rem .58rem;border:1px solid #c8dce7;border-radius:10px;background:#fff;color:#0d4c72;display:grid;grid-template-columns:auto;gap:.08rem;text-align:center;box-shadow:0 1px 2px rgba(13,76,114,.04)}
.migration-lang-badge>span{font-size:.76rem;font-weight:900;letter-spacing:.04em;line-height:1}
.migration-lang-badge>small{font-size:.62rem;font-weight:700;color:#68808d;line-height:1.05}
.migration-lang-badge:hover,.migration-lang-badge.is-active{background:#eaf5f8;color:#0d4c72;border-color:#0d8291;box-shadow:0 0 0 2px rgba(13,130,145,.10)}
.migration-lang-badge.is-active>small{color:#0d4c72}
.migration-lang-panel{background:#f7fafc;border-color:#d9e6ec;padding:0;overflow:hidden}
.migration-lang-version{padding:1rem 1.05rem}
.migration-lang-version+.migration-lang-version{border-top:1px solid #dce8ed}
.migration-lang-panel-head{display:flex;align-items:center;gap:.55rem;margin-bottom:.65rem}
.migration-lang-panel-head strong{font-size:.9rem;color:#173a52}
.migration-lang-panel-head em{margin-left:auto;font-style:normal;font-size:.72rem;color:#71828c}
.migration-lang-code{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:27px;padding:0 .4rem;border-radius:8px;background:#0d4c72;color:#fff;font-size:.7rem;font-weight:900;letter-spacing:.04em}
.migration-lang-code.is-studio{background:#eef3f6;color:#496472;min-width:auto}
.migration-lang-panel>div>span{display:inline-flex;margin:0;text-transform:none;letter-spacing:normal}
.migration-country-variant{margin-top:.75rem;padding:.65rem .8rem;border-radius:10px;background:#fff8e7;border:1px solid #f0dfae;display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;color:#684e10}
.migration-country-variant span{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.migration-country-variant strong{font-size:.84rem}
.migration-detail-overview>div small{display:block;margin-top:.25rem;color:#75858e;font-size:.73rem;line-height:1.35}
.migration-chapter-block{box-shadow:0 2px 7px rgba(13,76,114,.035)}
.migration-chapter-block>summary{padding:17px 18px}
.migration-chapter-summary-main{display:flex;gap:.7rem;align-items:center;min-width:0}
.migration-chapter-chevron{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#edf5f8;color:#0d4c72;font-size:1.35rem;font-weight:700;transform:rotate(0deg);transition:transform .18s ease,background .18s ease;flex:0 0 auto}
.migration-chapter-block[open] .migration-chapter-chevron{transform:rotate(90deg);background:#dff0f3}
.migration-chapter-summary-actions{display:flex;align-items:center;gap:.65rem}
.migration-fold-label{font-size:.76rem!important;font-weight:800!important;color:#0d4c72!important;white-space:nowrap;margin:0!important}
.migration-chapter-block[open]>summary .migration-fold-label{font-size:0!important}
.migration-chapter-block[open]>summary .migration-fold-label:after{content:'Replier';font-size:.76rem}
.migration-detail-children>summary,.migration-profile-group>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.migration-detail-children[open]>summary .migration-fold-label,.migration-profile-group[open]>summary .migration-fold-label{font-size:0!important}
.migration-detail-children[open]>summary .migration-fold-label:after,.migration-profile-group[open]>summary .migration-fold-label:after{content:'Masquer';font-size:.76rem}
@media(min-width:900px){.migration-lang-version+.migration-lang-version{border-top:0;border-left:1px solid #dce8ed}.migration-lang-panel:has(>div+div){grid-template-columns:1fr 1fr}}

/* Migration review — clearer fold controls, answer/profile comparison and profile cards */
.migration-detail-children>summary::before,.migration-profile-group>summary::before{
  content:'›';display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:26px;
  margin-right:.55rem;border-radius:50%;background:#edf5f8;color:#0d4c72;font-size:1.15rem;font-weight:800;
  transform:rotate(0);transition:transform .16s ease,background .16s ease;
}
.migration-detail-children[open]>summary::before,.migration-profile-group[open]>summary::before{transform:rotate(90deg);background:#dff0f3}
.migration-detail-children>summary,.migration-profile-group>summary{justify-content:flex-start}
.migration-detail-children>summary>span:first-of-type,.migration-profile-group>summary>span:first-of-type{flex:1}
.migration-detail-children>summary .migration-fold-label,.migration-profile-group>summary .migration-fold-label{margin-left:auto!important}
.migration-profile-heading{display:flex;align-items:flex-start;gap:.75rem}
.migration-profile-color-dot{width:18px;height:18px;margin-top:.35rem;border-radius:50%;background:var(--migration-profile-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--migration-profile-color) 18%,transparent);flex:0 0 auto}
.migration-profile-copy-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:.75rem;margin-top:.8rem}
.migration-profile-copy-grid>div,.migration-profile-studio-current{border:1px solid #dfe8ed;border-radius:11px;padding:.8rem .9rem;background:#fafcfd}
.migration-profile-copy-grid span,.migration-profile-studio-current>span{display:block;margin-bottom:.35rem;color:#6d7f89;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.migration-profile-copy-grid p,.migration-profile-studio-current p{margin:0;color:#304a5a;line-height:1.5;white-space:pre-wrap}
.migration-profile-studio-current{margin-top:.75rem;background:#f4faf7;border-color:#d5e8dd}
.migration-profile-studio-current strong{display:block;color:#24543a;margin-bottom:.35rem}
@media(max-width:800px){.migration-profile-copy-grid{grid-template-columns:1fr}}


/* Migration review — chapter chevrons must sit inside the circular control */
.migration-chapter-summary-main{
  display:flex;
  align-items:center;
  gap:.8rem;
  min-width:0;
}
.migration-chapter-chevron{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box;
  flex:0 0 32px;
  width:32px;
  height:32px;
  line-height:1;
  padding:0;
  margin:0;
  border-radius:50%;
  background:#edf5f8;
  color:#0d4c72;
  font-size:1.35rem;
  font-weight:800;
  font-family:Arial,sans-serif;
  transform:rotate(0deg);
  transform-origin:center;
  transition:transform .16s ease,background .16s ease;
  overflow:hidden;
}
.migration-chapter-block[open]>.migration-chapter-summary .migration-chapter-chevron,
.migration-chapter-block[open]>summary .migration-chapter-chevron{
  transform:rotate(90deg);
  background:#dff0f3;
}

.migration-review-toolbar{position:sticky;top:0;z-index:4;background:#fff;padding:.2rem 0 .8rem;display:flex;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.migration-review-filters,.migration-review-expand{display:flex;gap:.4rem;flex-wrap:wrap}.migration-review-filters button,.migration-review-expand button{border:1px solid #c8dce4;background:#fff;color:#0d4c72;border-radius:999px;padding:.45rem .68rem;font-weight:700;cursor:pointer}.migration-review-filters button.active{background:#0d4c72;color:#fff}.migration-review-auto-note{display:flex;gap:.6rem;flex-wrap:wrap;background:#edf7f1;border:1px solid #cfe9d8;border-radius:14px;padding:.75rem .9rem;color:#245b3c}.migration-review-chapter{border:1px solid #d7e5eb;border-radius:16px;background:#fff;overflow:hidden}.migration-review-chapter>summary,.migration-review-subgroup>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.7rem;padding:.85rem;color:#0d4c72;font-weight:800}.migration-review-chapter>summary::-webkit-details-marker,.migration-review-subgroup>summary::-webkit-details-marker{display:none}.migration-review-chapter>summary>div{display:grid;gap:.15rem}.migration-review-chapter>summary small{font-weight:500;color:#647884}.migration-review-round{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:#eaf5f8;color:#0d4c72;font-size:1.3rem;transition:transform .15s}.migration-review-chapter[open]>summary .migration-review-round,.migration-review-subgroup[open]>summary .migration-review-round{transform:rotate(90deg)}.migration-review-chapter-body{display:grid;gap:.55rem;padding:0 .8rem .8rem}.migration-review-situation-group{display:grid;gap:.4rem}.migration-review-subgroup{border:1px dashed #d8e4ea;border-radius:12px;background:#fbfdfe}.migration-review-subgroup>div{display:grid;gap:.4rem;padding:0 .55rem .55rem}.migration-review-heading{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.migration-review-status{font-size:.72rem;font-weight:800;border-radius:999px;padding:.25rem .45rem}.migration-review-status.existing{background:#e7f5eb;color:#277044}.migration-review-status.variant{background:#fff2d6;color:#8b5a00}.migration-review-status.new{background:#e8f4fa;color:#146184}.migration-review-compare{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.4rem}.migration-review-compare>div{display:grid;gap:.25rem;background:#f7fafb;border:1px solid #dbe7ec;border-radius:10px;padding:.6rem}.migration-review-compare span{font-size:.7rem;font-weight:800;color:#667b86}.migration-review-compare p{white-space:pre-line;margin:0}.migration-review-row[hidden]{display:none!important}@media(max-width:800px){.migration-review-compare{grid-template-columns:1fr}.migration-review-toolbar{position:static}}

/* Migration review v3 — onboarding and safe filters */
.migration-review-welcome{background:linear-gradient(180deg,#f2f8fa 0%,#fff 100%);border:1px solid #d5e7ed;border-radius:18px;padding:1rem 1.1rem;display:grid;gap:.9rem}
.migration-review-welcome-head h3{margin:.15rem 0 .3rem;color:#0d4c72;font-size:1.25rem}.migration-review-welcome-head p{margin:0;color:#506b7b;max-width:850px}
.migration-review-step-label{font-size:.72rem;font-weight:800;letter-spacing:.08em;color:#087d8a}
.migration-review-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.migration-review-steps>div{display:flex;gap:.6rem;align-items:flex-start;background:#fff;border:1px solid #dce9ee;border-radius:13px;padding:.75rem}.migration-review-steps b{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:#0d4c72;color:#fff}.migration-review-steps span{display:grid;gap:.1rem}.migration-review-steps small{color:#677c88;line-height:1.35}
.migration-review-info{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1px solid currentColor;font-size:.7rem;font-weight:800;line-height:1;margin-left:.25rem;cursor:help;vertical-align:middle;opacity:.8}
.migration-review-filters button{display:inline-flex;align-items:center;gap:.2rem}
.migration-review-toolbar{position:sticky;top:0;z-index:4;background:#fff;padding:.65rem 0 .8rem}
.migration-review-auto-note .migration-review-info{margin-left:auto}
.migration-review-technical-block{border:1px solid #dbe7ec;border-radius:14px;background:#fafcfd}.migration-review-technical-block>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.55rem;padding:.75rem .9rem;color:#4c6878;font-weight:700}.migration-review-technical-block>summary::-webkit-details-marker{display:none}.migration-review-technical-block>div{display:grid;gap:.45rem;padding:0 .7rem .7rem}
.migration-review-technical{display:flex;justify-content:space-between;gap:.8rem;align-items:center;background:#fff;border:1px solid #e2eaee;border-radius:11px;padding:.7rem}.migration-review-technical>div{display:grid;gap:.15rem}.migration-review-technical>div>span{font-size:.68rem;font-weight:800;color:#6b7f8a}.migration-review-technical small{color:#728691}.migration-review-auto{font-size:.75rem;font-weight:800;color:#476775;background:#edf3f5;border-radius:999px;padding:.3rem .5rem;white-space:nowrap}
.migration-review-translation-warning{font-size:.72rem;font-weight:800;border-radius:999px;padding:.25rem .45rem;background:#fff5d9;color:#835e00}
.migration-review-empty{border:1px dashed #cbdde5;border-radius:14px;padding:1.2rem;text-align:center;color:#5e7480;display:grid;gap:.2rem}
@media(max-width:800px){.migration-review-steps{grid-template-columns:1fr}.migration-review-auto-note .migration-review-info{margin-left:0}}

/* Migration review v4 — explicit decisions and reliable filtering */
.migration-review-row select.is-decided{background:#e8f4fa;border-color:#0d4c72;color:#0d4c72;font-weight:800;box-shadow:0 0 0 2px rgba(13,76,114,.08)}
.migration-review-row select:focus{outline:2px solid rgba(13,76,114,.18);outline-offset:2px}
.migration-review-footer{position:sticky;bottom:0;z-index:6;background:#fff;border-top:1px solid #dfe9ed;padding:.75rem 0;margin-top:.6rem;align-items:center}
.migration-review-save-state{margin-right:auto;color:#607582;font-size:.9rem}
.migration-review-footer #migration-review-save:disabled{opacity:.48;cursor:not-allowed}
.migration-review-subgroup[hidden],.migration-review-situation-group[hidden],.migration-review-chapter[hidden]{display:none!important}
.migration-review-compare>div{min-width:0}
.migration-review-compare p{overflow-wrap:anywhere}

/* Migration review v5 — parent context and language-specific translation review */
.migration-review-empty[hidden]{display:none!important}
.migration-review-filter-summary{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;background:#f7fafc;border:1px solid #dbe7ec;border-radius:12px;padding:.65rem .8rem;color:#4f6978}
.migration-review-filter-summary strong{color:#0d4c72}.migration-review-filter-summary span{font-size:.88rem}
.migration-review-context-note{display:none;font-size:.7rem;font-weight:800;border-radius:999px;padding:.25rem .45rem;background:#eef3f5;color:#58717e}
.migration-review-row.is-context-only{background:#f9fbfc;border-style:dashed}.migration-review-row.is-context-only .migration-review-context-note{display:inline-flex}.migration-review-row.is-context-only .migration-review-decision{display:none}.migration-review-row.is-context-only .migration-review-status{opacity:.75}
.migration-review-translation-detail{display:grid;gap:.55rem;margin-top:.6rem}.migration-review-translation-card{border:1px solid #dce8ed;border-radius:12px;background:#fbfdfe;padding:.7rem}.migration-review-translation-head{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-bottom:.55rem}.migration-review-translation-head>span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:26px;border-radius:8px;background:#0d4c72;color:#fff;font-size:.7rem;font-weight:900}.migration-review-translation-head em{margin-left:auto;font-style:normal;font-size:.75rem;font-weight:800;color:#8a6500;background:#fff3ce;border-radius:999px;padding:.3rem .5rem}.migration-review-translation-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.migration-review-translation-grid>div{display:grid;gap:.3rem;border:1px solid #e0e9ed;border-radius:10px;background:#fff;padding:.65rem}.migration-review-translation-grid>div>span{font-size:.7rem;font-weight:800;color:#657b87}.migration-review-translation-grid small{display:block;line-height:1.45}.migration-review-translation-grid mark{background:#fff0bd;color:#7c5c00;padding:.08rem .25rem;border-radius:4px}
.migration-review-answer-context{margin-top:.45rem;border:1px solid #dbe7ec;border-radius:10px;padding:.6rem;background:#f7fafc}.migration-review-answer-context>span{display:block;font-size:.72rem;font-weight:800;color:#617985;margin-bottom:.35rem}.migration-review-answer-context ul{margin:.25rem 0 0;padding-left:1.1rem}.migration-review-answer-context li{margin:.2rem 0;color:#334f60}
@media(max-width:800px){.migration-review-translation-grid{grid-template-columns:1fr}}

.migration-review-list[data-active-filter="translations"] .migration-review-compare{display:none}
.migration-translation-edit{margin-top:.65rem}.migration-translation-editor{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.migration-translation-editor section{display:grid;gap:.45rem;border:1px solid #dce8ed;border-radius:14px;background:#fbfdfe;padding:1rem}.migration-translation-editor section>span{font-size:.75rem;font-weight:900;color:#0d4c72}.migration-translation-editor label{font-weight:800;color:#4d6877}.migration-translation-editor input,.migration-translation-editor textarea{width:100%;box-sizing:border-box;border:1px solid #cbdde5;border-radius:10px;padding:.7rem;font:inherit}.migration-translation-reference{white-space:pre-wrap;line-height:1.5;background:#fff;border:1px solid #e1eaee;border-radius:10px;padding:.7rem;max-height:260px;overflow:auto}.migration-translation-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid #dfe9ed;padding-top:.75rem}.migration-translation-actions>span{margin-right:auto}@media(max-width:850px){.migration-translation-editor{grid-template-columns:1fr}}
/* Migration review — respecter réellement l'attribut hidden */
.migration-review-list [hidden],
.migration-review-empty[hidden],
.migration-review-chapter[hidden],
.migration-review-subgroup[hidden],
.migration-review-situation-group[hidden]{
  display:none !important;
}

/* Traductions migration — retour explicite de sauvegarde/validation */
.migration-translation-state{
  margin-right:auto;
  min-height:1.4rem;
  font-weight:800;
  font-size:.92rem;
}
.migration-translation-state.success{color:#267044;}
.migration-translation-state.draft{color:#0d4c72;}
.migration-translation-state.loading{color:#607985;}
.migration-translation-state.error{color:#b42318;}
#migration-translation-validate:disabled{
  cursor:default;
}
#migration-translation-validate:disabled:not(:empty){
  opacity:.72;
}


/* Migration traduction UX — modale desktop large, responsive */
#migration-translation-dialog.admin-dialog-wide{
  width:95vw;
  max-width:95vw;
  max-height:calc(100vh - 24px);
}
#migration-translation-dialog>form{width:100%;box-sizing:border-box;}
#migration-translation-dialog .migration-translation-editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.4rem;}
#migration-translation-dialog .migration-translation-reference{max-height:360px;}
#migration-translation-dialog textarea{resize:vertical;}
@media(max-width:850px){
  #migration-translation-dialog.admin-dialog-wide{width:calc(100vw - 20px);max-width:calc(100vw - 20px);}
  #migration-translation-dialog .migration-translation-editor{grid-template-columns:1fr;}
}

/* Migration historique — une traduction de profil affiche titre + résumé + texte. */
.migration-profile-lang-panel .migration-profile-lang-content{grid-column:1/-1}

/* Migration historique — différences de comparaison stricte */
.migration-difference-note{
  margin:.65rem 0 .8rem;
  padding:.65rem .8rem;
  border:1px solid #f0c36b;
  border-radius:10px;
  background:#fff8e8;
  color:#6c4d12;
  font-size:.9rem;
  line-height:1.45;
}
.migration-difference-note strong{font-weight:800;}
.migration-profile-studio-current small,
.migration-review-compare small{
  display:block;
  margin-top:.35rem;
}


/* Migration historique — création guidée depuis le JSON */
.migration-json-prefill{padding:.85rem;border:1px solid #cfe1e8;border-radius:14px;background:#f7fbfc}
#migration-source-json-status{display:block;margin-top:.5rem;line-height:1.45}
#migration-source-json-status.is-success{color:#21704a;font-weight:700}
#migration-source-json-status.is-error{color:#a33b3b;font-weight:700}
.migration-prefill-file{display:block;margin-bottom:.35rem;color:#21704a;font-weight:800}

/* Migration historique — revue large et comparaison mot à mot */
#migration-review-dialog.admin-dialog-wide{width:95vw;max-width:95vw;max-height:calc(100vh - 24px)}
#migration-review-dialog>form{width:100%;box-sizing:border-box}
.migration-diff-legend{display:flex;gap:.9rem;flex-wrap:wrap;margin:.5rem 0 .65rem;color:#617580;font-size:.76rem;font-weight:700}
.migration-diff-legend span{display:inline-flex;align-items:center;gap:.35rem}
.migration-diff-legend i{width:14px;height:14px;border-radius:4px;border:1px solid transparent}
.migration-diff-legend i.is-old{background:#fff0d6;border-color:#e6b75f}
.migration-diff-legend i.is-new{background:#e1f5f3;border-color:#69b9b5}
.migration-diff-text{white-space:pre-wrap;line-height:1.58}
mark.migration-diff-old,mark.migration-diff-new{padding:.04em .18em;border-radius:4px;color:inherit;font-weight:800}
mark.migration-diff-old{background:#fff0d6;box-shadow:inset 0 -1px 0 #dca53f}
mark.migration-diff-new{background:#e1f5f3;box-shadow:inset 0 -1px 0 #4da7a2}
.migration-text-compare>div{min-width:0}

/* Profils : titre, résumé et texte détaillé clairement séparés */
.migration-profile-structured-compare,.migration-review-profile-compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;margin-top:.65rem}
.migration-profile-version,.migration-review-profile-version{min-width:0;border:1px solid #dbe7ec;border-radius:14px;background:#f9fbfc;padding:1rem;display:grid;gap:.75rem;align-content:start}
.migration-profile-version.is-history,.migration-review-profile-version.is-history{border-left:4px solid #e6b75f}
.migration-profile-version.is-studio,.migration-review-profile-version.is-studio{border-left:4px solid #69b9b5}
.migration-profile-version-head,.migration-review-profile-version-head{display:grid;gap:.2rem;padding-bottom:.45rem;border-bottom:1px solid #dce7ec}
.migration-profile-version-head>span,.migration-review-profile-version-head>span{font-size:.72rem;font-weight:900;letter-spacing:.05em;color:#687d87}
.migration-profile-version-head>strong,.migration-review-profile-version-head>strong{font-size:1rem;color:#0d4c72}
.migration-profile-field,.migration-review-profile-field{display:grid;gap:.3rem}
.migration-profile-field>span,.migration-review-profile-field>span{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#6c7e88}
.migration-profile-field p,.migration-review-profile-field p{margin:0;color:#263f4e;overflow-wrap:anywhere}
.migration-profile-field.is-detail,.migration-review-profile-field.is-detail{padding-top:.15rem}
.migration-profile-single{display:grid;gap:.75rem;margin-top:.75rem;padding:1rem;border:1px solid #dbe7ec;border-radius:14px;background:#f9fbfc}
.migration-review-row .migration-review-main>strong{font-size:1rem}

@media(max-width:900px){
  #migration-review-dialog.admin-dialog-wide{width:calc(100vw - 16px);max-width:calc(100vw - 16px)}
  .migration-profile-structured-compare,.migration-review-profile-compare{grid-template-columns:1fr}
}

/* Migration review — aide contextuelle sur les décisions */
.migration-review-decision{min-width:280px;display:grid;gap:.55rem;align-content:start}
.migration-review-decision-control{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:.45rem;align-items:center}
.migration-review-decision-control select{min-width:0;width:100%}
.migration-review-decision-help{width:36px;height:36px;border-radius:50%;border:1px solid #b8d1dc;background:#fff;color:#0d4c72;font-weight:900;font-size:1rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.15s ease}
.migration-review-decision-help:hover,.migration-review-decision-help:focus-visible,.migration-review-decision-help.is-open{background:#eaf6f8;border-color:#0b8793;outline:none}
.migration-review-decision-current{display:grid;gap:.1rem;padding:.55rem .65rem;border:1px solid #dce8ed;border-radius:10px;background:#f8fbfc}
.migration-review-decision-current strong{font-size:.78rem;color:#0d4c72}
.migration-review-decision-current span{font-size:.76rem;color:#5d7480;line-height:1.35}
.migration-review-decision-help-panel{display:grid;gap:.45rem;padding:.7rem;border:1px solid #cfe1e8;border-radius:12px;background:#fff;box-shadow:0 10px 24px rgba(21,65,84,.08)}
.migration-review-decision-help-panel[hidden]{display:none!important}
.migration-review-decision-help-head{display:grid;gap:.15rem;padding-bottom:.45rem;border-bottom:1px solid #e4ecef}
.migration-review-decision-help-head strong{font-size:.86rem;color:#0d4c72}
.migration-review-decision-help-head span{font-size:.74rem;color:#607784;line-height:1.4}
.migration-review-decision-help-item{display:grid;gap:.08rem;padding:.45rem .5rem;border-radius:9px}
.migration-review-decision-help-item strong{font-size:.78rem;color:#284b5e}
.migration-review-decision-help-item span{font-size:.74rem;color:#627986;line-height:1.4}
.migration-review-decision-help-item.is-current{background:#eaf6f8;box-shadow:inset 3px 0 0 #0b8793}
@media(max-width:900px){.migration-review-decision{min-width:0}.migration-review-decision-control{grid-template-columns:minmax(0,1fr) 40px}}

/* Migration review — recap of manually saved decisions */
.migration-review-decision-history{margin:14px 0;border:1px solid #d7e3ea;border-radius:14px;background:#fff;overflow:hidden}
.migration-review-decision-history>summary{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;list-style:none;color:#174c6a;background:#f8fbfc;font-weight:700}
.migration-review-decision-history>summary::-webkit-details-marker{display:none}
.migration-review-decision-history[open] .migration-review-round{transform:rotate(90deg)}
.migration-review-decision-history-body{padding:0 16px 14px}
.migration-review-decision-history-body .hint{margin:10px 0 12px;color:#61798a}
.migration-review-decision-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:12px 0;border-top:1px solid #e4edf2}
.migration-review-decision-history-row>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.migration-review-decision-history-row strong{color:#173f5a}
.migration-review-decision-history-row small{color:#6a7f8d}
.migration-review-decision-history-choice{display:inline-flex;align-items:center;justify-content:center;max-width:280px;padding:7px 10px;border-radius:999px;background:#eef7f8;color:#0b6b73;font-weight:700;text-align:center}
@media (max-width:760px){.migration-review-decision-history-row{grid-template-columns:1fr}.migration-review-decision-history-choice{justify-self:start;max-width:100%}}

/* Migration / Bibliothèque — langues et périmètres culturels */
.admin-library-localization-badges{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;margin-left:6px}
.admin-library-localization-chip{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid #cfe0e8;border-radius:999px;background:#f7fbfd;color:#315a70;font-size:12px;font-weight:700;line-height:1.2}
.admin-library-localization-chip.is-language{background:#eef8fb}
.admin-library-localization-chip.is-country{background:#fff7e8;border-color:#efd6a1;color:#74551b}
.admin-library-localization-panel,.admin-library-localization-list{margin-top:14px;border-top:1px solid #dbe6ec;padding-top:14px}
.admin-library-localization-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.admin-library-localization-row{border:1px solid #dce7ed;border-radius:10px;background:#fff;margin-top:8px;overflow:hidden}
.admin-library-localization-row.is-cultural{border-color:#efd6a1;background:#fffdf8}
.admin-library-localization-row>summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;cursor:pointer;list-style:none}
.admin-library-localization-row>summary::-webkit-details-marker{display:none}
.admin-library-localization-row>summary span{font-size:12px;color:#6b7f8c}
.admin-library-localization-copy{padding:0 12px 12px;display:grid;gap:10px}
.admin-library-localization-copy b{display:block;margin-bottom:3px;font-size:11px;text-transform:uppercase;color:#607886}
.admin-library-localization-copy p{margin:0;white-space:pre-wrap;line-height:1.45;color:#18384b}
.admin-library-localization-empty{margin:8px 0 0;color:#718692;font-size:13px}
.admin-library-answer-localization{grid-column:2/-1;display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;margin-top:4px}
.admin-library-answer-localization>details{width:100%;font-size:12px}
.admin-library-answer-localization>details>summary{cursor:pointer;color:#0d5d7a;font-weight:700;margin:4px 0}
.admin-profile-localization-card .admin-library-localization-badges{margin:0 0 8px}
@media(max-width:760px){.admin-library-localization-head{align-items:flex-start}.admin-library-localization-badges{margin-left:0}.admin-library-answer-localization{grid-column:1/-1}}

/* Migration review — language differences are handled separately from business variants. */
.migration-review-language-warning{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .55rem;border-radius:999px;background:#eef8fa;color:#0d6470;font-weight:700;font-size:.78rem}
.migration-review-languages{margin-top:1rem;border:1px solid #d9e7ee;border-radius:14px;background:#fbfdfe;overflow:hidden}
.migration-review-languages>summary{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;padding:.8rem 1rem;cursor:pointer;list-style:none}
.migration-review-languages>summary::-webkit-details-marker{display:none}
.migration-review-languages>summary .hint{margin-left:auto}
.migration-review-language-tabs{display:flex;gap:.45rem;flex-wrap:wrap;padding:.7rem 1rem 0;border-top:1px solid #e4edf2}
.migration-review-language-tabs button{border:1px solid #c9dce5;background:#fff;color:#24506d;border-radius:999px;padding:.4rem .75rem;font-weight:700;cursor:pointer}
.migration-review-language-tabs button.is-active{background:#0d5d7b;color:#fff;border-color:#0d5d7b}
.migration-review-language-panel{padding:1rem}
.migration-review-language-status{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}
.migration-review-language-status span{font-size:.8rem;padding:.28rem .55rem;border-radius:999px;background:#eef3f6;color:#52697a}
.migration-review-language-status span.is-action{background:#fff3d9;color:#8b5a00;font-weight:700}
.migration-review-language-status span.is-dormant{background:#f1eef8;color:#665487}
.migration-review-language-columns,.migration-review-language-fields{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.migration-review-language-fields{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:.8rem}
.migration-review-language-fields.is-studio{padding-top:.8rem;border-top:1px solid #e3edf1}
.migration-review-language-columns>div,.migration-review-language-fields>div{min-width:0;padding:.75rem;border:1px solid #dde9ee;border-radius:10px;background:#fff}
.migration-review-language-columns span,.migration-review-language-fields span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:#617989;font-weight:700;margin-bottom:.35rem}
.migration-review-language-columns p,.migration-review-language-fields p{margin:0;white-space:pre-wrap;line-height:1.5}
.migration-review-diagnostic-section{margin:1rem 0;padding:1rem;border:1px solid #d9e7ee;border-radius:16px;background:#fff}
.migration-review-diagnostic-head{display:flex;gap:.65rem;align-items:baseline;flex-wrap:wrap;margin-bottom:.75rem}.migration-review-diagnostic-head span{color:#627a8a;font-size:.9rem}
@media (max-width:900px){.migration-review-language-columns,.migration-review-language-fields{grid-template-columns:1fr}}

/* Migration review v2 — langues + comparaison FR + couleurs profils */
.migration-review-language-profile-compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;margin-top:.65rem}
.migration-review-language-profile-side{min-width:0;border:1px solid #dbe7ec;border-radius:14px;background:#f9fbfc;padding:1rem;display:grid;gap:.75rem;align-content:start}
.migration-review-language-profile-side.is-history{border-left:4px solid #e6b75f}
.migration-review-language-profile-side.is-studio{border-left:4px solid #69b9b5}
.migration-review-language-profile-side>strong{font-size:.78rem;letter-spacing:.05em;color:#687d87}
.migration-review-language-profile-side>div{display:grid;gap:.25rem}
.migration-review-language-profile-side>div>span{font-size:.7rem;font-weight:900;text-transform:uppercase;color:#6c7e88}
.migration-review-language-profile-side p{margin:0;overflow-wrap:anywhere}
.migration-profile-meta{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.migration-profile-color-swatch{display:inline-block;width:16px;height:16px;border-radius:50%;background:var(--migration-profile-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--migration-profile-color) 18%,transparent);flex:0 0 auto}
@media(max-width:900px){.migration-review-language-profile-compare{grid-template-columns:1fr}}

/* Migration review: make language filter visually explicit */
.migration-review-row.is-language-focus{outline:2px solid rgba(13,76,114,.22);outline-offset:2px}.migration-review-row.is-language-focus .migration-review-languages{background:#f5fbfd;border-color:#8fcbd2}

/* Migration — choix global des langues */
.migration-review-global-languages{margin:14px 0;padding:16px 18px;border:1px solid #cfe1e8;border-radius:16px;background:#f7fbfc}
.migration-review-global-languages-head>div{display:flex;flex-direction:column;gap:4px}
.migration-review-global-languages-head strong{color:#0d4c72;font-size:16px}
.migration-review-global-languages-head span,.migration-review-global-language-state span{color:#60758a;font-size:13px}
.migration-review-global-language-options{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
.migration-review-global-language-options label{display:flex;align-items:flex-start;gap:10px;min-width:230px;padding:12px 14px;border:1px solid #cbdde5;border-radius:12px;background:#fff;cursor:pointer}
.migration-review-global-language-options label:has(input:checked){border-color:#008c95;background:#eef9f9}
.migration-review-global-language-options label.is-required{cursor:default;background:#f3f6f8}
.migration-review-global-language-options input{margin-top:3px;accent-color:#008c95}
.migration-review-global-language-options span{display:flex;flex-direction:column;gap:3px}
.migration-review-global-language-options b{color:#15395a}
.migration-review-global-language-options small{color:#6c7f90}
.migration-review-global-language-state{display:flex;gap:8px;align-items:center;margin-top:12px;color:#0b6f76}

.admin-library-localization-copy label{display:flex;flex-direction:column;gap:6px;margin:8px 0}.admin-library-localization-copy input,.admin-library-localization-copy textarea{width:100%;box-sizing:border-box;border:1px solid #cbdde5;border-radius:10px;padding:10px 12px;font:inherit;background:#fff;color:#15395a}.admin-library-localization-actions{display:flex;justify-content:flex-end;margin-top:10px}

.admin-library-theme-scope{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 4px}
.admin-library-theme-scope-tag{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;border:1px solid #cbdde5;background:#fff;font-size:13px;color:#15395a}
.admin-library-theme-scope-tag.is-scope{background:#fff7e8;border-color:#efc978}
.admin-library-theme-scope-tag.is-language{background:#eef8fb;border-color:#b9dbe7}
.admin-library-theme-scope-tag b{font-weight:700}

.migration-review-global-language-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;flex-wrap:wrap}
.migration-review-global-language-footer .migration-review-global-language-state{margin-top:0}

/* Chapitres alternatifs du catalogue Me&YouToo */
.chapter-choice-box{margin-top:16px;padding:14px;border:1px solid rgba(13,76,114,.16);border-radius:16px;background:#f7fbfd;display:grid;gap:12px}.chapter-choice-copy{display:grid;gap:3px}.chapter-choice-copy strong{color:#0d4c72}.chapter-choice-copy span{font-size:.9rem;color:#536474}.chapter-choice-options{display:flex;flex-wrap:wrap;gap:10px}.chapter-choice-option{appearance:none;border:1px solid rgba(13,76,114,.2);background:#fff;border-radius:12px;padding:10px 12px;display:flex;gap:14px;align-items:center;justify-content:space-between;min-width:210px;cursor:pointer;font:inherit;text-align:left}.chapter-choice-option:hover{border-color:#0d4c72}.chapter-choice-option strong{font-size:.82rem;color:#0d4c72;white-space:nowrap}.chapter-choice-option.is-selected{border-color:#0d4c72;box-shadow:0 0 0 2px rgba(13,76,114,.08)}.chapter-choice-option:disabled{cursor:default;opacity:.65}
.theme-chapter-alternatives{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px;font-size:.82rem;color:#647484}.theme-chapter-alternatives strong{font-size:.82rem;color:#0d4c72}.theme-chapter-alternatives em{font-style:normal;color:#8a98a5}

/* Catalogue client — découverte par thématique puis affinage périmètre/langue */
.library-discovery-actions input{min-height:44px;border:1px solid var(--line);border-radius:14px;padding:0 14px;background:#fff;min-width:260px}
.library-filters{display:grid;grid-template-columns:minmax(250px,1.4fr) repeat(2,minmax(180px,.65fr)) auto;gap:12px;align-items:end;margin:0 0 20px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:#fff}
.library-filter-intro{display:flex;flex-direction:column;gap:3px}.library-filter-intro strong{color:var(--royal-blue)}.library-filter-intro span{font-size:.82rem;color:var(--muted)}
.library-filters label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;font-weight:800;color:var(--royal-blue)}.library-filters select{min-height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 34px 0 11px;color:var(--ink);font:inherit}.library-filter-reset{min-height:42px}
.topic-capabilities{display:grid;gap:8px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.topic-capabilities>div{display:grid;grid-template-columns:78px 1fr;gap:8px;align-items:start}.topic-capabilities strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.topic-capability-values{display:flex;flex-wrap:wrap;gap:5px}.topic-capability-values span{font-size:.72rem;font-weight:700;color:var(--royal-blue)}.topic-capability-values span:not(:last-child)::after{content:' ·';color:var(--muted)}.topic-capability-more{background:var(--surface-soft);padding:1px 6px;border-radius:999px}.topic-capability-empty{color:var(--muted)!important;font-weight:500!important}
.topic-content-split{display:grid;grid-template-columns:1fr 1fr;gap:8px}.topic-content-count{min-width:0;padding:9px 10px;border-radius:12px;border:1px solid var(--line);background:#f8fbfc}.topic-content-count.is-library{background:#fffaf0;border-color:#f1dfb6}.topic-content-count span,.topic-content-count small{display:block}.topic-content-count span{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;font-weight:800;color:var(--royal-blue)}.topic-content-count strong{display:block;font-size:1.15rem;color:var(--ink);margin:2px 0}.topic-content-count small{font-size:.68rem;line-height:1.25;color:var(--muted)}
.library-no-result{grid-column:1/-1}.visually-hidden{position:absolute!important;left:-9999px!important}
@media(max-width:1050px){.library-filters{grid-template-columns:1fr 1fr}.library-filter-intro{grid-column:1/-1}}
@media(max-width:640px){.library-filters{grid-template-columns:1fr}.library-filter-intro{grid-column:auto}.library-discovery-actions input{min-width:0;width:100%}.topic-content-split{grid-template-columns:1fr 1fr}}


/* Catalogue thématique — couverture globale */
.theme-availability-tags{display:flex;flex-wrap:wrap;gap:18px 34px;margin:6px 0 22px}
.theme-availability-group{display:grid;gap:9px}
.theme-availability-group>strong{color:#0d4c72;font-size:.88rem}
.theme-availability-pills{display:flex;flex-wrap:wrap;gap:8px}
.theme-availability-pill{display:inline-flex;align-items:center;min-height:34px;padding:7px 13px;border-radius:999px;font-weight:700;font-size:.86rem;line-height:1;border:1px solid #cbdde5}
.theme-availability-pill.is-scope{background:#fff7e8;border-color:#efc978;color:#704f09}
.theme-availability-pill.is-language{background:#eef8fb;border-color:#b9dbe7;color:#0d4c72}
.theme-availability-note{flex-basis:100%;margin:0;color:#60788a;font-size:.82rem;line-height:1.4}

/* Catalogue thématique — chapitres et alternatives */
.theme-chapter-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}
.theme-choice-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef8fb;border:1px solid #b9dbe7;color:#0d4c72;font-size:.75rem;font-weight:800}
.theme-chapter-description{max-width:720px;margin:8px 0 0;color:#536a82;line-height:1.48;font-size:.9rem}
.data-table tr.is-choice-chapter td:first-child{border-left:3px solid #9ccfd5;padding-left:17px}
.theme-choice-explainer td{padding:16px 20px!important;background:#f7fbfc}
.theme-choice-explainer-box{display:flex;gap:14px;align-items:flex-start}
.theme-choice-kicker{flex:0 0 auto;display:inline-flex;padding:6px 10px;border-radius:999px;background:#0d4c72;color:#fff;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.theme-choice-explainer-box p{margin:5px 0 0;color:#536a82;line-height:1.45}


/* Wizard catalogue — parcours, périmètres et langues */
.version-picker-dialog{width:min(860px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:hidden}
.version-picker-shell{width:100%;max-width:860px!important;height:min(820px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);display:flex!important;flex-direction:column;grid-template-columns:none!important;padding:0!important;overflow:hidden;border:0!important;border-radius:28px!important;box-shadow:0 28px 80px rgba(18,48,72,.28)!important}
.version-picker-header{flex:0 0 auto;padding:30px 34px 22px;background:#fff;border-bottom:1px solid #e4edf2;z-index:2}
.version-picker-header .studio-modal-copy{padding-right:0}
.version-picker-explainer{display:grid;gap:5px;margin-top:14px;padding:12px 14px;border-radius:12px;background:#f3f9fa;color:#36566f;font-size:.84rem;line-height:1.35}
.version-picker-explainer strong{color:#203b68}
.version-picker-explainer b{color:#0d6b75}
.version-picker-explainer small{margin-top:3px;color:#60758b}
.version-picker-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 34px 28px;scrollbar-gutter:stable}
.version-picker-section{margin-top:24px}
.version-picker-section h3{margin:0 0 10px;color:#203b68}
.version-picker-help{margin:-4px 0 12px;color:#60758b;font-size:.9rem}
.version-choice-group{margin-top:20px;padding:16px;border:1px solid #dbe7ee;border-radius:16px;background:#f8fbfc}
.version-choice-group h3{margin:0 0 10px}
.version-choice-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.version-choice-card,.version-check{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid #cbdce6;border-radius:14px;background:#fff;cursor:pointer}
.version-choice-card:has(input:checked),.version-check:has(input:checked){border-color:#078b93;box-shadow:0 0 0 3px rgba(7,139,147,.10)}
.version-choice-card strong{display:block;color:#203b68}
.version-choice-card small{display:block;margin-top:5px;color:#60758b;line-height:1.35}
.version-cap{display:block;margin-top:6px;font-size:.76rem;color:#0d6b75}
.version-check-grid{display:flex;flex-wrap:wrap;gap:9px}
.version-check{padding:9px 12px;align-items:center}
.version-check input,.version-choice-card input{accent-color:#078b93}
.version-picker-actions{flex:0 0 auto;margin:0!important;padding:18px 34px!important;border-top:1px solid #e4edf2!important;background:#fff;z-index:2}
.version-empty{color:#a33;background:#fff4f2;padding:10px 12px;border-radius:10px}
@media(max-width:720px){.version-picker-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.version-picker-shell{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);border-radius:20px!important}.version-picker-header{padding:22px 18px 16px}.version-picker-scroll{padding:0 18px 22px}.version-picker-actions{padding:14px 18px!important;flex-wrap:wrap}.version-picker-actions .button{flex:1 1 220px}.version-choice-options{grid-template-columns:1fr}}

/* Composer — comparaison et contrôle des traductions */
.composer-translation-row{margin:14px 0 2px}
.translation-overlay{position:fixed;inset:0;background:rgba(12,35,55,.58);z-index:10000;display:grid;place-items:center;padding:24px}
.translation-modal{background:#fff;border-radius:24px;width:min(1120px,96vw);max-height:92vh;overflow:auto;box-shadow:0 24px 70px rgba(0,0,0,.25)}
.translation-head{padding:24px 28px 18px;border-bottom:1px solid #dce7ed;display:flex;justify-content:space-between;gap:20px}
.translation-head h2{margin:4px 0 0}.translation-close{border:0;background:#eef5f7;border-radius:12px;width:42px;height:42px;font-size:24px}
.translation-toolbar{padding:18px 28px;background:#f7fafb;display:flex;align-items:center;gap:12px}.translation-toolbar select{min-width:230px;height:46px;border:1px solid #bfd2dc;border-radius:12px;padding:0 14px;background:#fff}
.translation-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:24px 28px}.translation-pane{border:1px solid #dce7ed;border-radius:18px;padding:18px;background:#fff}.translation-pane.reference{background:#f7fafb}.translation-pane h3{margin:0 0 14px}
.translation-pane textarea{width:100%;box-sizing:border-box;border:1px solid #bfd2dc;border-radius:12px;padding:12px 14px;font:inherit;line-height:1.5;resize:vertical}.translation-reference-text{white-space:pre-wrap;line-height:1.55;padding:12px 0}
.translation-answer{padding:12px 0;border-top:1px solid #e5edf1}.translation-field-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.translation-status{display:inline-flex;margin-left:8px;padding:4px 9px;border-radius:999px;background:#edf7f7;font-size:12px}.translation-status.is-incomplete{background:#fff3d6}
.translation-foot{padding:18px 28px 24px;border-top:1px solid #dce7ed;display:flex;justify-content:flex-end;gap:12px}
@media(max-width:760px){.translation-grid{grid-template-columns:1fr}.translation-modal{max-height:96vh}.translation-toolbar{align-items:flex-start;flex-direction:column}.translation-field-head{align-items:flex-start;flex-direction:column}.translation-status{margin-left:0}}


/* Composer — UX blocs, contexte de campagne et adaptations locales */
.composer-situation-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.composer-collapse-situation{min-width:78px}.composer-situation-body[hidden]{display:none!important}
.composer-context-edit{align-self:flex-end;margin-left:auto}.campaign-context-modal{width:min(920px,96vw)}.campaign-context-scroll{padding:22px 28px;overflow:auto}.campaign-context-scroll section+section{margin-top:24px}.campaign-context-help{margin:0 0 20px;color:var(--text-muted)}
.translation-sync-warning{margin:10px 0;padding:10px 12px;border-radius:10px;background:#fff3d6;color:#7c5700;font-size:.9rem;line-height:1.4}.translation-local-note{margin:8px 0 14px;padding:9px 11px;border-radius:10px;background:#f5f8fa;color:#526b7a;font-size:.86rem}.translation-inline-warning{display:block;margin-top:8px;color:#7c5700;font-size:.82rem}
.translation-profile-block strong{display:block;margin-top:12px}.translation-profile-field{display:block;margin:14px 0}.translation-profile-field strong{display:block;margin-bottom:7px}.translation-profile-field input,.translation-profile-field textarea{width:100%;box-sizing:border-box;border:1px solid #bfd2dc;border-radius:12px;padding:12px 14px;font:inherit;line-height:1.5}.translation-profile-field input{height:46px}
@media(max-width:760px){.composer-situation-head-actions{align-items:flex-end;flex-direction:column}.composer-context-edit{align-self:flex-start;margin-left:0}.campaign-context-scroll{padding:18px}}


/* ===== Profils : contexte campagne + points d'information ===== */
.profiles-context{margin:18px 0 20px;padding:18px 20px;border:1px solid var(--line);background:linear-gradient(180deg,#f7fbfc 0%,#fff 100%)}
.profiles-context-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.profiles-context-head>div{display:flex;align-items:center;gap:8px}.profiles-common-badge{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#eaf7f4;color:#076b75;font-weight:800;font-size:.82rem}.profiles-context-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.profiles-context-grid>div>span{display:block;margin-bottom:8px;font-size:.78rem;font-weight:800;text-transform:uppercase;color:#60758b}.profiles-context-note{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:#edf6ff;color:#203b68;line-height:1.45}.profile-info-wrap{position:relative;display:inline-flex;vertical-align:middle;margin-left:5px}.profile-info-dot{width:20px;height:20px;border:0;border-radius:50%;background:#e8f5f6;color:#087b89;font:800 12px/20px Arial;text-align:center;padding:0;cursor:help}.profile-info-bubble{position:absolute;z-index:30;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);width:min(310px,70vw);padding:10px 12px;border-radius:10px;background:#173862;color:#fff;font-size:.78rem;font-weight:500;line-height:1.4;box-shadow:0 8px 24px rgba(15,45,78,.18);opacity:0;visibility:hidden;pointer-events:none;transition:.15s}.profile-info-wrap:hover .profile-info-bubble,.profile-info-wrap:focus-within .profile-info-bubble{opacity:1;visibility:visible}.profile-excel-head small{display:flex;align-items:center}.profile-excel-card .field label,.profile-method,.composer-translation-row{display:flex;align-items:center;gap:4px}.profile-modal-context{margin:0 24px 18px;padding:12px 14px;border-radius:12px;background:#edf6ff;color:#203b68;line-height:1.45}@media(max-width:760px){.profiles-context-head{align-items:flex-start;flex-direction:column}.profiles-context-grid{grid-template-columns:1fr}.profile-info-bubble{left:auto;right:0;transform:none}}

/* Composer — navigation par périmètre */
.composer-country-tabs{margin:18px 0 24px}
.composer-country-tabs-label{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.composer-country-tabs-label strong{font-size:1rem;color:var(--royal-blue)}
.composer-country-tabs-label span{font-size:.92rem;color:var(--muted)}
.composer-country-tabs-list{display:flex;flex-wrap:wrap;gap:10px}
.composer-country-tab{
  appearance:none;
  border:1px solid #c9d9e1;
  background:#fff;
  color:var(--royal-blue);
  border-radius:12px;
  padding:10px 16px;
  font:inherit;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(22,48,72,.05);
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.composer-country-tab:hover{border-color:#7dbbc1;background:#f8fcfc;transform:translateY(-1px)}
.composer-country-tab:focus-visible{outline:3px solid rgba(7,139,147,.2);outline-offset:2px}
.composer-country-tab.is-active{border-color:#078b93;background:#e8f7f7;color:#075f66;box-shadow:inset 0 0 0 1px #078b93,0 2px 7px rgba(7,139,147,.10)}

/* Profils — seuils lisibles et stables */
.profile-method{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px}
.profile-method-main{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap;min-width:0}
.profile-method-label{font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em;color:#60708a}
.profile-method-range{white-space:nowrap;font-size:.9rem;color:var(--royal-blue)}
.profile-method-lock{display:inline-flex;align-items:center;white-space:nowrap;padding:4px 8px;border-radius:999px;background:#fff;color:#60708a;border:1px solid #d9e2ef;font-size:.74rem;font-weight:800}
.profile-method .info-dot{margin-left:auto;flex:0 0 auto}
@media(max-width:720px){
  .composer-country-tabs-label{align-items:flex-start}
  .composer-country-tab{padding:9px 13px}
  .profile-method{align-items:flex-start}
}


/* Composer — lisibilité du choix périmètres / langues */
.campaign-context-locale-option{align-items:flex-start!important}
.campaign-context-locale-copy{display:flex;flex-direction:column;gap:3px;line-height:1.25}
.campaign-context-locale-scope{display:block;color:#60758b;font-size:.78rem;font-weight:500;margin:0!important}
.campaign-context-selection-summary{margin-top:16px;padding:14px 16px;border:1px solid #d9e6ec;border-radius:16px;background:#f8fbfc}
.campaign-context-selection-title{font-weight:800;color:#203b68;margin-bottom:10px}
.campaign-context-selection-row{display:grid;grid-template-columns:minmax(120px,180px) 1fr;gap:12px;align-items:start;padding:8px 0;border-top:1px solid #e6eef2}
.campaign-context-selection-row:first-of-type{border-top:0}
.campaign-context-selection-row>strong{color:#203b68}
.campaign-context-selection-row>span{display:flex;flex-wrap:wrap;gap:7px}
.campaign-context-selection-row em{color:#b13a32;font-style:normal;font-size:.9rem}
@media(max-width:720px){.campaign-context-selection-row{grid-template-columns:1fr}.campaign-context-selection-row>span{margin-top:2px}}


/* Composer — matrice guidée périmètres / langues */
.campaign-context-selection-help{margin:-2px 0 10px;color:#60758b;font-size:.88rem;line-height:1.45}
.campaign-context-country-languages{display:flex;flex-direction:column;gap:7px}
.campaign-context-country-selected,.campaign-context-country-available{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.campaign-context-country-available>small{color:#60758b;font-weight:700;margin-right:2px}
.campaign-context-country-missing{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:10px;background:#fff4ef;border:1px solid #f3d5ca;color:#9a3b31}
.campaign-context-country-missing strong{font-size:.9rem}
.campaign-context-country-missing small{font-size:.78rem;color:#8b5a54}
.campaign-context-summary-lang{appearance:none;border:1px solid #b9ddea;background:#fff;color:#0b5671;border-radius:999px;padding:6px 10px;display:inline-flex;align-items:center;gap:5px;font:inherit;font-size:.82rem;font-weight:800;cursor:pointer}
.campaign-context-summary-lang:hover,.campaign-context-summary-lang:focus-visible{border-color:#078b93;box-shadow:0 0 0 3px rgba(7,139,147,.12);outline:none}
.campaign-context-summary-lang.is-selected{background:#eaf8f8;border-color:#8cced2;color:#075f65}
.campaign-context-summary-lang span{font-size:.9rem;line-height:1}


/* Composer — sélection explicite du périmètre avant affichage du contenu */
.composer-country-gate{margin:14px 0 18px}
.composer-country-gate-card{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;border:1px solid #cfe3ea;border-radius:18px;background:#f7fbfc;color:#203b68}
.composer-country-gate-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e8f7f8;font-size:1.2rem;flex:0 0 auto}
.composer-country-gate-card strong{display:block;font-size:1rem;margin-bottom:4px}
.composer-country-gate-card p{margin:0;color:#60758b;line-height:1.5}
.campaign-context-available-locales{margin-top:8px}
.campaign-context-available-locales .theme-availability-pills{gap:8px}
@media(max-width:720px){.composer-country-gate-card{padding:15px 16px}.composer-country-gate-icon{width:36px;height:36px}}


/* Composer · rappel explicite périmètre → langues activées */
.composer-context-matrix{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:min(100%,620px);
}
.composer-context-matrix-title{
  font-weight:800;
  color:#17345f;
  margin-bottom:2px;
}
.composer-context-country-row{
  display:grid;
  grid-template-columns:minmax(130px,auto) 1fr;
  align-items:center;
  gap:12px;
  padding:8px 0;
  border-top:1px solid #e3edf3;
}
.composer-context-country-row:first-of-type{border-top:0}
.composer-context-country-row>strong{color:#17345f}
.composer-context-no-language{
  color:#b33a32;
  font-size:.9rem;
  font-weight:700;
}
@media(max-width:720px){
  .composer-context-country-row{grid-template-columns:1fr;gap:6px}
}

/* Composer — association explicite périmètre ↔ langues */
.composer-context-matrix-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.composer-context-matrix-head>div{display:flex;flex-direction:column;gap:3px}
.composer-context-matrix-head strong{color:var(--royal-blue);font-size:1rem}
.composer-context-matrix-head span{color:var(--muted);font-size:.88rem}
.composer-context-matrix{display:flex;flex-direction:column;border:1px solid #dbe8ee;border-radius:16px;overflow:hidden;background:#fff}
.composer-context-matrix-row{display:grid;grid-template-columns:minmax(130px,190px) 1fr;align-items:center;gap:14px;padding:10px 14px;border-top:1px solid #e8f0f3}
.composer-context-matrix-row:first-child{border-top:0}
.composer-context-matrix-row.is-current{background:#f2fbfb}
.composer-context-matrix-row>strong{color:var(--royal-blue)}
.composer-context-matrix-row>div{display:flex;flex-wrap:wrap;gap:7px}
.composer-context-no-language{font-size:.88rem;color:#9a5e00;font-weight:700}
.composer-country-tab-with-locales{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:138px;text-align:left}
.composer-country-tab-with-locales>strong{font:inherit;font-weight:800}
.composer-country-tab-with-locales>span{font-size:.76rem;font-weight:650;color:#60758b;line-height:1.25}
.composer-country-tab-with-locales.is-active>span{color:#237079}
@media(max-width:720px){.composer-context-matrix-row{grid-template-columns:1fr;gap:7px}.composer-context-matrix-head{flex-direction:column}.composer-country-tab-with-locales{min-width:0}}

/* Composer — contexte campagne regroupé dans le sélecteur de périmètre */
.composer-country-tabs-label{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.composer-country-tabs-label-copy{
  display:flex;
  align-items:baseline;
  gap:10px;
  flex-wrap:wrap;
  min-width:0;
}
.composer-country-tabs-label-copy strong{font-size:1rem;color:var(--royal-blue)}
.composer-country-tabs-label-copy span{font-size:.92rem;color:var(--muted)}
.composer-country-edit{margin-left:auto;white-space:nowrap}
@media(max-width:720px){
  .composer-country-tabs-label-copy{align-items:flex-start;flex-direction:column;gap:3px}
  .composer-country-edit{margin-left:0}
}

/* Composer — points info sur le contexte de campagne */
.composer-inline-title{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;position:relative}
.composer-inline-title h2{margin:0}
.composer-info-wrap{position:relative;display:inline-flex;vertical-align:middle;flex:0 0 auto}
.composer-info-dot{width:22px;height:22px;border:1px solid #0a8893;border-radius:50%;background:#e8f5f6;color:#0a7580;font:800 12px/20px Arial;text-align:center;padding:0;cursor:help;display:inline-flex;align-items:center;justify-content:center}
.composer-info-dot:hover,.composer-info-dot:focus-visible{background:#0a7580;color:#fff;border-color:#0a7580;outline:none;box-shadow:0 0 0 4px rgba(10,117,128,.14)}
.composer-info-bubble{position:absolute;z-index:80;left:0;top:calc(100% + 10px);bottom:auto;transform:none;width:min(360px,calc(100vw - 48px));padding:12px 14px;border-radius:12px;background:#173862;color:#fff;font-size:.84rem;font-weight:600;line-height:1.45;box-shadow:0 12px 32px rgba(15,45,78,.24);opacity:0;visibility:hidden;pointer-events:none;transition:.15s}
.composer-country-tabs-label .composer-info-bubble,.translation-head .composer-info-bubble{color:#fff}
.composer-info-wrap:hover .composer-info-bubble,.composer-info-wrap:focus-within .composer-info-bubble{opacity:1;visibility:visible}
.translation-head .composer-inline-title{overflow:visible}
.translation-head .composer-info-wrap{position:relative}
.translation-head .composer-info-bubble{left:0;right:auto;top:calc(100% + 10px);bottom:auto;transform:none;width:min(360px,calc(100vw - 96px))}
@media(max-width:720px){.composer-inline-title{align-items:flex-start}.composer-info-bubble,.translation-head .composer-info-bubble{left:0;right:auto;width:min(320px,calc(100vw - 40px))}}


/* Composer — hiérarchie visuelle de la modale contexte */
.campaign-context-modal-head{align-items:flex-start;padding:24px 28px 20px;overflow:visible}
.campaign-context-modal-heading{display:flex;flex-direction:column;gap:5px;min-width:0;max-width:760px}
.campaign-context-modal-heading>small{font-size:.72rem;letter-spacing:.08em;color:#5f7388;font-weight:800}
.campaign-context-modal-title{align-items:center;gap:8px;flex-wrap:nowrap}
.campaign-context-modal-title h2{font-size:1.55rem!important;line-height:1.18;margin:0;color:var(--royal-blue);letter-spacing:-.01em}
.campaign-context-modal-heading>p{margin:0;color:#60758b;font-size:.92rem;line-height:1.45}
.campaign-context-modal-head .translation-close{margin-left:auto;flex:0 0 auto}
.campaign-context-modal-title .composer-info-wrap{align-self:center}
.campaign-context-modal-title .composer-info-bubble{left:auto!important;right:0!important;top:calc(100% + 10px)!important;bottom:auto!important;transform:none!important;width:min(340px,calc(100vw - 120px))!important;color:#fff!important;font-weight:600}
.composer-country-tabs-label .composer-info-bubble{color:#fff!important}
@media(max-width:720px){
  .campaign-context-modal-head{padding:20px 18px 16px}
  .campaign-context-modal-title{align-items:center;flex-wrap:wrap}
  .campaign-context-modal-title h2{font-size:1.3rem!important}
  .campaign-context-modal-title .composer-info-bubble{right:auto!important;left:0!important;width:min(310px,calc(100vw - 64px))!important}
}

/* Composer — verrouillage de la hiérarchie du header de la modale contexte */
.translation-modal.campaign-context-modal .translation-head .campaign-context-modal-heading{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-auto-flow:row!important;
  align-items:start!important;
  gap:6px!important;
  min-width:0!important;
}
.translation-modal.campaign-context-modal .campaign-context-modal-heading>small{
  display:block!important;
  width:100%!important;
  margin:0!important;
}
.translation-modal.campaign-context-modal .campaign-context-modal-title{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  margin:0!important;
}
.translation-modal.campaign-context-modal .campaign-context-modal-heading>p{
  display:block!important;
  width:100%!important;
  margin:0!important;
}

/* Composer — correctif définitif tooltip du header de la modale contexte
   Le tooltip est ancré au bloc de titre complet, pas au petit bouton i. */
.translation-head .campaign-context-modal-heading{
  position:relative;
  min-width:0;
}
.translation-head .campaign-context-modal-heading .composer-info-wrap{
  position:static;
}
.translation-head .campaign-context-modal-heading .composer-info-bubble{
  position:absolute;
  left:0;
  right:auto;
  top:calc(100% + 10px);
  bottom:auto;
  transform:none;
  width:min(420px,calc(100vw - 180px));
  max-width:100%;
  box-sizing:border-box;
  z-index:120;
}
@media(max-width:720px){
  .translation-head .campaign-context-modal-heading .composer-info-bubble{
    left:0;
    right:auto;
    width:min(320px,calc(100vw - 72px));
    max-width:none;
  }
}


/* Composer — tooltip modal rendu hors de la modale pour ne jamais être coupé par overflow. */
.composer-info-wrap-floating>.composer-info-bubble{display:none!important}
.composer-floating-info-tooltip{
  position:fixed;
  z-index:20050;
  box-sizing:border-box;
  margin:0;
  padding:12px 14px;
  border-radius:12px;
  background:#173862;
  color:#fff;
  font-size:.84rem;
  font-weight:600;
  line-height:1.45;
  box-shadow:0 12px 32px rgba(15,45,78,.28);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  overflow-wrap:anywhere;
  transition:opacity .12s ease,visibility .12s ease;
}
.composer-floating-info-tooltip.is-visible{opacity:1;visibility:visible}
@media(max-width:720px){
  .composer-floating-info-tooltip{font-size:.82rem;padding:11px 12px}
}

/* Profils — diff mot à mot identique à Composer + indication de sauvegarde */
[data-live-profile-diff] .composer-diff{margin-top:10px;animation:composerDiffReveal .18s ease-out}
.profile-autosave-note{margin:.55rem 0 0;color:var(--muted);font-size:.86rem;line-height:1.4}
.profile-autosave-note strong{color:var(--royal-blue)}

/* Mes campagnes — contexte réel de campagne : boutons compacts + détails à la demande */
.campaign-context-disclosure{margin-top:10px}
.campaign-context-toggle-row{display:flex;flex-wrap:wrap;gap:8px}
.campaign-context-toggle{
  display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:7px 11px;
  border:1px solid #d6e2ee;border-radius:999px;background:#fff;color:var(--royal-blue);
  font:inherit;font-size:.78rem;font-weight:800;line-height:1;cursor:pointer;
}
.campaign-context-toggle:hover,.campaign-context-toggle:focus-visible{border-color:#98b5d1;background:#f7fafc;outline:none}
.campaign-context-toggle[aria-expanded="true"]{background:#eef4fa;border-color:#aac1d8}
.campaign-context-chevron{font-size:.9rem;line-height:1;transition:transform .16s ease}
.campaign-context-toggle[aria-expanded="true"] .campaign-context-chevron{transform:rotate(180deg)}
.campaign-context-panel{margin-top:8px;padding:10px 12px;border:1px solid #dfe7ef;border-radius:12px;background:#f9fbfd}
.campaign-context-panel[hidden]{display:none!important}
.campaign-context-panel>strong{display:block;margin-bottom:7px;color:#425d78;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}
.campaign-context-values{display:flex;flex-wrap:wrap;gap:6px 14px}
.campaign-context-values span{color:#26435f;font-size:.82rem;font-weight:700}
.campaign-context-filter select{min-width:190px}
@media(max-width:760px){
  .campaign-context-filter{width:100%}
  .campaign-context-filter select{width:100%;min-width:0}
  .campaign-context-toggle-row{gap:6px}
  .campaign-context-toggle{font-size:.75rem;padding:7px 10px}
  .campaign-context-values{flex-direction:column;gap:6px}
}

@media(max-width:760px){.rp-scale-grid,.rp-scale-legend{gap:8px}.rp-scale-option{min-height:58px;font-size:18px;padding:0}.rp-scale-legend-item small{font-size:11px}}

/* Aperçu répondant réel — choix périmètre puis langue */
.rp-context-chooser{margin:26px 0 20px;padding:20px;border:1px solid #d8e5eb;border-radius:18px;background:#f8fbfc;text-align:left}
.rp-context-intro{padding-bottom:16px;border-bottom:1px solid #e1eaee}
.rp-context-intro>strong{display:block;color:#0d4c72;font-size:17px}
.rp-context-intro>p{margin:6px 0 0;color:#60778a;font-size:13px;line-height:1.5}
.rp-context-step{padding-top:18px}
.rp-context-language-step{margin-top:18px;border-top:1px solid #e1eaee}
.rp-context-step-head{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.rp-context-step-head>span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;height:30px;border-radius:50%;background:#0d4c72;color:#fff;font-weight:900;font-size:13px}
.rp-context-step-head>div{display:flex;flex-direction:column;gap:2px}
.rp-context-step-head strong{color:#18375d;font-size:14px}
.rp-context-step-head small{color:#718497;font-size:11px}
.rp-context-options{display:flex;flex-wrap:wrap;gap:9px}
.rp-context-choice{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:9px 13px;border:1.5px solid #cfdde5;border-radius:12px;background:#fff;color:#18375d;font:700 13px Asap,Arial,sans-serif;cursor:pointer}
.rp-context-choice:hover{border-color:#008b95;background:#f0f9f9}
.rp-context-choice.selected{border-color:#008b95;background:#e9f8f8;box-shadow:inset 0 0 0 1px #008b95;color:#086a72}
.rp-context-choice>span{font-size:15px;line-height:1}
.rp-context-locale{min-width:145px;justify-content:center}
.rp-context-loading,.rp-context-error,.rp-context-ready{margin-top:16px;border-radius:12px;padding:12px 14px;font-size:12px;line-height:1.45}
.rp-context-loading{background:#eef5f8;color:#536b7f}
.rp-context-error{background:#fff1f0;border:1px solid #ffd3d0;color:#8a3d3b}
.rp-context-ready{display:flex;align-items:center;gap:10px;background:#edf9f4;border:1px solid #cdebdc;color:#245e4a}
.rp-context-ready>span{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#d7f1e4;font-weight:900}
.rp-context-ready>div{display:flex;flex-direction:column;gap:1px}
.rp-context-ready strong{font-size:12px}
.rp-context-ready small{font-size:11px;color:#4f7466}
.rp-context-empty{width:100%;padding:11px 12px;border:1px dashed #cbd9e0;border-radius:11px;color:#718497;font-size:12px;background:#fff}
.rp-head{gap:14px}
.rp-language-picker{margin-left:auto;display:flex;align-items:center;gap:8px}
.rp-language-picker label{font-size:.78rem;font-weight:800;color:#536a82}
.rp-language-picker select{min-width:165px;height:40px;padding:0 36px 0 12px;border:1px solid #cbdde5;border-radius:12px;background:#fff;color:#18375d;font:inherit;font-weight:700}
.rp-language-picker select:focus{outline:3px solid rgba(0,136,145,.16);border-color:#008891}
@media(max-width:680px){.rp-head{flex-wrap:wrap;height:auto;min-height:74px;padding-top:10px;padding-bottom:10px}.rp-language-picker{width:100%;margin-left:0}.rp-language-picker select{flex:1}.rp-context-chooser{padding:16px;margin:20px 0 16px}.rp-context-options{display:grid;grid-template-columns:1fr}.rp-context-choice,.rp-context-locale{width:100%;min-width:0;justify-content:flex-start}.rp-context-locale{justify-content:center}}
.rp-head .rp-language-picker{flex-direction:row;text-align:left}

/* Admin dossier client — édition manuelle des campagnes historiques */
.campaign-management-dialog{width:min(820px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto}
.campaign-management-dialog .admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin:20px 0}
.campaign-management-dialog .field{margin:0}
.campaign-management-dialog .field input{width:100%;font-size:.95rem;font-weight:700}
.campaign-management-dialog .field:nth-last-child(-n+2){grid-column:1/-1}
@media(max-width:700px){.campaign-management-dialog .admin-form-grid{grid-template-columns:1fr}.campaign-management-dialog .field:nth-last-child(-n+2){grid-column:auto}}


/* Composer — masquage strict des contrôles inutiles sur campagne mono-périmètre / mono-contexte */
#composer-country-tabs[hidden],
#composer-campaign-context[hidden]{display:none!important}

/* 2026-09-18 — contexte simple + ressources documentaires */
.profiles-context-grid.is-single{grid-template-columns:1fr}
.result-resource-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#61798c;font-size:.8rem}
.result-resource-row.is-legacy-pending{border-color:#f0cf91;background:#fffaf0}
.result-resource-type-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.result-resource-type-choice label{display:flex;cursor:pointer}
.result-resource-type-choice input{position:absolute;opacity:0;pointer-events:none}
.result-resource-type-choice span{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;padding:10px 14px;border:1.5px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);font-weight:800}
.result-resource-type-choice input:checked+span{border-color:var(--teal);background:#edf8f8;color:#08727b;box-shadow:inset 0 0 0 1px var(--teal)}
.result-resource-document-field{display:grid;gap:9px}
.result-resource-document-field select{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px 14px;background:#fbfcfd;color:var(--ink);font:500 .95rem Asap,sans-serif}
.result-resource-document-field small{color:#718497;font-size:.76rem;line-height:1.45}
.result-resource-admin-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center;margin-top:6px;padding:12px;border:1px dashed #cfdde5;border-radius:13px;background:#f8fbfc}
.result-resource-admin-upload small{grid-column:1/-1}
.result-preview-resource{display:flex;align-items:center;justify-content:center;gap:8px}
.rp-resource-link[disabled]{opacity:.6;cursor:not-allowed;background:#fbfcfd}
@media(max-width:700px){.result-resource-type-choice{grid-template-columns:1fr}.result-resource-admin-upload{grid-template-columns:1fr}.result-resource-admin-upload .button{width:100%}}
.result-resource-document-field[hidden],.result-resource-admin-upload[hidden]{display:none!important}

/* Client resource media library */
.admin-client-media-library{scroll-margin-top:24px}
.admin-client-media-title{align-items:flex-start}
.admin-media-client-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef6ff;color:#23446f;font-size:.78rem;font-weight:800;white-space:nowrap}
.admin-client-media-upload{display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,1fr) auto;gap:14px;align-items:end;padding:16px;border:1px solid #d9e7ed;border-radius:16px;background:#f8fbfc;margin-bottom:14px}
.admin-client-media-upload .field{margin:0}
.admin-client-media-file input{padding:9px;background:#fff}
.admin-client-media-list{display:grid;gap:10px}
.admin-client-media-card{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border:1px solid #dbe7ed;border-radius:15px;background:#fff}
.admin-client-media-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:12px;background:#f2f6fb;color:#173d61;font-size:.72rem;font-weight:900;border:1px solid #d7e2ea}
.admin-client-media-copy{display:grid;gap:4px;min-width:0}
.admin-client-media-copy strong{color:#173d61}
.admin-client-media-copy span,.admin-client-media-copy small{color:#6c8292;overflow-wrap:anywhere}
.admin-client-media-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.admin-client-media-empty{display:grid;gap:6px;padding:22px;border:1px dashed #c8d9e1;border-radius:15px;background:#fbfdfe;color:#6b8292}
.admin-client-media-empty strong{color:#173d61}
.admin-media-association-dialog .field{margin-top:14px}
@media(max-width:900px){.admin-client-media-upload{grid-template-columns:1fr}.admin-client-media-card{grid-template-columns:48px 1fr}.admin-client-media-actions{grid-column:1/-1;justify-content:flex-start}}

/* 2026-09-18 — rattachement d'un compte Studio existant */
.user-access-mode{display:grid;gap:10px;margin:4px 0 20px}.user-access-mode-title{margin:0 0 2px;font-weight:800;color:var(--navy,#17355f)}.user-access-mode-choice{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid #d7e2ef;border-radius:14px;background:#f8fbfe;cursor:pointer;transition:.18s ease}.user-access-mode-choice:hover,.user-access-mode-choice.is-selected{border-color:#0b8b97;background:#eefafa;box-shadow:0 0 0 2px rgba(11,139,151,.08)}.user-access-mode-choice input{margin-top:4px}.user-access-mode-choice span{display:grid;gap:3px}.user-access-mode-choice strong{color:#17355f}.user-access-mode-choice small{color:#6c7f99;line-height:1.35}.user-existing-panel{margin:0 0 18px}.user-existing-results{display:grid;gap:8px;margin-top:10px;max-height:250px;overflow:auto}.user-existing-result{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #dbe5ef;border-radius:12px;background:#fff}.user-existing-result>div{display:grid;gap:2px;min-width:0}.user-existing-result strong{color:#17355f}.user-existing-result span,.user-existing-result small{color:#657791;overflow-wrap:anywhere}.user-existing-result.is-attached{background:#f6f8fb}.user-existing-empty{padding:12px 14px;border-radius:12px;background:#f6f8fb;color:#66758c}.user-existing-empty.is-error{background:#fff2f2;color:#9b3131}.user-existing-selected{margin:10px 0 4px}.user-existing-selected-card{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #b8dddd;border-radius:14px;background:#f0fbfa}.user-existing-selected-card>div{display:grid;gap:2px;flex:1;min-width:0}.user-existing-selected-card strong{color:#17355f}.user-existing-selected-card span,.user-existing-selected-card small{color:#657791;overflow-wrap:anywhere}.user-existing-avatar{display:grid!important;place-items:center;width:38px;height:38px;border-radius:50%;background:#0b8790!important;color:#fff!important;font-weight:800;flex:0 0 auto}.user-existing-selected-card .button{flex:0 0 auto}.user-existing-reassignment{display:block;margin-top:6px;padding:7px 9px;border-radius:9px;background:#fff6e5;color:#8a5b00;font-style:normal;font-size:.8rem;line-height:1.35}
@media(max-width:720px){.user-existing-result,.user-existing-selected-card{align-items:flex-start;flex-direction:column}.user-existing-result .button,.user-existing-selected-card .button{width:100%}}

/* Catalogue admin transversal — situations partagées + mots-clés */
.admin-library-subhead-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.admin-library-placement-choice{border:1px solid #d7e4ea;border-radius:14px;padding:14px 16px;margin:14px 0;background:#fbfdfe;display:grid;gap:10px}
.admin-library-placement-choice legend{font-weight:800;color:#17365b;padding:0 6px}
.admin-library-placement-choice label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid #e3ebef;border-radius:12px;background:#fff;cursor:pointer}
.admin-library-placement-choice label:has(input:checked){border-color:#00919a;box-shadow:0 0 0 2px rgba(0,145,154,.08)}
.admin-library-placement-choice input{margin-top:4px}
.admin-library-placement-choice span{display:grid;gap:2px}
.admin-library-placement-choice small{font-weight:400;color:#61738c}
.admin-library-tags-field{display:grid;gap:6px;margin-top:14px}
.admin-library-tags-field input{width:100%;min-height:46px;border:1px solid #d7e0ea;border-radius:10px;padding:0 14px;font:inherit}
.admin-library-tags-field small{color:#61738c}
.admin-situation-tags,.composer-library-keywords{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.admin-situation-tags span,.composer-library-keywords span{font-size:.78rem;padding:4px 8px;border-radius:999px;background:#e9f6f5;color:#007a80;font-weight:700}
.admin-library-type-tag.is-source{background:#f0edf9;color:#65518e}
.admin-library-situation-row.is-linked{border-left:4px solid #8b79b5}
.admin-library-shared-source{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 12px;margin-top:12px;border-radius:10px;background:#f6f3fb;color:#564679}
.admin-global-catalog-picker{margin:14px 0 18px;border:1px solid #bddde0;border-radius:18px;padding:18px;background:#f7fcfc}
.admin-global-picker-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.admin-global-picker-head strong{font-size:1.05rem;color:#17365b}
.admin-global-picker-head p{margin:4px 0 0;color:#61738c;max-width:780px}
.admin-global-picker-search{display:grid;gap:6px;margin:16px 0}
.admin-global-picker-search span{font-weight:800;color:#17365b}
.admin-global-picker-search input{width:100%;height:46px;border:1px solid #cbdde3;border-radius:12px;padding:0 14px;font:inherit;background:#fff}
.admin-global-picker-results{display:grid;gap:10px;max-height:520px;overflow:auto;padding-right:4px}
.admin-global-picker-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;background:#fff;border:1px solid #dde9ec;border-radius:14px;padding:14px}
.admin-global-picker-card p{margin:8px 0 0;color:#213651;line-height:1.45}
.admin-global-picker-source{display:flex;gap:7px;align-items:center;font-size:.82rem;color:#587087;font-weight:700}
.admin-global-picker-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.composer-library-search{padding:14px 18px;border-bottom:1px solid #e0e8ec;display:grid;gap:6px;background:#fbfdfe}
.composer-library-search label{font-weight:800;color:#17365b}
.composer-library-search input{height:44px;border:1px solid #cfdde5;border-radius:10px;padding:0 12px;font:inherit;background:#fff}
.composer-library-search small{color:#61738c}
@media(max-width:760px){.admin-global-picker-card{grid-template-columns:1fr}.admin-global-picker-actions{justify-content:flex-start}.admin-global-picker-head{flex-direction:column}.admin-library-subhead-actions{justify-content:flex-start}}

/* Catalogue transversal : filtres + choix des langues de réutilisation */
.admin-global-picker-help{display:flex;gap:9px;align-items:center;margin:14px 0 4px;padding:10px 12px;border-radius:12px;background:#f3fafb;color:#35516d;font-size:.92rem}
.admin-info-dot{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#e1f4f4;color:#007f87;font-weight:900;font-size:.78rem;cursor:help;flex:0 0 auto}
.admin-global-picker-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 10px}
.admin-global-picker-filters label{display:grid;gap:6px}.admin-global-picker-filters span{font-weight:800;color:#17365b}.admin-global-picker-filters select{width:100%;height:44px;border:1px solid #cbdde3;border-radius:12px;padding:0 12px;background:#fff;font:inherit}
.admin-global-picker-locales{margin-top:12px;padding-top:11px;border-top:1px solid #e5edef}.admin-global-picker-locales-title{display:flex;align-items:center;gap:7px}.admin-global-picker-locales-title strong{font-size:.86rem;color:#17365b}.admin-global-picker-locale-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.admin-global-picker-locale-chips label{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid #d8e4e8;border-radius:999px;background:#fff;cursor:pointer;font-size:.78rem;font-weight:800;color:#35516d}.admin-global-picker-locale-chips label:has(input:checked){border-color:#00919a;background:#edfafa;color:#006f77}.admin-global-picker-locales small{display:block;margin-top:7px;color:#728297;line-height:1.35}
@media(max-width:760px){.admin-global-picker-filters{grid-template-columns:1fr}}

/* Catalogue admin — destination explicite de la réutilisation */
.admin-global-picker-destination{display:flex;align-items:center;gap:8px;margin:10px 0 6px;padding:10px 12px;border:1px solid #cfe5e7;border-radius:12px;background:#f5fbfb;color:#17365d}
.admin-global-picker-destination strong{color:#007f87}
.admin-library-subhead-actions .admin-info-dot{width:18px;height:18px;font-size:.72rem;margin-left:4px;background:#e1f4f4;color:#007f87}
.admin-library-filter-chip .admin-info-dot{width:17px;height:17px;font-size:.68rem;margin-left:4px;vertical-align:middle}
.admin-global-picker-filters label>span,.admin-global-picker-search>span{display:flex;align-items:center;gap:6px}
.admin-global-picker-source .admin-info-dot{width:17px;height:17px;font-size:.68rem;margin-left:4px}

/* Studio admin — points info : popover applicatif, pas tooltip navigateur */
.admin-info-dot{position:relative;isolation:isolate;outline:none;border:0;box-shadow:none;transition:transform .15s ease,background .15s ease,color .15s ease}
.admin-info-dot:hover,.admin-info-dot:focus-visible{background:#007f87;color:#fff;transform:translateY(-1px)}
.admin-info-dot[data-info]::before,.admin-info-dot[data-info]::after{position:absolute;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .14s ease,transform .14s ease;z-index:1000}
.admin-info-dot[data-info]::after{content:attr(data-info);width:min(320px,72vw);left:50%;bottom:calc(100% + 12px);transform:translate(-50%,6px);padding:12px 14px;border-radius:12px;background:#17365b;color:#fff;font-size:.79rem;font-weight:600;line-height:1.45;text-align:left;white-space:normal;box-shadow:0 12px 30px rgba(23,54,91,.22)}
.admin-info-dot[data-info]::before{content:"";left:50%;bottom:calc(100% + 6px);transform:translate(-50%,6px);border:6px solid transparent;border-top-color:#17365b}
.admin-info-dot[data-info]:hover::before,.admin-info-dot[data-info]:hover::after,.admin-info-dot[data-info]:focus-visible::before,.admin-info-dot[data-info]:focus-visible::after{opacity:1;visibility:visible;transform:translate(-50%,0)}
.admin-info-dot[data-info]:hover::before,.admin-info-dot[data-info]:focus-visible::before{transform:translate(-50%,0)}
.admin-library-subhead-actions .admin-info-dot[data-info]::after{left:auto;right:-8px;transform:translateY(6px)}
.admin-library-subhead-actions .admin-info-dot[data-info]::before{left:auto;right:2px;transform:translateY(6px)}
.admin-library-subhead-actions .admin-info-dot[data-info]:hover::after,.admin-library-subhead-actions .admin-info-dot[data-info]:focus-visible::after{transform:translateY(0)}
.admin-library-subhead-actions .admin-info-dot[data-info]:hover::before,.admin-library-subhead-actions .admin-info-dot[data-info]:focus-visible::before{transform:translateY(0)}

/* Catalogue theme — regroupe visuellement les chapitres alternatifs dans un seul chapitre logique. */
.theme-choice-heading{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}.theme-choice-heading>strong{font-size:1rem;color:#123d67}.theme-choice-heading>span{font-size:.82rem;color:#6d7c8b}.theme-choice-options{display:flex;flex-wrap:wrap;gap:8px}.theme-choice-option{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #d9e6ee;border-radius:12px;background:#f7fbfd}.theme-choice-option strong{font-size:.86rem;color:#0d4c72}.theme-choice-option span{font-size:.8rem;color:#586d7c}.theme-choice-option small{padding:2px 6px;border-radius:999px;background:#e7f5ef;color:#2a7257;font-size:.7rem;font-weight:700}.theme-choice-count-note{display:block;margin-top:2px;font-size:.72rem;font-weight:400;color:#7b8995}

/* Admin catalogue — couverture et intégration des tags */
.admin-catalog-tagging-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;margin:0 0 24px;border:1px solid var(--border,#e4e7ec);border-radius:18px;background:var(--surface,#fff);box-shadow:0 8px 24px rgba(28,39,60,.05)}
.admin-catalog-tagging-copy{min-width:0;flex:1}.admin-catalog-tagging-copy .admin-library-editor-section-title{margin:0}.admin-catalog-tagging-copy h3{margin:0 0 4px}.admin-catalog-tagging-copy p{margin:0;color:var(--muted,#667085)}
.admin-catalog-tagging-kpis{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.admin-catalog-tagging-kpis span{display:inline-flex;align-items:baseline;gap:5px;padding:7px 10px;border-radius:999px;background:#f6f7f9;color:#4b5563;font-size:.86rem}.admin-catalog-tagging-kpis strong{color:#111827;font-size:.98rem}
.admin-catalog-tagging-actions{display:grid;grid-template-columns:auto auto;align-items:center;justify-items:start;gap:8px 10px;flex:0 0 auto}.admin-catalog-tagging-actions small{grid-column:1/-1;color:var(--muted,#667085);max-width:330px}
@media(max-width:800px){.admin-catalog-tagging-panel{align-items:flex-start;flex-direction:column}.admin-catalog-tagging-actions{width:100%}}

/* Cockpit clients — liste compacte, détails repliés par défaut */
.admin-client-list{display:grid;gap:10px}.admin-client-card-compact{overflow:hidden;border-radius:16px}.admin-client-card-compact .admin-client-compact-head{display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(420px,2fr) auto;gap:18px;align-items:center;padding:12px 16px;background:#fff;border:0}.admin-client-compact-main{display:flex;align-items:center;gap:12px;min-width:0}.admin-client-compact-main .admin-client-avatar{flex:0 0 42px;width:42px;height:42px;border-radius:12px;font-size:1rem}.admin-client-compact-identity{min-width:0}.admin-client-compact-title-row{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.admin-client-compact-title-row h3{margin:0;color:#143f65;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.admin-client-compact-title-row .badge{padding:4px 7px;font-size:.68rem}.admin-client-compact-identity p{margin:3px 0 0;color:#718596;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-client-compact-metrics{display:grid;grid-template-columns:repeat(5,minmax(72px,1fr));gap:6px;min-width:0}.admin-client-compact-metrics>span{display:grid;gap:1px;min-width:0;padding:5px 8px;border-left:1px solid #e5edf3}.admin-client-compact-metrics strong{color:#173f64;font-size:.9rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-client-compact-metrics small{color:#7b8d9b;font-size:.68rem;white-space:nowrap}.admin-client-compact-actions{display:flex;align-items:center;gap:7px;justify-content:flex-end}.admin-client-compact-actions .button{white-space:nowrap}.admin-client-compact-alerts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0 16px 10px 70px;background:#fff}.admin-client-compact-alerts:empty{display:none}.admin-client-compact-alerts .admin-theme-tags,.admin-client-compact-alerts .admin-health-row{margin:0}.admin-client-compact-alerts .admin-theme-tags span,.admin-client-compact-alerts .admin-health{font-size:.68rem;padding:4px 7px}.admin-client-expanded-content{border-top:1px solid #e8eef3;background:#fff}.admin-client-expanded-content[hidden]{display:none!important}.admin-client-card-compact.is-expanded{box-shadow:0 12px 30px rgba(13,76,114,.08)}@media(max-width:1180px){.admin-client-card-compact .admin-client-compact-head{grid-template-columns:minmax(250px,1fr) auto}.admin-client-compact-metrics{grid-column:1/-1;grid-row:2}.admin-client-compact-alerts{padding-left:16px}}@media(max-width:760px){.admin-client-card-compact .admin-client-compact-head{grid-template-columns:1fr}.admin-client-compact-actions{justify-content:flex-start}.admin-client-compact-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-client-compact-manager{grid-column:1/-1}.admin-client-compact-alerts{padding:0 12px 10px}.admin-client-compact-actions .button{flex:1}}


/* 2026-09-19 — comparaison inline des traductions pour les campagnes historiques client */
.composer-legacy-language-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.composer-legacy-language-summary>small{flex-basis:100%;color:#60758b;font-size:.78rem;margin-top:2px}
.composer-legacy-translation-row{margin-top:14px}
.legacy-inline-translations{margin:14px 0 4px;border:1px solid #dce7ed;border-radius:16px;background:#f8fbfc;padding:16px}
.legacy-translation-loading,.legacy-translation-error{padding:10px 12px;border-radius:10px;background:#fff;color:#60758b}
.legacy-translation-error{background:#fff1f0;color:#a2342c}
.legacy-translation-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}
.legacy-translation-toolbar>div{display:grid;gap:4px}
.legacy-translation-toolbar strong{color:#173862}
.legacy-translation-toolbar small{color:#60758b;line-height:1.4}
.legacy-translation-toolbar label{display:grid;gap:6px;font-size:.78rem;font-weight:800;color:#4e6474}
.legacy-translation-toolbar select{min-width:230px;height:42px;border:1px solid #bfd2dc;border-radius:10px;background:#fff;padding:0 12px;font:inherit;color:#173862}
.legacy-translation-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.legacy-translation-pane{border:1px solid #dce7ed;border-radius:14px;background:#fff;padding:14px}
.legacy-translation-pane.is-reference{background:#f2f8fa}
.legacy-translation-pane h4{display:flex;align-items:center;gap:8px;margin:0 0 10px;color:#173862}
.legacy-translation-pane h4 span{display:inline-flex;padding:3px 7px;border-radius:999px;background:#dff1f3;color:#0a6f78;font-size:.68rem;font-weight:900;text-transform:uppercase}
.legacy-translation-question{white-space:pre-wrap;line-height:1.5;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid #e4ecef}
.legacy-translation-question.is-missing,.legacy-translation-answers .is-missing{color:#8a6500;background:#fff7df}
.legacy-translation-answers{display:grid;gap:8px;margin-top:12px}
.legacy-translation-answers>div{border-top:1px solid #e6edef;padding-top:8px}
.legacy-translation-answers strong{display:block;font-size:.72rem;color:#60758b;margin-bottom:3px}
.legacy-translation-answers p{margin:0;white-space:pre-wrap;line-height:1.45}
@media(max-width:850px){
  .legacy-translation-toolbar{align-items:stretch;flex-direction:column}
  .legacy-translation-toolbar select{width:100%;min-width:0}
  .legacy-translation-grid{grid-template-columns:1fr}
}

.legacy-translation-availability{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:-4px 0 12px;color:#60758b;font-size:.76rem}
.legacy-translation-availability strong{color:#173862;margin-right:2px}
.legacy-translation-availability span{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef6f8;border:1px solid #d8e7eb;color:#294d68;font-weight:700}
.legacy-translation-answer-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.legacy-translation-answer-head span{font-size:.7rem;color:#60758b;font-weight:800}

/* Notes internes admin : clients et campagnes */
.admin-internal-comments{grid-column:1/-1;margin-top:14px;border:1px solid #e5e7eb;border-radius:14px;background:#fbfcfe;overflow:visible}
.admin-internal-comments>summary{display:flex;align-items:center;gap:9px;cursor:pointer;padding:12px 14px;font-weight:700;list-style:none}
.admin-internal-comments>summary::-webkit-details-marker{display:none}
.admin-internal-comments>summary strong{min-width:24px;height:24px;padding:0 7px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#eef2ff;font-size:12px}
.admin-internal-comments>summary small{margin-left:auto;color:#6b7280;font-weight:500}
.admin-internal-comments[open]>summary{border-bottom:1px solid #e5e7eb}
.admin-internal-comments-body{padding:14px;display:grid;gap:14px}
.admin-comment-list{display:grid;gap:9px}
.admin-comment-item{padding:10px 12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.admin-comment-item>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.admin-comment-item strong{font-size:13px}
.admin-comment-item time{font-size:11px;color:#6b7280}
.admin-comment-item p{margin:7px 0 0;white-space:normal;overflow-wrap:anywhere;font-size:13px;line-height:1.45}
.admin-comment-mentions{display:block;margin-top:7px;color:#4f46e5;font-weight:600}
.admin-comment-empty{margin:0;color:#6b7280;font-size:13px}
.admin-comment-compose{position:relative;display:grid;gap:8px}
.admin-comment-compose label{display:grid;gap:6px;font-size:12px;font-weight:700}
.admin-comment-compose textarea{width:100%;min-height:82px;resize:vertical;border:1px solid #d1d5db;border-radius:10px;padding:10px 11px;background:#fff;font:inherit;line-height:1.4}
.admin-comment-compose textarea:focus{outline:2px solid rgba(79,70,229,.18);border-color:#818cf8}
.admin-comment-compose-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.admin-comment-compose-footer small{color:#6b7280;line-height:1.35}
.admin-mention-picker{position:absolute;left:0;right:0;bottom:50px;z-index:20;max-height:230px;overflow:auto;border:1px solid #d1d5db;border-radius:12px;background:#fff;box-shadow:0 14px 35px rgba(15,23,42,.14);padding:6px}
.admin-mention-picker button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:transparent;border-radius:8px;padding:9px 10px;text-align:left;cursor:pointer}
.admin-mention-picker button:hover{background:#f3f4f6}
.admin-mention-picker button strong{font-size:13px}
.admin-mention-picker button small{color:#6b7280;font-size:11px}
.admin-campaign-card .admin-internal-comments{margin-top:4px}
@media (max-width:760px){.admin-internal-comments>summary{flex-wrap:wrap}.admin-internal-comments>summary small{width:100%;margin-left:33px}.admin-comment-compose-footer{align-items:flex-start;flex-direction:column}.admin-comment-compose-footer .button{width:100%}}
.admin-comment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.admin-comment-head>div:first-child{display:flex;align-items:center;gap:10px;min-width:0}
.admin-comment-actions{display:flex;gap:6px;flex:0 0 auto}
.admin-comment-actions button{border:0;background:transparent;padding:2px 4px;font-size:11px;font-weight:700;color:#4f46e5;cursor:pointer}
.admin-comment-actions button.danger{color:#b91c1c}
.admin-comment-actions button:hover{text-decoration:underline}
.admin-comment-edit{position:relative;display:grid;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid #eef0f3}
.admin-comment-edit[hidden]{display:none!important}
.admin-comment-edit label{display:grid;gap:6px;font-size:12px;font-weight:700}
.admin-comment-edit textarea{width:100%;min-height:82px;resize:vertical;border:1px solid #d1d5db;border-radius:10px;padding:10px 11px;background:#fff;font:inherit;line-height:1.4}
.admin-comment-edit textarea:focus{outline:2px solid rgba(79,70,229,.18);border-color:#818cf8}
.admin-comment-edit-footer{display:flex;justify-content:flex-end;gap:8px}
@media (max-width:760px){.admin-comment-head{align-items:flex-start;flex-direction:column}.admin-comment-actions{width:100%;justify-content:flex-end}.admin-comment-edit-footer{flex-direction:column-reverse}.admin-comment-edit-footer .button{width:100%}}

/* Médiathèque client : ressource PDF/lien + association multi-campagnes */
.admin-client-media-upload{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.admin-client-media-upload .hint{margin:5px 0 0}
.admin-media-resource-type{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.admin-media-resource-type label{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #d6e4ea;border-radius:12px;background:#f8fbfc;cursor:pointer}
.admin-media-campaign-picker{display:grid;gap:8px;max-height:280px;overflow:auto;padding:8px;border:1px solid #d6e4ea;border-radius:12px;background:#f8fbfc}
.admin-media-campaign-choice{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid #e2edf1;cursor:pointer}
.admin-media-campaign-choice input{margin-top:3px;flex:0 0 auto}
.admin-media-campaign-choice span{display:grid;gap:2px;min-width:0}
.admin-media-campaign-choice strong{font-size:.92rem;line-height:1.3}
.admin-media-campaign-choice small{color:#667a86;font-size:.78rem}
.admin-media-campaign-choice.is-already-linked{background:#eef7f5;opacity:.78;cursor:default}
@media(max-width:900px){.admin-client-media-upload{grid-template-columns:1fr}.admin-client-media-upload .button{justify-self:start}}

/* Pays / périmètres sur les cartes campagne admin */
.campaign-country-meta{
  display:flex;
  align-items:flex-start;
  gap:.45rem;
  flex-wrap:wrap;
}
.campaign-country-meta>span{
  flex:0 0 auto;
}
.campaign-country-tags{
  display:flex;
  align-items:center;
  gap:.35rem;
  flex-wrap:wrap;
  min-width:0;
}
.campaign-country-tag{
  display:inline-flex;
  align-items:center;
  padding:.28rem .58rem;
  border:1px solid rgba(0,91,126,.18);
  border-radius:999px;
  background:#f2f8fa;
  color:#17405c;
  font-weight:700;
  font-size:.78rem;
  line-height:1.15;
}
.campaign-country-more{
  display:inline-flex;
  align-items:flex-start;
  position:relative;
}
.campaign-country-more>summary{
  list-style:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:.22rem;
  padding:.28rem .58rem;
  border:1px solid rgba(0,91,126,.22);
  border-radius:999px;
  background:#fff;
  color:#006d7b;
  font-weight:800;
  font-size:.78rem;
  line-height:1.15;
  user-select:none;
}
.campaign-country-more>summary::-webkit-details-marker{display:none}
.campaign-country-arrow{
  display:inline-block;
  transition:transform .18s ease;
  font-size:.9em;
}
.campaign-country-more[open] .campaign-country-arrow{
  transform:rotate(180deg);
}
.campaign-country-extra{
  width:100%;
  margin-top:.35rem;
  display:flex;
  gap:.35rem;
  flex-wrap:wrap;
}
.campaign-country-more[open]{
  display:flex;
  flex-wrap:wrap;
  flex-basis:100%;
}

/* Cartes campagne admin : menus compacts Périmètres / Langues */
.campaign-meta-menu{
  margin:.55rem 0 .25rem;
}
.campaign-meta-menu-title{
  font-size:.78rem;
  font-weight:800;
  color:#607083;
  text-transform:uppercase;
  letter-spacing:.035em;
  margin-bottom:.38rem;
}
.campaign-meta-tags{
  display:flex;
  gap:.38rem;
  flex-wrap:wrap;
  align-items:center;
}
.campaign-meta-tag{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:.3rem .62rem;
  border:1px solid rgba(0,91,126,.2);
  border-radius:999px;
  background:#f3f9fb;
  color:#17405c;
  font-size:.78rem;
  font-weight:750;
  line-height:1.1;
}
.campaign-meta-more{
  display:inline-flex;
  align-items:flex-start;
  position:relative;
}
.campaign-meta-more>summary{
  list-style:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:.2rem;
  min-height:28px;
  padding:.3rem .62rem;
  border:1px solid rgba(0,91,126,.22);
  border-radius:999px;
  background:#fff;
  color:#007483;
  font-size:.78rem;
  font-weight:850;
  line-height:1.1;
  user-select:none;
}
.campaign-meta-more>summary::-webkit-details-marker{display:none}
.campaign-meta-arrow{
  display:inline-block;
  transition:transform .18s ease;
  font-size:.95em;
}
.campaign-meta-more[open] .campaign-meta-arrow{
  transform:rotate(180deg);
}
.campaign-meta-more[open]{
  display:flex;
  flex-basis:100%;
  flex-wrap:wrap;
}
.campaign-meta-extra{
  display:flex;
  flex-wrap:wrap;
  gap:.38rem;
  width:100%;
  margin-top:.4rem;
}


/* Correction manuelle du périmètre d'une campagne historique mono-pays */
.legacy-scope-management{margin:1rem 0;padding:1rem;border:1px solid #cfe2e8;border-radius:16px;background:#f7fbfc}
.legacy-scope-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}
.legacy-scope-head p{margin:.2rem 0 0;color:#5b6e7f;font-size:.9rem}
.legacy-locale-choices{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.45rem}
.legacy-locale-choice{position:relative;display:inline-flex;align-items:center;padding:.3rem .42rem;border:1px solid #c9dde5;border-radius:999px;background:#fff;font-weight:700;font-size:.84rem;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,color .16s ease}
.legacy-locale-choice:hover{border-color:#9fc3cf;background:#fcfefe}
.legacy-locale-choice input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.legacy-locale-choice span{display:inline-flex;align-items:center;gap:.45rem;line-height:1.2}
.legacy-locale-choice span::before{content:"";flex:0 0 10px;width:10px;height:10px;border-radius:999px;border:1px solid #acc6d0;background:#fff;box-sizing:border-box;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}
.legacy-locale-choice input:checked + span::before{background:#0b7f8d;border-color:#0b7f8d;box-shadow:0 0 0 3px rgba(11,127,141,.12)}
.legacy-locale-choice input:checked + span{color:#0d4c72}
.legacy-locale-choice:has(input:checked){border-color:#8ab8c3;background:#eef8fa}

/* 2026-09-21 — audit des imports internationaux dans le cockpit clients */
.admin-client-direct-access{display:flex;align-items:center;gap:14px;margin:14px 0 10px;padding:12px 14px;border:1px solid #dce8f0;border-radius:14px;background:#f7fbfd}.admin-client-direct-access label{display:grid;gap:1px;min-width:180px;color:#163f64}.admin-client-direct-access label span{font-size:.76rem;color:#718596;font-weight:500}.admin-client-direct-access select{min-width:300px;max-width:520px;background:#fff}.admin-multilingual-audit{margin:0 16px 12px 70px;padding:11px 12px;border:1px solid #cfe2ee;border-radius:12px;background:#f5fbff}.admin-multilingual-audit-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px;color:#164f78}.admin-multilingual-audit-head span{font-size:.72rem;font-weight:700;padding:3px 7px;border-radius:999px;background:#e2f1fa}.admin-multilingual-audit-row{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(320px,2fr);gap:12px;align-items:center;padding:8px 0;border-top:1px solid #dfeef6}.admin-multilingual-audit-row:first-of-type{border-top:0}.admin-multilingual-audit-row>div:first-child{display:grid;gap:2px}.admin-multilingual-audit-row>div:first-child strong{color:#173f64;font-size:.86rem}.admin-multilingual-audit-row small{color:#7b8d9b;font-size:.7rem}.admin-language-pills{display:flex;flex-wrap:wrap;gap:6px}.admin-language-pills span{padding:4px 7px;border-radius:999px;background:#fff;border:1px solid #cfe0ea;color:#31556e;font-size:.71rem;font-weight:650}.admin-cockpit-tools #org-language-filter{min-width:205px}@media(max-width:900px){.admin-client-direct-access{align-items:stretch;flex-direction:column}.admin-client-direct-access select{min-width:0;max-width:none;width:100%}.admin-multilingual-audit{margin-left:16px}.admin-multilingual-audit-row{grid-template-columns:1fr}}

/* Cockpit admin — chargement propre + filtre périmètres */
.admin-loading-screen{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:rgba(248,249,252,.96);backdrop-filter:blur(2px)}
.admin-loading-screen[hidden]{display:none}
.admin-loading-card{display:flex;min-width:min(420px,calc(100vw - 40px));padding:28px 32px;border:1px solid #e5e7eb;border-radius:18px;background:#fff;box-shadow:0 18px 55px rgba(17,24,39,.12);align-items:center;justify-content:center;flex-direction:column;gap:8px;text-align:center}
.admin-loading-card strong{font-size:1rem;color:#1f2937}.admin-loading-card small{color:#6b7280}.admin-loading-spinner{width:30px;height:30px;border:3px solid #e5e7eb;border-top-color:#111827;border-radius:50%;animation:admin-loading-spin .75s linear infinite;margin-bottom:5px}
@keyframes admin-loading-spin{to{transform:rotate(360deg)}}
body.admin-is-loading .admin-cockpit-page{visibility:hidden}
.admin-audit-scope-label{display:block;margin-top:4px;color:#5f6b7a}


/* Classement rapide des clients */
.admin-client-select{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;cursor:pointer;margin-right:2px}.admin-client-select input{width:18px;height:18px;accent-color:#078b93;cursor:pointer}.admin-client-folder-inline{display:inline-flex;align-items:center;width:max-content;margin-top:5px;padding:4px 8px;border-radius:999px;font-size:.76rem;font-weight:800;background:#edf3fa;color:#294b75}.admin-client-folder-inline.is-unclassified{background:#f5f6f8;color:#75839a}.admin-client-bulk-bar{position:sticky;top:10px;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:12px 0 14px;padding:12px 14px;border:1px solid #b9dde0;border-radius:14px;background:#f2fbfb;box-shadow:0 8px 24px rgba(20,54,75,.10)}.admin-client-bulk-bar[hidden]{display:none}.admin-client-bulk-bar>div,.admin-client-bulk-bar label{display:flex;align-items:center;gap:10px}.admin-client-bulk-bar label{font-weight:800;color:#193b61}.admin-client-bulk-bar select{min-width:210px;height:38px;border:1px solid #c8d7e7;border-radius:9px;background:#fff;padding:0 10px;color:#173457}.admin-client-compact-main{align-items:flex-start}@media(max-width:900px){.admin-client-bulk-bar{align-items:stretch;flex-direction:column}.admin-client-bulk-bar>div,.admin-client-bulk-bar label{align-items:stretch;flex-direction:column}.admin-client-bulk-bar select,.admin-client-bulk-bar .button{width:100%}}

/* 2026-09-21 — filtre multi-sélection par nombre de langues */
.admin-multicheck-filter{position:relative;min-width:205px;border:1px solid #cbdce8;border-radius:12px;background:#fff;color:#173f64}.admin-multicheck-filter>summary{list-style:none;cursor:pointer;min-height:44px;padding:10px 38px 10px 14px;display:flex;align-items:center;position:relative}.admin-multicheck-filter>summary::-webkit-details-marker{display:none}.admin-multicheck-filter>summary:after{content:'⌄';position:absolute;right:14px;top:50%;transform:translateY(-54%);font-size:1.05rem;color:#31556e}.admin-multicheck-filter[open]>summary:after{content:'⌃'}.admin-multicheck-panel{position:absolute;z-index:60;top:calc(100% + 6px);left:0;min-width:260px;max-height:340px;overflow:auto;padding:10px;background:#fff;border:1px solid #cbdce8;border-radius:12px;box-shadow:0 14px 35px rgba(24,63,100,.16)}.admin-multicheck-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 4px 8px;border-bottom:1px solid #e5edf3}.admin-multicheck-head button{border:0;background:transparent;color:#0b7784;font-weight:700;cursor:pointer;font-size:.76rem}.admin-multicheck-options{display:grid;padding-top:6px}.admin-multicheck-options label{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:8px 6px;border-radius:8px;cursor:pointer}.admin-multicheck-options label:hover{background:#f4f9fc}.admin-multicheck-options input{width:16px;height:16px;margin:0;accent-color:#0b8c95}.admin-multicheck-options span{font-weight:650}.admin-multicheck-options small{color:#75899a}.admin-multicheck-empty{padding:10px 6px;color:#75899a;font-size:.82rem}@media(max-width:900px){.admin-multicheck-filter{width:100%}.admin-multicheck-panel{position:static;min-width:0;max-height:none;box-shadow:none;border:0;border-top:1px solid #e5edf3;border-radius:0 0 12px 12px}}


/* Patch 2026-09-21 — filtre nombre de langues : présentation améliorée */
.admin-multicheck-filter{min-width:230px}
.admin-multicheck-filter>summary{font-weight:600}
.admin-multicheck-panel{min-width:340px;padding:12px 12px 10px}
.admin-multicheck-head{padding:2px 2px 10px}
.admin-multicheck-head strong{font-size:1.02rem;color:#173f64}
.admin-multicheck-head button{font-size:.82rem}
.admin-multicheck-options{display:flex;flex-direction:column;gap:8px;padding-top:10px}
.admin-multicheck-option-card{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid #d9e6ef;border-radius:14px;background:#fff;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.admin-multicheck-option-card:hover{background:#f7fbfd;border-color:#bfd7e6}
.admin-multicheck-option-card.is-selected{background:#edf8fa;border-color:#7bc2c8;box-shadow:0 0 0 2px rgba(11,140,149,.08)}
.admin-multicheck-option-card input{width:16px;height:16px;margin:0;accent-color:#0b8c95}
.admin-multicheck-option-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.admin-multicheck-option-copy strong{font-size:.98rem;line-height:1.2;color:#173f64;font-weight:700}
.admin-multicheck-option-copy small{font-size:.82rem;line-height:1.2;color:#6d8295}
.admin-multicheck-option-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:28px;padding:0 10px;border-radius:999px;background:#eef4f8;color:#31556e;font-size:.82rem;font-weight:700;white-space:nowrap}
.admin-multicheck-option-card.is-selected .admin-multicheck-option-badge{background:#d8eff1;color:#0b6d75}
.admin-multicheck-empty{padding:14px 8px;color:#75899a;font-size:.86rem}
@media(max-width:900px){.admin-multicheck-panel{min-width:0;padding:10px 0 0}.admin-multicheck-option-card{padding:11px 10px}}

/* === Calendrier & tâches Studio — 2026-09-21 === */
.calendar-page{padding-bottom:72px}.calendar-topbar{align-items:flex-start}.calendar-tabs{display:flex;gap:26px;border-bottom:1px solid #dfe9f0;margin:2px 0 22px}.calendar-tabs button{border:0;background:none;padding:0 2px 13px;font:inherit;font-weight:700;color:#60788c;cursor:pointer;border-bottom:3px solid transparent}.calendar-tabs button.is-active{color:#123f61;border-bottom-color:#0b8c95}.calendar-tab-count{display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;margin-left:5px;padding:0 6px;border-radius:999px;background:#edf5f8;color:#31556e;font-size:.76rem}.calendar-panel{display:none}.calendar-panel.is-active{display:block}.calendar-commandbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.calendar-period-controls{display:flex;align-items:center;gap:8px}.calendar-period-controls h2{margin:0 0 0 10px;font-size:1.28rem;color:#123f61;text-transform:none}.calendar-view-switch{display:inline-flex;padding:4px;border:1px solid #d2e0e9;border-radius:12px;background:#f7fafc}.calendar-view-switch button,.calendar-task-filters button{border:0;background:transparent;padding:8px 14px;border-radius:9px;color:#526f84;font-weight:700;cursor:pointer}.calendar-view-switch button.is-active,.calendar-task-filters button.is-active{background:#fff;color:#0b7784;box-shadow:0 1px 4px rgba(18,63,97,.12)}.calendar-filterbar{display:grid;grid-template-columns:minmax(170px,220px) minmax(170px,220px) auto minmax(240px,1fr);gap:10px;align-items:center;margin-bottom:16px}.calendar-filterbar select,.calendar-filterbar input[type=search]{min-height:44px;border:1px solid #cbdce8;border-radius:12px;background:#fff;padding:9px 13px;color:#173f64;font:inherit}.calendar-toggle{min-height:44px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #cbdce8;border-radius:12px;background:#fff;color:#31556e;font-weight:650;white-space:nowrap}.calendar-toggle input{accent-color:#0b8c95}.calendar-data-quality{display:flex;align-items:flex-start;gap:11px;margin:0 0 16px;padding:12px 14px;border:1px solid #f0d49a;border-radius:12px;background:#fff9ea;color:#74520b}.calendar-data-quality>span{font-size:1.15rem}.calendar-data-quality div{display:flex;flex-direction:column;gap:2px}.calendar-data-quality small{color:#866b32}.calendar-loading{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#526f84}.studio-month-calendar{border:1px solid #d6e3ec;border-radius:16px;overflow:hidden;background:#fff}.studio-month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#f5f9fb;border-bottom:1px solid #d6e3ec}.studio-month-weekdays span{padding:10px 12px;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#688093;text-align:center}.studio-month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.studio-calendar-day{min-width:0;min-height:150px;padding:8px;border-right:1px solid #e2ebf1;border-bottom:1px solid #e2ebf1;background:#fff}.studio-calendar-day:nth-child(7n){border-right:0}.studio-calendar-day.is-outside{background:#fafcfd}.studio-calendar-day>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.studio-calendar-day>header>span{display:flex;width:27px;height:27px;align-items:center;justify-content:center;border-radius:50%;font-size:.82rem;font-weight:700;color:#415f74}.studio-calendar-day.is-today>header>span{background:#0b8c95;color:#fff}.studio-calendar-day>header b{font-size:.64rem;color:#0b8c95}.studio-calendar-day.is-outside>header>span{color:#a0afba}.studio-calendar-day-events{display:flex;flex-direction:column;gap:5px}.studio-calendar-event{width:100%;min-width:0;border:0;border-radius:8px;padding:6px 7px;display:grid;grid-template-columns:7px minmax(0,1fr);gap:7px;align-items:start;text-align:left;text-decoration:none;background:#f3f8fb;color:#173f64;cursor:pointer}.studio-calendar-event>span{width:7px;height:7px;margin-top:4px;border-radius:50%;background:#0b8c95}.studio-calendar-event.is-task{background:#fff8e8}.studio-calendar-event.is-task>span{background:#d89a17}.studio-calendar-event.is-task.is-high{background:#fff0ed}.studio-calendar-event.is-task.is-high>span{background:#d95642}.studio-calendar-event div{min-width:0}.studio-calendar-event strong,.studio-calendar-event small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-calendar-event strong{font-size:.72rem;line-height:1.25}.studio-calendar-event small{margin-top:1px;font-size:.63rem;color:#6c8191}.studio-calendar-more{padding:3px 5px;font-size:.68rem;font-weight:700;color:#60788c}.studio-year-calendar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.studio-year-month{border:1px solid #d5e3eb;border-radius:15px;background:#fff;padding:17px;text-align:left;cursor:pointer;color:#173f64;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.studio-year-month:hover{transform:translateY(-1px);border-color:#99c7cd;box-shadow:0 8px 24px rgba(18,63,97,.08)}.studio-year-month>strong{display:block;font-size:1.05rem;text-transform:capitalize}.studio-year-active{display:block;margin:6px 0 13px;color:#0b7784;font-weight:700}.studio-year-month>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.studio-year-month small{display:flex;flex-direction:column;color:#708496}.studio-year-month small b{font-size:1.05rem;color:#173f64}.calendar-task-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.calendar-task-head h2{margin:0 0 4px;color:#123f61}.calendar-task-head p{margin:0;color:#6c8191}.calendar-task-filters{display:flex;gap:4px;padding:4px;border:1px solid #d2e0e9;border-radius:12px;background:#f7fafc}.studio-task-list{display:flex;flex-direction:column;gap:10px}.studio-task-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:13px;align-items:flex-start;padding:14px 16px;border:1px solid #d7e4ec;border-radius:14px;background:#fff}.studio-task-row.is-overdue{border-color:#f0b8ad}.studio-task-row.is-done{opacity:.7}.studio-task-check{width:24px;height:24px;border-radius:7px;border:1px solid #9fb6c6;background:#fff;color:#fff;font-weight:800;cursor:pointer}.studio-task-row.is-done .studio-task-check{background:#0b8c95;border-color:#0b8c95}.studio-task-copy>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.studio-task-copy strong{color:#173f64}.studio-task-row.is-done .studio-task-copy strong{text-decoration:line-through}.studio-task-copy p{margin:4px 0 7px;color:#60788c;font-size:.88rem}.studio-task-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:.75rem;color:#718596}.studio-task-meta .is-danger{color:#b34837;font-weight:700}.studio-task-priority{padding:3px 7px;border-radius:999px;background:#fff0ed;color:#b34837;font-size:.68rem;font-weight:800}.studio-task-row.is-focused{box-shadow:0 0 0 3px rgba(11,140,149,.14);border-color:#6bb7bd}.calendar-empty{padding:42px 20px;border:1px dashed #cbdce8;border-radius:14px;text-align:center;color:#6c8191}.calendar-empty strong,.calendar-empty span{display:block}.calendar-empty strong{margin-bottom:5px;color:#173f64}.calendar-task-dialog{max-width:660px}.calendar-task-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.calendar-task-dialog .field{margin-top:13px}.calendar-task-dialog-actions{margin-top:20px}.calendar-task-dialog textarea{resize:vertical}
@media(max-width:1100px){.calendar-filterbar{grid-template-columns:1fr 1fr}.studio-year-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-calendar-day{min-height:135px}}
@media(max-width:760px){.calendar-commandbar,.calendar-task-head{flex-direction:column;align-items:stretch}.calendar-period-controls{flex-wrap:wrap}.calendar-period-controls h2{width:100%;margin:8px 0 0}.calendar-filterbar{grid-template-columns:1fr}.studio-month-calendar{overflow-x:auto}.studio-month-weekdays,.studio-month-grid{min-width:840px}.studio-year-calendar{grid-template-columns:1fr}.calendar-task-filters{overflow-x:auto}.studio-task-row{grid-template-columns:28px minmax(0,1fr)}.studio-task-row>.button{grid-column:2;justify-self:start}.calendar-task-form-grid{grid-template-columns:1fr}}

/* Filtre langues compact — évite tout débordement horizontal */
.admin-multicheck-panel{width:300px;min-width:300px;max-width:min(300px,calc(100vw - 32px));overflow-x:hidden;overflow-y:auto}
.admin-multicheck-options{display:block;padding-top:6px}
.admin-multicheck-options .admin-multicheck-simple{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 8px;border:0;border-bottom:1px solid #edf2f5;border-radius:0;background:transparent;box-shadow:none}
.admin-multicheck-options .admin-multicheck-simple:last-child{border-bottom:0}
.admin-multicheck-options .admin-multicheck-simple:hover{background:#f5fafb}
.admin-multicheck-options .admin-multicheck-simple.is-selected{background:#edf8fa}
.admin-multicheck-options .admin-multicheck-simple span{font-weight:700;white-space:nowrap;color:#173f64}
.admin-multicheck-options .admin-multicheck-simple small{white-space:nowrap;color:#6f8495;font-size:.78rem}


/* Cockpit DEI */
.dei-cockpit-page{padding-bottom:64px;background:linear-gradient(180deg,#f8fbfd 0,#fff 34%)}
.dei-cockpit-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(440px,.95fr);gap:48px;align-items:center;padding:54px 0 64px}
.dei-cockpit-hero-copy h1{margin:4px 0 10px;font-size:clamp(2.8rem,5vw,5rem);line-height:.98;letter-spacing:-.055em;color:#173f64}
.dei-cockpit-subtitle{max-width:720px;margin:0 0 18px;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.23;font-weight:700;color:#0b7784}
.dei-cockpit-intro{max-width:760px;margin:0;color:#536f83;font-size:1.05rem;line-height:1.75}
.dei-launch-badge{display:inline-flex;align-items:center;gap:9px;margin-bottom:20px;padding:8px 13px;border:1px solid #b9dfe2;border-radius:999px;background:#edf9fa;color:#0b7784;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
.dei-launch-badge span{width:8px;height:8px;border-radius:50%;background:#0b8c95;box-shadow:0 0 0 5px rgba(11,140,149,.11)}
.dei-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.dei-cockpit-hero-panel{border:1px solid #dbe8ef;border-radius:24px;background:#fff;box-shadow:0 24px 60px rgba(25,68,99,.12);overflow:hidden}
.dei-preview-toolbar{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #e6eef3;background:#fbfdfe}
.dei-preview-toolbar div{display:flex;flex-direction:column;gap:2px}.dei-preview-toolbar small{font-size:.68rem;font-weight:800;letter-spacing:.08em;color:#8497a7}.dei-preview-toolbar strong{color:#173f64;font-size:1.05rem}.dei-preview-toolbar>span{padding:6px 10px;border-radius:999px;background:#eef5f8;color:#536f83;font-size:.75rem;font-weight:700}
.dei-preview-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px 18px}.dei-preview-kpis article{padding:14px;border:1px solid #e6eef3;border-radius:14px;background:#fff}.dei-preview-kpis span,.dei-preview-kpis small{display:block}.dei-preview-kpis span{font-size:.7rem;color:#6f8494}.dei-preview-kpis strong{display:block;margin:4px 0 2px;font-size:1.45rem;color:#173f64}.dei-preview-kpis small{font-size:.68rem;color:#8497a7}
.dei-preview-timeline{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:8px 18px 18px}.dei-preview-month{min-height:126px;padding:10px 7px;border:1px solid #e5edf2;border-radius:12px;background:#fafcfd}.dei-preview-month>strong{display:block;margin-bottom:10px;font-size:.66rem;letter-spacing:.07em;color:#7e91a1}.dei-preview-month>span{display:block;margin-bottom:6px;padding:5px 6px;border-radius:7px;font-size:.59rem;font-weight:700;line-height:1.15}.dei-preview-month .is-diagnostic{background:#e3f2f4;color:#0b6d75}.dei-preview-month .is-training{background:#e9eefb;color:#465f9b}.dei-preview-month .is-event{background:#f8e9f1;color:#9a4f72}.dei-preview-month .is-learning{background:#f3eee0;color:#8c6d22}.dei-preview-month .is-conference{background:#e8f3e9;color:#4d7e56}
.dei-preview-footer{display:flex;flex-wrap:wrap;gap:12px 18px;padding:12px 18px 18px;color:#708494;font-size:.68rem}.dei-preview-footer span{display:flex;align-items:center;gap:6px}.dei-preview-footer i{display:block;width:8px;height:8px;border-radius:3px;background:#d9e4ea}.dei-preview-footer i.is-diagnostic{background:#6cb6bd}.dei-preview-footer i.is-training{background:#8193c2}.dei-preview-footer i.is-event{background:#c984a3}.dei-preview-footer i.is-learning{background:#b89e59}
.dei-cockpit-section{padding:72px 0;border-top:1px solid #edf2f5}.dei-section-heading{max-width:850px;margin:0 auto 36px;text-align:center}.dei-section-heading h2{margin:6px 0 12px;font-size:clamp(2rem,3.5vw,3rem);line-height:1.1;letter-spacing:-.035em;color:#173f64}.dei-section-heading>p:last-child{margin:0;color:#607b8d;font-size:1.02rem;line-height:1.65}.dei-section-heading-left{margin-left:0;text-align:left}
.dei-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.dei-feature-card{padding:26px 24px;border:1px solid #dfeaf0;border-radius:18px;background:#fff}.dei-feature-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:18px;border-radius:13px;background:#edf8fa;color:#0b7784;font-size:1.35rem;font-weight:800}.dei-feature-card h3{margin:0 0 9px;color:#173f64}.dei-feature-card p{margin:0;color:#627c8e;line-height:1.55;font-size:.92rem}
.dei-actions-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:54px;align-items:start}.dei-action-types{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.dei-action-types article{min-height:132px;padding:18px 14px;border:1px solid #e0eaf0;border-radius:16px;background:#fff}.dei-action-types article>span{display:block;margin-bottom:14px;font-size:1.45rem}.dei-action-types strong,.dei-action-types small{display:block}.dei-action-types strong{color:#173f64;font-size:.9rem}.dei-action-types small{margin-top:4px;color:#8495a3;font-size:.73rem}
.dei-gamification-section{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;padding-left:36px;padding-right:36px;border:1px solid #d9e8ef;border-radius:24px;background:linear-gradient(135deg,#f5fbfc,#f8fafc)}.dei-coming-chip{display:inline-flex;padding:6px 10px;margin-bottom:14px;border-radius:999px;background:#173f64;color:#fff;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.dei-gamification-copy h2{margin:6px 0 14px;font-size:2.2rem;line-height:1.13;color:#173f64}.dei-gamification-copy p{color:#5f798b;line-height:1.65}.dei-gamification-note{padding:14px 16px;border-left:3px solid #0b8c95;background:rgba(255,255,255,.66);border-radius:0 10px 10px 0;font-size:.89rem}.dei-progress-card{padding:24px;border:1px solid #dce8ee;border-radius:18px;background:#fff;box-shadow:0 14px 35px rgba(31,78,107,.08)}.dei-progress-head{display:flex;align-items:flex-end;justify-content:space-between}.dei-progress-head div{display:flex;flex-direction:column}.dei-progress-head small{font-size:.66rem;font-weight:800;letter-spacing:.08em;color:#8a9ba8}.dei-progress-head strong{margin-top:3px;color:#173f64;font-size:1.1rem}.dei-progress-head>span{font-size:1.8rem;font-weight:800;color:#0b7784}.dei-progress-bar{height:10px;margin:18px 0 22px;border-radius:999px;background:#e8f0f3;overflow:hidden}.dei-progress-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0b8c95,#4caab2)}.dei-progress-lines{display:grid;gap:12px}.dei-progress-lines div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:10px;border-bottom:1px solid #edf2f5}.dei-progress-lines div:last-child{border-bottom:0;padding-bottom:0}.dei-progress-lines span{color:#667e8e;font-size:.84rem}.dei-progress-lines strong{color:#173f64;font-size:.84rem}
.dei-roadmap{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.dei-roadmap article{position:relative;padding:24px;border:1px solid #dde9ef;border-radius:18px;background:#fff}.dei-roadmap article:before{content:'';position:absolute;top:0;left:24px;right:24px;height:3px;border-radius:0 0 4px 4px;background:#d5e2e8}.dei-roadmap article.is-live:before{background:#0b8c95}.dei-roadmap article>span{display:inline-block;margin-bottom:13px;padding:5px 8px;border-radius:7px;background:#f0f5f7;color:#5e7788;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.dei-roadmap h3{margin:0 0 8px;color:#173f64}.dei-roadmap p{margin:0;color:#657e8f;line-height:1.55;font-size:.9rem}
.dei-final-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:18px;padding:34px 38px;border-radius:22px;background:#173f64;color:#fff}.dei-final-cta .eyebrow{color:#9fd6da}.dei-final-cta h2{margin:5px 0 8px;font-size:2rem;line-height:1.12}.dei-final-cta p:last-child{margin:0;color:#c6d5df}.dei-final-cta .button-primary{flex:0 0 auto;background:#fff;color:#173f64;border-color:#fff}.dei-final-cta .button-primary:hover{background:#f2f7f9}
@media(max-width:1180px){.dei-cockpit-hero{grid-template-columns:1fr}.dei-cockpit-hero-panel{max-width:760px}.dei-feature-grid{grid-template-columns:repeat(2,1fr)}.dei-actions-section{grid-template-columns:1fr}.dei-section-heading-left{max-width:760px}.dei-action-types{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.dei-cockpit-hero{padding-top:32px;gap:30px}.dei-cockpit-hero-copy h1{font-size:3rem}.dei-preview-kpis{grid-template-columns:1fr}.dei-preview-timeline{grid-template-columns:repeat(3,1fr)}.dei-feature-grid,.dei-action-types,.dei-roadmap,.dei-gamification-section{grid-template-columns:1fr}.dei-gamification-section{padding:30px 20px}.dei-final-cta{align-items:flex-start;flex-direction:column;padding:28px 22px}.dei-final-cta .button{width:100%}.dei-hero-actions .button{width:100%}.dei-cockpit-section{padding:52px 0}}


/* Patch calendrier lisible + Cockpit DEI */
.calendar-loading[hidden]{display:none!important}
.dei-final-cta h2{color:#fff!important}
.calendar-month-summary{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.calendar-month-summary:empty{display:none}
.calendar-month-chip{display:flex;align-items:center;gap:9px;min-width:0;max-width:100%;padding:8px 11px;border:1px solid #d8e6ee;border-radius:11px;background:#fff;color:#173f64;text-decoration:none}
.calendar-month-chip>i{width:8px;height:8px;border-radius:50%;background:#0b8c95;flex:0 0 auto}
.calendar-month-chip>span{display:flex;flex-direction:column;min-width:0}
.calendar-month-chip strong{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}
.calendar-month-chip small{color:#718596;font-size:.68rem}
.calendar-month-chip:hover{border-color:#9ac8cf;background:#f8fcfd}
.calendar-month-summary-more{display:inline-flex;align-items:center;padding:8px 11px;border-radius:11px;background:#eef5f8;color:#526f84;font-size:.75rem;font-weight:700}
.studio-calendar-event.is-campaign.is-end{background:#f3f5fb}.studio-calendar-event.is-campaign.is-end>span{background:#5b6ea6}
.studio-calendar-event.is-campaign.is-single{background:#eef8f6}.studio-calendar-event.is-campaign.is-single>span{background:#19836f}
@media(max-width:760px){.calendar-month-chip{width:100%}.calendar-month-chip strong{max-width:none}}

/* Calendrier — points info et séparation stricte admin/client des tâches */
#task-org-field[hidden],#task-visibility-field[hidden],#calendar-org-filter[hidden]{display:none!important}
.calendar-filter-control{display:flex;flex-direction:column;gap:5px;min-width:0}
.calendar-filter-control .calendar-filter-label{display:flex;align-items:center;gap:6px;padding-left:2px;color:#526f84;font-size:.76rem;font-weight:800}
.calendar-filter-control select{width:100%}
.calendar-task-dialog .field>span{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.calendar-task-dialog .admin-info-dot,.calendar-filter-control .admin-info-dot{width:18px;height:18px;font-size:.68rem}
.calendar-task-dialog .admin-info-dot[data-info]::after{left:0;transform:translate(0,6px);width:min(330px,72vw)}
.calendar-task-dialog .admin-info-dot[data-info]::before{left:9px;transform:translate(-50%,6px)}
.calendar-task-dialog .admin-info-dot[data-info]:hover::after,.calendar-task-dialog .admin-info-dot[data-info]:focus-visible::after{transform:translate(0,0)}
.calendar-task-dialog .admin-info-dot[data-info]:hover::before,.calendar-task-dialog .admin-info-dot[data-info]:focus-visible::before{transform:translate(-50%,0)}
@media(max-width:760px){.calendar-filter-control{width:100%}}

/* 2026-09-21 — Mes campagnes : pilotage inspiré du cockpit clients */
.campaign-pilot-kpis{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
  margin:20px 0 22px;
}
.campaign-pilot-kpi{
  position:relative;
  display:grid;
  grid-template-columns:42px 1fr;
  grid-template-rows:auto auto;
  column-gap:12px;
  align-items:center;
  min-height:104px;
  padding:16px 18px;
  border:1px solid #d9e6ee;
  border-radius:19px;
  background:#fff;
  color:#17355f;
  text-align:left;
  font:inherit;
  cursor:pointer;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}
.campaign-pilot-kpi:hover,.campaign-pilot-kpi:focus-visible{transform:translateY(-2px);box-shadow:0 12px 28px rgba(23,53,95,.08);outline:none}
.campaign-pilot-kpi.is-active{border-color:#0b8991;box-shadow:inset 0 0 0 1px rgba(11,137,145,.16)}
.campaign-pilot-kpi-icon{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.8);font-size:1.05rem}
.campaign-pilot-kpi strong{font-size:1.8rem;line-height:1;color:#12375d}
.campaign-pilot-kpi small{align-self:start;color:#4d6680;font-size:.78rem;font-weight:800}
.campaign-pilot-kpi.tone-all{background:#eef8f5;border-color:#d2ebe3}
.campaign-pilot-kpi.tone-draft{background:#fff6ed;border-color:#f1dfcc}
.campaign-pilot-kpi.tone-review{background:#eef8fa;border-color:#d3e9ed}
.campaign-pilot-kpi.tone-scheduled{background:#eef0fb;border-color:#d9ddf3}
.campaign-pilot-kpi.tone-active{background:#eef5ff;border-color:#d7e3f5}
.campaign-pilot-kpi.tone-finished{background:#f6f1fb;border-color:#e4d9f1}

.campaign-filter-panel{
  margin-bottom:18px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(248,251,253,.92);
  box-shadow:0 10px 25px rgba(23,53,95,.04);
}
.campaign-filter-fields{
  display:grid;
  grid-template-columns:minmax(230px,1.25fr) repeat(5,minmax(160px,1fr));
  gap:10px;
  align-items:end;
}
.campaign-filter-fields .campaign-search{min-width:0;max-width:none;height:52px;box-sizing:border-box}
.campaign-filter-fields .campaign-sort{min-width:0}
.campaign-filter-fields .campaign-sort select{width:100%;min-width:0}
.campaign-filter-group{margin-top:14px;padding-top:13px;border-top:1px solid #e2eaf0}
.campaign-filter-group-head{display:flex;align-items:center;gap:7px;margin:0 0 9px;color:#173f64}
.campaign-filter-group-head>strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.035em}
.campaign-info-wrap{position:relative;display:inline-flex}
.campaign-info-dot{display:grid;place-items:center;width:20px;height:20px;padding:0;border:1px solid #aac5d6;border-radius:50%;background:#fff;color:#27617f;font:800 .72rem Asap,sans-serif;cursor:help}
.campaign-info-popover{position:absolute;z-index:50;left:28px;top:-8px;width:290px;padding:11px 12px;border:1px solid #cfdee8;border-radius:12px;background:#fff;color:#4d6578;font-size:.78rem;font-weight:500;line-height:1.45;box-shadow:0 12px 30px rgba(24,61,91,.14);opacity:0;visibility:hidden;transform:translateY(4px);transition:.14s ease}
.campaign-info-popover strong{display:block;margin-bottom:3px;color:#173f64;font-size:.8rem}
.campaign-info-wrap:hover .campaign-info-popover,.campaign-info-wrap:focus-within .campaign-info-popover{opacity:1;visibility:visible;transform:none}
.campaign-signal-group .campaign-filter-tab{border-style:dashed}
.campaign-signal-tag{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:800}
.campaign-signal-tag.signal-starting{background:#edf6ff;color:#1d5f90}
.campaign-signal-tag.signal-ending{background:#fff1ea;color:#a34a28}
.campaign-signal-tag.signal-results{background:#edf9f2;color:#287052}

@media(max-width:1250px){
  .campaign-pilot-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .campaign-filter-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
  .campaign-filter-fields .campaign-search{grid-column:span 2}
}
@media(max-width:760px){
  .campaign-pilot-kpis{grid-template-columns:1fr 1fr;gap:9px}
  .campaign-pilot-kpi{min-height:86px;padding:13px}
  .campaign-pilot-kpi:first-child{grid-column:1/-1}
  .campaign-filter-fields{grid-template-columns:1fr}
  .campaign-filter-fields .campaign-search{grid-column:auto;width:100%}
  .campaign-filter-fields .campaign-sort,.campaign-filter-fields .campaign-sort select{width:100%}
  .campaign-info-popover{left:0;top:26px;width:min(290px,calc(100vw - 56px))}
}

/* Admin campaigns — pilotage filters */
.admin-campaign-pilot-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:14px 0 16px}.admin-campaign-pilot-kpi{display:flex;align-items:center;gap:12px;min-height:92px;padding:14px 16px;border:1px solid #d9e6ee;border-radius:18px;background:#fff;text-align:left;cursor:pointer;transition:.18s ease}.admin-campaign-pilot-kpi:hover,.admin-campaign-pilot-kpi:focus-visible{transform:translateY(-1px);box-shadow:0 10px 24px rgba(20,55,89,.08);outline:none}.admin-campaign-pilot-kpi.is-active{border-color:#0b8991;box-shadow:inset 0 0 0 1px rgba(11,137,145,.14)}.admin-campaign-pilot-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.82);font-size:1rem}.admin-campaign-pilot-kpi div{display:grid;gap:4px}.admin-campaign-pilot-kpi strong{font-size:1.55rem;line-height:1;color:#12375d}.admin-campaign-pilot-kpi span:last-child{font-size:.76rem;font-weight:800;color:#4a637d}.admin-campaign-pilot-kpi.tone-all{background:#eef8f5;border-color:#d2ebe3}.admin-campaign-pilot-kpi.tone-draft{background:#fff6ed;border-color:#f1dfcc}.admin-campaign-pilot-kpi.tone-review{background:#eef8fa;border-color:#d3e9ed}.admin-campaign-pilot-kpi.tone-live{background:#eef5ff;border-color:#d7e3f5}.admin-campaign-pilot-kpi.tone-finished{background:#f6f1fb;border-color:#e4d9f1}
.admin-campaign-filter-panel{margin-bottom:14px;padding:14px;border:1px solid #dbe7ef;border-radius:18px;background:#f8fbfd}.admin-campaign-filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.admin-campaign-filter-chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:7px 12px;border:1px solid #d2e0ea;border-radius:999px;background:#fff;color:#3e5670;font-weight:800;cursor:pointer}.admin-campaign-filter-chip strong{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#eef3f8;color:#405973;font-size:.75rem}.admin-campaign-filter-chip.is-active{border-color:#123f73;background:#123f73;color:#fff}.admin-campaign-filter-chip.is-active strong{background:rgba(255,255,255,.17);color:#fff}.admin-campaign-filter-grid{display:grid;grid-template-columns:1.5fr repeat(3,minmax(150px,1fr));gap:10px}.admin-campaign-filter-grid label{display:grid;gap:6px;color:#45617b;font-size:.72rem;font-weight:800}.admin-campaign-filter-grid input,.admin-campaign-filter-grid select{width:100%;min-height:42px;padding:9px 12px;border:1px solid #cfdeea;border-radius:12px;background:#fff;color:#173e63}.admin-campaign-search-field{grid-column:span 1}.admin-campaign-filter-help{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.admin-campaign-info{position:relative;display:inline-flex;align-items:center;gap:5px;color:#6b7f92;font-size:.72rem}.admin-campaign-info>button{display:grid;place-items:center;width:22px;height:22px;padding:0;border:1px solid #c8d9e5;border-radius:50%;background:#fff;color:#2b587a;font-weight:900;cursor:help}.admin-campaign-info>span{display:none;position:absolute;z-index:20;left:0;top:28px;width:290px;padding:10px 12px;border:1px solid #cfdfe9;border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(20,54,84,.14);color:#52697f;font-weight:500}.admin-campaign-info:hover>span,.admin-campaign-info:focus-within>span{display:block}.admin-campaign-info>span strong{display:block;margin-bottom:3px;color:#173e63}.admin-campaign-card-main{min-width:0}.admin-campaign-card-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.admin-campaign-signal{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:.7rem;font-weight:800}.admin-campaign-signal.is-ending{background:#fff0ed;color:#a44834}.admin-campaign-signal.is-results{background:#edf8f2;color:#26704d}.admin-campaign-meta-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.admin-campaign-meta-tags span,.admin-campaign-meta-tags button{display:inline-flex;align-items:center;padding:4px 7px;border:1px solid #d4e1ea;border-radius:999px;background:#f8fbfd;color:#4b6379;font:inherit;font-size:.68rem;font-weight:700;line-height:1.2}.admin-campaign-meta-tags span.is-country,.admin-campaign-meta-tags button.is-country{border-color:#c9dced;background:#f1f7fc;color:#245777}.admin-campaign-meta-tags span.is-language,.admin-campaign-meta-tags button.is-language{border-color:#bee2d9;background:#eef9f6;color:#216b5d}
@media(max-width:1150px){.admin-campaign-pilot-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-campaign-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.admin-campaign-pilot-kpis{grid-template-columns:1fr 1fr}.admin-campaign-pilot-kpi:first-child{grid-column:1/-1}.admin-campaign-filter-grid{grid-template-columns:1fr}.admin-campaign-filter-help{display:grid}}

/* Admin campagnes — entêtes de colonnes et tri direct */
.admin-campaign-list-header{
  display:grid;
  grid-template-columns:minmax(220px,1.2fr) minmax(520px,1fr) auto;
  gap:16px;
  align-items:end;
  padding:0 16px 2px;
  color:#60788f;
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.admin-campaign-list-header-meta{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  align-items:end;
}
.admin-campaign-list-header button{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:5px;
  min-height:28px;
  padding:3px 0;
  border:0;
  background:transparent;
  color:#49657e;
  font:inherit;
  text-transform:uppercase;
  cursor:pointer;
}
.admin-campaign-list-header button:hover,
.admin-campaign-list-header button:focus-visible{color:#0d4c72;text-decoration:underline}
.admin-campaign-list-header button b{font-size:.9rem;color:#0d6f79}
.admin-campaign-card{grid-template-columns:minmax(220px,1.2fr) minmax(520px,1fr) auto}
.admin-campaign-card dl{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){
  .admin-campaign-list-header{display:none}
  .admin-campaign-card{grid-template-columns:1fr}
  .admin-campaign-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){.admin-campaign-card dl{grid-template-columns:1fr}}

/* 2026-09-21 — corrections mise en page filtres campagnes client + colonnes admin */
.campaign-filter-fields{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px 14px;
  align-items:end;
}
.campaign-filter-fields>label{
  min-width:0;
}
.campaign-filter-fields .campaign-sort,
.campaign-filter-fields .campaign-filter-control{
  display:grid;
  gap:6px;
  width:100%;
  min-width:0;
}
.campaign-filter-fields .campaign-sort>span,
.campaign-filter-fields .campaign-filter-label{
  color:#47627b;
  font-size:.76rem;
  font-weight:800;
  line-height:1.1;
}
.campaign-filter-fields .campaign-sort select,
.campaign-filter-fields .campaign-search-input{
  width:100%;
  min-width:0;
  min-height:48px;
  box-sizing:border-box;
}
.campaign-filter-fields .campaign-sort select{
  padding:10px 40px 10px 14px;
  border:1px solid #cfdeea;
  border-radius:14px;
  background:#fff;
  color:#173e63;
}
.campaign-filter-fields .campaign-search-input{
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 14px;
  border:1px solid #cfdeea;
  border-radius:14px;
  background:#fff;
}
.campaign-filter-fields .campaign-search-input input{
  width:100%;
  min-width:0;
  height:46px;
  padding:0;
  border:0;
  outline:0;
  background:transparent;
  color:#173e63;
  font:inherit;
}
@media(max-width:1180px){
  .campaign-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .campaign-filter-fields{grid-template-columns:1fr}
}

.admin-campaign-list-header,
.admin-campaign-card{
  grid-template-columns:minmax(320px,2.25fr) minmax(120px,.72fr) minmax(130px,.82fr) minmax(120px,.72fr) minmax(120px,.72fr) minmax(210px,1.15fr);
  column-gap:14px;
}
.admin-campaign-list-header{
  align-items:center;
  padding:0 18px 6px;
}
.admin-campaign-list-header>span,
.admin-campaign-list-header>button{
  min-width:0;
  text-align:left;
}
.admin-campaign-list-header>button{
  white-space:normal;
  line-height:1.2;
}
.admin-campaign-card{
  align-items:center;
}
.admin-campaign-card-main{
  min-width:0;
}
.admin-campaign-cell{
  min-width:0;
  padding:8px 10px;
  border-radius:11px;
  background:#fff;
  color:#17355f;
  font-size:.75rem;
  line-height:1.35;
}
.admin-campaign-cell strong{
  font-size:.76rem;
  font-weight:800;
}
.admin-campaign-cell::before{
  display:none;
  content:attr(data-label);
  margin-bottom:3px;
  color:#718497;
  font-size:.62rem;
  font-weight:900;
  text-transform:uppercase;
}
.admin-campaign-access{
  display:flex;
  justify-content:flex-end;
  min-width:0;
}
.admin-campaign-access .button{
  width:100%;
  justify-content:center;
  text-align:center;
}
.admin-campaign-card>.admin-internal-comments{
  grid-column:1/-1;
  width:100%;
}
@media(max-width:1250px){
  .admin-campaign-list-header{display:none}
  .admin-campaign-card{
    grid-template-columns:minmax(260px,1.5fr) repeat(2,minmax(130px,.8fr));
  }
  .admin-campaign-cell::before{display:block}
  .admin-campaign-access{grid-column:2/4}
  .admin-campaign-access .button{width:auto}
}
@media(max-width:820px){
  .admin-campaign-card{grid-template-columns:1fr 1fr}
  .admin-campaign-card-main{grid-column:1/-1}
  .admin-campaign-access{grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:560px){
  .admin-campaign-card{grid-template-columns:1fr}
  .admin-campaign-card-main,.admin-campaign-access,.admin-campaign-card>.admin-internal-comments{grid-column:1}
}

/* Catalogue client — cartes compactes dépliables */
.topics-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:start;
}
.topic-card-accordion{
  overflow:hidden;
  min-height:0;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 26px rgba(13,76,114,.055);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.topic-card-accordion:hover{transform:translateY(-1px);border-color:#b8d6dc;box-shadow:0 12px 30px rgba(13,76,114,.08)}
.topic-card-accordion[open]{border-color:#9bcbd1;box-shadow:0 14px 34px rgba(13,76,114,.1)}
.topic-card-accordion>summary{list-style:none}
.topic-card-accordion>summary::-webkit-details-marker{display:none}
.topic-summary{display:grid;grid-template-columns:122px 1fr;gap:16px;align-items:center;min-height:132px;padding:14px;cursor:pointer}
.topic-thumb{display:grid;place-items:center;width:122px;height:104px;border-radius:15px;background:linear-gradient(145deg,var(--green-blue-soft),#fff);overflow:hidden}
.topic-card-accordion:nth-child(3n + 2) .topic-thumb{background:linear-gradient(145deg,var(--sunny-yellow-soft),#fff)}
.topic-card-accordion:nth-child(3n) .topic-thumb{background:linear-gradient(145deg,var(--royal-blue-soft),#fff)}
.topic-thumb img{width:100%;height:100%;padding:10px;object-fit:contain;box-sizing:border-box}
.topic-thumb.is-empty:after{content:'D&I';font-weight:900;color:var(--royal-blue);opacity:.35}
.topic-summary-copy{min-width:0}
.topic-summary-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.topic-summary h3{margin:0;color:var(--ink);font-size:1.02rem;line-height:1.25}
.topic-summary p{display:-webkit-box;overflow:hidden;margin:7px 0 10px;color:var(--muted);font-size:.86rem;line-height:1.42;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.topic-chevron{display:grid;place-items:center;flex:0 0 auto;width:27px;height:27px;border-radius:50%;background:var(--surface-soft);color:var(--royal-blue);font-size:1.05rem;font-weight:900;transition:transform .18s ease}
.topic-card-accordion[open] .topic-chevron{transform:rotate(180deg)}
.topic-summary-meta{display:flex;flex-wrap:wrap;gap:6px}
.topic-summary-meta span{padding:4px 8px;border-radius:999px;background:#f3f7f9;color:#567080;font-size:.7rem;font-weight:700}
.topic-expanded{padding:0 16px 16px;border-top:1px solid #edf2f4}
.topic-diagnostic-title{display:grid;gap:3px;margin:14px 0 10px;padding:10px 12px;border-radius:12px;background:#f7fafb;color:var(--muted);font-size:.78rem}
.topic-diagnostic-title span{text-transform:uppercase;letter-spacing:.04em;font-size:.66rem;font-weight:800}
.topic-diagnostic-title strong{color:var(--ink);font-size:.86rem;line-height:1.35}
.topic-expanded-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.topic-detail-block{display:grid;gap:7px;min-width:0}
.topic-detail-block>strong{color:var(--royal-blue);font-size:.74rem;text-transform:uppercase;letter-spacing:.035em}
.topic-chip-list{display:flex;flex-wrap:wrap;gap:6px}
.topic-chip{display:inline-flex;align-items:center;min-height:27px;padding:5px 8px;border:1px solid #cfe0e7;border-radius:999px;background:#f9fcfd;color:#244b66;font-size:.71rem;font-weight:700;line-height:1.1}
.topic-chip-more{background:#eef6f8;color:#0d4c72}
.topic-chip.is-muted{font-weight:500;color:var(--muted)}
.topic-card-accordion .topic-business-tags{margin:12px 0 4px}
.topic-card-accordion .topic-content-split{margin-top:12px}
.topic-expanded-actions{display:flex;justify-content:flex-end;margin-top:12px}
.topic-expanded-actions .button{min-width:190px;text-align:center}
.library-no-result{grid-column:1/-1;padding:24px}
.library-no-result h3{margin:0 0 6px;color:var(--royal-blue)}
.library-no-result p{margin:0;color:var(--muted)}

@media(max-width:980px){
  .topics-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .topic-summary{grid-template-columns:86px 1fr;gap:12px;min-height:112px;padding:12px}
  .topic-thumb{width:86px;height:86px}
  .topic-expanded-grid{grid-template-columns:1fr}
  .topic-expanded-actions .button{width:100%;min-width:0}
}

/* Calendrier — grands repères DEI */
.calendar-filterbar{grid-template-columns:minmax(190px,.8fr) minmax(190px,.8fr) auto minmax(240px,1.2fr)}
.studio-calendar-day.has-dei-event{position:relative;overflow:hidden}
.studio-calendar-day.has-dei-event::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.42}
.studio-calendar-day.has-dei-equality::before{background:#fff0f3}
.studio-calendar-day.has-dei-diversity::before{background:#edf8f4}
.studio-calendar-day.has-dei-discrimination::before{background:#f2ecff}
.studio-calendar-day.has-dei-lgbt::before{background:#fff7df}
.studio-calendar-day.has-dei-disability::before{background:#eaf8f7}
.studio-calendar-day.has-dei-human-rights::before{background:#edf4ff}
.studio-calendar-day>*{position:relative;z-index:1}
.studio-calendar-event.is-dei{cursor:default;border:1px solid transparent;font-weight:700}
.studio-calendar-event.is-dei-equality{background:#ffe1e8;border-color:#f3b7c6;color:#793047}
.studio-calendar-event.is-dei-equality>span{background:#d84f78}
.studio-calendar-event.is-dei-diversity{background:#e1f3ec;border-color:#b6ded0;color:#246857}
.studio-calendar-event.is-dei-diversity>span{background:#2e9b7b}
.studio-calendar-event.is-dei-discrimination{background:#eee5ff;border-color:#d5c2f6;color:#50377e}
.studio-calendar-event.is-dei-discrimination>span{background:#7650b3}
.studio-calendar-event.is-dei-lgbt{background:#fff0c7;border-color:#f0d37f;color:#735612}
.studio-calendar-event.is-dei-lgbt>span{background:#d69f16}
.studio-calendar-event.is-dei-disability{background:#dff4f1;border-color:#a8d9d4;color:#1e655f}
.studio-calendar-event.is-dei-disability>span{background:#168a80}
.studio-calendar-event.is-dei-human-rights{background:#e5efff;border-color:#bfd1ee;color:#365986}
.studio-calendar-event.is-dei-human-rights>span{background:#5277aa}
.studio-calendar-event.is-dei small{color:inherit;opacity:.8}
.studio-year-month.has-dei-events{box-shadow:inset 0 4px 0 #9cced1}
.studio-year-dei{color:#0b7784!important}
.studio-year-month>div{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.calendar-filterbar{grid-template-columns:1fr 1fr}.studio-year-month>div{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.calendar-filterbar{grid-template-columns:1fr}.studio-year-month>div{grid-template-columns:repeat(2,1fr)}}

/* Calendrier DEI v3 : vue annuelle par défaut + mois thématiques */
.studio-year-month.has-dei-month{position:relative;overflow:hidden}
.studio-year-highlights{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px}
.studio-year-highlight{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border-radius:999px;font-size:.68rem;font-weight:800;line-height:1.2}
.studio-year-highlight.is-diversity{background:#e8f7f4;color:#08766f;border:1px solid #bfe8e1}
.studio-year-highlight.is-lgbt{background:#f2eafb;color:#7650a7;border:1px solid #ddc9f2}
.studio-year-month.has-dei-month .studio-year-active{margin-top:8px}
@media(max-width:760px){.studio-year-highlights{margin-top:7px}.studio-year-highlight{font-size:.65rem}}


/* Calendrier DEI v4 : repères DEI rose + SEEPH bien visible */
.studio-calendar-day.has-dei-event::before{background:#ffe3ed!important;opacity:.78!important}
.studio-calendar-event.is-dei{background:#ffd9e6!important;border-color:#ef9eb7!important;color:#742a45!important}
.studio-calendar-event.is-dei>span{background:#d93f72!important}
.studio-calendar-event.is-dei small{color:#742a45!important;opacity:.86}
.studio-year-month.has-dei-events{background:#fff0f5!important;border-color:#efb4c8!important;box-shadow:inset 0 4px 0 #dc4d7d!important}
.studio-year-dei{color:#9b3158!important}
.studio-year-highlight,.studio-year-highlight.is-diversity,.studio-year-highlight.is-lgbt,.studio-year-highlight.is-disability{background:#ffd9e6!important;color:#742a45!important;border:1px solid #ef9eb7!important}


/* Calendrier DEI v4.1 : événements DEI très visibles + semaine SEEPH complète */
.studio-calendar-day.has-dei-event::before{background:#ffd6e5!important;opacity:.92!important}
.studio-calendar-event.is-dei{background:#ffc9dc!important;border:1px solid #e978a0!important;box-shadow:0 1px 0 rgba(173,45,91,.08)!important}
.studio-year-month.has-dei-events{background:#ffe8f0!important;border-color:#e997b4!important;box-shadow:inset 0 5px 0 #d94378!important}
.studio-year-highlight,.studio-year-highlight.is-diversity,.studio-year-highlight.is-lgbt,.studio-year-highlight.is-disability{background:#ffc9dc!important;border-color:#e978a0!important;color:#6f2440!important}

/* Événements DEI : nom explicite + recommandation vers le catalogue */
.studio-calendar-event.is-dei{background:#ffc9dc!important;border:1px solid #e978a0!important;color:#6f2440!important;text-decoration:none!important;align-items:flex-start!important}
.studio-calendar-event.is-dei:hover{background:#ffb9d1!important;border-color:#dc5f8c!important;box-shadow:0 3px 10px rgba(173,45,91,.14)!important;transform:translateY(-1px)}
.studio-calendar-event.is-dei strong{display:block;line-height:1.25}
.studio-calendar-event.is-dei small{display:block;margin-top:3px;color:#6f2440!important;font-weight:700;opacity:.9}


/* Calendrier DEI — correctif UX v8 : événements annuels lisibles et non ratatinés */
.studio-year-month.has-dei-events{
  background:#fff !important;
  border-color:#cfe0ea !important;
  box-shadow:inset 0 4px 0 #f0b6c8 !important;
}
.studio-year-month.has-dei-month{
  overflow:visible !important;
}
.studio-year-highlights{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:8px !important;
  margin:12px 0 14px !important;
}
.studio-year-highlight,
.studio-year-highlight.is-diversity,
.studio-year-highlight.is-lgbt,
.studio-year-highlight.is-disability,
.studio-year-highlight.is-equality,
.studio-year-highlight.is-discrimination,
.studio-year-highlight.is-human-rights{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  align-items:stretch !important;
  width:100% !important;
  min-height:58px !important;
  padding:0 !important;
  border-radius:14px !important;
  border:1px solid #e3d6de !important;
  background:#fff6f9 !important;
  color:#6f2440 !important;
  overflow:hidden !important;
}
.studio-year-highlight.is-diversity{background:#eef9f7 !important;border-color:#c6e8e1 !important;color:#15655d !important}
.studio-year-highlight.is-lgbt{background:#fbf3df !important;border-color:#ecd58a !important;color:#8a6516 !important}
.studio-year-highlight.is-disability{background:#eef5ff !important;border-color:#cadbf8 !important;color:#345f97 !important}
.studio-year-highlight.is-discrimination{background:#f2ebff !important;border-color:#d9c8fb !important;color:#674a99 !important}
.studio-year-highlight.is-human-rights{background:#fff4e8 !important;border-color:#f2cf9f !important;color:#9a5e18 !important}
.studio-year-highlight-date{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  min-width:82px;
  padding:10px 10px 8px;
  border-right:1px solid rgba(0,0,0,.07);
  font-size:.75rem;
  font-weight:800;
  line-height:1.2;
  text-transform:none;
  white-space:nowrap;
}
.studio-year-highlight-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:10px 12px;
  text-align:left;
}
.studio-year-highlight-copy strong{
  display:block;
  color:inherit;
  font-size:.8rem;
  line-height:1.25;
  font-weight:800;
  overflow-wrap:anywhere;
}
.studio-year-highlight-copy small{
  display:block;
  margin-top:3px;
  color:inherit;
  opacity:.9;
  font-size:.7rem;
  line-height:1.3;
}
.studio-year-month>div{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
}
.studio-year-month>div small{
  min-width:0;
}
@media(max-width:1100px){
  .studio-year-highlight-date{min-width:76px;font-size:.72rem}
  .studio-year-highlight-copy strong{font-size:.78rem}
}
@media(max-width:760px){
  .studio-year-highlight,
  .studio-year-highlight.is-diversity,
  .studio-year-highlight.is-lgbt,
  .studio-year-highlight.is-disability,
  .studio-year-highlight.is-equality,
  .studio-year-highlight.is-discrimination,
  .studio-year-highlight.is-human-rights{
    grid-template-columns:1fr !important;
  }
  .studio-year-highlight-date{
    min-width:0;
    padding:8px 12px 0;
    border-right:0;
    justify-content:flex-start;
  }
  .studio-year-highlight-copy{padding-top:4px}
}


/* Calendrier DEI v9 — popover applicatif pour les journées, sans tooltip navigateur */
.calendar-dei-popover{
  position:fixed;
  z-index:9999;
  width:min(390px,calc(100vw - 28px));
  padding:16px;
  border:1px solid #d9e4eb;
  border-radius:16px;
  background:#fff;
  color:#173f64;
  box-shadow:0 18px 46px rgba(20,55,82,.22);
  opacity:0;
  transform:translateY(4px) scale(.985);
  transition:opacity .14s ease,transform .14s ease;
}
.calendar-dei-popover[hidden]{display:none!important}
.calendar-dei-popover.is-visible{opacity:1;transform:none}
.calendar-dei-popover::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  border-radius:16px 0 0 16px;
  background:#dc4d7d;
}
.calendar-dei-popover.is-diversity::before{background:#0b8c95}
.calendar-dei-popover.is-lgbt::before{background:#d5a62d}
.calendar-dei-popover.is-disability::before{background:#4f78b8}
.calendar-dei-popover.is-discrimination::before{background:#8263b6}
.calendar-dei-popover.is-human-rights::before{background:#c77a28}
.calendar-dei-popover-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:7px}
.calendar-dei-popover-date{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f2f6f8;color:#526f84;font-size:.72rem;font-weight:800;line-height:1.2}
.calendar-dei-popover-close{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:#f3f7f9;color:#47667b;font:700 1rem/1 sans-serif;cursor:pointer}
.calendar-dei-popover-close:hover{background:#e8f0f4}
.calendar-dei-popover-title{display:block;margin:0 30px 5px 0;color:#123f61;font-size:1rem;line-height:1.3}
.calendar-dei-popover-category{display:block;margin-bottom:12px;color:#6c8191;font-size:.76rem;font-weight:700}
.calendar-dei-popover-reco{display:flex;flex-direction:column;gap:2px;margin:0 0 13px;padding:10px 12px;border:1px solid #d8e7ed;border-radius:12px;background:#f7fbfc}
.calendar-dei-popover-reco span{color:#718596;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.calendar-dei-popover-reco strong{color:#0b7784;font-size:.88rem;line-height:1.25}
.calendar-dei-popover-cta{width:100%;justify-content:center;text-align:center;text-decoration:none!important}
.studio-calendar-event.is-dei{font:inherit}
.studio-calendar-event.is-dei strong,.studio-calendar-event.is-dei small{pointer-events:none}
@media(max-width:680px){.calendar-dei-popover{width:calc(100vw - 20px);padding:14px}.calendar-dei-popover-title{font-size:.94rem}}

/* Calendrier — client sélectionné : afficher les vraies dates de ses campagnes dans l'année */
.studio-year-calendar.has-selected-client .studio-year-month{
  min-height:250px;
}
.studio-year-month.has-client-dates .studio-year-active{
  margin-top:12px;
}
.studio-year-client-campaigns{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin:11px 0 4px;
  text-align:left;
}
.studio-year-client-campaign{
  display:block;
  width:100%;
  padding:9px 10px;
  border:1px solid #d8e5ec;
  border-radius:10px;
  background:#f8fbfc;
}
.studio-year-client-campaign-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}
.studio-year-client-campaign-head strong{
  min-width:0;
  color:#153f61;
  font-size:.76rem;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.studio-year-client-campaign small{
  display:block;
  margin-top:5px;
  color:#5f7789;
  font-size:.69rem;
  font-weight:700;
  line-height:1.25;
}
.studio-year-campaign-status{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:2px 7px;
  border-radius:999px;
  background:#eaf1f5;
  color:#486579;
  font-size:.61rem;
  font-weight:800;
  line-height:1.15;
  white-space:nowrap;
}
.studio-year-campaign-status.is-draft{background:#fff1d9;color:#8b5c11}
.studio-year-campaign-status.is-published,.studio-year-campaign-status.is-active{background:#e3f6f1;color:#146b5e}
.studio-year-campaign-status.is-completed{background:#edf0f3;color:#586b78}
.studio-year-campaign-status.is-unpublished{background:#f5e8ec;color:#8a465b}
.studio-year-campaign-status.is-configuration_submitted,.studio-year-campaign-status.is-review_pending,.studio-year-campaign-status.is-in_review{background:#eaf0ff;color:#4965a1}
.studio-year-client-campaign-more{
  padding:2px 4px;
  color:#60798b;
  font-size:.68rem;
  font-weight:800;
}
@media(max-width:760px){
  .studio-year-calendar.has-selected-client .studio-year-month{min-height:0}
  .studio-year-client-campaign-head{flex-direction:column;gap:5px}
}

/* 2026-09-22 — identité client et logos partagés */
.admin-client-logo{background:#fff;border:1px solid #dbe8ef;overflow:hidden;padding:5px;display:inline-flex;align-items:center;justify-content:center}.admin-client-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.admin-client-logo.is-large{width:72px;height:72px;border-radius:16px;padding:8px}.admin-client-branding{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:18px;align-items:center;margin:18px 16px 0;padding:16px 18px;border:1px solid #dfeaf0;border-radius:16px;background:linear-gradient(135deg,#fbfdff,#f6fbfc)}.admin-client-branding-copy h4{margin:0 0 4px;color:#153f64}.admin-client-branding-copy p{margin:0;color:#758999;font-size:.8rem}.admin-client-branding-preview{display:flex;align-items:center;justify-content:center}.admin-client-branding-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-inline-client-logo{width:28px;height:28px;border-radius:8px;border:1px solid #dce8ef;background:#fff;display:inline-flex;align-items:center;justify-content:center;padding:3px;vertical-align:middle;overflow:hidden;flex:0 0 28px}.admin-inline-client-logo img{display:block;max-width:100%;max-height:100%;object-fit:contain}.admin-campaign-client-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.admin-client-page-identity{display:flex;align-items:center;gap:16px;margin-top:4px}.admin-client-page-identity h1{margin:0}.admin-client-page-identity p{margin:.35rem 0 0}.admin-client-page-logo{width:76px;height:76px;border-radius:18px;background:#0f6f8e;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.45rem;font-weight:800;box-shadow:0 8px 24px rgba(15,63,100,.1);overflow:hidden;flex:0 0 76px}.admin-client-page-logo.has-logo{background:#fff;border:1px solid #dbe8ef;padding:9px}.admin-client-page-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.calendar-client-identity{display:flex;align-items:center;gap:14px;margin:14px 0 4px;padding:12px 16px;border:1px solid #dfeaf0;border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(18,74,108,.04)}.calendar-client-identity[hidden]{display:none!important}.calendar-client-logo{width:48px;height:48px;flex:0 0 48px;border-radius:12px;background:#0f6f8e;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;overflow:hidden}.calendar-client-logo.has-logo{background:#fff;border:1px solid #dce8ef;padding:6px}.calendar-client-logo img{display:block;max-width:100%;max-height:100%;object-fit:contain}.calendar-client-identity>div{display:grid;gap:2px}.calendar-client-identity strong{color:#113f64;font-size:.95rem}.calendar-client-identity span{color:#708596;font-size:.78rem}
@media(max-width:900px){.admin-client-branding{grid-template-columns:auto 1fr}.admin-client-branding-actions{grid-column:1/-1}.admin-client-page-logo{width:60px;height:60px;flex-basis:60px}.admin-client-page-identity{align-items:flex-start}}

/* Admin client dossier — logo management */
.admin-client-page-logo-wrap{position:relative;flex:0 0 96px;display:flex;align-items:center;justify-content:flex-start;padding-bottom:22px}
.admin-client-page-logo-wrap .admin-client-page-logo{cursor:pointer}
.admin-client-logo-upload{position:absolute;left:0;bottom:0;min-width:76px;max-width:96px;border:0;border-radius:999px;background:#fff;color:#0d6780;box-shadow:0 6px 18px rgba(13,74,104,.16);font:700 .68rem/1.1 inherit;padding:7px 10px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid #d8e8ef}
.admin-client-logo-upload:hover{background:#edf9fa;border-color:#a9d8dd}
.admin-client-logo-upload:disabled{opacity:.55;cursor:wait}
.admin-client-logo-remove{position:absolute;right:8px;top:-7px;width:24px;height:24px;border-radius:50%;border:1px solid #f0c8c8;background:#fff;color:#b64040;font:800 16px/1 inherit;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px rgba(91,36,36,.12)}
.admin-client-logo-remove[hidden]{display:none!important}
.admin-client-logo-remove:hover{background:#fff2f2}
@media(max-width:900px){.admin-client-page-logo-wrap{flex-basis:82px}.admin-client-logo-upload{min-width:60px;max-width:82px;font-size:.62rem}}

/* Client logo library */
.client-logo-library-dialog{width:min(980px,94vw);max-width:980px;border:0;border-radius:22px;padding:0;box-shadow:0 28px 80px rgba(16,57,86,.24)}
.client-logo-library-dialog::backdrop{background:rgba(10,35,55,.38);backdrop-filter:blur(3px)}
.client-logo-library-shell{position:relative;padding:28px;background:#fff;max-height:86vh;overflow:auto}
.client-logo-library-shell h2{margin:.15rem 0 .35rem;color:#123f63}
.client-logo-library-tools{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:center;margin:20px 0 16px}
.client-logo-library-tools input{width:100%;min-height:46px;border:1px solid #d5e4ec;border-radius:13px;padding:0 14px;font:inherit;color:#173f60;background:#fbfdfe}
.client-logo-library-state{padding:28px;text-align:center;color:#738899;border:1px dashed #d8e6ed;border-radius:14px}
.client-logo-library-state[hidden]{display:none}
.client-logo-library-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.client-logo-library-card{appearance:none;border:1px solid #dce8ee;background:#fff;border-radius:16px;padding:12px;min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:9px;cursor:pointer;color:#153f64;font:700 .76rem/1.2 inherit;text-align:center;transition:.16s ease}
.client-logo-library-card:hover{border-color:#8bcbd0;box-shadow:0 8px 24px rgba(12,107,127,.11);transform:translateY(-1px)}
.client-logo-library-card:disabled{opacity:.55;cursor:wait}
.client-logo-library-image{height:80px;width:100%;display:flex;align-items:center;justify-content:center;border-radius:11px;background:#fbfdfe;padding:8px}
.client-logo-library-image img{max-width:100%;max-height:100%;object-fit:contain;display:block}
@media(max-width:800px){.client-logo-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.client-logo-library-tools{grid-template-columns:1fr}}
@media(max-width:520px){.client-logo-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 2026-09-22 — DSD conditionnelles récursives */
.socio-subcriterion{
  margin-left:calc(20px + (var(--socio-depth,2) - 2) * 12px);
  border-left-width:4px;
}
.socio-subcriterion .socio-subcriterion{
  margin-top:10px;
  background:#fff;
}
.socio-subcriterion .socio-level-badge{
  background:#eaf3ff;
}
.rp-socio.is-conditional{
  margin-left:calc((var(--rp-socio-level,2) - 1) * 18px);
  padding:14px 16px;
  border:1px solid #dce8ef;
  border-left:4px solid #008b95;
  border-radius:14px;
  background:#f8fbfc;
}
.rp-socio-level{
  display:inline-flex;
  margin-right:8px;
  padding:3px 7px;
  border-radius:999px;
  background:#e8f7f7;
  color:#087780!important;
  font-size:11px;
  font-weight:900;
  vertical-align:middle;
}
@media(max-width:650px){
  .socio-subcriterion{margin-left:6px!important}
  .rp-socio.is-conditional{margin-left:0}
}


/* 2026-09-22 — restauration modale périmètres/langues */
.campaign-context-modal{width:min(1040px,96vw)!important;max-height:min(88vh,900px)!important}
.campaign-context-scroll{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(420px,1.15fr);gap:26px;padding:24px 28px!important}
.campaign-context-scroll section+section{margin-top:0!important}
.campaign-context-scroll h3{margin:0 0 5px;color:#153f64}
.campaign-context-scroll .version-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:470px;overflow:auto;padding:4px 6px 4px 0}
.campaign-context-scroll .version-check{min-height:42px;padding:9px 11px;border:1px solid #d8e5ec;border-radius:11px;background:#fff;color:#214863;font-weight:700}
.campaign-context-scroll .version-check:has(input:checked){border-color:#11939a;background:#eefafa;box-shadow:0 0 0 1px #11939a inset}
.campaign-context-selection-summary{display:flex;flex-direction:column;gap:9px;margin-top:14px}
.campaign-context-selection-title{margin-bottom:2px;color:#153f64;font-size:.86rem;font-weight:850}
.campaign-context-selection-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:start;padding:13px 14px;border:1px solid #dbe7ee;border-radius:13px;background:#fbfdfe}
.campaign-context-selection-country{display:grid;gap:2px}
.campaign-context-selection-country strong{color:#153f64}
.campaign-context-selection-country span{color:#718596;font-size:.7rem;font-weight:700}
.campaign-context-country-languages{display:flex;flex-direction:column;gap:8px;min-width:0}
.campaign-context-country-selected,.campaign-context-country-available{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.campaign-context-country-available>small{width:100%;color:#718596;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.campaign-context-summary-lang{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:5px 9px;border:1px solid #cbdde7;border-radius:999px;background:#fff;color:#355c74;font:750 .72rem/1.15 Asap,sans-serif;cursor:pointer}
.campaign-context-summary-lang span{font-weight:900}
.campaign-context-summary-lang:hover{border-color:#8fcbd0;background:#f4fbfb}
.campaign-context-summary-lang.is-selected{border-color:#9fd9ce;background:#e9f7f3;color:#176b60}
.campaign-context-all-selected{color:#4f7a70;font-size:.72rem;font-weight:700}
.campaign-context-empty-selection{display:grid;gap:3px;padding:24px;border:1px dashed #cadde8;border-radius:14px;background:#f8fbfc;text-align:center;color:#718596}
.campaign-context-empty-selection strong{color:#153f64}
@media(max-width:860px){.campaign-context-scroll{grid-template-columns:1fr}.campaign-context-scroll .version-check-grid{max-height:280px}.campaign-context-selection-row{grid-template-columns:1fr}}


/* 2026-09-22 — accès direct Paramétrage pour l'administration */
.admin-campaign-quick-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px;min-width:max-content;margin-left:auto;padding-top:2px}
.admin-campaign-quick-actions[hidden]{display:none!important}
.admin-campaign-quick-actions>span{font-size:.7rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase;color:#668093}
.admin-campaign-quick-actions .button{box-shadow:0 8px 22px rgba(0,124,132,.15);white-space:nowrap}
.steps .step-link#composer-settings-step,.steps .step-link#profiles-settings-step{cursor:pointer}
.steps .step-link#composer-settings-step:hover,.steps .step-link#profiles-settings-step:hover{border-color:#9fd2d6;background:#eefafa;color:#086f78}
@media(max-width:850px){.admin-campaign-quick-actions{width:100%;align-items:stretch;margin-top:12px}.admin-campaign-quick-actions>span{display:none}.admin-campaign-quick-actions .button{width:100%;justify-content:center}.compact-topbar{flex-wrap:wrap}}


/* 2026-09-22 — calendrier client : période visible + cartes campagnes lisibles */
.calendar-client-identity{align-items:center;gap:14px;padding:13px 16px}
.calendar-client-identity-copy{display:flex!important;flex:1;min-width:0;align-items:center;gap:14px;flex-wrap:wrap}
.calendar-client-identity-copy>strong{font-size:.98rem;white-space:nowrap}
.calendar-client-identity-copy>span{font-size:.78rem;color:#708596}
.calendar-client-period{margin-left:auto;display:flex!important;grid-template-columns:none!important;gap:8px!important;align-items:stretch}
.calendar-client-period>span{display:flex;flex-direction:column;justify-content:center;min-width:130px;padding:7px 11px;border:1px solid #d9e7ee;border-radius:10px;background:#f8fbfc;color:#173f64!important;font-size:.74rem!important;font-weight:800}
.calendar-client-period b{display:block;margin-bottom:2px;color:#718596;font-size:.62rem;text-transform:uppercase;letter-spacing:.04em}
.studio-year-calendar.has-selected-client .studio-year-month{min-height:285px}
.studio-year-client-campaigns{display:flex!important;grid-template-columns:none!important;flex-direction:column!important;gap:8px!important;margin:10px 0 4px!important;width:100%!important}
.studio-year-client-campaign{display:block!important;width:100%!important;min-width:0!important;padding:10px 11px!important;border-radius:12px!important;background:#f8fbfc!important;box-sizing:border-box}
.studio-year-client-campaign-head{display:flex!important;grid-template-columns:none!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important;width:100%!important}
.studio-year-client-campaign-head strong{display:block!important;flex:1 1 auto!important;min-width:0!important;font-size:.78rem!important;line-height:1.28!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;max-width:none!important}
.studio-year-client-campaign-dates{display:block!important;grid-template-columns:none!important;margin-top:6px!important;color:#5f7789!important;font-size:.7rem!important;font-weight:700!important;line-height:1.3!important;white-space:normal!important}
.studio-year-campaign-status{flex:0 0 auto!important}
@media(max-width:900px){.calendar-client-identity-copy{align-items:flex-start}.calendar-client-period{width:100%;margin-left:0}.calendar-client-period>span{flex:1;min-width:0}}
@media(max-width:760px){.calendar-client-period{flex-direction:column}.studio-year-calendar.has-selected-client .studio-year-month{min-height:0}}


/* 2026-09-22 — actions Aperçu + Paramétrage et point info en mini-modale */
.campaign-preview-settings-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.campaign-preview-settings-actions>.button,
.campaign-settings-shortcut-link{
  min-height:46px;
  padding:0 18px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
}
.campaign-settings-shortcut{
  display:inline-flex;
  align-items:center;
  gap:8px;
  position:relative;
}
.campaign-settings-info-wrap{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.campaign-settings-info-dot{
  width:26px;
  height:26px;
  min-width:26px;
  padding:0;
  border:1px solid #b8d9df;
  border-radius:50%;
  background:#eef9fa;
  color:#087b86;
  font:800 14px/1 Asap,Arial,sans-serif;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:help;
  box-shadow:none;
}
.campaign-settings-info-dot:hover,
.campaign-settings-info-dot:focus-visible{
  background:#def3f5;
  border-color:#78bcc4;
  outline:none;
}
.campaign-settings-info-bubble{
  position:absolute;
  z-index:1200;
  left:50%;
  bottom:calc(100% + 12px);
  width:min(360px,calc(100vw - 28px));
  padding:14px 15px;
  border:1px solid #d7e6ec;
  border-radius:14px;
  background:#fff;
  color:#48667b;
  box-shadow:0 16px 40px rgba(18,63,97,.18);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,6px);
  transition:opacity .14s ease,transform .14s ease,visibility .14s ease;
  text-align:left;
  white-space:normal;
}
.campaign-settings-info-bubble::after{
  content:"";
  position:absolute;
  left:50%;
  top:100%;
  width:10px;
  height:10px;
  background:#fff;
  border-right:1px solid #d7e6ec;
  border-bottom:1px solid #d7e6ec;
  transform:translate(-50%,-5px) rotate(45deg);
}
.campaign-settings-info-bubble strong,
.campaign-settings-info-bubble span{
  display:block;
}
.campaign-settings-info-bubble strong{
  margin-bottom:6px;
  color:#123f61;
  font-size:.9rem;
}
.campaign-settings-info-bubble span{
  font-size:.78rem;
  line-height:1.45;
}
.campaign-settings-info-wrap:hover .campaign-settings-info-bubble,
.campaign-settings-info-wrap:focus-within .campaign-settings-info-bubble{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}
@media(max-width:760px){
  .campaign-preview-settings-actions{align-items:stretch;flex-direction:column}
  .campaign-preview-settings-actions>.button,
  .campaign-settings-shortcut,
  .campaign-settings-shortcut-link{width:100%}
  .campaign-settings-shortcut{gap:7px}
  .campaign-settings-info-bubble{left:auto;right:0;transform:translate(0,6px)}
  .campaign-settings-info-wrap:hover .campaign-settings-info-bubble,
  .campaign-settings-info-wrap:focus-within .campaign-settings-info-bubble{transform:none}
  .campaign-settings-info-bubble::after{left:auto;right:8px}
}


/* 2026-09-22 — sélecteur client admin moderne */
.admin-client-direct-access{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0 12px;padding:14px 16px;border:1px solid #dbe8ef;border-radius:16px;background:linear-gradient(135deg,#f9fcfd,#f4fafb)}
.admin-client-direct-copy{display:grid;gap:2px;color:#153f64}.admin-client-direct-copy strong{font-size:.92rem}.admin-client-direct-copy span{font-size:.76rem;color:#718596}
.admin-client-picker{position:relative;min-width:360px;max-width:520px;width:min(48vw,520px)}
.admin-client-picker-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.admin-client-picker-button{width:100%;min-height:52px;display:grid;grid-template-columns:36px minmax(0,1fr) 24px;align-items:center;gap:10px;padding:7px 12px;border:1px solid #bfd7df;border-radius:14px;background:#fff;color:#143f63;box-shadow:0 5px 16px rgba(17,72,101,.07);cursor:pointer;text-align:left;font:inherit;transition:.15s ease}
.admin-client-picker-button:hover,.admin-client-picker-button[aria-expanded="true"]{border-color:#6db7bd;box-shadow:0 8px 24px rgba(12,126,136,.13);transform:translateY(-1px)}
.admin-client-picker-icon{width:36px;height:36px;border-radius:10px;background:#e8f7f7;color:#087b84;display:flex;align-items:center;justify-content:center;font-size:1rem}
.admin-client-picker-label{font-weight:800;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-client-picker-chevron{font-size:1.15rem;color:#5d778a;text-align:center;transition:transform .15s ease}.admin-client-picker-button[aria-expanded="true"] .admin-client-picker-chevron{transform:rotate(180deg)}
.admin-client-picker-popover{position:absolute;z-index:1200;top:calc(100% + 8px);right:0;width:100%;min-width:380px;padding:10px;border:1px solid #d7e5ec;border-radius:16px;background:#fff;box-shadow:0 22px 50px rgba(18,63,97,.18)}
.admin-client-picker-popover[hidden]{display:none!important}
.admin-client-picker-search{display:flex;align-items:center;gap:8px;padding:0 11px;margin-bottom:8px;border:1px solid #d7e4eb;border-radius:11px;background:#f8fbfc}.admin-client-picker-search span{color:#6f8798}.admin-client-picker-search input{width:100%;min-height:42px;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;font:inherit;color:#153f64}
.admin-client-picker-list{display:flex;flex-direction:column;gap:4px;max-height:360px;overflow:auto;padding:2px}
.admin-client-picker-option{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border:0;border-radius:11px;background:transparent;color:#173f64;text-align:left;cursor:pointer;font:inherit}.admin-client-picker-option:hover,.admin-client-picker-option:focus{background:#eef8f9;outline:none}.admin-client-picker-option>span:nth-child(2){min-width:0;display:grid;gap:2px}.admin-client-picker-option strong{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-client-picker-option small{font-size:.7rem;color:#7a8d9b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-client-picker-open{padding:5px 9px;border-radius:999px;background:#f0f6f8;color:#365c72;font-size:.68rem;font-weight:800}
.admin-client-picker-avatar{width:38px;height:38px;border-radius:10px;background:#0f6f8e;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;overflow:hidden}.admin-client-picker-avatar.has-logo{background:#fff;border:1px solid #dbe8ef;padding:4px}.admin-client-picker-avatar img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.admin-client-picker-empty{padding:22px 12px;text-align:center;color:#718596;font-size:.8rem}
@media(max-width:900px){.admin-client-direct-access{align-items:stretch;flex-direction:column}.admin-client-picker{min-width:0;max-width:none;width:100%}.admin-client-picker-popover{min-width:0;left:0;right:0}}


/* 2026-09-22 — DSD récursives : accordéon hiérarchique */
.socio-tree-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px;padding:14px 16px;border:1px solid #d8e6ed;border-radius:16px;background:linear-gradient(135deg,#fbfdff,#f5fafc)}
.socio-tree-toolbar>div:first-child{display:grid;gap:3px}.socio-tree-toolbar strong{color:#123f61}.socio-tree-toolbar span{color:#6d8394;font-size:.78rem}.socio-tree-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}
.socio-card-foldable{padding:0!important;overflow:hidden}.socio-card-fold-head{display:flex;align-items:center;gap:12px;padding:14px 16px}.socio-root-toggle{flex:1;min-width:0;display:grid;grid-template-columns:58px minmax(0,1fr) auto 24px;gap:14px;align-items:center;border:0;background:transparent;padding:0;text-align:left;color:inherit;cursor:pointer}
.socio-root-summary{display:grid;gap:3px;min-width:0}.socio-root-summary strong{color:#163f62;font-size:.96rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.socio-root-summary small{color:#718697;font-size:.72rem;font-weight:700}.socio-tree-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e8f7f7;color:#08777f!important;font-size:.68rem!important;font-weight:900;white-space:nowrap}.socio-chevron{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:8px;background:#f0f5f8;color:#456579;font-weight:900;transition:transform .16s ease}.is-open>.socio-card-fold-head .socio-chevron,.socio-subcriterion.is-open>.socio-sub-summary .socio-chevron{transform:rotate(180deg)}.socio-card-fold-actions{flex:0 0 auto}.socio-card-fold-body{padding:0 16px 16px;border-top:1px solid #e5edf2}.socio-card-fold-body[hidden],.socio-sub-body[hidden]{display:none!important}.socio-number-spacer{visibility:hidden}
.socio-subcriterion{padding:0!important;overflow:hidden;background:#f8fbfd!important}.socio-sub-summary{display:flex;align-items:center;gap:10px;padding:10px 12px}.socio-sub-toggle{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:transparent;padding:0;text-align:left;cursor:pointer}.socio-sub-summary-main{display:grid;gap:3px;min-width:0}.socio-sub-summary-main strong{color:#173f62;font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.socio-sub-summary-main small{color:#708596;font-size:.68rem;font-weight:700}.socio-sub-body{padding:12px 14px 14px;border-top:1px solid #dbe7ee;background:#fff}.socio-sub-remove{flex:0 0 auto}.socio-subcriterion.is-collapsed{margin-bottom:8px}.socio-option-block>.socio-subcriterion{margin-top:7px}
@media(max-width:820px){.socio-tree-toolbar{align-items:flex-start;flex-direction:column}.socio-root-toggle{grid-template-columns:52px minmax(0,1fr) 24px}.socio-tree-badge{display:none}.socio-card-fold-head{align-items:flex-start}.socio-card-fold-actions{max-width:130px}.socio-sub-summary{align-items:flex-start}.socio-sub-toggle{align-items:flex-start}.socio-root-summary strong,.socio-sub-summary-main strong{white-space:normal}}


/* 2026-09-22 — À publier centralisé dans Campagnes */
.admin-campaign-filter-chip.is-publish{border-color:#efc56e;background:#fff8e6;color:#7a5611;box-shadow:0 1px 0 rgba(122,86,17,.03)}
.admin-campaign-filter-chip.is-publish strong{background:#f6d88f;color:#6f4b00}
.admin-campaign-filter-chip.is-publish:hover{border-color:#d9a63b;background:#fff2cf}
.admin-campaign-filter-chip.is-publish.is-active{border-color:#d49a22;background:#f7c95c;color:#4d3500;box-shadow:0 4px 14px rgba(212,154,34,.18)}
.admin-campaign-filter-chip.is-publish.is-active strong{background:#fff3c9;color:#5b3e00}
.badge.badge-publish{background:#fff0c9;color:#7a5410;border:1px solid #e8c269}

/* 2026-09-22 — suppression globale médiathèque avec impact visible */
.admin-media-delete-dialog{width:min(760px,calc(100vw - 28px));max-height:min(88vh,900px);padding:0;border:0;border-radius:22px;background:transparent;overflow:visible}
.admin-media-delete-dialog::backdrop{background:rgba(11,34,54,.42);backdrop-filter:blur(3px)}
.admin-media-delete-shell{position:relative;max-height:88vh;overflow:auto;padding:28px;border:1px solid #dbe7ee;border-radius:22px;background:#fff;box-shadow:0 26px 70px rgba(17,54,83,.24)}
.admin-media-delete-shell h2{margin:4px 44px 8px 0;color:#123f61;font-size:1.55rem;line-height:1.2}
.admin-media-delete-lead{margin:0 0 18px;color:#5e7689;line-height:1.5}
.admin-media-delete-summary{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 20px}
.admin-media-delete-summary span{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:999px;background:#f1f6f9;color:#49667a;font-size:.78rem;font-weight:700}
.admin-media-delete-summary b{color:#123f61;font-size:.92rem}
.admin-media-delete-shell section{margin:16px 0;padding:16px;border:1px solid #dce8ef;border-radius:16px;background:#fbfdfe}
.admin-media-delete-shell section h3{margin:0 0 10px;color:#153f64;font-size:.92rem}
.admin-media-delete-shell ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.admin-media-delete-shell li{display:grid;grid-template-columns:minmax(160px,1fr) minmax(150px,1fr);gap:3px 12px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #e5edf2;color:#516d81}
.admin-media-delete-shell li strong{color:#163f63;font-size:.82rem}
.admin-media-delete-shell li span{font-size:.8rem}
.admin-media-delete-shell li small{grid-column:1/-1;color:#7b8f9e;font-size:.72rem}
.admin-media-delete-shell li.is-empty{grid-template-columns:1fr;border-style:dashed;background:transparent}
.admin-media-delete-warning,.admin-media-delete-final{display:flex;flex-direction:column;gap:4px;margin-top:14px;padding:13px 14px;border-radius:14px;font-size:.8rem;line-height:1.45}
.admin-media-delete-warning{border:1px solid #f1cf8b;background:#fff8e8;color:#76520c}
.admin-media-delete-final{border:1px solid #efc1bd;background:#fff2f0;color:#91372e}
.admin-media-delete-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.admin-media-delete-actions .studio-modal-danger{background:#b93b31!important;border-color:#b93b31!important;color:#fff!important}
.admin-media-delete-actions .studio-modal-danger:hover{background:#9f3028!important;border-color:#9f3028!important}
@media(max-width:680px){.admin-media-delete-shell{padding:20px}.admin-media-delete-shell li{grid-template-columns:1fr}.admin-media-delete-shell li small{grid-column:auto}.admin-media-delete-actions{flex-direction:column-reverse}.admin-media-delete-actions .button{width:100%}}

/* 2026-09-22 — gestion centralisée des utilisations vidéo */
.admin-media-library-card-actions{flex-wrap:wrap}
.admin-media-usage-dialog{width:min(1100px,calc(100vw - 32px));max-height:min(92vh,980px);padding:0;border:0;border-radius:22px;background:transparent;overflow:hidden}
.admin-media-usage-dialog::backdrop{background:rgba(11,34,54,.44);backdrop-filter:blur(3px)}
.admin-media-usage-shell{position:relative;box-sizing:border-box;width:100%;max-height:92vh;overflow-y:auto;overflow-x:hidden;padding:28px;border:1px solid #dbe7ee;border-radius:22px;background:#fff;box-shadow:0 28px 76px rgba(17,54,83,.25);scrollbar-width:thin;scrollbar-color:#b9c8d1 transparent}
.admin-media-usage-shell h2{margin:4px 44px 8px 0;color:#123f61;font-size:1.55rem;line-height:1.2}
.admin-media-usage-shell section{margin:16px 0;padding:17px;border:1px solid #dce8ef;border-radius:16px;background:#fbfdfe}
.admin-media-usage-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.admin-media-usage-section-head h3{margin:0 0 3px;color:#153f64;font-size:.96rem}
.admin-media-usage-section-head p{margin:0;color:#708596;font-size:.76rem;line-height:1.4}
.admin-media-usage-count{display:inline-flex;min-width:34px;height:34px;align-items:center;justify-content:center;border-radius:999px;background:#e8f7f7;color:#08777f;font-weight:900;font-size:.78rem}
.admin-media-usage-info{display:flex;flex-direction:column;gap:4px;margin:14px 0 18px;padding:13px 14px;border:1px solid #bfe0e4;border-radius:14px;background:#effafb;color:#2c6771;font-size:.8rem;line-height:1.45}
.admin-media-usage-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 12px;margin-top:8px;border:1px solid #e1ebf0;border-radius:12px;background:#fff}
.admin-media-usage-row>div{display:grid;gap:2px;min-width:0}.admin-media-usage-row strong{color:#173f63;font-size:.82rem}.admin-media-usage-row span,.admin-media-usage-row small{color:#708596;font-size:.72rem}.admin-media-usage-row.is-inherited{background:#f6fbfb;border-color:#d3e9e9}
.admin-media-usage-badge{flex:0 0 auto;display:inline-flex;padding:6px 9px;border-radius:999px;background:#e3f5f3!important;color:#087a75!important;font-size:.68rem!important;font-weight:900}
.admin-media-usage-empty{margin:0;padding:12px;border:1px dashed #cfdee6;border-radius:11px;color:#718697;font-size:.76rem;background:#fff}
.admin-media-usage-scroll{max-height:320px;overflow:auto;padding-right:3px}
.admin-media-usage-add{display:grid;grid-template-columns:minmax(260px,1.65fr) minmax(170px,1fr) minmax(150px,.9fr) minmax(120px,.75fr);gap:10px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px solid #e3edf2}
.admin-media-usage-add label{display:grid;gap:5px;min-width:0}.admin-media-usage-add label>span{color:#315870;font-size:.72rem;font-weight:800}.admin-media-usage-add select,.admin-media-usage-add input{box-sizing:border-box;width:100%;min-width:0;min-height:42px;border:1px solid #cfdfe7;border-radius:10px;background:#fff;padding:0 10px;color:#153f64;font:inherit;font-size:.8rem}.admin-media-usage-add .button{grid-column:1/-1;width:100%;min-height:46px;white-space:nowrap;margin-top:2px}
@media(max-width:900px){.admin-media-usage-add{grid-template-columns:1fr 1fr}.admin-media-usage-add .button{grid-column:1/-1}.admin-media-usage-shell{padding:20px}}
@media(max-width:620px){.admin-media-usage-add{grid-template-columns:1fr}.admin-media-usage-row{align-items:flex-start;flex-direction:column}.admin-media-usage-row .button{width:100%}}

/* 2026-09-22 — vidéos de restitution dans les campagnes legacy */
.profile-media-panel{margin-top:22px;padding:20px;border:1px solid #cfe1e9;border-radius:18px;background:linear-gradient(135deg,#fbfdff,#f6fbfc)}
.profile-media-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.profile-media-kicker{display:block;margin-bottom:4px;color:#078089;font-size:.66rem;font-weight:900;letter-spacing:.06em}.profile-media-panel h3{margin:0 0 5px;color:#153f64;font-size:1rem}.profile-media-panel-head p{margin:0;max-width:780px;color:#6d8394;font-size:.78rem;line-height:1.45}
.profile-media-list{display:grid;gap:8px;margin-top:15px}.profile-media-association{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 12px;border:1px solid #dfeaf0;border-radius:12px;background:#fff}.profile-media-association>div{display:grid;gap:2px}.profile-media-association strong{color:#173f63;font-size:.82rem}.profile-media-association span,.profile-media-association small{color:#728797;font-size:.71rem}.profile-media-association.is-inherited{border-color:#cfe8e4;background:#f6fbfa}.profile-media-badge{display:inline-flex!important;padding:5px 9px;border-radius:999px;background:#e2f4f1;color:#087a74!important;font-size:.66rem!important;font-weight:900}
.profile-media-empty{margin:0;padding:11px 12px;border:1px dashed #cfdee6;border-radius:11px;background:#fff;color:#718697;font-size:.75rem}.profile-media-add{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(120px,.5fr) minmax(150px,.7fr) auto;gap:10px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px solid #e1ebf0}.profile-media-add label{display:grid;gap:5px}.profile-media-add label>span{font-size:.71rem;font-weight:800;color:#315870}.profile-media-add select,.profile-media-add input{min-height:42px;border:1px solid #cfdfe7;border-radius:10px;background:#fff;padding:0 10px;color:#153f64;font:inherit;font-size:.8rem}.profile-media-add .button{min-height:42px;white-space:nowrap}.profile-media-note{margin:10px 0 0;color:#5f7d8e;font-size:.72rem}
@media(max-width:900px){.profile-media-add{grid-template-columns:1fr 1fr}.profile-media-add .button{grid-column:1/-1}}@media(max-width:620px){.profile-media-add{grid-template-columns:1fr}.profile-media-association{align-items:flex-start;flex-direction:column}.profile-media-association .button{width:100%}}

/* Media usage manager: multi-theme / multi-chapter assignment */
.admin-media-usage-add-title{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:16px;padding-top:16px;border-top:1px solid #e3edf2}.admin-media-usage-add-title strong{color:#153f64;font-size:.84rem}.admin-media-usage-add-title span{color:#708596;font-size:.72rem;text-align:right}
.admin-media-usage-add{grid-template-columns:minmax(190px,1.1fr) minmax(190px,1.1fr) minmax(190px,1fr) minmax(160px,.85fr) minmax(180px,.95fr);margin-top:10px;padding-top:0;border-top:0}
.admin-media-usage-add select:disabled{background:#f3f7f9;color:#8aa0ad;cursor:not-allowed}.admin-media-field-info{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;margin-left:4px;border-radius:999px;background:#e5f5f6;color:#08777f;font-size:.66rem;font-weight:900;font-style:normal;vertical-align:middle;cursor:help}.admin-media-usage-locale{min-width:0}
@media(max-width:1100px){.admin-media-usage-add{grid-template-columns:1fr 1fr 1fr}.admin-media-usage-add .button{grid-column:1/-1}}
@media(max-width:760px){.admin-media-usage-add{grid-template-columns:1fr 1fr}.admin-media-usage-add-title{align-items:flex-start;flex-direction:column}.admin-media-usage-add-title span{text-align:left}}
@media(max-width:560px){.admin-media-usage-add{grid-template-columns:1fr}}
/* Médiathèque : exclusions de campagnes et utilisation vidéo uniquement sur les profils */
.admin-media-usage-add{grid-template-columns:minmax(210px,1.15fr) minmax(210px,1.15fr) minmax(170px,.9fr) minmax(190px,1fr)}
.admin-media-usage-row-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}
.admin-media-usage-row.is-excluded{background:#fff9f7;border-color:#f1d8d0}
.admin-media-usage-badge.is-excluded{background:#fde9e4!important;color:#a64031!important}
@media(max-width:980px){.admin-media-usage-add{grid-template-columns:1fr 1fr}.admin-media-usage-add .button{grid-column:1/-1}}
@media(max-width:620px){.admin-media-usage-row-actions{width:100%;justify-content:space-between}.admin-media-usage-add{grid-template-columns:1fr}}

/* Admin campagnes — indique explicitement les périmètres/langues masqués sur les cartes compactes. */
.admin-campaign-meta-tags .is-more{font-weight:900;cursor:pointer}.admin-campaign-meta-tags button.is-more{appearance:none;-webkit-appearance:none}.admin-campaign-meta-tags button.is-more:hover,.admin-campaign-meta-tags button.is-more:focus-visible{box-shadow:0 0 0 2px rgba(18,63,115,.12);outline:none}.admin-campaign-meta-tags .is-country.is-more{border-style:dashed;background:#e8f3fb}.admin-campaign-meta-tags .is-language.is-more{border-style:dashed;background:#e4f6f1}.admin-campaign-meta-tags [hidden]{display:none!important}

/* 2026-09-24 — Aides contextuelles des catégories Campagnes */
.admin-campaign-filter-chip-wrap{position:relative;display:inline-flex;align-items:center}
.admin-campaign-filter-chip-wrap.has-info .admin-campaign-filter-chip{padding-right:38px}
.admin-campaign-filter-info-dot{position:absolute;right:8px;top:50%;z-index:2;transform:translateY(-50%);display:grid;place-items:center;width:20px;height:20px;padding:0;border:1px solid rgba(39,97,127,.32);border-radius:50%;background:rgba(255,255,255,.92);color:#27617f;font:900 .72rem/1 Asap,sans-serif;cursor:pointer;box-shadow:0 2px 8px rgba(23,63,100,.08);transition:transform .15s ease,background .15s ease,color .15s ease,border-color .15s ease}
.admin-campaign-filter-info-dot:hover,.admin-campaign-filter-info-dot:focus-visible{transform:translateY(-50%) scale(1.06);background:#173f64;color:#fff;border-color:#173f64;outline:none}
.admin-campaign-filter-chip-wrap .admin-campaign-filter-chip.is-active+.admin-campaign-filter-info-dot{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.52);color:#fff}
.admin-campaign-filter-chip-wrap .admin-campaign-filter-chip.is-active+.admin-campaign-filter-info-dot:hover,.admin-campaign-filter-chip-wrap .admin-campaign-filter-chip.is-active+.admin-campaign-filter-info-dot:focus-visible{background:#fff;color:#173f64;border-color:#fff}

/* Admin client · correction multi-périmètres des campagnes legacy */
.legacy-country-choices{display:grid;gap:.65rem;margin-top:1rem;max-height:430px;overflow:auto;padding-right:.25rem}
.legacy-country-choice{border:1px solid #d4e3e9;border-radius:14px;background:#fff;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
.legacy-country-choice.is-selected{border-color:#8fc3cf;background:#f4fbfc;box-shadow:0 0 0 2px rgba(11,127,141,.06)}
.legacy-country-toggle{display:flex;align-items:center;gap:.7rem;padding:.72rem .85rem;font-weight:800;color:#123f62;cursor:pointer}
.legacy-country-toggle input{width:18px;height:18px;accent-color:#0b7f8d;flex:0 0 auto}
.legacy-country-locales{padding:0 .85rem .8rem 2.45rem;border-top:1px solid #e3edf1}
.legacy-country-locales>small{display:block;margin:.65rem 0 .25rem;color:#5e7388}
.legacy-country-locales[hidden]{display:none!important}

/* Aperçu répondant — sélection compacte du périmètre et de la langue */
.rp-context-select-wrap{display:flex;flex-direction:column;gap:7px;max-width:520px}
.rp-context-select-wrap>span{font-size:12px;font-weight:800;color:#4f6679}
.rp-context-select{width:100%;min-height:46px;padding:0 42px 0 14px;border:1.5px solid #cfdde5;border-radius:12px;background:#fff;color:#18375d;font:700 14px Asap,Arial,sans-serif;cursor:pointer;outline:none}
.rp-context-select:hover{border-color:#79bfc4}
.rp-context-select:focus{border-color:#008b95;box-shadow:0 0 0 3px rgba(0,139,149,.12)}
@media(max-width:680px){.rp-context-select-wrap{max-width:none;width:100%}.rp-context-select{width:100%}}

/* Aperçu répondant : le choix périmètre/langue précède toujours l’introduction */
.rp-context-gate{max-width:760px}
.rp-context-gate>.rp-help{max-width:650px;margin-left:auto;margin-right:auto}
.rp-context-chooser-gate{margin-bottom:0}
.rp-context-step.is-disabled{opacity:.55}
.rp-context-step.is-disabled .rp-context-select{cursor:not-allowed;background:#f3f6f8}

/* Calendar campaign hover card: same visual language as DEI event cards. */
.calendar-campaign-popover::before{background:#0b8c95}
.calendar-campaign-popover .calendar-dei-popover-date{background:#eef8f8;color:#176c73}
.calendar-campaign-popover .calendar-dei-popover-title{margin-bottom:7px}
.calendar-campaign-popover .calendar-dei-popover-category{line-height:1.35;margin-bottom:14px}

/* Calendrier — alignement des filtres admin/client */
.calendar-filterbar{align-items:end}
.calendar-filterbar:has(#calendar-org-filter:not([hidden])){grid-template-columns:minmax(180px,.9fr) minmax(180px,.9fr) minmax(180px,.9fr) auto minmax(250px,1.2fr)}
@media(max-width:1180px){.calendar-filterbar:has(#calendar-org-filter:not([hidden])){grid-template-columns:1fr 1fr 1fr}.calendar-filterbar:has(#calendar-org-filter:not([hidden])) #calendar-search{grid-column:span 2}}
@media(max-width:760px){.calendar-filterbar:has(#calendar-org-filter:not([hidden])){grid-template-columns:1fr}.calendar-filterbar:has(#calendar-org-filter:not([hidden])) #calendar-search{grid-column:auto}}

/* 2026-10-02 — Admin catalogue : référentiel Introduction + Données d'analyse */
.admin-catalog-editor-tabs{display:flex;gap:8px;margin:18px 0 0;padding:6px;border:1px solid var(--border,#e4e7ec);border-radius:16px;background:#f8fafb;width:max-content;max-width:100%}
.admin-catalog-editor-tabs button{border:0;background:transparent;border-radius:11px;padding:10px 16px;font-weight:700;color:#667085;cursor:pointer;white-space:nowrap}
.admin-catalog-editor-tabs button.is-active{background:#fff;color:#182230;box-shadow:0 2px 8px rgba(16,24,40,.08)}
.admin-catalog-editor-body{margin-top:18px}.admin-editorial-panel{border:1px solid var(--border,#e4e7ec);border-radius:18px;background:#fff;padding:22px 24px;box-shadow:0 8px 24px rgba(28,39,60,.04)}
.admin-editorial-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.admin-editorial-head h4{font-size:1.2rem;margin:4px 0 6px}.admin-editorial-head p{margin:0;color:#667085;max-width:780px;line-height:1.55}.admin-editorial-completeness{flex:0 0 auto;padding:7px 11px;border-radius:999px;background:#f2f4f7;color:#475467;font-weight:700;font-size:.86rem}
.admin-editorial-locale-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 20px}.admin-editorial-locale-tabs button{min-width:48px;border:1px solid #d0d5dd;background:#fff;border-radius:10px;padding:8px 11px;font-weight:750;color:#475467;cursor:pointer}.admin-editorial-locale-tabs button.is-active{border-color:#62aeb4;background:#eefafa;color:#17636a}
.admin-editorial-field{display:grid;gap:8px}.admin-editorial-field>span,.admin-dsd-card label>span,.admin-dsd-options>span,.admin-dsd-source-row label>span{font-size:.86rem;font-weight:750;color:#344054}.admin-editorial-field textarea,.admin-dsd-card input,.admin-dsd-source-row select{width:100%;border:1px solid #d0d5dd;border-radius:11px;padding:11px 12px;background:#fff;color:#101828;font:inherit}.admin-editorial-field textarea{resize:vertical;line-height:1.55}
.admin-editorial-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding-top:16px;border-top:1px solid #eaecf0}.admin-info-note{font-size:.85rem;color:#667085}.admin-dsd-source-row{max-width:560px;margin:4px 0 14px}.admin-dsd-source-row label{display:grid;gap:7px}
.admin-dsd-list{display:grid;gap:14px}.admin-dsd-card{border:1px solid #e4e7ec;border-radius:14px;padding:16px;background:#fcfcfd}.admin-dsd-card.is-nested{margin:12px 0 0 18px;background:#fff}.admin-dsd-card-title{display:flex;align-items:center;gap:8px;margin-bottom:12px}.admin-dsd-card-title strong{font-size:.95rem}.admin-dsd-card-title span{font-size:.75rem;padding:4px 7px;border-radius:999px;background:#eefafa;color:#17636a;font-weight:700}.admin-dsd-card label{display:grid;gap:6px}.admin-dsd-options{display:grid;gap:8px;margin-top:13px}.admin-dsd-option{display:grid;gap:6px}.admin-dsd-option>input{background:#fff}
@media(max-width:760px){.admin-catalog-editor-tabs{width:100%;overflow:auto}.admin-editorial-head,.admin-editorial-actions{flex-direction:column;align-items:stretch}.admin-editorial-completeness{align-self:flex-start}}

/* Admin catalogue — référence FR visible pendant l’édition multilingue */
.admin-translation-reference-note{display:flex;gap:10px;align-items:flex-start;margin:14px 0;padding:12px 14px;border:1px solid #cfe3e8;border-radius:12px;background:#f4fafb;font-size:13px;line-height:1.45}.admin-translation-reference-note strong{white-space:nowrap;color:#0b5269}.admin-translation-reference-note span{color:#47616c}.admin-translation-grid.has-reference{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.admin-editorial-field.is-reference textarea,.admin-dsd-card .is-reference input,.admin-dsd-option input.is-reference{background:#f5f7f8;color:#52636b;border-color:#d8e0e4}.admin-dsd-translation-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.admin-dsd-option.has-reference{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}@media(max-width:900px){.admin-translation-grid.has-reference,.admin-dsd-translation-row,.admin-dsd-option.has-reference{grid-template-columns:1fr}.admin-translation-reference-note{flex-direction:column;gap:4px}}


/* Sélection pays/langues : un pays par ligne, consigne lisible */
[data-locale-checks].version-check-grid{display:block}
.version-country-languages{display:block;width:100%;padding:14px 0 16px;border-bottom:1px solid #e3ebf0}
.version-country-languages:last-child{border-bottom:0}
.version-country-languages-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 10px}
.version-country-languages-head strong{display:block;color:#203b68;font-size:1rem}
.version-country-languages-head small{display:block;color:#60758b;line-height:1.4}
.version-country-languages>.version-check-grid{display:flex;flex-wrap:wrap;gap:9px}
.parameter-reference-panel{margin:14px 0 0;padding:16px 18px;border:1px solid #d9e6ec;border-radius:14px;background:#f7fafb}
.parameter-reference-head{display:flex;align-items:center;gap:10px;margin-bottom:7px;color:#203b68}
.parameter-reference-panel p{margin:0 0 12px;color:#60758b;font-size:.9rem}
.parameter-reference-text{white-space:pre-wrap;line-height:1.55;color:#304a61;background:#fff;border:1px solid #e0e9ee;border-radius:10px;padding:12px 14px}

/* Paramétrage multilingue : référence et langue travaillée côte à côte */
.parameter-intro-compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:stretch}
.parameter-intro-compare .parameter-reference-panel{margin:0;min-height:100%;box-sizing:border-box}
.parameter-intro-compare .parameter-intro-edit{min-width:0}
.parameter-intro-compare .parameter-reference-text{min-height:292px;max-height:430px;overflow:auto}
.parameter-intro-compare textarea{width:100%;box-sizing:border-box}
@media (max-width:900px){.parameter-intro-compare{grid-template-columns:1fr}.parameter-intro-compare .parameter-reference-text{min-height:auto;max-height:300px}}

/* Paramétrage multilingue : référence DSD + navigation contenu */
.socio-source-heading{display:flex;flex-direction:column;gap:4px;margin:16px 0 10px;padding:14px 16px;border:1px solid #dbe7f1;border-radius:14px;background:#f8fbfd}.socio-source-heading strong{color:#073f68;font-size:15px}.socio-source-heading span{color:#60758c;font-size:13px;line-height:1.45}
.socio-translation-compare.has-reference{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.5fr);gap:18px;align-items:start}.socio-reference-panel{border:1px solid #cfe1ec;border-radius:14px;background:#f6fafc;padding:16px;position:sticky;top:12px}.socio-reference-head,.socio-current-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;color:#073f68}.socio-reference-question{font-weight:800;color:#173d63;margin:10px 0 14px}.socio-reference-label{font-size:11px;font-weight:800;text-transform:uppercase;color:#60758c;margin-bottom:6px}.socio-reference-panel ol{margin:0 0 12px;padding-left:22px}.socio-reference-panel li{padding:4px 0;color:#294d70}.socio-reference-panel small{display:block;color:#6a7e91;line-height:1.4}.socio-current-editor{min-width:0}.socio-current-head{padding:0 2px}.socio-translation-compare:not(.has-reference) .socio-current-head{display:none}
@media(max-width:980px){.socio-translation-compare.has-reference{grid-template-columns:1fr}.socio-reference-panel{position:static}}

.translation-review-alert{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:11px 13px;border:1px solid #e6b85c;border-radius:12px;background:#fff8e8;color:#6f4b00}.translation-review-alert strong{color:#7a4b00}.translation-review-alert span{flex:1;min-width:220px}.translation-review-alert button{border:1px solid #d4a444;background:#fff;border-radius:9px;padding:7px 10px;font-weight:700;cursor:pointer}.translation-review-alert[hidden]{display:none!important}

/* Diff de traduction : référence projet modifiée depuis la dernière validation */
.translation-diff-add{display:inline;padding:1px 3px;margin:0 1px;border-radius:4px;background:#dff5e6;color:#17663a;text-decoration:none;font-weight:800}.translation-diff-remove{display:inline;padding:1px 3px;margin:0 1px;border-radius:4px;background:#fde5e2;color:#a2382d;text-decoration:line-through;text-decoration-thickness:2px}.has-translation-diff{line-height:1.75}.parameter-reference-text .translation-diff-add,.parameter-reference-text .translation-diff-remove{white-space:pre-wrap}.socio-reference-panel li.has-translation-diff{padding-top:6px;padding-bottom:6px}

/* Age benchmark: optional criterion, standardized bands once selected */
.socio-age-info{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:8px;border-radius:50%;background:#e8f7f8;color:#087f86;font-size:12px;font-weight:800;cursor:help;vertical-align:middle}.socio-card-age .socio-lock-help{display:block;margin-top:7px;color:#52647a;font-size:12px;line-height:1.45}


/* Paramétrage DSD — navigation multilingue persistante */
#socio-dsd-context{
  background:rgba(255,255,255,.97);
  box-shadow:0 8px 24px rgba(18,55,88,.10);
  border:1px solid rgba(15,137,145,.18);
  backdrop-filter:blur(8px);
}
.socio-sticky-languages{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(18,55,88,.12);
}
.socio-sticky-languages-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:10px;
}
.socio-sticky-languages-head span{
  font-size:.82rem;
  color:#5c6f85;
}
.socio-sticky-language-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.socio-sticky-language-buttons button{
  border:1px solid #c9d8e7;
  background:#fff;
  border-radius:12px;
  padding:8px 12px;
  cursor:pointer;
  color:#17345b;
  font-weight:700;
}
.socio-sticky-language-buttons button small{
  display:block;
  margin-top:2px;
  font-size:.68rem;
  font-weight:600;
  color:#6a7b90;
}
.socio-sticky-language-buttons button.is-active{
  border-color:#0f8991;
  background:#eefafa;
  box-shadow:0 0 0 2px rgba(15,137,145,.08);
}
.socio-sticky-language-buttons button.is-reference{
  border-style:solid;
}
.socio-go-reference{
  margin-top:10px;
  border:0;
  background:transparent;
  color:#0b7180;
  font-weight:800;
  cursor:pointer;
  padding:4px 0;
}
@media (max-width:760px){
  #socio-dsd-context{top:6px;}
  .socio-sticky-languages-head{align-items:flex-start;flex-direction:column;gap:4px;}
  .socio-sticky-language-buttons{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;}
  .socio-sticky-language-buttons button{flex:0 0 auto;}
}

#add-socio.is-translation-redirect{
  border-style:dashed;
  border-color:#0f8991;
  color:#0b7180;
  background:#f7fcfc;
}


/* Traductions DSD à renseigner */
.translation-todo-alert{
  border-color:#e7b44b;
  background:#fff9e9;
}
.is-translation-todo{
  position:relative;
}
.socio-current-editor input:placeholder-shown{
  border-style:dashed;
}


/* 2026-10-05 — actions du bandeau + adresse de diffusion */
.compact-topbar > .campaign-preview-settings-actions{
  margin:0 0 0 auto;
  flex:0 0 auto;
  align-self:center;
  justify-content:flex-end;
}
.compact-topbar > .campaign-preview-settings-actions .campaign-settings-shortcut{align-items:center}
.compact-topbar > .campaign-preview-settings-actions .button,
.compact-topbar > .campaign-preview-settings-actions .campaign-settings-shortcut-link{min-height:46px}
.compact-topbar > .top-actions .rp-trigger-topbar{min-height:46px;white-space:nowrap}
.diffusion-address-field{max-width:100%}
.diffusion-url-builder{
  display:grid;
  grid-template-columns:auto minmax(220px,1fr);
  align-items:stretch;
  border:1px solid #c9dbe5;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}
.diffusion-url-prefix{
  display:flex;
  align-items:center;
  padding:0 14px;
  background:#eef5f8;
  border-right:1px solid #c9dbe5;
  color:#45677d;
  font-size:.82rem;
  font-weight:800;
  white-space:nowrap;
}
.diffusion-url-builder .diffusion-slug-input{
  min-height:48px;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#fff!important;
  color:#17355f!important;
  font-weight:850;
}
.diffusion-url-builder .diffusion-slug-input:focus{outline:2px solid #7bc5cb;outline-offset:-2px}
.diffusion-url-builder.is-readonly{background:#f5f8fa}
.diffusion-url-builder.is-readonly .diffusion-slug-input{background:#f5f8fa!important;color:#526b7c!important}
.diffusion-url-preview-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:9px}
.diffusion-url-preview{color:#0b6f77;font-size:.8rem;font-weight:800;overflow-wrap:anywhere}
.diffusion-url-preview.is-legacy{color:#395c73}
@media(max-width:900px){
  .compact-topbar > .campaign-preview-settings-actions{width:100%;margin-left:0;justify-content:flex-start}
}
@media(max-width:720px){
  .diffusion-url-builder{grid-template-columns:1fr}
  .diffusion-url-prefix{min-height:42px;border-right:0;border-bottom:1px solid #c9dbe5;white-space:normal;overflow-wrap:anywhere}
}

/* 2026-10-05 — nettoyage admin des variantes DSD legacy désynchronisées */
.socio-orphan-note{display:inline-flex;margin:6px 0 2px;padding:4px 8px;border-radius:999px;background:#fff5e8;color:#8a5a14;font-size:.7rem;font-weight:800}
.socio-orphan-remove{white-space:nowrap}

/* Médiathèque — repères visibles dans la modale de gestion des utilisations */
.admin-media-usage-tags-panel{display:grid;gap:10px;margin:14px 0 16px;padding:14px 15px;border:1px solid #d8e6ec;border-radius:14px;background:#f8fbfc}
.admin-media-usage-tags-panel>div:first-child{display:grid;gap:3px}
.admin-media-usage-tags-panel strong{color:#153f64;font-size:.82rem}
.admin-media-usage-tags-panel>div:first-child span{color:#708596;font-size:.74rem;line-height:1.4}
.admin-media-usage-tags{display:flex;flex-wrap:wrap;gap:7px}
.admin-media-usage-tag{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;border:1px solid #cddfe7;background:#fff;color:#28546e;font-size:.72rem;font-weight:800;line-height:1.15}
.admin-media-usage-tag.is-classification{background:#eefaf5;border-color:#cbe9d8;color:#227043}
.admin-media-usage-tag.is-theme{background:#eef8f0;border-color:#cae8d0;color:#246f37}
.admin-media-usage-tag.is-keyword{background:#eef6fb;border-color:#cfe2ee;color:#235f84}
.admin-media-usage-no-tag{color:#7b8e9b;font-size:.74rem;font-style:italic}


/* 2026-10-06 — actions campagne sous le bloc de contexte */
.campaign-actions-below-context{display:flex;justify-content:flex-start;margin:14px 0 20px;}
.campaign-actions-below-context .campaign-preview-settings-actions{margin-top:0;}
@media(max-width:760px){.campaign-actions-below-context{width:100%;}.campaign-actions-below-context .campaign-preview-settings-actions{width:100%;}}


/* 2026-10-06 — DSD : choix unique / choix multiple */
.socio-selection-mode{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 14px;padding:10px 12px;border:1px solid #dbe8ee;border-radius:12px;background:#f8fbfc}.socio-selection-mode>span:first-child{font-size:.76rem;font-weight:800;color:#60758b;text-transform:uppercase;letter-spacing:.03em}.socio-selection-mode .status-pill{margin-left:auto}.socio-selection-mode .button{margin-left:auto;white-space:nowrap}@media(max-width:680px){.socio-selection-mode{align-items:flex-start;flex-direction:column}.socio-selection-mode .button,.socio-selection-mode .status-pill{margin-left:0}}

/* Médiathèque · comparaison des campagnes héritières entre deux vidéos */
.admin-media-compare{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(220px,1fr);gap:10px 12px;align-items:end;margin:0 0 12px;padding:12px;border:1px solid #d9e8ee;border-radius:13px;background:#f5fafb}
.admin-media-compare label{display:grid;gap:5px;min-width:0}.admin-media-compare label>span{color:#315870;font-size:.72rem;font-weight:800}.admin-media-compare select{box-sizing:border-box;width:100%;min-width:0;min-height:42px;border:1px solid #cfdfe7;border-radius:10px;background:#fff;padding:0 10px;color:#153f64;font:inherit;font-size:.8rem}.admin-media-compare select:disabled{background:#eef3f5;color:#8aa0ad;cursor:not-allowed}
.admin-media-compare-summary{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px;padding-top:2px}.admin-media-compare-summary[hidden]{display:none}.admin-media-compare-summary span{display:inline-flex;align-items:center;gap:4px;padding:6px 9px;border-radius:999px;background:#e8f5f6;color:#2a6570;font-size:.7rem}.admin-media-compare-summary span strong{color:#08777f;font-size:.78rem}.admin-media-compare-summary .is-warning{background:#fff2e8;color:#98521f}.admin-media-compare-summary .is-warning strong{color:#b85b1c}
.admin-media-usage-row.is-missing{background:#fff9f1;border-color:#efd7b8}.admin-media-usage-badge.is-missing{background:#fff0df!important;color:#a75a1c!important}
@media(max-width:760px){.admin-media-compare{grid-template-columns:1fr}.admin-media-compare-summary{grid-column:1}}

/* Admin campagnes — sélection groupée, dossiers et compteur de résultats */
.admin-campaign-selection-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid #dbe7ef;
  border-radius:16px;
  background:#f8fbfd;
}
.admin-campaign-selection-summary{display:flex;align-items:baseline;gap:10px;min-width:max-content;color:#61788d}
.admin-campaign-selection-summary strong{font-size:1rem;color:#153f64}
.admin-campaign-selection-summary span{font-size:.76rem;font-weight:700}
.admin-campaign-selection-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.admin-campaign-selection-actions select{min-height:36px;max-width:240px;padding:7px 34px 7px 10px;border:1px solid #cfdeea;border-radius:10px;background:#fff;color:#173e63;font:inherit;font-size:.76rem;font-weight:700}
.admin-campaign-select{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:2px;cursor:pointer}
.admin-campaign-select input{position:absolute;opacity:0;pointer-events:none}
.admin-campaign-select span{display:block;width:18px;height:18px;border:1.5px solid #a9becd;border-radius:5px;background:#fff;box-shadow:inset 0 0 0 2px #fff;transition:.15s ease}
.admin-campaign-select input:checked+span{background:#0b8991;border-color:#0b8991;box-shadow:inset 0 0 0 4px #fff}
.admin-campaign-select input:focus-visible+span{outline:2px solid rgba(11,137,145,.22);outline-offset:2px}
.admin-campaign-card.is-selected{border-color:#90cbd0;box-shadow:0 0 0 2px rgba(11,137,145,.08)}
.admin-campaign-access-heading{text-align:center!important}
@media(max-width:1050px){.admin-campaign-selection-bar{align-items:flex-start;flex-direction:column}.admin-campaign-selection-actions{width:100%;justify-content:flex-start}}
@media(max-width:650px){.admin-campaign-selection-actions{display:grid;grid-template-columns:1fr}.admin-campaign-selection-actions select,.admin-campaign-selection-actions .button{width:100%;max-width:none}}

/* Edition rapide des tags depuis la liste des situations */
.admin-quick-tags{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:9px;padding-top:8px;border-top:1px dashed #cfe1e6}
.admin-quick-tags-label{display:flex;align-items:center;gap:6px;color:#173b5f;font-size:.8rem}
.admin-quick-tags-controls{display:flex;align-items:center;gap:7px;flex:1;min-width:420px}
.admin-quick-tags-controls select,.admin-quick-tags-controls input{height:34px;border:1px solid #c9dce3;border-radius:9px;background:#fff;color:#173b5f;padding:0 10px;font:inherit;font-size:.82rem}
.admin-quick-tags-controls select{min-width:190px;max-width:260px}.admin-quick-tags-controls input{min-width:180px;max-width:260px}
.admin-quick-tags-controls .button{height:34px;white-space:nowrap}
@media(max-width:760px){.admin-quick-tags-controls{min-width:100%;flex-wrap:wrap}.admin-quick-tags-controls select,.admin-quick-tags-controls input{flex:1;max-width:none}}

/* Catalogue admin — navigation Base du thème / Bibliothèque complémentaire */
.admin-library-content-zones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 18px;padding:12px;border:1px solid #dce8ed;border-radius:18px;background:#f7fafb}.admin-library-content-zone{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:15px 17px;border:1px solid #d9e4e9;border-radius:14px;background:#fff;color:#24405b;text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.admin-library-content-zone:hover{border-color:#a9cfd4;box-shadow:0 6px 18px rgba(13,76,114,.06)}.admin-library-content-zone.is-selected{border-color:#0794a0;background:#f3fbfb;box-shadow:0 0 0 1px rgba(7,148,160,.08)}.admin-library-content-zone>span{display:grid;gap:3px}.admin-library-content-zone strong{font-size:.95rem;color:#173b67}.admin-library-content-zone small{color:#6b7f8d;font-size:.78rem;font-weight:400;line-height:1.35}.admin-library-content-zone>b{display:grid;place-items:center;min-width:32px;height:32px;padding:0 8px;border-radius:999px;background:#eaf4f5;color:#0d6670;font-size:.82rem}.admin-library-content-zone.is-selected>b{background:#d9f0ee;color:#087f81}.admin-library-zone-context{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border-radius:999px;background:#eef6f8;color:#54707f;font-size:.78rem}.admin-library-zone-context strong{margin-left:4px;color:#173b67}.admin-library-situation-filters{justify-content:flex-start}.admin-library-situation-filters .admin-library-zone-context{margin-right:auto}@media(max-width:800px){.admin-library-content-zones{grid-template-columns:1fr}.admin-library-content-zone{align-items:flex-start}.admin-library-situation-filters .admin-library-zone-context{width:100%;margin-right:0}}

/* Édition rapide des tags du catalogue : suppression locale et retour discret. */
.admin-situation-tags [data-remove-quick-tag]{border:0;background:transparent;color:inherit;cursor:pointer;font-size:1rem;font-weight:800;margin-left:4px;padding:0 2px;line-height:1}
.admin-situation-tags [data-remove-quick-tag]:hover{color:#ad2537}
.admin-quick-tag-status{font-size:.78rem;color:#007a80;min-width:75px}
.admin-quick-tag-status.is-error{color:#ad2537}

/* 2026-10-08 — Catalogue admin : actions du thème alignées sur les onglets. */
.admin-catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:18px 0 16px}
.admin-catalog-toolbar .admin-catalog-editor-tabs{margin:0;flex:0 1 auto}
.admin-catalog-toolbar .admin-library-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-left:auto}
.admin-catalog-toolbar .admin-library-actions .button{white-space:nowrap;min-height:39px}
@media(max-width:860px){.admin-catalog-toolbar{align-items:stretch}.admin-catalog-toolbar .admin-library-actions{margin-left:0;justify-content:flex-start}.admin-catalog-toolbar .admin-catalog-editor-tabs{max-width:100%}}

/* Catalogue global : scores éditables, y compris les décimales */
.admin-global-copy-scores{margin-top:12px}
.admin-global-score-row{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:14px;align-items:center;margin-top:10px;color:#213651}
.admin-global-score-answer{min-width:0;line-height:1.5}
.admin-global-score-field{display:block}
.admin-global-score-field input{box-sizing:border-box;display:block;width:100%;height:40px;padding:8px 11px;border:1px solid #cbdde5;border-radius:10px;background:#fff;color:#173754;font:inherit;font-variant-numeric:tabular-nums;outline:none;transition:border-color .15s,box-shadow .15s}
.admin-global-score-field input:hover{border-color:#8fb8c5}
.admin-global-score-field input:focus{border-color:#00838c;box-shadow:0 0 0 3px rgba(0,131,140,.13)}
@media(max-width:520px){.admin-global-score-row{grid-template-columns:minmax(0,1fr) 84px;gap:8px}}

/* Admin catalogue: independent chapter copy dialog */
.admin-chapter-import-overlay{position:fixed;inset:0;z-index:12000;background:rgba(24,32,48,.56);display:flex;align-items:center;justify-content:center;padding:24px}
.admin-chapter-import-dialog{width:min(790px,100%);max-height:90vh;display:flex;flex-direction:column;background:var(--surface,#fff);color:var(--text,#242936);border-radius:18px;box-shadow:0 20px 70px rgba(0,0,0,.22);overflow:hidden}
.admin-chapter-import-header,.admin-chapter-import-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 24px;border-bottom:1px solid #e6e8ed}
.admin-chapter-import-header h3{margin:0 0 5px;font-size:1.25rem}.admin-chapter-import-header p,.admin-chapter-import-group p{margin:3px 0 12px;color:#667085;font-size:.88rem}
.admin-chapter-import-footer{border-top:1px solid #e6e8ed;border-bottom:0;justify-content:flex-end}
.admin-chapter-import-content{overflow-y:auto;padding:20px 24px;display:grid;gap:16px}
.admin-chapter-import-content>label{display:grid;gap:6px;font-weight:600}.admin-chapter-import-content select{width:100%;padding:10px 12px;border:1px solid #d2d7df;border-radius:10px;background:transparent;color:inherit}
.admin-chapter-import-group{border:1px solid #e6e8ed;border-radius:12px;padding:15px;display:grid;gap:10px}.admin-chapter-import-group-head{display:flex;justify-content:space-between;gap:12px;align-items:center}
.admin-chapter-import-situation-list{max-height:210px;overflow:auto;display:grid;gap:10px;padding:8px 0}.admin-chapter-import-situation-list label{display:flex;gap:9px;align-items:flex-start;font-size:.9rem;cursor:pointer}
.admin-chapter-import-options{display:flex;flex-wrap:wrap;gap:10px 18px}.admin-chapter-import-options label{display:flex;gap:7px;align-items:center;font-size:.9rem}
.admin-chapter-import-warning{background:#fff8e9;border:1px solid #e9c57a;border-radius:12px;padding:14px;color:#5d430e}.admin-chapter-import-warning p{margin:8px 0}.admin-chapter-import-warning label{display:flex;align-items:center;gap:8px;font-weight:600}.admin-chapter-import-error{color:#b42318;font-size:.9rem;margin:0}.admin-chapter-import-dialog input[type=checkbox]{accent-color:#ad447d}
@media(max-width:650px){.admin-chapter-import-overlay{padding:8px}.admin-chapter-import-dialog{max-height:96vh}.admin-chapter-import-header,.admin-chapter-import-footer,.admin-chapter-import-content{padding:13px}}

/* Recherche catalogue : prévention des doublons */
.admin-global-picker-hide-existing{display:flex;align-items:center;gap:9px;margin:12px 0;color:#26475e;font-size:13px;font-weight:600}.admin-global-picker-hide-existing input{accent-color:#007e88;width:16px;height:16px}.admin-global-duplicate-label,.admin-global-similar-label{display:inline-flex;padding:5px 9px;border-radius:18px;font-size:12px;font-weight:700}.admin-global-duplicate-label{background:#e6f2f1;color:#006b72}.admin-global-similar-label{background:#fff2da;color:#916000}.admin-global-duplicate-hint{font-size:12px;color:#657787}.admin-global-picker-actions button:disabled{opacity:.6;cursor:not-allowed}

/* Catalogue admin : échange de situations dans la base */
.admin-library-swap-box{margin-top:14px;padding:18px;border:1px solid #d8e8eb;border-radius:16px;background:#f8fcfc;display:grid;gap:10px}
.admin-library-swap-box>strong{color:#173b67;font-size:1rem}
.admin-library-swap-box>p{margin:0!important;color:#657e8c;font-size:.85rem!important;line-height:1.5}
.admin-library-swap-select{display:block;width:100%;max-width:100%;min-height:44px;padding:10px 38px 10px 14px;color:#203d55;font:inherit;font-size:.88rem;border:1px solid #cbdfe7;border-radius:12px;background:#fff;box-shadow:0 2px 7px rgba(20,60,82,.035);outline:none}
.admin-library-swap-select:focus{border-color:#008995;box-shadow:0 0 0 3px rgba(0,137,149,.12)}
.admin-library-swap-box>.button{justify-self:start;margin-top:2px;white-space:normal}
@media(max-width:650px){.admin-library-swap-box{padding:13px}.admin-library-swap-box>.button{width:100%}}
/* Catalogue admin : couverture linguistique et choix des langues cibles */
.admin-theme-locale-editor{display:block;margin:18px 0;padding:16px;border:1px solid #d6e6ec;border-radius:14px;background:#f8fbfc}
.admin-theme-locale-editor>strong{display:block;color:#23395e;margin-bottom:6px}
.admin-theme-locale-editor .admin-library-theme-scope-tag{margin:4px 6px 4px 0}
.admin-theme-locale-editor select{width:100%;max-width:100%;border:1px solid #d6e6ec;border-radius:10px;padding:11px;background:white}
.admin-theme-locales-selected{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0}
.admin-theme-coverage{border:1px solid #d9e8ec;border-radius:16px;padding:18px;margin:16px 0;background:#fbfdfd}
.admin-theme-coverage-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:15px;color:#20365a}
.admin-theme-coverage-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(90px,2fr) 52px;gap:12px;align-items:center;margin:10px 0}
.admin-theme-coverage-row>div:first-child{display:flex;flex-direction:column;gap:2px}
.admin-theme-coverage-row small{color:#657a8d;font-size:12px}
.admin-theme-coverage-track{height:9px;border-radius:20px;background:#e5eef1;overflow:hidden}
.admin-theme-coverage-track span{display:block;height:100%;border-radius:20px;background:#00848b}
.admin-theme-coverage-row>strong{text-align:right;font-size:13px;color:#20365a}
@media(max-width:600px){.admin-theme-coverage-row{grid-template-columns:1fr 80px}.admin-theme-coverage-track{grid-column:1}.admin-theme-coverage-row>strong{grid-column:2;grid-row:2}}

/* Catalogue admin — chapitres lisibles, indépendants et repliés par défaut. */
.admin-library-chapters-detail{display:grid;gap:16px!important;}
.admin-library-chapters-detail>.admin-library-chapter-accordion{margin:0!important;border:1px solid #d7e5e9!important;border-left:5px solid #128b92!important;border-radius:17px!important;background:#fff!important;box-shadow:0 3px 12px rgba(15,61,83,.045);overflow:hidden;}
.admin-library-chapters-detail>.admin-library-chapter-accordion:nth-child(even){border-left-color:#5177a0!important;}
.admin-library-chapters-detail>.admin-library-chapter-accordion.is-expanded{border-color:#9dcbd0!important;box-shadow:0 8px 24px rgba(15,61,83,.09);}
.admin-library-chapters-detail .admin-library-chapter-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:20px!important;align-items:center!important;min-height:112px;padding:18px 22px!important;background:#f7fafc!important;}
.admin-library-chapters-detail .admin-library-chapter-accordion:nth-child(even)>.admin-library-chapter-head{background:#f5f8fc!important;}
.admin-library-chapters-detail .admin-library-chapter-accordion.is-expanded>.admin-library-chapter-head{background:#edf7f8!important;}
.admin-library-chapters-detail .admin-library-chapter-main{min-width:0;display:flex!important;align-items:flex-start!important;gap:14px!important;}
.admin-library-chapters-detail .admin-library-chevron{flex:0 0 30px;width:30px;height:30px;background:#e0eff2;color:#086e80;}
.admin-library-chapters-detail .admin-library-chapter-information{display:flex;flex-direction:column;align-items:flex-start!important;gap:8px!important;min-width:0;}
.admin-library-chapters-detail .admin-library-chapter-title{display:block;font-size:1.04rem;line-height:1.35;color:#123a60;}
.admin-library-chapters-detail .admin-library-chapter-details{display:flex;align-items:center;gap:7px 12px;flex-wrap:wrap;min-width:0;}
.admin-library-chapters-detail .admin-library-chapter-details small{width:100%;margin:0;color:#667d8a;font-size:.79rem;}
.admin-library-chapters-detail .admin-library-chapter-actions{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:nowrap!important;gap:8px!important;width:auto!important;padding:0!important;}
.admin-library-chapters-detail .admin-library-chapter-actions>.button{min-height:39px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:8px 13px!important;margin:0!important;}
.admin-library-chapters-detail .admin-library-chapter-body{padding:17px 20px 22px;background:#fff;border-top:1px solid #dfecee;}
@media(max-width:980px){.admin-library-chapters-detail .admin-library-chapter-head{grid-template-columns:minmax(0,1fr)!important;gap:14px!important;}.admin-library-chapters-detail .admin-library-chapter-actions{justify-content:flex-start!important;padding-left:44px!important;flex-wrap:wrap!important;}}
@media(max-width:540px){.admin-library-chapters-detail .admin-library-chapter-head{padding:16px!important;}.admin-library-chapters-detail .admin-library-chapter-actions{padding-left:0!important;}.admin-library-chapters-detail .admin-library-chapter-actions>.button{flex:1 1 auto;}}

/* Catalogue admin — optional complementary library in chapter import */
.admin-chapter-import-include-library{display:flex;align-items:center;gap:9px;margin:12px 0 6px;padding:10px 12px;border:1px solid #d5e4e9;border-radius:10px;background:#f7fbfc;cursor:pointer;font-weight:600;color:#213958;flex-wrap:wrap}
.admin-chapter-import-include-library input{accent-color:#00818c}
.admin-chapter-import-counts{margin:6px 0 12px;color:#53677c;font-size:.86rem}
.admin-chapter-import-origin{display:inline-block;margin-right:7px;margin-bottom:3px;padding:2px 7px;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap;background:#e9f6f0;color:#146948}
.admin-chapter-import-origin.is-library{background:#edf4fa;color:#275d8b}

/* Recherche de mots-clés du Catalogue admin */
.admin-tag-multiselect{position:relative;flex:1 1 250px;min-width:200px;max-width:340px}
.admin-tag-multiselect>input{width:100%;max-width:100%!important;box-sizing:border-box}
.admin-tag-suggestions:not([hidden]){position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:60;max-height:230px;overflow-y:auto;background:#fff;border:1px solid #c9dce3;border-radius:10px;box-shadow:0 12px 28px #173b5f24;padding:6px}
.admin-tag-suggestion{display:flex;align-items:center;gap:9px;padding:8px;border-radius:6px;font-size:.83rem;cursor:pointer;color:#173b5f}
.admin-tag-suggestion:hover{background:#eef7f9}
.admin-tag-suggestion input{width:16px;height:16px;flex:none;margin:0}
.admin-tag-no-results{display:block;padding:10px;font-size:.82rem;color:#68798a}
.admin-quick-tags{align-items:flex-start;flex-direction:column}
.admin-quick-tags-controls{width:100%;min-width:0;flex-wrap:wrap}
@media(max-width:760px){.admin-tag-multiselect{max-width:none;flex-basis:100%}}

/* Liste complète des tags au focus, filtrage immédiat et sélection multiple */
.admin-tag-suggestions:not([hidden]){max-height:280px;overscroll-behavior:contain}
.admin-tag-suggestion:has(input:checked){background:#eaf6f4}

/* Tags Catalogue : les listes flottantes ne doivent jamais être masquées par les cartes suivantes. */
.admin-library-chapters-detail>.admin-library-chapter-accordion.is-expanded{overflow:visible!important}
.admin-library-filtered-list{isolation:auto;position:relative}
.admin-library-situation-row{position:relative;overflow:visible!important}
.admin-library-situation-row.is-tag-menu-open{z-index:100!important}
.admin-library-situation-row.is-tag-menu-open>summary{overflow:visible!important}
.admin-library-situation-row.is-tag-menu-open .admin-quick-tags,
.admin-library-situation-row.is-tag-menu-open .admin-quick-tags-controls{overflow:visible!important}
.admin-tag-suggestions:not([hidden]){z-index:1010!important;display:block!important;min-width:245px;max-height:280px;overflow-y:auto}

/* Catalogue : recherche, sélection et création dans un seul menu compact */
.admin-quick-tags-controls{display:flex;align-items:flex-start;justify-content:flex-start!important}
.admin-tag-multiselect{flex:0 1 390px;max-width:390px;width:100%;min-width:240px}
.admin-tag-suggestions:not([hidden]){min-width:0!important;width:100%;box-sizing:border-box;padding:7px!important;border-radius:12px!important}
.admin-tag-suggestion{justify-content:flex-start!important;gap:8px!important;padding:8px 12px!important;line-height:1.4}
.admin-tag-suggestion input[type=checkbox]{position:static!important;display:inline-block!important;flex:0 0 16px!important;width:16px!important;height:16px!important;margin:0!important;vertical-align:middle}
.admin-tag-suggestion span{flex:0 1 auto!important;margin:0!important;text-align:left!important}
.admin-tag-create-option{display:flex;align-items:center;gap:9px;width:100%;margin-top:5px;padding:11px 12px;border:0;border-top:1px solid #dce8ee;background:#f2fafb;border-radius:0 0 8px 8px;color:#086b78;text-align:left;font-size:.86rem;font-weight:700;cursor:pointer}
.admin-tag-create-option:hover{background:#e2f2f4}
@media(max-width:760px){.admin-tag-multiselect{max-width:100%;flex-basis:100%;min-width:0}}

/* Client situation capitalisation: compact editorial layout, no heavy nested panels. */
.reuse-client-modal{width:min(660px,calc(100vw - 32px));max-height:92vh;overflow:auto;border-radius:18px}
.reuse-client-head{padding:24px 28px 18px}.reuse-client-head small{font-weight:750;letter-spacing:.055em;color:#087381}.reuse-client-head h2{font-size:1.55rem;color:#213759}.reuse-client-head p{margin:8px 0 0;color:#62738a;font-size:.92rem}
.reuse-client-body{padding:24px 28px;display:grid;gap:22px}.reuse-client-section-label{display:block;color:#5b6e85;font-size:.76rem;text-transform:uppercase;letter-spacing:.055em;font-weight:800;margin-bottom:7px}.reuse-client-source{border-left:3px solid #81b9bf;padding:8px 14px;background:#f7fafb;border-radius:0 9px 9px 0}.reuse-client-source p{margin:0;line-height:1.55}.reuse-client-note{padding:0}.reuse-client-note strong{color:#263c5a}.reuse-client-note p{margin:5px 0 0;color:#5c7084;line-height:1.5;font-size:.9rem}.reuse-client-fields{display:grid;gap:14px}.reuse-client-fields label{display:grid;gap:7px;font-weight:650}.reuse-client-fields select{width:100%;border:1px solid #ccdae4;border-radius:9px;min-height:42px;padding:8px 11px;background:#fff;color:#223b57}.reuse-client-consent{display:flex;gap:10px;align-items:flex-start;line-height:1.45;background:#f5f9fa;padding:13px 14px;border:1px solid #dcebef;border-radius:10px}.reuse-client-consent input{flex:none;margin-top:4px}.reuse-client-footnote{font-size:.8rem;color:#657789;line-height:1.45;margin:0}.reuse-client-footer{padding:16px 28px}.composer-catalog-copy-link{display:inline-block;margin-left:8px;font-weight:800;text-decoration:underline;color:inherit}.admin-catalog-id,.admin-catalog-answer-id{font-size:.73rem;color:#486a7c;background:#eef5f8;border-radius:6px;padding:3px 7px;font-weight:700;white-space:nowrap}.admin-catalog-answer-id{font-size:.69rem;align-self:center}.admin-library-focus{outline:3px solid #63aab4;outline-offset:5px;border-radius:12px}
@media(max-width:680px){.reuse-client-body{padding:18px}.reuse-client-head{padding:20px}.reuse-client-footer{padding:15px 18px}}

.admin-library-answer-number .admin-catalog-answer-id{display:block;background:transparent;padding:2px 0 0;font-size:.65rem;line-height:1.2;color:#436579;font-weight:700;white-space:nowrap}

/* Composer : affordance explicite et traductions communes */
.composer-country-tab-with-locales .composer-country-action{display:block;margin-top:9px;padding-top:8px;border-top:1px solid #dbe6ea;color:#087c87;font-weight:800;font-size:.8rem}
.composer-country-tab-with-locales:hover{border-color:#078b93;box-shadow:0 5px 15px rgba(7,139,147,.15);transform:translateY(-2px)}
.composer-country-tab-with-locales.is-active .composer-country-action{color:#075f66}
.composer-shared-translation-note{margin:10px 24px 0;padding:11px 15px;background:#eef7f9;border:1px solid #c9e2e6;border-radius:10px;font-size:.86rem;line-height:1.5;color:#23405c}

/* Métadonnées du catalogue : groupes lisibles, sans modifier la charte. */
#admin-library .admin-library-theme-title {display:flex;justify-content:space-between;align-items:flex-start;gap:16px;width:100%;}
#admin-library .admin-library-theme-title h3 {flex:1;min-width:0;margin:0;line-height:1.3;}
#admin-library .admin-library-theme-title > .status-pill {flex-shrink:0;}
#admin-library .admin-library-theme-scope {display:flex;align-items:flex-start;flex-wrap:wrap;gap:18px 28px;margin:18px 0 14px;}
#admin-library .catalog-metadata-group {display:grid;gap:8px;min-width:140px;max-width:100%;}
#admin-library .catalog-metadata-label {font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#61788a;line-height:1.4;}
#admin-library .catalog-metadata-values {display:flex;flex-wrap:wrap;gap:6px;min-width:0;}
#admin-library .admin-library-theme-scope-tag {margin:0;padding:5px 10px;font-size:.78rem;line-height:1.35;max-width:100%;overflow-wrap:anywhere;white-space:normal;}
#admin-library .admin-library-detail-title > div {min-width:0;width:100%;}
#admin-library .admin-library-detail-title p {max-width:85ch;margin:12px 0;}
#admin-library .admin-library-detail-stats {margin-top:16px;padding-top:12px;border-top:1px solid #e8eef2;}
@media(max-width:600px){#admin-library .admin-library-theme-scope{display:grid;grid-template-columns:1fr;gap:16px;}#admin-library .admin-library-theme-title h3{font-size:1.15rem;}}

/* Catalogue — filtres de périmètre et de langue (admin et client). */
.admin-library-situation-filters > label,
#catalog-country-filter > label {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  min-width: 0;
  max-width: 100%;
  color: var(--royal-blue);
  font-size: .9rem;
  font-weight: 600;
}
:is(.admin-library-situation-filters, #catalog-country-filter, .library-filters) select {
  box-sizing: border-box;
  appearance: none;
  min-height: 44px;
  min-width: 0;
  max-width: 100%;
  padding: 10px 40px 10px 14px;
  border: 1px solid #cbdce3;
  border-radius: 12px;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23007883' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-position: right 14px center;
  background-repeat: no-repeat;
  color: var(--royal-blue);
  font: 500 .9rem/1.4 var(--font);
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease;
}
:is(.admin-library-situation-filters, #catalog-country-filter) select {
  width: 320px;
}
:is(.admin-library-situation-filters, #catalog-country-filter, .library-filters) select:hover {
  border-color: var(--green-blue);
}
:is(.admin-library-situation-filters, #catalog-country-filter, .library-filters) select:focus-visible {
  outline: 2px solid var(--green-blue);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px var(--green-blue-soft);
}
/* Le sélecteur natif reste disponible sur les navigateurs plus anciens. */
@supports (appearance: base-select) {
  :is(.admin-library-situation-filters, #catalog-country-filter, .library-filters) select,
  :is(.admin-library-situation-filters, #catalog-country-filter, .library-filters) select::picker(select) {
    appearance: base-select;
  }
  :is(.admin-library-situation-filters, #catalog-country-filter, .library-filters) select {
    background-image: none;
    padding-right: 14px;
    align-items: center;
    gap: 12px;
  }
  :is(.admin-library-situation-filters, #catalog-country-filter, .library-filters) select::picker-icon {
    color: var(--green-blue);
    transition: rotate .15s ease;
  }
  :is(.admin-library-situation-filters, #catalog-country-filter, .library-filters) select:open::picker-icon {
    rotate: 180deg;
  }
  :is(.admin-library-situation-filters, #catalog-country-filter, .library-filters) select::picker(select) {
    margin-block: 6px;
    padding: 6px;
    border: 1px solid #cbdce3;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(39, 58, 100, .14);
    max-block-size: min(360px, 60dvh);
    overflow-y: auto;
    color: var(--royal-blue);
    font: 500 .9rem/1.4 var(--font);
  }
  :is(.admin-library-situation-filters, #catalog-country-filter, .library-filters) option {
    padding: 10px 12px;
    border-radius: 8px;
    white-space: normal;
    overflow-wrap: anywhere;
    cursor: pointer;
  }
  :is(.admin-library-situation-filters, #catalog-country-filter, .library-filters) option:checked {
    background: var(--green-blue-soft);
    color: var(--green-blue-dark);
    font-weight: 700;
  }
  :is(.admin-library-situation-filters, #catalog-country-filter, .library-filters) option:hover,
  :is(.admin-library-situation-filters, #catalog-country-filter, .library-filters) option:focus-visible {
    background: var(--royal-blue-soft);
    outline: none;
  }
}
@media (max-width: 700px) {
  .admin-library-situation-filters > label,
  #catalog-country-filter > label {
    flex: 1 1 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
  }
  :is(.admin-library-situation-filters, #catalog-country-filter) select {
    width: 100%;
  }
}

/* Catalogue admin: complementary library visible before opening a theme. */
.admin-library-theme-card .admin-library-complement-status{display:flex;align-items:center;gap:8px;align-self:flex-start;margin:0 0 12px;padding:9px 11px;border:1px solid #c5e4df;border-radius:10px;background:#edf8f5;color:#22665c;font-size:13px;line-height:1.45;font-weight:600}.admin-library-theme-card .admin-library-complement-status.is-empty{background:#f6f8fa;border-color:#e1e7ed;color:#637b8d}.admin-library-complement-status .admin-info-dot{flex-shrink:0}.admin-library-complement-status .admin-info-dot[data-info]::after{left:auto;right:-8px;transform:translateY(6px)}.admin-library-complement-status .admin-info-dot[data-info]:hover::after,.admin-library-complement-status .admin-info-dot[data-info]:focus-visible::after{transform:translateY(0)}

/* Comptes et accès : vues distinctes et listes paginées. */
[data-admin-panel="accounts"] .admin-access-tabs {display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 22px;padding-bottom:16px;border-bottom:1px solid #e0e9f2;}
[data-admin-panel="accounts"] .admin-access-tabs button {display:flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid #cfdfec;border-radius:12px;background:#fff;color:#214568;font:inherit;font-weight:750;cursor:pointer;}
[data-admin-panel="accounts"] .admin-access-tabs button.is-active {background:#007e89;border-color:#007e89;color:#fff;}
[data-admin-panel="accounts"] .admin-access-tabs button span {min-width:24px;padding:2px 7px;border-radius:20px;background:#edf4f8;color:#214568;font-size:.8rem;}
[data-admin-panel="accounts"] [role="tabpanel"][hidden] {display:none;}
[data-admin-panel="accounts"] .admin-access-filters {display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(140px,1fr));gap:12px;margin-bottom:18px;padding:16px;background:#f7fafc;border:1px solid #e0e9f2;border-radius:14px;}
[data-admin-panel="accounts"] .admin-access-filters label {display:grid;align-content:start;gap:6px;min-width:0;color:#385573;font-size:.8rem;font-weight:700;}
[data-admin-panel="accounts"] .admin-access-filters input,[data-admin-panel="accounts"] .admin-access-filters select {box-sizing:border-box;width:100%;min-width:0;min-height:43px;margin:0;padding:10px 12px;border:1px solid #cfdfec;border-radius:9px;background:#fff;color:#214568;font:inherit;}
[data-admin-panel="accounts"] .admin-access-admin-filters {grid-template-columns:minmax(220px,2fr) minmax(160px,1fr);}
[data-admin-panel="accounts"] .admin-access-table-wrap {overflow-x:auto;border:1px solid #e0e9f2;border-radius:14px;}
[data-admin-panel="accounts"] .admin-access-table {width:100%;border-collapse:collapse;text-align:left;font-size:.82rem;}
[data-admin-panel="accounts"] .admin-access-table caption {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
[data-admin-panel="accounts"] .admin-access-table th {padding:12px;background:#f1f6fa;color:#48617d;font-size:.74rem;white-space:nowrap;}
[data-admin-panel="accounts"] .admin-sort-button{all:unset;cursor:pointer;font:inherit;color:inherit;display:inline-flex;gap:4px;align-items:center}
[data-admin-panel="accounts"] .admin-sort-button:hover,[data-admin-panel="accounts"] .admin-sort-button.is-active{color:#0b5b63}
[data-admin-panel="accounts"] .admin-sort-button:focus-visible{outline:2px solid #007883;outline-offset:2px;border-radius:4px}
[data-admin-panel="accounts"] .admin-sort-button span{font-size:.7rem;opacity:.7}
[data-admin-panel="accounts"] .admin-access-table td {padding:13px 12px;border-top:1px solid #e8eff5;vertical-align:top;color:#345371;}
[data-admin-panel="accounts"] .admin-access-table tbody tr:hover {background:#f8fcfd;}
[data-admin-panel="accounts"] .admin-access-table strong {color:#193e61;}
[data-admin-panel="accounts"] .admin-access-email {overflow-wrap:anywhere;}
[data-admin-panel="accounts"] .admin-access-actions {display:flex;align-items:flex-start;justify-content:flex-end;gap:6px;}
[data-admin-panel="accounts"] .admin-access-actions button,[data-admin-panel="accounts"] .admin-access-more summary {padding:7px 10px;border:1px solid #d7e5ef;border-radius:8px;background:#f1f7fb;color:#1f4a68;cursor:pointer;font:inherit;font-size:.75rem;font-weight:700;white-space:nowrap;}
[data-admin-panel="accounts"] .admin-access-more summary {list-style:none;font-size:1rem;line-height:1;}
[data-admin-panel="accounts"] .admin-access-more summary::-webkit-details-marker {display:none;}
[data-admin-panel="accounts"] .admin-access-more[open] summary {background:#dfeef3;}
[data-admin-panel="accounts"] .admin-access-more > div {display:grid;gap:5px;margin-top:6px;}
[data-admin-panel="accounts"] .admin-access-actions .danger {background:#fff2f3;color:#ad243b;border-color:#f1d8dd;}
[data-admin-panel="accounts"] .admin-access-pagination {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:16px;color:#4c6580;font-size:.8rem;}
[data-admin-panel="accounts"] .admin-access-pagination label,[data-admin-panel="accounts"] .admin-access-pagination > div {display:flex;align-items:center;gap:10px;}
[data-admin-panel="accounts"] .admin-access-pagination select,[data-admin-panel="accounts"] .admin-access-pagination button {padding:8px 10px;border:1px solid #cfdfec;border-radius:8px;background:#fff;color:#214568;font:inherit;}
[data-admin-panel="accounts"] .admin-access-pagination button {cursor:pointer;font-weight:700;}
[data-admin-panel="accounts"] .admin-access-pagination button:disabled {opacity:.45;cursor:default;}
[data-admin-panel="accounts"] button:focus-visible,[data-admin-panel="accounts"] summary:focus-visible {outline:3px solid #00a6b2;outline-offset:3px;}
@media(max-width:1200px) {[data-admin-panel="accounts"] .admin-access-filters {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:650px) {[data-admin-panel="accounts"] .admin-access-filters {grid-template-columns:minmax(0,1fr);}[data-admin-panel="accounts"] .admin-access-table {min-width:680px;}[data-admin-panel="accounts"] .admin-access-tabs button {flex:1;justify-content:center;}[data-admin-panel="accounts"] .admin-access-pagination > div {width:100%;justify-content:space-between;}}

[data-admin-panel="accounts"] .admin-access-size-top {display:flex;justify-content:flex-end;margin:0 0 12px;color:#4c6580;font-size:.8rem;}
[data-admin-panel="accounts"] .admin-access-size-top label {display:flex;align-items:center;gap:8px;}
[data-admin-panel="accounts"] .admin-access-size-top select {padding:7px 12px;border:1px solid #cfdfec;border-radius:8px;background:#fff;color:#214568;font:inherit;}

/* Explications des indicateurs du cockpit clients. */
.admin-client-pilot-kpi {position:relative;}
.admin-client-pilot-kpi:hover,.admin-client-pilot-kpi:focus-within {z-index:10;}
.admin-client-pilot-kpi .admin-info-dot {position:absolute;top:10px;right:10px;}
.admin-client-pilot-kpi .admin-info-dot[data-info]::after {left:auto;right:-2px;transform:translateY(6px);}
.admin-client-pilot-kpi .admin-info-dot[data-info]:hover::after,.admin-client-pilot-kpi .admin-info-dot[data-info]:focus::after {opacity:1;visibility:visible;transform:translateY(0);}
.admin-client-pilot-kpi .admin-info-dot[data-info]:focus::before {opacity:1;visibility:visible;transform:translate(-50%,0);}
.admin-client-pilot-kpi .admin-info-dot:focus-visible {outline:2px solid #007f87;outline-offset:3px;}

/* Les indicateurs filtrent la liste ; les points info restent indépendants. */
.admin-client-pilot-kpi .admin-kpi-filter-trigger {position:absolute;inset:0;z-index:1;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;cursor:pointer;}
.admin-client-pilot-kpi .admin-info-dot {z-index:2;}
.admin-client-pilot-kpi:has(.admin-kpi-filter-trigger:hover) {box-shadow:0 8px 24px rgba(13,76,114,.13);}
.admin-client-pilot-kpi.is-filter-selected {outline:2px solid #007e89;outline-offset:2px;}
.admin-client-pilot-kpi .admin-kpi-filter-trigger:focus-visible {outline:3px solid #007e89;outline-offset:3px;}

/* Vue transversale des situations : lecture française et classement. */
[data-admin-panel="situations"] .all-situations-note {padding:18px 20px;border:1px solid #cce4e8;border-radius:16px;background:#f1fafb;color:#36586c;margin-bottom:20px;}
[data-admin-panel="situations"] .all-situations-note strong {color:#175369;}
[data-admin-panel="situations"] .all-situations-note p {margin:7px 0;font-size:.88rem;line-height:1.6;}
[data-admin-panel="situations"] summary {cursor:pointer;color:#235477;font-weight:700;}
[data-admin-panel="situations"] .all-situations-note summary {font-size:.84rem;margin-top:8px;}
[data-admin-panel="situations"] .all-situations-filters {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px;padding:18px;border:1px solid #e0e9f2;border-radius:16px;background:#f8fbfd;}
[data-admin-panel="situations"] label {display:grid;gap:7px;color:#385773;font-size:.8rem;font-weight:700;min-width:0;}
[data-admin-panel="situations"] input,[data-admin-panel="situations"] select {box-sizing:border-box;width:100%;min-width:0;min-height:42px;padding:10px 12px;border:1px solid #ccdeea;border-radius:9px;background:#fff;color:#23445e;font:inherit;}
[data-admin-panel="situations"] .all-situations-search {grid-column:span 2;}
[data-admin-panel="situations"] .all-situations-toolbar {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:18px 0 8px;}
[data-admin-panel="situations"] .all-situations-toolbar p {font-size:.85rem;color:#47647e;}
[data-admin-panel="situations"] .all-situations-toolbar label {display:flex;align-items:center;gap:8px;}
[data-admin-panel="situations"] .all-situations-toolbar select {width:auto;}
[data-admin-panel="situations"] #all-situations-message {color:#25546c;font-size:.88rem;}
[data-admin-panel="situations"] #all-situations-list {display:grid;gap:22px;}
[data-admin-panel="situations"] .all-situations-card {border:1px solid #d7e6ef;border-radius:18px;background:#fff;box-shadow:0 6px 20px rgba(24,63,89,.035);overflow:hidden;}
[data-admin-panel="situations"] .all-situations-card > header {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px 20px;background:#f7fafc;border-bottom:1px solid #e4edf3;}
[data-admin-panel="situations"] .all-situations-card > header > div {display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
[data-admin-panel="situations"] .all-situations-id {font-size:.85rem;color:#1b4a6c;font-weight:800;}
[data-admin-panel="situations"] .all-situations-content {font-size:1rem;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;color:#203e58;margin:16px 20px;}
[data-admin-panel="situations"] .all-situations-card > .hint {margin:14px 20px 0;}
[data-admin-panel="situations"] .all-situations-missing {color:#9a5c10;font-weight:600;}
[data-admin-panel="situations"] .all-situations-answers {margin:0 20px 18px;border:1px solid #e1ebf2;border-radius:10px;padding:12px 15px;background:#fbfdfe;}
[data-admin-panel="situations"] .all-situations-answers summary {font-size:.85rem;}
[data-admin-panel="situations"] .all-situations-answers ol {padding-left:24px;margin:12px 0 0;}
[data-admin-panel="situations"] .all-situations-answers li {font-size:.9rem;line-height:1.6;color:#36516a;padding:5px 0;white-space:pre-wrap;overflow-wrap:anywhere;}
[data-admin-panel="situations"] .all-situations-answers section {padding:15px 0;border-top:1px solid #e1ebf2;margin-top:12px;}
[data-admin-panel="situations"] .all-situations-answers section .all-situations-content {margin:10px 0;}
[data-admin-panel="situations"] .all-situations-classification,[data-admin-panel="situations"] .all-situations-tags {padding:17px 20px;border-top:1px solid #e4edf3;}
[data-admin-panel="situations"] .all-situations-classification {background:#f8fcfd;}
[data-admin-panel="situations"] h3 {font-size:.85rem;color:#244b67;margin:0 0 12px;}
[data-admin-panel="situations"] h3 small {display:inline-block;padding:2px 7px;margin-left:5px;border-radius:20px;background:#e6f0f5;color:#4b6a7e;}
[data-admin-panel="situations"] .all-situations-usage {display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:9px 0;font-size:.8rem;line-height:1.5;padding:10px 0;border-bottom:1px solid #e3edf2;}
[data-admin-panel="situations"] .all-situations-usage:last-child {border-bottom:0;margin-bottom:0;}
[data-admin-panel="situations"] .all-situations-origin {border-radius:7px;padding:5px 8px;font-size:.74rem;font-weight:750;background:#e4f2f7;color:#175c78;}
[data-admin-panel="situations"] .all-situations-origin.library {background:#efe8fc;color:#67468b;}
[data-admin-panel="situations"] .all-situations-usage a {margin-left:auto;white-space:nowrap;font-weight:700;color:#007c89;}
[data-admin-panel="situations"] .all-situations-tag-list {display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px;}
[data-admin-panel="situations"] .all-situations-tag-list > span:not(.hint) {display:inline-flex;align-items:center;overflow:hidden;border:1px solid #cce4df;border-radius:20px;background:#edf7f2;}
[data-admin-panel="situations"] .all-situations-tag-list button {font:inherit;font-size:.8rem;background:transparent;border:0;padding:5px 10px;color:#2c6a57;cursor:pointer;}
[data-admin-panel="situations"] .all-situations-tag-list button+button {border-left:1px solid #cce4df;padding:5px 8px;}
[data-admin-panel="situations"] .all-situations-tag-list button:hover {background:#d8eee4;}
[data-admin-panel="situations"] [data-all-tag-form] {display:flex;gap:9px;max-width:520px;}
[data-admin-panel="situations"] .all-situations-tags > .hint {font-size:.75rem;margin:8px 0 0;line-height:1.5;}
[data-admin-panel="situations"] .all-situations-pagination {display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:24px;color:#45637b;font-size:.84rem;}
[data-admin-panel="situations"] .all-situations-sr-only {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
[data-admin-panel="situations"] button:disabled {opacity:.5;cursor:default;}
@media(max-width:1000px) {[data-admin-panel="situations"] .all-situations-filters {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:650px) {[data-admin-panel="situations"] .all-situations-filters {grid-template-columns:minmax(0,1fr);}[data-admin-panel="situations"] .all-situations-search {grid-column:auto;}[data-admin-panel="situations"] .all-situations-card > header {align-items:flex-start;}[data-admin-panel="situations"] .all-situations-content {font-size:.95rem;}[data-admin-panel="situations"] .all-situations-usage a {margin-left:0;}}

/* Menu de tags intégré : liste existante, recherche et création explicite. */
[data-admin-panel="situations"] .all-situations-tag-picker {position:relative;flex:1;min-width:0;}
[data-admin-panel="situations"] [data-all-tag-menu] {position:absolute;top:calc(100% + 6px);left:0;right:0;max-height:300px;overflow-y:auto;z-index:30;padding:7px;border:1px solid #bfd9df;border-radius:12px;background:#fff;box-shadow:0 10px 28px rgba(22,58,80,.17);}
[data-admin-panel="situations"] [data-all-tag-menu][hidden] {display:none;}
[data-admin-panel="situations"] .all-situations-card:has([data-all-tag-menu]:not([hidden])) {overflow:visible;position:relative;z-index:5;}
[data-admin-panel="situations"] [data-all-tag-menu] button {display:block;width:100%;padding:9px 10px;border:0;border-radius:7px;background:#fff;color:#2b5367;text-align:left;white-space:normal;font:inherit;font-size:.84rem;cursor:pointer;}
[data-admin-panel="situations"] [data-all-tag-menu] button:hover,[data-admin-panel="situations"] [data-all-tag-menu] button:focus-visible {background:#edf7f3;outline:2px solid #007e89;outline-offset:-2px;}
[data-admin-panel="situations"] [data-all-tag-menu] .all-tag-menu-heading {padding:7px 10px;color:#547282;font-size:.74rem;font-weight:750;border-bottom:1px solid #e5eef2;margin-bottom:5px;}
[data-admin-panel="situations"] [data-all-tag-menu] p {margin:6px 10px;color:#6a7f8e;font-size:.77rem;line-height:1.5;}
[data-admin-panel="situations"] [data-all-tag-menu] .all-tag-create {font-weight:750;color:#007e89;border-top:1px solid #d9e9e9;border-radius:0;margin-top:6px;padding-top:12px;}

/* Client destinataire : résultats visibles immédiatement sous la saisie. */
#client-campaign-copy-dialog .client-copy-picker{margin-bottom:18px;min-width:0}
#client-campaign-copy-dialog .client-copy-picker .field{margin-bottom:0}
#client-campaign-copy-dialog .client-copy-results:not([hidden]){display:block;max-height:180px;overflow-y:auto;overscroll-behavior:contain;margin:6px 0;border:1px solid #c9dce3;border-radius:10px;background:#fff;box-shadow:0 5px 16px #173b5f16}
#client-campaign-copy-dialog .client-copy-results [role=option]{display:block;width:100%;border:0;border-radius:0;padding:10px 14px;min-height:42px;background:#fff;color:#173b5f;text-align:left;font:inherit;cursor:pointer;white-space:normal;overflow-wrap:anywhere}
#client-campaign-copy-dialog .client-copy-results [role=option]:hover,#client-campaign-copy-dialog .client-copy-results [role=option].is-active{background:#eaf6f4}
#client-campaign-copy-dialog .client-copy-results [aria-selected=true]{font-weight:700}
#client-campaign-copy-dialog [data-copy-selection]{display:block;margin-top:7px;color:#52677d;font-size:.82rem}
#client-campaign-copy-dialog .client-copy-empty{margin:0;padding:12px 14px;color:#52677d}

/* Clickable help uses the shared Studio information dialog. */
.studio-info-modal-trigger{cursor:pointer}
.studio-info-modal-trigger:focus-visible{outline:2px solid #007f87;outline-offset:3px}
.studio-info-modal-trigger[data-info]::before,.studio-info-modal-trigger[data-info]::after{display:none}
.studio-info-modal-help .field-help-content{display:none}

/* Création de campagne depuis le dossier client : contenu ajusté à la modale. */
#client-campaign-create-dialog {
  width:min(680px,calc(100vw - 32px));
  max-width:calc(100vw - 32px);
  max-height:calc(100dvh - 32px);
}
#client-campaign-create-dialog form,
#client-campaign-create-dialog .field {
  min-width:0;
  max-width:100%;
}
#client-campaign-create-dialog select,
#client-campaign-create-dialog input {
  width:100%;
  min-width:0;
  max-width:100%;
}
#client-campaign-create-dialog .admin-library-note {
  flex-direction:column;
  gap:8px;
}
#client-campaign-create-dialog .admin-library-note strong {
  white-space:normal;
}
#client-campaign-create-dialog p,
#client-campaign-create-dialog .admin-library-note {
  overflow-wrap:anywhere;
}
#client-campaign-create-dialog .top-actions {
  flex-wrap:wrap;
}
#client-campaign-create-dialog .top-actions .button {
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
}

/* État vide des accès sur Mon compte. */
.account-access-empty {
  display:flex;
  align-items:center;
  gap:16px;
  margin:24px;
  padding:24px;
  border:1px dashed #cbdfe5;
  border-radius:16px;
  background:#f7fbfc;
  color:#234c66;
}
.account-access-empty-icon {
  display:grid;
  place-items:center;
  flex:0 0 52px;
  width:52px;
  height:52px;
  border-radius:50%;
  background:#e5f3f4;
  color:#007f87;
}
.account-access-empty strong {display:block;font-size:1rem;line-height:1.45;}
.account-access-empty p {margin:6px 0 0;color:#586e86;line-height:1.5;}
@media(max-width:600px){
  .account-access-empty {margin:16px;padding:20px;align-items:flex-start;flex-direction:column;}
}


/* Catalogue : sélecteur de modalité de réponse. */
.admin-library-situation-form [data-situation-kind]{
  display:block;
  width:100%;
  min-width:0;
  max-width:540px;
  min-height:48px;
  margin:4px 0 2px;
  padding:12px 44px 12px 14px;
  border:1px solid #c9dbe5;
  border-radius:12px;
  appearance:none;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2345677d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;
  color:#263e57;
  font:inherit;
  font-weight:600;
  cursor:pointer;
}
.admin-library-situation-form [data-situation-kind]:focus-visible{
  outline:3px solid #9ed8dc;
  outline-offset:2px;
  border-color:#087f81;
}
.admin-library-situation-form [data-situation-kind]:disabled{
  background-color:#f3f6f8;
  color:#667684;
  cursor:default;
  opacity:1;
}
.admin-library-situation-form label:has(> [data-situation-kind]){
  margin-bottom:20px;
}
.admin-library-situation-form label:has(> [data-situation-kind]) > small{
  max-width:850px;
  color:#617383;
  font-weight:400;
  line-height:1.5;
}
.admin-library-situation-form [data-situation-kind-status]{
  display:block;
  margin:4px 0;
  font-size:.82rem;
}
.admin-library-situation-form [data-situation-kind-status][data-save-state="saved"]{color:#21834a;}
.admin-library-situation-form [data-situation-kind-status][data-save-state="error"]{color:#b23838;}
/* Paramétrage : différencier l'exemple d'une adresse saisie. */
.diffusion-url-builder .diffusion-slug-input::placeholder{
  color:#78828d;
  opacity:1;
  font-weight:400;
  font-style:italic;
}
.diffusion-url-builder.is-empty{
  border:2px solid #b65a0b;
}
.diffusion-url-builder.is-empty .diffusion-slug-input{
  background-color:#fffdf8!important;
}
.diffusion-url-preview.is-pending{
  display:block;
  width:100%;
  padding:12px 14px;
  border:1px solid #e5b37a;
  border-left:4px solid #b65a0b;
  border-radius:10px;
  background:#fff4e5;
  color:#8a3e05;
  font-size:.9rem;
  font-weight:700;
  line-height:1.5;
}


/* Dossier client admin : actions de campagne et menu Cloner. */
.admin-client-page .admin-ad-actions > .campaign-more > summary{
  min-height:46px;
  padding:12px 16px;
  box-sizing:border-box;
  white-space:nowrap;
}
.admin-client-page .admin-ad-actions .admin-campaign-clone > summary{
  background:#edf7f7;
  border-color:#aed4d5;
  color:#09666e;
}
.admin-client-page .admin-ad-actions .campaign-more-menu{
  min-width:250px;
  width:max-content;
  max-width:calc(100vw - 48px);
}
.admin-client-page .admin-ad-actions .campaign-more-menu > a,
.admin-client-page .admin-ad-actions .campaign-more-menu > button{
  white-space:nowrap;
}
.admin-client-page .admin-ad-actions .campaign-more-menu button:disabled{
  color:#7a8591;
  background:#f4f6f8;
  cursor:not-allowed;
  opacity:1;
}
.admin-client-page .admin-ad-actions .campaign-more-menu :is(a,button):focus-visible,
.admin-client-page .admin-ad-actions .campaign-more > summary:focus-visible{
  outline:2px solid #087f81;
  outline-offset:2px;
}
.admin-client-page .admin-ad-actions .admin-campaign-sensitive{
  border-top:1px solid #e4e8ee;
  padding-top:5px;
  margin-top:5px;
}
@media(max-width:620px){
  .admin-client-page .admin-ad-actions .campaign-more-menu{
    min-width:0;
    width:100%;
    box-sizing:border-box;
  }
}

/* Keep the selected calendar view exclusive and its heading visible on entry. */
.calendar-page .studio-year-calendar[hidden],
.calendar-page .studio-month-calendar[hidden]{display:none!important}
.calendar-page .calendar-commandbar{scroll-margin-top:24px}
@media(max-width:760px){.calendar-page .calendar-commandbar{scroll-margin-top:90px}}

/* Le Studio identity — blue badge contrasts with the white navigation surfaces.
   Keep the supplied transparent PNG intact; never stretch or crop the badge. */
.sidebar-head {
  position:relative;
  justify-content:center;
  align-items:center;
  gap:0;
}
.sidebar-head .brand {
  width:100%;
  align-items:flex-start;
  margin-bottom:4px;
}
.sidebar-head .sidebar-collapse { position:absolute; top:0; right:0; }
body.sidebar-collapsed .sidebar-head .sidebar-collapse { position:static; }
body.sidebar-collapsed .sidebar-head { gap:8px; }
body.sidebar-collapsed .sidebar-head .brand { align-items:center; margin-bottom:4px; }
.sidebar-head .brand .studio-brand-logo { display:block; width:100px; max-width:100%; height:auto; object-fit:contain; }
body.sidebar-collapsed .brand .studio-brand-logo { width:60px; height:auto; }
.mobile-header .studio-brand-logo { display:block; width:76px; height:auto; object-fit:contain; }
.login-card > .studio-brand-logo { display:block; width:180px; max-width:100%; height:auto; justify-self:center; object-fit:contain; }
@media(max-width:768px) {
  body.sidebar-collapsed .sidebar-head .brand .studio-brand-logo { width:100px; }
}

/* Navigation rapide des pages longues et des fenêtres de consultation. */
.studio-back-to-top{position:fixed;right:24px;bottom:24px;z-index:120;display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:11px 16px;border:1px solid #00636c;border-radius:999px;background:#007883;color:#fff;font:700 .88rem/1.2 "Asap",sans-serif;box-shadow:0 6px 22px #173a5530;cursor:pointer}
.studio-back-to-top[hidden]{display:none!important}
.studio-back-to-top:hover{background:#00636c}
.studio-back-to-top>span:first-child{font-size:1.35rem;line-height:1}
.studio-back-to-top:focus-visible{outline:3px solid #ffc000;outline-offset:3px}
.studio-collapse-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line,#dce7ee)}
.studio-collapse-footer .button{white-space:normal}
[data-situation-card],[data-library-chapter],details.topic-card-accordion{scroll-margin-top:24px}
@media(max-width:980px){.studio-back-to-top{right:14px;bottom:calc(88px + env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

/* Validation — demandes de traduction de l’introduction et des données d’analyse. */
.validation-translation-card {
  padding: 28px;
  margin-block: 24px;
  min-width: 0;
}
.validation-translation-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}
.validation-translation-head .eyebrow { margin: 0 0 8px; }
.validation-translation-head .section-title { margin: 0; }
.validation-translation-badge {
  flex-shrink: 0;
  padding: 7px 12px;
  border-radius: 999px;
  color: #006b76;
  background: #e9f6f7;
  font-size: .85rem;
  font-weight: 700;
  white-space: nowrap;
}
.validation-translation-description { margin: 14px 0 20px; line-height: 1.6; }
.validation-translation-list {
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.validation-translation-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 20px;
  border: 1px solid #dbe4ee;
  border-radius: 14px;
  background: #f7fafc;
}
.validation-translation-copy { display: grid; gap: 5px; min-width: 0; overflow-wrap: anywhere; }
.validation-translation-copy strong { color: var(--navy); font-size: 1.05rem; }
.validation-translation-copy span { font-size: .95rem; }
.validation-translation-copy small { color: #65758c; font-size: .85rem; }
.validation-translation-link { flex-shrink: 0; text-align: center; }
.validation-socio-count { font-size: 1.65rem; }
.validation-socio-details { margin-top: 12px; font-size: .9rem; font-weight: 400; }
.validation-socio-details summary { cursor: pointer; color: #006b76; font-weight: 700; }
.validation-socio-details ul { margin: 12px 0 0; padding-left: 20px; display: grid; gap: 8px; overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .validation-translation-card { padding: 20px; }
  .validation-translation-head { flex-wrap: wrap; gap: 12px; }
  .validation-translation-row { flex-direction: column; align-items: stretch; padding: 16px; gap: 16px; }
  .validation-translation-link { width: 100%; white-space: normal; }
}

/* Relecture — distinguer une traduction renseignée d’une demande clôturée. */
.validation-translation-state { color: #856000; font-weight: 700; }
.validation-translation-state.is-ready { color: #176344; }
.validation-translation-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 10px; min-width: 0; }
.validation-translation-actions .button { white-space: normal; text-align: center; }
.validation-translation-actions [role="alert"] { flex-basis: 100%; color: #a62d34; margin: 4px 0 0; }
@media (max-width: 700px) {
  .validation-translation-actions { flex-direction: column; align-items: stretch; }
}

/* Aperçu répondant : traductions manquantes signalées, jamais remplacées en silence */
.rp-missing{margin:12px 0;padding:12px 14px;border:1px solid #d97706;border-radius:10px;background:#fff7ed;color:#7c2d12;font-size:.95rem;line-height:1.45}
.rp-missing small{display:block;margin-top:6px;color:#9a3412}
.rp-missing-tag{display:inline-block;padding:2px 8px;border-radius:999px;background:#fff7ed;border:1px solid #d97706;color:#9a3412;font-size:.8rem;font-style:normal;font-weight:600}

/* Un bouton masqué par l'attribut hidden (ex. « Annuler » des fenêtres d'information) ne doit jamais
   réapparaître à cause du display des classes de boutons. */
button[hidden],.button[hidden],.studio-modal [hidden]{display:none!important}

/* Passations lues sur la page stats du moteur (dossier client admin). */
.admin-ad-stats {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin: 0 0 14px;
  padding: 10px 12px;
  border: 1px solid #e2ebf0;
  border-radius: 10px;
  background: #f7fafc;
}
.admin-ad-stats > div,
.admin-ad-stats.is-missing {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.admin-ad-stats span {
  color: #60778a;
  font-size: .86rem;
}
.admin-ad-stats.is-missing,
.admin-ad-stats.is-failing {
  border-color: #f1d9a8;
  background: #fff8ea;
}
.admin-ad-stats .admin-ad-stats-error {
  color: #8a5a00;
  overflow-wrap: anywhere;
}
.admin-ad-stats > .button {
  flex: 0 0 auto;
  white-space: nowrap;
}
.admin-legacy-credits {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f7fafc;
  color: #60778a;
}
.admin-legacy-credits strong {
  color: #17355f;
}
.admin-legacy-credits.has-gap {
  background: #fff8ea;
}
.admin-legacy-credits-gap {
  color: #8a5a00;
  font-weight: 700;
}
@media (max-width: 640px) {
  .admin-ad-stats {
    flex-direction: column;
    align-items: stretch;
  }
}
.admin-legacy-credits-mode {
  margin-top: 4px;
  font-size: .86rem;
}
.admin-legacy-credits-mode.is-manual {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: #8a5a00;
}
/* Répondants d'une campagne côté client (lus chaque nuit sur la page stats du moteur). */
.campaign-respondents {
  flex: 1 0 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid #e2ebf0;
  border-radius: 12px;
  background: #fff;
}
.campaign-respondents-value {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
}
.campaign-respondents-value strong {
  font-size: 1.35rem;
  color: #17355f;
}
.campaign-respondents-date,
.campaign-respondents-note {
  flex-basis: 100%;
  color: #60778a;
  font-size: .86rem;
}
@media (max-width: 640px) {
  .campaign-respondents {
    flex-direction: column;
    align-items: stretch;
  }
}
/* Jauge du pack sur l'accueil client. */
.dashboard-pack-gauge {
  margin: 0 0 28px;
  padding: 18px 20px;
}
.dashboard-pack-gauge-head {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px 16px;
  margin-bottom: 10px;
}
.dashboard-pack-gauge-head span,
.dashboard-pack-gauge p {
  color: #60778a;
}
.dashboard-pack-gauge-bar {
  height: 12px;
  border-radius: 999px;
  background: #e8f0f4;
  overflow: hidden;
}
.dashboard-pack-gauge-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #0d7a80;
}
.dashboard-pack-gauge p {
  margin: 10px 0 0;
  font-size: .92rem;
}
/* Répondants sur les cartes de « Mes campagnes ». */
.campaign-project-respondents {
  margin: 8px 0 2px;
  color: #17355f;
}
.campaign-project-respondents strong {
  font-size: 1.05rem;
}
.campaign-project-respondents span {
  color: #60778a;
  font-size: .86rem;
}

/* ==========================================================================
   Accueil client : progression Studio (gamification B2B).
   Mesure l'activation du programme, jamais le niveau d'inclusion.
   ========================================================================== */
.studio-progress {
  display: grid;
  gap: 18px;
  margin: 0 0 30px;
}
.sp-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.sp-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 22px 24px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--surface);
  box-shadow: 0 10px 30px rgba(39, 58, 100, .06);
  overflow: hidden;
  animation: sp-rise .5s ease both;
}
.sp-row:nth-child(2) .sp-card { animation-delay: .12s; }
.sp-card h3 {
  margin: 0;
  color: var(--royal-blue);
  font-size: 1.18rem;
  line-height: 1.3;
}
.sp-card p { margin: 0; color: var(--muted); }
.sp-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}
.sp-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--green-blue);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.sp-figure {
  color: var(--royal-blue);
  font-size: 1.9rem;
  font-weight: 900;
  line-height: 1;
}
.sp-figure small { font-size: 1rem; color: var(--muted); font-weight: 700; }
.sp-meta { font-size: .9rem; }

/* Jauges */
.sp-bar {
  position: relative;
  height: 14px;
  margin: 6px 0 18px;
  border-radius: 999px;
  background: var(--green-blue-soft);
}
.sp-bar-small { height: 10px; margin-bottom: 16px; }
.sp-bar-fill {
  position: relative;
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--green-blue), #19a3a9);
  transition: width 1.2s cubic-bezier(.2, .8, .2, 1);
  overflow: hidden;
}
.sp-bar-fill::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, transparent 20%, rgba(255, 255, 255, .45) 50%, transparent 80%);
  transform: translateX(-100%);
  animation: sp-shimmer 2.8s ease-in-out 1.2s infinite;
}
.sp-tick {
  position: absolute;
  top: -3px;
  width: 2px;
  height: calc(100% + 6px);
  background: rgba(39, 58, 100, .18);
}
.sp-tick b {
  position: absolute;
  top: calc(100% + 3px);
  left: 50%;
  transform: translateX(-50%);
  color: #8a94ad;
  font-size: .68rem;
  white-space: nowrap;
}
.sp-tick.is-reached { background: var(--sunny-yellow); }
.sp-tick.is-reached b { color: var(--royal-blue); }
.sp-tick.is-goal { background: var(--sunny-yellow); }

/* Appels à l'action qui pulsent */
.sp-card .button { align-self: flex-start; margin-top: auto; }
.sp-cta.is-pulse { animation: sp-pulse 2.4s ease-out infinite; }
.sp-cta.is-urgent {
  background: var(--sunny-yellow);
  border-color: var(--sunny-yellow);
  color: var(--royal-blue-dark);
  animation: sp-pulse-strong 1.6s ease-out infinite;
}
.sp-pulse-dot {
  position: relative;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--sunny-yellow);
}
.sp-pulse-dot::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: var(--sunny-yellow);
  animation: sp-ping 1.8s cubic-bezier(0, 0, .2, 1) infinite;
}
.sp-next {
  background: linear-gradient(135deg, var(--royal-blue-tint), #fff 60%);
  border-color: #d8e0f0;
}

/* Missions */
.sp-mission-list {
  display: grid;
  gap: 8px;
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
}
.sp-mission-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--royal-blue);
  font-weight: 600;
}
.sp-mission-list li small {
  display: block;
  color: var(--muted);
  font-weight: 500;
  font-size: .8rem;
}
.sp-check {
  display: inline-grid;
  place-items: center;
  flex: 0 0 24px;
  height: 24px;
  border: 2px solid var(--line);
  border-radius: 50%;
  color: #fff;
  font-size: .8rem;
  font-weight: 900;
}
.sp-mission-list li.is-done .sp-check {
  border-color: var(--green-blue);
  background: var(--green-blue);
  animation: sp-pop .45s ease both;
}
.sp-mission-list li.is-done > span:nth-child(2) { color: var(--muted); }

/* Couverture des thématiques */
.sp-theme-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 8px;
  margin-top: 4px;
}
.sp-theme {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 8px;
  align-items: center;
  padding: 9px 10px;
  border: 1px dashed #c9d2e4;
  border-radius: 12px;
  color: var(--royal-blue);
  font-size: .84rem;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.sp-theme small { grid-column: 2; color: var(--muted); font-weight: 600; font-size: .72rem; }
.sp-theme-state {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--royal-blue-soft);
  font-weight: 900;
}
.sp-theme.is-explored {
  border-style: solid;
  border-color: var(--green-blue);
  background: var(--green-blue-soft);
}
.sp-theme.is-explored .sp-theme-state { background: var(--green-blue); color: #fff; }
.sp-theme:not(.is-explored):hover,
.sp-theme:not(.is-explored):focus-visible {
  transform: translateY(-2px);
  border-color: var(--sunny-yellow);
  box-shadow: 0 6px 16px rgba(255, 192, 0, .2);
}
.sp-theme:not(.is-explored):hover small::after { content: " · votre pack s’applique"; }

@keyframes sp-rise { from { transform: translateY(10px); } to { transform: none; } }
@keyframes sp-shimmer { 0% { transform: translateX(-100%); } 60%, 100% { transform: translateX(100%); } }
@keyframes sp-pulse { 0% { box-shadow: 0 0 0 0 rgba(0, 120, 131, .45); } 70% { box-shadow: 0 0 0 12px rgba(0, 120, 131, 0); } 100% { box-shadow: 0 0 0 0 rgba(0, 120, 131, 0); } }
@keyframes sp-pulse-strong { 0% { box-shadow: 0 0 0 0 rgba(255, 192, 0, .7); } 70% { box-shadow: 0 0 0 16px rgba(255, 192, 0, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 192, 0, 0); } }
@keyframes sp-ping { 75%, 100% { transform: scale(2.4); opacity: 0; } }
@keyframes sp-pop { 0% { transform: scale(.4); } 70% { transform: scale(1.15); } 100% { transform: scale(1); } }

@media (max-width: 900px) {
  .sp-row { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .sp-card, .sp-cta, .sp-pulse-dot::after, .sp-bar-fill::after, .sp-mission-list li.is-done .sp-check { animation: none !important; }
  .sp-bar-fill { transition: none; }
}

/* Suivi de campagne : jauge de participation et célébration de fin de campagne. */
.campaign-respondents { flex-wrap: wrap; }
.campaign-participation {
  flex: 1 0 100%;
  display: grid;
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.campaign-participation-head { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.campaign-participation-head strong { color: var(--royal-blue); font-size: 1.6rem; font-weight: 900; }
.campaign-participation-head span, .campaign-participation p { color: var(--muted); margin: 0; }
.campaign-participation .cp-cta { justify-self: start; animation: sp-pulse 2.4s ease-out infinite; }
.cp-bar {
  position: relative;
  height: 14px;
  margin: 4px 0 22px;
  border-radius: 999px;
  background: var(--green-blue-soft);
}
.cp-bar-fill {
  position: relative;
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--green-blue), #19a3a9);
  transition: width 1.2s cubic-bezier(.2, .8, .2, 1);
  overflow: hidden;
}
.cp-bar-fill::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, transparent 20%, rgba(255, 255, 255, .45) 50%, transparent 80%);
  transform: translateX(-100%);
  animation: sp-shimmer 2.8s ease-in-out 1.2s infinite;
}
.campaign-participation.is-complete .cp-bar-fill { background: linear-gradient(90deg, var(--green-blue), var(--sunny-yellow)); }
.cp-tick {
  position: absolute;
  top: -3px;
  width: 2px;
  height: calc(100% + 6px);
  background: rgba(39, 58, 100, .18);
}
.cp-tick:last-of-type { left: calc(100% - 2px) !important; }
.cp-tick b {
  position: absolute;
  top: calc(100% + 3px);
  left: 50%;
  transform: translateX(-50%);
  color: #8a94ad;
  font-size: .72rem;
  white-space: nowrap;
}
.cp-tick:last-of-type b { left: auto; right: 0; transform: none; }
.cp-tick.is-reached { background: var(--sunny-yellow); }
.cp-tick.is-reached b { color: var(--royal-blue); font-weight: 800; }

.campaign-celebration {
  position: relative;
  margin: 0 0 24px;
  padding: 28px;
  border-radius: 22px;
  background: linear-gradient(135deg, var(--royal-blue) 0%, var(--green-blue) 100%);
  color: #fff;
  overflow: hidden;
  animation: sp-rise .5s ease both;
}
.campaign-celebration h2 { margin: 2px 0 18px; color: #fff; font-size: 1.6rem; }
.cc-eyebrow { margin: 0; color: var(--sunny-yellow); font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cc-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 12px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}
.cc-facts li {
  display: grid;
  gap: 2px;
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .12);
}
.cc-facts strong { font-size: 1.7rem; font-weight: 900; line-height: 1.1; }
.cc-facts span { color: rgba(255, 255, 255, .85); font-size: .9rem; }
.cc-actions:empty { display: none; }
.cc-actions .button-secondary { background: #fff; }
.cc-next {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 16px;
  padding: 16px 18px;
  border-radius: 14px;
  background: #fff;
  color: var(--royal-blue);
}
.cc-next div { display: grid; gap: 2px; }
.cc-next span { color: var(--muted); }
.cc-cta { animation: sp-pulse 2.4s ease-out infinite; }
.cc-confetti { position: absolute; inset: 0; pointer-events: none; }
.cc-confetti i {
  position: absolute;
  top: -12px;
  left: var(--x);
  width: 8px;
  height: 14px;
  border-radius: 2px;
  background: var(--sunny-yellow);
  opacity: 0;
  animation: cc-fall 2.6s ease-in var(--d) 1 both;
}
.cc-confetti i:nth-child(3n) { background: #fff; }
.cc-confetti i:nth-child(3n+1) { background: #7fd3d7; }
@keyframes cc-fall {
  0% { opacity: 1; transform: translateY(0) rotate(0); }
  100% { opacity: 0; transform: translateY(320px) rotate(var(--r)); }
}
@media (prefers-reduced-motion: reduce) {
  .cp-cta, .cc-cta, .cp-bar-fill::after, .campaign-celebration { animation: none !important; }
  .cp-bar-fill { transition: none; }
  .cc-confetti { display: none; }
}

/* Cockpit DEI : votre année avec Me&YouToo (frise et comparaison avec ses propres campagnes). */
.dei-year {
  display: grid;
  gap: 20px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: linear-gradient(180deg, var(--royal-blue-tint), #fff 70%);
  animation: sp-rise .5s ease both;
}
.dy-head h2 { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 4px 0; color: var(--royal-blue); }
.dy-head p { margin: 0; color: var(--muted); }
.dy-count { color: var(--green-blue); font-size: 2.2rem; font-weight: 900; }
.dy-timeline {
  position: relative;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(220px, 300px);
  gap: 14px;
  width: fit-content;
  max-width: 100%;
  margin: 0;
  padding: 36px 2px 6px;
  list-style: none;
  overflow-x: auto;
}
.dy-timeline::before {
  content: "";
  position: absolute;
  top: 16px;
  left: 0;
  right: 0;
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--green-blue), var(--sunny-yellow));
}
.dy-item {
  position: relative;
  display: grid;
  gap: 3px;
  padding: 22px 16px 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(39, 58, 100, .06);
}
.dy-dot {
  position: absolute;
  top: -20px;
  left: 16px;
  width: 16px;
  height: 16px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--green-blue);
  box-shadow: 0 0 0 2px var(--green-blue);
  transform: translateY(-50%);
}
.dy-item.is-upcoming { border-style: dashed; background: var(--royal-blue-tint); }
.dy-item.is-upcoming .dy-dot { background: var(--sunny-yellow); box-shadow: 0 0 0 2px var(--sunny-yellow); animation: sp-pulse-strong 1.8s ease-out infinite; }
.dy-month { margin: 0; color: var(--green-blue); font-size: .78rem; font-weight: 800; text-transform: capitalize; }
.dy-item strong { color: var(--royal-blue); }
.dy-theme, .dy-stats { color: var(--muted); font-size: .86rem; }
.dy-stats b { color: var(--royal-blue); }
.dy-bench {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 12px;
}
.dy-bench article {
  display: grid;
  gap: 2px;
  padding: 14px 16px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid var(--line);
}
.dy-bench span, .dy-bench small { color: var(--muted); font-size: .84rem; }
.dy-bench strong { color: var(--royal-blue); font-size: 1.6rem; font-weight: 900; }
.dy-bench em { font-style: normal; font-size: 1.1rem; }
.dy-bench .is-up { color: var(--green-blue); }
.dy-bench .is-down { color: #8a94ad; }
.dy-bench article.is-progress { background: var(--green-blue-soft); border-color: var(--green-blue); }
.dy-next {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 14px 18px;
  border-radius: 14px;
  background: #fff;
  color: var(--royal-blue);
  font-weight: 700;
}
.dy-empty { margin: 0; color: var(--muted); }
@media (prefers-reduced-motion: reduce) {
  .dei-year, .dy-item.is-upcoming .dy-dot { animation: none !important; }
}
/* Missions : barre de progression vers le prochain palier. */
.sp-mission-list li > span:nth-child(2) { flex: 1; }
.sp-mini-bar {
  display: block;
  height: 5px;
  margin-top: 4px;
  border-radius: 999px;
  background: var(--green-blue-soft);
  overflow: hidden;
}
.sp-mini-bar b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--green-blue);
}

/* Photo du compte : toujours un cercle, même quand la zone du profil est étroite. */
.avatar {
  flex: 0 0 auto;
  align-self: center;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
/* Page Notifications : suppression personnelle d'une notification. */
.notification-item-delete {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #fff;
  color: var(--muted);
  font-size: .85rem;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease;
}
.notification-item-delete:hover,
.notification-item-delete:focus-visible {
  border-color: #e3a3a3;
  background: #fff4f4;
}
/* Menu de la cloche : bouton de suppression à côté de « marquer comme lu ». */
.notification-item:has(.notification-item-delete) {
  grid-template-columns: 34px minmax(0, 1fr) 28px 28px;
}
.notification-item .notification-item-delete {
  width: 25px;
  height: 25px;
  margin-top: 4px;
  font-size: .75rem;
}
.notification-item.is-removing { opacity: .4; transition: opacity .2s ease; }

/* Accueil : en-tête du parcours (score d'activation, chiffres clés, réussites, série). */
.sp-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 18px 28px;
  align-items: center;
  background: linear-gradient(135deg, #fff 0%, var(--green-blue-soft) 100%);
}
.sp-score { display: flex; align-items: center; gap: 18px; }
.sp-score h3 { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 4px 0; }
.sp-score-ring {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 108px;
  height: 108px;
  border-radius: 50%;
  background:
    radial-gradient(closest-side, #fff 78%, transparent 79% 100%),
    conic-gradient(var(--green-blue) calc(var(--score) * 1%), var(--sunny-yellow) 0 calc(var(--score) * 1% + .6%), var(--green-blue-soft) 0);
  animation: sp-pop .6s ease both;
}
.sp-score-ring strong { color: var(--royal-blue); font-size: 2rem; font-weight: 900; line-height: 1; }
.sp-score-ring small { font-size: 1rem; }
.sp-streak { margin: 4px 0 0; color: var(--royal-blue) !important; font-weight: 700; }
.sp-kpis {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}
.sp-kpis div {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}
.sp-kpis dt { color: var(--muted); font-size: .8rem; }
.sp-kpis dd { margin: 2px 0 0; color: var(--royal-blue); font-size: 1.4rem; font-weight: 900; }
.sp-kpis dd small { color: var(--muted); font-size: .9rem; }
.sp-badges { grid-column: 1 / -1; display: grid; gap: 8px; }
.sp-badges ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.sp-badges li {
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--sunny-yellow-soft);
  border: 1px solid #f3dd94;
  color: var(--royal-blue);
  font-size: .82rem;
  font-weight: 800;
  animation: sp-pop .45s ease both;
}
.sp-value { padding: 8px 10px; border-radius: 10px; background: var(--green-blue-soft); color: var(--royal-blue) !important; font-size: .9rem; }
@media (max-width: 900px) {
  .sp-hero { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .sp-score-ring, .sp-badges li { animation: none !important; }
}
/* Pages thématiques : rappel pour un diagnostic jamais exploré. */
.theme-nudge {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin: 0 0 20px;
  padding: 16px 18px;
  border: 1px solid #f3dd94;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--sunny-yellow-soft), #fff);
  animation: sp-rise .5s ease both;
}
.theme-nudge > div { flex: 1 1 280px; display: grid; gap: 4px; color: var(--royal-blue); }
.theme-nudge p { margin: 0; color: var(--muted); }
.theme-nudge-icon { font-size: 1.6rem; }
/* Suivi de campagne : modification de l'objectif de participation. */
.campaign-objective { flex: 1 0 100%; display: grid; gap: 8px; }
.campaign-objective-toggle {
  justify-self: start;
  padding: 0;
  border: 0;
  background: none;
  color: var(--green-blue);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.campaign-objective-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; }
.campaign-objective-form label { display: grid; gap: 4px; color: var(--muted); font-size: .86rem; }
.campaign-objective-form input { width: 160px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; font: inherit; }
.campaign-objective-error { flex-basis: 100%; color: #a33; font-size: .86rem; }
.campaign-objective-history summary { color: var(--muted); font-size: .86rem; cursor: pointer; }
.campaign-objective-history ul { margin: 6px 0 0; padding-left: 18px; color: var(--muted); font-size: .86rem; }
.dy-streak { margin-top: 6px !important; color: var(--royal-blue) !important; font-weight: 800; }
/* Dossier client : stats protégées, saisie manuelle des crédits. */
.admin-ad-stats.is-manual { border-color: #f1d9a8; background: #fff8ea; }
.admin-ad-stats.is-manual strong { color: #8a5a00; }
.admin-legacy-credits.is-manual strong { color: #8a5a00; }
.admin-manual-stats { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px; margin-top: 6px; }
.admin-manual-stats label { display: grid; gap: 3px; color: #8a5a00; font-size: .82rem; }
.admin-manual-stats input { width: 130px; padding: 7px 9px; border: 1px solid #f1d9a8; border-radius: 9px; font: inherit; }
.dy-source { color: var(--muted); font-size: .9rem; font-weight: 600; }
.admin-manual-stats-edit { padding: 0; border: 0; background: none; color: var(--green-blue); font: inherit; font-weight: 700; cursor: pointer; }
.admin-manual-stats-saved { color: #1d7a4a !important; font-weight: 800; animation: sp-pop .35s ease both; }
.admin-ad-stats.is-manual > div > strong:first-child { color: var(--royal-blue); }
/* Le formulaire de saisie manuelle reste fermé tant qu'on ne clique pas sur « Corriger ». */
.admin-manual-stats[hidden], .campaign-objective-form[hidden] { display: none !important; }

/* Frise de vie d'une campagne (StudioJourney, app.js) : cinq étapes, qui agit et la prochaine étape. */
.studio-journey { margin: 0 0 24px; padding: 22px 24px; }
nav.steps[hidden] { display: none; }
.studio-journey .section-title { margin-bottom: 4px; }
.studio-journey-steps { margin: 14px 0 0; padding: 0; list-style: none; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.studio-journey-steps .studio-process-step { min-height: 0; }
.studio-journey-next { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 16px; padding: 14px 16px; border-radius: var(--radius-sm); background: var(--royal-blue-tint); }
.studio-journey-next .button { white-space: nowrap; }
.studio-journey-next p { flex: 1 1 280px; margin: 0; color: var(--ink); line-height: 1.45; }
.studio-journey-owner { display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 999px; font-size: .78rem; font-weight: 800; white-space: nowrap; }
.is-client .studio-journey-owner { background: var(--sunny-yellow-soft); color: var(--warning); }
.is-team .studio-journey-owner { background: var(--green-blue-soft); color: var(--green-blue-dark); }
.is-auto .studio-journey-owner { background: var(--royal-blue-soft); color: var(--royal-blue); }
.is-live .studio-journey-owner { background: var(--green-blue-soft); color: var(--green-blue-dark); }
.studio-journey-mini { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 12px 0 0; color: var(--muted); font-size: .82rem; font-weight: 600; }
.studio-journey-mini ol { display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; }
.studio-journey-mini li { width: 22px; height: 6px; border-radius: 3px; background: var(--line); }
.studio-journey-mini li.is-done { background: #0d8791; }
.studio-journey-mini li.is-current { background: #e0a322; }
.studio-journey-mini:not(.is-client) li.is-current { background: #7cc3c9; }
@media (max-width: 700px) {
  .studio-journey { padding: 18px 16px; }
  .studio-journey-steps { grid-template-columns: 1fr; }
  .studio-journey-steps .studio-process-step { display: grid; grid-template-columns: 28px 1fr; column-gap: 10px; padding: 10px 12px; }
  .studio-journey-steps .studio-process-step span { grid-row: span 2; margin: 0; }
}

/* Visites guidées (StudioTour, app.js) : zone mise en avant et bulle d'explication. */
.studio-tour { position: fixed; inset: 0; z-index: 1000; }
.studio-tour.is-centered { background: rgba(27, 42, 73, .55); }
.studio-tour-spot { position: fixed; border-radius: 14px; box-shadow: 0 0 0 9999px rgba(27, 42, 73, .55); outline: 3px solid var(--sunny-yellow); pointer-events: none; transition: top .25s, left .25s, width .25s, height .25s; }
.studio-tour-bubble { position: fixed; width: min(380px, calc(100vw - 24px)); padding: 20px 22px 16px; border-radius: var(--radius-md); background: var(--surface); color: var(--ink); box-shadow: var(--shadow-lg); }
.studio-tour.is-centered .studio-tour-bubble { top: 50%; left: 50%; transform: translate(-50%, -50%); }
.studio-tour-count { color: var(--green-blue); font-size: .78rem; font-weight: 800; letter-spacing: .04em; }
.studio-tour-bubble h2 { margin: 4px 0 8px; font-size: 1.15rem; }
.studio-tour-bubble p { margin: 0; color: var(--muted); line-height: 1.5; }
.studio-tour-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 16px; }
.studio-tour-actions > span { display: flex; gap: 8px; }
.studio-tour-actions .button[hidden] { display: none; }
.studio-tour-skip { padding: 6px 0; border: 0; background: none; color: var(--muted); font: inherit; font-size: .88rem; text-decoration: underline; cursor: pointer; }
.help-tour-button { display: block; margin: 0 0 10px; padding: 0; border: 0; background: none; color: var(--green-blue-dark); font: inherit; font-size: .85rem; font-weight: 700; text-decoration: underline; cursor: pointer; text-align: left; }
.help-tour-button[hidden] { display: none; }
@media (max-width: 639px) {
  .studio-tour-bubble, .studio-tour.is-centered .studio-tour-bubble { top: auto; left: 12px; right: 12px; bottom: 12px; width: auto; transform: none; }
}
@media (prefers-reduced-motion: reduce) { .studio-tour-spot { transition: none; } }

/* Tutoriels vidéo (StudioTutorial, app.js) : bouton près du temps moyen et lecteur en fenêtre. */
.studio-tuto-button { display: inline-flex; align-items: center; gap: 6px; margin: 8px 0 0 8px; padding: 7px 12px; border: 1px solid var(--green-blue); border-radius: 999px; background: var(--surface); color: var(--green-blue-dark); font: inherit; font-size: .85rem; font-weight: 800; cursor: pointer; }
.studio-tuto-button small { color: var(--muted); font-weight: 600; }
.studio-tuto-button:hover, .studio-tuto-button:focus-visible { background: var(--green-blue-soft); }
.studio-tuto-dialog { width: min(1500px, calc(100vw - 24px)); max-width: none; max-height: calc(100vh - 16px); padding: 0; background: var(--surface); border: 0; border-radius: var(--radius-md); }
.studio-tuto-dialog::backdrop { background: rgba(27, 42, 73, .6); }
.studio-tuto-shell { position: relative; padding: 10px 14px 14px; }
.studio-tuto-shell h2 { margin: 0 40px 8px 0; font-size: 1.2rem; color: var(--ink); }
.studio-tuto-shell .studio-modal-close { position: absolute; top: 14px; right: 14px; }
/* Hauteur calculée pour afficher les captures à leur taille réelle (1456 × 818) dès que la fenêtre le permet : réduites, elles deviennent floues. */
.studio-tuto-player { position: relative; height: min(calc((min(1500px, 100vw - 24px) - 28px) * .562 + 52px), calc(100vh - 92px)); border-radius: var(--radius-sm); overflow: hidden; background: #000; }
.studio-tuto-player video, .studio-tuto-player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
/* Nouveautés : bulle discrète en bas à droite + historique dans une fenêtre */
.studio-news { position: fixed; right: 20px; bottom: 20px; z-index: 900; width: min(360px, calc(100vw - 24px)); padding: 18px 20px 16px; border-radius: var(--radius-md); background: var(--surface); color: var(--ink); box-shadow: var(--shadow-lg); border-top: 4px solid var(--sunny-yellow); animation: studio-news-in .3s ease-out; }
@keyframes studio-news-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.studio-news-close { position: absolute; top: 8px; right: 10px; padding: 4px 8px; border: 0; background: none; color: var(--muted); font-size: 1.3rem; line-height: 1; cursor: pointer; }
.studio-news-pill { display: inline-block; margin-right: 8px; padding: 2px 9px; border-radius: 999px; background: var(--sunny-yellow); color: var(--ink); font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.studio-news-count { color: var(--muted); font-size: .78rem; font-weight: 700; }
.studio-news h2 { margin: 8px 24px 6px 0; font-size: 1.05rem; }
.studio-news p { margin: 0; color: var(--muted); font-size: .92rem; line-height: 1.5; }
.studio-news-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 14px; }
.studio-news-link { color: var(--green-blue-dark); font-size: .9rem; font-weight: 800; }
.help-news-button { display: flex; align-items: center; gap: 6px; }
.help-news-count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--sunny-yellow); color: var(--ink); font-size: .72rem; font-weight: 800; text-decoration: none; }
.help-news-count[hidden] { display: none; }
.studio-news-dialog { width: min(620px, calc(100vw - 32px)); }
.studio-news-shell { position: relative; max-height: calc(100vh - 64px); overflow: auto; padding: 24px 26px; border-radius: 24px; background: var(--surface); box-shadow: 0 28px 80px rgba(13, 36, 52, 0.28); }
.studio-news-shell h2 { margin: 2px 40px 14px 0; font-size: 1.3rem; }
.studio-news-shell .studio-modal-close { position: absolute; top: 16px; right: 16px; }
.studio-news-list { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.studio-news-list li { padding: 14px 16px; border: 1px solid var(--line, rgba(13, 76, 114, .12)); border-radius: var(--radius-md); }
.studio-news-list strong { display: block; margin: 6px 0 4px; }
.studio-news-list p { margin: 0 0 6px; color: var(--muted); line-height: 1.5; }
.studio-news-list a { color: var(--green-blue-dark); font-weight: 800; }
.studio-news-meta { color: var(--muted); font-size: .8rem; font-weight: 700; }
@media (max-width: 639px) { .studio-news { right: 12px; left: 12px; bottom: calc(76px + env(safe-area-inset-bottom, 0px)); width: auto; } }
@media (prefers-reduced-motion: reduce) { .studio-news { animation: none; } }
/* Calendrier : frise annuelle des campagnes */
.cal-timeline { margin: 0 0 22px; padding: 22px 24px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-md); }
.cal-timeline[hidden] { display: none; }
.cal-tl-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px 24px; margin-bottom: 16px; }
.cal-tl-head h3 { margin: 0 0 4px; font-size: 1.2rem; color: var(--ink); }
.cal-tl-head p { margin: 0; color: var(--muted); font-size: .9rem; }
.cal-tl-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0; padding: 0; list-style: none; color: var(--muted); font-size: .8rem; font-weight: 700; }
.cal-tl-legend li { display: inline-flex; align-items: center; gap: 6px; }
.cal-tl-legend li::before { content: ""; width: 18px; height: 8px; border-radius: 99px; background: var(--tl-color); }
.cal-tl-legend li.is-task::before { width: 10px; height: 10px; border-radius: 3px; transform: rotate(45deg); }
.cal-timeline .is-scheduled { --tl-color: #5669a9; } .cal-timeline .is-active { --tl-color: var(--green-blue); } .cal-timeline .is-closed, .cal-timeline .is-archived, .cal-timeline .is-completed, .cal-timeline .is-unpublished { --tl-color: #a7b0c4; } .cal-timeline .is-task { --tl-color: var(--sunny-yellow); }
.cal-tl-grid { display: grid; gap: 4px; }
.cal-tl-row { display: grid; grid-template-columns: minmax(170px, 240px) minmax(0, 1fr) 140px; align-items: center; gap: 14px; min-height: 52px; border-top: 1px solid var(--line); }
.cal-tl-axis { min-height: 24px; border-top: 0; color: var(--muted); font-size: .75rem; font-weight: 800; text-transform: capitalize; }
.cal-tl-axis .cal-tl-track { display: grid; grid-template-columns: repeat(12, 1fr); height: auto; background: none; }
.cal-tl-axis .cal-tl-track span { padding-left: 4px; border-left: 1px solid var(--line); }
.cal-tl-label { display: grid; gap: 2px; min-width: 0; color: var(--ink); text-decoration: none; }
.cal-tl-label strong { overflow: hidden; font-size: .92rem; white-space: nowrap; text-overflow: ellipsis; }
.cal-tl-label small { color: var(--muted); font-size: .76rem; font-weight: 600; }
a.cal-tl-label:hover strong, a.cal-tl-label:focus-visible strong { color: var(--green-blue-dark); text-decoration: underline; }
.cal-tl-track { position: relative; height: 28px; border-radius: 8px; background: repeating-linear-gradient(90deg, var(--surface-soft) 0 calc(100% / 12 - 1px), var(--line) calc(100% / 12 - 1px) calc(100% / 12)); }
.cal-tl-today { position: absolute; top: -8px; bottom: -8px; z-index: 2; width: 2px; margin-left: -1px; background: #eb6366; pointer-events: none; }
.cal-tl-bar { position: absolute; top: 3px; bottom: 3px; z-index: 1; display: flex; align-items: center; min-width: 8px; padding: 0 10px; overflow: hidden; border-radius: 99px; background: var(--tl-color); color: #fff; font-size: .76rem; font-weight: 800; white-space: nowrap; text-decoration: none; }
.cal-tl-bar.is-cut-start { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.cal-tl-bar.is-cut-end { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.cal-tl-bar:hover, .cal-tl-bar:focus-visible { filter: brightness(1.08); box-shadow: var(--focus); }
.cal-tl-note { color: var(--muted); font-size: .8rem; font-weight: 700; }
.cal-tl-note.is-active { color: var(--green-blue-dark); }
.cal-tl-task { position: absolute; top: 50%; z-index: 3; width: 12px; height: 12px; margin: -6px 0 0 -6px; padding: 0; border: 2px solid #fff; border-radius: 3px; background: var(--sunny-yellow); transform: rotate(45deg); cursor: pointer; }
.cal-tl-task.is-high { background: #eb6366; }
.cal-tl-dei { position: absolute; top: 50%; z-index: 1; width: 12px; height: 12px; margin: -6px 0 0 -6px; padding: 0; border: 2px solid #fff; border-radius: 50%; background: var(--dei-color, #5669a9); cursor: pointer; }
.cal-tl-dei.is-band { top: 4px; bottom: 4px; width: auto; height: auto; margin: 0; padding: 0 6px; overflow: hidden; border: 0; border-radius: 6px; background: color-mix(in srgb, var(--dei-color, #5669a9) 22%, #fff); color: var(--ink); font: inherit; font-size: .7rem; font-weight: 800; text-align: left; white-space: nowrap; text-overflow: ellipsis; }
.cal-tl-dei.is-lgbt { --dei-color: #b44fb3; } .cal-tl-dei.is-equality { --dei-color: #eb6366; } .cal-tl-dei.is-diversity { --dei-color: var(--green-blue); } .cal-tl-dei.is-discrimination { --dei-color: #f2b824; } .cal-tl-dei.is-disability { --dei-color: #5669a9; } .cal-tl-dei.is-human-rights { --dei-color: #0d8791; }
.cal-tl-dei:hover, .cal-tl-dei:focus-visible, .cal-tl-task:focus-visible { box-shadow: var(--focus); }
.cal-tl-row-dei, .cal-tl-row-tasks { background: var(--surface-soft); border-radius: var(--radius-sm); }
.cal-tl-empty { margin-top: 12px; color: var(--muted); }
.cal-tl-empty a { color: var(--green-blue-dark); font-weight: 800; }
.studio-year-client-campaign.is-start .studio-year-client-campaign-dates { color: var(--green-blue-dark); }
.studio-year-client-campaign.is-end .studio-year-client-campaign-dates { color: var(--muted); }
@media (max-width: 760px) {
  .cal-timeline { padding: 18px 14px; }
  .cal-tl-row { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 10px 0; }
  .cal-tl-axis { position: sticky; top: 0; z-index: 4; padding: 4px 0; background: var(--surface); }
  .cal-tl-axis .cal-tl-label, .cal-tl-axis .cal-tl-note { display: none; }
  .cal-tl-axis .cal-tl-track span { padding-left: 2px; font-size: .68rem; }
  .cal-tl-row-dei, .cal-tl-row-tasks { padding: 10px 8px; }
  .cal-tl-bar span { display: none; }
}

/* Périmètre par dossiers d’équipe : bandeau des listes et rappel de l’accueil (page complète : acces-equipes.css) */
.ae-perimeter-banner { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin: 0 0 16px; padding: 10px 14px; border-radius: var(--radius-sm); background: var(--green-blue-soft); color: var(--green-blue-dark); font-weight: 600; }
.ae-home-reminder { display: flex; justify-content: space-between; align-items: center; gap: 16px 24px; flex-wrap: wrap; margin-bottom: 22px; padding: 22px 28px; border: 1px solid #f3dd9c; border-radius: var(--radius-lg); background: var(--sunny-yellow-soft); box-shadow: none; }
.ae-home-reminder > div { flex: 1 1 360px; min-width: 0; }
.ae-home-reminder .eyebrow { margin-bottom: 6px; }
.ae-home-reminder strong { display: block; color: var(--royal-blue); font-size: 1.05rem; }
.ae-home-reminder p:not(.eyebrow) { margin: 6px 0 0; color: var(--muted); }
.ae-home-reminder .button { flex: 0 0 auto; white-space: nowrap; }
@media (max-width: 760px) { .ae-home-reminder { padding: 18px 18px; } .ae-home-reminder .button { width: 100%; justify-content: center; } }
.ae-home-reminder p { margin: 4px 0 0; }

/* Lien vers la fiche HubSpot d’un contact ou d’un client (écrans admin) */
.hubspot-link { margin-left: 6px; font-size: .74rem; font-weight: 800; color: #ff5c35; text-decoration: none; white-space: nowrap; letter-spacing: 0; vertical-align: middle; }
.hubspot-link:hover { text-decoration: underline; }
h1 .hubspot-link { font-size: .9rem; }

/* Fiche client : chargée de compte Me&YouToo */
.client-account-manager{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-size:.85rem;font-weight:600;color:#48617d}
.client-account-manager select{font:inherit;font-weight:600;padding:5px 10px;border:1px solid #ccd6e4;border-radius:999px;background:#fff;color:#273a64;max-width:260px}
.client-account-manager select:focus{outline:3px solid rgba(0,120,131,.12);border-color:#007883}

/* Utilisateurs & accès : sélection multiple et rôle groupé */
[data-admin-panel="accounts"] .admin-access-select{width:34px;text-align:center}
.admin-bulk-role{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 12px;padding:10px 14px;border-radius:12px;background:#e6f4f5;color:#0b5b63;font-size:.9rem}
.admin-bulk-role label{display:inline-flex;align-items:center;gap:8px;font-weight:600}
.admin-bulk-role select{font:inherit;padding:6px 10px;border:1px solid #ccd6e4;border-radius:10px;background:#fff;color:#273a64}
/* Accueil admin (onglet Cockpit clients) */
body.admin-home-active .admin-cockpit-kpis { display: none; }
.admin-home { display: flex; flex-direction: column; gap: 18px; }
.admin-home-head { display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; justify-content: space-between; }
.admin-home-head h2 { margin: 0; color: #0d4c72; }
.admin-home-head p { margin: 4px 0 0; color: #60758a; }
.admin-home-scope { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px; border-radius: 999px; background: #eaf3f8; }
.admin-home-scope button { min-height: 40px; padding: 0 16px; border: 0; border-radius: 999px; background: transparent; color: #36566e; font: inherit; font-weight: 800; cursor: pointer; }
.admin-home-scope button.is-active { background: #0d4c72; color: #fff; }
.admin-home-scope button:disabled { opacity: .5; cursor: not-allowed; }
.admin-home-card { padding: 18px 20px; border: 1px solid #e2ebf2; border-radius: 20px; background: #fbfdfe; }
.admin-home-card h3 { margin: 0 0 8px; color: #0d4c72; }
.admin-home-card h3 span { color: #60758a; }
.admin-home-card-head { display: flex; flex-wrap: wrap; gap: 4px 16px; align-items: baseline; justify-content: space-between; }
.admin-home-card-head p { margin: 0 0 8px; color: #60758a; font-size: .9rem; }
.admin-home-todos, .admin-home-dates { margin: 0; padding: 0; list-style: none; }
.admin-home-todos li { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; padding: 12px 2px; border-top: 1px solid #edf2f6; }
.admin-home-todo-text { flex: 1 1 280px; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.admin-home-todo-text span, .admin-home-dates span { color: #4f667a; font-size: .92rem; }
.admin-home-manager { flex: 0 0 150px; color: #60758a; font-size: .85rem; }
.admin-home-tag { flex: 0 0 auto; padding: 5px 10px; border-radius: 999px; font-size: .78rem; font-weight: 800; }
.admin-home-tag.is-urgent { background: #fde4dc; color: #8a2c12; }
.admin-home-tag.is-validate { background: #e2eefc; color: #1d4f8f; }
.admin-home-tag.is-credits { background: #fff1d6; color: #7a4a00; }
.admin-home-tag.is-follow { background: #e3f4f1; color: #0c5b55; }
.admin-home-more { margin-top: 8px; padding: 8px 0; border: 0; background: transparent; color: #0d4c72; font: inherit; font-weight: 800; text-decoration: underline; cursor: pointer; }
.admin-home-deadlines { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.admin-home-dates li { display: flex; gap: 14px; align-items: center; padding: 10px 0; border-top: 1px solid #edf2f6; }
.admin-home-dates li > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.admin-home-when { flex: 0 0 90px; color: #0b5d7a; font-size: .85rem; font-weight: 800; }
.admin-home-empty { color: #60758a; }
.admin-home-dates li.admin-home-empty { display: block; }
.admin-home-waiting { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0; padding: 12px 18px; border-radius: 16px; background: #eef2f5; color: #3f5668; }
.admin-home-portfolio summary { padding: 6px 2px; color: #0d4c72; font-weight: 800; cursor: pointer; }
.admin-home-portfolio .admin-overview-grid { margin-top: 10px; }
@media (max-width: 760px) { .admin-home-deadlines { grid-template-columns: minmax(0, 1fr); } .admin-home-manager { flex-basis: auto; } }
/* Fiche client dépliée : le bloc Abonnement suit les marges des autres blocs */
.admin-client-expanded-content > .admin-subscription-card { margin: 18px 16px 0; }

.admin-subscription-card .admin-subscription-action{justify-self:start;margin-top:6px;padding:6px 12px;border-radius:999px;border:1px solid #0d4c72;background:#fff;color:#0d4c72;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}
.admin-subscription-card.is-launch{background:#eef8f3;border-color:#bfe2cf}
.studio-monthly-close-note{margin:6px 0 0;font-size:.85rem;color:#5b6b76}

.admin-licence-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.admin-licence-dates .field{margin:0 0 12px}
.admin-licence-help{margin:4px 0 16px;font-size:.88rem;color:#5b6b76}

.studio-licence-banner-actions{display:flex;flex-wrap:wrap;gap:10px}
.studio-licence-banner{border-color:#9cc8dc;background:#eef7fb}

.hs-sync-list{display:grid;gap:8px;margin:8px 0 16px}
.hs-sync-row{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid #dde6ec;border-radius:12px;background:#fff}
.hs-sync-row ul{margin:6px 0 0;padding-left:18px;font-size:.9rem}
.hs-sync-message{padding:10px 12px;border-radius:10px;background:#eef8f3;color:#0c5b55;font-weight:700}

.admin-nightly{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:14px 0 0;padding:10px 14px;border-radius:12px;font-size:.9rem}
.admin-nightly.is-ok{background:#eef8f3;color:#0c5b55}
.admin-nightly.is-alert{background:#fde4dc;color:#8a2c12;font-weight:700}
.admin-nightly small{font-weight:400;opacity:.85}
.admin-nightly-more{margin-left:auto;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}

/* Mon compte (v2) : en-tête entreprise, cartes homogènes, chiffres sans redite. */
.account-v2 .account-hero {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 22px 26px;
  margin-bottom: 20px;
}
.account-v2 .account-hero-copy { flex: 1; min-width: 0; }
.account-v2 .account-hero .eyebrow { margin: 0 0 2px; }
.account-v2 .account-hero .page-title { margin: 0; font-size: clamp(1.8rem, 3vw, 2.4rem); }
.account-v2 .account-hero-meta { margin: 4px 0 0; color: var(--muted); font-size: 0.92rem; }
.account-plan-pill {
  flex: 0 0 auto;
  padding: 6px 14px;
  border-radius: 999px;
  background: var(--green-blue-soft);
  color: var(--green-blue-dark);
  font-weight: 800;
  font-size: 0.82rem;
}
.account-v2 .account-photo-logo { width: 96px; height: 72px; }
.account-page.account-v2 .account-card {
  --account-accent: var(--green-blue-dark);
  display: flex;
  flex-direction: column;
  padding: 24px 26px;
  border: 1px solid #e3e9f1;
  background: #fff;
  box-shadow: 0 8px 22px rgba(13, 76, 114, 0.05);
}
.account-page.account-v2 .account-card::before { display: none; }
.account-v2 .account-card-heading { gap: 10px; margin-bottom: 12px; }
.account-v2 .account-card-icon {
  flex-basis: 34px;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  background: var(--green-blue-soft);
  color: var(--green-blue-dark);
  box-shadow: none;
}
.account-v2 .account-card-icon svg { width: 19px; height: 19px; }
.account-page.account-v2 .account-card h2 { margin: 0 0 6px; font-size: 1.35rem; }
.account-v2 .account-credits-figure #credits-remaining { font-size: 2rem; }
.account-v2 .account-credits-figure small { color: var(--muted); font-size: 0.95rem; font-weight: 600; }
.account-v2 .account-card-credits .progress { margin: 10px 0 8px; height: 10px; background: #edf1f6; box-shadow: none; }
.account-v2 .account-card-credits .progress span { background: var(--green-blue); }
.account-v2 .credits-meter span::after { display: none; }
.account-v2 .account-card-meta { margin: 0 0 10px; color: var(--muted); font-size: 0.88rem; line-height: 1.45; }
.account-v2 .account-card .info-list { margin: 4px 0 12px; }
.account-v2 .account-card .info-list > div { padding: 9px 0; }
.account-v2 .info-list dd.is-missing { color: #8a96ad; font-style: italic; }
.account-v2 .account-card-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 6px; }
.account-page.account-v2 .account-card .account-card-actions .button { margin-top: 0; }
.account-v2 .account-inline-actions { display: contents; }
.account-v2 .account-inline-actions[hidden],
.account-v2 .credits-nudge[hidden] { display: none; }
.account-v2 .account-identity-row { margin-bottom: 6px; }
.account-v2 .account-photo-person { width: 56px; height: 56px; }
.account-page.account-v2 .account-card-security {
  grid-column: 1 / -1;
  flex-direction: row;
  align-items: center;
  gap: 14px;
  padding: 16px 22px;
}
.account-v2 .account-card-security > div { flex: 1; }
.account-v2 .account-card-security strong { color: var(--royal-blue); }
.account-v2 .account-card-security .account-card-meta { margin: 2px 0 0; }
@media (max-width: 760px) {
  .account-v2 .account-hero { flex-wrap: wrap; padding: 18px; }
  .account-page.account-v2 .account-card-security { flex-wrap: wrap; }
}
.account-v2 .account-history-icon {
  flex-basis: 34px;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  background: var(--green-blue-soft);
  color: var(--green-blue-dark);
  box-shadow: none;
}
.account-v2 .account-history-icon svg { width: 19px; height: 19px; }

/* Menu latéral compact : pas de barre de défilement sur un écran courant, aide sur deux lignes, contact = accès à Mon compte. */
.sidebar { padding: 18px 14px; scrollbar-width: none; }
.sidebar::-webkit-scrollbar { display: none; }
.sidebar .nav { gap: 1px; }
.sidebar .nav a { padding: 7px 11px; font-size: 0.92rem; }
.sidebar .nav-group { margin-top: 8px; }
.sidebar .nav-separator { margin: 6px; }
.sidebar-footer { gap: 8px; padding-top: 10px; }
.sidebar-footer .help-card {
  margin: 0;
  padding: 10px 12px;
  border-radius: 14px;
  background: var(--sunny-yellow-soft);
  border: 1px solid #ffe7a6;
}
.help-card-contact { display: flex; align-items: center; gap: 10px; color: var(--royal-blue); }
.help-card-contact strong { display: block; margin: 0; font-size: 0.9rem; }
.help-card-contact small { display: block; color: var(--green-blue-dark); font-weight: 700; font-size: 0.8rem; }
.help-card-contact:hover small { text-decoration: underline; }
.help-card-icon {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  background: #fff;
  color: #b07d00;
  font-weight: 900;
}
.help-card-links { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 6px 0 0 38px; }
.help-card-links .help-tour-button { margin: 0; font-size: 0.8rem; }
.sidebar-footer .profile {
  display: flex;
  align-items: center;
  gap: 6px;
  padding-top: 8px;
}
.sidebar-footer .profile-person {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 8px;
  margin-left: -8px;
  border-radius: 12px;
}
.sidebar-footer .profile-person:hover { background: var(--royal-blue-tint); }
.sidebar-footer .profile-person[aria-current="page"] { background: linear-gradient(135deg, var(--green-blue-soft), var(--royal-blue-soft)); }
.sidebar-footer .avatar { flex: 0 0 34px; width: 34px; height: 34px; }
.profile-person-text { flex: 1; min-width: 0; }
.profile-person-text small { display: block; color: var(--muted); font-size: 0.76rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-footer .profile-company-logo { flex: 0 0 auto; width: 44px; height: 30px; margin: 0; padding: 3px; }
.sidebar-footer .sidebar-logout {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  padding: 0;
  border-radius: 10px;
  color: var(--muted);
}
.sidebar-footer .sidebar-logout:hover { background: var(--royal-blue-tint); color: var(--royal-blue); }
.sidebar-footer .sidebar-logout svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
body.sidebar-collapsed .sidebar-footer .sidebar-logout { display: none; }
body.sidebar-collapsed .help-card-links,
body.sidebar-collapsed .profile-person-text { display: none; }
.account-hero-logo { display: grid; justify-items: center; gap: 4px; flex: 0 0 auto; }
.account-hero-logo-edit { border: 0; background: none; padding: 0; color: var(--green-blue-dark); font: inherit; font-size: 0.78rem; font-weight: 800; text-decoration: underline; cursor: pointer; }
.account-hero-logo-edit[hidden] { display: none; }

/* Menu : partie Paramètres, aide détachée de la liste, bloc du nom en simple affichage. */
.sidebar-footer .help-card { margin: 14px 0 2px; }
.sidebar-footer div.profile-person { margin-left: 0; padding-left: 0; }
.sidebar-footer div.profile-person:hover { background: none; }

/* Formule mensuelle : encart des ressources clients. */
.resources-plan-note { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin: 0 0 18px; padding: 16px 20px; border-radius: 18px; background: var(--sunny-yellow-soft); border: 1px solid #ffe7a6; }
.resources-plan-note[hidden] { display: none; }
.resources-plan-note > div { flex: 1 1 260px; }
.resources-plan-note strong { color: var(--royal-blue); }
.resources-plan-note p { margin: 2px 0 0; color: var(--muted); }
.resources-plan-note-icon { font-size: 1.4rem; }
.resources-plan-note.is-focus { padding: 26px 24px; }
.resources-source-tab .nav-plan-badge { margin-left: 4px; }

/* Accueil : mise en place du Studio, distincte du score d'activité. */
.sp-setup-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.sp-setup-list li > a, .sp-setup-list li.is-done { display: flex; align-items: center; gap: 10px; height: 100%; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--line); color: var(--royal-blue); font-weight: 700; font-size: 0.92rem; box-sizing: border-box; }
.sp-setup-list li > a:hover { border-color: var(--green-blue); background: var(--green-blue-soft); }
.sp-setup-list li > a > span:nth-child(2) { flex: 1; }
.sp-setup-list li.is-done { background: var(--green-blue-soft); border-color: transparent; color: var(--green-blue-dark); }
.sp-setup-list .sp-check { flex: 0 0 22px; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; border: 2px solid var(--line); font-size: 0.75rem; }
.sp-setup-list li.is-done .sp-check { border-color: var(--green-blue-dark); background: var(--green-blue-dark); color: #fff; }
@media (max-width: 900px) { .sp-setup-list { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .sp-setup-list { grid-template-columns: 1fr; } }
/* Bas du menu : avec le logo client, la ligne du nom ne doit pas élargir le pied du menu (ni l'encart d'aide). */
.sidebar-footer { grid-template-columns: minmax(0, 1fr); }
.sidebar-footer .profile { min-width: 0; gap: 2px; }
.sidebar-footer div.profile-person { gap: 8px; padding-right: 4px; }
.profile-person-name { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-footer .profile-company-logo { width: 38px; height: 28px; }
.sidebar-footer .sidebar-logout { flex-basis: 28px; width: 28px; }

/* Déconnexion : lien libellé sous le nom, visible sans survol. */
.sidebar-footer .profile-logout {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 2px 0 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--green-blue-dark);
  font: inherit;
  font-size: 0.8rem;
  font-weight: 800;
  cursor: pointer;
}
.sidebar-footer .profile-logout:hover { color: var(--royal-blue); text-decoration: underline; }
.sidebar-footer .profile-logout svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
body.sidebar-collapsed .sidebar-footer .profile-logout { display: none; }
.sidebar-footer .help-card { margin-top: 8px; }
.sidebar-footer .profile { padding-top: 2px; }

/* Page Packs : fonctionnement des passations. */
.rule-step { display: inline-grid; place-items: center; width: 24px; height: 24px; margin-right: 8px; border-radius: 50%; background: var(--green-blue-dark); color: #fff; font-size: 0.8rem; vertical-align: 1px; }
.rules-subtitle { margin: 22px 0 8px; color: var(--royal-blue); font-size: 1.02rem; }
.rules-list { margin: 0; padding-left: 20px; display: grid; gap: 6px; color: var(--muted); font-size: 0.92rem; }
.rules-list strong { color: var(--royal-blue); }

/* Chiffres clés : un libellé sur deux lignes ne décale pas le chiffre des cases voisines. */
.sp-kpis div { display: flex; flex-direction: column; justify-content: space-between; }

/* Accueil : participations pas encore lisibles. */
.sp-kpis dd .sp-kpi-pending { display: block; color: var(--muted); font-size: .75rem; font-weight: 700; }

/* Admin : vue « Stats à saisir ». */
.admin-stats-todo { margin: 0 0 18px; }
.admin-stats-todo[hidden] { display: none; }
.admin-stats-todo h3 { margin: 0 0 4px; color: var(--royal-blue); }
.admin-stats-todo > p { margin: 0 0 14px; color: var(--muted); }
.admin-stats-todo-list { display: grid; gap: 10px; }
.admin-stats-todo-row { display: grid; grid-template-columns: minmax(180px, 1.2fr) minmax(150px, .8fr) minmax(260px, 2fr); gap: 14px; align-items: center; padding: 12px 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.admin-stats-todo-row.is-stale { border-color: #f4c27a; background: #fff8ec; }
.admin-stats-todo-who, .admin-stats-todo-value { display: grid; gap: 2px; }
.admin-stats-todo-who strong, .admin-stats-todo-value strong { color: var(--royal-blue); }
.admin-stats-todo-who span, .admin-stats-todo-value small { color: var(--muted); font-size: .85rem; }
.admin-stats-todo-who em { font-style: normal; font-size: .8rem; font-weight: 700; color: var(--green-blue-dark); }
.admin-stats-todo-value .admin-stats-todo-stale { color: #b45f00; font-weight: 800; }
.admin-stats-todo-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.admin-stats-todo-form { display: flex; gap: 6px; margin: 0; }
.admin-stats-todo-form input { width: 120px; }
.admin-stats-todo-link { font-size: .85rem; font-weight: 700; color: var(--green-blue-dark); }
.admin-stats-todo-error { flex-basis: 100%; color: #b42318; font-size: .85rem; }
.admin-stats-todo-empty { color: var(--green-blue-dark); font-weight: 700; margin: 0; }
@media (max-width: 900px) { .admin-stats-todo-row { grid-template-columns: 1fr; } }

/* Admin : « Stats à saisir » visible dans les chiffres et dans « À faire ». */
.admin-client-pilot-kpis { grid-template-columns: repeat(7, minmax(0, 1fr)); }
@media (max-width: 1280px) { .admin-client-pilot-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 700px) { .admin-client-pilot-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.admin-client-pilot-kpi.is-stats { background: #fff4e5; }
.admin-client-pilot-kpi.is-stats .admin-client-pilot-icon { color: #b45f00; }
.admin-home-tag.is-stats { background: #fff4e5; color: #8a4b00; }

/* Admin « Stats à saisir » : colonnes resserrées, actions alignées à droite, contrôles homogènes ; filtres sur plusieurs lignes au lieu d'un défilement latéral. */
#org-filter-chips { flex-wrap: wrap; overflow: visible; }
.admin-stats-todo-row { grid-template-columns: minmax(0, 1fr) 170px 340px; gap: 18px; padding: 12px 18px; }
.admin-stats-todo-actions { display: grid; justify-items: end; gap: 6px; }
.admin-stats-todo-form { display: flex; align-items: center; gap: 8px; }
.admin-stats-todo-form input { box-sizing: border-box; width: 120px; height: 38px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; font: inherit; font-weight: 700; color: var(--royal-blue); background: var(--surface); text-align: right; }
.admin-stats-todo-form input:focus { outline: 2px solid var(--green-blue); outline-offset: 1px; }
.admin-stats-todo-save { display: inline-flex; align-items: center; justify-content: center; height: 38px; padding: 0 16px; border: 0; border-radius: 10px; background: var(--green-blue-dark); color: #fff; font: inherit; font-size: .88rem; font-weight: 800; text-decoration: none; cursor: pointer; box-shadow: none; }
.admin-stats-todo-save:hover { filter: brightness(1.08); }
.admin-stats-todo-save:disabled { opacity: .6; cursor: default; }
.admin-stats-todo-links { display: flex; gap: 14px; }
.admin-stats-todo-link { font-size: .82rem; font-weight: 700; color: var(--green-blue-dark); text-decoration: none; }
.admin-stats-todo-link:hover { text-decoration: underline; }
.admin-stats-todo-error { text-align: right; }
@media (max-width: 900px) { .admin-stats-todo-row { grid-template-columns: 1fr; } .admin-stats-todo-actions { justify-items: start; } }

/* Aide du Studio (aide.html) : recherche, familles d'articles, contact chat / e-mail. */
.help-page .main { max-width: 1120px; }
.help-hero { margin: 8px 0 22px; }
.help-hero .lead { max-width: 760px; }
.help-search { max-width: 640px; margin-top: 16px; }
.help-state { color: var(--muted); font-weight: 700; }
.help-groups { display: grid; gap: 26px; }
.help-group h2 { margin: 0 0 10px; color: var(--royal-blue); font-size: 1.15rem; }
.help-article-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.help-article-card { display: grid; gap: 6px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 16px; background: #fff; color: inherit; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.help-article-card:hover { border-color: var(--green-blue); box-shadow: 0 8px 22px rgba(39,58,100,.08); }
.help-article-card strong { color: var(--royal-blue); }
.help-article-card span { color: var(--muted); font-size: .88rem; line-height: 1.45; }
.help-contact { margin-top: 28px; padding: 22px 24px; }
.help-contact h2 { margin: 0 0 4px; color: var(--royal-blue); font-size: 1.1rem; }
.help-contact p { margin: 0 0 14px; color: var(--muted); }
.help-contact-actions { display: flex; flex-wrap: wrap; gap: 10px; }

/* Accueil : premiers pas (tant qu'aucune campagne n'a été diffusée). */
.quickstart[hidden], .dashboard-flow[hidden], .stats-grid[hidden] { display: none; }
.quickstart { margin: 4px 0 28px; padding: 24px; border: 1px solid var(--line); border-radius: 22px; background: #fff; }
.qs-steps { list-style: none; margin: 18px 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.qs-steps li { padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); display: flex; align-items: center; gap: 12px; }
.qs-steps b { flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--green-blue-soft); color: var(--green-blue-dark); font-size: 1rem; }
.qs-steps strong { color: var(--royal-blue); }
.qs-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.qs-choice { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-md); display: flex; flex-direction: column; align-items: flex-start; }
.qs-choice h3 { margin: 0 0 6px; color: var(--royal-blue); font-size: 1.05rem; }
.qs-choice p { margin: 0 0 14px; color: var(--muted); line-height: 1.5; flex: 1; }
.qs-more { margin: 18px 0 0; padding-top: 14px; border-top: 1px solid var(--line); color: var(--muted); font-size: .92rem; line-height: 1.5; }
.qs-more strong { color: var(--royal-blue); }
.qs-help { margin-top: 16px; padding: 14px 16px; border-radius: var(--radius-sm); background: var(--green-blue-soft); display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.qs-help strong { display: block; color: var(--green-blue-dark); }
.qs-help span { color: var(--green-blue-dark); font-size: .9rem; }
@media (max-width: 640px) { .quickstart { padding: 18px 16px; } .qs-steps { grid-template-columns: 1fr; } }

/* Parcours guidé « Ma première campagne » (app.js, GUIDE_STAGES) : encart fixe au-dessus du chat, réductible en pastille. */
.qs-guide { margin-top: 8px; }
.help-guide-start { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 0; }
.studio-help-button { text-decoration: none; }
.studio-guide { position: fixed; right: 20px; bottom: 96px; z-index: 900; width: min(340px, calc(100vw - 32px)); border-radius: var(--radius-md); background: var(--surface); color: var(--ink); box-shadow: var(--shadow-lg); border: 1px solid var(--green-blue); }
.studio-guide-pill { display: flex; align-items: center; gap: 8px; width: 100%; padding: 10px 14px; border: 0; border-radius: var(--radius-md) var(--radius-md) 0 0; background: var(--green-blue-soft); color: var(--green-blue-dark); font: inherit; font-size: .85rem; font-weight: 800; text-align: left; text-decoration: none; cursor: pointer; }
.studio-guide.is-collapsed { width: auto; }
.studio-guide.is-collapsed .studio-guide-pill { border-radius: var(--radius-md); }
.studio-guide.is-collapsed .studio-guide-body { display: none; }
.studio-guide-body { padding: 12px 16px 12px; }
.studio-guide-dots { display: flex; gap: 6px; margin: 0 0 10px; padding: 0; list-style: none; }
.studio-guide-dots li { flex: 1; height: 5px; border-radius: 3px; background: var(--line, #dfe5ea); }
.studio-guide-dots li.is-done { background: var(--green-blue); opacity: .45; }
.studio-guide-dots li.is-current { background: var(--green-blue); }
.studio-guide-body h2 { margin: 0 0 6px; font-size: 1.05rem; }
.studio-guide-body p { margin: 0 0 12px; color: var(--muted); font-size: .9rem; line-height: 1.5; }
.studio-guide-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.studio-guide-actions .button { padding: 8px 12px; font-size: .85rem; }
.studio-guide-quit { margin-top: 10px; padding: 0; border: 0; background: none; color: var(--muted); font: inherit; font-size: .8rem; text-decoration: underline; cursor: pointer; }
@media (max-width: 640px) { .studio-guide { right: 12px; left: 12px; bottom: 84px; width: auto; } .studio-guide.is-collapsed { left: auto; } }

/* Menu latéral : une rubrique par bloc gris clair, un groupe « Aide » dans le menu, le bloc jaune réservé au contact. */
.sidebar .nav { gap: 5px; }
.sidebar .nav-section a { padding: 5px 10px; }
.nav-section { display: grid; gap: 0; padding: 5px 4px 3px; border-radius: 14px; background: #f3f5f8; }
.sidebar .nav-section .nav-group { margin: 1px 9px 1px; color: #8a96ad; }
.nav-section a span { background: #fff; }
.nav-section a:hover { background: #e8edf4; }
.nav-section a[aria-current="page"] { background: #fff; box-shadow: 0 1px 4px rgba(39, 58, 100, .08); }
.nav a[hidden] { display: none; }
.nav-section-aide { background: #edf6f7; }
.nav-section-aide a span { color: var(--green-blue-dark); }
.nav a .help-news-count { margin-left: auto; background: var(--sunny-yellow); color: var(--ink); }
body.sidebar-collapsed .nav-section { padding: 0; background: none; }
.help-card-team { display: flex; align-items: center; margin: 8px 0 0 38px; color: var(--muted); font-size: .76rem; font-weight: 700; }
.help-card-team img { width: 24px; height: 24px; margin-right: -6px; border: 2px solid var(--sunny-yellow-soft); border-radius: 50%; object-fit: cover; object-position: center top; }
.help-card-team span { margin-left: 12px; }
.help-card-team:hover span { text-decoration: underline; }
body.sidebar-collapsed .help-card-team { display: none; }

/* Frise de création : temps moyen sous chaque étape et total. */
.steps { align-items: center; }
.step-text { display: flex; flex-direction: column; line-height: 1.15; }
.step-time { color: #086f78; font-size: 0.76rem; font-weight: 800; }
.steps-total { margin-left: auto; padding: 9px 16px; border-radius: 999px; background: var(--royal-blue); color: #fff; font-size: 1rem; font-weight: 900; }
@media (max-width: 720px) { .steps-total { margin-left: 0; width: 100%; text-align: center; } }
/* Temps global annoncé avant de commencer. */
.creation-time { display: flex; align-items: center; gap: 14px; width: fit-content; max-width: 100%; margin: 16px 0; padding: 14px 20px; border-radius: 16px; background: var(--royal-blue); color: #fff; }
.creation-time > span:first-child { font-size: 1.9rem; line-height: 1; }
.creation-time strong { display: block; font-size: 1.2rem; font-weight: 900; line-height: 1.25; }
.creation-time small { display: block; margin-top: 3px; font-size: 0.88rem; font-weight: 600; opacity: 0.92; }

/* QR code du kit : rendu dans un canvas, boutons de téléchargement empilés. */
.kit-qr-image canvas { display: block; width: 100%; height: 100%; }
.kit-qr-actions { display: grid; gap: 10px; }

/* Cockpit clients : retirer une alerte de « À faire » et la remettre. */
.admin-home-dismiss { flex: 0 0 auto; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #8a96ad; font-size: 1.2rem; line-height: 1; cursor: pointer; }
.admin-home-dismiss:hover, .admin-home-dismiss:focus-visible { background: #edf2f6; color: var(--royal-blue); }
.admin-home-todos.is-dismissed { margin-top: 6px; opacity: .75; }

/* La bulle de chat occupe le coin bas droit : le bouton de l'étape suivante reste entièrement visible. */
@media(min-width:1181px){.creation-sticky-actions{padding-right:88px}}

.studio-guide.is-collapsed .studio-guide-pill-label{display:none}
.studio-guide.is-collapsed a.studio-guide-pill:hover .studio-guide-pill-label,.studio-guide.is-collapsed a.studio-guide-pill:focus-visible .studio-guide-pill-label{display:inline}
.qs-steps{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:760px){.qs-steps{grid-template-columns:1fr}}
.version-hint{color:var(--muted,#5b6b7c);padding:4px 0}
.version-check.is-only{cursor:default}
.version-check.is-only input{display:none}

.validation-credit-item.is-empty:nth-child(2){background:#f5f7f9;border-color:#e3e8ee}
.validation-credit-item.is-empty:nth-child(2) span,.validation-credit-item.is-empty:nth-child(2) strong{color:var(--muted,#5b6b7c)}
.validation-missing{padding:20px 24px;margin:24px 0;border-color:#f2d27a;background:#fff9e8}
.validation-missing h2{margin:0 0 10px}
.validation-missing ul{margin:0;padding-left:20px;display:grid;gap:6px}
.validation-missing a{font-weight:600}

/* Volet « Lire le guide » : l'écran reste visible à côté. */
.studio-help-panel { position: fixed; top: 0; right: 0; bottom: 0; z-index: 950; display: flex; flex-direction: column; width: min(640px, 100vw); background: var(--surface, #fff); box-shadow: -12px 0 32px rgba(15, 35, 60, .16); }
.studio-help-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 18px 20px 12px; border-bottom: 1px solid rgba(15, 35, 60, .1); }
.studio-help-panel-head .eyebrow { margin: 0 0 4px; }
.studio-help-panel-head h2 { margin: 0; font-size: 1.1rem; line-height: 1.3; }
.studio-help-panel-head .studio-modal-close { position: static; flex: none; }
.studio-help-panel-body { flex: 1; overflow-y: auto; padding: 14px 20px 24px; font-size: .95rem; }
.studio-help-panel-body img { max-width: 100%; height: auto; }
.studio-help-panel-body h2 { font-size: 1.05rem; }
.studio-help-panel-foot { padding: 10px 20px; border-top: 1px solid rgba(15, 35, 60, .1); font-weight: 600; }
@media (min-width: 1100px) { body.studio-help-open { padding-right: 640px; } }
@media (min-width: 1100px) and (max-width: 1599px) { .studio-help-panel { width: 400px; } body.studio-help-open { padding-right: 400px; } }

.composer-reading-locale{display:inline-block;margin-left:6px;padding:0 5px;border:1px solid #cfd8e3;border-radius:4px;background:#f5f7f9;color:var(--muted,#5b6b7c);font-size:11px;font-weight:600;line-height:16px;vertical-align:middle}

.composer-situation-excerpt{margin:8px 0 0;overflow:hidden;color:var(--muted,#5b6b7c);font-size:14px;white-space:nowrap;text-overflow:ellipsis}
.composer-situation:has(> .composer-situation-body:not([hidden])) .composer-situation-excerpt{display:none}
@media(max-width:768px){html,body{overflow-x:clip}}

body:has(.studio-guide){padding-bottom:140px}
/* Accueil : le solde du pack sous « Bonjour ». */
.home-pack{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:12px 0 0;padding:8px 14px;border:1px solid #cfe6e8;border-radius:999px;background:var(--green-blue-soft,#e6f4f5);color:var(--royal-blue,#273a64);font-size:.92rem}
.home-pack strong{color:var(--royal-blue,#273a64)}
.home-pack.is-warn{border-color:#f3c86a;background:var(--sunny-yellow-soft,#fff6dd)}
.home-pack-order{color:var(--green-blue-dark,#00636c);font-weight:800;text-decoration:none}
.home-pack.is-warn .home-pack-order{color:#a35a00}
.home-pack-order:hover{text-decoration:underline}

/* Studio aux couleurs du client : logo en haut du menu, emplacements de logo, sélecteur de couleur. */
.brand-client { gap: 8px; }
.client-brand-logo { display: flex; align-items: center; min-height: 56px; max-width: 200px; }
.brand .client-brand-logo img { width: auto; max-width: 200px; max-height: 92px; object-fit: contain; }
.brand-with { display: flex; align-items: center; gap: 6px; font-size: 0.72rem; font-weight: 700; color: var(--muted); }
.sidebar-head .brand .brand-with .studio-brand-logo { width: 30px; flex: 0 0 30px; }
body.sidebar-collapsed .brand-with { display: none; }
body.sidebar-collapsed .brand .client-brand-logo img { max-width: 54px; max-height: 40px; }
.client-hero-logo { display: inline-flex; align-items: center; margin: 0 0 14px; padding: 10px 18px; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.client-hero-logo[hidden] { display: none; }
.client-hero-logo img { display: block; max-height: 76px; max-width: 300px; object-fit: contain; }
.brand-picker { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 8px; }
.brand-picker-swatches { display: inline-flex; align-items: center; gap: 8px; }
.brand-picker-swatches small { color: var(--muted); font-weight: 700; }
.brand-swatch { width: 30px; height: 30px; padding: 0; border-radius: 50%; border: 3px solid #fff; box-shadow: 0 0 0 1px var(--line); cursor: pointer; }
.brand-swatch.is-current { box-shadow: 0 0 0 2px var(--royal-blue); }
.brand-swatch.is-static { display: inline-block; width: 16px; height: 16px; border-width: 2px; vertical-align: -3px; cursor: default; }
.brand-picker-custom { display: inline-flex; align-items: center; gap: 6px; }
.brand-picker-custom input[type="color"] { width: 40px; height: 34px; padding: 2px; border: 1px solid var(--line); border-radius: 10px; background: #fff; cursor: pointer; }
.brand-picker-custom input[type="text"] { width: 96px; height: 34px; padding: 0 10px; border: 1px solid var(--line); border-radius: 10px; font: inherit; text-transform: uppercase; }
.brand-picker-msg { flex-basis: 100%; color: var(--muted); min-height: 1em; }
.brand-picker-reset[hidden] { display: none; }
.admin-brand-color { margin-top: 12px; }
.admin-brand-color h5 { margin: 0; font-size: 0.85rem; }

/* Réglage des couleurs dans les lignes de Mon compte et de l'admin. */
.info-list dd .brand-edit,.info-list dd .brand-edit div{display:block;grid-template-columns:none;padding:0;border:0}
.info-list dd .brand-edit .brand-picker{display:flex;margin-top:0}
.brand-help{display:block;margin-top:6px;font-size:.78rem;font-weight:500;color:var(--muted);line-height:1.4}
.brand-help[hidden]{display:none}
.brand-picker-label{font-size:.78rem;font-weight:700;color:var(--muted)}
.brand-picker-custom input[type="text"]{width:118px;text-transform:none;font-weight:700;color:var(--royal-blue);border-color:#b9c5dd;background:#fff}
.brand-picker-custom input[type="text"]:focus{outline:2px solid var(--green-blue);outline-offset:1px}
.brand-picker-reset{display:inline-flex;align-items:center;gap:4px;min-height:34px;padding:0 14px;border:1px solid #ccd6ea;border-radius:999px;background:#fff;color:var(--royal-blue);font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}
.brand-picker-reset:hover{background:var(--royal-blue-tint);border-color:var(--royal-blue)}

.brand-picker-wheel{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border:1px solid #ccd6ea;border-radius:10px;background:#fff;color:var(--royal-blue);font-size:.84rem;font-weight:700;cursor:pointer}
.brand-picker-wheel:hover{background:var(--royal-blue-tint)}
.brand-picker-wheel input{position:absolute;left:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none}
.brand-picker-wheel i{width:16px;height:16px;border-radius:50%;box-shadow:0 0 0 1px var(--line)}
.brand-picker-wheel i[hidden]{display:none}
.sidebar-head .brand.brand-client { padding-top: 8px; }
.account-photo-logo img { width: 100%; height: 100%; }
.account-photo.account-photo-logo { display: flex; align-items: center; justify-content: center; }
.account-photo.account-photo-logo img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
